This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 3.x development tree".
The branch, master has been updated via 40cdf3cb5d992e08aafd27c267c40f639801881c (commit) via 71d31dcfa36c7db4e2a1eeb2bf17094464123cb7 (commit) via fd612fba8c270a6bd66695033c5030e28149f556 (commit) via ca4fd4e17a8841f55ffade839a78b7fe2ca45db9 (commit) via 6ced6270c6364cbcdfb40a59d675d8824e37f0b4 (commit) via 0e22dbe2209103c8a153e2ada3af1e294aa00a2d (commit) via e1e6f5c8d5d6612ba95ebd514d333a47b82036ec (commit) via d9a1ddc152a45baf433b2c152181cf38e079abc1 (commit) via 8429d60ab96e02b3c01c806d54a801a8e7aedcd9 (commit) via 17e7d1107e144edc4141e74433f948f306ebbe6a (commit) via 513de1038cc599339d1364be94319057bea547de (commit) via 64106e56f7be5b33e38d6c0114255e2e51437920 (commit) via 13a05c24af4c970c1188bbdc9918386c9511d75f (commit) via f9d958cda54fdfe6e708bbea6f59301adcc51817 (commit) via 7ac136fb70d2ca2beda8bd000d3ad80177388ec6 (commit) via e1769b6ea46d31a6e0ff8463784cf72c46fe0890 (commit) from ea622b33fb72af1835cfb5aa185a64fa69675dd1 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 40cdf3cb5d992e08aafd27c267c40f639801881c Merge: 71d31dc 64106e5 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 14:38:26 2010 +0100
Merge remote branch 'stevee/upstart' into next
commit 71d31dcfa36c7db4e2a1eeb2bf17094464123cb7 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 14:32:10 2010 +0100
pcre: Update to 8.11.
Closes #110.
commit fd612fba8c270a6bd66695033c5030e28149f556 Merge: ca4fd4e 8429d60 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 14:20:26 2010 +0100
Merge remote branch 'stevee/vim' into next
commit ca4fd4e17a8841f55ffade839a78b7fe2ca45db9 Merge: 6ced627 7ac136f Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 14:18:52 2010 +0100
Merge remote branch 'stevee/updates' into next
commit 6ced6270c6364cbcdfb40a59d675d8824e37f0b4 Merge: 0e22dbe e1769b6 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 14:14:34 2010 +0100
Merge remote branch 'stevee/openssl' into next
Conflicts: pkgs/core/openssl/openssl.nm
commit 0e22dbe2209103c8a153e2ada3af1e294aa00a2d Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 13:24:07 2010 +0100
glibc: Optimize for kernels >= 2.6.32.
commit e1e6f5c8d5d6612ba95ebd514d333a47b82036ec Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 13:10:33 2010 +0100
gcc: Update to 4.5.2.
Closes #115.
commit d9a1ddc152a45baf433b2c152181cf38e079abc1 Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 20 12:23:35 2010 +0100
glibc: Update to 2.12.2.
Closes #112.
commit 8429d60ab96e02b3c01c806d54a801a8e7aedcd9 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Fri Dec 17 23:00:43 2010 +0100
vim: Revome script for c-shell.
commit 17e7d1107e144edc4141e74433f948f306ebbe6a Author: Stefan Schantl stefan.schantl@ipfire.org Date: Fri Dec 17 20:24:39 2010 +0100
vim: Update to 7.3.
Fixes #107.
commit 513de1038cc599339d1364be94319057bea547de Merge: f9d958c ea622b3 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Fri Dec 17 19:48:05 2010 +0100
Merge branch 'master' of ssh://git.ipfire.org/pub/git/ipfire-3.x into vim
commit 64106e56f7be5b33e38d6c0114255e2e51437920 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Fri Dec 17 19:42:36 2010 +0100
upstart: Update to 0.6.7.
Fixes #113.
commit 13a05c24af4c970c1188bbdc9918386c9511d75f Author: Michael Tremer michael.tremer@ipfire.org Date: Mon Dec 13 02:18:56 2010 +0100
kernel: Print timing information on printk.
commit f9d958cda54fdfe6e708bbea6f59301adcc51817 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Sat Dec 11 18:37:12 2010 +0100
vim: Fix PKG_URL.
commit 7ac136fb70d2ca2beda8bd000d3ad80177388ec6 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Mon Dec 6 21:02:35 2010 +0100
ccache: Update to 3.1.3.
commit e1769b6ea46d31a6e0ff8463784cf72c46fe0890 Author: Stefan Schantl stefan.schantl@ipfire.org Date: Mon Dec 6 20:55:52 2010 +0100
openssl: Update to 1.0.0c.
-----------------------------------------------------------------------
Summary of changes: pkgs/core/ccache/ccache.nm | 2 +- pkgs/core/gcc/gcc.nm | 4 +- pkgs/core/glibc/glibc.nm | 8 +- pkgs/core/glibc/patches/glibc-fedora.patch | 449 ++- pkgs/core/kernel/config | 4 +- pkgs/core/kernel/kernel.nm | 2 +- pkgs/core/openssl/openssl.nm | 4 +- .../openssl/patches/openssl-1.0.0b-version.patch | 22 - .../openssl/patches/openssl-1.0.0c-version.patch | 22 + pkgs/core/pcre/pcre.nm | 4 +- .../upstart/patches/upstart-0.6.6-upstream-1.patch | 3162 ------------ .../upstart/patches/upstart-0.6.7-upstream-1.patch | 3360 ++++++++++++ pkgs/core/upstart/upstart.nm | 4 +- pkgs/core/vim/patches/vim-7.2-fixes-4.patch | 5414 -------------------- pkgs/core/vim/patches/vim-7.2-mandir-1.patch | 82 - pkgs/core/vim/patches/vim-7.3.001.patch0 | 55 + pkgs/core/vim/patches/vim-7.3.002.patch0 | 55 + pkgs/core/vim/patches/vim-7.3.003.patch0 | 45 + pkgs/core/vim/patches/vim-7.3.004.patch0 | 44 + pkgs/core/vim/patches/vim-7.3.005.patch0 | 96 + pkgs/core/vim/patches/vim-7.3.006.patch0 | 117 + pkgs/core/vim/patches/vim-7.3.007.patch0 | 187 + pkgs/core/vim/patches/vim-7.3.008.patch0 | 439 ++ pkgs/core/vim/patches/vim-7.3.009.patch0 | 99 + pkgs/core/vim/patches/vim-7.3.010.patch0 | 167 + pkgs/core/vim/patches/vim-7.3.011.patch0 | 290 ++ pkgs/core/vim/patches/vim-7.3.012.patch0 | 71 + pkgs/core/vim/patches/vim-7.3.013.patch0 | 208 + pkgs/core/vim/patches/vim-7.3.014.patch0 | 87 + pkgs/core/vim/patches/vim-7.3.015.patch0 | 68 + pkgs/core/vim/patches/vim-7.3.016.patch0 | 240 + pkgs/core/vim/patches/vim-7.3.017.patch0 | 124 + pkgs/core/vim/patches/vim-7.3.018.patch0 | 74 + pkgs/core/vim/patches/vim-7.3.019.patch0 | 55 + pkgs/core/vim/patches/vim-7.3.020.patch0 | 131 + pkgs/core/vim/patches/vim-7.3.021.patch0 | 70 + pkgs/core/vim/patches/vim-7.3.022.patch0 | 54 + pkgs/core/vim/patches/vim-7.3.023.patch0 | 69 + pkgs/core/vim/patches/vim-7.3.024.patch0 | 115 + pkgs/core/vim/patches/vim-7.3.025.patch0 | 136 + pkgs/core/vim/patches/vim-7.3.026.patch0 | 61 + pkgs/core/vim/patches/vim-7.3.027.patch0 | 88 + pkgs/core/vim/patches/vim-7.3.028.patch0 | 179 + pkgs/core/vim/patches/vim-7.3.029.patch0 | 177 + pkgs/core/vim/patches/vim-7.3.030.patch0 | 366 ++ pkgs/core/vim/patches/vim-7.3.031.patch0 | 121 + pkgs/core/vim/patches/vim-7.3.032.patch0 | 704 +++ pkgs/core/vim/patches/vim-7.3.033.patch0 | 49 + pkgs/core/vim/patches/vim-7.3.034.patch0 | 431 ++ pkgs/core/vim/patches/vim-7.3.035.patch0 | 58 + pkgs/core/vim/patches/vim-7.3.036.patch0 | 68 + pkgs/core/vim/patches/vim-7.3.037.patch0 | 137 + pkgs/core/vim/patches/vim-7.3.038.patch0 | 76 + pkgs/core/vim/patches/vim-7.3.039.patch0 | 90 + pkgs/core/vim/patches/vim-7.3.040.patch0 | 48 + pkgs/core/vim/patches/vim-7.3.041.patch0 | 57 + pkgs/core/vim/patches/vim-7.3.042.patch0 | 65 + pkgs/core/vim/patches/vim-7.3.043.patch0 | 460 ++ pkgs/core/vim/patches/vim-7.3.044.patch0 | 58 + pkgs/core/vim/patches/vim-7.3.045.patch0 | 57 + pkgs/core/vim/patches/vim-7.3.046.patch0 | 76 + pkgs/core/vim/patches/vim-7.3.047.patch0 | 172 + pkgs/core/vim/patches/vim-7.3.048.patch0 | 109 + pkgs/core/vim/patches/vim-7.3.049.patch0 | 495 ++ pkgs/core/vim/patches/vim-7.3.050.patch0 | 199 + pkgs/core/vim/patches/vim-7.3.051.patch0 | 111 + pkgs/core/vim/patches/vim-7.3.052.patch0 | 345 ++ pkgs/core/vim/patches/vim-7.3.053.patch0 | 89 + pkgs/core/vim/patches/vim-7.3.054.patch0 | 112 + pkgs/core/vim/patches/vim-7.3.055.patch0 | 359 ++ pkgs/core/vim/patches/vim-7.3.056.patch0 | 542 ++ pkgs/core/vim/patches/vim-7.3.057.patch0 | 62 + pkgs/core/vim/patches/vim-7.3.058.patch0 | 158 + pkgs/core/vim/patches/vim-7.3.059.patch0 | 116 + pkgs/core/vim/patches/vim-7.3.060.patch0 | 227 + pkgs/core/vim/patches/vim-7.3.061.patch0 | 89 + pkgs/core/vim/patches/vim-7.3.062.patch0 | 609 +++ pkgs/core/vim/patches/vim-7.3.063.patch0 | 59 + pkgs/core/vim/patches/vim-7.3.064.patch0 | 72 + pkgs/core/vim/patches/vim-7.3.065.patch0 | 120 + pkgs/core/vim/patches/vim-7.3.066.patch0 | 90 + pkgs/core/vim/patches/vim-7.3.067.patch0 | 68 + pkgs/core/vim/patches/vim-7.3.068.patch0 | 50 + pkgs/core/vim/patches/vim-7.3.069.patch0 | 49 + pkgs/core/vim/patches/vim-7.3.070.patch0 | 53 + pkgs/core/vim/patches/vim-7.3.071.patch0 | 65 + pkgs/core/vim/patches/vim-7.3.072.patch0 | 295 ++ pkgs/core/vim/patches/vim-7.3.073.patch0 | 92 + pkgs/core/vim/patches/vim-7.3.074.patch0 | 235 + pkgs/core/vim/patches/vim-7.3.075.patch0 | 132 + pkgs/core/vim/patches/vim-7.3.076.patch0 | 203 + pkgs/core/vim/patches/vim-7.3.077.patch0 | 134 + pkgs/core/vim/patches/vim-7.3.078.patch0 | 58 + pkgs/core/vim/patches/vim-7.3.079.patch0 | 50 + pkgs/core/vim/patches/vim-7.3.080.patch0 | 205 + pkgs/core/vim/patches/vim-7.3.081.patch0 | 84 + pkgs/core/vim/vim.nm | 9 +- 97 files changed, 16134 insertions(+), 8848 deletions(-) delete mode 100644 pkgs/core/openssl/patches/openssl-1.0.0b-version.patch create mode 100644 pkgs/core/openssl/patches/openssl-1.0.0c-version.patch delete mode 100644 pkgs/core/upstart/patches/upstart-0.6.6-upstream-1.patch create mode 100644 pkgs/core/upstart/patches/upstart-0.6.7-upstream-1.patch delete mode 100644 pkgs/core/vim/patches/vim-7.2-fixes-4.patch delete mode 100644 pkgs/core/vim/patches/vim-7.2-mandir-1.patch create mode 100644 pkgs/core/vim/patches/vim-7.3.001.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.002.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.003.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.004.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.005.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.006.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.007.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.008.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.009.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.010.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.011.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.012.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.013.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.014.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.015.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.016.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.017.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.018.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.019.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.020.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.021.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.022.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.023.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.024.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.025.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.026.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.027.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.028.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.029.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.030.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.031.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.032.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.033.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.034.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.035.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.036.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.037.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.038.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.039.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.040.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.041.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.042.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.043.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.044.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.045.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.046.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.047.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.048.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.049.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.050.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.051.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.052.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.053.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.054.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.055.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.056.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.057.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.058.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.059.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.060.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.061.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.062.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.063.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.064.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.065.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.066.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.067.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.068.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.069.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.070.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.071.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.072.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.073.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.074.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.075.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.076.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.077.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.078.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.079.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.080.patch0 create mode 100644 pkgs/core/vim/patches/vim-7.3.081.patch0
Difference in files: diff --git a/pkgs/core/ccache/ccache.nm b/pkgs/core/ccache/ccache.nm index bc0c462..b4d71ba 100644 --- a/pkgs/core/ccache/ccache.nm +++ b/pkgs/core/ccache/ccache.nm @@ -25,7 +25,7 @@ include $(PKGROOT)/Include
PKG_NAME = ccache -PKG_VER = 3.1.2 +PKG_VER = 3.1.3 PKG_REL = 0
PKG_MAINTAINER = diff --git a/pkgs/core/gcc/gcc.nm b/pkgs/core/gcc/gcc.nm index e16e683..8b2b4f4 100644 --- a/pkgs/core/gcc/gcc.nm +++ b/pkgs/core/gcc/gcc.nm @@ -25,8 +25,8 @@ include $(PKGROOT)/Include
PKG_NAME = gcc -PKG_VER = 4.5.1 -PKG_REL = 3 +PKG_VER = 4.5.2 +PKG_REL = 0
PKG_MAINTAINER = Michael Tremer michael.tremer@ipfire.org PKG_GROUP = Development/Compilers diff --git a/pkgs/core/glibc/glibc.nm b/pkgs/core/glibc/glibc.nm index 1d71ce9..10c82ea 100644 --- a/pkgs/core/glibc/glibc.nm +++ b/pkgs/core/glibc/glibc.nm @@ -25,8 +25,8 @@ include $(PKGROOT)/Include
PKG_NAME = glibc -PKG_VER = 2.12.1 -PKG_REL = 4 +PKG_VER = 2.12.2 +PKG_REL = 1
# TODO tzdata
@@ -53,9 +53,9 @@ GLIBC_FLAGS += -fno-strict-aliasing -mno-tls-direct-seg-refs -DNDEBUG CFLAGS += $(GLIBC_FLAGS) CXXFLAGS += $(GLIBC_FLAGS)
-OPTIMIZED_KERNEL = 2.6.18 +OPTIMIZED_KERNEL = 2.6.32
-PKG_OBJECTS += $(THISAPP).tar.gz +PKG_OBJECTS += $(THISAPP).tar.xz
# $(THISAPP)-pt_pax-1.patch - Support for PT_PaX markings.
diff --git a/pkgs/core/glibc/patches/glibc-fedora.patch b/pkgs/core/glibc/patches/glibc-fedora.patch index e2f6bb3..2a1f881 100644 --- a/pkgs/core/glibc/patches/glibc-fedora.patch +++ b/pkgs/core/glibc/patches/glibc-fedora.patch @@ -1,5 +1,30 @@ ---- glibc-2.12-2-gc4ccff1/ChangeLog.15 -+++ glibc-2.12-1/ChangeLog.15 +--- glibc-2.12.2/ChangeLog ++++ /ChangeLog +@@ -329,6 +329,11 @@ + (do_preload): Use __RTLD_SECURE instead of is_preloaded. + (dlmopen_doit): Add __RTLD_SECURE to mode bits. + ++2010-12-13 Andreas Schwab schwab@redhat.com ++ ++ * elf/dl-object.c (_dl_new_object): Ignore origin of privileged ++ program. ++ + 2010-10-06 Ulrich Drepper drepper@gmail.com + + * string/bug-strstr1.c: New file. +@@ -375,6 +380,10 @@ + + * version.h (VERSION): Bump for 2.12.1 release. + ++2010-06-21 Andreas Schwab schwab@redhat.com ++ ++ * sysdeps/i386/i686/Makefile: Don't pass -mtune to assembler. ++ + 2010-06-02 Kirill A. Shutemov kirill@shutemov.name + + * elf/dl-reloc.c: Flush cache after solving TEXTRELs if arch +--- glibc-2.12.2/ChangeLog.15 ++++ /ChangeLog.15 @@ -477,6 +477,14 @@
2004-11-26 Jakub Jelinek jakub@redhat.com @@ -65,8 +90,8 @@ 2004-08-30 Roland McGrath roland@frob.com
* scripts/extract-abilist.awk: If `lastversion' variable defined, omit ---- glibc-2.12-2-gc4ccff1/ChangeLog.16 -+++ glibc-2.12-1/ChangeLog.16 +--- glibc-2.12.2/ChangeLog.16 ++++ /ChangeLog.16 @@ -2042,6 +2042,9 @@ (__MATHDECL_2): Use __REDIRECT_NTH instead of __REDIRECT followed by __THROW. @@ -120,8 +145,94 @@ 2005-07-28 Thomas Schwinge schwinge@nic-nac-project.de
[BZ #1137] ---- glibc-2.12-2-gc4ccff1/Makeconfig -+++ glibc-2.12-1/Makeconfig +--- glibc-2.12.2/ChangeLog.17 ++++ /ChangeLog.17 +@@ -256,6 +256,12 @@ + + * Makerules (libc-abis): Fix search for libc-abis in add-ons. + ++2010-04-06 Ulrich Drepper drepper@redhat.com ++ ++ * sysdeps/posix/getaddrinfo.c (default_scopes): Assign global ++ scope to RFC 1918 addresses. ++ * posix/gai.conf: Document difference from RFC 3484. ++ + 2010-04-05 Thomas Schwinge thomas@schwinge.name + + * sysdeps/gnu/unwind-resume.c: New, moved from nptl/sysdeps/pthread/. +@@ -1010,6 +1016,19 @@ + * sysdeps/x86_64/fpu/fegetenv.c: Likewise + * sysdeps/s390/fpu/fegetenv.c: Likewise. Remove unused headers. + ++2009-10-27 Aurelien Jarno aurelien@aurel32.net ++ ++ [BZ #10855] ++ * locale/programs/locarchive.c: use MMAP_SHARED to reserve memory ++ used later with MMAP_FIXED | MMAP_SHARED to cope with different ++ alignment restrictions. ++ ++2010-02-08 Andreas Schwab schwab@redhat.com ++ ++ [BZ #11155] ++ * sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c: Include i386 ++ version. ++ + 2010-02-05 H.J. Lu hongjiu.lu@intel.com + + [BZ #11230] +@@ -2953,6 +2972,11 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com + * sysdeps/generic/ldsodefs.h (struct rtld_global): The map element in + the unique symbol hash table should not be const. + ++2009-07-22 Jakub Jelinek jakub@redhat.com ++ ++ * Makeconfig (ASFLAGS): Append $(sysdep-ASFLAGS). ++ * sysdeps/i386/Makefile (sysdep-ASFLAGS): Add -U__i686. ++ + 2009-07-21 Ulrich Drepper drepper@redhat.com + + * sysdeps/x86_64/multiarch/strstr.c: Minor cleanups. Remove +@@ -3218,6 +3242,11 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com + out common code into new function get_common_indeces. Determine + extended family and model for Intel processors. + ++2009-06-26 Andreas Schwab aschwab@redhat.com ++ ++ * timezone/zic.c (stringzone): Don't try to generate a POSIX TZ ++ string when the timezone ends in DST. ++ + 2009-06-26 Ulrich Drepper drepper@redhat.com + + * resolv/resolv.h: Define RES_SNGLKUPREOP. +@@ -11911,6 +11940,10 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com + [BZ #4368] + * stdlib/stdlib.h: Remove obsolete part of comment for realpath. + ++2007-04-16 Jakub Jelinek jakub@redhat.com ++ ++ * locale/programs/locarchive.c (add_alias, insert_name): Remove static. ++ + 2007-04-16 Ulrich Drepper drepper@redhat.com + + [BZ #4364] +@@ -13168,6 +13201,15 @@ d2009-10-30 Ulrich Drepper drepper@redhat.com + separators also if no non-zero digits found. + * stdlib/Makefile (tests): Add tst-strtod3. + ++2006-12-10 Jakub Jelinek jakub@redhat.com ++ ++ * sysdeps/unix/sysv/linux/netlinkaccess.h: Include linux/if_addr.h ++ if IFA_MAX is not defined. ++ (IFA_RTA, IFA_PAYLOAD, IFLA_RTA, IFLA_PAYLOAD): Define if not ++ defined. ++ * sysdeps/unix/sysv/linux/check_pf.c: Include netlinkaccess.h ++ instead of asm/types.h, linux/netlink.h and linux/rtnetlink.h. ++ + 2006-12-09 Ulrich Drepper drepper@redhat.com + + [BZ #3632] +--- glibc-2.12.2/Makeconfig ++++ /Makeconfig @@ -789,12 +789,12 @@ endif # The assembler can generate debug information too. ifndef ASFLAGS @@ -138,8 +249,8 @@
ifndef BUILD_CC BUILD_CC = $(CC) ---- glibc-2.12-2-gc4ccff1/csu/Makefile -+++ glibc-2.12-1/csu/Makefile +--- glibc-2.12.2/csu/Makefile ++++ /csu/Makefile @@ -93,7 +93,8 @@ omit-deps += $(crtstuff) $(crtstuff:%=$(objpfx)%.o): %.o: %.S $(objpfx)defs.h $(compile.S) -g0 $(ASFLAGS-.os) -o $@ @@ -150,9 +261,9 @@
vpath initfini.c $(sysdirs)
---- glibc-2.12-2-gc4ccff1/csu/elf-init.c -+++ glibc-2.12-1/csu/elf-init.c -@@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int, +--- glibc-2.12.2/csu/elf-init.c ++++ /csu/elf-init.c +@@ -63,6 +63,23 @@ extern void (*__init_array_end []) (int, char **, char **) extern void (*__fini_array_start []) (void) attribute_hidden; extern void (*__fini_array_end []) (void) attribute_hidden;
@@ -176,8 +287,8 @@
/* These function symbols are provided for the .init/.fini section entry points automagically by the linker. */ ---- glibc-2.12-2-gc4ccff1/debug/tst-chk1.c -+++ glibc-2.12-1/debug/tst-chk1.c +--- glibc-2.12.2/debug/tst-chk1.c ++++ /debug/tst-chk1.c @@ -17,6 +17,9 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -206,8 +317,20 @@ # define O 0 # else # define O 1 ---- glibc-2.12-2-gc4ccff1/elf/ldconfig.c -+++ glibc-2.12-1/elf/ldconfig.c +--- glibc-2.12.2/elf/dl-object.c ++++ /elf/dl-object.c +@@ -220,6 +220,9 @@ _dl_new_object (char *realname, const char *libname, int type, + out: + new->l_origin = origin; + } ++ else if (INTUSE(__libc_enable_secure) && type == lt_executable) ++ /* The origin of a privileged program cannot be trusted. */ ++ new->l_origin = (char *) -1; + + return new; + } +--- glibc-2.12.2/elf/ldconfig.c ++++ /elf/ldconfig.c @@ -1031,17 +1031,19 @@ search_dirs (void)
@@ -230,7 +353,7 @@
if (do_chroot && opt_chroot) { -@@ -1102,7 +1104,14 @@ parse_conf (const char *filename, bool d +@@ -1102,7 +1104,14 @@ parse_conf (const char *filename, bool do_chroot) cp += 8; while ((dir = strsep (&cp, " \t")) != NULL) if (dir[0] != '\0') @@ -246,7 +369,7 @@ } else if (!strncasecmp (cp, "hwcap", 5) && isblank (cp[5])) { -@@ -1165,7 +1174,7 @@ parse_conf (const char *filename, bool d +@@ -1165,7 +1174,7 @@ parse_conf (const char *filename, bool do_chroot) config files to read. */ static void parse_conf_include (const char *config_file, unsigned int lineno, @@ -255,7 +378,7 @@ { if (opt_chroot && pattern[0] != '/') error (EXIT_FAILURE, 0, -@@ -1197,7 +1206,7 @@ parse_conf_include (const char *config_f +@@ -1197,7 +1206,7 @@ parse_conf_include (const char *config_file, unsigned int lineno, { case 0: for (size_t i = 0; i < gl.gl_pathc; ++i) @@ -288,9 +411,9 @@ + add_arch_dirs (config_file); }
- char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; ---- glibc-2.12-2-gc4ccff1/elf/tst-stackguard1.c -+++ glibc-2.12-1/elf/tst-stackguard1.c + const char *aux_cache_file = _PATH_LDCONFIG_AUX_CACHE; +--- glibc-2.12.2/elf/tst-stackguard1.c ++++ /elf/tst-stackguard1.c @@ -160,17 +160,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -315,16 +438,16 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-2.12-2-gc4ccff1/include/bits/stdlib-ldbl.h -+++ glibc-2.12-1/include/bits/stdlib-ldbl.h +--- glibc-2.12.2/include/bits/stdlib-ldbl.h ++++ /include/bits/stdlib-ldbl.h @@ -0,0 +1 @@ +#include <stdlib/bits/stdlib-ldbl.h> ---- glibc-2.12-2-gc4ccff1/include/bits/wchar-ldbl.h -+++ glibc-2.12-1/include/bits/wchar-ldbl.h +--- glibc-2.12.2/include/bits/wchar-ldbl.h ++++ /include/bits/wchar-ldbl.h @@ -0,0 +1 @@ +#include <wcsmbs/bits/wchar-ldbl.h> ---- glibc-2.12-2-gc4ccff1/include/features.h -+++ glibc-2.12-1/include/features.h +--- glibc-2.12.2/include/features.h ++++ /include/features.h @@ -308,8 +308,13 @@ #endif
@@ -341,8 +464,8 @@ # define __USE_FORTIFY_LEVEL 2 # else # define __USE_FORTIFY_LEVEL 1 ---- glibc-2.12-2-gc4ccff1/intl/locale.alias -+++ glibc-2.12-1/intl/locale.alias +--- glibc-2.12.2/intl/locale.alias ++++ /intl/locale.alias @@ -57,8 +57,6 @@ korean ko_KR.eucKR korean.euc ko_KR.eucKR ko_KR ko_KR.eucKR @@ -352,8 +475,8 @@ norwegian nb_NO.ISO-8859-1 nynorsk nn_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 ---- glibc-2.12-2-gc4ccff1/libio/stdio.h -+++ glibc-2.12-1/libio/stdio.h +--- glibc-2.12.2/libio/stdio.h ++++ /libio/stdio.h @@ -165,10 +165,12 @@ typedef _G_fpos64_t fpos64_t; extern struct _IO_FILE *stdin; /* Standard input stream. */ extern struct _IO_FILE *stdout; /* Standard output stream. */ @@ -367,8 +490,8 @@
__BEGIN_NAMESPACE_STD /* Remove file FILENAME. */ ---- glibc-2.12-2-gc4ccff1/locale/iso-4217.def -+++ glibc-2.12-1/locale/iso-4217.def +--- glibc-2.12.2/locale/iso-4217.def ++++ /locale/iso-4217.def @@ -8,6 +8,7 @@ * * !!! The list has to be sorted !!! @@ -377,7 +500,7 @@ DEFINE_INT_CURR("AED") /* United Arab Emirates Dirham */ DEFINE_INT_CURR("AFN") /* Afghanistan Afgani */ DEFINE_INT_CURR("ALL") /* Albanian Lek */ -@@ -15,12 +16,14 @@ DEFINE_INT_CURR("AMD") /* Armenia Dram +@@ -15,12 +16,14 @@ DEFINE_INT_CURR("AMD") /* Armenia Dram */ DEFINE_INT_CURR("ANG") /* Netherlands Antilles */ DEFINE_INT_CURR("AOA") /* Angolan Kwanza */ DEFINE_INT_CURR("ARS") /* Argentine Peso */ @@ -392,7 +515,7 @@ DEFINE_INT_CURR("BGN") /* Bulgarian Lev */ DEFINE_INT_CURR("BHD") /* Bahraini Dinar */ DEFINE_INT_CURR("BIF") /* Burundi Franc */ -@@ -44,6 +47,7 @@ DEFINE_INT_CURR("CUP") /* Cuban Peso * +@@ -44,6 +47,7 @@ DEFINE_INT_CURR("CUP") /* Cuban Peso */ DEFINE_INT_CURR("CVE") /* Cape Verde Escudo */ DEFINE_INT_CURR("CYP") /* Cypriot Pound */ DEFINE_INT_CURR("CZK") /* Czech Koruna */ @@ -400,7 +523,7 @@ DEFINE_INT_CURR("DJF") /* Djibouti Franc */ DEFINE_INT_CURR("DKK") /* Danish Krone (Faroe Islands, Greenland) */ DEFINE_INT_CURR("DOP") /* Dominican Republic */ -@@ -51,16 +55,20 @@ DEFINE_INT_CURR("DZD") /* Algerian Dina +@@ -51,16 +55,20 @@ DEFINE_INT_CURR("DZD") /* Algerian Dinar */ DEFINE_INT_CURR("EEK") /* Estonian Kroon */ DEFINE_INT_CURR("EGP") /* Egyptian Pound */ DEFINE_INT_CURR("ERN") /* Eritrean Nakfa */ @@ -421,7 +544,7 @@ DEFINE_INT_CURR("GTQ") /* Guatemala Quetzal */ DEFINE_INT_CURR("GYD") /* Guyana Dollar */ DEFINE_INT_CURR("HKD") /* Hong Kong Dollar */ -@@ -69,12 +77,14 @@ DEFINE_INT_CURR("HRK") /* Croatia Kuna +@@ -69,12 +77,14 @@ DEFINE_INT_CURR("HRK") /* Croatia Kuna */ DEFINE_INT_CURR("HTG") /* Haiti Gourde */ DEFINE_INT_CURR("HUF") /* Hungarian Forint */ DEFINE_INT_CURR("IDR") /* Indonesia Rupiah */ @@ -436,7 +559,7 @@ DEFINE_INT_CURR("JEP") /* Jersey Pound */ DEFINE_INT_CURR("JMD") /* Jamaican Dollar */ DEFINE_INT_CURR("JOD") /* Jordanian Dinar */ -@@ -94,6 +104,7 @@ DEFINE_INT_CURR("LKR") /* Sri Lankan Ru +@@ -94,6 +104,7 @@ DEFINE_INT_CURR("LKR") /* Sri Lankan Rupee */ DEFINE_INT_CURR("LRD") /* Liberian Dollar */ DEFINE_INT_CURR("LSL") /* Lesotho Maloti */ DEFINE_INT_CURR("LTL") /* Lithuanian Litas */ @@ -444,7 +567,7 @@ DEFINE_INT_CURR("LVL") /* Latvia Lat */ DEFINE_INT_CURR("LYD") /* Libyan Arab Jamahiriya Dinar */ DEFINE_INT_CURR("MAD") /* Moroccan Dirham */ -@@ -114,6 +125,7 @@ DEFINE_INT_CURR("MZM") /* Mozambique Me +@@ -114,6 +125,7 @@ DEFINE_INT_CURR("MZM") /* Mozambique Metical */ DEFINE_INT_CURR("NAD") /* Namibia Dollar */ DEFINE_INT_CURR("NGN") /* Nigeria Naira */ DEFINE_INT_CURR("NIO") /* Nicaragua Cordoba Oro */ @@ -452,7 +575,7 @@ DEFINE_INT_CURR("NOK") /* Norwegian Krone */ DEFINE_INT_CURR("NPR") /* Nepalese Rupee */ DEFINE_INT_CURR("NZD") /* New Zealand Dollar */ -@@ -124,6 +136,7 @@ DEFINE_INT_CURR("PGK") /* Papau New Gui +@@ -124,6 +136,7 @@ DEFINE_INT_CURR("PGK") /* Papau New Guinea Kina */ DEFINE_INT_CURR("PHP") /* Philippines Peso */ DEFINE_INT_CURR("PKR") /* Pakistan Rupee */ DEFINE_INT_CURR("PLN") /* Polish Zloty */ @@ -460,9 +583,9 @@ DEFINE_INT_CURR("PYG") /* Paraguay Guarani */ DEFINE_INT_CURR("QAR") /* Qatar Rial */ DEFINE_INT_CURR("ROL") /* Romanian Leu */ ---- glibc-2.12-2-gc4ccff1/locale/programs/locarchive.c -+++ glibc-2.12-1/locale/programs/locarchive.c -@@ -134,7 +134,7 @@ create_archive (const char *archivefname +--- glibc-2.12.2/locale/programs/locarchive.c ++++ /locale/programs/locarchive.c +@@ -134,7 +134,7 @@ create_archive (const char *archivefname, struct locarhandle *ah) size_t reserved = RESERVE_MMAP_SIZE; int xflags = 0; if (total < reserved @@ -471,7 +594,7 @@ -1, 0)) != MAP_FAILED)) xflags = MAP_FIXED; else -@@ -241,9 +241,9 @@ oldlocrecentcmp (const void *a, const vo +@@ -241,9 +241,9 @@ oldlocrecentcmp (const void *a, const void *b) /* forward decls for below */ static uint32_t add_locale (struct locarhandle *ah, const char *name, locale_data_t data, bool replace); @@ -484,7 +607,7 @@
static bool -@@ -396,7 +396,7 @@ enlarge_archive (struct locarhandle *ah, +@@ -396,7 +396,7 @@ enlarge_archive (struct locarhandle *ah, const struct locarhead *head) size_t reserved = RESERVE_MMAP_SIZE; int xflags = 0; if (total < reserved @@ -493,7 +616,7 @@ -1, 0)) != MAP_FAILED)) xflags = MAP_FIXED; else -@@ -614,7 +614,7 @@ open_archive (struct locarhandle *ah, bo +@@ -614,7 +614,7 @@ open_archive (struct locarhandle *ah, bool readonly) int xflags = 0; void *p; if (st.st_size < reserved @@ -520,9 +643,9 @@ add_alias (struct locarhandle *ah, const char *alias, bool replace, const char *oldname, uint32_t *locrec_offset_p) { ---- glibc-2.12-2-gc4ccff1/localedata/Makefile -+++ glibc-2.12-1/localedata/Makefile -@@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-lo +--- glibc-2.12.2/localedata/Makefile ++++ /localedata/Makefile +@@ -227,6 +227,7 @@ $(INSTALL-SUPPORTED-LOCALES): install-locales-dir echo -n '...'; \ input=`echo $$locale | sed 's/([^.]*)[^@]*(.*)/\1\2/'`; \ $(LOCALEDEF) --alias-file=../intl/locale.alias \ @@ -530,8 +653,8 @@ -i locales/$$input -c -f charmaps/$$charset \ $(addprefix --prefix=,$(install_root)) $$locale; \ echo ' done'; \ ---- glibc-2.12-2-gc4ccff1/localedata/SUPPORTED -+++ glibc-2.12-1/localedata/SUPPORTED +--- glibc-2.12.2/localedata/SUPPORTED ++++ /localedata/SUPPORTED @@ -85,6 +85,7 @@ cy_GB.UTF-8/UTF-8 \ cy_GB/ISO-8859-14 \ da_DK.UTF-8/UTF-8 \ @@ -573,9 +696,9 @@ ta_IN/UTF-8 \ te_IN/UTF-8 \ tg_TJ.UTF-8/UTF-8 \ ---- glibc-2.12-2-gc4ccff1/localedata/locales/cy_GB -+++ glibc-2.12-1/localedata/locales/cy_GB -@@ -248,8 +248,11 @@ mon "<U0049><U006F><U006E><U0061 +--- glibc-2.12.2/localedata/locales/cy_GB ++++ /localedata/locales/cy_GB +@@ -248,8 +248,11 @@ mon "<U0049><U006F><U006E><U0061><U0077><U0072>";/ d_t_fmt "<U0044><U0079><U0064><U0064><U0020><U0025><U0041><U0020><U0025><U0064><U0020><U006d><U0069><U0073><U0020><U0025><U0042><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002E><U0025><U006D><U002E><U0025><U0079>" t_fmt "<U0025><U0054>" @@ -589,9 +712,9 @@ END LC_TIME
LC_MESSAGES ---- glibc-2.12-2-gc4ccff1/localedata/locales/en_GB -+++ glibc-2.12-1/localedata/locales/en_GB -@@ -116,8 +116,8 @@ mon "<U004A><U0061><U006E><U0075 +--- glibc-2.12.2/localedata/locales/en_GB ++++ /localedata/locales/en_GB +@@ -116,8 +116,8 @@ mon "<U004A><U0061><U006E><U0075><U0061><U0072><U0079>";/ d_t_fmt "<U0025><U0061><U0020><U0025><U0064><U0020><U0025><U0062><U0020><U0025><U0059><U0020><U0025><U0054><U0020><U0025><U005A>" d_fmt "<U0025><U0064><U002F><U0025><U006D><U002F><U0025><U0079>" t_fmt "<U0025><U0054>" @@ -602,8 +725,8 @@ date_fmt "<U0025><U0061><U0020><U0025><U0062><U0020><U0025><U0065>/ <U0020><U0025><U0048><U003A><U0025><U004D><U003A><U0025><U0053><U0020>/ <U0025><U005A><U0020><U0025><U0059>" ---- glibc-2.12-2-gc4ccff1/localedata/locales/no_NO -+++ glibc-2.12-1/localedata/locales/no_NO +--- glibc-2.12.2/localedata/locales/no_NO ++++ /localedata/locales/no_NO @@ -0,0 +1,69 @@ +escape_char / +comment_char % @@ -674,8 +797,8 @@ +LC_ADDRESS +copy "nb_NO" +END LC_ADDRESS ---- glibc-2.12-2-gc4ccff1/localedata/locales/zh_TW -+++ glibc-2.12-1/localedata/locales/zh_TW +--- glibc-2.12.2/localedata/locales/zh_TW ++++ /localedata/locales/zh_TW @@ -1,7 +1,7 @@ comment_char % escape_char / @@ -703,14 +826,15 @@ revision "0.2" date "2000-08-02" % ---- glibc-2.12-2-gc4ccff1/malloc/mcheck.c -+++ glibc-2.12-1/malloc/mcheck.c -@@ -24,9 +24,25 @@ +--- glibc-2.12.2/malloc/mcheck.c ++++ /malloc/mcheck.c +@@ -25,10 +25,26 @@ # include <mcheck.h> # include <stdint.h> # include <stdio.h> +# include <stdlib.h> # include <libintl.h> + # include <errno.h> #endif
+#ifdef _LIBC @@ -731,7 +855,7 @@ /* Old hook values. */ static void (*old_free_hook) (__ptr_t ptr, __const __ptr_t); static __ptr_t (*old_malloc_hook) (__malloc_size_t size, const __ptr_t); -@@ -197,7 +213,7 @@ freehook (__ptr_t ptr, const __ptr_t cal +@@ -199,7 +215,7 @@ freehook (__ptr_t ptr, const __ptr_t caller) if (old_free_hook != NULL) (*old_free_hook) (ptr, caller); else @@ -740,7 +864,7 @@ __free_hook = freehook; }
-@@ -214,7 +230,7 @@ mallochook (__malloc_size_t size, const +@@ -222,7 +238,7 @@ mallochook (__malloc_size_t size, const __ptr_t caller) hdr = (struct hdr *) (*old_malloc_hook) (sizeof (struct hdr) + size + 1, caller); else @@ -749,7 +873,7 @@ __malloc_hook = mallochook; if (hdr == NULL) return NULL; -@@ -245,7 +261,7 @@ memalignhook (__malloc_size_t alignment, +@@ -259,7 +275,7 @@ memalignhook (__malloc_size_t alignment, __malloc_size_t size, if (old_memalign_hook != NULL) block = (*old_memalign_hook) (alignment, slop + size + 1, caller); else @@ -758,7 +882,7 @@ __memalign_hook = memalignhook; if (block == NULL) return NULL; -@@ -300,8 +316,8 @@ reallochook (__ptr_t ptr, __malloc_size_ +@@ -320,8 +336,8 @@ reallochook (__ptr_t ptr, __malloc_size_t size, const __ptr_t caller) sizeof (struct hdr) + size + 1, caller); else @@ -769,7 +893,7 @@ __free_hook = freehook; __malloc_hook = mallochook; __memalign_hook = memalignhook; -@@ -361,8 +377,8 @@ mcheck (func) +@@ -381,8 +397,8 @@ mcheck (func) if (__malloc_initialized <= 0 && !mcheck_used) { /* We call malloc() once here to ensure it is initialized. */ @@ -780,8 +904,8 @@
old_free_hook = __free_hook; __free_hook = freehook; ---- glibc-2.12-2-gc4ccff1/manual/libc.texinfo -+++ glibc-2.12-1/manual/libc.texinfo +--- glibc-2.12.2/manual/libc.texinfo ++++ /manual/libc.texinfo @@ -5,7 +5,7 @@ @c setchapternewpage odd
@@ -791,8 +915,8 @@ @direntry * Libc: (libc). C library. @end direntry ---- glibc-2.12-2-gc4ccff1/misc/sys/cdefs.h -+++ glibc-2.12-1/misc/sys/cdefs.h +--- glibc-2.12.2/misc/sys/cdefs.h ++++ /misc/sys/cdefs.h @@ -132,7 +132,10 @@ #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) #define __bos0(ptr) __builtin_object_size (ptr, 0) @@ -836,8 +960,8 @@ # define __va_arg_pack() __builtin_va_arg_pack () # define __va_arg_pack_len() __builtin_va_arg_pack_len () #endif ---- glibc-2.12-2-gc4ccff1/nis/nss -+++ glibc-2.12-1/nis/nss +--- glibc-2.12.2/nis/nss ++++ /nis/nss @@ -25,7 +25,7 @@ # memory with every getXXent() call. Otherwise each getXXent() call # might result into a network communication with the server to get @@ -847,9 +971,9 @@ # # ADJUNCT_AS_SHADOW # If set to TRUE, the passwd routines in the NIS NSS module will not ---- glibc-2.12-2-gc4ccff1/nptl/ChangeLog -+++ glibc-2.12-1/nptl/ChangeLog -@@ -3884,6 +3884,15 @@ +--- glibc-2.12.2/nptl/ChangeLog ++++ /nptl/ChangeLog +@@ -3938,6 +3938,15 @@ Use __sigfillset. Document that sigfillset does the right thing wrt to SIGSETXID.
@@ -865,7 +989,7 @@ 2005-07-11 Jakub Jelinek jakub@redhat.com
[BZ #1102] -@@ -4620,6 +4629,11 @@ +@@ -4674,6 +4683,11 @@ Move definition inside libpthread, libc, librt check. Provide definition for rtld.
@@ -877,7 +1001,7 @@ 2004-09-02 Ulrich Drepper drepper@redhat.com
* sysdeps/alpha/jmpbuf-unwind.h: Define __libc_unwind_longjmp. -@@ -6694,6 +6708,11 @@ +@@ -6748,6 +6762,11 @@
* Makefile [$(build-shared) = yes] (tests): Depend on $(test-modules).
@@ -889,9 +1013,9 @@ 2003-07-25 Jakub Jelinek jakub@redhat.com
* tst-cancel17.c (do_test): Check if aio_cancel failed. ---- glibc-2.12-2-gc4ccff1/nptl/Makefile -+++ glibc-2.12-1/nptl/Makefile -@@ -341,7 +341,8 @@ endif +--- glibc-2.12.2/nptl/Makefile ++++ /nptl/Makefile +@@ -342,7 +342,8 @@ endif extra-objs += $(crti-objs) $(crtn-objs) omit-deps += crti crtn
@@ -901,7 +1025,7 @@ endif
CFLAGS-flockfile.c = -D_IO_MTSAFE_IO -@@ -527,15 +528,19 @@ $(addprefix $(objpfx), \ +@@ -529,15 +530,19 @@ $(addprefix $(objpfx), \ $(tests) $(xtests) $(test-srcs))): $(objpfx)libpthread.so \ $(objpfx)libpthread_nonshared.a $(objpfx)tst-unload: $(common-objpfx)dlfcn/libdl.so @@ -923,8 +1047,8 @@ else $(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a endif ---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h -+++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h +--- glibc-2.12.2/nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h ++++ /nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h @@ -189,4 +189,7 @@ /* Typed memory objects are not available. */ #define _POSIX_TYPED_MEMORY_OBJECTS -1 @@ -933,8 +1057,8 @@ +#define _XOPEN_STREAMS -1 + #endif /* bits/posix_opt.h */ ---- glibc-2.12-2-gc4ccff1/nptl/sysdeps/unix/sysv/linux/kernel-features.h -+++ glibc-2.12-1/nptl/sysdeps/unix/sysv/linux/kernel-features.h +--- glibc-2.12.2/nptl/sysdeps/unix/sysv/linux/kernel-features.h ++++ /nptl/sysdeps/unix/sysv/linux/kernel-features.h @@ -0,0 +1,6 @@ +#include_next <kernel-features.h> + @@ -942,8 +1066,8 @@ +#ifndef __ASSUME_CLONE_THREAD_FLAGS +# define __ASSUME_CLONE_THREAD_FLAGS 1 +#endif ---- glibc-2.12-2-gc4ccff1/nptl/tst-stackguard1.c -+++ glibc-2.12-1/nptl/tst-stackguard1.c +--- glibc-2.12.2/nptl/tst-stackguard1.c ++++ /nptl/tst-stackguard1.c @@ -190,17 +190,21 @@ do_test (void) the 16 runs, something is very wrong. */ int ndifferences = 0; @@ -968,8 +1092,8 @@ { puts ("stack guard canaries are not randomized enough"); puts ("nor equal to the default canary value"); ---- glibc-2.12-2-gc4ccff1/nscd/nscd.conf -+++ glibc-2.12-1/nscd/nscd.conf +--- glibc-2.12.2/nscd/nscd.conf ++++ /nscd/nscd.conf @@ -33,7 +33,7 @@ # logfile /var/log/nscd.log # threads 4 @@ -979,8 +1103,8 @@ # stat-user somebody debug-level 0 # reload-count 5 ---- glibc-2.12-2-gc4ccff1/nscd/nscd.init -+++ glibc-2.12-1/nscd/nscd.init +--- glibc-2.12.2/nscd/nscd.init ++++ /nscd/nscd.init @@ -9,6 +9,7 @@ # slow naming services like NIS, NIS+, LDAP, or hesiod. # processname: /usr/sbin/nscd @@ -1021,7 +1145,7 @@ RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd -@@ -83,7 +72,7 @@ restart() { +@@ -83,11 +72,11 @@ restart() { # See how we were called. case "$1" in start) @@ -1030,6 +1154,11 @@ RETVAL=$? ;; stop) +- stop ++ [ ! -e /var/lock/subsys/nscd ] || stop + RETVAL=$? + ;; + status) @@ -99,14 +88,17 @@ case "$1" in RETVAL=$? ;; @@ -1052,9 +1181,9 @@ ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" ---- glibc-2.12-2-gc4ccff1/posix/Makefile -+++ glibc-2.12-1/posix/Makefile -@@ -305,15 +305,8 @@ $(inst_libexecdir)/getconf: $(inst_bindi +--- glibc-2.12.2/posix/Makefile ++++ /posix/Makefile +@@ -317,15 +317,8 @@ $(inst_libexecdir)/getconf: $(inst_bindir)/getconf \ mv -f $@/$$spec.new $@/$$spec; \ done < $(objpfx)getconf.speclist
@@ -1074,8 +1203,8 @@ + | sed -n -e '/START_OF_STRINGS/,$${/(POSIX_V[67]|_XBS5)_/{s/^[^"]*"//;s/".*$$//;p}}' \ + > $@.new mv -f $@.new $@ ---- glibc-2.12-2-gc4ccff1/posix/gai.conf -+++ glibc-2.12-1/posix/gai.conf +--- glibc-2.12.2/posix/gai.conf ++++ /posix/gai.conf @@ -41,7 +41,7 @@ # # precedence <mask> <value> @@ -1100,8 +1229,8 @@ #scopev4 ::ffff:0.0.0.0/96 14 +# +# This is what the Red Hat setting currently uses. ---- glibc-2.12-2-gc4ccff1/posix/getconf.speclist.h -+++ glibc-2.12-1/posix/getconf.speclist.h +--- glibc-2.12.2/posix/getconf.speclist.h ++++ /posix/getconf.speclist.h @@ -0,0 +1,39 @@ +#include <unistd.h> +const char *START_OF_STRINGS = @@ -1142,8 +1271,8 @@ +"XBS5_LPBIG_OFFBIG" +#endif +""; ---- glibc-2.12-2-gc4ccff1/streams/Makefile -+++ glibc-2.12-1/streams/Makefile +--- glibc-2.12.2/streams/Makefile ++++ /streams/Makefile @@ -21,7 +21,7 @@ # subdir := streams @@ -1153,8 +1282,8 @@ routines = isastream getmsg getpmsg putmsg putpmsg fattach fdetach
include ../Rules ---- glibc-2.12-2-gc4ccff1/sysdeps/generic/dl-cache.h -+++ glibc-2.12-1/sysdeps/generic/dl-cache.h +--- glibc-2.12.2/sysdeps/generic/dl-cache.h ++++ /sysdeps/generic/dl-cache.h @@ -36,6 +36,14 @@ # define add_system_dir(dir) add_dir (dir) #endif @@ -1170,8 +1299,8 @@ #define CACHEMAGIC "ld.so-1.7.0"
/* libc5 and glibc 2.0/2.1 use the same format. For glibc 2.2 another ---- glibc-2.12-2-gc4ccff1/sysdeps/i386/Makefile -+++ glibc-2.12-1/sysdeps/i386/Makefile +--- glibc-2.12.2/sysdeps/i386/Makefile ++++ /sysdeps/i386/Makefile @@ -2,6 +2,8 @@ # Every i386 port in use uses gas syntax (I think). asm-CPPFLAGS += -DGAS_SYNTAX @@ -1196,8 +1325,30 @@ endif
ifeq ($(subdir),elf) ---- glibc-2.12-2-gc4ccff1/sysdeps/ia64/Makefile -+++ glibc-2.12-1/sysdeps/ia64/Makefile +--- glibc-2.12.2/sysdeps/i386/i686/Makefile ++++ /sysdeps/i386/i686/Makefile +@@ -9,19 +9,3 @@ stack-align-test-flags += -msse + ifeq ($(subdir),string) + sysdep_routines += cacheinfo + endif +- +-ifeq (yes,$(config-asflags-i686)) +-CFLAGS-.o += -Wa,-mtune=i686 +-CFLAGS-.os += -Wa,-mtune=i686 +-CFLAGS-.op += -Wa,-mtune=i686 +-CFLAGS-.og += -Wa,-mtune=i686 +-CFLAGS-.ob += -Wa,-mtune=i686 +-CFLAGS-.oS += -Wa,-mtune=i686 +- +-ASFLAGS-.o += -Wa,-mtune=i686 +-ASFLAGS-.os += -Wa,-mtune=i686 +-ASFLAGS-.op += -Wa,-mtune=i686 +-ASFLAGS-.og += -Wa,-mtune=i686 +-ASFLAGS-.ob += -Wa,-mtune=i686 +-ASFLAGS-.oS += -Wa,-mtune=i686 +-endif +--- glibc-2.12.2/sysdeps/ia64/Makefile ++++ /sysdeps/ia64/Makefile @@ -12,8 +12,8 @@ elide-routines.os += hp-timing
ifeq (yes,$(build-shared)) @@ -1209,8 +1360,8 @@ endif endif
---- glibc-2.12-2-gc4ccff1/sysdeps/ia64/ia64libgcc.S -+++ glibc-2.12-1/sysdeps/ia64/ia64libgcc.S +--- glibc-2.12.2/sysdeps/ia64/ia64libgcc.S ++++ /sysdeps/ia64/ia64libgcc.S @@ -1,350 +0,0 @@ -/* From the Intel IA-64 Optimization Guide, choose the minimum latency - alternative. */ @@ -1562,8 +1713,8 @@ - .symver ___multi3, __multi3@GLIBC_2.2 - -#endif ---- glibc-2.12-2-gc4ccff1/sysdeps/ia64/libgcc-compat.c -+++ glibc-2.12-1/sysdeps/ia64/libgcc-compat.c +--- glibc-2.12.2/sysdeps/ia64/libgcc-compat.c ++++ /sysdeps/ia64/libgcc-compat.c @@ -0,0 +1,84 @@ +/* pre-.hidden libgcc compatibility + Copyright (C) 2002 Free Software Foundation, Inc. @@ -1649,8 +1800,8 @@ +symbol_version (INTUSE (__multi3), __multi3, GLIBC_2.2); + +#endif ---- glibc-2.12-2-gc4ccff1/sysdeps/posix/getaddrinfo.c -+++ glibc-2.12-1/sysdeps/posix/getaddrinfo.c +--- glibc-2.12.2/sysdeps/posix/getaddrinfo.c ++++ /sysdeps/posix/getaddrinfo.c @@ -1099,10 +1099,12 @@ static const struct scopeentry /* Link-local addresses: scope 2. */ { { { 169, 254, 0, 0 } }, htonl_c (0xffff0000), 2 }, @@ -1664,8 +1815,8 @@ /* Default: scope 14. */ { { { 0, 0, 0, 0 } }, htonl_c (0x00000000), 14 } }; ---- glibc-2.12-2-gc4ccff1/sysdeps/powerpc/powerpc64/Makefile -+++ glibc-2.12-1/sysdeps/powerpc/powerpc64/Makefile +--- glibc-2.12.2/sysdeps/powerpc/powerpc64/Makefile ++++ /sysdeps/powerpc/powerpc64/Makefile @@ -30,6 +30,7 @@ ifneq ($(elf),no) # we use -fpic instead which is much better. CFLAGS-initfini.s += -fpic -O1 @@ -1674,8 +1825,8 @@ endif
ifeq ($(subdir),elf) ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/nice.c -+++ glibc-2.12-1/sysdeps/unix/nice.c +--- glibc-2.12.2/sysdeps/unix/nice.c ++++ /sysdeps/unix/nice.c @@ -42,7 +42,12 @@ nice (int incr) __set_errno (save); } @@ -1690,8 +1841,8 @@ if (result == -1) { if (errno == EACCES) ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/check_pf.c -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/check_pf.c +--- glibc-2.12.2/sysdeps/unix/sysv/linux/check_pf.c ++++ /sysdeps/unix/sysv/linux/check_pf.c @@ -27,13 +27,10 @@ #include <unistd.h> #include <sys/socket.h> @@ -1707,8 +1858,8 @@
#ifndef IFA_F_HOMEADDRESS # define IFA_F_HOMEADDRESS 0 ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/dl-osinfo.h -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/dl-osinfo.h +--- glibc-2.12.2/sysdeps/unix/sysv/linux/dl-osinfo.h ++++ /sysdeps/unix/sysv/linux/dl-osinfo.h @@ -17,10 +17,13 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ @@ -1723,7 +1874,7 @@
#ifndef MIN # define MIN(a,b) (((a)<(b))?(a):(b)) -@@ -80,6 +83,32 @@ _dl_setup_stack_chk_guard (void *dl_rand +@@ -80,6 +83,32 @@ _dl_setup_stack_chk_guard (void *dl_random) unsigned char *p = (unsigned char *) &ret; p[sizeof (ret) - 1] = 255; p[sizeof (ret) - 2] = '\n'; @@ -1756,8 +1907,8 @@ } else #endif ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/futimesat.c -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/futimesat.c +--- glibc-2.12.2/sysdeps/unix/sysv/linux/futimesat.c ++++ /sysdeps/unix/sysv/linux/futimesat.c @@ -37,14 +37,14 @@ futimesat (fd, file, tvp) { int result; @@ -1800,8 +1951,8 @@ { size_t filelen = strlen (file); if (__builtin_expect (filelen == 0, 0)) ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/i386/dl-cache.h -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/i386/dl-cache.h +--- glibc-2.12.2/sysdeps/unix/sysv/linux/i386/dl-cache.h ++++ /sysdeps/unix/sysv/linux/i386/dl-cache.h @@ -0,0 +1,59 @@ +/* Support for reading /etc/ld.so.cache files written by Linux ldconfig. + Copyright (C) 2004 Free Software Foundation, Inc. @@ -1862,8 +2013,8 @@ + } while (0) + +#include_next <dl-cache.h> ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-cache.h -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-cache.h +--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-cache.h ++++ /sysdeps/unix/sysv/linux/ia64/dl-cache.h @@ -22,4 +22,31 @@ #define _dl_cache_check_flags(flags) \ ((flags) == _DL_CACHE_DEFAULT_ID) @@ -1896,29 +2047,29 @@ + } while (0) + #include_next <dl-cache.h> ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c +--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-procinfo.c ++++ /sysdeps/unix/sysv/linux/ia64/dl-procinfo.c @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include <sysdeps/i386/dl-procinfo.c> +#else +#include <sysdeps/generic/dl-procinfo.c> +#endif ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h +--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/dl-procinfo.h ++++ /sysdeps/unix/sysv/linux/ia64/dl-procinfo.h @@ -0,0 +1,5 @@ +#ifdef IS_IN_ldconfig +#include <sysdeps/unix/sysv/linux/i386/dl-procinfo.h> +#else +#include <sysdeps/generic/dl-procinfo.h> +#endif ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed +--- glibc-2.12.2/sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed ++++ /sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed @@ -1 +1 @@ -s_^(RTLDLIST=)([^ ]*)-ia64(.so.[0-9.]*)[ ]*$_\1"\2-ia64\3 \2\3"_ +s_^(RTLDLIST=)([^ ]*)-ia64(.so.[0-9.]*)[ ]*$_\1"\2-ia64\3 /emul/ia32-linux\2\3"_ ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/netlinkaccess.h -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/netlinkaccess.h +--- glibc-2.12.2/sysdeps/unix/sysv/linux/netlinkaccess.h ++++ /sysdeps/unix/sysv/linux/netlinkaccess.h @@ -25,6 +25,24 @@
#include <kernel-features.h> @@ -1944,8 +2095,8 @@
struct netlink_res { ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/paths.h -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/paths.h +--- glibc-2.12.2/sysdeps/unix/sysv/linux/paths.h ++++ /sysdeps/unix/sysv/linux/paths.h @@ -62,7 +62,7 @@ #define _PATH_TTY "/dev/tty" #define _PATH_UNIX "/boot/vmlinux" @@ -1955,14 +2106,14 @@ #define _PATH_WTMP "/var/log/wtmp"
/* Provide trailing slash, since mostly used for building pathnames. */ ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c +--- glibc-2.12.2/sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c ++++ /sysdeps/unix/sysv/linux/sparc/sparc64/fxstat.c @@ -1 +1 @@ -#include "../../fxstat.c" +#include "../../i386/fxstat.c" ---- glibc-2.12-2-gc4ccff1/sysdeps/unix/sysv/linux/tcsetattr.c -+++ glibc-2.12-1/sysdeps/unix/sysv/linux/tcsetattr.c -@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios +--- glibc-2.12.2/sysdeps/unix/sysv/linux/tcsetattr.c ++++ /sysdeps/unix/sysv/linux/tcsetattr.c +@@ -49,6 +49,7 @@ tcsetattr (fd, optional_actions, termios_p) { struct __kernel_termios k_termios; unsigned long int cmd; @@ -1970,7 +2121,7 @@
switch (optional_actions) { -@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios +@@ -80,6 +81,35 @@ tcsetattr (fd, optional_actions, termios_p) memcpy (&k_termios.c_cc[0], &termios_p->c_cc[0], __KERNEL_NCCS * sizeof (cc_t));
@@ -2007,8 +2158,8 @@ + return retval; } libc_hidden_def (tcsetattr) ---- glibc-2.12-2-gc4ccff1/timezone/zic.c -+++ glibc-2.12-1/timezone/zic.c +--- glibc-2.12.2/timezone/zic.c ++++ /timezone/zic.c @@ -1921,7 +1921,7 @@ const int zonecount; if (stdrp != NULL && stdrp->r_hiyear == 2037) return; diff --git a/pkgs/core/kernel/config b/pkgs/core/kernel/config index c870088..b78b5b9 100644 --- a/pkgs/core/kernel/config +++ b/pkgs/core/kernel/config @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.36 -# Sat Nov 27 13:07:53 2010 +# Mon Dec 13 01:18:10 2010 # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -3674,7 +3674,7 @@ CONFIG_NLS_UTF8=y # Kernel hacking # CONFIG_TRACE_IRQFLAGS_SUPPORT=y -# CONFIG_PRINTK_TIME is not set +CONFIG_PRINTK_TIME=y # CONFIG_ENABLE_WARN_DEPRECATED is not set # CONFIG_ENABLE_MUST_CHECK is not set CONFIG_FRAME_WARN=1024 diff --git a/pkgs/core/kernel/kernel.nm b/pkgs/core/kernel/kernel.nm index 28509f5..929ca48 100644 --- a/pkgs/core/kernel/kernel.nm +++ b/pkgs/core/kernel/kernel.nm @@ -26,7 +26,7 @@ include $(PKGROOT)/Include
PKG_NAME = linux PKG_VER = 2.6.36 -PKG_REL = 1 +PKG_REL = 2
PKG_MAINTAINER = Michael Tremer michael.tremer@ipfire.org PKG_GROUP = System/Kernels diff --git a/pkgs/core/openssl/openssl.nm b/pkgs/core/openssl/openssl.nm index b2803fa..5fc573c 100644 --- a/pkgs/core/openssl/openssl.nm +++ b/pkgs/core/openssl/openssl.nm @@ -25,8 +25,8 @@ include $(PKGROOT)/Include
PKG_NAME = openssl -PKG_VER = 1.0.0b -PKG_REL = 3 +PKG_VER = 1.0.0c +PKG_REL = 0
PKG_MAINTAINER = Michael Tremer michael.tremer@ipfire.org PKG_GROUP = System/Libraries diff --git a/pkgs/core/openssl/patches/openssl-1.0.0b-version.patch b/pkgs/core/openssl/patches/openssl-1.0.0b-version.patch deleted file mode 100644 index bdb6ab6..0000000 --- a/pkgs/core/openssl/patches/openssl-1.0.0b-version.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up openssl-1.0.0b/crypto/opensslv.h.version openssl-1.0.0b/crypto/opensslv.h ---- openssl-1.0.0b/crypto/opensslv.h.version 2010-11-16 17:31:23.000000000 +0100 -+++ openssl-1.0.0b/crypto/opensslv.h 2010-11-16 17:32:59.000000000 +0100 -@@ -25,7 +25,8 @@ - * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for - * major minor fix final patch/beta) - */ --#define OPENSSL_VERSION_NUMBER 0x1000002f -+/* we have to keep the version number to not break the abi */ -+#define OPENSSL_VERSION_NUMBER 0x10000003 - #ifdef OPENSSL_FIPS - #define OPENSSL_VERSION_TEXT "OpenSSL 1.0.0b-fips 16 Nov 2010" - #else -@@ -83,7 +84,7 @@ - * should only keep the versions that are binary compatible with the current. - */ - #define SHLIB_VERSION_HISTORY "" --#define SHLIB_VERSION_NUMBER "1.0.0" -+#define SHLIB_VERSION_NUMBER "1.0.0b" - - - #endif /* HEADER_OPENSSLV_H */ diff --git a/pkgs/core/openssl/patches/openssl-1.0.0c-version.patch b/pkgs/core/openssl/patches/openssl-1.0.0c-version.patch new file mode 100644 index 0000000..4ac8277 --- /dev/null +++ b/pkgs/core/openssl/patches/openssl-1.0.0c-version.patch @@ -0,0 +1,22 @@ +diff -up openssl-1.0.0c/crypto/opensslv.h.version openssl-1.0.0c/crypto/opensslv.h +--- openssl-1.0.0c/crypto/opensslv.h.version 2010-12-03 11:55:54.000000000 +0100 ++++ openssl-1.0.0c/crypto/opensslv.h 2010-12-03 11:57:25.000000000 +0100 +@@ -25,7 +25,8 @@ + * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for + * major minor fix final patch/beta) + */ +-#define OPENSSL_VERSION_NUMBER 0x1000003f ++/* we have to keep the version number to not break the abi */ ++#define OPENSSL_VERSION_NUMBER 0x10000003 + #ifdef OPENSSL_FIPS + #define OPENSSL_VERSION_TEXT "OpenSSL 1.0.0c-fips 2 Dec 2010" + #else +@@ -83,7 +84,7 @@ + * should only keep the versions that are binary compatible with the current. + */ + #define SHLIB_VERSION_HISTORY "" +-#define SHLIB_VERSION_NUMBER "1.0.0" ++#define SHLIB_VERSION_NUMBER "1.0.0c" + + + #endif /* HEADER_OPENSSLV_H */ diff --git a/pkgs/core/pcre/pcre.nm b/pkgs/core/pcre/pcre.nm index 0f81d45..cfba51e 100644 --- a/pkgs/core/pcre/pcre.nm +++ b/pkgs/core/pcre/pcre.nm @@ -25,7 +25,7 @@ include $(PKGROOT)/Include
PKG_NAME = pcre -PKG_VER = 8.10 +PKG_VER = 8.11 PKG_REL = 0
PKG_MAINTAINER = @@ -42,7 +42,7 @@ define PKG_DESCRIPTION API are also supplied in the library libpcreposix. endef
-PKG_TARBALL = $(THISAPP).tar.bz2 +PKG_TARBALL = $(THISAPP).tar.gz
PKG_PACKAGES += $(PKG_NAME)-devel
diff --git a/pkgs/core/upstart/patches/upstart-0.6.6-upstream-1.patch b/pkgs/core/upstart/patches/upstart-0.6.6-upstream-1.patch deleted file mode 100644 index ddbd73e..0000000 --- a/pkgs/core/upstart/patches/upstart-0.6.6-upstream-1.patch +++ /dev/null @@ -1,3162 +0,0 @@ ---- upstart-0.6.6.orig/Makefile.am -+++ upstart-0.6.6/Makefile.am -@@ -1,6 +1,6 @@ - ## Process this file with automake to produce Makefile.in - --SUBDIRS = intl dbus init util conf doc contrib po -+SUBDIRS = intl dbus init util udev conf doc contrib po - - EXTRA_DIST = HACKING - ---- upstart-0.6.6.orig/configure.ac -+++ upstart-0.6.6/configure.ac -@@ -30,6 +30,7 @@ - PKG_CHECK_MODULES([NIH], [libnih >= 1.0.2]) - PKG_CHECK_MODULES([NIH_DBUS], [libnih-dbus >= 1.0.0]) - PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.2.16]) -+PKG_CHECK_MODULES([UDEV], [libudev >= 146]) - - # Checks for header files. - AC_CHECK_HEADERS([valgrind/valgrind.h]) -@@ -63,7 +64,7 @@ - - - AC_CONFIG_FILES([ Makefile intl/Makefile -- dbus/Makefile init/Makefile util/Makefile conf/Makefile -+ dbus/Makefile init/Makefile util/Makefile udev/Makefile conf/Makefile - doc/Makefile contrib/Makefile po/Makefile.in ]) - AC_CONFIG_HEADERS([config.h]) - AC_OUTPUT ---- upstart-0.6.6.orig/configure -+++ upstart-0.6.6/configure -@@ -751,6 +751,8 @@ - am__EXEEXT_TRUE - LTLIBOBJS - LIBOBJS -+UDEV_LIBS -+UDEV_CFLAGS - DBUS_LIBS - DBUS_CFLAGS - NIH_DBUS_LIBS -@@ -958,7 +960,9 @@ - NIH_DBUS_CFLAGS - NIH_DBUS_LIBS - DBUS_CFLAGS --DBUS_LIBS' -+DBUS_LIBS -+UDEV_CFLAGS -+UDEV_LIBS' - - - # Initialize some variables set by options. -@@ -1639,6 +1643,8 @@ - linker flags for NIH_DBUS, overriding pkg-config - DBUS_CFLAGS C compiler flags for DBUS, overriding pkg-config - DBUS_LIBS linker flags for DBUS, overriding pkg-config -+ UDEV_CFLAGS C compiler flags for UDEV, overriding pkg-config -+ UDEV_LIBS linker flags for UDEV, overriding pkg-config - - Use these variables to override the choices made by `configure' or to help - it to find libraries and programs with nonstandard names/locations. -@@ -5215,13 +5221,13 @@ - else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext -- (eval echo ""$as_me:5218: $ac_compile"" >&5) -+ (eval echo ""$as_me:5224: $ac_compile"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 -- (eval echo ""$as_me:5221: $NM \"conftest.$ac_objext\""" >&5) -+ (eval echo ""$as_me:5227: $NM \"conftest.$ac_objext\""" >&5) - (eval "$NM "conftest.$ac_objext"" 2>conftest.err > conftest.out) - cat conftest.err >&5 -- (eval echo ""$as_me:5224: output"" >&5) -+ (eval echo ""$as_me:5230: output"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" -@@ -6426,7 +6432,7 @@ - ;; - *-*-irix6*) - # Find out which ABI we are using. -- echo '#line 6429 "configure"' > conftest.$ac_ext -+ echo '#line 6435 "configure"' > conftest.$ac_ext - if { { eval echo ""$as_me":${as_lineno-$LINENO}: "$ac_compile""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? -@@ -7688,11 +7694,11 @@ - -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo ""$as_me:7691: $lt_compile"" >&5) -+ (eval echo ""$as_me:7697: $lt_compile"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:7695: $? = $ac_status" >&5 -+ echo "$as_me:7701: $? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. -@@ -8027,11 +8033,11 @@ - -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo ""$as_me:8030: $lt_compile"" >&5) -+ (eval echo ""$as_me:8036: $lt_compile"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:8034: $? = $ac_status" >&5 -+ echo "$as_me:8040: $? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. -@@ -8132,11 +8138,11 @@ - -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo ""$as_me:8135: $lt_compile"" >&5) -+ (eval echo ""$as_me:8141: $lt_compile"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:8139: $? = $ac_status" >&5 -+ echo "$as_me:8145: $? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized -@@ -8187,11 +8193,11 @@ - -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo ""$as_me:8190: $lt_compile"" >&5) -+ (eval echo ""$as_me:8196: $lt_compile"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:8194: $? = $ac_status" >&5 -+ echo "$as_me:8200: $? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized -@@ -10571,7 +10577,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 10574 "configure" -+#line 10580 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -10667,7 +10673,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 10670 "configure" -+#line 10676 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -16842,6 +16848,96 @@ - : - fi - -+pkg_failed=no -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UDEV" >&5 -+$as_echo_n "checking for UDEV... " >&6; } -+ -+if test -n "$PKG_CONFIG"; then -+ if test -n "$UDEV_CFLAGS"; then -+ pkg_cv_UDEV_CFLAGS="$UDEV_CFLAGS" -+ else -+ if test -n "$PKG_CONFIG" && \ -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: $PKG_CONFIG --exists --print-errors "libudev >= 146""; } >&5 -+ ($PKG_CONFIG --exists --print-errors "libudev >= 146") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 -+ test $ac_status = 0; }; then -+ pkg_cv_UDEV_CFLAGS=`$PKG_CONFIG --cflags "libudev >= 146" 2>/dev/null` -+else -+ pkg_failed=yes -+fi -+ fi -+else -+ pkg_failed=untried -+fi -+if test -n "$PKG_CONFIG"; then -+ if test -n "$UDEV_LIBS"; then -+ pkg_cv_UDEV_LIBS="$UDEV_LIBS" -+ else -+ if test -n "$PKG_CONFIG" && \ -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: $PKG_CONFIG --exists --print-errors "libudev >= 146""; } >&5 -+ ($PKG_CONFIG --exists --print-errors "libudev >= 146") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 -+ test $ac_status = 0; }; then -+ pkg_cv_UDEV_LIBS=`$PKG_CONFIG --libs "libudev >= 146" 2>/dev/null` -+else -+ pkg_failed=yes -+fi -+ fi -+else -+ pkg_failed=untried -+fi -+ -+ -+ -+if test $pkg_failed = yes; then -+ -+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then -+ _pkg_short_errors_supported=yes -+else -+ _pkg_short_errors_supported=no -+fi -+ if test $_pkg_short_errors_supported = yes; then -+ UDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libudev >= 146"` -+ else -+ UDEV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libudev >= 146"` -+ fi -+ # Put the nasty error message in config.log where it belongs -+ echo "$UDEV_PKG_ERRORS" >&5 -+ -+ as_fn_error "Package requirements (libudev >= 146) were not met: -+ -+$UDEV_PKG_ERRORS -+ -+Consider adjusting the PKG_CONFIG_PATH environment variable if you -+installed software in a non-standard prefix. -+ -+Alternatively, you may set the environment variables UDEV_CFLAGS -+and UDEV_LIBS to avoid the need to call pkg-config. -+See the pkg-config man page for more details. -+" "$LINENO" 5 -+elif test $pkg_failed = untried; then -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 -+$as_echo "$as_me: error: in `$ac_pwd':" >&2;} -+as_fn_error "The pkg-config script could not be found or is too old. Make sure it -+is in your PATH or set the PKG_CONFIG environment variable to the full -+path to pkg-config. -+ -+Alternatively, you may set the environment variables UDEV_CFLAGS -+and UDEV_LIBS to avoid the need to call pkg-config. -+See the pkg-config man page for more details. -+ -+To get pkg-config, see http://pkg-config.freedesktop.org/. -+See `config.log' for more details." "$LINENO" 5; } -+else -+ UDEV_CFLAGS=$pkg_cv_UDEV_CFLAGS -+ UDEV_LIBS=$pkg_cv_UDEV_LIBS -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } -+ : -+fi -+ - # Checks for header files. - for ac_header in valgrind/valgrind.h - do : -@@ -17272,7 +17368,7 @@ - - - --ac_config_files="$ac_config_files Makefile intl/Makefile dbus/Makefile init/Makefile util/Makefile conf/Makefile doc/Makefile contrib/Makefile po/Makefile.in" -+ac_config_files="$ac_config_files Makefile intl/Makefile dbus/Makefile init/Makefile util/Makefile udev/Makefile conf/Makefile doc/Makefile contrib/Makefile po/Makefile.in" - - ac_config_headers="$ac_config_headers config.h" - -@@ -18260,6 +18356,7 @@ - "dbus/Makefile") CONFIG_FILES="$CONFIG_FILES dbus/Makefile" ;; - "init/Makefile") CONFIG_FILES="$CONFIG_FILES init/Makefile" ;; - "util/Makefile") CONFIG_FILES="$CONFIG_FILES util/Makefile" ;; -+ "udev/Makefile") CONFIG_FILES="$CONFIG_FILES udev/Makefile" ;; - "conf/Makefile") CONFIG_FILES="$CONFIG_FILES conf/Makefile" ;; - "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; - "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; ---- upstart-0.6.6.orig/Makefile.in -+++ upstart-0.6.6/Makefile.in -@@ -235,6 +235,8 @@ - SET_MAKE = @SET_MAKE@ - SHELL = @SHELL@ - STRIP = @STRIP@ -+UDEV_CFLAGS = @UDEV_CFLAGS@ -+UDEV_LIBS = @UDEV_LIBS@ - USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ - USE_NLS = @USE_NLS@ - VERSION = @VERSION@ -@@ -296,7 +298,7 @@ - top_build_prefix = @top_build_prefix@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ --SUBDIRS = intl dbus init util conf doc contrib po -+SUBDIRS = intl dbus init util udev conf doc contrib po - EXTRA_DIST = HACKING - ACLOCAL_AMFLAGS = --install -I m4 - all: config.h ---- upstart-0.6.6.orig/debian/upstart.postinst -+++ upstart-0.6.6/debian/upstart.postinst -@@ -0,0 +1,62 @@ -+#!/bin/sh -e -+# This script can be called in the following ways: -+# -+# After the package was installed: -+# <postinst> configure <old-version> -+# -+# -+# If prerm fails during upgrade or fails on failed upgrade: -+# <old-postinst> abort-upgrade <new-version> -+# -+# If prerm fails during deconfiguration of a package: -+# <postinst> abort-deconfigure in-favour <new-package> <version> -+# removing <old-package> <version> -+# -+# If prerm fails during replacement due to conflict: -+# <postinst> abort-remove in-favour <new-package> <version> -+ -+ -+# Remove a no-longer used conffile -+rm_conffile() -+{ -+ CONFFILE="$1" -+ -+ if [ -e "$CONFFILE".dpkg-obsolete ]; then -+ echo "Removing obsolete conffile $CONFFILE" -+ rm -f "$CONFFILE".dpkg-obsolete -+ fi -+} -+ -+ -+case "$1" in -+ configure) -+ if dpkg --compare-versions "$2" lt-nl 0.6.0; then -+ # We're upgrading from a version of Upstart that doesn't use -+ # D-Bus for its IPC. We have to tell it to re-exec into one -+ # that does. It'll lose all state, but we didn't keep much -+ # in those days. -+ telinit u -+ else -+ # Before we shutdown or reboot, we need to re-exec so that we -+ # can safely remount the root filesystem; we can't just do that -+ # here because we lose state. -+ touch /var/run/init.upgraded || : -+ fi -+ -+ # Upgrade from karmic development version -+ if dpkg --compare-versions "$2" lt-nl 0.6.3-7; then -+ rm_conffile /etc/init/dbus-reconnect.conf -+ fi -+ ;; -+ -+ abort-upgrade|abort-deconfigure|abort-remove) -+ ;; -+ -+ *) -+ echo "$0 called with unknown argument `$1'" 1>&2 -+ exit 1 -+ ;; -+esac -+ -+#DEBHELPER# -+exit 0 ---- upstart-0.6.6.orig/debian/control -+++ upstart-0.6.6/debian/control -@@ -0,0 +1,18 @@ -+Source: upstart -+Section: admin -+Priority: required -+Maintainer: Scott James Remnant scott@ubuntu.com -+Standards-Version: 3.8.4.0 -+Build-Depends: debhelper (>= 7.3.15ubuntu2), pkg-config (>= 0.22), libnih-dev (>= 1.0.2), libnih-dbus-dev (>= 1.0.0), nih-dbus-tool, libdbus-1-dev (>= 1.2.16), libexpat1-dev (>= 2.0.0), libudev-dev (>= 151-5) -+Homepage: http://upstart.ubuntu.com/ -+ -+Package: upstart -+Architecture: any -+Depends: ${shlibs:Depends}, ${misc:Depends}, sysvinit-utils, sysv-rc, initscripts, mountall, ifupdown (>= 0.6.8ubuntu29) -+Replaces: upstart-job, sysvinit, upstart-compat-sysv, startup-tasks, system-services -+Conflicts: upstart-job, sysvinit, upstart-compat-sysv, startup-tasks, system-services -+Provides: upstart-job, upstart-compat-sysv, startup-tasks, system-services -+Description: event-based init daemon -+ upstart is a replacement for the /sbin/init daemon which handles -+ starting of tasks and services during boot, stopping them during -+ shutdown and supervising them while the system is running. ---- upstart-0.6.6.orig/debian/upstart.docs -+++ upstart-0.6.6/debian/upstart.docs -@@ -0,0 +1,2 @@ -+AUTHORS -+NEWS ---- upstart-0.6.6.orig/debian/README.Debian -+++ upstart-0.6.6/debian/README.Debian -@@ -0,0 +1,200 @@ -+upstart -+======= -+ -+Upstart is a replacement for the traditional sysvinit package, and -+runs as process #1. Through upstart, we are able to have an -+event-driven process, whilst at the same time retaining compatibility -+for the original sysvinit behaviour. -+ -+This file documents how to do a few common operations with the new -+system. -+ -+ -+Where are initscripts installed? -+-------------------------------- -+ -+This has not changed, they are installed in /etc/init.d. See -+/etc/init.d/README. -+ -+Important system jobs are no longer shipped as initscripts, but as -+upstart jobs. These are installed in /etc/init -+ -+ -+How are initscripts started and stopped? -+---------------------------------------- -+ -+This has not changed, symlinks are made from the initscript in the -+/etc/init.d directory to the /etc/rc?.d directories. See -+/etc/init.d/README and /etc/rc?.d/README. -+ -+ -+What order are initscripts started and stopped in? -+-------------------------------------------------- -+ -+This has not changed, the symlinks are named SNNname or KNNname, where -+NN is a number from 00 to 99. The K scripts are run first in -+numerical order, followed by the S scripts in numerical order. -+ -+ -+How do I find the current/previous runlevel? -+-------------------------------------------- -+ -+This has not changed, use the "runlevel" command. See runlevel(8). -+ -+ -+How do I change the runlevel? -+----------------------------- -+ -+This has not changed, use the "telinit" command or just invoke "init" -+directly. See telinit(8). -+ -+ -+How do I change the default runlevel? -+------------------------------------- -+ -+If you have an /etc/inittab file, edit it. Locate the following line: -+ -+ id:N:initdefault: -+ -+Where N is the default runlevel, change this to match. -+ -+Most people won't have that file, you can edit /etc/init/rc-sysinit.conf -+and change the following line: -+ -+ env DEFAULT_RUNLEVEL=2 -+ -+ -+How do I shutdown the machine? -+------------------------------ -+ -+This has not changed, use the "shutdown" command provided by the -+upstart package; you may also use the "reboot"/"halt"/"poweroff" -+commands as a short-cut. See shutdown(8) and reboot(8). -+ -+You can also press Control-Alt-Delete on a console to reboot the -+machine. -+ -+ -+How do I change the behaviour of Control-Alt-Delete? -+---------------------------------------------------- -+ -+Edit the /etc/init/control-alt-delete.conf file, the line beginning -+"exec" is what upstart will run when this key combination is pressed. -+ -+To not do anything, you can simply delete this file. -+ -+ -+How do I enter single-user mode? -+-------------------------------- -+ -+This hasn't changed, choose the "(recovery mode)" option from GRUB; -+add "-s", "S" or "single" to the kernel command-line; or from a -+running machine, run "telinit 1" or "shutdown now". -+ -+ -+How do I reduce the number of gettys? -+------------------------------------- -+ -+Also see "How do I change which runlevels gettys are run in?" -+ -+In /etc/init there is a file named ttyN.conf for each getty that will be -+started, where N is numbered 1 to 6. Remove any that you do not -+want. -+ -+This will not take immediate effect, however you can run "stop ttyN" -+to stop one that is running. -+ -+ -+How do I change getty parameters? -+--------------------------------- -+ -+In /etc/init there is a file named ttyN.conf for each getty that will be -+started, where N is numbered 1 to 6. Edit these files, the line -+beginning "respawn" is what upstart will run. -+ -+This will not take immediate effect, run "stop ttyN" followed by -+"start ttyN" or just kill the running getty to respawn with the new -+parameters. -+ -+ -+How do I change which runlevels gettys are run in? -+-------------------------------------------------- -+ -+In /etc/init there is a file named ttyN.conf for each getty that will be -+started, where N is numbered 1 to 6. Edit these files, there are two -+lines: -+ -+ start on runlevel [2345] -+ stop on runlevel [!2345] -+ -+Change the set of runlevels to match your taste. -+ -+This will not take immediate effect, however you can run "stop ttyN" -+to stop one that is running or "start ttyN" to start one that isn't. -+ -+ -+How do I increase the number of gettys? -+--------------------------------------- -+ -+In /etc/init there is a file named ttyN.conf for each getty that will be -+started, where N is numbered 1 to 6. -+ -+Copy one of these files to a new name, we suggest you simply name it -+after the tty, e.g. "ttyS0". -+ -+Edit that file, change the "respawn" line to match your requirements; -+in particular you'll need to change the tty the getty should be run -+on. -+ -+This will not take immediate effect, however you can run "start ttyN" -+to start the getty. -+ -+ -+How do I add a serial console? -+------------------------------ -+ -+See "How do I increase the number of gettys?" -+ -+ -+How can I see boot messages on the console? -+------------------------------------------- -+ -+This is nothing to do with upstart, but I'll answer this anyway. -+Remove "quiet" from the kernel command-line. -+ -+To make this permanent, edit /boot/grub/menu.lst and edit the line -+that begins "# defoptions=" (yes, it looks like a comment). -+ -+This will change both usplash and the LSB init logging. -+ -+ -+Upstart isn't working, how do I debug it? -+----------------------------------------- -+ -+Add "--debug" to the kernel command-line, and be sure to remove "quiet" -+and "splash". You'll now see debugging messages as upstart works. -+ -+ -+Can I query upstart for a list of jobs? -+--------------------------------------- -+ -+Yes, "initctl list" will list the known jobs and their status. -+ -+ -+How do I manually start or stop a job? -+-------------------------------------- -+ -+Use "start JOB" or "stop JOB". -+ -+ -+How do I find the status of a job? -+---------------------------------- -+ -+Use "status JOB". -+ -+ -+Can I emit an event by hand? -+---------------------------- -+ -+Yes, "initctl emit EVENT" will emit the named event and cause any -+jobs waiting for it to be started or stopped as appropriate. ---- upstart-0.6.6.orig/debian/upstart.postrm -+++ upstart-0.6.6/debian/upstart.postrm -@@ -0,0 +1,81 @@ -+#!/bin/sh -e -+# This script can be called in the following ways: -+# -+# After the package was removed: -+# <postrm> remove -+# -+# After the package was purged: -+# <postrm> purge -+# -+# After the package was upgraded: -+# <old-postrm> upgrade <new-version> -+# if that fails: -+# <new-postrm> failed-upgrade <old-version> -+# -+# -+# After all of the packages files have been replaced: -+# <postrm> disappear <overwriting-package> <version> -+# -+# -+# If preinst fails during install: -+# <new-postrm> abort-install -+# -+# If preinst fails during upgrade of removed package: -+# <new-postrm> abort-install <old-version> -+# -+# If preinst fails during upgrade: -+# <new-postrm> abort-upgrade <old-version> -+ -+ -+# Undo removal of a no-longer used conffile -+undo_rm_conffile() -+{ -+ CONFFILE="$1" -+ -+ if [ ! -e "$CONFFILE" ]; then -+ if [ -e "$CONFFILE".dpkg-bak ]; then -+ echo "Restoring modified conffile $CONFFILE" -+ mv -f "$CONFFILE".dpkg-bak "$CONFFILE" -+ elif [ -e "$CONFFILE".dpkg-obsolete ]; then -+ mv -f "$CONFFILE".dpkg-obsolete "$CONFFILE" -+ fi -+ fi -+} -+ -+# Finish removal of a no-longer used conffile -+finish_rm_conffile() -+{ -+ CONFFILE="$1" -+ -+ if [ -e "$CONFFILE".dpkg-bak ]; then -+ rm -f "$CONFFILE".dpkg-bak -+ fi -+} -+ -+ -+case "$1" in -+ remove) -+ ;; -+ -+ purge) -+ finish_rm_conffile /etc/init/dbus-reconnect.conf -+ ;; -+ -+ upgrade|failed-upgrade|disappear) -+ ;; -+ -+ abort-install|abort-upgrade) -+ # Abort upgrade from karmic development version -+ if dpkg --compare-versions "$2" lt-nl 0.6.3-7; then -+ undo_rm_conffile /etc/init/dbus-reconnect.conf -+ fi -+ ;; -+ -+ *) -+ echo "$0 called with unknown argument `$1'" 1>&2 -+ exit 1 -+ ;; -+esac -+ -+#DEBHELPER# -+exit 0 ---- upstart-0.6.6.orig/debian/upstart-job -+++ upstart-0.6.6/debian/upstart-job -@@ -0,0 +1,73 @@ -+#!/bin/sh -e -+# upstart-job -+# -+# Symlink target for initscripts that have been converted to Upstart. -+ -+set -e -+ -+INITSCRIPT="$(basename "$0")" -+JOB="${INITSCRIPT%.sh}" -+ -+if [ "$JOB" = "upstart-job" ]; then -+ if [ -z "$1" ]; then -+ echo "Usage: upstart-job JOB COMMAND" 1>&2 -+ exit 1 -+ fi -+ -+ JOB="$1" -+ INITSCRIPT="$1" -+ shift -+else -+ if [ -z "$1" ]; then -+ echo "Usage: $0 COMMAND" 1>&2 -+ exit 1 -+ fi -+fi -+ -+COMMAND="$1" -+shift -+ -+ -+if [ -z "$DPKG_MAINTSCRIPT_PACKAGE" ]; then -+ ECHO=echo -+else -+ ECHO=: -+fi -+ -+$ECHO "Rather than invoking init scripts through /etc/init.d, use the service(8)" -+$ECHO "utility, e.g. service $INITSCRIPT $COMMAND" -+ -+case $COMMAND in -+status) -+ $ECHO -+ $ECHO "Since the script you are attempting to invoke has been converted to an" -+ $ECHO "Upstart job, you may also use the $COMMAND(8) utility, e.g. $COMMAND $JOB" -+ $COMMAND "$JOB" -+ ;; -+start|stop|restart) -+ $ECHO -+ $ECHO "Since the script you are attempting to invoke has been converted to an" -+ $ECHO "Upstart job, you may also use the $COMMAND(8) utility, e.g. $COMMAND $JOB" -+ PID=$(status "$JOB" 2>/dev/null | awk '/[0-9]$/ { print $NF }') -+ if [ -z "$PID" ] && [ "$COMMAND" = "stop" ]; then -+ exit 0 -+ elif [ -n "$PID" ] && [ "$COMMAND" = "start" ]; then -+ exit 0 -+ elif [ -z "$PID" ] && [ "$COMMAND" = "restart" ]; then -+ start "$JOB" -+ exit 0 -+ fi -+ $COMMAND "$JOB" -+ ;; -+reload|force-reload) -+ $ECHO -+ $ECHO "Since the script you are attempting to invoke has been converted to an" -+ $ECHO "Upstart job, you may also use the reload(8) utility, e.g. reload $JOB" -+ reload "$JOB" -+ ;; -+*) -+ $ECHO -+ $ECHO "The script you are attempting to invoke has been converted to an Upstart" 1>&2 -+ $ECHO "job, but $COMMAND is not supported for Upstart jobs." 1>&2 -+ exit 1 -+esac ---- upstart-0.6.6.orig/debian/migrate-inittab.pl -+++ upstart-0.6.6/debian/migrate-inittab.pl -@@ -0,0 +1,143 @@ -+#!/usr/bin/perl -+ -+use strict; -+use warnings; -+ -+my %gettys; -+my $have_cad = 0; -+ -+ -+#-----------------------------------------------------------------------------# -+# Parse /etc/inittab -+#-----------------------------------------------------------------------------# -+ -+open INITTAB, "/etc/inittab" -+ or die "Unable to open /etc/inittab: $!"; -+ -+while (<INITTAB>) { -+ chomp; -+ s/^\s*//; -+ -+ next if /^#/; -+ next unless length; -+ -+ my ($id, $rlevel, $action, $process) = split /:/, $_, 4; -+ -+ warn "missing id field" and next -+ unless defined $id and length $id; -+ warn "missing runlevel field" and next -+ unless defined $rlevel; -+ warn "missing action field" and next -+ unless defined $action and length $action; -+ warn "missing process field" and next -+ unless defined $process; -+ -+ -+ $have_cad = 1 if $action eq "ctrlaltdel"; -+ $gettys{$1} = [ $rlevel, $process ] if $process =~ /getty.*\b(tty\w+)/; -+} -+ -+close INITTAB -+ or warn "Error while closing /etc/inittab: $!"; -+ -+ -+#-----------------------------------------------------------------------------# -+# Alter /etc/event.d -+#-----------------------------------------------------------------------------# -+ -+unlink "/etc/init/control-alt-delete.conf" -+ unless $have_cad; -+ -+foreach (qw/tty1 tty2 tty3 tty4 tty5 tty6/) { -+ unlink "/etc/init/$_.conf" -+ unless exists $gettys{$_}; -+} -+ -+foreach (sort keys %gettys) { -+ my ($rlevel, $process) = @{$gettys{$_}}; -+ -+ my @job; -+ if (-f "/etc/event.d/$_") { -+ open JOB, "/etc/event.d/$_" -+ or warn "Unable to open /etc/event.d/$_: $!" and next; -+ @job = <JOB>; -+ chomp @job; -+ close JOB -+ or warn "Error while closing /etc/event,d/$_: $!" and next; -+ -+ foreach my $rl (qw/2 3 4 5/) { -+ my $idx; -+ for ($idx = 0; $idx < @job; $idx++) { -+ last if $job[$idx] =~ /^\s*(start|stop)\s+on\s+runlevel\s+$rl\b/; -+ } -+ -+ if ($idx < @job) { -+ if ($rlevel =~ /$rl/) { -+ $job[$idx] =~ s/^(\s*)stop(\s+)/$1start$2/; -+ } else { -+ $job[$idx] =~ s/^(\s*)start(\s+)/$1stop$2/; -+ } -+ } else { -+ if ($rlevel =~ /$rl/) { -+ push @job, "start on runlevel $rl"; -+ } else { -+ push @job, "stop on runlevel $rl"; -+ } -+ } -+ } -+ -+ my $idx; -+ for ($idx = 0; $idx < @job; $idx++) { -+ last if $job[$idx] =~ /^\s*respawn\s*/; # match bare 'respawn' too -+ } -+ -+ if ($idx < @job) { -+ # only match old-style 'respawn process', not bare 'respawn' -+ $job[$idx] =~ s/^(\s*respawn\s+).*/$1$process/; -+ } else { -+ push @job, "respawn"; -+ push @job, "exec $process"; -+ } -+ -+ # Try to fix up effects of previous broken migrations -+ if (@job and $job[$#job] =~ /.*(.+?)exec (\1)$/) { -+ $job[$#job] = "exec $1"; -+ } -+ -+ } else { -+ push @job, "# $_ - getty"; -+ push @job, "#"; -+ push @job, "# Converted from /etc/inittab entry"; -+ push @job, ""; -+ -+ foreach my $rl (qw/2 3 4 5/) { -+ if ($rlevel =~ /$rl/) { -+ push @job, "start on runlevel $rl"; -+ } else { -+ push @job, "stop on runlevel $rl"; -+ } -+ } -+ push @job, ""; -+ -+ push @job, "stop on shutdown"; -+ push @job, ""; -+ -+ push @job, "respawn"; -+ push @job, "exec $process"; -+ } -+ -+ open JOB, ">/etc/event.d/.$_" -+ or warn "Unable to write to /etc/event.d/.$_: $!" and next; -+ print JOB map { "$_\n" } @job; -+ unless (close JOB) { -+ warn "Error while closing /etc/event.d/.$_: $!"; -+ unlink "/etc/event.d/.$_"; -+ next; -+ } -+ -+ unless (rename "/etc/event.d/.$_", "/etc/event.d/$_") { -+ warn "Unable to replace /etc/event.d/$_: $!"; -+ unlink "/etc/event.d/.$_"; -+ next; -+ } -+} ---- upstart-0.6.6.orig/debian/compat -+++ upstart-0.6.6/debian/compat -@@ -0,0 +1 @@ -+7 ---- upstart-0.6.6.orig/debian/copyright -+++ upstart-0.6.6/debian/copyright -@@ -0,0 +1,18 @@ -+This is the Ubuntu package of upstart, the event-based init daemon. -+ -+Copyright © 2009 Canonical Ltd. -+Copyright © 2009 Scott James Remnant scott@netsplit.com -+ -+Licence: -+ -+This program is free software; you can redistribute it and/or modify -+it under the terms of the GNU General Public License version 2, as -+published by the Free Software Foundation. -+ -+This program is distributed in the hope that it will be useful, but -+WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+General Public License for more details. -+ -+On Ubuntu systems, the complete text of the GNU General Public License -+can be found in â/usr/share/common-licenses/GPLâ. ---- upstart-0.6.6.orig/debian/upstart.preinst -+++ upstart-0.6.6/debian/upstart.preinst -@@ -0,0 +1,54 @@ -+#!/bin/sh -e -+# This script can be called in the following ways: -+# -+# Before the package is installed: -+# <new-preinst> install -+# -+# Before removed package is upgraded: -+# <new-preinst> install <old-version> -+# -+# Before the package is upgraded: -+# <new-preinst> upgrade <old-version> -+# -+# -+# If postrm fails during upgrade or fails on failed upgrade: -+# <old-preinst> abort-upgrade <new-version> -+ -+ -+# Prepare to remove a no-longer used conffile -+prep_rm_conffile() -+{ -+ CONFFILE="$1" -+ -+ if [ -e "$CONFFILE" ]; then -+ md5sum="`md5sum "$CONFFILE" | sed -e "s/ .*//"`" -+ old_md5sum="`sed -n -e "/^Conffiles:/,/^[^ ]/{\\' $CONFFILE '{s/ obsolete$//;s/.* //;p}}" /var/lib/dpkg/status`" -+ if [ "$md5sum" != "$old_md5sum" ]; then -+ echo "Obsolete conffile $CONFFILE has been modified by you, renaming to .dpkg-bak" -+ mv -f "$CONFFILE" "$CONFFILE".dpkg-bak -+ else -+ mv -f "$CONFFILE" "$CONFFILE".dpkg-obsolete -+ fi -+ fi -+} -+ -+ -+case "$1" in -+ install|upgrade) -+ # Upgrade from karmic development version -+ if dpkg --compare-versions "$2" lt-nl 0.6.3-7; then -+ prep_rm_conffile /etc/init/dbus-reconnect.conf -+ fi -+ ;; -+ -+ abort-upgrade) -+ ;; -+ -+ *) -+ echo "$0 called with unknown argument `$1'" 1>&2 -+ exit 1 -+ ;; -+esac -+ -+#DEBHELPER# -+exit 0 ---- upstart-0.6.6.orig/debian/rules -+++ upstart-0.6.6/debian/rules -@@ -0,0 +1,32 @@ -+#!/usr/bin/make -f -+%: -+ dh $@ -+ -+ -+CFLAGS = -Wall -g -fstack-protector -fPIE -+LDFLAGS = -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie -+ -+# Disable PIE on armel -+DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) -+ifeq ($(DEB_HOST_ARCH),armel) -+CFLAGS="$(filter-out -fPIE,$(CFLAGS))" -+LDFLAGS="$(filter-out -pie,$(LDFLAGS))" -+endif -+ -+# Disable optimisations if noopt found in $DEB_BUILD_OPTIONS -+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -+ CFLAGS += -O0 -+ LDFLAGS += -Wl,-O0 -+else -+ CFLAGS += -Os -+ LDFLAGS += -Wl,-O1 -+endif -+ -+override_dh_auto_configure: -+ dh_auto_configure -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ -+ --exec-prefix= -+ -+override_dh_fixperms: -+ dh_fixperms -+ chmod 755 debian/upstart/lib/init/upstart-job -+ chmod 755 debian/upstart/usr/lib/upstart/migrate-inittab.pl ---- upstart-0.6.6.orig/debian/changelog -+++ upstart-0.6.6/debian/changelog -@@ -0,0 +1,677 @@ -+upstart (0.6.6-1) maverick; urgency=low -+ -+ * New upstream release: -+ - All changes were previously merged into this package. -+ -+ * debian/upstart-job: -+ - Fix output for the force-reload command to only refer to reload(8). -+ LP: #532862. -+ -+ * Add debian/source/format with "1.0" to be future compatible. -+ * Add missing ${misc:Depends}. -+ * Bump standards version. -+ * Convert rules to dh7 format. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 27 Apr 2010 13:41:18 -0700 -+ -+upstart (0.6.5-6) lucid; urgency=low -+ -+ * Merge fixes from trunk: -+ - double-quoting of NIH_CFLAGS and NIH_DBUS_CFLAGS on --with-local-libnih -+ - document "env KEY" behaviour -+ * conf/rc.conf, conf/rc-sysinit.conf: -+ - enable console output. LP: #548954. -+ - pass value of INIT_VERBOSE from kernel command-line. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 01 Apr 2010 19:25:36 +0100 -+ -+upstart (0.6.5-5) lucid; urgency=low -+ -+ * init/main.c: -+ - Don't change the settings of the foreground console, this is often -+ owned by plymouth and not supposed to be in Canonical Mode; all other -+ paths have stty sane settings anyway (which these are not), so there -+ really isn't need for init to do this. LP: #540256. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 17 Mar 2010 22:34:55 +0000 -+ -+upstart (0.6.5-4) lucid; urgency=low -+ -+ * debian/control: -+ - change Pre-Depends back to Depends, this was a holdover from when we -+ attempted to make Upstart Essential to solve early sysvinitâupstart -+ upgrade issues, we backed out the Essential bit but never the use of -+ Pre-Depends. LP: #527722. -+ - add versioned-dependencies on ifupdown for loopback fix that can -+ prevent initscripts from being run. LP: #527830. -+ -+ * Merge patches from trunk to use /proc/self/fd instead of /dev/fd, and -+ to always mount /proc and /sys on boot. -+ -+ -- Scott James Remnant scott@ubuntu.com Fri, 26 Feb 2010 15:40:58 +0000 -+ -+upstart (0.6.5-3) lucid; urgency=low -+ -+ * udev/upstart-udev-bridge.c: use right variable name, fixing a build -+ failure. (LP: #524484) -+ -+ -- Scott Moser smoser@ubuntu.com Fri, 19 Feb 2010 10:21:33 -0500 -+ -+upstart (0.6.5-2) lucid; urgency=low -+ -+ * udev/upstart-udev-bridge.c: -+ - Increase receiving buffer size for uevents so we don't miss any. -+ LP: #504883. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 17 Feb 2010 15:50:40 +0000 -+ -+upstart (0.6.5-1) lucid; urgency=low -+ -+ * New upstream release: -+ - libnih has been separated out into its own project. -+ - "start on" and "stop on" now support != matches. LP: #513035. -+ - Fixed crash in child when unable to spawn job. LP: #451917. -+ - No longer holds /dev/console open so SAK won't kill init. LP: #486005. -+ - Added missing OPTIONS section to init(8). LP: #449883. -+ -+ [ Scott James Remnant ] -+ * Build-depend on libnih-dev, libnih-dbus-dev and nih-dbus-tool to use -+ the separated out libnih. -+ - This has the fix for LP: #436758. -+ - Remove changelog.nih from the doc directory. -+ * Bump udev build-dependency to 147 to match upstream. -+ * udev/Makefile.am: Update to use external libnih -+ -+ [ Johan Kiviniemi ] -+ * udev/upstart-udev-bridge.c: Change -device-remove to -device-removed to -+ match -device-added and -device-changed. LP: #516698. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 04 Feb 2010 16:30:10 -0800 -+ -+upstart (0.6.3-11build1) lucid; urgency=low -+ -+ * Rebuild to pick up relaxed dependency on libc6, after checking that -+ __abort_msg is available with the same signature in eglibc 2.11. -+ LP: #508702. -+ -+ -- Matthias Klose doko@ubuntu.com Mon, 18 Jan 2010 16:10:11 +0100 -+ -+upstart (0.6.3-11) karmic-proposed; urgency=low -+ -+ * Make rc-sysinit.conf wait on the loopback interface, to ensure that the -+ interface is up before we process the scripts in /etc/rc?.d. LP: #461725. -+ -+ -- Steve Langasek steve.langasek@ubuntu.com Tue, 08 Dec 2009 12:58:37 -0800 -+ -+upstart (0.6.3-10) karmic; urgency=low -+ -+ * Retain the "telinit u" for the case when we're upgrading from pre-0.6 -+ (ie. hardy or jaunty). Whups. LP: #451556. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 15 Oct 2009 17:48:47 +0100 -+ -+upstart (0.6.3-9) karmic; urgency=low -+ -+ * Restore the call to sync() in reboot, have been observing some issues -+ and it looks like ext4 might not be explicitly flushing the disk when -+ remounting read-only. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 14 Oct 2009 16:40:32 +0100 -+ -+upstart (0.6.3-8) karmic; urgency=low -+ -+ * Rather than calling "telinit u" after upgrade, which will lose state, -+ have the umountroot initscript take care of it for us by setting a -+ flag. LP: #441796. -+ * Don't lose the original default runlevel if /etc/inittab exists without -+ an initdefault line. LP: #405847. -+ * Fix "unhandled error" in shutdown when unable to change runlevel, -+ e.g. due to previous Ubiquity bug. LP: #426332. -+ * Merge change from trunk that makes it possible to build Upstart using -+ a previously built copy of nih-dbus-tool, especially useful when -+ cross-compiling. LP: #426740. -+ * Merge change from libnih to store our assertion messages in the -+ glibc __abort_msg symbol so apport can pick them up. LP: #429411. -+ * Merge change from libnih to fix compilation issue with eglibc due -+ to changed alphasort() prototype. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 14 Oct 2009 05:34:13 +0100 -+ -+upstart (0.6.3-7) karmic; urgency=low -+ -+ * Ignore initramfs pids that don't exist. LP: #440071. -+ - you still need to ensure that the pid's parent is init, there's no -+ cheap way to test for that. -+ * Remove "console owner" and "console output" from rc scripts. -+ * Try harder to remove dbus-reconnect.conf -+ -+ -- Scott James Remnant scott@ubuntu.com Fri, 02 Oct 2009 21:09:03 +0100 -+ -+upstart (0.6.3-6) karmic; urgency=low -+ -+ * Don't use "telinit q" to reconnect to D-Bus, since that breaks -+ lots of things. Invent another secret way instead. -+ -+ [ Steve Langasek ] -+ * upstart-job's restart target must also not fail when the service is not -+ yet started. LP: #430883. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 01 Oct 2009 15:26:19 +0100 -+ -+upstart (0.6.3-5) karmic; urgency=low -+ -+ * Update autoconf and automake files. LP: #435252. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 23 Sep 2009 14:16:34 -0700 -+ -+upstart (0.6.3-4) karmic; urgency=low -+ -+ [ Scott James Remnant ] -+ * Reduce the priority of the stopped by/continued by messages so that -+ they are only shown when --verbose on the kernel command-line. -+ LP: #401333. -+ * Add a hack to look for /dev/.initramfs/*.pid files on startup and -+ "fake" start jobs of those names. Basically this means that "status" -+ and "stop" work for things like bootchart and usplash. -+ * Implement a "reload" command in initctl that retrieves the current pid -+ of the job and sends it the HUP signal. LP: #433544. -+ -+ [ Steve Langasek ] -+ * debian/upstart-job: -+ - give proper policy-compliant behavior of the start command: detect if -+ the job is already running using upstart status, and if so return success. -+ - same for the stop command: return success if the job is already stopped. -+ - when $DPKG_MAINTSCRIPT_PACKAGE is set, don't spit warnings out because -+ it's not the user's fault - we're being invoked by a maintainer script. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 22 Sep 2009 13:56:48 -0700 -+ -+upstart (0.6.3-3) karmic; urgency=low -+ -+ * debian/upstart-job: -+ - force-reload should only send a HUP signal, since it may not be wise -+ to actually restart (cf. dbus) -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 16 Sep 2009 00:10:13 +0100 -+ -+upstart (0.6.3-2) karmic; urgency=low -+ -+ FFE LP: #427356. -+ -+ * debian/upstart-job: -+ - Remove trailing "s" from file -+ - Support direct invocation better. -+ * udev/upstart-udev-bridge.c: -+ - New tool to capture events from the udev netlink socket and -+ convert into upstart events. -+ * conf/rc-sysinit.conf: -+ - Run once all filesystems are mounted, rather than on startup -+ * debian/control: -+ - Add dependency on mountall for the filesystem event. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 15 Sep 2009 03:19:09 +0100 -+ -+upstart (0.6.3-1) karmic; urgency=low -+ -+ * New upstream release: -+ - Fixed assertion when a job exits while stopping. LP: #406408. -+ - Fixed compilation on ia64. -+ - nih-dbus-tool(1) manpage no longer installed. -+ -+ -- Scott James Remnant scott@ubuntu.com Mon, 03 Aug 2009 23:58:47 +0100 -+ -+upstart (0.6.2-1) karmic; urgency=low -+ -+ * New upstream release: -+ - Fixed assertion when stopping a job during its starting event. -+ - Fixed fork following to not stop on exec() before fork() -+ - Fixed missing chdir() in crash handler. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 22 Jul 2009 10:39:50 +0100 -+ -+upstart (0.6.1-1) karmic; urgency=low -+ -+ * New upstream release: -+ - Fixed race condition in ptrace() code. LP: #264711. -+ - Fixed runlevel to output "unknown" not "N N". LP: #400248. -+ - Fixed runlevel to prefix error messages with filename. LP: #400241. -+ -+ * Provide/Conflict/Replace the agreed "upstart-job" meta-package. -+ LP: #399799. -+ * Bump dpkg dependency to 1.2.16 -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 16 Jul 2009 18:26:23 +0100 -+ -+upstart (0.6.0-5) karmic; urgency=low -+ -+ * Cherry-pick patch from -r1188 to fix "expect fork" and "expect daemon" -+ LP: #264711. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 14 Jul 2009 15:19:17 +0100 -+ -+upstart (0.6.0-4) karmic; urgency=low -+ -+ * Don't build the testsuite with -fPIE on armel; LP: #398403. -+ -+ -- Loïc Minier lool@dooz.org Mon, 13 Jul 2009 22:12:34 +0200 -+ -+upstart (0.6.0-3) karmic; urgency=low -+ -+ * Add Conflicts on older Upstart packages to make update-manager's -+ job easier. -+ -+ -- Scott James Remnant scott@ubuntu.com Fri, 10 Jul 2009 10:11:21 +0100 -+ -+upstart (0.6.0-2) karmic; urgency=low -+ -+ * Bump D-Bus build dependency to ensure we get the container abandonment -+ patches, and the GIT version bump. -+ * Actually ship /lib/init/upstart-job -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 09 Jul 2009 17:29:59 +0100 -+ -+upstart (0.6.0-1) karmic; urgency=low -+ -+ * New upstream release ("How appropriate, you fight like a cow") -+ - my customary changes list since pointless, it's basically a -+ complete rewrite. -+ - Handles /bin/sh symlink disappearing. LP: #65024. -+ - Boot parameters may be passed to init scripts. LP: #74664. -+ - reboot implies --force during shutdown. LP: #388738. -+ - reboot no longer iterates /proc/ide. LP: #92685. -+ - much improved documentation. LP: #60429, #72058, #388715. -+ -+ * Merge the various upstart packages into a single package, it makes -+ little sense to have it all spread out. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 08 Jul 2009 23:12:03 +0100 -+ -+upstart (0.3.10-2) karmic; urgency=low -+ -+ * debian/upstart.postinst: Use telinit u to re-exec, rather than -+ kill just in case it's not Upstart that's running. LP: #92177. -+ * debian/event.d/system-services/tty*: Run getty in 8-bit clean -+ mode. LP: #273189. -+ * debian/event.d/upstart-compat-sysv/rc-default: -+ - Don't use grep -w, instead split on $IFS and iterate. LP: #385911. -+ - Check for any valid runlevel, not just S. LP: #85014. -+ - Make console owner, since it may spawn sulogin. -+ * debian/event.d/upstart-compat-sysv/rcS: -+ - Spawn sulogin if given -b or "emergency". LP: #193810. -+ * debian/event.d/upstart-compat-sysv/rcS: -+ - Make console owner. LP: #211402. -+ * debian/event.d/upstart-compat-sysv/rcS-sulogin: -+ - Place the telinit code in post-stop, checking $UPSTART_EVENT first so -+ we don't change the runlevel if we were stopped due to a runlevel -+ change. LP: #66002. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 18 Jun 2009 16:19:34 +0100 -+ -+upstart (0.3.10-1) karmic; urgency=low -+ -+ * Compilation fixes. -+ * Fixed assertion caused by the post-start or pre-stop scripts -+ exiting after the main process of a respawning job had exited. -+ LP: #381048. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 17 Jun 2009 13:33:40 +0100 -+ -+upstart (0.3.9-8) intrepid; urgency=low -+ -+ * Do not attempt to continue communicating with the restarted upstart -+ (LP: #273761). -+ -+ -- Kees Cook kees@ubuntu.com Mon, 29 Sep 2008 13:35:21 -0700 -+ -+upstart (0.3.9-7) intrepid; urgency=low -+ -+ * Implement "telinit u" by just sending Upstart SIGTERM with a slightly -+ different patch than Fedora. LP: #188925. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 23 Sep 2008 09:01:09 -0700 -+ -+upstart (0.3.9-6) intrepid; urgency=low -+ -+ * Really fix LP: #237276 properly this time, lost the change while mucking -+ around with bzr. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 22:29:48 +0100 -+ -+upstart (0.3.9-5) intrepid; urgency=low -+ -+ * Correct build problem on amd64 and ia64 by only building libnih and -+ libupstart statically. The shared objects were unwanted, and conflict -+ with -fPIE. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 17:07:12 +0100 -+ -+upstart (0.3.9-4) intrepid; urgency=low -+ -+ * Add missing limits.h, required to build with current libc. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 13:09:32 +0100 -+ -+upstart (0.3.9-3) intrepid; urgency=low -+ -+ * Change dependency from sysvutils to sysvinit-utils. LP: #237276. -+ * Compile with stack -fstack-protector, -fPIE, -z relro, -z now and -pie -+ (MMmm, pie) -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 12:59:11 +0100 -+ -+upstart (0.3.9-2) hardy; urgency=low -+ -+ * Start the getty on tty1 after the rc script has stopped rather then -+ at the same time it starts to avoid overwriting by console messages. -+ tty2..6 will still be active if you want an early login. LP: #65230. -+ * If the recovery menu is available start that instead of sulogin when -+ entering single-user-mode. -+ -+ -- Scott James Remnant scott@ubuntu.com Fri, 11 Apr 2008 13:38:50 +0100 -+ -+upstart (0.3.9-1) hardy; urgency=low -+ -+ * New upstream release: -+ - many bug fixes. -+ -+ * Update reference to "edgy" in README.Debian to "hardy". LP: #140037. -+ -+ -- Scott James Remnant scott@ubuntu.com Sun, 28 Oct 2007 10:51:59 -0400 -+ -+upstart (0.3.8-2) gutsy; urgency=low -+ -+ * Fix broken migration of old-style 'respawn process' stanzas which -+ produced corrupted 'exec' stanzas. Try to fix up files previously -+ corrupted by this. LP: #95210 -+ -+ -- Scott James Remnant scott@ubuntu.com Sun, 28 Oct 2007 10:50:36 -0400 -+ -+upstart (0.3.8-1) feisty; urgency=low -+ -+ * New upstream release: -+ - much improved initctl tool. -+ -+ * Update my standard prep_/undo_/rm_conffile functions to take into account -+ current dpkg behaviour wrt obsolete conffiles. The conffile is now moved -+ out of the way in preinst and the moved file deleted in postinst, or moved -+ back in postrm abort-upgrade. This means it's not there when dpkg -+ configures the new version, so the conffile is not left in the list. -+ * Purge backups of modified obsolete conffiles when the package is purged. -+ -+ * Update runlevel and respawn rule generated in migrate-inittab.pl -+ LP: #89314 -+ -+ * Drop 00-libnih-update.patch and 01-libnih-sparc-ftbfs.patch; new upstream -+ release includes an up-to-date libnih which contains both patches. -+ * Drop 10-cant-stop-execless-job.patch; included upstream. -+ * Drop 20-complex-event-config.patch; this is going to be significantly -+ changed upstream, and we don't want to ship something strange. -+ * Drop 30-fix-warnings.patch; included upstream. -+ -+ -- Scott James Remnant scott@ubuntu.com Sun, 11 Mar 2007 19:19:00 +0000 -+ -+upstart (0.3.5-2) feisty; urgency=low -+ -+ * Changed "start script" to "pre-start script" in sulogin event, the former -+ is no longer recognised. -+ -+ * Applied 01-libnih-sparc-ftbfs.patch; this updates the signal name list -+ to exclude signals not available on that architecture, and add one that's -+ unique to it. -+ * Applied 30-fix-warnings.patch; this corrects a few warnings that spoiled -+ an otherwise clean build log. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 13 Feb 2007 15:56:33 +0000 -+ -+upstart (0.3.5-1) feisty; urgency=low -+ -+ * New upstream release: -+ - inotify file descriptor leak fixed. LP: #83099. -+ - inotify support is no longer required. LP: #68904. -+ - new job state machine -+ - new event structure, can now include arguments and environment -+ -+ * Applied 00-libnih-update.patch; this updates the libnih library to the -+ latest bzr trunk version, required for the complex-event-config patch. -+ * Applied 10-cant-stop-execless-job.patch from upstream; this corrects a -+ bug where jobs without an "exec" or "script" stanza cannot be stopped. -+ * Applied 20-complex-event-config.patch from upstream; this is an -+ experimental implementation of the "on" keyword that allows definition -+ of complex system states. -+ -+ * System V compatibility jobs updated to match new event names. -+ * rcS job now sets PREVLEVEL and RUNLEVEL. LP: #76304. -+ -+ * NOTE: After this upgrade, init will appear to have "forgotten" the -+ process ids of your gettys, etc. This is not a critical problem and -+ will be fixed before release. Shutdown will still work as normal. -+ -+ -- Scott James Remnant scott@ubuntu.com Mon, 12 Feb 2007 13:51:40 +0000 -+ -+upstart (0.3.1-1) feisty; urgency=low -+ -+ * New upstream release: -+ - start, stop and status are now symlinks to initctl, not to a -+ different, separate utility. -+ - initctl completely rewritten to behave properly. -+ - some upstart-specific options to shutdown and reboot dropped, as -+ these are considered SysV-compat tools. -+ - "console none" fixed. LP: #70782. -+ - improved documentation. LP: #68805. -+ -+ * shutdown and reboot moved to upstart-compat-sysv. -+ -+ * Replace the /usr/share/doc/* directory in upstart-logd, -+ upstart-compat-sysv, system-services and startup-tasks with a symlink to -+ /usr/share/doc/upstart. This was actually done in a previous package, -+ but the migration missed. LP: #70895. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 13 Dec 2006 17:27:37 +0000 -+ -+upstart (0.2.7-7) edgy; urgency=low -+ -+ * Don't abort the postinst if we can't send init SIGTERM. Ubuntu: #64499. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 10 Oct 2006 10:13:05 +0100 -+ -+upstart (0.2.7-6) edgy; urgency=low -+ -+ * Don't start gettys on tty2 thru tty6 in runlevels 4 and 5 (matches -+ our sysvinit configuration). -+ * Migrate common changes made to /etc/inittab to /etc/event.d by -+ adjusting the installed conffiles. Ubuntu: #61539. -+ -+ * Include missing AUTHORS and NEWS file in the upstart package. -+ * Include README.Debian which answers common questions. Ubuntu: #60429. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 5 Oct 2006 16:08:34 +0100 -+ -+upstart (0.2.7-5) edgy; urgency=low -+ -+ * Don't set the current runlevel in /var/run/utmp to 0 or 6 if it is -+ already either of those two values. That way we don't end up with -+ either 0 or 6 in the PREVLEVEL variable, which can cause -+ /etc/init.d/rc to be "efficient" and not bother doing -+ anything. Ubuntu: #63852. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 4 Oct 2006 14:06:18 +0100 -+ -+upstart (0.2.7-4) edgy; urgency=low -+ -+ * Can't just start rc-default once in single-user mode, because if we -+ boot into that, that will just return us back to sulogin again. Copy -+ the script out of rc-default into rcS-sulogin to call telinit with the -+ right default runlevel. Ubuntu: #62189. -+ -+ * Add Build-Depend on dpkg-dev (>= 1.13.19) due to our use of -+ ${binary:Version}. Ubuntu: #61693. -+ -+ -- Scott James Remnant scott@ubuntu.com Tue, 26 Sep 2006 17:20:42 +0100 -+ -+upstart (0.2.7-3) edgy; urgency=low -+ -+ * Set the runlevel to "S" when we enter sulogin so that it appears -+ in utmp. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 21 Sep 2006 05:37:25 +0100 -+ -+upstart (0.2.7-2) edgy; urgency=low -+ -+ * Ensure that the same version of upstart is installed as the version of -+ upstart-compat-sysv and upstart-logd; as the IPC protocol may change -+ between releases. -+ -+ * Adjust the rcS-sulogin job so that if sulogin exits the default runlevel -+ is entered; but if the job is stopped (e.g. by shutdown) it isn't. The -+ solves the regression introduced in the previous release. -+ -+ * Revert upstream logd/"quiet" change in favour of doing it in our -+ lsb logging functions instead; seems to work better (fsvo better). -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 21 Sep 2006 03:12:33 +0100 -+ -+upstart (0.2.7-1) edgy; urgency=low -+ -+ * New upstream release: -+ - logd now writes to the console unless "quiet" is specified -+ - runaway jobs caught when they start rather than respawn. Ubuntu: #59807 -+ -+ * Fix failure to shutdown while in single-user mode, however this means -+ that for edgy you can't exit the sulogin shell to enter the default -+ runlevel; explicitly say what works. Ubuntu: #60626. -+ * Drop unnecessary dependency on util-linux. -+ * Drop sulogin hack, instead depend on the version of sysvutils that -+ includes the real one. Ubuntu: #60965. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 20 Sep 2006 05:39:16 +0100 -+ -+upstart (0.2.6-1) edgy; urgency=low -+ -+ * New upstream release: -+ - fix infinite loop caused by bad waitid() call. Ubuntu: #59459. -+ - halt now behaves as "shutdown -h now". Ubuntu: #59720. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 13 Sep 2006 22:16:17 +0100 -+ -+upstart (0.2.5-1) edgy; urgency=low -+ -+ * New upstream release: -+ - no longer spins when no stalled event handler. Ubuntu: #59170. -+ - shutdown works when under sysvinit. Ubuntu: #58523; -+ - shutdown -k implemented. Ubuntu: #58723. -+ - telinit sends shutdown event for 0, 1 and 6. Ubuntu: #58913. -+ - basic manual pages included. Ubuntu: #58724. -+ -+ * upstart-compat-sysv Replaces: sysvinit. Ubuntu: #59427. -+ * upstart Recommends: upstart-compat-sysv, startup-tasks & system-services. -+ -+ * New upstart-logd package includes the logd daemon that can will log -+ output of jobs with "console logged" (the default) in their description -+ to /var/log/boot. -+ -+ * Add /etc/event.d/rc0 that is run on the "halt" event (neither -H or -P -+ given), and modify rc0-halt to run on "system-halt" (-H given) and -+ rc0-poweroff to run on "power-off" (-P given). Ubuntu: #59134. -+ * Fix the control-alt-delete job to run on the "ctrlaltdel" event so -+ that it's triggered properly. Ubuntu: #59398. -+ * Fix single-user mode. -+ -+ -- Scott James Remnant scott@ubuntu.com Sat, 9 Sep 2006 05:10:12 +0100 -+ -+upstart (0.2.1-7) edgy; urgency=low -+ -+ * Remove the Essential tags again, they didn't solve the problem we -+ hoped they would (dpkg/apt still won't remove sysvinit without -+ serious persuasion) and I don't think these packages should be. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 7 Sep 2006 02:42:33 +0100 -+ -+upstart (0.2.1-6) edgy; urgency=low -+ -+ * Make packages Essential, and change Depends to Pre-Depends so that the -+ packages work when unconfigured (nothing interesting is performed in -+ postinst). Ubuntu: #59005. -+ * Sync priority in debian/control with that in the archive (required) -+ * Drop warning of dire consequences if you install upstart, seeing as it's -+ installed by default. -+ -+ * Add new startup-tasks and system-services packages which will contain -+ the /etc/event.d files themselves (other than the main ones). -+ * Move tty definitions into system-services. -+ * Modify tty definitions to start when the rcS task has finished. This -+ puts them in the "right" place when compared to gdm. Ubuntu: #58630. -+ -+ * Correct rcS compatibility script to ignore any information in utmp so -+ that all scripts are always run. Ubuntu: #59203. -+ * Make rcS the console owner while it runs, temporary fix for -+ Ubuntu: #58609, #58794, #58796 -+ * Include default control-alt-delete handler that reboots the machine. -+ -+ -- Scott James Remnant scott@ubuntu.com Wed, 6 Sep 2006 21:52:48 +0100 -+ -+upstart (0.2.1-5) edgy; urgency=low -+ -+ * upstart-compat-sysv Depends: initscripts (closes: Malone #58979). -+ -+ -- Colin Watson cjwatson@ubuntu.com Tue, 5 Sep 2006 12:22:50 +0100 -+ -+upstart (0.2.1-4) edgy; urgency=low -+ -+ * Add missing #! line to top of postrm -+ -+ -- Scott James Remnant scott@ubuntu.com Mon, 4 Sep 2006 08:11:16 +0100 -+ -+upstart (0.2.1-3) edgy; urgency=low -+ -+ * Remove the rc0 configuration file shipped in 0.1.0 that causes all -+ reboots to become shutdowns. Ubuntu: #58557. -+ -+ -- Scott James Remnant scott@ubuntu.com Sun, 3 Sep 2006 23:24:41 +0100 -+ -+upstart (0.2.1-2) edgy; urgency=low -+ -+ * Don't send the SIGTERM signal unless we're upgrading from a version -+ of upstart that supports re-exec; older versions would cause a kernel -+ PANIC and change from sysvinit does nothing. -+ -+ -- Scott James Remnant scott@ubuntu.com Sat, 2 Sep 2006 17:18:38 +0100 -+ -+upstart (0.2.1-1) edgy; urgency=low -+ -+ * New upstream release: -+ - compilation fixes. -+ -+ -- Scott James Remnant scott@ubuntu.com Fri, 1 Sep 2006 19:51:41 +0100 -+ -+upstart (0.2.0-1) edgy; urgency=low -+ -+ * New upstream release: -+ - upstart includes shutdown, reboot, halt, poweroff, start, stop, status, -+ runlevel and telinit utilities. -+ - "initctl list" will list active jobs. -+ - Events vastly simplified to just simple strings. -+ -+ * Compatibility tasks for old rc scripts, along with runlevel and telinit -+ utilities now shipped in upstart-compat-sysv package. -+ -+ -- Scott James Remnant scott@ubuntu.com Fri, 1 Sep 2006 02:38:44 +0100 -+ -+upstart (0.1.1-1) edgy; urgency=low -+ -+ * New upstream release: -+ - set PATH and TERM in processes -+ -+ -- Scott James Remnant scott@ubuntu.com Fri, 25 Aug 2006 16:17:52 +0200 -+ -+upstart (0.1.0-2) edgy; urgency=low -+ -+ * Oops, rename /sbin/init to /sbin/upstart as documented. Lost this -+ while battling bzr. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 24 Aug 2006 16:30:54 +0200 -+ -+upstart (0.1.0-1) edgy; urgency=low -+ -+ * Initial release. -+ -+ -- Scott James Remnant scott@ubuntu.com Thu, 24 Aug 2006 14:27:47 +0200 ---- upstart-0.6.6.orig/debian/upstart.install -+++ upstart-0.6.6/debian/upstart.install -@@ -0,0 +1,3 @@ -+debian/conf/*.conf etc/init/ -+debian/upstart-job lib/init/ -+debian/migrate-inittab.pl usr/lib/upstart/ ---- upstart-0.6.6.orig/debian/source/format -+++ upstart-0.6.6/debian/source/format -@@ -0,0 +1 @@ -+1.0 ---- upstart-0.6.6.orig/debian/conf/rcS.conf -+++ upstart-0.6.6/debian/conf/rcS.conf -@@ -0,0 +1,32 @@ -+# rcS - System V single-user mode compatibility -+# -+# This task handles the old System V-style single-user mode, this is -+# distinct from the other runlevels since running the rc script would -+# be bad. -+ -+description "System V single-user mode compatibility" -+author "Scott James Remnant scott@netsplit.com" -+ -+start on runlevel S -+stop on runlevel [!S] -+ -+console owner -+script -+ if [ -x /usr/share/recovery-mode/recovery-menu ]; then -+ exec /usr/share/recovery-mode/recovery-menu -+ else -+ exec /sbin/sulogin -+ fi -+end script -+ -+post-stop script -+ # Don't switch runlevels if we were stopped by an event, since that -+ # means we're already switching runlevels -+ if [ -n "${UPSTART_STOP_EVENTS}" ] -+ then -+ exit 0 -+ fi -+ -+ # Switch, passing a magic flag -+ start --no-wait rc-sysinit FROM_SINGLE_USER_MODE=y -+end script ---- upstart-0.6.6.orig/debian/conf/tty5.conf -+++ upstart-0.6.6/debian/conf/tty5.conf -@@ -0,0 +1,10 @@ -+# tty5 - getty -+# -+# This service maintains a getty on tty5 from the point the system is -+# started until it is shut down again. -+ -+start on runlevel [23] -+stop on runlevel [!23] -+ -+respawn -+exec /sbin/getty -8 38400 tty5 ---- upstart-0.6.6.orig/debian/conf/tty3.conf -+++ upstart-0.6.6/debian/conf/tty3.conf -@@ -0,0 +1,10 @@ -+# tty3 - getty -+# -+# This service maintains a getty on tty3 from the point the system is -+# started until it is shut down again. -+ -+start on runlevel [23] -+stop on runlevel [!23] -+ -+respawn -+exec /sbin/getty -8 38400 tty3 ---- upstart-0.6.6.orig/debian/conf/tty2.conf -+++ upstart-0.6.6/debian/conf/tty2.conf -@@ -0,0 +1,10 @@ -+# tty2 - getty -+# -+# This service maintains a getty on tty2 from the point the system is -+# started until it is shut down again. -+ -+start on runlevel [23] -+stop on runlevel [!23] -+ -+respawn -+exec /sbin/getty -8 38400 tty2 ---- upstart-0.6.6.orig/debian/conf/tty6.conf -+++ upstart-0.6.6/debian/conf/tty6.conf -@@ -0,0 +1,10 @@ -+# tty6 - getty -+# -+# This service maintains a getty on tty6 from the point the system is -+# started until it is shut down again. -+ -+start on runlevel [23] -+stop on runlevel [!23] -+ -+respawn -+exec /sbin/getty -8 38400 tty6 ---- upstart-0.6.6.orig/debian/conf/tty4.conf -+++ upstart-0.6.6/debian/conf/tty4.conf -@@ -0,0 +1,10 @@ -+# tty4 - getty -+# -+# This service maintains a getty on tty4 from the point the system is -+# started until it is shut down again. -+ -+start on runlevel [23] -+stop on runlevel [!23] -+ -+respawn -+exec /sbin/getty -8 38400 tty4 ---- upstart-0.6.6.orig/debian/conf/tty1.conf -+++ upstart-0.6.6/debian/conf/tty1.conf -@@ -0,0 +1,10 @@ -+# tty1 - getty -+# -+# This service maintains a getty on tty1 from the point the system is -+# started until it is shut down again. -+ -+start on stopped rc RUNLEVEL=[2345] -+stop on runlevel [!2345] -+ -+respawn -+exec /sbin/getty -8 38400 tty1 ---- upstart-0.6.6.orig/udev/Makefile.am -+++ upstart-0.6.6/udev/Makefile.am -@@ -0,0 +1,67 @@ -+## Process this file with automake to produce Makefile.in -+ -+AM_CFLAGS = \ -+ $(NIH_CFLAGS) \ -+ $(NIH_DBUS_CFLAGS) \ -+ $(DBUS_CFLAGS) \ -+ $(UDEV_CFLAGS) -+ -+AM_CPPFLAGS = \ -+ -DLOCALEDIR=""$(localedir)"" \ -+ -I$(top_builddir) -I$(top_srcdir) -iquote$(builddir) -iquote$(srcdir) \ -+ -I$(top_srcdir)/intl -+ -+ -+initdir = $(sysconfdir)/init -+dist_init_DATA = \ -+ conf/upstart-udev-bridge.conf -+ -+ -+dist_man_MANS = \ -+ man/upstart-udev-bridge.8 -+ -+ -+sbin_PROGRAMS = \ -+ upstart-udev-bridge -+ -+upstart_udev_bridge_SOURCES = \ -+ upstart-udev-bridge.c -+nodist_upstart_udev_bridge_SOURCES = \ -+ $(com_ubuntu_Upstart_OUTPUTS) -+upstart_udev_bridge_LDADD = \ -+ $(LTLIBINTL) \ -+ $(NIH_LIBS) \ -+ $(NIH_DBUS_LIBS) \ -+ $(DBUS_LIBS) \ -+ $(UDEV_LIBS) -+ -+ -+com_ubuntu_Upstart_OUTPUTS = \ -+ com.ubuntu.Upstart.c \ -+ com.ubuntu.Upstart.h -+ -+com_ubuntu_Upstart_XML = \ -+ ../dbus/com.ubuntu.Upstart.xml -+ -+$(com_ubuntu_Upstart_OUTPUTS): $(com_ubuntu_Upstart_XML) -+ $(AM_V_GEN)$(NIH_DBUS_TOOL) \ -+ --package=$(PACKAGE) \ -+ --mode=proxy --prefix=upstart \ -+ --default-interface=com.ubuntu.Upstart0_6 \ -+ --output=$@ $< -+ -+ -+# These have to be built sources because we can't compile object files -+# without the header file existing first -+BUILT_SOURCES = \ -+ $(com_ubuntu_Upstart_OUTPUTS) -+ -+CLEANFILES = \ -+ $(com_ubuntu_Upstart_OUTPUTS) -+ -+ -+clean-local: -+ rm -f *.gcno *.gcda -+ -+maintainer-clean-local: -+ rm -f *.gcov ---- upstart-0.6.6.orig/udev/upstart-udev-bridge.c -+++ upstart-0.6.6/udev/upstart-udev-bridge.c -@@ -0,0 +1,310 @@ -+/* upstart -+ * -+ * Copyright © 2009 Canonical Ltd. -+ * Author: Scott James Remnant scott@netsplit.com. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License version 2, as -+ * published by the Free Software Foundation. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License along -+ * with this program; if not, write to the Free Software Foundation, Inc., -+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -+ */ -+ -+#ifdef HAVE_CONFIG_H -+# include <config.h> -+#endif /* HAVE_CONFIG_H */ -+ -+ -+#include <libudev.h> -+ -+#include <stdlib.h> -+#include <string.h> -+#include <syslog.h> -+ -+#include <nih/macros.h> -+#include <nih/alloc.h> -+#include <nih/string.h> -+#include <nih/io.h> -+#include <nih/option.h> -+#include <nih/main.h> -+#include <nih/logging.h> -+#include <nih/error.h> -+ -+#include <nih-dbus/dbus_connection.h> -+#include <nih-dbus/dbus_proxy.h> -+ -+#include "dbus/upstart.h" -+#include "com.ubuntu.Upstart.h" -+ -+ -+/* Prototypes for static functions */ -+static void udev_monitor_watcher (struct udev_monitor *udev_monitor, -+ NihIoWatch *watch, NihIoEvents events); -+static void upstart_disconnected (DBusConnection *connection); -+static void emit_event_error (void *data, NihDBusMessage *message); -+ -+ -+/** -+ * daemonise: -+ * -+ * Set to TRUE if we should become a daemon, rather than just running -+ * in the foreground. -+ **/ -+static int daemonise = FALSE; -+ -+/** -+ * upstart: -+ * -+ * Proxy to Upstart daemon. -+ **/ -+static NihDBusProxy *upstart = NULL; -+ -+ -+/** -+ * options: -+ * -+ * Command-line options accepted by this program. -+ **/ -+static NihOption options[] = { -+ { 0, "daemon", N_("Detach and run in the background"), -+ NULL, NULL, &daemonise, NULL }, -+ -+ NIH_OPTION_LAST -+}; -+ -+ -+int -+main (int argc, -+ char *argv[]) -+{ -+ char ** args; -+ DBusConnection * connection; -+ struct udev * udev; -+ struct udev_monitor *udev_monitor; -+ int ret; -+ -+ nih_main_init (argv[0]); -+ -+ nih_option_set_synopsis (_("Bridge udev events into upstart")); -+ nih_option_set_help ( -+ _("By default, upstart-udev-bridge does not detach from the " -+ "console and remains in the foreground. Use the --daemon " -+ "option to have it detach.")); -+ -+ args = nih_option_parser (NULL, argc, argv, options, FALSE); -+ if (! args) -+ exit (1); -+ -+ /* Initialise the connection to Upstart */ -+ connection = NIH_SHOULD (nih_dbus_connect (DBUS_ADDRESS_UPSTART, upstart_disconnected)); -+ if (! connection) { -+ NihError *err; -+ -+ err = nih_error_get (); -+ nih_fatal ("%s: %s", _("Could not connect to Upstart"), -+ err->message); -+ nih_free (err); -+ -+ exit (1); -+ } -+ -+ upstart = NIH_SHOULD (nih_dbus_proxy_new (NULL, connection, -+ NULL, DBUS_PATH_UPSTART, -+ NULL, NULL)); -+ if (! upstart) { -+ NihError *err; -+ -+ err = nih_error_get (); -+ nih_fatal ("%s: %s", _("Could not create Upstart proxy"), -+ err->message); -+ nih_free (err); -+ -+ exit (1); -+ } -+ -+ /* Initialise the connection to udev */ -+ nih_assert (udev = udev_new ()); -+ nih_assert (udev_monitor = udev_monitor_new_from_netlink (udev, "udev")); -+ nih_assert (udev_monitor_enable_receiving (udev_monitor) == 0); -+ udev_monitor_set_receive_buffer_size(udev_monitor, 128*1024*1024); -+ -+ NIH_MUST (nih_io_add_watch (NULL, udev_monitor_get_fd (udev_monitor), -+ NIH_IO_READ, -+ (NihIoWatcher)udev_monitor_watcher, -+ udev_monitor)); -+ -+ /* Become daemon */ -+ if (daemonise) { -+ if (nih_main_daemonise () < 0) { -+ NihError *err; -+ -+ err = nih_error_get (); -+ nih_fatal ("%s: %s", _("Unable to become daemon"), -+ err->message); -+ nih_free (err); -+ -+ exit (1); -+ } -+ -+ /* Send all logging output to syslog */ -+ openlog (program_name, LOG_PID, LOG_DAEMON); -+ nih_log_set_logger (nih_logger_syslog); -+ } -+ -+ /* Handle TERM and INT signals gracefully */ -+ nih_signal_set_handler (SIGTERM, nih_signal_handler); -+ NIH_MUST (nih_signal_add_handler (NULL, SIGTERM, nih_main_term_signal, NULL)); -+ -+ if (! daemonise) { -+ nih_signal_set_handler (SIGINT, nih_signal_handler); -+ NIH_MUST (nih_signal_add_handler (NULL, SIGINT, nih_main_term_signal, NULL)); -+ } -+ -+ ret = nih_main_loop (); -+ -+ return ret; -+} -+ -+ -+static void -+udev_monitor_watcher (struct udev_monitor *udev_monitor, -+ NihIoWatch * watch, -+ NihIoEvents events) -+{ -+ struct udev_device * udev_device; -+ const char * subsystem; -+ const char * action; -+ const char * kernel; -+ const char * devpath; -+ const char * devname; -+ nih_local char * name = NULL; -+ nih_local char ** env = NULL; -+ size_t env_len = 0; -+ DBusPendingCall * pending_call; -+ -+ udev_device = udev_monitor_receive_device (udev_monitor); -+ if (! udev_device) -+ return; -+ -+ subsystem = udev_device_get_subsystem (udev_device); -+ action = udev_device_get_action (udev_device); -+ kernel = udev_device_get_sysname (udev_device); -+ devpath = udev_device_get_devpath (udev_device); -+ devname = udev_device_get_devnode (udev_device); -+ -+ if (! strcmp (action, "add")) { -+ name = NIH_MUST (nih_sprintf (NULL, "%s-device-added", -+ subsystem)); -+ } else if (! strcmp (action, "change")) { -+ name = NIH_MUST (nih_sprintf (NULL, "%s-device-changed", -+ subsystem)); -+ } else if (! strcmp (action, "remove")) { -+ name = NIH_MUST (nih_sprintf (NULL, "%s-device-removed", -+ subsystem)); -+ } else { -+ name = NIH_MUST (nih_sprintf (NULL, "%s-device-%s", -+ subsystem, action)); -+ } -+ -+ env = NIH_MUST (nih_str_array_new (NULL)); -+ -+ if (kernel) { -+ nih_local char *var = NULL; -+ -+ var = NIH_MUST (nih_sprintf (NULL, "KERNEL=%s", kernel)); -+ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); -+ } -+ -+ if (devpath) { -+ nih_local char *var = NULL; -+ -+ var = NIH_MUST (nih_sprintf (NULL, "DEVPATH=%s", devpath)); -+ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); -+ } -+ -+ if (devname) { -+ nih_local char *var = NULL; -+ -+ var = NIH_MUST (nih_sprintf (NULL, "DEVNAME=%s", devname)); -+ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); -+ } -+ -+ if (subsystem) { -+ nih_local char *var = NULL; -+ -+ var = NIH_MUST (nih_sprintf (NULL, "SUBSYSTEM=%s", subsystem)); -+ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); -+ } -+ -+ if (action) { -+ nih_local char *var = NULL; -+ -+ var = NIH_MUST (nih_sprintf (NULL, "ACTION=%s", action)); -+ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); -+ } -+ -+ for (struct udev_list_entry *list_entry = udev_device_get_properties_list_entry (udev_device); -+ list_entry != NULL; -+ list_entry = udev_list_entry_get_next (list_entry)) { -+ const char * key; -+ nih_local char *var = NULL; -+ -+ key = udev_list_entry_get_name (list_entry); -+ if (! strcmp (key, "DEVPATH")) -+ continue; -+ if (! strcmp (key, "DEVNAME")) -+ continue; -+ if (! strcmp (key, "SUBSYSTEM")) -+ continue; -+ if (! strcmp (key, "ACTION")) -+ continue; -+ -+ var = NIH_MUST (nih_sprintf (NULL, "%s=%s", key, -+ udev_list_entry_get_value (list_entry))); -+ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); -+ } -+ -+ nih_debug ("%s %s", name, devname); -+ -+ pending_call = NIH_SHOULD (upstart_emit_event (upstart, -+ name, env, FALSE, -+ NULL, emit_event_error, NULL, -+ NIH_DBUS_TIMEOUT_NEVER)); -+ if (! pending_call) { -+ NihError *err; -+ -+ err = nih_error_get (); -+ nih_warn ("%s", err->message); -+ nih_free (err); -+ } -+ -+ dbus_pending_call_unref (pending_call); -+ -+ udev_device_unref (udev_device); -+} -+ -+ -+static void -+upstart_disconnected (DBusConnection *connection) -+{ -+ nih_fatal (_("Disconnected from Upstart")); -+ nih_main_loop_exit (1); -+} -+ -+static void -+emit_event_error (void * data, -+ NihDBusMessage *message) -+{ -+ NihError *err; -+ -+ err = nih_error_get (); -+ nih_warn ("%s", err->message); -+ nih_free (err); -+} ---- upstart-0.6.6.orig/udev/Makefile.in -+++ upstart-0.6.6/udev/Makefile.in -@@ -0,0 +1,777 @@ -+# Makefile.in generated by automake 1.11.1 from Makefile.am. -+# @configure_input@ -+ -+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -+# Inc. -+# This Makefile.in is free software; the Free Software Foundation -+# gives unlimited permission to copy and/or distribute it, -+# with or without modifications, as long as this notice is preserved. -+ -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -+# PARTICULAR PURPOSE. -+ -+@SET_MAKE@ -+ -+ -+VPATH = @srcdir@ -+pkgdatadir = $(datadir)/@PACKAGE@ -+pkgincludedir = $(includedir)/@PACKAGE@ -+pkglibdir = $(libdir)/@PACKAGE@ -+pkglibexecdir = $(libexecdir)/@PACKAGE@ -+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -+install_sh_DATA = $(install_sh) -c -m 644 -+install_sh_PROGRAM = $(install_sh) -c -+install_sh_SCRIPT = $(install_sh) -c -+INSTALL_HEADER = $(INSTALL_DATA) -+transform = $(program_transform_name) -+NORMAL_INSTALL = : -+PRE_INSTALL = : -+POST_INSTALL = : -+NORMAL_UNINSTALL = : -+PRE_UNINSTALL = : -+POST_UNINSTALL = : -+build_triplet = @build@ -+host_triplet = @host@ -+sbin_PROGRAMS = upstart-udev-bridge$(EXEEXT) -+subdir = udev -+DIST_COMMON = $(dist_init_DATA) $(dist_man_MANS) $(srcdir)/Makefile.am \ -+ $(srcdir)/Makefile.in -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ -+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ -+ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ -+ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ -+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax.m4 \ -+ $(top_srcdir)/m4/inttypes-pri.m4 \ -+ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ -+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ -+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libnih.m4 \ -+ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ -+ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ -+ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ -+ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ -+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ -+ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ -+ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ -+ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/visibility.m4 \ -+ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ -+ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ -+ $(ACLOCAL_M4) -+mkinstalldirs = $(install_sh) -d -+CONFIG_HEADER = $(top_builddir)/config.h -+CONFIG_CLEAN_FILES = -+CONFIG_CLEAN_VPATH_FILES = -+am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" \ -+ "$(DESTDIR)$(initdir)" -+PROGRAMS = $(sbin_PROGRAMS) -+am_upstart_udev_bridge_OBJECTS = upstart-udev-bridge.$(OBJEXT) -+am__objects_1 = com.ubuntu.Upstart.$(OBJEXT) -+nodist_upstart_udev_bridge_OBJECTS = $(am__objects_1) -+upstart_udev_bridge_OBJECTS = $(am_upstart_udev_bridge_OBJECTS) \ -+ $(nodist_upstart_udev_bridge_OBJECTS) -+am__DEPENDENCIES_1 = -+upstart_udev_bridge_DEPENDENCIES = $(am__DEPENDENCIES_1) \ -+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ -+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -+AM_V_lt = $(am__v_lt_$(V)) -+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -+am__v_lt_0 = --silent -+DEFAULT_INCLUDES = -+depcomp = $(SHELL) $(top_srcdir)/depcomp -+am__depfiles_maybe = depfiles -+am__mv = mv -f -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ -+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ -+ $(AM_CFLAGS) $(CFLAGS) -+AM_V_CC = $(am__v_CC_$(V)) -+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -+am__v_CC_0 = @echo " CC " $@; -+AM_V_at = $(am__v_at_$(V)) -+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -+am__v_at_0 = @ -+CCLD = $(CC) -+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ -+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ -+ $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+AM_V_CCLD = $(am__v_CCLD_$(V)) -+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -+am__v_CCLD_0 = @echo " CCLD " $@; -+AM_V_GEN = $(am__v_GEN_$(V)) -+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -+am__v_GEN_0 = @echo " GEN " $@; -+SOURCES = $(upstart_udev_bridge_SOURCES) \ -+ $(nodist_upstart_udev_bridge_SOURCES) -+DIST_SOURCES = $(upstart_udev_bridge_SOURCES) -+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -+am__vpath_adj = case $$p in \ -+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ -+ *) f=$$p;; \ -+ esac; -+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -+am__install_max = 40 -+am__nobase_strip_setup = \ -+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\*|]/\\&/g'` -+am__nobase_strip = \ -+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -+am__nobase_list = $(am__nobase_strip_setup); \ -+ for p in $$list; do echo "$$p $$p"; done | \ -+ sed "s| $$srcdirstrip/| |;"' / .*//!s/ .*/ ./; s,( .*)/[^/]*$$,\1,' | \ -+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ -+ if (++n[$$2] == $(am__install_max)) \ -+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ -+ END { for (dir in files) print dir, files[dir] }' -+am__base_list = \ -+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ -+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -+man8dir = $(mandir)/man8 -+NROFF = nroff -+MANS = $(dist_man_MANS) -+DATA = $(dist_init_DATA) -+ETAGS = etags -+CTAGS = ctags -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -+ACLOCAL = @ACLOCAL@ -+ALLOCA = @ALLOCA@ -+AMTAR = @AMTAR@ -+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -+AR = @AR@ -+AUTOCONF = @AUTOCONF@ -+AUTOHEADER = @AUTOHEADER@ -+AUTOMAKE = @AUTOMAKE@ -+AWK = @AWK@ -+BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ -+CATOBJEXT = @CATOBJEXT@ -+CC = @CC@ -+CCDEPMODE = @CCDEPMODE@ -+CFLAGS = @CFLAGS@ -+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -+CPP = @CPP@ -+CPPFLAGS = @CPPFLAGS@ -+CYGPATH_W = @CYGPATH_W@ -+DATADIRNAME = @DATADIRNAME@ -+DBUS_CFLAGS = @DBUS_CFLAGS@ -+DBUS_LIBS = @DBUS_LIBS@ -+DEFS = @DEFS@ -+DEPDIR = @DEPDIR@ -+DSYMUTIL = @DSYMUTIL@ -+DUMPBIN = @DUMPBIN@ -+ECHO_C = @ECHO_C@ -+ECHO_N = @ECHO_N@ -+ECHO_T = @ECHO_T@ -+EGREP = @EGREP@ -+EXEEXT = @EXEEXT@ -+FGREP = @FGREP@ -+GENCAT = @GENCAT@ -+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -+GLIBC2 = @GLIBC2@ -+GLIBC21 = @GLIBC21@ -+GMSGFMT = @GMSGFMT@ -+GMSGFMT_015 = @GMSGFMT_015@ -+GREP = @GREP@ -+HAVE_ASPRINTF = @HAVE_ASPRINTF@ -+HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ -+HAVE_SNPRINTF = @HAVE_SNPRINTF@ -+HAVE_VISIBILITY = @HAVE_VISIBILITY@ -+HAVE_WPRINTF = @HAVE_WPRINTF@ -+INSTALL = @INSTALL@ -+INSTALL_DATA = @INSTALL_DATA@ -+INSTALL_PROGRAM = @INSTALL_PROGRAM@ -+INSTALL_SCRIPT = @INSTALL_SCRIPT@ -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -+INSTOBJEXT = @INSTOBJEXT@ -+INTLBISON = @INTLBISON@ -+INTLLIBS = @INTLLIBS@ -+INTLOBJS = @INTLOBJS@ -+INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ -+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -+LD = @LD@ -+LDFLAGS = @LDFLAGS@ -+LIBICONV = @LIBICONV@ -+LIBINTL = @LIBINTL@ -+LIBMULTITHREAD = @LIBMULTITHREAD@ -+LIBOBJS = @LIBOBJS@ -+LIBPTH = @LIBPTH@ -+LIBPTH_PREFIX = @LIBPTH_PREFIX@ -+LIBS = @LIBS@ -+LIBTHREAD = @LIBTHREAD@ -+LIBTOOL = @LIBTOOL@ -+LIPO = @LIPO@ -+LN_S = @LN_S@ -+LTLIBC = @LTLIBC@ -+LTLIBICONV = @LTLIBICONV@ -+LTLIBINTL = @LTLIBINTL@ -+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ -+LTLIBOBJS = @LTLIBOBJS@ -+LTLIBPTH = @LTLIBPTH@ -+LTLIBTHREAD = @LTLIBTHREAD@ -+MAINT = @MAINT@ -+MAKEINFO = @MAKEINFO@ -+MKDIR_P = @MKDIR_P@ -+MSGFMT = @MSGFMT@ -+MSGFMT_015 = @MSGFMT_015@ -+MSGMERGE = @MSGMERGE@ -+NIH_CFLAGS = @NIH_CFLAGS@ -+NIH_DBUS_CFLAGS = @NIH_DBUS_CFLAGS@ -+NIH_DBUS_LIBS = @NIH_DBUS_LIBS@ -+NIH_DBUS_TOOL = @NIH_DBUS_TOOL@ -+NIH_LIBS = @NIH_LIBS@ -+NM = @NM@ -+NMEDIT = @NMEDIT@ -+OBJDUMP = @OBJDUMP@ -+OBJEXT = @OBJEXT@ -+OTOOL = @OTOOL@ -+OTOOL64 = @OTOOL64@ -+PACKAGE = @PACKAGE@ -+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -+PACKAGE_COPYRIGHT = @PACKAGE_COPYRIGHT@ -+PACKAGE_NAME = @PACKAGE_NAME@ -+PACKAGE_STRING = @PACKAGE_STRING@ -+PACKAGE_TARNAME = @PACKAGE_TARNAME@ -+PACKAGE_URL = @PACKAGE_URL@ -+PACKAGE_VERSION = @PACKAGE_VERSION@ -+PATH_SEPARATOR = @PATH_SEPARATOR@ -+PKG_CONFIG = @PKG_CONFIG@ -+POSUB = @POSUB@ -+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ -+RANLIB = @RANLIB@ -+SED = @SED@ -+SET_MAKE = @SET_MAKE@ -+SHELL = @SHELL@ -+STRIP = @STRIP@ -+UDEV_CFLAGS = @UDEV_CFLAGS@ -+UDEV_LIBS = @UDEV_LIBS@ -+USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ -+USE_NLS = @USE_NLS@ -+VERSION = @VERSION@ -+WINDRES = @WINDRES@ -+WOE32 = @WOE32@ -+WOE32DLL = @WOE32DLL@ -+XGETTEXT = @XGETTEXT@ -+XGETTEXT_015 = @XGETTEXT_015@ -+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -+abs_builddir = @abs_builddir@ -+abs_srcdir = @abs_srcdir@ -+abs_top_builddir = @abs_top_builddir@ -+abs_top_srcdir = @abs_top_srcdir@ -+ac_ct_CC = @ac_ct_CC@ -+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -+am__include = @am__include@ -+am__leading_dot = @am__leading_dot@ -+am__quote = @am__quote@ -+am__tar = @am__tar@ -+am__untar = @am__untar@ -+bindir = @bindir@ -+build = @build@ -+build_alias = @build_alias@ -+build_cpu = @build_cpu@ -+build_os = @build_os@ -+build_vendor = @build_vendor@ -+builddir = @builddir@ -+datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ -+exec_prefix = @exec_prefix@ -+host = @host@ -+host_alias = @host_alias@ -+host_cpu = @host_cpu@ -+host_os = @host_os@ -+host_vendor = @host_vendor@ -+htmldir = @htmldir@ -+includedir = @includedir@ -+infodir = @infodir@ -+install_sh = @install_sh@ -+libdir = @libdir@ -+libexecdir = @libexecdir@ -+localedir = @localedir@ -+localstatedir = @localstatedir@ -+lt_ECHO = @lt_ECHO@ -+mandir = @mandir@ -+mkdir_p = @mkdir_p@ -+oldincludedir = @oldincludedir@ -+pdfdir = @pdfdir@ -+prefix = @prefix@ -+program_transform_name = @program_transform_name@ -+psdir = @psdir@ -+sbindir = @sbindir@ -+sharedstatedir = @sharedstatedir@ -+srcdir = @srcdir@ -+sysconfdir = @sysconfdir@ -+target_alias = @target_alias@ -+top_build_prefix = @top_build_prefix@ -+top_builddir = @top_builddir@ -+top_srcdir = @top_srcdir@ -+AM_CFLAGS = \ -+ $(NIH_CFLAGS) \ -+ $(NIH_DBUS_CFLAGS) \ -+ $(DBUS_CFLAGS) \ -+ $(UDEV_CFLAGS) -+ -+AM_CPPFLAGS = \ -+ -DLOCALEDIR=""$(localedir)"" \ -+ -I$(top_builddir) -I$(top_srcdir) -iquote$(builddir) -iquote$(srcdir) \ -+ -I$(top_srcdir)/intl -+ -+initdir = $(sysconfdir)/init -+dist_init_DATA = \ -+ conf/upstart-udev-bridge.conf -+ -+dist_man_MANS = \ -+ man/upstart-udev-bridge.8 -+ -+upstart_udev_bridge_SOURCES = \ -+ upstart-udev-bridge.c -+ -+nodist_upstart_udev_bridge_SOURCES = \ -+ $(com_ubuntu_Upstart_OUTPUTS) -+ -+upstart_udev_bridge_LDADD = \ -+ $(LTLIBINTL) \ -+ $(NIH_LIBS) \ -+ $(NIH_DBUS_LIBS) \ -+ $(DBUS_LIBS) \ -+ $(UDEV_LIBS) -+ -+com_ubuntu_Upstart_OUTPUTS = \ -+ com.ubuntu.Upstart.c \ -+ com.ubuntu.Upstart.h -+ -+com_ubuntu_Upstart_XML = \ -+ ../dbus/com.ubuntu.Upstart.xml -+ -+ -+# These have to be built sources because we can't compile object files -+# without the header file existing first -+BUILT_SOURCES = \ -+ $(com_ubuntu_Upstart_OUTPUTS) -+ -+CLEANFILES = \ -+ $(com_ubuntu_Upstart_OUTPUTS) -+ -+all: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) all-am -+ -+.SUFFIXES: -+.SUFFIXES: .c .lo .o .obj -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -+ @for dep in $?; do \ -+ case '$(am__configure_deps)' in \ -+ *$$dep*) \ -+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ -+ && { if test -f $@; then exit 0; else break; fi; }; \ -+ exit 1;; \ -+ esac; \ -+ done; \ -+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu udev/Makefile'; \ -+ $(am__cd) $(top_srcdir) && \ -+ $(AUTOMAKE) --gnu udev/Makefile -+.PRECIOUS: Makefile -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -+ @case '$?' in \ -+ *config.status*) \ -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ -+ *) \ -+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ -+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ -+ esac; -+ -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+ -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) -+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -+$(am__aclocal_m4_deps): -+install-sbinPROGRAMS: $(sbin_PROGRAMS) -+ @$(NORMAL_INSTALL) -+ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" -+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ -+ for p in $$list; do echo "$$p $$p"; done | \ -+ sed 's/$(EXEEXT)$$//' | \ -+ while read p p1; do if test -f $$p || test -f $$p1; \ -+ then echo "$$p"; echo "$$p"; else :; fi; \ -+ done | \ -+ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ -+ sed 'N;N;N;s,\n, ,g' | \ -+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ -+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ -+ if ($$2 == $$4) files[d] = files[d] " " $$1; \ -+ else { print "f", $$3 "/" $$4, $$1; } } \ -+ END { for (d in files) print "f", d, files[d] }' | \ -+ while read type dir files; do \ -+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ -+ test -z "$$files" || { \ -+ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ -+ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ -+ } \ -+ ; done -+ -+uninstall-sbinPROGRAMS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ -+ files=`for p in $$list; do echo "$$p"; done | \ -+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -+ -e 's/$$/$(EXEEXT)/' `; \ -+ test -n "$$list" || exit 0; \ -+ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ -+ cd "$(DESTDIR)$(sbindir)" && rm -f $$files -+ -+clean-sbinPROGRAMS: -+ @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \ -+ echo " rm -f" $$list; \ -+ rm -f $$list || exit $$?; \ -+ test -n "$(EXEEXT)" || exit 0; \ -+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ -+ echo " rm -f" $$list; \ -+ rm -f $$list -+upstart-udev-bridge$(EXEEXT): $(upstart_udev_bridge_OBJECTS) $(upstart_udev_bridge_DEPENDENCIES) -+ @rm -f upstart-udev-bridge$(EXEEXT) -+ $(AM_V_CCLD)$(LINK) $(upstart_udev_bridge_OBJECTS) $(upstart_udev_bridge_LDADD) $(LIBS) -+ -+mostlyclean-compile: -+ -rm -f *.$(OBJEXT) -+ -+distclean-compile: -+ -rm -f *.tab.c -+ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/com.ubuntu.Upstart.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upstart-udev-bridge.Po@am__quote@ -+ -+.c.o: -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(COMPILE) -c $< -+ -+.c.obj: -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` -+ -+.c.lo: -+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< -+ -+mostlyclean-libtool: -+ -rm -f *.lo -+ -+clean-libtool: -+ -rm -rf .libs _libs -+install-man8: $(dist_man_MANS) -+ @$(NORMAL_INSTALL) -+ test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)" -+ @list=''; test -n "$(man8dir)" || exit 0; \ -+ { for i in $$list; do echo "$$i"; done; \ -+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ -+ sed -n '/.8[a-z]*$$/p'; \ -+ } | while read p; do \ -+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ -+ echo "$$d$$p"; echo "$$p"; \ -+ done | \ -+ sed -e 'n;s,.*/,,;p;h;s,.*.,,;s,^[^8][0-9a-z]*$$,8,;x' \ -+ -e 's,.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ -+ sed 'N;N;s,\n, ,g' | { \ -+ list=; while read file base inst; do \ -+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ -+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ -+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ -+ fi; \ -+ done; \ -+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ -+ while read files; do \ -+ test -z "$$files" || { \ -+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ -+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ -+ done; } -+ -+uninstall-man8: -+ @$(NORMAL_UNINSTALL) -+ @list=''; test -n "$(man8dir)" || exit 0; \ -+ files=`{ for i in $$list; do echo "$$i"; done; \ -+ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ -+ sed -n '/.8[a-z]*$$/p'; \ -+ } | sed -e 's,.*/,,;h;s,.*.,,;s,^[^8][0-9a-z]*$$,8,;x' \ -+ -e 's,.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ -+ test -z "$$files" || { \ -+ echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \ -+ cd "$(DESTDIR)$(man8dir)" && rm -f $$files; } -+install-dist_initDATA: $(dist_init_DATA) -+ @$(NORMAL_INSTALL) -+ test -z "$(initdir)" || $(MKDIR_P) "$(DESTDIR)$(initdir)" -+ @list='$(dist_init_DATA)'; test -n "$(initdir)" || list=; \ -+ for p in $$list; do \ -+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -+ echo "$$d$$p"; \ -+ done | $(am__base_list) | \ -+ while read files; do \ -+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(initdir)'"; \ -+ $(INSTALL_DATA) $$files "$(DESTDIR)$(initdir)" || exit $$?; \ -+ done -+ -+uninstall-dist_initDATA: -+ @$(NORMAL_UNINSTALL) -+ @list='$(dist_init_DATA)'; test -n "$(initdir)" || list=; \ -+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ -+ test -n "$$files" || exit 0; \ -+ echo " ( cd '$(DESTDIR)$(initdir)' && rm -f" $$files ")"; \ -+ cd "$(DESTDIR)$(initdir)" && rm -f $$files -+ -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ mkid -fID $$unique -+tags: TAGS -+ -+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ set x; \ -+ here=`pwd`; \ -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ shift; \ -+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ -+ test -n "$$unique" || unique=$$empty_fix; \ -+ if test $$# -gt 0; then \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ "$$@" $$unique; \ -+ else \ -+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ -+ $$unique; \ -+ fi; \ -+ fi -+ctags: CTAGS -+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ -+ $(TAGS_FILES) $(LISP) -+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ -+ unique=`for i in $$list; do \ -+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ -+ done | \ -+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ -+ END { if (nonempty) { for (i in files) print i; }; }'`; \ -+ test -z "$(CTAGS_ARGS)$$unique" \ -+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ -+ $$unique -+ -+GTAGS: -+ here=`$(am__cd) $(top_builddir) && pwd` \ -+ && $(am__cd) $(top_srcdir) \ -+ && gtags -i $(GTAGS_ARGS) "$$here" -+ -+distclean-tags: -+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -+ -+distdir: $(DISTFILES) -+ @list='$(MANS)'; if test -n "$$list"; then \ -+ list=`for p in $$list; do \ -+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ -+ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ -+ if test -n "$$list" && \ -+ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ -+ echo "error: found man pages containing the `missing help2man' replacement text:" >&2; \ -+ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ -+ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ -+ echo " typically `make maintainer-clean' will remove them" >&2; \ -+ exit 1; \ -+ else :; fi; \ -+ else :; fi -+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\*]/\\&/g'`; \ -+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\*]/\\&/g'`; \ -+ list='$(DISTFILES)'; \ -+ dist_files=`for file in $$list; do echo $$file; done | \ -+ sed -e "s|^$$srcdirstrip/||;t" \ -+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ -+ case $$dist_files in \ -+ */*) $(MKDIR_P) `echo "$$dist_files" | \ -+ sed '///!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ -+ sort -u` ;; \ -+ esac; \ -+ for file in $$dist_files; do \ -+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ -+ if test -d $$d/$$file; then \ -+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ -+ if test -d "$(distdir)/$$file"; then \ -+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} ;; \ -+ fi; \ -+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ -+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ -+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} ;; \ -+ fi; \ -+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ -+ else \ -+ test -f "$(distdir)/$$file" \ -+ || cp -p $$d/$$file "$(distdir)/$$file" \ -+ || exit 1; \ -+ fi; \ -+ done -+check-am: all-am -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-am -+all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) -+installdirs: -+ for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(initdir)"; do \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ -+ done -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-am -+install-exec: install-exec-am -+install-data: install-data-am -+uninstall: uninstall-am -+ -+install-am: all-am -+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am -+ -+installcheck: installcheck-am -+install-strip: -+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ -+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ -+ `test -z '$(STRIP)' || \ -+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install -+mostlyclean-generic: -+ -+clean-generic: -+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) -+ -+distclean-generic: -+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -+ -+maintainer-clean-generic: -+ @echo "This command is intended for maintainers to use" -+ @echo "it deletes files that may require special tools to rebuild." -+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -+clean: clean-am -+ -+clean-am: clean-generic clean-libtool clean-local clean-sbinPROGRAMS \ -+ mostlyclean-am -+ -+distclean: distclean-am -+ -rm -rf ./$(DEPDIR) -+ -rm -f Makefile -+distclean-am: clean-am distclean-compile distclean-generic \ -+ distclean-tags -+ -+dvi: dvi-am -+ -+dvi-am: -+ -+html: html-am -+ -+html-am: -+ -+info: info-am -+ -+info-am: -+ -+install-data-am: install-dist_initDATA install-man -+ -+install-dvi: install-dvi-am -+ -+install-dvi-am: -+ -+install-exec-am: install-sbinPROGRAMS -+ -+install-html: install-html-am -+ -+install-html-am: -+ -+install-info: install-info-am -+ -+install-info-am: -+ -+install-man: install-man8 -+ -+install-pdf: install-pdf-am -+ -+install-pdf-am: -+ -+install-ps: install-ps-am -+ -+install-ps-am: -+ -+installcheck-am: -+ -+maintainer-clean: maintainer-clean-am -+ -rm -rf ./$(DEPDIR) -+ -rm -f Makefile -+maintainer-clean-am: distclean-am maintainer-clean-generic \ -+ maintainer-clean-local -+ -+mostlyclean: mostlyclean-am -+ -+mostlyclean-am: mostlyclean-compile mostlyclean-generic \ -+ mostlyclean-libtool -+ -+pdf: pdf-am -+ -+pdf-am: -+ -+ps: ps-am -+ -+ps-am: -+ -+uninstall-am: uninstall-dist_initDATA uninstall-man \ -+ uninstall-sbinPROGRAMS -+ -+uninstall-man: uninstall-man8 -+ -+.MAKE: all check install install-am install-strip -+ -+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ -+ clean-libtool clean-local clean-sbinPROGRAMS ctags distclean \ -+ distclean-compile distclean-generic distclean-libtool \ -+ distclean-tags distdir dvi dvi-am html html-am info info-am \ -+ install install-am install-data install-data-am \ -+ install-dist_initDATA install-dvi install-dvi-am install-exec \ -+ install-exec-am install-html install-html-am install-info \ -+ install-info-am install-man install-man8 install-pdf \ -+ install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \ -+ install-strip installcheck installcheck-am installdirs \ -+ maintainer-clean maintainer-clean-generic \ -+ maintainer-clean-local mostlyclean mostlyclean-compile \ -+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ -+ tags uninstall uninstall-am uninstall-dist_initDATA \ -+ uninstall-man uninstall-man8 uninstall-sbinPROGRAMS -+ -+ -+$(com_ubuntu_Upstart_OUTPUTS): $(com_ubuntu_Upstart_XML) -+ $(AM_V_GEN)$(NIH_DBUS_TOOL) \ -+ --package=$(PACKAGE) \ -+ --mode=proxy --prefix=upstart \ -+ --default-interface=com.ubuntu.Upstart0_6 \ -+ --output=$@ $< -+ -+clean-local: -+ rm -f *.gcno *.gcda -+ -+maintainer-clean-local: -+ rm -f *.gcov -+ -+# Tell versions [3.59,3.63) of GNU make to not export all variables. -+# Otherwise a system limit (for SysV at least) may be exceeded. -+.NOEXPORT: ---- upstart-0.6.6.orig/udev/man/upstart-udev-bridge.8 -+++ upstart-0.6.6/udev/man/upstart-udev-bridge.8 -@@ -0,0 +1,35 @@ -+.TH upstart-udev-bridge 8 2009-09-07 upstart -+." -+.SH NAME -+upstart-udev-bridge - Bridge between Upstart and udev -+." -+.SH SYNOPSIS -+.B upstart-udev-bridge -+.RI [ OPTIONS ]... -+." -+.SH DESCRIPTION -+.B upstart-udev-bridge -+receives information about kernel uevents that -+.BR udev (8) -+has completed and creates -+.BR init (8) -+events for them. -+ -+This is a temporary tool until -+.BR init (8) -+itself gains the functionality to read them directly; you should not -+rely on its behaviour. -+." -+.SH AUTHOR -+Written by Scott James Remnant -+.RB < scott@netsplit.com > -+." -+.SH BUGS -+Report bugs at -+.RB < https://launchpad.net/ubuntu/+source/upstart/+bugs > -+." -+.SH COPYRIGHT -+Copyright (co 2009 Canonical Ltd. -+.PP -+This is free software; see the source for copying conditions. There is NO -+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ---- upstart-0.6.6.orig/udev/conf/upstart-udev-bridge.conf -+++ upstart-0.6.6/udev/conf/upstart-udev-bridge.conf -@@ -0,0 +1,14 @@ -+# upstart-udev-bridge - Bridge udev events into upstart -+# -+# This helper daemon receives udev events from the netlink socket and -+# emits equivalent Upstart events. -+ -+description "Bridge udev events into upstart" -+ -+start on starting udev -+stop on stopped udev -+ -+expect daemon -+respawn -+ -+exec upstart-udev-bridge --daemon ---- upstart-0.6.6.orig/conf/rc-sysinit.conf -+++ upstart-0.6.6/conf/rc-sysinit.conf -@@ -6,7 +6,7 @@ - description "System V initialisation compatibility" - author "Scott James Remnant scott@netsplit.com" - --start on startup -+start on filesystem and net-device-up IFACE=lo - stop on runlevel - - # Default runlevel, this may be overriden on the kernel command-line -@@ -21,9 +21,11 @@ - env RUNLEVEL= - env PREVLEVEL= - -+console output -+env INIT_VERBOSE -+ - task - --console owner - script - # Check for default runlevel in /etc/inittab - if [ -r /etc/inittab ] ---- upstart-0.6.6.orig/conf/rc.conf -+++ upstart-0.6.6/conf/rc.conf -@@ -12,7 +12,9 @@ - export RUNLEVEL - export PREVLEVEL - -+console output -+env INIT_VERBOSE -+ - task - --console output - exec /etc/init.d/rc $RUNLEVEL ---- upstart-0.6.6.orig/init/main.c -+++ upstart-0.6.6/init/main.c -@@ -31,6 +31,7 @@ - - #include <errno.h> - #include <stdio.h> -+#include <dirent.h> - #include <signal.h> - #include <stdlib.h> - #include <string.h> -@@ -167,12 +168,7 @@ - */ - setsid (); - -- /* Set the standard file descriptors to the ordinary console device, -- * resetting it to sane defaults unless we're inheriting from another -- * init process which we know left it in a sane state. -- */ -- if (system_setup_console (CONSOLE_OUTPUT, (! restart)) < 0) -- nih_free (nih_error_get ()); -+ /* Set the standard file descriptors. */ - if (system_setup_console (CONSOLE_NONE, FALSE) < 0) - nih_free (nih_error_get ()); - -@@ -323,7 +319,68 @@ - * init daemon that exec'd us - */ - if (! restart) { -+ DIR *piddir; -+ - NIH_MUST (event_new (NULL, STARTUP_EVENT, NULL)); -+ -+ /* Total hack, look for .pid files in /dev/.initramfs - -+ * if there's a job config for them pretend that we -+ * started it and it has that pid. -+ */ -+ piddir = opendir ("/dev/.initramfs"); -+ if (piddir) { -+ struct dirent *ent; -+ -+ while ((ent = readdir (piddir)) != NULL) { -+ char path[PATH_MAX]; -+ char * ptr; -+ FILE * pidfile; -+ pid_t pid; -+ JobClass *class; -+ Job * job; -+ -+ if (ent->d_name[0] == '.') -+ continue; -+ -+ strcpy (path, "/dev/.initramfs/"); -+ strcat (path, ent->d_name); -+ -+ ptr = strrchr (ent->d_name, '.'); -+ if ((! ptr) || strcmp (ptr, ".pid")) -+ continue; -+ -+ *ptr = '\0'; -+ pidfile = fopen (path, "r"); -+ if (! pidfile) -+ continue; -+ -+ pid = -1; -+ if (fscanf (pidfile, "%d", &pid)) -+ ; -+ fclose (pidfile); -+ -+ if ((pid < 0) -+ || (kill (pid, 0) < 0)) -+ continue; -+ -+ class = (JobClass *)nih_hash_lookup (job_classes, ent->d_name); -+ if (! class) -+ continue; -+ if (! class->process[PROCESS_MAIN]) -+ continue; -+ if (strlen (class->instance)) -+ continue; -+ -+ job = NIH_MUST (job_new (class, "")); -+ job->goal = JOB_START; -+ job->state = JOB_RUNNING; -+ job->pid[PROCESS_MAIN] = pid; -+ -+ nih_debug ("%s inherited from initramfs with pid %d", class->name, pid); -+ } -+ -+ closedir (piddir); -+ } - } else { - sigset_t mask; - diff --git a/pkgs/core/upstart/patches/upstart-0.6.7-upstream-1.patch b/pkgs/core/upstart/patches/upstart-0.6.7-upstream-1.patch new file mode 100644 index 0000000..728b039 --- /dev/null +++ b/pkgs/core/upstart/patches/upstart-0.6.7-upstream-1.patch @@ -0,0 +1,3360 @@ +--- upstart-0.6.7.orig/configure ++++ upstart-0.6.7/configure +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.67 for upstart 0.6.7. ++# Generated by GNU Autoconf 2.67 for upstart 0.6.6. + # + # Report bugs to upstart-devel@lists.ubuntu.com. + # +@@ -703,8 +703,8 @@ + # Identity of this package. + PACKAGE_NAME='upstart' + PACKAGE_TARNAME='upstart' +-PACKAGE_VERSION='0.6.7' +-PACKAGE_STRING='upstart 0.6.7' ++PACKAGE_VERSION='0.6.6' ++PACKAGE_STRING='upstart 0.6.6' + PACKAGE_BUGREPORT='upstart-devel@lists.ubuntu.com' + PACKAGE_URL='' + +@@ -751,6 +751,8 @@ + am__EXEEXT_TRUE + LTLIBOBJS + LIBOBJS ++UDEV_LIBS ++UDEV_CFLAGS + DBUS_LIBS + DBUS_CFLAGS + NIH_DBUS_LIBS +@@ -962,7 +964,9 @@ + NIH_DBUS_CFLAGS + NIH_DBUS_LIBS + DBUS_CFLAGS +-DBUS_LIBS' ++DBUS_LIBS ++UDEV_CFLAGS ++UDEV_LIBS' + + + # Initialize some variables set by options. +@@ -1505,7 +1509,7 @@ + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-`configure' configures upstart 0.6.7 to adapt to many kinds of systems. ++`configure' configures upstart 0.6.6 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1575,7 +1579,7 @@ + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of upstart 0.6.7:";; ++ short | recursive ) echo "Configuration of upstart 0.6.6:";; + esac + cat <<_ACEOF + +@@ -1648,6 +1652,8 @@ + linker flags for NIH_DBUS, overriding pkg-config + DBUS_CFLAGS C compiler flags for DBUS, overriding pkg-config + DBUS_LIBS linker flags for DBUS, overriding pkg-config ++ UDEV_CFLAGS C compiler flags for UDEV, overriding pkg-config ++ UDEV_LIBS linker flags for UDEV, overriding pkg-config + + Use these variables to override the choices made by `configure' or to help + it to find libraries and programs with nonstandard names/locations. +@@ -1715,7 +1721,7 @@ + test -n "$ac_init_help" && exit $ac_status + if $ac_init_version; then + cat <<_ACEOF +-upstart configure 0.6.7 ++upstart configure 0.6.6 + generated by GNU Autoconf 2.67 + + Copyright (C) 2010 Free Software Foundation, Inc. +@@ -2318,7 +2324,7 @@ + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by upstart $as_me 0.6.7, which was ++It was created by upstart $as_me 0.6.6, which was + generated by GNU Autoconf 2.67. Invocation command line was + + $ $0 $@ +@@ -4473,7 +4479,7 @@ + + # Define the identity of the package. + PACKAGE='upstart' +- VERSION='0.6.7' ++ VERSION='0.6.6' + + + cat >>confdefs.h <<_ACEOF +@@ -5227,13 +5233,13 @@ + else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext +- (eval echo ""$as_me:5230: $ac_compile"" >&5) ++ (eval echo ""$as_me:5236: $ac_compile"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 +- (eval echo ""$as_me:5233: $NM \"conftest.$ac_objext\""" >&5) ++ (eval echo ""$as_me:5239: $NM \"conftest.$ac_objext\""" >&5) + (eval "$NM "conftest.$ac_objext"" 2>conftest.err > conftest.out) + cat conftest.err >&5 +- (eval echo ""$as_me:5236: output"" >&5) ++ (eval echo ""$as_me:5242: output"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" +@@ -6438,7 +6444,7 @@ + ;; + *-*-irix6*) + # Find out which ABI we are using. +- echo '#line 6441 "configure"' > conftest.$ac_ext ++ echo '#line 6447 "configure"' > conftest.$ac_ext + if { { eval echo ""$as_me":${as_lineno-$LINENO}: "$ac_compile""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -7700,11 +7706,11 @@ + -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo ""$as_me:7703: $lt_compile"" >&5) ++ (eval echo ""$as_me:7709: $lt_compile"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:7707: $? = $ac_status" >&5 ++ echo "$as_me:7713: $? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -8039,11 +8045,11 @@ + -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo ""$as_me:8042: $lt_compile"" >&5) ++ (eval echo ""$as_me:8048: $lt_compile"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:8046: $? = $ac_status" >&5 ++ echo "$as_me:8052: $? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -8144,11 +8150,11 @@ + -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo ""$as_me:8147: $lt_compile"" >&5) ++ (eval echo ""$as_me:8153: $lt_compile"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:8151: $? = $ac_status" >&5 ++ echo "$as_me:8157: $? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -8199,11 +8205,11 @@ + -e 's:.*FLAGS}{0,1} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo ""$as_me:8202: $lt_compile"" >&5) ++ (eval echo ""$as_me:8208: $lt_compile"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:8206: $? = $ac_status" >&5 ++ echo "$as_me:8212: $? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -10583,7 +10589,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10586 "configure" ++#line 10592 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -10679,7 +10685,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 10682 "configure" ++#line 10688 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -16848,6 +16854,95 @@ + + fi + ++pkg_failed=no ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UDEV" >&5 ++$as_echo_n "checking for UDEV... " >&6; } ++ ++if test -n "$UDEV_CFLAGS"; then ++ pkg_cv_UDEV_CFLAGS="$UDEV_CFLAGS" ++ elif test -n "$PKG_CONFIG"; then ++ if test -n "$PKG_CONFIG" && \ ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: $PKG_CONFIG --exists --print-errors "libudev >= 146""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "libudev >= 146") 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ pkg_cv_UDEV_CFLAGS=`$PKG_CONFIG --cflags "libudev >= 146" 2>/dev/null` ++else ++ pkg_failed=yes ++fi ++ else ++ pkg_failed=untried ++fi ++if test -n "$UDEV_LIBS"; then ++ pkg_cv_UDEV_LIBS="$UDEV_LIBS" ++ elif test -n "$PKG_CONFIG"; then ++ if test -n "$PKG_CONFIG" && \ ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: $PKG_CONFIG --exists --print-errors "libudev >= 146""; } >&5 ++ ($PKG_CONFIG --exists --print-errors "libudev >= 146") 2>&5 ++ ac_status=$? ++ $as_echo "$as_me:${as_lineno-$LINENO}: $? = $ac_status" >&5 ++ test $ac_status = 0; }; then ++ pkg_cv_UDEV_LIBS=`$PKG_CONFIG --libs "libudev >= 146" 2>/dev/null` ++else ++ pkg_failed=yes ++fi ++ else ++ pkg_failed=untried ++fi ++ ++ ++ ++if test $pkg_failed = yes; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ ++if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then ++ _pkg_short_errors_supported=yes ++else ++ _pkg_short_errors_supported=no ++fi ++ if test $_pkg_short_errors_supported = yes; then ++ UDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libudev >= 146" 2>&1` ++ else ++ UDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors "libudev >= 146" 2>&1` ++ fi ++ # Put the nasty error message in config.log where it belongs ++ echo "$UDEV_PKG_ERRORS" >&5 ++ ++ as_fn_error $? "Package requirements (libudev >= 146) were not met: ++ ++$UDEV_PKG_ERRORS ++ ++Consider adjusting the PKG_CONFIG_PATH environment variable if you ++installed software in a non-standard prefix. ++ ++Alternatively, you may set the environment variables UDEV_CFLAGS ++and UDEV_LIBS to avoid the need to call pkg-config. ++See the pkg-config man page for more details." "$LINENO" 5 ++elif test $pkg_failed = untried; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++$as_echo "$as_me: error: in `$ac_pwd':" >&2;} ++as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it ++is in your PATH or set the PKG_CONFIG environment variable to the full ++path to pkg-config. ++ ++Alternatively, you may set the environment variables UDEV_CFLAGS ++and UDEV_LIBS to avoid the need to call pkg-config. ++See the pkg-config man page for more details. ++ ++To get pkg-config, see http://pkg-config.freedesktop.org/. ++See `config.log' for more details" "$LINENO" 5 ; } ++else ++ UDEV_CFLAGS=$pkg_cv_UDEV_CFLAGS ++ UDEV_LIBS=$pkg_cv_UDEV_LIBS ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++$as_echo "yes" >&6; } ++ ++fi ++ + # Checks for header files. + for ac_header in valgrind/valgrind.h + do : +@@ -17278,7 +17373,7 @@ + + + +-ac_config_files="$ac_config_files Makefile intl/Makefile dbus/Makefile init/Makefile util/Makefile conf/Makefile doc/Makefile contrib/Makefile po/Makefile.in" ++ac_config_files="$ac_config_files Makefile intl/Makefile dbus/Makefile init/Makefile util/Makefile udev/Makefile conf/Makefile doc/Makefile contrib/Makefile po/Makefile.in" + + ac_config_headers="$ac_config_headers config.h" + +@@ -17808,7 +17903,7 @@ + # report actual input values of CONFIG_FILES etc. instead of their + # values after options handling. + ac_log=" +-This file was extended by upstart $as_me 0.6.7, which was ++This file was extended by upstart $as_me 0.6.6, which was + generated by GNU Autoconf 2.67. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -17874,7 +17969,7 @@ + cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\""`$]/\\&/g'`" + ac_cs_version="\ +-upstart config.status 0.6.7 ++upstart config.status 0.6.6 + configured by $0, generated by GNU Autoconf 2.67, + with options \"$ac_cs_config\" + +@@ -18273,6 +18368,7 @@ + "dbus/Makefile") CONFIG_FILES="$CONFIG_FILES dbus/Makefile" ;; + "init/Makefile") CONFIG_FILES="$CONFIG_FILES init/Makefile" ;; + "util/Makefile") CONFIG_FILES="$CONFIG_FILES util/Makefile" ;; ++ "udev/Makefile") CONFIG_FILES="$CONFIG_FILES udev/Makefile" ;; + "conf/Makefile") CONFIG_FILES="$CONFIG_FILES conf/Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "contrib/Makefile") CONFIG_FILES="$CONFIG_FILES contrib/Makefile" ;; +--- upstart-0.6.7.orig/ChangeLog ++++ upstart-0.6.7/ChangeLog +@@ -70,9 +70,6 @@ + + 2010-04-27 Scott James Remnant scott@netsplit.com + +- * configure.ac: Bump version to 0.6.7 +- * NEWS: Begin new release +- + * NEWS: Release 0.6.6 + + * configure.ac: Bump the requirement of libnih to 1.0.2 after +--- upstart-0.6.7.orig/Makefile.in ++++ upstart-0.6.7/Makefile.in +@@ -237,6 +237,8 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +@@ -298,7 +300,7 @@ + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ +-SUBDIRS = intl dbus init util conf doc contrib po ++SUBDIRS = intl dbus init util udev conf doc contrib po + EXTRA_DIST = HACKING + ACLOCAL_AMFLAGS = --install -I m4 + all: config.h +--- upstart-0.6.7.orig/configure.ac ++++ upstart-0.6.7/configure.ac +@@ -1,7 +1,7 @@ + # Process this file with autoconf to produce a configure script. + + AC_PREREQ(2.61) +-AC_INIT([upstart], [0.6.7], [upstart-devel@lists.ubuntu.com]) ++AC_INIT([upstart], [0.6.6], [upstart-devel@lists.ubuntu.com]) + NIH_COPYRIGHT([[Copyright © 2010 Canonical Ltd.]]) + AC_CONFIG_SRCDIR([init/main.c]) + AC_CONFIG_MACRO_DIR([m4]) +@@ -30,6 +30,7 @@ + PKG_CHECK_MODULES([NIH], [libnih >= 1.0.2]) + PKG_CHECK_MODULES([NIH_DBUS], [libnih-dbus >= 1.0.0]) + PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.2.16]) ++PKG_CHECK_MODULES([UDEV], [libudev >= 146]) + + # Checks for header files. + AC_CHECK_HEADERS([valgrind/valgrind.h]) +@@ -63,7 +64,7 @@ + + + AC_CONFIG_FILES([ Makefile intl/Makefile +- dbus/Makefile init/Makefile util/Makefile conf/Makefile ++ dbus/Makefile init/Makefile util/Makefile udev/Makefile conf/Makefile + doc/Makefile contrib/Makefile po/Makefile.in ]) + AC_CONFIG_HEADERS([config.h]) + AC_OUTPUT +--- upstart-0.6.7.orig/Makefile.am ++++ upstart-0.6.7/Makefile.am +@@ -1,6 +1,6 @@ + ## Process this file with automake to produce Makefile.in + +-SUBDIRS = intl dbus init util conf doc contrib po ++SUBDIRS = intl dbus init util udev conf doc contrib po + + EXTRA_DIST = HACKING + +--- upstart-0.6.7.orig/udev/Makefile.in ++++ upstart-0.6.7/udev/Makefile.in +@@ -0,0 +1,779 @@ ++# Makefile.in generated by automake 1.11.1 from Makefile.am. ++# @configure_input@ ++ ++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, ++# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, ++# Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++ ++ ++VPATH = @srcdir@ ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkglibexecdir = $(libexecdir)/@PACKAGE@ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = $(program_transform_name) ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_triplet = @build@ ++host_triplet = @host@ ++sbin_PROGRAMS = upstart-udev-bridge$(EXEEXT) ++subdir = udev ++DIST_COMMON = $(dist_init_DATA) $(dist_man_MANS) $(srcdir)/Makefile.am \ ++ $(srcdir)/Makefile.in ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ++am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \ ++ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \ ++ $(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \ ++ $(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \ ++ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax.m4 \ ++ $(top_srcdir)/m4/inttypes-pri.m4 \ ++ $(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \ ++ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ ++ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libnih.m4 \ ++ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/lock.m4 \ ++ $(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/ltoptions.m4 \ ++ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ ++ $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/nls.m4 \ ++ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/po.m4 \ ++ $(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \ ++ $(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \ ++ $(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/visibility.m4 \ ++ $(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wint_t.m4 \ ++ $(top_srcdir)/m4/xsize.m4 $(top_srcdir)/configure.ac ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ ++ $(ACLOCAL_M4) ++mkinstalldirs = $(install_sh) -d ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++CONFIG_CLEAN_VPATH_FILES = ++am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" \ ++ "$(DESTDIR)$(initdir)" ++PROGRAMS = $(sbin_PROGRAMS) ++am_upstart_udev_bridge_OBJECTS = upstart-udev-bridge.$(OBJEXT) ++am__objects_1 = com.ubuntu.Upstart.$(OBJEXT) ++nodist_upstart_udev_bridge_OBJECTS = $(am__objects_1) ++upstart_udev_bridge_OBJECTS = $(am_upstart_udev_bridge_OBJECTS) \ ++ $(nodist_upstart_udev_bridge_OBJECTS) ++am__DEPENDENCIES_1 = ++upstart_udev_bridge_DEPENDENCIES = $(am__DEPENDENCIES_1) \ ++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ ++ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) ++AM_V_lt = $(am__v_lt_$(V)) ++am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) ++am__v_lt_0 = --silent ++DEFAULT_INCLUDES = ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++am__mv = mv -f ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ ++ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ ++ $(AM_CFLAGS) $(CFLAGS) ++AM_V_CC = $(am__v_CC_$(V)) ++am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) ++am__v_CC_0 = @echo " CC " $@; ++AM_V_at = $(am__v_at_$(V)) ++am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) ++am__v_at_0 = @ ++CCLD = $(CC) ++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ ++ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++AM_V_CCLD = $(am__v_CCLD_$(V)) ++am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) ++am__v_CCLD_0 = @echo " CCLD " $@; ++AM_V_GEN = $(am__v_GEN_$(V)) ++am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) ++am__v_GEN_0 = @echo " GEN " $@; ++SOURCES = $(upstart_udev_bridge_SOURCES) \ ++ $(nodist_upstart_udev_bridge_SOURCES) ++DIST_SOURCES = $(upstart_udev_bridge_SOURCES) ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; ++am__vpath_adj = case $$p in \ ++ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ ++ *) f=$$p;; \ ++ esac; ++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; ++am__install_max = 40 ++am__nobase_strip_setup = \ ++ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\*|]/\\&/g'` ++am__nobase_strip = \ ++ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" ++am__nobase_list = $(am__nobase_strip_setup); \ ++ for p in $$list; do echo "$$p $$p"; done | \ ++ sed "s| $$srcdirstrip/| |;"' / .*//!s/ .*/ ./; s,( .*)/[^/]*$$,\1,' | \ ++ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ ++ if (++n[$$2] == $(am__install_max)) \ ++ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ ++ END { for (dir in files) print dir, files[dir] }' ++am__base_list = \ ++ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ ++ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' ++man8dir = $(mandir)/man8 ++NROFF = nroff ++MANS = $(dist_man_MANS) ++DATA = $(dist_init_DATA) ++ETAGS = etags ++CTAGS = ctags ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ACLOCAL = @ACLOCAL@ ++ALLOCA = @ALLOCA@ ++AMTAR = @AMTAR@ ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ ++AR = @AR@ ++AUTOCONF = @AUTOCONF@ ++AUTOHEADER = @AUTOHEADER@ ++AUTOMAKE = @AUTOMAKE@ ++AWK = @AWK@ ++BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ ++CATOBJEXT = @CATOBJEXT@ ++CC = @CC@ ++CCDEPMODE = @CCDEPMODE@ ++CFLAGS = @CFLAGS@ ++CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ ++CPP = @CPP@ ++CPPFLAGS = @CPPFLAGS@ ++CYGPATH_W = @CYGPATH_W@ ++DATADIRNAME = @DATADIRNAME@ ++DBUS_CFLAGS = @DBUS_CFLAGS@ ++DBUS_LIBS = @DBUS_LIBS@ ++DEFS = @DEFS@ ++DEPDIR = @DEPDIR@ ++DSYMUTIL = @DSYMUTIL@ ++DUMPBIN = @DUMPBIN@ ++ECHO_C = @ECHO_C@ ++ECHO_N = @ECHO_N@ ++ECHO_T = @ECHO_T@ ++EGREP = @EGREP@ ++EXEEXT = @EXEEXT@ ++FGREP = @FGREP@ ++GENCAT = @GENCAT@ ++GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ ++GLIBC2 = @GLIBC2@ ++GLIBC21 = @GLIBC21@ ++GMSGFMT = @GMSGFMT@ ++GMSGFMT_015 = @GMSGFMT_015@ ++GREP = @GREP@ ++HAVE_ASPRINTF = @HAVE_ASPRINTF@ ++HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@ ++HAVE_SNPRINTF = @HAVE_SNPRINTF@ ++HAVE_VISIBILITY = @HAVE_VISIBILITY@ ++HAVE_WPRINTF = @HAVE_WPRINTF@ ++INSTALL = @INSTALL@ ++INSTALL_DATA = @INSTALL_DATA@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++INSTOBJEXT = @INSTOBJEXT@ ++INTLBISON = @INTLBISON@ ++INTLLIBS = @INTLLIBS@ ++INTLOBJS = @INTLOBJS@ ++INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@ ++INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ ++LD = @LD@ ++LDFLAGS = @LDFLAGS@ ++LIBICONV = @LIBICONV@ ++LIBINTL = @LIBINTL@ ++LIBMULTITHREAD = @LIBMULTITHREAD@ ++LIBOBJS = @LIBOBJS@ ++LIBPTH = @LIBPTH@ ++LIBPTH_PREFIX = @LIBPTH_PREFIX@ ++LIBS = @LIBS@ ++LIBTHREAD = @LIBTHREAD@ ++LIBTOOL = @LIBTOOL@ ++LIPO = @LIPO@ ++LN_S = @LN_S@ ++LTLIBC = @LTLIBC@ ++LTLIBICONV = @LTLIBICONV@ ++LTLIBINTL = @LTLIBINTL@ ++LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ ++LTLIBOBJS = @LTLIBOBJS@ ++LTLIBPTH = @LTLIBPTH@ ++LTLIBTHREAD = @LTLIBTHREAD@ ++MAINT = @MAINT@ ++MAKEINFO = @MAKEINFO@ ++MKDIR_P = @MKDIR_P@ ++MSGFMT = @MSGFMT@ ++MSGFMT_015 = @MSGFMT_015@ ++MSGMERGE = @MSGMERGE@ ++NIH_CFLAGS = @NIH_CFLAGS@ ++NIH_DBUS_CFLAGS = @NIH_DBUS_CFLAGS@ ++NIH_DBUS_LIBS = @NIH_DBUS_LIBS@ ++NIH_DBUS_TOOL = @NIH_DBUS_TOOL@ ++NIH_LIBS = @NIH_LIBS@ ++NM = @NM@ ++NMEDIT = @NMEDIT@ ++OBJDUMP = @OBJDUMP@ ++OBJEXT = @OBJEXT@ ++OTOOL = @OTOOL@ ++OTOOL64 = @OTOOL64@ ++PACKAGE = @PACKAGE@ ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ ++PACKAGE_COPYRIGHT = @PACKAGE_COPYRIGHT@ ++PACKAGE_NAME = @PACKAGE_NAME@ ++PACKAGE_STRING = @PACKAGE_STRING@ ++PACKAGE_TARNAME = @PACKAGE_TARNAME@ ++PACKAGE_URL = @PACKAGE_URL@ ++PACKAGE_VERSION = @PACKAGE_VERSION@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++PKG_CONFIG = @PKG_CONFIG@ ++PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ ++PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ ++POSUB = @POSUB@ ++PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@ ++RANLIB = @RANLIB@ ++SED = @SED@ ++SET_MAKE = @SET_MAKE@ ++SHELL = @SHELL@ ++STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ ++USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ ++USE_NLS = @USE_NLS@ ++VERSION = @VERSION@ ++WINDRES = @WINDRES@ ++WOE32 = @WOE32@ ++WOE32DLL = @WOE32DLL@ ++XGETTEXT = @XGETTEXT@ ++XGETTEXT_015 = @XGETTEXT_015@ ++XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ ++abs_builddir = @abs_builddir@ ++abs_srcdir = @abs_srcdir@ ++abs_top_builddir = @abs_top_builddir@ ++abs_top_srcdir = @abs_top_srcdir@ ++ac_ct_CC = @ac_ct_CC@ ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ ++am__include = @am__include@ ++am__leading_dot = @am__leading_dot@ ++am__quote = @am__quote@ ++am__tar = @am__tar@ ++am__untar = @am__untar@ ++bindir = @bindir@ ++build = @build@ ++build_alias = @build_alias@ ++build_cpu = @build_cpu@ ++build_os = @build_os@ ++build_vendor = @build_vendor@ ++builddir = @builddir@ ++datadir = @datadir@ ++datarootdir = @datarootdir@ ++docdir = @docdir@ ++dvidir = @dvidir@ ++exec_prefix = @exec_prefix@ ++host = @host@ ++host_alias = @host_alias@ ++host_cpu = @host_cpu@ ++host_os = @host_os@ ++host_vendor = @host_vendor@ ++htmldir = @htmldir@ ++includedir = @includedir@ ++infodir = @infodir@ ++install_sh = @install_sh@ ++libdir = @libdir@ ++libexecdir = @libexecdir@ ++localedir = @localedir@ ++localstatedir = @localstatedir@ ++lt_ECHO = @lt_ECHO@ ++mandir = @mandir@ ++mkdir_p = @mkdir_p@ ++oldincludedir = @oldincludedir@ ++pdfdir = @pdfdir@ ++prefix = @prefix@ ++program_transform_name = @program_transform_name@ ++psdir = @psdir@ ++sbindir = @sbindir@ ++sharedstatedir = @sharedstatedir@ ++srcdir = @srcdir@ ++sysconfdir = @sysconfdir@ ++target_alias = @target_alias@ ++top_build_prefix = @top_build_prefix@ ++top_builddir = @top_builddir@ ++top_srcdir = @top_srcdir@ ++AM_CFLAGS = \ ++ $(NIH_CFLAGS) \ ++ $(NIH_DBUS_CFLAGS) \ ++ $(DBUS_CFLAGS) \ ++ $(UDEV_CFLAGS) ++ ++AM_CPPFLAGS = \ ++ -DLOCALEDIR=""$(localedir)"" \ ++ -I$(top_builddir) -I$(top_srcdir) -iquote$(builddir) -iquote$(srcdir) \ ++ -I$(top_srcdir)/intl ++ ++initdir = $(sysconfdir)/init ++dist_init_DATA = \ ++ conf/upstart-udev-bridge.conf ++ ++dist_man_MANS = \ ++ man/upstart-udev-bridge.8 ++ ++upstart_udev_bridge_SOURCES = \ ++ upstart-udev-bridge.c ++ ++nodist_upstart_udev_bridge_SOURCES = \ ++ $(com_ubuntu_Upstart_OUTPUTS) ++ ++upstart_udev_bridge_LDADD = \ ++ $(LTLIBINTL) \ ++ $(NIH_LIBS) \ ++ $(NIH_DBUS_LIBS) \ ++ $(DBUS_LIBS) \ ++ $(UDEV_LIBS) ++ ++com_ubuntu_Upstart_OUTPUTS = \ ++ com.ubuntu.Upstart.c \ ++ com.ubuntu.Upstart.h ++ ++com_ubuntu_Upstart_XML = \ ++ ../dbus/com.ubuntu.Upstart.xml ++ ++ ++# These have to be built sources because we can't compile object files ++# without the header file existing first ++BUILT_SOURCES = \ ++ $(com_ubuntu_Upstart_OUTPUTS) ++ ++CLEANFILES = \ ++ $(com_ubuntu_Upstart_OUTPUTS) ++ ++all: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) all-am ++ ++.SUFFIXES: ++.SUFFIXES: .c .lo .o .obj ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) ++ @for dep in $?; do \ ++ case '$(am__configure_deps)' in \ ++ *$$dep*) \ ++ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ ++ && { if test -f $@; then exit 0; else break; fi; }; \ ++ exit 1;; \ ++ esac; \ ++ done; \ ++ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu udev/Makefile'; \ ++ $(am__cd) $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu udev/Makefile ++.PRECIOUS: Makefile ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ++ @case '$?' in \ ++ *config.status*) \ ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ ++ *) \ ++ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ ++ esac; ++ ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++ ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) ++ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ++$(am__aclocal_m4_deps): ++install-sbinPROGRAMS: $(sbin_PROGRAMS) ++ @$(NORMAL_INSTALL) ++ test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)" ++ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ ++ for p in $$list; do echo "$$p $$p"; done | \ ++ sed 's/$(EXEEXT)$$//' | \ ++ while read p p1; do if test -f $$p || test -f $$p1; \ ++ then echo "$$p"; echo "$$p"; else :; fi; \ ++ done | \ ++ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ ++ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ ++ sed 'N;N;N;s,\n, ,g' | \ ++ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ ++ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ ++ if ($$2 == $$4) files[d] = files[d] " " $$1; \ ++ else { print "f", $$3 "/" $$4, $$1; } } \ ++ END { for (d in files) print "f", d, files[d] }' | \ ++ while read type dir files; do \ ++ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ ++ test -z "$$files" || { \ ++ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \ ++ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \ ++ } \ ++ ; done ++ ++uninstall-sbinPROGRAMS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \ ++ files=`for p in $$list; do echo "$$p"; done | \ ++ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ ++ -e 's/$$/$(EXEEXT)/' `; \ ++ test -n "$$list" || exit 0; \ ++ echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \ ++ cd "$(DESTDIR)$(sbindir)" && rm -f $$files ++ ++clean-sbinPROGRAMS: ++ @list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list || exit $$?; \ ++ test -n "$(EXEEXT)" || exit 0; \ ++ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ ++ echo " rm -f" $$list; \ ++ rm -f $$list ++upstart-udev-bridge$(EXEEXT): $(upstart_udev_bridge_OBJECTS) $(upstart_udev_bridge_DEPENDENCIES) ++ @rm -f upstart-udev-bridge$(EXEEXT) ++ $(AM_V_CCLD)$(LINK) $(upstart_udev_bridge_OBJECTS) $(upstart_udev_bridge_LDADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/com.ubuntu.Upstart.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upstart-udev-bridge.Po@am__quote@ ++ ++.c.o: ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(COMPILE) -c $< ++ ++.c.obj: ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` ++ ++.c.lo: ++@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< ++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++install-man8: $(dist_man_MANS) ++ @$(NORMAL_INSTALL) ++ test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)" ++ @list=''; test -n "$(man8dir)" || exit 0; \ ++ { for i in $$list; do echo "$$i"; done; \ ++ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ ++ sed -n '/.8[a-z]*$$/p'; \ ++ } | while read p; do \ ++ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ ++ echo "$$d$$p"; echo "$$p"; \ ++ done | \ ++ sed -e 'n;s,.*/,,;p;h;s,.*.,,;s,^[^8][0-9a-z]*$$,8,;x' \ ++ -e 's,.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ ++ sed 'N;N;s,\n, ,g' | { \ ++ list=; while read file base inst; do \ ++ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ ++ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \ ++ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \ ++ fi; \ ++ done; \ ++ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ ++ while read files; do \ ++ test -z "$$files" || { \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \ ++ done; } ++ ++uninstall-man8: ++ @$(NORMAL_UNINSTALL) ++ @list=''; test -n "$(man8dir)" || exit 0; \ ++ files=`{ for i in $$list; do echo "$$i"; done; \ ++ l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ ++ sed -n '/.8[a-z]*$$/p'; \ ++ } | sed -e 's,.*/,,;h;s,.*.,,;s,^[^8][0-9a-z]*$$,8,;x' \ ++ -e 's,.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ ++ test -z "$$files" || { \ ++ echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \ ++ cd "$(DESTDIR)$(man8dir)" && rm -f $$files; } ++install-dist_initDATA: $(dist_init_DATA) ++ @$(NORMAL_INSTALL) ++ test -z "$(initdir)" || $(MKDIR_P) "$(DESTDIR)$(initdir)" ++ @list='$(dist_init_DATA)'; test -n "$(initdir)" || list=; \ ++ for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ echo "$$d$$p"; \ ++ done | $(am__base_list) | \ ++ while read files; do \ ++ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(initdir)'"; \ ++ $(INSTALL_DATA) $$files "$(DESTDIR)$(initdir)" || exit $$?; \ ++ done ++ ++uninstall-dist_initDATA: ++ @$(NORMAL_UNINSTALL) ++ @list='$(dist_init_DATA)'; test -n "$(initdir)" || list=; \ ++ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ ++ test -n "$$files" || exit 0; \ ++ echo " ( cd '$(DESTDIR)$(initdir)' && rm -f" $$files ")"; \ ++ cd "$(DESTDIR)$(initdir)" && rm -f $$files ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ mkid -fID $$unique ++tags: TAGS ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ set x; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ shift; \ ++ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ ++ test -n "$$unique" || unique=$$empty_fix; \ ++ if test $$# -gt 0; then \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ "$$@" $$unique; \ ++ else \ ++ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$unique; \ ++ fi; \ ++ fi ++ctags: CTAGS ++CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ ++ END { if (nonempty) { for (i in files) print i; }; }'`; \ ++ test -z "$(CTAGS_ARGS)$$unique" \ ++ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ ++ $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && $(am__cd) $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) "$$here" ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags ++ ++distdir: $(DISTFILES) ++ @list='$(MANS)'; if test -n "$$list"; then \ ++ list=`for p in $$list; do \ ++ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ ++ if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \ ++ if test -n "$$list" && \ ++ grep 'ab help2man is required to generate this page' $$list >/dev/null; then \ ++ echo "error: found man pages containing the `missing help2man' replacement text:" >&2; \ ++ grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/ /' >&2; \ ++ echo " to fix them, install help2man, remove and regenerate the man pages;" >&2; \ ++ echo " typically `make maintainer-clean' will remove them" >&2; \ ++ exit 1; \ ++ else :; fi; \ ++ else :; fi ++ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\*]/\\&/g'`; \ ++ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\*]/\\&/g'`; \ ++ list='$(DISTFILES)'; \ ++ dist_files=`for file in $$list; do echo $$file; done | \ ++ sed -e "s|^$$srcdirstrip/||;t" \ ++ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ ++ case $$dist_files in \ ++ */*) $(MKDIR_P) `echo "$$dist_files" | \ ++ sed '///!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ ++ sort -u` ;; \ ++ esac; \ ++ for file in $$dist_files; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ if test -d $$d/$$file; then \ ++ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test -d "$(distdir)/$$file"; then \ ++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} ;; \ ++ fi; \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ ++ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} ;; \ ++ fi; \ ++ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ ++ else \ ++ test -f "$(distdir)/$$file" \ ++ || cp -p $$d/$$file "$(distdir)/$$file" \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) check-am ++all-am: Makefile $(PROGRAMS) $(MANS) $(DATA) ++installdirs: ++ for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(initdir)"; do \ ++ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ ++ done ++install: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) ++ ++distclean-generic: ++ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) ++ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-local clean-sbinPROGRAMS \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ -rm -rf ./$(DEPDIR) ++ -rm -f Makefile ++distclean-am: clean-am distclean-compile distclean-generic \ ++ distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++html: html-am ++ ++html-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: install-dist_initDATA install-man ++ ++install-dvi: install-dvi-am ++ ++install-dvi-am: ++ ++install-exec-am: install-sbinPROGRAMS ++ ++install-html: install-html-am ++ ++install-html-am: ++ ++install-info: install-info-am ++ ++install-info-am: ++ ++install-man: install-man8 ++ ++install-pdf: install-pdf-am ++ ++install-pdf-am: ++ ++install-ps: install-ps-am ++ ++install-ps-am: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ -rm -rf ./$(DEPDIR) ++ -rm -f Makefile ++maintainer-clean-am: distclean-am maintainer-clean-generic \ ++ maintainer-clean-local ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++pdf: pdf-am ++ ++pdf-am: ++ ++ps: ps-am ++ ++ps-am: ++ ++uninstall-am: uninstall-dist_initDATA uninstall-man \ ++ uninstall-sbinPROGRAMS ++ ++uninstall-man: uninstall-man8 ++ ++.MAKE: all check install install-am install-strip ++ ++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-local clean-sbinPROGRAMS ctags distclean \ ++ distclean-compile distclean-generic distclean-libtool \ ++ distclean-tags distdir dvi dvi-am html html-am info info-am \ ++ install install-am install-data install-data-am \ ++ install-dist_initDATA install-dvi install-dvi-am install-exec \ ++ install-exec-am install-html install-html-am install-info \ ++ install-info-am install-man install-man8 install-pdf \ ++ install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \ ++ install-strip installcheck installcheck-am installdirs \ ++ maintainer-clean maintainer-clean-generic \ ++ maintainer-clean-local mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ ++ tags uninstall uninstall-am uninstall-dist_initDATA \ ++ uninstall-man uninstall-man8 uninstall-sbinPROGRAMS ++ ++ ++$(com_ubuntu_Upstart_OUTPUTS): $(com_ubuntu_Upstart_XML) ++ $(AM_V_GEN)$(NIH_DBUS_TOOL) \ ++ --package=$(PACKAGE) \ ++ --mode=proxy --prefix=upstart \ ++ --default-interface=com.ubuntu.Upstart0_6 \ ++ --output=$@ $< ++ ++clean-local: ++ rm -f *.gcno *.gcda ++ ++maintainer-clean-local: ++ rm -f *.gcov ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: +--- upstart-0.6.7.orig/udev/upstart-udev-bridge.c ++++ upstart-0.6.7/udev/upstart-udev-bridge.c +@@ -0,0 +1,310 @@ ++/* upstart ++ * ++ * Copyright © 2009 Canonical Ltd. ++ * Author: Scott James Remnant scott@netsplit.com. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2, as ++ * published by the Free Software Foundation. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License along ++ * with this program; if not, write to the Free Software Foundation, Inc., ++ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ */ ++ ++#ifdef HAVE_CONFIG_H ++# include <config.h> ++#endif /* HAVE_CONFIG_H */ ++ ++ ++#include <libudev.h> ++ ++#include <stdlib.h> ++#include <string.h> ++#include <syslog.h> ++ ++#include <nih/macros.h> ++#include <nih/alloc.h> ++#include <nih/string.h> ++#include <nih/io.h> ++#include <nih/option.h> ++#include <nih/main.h> ++#include <nih/logging.h> ++#include <nih/error.h> ++ ++#include <nih-dbus/dbus_connection.h> ++#include <nih-dbus/dbus_proxy.h> ++ ++#include "dbus/upstart.h" ++#include "com.ubuntu.Upstart.h" ++ ++ ++/* Prototypes for static functions */ ++static void udev_monitor_watcher (struct udev_monitor *udev_monitor, ++ NihIoWatch *watch, NihIoEvents events); ++static void upstart_disconnected (DBusConnection *connection); ++static void emit_event_error (void *data, NihDBusMessage *message); ++ ++ ++/** ++ * daemonise: ++ * ++ * Set to TRUE if we should become a daemon, rather than just running ++ * in the foreground. ++ **/ ++static int daemonise = FALSE; ++ ++/** ++ * upstart: ++ * ++ * Proxy to Upstart daemon. ++ **/ ++static NihDBusProxy *upstart = NULL; ++ ++ ++/** ++ * options: ++ * ++ * Command-line options accepted by this program. ++ **/ ++static NihOption options[] = { ++ { 0, "daemon", N_("Detach and run in the background"), ++ NULL, NULL, &daemonise, NULL }, ++ ++ NIH_OPTION_LAST ++}; ++ ++ ++int ++main (int argc, ++ char *argv[]) ++{ ++ char ** args; ++ DBusConnection * connection; ++ struct udev * udev; ++ struct udev_monitor *udev_monitor; ++ int ret; ++ ++ nih_main_init (argv[0]); ++ ++ nih_option_set_synopsis (_("Bridge udev events into upstart")); ++ nih_option_set_help ( ++ _("By default, upstart-udev-bridge does not detach from the " ++ "console and remains in the foreground. Use the --daemon " ++ "option to have it detach.")); ++ ++ args = nih_option_parser (NULL, argc, argv, options, FALSE); ++ if (! args) ++ exit (1); ++ ++ /* Initialise the connection to Upstart */ ++ connection = NIH_SHOULD (nih_dbus_connect (DBUS_ADDRESS_UPSTART, upstart_disconnected)); ++ if (! connection) { ++ NihError *err; ++ ++ err = nih_error_get (); ++ nih_fatal ("%s: %s", _("Could not connect to Upstart"), ++ err->message); ++ nih_free (err); ++ ++ exit (1); ++ } ++ ++ upstart = NIH_SHOULD (nih_dbus_proxy_new (NULL, connection, ++ NULL, DBUS_PATH_UPSTART, ++ NULL, NULL)); ++ if (! upstart) { ++ NihError *err; ++ ++ err = nih_error_get (); ++ nih_fatal ("%s: %s", _("Could not create Upstart proxy"), ++ err->message); ++ nih_free (err); ++ ++ exit (1); ++ } ++ ++ /* Initialise the connection to udev */ ++ nih_assert (udev = udev_new ()); ++ nih_assert (udev_monitor = udev_monitor_new_from_netlink (udev, "udev")); ++ nih_assert (udev_monitor_enable_receiving (udev_monitor) == 0); ++ udev_monitor_set_receive_buffer_size(udev_monitor, 128*1024*1024); ++ ++ NIH_MUST (nih_io_add_watch (NULL, udev_monitor_get_fd (udev_monitor), ++ NIH_IO_READ, ++ (NihIoWatcher)udev_monitor_watcher, ++ udev_monitor)); ++ ++ /* Become daemon */ ++ if (daemonise) { ++ if (nih_main_daemonise () < 0) { ++ NihError *err; ++ ++ err = nih_error_get (); ++ nih_fatal ("%s: %s", _("Unable to become daemon"), ++ err->message); ++ nih_free (err); ++ ++ exit (1); ++ } ++ ++ /* Send all logging output to syslog */ ++ openlog (program_name, LOG_PID, LOG_DAEMON); ++ nih_log_set_logger (nih_logger_syslog); ++ } ++ ++ /* Handle TERM and INT signals gracefully */ ++ nih_signal_set_handler (SIGTERM, nih_signal_handler); ++ NIH_MUST (nih_signal_add_handler (NULL, SIGTERM, nih_main_term_signal, NULL)); ++ ++ if (! daemonise) { ++ nih_signal_set_handler (SIGINT, nih_signal_handler); ++ NIH_MUST (nih_signal_add_handler (NULL, SIGINT, nih_main_term_signal, NULL)); ++ } ++ ++ ret = nih_main_loop (); ++ ++ return ret; ++} ++ ++ ++static void ++udev_monitor_watcher (struct udev_monitor *udev_monitor, ++ NihIoWatch * watch, ++ NihIoEvents events) ++{ ++ struct udev_device * udev_device; ++ const char * subsystem; ++ const char * action; ++ const char * kernel; ++ const char * devpath; ++ const char * devname; ++ nih_local char * name = NULL; ++ nih_local char ** env = NULL; ++ size_t env_len = 0; ++ DBusPendingCall * pending_call; ++ ++ udev_device = udev_monitor_receive_device (udev_monitor); ++ if (! udev_device) ++ return; ++ ++ subsystem = udev_device_get_subsystem (udev_device); ++ action = udev_device_get_action (udev_device); ++ kernel = udev_device_get_sysname (udev_device); ++ devpath = udev_device_get_devpath (udev_device); ++ devname = udev_device_get_devnode (udev_device); ++ ++ if (! strcmp (action, "add")) { ++ name = NIH_MUST (nih_sprintf (NULL, "%s-device-added", ++ subsystem)); ++ } else if (! strcmp (action, "change")) { ++ name = NIH_MUST (nih_sprintf (NULL, "%s-device-changed", ++ subsystem)); ++ } else if (! strcmp (action, "remove")) { ++ name = NIH_MUST (nih_sprintf (NULL, "%s-device-removed", ++ subsystem)); ++ } else { ++ name = NIH_MUST (nih_sprintf (NULL, "%s-device-%s", ++ subsystem, action)); ++ } ++ ++ env = NIH_MUST (nih_str_array_new (NULL)); ++ ++ if (kernel) { ++ nih_local char *var = NULL; ++ ++ var = NIH_MUST (nih_sprintf (NULL, "KERNEL=%s", kernel)); ++ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); ++ } ++ ++ if (devpath) { ++ nih_local char *var = NULL; ++ ++ var = NIH_MUST (nih_sprintf (NULL, "DEVPATH=%s", devpath)); ++ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); ++ } ++ ++ if (devname) { ++ nih_local char *var = NULL; ++ ++ var = NIH_MUST (nih_sprintf (NULL, "DEVNAME=%s", devname)); ++ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); ++ } ++ ++ if (subsystem) { ++ nih_local char *var = NULL; ++ ++ var = NIH_MUST (nih_sprintf (NULL, "SUBSYSTEM=%s", subsystem)); ++ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); ++ } ++ ++ if (action) { ++ nih_local char *var = NULL; ++ ++ var = NIH_MUST (nih_sprintf (NULL, "ACTION=%s", action)); ++ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); ++ } ++ ++ for (struct udev_list_entry *list_entry = udev_device_get_properties_list_entry (udev_device); ++ list_entry != NULL; ++ list_entry = udev_list_entry_get_next (list_entry)) { ++ const char * key; ++ nih_local char *var = NULL; ++ ++ key = udev_list_entry_get_name (list_entry); ++ if (! strcmp (key, "DEVPATH")) ++ continue; ++ if (! strcmp (key, "DEVNAME")) ++ continue; ++ if (! strcmp (key, "SUBSYSTEM")) ++ continue; ++ if (! strcmp (key, "ACTION")) ++ continue; ++ ++ var = NIH_MUST (nih_sprintf (NULL, "%s=%s", key, ++ udev_list_entry_get_value (list_entry))); ++ NIH_MUST (nih_str_array_addp (&env, NULL, &env_len, var)); ++ } ++ ++ nih_debug ("%s %s", name, devname); ++ ++ pending_call = NIH_SHOULD (upstart_emit_event (upstart, ++ name, env, FALSE, ++ NULL, emit_event_error, NULL, ++ NIH_DBUS_TIMEOUT_NEVER)); ++ if (! pending_call) { ++ NihError *err; ++ ++ err = nih_error_get (); ++ nih_warn ("%s", err->message); ++ nih_free (err); ++ } ++ ++ dbus_pending_call_unref (pending_call); ++ ++ udev_device_unref (udev_device); ++} ++ ++ ++static void ++upstart_disconnected (DBusConnection *connection) ++{ ++ nih_fatal (_("Disconnected from Upstart")); ++ nih_main_loop_exit (1); ++} ++ ++static void ++emit_event_error (void * data, ++ NihDBusMessage *message) ++{ ++ NihError *err; ++ ++ err = nih_error_get (); ++ nih_warn ("%s", err->message); ++ nih_free (err); ++} +--- upstart-0.6.7.orig/udev/Makefile.am ++++ upstart-0.6.7/udev/Makefile.am +@@ -0,0 +1,67 @@ ++## Process this file with automake to produce Makefile.in ++ ++AM_CFLAGS = \ ++ $(NIH_CFLAGS) \ ++ $(NIH_DBUS_CFLAGS) \ ++ $(DBUS_CFLAGS) \ ++ $(UDEV_CFLAGS) ++ ++AM_CPPFLAGS = \ ++ -DLOCALEDIR=""$(localedir)"" \ ++ -I$(top_builddir) -I$(top_srcdir) -iquote$(builddir) -iquote$(srcdir) \ ++ -I$(top_srcdir)/intl ++ ++ ++initdir = $(sysconfdir)/init ++dist_init_DATA = \ ++ conf/upstart-udev-bridge.conf ++ ++ ++dist_man_MANS = \ ++ man/upstart-udev-bridge.8 ++ ++ ++sbin_PROGRAMS = \ ++ upstart-udev-bridge ++ ++upstart_udev_bridge_SOURCES = \ ++ upstart-udev-bridge.c ++nodist_upstart_udev_bridge_SOURCES = \ ++ $(com_ubuntu_Upstart_OUTPUTS) ++upstart_udev_bridge_LDADD = \ ++ $(LTLIBINTL) \ ++ $(NIH_LIBS) \ ++ $(NIH_DBUS_LIBS) \ ++ $(DBUS_LIBS) \ ++ $(UDEV_LIBS) ++ ++ ++com_ubuntu_Upstart_OUTPUTS = \ ++ com.ubuntu.Upstart.c \ ++ com.ubuntu.Upstart.h ++ ++com_ubuntu_Upstart_XML = \ ++ ../dbus/com.ubuntu.Upstart.xml ++ ++$(com_ubuntu_Upstart_OUTPUTS): $(com_ubuntu_Upstart_XML) ++ $(AM_V_GEN)$(NIH_DBUS_TOOL) \ ++ --package=$(PACKAGE) \ ++ --mode=proxy --prefix=upstart \ ++ --default-interface=com.ubuntu.Upstart0_6 \ ++ --output=$@ $< ++ ++ ++# These have to be built sources because we can't compile object files ++# without the header file existing first ++BUILT_SOURCES = \ ++ $(com_ubuntu_Upstart_OUTPUTS) ++ ++CLEANFILES = \ ++ $(com_ubuntu_Upstart_OUTPUTS) ++ ++ ++clean-local: ++ rm -f *.gcno *.gcda ++ ++maintainer-clean-local: ++ rm -f *.gcov +--- upstart-0.6.7.orig/udev/conf/upstart-udev-bridge.conf ++++ upstart-0.6.7/udev/conf/upstart-udev-bridge.conf +@@ -0,0 +1,14 @@ ++# upstart-udev-bridge - Bridge udev events into upstart ++# ++# This helper daemon receives udev events from the netlink socket and ++# emits equivalent Upstart events. ++ ++description "Bridge udev events into upstart" ++ ++start on starting udev ++stop on stopped udev ++ ++expect daemon ++respawn ++ ++exec upstart-udev-bridge --daemon +--- upstart-0.6.7.orig/udev/man/upstart-udev-bridge.8 ++++ upstart-0.6.7/udev/man/upstart-udev-bridge.8 +@@ -0,0 +1,35 @@ ++.TH upstart-udev-bridge 8 2009-09-07 upstart ++." ++.SH NAME ++upstart-udev-bridge - Bridge between Upstart and udev ++." ++.SH SYNOPSIS ++.B upstart-udev-bridge ++.RI [ OPTIONS ]... ++." ++.SH DESCRIPTION ++.B upstart-udev-bridge ++receives information about kernel uevents that ++.BR udev (8) ++has completed and creates ++.BR init (8) ++events for them. ++ ++This is a temporary tool until ++.BR init (8) ++itself gains the functionality to read them directly; you should not ++rely on its behaviour. ++." ++.SH AUTHOR ++Written by Scott James Remnant ++.RB < scott@netsplit.com > ++." ++.SH BUGS ++Report bugs at ++.RB < https://launchpad.net/ubuntu/+source/upstart/+bugs > ++." ++.SH COPYRIGHT ++Copyright (co 2009 Canonical Ltd. ++.PP ++This is free software; see the source for copying conditions. There is NO ++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +--- upstart-0.6.7.orig/conf/rc.conf ++++ upstart-0.6.7/conf/rc.conf +@@ -12,7 +12,9 @@ + export RUNLEVEL + export PREVLEVEL + ++console output ++env INIT_VERBOSE ++ + task + +-console output + exec /etc/init.d/rc $RUNLEVEL +--- upstart-0.6.7.orig/conf/Makefile.in ++++ upstart-0.6.7/conf/Makefile.in +@@ -205,6 +205,8 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +--- upstart-0.6.7.orig/conf/rc-sysinit.conf ++++ upstart-0.6.7/conf/rc-sysinit.conf +@@ -6,7 +6,7 @@ + description "System V initialisation compatibility" + author "Scott James Remnant scott@netsplit.com" + +-start on startup ++start on filesystem and net-device-up IFACE=lo + stop on runlevel + + # Default runlevel, this may be overriden on the kernel command-line +@@ -21,9 +21,11 @@ + env RUNLEVEL= + env PREVLEVEL= + ++console output ++env INIT_VERBOSE ++ + task + +-console owner + script + # Check for default runlevel in /etc/inittab + if [ -r /etc/inittab ] +--- upstart-0.6.7.orig/debian/upstart.install ++++ upstart-0.6.7/debian/upstart.install +@@ -0,0 +1,3 @@ ++debian/conf/*.conf etc/init/ ++debian/upstart-job lib/init/ ++debian/migrate-inittab.pl usr/lib/upstart/ +--- upstart-0.6.7.orig/debian/control ++++ upstart-0.6.7/debian/control +@@ -0,0 +1,18 @@ ++Source: upstart ++Section: admin ++Priority: required ++Maintainer: Scott James Remnant scott@ubuntu.com, James Hunt james.hunt@ubuntu.com ++Standards-Version: 3.8.4.0 ++Build-Depends: debhelper (>= 7.3.15ubuntu2), pkg-config (>= 0.22), libnih-dev (>= 1.0.2), libnih-dbus-dev (>= 1.0.0), nih-dbus-tool, libdbus-1-dev (>= 1.2.16), libexpat1-dev (>= 2.0.0), libudev-dev (>= 151-5), dbus ++Homepage: http://upstart.ubuntu.com/ ++ ++Package: upstart ++Architecture: any ++Depends: ${shlibs:Depends}, ${misc:Depends}, sysvinit-utils, sysv-rc, initscripts, mountall, ifupdown (>= 0.6.8ubuntu29) ++Replaces: upstart-job, sysvinit, upstart-compat-sysv, startup-tasks, system-services ++Conflicts: upstart-job, sysvinit, upstart-compat-sysv, startup-tasks, system-services ++Provides: upstart-job, upstart-compat-sysv, startup-tasks, system-services ++Description: event-based init daemon ++ upstart is a replacement for the /sbin/init daemon which handles ++ starting of tasks and services during boot, stopping them during ++ shutdown and supervising them while the system is running. +--- upstart-0.6.7.orig/debian/README.Debian ++++ upstart-0.6.7/debian/README.Debian +@@ -0,0 +1,200 @@ ++upstart ++======= ++ ++Upstart is a replacement for the traditional sysvinit package, and ++runs as process #1. Through upstart, we are able to have an ++event-driven process, whilst at the same time retaining compatibility ++for the original sysvinit behaviour. ++ ++This file documents how to do a few common operations with the new ++system. ++ ++ ++Where are initscripts installed? ++-------------------------------- ++ ++This has not changed, they are installed in /etc/init.d. See ++/etc/init.d/README. ++ ++Important system jobs are no longer shipped as initscripts, but as ++upstart jobs. These are installed in /etc/init ++ ++ ++How are initscripts started and stopped? ++---------------------------------------- ++ ++This has not changed, symlinks are made from the initscript in the ++/etc/init.d directory to the /etc/rc?.d directories. See ++/etc/init.d/README and /etc/rc?.d/README. ++ ++ ++What order are initscripts started and stopped in? ++-------------------------------------------------- ++ ++This has not changed, the symlinks are named SNNname or KNNname, where ++NN is a number from 00 to 99. The K scripts are run first in ++numerical order, followed by the S scripts in numerical order. ++ ++ ++How do I find the current/previous runlevel? ++-------------------------------------------- ++ ++This has not changed, use the "runlevel" command. See runlevel(8). ++ ++ ++How do I change the runlevel? ++----------------------------- ++ ++This has not changed, use the "telinit" command or just invoke "init" ++directly. See telinit(8). ++ ++ ++How do I change the default runlevel? ++------------------------------------- ++ ++If you have an /etc/inittab file, edit it. Locate the following line: ++ ++ id:N:initdefault: ++ ++Where N is the default runlevel, change this to match. ++ ++Most people won't have that file, you can edit /etc/init/rc-sysinit.conf ++and change the following line: ++ ++ env DEFAULT_RUNLEVEL=2 ++ ++ ++How do I shutdown the machine? ++------------------------------ ++ ++This has not changed, use the "shutdown" command provided by the ++upstart package; you may also use the "reboot"/"halt"/"poweroff" ++commands as a short-cut. See shutdown(8) and reboot(8). ++ ++You can also press Control-Alt-Delete on a console to reboot the ++machine. ++ ++ ++How do I change the behaviour of Control-Alt-Delete? ++---------------------------------------------------- ++ ++Edit the /etc/init/control-alt-delete.conf file, the line beginning ++"exec" is what upstart will run when this key combination is pressed. ++ ++To not do anything, you can simply delete this file. ++ ++ ++How do I enter single-user mode? ++-------------------------------- ++ ++This hasn't changed, choose the "(recovery mode)" option from GRUB; ++add "-s", "S" or "single" to the kernel command-line; or from a ++running machine, run "telinit 1" or "shutdown now". ++ ++ ++How do I reduce the number of gettys? ++------------------------------------- ++ ++Also see "How do I change which runlevels gettys are run in?" ++ ++In /etc/init there is a file named ttyN.conf for each getty that will be ++started, where N is numbered 1 to 6. Remove any that you do not ++want. ++ ++This will not take immediate effect, however you can run "stop ttyN" ++to stop one that is running. ++ ++ ++How do I change getty parameters? ++--------------------------------- ++ ++In /etc/init there is a file named ttyN.conf for each getty that will be ++started, where N is numbered 1 to 6. Edit these files, the line ++beginning "respawn" is what upstart will run. ++ ++This will not take immediate effect, run "stop ttyN" followed by ++"start ttyN" or just kill the running getty to respawn with the new ++parameters. ++ ++ ++How do I change which runlevels gettys are run in? ++-------------------------------------------------- ++ ++In /etc/init there is a file named ttyN.conf for each getty that will be ++started, where N is numbered 1 to 6. Edit these files, there are two ++lines: ++ ++ start on runlevel [2345] ++ stop on runlevel [!2345] ++ ++Change the set of runlevels to match your taste. ++ ++This will not take immediate effect, however you can run "stop ttyN" ++to stop one that is running or "start ttyN" to start one that isn't. ++ ++ ++How do I increase the number of gettys? ++--------------------------------------- ++ ++In /etc/init there is a file named ttyN.conf for each getty that will be ++started, where N is numbered 1 to 6. ++ ++Copy one of these files to a new name, we suggest you simply name it ++after the tty, e.g. "ttyS0". ++ ++Edit that file, change the "respawn" line to match your requirements; ++in particular you'll need to change the tty the getty should be run ++on. ++ ++This will not take immediate effect, however you can run "start ttyN" ++to start the getty. ++ ++ ++How do I add a serial console? ++------------------------------ ++ ++See "How do I increase the number of gettys?" ++ ++ ++How can I see boot messages on the console? ++------------------------------------------- ++ ++This is nothing to do with upstart, but I'll answer this anyway. ++Remove "quiet" from the kernel command-line. ++ ++To make this permanent, edit /boot/grub/menu.lst and edit the line ++that begins "# defoptions=" (yes, it looks like a comment). ++ ++This will change both usplash and the LSB init logging. ++ ++ ++Upstart isn't working, how do I debug it? ++----------------------------------------- ++ ++Add "--debug" to the kernel command-line, and be sure to remove "quiet" ++and "splash". You'll now see debugging messages as upstart works. ++ ++ ++Can I query upstart for a list of jobs? ++--------------------------------------- ++ ++Yes, "initctl list" will list the known jobs and their status. ++ ++ ++How do I manually start or stop a job? ++-------------------------------------- ++ ++Use "start JOB" or "stop JOB". ++ ++ ++How do I find the status of a job? ++---------------------------------- ++ ++Use "status JOB". ++ ++ ++Can I emit an event by hand? ++---------------------------- ++ ++Yes, "initctl emit EVENT" will emit the named event and cause any ++jobs waiting for it to be started or stopped as appropriate. +--- upstart-0.6.7.orig/debian/migrate-inittab.pl ++++ upstart-0.6.7/debian/migrate-inittab.pl +@@ -0,0 +1,143 @@ ++#!/usr/bin/perl ++ ++use strict; ++use warnings; ++ ++my %gettys; ++my $have_cad = 0; ++ ++ ++#-----------------------------------------------------------------------------# ++# Parse /etc/inittab ++#-----------------------------------------------------------------------------# ++ ++open INITTAB, "/etc/inittab" ++ or die "Unable to open /etc/inittab: $!"; ++ ++while (<INITTAB>) { ++ chomp; ++ s/^\s*//; ++ ++ next if /^#/; ++ next unless length; ++ ++ my ($id, $rlevel, $action, $process) = split /:/, $_, 4; ++ ++ warn "missing id field" and next ++ unless defined $id and length $id; ++ warn "missing runlevel field" and next ++ unless defined $rlevel; ++ warn "missing action field" and next ++ unless defined $action and length $action; ++ warn "missing process field" and next ++ unless defined $process; ++ ++ ++ $have_cad = 1 if $action eq "ctrlaltdel"; ++ $gettys{$1} = [ $rlevel, $process ] if $process =~ /getty.*\b(tty\w+)/; ++} ++ ++close INITTAB ++ or warn "Error while closing /etc/inittab: $!"; ++ ++ ++#-----------------------------------------------------------------------------# ++# Alter /etc/event.d ++#-----------------------------------------------------------------------------# ++ ++unlink "/etc/init/control-alt-delete.conf" ++ unless $have_cad; ++ ++foreach (qw/tty1 tty2 tty3 tty4 tty5 tty6/) { ++ unlink "/etc/init/$_.conf" ++ unless exists $gettys{$_}; ++} ++ ++foreach (sort keys %gettys) { ++ my ($rlevel, $process) = @{$gettys{$_}}; ++ ++ my @job; ++ if (-f "/etc/event.d/$_") { ++ open JOB, "/etc/event.d/$_" ++ or warn "Unable to open /etc/event.d/$_: $!" and next; ++ @job = <JOB>; ++ chomp @job; ++ close JOB ++ or warn "Error while closing /etc/event,d/$_: $!" and next; ++ ++ foreach my $rl (qw/2 3 4 5/) { ++ my $idx; ++ for ($idx = 0; $idx < @job; $idx++) { ++ last if $job[$idx] =~ /^\s*(start|stop)\s+on\s+runlevel\s+$rl\b/; ++ } ++ ++ if ($idx < @job) { ++ if ($rlevel =~ /$rl/) { ++ $job[$idx] =~ s/^(\s*)stop(\s+)/$1start$2/; ++ } else { ++ $job[$idx] =~ s/^(\s*)start(\s+)/$1stop$2/; ++ } ++ } else { ++ if ($rlevel =~ /$rl/) { ++ push @job, "start on runlevel $rl"; ++ } else { ++ push @job, "stop on runlevel $rl"; ++ } ++ } ++ } ++ ++ my $idx; ++ for ($idx = 0; $idx < @job; $idx++) { ++ last if $job[$idx] =~ /^\s*respawn\s*/; # match bare 'respawn' too ++ } ++ ++ if ($idx < @job) { ++ # only match old-style 'respawn process', not bare 'respawn' ++ $job[$idx] =~ s/^(\s*respawn\s+).*/$1$process/; ++ } else { ++ push @job, "respawn"; ++ push @job, "exec $process"; ++ } ++ ++ # Try to fix up effects of previous broken migrations ++ if (@job and $job[$#job] =~ /.*(.+?)exec (\1)$/) { ++ $job[$#job] = "exec $1"; ++ } ++ ++ } else { ++ push @job, "# $_ - getty"; ++ push @job, "#"; ++ push @job, "# Converted from /etc/inittab entry"; ++ push @job, ""; ++ ++ foreach my $rl (qw/2 3 4 5/) { ++ if ($rlevel =~ /$rl/) { ++ push @job, "start on runlevel $rl"; ++ } else { ++ push @job, "stop on runlevel $rl"; ++ } ++ } ++ push @job, ""; ++ ++ push @job, "stop on shutdown"; ++ push @job, ""; ++ ++ push @job, "respawn"; ++ push @job, "exec $process"; ++ } ++ ++ open JOB, ">/etc/event.d/.$_" ++ or warn "Unable to write to /etc/event.d/.$_: $!" and next; ++ print JOB map { "$_\n" } @job; ++ unless (close JOB) { ++ warn "Error while closing /etc/event.d/.$_: $!"; ++ unlink "/etc/event.d/.$_"; ++ next; ++ } ++ ++ unless (rename "/etc/event.d/.$_", "/etc/event.d/$_") { ++ warn "Unable to replace /etc/event.d/$_: $!"; ++ unlink "/etc/event.d/.$_"; ++ next; ++ } ++} +--- upstart-0.6.7.orig/debian/rules ++++ upstart-0.6.7/debian/rules +@@ -0,0 +1,25 @@ ++#!/usr/bin/make -f ++%: ++ dh $@ ++ ++ ++CFLAGS = -Wall -g -fstack-protector -fPIE ++LDFLAGS = -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -pie ++ ++# Disable optimisations if noopt found in $DEB_BUILD_OPTIONS ++ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) ++ CFLAGS += -O0 ++ LDFLAGS += -Wl,-O0 ++else ++ CFLAGS += -Os ++ LDFLAGS += -Wl,-O1 ++endif ++ ++override_dh_auto_configure: ++ dh_auto_configure -- CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ ++ --exec-prefix= ++ ++override_dh_fixperms: ++ dh_fixperms ++ chmod 755 debian/upstart/lib/init/upstart-job ++ chmod 755 debian/upstart/usr/lib/upstart/migrate-inittab.pl +--- upstart-0.6.7.orig/debian/compat ++++ upstart-0.6.7/debian/compat +@@ -0,0 +1 @@ ++7 +--- upstart-0.6.7.orig/debian/upstart-job ++++ upstart-0.6.7/debian/upstart-job +@@ -0,0 +1,73 @@ ++#!/bin/sh -e ++# upstart-job ++# ++# Symlink target for initscripts that have been converted to Upstart. ++ ++set -e ++ ++INITSCRIPT="$(basename "$0")" ++JOB="${INITSCRIPT%.sh}" ++ ++if [ "$JOB" = "upstart-job" ]; then ++ if [ -z "$1" ]; then ++ echo "Usage: upstart-job JOB COMMAND" 1>&2 ++ exit 1 ++ fi ++ ++ JOB="$1" ++ INITSCRIPT="$1" ++ shift ++else ++ if [ -z "$1" ]; then ++ echo "Usage: $0 COMMAND" 1>&2 ++ exit 1 ++ fi ++fi ++ ++COMMAND="$1" ++shift ++ ++ ++if [ -z "$DPKG_MAINTSCRIPT_PACKAGE" ]; then ++ ECHO=echo ++else ++ ECHO=: ++fi ++ ++$ECHO "Rather than invoking init scripts through /etc/init.d, use the service(8)" ++$ECHO "utility, e.g. service $INITSCRIPT $COMMAND" ++ ++case $COMMAND in ++status) ++ $ECHO ++ $ECHO "Since the script you are attempting to invoke has been converted to an" ++ $ECHO "Upstart job, you may also use the $COMMAND(8) utility, e.g. $COMMAND $JOB" ++ $COMMAND "$JOB" ++ ;; ++start|stop|restart) ++ $ECHO ++ $ECHO "Since the script you are attempting to invoke has been converted to an" ++ $ECHO "Upstart job, you may also use the $COMMAND(8) utility, e.g. $COMMAND $JOB" ++ PID=$(status "$JOB" 2>/dev/null | awk '/[0-9]$/ { print $NF }') ++ if [ -z "$PID" ] && [ "$COMMAND" = "stop" ]; then ++ exit 0 ++ elif [ -n "$PID" ] && [ "$COMMAND" = "start" ]; then ++ exit 0 ++ elif [ -z "$PID" ] && [ "$COMMAND" = "restart" ]; then ++ start "$JOB" ++ exit 0 ++ fi ++ $COMMAND "$JOB" ++ ;; ++reload|force-reload) ++ $ECHO ++ $ECHO "Since the script you are attempting to invoke has been converted to an" ++ $ECHO "Upstart job, you may also use the reload(8) utility, e.g. reload $JOB" ++ reload "$JOB" ++ ;; ++*) ++ $ECHO ++ $ECHO "The script you are attempting to invoke has been converted to an Upstart" 1>&2 ++ $ECHO "job, but $COMMAND is not supported for Upstart jobs." 1>&2 ++ exit 1 ++esac +--- upstart-0.6.7.orig/debian/upstart.postinst ++++ upstart-0.6.7/debian/upstart.postinst +@@ -0,0 +1,62 @@ ++#!/bin/sh -e ++# This script can be called in the following ways: ++# ++# After the package was installed: ++# <postinst> configure <old-version> ++# ++# ++# If prerm fails during upgrade or fails on failed upgrade: ++# <old-postinst> abort-upgrade <new-version> ++# ++# If prerm fails during deconfiguration of a package: ++# <postinst> abort-deconfigure in-favour <new-package> <version> ++# removing <old-package> <version> ++# ++# If prerm fails during replacement due to conflict: ++# <postinst> abort-remove in-favour <new-package> <version> ++ ++ ++# Remove a no-longer used conffile ++rm_conffile() ++{ ++ CONFFILE="$1" ++ ++ if [ -e "$CONFFILE".dpkg-obsolete ]; then ++ echo "Removing obsolete conffile $CONFFILE" ++ rm -f "$CONFFILE".dpkg-obsolete ++ fi ++} ++ ++ ++case "$1" in ++ configure) ++ if dpkg --compare-versions "$2" lt-nl 0.6.0; then ++ # We're upgrading from a version of Upstart that doesn't use ++ # D-Bus for its IPC. We have to tell it to re-exec into one ++ # that does. It'll lose all state, but we didn't keep much ++ # in those days. ++ telinit u ++ else ++ # Before we shutdown or reboot, we need to re-exec so that we ++ # can safely remount the root filesystem; we can't just do that ++ # here because we lose state. ++ touch /var/run/init.upgraded || : ++ fi ++ ++ # Upgrade from karmic development version ++ if dpkg --compare-versions "$2" lt-nl 0.6.3-7; then ++ rm_conffile /etc/init/dbus-reconnect.conf ++ fi ++ ;; ++ ++ abort-upgrade|abort-deconfigure|abort-remove) ++ ;; ++ ++ *) ++ echo "$0 called with unknown argument `$1'" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++#DEBHELPER# ++exit 0 +--- upstart-0.6.7.orig/debian/copyright ++++ upstart-0.6.7/debian/copyright +@@ -0,0 +1,18 @@ ++This is the Ubuntu package of upstart, the event-based init daemon. ++ ++Copyright © 2009 Canonical Ltd. ++Copyright © 2009 Scott James Remnant scott@netsplit.com ++ ++Licence: ++ ++This program is free software; you can redistribute it and/or modify ++it under the terms of the GNU General Public License version 2, as ++published by the Free Software Foundation. ++ ++This program is distributed in the hope that it will be useful, but ++WITHOUT ANY WARRANTY; without even the implied warranty of ++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++General Public License for more details. ++ ++On Ubuntu systems, the complete text of the GNU General Public License ++can be found in â/usr/share/common-licenses/GPLâ. +--- upstart-0.6.7.orig/debian/upstart.docs ++++ upstart-0.6.7/debian/upstart.docs +@@ -0,0 +1,2 @@ ++AUTHORS ++NEWS +--- upstart-0.6.7.orig/debian/upstart.postrm ++++ upstart-0.6.7/debian/upstart.postrm +@@ -0,0 +1,81 @@ ++#!/bin/sh -e ++# This script can be called in the following ways: ++# ++# After the package was removed: ++# <postrm> remove ++# ++# After the package was purged: ++# <postrm> purge ++# ++# After the package was upgraded: ++# <old-postrm> upgrade <new-version> ++# if that fails: ++# <new-postrm> failed-upgrade <old-version> ++# ++# ++# After all of the packages files have been replaced: ++# <postrm> disappear <overwriting-package> <version> ++# ++# ++# If preinst fails during install: ++# <new-postrm> abort-install ++# ++# If preinst fails during upgrade of removed package: ++# <new-postrm> abort-install <old-version> ++# ++# If preinst fails during upgrade: ++# <new-postrm> abort-upgrade <old-version> ++ ++ ++# Undo removal of a no-longer used conffile ++undo_rm_conffile() ++{ ++ CONFFILE="$1" ++ ++ if [ ! -e "$CONFFILE" ]; then ++ if [ -e "$CONFFILE".dpkg-bak ]; then ++ echo "Restoring modified conffile $CONFFILE" ++ mv -f "$CONFFILE".dpkg-bak "$CONFFILE" ++ elif [ -e "$CONFFILE".dpkg-obsolete ]; then ++ mv -f "$CONFFILE".dpkg-obsolete "$CONFFILE" ++ fi ++ fi ++} ++ ++# Finish removal of a no-longer used conffile ++finish_rm_conffile() ++{ ++ CONFFILE="$1" ++ ++ if [ -e "$CONFFILE".dpkg-bak ]; then ++ rm -f "$CONFFILE".dpkg-bak ++ fi ++} ++ ++ ++case "$1" in ++ remove) ++ ;; ++ ++ purge) ++ finish_rm_conffile /etc/init/dbus-reconnect.conf ++ ;; ++ ++ upgrade|failed-upgrade|disappear) ++ ;; ++ ++ abort-install|abort-upgrade) ++ # Abort upgrade from karmic development version ++ if dpkg --compare-versions "$2" lt-nl 0.6.3-7; then ++ undo_rm_conffile /etc/init/dbus-reconnect.conf ++ fi ++ ;; ++ ++ *) ++ echo "$0 called with unknown argument `$1'" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++#DEBHELPER# ++exit 0 +--- upstart-0.6.7.orig/debian/upstart.preinst ++++ upstart-0.6.7/debian/upstart.preinst +@@ -0,0 +1,54 @@ ++#!/bin/sh -e ++# This script can be called in the following ways: ++# ++# Before the package is installed: ++# <new-preinst> install ++# ++# Before removed package is upgraded: ++# <new-preinst> install <old-version> ++# ++# Before the package is upgraded: ++# <new-preinst> upgrade <old-version> ++# ++# ++# If postrm fails during upgrade or fails on failed upgrade: ++# <old-preinst> abort-upgrade <new-version> ++ ++ ++# Prepare to remove a no-longer used conffile ++prep_rm_conffile() ++{ ++ CONFFILE="$1" ++ ++ if [ -e "$CONFFILE" ]; then ++ md5sum="`md5sum "$CONFFILE" | sed -e "s/ .*//"`" ++ old_md5sum="`sed -n -e "/^Conffiles:/,/^[^ ]/{\\' $CONFFILE '{s/ obsolete$//;s/.* //;p}}" /var/lib/dpkg/status`" ++ if [ "$md5sum" != "$old_md5sum" ]; then ++ echo "Obsolete conffile $CONFFILE has been modified by you, renaming to .dpkg-bak" ++ mv -f "$CONFFILE" "$CONFFILE".dpkg-bak ++ else ++ mv -f "$CONFFILE" "$CONFFILE".dpkg-obsolete ++ fi ++ fi ++} ++ ++ ++case "$1" in ++ install|upgrade) ++ # Upgrade from karmic development version ++ if dpkg --compare-versions "$2" lt-nl 0.6.3-7; then ++ prep_rm_conffile /etc/init/dbus-reconnect.conf ++ fi ++ ;; ++ ++ abort-upgrade) ++ ;; ++ ++ *) ++ echo "$0 called with unknown argument `$1'" 1>&2 ++ exit 1 ++ ;; ++esac ++ ++#DEBHELPER# ++exit 0 +--- upstart-0.6.7.orig/debian/changelog ++++ upstart-0.6.7/debian/changelog +@@ -0,0 +1,712 @@ ++upstart (0.6.7-1) natty; urgency=low ++ ++ * New upstream release: ++ - Added manual stanza. ++ - Added debug stanza. ++ - Added start_on, stop_on and emits properties. ++ - Added GoalChanged, StateChanged and Failed signals. ++ - Documentation updates. ++ ++ * Added myself as a maintainer. ++ ++ -- James Hunt james.hunt@ubuntu.com Tue, 14 Dec 2010 17:15:57 +0000 ++ ++upstart (0.6.6-3) maverick; urgency=low ++ ++ * Ubuntu seems to have stopped installing Recommends of Build-Depends, ++ add a Build-Depend on dbus. LP: #602130. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 12 Aug 2010 16:38:05 -0400 ++ ++upstart (0.6.6-2) maverick; urgency=low ++ ++ * Apply patch from trunk to use /dev/null when /dev/console is unavailable ++ due to kernel bugs. This isn't a fix for those bugs, but it does work ++ around it for now. LP: #554172. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 12 Aug 2010 09:52:07 -0400 ++ ++upstart (0.6.6-1ubuntu1) maverick; urgency=low ++ ++ * Try buying with -fPIE/-pie on armel again; we have a shiny new armel ++ toolchain and this part of the rules was broken in 0.6.6-1 anyway. ++ ++ -- Loïc Minier loic.minier@ubuntu.com Fri, 23 Jul 2010 14:54:11 +0200 ++ ++upstart (0.6.6-1) maverick; urgency=low ++ ++ * New upstream release: ++ - All changes were previously merged into this package. ++ ++ * debian/upstart-job: ++ - Fix output for the force-reload command to only refer to reload(8). ++ LP: #532862. ++ ++ * Add debian/source/format with "1.0" to be future compatible. ++ * Add missing ${misc:Depends}. ++ * Bump standards version. ++ * Convert rules to dh7 format. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 27 Apr 2010 13:41:18 -0700 ++ ++upstart (0.6.5-6) lucid; urgency=low ++ ++ * Merge fixes from trunk: ++ - double-quoting of NIH_CFLAGS and NIH_DBUS_CFLAGS on --with-local-libnih ++ - document "env KEY" behaviour ++ * conf/rc.conf, conf/rc-sysinit.conf: ++ - enable console output. LP: #548954. ++ - pass value of INIT_VERBOSE from kernel command-line. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 01 Apr 2010 19:25:36 +0100 ++ ++upstart (0.6.5-5) lucid; urgency=low ++ ++ * init/main.c: ++ - Don't change the settings of the foreground console, this is often ++ owned by plymouth and not supposed to be in Canonical Mode; all other ++ paths have stty sane settings anyway (which these are not), so there ++ really isn't need for init to do this. LP: #540256. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 17 Mar 2010 22:34:55 +0000 ++ ++upstart (0.6.5-4) lucid; urgency=low ++ ++ * debian/control: ++ - change Pre-Depends back to Depends, this was a holdover from when we ++ attempted to make Upstart Essential to solve early sysvinitâupstart ++ upgrade issues, we backed out the Essential bit but never the use of ++ Pre-Depends. LP: #527722. ++ - add versioned-dependencies on ifupdown for loopback fix that can ++ prevent initscripts from being run. LP: #527830. ++ ++ * Merge patches from trunk to use /proc/self/fd instead of /dev/fd, and ++ to always mount /proc and /sys on boot. ++ ++ -- Scott James Remnant scott@ubuntu.com Fri, 26 Feb 2010 15:40:58 +0000 ++ ++upstart (0.6.5-3) lucid; urgency=low ++ ++ * udev/upstart-udev-bridge.c: use right variable name, fixing a build ++ failure. (LP: #524484) ++ ++ -- Scott Moser smoser@ubuntu.com Fri, 19 Feb 2010 10:21:33 -0500 ++ ++upstart (0.6.5-2) lucid; urgency=low ++ ++ * udev/upstart-udev-bridge.c: ++ - Increase receiving buffer size for uevents so we don't miss any. ++ LP: #504883. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 17 Feb 2010 15:50:40 +0000 ++ ++upstart (0.6.5-1) lucid; urgency=low ++ ++ * New upstream release: ++ - libnih has been separated out into its own project. ++ - "start on" and "stop on" now support != matches. LP: #513035. ++ - Fixed crash in child when unable to spawn job. LP: #451917. ++ - No longer holds /dev/console open so SAK won't kill init. LP: #486005. ++ - Added missing OPTIONS section to init(8). LP: #449883. ++ ++ [ Scott James Remnant ] ++ * Build-depend on libnih-dev, libnih-dbus-dev and nih-dbus-tool to use ++ the separated out libnih. ++ - This has the fix for LP: #436758. ++ - Remove changelog.nih from the doc directory. ++ * Bump udev build-dependency to 147 to match upstream. ++ * udev/Makefile.am: Update to use external libnih ++ ++ [ Johan Kiviniemi ] ++ * udev/upstart-udev-bridge.c: Change -device-remove to -device-removed to ++ match -device-added and -device-changed. LP: #516698. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 04 Feb 2010 16:30:10 -0800 ++ ++upstart (0.6.3-11build1) lucid; urgency=low ++ ++ * Rebuild to pick up relaxed dependency on libc6, after checking that ++ __abort_msg is available with the same signature in eglibc 2.11. ++ LP: #508702. ++ ++ -- Matthias Klose doko@ubuntu.com Mon, 18 Jan 2010 16:10:11 +0100 ++ ++upstart (0.6.3-11) karmic-proposed; urgency=low ++ ++ * Make rc-sysinit.conf wait on the loopback interface, to ensure that the ++ interface is up before we process the scripts in /etc/rc?.d. LP: #461725. ++ ++ -- Steve Langasek steve.langasek@ubuntu.com Tue, 08 Dec 2009 12:58:37 -0800 ++ ++upstart (0.6.3-10) karmic; urgency=low ++ ++ * Retain the "telinit u" for the case when we're upgrading from pre-0.6 ++ (ie. hardy or jaunty). Whups. LP: #451556. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 15 Oct 2009 17:48:47 +0100 ++ ++upstart (0.6.3-9) karmic; urgency=low ++ ++ * Restore the call to sync() in reboot, have been observing some issues ++ and it looks like ext4 might not be explicitly flushing the disk when ++ remounting read-only. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 14 Oct 2009 16:40:32 +0100 ++ ++upstart (0.6.3-8) karmic; urgency=low ++ ++ * Rather than calling "telinit u" after upgrade, which will lose state, ++ have the umountroot initscript take care of it for us by setting a ++ flag. LP: #441796. ++ * Don't lose the original default runlevel if /etc/inittab exists without ++ an initdefault line. LP: #405847. ++ * Fix "unhandled error" in shutdown when unable to change runlevel, ++ e.g. due to previous Ubiquity bug. LP: #426332. ++ * Merge change from trunk that makes it possible to build Upstart using ++ a previously built copy of nih-dbus-tool, especially useful when ++ cross-compiling. LP: #426740. ++ * Merge change from libnih to store our assertion messages in the ++ glibc __abort_msg symbol so apport can pick them up. LP: #429411. ++ * Merge change from libnih to fix compilation issue with eglibc due ++ to changed alphasort() prototype. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 14 Oct 2009 05:34:13 +0100 ++ ++upstart (0.6.3-7) karmic; urgency=low ++ ++ * Ignore initramfs pids that don't exist. LP: #440071. ++ - you still need to ensure that the pid's parent is init, there's no ++ cheap way to test for that. ++ * Remove "console owner" and "console output" from rc scripts. ++ * Try harder to remove dbus-reconnect.conf ++ ++ -- Scott James Remnant scott@ubuntu.com Fri, 02 Oct 2009 21:09:03 +0100 ++ ++upstart (0.6.3-6) karmic; urgency=low ++ ++ * Don't use "telinit q" to reconnect to D-Bus, since that breaks ++ lots of things. Invent another secret way instead. ++ ++ [ Steve Langasek ] ++ * upstart-job's restart target must also not fail when the service is not ++ yet started. LP: #430883. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 01 Oct 2009 15:26:19 +0100 ++ ++upstart (0.6.3-5) karmic; urgency=low ++ ++ * Update autoconf and automake files. LP: #435252. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 23 Sep 2009 14:16:34 -0700 ++ ++upstart (0.6.3-4) karmic; urgency=low ++ ++ [ Scott James Remnant ] ++ * Reduce the priority of the stopped by/continued by messages so that ++ they are only shown when --verbose on the kernel command-line. ++ LP: #401333. ++ * Add a hack to look for /dev/.initramfs/*.pid files on startup and ++ "fake" start jobs of those names. Basically this means that "status" ++ and "stop" work for things like bootchart and usplash. ++ * Implement a "reload" command in initctl that retrieves the current pid ++ of the job and sends it the HUP signal. LP: #433544. ++ ++ [ Steve Langasek ] ++ * debian/upstart-job: ++ - give proper policy-compliant behavior of the start command: detect if ++ the job is already running using upstart status, and if so return success. ++ - same for the stop command: return success if the job is already stopped. ++ - when $DPKG_MAINTSCRIPT_PACKAGE is set, don't spit warnings out because ++ it's not the user's fault - we're being invoked by a maintainer script. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 22 Sep 2009 13:56:48 -0700 ++ ++upstart (0.6.3-3) karmic; urgency=low ++ ++ * debian/upstart-job: ++ - force-reload should only send a HUP signal, since it may not be wise ++ to actually restart (cf. dbus) ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 16 Sep 2009 00:10:13 +0100 ++ ++upstart (0.6.3-2) karmic; urgency=low ++ ++ FFE LP: #427356. ++ ++ * debian/upstart-job: ++ - Remove trailing "s" from file ++ - Support direct invocation better. ++ * udev/upstart-udev-bridge.c: ++ - New tool to capture events from the udev netlink socket and ++ convert into upstart events. ++ * conf/rc-sysinit.conf: ++ - Run once all filesystems are mounted, rather than on startup ++ * debian/control: ++ - Add dependency on mountall for the filesystem event. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 15 Sep 2009 03:19:09 +0100 ++ ++upstart (0.6.3-1) karmic; urgency=low ++ ++ * New upstream release: ++ - Fixed assertion when a job exits while stopping. LP: #406408. ++ - Fixed compilation on ia64. ++ - nih-dbus-tool(1) manpage no longer installed. ++ ++ -- Scott James Remnant scott@ubuntu.com Mon, 03 Aug 2009 23:58:47 +0100 ++ ++upstart (0.6.2-1) karmic; urgency=low ++ ++ * New upstream release: ++ - Fixed assertion when stopping a job during its starting event. ++ - Fixed fork following to not stop on exec() before fork() ++ - Fixed missing chdir() in crash handler. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 22 Jul 2009 10:39:50 +0100 ++ ++upstart (0.6.1-1) karmic; urgency=low ++ ++ * New upstream release: ++ - Fixed race condition in ptrace() code. LP: #264711. ++ - Fixed runlevel to output "unknown" not "N N". LP: #400248. ++ - Fixed runlevel to prefix error messages with filename. LP: #400241. ++ ++ * Provide/Conflict/Replace the agreed "upstart-job" meta-package. ++ LP: #399799. ++ * Bump dpkg dependency to 1.2.16 ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 16 Jul 2009 18:26:23 +0100 ++ ++upstart (0.6.0-5) karmic; urgency=low ++ ++ * Cherry-pick patch from -r1188 to fix "expect fork" and "expect daemon" ++ LP: #264711. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 14 Jul 2009 15:19:17 +0100 ++ ++upstart (0.6.0-4) karmic; urgency=low ++ ++ * Don't build the testsuite with -fPIE on armel; LP: #398403. ++ ++ -- Loïc Minier lool@dooz.org Mon, 13 Jul 2009 22:12:34 +0200 ++ ++upstart (0.6.0-3) karmic; urgency=low ++ ++ * Add Conflicts on older Upstart packages to make update-manager's ++ job easier. ++ ++ -- Scott James Remnant scott@ubuntu.com Fri, 10 Jul 2009 10:11:21 +0100 ++ ++upstart (0.6.0-2) karmic; urgency=low ++ ++ * Bump D-Bus build dependency to ensure we get the container abandonment ++ patches, and the GIT version bump. ++ * Actually ship /lib/init/upstart-job ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 09 Jul 2009 17:29:59 +0100 ++ ++upstart (0.6.0-1) karmic; urgency=low ++ ++ * New upstream release ("How appropriate, you fight like a cow") ++ - my customary changes list since pointless, it's basically a ++ complete rewrite. ++ - Handles /bin/sh symlink disappearing. LP: #65024. ++ - Boot parameters may be passed to init scripts. LP: #74664. ++ - reboot implies --force during shutdown. LP: #388738. ++ - reboot no longer iterates /proc/ide. LP: #92685. ++ - much improved documentation. LP: #60429, #72058, #388715. ++ ++ * Merge the various upstart packages into a single package, it makes ++ little sense to have it all spread out. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 08 Jul 2009 23:12:03 +0100 ++ ++upstart (0.3.10-2) karmic; urgency=low ++ ++ * debian/upstart.postinst: Use telinit u to re-exec, rather than ++ kill just in case it's not Upstart that's running. LP: #92177. ++ * debian/event.d/system-services/tty*: Run getty in 8-bit clean ++ mode. LP: #273189. ++ * debian/event.d/upstart-compat-sysv/rc-default: ++ - Don't use grep -w, instead split on $IFS and iterate. LP: #385911. ++ - Check for any valid runlevel, not just S. LP: #85014. ++ - Make console owner, since it may spawn sulogin. ++ * debian/event.d/upstart-compat-sysv/rcS: ++ - Spawn sulogin if given -b or "emergency". LP: #193810. ++ * debian/event.d/upstart-compat-sysv/rcS: ++ - Make console owner. LP: #211402. ++ * debian/event.d/upstart-compat-sysv/rcS-sulogin: ++ - Place the telinit code in post-stop, checking $UPSTART_EVENT first so ++ we don't change the runlevel if we were stopped due to a runlevel ++ change. LP: #66002. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 18 Jun 2009 16:19:34 +0100 ++ ++upstart (0.3.10-1) karmic; urgency=low ++ ++ * Compilation fixes. ++ * Fixed assertion caused by the post-start or pre-stop scripts ++ exiting after the main process of a respawning job had exited. ++ LP: #381048. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 17 Jun 2009 13:33:40 +0100 ++ ++upstart (0.3.9-8) intrepid; urgency=low ++ ++ * Do not attempt to continue communicating with the restarted upstart ++ (LP: #273761). ++ ++ -- Kees Cook kees@ubuntu.com Mon, 29 Sep 2008 13:35:21 -0700 ++ ++upstart (0.3.9-7) intrepid; urgency=low ++ ++ * Implement "telinit u" by just sending Upstart SIGTERM with a slightly ++ different patch than Fedora. LP: #188925. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 23 Sep 2008 09:01:09 -0700 ++ ++upstart (0.3.9-6) intrepid; urgency=low ++ ++ * Really fix LP: #237276 properly this time, lost the change while mucking ++ around with bzr. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 22:29:48 +0100 ++ ++upstart (0.3.9-5) intrepid; urgency=low ++ ++ * Correct build problem on amd64 and ia64 by only building libnih and ++ libupstart statically. The shared objects were unwanted, and conflict ++ with -fPIE. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 17:07:12 +0100 ++ ++upstart (0.3.9-4) intrepid; urgency=low ++ ++ * Add missing limits.h, required to build with current libc. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 13:09:32 +0100 ++ ++upstart (0.3.9-3) intrepid; urgency=low ++ ++ * Change dependency from sysvutils to sysvinit-utils. LP: #237276. ++ * Compile with stack -fstack-protector, -fPIE, -z relro, -z now and -pie ++ (MMmm, pie) ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 04 Jun 2008 12:59:11 +0100 ++ ++upstart (0.3.9-2) hardy; urgency=low ++ ++ * Start the getty on tty1 after the rc script has stopped rather then ++ at the same time it starts to avoid overwriting by console messages. ++ tty2..6 will still be active if you want an early login. LP: #65230. ++ * If the recovery menu is available start that instead of sulogin when ++ entering single-user-mode. ++ ++ -- Scott James Remnant scott@ubuntu.com Fri, 11 Apr 2008 13:38:50 +0100 ++ ++upstart (0.3.9-1) hardy; urgency=low ++ ++ * New upstream release: ++ - many bug fixes. ++ ++ * Update reference to "edgy" in README.Debian to "hardy". LP: #140037. ++ ++ -- Scott James Remnant scott@ubuntu.com Sun, 28 Oct 2007 10:51:59 -0400 ++ ++upstart (0.3.8-2) gutsy; urgency=low ++ ++ * Fix broken migration of old-style 'respawn process' stanzas which ++ produced corrupted 'exec' stanzas. Try to fix up files previously ++ corrupted by this. LP: #95210 ++ ++ -- Scott James Remnant scott@ubuntu.com Sun, 28 Oct 2007 10:50:36 -0400 ++ ++upstart (0.3.8-1) feisty; urgency=low ++ ++ * New upstream release: ++ - much improved initctl tool. ++ ++ * Update my standard prep_/undo_/rm_conffile functions to take into account ++ current dpkg behaviour wrt obsolete conffiles. The conffile is now moved ++ out of the way in preinst and the moved file deleted in postinst, or moved ++ back in postrm abort-upgrade. This means it's not there when dpkg ++ configures the new version, so the conffile is not left in the list. ++ * Purge backups of modified obsolete conffiles when the package is purged. ++ ++ * Update runlevel and respawn rule generated in migrate-inittab.pl ++ LP: #89314 ++ ++ * Drop 00-libnih-update.patch and 01-libnih-sparc-ftbfs.patch; new upstream ++ release includes an up-to-date libnih which contains both patches. ++ * Drop 10-cant-stop-execless-job.patch; included upstream. ++ * Drop 20-complex-event-config.patch; this is going to be significantly ++ changed upstream, and we don't want to ship something strange. ++ * Drop 30-fix-warnings.patch; included upstream. ++ ++ -- Scott James Remnant scott@ubuntu.com Sun, 11 Mar 2007 19:19:00 +0000 ++ ++upstart (0.3.5-2) feisty; urgency=low ++ ++ * Changed "start script" to "pre-start script" in sulogin event, the former ++ is no longer recognised. ++ ++ * Applied 01-libnih-sparc-ftbfs.patch; this updates the signal name list ++ to exclude signals not available on that architecture, and add one that's ++ unique to it. ++ * Applied 30-fix-warnings.patch; this corrects a few warnings that spoiled ++ an otherwise clean build log. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 13 Feb 2007 15:56:33 +0000 ++ ++upstart (0.3.5-1) feisty; urgency=low ++ ++ * New upstream release: ++ - inotify file descriptor leak fixed. LP: #83099. ++ - inotify support is no longer required. LP: #68904. ++ - new job state machine ++ - new event structure, can now include arguments and environment ++ ++ * Applied 00-libnih-update.patch; this updates the libnih library to the ++ latest bzr trunk version, required for the complex-event-config patch. ++ * Applied 10-cant-stop-execless-job.patch from upstream; this corrects a ++ bug where jobs without an "exec" or "script" stanza cannot be stopped. ++ * Applied 20-complex-event-config.patch from upstream; this is an ++ experimental implementation of the "on" keyword that allows definition ++ of complex system states. ++ ++ * System V compatibility jobs updated to match new event names. ++ * rcS job now sets PREVLEVEL and RUNLEVEL. LP: #76304. ++ ++ * NOTE: After this upgrade, init will appear to have "forgotten" the ++ process ids of your gettys, etc. This is not a critical problem and ++ will be fixed before release. Shutdown will still work as normal. ++ ++ -- Scott James Remnant scott@ubuntu.com Mon, 12 Feb 2007 13:51:40 +0000 ++ ++upstart (0.3.1-1) feisty; urgency=low ++ ++ * New upstream release: ++ - start, stop and status are now symlinks to initctl, not to a ++ different, separate utility. ++ - initctl completely rewritten to behave properly. ++ - some upstart-specific options to shutdown and reboot dropped, as ++ these are considered SysV-compat tools. ++ - "console none" fixed. LP: #70782. ++ - improved documentation. LP: #68805. ++ ++ * shutdown and reboot moved to upstart-compat-sysv. ++ ++ * Replace the /usr/share/doc/* directory in upstart-logd, ++ upstart-compat-sysv, system-services and startup-tasks with a symlink to ++ /usr/share/doc/upstart. This was actually done in a previous package, ++ but the migration missed. LP: #70895. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 13 Dec 2006 17:27:37 +0000 ++ ++upstart (0.2.7-7) edgy; urgency=low ++ ++ * Don't abort the postinst if we can't send init SIGTERM. Ubuntu: #64499. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 10 Oct 2006 10:13:05 +0100 ++ ++upstart (0.2.7-6) edgy; urgency=low ++ ++ * Don't start gettys on tty2 thru tty6 in runlevels 4 and 5 (matches ++ our sysvinit configuration). ++ * Migrate common changes made to /etc/inittab to /etc/event.d by ++ adjusting the installed conffiles. Ubuntu: #61539. ++ ++ * Include missing AUTHORS and NEWS file in the upstart package. ++ * Include README.Debian which answers common questions. Ubuntu: #60429. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 5 Oct 2006 16:08:34 +0100 ++ ++upstart (0.2.7-5) edgy; urgency=low ++ ++ * Don't set the current runlevel in /var/run/utmp to 0 or 6 if it is ++ already either of those two values. That way we don't end up with ++ either 0 or 6 in the PREVLEVEL variable, which can cause ++ /etc/init.d/rc to be "efficient" and not bother doing ++ anything. Ubuntu: #63852. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 4 Oct 2006 14:06:18 +0100 ++ ++upstart (0.2.7-4) edgy; urgency=low ++ ++ * Can't just start rc-default once in single-user mode, because if we ++ boot into that, that will just return us back to sulogin again. Copy ++ the script out of rc-default into rcS-sulogin to call telinit with the ++ right default runlevel. Ubuntu: #62189. ++ ++ * Add Build-Depend on dpkg-dev (>= 1.13.19) due to our use of ++ ${binary:Version}. Ubuntu: #61693. ++ ++ -- Scott James Remnant scott@ubuntu.com Tue, 26 Sep 2006 17:20:42 +0100 ++ ++upstart (0.2.7-3) edgy; urgency=low ++ ++ * Set the runlevel to "S" when we enter sulogin so that it appears ++ in utmp. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 21 Sep 2006 05:37:25 +0100 ++ ++upstart (0.2.7-2) edgy; urgency=low ++ ++ * Ensure that the same version of upstart is installed as the version of ++ upstart-compat-sysv and upstart-logd; as the IPC protocol may change ++ between releases. ++ ++ * Adjust the rcS-sulogin job so that if sulogin exits the default runlevel ++ is entered; but if the job is stopped (e.g. by shutdown) it isn't. The ++ solves the regression introduced in the previous release. ++ ++ * Revert upstream logd/"quiet" change in favour of doing it in our ++ lsb logging functions instead; seems to work better (fsvo better). ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 21 Sep 2006 03:12:33 +0100 ++ ++upstart (0.2.7-1) edgy; urgency=low ++ ++ * New upstream release: ++ - logd now writes to the console unless "quiet" is specified ++ - runaway jobs caught when they start rather than respawn. Ubuntu: #59807 ++ ++ * Fix failure to shutdown while in single-user mode, however this means ++ that for edgy you can't exit the sulogin shell to enter the default ++ runlevel; explicitly say what works. Ubuntu: #60626. ++ * Drop unnecessary dependency on util-linux. ++ * Drop sulogin hack, instead depend on the version of sysvutils that ++ includes the real one. Ubuntu: #60965. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 20 Sep 2006 05:39:16 +0100 ++ ++upstart (0.2.6-1) edgy; urgency=low ++ ++ * New upstream release: ++ - fix infinite loop caused by bad waitid() call. Ubuntu: #59459. ++ - halt now behaves as "shutdown -h now". Ubuntu: #59720. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 13 Sep 2006 22:16:17 +0100 ++ ++upstart (0.2.5-1) edgy; urgency=low ++ ++ * New upstream release: ++ - no longer spins when no stalled event handler. Ubuntu: #59170. ++ - shutdown works when under sysvinit. Ubuntu: #58523; ++ - shutdown -k implemented. Ubuntu: #58723. ++ - telinit sends shutdown event for 0, 1 and 6. Ubuntu: #58913. ++ - basic manual pages included. Ubuntu: #58724. ++ ++ * upstart-compat-sysv Replaces: sysvinit. Ubuntu: #59427. ++ * upstart Recommends: upstart-compat-sysv, startup-tasks & system-services. ++ ++ * New upstart-logd package includes the logd daemon that can will log ++ output of jobs with "console logged" (the default) in their description ++ to /var/log/boot. ++ ++ * Add /etc/event.d/rc0 that is run on the "halt" event (neither -H or -P ++ given), and modify rc0-halt to run on "system-halt" (-H given) and ++ rc0-poweroff to run on "power-off" (-P given). Ubuntu: #59134. ++ * Fix the control-alt-delete job to run on the "ctrlaltdel" event so ++ that it's triggered properly. Ubuntu: #59398. ++ * Fix single-user mode. ++ ++ -- Scott James Remnant scott@ubuntu.com Sat, 9 Sep 2006 05:10:12 +0100 ++ ++upstart (0.2.1-7) edgy; urgency=low ++ ++ * Remove the Essential tags again, they didn't solve the problem we ++ hoped they would (dpkg/apt still won't remove sysvinit without ++ serious persuasion) and I don't think these packages should be. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 7 Sep 2006 02:42:33 +0100 ++ ++upstart (0.2.1-6) edgy; urgency=low ++ ++ * Make packages Essential, and change Depends to Pre-Depends so that the ++ packages work when unconfigured (nothing interesting is performed in ++ postinst). Ubuntu: #59005. ++ * Sync priority in debian/control with that in the archive (required) ++ * Drop warning of dire consequences if you install upstart, seeing as it's ++ installed by default. ++ ++ * Add new startup-tasks and system-services packages which will contain ++ the /etc/event.d files themselves (other than the main ones). ++ * Move tty definitions into system-services. ++ * Modify tty definitions to start when the rcS task has finished. This ++ puts them in the "right" place when compared to gdm. Ubuntu: #58630. ++ ++ * Correct rcS compatibility script to ignore any information in utmp so ++ that all scripts are always run. Ubuntu: #59203. ++ * Make rcS the console owner while it runs, temporary fix for ++ Ubuntu: #58609, #58794, #58796 ++ * Include default control-alt-delete handler that reboots the machine. ++ ++ -- Scott James Remnant scott@ubuntu.com Wed, 6 Sep 2006 21:52:48 +0100 ++ ++upstart (0.2.1-5) edgy; urgency=low ++ ++ * upstart-compat-sysv Depends: initscripts (closes: Malone #58979). ++ ++ -- Colin Watson cjwatson@ubuntu.com Tue, 5 Sep 2006 12:22:50 +0100 ++ ++upstart (0.2.1-4) edgy; urgency=low ++ ++ * Add missing #! line to top of postrm ++ ++ -- Scott James Remnant scott@ubuntu.com Mon, 4 Sep 2006 08:11:16 +0100 ++ ++upstart (0.2.1-3) edgy; urgency=low ++ ++ * Remove the rc0 configuration file shipped in 0.1.0 that causes all ++ reboots to become shutdowns. Ubuntu: #58557. ++ ++ -- Scott James Remnant scott@ubuntu.com Sun, 3 Sep 2006 23:24:41 +0100 ++ ++upstart (0.2.1-2) edgy; urgency=low ++ ++ * Don't send the SIGTERM signal unless we're upgrading from a version ++ of upstart that supports re-exec; older versions would cause a kernel ++ PANIC and change from sysvinit does nothing. ++ ++ -- Scott James Remnant scott@ubuntu.com Sat, 2 Sep 2006 17:18:38 +0100 ++ ++upstart (0.2.1-1) edgy; urgency=low ++ ++ * New upstream release: ++ - compilation fixes. ++ ++ -- Scott James Remnant scott@ubuntu.com Fri, 1 Sep 2006 19:51:41 +0100 ++ ++upstart (0.2.0-1) edgy; urgency=low ++ ++ * New upstream release: ++ - upstart includes shutdown, reboot, halt, poweroff, start, stop, status, ++ runlevel and telinit utilities. ++ - "initctl list" will list active jobs. ++ - Events vastly simplified to just simple strings. ++ ++ * Compatibility tasks for old rc scripts, along with runlevel and telinit ++ utilities now shipped in upstart-compat-sysv package. ++ ++ -- Scott James Remnant scott@ubuntu.com Fri, 1 Sep 2006 02:38:44 +0100 ++ ++upstart (0.1.1-1) edgy; urgency=low ++ ++ * New upstream release: ++ - set PATH and TERM in processes ++ ++ -- Scott James Remnant scott@ubuntu.com Fri, 25 Aug 2006 16:17:52 +0200 ++ ++upstart (0.1.0-2) edgy; urgency=low ++ ++ * Oops, rename /sbin/init to /sbin/upstart as documented. Lost this ++ while battling bzr. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 24 Aug 2006 16:30:54 +0200 ++ ++upstart (0.1.0-1) edgy; urgency=low ++ ++ * Initial release. ++ ++ -- Scott James Remnant scott@ubuntu.com Thu, 24 Aug 2006 14:27:47 +0200 +--- upstart-0.6.7.orig/debian/conf/tty1.conf ++++ upstart-0.6.7/debian/conf/tty1.conf +@@ -0,0 +1,10 @@ ++# tty1 - getty ++# ++# This service maintains a getty on tty1 from the point the system is ++# started until it is shut down again. ++ ++start on stopped rc RUNLEVEL=[2345] ++stop on runlevel [!2345] ++ ++respawn ++exec /sbin/getty -8 38400 tty1 +--- upstart-0.6.7.orig/debian/conf/tty6.conf ++++ upstart-0.6.7/debian/conf/tty6.conf +@@ -0,0 +1,10 @@ ++# tty6 - getty ++# ++# This service maintains a getty on tty6 from the point the system is ++# started until it is shut down again. ++ ++start on runlevel [23] ++stop on runlevel [!23] ++ ++respawn ++exec /sbin/getty -8 38400 tty6 +--- upstart-0.6.7.orig/debian/conf/tty5.conf ++++ upstart-0.6.7/debian/conf/tty5.conf +@@ -0,0 +1,10 @@ ++# tty5 - getty ++# ++# This service maintains a getty on tty5 from the point the system is ++# started until it is shut down again. ++ ++start on runlevel [23] ++stop on runlevel [!23] ++ ++respawn ++exec /sbin/getty -8 38400 tty5 +--- upstart-0.6.7.orig/debian/conf/tty4.conf ++++ upstart-0.6.7/debian/conf/tty4.conf +@@ -0,0 +1,10 @@ ++# tty4 - getty ++# ++# This service maintains a getty on tty4 from the point the system is ++# started until it is shut down again. ++ ++start on runlevel [23] ++stop on runlevel [!23] ++ ++respawn ++exec /sbin/getty -8 38400 tty4 +--- upstart-0.6.7.orig/debian/conf/tty2.conf ++++ upstart-0.6.7/debian/conf/tty2.conf +@@ -0,0 +1,10 @@ ++# tty2 - getty ++# ++# This service maintains a getty on tty2 from the point the system is ++# started until it is shut down again. ++ ++start on runlevel [23] ++stop on runlevel [!23] ++ ++respawn ++exec /sbin/getty -8 38400 tty2 +--- upstart-0.6.7.orig/debian/conf/rcS.conf ++++ upstart-0.6.7/debian/conf/rcS.conf +@@ -0,0 +1,32 @@ ++# rcS - System V single-user mode compatibility ++# ++# This task handles the old System V-style single-user mode, this is ++# distinct from the other runlevels since running the rc script would ++# be bad. ++ ++description "System V single-user mode compatibility" ++author "Scott James Remnant scott@netsplit.com" ++ ++start on runlevel S ++stop on runlevel [!S] ++ ++console owner ++script ++ if [ -x /usr/share/recovery-mode/recovery-menu ]; then ++ exec /usr/share/recovery-mode/recovery-menu ++ else ++ exec /sbin/sulogin ++ fi ++end script ++ ++post-stop script ++ # Don't switch runlevels if we were stopped by an event, since that ++ # means we're already switching runlevels ++ if [ -n "${UPSTART_STOP_EVENTS}" ] ++ then ++ exit 0 ++ fi ++ ++ # Switch, passing a magic flag ++ start --no-wait rc-sysinit FROM_SINGLE_USER_MODE=y ++end script +--- upstart-0.6.7.orig/debian/conf/tty3.conf ++++ upstart-0.6.7/debian/conf/tty3.conf +@@ -0,0 +1,10 @@ ++# tty3 - getty ++# ++# This service maintains a getty on tty3 from the point the system is ++# started until it is shut down again. ++ ++start on runlevel [23] ++stop on runlevel [!23] ++ ++respawn ++exec /sbin/getty -8 38400 tty3 +--- upstart-0.6.7.orig/debian/source/format ++++ upstart-0.6.7/debian/source/format +@@ -0,0 +1 @@ ++1.0 +--- upstart-0.6.7.orig/util/Makefile.in ++++ upstart-0.6.7/util/Makefile.in +@@ -321,6 +321,8 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +--- upstart-0.6.7.orig/contrib/Makefile.in ++++ upstart-0.6.7/contrib/Makefile.in +@@ -180,6 +180,8 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +--- upstart-0.6.7.orig/dbus/Makefile.in ++++ upstart-0.6.7/dbus/Makefile.in +@@ -205,6 +205,8 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +--- upstart-0.6.7.orig/doc/Makefile.in ++++ upstart-0.6.7/doc/Makefile.in +@@ -180,6 +180,8 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +--- upstart-0.6.7.orig/init/Makefile.in ++++ upstart-0.6.7/init/Makefile.in +@@ -388,6 +388,8 @@ + SET_MAKE = @SET_MAKE@ + SHELL = @SHELL@ + STRIP = @STRIP@ ++UDEV_CFLAGS = @UDEV_CFLAGS@ ++UDEV_LIBS = @UDEV_LIBS@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + USE_NLS = @USE_NLS@ + VERSION = @VERSION@ +--- upstart-0.6.7.orig/init/main.c ++++ upstart-0.6.7/init/main.c +@@ -31,6 +31,7 @@ + + #include <errno.h> + #include <stdio.h> ++#include <dirent.h> + #include <signal.h> + #include <stdlib.h> + #include <string.h> +@@ -167,12 +168,7 @@ + */ + setsid (); + +- /* Set the standard file descriptors to the ordinary console device, +- * resetting it to sane defaults unless we're inheriting from another +- * init process which we know left it in a sane state. +- */ +- if (system_setup_console (CONSOLE_OUTPUT, (! restart)) < 0) +- nih_free (nih_error_get ()); ++ /* Set the standard file descriptors. */ + if (system_setup_console (CONSOLE_NONE, FALSE) < 0) + nih_free (nih_error_get ()); + +@@ -325,7 +321,68 @@ + * init daemon that exec'd us + */ + if (! restart) { ++ DIR *piddir; ++ + NIH_MUST (event_new (NULL, STARTUP_EVENT, NULL)); ++ ++ /* Total hack, look for .pid files in /dev/.initramfs - ++ * if there's a job config for them pretend that we ++ * started it and it has that pid. ++ */ ++ piddir = opendir ("/dev/.initramfs"); ++ if (piddir) { ++ struct dirent *ent; ++ ++ while ((ent = readdir (piddir)) != NULL) { ++ char path[PATH_MAX]; ++ char * ptr; ++ FILE * pidfile; ++ pid_t pid; ++ JobClass *class; ++ Job * job; ++ ++ if (ent->d_name[0] == '.') ++ continue; ++ ++ strcpy (path, "/dev/.initramfs/"); ++ strcat (path, ent->d_name); ++ ++ ptr = strrchr (ent->d_name, '.'); ++ if ((! ptr) || strcmp (ptr, ".pid")) ++ continue; ++ ++ *ptr = '\0'; ++ pidfile = fopen (path, "r"); ++ if (! pidfile) ++ continue; ++ ++ pid = -1; ++ if (fscanf (pidfile, "%d", &pid)) ++ ; ++ fclose (pidfile); ++ ++ if ((pid < 0) ++ || (kill (pid, 0) < 0)) ++ continue; ++ ++ class = (JobClass *)nih_hash_lookup (job_classes, ent->d_name); ++ if (! class) ++ continue; ++ if (! class->process[PROCESS_MAIN]) ++ continue; ++ if (strlen (class->instance)) ++ continue; ++ ++ job = NIH_MUST (job_new (class, "")); ++ job->goal = JOB_START; ++ job->state = JOB_RUNNING; ++ job->pid[PROCESS_MAIN] = pid; ++ ++ nih_debug ("%s inherited from initramfs with pid %d", class->name, pid); ++ } ++ ++ closedir (piddir); ++ } + } else { + sigset_t mask; + diff --git a/pkgs/core/upstart/upstart.nm b/pkgs/core/upstart/upstart.nm index 553ddf1..8e64914 100644 --- a/pkgs/core/upstart/upstart.nm +++ b/pkgs/core/upstart/upstart.nm @@ -25,8 +25,8 @@ include $(PKGROOT)/Include
PKG_NAME = upstart -PKG_VER = 0.6.6 -PKG_REL = 1 +PKG_VER = 0.6.7 +PKG_REL = 0
PKG_MAINTAINER = Stefan Schantl stefan.schantl@ipfire.org PKG_GROUP = System/Base diff --git a/pkgs/core/vim/patches/vim-7.2-fixes-4.patch b/pkgs/core/vim/patches/vim-7.2-fixes-4.patch deleted file mode 100644 index d6c1bfd..0000000 --- a/pkgs/core/vim/patches/vim-7.2-fixes-4.patch +++ /dev/null @@ -1,5414 +0,0 @@ -Submitted By: Matt Burgess <matthew_at_linuxfromscratch_dot_org> -Date: 2008-12-06 -Initial Package Version: 7.2 -Upstream Status: Already in upstream patch repo -Origin: Upstream -Description: This patch is upstream patch numbers 1 thru 65. - -diff -Naur vim72.orig/Filelist vim72/Filelist ---- vim72.orig/Filelist 2008-07-06 19:02:23.000000000 +0100 -+++ vim72/Filelist 2008-12-06 11:37:48.000000000 +0000 -@@ -285,6 +285,7 @@ - src/proto/os_win32.pro \ - src/proto/os_mswin.pro \ - src/testdir/Make_dos.mak \ -+ src/testdir/Make_ming.mak \ - src/testdir/dos.vim \ - src/uninstal.c \ - src/vim.def \ -diff -Naur vim72.orig/runtime/doc/cmdline.txt vim72/runtime/doc/cmdline.txt ---- vim72.orig/runtime/doc/cmdline.txt 2008-08-09 15:22:59.000000000 +0100 -+++ vim72/runtime/doc/cmdline.txt 2008-12-06 11:37:49.000000000 +0000 -@@ -1,4 +1,4 @@ --*cmdline.txt* For Vim version 7.2. Last change: 2008 Jul 29 -+*cmdline.txt* For Vim version 7.2. Last change: 2008 Sep 18 - - - VIM REFERENCE MANUAL by Bram Moolenaar -@@ -157,6 +157,11 @@ - (doesn't work at the expression prompt; some - things such as changing the buffer or current - window are not allowed to avoid side effects) -+ When the result is a |List| the items are used -+ as lines. They can have line breaks inside -+ too. -+ When the result is a Float it's automatically -+ converted to a String. - See |registers| about registers. {not in Vi} - Implementation detail: When using the |expression| register - and invoking setcmdpos(), this sets the position before -@@ -730,19 +735,29 @@ - In Ex commands, at places where a file name can be used, the following - characters have a special meaning. These can also be used in the expression - function expand() |expand()|. -- % is replaced with the current file name *:_%* -- # is replaced with the alternate file name *:_#* -+ % Is replaced with the current file name. *:_%* *c_%* -+ # Is replaced with the alternate file name. *:_#* *c_#* - #n (where n is a number) is replaced with the file name of -- buffer n. "#0" is the same as "#" -- ## is replaced with all names in the argument list *:_##* -+ buffer n. "#0" is the same as "#". -+ ## Is replaced with all names in the argument list *:_##* *c_##* - concatenated, separated by spaces. Each space in a name - is preceded with a backslash. --Note that these give the file name as it was typed. If an absolute path is --needed (when using the file name from a different directory), you need to add --":p". See |filename-modifiers|. -+ #<n (where n is a number > 0) is replaced with old *:_#<* *c_#<* -+ file name n. See |:oldfiles| or |v:oldfiles| to get the -+ number. *E809* -+ {only when compiled with the +eval and +viminfo features} -+ -+Note that these, except "#<n", give the file name as it was typed. If an -+absolute path is needed (when using the file name from a different directory), -+you need to add ":p". See |filename-modifiers|. -+ -+The "#<n" item returns an absolute path, but it will start with "~/" for files -+below your home directory. -+ - Note that backslashes are inserted before spaces, so that the command will - correctly interpret the file name. But this doesn't happen for shell --commands. For those you probably have to use quotes: > -+commands. For those you probably have to use quotes (this fails for files -+that contain a quote and wildcards): > - :!ls "%" - :r !spell "%" - -diff -Naur vim72.orig/runtime/doc/eval.txt vim72/runtime/doc/eval.txt ---- vim72.orig/runtime/doc/eval.txt 2008-08-09 15:22:59.000000000 +0100 -+++ vim72/runtime/doc/eval.txt 2008-12-06 11:37:50.000000000 +0000 -@@ -1,4 +1,4 @@ --*eval.txt* For Vim version 7.2. Last change: 2008 Aug 09 -+*eval.txt* For Vim version 7.2. Last change: 2008 Nov 27 - - - VIM REFERENCE MANUAL by Bram Moolenaar -@@ -1484,6 +1484,17 @@ - This is the screen column number, like with |virtcol()|. The - value is zero when there was no mouse button click. - -+ *v:oldfiles* *oldfiles-variable* -+v:oldfiles List of file names that is loaded from the |viminfo| file on -+ startup. These are the files that Vim remembers marks for. -+ The length of the List is limited by the ' argument of the -+ 'viminfo' option (default is 100). -+ Also see |:oldfiles| and |c_#<|. -+ The List can be modified, but this has no effect on what is -+ stored in the |viminfo| file later. If you use values other -+ than String this will cause trouble. -+ {only when compiled with the +viminfo feature} -+ - *v:operator* *operator-variable* - v:operator The last operator given in Normal mode. This is a single - character except for commands starting with <g> or <z>, -@@ -1695,7 +1706,7 @@ - exists( {expr}) Number TRUE if {expr} exists - extend({expr1}, {expr2} [, {expr3}]) - List/Dict insert items of {expr2} into {expr1} --expand( {expr}) String expand special keywords in {expr} -+expand( {expr} [, {flag}]) String expand special keywords in {expr} - feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer - filereadable( {file}) Number TRUE if {file} is a readable file - filewritable( {file}) Number TRUE if {file} is a writable file -@@ -1747,8 +1758,9 @@ - getwinposx() Number X coord in pixels of GUI Vim window - getwinposy() Number Y coord in pixels of GUI Vim window - getwinvar( {nr}, {varname}) any variable {varname} in window {nr} --glob( {expr}) String expand file wildcards in {expr} --globpath( {path}, {expr}) String do glob({expr}) for all dirs in {path} -+glob( {expr} [, {flag}]) String expand file wildcards in {expr} -+globpath( {path}, {expr} [, {flag}]) -+ String do glob({expr}) for all dirs in {path} - has( {feature}) Number TRUE if feature {feature} supported - has_key( {dict}, {key}) Number TRUE if {dict} has entry {key} - haslocaldir() Number TRUE if current window executed |:lcd| -@@ -3275,14 +3287,16 @@ - :let list_is_on = getwinvar(2, '&list') - :echo "myvar = " . getwinvar(1, 'myvar') - < -- *glob()* --glob({expr}) Expand the file wildcards in {expr}. See |wildcards| for the -+glob({expr} [, {flag}]) *glob()* -+ Expand the file wildcards in {expr}. See |wildcards| for the - use of special characters. - The result is a String. - When there are several matches, they are separated by <NL> - characters. -- The 'wildignore' option applies: Names matching one of the -- patterns in 'wildignore' will be skipped. -+ Unless the optional {flag} argument is given and is non-zero, -+ the 'suffixes' and 'wildignore' options apply: Names matching -+ one of the patterns in 'wildignore' will be skipped and -+ 'suffixes' affect the ordering of matches. - If the expansion fails, the result is an empty string. - A name for a non-existing file is not included. - -@@ -3296,20 +3310,22 @@ - See |expand()| for expanding special Vim variables. See - |system()| for getting the raw output of an external command. - --globpath({path}, {expr}) *globpath()* -+globpath({path}, {expr} [, {flag}]) *globpath()* - Perform glob() on all directories in {path} and concatenate - the results. Example: > - :echo globpath(&rtp, "syntax/c.vim") - < {path} is a comma-separated list of directory names. Each - directory name is prepended to {expr} and expanded like with -- glob(). A path separator is inserted when needed. -+ |glob()|. A path separator is inserted when needed. - To add a comma inside a directory name escape it with a - backslash. Note that on MS-Windows a directory may have a - trailing backslash, remove it if you put a comma after it. - If the expansion fails for one of the directories, there is no - error message. -- The 'wildignore' option applies: Names matching one of the -- patterns in 'wildignore' will be skipped. -+ Unless the optional {flag} argument is given and is non-zero, -+ the 'suffixes' and 'wildignore' options apply: Names matching -+ one of the patterns in 'wildignore' will be skipped and -+ 'suffixes' affect the ordering of matches. - - The "**" item can be used to search in a directory tree. - For example, to find all "README.txt" files in the directories -@@ -5332,10 +5348,12 @@ - "fg" foreground color (GUI: color name used to set - the color, cterm: color number as a string, - term: empty string) -- "bg" background color (like "fg") -+ "bg" background color (as with "fg") -+ "sp" special color (as with "fg") |highlight-guisp| - "fg#" like "fg", but for the GUI and the GUI is - running the name in "#RRGGBB" form - "bg#" like "fg#" for "bg" -+ "sp#" like "fg#" for "sp" - "bold" "1" if bold - "italic" "1" if italic - "reverse" "1" if reverse -diff -Naur vim72.orig/runtime/doc/options.txt vim72/runtime/doc/options.txt ---- vim72.orig/runtime/doc/options.txt 2008-08-09 15:22:59.000000000 +0100 -+++ vim72/runtime/doc/options.txt 2008-12-06 11:37:50.000000000 +0000 -@@ -1,4 +1,4 @@ --*options.txt* For Vim version 7.2. Last change: 2008 Aug 06 -+*options.txt* For Vim version 7.2. Last change: 2008 Nov 25 - - - VIM REFERENCE MANUAL by Bram Moolenaar -@@ -7472,7 +7472,9 @@ - {not available when compiled without the |+wildignore| - feature} - A list of file patterns. A file that matches with one of these -- patterns is ignored when completing file or directory names. -+ patterns is ignored when completing file or directory names, and -+ influences the result of |expand()|, |glob()| and |globpath()| unless -+ a flag is passed to disable this. - The pattern is used like with |:autocmd|, see |autocmd-patterns|. - Also see 'suffixes'. - Example: > -diff -Naur vim72.orig/runtime/doc/os_vms.txt vim72/runtime/doc/os_vms.txt ---- vim72.orig/runtime/doc/os_vms.txt 2008-08-09 15:23:00.000000000 +0100 -+++ vim72/runtime/doc/os_vms.txt 2008-12-06 11:37:48.000000000 +0000 -@@ -1,4 +1,4 @@ --*os_vms.txt* For Vim version 7.2. Last change: 2006 Nov 18 -+*os_vms.txt* For Vim version 7.2. Last change: 2008 Aug 19 - - - VIM REFERENCE MANUAL -@@ -312,7 +312,7 @@ - - 8. Useful notes *vms-notes* - --8.1 backspace/delete -+8.1 Backspace/delete - 8.2 Filters - 8.3 VMS file version numbers - 8.4 Directory conversion -@@ -326,8 +326,10 @@ - 8.12 diff-mode - 8.13 Allow '$' in C keywords - 8.14 VIMTUTOR for beginners -+8.15 Slow start in console mode issue -+8.16 Common VIM directory - different architectures - --8.1 backspace/delete -+8.1 Backspace/delete - - There are backspace/delete key inconsistencies with VMS. - :fixdel doesn't do the trick, but the solution is: > -@@ -663,12 +665,130 @@ - - (Thomas.R.Wyant III, Vim 6.1) - -+8.14 Slow start in console mode issue -+ -+As GUI/GTK Vim works equally well in console mode, many administartors -+deploy those executables system wide. -+Unfortunately, on a remote slow connections GUI/GTK executables behave rather -+slow when user wants to run Vim just in the console mode - because of X environment detection timeout. -+ -+Luckily, there is a simple solution for that. Administrators need to deploy -+both GUI/GTK build and just console build executables, like below: > -+ -+ |- vim72 -+ |----- doc -+ |----- syntax -+ vimrc (system rc files) -+ gvimrc -+ gvim.exe (the remaned GUI or GTK built vim.exe) -+ vim.exe (the console only executable) -+ -+Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: > -+ -+ $ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is -+ $ vi*m :== mcr VIM:VIM.EXE -+ $ gvi*m :== mcr VIM:GVIM.EXE -+ $ ! or you can try to spawn with -+ $ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40 -+ -+ -+Like this, users that do not have X environment and want to use Vim just in -+console mode can avoid performance problems. -+ -+(Zoltan Arpadffy, Vim 7.2) -+ -+8.15 Common VIM directory - different architectures -+ -+In a cluster that contains nodes with different architectures like below: -+ -+$show cluster -+View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31 -++---------------------------------+ -+Š SYSTEMS Š MEMBERS Š -++-----------------------+---------Š -+Š NODE Š SOFTWARE Š STATUS Š -++--------+--------------+---------Š -+Š TOR Š VMS V7.3-2 Š MEMBER Š -+Š TITAN2 Š VMS V8.3 Š MEMBER Š -+Š ODIN Š VMS V7.3-2 Š MEMBER Š -++---------------------------------+ -+ -+It is convinient to have a common VIM directory but execute different -+executables. -+There are more solutions for this problem: -+ -+solution 1. all executables in the same directory with different names -+This is easily done with the following script that can be added -+to the login.com or sylogin.com: > -+ -+ $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX" -+ $ then -+ $ say "VAX platform" -+ $ vi*m:== mcr vim:VIM.EXE_VAX -+ $ endif -+ $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH" -+ $ then -+ $ say "ALPHA platform" -+ $ vi*m :== mcr vim:VIM.EXE_AXP -+ $ endif -+ $ if f$getsyi("ARCH_NAME") .eqs. "IA64" -+ $ then -+ $ say "IA64 platform" -+ $ vi*m :== mcr vim:VIM.EXE_IA64 -+ $ endif -+ -+solution 2. different directories: > -+ -+ $ if f$getsyi("NODE_HWTYPE") .eqs. "VAX" -+ $ then -+ $ say "VAX platform" -+ $ define/nolog VIM RF10:[UTIL.VAX_EXE] ! VAX executables -+ $ endif -+ $ if f$getsyi("NODE_HWTYPE") .eqs. "ALPH" -+ $ then -+ $ say "ALPHA platform" -+ $ define/nolog VIM RF10:[UTIL.AXP_EXE] ! AXP executables -+ $ endif -+ $ if f$getsyi("ARCH_NAME") .eqs. "IA64" -+ $ then -+ $ say "IA64 platform" -+ $ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables -+ $ endif -+ $! VIMRUNTIME must be defined in order to find runtime files -+ $ define/nolog VIMRUNTIME RF10:[UTIL.VIM72] -+ -+A good examle for this approach is the [GNU]gnu_tools.com script from GNU_TOOLS.ZIP -+package downloadable from http://www.polarhome.com/vim/ -+ -+(Zoltan Arpadffy, Vim 7.2) -+ - ============================================================================== - - 9. VMS related changes *vms-changes* - --Version 7 -+Recent changes -+- The following plugins are included into VMS runtime: -+ genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3, -+ bufexplorer 7.1.7, taglist 4.5 -+- minor changes in vimrc (just in VMS runtime) -+- make_vms.mms - HUGE model is the default -+- [TESTDIR]make_vms.mms include as many tests possible -+- modify test30 and test54 for VMS -+- enable FLOAT feature in VMS port -+- os_vms.txt updated -+ -+Version 7.2 (2008 Aug 9) -+- VCF files write corrected -+- CTAGS 5.7 included -+- corrected make_vms.mms (on VAX gave syntax error) -+ -+Version 7.1 (2007 Jun 15) -+- create TAGS file from menu -+ -+Version 7 (2006 May 8) - - Improved low level char input (affects just console mode) -+- Fixed plugin bug -+- CTAGS 5.6 included - - Version 6.4 (2005 Oct 15) - - GTKLIB and Vim build on IA64 -@@ -806,6 +926,7 @@ - - OpenVMS documentation and executables are maintained by: - Zoltan Arpadffy arpadffy@polarhome.com -+OpenVMS Vim page: http://www.polarhome.com/vim/ - - This document uses parts and remarks from earlier authors and contributors - of OS_VMS.TXT: -diff -Naur vim72.orig/runtime/doc/spell.txt vim72/runtime/doc/spell.txt ---- vim72.orig/runtime/doc/spell.txt 2008-08-09 15:23:00.000000000 +0100 -+++ vim72/runtime/doc/spell.txt 2008-12-06 11:37:50.000000000 +0000 -@@ -1,4 +1,4 @@ --*spell.txt* For Vim version 7.2. Last change: 2008 Jun 21 -+*spell.txt* For Vim version 7.2. Last change: 2008 Nov 30 - - - VIM REFERENCE MANUAL by Bram Moolenaar -@@ -831,8 +831,11 @@ - - # comment line ~ - --With some items it's also possible to put a comment after it, but this isn't --supported in general. -+Items with a fixed number of arguments can be followed by a comment. But only -+if none of the arguments can contain white space. The comment must start with -+a "#" character. Example: -+ -+ KEEPCASE = # fix case for words with this flag ~ - - - ENCODING *spell-SET* -@@ -965,6 +968,9 @@ - - Note: When using utf-8 only characters up to 65000 may be used for flags. - -+Note: even when using "num" or "long" the number of flags available to -+compounding and prefixes is limited to about 250. -+ - - AFFIXES - *spell-PFX* *spell-SFX* -@@ -1178,6 +1184,9 @@ - The flag also applies to the word with affixes, thus this can be used to mark - a whole bunch of related words as bad. - -+ *spell-FORBIDDENWORD* -+FORBIDDENWORD can be used just like BAD. For compatibility with Hunspell. -+ - *spell-NEEDAFFIX* - The NEEDAFFIX flag is used to require that a word is used with an affix. The - word itself is not a good word (unless there is an empty affix). Example: -@@ -1268,6 +1277,10 @@ - - NEEDCOMPOUND & ~ - -+ *spell-ONLYINCOMPOUND* -+The ONLYINCOMPOUND does exactly the same as NEEDCOMPOUND. Supported for -+compatiblity with Hunspell. -+ - *spell-COMPOUNDMIN* - The minimal character length of a word used for compounding is specified with - COMPOUNDMIN. Example: -@@ -1328,6 +1341,20 @@ - rules. Can also be used for an affix to count the affix as a compounding - word. - -+ *spell-CHECKCOMPOUNDPATTERN* -+CHECKCOMPOUNDPATTERN is used to define patterns that, when matching at the -+position where two words are compounded together forbids the compound. -+For example: -+ CHECKCOMPOUNDPATTERN o e ~ -+ -+This forbids compounding if the first word ends in "o" and the second word -+starts with "e". -+ -+The arguments must be plain text, no patterns are actually supported, despite -+the item name. Case is always ignored. -+ -+The Hunspell feature to use three arguments and flags is not supported. -+ - *spell-SYLLABLE* - The SYLLABLE item defines characters or character sequences that are used to - count the number of syllables in a word. Example: -@@ -1496,6 +1523,10 @@ - ACCENT (Hunspell) *spell-ACCENT* - Use MAP instead. |spell-MAP| - -+BREAK (Hunspell) *spell-BREAK* -+ Define break points. Unclear how it works exactly. -+ Not supported. -+ - CHECKCOMPOUNDCASE (Hunspell) *spell-CHECKCOMPOUNDCASE* - Disallow uppercase letters at compound word boundaries. - Not supported. -@@ -1512,9 +1543,6 @@ - Forbid three identical characters when compounding. Not - supported. - --CHECKCOMPOUNDPATTERN (Hunspell) *spell-CHECKCOMPOUNDPATTERN* -- Forbid compounding when patterns match. Not supported. -- - COMPLEXPREFIXES (Hunspell) *spell-COMPLEXPREFIXES* - Enables using two prefixes. Not supported. - -@@ -1536,13 +1564,18 @@ - COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE* - Use COMPOUNDRULE instead. |spell-COMPOUNDRULE| - -+COMPOUNDRULES (Hunspell) *spell-COMPOUNDRULES* -+ Number of COMPOUNDRULE lines following. Ignored, but the -+ argument must be a number. -+ - COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE* - Use SYLLABLE and COMPOUNDSYLMAX instead. |spell-SYLLABLE| - |spell-COMPOUNDSYLMAX| - --FORBIDDENWORD (Hunspell) *spell-FORBIDDENWORD* -- Use BAD instead. |spell-BAD| -- -+KEY (Hunspell) *spell-KEY* -+ Define characters that are close together on the keyboard. -+ Used to give better suggestions. Not supported. -+ - LANG (Hunspell) *spell-LANG* - This specifies language-specific behavior. This actually - moves part of the language knowledge into the program, -@@ -1553,10 +1586,7 @@ - Only needed for morphological analysis. - - MAXNGRAMSUGS (Hunspell) *spell-MAXNGRAMSUGS* -- Not supported. -- --ONLYINCOMPOUND (Hunspell) *spell-ONLYINCOMPOUND* -- Use NEEDCOMPOUND instead. |spell-NEEDCOMPOUND| -+ Set number of n-gram suggestions. Not supported. - - PSEUDOROOT (Hunspell) *spell-PSEUDOROOT* - Use NEEDAFFIX instead. |spell-NEEDAFFIX| -diff -Naur vim72.orig/runtime/doc/starting.txt vim72/runtime/doc/starting.txt ---- vim72.orig/runtime/doc/starting.txt 2008-08-09 15:23:00.000000000 +0100 -+++ vim72/runtime/doc/starting.txt 2008-12-06 11:37:49.000000000 +0000 -@@ -1,4 +1,4 @@ --*starting.txt* For Vim version 7.2. Last change: 2008 Jun 21 -+*starting.txt* For Vim version 7.2. Last change: 2008 Nov 09 - - - VIM REFERENCE MANUAL by Bram Moolenaar -@@ -1337,8 +1337,9 @@ - *viminfo-read* - When Vim is started and the 'viminfo' option is non-empty, the contents of - the viminfo file are read and the info can be used in the appropriate places. --The marks are not read in at startup (but file marks are). See --|initialization| for how to set the 'viminfo' option upon startup. -+The |v:oldfiles| variable is filled. The marks are not read in at startup -+(but file marks are). See |initialization| for how to set the 'viminfo' -+option upon startup. - - *viminfo-write* - When Vim exits and 'viminfo' is non-empty, the info is stored in the viminfo -@@ -1372,6 +1373,8 @@ - that start with any string given with the "r" flag in 'viminfo'. This can be - used to avoid saving marks for files on removable media (for MS-DOS you would - use "ra:,rb:", for Amiga "rdf0:,rdf1:,rdf2:"). -+The |v:oldfiles| variable is filled with the file names that the viminfo file -+has marks for. - - *viminfo-file-marks* - Uppercase marks ('A to 'Z) are stored when writing the viminfo file. The -@@ -1463,8 +1466,8 @@ - *:rv* *:rviminfo* *E195* - :rv[iminfo][!] [file] Read from viminfo file [file] (default: see above). - If [!] is given, then any information that is -- already set (registers, marks, etc.) will be -- overwritten. {not in Vi} -+ already set (registers, marks, |v:oldfiles|, etc.) -+ will be overwritten {not in Vi} - - *:wv* *:wviminfo* *E137* *E138* *E574* - :wv[iminfo][!] [file] Write to viminfo file [file] (default: see above). -@@ -1479,4 +1482,20 @@ - the .viminfo file. - {not in Vi} - -+ *:ol* *:oldfiles* -+:ol[dfiles] List the files that have marks stored in the viminfo -+ file. This list is read on startup and only changes -+ afterwards with ":rviminfo!". Also see |v:oldfiles|. -+ The number can be used with |c_#<|. -+ {not in Vi, only when compiled with the +eval feature} -+ -+:bro[wse] ol[dfiles][!] -+ List file names as with |:oldfiles|, and then prompt -+ for a number. When the number is valid that file from -+ the list is edited. -+ If you get the |press-enter| prompt you can press "q" -+ and still get the prompt to enter a file number. -+ Use ! to abondon a modified buffer. |abandon| -+ {not when compiled with tiny or small features} -+ - vim:tw=78:ts=8:ft=help:norl: -diff -Naur vim72.orig/runtime/doc/usr_21.txt vim72/runtime/doc/usr_21.txt ---- vim72.orig/runtime/doc/usr_21.txt 2008-08-09 15:23:01.000000000 +0100 -+++ vim72/runtime/doc/usr_21.txt 2008-12-06 11:37:49.000000000 +0000 -@@ -1,4 +1,4 @@ --*usr_21.txt* For Vim version 7.2. Last change: 2007 May 01 -+*usr_21.txt* For Vim version 7.2. Last change: 2008 Nov 09 - - VIM USER MANUAL - by Bram Moolenaar - -@@ -153,7 +153,7 @@ - to be lost. Each item can be remembered only once. - - --GETTING BACK TO WHERE YOU WERE -+GETTING BACK TO WHERE YOU STOPPED VIM - - You are halfway editing a file and it's time to leave for holidays. You exit - Vim and go enjoy yourselves, forgetting all about your work. After a couple -@@ -168,6 +168,48 @@ - The |:marks| command is useful to find out where '0 to '9 will take you. - - -+GETTING BACK TO SOME FILE -+ -+If you want to go back to a file that you edited recently, but not when -+exiting Vim, there is a slightly more complicated way. You can see a list of -+files by typing the command: > -+ -+ :oldfiles -+< 1: ~/.viminfo ~ -+ 2: ~/text/resume.txt ~ -+ 3: /tmp/draft ~ -+ -+Now you would like to edit the second file, which is in the list preceded by -+"2:". You type: > -+ -+ :e #<2 -+ -+Instead of ":e" you can use any command that has a file name argument, the -+"#<2" item works in the same place as "%" (current file name) and "#" -+(alternate file name). So you can also split the window to edit the third -+file: > -+ -+ :split #<3 -+ -+That #<123 thing is a bit complicated when you just want to edit a file. -+Fortunately there is a simpler way: > -+ -+ :browse oldfiles -+< 1: ~/.viminfo ~ -+ 2: ~/text/resume.txt ~ -+ 3: /tmp/draft ~ -+ -- More -- -+ -+You get the same list of files as with |:oldfiles|. If you want to edit -+"resume.txt" first press "q" to stop the listing. You will get a prompt: -+ -+ Type number and <Enter> (empty cancels): ~ -+ -+Type "2" and press <Enter> to edit the second file. -+ -+More info at |:oldfiles|, |v:oldfiles| and |c_#<|. -+ -+ - MOVE INFO FROM ONE VIM TO ANOTHER - - You can use the ":wviminfo" and ":rviminfo" commands to save and restore the -diff -Naur vim72.orig/runtime/scripts.vim vim72/runtime/scripts.vim ---- vim72.orig/runtime/scripts.vim 2008-08-08 23:27:21.000000000 +0100 -+++ vim72/runtime/scripts.vim 2008-12-06 11:37:48.000000000 +0000 -@@ -234,6 +234,10 @@ - elseif s:line1 =~ '<DTD\s+XHTML\s' - set ft=xhtml - -+ " HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN") -+ elseif s:line1 =~? '\<DOCTYPE\s\+html\>' -+ set ft=html -+ - " PDF - elseif s:line1 =~ '^%PDF-' - set ft=pdf -diff -Naur vim72.orig/src/auto/configure vim72/src/auto/configure ---- vim72.orig/src/auto/configure 2008-07-24 13:40:36.000000000 +0100 -+++ vim72/src/auto/configure 2008-12-06 11:37:50.000000000 +0000 -@@ -16819,21 +16819,29 @@ - LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - fi - --{ $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5 --$as_echo_n "checking for GCC 3 or later... " >&6; } - DEPEND_CFLAGS_FILTER= - if test "$GCC" = yes; then -+ { $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5 -+$as_echo_n "checking for GCC 3 or later... " >&6; } - gccmajor=`echo "$gccversion" | sed -e 's/^([1-9])..*$/\1/g'` - if test "$gccmajor" -gt "2"; then - DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'" -- fi --fi --if test "$DEPEND_CFLAGS_FILTER" = ""; then -- { $as_echo "$as_me:$LINENO: result: no" >&5 -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 -+$as_echo "yes" >&6; } -+ else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } --else -- { $as_echo "$as_me:$LINENO: result: yes" >&5 -+ fi -+ { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 -+$as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } -+ if test "$gccmajor" -gt "3"; then -+ CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } -+ else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+$as_echo "no" >&6; } -+ fi - fi - - -diff -Naur vim72.orig/src/buffer.c vim72/src/buffer.c ---- vim72.orig/src/buffer.c 2008-08-06 12:00:48.000000000 +0100 -+++ vim72/src/buffer.c 2008-12-06 11:37:50.000000000 +0000 -@@ -33,7 +33,7 @@ - static char_u *fname_match __ARGS((regprog_T *prog, char_u *name)); - #endif - static void buflist_setfpos __ARGS((buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options)); --static wininfo_T *find_wininfo __ARGS((buf_T *buf)); -+static wininfo_T *find_wininfo __ARGS((buf_T *buf, int skip_diff_buffer)); - #ifdef UNIX - static buf_T *buflist_findname_stat __ARGS((char_u *ffname, struct stat *st)); - static int otherfile_buf __ARGS((buf_T *buf, char_u *ffname, struct stat *stp)); -@@ -647,6 +647,9 @@ - vim_free(buf->b_start_fenc); - buf->b_start_fenc = NULL; - #endif -+#ifdef FEAT_SPELL -+ ga_clear(&buf->b_langp); -+#endif - } - - /* -@@ -1090,7 +1093,7 @@ - #endif - setpcmark(); - retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, -- forceit ? ECMD_FORCEIT : 0); -+ forceit ? ECMD_FORCEIT : 0, curwin); - - /* - * do_ecmd() may create a new buffer, then we have to delete -@@ -1237,7 +1240,7 @@ - * "buf" if one exists */ - if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf)) - return OK; -- /* If 'switchbuf' contians "usetab": jump to first window in any tab -+ /* If 'switchbuf' contains "usetab": jump to first window in any tab - * page containing "buf" if one exists */ - if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf)) - return OK; -@@ -1313,7 +1316,7 @@ - setpcmark(); - if (!cmdmod.keepalt) - curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */ -- buflist_altfpos(); /* remember curpos */ -+ buflist_altfpos(curwin); /* remember curpos */ - - #ifdef FEAT_VISUAL - /* Don't restart Select mode after switching to another buffer. */ -@@ -1351,11 +1354,12 @@ - } - } - #ifdef FEAT_AUTOCMD -+ /* An autocommand may have deleted "buf", already entered it (e.g., when -+ * it did ":bunload") or aborted the script processing! */ - # ifdef FEAT_EVAL -- /* An autocommand may have deleted buf or aborted the script processing! */ -- if (buf_valid(buf) && !aborting()) -+ if (buf_valid(buf) && buf != curbuf && !aborting()) - # else -- if (buf_valid(buf)) /* an autocommand may have deleted buf! */ -+ if (buf_valid(buf) && buf != curbuf) - # endif - #endif - enter_buffer(buf); -@@ -1397,6 +1401,9 @@ - curwin->w_cursor.coladd = 0; - #endif - curwin->w_set_curswant = TRUE; -+#ifdef FEAT_AUTOCMD -+ curwin->w_topline_was_set = FALSE; -+#endif - - /* Make sure the buffer is loaded. */ - if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */ -@@ -1436,7 +1443,8 @@ - maketitle(); - #endif - #ifdef FEAT_AUTOCMD -- if (curwin->w_topline == 1) /* when autocmds didn't change it */ -+ /* when autocmds didn't change it */ -+ if (curwin->w_topline == 1 && !curwin->w_topline_was_set) - #endif - scroll_cursor_halfway(FALSE); /* redisplay at correct position */ - -@@ -2400,22 +2408,70 @@ - return; - } - -+#ifdef FEAT_DIFF -+static int wininfo_other_tab_diff __ARGS((wininfo_T *wip)); -+ -+/* -+ * Return TRUE when "wip" has 'diff' set and the diff is only for another tab -+ * page. That's because a diff is local to a tab page. -+ */ -+ static int -+wininfo_other_tab_diff(wip) -+ wininfo_T *wip; -+{ -+ win_T *wp; -+ -+ if (wip->wi_opt.wo_diff) -+ { -+ for (wp = firstwin; wp != NULL; wp = wp->w_next) -+ /* return FALSE when it's a window in the current tab page, thus -+ * the buffer was in diff mode here */ -+ if (wip->wi_win == wp) -+ return FALSE; -+ return TRUE; -+ } -+ return FALSE; -+} -+#endif -+ - /* - * Find info for the current window in buffer "buf". - * If not found, return the info for the most recently used window. -+ * When "skip_diff_buffer" is TRUE avoid windows with 'diff' set that is in -+ * another tab page. - * Returns NULL when there isn't any info. - */ -+/*ARGSUSED*/ - static wininfo_T * --find_wininfo(buf) -+find_wininfo(buf, skip_diff_buffer) - buf_T *buf; -+ int skip_diff_buffer; - { - wininfo_T *wip; - - for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next) -- if (wip->wi_win == curwin) -+ if (wip->wi_win == curwin -+#ifdef FEAT_DIFF -+ && (!skip_diff_buffer || !wininfo_other_tab_diff(wip)) -+#endif -+ ) - break; -- if (wip == NULL) /* if no fpos for curwin, use the first in the list */ -- wip = buf->b_wininfo; -+ -+ /* If no wininfo for curwin, use the first in the list (that doesn't have -+ * 'diff' set and is in another tab page). */ -+ if (wip == NULL) -+ { -+#ifdef FEAT_DIFF -+ if (skip_diff_buffer) -+ { -+ for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next) -+ if (!wininfo_other_tab_diff(wip)) -+ break; -+ } -+ else -+#endif -+ wip = buf->b_wininfo; -+ } - return wip; - } - -@@ -2436,7 +2492,7 @@ - clearFolding(curwin); - #endif - -- wip = find_wininfo(buf); -+ wip = find_wininfo(buf, TRUE); - if (wip != NULL && wip->wi_optset) - { - copy_winopt(&wip->wi_opt, &curwin->w_onebuf_opt); -@@ -2468,7 +2524,7 @@ - wininfo_T *wip; - static pos_T no_position = {1, 0}; - -- wip = find_wininfo(buf); -+ wip = find_wininfo(buf, FALSE); - if (wip != NULL) - return &(wip->wi_fpos); - else -@@ -2789,14 +2845,14 @@ - #endif - - /* -- * Set alternate cursor position for current window. -+ * Set alternate cursor position for the current buffer and window "win". - * Also save the local window option values. - */ - void --buflist_altfpos() -+buflist_altfpos(win) -+ win_T *win; - { -- buflist_setfpos(curbuf, curwin, curwin->w_cursor.lnum, -- curwin->w_cursor.col, TRUE); -+ buflist_setfpos(curbuf, win, win->w_cursor.lnum, win->w_cursor.col, TRUE); - } - - /* -@@ -3963,7 +4019,7 @@ - width = vim_strsize(out); - if (maxwidth > 0 && width > maxwidth) - { -- /* Result is too long, must trunctate somewhere. */ -+ /* Result is too long, must truncate somewhere. */ - l = 0; - if (itemcnt == 0) - s = out; -@@ -4488,7 +4544,7 @@ - ECMD_ONE, - ((P_HID(curwin->w_buffer) - || bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0) -- + ECMD_OLDBUF); -+ + ECMD_OLDBUF, curwin); - #ifdef FEAT_AUTOCMD - if (use_firstwin) - ++autocmd_no_leave; -@@ -5062,7 +5118,7 @@ - { - if (buf->b_sfname != NULL) - return (char *)buf->b_sfname; -- return "[Scratch]"; -+ return _("[Scratch]"); - } - #endif - if (buf->b_fname == NULL) -diff -Naur vim72.orig/src/configure.in vim72/src/configure.in ---- vim72.orig/src/configure.in 2008-07-24 13:40:26.000000000 +0100 -+++ vim72/src/configure.in 2008-12-06 11:37:50.000000000 +0000 -@@ -3152,18 +3152,25 @@ - dnl But only when making dependencies, cproto and lint don't take "-isystem". - dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow - dnl the number before the version number. --AC_MSG_CHECKING(for GCC 3 or later) - DEPEND_CFLAGS_FILTER= - if test "$GCC" = yes; then -+ AC_MSG_CHECKING(for GCC 3 or later) - gccmajor=`echo "$gccversion" | sed -e 's/^([[1-9]])..*$/\1/g'` - if test "$gccmajor" -gt "2"; then - DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'" -+ AC_MSG_RESULT(yes) -+ else -+ AC_MSG_RESULT(no) -+ fi -+ dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is -+ dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. -+ AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) -+ if test "$gccmajor" -gt "3"; then -+ CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" -+ AC_MSG_RESULT(yes) -+ else -+ AC_MSG_RESULT(no) - fi --fi --if test "$DEPEND_CFLAGS_FILTER" = ""; then -- AC_MSG_RESULT(no) --else -- AC_MSG_RESULT(yes) - fi - AC_SUBST(DEPEND_CFLAGS_FILTER) - -diff -Naur vim72.orig/src/diff.c vim72/src/diff.c ---- vim72.orig/src/diff.c 2008-03-05 11:16:56.000000000 +0000 -+++ vim72/src/diff.c 2008-12-06 11:37:50.000000000 +0000 -@@ -73,6 +73,8 @@ - { - tp->tp_diffbuf[i] = NULL; - tp->tp_diff_invalid = TRUE; -+ if (tp == curtab) -+ diff_redraw(TRUE); - } - } - } -@@ -102,6 +104,7 @@ - { - curtab->tp_diffbuf[i] = NULL; - curtab->tp_diff_invalid = TRUE; -+ diff_redraw(TRUE); - } - } - } -@@ -131,6 +134,7 @@ - { - curtab->tp_diffbuf[i] = buf; - curtab->tp_diff_invalid = TRUE; -+ diff_redraw(TRUE); - return; - } - -@@ -661,6 +665,7 @@ - char_u *tmp_diff; - FILE *fd; - int ok; -+ int io_error = FALSE; - - /* Delete all diffblocks. */ - diff_clear(curtab); -@@ -697,18 +702,26 @@ - { - ok = FALSE; - fd = mch_fopen((char *)tmp_orig, "w"); -- if (fd != NULL) -+ if (fd == NULL) -+ io_error = TRUE; -+ else - { -- fwrite("line1\n", (size_t)6, (size_t)1, fd); -+ if (fwrite("line1\n", (size_t)6, (size_t)1, fd) != 1) -+ io_error = TRUE; - fclose(fd); - fd = mch_fopen((char *)tmp_new, "w"); -- if (fd != NULL) -+ if (fd == NULL) -+ io_error = TRUE; -+ else - { -- fwrite("line2\n", (size_t)6, (size_t)1, fd); -+ if (fwrite("line2\n", (size_t)6, (size_t)1, fd) != 1) -+ io_error = TRUE; - fclose(fd); - diff_file(tmp_orig, tmp_new, tmp_diff); - fd = mch_fopen((char *)tmp_diff, "r"); -- if (fd != NULL) -+ if (fd == NULL) -+ io_error = TRUE; -+ else - { - char_u linebuf[LBUFLEN]; - -@@ -761,6 +774,8 @@ - } - if (!ok) - { -+ if (io_error) -+ EMSG(_("E810: Cannot read or write temp files")); - EMSG(_("E97: Cannot create diffs")); - diff_a_works = MAYBE; - #if defined(MSWIN) || defined(MSDOS) -@@ -925,10 +940,10 @@ - { - # ifdef TEMPDIRNAMES - if (vim_tempdir != NULL) -- mch_chdir((char *)vim_tempdir); -+ ignored = mch_chdir((char *)vim_tempdir); - else - # endif -- mch_chdir("/tmp"); -+ ignored = mch_chdir("/tmp"); - shorten_fnames(TRUE); - } - #endif -diff -Naur vim72.orig/src/eval.c vim72/src/eval.c ---- vim72.orig/src/eval.c 2008-08-07 20:37:22.000000000 +0100 -+++ vim72/src/eval.c 2008-12-06 11:37:50.000000000 +0000 -@@ -348,6 +348,7 @@ - {VV_NAME("mouse_col", VAR_NUMBER), 0}, - {VV_NAME("operator", VAR_STRING), VV_RO}, - {VV_NAME("searchforward", VAR_NUMBER), 0}, -+ {VV_NAME("oldfiles", VAR_LIST), 0}, - }; - - /* shorthand */ -@@ -355,6 +356,7 @@ - #define vv_nr vv_di.di_tv.vval.v_number - #define vv_float vv_di.di_tv.vval.v_float - #define vv_str vv_di.di_tv.vval.v_string -+#define vv_list vv_di.di_tv.vval.v_list - #define vv_tv vv_di.di_tv - - /* -@@ -426,7 +428,6 @@ - static long list_idx_of_item __ARGS((list_T *l, listitem_T *item)); - static void list_append __ARGS((list_T *l, listitem_T *item)); - static int list_append_tv __ARGS((list_T *l, typval_T *tv)); --static int list_append_string __ARGS((list_T *l, char_u *str, int len)); - static int list_append_number __ARGS((list_T *l, varnumber_T n)); - static int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item)); - static int list_extend __ARGS((list_T *l1, list_T *l2, listitem_T *bef)); -@@ -845,11 +846,17 @@ - p = &vimvars[i]; - if (p->vv_di.di_tv.v_type == VAR_STRING) - { -- vim_free(p->vv_di.di_tv.vval.v_string); -- p->vv_di.di_tv.vval.v_string = NULL; -+ vim_free(p->vv_str); -+ p->vv_str = NULL; -+ } -+ else if (p->vv_di.di_tv.v_type == VAR_LIST) -+ { -+ list_unref(p->vv_list); -+ p->vv_list = NULL; - } - } - hash_clear(&vimvarht); -+ hash_init(&vimvarht); /* garbage_collect() will access it */ - hash_clear(&compat_hashtab); - - /* script-local variables */ -@@ -1256,23 +1263,26 @@ - - /* - * Top level evaluation function, returning a string. -+ * When "convert" is TRUE convert a List into a sequence of lines and convert -+ * a Float to a String. - * Return pointer to allocated memory, or NULL for failure. - */ - char_u * --eval_to_string(arg, nextcmd, dolist) -+eval_to_string(arg, nextcmd, convert) - char_u *arg; - char_u **nextcmd; -- int dolist; /* turn List into sequence of lines */ -+ int convert; - { - typval_T tv; - char_u *retval; - garray_T ga; -+ char_u numbuf[NUMBUFLEN]; - - if (eval0(arg, &tv, nextcmd, TRUE) == FAIL) - retval = NULL; - else - { -- if (dolist && tv.v_type == VAR_LIST) -+ if (convert && tv.v_type == VAR_LIST) - { - ga_init2(&ga, (int)sizeof(char), 80); - if (tv.vval.v_list != NULL) -@@ -1280,6 +1290,13 @@ - ga_append(&ga, NUL); - retval = (char_u *)ga.ga_data; - } -+#ifdef FEAT_FLOAT -+ else if (convert && tv.v_type == VAR_FLOAT) -+ { -+ vim_snprintf((char *)numbuf, NUMBUFLEN, "%g", tv.vval.v_float); -+ retval = vim_strsave(numbuf); -+ } -+#endif - else - retval = vim_strsave(get_tv_string(&tv)); - clear_tv(&tv); -@@ -3277,7 +3294,7 @@ - - if (*startarg != '(') - { -- EMSG2(_("E107: Missing braces: %s"), eap->arg); -+ EMSG2(_("E107: Missing parentheses: %s"), eap->arg); - goto end; - } - -@@ -3657,8 +3674,8 @@ - } - - /* -- * Return TRUE if typeval "tv" is locked: Either tha value is locked itself or -- * it refers to a List or Dictionary that is locked. -+ * Return TRUE if typeval "tv" is locked: Either that value is locked itself -+ * or it refers to a List or Dictionary that is locked. - */ - static int - tv_islocked(tv) -@@ -6047,6 +6064,25 @@ - } - - /* -+ * Get list item "l[idx - 1]" as a string. Returns NULL for failure. -+ */ -+ char_u * -+list_find_str(l, idx) -+ list_T *l; -+ long idx; -+{ -+ listitem_T *li; -+ -+ li = list_find(l, idx - 1); -+ if (li == NULL) -+ { -+ EMSGN(_(e_listidx), idx); -+ return NULL; -+ } -+ return get_tv_string(&li->li_tv); -+} -+ -+/* - * Locate "item" list "l" and return its index. - * Returns -1 when "item" is not in the list. - */ -@@ -6137,7 +6173,7 @@ - * When "len" >= 0 use "str[len]". - * Returns FAIL when out of memory. - */ -- static int -+ int - list_append_string(l, str, len) - list_T *l; - char_u *str; -@@ -6497,6 +6533,9 @@ - set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID); - } - -+ /* v: vars */ -+ set_ref_in_ht(&vimvarht, copyID); -+ - /* - * 2. Go through the list of dicts and free items without the copyID. - */ -@@ -6587,7 +6626,7 @@ - { - case VAR_DICT: - dd = tv->vval.v_dict; -- if (dd->dv_copyID != copyID) -+ if (dd != NULL && dd->dv_copyID != copyID) - { - /* Didn't see this dict yet. */ - dd->dv_copyID = copyID; -@@ -6597,7 +6636,7 @@ - - case VAR_LIST: - ll = tv->vval.v_list; -- if (ll->lv_copyID != copyID) -+ if (ll != NULL && ll->lv_copyID != copyID) - { - /* Didn't see this list yet. */ - ll->lv_copyID = copyID; -@@ -7525,8 +7564,8 @@ - {"getwinposx", 0, 0, f_getwinposx}, - {"getwinposy", 0, 0, f_getwinposy}, - {"getwinvar", 2, 2, f_getwinvar}, -- {"glob", 1, 1, f_glob}, -- {"globpath", 2, 2, f_globpath}, -+ {"glob", 1, 2, f_glob}, -+ {"globpath", 2, 3, f_globpath}, - {"has", 1, 1, f_has}, - {"has_key", 2, 2, f_has_key}, - {"haslocaldir", 0, 0, f_haslocaldir}, -@@ -9518,7 +9557,7 @@ - else - { - /* When the optional second argument is non-zero, don't remove matches -- * for 'suffixes' and 'wildignore' */ -+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */ - if (argvars[1].v_type != VAR_UNKNOWN - && get_tv_number_chk(&argvars[1], &error)) - flags |= WILD_KEEP_ALL; -@@ -10300,7 +10339,8 @@ - s = get_tv_string(&argvars[0]); - if (s == NULL || *s == NUL || VIM_ISDIGIT(*s)) - EMSG2(_(e_invarg2), s); -- else if (!function_exists(s)) -+ /* Don't check an autoload name for existence here. */ -+ else if (vim_strchr(s, AUTOLOAD_CHAR) == NULL && !function_exists(s)) - EMSG2(_("E700: Unknown function: %s"), s); - else - { -@@ -10602,7 +10642,7 @@ - # ifdef FEAT_WINDOWS - win_T *wp; - # endif -- int n = 1; -+ int winnr = 1; - - if (row >= 0 && col >= 0) - { -@@ -10612,9 +10652,9 @@ - (void)mouse_comp_pos(win, &row, &col, &lnum); - # ifdef FEAT_WINDOWS - for (wp = firstwin; wp != win; wp = wp->w_next) -- ++n; -+ ++winnr; - # endif -- vimvars[VV_MOUSE_WIN].vv_nr = n; -+ vimvars[VV_MOUSE_WIN].vv_nr = winnr; - vimvars[VV_MOUSE_LNUM].vv_nr = lnum; - vimvars[VV_MOUSE_COL].vv_nr = col + 1; - } -@@ -11284,13 +11324,25 @@ - typval_T *argvars; - typval_T *rettv; - { -+ int flags = WILD_SILENT|WILD_USE_NL; - expand_T xpc; -+ int error = FALSE; - -- ExpandInit(&xpc); -- xpc.xp_context = EXPAND_FILES; -+ /* When the optional second argument is non-zero, don't remove matches -+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */ -+ if (argvars[1].v_type != VAR_UNKNOWN -+ && get_tv_number_chk(&argvars[1], &error)) -+ flags |= WILD_KEEP_ALL; - rettv->v_type = VAR_STRING; -- rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), -- NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL); -+ if (!error) -+ { -+ ExpandInit(&xpc); -+ xpc.xp_context = EXPAND_FILES; -+ rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), -+ NULL, flags, WILD_ALL); -+ } -+ else -+ rettv->vval.v_string = NULL; - } - - /* -@@ -11301,14 +11353,22 @@ - typval_T *argvars; - typval_T *rettv; - { -+ int flags = 0; - char_u buf1[NUMBUFLEN]; - char_u *file = get_tv_string_buf_chk(&argvars[1], buf1); -+ int error = FALSE; - -+ /* When the optional second argument is non-zero, don't remove matches -+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */ -+ if (argvars[2].v_type != VAR_UNKNOWN -+ && get_tv_number_chk(&argvars[2], &error)) -+ flags |= WILD_KEEP_ALL; - rettv->v_type = VAR_STRING; -- if (file == NULL) -+ if (file == NULL || error) - rettv->vval.v_string = NULL; - else -- rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file); -+ rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file, -+ flags); - } - - /* -@@ -15838,10 +15898,9 @@ - if (res == FAIL) - res = ITEM_COMPARE_FAIL; - else -- /* return value has wrong type */ - res = get_tv_number_chk(&rettv, &item_compare_func_err); - if (item_compare_func_err) -- res = ITEM_COMPARE_FAIL; -+ res = ITEM_COMPARE_FAIL; /* return value has wrong type */ - clear_tv(&rettv); - return res; - } -@@ -16590,8 +16649,11 @@ - p = highlight_has_attr(id, HL_INVERSE, modec); - break; - -- case 's': /* standout */ -- p = highlight_has_attr(id, HL_STANDOUT, modec); -+ case 's': -+ if (TOLOWER_ASC(what[1]) == 'p') /* sp[#] */ -+ p = highlight_color(id, what, modec); -+ else /* standout */ -+ p = highlight_has_attr(id, HL_STANDOUT, modec); - break; - - case 'u': -@@ -16658,7 +16720,7 @@ - col = get_tv_number(&argvars[1]) - 1; /* -1 on type error */ - - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count -- && col >= 0 && col < (long)STRLEN(ml_get(lnum)) -+ && col >= 0 && (col == 0 || col < (long)STRLEN(ml_get(lnum))) - && rettv_list_alloc(rettv) != FAIL) - { - (void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE); -@@ -18097,14 +18159,28 @@ - } - - /* -- * Set v:count, v:count1 and v:prevcount. -+ * Get List v: variable value. Caller must take care of reference count when -+ * needed. -+ */ -+ list_T * -+get_vim_var_list(idx) -+ int idx; -+{ -+ return vimvars[idx].vv_list; -+} -+ -+/* -+ * Set v:count to "count" and v:count1 to "count1". -+ * When "set_prevcount" is TRUE first set v:prevcount from v:count. - */ - void --set_vcount(count, count1) -+set_vcount(count, count1, set_prevcount) - long count; - long count1; -+ int set_prevcount; - { -- vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr; -+ if (set_prevcount) -+ vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr; - vimvars[VV_COUNT].vv_nr = count; - vimvars[VV_COUNT1].vv_nr = count1; - } -@@ -18132,6 +18208,20 @@ - } - - /* -+ * Set List v: variable to "val". -+ */ -+ void -+set_vim_var_list(idx, val) -+ int idx; -+ list_T *val; -+{ -+ list_unref(vimvars[idx].vv_list); -+ vimvars[idx].vv_list = val; -+ if (val != NULL) -+ ++val->lv_refcount; -+} -+ -+/* - * Set v:register if needed. - */ - void -@@ -20590,6 +20680,9 @@ - int st_len = 0; - - todo = (int)func_hashtab.ht_used; -+ if (todo == 0) -+ return; /* nothing to dump */ -+ - sorttab = (ufunc_T **)alloc((unsigned)(sizeof(ufunc_T) * todo)); - - for (hi = func_hashtab.ht_array; todo > 0; ++hi) -@@ -20638,6 +20731,8 @@ - prof_self_cmp); - prof_sort_list(fd, sorttab, st_len, "SELF", TRUE); - } -+ -+ vim_free(sorttab); - } - - static void -@@ -21082,8 +21177,11 @@ - init_var_dict(&fc.l_avars, &fc.l_avars_var); - add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0", - (varnumber_T)(argcount - fp->uf_args.ga_len)); -+ /* Use "name" to avoid a warning from some compiler that checks the -+ * destination size. */ - v = &fc.fixvar[fixvar_idx++].var; -- STRCPY(v->di_key, "000"); -+ name = v->di_key; -+ STRCPY(name, "000"); - v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; - hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v)); - v->di_tv.v_type = VAR_LIST; -@@ -21204,7 +21302,7 @@ - if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL)) - func_do_profile(fp); - if (fp->uf_profiling -- || (fc.caller != NULL && &fc.caller->func->uf_profiling)) -+ || (fc.caller != NULL && fc.caller->func->uf_profiling)) - { - ++fp->uf_tm_count; - profile_start(&call_start); -@@ -21235,13 +21333,13 @@ - - #ifdef FEAT_PROFILE - if (do_profiling == PROF_YES && (fp->uf_profiling -- || (fc.caller != NULL && &fc.caller->func->uf_profiling))) -+ || (fc.caller != NULL && fc.caller->func->uf_profiling))) - { - profile_end(&call_start); - profile_sub_wait(&wait_start, &call_start); - profile_add(&fp->uf_tm_total, &call_start); - profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children); -- if (fc.caller != NULL && &fc.caller->func->uf_profiling) -+ if (fc.caller != NULL && fc.caller->func->uf_profiling) - { - profile_add(&fc.caller->func->uf_tm_children, &call_start); - profile_add(&fc.caller->func->uf_tml_children, &call_start); -@@ -21886,6 +21984,62 @@ - } - } - -+/* -+ * List v:oldfiles in a nice way. -+ */ -+/*ARGSUSED*/ -+ void -+ex_oldfiles(eap) -+ exarg_T *eap; -+{ -+ list_T *l = vimvars[VV_OLDFILES].vv_list; -+ listitem_T *li; -+ int nr = 0; -+ -+ if (l == NULL) -+ msg((char_u *)_("No old files")); -+ else -+ { -+ msg_start(); -+ msg_scroll = TRUE; -+ for (li = l->lv_first; li != NULL && !got_int; li = li->li_next) -+ { -+ msg_outnum((long)++nr); -+ MSG_PUTS(": "); -+ msg_outtrans(get_tv_string(&li->li_tv)); -+ msg_putchar('\n'); -+ out_flush(); /* output one line at a time */ -+ ui_breakcheck(); -+ } -+ /* Assume "got_int" was set to truncate the listing. */ -+ got_int = FALSE; -+ -+#ifdef FEAT_BROWSE_CMD -+ if (cmdmod.browse) -+ { -+ quit_more = FALSE; -+ nr = prompt_for_number(FALSE); -+ msg_starthere(); -+ if (nr > 0) -+ { -+ char_u *p = list_find_str(get_vim_var_list(VV_OLDFILES), -+ (long)nr); -+ -+ if (p != NULL) -+ { -+ p = expand_env_save(p); -+ eap->arg = p; -+ eap->cmdidx = CMD_edit; -+ cmdmod.browse = FALSE; -+ do_exedit(eap, NULL); -+ vim_free(p); -+ } -+ } -+ } -+#endif -+ } -+} -+ - #endif /* FEAT_EVAL */ - - -diff -Naur vim72.orig/src/ex_cmds2.c vim72/src/ex_cmds2.c ---- vim72.orig/src/ex_cmds2.c 2008-07-13 17:18:22.000000000 +0100 -+++ vim72/src/ex_cmds2.c 2008-12-06 11:37:49.000000000 +0000 -@@ -2132,8 +2132,8 @@ - * argument index. */ - if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL, - eap, ECMD_LAST, -- (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) + -- (eap->forceit ? ECMD_FORCEIT : 0)) == FAIL) -+ (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) -+ + (eap->forceit ? ECMD_FORCEIT : 0), curwin) == FAIL) - curwin->w_arg_idx = old_arg_idx; - /* like Vi: set the mark where the cursor is in the file. */ - else if (eap->cmdidx != CMD_argdo) -@@ -3145,8 +3145,8 @@ - verbose_leave(); - } - #ifdef STARTUPTIME -- vim_snprintf(IObuff, IOSIZE, "sourcing %s", fname); -- time_msg(IObuff, &tv_start); -+ vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname); -+ time_msg((char *)IObuff, &tv_start); - time_pop(&tv_rel); - #endif - -diff -Naur vim72.orig/src/ex_cmds.c vim72/src/ex_cmds.c ---- vim72.orig/src/ex_cmds.c 2008-08-04 20:15:00.000000000 +0100 -+++ vim72/src/ex_cmds.c 2008-12-06 11:37:50.000000000 +0000 -@@ -24,7 +24,7 @@ - static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out)); - #ifdef FEAT_VIMINFO - static char_u *viminfo_filename __ARGS((char_u *)); --static void do_viminfo __ARGS((FILE *fp_in, FILE *fp_out, int want_info, int want_marks, int force_read)); -+static void do_viminfo __ARGS((FILE *fp_in, FILE *fp_out, int flags)); - static int viminfo_encoding __ARGS((vir_T *virp)); - static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing)); - #endif -@@ -1676,14 +1676,12 @@ - - /* - * read_viminfo() -- Read the viminfo file. Registers etc. which are already -- * set are not over-written unless force is TRUE. -- webb -+ * set are not over-written unless "flags" includes VIF_FORCEIT. -- webb - */ - int --read_viminfo(file, want_info, want_marks, forceit) -- char_u *file; -- int want_info; -- int want_marks; -- int forceit; -+read_viminfo(file, flags) -+ char_u *file; /* file name or NULL to use default name */ -+ int flags; /* VIF_WANT_INFO et al. */ - { - FILE *fp; - char_u *fname; -@@ -1691,7 +1689,7 @@ - if (no_viminfo()) - return FAIL; - -- fname = viminfo_filename(file); /* may set to default if NULL */ -+ fname = viminfo_filename(file); /* get file name in allocated buffer */ - if (fname == NULL) - return FAIL; - fp = mch_fopen((char *)fname, READBIN); -@@ -1701,8 +1699,9 @@ - verbose_enter(); - smsg((char_u *)_("Reading viminfo file "%s"%s%s%s"), - fname, -- want_info ? _(" info") : "", -- want_marks ? _(" marks") : "", -+ (flags & VIF_WANT_INFO) ? _(" info") : "", -+ (flags & VIF_WANT_MARKS) ? _(" marks") : "", -+ (flags & VIF_GET_OLDFILES) ? _(" oldfiles") : "", - fp == NULL ? _(" FAILED") : ""); - verbose_leave(); - } -@@ -1712,10 +1711,9 @@ - return FAIL; - - viminfo_errcnt = 0; -- do_viminfo(fp, NULL, want_info, want_marks, forceit); -+ do_viminfo(fp, NULL, flags); - - fclose(fp); -- - return OK; - } - -@@ -1943,7 +1941,7 @@ - * root. - */ - if (fp_out != NULL) -- (void)fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid); -+ ignored = fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid); - #endif - } - } -@@ -1968,7 +1966,7 @@ - } - - viminfo_errcnt = 0; -- do_viminfo(fp_in, fp_out, !forceit, !forceit, FALSE); -+ do_viminfo(fp_in, fp_out, forceit ? 0 : (VIF_WANT_INFO | VIF_WANT_MARKS)); - - fclose(fp_out); /* errors are ignored !? */ - if (fp_in != NULL) -@@ -2041,12 +2039,10 @@ - * do_viminfo() -- Should only be called from read_viminfo() & write_viminfo(). - */ - static void --do_viminfo(fp_in, fp_out, want_info, want_marks, force_read) -+do_viminfo(fp_in, fp_out, flags) - FILE *fp_in; - FILE *fp_out; -- int want_info; -- int want_marks; -- int force_read; -+ int flags; - { - int count = 0; - int eof = FALSE; -@@ -2061,8 +2057,9 @@ - - if (fp_in != NULL) - { -- if (want_info) -- eof = read_viminfo_up_to_marks(&vir, force_read, fp_out != NULL); -+ if (flags & VIF_WANT_INFO) -+ eof = read_viminfo_up_to_marks(&vir, -+ flags & VIF_FORCEIT, fp_out != NULL); - else - /* Skip info, find start of marks */ - while (!(eof = viminfo_readline(&vir)) -@@ -2092,8 +2089,9 @@ - write_viminfo_bufferlist(fp_out); - count = write_viminfo_marks(fp_out); - } -- if (fp_in != NULL && want_marks) -- copy_viminfo_marks(&vir, fp_out, count, eof); -+ if (fp_in != NULL -+ && (flags & (VIF_WANT_MARKS | VIF_GET_OLDFILES | VIF_FORCEIT))) -+ copy_viminfo_marks(&vir, fp_out, count, eof, flags); - - vim_free(vir.vir_line); - #ifdef FEAT_MBYTE -@@ -3054,7 +3052,8 @@ - retval = 0; /* it's in the same file */ - } - else if (do_ecmd(fnum, ffname, sfname, NULL, lnum, -- (P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0)) == OK) -+ (P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0), -+ curwin) == OK) - retval = -1; /* opened another file */ - else - retval = 1; /* error encountered */ -@@ -3087,17 +3086,21 @@ - * ECMD_OLDBUF: use existing buffer if it exists - * ECMD_FORCEIT: ! used for Ex command - * ECMD_ADDBUF: don't edit, just add to buffer list -+ * oldwin: Should be "curwin" when editing a new buffer in the current -+ * window, NULL when splitting the window first. When not NULL info -+ * of the previous buffer for "oldwin" is stored. - * - * return FAIL for failure, OK otherwise - */ - int --do_ecmd(fnum, ffname, sfname, eap, newlnum, flags) -+do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin) - int fnum; - char_u *ffname; - char_u *sfname; - exarg_T *eap; /* can be NULL! */ - linenr_T newlnum; - int flags; -+ win_T *oldwin; - { - int other_file; /* TRUE if editing another file */ - int oldbuf; /* TRUE if using existing buffer */ -@@ -3269,7 +3272,8 @@ - { - if (!cmdmod.keepalt) - curwin->w_alt_fnum = curbuf->b_fnum; -- buflist_altfpos(); -+ if (oldwin != NULL) -+ buflist_altfpos(oldwin); - } - - if (fnum) -@@ -3373,7 +3377,7 @@ - - /* close the link to the current buffer */ - u_sync(FALSE); -- close_buffer(curwin, curbuf, -+ close_buffer(oldwin, curbuf, - (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD); - - #ifdef FEAT_AUTOCMD -@@ -5059,6 +5063,7 @@ - - if (did_sub) - ++sub_nlines; -+ vim_free(new_start); /* for when substitute was cancelled */ - vim_free(sub_firstline); /* free the copy of the original line */ - sub_firstline = NULL; - } -@@ -5610,7 +5615,13 @@ - */ - alt_fnum = curbuf->b_fnum; - (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, -- ECMD_HIDE + ECMD_SET_HELP); -+ ECMD_HIDE + ECMD_SET_HELP, -+#ifdef FEAT_WINDOWS -+ NULL /* buffer is still open, don't store info */ -+#else -+ curwin -+#endif -+ ); - if (!cmdmod.keepalt) - curwin->w_alt_fnum = alt_fnum; - empty_fnum = curbuf->b_fnum; -diff -Naur vim72.orig/src/ex_cmds.h vim72/src/ex_cmds.h ---- vim72.orig/src/ex_cmds.h 2008-06-21 19:47:57.000000000 +0100 -+++ vim72/src/ex_cmds.h 2008-12-06 11:37:49.000000000 +0000 -@@ -278,7 +278,7 @@ - EX(CMD_crewind, "crewind", ex_cc, - RANGE|NOTADR|COUNT|TRLBAR|BANG), - EX(CMD_cscope, "cscope", do_cscope, -- EXTRA|NOTRLCOM|SBOXOK|XFILE), -+ EXTRA|NOTRLCOM|XFILE), - EX(CMD_cstag, "cstag", do_cstag, - BANG|TRLBAR|WORD1), - EX(CMD_cunmap, "cunmap", ex_unmap, -@@ -506,7 +506,7 @@ - EX(CMD_lclose, "lclose", ex_cclose, - RANGE|NOTADR|COUNT|TRLBAR), - EX(CMD_lcscope, "lcscope", do_cscope, -- EXTRA|NOTRLCOM|SBOXOK|XFILE), -+ EXTRA|NOTRLCOM|XFILE), - EX(CMD_left, "left", ex_align, - TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), - EX(CMD_leftabove, "leftabove", ex_wrongmodifier, -@@ -635,6 +635,8 @@ - RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_noremap, "noremap", ex_map, - BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), -+EX(CMD_noautocmd, "noautocmd", ex_wrongmodifier, -+ NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch, - TRLBAR|SBOXOK|CMDWIN), - EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate, -@@ -651,6 +653,8 @@ - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_open, "open", ex_open, - RANGE|EXTRA), -+EX(CMD_oldfiles, "oldfiles", ex_oldfiles, -+ BANG|TRLBAR|SBOXOK|CMDWIN), - EX(CMD_omap, "omap", ex_map, - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_omapclear, "omapclear", ex_mapclear, -@@ -802,7 +806,7 @@ - EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, - WORD1|TRLBAR|CMDWIN), - EX(CMD_scscope, "scscope", do_scscope, -- EXTRA|NOTRLCOM|SBOXOK), -+ EXTRA|NOTRLCOM), - EX(CMD_set, "set", ex_set, - TRLBAR|EXTRA|CMDWIN|SBOXOK), - EX(CMD_setfiletype, "setfiletype", ex_setfiletype, -diff -Naur vim72.orig/src/ex_docmd.c vim72/src/ex_docmd.c ---- vim72.orig/src/ex_docmd.c 2008-07-26 12:51:05.000000000 +0100 -+++ vim72/src/ex_docmd.c 2008-12-06 11:37:50.000000000 +0000 -@@ -364,6 +364,7 @@ - # define ex_function ex_ni - # define ex_delfunction ex_ni - # define ex_return ex_ni -+# define ex_oldfiles ex_ni - #endif - static char_u *arg_all __ARGS((void)); - #ifdef FEAT_SESSION -@@ -1770,7 +1771,7 @@ - } - if (checkforcmd(&ea.cmd, "browse", 3)) - { --#ifdef FEAT_BROWSE -+#ifdef FEAT_BROWSE_CMD - cmdmod.browse = TRUE; - #endif - continue; -@@ -2978,6 +2979,7 @@ - {"keepmarks", 3, FALSE}, - {"leftabove", 5, FALSE}, - {"lockmarks", 3, FALSE}, -+ {"noautocmd", 3, FALSE}, - {"rightbelow", 6, FALSE}, - {"sandbox", 3, FALSE}, - {"silent", 3, FALSE}, -@@ -3608,6 +3610,7 @@ - return set_context_in_autocmd(xp, arg, FALSE); - - case CMD_doautocmd: -+ case CMD_doautoall: - return set_context_in_autocmd(xp, arg, TRUE); - #endif - case CMD_set: -@@ -7485,7 +7488,8 @@ - /* ":new" or ":tabnew" without argument: edit an new empty buffer */ - setpcmark(); - (void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE, -- ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0)); -+ ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0), -+ old_curwin == NULL ? curwin : NULL); - } - else if ((eap->cmdidx != CMD_split - #ifdef FEAT_VERTSPLIT -@@ -7522,7 +7526,7 @@ - #ifdef FEAT_LISTCMDS - + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 ) - #endif -- ) == FAIL) -+ , old_curwin == NULL ? curwin : NULL) == FAIL) - { - /* Editing the file failed. If the window was split, close it. */ - #ifdef FEAT_WINDOWS -@@ -8749,8 +8753,8 @@ - else if (*dirnow != NUL - && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) - { -- (void)mch_chdir((char *)globaldir); -- shorten_fnames(TRUE); -+ if (mch_chdir((char *)globaldir) == OK) -+ shorten_fnames(TRUE); - } - - failed |= (makeopens(fd, dirnow) == FAIL); -@@ -9506,24 +9510,50 @@ - break; - } - s = src + 1; -+ if (*s == '<') /* "#<99" uses v:oldfiles */ -+ ++s; - i = (int)getdigits(&s); - *usedlen = (int)(s - src); /* length of what we expand */ - -- buf = buflist_findnr(i); -- if (buf == NULL) -+ if (src[1] == '<') - { -- *errormsg = (char_u *)_("E194: No alternate file name to substitute for '#'"); -+ if (*usedlen < 2) -+ { -+ /* Should we give an error message for #<text? */ -+ *usedlen = 1; -+ return NULL; -+ } -+#ifdef FEAT_EVAL -+ result = list_find_str(get_vim_var_list(VV_OLDFILES), -+ (long)i); -+ if (result == NULL) -+ { -+ *errormsg = (char_u *)""; -+ return NULL; -+ } -+#else -+ *errormsg = (char_u *)_("E809: #< is not available without the +eval feature"); - return NULL; -+#endif - } -- if (lnump != NULL) -- *lnump = ECMD_LAST; -- if (buf->b_fname == NULL) -+ else - { -- result = (char_u *)""; -- valid = 0; /* Must have ":p:h" to be valid */ -+ buf = buflist_findnr(i); -+ if (buf == NULL) -+ { -+ *errormsg = (char_u *)_("E194: No alternate file name to substitute for '#'"); -+ return NULL; -+ } -+ if (lnump != NULL) -+ *lnump = ECMD_LAST; -+ if (buf->b_fname == NULL) -+ { -+ result = (char_u *)""; -+ valid = 0; /* Must have ":p:h" to be valid */ -+ } -+ else -+ result = buf->b_fname; - } -- else -- result = buf->b_fname; - break; - - #ifdef FEAT_SEARCHPATH -@@ -9541,6 +9571,15 @@ - #ifdef FEAT_AUTOCMD - case SPEC_AFILE: /* file name for autocommand */ - result = autocmd_fname; -+ if (result != NULL && !autocmd_fname_full) -+ { -+ /* Still need to turn the fname into a full path. It is -+ * postponed to avoid a delay when <afile> is not used. */ -+ autocmd_fname_full = TRUE; -+ result = FullName_save(autocmd_fname, FALSE); -+ vim_free(autocmd_fname); -+ autocmd_fname = result; -+ } - if (result == NULL) - { - *errormsg = (char_u *)_("E495: no autocommand file name to substitute for "<afile>""); -@@ -10689,7 +10728,8 @@ - p_viminfo = (char_u *)"'100"; - if (eap->cmdidx == CMD_rviminfo) - { -- if (read_viminfo(eap->arg, TRUE, TRUE, eap->forceit) == FAIL) -+ if (read_viminfo(eap->arg, VIF_WANT_INFO | VIF_WANT_MARKS -+ | (eap->forceit ? VIF_FORCEIT : 0)) == FAIL) - EMSG(_("E195: Cannot open viminfo file for reading")); - } - else -diff -Naur vim72.orig/src/ex_getln.c vim72/src/ex_getln.c ---- vim72.orig/src/ex_getln.c 2008-08-08 10:31:33.000000000 +0100 -+++ vim72/src/ex_getln.c 2008-12-06 11:37:50.000000000 +0000 -@@ -31,6 +31,8 @@ - int cmdattr; /* attributes for prompt */ - int overstrike; /* Typing mode on the command line. Shared by - getcmdline() and put_on_cmdline(). */ -+ expand_T *xpc; /* struct being used for expansion, xp_pattern -+ may point into cmdbuff */ - int xp_context; /* type of expansion */ - # ifdef FEAT_EVAL - char_u *xp_arg; /* user-defined expansion arg */ -@@ -38,7 +40,11 @@ - # endif - }; - --static struct cmdline_info ccline; /* current cmdline_info */ -+/* The current cmdline_info. It is initialized in getcmdline() and after that -+ * used by other functions. When invoking getcmdline() recursively it needs -+ * to be saved with save_cmdline() and restored with restore_cmdline(). -+ * TODO: make it local to getcmdline() and pass it around. */ -+static struct cmdline_info ccline; - - static int cmd_showtail; /* Only show path tail in lists ? */ - -@@ -238,6 +244,7 @@ - } - - ExpandInit(&xpc); -+ ccline.xpc = &xpc; - - #ifdef FEAT_RIGHTLEFT - if (curwin->w_p_rl && *curwin->w_p_rlc == 's' -@@ -408,9 +415,10 @@ - #endif - - /* -- * <S-Tab> works like CTRL-P (unless 'wc' is <S-Tab>). -+ * When there are matching completions to select <S-Tab> works like -+ * CTRL-P (unless 'wc' is <S-Tab>). - */ -- if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles != -1) -+ if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles > 0) - c = Ctrl_P; - - #ifdef FEAT_WILDMENU -@@ -1513,6 +1521,7 @@ - int old_firstc; - - vim_free(ccline.cmdbuff); -+ xpc.xp_context = EXPAND_NOTHING; - if (hiscnt == hislen) - p = lookfor; /* back to the old one */ - else -@@ -1839,6 +1848,7 @@ - #endif - - ExpandCleanup(&xpc); -+ ccline.xpc = NULL; - - #ifdef FEAT_SEARCH_EXTRA - if (did_incsearch) -@@ -2508,6 +2518,20 @@ - } - mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen + 1); - vim_free(p); -+ -+ if (ccline.xpc != NULL -+ && ccline.xpc->xp_pattern != NULL -+ && ccline.xpc->xp_context != EXPAND_NOTHING -+ && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL) -+ { -+ int i = (int)(ccline.xpc->xp_pattern - p); -+ -+ /* If xp_pattern points inside the old cmdbuff it needs to be adjusted -+ * to point into the newly allocated memory. */ -+ if (i >= 0 && i <= ccline.cmdlen) -+ ccline.xpc->xp_pattern = ccline.cmdbuff + i; -+ } -+ - return OK; - } - -@@ -2875,6 +2899,7 @@ - prev_ccline = ccline; - ccline.cmdbuff = NULL; - ccline.cmdprompt = NULL; -+ ccline.xpc = NULL; - } - - /* -@@ -3582,6 +3607,7 @@ - ExpandInit(xp) - expand_T *xp; - { -+ xp->xp_pattern = NULL; - xp->xp_backslash = XP_BS_NONE; - #ifndef BACKSLASH_IN_FILENAME - xp->xp_shell = FALSE; -@@ -4871,7 +4897,7 @@ - if (s == NULL) - return FAIL; - sprintf((char *)s, "%s/%s*.vim", dirname, pat); -- all = globpath(p_rtp, s); -+ all = globpath(p_rtp, s, 0); - vim_free(s); - if (all == NULL) - return FAIL; -@@ -4912,9 +4938,10 @@ - * newlines. Returns NULL for an error or no matches. - */ - char_u * --globpath(path, file) -+globpath(path, file, expand_options) - char_u *path; - char_u *file; -+ int expand_options; - { - expand_T xpc; - char_u *buf; -@@ -4943,10 +4970,10 @@ - { - add_pathsep(buf); - STRCAT(buf, file); -- if (ExpandFromContext(&xpc, buf, &num_p, &p, WILD_SILENT) != FAIL -- && num_p > 0) -+ if (ExpandFromContext(&xpc, buf, &num_p, &p, -+ WILD_SILENT|expand_options) != FAIL && num_p > 0) - { -- ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT); -+ ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT|expand_options); - for (len = 0, i = 0; i < num_p; ++i) - len += (int)STRLEN(p[i]) + 1; - -@@ -6025,7 +6052,7 @@ - cmdwin_type = '-'; - - /* Create the command-line buffer empty. */ -- (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE); -+ (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL); - (void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE); - set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL); - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); -diff -Naur vim72.orig/src/feature.h vim72/src/feature.h ---- vim72.orig/src/feature.h 2008-08-06 12:00:39.000000000 +0100 -+++ vim72/src/feature.h 2008-12-06 11:37:49.000000000 +0000 -@@ -767,9 +767,13 @@ - - /* - * +browse ":browse" command. -+ * or just the ":browse" command modifier - */ --#if defined(FEAT_NORMAL) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC)) --# define FEAT_BROWSE -+#if defined(FEAT_NORMAL) -+# define FEAT_BROWSE_CMD -+# if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) -+# define FEAT_BROWSE -+# endif - #endif - - /* -diff -Naur vim72.orig/src/fileio.c vim72/src/fileio.c ---- vim72.orig/src/fileio.c 2008-08-06 12:01:03.000000000 +0100 -+++ vim72/src/fileio.c 2008-12-06 11:37:50.000000000 +0000 -@@ -932,7 +932,10 @@ - else - { - if (eap != NULL && eap->force_ff != 0) -+ { - fileformat = get_fileformat_force(curbuf, eap); -+ try_unix = try_dos = try_mac = FALSE; -+ } - else if (curbuf->b_p_bin) - fileformat = EOL_UNIX; /* binary: use Unix format */ - else if (*p_ffs == NUL) -@@ -2211,7 +2214,7 @@ - { - /* Use stderr for stdin, makes shell commands work. */ - close(0); -- dup(2); -+ ignored = dup(2); - } - #endif - -@@ -2341,11 +2344,6 @@ - STRCAT(IObuff, _("[CR missing]")); - c = TRUE; - } -- if (ff_error == EOL_MAC) -- { -- STRCAT(IObuff, _("[NL found]")); -- c = TRUE; -- } - if (split) - { - STRCAT(IObuff, _("[long lines split]")); -@@ -2711,7 +2709,7 @@ - { - if (!curbuf->b_marks_read && get_viminfo_parameter(''') > 0 - && curbuf->b_ffname != NULL) -- read_viminfo(NULL, FALSE, TRUE, FALSE); -+ read_viminfo(NULL, VIF_WANT_MARKS); - - /* Always set b_marks_read; needed when 'viminfo' is changed to include - * the ' parameter after opening a buffer. */ -@@ -3451,7 +3449,7 @@ - { - # ifdef UNIX - # ifdef HAVE_FCHOWN -- fchown(fd, st_old.st_uid, st_old.st_gid); -+ ignored = fchown(fd, st_old.st_uid, st_old.st_gid); - # endif - if (mch_stat((char *)IObuff, &st) < 0 - || st.st_uid != st_old.st_uid -@@ -4367,7 +4365,7 @@ - || st.st_uid != st_old.st_uid - || st.st_gid != st_old.st_gid) - { -- fchown(fd, st_old.st_uid, st_old.st_gid); -+ ignored = fchown(fd, st_old.st_uid, st_old.st_gid); - if (perm >= 0) /* set permission again, may have changed */ - (void)mch_setperm(wfname, perm); - } -@@ -5550,9 +5548,10 @@ - name = "ucs-4le"; /* FF FE 00 00 */ - len = 4; - } -- else if (flags == FIO_ALL || flags == (FIO_UCS2 | FIO_ENDIAN_L)) -+ else if (flags == (FIO_UCS2 | FIO_ENDIAN_L)) - name = "ucs-2le"; /* FF FE */ -- else if (flags == (FIO_UTF16 | FIO_ENDIAN_L)) -+ else if (flags == FIO_ALL || flags == (FIO_UTF16 | FIO_ENDIAN_L)) -+ /* utf-16le is preferred, it also works for ucs-2le text */ - name = "utf-16le"; /* FF FE */ - } - else if (p[0] == 0xfe && p[1] == 0xff -@@ -6031,9 +6030,9 @@ - { - tbuf[FGETS_SIZE - 2] = NUL; - #ifdef USE_CR -- fgets_cr((char *)tbuf, FGETS_SIZE, fp); -+ ignoredp = fgets_cr((char *)tbuf, FGETS_SIZE, fp); - #else -- fgets((char *)tbuf, FGETS_SIZE, fp); -+ ignoredp = fgets((char *)tbuf, FGETS_SIZE, fp); - #endif - } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n'); - } -@@ -8523,6 +8522,7 @@ - char_u *save_sourcing_name; - linenr_T save_sourcing_lnum; - char_u *save_autocmd_fname; -+ int save_autocmd_fname_full; - int save_autocmd_bufnr; - char_u *save_autocmd_match; - int save_autocmd_busy; -@@ -8601,6 +8601,7 @@ - * Save the autocmd_* variables and info about the current buffer. - */ - save_autocmd_fname = autocmd_fname; -+ save_autocmd_fname_full = autocmd_fname_full; - save_autocmd_bufnr = autocmd_bufnr; - save_autocmd_match = autocmd_match; - save_autocmd_busy = autocmd_busy; -@@ -8618,14 +8619,15 @@ - if (fname != NULL && *fname != NUL) - autocmd_fname = fname; - else if (buf != NULL) -- autocmd_fname = buf->b_fname; -+ autocmd_fname = buf->b_ffname; - else - autocmd_fname = NULL; - } - else - autocmd_fname = fname_io; - if (autocmd_fname != NULL) -- autocmd_fname = FullName_save(autocmd_fname, FALSE); -+ autocmd_fname = vim_strsave(autocmd_fname); -+ autocmd_fname_full = FALSE; /* call FullName_save() later */ - - /* - * Set the buffer number to be used for <abuf>. -@@ -8810,6 +8812,7 @@ - sourcing_lnum = save_sourcing_lnum; - vim_free(autocmd_fname); - autocmd_fname = save_autocmd_fname; -+ autocmd_fname_full = save_autocmd_fname_full; - autocmd_bufnr = save_autocmd_bufnr; - autocmd_match = save_autocmd_match; - #ifdef FEAT_EVAL -@@ -8918,7 +8921,7 @@ - { - apc->curpat = NULL; - -- /* only use a pattern when it has not been removed, has commands and -+ /* Only use a pattern when it has not been removed, has commands and - * the group matches. For buffer-local autocommands only check the - * buffer number. */ - if (ap->pat != NULL && ap->cmds != NULL -@@ -9104,7 +9107,7 @@ - set_context_in_autocmd(xp, arg, doautocmd) - expand_T *xp; - char_u *arg; -- int doautocmd; /* TRUE for :doautocmd, FALSE for :autocmd */ -+ int doautocmd; /* TRUE for :doauto*, FALSE for :autocmd */ - { - char_u *p; - int group; -diff -Naur vim72.orig/src/fold.c vim72/src/fold.c ---- vim72.orig/src/fold.c 2008-08-06 12:01:12.000000000 +0100 -+++ vim72/src/fold.c 2008-12-06 11:37:50.000000000 +0000 -@@ -48,7 +48,7 @@ - static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp)); - static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum)); - static void checkupdate __ARGS((win_T *wp)); --static void setFoldRepeat __ARGS((linenr_T lnum, long count, int open)); -+static void setFoldRepeat __ARGS((linenr_T lnum, long count, int do_open)); - static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep)); - static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep)); - static void foldOpenNested __ARGS((fold_T *fpr)); -@@ -1241,10 +1241,10 @@ - * Repeat "count" times. - */ - static void --setFoldRepeat(lnum, count, open) -+setFoldRepeat(lnum, count, do_open) - linenr_T lnum; - long count; -- int open; -+ int do_open; - { - int done; - long n; -@@ -1252,7 +1252,7 @@ - for (n = 0; n < count; ++n) - { - done = DONE_NOTHING; -- (void)setManualFold(lnum, open, FALSE, &done); -+ (void)setManualFold(lnum, do_open, FALSE, &done); - if (!(done & DONE_ACTION)) - { - /* Only give an error message when no fold could be opened. */ -diff -Naur vim72.orig/src/getchar.c vim72/src/getchar.c ---- vim72.orig/src/getchar.c 2008-07-22 17:57:48.000000000 +0100 -+++ vim72/src/getchar.c 2008-12-06 11:37:50.000000000 +0000 -@@ -4702,7 +4702,7 @@ - return FAIL; - if (mp->m_noremap != REMAP_YES && fprintf(fd, "nore") < 0) - return FAIL; -- if (fprintf(fd, cmd) < 0) -+ if (fputs(cmd, fd) < 0) - return FAIL; - if (buf != NULL && fputs(" <buffer>", fd) < 0) - return FAIL; -@@ -4801,7 +4801,7 @@ - } - if (IS_SPECIAL(c) || modifiers) /* special key */ - { -- if (fprintf(fd, (char *)get_special_key_name(c, modifiers)) < 0) -+ if (fputs((char *)get_special_key_name(c, modifiers), fd) < 0) - return FAIL; - continue; - } -diff -Naur vim72.orig/src/globals.h vim72/src/globals.h ---- vim72.orig/src/globals.h 2008-07-26 12:53:29.000000000 +0100 -+++ vim72/src/globals.h 2008-12-06 11:37:50.000000000 +0000 -@@ -1022,6 +1022,7 @@ - #endif - #ifdef FEAT_AUTOCMD - EXTERN char_u *autocmd_fname INIT(= NULL); /* fname for <afile> on cmdline */ -+EXTERN int autocmd_fname_full; /* autocmd_fname is full path */ - EXTERN int autocmd_bufnr INIT(= 0); /* fnum for <abuf> on cmdline */ - EXTERN char_u *autocmd_match INIT(= NULL); /* name for <amatch> on cmdline */ - EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */ -@@ -1548,6 +1549,14 @@ - EXTERN time_t starttime; - - /* -+ * Some compilers warn for not using a return value, but in some situations we -+ * can't do anything useful with the value. Assign to this variable to avoid -+ * the warning. -+ */ -+EXTERN int ignored; -+EXTERN char *ignoredp; -+ -+/* - * Optional Farsi support. Include it here, so EXTERN and INIT are defined. - */ - #ifdef FEAT_FKMAP -diff -Naur vim72.orig/src/gui_at_sb.c vim72/src/gui_at_sb.c ---- vim72.orig/src/gui_at_sb.c 2004-06-07 15:32:25.000000000 +0100 -+++ vim72/src/gui_at_sb.c 2008-12-06 11:37:50.000000000 +0000 -@@ -1078,6 +1078,12 @@ - Cardinal *num_params; /* unused */ - { - ScrollbarWidget sbw = (ScrollbarWidget)w; -+ /* Use a union to avoid a warning for the weird conversion from float to -+ * XtPointer. Comes from Xaw/Scrollbar.c. */ -+ union { -+ XtPointer xtp; -+ float xtf; -+ } xtpf; - - if (LookAhead(w, event)) - return; -@@ -1085,7 +1091,8 @@ - /* thumbProc is not pretty, but is necessary for backwards - compatibility on those architectures for which it work{s,ed}; - the intent is to pass a (truncated) float by value. */ -- XtCallCallbacks(w, XtNthumbProc, *(XtPointer*)&sbw->scrollbar.top); -+ xtpf.xtf = sbw->scrollbar.top; -+ XtCallCallbacks(w, XtNthumbProc, xtpf.xtp); - XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top); - } - -diff -Naur vim72.orig/src/gui.c vim72/src/gui.c ---- vim72.orig/src/gui.c 2008-07-27 20:32:14.000000000 +0100 -+++ vim72/src/gui.c 2008-12-06 11:37:50.000000000 +0000 -@@ -139,7 +139,7 @@ - /* The read returns when the child closes the pipe (or when - * the child dies for some reason). */ - close(pipefd[1]); -- (void)read(pipefd[0], &dummy, (size_t)1); -+ ignored = (int)read(pipefd[0], &dummy, (size_t)1); - close(pipefd[0]); - } - -@@ -3241,7 +3241,7 @@ - i = Rows; - gui_update_tabline(); - Rows = i; -- need_set_size = RESIZE_VERT; -+ need_set_size |= RESIZE_VERT; - if (using_tabline) - fix_size = TRUE; - if (!gui_use_tabline()) -@@ -3275,9 +3275,9 @@ - if (gui.which_scrollbars[i] != prev_which_scrollbars[i]) - { - if (i == SBAR_BOTTOM) -- need_set_size = RESIZE_VERT; -+ need_set_size |= RESIZE_VERT; - else -- need_set_size = RESIZE_HOR; -+ need_set_size |= RESIZE_HOR; - if (gui.which_scrollbars[i]) - fix_size = TRUE; - } -@@ -3297,7 +3297,7 @@ - gui_mch_enable_menu(gui.menu_is_active); - Rows = i; - prev_menu_is_active = gui.menu_is_active; -- need_set_size = RESIZE_VERT; -+ need_set_size |= RESIZE_VERT; - if (gui.menu_is_active) - fix_size = TRUE; - } -@@ -3308,7 +3308,7 @@ - { - gui_mch_show_toolbar(using_toolbar); - prev_toolbar = using_toolbar; -- need_set_size = RESIZE_VERT; -+ need_set_size |= RESIZE_VERT; - if (using_toolbar) - fix_size = TRUE; - } -@@ -3318,7 +3318,7 @@ - { - gui_mch_enable_footer(using_footer); - prev_footer = using_footer; -- need_set_size = RESIZE_VERT; -+ need_set_size |= RESIZE_VERT; - if (using_footer) - fix_size = TRUE; - } -@@ -3330,10 +3330,11 @@ - prev_tearoff = using_tearoff; - } - #endif -- if (need_set_size) -+ if (need_set_size != 0) - { - #ifdef FEAT_GUI_GTK -- long c = Columns; -+ long prev_Columns = Columns; -+ long prev_Rows = Rows; - #endif - /* Adjust the size of the window to make the text area keep the - * same size and to avoid that part of our window is off-screen -@@ -3349,11 +3350,14 @@ - * If you remove this, please test this command for resizing - * effects (with optional left scrollbar): ":vsp|q|vsp|q|vsp|q". - * Don't do this while starting up though. -- * And don't change Rows, it may have be reduced intentionally -- * when adding menu/toolbar/tabline. */ -- if (!gui.starting) -+ * Don't change Rows when adding menu/toolbar/tabline. -+ * Don't change Columns when adding vertical toolbar. */ -+ if (!gui.starting && need_set_size != (RESIZE_VERT | RESIZE_HOR)) - (void)char_avail(); -- Columns = c; -+ if ((need_set_size & RESIZE_VERT) == 0) -+ Rows = prev_Rows; -+ if ((need_set_size & RESIZE_HOR) == 0) -+ Columns = prev_Columns; - #endif - } - #ifdef FEAT_WINDOWS -diff -Naur vim72.orig/src/gui_gtk_x11.c vim72/src/gui_gtk_x11.c ---- vim72.orig/src/gui_gtk_x11.c 2008-07-04 11:46:24.000000000 +0100 -+++ vim72/src/gui_gtk_x11.c 2008-12-06 11:37:50.000000000 +0000 -@@ -4070,14 +4070,14 @@ - - if (mask & (XValue | YValue)) - { -- int w, h; -- gui_mch_get_screen_dimensions(&w, &h); -- h += p_ghr + get_menu_tool_height(); -- w += get_menu_tool_width(); -+ int ww, hh; -+ gui_mch_get_screen_dimensions(&ww, &hh); -+ hh += p_ghr + get_menu_tool_height(); -+ ww += get_menu_tool_width(); - if (mask & XNegative) -- x += w - pixel_width; -+ x += ww - pixel_width; - if (mask & YNegative) -- y += h - pixel_height; -+ y += hh - pixel_height; - #ifdef HAVE_GTK2 - gtk_window_move(GTK_WINDOW(gui.mainwin), x, y); - #else -diff -Naur vim72.orig/src/gui_x11.c vim72/src/gui_x11.c ---- vim72.orig/src/gui_x11.c 2008-06-08 16:13:45.000000000 +0100 -+++ vim72/src/gui_x11.c 2008-12-06 11:37:49.000000000 +0000 -@@ -2450,7 +2450,7 @@ - *colorPtr = colortable[closest]; - } - -- free(colortable); -+ vim_free(colortable); - return OK; - } - -diff -Naur vim72.orig/src/gui_xmdlg.c vim72/src/gui_xmdlg.c ---- vim72.orig/src/gui_xmdlg.c 2008-06-21 17:05:32.000000000 +0100 -+++ vim72/src/gui_xmdlg.c 2008-12-06 11:37:50.000000000 +0000 -@@ -369,10 +369,10 @@ - char buf[TEMP_BUF_SIZE]; - XmString items[MAX_ENTRIES_IN_LIST]; - int i; -- int index; -+ int idx; - -- for (index = (int)ENCODING; index < (int)NONE; ++index) -- count[index] = 0; -+ for (idx = (int)ENCODING; idx < (int)NONE; ++idx) -+ count[idx] = 0; - - /* First we insert the wild char into every single list. */ - if (fix != ENCODING) -@@ -503,14 +503,14 @@ - /* - * Now loop trough the remaining lists and set them up. - */ -- for (index = (int)NAME; index < (int)NONE; ++index) -+ for (idx = (int)NAME; idx < (int)NONE; ++idx) - { - Widget w; - -- if (fix == (enum ListSpecifier)index) -+ if (fix == (enum ListSpecifier)idx) - continue; - -- switch ((enum ListSpecifier)index) -+ switch ((enum ListSpecifier)idx) - { - case NAME: - w = data->list[NAME]; -@@ -525,21 +525,21 @@ - w = (Widget)0; /* for lint */ - } - -- for (i = 0; i < count[index]; ++i) -+ for (i = 0; i < count[idx]; ++i) - { -- items[i] = XmStringCreateLocalized(list[index][i]); -- XtFree(list[index][i]); -+ items[i] = XmStringCreateLocalized(list[idx][i]); -+ XtFree(list[idx][i]); - } - XmListDeleteAllItems(w); -- XmListAddItems(w, items, count[index], 1); -- if (data->sel[index]) -+ XmListAddItems(w, items, count[idx], 1); -+ if (data->sel[idx]) - { - XmStringFree(items[0]); -- items[0] = XmStringCreateLocalized(data->sel[index]); -+ items[0] = XmStringCreateLocalized(data->sel[idx]); - XmListSelectItem(w, items[0], False); - XmListSetBottomItem(w, items[0]); - } -- for (i = 0; i < count[index]; ++i) -+ for (i = 0; i < count[idx]; ++i) - XmStringFree(items[i]); - } - } -@@ -695,14 +695,14 @@ - int n; - XmString str; - Arg args[4]; -- char *msg = _("no specific match"); -+ char *nomatch_msg = _("no specific match"); - - n = 0; -- str = XmStringCreateLocalized(msg); -+ str = XmStringCreateLocalized(nomatch_msg); - XtSetArg(args[n], XmNlabelString, str); ++n; - XtSetValues(data->sample, args, n); - apply_fontlist(data->sample); -- XmTextSetString(data->name, msg); -+ XmTextSetString(data->name, nomatch_msg); - XmStringFree(str); - - return False; -@@ -886,21 +886,21 @@ - { - int i; - int max; -- int index = 0; -+ int idx = 0; - int size; -- char str[128]; -+ char buf[128]; - - for (i = 0, max = 0; i < data->num; i++) - { -- get_part(fn(data, i), 7, str); -- size = atoi(str); -+ get_part(fn(data, i), 7, buf); -+ size = atoi(buf); - if ((size > max) && (size < MAX_DISPLAY_SIZE)) - { -- index = i; -+ idx = i; - max = size; - } - } -- strcpy(big_font, fn(data, index)); -+ strcpy(big_font, fn(data, idx)); - } - data->old = XLoadQueryFont(XtDisplay(parent), big_font); - data->old_list = gui_motif_create_fontlist(data->old); -@@ -1217,28 +1217,28 @@ - - if (i != 0) - { -- char name[TEMP_BUF_SIZE]; -- char style[TEMP_BUF_SIZE]; -- char size[TEMP_BUF_SIZE]; -- char encoding[TEMP_BUF_SIZE]; -+ char namebuf[TEMP_BUF_SIZE]; -+ char stylebuf[TEMP_BUF_SIZE]; -+ char sizebuf[TEMP_BUF_SIZE]; -+ char encodingbuf[TEMP_BUF_SIZE]; - char *found; - - found = names[0]; - -- name_part(found, name); -- style_part(found, style); -- size_part(found, size, data->in_pixels); -- encoding_part(found, encoding); -- -- if (strlen(name) > 0 -- && strlen(style) > 0 -- && strlen(size) > 0 -- && strlen(encoding) > 0) -+ name_part(found, namebuf); -+ style_part(found, stylebuf); -+ size_part(found, sizebuf, data->in_pixels); -+ encoding_part(found, encodingbuf); -+ -+ if (strlen(namebuf) > 0 -+ && strlen(stylebuf) > 0 -+ && strlen(sizebuf) > 0 -+ && strlen(encodingbuf) > 0) - { -- data->sel[NAME] = XtNewString(name); -- data->sel[STYLE] = XtNewString(style); -- data->sel[SIZE] = XtNewString(size); -- data->sel[ENCODING] = XtNewString(encoding); -+ data->sel[NAME] = XtNewString(namebuf); -+ data->sel[STYLE] = XtNewString(stylebuf); -+ data->sel[SIZE] = XtNewString(sizebuf); -+ data->sel[ENCODING] = XtNewString(encodingbuf); - data->font_name = XtNewString(names[0]); - display_sample(data); - XmTextSetString(data->name, data->font_name); -diff -Naur vim72.orig/src/gui_xmebw.c vim72/src/gui_xmebw.c ---- vim72.orig/src/gui_xmebw.c 2007-09-06 11:57:51.000000000 +0100 -+++ vim72/src/gui_xmebw.c 2008-12-06 11:37:50.000000000 +0000 -@@ -1256,7 +1256,7 @@ - } - else - { -- int adjust = 0; -+ adjust = 0; - - #if !defined(LESSTIF_VERSION) && (XmVersion > 1002) - /* -@@ -1268,12 +1268,11 @@ - { - case XmEXTERNAL_HIGHLIGHT: - adjust = (eb->primitive.highlight_thickness - -- (eb->pushbutton.default_button_shadow_thickness ? -- Xm3D_ENHANCE_PIXEL : 0)); -+ (eb->pushbutton.default_button_shadow_thickness -+ ? Xm3D_ENHANCE_PIXEL : 0)); - break; - - case XmINTERNAL_HIGHLIGHT: -- adjust = 0; - break; - - default: -diff -Naur vim72.orig/src/if_cscope.c vim72/src/if_cscope.c ---- vim72.orig/src/if_cscope.c 2008-06-24 17:32:34.000000000 +0100 -+++ vim72/src/if_cscope.c 2008-12-06 11:37:48.000000000 +0000 -@@ -74,7 +74,7 @@ - { "add", cs_add, - N_("Add a new database"), "add file|dir [pre-path] [flags]", 0 }, - { "find", cs_find, -- N_("Query for a pattern"), FIND_USAGE, 1 }, -+ N_("Query for a pattern"), "find c|d|e|f|g|i|s|t name", 1 }, - { "help", cs_help, - N_("Show this message"), "help", 0 }, - { "kill", cs_kill, -@@ -1180,7 +1180,16 @@ - (void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"), - cmdp->name, _(cmdp->help), cmdp->usage); - if (strcmp(cmdp->name, "find") == 0) -- MSG_PUTS(FIND_HELP); -+ MSG_PUTS(_("\n" -+ " c: Find functions calling this function\n" -+ " d: Find functions called by this function\n" -+ " e: Find this egrep pattern\n" -+ " f: Find this file\n" -+ " g: Find this definition\n" -+ " i: Find files #including this file\n" -+ " s: Find this C symbol\n" -+ " t: Find assignments to\n")); -+ - cmdp++; - } - -diff -Naur vim72.orig/src/if_cscope.h vim72/src/if_cscope.h ---- vim72.orig/src/if_cscope.h 2007-09-02 15:51:08.000000000 +0100 -+++ vim72/src/if_cscope.h 2008-12-06 11:37:48.000000000 +0000 -@@ -42,17 +42,6 @@ - * f 7name Find this file - * i 8name Find files #including this file - */ --#define FIND_USAGE "find c|d|e|f|g|i|s|t name" --#define FIND_HELP "\n\ -- c: Find functions calling this function\n\ -- d: Find functions called by this function\n\ -- e: Find this egrep pattern\n\ -- f: Find this file\n\ -- g: Find this definition\n\ -- i: Find files #including this file\n\ -- s: Find this C symbol\n\ -- t: Find assignments to\n" -- - - typedef struct { - char * name; -diff -Naur vim72.orig/src/if_perl.xs vim72/src/if_perl.xs ---- vim72.orig/src/if_perl.xs 2008-07-17 21:55:09.000000000 +0100 -+++ vim72/src/if_perl.xs 2008-12-06 11:37:50.000000000 +0000 -@@ -136,6 +136,9 @@ - # define Perl_newXS_flags dll_Perl_newXS_flags - #endif - # define Perl_sv_free dll_Perl_sv_free -+# if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -+# define Perl_sv_free2 dll_Perl_sv_free2 -+# endif - # define Perl_sv_isa dll_Perl_sv_isa - # define Perl_sv_magic dll_Perl_sv_magic - # define Perl_sv_setiv dll_Perl_sv_setiv -@@ -163,7 +166,7 @@ - # define Perl_Isv_yes_ptr dll_Perl_Isv_yes_ptr - # define boot_DynaLoader dll_boot_DynaLoader - --# define Perl_sys_init3 dll_Perl_sys_init3 -+# define Perl_sys_init dll_Perl_sys_init - # define Perl_sys_term dll_Perl_sys_term - # define Perl_ISv_ptr dll_Perl_ISv_ptr - # define Perl_Istack_max_ptr dll_Perl_Istack_max_ptr -@@ -268,7 +271,8 @@ - static void (*boot_DynaLoader)_((pTHX_ CV*)); - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) --static void (*Perl_sys_init3)(int* argc, char*** argv, char*** env); -+static void (*Perl_sv_free2)(pTHX_ SV*); -+static void (*Perl_sys_init)(int* argc, char*** argv); - static void (*Perl_sys_term)(void); - static SV** (*Perl_ISv_ptr)(register PerlInterpreter*); - static SV*** (*Perl_Istack_max_ptr)(register PerlInterpreter*); -@@ -367,7 +371,8 @@ - {"Perl_TXpv_ptr", (PERL_PROC*)&Perl_TXpv_ptr}, - {"Perl_Tna_ptr", (PERL_PROC*)&Perl_Tna_ptr}, - #else -- {"Perl_sys_init3", (PERL_PROC*)&Perl_sys_init3}, -+ {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2}, -+ {"Perl_sys_init", (PERL_PROC*)&Perl_sys_init}, - {"Perl_sys_term", (PERL_PROC*)&Perl_sys_term}, - {"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr}, - {"Perl_Istack_sp_ptr", (PERL_PROC*)&Perl_Istack_sp_ptr}, -@@ -455,7 +460,7 @@ - static char *argv[] = { "", "-e", "" }; - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -- Perl_sys_init3(&argc, (char***)&argv, NULL); -+ Perl_sys_init(&argc, (char***)&argv); - #endif - perl_interp = perl_alloc(); - perl_construct(perl_interp); -diff -Naur vim72.orig/src/if_python.c vim72/src/if_python.c ---- vim72.orig/src/if_python.c 2008-07-17 22:09:32.000000000 +0100 -+++ vim72/src/if_python.c 2008-12-06 11:37:50.000000000 +0000 -@@ -531,6 +531,12 @@ - if (PythonMod_Init()) - goto fail; - -+ /* Remove the element from sys.path that was added because of our -+ * argv[0] value in PythonMod_Init(). Previously we used an empty -+ * string, but dependinding on the OS we then get an empty entry or -+ * the current directory in sys.path. */ -+ PyRun_SimpleString("import sys; sys.path = filter(lambda x: x != '/must>not&exist', sys.path)"); -+ - /* the first python thread is vim's, release the lock */ - Python_SaveThread(); - -@@ -2345,7 +2351,8 @@ - { - PyObject *mod; - PyObject *dict; -- static char *(argv[2]) = {"", NULL}; -+ /* The special value is removed from sys.path in Python_Init(). */ -+ static char *(argv[2]) = {"/must>not&exist/foo", NULL}; - - /* Fixups... */ - BufferType.ob_type = &PyType_Type; -diff -Naur vim72.orig/src/if_xcmdsrv.c vim72/src/if_xcmdsrv.c ---- vim72.orig/src/if_xcmdsrv.c 2008-07-18 14:05:03.000000000 +0100 -+++ vim72/src/if_xcmdsrv.c 2008-12-06 11:37:49.000000000 +0000 -@@ -736,7 +736,7 @@ - + serverReply.ga_len; - e.id = w; - ga_init2(&e.strings, 1, 100); -- memcpy(p, &e, sizeof(e)); -+ mch_memmove(p, &e, sizeof(e)); - serverReply.ga_len++; - } - } -@@ -1018,7 +1018,7 @@ - p++; - count = numItems - (p - regProp); - if (count > 0) -- memcpy(entry, p, count); -+ mch_memmove(entry, p, count); - XChangeProperty(dpy, RootWindow(dpy, 0), registryProperty, XA_STRING, - 8, PropModeReplace, regProp, - (int)(numItems - (p - entry))); -@@ -1072,7 +1072,7 @@ - p++; - lastHalf = numItems - (p - regProp); - if (lastHalf > 0) -- memcpy(entry, p, lastHalf); -+ mch_memmove(entry, p, lastHalf); - numItems = (entry - regProp) + lastHalf; - p = entry; - continue; -diff -Naur vim72.orig/src/main.c vim72/src/main.c ---- vim72.orig/src/main.c 2008-07-24 09:40:56.000000000 +0100 -+++ vim72/src/main.c 2008-12-06 11:37:50.000000000 +0000 -@@ -645,11 +645,12 @@ - - #ifdef FEAT_VIMINFO - /* -- * Read in registers, history etc, but not marks, from the viminfo file -+ * Read in registers, history etc, but not marks, from the viminfo file. -+ * This is where v:oldfiles gets filled. - */ - if (*p_viminfo != NUL) - { -- read_viminfo(NULL, TRUE, FALSE, FALSE); -+ read_viminfo(NULL, VIF_WANT_INFO | VIF_GET_OLDFILES); - TIME_MSG("reading viminfo"); - } - #endif -@@ -1457,7 +1458,8 @@ - ++initstr; - } - -- if (TOLOWER_ASC(initstr[0]) == 'g' || initstr[0] == 'k') -+ /* "gvim" starts the GUI. Also accept "Gvim" for MS-Windows. */ -+ if (TOLOWER_ASC(initstr[0]) == 'g') - { - main_start_gui(); - #ifdef FEAT_GUI -@@ -1508,7 +1510,8 @@ - early_arg_scan(parmp) - mparm_T *parmp; - { --#if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) -+#if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) \ -+ || !defined(FEAT_NETBEANS_INTG) - int argc = parmp->argc; - char **argv = parmp->argv; - int i; -@@ -1580,6 +1583,14 @@ - else if (STRICMP(argv[i], "--echo-wid") == 0) - echo_wid_arg = TRUE; - # endif -+# ifndef FEAT_NETBEANS_INTG -+ else if (strncmp(argv[i], "-nb", (size_t)3) == 0) -+ { -+ mch_errmsg(_("'-nb' cannot be used: not enabled at compile time\n")); -+ mch_exit(2); -+ } -+# endif -+ - } - #endif - } -@@ -2361,7 +2372,7 @@ - * Is there any other system that cannot do this? - */ - close(0); -- dup(2); -+ ignored = dup(2); - #endif - } - -@@ -2586,7 +2597,7 @@ - # endif - (void)do_ecmd(0, arg_idx < GARGCOUNT - ? alist_name(&GARGLIST[arg_idx]) : NULL, -- NULL, NULL, ECMD_LASTL, ECMD_HIDE); -+ NULL, NULL, ECMD_LASTL, ECMD_HIDE, curwin); - # ifdef HAS_SWAP_EXISTS_ACTION - if (swap_exists_did_quit) - { -diff -Naur vim72.orig/src/mark.c vim72/src/mark.c ---- vim72.orig/src/mark.c 2008-08-08 23:06:49.000000000 +0100 -+++ vim72/src/mark.c 2008-12-06 11:37:49.000000000 +0000 -@@ -1627,15 +1627,17 @@ - - /* - * Handle marks in the viminfo file: -- * fp_out == NULL read marks for current buffer only -- * fp_out != NULL copy marks for buffers not in buffer list -+ * fp_out != NULL: copy marks for buffers not in buffer list -+ * fp_out == NULL && (flags & VIF_WANT_MARKS): read marks for curbuf only -+ * fp_out == NULL && (flags & VIF_GET_OLDFILES | VIF_FORCEIT): fill v:oldfiles - */ - void --copy_viminfo_marks(virp, fp_out, count, eof) -+copy_viminfo_marks(virp, fp_out, count, eof, flags) - vir_T *virp; - FILE *fp_out; - int count; - int eof; -+ int flags; - { - char_u *line = virp->vir_line; - buf_T *buf; -@@ -1647,10 +1649,23 @@ - char_u *p; - char_u *name_buf; - pos_T pos; -+#ifdef FEAT_EVAL -+ list_T *list = NULL; -+#endif - - if ((name_buf = alloc(LSIZE)) == NULL) - return; - *name_buf = NUL; -+ -+#ifdef FEAT_EVAL -+ if (fp_out == NULL && (flags & (VIF_GET_OLDFILES | VIF_FORCEIT))) -+ { -+ list = list_alloc(); -+ if (list != NULL) -+ set_vim_var_list(VV_OLDFILES, list); -+ } -+#endif -+ - num_marked_files = get_viminfo_parameter('''); - while (!eof && (count < num_marked_files || fp_out == NULL)) - { -@@ -1681,6 +1696,11 @@ - p++; - *p = NUL; - -+#ifdef FEAT_EVAL -+ if (list != NULL) -+ list_append_string(list, str, -1); -+#endif -+ - /* - * If fp_out == NULL, load marks for current buffer. - * If fp_out != NULL, copy marks for buffers not in buflist. -@@ -1688,7 +1708,7 @@ - load_marks = copy_marks_out = FALSE; - if (fp_out == NULL) - { -- if (curbuf->b_ffname != NULL) -+ if ((flags & VIF_WANT_MARKS) && curbuf->b_ffname != NULL) - { - if (*name_buf == NUL) /* only need to do this once */ - home_replace(NULL, curbuf->b_ffname, name_buf, LSIZE, TRUE); -diff -Naur vim72.orig/src/mbyte.c vim72/src/mbyte.c ---- vim72.orig/src/mbyte.c 2008-07-14 13:38:05.000000000 +0100 -+++ vim72/src/mbyte.c 2008-12-06 11:37:50.000000000 +0000 -@@ -717,7 +717,7 @@ - * where mblen() returns 0 for invalid character. - * Therefore, following condition includes 0. - */ -- (void)mblen(NULL, 0); /* First reset the state. */ -+ ignored = mblen(NULL, 0); /* First reset the state. */ - if (mblen(buf, (size_t)1) <= 0) - n = 2; - else -@@ -2540,7 +2540,6 @@ - return (int)(p - q); - } - --#if defined(FEAT_EVAL) || defined(PROTO) - /* - * Copy a character from "*fp" to "*tp" and advance the pointers. - */ -@@ -2555,7 +2554,6 @@ - *tp += l; - *fp += l; - } --#endif - - /* - * Return the offset from "p" to the first byte of a character. When "p" is -@@ -3133,7 +3131,7 @@ - else - s = p + 1; - } -- for (i = 0; s[i] != NUL && s + i < buf + sizeof(buf) - 1; ++i) -+ for (i = 0; s[i] != NUL && i < sizeof(buf) - 1; ++i) - { - if (s[i] == '_' || s[i] == '-') - buf[i] = '-'; -@@ -5280,7 +5278,7 @@ - - /*ARGSUSED*/ - static void --preedit_start_cbproc(XIC xic, XPointer client_data, XPointer call_data) -+preedit_start_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("xim_decide_input_style()\n"); -@@ -5314,7 +5312,7 @@ - - /*ARGSUSED*/ - static void --preedit_draw_cbproc(XIC xic, XPointer client_data, XPointer call_data) -+preedit_draw_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - XIMPreeditDrawCallbackStruct *draw_data; - XIMText *text; -@@ -5386,7 +5384,7 @@ - draw_feedback = (char *)alloc(draw_data->chg_first - + text->length); - else -- draw_feedback = realloc(draw_feedback, -+ draw_feedback = vim_realloc(draw_feedback, - draw_data->chg_first + text->length); - if (draw_feedback != NULL) - { -@@ -5455,7 +5453,7 @@ - - /*ARGSUSED*/ - static void --preedit_caret_cbproc(XIC xic, XPointer client_data, XPointer call_data) -+preedit_caret_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_caret_cbproc()\n"); -@@ -5464,7 +5462,7 @@ - - /*ARGSUSED*/ - static void --preedit_done_cbproc(XIC xic, XPointer client_data, XPointer call_data) -+preedit_done_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_done_cbproc()\n"); -@@ -6103,7 +6101,7 @@ - - /* 1. codepage/UTF-8 -> ucs-2. */ - if (vcp->vc_cpfrom == 0) -- tmp_len = utf8_to_ucs2(ptr, len, NULL, NULL); -+ tmp_len = utf8_to_utf16(ptr, len, NULL, NULL); - else - tmp_len = MultiByteToWideChar(vcp->vc_cpfrom, 0, - ptr, len, 0, 0); -@@ -6111,13 +6109,13 @@ - if (tmp == NULL) - break; - if (vcp->vc_cpfrom == 0) -- utf8_to_ucs2(ptr, len, tmp, unconvlenp); -+ utf8_to_utf16(ptr, len, tmp, unconvlenp); - else - MultiByteToWideChar(vcp->vc_cpfrom, 0, ptr, len, tmp, tmp_len); - - /* 2. ucs-2 -> codepage/UTF-8. */ - if (vcp->vc_cpto == 0) -- retlen = ucs2_to_utf8(tmp, tmp_len, NULL); -+ retlen = utf16_to_utf8(tmp, tmp_len, NULL); - else - retlen = WideCharToMultiByte(vcp->vc_cpto, 0, - tmp, tmp_len, 0, 0, 0, 0); -@@ -6125,7 +6123,7 @@ - if (retval != NULL) - { - if (vcp->vc_cpto == 0) -- ucs2_to_utf8(tmp, tmp_len, retval); -+ utf16_to_utf8(tmp, tmp_len, retval); - else - WideCharToMultiByte(vcp->vc_cpto, 0, - tmp, tmp_len, retval, retlen, 0, 0); -diff -Naur vim72.orig/src/menu.c vim72/src/menu.c ---- vim72.orig/src/menu.c 2008-06-21 20:53:43.000000000 +0100 -+++ vim72/src/menu.c 2008-12-06 11:37:48.000000000 +0000 -@@ -1120,6 +1120,7 @@ - parent = menu; - menu = menu->children; - } -+ vim_free(path_name); - - /* Now we have found the matching menu, and we list the mappings */ - /* Highlight title */ -diff -Naur vim72.orig/src/message.c vim72/src/message.c ---- vim72.orig/src/message.c 2008-07-09 19:24:55.000000000 +0100 -+++ vim72/src/message.c 2008-12-06 11:37:50.000000000 +0000 -@@ -4585,61 +4585,62 @@ - if (remove_trailing_zeroes) - { - int i; -- char *p; -+ char *tp; - - /* Using %g or %G: remove superfluous zeroes. */ - if (fmt_spec == 'f') -- p = tmp + str_arg_l - 1; -+ tp = tmp + str_arg_l - 1; - else - { -- p = (char *)vim_strchr((char_u *)tmp, -+ tp = (char *)vim_strchr((char_u *)tmp, - fmt_spec == 'e' ? 'e' : 'E'); -- if (p != NULL) -+ if (tp != NULL) - { - /* Remove superfluous '+' and leading - * zeroes from the exponent. */ -- if (p[1] == '+') -+ if (tp[1] == '+') - { - /* Change "1.0e+07" to "1.0e07" */ -- STRMOVE(p + 1, p + 2); -+ STRMOVE(tp + 1, tp + 2); - --str_arg_l; - } -- i = (p[1] == '-') ? 2 : 1; -- while (p[i] == '0') -+ i = (tp[1] == '-') ? 2 : 1; -+ while (tp[i] == '0') - { - /* Change "1.0e07" to "1.0e7" */ -- STRMOVE(p + i, p + i + 1); -+ STRMOVE(tp + i, tp + i + 1); - --str_arg_l; - } -- --p; -+ --tp; - } - } - -- if (p != NULL && !precision_specified) -+ if (tp != NULL && !precision_specified) - /* Remove trailing zeroes, but keep the one - * just after a dot. */ -- while (p > tmp + 2 && *p == '0' && p[-1] != '.') -+ while (tp > tmp + 2 && *tp == '0' -+ && tp[-1] != '.') - { -- STRMOVE(p, p + 1); -- --p; -+ STRMOVE(tp, tp + 1); -+ --tp; - --str_arg_l; - } - } - else - { -- char *p; -+ char *tp; - - /* Be consistent: some printf("%e") use 1.0e+12 - * and some 1.0e+012. Remove one zero in the last - * case. */ -- p = (char *)vim_strchr((char_u *)tmp, -+ tp = (char *)vim_strchr((char_u *)tmp, - fmt_spec == 'e' ? 'e' : 'E'); -- if (p != NULL && (p[1] == '+' || p[1] == '-') -- && p[2] == '0' -- && vim_isdigit(p[3]) -- && vim_isdigit(p[4])) -+ if (tp != NULL && (tp[1] == '+' || tp[1] == '-') -+ && tp[2] == '0' -+ && vim_isdigit(tp[3]) -+ && vim_isdigit(tp[4])) - { -- STRMOVE(p + 2, p + 3); -+ STRMOVE(tp + 2, tp + 3); - --str_arg_l; - } - } -diff -Naur vim72.orig/src/misc1.c vim72/src/misc1.c ---- vim72.orig/src/misc1.c 2008-07-12 20:20:53.000000000 +0100 -+++ vim72/src/misc1.c 2008-12-06 11:37:50.000000000 +0000 -@@ -3245,9 +3245,9 @@ - - /* When using ":silent" assume that <CR> was entered. */ - if (mouse_used != NULL) -- MSG_PUTS(_("Type number or click with mouse (<Enter> cancels): ")); -+ MSG_PUTS(_("Type number and <Enter> or click with mouse (empty cancels): ")); - else -- MSG_PUTS(_("Choice number (<Enter> cancels): ")); -+ MSG_PUTS(_("Type number and <Enter> (empty cancels): ")); - - /* Set the state such that text can be selected/copied/pasted and we still - * get mouse events. */ -@@ -8728,7 +8728,7 @@ - /* The active codepage differs from 'encoding'. Attempt using the - * wide function. If it fails because it is not implemented fall back - * to the non-wide version (for Windows 98) */ -- wn = enc_to_ucs2(buf, NULL); -+ wn = enc_to_utf16(buf, NULL); - if (wn != NULL) - { - hFind = FindFirstFileW(wn, &wfb); -@@ -8756,7 +8756,7 @@ - #ifdef WIN3264 - # ifdef FEAT_MBYTE - if (wn != NULL) -- p = ucs2_to_enc(wfb.cFileName, NULL); /* p is allocated here */ -+ p = utf16_to_enc(wfb.cFileName, NULL); /* p is allocated here */ - else - # endif - p = (char_u *)fb.cFileName; -@@ -8830,7 +8830,7 @@ - if (wn != NULL) - { - vim_free(wn); -- wn = enc_to_ucs2(buf, NULL); -+ wn = enc_to_utf16(buf, NULL); - if (wn != NULL) - hFind = FindFirstFileW(wn, &wfb); - } -diff -Naur vim72.orig/src/misc2.c vim72/src/misc2.c ---- vim72.orig/src/misc2.c 2008-07-23 20:12:56.000000000 +0100 -+++ vim72/src/misc2.c 2008-12-06 11:37:49.000000000 +0000 -@@ -873,7 +873,7 @@ - /* 3. check for available memory: call mch_avail_mem() */ - if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing) - { -- vim_free((char *)p); /* System is low... no go! */ -+ free((char *)p); /* System is low... no go! */ - p = NULL; - } - else -@@ -1257,7 +1257,6 @@ - return escaped_string; - } - --#if !defined(BACKSLASH_IN_FILENAME) || defined(FEAT_EVAL) || defined(PROTO) - /* - * Return TRUE when 'shell' has "csh" in the tail. - */ -@@ -1266,9 +1265,7 @@ - { - return (strstr((char *)gettail(p_sh), "csh") != NULL); - } --#endif - --#if defined(FEAT_EVAL) || defined(PROTO) - /* - * Escape "string" for use as a shell argument with system(). - * This uses single quotes, except when we know we need to use double qoutes -@@ -1391,7 +1388,6 @@ - - return escaped_string; - } --#endif - - /* - * Like vim_strsave(), but make all characters uppercase. -diff -Naur vim72.orig/src/move.c vim72/src/move.c ---- vim72.orig/src/move.c 2008-07-12 17:26:47.000000000 +0100 -+++ vim72/src/move.c 2008-12-06 11:37:49.000000000 +0000 -@@ -280,18 +280,20 @@ - - if (curwin->w_botline <= curbuf->b_ml.ml_line_count) - { -- if (curwin->w_cursor.lnum < curwin->w_botline -- && ((long)curwin->w_cursor.lnum -+ if (curwin->w_cursor.lnum < curwin->w_botline) -+ { -+ if (((long)curwin->w_cursor.lnum - >= (long)curwin->w_botline - p_so - #ifdef FEAT_FOLDING - || hasAnyFolding(curwin) - #endif - )) -- { -+ { - lineoff_T loff; - -- /* Cursor is above botline, check if there are 'scrolloff' -- * window lines below the cursor. If not, need to scroll. */ -+ /* Cursor is (a few lines) above botline, check if there are -+ * 'scrolloff' window lines below the cursor. If not, need to -+ * scroll. */ - n = curwin->w_empty_rows; - loff.lnum = curwin->w_cursor.lnum; - #ifdef FEAT_FOLDING -@@ -317,6 +319,10 @@ - if (n >= p_so) - /* sufficient context, no need to scroll */ - check_botline = FALSE; -+ } -+ else -+ /* sufficient context, no need to scroll */ -+ check_botline = FALSE; - } - if (check_botline) - { -@@ -509,6 +515,9 @@ - /* Approximate the value of w_botline */ - wp->w_botline += lnum - wp->w_topline; - wp->w_topline = lnum; -+#ifdef FEAT_AUTOCMD -+ wp->w_topline_was_set = TRUE; -+#endif - #ifdef FEAT_DIFF - wp->w_topfill = 0; - #endif -diff -Naur vim72.orig/src/netbeans.c vim72/src/netbeans.c ---- vim72.orig/src/netbeans.c 2008-07-13 17:19:54.000000000 +0100 -+++ vim72/src/netbeans.c 2008-12-06 11:37:50.000000000 +0000 -@@ -1043,7 +1043,7 @@ - nbdebug(("EVT: %s", buf)); - /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */ - if (sd >= 0) -- sock_write(sd, buf, (int)STRLEN(buf)); /* ignore errors */ -+ ignored = sock_write(sd, buf, (int)STRLEN(buf)); - } - } - -@@ -1795,7 +1795,7 @@ - buf->displayname = NULL; - - netbeansReadFile = 0; /* don't try to open disk file */ -- do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF); -+ do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF, curwin); - netbeansReadFile = 1; - buf->bufp = curbuf; - maketitle(); -@@ -1960,7 +1960,7 @@ - - netbeansReadFile = 0; /* don't try to open disk file */ - do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE, -- ECMD_HIDE + ECMD_OLDBUF); -+ ECMD_HIDE + ECMD_OLDBUF, curwin); - netbeansReadFile = 1; - buf->bufp = curbuf; - maketitle(); -@@ -1979,7 +1979,7 @@ - vim_free(buf->displayname); - buf->displayname = nb_unquote(args, NULL); - do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE, -- ECMD_HIDE + ECMD_OLDBUF); -+ ECMD_HIDE + ECMD_OLDBUF, curwin); - buf->bufp = curbuf; - buf->initDone = TRUE; - doupdate = 1; -@@ -2277,9 +2277,6 @@ - int serNum; - int localTypeNum; - int typeNum; --# ifdef NBDEBUG -- int len; --# endif - pos_T *pos; - - if (buf == NULL || buf->bufp == NULL) -@@ -2303,13 +2300,10 @@ - pos = get_off_or_lnum(buf->bufp, &args); - - cp = (char *)args; --# ifdef NBDEBUG -- len = --# endif -- strtol(cp, &cp, 10); -+ ignored = (int)strtol(cp, &cp, 10); - args = (char_u *)cp; - # ifdef NBDEBUG -- if (len != -1) -+ if (ignored != -1) - { - nbdebug((" partial line annotation -- Not Yet Implemented!\n")); - } -diff -Naur vim72.orig/src/normal.c vim72/src/normal.c ---- vim72.orig/src/normal.c 2008-07-31 21:03:08.000000000 +0100 -+++ vim72/src/normal.c 2008-12-06 11:37:50.000000000 +0000 -@@ -183,6 +183,8 @@ - static void nv_cursorhold __ARGS((cmdarg_T *cap)); - #endif - -+static char *e_noident = N_("E349: No identifier under cursor"); -+ - /* - * Function to be called for a Normal or Visual mode command. - * The argument is a cmdarg_T. -@@ -578,6 +580,9 @@ - static int old_mapped_len = 0; - #endif - int idx; -+#ifdef FEAT_EVAL -+ int set_prevcount = FALSE; -+#endif - - vim_memset(&ca, 0, sizeof(ca)); /* also resets ca.retval */ - ca.oap = oap; -@@ -613,7 +618,12 @@ - /* When not finishing an operator and no register name typed, reset the - * count. */ - if (!finish_op && !oap->regname) -+ { - ca.opcount = 0; -+#ifdef FEAT_EVAL -+ set_prevcount = TRUE; -+#endif -+ } - - #ifdef FEAT_AUTOCMD - /* Restore counts from before receiving K_CURSORHOLD. This means after -@@ -717,7 +727,15 @@ - * command, so that v:count can be used in an expression mapping - * right after the count. */ - if (toplevel && stuff_empty()) -- set_vcount(ca.count0, ca.count0 == 0 ? 1 : ca.count0); -+ { -+ long count = ca.count0; -+ -+ /* multiply with ca.opcount the same way as below */ -+ if (ca.opcount != 0) -+ count = ca.opcount * (count == 0 ? 1 : count); -+ set_vcount(count, count == 0 ? 1 : count, set_prevcount); -+ set_prevcount = FALSE; /* only set v:prevcount once */ -+ } - #endif - if (ctrl_w) - { -@@ -804,7 +822,7 @@ - * Only set v:count when called from main() and not a stuffed command. - */ - if (toplevel && stuff_empty()) -- set_vcount(ca.count0, ca.count1); -+ set_vcount(ca.count0, ca.count1, set_prevcount); - #endif - - /* -@@ -1132,7 +1150,8 @@ - out_flush(); - #endif - #ifdef FEAT_AUTOCMD -- did_cursorhold = FALSE; -+ if (ca.cmdchar != K_IGNORE) -+ did_cursorhold = FALSE; - #endif - - State = NORMAL; -@@ -3509,7 +3528,7 @@ - if (find_type & FIND_STRING) - EMSG(_("E348: No string under cursor")); - else -- EMSG(_("E349: No identifier under cursor")); -+ EMSG(_(e_noident)); - return 0; - } - ptr += col; -@@ -5469,6 +5488,20 @@ - STRCPY(buf, "he! "); - else - { -+ /* An external command will probably use an argument starting -+ * with "-" as an option. To avoid trouble we skip the "-". */ -+ while (*ptr == '-' && n > 0) -+ { -+ ++ptr; -+ --n; -+ } -+ if (n == 0) -+ { -+ EMSG(_(e_noident)); /* found dashes only */ -+ vim_free(buf); -+ return; -+ } -+ - /* When a count is given, turn it into a range. Is this - * really what we want? */ - isman = (STRCMP(kp, "man") == 0); -@@ -5511,37 +5544,59 @@ - /* - * Now grab the chars in the identifier - */ -- if (cmdchar == '*') -- aux_ptr = (char_u *)(p_magic ? "/.*~[^$\" : "/^$\"); -- else if (cmdchar == '#') -- aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\" : "/?^$\"); -- else if (cmdchar == 'K' && !kp_help) -- aux_ptr = (char_u *)" \t\"|!"; -- else -- /* Don't escape spaces and Tabs in a tag with a backslash */ -- aux_ptr = (char_u *)"\|""; -- -- p = buf + STRLEN(buf); -- while (n-- > 0) -- { -- /* put a backslash before \ and some others */ -- if (vim_strchr(aux_ptr, *ptr) != NULL) -- *p++ = '\'; --#ifdef FEAT_MBYTE -- /* When current byte is a part of multibyte character, copy all bytes -- * of that character. */ -- if (has_mbyte) -+ if (cmdchar == 'K' && !kp_help) -+ { -+ /* Escape the argument properly for a shell command */ -+ ptr = vim_strnsave(ptr, n); -+ p = vim_strsave_shellescape(ptr, TRUE); -+ vim_free(ptr); -+ if (p == NULL) - { -- int i; -- int len = (*mb_ptr2len)(ptr) - 1; -- -- for (i = 0; i < len && n >= 1; ++i, --n) -- *p++ = *ptr++; -+ vim_free(buf); -+ return; - } -+ buf = (char_u *)vim_realloc(buf, STRLEN(buf) + STRLEN(p) + 1); -+ if (buf == NULL) -+ { -+ vim_free(buf); -+ vim_free(p); -+ return; -+ } -+ STRCAT(buf, p); -+ vim_free(p); -+ } -+ else -+ { -+ if (cmdchar == '*') -+ aux_ptr = (char_u *)(p_magic ? "/.*~[^$\" : "/^$\"); -+ else if (cmdchar == '#') -+ aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\" : "/?^$\"); -+ else -+ /* Don't escape spaces and Tabs in a tag with a backslash */ -+ aux_ptr = (char_u *)"\|"\n*?["; -+ -+ p = buf + STRLEN(buf); -+ while (n-- > 0) -+ { -+ /* put a backslash before \ and some others */ -+ if (vim_strchr(aux_ptr, *ptr) != NULL) -+ *p++ = '\'; -+#ifdef FEAT_MBYTE -+ /* When current byte is a part of multibyte character, copy all -+ * bytes of that character. */ -+ if (has_mbyte) -+ { -+ int i; -+ int len = (*mb_ptr2len)(ptr) - 1; -+ -+ for (i = 0; i < len && n >= 1; ++i, --n) -+ *p++ = *ptr++; -+ } - #endif -- *p++ = *ptr++; -+ *p++ = *ptr++; -+ } -+ *p = NUL; - } -- *p = NUL; - - /* - * Execute the command. -@@ -6011,7 +6066,7 @@ - autowrite(curbuf, FALSE); - setpcmark(); - (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST, -- P_HID(curbuf) ? ECMD_HIDE : 0); -+ P_HID(curbuf) ? ECMD_HIDE : 0, curwin); - if (cap->nchar == 'F' && lnum >= 0) - { - curwin->w_cursor.lnum = lnum; -diff -Naur vim72.orig/src/ops.c vim72/src/ops.c ---- vim72.orig/src/ops.c 2008-06-21 21:08:59.000000000 +0100 -+++ vim72/src/ops.c 2008-12-06 11:37:50.000000000 +0000 -@@ -2209,12 +2209,15 @@ - { - for (; pos.lnum <= oap->end.lnum; ++pos.lnum) - { -+ int one_change; -+ - block_prep(oap, &bd, pos.lnum, FALSE); - pos.col = bd.textcol; -- did_change = swapchars(oap->op_type, &pos, bd.textlen); -+ one_change = swapchars(oap->op_type, &pos, bd.textlen); -+ did_change |= one_change; - - # ifdef FEAT_NETBEANS_INTG -- if (usingNetbeans && did_change) -+ if (usingNetbeans && one_change) - { - char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE); - -diff -Naur vim72.orig/src/option.c vim72/src/option.c ---- vim72.orig/src/option.c 2008-07-18 14:05:33.000000000 +0100 -+++ vim72/src/option.c 2008-12-06 11:37:50.000000000 +0000 -@@ -2593,13 +2593,13 @@ - #ifdef FEAT_VIMINFO - (char_u *)&p_viminfo, PV_NONE, - #if defined(MSDOS) || defined(MSWIN) || defined(OS2) -- {(char_u *)"", (char_u *)"'20,<50,s10,h,rA:,rB:"} -+ {(char_u *)"", (char_u *)"'100,<50,s10,h,rA:,rB:"} - #else - # ifdef AMIGA - {(char_u *)"", -- (char_u *)"'20,<50,s10,h,rdf0:,rdf1:,rdf2:"} -+ (char_u *)"'100,<50,s10,h,rdf0:,rdf1:,rdf2:"} - # else -- {(char_u *)"", (char_u *)"'20,<50,s10,h"} -+ {(char_u *)"", (char_u *)"'100,<50,s10,h"} - # endif - #endif - #else -@@ -7974,6 +7974,11 @@ - else /* curwin->w_p_scr > curwin->w_height */ - curwin->w_p_scr = curwin->w_height; - } -+ if (p_hi < 0) -+ { -+ errmsg = e_positive; -+ p_hi = 0; -+ } - if (p_report < 0) - { - errmsg = e_positive; -@@ -8227,13 +8232,13 @@ - { - if (number == 0 && string != NULL) - { -- int index; -+ int idx; - - /* Either we are given a string or we are setting option - * to zero. */ -- for (index = 0; string[index] == '0'; ++index) -+ for (idx = 0; string[idx] == '0'; ++idx) - ; -- if (string[index] != NUL || index == 0) -+ if (string[idx] != NUL || idx == 0) - { - /* There's another character after zeros or the string - * is empty. In both cases, we are trying to set a -diff -Naur vim72.orig/src/os_unix.c vim72/src/os_unix.c ---- vim72.orig/src/os_unix.c 2008-08-06 12:01:40.000000000 +0100 -+++ vim72/src/os_unix.c 2008-12-06 11:37:50.000000000 +0000 -@@ -315,12 +315,15 @@ - {-1, "Unknown!", FALSE} - }; - -+/* -+ * Write s[len] to the screen. -+ */ - void - mch_write(s, len) - char_u *s; - int len; - { -- write(1, (char *)s, len); -+ ignored = (int)write(1, (char *)s, len); - if (p_wd) /* Unix is too fast, slow down a bit more */ - RealWaitForChar(read_cmd_fd, p_wd, NULL); - } -@@ -2905,7 +2908,7 @@ - * Ignore any errors. - */ - #if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK) -- signal_stack = malloc(SIGSTKSZ); -+ signal_stack = (char *)alloc(SIGSTKSZ); - init_signal_stack(); - #endif - } -@@ -2936,7 +2939,8 @@ - } - # endif - # endif --# ifdef FEAT_X11 -+ /* Don't close the display for GTK 1, it is done in exit(). */ -+# if defined(FEAT_X11) && (!defined(FEAT_GUI_GTK) || defined(HAVE_GTK2)) - if (x11_display != NULL - # ifdef FEAT_XCLIPBOARD - && x11_display != xterm_dpy -@@ -3926,9 +3930,9 @@ - */ - if (fd >= 0) - { -- dup(fd); /* To replace stdin (file descriptor 0) */ -- dup(fd); /* To replace stdout (file descriptor 1) */ -- dup(fd); /* To replace stderr (file descriptor 2) */ -+ ignored = dup(fd); /* To replace stdin (fd 0) */ -+ ignored = dup(fd); /* To replace stdout (fd 1) */ -+ ignored = dup(fd); /* To replace stderr (fd 2) */ - - /* Don't need this now that we've duplicated it */ - close(fd); -@@ -3996,13 +4000,13 @@ - - /* set up stdin/stdout/stderr for the child */ - close(0); -- dup(pty_slave_fd); -+ ignored = dup(pty_slave_fd); - close(1); -- dup(pty_slave_fd); -+ ignored = dup(pty_slave_fd); - if (gui.in_use) - { - close(2); -- dup(pty_slave_fd); -+ ignored = dup(pty_slave_fd); - } - - close(pty_slave_fd); /* has been dupped, close it now */ -@@ -4013,13 +4017,13 @@ - /* set up stdin for the child */ - close(fd_toshell[1]); - close(0); -- dup(fd_toshell[0]); -+ ignored = dup(fd_toshell[0]); - close(fd_toshell[0]); - - /* set up stdout for the child */ - close(fd_fromshell[0]); - close(1); -- dup(fd_fromshell[1]); -+ ignored = dup(fd_fromshell[1]); - close(fd_fromshell[1]); - - # ifdef FEAT_GUI -@@ -4027,7 +4031,7 @@ - { - /* set up stderr for the child */ - close(2); -- dup(1); -+ ignored = dup(1); - } - # endif - } -@@ -4158,7 +4162,8 @@ - && (lnum != - curbuf->b_ml.ml_line_count - || curbuf->b_p_eol))) -- write(toshell_fd, "\n", (size_t)1); -+ ignored = write(toshell_fd, "\n", -+ (size_t)1); - ++lnum; - if (lnum > curbuf->b_op_end.lnum) - { -@@ -6814,7 +6819,8 @@ - if (xsmp_icefd != -1) - { - SmcCloseConnection(xsmp.smcconn, 0, NULL); -- vim_free(xsmp.clientid); -+ if (xsmp.clientid != NULL) -+ free(xsmp.clientid); - xsmp.clientid = NULL; - xsmp_icefd = -1; - } -diff -Naur vim72.orig/src/popupmnu.c vim72/src/popupmnu.c ---- vim72.orig/src/popupmnu.c 2008-07-12 17:28:18.000000000 +0100 -+++ vim72/src/popupmnu.c 2008-12-06 11:37:49.000000000 +0000 -@@ -573,7 +573,7 @@ - { - /* Don't want to sync undo in the current buffer. */ - ++no_u_sync; -- res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0); -+ res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0, NULL); - --no_u_sync; - if (res == OK) - { -diff -Naur vim72.orig/src/proto/buffer.pro vim72/src/proto/buffer.pro ---- vim72.orig/src/proto/buffer.pro 2008-08-09 15:31:21.000000000 +0100 -+++ vim72/src/proto/buffer.pro 2008-12-06 11:37:49.000000000 +0000 -@@ -33,7 +33,7 @@ - char_u *getaltfname __ARGS((int errmsg)); - int buflist_add __ARGS((char_u *fname, int flags)); - void buflist_slash_adjust __ARGS((void)); --void buflist_altfpos __ARGS((void)); -+void buflist_altfpos __ARGS((win_T *win)); - int otherfile __ARGS((char_u *ffname)); - void buf_setino __ARGS((buf_T *buf)); - void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate)); -diff -Naur vim72.orig/src/proto/eval.pro vim72/src/proto/eval.pro ---- vim72.orig/src/proto/eval.pro 2008-08-09 15:31:25.000000000 +0100 -+++ vim72/src/proto/eval.pro 2008-12-06 11:37:50.000000000 +0000 -@@ -17,7 +17,7 @@ - int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip)); - char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip)); - int skip_expr __ARGS((char_u **pp)); --char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int dolist)); -+char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int convert)); - char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox)); - int eval_to_number __ARGS((char_u *expr)); - list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr)); -@@ -46,7 +46,9 @@ - void list_unref __ARGS((list_T *l)); - void list_free __ARGS((list_T *l, int recurse)); - dictitem_T *dict_lookup __ARGS((hashitem_T *hi)); -+char_u *list_find_str __ARGS((list_T *l, long idx)); - int list_append_dict __ARGS((list_T *list, dict_T *dict)); -+int list_append_string __ARGS((list_T *l, char_u *str, int len)); - int garbage_collect __ARGS((void)); - dict_T *dict_alloc __ARGS((void)); - int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); -@@ -58,8 +60,10 @@ - void set_vim_var_nr __ARGS((int idx, long val)); - long get_vim_var_nr __ARGS((int idx)); - char_u *get_vim_var_str __ARGS((int idx)); --void set_vcount __ARGS((long count, long count1)); -+list_T *get_vim_var_list __ARGS((int idx)); -+void set_vcount __ARGS((long count, long count1, int set_prevcount)); - void set_vim_var_string __ARGS((int idx, char_u *val, int len)); -+void set_vim_var_list __ARGS((int idx, list_T *val)); - void set_reg_var __ARGS((int c)); - char_u *v_exception __ARGS((char_u *oldval)); - char_u *v_throwpoint __ARGS((char_u *oldval)); -@@ -94,6 +98,7 @@ - void write_viminfo_varlist __ARGS((FILE *fp)); - int store_session_globals __ARGS((FILE *fd)); - void last_set_msg __ARGS((scid_T scriptID)); -+void ex_oldfiles __ARGS((exarg_T *eap)); - int modify_fname __ARGS((char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen)); - char_u *do_string_sub __ARGS((char_u *str, char_u *pat, char_u *sub, char_u *flags)); - /* vim: set ft=c : */ -diff -Naur vim72.orig/src/proto/ex_cmds.pro vim72/src/proto/ex_cmds.pro ---- vim72.orig/src/proto/ex_cmds.pro 2008-08-09 15:31:25.000000000 +0100 -+++ vim72/src/proto/ex_cmds.pro 2008-12-06 11:37:49.000000000 +0000 -@@ -11,7 +11,7 @@ - char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp)); - void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname)); - int viminfo_error __ARGS((char *errnum, char *message, char_u *line)); --int read_viminfo __ARGS((char_u *file, int want_info, int want_marks, int forceit)); -+int read_viminfo __ARGS((char_u *file, int flags)); - void write_viminfo __ARGS((char_u *file, int forceit)); - int viminfo_readline __ARGS((vir_T *virp)); - char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert)); -@@ -27,7 +27,7 @@ - void do_wqall __ARGS((exarg_T *eap)); - int not_writing __ARGS((void)); - int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit)); --int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags)); -+int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags, win_T *oldwin)); - void ex_append __ARGS((exarg_T *eap)); - void ex_change __ARGS((exarg_T *eap)); - void ex_z __ARGS((exarg_T *eap)); -diff -Naur vim72.orig/src/proto/ex_getln.pro vim72/src/proto/ex_getln.pro ---- vim72.orig/src/proto/ex_getln.pro 2008-08-09 15:31:28.000000000 +0100 -+++ vim72/src/proto/ex_getln.pro 2008-12-06 11:37:50.000000000 +0000 -@@ -31,7 +31,7 @@ - void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col)); - int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches)); - int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)))); --char_u *globpath __ARGS((char_u *path, char_u *file)); -+char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options)); - void init_history __ARGS((void)); - int get_histtype __ARGS((char_u *name)); - void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep)); -diff -Naur vim72.orig/src/proto/mark.pro vim72/src/proto/mark.pro ---- vim72.orig/src/proto/mark.pro 2008-08-09 15:31:36.000000000 +0100 -+++ vim72/src/proto/mark.pro 2008-12-06 11:37:49.000000000 +0000 -@@ -26,5 +26,5 @@ - void write_viminfo_filemarks __ARGS((FILE *fp)); - int removable __ARGS((char_u *name)); - int write_viminfo_marks __ARGS((FILE *fp_out)); --void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof)); -+void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof, int flags)); - /* vim: set ft=c : */ -diff -Naur vim72.orig/src/pty.c vim72/src/pty.c ---- vim72.orig/src/pty.c 2008-06-21 19:52:58.000000000 +0100 -+++ vim72/src/pty.c 2008-12-06 11:37:48.000000000 +0000 -@@ -270,9 +270,10 @@ - } - #endif - --#if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) -+#if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) && !defined(MACOS_X) - --/* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work! */ -+/* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work! -+ * Same for Mac OS X Leopard. */ - #define PTY_DONE - int - OpenPTY(ttyn) -diff -Naur vim72.orig/src/quickfix.c vim72/src/quickfix.c ---- vim72.orig/src/quickfix.c 2008-07-18 13:53:02.000000000 +0100 -+++ vim72/src/quickfix.c 2008-12-06 11:37:49.000000000 +0000 -@@ -1420,6 +1420,7 @@ - win_T *win; - win_T *altwin; - #endif -+ win_T *oldwin = curwin; - int print_message = TRUE; - int len; - #ifdef FEAT_FOLDING -@@ -1744,7 +1745,8 @@ - } - else - ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1, -- ECMD_HIDE + ECMD_SET_HELP); -+ ECMD_HIDE + ECMD_SET_HELP, -+ oldwin == curwin ? curwin : NULL); - } - else - ok = buflist_getfile(qf_ptr->qf_fnum, -@@ -2267,6 +2269,7 @@ - win_T *win; - tabpage_T *prevtab = curtab; - buf_T *qf_buf; -+ win_T *oldwin = curwin; - - if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) - { -@@ -2326,14 +2329,16 @@ - win->w_llist->qf_refcount++; - } - -+ if (oldwin != curwin) -+ oldwin = NULL; /* don't store info when in another window */ - if (qf_buf != NULL) - /* Use the existing quickfix buffer */ - (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE, -- ECMD_HIDE + ECMD_OLDBUF); -+ ECMD_HIDE + ECMD_OLDBUF, oldwin); - else - { - /* Create a new quickfix buffer */ -- (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE); -+ (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin); - /* switch off 'swapfile' */ - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); - set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", -diff -Naur vim72.orig/src/screen.c vim72/src/screen.c ---- vim72.orig/src/screen.c 2008-07-24 15:45:07.000000000 +0100 -+++ vim72/src/screen.c 2008-12-06 11:37:48.000000000 +0000 -@@ -2439,9 +2439,17 @@ - - #ifdef FEAT_SYN_HL - /* Show 'cursorcolumn' in the fold line. */ -- if (wp->w_p_cuc && (int)wp->w_virtcol + txtcol < W_WIDTH(wp)) -- ScreenAttrs[off + wp->w_virtcol + txtcol] = hl_combine_attr( -- ScreenAttrs[off + wp->w_virtcol + txtcol], hl_attr(HLF_CUC)); -+ if (wp->w_p_cuc) -+ { -+ txtcol += wp->w_virtcol; -+ if (wp->w_p_wrap) -+ txtcol -= wp->w_skipcol; -+ else -+ txtcol -= wp->w_leftcol; -+ if (txtcol >= 0 && txtcol < W_WIDTH(wp)) -+ ScreenAttrs[off + txtcol] = hl_combine_attr( -+ ScreenAttrs[off + txtcol], hl_attr(HLF_CUC)); -+ } - #endif - - SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp), -diff -Naur vim72.orig/src/spell.c vim72/src/spell.c ---- vim72.orig/src/spell.c 2008-07-12 20:20:55.000000000 +0100 -+++ vim72/src/spell.c 2008-12-06 11:37:50.000000000 +0000 -@@ -77,7 +77,7 @@ - - /* - * Do the opposite: based on a maximum end score and a known sound score, -- * compute the the maximum word score that can be used. -+ * compute the maximum word score that can be used. - */ - #define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3) - -@@ -469,6 +469,7 @@ - garray_T sl_comppat; /* CHECKCOMPOUNDPATTERN items */ - regprog_T *sl_compprog; /* COMPOUNDRULE turned into a regexp progrm - * (NULL when no compounding) */ -+ char_u *sl_comprules; /* all COMPOUNDRULE concatenated (or NULL) */ - char_u *sl_compstartflags; /* flags for first compound word */ - char_u *sl_compallflags; /* all flags for compound words */ - char_u sl_nobreak; /* When TRUE: no spaces between words */ -@@ -625,7 +626,7 @@ - /* TRUE if a word appears in the list of banned words. */ - #define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word))) - --/* Number of suggestions kept when cleaning up. we need to keep more than -+/* Number of suggestions kept when cleaning up. We need to keep more than - * what is displayed, because when rescore_suggestions() is called the score - * may change and wrong suggestions may be removed later. */ - #define SUG_CLEAN_COUNT(su) ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20) -@@ -839,7 +840,10 @@ - static void slang_clear __ARGS((slang_T *lp)); - static void slang_clear_sug __ARGS((slang_T *lp)); - static void find_word __ARGS((matchinf_T *mip, int mode)); -+static int match_checkcompoundpattern __ARGS((char_u *ptr, int wlen, garray_T *gap)); - static int can_compound __ARGS((slang_T *slang, char_u *word, char_u *flags)); -+static int can_be_compound __ARGS((trystate_T *sp, slang_T *slang, char_u *compflags, int flag)); -+static int match_compoundrule __ARGS((slang_T *slang, char_u *compflags)); - static int valid_word_prefix __ARGS((int totprefcnt, int arridx, int flags, char_u *word, slang_T *slang, int cond_req)); - static void find_prefix __ARGS((matchinf_T *mip, int mode)); - static int fold_more __ARGS((matchinf_T *mip)); -@@ -1519,6 +1523,11 @@ - ((unsigned)flags >> 24))) - continue; - -+ /* If there is a match with a CHECKCOMPOUNDPATTERN rule -+ * discard the compound word. */ -+ if (match_checkcompoundpattern(ptr, wlen, &slang->sl_comppat)) -+ continue; -+ - if (mode == FIND_COMPOUND) - { - int capflags; -@@ -1577,6 +1586,11 @@ - if (!can_compound(slang, fword, mip->mi_compflags)) - continue; - } -+ else if (slang->sl_comprules != NULL -+ && !match_compoundrule(slang, mip->mi_compflags)) -+ /* The compound flags collected so far do not match any -+ * COMPOUNDRULE, discard the compounded word. */ -+ continue; - } - - /* Check NEEDCOMPOUND: can't use word without compounding. */ -@@ -1727,6 +1741,39 @@ - } - - /* -+ * Return TRUE if there is a match between the word ptr[wlen] and -+ * CHECKCOMPOUNDPATTERN rules, assuming that we will concatenate with another -+ * word. -+ * A match means that the first part of CHECKCOMPOUNDPATTERN matches at the -+ * end of ptr[wlen] and the second part matches after it. -+ */ -+ static int -+match_checkcompoundpattern(ptr, wlen, gap) -+ char_u *ptr; -+ int wlen; -+ garray_T *gap; /* &sl_comppat */ -+{ -+ int i; -+ char_u *p; -+ int len; -+ -+ for (i = 0; i + 1 < gap->ga_len; i += 2) -+ { -+ p = ((char_u **)gap->ga_data)[i + 1]; -+ if (STRNCMP(ptr + wlen, p, STRLEN(p)) == 0) -+ { -+ /* Second part matches at start of following compound word, now -+ * check if first part matches at end of previous word. */ -+ p = ((char_u **)gap->ga_data)[i]; -+ len = STRLEN(p); -+ if (len <= wlen && STRNCMP(ptr + wlen - len, p, len) == 0) -+ return TRUE; -+ } -+ } -+ return FALSE; -+} -+ -+/* - * Return TRUE if "flags" is a valid sequence of compound flags and "word" - * does not have too many syllables. - */ -@@ -1773,6 +1820,98 @@ - } - - /* -+ * Return TRUE when the sequence of flags in "compflags" plus "flag" can -+ * possibly form a valid compounded word. This also checks the COMPOUNDRULE -+ * lines if they don't contain wildcards. -+ */ -+ static int -+can_be_compound(sp, slang, compflags, flag) -+ trystate_T *sp; -+ slang_T *slang; -+ char_u *compflags; -+ int flag; -+{ -+ /* If the flag doesn't appear in sl_compstartflags or sl_compallflags -+ * then it can't possibly compound. */ -+ if (!byte_in_str(sp->ts_complen == sp->ts_compsplit -+ ? slang->sl_compstartflags : slang->sl_compallflags, flag)) -+ return FALSE; -+ -+ /* If there are no wildcards, we can check if the flags collected so far -+ * possibly can form a match with COMPOUNDRULE patterns. This only -+ * makes sense when we have two or more words. */ -+ if (slang->sl_comprules != NULL && sp->ts_complen > sp->ts_compsplit) -+ { -+ int v; -+ -+ compflags[sp->ts_complen] = flag; -+ compflags[sp->ts_complen + 1] = NUL; -+ v = match_compoundrule(slang, compflags + sp->ts_compsplit); -+ compflags[sp->ts_complen] = NUL; -+ return v; -+ } -+ -+ return TRUE; -+} -+ -+ -+/* -+ * Return TRUE if the compound flags in compflags[] match the start of any -+ * compound rule. This is used to stop trying a compound if the flags -+ * collected so far can't possibly match any compound rule. -+ * Caller must check that slang->sl_comprules is not NULL. -+ */ -+ static int -+match_compoundrule(slang, compflags) -+ slang_T *slang; -+ char_u *compflags; -+{ -+ char_u *p; -+ int i; -+ int c; -+ -+ /* loop over all the COMPOUNDRULE entries */ -+ for (p = slang->sl_comprules; *p != NUL; ++p) -+ { -+ /* loop over the flags in the compound word we have made, match -+ * them against the current rule entry */ -+ for (i = 0; ; ++i) -+ { -+ c = compflags[i]; -+ if (c == NUL) -+ /* found a rule that matches for the flags we have so far */ -+ return TRUE; -+ if (*p == '/' || *p == NUL) -+ break; /* end of rule, it's too short */ -+ if (*p == '[') -+ { -+ int match = FALSE; -+ -+ /* compare against all the flags in [] */ -+ ++p; -+ while (*p != ']' && *p != NUL) -+ if (*p++ == c) -+ match = TRUE; -+ if (!match) -+ break; /* none matches */ -+ } -+ else if (*p != c) -+ break; /* flag of word doesn't match flag in pattern */ -+ ++p; -+ } -+ -+ /* Skip to the next "/", where the next pattern starts. */ -+ p = vim_strchr(p, '/'); -+ if (p == NULL) -+ break; -+ } -+ -+ /* Checked all the rules and none of them match the flags, so there -+ * can't possibly be a compound starting with these flags. */ -+ return FALSE; -+} -+ -+/* - * Return non-zero if the prefix indicated by "arridx" matches with the prefix - * ID in "flags" for the word "word". - * The WF_RAREPFX flag is included in the return value for a rare prefix. -@@ -2513,9 +2652,11 @@ - lp->sl_midword = NULL; - - vim_free(lp->sl_compprog); -+ vim_free(lp->sl_comprules); - vim_free(lp->sl_compstartflags); - vim_free(lp->sl_compallflags); - lp->sl_compprog = NULL; -+ lp->sl_comprules = NULL; - lp->sl_compstartflags = NULL; - lp->sl_compallflags = NULL; - -@@ -3460,6 +3601,7 @@ - char_u *pp; - char_u *cp; - char_u *ap; -+ char_u *crp; - int cnt; - garray_T *gap; - -@@ -3545,6 +3687,12 @@ - slang->sl_compallflags = ap; - *ap = NUL; - -+ /* And a list of all patterns in their original form, for checking whether -+ * compounding may work in match_compoundrule(). This is freed when we -+ * encounter a wildcard, the check doesn't work then. */ -+ crp = alloc(todo + 1); -+ slang->sl_comprules = crp; -+ - pp = pat; - *pp++ = '^'; - *pp++ = '\'; -@@ -3587,6 +3735,20 @@ - atstart = 0; - } - } -+ -+ /* Copy flag to "sl_comprules", unless we run into a wildcard. */ -+ if (crp != NULL) -+ { -+ if (c == '+' || c == '*') -+ { -+ vim_free(slang->sl_comprules); -+ slang->sl_comprules = NULL; -+ crp = NULL; -+ } -+ else -+ *crp++ = c; -+ } -+ - if (c == '/') /* slash separates two items */ - { - *pp++ = '\'; -@@ -3611,6 +3773,9 @@ - *pp++ = '$'; - *pp = NUL; - -+ if (crp != NULL) -+ *crp = NUL; -+ - slang->sl_compprog = vim_regcomp(pat, RE_MAGIC + RE_STRING + RE_STRICT); - vim_free(pat); - if (slang->sl_compprog == NULL) -@@ -4915,6 +5080,7 @@ - } spellinfo_T; - - static afffile_T *spell_read_aff __ARGS((spellinfo_T *spin, char_u *fname)); -+static int is_aff_rule __ARGS((char_u **items, int itemcnt, char *rulename, int mincount)); - static void aff_process_flags __ARGS((afffile_T *affile, affentry_T *entry)); - static int spell_info_item __ARGS((char_u *s)); - static unsigned affitem2flag __ARGS((int flagtype, char_u *item, char_u *fname, int lnum)); -@@ -4950,7 +5116,7 @@ - static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd)); - static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname)); - static void clear_node __ARGS((wordnode_T *node)); --static int put_node __ARGS((FILE *fd, wordnode_T *node, int index, int regionmask, int prefixtree)); -+static int put_node __ARGS((FILE *fd, wordnode_T *node, int idx, int regionmask, int prefixtree)); - static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname)); - static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang)); - static int sug_maketable __ARGS((spellinfo_T *spin)); -@@ -5223,8 +5389,7 @@ - /* Handle non-empty lines. */ - if (itemcnt > 0) - { -- if (STRCMP(items[0], "SET") == 0 && itemcnt == 2 -- && aff->af_enc == NULL) -+ if (is_aff_rule(items, itemcnt, "SET", 2) && aff->af_enc == NULL) - { - #ifdef FEAT_MBYTE - /* Setup for conversion from "ENC" to 'encoding'. */ -@@ -5239,7 +5404,7 @@ - smsg((char_u *)_("Conversion in %s not supported"), fname); - #endif - } -- else if (STRCMP(items[0], "FLAG") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "FLAG", 2) - && aff->af_flagtype == AFT_CHAR) - { - if (STRCMP(items[1], "long") == 0) -@@ -5284,69 +5449,71 @@ - spin->si_info = p; - } - } -- else if (STRCMP(items[0], "MIDWORD") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "MIDWORD", 2) - && midword == NULL) - { - midword = getroom_save(spin, items[1]); - } -- else if (STRCMP(items[0], "TRY") == 0 && itemcnt == 2) -+ else if (is_aff_rule(items, itemcnt, "TRY", 2)) - { - /* ignored, we look in the tree for what chars may appear */ - } - /* TODO: remove "RAR" later */ -- else if ((STRCMP(items[0], "RAR") == 0 -- || STRCMP(items[0], "RARE") == 0) && itemcnt == 2 -- && aff->af_rare == 0) -+ else if ((is_aff_rule(items, itemcnt, "RAR", 2) -+ || is_aff_rule(items, itemcnt, "RARE", 2)) -+ && aff->af_rare == 0) - { - aff->af_rare = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } - /* TODO: remove "KEP" later */ -- else if ((STRCMP(items[0], "KEP") == 0 -- || STRCMP(items[0], "KEEPCASE") == 0) && itemcnt == 2 -+ else if ((is_aff_rule(items, itemcnt, "KEP", 2) -+ || is_aff_rule(items, itemcnt, "KEEPCASE", 2)) - && aff->af_keepcase == 0) - { - aff->af_keepcase = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -- else if (STRCMP(items[0], "BAD") == 0 && itemcnt == 2 -- && aff->af_bad == 0) -+ else if ((is_aff_rule(items, itemcnt, "BAD", 2) -+ || is_aff_rule(items, itemcnt, "FORBIDDENWORD", 2)) -+ && aff->af_bad == 0) - { - aff->af_bad = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -- else if (STRCMP(items[0], "NEEDAFFIX") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "NEEDAFFIX", 2) - && aff->af_needaffix == 0) - { - aff->af_needaffix = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -- else if (STRCMP(items[0], "CIRCUMFIX") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "CIRCUMFIX", 2) - && aff->af_circumfix == 0) - { - aff->af_circumfix = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -- else if (STRCMP(items[0], "NOSUGGEST") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "NOSUGGEST", 2) - && aff->af_nosuggest == 0) - { - aff->af_nosuggest = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -- else if (STRCMP(items[0], "NEEDCOMPOUND") == 0 && itemcnt == 2 -+ else if ((is_aff_rule(items, itemcnt, "NEEDCOMPOUND", 2) -+ || is_aff_rule(items, itemcnt, "ONLYINCOMPOUND", 2)) - && aff->af_needcomp == 0) - { - aff->af_needcomp = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -- else if (STRCMP(items[0], "COMPOUNDROOT") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDROOT", 2) - && aff->af_comproot == 0) - { - aff->af_comproot = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -- else if (STRCMP(items[0], "COMPOUNDFORBIDFLAG") == 0 -- && itemcnt == 2 && aff->af_compforbid == 0) -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDFORBIDFLAG", 2) -+ && aff->af_compforbid == 0) - { - aff->af_compforbid = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); -@@ -5354,8 +5521,8 @@ - smsg((char_u *)_("Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d"), - fname, lnum); - } -- else if (STRCMP(items[0], "COMPOUNDPERMITFLAG") == 0 -- && itemcnt == 2 && aff->af_comppermit == 0) -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDPERMITFLAG", 2) -+ && aff->af_comppermit == 0) - { - aff->af_comppermit = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); -@@ -5363,7 +5530,7 @@ - smsg((char_u *)_("Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d"), - fname, lnum); - } -- else if (STRCMP(items[0], "COMPOUNDFLAG") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDFLAG", 2) - && compflags == NULL) - { - /* Turn flag "c" into COMPOUNDRULE compatible string "c+", -@@ -5376,7 +5543,15 @@ - compflags = p; - } - } -- else if (STRCMP(items[0], "COMPOUNDRULE") == 0 && itemcnt == 2) -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDRULES", 2)) -+ { -+ /* We don't use the count, but do check that it's a number and -+ * not COMPOUNDRULE mistyped. */ -+ if (atoi((char *)items[1]) == 0) -+ smsg((char_u *)_("Wrong COMPOUNDRULES value in %s line %d: %s"), -+ fname, lnum, items[1]); -+ } -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDRULE", 2)) - { - /* Concatenate this string to previously defined ones, using a - * slash to separate them. */ -@@ -5395,7 +5570,7 @@ - compflags = p; - } - } -- else if (STRCMP(items[0], "COMPOUNDWORDMAX") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2) - && compmax == 0) - { - compmax = atoi((char *)items[1]); -@@ -5403,7 +5578,7 @@ - smsg((char_u *)_("Wrong COMPOUNDWORDMAX value in %s line %d: %s"), - fname, lnum, items[1]); - } -- else if (STRCMP(items[0], "COMPOUNDMIN") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDMIN", 2) - && compminlen == 0) - { - compminlen = atoi((char *)items[1]); -@@ -5411,7 +5586,7 @@ - smsg((char_u *)_("Wrong COMPOUNDMIN value in %s line %d: %s"), - fname, lnum, items[1]); - } -- else if (STRCMP(items[0], "COMPOUNDSYLMAX") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "COMPOUNDSYLMAX", 2) - && compsylmax == 0) - { - compsylmax = atoi((char *)items[1]); -@@ -5419,32 +5594,29 @@ - smsg((char_u *)_("Wrong COMPOUNDSYLMAX value in %s line %d: %s"), - fname, lnum, items[1]); - } -- else if (STRCMP(items[0], "CHECKCOMPOUNDDUP") == 0 && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDDUP", 1)) - { - compoptions |= COMP_CHECKDUP; - } -- else if (STRCMP(items[0], "CHECKCOMPOUNDREP") == 0 && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDREP", 1)) - { - compoptions |= COMP_CHECKREP; - } -- else if (STRCMP(items[0], "CHECKCOMPOUNDCASE") == 0 && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDCASE", 1)) - { - compoptions |= COMP_CHECKCASE; - } -- else if (STRCMP(items[0], "CHECKCOMPOUNDTRIPLE") == 0 -- && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDTRIPLE", 1)) - { - compoptions |= COMP_CHECKTRIPLE; - } -- else if (STRCMP(items[0], "CHECKCOMPOUNDPATTERN") == 0 -- && itemcnt == 2) -+ else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDPATTERN", 2)) - { - if (atoi((char *)items[1]) == 0) - smsg((char_u *)_("Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"), - fname, lnum, items[1]); - } -- else if (STRCMP(items[0], "CHECKCOMPOUNDPATTERN") == 0 -- && itemcnt == 3) -+ else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDPATTERN", 3)) - { - garray_T *gap = &spin->si_comppat; - int i; -@@ -5463,24 +5635,24 @@ - = getroom_save(spin, items[2]); - } - } -- else if (STRCMP(items[0], "SYLLABLE") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "SYLLABLE", 2) - && syllable == NULL) - { - syllable = getroom_save(spin, items[1]); - } -- else if (STRCMP(items[0], "NOBREAK") == 0 && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "NOBREAK", 1)) - { - spin->si_nobreak = TRUE; - } -- else if (STRCMP(items[0], "NOSPLITSUGS") == 0 && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "NOSPLITSUGS", 1)) - { - spin->si_nosplitsugs = TRUE; - } -- else if (STRCMP(items[0], "NOSUGFILE") == 0 && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "NOSUGFILE", 1)) - { - spin->si_nosugfile = TRUE; - } -- else if (STRCMP(items[0], "PFXPOSTPONE") == 0 && itemcnt == 1) -+ else if (is_aff_rule(items, itemcnt, "PFXPOSTPONE", 1)) - { - aff->af_pfxpostpone = TRUE; - } -@@ -5771,24 +5943,20 @@ - } - } - } -- else if (STRCMP(items[0], "FOL") == 0 && itemcnt == 2 -- && fol == NULL) -+ else if (is_aff_rule(items, itemcnt, "FOL", 2) && fol == NULL) - { - fol = vim_strsave(items[1]); - } -- else if (STRCMP(items[0], "LOW") == 0 && itemcnt == 2 -- && low == NULL) -+ else if (is_aff_rule(items, itemcnt, "LOW", 2) && low == NULL) - { - low = vim_strsave(items[1]); - } -- else if (STRCMP(items[0], "UPP") == 0 && itemcnt == 2 -- && upp == NULL) -+ else if (is_aff_rule(items, itemcnt, "UPP", 2) && upp == NULL) - { - upp = vim_strsave(items[1]); - } -- else if ((STRCMP(items[0], "REP") == 0 -- || STRCMP(items[0], "REPSAL") == 0) -- && itemcnt == 2) -+ else if (is_aff_rule(items, itemcnt, "REP", 2) -+ || is_aff_rule(items, itemcnt, "REPSAL", 2)) - { - /* Ignore REP/REPSAL count */; - if (!isdigit(*items[1])) -@@ -5819,7 +5987,7 @@ - : &spin->si_rep, items[1], items[2]); - } - } -- else if (STRCMP(items[0], "MAP") == 0 && itemcnt == 2) -+ else if (is_aff_rule(items, itemcnt, "MAP", 2)) - { - /* MAP item or count */ - if (!found_map) -@@ -5856,9 +6024,8 @@ - ga_append(&spin->si_map, '/'); - } - } -- /* Accept "SAL from to" and "SAL from to # comment". */ -- else if (STRCMP(items[0], "SAL") == 0 -- && (itemcnt == 3 || (itemcnt > 3 && items[3][0] == '#'))) -+ /* Accept "SAL from to" and "SAL from to #comment". */ -+ else if (is_aff_rule(items, itemcnt, "SAL", 3)) - { - if (do_sal) - { -@@ -5877,12 +6044,12 @@ - : items[2]); - } - } -- else if (STRCMP(items[0], "SOFOFROM") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "SOFOFROM", 2) - && sofofrom == NULL) - { - sofofrom = getroom_save(spin, items[1]); - } -- else if (STRCMP(items[0], "SOFOTO") == 0 && itemcnt == 2 -+ else if (is_aff_rule(items, itemcnt, "SOFOTO", 2) - && sofoto == NULL) - { - sofoto = getroom_save(spin, items[1]); -@@ -5980,7 +6147,7 @@ - else if (spin->si_newprefID == 0 || spin->si_newprefID == 127) - MSG(_("Too many compound flags")); - else -- MSG(_("Too many posponed prefixes and/or compound flags")); -+ MSG(_("Too many postponed prefixes and/or compound flags")); - } - - if (syllable != NULL) -@@ -6017,6 +6184,22 @@ - } - - /* -+ * Return TRUE when items[0] equals "rulename", there are "mincount" items or -+ * a comment is following after item "mincount". -+ */ -+ static int -+is_aff_rule(items, itemcnt, rulename, mincount) -+ char_u **items; -+ int itemcnt; -+ char *rulename; -+ int mincount; -+{ -+ return (STRCMP(items[0], rulename) == 0 -+ && (itemcnt == mincount -+ || (itemcnt > mincount && items[mincount][0] == '#'))); -+} -+ -+/* - * For affix "entry" move COMPOUNDFORBIDFLAG and COMPOUNDPERMITFLAG from - * ae_flags to ae_comppermit and ae_compforbid. - */ -@@ -7926,6 +8109,8 @@ - char_u *p; - int rr; - int retval = OK; -+ size_t fwv = 1; /* collect return value of fwrite() to avoid -+ warnings from picky compiler */ - - fd = mch_fopen((char *)fname, "w"); - if (fd == NULL) -@@ -7936,11 +8121,11 @@ - - /* <HEADER>: <fileID> <versionnr> */ - /* <fileID> */ -- if (fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd) != 1) -- { -- EMSG(_(e_write)); -- retval = FAIL; -- } -+ fwv &= fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd); -+ if (fwv != (size_t)1) -+ /* Catch first write error, don't try writing more. */ -+ goto theend; -+ - putc(VIMSPELLVERSION, fd); /* <versionnr> */ - - /* -@@ -7955,7 +8140,7 @@ - - i = (int)STRLEN(spin->si_info); - put_bytes(fd, (long_u)i, 4); /* <sectionlen> */ -- fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */ -+ fwv &= fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* <infotext> */ - } - - /* SN_REGION: <regionname> ... -@@ -7966,7 +8151,7 @@ - putc(SNF_REQUIRED, fd); /* <sectionflags> */ - l = spin->si_region_count * 2; - put_bytes(fd, (long_u)l, 4); /* <sectionlen> */ -- fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd); -+ fwv &= fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd); - /* <regionname> ... */ - regionmask = (1 << spin->si_region_count) - 1; - } -@@ -8016,7 +8201,7 @@ - } - - put_bytes(fd, (long_u)l, 2); /* <folcharslen> */ -- fwrite(folchars, (size_t)l, (size_t)1, fd); /* <folchars> */ -+ fwv &= fwrite(folchars, (size_t)l, (size_t)1, fd); /* <folchars> */ - } - - /* SN_MIDWORD: <midword> */ -@@ -8027,7 +8212,8 @@ - - i = (int)STRLEN(spin->si_midword); - put_bytes(fd, (long_u)i, 4); /* <sectionlen> */ -- fwrite(spin->si_midword, (size_t)i, (size_t)1, fd); /* <midword> */ -+ fwv &= fwrite(spin->si_midword, (size_t)i, (size_t)1, fd); -+ /* <midword> */ - } - - /* SN_PREFCOND: <prefcondcnt> <prefcond> ... */ -@@ -8113,7 +8299,8 @@ - p = rr == 1 ? ftp->ft_from : ftp->ft_to; - l = (int)STRLEN(p); - putc(l, fd); -- fwrite(p, l, (size_t)1, fd); -+ if (l > 0) -+ fwv &= fwrite(p, l, (size_t)1, fd); - } - } - -@@ -8131,11 +8318,11 @@ - /* <sectionlen> */ - - put_bytes(fd, (long_u)l, 2); /* <sofofromlen> */ -- fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <sofofrom> */ -+ fwv &= fwrite(spin->si_sofofr, l, (size_t)1, fd); /* <sofofrom> */ - - l = (int)STRLEN(spin->si_sofoto); - put_bytes(fd, (long_u)l, 2); /* <sofotolen> */ -- fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <sofoto> */ -+ fwv &= fwrite(spin->si_sofoto, l, (size_t)1, fd); /* <sofoto> */ - } - - /* SN_WORDS: <word> ... -@@ -8160,7 +8347,7 @@ - l = (int)STRLEN(hi->hi_key) + 1; - len += l; - if (round == 2) /* <word> */ -- fwrite(hi->hi_key, (size_t)l, (size_t)1, fd); -+ fwv &= fwrite(hi->hi_key, (size_t)l, (size_t)1, fd); - --todo; - } - if (round == 1) -@@ -8176,7 +8363,7 @@ - putc(0, fd); /* <sectionflags> */ - l = spin->si_map.ga_len; - put_bytes(fd, (long_u)l, 4); /* <sectionlen> */ -- fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd); -+ fwv &= fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd); - /* <mapstr> */ - } - -@@ -8232,10 +8419,11 @@ - { - p = ((char_u **)(spin->si_comppat.ga_data))[i]; - putc((int)STRLEN(p), fd); /* <comppatlen> */ -- fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);/* <comppattext> */ -+ fwv &= fwrite(p, (size_t)STRLEN(p), (size_t)1, fd); -+ /* <comppattext> */ - } - /* <compflags> */ -- fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags), -+ fwv &= fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags), - (size_t)1, fd); - } - -@@ -8259,7 +8447,8 @@ - - l = (int)STRLEN(spin->si_syllable); - put_bytes(fd, (long_u)l, 4); /* <sectionlen> */ -- fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd); /* <syllable> */ -+ fwv &= fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd); -+ /* <syllable> */ - } - - /* end of <SECTIONS> */ -@@ -8295,13 +8484,18 @@ - (void)put_node(fd, tree, 0, regionmask, round == 3); - } - -- /* Write another byte to check for errors. */ -+ /* Write another byte to check for errors (file system full). */ - if (putc(0, fd) == EOF) - retval = FAIL; -- -+theend: - if (fclose(fd) == EOF) - retval = FAIL; - -+ if (fwv != (size_t)1) -+ retval = FAIL; -+ if (retval == FAIL) -+ EMSG(_(e_write)); -+ - return retval; - } - -@@ -9890,6 +10084,7 @@ - char_u *p; - int len; - int totlen; -+ size_t x = 1; /* collect return value of fwrite() */ - - if (fd != NULL) - put_bytes(fd, (long_u)gap->ga_len, 2); /* <prefcondcnt> */ -@@ -9906,7 +10101,7 @@ - if (fd != NULL) - { - fputc(len, fd); -- fwrite(p, (size_t)len, (size_t)1, fd); -+ x &= fwrite(p, (size_t)len, (size_t)1, fd); - } - totlen += len; - } -@@ -11480,15 +11675,24 @@ - vim_strncpy(preword + sp->ts_prewordlen, - tword + sp->ts_splitoff, - sp->ts_twordlen - sp->ts_splitoff); -- p = preword; -- while (*skiptowhite(p) != NUL) -- p = skipwhite(skiptowhite(p)); -- if (fword_ends && !can_compound(slang, p, -- compflags + sp->ts_compsplit)) -- /* Compound is not allowed. But it may still be -- * possible if we add another (short) word. */ -+ -+ /* Verify CHECKCOMPOUNDPATTERN rules. */ -+ if (match_checkcompoundpattern(preword, sp->ts_prewordlen, -+ &slang->sl_comppat)) - compound_ok = FALSE; - -+ if (compound_ok) -+ { -+ p = preword; -+ while (*skiptowhite(p) != NUL) -+ p = skipwhite(skiptowhite(p)); -+ if (fword_ends && !can_compound(slang, p, -+ compflags + sp->ts_compsplit)) -+ /* Compound is not allowed. But it may still be -+ * possible if we add another (short) word. */ -+ compound_ok = FALSE; -+ } -+ - /* Get pointer to last char of previous word. */ - p = preword + sp->ts_prewordlen; - mb_ptr_back(preword, p); -@@ -11685,10 +11889,9 @@ - && (slang->sl_compsylmax < MAXWLEN - || sp->ts_complen + 1 - sp->ts_compsplit - < slang->sl_compmax) -- && (byte_in_str(sp->ts_complen == sp->ts_compsplit -- ? slang->sl_compstartflags -- : slang->sl_compallflags, -- ((unsigned)flags >> 24)))) -+ && (can_be_compound(sp, slang, -+ compflags, ((unsigned)flags >> 24)))) -+ - { - try_compound = TRUE; - compflags[sp->ts_complen] = ((unsigned)flags >> 24); -diff -Naur vim72.orig/src/structs.h vim72/src/structs.h ---- vim72.orig/src/structs.h 2008-07-30 21:02:50.000000000 +0100 -+++ vim72/src/structs.h 2008-12-06 11:37:49.000000000 +0000 -@@ -459,7 +459,7 @@ - typedef struct - { - int hide; /* TRUE when ":hide" was used */ --# ifdef FEAT_BROWSE -+# ifdef FEAT_BROWSE_CMD - int browse; /* TRUE to invoke file dialog */ - # endif - # ifdef FEAT_WINDOWS -@@ -1784,10 +1784,15 @@ - #endif - - /* -- * The next three specify the offsets for displaying the buffer: -+ * "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for -+ * displaying the buffer. - */ - linenr_T w_topline; /* buffer line number of the line at the - top of the window */ -+#ifdef FEAT_AUTOCMD -+ char w_topline_was_set; /* flag set to TRUE when topline is set, -+ e.g. by winrestview() */ -+#endif - #ifdef FEAT_DIFF - int w_topfill; /* number of filler lines above w_topline */ - int w_old_topfill; /* w_topfill at last redraw */ -diff -Naur vim72.orig/src/testdir/Makefile vim72/src/testdir/Makefile ---- vim72.orig/src/testdir/Makefile 2008-06-19 21:29:46.000000000 +0100 -+++ vim72/src/testdir/Makefile 2008-12-06 11:37:48.000000000 +0000 -@@ -26,15 +26,17 @@ - - .SUFFIXES: .in .out - --nongui: nolog $(SCRIPTS) -- @echo -- @cat test.log -- @echo ALL DONE -+nongui: nolog $(SCRIPTS) report -+ -+gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) report - --gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) -+report: - @echo -- @cat test.log -- @echo ALL DONE -+ @echo 'Test results:' -+ @/bin/sh -c "if test -f test.log; \ -+ then cat test.log; echo TEST FAILURE; exit 1; \ -+ else echo ALL DONE; \ -+ fi" - - $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) - -@@ -71,4 +73,4 @@ - test60.out: test60.vim - - nolog: -- -echo Test results: >test.log -+ -rm -f test.log -diff -Naur vim72.orig/src/testdir/Make_ming.mak vim72/src/testdir/Make_ming.mak ---- vim72.orig/src/testdir/Make_ming.mak 1970-01-01 01:00:00.000000000 +0100 -+++ vim72/src/testdir/Make_ming.mak 2008-12-06 11:37:48.000000000 +0000 -@@ -0,0 +1,91 @@ -+# Makefile to run tests for Vim, on Dos-like machines -+# with sh.exe or zsh.exe in the path or not. -+# -+# Author: Bill McCarthy -+# -+# Note that test54 has been removed until it is fixed. -+# -+# Requires a set of Unix tools: echo, diff, etc. -+ -+ifneq (sh.exe, $(SHELL)) -+DEL = rm -f -+MV = mv -+CP = cp -+DIRSLASH = / -+else -+DEL = del -+MV = rename -+CP = copy -+DIRSLASH = \ -+endif -+ -+VIMPROG = ..$(DIRSLASH)vim -+ -+# Omitted: -+# test2 "\tmp" doesn't work. -+# test10 'errorformat' is different -+# test12 can't unlink a swap file -+# test25 uses symbolic link -+# test27 can't edit file with "*" in file name -+# test31 16 bit version runs out of memory... -+ -+SCRIPTS16 = test1.out test19.out test20.out test22.out \ -+ test23.out test24.out test28.out test29.out \ -+ test35.out test36.out test43.out \ -+ test44.out test45.out test46.out test47.out \ -+ test48.out test51.out test53.out \ -+ test55.out test56.out test57.out test58.out test59.out \ -+ test60.out test61.out test62.out test63.out test64.out -+ -+# Had to remove test54 which doesn't work yet. -+# test54.out -+ -+SCRIPTS = test3.out test4.out test5.out test6.out test7.out \ -+ test8.out test9.out test11.out test13.out test14.out \ -+ test15.out test17.out test18.out test21.out test26.out \ -+ test30.out test31.out test32.out test33.out test34.out \ -+ test37.out test38.out test39.out test40.out test41.out \ -+ test42.out test52.out test65.out -+ -+SCRIPTS32 = test50.out -+ -+SCRIPTS_GUI = test16.out -+ -+.SUFFIXES: .in .out -+ -+vimall: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32) -+ echo ALL DONE -+ -+nongui: fixff $(SCRIPTS16) $(SCRIPTS) -+ echo ALL DONE -+ -+small: -+ echo ALL DONE -+ -+gui: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) -+ echo ALL DONE -+ -+win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) -+ echo ALL DONE -+ -+fixff: -+ -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok -+ -+clean: -+ -$(DEL) *.out -+ -$(DEL) test.ok -+ -$(DEL) small.vim -+ -$(DEL) tiny.vim -+ -$(DEL) mbyte.vim -+ -$(DEL) X* -+ -$(DEL) viminfo -+ -+.in.out: -+ $(CP) $*.ok test.ok -+ $(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $*.in -+ diff test.out $*.ok -+ -$(DEL) $*.out -+ $(MV) test.out $*.out -+ -$(DEL) X* -+ -$(DEL) test.ok -+ -$(DEL) viminfo -diff -Naur vim72.orig/src/testdir/test30.in vim72/src/testdir/test30.in ---- vim72.orig/src/testdir/test30.in 2008-06-25 22:33:01.000000000 +0100 -+++ vim72/src/testdir/test30.in 2008-12-06 11:37:48.000000000 +0000 -@@ -24,10 +24,17 @@ - :set nobin eol - :bwipe XXUnix XXDos XXMac - :" create mixed format files --:!cat XXUnix XXDos >XXUxDs --:!cat XXUnix XXMac >XXUxMac --:!cat XXDos XXMac >XXDosMac --:!cat XXUnix XXDos XXMac >XXUxDsMc -+:if has("vms") -+: !copy XXUnix,XXDos XXUxDs. -+: !copy XXUnix,XXMac XXUxMac. -+: !copy XXDos,XXMac XXDosMac. -+: !copy XXUnix,XXDos,XXMac XXUxDsMc. -+:else -+: !cat XXUnix XXDos >XXUxDs -+: !cat XXUnix XXMac >XXUxMac -+: !cat XXDos XXMac >XXDosMac -+: !cat XXUnix XXDos XXMac >XXUxDsMc -+:endif - :" - :" try reading and writing with 'fileformats' empty - :set fileformat=unix -diff -Naur vim72.orig/src/testdir/test42.ok vim72/src/testdir/test42.ok ---- vim72.orig/src/testdir/test42.ok 2008-02-20 12:27:37.000000000 +0000 -+++ vim72/src/testdir/test42.ok 2008-12-06 11:37:49.000000000 +0000 -@@ -20,7 +20,7 @@ - ucs-2 - - -- fileencoding=ucs-2le -+ fileencoding=utf-16le - bomb - ucs-2le - -diff -Naur vim72.orig/src/testdir/test54.in vim72/src/testdir/test54.in ---- vim72.orig/src/testdir/test54.in 2005-01-01 11:21:16.000000000 +0000 -+++ vim72/src/testdir/test54.in 2008-12-06 11:37:48.000000000 +0000 -@@ -3,8 +3,13 @@ - STARTTEST - :so small.vim - :e xx --:!rm -f test.out --:au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out -+:if has("vms") -+: !del test.out.* -+: au BufLeave <buffer> :!write sys$output "buffer-local autommand in %" > test.out -+:else -+: !rm -f test.out -+: au BufLeave <buffer> :!echo buffer-local autommand in %>> test.out -+:endif - :e somefile " here, autocommand for xx shall write test.out - : " but autocommand shall not apply to buffer named <buffer> - :bwipe xx " here, autocommand shall be auto-deleted -diff -Naur vim72.orig/src/ui.c vim72/src/ui.c ---- vim72.orig/src/ui.c 2008-07-14 19:14:56.000000000 +0100 -+++ vim72/src/ui.c 2008-12-06 11:37:50.000000000 +0000 -@@ -1820,7 +1820,7 @@ - #ifdef HAVE_DUP - /* Use stderr for stdin, also works for shell commands. */ - close(0); -- dup(2); -+ ignored = dup(2); - #else - read_cmd_fd = 2; /* read from stderr instead of stdin */ - #endif -@@ -2020,7 +2020,7 @@ - - if (value == NULL || *length == 0) - { -- clip_free_selection(cbd); /* ??? [what's the query?] */ -+ clip_free_selection(cbd); /* nothing received, clear register */ - *(int *)success = FALSE; - return; - } -@@ -2076,7 +2076,7 @@ - text_prop.value = (unsigned char *)value; - text_prop.encoding = *type; - text_prop.format = *format; -- text_prop.nitems = STRLEN(value); -+ text_prop.nitems = len; - status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop, - &text_list, &n_text); - if (status != Success || n_text < 1) -@@ -2110,6 +2110,8 @@ - int i; - int nbytes = 0; - char_u *buffer; -+ time_t start_time; -+ int timed_out = FALSE; - - for (i = - #ifdef FEAT_MBYTE -@@ -2129,6 +2131,7 @@ - case 3: type = text_atom; break; - default: type = XA_STRING; - } -+ success = MAYBE; - XtGetSelectionValue(myShell, cbd->sel_atom, type, - clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime); - -@@ -2141,27 +2144,48 @@ - * characters, then they will appear before the one that requested the - * paste! Don't worry, we will catch up with any other events later. - */ -- for (;;) -+ start_time = time(NULL); -+ while (success == MAYBE) - { -- if (XCheckTypedEvent(dpy, SelectionNotify, &event)) -- break; -- if (XCheckTypedEvent(dpy, SelectionRequest, &event)) -- /* We may get a SelectionRequest here and if we don't handle -- * it we hang. KDE klipper does this, for example. */ -+ if (XCheckTypedEvent(dpy, SelectionNotify, &event) -+ || XCheckTypedEvent(dpy, SelectionRequest, &event) -+ || XCheckTypedEvent(dpy, PropertyNotify, &event)) -+ { -+ /* This is where clip_x11_request_selection_cb() should be -+ * called. It may actually happen a bit later, so we loop -+ * until "success" changes. -+ * We may get a SelectionRequest here and if we don't handle -+ * it we hang. KDE klipper does this, for example. -+ * We need to handle a PropertyNotify for large selections. */ - XtDispatchEvent(&event); -+ continue; -+ } -+ -+ /* Time out after 2 to 3 seconds to avoid that we hang when the -+ * other process doesn't respond. Note that the SelectionNotify -+ * event may still come later when the selection owner comes back -+ * to life and the text gets inserted unexpectedly. Don't know -+ * why that happens or how to avoid that :-(. */ -+ if (time(NULL) > start_time + 2) -+ { -+ timed_out = TRUE; -+ break; -+ } - - /* Do we need this? Probably not. */ - XSync(dpy, False); - -- /* Bernhard Walle solved a slow paste response in an X terminal by -- * adding: usleep(10000); here. */ -+ /* Wait for 1 msec to avoid that we eat up all CPU time. */ -+ ui_delay(1L, TRUE); - } - -- /* this is where clip_x11_request_selection_cb() is actually called */ -- XtDispatchEvent(&event); -- -- if (success) -+ if (success == TRUE) - return; -+ -+ /* don't do a retry with another type after timing out, otherwise we -+ * hang for 15 seconds. */ -+ if (timed_out) -+ break; - } - - /* Final fallback position - use the X CUT_BUFFER0 store */ -diff -Naur vim72.orig/src/version.c vim72/src/version.c ---- vim72.orig/src/version.c 2008-08-09 15:24:52.000000000 +0100 -+++ vim72/src/version.c 2008-12-06 11:37:50.000000000 +0000 -@@ -677,9 +677,152 @@ - static int included_patches[] = - { /* Add new patch number below this line */ - /**/ -+ 65, -+/**/ -+ 64, -+/**/ -+ 63, -+/**/ -+ 62, -+/**/ -+ 61, -+/**/ -+ 60, -+/**/ -+ 59, -+/**/ -+ 58, -+/**/ -+ 57, -+/**/ -+ 56, -+/**/ -+ 55, -+/**/ -+ 54, -+/**/ -+ 53, -+/**/ -+ 52, -+/**/ -+ 51, -+/**/ -+ 50, -+/**/ -+ 49, -+/**/ -+ 48, -+/**/ -+ 47, -+/**/ -+ 46, -+/**/ -+ 45, -+/**/ -+ 44, -+/**/ -+ 43, -+/**/ -+ 42, -+/**/ -+ 41, -+/**/ -+ 40, -+/**/ -+ 39, -+/**/ -+ 38, -+/**/ -+ 37, -+/**/ -+ 36, -+/**/ -+ 35, -+/**/ -+ 34, -+/**/ -+ 33, -+/**/ -+ 32, -+/**/ -+ 31, -+/**/ -+ 30, -+/**/ -+ 29, -+/**/ -+ 28, -+/**/ -+ 27, -+/**/ -+ 26, -+/**/ -+ 25, -+/**/ -+ 24, -+/**/ -+ 23, -+/**/ -+ 22, -+/**/ -+ 21, -+/**/ -+ 20, -+/**/ -+ 19, -+/**/ -+ 18, -+/**/ -+ 17, -+/**/ -+ 16, -+/**/ -+ 15, -+/**/ -+ 14, -+/**/ -+ 13, -+/**/ -+ 12, -+/**/ -+ 11, -+/**/ -+ 10, -+/**/ -+ 9, -+/**/ -+ 8, -+/**/ -+ 7, -+/**/ -+ 6, -+/**/ -+ 5, -+/**/ -+ 4, -+/**/ -+ 3, -+/**/ -+ 2, -+/**/ -+ 1, -+/**/ - 0 - }; - -+/* -+ * Place to put a short description when adding a feature with a patch. -+ * Keep it short, e.g.,: "relative numbers", "persistent undo". -+ * Also add a comment marker to separate the lines. -+ * See the official Vim patches for the diff format: It must use a context of -+ * one line only. Use "diff -C2". -+ */ -+static char *(extra_patches[]) = -+{ /* Add your patch description below this line */ -+/**/ -+ NULL -+}; -+ - int - highest_patch() - { -@@ -786,7 +929,7 @@ - MSG_PUTS(_("\nRISC OS version")); - #endif - #ifdef VMS -- MSG_PUTS("\nOpenVMS version"); -+ MSG_PUTS(_("\nOpenVMS version")); - # ifdef HAVE_PATHDEF - if (*compiled_arch != NUL) - { -@@ -825,6 +968,19 @@ - } - } - -+ /* Print the list of extra patch descriptions if there is at least one. */ -+ if (extra_patches[0] != NULL) -+ { -+ MSG_PUTS(_("\nExtra patches: ")); -+ s = ""; -+ for (i = 0; extra_patches[i] != NULL; ++i) -+ { -+ MSG_PUTS(s); -+ s = ", "; -+ MSG_PUTS(extra_patches[i]); -+ } -+ } -+ - #ifdef MODIFIED_BY - MSG_PUTS("\n"); - MSG_PUTS(_("Modified by ")); -diff -Naur vim72.orig/src/vim.h vim72/src/vim.h ---- vim72.orig/src/vim.h 2008-08-09 17:03:38.000000000 +0100 -+++ vim72/src/vim.h 2008-12-06 11:37:50.000000000 +0000 -@@ -341,8 +341,14 @@ - #ifdef BACKSLASH_IN_FILENAME - # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'"|!<") - #else --# define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\%#'"|!<") --# define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\%#'"|!<>();&") -+# ifdef VMS -+ /* VMS allows a lot of characters in the file name */ -+# define PATH_ESC_CHARS ((char_u *)" \t\n*?{`\%#'"|!") -+# define SHELL_ESC_CHARS ((char_u *)" \t\n*?{`\%#'|!()&") -+# else -+# define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\%#'"|!<") -+# define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\%#'"|!<>();&") -+# endif - #endif - - #define NUMBUFLEN 30 /* length of a buffer to store a number in ASCII */ -@@ -370,7 +376,7 @@ - * Define __w64 as an empty token for everything but MSVC 7.x or later. - */ - # if !defined(_MSC_VER) || (_MSC_VER < 1300) --# define __w64 -+# define __w64 - # endif - typedef unsigned long __w64 long_u; - typedef long __w64 long_i; -@@ -1728,7 +1734,8 @@ - #define VV_MOUSE_COL 51 - #define VV_OP 52 - #define VV_SEARCHFORWARD 53 --#define VV_LEN 54 /* number of v: vars */ -+#define VV_OLDFILES 54 -+#define VV_LEN 55 /* number of v: vars */ - - #ifdef FEAT_CLIPBOARD - -@@ -1979,6 +1986,9 @@ - # endif - #endif - -+#ifndef FEAT_NETBEANS_INTG -+# undef NBDEBUG -+#endif - #ifdef NBDEBUG /* Netbeans debugging. */ - # include "nbdebug.h" - #else -@@ -2054,4 +2064,10 @@ - #define DOSO_VIMRC 1 /* loading vimrc file */ - #define DOSO_GVIMRC 2 /* loading gvimrc file */ - -+/* flags for read_viminfo() and children */ -+#define VIF_WANT_INFO 1 /* load non-mark info */ -+#define VIF_WANT_MARKS 2 /* load file marks */ -+#define VIF_FORCEIT 4 /* overwrite info already read */ -+#define VIF_GET_OLDFILES 8 /* load v:oldfiles */ -+ - #endif /* VIM__H */ -diff -Naur vim72.orig/src/window.c vim72/src/window.c ---- vim72.orig/src/window.c 2008-08-06 12:00:30.000000000 +0100 -+++ vim72/src/window.c 2008-12-06 11:37:50.000000000 +0000 -@@ -531,7 +531,8 @@ - # ifdef FEAT_SCROLLBIND - curwin->w_p_scb = FALSE; - # endif -- (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, ECMD_HIDE); -+ (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, -+ ECMD_HIDE, NULL); - if (nchar == 'F' && lnum >= 0) - { - curwin->w_cursor.lnum = lnum; -@@ -4028,14 +4029,14 @@ - if (mch_dirname(cwd, MAXPATHL) == OK) - globaldir = vim_strsave(cwd); - } -- mch_chdir((char *)curwin->w_localdir); -- shorten_fnames(TRUE); -+ if (mch_chdir((char *)curwin->w_localdir) == 0) -+ shorten_fnames(TRUE); - } - else if (globaldir != NULL) - { - /* Window doesn't have a local directory and we are not in the global - * directory: Change to the global directory. */ -- mch_chdir((char *)globaldir); -+ ignored = mch_chdir((char *)globaldir); - vim_free(globaldir); - globaldir = NULL; - shorten_fnames(TRUE); -diff -Naur vim72.orig/src/workshop.c vim72/src/workshop.c ---- vim72.orig/src/workshop.c 2008-06-21 19:53:26.000000000 +0100 -+++ vim72/src/workshop.c 2008-12-06 11:37:50.000000000 +0000 -@@ -1121,8 +1121,12 @@ - ? (char *)curbuf->b_sfname : "<None>"); - #endif - -- strcpy(ffname, (char *) curbuf->b_ffname); -- *filename = ffname; /* copy so nobody can change b_ffname */ -+ if (curbuf->b_ffname == NULL) -+ ffname[0] = NUL; -+ else -+ /* copy so nobody can change b_ffname */ -+ strcpy(ffname, (char *) curbuf->b_ffname); -+ *filename = ffname; - *curLine = curwin->w_cursor.lnum; - *curCol = curwin->w_cursor.col; - diff --git a/pkgs/core/vim/patches/vim-7.2-mandir-1.patch b/pkgs/core/vim/patches/vim-7.2-mandir-1.patch deleted file mode 100644 index 4038442..0000000 --- a/pkgs/core/vim/patches/vim-7.2-mandir-1.patch +++ /dev/null @@ -1,82 +0,0 @@ -Submitted By: Alexander E. Patrakov -Date: 2006-05-27 -Initial Package Version: 7.0 -Upstream status: LFS specific -Description: Adjusts installation of manual pages to meet Man-DB expectations. - - Additional change to explicitly install the man pages into - /usr/share/man instead of /usr/man by Ag Hatzim. - ---- vim70/src/Makefile.orig 2006-05-27 12:49:31.767959808 +0300 -+++ vim70/src/Makefile 2006-05-27 12:49:55.778309680 +0300 -@@ -867,7 +867,7 @@ - # Uncomment the next line to install Vim in "/usr/bin" - #BINDIR = /usr/bin - # Uncomment the next line to install Vim manuals in "/usr/share/man/man1" --#MANDIR = /usr/share/man -+MANDIR = /usr/share/man - # Uncomment the next line to install Vim help files in "/usr/share/vim" - #DATADIR = /usr/share - -@@ -1325,7 +1325,7 @@ - DEST_MAN_PL = $(DEST_MAN_TOP)/pl$(MAN1DIR) - DEST_MAN_PL_I = $(DEST_MAN_TOP)/pl.ISO8859-2$(MAN1DIR) - DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8$(MAN1DIR) --DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR) -+DEST_MAN_RU = $(DEST_MAN_TOP)/ru$(MAN1DIR) - DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR) - - # BASIC_SRC: files that are always used -@@ -1905,52 +1905,24 @@ - # install the language specific files for tools, if they were unpacked - install-tool-languages: - -$(SHELL) ./installman.sh xxd $(DEST_MAN_FR) "-fr" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh xxd $(DEST_MAN_FR_I) "-fr" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh xxd $(DEST_MAN_FR_U) "-fr.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_IT) "-it" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh xxd $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh xxd $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_I) "-pl" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS) - - # install the language specific files, if they were unpacked - install-languages: languages $(DEST_LANG) $(DEST_KMAP) - -$(SHELL) ./installman.sh install $(DEST_MAN_FR) "-fr" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh install $(DEST_MAN_FR_I) "-fr" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh install $(DEST_MAN_FR_U) "-fr.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh install $(DEST_MAN_IT) "-it" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh install $(DEST_MAN_IT_I) "-it" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh install $(DEST_MAN_IT_U) "-it.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh install $(DEST_MAN_PL) "-pl" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh install $(DEST_MAN_PL_I) "-pl" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh install $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS) -- -$(SHELL) ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS) - -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ - $(DEST_MAN_FR) $(INSTALLMLARGS) - -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ -- $(DEST_MAN_FR_I) $(INSTALLMLARGS) -- -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ -- $(DEST_MAN_FR_U) $(INSTALLMLARGS) -- -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ - $(DEST_MAN_IT) $(INSTALLMLARGS) - -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ -- $(DEST_MAN_IT_I) $(INSTALLMLARGS) -- -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ -- $(DEST_MAN_IT_U) $(INSTALLMLARGS) -- -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ - $(DEST_MAN_PL) $(INSTALLMLARGS) - -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ -- $(DEST_MAN_PL_I) $(INSTALLMLARGS) -- -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ -- $(DEST_MAN_PL_U) $(INSTALLMLARGS) -- -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ - $(DEST_MAN_RU) $(INSTALLMLARGS) -- -$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \ -- $(DEST_MAN_RU_U) $(INSTALLMLARGS) - if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \ - cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) LOCALEDIR=$(DEST_LANG) \ - INSTALL_DATA=$(INSTALL_DATA) FILEMOD=$(FILEMOD) install; \ diff --git a/pkgs/core/vim/patches/vim-7.3.001.patch0 b/pkgs/core/vim/patches/vim-7.3.001.patch0 new file mode 100644 index 0000000..470fec6 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.001.patch0 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.001 +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.3.001 +Problem: When editing "src/main.c" and 'path' set to "./proto", + ":find e<C-D" shows ./proto/eval.pro instead of eval.pro. +Solution: Check for path separator when comparing names. (Nazri Ramliy) +Files: src/misc1.c + + +*** ../vim-7.3.000/src/misc1.c 2010-08-15 21:57:27.000000000 +0200 +--- src/misc1.c 2010-08-16 20:43:25.000000000 +0200 +*************** +*** 9317,9323 **** + continue; /* it's different when it's shorter */ + + rival = other_paths[j] + other_path_len - candidate_len; +! if (fnamecmp(maybe_unique, rival) == 0) + return FALSE; /* match */ + } + +--- 9317,9324 ---- + continue; /* it's different when it's shorter */ + + rival = other_paths[j] + other_path_len - candidate_len; +! if (fnamecmp(maybe_unique, rival) == 0 +! && (rival == other_paths[j] || vim_ispathsep(*(rival - 1)))) + return FALSE; /* match */ + } + +*** ../vim-7.3.000/src/version.c 2010-08-15 21:57:25.000000000 +0200 +--- src/version.c 2010-08-16 20:53:09.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 1, + /**/ + + +-- +From "know your smileys": + (:-# Said something he shouldn't have + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.002.patch0 b/pkgs/core/vim/patches/vim-7.3.002.patch0 new file mode 100644 index 0000000..012fed2 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.002.patch0 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.002 +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.3.002 +Problem: ":find" completion doesn't work when halfway an environment + variable. (Dominique Pelle) +Solution: Only use in-path completion when expanding file names. (Nazri + Ramliy) +Files: src/ex_docmd.c + + +*** ../vim-7.3.001/src/ex_docmd.c 2010-08-15 21:57:27.000000000 +0200 +--- src/ex_docmd.c 2010-08-16 20:51:22.000000000 +0200 +*************** +*** 3465,3471 **** + case CMD_find: + case CMD_sfind: + case CMD_tabfind: +! xp->xp_context = EXPAND_FILES_IN_PATH; + break; + case CMD_cd: + case CMD_chdir: +--- 3465,3472 ---- + case CMD_find: + case CMD_sfind: + case CMD_tabfind: +! if (xp->xp_context == EXPAND_FILES) +! xp->xp_context = EXPAND_FILES_IN_PATH; + break; + case CMD_cd: + case CMD_chdir: +*** ../vim-7.3.001/src/version.c 2010-08-16 21:46:12.000000000 +0200 +--- src/version.c 2010-08-16 22:33:13.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 2, + /**/ + +-- +Warning label on a superhero Halloween costume: +"Caution: Cape does not enable user to fly." + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.003.patch0 b/pkgs/core/vim/patches/vim-7.3.003.patch0 new file mode 100644 index 0000000..8bc9f47 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.003.patch0 @@ -0,0 +1,45 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.003 +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.1.003 +Problem: Crash with specific BufWritePost autocmd. (Peter Odding) +Solution: Don't free the quickfix title twice. (Lech Lorens) +Files: src/quickfix.c + + +*** ../vim-7.3.002/src/quickfix.c 2010-08-15 21:57:26.000000000 +0200 +--- src/quickfix.c 2010-08-16 21:15:44.000000000 +0200 +*************** +*** 2125,2130 **** +--- 2125,2131 ---- + --qi->qf_lists[idx].qf_count; + } + vim_free(qi->qf_lists[idx].qf_title); ++ qi->qf_lists[idx].qf_title = NULL; + } + + /* +*** ../vim-7.3.002/src/version.c 2010-08-16 22:33:55.000000000 +0200 +--- src/version.c 2010-08-17 20:23:05.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 3, + /**/ + +-- +From "know your smileys": + :-X My lips are sealed + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.004.patch0 b/pkgs/core/vim/patches/vim-7.3.004.patch0 new file mode 100644 index 0000000..9c6318a --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.004.patch0 @@ -0,0 +1,44 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.004 +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.3.004 +Problem: Crash when using very long regexp. (Peter Odding) +Solution: Reset reg_toolong. (Carlo Teubner) +Files: src/regexp.c + + +*** ../vim-7.3.003/src/regexp.c 2010-08-15 21:57:29.000000000 +0200 +--- src/regexp.c 2010-09-14 10:51:22.000000000 +0200 +*************** +*** 3538,3543 **** +--- 3538,3544 ---- + + regline = line; + reglnum = 0; ++ reg_toolong = FALSE; + + /* Simplest case: Anchored match need be tried only once. */ + if (prog->reganch) +*** ../vim-7.3.003/src/version.c 2010-08-17 20:23:18.000000000 +0200 +--- src/version.c 2010-09-14 10:52:09.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 4, + /**/ + +-- +I have a watch cat! Just break in and she'll watch. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.005.patch0 b/pkgs/core/vim/patches/vim-7.3.005.patch0 new file mode 100644 index 0000000..df2026d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.005.patch0 @@ -0,0 +1,96 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.005 +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.3.005 +Problem: Crash when using undotree(). (Christian Brabandt) +Solution: Increase the list reference count. Add a test for undotree() + (Lech Lorens) +Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in + + +*** ../vim-7.3.004/src/eval.c 2010-08-15 21:57:26.000000000 +0200 +--- src/eval.c 2010-09-14 12:43:04.000000000 +0200 +*************** +*** 7075,7081 **** + } + + /* +! * Add a list entry to dictionary "d". + * Returns FAIL when out of memory and when key already exists. + */ + int +--- 7075,7081 ---- + } + + /* +! * Add a list entry to dictionary "d". + * Returns FAIL when out of memory and when key already exists. + */ + int +*************** +*** 7097,7102 **** +--- 7097,7103 ---- + dictitem_free(item); + return FAIL; + } ++ ++list->lv_refcount; + return OK; + } + +*** ../vim-7.3.004/src/testdir/Makefile 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Makefile 2010-09-14 12:38:56.000000000 +0200 +*************** +*** 44,50 **** + $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) + + clean: +! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo + + test1.out: test1.in + -rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo +--- 44,50 ---- + $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) + + clean: +! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.* viminfo + + test1.out: test1.in + -rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo +*** ../vim-7.3.004/src/testdir/test61.in 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test61.in 2010-09-14 12:38:56.000000000 +0200 +*************** +*** 4,9 **** +--- 4,13 ---- + Also tests :earlier and :later. + + STARTTEST ++ :echo undotree().entries ++ ENDTEST ++ ++ STARTTEST + :" Delete three characters and undo + Gx:set ul=100 + x:set ul=100 +*** ../vim-7.3.004/src/version.c 2010-09-14 10:55:24.000000000 +0200 +--- src/version.c 2010-09-14 12:39:59.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 5, + /**/ + +-- +I'm writing a book. I've got the page numbers done. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.006.patch0 b/pkgs/core/vim/patches/vim-7.3.006.patch0 new file mode 100644 index 0000000..41eb756 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.006.patch0 @@ -0,0 +1,117 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.006 +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.3.006 +Problem: Can't build some multi-byte code with C89. +Solution: Move code to after declarations. (Joachim Schmitz) +Files: src/mbyte.c, src/spell.c + + +*** ../vim-7.3.005/src/mbyte.c 2010-08-15 21:57:28.000000000 +0200 +--- src/mbyte.c 2010-09-18 13:32:40.000000000 +0200 +*************** +*** 5167,5182 **** + void + xim_set_preedit() + { +- if (xic == NULL) +- return; +- +- xim_set_focus(TRUE); +- + XVaNestedList attr_list; + XRectangle spot_area; + XPoint over_spot; + int line_space; + + if (!xim_has_focus) + { + /* hide XIM cursor */ +--- 5167,5182 ---- + void + xim_set_preedit() + { + XVaNestedList attr_list; + XRectangle spot_area; + XPoint over_spot; + int line_space; + ++ if (xic == NULL) ++ return; ++ ++ xim_set_focus(TRUE); ++ + if (!xim_has_focus) + { + /* hide XIM cursor */ +*************** +*** 5554,5565 **** + void + xim_set_status_area() + { +- if (xic == NULL) +- return; +- + XVaNestedList preedit_list = 0, status_list = 0, list = 0; + XRectangle pre_area, status_area; + + if (input_style & XIMStatusArea) + { + if (input_style & XIMPreeditArea) +--- 5554,5565 ---- + void + xim_set_status_area() + { + XVaNestedList preedit_list = 0, status_list = 0, list = 0; + XRectangle pre_area, status_area; + ++ if (xic == NULL) ++ return; ++ + if (input_style & XIMStatusArea) + { + if (input_style & XIMPreeditArea) +*** ../vim-7.3.005/src/spell.c 2010-08-15 21:57:32.000000000 +0200 +--- src/spell.c 2010-09-18 13:34:11.000000000 +0200 +*************** +*** 4679,4685 **** + buf_T *buf; + char_u fname[MAXPATHL]; + +! /* Go through all buffers and handle 'spelllang'. */ //<VN> + for (buf = firstbuf; buf != NULL; buf = buf->b_next) + ga_clear(&buf->b_s.b_langp); + +--- 4679,4685 ---- + buf_T *buf; + char_u fname[MAXPATHL]; + +! /* Go through all buffers and handle 'spelllang'. <VN> */ + for (buf = firstbuf; buf != NULL; buf = buf->b_next) + ga_clear(&buf->b_s.b_langp); + +*** ../vim-7.3.005/src/version.c 2010-09-14 12:47:30.000000000 +0200 +--- src/version.c 2010-09-18 13:34:23.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 6, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +163. You go outside for the fresh air (at -30 degrees) but open the + window first to hear new mail arrive. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.007.patch0 b/pkgs/core/vim/patches/vim-7.3.007.patch0 new file mode 100644 index 0000000..30b3745 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.007.patch0 @@ -0,0 +1,187 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.007 +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.3.007 +Problem: Python code defines global "buffer". Re-implements a grow-array. +Solution: Use a grow-array instead of coding the same functionality. Handle + out-of-memory situation properly. +Files: src/if_py_both.h + + +*** ../vim-7.3.006/src/if_py_both.h 2010-08-15 21:57:27.000000000 +0200 +--- src/if_py_both.h 2010-09-21 16:00:54.000000000 +0200 +*************** +*** 34,39 **** +--- 34,40 ---- + static PyObject *OutputWrite(PyObject *, PyObject *); + static PyObject *OutputWritelines(PyObject *, PyObject *); + ++ /* Function to write a line, points to either msg() or emsg(). */ + typedef void (*writefn)(char_u *); + static void writer(writefn fn, char_u *str, PyInt n); + +*************** +*** 122,173 **** + return Py_None; + } + +! static char_u *buffer = NULL; +! static PyInt buffer_len = 0; +! static PyInt buffer_size = 0; +! + static writefn old_fn = NULL; + + static void +- buffer_ensure(PyInt n) +- { +- PyInt new_size; +- char_u *new_buffer; +- +- if (n < buffer_size) +- return; +- +- new_size = buffer_size; +- while (new_size < n) +- new_size += 80; +- +- if (new_size != buffer_size) +- { +- new_buffer = alloc((unsigned)new_size); +- if (new_buffer == NULL) +- return; +- +- if (buffer) +- { +- memcpy(new_buffer, buffer, buffer_len); +- vim_free(buffer); +- } +- +- buffer = new_buffer; +- buffer_size = new_size; +- } +- } +- +- static void + PythonIO_Flush(void) + { +! if (old_fn && buffer_len) + { +! buffer[buffer_len] = 0; +! old_fn(buffer); + } +! +! buffer_len = 0; + } + + static void +--- 123,141 ---- + return Py_None; + } + +! /* Buffer IO, we write one whole line at a time. */ +! static garray_T io_ga = {0, 0, 1, 80, NULL}; + static writefn old_fn = NULL; + + static void + PythonIO_Flush(void) + { +! if (old_fn != NULL && io_ga.ga_len > 0) + { +! ((char_u *)io_ga.ga_data)[io_ga.ga_len] = NUL; +! old_fn((char_u *)io_ga.ga_data); + } +! io_ga.ga_len = 0; + } + + static void +*************** +*** 175,204 **** + { + char_u *ptr; + +! if (fn != old_fn && old_fn != NULL) + PythonIO_Flush(); +- + old_fn = fn; + + while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL) + { + PyInt len = ptr - str; + +! buffer_ensure(buffer_len + len + 1); + +! memcpy(buffer + buffer_len, str, len); +! buffer_len += len; +! buffer[buffer_len] = 0; +! fn(buffer); + str = ptr + 1; + n -= len + 1; +! buffer_len = 0; + } + +! /* Put the remaining text into the buffer for later printing */ +! buffer_ensure(buffer_len + n + 1); +! memcpy(buffer + buffer_len, str, n); +! buffer_len += n; + } + + /***************/ +--- 143,176 ---- + { + char_u *ptr; + +! /* Flush when switching output function. */ +! if (fn != old_fn) + PythonIO_Flush(); + old_fn = fn; + ++ /* Write each NL separated line. Text after the last NL is kept for ++ * writing later. */ + while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL) + { + PyInt len = ptr - str; + +! if (ga_grow(&io_ga, len + 1) == FAIL) +! break; + +! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len); +! ((char *)io_ga.ga_data)[io_ga.ga_len + len] = NUL; +! fn((char_u *)io_ga.ga_data); + str = ptr + 1; + n -= len + 1; +! io_ga.ga_len = 0; + } + +! /* Put the remaining text into io_ga for later printing. */ +! if (n > 0 && ga_grow(&io_ga, n + 1) == OK) +! { +! mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n); +! io_ga.ga_len += n; +! } + } + + /***************/ +*** ../vim-7.3.006/src/version.c 2010-09-18 13:36:41.000000000 +0200 +--- src/version.c 2010-09-21 16:49:13.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 7, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +180. You maintain more than six e-mail addresses. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.008.patch0 b/pkgs/core/vim/patches/vim-7.3.008.patch0 new file mode 100644 index 0000000..5df7daa --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.008.patch0 @@ -0,0 +1,439 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.008 +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.3.008 +Problem: 'cursorbind' is kept in places where 'scrollbind' is reset. +Solution: Reset 'cursorbind'. +Files: src/buffer.c, src/diff.c, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, src/macros.h, + src/quickfix.c, src/search.c, src/tag.c, src/window.c + + +*** ../vim-7.3.007/src/buffer.c 2010-08-15 21:57:32.000000000 +0200 +--- src/buffer.c 2010-09-21 16:54:19.000000000 +0200 +*************** +*** 1288,1296 **** + /* Go to the other buffer. */ + set_curbuf(buf, action); + +! #if defined(FEAT_LISTCMDS) && defined(FEAT_SCROLLBIND) + if (action == DOBUF_SPLIT) +! curwin->w_p_scb = FALSE; /* reset 'scrollbind' */ + #endif + + #if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL) +--- 1288,1299 ---- + /* Go to the other buffer. */ + set_curbuf(buf, action); + +! #if defined(FEAT_LISTCMDS) \ +! && (defined(FEAT_SCROLLBIND) || defined(FEAT_CURSORBIND)) + if (action == DOBUF_SPLIT) +! { +! RESET_BINDING(curwin); /* reset 'scrollbind' and 'cursorbind' */ +! } + #endif + + #if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL) +*************** +*** 1917,1925 **** + tabpage_new(); + else if (win_split(0, 0) == FAIL) /* Open in a new window */ + return FAIL; +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + } + } + #endif +--- 1920,1926 ---- + tabpage_new(); + else if (win_split(0, 0) == FAIL) /* Open in a new window */ + return FAIL; +! RESET_BINDING(curwin); + } + } + #endif +*** ../vim-7.3.007/src/diff.c 2010-08-15 21:57:32.000000000 +0200 +--- src/diff.c 2010-09-21 16:14:07.000000000 +0200 +*************** +*** 1127,1137 **** + # endif + + wp->w_p_diff = TRUE; + #ifdef FEAT_CURSORBIND +- /* Use cursorbind if it's available */ + wp->w_p_crb = TRUE; + #endif +- wp->w_p_scb = TRUE; + wp->w_p_wrap = FALSE; + # ifdef FEAT_FOLDING + curwin = wp; +--- 1127,1139 ---- + # endif + + wp->w_p_diff = TRUE; ++ /* Use 'scrollbind' and 'cursorbind' when available */ ++ #ifdef FEAT_SCROLLBIND ++ wp->w_p_scb = TRUE; ++ #endif + #ifdef FEAT_CURSORBIND + wp->w_p_crb = TRUE; + #endif + wp->w_p_wrap = FALSE; + # ifdef FEAT_FOLDING + curwin = wp; +*************** +*** 1177,1186 **** + { + /* Set 'diff', 'scrollbind' off and 'wrap' on. */ + wp->w_p_diff = FALSE; +! #ifdef FEAT_CURSORBIND +! wp->w_p_crb = FALSE; +! #endif +! wp->w_p_scb = FALSE; + wp->w_p_wrap = TRUE; + #ifdef FEAT_FOLDING + curwin = wp; +--- 1179,1185 ---- + { + /* Set 'diff', 'scrollbind' off and 'wrap' on. */ + wp->w_p_diff = FALSE; +! RESET_BINDING(wp); + wp->w_p_wrap = TRUE; + #ifdef FEAT_FOLDING + curwin = wp; +*** ../vim-7.3.007/src/ex_cmds.c 2010-08-15 21:57:26.000000000 +0200 +--- src/ex_cmds.c 2010-09-21 16:15:07.000000000 +0200 +*************** +*** 3498,3506 **** + curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */ + curwin->w_p_nu = 0; /* no line numbers */ + curwin->w_p_rnu = 0; /* no relative line numbers */ +! #ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; /* no scroll binding */ +! #endif + #ifdef FEAT_ARABIC + curwin->w_p_arab = FALSE; /* no arabic mode */ + #endif +--- 3498,3504 ---- + curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */ + curwin->w_p_nu = 0; /* no line numbers */ + curwin->w_p_rnu = 0; /* no relative line numbers */ +! RESET_BINDING(curwin); /* no scroll or cursor binding */ + #ifdef FEAT_ARABIC + curwin->w_p_arab = FALSE; /* no arabic mode */ + #endif +*************** +*** 5471,5479 **** + return FALSE; + curwin->w_p_pvw = TRUE; + curwin->w_p_wfh = TRUE; +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; /* don't take over 'scrollbind' */ +! # endif + # ifdef FEAT_DIFF + curwin->w_p_diff = FALSE; /* no 'diff' */ + # endif +--- 5469,5476 ---- + return FALSE; + curwin->w_p_pvw = TRUE; + curwin->w_p_wfh = TRUE; +! RESET_BINDING(curwin); /* don't take over 'scrollbind' +! and 'cursorbind' */ + # ifdef FEAT_DIFF + curwin->w_p_diff = FALSE; /* no 'diff' */ + # endif +*** ../vim-7.3.007/src/ex_cmds2.c 2010-08-15 21:57:31.000000000 +0200 +--- src/ex_cmds2.c 2010-09-21 16:15:17.000000000 +0200 +*************** +*** 2165,2173 **** + { + if (win_split(0, 0) == FAIL) + return; +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + } + else + #endif +--- 2165,2171 ---- + { + if (win_split(0, 0) == FAIL) + return; +! RESET_BINDING(curwin); + } + else + #endif +*** ../vim-7.3.007/src/ex_docmd.c 2010-08-16 22:33:55.000000000 +0200 +--- src/ex_docmd.c 2010-09-21 16:15:39.000000000 +0200 +*************** +*** 6898,6906 **** + # ifdef FEAT_WINDOWS + if (win_split(0, 0) == FAIL) + return; +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + + /* When splitting the window, create a new alist. Otherwise the + * existing one is overwritten. */ +--- 6898,6904 ---- + # ifdef FEAT_WINDOWS + if (win_split(0, 0) == FAIL) + return; +! RESET_BINDING(curwin); + + /* When splitting the window, create a new alist. Otherwise the + * existing one is overwritten. */ +*************** +*** 7300,7306 **** + || cmdmod.browse + # endif + ) +! curwin->w_p_scb = FALSE; + else + do_check_scrollbind(FALSE); + # endif +--- 7298,7306 ---- + || cmdmod.browse + # endif + ) +! { +! RESET_BINDING(curwin); +! } + else + do_check_scrollbind(FALSE); + # endif +*** ../vim-7.3.007/src/ex_getln.c 2010-08-15 21:57:28.000000000 +0200 +--- src/ex_getln.c 2010-09-21 16:15:55.000000000 +0200 +*************** +*** 6147,6155 **** + curwin->w_p_rl = cmdmsg_rl; + cmdmsg_rl = FALSE; + # endif +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + + # ifdef FEAT_AUTOCMD + /* Do execute autocommands for setting the filetype (load syntax). */ +--- 6147,6153 ---- + curwin->w_p_rl = cmdmsg_rl; + cmdmsg_rl = FALSE; + # endif +! RESET_BINDING(curwin); + + # ifdef FEAT_AUTOCMD + /* Do execute autocommands for setting the filetype (load syntax). */ +*** ../vim-7.3.007/src/if_cscope.c 2010-08-15 21:57:32.000000000 +0200 +--- src/if_cscope.c 2010-09-21 16:16:26.000000000 +0200 +*************** +*** 1274,1282 **** + { + win_split(postponed_split > 0 ? postponed_split : 0, + postponed_split_flags); +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + postponed_split = 0; + } + # endif +--- 1274,1280 ---- + { + win_split(postponed_split > 0 ? postponed_split : 0, + postponed_split_flags); +! RESET_BINDING(curwin); + postponed_split = 0; + } + # endif +*** ../vim-7.3.007/src/macros.h 2010-08-15 21:57:28.000000000 +0200 +--- src/macros.h 2010-09-21 16:13:10.000000000 +0200 +*************** +*** 285,287 **** +--- 285,301 ---- + #else + # define DO_AUTOCHDIR + #endif ++ ++ #if defined(FEAT_SCROLLBIND) && defined(FEAT_CURSORBIND) ++ # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE; (wp)->w_p_crb = FALSE ++ #else ++ # if defined(FEAT_SCROLLBIND) ++ # define RESET_BINDING(wp) (wp)->w_p_scb = FALSE ++ # else ++ # if defined(FEAT_CURSORBIND) ++ # define RESET_BINDING(wp) (wp)->w_p_crb = FALSE ++ # else ++ # define RESET_BINDING(wp) ++ # endif ++ # endif ++ #endif +*** ../vim-7.3.007/src/quickfix.c 2010-08-17 20:23:18.000000000 +0200 +--- src/quickfix.c 2010-09-21 16:17:17.000000000 +0200 +*************** +*** 1656,1664 **** + opened_window = TRUE; /* close it when fail */ + p_swb = empty_option; /* don't split again */ + swb_flags = 0; +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + if (ll_ref != NULL) + { + /* The new window should use the location list from the +--- 1656,1662 ---- + opened_window = TRUE; /* close it when fail */ + p_swb = empty_option; /* don't split again */ + swb_flags = 0; +! RESET_BINDING(curwin); + if (ll_ref != NULL) + { + /* The new window should use the location list from the +*************** +*** 2334,2342 **** + win_goto(lastwin); + if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL) + return; /* not enough room for window */ +! #ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! #endif + + if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) + { +--- 2332,2338 ---- + win_goto(lastwin); + if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL) + return; /* not enough room for window */ +! RESET_BINDING(curwin); + + if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) + { +*** ../vim-7.3.007/src/search.c 2010-08-15 21:57:32.000000000 +0200 +--- src/search.c 2010-09-21 16:17:28.000000000 +0200 +*************** +*** 5075,5083 **** + if (win_split(0, 0) == FAIL) + #endif + break; +! #ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! #endif + } + if (depth == -1) + { +--- 5075,5081 ---- + if (win_split(0, 0) == FAIL) + #endif + break; +! RESET_BINDING(curwin); + } + if (depth == -1) + { +*** ../vim-7.3.007/src/tag.c 2010-08-15 21:57:25.000000000 +0200 +--- src/tag.c 2010-09-21 16:17:51.000000000 +0200 +*************** +*** 3143,3151 **** + { + win_split(postponed_split > 0 ? postponed_split : 0, + postponed_split_flags); +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + } + #endif + +--- 3143,3149 ---- + { + win_split(postponed_split > 0 ? postponed_split : 0, + postponed_split_flags); +! RESET_BINDING(curwin); + } + #endif + +*** ../vim-7.3.007/src/window.c 2010-08-15 21:57:32.000000000 +0200 +--- src/window.c 2010-09-21 16:18:44.000000000 +0200 +*************** +*** 525,533 **** + setpcmark(); + if (win_split(0, 0) == OK) + { +! # ifdef FEAT_SCROLLBIND +! curwin->w_p_scb = FALSE; +! # endif + (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, + ECMD_HIDE, NULL); + if (nchar == 'F' && lnum >= 0) +--- 525,531 ---- + setpcmark(); + if (win_split(0, 0) == OK) + { +! RESET_BINDING(curwin); + (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, + ECMD_HIDE, NULL); + if (nchar == 'F' && lnum >= 0) +*************** +*** 3277,3285 **** + if (aucmd_win != NULL) + { + win_init_some(aucmd_win, curwin); +! # ifdef FEAT_SCROLLBIND +! aucmd_win->w_p_scb = FALSE; +! # endif + new_frame(aucmd_win); + } + } +--- 3275,3281 ---- + if (aucmd_win != NULL) + { + win_init_some(aucmd_win, curwin); +! RESET_BINDING(aucmd_win); + new_frame(aucmd_win); + } + } +*************** +*** 3320,3329 **** + /* First window in new tab page, initialize it from "oldwin". */ + win_init(curwin, oldwin, 0); + +! # ifdef FEAT_SCROLLBIND +! /* We don't want scroll-binding in the first window. */ +! curwin->w_p_scb = FALSE; +! # endif + } + #endif + +--- 3316,3323 ---- + /* First window in new tab page, initialize it from "oldwin". */ + win_init(curwin, oldwin, 0); + +! /* We don't want cursor- and scroll-binding in the first window. */ +! RESET_BINDING(curwin); + } + #endif + +*** ../vim-7.3.007/src/version.c 2010-09-21 16:49:29.000000000 +0200 +--- src/version.c 2010-09-21 16:53:16.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 8, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +181. You make up words that go with the "happy tune" your modem makes + while dialing your ISP. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.009.patch0 b/pkgs/core/vim/patches/vim-7.3.009.patch0 new file mode 100644 index 0000000..317677d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.009.patch0 @@ -0,0 +1,99 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.009 +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.3.009 +Problem: Win32: Crash on Windows when using a bad argument for strftime(). + (Christian Brabandt) +Solution: Use the bad_param_handler(). (Mike Williams) +Files: src/os_win32.c + + +*** ../vim-7.3.008/src/os_win32.c 2010-08-15 21:57:27.000000000 +0200 +--- src/os_win32.c 2010-09-21 17:02:54.000000000 +0200 +*************** +*** 1615,1620 **** +--- 1615,1649 ---- + return TRUE; + } + ++ #if ((defined(__MINGW32__) || defined (__CYGWIN32__)) && \ ++ __MSVCRT_VERSION__ >= 0x800) || (defined(_MSC_VER) && _MSC_VER >= 1400) ++ /* ++ * Bad parameter handler. ++ * ++ * Certain MS CRT functions will intentionally crash when passed invalid ++ * parameters to highlight possible security holes. Setting this function as ++ * the bad parameter handler will prevent the crash. ++ * ++ * In debug builds the parameters contain CRT information that might help track ++ * down the source of a problem, but in non-debug builds the arguments are all ++ * NULL/0. Debug builds will also produce assert dialogs from the CRT, it is ++ * worth allowing these to make debugging of issues easier. ++ */ ++ static void ++ bad_param_handler(const wchar_t *expression, ++ const wchar_t *function, ++ const wchar_t *file, ++ unsigned int line, ++ uintptr_t pReserved) ++ { ++ } ++ ++ # define SET_INVALID_PARAM_HANDLER \ ++ ((void)_set_invalid_parameter_handler(bad_param_handler)) ++ #else ++ # define SET_INVALID_PARAM_HANDLER ++ #endif ++ + #ifdef FEAT_GUI_W32 + + /* +*************** +*** 1627,1632 **** +--- 1656,1664 ---- + extern int _fmode; + #endif + ++ /* Silently handle invalid parameters to CRT functions */ ++ SET_INVALID_PARAM_HANDLER; ++ + /* Let critical errors result in a failure, not in a dialog box. Required + * for the timestamp test to work on removed floppies. */ + SetErrorMode(SEM_FAILCRITICALERRORS); +*************** +*** 2103,2108 **** +--- 2135,2143 ---- + extern int _fmode; + #endif + ++ /* Silently handle invalid parameters to CRT functions */ ++ SET_INVALID_PARAM_HANDLER; ++ + /* Let critical errors result in a failure, not in a dialog box. Required + * for the timestamp test to work on removed floppies. */ + SetErrorMode(SEM_FAILCRITICALERRORS); +*** ../vim-7.3.008/src/version.c 2010-09-21 16:56:29.000000000 +0200 +--- src/version.c 2010-09-21 17:27:36.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 9, + /**/ + +-- +Wizards had always known that the act of observation changed the thing that +was observed, and sometimes forgot that it also changed the observer too. + Terry Pratchett - Interesting times + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.010.patch0 b/pkgs/core/vim/patches/vim-7.3.010.patch0 new file mode 100644 index 0000000..be0167a --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.010.patch0 @@ -0,0 +1,167 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.010 +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.3.010 +Problem: Mac GUI: Missing break statements. +Solution: Add the break statements. (Dominique Pelle) +Files: src/gui_mac.c + + +*** ../vim-7.3.009/src/gui_mac.c 2010-08-15 21:57:28.000000000 +0200 +--- src/gui_mac.c 2010-09-21 17:33:13.000000000 +0200 +*************** +*** 1480,1486 **** + * + * Returns the index inside the menu wher + */ +! short /* Shoulde we return MenuItemIndex? */ + gui_mac_get_menu_item_index(vimmenu_T *pMenu) + { + short index; +--- 1480,1486 ---- + * + * Returns the index inside the menu wher + */ +! short /* Should we return MenuItemIndex? */ + gui_mac_get_menu_item_index(vimmenu_T *pMenu) + { + short index; +*************** +*** 1823,1829 **** + p.h += gui.scrollbar_width; + if (gui.which_scrollbars[SBAR_RIGHT]) + p.h += gui.scrollbar_width; +! /* ideal height is as heigh as we can get */ + p.v = 15 * 1024; + + thePart = IsWindowInStandardState(whichWindow, &p, &r) +--- 1823,1829 ---- + p.h += gui.scrollbar_width; + if (gui.which_scrollbars[SBAR_RIGHT]) + p.h += gui.scrollbar_width; +! /* ideal height is as high as we can get */ + p.v = 15 * 1024; + + thePart = IsWindowInStandardState(whichWindow, &p, &r) +*************** +*** 4481,4487 **** + * event arrives. No need to check for input_buf_full because we are + * returning as soon as it contains a single char. + */ +! /* TODO: reduce wtime accordinly??? */ + if (wtime > -1) + sleeppyTick = 60 * wtime / 1000; + else +--- 4481,4487 ---- + * event arrives. No need to check for input_buf_full because we are + * returning as soon as it contains a single char. + */ +! /* TODO: reduce wtime accordingly??? */ + if (wtime > -1) + sleeppyTick = 60 * wtime / 1000; + else +*************** +*** 5723,5735 **** + iconDITL = GetResource('DITL', 131); + switch (type) + { +! case VIM_GENERIC: useIcon = kNoteIcon; +! case VIM_ERROR: useIcon = kStopIcon; +! case VIM_WARNING: useIcon = kCautionIcon; +! case VIM_INFO: useIcon = kNoteIcon; +! case VIM_QUESTION: useIcon = kNoteIcon; +! default: useIcon = kStopIcon; +! }; + AppendDITL(theDialog, iconDITL, overlayDITL); + ReleaseResource(iconDITL); + GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box); +--- 5723,5735 ---- + iconDITL = GetResource('DITL', 131); + switch (type) + { +! case VIM_GENERIC: +! case VIM_INFO: +! case VIM_QUESTION: useIcon = kNoteIcon; break; +! case VIM_WARNING: useIcon = kCautionIcon; break; +! case VIM_ERROR: useIcon = kStopIcon; break; +! default: useIcon = kStopIcon; +! } + AppendDITL(theDialog, iconDITL, overlayDITL); + ReleaseResource(iconDITL); + GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box); +*************** +*** 5892,5898 **** + + return itemHit; + /* +! * Usefull thing which could be used + * SetDialogTimeout(): Auto click a button after timeout + * SetDialogTracksCursor() : Get the I-beam cursor over input box + * MoveDialogItem(): Probably better than SetDialogItem +--- 5892,5898 ---- + + return itemHit; + /* +! * Useful thing which could be used + * SetDialogTimeout(): Auto click a button after timeout + * SetDialogTracksCursor() : Get the I-beam cursor over input box + * MoveDialogItem(): Probably better than SetDialogItem +*************** +*** 6100,6106 **** + #endif + + /* +! * Transfered from os_mac.c for MacOS X using os_unix.c prep work + */ + + int +--- 6100,6106 ---- + #endif + + /* +! * Transferred from os_mac.c for MacOS X using os_unix.c prep work + */ + + int +*************** +*** 6543,6549 **** + static ControlRef dataBrowser = NULL; + + // when the tabline is hidden, vim doesn't call update_tabline(). When +! // the tabline is shown again, show_tabline() is called before upate_tabline(), + // and because of this, the tab labels and vims internal tabs are out of sync + // for a very short time. to prevent inconsistent state, we store the labels + // of the tabs, not pointers to the tabs (which are invalid for a short time). +--- 6543,6549 ---- + static ControlRef dataBrowser = NULL; + + // when the tabline is hidden, vim doesn't call update_tabline(). When +! // the tabline is shown again, show_tabline() is called before update_tabline(), + // and because of this, the tab labels and vims internal tabs are out of sync + // for a very short time. to prevent inconsistent state, we store the labels + // of the tabs, not pointers to the tabs (which are invalid for a short time). +*** ../vim-7.3.009/src/version.c 2010-09-21 17:29:19.000000000 +0200 +--- src/version.c 2010-09-21 17:33:22.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 10, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +182. You may not know what is happening in the world, but you know + every bit of net-gossip there is. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.011.patch0 b/pkgs/core/vim/patches/vim-7.3.011.patch0 new file mode 100644 index 0000000..0f40a3f --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.011.patch0 @@ -0,0 +1,290 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.011 +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.3.011 +Problem: X11 clipboard doesn't work in Athena/Motif GUI. First selection + after a shell command doesn't work. +Solution: When using the GUI use XtLastTimestampProcessed() instead of + changing a property. (partly by Toni Ronkko) + When executing a shell command disown the selection. +Files: src/ui.c, src/os_unix.c + + +*** ../vim-7.3.010/src/ui.c 2010-08-15 21:57:31.000000000 +0200 +--- src/ui.c 2010-09-21 22:08:22.000000000 +0200 +*************** +*** 469,475 **** + */ + #ifdef FEAT_X11 + /* Always own the selection, we might have lost it without being +! * notified. */ + if (cbd->available) + { + int was_owned = cbd->owned; +--- 469,475 ---- + */ + #ifdef FEAT_X11 + /* Always own the selection, we might have lost it without being +! * notified, e.g. during a ":sh" command. */ + if (cbd->available) + { + int was_owned = cbd->owned; +*************** +*** 1944,1953 **** + */ + + static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *)); +- + static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *)); +- + static void clip_x11_timestamp_cb __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont)); + + /* + * Property callback to get a timestamp for XtOwnSelection. +--- 1944,1952 ---- + */ + + static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *)); + static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *)); + static void clip_x11_timestamp_cb __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont)); ++ static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *)); + + /* + * Property callback to get a timestamp for XtOwnSelection. +*************** +*** 1985,1992 **** + return; + + /* Get the selection, using the event timestamp. */ +! XtOwnSelection(w, xproperty->atom, xproperty->time, +! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb, NULL); + } + + void +--- 1984,2000 ---- + return; + + /* Get the selection, using the event timestamp. */ +! if (XtOwnSelection(w, xproperty->atom, xproperty->time, +! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb, +! NULL) == OK) +! { +! /* Set the "owned" flag now, there may have been a call to +! * lose_ownership_cb in between. */ +! if (xproperty->atom == clip_plus.sel_atom) +! clip_plus.owned = TRUE; +! else +! clip_star.owned = TRUE; +! } + } + + void +*************** +*** 1997,2004 **** + /*(XtEventHandler)*/clip_x11_timestamp_cb, (XtPointer)NULL); + } + +- static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *)); +- + static void + clip_x11_request_selection_cb(w, success, sel_atom, type, value, length, + format) +--- 2005,2010 ---- +*************** +*** 2336,2342 **** + + void + clip_x11_lose_selection(myShell, cbd) +! Widget myShell; + VimClipboard *cbd; + { + XtDisownSelection(myShell, cbd->sel_atom, CurrentTime); +--- 2342,2348 ---- + + void + clip_x11_lose_selection(myShell, cbd) +! Widget myShell; + VimClipboard *cbd; + { + XtDisownSelection(myShell, cbd->sel_atom, CurrentTime); +*************** +*** 2344,2357 **** + + int + clip_x11_own_selection(myShell, cbd) +! Widget myShell; + VimClipboard *cbd; + { +! /* Get the time by a zero-length append, clip_x11_timestamp_cb will be +! * called with the current timestamp. */ +! if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell), cbd->sel_atom, +! timestamp_atom, 32, PropModeAppend, NULL, 0)) + return FAIL; + /* Flush is required in a terminal as nothing else is doing it. */ + XFlush(XtDisplay(myShell)); + return OK; +--- 2350,2378 ---- + + int + clip_x11_own_selection(myShell, cbd) +! Widget myShell; + VimClipboard *cbd; + { +! /* When using the GUI we have proper timestamps, use the one of the last +! * event. When in the console we don't get events (the terminal gets +! * them), Get the time by a zero-length append, clip_x11_timestamp_cb will +! * be called with the current timestamp. */ +! #ifdef FEAT_GUI +! if (gui.in_use) +! { +! if (XtOwnSelection(myShell, cbd->sel_atom, +! XtLastTimestampProcessed(XtDisplay(myShell)), +! clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb, +! NULL) == False) + return FAIL; ++ } ++ else ++ #endif ++ { ++ if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell), ++ cbd->sel_atom, timestamp_atom, 32, PropModeAppend, NULL, 0)) ++ return FAIL; ++ } + /* Flush is required in a terminal as nothing else is doing it. */ + XFlush(XtDisplay(myShell)); + return OK; +*** ../vim-7.3.010/src/os_unix.c 2010-08-15 21:57:30.000000000 +0200 +--- src/os_unix.c 2010-09-21 21:59:25.000000000 +0200 +*************** +*** 1123,1128 **** +--- 1123,1152 ---- + } + #endif + ++ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) ++ static void loose_clipboard __ARGS((void)); ++ ++ /* ++ * Called when Vim is going to sleep or execute a shell command. ++ * We can't respond to requests for the X selections. Lose them, otherwise ++ * other applications will hang. But first copy the text to cut buffer 0. ++ */ ++ static void ++ loose_clipboard() ++ { ++ if (clip_star.owned || clip_plus.owned) ++ { ++ x11_export_final_selection(); ++ if (clip_star.owned) ++ clip_lose_selection(&clip_star); ++ if (clip_plus.owned) ++ clip_lose_selection(&clip_plus); ++ if (x11_display != NULL) ++ XFlush(x11_display); ++ } ++ } ++ #endif ++ + /* + * If the machine has job control, use it to suspend the program, + * otherwise fake it by starting a new shell. +*************** +*** 1137,1155 **** + out_flush(); /* needed to disable mouse on some systems */ + + # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) +! /* Since we are going to sleep, we can't respond to requests for the X +! * selections. Lose them, otherwise other applications will hang. But +! * first copy the text to cut buffer 0. */ +! if (clip_star.owned || clip_plus.owned) +! { +! x11_export_final_selection(); +! if (clip_star.owned) +! clip_lose_selection(&clip_star); +! if (clip_plus.owned) +! clip_lose_selection(&clip_plus); +! if (x11_display != NULL) +! XFlush(x11_display); +! } + # endif + + # if defined(_REENTRANT) && defined(SIGCONT) +--- 1161,1167 ---- + out_flush(); /* needed to disable mouse on some systems */ + + # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) +! loose_clipboard(); + # endif + + # if defined(_REENTRANT) && defined(SIGCONT) +*************** +*** 3706,3711 **** +--- 3718,3727 ---- + if (options & SHELL_COOKED) + settmode(TMODE_COOK); /* set to normal mode */ + ++ # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) ++ loose_clipboard(); ++ # endif ++ + # ifdef __EMX__ + if (cmd == NULL) + x = system(""); /* this starts an interactive shell in emx */ +*************** +*** 3814,3826 **** + # endif + int did_settmode = FALSE; /* settmode(TMODE_RAW) called */ + + out_flush(); + if (options & SHELL_COOKED) + settmode(TMODE_COOK); /* set to normal mode */ + +! newcmd = vim_strsave(p_sh); +! if (newcmd == NULL) /* out of memory */ +! goto error; + + /* + * Do this loop twice: +--- 3830,3846 ---- + # endif + int did_settmode = FALSE; /* settmode(TMODE_RAW) called */ + ++ newcmd = vim_strsave(p_sh); ++ if (newcmd == NULL) /* out of memory */ ++ goto error; ++ + out_flush(); + if (options & SHELL_COOKED) + settmode(TMODE_COOK); /* set to normal mode */ + +! # if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) +! loose_clipboard(); +! # endif + + /* + * Do this loop twice: +*** ../vim-7.3.010/src/version.c 2010-09-21 17:34:26.000000000 +0200 +--- src/version.c 2010-09-21 20:45:02.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 11, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +184. You no longer ask prospective dates what their sign is, instead + your line is "Hi, what's your URL?" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.012.patch0 b/pkgs/core/vim/patches/vim-7.3.012.patch0 new file mode 100644 index 0000000..b0b13ff --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.012.patch0 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.012 +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.3.012 +Problem: Problems building with MingW. +Solution: Adjust the MingW makefiles. (Jon) +Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak + + +*** ../vim-7.3.011/src/Make_ming.mak 2010-08-15 21:57:32.000000000 +0200 +--- src/Make_ming.mak 2010-09-29 12:32:13.000000000 +0200 +*************** +*** 303,309 **** + endif + endif + CC := $(CROSS_COMPILE)gcc +! WINDRES := $(CROSS_COMPILE)windres + + #>>>>> end of choices + ########################################################################### +--- 303,309 ---- + endif + endif + CC := $(CROSS_COMPILE)gcc +! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" - + + #>>>>> end of choices + ########################################################################### +*** ../vim-7.3.011/src/GvimExt/Make_ming.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/GvimExt/Make_ming.mak 2010-09-29 12:31:07.000000000 +0200 +*************** +*** 33,39 **** + endif + endif + CXX := $(CROSS_COMPILE)g++ +! WINDRES := $(CROSS_COMPILE)windres + LIBS := -luuid + RES := gvimext.res + DEFFILE = gvimext_ming.def +--- 33,39 ---- + endif + endif + CXX := $(CROSS_COMPILE)g++ +! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" - + LIBS := -luuid + RES := gvimext.res + DEFFILE = gvimext_ming.def +*** ../vim-7.3.011/src/version.c 2010-09-21 22:09:28.000000000 +0200 +--- src/version.c 2010-09-29 12:36:42.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 12, + /**/ + +-- +If evolution theories are correct, humans will soon grow a third +hand for operating the mouse. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.013.patch0 b/pkgs/core/vim/patches/vim-7.3.013.patch0 new file mode 100644 index 0000000..489aa0e --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.013.patch0 @@ -0,0 +1,208 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.013 +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.3.013 +Problem: Dynamic loading with Ruby doesn't work for 1.9.2. +Solution: Handle rb_str2cstr differently. Also support dynamic loading on + Unix. (Jon Maken) +Files: src/if_ruby.c + + +*** ../vim-7.3.012/src/if_ruby.c 2010-08-15 21:57:25.000000000 +0200 +--- src/if_ruby.c 2010-09-29 12:49:50.000000000 +0200 +*************** +*** 4,9 **** +--- 4,10 ---- + * + * Ruby interface by Shugo Maeda + * with improvements by SegPhault (Ryan Paul) ++ * with improvements by Jon Maken + * + * Do ":help uganda" in Vim to read copying and usage conditions. + * Do ":help credits" in Vim to see a list of people who contributed. +*************** +*** 26,37 **** + # define RUBYEXTERN extern + #endif + + /* + * This is tricky. In ruby.h there is (inline) function rb_class_of() + * definition. This function use these variables. But we want function to + * use dll_* variables. + */ +- #ifdef DYNAMIC_RUBY + # define rb_cFalseClass (*dll_rb_cFalseClass) + # define rb_cFixnum (*dll_rb_cFixnum) + # define rb_cNilClass (*dll_rb_cNilClass) +--- 27,38 ---- + # define RUBYEXTERN extern + #endif + ++ #ifdef DYNAMIC_RUBY + /* + * This is tricky. In ruby.h there is (inline) function rb_class_of() + * definition. This function use these variables. But we want function to + * use dll_* variables. + */ + # define rb_cFalseClass (*dll_rb_cFalseClass) + # define rb_cFixnum (*dll_rb_cFixnum) + # define rb_cNilClass (*dll_rb_cNilClass) +*************** +*** 46,53 **** +--- 47,67 ---- + */ + # define RUBY_EXPORT + # endif ++ ++ #if !(defined(WIN32) || defined(_WIN64)) ++ # include <dlfcn.h> ++ # define HANDLE void* ++ # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) ++ # define symbol_from_dll dlsym ++ # define close_dll dlclose ++ #else ++ # define load_dll LoadLibrary ++ # define symbol_from_dll GetProcAddress ++ # define close_dll FreeLibrary + #endif + ++ #endif /* ifdef DYNAMIC_RUBY */ ++ + /* suggested by Ariya Mizutani */ + #if (_MSC_VER == 1200) + # undef _WIN32_WINNT +*************** +*** 166,172 **** + #define rb_obj_as_string dll_rb_obj_as_string + #define rb_obj_id dll_rb_obj_id + #define rb_raise dll_rb_raise +- #define rb_str2cstr dll_rb_str2cstr + #define rb_str_cat dll_rb_str_cat + #define rb_str_concat dll_rb_str_concat + #define rb_str_new dll_rb_str_new +--- 180,185 ---- +*************** +*** 178,187 **** +--- 191,203 ---- + # define rb_str_new2 dll_rb_str_new2 + #endif + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 ++ # define rb_string_value dll_rb_string_value + # define rb_string_value_ptr dll_rb_string_value_ptr + # define rb_float_new dll_rb_float_new + # define rb_ary_new dll_rb_ary_new + # define rb_ary_push dll_rb_ary_push ++ #else ++ # define rb_str2cstr dll_rb_str2cstr + #endif + #ifdef RUBY19_OR_LATER + # define rb_errinfo dll_rb_errinfo +*************** +*** 246,252 **** +--- 262,272 ---- + static VALUE (*dll_rb_obj_as_string) (VALUE); + static VALUE (*dll_rb_obj_id) (VALUE); + static void (*dll_rb_raise) (VALUE, const char*, ...); ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 ++ static VALUE (*dll_rb_string_value) (volatile VALUE*); ++ #else + static char *(*dll_rb_str2cstr) (VALUE,int*); ++ #endif + static VALUE (*dll_rb_str_cat) (VALUE, const char*, long); + static VALUE (*dll_rb_str_concat) (VALUE, VALUE); + static VALUE (*dll_rb_str_new) (const char*, long); +*************** +*** 347,353 **** +--- 367,377 ---- + {"rb_obj_as_string", (RUBY_PROC*)&dll_rb_obj_as_string}, + {"rb_obj_id", (RUBY_PROC*)&dll_rb_obj_id}, + {"rb_raise", (RUBY_PROC*)&dll_rb_raise}, ++ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 ++ {"rb_string_value", (RUBY_PROC*)&dll_rb_string_value}, ++ #else + {"rb_str2cstr", (RUBY_PROC*)&dll_rb_str2cstr}, ++ #endif + {"rb_str_cat", (RUBY_PROC*)&dll_rb_str_cat}, + {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, + {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, +*************** +*** 399,405 **** + { + if (hinstRuby) + { +! FreeLibrary(hinstRuby); + hinstRuby = 0; + } + } +--- 423,429 ---- + { + if (hinstRuby) + { +! close_dll(hinstRuby); + hinstRuby = 0; + } + } +*************** +*** 416,422 **** + + if (hinstRuby) + return OK; +! hinstRuby = LoadLibrary(libname); + if (!hinstRuby) + { + if (verbose) +--- 440,446 ---- + + if (hinstRuby) + return OK; +! hinstRuby = load_dll(libname); + if (!hinstRuby) + { + if (verbose) +*************** +*** 426,435 **** + + for (i = 0; ruby_funcname_table[i].ptr; ++i) + { +! if (!(*ruby_funcname_table[i].ptr = GetProcAddress(hinstRuby, + ruby_funcname_table[i].name))) + { +! FreeLibrary(hinstRuby); + hinstRuby = 0; + if (verbose) + EMSG2(_(e_loadfunc), ruby_funcname_table[i].name); +--- 450,459 ---- + + for (i = 0; ruby_funcname_table[i].ptr; ++i) + { +! if (!(*ruby_funcname_table[i].ptr = symbol_from_dll(hinstRuby, + ruby_funcname_table[i].name))) + { +! close_dll(hinstRuby); + hinstRuby = 0; + if (verbose) + EMSG2(_(e_loadfunc), ruby_funcname_table[i].name); +*** ../vim-7.3.012/src/version.c 2010-09-29 12:37:53.000000000 +0200 +--- src/version.c 2010-09-29 13:00:42.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 13, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +223. You set up a web-cam as your home's security system. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.014.patch0 b/pkgs/core/vim/patches/vim-7.3.014.patch0 new file mode 100644 index 0000000..a60d476 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.014.patch0 @@ -0,0 +1,87 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.014 +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.3.014 +Problem: Ending a line in a backslash inside an ":append" or ":insert" + command in Ex mode doesn't work properly. (Ray Frush) +Solution: Halve the number of backslashes, only insert a NUL after an odd + number of backslashes. +Files: src/ex_getln.c + + +*** ../vim-7.3.013/src/ex_getln.c 2010-09-21 16:56:29.000000000 +0200 +--- src/ex_getln.c 2010-09-29 15:47:56.000000000 +0200 +*************** +*** 2342,2356 **** + windgoto(msg_row, msg_col); + pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len; + +! /* we are done when a NL is entered, but not when it comes after a +! * backslash */ +! if (line_ga.ga_len > 0 && pend[-1] == '\n' +! && (line_ga.ga_len <= 1 || pend[-2] != '\')) +! { +! --line_ga.ga_len; +! --pend; +! *pend = NUL; +! break; + } + } + +--- 2342,2372 ---- + windgoto(msg_row, msg_col); + pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len; + +! /* We are done when a NL is entered, but not when it comes after an +! * odd number of backslashes, that results in a NUL. */ +! if (line_ga.ga_len > 0 && pend[-1] == '\n') +! { +! int bcount = 0; +! +! while (line_ga.ga_len - 2 >= bcount && pend[-2 - bcount] == '\') +! ++bcount; +! +! if (bcount > 0) +! { +! /* Halve the number of backslashes: "\NL" -> "NUL", "\NL" -> +! * "\NL", etc. */ +! line_ga.ga_len -= (bcount + 1) / 2; +! pend -= (bcount + 1) / 2; +! pend[-1] = '\n'; +! } +! +! if ((bcount & 1) == 0) +! { +! --line_ga.ga_len; +! --pend; +! *pend = NUL; +! break; +! } + } + } + +*** ../vim-7.3.013/src/version.c 2010-09-29 13:02:48.000000000 +0200 +--- src/version.c 2010-09-29 15:45:57.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 14, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +224. You set up your own Web page. You set up a Web page for each + of your kids... and your pets. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.015.patch0 b/pkgs/core/vim/patches/vim-7.3.015.patch0 new file mode 100644 index 0000000..0b5f660 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.015.patch0 @@ -0,0 +1,68 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.015 +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.3.015 +Problem: Test is using error message that no longer exists. +Solution: Change E106 to E121. (Dominique Pelle) +Files: src/testdir/test49.vim + + +*** ../vim-7.3.014/src/testdir/test49.vim 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test49.vim 2010-09-29 16:52:06.000000000 +0200 +*************** +*** 1,6 **** + " Vim script language tests + " Author: Servatius Brandt Servatius.Brandt@fujitsu-siemens.com +! " Last Change: 2006 Apr 28 + + "------------------------------------------------------------------------------- + " Test environment {{{1 +--- 1,6 ---- + " Vim script language tests + " Author: Servatius Brandt Servatius.Brandt@fujitsu-siemens.com +! " Last Change: 2010 Sep 29 + + "------------------------------------------------------------------------------- + " Test environment {{{1 +*************** +*** 8711,8717 **** + endif + else + if cmd == "let" +! let match = MATCH(0, thrmsg, 'E106', "Unknown variable") + elseif cmd == "unlet" + let match = MATCH(0, thrmsg, 'E108', "No such variable") + endif +--- 8711,8717 ---- + endif + else + if cmd == "let" +! let match = MATCH(0, thrmsg, 'E121', "Undefined variable") + elseif cmd == "unlet" + let match = MATCH(0, thrmsg, 'E108', "No such variable") + endif +*** ../vim-7.3.014/src/version.c 2010-09-29 15:50:14.000000000 +0200 +--- src/version.c 2010-09-29 16:55:03.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 15, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +228. You spend Saturday night making the counter on your home page + pass that 2000 mark. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.016.patch0 b/pkgs/core/vim/patches/vim-7.3.016.patch0 new file mode 100644 index 0000000..1d087d5 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.016.patch0 @@ -0,0 +1,240 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.016 +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.3.016 +Problem: Netbeans doesn't work under Athena. +Solution: Support Athena, just like Motif. (Xavier de Gaye) +Files: runtime/doc/netbeans.txt, src/gui.c, src/main.c, src/netbeans.c + + +*** ../vim-7.3.015/runtime/doc/netbeans.txt 2010-08-15 21:57:13.000000000 +0200 +--- runtime/doc/netbeans.txt 2010-09-29 17:13:43.000000000 +0200 +*************** +*** 1,4 **** +! *netbeans.txt* For Vim version 7.3. Last change: 2010 Jul 20 + + + VIM REFERENCE MANUAL by Gordon Prieur et al. +--- 1,4 ---- +! *netbeans.txt* For Vim version 7.3. Last change: 2010 Aug 20 + + + VIM REFERENCE MANUAL by Gordon Prieur et al. +*************** +*** 118,124 **** + uncommenting a line with "--disable-netbeans" in the Makefile. + + Currently the NetBeans interface is supported by Vim running in a terminal and +! by GVim when it is run with one of the following GUIs: GTK, GNOME, and Motif. + + If Motif support is required the user must supply XPM libraries. See + |workshop-xpm| for details on obtaining the latest version of XPM. +--- 118,125 ---- + uncommenting a line with "--disable-netbeans" in the Makefile. + + Currently the NetBeans interface is supported by Vim running in a terminal and +! by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows, +! Athena and Motif. + + If Motif support is required the user must supply XPM libraries. See + |workshop-xpm| for details on obtaining the latest version of XPM. +*** ../vim-7.3.015/src/gui.c 2010-08-15 21:57:28.000000000 +0200 +--- src/gui.c 2010-09-29 17:13:43.000000000 +0200 +*************** +*** 2352,2358 **** + if (draw_sign) + /* Draw the sign on top of the spaces. */ + gui_mch_drawsign(gui.row, col, gui.highlight_mask); +! # if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_MOTIF) \ + || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32)) + if (multi_sign) + netbeans_draw_multisign_indicator(gui.row); +--- 2352,2358 ---- + if (draw_sign) + /* Draw the sign on top of the spaces. */ + gui_mch_drawsign(gui.row, col, gui.highlight_mask); +! # if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_X11) \ + || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32)) + if (multi_sign) + netbeans_draw_multisign_indicator(gui.row); +*** ../vim-7.3.015/src/main.c 2010-08-15 21:57:28.000000000 +0200 +--- src/main.c 2010-09-29 17:13:43.000000000 +0200 +*************** +*** 940,946 **** + if (netbeansArg != NULL && strncmp("-nb", netbeansArg, 3) == 0) + { + # ifdef FEAT_GUI +! # if !defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK) \ + && !defined(FEAT_GUI_W32) + if (gui.in_use) + { +--- 940,946 ---- + if (netbeansArg != NULL && strncmp("-nb", netbeansArg, 3) == 0) + { + # ifdef FEAT_GUI +! # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \ + && !defined(FEAT_GUI_W32) + if (gui.in_use) + { +*** ../vim-7.3.015/src/netbeans.c 2010-08-15 21:57:26.000000000 +0200 +--- src/netbeans.c 2010-09-29 17:13:43.000000000 +0200 +*************** +*** 87,93 **** + static void nb_init_graphics __ARGS((void)); + static void coloncmd __ARGS((char *cmd, ...)); + static void nb_set_curbuf __ARGS((buf_T *buf)); +! #ifdef FEAT_GUI_MOTIF + static void messageFromNetbeans __ARGS((XtPointer, int *, XtInputId *)); + #endif + #ifdef FEAT_GUI_GTK +--- 87,93 ---- + static void nb_init_graphics __ARGS((void)); + static void coloncmd __ARGS((char *cmd, ...)); + static void nb_set_curbuf __ARGS((buf_T *buf)); +! #ifdef FEAT_GUI_X11 + static void messageFromNetbeans __ARGS((XtPointer, int *, XtInputId *)); + #endif + #ifdef FEAT_GUI_GTK +*************** +*** 112,118 **** + static NBSOCK nbsock = -1; /* socket fd for Netbeans connection */ + #define NETBEANS_OPEN (nbsock != -1) + +! #ifdef FEAT_GUI_MOTIF + static XtInputId inputHandler = (XtInputId)NULL; /* Cookie for input */ + #endif + #ifdef FEAT_GUI_GTK +--- 112,118 ---- + static NBSOCK nbsock = -1; /* socket fd for Netbeans connection */ + #define NETBEANS_OPEN (nbsock != -1) + +! #ifdef FEAT_GUI_X11 + static XtInputId inputHandler = (XtInputId)NULL; /* Cookie for input */ + #endif + #ifdef FEAT_GUI_GTK +*************** +*** 143,149 **** + + netbeans_send_disconnect(); + +! #ifdef FEAT_GUI_MOTIF + if (inputHandler != (XtInputId)NULL) + { + XtRemoveInput(inputHandler); +--- 143,149 ---- + + netbeans_send_disconnect(); + +! #ifdef FEAT_GUI_X11 + if (inputHandler != (XtInputId)NULL) + { + XtRemoveInput(inputHandler); +*************** +*** 700,706 **** + /* + * Read a command from netbeans. + */ +! #ifdef FEAT_GUI_MOTIF + static void + messageFromNetbeans(XtPointer clientData UNUSED, + int *unused1 UNUSED, +--- 700,706 ---- + /* + * Read a command from netbeans. + */ +! #ifdef FEAT_GUI_X11 + static void + messageFromNetbeans(XtPointer clientData UNUSED, + int *unused1 UNUSED, +*************** +*** 2937,2943 **** + if (!NB_HAS_GUI || !NETBEANS_OPEN) + return; + +! # ifdef FEAT_GUI_MOTIF + /* tell notifier we are interested in being called + * when there is input on the editor connection socket + */ +--- 2937,2943 ---- + if (!NB_HAS_GUI || !NETBEANS_OPEN) + return; + +! # ifdef FEAT_GUI_X11 + /* tell notifier we are interested in being called + * when there is input on the editor connection socket + */ +*************** +*** 3027,3033 **** + } + } + +! #if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_W32) || defined(PROTO) + /* + * Tell netbeans that the window was moved or resized. + */ +--- 3027,3033 ---- + } + } + +! #if defined(FEAT_GUI_X11) || defined(FEAT_GUI_W32) || defined(PROTO) + /* + * Tell netbeans that the window was moved or resized. + */ +*************** +*** 3458,3464 **** + return FALSE; + } + +! #if defined(FEAT_GUI_MOTIF) || defined(PROTO) + /* + * We have multiple signs to draw at the same location. Draw the + * multi-sign indicator instead. This is the Motif version. +--- 3458,3464 ---- + return FALSE; + } + +! #if defined(FEAT_GUI_X11) || defined(PROTO) + /* + * We have multiple signs to draw at the same location. Draw the + * multi-sign indicator instead. This is the Motif version. +*************** +*** 3487,3493 **** + XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++); + XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y); + } +! #endif /* FEAT_GUI_MOTIF */ + + #if defined(FEAT_GUI_GTK) && !defined(PROTO) + /* +--- 3487,3493 ---- + XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++); + XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y); + } +! #endif /* FEAT_GUI_X11 */ + + #if defined(FEAT_GUI_GTK) && !defined(PROTO) + /* +*** ../vim-7.3.015/src/version.c 2010-09-29 16:55:45.000000000 +0200 +--- src/version.c 2010-09-29 17:14:47.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 16, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +229. You spend so much time thinking what to add on this 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/pkgs/core/vim/patches/vim-7.3.017.patch0 b/pkgs/core/vim/patches/vim-7.3.017.patch0 new file mode 100644 index 0000000..4434ae1 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.017.patch0 @@ -0,0 +1,124 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.017 +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.3.017 +Problem: smatch reports errors. +Solution: Fix the reported errors. (Dominique Pelle) +Files: src/spell.c, src/syntax.c + + +*** ../vim-7.3.016/src/spell.c 2010-09-18 13:36:41.000000000 +0200 +--- src/spell.c 2010-09-29 18:25:09.000000000 +0200 +*************** +*** 4951,4957 **** + char_u *si_info; /* info text chars or NULL */ + int si_region_count; /* number of regions supported (1 when there + are no regions) */ +! char_u si_region_name[16]; /* region names; used only if + * si_region_count > 1) */ + + garray_T si_rep; /* list of fromto_T entries from REP lines */ +--- 4951,4957 ---- + char_u *si_info; /* info text chars or NULL */ + int si_region_count; /* number of regions supported (1 when there + are no regions) */ +! char_u si_region_name[17]; /* region names; used only if + * si_region_count > 1) */ + + garray_T si_rep; /* list of fromto_T entries from REP lines */ +*************** +*** 9530,9536 **** + if (aspath) + /* Use directory of an entry with path, e.g., for + * "/dir/lg.utf-8.spl" use "/dir". */ +! vim_strncpy(buf, curbuf->b_s.b_p_spl, lstart - curbuf->b_s.b_p_spl - 1); + else + /* Copy the path from 'runtimepath' to buf[]. */ + copy_option_part(&rtp, buf, MAXPATHL, ","); +--- 9530,9537 ---- + if (aspath) + /* Use directory of an entry with path, e.g., for + * "/dir/lg.utf-8.spl" use "/dir". */ +! vim_strncpy(buf, curbuf->b_s.b_p_spl, +! lstart - curbuf->b_s.b_p_spl - 1); + else + /* Copy the path from 'runtimepath' to buf[]. */ + copy_option_part(&rtp, buf, MAXPATHL, ","); +*************** +*** 9539,9551 **** + /* Use the first language name from 'spelllang' and the + * encoding used in the first loaded .spl file. */ + if (aspath) +! vim_strncpy(buf, curbuf->b_s.b_p_spl, lend - curbuf->b_s.b_p_spl); + else + { + /* Create the "spell" directory if it doesn't exist yet. */ + l = (int)STRLEN(buf); + vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell"); +! if (!filewritable(buf) != 2) + vim_mkdir(buf, 0755); + + l = (int)STRLEN(buf); +--- 9540,9553 ---- + /* Use the first language name from 'spelllang' and the + * encoding used in the first loaded .spl file. */ + if (aspath) +! vim_strncpy(buf, curbuf->b_s.b_p_spl, +! lend - curbuf->b_s.b_p_spl); + else + { + /* Create the "spell" directory if it doesn't exist yet. */ + l = (int)STRLEN(buf); + vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell"); +! if (filewritable(buf) != 2) + vim_mkdir(buf, 0755); + + l = (int)STRLEN(buf); +*** ../vim-7.3.016/src/syntax.c 2010-08-15 21:57:32.000000000 +0200 +--- src/syntax.c 2010-09-29 18:28:26.000000000 +0200 +*************** +*** 7600,7609 **** + /* + * Copy characters from arg[] to buf[], translating <> codes. + */ +! for (p = arg, off = 0; off < 100 && *p; ) + { + len = trans_special(&p, buf + off, FALSE); +! if (len) /* recognized special char */ + off += len; + else /* copy as normal char */ + buf[off++] = *p++; +--- 7600,7609 ---- + /* + * Copy characters from arg[] to buf[], translating <> codes. + */ +! for (p = arg, off = 0; off < 100 - 6 && *p; ) + { + len = trans_special(&p, buf + off, FALSE); +! if (len > 0) /* recognized special char */ + off += len; + else /* copy as normal char */ + buf[off++] = *p++; +*** ../vim-7.3.016/src/version.c 2010-09-29 17:26:57.000000000 +0200 +--- src/version.c 2010-09-29 17:47:27.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 17, + /**/ + +-- +A computer without Windows is like a fish without a bicycle. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.018.patch0 b/pkgs/core/vim/patches/vim-7.3.018.patch0 new file mode 100644 index 0000000..5079e82 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.018.patch0 @@ -0,0 +1,74 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.018 +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.3.018 (after 7.3.012) +Problem: Missing argument to windres in MingW makefiles. +Solution: Add the argument that was wrapped in the patch. (Jon Maken) +Files: src/Make_ming.mak, src/GvimExt/Make_ming.mak + + +*** ../vim-7.3.017/src/Make_ming.mak 2010-09-29 12:37:53.000000000 +0200 +--- src/Make_ming.mak 2010-09-29 18:37:08.000000000 +0200 +*************** +*** 303,309 **** + endif + endif + CC := $(CROSS_COMPILE)gcc +! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" - + + #>>>>> end of choices + ########################################################################### +--- 303,309 ---- + endif + endif + CC := $(CROSS_COMPILE)gcc +! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED + + #>>>>> end of choices + ########################################################################### +*** ../vim-7.3.017/src/GvimExt/Make_ming.mak 2010-09-29 12:37:53.000000000 +0200 +--- src/GvimExt/Make_ming.mak 2010-09-29 18:36:39.000000000 +0200 +*************** +*** 33,39 **** + endif + endif + CXX := $(CROSS_COMPILE)g++ +! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" - + LIBS := -luuid + RES := gvimext.res + DEFFILE = gvimext_ming.def +--- 33,39 ---- + endif + endif + CXX := $(CROSS_COMPILE)g++ +! WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED + LIBS := -luuid + RES := gvimext.res + DEFFILE = gvimext_ming.def +*** ../vim-7.3.017/src/version.c 2010-09-29 18:32:47.000000000 +0200 +--- src/version.c 2010-09-29 18:41:53.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 18, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +231. You sprinkle Carpet Fresh on the rugs and put your vacuum cleaner + in the front doorway permanently so it always looks like you are + actually attempting to do something about that mess that has amassed + since you discovered the Internet. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.019.patch0 b/pkgs/core/vim/patches/vim-7.3.019.patch0 new file mode 100644 index 0000000..6a26d6a --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.019.patch0 @@ -0,0 +1,55 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.019 +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.3.019 +Problem: ":nbstart" can fail silently. +Solution: Give an error when netbeans is not supported by the GUI. (Xavier + de Gaye) +Files: src/netbeans.c + + +*** ../vim-7.3.018/src/netbeans.c 2010-09-29 17:26:57.000000000 +0200 +--- src/netbeans.c 2010-09-29 17:35:37.000000000 +0200 +*************** +*** 2773,2778 **** +--- 2773,2788 ---- + ex_nbstart(eap) + exarg_T *eap; + { ++ #ifdef FEAT_GUI ++ # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \ ++ && !defined(FEAT_GUI_W32) ++ if (gui.in_use) ++ { ++ EMSG(_("E838: netbeans is not supported with this GUI")); ++ return; ++ } ++ # endif ++ #endif + netbeans_open((char *)eap->arg, FALSE); + } + +*** ../vim-7.3.018/src/version.c 2010-09-29 18:42:25.000000000 +0200 +--- src/version.c 2010-09-30 21:02:03.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 19, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +233. You start dreaming about web pages...in html. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.020.patch0 b/pkgs/core/vim/patches/vim-7.3.020.patch0 new file mode 100644 index 0000000..7c6de54 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.020.patch0 @@ -0,0 +1,131 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.020 +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.3.020 +Problem: Cursor position wrong when joining multiple lines and + 'formatoptions' contains "a". (Moshe Kamensky) +Solution: Adjust cursor position for skipped indent. (Carlo Teubner) +Files: src/ops.c, src/testdir/test68.in, src/testdir/test68.ok + + +*** ../vim-7.3.019/src/ops.c 2010-08-15 21:57:28.000000000 +0200 +--- src/ops.c 2010-10-09 17:00:35.000000000 +0200 +*************** +*** 4153,4161 **** + int save_undo; + { + char_u *curr = NULL; + char_u *cend; + char_u *newp; +! char_u *spaces; /* number of spaces inserte before a line */ + int endcurr1 = NUL; + int endcurr2 = NUL; + int currsize = 0; /* size of the current line */ +--- 4153,4162 ---- + int save_undo; + { + char_u *curr = NULL; ++ char_u *curr_start = NULL; + char_u *cend; + char_u *newp; +! char_u *spaces; /* number of spaces inserted before a line */ + int endcurr1 = NUL; + int endcurr2 = NUL; + int currsize = 0; /* size of the current line */ +*************** +*** 4181,4187 **** + */ + for (t = 0; t < count; ++t) + { +! curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t)); + if (insert_space && t > 0) + { + curr = skipwhite(curr); +--- 4182,4188 ---- + */ + for (t = 0; t < count; ++t) + { +! curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t)); + if (insert_space && t > 0) + { + curr = skipwhite(curr); +*************** +*** 4265,4274 **** + copy_spaces(cend, (size_t)(spaces[t])); + } + mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t, +! (long)(cend - newp + spaces[t])); + if (t == 0) + break; +! curr = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1)); + if (insert_space && t > 1) + curr = skipwhite(curr); + currsize = (int)STRLEN(curr); +--- 4266,4275 ---- + copy_spaces(cend, (size_t)(spaces[t])); + } + mark_col_adjust(curwin->w_cursor.lnum + t, (colnr_T)0, (linenr_T)-t, +! (long)(cend - newp + spaces[t] - (curr - curr_start))); + if (t == 0) + break; +! curr = curr_start = ml_get((linenr_T)(curwin->w_cursor.lnum + t - 1)); + if (insert_space && t > 1) + curr = skipwhite(curr); + currsize = (int)STRLEN(curr); +*** ../vim-7.3.019/src/testdir/test68.in 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test68.in 2010-10-09 16:53:02.000000000 +0200 +*************** +*** 51,56 **** +--- 51,67 ---- + } + + STARTTEST ++ /^{/+2 ++ :set tw& fo=a ++ I^^ ++ ENDTEST ++ ++ { ++ 1aa ++ 2bb ++ } ++ ++ STARTTEST + :g/^STARTTEST/.,/^ENDTEST/d + :1;/^Results/,$wq! test.out + ENDTEST +*** ../vim-7.3.019/src/testdir/test68.ok 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test68.ok 2010-10-09 16:53:02.000000000 +0200 +*************** +*** 33,35 **** +--- 33,38 ---- + #a b + } + ++ ++ { 1aa ^^2bb } ++ +*** ../vim-7.3.019/src/version.c 2010-09-30 21:03:13.000000000 +0200 +--- src/version.c 2010-10-09 17:05:31.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 20, + /**/ + +-- +Did you hear about the new 3 million dollar West Virginia State Lottery? +The winner gets 3 dollars a year for a million years. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.021.patch0 b/pkgs/core/vim/patches/vim-7.3.021.patch0 new file mode 100644 index 0000000..479c9e6 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.021.patch0 @@ -0,0 +1,70 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.021 +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.3.021 +Problem: Conflict for defining Boolean in Mac header files. +Solution: Define NO_X11_INCLUDES. (Rainer Muller) +Files: src/os_macosx.m, src/vim.h + + +*** ../vim-7.3.020/src/os_macosx.m 2010-08-15 21:57:29.000000000 +0200 +--- src/os_macosx.m 2010-10-10 17:01:55.000000000 +0200 +*************** +*** 15,20 **** +--- 15,24 ---- + Error: MACOS 9 is no longer supported in Vim 7 + #endif + ++ /* Avoid a conflict for the definition of Boolean between Mac header files and ++ * X11 header files. */ ++ #define NO_X11_INCLUDES ++ + #include "vim.h" + #import <Cocoa/Cocoa.h> + +*** ../vim-7.3.020/src/vim.h 2010-08-15 21:57:29.000000000 +0200 +--- src/vim.h 2010-10-10 17:02:56.000000000 +0200 +*************** +*** 192,199 **** + #endif + + #ifdef NO_X11_INCLUDES +! /* In os_mac_conv.c NO_X11_INCLUDES is defined to avoid X11 headers. +! * Disable all X11 related things to avoid conflicts. */ + # ifdef FEAT_X11 + # undef FEAT_X11 + # endif +--- 192,199 ---- + #endif + + #ifdef NO_X11_INCLUDES +! /* In os_mac_conv.c and os_macosx.m NO_X11_INCLUDES is defined to avoid +! * X11 headers. Disable all X11 related things to avoid conflicts. */ + # ifdef FEAT_X11 + # undef FEAT_X11 + # endif +*** ../vim-7.3.020/src/version.c 2010-10-09 17:21:42.000000000 +0200 +--- src/version.c 2010-10-10 17:05:19.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 21, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +259. When you enter your name in the AltaVista search engine, the top ten + matches do indeed refer to you. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.022.patch0 b/pkgs/core/vim/patches/vim-7.3.022.patch0 new file mode 100644 index 0000000..aefdf1c --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.022.patch0 @@ -0,0 +1,54 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.022 +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.3.022 +Problem: When opening a new window the 'spellcapcheck' option is cleared. +Solution: Copy the correct option value. (Christian Brabandt) +Files: src/option.c + + +*** ../vim-7.3.021/src/option.c 2010-08-15 21:57:28.000000000 +0200 +--- src/option.c 2010-10-13 13:48:46.000000000 +0200 +*************** +*** 10011,10017 **** + buf->b_p_smc = p_smc; + #endif + #ifdef FEAT_SPELL +! buf->b_s.b_p_spc = vim_strsave(p_spf); + (void)compile_cap_prog(&buf->b_s); + buf->b_s.b_p_spf = vim_strsave(p_spf); + buf->b_s.b_p_spl = vim_strsave(p_spl); +--- 10011,10017 ---- + buf->b_p_smc = p_smc; + #endif + #ifdef FEAT_SPELL +! buf->b_s.b_p_spc = vim_strsave(p_spc); + (void)compile_cap_prog(&buf->b_s); + buf->b_s.b_p_spf = vim_strsave(p_spf); + buf->b_s.b_p_spl = vim_strsave(p_spl); +*** ../vim-7.3.021/src/version.c 2010-10-10 17:08:28.000000000 +0200 +--- src/version.c 2010-10-13 14:02:08.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 22, + /**/ + +-- +GALAHAD: Camelot ... +LAUNCELOT: Camelot ... +GAWAIN: It's only a model. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.023.patch0 b/pkgs/core/vim/patches/vim-7.3.023.patch0 new file mode 100644 index 0000000..e26d1b8 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.023.patch0 @@ -0,0 +1,69 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.023 +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.3.023 +Problem: External program may hang when it tries to write to the tty. +Solution: Don't close the slave tty until after the child exits. (Nikola + Knezevic) +Files: src/os_unix.c + + +*** ../vim-7.3.022/src/os_unix.c 2010-09-21 22:09:28.000000000 +0200 +--- src/os_unix.c 2010-10-13 16:17:33.000000000 +0200 +*************** +*** 4168,4174 **** + # ifdef FEAT_GUI + if (pty_master_fd >= 0) + { +- close(pty_slave_fd); /* close slave side of pty */ + fromshell_fd = pty_master_fd; + toshell_fd = dup(pty_master_fd); + } +--- 4168,4173 ---- +*************** +*** 4637,4642 **** +--- 4636,4649 ---- + break; + } + ++ # ifdef FEAT_GUI ++ /* Close slave side of pty. Only do this after the child has ++ * exited, otherwise the child may hang when it tries to write on ++ * the pty. */ ++ if (pty_master_fd >= 0) ++ close(pty_slave_fd); ++ # endif ++ + /* Make sure the child that writes to the external program is + * dead. */ + if (wpid > 0) +*** ../vim-7.3.022/src/version.c 2010-10-13 14:05:29.000000000 +0200 +--- src/version.c 2010-10-13 16:20:48.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 23, + /**/ + +-- + We're knights of the Round Table + Our shows are formidable + But many times + We're given rhymes + That are quite unsingable + We're opera mad in Camelot + We sing from the diaphragm a lot. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.024.patch0 b/pkgs/core/vim/patches/vim-7.3.024.patch0 new file mode 100644 index 0000000..60ae64e --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.024.patch0 @@ -0,0 +1,115 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.024 +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.3.024 +Problem: Named signs do not use a negative number as intended. +Solution: Fix the numbering of named signs. (Xavier de Gaye) +Files: src/ex_cmds.c + + +*** ../vim-7.3.023/src/ex_cmds.c 2010-09-21 16:56:29.000000000 +0200 +--- src/ex_cmds.c 2010-10-13 16:37:18.000000000 +0200 +*************** +*** 6670,6680 **** + sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T)); + if (sp == NULL) + return; +- if (sp_prev == NULL) +- first_sign = sp; +- else +- sp_prev->sn_next = sp; +- sp->sn_name = vim_strnsave(arg, (int)(p - arg)); + + /* If the name is a number use that for the typenr, + * otherwise use a negative number. */ +--- 6670,6675 ---- +*************** +*** 6687,6699 **** + + for (lp = first_sign; lp != NULL; lp = lp->sn_next) + { +! if (lp->sn_typenr == last_sign_typenr) + { + --last_sign_typenr; + if (last_sign_typenr == 0) + last_sign_typenr = MAX_TYPENR; + if (last_sign_typenr == start) + { + EMSG(_("E612: Too many signs defined")); + return; + } +--- 6682,6695 ---- + + for (lp = first_sign; lp != NULL; lp = lp->sn_next) + { +! if (lp->sn_typenr == -last_sign_typenr) + { + --last_sign_typenr; + if (last_sign_typenr == 0) + last_sign_typenr = MAX_TYPENR; + if (last_sign_typenr == start) + { ++ vim_free(sp); + EMSG(_("E612: Too many signs defined")); + return; + } +*************** +*** 6702,6711 **** + } + } + +! sp->sn_typenr = last_sign_typenr--; +! if (last_sign_typenr == 0) + last_sign_typenr = MAX_TYPENR; /* wrap around */ + } + } + + /* set values for a defined sign. */ +--- 6698,6714 ---- + } + } + +! sp->sn_typenr = -last_sign_typenr; +! if (--last_sign_typenr == 0) + last_sign_typenr = MAX_TYPENR; /* wrap around */ + } ++ ++ /* add the new sign to the list of signs */ ++ if (sp_prev == NULL) ++ first_sign = sp; ++ else ++ sp_prev->sn_next = sp; ++ sp->sn_name = vim_strnsave(arg, (int)(p - arg)); + } + + /* set values for a defined sign. */ +*** ../vim-7.3.023/src/version.c 2010-10-13 16:22:05.000000000 +0200 +--- src/version.c 2010-10-13 16:42:14.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 24, + /**/ + +-- + In war we're tough and able. + Quite indefatigable + Between our quests + We sequin vests + And impersonate Clark Gable + It's a busy life in Camelot. + I have to push the pram a lot. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.025.patch0 b/pkgs/core/vim/patches/vim-7.3.025.patch0 new file mode 100644 index 0000000..0fb3bee --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.025.patch0 @@ -0,0 +1,136 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.025 +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.3.025 +Problem: ":mksession" does not square brackets escape file name properly. +Solution: Improve escapging of file names. (partly by Peter Odding) +Files: src/ex_docmd.c + + +*** ../vim-7.3.024/src/ex_docmd.c 2010-09-21 16:56:29.000000000 +0200 +--- src/ex_docmd.c 2010-10-13 17:39:17.000000000 +0200 +*************** +*** 10708,10714 **** + * Write a file name to the session file. + * Takes care of the "slash" option in 'sessionoptions' and escapes special + * characters. +! * Returns FAIL if writing fails. + */ + static int + ses_put_fname(fd, name, flagp) +--- 10708,10714 ---- + * Write a file name to the session file. + * Takes care of the "slash" option in 'sessionoptions' and escapes special + * characters. +! * Returns FAIL if writing fails or out of memory. + */ + static int + ses_put_fname(fd, name, flagp) +*************** +*** 10717,10765 **** + unsigned *flagp; + { + char_u *sname; + int retval = OK; +- int c; + + sname = home_replace_save(NULL, name); +! if (sname != NULL) +! name = sname; +! while (*name != NUL) +! { +! #ifdef FEAT_MBYTE +! { +! int l; + +! if (has_mbyte && (l = (*mb_ptr2len)(name)) > 1) +! { +! /* copy a multibyte char */ +! while (--l >= 0) +! { +! if (putc(*name, fd) != *name) +! retval = FAIL; +! ++name; +! } +! continue; +! } +! } +! #endif +! c = *name++; +! if (c == '\' && (*flagp & SSOP_SLASH)) +! /* change a backslash to a forward slash */ +! c = '/'; +! else if ((vim_strchr(escape_chars, c) != NULL +! #ifdef BACKSLASH_IN_FILENAME +! && c != '\' +! #endif +! ) || c == '#' || c == '%') +! { +! /* escape a special character with a backslash */ +! if (putc('\', fd) != '\') +! retval = FAIL; +! } +! if (putc(c, fd) != c) +! retval = FAIL; + } + vim_free(sname); + return retval; + } + +--- 10717,10748 ---- + unsigned *flagp; + { + char_u *sname; ++ char_u *p; + int retval = OK; + + sname = home_replace_save(NULL, name); +! if (sname == NULL) +! return FAIL; + +! if (*flagp & SSOP_SLASH) +! { +! /* change all backslashes to forward slashes */ +! for (p = sname; *p != NUL; mb_ptr_adv(p)) +! if (*p == '\') +! *p = '/'; + } ++ ++ /* escapse special characters */ ++ p = vim_strsave_fnameescape(sname, FALSE); + vim_free(sname); ++ if (p == NULL) ++ return FAIL; ++ ++ /* write the result */ ++ if (fputs((char *)p, fd) < 0) ++ retval = FAIL; ++ ++ vim_free(p); + return retval; + } + +*** ../vim-7.3.024/src/version.c 2010-10-13 16:44:17.000000000 +0200 +--- src/version.c 2010-10-13 17:49:15.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 25, + /**/ + +-- +"Time flies like an arrow". So I put an arrow on my desk, now +awaiting one of these time flies showing up. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.026.patch0 b/pkgs/core/vim/patches/vim-7.3.026.patch0 new file mode 100644 index 0000000..b47198c --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.026.patch0 @@ -0,0 +1,61 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.026 +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.3.026 +Problem: CTRL-] in a help file doesn't always work. (Tony Mechelynck) +Solution: Don't escape special characters. (Carlo Teubner) +Files: src/normal.c + + +*** ../vim-7.3.025/src/normal.c 2010-08-15 21:57:28.000000000 +0200 +--- src/normal.c 2010-10-13 18:01:03.000000000 +0200 +*************** +*** 5666,5673 **** + else if (cmdchar == '#') + aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\" : "/?^$\"); + else if (tag_cmd) +! /* Don't escape spaces and Tabs in a tag with a backslash */ +! aux_ptr = (char_u *)"\|"\n["; + else + aux_ptr = (char_u *)"\|"\n*?["; + +--- 5666,5678 ---- + else if (cmdchar == '#') + aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\" : "/?^$\"); + else if (tag_cmd) +! { +! if (curbuf->b_help) +! /* ":help" handles unescaped argument */ +! aux_ptr = (char_u *)""; +! else +! aux_ptr = (char_u *)"\|"\n["; +! } + else + aux_ptr = (char_u *)"\|"\n*?["; + +*** ../vim-7.3.025/src/version.c 2010-10-13 17:50:02.000000000 +0200 +--- src/version.c 2010-10-13 18:04:54.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 26, + /**/ + +-- +MAN: Fetchez la vache! +GUARD: Quoi? +MAN: Fetchez la vache! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.027.patch0 b/pkgs/core/vim/patches/vim-7.3.027.patch0 new file mode 100644 index 0000000..3d2538d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.027.patch0 @@ -0,0 +1,88 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.027 +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.3.027 +Problem: Opening a file on a network share is very slow. +Solution: When fixing file name case append "*" to directory, server and + network share names. (David Anderson, John Beckett) +Files: src/os_win32.c + + +*** ../vim-7.3.026/src/os_win32.c 2010-09-21 17:29:19.000000000 +0200 +--- src/os_win32.c 2010-10-13 20:31:32.000000000 +0200 +*************** +*** 2308,2319 **** +--- 2308,2321 ---- + int len) + { + char szTrueName[_MAX_PATH + 2]; ++ char szTrueNameTemp[_MAX_PATH + 2]; + char *ptrue, *ptruePrev; + char *porig, *porigPrev; + int flen; + WIN32_FIND_DATA fb; + HANDLE hFind; + int c; ++ int slen; + + flen = (int)STRLEN(name); + if (flen == 0 || flen > _MAX_PATH) +*************** +*** 2358,2369 **** + } + *ptrue = NUL; + + /* Skip "", "." and "..". */ + if (ptrue > ptruePrev + && (ptruePrev[0] != '.' + || (ptruePrev[1] != NUL + && (ptruePrev[1] != '.' || ptruePrev[2] != NUL))) +! && (hFind = FindFirstFile(szTrueName, &fb)) + != INVALID_HANDLE_VALUE) + { + c = *porig; +--- 2360,2378 ---- + } + *ptrue = NUL; + ++ /* To avoid a slow failure append "*" when searching a directory, ++ * server or network share. */ ++ STRCPY(szTrueNameTemp, szTrueName); ++ slen = strlen(szTrueNameTemp); ++ if (*porig == psepc && slen + 2 < _MAX_PATH) ++ STRCPY(szTrueNameTemp + slen, "\*"); ++ + /* Skip "", "." and "..". */ + if (ptrue > ptruePrev + && (ptruePrev[0] != '.' + || (ptruePrev[1] != NUL + && (ptruePrev[1] != '.' || ptruePrev[2] != NUL))) +! && (hFind = FindFirstFile(szTrueNameTemp, &fb)) + != INVALID_HANDLE_VALUE) + { + c = *porig; +*** ../vim-7.3.026/src/version.c 2010-10-13 18:06:42.000000000 +0200 +--- src/version.c 2010-10-13 20:37:00.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 27, + /**/ + +-- + A cow comes flying over the battlements, lowing aggressively. The cow + lands on GALAHAD'S PAGE, squashing him completely. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.028.patch0 b/pkgs/core/vim/patches/vim-7.3.028.patch0 new file mode 100644 index 0000000..a4f987c --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.028.patch0 @@ -0,0 +1,179 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.028 +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.3.028 (after 7.3.024) +Problem: Signs don't show up. (Charles Campbell) +Solution: Don't use negative numbers. Also assign a number to signs that + have a name of all digits to avoid using a sign number twice. +Files: src/ex_cmds.c + + +*** ../vim-7.3.027/src/ex_cmds.c 2010-10-13 16:44:17.000000000 +0200 +--- src/ex_cmds.c 2010-10-14 20:59:04.000000000 +0200 +*************** +*** 6569,6575 **** + }; + + static sign_T *first_sign = NULL; +! static int last_sign_typenr = MAX_TYPENR; /* is decremented */ + + static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd)); + static void sign_list_defined __ARGS((sign_T *sp)); +--- 6569,6575 ---- + }; + + static sign_T *first_sign = NULL; +! static int next_sign_typenr = 1; + + static int sign_cmd_idx __ARGS((char_u *begin_cmd, char_u *end_cmd)); + static void sign_list_defined __ARGS((sign_T *sp)); +*************** +*** 6651,6659 **** +--- 6651,6664 ---- + EMSG(_("E156: Missing sign name")); + else + { ++ /* Isolate the sign name. If it's a number skip leading zeroes, ++ * so that "099" and "99" are the same sign. But keep "0". */ + p = skiptowhite(arg); + if (*p != NUL) + *p++ = NUL; ++ while (arg[0] == '0' && arg[1] != NUL) ++ ++arg; ++ + sp_prev = NULL; + for (sp = first_sign; sp != NULL; sp = sp->sn_next) + { +*************** +*** 6666,6706 **** + /* ":sign define {name} ...": define a sign */ + if (sp == NULL) + { + /* Allocate a new sign. */ + sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T)); + if (sp == NULL) + return; + +! /* If the name is a number use that for the typenr, +! * otherwise use a negative number. */ +! if (VIM_ISDIGIT(*arg)) +! sp->sn_typenr = atoi((char *)arg); +! else + { +! sign_T *lp; +! int start = last_sign_typenr; +! +! for (lp = first_sign; lp != NULL; lp = lp->sn_next) + { +! if (lp->sn_typenr == -last_sign_typenr) + { +! --last_sign_typenr; +! if (last_sign_typenr == 0) +! last_sign_typenr = MAX_TYPENR; +! if (last_sign_typenr == start) +! { +! vim_free(sp); +! EMSG(_("E612: Too many signs defined")); +! return; +! } +! lp = first_sign; +! continue; + } + } + +! sp->sn_typenr = -last_sign_typenr; +! if (--last_sign_typenr == 0) +! last_sign_typenr = MAX_TYPENR; /* wrap around */ + } + + /* add the new sign to the list of signs */ +--- 6671,6715 ---- + /* ":sign define {name} ...": define a sign */ + if (sp == NULL) + { ++ sign_T *lp; ++ int start = next_sign_typenr; ++ + /* Allocate a new sign. */ + sp = (sign_T *)alloc_clear((unsigned)sizeof(sign_T)); + if (sp == NULL) + return; + +! /* Check that next_sign_typenr is not already being used. +! * This only happens after wrapping around. Hopefully +! * another one got deleted and we can use its number. */ +! for (lp = first_sign; lp != NULL; ) + { +! if (lp->sn_typenr == next_sign_typenr) + { +! ++next_sign_typenr; +! if (next_sign_typenr == MAX_TYPENR) +! next_sign_typenr = 1; +! if (next_sign_typenr == start) + { +! vim_free(sp); +! EMSG(_("E612: Too many signs defined")); +! return; + } ++ lp = first_sign; /* start all over */ ++ continue; + } ++ lp = lp->sn_next; ++ } ++ ++ sp->sn_typenr = next_sign_typenr; ++ if (++next_sign_typenr == MAX_TYPENR) ++ next_sign_typenr = 1; /* wrap around */ + +! sp->sn_name = vim_strsave(arg); +! if (sp->sn_name == NULL) /* out of memory */ +! { +! vim_free(sp); +! return; + } + + /* add the new sign to the list of signs */ +*************** +*** 6708,6714 **** + first_sign = sp; + else + sp_prev->sn_next = sp; +- sp->sn_name = vim_strnsave(arg, (int)(p - arg)); + } + + /* set values for a defined sign. */ +--- 6717,6722 ---- +*************** +*** 6886,6891 **** +--- 6894,6901 ---- + arg = skiptowhite(arg); + if (*arg != NUL) + *arg++ = NUL; ++ while (sign_name[0] == '0' && sign_name[1] != NUL) ++ ++sign_name; + } + else if (STRNCMP(arg, "file=", 5) == 0) + { +*** ../vim-7.3.027/src/version.c 2010-10-13 20:37:37.000000000 +0200 +--- src/version.c 2010-10-14 20:50:54.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 28, + /**/ + +-- +This is an airconditioned room, do not open Windows. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.029.patch0 b/pkgs/core/vim/patches/vim-7.3.029.patch0 new file mode 100644 index 0000000..702c7cc --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.029.patch0 @@ -0,0 +1,177 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.029 +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.3.029 +Problem: ":sort n" sorts lines without a number as number zero. (Beeyawned) +Solution: Make lines without a number sort before lines with a number. Also + fix sorting negative numbers. +Files: src/ex_cmds.c, src/testdir/test57.in, src/testdir/test57.ok + + +*** ../vim-7.3.028/src/ex_cmds.c 2010-10-14 21:29:31.000000000 +0200 +--- src/ex_cmds.c 2010-10-15 20:04:25.000000000 +0200 +*************** +*** 323,329 **** + /* When sorting numbers "start_col_nr" is the number, not the column + * number. */ + if (sort_nr) +! result = l1.start_col_nr - l2.start_col_nr; + else + { + /* We need to copy one line into "sortbuf1", because there is no +--- 323,330 ---- + /* When sorting numbers "start_col_nr" is the number, not the column + * number. */ + if (sort_nr) +! result = l1.start_col_nr == l2.start_col_nr ? 0 +! : l1.start_col_nr > l2.start_col_nr ? 1 : -1; + else + { + /* We need to copy one line into "sortbuf1", because there is no +*************** +*** 482,488 **** + * of the match, by temporarily terminating the string there */ + s2 = s + end_col; + c = *s2; +! (*s2) = 0; + /* Sorting on number: Store the number itself. */ + p = s + start_col; + if (sort_hex) +--- 483,489 ---- + * of the match, by temporarily terminating the string there */ + s2 = s + end_col; + c = *s2; +! *s2 = NUL; + /* Sorting on number: Store the number itself. */ + p = s + start_col; + if (sort_hex) +*************** +*** 491,499 **** + s = skiptodigit(p); + if (s > p && s[-1] == '-') + --s; /* include preceding negative sign */ +! vim_str2nr(s, NULL, NULL, sort_oct, sort_hex, +! &nrs[lnum - eap->line1].start_col_nr, NULL); +! (*s2) = c; + } + else + { +--- 492,504 ---- + s = skiptodigit(p); + if (s > p && s[-1] == '-') + --s; /* include preceding negative sign */ +! if (*s == NUL) +! /* empty line should sort before any number */ +! nrs[lnum - eap->line1].start_col_nr = -MAXLNUM; +! else +! vim_str2nr(s, NULL, NULL, sort_oct, sort_hex, +! &nrs[lnum - eap->line1].start_col_nr, NULL); +! *s2 = c; + } + else + { +*************** +*** 6556,6563 **** + struct sign + { + sign_T *sn_next; /* next sign in list */ +! int sn_typenr; /* type number of sign (negative if not equal +! to name) */ + char_u *sn_name; /* name of sign */ + char_u *sn_icon; /* name of pixmap */ + #ifdef FEAT_SIGN_ICONS +--- 6561,6567 ---- + struct sign + { + sign_T *sn_next; /* next sign in list */ +! int sn_typenr; /* type number of sign */ + char_u *sn_name; /* name of sign */ + char_u *sn_icon; /* name of pixmap */ + #ifdef FEAT_SIGN_ICONS +*** ../vim-7.3.028/src/testdir/test57.in 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test57.in 2010-10-15 20:12:23.000000000 +0200 +*************** +*** 53,67 **** + t02: numeric + abc + ab +- a + a321 + a123 + a122 + b321 + b123 + c123d + 123b + c321d + b322b + b321 + b321b +--- 53,71 ---- + t02: numeric + abc + ab + a321 + a123 + a122 ++ a ++ x-22 + b321 + b123 ++ + c123d ++ -24 + 123b + c321d ++ 0 + b322b + b321 + b321b +*** ../vim-7.3.028/src/testdir/test57.ok 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test57.ok 2010-10-15 20:11:42.000000000 +0200 +*************** +*** 21,26 **** +--- 21,30 ---- + a + + ++ ++ -24 ++ x-22 ++ 0 + a122 + a123 + b123 +*** ../vim-7.3.028/src/version.c 2010-10-14 21:29:31.000000000 +0200 +--- src/version.c 2010-10-15 20:13:52.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 29, + /**/ + +-- + When danger reared its ugly head, + He bravely turned his tail and fled + Yes, Brave Sir Robin turned about + And gallantly he chickened out + Bravely taking to his feet + He beat a very brave retreat + Bravest of the brave Sir Robin + Petrified of being dead + Soiled his pants then brave Sir Robin + Turned away and fled. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.030.patch0 b/pkgs/core/vim/patches/vim-7.3.030.patch0 new file mode 100644 index 0000000..8d6a5f1 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.030.patch0 @@ -0,0 +1,366 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.030 +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.3.030 +Problem: Cannot store Dict and List in viminfo file. +Solution: Add support for this. (Christian Brabandt) +Files: runtime/doc/options.txt, src/eval.c, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/main.aap, src/testdir/test74.in, + src/testdir/test74.ok + + +*** ../vim-7.3.029/runtime/doc/options.txt 2010-08-15 21:57:17.000000000 +0200 +--- runtime/doc/options.txt 2010-10-20 17:41:18.000000000 +0200 +*************** +*** 7530,7537 **** + ! When included, save and restore global variables that start + with an uppercase letter, and don't contain a lowercase + letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis" +! and "_K_L_M" are not. Only String and Number types are +! stored. + " Maximum number of lines saved for each register. Old name of + the '<' item, with the disadvantage that you need to put a + backslash before the ", otherwise it will be recognized as the +--- 7530,7538 ---- + ! When included, save and restore global variables that start + with an uppercase letter, and don't contain a lowercase + letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis" +! and "_K_L_M" are not. Nested List and Dict items may not be +! read back correctly, you end up with a string representation +! instead. + " Maximum number of lines saved for each register. Old name of + the '<' item, with the disadvantage that you need to put a + backslash before the ", otherwise it will be recognized as the +*** ../vim-7.3.029/src/eval.c 2010-09-14 12:47:30.000000000 +0200 +--- src/eval.c 2010-10-20 16:25:54.000000000 +0200 +*************** +*** 22520,22537 **** + if (tab != NULL) + { + *tab++ = '\0'; /* isolate the variable name */ +! if (*tab == 'S') /* string var */ +! type = VAR_STRING; + #ifdef FEAT_FLOAT +! else if (*tab == 'F') +! type = VAR_FLOAT; + #endif + + tab = vim_strchr(tab, '\t'); + if (tab != NULL) + { + tv.v_type = type; +! if (type == VAR_STRING) + tv.vval.v_string = viminfo_readstring(virp, + (int)(tab - virp->vir_line + 1), TRUE); + #ifdef FEAT_FLOAT +--- 22520,22540 ---- + if (tab != NULL) + { + *tab++ = '\0'; /* isolate the variable name */ +! switch (*tab) +! { +! case 'S': type = VAR_STRING; break; + #ifdef FEAT_FLOAT +! case 'F': type = VAR_FLOAT; break; + #endif ++ case 'D': type = VAR_DICT; break; ++ case 'L': type = VAR_LIST; break; ++ } + + tab = vim_strchr(tab, '\t'); + if (tab != NULL) + { + tv.v_type = type; +! if (type == VAR_STRING || type == VAR_DICT || type == VAR_LIST) + tv.vval.v_string = viminfo_readstring(virp, + (int)(tab - virp->vir_line + 1), TRUE); + #ifdef FEAT_FLOAT +*************** +*** 22540,22548 **** + #endif + else + tv.vval.v_number = atol((char *)tab + 1); + set_var(virp->vir_line + 1, &tv, FALSE); +! if (type == VAR_STRING) + vim_free(tv.vval.v_string); + } + } + } +--- 22543,22569 ---- + #endif + else + tv.vval.v_number = atol((char *)tab + 1); ++ if (type == VAR_DICT || type == VAR_LIST) ++ { ++ typval_T *etv = eval_expr(tv.vval.v_string, NULL); ++ ++ if (etv == NULL) ++ /* Failed to parse back the dict or list, use it as a ++ * string. */ ++ tv.v_type = VAR_STRING; ++ else ++ { ++ vim_free(tv.vval.v_string); ++ tv = *etv; ++ } ++ } ++ + set_var(virp->vir_line + 1, &tv, FALSE); +! +! if (tv.v_type == VAR_STRING) + vim_free(tv.vval.v_string); ++ else if (tv.v_type == VAR_DICT || tv.v_type == VAR_LIST) ++ clear_tv(&tv); + } + } + } +*************** +*** 22584,22591 **** + case VAR_STRING: s = "STR"; break; + case VAR_NUMBER: s = "NUM"; break; + #ifdef FEAT_FLOAT +! case VAR_FLOAT: s = "FLO"; break; + #endif + default: continue; + } + fprintf(fp, "!%s\t%s\t", this_var->di_key, s); +--- 22605,22614 ---- + case VAR_STRING: s = "STR"; break; + case VAR_NUMBER: s = "NUM"; break; + #ifdef FEAT_FLOAT +! case VAR_FLOAT: s = "FLO"; break; + #endif ++ case VAR_DICT: s = "DIC"; break; ++ case VAR_LIST: s = "LIS"; break; + default: continue; + } + fprintf(fp, "!%s\t%s\t", this_var->di_key, s); +*** ../vim-7.3.029/src/testdir/Make_amiga.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_amiga.mak 2010-10-20 16:27:19.000000000 +0200 +*************** +*** 27,33 **** + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out + + .SUFFIXES: .in .out + +--- 27,33 ---- + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out + + .SUFFIXES: .in .out + +*************** +*** 120,122 **** +--- 120,123 ---- + test71.out: test71.in + test72.out: test72.in + test73.out: test73.in ++ test74.out: test74.in +*** ../vim-7.3.029/src/testdir/Make_dos.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_dos.mak 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 27,33 **** + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ +! test68.out test69.out test71.out test72.out test73.out + + SCRIPTS32 = test50.out test70.out + +--- 27,34 ---- + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ +! test68.out test69.out test71.out test72.out test73.out \ +! test74.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.029/src/testdir/Make_ming.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_ming.mak 2010-10-20 16:26:54.000000000 +0200 +*************** +*** 47,53 **** + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ +! test68.out test69.out test71.out test72.out test72.out + + SCRIPTS32 = test50.out test70.out + +--- 47,54 ---- + test30.out test31.out test32.out test33.out test34.out \ + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ +! test68.out test69.out test71.out test72.out test73.out \ +! test74.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.029/src/testdir/Make_os2.mak 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_os2.mak 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 27,33 **** + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out + + .SUFFIXES: .in .out + +--- 27,33 ---- + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out + + .SUFFIXES: .in .out + +*** ../vim-7.3.029/src/testdir/Make_vms.mms 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/Make_vms.mms 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 74,80 **** + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 74,80 ---- + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out test74.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.3.029/src/testdir/Makefile 2010-09-14 12:47:30.000000000 +0200 +--- src/testdir/Makefile 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 10,15 **** +--- 10,16 ---- + # This will make testing about 10 times as slow. + # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$* + ++ + SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ + test7.out test8.out test9.out test10.out test11.out \ + test12.out test13.out test14.out test15.out test17.out \ +*************** +*** 23,29 **** + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ +! test69.out test70.out test71.out test72.out test73.out + + SCRIPTS_GUI = test16.out + +--- 24,31 ---- + test54.out test55.out test56.out test57.out test58.out \ + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ +! test69.out test70.out test71.out test72.out test73.out \ +! test74.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.3.029/src/testdir/main.aap 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/main.aap 2010-10-20 16:13:35.000000000 +0200 +*************** +*** 13,19 **** + test33.out test34.out test35.out test36.out test37.out + test38.out test39.out test40.out test41.out test42.out + test43.out test44.out test45.out test46.out test47.out +! test48.out test49.out + + ScriptsGUI = test16.out + +--- 13,19 ---- + test33.out test34.out test35.out test36.out test37.out + test38.out test39.out test40.out test41.out test42.out + test43.out test44.out test45.out test46.out test47.out +! test48.out test49.out test74.out + + ScriptsGUI = test16.out + +*** ../vim-7.3.029/src/testdir/test74.in 2010-10-20 17:41:30.000000000 +0200 +--- src/testdir/test74.in 2010-10-20 17:37:52.000000000 +0200 +*************** +*** 0 **** +--- 1,36 ---- ++ " Tests for storing global variables in the .viminfo file vim: set ft=vim: ++ ++ STARTTEST ++ :so small.vim ++ :" Do all test in a separate window to avoid E211 when we recursively ++ :" delete the Xfind directory during cleanup ++ :" ++ :" This will cause a few errors, do it silently. ++ :set visualbell ++ :set nocp viminfo+=!,nviminfo ++ :let MY_GLOBAL_DICT={'foo': 1, 'bar': 0, 'longvarible': 1000} ++ :" store a really long list, so line wrapping will occur in viminfo file ++ :let MY_GLOBAL_LIST=range(1,100) ++ :wv! Xviminfo ++ :unlet MY_GLOBAL_DICT ++ :unlet MY_GLOBAL_LIST ++ :rv! Xviminfo ++ :call delete('Xviminfo') ++ :if exists("MY_GLOBAL_DICT") ++ :redir >> test.out ++ :echo MY_GLOBAL_DICT ++ :redir end ++ :endif ++ :if exists("MY_GLOBAL_LIST") ++ :redir >> test.out ++ :echo MY_GLOBAL_LIST ++ :redir end ++ :endif ++ :redir >> test.out ++ :echo "foobar" ++ :redir end ++ :endif ++ :qa! ++ ENDTEST ++ ++ eof +*** ../vim-7.3.029/src/testdir/test74.ok 2010-10-20 17:41:30.000000000 +0200 +--- src/testdir/test74.ok 2010-10-20 17:36:57.000000000 +0200 +*************** +*** 0 **** +--- 1,5 ---- ++ ++ {'foo': 1, 'longvarible': 1000, 'bar': 0} ++ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100] ++ ++ foobar +*** ../vim-7.3.029/src/version.c 2010-10-15 20:20:00.000000000 +0200 +--- src/version.c 2010-10-20 17:23:54.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 30, + /**/ + +-- +Not too long ago, cut and paste was done with scissors and glue... + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.031.patch0 b/pkgs/core/vim/patches/vim-7.3.031.patch0 new file mode 100644 index 0000000..abe9946 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.031.patch0 @@ -0,0 +1,121 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.031 +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.3.031 +Problem: Can't pass the X window ID to another application. +Solution: Add v:windowid. (Christian J. Robinson, Lech Lorens) +Files: runtime/doc/eval.txt, src/eval.c, src/gui.c, src/vim.h, + src/os_unix.c + + +*** ../vim-7.3.030/runtime/doc/eval.txt 2010-08-15 21:57:15.000000000 +0200 +--- runtime/doc/eval.txt 2010-10-20 19:11:03.000000000 +0200 +*************** +*** 1657,1662 **** +--- 1657,1667 ---- + *v:warningmsg* *warningmsg-variable* + v:warningmsg Last given warning message. It's allowed to set this variable. + ++ *v:windowid* *windowid-variable* ++ v:windowid When any X11 based GUI is running or when running in a ++ terminal and Vim connects to the X server (|-X|) this will be ++ set to the window ID. Otherwise the value is zero. ++ + ============================================================================== + 4. Builtin Functions *functions* + +*** ../vim-7.3.030/src/eval.c 2010-10-20 17:44:01.000000000 +0200 +--- src/eval.c 2010-10-20 18:48:40.000000000 +0200 +*************** +*** 362,367 **** +--- 362,368 ---- + {VV_NAME("operator", VAR_STRING), VV_RO}, + {VV_NAME("searchforward", VAR_NUMBER), 0}, + {VV_NAME("oldfiles", VAR_LIST), 0}, ++ {VV_NAME("windowid", VAR_NUMBER), VV_RO}, + }; + + /* shorthand */ +*** ../vim-7.3.030/src/gui.c 2010-09-29 17:26:57.000000000 +0200 +--- src/gui.c 2010-10-20 19:15:56.000000000 +0200 +*************** +*** 105,112 **** +--- 105,122 ---- + + #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) + if (gui.in_use) ++ { ++ # ifdef FEAT_EVAL ++ Window x11_window; ++ Display *x11_display; ++ ++ if (gui_get_x11_windis(&x11_window, &x11_display) == OK) ++ set_vim_var_nr(VV_WINDOWID, (long)x11_window); ++ # endif ++ + /* Display error messages in a dialog now. */ + display_errors(); ++ } + #endif + + #if defined(MAY_FORK) && !defined(__QNXNTO__) +*** ../vim-7.3.030/src/vim.h 2010-10-10 17:08:28.000000000 +0200 +--- src/vim.h 2010-10-20 18:48:40.000000000 +0200 +*************** +*** 1842,1848 **** + #define VV_OP 52 + #define VV_SEARCHFORWARD 53 + #define VV_OLDFILES 54 +! #define VV_LEN 55 /* number of v: vars */ + + #ifdef FEAT_CLIPBOARD + +--- 1842,1849 ---- + #define VV_OP 52 + #define VV_SEARCHFORWARD 53 + #define VV_OLDFILES 54 +! #define VV_WINDOWID 55 +! #define VV_LEN 56 /* number of v: vars */ + + #ifdef FEAT_CLIPBOARD + +*** ../vim-7.3.030/src/os_unix.c 2010-10-13 16:22:05.000000000 +0200 +--- src/os_unix.c 2010-10-20 19:15:46.000000000 +0200 +*************** +*** 1738,1743 **** +--- 1738,1748 ---- + } + if (x11_window == 0 || x11_display == NULL) + return (result = FAIL); ++ ++ # ifdef FEAT_EVAL ++ set_vim_var_nr(VV_WINDOWID, (long)x11_window); ++ # endif ++ + return (result = OK); + } + +*** ../vim-7.3.030/src/version.c 2010-10-20 17:44:01.000000000 +0200 +--- src/version.c 2010-10-20 19:11:31.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 31, + /**/ + +-- +What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics' +meaning 'bloodsucking creatures'. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.032.patch0 b/pkgs/core/vim/patches/vim-7.3.032.patch0 new file mode 100644 index 0000000..7464798 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.032.patch0 @@ -0,0 +1,704 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.032 +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.3.032 +Problem: maparg() doesn't return the flags, such as <buffer>, <script>, + <silent>. These are needed to save and restore a mapping. +Solution: Improve maparg(). (also by Christian Brabandt) +Files: runtime/doc/eval.txt, src/eval.c, src/getchar.c, src/gui_w48.c, src/message.c, src/proto/getchar.pro, src/proto/message.pro, src/structs.h src/testdir/test75.in, src/testdir/test75.ok + + +*** ../vim-7.3.031/runtime/doc/eval.txt 2010-10-20 19:17:43.000000000 +0200 +--- runtime/doc/eval.txt 2010-10-20 19:44:41.000000000 +0200 +*************** +*** 1827,1833 **** + log( {expr}) Float natural logarithm (base e) of {expr} + log10( {expr}) Float logarithm of Float {expr} to base 10 + map( {expr}, {string}) List/Dict change each item in {expr} to {expr} +! maparg( {name}[, {mode} [, {abbr}]]) + String rhs of mapping {name} in mode {mode} + mapcheck( {name}[, {mode} [, {abbr}]]) + String check for mappings matching {name} +--- 1827,1833 ---- + log( {expr}) Float natural logarithm (base e) of {expr} + log10( {expr}) Float logarithm of Float {expr} to base 10 + map( {expr}, {string}) List/Dict change each item in {expr} to {expr} +! maparg( {name}[, {mode} [, {abbr} [, {dict}]]]) + String rhs of mapping {name} in mode {mode} + mapcheck( {name}[, {mode} [, {abbr}]]) + String check for mappings matching {name} +*************** +*** 3971,3993 **** + further items in {expr} are processed. + + +! maparg({name}[, {mode} [, {abbr}]]) *maparg()* +! Return the rhs of mapping {name} in mode {mode}. When there +! is no mapping for {name}, an empty String is returned. + {mode} can be one of these strings: + "n" Normal +! "v" Visual + "o" Operator-pending + "i" Insert + "c" Cmd-line + "l" langmap |language-mapping| + "" Normal, Visual and Operator-pending + When {mode} is omitted, the modes for "" are used. + When {abbr} is there and it is non-zero use abbreviations + instead of mappings. +! The {name} can have special key names, like in the ":map" +! command. The returned String has special characters +! translated like in the output of the ":map" command listing. + The mappings local to the current buffer are checked first, + then the global mappings. + This function can be used to map a key even when it's already +--- 3972,4022 ---- + further items in {expr} are processed. + + +! maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()* +! When {dict} is omitted or zero: Return the rhs of mapping +! {name} in mode {mode}. The returned String has special +! characters translated like in the output of the ":map" command +! listing. +! +! When there is no mapping for {name}, an empty String is +! returned. +! +! The {name} can have special key names, like in the ":map" +! command. +! + {mode} can be one of these strings: + "n" Normal +! "v" Visual (including Select) + "o" Operator-pending + "i" Insert + "c" Cmd-line ++ "s" Select ++ "x" Visual + "l" langmap |language-mapping| + "" Normal, Visual and Operator-pending + When {mode} is omitted, the modes for "" are used. ++ + When {abbr} is there and it is non-zero use abbreviations + instead of mappings. +! +! When {dict} is there and it is non-zero return a dictionary +! containing all the information of the mapping with the +! following items: +! "lhs" The {lhs} of the mapping. +! "rhs" The {rhs} of the mapping as typed. +! "silent" 1 for a |:map-silent| mapping, else 0. +! "noremap" 1 if the {rhs} of the mapping is remappable. +! "expr" 1 for an expression mapping (|:map-<expr>|). +! "buffer" 1 for a buffer local mapping (|:map-local|). +! "mode" Modes for which the mapping is defined. In +! addition to the modes mentioned above, these +! characters will be used: +! " " Normal, Visual and Operator-pending +! "!" Insert and Commandline mode +! (|mapmpde-ic|) +! "sid" the Script local ID, used for <sid> mappings +! (|<SID>|) +! + The mappings local to the current buffer are checked first, + then the global mappings. + This function can be used to map a key even when it's already +*** ../vim-7.3.031/src/eval.c 2010-10-20 19:17:43.000000000 +0200 +--- src/eval.c 2010-10-20 21:15:55.000000000 +0200 +*************** +*** 7804,7810 **** + {"log10", 1, 1, f_log10}, + #endif + {"map", 2, 2, f_map}, +! {"maparg", 1, 3, f_maparg}, + {"mapcheck", 1, 3, f_mapcheck}, + {"match", 2, 4, f_match}, + {"matchadd", 2, 4, f_matchadd}, +--- 7804,7810 ---- + {"log10", 1, 1, f_log10}, + #endif + {"map", 2, 2, f_map}, +! {"maparg", 1, 4, f_maparg}, + {"mapcheck", 1, 3, f_mapcheck}, + {"match", 2, 4, f_match}, + {"matchadd", 2, 4, f_matchadd}, +*************** +*** 13292,13299 **** + char_u *keys_buf = NULL; + char_u *rhs; + int mode; +- garray_T ga; + int abbr = FALSE; + + /* return empty string for failure */ + rettv->v_type = VAR_STRING; +--- 13292,13301 ---- + char_u *keys_buf = NULL; + char_u *rhs; + int mode; + int abbr = FALSE; ++ int get_dict = FALSE; ++ mapblock_T *mp; ++ int buffer_local; + + /* return empty string for failure */ + rettv->v_type = VAR_STRING; +*************** +*** 13307,13313 **** +--- 13309,13319 ---- + { + which = get_tv_string_buf_chk(&argvars[1], buf); + if (argvars[2].v_type != VAR_UNKNOWN) ++ { + abbr = get_tv_number(&argvars[2]); ++ if (argvars[3].v_type != VAR_UNKNOWN) ++ get_dict = get_tv_number(&argvars[3]); ++ } + } + else + which = (char_u *)""; +*************** +*** 13317,13335 **** + mode = get_map_mode(&which, 0); + + keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, FALSE); +! rhs = check_map(keys, mode, exact, FALSE, abbr); + vim_free(keys_buf); +- if (rhs != NULL) +- { +- ga_init(&ga); +- ga.ga_itemsize = 1; +- ga.ga_growsize = 40; + +! while (*rhs != NUL) +! ga_concat(&ga, str2special(&rhs, FALSE)); + +! ga_append(&ga, NUL); +! rettv->vval.v_string = (char_u *)ga.ga_data; + } + } + +--- 13323,13356 ---- + mode = get_map_mode(&which, 0); + + keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, FALSE); +! rhs = check_map(keys, mode, exact, FALSE, abbr, &mp, &buffer_local); + vim_free(keys_buf); + +! if (!get_dict) +! { +! /* Return a string. */ +! if (rhs != NULL) +! rettv->vval.v_string = str2special_save(rhs, FALSE); +! +! } +! else if (rettv_dict_alloc(rettv) != FAIL && rhs != NULL) +! { +! /* Return a dictionary. */ +! char_u *lhs = str2special_save(mp->m_keys, TRUE); +! char_u *mapmode = map_mode_to_chars(mp->m_mode); +! dict_T *dict = rettv->vval.v_dict; +! +! dict_add_nr_str(dict, "lhs", 0L, lhs); +! dict_add_nr_str(dict, "rhs", 0L, mp->m_orig_str); +! dict_add_nr_str(dict, "noremap", mp->m_noremap ? 1L : 0L , NULL); +! dict_add_nr_str(dict, "expr", mp->m_expr ? 1L : 0L, NULL); +! dict_add_nr_str(dict, "silent", mp->m_silent ? 1L : 0L, NULL); +! dict_add_nr_str(dict, "sid", (long)mp->m_script_ID, NULL); +! dict_add_nr_str(dict, "buffer", (long)buffer_local, NULL); +! dict_add_nr_str(dict, "mode", 0L, mapmode); + +! vim_free(lhs); +! vim_free(mapmode); + } + } + +*** ../vim-7.3.031/src/getchar.c 2010-08-15 21:57:25.000000000 +0200 +--- src/getchar.c 2010-10-20 21:16:24.000000000 +0200 +*************** +*** 3168,3173 **** +--- 3168,3174 ---- + int expr = FALSE; + #endif + int noremap; ++ char_u *orig_rhs; + + keys = arg; + map_table = maphash; +*************** +*** 3266,3271 **** +--- 3267,3273 ---- + } + if (*p != NUL) + *p++ = NUL; ++ + p = skipwhite(p); + rhs = p; + hasarg = (*rhs != NUL); +*************** +*** 3290,3295 **** +--- 3292,3298 ---- + keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special); + if (hasarg) + { ++ orig_rhs = rhs; + if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */ + rhs = (char_u *)""; + else +*************** +*** 3298,3304 **** + + #ifdef FEAT_FKMAP + /* +! * when in right-to-left mode and alternate keymap option set, + * reverse the character flow in the rhs in Farsi. + */ + if (p_altkeymap && curwin->w_p_rl) +--- 3301,3307 ---- + + #ifdef FEAT_FKMAP + /* +! * When in right-to-left mode and alternate keymap option set, + * reverse the character flow in the rhs in Farsi. + */ + if (p_altkeymap && curwin->w_p_rl) +*************** +*** 3556,3561 **** +--- 3559,3566 ---- + } + vim_free(mp->m_str); + mp->m_str = newstr; ++ vim_free(mp->m_orig_str); ++ mp->m_orig_str = vim_strsave(orig_rhs); + mp->m_noremap = noremap; + mp->m_silent = silent; + mp->m_mode = mode; +*************** +*** 3633,3642 **** +--- 3638,3649 ---- + + mp->m_keys = vim_strsave(keys); + mp->m_str = vim_strsave(rhs); ++ mp->m_orig_str = vim_strsave(orig_rhs); + if (mp->m_keys == NULL || mp->m_str == NULL) + { + vim_free(mp->m_keys); + vim_free(mp->m_str); ++ vim_free(mp->m_orig_str); + vim_free(mp); + retval = 4; /* no mem */ + goto theend; +*************** +*** 3682,3687 **** +--- 3689,3695 ---- + mp = *mpp; + vim_free(mp->m_keys); + vim_free(mp->m_str); ++ vim_free(mp->m_orig_str); + *mpp = mp->m_next; + vim_free(mp); + } +*************** +*** 3851,3862 **** + } + } + + static void + showmap(mp, local) + mapblock_T *mp; + int local; /* TRUE for buffer-local map */ + { +! int len = 1; + + if (msg_didout || msg_silent != 0) + { +--- 3859,3915 ---- + } + } + ++ /* ++ * Return characters to represent the map mode in an allocated string. ++ * Returns NULL when out of memory. ++ */ ++ char_u * ++ map_mode_to_chars(mode) ++ int mode; ++ { ++ garray_T mapmode; ++ ++ ga_init2(&mapmode, 1, 7); ++ ++ if ((mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) ++ ga_append(&mapmode, '!'); /* :map! */ ++ else if (mode & INSERT) ++ ga_append(&mapmode, 'i'); /* :imap */ ++ else if (mode & LANGMAP) ++ ga_append(&mapmode, 'l'); /* :lmap */ ++ else if (mode & CMDLINE) ++ ga_append(&mapmode, 'c'); /* :cmap */ ++ else if ((mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING)) ++ == NORMAL + VISUAL + SELECTMODE + OP_PENDING) ++ ga_append(&mapmode, ' '); /* :map */ ++ else ++ { ++ if (mode & NORMAL) ++ ga_append(&mapmode, 'n'); /* :nmap */ ++ if (mode & OP_PENDING) ++ ga_append(&mapmode, 'o'); /* :omap */ ++ if ((mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) ++ ga_append(&mapmode, 'v'); /* :vmap */ ++ else ++ { ++ if (mode & VISUAL) ++ ga_append(&mapmode, 'x'); /* :xmap */ ++ if (mode & SELECTMODE) ++ ga_append(&mapmode, 's'); /* :smap */ ++ } ++ } ++ ++ ga_append(&mapmode, NUL); ++ return (char_u *)mapmode.ga_data; ++ } ++ + static void + showmap(mp, local) + mapblock_T *mp; + int local; /* TRUE for buffer-local map */ + { +! int len = 1; +! char_u *mapchars; + + if (msg_didout || msg_silent != 0) + { +*************** +*** 3864,3912 **** + if (got_int) /* 'q' typed at MORE prompt */ + return; + } +! if ((mp->m_mode & (INSERT + CMDLINE)) == INSERT + CMDLINE) +! msg_putchar('!'); /* :map! */ +! else if (mp->m_mode & INSERT) +! msg_putchar('i'); /* :imap */ +! else if (mp->m_mode & LANGMAP) +! msg_putchar('l'); /* :lmap */ +! else if (mp->m_mode & CMDLINE) +! msg_putchar('c'); /* :cmap */ +! else if ((mp->m_mode & (NORMAL + VISUAL + SELECTMODE + OP_PENDING)) +! == NORMAL + VISUAL + SELECTMODE + OP_PENDING) +! msg_putchar(' '); /* :map */ +! else + { +! len = 0; +! if (mp->m_mode & NORMAL) +! { +! msg_putchar('n'); /* :nmap */ +! ++len; +! } +! if (mp->m_mode & OP_PENDING) +! { +! msg_putchar('o'); /* :omap */ +! ++len; +! } +! if ((mp->m_mode & (VISUAL + SELECTMODE)) == VISUAL + SELECTMODE) +! { +! msg_putchar('v'); /* :vmap */ +! ++len; +! } +! else +! { +! if (mp->m_mode & VISUAL) +! { +! msg_putchar('x'); /* :xmap */ +! ++len; +! } +! if (mp->m_mode & SELECTMODE) +! { +! msg_putchar('s'); /* :smap */ +! ++len; +! } +! } + } + while (++len <= 3) + msg_putchar(' '); + +--- 3917,3931 ---- + if (got_int) /* 'q' typed at MORE prompt */ + return; + } +! +! mapchars = map_mode_to_chars(mp->m_mode); +! if (mapchars != NULL) + { +! msg_puts(mapchars); +! len = STRLEN(mapchars); +! vim_free(mapchars); + } ++ + while (++len <= 3) + msg_putchar(' '); + +*************** +*** 3931,3938 **** + msg_putchar(' '); + + /* Use FALSE below if we only want things like <Up> to show up as such on +! * the rhs, and not M-x etc, TRUE gets both -- webb +! */ + if (*mp->m_str == NUL) + msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8)); + else +--- 3950,3956 ---- + msg_putchar(' '); + + /* Use FALSE below if we only want things like <Up> to show up as such on +! * the rhs, and not M-x etc, TRUE gets both -- webb */ + if (*mp->m_str == NUL) + msg_puts_attr((char_u *)"<Nop>", hl_attr(HLF_8)); + else +*************** +*** 4995,5013 **** + sourcing_name = save_name; + } + +! #ifdef FEAT_EVAL + /* +! * Check the string "keys" against the lhs of all mappings +! * Return pointer to rhs of mapping (mapblock->m_str) +! * NULL otherwise + */ + char_u * +! check_map(keys, mode, exact, ign_mod, abbr) + char_u *keys; + int mode; + int exact; /* require exact match */ + int ign_mod; /* ignore preceding modifier */ + int abbr; /* do abbreviations */ + { + int hash; + int len, minlen; +--- 5013,5033 ---- + sourcing_name = save_name; + } + +! #if defined(FEAT_EVAL) || defined(PROTO) + /* +! * Check the string "keys" against the lhs of all mappings. +! * Return pointer to rhs of mapping (mapblock->m_str). +! * NULL when no mapping found. + */ + char_u * +! check_map(keys, mode, exact, ign_mod, abbr, mp_ptr, local_ptr) + char_u *keys; + int mode; + int exact; /* require exact match */ + int ign_mod; /* ignore preceding modifier */ + int abbr; /* do abbreviations */ ++ mapblock_T **mp_ptr; /* return: pointer to mapblock or NULL */ ++ int *local_ptr; /* return: buffer-local mapping or NULL */ + { + int hash; + int len, minlen; +*************** +*** 5062,5068 **** +--- 5082,5094 ---- + minlen = mp->m_keylen - 3; + } + if (STRNCMP(s, keys, minlen) == 0) ++ { ++ if (mp_ptr != NULL) ++ *mp_ptr = mp; ++ if (local_ptr != NULL) ++ *local_ptr = local; + return mp->m_str; ++ } + } + } + } +*** ../vim-7.3.031/src/gui_w48.c 2010-08-15 21:57:29.000000000 +0200 +--- src/gui_w48.c 2010-10-20 20:29:20.000000000 +0200 +*************** +*** 1810,1816 **** + * mapped we want to use the mapping instead. */ + if (vk == VK_F10 + && gui.menu_is_active +! && check_map(k10, State, FALSE, TRUE, FALSE) == NULL) + break; + #endif + if (GetKeyState(VK_SHIFT) & 0x8000) +--- 1810,1817 ---- + * mapped we want to use the mapping instead. */ + if (vk == VK_F10 + && gui.menu_is_active +! && check_map(k10, State, FALSE, TRUE, FALSE, +! NULL, NULL) == NULL) + break; + #endif + if (GetKeyState(VK_SHIFT) & 0x8000) +*************** +*** 1924,1930 **** + /* Check for <F10>: Default effect is to select the menu. When <F10> is + * mapped we need to stop it here to avoid strange effects (e.g., for the + * key-up event) */ +! if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE) == NULL) + #endif + DispatchMessage(&msg); + } +--- 1925,1932 ---- + /* Check for <F10>: Default effect is to select the menu. When <F10> is + * mapped we need to stop it here to avoid strange effects (e.g., for the + * key-up event) */ +! if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE, FALSE, +! NULL, NULL) == NULL) + #endif + DispatchMessage(&msg); + } +*** ../vim-7.3.031/src/message.c 2010-08-15 21:57:29.000000000 +0200 +--- src/message.c 2010-10-20 20:31:33.000000000 +0200 +*************** +*** 1477,1482 **** +--- 1477,1503 ---- + return retval; + } + ++ #if defined(FEAT_EVAL) || defined(PROTO) ++ /* ++ * Return the lhs or rhs of a mapping, with the key codes turned into printable ++ * strings, in an allocated string. ++ */ ++ char_u * ++ str2special_save(str, is_lhs) ++ char_u *str; ++ int is_lhs; /* TRUE for lhs, FALSE for rhs */ ++ { ++ garray_T ga; ++ char_u *p = str; ++ ++ ga_init2(&ga, 1, 40); ++ while (*p != NUL) ++ ga_concat(&ga, str2special(&p, is_lhs)); ++ ga_append(&ga, NUL); ++ return (char_u *)ga.ga_data; ++ } ++ #endif ++ + /* + * Return the printable string for the key codes at "*sp". + * Used for translating the lhs or rhs of a mapping to printable chars. +*** ../vim-7.3.031/src/proto/getchar.pro 2010-08-15 21:57:28.000000000 +0200 +--- src/proto/getchar.pro 2010-10-20 21:06:01.000000000 +0200 +*************** +*** 51,56 **** +--- 51,57 ---- + int get_map_mode __ARGS((char_u **cmdp, int forceit)); + void map_clear __ARGS((char_u *cmdp, char_u *arg, int forceit, int abbr)); + void map_clear_int __ARGS((buf_T *buf, int mode, int local, int abbr)); ++ char_u *map_mode_to_chars __ARGS((int mode)); + int map_to_exists __ARGS((char_u *str, char_u *modechars, int abbr)); + int map_to_exists_mode __ARGS((char_u *rhs, int mode, int abbr)); + char_u *set_context_in_map_cmd __ARGS((expand_T *xp, char_u *cmd, char_u *arg, int forceit, int isabbrev, int isunmap, cmdidx_T cmdidx)); +*************** +*** 61,67 **** + int makemap __ARGS((FILE *fd, buf_T *buf)); + int put_escstr __ARGS((FILE *fd, char_u *strstart, int what)); + void check_map_keycodes __ARGS((void)); +! char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr)); + void init_mappings __ARGS((void)); + void add_map __ARGS((char_u *map, int mode)); + /* vim: set ft=c : */ +--- 62,68 ---- + int makemap __ARGS((FILE *fd, buf_T *buf)); + int put_escstr __ARGS((FILE *fd, char_u *strstart, int what)); + void check_map_keycodes __ARGS((void)); +! char_u *check_map __ARGS((char_u *keys, int mode, int exact, int ign_mod, int abbr, mapblock_T **mp_ptr, int *local_ptr)); + void init_mappings __ARGS((void)); + void add_map __ARGS((char_u *map, int mode)); + /* vim: set ft=c : */ +*** ../vim-7.3.031/src/proto/message.pro 2010-08-15 21:57:28.000000000 +0200 +--- src/proto/message.pro 2010-10-20 20:31:25.000000000 +0200 +*************** +*** 33,38 **** +--- 33,39 ---- + int msg_outtrans_len_attr __ARGS((char_u *msgstr, int len, int attr)); + void msg_make __ARGS((char_u *arg)); + int msg_outtrans_special __ARGS((char_u *strstart, int from)); ++ char_u *str2special_save __ARGS((char_u *str, int is_lhs)); + char_u *str2special __ARGS((char_u **sp, int from)); + void str2specialbuf __ARGS((char_u *sp, char_u *buf, int len)); + void msg_prt_line __ARGS((char_u *s, int list)); +*** ../vim-7.3.031/src/structs.h 2010-08-15 21:57:28.000000000 +0200 +--- src/structs.h 2010-10-20 20:23:38.000000000 +0200 +*************** +*** 979,987 **** + struct mapblock + { + mapblock_T *m_next; /* next mapblock in list */ +! char_u *m_keys; /* mapped from */ + int m_keylen; /* strlen(m_keys) */ +! char_u *m_str; /* mapped to */ + int m_mode; /* valid mode */ + int m_noremap; /* if non-zero no re-mapping for m_str */ + char m_silent; /* <silent> used, don't echo commands */ +--- 979,988 ---- + struct mapblock + { + mapblock_T *m_next; /* next mapblock in list */ +! char_u *m_keys; /* mapped from, lhs */ + int m_keylen; /* strlen(m_keys) */ +! char_u *m_str; /* mapped to, rhs */ +! char_u *m_orig_str; /* rhs as entered by the user */ + int m_mode; /* valid mode */ + int m_noremap; /* if non-zero no re-mapping for m_str */ + char m_silent; /* <silent> used, don't echo commands */ +*** ../vim-7.3.031/src/testdir/test75.in 2010-10-20 21:13:30.000000000 +0200 +--- src/testdir/test75.in 2010-10-20 20:54:04.000000000 +0200 +*************** +*** 0 **** +--- 1,16 ---- ++ " Tests for functions. ++ ++ STARTTEST ++ :so small.vim ++ :" Test maparg() with a string result ++ :map foo<C-V> is<F4>foo ++ :vnoremap <script> <buffer> <expr> <silent> bar isbar ++ :call append('$', maparg('foo<C-V>')) ++ :call append('$', string(maparg('foo<C-V>', '', 0, 1))) ++ :call append('$', string(maparg('bar', '', 0, 1))) ++ :" ++ :/^eof/+1,$w! test.out ++ :qa! ++ ENDTEST ++ ++ eof +*** ../vim-7.3.031/src/testdir/test75.ok 2010-10-20 21:13:30.000000000 +0200 +--- src/testdir/test75.ok 2010-10-20 20:54:08.000000000 +0200 +*************** +*** 0 **** +--- 1,3 ---- ++ is<F4>foo ++ {'silent': 0, 'noremap': 0, 'lhs': 'foo<C-V>', 'mode': ' ', 'expr': 0, 'sid': 0, 'rhs': 'is<F4>foo', 'buffer': 0} ++ {'silent': 1, 'noremap': 1, 'lhs': 'bar', 'mode': 'v', 'expr': 1, 'sid': 0, 'rhs': 'isbar', 'buffer': 1} +*** ../vim-7.3.031/src/version.c 2010-10-20 19:17:43.000000000 +0200 +--- src/version.c 2010-10-20 21:13:18.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 32, + /**/ + +-- +Not too long ago, compress was something you did to garbage... + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.033.patch0 b/pkgs/core/vim/patches/vim-7.3.033.patch0 new file mode 100644 index 0000000..cffbb45 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.033.patch0 @@ -0,0 +1,49 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.033 +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.3.033 (after 7.3.032) +Problem: Can't build without FEAT_LOCALMAP. +Solution: Add an #ifdef. (John Marriott) +Files: src/getchar.c + + +*** ../vim-7.3.032/src/getchar.c 2010-10-20 21:22:17.000000000 +0200 +--- src/getchar.c 2010-10-22 22:09:40.000000000 +0200 +*************** +*** 5086,5092 **** +--- 5086,5096 ---- + if (mp_ptr != NULL) + *mp_ptr = mp; + if (local_ptr != NULL) ++ #ifdef FEAT_LOCALMAP + *local_ptr = local; ++ #else ++ *local_ptr = 0; ++ #endif + return mp->m_str; + } + } +*** ../vim-7.3.032/src/version.c 2010-10-20 21:22:17.000000000 +0200 +--- src/version.c 2010-10-22 21:18:30.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 33, + /**/ + +-- +Futility Factor: No experiment is ever a complete failure - it can always +serve as a negative example. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.034.patch0 b/pkgs/core/vim/patches/vim-7.3.034.patch0 new file mode 100644 index 0000000..c81890e --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.034.patch0 @@ -0,0 +1,431 @@ +To: vim-dev@vim.org +Subject: Patch 7.3.034 +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.3.034 +Problem: Win32: may be loading .dll from the wrong directory. +Solution: Go to the Vim executable directory when opening a library. +Files: src/gui_w32.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs, + src/if_python.c, src/if_python3.c, src/if_ruby.c, src/mbyte.c, + src/os_mswin.c, src/os_win32.c, src/proto/os_win32.pro + + +*** ../vim-7.3.033/src/gui_w32.c 2010-08-15 21:57:25.000000000 +0200 +--- src/gui_w32.c 2010-10-22 21:49:27.000000000 +0200 +*************** +*** 1260,1266 **** + + /* try and load the user32.dll library and get the entry points for + * multi-monitor-support. */ +! if ((user32_lib = LoadLibrary("User32.dll")) != NULL) + { + pMonitorFromWindow = (TMonitorFromWindow)GetProcAddress(user32_lib, + "MonitorFromWindow"); +--- 1260,1266 ---- + + /* try and load the user32.dll library and get the entry points for + * multi-monitor-support. */ +! if ((user32_lib = vimLoadLib("User32.dll")) != NULL) + { + pMonitorFromWindow = (TMonitorFromWindow)GetProcAddress(user32_lib, + "MonitorFromWindow"); +*************** +*** 4188,4194 **** + static void + dyn_imm_load(void) + { +! hLibImm = LoadLibrary("imm32.dll"); + if (hLibImm == NULL) + return; + +--- 4188,4194 ---- + static void + dyn_imm_load(void) + { +! hLibImm = vimLoadLib("imm32.dll"); + if (hLibImm == NULL) + return; + +*** ../vim-7.3.033/src/if_lua.c 2010-08-15 21:57:28.000000000 +0200 +--- src/if_lua.c 2010-10-22 21:49:39.000000000 +0200 +*************** +*** 49,55 **** + # define symbol_from_dll dlsym + # define close_dll dlclose + #else +! # define load_dll LoadLibrary + # define symbol_from_dll GetProcAddress + # define close_dll FreeLibrary + #endif +--- 49,55 ---- + # define symbol_from_dll dlsym + # define close_dll dlclose + #else +! # define load_dll vimLoadLib + # define symbol_from_dll GetProcAddress + # define close_dll FreeLibrary + #endif +*** ../vim-7.3.033/src/if_mzsch.c 2010-08-15 21:57:32.000000000 +0200 +--- src/if_mzsch.c 2010-10-22 21:49:53.000000000 +0200 +*************** +*** 556,563 **** + + if (hMzGC && hMzSch) + return OK; +! hMzSch = LoadLibrary(sch_dll); +! hMzGC = LoadLibrary(gc_dll); + + if (!hMzSch) + { +--- 556,563 ---- + + if (hMzGC && hMzSch) + return OK; +! hMzSch = vimLoadLib(sch_dll); +! hMzGC = vimLoadLib(gc_dll); + + if (!hMzSch) + { +*** ../vim-7.3.033/src/if_perl.xs 2010-08-15 21:57:30.000000000 +0200 +--- src/if_perl.xs 2010-10-22 21:53:06.000000000 +0200 +*************** +*** 106,112 **** + #define close_dll dlclose + #else + #define PERL_PROC FARPROC +! #define load_dll LoadLibrary + #define symbol_from_dll GetProcAddress + #define close_dll FreeLibrary + #endif +--- 106,112 ---- + #define close_dll dlclose + #else + #define PERL_PROC FARPROC +! #define load_dll vimLoadLib + #define symbol_from_dll GetProcAddress + #define close_dll FreeLibrary + #endif +*** ../vim-7.3.033/src/if_python.c 2010-08-15 21:57:28.000000000 +0200 +--- src/if_python.c 2010-10-22 21:49:57.000000000 +0200 +*************** +*** 110,116 **** + # define close_dll dlclose + # define symbol_from_dll dlsym + # else +! # define load_dll LoadLibrary + # define close_dll FreeLibrary + # define symbol_from_dll GetProcAddress + # endif +--- 110,116 ---- + # define close_dll dlclose + # define symbol_from_dll dlsym + # else +! # define load_dll vimLoadLib + # define close_dll FreeLibrary + # define symbol_from_dll GetProcAddress + # endif +*** ../vim-7.3.033/src/if_python3.c 2010-08-15 21:57:28.000000000 +0200 +--- src/if_python3.c 2010-10-22 21:50:01.000000000 +0200 +*************** +*** 88,94 **** + # define close_dll dlclose + # define symbol_from_dll dlsym + # else +! # define load_dll LoadLibrary + # define close_dll FreeLibrary + # define symbol_from_dll GetProcAddress + # endif +--- 88,94 ---- + # define close_dll dlclose + # define symbol_from_dll dlsym + # else +! # define load_dll vimLoadLib + # define close_dll FreeLibrary + # define symbol_from_dll GetProcAddress + # endif +*** ../vim-7.3.033/src/if_ruby.c 2010-09-29 13:02:48.000000000 +0200 +--- src/if_ruby.c 2010-10-22 21:50:04.000000000 +0200 +*************** +*** 55,61 **** + # define symbol_from_dll dlsym + # define close_dll dlclose + #else +! # define load_dll LoadLibrary + # define symbol_from_dll GetProcAddress + # define close_dll FreeLibrary + #endif +--- 55,61 ---- + # define symbol_from_dll dlsym + # define close_dll dlclose + #else +! # define load_dll vimLoadLib + # define symbol_from_dll GetProcAddress + # define close_dll FreeLibrary + #endif +*** ../vim-7.3.033/src/mbyte.c 2010-09-18 13:36:41.000000000 +0200 +--- src/mbyte.c 2010-10-22 21:50:09.000000000 +0200 +*************** +*** 4159,4169 **** + { + if (hIconvDLL != 0 && hMsvcrtDLL != 0) + return TRUE; +! hIconvDLL = LoadLibrary(DYNAMIC_ICONV_DLL); + if (hIconvDLL == 0) /* sometimes it's called libiconv.dll */ +! hIconvDLL = LoadLibrary(DYNAMIC_ICONV_DLL_ALT); + if (hIconvDLL != 0) +! hMsvcrtDLL = LoadLibrary(DYNAMIC_MSVCRT_DLL); + if (hIconvDLL == 0 || hMsvcrtDLL == 0) + { + /* Only give the message when 'verbose' is set, otherwise it might be +--- 4159,4169 ---- + { + if (hIconvDLL != 0 && hMsvcrtDLL != 0) + return TRUE; +! hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL); + if (hIconvDLL == 0) /* sometimes it's called libiconv.dll */ +! hIconvDLL = vimLoadLib(DYNAMIC_ICONV_DLL_ALT); + if (hIconvDLL != 0) +! hMsvcrtDLL = vimLoadLib(DYNAMIC_MSVCRT_DLL); + if (hIconvDLL == 0 || hMsvcrtDLL == 0) + { + /* Only give the message when 'verbose' is set, otherwise it might be +*** ../vim-7.3.033/src/os_mswin.c 2010-08-15 21:57:29.000000000 +0200 +--- src/os_mswin.c 2010-10-22 22:03:26.000000000 +0200 +*************** +*** 817,823 **** +--- 817,827 ---- + BOOL fRunTimeLinkSuccess = FALSE; + + // Get a handle to the DLL module. ++ # ifdef WIN16 + hinstLib = LoadLibrary(libname); ++ # else ++ hinstLib = vimLoadLib(libname); ++ # endif + + // If the handle is valid, try to get the function address. + if (hinstLib != NULL) +*** ../vim-7.3.033/src/os_win32.c 2010-10-13 20:37:37.000000000 +0200 +--- src/os_win32.c 2010-10-23 13:16:55.000000000 +0200 +*************** +*** 206,247 **** + static int suppress_winsize = 1; /* don't fiddle with console */ + #endif + + static void + get_exe_name(void) + { +! char temp[256]; +! static int did_set_PATH = FALSE; + + if (exe_name == NULL) + { + /* store the name of the executable, may be used for $VIM */ +! GetModuleFileName(NULL, temp, 255); + if (*temp != NUL) + exe_name = FullName_save((char_u *)temp, FALSE); + } + +! if (!did_set_PATH && exe_name != NULL) + { +! char_u *p; +! char_u *newpath; +! +! /* Append our starting directory to $PATH, so that when doing "!xxd" +! * it's found in our starting directory. Needed because SearchPath() +! * also looks there. */ +! p = mch_getenv("PATH"); +! newpath = alloc((unsigned)(STRLEN(p) + STRLEN(exe_name) + 2)); +! if (newpath != NULL) +! { +! STRCPY(newpath, p); +! STRCAT(newpath, ";"); +! vim_strncpy(newpath + STRLEN(newpath), exe_name, +! gettail_sep(exe_name) - exe_name); +! vim_setenv((char_u *)"PATH", newpath); +! vim_free(newpath); + } + +! did_set_PATH = TRUE; + } + } + + #if defined(DYNAMIC_GETTEXT) || defined(PROTO) +--- 206,268 ---- + static int suppress_winsize = 1; /* don't fiddle with console */ + #endif + ++ static char_u *exe_path = NULL; ++ + static void + get_exe_name(void) + { +! char temp[MAXPATHL]; +! char_u *p; + + if (exe_name == NULL) + { + /* store the name of the executable, may be used for $VIM */ +! GetModuleFileName(NULL, temp, MAXPATHL - 1); + if (*temp != NUL) + exe_name = FullName_save((char_u *)temp, FALSE); + } + +! if (exe_path == NULL && exe_name != NULL) + { +! exe_path = vim_strnsave(exe_name, gettail_sep(exe_name) - exe_name); +! if (exe_path != NULL) +! { +! /* Append our starting directory to $PATH, so that when doing +! * "!xxd" it's found in our starting directory. Needed because +! * SearchPath() also looks there. */ +! p = mch_getenv("PATH"); +! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL); +! { +! STRCPY(temp, p); +! STRCAT(temp, ";"); +! STRCAT(temp, exe_path); +! vim_setenv((char_u *)"PATH", temp); +! } + } ++ } ++ } ++ ++ /* ++ * Load library "name". ++ */ ++ HINSTANCE ++ vimLoadLib(char *name) ++ { ++ HINSTANCE dll = NULL; ++ char old_dir[MAXPATHL]; + +! if (exe_path == NULL) +! get_exe_name(); +! if (exe_path != NULL && mch_dirname(old_dir, MAXPATHL) == OK) +! { +! /* Change directory to where the executable is, both to make sure we +! * find a .dll there and to avoid looking for a .dll in the current +! * directory. */ +! mch_chdir(exe_path); +! dll = LoadLibrary(name); +! mch_chdir(old_dir); + } ++ return dll; + } + + #if defined(DYNAMIC_GETTEXT) || defined(PROTO) +*************** +*** 254,260 **** + static char *null_libintl_bindtextdomain(const char *, const char *); + static char *null_libintl_bind_textdomain_codeset(const char *, const char *); + +! static HINSTANCE hLibintlDLL = 0; + char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext; + char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain; + char *(*dyn_libintl_bindtextdomain)(const char *, const char *) +--- 275,281 ---- + static char *null_libintl_bindtextdomain(const char *, const char *); + static char *null_libintl_bind_textdomain_codeset(const char *, const char *); + +! static HINSTANCE hLibintlDLL = NULL; + char *(*dyn_libintl_gettext)(const char *) = null_libintl_gettext; + char *(*dyn_libintl_textdomain)(const char *) = null_libintl_textdomain; + char *(*dyn_libintl_bindtextdomain)(const char *, const char *) +*************** +*** 282,307 **** + if (hLibintlDLL) + return 1; + /* Load gettext library (libintl.dll) */ +! hLibintlDLL = LoadLibrary(libname != NULL ? libname : GETTEXT_DLL); + if (!hLibintlDLL) + { +! char_u dirname[_MAX_PATH]; +! +! /* Try using the path from gvim.exe to find the .dll there. */ +! get_exe_name(); +! STRCPY(dirname, exe_name); +! STRCPY(gettail(dirname), GETTEXT_DLL); +! hLibintlDLL = LoadLibrary((char *)dirname); +! if (!hLibintlDLL) + { +! if (p_verbose > 0) +! { +! verbose_enter(); +! EMSG2(_(e_loadlib), GETTEXT_DLL); +! verbose_leave(); +! } +! return 0; + } + } + for (i = 0; libintl_entry[i].name != NULL + && libintl_entry[i].ptr != NULL; ++i) +--- 303,318 ---- + if (hLibintlDLL) + return 1; + /* Load gettext library (libintl.dll) */ +! hLibintlDLL = vimLoadLib(libname != NULL ? libname : GETTEXT_DLL); + if (!hLibintlDLL) + { +! if (p_verbose > 0) + { +! verbose_enter(); +! EMSG2(_(e_loadlib), GETTEXT_DLL); +! verbose_leave(); + } ++ return 0; + } + for (i = 0; libintl_entry[i].name != NULL + && libintl_entry[i].ptr != NULL; ++i) +*************** +*** 430,436 **** + * Seems like a lot of overhead to load/unload ADVAPI32.DLL each + * time we verify security... + */ +! advapi_lib = LoadLibrary("ADVAPI32.DLL"); + if (advapi_lib != NULL) + { + pSetNamedSecurityInfo = (PSNSECINFO)GetProcAddress(advapi_lib, +--- 441,447 ---- + * Seems like a lot of overhead to load/unload ADVAPI32.DLL each + * time we verify security... + */ +! advapi_lib = vimLoadLib("ADVAPI32.DLL"); + if (advapi_lib != NULL) + { + pSetNamedSecurityInfo = (PSNSECINFO)GetProcAddress(advapi_lib, +*** ../vim-7.3.033/src/proto/os_win32.pro 2010-08-15 21:57:28.000000000 +0200 +--- src/proto/os_win32.pro 2010-10-22 22:05:35.000000000 +0200 +*************** +*** 1,4 **** +--- 1,5 ---- + /* os_win32.c */ ++ HINSTANCE vimLoadLib __ARGS((char *name)); + int dyn_libintl_init __ARGS((char *libname)); + void dyn_libintl_end __ARGS((void)); + void PlatformId __ARGS((void)); +*** ../vim-7.3.033/src/version.c 2010-10-22 22:13:47.000000000 +0200 +--- src/version.c 2010-10-23 13:55:21.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 34, + /**/ + +-- +This is the polymorph virus! Follow these instructions carefully: +1. Send this message to everybody you know. +2. Format your harddisk. +Thank you for your cooperation in spreading the most powerful virus ever! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.035.patch0 b/pkgs/core/vim/patches/vim-7.3.035.patch0 new file mode 100644 index 0000000..00f0cc5 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.035.patch0 @@ -0,0 +1,58 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.035 +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.3.035 (after 7.3.034) +Problem: Stray semicolon after if statement. (Hari G) +Solution: Remove the semicolon. +Files: src/os_win32.c + + +*** ../vim-7.3.034/src/os_win32.c 2010-10-23 14:02:48.000000000 +0200 +--- src/os_win32.c 2010-10-24 14:31:04.000000000 +0200 +*************** +*** 231,237 **** + * "!xxd" it's found in our starting directory. Needed because + * SearchPath() also looks there. */ + p = mch_getenv("PATH"); +! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL); + { + STRCPY(temp, p); + STRCAT(temp, ";"); +--- 231,237 ---- + * "!xxd" it's found in our starting directory. Needed because + * SearchPath() also looks there. */ + p = mch_getenv("PATH"); +! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL) + { + STRCPY(temp, p); + STRCAT(temp, ";"); +*** ../vim-7.3.034/src/version.c 2010-10-23 14:02:48.000000000 +0200 +--- src/version.c 2010-10-24 14:32:04.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 35, + /**/ + +-- + [clop clop] +ARTHUR: Old woman! +DENNIS: Man! +ARTHUR: Man, sorry. What knight lives in that castle over there? +DENNIS: I'm thirty seven. +ARTHUR: What? +DENNIS: I'm thirty seven -- I'm not old! + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.036.patch0 b/pkgs/core/vim/patches/vim-7.3.036.patch0 new file mode 100644 index 0000000..21ab47a --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.036.patch0 @@ -0,0 +1,68 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.036 +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.3.036 +Problem: Win32 GUI: When building without menus, the font for dialogs and + tab page headers also changes. +Solution: Define USE_SYSMENU_FONT always. (Harig G.) +Files: src/gui_w32.c + + +*** ../vim-7.3.035/src/gui_w32.c 2010-10-23 14:02:48.000000000 +0200 +--- src/gui_w32.c 2010-10-25 20:29:15.000000000 +0200 +*************** +*** 289,301 **** + + #ifdef FEAT_MENU + static UINT s_menu_id = 100; + + /* + * Use the system font for dialogs and tear-off menus. Remove this line to + * use DLG_FONT_NAME. + */ +! # define USE_SYSMENU_FONT +! #endif + + #define VIM_NAME "vim" + #define VIM_CLASS "Vim" +--- 289,301 ---- + + #ifdef FEAT_MENU + static UINT s_menu_id = 100; ++ #endif + + /* + * Use the system font for dialogs and tear-off menus. Remove this line to + * use DLG_FONT_NAME. + */ +! #define USE_SYSMENU_FONT + + #define VIM_NAME "vim" + #define VIM_CLASS "Vim" +*** ../vim-7.3.035/src/version.c 2010-10-24 14:33:38.000000000 +0200 +--- src/version.c 2010-10-27 12:14:39.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 36, + /**/ + +-- +ARTHUR: Bloody peasant! +DENNIS: Oh, what a give away. Did you hear that, did you hear that, eh? + That's what I'm on about -- did you see him repressing me, you saw it + didn't you? + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.037.patch0 b/pkgs/core/vim/patches/vim-7.3.037.patch0 new file mode 100644 index 0000000..488934e --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.037.patch0 @@ -0,0 +1,137 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.037 +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.3.037 +Problem: Compiler warnings for loss of data. (Mike Williams) +Solution: Add type casts. +Files: src/if_py_both.h, src/getchar.c, src/os_win32.c + + +*** ../vim-7.3.036/src/if_py_both.h 2010-09-21 16:49:29.000000000 +0200 +--- src/if_py_both.h 2010-10-25 20:37:07.000000000 +0200 +*************** +*** 154,160 **** + { + PyInt len = ptr - str; + +! if (ga_grow(&io_ga, len + 1) == FAIL) + break; + + mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len); +--- 154,160 ---- + { + PyInt len = ptr - str; + +! if (ga_grow(&io_ga, (int)(len + 1)) == FAIL) + break; + + mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len); +*************** +*** 166,175 **** + } + + /* Put the remaining text into io_ga for later printing. */ +! if (n > 0 && ga_grow(&io_ga, n + 1) == OK) + { + mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n); +! io_ga.ga_len += n; + } + } + +--- 166,175 ---- + } + + /* Put the remaining text into io_ga for later printing. */ +! if (n > 0 && ga_grow(&io_ga, (int)(n + 1)) == OK) + { + mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n); +! io_ga.ga_len += (int)n; + } + } + +*** ../vim-7.3.036/src/getchar.c 2010-10-22 22:13:47.000000000 +0200 +--- src/getchar.c 2010-10-25 20:39:31.000000000 +0200 +*************** +*** 3922,3928 **** + if (mapchars != NULL) + { + msg_puts(mapchars); +! len = STRLEN(mapchars); + vim_free(mapchars); + } + +--- 3922,3928 ---- + if (mapchars != NULL) + { + msg_puts(mapchars); +! len = (int)STRLEN(mapchars); + vim_free(mapchars); + } + +*** ../vim-7.3.036/src/os_win32.c 2010-10-24 14:33:38.000000000 +0200 +--- src/os_win32.c 2010-10-25 20:38:49.000000000 +0200 +*************** +*** 224,230 **** + + if (exe_path == NULL && exe_name != NULL) + { +! exe_path = vim_strnsave(exe_name, gettail_sep(exe_name) - exe_name); + if (exe_path != NULL) + { + /* Append our starting directory to $PATH, so that when doing +--- 224,231 ---- + + if (exe_path == NULL && exe_name != NULL) + { +! exe_path = vim_strnsave(exe_name, +! (int)(gettail_sep(exe_name) - exe_name)); + if (exe_path != NULL) + { + /* Append our starting directory to $PATH, so that when doing +*************** +*** 2374,2380 **** + /* To avoid a slow failure append "*" when searching a directory, + * server or network share. */ + STRCPY(szTrueNameTemp, szTrueName); +! slen = strlen(szTrueNameTemp); + if (*porig == psepc && slen + 2 < _MAX_PATH) + STRCPY(szTrueNameTemp + slen, "\*"); + +--- 2375,2381 ---- + /* To avoid a slow failure append "*" when searching a directory, + * server or network share. */ + STRCPY(szTrueNameTemp, szTrueName); +! slen = (int)strlen(szTrueNameTemp); + if (*porig == psepc && slen + 2 < _MAX_PATH) + STRCPY(szTrueNameTemp + slen, "\*"); + +*** ../vim-7.3.036/src/version.c 2010-10-27 12:15:28.000000000 +0200 +--- src/version.c 2010-10-27 12:16:53.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 37, + /**/ + +-- +ARTHUR: You fight with the strength of many men, Sir knight. + I am Arthur, King of the Britons. [pause] + I seek the finest and the bravest knights in the land to join me + in my Court of Camelot. [pause] + You have proved yourself worthy; will you join me? [pause] + You make me sad. So be it. Come, Patsy. +BLACK KNIGHT: None shall pass. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.038.patch0 b/pkgs/core/vim/patches/vim-7.3.038.patch0 new file mode 100644 index 0000000..cea2cf9 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.038.patch0 @@ -0,0 +1,76 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.038 +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.3.038 +Problem: v:windowid isn't set on MS-Windows. +Solution: Set it to the window handle. (Chris Sutcliffe) +Files: runtime/doc/eval.txt, src/gui_w32.c + + +*** ../vim-7.3.037/runtime/doc/eval.txt 2010-10-20 21:22:17.000000000 +0200 +--- runtime/doc/eval.txt 2010-10-27 12:23:37.000000000 +0200 +*************** +*** 1660,1666 **** + *v:windowid* *windowid-variable* + v:windowid When any X11 based GUI is running or when running in a + terminal and Vim connects to the X server (|-X|) this will be +! set to the window ID. Otherwise the value is zero. + + ============================================================================== + 4. Builtin Functions *functions* +--- 1660,1670 ---- + *v:windowid* *windowid-variable* + v:windowid When any X11 based GUI is running or when running in a + terminal and Vim connects to the X server (|-X|) this will be +! set to the window ID. +! When an MS-Windows GUI is running this will be set to the +! window handle. +! Otherwise the value is zero. +! Note: for windows inside Vim use |winnr()|. + + ============================================================================== + 4. Builtin Functions *functions* +*** ../vim-7.3.037/src/gui_w32.c 2010-10-27 12:15:28.000000000 +0200 +--- src/gui_w32.c 2010-10-27 12:21:22.000000000 +0200 +*************** +*** 1573,1578 **** +--- 1573,1583 ---- + # endif + #endif + ++ #ifdef FEAT_EVAL ++ /* set the v:windowid variable */ ++ set_vim_var_nr(VV_WINDOWID, (long)s_hwnd); ++ #endif ++ + theend: + /* Display any pending error messages */ + display_errors(); +*** ../vim-7.3.037/src/version.c 2010-10-27 12:17:54.000000000 +0200 +--- src/version.c 2010-10-27 12:24:38.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 38, + /**/ + +-- +ARTHUR: What? +BLACK KNIGHT: None shall pass. +ARTHUR: I have no quarrel with you, good Sir knight, but I must cross + this bridge. +BLACK KNIGHT: Then you shall die. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.039.patch0 b/pkgs/core/vim/patches/vim-7.3.039.patch0 new file mode 100644 index 0000000..2414fc7 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.039.patch0 @@ -0,0 +1,90 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.039 +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.3.039 +Problem: Crash when using skk.vim plugin. +Solution: Get length of expression evaluation result only after checking for + NULL. (Noriaki Yagi, Dominique Pelle) +Files: src/ex_getln.c + + +*** ../vim-7.3.038/src/ex_getln.c 2010-09-29 15:50:14.000000000 +0200 +--- src/ex_getln.c 2010-10-27 12:42:00.000000000 +0200 +*************** +*** 688,711 **** + p = get_expr_line(); + --textlock; + restore_cmdline(&save_ccline); +- len = (int)STRLEN(p); + +! if (p != NULL && realloc_cmdbuff(len + 1) == OK) + { +! ccline.cmdlen = len; +! STRCPY(ccline.cmdbuff, p); +! vim_free(p); +! +! /* Restore the cursor or use the position set with +! * set_cmdline_pos(). */ +! if (new_cmdpos > ccline.cmdlen) +! ccline.cmdpos = ccline.cmdlen; +! else +! ccline.cmdpos = new_cmdpos; +! +! KeyTyped = FALSE; /* Don't do p_wc completion. */ +! redrawcmd(); +! goto cmdline_changed; + } + } + beep_flush(); +--- 688,714 ---- + p = get_expr_line(); + --textlock; + restore_cmdline(&save_ccline); + +! if (p != NULL) + { +! len = (int)STRLEN(p); +! if (realloc_cmdbuff(len + 1) == OK) +! { +! ccline.cmdlen = len; +! STRCPY(ccline.cmdbuff, p); +! vim_free(p); +! +! /* Restore the cursor or use the position set with +! * set_cmdline_pos(). */ +! if (new_cmdpos > ccline.cmdlen) +! ccline.cmdpos = ccline.cmdlen; +! else +! ccline.cmdpos = new_cmdpos; +! +! KeyTyped = FALSE; /* Don't do p_wc completion. */ +! redrawcmd(); +! goto cmdline_changed; +! } + } + } + beep_flush(); +*** ../vim-7.3.038/src/version.c 2010-10-27 12:33:12.000000000 +0200 +--- src/version.c 2010-10-27 12:43:40.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 39, + /**/ + +-- +"Hegel was right when he said that we learn from history that man can +never learn anything from history." (George Bernard Shaw) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.040.patch0 b/pkgs/core/vim/patches/vim-7.3.040.patch0 new file mode 100644 index 0000000..6174cbd --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.040.patch0 @@ -0,0 +1,48 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.040 +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.3.040 +Problem: Comparing strings while ignoring case goes beyond end of the + string when there are illegal bytes. (Dominique Pelle) +Solution: Explicitly check for illegal bytes. +Files: src/mbyte.c + + +*** ../vim-7.3.039/src/mbyte.c 2010-10-23 14:02:48.000000000 +0200 +--- src/mbyte.c 2010-10-27 13:34:16.000000000 +0200 +*************** +*** 3124,3129 **** +--- 3124,3132 ---- + /* If one of the two characters is incomplete return -1. */ + if (incomplete || i + utf_byte2len(s2[i]) > n) + return -1; ++ /* Don't case-fold illegal bytes or truncated characters. */ ++ if (utf_ptr2len(s1 + i) < l || utf_ptr2len(s2 + i) < l) ++ return -1; + cdiff = utf_fold(utf_ptr2char(s1 + i)) + - utf_fold(utf_ptr2char(s2 + i)); + if (cdiff != 0) +*** ../vim-7.3.039/src/version.c 2010-10-27 12:58:19.000000000 +0200 +--- src/version.c 2010-10-27 13:25:16.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 40, + /**/ + +-- + With sufficient thrust, pigs fly just fine. + -- RFC 1925 + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.041.patch0 b/pkgs/core/vim/patches/vim-7.3.041.patch0 new file mode 100644 index 0000000..60a987d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.041.patch0 @@ -0,0 +1,57 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.041 +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.3.041 +Problem: Compiler warning for accessing mediumVersion. (Tony Mechelynck) +Solution: Use the pointer instead of the array itself. (Dominique Pelle) +Files: src/version.c + + +*** ../vim-7.3.040/src/version.c 2010-10-27 13:37:39.000000000 +0200 +--- src/version.c 2010-10-27 15:58:26.000000000 +0200 +*************** +*** 1342,1350 **** + if (highest_patch()) + { + /* Check for 9.9x or 9.9xx, alpha/beta version */ +! if (isalpha((int)mediumVersion[3])) + { +! if (isalpha((int)mediumVersion[4])) + sprintf((char *)vers + 5, ".%d%s", highest_patch(), + mediumVersion + 5); + else +--- 1344,1352 ---- + if (highest_patch()) + { + /* Check for 9.9x or 9.9xx, alpha/beta version */ +! if (isalpha((int)vers[3])) + { +! if (isalpha((int)vers[4])) + sprintf((char *)vers + 5, ".%d%s", highest_patch(), + mediumVersion + 5); + else +*** ../vim-7.3.040/src/version.c 2010-10-27 13:37:39.000000000 +0200 +--- src/version.c 2010-10-27 15:58:26.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 41, + /**/ + +-- +ARTHUR: I command you as King of the Britons to stand aside! +BLACK KNIGHT: I move for no man. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.042.patch0 b/pkgs/core/vim/patches/vim-7.3.042.patch0 new file mode 100644 index 0000000..6f8ab37 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.042.patch0 @@ -0,0 +1,65 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.042 +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.3.042 +Problem: No spell highlighting when re-using an empty buffer. +Solution: Clear the spell checking info only when clearing the options for a + buffer. (James Vega) +Files: src/buffer.c + + +*** ../vim-7.3.041/src/buffer.c 2010-09-21 16:56:29.000000000 +0200 +--- src/buffer.c 2010-10-27 16:09:26.000000000 +0200 +*************** +*** 639,644 **** +--- 639,647 ---- + { + clear_wininfo(buf); /* including window-local options */ + free_buf_options(buf, TRUE); ++ #ifdef FEAT_SPELL ++ ga_clear(&buf->b_s.b_langp); ++ #endif + } + #ifdef FEAT_EVAL + vars_clear(&buf->b_vars.dv_hashtab); /* free all internal variables */ +*************** +*** 661,669 **** + vim_free(buf->b_start_fenc); + buf->b_start_fenc = NULL; + #endif +- #ifdef FEAT_SPELL +- ga_clear(&buf->b_s.b_langp); +- #endif + } + + /* +--- 664,669 ---- +*** ../vim-7.3.041/src/version.c 2010-10-27 16:01:17.000000000 +0200 +--- src/version.c 2010-10-27 16:10:33.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 42, + /**/ + +-- +BLACK KNIGHT: I move for no man. +ARTHUR: So be it! + [hah] [parry thrust] + [ARTHUR chops the BLACK KNIGHT's left arm off] +ARTHUR: Now stand aside, worthy adversary. +BLACK KNIGHT: 'Tis but a scratch. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.043.patch0 b/pkgs/core/vim/patches/vim-7.3.043.patch0 new file mode 100644 index 0000000..0bdbec5 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.043.patch0 @@ -0,0 +1,460 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.043 +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.3.043 +Problem: Can't load Ruby dynamically on Unix. +Solution: Adjust the configure script. (James Vega) +Files: src/Makefile, src/config.h.in, src/configure.in, + src/auto/configure, src/if_ruby.c + + +*** ../vim-7.3.042/src/Makefile 2010-08-16 21:59:00.000000000 +0200 +--- src/Makefile 2010-10-27 16:46:41.000000000 +0200 +*************** +*** 414,425 **** +--- 414,429 ---- + # However, this may still cause problems, such as "import termios" failing. + # Build two separate versions of Vim in that case. + #CONF_OPT_PYTHON = --enable-pythoninterp ++ #CONF_OPT_PYTHON = --enable-pythoninterp=dynamic + #CONF_OPT_PYTHON3 = --enable-python3interp ++ #CONF_OPT_PYTHON3 = --enable-python3interp=dynamic + + # RUBY + # Uncomment this when you want to include the Ruby interface. ++ # First one for static linking, second one for loading when used. + # Note: you need the development package (e.g., ruby1.9.1-dev on Ubuntu). + #CONF_OPT_RUBY = --enable-rubyinterp ++ #CONF_OPT_RUBY = --enable-rubyinterp=dynamic + #CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1 + + # TCL +*************** +*** 1047,1054 **** + INSTALL_DATA = cp + INSTALL_DATA_R = cp -r + +! ### Program to run on installed binary + #STRIP = strip + + ### Permissions for binaries {{{1 + BINMOD = 755 +--- 1051,1059 ---- + INSTALL_DATA = cp + INSTALL_DATA_R = cp -r + +! ### Program to run on installed binary. Use the second one to disable strip. + #STRIP = strip ++ #STRIP = /bin/true + + ### Permissions for binaries {{{1 + BINMOD = 755 +*************** +*** 1321,1327 **** + .SUFFIXES: .c .o .pro + + PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS) +! POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(RUBY_CFLAGS) $(EXTRA_DEFS) + + ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS) + +--- 1326,1332 ---- + .SUFFIXES: .c .o .pro + + PRE_DEFS = -Iproto $(DEFS) $(GUI_DEFS) $(GUI_IPATH) $(CPPFLAGS) $(EXTRA_IPATHS) +! POST_DEFS = $(X_CFLAGS) $(MZSCHEME_CFLAGS) $(TCL_CFLAGS) $(EXTRA_DEFS) + + ALL_CFLAGS = $(PRE_DEFS) $(CFLAGS) $(PROFILE_CFLAGS) $(POST_DEFS) + +*************** +*** 1329,1335 **** + # with "-E". + OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS) + +! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca + + LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)=" + +--- 1334,1340 ---- + # with "-E". + OSDEF_CFLAGS = $(PRE_DEFS) $(POST_DEFS) + +! LINT_CFLAGS = -DLINT -I. $(PRE_DEFS) $(POST_DEFS) $(RUBY_CFLAGS) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) -Dinline= -D__extension__= -Dalloca=alloca + + LINT_EXTRA = -DUSE_SNIFF -DHANGUL_INPUT -D"__attribute__(x)=" + +*************** +*** 2532,2538 **** + $(CCC) $(PYTHON3_CFLAGS) $(PYTHON3_CFLAGS_EXTRA) -o $@ if_python3.c + + objects/if_ruby.o: if_ruby.c +! $(CCC) -o $@ if_ruby.c + + objects/if_sniff.o: if_sniff.c + $(CCC) -o $@ if_sniff.c +--- 2537,2543 ---- + $(CCC) $(PYTHON3_CFLAGS) $(PYTHON3_CFLAGS_EXTRA) -o $@ if_python3.c + + objects/if_ruby.o: if_ruby.c +! $(CCC) $(RUBY_CFLAGS) -o $@ if_ruby.c + + objects/if_sniff.o: if_sniff.c + $(CCC) -o $@ if_sniff.c +*** ../vim-7.3.042/src/config.h.in 2010-08-15 21:57:32.000000000 +0200 +--- src/config.h.in 2010-10-27 16:21:24.000000000 +0200 +*************** +*** 349,354 **** +--- 349,357 ---- + /* Define if you want to include the Ruby interpreter. */ + #undef FEAT_RUBY + ++ /* Define for linking via dlopen() or LoadLibrary() */ ++ #undef DYNAMIC_RUBY ++ + /* Define if you want to include the Tcl interpreter. */ + #undef FEAT_TCL + +*** ../vim-7.3.042/src/configure.in 2010-08-15 21:57:28.000000000 +0200 +--- src/configure.in 2010-10-27 16:20:53.000000000 +0200 +*************** +*** 1299,1308 **** + + AC_MSG_CHECKING(--enable-rubyinterp argument) + AC_ARG_ENABLE(rubyinterp, +! [ --enable-rubyinterp Include Ruby interpreter.], , + [enable_rubyinterp="no"]) + AC_MSG_RESULT($enable_rubyinterp) +! if test "$enable_rubyinterp" = "yes"; then + AC_MSG_CHECKING(--with-ruby-command argument) + AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)], + RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD), +--- 1299,1308 ---- + + AC_MSG_CHECKING(--enable-rubyinterp argument) + AC_ARG_ENABLE(rubyinterp, +! [ --enable-rubyinterp[=OPTS] Include Ruby interpreter. [default=no] [OPTS=no/yes/dynamic]], , + [enable_rubyinterp="no"]) + AC_MSG_RESULT($enable_rubyinterp) +! if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then + AC_MSG_CHECKING(--with-ruby-command argument) + AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)], + RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD), +*************** +*** 1360,1365 **** +--- 1360,1371 ---- + RUBY_OBJ="objects/if_ruby.o" + RUBY_PRO="if_ruby.pro" + AC_DEFINE(FEAT_RUBY) ++ if test "$enable_rubyinterp" = "dynamic"; then ++ libruby=`$vi_cv_path_ruby -r rbconfig -e 'printf "lib%s.%s\n", Config::CONFIG[["RUBY_SO_NAME"]], Config::CONFIG[["DLEXT"]]'` ++ AC_DEFINE(DYNAMIC_RUBY) ++ RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\"$libruby\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS" ++ RUBY_LIBS= ++ fi + else + AC_MSG_RESULT(not found; disabling Ruby) + fi +*** ../vim-7.3.042/src/auto/configure 2010-08-15 21:57:27.000000000 +0200 +--- src/auto/configure 2010-10-27 16:28:10.000000000 +0200 +*************** +*** 1427,1433 **** + --enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic + --enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic + --enable-tclinterp Include Tcl interpreter. +! --enable-rubyinterp Include Ruby interpreter. + --enable-cscope Include cscope interface. + --enable-workshop Include Sun Visual Workshop support. + --disable-netbeans Disable NetBeans integration support. +--- 1427,1433 ---- + --enable-pythoninterp=OPTS Include Python interpreter. default=no OPTS=no/yes/dynamic + --enable-python3interp=OPTS Include Python3 interpreter. default=no OPTS=no/yes/dynamic + --enable-tclinterp Include Tcl interpreter. +! --enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic + --enable-cscope Include cscope interface. + --enable-workshop Include Sun Visual Workshop support. + --disable-netbeans Disable NetBeans integration support. +*************** +*** 6103,6109 **** + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rubyinterp" >&5 + $as_echo "$enable_rubyinterp" >&6; } +! if test "$enable_rubyinterp" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5 + $as_echo_n "checking --with-ruby-command argument... " >&6; } + +--- 6103,6109 ---- + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_rubyinterp" >&5 + $as_echo "$enable_rubyinterp" >&6; } +! if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking --with-ruby-command argument" >&5 + $as_echo_n "checking --with-ruby-command argument... " >&6; } + +*************** +*** 6209,6214 **** +--- 6209,6221 ---- + RUBY_PRO="if_ruby.pro" + $as_echo "#define FEAT_RUBY 1" >>confdefs.h + ++ if test "$enable_rubyinterp" = "dynamic"; then ++ libruby=`$vi_cv_path_ruby -r rbconfig -e 'printf "lib%s.%s\n", Config::CONFIG["RUBY_SO_NAME"], Config::CONFIG["DLEXT"]'` ++ $as_echo "#define DYNAMIC_RUBY 1" >>confdefs.h ++ ++ RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\"$libruby\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS" ++ RUBY_LIBS= ++ fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found; disabling Ruby" >&5 + $as_echo "not found; disabling Ruby" >&6; } +*** ../vim-7.3.042/src/if_ruby.c 2010-10-23 14:02:48.000000000 +0200 +--- src/if_ruby.c 2010-10-27 16:40:27.000000000 +0200 +*************** +*** 14,19 **** +--- 14,21 ---- + #include <stdio.h> + #include <string.h> + ++ #include "auto/config.h" ++ + #ifdef _WIN32 + # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18) + # define NT +*************** +*** 48,60 **** + # define RUBY_EXPORT + # endif + +! #if !(defined(WIN32) || defined(_WIN64)) + # include <dlfcn.h> +! # define HANDLE void* + # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) + # define symbol_from_dll dlsym + # define close_dll dlclose + #else + # define load_dll vimLoadLib + # define symbol_from_dll GetProcAddress + # define close_dll FreeLibrary +--- 50,64 ---- + # define RUBY_EXPORT + # endif + +! #ifndef WIN3264 + # include <dlfcn.h> +! # define HINSTANCE void* +! # define RUBY_PROC void* + # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) + # define symbol_from_dll dlsym + # define close_dll dlclose + #else ++ # define RUBY_PROC FARPROC + # define load_dll vimLoadLib + # define symbol_from_dll GetProcAddress + # define close_dll FreeLibrary +*************** +*** 174,180 **** +--- 178,186 ---- + #define rb_lastline_get dll_rb_lastline_get + #define rb_lastline_set dll_rb_lastline_set + #define rb_load_protect dll_rb_load_protect ++ #ifndef RUBY19_OR_LATER + #define rb_num2long dll_rb_num2long ++ #endif + #define rb_num2ulong dll_rb_num2ulong + #define rb_obj_alloc dll_rb_obj_alloc + #define rb_obj_as_string dll_rb_obj_as_string +*************** +*** 186,191 **** +--- 192,200 ---- + #ifdef rb_str_new2 + /* Ruby may #define rb_str_new2 to use rb_str_new_cstr. */ + # define need_rb_str_new_cstr 1 ++ /* Ruby's headers #define rb_str_new_cstr to make use of GCC's ++ * __builtin_constant_p extension. */ ++ # undef rb_str_new_cstr + # define rb_str_new_cstr dll_rb_str_new_cstr + #else + # define rb_str_new2 dll_rb_str_new2 +*************** +*** 206,214 **** + #endif + #define ruby_init dll_ruby_init + #define ruby_init_loadpath dll_ruby_init_loadpath +! #define NtInitialize dll_NtInitialize +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 +! # define rb_w32_snprintf dll_rb_w32_snprintf + #endif + + #ifdef RUBY19_OR_LATER +--- 215,225 ---- + #endif + #define ruby_init dll_ruby_init + #define ruby_init_loadpath dll_ruby_init_loadpath +! #ifdef WIN3264 +! # define NtInitialize dll_NtInitialize +! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 +! # define rb_w32_snprintf dll_rb_w32_snprintf +! # endif + #endif + + #ifdef RUBY19_OR_LATER +*************** +*** 283,289 **** +--- 294,305 ---- + #endif + static void (*dll_ruby_init) (void); + static void (*dll_ruby_init_loadpath) (void); ++ #ifdef WIN3264 + static void (*dll_NtInitialize) (int*, char***); ++ # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 ++ static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); ++ # endif ++ #endif + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + static char * (*dll_rb_string_value_ptr) (volatile VALUE*); + static VALUE (*dll_rb_float_new) (double); +*************** +*** 293,301 **** + #ifdef RUBY19_OR_LATER + static VALUE (*dll_rb_int2big)(SIGNED_VALUE); + #endif +- #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 +- static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); +- #endif + + #ifdef RUBY19_OR_LATER + static void (*dll_ruby_script) (const char*); +--- 309,314 ---- +*************** +*** 317,328 **** + } + #endif + +! static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */ + + /* + * Table of name to function pointer of ruby. + */ +- #define RUBY_PROC FARPROC + static struct + { + char *name; +--- 330,340 ---- + } + #endif + +! static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */ + + /* + * Table of name to function pointer of ruby. + */ + static struct + { + char *name; +*************** +*** 387,401 **** + #endif + {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, + {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, + { +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19 + "NtInitialize", +! #else + "ruby_sysinit", +! #endif + (RUBY_PROC*)&dll_NtInitialize}, +! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, + #endif + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr}, +--- 399,415 ---- + #endif + {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, + {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, ++ #ifdef WIN3264 + { +! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19 + "NtInitialize", +! # else + "ruby_sysinit", +! # endif + (RUBY_PROC*)&dll_NtInitialize}, +! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, ++ # endif + #endif + #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 + {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr}, +*************** +*** 424,430 **** + if (hinstRuby) + { + close_dll(hinstRuby); +! hinstRuby = 0; + } + } + +--- 438,444 ---- + if (hinstRuby) + { + close_dll(hinstRuby); +! hinstRuby = NULL; + } + } + +*************** +*** 454,460 **** + ruby_funcname_table[i].name))) + { + close_dll(hinstRuby); +! hinstRuby = 0; + if (verbose) + EMSG2(_(e_loadfunc), ruby_funcname_table[i].name); + return FAIL; +--- 468,474 ---- + ruby_funcname_table[i].name))) + { + close_dll(hinstRuby); +! hinstRuby = NULL; + if (verbose) + EMSG2(_(e_loadfunc), ruby_funcname_table[i].name); + return FAIL; +*************** +*** 936,944 **** + return line ? vim_str2rb_enc_str(line) : Qnil; + } + rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); +- #ifndef __GNUC__ + return Qnil; /* For stop warning */ +- #endif + } + + static VALUE buffer_aref(VALUE self, VALUE num) +--- 950,956 ---- +*** ../vim-7.3.042/src/version.c 2010-10-27 16:17:56.000000000 +0200 +--- src/version.c 2010-10-27 16:45:28.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 43, + /**/ + +-- +ARTHUR: A scratch? Your arm's off! +BLACK KNIGHT: No, it isn't. +ARTHUR: Well, what's that then? +BLACK KNIGHT: I've had worse. + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.044.patch0 b/pkgs/core/vim/patches/vim-7.3.044.patch0 new file mode 100644 index 0000000..6a66763 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.044.patch0 @@ -0,0 +1,58 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.044 +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.3.044 +Problem: The preview window opened by the popup menu is larger than + specified with 'previewheight'. (Benjamin Haskell) +Solution: Use 'previewheight' if it's set and smaller. +Files: src/popupmnu.c + + +*** ../vim-7.3.043/src/popupmnu.c 2010-08-15 21:57:25.000000000 +0200 +--- src/popupmnu.c 2010-10-27 17:04:31.000000000 +0200 +*************** +*** 558,565 **** + win_T *curwin_save = curwin; + int res = OK; + +! /* Open a preview window. 3 lines by default. */ + g_do_tagpreview = 3; + resized = prepare_tagpreview(FALSE); + g_do_tagpreview = 0; + +--- 558,568 ---- + win_T *curwin_save = curwin; + int res = OK; + +! /* Open a preview window. 3 lines by default. Prefer +! * 'previewheight' if set and smaller. */ + g_do_tagpreview = 3; ++ if (p_pvh > 0 && p_pvh < g_do_tagpreview) ++ g_do_tagpreview = p_pvh; + resized = prepare_tagpreview(FALSE); + g_do_tagpreview = 0; + +*** ../vim-7.3.043/src/version.c 2010-10-27 16:49:41.000000000 +0200 +--- src/version.c 2010-10-27 17:08:37.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 44, + /**/ + +-- +"It's so simple to be wise. Just think of something stupid to say +and then don't say it." -- Sam Levenson + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.045.patch0 b/pkgs/core/vim/patches/vim-7.3.045.patch0 new file mode 100644 index 0000000..e8112b9 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.045.patch0 @@ -0,0 +1,57 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.045 +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.3.045 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize the variable always. +Files: src/getchar.c + + +*** ../vim-7.3.044/src/getchar.c 2010-10-27 12:17:54.000000000 +0200 +--- src/getchar.c 2010-10-27 17:28:45.000000000 +0200 +*************** +*** 3290,3298 **** + */ + if (haskey) + keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special); + if (hasarg) + { +- orig_rhs = rhs; + if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */ + rhs = (char_u *)""; + else +--- 3290,3298 ---- + */ + if (haskey) + keys = replace_termcodes(keys, &keys_buf, TRUE, TRUE, special); ++ orig_rhs = rhs; + if (hasarg) + { + if (STRICMP(rhs, "<nop>") == 0) /* "<Nop>" means nothing */ + rhs = (char_u *)""; + else +*** ../vim-7.3.044/src/version.c 2010-10-27 17:11:11.000000000 +0200 +--- src/version.c 2010-10-27 17:30:11.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 45, + /**/ + +-- +MARTHA'S WAY: Don't throw out all that leftover wine. Freeze into ice cubes + for future use in casseroles and sauces. +MY WAY: What leftover wine? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.046.patch0 b/pkgs/core/vim/patches/vim-7.3.046.patch0 new file mode 100644 index 0000000..41d4f66 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.046.patch0 @@ -0,0 +1,76 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.046 +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.3.046 (after 7.3.043) +Problem: Can't build Ruby on MS-Windows. +Solution: Add #ifdef, don't use WIN3264 before including vim.h. +Files: src/if_ruby.c + + +*** ../vim-7.3.045/src/if_ruby.c 2010-10-27 16:49:41.000000000 +0200 +--- src/if_ruby.c 2010-10-27 17:37:05.000000000 +0200 +*************** +*** 14,20 **** + #include <stdio.h> + #include <string.h> + +! #include "auto/config.h" + + #ifdef _WIN32 + # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18) +--- 14,22 ---- + #include <stdio.h> + #include <string.h> + +! #ifdef HAVE_CONFIG_H +! # include "auto/config.h" +! #endif + + #ifdef _WIN32 + # if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18) +*************** +*** 50,56 **** + # define RUBY_EXPORT + # endif + +! #ifndef WIN3264 + # include <dlfcn.h> + # define HINSTANCE void* + # define RUBY_PROC void* +--- 52,58 ---- + # define RUBY_EXPORT + # endif + +! #if !(defined(WIN32) || defined(_WIN64)) + # include <dlfcn.h> + # define HINSTANCE void* + # define RUBY_PROC void* +*** ../vim-7.3.045/src/version.c 2010-10-27 17:39:00.000000000 +0200 +--- src/version.c 2010-10-27 17:39:59.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 46, + /**/ + +-- +BLACK KNIGHT: Come on you pansy! + [hah] [parry thrust] + [ARTHUR chops the BLACK KNIGHT's right arm off] +ARTHUR: Victory is mine! [kneeling] + We thank thee Lord, that in thy merc- + [Black Knight kicks Arthur in the head while he is praying] + The Quest for the Holy Grail (Monty Python) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.047.patch0 b/pkgs/core/vim/patches/vim-7.3.047.patch0 new file mode 100644 index 0000000..6f6e32d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.047.patch0 @@ -0,0 +1,172 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.047 +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.3.047 (after 7.3.032) +Problem: Missing makefile updates for test 75. +Solution: Update the makefiles. +Files: src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Makefile, src/testdir/Make_ming.mak, + src/testdir/Make_os2.mak, src/testdir/Make_vms.mms + + +*** ../vim-7.3.046/src/testdir/Make_amiga.mak 2010-10-20 17:44:01.000000000 +0200 +--- src/testdir/Make_amiga.mak 2010-10-20 20:43:25.000000000 +0200 +*************** +*** 27,33 **** + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out + + .SUFFIXES: .in .out + +--- 27,33 ---- + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out test75.out + + .SUFFIXES: .in .out + +*************** +*** 121,123 **** +--- 121,124 ---- + test72.out: test72.in + test73.out: test73.in + test74.out: test74.in ++ test75.out: test75.in +*** ../vim-7.3.046/src/testdir/Make_dos.mak 2010-10-20 17:44:01.000000000 +0200 +--- src/testdir/Make_dos.mak 2010-10-20 20:43:48.000000000 +0200 +*************** +*** 28,34 **** + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out + + SCRIPTS32 = test50.out test70.out + +--- 28,34 ---- + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out test75.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.046/src/testdir/Makefile 2010-10-20 17:44:01.000000000 +0200 +--- src/testdir/Makefile 2010-10-20 20:44:10.000000000 +0200 +*************** +*** 25,31 **** + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ + test69.out test70.out test71.out test72.out test73.out \ +! test74.out + + SCRIPTS_GUI = test16.out + +--- 25,31 ---- + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ + test69.out test70.out test71.out test72.out test73.out \ +! test74.out test75.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.3.046/src/testdir/Make_ming.mak 2010-10-20 17:44:01.000000000 +0200 +--- src/testdir/Make_ming.mak 2010-10-20 20:43:53.000000000 +0200 +*************** +*** 48,54 **** + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out + + SCRIPTS32 = test50.out test70.out + +--- 48,54 ---- + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out test75.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.046/src/testdir/Make_os2.mak 2010-10-20 17:44:01.000000000 +0200 +--- src/testdir/Make_os2.mak 2010-10-20 20:44:00.000000000 +0200 +*************** +*** 27,33 **** + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out + + .SUFFIXES: .in .out + +--- 27,33 ---- + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out test75.out + + .SUFFIXES: .in .out + +*** ../vim-7.3.046/src/testdir/Make_vms.mms 2010-10-20 17:44:01.000000000 +0200 +--- src/testdir/Make_vms.mms 2010-10-20 20:44:05.000000000 +0200 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, arpadffy@polarhome.com + # Sandor Kopanyi, sandor.kopanyi@mailbox.hu + # +! # Last change: 2010 Aug 04 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, arpadffy@polarhome.com + # Sandor Kopanyi, sandor.kopanyi@mailbox.hu + # +! # Last change: 2010 Oct 20 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 74,80 **** + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out test74.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 74,80 ---- + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out test74.out test75.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.3.046/src/version.c 2010-10-27 17:40:53.000000000 +0200 +--- src/version.c 2010-10-27 18:34:20.000000000 +0200 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 47, + /**/ + +-- +5 out of 4 people have trouble with fractions. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.048.patch0 b/pkgs/core/vim/patches/vim-7.3.048.patch0 new file mode 100644 index 0000000..db84480 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.048.patch0 @@ -0,0 +1,109 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.048 +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.3.048 +Problem: ":earlier 1f" doesn't work after loading undo file. +Solution: Set b_u_save_nr_cur when loading an undo file. (Christian + Brabandt) + Fix only showing time in ":undolist" +Files: src/undo.c + + +*** ../vim-7.3.047/src/undo.c 2010-08-15 21:57:28.000000000 +0200 +--- src/undo.c 2010-11-03 19:26:38.000000000 +0100 +*************** +*** 1861,1866 **** +--- 1861,1867 ---- + curbuf->b_u_seq_cur = seq_cur; + curbuf->b_u_time_cur = seq_time; + curbuf->b_u_save_nr_last = last_save_nr; ++ curbuf->b_u_save_nr_cur = last_save_nr; + + curbuf->b_u_synced = TRUE; + vim_free(uhp_table); +*************** +*** 2794,2800 **** + uhp->uh_time); + if (uhp->uh_save_nr > 0) + { +! while (STRLEN(IObuff) < 32) + STRCAT(IObuff, " "); + vim_snprintf_add((char *)IObuff, IOSIZE, + " %3ld", uhp->uh_save_nr); +--- 2795,2801 ---- + uhp->uh_time); + if (uhp->uh_save_nr > 0) + { +! while (STRLEN(IObuff) < 33) + STRCAT(IObuff, " "); + vim_snprintf_add((char *)IObuff, IOSIZE, + " %3ld", uhp->uh_save_nr); +*************** +*** 2849,2855 **** + sort_strings((char_u **)ga.ga_data, ga.ga_len); + + msg_start(); +! msg_puts_attr((char_u *)_("number changes time saved"), + hl_attr(HLF_T)); + for (i = 0; i < ga.ga_len && !got_int; ++i) + { +--- 2850,2856 ---- + sort_strings((char_u **)ga.ga_data, ga.ga_len); + + msg_start(); +! msg_puts_attr((char_u *)_("number changes when saved"), + hl_attr(HLF_T)); + for (i = 0; i < ga.ga_len && !got_int; ++i) + { +*************** +*** 2879,2885 **** + if (time(NULL) - tt >= 100) + { + curtime = localtime(&tt); +! (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime); + } + else + #endif +--- 2880,2894 ---- + if (time(NULL) - tt >= 100) + { + curtime = localtime(&tt); +! if (time(NULL) - tt < (60L * 60L * 12L)) +! /* within 12 hours */ +! (void)strftime((char *)buf, buflen, "%H:%M:%S", curtime); +! else if (time(NULL) - tt < (60L * 60L * 24L * 180L)) +! /* within 6 months */ +! (void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime); +! else +! /* long ago */ +! (void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime); + } + else + #endif +*** ../vim-7.3.047/src/version.c 2010-10-27 18:36:32.000000000 +0200 +--- src/version.c 2010-11-03 19:27:07.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 48, + /**/ + +-- +TIM: To the north there lies a cave, the cave of Caerbannog, wherein, carved + in mystic runes, upon the very living rock, the last words of Olfin + Bedwere of Rheged make plain the last resting place of the most Holy + Grail. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.049.patch0 b/pkgs/core/vim/patches/vim-7.3.049.patch0 new file mode 100644 index 0000000..365aeab --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.049.patch0 @@ -0,0 +1,495 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.049 +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.3.049 +Problem: PLT has rebranded their Scheme to Racket. +Solution: Add support for Racket 5.x. (Sergey Khorev) +Files: src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak, + src/auto/configure, src/configure.in, src/if_mzsch.c + + +*** ../vim-7.3.048/src/Make_cyg.mak 2010-08-15 21:57:27.000000000 +0200 +--- src/Make_cyg.mak 2010-11-03 21:50:42.000000000 +0100 +*************** +*** 1,6 **** + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2010 Feb 24 + # + # Also read INSTALLpc.txt! + # +--- 1,6 ---- + # + # Makefile for VIM on Win32, using Cygnus gcc +! # Last updated by Dan Sharp. Last Change: 2010 Nov 03 + # + # Also read INSTALLpc.txt! + # +*************** +*** 27,32 **** +--- 27,33 ---- + # MZSCHEME_VER define to version of MzScheme being used (209_000) + # DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes) + # MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch), for "static" build. ++ # MZSCHEME_USE_RACKET define to use "racket" instead of "mzsch". + # LUA define to path to Lua dir to get Lua support (not defined) + # LUA_VER define to version of Lua being used (51) + # DYNAMIC_LUA no or yes: use yes to load the Lua DLL dynamically (yes) +*************** +*** 254,269 **** + MZSCHEME_GENERATE_BASE=no + endif + + ifeq (yes, $(DYNAMIC_MZSCHEME)) +! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL="libmzsch$(MZSCHEME_VER).dll" -DDYNAMIC_MZGC_DLL="libmzgc$(MZSCHEME_VER).dll" + else + ifndef MZSCHEME_DLLS + MZSCHEME_DLLS = $(MZSCHEME) + endif + ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER) + else +! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) + endif + EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB) + endif +--- 255,276 ---- + MZSCHEME_GENERATE_BASE=no + endif + ++ ifndef MZSCHEME_USE_RACKET ++ MZSCHEME_MAIN_LIB=mzsch ++ else ++ MZSCHEME_MAIN_LIB=racket ++ endif ++ + ifeq (yes, $(DYNAMIC_MZSCHEME)) +! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL="lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll" -DDYNAMIC_MZGC_DLL="libmzgc$(MZSCHEME_VER).dll" + else + ifndef MZSCHEME_DLLS + MZSCHEME_DLLS = $(MZSCHEME) + endif + ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) + else +! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) + endif + EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB) + endif +*** ../vim-7.3.048/src/Make_ming.mak 2010-09-29 18:42:25.000000000 +0200 +--- src/Make_ming.mak 2010-11-03 21:48:14.000000000 +0100 +*************** +*** 141,151 **** + MZSCHEME_GENERATE_BASE=no + endif + + ifeq (no,$(DYNAMIC_MZSCHEME)) + ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER) + else +! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) + endif + # the modern MinGW can dynamically link to dlls directly. + # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll +--- 141,157 ---- + MZSCHEME_GENERATE_BASE=no + endif + ++ ifndef MZSCHEME_USE_RACKET ++ MZSCHEME_MAIN_LIB=mzsch ++ else ++ MZSCHEME_MAIN_LIB=racket ++ endif ++ + ifeq (no,$(DYNAMIC_MZSCHEME)) + ifeq (yes,$(MZSCHEME_PRECISE_GC)) +! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) + else +! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) + endif + # the modern MinGW can dynamically link to dlls directly. + # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll +*************** +*** 343,349 **** + ifdef MZSCHEME + CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS="$(MZSCHEME)/collects" + ifeq (yes, $(DYNAMIC_MZSCHEME)) +! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL="libmzsch$(MZSCHEME_VER).dll" -DDYNAMIC_MZGC_DLL="libmzgc$(MZSCHEME_VER).dll" + endif + endif + +--- 349,355 ---- + ifdef MZSCHEME + CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS="$(MZSCHEME)/collects" + ifeq (yes, $(DYNAMIC_MZSCHEME)) +! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL="lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll" -DDYNAMIC_MZGC_DLL="libmzgc$(MZSCHEME_VER).dll" + endif + endif + +*** ../vim-7.3.048/src/Make_mvc.mak 2010-08-15 21:57:27.000000000 +0200 +--- src/Make_mvc.mak 2010-11-03 21:48:14.000000000 +0100 +*************** +*** 705,716 **** + MZSCHEME_VER = 205_000 + !endif + CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include +! !if EXIST("$(MZSCHEME)\collects\scheme\base.ss") +! # for MzScheme 4.x we need to include byte code for basic Scheme stuff + MZSCHEME_EXTRA_DEP = mzscheme_base.c + CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE + !endif +! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") \ + && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib") + !message Building with Precise GC + MZSCHEME_PRECISE_GC = yes +--- 705,722 ---- + MZSCHEME_VER = 205_000 + !endif + CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include +! !if EXIST("$(MZSCHEME)\collects\scheme\base.ss") \ +! || EXIST("$(MZSCHEME)\collects\scheme\base.rkt") +! # for MzScheme >= 4 we need to include byte code for basic Scheme stuff + MZSCHEME_EXTRA_DEP = mzscheme_base.c + CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE + !endif +! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") +! MZSCHEME_MAIN_LIB=mzsch +! !else +! MZSCHEME_MAIN_LIB=racket +! !endif +! !if EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \ + && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib") + !message Building with Precise GC + MZSCHEME_PRECISE_GC = yes +*************** +*** 722,728 **** + !endif + !message MzScheme DLLs will be loaded dynamically + CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \ +! -DDYNAMIC_MZSCH_DLL="libmzsch$(MZSCHEME_VER).dll" \ + -DDYNAMIC_MZGC_DLL="libmzgc$(MZSCHEME_VER).dll" + !else + !if "$(MZSCHEME_DEBUG)" == "yes" +--- 728,734 ---- + !endif + !message MzScheme DLLs will be loaded dynamically + CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \ +! -DDYNAMIC_MZSCH_DLL="lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll" \ + -DDYNAMIC_MZGC_DLL="libmzgc$(MZSCHEME_VER).dll" + !else + !if "$(MZSCHEME_DEBUG)" == "yes" +*************** +*** 730,739 **** + !endif + !if "$(MZSCHEME_PRECISE_GC)" == "yes" + # Precise GC does not use separate dll +! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib + !else + MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \ +! $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib + !endif + !endif + MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj +--- 736,745 ---- + !endif + !if "$(MZSCHEME_PRECISE_GC)" == "yes" + # Precise GC does not use separate dll +! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib + !else + MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \ +! $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib + !endif + !endif + MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj +*** ../vim-7.3.048/src/auto/configure 2010-10-27 16:49:41.000000000 +0200 +--- src/auto/configure 2010-11-03 21:53:09.000000000 +0100 +*************** +*** 4862,4877 **** + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5 +! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; } +! if test -f /usr/include/plt/scheme.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } +! SCHEME_INC=/usr/include/plt + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +! vi_cv_path_mzscheme_pfx= + fi + fi + fi +--- 4862,4897 ---- + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket" >&5 +! $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket... " >&6; } +! if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } +! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } +! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5 +! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; } +! if test -f /usr/include/plt/scheme.h; then +! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +! $as_echo "yes" >&6; } +! SCHEME_INC=/usr/include/plt +! else +! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +! $as_echo "no" >&6; } +! { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/racket/" >&5 +! $as_echo_n "checking if scheme.h can be found in /usr/include/racket/... " >&6; } +! if test -f /usr/include/racket/scheme.h; then +! { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +! $as_echo "yes" >&6; } +! SCHEME_INC=/usr/include/racket +! else +! { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +! $as_echo "no" >&6; } +! vi_cv_path_mzscheme_pfx= +! fi +! fi + fi + fi + fi +*************** +*** 4883,4894 **** + elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" + else + if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" + else + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc" + fi +--- 4903,4924 ---- + elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then +! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a" +! MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then +! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" + else + if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" ++ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then ++ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m" ++ MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" ++ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then ++ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc" + else + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc" + fi +*************** +*** 4901,4910 **** + fi + if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then + SCHEME_COLLECTS=lib/plt/ + fi + if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then +! MZSCHEME_EXTRA="mzscheme_base.c" +! MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE" + MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" + fi + MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \ +--- 4931,4950 ---- + fi + if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then + SCHEME_COLLECTS=lib/plt/ ++ else ++ if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then ++ SCHEME_COLLECTS=lib/racket/ ++ fi + fi + if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then +! MZSCHEME_EXTRA="mzscheme_base.c" +! else +! if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then +! MZSCHEME_EXTRA="mzscheme_base.c" +! fi +! fi +! if test "X$MZSCHEME_EXTRA" != "X" ; then +! MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE" + MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" + fi + MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \ +*** ../vim-7.3.048/src/configure.in 2010-10-27 16:49:41.000000000 +0200 +--- src/configure.in 2010-11-03 21:48:14.000000000 +0100 +*************** +*** 568,580 **** + SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt + else + AC_MSG_RESULT(no) +! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/) +! if test -f /usr/include/plt/scheme.h; then + AC_MSG_RESULT(yes) +! SCHEME_INC=/usr/include/plt + else + AC_MSG_RESULT(no) +! vi_cv_path_mzscheme_pfx= + fi + fi + fi +--- 568,594 ---- + SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt + else + AC_MSG_RESULT(no) +! AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket) +! if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then + AC_MSG_RESULT(yes) +! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket + else + AC_MSG_RESULT(no) +! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/) +! if test -f /usr/include/plt/scheme.h; then +! AC_MSG_RESULT(yes) +! SCHEME_INC=/usr/include/plt +! else +! AC_MSG_RESULT(no) +! AC_MSG_CHECKING(if scheme.h can be found in /usr/include/racket/) +! if test -f /usr/include/racket/scheme.h; then +! AC_MSG_RESULT(yes) +! SCHEME_INC=/usr/include/racket +! else +! AC_MSG_RESULT(no) +! vi_cv_path_mzscheme_pfx= +! fi +! fi + fi + fi + fi +*************** +*** 586,598 **** + elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" + else + dnl Using shared objects + if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" + else + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc" + fi +--- 600,622 ---- + elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then +! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a" +! MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then +! MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" +! elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then + MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a" + else + dnl Using shared objects + if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m" + MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" ++ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then ++ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m" ++ MZSCHEME_CFLAGS="-DMZ_PRECISE_GC" ++ elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then ++ MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc" + else + MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc" + fi +*************** +*** 607,616 **** + fi + if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then + SCHEME_COLLECTS=lib/plt/ + fi + if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then +- dnl need to generate bytecode for MzScheme base + MZSCHEME_EXTRA="mzscheme_base.c" + MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE" + MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" + fi +--- 631,650 ---- + fi + if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then + SCHEME_COLLECTS=lib/plt/ ++ else ++ if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then ++ SCHEME_COLLECTS=lib/racket/ ++ fi + fi + if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then + MZSCHEME_EXTRA="mzscheme_base.c" ++ else ++ if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then ++ MZSCHEME_EXTRA="mzscheme_base.c" ++ fi ++ fi ++ if test "X$MZSCHEME_EXTRA" != "X" ; then ++ dnl need to generate bytecode for MzScheme base + MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE" + MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc" + fi +*** ../vim-7.3.048/src/if_mzsch.c 2010-10-23 14:02:48.000000000 +0200 +--- src/if_mzsch.c 2010-11-03 21:48:14.000000000 +0100 +*************** +*** 794,802 **** +--- 794,809 ---- + #endif + } + ++ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL) ++ static __declspec(thread) void *tls_space; ++ #endif ++ + void + mzscheme_main(void) + { ++ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL) ++ scheme_register_tls_space(&tls_space, 0); ++ #endif + #if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR >= 400 + /* use trampoline for precise GC in MzScheme >= 4.x */ + scheme_main_setup(TRUE, mzscheme_env_main, 0, NULL); +*** ../vim-7.3.048/src/version.c 2010-11-03 19:32:36.000000000 +0100 +--- src/version.c 2010-11-03 21:57:04.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 49, + /**/ + +-- +TIM: But follow only if you are men of valour. For the entrance to this cave + is guarded by a monster, a creature so foul and cruel that no man yet has + fought with it and lived. Bones of full fifty men lie strewn about its + lair ... + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.050.patch0 b/pkgs/core/vim/patches/vim-7.3.050.patch0 new file mode 100644 index 0000000..cccb836 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.050.patch0 @@ -0,0 +1,199 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.050 +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.3.050 +Problem: The link script is clumsy. +Solution: Use the --as-needed linker option if available. (Kirill A. + Shutemov) +Files: src/Makefile, src/auto/configure, src/config.mk.in, + src/configure.in, src/link.sh + + +*** ../vim-7.3.049/src/Makefile 2010-10-27 16:49:41.000000000 +0200 +--- src/Makefile 2010-11-03 22:26:45.000000000 +0100 +*************** +*** 1700,1706 **** + $(CCC) version.c -o objects/version.o + @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ + -o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \ +! MAKE="$(MAKE)" sh $(srcdir)/link.sh + + xxd/xxd$(EXEEXT): xxd/xxd.c + cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \ +--- 1700,1707 ---- + $(CCC) version.c -o objects/version.o + @LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \ + -o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \ +! MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \ +! sh $(srcdir)/link.sh + + xxd/xxd$(EXEEXT): xxd/xxd.c + cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \ +*** ../vim-7.3.049/src/auto/configure 2010-11-03 21:59:23.000000000 +0100 +--- src/auto/configure 2010-11-03 22:28:03.000000000 +0100 +*************** +*** 593,598 **** +--- 593,599 ---- + + ac_subst_vars='LTLIBOBJS + LIBOBJS ++ LINK_AS_NEEDED + DEPEND_CFLAGS_FILTER + MAKEMO + MSGFMT +*************** +*** 12404,12409 **** +--- 12405,12427 ---- + fi + + ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5 ++ $as_echo_n "checking linker --as-needed support... " >&6; } ++ LINK_AS_NEEDED= ++ # Check if linker supports --as-needed and --no-as-needed options ++ if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then ++ LDFLAGS="$LDFLAGS -Wl,--as-needed" ++ LINK_AS_NEEDED=yes ++ fi ++ if test "$LINK_AS_NEEDED" = yes; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++ $as_echo "yes" >&6; } ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++ $as_echo "no" >&6; } ++ fi ++ ++ + ac_config_files="$ac_config_files auto/config.mk:config.mk.in" + + cat >confcache <<_ACEOF +*** ../vim-7.3.049/src/config.mk.in 2010-08-15 21:57:28.000000000 +0200 +--- src/config.mk.in 2010-11-03 22:26:24.000000000 +0100 +*************** +*** 30,35 **** +--- 30,36 ---- + CPP = @CPP@ + CPP_MM = @CPP_MM@ + DEPEND_CFLAGS_FILTER = @DEPEND_CFLAGS_FILTER@ ++ LINK_AS_NEEDED = @LINK_AS_NEEDED@ + X_CFLAGS = @X_CFLAGS@ + X_LIBS_DIR = @X_LIBS@ + X_PRE_LIBS = @X_PRE_LIBS@ +*** ../vim-7.3.049/src/configure.in 2010-11-03 21:59:23.000000000 +0100 +--- src/configure.in 2010-11-03 22:26:16.000000000 +0100 +*************** +*** 3527,3532 **** +--- 3527,3549 ---- + fi + AC_SUBST(DEPEND_CFLAGS_FILTER) + ++ dnl link.sh tries to avoid overlinking in a hackish way. ++ dnl At least GNU ld supports --as-needed which provides the same functionality ++ dnl at linker level. Let's use it. ++ AC_MSG_CHECKING(linker --as-needed support) ++ LINK_AS_NEEDED= ++ # Check if linker supports --as-needed and --no-as-needed options ++ if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then ++ LDFLAGS="$LDFLAGS -Wl,--as-needed" ++ LINK_AS_NEEDED=yes ++ fi ++ if test "$LINK_AS_NEEDED" = yes; then ++ AC_MSG_RESULT(yes) ++ else ++ AC_MSG_RESULT(no) ++ fi ++ AC_SUBST(LINK_AS_NEEDED) ++ + dnl write output files + AC_OUTPUT(auto/config.mk:config.mk.in) + +*** ../vim-7.3.049/src/link.sh 2010-08-15 21:57:25.000000000 +0200 +--- src/link.sh 2010-11-03 22:26:08.000000000 +0100 +*************** +*** 5,11 **** + # libraries when they exist, but this doesn't mean they are needed for Vim. + # + # Author: Bram Moolenaar +! # Last change: 2006 Sep 26 + # License: Public domain + # + # Warning: This fails miserably if the linker doesn't return an error code! +--- 5,11 ---- + # libraries when they exist, but this doesn't mean they are needed for Vim. + # + # Author: Bram Moolenaar +! # Last change: 2010 Nov 03 + # License: Public domain + # + # Warning: This fails miserably if the linker doesn't return an error code! +*************** +*** 16,26 **** + echo "$LINK " >link.cmd + exit_value=0 + + # + # If auto/link.sed already exists, use it. We assume a previous run of + # link.sh has found the correct set of libraries. + # +- if test -f auto/link.sed; then + echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now." + echo "link.sh: If linking fails, try deleting the auto/link.sed file." + echo "link.sh: If this fails too, try creating an empty auto/link.sed file." +--- 16,38 ---- + echo "$LINK " >link.cmd + exit_value=0 + ++ if test "$LINK_AS_NEEDED" = yes; then ++ echo "link.sh: $LINK_AS_NEEDED set to 'yes': invoking linker directly." ++ cat link.cmd ++ if sh link.cmd; then ++ exit_value=0 ++ echo "link.sh: Linked fine" ++ else ++ exit_value=$? ++ echo "link.sh: Linking failed" ++ fi ++ else ++ if test -f auto/link.sed; then ++ + # + # If auto/link.sed already exists, use it. We assume a previous run of + # link.sh has found the correct set of libraries. + # + echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now." + echo "link.sh: If linking fails, try deleting the auto/link.sed file." + echo "link.sh: If this fails too, try creating an empty auto/link.sed file." +*************** +*** 124,129 **** +--- 136,143 ---- + fi + fi + ++ fi ++ + # + # cleanup + # +*** ../vim-7.3.049/src/version.c 2010-11-03 21:59:23.000000000 +0100 +--- src/version.c 2010-11-03 22:30:17.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 50, + /**/ + +-- +Save the plankton - eat a whale. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.051.patch0 b/pkgs/core/vim/patches/vim-7.3.051.patch0 new file mode 100644 index 0000000..ebf3680 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.051.patch0 @@ -0,0 +1,111 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.051 +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.3.051 +Problem: Crash when $PATH is empty. +Solution: Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto) +Files: src/ex_getln.c, src/os_win32.c + + +*** ../vim-7.3.050/src/ex_getln.c 2010-10-27 12:58:19.000000000 +0200 +--- src/ex_getln.c 2010-11-10 15:31:33.000000000 +0100 +*************** +*** 4747,4753 **** +--- 4747,4757 ---- + || (pat[1] == '.' && vim_ispathsep(pat[2]))))) + path = (char_u *)"."; + else ++ { + path = vim_getenv((char_u *)"PATH", &mustfree); ++ if (path == NULL) ++ path = (char_u *)""; ++ } + + /* + * Go over all directories in $PATH. Expand matches in that directory and +*** ../vim-7.3.050/src/os_win32.c 2010-10-27 12:17:54.000000000 +0200 +--- src/os_win32.c 2010-11-10 15:30:36.000000000 +0100 +*************** +*** 211,223 **** + static void + get_exe_name(void) + { +! char temp[MAXPATHL]; + char_u *p; + + if (exe_name == NULL) + { + /* store the name of the executable, may be used for $VIM */ +! GetModuleFileName(NULL, temp, MAXPATHL - 1); + if (*temp != NUL) + exe_name = FullName_save((char_u *)temp, FALSE); + } +--- 211,226 ---- + static void + get_exe_name(void) + { +! /* Maximum length of $PATH is more than MAXPATHL. 8191 is often mentioned +! * as the maximum length that works (plus a NUL byte). */ +! #define MAX_ENV_PATH_LEN 8192 +! char temp[MAX_ENV_PATH_LEN]; + char_u *p; + + if (exe_name == NULL) + { + /* store the name of the executable, may be used for $VIM */ +! GetModuleFileName(NULL, temp, MAX_ENV_PATH_LEN - 1); + if (*temp != NUL) + exe_name = FullName_save((char_u *)temp, FALSE); + } +*************** +*** 232,241 **** + * "!xxd" it's found in our starting directory. Needed because + * SearchPath() also looks there. */ + p = mch_getenv("PATH"); +! if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL) + { +! STRCPY(temp, p); +! STRCAT(temp, ";"); + STRCAT(temp, exe_path); + vim_setenv((char_u *)"PATH", temp); + } +--- 235,250 ---- + * "!xxd" it's found in our starting directory. Needed because + * SearchPath() also looks there. */ + p = mch_getenv("PATH"); +! if (p == NULL +! || STRLEN(p) + STRLEN(exe_path) + 2 < MAX_ENV_PATH_LEN) + { +! if (p == NULL || *p == NUL) +! temp[0] = NUL; +! else +! { +! STRCPY(temp, p); +! STRCAT(temp, ";"); +! } + STRCAT(temp, exe_path); + vim_setenv((char_u *)"PATH", temp); + } +*** ../vim-7.3.050/src/version.c 2010-11-03 22:32:18.000000000 +0100 +--- src/version.c 2010-11-10 15:34:43.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 51, + /**/ + +-- +SIGFUN -- signature too funny (core dumped) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.052.patch0 b/pkgs/core/vim/patches/vim-7.3.052.patch0 new file mode 100644 index 0000000..be0691f --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.052.patch0 @@ -0,0 +1,345 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.052 +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.3.052 +Problem: When 'completefunc' opens a new window all kinds of errors follow. + (Xavier Deguillard) +Solution: When 'completefunc' goes to another window or buffer and when it + deletes text abort completion. Add a test for 'completefunc'. +Files: src/edit.c, src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_os2.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/test76.in, src/testdir/test76.ok + + +*** ../vim-7.3.051/src/edit.c 2010-08-15 21:57:25.000000000 +0200 +--- src/edit.c 2010-11-10 16:50:12.000000000 +0100 +*************** +*** 58,63 **** +--- 58,67 ---- + }; + + static char e_hitend[] = N_("Hit end of paragraph"); ++ #ifdef FEAT_COMPL_FUNC ++ static char e_complwin[] = N_("E839: Completion function changed window"); ++ static char e_compldel[] = N_("E840: Completion function deleted text"); ++ #endif + + /* + * Structure used to store one match for insert completion. +*************** +*** 3833,3838 **** +--- 3837,3844 ---- + char_u *args[2]; + char_u *funcname; + pos_T pos; ++ win_T *curwin_save; ++ buf_T *curbuf_save; + + funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu; + if (*funcname == NUL) +*************** +*** 3843,3855 **** + args[1] = base; + + pos = curwin->w_cursor; + matchlist = call_func_retlist(funcname, 2, args, FALSE); + curwin->w_cursor = pos; /* restore the cursor position */ +! if (matchlist == NULL) +! return; + +! ins_compl_add_list(matchlist); +! list_unref(matchlist); + } + #endif /* FEAT_COMPL_FUNC */ + +--- 3849,3875 ---- + args[1] = base; + + pos = curwin->w_cursor; ++ curwin_save = curwin; ++ curbuf_save = curbuf; + matchlist = call_func_retlist(funcname, 2, args, FALSE); ++ if (curwin_save != curwin || curbuf_save != curbuf) ++ { ++ EMSG(_(e_complwin)); ++ goto theend; ++ } + curwin->w_cursor = pos; /* restore the cursor position */ +! check_cursor(); +! if (!equalpos(curwin->w_cursor, pos)) +! { +! EMSG(_(e_compldel)); +! goto theend; +! } +! if (matchlist != NULL) +! ins_compl_add_list(matchlist); + +! theend: +! if (matchlist != NULL) +! list_unref(matchlist); + } + #endif /* FEAT_COMPL_FUNC */ + +*************** +*** 4994,4999 **** +--- 5014,5021 ---- + int col; + char_u *funcname; + pos_T pos; ++ win_T *curwin_save; ++ buf_T *curbuf_save; + + /* Call 'completefunc' or 'omnifunc' and get pattern length as a + * string */ +*************** +*** 5009,5016 **** +--- 5031,5051 ---- + args[0] = (char_u *)"1"; + args[1] = NULL; + pos = curwin->w_cursor; ++ curwin_save = curwin; ++ curbuf_save = curbuf; + col = call_func_retnr(funcname, 2, args, FALSE); ++ if (curwin_save != curwin || curbuf_save != curbuf) ++ { ++ EMSG(_(e_complwin)); ++ return FAIL; ++ } + curwin->w_cursor = pos; /* restore the cursor position */ ++ check_cursor(); ++ if (!equalpos(curwin->w_cursor, pos)) ++ { ++ EMSG(_(e_compldel)); ++ return FAIL; ++ } + + if (col < 0) + col = curs_col; +*** ../vim-7.3.051/src/testdir/Make_amiga.mak 2010-10-27 18:36:32.000000000 +0200 +--- src/testdir/Make_amiga.mak 2010-11-10 15:48:30.000000000 +0100 +*************** +*** 27,33 **** + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out test75.out + + .SUFFIXES: .in .out + +--- 27,34 ---- + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out test75.out \ +! test76.out + + .SUFFIXES: .in .out + +*************** +*** 122,124 **** +--- 123,126 ---- + test73.out: test73.in + test74.out: test74.in + test75.out: test75.in ++ test76.out: test76.in +*** ../vim-7.3.051/src/testdir/Make_dos.mak 2010-10-27 18:36:32.000000000 +0200 +--- src/testdir/Make_dos.mak 2010-11-10 15:48:38.000000000 +0100 +*************** +*** 28,34 **** + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out test75.out + + SCRIPTS32 = test50.out test70.out + +--- 28,34 ---- + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out test75.out test76.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.051/src/testdir/Make_ming.mak 2010-10-27 18:36:32.000000000 +0200 +--- src/testdir/Make_ming.mak 2010-11-10 15:48:53.000000000 +0100 +*************** +*** 48,54 **** + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out test75.out + + SCRIPTS32 = test50.out test70.out + +--- 48,54 ---- + test37.out test38.out test39.out test40.out test41.out \ + test42.out test52.out test65.out test66.out test67.out \ + test68.out test69.out test71.out test72.out test73.out \ +! test74.out test75.out test76.out + + SCRIPTS32 = test50.out test70.out + +*** ../vim-7.3.051/src/testdir/Make_os2.mak 2010-10-27 18:36:32.000000000 +0200 +--- src/testdir/Make_os2.mak 2010-11-10 15:49:10.000000000 +0100 +*************** +*** 27,33 **** + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out test75.out + + .SUFFIXES: .in .out + +--- 27,34 ---- + test56.out test57.out test58.out test59.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out test70.out \ +! test71.out test72.out test73.out test74.out test75.out \ +! test76.out + + .SUFFIXES: .in .out + +*** ../vim-7.3.051/src/testdir/Make_vms.mms 2010-10-27 18:36:32.000000000 +0200 +--- src/testdir/Make_vms.mms 2010-11-10 15:49:32.000000000 +0100 +*************** +*** 4,10 **** + # Authors: Zoltan Arpadffy, arpadffy@polarhome.com + # Sandor Kopanyi, sandor.kopanyi@mailbox.hu + # +! # Last change: 2010 Oct 20 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +--- 4,10 ---- + # Authors: Zoltan Arpadffy, arpadffy@polarhome.com + # Sandor Kopanyi, sandor.kopanyi@mailbox.hu + # +! # Last change: 2010 Nov 10 + # + # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. + # Edit the lines in the Configuration section below to select. +*************** +*** 74,80 **** + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out test74.out test75.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +--- 74,80 ---- + test56.out test57.out test60.out \ + test61.out test62.out test63.out test64.out test65.out \ + test66.out test67.out test68.out test69.out \ +! test71.out test72.out test74.out test75.out test76.out + + # Known problems: + # Test 30: a problem around mac format - unknown reason +*** ../vim-7.3.051/src/testdir/Makefile 2010-10-27 18:36:32.000000000 +0200 +--- src/testdir/Makefile 2010-11-10 15:47:32.000000000 +0100 +*************** +*** 25,31 **** + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ + test69.out test70.out test71.out test72.out test73.out \ +! test74.out test75.out + + SCRIPTS_GUI = test16.out + +--- 25,31 ---- + test59.out test60.out test61.out test62.out test63.out \ + test64.out test65.out test66.out test67.out test68.out \ + test69.out test70.out test71.out test72.out test73.out \ +! test74.out test75.out test76.out + + SCRIPTS_GUI = test16.out + +*** ../vim-7.3.051/src/testdir/test76.in 2010-11-10 16:51:45.000000000 +0100 +--- src/testdir/test76.in 2010-11-10 16:38:45.000000000 +0100 +*************** +*** 0 **** +--- 1,46 ---- ++ Tests for completefunc/omnifunc. vim: set ft=vim : ++ ++ STARTTEST ++ :"Test that nothing happens if the 'completefunc' opens ++ :"a new window (no completion, no crash) ++ :so small.vim ++ :function! DummyCompleteOne(findstart, base) ++ : if a:findstart ++ : return 0 ++ : else ++ : wincmd n ++ : return ['onedef', 'oneDEF'] ++ : endif ++ :endfunction ++ :setlocal completefunc=DummyCompleteOne ++ /^one ++ A:q! ++ :function! DummyCompleteTwo(findstart, base) ++ : if a:findstart ++ : wincmd n ++ : return 0 ++ : else ++ : return ['twodef', 'twoDEF'] ++ : endif ++ :endfunction ++ :setlocal completefunc=DummyCompleteTwo ++ /^two ++ A:q! ++ :"Test that 'completefunc' works when it's OK. ++ :function! DummyCompleteThree(findstart, base) ++ : if a:findstart ++ : return 0 ++ : else ++ : return ['threedef', 'threeDEF'] ++ : endif ++ :endfunction ++ :setlocal completefunc=DummyCompleteThree ++ /^three ++ A:/^+++/,/^three/w! test.out ++ :qa! ++ ENDTEST ++ ++ +++ ++ one ++ two ++ three +*** ../vim-7.3.051/src/testdir/test76.ok 2010-11-10 16:51:45.000000000 +0100 +--- src/testdir/test76.ok 2010-11-10 16:38:58.000000000 +0100 +*************** +*** 0 **** +--- 1,4 ---- ++ +++ ++ ++ two ++ threeDEF +*** ../vim-7.3.051/src/version.c 2010-11-10 15:37:00.000000000 +0100 +--- src/version.c 2010-11-10 16:40:29.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 52, + /**/ + +-- +BRIDGEKEEPER: What is the air-speed velocity of an unladen swallow? +ARTHUR: What do you mean? An African or European swallow? +BRIDGEKEEPER: Er ... I don't know that ... Aaaaarrrrrrggghhh! + BRIDGEKEEPER is cast into the gorge. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.053.patch0 b/pkgs/core/vim/patches/vim-7.3.053.patch0 new file mode 100644 index 0000000..687b39d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.053.patch0 @@ -0,0 +1,89 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.053 +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.3.053 +Problem: complete() function doesn't reset complete direction. Can't use + an empty string in the list of matches. +Solution: Set compl_direction to FORWARD. Add "empty" key to allow empty + words. (Kikuchan) +Files: src/edit.c + + +*** ../vim-7.3.052/src/edit.c 2010-11-10 16:54:16.000000000 +0100 +--- src/edit.c 2010-11-10 17:03:23.000000000 +0100 +*************** +*** 2662,2667 **** +--- 2662,2668 ---- + if (stop_arrow() == FAIL) + return; + ++ compl_direction = FORWARD; + if (startcol > curwin->w_cursor.col) + startcol = curwin->w_cursor.col; + compl_col = startcol; +*************** +*** 3909,3914 **** +--- 3910,3916 ---- + char_u *word; + int icase = FALSE; + int adup = FALSE; ++ int aempty = FALSE; + char_u *(cptext[CPT_COUNT]); + + if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL) +*************** +*** 3926,3938 **** + icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase"); + if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL) + adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup"); + } + else + { + word = get_tv_string_chk(tv); + vim_memset(cptext, 0, sizeof(cptext)); + } +! if (word == NULL || *word == NUL) + return FAIL; + return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup); + } +--- 3928,3942 ---- + icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase"); + if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL) + adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup"); ++ if (get_dict_string(tv->vval.v_dict, (char_u *)"empty", FALSE) != NULL) ++ aempty = get_dict_number(tv->vval.v_dict, (char_u *)"empty"); + } + else + { + word = get_tv_string_chk(tv); + vim_memset(cptext, 0, sizeof(cptext)); + } +! if (word == NULL || (!aempty && *word == NUL)) + return FAIL; + return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup); + } +*** ../vim-7.3.052/src/version.c 2010-11-10 16:54:16.000000000 +0100 +--- src/version.c 2010-11-10 17:10:39.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 53, + /**/ + +-- +BEDEVERE: How do you know so much about swallows? +ARTHUR: Well you have to know these things when you're a king, you know. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.054.patch0 b/pkgs/core/vim/patches/vim-7.3.054.patch0 new file mode 100644 index 0000000..2fd7236 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.054.patch0 @@ -0,0 +1,112 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.054 +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.3.054 +Problem: Can define a user command for :Print, but it doesn't work. (Aaron + Thoma) +Solution: Let user command :Print overrule the builtin command (Christian + Brabandt) Disallow :X and :Next as a user defined command. +Files: src/ex_docmd.c + + +*** ../vim-7.3.053/src/ex_docmd.c 2010-10-13 17:50:02.000000000 +0200 +--- src/ex_docmd.c 2010-11-10 18:33:18.000000000 +0100 +*************** +*** 2871,2878 **** + } + + #ifdef FEAT_USR_CMDS +! /* Look for a user defined command as a last resort */ +! if (eap->cmdidx == CMD_SIZE && *eap->cmd >= 'A' && *eap->cmd <= 'Z') + { + /* User defined commands may contain digits. */ + while (ASCII_ISALNUM(*p)) +--- 2871,2880 ---- + } + + #ifdef FEAT_USR_CMDS +! /* Look for a user defined command as a last resort. Let ":Print" be +! * overruled by a user defined command. */ +! if ((eap->cmdidx == CMD_SIZE || eap->cmdidx == CMD_Print) +! && *eap->cmd >= 'A' && *eap->cmd <= 'Z') + { + /* User defined commands may contain digits. */ + while (ASCII_ISALNUM(*p)) +*************** +*** 5588,5593 **** +--- 5590,5596 ---- + int compl = EXPAND_NOTHING; + char_u *compl_arg = NULL; + int has_attr = (eap->arg[0] == '-'); ++ int name_len; + + p = eap->arg; + +*************** +*** 5613,5618 **** +--- 5616,5622 ---- + return; + } + end = p; ++ name_len = (int)(end - name); + + /* If there is nothing after the name, and no attributes were specified, + * we are listing commands +*************** +*** 5627,5632 **** +--- 5631,5643 ---- + EMSG(_("E183: User defined commands must start with an uppercase letter")); + return; + } ++ else if ((name_len == 1 && *name == 'X') ++ || (name_len <= 4 ++ && STRNCMP(name, "Next", name_len > 4 ? 4 : name_len) == 0)) ++ { ++ EMSG(_("E841: Reserved name, cannot be used for user defined command")); ++ return; ++ } + else + uc_add_command(name, end - name, p, argt, def, flags, compl, compl_arg, + eap->forceit); +*************** +*** 9394,9400 **** + ex_ptag(eap) + exarg_T *eap; + { +! g_do_tagpreview = p_pvh; + ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1); + } + +--- 9405,9411 ---- + ex_ptag(eap) + exarg_T *eap; + { +! g_do_tagpreview = p_pvh; /* will be reset to 0 in ex_tag_cmd() */ + ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1); + } + +*** ../vim-7.3.053/src/version.c 2010-11-10 17:11:29.000000000 +0100 +--- src/version.c 2010-11-10 18:58:28.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 54, + /**/ + +-- +You can be stopped by the police for biking over 65 miles per hour. +You are not allowed to walk across a street on your hands. + [real standing laws in Connecticut, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.055.patch0 b/pkgs/core/vim/patches/vim-7.3.055.patch0 new file mode 100644 index 0000000..5e6ca16 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.055.patch0 @@ -0,0 +1,359 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.055 +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.3.055 +Problem: Recursively nested lists and dictionaries cause a near-endless + loop when comparing them with a copy. (ZyX) +Solution: Limit recursiveness in a way that non-recursive structures can + still be nested very deep. +Files: src/eval.c, src/testdir/test55.in, src/testdir/test55.ok + + +*** ../vim-7.3.054/src/eval.c 2010-10-20 21:22:17.000000000 +0200 +--- src/eval.c 2010-11-10 20:02:57.000000000 +0100 +*************** +*** 434,442 **** + static void listitem_free __ARGS((listitem_T *item)); + static void listitem_remove __ARGS((list_T *l, listitem_T *item)); + static long list_len __ARGS((list_T *l)); +! static int list_equal __ARGS((list_T *l1, list_T *l2, int ic)); +! static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic)); +! static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic)); + static listitem_T *list_find __ARGS((list_T *l, long n)); + static long list_find_nr __ARGS((list_T *l, long idx, int *errorp)); + static long list_idx_of_item __ARGS((list_T *l, listitem_T *item)); +--- 434,442 ---- + static void listitem_free __ARGS((listitem_T *item)); + static void listitem_remove __ARGS((list_T *l, listitem_T *item)); + static long list_len __ARGS((list_T *l)); +! static int list_equal __ARGS((list_T *l1, list_T *l2, int ic, int recursive)); +! static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic, int recursive)); +! static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic, int recursive)); + static listitem_T *list_find __ARGS((list_T *l, long n)); + static long list_find_nr __ARGS((list_T *l, long idx, int *errorp)); + static long list_idx_of_item __ARGS((list_T *l, listitem_T *item)); +*************** +*** 4350,4356 **** + else + { + /* Compare two Lists for being equal or unequal. */ +! n1 = list_equal(rettv->vval.v_list, var2.vval.v_list, ic); + if (type == TYPE_NEQUAL) + n1 = !n1; + } +--- 4350,4357 ---- + else + { + /* Compare two Lists for being equal or unequal. */ +! n1 = list_equal(rettv->vval.v_list, var2.vval.v_list, +! ic, FALSE); + if (type == TYPE_NEQUAL) + n1 = !n1; + } +*************** +*** 4379,4385 **** + else + { + /* Compare two Dictionaries for being equal or unequal. */ +! n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict, ic); + if (type == TYPE_NEQUAL) + n1 = !n1; + } +--- 4380,4387 ---- + else + { + /* Compare two Dictionaries for being equal or unequal. */ +! n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict, +! ic, FALSE); + if (type == TYPE_NEQUAL) + n1 = !n1; + } +*************** +*** 5914,5923 **** + * Return TRUE when two lists have exactly the same values. + */ + static int +! list_equal(l1, l2, ic) + list_T *l1; + list_T *l2; + int ic; /* ignore case for strings */ + { + listitem_T *item1, *item2; + +--- 5916,5926 ---- + * Return TRUE when two lists have exactly the same values. + */ + static int +! list_equal(l1, l2, ic, recursive) + list_T *l1; + list_T *l2; + int ic; /* ignore case for strings */ ++ int recursive; /* TRUE when used recursively */ + { + listitem_T *item1, *item2; + +*************** +*** 5931,5937 **** + for (item1 = l1->lv_first, item2 = l2->lv_first; + item1 != NULL && item2 != NULL; + item1 = item1->li_next, item2 = item2->li_next) +! if (!tv_equal(&item1->li_tv, &item2->li_tv, ic)) + return FALSE; + return item1 == NULL && item2 == NULL; + } +--- 5934,5940 ---- + for (item1 = l1->lv_first, item2 = l2->lv_first; + item1 != NULL && item2 != NULL; + item1 = item1->li_next, item2 = item2->li_next) +! if (!tv_equal(&item1->li_tv, &item2->li_tv, ic, recursive)) + return FALSE; + return item1 == NULL && item2 == NULL; + } +*************** +*** 5953,5962 **** + * Return TRUE when two dictionaries have exactly the same key/values. + */ + static int +! dict_equal(d1, d2, ic) + dict_T *d1; + dict_T *d2; + int ic; /* ignore case for strings */ + { + hashitem_T *hi; + dictitem_T *item2; +--- 5956,5966 ---- + * Return TRUE when two dictionaries have exactly the same key/values. + */ + static int +! dict_equal(d1, d2, ic, recursive) + dict_T *d1; + dict_T *d2; + int ic; /* ignore case for strings */ ++ int recursive; /* TRUE when used recursively */ + { + hashitem_T *hi; + dictitem_T *item2; +*************** +*** 5977,5983 **** + item2 = dict_find(d2, hi->hi_key, -1); + if (item2 == NULL) + return FALSE; +! if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic)) + return FALSE; + --todo; + } +--- 5981,5987 ---- + item2 = dict_find(d2, hi->hi_key, -1); + if (item2 == NULL) + return FALSE; +! if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic, recursive)) + return FALSE; + --todo; + } +*************** +*** 5985,6025 **** + return TRUE; + } + + /* + * Return TRUE if "tv1" and "tv2" have the same value. + * Compares the items just like "==" would compare them, but strings and + * numbers are different. Floats and numbers are also different. + */ + static int +! tv_equal(tv1, tv2, ic) + typval_T *tv1; + typval_T *tv2; +! int ic; /* ignore case */ + { + char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN]; + char_u *s1, *s2; +! static int recursive = 0; /* cach recursive loops */ + int r; + + if (tv1->v_type != tv2->v_type) + return FALSE; + /* Catch lists and dicts that have an endless loop by limiting +! * recursiveness to 1000. We guess they are equal then. */ +! if (recursive >= 1000) + return TRUE; + + switch (tv1->v_type) + { + case VAR_LIST: +! ++recursive; +! r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic); +! --recursive; + return r; + + case VAR_DICT: +! ++recursive; +! r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic); +! --recursive; + return r; + + case VAR_FUNC: +--- 5989,6042 ---- + return TRUE; + } + ++ static int tv_equal_recurse_limit; ++ + /* + * Return TRUE if "tv1" and "tv2" have the same value. + * Compares the items just like "==" would compare them, but strings and + * numbers are different. Floats and numbers are also different. + */ + static int +! tv_equal(tv1, tv2, ic, recursive) + typval_T *tv1; + typval_T *tv2; +! int ic; /* ignore case */ +! int recursive; /* TRUE when used recursively */ + { + char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN]; + char_u *s1, *s2; +! static int recursive_cnt = 0; /* catch recursive loops */ + int r; + + if (tv1->v_type != tv2->v_type) + return FALSE; ++ + /* Catch lists and dicts that have an endless loop by limiting +! * recursiveness to a limit. We guess they are equal then. +! * A fixed limit has the problem of still taking an awful long time. +! * Reduce the limit every time running into it. That should work fine for +! * deeply linked structures that are not recursively linked and catch +! * recursiveness quickly. */ +! if (!recursive) +! tv_equal_recurse_limit = 1000; +! if (recursive_cnt >= tv_equal_recurse_limit) +! { +! --tv_equal_recurse_limit; + return TRUE; ++ } + + switch (tv1->v_type) + { + case VAR_LIST: +! ++recursive_cnt; +! r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic, TRUE); +! --recursive_cnt; + return r; + + case VAR_DICT: +! ++recursive_cnt; +! r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic, TRUE); +! --recursive_cnt; + return r; + + case VAR_FUNC: +*************** +*** 9391,9397 **** + } + + for ( ; li != NULL; li = li->li_next) +! if (tv_equal(&li->li_tv, &argvars[1], ic)) + ++n; + } + } +--- 9408,9414 ---- + } + + for ( ; li != NULL; li = li->li_next) +! if (tv_equal(&li->li_tv, &argvars[1], ic, FALSE)) + ++n; + } + } +*************** +*** 9418,9424 **** + if (!HASHITEM_EMPTY(hi)) + { + --todo; +! if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic)) + ++n; + } + } +--- 9435,9441 ---- + if (!HASHITEM_EMPTY(hi)) + { + --todo; +! if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic, FALSE)) + ++n; + } + } +*************** +*** 12574,12580 **** + } + + for ( ; item != NULL; item = item->li_next, ++idx) +! if (tv_equal(&item->li_tv, &argvars[1], ic)) + { + rettv->vval.v_number = idx; + break; +--- 12591,12597 ---- + } + + for ( ; item != NULL; item = item->li_next, ++idx) +! if (tv_equal(&item->li_tv, &argvars[1], ic, FALSE)) + { + rettv->vval.v_number = idx; + break; +*** ../vim-7.3.054/src/testdir/test55.in 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test55.in 2010-11-10 20:15:27.000000000 +0100 +*************** +*** 342,348 **** +--- 342,359 ---- + :$put =(d == d) + :$put =(l != deepcopy(l)) + :$put =(d != deepcopy(d)) ++ :" ++ :" compare complex recursively linked list and dict ++ :let l = [] ++ :call add(l, l) ++ :let dict4 = {"l": l} ++ :call add(dict4.l, dict4) ++ :let lcopy = deepcopy(l) ++ :let dict4copy = deepcopy(dict4) ++ :$put =(l == lcopy) ++ :$put =(dict4 == dict4copy) + :endfun ++ :" + :call Test(1, 2, [3, 4], {5: 6}) " This may take a while + :" + :delfunc Test +*** ../vim-7.3.054/src/testdir/test55.ok 2010-08-15 21:57:29.000000000 +0200 +--- src/testdir/test55.ok 2010-11-10 20:16:37.000000000 +0100 +*************** +*** 109,111 **** +--- 109,113 ---- + 1 + 0 + 0 ++ 1 ++ 1 +*** ../vim-7.3.054/src/version.c 2010-11-10 18:59:50.000000000 +0100 +--- src/version.c 2010-11-10 20:10:51.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 55, + /**/ + +-- +A special law prohibits unmarried women from parachuting on Sunday or she +shall risk arrest, fine, and/or jailing. + [real standing law in Florida, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ download, build and distribute -- http://www.A-A-P.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.056.patch0 b/pkgs/core/vim/patches/vim-7.3.056.patch0 new file mode 100644 index 0000000..49c91b6 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.056.patch0 @@ -0,0 +1,542 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.056 +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.3.056 +Problem: "getline" argument in do_cmdline() shadows global. +Solution: Rename the argument. +Files: src/ex_docmd.c + + +*** ../vim-7.3.055/src/ex_docmd.c 2010-11-10 18:59:50.000000000 +0100 +--- src/ex_docmd.c 2010-11-16 11:24:40.000000000 +0100 +*************** +*** 733,739 **** + * do_cmdline(): execute one Ex command line + * + * 1. Execute "cmdline" when it is not NULL. +! * If "cmdline" is NULL, or more lines are needed, getline() is used. + * 2. Split up in parts separated with '|'. + * + * This function can be called recursively! +--- 733,739 ---- + * do_cmdline(): execute one Ex command line + * + * 1. Execute "cmdline" when it is not NULL. +! * If "cmdline" is NULL, or more lines are needed, fgetline() is used. + * 2. Split up in parts separated with '|'. + * + * This function can be called recursively! +*************** +*** 741,747 **** + * flags: + * DOCMD_VERBOSE - The command will be included in the error message. + * DOCMD_NOWAIT - Don't call wait_return() and friends. +! * DOCMD_REPEAT - Repeat execution until getline() returns NULL. + * DOCMD_KEYTYPED - Don't reset KeyTyped. + * DOCMD_EXCRESET - Reset the exception environment (used for debugging). + * DOCMD_KEEPLINE - Store first typed line (for repeating with "."). +--- 741,747 ---- + * flags: + * DOCMD_VERBOSE - The command will be included in the error message. + * DOCMD_NOWAIT - Don't call wait_return() and friends. +! * DOCMD_REPEAT - Repeat execution until fgetline() returns NULL. + * DOCMD_KEYTYPED - Don't reset KeyTyped. + * DOCMD_EXCRESET - Reset the exception environment (used for debugging). + * DOCMD_KEEPLINE - Store first typed line (for repeating with "."). +*************** +*** 749,763 **** + * return FAIL if cmdline could not be executed, OK otherwise + */ + int +! do_cmdline(cmdline, getline, cookie, flags) + char_u *cmdline; +! char_u *(*getline) __ARGS((int, void *, int)); +! void *cookie; /* argument for getline() */ + int flags; + { + char_u *next_cmdline; /* next cmd to execute */ + char_u *cmdline_copy = NULL; /* copy of cmd line */ +! int used_getline = FALSE; /* used "getline" to obtain command */ + static int recursive = 0; /* recursive depth */ + int msg_didout_before_start = 0; + int count = 0; /* line number count */ +--- 749,763 ---- + * return FAIL if cmdline could not be executed, OK otherwise + */ + int +! do_cmdline(cmdline, fgetline, cookie, flags) + char_u *cmdline; +! char_u *(*fgetline) __ARGS((int, void *, int)); +! void *cookie; /* argument for fgetline() */ + int flags; + { + char_u *next_cmdline; /* next cmd to execute */ + char_u *cmdline_copy = NULL; /* copy of cmd line */ +! int used_getline = FALSE; /* used "fgetline" to obtain command */ + static int recursive = 0; /* recursive depth */ + int msg_didout_before_start = 0; + int count = 0; /* line number count */ +*************** +*** 775,788 **** + struct msglist **saved_msg_list = NULL; + struct msglist *private_msg_list; + +! /* "getline" and "cookie" passed to do_one_cmd() */ + char_u *(*cmd_getline) __ARGS((int, void *, int)); + void *cmd_cookie; + struct loop_cookie cmd_loop_cookie; + void *real_cookie; + int getline_is_func; + #else +! # define cmd_getline getline + # define cmd_cookie cookie + #endif + static int call_depth = 0; /* recursiveness */ +--- 775,788 ---- + struct msglist **saved_msg_list = NULL; + struct msglist *private_msg_list; + +! /* "fgetline" and "cookie" passed to do_one_cmd() */ + char_u *(*cmd_getline) __ARGS((int, void *, int)); + void *cmd_cookie; + struct loop_cookie cmd_loop_cookie; + void *real_cookie; + int getline_is_func; + #else +! # define cmd_getline fgetline + # define cmd_cookie cookie + #endif + static int call_depth = 0; /* recursiveness */ +*************** +*** 822,831 **** + cstack.cs_lflags = 0; + ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10); + +! real_cookie = getline_cookie(getline, cookie); + + /* Inside a function use a higher nesting level. */ +! getline_is_func = getline_equal(getline, cookie, get_func_line); + if (getline_is_func && ex_nesting_level == func_level(real_cookie)) + ++ex_nesting_level; + +--- 822,831 ---- + cstack.cs_lflags = 0; + ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10); + +! real_cookie = getline_cookie(fgetline, cookie); + + /* Inside a function use a higher nesting level. */ +! getline_is_func = getline_equal(fgetline, cookie, get_func_line); + if (getline_is_func && ex_nesting_level == func_level(real_cookie)) + ++ex_nesting_level; + +*************** +*** 837,843 **** + breakpoint = func_breakpoint(real_cookie); + dbg_tick = func_dbg_tick(real_cookie); + } +! else if (getline_equal(getline, cookie, getsourceline)) + { + fname = sourcing_name; + breakpoint = source_breakpoint(real_cookie); +--- 837,843 ---- + breakpoint = func_breakpoint(real_cookie); + dbg_tick = func_dbg_tick(real_cookie); + } +! else if (getline_equal(fgetline, cookie, getsourceline)) + { + fname = sourcing_name; + breakpoint = source_breakpoint(real_cookie); +*************** +*** 881,887 **** + * KeyTyped is only set when calling vgetc(). Reset it here when not + * calling vgetc() (sourced command lines). + */ +! if (!(flags & DOCMD_KEYTYPED) && !getline_equal(getline, cookie, getexline)) + KeyTyped = FALSE; + + /* +--- 881,888 ---- + * KeyTyped is only set when calling vgetc(). Reset it here when not + * calling vgetc() (sourced command lines). + */ +! if (!(flags & DOCMD_KEYTYPED) +! && !getline_equal(fgetline, cookie, getexline)) + KeyTyped = FALSE; + + /* +*************** +*** 894,900 **** + do + { + #ifdef FEAT_EVAL +! getline_is_func = getline_equal(getline, cookie, get_func_line); + #endif + + /* stop skipping cmds for an error msg after all endif/while/for */ +--- 895,901 ---- + do + { + #ifdef FEAT_EVAL +! getline_is_func = getline_equal(fgetline, cookie, get_func_line); + #endif + + /* stop skipping cmds for an error msg after all endif/while/for */ +*************** +*** 909,915 **** + + /* + * 1. If repeating a line in a loop, get a line from lines_ga. +! * 2. If no line given: Get an allocated line with getline(). + * 3. If a line is given: Make a copy, so we can mess with it. + */ + +--- 910,916 ---- + + /* + * 1. If repeating a line in a loop, get a line from lines_ga. +! * 2. If no line given: Get an allocated line with fgetline(). + * 3. If a line is given: Make a copy, so we can mess with it. + */ + +*************** +*** 938,949 **** + } + #ifdef FEAT_PROFILE + else if (do_profiling == PROF_YES +! && getline_equal(getline, cookie, getsourceline)) + script_line_end(); + #endif + + /* Check if a sourced file hit a ":finish" command. */ +! if (source_finished(getline, cookie)) + { + retval = FAIL; + break; +--- 939,950 ---- + } + #ifdef FEAT_PROFILE + else if (do_profiling == PROF_YES +! && getline_equal(fgetline, cookie, getsourceline)) + script_line_end(); + #endif + + /* Check if a sourced file hit a ":finish" command. */ +! if (source_finished(fgetline, cookie)) + { + retval = FAIL; + break; +*************** +*** 954,960 **** + && *dbg_tick != debug_tick) + { + *breakpoint = dbg_find_breakpoint( +! getline_equal(getline, cookie, getsourceline), + fname, sourcing_lnum); + *dbg_tick = debug_tick; + } +--- 955,961 ---- + && *dbg_tick != debug_tick) + { + *breakpoint = dbg_find_breakpoint( +! getline_equal(fgetline, cookie, getsourceline), + fname, sourcing_lnum); + *dbg_tick = debug_tick; + } +*************** +*** 969,975 **** + dbg_breakpoint(fname, sourcing_lnum); + /* Find next breakpoint. */ + *breakpoint = dbg_find_breakpoint( +! getline_equal(getline, cookie, getsourceline), + fname, sourcing_lnum); + *dbg_tick = debug_tick; + } +--- 970,976 ---- + dbg_breakpoint(fname, sourcing_lnum); + /* Find next breakpoint. */ + *breakpoint = dbg_find_breakpoint( +! getline_equal(fgetline, cookie, getsourceline), + fname, sourcing_lnum); + *dbg_tick = debug_tick; + } +*************** +*** 978,984 **** + { + if (getline_is_func) + func_line_start(real_cookie); +! else if (getline_equal(getline, cookie, getsourceline)) + script_line_start(); + } + # endif +--- 979,985 ---- + { + if (getline_is_func) + func_line_start(real_cookie); +! else if (getline_equal(fgetline, cookie, getsourceline)) + script_line_start(); + } + # endif +*************** +*** 987,993 **** + if (cstack.cs_looplevel > 0) + { + /* Inside a while/for loop we need to store the lines and use them +! * again. Pass a different "getline" function to do_one_cmd() + * below, so that it stores lines in or reads them from + * "lines_ga". Makes it possible to define a function inside a + * while/for loop. */ +--- 988,994 ---- + if (cstack.cs_looplevel > 0) + { + /* Inside a while/for loop we need to store the lines and use them +! * again. Pass a different "fgetline" function to do_one_cmd() + * below, so that it stores lines in or reads them from + * "lines_ga". Makes it possible to define a function inside a + * while/for loop. */ +*************** +*** 995,1021 **** + cmd_cookie = (void *)&cmd_loop_cookie; + cmd_loop_cookie.lines_gap = &lines_ga; + cmd_loop_cookie.current_line = current_line; +! cmd_loop_cookie.getline = getline; + cmd_loop_cookie.cookie = cookie; + cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len); + } + else + { +! cmd_getline = getline; + cmd_cookie = cookie; + } + #endif + +! /* 2. If no line given, get an allocated line with getline(). */ + if (next_cmdline == NULL) + { + /* + * Need to set msg_didout for the first line after an ":if", + * otherwise the ":if" will be overwritten. + */ +! if (count == 1 && getline_equal(getline, cookie, getexline)) + msg_didout = TRUE; +! if (getline == NULL || (next_cmdline = getline(':', cookie, + #ifdef FEAT_EVAL + cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2 + #else +--- 996,1022 ---- + cmd_cookie = (void *)&cmd_loop_cookie; + cmd_loop_cookie.lines_gap = &lines_ga; + cmd_loop_cookie.current_line = current_line; +! cmd_loop_cookie.getline = fgetline; + cmd_loop_cookie.cookie = cookie; + cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len); + } + else + { +! cmd_getline = fgetline; + cmd_cookie = cookie; + } + #endif + +! /* 2. If no line given, get an allocated line with fgetline(). */ + if (next_cmdline == NULL) + { + /* + * Need to set msg_didout for the first line after an ":if", + * otherwise the ":if" will be overwritten. + */ +! if (count == 1 && getline_equal(fgetline, cookie, getexline)) + msg_didout = TRUE; +! if (fgetline == NULL || (next_cmdline = fgetline(':', cookie, + #ifdef FEAT_EVAL + cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2 + #else +*************** +*** 1142,1148 **** + * If the command was typed, remember it for the ':' register. + * Do this AFTER executing the command to make :@: work. + */ +! if (getline_equal(getline, cookie, getexline) + && new_last_cmdline != NULL) + { + vim_free(last_cmdline); +--- 1143,1149 ---- + * If the command was typed, remember it for the ':' register. + * Do this AFTER executing the command to make :@: work. + */ +! if (getline_equal(fgetline, cookie, getexline) + && new_last_cmdline != NULL) + { + vim_free(last_cmdline); +*************** +*** 1163,1169 **** + #ifdef FEAT_EVAL + /* reset did_emsg for a function that is not aborted by an error */ + if (did_emsg && !force_abort +! && getline_equal(getline, cookie, get_func_line) + && !func_has_abort(real_cookie)) + did_emsg = FALSE; + +--- 1164,1170 ---- + #ifdef FEAT_EVAL + /* reset did_emsg for a function that is not aborted by an error */ + if (did_emsg && !force_abort +! && getline_equal(fgetline, cookie, get_func_line) + && !func_has_abort(real_cookie)) + did_emsg = FALSE; + +*************** +*** 1202,1208 **** + if (breakpoint != NULL) + { + *breakpoint = dbg_find_breakpoint( +! getline_equal(getline, cookie, getsourceline), + fname, + ((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1); + *dbg_tick = debug_tick; +--- 1203,1209 ---- + if (breakpoint != NULL) + { + *breakpoint = dbg_find_breakpoint( +! getline_equal(fgetline, cookie, getsourceline), + fname, + ((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1); + *dbg_tick = debug_tick; +*************** +*** 1296,1303 **** + #endif + ) + && !(did_emsg && used_getline +! && (getline_equal(getline, cookie, getexmodeline) +! || getline_equal(getline, cookie, getexline))) + && (next_cmdline != NULL + #ifdef FEAT_EVAL + || cstack.cs_idx >= 0 +--- 1297,1304 ---- + #endif + ) + && !(did_emsg && used_getline +! && (getline_equal(fgetline, cookie, getexmodeline) +! || getline_equal(fgetline, cookie, getexline))) + && (next_cmdline != NULL + #ifdef FEAT_EVAL + || cstack.cs_idx >= 0 +*************** +*** 1316,1324 **** + * unclosed conditional. + */ + if (!got_int && !did_throw +! && ((getline_equal(getline, cookie, getsourceline) +! && !source_finished(getline, cookie)) +! || (getline_equal(getline, cookie, get_func_line) + && !func_has_ended(real_cookie)))) + { + if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY) +--- 1317,1325 ---- + * unclosed conditional. + */ + if (!got_int && !did_throw +! && ((getline_equal(fgetline, cookie, getsourceline) +! && !source_finished(fgetline, cookie)) +! || (getline_equal(fgetline, cookie, get_func_line) + && !func_has_ended(real_cookie)))) + { + if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY) +*************** +*** 1354,1360 **** + /* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory + * lack was reported above and the error message is to be converted to an + * exception, do this now after rewinding the cstack. */ +! do_errthrow(&cstack, getline_equal(getline, cookie, get_func_line) + ? (char_u *)"endfunction" : (char_u *)NULL); + + if (trylevel == 0) +--- 1355,1361 ---- + /* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory + * lack was reported above and the error message is to be converted to an + * exception, do this now after rewinding the cstack. */ +! do_errthrow(&cstack, getline_equal(fgetline, cookie, get_func_line) + ? (char_u *)"endfunction" : (char_u *)NULL); + + if (trylevel == 0) +*************** +*** 1449,1457 **** + */ + if (did_throw) + need_rethrow = TRUE; +! if ((getline_equal(getline, cookie, getsourceline) + && ex_nesting_level > source_level(real_cookie)) +! || (getline_equal(getline, cookie, get_func_line) + && ex_nesting_level > func_level(real_cookie) + 1)) + { + if (!did_throw) +--- 1450,1458 ---- + */ + if (did_throw) + need_rethrow = TRUE; +! if ((getline_equal(fgetline, cookie, getsourceline) + && ex_nesting_level > source_level(real_cookie)) +! || (getline_equal(fgetline, cookie, get_func_line) + && ex_nesting_level > func_level(real_cookie) + 1)) + { + if (!did_throw) +*************** +*** 1460,1475 **** + else + { + /* When leaving a function, reduce nesting level. */ +! if (getline_equal(getline, cookie, get_func_line)) + --ex_nesting_level; + /* + * Go to debug mode when returning from a function in which we are + * single-stepping. + */ +! if ((getline_equal(getline, cookie, getsourceline) +! || getline_equal(getline, cookie, get_func_line)) + && ex_nesting_level + 1 <= debug_break_level) +! do_debug(getline_equal(getline, cookie, getsourceline) + ? (char_u *)_("End of sourced file") + : (char_u *)_("End of function")); + } +--- 1461,1476 ---- + else + { + /* When leaving a function, reduce nesting level. */ +! if (getline_equal(fgetline, cookie, get_func_line)) + --ex_nesting_level; + /* + * Go to debug mode when returning from a function in which we are + * single-stepping. + */ +! if ((getline_equal(fgetline, cookie, getsourceline) +! || getline_equal(fgetline, cookie, get_func_line)) + && ex_nesting_level + 1 <= debug_break_level) +! do_debug(getline_equal(fgetline, cookie, getsourceline) + ? (char_u *)_("End of sourced file") + : (char_u *)_("End of function")); + } +*** ../vim-7.3.055/src/version.c 2010-11-16 11:28:33.000000000 +0100 +--- src/version.c 2010-11-16 11:27:09.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 56, + /**/ + +-- +Lawmakers made it obligatory for everybody to take at least one bath +each week -- on Saturday night. + [real standing law in Vermont, United States of America] + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.057.patch0 b/pkgs/core/vim/patches/vim-7.3.057.patch0 new file mode 100644 index 0000000..d4ea2bc --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.057.patch0 @@ -0,0 +1,62 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.057 +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.3.057 +Problem: Segfault with command line abbreviation. (Randy Morris) +Solution: Don't retrigger the abbreviation when abandoning the command line. + Continue editing the command line after the error. +Files: src/ex_getln.c + + +*** ../vim-7.3.056/src/ex_getln.c 2010-11-10 15:37:00.000000000 +0100 +--- src/ex_getln.c 2010-11-16 14:03:09.000000000 +0100 +*************** +*** 712,718 **** + } + } + beep_flush(); +! c = ESC; + } + #endif + else +--- 712,722 ---- + } + } + beep_flush(); +! got_int = FALSE; /* don't abandon the command line */ +! did_emsg = FALSE; +! emsg_on_display = FALSE; +! redrawcmd(); +! goto cmdline_not_changed; + } + #endif + else +*** ../vim-7.3.056/src/version.c 2010-11-16 11:29:30.000000000 +0100 +--- src/version.c 2010-11-16 14:04:25.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 57, + /**/ + +-- +FROG: How you English say: I one more time, mac, I unclog my nose towards + you, sons of a window-dresser, so, you think you could out-clever us + French fellows with your silly knees-bent creeping about advancing + behaviour. (blows a raspberry) I wave my private parts at your aunties, + you brightly-coloured, mealy-templed, cranberry-smelling, electric + donkey-bottom biters. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.058.patch0 b/pkgs/core/vim/patches/vim-7.3.058.patch0 new file mode 100644 index 0000000..b1ede33 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.058.patch0 @@ -0,0 +1,158 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.058 +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.3.058 +Problem: Error "code converter not found" when loading Ruby script. +Solution: Load Gem module. (Yasuhiro Matsumoto) +Files: src/if_ruby.c + + +*** ../vim-7.3.057/src/if_ruby.c 2010-10-27 17:40:53.000000000 +0200 +--- src/if_ruby.c 2010-11-16 14:37:48.000000000 +0100 +*************** +*** 229,234 **** +--- 229,237 ---- + # define rb_enc_find_index dll_rb_enc_find_index + # define rb_enc_find dll_rb_enc_find + # define rb_enc_str_new dll_rb_enc_str_new ++ # define rb_intern2 dll_rb_intern2 ++ # define rb_const_remove dll_rb_const_remove ++ # define Init_prelude dll_Init_prelude + # define rb_sprintf dll_rb_sprintf + # define ruby_init_stack dll_ruby_init_stack + #endif +*************** +*** 317,322 **** +--- 320,328 ---- + static int (*dll_rb_enc_find_index) (const char*); + static rb_encoding* (*dll_rb_enc_find) (const char*); + static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); ++ static ID (*dll_rb_intern2) (const char*, long); ++ static void (*dll_Init_prelude) (void); ++ static VALUE (*dll_rb_const_remove) (VALUE, ID); + static VALUE (*dll_rb_sprintf) (const char*, ...); + static void (*ruby_init_stack)(VALUE*); + #endif +*************** +*** 425,430 **** +--- 431,439 ---- + {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, + {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, + {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, ++ {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2}, ++ {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove}, ++ {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude}, + {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, + {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, + #endif +*************** +*** 662,667 **** +--- 671,682 ---- + ruby_io_init(); + #ifdef RUBY19_OR_LATER + rb_enc_find_index("encdb"); ++ ++ /* This avoids the error "Encoding::ConverterNotFoundError: code ++ * converter not found (UTF-16LE to ASCII-8BIT)". */ ++ rb_define_module("Gem"); ++ Init_prelude(); ++ rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15)); + #endif + ruby_vim_init(); + ruby_initialized = 1; +*************** +*** 946,958 **** + + static VALUE get_buffer_line(buf_T *buf, linenr_T n) + { +! if (n > 0 && n <= buf->b_ml.ml_line_count) +! { +! char *line = (char *)ml_get_buf(buf, n, FALSE); +! return line ? vim_str2rb_enc_str(line) : Qnil; +! } +! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); +! return Qnil; /* For stop warning */ + } + + static VALUE buffer_aref(VALUE self, VALUE num) +--- 961,969 ---- + + static VALUE get_buffer_line(buf_T *buf, linenr_T n) + { +! if (n <= 0 || n > buf->b_ml.ml_line_count) +! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); +! return vim_str2rb_enc_str((char *)ml_get_buf(buf, n, FALSE)); + } + + static VALUE buffer_aref(VALUE self, VALUE num) +*************** +*** 991,999 **** + else + { + rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); +- #ifndef __GNUC__ +- return Qnil; /* For stop warning */ +- #endif + } + return str; + } +--- 1002,1007 ---- +*************** +*** 1048,1054 **** + long n = NUM2LONG(num); + aco_save_T aco; + +! if (line == NULL) { + rb_raise(rb_eIndexError, "NULL line"); + } + else if (n >= 0 && n <= buf->b_ml.ml_line_count) +--- 1056,1063 ---- + long n = NUM2LONG(num); + aco_save_T aco; + +! if (line == NULL) +! { + rb_raise(rb_eIndexError, "NULL line"); + } + else if (n >= 0 && n <= buf->b_ml.ml_line_count) +*************** +*** 1072,1078 **** + + update_curbuf(NOT_VALID); + } +! else { + rb_raise(rb_eIndexError, "line number %ld out of range", n); + } + return str; +--- 1081,1088 ---- + + update_curbuf(NOT_VALID); + } +! else +! { + rb_raise(rb_eIndexError, "line number %ld out of range", n); + } + return str; +*** ../vim-7.3.057/src/version.c 2010-11-16 14:05:48.000000000 +0100 +--- src/version.c 2010-11-16 14:44:42.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 58, + /**/ + +-- +SIGIRO -- irony detected (iron core dumped) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.059.patch0 b/pkgs/core/vim/patches/vim-7.3.059.patch0 new file mode 100644 index 0000000..6e99f87 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.059.patch0 @@ -0,0 +1,116 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.059 +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.3.059 +Problem: Netbeans: Problem with recursively handling messages for Athena + and Motif. +Solution: Call netbeans_parse_messages() in the main loop, like it's done + for GTK. (Xavier de Gaye) +Files: src/gui_x11.c, src/netbeans.c + + +*** ../vim-7.3.058/src/gui_x11.c 2010-08-15 21:57:25.000000000 +0200 +--- src/gui_x11.c 2010-11-16 14:53:18.000000000 +0100 +*************** +*** 2895,2900 **** +--- 2895,2905 ---- + focus = gui.in_focus; + } + ++ #if defined(FEAT_NETBEANS_INTG) ++ /* Process any queued netbeans messages. */ ++ netbeans_parse_messages(); ++ #endif ++ + /* + * Don't use gui_mch_update() because then we will spin-lock until a + * char arrives, instead we use XtAppProcessEvent() to hang until an +*** ../vim-7.3.058/src/netbeans.c 2010-09-30 21:03:13.000000000 +0200 +--- src/netbeans.c 2010-11-16 14:52:55.000000000 +0100 +*************** +*** 726,734 **** + static char_u *buf = NULL; + int len = 0; + int readlen = 0; +- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) +- static int level = 0; +- #endif + #ifdef HAVE_SELECT + struct timeval tval; + fd_set rfds; +--- 726,731 ---- +*************** +*** 744,756 **** + return; + } + +- #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) +- /* recursion guard; this will be called from the X event loop at unknown +- * moments */ +- if (NB_HAS_GUI) +- ++level; +- #endif +- + /* Allocate a buffer to read into. */ + if (buf == NULL) + { +--- 741,746 ---- +*************** +*** 803,823 **** + return; /* don't try to parse it */ + } + +! #if defined(NB_HAS_GUI) && !defined(FEAT_GUI_W32) +! /* Let the main loop handle messages. */ +! if (NB_HAS_GUI) +! { +! # ifdef FEAT_GUI_GTK +! if (gtk_main_level() > 0) +! gtk_main_quit(); +! # else +! /* Parse the messages now, but avoid recursion. */ +! if (level == 1) +! netbeans_parse_messages(); +! +! --level; +! # endif +! } + #endif + } + +--- 793,801 ---- + return; /* don't try to parse it */ + } + +! #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK) +! if (NB_HAS_GUI && gtk_main_level() > 0) +! gtk_main_quit(); + #endif + } + +*** ../vim-7.3.058/src/version.c 2010-11-16 14:46:14.000000000 +0100 +--- src/version.c 2010-11-16 14:50:57.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 59, + /**/ + + +-- +ARTHUR: If you do not open these doors, we will take this castle by force ... + [A bucket of slops land on ARTHUR. He tries to retain his dignity.] + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.060.patch0 b/pkgs/core/vim/patches/vim-7.3.060.patch0 new file mode 100644 index 0000000..0edf20c --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.060.patch0 @@ -0,0 +1,227 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.060 +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.3.060 +Problem: Netbeans: crash when socket is disconnected unexpectedly. +Solution: Don't cleanup when a read fails, put a message in the queue and + disconnect later. (Xavier de Gaye) +Files: src/netbeans.c + + +*** ../vim-7.3.059/src/netbeans.c 2010-11-16 15:04:51.000000000 +0100 +--- src/netbeans.c 2010-11-16 15:48:36.000000000 +0100 +*************** +*** 135,148 **** + static int needupdate = 0; + static int inAtomic = 0; + + static void +! netbeans_close(void) + { +- if (!NETBEANS_OPEN) +- return; +- +- netbeans_send_disconnect(); +- + #ifdef FEAT_GUI_X11 + if (inputHandler != (XtInputId)NULL) + { +--- 135,146 ---- + static int needupdate = 0; + static int inAtomic = 0; + ++ /* ++ * Close the socket and remove the input handlers. ++ */ + static void +! nb_close_socket(void) + { + #ifdef FEAT_GUI_X11 + if (inputHandler != (XtInputId)NULL) + { +*************** +*** 167,179 **** + # endif + #endif + + #ifdef FEAT_BEVAL + bevalServers &= ~BEVAL_NETBEANS; + #endif + +- sock_close(nbsock); +- nbsock = -1; +- + needupdate = 0; + inAtomic = 0; + nb_free(); +--- 165,191 ---- + # endif + #endif + ++ sock_close(nbsock); ++ nbsock = -1; ++ } ++ ++ /* ++ * Close the connection and cleanup. ++ * May be called when nb_close_socket() was called earlier. ++ */ ++ static void ++ netbeans_close(void) ++ { ++ if (NETBEANS_OPEN) ++ { ++ netbeans_send_disconnect(); ++ nb_close_socket(); ++ } ++ + #ifdef FEAT_BEVAL + bevalServers &= ~BEVAL_NETBEANS; + #endif + + needupdate = 0; + inAtomic = 0; + nb_free(); +*************** +*** 632,640 **** + char_u *p; + queue_T *node; + +- if (!NETBEANS_OPEN) +- return; +- + while (head.next != NULL && head.next != &head) + { + node = head.next; +--- 644,649 ---- +*************** +*** 720,725 **** +--- 729,736 ---- + } + #endif + ++ #define DETACH_MSG "DETACH\n" ++ + void + netbeans_read() + { +*************** +*** 780,801 **** + break; /* did read everything that's available */ + } + + if (readlen <= 0) + { +! /* read error or didn't read anything */ +! netbeans_close(); +! nbdebug(("messageFromNetbeans: Error in read() from socket\n")); + if (len < 0) + { + nbdebug(("read from Netbeans socket\n")); + PERROR(_("read from Netbeans socket")); + } +- return; /* don't try to parse it */ + } + + #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK) + if (NB_HAS_GUI && gtk_main_level() > 0) +! gtk_main_quit(); + #endif + } + +--- 791,822 ---- + break; /* did read everything that's available */ + } + ++ /* Reading a socket disconnection (readlen == 0), or a socket error. */ + if (readlen <= 0) + { +! /* Queue a "DETACH" netbeans message in the command queue in order to +! * terminate the netbeans session later. Do not end the session here +! * directly as we may be running in the context of a call to +! * netbeans_parse_messages(): +! * netbeans_parse_messages +! * -> autocmd triggered while processing the netbeans cmd +! * -> ui_breakcheck +! * -> gui event loop or select loop +! * -> netbeans_read() +! */ +! save((char_u *)DETACH_MSG, strlen(DETACH_MSG)); +! nb_close_socket(); +! + if (len < 0) + { + nbdebug(("read from Netbeans socket\n")); + PERROR(_("read from Netbeans socket")); + } + } + + #if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK) + if (NB_HAS_GUI && gtk_main_level() > 0) +! gtk_main_quit(); + #endif + } + +*************** +*** 1164,1169 **** +--- 1185,1194 ---- + + nbdebug(("REP %d: <none>\n", cmdno)); + ++ /* Avoid printing an annoying error message. */ ++ if (!NETBEANS_OPEN) ++ return; ++ + sprintf(reply, "%d\n", cmdno); + nb_send(reply, "nb_reply_nil"); + } +*************** +*** 2753,2763 **** + { + #ifdef FEAT_GUI + # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \ +! && !defined(FEAT_GUI_W32) + if (gui.in_use) + { +! EMSG(_("E838: netbeans is not supported with this GUI")); +! return; + } + # endif + #endif +--- 2778,2788 ---- + { + #ifdef FEAT_GUI + # if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \ +! && !defined(FEAT_GUI_W32) + if (gui.in_use) + { +! EMSG(_("E838: netbeans is not supported with this GUI")); +! return; + } + # endif + #endif +*** ../vim-7.3.059/src/version.c 2010-11-16 15:04:51.000000000 +0100 +--- src/version.c 2010-11-16 15:22:39.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 60, + /**/ + +-- + Another bucket of what can only be described as human ordure hits ARTHUR. +ARTHUR: ... Right! (to the KNIGHTS) That settles it! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.061.patch0 b/pkgs/core/vim/patches/vim-7.3.061.patch0 new file mode 100644 index 0000000..2b0bdac --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.061.patch0 @@ -0,0 +1,89 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.061 +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.3.061 +Problem: Remote ":drop" does not respect 'autochdir'. (Peter Odding) +Solution: Don't restore the directory when 'autochdir' is set. (Benjamin + Fritz) +Files: src/main.c + + +*** ../vim-7.3.060/src/main.c 2010-09-29 17:26:57.000000000 +0200 +--- src/main.c 2010-11-16 16:16:11.000000000 +0100 +*************** +*** 3817,3822 **** +--- 3817,3824 ---- + /* Check if we have at least one argument. */ + if (filec <= 0) + mainerr_arg_missing((char_u *)filev[-1]); ++ ++ /* Temporarily cd to the current directory to handle relative file names. */ + if (mch_dirname(cwd, MAXPATHL) != OK) + return NULL; + if ((p = vim_strsave_escaped_ext(cwd, +*************** +*** 3858,3870 **** + ga_concat(&ga, p); + vim_free(p); + } + /* The :drop commands goes to Insert mode when 'insertmode' is set, use + * CTRL-\ CTRL-N again. */ +! ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>"); +! ga_concat(&ga, (char_u *)"<C-\><C-N>:cd -"); + if (sendReply) +! ga_concat(&ga, (char_u *)"<CR>:call SetupRemoteReplies()"); +! ga_concat(&ga, (char_u *)"<CR>:"); + if (inicmd != NULL) + { + /* Can't use <CR> after "inicmd", because an "startinsert" would cause +--- 3860,3879 ---- + ga_concat(&ga, p); + vim_free(p); + } ++ ga_concat(&ga, (char_u *)"|if exists('*inputrestore')|call inputrestore()|endif<CR>"); ++ + /* The :drop commands goes to Insert mode when 'insertmode' is set, use + * CTRL-\ CTRL-N again. */ +! ga_concat(&ga, (char_u *)"<C-\><C-N>"); +! +! /* Switch back to the correct current directory (prior to temporary path +! * switch) unless 'autochdir' is set, in which case it will already be +! * correct after the :drop command. */ +! ga_concat(&ga, (char_u *)":if !exists('+acd')||!&acd|cd -|endif<CR>"); +! + if (sendReply) +! ga_concat(&ga, (char_u *)":call SetupRemoteReplies()<CR>"); +! ga_concat(&ga, (char_u *)":"); + if (inicmd != NULL) + { + /* Can't use <CR> after "inicmd", because an "startinsert" would cause +*** ../vim-7.3.060/src/version.c 2010-11-16 15:48:57.000000000 +0100 +--- src/version.c 2010-11-16 16:19:58.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 61, + /**/ + +-- +BEDEVERE: Stand by for attack!! + [CUT TO enormous army forming up. Trebuchets, rows of PIKEMEN, siege + towers, pennants flying, shouts of "Stand by for attack!" Traditional + army build-up shots. The shouts echo across the ranks of the army. + We see various groups reacting, and stirring themselves in readiness.] +ARTHUR: Who are they? +BEDEVERE: Oh, just some friends! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.062.patch0 b/pkgs/core/vim/patches/vim-7.3.062.patch0 new file mode 100644 index 0000000..ee69b3a --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.062.patch0 @@ -0,0 +1,609 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.062 +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.3.062 +Problem: Python doesn't work properly when installed in another directory + than expected. +Solution: Figure out home directory in configure and use Py_SetPythonHome() + at runtime. (Roland Puntaier) +Files: src/configure.in, src/auto/configure, src/if_python.c, + src/if_python3.c + + +*** ../vim-7.3.061/src/configure.in 2010-11-03 22:32:18.000000000 +0100 +--- src/configure.in 2010-11-16 17:47:36.000000000 +0100 +*************** +*** 891,899 **** + + PYTHON_LIBS="${vi_cv_path_python_plibs}" + if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}" + else +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}" + fi + PYTHON_SRC="if_python.c" + dnl For Mac OSX 10.2 config.o is included in the Python library. +--- 891,899 ---- + + PYTHON_LIBS="${vi_cv_path_python_plibs}" + if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\"${vi_cv_path_python_pfx}\"" + else +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\"${vi_cv_path_python_pfx}\"" + fi + PYTHON_SRC="if_python.c" + dnl For Mac OSX 10.2 config.o is included in the Python library. +*************** +*** 905,911 **** + if test "${vi_cv_var_python_version}" = "1.4"; then + PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" + fi +! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='"${vi_cv_path_pythonpath}"' -DPREFIX='"${vi_cv_path_python_pfx}"' -DEXEC_PREFIX='"${vi_cv_path_python_epfx}"'" + + dnl On FreeBSD linking with "-pthread" is required to use threads. + dnl _THREAD_SAFE must be used for compiling then. +--- 905,911 ---- + if test "${vi_cv_var_python_version}" = "1.4"; then + PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" + fi +! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='"${vi_cv_path_pythonpath}"' -DPREFIX='"${vi_cv_path_python_pfx}"' -DEXEC_PREFIX='"${vi_cv_path_python_epfx}"'" + + dnl On FreeBSD linking with "-pthread" is required to use threads. + dnl _THREAD_SAFE must be used for compiling then. +*************** +*** 1063,1071 **** + + PYTHON3_LIBS="${vi_cv_path_python3_plibs}" + if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}" + else +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}" + fi + PYTHON3_SRC="if_python3.c" + dnl For Mac OSX 10.2 config.o is included in the Python library. +--- 1063,1071 ---- + + PYTHON3_LIBS="${vi_cv_path_python3_plibs}" + if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\"${vi_cv_path_python3_pfx}\"" + else +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\"${vi_cv_path_python3_pfx}\"" + fi + PYTHON3_SRC="if_python3.c" + dnl For Mac OSX 10.2 config.o is included in the Python library. +*************** +*** 1143,1151 **** + if test "$python_ok" = yes && test "$python3_ok" = yes; then + AC_DEFINE(DYNAMIC_PYTHON) + AC_DEFINE(DYNAMIC_PYTHON3) +! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL) + cflags_save=$CFLAGS +! CFLAGS="$CFLAGS $PYTHON3_CFLAGS" + ldflags_save=$LDFLAGS + LDFLAGS="$LDFLAGS -ldl" + AC_RUN_IFELSE([ +--- 1143,1151 ---- + if test "$python_ok" = yes && test "$python3_ok" = yes; then + AC_DEFINE(DYNAMIC_PYTHON) + AC_DEFINE(DYNAMIC_PYTHON3) +! AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python) + cflags_save=$CFLAGS +! CFLAGS="$CFLAGS $PYTHON_CFLAGS" + ldflags_save=$LDFLAGS + LDFLAGS="$LDFLAGS -ldl" + AC_RUN_IFELSE([ +*************** +*** 1156,1170 **** + * Only the first pyhton version used will be switched on. + */ + +! int no_rtl_global_needed_for(char *python_instsoname) + { + int needed = 0; + void* pylib = dlopen(python_instsoname, RTLD_LAZY); + if (pylib != 0) + { + void (*init)(void) = dlsym(pylib, "Py_Initialize"); + int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); + void (*final)(void) = dlsym(pylib, "Py_Finalize"); + (*init)(); + needed = (*simple)("import termios") == -1; + (*final)(); +--- 1156,1172 ---- + * Only the first pyhton version used will be switched on. + */ + +! int no_rtl_global_needed_for(char *python_instsoname, char *prefix) + { + int needed = 0; + void* pylib = dlopen(python_instsoname, RTLD_LAZY); + if (pylib != 0) + { ++ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); + void (*init)(void) = dlsym(pylib, "Py_Initialize"); + int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); + void (*final)(void) = dlsym(pylib, "Py_Finalize"); ++ (*pfx)(prefix); + (*init)(); + needed = (*simple)("import termios") == -1; + (*final)(); +*************** +*** 1176,1188 **** + int main(int argc, char** argv) + { + int not_needed = 0; +! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0")) + not_needed = 1; + return !not_needed; + }], + [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) + CFLAGS=$cflags_save + LDFLAGS=$ldflags_save + PYTHON_SRC="if_python.c" + PYTHON_OBJ="objects/if_python.o" + PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\"${python_INSTSONAME}\"" +--- 1178,1237 ---- + int main(int argc, char** argv) + { + int not_needed = 0; +! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}")) + not_needed = 1; + return !not_needed; + }], + [AC_MSG_RESULT(yes);AC_DEFINE(PY_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) ++ + CFLAGS=$cflags_save + LDFLAGS=$ldflags_save ++ ++ AC_MSG_CHECKING(whether we can do without RTLD_GLOBAL for Python3) ++ cflags_save=$CFLAGS ++ CFLAGS="$CFLAGS $PYTHON3_CFLAGS" ++ ldflags_save=$LDFLAGS ++ LDFLAGS="$LDFLAGS -ldl" ++ AC_RUN_IFELSE([ ++ #include <dlfcn.h> ++ #include <wchar.h> ++ /* If this program fails, then RTLD_GLOBAL is needed. ++ * RTLD_GLOBAL will be used and then it is not possible to ++ * have both python versions enabled in the same vim instance. ++ * Only the first pyhton version used will be switched on. ++ */ ++ ++ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) ++ { ++ int needed = 0; ++ void* pylib = dlopen(python_instsoname, RTLD_LAZY); ++ if (pylib != 0) ++ { ++ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); ++ void (*init)(void) = dlsym(pylib, "Py_Initialize"); ++ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); ++ void (*final)(void) = dlsym(pylib, "Py_Finalize"); ++ (*pfx)(prefix); ++ (*init)(); ++ needed = (*simple)("import termios") == -1; ++ (*final)(); ++ dlclose(pylib); ++ } ++ return !needed; ++ } ++ ++ int main(int argc, char** argv) ++ { ++ int not_needed = 0; ++ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}")) ++ not_needed = 1; ++ return !not_needed; ++ }], ++ [AC_MSG_RESULT(yes);AC_DEFINE(PY3_NO_RTLD_GLOBAL)], [AC_MSG_RESULT(no)]) ++ ++ CFLAGS=$cflags_save ++ LDFLAGS=$ldflags_save ++ + PYTHON_SRC="if_python.c" + PYTHON_OBJ="objects/if_python.o" + PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\"${python_INSTSONAME}\"" +*** ../vim-7.3.061/src/auto/configure 2010-11-03 22:32:18.000000000 +0100 +--- src/auto/configure 2010-11-16 17:47:42.000000000 +0100 +*************** +*** 5326,5334 **** + + PYTHON_LIBS="${vi_cv_path_python_plibs}" + if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version}" + else +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version}" + fi + PYTHON_SRC="if_python.c" + if test "x$MACOSX" = "xyes"; then +--- 5326,5334 ---- + + PYTHON_LIBS="${vi_cv_path_python_plibs}" + if test "${vi_cv_path_python_pfx}" = "${vi_cv_path_python_epfx}"; then +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\"${vi_cv_path_python_pfx}\"" + else +! PYTHON_CFLAGS="-I${vi_cv_path_python_pfx}/include/python${vi_cv_var_python_version} -I${vi_cv_path_python_epfx}/include/python${vi_cv_var_python_version} -DPYTHON_HOME=\"${vi_cv_path_python_pfx}\"" + fi + PYTHON_SRC="if_python.c" + if test "x$MACOSX" = "xyes"; then +*************** +*** 5339,5345 **** + if test "${vi_cv_var_python_version}" = "1.4"; then + PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" + fi +! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='"${vi_cv_path_pythonpath}"' -DPREFIX='"${vi_cv_path_python_pfx}"' -DEXEC_PREFIX='"${vi_cv_path_python_epfx}"'" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5 + $as_echo_n "checking if -pthread should be used... " >&6; } +--- 5339,5345 ---- + if test "${vi_cv_var_python_version}" = "1.4"; then + PYTHON_OBJ="$PYTHON_OBJ objects/py_getpath.o" + fi +! PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='"${vi_cv_path_pythonpath}"' -DPREFIX='"${vi_cv_path_python_pfx}"' -DEXEC_PREFIX='"${vi_cv_path_python_epfx}"'" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -pthread should be used" >&5 + $as_echo_n "checking if -pthread should be used... " >&6; } +*************** +*** 5601,5609 **** + + PYTHON3_LIBS="${vi_cv_path_python3_plibs}" + if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version}" + else +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version}" + fi + PYTHON3_SRC="if_python3.c" + if test "x$MACOSX" = "xyes"; then +--- 5601,5609 ---- + + PYTHON3_LIBS="${vi_cv_path_python3_plibs}" + if test "${vi_cv_path_python3_pfx}" = "${vi_cv_path_python3_epfx}"; then +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\"${vi_cv_path_python3_pfx}\"" + else +! PYTHON3_CFLAGS="-I${vi_cv_path_python3_pfx}/include/python${vi_cv_var_python3_version} -I${vi_cv_path_python3_epfx}/include/python${vi_cv_var_python3_version} -DPYTHON3_HOME=L\"${vi_cv_path_python3_pfx}\"" + fi + PYTHON3_SRC="if_python3.c" + if test "x$MACOSX" = "xyes"; then +*************** +*** 5708,5717 **** + + $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h + +! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL" >&5 +! $as_echo_n "checking whether we can do without RTLD_GLOBAL... " >&6; } + cflags_save=$CFLAGS +! CFLAGS="$CFLAGS $PYTHON3_CFLAGS" + ldflags_save=$LDFLAGS + LDFLAGS="$LDFLAGS -ldl" + if test "$cross_compiling" = yes; then : +--- 5708,5717 ---- + + $as_echo "#define DYNAMIC_PYTHON3 1" >>confdefs.h + +! { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python" >&5 +! $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python... " >&6; } + cflags_save=$CFLAGS +! CFLAGS="$CFLAGS $PYTHON_CFLAGS" + ldflags_save=$LDFLAGS + LDFLAGS="$LDFLAGS -ldl" + if test "$cross_compiling" = yes; then : +*************** +*** 5730,5744 **** + * Only the first pyhton version used will be switched on. + */ + +! int no_rtl_global_needed_for(char *python_instsoname) + { + int needed = 0; + void* pylib = dlopen(python_instsoname, RTLD_LAZY); + if (pylib != 0) + { + void (*init)(void) = dlsym(pylib, "Py_Initialize"); + int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); + void (*final)(void) = dlsym(pylib, "Py_Finalize"); + (*init)(); + needed = (*simple)("import termios") == -1; + (*final)(); +--- 5730,5746 ---- + * Only the first pyhton version used will be switched on. + */ + +! int no_rtl_global_needed_for(char *python_instsoname, char *prefix) + { + int needed = 0; + void* pylib = dlopen(python_instsoname, RTLD_LAZY); + if (pylib != 0) + { ++ void (*pfx)(char *home) = dlsym(pylib, "Py_SetPythonHome"); + void (*init)(void) = dlsym(pylib, "Py_Initialize"); + int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); + void (*final)(void) = dlsym(pylib, "Py_Finalize"); ++ (*pfx)(prefix); + (*init)(); + needed = (*simple)("import termios") == -1; + (*final)(); +*************** +*** 5750,5756 **** + int main(int argc, char** argv) + { + int not_needed = 0; +! if (no_rtl_global_needed_for("libpython2.7.so.1.0") && no_rtl_global_needed_for("libpython3.1.so.1.0")) + not_needed = 1; + return !not_needed; + } +--- 5752,5758 ---- + int main(int argc, char** argv) + { + int not_needed = 0; +! if (no_rtl_global_needed_for("${python_INSTSONAME}", "${vi_cv_path_python_pfx}")) + not_needed = 1; + return !not_needed; + } +*************** +*** 5767,5774 **** +--- 5769,5844 ---- + conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + ++ + CFLAGS=$cflags_save + LDFLAGS=$ldflags_save ++ ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can do without RTLD_GLOBAL for Python3" >&5 ++ $as_echo_n "checking whether we can do without RTLD_GLOBAL for Python3... " >&6; } ++ cflags_save=$CFLAGS ++ CFLAGS="$CFLAGS $PYTHON3_CFLAGS" ++ ldflags_save=$LDFLAGS ++ LDFLAGS="$LDFLAGS -ldl" ++ if test "$cross_compiling" = yes; then : ++ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in `$ac_pwd':" >&5 ++ $as_echo "$as_me: error: in `$ac_pwd':" >&2;} ++ as_fn_error "cannot run test program while cross compiling ++ See `config.log' for more details." "$LINENO" 5; } ++ else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++ /* end confdefs.h. */ ++ ++ #include <dlfcn.h> ++ #include <wchar.h> ++ /* If this program fails, then RTLD_GLOBAL is needed. ++ * RTLD_GLOBAL will be used and then it is not possible to ++ * have both python versions enabled in the same vim instance. ++ * Only the first pyhton version used will be switched on. ++ */ ++ ++ int no_rtl_global_needed_for(char *python_instsoname, wchar_t *prefix) ++ { ++ int needed = 0; ++ void* pylib = dlopen(python_instsoname, RTLD_LAZY); ++ if (pylib != 0) ++ { ++ void (*pfx)(wchar_t *home) = dlsym(pylib, "Py_SetPythonHome"); ++ void (*init)(void) = dlsym(pylib, "Py_Initialize"); ++ int (*simple)(char*) = dlsym(pylib, "PyRun_SimpleString"); ++ void (*final)(void) = dlsym(pylib, "Py_Finalize"); ++ (*pfx)(prefix); ++ (*init)(); ++ needed = (*simple)("import termios") == -1; ++ (*final)(); ++ dlclose(pylib); ++ } ++ return !needed; ++ } ++ ++ int main(int argc, char** argv) ++ { ++ int not_needed = 0; ++ if (no_rtl_global_needed_for("${python3_INSTSONAME}", L"${vi_cv_path_python3_pfx}")) ++ not_needed = 1; ++ return !not_needed; ++ } ++ _ACEOF ++ if ac_fn_c_try_run "$LINENO"; then : ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 ++ $as_echo "yes" >&6; };$as_echo "#define PY3_NO_RTLD_GLOBAL 1" >>confdefs.h ++ ++ else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++ $as_echo "no" >&6; } ++ fi ++ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++ fi ++ ++ ++ CFLAGS=$cflags_save ++ LDFLAGS=$ldflags_save ++ + PYTHON_SRC="if_python.c" + PYTHON_OBJ="objects/if_python.o" + PYTHON_CFLAGS="$PYTHON_CFLAGS -DDYNAMIC_PYTHON_DLL=\"${python_INSTSONAME}\"" +*** ../vim-7.3.061/src/if_python.c 2010-10-23 14:02:48.000000000 +0200 +--- src/if_python.c 2010-11-16 17:07:00.000000000 +0100 +*************** +*** 102,108 **** + # include <dlfcn.h> + # define FARPROC void* + # define HINSTANCE void* +! # ifdef PY_NO_RTLD_GLOBAL + # define load_dll(n) dlopen((n), RTLD_LAZY) + # else + # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) +--- 102,108 ---- + # include <dlfcn.h> + # define FARPROC void* + # define HINSTANCE void* +! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL) + # define load_dll(n) dlopen((n), RTLD_LAZY) + # else + # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) +*************** +*** 168,173 **** +--- 168,174 ---- + # define Py_BuildValue dll_Py_BuildValue + # define Py_FindMethod dll_Py_FindMethod + # define Py_InitModule4 dll_Py_InitModule4 ++ # define Py_SetPythonHome dll_Py_SetPythonHome + # define Py_Initialize dll_Py_Initialize + # define Py_Finalize dll_Py_Finalize + # define Py_IsInitialized dll_Py_IsInitialized +*************** +*** 226,231 **** +--- 227,233 ---- + static PyObject*(*dll_Py_BuildValue)(char *, ...); + static PyObject*(*dll_Py_FindMethod)(struct PyMethodDef[], PyObject *, char *); + static PyObject*(*dll_Py_InitModule4)(char *, struct PyMethodDef *, char *, PyObject *, int); ++ static void(*dll_Py_SetPythonHome)(char *home); + static void(*dll_Py_Initialize)(void); + static void(*dll_Py_Finalize)(void); + static int(*dll_Py_IsInitialized)(void); +*************** +*** 310,315 **** +--- 312,318 ---- + # else + {"Py_InitModule4", (PYTHON_PROC*)&dll_Py_InitModule4}, + # endif ++ {"Py_SetPythonHome", (PYTHON_PROC*)&dll_Py_SetPythonHome}, + {"Py_Initialize", (PYTHON_PROC*)&dll_Py_Initialize}, + {"Py_Finalize", (PYTHON_PROC*)&dll_Py_Finalize}, + {"Py_IsInitialized", (PYTHON_PROC*)&dll_Py_IsInitialized}, +*************** +*** 349,355 **** + { + int i; + +! #if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON3) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ +--- 352,358 ---- + { + int i; + +! #if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON3) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ +*************** +*** 543,548 **** +--- 546,555 ---- + } + #endif + ++ #ifdef PYTHON_HOME ++ Py_SetPythonHome(PYTHON_HOME); ++ #endif ++ + init_structs(); + + #if !defined(MACOS) || defined(MACOS_X_UNIX) +*** ../vim-7.3.061/src/if_python3.c 2010-10-23 14:02:48.000000000 +0200 +--- src/if_python3.c 2010-11-16 17:07:26.000000000 +0100 +*************** +*** 80,86 **** + # include <dlfcn.h> + # define FARPROC void* + # define HINSTANCE void* +! # ifdef PY_NO_RTLD_GLOBAL + # define load_dll(n) dlopen((n), RTLD_LAZY) + # else + # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) +--- 80,86 ---- + # include <dlfcn.h> + # define FARPROC void* + # define HINSTANCE void* +! # if defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL) + # define load_dll(n) dlopen((n), RTLD_LAZY) + # else + # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) +*************** +*** 132,137 **** +--- 132,138 ---- + # define PyType_Ready py3_PyType_Ready + #undef Py_BuildValue + # define Py_BuildValue py3_Py_BuildValue ++ # define Py_SetPythonHome py3_Py_SetPythonHome + # define Py_Initialize py3_Py_Initialize + # define Py_Finalize py3_Py_Finalize + # define Py_IsInitialized py3_Py_IsInitialized +*************** +*** 170,175 **** +--- 171,177 ---- + * Pointers for dynamic link + */ + static int (*py3_PySys_SetArgv)(int, wchar_t **); ++ static void (*py3_Py_SetPythonHome)(wchar_t *home); + static void (*py3_Py_Initialize)(void); + static PyObject* (*py3_PyList_New)(Py_ssize_t size); + static PyGILState_STATE (*py3_PyGILState_Ensure)(void); +*************** +*** 254,259 **** +--- 256,262 ---- + } py3_funcname_table[] = + { + {"PySys_SetArgv", (PYTHON_PROC*)&py3_PySys_SetArgv}, ++ {"Py_SetPythonHome", (PYTHON_PROC*)&py3_Py_SetPythonHome}, + {"Py_Initialize", (PYTHON_PROC*)&py3_Py_Initialize}, + {"PyArg_ParseTuple", (PYTHON_PROC*)&py3_PyArg_ParseTuple}, + {"PyList_New", (PYTHON_PROC*)&py3_PyList_New}, +*************** +*** 336,342 **** + int i; + void *ucs_from_string, *ucs_from_string_and_size; + +! # if !defined(PY_NO_RTLD_GLOBAL) && defined(UNIX) && defined(FEAT_PYTHON) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ +--- 339,345 ---- + int i; + void *ucs_from_string, *ucs_from_string_and_size; + +! # if !(defined(PY_NO_RTLD_GLOBAL) && defined(PY3_NO_RTLD_GLOBAL)) && defined(UNIX) && defined(FEAT_PYTHON) + /* Can't have Python and Python3 loaded at the same time. + * It cause a crash, because RTLD_GLOBAL is needed for + * standard C extension libraries of one or both python versions. */ +*************** +*** 539,544 **** +--- 542,552 ---- + + init_structs(); + ++ ++ #ifdef PYTHON3_HOME ++ Py_SetPythonHome(PYTHON3_HOME); ++ #endif ++ + /* initialise threads */ + PyEval_InitThreads(); + +*** ../vim-7.3.061/src/version.c 2010-11-16 16:25:46.000000000 +0100 +--- src/version.c 2010-11-16 17:12:40.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 62, + /**/ + +-- +ARTHUR: CHARGE! + [The mighty ARMY charges. Thundering noise of feet. Clatter of coconuts. + Shouts etc. Suddenly there is a wail of a siren and a couple of police + cars roar round in front of the charging ARMY and the POLICE leap out and + stop them. TWO POLICEMAN and the HISTORIAN'S WIFE. Black Marias skid up + behind them.] +HISTORIAN'S WIFE: They're the ones, I'm sure. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.063.patch0 b/pkgs/core/vim/patches/vim-7.3.063.patch0 new file mode 100644 index 0000000..27516ff --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.063.patch0 @@ -0,0 +1,59 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.063 +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.3.063 +Problem: Win32: Running a filter command makes Vim lose focus. +Solution: Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu) +Files: src/os_win32.c + + +*** ../vim-7.3.062/src/os_win32.c 2010-11-10 15:37:00.000000000 +0100 +--- src/os_win32.c 2010-11-24 12:31:46.000000000 +0100 +*************** +*** 3185,3193 **** + * It's nicer to run a filter command in a minimized window, but in + * Windows 95 this makes the command MUCH slower. We can't do it under + * Win32s either as it stops the synchronous spawn workaround working. + */ + if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s()) +! si.wShowWindow = SW_SHOWMINIMIZED; + else + si.wShowWindow = SW_SHOWNORMAL; + si.cbReserved2 = 0; +--- 3185,3194 ---- + * It's nicer to run a filter command in a minimized window, but in + * Windows 95 this makes the command MUCH slower. We can't do it under + * Win32s either as it stops the synchronous spawn workaround working. ++ * Don't activate the window to keep focus on Vim. + */ + if ((options & SHELL_DOOUT) && !mch_windows95() && !gui_is_win32s()) +! si.wShowWindow = SW_SHOWMINNOACTIVE; + else + si.wShowWindow = SW_SHOWNORMAL; + si.cbReserved2 = 0; +*** ../vim-7.3.062/src/version.c 2010-11-16 19:25:56.000000000 +0100 +--- src/version.c 2010-11-24 12:32:52.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 63, + /**/ + +-- +SOLDIER: Where did you get the coconuts? +ARTHUR: Through ... We found them. +SOLDIER: Found them? In Mercea. The coconut's tropical! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.064.patch0 b/pkgs/core/vim/patches/vim-7.3.064.patch0 new file mode 100644 index 0000000..cbd49ad --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.064.patch0 @@ -0,0 +1,72 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.064 +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.3.064 +Problem: Win32: ":dis +" shows nothing, but "+p does insert text. +Solution: Display the * register, since that's what will be inserted. + (Christian Brabandt) +Files: src/globals.h, src/ops.c + + +*** ../vim-7.3.063/src/globals.h 2010-08-15 21:57:27.000000000 +0200 +--- src/globals.h 2010-11-24 14:06:47.000000000 +0100 +*************** +*** 510,515 **** +--- 510,516 ---- + EXTERN VimClipboard clip_plus; /* CLIPBOARD selection in X11 */ + # else + # define clip_plus clip_star /* there is only one clipboard */ ++ # define ONE_CLIPBOARD + # endif + EXTERN int clip_unnamed INIT(= FALSE); + EXTERN int clip_autoselect INIT(= FALSE); +*** ../vim-7.3.063/src/ops.c 2010-10-09 17:21:42.000000000 +0200 +--- src/ops.c 2010-11-24 14:26:25.000000000 +0100 +*************** +*** 3979,3985 **** + for (i = -1; i < NUM_REGISTERS && !got_int; ++i) + { + name = get_register_name(i); +! if (arg != NULL && vim_strchr(arg, name) == NULL) + continue; /* did not ask for this register */ + + #ifdef FEAT_CLIPBOARD +--- 3979,3990 ---- + for (i = -1; i < NUM_REGISTERS && !got_int; ++i) + { + name = get_register_name(i); +! if (arg != NULL && vim_strchr(arg, name) == NULL +! #ifdef ONE_CLIPBOARD +! /* Star register and plus register contain the same thing. */ +! && (name != '*' || vim_strchr(arg, '+') == NULL) +! #endif +! ) + continue; /* did not ask for this register */ + + #ifdef FEAT_CLIPBOARD +*** ../vim-7.3.063/src/version.c 2010-11-24 12:35:14.000000000 +0100 +--- src/version.c 2010-11-24 14:24:03.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 64, + /**/ + +-- +FIRST SOLDIER: So they wouldn't be able to bring a coconut back anyway. +SECOND SOLDIER: Wait a minute! Suppose two swallows carried it together? +FIRST SOLDIER: No, they'd have to have it on a line. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.065.patch0 b/pkgs/core/vim/patches/vim-7.3.065.patch0 new file mode 100644 index 0000000..cd9b2a7 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.065.patch0 @@ -0,0 +1,120 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.065 +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.3.065 +Problem: Can't get current line number in a source file. +Solution: Add the <slnum> item, similar to <sfile>. +Files: src/ex_docmd.c + + +*** ../vim-7.3.064/src/ex_docmd.c 2010-11-16 11:29:30.000000000 +0100 +--- src/ex_docmd.c 2010-11-24 15:41:51.000000000 +0100 +*************** +*** 9538,9554 **** + #define SPEC_CFILE 4 + "<sfile>", /* ":so" file name */ + #define SPEC_SFILE 5 + #ifdef FEAT_AUTOCMD + "<afile>", /* autocommand file name */ +! # define SPEC_AFILE 6 + "<abuf>", /* autocommand buffer number */ +! # define SPEC_ABUF 7 + "<amatch>", /* autocommand match name */ +! # define SPEC_AMATCH 8 + #endif + #ifdef FEAT_CLIENTSERVER + "<client>" +! # define SPEC_CLIENT 9 + #endif + }; + +--- 9538,9560 ---- + #define SPEC_CFILE 4 + "<sfile>", /* ":so" file name */ + #define SPEC_SFILE 5 ++ "<slnum>", /* ":so" file line number */ ++ #define SPEC_SLNUM 6 + #ifdef FEAT_AUTOCMD + "<afile>", /* autocommand file name */ +! # define SPEC_AFILE 7 + "<abuf>", /* autocommand buffer number */ +! # define SPEC_ABUF 8 + "<amatch>", /* autocommand match name */ +! # define SPEC_AMATCH 9 + #endif + #ifdef FEAT_CLIENTSERVER + "<client>" +! # ifdef FEAT_AUTOCMD +! # define SPEC_CLIENT 10 +! # else +! # define SPEC_CLIENT 7 +! # endif + #endif + }; + +*************** +*** 9573,9578 **** +--- 9579,9585 ---- + * '<cWORD>' to WORD under the cursor + * '<cfile>' to path name under the cursor + * '<sfile>' to sourced file name ++ * '<slnum>' to sourced file line number + * '<afile>' to file name for autocommand + * '<abuf>' to buffer number for autocommand + * '<amatch>' to matching name for autocommand +*************** +*** 9604,9613 **** + #ifdef FEAT_MODIFY_FNAME + int skip_mod = FALSE; + #endif +- +- #if defined(FEAT_AUTOCMD) || defined(FEAT_CLIENTSERVER) + char_u strbuf[30]; +- #endif + + *errormsg = NULL; + if (escaped != NULL) +--- 9611,9617 ---- +*************** +*** 9796,9801 **** +--- 9800,9814 ---- + return NULL; + } + break; ++ case SPEC_SLNUM: /* line in file for ":so" command */ ++ if (sourcing_name == NULL || sourcing_lnum == 0) ++ { ++ *errormsg = (char_u *)_("E842: no line number to use for "<slnum>""); ++ return NULL; ++ } ++ sprintf((char *)strbuf, "%ld", (long)sourcing_lnum); ++ result = strbuf; ++ break; + #if defined(FEAT_CLIENTSERVER) + case SPEC_CLIENT: /* Source of last submitted input */ + sprintf((char *)strbuf, PRINTF_HEX_LONG_U, +*** ../vim-7.3.064/src/version.c 2010-11-24 14:28:53.000000000 +0100 +--- src/version.c 2010-11-24 15:49:57.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 65, + /**/ + + +-- +If you don't get everything you want, think of +everything you didn't get and don't want. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.066.patch0 b/pkgs/core/vim/patches/vim-7.3.066.patch0 new file mode 100644 index 0000000..f4a6fd0 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.066.patch0 @@ -0,0 +1,90 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.066 +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.3.066 +Problem: Crash when changing to another window while in a :vimgrep command. + (Christian Brabandt) +Solution: When wiping out the dummy before, remove it from aucmd_win. +Files: src/quickfix.c + + +*** ../vim-7.3.065/src/quickfix.c 2010-09-21 16:56:29.000000000 +0200 +--- src/quickfix.c 2010-11-24 16:27:40.000000000 +0100 +*************** +*** 3432,3437 **** +--- 3432,3438 ---- + char_u *fname; + { + buf_T *newbuf; ++ buf_T *newbuf_to_wipe = NULL; + int failed = TRUE; + aco_save_T aco; + +*************** +*** 3468,3482 **** + failed = FALSE; + if (curbuf != newbuf) + { +! /* Bloody autocommands changed the buffer! */ +! if (buf_valid(newbuf)) +! wipe_buffer(newbuf, FALSE); + newbuf = curbuf; + } + } + + /* restore curwin/curbuf and a few other things */ + aucmd_restbuf(&aco); + } + + if (!buf_valid(newbuf)) +--- 3469,3487 ---- + failed = FALSE; + if (curbuf != newbuf) + { +! /* Bloody autocommands changed the buffer! Can happen when +! * using netrw and editing a remote file. Use the current +! * buffer instead, delete the dummy one after restoring the +! * window stuff. */ +! newbuf_to_wipe = newbuf; + newbuf = curbuf; + } + } + + /* restore curwin/curbuf and a few other things */ + aucmd_restbuf(&aco); ++ if (newbuf_to_wipe != NULL && buf_valid(newbuf_to_wipe)) ++ wipe_buffer(newbuf_to_wipe, FALSE); + } + + if (!buf_valid(newbuf)) +*** ../vim-7.3.065/src/version.c 2010-11-24 15:50:54.000000000 +0100 +--- src/version.c 2010-11-24 16:30:44.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 66, + /**/ + +-- +CART DRIVER: Bring out your dead! + We follow the cart through a wretched, impoverished plague-ridden village. + A few starved mongrels run about in the mud scavenging. In the open + doorway of one house perhaps we jug glimpse a pair of legs dangling from + the ceiling. In another doorway an OLD WOMAN is beating a cat against a + wall rather like one does with a mat. The cart passes round a dead donkey + or cow in the mud. And a MAN tied to a cart is being hammered to death by + four NUNS with huge mallets. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.067.patch0 b/pkgs/core/vim/patches/vim-7.3.067.patch0 new file mode 100644 index 0000000..c32c645 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.067.patch0 @@ -0,0 +1,68 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.067 +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.3.067 (after 7.3.058) +Problem: Ruby: Init_prelude is not always available. +Solution: Remove use of Init_prelude. (Yasuhiro Matsumoto) +Files: src/if_ruby.c + + +*** ../vim-7.3.066/src/if_ruby.c 2010-11-16 14:46:14.000000000 +0100 +--- src/if_ruby.c 2010-11-24 16:53:06.000000000 +0100 +*************** +*** 231,237 **** + # define rb_enc_str_new dll_rb_enc_str_new + # define rb_intern2 dll_rb_intern2 + # define rb_const_remove dll_rb_const_remove +- # define Init_prelude dll_Init_prelude + # define rb_sprintf dll_rb_sprintf + # define ruby_init_stack dll_ruby_init_stack + #endif +--- 231,236 ---- +*************** +*** 433,439 **** + {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, + {"rb_intern2", (RUBY_PROC*)&dll_rb_intern2}, + {"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove}, +- {"Init_prelude", (RUBY_PROC*)&dll_Init_prelude}, + {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, + {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, + #endif +--- 432,437 ---- +*************** +*** 675,681 **** + /* This avoids the error "Encoding::ConverterNotFoundError: code + * converter not found (UTF-16LE to ASCII-8BIT)". */ + rb_define_module("Gem"); +- Init_prelude(); + rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15)); + #endif + ruby_vim_init(); +--- 673,678 ---- +*** ../vim-7.3.066/src/version.c 2010-11-24 16:31:55.000000000 +0100 +--- src/version.c 2010-11-24 16:53:35.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 67, + /**/ + +-- +CART DRIVER: Bring out your dead! +LARGE MAN: Here's one! +CART DRIVER: Ninepence. +BODY: I'm not dead! + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.068.patch0 b/pkgs/core/vim/patches/vim-7.3.068.patch0 new file mode 100644 index 0000000..8acbcab --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.068.patch0 @@ -0,0 +1,50 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.068 +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.3.068 +Problem: Using freed memory when doing ":saveas" and an autocommand sets + 'autochdir'. (Kevin Klement) +Solution: Get the value of fname again after executing autocommands. +Files: src/ex_cmds.c + + +*** ../vim-7.3.067/src/ex_cmds.c 2010-10-15 20:20:00.000000000 +0200 +--- src/ex_cmds.c 2010-11-24 17:53:07.000000000 +0100 +*************** +*** 2705,2710 **** +--- 2705,2714 ---- + TRUE); + do_modelines(0); + } ++ ++ /* Autocommands may have changed buffer names, esp. when ++ * 'autochdir' is set. */ ++ fname = curbuf->b_sfname; + #endif + } + +*** ../vim-7.3.067/src/version.c 2010-11-24 17:03:34.000000000 +0100 +--- src/version.c 2010-11-24 17:55:11.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 68, + /**/ + +-- +I used to wonder about the meaning of life. But I looked it +up in the dictionary under "L" and there it was - the meaning +of life. It was less than I expected. - Dogbert + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.069.patch0 b/pkgs/core/vim/patches/vim-7.3.069.patch0 new file mode 100644 index 0000000..d776129 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.069.patch0 @@ -0,0 +1,49 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.069 +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.3.069 +Problem: GTK: pressing Enter in inputdialog() doesn't work like clicking OK + as documented. +Solution: call gtk_entry_set_activates_default(). (Britton Kerin) +Files: src/gui_gtk.c + + +*** ../vim-7.3.068/src/gui_gtk.c 2010-08-15 21:57:32.000000000 +0200 +--- src/gui_gtk.c 2010-11-24 18:44:21.000000000 +0100 +*************** +*** 1287,1292 **** +--- 1287,1295 ---- + entry = gtk_entry_new(); + gtk_widget_show(entry); + ++ /* Make Enter work like pressing OK. */ ++ gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE); ++ + text = CONVERT_TO_UTF8(textfield); + gtk_entry_set_text(GTK_ENTRY(entry), (const char *)text); + CONVERT_TO_UTF8_FREE(text); +*** ../vim-7.3.068/src/version.c 2010-11-24 17:59:27.000000000 +0100 +--- src/version.c 2010-11-24 18:46:39.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 69, + /**/ + +-- +Why I like vim: +> I like VIM because, when I ask a question in this newsgroup, I get a +> one-line answer. With xemacs, I get a 1Kb lisp script with bugs in it ;-) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.070.patch0 b/pkgs/core/vim/patches/vim-7.3.070.patch0 new file mode 100644 index 0000000..0da893f --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.070.patch0 @@ -0,0 +1,53 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.070 +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.3.070 +Problem: Can set environment variables in the sandbox, could be abused. +Solution: Disallow it. +Files: src/eval.c + + +*** ../vim-7.3.069/src/eval.c 2010-11-10 20:31:24.000000000 +0100 +--- src/eval.c 2010-12-02 14:42:31.000000000 +0100 +*************** +*** 2326,2332 **** + else if (endchars != NULL + && vim_strchr(endchars, *skipwhite(arg)) == NULL) + EMSG(_(e_letunexp)); +! else + { + c1 = name[len]; + name[len] = NUL; +--- 2326,2332 ---- + else if (endchars != NULL + && vim_strchr(endchars, *skipwhite(arg)) == NULL) + EMSG(_(e_letunexp)); +! else if (!check_secure()) + { + c1 = name[len]; + name[len] = NUL; +*** ../vim-7.3.069/src/version.c 2010-11-24 18:48:08.000000000 +0100 +--- src/version.c 2010-12-02 14:46:44.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 70, + /**/ + +-- +The only way the average employee can speak to an executive is by taking a +second job as a golf caddie. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.071.patch0 b/pkgs/core/vim/patches/vim-7.3.071.patch0 new file mode 100644 index 0000000..75b6979 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.071.patch0 @@ -0,0 +1,65 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.071 +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.3.071 +Problem: Editing a file in a window that's in diff mode resets 'diff' + but not cursor binding. +Solution: Reset cursor binding in two more places. +Files: src/quickfix.c, src/option.c + + +*** ../vim-7.3.070/src/quickfix.c 2010-11-24 16:31:55.000000000 +0100 +--- src/quickfix.c 2010-12-02 15:02:00.000000000 +0100 +*************** +*** 2359,2364 **** +--- 2359,2365 ---- + set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", + OPT_LOCAL); + set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL); ++ RESET_BINDING(curwin); + #ifdef FEAT_DIFF + curwin->w_p_diff = FALSE; + #endif +*** ../vim-7.3.070/src/option.c 2010-10-13 14:05:29.000000000 +0200 +--- src/option.c 2010-12-02 15:12:02.000000000 +0100 +*************** +*** 9756,9761 **** +--- 9759,9767 ---- + #ifdef FEAT_SCROLLBIND + to->wo_scb = from->wo_scb; + #endif ++ #ifdef FEAT_CURSORBIND ++ to->wo_crb = from->wo_crb; ++ #endif + #ifdef FEAT_SPELL + to->wo_spell = from->wo_spell; + #endif +*** ../vim-7.3.070/src/version.c 2010-12-02 14:47:56.000000000 +0100 +--- src/version.c 2010-12-02 15:31:12.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 71, + /**/ + +-- +A salesperson says: Translation: +"backward compatible" Old technology +"Premium" Overpriced +"Can't keep it on the shelf" Unavailable +"Stands alone" Piece of shit +"Proprietary" Incompatible + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.072.patch0 b/pkgs/core/vim/patches/vim-7.3.072.patch0 new file mode 100644 index 0000000..88e54f9 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.072.patch0 @@ -0,0 +1,295 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.072 +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.3.072 +Problem: Can't complete file names while ignoring case. +Solution: Add 'wildignorecase'. +Files: src/ex_docmd.c, src/ex_getln.c, src/misc1.c, src/option.c, + src/option.h, src/vim.h, runtime/doc/options.txt + + +*** ../vim-7.3.071/src/ex_docmd.c 2010-11-24 15:50:54.000000000 +0100 +--- src/ex_docmd.c 2010-12-02 15:58:10.000000000 +0100 +*************** +*** 4524,4535 **** + else /* n == 2 */ + { + expand_T xpc; + + ExpandInit(&xpc); + xpc.xp_context = EXPAND_FILES; + p = ExpandOne(&xpc, eap->arg, NULL, +! WILD_LIST_NOTFOUND|WILD_ADD_SLASH, +! WILD_EXPAND_FREE); + if (p == NULL) + return FAIL; + } +--- 4524,4537 ---- + else /* n == 2 */ + { + expand_T xpc; ++ int options = WILD_LIST_NOTFOUND|WILD_ADD_SLASH; + + ExpandInit(&xpc); + xpc.xp_context = EXPAND_FILES; ++ if (p_wic) ++ options += WILD_ICASE; + p = ExpandOne(&xpc, eap->arg, NULL, +! options, WILD_EXPAND_FREE); + if (p == NULL) + return FAIL; + } +*** ../vim-7.3.071/src/ex_getln.c 2010-11-16 14:05:48.000000000 +0100 +--- src/ex_getln.c 2010-11-28 15:07:49.000000000 +0100 +*************** +*** 3339,3348 **** + p2 = NULL; + else + { + p2 = ExpandOne(xp, p1, + vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len), +! WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE +! |options, type); + vim_free(p1); + /* longest match: make sure it is not shorter, happens with :help */ + if (p2 != NULL && type == WILD_LONGEST) +--- 3339,3352 ---- + p2 = NULL; + else + { ++ int use_options = options | ++ WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE; ++ ++ if (p_wic) ++ use_options += WILD_ICASE; + p2 = ExpandOne(xp, p1, + vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len), +! use_options, type); + vim_free(p1); + /* longest match: make sure it is not shorter, happens with :help */ + if (p2 != NULL && type == WILD_LONGEST) +*************** +*** 3428,3433 **** +--- 3432,3438 ---- + * options = WILD_KEEP_ALL: don't remove 'wildignore' entries + * options = WILD_SILENT: don't print warning messages + * options = WILD_ESCAPE: put backslash before special chars ++ * options = WILD_ICASE: ignore case for files + * + * The variables xp->xp_context and xp->xp_backslash must have been set! + */ +*************** +*** 4361,4366 **** +--- 4366,4372 ---- + char_u ***matches; /* return: array of pointers to matches */ + { + char_u *file_str = NULL; ++ int options = WILD_ADD_SLASH|WILD_SILENT; + + if (xp->xp_context == EXPAND_UNSUCCESSFUL) + { +*************** +*** 4379,4387 **** + if (file_str == NULL) + return EXPAND_UNSUCCESSFUL; + + /* find all files that match the description */ +! if (ExpandFromContext(xp, file_str, matchcount, matches, +! WILD_ADD_SLASH|WILD_SILENT) == FAIL) + { + *matchcount = 0; + *matches = NULL; +--- 4385,4395 ---- + if (file_str == NULL) + return EXPAND_UNSUCCESSFUL; + ++ if (p_wic) ++ options += WILD_ICASE; ++ + /* find all files that match the description */ +! if (ExpandFromContext(xp, file_str, matchcount, matches, options) == FAIL) + { + *matchcount = 0; + *matches = NULL; +*************** +*** 4433,4439 **** + char_u *pat; + int *num_file; + char_u ***file; +! int options; + { + #ifdef FEAT_CMDL_COMPL + regmatch_T regmatch; +--- 4441,4447 ---- + char_u *pat; + int *num_file; + char_u ***file; +! int options; /* EW_ flags */ + { + #ifdef FEAT_CMDL_COMPL + regmatch_T regmatch; +*************** +*** 4487,4492 **** +--- 4495,4503 ---- + flags |= (EW_FILE | EW_PATH); + else + flags = (flags | EW_DIR) & ~EW_FILE; ++ if (options & WILD_ICASE) ++ flags |= EW_ICASE; ++ + /* Expand wildcards, supporting %:h and the like. */ + ret = expand_wildcards_eval(&pat, num_file, file, flags); + if (free_pat) +*** ../vim-7.3.071/src/misc1.c 2010-08-16 21:46:12.000000000 +0200 +--- src/misc1.c 2010-11-28 15:02:57.000000000 +0100 +*************** +*** 9161,9167 **** + #ifdef CASE_INSENSITIVE_FILENAME + regmatch.rm_ic = TRUE; /* Behave like Terminal.app */ + #else +! regmatch.rm_ic = FALSE; /* Don't ever ignore case */ + #endif + regmatch.regprog = vim_regcomp(pat, RE_MAGIC); + vim_free(pat); +--- 9161,9170 ---- + #ifdef CASE_INSENSITIVE_FILENAME + regmatch.rm_ic = TRUE; /* Behave like Terminal.app */ + #else +! if (flags & EW_ICASE) +! regmatch.rm_ic = TRUE; /* 'wildignorecase' set */ +! else +! regmatch.rm_ic = FALSE; /* Don't ignore case */ + #endif + regmatch.regprog = vim_regcomp(pat, RE_MAGIC); + vim_free(pat); +*************** +*** 9643,9649 **** + if (paths == NULL) + return 0; + +! files = globpath(paths, pattern, 0); + vim_free(paths); + if (files == NULL) + return 0; +--- 9646,9652 ---- + if (paths == NULL) + return 0; + +! files = globpath(paths, pattern, (flags & EW_ICASE) ? WILD_ICASE : 0); + vim_free(paths); + if (files == NULL) + return 0; +*** ../vim-7.3.071/src/option.c 2010-12-02 15:33:10.000000000 +0100 +--- src/option.c 2010-12-02 15:12:02.000000000 +0100 +*************** +*** 2740,2746 **** + (char_u *)&p_wc, PV_NONE, + {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB} + SCRIPTID_INIT}, +! {"wildcharm", "wcm", P_NUM|P_VI_DEF, + (char_u *)&p_wcm, PV_NONE, + {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, + {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, +--- 2740,2746 ---- + (char_u *)&p_wc, PV_NONE, + {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB} + SCRIPTID_INIT}, +! {"wildcharm", "wcm", P_NUM|P_VI_DEF, + (char_u *)&p_wcm, PV_NONE, + {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, + {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, +*************** +*** 2750,2755 **** +--- 2750,2758 ---- + (char_u *)NULL, PV_NONE, + #endif + {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, ++ {"wildignorecase", "wic", P_BOOL|P_VI_DEF, ++ (char_u *)&p_wic, PV_NONE, ++ {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, + {"wildmenu", "wmnu", P_BOOL|P_VI_DEF, + #ifdef FEAT_WILDMENU + (char_u *)&p_wmnu, PV_NONE, +*** ../vim-7.3.071/src/option.h 2010-08-15 21:57:28.000000000 +0200 +--- src/option.h 2010-11-28 14:29:18.000000000 +0100 +*************** +*** 872,877 **** +--- 872,878 ---- + EXTERN char_u *p_ww; /* 'whichwrap' */ + EXTERN long p_wc; /* 'wildchar' */ + EXTERN long p_wcm; /* 'wildcharm' */ ++ EXTERN long p_wic; /* 'wildignorecase' */ + EXTERN char_u *p_wim; /* 'wildmode' */ + #ifdef FEAT_WILDMENU + EXTERN int p_wmnu; /* 'wildmenu' */ +*** ../vim-7.3.071/src/vim.h 2010-10-20 19:17:43.000000000 +0200 +--- src/vim.h 2010-11-28 14:49:02.000000000 +0100 +*************** +*** 798,803 **** +--- 798,804 ---- + #define WILD_KEEP_ALL 32 + #define WILD_SILENT 64 + #define WILD_ESCAPE 128 ++ #define WILD_ICASE 256 + + /* Flags for expand_wildcards() */ + #define EW_DIR 0x01 /* include directory names */ +*************** +*** 808,813 **** +--- 809,815 ---- + #define EW_SILENT 0x20 /* don't print "1 returned" from shell */ + #define EW_EXEC 0x40 /* executable files */ + #define EW_PATH 0x80 /* search in 'path' too */ ++ #define EW_ICASE 0x100 /* ignore case */ + /* Note: mostly EW_NOTFOUND and EW_SILENT are mutually exclusive: EW_NOTFOUND + * is used when executing commands and EW_SILENT for interactive expanding. */ + +*** ../vim-7.3.071/runtime/doc/options.txt 2010-10-20 17:44:01.000000000 +0200 +--- runtime/doc/options.txt 2010-12-02 11:15:01.000000000 +0100 +*************** +*** 7748,7753 **** +--- 7756,7772 ---- + a pattern from the list. This avoids problems when a future version + uses another default. + ++ ++ *'wildignorecase* *'wic'* *'nowildignorecase* *'nowic'* ++ 'wildignorecase' 'wic' boolean (default off) ++ global ++ {not in Vi} ++ When set case is ignored when completing file names and directories. ++ Has no effect on systems where file name case is generally ignored. ++ Does not apply when the shell is used to expand wildcards, which ++ happens when there are special characters. ++ ++ + *'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'* + 'wildmenu' 'wmnu' boolean (default off) + global +*** ../vim-7.3.071/src/version.c 2010-12-02 15:33:10.000000000 +0100 +--- src/version.c 2010-12-02 15:57:14.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 72, + /**/ + +-- +I recommend ordering large cargo containers of paper towels to make up +whatever budget underruns you have. Paper products are always useful and they +have the advantage of being completely flushable if you need to make room in +the storage area later. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.073.patch0 b/pkgs/core/vim/patches/vim-7.3.073.patch0 new file mode 100644 index 0000000..4a79e20 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.073.patch0 @@ -0,0 +1,92 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.073 +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.3.073 +Problem: Double free memory when netbeans command follows DETACH. +Solution: Only free the node when owned. (Xavier de Gaye) +Files: src/netbeans.c + + +*** ../vim-7.3.072/src/netbeans.c 2010-11-16 15:48:57.000000000 +0100 +--- src/netbeans.c 2010-12-02 16:59:11.000000000 +0100 +*************** +*** 643,648 **** +--- 643,649 ---- + { + char_u *p; + queue_T *node; ++ int own_node; + + while (head.next != NULL && head.next != &head) + { +*************** +*** 681,700 **** + *p++ = NUL; + if (*p == NUL) + { + head.next = node->next; + node->next->prev = node->prev; + } + + /* now, parse and execute the commands */ + nb_parse_cmd(node->buffer); + +! if (*p == NUL) + { + /* buffer finished, dispose of the node and buffer */ + vim_free(node->buffer); + vim_free(node); + } +! else + { + /* more follows, move to the start */ + STRMOVE(node->buffer, p); +--- 682,706 ---- + *p++ = NUL; + if (*p == NUL) + { ++ own_node = TRUE; + head.next = node->next; + node->next->prev = node->prev; + } ++ else ++ own_node = FALSE; + + /* now, parse and execute the commands */ + nb_parse_cmd(node->buffer); + +! if (own_node) + { + /* buffer finished, dispose of the node and buffer */ + vim_free(node->buffer); + vim_free(node); + } +! /* Check that "head" wasn't changed under our fingers, e.g. when a +! * DETACH command was handled. */ +! else if (head.next == node) + { + /* more follows, move to the start */ + STRMOVE(node->buffer, p); +*** ../vim-7.3.072/src/version.c 2010-12-02 16:01:23.000000000 +0100 +--- src/version.c 2010-12-02 17:00:29.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 73, + /**/ + +-- +If the Universe is constantly expanding, why can't I ever find a parking space? + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.074.patch0 b/pkgs/core/vim/patches/vim-7.3.074.patch0 new file mode 100644 index 0000000..1223d6d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.074.patch0 @@ -0,0 +1,235 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.074 +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.3.074 +Problem: Can't use the "+ register like "* for yank and put. +Solution: Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov) +Files: runtime/doc/options.txt, src/eval.c, src/globals.h, src/ops.c, + src/option.c + + +*** ../vim-7.3.073/runtime/doc/options.txt 2010-12-02 16:01:23.000000000 +0100 +--- runtime/doc/options.txt 2010-12-02 21:22:48.000000000 +0100 +*************** +*** 1434,1439 **** +--- 1434,1448 ---- + explicitly accessed using the "* notation. Also see + |gui-clipboard|. + ++ unnamedplus A variant of "unnamed" flag which uses the clipboard ++ register '+' (|quoteplus|) instead of register '*' for ++ all operations except yank. Yank shall copy the text ++ into register '+' and also into '*' when "unnamed" is ++ included. ++ Only available with the |+x11| feature. ++ Availability can be checked with: > ++ if has('unnamedplus') ++ < + autoselect Works like the 'a' flag in 'guioptions': If present, + then whenever Visual mode is started, or the Visual + area extended, Vim tries to become the owner of the +*** ../vim-7.3.073/src/eval.c 2010-12-02 14:47:56.000000000 +0100 +--- src/eval.c 2010-12-02 17:30:23.000000000 +0100 +*************** +*** 12135,12140 **** +--- 12139,12147 ---- + #ifdef FEAT_TOOLBAR + "toolbar", + #endif ++ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) ++ "unnamedplus", ++ #endif + #ifdef FEAT_USR_CMDS + "user-commands", /* was accidentally included in 5.4 */ + "user_commands", +*** ../vim-7.3.073/src/globals.h 2010-11-24 14:28:53.000000000 +0100 +--- src/globals.h 2010-12-02 20:07:42.000000000 +0100 +*************** +*** 512,518 **** + # define clip_plus clip_star /* there is only one clipboard */ + # define ONE_CLIPBOARD + # endif +! EXTERN int clip_unnamed INIT(= FALSE); + EXTERN int clip_autoselect INIT(= FALSE); + EXTERN int clip_autoselectml INIT(= FALSE); + EXTERN int clip_html INIT(= FALSE); +--- 512,522 ---- + # define clip_plus clip_star /* there is only one clipboard */ + # define ONE_CLIPBOARD + # endif +! +! #define CLIP_UNNAMED 1 +! #define CLIP_UNNAMED_PLUS 2 +! EXTERN int clip_unnamed INIT(= 0); /* above two values or'ed */ +! + EXTERN int clip_autoselect INIT(= FALSE); + EXTERN int clip_autoselectml INIT(= FALSE); + EXTERN int clip_html INIT(= FALSE); +*** ../vim-7.3.073/src/ops.c 2010-11-24 14:28:53.000000000 +0100 +--- src/ops.c 2010-12-02 21:33:04.000000000 +0100 +*************** +*** 1584,1592 **** + adjust_clip_reg(rp) + int *rp; + { +! /* If no reg. specified, and "unnamed" is in 'clipboard', use '*' reg. */ +! if (*rp == 0 && clip_unnamed) +! *rp = '*'; + if (!clip_star.available && *rp == '*') + *rp = 0; + if (!clip_plus.available && *rp == '+') +--- 1584,1594 ---- + adjust_clip_reg(rp) + int *rp; + { +! /* If no reg. specified, and "unnamed" or "unnamedplus" is in 'clipboard', +! * use '*' or '+' reg, respectively. "unnamedplus" prevails. */ +! if (*rp == 0 && clip_unnamed != 0) +! *rp = ((clip_unnamed & CLIP_UNNAMED_PLUS) && clip_plus.available) +! ? '+' : '*'; + if (!clip_star.available && *rp == '*') + *rp = 0; + if (!clip_plus.available && *rp == '+') +*************** +*** 2842,2847 **** +--- 2844,2850 ---- + char_u *p; + char_u *pnew; + struct block_def bd; ++ int did_star = FALSE; + + /* check for read-only register */ + if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE)) +*************** +*** 3115,3121 **** + */ + if (clip_star.available + && (curr == &(y_regs[STAR_REGISTER]) +! || (!deleting && oap->regname == 0 && clip_unnamed))) + { + if (curr != &(y_regs[STAR_REGISTER])) + /* Copy the text from register 0 to the clipboard register. */ +--- 3118,3125 ---- + */ + if (clip_star.available + && (curr == &(y_regs[STAR_REGISTER]) +! || (!deleting && oap->regname == 0 +! && (clip_unnamed & CLIP_UNNAMED)))) + { + if (curr != &(y_regs[STAR_REGISTER])) + /* Copy the text from register 0 to the clipboard register. */ +*************** +*** 3123,3128 **** +--- 3127,3133 ---- + + clip_own_selection(&clip_star); + clip_gen_set_selection(&clip_star); ++ did_star = TRUE; + } + + # ifdef FEAT_X11 +*************** +*** 3130,3141 **** + * If we were yanking to the '+' register, send result to selection. + * Also copy to the '*' register, in case auto-select is off. + */ +! else if (clip_plus.available && curr == &(y_regs[PLUS_REGISTER])) + { + /* No need to copy to * register upon 'unnamed' now - see below */ + clip_own_selection(&clip_plus); + clip_gen_set_selection(&clip_plus); +! if (!clip_isautosel()) + { + copy_yank_reg(&(y_regs[STAR_REGISTER])); + clip_own_selection(&clip_star); +--- 3135,3153 ---- + * If we were yanking to the '+' register, send result to selection. + * Also copy to the '*' register, in case auto-select is off. + */ +! if (clip_plus.available +! && (curr == &(y_regs[PLUS_REGISTER]) +! || (!deleting && oap->regname == 0 +! && (clip_unnamed & CLIP_UNNAMED_PLUS)))) + { ++ if (curr != &(y_regs[PLUS_REGISTER])) ++ /* Copy the text from register 0 to the clipboard register. */ ++ copy_yank_reg(&(y_regs[PLUS_REGISTER])); ++ + /* No need to copy to * register upon 'unnamed' now - see below */ + clip_own_selection(&clip_plus); + clip_gen_set_selection(&clip_plus); +! if (!clip_isautosel() && !did_star) + { + copy_yank_reg(&(y_regs[STAR_REGISTER])); + clip_own_selection(&clip_star); +*** ../vim-7.3.073/src/option.c 2010-12-02 16:01:23.000000000 +0100 +--- src/option.c 2010-12-02 21:41:32.000000000 +0100 +*************** +*** 7307,7313 **** + static char_u * + check_clipboard_option() + { +! int new_unnamed = FALSE; + int new_autoselect = FALSE; + int new_autoselectml = FALSE; + int new_html = FALSE; +--- 7307,7313 ---- + static char_u * + check_clipboard_option() + { +! int new_unnamed = 0; + int new_autoselect = FALSE; + int new_autoselectml = FALSE; + int new_html = FALSE; +*************** +*** 7319,7327 **** + { + if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL)) + { +! new_unnamed = TRUE; + p += 7; + } + else if (STRNCMP(p, "autoselect", 10) == 0 + && (p[10] == ',' || p[10] == NUL)) + { +--- 7319,7333 ---- + { + if (STRNCMP(p, "unnamed", 7) == 0 && (p[7] == ',' || p[7] == NUL)) + { +! new_unnamed |= CLIP_UNNAMED; + p += 7; + } ++ else if (STRNCMP(p, "unnamedplus", 11) == 0 ++ && (p[11] == ',' || p[11] == NUL)) ++ { ++ new_unnamed |= CLIP_UNNAMED_PLUS; ++ p += 11; ++ } + else if (STRNCMP(p, "autoselect", 10) == 0 + && (p[10] == ',' || p[10] == NUL)) + { +*** ../vim-7.3.073/src/version.c 2010-12-02 17:09:48.000000000 +0100 +--- src/version.c 2010-12-02 21:34:40.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 74, + /**/ + +-- +The budget process was invented by an alien race of sadistic beings who +resemble large cats. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.075.patch0 b/pkgs/core/vim/patches/vim-7.3.075.patch0 new file mode 100644 index 0000000..91cbb51 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.075.patch0 @@ -0,0 +1,132 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.075 +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.3.075 (after 7.3.072) +Problem: Missing part of 'wildignorecase' +Solution: Also adjust expand() +Files: src/eval.c + + +*** ../vim-7.3.074/src/eval.c 2010-12-02 21:43:10.000000000 +0100 +--- src/eval.c 2010-12-02 17:30:23.000000000 +0100 +*************** +*** 9876,9882 **** + char_u *s; + int len; + char_u *errormsg; +! int flags = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND; + expand_T xpc; + int error = FALSE; + +--- 9876,9882 ---- + char_u *s; + int len; + char_u *errormsg; +! int options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND; + expand_T xpc; + int error = FALSE; + +*************** +*** 9894,9905 **** + * for 'wildignore' and don't put matches for 'suffixes' at the end. */ + if (argvars[1].v_type != VAR_UNKNOWN + && get_tv_number_chk(&argvars[1], &error)) +! flags |= WILD_KEEP_ALL; + if (!error) + { + ExpandInit(&xpc); + xpc.xp_context = EXPAND_FILES; +! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, flags, WILD_ALL); + } + else + rettv->vval.v_string = NULL; +--- 9894,9907 ---- + * for 'wildignore' and don't put matches for 'suffixes' at the end. */ + if (argvars[1].v_type != VAR_UNKNOWN + && get_tv_number_chk(&argvars[1], &error)) +! options |= WILD_KEEP_ALL; + if (!error) + { + ExpandInit(&xpc); + xpc.xp_context = EXPAND_FILES; +! if (p_wic) +! options += WILD_ICASE; +! rettv->vval.v_string = ExpandOne(&xpc, s, NULL, options, WILD_ALL); + } + else + rettv->vval.v_string = NULL; +*************** +*** 11672,11678 **** + typval_T *argvars; + typval_T *rettv; + { +! int flags = WILD_SILENT|WILD_USE_NL; + expand_T xpc; + int error = FALSE; + +--- 11674,11680 ---- + typval_T *argvars; + typval_T *rettv; + { +! int options = WILD_SILENT|WILD_USE_NL; + expand_T xpc; + int error = FALSE; + +*************** +*** 11680,11693 **** + * for 'wildignore' and don't put matches for 'suffixes' at the end. */ + if (argvars[1].v_type != VAR_UNKNOWN + && get_tv_number_chk(&argvars[1], &error)) +! flags |= WILD_KEEP_ALL; + rettv->v_type = VAR_STRING; + if (!error) + { + ExpandInit(&xpc); + xpc.xp_context = EXPAND_FILES; + rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), +! NULL, flags, WILD_ALL); + } + else + rettv->vval.v_string = NULL; +--- 11682,11697 ---- + * for 'wildignore' and don't put matches for 'suffixes' at the end. */ + if (argvars[1].v_type != VAR_UNKNOWN + && get_tv_number_chk(&argvars[1], &error)) +! options |= WILD_KEEP_ALL; + rettv->v_type = VAR_STRING; + if (!error) + { + ExpandInit(&xpc); + xpc.xp_context = EXPAND_FILES; ++ if (p_wic) ++ options += WILD_ICASE; + rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), +! NULL, options, WILD_ALL); + } + else + rettv->vval.v_string = NULL; +*** ../vim-7.3.074/src/version.c 2010-12-02 21:43:10.000000000 +0100 +--- src/version.c 2010-12-02 21:43:59.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 75, + /**/ + +-- +Engineers will go without food and hygiene for days to solve a problem. +(Other times just because they forgot.) + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.076.patch0 b/pkgs/core/vim/patches/vim-7.3.076.patch0 new file mode 100644 index 0000000..9ec7db4 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.076.patch0 @@ -0,0 +1,203 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.076 +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.3.076 +Problem: Clang warnings for dead code. +Solution: Remove it. (Carlo Teubner) +Files: src/gui_gtk.c, src/if_ruby.c, src/misc2.c, src/netbeans.c, + src/spell.c + + +*** ../vim-7.3.075/src/gui_gtk.c 2010-11-24 18:48:08.000000000 +0100 +--- src/gui_gtk.c 2010-12-08 12:25:17.000000000 +0100 +*************** +*** 1798,1804 **** + char_u *repl_text; + gboolean direction_down; + SharedFindReplace *sfr; +- int rc; + + flags = (int)(long)data; /* avoid a lint warning here */ + +--- 1798,1803 ---- +*************** +*** 1824,1830 **** + + repl_text = CONVERT_FROM_UTF8(repl_text); + find_text = CONVERT_FROM_UTF8(find_text); +! rc = gui_do_findrepl(flags, find_text, repl_text, direction_down); + CONVERT_FROM_UTF8_FREE(repl_text); + CONVERT_FROM_UTF8_FREE(find_text); + } +--- 1823,1829 ---- + + repl_text = CONVERT_FROM_UTF8(repl_text); + find_text = CONVERT_FROM_UTF8(find_text); +! gui_do_findrepl(flags, find_text, repl_text, direction_down); + CONVERT_FROM_UTF8_FREE(repl_text); + CONVERT_FROM_UTF8_FREE(find_text); + } +*** ../vim-7.3.075/src/if_ruby.c 2010-11-24 17:03:34.000000000 +0100 +--- src/if_ruby.c 2010-12-08 12:30:38.000000000 +0100 +*************** +*** 586,594 **** + if (u_save(eap->line1 - 1, eap->line2 + 1) != OK) + return; + for (i = eap->line1; i <= eap->line2; i++) { +! VALUE line, oldline; + +! line = oldline = vim_str2rb_enc_str((char *)ml_get(i)); + rb_lastline_set(line); + eval_enc_string_protect((char *) eap->arg, &state); + if (state) { +--- 586,594 ---- + if (u_save(eap->line1 - 1, eap->line2 + 1) != OK) + return; + for (i = eap->line1; i <= eap->line2; i++) { +! VALUE line; + +! line = vim_str2rb_enc_str((char *)ml_get(i)); + rb_lastline_set(line); + eval_enc_string_protect((char *) eap->arg, &state); + if (state) { +*** ../vim-7.3.075/src/misc2.c 2010-08-15 21:57:32.000000000 +0200 +--- src/misc2.c 2010-12-08 12:42:44.000000000 +0100 +*************** +*** 200,206 **** + } + #endif + +- idx = -1; + ptr = line; + while (col <= wcol && *ptr != NUL) + { +--- 200,205 ---- +*************** +*** 1223,1229 **** + #endif + + /* +! * copy a string into newly allocated memory + */ + char_u * + vim_strsave(string) +--- 1222,1228 ---- + #endif + + /* +! * Copy "string" into newly allocated memory. + */ + char_u * + vim_strsave(string) +*************** +*** 1239,1244 **** +--- 1238,1249 ---- + return p; + } + ++ /* ++ * Copy up to "len" bytes of "string" into newly allocated memory and ++ * terminate with a NUL. ++ * The allocated memory always has size "len + 1", also when "string" is ++ * shorter. ++ */ + char_u * + vim_strnsave(string, len) + char_u *string; +*** ../vim-7.3.075/src/netbeans.c 2010-12-02 17:09:48.000000000 +0100 +--- src/netbeans.c 2010-12-08 12:43:57.000000000 +0100 +*************** +*** 960,966 **** + keyQ_T *key_node = keyHead.next; + queue_T *cmd_node = head.next; + nbbuf_T buf; +- buf_T *bufp; + int i; + + /* free the netbeans buffer list */ +--- 960,965 ---- +*************** +*** 969,975 **** + buf = buf_list[i]; + vim_free(buf.displayname); + vim_free(buf.signmap); +! if ((bufp=buf.bufp) != NULL) + { + buf.bufp->b_netbeans_file = FALSE; + buf.bufp->b_was_netbeans_file = FALSE; +--- 968,974 ---- + buf = buf_list[i]; + vim_free(buf.displayname); + vim_free(buf.signmap); +! if (buf.bufp != NULL) + { + buf.bufp->b_netbeans_file = FALSE; + buf.bufp->b_was_netbeans_file = FALSE; +*** ../vim-7.3.075/src/spell.c 2010-09-29 18:32:47.000000000 +0200 +--- src/spell.c 2010-12-08 12:47:13.000000000 +0100 +*************** +*** 9839,9848 **** + { + /* be quick for ASCII */ + if (wp->w_s->b_spell_ismw[*p]) +- { + s = p + 1; /* skip a mid-word character */ +- l = MB_BYTE2LEN(*s); +- } + } + else + { +--- 9839,9845 ---- +*************** +*** 9850,9859 **** + if (c < 256 ? wp->w_s->b_spell_ismw[c] + : (wp->w_s->b_spell_ismw_mb != NULL + && vim_strchr(wp->w_s->b_spell_ismw_mb, c) != NULL)) +- { + s = p + l; +- l = MB_BYTE2LEN(*s); +- } + } + + c = mb_ptr2char(s); +--- 9847,9853 ---- +*************** +*** 13813,13823 **** + su->su_sfmaxscore = cleanup_suggestions(gap, + su->su_sfmaxscore, SUG_CLEAN_COUNT(su)); + else +- { +- i = su->su_maxscore; + su->su_maxscore = cleanup_suggestions(gap, + su->su_maxscore, SUG_CLEAN_COUNT(su)); +- } + } + } + } +--- 13807,13814 ---- +*** ../vim-7.3.075/src/version.c 2010-12-02 21:44:35.000000000 +0100 +--- src/version.c 2010-12-08 13:10:00.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 76, + /**/ + +-- +Never enter the boss's office unless it's absolutely necessary. Every boss +saves one corner of the desk for useless assignments that are doled out like +Halloween candy to each visitor. + (Scott Adams - The Dilbert principle) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.077.patch0 b/pkgs/core/vim/patches/vim-7.3.077.patch0 new file mode 100644 index 0000000..c0af4b9 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.077.patch0 @@ -0,0 +1,134 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.077 +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.3.077 +Problem: When updating crypt of swapfile fails there is no error message. + (Carlo Teubner) +Solution: Add the error message. +Files: src/memline.c + + +*** ../vim-7.3.076/src/memline.c 2010-08-15 21:57:31.000000000 +0200 +--- src/memline.c 2010-12-08 12:39:10.000000000 +0100 +*************** +*** 582,587 **** +--- 582,590 ---- + idx = ip->ip_index + 1; /* go to next index */ + page_count = 1; + } ++ ++ if (error > 0) ++ EMSG(_("E843: Error while updating swap file crypt")); + } + + mfp->mf_old_key = NULL; +*************** +*** 2384,2390 **** + * Make a copy of the line if necessary. + */ + /* +! * get a pointer to a (read-only copy of a) line + * + * On failure an error message is given and IObuff is returned (to avoid + * having to check for error everywhere). +--- 2387,2393 ---- + * Make a copy of the line if necessary. + */ + /* +! * Return a pointer to a (read-only copy of a) line. + * + * On failure an error message is given and IObuff is returned (to avoid + * having to check for error everywhere). +*************** +*** 2397,2403 **** + } + + /* +! * ml_get_pos: get pointer to position 'pos' + */ + char_u * + ml_get_pos(pos) +--- 2400,2406 ---- + } + + /* +! * Return pointer to position "pos". + */ + char_u * + ml_get_pos(pos) +*************** +*** 2407,2413 **** + } + + /* +! * ml_get_curline: get pointer to cursor line. + */ + char_u * + ml_get_curline() +--- 2410,2416 ---- + } + + /* +! * Return pointer to cursor line. + */ + char_u * + ml_get_curline() +*************** +*** 2416,2422 **** + } + + /* +! * ml_get_cursor: get pointer to cursor position + */ + char_u * + ml_get_cursor() +--- 2419,2425 ---- + } + + /* +! * Return pointer to cursor position. + */ + char_u * + ml_get_cursor() +*************** +*** 2426,2432 **** + } + + /* +! * get a pointer to a line in a specific buffer + * + * "will_change": if TRUE mark the buffer dirty (chars in the line will be + * changed) +--- 2429,2435 ---- + } + + /* +! * Return a pointer to a line in a specific buffer + * + * "will_change": if TRUE mark the buffer dirty (chars in the line will be + * changed) +*** ../vim-7.3.076/src/version.c 2010-12-08 13:11:15.000000000 +0100 +--- src/version.c 2010-12-08 13:15:44.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 77, + /**/ + +-- +An operatingsystem is just a name you give to the rest of bloating +idiosyncratic machine-based-features you left out of your editor. + (author unknown) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.078.patch0 b/pkgs/core/vim/patches/vim-7.3.078.patch0 new file mode 100644 index 0000000..ae8a9da --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.078.patch0 @@ -0,0 +1,58 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.078 +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.3.078 +Problem: Warning for unused variable. +Solution: Adjuste #ifdefs. +Files: src/ops.c + + +*** ../vim-7.3.077/src/ops.c 2010-12-02 21:43:10.000000000 +0100 +--- src/ops.c 2010-12-08 14:21:48.000000000 +0100 +*************** +*** 2844,2850 **** +--- 2844,2852 ---- + char_u *p; + char_u *pnew; + struct block_def bd; ++ #if defined(FEAT_CLIPBOARD) && defined(FEAT_X11) + int did_star = FALSE; ++ #endif + + /* check for read-only register */ + if (oap->regname != 0 && !valid_yank_reg(oap->regname, TRUE)) +*************** +*** 3127,3133 **** +--- 3129,3137 ---- + + clip_own_selection(&clip_star); + clip_gen_set_selection(&clip_star); ++ # ifdef FEAT_X11 + did_star = TRUE; ++ # endif + } + + # ifdef FEAT_X11 +*** ../vim-7.3.077/src/version.c 2010-12-08 13:16:58.000000000 +0100 +--- src/version.c 2010-12-08 14:22:42.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 78, + /**/ + +-- +A)bort, R)etry, D)o it right this time + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.079.patch0 b/pkgs/core/vim/patches/vim-7.3.079.patch0 new file mode 100644 index 0000000..493d52f --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.079.patch0 @@ -0,0 +1,50 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.079 +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.3.079 +Problem: Duplicate lines in makefile. +Solution: Remove the lines. (Hong Xu) +Files: src/Make_mvc.mak + + +*** ../vim-7.3.078/src/Make_mvc.mak 2010-11-03 21:59:23.000000000 +0100 +--- src/Make_mvc.mak 2010-12-08 14:53:16.000000000 +0100 +*************** +*** 380,388 **** + !if "$(_NMAKE_VER)" == "10.00.30319.01" + MSVCVER = 10.0 + !endif +- !if "$(_NMAKE_VER)" == "9.00.30729.01" +- MSVCVER = 9.0 +- !endif + !endif + + # Abort bulding VIM if version of VC is unrecognised. +--- 380,385 ---- +*** ../vim-7.3.078/src/version.c 2010-12-08 14:23:08.000000000 +0100 +--- src/version.c 2010-12-08 14:54:02.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 79, + /**/ + +-- +login: yes +password: I don't know, please tell me +password is incorrect +login: yes +password: incorrect + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.080.patch0 b/pkgs/core/vim/patches/vim-7.3.080.patch0 new file mode 100644 index 0000000..6cf9f6d --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.080.patch0 @@ -0,0 +1,205 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.080 +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.3.080 +Problem: Spell doesn't work on VMS. +Solution: Use different file names. (Zoltan Bartos, Zoltan Arpadffy) +Files: src/spell.c + + +*** ../vim-7.3.079/src/spell.c 2010-12-08 13:11:15.000000000 +0100 +--- src/spell.c 2010-12-08 17:01:13.000000000 +0100 +*************** +*** 327,332 **** +--- 327,342 ---- + typedef long idx_T; + #endif + ++ #ifdef VMS ++ # define SPL_FNAME_TMPL "%s_%s.spl" ++ # define SPL_FNAME_ADD "_add." ++ # define SPL_FNAME_ASCII "_ascii." ++ #else ++ # define SPL_FNAME_TMPL "%s.%s.spl" ++ # define SPL_FNAME_ADD ".add." ++ # define SPL_FNAME_ASCII ".ascii." ++ #endif ++ + /* Flags used for a word. Only the lowest byte can be used, the region byte + * comes above it. */ + #define WF_REGION 0x01 /* region byte follows */ +*************** +*** 2471,2484 **** + * Find the first spell file for "lang" in 'runtimepath' and load it. + */ + vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5, +! "spell/%s.%s.spl", lang, spell_enc()); + r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl); + + if (r == FAIL && *sl.sl_lang != NUL) + { + /* Try loading the ASCII version. */ + vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5, +! "spell/%s.ascii.spl", lang); + r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl); + + #ifdef FEAT_AUTOCMD +--- 2481,2504 ---- + * Find the first spell file for "lang" in 'runtimepath' and load it. + */ + vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5, +! #ifdef VMS +! "spell/%s_%s.spl", +! #else +! "spell/%s.%s.spl", +! #endif +! lang, spell_enc()); + r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl); + + if (r == FAIL && *sl.sl_lang != NUL) + { + /* Try loading the ASCII version. */ + vim_snprintf((char *)fname_enc, sizeof(fname_enc) - 5, +! #ifdef VMS +! "spell/%s_ascii.spl", +! #else +! "spell/%s.ascii.spl", +! #endif +! lang); + r = do_in_runtimepath(fname_enc, FALSE, spell_load_cb, &sl); + + #ifdef FEAT_AUTOCMD +*************** +*** 2496,2502 **** + + if (r == FAIL) + { +! smsg((char_u *)_("Warning: Cannot find word list "%s.%s.spl" or "%s.ascii.spl""), + lang, spell_enc(), lang); + } + else if (sl.sl_slang != NULL) +--- 2516,2527 ---- + + if (r == FAIL) + { +! smsg((char_u *) +! #ifdef VMS +! _("Warning: Cannot find word list "%s_%s.spl" or "%s_ascii.spl""), +! #else +! _("Warning: Cannot find word list "%s.%s.spl" or "%s.ascii.spl""), +! #endif + lang, spell_enc(), lang); + } + else if (sl.sl_slang != NULL) +*************** +*** 2530,2536 **** + int_wordlist_spl(fname) + char_u *fname; + { +! vim_snprintf((char *)fname, MAXPATHL, "%s.%s.spl", + int_wordlist, spell_enc()); + } + +--- 2555,2561 ---- + int_wordlist_spl(fname) + char_u *fname; + { +! vim_snprintf((char *)fname, MAXPATHL, SPL_FNAME_TMPL, + int_wordlist, spell_enc()); + } + +*************** +*** 2785,2792 **** + if (lp->sl_fname == NULL) + goto endFAIL; + +! /* Check for .add.spl. */ +! lp->sl_add = strstr((char *)gettail(fname), ".add.") != NULL; + } + else + lp = old_lp; +--- 2810,2817 ---- + if (lp->sl_fname == NULL) + goto endFAIL; + +! /* Check for .add.spl (_add.spl for VMS). */ +! lp->sl_add = strstr((char *)gettail(fname), SPL_FNAME_ADD) != NULL; + } + else + lp = old_lp; +*************** +*** 9109,9116 **** + /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */ + innames = &fnames[0]; + incount = 1; +! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], +! spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + } + else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0) + { +--- 9134,9141 ---- + /* For ":mkspell path/vim" output file is "path/vim.latin1.spl". */ + innames = &fnames[0]; + incount = 1; +! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL, +! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + } + else if (len > 4 && STRCMP(fnames[0] + len - 4, ".spl") == 0) + { +*************** +*** 9119,9133 **** + } + else + /* Name should be language, make the file name from it. */ +! vim_snprintf((char *)wfname, sizeof(wfname), "%s.%s.spl", fnames[0], +! spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + + /* Check for .ascii.spl. */ +! if (strstr((char *)gettail(wfname), ".ascii.") != NULL) + spin.si_ascii = TRUE; + + /* Check for .add.spl. */ +! if (strstr((char *)gettail(wfname), ".add.") != NULL) + spin.si_add = TRUE; + } + +--- 9144,9158 ---- + } + else + /* Name should be language, make the file name from it. */ +! vim_snprintf((char *)wfname, sizeof(wfname), SPL_FNAME_TMPL, +! fnames[0], spin.si_ascii ? (char_u *)"ascii" : spell_enc()); + + /* Check for .ascii.spl. */ +! if (strstr((char *)gettail(wfname), SPL_FNAME_ASCII) != NULL) + spin.si_ascii = TRUE; + + /* Check for .add.spl. */ +! if (strstr((char *)gettail(wfname), SPL_FNAME_ADD) != NULL) + spin.si_add = TRUE; + } + +*** ../vim-7.3.079/src/version.c 2010-12-08 14:54:58.000000000 +0100 +--- src/version.c 2010-12-08 16:58:03.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 80, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +5. You find yourself brainstorming for new subjects to search. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/patches/vim-7.3.081.patch0 b/pkgs/core/vim/patches/vim-7.3.081.patch0 new file mode 100644 index 0000000..635b9b5 --- /dev/null +++ b/pkgs/core/vim/patches/vim-7.3.081.patch0 @@ -0,0 +1,84 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.081 +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.3.081 +Problem: Non-printable characters in 'statusline' cause trouble. (ZyX) +Solution: Use transstr(). (partly by Caio Ariede) +Files: src/screen.c + + +*** ../vim-7.3.080/src/screen.c 2010-08-15 21:57:32.000000000 +0200 +--- src/screen.c 2010-12-08 19:27:20.000000000 +0100 +*************** +*** 3405,3413 **** + # endif + ) + { +! int_u text_sign; + # ifdef FEAT_SIGN_ICONS +! int_u icon_sign; + # endif + + /* Draw two cells with the sign value or blank. */ +--- 3405,3413 ---- + # endif + ) + { +! int text_sign; + # ifdef FEAT_SIGN_ICONS +! int icon_sign; + # endif + + /* Draw two cells with the sign value or blank. */ +*************** +*** 6522,6529 **** + stl, use_sandbox, + fillchar, maxwidth, hltab, tabtab); + vim_free(stl); +- len = (int)STRLEN(buf); + + while (width < maxwidth && len < (int)sizeof(buf) - 1) + { + #ifdef FEAT_MBYTE +--- 6522,6538 ---- + stl, use_sandbox, + fillchar, maxwidth, hltab, tabtab); + vim_free(stl); + ++ /* Make all characters printable. */ ++ p = transstr(buf); ++ if (p != NULL) ++ { ++ vim_strncpy(buf, p, sizeof(buf) - 1); ++ vim_free(p); ++ } ++ ++ /* fill up with "fillchar" */ ++ len = (int)STRLEN(buf); + while (width < maxwidth && len < (int)sizeof(buf) - 1) + { + #ifdef FEAT_MBYTE +*** ../vim-7.3.080/src/version.c 2010-12-08 17:09:27.000000000 +0100 +--- src/version.c 2010-12-08 19:31:40.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 81, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +6. You refuse to go to a vacation spot with no electricity and no phone lines. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\ +\\ an exciting new programming language -- http://www.Zimbu.org /// + \\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/pkgs/core/vim/vim.nm b/pkgs/core/vim/vim.nm index c48075d..8ef7197 100644 --- a/pkgs/core/vim/vim.nm +++ b/pkgs/core/vim/vim.nm @@ -25,12 +25,12 @@ include $(PKGROOT)/Include
PKG_NAME = vim -PKG_VER = 7.2 +PKG_VER = 7.3 PKG_REL = 0
PKG_MAINTAINER = PKG_GROUP = Applications/Editors -PKG_URL = http://flex.sourceforge.net/ +PKG_URL = http://www.vim.org PKG_LICENSE = PublicDomain/Charityware PKG_SUMMARY = Very feature- and powerful editor.
@@ -44,7 +44,7 @@ endef
PKG_TARBALL = $(THISAPP).tar.bz2
-DIR_APP = $(DIR_SRC)/$(PKG_NAME)72 +DIR_APP = $(DIR_SRC)/$(PKG_NAME)73
CONFIGURE_OPTIONS += --enable-multibyte
@@ -58,4 +58,7 @@ define STAGE_INSTALL_CMDS # Install configuration -mkdir -pv $(BUILDROOT)/etc cp -vf $(DIR_SOURCE)/vimrc $(BUILDROOT)/etc/vimrc + + # Remove script for c-shell + rm -rf $(BUILDROOT)/usr/share/vim/vim73/tools/vim132 endef
hooks/post-receive -- IPFire 3.x development tree