# HG changeset patch # User Danek Duvall # Date 1305043135 25200 # Node ID c6a17bba1da3e7dcb7adc6222169356e77269d35 # Parent f0b61ed1d10d0e306978d101b29fda4aa31f0bee 7038754 vim 7.3 6932665 vim/gvim should have python support (and likely others like ruby etc) turned on diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/Makefile --- a/components/vim/Makefile Thu Jul 07 19:05:29 2011 -0700 +++ b/components/vim/Makefile Tue May 10 08:58:55 2011 -0700 @@ -28,26 +28,42 @@ PATH=/usr/bin:/usr/gnu/bin COMPONENT_NAME= vim -COMPONENT_VERSION= 7.2 -IPS_COMPONENT_VERSION= $(shell find $(PATCH_DIR) -name $(PATCH_PATTERN) | \ - sort | tail -1 | cut -d/ -f2) -COMPONENT_SRC= vim72 +COMPONENT_VERSION= 7.3 +IPS_COMPONENT_VERSION= $(shell echo $(COMPONENT_HG_REV) | sed -e 's/-/./g' -e 's/v//') +COMPONENT_SRC= vim-$(COMPONENT_HG_REV) COMPONENT_PROJECT_URL= http://www.vim.org/ -COMPONENT_ARCHIVE= vim-$(COMPONENT_VERSION).tar.bz2 -COMPONENT_ARCHIVE_HASH= sha1:a4b6641ca528fada71ea77c998a441495ed4984c -COMPONENT_ARCHIVE_URL= ftp://ftp.vim.org/pub/vim/unix/$(COMPONENT_ARCHIVE) - -PATCH_DIR = $(COMPONENT_SRC)-patches -PATCH_PATTERN = $(COMPONENT_VERSION).* -EXTRA_PATCHES = $(PATCH_DIR)/runtime.patch $(PATCH_DIR)/vim-help.patch +COMPONENT_ARCHIVE= vim-$(COMPONENT_HG_REV).tar.bz2 +COMPONENT_ARCHIVE_URL= $(EXTERNAL_ARCHIVE_MIRROR)/$(COMPONENT_ARCHIVE) +COMPONENT_ARCHIVE_HASH= sha1:c6458484b1cdcf6a54f5c686db8a68fa221ba3a2 +COMPONENT_HG_URL= https://vim.googlecode.com/hg +COMPONENT_HG_REV= v7-3-244 include ../../make-rules/prep.mk include ../../make-rules/configure.mk include ../../make-rules/ips.mk +HGREPODIR= $(COMPONENT_NAME).hg +TARBALLDIR= $(COMPONENT_NAME)-$(COMPONENT_HG_REV) + +$(HGREPODIR)/.hg: + hg clone -U $(COMPONENT_HG_URL) $(@D) + +# Create the tarball. It should contain the working directory of the repo at +# the desired revision, but not the .hg directory. Note that the digest will +# be different every time because .hg doesn't set the timestamps of the files +# in the working directory. +hgball: $(HGREPODIR)/.hg + hg -R $(HGREPODIR) pull + hg -R $(HGREPODIR) tags | awk '$$1 ~ /^v7-/ {print $$1; exit}' + rm -rf $(TARBALLDIR) + hg clone -u $(COMPONENT_HG_REV) $(HGREPODIR) $(TARBALLDIR) + rm -rf $(TARBALLDIR)/.hg + tar jcf $(COMPONENT_ARCHIVE) $(TARBALLDIR) + digest -a sha1 $(COMPONENT_ARCHIVE) + PATCH_LEVEL = 0 -PKG_MACROS += VIMVER=$(COMPONENT_SRC) +PKG_MACROS += VIMVER=vim73 X_VARIANT = $(BUILD_DIR)/$(MACH32)-gvim NOX_VARIANT = $(BUILD_DIR)/$(MACH32)-vim @@ -65,6 +81,20 @@ TEST_32 = $(NOX_VARIANT)/.tested CONFIGURE_OPTIONS += --with-features=huge +CONFIGURE_OPTIONS += --with-compiledby="the Solaris Userland build environment" +CONFIGURE_OPTIONS += --with-modified-by="Solaris Userland " +CONFIGURE_OPTIONS += --enable-luainterp=dynamic +# XXX Perl compilation fails, for some reason. +# - Perl_croak_nocontext is redefined (embed.h, line 5157), having something to +# do with PERL_IMPLICIT_CONTEXT, which is discussed in perlguts(1). This is +# just a warning, but looks like it might have nasty consequences. +# - The declaration of Perl_Gthr_key_ptr() has a problem with its argument of +# type pTHX. if_perl.xs defines that to void if it's not already defined, +# but perl.h probably does something else to it, not sure what yet. This +# also appears to have something to do with PERL_IMPLICIT_CONTEXT. +# CONFIGURE_OPTIONS += --enable-perlinterp=dynamic +CONFIGURE_OPTIONS += --enable-pythoninterp=dynamic +CONFIGURE_OPTIONS += --enable-rubyinterp=dynamic # We build two variants: with and without X support. $(NOX_VARIANT)/.configured: CONFIGURE_OPTIONS += --without-x diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/gvim.p5m --- a/components/vim/gvim.p5m Thu Jul 07 19:05:29 2011 -0700 +++ b/components/vim/gvim.p5m Tue May 10 08:58:55 2011 -0700 @@ -29,7 +29,8 @@ set name=info.classification \ value=org.opensolaris.category.2008:Development/Editors \ value="org.opensolaris.category.2008:System/Text Tools" -set name=info.source_url value=$(COMPONENT_ARCHIVE_URL) +set name=info.repository_url value=$(COMPONENT_HG_URL) +set name=info.repository_changeset value=$(COMPONENT_HG_REV) set name=info.upstream_url value=http://www.vim.org/ set name=info.upstream value="vim-dev@vim.org" set name=opensolaris.arc_url \ diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/patches/vim-help.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/vim/patches/vim-help.patch Tue May 10 08:58:55 2011 -0700 @@ -0,0 +1,107 @@ +--- src/ex_cmds.c Thu Apr 21 16:23:08 2011 ++++ src/ex_cmds.c Thu Apr 21 16:23:08 2011 +@@ -5525,6 +5525,8 @@ + int len; + char_u *lang; + #endif ++ int nohelp = FALSE, nominhelp = FALSE; ++ char_u *mhf = NULL; + + if (eap != NULL) + { +@@ -5576,6 +5578,23 @@ + n = find_help_tags(arg, &num_matches, &matches, + eap != NULL && eap->forceit); + ++ /* ++ * If we didn't find the help topic, check to see whether 'helpfile' ++ * (typically $VIMRUNTIME/doc/help.txt) exists. If not, then we'll send the ++ * user to the minimized help file delivered with the core vim package which ++ * explains why there's no help and how to get it. ++ */ ++ if (num_matches == 0 && mch_access((char *)p_hf, F_OK) < 0) { ++ nohelp = TRUE; ++ mhf = alloc(MAXPATHL); ++ STRNCPY(mhf, p_hf, MAXPATHL - 1); ++ mhf[STRLEN(mhf) - 8] = '\0'; ++ STRNCAT(mhf, "help_minimized.txt", MAXPATHL - STRLEN(mhf) - 1); ++ ++ if (mch_access((char *)mhf, F_OK) < 0) ++ nominhelp = TRUE; ++ } ++ + i = 0; + #ifdef FEAT_MULTI_LANG + if (n != FAIL && lang != NULL) +@@ -5588,7 +5607,7 @@ + break; + } + #endif +- if (i >= num_matches || n == FAIL) ++ if (!nohelp && i >= num_matches || n == FAIL) + { + #ifdef FEAT_MULTI_LANG + if (lang != NULL) +@@ -5601,9 +5620,11 @@ + return; + } + +- /* The first match (in the requested language) is the best match. */ +- tag = vim_strsave(matches[i]); +- FreeWild(num_matches, matches); ++ if (!nohelp) { ++ /* The first match (in the requested language) is the best match. */ ++ tag = vim_strsave(matches[i]); ++ FreeWild(num_matches, matches); ++ } + + #ifdef FEAT_GUI + need_mouse_correct = TRUE; +@@ -5635,12 +5656,14 @@ + * There is no help window yet. + * Try to open the file specified by the "helpfile" option. + */ +- if ((helpfd = mch_fopen((char *)p_hf, READBIN)) == NULL) +- { +- smsg((char_u *)_("Sorry, help file \"%s\" not found"), p_hf); +- goto erret; ++ if (!nohelp || nominhelp) { ++ if ((helpfd = mch_fopen((char *)p_hf, READBIN)) == NULL) ++ { ++ smsg((char_u *)_("Sorry, help file \"%s\" not found"), p_hf); ++ goto erret; ++ } ++ fclose(helpfd); + } +- fclose(helpfd); + + #ifdef FEAT_WINDOWS + /* Split off help window; put it at far top if no position +@@ -5671,7 +5694,7 @@ + * Set the alternate file to the previously edited file. + */ + alt_fnum = curbuf->b_fnum; +- (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, ++ (void)do_ecmd(0, mhf, NULL, NULL, ECMD_LASTL, + ECMD_HIDE + ECMD_SET_HELP, + #ifdef FEAT_WINDOWS + NULL /* buffer is still open, don't store info */ +@@ -5688,7 +5711,7 @@ + if (!p_im) + restart_edit = 0; /* don't want insert mode in help file */ + +- if (tag != NULL) ++ if (!nohelp && tag != NULL) + do_tag(tag, DT_HELP, 1, FALSE, TRUE); + + /* Delete the empty buffer if we're not using it. Careful: autocommands +@@ -5706,7 +5729,8 @@ + curwin->w_alt_fnum = alt_fnum; + + erret: +- vim_free(tag); ++ if (!nohelp) ++ vim_free(tag); + } + + diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim-core.p5m --- a/components/vim/vim-core.p5m Thu Jul 07 19:05:29 2011 -0700 +++ b/components/vim/vim-core.p5m Tue May 10 08:58:55 2011 -0700 @@ -31,7 +31,8 @@ set name=info.classification \ value=org.opensolaris.category.2008:Development/Editors \ value="org.opensolaris.category.2008:System/Text Tools" -set name=info.source_url value=$(COMPONENT_ARCHIVE_URL) +set name=info.repository_url value=$(COMPONENT_HG_URL) +set name=info.repository_changeset value=$(COMPONENT_HG_REV) set name=info.upstream_url value=http://www.vim.org/ set name=info.upstream value="vim-dev@vim.org" set name=opensolaris.arc_url \ diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim.p5m --- a/components/vim/vim.p5m Thu Jul 07 19:05:29 2011 -0700 +++ b/components/vim/vim.p5m Tue May 10 08:58:55 2011 -0700 @@ -31,7 +31,8 @@ set name=info.classification \ value=org.opensolaris.category.2008:Development/Editors \ value="org.opensolaris.category.2008:System/Text Tools" -set name=info.source_url value=$(COMPONENT_ARCHIVE_URL) +set name=info.repository_url value=$(COMPONENT_HG_URL) +set name=info.repository_changeset value=$(COMPONENT_HG_REV) set name=info.upstream_url value=http://www.vim.org/ set name=info.upstream value="vim-dev@vim.org" set name=opensolaris.arc_url \ @@ -76,6 +77,60 @@ dir path=usr/share/vim/$(VIMVER)/indent dir path=usr/share/vim/$(VIMVER)/keymap dir path=usr/share/vim/$(VIMVER)/lang +dir path=usr/share/vim/$(VIMVER)/lang/af +dir path=usr/share/vim/$(VIMVER)/lang/af/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/ca +dir path=usr/share/vim/$(VIMVER)/lang/ca/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/cs +dir path=usr/share/vim/$(VIMVER)/lang/cs/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/de +dir path=usr/share/vim/$(VIMVER)/lang/de/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/en_GB +dir path=usr/share/vim/$(VIMVER)/lang/en_GB/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/eo +dir path=usr/share/vim/$(VIMVER)/lang/eo/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/es +dir path=usr/share/vim/$(VIMVER)/lang/es/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/fi +dir path=usr/share/vim/$(VIMVER)/lang/fi/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/fr +dir path=usr/share/vim/$(VIMVER)/lang/fr/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/ga +dir path=usr/share/vim/$(VIMVER)/lang/ga/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/it +dir path=usr/share/vim/$(VIMVER)/lang/it/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/ja +dir path=usr/share/vim/$(VIMVER)/lang/ja/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/ko +dir path=usr/share/vim/$(VIMVER)/lang/ko/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/ko.UTF-8 +dir path=usr/share/vim/$(VIMVER)/lang/ko.UTF-8/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/nb +dir path=usr/share/vim/$(VIMVER)/lang/nb/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/no +dir path=usr/share/vim/$(VIMVER)/lang/no/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/pl +dir path=usr/share/vim/$(VIMVER)/lang/pl/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/pt_BR +dir path=usr/share/vim/$(VIMVER)/lang/pt_BR/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/ru +dir path=usr/share/vim/$(VIMVER)/lang/ru/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/sk +dir path=usr/share/vim/$(VIMVER)/lang/sk/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/sv +dir path=usr/share/vim/$(VIMVER)/lang/sv/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/uk +dir path=usr/share/vim/$(VIMVER)/lang/uk/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/vi +dir path=usr/share/vim/$(VIMVER)/lang/vi/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/zh_CN +dir path=usr/share/vim/$(VIMVER)/lang/zh_CN/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/zh_CN.UTF-8 +dir path=usr/share/vim/$(VIMVER)/lang/zh_CN.UTF-8/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/zh_TW +dir path=usr/share/vim/$(VIMVER)/lang/zh_TW/LC_MESSAGES +dir path=usr/share/vim/$(VIMVER)/lang/zh_TW.UTF-8 +dir path=usr/share/vim/$(VIMVER)/lang/zh_TW.UTF-8/LC_MESSAGES dir path=usr/share/vim/$(VIMVER)/macros dir path=usr/share/vim/$(VIMVER)/macros/hanoi dir path=usr/share/vim/$(VIMVER)/macros/life @@ -153,6 +208,7 @@ file path=usr/share/vim/$(VIMVER)/autoload/netrwSettings.vim file path=usr/share/vim/$(VIMVER)/autoload/paste.vim file path=usr/share/vim/$(VIMVER)/autoload/phpcomplete.vim +file path=usr/share/vim/$(VIMVER)/autoload/python3complete.vim file path=usr/share/vim/$(VIMVER)/autoload/pythoncomplete.vim file path=usr/share/vim/$(VIMVER)/autoload/rubycomplete.vim file path=usr/share/vim/$(VIMVER)/autoload/spellfile.vim @@ -201,6 +257,7 @@ file path=usr/share/vim/$(VIMVER)/compiler/bdf.vim file path=usr/share/vim/$(VIMVER)/compiler/checkstyle.vim file path=usr/share/vim/$(VIMVER)/compiler/cs.vim +file path=usr/share/vim/$(VIMVER)/compiler/cucumber.vim file path=usr/share/vim/$(VIMVER)/compiler/decada.vim file path=usr/share/vim/$(VIMVER)/compiler/dot.vim file path=usr/share/vim/$(VIMVER)/compiler/eruby.vim @@ -210,10 +267,13 @@ file path=usr/share/vim/$(VIMVER)/compiler/fortran_g77.vim file path=usr/share/vim/$(VIMVER)/compiler/fortran_lf95.vim file path=usr/share/vim/$(VIMVER)/compiler/fpc.vim +file path=usr/share/vim/$(VIMVER)/compiler/g95.vim file path=usr/share/vim/$(VIMVER)/compiler/gcc.vim +file path=usr/share/vim/$(VIMVER)/compiler/gfortran.vim file path=usr/share/vim/$(VIMVER)/compiler/gnat.vim file path=usr/share/vim/$(VIMVER)/compiler/hp_acc.vim file path=usr/share/vim/$(VIMVER)/compiler/icc.vim +file path=usr/share/vim/$(VIMVER)/compiler/ifort.vim file path=usr/share/vim/$(VIMVER)/compiler/intel.vim file path=usr/share/vim/$(VIMVER)/compiler/irix5_c.vim file path=usr/share/vim/$(VIMVER)/compiler/irix5_cpp.vim @@ -269,6 +329,7 @@ file path=usr/share/vim/$(VIMVER)/doc/helphelp.txt file path=usr/share/vim/$(VIMVER)/doc/howto.txt file path=usr/share/vim/$(VIMVER)/doc/if_cscop.txt +file path=usr/share/vim/$(VIMVER)/doc/if_lua.txt file path=usr/share/vim/$(VIMVER)/doc/if_mzsch.txt file path=usr/share/vim/$(VIMVER)/doc/if_ole.txt file path=usr/share/vim/$(VIMVER)/doc/if_perl.txt @@ -379,7 +440,6 @@ file path=usr/share/vim/$(VIMVER)/filetype.vim file path=usr/share/vim/$(VIMVER)/ftoff.vim file path=usr/share/vim/$(VIMVER)/ftplugin.vim -file path=usr/share/vim/$(VIMVER)/ftplugin/AppendMatchGroup.vim file path=usr/share/vim/$(VIMVER)/ftplugin/README.txt file path=usr/share/vim/$(VIMVER)/ftplugin/a2ps.vim file path=usr/share/vim/$(VIMVER)/ftplugin/aap.vim @@ -418,6 +478,7 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/dictdconf.vim file path=usr/share/vim/$(VIMVER)/ftplugin/diff.vim file path=usr/share/vim/$(VIMVER)/ftplugin/dircolors.vim +file path=usr/share/vim/$(VIMVER)/ftplugin/docbk.vim file path=usr/share/vim/$(VIMVER)/ftplugin/dosbatch.vim file path=usr/share/vim/$(VIMVER)/ftplugin/dosini.vim file path=usr/share/vim/$(VIMVER)/ftplugin/dtd.vim @@ -425,6 +486,7 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/elinks.vim file path=usr/share/vim/$(VIMVER)/ftplugin/eruby.vim file path=usr/share/vim/$(VIMVER)/ftplugin/eterm.vim +file path=usr/share/vim/$(VIMVER)/ftplugin/falcon.vim file path=usr/share/vim/$(VIMVER)/ftplugin/fetchmail.vim file path=usr/share/vim/$(VIMVER)/ftplugin/flexwiki.vim file path=usr/share/vim/$(VIMVER)/ftplugin/fortran.vim @@ -460,6 +522,7 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/limits.vim file path=usr/share/vim/$(VIMVER)/ftplugin/liquid.vim file path=usr/share/vim/$(VIMVER)/ftplugin/lisp.vim +file path=usr/share/vim/$(VIMVER)/ftplugin/logcheck.vim file path=usr/share/vim/$(VIMVER)/ftplugin/loginaccess.vim file path=usr/share/vim/$(VIMVER)/ftplugin/logindefs.vim file path=usr/share/vim/$(VIMVER)/ftplugin/logtalk.dict @@ -481,7 +544,6 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/mplayerconf.vim file path=usr/share/vim/$(VIMVER)/ftplugin/mrxvtrc.vim file path=usr/share/vim/$(VIMVER)/ftplugin/msmessages.vim -file path=usr/share/vim/$(VIMVER)/ftplugin/mupad.vim file path=usr/share/vim/$(VIMVER)/ftplugin/muttrc.vim file path=usr/share/vim/$(VIMVER)/ftplugin/nanorc.vim file path=usr/share/vim/$(VIMVER)/ftplugin/netrc.vim @@ -494,6 +556,7 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/passwd.vim file path=usr/share/vim/$(VIMVER)/ftplugin/pdf.vim file path=usr/share/vim/$(VIMVER)/ftplugin/perl.vim +file path=usr/share/vim/$(VIMVER)/ftplugin/perl6.vim file path=usr/share/vim/$(VIMVER)/ftplugin/php.vim file path=usr/share/vim/$(VIMVER)/ftplugin/pinfo.vim file path=usr/share/vim/$(VIMVER)/ftplugin/plaintex.vim @@ -503,6 +566,7 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/protocols.vim file path=usr/share/vim/$(VIMVER)/ftplugin/pyrex.vim file path=usr/share/vim/$(VIMVER)/ftplugin/python.vim +file path=usr/share/vim/$(VIMVER)/ftplugin/qf.vim file path=usr/share/vim/$(VIMVER)/ftplugin/quake.vim file path=usr/share/vim/$(VIMVER)/ftplugin/racc.vim file path=usr/share/vim/$(VIMVER)/ftplugin/readline.vim @@ -514,6 +578,7 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/sass.vim file path=usr/share/vim/$(VIMVER)/ftplugin/scheme.vim file path=usr/share/vim/$(VIMVER)/ftplugin/screen.vim +file path=usr/share/vim/$(VIMVER)/ftplugin/scss.vim file path=usr/share/vim/$(VIMVER)/ftplugin/sensors.vim file path=usr/share/vim/$(VIMVER)/ftplugin/services.vim file path=usr/share/vim/$(VIMVER)/ftplugin/setserial.vim @@ -533,6 +598,7 @@ file path=usr/share/vim/$(VIMVER)/ftplugin/tcsh.vim file path=usr/share/vim/$(VIMVER)/ftplugin/terminfo.vim file path=usr/share/vim/$(VIMVER)/ftplugin/tex.vim +file path=usr/share/vim/$(VIMVER)/ftplugin/treetop.vim file path=usr/share/vim/$(VIMVER)/ftplugin/udevconf.vim file path=usr/share/vim/$(VIMVER)/ftplugin/udevperm.vim file path=usr/share/vim/$(VIMVER)/ftplugin/udevrules.vim @@ -555,7 +621,6 @@ file path=usr/share/vim/$(VIMVER)/ftplugof.vim file path=usr/share/vim/$(VIMVER)/gvimrc_example.vim file path=usr/share/vim/$(VIMVER)/indent.vim -file path=usr/share/vim/$(VIMVER)/indent/GenericIndent.vim file path=usr/share/vim/$(VIMVER)/indent/README.txt file path=usr/share/vim/$(VIMVER)/indent/aap.vim file path=usr/share/vim/$(VIMVER)/indent/ada.vim @@ -588,6 +653,7 @@ file path=usr/share/vim/$(VIMVER)/indent/erlang.vim file path=usr/share/vim/$(VIMVER)/indent/eruby.vim file path=usr/share/vim/$(VIMVER)/indent/eterm.vim +file path=usr/share/vim/$(VIMVER)/indent/falcon.vim file path=usr/share/vim/$(VIMVER)/indent/fortran.vim file path=usr/share/vim/$(VIMVER)/indent/framescript.vim file path=usr/share/vim/$(VIMVER)/indent/gitconfig.vim @@ -611,7 +677,6 @@ file path=usr/share/vim/$(VIMVER)/indent/matlab.vim file path=usr/share/vim/$(VIMVER)/indent/mma.vim file path=usr/share/vim/$(VIMVER)/indent/mp.vim -file path=usr/share/vim/$(VIMVER)/indent/mupad.vim file path=usr/share/vim/$(VIMVER)/indent/objc.vim file path=usr/share/vim/$(VIMVER)/indent/ocaml.vim file path=usr/share/vim/$(VIMVER)/indent/occam.vim @@ -630,6 +695,7 @@ file path=usr/share/vim/$(VIMVER)/indent/ruby.vim file path=usr/share/vim/$(VIMVER)/indent/sass.vim file path=usr/share/vim/$(VIMVER)/indent/scheme.vim +file path=usr/share/vim/$(VIMVER)/indent/scss.vim file path=usr/share/vim/$(VIMVER)/indent/sdl.vim file path=usr/share/vim/$(VIMVER)/indent/sh.vim file path=usr/share/vim/$(VIMVER)/indent/sml.vim @@ -639,6 +705,7 @@ file path=usr/share/vim/$(VIMVER)/indent/tcsh.vim file path=usr/share/vim/$(VIMVER)/indent/tf.vim file path=usr/share/vim/$(VIMVER)/indent/tilde.vim +file path=usr/share/vim/$(VIMVER)/indent/treetop.vim file path=usr/share/vim/$(VIMVER)/indent/vb.vim file path=usr/share/vim/$(VIMVER)/indent/verilog.vim file path=usr/share/vim/$(VIMVER)/indent/vhdl.vim @@ -718,6 +785,20 @@ file path=usr/share/vim/$(VIMVER)/keymap/ukrainian-jcuken.vim file path=usr/share/vim/$(VIMVER)/keymap/vietnamese-viqr_utf-8.vim file path=usr/share/vim/$(VIMVER)/lang/README.txt +file path=usr/share/vim/$(VIMVER)/lang/af/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/ca/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/cs/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/de/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/en_GB/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/eo/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/es/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/fi/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/fr/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/ga/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/it/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/ja/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/ko.UTF-8/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/ko/LC_MESSAGES/vim.mo file path=usr/share/vim/$(VIMVER)/lang/menu_af.latin1.vim file path=usr/share/vim/$(VIMVER)/lang/menu_af.utf-8.vim file path=usr/share/vim/$(VIMVER)/lang/menu_af_af.latin1.vim @@ -849,6 +930,19 @@ file path=usr/share/vim/$(VIMVER)/lang/menu_zh_tw.big5.vim file path=usr/share/vim/$(VIMVER)/lang/menu_zh_tw.cp950.vim file path=usr/share/vim/$(VIMVER)/lang/menu_zh_tw.utf-8.vim +file path=usr/share/vim/$(VIMVER)/lang/nb/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/no/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/pl/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/pt_BR/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/ru/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/sk/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/sv/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/uk/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/vi/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/zh_CN.UTF-8/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/zh_CN/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/zh_TW.UTF-8/LC_MESSAGES/vim.mo +file path=usr/share/vim/$(VIMVER)/lang/zh_TW/LC_MESSAGES/vim.mo file path=usr/share/vim/$(VIMVER)/macros/README.txt file path=usr/share/vim/$(VIMVER)/macros/dvorak file path=usr/share/vim/$(VIMVER)/macros/editexisting.vim @@ -1035,6 +1129,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/cynlib.vim file path=usr/share/vim/$(VIMVER)/syntax/cynpp.vim file path=usr/share/vim/$(VIMVER)/syntax/d.vim +file path=usr/share/vim/$(VIMVER)/syntax/datascript.vim file path=usr/share/vim/$(VIMVER)/syntax/dcd.vim file path=usr/share/vim/$(VIMVER)/syntax/dcl.vim file path=usr/share/vim/$(VIMVER)/syntax/debchangelog.vim @@ -1048,9 +1143,11 @@ file path=usr/share/vim/$(VIMVER)/syntax/dictdconf.vim file path=usr/share/vim/$(VIMVER)/syntax/diff.vim file path=usr/share/vim/$(VIMVER)/syntax/dircolors.vim +file path=usr/share/vim/$(VIMVER)/syntax/dirpager.vim file path=usr/share/vim/$(VIMVER)/syntax/diva.vim file path=usr/share/vim/$(VIMVER)/syntax/django.vim file path=usr/share/vim/$(VIMVER)/syntax/dns.vim +file path=usr/share/vim/$(VIMVER)/syntax/dnsmasq.vim file path=usr/share/vim/$(VIMVER)/syntax/docbk.vim file path=usr/share/vim/$(VIMVER)/syntax/docbksgml.vim file path=usr/share/vim/$(VIMVER)/syntax/docbkxml.vim @@ -1082,6 +1179,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/exim.vim file path=usr/share/vim/$(VIMVER)/syntax/expect.vim file path=usr/share/vim/$(VIMVER)/syntax/exports.vim +file path=usr/share/vim/$(VIMVER)/syntax/falcon.vim file path=usr/share/vim/$(VIMVER)/syntax/fan.vim file path=usr/share/vim/$(VIMVER)/syntax/fasm.vim file path=usr/share/vim/$(VIMVER)/syntax/fdcc.vim @@ -1107,6 +1205,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/gitrebase.vim file path=usr/share/vim/$(VIMVER)/syntax/gitsendemail.vim file path=usr/share/vim/$(VIMVER)/syntax/gkrellmrc.vim +file path=usr/share/vim/$(VIMVER)/syntax/gnash.vim file path=usr/share/vim/$(VIMVER)/syntax/gnuplot.vim file path=usr/share/vim/$(VIMVER)/syntax/gp.vim file path=usr/share/vim/$(VIMVER)/syntax/gpg.vim @@ -1130,6 +1229,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/hitest.vim file path=usr/share/vim/$(VIMVER)/syntax/hog.vim file path=usr/share/vim/$(VIMVER)/syntax/hostconf.vim +file path=usr/share/vim/$(VIMVER)/syntax/hostsaccess.vim file path=usr/share/vim/$(VIMVER)/syntax/html.vim file path=usr/share/vim/$(VIMVER)/syntax/htmlcheetah.vim file path=usr/share/vim/$(VIMVER)/syntax/htmldjango.vim @@ -1158,6 +1258,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/javascript.vim file path=usr/share/vim/$(VIMVER)/syntax/jess.vim file path=usr/share/vim/$(VIMVER)/syntax/jgraph.vim +file path=usr/share/vim/$(VIMVER)/syntax/jovial.vim file path=usr/share/vim/$(VIMVER)/syntax/jproperties.vim file path=usr/share/vim/$(VIMVER)/syntax/jsp.vim file path=usr/share/vim/$(VIMVER)/syntax/kconfig.vim @@ -1328,6 +1429,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/scheme.vim file path=usr/share/vim/$(VIMVER)/syntax/scilab.vim file path=usr/share/vim/$(VIMVER)/syntax/screen.vim +file path=usr/share/vim/$(VIMVER)/syntax/scss.vim file path=usr/share/vim/$(VIMVER)/syntax/sd.vim file path=usr/share/vim/$(VIMVER)/syntax/sdc.vim file path=usr/share/vim/$(VIMVER)/syntax/sdl.vim @@ -1414,6 +1516,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/tli.vim file path=usr/share/vim/$(VIMVER)/syntax/tpp.vim file path=usr/share/vim/$(VIMVER)/syntax/trasys.vim +file path=usr/share/vim/$(VIMVER)/syntax/treetop.vim file path=usr/share/vim/$(VIMVER)/syntax/trustees.vim file path=usr/share/vim/$(VIMVER)/syntax/tsalt.vim file path=usr/share/vim/$(VIMVER)/syntax/tsscl.vim @@ -1425,6 +1528,7 @@ file path=usr/share/vim/$(VIMVER)/syntax/udevrules.vim file path=usr/share/vim/$(VIMVER)/syntax/uil.vim file path=usr/share/vim/$(VIMVER)/syntax/updatedb.vim +file path=usr/share/vim/$(VIMVER)/syntax/upstart.vim file path=usr/share/vim/$(VIMVER)/syntax/valgrind.vim file path=usr/share/vim/$(VIMVER)/syntax/vb.vim file path=usr/share/vim/$(VIMVER)/syntax/vera.vim @@ -1494,8 +1598,8 @@ file path=usr/share/vim/$(VIMVER)/tutor/README.el.txt file path=usr/share/vim/$(VIMVER)/tutor/README.txt file path=usr/share/vim/$(VIMVER)/tutor/tutor -file path=usr/share/vim/$(VIMVER)/tutor/tutor.bj -file path=usr/share/vim/$(VIMVER)/tutor/tutor.bj.utf-8 +file path=usr/share/vim/$(VIMVER)/tutor/tutor.bar +file path=usr/share/vim/$(VIMVER)/tutor/tutor.bar.utf-8 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ca file path=usr/share/vim/$(VIMVER)/tutor/tutor.ca.utf-8 file path=usr/share/vim/$(VIMVER)/tutor/tutor.cs @@ -1532,6 +1636,8 @@ file path=usr/share/vim/$(VIMVER)/tutor/tutor.pl file path=usr/share/vim/$(VIMVER)/tutor/tutor.pl.cp1250 file path=usr/share/vim/$(VIMVER)/tutor/tutor.pl.utf-8 +file path=usr/share/vim/$(VIMVER)/tutor/tutor.pt +file path=usr/share/vim/$(VIMVER)/tutor/tutor.pt.utf-8 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ru file path=usr/share/vim/$(VIMVER)/tutor/tutor.ru.cp1251 file path=usr/share/vim/$(VIMVER)/tutor/tutor.ru.utf-8 diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.001 --- a/components/vim/vim72-patches/7.2.001 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.001 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.001 -Problem: Mac: pseudo-ttys don't work properly on Leopard, resulting in the - shell not to have a prompt, CTRL-C not working, etc. -Solution: Don't use SVR4 compatible ptys, even though they are detected. - (Ben Schmidt) -Files: src/pty.c - - -*** ../vim-7.2.000/src/pty.c Wed Aug 6 19:04:29 2008 ---- src/pty.c Fri Aug 15 04:00:34 2008 -*************** -*** 270,278 **** - } - #endif - -! #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) - -! /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work! */ - #define PTY_DONE - int - OpenPTY(ttyn) ---- 270,279 ---- - } - #endif - -! #if defined(HAVE_SVR4_PTYS) && !defined(PTY_DONE) && !defined(hpux) && !defined(MACOS_X) - -! /* NOTE: Even though HPUX can have /dev/ptmx, the code below doesn't work! -! * Same for Mac OS X Leopard. */ - #define PTY_DONE - int - OpenPTY(ttyn) -*** ../vim-7.2.000/src/version.c Sat Aug 9 19:37:37 2008 ---- src/version.c Sun Aug 17 22:56:25 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 1, - /**/ - --- -ARTHUR: Now stand aside worthy adversary. -BLACK KNIGHT: (Glancing at his shoulder) 'Tis but a scratch. -ARTHUR: A scratch? Your arm's off. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.002 --- a/components/vim/vim72-patches/7.2.002 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.002 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.002 -Problem: Leaking memory when displaying menus. -Solution: Free allocated memory. (Dominique Pelle) -Files: src/menu.c - - -*** ../vim-7.2.001/src/menu.c Wed Jun 25 00:19:17 2008 ---- src/menu.c Sat Aug 16 05:38:45 2008 -*************** -*** 1120,1125 **** ---- 1120,1126 ---- - parent = menu; - menu = menu->children; - } -+ vim_free(path_name); - - /* Now we have found the matching menu, and we list the mappings */ - /* Highlight title */ -*** ../vim-7.2.001/src/version.c Sun Aug 17 23:01:21 2008 ---- src/version.c Sun Aug 17 23:42:53 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 2, - /**/ - --- -ARTHUR: You are indeed brave Sir knight, but the fight is mine. -BLACK KNIGHT: Had enough? -ARTHUR: You stupid bastard. You havn't got any arms left. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.003 --- a/components/vim/vim72-patches/7.2.003 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.003 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.003 -Problem: Typo in translated message. Message not translated. -Solution: Correct spelling. Add _(). (Dominique Pelle) -Files: src/spell.c, src/version.c - - -*** ../vim-7.2.002/src/spell.c Tue Jun 24 22:21:31 2008 ---- src/spell.c Sun Aug 10 12:51:38 2008 -*************** -*** 77,83 **** - - /* - * Do the opposite: based on a maximum end score and a known sound score, -! * compute the the maximum word score that can be used. - */ - #define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3) - ---- 77,83 ---- - - /* - * Do the opposite: based on a maximum end score and a known sound score, -! * compute the maximum word score that can be used. - */ - #define MAXSCORE(word_score, sound_score) ((4 * word_score - sound_score) / 3) - -*************** -*** 625,631 **** - /* TRUE if a word appears in the list of banned words. */ - #define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word))) - -! /* Number of suggestions kept when cleaning up. we need to keep more than - * what is displayed, because when rescore_suggestions() is called the score - * may change and wrong suggestions may be removed later. */ - #define SUG_CLEAN_COUNT(su) ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20) ---- 625,631 ---- - /* TRUE if a word appears in the list of banned words. */ - #define WAS_BANNED(su, word) (!HASHITEM_EMPTY(hash_find(&su->su_banned, word))) - -! /* Number of suggestions kept when cleaning up. We need to keep more than - * what is displayed, because when rescore_suggestions() is called the score - * may change and wrong suggestions may be removed later. */ - #define SUG_CLEAN_COUNT(su) ((su)->su_maxcount < 130 ? 150 : (su)->su_maxcount + 20) -*************** -*** 5980,5986 **** - else if (spin->si_newprefID == 0 || spin->si_newprefID == 127) - MSG(_("Too many compound flags")); - else -! MSG(_("Too many posponed prefixes and/or compound flags")); - } - - if (syllable != NULL) ---- 5980,5986 ---- - else if (spin->si_newprefID == 0 || spin->si_newprefID == 127) - MSG(_("Too many compound flags")); - else -! MSG(_("Too many postponed prefixes and/or compound flags")); - } - - if (syllable != NULL) -*** ../vim-7.2.002/src/version.c Sun Aug 17 23:43:53 2008 ---- src/version.c Mon Aug 25 04:06:52 2008 -*************** -*** 790,796 **** - MSG_PUTS(_("\nRISC OS version")); - #endif - #ifdef VMS -! MSG_PUTS("\nOpenVMS version"); - # ifdef HAVE_PATHDEF - if (*compiled_arch != NUL) - { ---- 792,798 ---- - MSG_PUTS(_("\nRISC OS version")); - #endif - #ifdef VMS -! MSG_PUTS(_("\nOpenVMS version")); - # ifdef HAVE_PATHDEF - if (*compiled_arch != NUL) - { -*** ../vim-7.2.002/src/version.c Sun Aug 17 23:43:53 2008 ---- src/version.c Mon Aug 25 04:06:52 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 3, - /**/ - --- -I learned the customs and mannerisms of engineers by observing them, much the -way Jane Goodall learned about the great apes, but without the hassle of -grooming. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.004 --- a/components/vim/vim72-patches/7.2.004 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.004 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.004 -Problem: Cscope help message is not translated. -Solution: Put it in _(). (Dominique Pelle) -Files: src/if_cscope.c, src/if_cscope.h - - -*** ../vim-7.2.003/src/if_cscope.c Tue Jun 24 23:52:06 2008 ---- src/if_cscope.c Mon Aug 25 04:34:19 2008 -*************** -*** 74,80 **** - { "add", cs_add, - N_("Add a new database"), "add file|dir [pre-path] [flags]", 0 }, - { "find", cs_find, -! N_("Query for a pattern"), FIND_USAGE, 1 }, - { "help", cs_help, - N_("Show this message"), "help", 0 }, - { "kill", cs_kill, ---- 74,80 ---- - { "add", cs_add, - N_("Add a new database"), "add file|dir [pre-path] [flags]", 0 }, - { "find", cs_find, -! N_("Query for a pattern"), "find c|d|e|f|g|i|s|t name", 1 }, - { "help", cs_help, - N_("Show this message"), "help", 0 }, - { "kill", cs_kill, -*************** -*** 1180,1186 **** - (void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"), - cmdp->name, _(cmdp->help), cmdp->usage); - if (strcmp(cmdp->name, "find") == 0) -! MSG_PUTS(FIND_HELP); - cmdp++; - } - ---- 1180,1195 ---- - (void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"), - cmdp->name, _(cmdp->help), cmdp->usage); - if (strcmp(cmdp->name, "find") == 0) -! MSG_PUTS(_("\n" -! " c: Find functions calling this function\n" -! " d: Find functions called by this function\n" -! " e: Find this egrep pattern\n" -! " f: Find this file\n" -! " g: Find this definition\n" -! " i: Find files #including this file\n" -! " s: Find this C symbol\n" -! " t: Find assignments to\n")); -! - cmdp++; - } - -*** ../vim-7.2.003/src/if_cscope.h Thu Sep 6 17:38:58 2007 ---- src/if_cscope.h Mon Aug 25 04:34:17 2008 -*************** -*** 42,58 **** - * f 7name Find this file - * i 8name Find files #including this file - */ -- #define FIND_USAGE "find c|d|e|f|g|i|s|t name" -- #define FIND_HELP "\n\ -- c: Find functions calling this function\n\ -- d: Find functions called by this function\n\ -- e: Find this egrep pattern\n\ -- f: Find this file\n\ -- g: Find this definition\n\ -- i: Find files #including this file\n\ -- s: Find this C symbol\n\ -- t: Find assignments to\n" -- - - typedef struct { - char * name; ---- 42,47 ---- -*** ../vim-7.2.003/src/version.c Mon Aug 25 04:12:38 2008 ---- src/version.c Mon Aug 25 04:29:53 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 4, - /**/ - --- -If someone questions your market projections, simply point out that your -target market is "People who are nuts" and "People who will buy any damn -thing". Nobody is going to tell you there aren't enough of those people -to go around. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.005 --- a/components/vim/vim72-patches/7.2.005 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.005 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.005 -Problem: A few problems when profiling. Using flag pointer instead of flag - value. Allocating zero bytes. Not freeing used memory. -Solution: Remove wrong '&' characters. Skip dumping when there is nothing - to dump. Free used memory. (Dominique Pelle) -Files: src/eval.c - - -*** ../vim-7.2.004/src/eval.c Fri Aug 8 12:36:31 2008 ---- src/eval.c Mon Aug 25 04:40:11 2008 -*************** -*** 3657,3664 **** - } - - /* -! * Return TRUE if typeval "tv" is locked: Either tha value is locked itself or -! * it refers to a List or Dictionary that is locked. - */ - static int - tv_islocked(tv) ---- 3657,3664 ---- - } - - /* -! * Return TRUE if typeval "tv" is locked: Either that value is locked itself -! * or it refers to a List or Dictionary that is locked. - */ - static int - tv_islocked(tv) -*************** -*** 15838,15847 **** - if (res == FAIL) - res = ITEM_COMPARE_FAIL; - else -- /* return value has wrong type */ - res = get_tv_number_chk(&rettv, &item_compare_func_err); - if (item_compare_func_err) -! res = ITEM_COMPARE_FAIL; - clear_tv(&rettv); - return res; - } ---- 15838,15846 ---- - if (res == FAIL) - res = ITEM_COMPARE_FAIL; - else - res = get_tv_number_chk(&rettv, &item_compare_func_err); - if (item_compare_func_err) -! res = ITEM_COMPARE_FAIL; /* return value has wrong type */ - clear_tv(&rettv); - return res; - } -*************** -*** 20590,20595 **** ---- 20589,20597 ---- - int st_len = 0; - - todo = (int)func_hashtab.ht_used; -+ if (todo == 0) -+ return; /* nothing to dump */ -+ - sorttab = (ufunc_T **)alloc((unsigned)(sizeof(ufunc_T) * todo)); - - for (hi = func_hashtab.ht_array; todo > 0; ++hi) -*************** -*** 20638,20643 **** ---- 20640,20647 ---- - prof_self_cmp); - prof_sort_list(fd, sorttab, st_len, "SELF", TRUE); - } -+ -+ vim_free(sorttab); - } - - static void -*************** -*** 21204,21210 **** - if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL)) - func_do_profile(fp); - if (fp->uf_profiling -! || (fc.caller != NULL && &fc.caller->func->uf_profiling)) - { - ++fp->uf_tm_count; - profile_start(&call_start); ---- 21208,21214 ---- - if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL)) - func_do_profile(fp); - if (fp->uf_profiling -! || (fc.caller != NULL && fc.caller->func->uf_profiling)) - { - ++fp->uf_tm_count; - profile_start(&call_start); -*************** -*** 21235,21247 **** - - #ifdef FEAT_PROFILE - if (do_profiling == PROF_YES && (fp->uf_profiling -! || (fc.caller != NULL && &fc.caller->func->uf_profiling))) - { - profile_end(&call_start); - profile_sub_wait(&wait_start, &call_start); - profile_add(&fp->uf_tm_total, &call_start); - profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children); -! if (fc.caller != NULL && &fc.caller->func->uf_profiling) - { - profile_add(&fc.caller->func->uf_tm_children, &call_start); - profile_add(&fc.caller->func->uf_tml_children, &call_start); ---- 21239,21251 ---- - - #ifdef FEAT_PROFILE - if (do_profiling == PROF_YES && (fp->uf_profiling -! || (fc.caller != NULL && fc.caller->func->uf_profiling))) - { - profile_end(&call_start); - profile_sub_wait(&wait_start, &call_start); - profile_add(&fp->uf_tm_total, &call_start); - profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children); -! if (fc.caller != NULL && fc.caller->func->uf_profiling) - { - profile_add(&fc.caller->func->uf_tm_children, &call_start); - profile_add(&fc.caller->func->uf_tml_children, &call_start); -*** ../vim-7.2.004/src/version.c Mon Aug 25 04:35:13 2008 ---- src/version.c Mon Aug 25 04:46:44 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 5, - /**/ - --- -The process for understanding customers primarily involves sitting around with -other marketing people and talking about what you would to if you were dumb -enough to be a customer. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.006 --- a/components/vim/vim72-patches/7.2.006 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.006 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.006 -Problem: HTML files are not recognized by contents. -Solution: Add a rule to the scripts file. (Nico Weber) -Files: runtime/scripts.vim - - -*** ../vim-7.2.005/runtime/scripts.vim Sat Aug 9 19:37:09 2008 ---- runtime/scripts.vim Sat Aug 16 04:05:34 2008 -*************** -*** 234,239 **** ---- 234,243 ---- - elseif s:line1 =~ '\' -+ set ft=html -+ - " PDF - elseif s:line1 =~ '^%PDF-' - set ft=pdf -*** ../vim-7.2.005/src/version.c Mon Aug 25 04:48:21 2008 ---- src/version.c Mon Aug 25 05:02:34 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 6, - /**/ - --- -Never enter the boss's office unless it's absolutely necessary. Every boss -saves one corner of the desk for useless assignments that are doled out like -Halloween candy to each visitor. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.008 --- a/components/vim/vim72-patches/7.2.008 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.008 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.008 -Problem: With a BufHidden autocommand that invokes ":bunload" the window - count for a buffer can be wrong. (Bob Hiestand) -Solution: Don't call enter_buffer() when already in that buffer. -Files: src/buffer.c - - -*** ../vim-7.2.007/src/buffer.c Wed Aug 6 18:32:40 2008 ---- src/buffer.c Mon Sep 1 14:25:45 2008 -*************** -*** 1351,1361 **** - } - } - #ifdef FEAT_AUTOCMD - # ifdef FEAT_EVAL -! /* An autocommand may have deleted buf or aborted the script processing! */ -! if (buf_valid(buf) && !aborting()) - # else -! if (buf_valid(buf)) /* an autocommand may have deleted buf! */ - # endif - #endif - enter_buffer(buf); ---- 1351,1362 ---- - } - } - #ifdef FEAT_AUTOCMD -+ /* An autocommand may have deleted "buf", already entered it (e.g., when -+ * it did ":bunload") or aborted the script processing! */ - # ifdef FEAT_EVAL -! if (buf_valid(buf) && buf != curbuf && !aborting()) - # else -! if (buf_valid(buf) && buf != curbuf) - # endif - #endif - enter_buffer(buf); -*** ../vim-7.2.007/src/version.c Mon Sep 1 16:50:09 2008 ---- src/version.c Mon Sep 1 17:31:28 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 8, - /**/ - --- -If Pacman had affected us as kids we'd be running around in dark rooms, -munching pills and listening to repetitive music. - -- Marcus Brigstocke - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.009 --- a/components/vim/vim72-patches/7.2.009 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.009 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.009 -Problem: Can't compile with Perl 5.10 on MS-Windows. (Cesar Romani) -Solution: Add the Perl_sv_free2 function for dynamic loading. (Dan Sharp) -Files: src/if_perl.xs - - -*** ../vim-7.2.008/src/if_perl.xs Thu Jul 24 16:24:15 2008 ---- src/if_perl.xs Mon Sep 1 14:58:37 2008 -*************** -*** 136,141 **** ---- 136,144 ---- - # define Perl_newXS_flags dll_Perl_newXS_flags - #endif - # define Perl_sv_free dll_Perl_sv_free -+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -+ # define Perl_sv_free2 dll_Perl_sv_free2 -+ # endif - # define Perl_sv_isa dll_Perl_sv_isa - # define Perl_sv_magic dll_Perl_sv_magic - # define Perl_sv_setiv dll_Perl_sv_setiv -*************** -*** 268,273 **** ---- 271,277 ---- - static void (*boot_DynaLoader)_((pTHX_ CV*)); - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -+ static void (*Perl_sv_free2)(pTHX_ SV*); - static void (*Perl_sys_init3)(int* argc, char*** argv, char*** env); - static void (*Perl_sys_term)(void); - static SV** (*Perl_ISv_ptr)(register PerlInterpreter*); -*************** -*** 367,372 **** ---- 371,377 ---- - {"Perl_TXpv_ptr", (PERL_PROC*)&Perl_TXpv_ptr}, - {"Perl_Tna_ptr", (PERL_PROC*)&Perl_Tna_ptr}, - #else -+ {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2}, - {"Perl_sys_init3", (PERL_PROC*)&Perl_sys_init3}, - {"Perl_sys_term", (PERL_PROC*)&Perl_sys_term}, - {"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr}, -*** ../vim-7.2.008/src/version.c Mon Sep 1 17:32:40 2008 ---- src/version.c Mon Sep 1 17:55:24 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 9, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -11. Specify that your drive-through order is "to go". - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.010 --- a/components/vim/vim72-patches/7.2.010 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,206 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.010 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.010 -Problem: When using "K" in Visual mode not all characters are properly - escaped. (Ben Schmidt) -Solution: Use a function with the functionality of shellescape(). (Jan - Minar) -Files: src/mbyte.c, src/misc2.c, src/normal.c - - -*** ../vim-7.2.009/src/mbyte.c Wed Aug 6 18:45:36 2008 ---- src/mbyte.c Wed Sep 3 22:34:48 2008 -*************** -*** 2540,2546 **** - return (int)(p - q); - } - -- #if defined(FEAT_EVAL) || defined(PROTO) - /* - * Copy a character from "*fp" to "*tp" and advance the pointers. - */ ---- 2540,2545 ---- -*************** -*** 2555,2561 **** - *tp += l; - *fp += l; - } -- #endif - - /* - * Return the offset from "p" to the first byte of a character. When "p" is ---- 2554,2559 ---- -*** ../vim-7.2.009/src/misc2.c Thu Jul 24 20:28:58 2008 ---- src/misc2.c Wed Sep 3 22:05:21 2008 -*************** -*** 1257,1263 **** - return escaped_string; - } - -- #if !defined(BACKSLASH_IN_FILENAME) || defined(FEAT_EVAL) || defined(PROTO) - /* - * Return TRUE when 'shell' has "csh" in the tail. - */ ---- 1257,1262 ---- -*************** -*** 1266,1274 **** - { - return (strstr((char *)gettail(p_sh), "csh") != NULL); - } -- #endif - -- #if defined(FEAT_EVAL) || defined(PROTO) - /* - * Escape "string" for use as a shell argument with system(). - * This uses single quotes, except when we know we need to use double qoutes ---- 1265,1271 ---- -*************** -*** 1391,1397 **** - - return escaped_string; - } -- #endif - - /* - * Like vim_strsave(), but make all characters uppercase. ---- 1388,1393 ---- -*** ../vim-7.2.009/src/normal.c Thu Jul 31 22:03:54 2008 ---- src/normal.c Sat Sep 6 15:06:07 2008 -*************** -*** 5469,5474 **** ---- 5469,5479 ---- - STRCPY(buf, "he! "); - else - { -+ /* An external command will probably use an argument starting -+ * with "-" as an option. To avoid trouble we skip the "-". */ -+ while (*ptr == '-') -+ ++ptr; -+ - /* When a count is given, turn it into a range. Is this - * really what we want? */ - isman = (STRCMP(kp, "man") == 0); -*************** -*** 5511,5547 **** - /* - * Now grab the chars in the identifier - */ -! if (cmdchar == '*') -! aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\"); -! else if (cmdchar == '#') -! aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); -! else if (cmdchar == 'K' && !kp_help) -! aux_ptr = (char_u *)" \t\\\"|!"; -! else -! /* Don't escape spaces and Tabs in a tag with a backslash */ -! aux_ptr = (char_u *)"\\|\""; -! -! p = buf + STRLEN(buf); -! while (n-- > 0) -! { -! /* put a backslash before \ and some others */ -! if (vim_strchr(aux_ptr, *ptr) != NULL) -! *p++ = '\\'; -! #ifdef FEAT_MBYTE -! /* When current byte is a part of multibyte character, copy all bytes -! * of that character. */ -! if (has_mbyte) - { -! int i; -! int len = (*mb_ptr2len)(ptr) - 1; -! -! for (i = 0; i < len && n >= 1; ++i, --n) -! *p++ = *ptr++; - } - #endif -! *p++ = *ptr++; - } -- *p = NUL; - - /* - * Execute the command. ---- 5516,5572 ---- - /* - * Now grab the chars in the identifier - */ -! if (cmdchar == 'K' && !kp_help) -! { -! /* Escape the argument properly for a shell command */ -! p = vim_strsave_shellescape(ptr, TRUE); -! if (p == NULL) - { -! vim_free(buf); -! return; - } -+ buf = (char_u *)vim_realloc(buf, STRLEN(buf) + STRLEN(p) + 1); -+ if (buf == NULL) -+ { -+ vim_free(buf); -+ vim_free(p); -+ return; -+ } -+ STRCAT(buf, p); -+ vim_free(p); -+ } -+ else -+ { -+ if (cmdchar == '*') -+ aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\"); -+ else if (cmdchar == '#') -+ aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); -+ else -+ /* Don't escape spaces and Tabs in a tag with a backslash */ -+ aux_ptr = (char_u *)"\\|\"\n*?["; -+ -+ p = buf + STRLEN(buf); -+ while (n-- > 0) -+ { -+ /* put a backslash before \ and some others */ -+ if (vim_strchr(aux_ptr, *ptr) != NULL) -+ *p++ = '\\'; -+ #ifdef FEAT_MBYTE -+ /* When current byte is a part of multibyte character, copy all -+ * bytes of that character. */ -+ if (has_mbyte) -+ { -+ int i; -+ int len = (*mb_ptr2len)(ptr) - 1; -+ -+ for (i = 0; i < len && n >= 1; ++i, --n) -+ *p++ = *ptr++; -+ } - #endif -! *p++ = *ptr++; -! } -! *p = NUL; - } - - /* - * Execute the command. -*** ../vim-7.2.009/src/version.c Mon Sep 1 17:56:05 2008 ---- src/version.c Sat Sep 6 16:26:42 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 10, - /**/ - --- -Q. What happens to programmers when they die? -A: MS-Windows programmers are reinstalled. C++ programmers become undefined, - anyone who refers to them will die as well. Java programmers reincarnate - after being garbage collected. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.011 --- a/components/vim/vim72-patches/7.2.011 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.011 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.011 -Problem: Get an error when inserting a float value from the expression - register. -Solution: Convert the Float to a String automatically in the same place - where a List would be converted to a String. -Files: src/eval.c - - -*** ../vim-7.2.010/src/eval.c Mon Aug 25 04:48:21 2008 ---- src/eval.c Sun Sep 7 13:50:38 2008 -*************** -*** 1256,1278 **** - - /* - * Top level evaluation function, returning a string. - * Return pointer to allocated memory, or NULL for failure. - */ - char_u * -! eval_to_string(arg, nextcmd, dolist) - char_u *arg; - char_u **nextcmd; -! int dolist; /* turn List into sequence of lines */ - { - typval_T tv; - char_u *retval; - garray_T ga; - - if (eval0(arg, &tv, nextcmd, TRUE) == FAIL) - retval = NULL; - else - { -! if (dolist && tv.v_type == VAR_LIST) - { - ga_init2(&ga, (int)sizeof(char), 80); - if (tv.vval.v_list != NULL) ---- 1256,1281 ---- - - /* - * Top level evaluation function, returning a string. -+ * When "convert" is TRUE convert a List into a sequence of lines and convert -+ * a Float to a String. - * Return pointer to allocated memory, or NULL for failure. - */ - char_u * -! eval_to_string(arg, nextcmd, convert) - char_u *arg; - char_u **nextcmd; -! int convert; - { - typval_T tv; - char_u *retval; - garray_T ga; -+ char_u numbuf[NUMBUFLEN]; - - if (eval0(arg, &tv, nextcmd, TRUE) == FAIL) - retval = NULL; - else - { -! if (convert && tv.v_type == VAR_LIST) - { - ga_init2(&ga, (int)sizeof(char), 80); - if (tv.vval.v_list != NULL) -*************** -*** 1280,1285 **** ---- 1283,1295 ---- - ga_append(&ga, NUL); - retval = (char_u *)ga.ga_data; - } -+ #ifdef FEAT_FLOAT -+ else if (convert && tv.v_type == VAR_FLOAT) -+ { -+ vim_snprintf((char *)numbuf, NUMBUFLEN, "%g", tv.vval.v_float); -+ retval = vim_strsave(numbuf); -+ } -+ #endif - else - retval = vim_strsave(get_tv_string(&tv)); - clear_tv(&tv); -*** ../vim-7.2.010/src/version.c Sat Sep 6 16:44:06 2008 ---- src/version.c Sun Sep 7 13:52:00 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 11, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -34. You laugh at people with 14400 baud modems. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.012 --- a/components/vim/vim72-patches/7.2.012 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.012 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.012 -Problem: Compiler warnings when building with startup timing. -Solution: Add type casts. -Files: src/ex_cmds2.c - - -*** ../vim-7.2.011/src/ex_cmds2.c Sun Jul 13 19:36:09 2008 ---- src/ex_cmds2.c Tue Sep 2 11:14:41 2008 -*************** -*** 3145,3152 **** - verbose_leave(); - } - #ifdef STARTUPTIME -! vim_snprintf(IObuff, IOSIZE, "sourcing %s", fname); -! time_msg(IObuff, &tv_start); - time_pop(&tv_rel); - #endif - ---- 3145,3152 ---- - verbose_leave(); - } - #ifdef STARTUPTIME -! vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname); -! time_msg((char *)IObuff, &tv_start); - time_pop(&tv_rel); - #endif - -*** ../vim-7.2.011/src/version.c Sun Sep 7 13:54:31 2008 ---- src/version.c Sun Sep 7 15:49:00 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 12, - /**/ - --- -He who laughs last, thinks slowest. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.013 --- a/components/vim/vim72-patches/7.2.013 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,135 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.013 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.013 -Problem: While waiting for the X selection Vim consumes a lot of CPU time - and hangs until a response is received. -Solution: Sleep a bit when the selection event hasn't been received yet. - Time out after a couple of seconds to avoid a hang when the - selection owner isn't responding. -Files: src/ui.c - - -*** ../vim-7.2.012/src/ui.c Mon Jul 14 21:47:49 2008 ---- src/ui.c Sun Sep 7 16:54:35 2008 -*************** -*** 2110,2115 **** ---- 2110,2117 ---- - int i; - int nbytes = 0; - char_u *buffer; -+ time_t start_time; -+ int timed_out = FALSE; - - for (i = - #ifdef FEAT_MBYTE -*************** -*** 2129,2134 **** ---- 2131,2137 ---- - case 3: type = text_atom; break; - default: type = XA_STRING; - } -+ success = FALSE; - XtGetSelectionValue(myShell, cbd->sel_atom, type, - clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime); - -*************** -*** 2141,2167 **** - * characters, then they will appear before the one that requested the - * paste! Don't worry, we will catch up with any other events later. - */ - for (;;) - { - if (XCheckTypedEvent(dpy, SelectionNotify, &event)) - break; - if (XCheckTypedEvent(dpy, SelectionRequest, &event)) - /* We may get a SelectionRequest here and if we don't handle - * it we hang. KDE klipper does this, for example. */ - XtDispatchEvent(&event); - - /* Do we need this? Probably not. */ - XSync(dpy, False); - -! /* Bernhard Walle solved a slow paste response in an X terminal by -! * adding: usleep(10000); here. */ - } - -- /* this is where clip_x11_request_selection_cb() is actually called */ -- XtDispatchEvent(&event); -- - if (success) - return; - } - - /* Final fallback position - use the X CUT_BUFFER0 store */ ---- 2144,2189 ---- - * characters, then they will appear before the one that requested the - * paste! Don't worry, we will catch up with any other events later. - */ -+ start_time = time(NULL); - for (;;) - { - if (XCheckTypedEvent(dpy, SelectionNotify, &event)) -+ { -+ /* this is where clip_x11_request_selection_cb() is actually -+ * called */ -+ XtDispatchEvent(&event); - break; -+ } - if (XCheckTypedEvent(dpy, SelectionRequest, &event)) - /* We may get a SelectionRequest here and if we don't handle - * it we hang. KDE klipper does this, for example. */ - XtDispatchEvent(&event); - -+ /* Time out after 2 to 3 seconds to avoid that we hang when the -+ * other process doesn't respond. Note that the SelectionNotify -+ * event may still come later when the selection owner comes back -+ * to life and the text gets inserted unexpectedly (by xterm). -+ * Don't know how to avoid that :-(. */ -+ if (time(NULL) > start_time + 2) -+ { -+ timed_out = TRUE; -+ break; -+ } -+ - /* Do we need this? Probably not. */ - XSync(dpy, False); - -! /* Wait for 1 msec to avoid that we eat up all CPU time. */ -! ui_delay(1L, TRUE); - } - - if (success) - return; -+ -+ /* don't do a retry with another type after timing out, otherwise we -+ * hang for 15 seconds. */ -+ if (timed_out) -+ break; - } - - /* Final fallback position - use the X CUT_BUFFER0 store */ -*** ../vim-7.2.012/src/version.c Sun Sep 7 15:49:45 2008 ---- src/version.c Sun Sep 7 21:45:55 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 13, - /**/ - --- -The users that I support would double-click on a landmine to find out -what happens. -- A system administrator - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.014 --- a/components/vim/vim72-patches/7.2.014 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.014 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.014 -Problem: synstack() doesn't work in an emptly line. -Solution: Accept column zero as a valid position. -Files: src/eval.c - - -*** ../vim-7.2.013/src/eval.c Sun Sep 7 13:54:31 2008 ---- src/eval.c Sun Sep 7 13:50:38 2008 -*************** -*** 16667,16673 **** - col = get_tv_number(&argvars[1]) - 1; /* -1 on type error */ - - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count -! && col >= 0 && col < (long)STRLEN(ml_get(lnum)) - && rettv_list_alloc(rettv) != FAIL) - { - (void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE); ---- 16667,16673 ---- - col = get_tv_number(&argvars[1]) - 1; /* -1 on type error */ - - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count -! && col >= 0 && (col == 0 || col < (long)STRLEN(ml_get(lnum))) - && rettv_list_alloc(rettv) != FAIL) - { - (void)syn_get_id(curwin, lnum, (colnr_T)col, FALSE, NULL, TRUE); -*** ../vim-7.2.013/src/version.c Sun Sep 7 21:47:51 2008 ---- src/version.c Wed Sep 10 15:36:52 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 14, - /**/ - --- -Everybody lies, but it doesn't matter since nobody listens. - -- Lieberman's Law - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.015 --- a/components/vim/vim72-patches/7.2.015 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.015 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.015 -Problem: "make all test install" doesn't stop when the test fails. (Daniel - Shahaf) -Solution: When test.log contains failures exit with non-zero status. -Files: src/testdir/Makefile - - -*** ../vim-7.2.014/src/testdir/Makefile Wed Jun 25 00:22:53 2008 ---- src/testdir/Makefile Sun Sep 7 21:31:49 2008 -*************** -*** 26,40 **** - - .SUFFIXES: .in .out - -! nongui: nolog $(SCRIPTS) -! @echo -! @cat test.log -! @echo ALL DONE - -! gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) - @echo -! @cat test.log -! @echo ALL DONE - - $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) - ---- 26,42 ---- - - .SUFFIXES: .in .out - -! nongui: nolog $(SCRIPTS) report -! -! gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) report - -! report: - @echo -! @echo 'Test results:' -! @/bin/sh -c "if test -f test.log; \ -! then cat test.log; echo TEST FAILURE; exit 1; \ -! else echo ALL DONE; \ -! fi" - - $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) - -*************** -*** 71,74 **** - test60.out: test60.vim - - nolog: -! -echo Test results: >test.log ---- 73,76 ---- - test60.out: test60.vim - - nolog: -! -rm -f test.log -*** ../vim-7.2.014/src/version.c Wed Sep 10 15:38:13 2008 ---- src/version.c Wed Sep 10 18:23:38 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 15, - /**/ - --- -Light travels faster than sound. This is why some people -appear bright until you hear them speak - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.016 --- a/components/vim/vim72-patches/7.2.016 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.016 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.016 -Problem: The pattern being completed may be in freed memory when the - command line is being reallocated. (Dominique Pelle) -Solution: Keep a pointer to the expand_T in the command line structure. - Don't use as CTRL-P when there are no results. Clear the - completion when using a command line from the history. -Files: src/ex_getln.c - - -*** ../vim-7.2.015/src/ex_getln.c Fri Aug 8 12:58:59 2008 ---- src/ex_getln.c Wed Sep 10 22:43:41 2008 -*************** -*** 31,36 **** ---- 31,38 ---- - int cmdattr; /* attributes for prompt */ - int overstrike; /* Typing mode on the command line. Shared by - getcmdline() and put_on_cmdline(). */ -+ expand_T *xpc; /* struct being used for expansion, xp_pattern -+ may point into cmdbuff */ - int xp_context; /* type of expansion */ - # ifdef FEAT_EVAL - char_u *xp_arg; /* user-defined expansion arg */ -*************** -*** 38,44 **** - # endif - }; - -! static struct cmdline_info ccline; /* current cmdline_info */ - - static int cmd_showtail; /* Only show path tail in lists ? */ - ---- 40,50 ---- - # endif - }; - -! /* The current cmdline_info. It is initialized in getcmdline() and after that -! * used by other functions. When invoking getcmdline() recursively it needs -! * to be saved with save_cmdline() and restored with restore_cmdline(). -! * TODO: make it local to getcmdline() and pass it around. */ -! static struct cmdline_info ccline; - - static int cmd_showtail; /* Only show path tail in lists ? */ - -*************** -*** 238,243 **** ---- 244,250 ---- - } - - ExpandInit(&xpc); -+ ccline.xpc = &xpc; - - #ifdef FEAT_RIGHTLEFT - if (curwin->w_p_rl && *curwin->w_p_rlc == 's' -*************** -*** 408,416 **** - #endif - - /* -! * works like CTRL-P (unless 'wc' is ). - */ -! if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles != -1) - c = Ctrl_P; - - #ifdef FEAT_WILDMENU ---- 415,424 ---- - #endif - - /* -! * When there are matching completions to select works like -! * CTRL-P (unless 'wc' is ). - */ -! if (c != p_wc && c == K_S_TAB && xpc.xp_numfiles > 0) - c = Ctrl_P; - - #ifdef FEAT_WILDMENU -*************** -*** 1513,1518 **** ---- 1521,1527 ---- - int old_firstc; - - vim_free(ccline.cmdbuff); -+ xpc.xp_context = EXPAND_NOTHING; - if (hiscnt == hislen) - p = lookfor; /* back to the old one */ - else -*************** -*** 1839,1844 **** ---- 1848,1854 ---- - #endif - - ExpandCleanup(&xpc); -+ ccline.xpc = NULL; - - #ifdef FEAT_SEARCH_EXTRA - if (did_incsearch) -*************** -*** 2508,2513 **** ---- 2518,2537 ---- - } - mch_memmove(ccline.cmdbuff, p, (size_t)ccline.cmdlen + 1); - vim_free(p); -+ -+ if (ccline.xpc != NULL -+ && ccline.xpc->xp_pattern != NULL -+ && ccline.xpc->xp_context != EXPAND_NOTHING -+ && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL) -+ { -+ int i = ccline.xpc->xp_pattern - p; -+ -+ /* If xp_pattern points inside the old cmdbuff it needs to be adjusted -+ * to point into the newly allocated memory. */ -+ if (i >= 0 && i <= ccline.cmdlen) -+ ccline.xpc->xp_pattern = ccline.cmdbuff + i; -+ } -+ - return OK; - } - -*************** -*** 2875,2880 **** ---- 2899,2905 ---- - prev_ccline = ccline; - ccline.cmdbuff = NULL; - ccline.cmdprompt = NULL; -+ ccline.xpc = NULL; - } - - /* -*************** -*** 3582,3587 **** ---- 3607,3613 ---- - ExpandInit(xp) - expand_T *xp; - { -+ xp->xp_pattern = NULL; - xp->xp_backslash = XP_BS_NONE; - #ifndef BACKSLASH_IN_FILENAME - xp->xp_shell = FALSE; -*** ../vim-7.2.015/src/version.c Wed Sep 10 18:25:18 2008 ---- src/version.c Sun Sep 14 14:38:47 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 16, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -53. To find out what time it is, you send yourself an e-mail and check the - "Date:" field. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.017 --- a/components/vim/vim72-patches/7.2.017 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.017 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.017 -Problem: strlen() used on text that may not end in a NUL. (Dominique Pelle) - Pasting a very big selection doesn't work. -Solution: Use the length passed to the XtSelectionCallbackProc() function. - After getting the SelectionNotify event continue dispatching - events until the callback is actually called. Also dispatch the - PropertyNotify event. -Files: src/ui.c - - -*** ../vim-7.2.016/src/ui.c Sun Sep 7 21:47:51 2008 ---- src/ui.c Sun Sep 14 15:52:19 2008 -*************** -*** 2020,2026 **** - - if (value == NULL || *length == 0) - { -! clip_free_selection(cbd); /* ??? [what's the query?] */ - *(int *)success = FALSE; - return; - } ---- 2020,2026 ---- - - if (value == NULL || *length == 0) - { -! clip_free_selection(cbd); /* nothing received, clear register */ - *(int *)success = FALSE; - return; - } -*************** -*** 2076,2082 **** - text_prop.value = (unsigned char *)value; - text_prop.encoding = *type; - text_prop.format = *format; -! text_prop.nitems = STRLEN(value); - status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop, - &text_list, &n_text); - if (status != Success || n_text < 1) ---- 2076,2082 ---- - text_prop.value = (unsigned char *)value; - text_prop.encoding = *type; - text_prop.format = *format; -! text_prop.nitems = len; - status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop, - &text_list, &n_text); - if (status != Success || n_text < 1) -*************** -*** 2131,2137 **** - case 3: type = text_atom; break; - default: type = XA_STRING; - } -! success = FALSE; - XtGetSelectionValue(myShell, cbd->sel_atom, type, - clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime); - ---- 2131,2137 ---- - case 3: type = text_atom; break; - default: type = XA_STRING; - } -! success = MAYBE; - XtGetSelectionValue(myShell, cbd->sel_atom, type, - clip_x11_request_selection_cb, (XtPointer)&success, CurrentTime); - -*************** -*** 2145,2169 **** - * paste! Don't worry, we will catch up with any other events later. - */ - start_time = time(NULL); -! for (;;) - { -! if (XCheckTypedEvent(dpy, SelectionNotify, &event)) - { -! /* this is where clip_x11_request_selection_cb() is actually -! * called */ - XtDispatchEvent(&event); -! break; - } -- if (XCheckTypedEvent(dpy, SelectionRequest, &event)) -- /* We may get a SelectionRequest here and if we don't handle -- * it we hang. KDE klipper does this, for example. */ -- XtDispatchEvent(&event); - - /* Time out after 2 to 3 seconds to avoid that we hang when the - * other process doesn't respond. Note that the SelectionNotify - * event may still come later when the selection owner comes back -! * to life and the text gets inserted unexpectedly (by xterm). -! * Don't know how to avoid that :-(. */ - if (time(NULL) > start_time + 2) - { - timed_out = TRUE; ---- 2145,2171 ---- - * paste! Don't worry, we will catch up with any other events later. - */ - start_time = time(NULL); -! while (success == MAYBE) - { -! if (XCheckTypedEvent(dpy, SelectionNotify, &event) -! || XCheckTypedEvent(dpy, SelectionRequest, &event) -! || XCheckTypedEvent(dpy, PropertyNotify, &event)) - { -! /* This is where clip_x11_request_selection_cb() should be -! * called. It may actually happen a bit later, so we loop -! * until "success" changes. -! * We may get a SelectionRequest here and if we don't handle -! * it we hang. KDE klipper does this, for example. -! * We need to handle a PropertyNotify for large selections. */ - XtDispatchEvent(&event); -! continue; - } - - /* Time out after 2 to 3 seconds to avoid that we hang when the - * other process doesn't respond. Note that the SelectionNotify - * event may still come later when the selection owner comes back -! * to life and the text gets inserted unexpectedly. Don't know -! * why that happens or how to avoid that :-(. */ - if (time(NULL) > start_time + 2) - { - timed_out = TRUE; -*************** -*** 2177,2183 **** - ui_delay(1L, TRUE); - } - -! if (success) - return; - - /* don't do a retry with another type after timing out, otherwise we ---- 2179,2185 ---- - ui_delay(1L, TRUE); - } - -! if (success == TRUE) - return; - - /* don't do a retry with another type after timing out, otherwise we -*** ../vim-7.2.016/src/version.c Sun Sep 14 14:41:44 2008 ---- src/version.c Sun Sep 14 15:55:34 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 17, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -54. You start tilting your head sideways to smile. :-) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.018 --- a/components/vim/vim72-patches/7.2.018 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.018 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.018 -Problem: Memory leak when substitute is aborted. -Solution: Free the buffer allocated for the new text. (Dominique Pelle) -Files: src/ex_cmds.c - - -*** ../vim-7.2.017/src/ex_cmds.c Wed Aug 6 15:03:07 2008 ---- src/ex_cmds.c Sun Sep 14 13:45:03 2008 -*************** -*** 5059,5064 **** ---- 5059,5065 ---- - - if (did_sub) - ++sub_nlines; -+ vim_free(new_start); /* for when substitute was cancelled */ - vim_free(sub_firstline); /* free the copy of the original line */ - sub_firstline = NULL; - } -*** ../vim-7.2.017/src/version.c Sun Sep 14 15:57:54 2008 ---- src/version.c Sun Sep 14 21:38:25 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 18, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -55. You ask your doctor to implant a gig in your brain. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.019 --- a/components/vim/vim72-patches/7.2.019 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.019 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.019 -Problem: Completion of ":noautocmd" doesn't work and exists(":noautocmd") - returns zero. (Ben Fritz) -Solution: Add "noautocmd" to the list of modifiers and commands. -Files: src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.018/src/ex_cmds.h Wed Jun 25 00:44:40 2008 ---- src/ex_cmds.h Sat Sep 13 18:37:25 2008 -*************** -*** 635,640 **** ---- 635,642 ---- - RANGE|NOTADR|ZEROR|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_noremap, "noremap", ex_map, - BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), -+ EX(CMD_noautocmd, "noautocmd", ex_wrongmodifier, -+ NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_nohlsearch, "nohlsearch", ex_nohlsearch, - TRLBAR|SBOXOK|CMDWIN), - EX(CMD_noreabbrev, "noreabbrev", ex_abbreviate, -*** ../vim-7.2.018/src/ex_docmd.c Sat Jul 26 16:04:39 2008 ---- src/ex_docmd.c Mon Sep 15 20:04:53 2008 -*************** -*** 2978,2983 **** ---- 2979,2985 ---- - {"keepmarks", 3, FALSE}, - {"leftabove", 5, FALSE}, - {"lockmarks", 3, FALSE}, -+ {"noautocmd", 3, FALSE}, - {"rightbelow", 6, FALSE}, - {"sandbox", 3, FALSE}, - {"silent", 3, FALSE}, -*** ../vim-7.2.018/src/version.c Sun Sep 14 21:40:26 2008 ---- src/version.c Thu Sep 18 12:39:56 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 19, - /**/ - --- -Proof techniques #2: Proof by Oddity. - SAMPLE: To prove that horses have an infinite number of legs. -(1) Horses have an even number of legs. -(2) They have two legs in back and fore legs in front. -(3) This makes a total of six legs, which certainly is an odd number of - legs for a horse. -(4) But the only number that is both odd and even is infinity. -(5) Therefore, horses must have an infinite number of legs. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.020 --- a/components/vim/vim72-patches/7.2.020 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.020 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.020 -Problem: Starting the GUI when the executable starts with 'k', but the KDE - version no longer exists. -Solution: Don't have "kvim" start the GUI. -Files: src/main.c - - -*** ../vim-7.2.019/src/main.c Thu Jul 24 19:34:23 2008 ---- src/main.c Sun Sep 14 13:26:10 2008 -*************** -*** 1457,1463 **** - ++initstr; - } - -! if (TOLOWER_ASC(initstr[0]) == 'g' || initstr[0] == 'k') - { - main_start_gui(); - #ifdef FEAT_GUI ---- 1458,1465 ---- - ++initstr; - } - -! /* "gvim" starts the GUI. Also accept "Gvim" for MS-Windows. */ -! if (TOLOWER_ASC(initstr[0]) == 'g') - { - main_start_gui(); - #ifdef FEAT_GUI -*** ../vim-7.2.019/src/version.c Thu Sep 18 12:43:21 2008 ---- src/version.c Thu Sep 18 20:54:10 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 20, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -90. Instead of calling you to dinner, your spouse sends e-mail. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.021 --- a/components/vim/vim72-patches/7.2.021 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,147 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.021 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.021 -Problem: When executing autocommands getting the full file name may be - slow. (David Kotchan) -Solution: Postpone calling FullName_save() until autocmd_fname is used. -Files: src/ex_docmd.c, src/fileio.c, src/globals.h - - -*** ../vim-7.2.020/src/ex_docmd.c Thu Sep 18 12:43:21 2008 ---- src/ex_docmd.c Mon Sep 15 20:04:53 2008 -*************** -*** 9542,9547 **** ---- 9569,9583 ---- - #ifdef FEAT_AUTOCMD - case SPEC_AFILE: /* file name for autocommand */ - result = autocmd_fname; -+ if (result != NULL && !autocmd_fname_full) -+ { -+ /* Still need to turn the fname into a full path. It is -+ * postponed to avoid a delay when 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 \"\""); -*** ../vim-7.2.020/src/fileio.c Wed Aug 6 18:43:07 2008 ---- src/fileio.c Tue Sep 16 21:24:26 2008 -*************** -*** 8523,8528 **** ---- 8523,8529 ---- - char_u *save_sourcing_name; - linenr_T save_sourcing_lnum; - char_u *save_autocmd_fname; -+ int save_autocmd_fname_full; - int save_autocmd_bufnr; - char_u *save_autocmd_match; - int save_autocmd_busy; -*************** -*** 8601,8606 **** ---- 8602,8608 ---- - * Save the autocmd_* variables and info about the current buffer. - */ - save_autocmd_fname = autocmd_fname; -+ save_autocmd_fname_full = autocmd_fname_full; - save_autocmd_bufnr = autocmd_bufnr; - save_autocmd_match = autocmd_match; - save_autocmd_busy = autocmd_busy; -*************** -*** 8618,8631 **** - if (fname != NULL && *fname != NUL) - autocmd_fname = fname; - else if (buf != NULL) -! autocmd_fname = buf->b_fname; - else - autocmd_fname = NULL; - } - else - autocmd_fname = fname_io; - if (autocmd_fname != NULL) -! autocmd_fname = FullName_save(autocmd_fname, FALSE); - - /* - * Set the buffer number to be used for . ---- 8620,8634 ---- - if (fname != NULL && *fname != NUL) - autocmd_fname = fname; - else if (buf != NULL) -! autocmd_fname = buf->b_ffname; - else - autocmd_fname = NULL; - } - else - autocmd_fname = fname_io; - if (autocmd_fname != NULL) -! autocmd_fname = vim_strsave(autocmd_fname); -! autocmd_fname_full = FALSE; /* call FullName_save() later */ - - /* - * Set the buffer number to be used for . -*************** -*** 8810,8815 **** ---- 8813,8819 ---- - sourcing_lnum = save_sourcing_lnum; - vim_free(autocmd_fname); - autocmd_fname = save_autocmd_fname; -+ autocmd_fname_full = save_autocmd_fname_full; - autocmd_bufnr = save_autocmd_bufnr; - autocmd_match = save_autocmd_match; - #ifdef FEAT_EVAL -*************** -*** 8918,8924 **** - { - apc->curpat = NULL; - -! /* only use a pattern when it has not been removed, has commands and - * the group matches. For buffer-local autocommands only check the - * buffer number. */ - if (ap->pat != NULL && ap->cmds != NULL ---- 8922,8928 ---- - { - apc->curpat = NULL; - -! /* Only use a pattern when it has not been removed, has commands and - * the group matches. For buffer-local autocommands only check the - * buffer number. */ - if (ap->pat != NULL && ap->cmds != NULL -*** ../vim-7.2.020/src/globals.h Sat Jul 26 16:04:49 2008 ---- src/globals.h Mon Sep 15 19:59:28 2008 -*************** -*** 1022,1027 **** ---- 1022,1028 ---- - #endif - #ifdef FEAT_AUTOCMD - EXTERN char_u *autocmd_fname INIT(= NULL); /* fname for on cmdline */ -+ EXTERN int autocmd_fname_full; /* autocmd_fname is full path */ - EXTERN int autocmd_bufnr INIT(= 0); /* fnum for on cmdline */ - EXTERN char_u *autocmd_match INIT(= NULL); /* name for on cmdline */ - EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */ -*** ../vim-7.2.020/src/version.c Thu Sep 18 20:55:19 2008 ---- src/version.c Thu Sep 18 21:24:30 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 21, - /**/ - --- -From "know your smileys": - :----} You lie like Pinocchio - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.022 --- a/components/vim/vim72-patches/7.2.022 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.022 (extra) -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.022 (extra) -Problem: Testing is not possible when compiling with MingW. -Solution: Add a MingW specific test Makefile. (Bill McCarthy) -Files: Filelist, src/testdir/Make_ming.mak - - -*** ../vim-7.2.021/Filelist Sun Jul 13 19:33:31 2008 ---- Filelist Sun Sep 14 21:47:01 2008 -*************** -*** 285,290 **** ---- 285,291 ---- - src/proto/os_win32.pro \ - src/proto/os_mswin.pro \ - src/testdir/Make_dos.mak \ -+ src/testdir/Make_ming.mak \ - src/testdir/dos.vim \ - src/uninstal.c \ - src/vim.def \ -*** ../vim-7.2.021/src/testdir/Make_ming.mak Sat Sep 20 16:25:06 2008 ---- src/testdir/Make_ming.mak Sat Sep 20 16:25:58 2008 -*************** -*** 0 **** ---- 1,91 ---- -+ # Makefile to run tests for Vim, on Dos-like machines -+ # with sh.exe or zsh.exe in the path or not. -+ # -+ # Author: Bill McCarthy -+ # -+ # Note that test54 has been removed until it is fixed. -+ # -+ # Requires a set of Unix tools: echo, diff, etc. -+ -+ ifneq (sh.exe, $(SHELL)) -+ DEL = rm -f -+ MV = mv -+ CP = cp -+ DIRSLASH = / -+ else -+ DEL = del -+ MV = rename -+ CP = copy -+ DIRSLASH = \\ -+ endif -+ -+ VIMPROG = ..$(DIRSLASH)vim -+ -+ # Omitted: -+ # test2 "\\tmp" doesn't work. -+ # test10 'errorformat' is different -+ # test12 can't unlink a swap file -+ # test25 uses symbolic link -+ # test27 can't edit file with "*" in file name -+ # test31 16 bit version runs out of memory... -+ -+ SCRIPTS16 = test1.out test19.out test20.out test22.out \ -+ test23.out test24.out test28.out test29.out \ -+ test35.out test36.out test43.out \ -+ test44.out test45.out test46.out test47.out \ -+ test48.out test51.out test53.out \ -+ test55.out test56.out test57.out test58.out test59.out \ -+ test60.out test61.out test62.out test63.out test64.out -+ -+ # Had to remove test54 which doesn't work yet. -+ # test54.out -+ -+ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \ -+ test8.out test9.out test11.out test13.out test14.out \ -+ test15.out test17.out test18.out test21.out test26.out \ -+ test30.out test31.out test32.out test33.out test34.out \ -+ test37.out test38.out test39.out test40.out test41.out \ -+ test42.out test52.out test65.out -+ -+ SCRIPTS32 = test50.out -+ -+ SCRIPTS_GUI = test16.out -+ -+ .SUFFIXES: .in .out -+ -+ vimall: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32) -+ echo ALL DONE -+ -+ nongui: fixff $(SCRIPTS16) $(SCRIPTS) -+ echo ALL DONE -+ -+ small: -+ echo ALL DONE -+ -+ gui: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) -+ echo ALL DONE -+ -+ win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) -+ echo ALL DONE -+ -+ fixff: -+ -$(VIMPROG) -u dos.vim --noplugin "+argdo set ff=dos|upd" +q *.in *.ok -+ -+ clean: -+ -$(DEL) *.out -+ -$(DEL) test.ok -+ -$(DEL) small.vim -+ -$(DEL) tiny.vim -+ -$(DEL) mbyte.vim -+ -$(DEL) X* -+ -$(DEL) viminfo -+ -+ .in.out: -+ $(CP) $*.ok test.ok -+ $(VIMPROG) -u dos.vim -U NONE --noplugin -s dotest.in $*.in -+ diff test.out $*.ok -+ -$(DEL) $*.out -+ $(MV) test.out $*.out -+ -$(DEL) X* -+ -$(DEL) test.ok -+ -$(DEL) viminfo -*** ../vim-7.2.021/src/version.c Thu Sep 18 21:29:07 2008 ---- src/version.c Sat Sep 20 16:25:16 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 22, - /**/ - --- -Where do you want to crash today? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.023 --- a/components/vim/vim72-patches/7.2.023 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.023 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.023 -Problem: 'cursorcolumn' is in the wrong place in a closed fold when the - display is shifted left. (Gary Johnson) -Solution: Subtract w_skipcol or w_leftcol when needed. -Files: src/screen.c - - -*** ../vim-7.2.022/src/screen.c Thu Jul 24 20:29:09 2008 ---- src/screen.c Fri Sep 26 21:23:06 2008 -*************** -*** 2439,2447 **** - - #ifdef FEAT_SYN_HL - /* Show 'cursorcolumn' in the fold line. */ -! if (wp->w_p_cuc && (int)wp->w_virtcol + txtcol < W_WIDTH(wp)) -! ScreenAttrs[off + wp->w_virtcol + txtcol] = hl_combine_attr( -! ScreenAttrs[off + wp->w_virtcol + txtcol], hl_attr(HLF_CUC)); - #endif - - SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp), ---- 2439,2455 ---- - - #ifdef FEAT_SYN_HL - /* Show 'cursorcolumn' in the fold line. */ -! if (wp->w_p_cuc) -! { -! txtcol += wp->w_virtcol; -! if (wp->w_p_wrap) -! txtcol -= wp->w_skipcol; -! else -! txtcol -= wp->w_leftcol; -! if (txtcol >= 0 && txtcol < W_WIDTH(wp)) -! ScreenAttrs[off + txtcol] = hl_combine_attr( -! ScreenAttrs[off + txtcol], hl_attr(HLF_CUC)); -! } - #endif - - SCREEN_LINE(row + W_WINROW(wp), W_WINCOL(wp), (int)W_WIDTH(wp), -*** ../vim-7.2.022/src/version.c Sat Sep 20 16:26:10 2008 ---- src/version.c Wed Oct 1 21:07:31 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 23, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -124. You begin conversations with, "Who is your internet service provider?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.024 --- a/components/vim/vim72-patches/7.2.024 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.024 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.024 -Problem: It's possible to set 'history' to a negative value and that causes - an out-of-memory error. -Solution: Check that 'history' has a positive value. (Doug Kearns) -Files: src/option.c - - -*** ../vim-7.2.023/src/option.c Thu Jul 24 18:45:15 2008 ---- src/option.c Fri Sep 26 22:20:20 2008 -*************** -*** 7974,7979 **** ---- 7974,7984 ---- - else /* curwin->w_p_scr > curwin->w_height */ - curwin->w_p_scr = curwin->w_height; - } -+ if (p_hi < 0) -+ { -+ errmsg = e_positive; -+ p_hi = 0; -+ } - if (p_report < 0) - { - errmsg = e_positive; -*** ../vim-7.2.023/src/version.c Wed Oct 1 21:09:02 2008 ---- src/version.c Thu Oct 2 22:47:22 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 24, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -127. You bring your laptop and cellular phone to church. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.025 --- a/components/vim/vim72-patches/7.2.025 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.025 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.025 -Problem: When a CursorHold event invokes system() it is retriggered over - and over again. -Solution: Don't reset did_cursorhold when getting K_IGNORE. -Files: src/normal.c - - -*** ../vim-7.2.024/src/normal.c Sat Sep 6 16:44:06 2008 ---- src/normal.c Sat Sep 27 13:03:34 2008 -*************** -*** 1132,1138 **** - out_flush(); - #endif - #ifdef FEAT_AUTOCMD -! did_cursorhold = FALSE; - #endif - - State = NORMAL; ---- 1132,1139 ---- - out_flush(); - #endif - #ifdef FEAT_AUTOCMD -! if (ca.cmdchar != K_IGNORE) -! did_cursorhold = FALSE; - #endif - - State = NORMAL; -*** ../vim-7.2.024/src/version.c Thu Oct 2 22:48:01 2008 ---- src/version.c Thu Oct 2 22:54:41 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 25, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -128. You can access the Net -- via your portable and cellular phone. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.026 --- a/components/vim/vim72-patches/7.2.026 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.026 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.026 (after 7.2.010) -Problem: "K" doesn't use the length of the identifier but uses the rest of - the line. -Solution: Copy the desired number of characters first. -Files: src/normal.c - - -*** ../vim-7.2.025/src/normal.c Thu Oct 2 22:55:17 2008 ---- src/normal.c Sat Nov 1 13:41:03 2008 -*************** -*** 183,188 **** ---- 183,190 ---- - static void nv_cursorhold __ARGS((cmdarg_T *cap)); - #endif - -+ static char *e_noident = N_("E349: No identifier under cursor"); -+ - /* - * Function to be called for a Normal or Visual mode command. - * The argument is a cmdarg_T. -*************** -*** 3510,3516 **** - if (find_type & FIND_STRING) - EMSG(_("E348: No string under cursor")); - else -! EMSG(_("E349: No identifier under cursor")); - return 0; - } - ptr += col; ---- 3512,3518 ---- - if (find_type & FIND_STRING) - EMSG(_("E348: No string under cursor")); - else -! EMSG(_(e_noident)); - return 0; - } - ptr += col; -*************** -*** 5472,5479 **** - { - /* An external command will probably use an argument starting - * with "-" as an option. To avoid trouble we skip the "-". */ -! while (*ptr == '-') - ++ptr; - - /* When a count is given, turn it into a range. Is this - * really what we want? */ ---- 5474,5490 ---- - { - /* An external command will probably use an argument starting - * with "-" as an option. To avoid trouble we skip the "-". */ -! while (*ptr == '-' && n > 0) -! { - ++ptr; -+ --n; -+ } -+ if (n == 0) -+ { -+ EMSG(_(e_noident)); /* found dashes only */ -+ vim_free(buf); -+ return; -+ } - - /* When a count is given, turn it into a range. Is this - * really what we want? */ -*************** -*** 5520,5526 **** ---- 5531,5539 ---- - if (cmdchar == 'K' && !kp_help) - { - /* Escape the argument properly for a shell command */ -+ ptr = vim_strnsave(ptr, n); - p = vim_strsave_shellescape(ptr, TRUE); -+ vim_free(ptr); - if (p == NULL) - { - vim_free(buf); -*** ../vim-7.2.025/src/version.c Thu Oct 2 22:55:17 2008 ---- src/version.c Sat Nov 1 13:50:53 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 26, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -161. You get up before the sun rises to check your e-mail, and you - find yourself in the very same chair long after the sun has set. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.027 --- a/components/vim/vim72-patches/7.2.027 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.027 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.027 -Problem: Can use cscope commands in the sandbox. -Solution: Disallow them, they might not be safe. -Files: src/ex_cmds.h - - -*** ../vim-7.2.026/src/ex_cmds.h Thu Sep 18 12:43:21 2008 ---- src/ex_cmds.h Thu Sep 18 22:18:14 2008 -*************** -*** 278,284 **** - EX(CMD_crewind, "crewind", ex_cc, - RANGE|NOTADR|COUNT|TRLBAR|BANG), - EX(CMD_cscope, "cscope", do_cscope, -! EXTRA|NOTRLCOM|SBOXOK|XFILE), - EX(CMD_cstag, "cstag", do_cstag, - BANG|TRLBAR|WORD1), - EX(CMD_cunmap, "cunmap", ex_unmap, ---- 278,284 ---- - EX(CMD_crewind, "crewind", ex_cc, - RANGE|NOTADR|COUNT|TRLBAR|BANG), - EX(CMD_cscope, "cscope", do_cscope, -! EXTRA|NOTRLCOM|XFILE), - EX(CMD_cstag, "cstag", do_cstag, - BANG|TRLBAR|WORD1), - EX(CMD_cunmap, "cunmap", ex_unmap, -*************** -*** 506,512 **** - EX(CMD_lclose, "lclose", ex_cclose, - RANGE|NOTADR|COUNT|TRLBAR), - EX(CMD_lcscope, "lcscope", do_cscope, -! EXTRA|NOTRLCOM|SBOXOK|XFILE), - EX(CMD_left, "left", ex_align, - TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), - EX(CMD_leftabove, "leftabove", ex_wrongmodifier, ---- 506,512 ---- - EX(CMD_lclose, "lclose", ex_cclose, - RANGE|NOTADR|COUNT|TRLBAR), - EX(CMD_lcscope, "lcscope", do_cscope, -! EXTRA|NOTRLCOM|XFILE), - EX(CMD_left, "left", ex_align, - TRLBAR|RANGE|WHOLEFOLD|EXTRA|CMDWIN|MODIFY), - EX(CMD_leftabove, "leftabove", ex_wrongmodifier, -*************** -*** 653,658 **** ---- 653,660 ---- - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_open, "open", ex_open, - RANGE|EXTRA), -+ EX(CMD_oldfiles, "oldfiles", ex_oldfiles, -+ BANG|TRLBAR|SBOXOK|CMDWIN), - EX(CMD_omap, "omap", ex_map, - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_omapclear, "omapclear", ex_mapclear, -*************** -*** 804,810 **** - EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, - WORD1|TRLBAR|CMDWIN), - EX(CMD_scscope, "scscope", do_scscope, -! EXTRA|NOTRLCOM|SBOXOK), - EX(CMD_set, "set", ex_set, - TRLBAR|EXTRA|CMDWIN|SBOXOK), - EX(CMD_setfiletype, "setfiletype", ex_setfiletype, ---- 806,812 ---- - EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, - WORD1|TRLBAR|CMDWIN), - EX(CMD_scscope, "scscope", do_scscope, -! EXTRA|NOTRLCOM), - EX(CMD_set, "set", ex_set, - TRLBAR|EXTRA|CMDWIN|SBOXOK), - EX(CMD_setfiletype, "setfiletype", ex_setfiletype, -*** ../vim-7.2.026/src/version.c Sat Nov 1 13:51:57 2008 ---- src/version.c Thu Nov 6 10:21:21 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 27, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -179. You wonder why your household garbage can doesn't have an - "empty recycle bin" button. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.028 --- a/components/vim/vim72-patches/7.2.028 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.028 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.028 -Problem: Confusing error message for missing (). -Solution: Change "braces" to "parentheses". (Gary Johnson) -Files: src/eval.c - - -*** ../vim-7.2.027/src/eval.c Wed Sep 10 15:38:13 2008 ---- src/eval.c Tue Sep 30 21:43:38 2008 -*************** -*** 3287,3293 **** - - if (*startarg != '(') - { -! EMSG2(_("E107: Missing braces: %s"), eap->arg); - goto end; - } - ---- 3293,3299 ---- - - if (*startarg != '(') - { -! EMSG2(_("E107: Missing parentheses: %s"), eap->arg); - goto end; - } - -*** ../vim-7.2.027/src/version.c Thu Nov 6 10:23:03 2008 ---- src/version.c Thu Nov 6 11:02:51 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 28, - /**/ - --- -Wizards had always known that the act of observation changed the thing that -was observed, and sometimes forgot that it also changed the observer too. - Terry Pratchett - Interesting times - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.029 --- a/components/vim/vim72-patches/7.2.029 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.029 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.029 -Problem: No completion for ":doautoall". -Solution: Complete ":doautoall" like ":doautocmd". (Doug Kearns) -Files: src/ex_docmd.c - - -*** ../vim-7.2.028/src/ex_docmd.c Thu Sep 18 21:29:07 2008 ---- src/ex_docmd.c Mon Nov 3 21:21:17 2008 -*************** -*** 3609,3614 **** ---- 3610,3616 ---- - return set_context_in_autocmd(xp, arg, FALSE); - - case CMD_doautocmd: -+ case CMD_doautoall: - return set_context_in_autocmd(xp, arg, TRUE); - #endif - case CMD_set: -*** ../vim-7.2.028/src/version.c Thu Nov 6 11:04:50 2008 ---- src/version.c Thu Nov 6 17:14:58 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 29, - /**/ - --- -Press any key to continue, press any other key to quit. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.030 --- a/components/vim/vim72-patches/7.2.030 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.030 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.030 (after 7.2.027) -Problem: Can't compile. -Solution: Remove prematurely added ex_oldfiles. -Files: src/ex_cmds.h - - -*** ../vim-7.2.029/src/ex_cmds.h Thu Nov 6 10:23:03 2008 ---- src/ex_cmds.h Thu Nov 6 20:45:07 2008 -*************** -*** 653,660 **** - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_open, "open", ex_open, - RANGE|EXTRA), -- EX(CMD_oldfiles, "oldfiles", ex_oldfiles, -- BANG|TRLBAR|SBOXOK|CMDWIN), - EX(CMD_omap, "omap", ex_map, - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_omapclear, "omapclear", ex_mapclear, ---- 653,658 ---- -*** ../vim-7.2.029/src/version.c Thu Nov 6 17:16:06 2008 ---- src/version.c Thu Nov 6 20:46:11 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 30, - /**/ - --- -% cat /usr/include/sys/errno.h -#define EPERM 1 /* Operation not permitted */ -#define ENOENT 2 /* No such file or directory */ -#define ESRCH 3 /* No such process */ -[...] -#define EMACS 666 /* Too many macros */ -% - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.031 --- a/components/vim/vim72-patches/7.2.031 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1281 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.031 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.031 -Problem: Information in the viminfo file about previously edited files is - not available to the user. There is no way to get a complete list - of files edited in previous Vim sessions. -Solution: Add v:oldfiles and fill it with the list of old file names when - first reading the viminfo file. Add the ":oldfiles" command, - ":browse oldfiles" and the "#<123" special file name. Increase - the default value for 'viminfo' from '20 to '100. -Files: runtime/doc/cmdline.txt, runtime/doc/eval.txt, - runtime/doc/starting.txt, runtime/doc/usr_21.txt, src/eval.c, - src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c, src/feature.h, - src/fileio.c, src/main.c, src/mark.c, src/misc1.c, - src/proto/eval.pro, src/proto/ex_cmds.pro, src/proto/mark.pro, - src/option.c, src/structs.h, src/vim.h - - -*** ../vim-7.2.030/runtime/doc/cmdline.txt Sat Aug 9 19:36:46 2008 ---- runtime/doc/cmdline.txt Thu Sep 18 22:55:27 2008 -*************** -*** 1,4 **** -! *cmdline.txt* For Vim version 7.2. Last change: 2008 Jul 29 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *cmdline.txt* For Vim version 7.2. Last change: 2008 Sep 18 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 157,162 **** ---- 157,167 ---- - (doesn't work at the expression prompt; some - things such as changing the buffer or current - window are not allowed to avoid side effects) -+ When the result is a |List| the items are used -+ as lines. They can have line breaks inside -+ too. -+ When the result is a Float it's automatically -+ converted to a String. - See |registers| about registers. {not in Vi} - Implementation detail: When using the |expression| register - and invoking setcmdpos(), this sets the position before -*************** -*** 730,748 **** - In Ex commands, at places where a file name can be used, the following - characters have a special meaning. These can also be used in the expression - function expand() |expand()|. -! % is replaced with the current file name *:_%* -! # is replaced with the alternate file name *:_#* - #n (where n is a number) is replaced with the file name of -! buffer n. "#0" is the same as "#" -! ## is replaced with all names in the argument list *:_##* - concatenated, separated by spaces. Each space in a name - is preceded with a backslash. -! Note that these give the file name as it was typed. If an absolute path is -! needed (when using the file name from a different directory), you need to add -! ":p". See |filename-modifiers|. - Note that backslashes are inserted before spaces, so that the command will - correctly interpret the file name. But this doesn't happen for shell -! commands. For those you probably have to use quotes: > - :!ls "%" - :r !spell "%" - ---- 735,763 ---- - In Ex commands, at places where a file name can be used, the following - characters have a special meaning. These can also be used in the expression - function expand() |expand()|. -! % Is replaced with the current file name. *:_%* *c_%* -! # Is replaced with the alternate file name. *:_#* *c_#* - #n (where n is a number) is replaced with the file name of -! buffer n. "#0" is the same as "#". -! ## Is replaced with all names in the argument list *:_##* *c_##* - concatenated, separated by spaces. Each space in a name - is preceded with a backslash. -! # 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 "# - :!ls "%" - :r !spell "%" - -*** ../vim-7.2.030/runtime/doc/eval.txt Sat Aug 9 19:36:47 2008 ---- runtime/doc/eval.txt Sun Nov 2 14:25:38 2008 -*************** -*** 1,4 **** -! *eval.txt* For Vim version 7.2. Last change: 2008 Aug 09 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *eval.txt* For Vim version 7.2. Last change: 2008 Nov 02 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 1484,1489 **** ---- 1484,1500 ---- - This is the screen column number, like with |virtcol()|. The - value is zero when there was no mouse button click. - -+ *v:oldfiles* *oldfiles-variable* -+ v:oldfiles List of file names that is loaded from the |viminfo| file on -+ startup. These are the files that Vim remembers marks for. -+ The length of the List is limited by the ' argument of the -+ 'viminfo' option (default is 100). -+ Also see |:oldfiles| and |c_#<|. -+ The List can be modified, but this has no effect on what is -+ stored in the |viminfo| file later. If you use values other -+ than String this will cause trouble. -+ {only when compiled with the +viminfo feature} -+ - *v:operator* *operator-variable* - v:operator The last operator given in Normal mode. This is a single - character except for commands starting with or , -*** ../vim-7.2.030/runtime/doc/starting.txt Sat Aug 9 19:36:52 2008 ---- runtime/doc/starting.txt Sun Nov 9 12:12:19 2008 -*************** -*** 1,4 **** -! *starting.txt* For Vim version 7.2. Last change: 2008 Jun 21 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *starting.txt* For Vim version 7.2. Last change: 2008 Nov 09 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 1337,1344 **** - *viminfo-read* - When Vim is started and the 'viminfo' option is non-empty, the contents of - the viminfo file are read and the info can be used in the appropriate places. -! The marks are not read in at startup (but file marks are). See -! |initialization| for how to set the 'viminfo' option upon startup. - - *viminfo-write* - When Vim exits and 'viminfo' is non-empty, the info is stored in the viminfo ---- 1335,1343 ---- - *viminfo-read* - When Vim is started and the 'viminfo' option is non-empty, the contents of - the viminfo file are read and the info can be used in the appropriate places. -! The |v:oldfiles| variable is filled. The marks are not read in at startup -! (but file marks are). See |initialization| for how to set the 'viminfo' -! option upon startup. - - *viminfo-write* - When Vim exits and 'viminfo' is non-empty, the info is stored in the viminfo -*************** -*** 1372,1377 **** ---- 1371,1378 ---- - that start with any string given with the "r" flag in 'viminfo'. This can be - used to avoid saving marks for files on removable media (for MS-DOS you would - use "ra:,rb:", for Amiga "rdf0:,rdf1:,rdf2:"). -+ The |v:oldfiles| variable is filled with the file names that the viminfo file -+ has marks for. - - *viminfo-file-marks* - Uppercase marks ('A to 'Z) are stored when writing the viminfo file. The -*************** -*** 1463,1470 **** - *:rv* *:rviminfo* *E195* - :rv[iminfo][!] [file] Read from viminfo file [file] (default: see above). - If [!] is given, then any information that is -! already set (registers, marks, etc.) will be -! overwritten. {not in Vi} - - *:wv* *:wviminfo* *E137* *E138* *E574* - :wv[iminfo][!] [file] Write to viminfo file [file] (default: see above). ---- 1464,1471 ---- - *:rv* *:rviminfo* *E195* - :rv[iminfo][!] [file] Read from viminfo file [file] (default: see above). - If [!] is given, then any information that is -! already set (registers, marks, |v:oldfiles|, etc.) -! will be overwritten {not in Vi} - - *:wv* *:wviminfo* *E137* *E138* *E574* - :wv[iminfo][!] [file] Write to viminfo file [file] (default: see above). -*************** -*** 1479,1482 **** ---- 1480,1499 ---- - the .viminfo file. - {not in Vi} - -+ *:ol* *:oldfiles* -+ :ol[dfiles] List the files that have marks stored in the viminfo -+ file. This list is read on startup and only changes -+ afterwards with ":rviminfo!". Also see |v:oldfiles|. -+ The number can be used with |c_#<|. -+ {not in Vi, only when compiled with the +eval feature} -+ -+ :bro[wse] ol[dfiles][!] -+ List file names as with |:oldfiles|, and then prompt -+ for a number. When the number is valid that file from -+ the list is edited. -+ If you get the |press-enter| prompt you can press "q" -+ and still get the prompt to enter a file number. -+ Use ! to abondon a modified buffer. |abandon| -+ {not when compiled with tiny or small features} -+ - vim:tw=78:ts=8:ft=help:norl: -*** ../vim-7.2.030/runtime/doc/usr_21.txt Sat Aug 9 19:36:53 2008 ---- runtime/doc/usr_21.txt Sun Nov 9 12:14:10 2008 -*************** -*** 1,4 **** -! *usr_21.txt* For Vim version 7.2. Last change: 2007 May 01 - - VIM USER MANUAL - by Bram Moolenaar - ---- 1,4 ---- -! *usr_21.txt* For Vim version 7.2. Last change: 2008 Nov 09 - - VIM USER MANUAL - by Bram Moolenaar - -*************** -*** 153,159 **** - to be lost. Each item can be remembered only once. - - -! GETTING BACK TO WHERE YOU WERE - - You are halfway editing a file and it's time to leave for holidays. You exit - Vim and go enjoy yourselves, forgetting all about your work. After a couple ---- 153,159 ---- - to be lost. Each item can be remembered only once. - - -! GETTING BACK TO WHERE YOU STOPPED VIM - - You are halfway editing a file and it's time to leave for holidays. You exit - Vim and go enjoy yourselves, forgetting all about your work. After a couple -*************** -*** 168,173 **** ---- 168,215 ---- - The |:marks| command is useful to find out where '0 to '9 will take you. - - -+ GETTING BACK TO SOME FILE -+ -+ If you want to go back to a file that you edited recently, but not when -+ exiting Vim, there is a slightly more complicated way. You can see a list of -+ files by typing the command: > -+ -+ :oldfiles -+ < 1: ~/.viminfo ~ -+ 2: ~/text/resume.txt ~ -+ 3: /tmp/draft ~ -+ -+ Now you would like to edit the second file, which is in the list preceded by -+ "2:". You type: > -+ -+ :e #<2 -+ -+ Instead of ":e" you can use any command that has a file name argument, the -+ "#<2" item works in the same place as "%" (current file name) and "#" -+ (alternate file name). So you can also split the window to edit the third -+ file: > -+ -+ :split #<3 -+ -+ That #<123 thing is a bit complicated when you just want to edit a file. -+ Fortunately there is a simpler way: > -+ -+ :browse oldfiles -+ < 1: ~/.viminfo ~ -+ 2: ~/text/resume.txt ~ -+ 3: /tmp/draft ~ -+ -- More -- -+ -+ You get the same list of files as with |:oldfiles|. If you want to edit -+ "resume.txt" first press "q" to stop the listing. You will get a prompt: -+ -+ Type number and (empty cancels): ~ -+ -+ Type "2" and press to edit the second file. -+ -+ More info at |:oldfiles|, |v:oldfiles| and |c_#<|. -+ -+ - MOVE INFO FROM ONE VIM TO ANOTHER - - You can use the ":wviminfo" and ":rviminfo" commands to save and restore the -*** ../vim-7.2.030/src/eval.c Thu Nov 6 11:04:50 2008 ---- src/eval.c Sun Nov 9 11:59:39 2008 -*************** -*** 348,353 **** ---- 348,354 ---- - {VV_NAME("mouse_col", VAR_NUMBER), 0}, - {VV_NAME("operator", VAR_STRING), VV_RO}, - {VV_NAME("searchforward", VAR_NUMBER), 0}, -+ {VV_NAME("oldfiles", VAR_LIST), 0}, - }; - - /* shorthand */ -*************** -*** 355,360 **** ---- 356,362 ---- - #define vv_nr vv_di.di_tv.vval.v_number - #define vv_float vv_di.di_tv.vval.v_float - #define vv_str vv_di.di_tv.vval.v_string -+ #define vv_list vv_di.di_tv.vval.v_list - #define vv_tv vv_di.di_tv - - /* -*************** -*** 426,432 **** - static long list_idx_of_item __ARGS((list_T *l, listitem_T *item)); - static void list_append __ARGS((list_T *l, listitem_T *item)); - static int list_append_tv __ARGS((list_T *l, typval_T *tv)); -- static int list_append_string __ARGS((list_T *l, char_u *str, int len)); - static int list_append_number __ARGS((list_T *l, varnumber_T n)); - static int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item)); - static int list_extend __ARGS((list_T *l1, list_T *l2, listitem_T *bef)); ---- 428,433 ---- -*************** -*** 845,852 **** - p = &vimvars[i]; - if (p->vv_di.di_tv.v_type == VAR_STRING) - { -! vim_free(p->vv_di.di_tv.vval.v_string); -! p->vv_di.di_tv.vval.v_string = NULL; - } - } - hash_clear(&vimvarht); ---- 846,858 ---- - p = &vimvars[i]; - if (p->vv_di.di_tv.v_type == VAR_STRING) - { -! vim_free(p->vv_string); -! p->vv_string = NULL; -! } -! else if (p->vv_di.di_tv.v_type == VAR_LIST) -! { -! list_unref(p->vv_list); -! p->vv_list = NULL; - } - } - hash_clear(&vimvarht); -*************** -*** 6057,6062 **** ---- 6063,6087 ---- - } - - /* -+ * Get list item "l[idx - 1]" as a string. Returns NULL for failure. -+ */ -+ char_u * -+ list_find_str(l, idx) -+ list_T *l; -+ long idx; -+ { -+ listitem_T *li; -+ -+ li = list_find(l, idx - 1); -+ if (li == NULL) -+ { -+ EMSGN(_(e_listidx), idx); -+ return NULL; -+ } -+ return get_tv_string(&li->li_tv); -+ } -+ -+ /* - * Locate "item" list "l" and return its index. - * Returns -1 when "item" is not in the list. - */ -*************** -*** 6147,6153 **** - * When "len" >= 0 use "str[len]". - * Returns FAIL when out of memory. - */ -! static int - list_append_string(l, str, len) - list_T *l; - char_u *str; ---- 6172,6178 ---- - * When "len" >= 0 use "str[len]". - * Returns FAIL when out of memory. - */ -! int - list_append_string(l, str, len) - list_T *l; - char_u *str; -*************** -*** 6507,6512 **** ---- 6532,6540 ---- - set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID); - } - -+ /* v: vars */ -+ set_ref_in_ht(&vimvarht, copyID); -+ - /* - * 2. Go through the list of dicts and free items without the copyID. - */ -*************** -*** 6597,6603 **** - { - case VAR_DICT: - dd = tv->vval.v_dict; -! if (dd->dv_copyID != copyID) - { - /* Didn't see this dict yet. */ - dd->dv_copyID = copyID; ---- 6625,6631 ---- - { - case VAR_DICT: - dd = tv->vval.v_dict; -! if (dd != NULL && dd->dv_copyID != copyID) - { - /* Didn't see this dict yet. */ - dd->dv_copyID = copyID; -*************** -*** 6607,6613 **** - - case VAR_LIST: - ll = tv->vval.v_list; -! if (ll->lv_copyID != copyID) - { - /* Didn't see this list yet. */ - ll->lv_copyID = copyID; ---- 6635,6641 ---- - - case VAR_LIST: - ll = tv->vval.v_list; -! if (ll != NULL && ll->lv_copyID != copyID) - { - /* Didn't see this list yet. */ - ll->lv_copyID = copyID; -*************** -*** 18106,18111 **** ---- 18134,18150 ---- - } - - /* -+ * Get List v: variable value. Caller must take care of reference count when -+ * needed. -+ */ -+ list_T * -+ get_vim_var_list(idx) -+ int idx; -+ { -+ return vimvars[idx].vv_list; -+ } -+ -+ /* - * Set v:count, v:count1 and v:prevcount. - */ - void -*************** -*** 18141,18146 **** ---- 18180,18199 ---- - } - - /* -+ * Set List v: variable to "val". -+ */ -+ void -+ set_vim_var_list(idx, val) -+ int idx; -+ list_T *val; -+ { -+ list_unref(vimvars[idx].vv_list); -+ vimvars[idx].vv_list = val; -+ if (val != NULL) -+ ++val->lv_refcount; -+ } -+ -+ /* - * Set v:register if needed. - */ - void -*************** -*** 21900,21905 **** ---- 21953,22014 ---- - } - } - -+ /* -+ * List v:oldfiles in a nice way. -+ */ -+ /*ARGSUSED*/ -+ void -+ ex_oldfiles(eap) -+ exarg_T *eap; -+ { -+ list_T *l = vimvars[VV_OLDFILES].vv_list; -+ listitem_T *li; -+ int nr = 0; -+ -+ if (l == NULL) -+ msg((char_u *)_("No old files")); -+ else -+ { -+ msg_start(); -+ msg_scroll = TRUE; -+ for (li = l->lv_first; li != NULL && !got_int; li = li->li_next) -+ { -+ msg_outnum((long)++nr); -+ MSG_PUTS(": "); -+ msg_outtrans(get_tv_string(&li->li_tv)); -+ msg_putchar('\n'); -+ out_flush(); /* output one line at a time */ -+ ui_breakcheck(); -+ } -+ /* Assume "got_int" was set to truncate the listing. */ -+ got_int = FALSE; -+ -+ #ifdef FEAT_BROWSE_CMD -+ if (cmdmod.browse) -+ { -+ quit_more = FALSE; -+ nr = prompt_for_number(FALSE); -+ msg_starthere(); -+ if (nr > 0) -+ { -+ char_u *p = list_find_str(get_vim_var_list(VV_OLDFILES), -+ (long)nr); -+ -+ if (p != NULL) -+ { -+ p = expand_env_save(p); -+ eap->arg = p; -+ eap->cmdidx = CMD_edit; -+ cmdmod.browse = FALSE; -+ do_exedit(eap, NULL); -+ vim_free(p); -+ } -+ } -+ } -+ #endif -+ } -+ } -+ - #endif /* FEAT_EVAL */ - - -*** ../vim-7.2.030/src/ex_cmds.c Sun Sep 14 21:40:26 2008 ---- src/ex_cmds.c Sun Sep 14 13:45:03 2008 -*************** -*** 24,30 **** - static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out)); - #ifdef FEAT_VIMINFO - static char_u *viminfo_filename __ARGS((char_u *)); -! static void do_viminfo __ARGS((FILE *fp_in, FILE *fp_out, int want_info, int want_marks, int force_read)); - static int viminfo_encoding __ARGS((vir_T *virp)); - static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing)); - #endif ---- 24,30 ---- - static void do_filter __ARGS((linenr_T line1, linenr_T line2, exarg_T *eap, char_u *cmd, int do_in, int do_out)); - #ifdef FEAT_VIMINFO - static char_u *viminfo_filename __ARGS((char_u *)); -! static void do_viminfo __ARGS((FILE *fp_in, FILE *fp_out, int flags)); - static int viminfo_encoding __ARGS((vir_T *virp)); - static int read_viminfo_up_to_marks __ARGS((vir_T *virp, int forceit, int writing)); - #endif -*************** -*** 1676,1689 **** - - /* - * read_viminfo() -- Read the viminfo file. Registers etc. which are already -! * set are not over-written unless force is TRUE. -- webb - */ - int -! read_viminfo(file, want_info, want_marks, forceit) -! char_u *file; -! int want_info; -! int want_marks; -! int forceit; - { - FILE *fp; - char_u *fname; ---- 1676,1687 ---- - - /* - * read_viminfo() -- Read the viminfo file. Registers etc. which are already -! * set are not over-written unless "flags" includes VIF_FORCEIT. -- webb - */ - int -! read_viminfo(file, flags) -! char_u *file; /* file name or NULL to use default name */ -! int flags; /* VIF_WANT_INFO et al. */ - { - FILE *fp; - char_u *fname; -*************** -*** 1691,1697 **** - if (no_viminfo()) - return FAIL; - -! fname = viminfo_filename(file); /* may set to default if NULL */ - if (fname == NULL) - return FAIL; - fp = mch_fopen((char *)fname, READBIN); ---- 1689,1695 ---- - if (no_viminfo()) - return FAIL; - -! fname = viminfo_filename(file); /* get file name in allocated buffer */ - if (fname == NULL) - return FAIL; - fp = mch_fopen((char *)fname, READBIN); -*************** -*** 1701,1708 **** - verbose_enter(); - smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"), - fname, -! want_info ? _(" info") : "", -! want_marks ? _(" marks") : "", - fp == NULL ? _(" FAILED") : ""); - verbose_leave(); - } ---- 1699,1707 ---- - verbose_enter(); - smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"), - fname, -! (flags & VIF_WANT_INFO) ? _(" info") : "", -! (flags & VIF_WANT_MARKS) ? _(" marks") : "", -! (flags & VIF_GET_OLDFILES) ? _(" oldfiles") : "", - fp == NULL ? _(" FAILED") : ""); - verbose_leave(); - } -*************** -*** 1712,1721 **** - return FAIL; - - viminfo_errcnt = 0; -! do_viminfo(fp, NULL, want_info, want_marks, forceit); - - fclose(fp); -- - return OK; - } - ---- 1711,1719 ---- - return FAIL; - - viminfo_errcnt = 0; -! do_viminfo(fp, NULL, flags); - - fclose(fp); - return OK; - } - -*************** -*** 1968,1974 **** - } - - viminfo_errcnt = 0; -! do_viminfo(fp_in, fp_out, !forceit, !forceit, FALSE); - - fclose(fp_out); /* errors are ignored !? */ - if (fp_in != NULL) ---- 1966,1972 ---- - } - - viminfo_errcnt = 0; -! do_viminfo(fp_in, fp_out, forceit ? 0 : (VIF_WANT_INFO | VIF_WANT_MARKS)); - - fclose(fp_out); /* errors are ignored !? */ - if (fp_in != NULL) -*************** -*** 2041,2052 **** - * do_viminfo() -- Should only be called from read_viminfo() & write_viminfo(). - */ - static void -! do_viminfo(fp_in, fp_out, want_info, want_marks, force_read) - FILE *fp_in; - FILE *fp_out; -! int want_info; -! int want_marks; -! int force_read; - { - int count = 0; - int eof = FALSE; ---- 2039,2048 ---- - * do_viminfo() -- Should only be called from read_viminfo() & write_viminfo(). - */ - static void -! do_viminfo(fp_in, fp_out, flags) - FILE *fp_in; - FILE *fp_out; -! int flags; - { - int count = 0; - int eof = FALSE; -*************** -*** 2061,2068 **** - - if (fp_in != NULL) - { -! if (want_info) -! eof = read_viminfo_up_to_marks(&vir, force_read, fp_out != NULL); - else - /* Skip info, find start of marks */ - while (!(eof = viminfo_readline(&vir)) ---- 2057,2065 ---- - - if (fp_in != NULL) - { -! if (flags & VIF_WANT_INFO) -! eof = read_viminfo_up_to_marks(&vir, -! flags & VIF_FORCEIT, fp_out != NULL); - else - /* Skip info, find start of marks */ - while (!(eof = viminfo_readline(&vir)) -*************** -*** 2092,2099 **** - write_viminfo_bufferlist(fp_out); - count = write_viminfo_marks(fp_out); - } -! if (fp_in != NULL && want_marks) -! copy_viminfo_marks(&vir, fp_out, count, eof); - - vim_free(vir.vir_line); - #ifdef FEAT_MBYTE ---- 2089,2097 ---- - write_viminfo_bufferlist(fp_out); - count = write_viminfo_marks(fp_out); - } -! if (fp_in != NULL -! && (flags & (VIF_WANT_MARKS | VIF_GET_OLDFILES | VIF_FORCEIT))) -! copy_viminfo_marks(&vir, fp_out, count, eof, flags); - - vim_free(vir.vir_line); - #ifdef FEAT_MBYTE -*** ../vim-7.2.030/src/ex_cmds.h Thu Nov 6 20:47:00 2008 ---- src/ex_cmds.h Thu Sep 18 22:18:14 2008 -*************** -*** 653,658 **** ---- 653,660 ---- - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_open, "open", ex_open, - RANGE|EXTRA), -+ EX(CMD_oldfiles, "oldfiles", ex_oldfiles, -+ BANG|TRLBAR|SBOXOK|CMDWIN), - EX(CMD_omap, "omap", ex_map, - EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_omapclear, "omapclear", ex_mapclear, -*** ../vim-7.2.030/src/ex_docmd.c Thu Nov 6 17:16:06 2008 ---- src/ex_docmd.c Mon Nov 3 21:21:17 2008 -*************** -*** 364,369 **** ---- 364,370 ---- - # define ex_function ex_ni - # define ex_delfunction ex_ni - # define ex_return ex_ni -+ # define ex_oldfiles ex_ni - #endif - static char_u *arg_all __ARGS((void)); - #ifdef FEAT_SESSION -*************** -*** 1770,1776 **** - } - if (checkforcmd(&ea.cmd, "browse", 3)) - { -! #ifdef FEAT_BROWSE - cmdmod.browse = TRUE; - #endif - continue; ---- 1771,1777 ---- - } - if (checkforcmd(&ea.cmd, "browse", 3)) - { -! #ifdef FEAT_BROWSE_CMD - cmdmod.browse = TRUE; - #endif - continue; -*************** -*** 9508,9531 **** - break; - } - s = src + 1; - i = (int)getdigits(&s); - *usedlen = (int)(s - src); /* length of what we expand */ - -! buf = buflist_findnr(i); -! if (buf == NULL) - { -! *errormsg = (char_u *)_("E194: No alternate file name to substitute for '#'"); - return NULL; - } -! if (lnump != NULL) -! *lnump = ECMD_LAST; -! if (buf->b_fname == NULL) - { -! result = (char_u *)""; -! valid = 0; /* Must have ":p:h" to be valid */ - } -- else -- result = buf->b_fname; - break; - - #ifdef FEAT_SEARCHPATH ---- 9509,9558 ---- - break; - } - s = src + 1; -+ if (*s == '<') /* "#<99" uses v:oldfiles */ -+ ++s; - i = (int)getdigits(&s); - *usedlen = (int)(s - src); /* length of what we expand */ - -! if (src[1] == '<') - { -! if (*usedlen < 2) -! { -! /* Should we give an error message for #b_fname == NULL) -! { -! result = (char_u *)""; -! valid = 0; /* Must have ":p:h" to be valid */ -! } -! else -! result = buf->b_fname; - } - break; - - #ifdef FEAT_SEARCHPATH -*************** -*** 10700,10706 **** - p_viminfo = (char_u *)"'100"; - if (eap->cmdidx == CMD_rviminfo) - { -! if (read_viminfo(eap->arg, TRUE, TRUE, eap->forceit) == FAIL) - EMSG(_("E195: Cannot open viminfo file for reading")); - } - else ---- 10727,10734 ---- - p_viminfo = (char_u *)"'100"; - if (eap->cmdidx == CMD_rviminfo) - { -! if (read_viminfo(eap->arg, VIF_WANT_INFO | VIF_WANT_MARKS -! | (eap->forceit ? VIF_FORCEIT : 0)) == FAIL) - EMSG(_("E195: Cannot open viminfo file for reading")); - } - else -*** ../vim-7.2.030/src/feature.h Wed Aug 6 18:45:07 2008 ---- src/feature.h Fri Sep 19 19:14:22 2008 -*************** -*** 767,775 **** - - /* - * +browse ":browse" command. - */ -! #if defined(FEAT_NORMAL) && (defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC)) -! # define FEAT_BROWSE - #endif - - /* ---- 767,779 ---- - - /* - * +browse ":browse" command. -+ * or just the ":browse" command modifier - */ -! #if defined(FEAT_NORMAL) -! # define FEAT_BROWSE_CMD -! # if defined(FEAT_GUI_MSWIN) || defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MAC) -! # define FEAT_BROWSE -! # endif - #endif - - /* -*** ../vim-7.2.030/src/fileio.c Thu Sep 18 21:29:07 2008 ---- src/fileio.c Mon Nov 3 21:21:47 2008 -*************** -*** 2711,2717 **** - { - if (!curbuf->b_marks_read && get_viminfo_parameter('\'') > 0 - && curbuf->b_ffname != NULL) -! read_viminfo(NULL, FALSE, TRUE, FALSE); - - /* Always set b_marks_read; needed when 'viminfo' is changed to include - * the ' parameter after opening a buffer. */ ---- 2711,2717 ---- - { - if (!curbuf->b_marks_read && get_viminfo_parameter('\'') > 0 - && curbuf->b_ffname != NULL) -! read_viminfo(NULL, VIF_WANT_MARKS); - - /* Always set b_marks_read; needed when 'viminfo' is changed to include - * the ' parameter after opening a buffer. */ -*************** -*** 9108,9114 **** - set_context_in_autocmd(xp, arg, doautocmd) - expand_T *xp; - char_u *arg; -! int doautocmd; /* TRUE for :doautocmd, FALSE for :autocmd */ - { - char_u *p; - int group; ---- 9109,9115 ---- - set_context_in_autocmd(xp, arg, doautocmd) - expand_T *xp; - char_u *arg; -! int doautocmd; /* TRUE for :doauto*, FALSE for :autocmd */ - { - char_u *p; - int group; -*** ../vim-7.2.030/src/main.c Thu Sep 18 20:55:19 2008 ---- src/main.c Sun Sep 14 13:26:10 2008 -*************** -*** 645,655 **** - - #ifdef FEAT_VIMINFO - /* -! * Read in registers, history etc, but not marks, from the viminfo file - */ - if (*p_viminfo != NUL) - { -! read_viminfo(NULL, TRUE, FALSE, FALSE); - TIME_MSG("reading viminfo"); - } - #endif ---- 645,656 ---- - - #ifdef FEAT_VIMINFO - /* -! * Read in registers, history etc, but not marks, from the viminfo file. -! * This is where v:oldfiles gets filled. - */ - if (*p_viminfo != NUL) - { -! read_viminfo(NULL, VIF_WANT_INFO | VIF_GET_OLDFILES); - TIME_MSG("reading viminfo"); - } - #endif -*** ../vim-7.2.030/src/mark.c Sat Aug 9 19:37:29 2008 ---- src/mark.c Sun Sep 14 13:46:19 2008 -*************** -*** 1627,1641 **** - - /* - * Handle marks in the viminfo file: -! * fp_out == NULL read marks for current buffer only -! * fp_out != NULL copy marks for buffers not in buffer list - */ - void -! copy_viminfo_marks(virp, fp_out, count, eof) - vir_T *virp; - FILE *fp_out; - int count; - int eof; - { - char_u *line = virp->vir_line; - buf_T *buf; ---- 1627,1643 ---- - - /* - * Handle marks in the viminfo file: -! * fp_out != NULL: copy marks for buffers not in buffer list -! * fp_out == NULL && (flags & VIF_WANT_MARKS): read marks for curbuf only -! * fp_out == NULL && (flags & VIF_GET_OLDFILES | VIF_FORCEIT): fill v:oldfiles - */ - void -! copy_viminfo_marks(virp, fp_out, count, eof, flags) - vir_T *virp; - FILE *fp_out; - int count; - int eof; -+ int flags; - { - char_u *line = virp->vir_line; - buf_T *buf; -*************** -*** 1647,1656 **** ---- 1649,1671 ---- - char_u *p; - char_u *name_buf; - pos_T pos; -+ #ifdef FEAT_EVAL -+ list_T *list = NULL; -+ #endif - - if ((name_buf = alloc(LSIZE)) == NULL) - return; - *name_buf = NUL; -+ -+ #ifdef FEAT_EVAL -+ if (fp_out == NULL && (flags & (VIF_GET_OLDFILES | VIF_FORCEIT))) -+ { -+ list = list_alloc(); -+ if (list != NULL) -+ set_vim_var_list(VV_OLDFILES, list); -+ } -+ #endif -+ - num_marked_files = get_viminfo_parameter('\''); - while (!eof && (count < num_marked_files || fp_out == NULL)) - { -*************** -*** 1681,1686 **** ---- 1696,1706 ---- - p++; - *p = NUL; - -+ #ifdef FEAT_EVAL -+ if (list != NULL) -+ list_append_string(list, str, -1); -+ #endif -+ - /* - * If fp_out == NULL, load marks for current buffer. - * If fp_out != NULL, copy marks for buffers not in buflist. -*************** -*** 1688,1694 **** - load_marks = copy_marks_out = FALSE; - if (fp_out == NULL) - { -! if (curbuf->b_ffname != NULL) - { - if (*name_buf == NUL) /* only need to do this once */ - home_replace(NULL, curbuf->b_ffname, name_buf, LSIZE, TRUE); ---- 1708,1714 ---- - load_marks = copy_marks_out = FALSE; - if (fp_out == NULL) - { -! if ((flags & VIF_WANT_MARKS) && curbuf->b_ffname != NULL) - { - if (*name_buf == NUL) /* only need to do this once */ - home_replace(NULL, curbuf->b_ffname, name_buf, LSIZE, TRUE); -*** ../vim-7.2.030/src/misc1.c Wed Jun 25 00:24:52 2008 ---- src/misc1.c Sun Nov 9 11:47:00 2008 -*************** -*** 3245,3253 **** - - /* When using ":silent" assume that was entered. */ - if (mouse_used != NULL) -! MSG_PUTS(_("Type number or click with mouse ( cancels): ")); - else -! MSG_PUTS(_("Choice number ( cancels): ")); - - /* Set the state such that text can be selected/copied/pasted and we still - * get mouse events. */ ---- 3245,3253 ---- - - /* When using ":silent" assume that was entered. */ - if (mouse_used != NULL) -! MSG_PUTS(_("Type number and or click with mouse (empty cancels): ")); - else -! MSG_PUTS(_("Type number and (empty cancels): ")); - - /* Set the state such that text can be selected/copied/pasted and we still - * get mouse events. */ -*** ../vim-7.2.030/src/proto/eval.pro Sun Jan 6 20:06:30 2008 ---- src/proto/eval.pro Sun Nov 9 12:05:56 2008 -*************** -*** 17,23 **** - int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip)); - char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip)); - int skip_expr __ARGS((char_u **pp)); -! char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int dolist)); - char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox)); - int eval_to_number __ARGS((char_u *expr)); - list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr)); ---- 17,23 ---- - int eval_to_bool __ARGS((char_u *arg, int *error, char_u **nextcmd, int skip)); - char_u *eval_to_string_skip __ARGS((char_u *arg, char_u **nextcmd, int skip)); - int skip_expr __ARGS((char_u **pp)); -! char_u *eval_to_string __ARGS((char_u *arg, char_u **nextcmd, int convert)); - char_u *eval_to_string_safe __ARGS((char_u *arg, char_u **nextcmd, int use_sandbox)); - int eval_to_number __ARGS((char_u *expr)); - list_T *eval_spell_expr __ARGS((char_u *badword, char_u *expr)); -*************** -*** 46,52 **** ---- 46,54 ---- - void list_unref __ARGS((list_T *l)); - void list_free __ARGS((list_T *l, int recurse)); - dictitem_T *dict_lookup __ARGS((hashitem_T *hi)); -+ char_u *list_find_str __ARGS((list_T *l, long idx)); - int list_append_dict __ARGS((list_T *list, dict_T *dict)); -+ int list_append_string __ARGS((list_T *l, char_u *str, int len)); - int garbage_collect __ARGS((void)); - dict_T *dict_alloc __ARGS((void)); - int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); -*************** -*** 58,65 **** ---- 60,69 ---- - void set_vim_var_nr __ARGS((int idx, long val)); - long get_vim_var_nr __ARGS((int idx)); - char_u *get_vim_var_str __ARGS((int idx)); -+ list_T *get_vim_var_list __ARGS((int idx)); - void set_vcount __ARGS((long count, long count1)); - void set_vim_var_string __ARGS((int idx, char_u *val, int len)); -+ void set_vim_var_list __ARGS((int idx, list_T *val)); - void set_reg_var __ARGS((int c)); - char_u *v_exception __ARGS((char_u *oldval)); - char_u *v_throwpoint __ARGS((char_u *oldval)); -*************** -*** 94,99 **** ---- 98,104 ---- - void write_viminfo_varlist __ARGS((FILE *fp)); - int store_session_globals __ARGS((FILE *fd)); - void last_set_msg __ARGS((scid_T scriptID)); -+ void ex_oldfiles __ARGS((exarg_T *eap)); - int modify_fname __ARGS((char_u *src, int *usedlen, char_u **fnamep, char_u **bufp, int *fnamelen)); - char_u *do_string_sub __ARGS((char_u *str, char_u *pat, char_u *sub, char_u *flags)); - /* vim: set ft=c : */ -*** ../vim-7.2.030/src/proto/ex_cmds.pro Sat May 5 20:13:58 2007 ---- src/proto/ex_cmds.pro Sat Sep 13 17:27:21 2008 -*************** -*** 11,17 **** - char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp)); - void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname)); - int viminfo_error __ARGS((char *errnum, char *message, char_u *line)); -! int read_viminfo __ARGS((char_u *file, int want_info, int want_marks, int forceit)); - void write_viminfo __ARGS((char_u *file, int forceit)); - int viminfo_readline __ARGS((vir_T *virp)); - char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert)); ---- 11,17 ---- - char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp)); - void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname)); - int viminfo_error __ARGS((char *errnum, char *message, char_u *line)); -! int read_viminfo __ARGS((char_u *file, int flags)); - void write_viminfo __ARGS((char_u *file, int forceit)); - int viminfo_readline __ARGS((vir_T *virp)); - char_u *viminfo_readstring __ARGS((vir_T *virp, int off, int convert)); -*** ../vim-7.2.030/src/proto/mark.pro Sat May 5 19:29:37 2007 ---- src/proto/mark.pro Sat Sep 13 18:06:20 2008 -*************** -*** 26,30 **** - void write_viminfo_filemarks __ARGS((FILE *fp)); - int removable __ARGS((char_u *name)); - int write_viminfo_marks __ARGS((FILE *fp_out)); -! void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof)); - /* vim: set ft=c : */ ---- 26,30 ---- - void write_viminfo_filemarks __ARGS((FILE *fp)); - int removable __ARGS((char_u *name)); - int write_viminfo_marks __ARGS((FILE *fp_out)); -! void copy_viminfo_marks __ARGS((vir_T *virp, FILE *fp_out, int count, int eof, int flags)); - /* vim: set ft=c : */ -*** ../vim-7.2.030/src/option.c Thu Oct 2 22:48:01 2008 ---- src/option.c Fri Sep 26 22:20:20 2008 -*************** -*** 2593,2605 **** - #ifdef FEAT_VIMINFO - (char_u *)&p_viminfo, PV_NONE, - #if defined(MSDOS) || defined(MSWIN) || defined(OS2) -! {(char_u *)"", (char_u *)"'20,<50,s10,h,rA:,rB:"} - #else - # ifdef AMIGA - {(char_u *)"", -! (char_u *)"'20,<50,s10,h,rdf0:,rdf1:,rdf2:"} - # else -! {(char_u *)"", (char_u *)"'20,<50,s10,h"} - # endif - #endif - #else ---- 2593,2605 ---- - #ifdef FEAT_VIMINFO - (char_u *)&p_viminfo, PV_NONE, - #if defined(MSDOS) || defined(MSWIN) || defined(OS2) -! {(char_u *)"", (char_u *)"'100,<50,s10,h,rA:,rB:"} - #else - # ifdef AMIGA - {(char_u *)"", -! (char_u *)"'100,<50,s10,h,rdf0:,rdf1:,rdf2:"} - # else -! {(char_u *)"", (char_u *)"'100,<50,s10,h"} - # endif - #endif - #else -*** ../vim-7.2.030/src/structs.h Thu Jul 31 22:04:27 2008 ---- src/structs.h Fri Sep 19 19:15:18 2008 -*************** -*** 459,465 **** - typedef struct - { - int hide; /* TRUE when ":hide" was used */ -! # ifdef FEAT_BROWSE - int browse; /* TRUE to invoke file dialog */ - # endif - # ifdef FEAT_WINDOWS ---- 459,465 ---- - typedef struct - { - int hide; /* TRUE when ":hide" was used */ -! # ifdef FEAT_BROWSE_CMD - int browse; /* TRUE to invoke file dialog */ - # endif - # ifdef FEAT_WINDOWS -*** ../vim-7.2.030/src/vim.h Sat Aug 9 19:37:40 2008 ---- src/vim.h Sat Sep 13 17:41:24 2008 -*************** -*** 1728,1734 **** - #define VV_MOUSE_COL 51 - #define VV_OP 52 - #define VV_SEARCHFORWARD 53 -! #define VV_LEN 54 /* number of v: vars */ - - #ifdef FEAT_CLIPBOARD - ---- 1728,1735 ---- - #define VV_MOUSE_COL 51 - #define VV_OP 52 - #define VV_SEARCHFORWARD 53 -! #define VV_OLDFILES 54 -! #define VV_LEN 55 /* number of v: vars */ - - #ifdef FEAT_CLIPBOARD - -*************** -*** 2054,2057 **** ---- 2055,2064 ---- - #define DOSO_VIMRC 1 /* loading vimrc file */ - #define DOSO_GVIMRC 2 /* loading gvimrc file */ - -+ /* flags for read_viminfo() and children */ -+ #define VIF_WANT_INFO 1 /* load non-mark info */ -+ #define VIF_WANT_MARKS 2 /* load file marks */ -+ #define VIF_FORCEIT 4 /* overwrite info already read */ -+ #define VIF_GET_OLDFILES 8 /* load v:oldfiles */ -+ - #endif /* VIM__H */ -*** ../vim-7.2.030/src/version.c Thu Nov 6 20:47:00 2008 ---- src/version.c Sun Nov 9 13:39:19 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 31, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -217. Your sex life has drastically improved...so what if it's only cyber-sex! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.032 --- a/components/vim/vim72-patches/7.2.032 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.032 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.032 (after 7.2.031) -Problem: Can't build with EXITFREE defined. (Dominique Pelle) -Solution: Change vv_string to vv_str. -Files: src/eval.c - - -*** ../vim-7.2.031/src/eval.c Sun Nov 9 13:43:25 2008 ---- src/eval.c Sun Nov 9 17:16:06 2008 -*************** -*** 846,853 **** - p = &vimvars[i]; - if (p->vv_di.di_tv.v_type == VAR_STRING) - { -! vim_free(p->vv_string); -! p->vv_string = NULL; - } - else if (p->vv_di.di_tv.v_type == VAR_LIST) - { ---- 846,853 ---- - p = &vimvars[i]; - if (p->vv_di.di_tv.v_type == VAR_STRING) - { -! vim_free(p->vv_str); -! p->vv_str = NULL; - } - else if (p->vv_di.di_tv.v_type == VAR_LIST) - { -*** ../vim-7.2.031/src/version.c Sun Nov 9 13:43:25 2008 ---- src/version.c Sun Nov 9 17:21:00 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 32, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -218. Your spouse hands you a gift wrapped magnet with your PC's name - on it and you accuse him or her of genocide. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.033 --- a/components/vim/vim72-patches/7.2.033 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.033 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.033 -Problem: When detecting a little endian BOM "ucs-2le" is used, but the text - might be "utf-16le". -Solution: Default to "utf-16le", it also works for "ucs-2le". (Jia Yanwei) -Files: src/fileio.c, src/testdir/test42.ok - - -*** ../vim-7.2.032/src/fileio.c Sun Nov 9 13:43:25 2008 ---- src/fileio.c Mon Nov 3 21:21:47 2008 -*************** -*** 5550,5558 **** - name = "ucs-4le"; /* FF FE 00 00 */ - len = 4; - } -! else if (flags == FIO_ALL || flags == (FIO_UCS2 | FIO_ENDIAN_L)) - name = "ucs-2le"; /* FF FE */ -! else if (flags == (FIO_UTF16 | FIO_ENDIAN_L)) - name = "utf-16le"; /* FF FE */ - } - else if (p[0] == 0xfe && p[1] == 0xff ---- 5550,5559 ---- - name = "ucs-4le"; /* FF FE 00 00 */ - len = 4; - } -! else if (flags == (FIO_UCS2 | FIO_ENDIAN_L)) - name = "ucs-2le"; /* FF FE */ -! else if (flags == FIO_ALL || flags == (FIO_UTF16 | FIO_ENDIAN_L)) -! /* utf-16le is preferred, it also works for ucs-2le text */ - name = "utf-16le"; /* FF FE */ - } - else if (p[0] == 0xfe && p[1] == 0xff -*** ../vim-7.2.032/src/testdir/test42.ok Sat Mar 1 13:49:21 2008 ---- src/testdir/test42.ok Sat Nov 1 17:09:29 2008 -*************** -*** 20,26 **** - ucs-2 - - -! fileencoding=ucs-2le - bomb - ucs-2le - ---- 20,26 ---- - ucs-2 - - -! fileencoding=utf-16le - bomb - ucs-2le - -*** ../vim-7.2.032/src/version.c Sun Nov 9 17:21:10 2008 ---- src/version.c Tue Nov 11 21:54:14 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 33, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -234. You started college as a chemistry major, and walk out four years - later as an Internet provider. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.034 --- a/components/vim/vim72-patches/7.2.034 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.034 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.034 -Problem: Memory leak in spell info when deleting buffer. -Solution: Free the memory. (Dominique Pelle) -Files: src/buffer.c - - -*** ../vim-7.2.033/src/buffer.c Mon Sep 1 17:32:40 2008 ---- src/buffer.c Wed Nov 12 11:21:49 2008 -*************** -*** 647,652 **** ---- 647,655 ---- - vim_free(buf->b_start_fenc); - buf->b_start_fenc = NULL; - #endif -+ #ifdef FEAT_SPELL -+ ga_clear(&buf->b_langp); -+ #endif - } - - /* -*************** -*** 1237,1243 **** - * "buf" if one exists */ - if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf)) - return OK; -! /* If 'switchbuf' contians "usetab": jump to first window in any tab - * page containing "buf" if one exists */ - if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf)) - return OK; ---- 1240,1246 ---- - * "buf" if one exists */ - if ((swb_flags & SWB_USEOPEN) && buf_jump_open_win(buf)) - return OK; -! /* If 'switchbuf' contains "usetab": jump to first window in any tab - * page containing "buf" if one exists */ - if ((swb_flags & SWB_USETAB) && buf_jump_open_tab(buf)) - return OK; -*************** -*** 3964,3970 **** - width = vim_strsize(out); - if (maxwidth > 0 && width > maxwidth) - { -! /* Result is too long, must trunctate somewhere. */ - l = 0; - if (itemcnt == 0) - s = out; ---- 3967,3973 ---- - width = vim_strsize(out); - if (maxwidth > 0 && width > maxwidth) - { -! /* Result is too long, must truncate somewhere. */ - l = 0; - if (itemcnt == 0) - s = out; -*** ../vim-7.2.033/src/version.c Tue Nov 11 21:55:29 2008 ---- src/version.c Wed Nov 12 12:51:21 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 34, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -236. You start saving URL's in your digital watch. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.035 --- a/components/vim/vim72-patches/7.2.035 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,128 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.035 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.035 -Problem: Mismatches between alloc/malloc, free/vim_free, - realloc/vim_realloc. -Solution: Use the right function. (Dominique Pelle) -Files: src/gui_x11.c, src/mbyte.c, src/misc2.c, src/os_unix.c - - -*** ../vim-7.2.034/src/gui_x11.c Fri Jun 20 11:59:25 2008 ---- src/gui_x11.c Wed Nov 12 11:47:03 2008 -*************** -*** 2450,2456 **** - *colorPtr = colortable[closest]; - } - -! free(colortable); - return OK; - } - ---- 2450,2456 ---- - *colorPtr = colortable[closest]; - } - -! vim_free(colortable); - return OK; - } - -*** ../vim-7.2.034/src/mbyte.c Sat Sep 6 16:44:06 2008 ---- src/mbyte.c Wed Nov 12 11:24:14 2008 -*************** -*** 5384,5390 **** - draw_feedback = (char *)alloc(draw_data->chg_first - + text->length); - else -! draw_feedback = realloc(draw_feedback, - draw_data->chg_first + text->length); - if (draw_feedback != NULL) - { ---- 5384,5390 ---- - draw_feedback = (char *)alloc(draw_data->chg_first - + text->length); - else -! draw_feedback = vim_realloc(draw_feedback, - draw_data->chg_first + text->length); - if (draw_feedback != NULL) - { -*** ../vim-7.2.034/src/misc2.c Sat Sep 6 16:44:06 2008 ---- src/misc2.c Wed Nov 12 11:42:51 2008 -*************** -*** 873,879 **** - /* 3. check for available memory: call mch_avail_mem() */ - if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing) - { -! vim_free((char *)p); /* System is low... no go! */ - p = NULL; - } - else ---- 873,879 ---- - /* 3. check for available memory: call mch_avail_mem() */ - if (mch_avail_mem(TRUE) < KEEP_ROOM && !releasing) - { -! free((char *)p); /* System is low... no go! */ - p = NULL; - } - else -*** ../vim-7.2.034/src/os_unix.c Wed Aug 6 18:45:01 2008 ---- src/os_unix.c Wed Nov 12 11:55:33 2008 -*************** -*** 2905,2911 **** - * Ignore any errors. - */ - #if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK) -! signal_stack = malloc(SIGSTKSZ); - init_signal_stack(); - #endif - } ---- 2905,2911 ---- - * Ignore any errors. - */ - #if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK) -! signal_stack = (char *)alloc(SIGSTKSZ); - init_signal_stack(); - #endif - } -*************** -*** 6814,6820 **** - if (xsmp_icefd != -1) - { - SmcCloseConnection(xsmp.smcconn, 0, NULL); -! vim_free(xsmp.clientid); - xsmp.clientid = NULL; - xsmp_icefd = -1; - } ---- 6815,6822 ---- - if (xsmp_icefd != -1) - { - SmcCloseConnection(xsmp.smcconn, 0, NULL); -! if (xsmp.clientid != NULL) -! free(xsmp.clientid); - xsmp.clientid = NULL; - xsmp_icefd = -1; - } -*** ../vim-7.2.034/src/version.c Wed Nov 12 12:51:38 2008 ---- src/version.c Wed Nov 12 13:05:40 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 35, - /**/ - --- -You can tune a file system, but you can't tuna fish - -- man tunefs - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.037 --- a/components/vim/vim72-patches/7.2.037 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.037 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.037 -Problem: Double free with GTK 1 and compiled with EXITFREE. -Solution: Don't close display. (Dominique Pelle) -Files: src/os_unix.c - - -*** ../vim-7.2.036/src/os_unix.c Wed Nov 12 13:07:48 2008 ---- src/os_unix.c Wed Nov 12 11:55:33 2008 -*************** -*** 2936,2942 **** - } - # endif - # endif -! # ifdef FEAT_X11 - if (x11_display != NULL - # ifdef FEAT_XCLIPBOARD - && x11_display != xterm_dpy ---- 2936,2943 ---- - } - # endif - # endif -! /* Don't close the display for GTK 1, it is done in exit(). */ -! # if defined(FEAT_X11) && (!defined(FEAT_GUI_GTK) || defined(HAVE_GTK2)) - if (x11_display != NULL - # ifdef FEAT_XCLIPBOARD - && x11_display != xterm_dpy -*** ../vim-7.2.036/src/version.c Wed Nov 12 13:35:31 2008 ---- src/version.c Wed Nov 12 14:08:56 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 37, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -240. You think Webster's Dictionary is a directory of WEB sites. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.038 --- a/components/vim/vim72-patches/7.2.038 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.038 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.038 -Problem: Overlapping arguments to memcpy(). -Solution: Use mch_memmove(). (Dominique Pelle) -Files: src/if_xcmdsrv.c - - -*** ../vim-7.2.037/src/if_xcmdsrv.c Wed Aug 6 18:38:13 2008 ---- src/if_xcmdsrv.c Wed Nov 12 12:09:01 2008 -*************** -*** 736,742 **** - + serverReply.ga_len; - e.id = w; - ga_init2(&e.strings, 1, 100); -! memcpy(p, &e, sizeof(e)); - serverReply.ga_len++; - } - } ---- 736,742 ---- - + serverReply.ga_len; - e.id = w; - ga_init2(&e.strings, 1, 100); -! mch_memmove(p, &e, sizeof(e)); - serverReply.ga_len++; - } - } -*************** -*** 1018,1024 **** - p++; - count = numItems - (p - regProp); - if (count > 0) -! memcpy(entry, p, count); - XChangeProperty(dpy, RootWindow(dpy, 0), registryProperty, XA_STRING, - 8, PropModeReplace, regProp, - (int)(numItems - (p - entry))); ---- 1018,1024 ---- - p++; - count = numItems - (p - regProp); - if (count > 0) -! mch_memmove(entry, p, count); - XChangeProperty(dpy, RootWindow(dpy, 0), registryProperty, XA_STRING, - 8, PropModeReplace, regProp, - (int)(numItems - (p - entry))); -*************** -*** 1072,1078 **** - p++; - lastHalf = numItems - (p - regProp); - if (lastHalf > 0) -! memcpy(entry, p, lastHalf); - numItems = (entry - regProp) + lastHalf; - p = entry; - continue; ---- 1072,1078 ---- - p++; - lastHalf = numItems - (p - regProp); - if (lastHalf > 0) -! mch_memmove(entry, p, lastHalf); - numItems = (entry - regProp) + lastHalf; - p = entry; - continue; -*** ../vim-7.2.037/src/version.c Wed Nov 12 14:09:38 2008 ---- src/version.c Wed Nov 12 14:51:00 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 38, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -241. You try to look for Net Search even when you're in File Manager. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.039 --- a/components/vim/vim72-patches/7.2.039 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.039 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.039 -Problem: Accessing freed memory on exit when EXITFREE is defined. -Solution: Call hash_init() on the v: hash table. -Files: src/eval.c - - -*** ../vim-7.2.038/src/eval.c Sun Nov 9 17:21:10 2008 ---- src/eval.c Wed Nov 12 12:15:14 2008 -*************** -*** 856,861 **** ---- 856,862 ---- - } - } - hash_clear(&vimvarht); -+ hash_init(&vimvarht); /* garbage_collect() will access it */ - hash_clear(&compat_hashtab); - - /* script-local variables */ -*** ../vim-7.2.038/src/version.c Wed Nov 12 14:52:11 2008 ---- src/version.c Wed Nov 12 15:09:39 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 39, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -242. You turn down a better-paying job because it doesn't come with - a free e-mail account. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.040 --- a/components/vim/vim72-patches/7.2.040 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.040 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.040 -Problem: When using ":e ++ff=dos fname" and the file contains a NL without - a CR before it and 'ffs' contains "unix" then the fileformat - becomes unix. -Solution: Ignore 'ffs' when using the ++ff argument. (Ben Schmidt) - Also remove unreachable code. -Files: src/fileio.c - - -*** ../vim-7.2.039/src/fileio.c Tue Nov 11 21:55:29 2008 ---- src/fileio.c Wed Nov 12 13:19:42 2008 -*************** -*** 932,938 **** ---- 932,941 ---- - else - { - if (eap != NULL && eap->force_ff != 0) -+ { - fileformat = get_fileformat_force(curbuf, eap); -+ try_unix = try_dos = try_mac = FALSE; -+ } - else if (curbuf->b_p_bin) - fileformat = EOL_UNIX; /* binary: use Unix format */ - else if (*p_ffs == NUL) -*************** -*** 2341,2351 **** - STRCAT(IObuff, _("[CR missing]")); - c = TRUE; - } -- if (ff_error == EOL_MAC) -- { -- STRCAT(IObuff, _("[NL found]")); -- c = TRUE; -- } - if (split) - { - STRCAT(IObuff, _("[long lines split]")); ---- 2344,2349 ---- -*** ../vim-7.2.039/src/version.c Wed Nov 12 15:28:37 2008 ---- src/version.c Wed Nov 12 16:03:44 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 40, - /**/ - --- -If you're sending someone Styrofoam, what do you pack it in? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.041 --- a/components/vim/vim72-patches/7.2.041 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,709 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.041 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.041 -Problem: In diff mode, when using two tabs, each with two diffed buffers, - editing a buffer of the other tab messes up the diff. (Matt - Mzyzik) -Solution: Only copy options from a window where the buffer was edited that - doesn't have 'diff' set or is for the current tab page. - Also fix that window options for a buffer are stored with the - wrong window. -Files: src/buffer.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, - src/ex_getln.c, src/if_sniff.c, src/main.c, src/netbeans.c, - src/normal.c, src/popupmnu.c, src/proto/buffer.pro, - src/proto/ex_cmds.pro src/quickfix.c, src/window.c - - -*** ../vim-7.2.040/src/buffer.c Wed Nov 12 12:51:38 2008 ---- src/buffer.c Wed Nov 12 17:45:01 2008 -*************** -*** 33,39 **** - static char_u *fname_match __ARGS((regprog_T *prog, char_u *name)); - #endif - static void buflist_setfpos __ARGS((buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options)); -! static wininfo_T *find_wininfo __ARGS((buf_T *buf)); - #ifdef UNIX - static buf_T *buflist_findname_stat __ARGS((char_u *ffname, struct stat *st)); - static int otherfile_buf __ARGS((buf_T *buf, char_u *ffname, struct stat *stp)); ---- 33,39 ---- - static char_u *fname_match __ARGS((regprog_T *prog, char_u *name)); - #endif - static void buflist_setfpos __ARGS((buf_T *buf, win_T *win, linenr_T lnum, colnr_T col, int copy_options)); -! static wininfo_T *find_wininfo __ARGS((buf_T *buf, int skip_diff_buffer)); - #ifdef UNIX - static buf_T *buflist_findname_stat __ARGS((char_u *ffname, struct stat *st)); - static int otherfile_buf __ARGS((buf_T *buf, char_u *ffname, struct stat *stp)); -*************** -*** 1093,1099 **** - #endif - setpcmark(); - retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, -! forceit ? ECMD_FORCEIT : 0); - - /* - * do_ecmd() may create a new buffer, then we have to delete ---- 1093,1099 ---- - #endif - setpcmark(); - retval = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, -! forceit ? ECMD_FORCEIT : 0, curwin); - - /* - * do_ecmd() may create a new buffer, then we have to delete -*************** -*** 1316,1322 **** - setpcmark(); - if (!cmdmod.keepalt) - curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */ -! buflist_altfpos(); /* remember curpos */ - - #ifdef FEAT_VISUAL - /* Don't restart Select mode after switching to another buffer. */ ---- 1316,1322 ---- - setpcmark(); - if (!cmdmod.keepalt) - curwin->w_alt_fnum = curbuf->b_fnum; /* remember alternate file */ -! buflist_altfpos(curwin); /* remember curpos */ - - #ifdef FEAT_VISUAL - /* Don't restart Select mode after switching to another buffer. */ -*************** -*** 2404,2425 **** - return; - } - - /* - * Find info for the current window in buffer "buf". - * If not found, return the info for the most recently used window. - * Returns NULL when there isn't any info. - */ - static wininfo_T * -! find_wininfo(buf) - buf_T *buf; - { - wininfo_T *wip; - - for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next) -! if (wip->wi_win == curwin) - break; -! if (wip == NULL) /* if no fpos for curwin, use the first in the list */ -! wip = buf->b_wininfo; - return wip; - } - ---- 2404,2473 ---- - return; - } - -+ #ifdef FEAT_DIFF -+ static int wininfo_other_tab_diff __ARGS((wininfo_T *wip)); -+ -+ /* -+ * Return TRUE when "wip" has 'diff' set and the diff is only for another tab -+ * page. That's because a diff is local to a tab page. -+ */ -+ static int -+ wininfo_other_tab_diff(wip) -+ wininfo_T *wip; -+ { -+ win_T *wp; -+ -+ if (wip->wi_opt.wo_diff) -+ { -+ for (wp = firstwin; wp != NULL; wp = wp->w_next) -+ /* return FALSE when it's a window in the current tab page, thus -+ * the buffer was in diff mode here */ -+ if (wip->wi_win == wp) -+ return FALSE; -+ return TRUE; -+ } -+ return FALSE; -+ } -+ #endif -+ - /* - * Find info for the current window in buffer "buf". - * If not found, return the info for the most recently used window. -+ * When "skip_diff_buffer" is TRUE avoid windows with 'diff' set that is in -+ * another tab page. - * Returns NULL when there isn't any info. - */ -+ /*ARGSUSED*/ - static wininfo_T * -! find_wininfo(buf, skip_diff_buffer) - buf_T *buf; -+ int skip_diff_buffer; - { - wininfo_T *wip; - - for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next) -! if (wip->wi_win == curwin -! #ifdef FEAT_DIFF -! && (!skip_diff_buffer || !wininfo_other_tab_diff(wip)) -! #endif -! ) - break; -! -! /* If no wininfo for curwin, use the first in the list (that doesn't have -! * 'diff' set and is in another tab page). */ -! if (wip == NULL) -! { -! #ifdef FEAT_DIFF -! if (skip_diff_buffer) -! { -! for (wip = buf->b_wininfo; wip != NULL; wip = wip->wi_next) -! if (!wininfo_other_tab_diff(wip)) -! break; -! } -! else -! #endif -! wip = buf->b_wininfo; -! } - return wip; - } - -*************** -*** 2440,2446 **** - clearFolding(curwin); - #endif - -! wip = find_wininfo(buf); - if (wip != NULL && wip->wi_optset) - { - copy_winopt(&wip->wi_opt, &curwin->w_onebuf_opt); ---- 2488,2494 ---- - clearFolding(curwin); - #endif - -! wip = find_wininfo(buf, TRUE); - if (wip != NULL && wip->wi_optset) - { - copy_winopt(&wip->wi_opt, &curwin->w_onebuf_opt); -*************** -*** 2472,2478 **** - wininfo_T *wip; - static pos_T no_position = {1, 0}; - -! wip = find_wininfo(buf); - if (wip != NULL) - return &(wip->wi_fpos); - else ---- 2520,2526 ---- - wininfo_T *wip; - static pos_T no_position = {1, 0}; - -! wip = find_wininfo(buf, FALSE); - if (wip != NULL) - return &(wip->wi_fpos); - else -*************** -*** 2793,2806 **** - #endif - - /* -! * Set alternate cursor position for current window. - * Also save the local window option values. - */ - void -! buflist_altfpos() - { -! buflist_setfpos(curbuf, curwin, curwin->w_cursor.lnum, -! curwin->w_cursor.col, TRUE); - } - - /* ---- 2841,2854 ---- - #endif - - /* -! * Set alternate cursor position for the current buffer and window "win". - * Also save the local window option values. - */ - void -! buflist_altfpos(win) -! win_T *win; - { -! buflist_setfpos(curbuf, win, win->w_cursor.lnum, win->w_cursor.col, TRUE); - } - - /* -*************** -*** 4492,4498 **** - ECMD_ONE, - ((P_HID(curwin->w_buffer) - || bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0) -! + ECMD_OLDBUF); - #ifdef FEAT_AUTOCMD - if (use_firstwin) - ++autocmd_no_leave; ---- 4540,4546 ---- - ECMD_ONE, - ((P_HID(curwin->w_buffer) - || bufIsChanged(curwin->w_buffer)) ? ECMD_HIDE : 0) -! + ECMD_OLDBUF, curwin); - #ifdef FEAT_AUTOCMD - if (use_firstwin) - ++autocmd_no_leave; -*** ../vim-7.2.040/src/ex_cmds.c Sun Nov 9 13:43:25 2008 ---- src/ex_cmds.c Wed Nov 12 22:41:41 2008 -*************** -*** 3052,3058 **** - retval = 0; /* it's in the same file */ - } - else if (do_ecmd(fnum, ffname, sfname, NULL, lnum, -! (P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0)) == OK) - retval = -1; /* opened another file */ - else - retval = 1; /* error encountered */ ---- 3052,3059 ---- - retval = 0; /* it's in the same file */ - } - else if (do_ecmd(fnum, ffname, sfname, NULL, lnum, -! (P_HID(curbuf) ? ECMD_HIDE : 0) + (forceit ? ECMD_FORCEIT : 0), -! curwin) == OK) - retval = -1; /* opened another file */ - else - retval = 1; /* error encountered */ -*************** -*** 3085,3101 **** - * ECMD_OLDBUF: use existing buffer if it exists - * ECMD_FORCEIT: ! used for Ex command - * ECMD_ADDBUF: don't edit, just add to buffer list - * - * return FAIL for failure, OK otherwise - */ - int -! do_ecmd(fnum, ffname, sfname, eap, newlnum, flags) - int fnum; - char_u *ffname; - char_u *sfname; - exarg_T *eap; /* can be NULL! */ - linenr_T newlnum; - int flags; - { - int other_file; /* TRUE if editing another file */ - int oldbuf; /* TRUE if using existing buffer */ ---- 3086,3106 ---- - * ECMD_OLDBUF: use existing buffer if it exists - * ECMD_FORCEIT: ! used for Ex command - * ECMD_ADDBUF: don't edit, just add to buffer list -+ * oldwin: Should be "curwin" when editing a new buffer in the current -+ * window, NULL when splitting the window first. When not NULL info -+ * of the previous buffer for "oldwin" is stored. - * - * return FAIL for failure, OK otherwise - */ - int -! do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin) - int fnum; - char_u *ffname; - char_u *sfname; - exarg_T *eap; /* can be NULL! */ - linenr_T newlnum; - int flags; -+ win_T *oldwin; - { - int other_file; /* TRUE if editing another file */ - int oldbuf; /* TRUE if using existing buffer */ -*************** -*** 3267,3273 **** - { - if (!cmdmod.keepalt) - curwin->w_alt_fnum = curbuf->b_fnum; -! buflist_altfpos(); - } - - if (fnum) ---- 3272,3279 ---- - { - if (!cmdmod.keepalt) - curwin->w_alt_fnum = curbuf->b_fnum; -! if (oldwin != NULL) -! buflist_altfpos(oldwin); - } - - if (fnum) -*************** -*** 3371,3377 **** - - /* close the link to the current buffer */ - u_sync(FALSE); -! close_buffer(curwin, curbuf, - (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD); - - #ifdef FEAT_AUTOCMD ---- 3377,3383 ---- - - /* close the link to the current buffer */ - u_sync(FALSE); -! close_buffer(oldwin, curbuf, - (flags & ECMD_HIDE) ? 0 : DOBUF_UNLOAD); - - #ifdef FEAT_AUTOCMD -*************** -*** 5609,5615 **** - */ - alt_fnum = curbuf->b_fnum; - (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, -! ECMD_HIDE + ECMD_SET_HELP); - if (!cmdmod.keepalt) - curwin->w_alt_fnum = alt_fnum; - empty_fnum = curbuf->b_fnum; ---- 5615,5627 ---- - */ - alt_fnum = curbuf->b_fnum; - (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, -! ECMD_HIDE + ECMD_SET_HELP, -! #ifdef FEAT_WINDOWS -! NULL /* buffer is still open, don't store info */ -! #else -! curwin -! #endif -! ); - if (!cmdmod.keepalt) - curwin->w_alt_fnum = alt_fnum; - empty_fnum = curbuf->b_fnum; -*** ../vim-7.2.040/src/ex_cmds2.c Sun Sep 7 15:49:45 2008 ---- src/ex_cmds2.c Wed Nov 12 17:46:41 2008 -*************** -*** 2132,2139 **** - * argument index. */ - if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL, - eap, ECMD_LAST, -! (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) + -! (eap->forceit ? ECMD_FORCEIT : 0)) == FAIL) - curwin->w_arg_idx = old_arg_idx; - /* like Vi: set the mark where the cursor is in the file. */ - else if (eap->cmdidx != CMD_argdo) ---- 2132,2139 ---- - * argument index. */ - if (do_ecmd(0, alist_name(&ARGLIST[curwin->w_arg_idx]), NULL, - eap, ECMD_LAST, -! (P_HID(curwin->w_buffer) ? ECMD_HIDE : 0) -! + (eap->forceit ? ECMD_FORCEIT : 0), curwin) == FAIL) - curwin->w_arg_idx = old_arg_idx; - /* like Vi: set the mark where the cursor is in the file. */ - else if (eap->cmdidx != CMD_argdo) -*** ../vim-7.2.040/src/ex_docmd.c Sun Nov 9 13:43:25 2008 ---- src/ex_docmd.c Wed Nov 12 18:04:22 2008 -*************** -*** 7488,7494 **** - /* ":new" or ":tabnew" without argument: edit an new empty buffer */ - setpcmark(); - (void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE, -! ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0)); - } - else if ((eap->cmdidx != CMD_split - #ifdef FEAT_VERTSPLIT ---- 7488,7495 ---- - /* ":new" or ":tabnew" without argument: edit an new empty buffer */ - setpcmark(); - (void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE, -! ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0), -! old_curwin == NULL ? curwin : NULL); - } - else if ((eap->cmdidx != CMD_split - #ifdef FEAT_VERTSPLIT -*************** -*** 7525,7531 **** - #ifdef FEAT_LISTCMDS - + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 ) - #endif -! ) == FAIL) - { - /* Editing the file failed. If the window was split, close it. */ - #ifdef FEAT_WINDOWS ---- 7526,7532 ---- - #ifdef FEAT_LISTCMDS - + (eap->cmdidx == CMD_badd ? ECMD_ADDBUF : 0 ) - #endif -! , old_curwin == NULL ? curwin : NULL) == FAIL) - { - /* Editing the file failed. If the window was split, close it. */ - #ifdef FEAT_WINDOWS -*** ../vim-7.2.040/src/ex_getln.c Sun Sep 14 14:41:44 2008 ---- src/ex_getln.c Wed Nov 12 18:06:25 2008 -*************** -*** 6051,6057 **** - cmdwin_type = '-'; - - /* Create the command-line buffer empty. */ -! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE); - (void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE); - set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL); - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); ---- 6051,6057 ---- - cmdwin_type = '-'; - - /* Create the command-line buffer empty. */ -! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL); - (void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE); - set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL); - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); -*** ../vim-7.2.040/src/main.c Sun Nov 9 13:43:25 2008 ---- src/main.c Wed Nov 12 17:49:06 2008 -*************** -*** 2588,2594 **** - # endif - (void)do_ecmd(0, arg_idx < GARGCOUNT - ? alist_name(&GARGLIST[arg_idx]) : NULL, -! NULL, NULL, ECMD_LASTL, ECMD_HIDE); - # ifdef HAS_SWAP_EXISTS_ACTION - if (swap_exists_did_quit) - { ---- 2588,2594 ---- - # endif - (void)do_ecmd(0, arg_idx < GARGCOUNT - ? alist_name(&GARGLIST[arg_idx]) : NULL, -! NULL, NULL, ECMD_LASTL, ECMD_HIDE, curwin); - # ifdef HAS_SWAP_EXISTS_ACTION - if (swap_exists_did_quit) - { -*** ../vim-7.2.040/src/netbeans.c Sun Jul 13 19:18:03 2008 ---- src/netbeans.c Wed Nov 12 17:49:40 2008 -*************** -*** 1795,1801 **** - buf->displayname = NULL; - - netbeansReadFile = 0; /* don't try to open disk file */ -! do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF); - netbeansReadFile = 1; - buf->bufp = curbuf; - maketitle(); ---- 1795,1801 ---- - buf->displayname = NULL; - - netbeansReadFile = 0; /* don't try to open disk file */ -! do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF, curwin); - netbeansReadFile = 1; - buf->bufp = curbuf; - maketitle(); -*************** -*** 1960,1966 **** - - netbeansReadFile = 0; /* don't try to open disk file */ - do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE, -! ECMD_HIDE + ECMD_OLDBUF); - netbeansReadFile = 1; - buf->bufp = curbuf; - maketitle(); ---- 1960,1966 ---- - - netbeansReadFile = 0; /* don't try to open disk file */ - do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE, -! ECMD_HIDE + ECMD_OLDBUF, curwin); - netbeansReadFile = 1; - buf->bufp = curbuf; - maketitle(); -*************** -*** 1979,1985 **** - vim_free(buf->displayname); - buf->displayname = nb_unquote(args, NULL); - do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE, -! ECMD_HIDE + ECMD_OLDBUF); - buf->bufp = curbuf; - buf->initDone = TRUE; - doupdate = 1; ---- 1979,1985 ---- - vim_free(buf->displayname); - buf->displayname = nb_unquote(args, NULL); - do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE, -! ECMD_HIDE + ECMD_OLDBUF, curwin); - buf->bufp = curbuf; - buf->initDone = TRUE; - doupdate = 1; -*** ../vim-7.2.040/src/normal.c Sat Nov 1 13:51:57 2008 ---- src/normal.c Wed Nov 12 17:49:50 2008 -*************** -*** 6050,6056 **** - autowrite(curbuf, FALSE); - setpcmark(); - (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST, -! P_HID(curbuf) ? ECMD_HIDE : 0); - if (cap->nchar == 'F' && lnum >= 0) - { - curwin->w_cursor.lnum = lnum; ---- 6050,6056 ---- - autowrite(curbuf, FALSE); - setpcmark(); - (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LAST, -! P_HID(curbuf) ? ECMD_HIDE : 0, curwin); - if (cap->nchar == 'F' && lnum >= 0) - { - curwin->w_cursor.lnum = lnum; -*** ../vim-7.2.040/src/popupmnu.c Sun Jul 13 19:33:51 2008 ---- src/popupmnu.c Wed Nov 12 18:08:07 2008 -*************** -*** 573,579 **** - { - /* Don't want to sync undo in the current buffer. */ - ++no_u_sync; -! res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0); - --no_u_sync; - if (res == OK) - { ---- 573,579 ---- - { - /* Don't want to sync undo in the current buffer. */ - ++no_u_sync; -! res = do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, 0, NULL); - --no_u_sync; - if (res == OK) - { -*** ../vim-7.2.040/src/proto/buffer.pro Sun May 6 13:57:53 2007 ---- src/proto/buffer.pro Wed Nov 12 17:43:39 2008 -*************** -*** 33,39 **** - char_u *getaltfname __ARGS((int errmsg)); - int buflist_add __ARGS((char_u *fname, int flags)); - void buflist_slash_adjust __ARGS((void)); -! void buflist_altfpos __ARGS((void)); - int otherfile __ARGS((char_u *ffname)); - void buf_setino __ARGS((buf_T *buf)); - void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate)); ---- 33,39 ---- - char_u *getaltfname __ARGS((int errmsg)); - int buflist_add __ARGS((char_u *fname, int flags)); - void buflist_slash_adjust __ARGS((void)); -! void buflist_altfpos __ARGS((win_T *win)); - int otherfile __ARGS((char_u *ffname)); - void buf_setino __ARGS((buf_T *buf)); - void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate)); -*** ../vim-7.2.040/src/proto/ex_cmds.pro Sun Nov 9 13:43:25 2008 ---- src/proto/ex_cmds.pro Wed Nov 12 17:44:27 2008 -*************** -*** 27,33 **** - void do_wqall __ARGS((exarg_T *eap)); - int not_writing __ARGS((void)); - int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit)); -! int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags)); - void ex_append __ARGS((exarg_T *eap)); - void ex_change __ARGS((exarg_T *eap)); - void ex_z __ARGS((exarg_T *eap)); ---- 27,33 ---- - void do_wqall __ARGS((exarg_T *eap)); - int not_writing __ARGS((void)); - int getfile __ARGS((int fnum, char_u *ffname, char_u *sfname, int setpm, linenr_T lnum, int forceit)); -! int do_ecmd __ARGS((int fnum, char_u *ffname, char_u *sfname, exarg_T *eap, linenr_T newlnum, int flags, win_T *oldwin)); - void ex_append __ARGS((exarg_T *eap)); - void ex_change __ARGS((exarg_T *eap)); - void ex_z __ARGS((exarg_T *eap)); -*** ../vim-7.2.040/src/quickfix.c Thu Jul 24 18:44:59 2008 ---- src/quickfix.c Wed Nov 12 18:12:00 2008 -*************** -*** 1420,1425 **** ---- 1420,1426 ---- - win_T *win; - win_T *altwin; - #endif -+ win_T *oldwin = curwin; - int print_message = TRUE; - int len; - #ifdef FEAT_FOLDING -*************** -*** 1744,1750 **** - } - else - ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1, -! ECMD_HIDE + ECMD_SET_HELP); - } - else - ok = buflist_getfile(qf_ptr->qf_fnum, ---- 1745,1752 ---- - } - else - ok = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1, -! ECMD_HIDE + ECMD_SET_HELP, -! oldwin == curwin ? curwin : NULL); - } - else - ok = buflist_getfile(qf_ptr->qf_fnum, -*************** -*** 2267,2272 **** ---- 2269,2275 ---- - win_T *win; - tabpage_T *prevtab = curtab; - buf_T *qf_buf; -+ win_T *oldwin = curwin; - - if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) - { -*************** -*** 2326,2339 **** - win->w_llist->qf_refcount++; - } - - if (qf_buf != NULL) - /* Use the existing quickfix buffer */ - (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE, -! ECMD_HIDE + ECMD_OLDBUF); - else - { - /* Create a new quickfix buffer */ -! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE); - /* switch off 'swapfile' */ - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); - set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", ---- 2329,2344 ---- - win->w_llist->qf_refcount++; - } - -+ if (oldwin != curwin) -+ oldwin = NULL; /* don't store info when in another window */ - if (qf_buf != NULL) - /* Use the existing quickfix buffer */ - (void)do_ecmd(qf_buf->b_fnum, NULL, NULL, NULL, ECMD_ONE, -! ECMD_HIDE + ECMD_OLDBUF, oldwin); - else - { - /* Create a new quickfix buffer */ -! (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, oldwin); - /* switch off 'swapfile' */ - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); - set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", -*** ../vim-7.2.040/src/window.c Wed Aug 6 18:32:11 2008 ---- src/window.c Wed Nov 12 18:12:37 2008 -*************** -*** 531,537 **** - # ifdef FEAT_SCROLLBIND - curwin->w_p_scb = FALSE; - # endif -! (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, ECMD_HIDE); - if (nchar == 'F' && lnum >= 0) - { - curwin->w_cursor.lnum = lnum; ---- 531,538 ---- - # ifdef FEAT_SCROLLBIND - curwin->w_p_scb = FALSE; - # endif -! (void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL, -! ECMD_HIDE, NULL); - if (nchar == 'F' && lnum >= 0) - { - curwin->w_cursor.lnum = lnum; -*** ../vim-7.2.040/src/version.c Wed Nov 12 16:04:43 2008 ---- src/version.c Wed Nov 12 16:54:35 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 41, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -260. Co-workers have to E-mail you about the fire alarm to get - you out of the building. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.042 --- a/components/vim/vim72-patches/7.2.042 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.042 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.042 -Problem: When using winrestview() in a BufWinEnter autocommand the window - is scrolled anyway. (Matt Zyzik) -Solution: Don't recompute topline when above 'scrolloff' from the bottom. - Don't always put the cursor halfway when entering a buffer. Add - "w_topline_was_set". -Files: src/buffer.c, src/move.c, src/structs.h - - -*** ../vim-7.2.041/src/buffer.c Sat Nov 15 14:10:23 2008 ---- src/buffer.c Sat Nov 15 14:58:52 2008 -*************** -*** 1401,1406 **** ---- 1401,1409 ---- - curwin->w_cursor.coladd = 0; - #endif - curwin->w_set_curswant = TRUE; -+ #ifdef FEAT_AUTOCMD -+ curwin->w_topline_was_set = FALSE; -+ #endif - - /* Make sure the buffer is loaded. */ - if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */ -*************** -*** 1440,1446 **** - maketitle(); - #endif - #ifdef FEAT_AUTOCMD -! if (curwin->w_topline == 1) /* when autocmds didn't change it */ - #endif - scroll_cursor_halfway(FALSE); /* redisplay at correct position */ - ---- 1443,1450 ---- - maketitle(); - #endif - #ifdef FEAT_AUTOCMD -! /* when autocmds didn't change it */ -! if (curwin->w_topline == 1 && !curwin->w_topline_was_set) - #endif - scroll_cursor_halfway(FALSE); /* redisplay at correct position */ - -*** ../vim-7.2.041/src/move.c Sun Jul 13 19:25:23 2008 ---- src/move.c Sat Nov 15 14:56:47 2008 -*************** -*** 280,297 **** - - if (curwin->w_botline <= curbuf->b_ml.ml_line_count) - { -! if (curwin->w_cursor.lnum < curwin->w_botline -! && ((long)curwin->w_cursor.lnum - >= (long)curwin->w_botline - p_so - #ifdef FEAT_FOLDING - || hasAnyFolding(curwin) - #endif - )) -! { - lineoff_T loff; - -! /* Cursor is above botline, check if there are 'scrolloff' -! * window lines below the cursor. If not, need to scroll. */ - n = curwin->w_empty_rows; - loff.lnum = curwin->w_cursor.lnum; - #ifdef FEAT_FOLDING ---- 280,299 ---- - - if (curwin->w_botline <= curbuf->b_ml.ml_line_count) - { -! if (curwin->w_cursor.lnum < curwin->w_botline) -! { -! if (((long)curwin->w_cursor.lnum - >= (long)curwin->w_botline - p_so - #ifdef FEAT_FOLDING - || hasAnyFolding(curwin) - #endif - )) -! { - lineoff_T loff; - -! /* Cursor is (a few lines) above botline, check if there are -! * 'scrolloff' window lines below the cursor. If not, need to -! * scroll. */ - n = curwin->w_empty_rows; - loff.lnum = curwin->w_cursor.lnum; - #ifdef FEAT_FOLDING -*************** -*** 317,322 **** ---- 319,328 ---- - if (n >= p_so) - /* sufficient context, no need to scroll */ - check_botline = FALSE; -+ } -+ else -+ /* sufficient context, no need to scroll */ -+ check_botline = FALSE; - } - if (check_botline) - { -*************** -*** 509,514 **** ---- 515,523 ---- - /* Approximate the value of w_botline */ - wp->w_botline += lnum - wp->w_topline; - wp->w_topline = lnum; -+ #ifdef FEAT_AUTOCMD -+ wp->w_topline_was_set = TRUE; -+ #endif - #ifdef FEAT_DIFF - wp->w_topfill = 0; - #endif -*** ../vim-7.2.041/src/structs.h Sun Nov 9 13:43:25 2008 ---- src/structs.h Sat Nov 15 14:56:42 2008 -*************** -*** 1784,1793 **** - #endif - - /* -! * The next three specify the offsets for displaying the buffer: - */ - linenr_T w_topline; /* buffer line number of the line at the - top of the window */ - #ifdef FEAT_DIFF - int w_topfill; /* number of filler lines above w_topline */ - int w_old_topfill; /* w_topfill at last redraw */ ---- 1784,1798 ---- - #endif - - /* -! * "w_topline", "w_leftcol" and "w_skipcol" specify the offsets for -! * displaying the buffer. - */ - linenr_T w_topline; /* buffer line number of the line at the - top of the window */ -+ #ifdef FEAT_AUTOCMD -+ char w_topline_was_set; /* flag set to TRUE when topline is set, -+ e.g. by winrestview() */ -+ #endif - #ifdef FEAT_DIFF - int w_topfill; /* number of filler lines above w_topline */ - int w_old_topfill; /* w_topfill at last redraw */ -*** ../vim-7.2.041/src/version.c Sat Nov 15 14:10:23 2008 ---- src/version.c Sat Nov 15 16:01:29 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 42, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -261. You find diskettes in your pockets when doing laundry. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.043 --- a/components/vim/vim72-patches/7.2.043 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.043 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.043 -Problem: VMS: Too many characters are escaped in filename and shell - commands. -Solution: Escape fewer characters. (Zoltan Arpadffy) -Files: src/vim.h - - -*** ../vim-7.2.042/src/vim.h Sun Nov 9 13:43:25 2008 ---- src/vim.h Fri Nov 14 21:41:17 2008 -*************** -*** 341,348 **** - #ifdef BACKSLASH_IN_FILENAME - # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<") - #else -! # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<") -! # define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&") - #endif - - #define NUMBUFLEN 30 /* length of a buffer to store a number in ASCII */ ---- 341,354 ---- - #ifdef BACKSLASH_IN_FILENAME - # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`%#'\"|!<") - #else -! # ifdef VMS -! /* VMS allows a lot of characters in the file name */ -! # define PATH_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'\"|!") -! # define SHELL_ESC_CHARS ((char_u *)" \t\n*?{`\\%#'|!()&") -! # else -! # define PATH_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<") -! # define SHELL_ESC_CHARS ((char_u *)" \t\n*?[{`$\\%#'\"|!<>();&") -! # endif - #endif - - #define NUMBUFLEN 30 /* length of a buffer to store a number in ASCII */ -*************** -*** 370,376 **** - * Define __w64 as an empty token for everything but MSVC 7.x or later. - */ - # if !defined(_MSC_VER) || (_MSC_VER < 1300) -! # define __w64 - # endif - typedef unsigned long __w64 long_u; - typedef long __w64 long_i; ---- 376,382 ---- - * Define __w64 as an empty token for everything but MSVC 7.x or later. - */ - # if !defined(_MSC_VER) || (_MSC_VER < 1300) -! # define __w64 - # endif - typedef unsigned long __w64 long_u; - typedef long __w64 long_i; -*** ../vim-7.2.042/src/version.c Sat Nov 15 16:05:30 2008 ---- src/version.c Thu Nov 20 10:23:51 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 43, - /**/ - --- -In his lifetime van Gogh painted 486 oil paintings. Oddly enough, 8975 -of them are to be found in the United States. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.044 --- a/components/vim/vim72-patches/7.2.044 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.044 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.044 -Problem: Crash because of STRCPY() being over protective of the destination - size. (Dominique Pelle) -Solution: Add -D_FORTIFY_SOURCE=1 to CFLAGS. Use an intermediate variable - for the pointer to avoid a warning. -Files: src/auto/configure, src/configure.in, src/eval.c - - -*** ../vim-7.2.043/src/auto/configure Thu Jul 24 17:20:50 2008 ---- src/auto/configure Sun Nov 16 17:08:44 2008 -*************** -*** 16819,16839 **** - LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - fi - -- { $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5 -- $as_echo_n "checking for GCC 3 or later... " >&6; } - DEPEND_CFLAGS_FILTER= - if test "$GCC" = yes; then - gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'` - if test "$gccmajor" -gt "2"; then - DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'" -! fi -! fi -! if test "$DEPEND_CFLAGS_FILTER" = ""; then -! { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } -! else -! { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - fi - - ---- 16819,16847 ---- - LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - fi - - DEPEND_CFLAGS_FILTER= - if test "$GCC" = yes; then -+ { $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5 -+ $as_echo_n "checking for GCC 3 or later... " >&6; } - gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'` - if test "$gccmajor" -gt "2"; then - DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'" -! { $as_echo "$as_me:$LINENO: result: yes" >&5 -! $as_echo "yes" >&6; } -! else -! { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } -! fi -! { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 -! $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } -! if test "$gccmajor" -gt "3"; then -! CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" -! { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } -+ else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+ $as_echo "no" >&6; } -+ fi - fi - - -*** ../vim-7.2.043/src/configure.in Thu Jul 24 17:20:31 2008 ---- src/configure.in Sun Nov 16 17:08:40 2008 -*************** -*** 3152,3169 **** - dnl But only when making dependencies, cproto and lint don't take "-isystem". - dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow - dnl the number before the version number. -- AC_MSG_CHECKING(for GCC 3 or later) - DEPEND_CFLAGS_FILTER= - if test "$GCC" = yes; then - gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'` - if test "$gccmajor" -gt "2"; then - DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'" - fi -- fi -- if test "$DEPEND_CFLAGS_FILTER" = ""; then -- AC_MSG_RESULT(no) -- else -- AC_MSG_RESULT(yes) - fi - AC_SUBST(DEPEND_CFLAGS_FILTER) - ---- 3152,3176 ---- - dnl But only when making dependencies, cproto and lint don't take "-isystem". - dnl Mac gcc returns "powerpc-apple-darwin8-gcc-4.0.1 (GCC)...", need to allow - dnl the number before the version number. - DEPEND_CFLAGS_FILTER= - if test "$GCC" = yes; then -+ AC_MSG_CHECKING(for GCC 3 or later) - gccmajor=`echo "$gccversion" | sed -e 's/^\([[1-9]]\)\..*$/\1/g'` - if test "$gccmajor" -gt "2"; then - DEPEND_CFLAGS_FILTER="| sed 's+-I */+-isystem /+g'" -+ AC_MSG_RESULT(yes) -+ else -+ AC_MSG_RESULT(no) -+ fi -+ dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is -+ dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. -+ AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) -+ if test "$gccmajor" -gt "3"; then -+ CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" -+ AC_MSG_RESULT(yes) -+ else -+ AC_MSG_RESULT(no) - fi - fi - AC_SUBST(DEPEND_CFLAGS_FILTER) - -*** ../vim-7.2.043/src/eval.c Wed Nov 12 15:28:37 2008 ---- src/eval.c Sun Nov 16 20:46:28 2008 -*************** -*** 21150,21157 **** - init_var_dict(&fc.l_avars, &fc.l_avars_var); - add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0", - (varnumber_T)(argcount - fp->uf_args.ga_len)); - v = &fc.fixvar[fixvar_idx++].var; -! STRCPY(v->di_key, "000"); - v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; - hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v)); - v->di_tv.v_type = VAR_LIST; ---- 21150,21160 ---- - init_var_dict(&fc.l_avars, &fc.l_avars_var); - add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0", - (varnumber_T)(argcount - fp->uf_args.ga_len)); -+ /* Use "name" to avoid a warning from some compiler that checks the -+ * destination size. */ - v = &fc.fixvar[fixvar_idx++].var; -! name = v->di_key; -! STRCPY(name, "000"); - v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; - hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v)); - v->di_tv.v_type = VAR_LIST; -*** ../vim-7.2.043/src/version.c Thu Nov 20 10:26:19 2008 ---- src/version.c Thu Nov 20 10:34:31 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 44, - /**/ - --- -Error:015 - Unable to exit Windows. Try the door. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.045 --- a/components/vim/vim72-patches/7.2.045 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.045 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.045 -Problem: The Python interface has an empty entry in sys.path. -Solution: Filter out the empty entry. (idea from James Vega) -Files: src/if_python.c - - -*** ../vim-7.2.044/src/if_python.c Thu Jul 24 16:24:48 2008 ---- src/if_python.c Thu Nov 20 11:03:53 2008 -*************** -*** 531,536 **** ---- 531,542 ---- - if (PythonMod_Init()) - goto fail; - -+ /* Remove the element from sys.path that was added because of our -+ * argv[0] value in PythonMod_Init(). Previously we used an empty -+ * string, but dependinding on the OS we then get an empty entry or -+ * the current directory in sys.path. */ -+ PyRun_SimpleString("import sys; sys.path = filter(lambda x: x != '/must>not&exist', sys.path)"); -+ - /* the first python thread is vim's, release the lock */ - Python_SaveThread(); - -*************** -*** 2345,2351 **** - { - PyObject *mod; - PyObject *dict; -! static char *(argv[2]) = {"", NULL}; - - /* Fixups... */ - BufferType.ob_type = &PyType_Type; ---- 2351,2358 ---- - { - PyObject *mod; - PyObject *dict; -! /* The special value is removed from sys.path in Python_Init(). */ -! static char *(argv[2]) = {"/must>not&exist/foo", NULL}; - - /* Fixups... */ - BufferType.ob_type = &PyType_Type; -*** ../vim-7.2.044/src/version.c Thu Nov 20 10:36:04 2008 ---- src/version.c Thu Nov 20 10:58:11 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 45, - /**/ - --- -press CTRL-ALT-DEL for more information - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.046 --- a/components/vim/vim72-patches/7.2.046 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.046 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.046 -Problem: Wrong check for filling buffer with encoding. (Danek Duvall) -Solution: Remove pointers. (Dominique Pelle) -Files: src/mbyte.c - - -*** ../vim-7.2.045/src/mbyte.c Wed Nov 12 13:07:48 2008 ---- src/mbyte.c Wed Nov 19 21:44:50 2008 -*************** -*** 3131,3137 **** - else - s = p + 1; - } -! for (i = 0; s[i] != NUL && s + i < buf + sizeof(buf) - 1; ++i) - { - if (s[i] == '_' || s[i] == '-') - buf[i] = '-'; ---- 3131,3137 ---- - else - s = p + 1; - } -! for (i = 0; s[i] != NUL && i < sizeof(buf) - 1; ++i) - { - if (s[i] == '_' || s[i] == '-') - buf[i] = '-'; -*** ../vim-7.2.045/src/version.c Thu Nov 20 11:04:01 2008 ---- src/version.c Thu Nov 20 11:54:23 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 46, - /**/ - --- - He was not in the least bit scared to be mashed into a pulp - Or to have his eyes gouged out and his elbows broken; - To have his kneecaps split and his body burned away - And his limbs all hacked and mangled, brave Sir Robin. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.047 --- a/components/vim/vim72-patches/7.2.047 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.047 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.047 -Problem: Starting Vim with the -nb argument while it's not supported causes - the other side to hang. -Solution: When -nb is used while it's not supported exit Vim. (Xavier de - Gaye) -Files: src/main.c, src/vim.h - - -*** ../vim-7.2.046/src/main.c Sat Nov 15 14:10:23 2008 ---- src/main.c Thu Nov 20 14:09:27 2008 -*************** -*** 1510,1516 **** - early_arg_scan(parmp) - mparm_T *parmp; - { -! #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) - int argc = parmp->argc; - char **argv = parmp->argv; - int i; ---- 1510,1517 ---- - early_arg_scan(parmp) - mparm_T *parmp; - { -! #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) \ -! || !defined(FEAT_NETBEANS_INTG) - int argc = parmp->argc; - char **argv = parmp->argv; - int i; -*************** -*** 1582,1587 **** ---- 1583,1596 ---- - else if (STRICMP(argv[i], "--echo-wid") == 0) - echo_wid_arg = TRUE; - # endif -+ # ifndef FEAT_NETBEANS_INTG -+ else if (strncmp(argv[i], "-nb", (size_t)3) == 0) -+ { -+ mch_errmsg(_("'-nb' cannot be used: not enabled at compile time\n")); -+ mch_exit(2); -+ } -+ # endif -+ - } - #endif - } -*** ../vim-7.2.046/src/vim.h Thu Nov 20 10:26:19 2008 ---- src/vim.h Thu Nov 20 12:06:14 2008 -*************** -*** 1986,1991 **** ---- 1986,1994 ---- - # endif - #endif - -+ #ifndef FEAT_NETBEANS_INTG -+ # undef NBDEBUG -+ #endif - #ifdef NBDEBUG /* Netbeans debugging. */ - # include "nbdebug.h" - #else -*** ../vim-7.2.046/src/version.c Thu Nov 20 11:55:53 2008 ---- src/version.c Thu Nov 20 14:07:57 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 47, - /**/ - --- -FIRST HEAD: Oh! quick! get the sword out I want to cut his head off. -THIRD HEAD: Oh, cut your own head off. -SECOND HEAD: Yes - do us all a favour. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.048 --- a/components/vim/vim72-patches/7.2.048 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.048 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.048 -Problem: v:prevcount is changed too often. Counts are not multiplied when - setting v:count. -Solution: Set v:prevcount properly. Multiply counts. (idea by Ben Schmidt) -Files: src/eval.c, src/normal.c, src/proto/eval.pro - - -*** ../vim-7.2.047/src/eval.c Thu Nov 20 10:36:04 2008 ---- src/eval.c Thu Nov 20 15:53:47 2008 -*************** -*** 18146,18159 **** - } - - /* -! * Set v:count, v:count1 and v:prevcount. - */ - void -! set_vcount(count, count1) - long count; - long count1; - { -! vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr; - vimvars[VV_COUNT].vv_nr = count; - vimvars[VV_COUNT1].vv_nr = count1; - } ---- 18146,18162 ---- - } - - /* -! * Set v:count to "count" and v:count1 to "count1". -! * When "set_prevcount" is TRUE first set v:prevcount from v:count. - */ - void -! set_vcount(count, count1, set_prevcount) - long count; - long count1; -+ int set_prevcount; - { -! if (set_prevcount) -! vimvars[VV_PREVCOUNT].vv_nr = vimvars[VV_COUNT].vv_nr; - vimvars[VV_COUNT].vv_nr = count; - vimvars[VV_COUNT1].vv_nr = count1; - } -*** ../vim-7.2.047/src/normal.c Sat Nov 15 14:10:23 2008 ---- src/normal.c Thu Nov 20 16:04:44 2008 -*************** -*** 580,585 **** ---- 580,588 ---- - static int old_mapped_len = 0; - #endif - int idx; -+ #ifdef FEAT_EVAL -+ int set_prevcount = FALSE; -+ #endif - - vim_memset(&ca, 0, sizeof(ca)); /* also resets ca.retval */ - ca.oap = oap; -*************** -*** 615,621 **** ---- 618,629 ---- - /* When not finishing an operator and no register name typed, reset the - * count. */ - if (!finish_op && !oap->regname) -+ { - ca.opcount = 0; -+ #ifdef FEAT_EVAL -+ set_prevcount = TRUE; -+ #endif -+ } - - #ifdef FEAT_AUTOCMD - /* Restore counts from before receiving K_CURSORHOLD. This means after -*************** -*** 719,725 **** - * command, so that v:count can be used in an expression mapping - * right after the count. */ - if (toplevel && stuff_empty()) -! set_vcount(ca.count0, ca.count0 == 0 ? 1 : ca.count0); - #endif - if (ctrl_w) - { ---- 727,741 ---- - * command, so that v:count can be used in an expression mapping - * right after the count. */ - if (toplevel && stuff_empty()) -! { -! long count = ca.count0; -! -! /* multiply with ca.opcount the same way as below */ -! if (ca.opcount != 0) -! count = ca.opcount * (count == 0 ? 1 : count); -! set_vcount(count, count == 0 ? 1 : count, set_prevcount); -! set_prevcount = FALSE; /* only set v:prevcount once */ -! } - #endif - if (ctrl_w) - { -*************** -*** 806,812 **** - * Only set v:count when called from main() and not a stuffed command. - */ - if (toplevel && stuff_empty()) -! set_vcount(ca.count0, ca.count1); - #endif - - /* ---- 822,828 ---- - * Only set v:count when called from main() and not a stuffed command. - */ - if (toplevel && stuff_empty()) -! set_vcount(ca.count0, ca.count1, set_prevcount); - #endif - - /* -*** ../vim-7.2.047/src/proto/eval.pro Sun Nov 9 13:43:25 2008 ---- src/proto/eval.pro Thu Nov 20 15:53:54 2008 -*************** -*** 61,67 **** - long get_vim_var_nr __ARGS((int idx)); - char_u *get_vim_var_str __ARGS((int idx)); - list_T *get_vim_var_list __ARGS((int idx)); -! void set_vcount __ARGS((long count, long count1)); - void set_vim_var_string __ARGS((int idx, char_u *val, int len)); - void set_vim_var_list __ARGS((int idx, list_T *val)); - void set_reg_var __ARGS((int c)); ---- 61,67 ---- - long get_vim_var_nr __ARGS((int idx)); - char_u *get_vim_var_str __ARGS((int idx)); - list_T *get_vim_var_list __ARGS((int idx)); -! void set_vcount __ARGS((long count, long count1, int set_prevcount)); - void set_vim_var_string __ARGS((int idx, char_u *val, int len)); - void set_vim_var_list __ARGS((int idx, list_T *val)); - void set_reg_var __ARGS((int c)); -*** ../vim-7.2.047/src/version.c Thu Nov 20 14:11:47 2008 ---- src/version.c Thu Nov 20 16:08:19 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 48, - /**/ - --- -Microsoft's definition of a boolean: TRUE, FALSE, MAYBE -"Embrace and extend"...? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.050 --- a/components/vim/vim72-patches/7.2.050 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,316 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.050 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.050 -Problem: Warnings for not checking return value of fwrite(). (Chip Campbell) -Solution: Use the return value. -Files: src/spell.c - - -*** ../vim-7.2.049/src/spell.c Mon Aug 25 04:12:38 2008 ---- src/spell.c Thu Nov 20 17:28:01 2008 -*************** -*** 7926,7931 **** ---- 7926,7933 ---- - char_u *p; - int rr; - int retval = OK; -+ int fwv = 1; /* collect return value of fwrite() to avoid -+ warnings from picky compiler */ - - fd = mch_fopen((char *)fname, "w"); - if (fd == NULL) -*************** -*** 7936,7946 **** - - /*
: */ - /* */ -! if (fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd) != 1) -! { -! EMSG(_(e_write)); -! retval = FAIL; -! } - putc(VIMSPELLVERSION, fd); /* */ - - /* ---- 7938,7944 ---- - - /*
: */ - /* */ -! fwv &= fwrite(VIMSPELLMAGIC, VIMSPELLMAGICL, (size_t)1, fd); - putc(VIMSPELLVERSION, fd); /* */ - - /* -*************** -*** 7955,7961 **** - - i = (int)STRLEN(spin->si_info); - put_bytes(fd, (long_u)i, 4); /* */ -! fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* */ - } - - /* SN_REGION: ... ---- 7953,7959 ---- - - i = (int)STRLEN(spin->si_info); - put_bytes(fd, (long_u)i, 4); /* */ -! fwv &= fwrite(spin->si_info, (size_t)i, (size_t)1, fd); /* */ - } - - /* SN_REGION: ... -*************** -*** 7966,7972 **** - putc(SNF_REQUIRED, fd); /* */ - l = spin->si_region_count * 2; - put_bytes(fd, (long_u)l, 4); /* */ -! fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd); - /* ... */ - regionmask = (1 << spin->si_region_count) - 1; - } ---- 7964,7970 ---- - putc(SNF_REQUIRED, fd); /* */ - l = spin->si_region_count * 2; - put_bytes(fd, (long_u)l, 4); /* */ -! fwv &= fwrite(spin->si_region_name, (size_t)l, (size_t)1, fd); - /* ... */ - regionmask = (1 << spin->si_region_count) - 1; - } -*************** -*** 8016,8022 **** - } - - put_bytes(fd, (long_u)l, 2); /* */ -! fwrite(folchars, (size_t)l, (size_t)1, fd); /* */ - } - - /* SN_MIDWORD: */ ---- 8014,8020 ---- - } - - put_bytes(fd, (long_u)l, 2); /* */ -! fwv &= fwrite(folchars, (size_t)l, (size_t)1, fd); /* */ - } - - /* SN_MIDWORD: */ -*************** -*** 8027,8033 **** - - i = (int)STRLEN(spin->si_midword); - put_bytes(fd, (long_u)i, 4); /* */ -! fwrite(spin->si_midword, (size_t)i, (size_t)1, fd); /* */ - } - - /* SN_PREFCOND: ... */ ---- 8025,8032 ---- - - i = (int)STRLEN(spin->si_midword); - put_bytes(fd, (long_u)i, 4); /* */ -! fwv &= fwrite(spin->si_midword, (size_t)i, (size_t)1, fd); -! /* */ - } - - /* SN_PREFCOND: ... */ -*************** -*** 8113,8119 **** - p = rr == 1 ? ftp->ft_from : ftp->ft_to; - l = (int)STRLEN(p); - putc(l, fd); -! fwrite(p, l, (size_t)1, fd); - } - } - ---- 8112,8118 ---- - p = rr == 1 ? ftp->ft_from : ftp->ft_to; - l = (int)STRLEN(p); - putc(l, fd); -! fwv &= fwrite(p, l, (size_t)1, fd); - } - } - -*************** -*** 8131,8141 **** - /* */ - - put_bytes(fd, (long_u)l, 2); /* */ -! fwrite(spin->si_sofofr, l, (size_t)1, fd); /* */ - - l = (int)STRLEN(spin->si_sofoto); - put_bytes(fd, (long_u)l, 2); /* */ -! fwrite(spin->si_sofoto, l, (size_t)1, fd); /* */ - } - - /* SN_WORDS: ... ---- 8130,8140 ---- - /* */ - - put_bytes(fd, (long_u)l, 2); /* */ -! fwv &= fwrite(spin->si_sofofr, l, (size_t)1, fd); /* */ - - l = (int)STRLEN(spin->si_sofoto); - put_bytes(fd, (long_u)l, 2); /* */ -! fwv &= fwrite(spin->si_sofoto, l, (size_t)1, fd); /* */ - } - - /* SN_WORDS: ... -*************** -*** 8160,8166 **** - l = (int)STRLEN(hi->hi_key) + 1; - len += l; - if (round == 2) /* */ -! fwrite(hi->hi_key, (size_t)l, (size_t)1, fd); - --todo; - } - if (round == 1) ---- 8159,8165 ---- - l = (int)STRLEN(hi->hi_key) + 1; - len += l; - if (round == 2) /* */ -! fwv &= fwrite(hi->hi_key, (size_t)l, (size_t)1, fd); - --todo; - } - if (round == 1) -*************** -*** 8176,8182 **** - putc(0, fd); /* */ - l = spin->si_map.ga_len; - put_bytes(fd, (long_u)l, 4); /* */ -! fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd); - /* */ - } - ---- 8175,8181 ---- - putc(0, fd); /* */ - l = spin->si_map.ga_len; - put_bytes(fd, (long_u)l, 4); /* */ -! fwv &= fwrite(spin->si_map.ga_data, (size_t)l, (size_t)1, fd); - /* */ - } - -*************** -*** 8232,8241 **** - { - p = ((char_u **)(spin->si_comppat.ga_data))[i]; - putc((int)STRLEN(p), fd); /* */ -! fwrite(p, (size_t)STRLEN(p), (size_t)1, fd);/* */ - } - /* */ -! fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags), - (size_t)1, fd); - } - ---- 8231,8241 ---- - { - p = ((char_u **)(spin->si_comppat.ga_data))[i]; - putc((int)STRLEN(p), fd); /* */ -! fwv &= fwrite(p, (size_t)STRLEN(p), (size_t)1, fd); -! /* */ - } - /* */ -! fwv &= fwrite(spin->si_compflags, (size_t)STRLEN(spin->si_compflags), - (size_t)1, fd); - } - -*************** -*** 8259,8265 **** - - l = (int)STRLEN(spin->si_syllable); - put_bytes(fd, (long_u)l, 4); /* */ -! fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd); /* */ - } - - /* end of */ ---- 8259,8266 ---- - - l = (int)STRLEN(spin->si_syllable); - put_bytes(fd, (long_u)l, 4); /* */ -! fwv &= fwrite(spin->si_syllable, (size_t)l, (size_t)1, fd); -! /* */ - } - - /* end of */ -*************** -*** 8295,8307 **** - (void)put_node(fd, tree, 0, regionmask, round == 3); - } - -! /* Write another byte to check for errors. */ - if (putc(0, fd) == EOF) - retval = FAIL; - - if (fclose(fd) == EOF) - retval = FAIL; - - return retval; - } - ---- 8296,8313 ---- - (void)put_node(fd, tree, 0, regionmask, round == 3); - } - -! /* Write another byte to check for errors (file system full). */ - if (putc(0, fd) == EOF) - retval = FAIL; - - if (fclose(fd) == EOF) - retval = FAIL; - -+ if (fwv != 1) -+ retval = FAIL; -+ if (retval == FAIL) -+ EMSG(_(e_write)); -+ - return retval; - } - -*************** -*** 9890,9895 **** ---- 9896,9902 ---- - char_u *p; - int len; - int totlen; -+ int x = 1; /* collect return value of fwrite() */ - - if (fd != NULL) - put_bytes(fd, (long_u)gap->ga_len, 2); /* */ -*************** -*** 9906,9912 **** - if (fd != NULL) - { - fputc(len, fd); -! fwrite(p, (size_t)len, (size_t)1, fd); - } - totlen += len; - } ---- 9913,9919 ---- - if (fd != NULL) - { - fputc(len, fd); -! x &= fwrite(p, (size_t)len, (size_t)1, fd); - } - totlen += len; - } -*** ../vim-7.2.049/src/version.c Thu Nov 20 17:09:09 2008 ---- src/version.c Fri Nov 28 10:06:13 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 50, - /**/ - --- -You got to work at a mill? Lucky! I got sent back to work in the -acid-mines for my daily crust of stale bread... which not even the -birds would eat. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.051 --- a/components/vim/vim72-patches/7.2.051 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,411 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.051 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.051 -Problem: Can't avoid 'wildignore' and 'suffixes' for glob() and globpath(). -Solution: Add an extra argument to these functions. (Ingo Karkat) -Files: src/eval.c, src/ex_getln.c, src/proto/ex_getln.pro, - runtime/doc/eval.txt, runtime/doc/options.txt - - -*** ../vim-7.2.050/src/eval.c Thu Nov 20 16:11:03 2008 ---- src/eval.c Thu Nov 27 22:15:40 2008 -*************** -*** 7564,7571 **** - {"getwinposx", 0, 0, f_getwinposx}, - {"getwinposy", 0, 0, f_getwinposy}, - {"getwinvar", 2, 2, f_getwinvar}, -! {"glob", 1, 1, f_glob}, -! {"globpath", 2, 2, f_globpath}, - {"has", 1, 1, f_has}, - {"has_key", 2, 2, f_has_key}, - {"haslocaldir", 0, 0, f_haslocaldir}, ---- 7564,7571 ---- - {"getwinposx", 0, 0, f_getwinposx}, - {"getwinposy", 0, 0, f_getwinposy}, - {"getwinvar", 2, 2, f_getwinvar}, -! {"glob", 1, 2, f_glob}, -! {"globpath", 2, 3, f_globpath}, - {"has", 1, 1, f_has}, - {"has_key", 2, 2, f_has_key}, - {"haslocaldir", 0, 0, f_haslocaldir}, -*************** -*** 9557,9563 **** - else - { - /* When the optional second argument is non-zero, don't remove matches -! * for 'suffixes' and 'wildignore' */ - if (argvars[1].v_type != VAR_UNKNOWN - && get_tv_number_chk(&argvars[1], &error)) - flags |= WILD_KEEP_ALL; ---- 9557,9563 ---- - else - { - /* When the optional second argument is non-zero, don't remove matches -! * for 'wildignore' and don't put matches for 'suffixes' at the end. */ - if (argvars[1].v_type != VAR_UNKNOWN - && get_tv_number_chk(&argvars[1], &error)) - flags |= WILD_KEEP_ALL; -*************** -*** 11323,11335 **** - typval_T *argvars; - typval_T *rettv; - { - expand_T xpc; - -! ExpandInit(&xpc); -! xpc.xp_context = EXPAND_FILES; -! rettv->v_type = VAR_STRING; -! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), -! NULL, WILD_USE_NL|WILD_SILENT, WILD_ALL); - } - - /* ---- 11323,11347 ---- - typval_T *argvars; - typval_T *rettv; - { -+ int flags = WILD_SILENT|WILD_USE_NL; - expand_T xpc; -+ int error = FALSE; - -! /* When the optional second argument is non-zero, don't remove matches -! * for 'wildignore' and don't put matches for 'suffixes' at the end. */ -! if (argvars[1].v_type != VAR_UNKNOWN -! && get_tv_number_chk(&argvars[1], &error)) -! flags |= WILD_KEEP_ALL; -! rettv->v_type = VAR_STRING; -! if (!error) -! { -! ExpandInit(&xpc); -! xpc.xp_context = EXPAND_FILES; -! rettv->vval.v_string = ExpandOne(&xpc, get_tv_string(&argvars[0]), -! NULL, flags, WILD_ALL); -! } -! else -! rettv->vval.v_string = NULL; - } - - /* -*************** -*** 11340,11353 **** - typval_T *argvars; - typval_T *rettv; - { - char_u buf1[NUMBUFLEN]; - char_u *file = get_tv_string_buf_chk(&argvars[1], buf1); - - rettv->v_type = VAR_STRING; -! if (file == NULL) - rettv->vval.v_string = NULL; - else -! rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file); - } - - /* ---- 11352,11373 ---- - typval_T *argvars; - typval_T *rettv; - { -+ int flags = 0; - char_u buf1[NUMBUFLEN]; - char_u *file = get_tv_string_buf_chk(&argvars[1], buf1); -+ int error = FALSE; - -+ /* When the optional second argument is non-zero, don't remove matches -+ * for 'wildignore' and don't put matches for 'suffixes' at the end. */ -+ if (argvars[2].v_type != VAR_UNKNOWN -+ && get_tv_number_chk(&argvars[2], &error)) -+ flags |= WILD_KEEP_ALL; - rettv->v_type = VAR_STRING; -! if (file == NULL || error) - rettv->vval.v_string = NULL; - else -! rettv->vval.v_string = globpath(get_tv_string(&argvars[0]), file, -! flags); - } - - /* -*** ../vim-7.2.050/src/ex_getln.c Sat Nov 15 14:10:23 2008 ---- src/ex_getln.c Thu Nov 20 18:37:20 2008 -*************** -*** 2524,2530 **** - && ccline.xpc->xp_context != EXPAND_NOTHING - && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL) - { -! int i = ccline.xpc->xp_pattern - p; - - /* If xp_pattern points inside the old cmdbuff it needs to be adjusted - * to point into the newly allocated memory. */ ---- 2524,2530 ---- - && ccline.xpc->xp_context != EXPAND_NOTHING - && ccline.xpc->xp_context != EXPAND_UNSUCCESSFUL) - { -! int i = (int)(ccline.xpc->xp_pattern - p); - - /* If xp_pattern points inside the old cmdbuff it needs to be adjusted - * to point into the newly allocated memory. */ -*************** -*** 4897,4903 **** - if (s == NULL) - return FAIL; - sprintf((char *)s, "%s/%s*.vim", dirname, pat); -! all = globpath(p_rtp, s); - vim_free(s); - if (all == NULL) - return FAIL; ---- 4897,4903 ---- - if (s == NULL) - return FAIL; - sprintf((char *)s, "%s/%s*.vim", dirname, pat); -! all = globpath(p_rtp, s, 0); - vim_free(s); - if (all == NULL) - return FAIL; -*************** -*** 4938,4946 **** - * newlines. Returns NULL for an error or no matches. - */ - char_u * -! globpath(path, file) - char_u *path; - char_u *file; - { - expand_T xpc; - char_u *buf; ---- 4938,4947 ---- - * newlines. Returns NULL for an error or no matches. - */ - char_u * -! globpath(path, file, expand_options) - char_u *path; - char_u *file; -+ int expand_options; - { - expand_T xpc; - char_u *buf; -*************** -*** 4969,4978 **** - { - add_pathsep(buf); - STRCAT(buf, file); -! if (ExpandFromContext(&xpc, buf, &num_p, &p, WILD_SILENT) != FAIL -! && num_p > 0) - { -! ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT); - for (len = 0, i = 0; i < num_p; ++i) - len += (int)STRLEN(p[i]) + 1; - ---- 4970,4979 ---- - { - add_pathsep(buf); - STRCAT(buf, file); -! if (ExpandFromContext(&xpc, buf, &num_p, &p, -! WILD_SILENT|expand_options) != FAIL && num_p > 0) - { -! ExpandEscape(&xpc, buf, num_p, p, WILD_SILENT|expand_options); - for (len = 0, i = 0; i < num_p; ++i) - len += (int)STRLEN(p[i]) + 1; - -*** ../vim-7.2.050/src/proto/ex_getln.pro Wed May 28 16:49:01 2008 ---- src/proto/ex_getln.pro Thu Nov 20 18:27:57 2008 -*************** -*** 31,37 **** - void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col)); - int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches)); - int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)))); -! char_u *globpath __ARGS((char_u *path, char_u *file)); - void init_history __ARGS((void)); - int get_histtype __ARGS((char_u *name)); - void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep)); ---- 31,37 ---- - void set_cmd_context __ARGS((expand_T *xp, char_u *str, int len, int col)); - int expand_cmdline __ARGS((expand_T *xp, char_u *str, int col, int *matchcount, char_u ***matches)); - int ExpandGeneric __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file, char_u *((*func)(expand_T *, int)))); -! char_u *globpath __ARGS((char_u *path, char_u *file, int expand_options)); - void init_history __ARGS((void)); - int get_histtype __ARGS((char_u *name)); - void add_to_history __ARGS((int histype, char_u *new_entry, int in_map, int sep)); -*** ../vim-7.2.050/runtime/doc/eval.txt Sun Nov 9 13:43:25 2008 ---- runtime/doc/eval.txt Thu Nov 27 22:17:13 2008 -*************** -*** 1,4 **** -! *eval.txt* For Vim version 7.2. Last change: 2008 Nov 02 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *eval.txt* For Vim version 7.2. Last change: 2008 Nov 27 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 1706,1712 **** - exists( {expr}) Number TRUE if {expr} exists - extend({expr1}, {expr2} [, {expr3}]) - List/Dict insert items of {expr2} into {expr1} -! expand( {expr}) String expand special keywords in {expr} - feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer - filereadable( {file}) Number TRUE if {file} is a readable file - filewritable( {file}) Number TRUE if {file} is a writable file ---- 1709,1715 ---- - exists( {expr}) Number TRUE if {expr} exists - extend({expr1}, {expr2} [, {expr3}]) - List/Dict insert items of {expr2} into {expr1} -! expand( {expr} [, {flag}]) String expand special keywords in {expr} - feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer - filereadable( {file}) Number TRUE if {file} is a readable file - filewritable( {file}) Number TRUE if {file} is a writable file -*************** -*** 1758,1765 **** - getwinposx() Number X coord in pixels of GUI Vim window - getwinposy() Number Y coord in pixels of GUI Vim window - getwinvar( {nr}, {varname}) any variable {varname} in window {nr} -! glob( {expr}) String expand file wildcards in {expr} -! globpath( {path}, {expr}) String do glob({expr}) for all dirs in {path} - has( {feature}) Number TRUE if feature {feature} supported - has_key( {dict}, {key}) Number TRUE if {dict} has entry {key} - haslocaldir() Number TRUE if current window executed |:lcd| ---- 1761,1769 ---- - getwinposx() Number X coord in pixels of GUI Vim window - getwinposy() Number Y coord in pixels of GUI Vim window - getwinvar( {nr}, {varname}) any variable {varname} in window {nr} -! glob( {expr} [, {flag}]) String expand file wildcards in {expr} -! globpath( {path}, {expr} [, {flag}]) -! String do glob({expr}) for all dirs in {path} - has( {feature}) Number TRUE if feature {feature} supported - has_key( {dict}, {key}) Number TRUE if {dict} has entry {key} - haslocaldir() Number TRUE if current window executed |:lcd| -*************** -*** 3286,3299 **** - :let list_is_on = getwinvar(2, '&list') - :echo "myvar = " . getwinvar(1, 'myvar') - < -! *glob()* -! glob({expr}) Expand the file wildcards in {expr}. See |wildcards| for the - use of special characters. - The result is a String. - When there are several matches, they are separated by - characters. -! The 'wildignore' option applies: Names matching one of the -! patterns in 'wildignore' will be skipped. - If the expansion fails, the result is an empty string. - A name for a non-existing file is not included. - ---- 3290,3305 ---- - :let list_is_on = getwinvar(2, '&list') - :echo "myvar = " . getwinvar(1, 'myvar') - < -! glob({expr} [, {flag}]) *glob()* -! Expand the file wildcards in {expr}. See |wildcards| for the - use of special characters. - The result is a String. - When there are several matches, they are separated by - characters. -! Unless the optional {flag} argument is given and is non-zero, -! the 'suffixes' and 'wildignore' options apply: Names matching -! one of the patterns in 'wildignore' will be skipped and -! 'suffixes' affect the ordering of matches. - If the expansion fails, the result is an empty string. - A name for a non-existing file is not included. - -*************** -*** 3307,3326 **** - See |expand()| for expanding special Vim variables. See - |system()| for getting the raw output of an external command. - -! globpath({path}, {expr}) *globpath()* - Perform glob() on all directories in {path} and concatenate - the results. Example: > - :echo globpath(&rtp, "syntax/c.vim") - < {path} is a comma-separated list of directory names. Each - directory name is prepended to {expr} and expanded like with -! glob(). A path separator is inserted when needed. - To add a comma inside a directory name escape it with a - backslash. Note that on MS-Windows a directory may have a - trailing backslash, remove it if you put a comma after it. - If the expansion fails for one of the directories, there is no - error message. -! The 'wildignore' option applies: Names matching one of the -! patterns in 'wildignore' will be skipped. - - The "**" item can be used to search in a directory tree. - For example, to find all "README.txt" files in the directories ---- 3313,3334 ---- - See |expand()| for expanding special Vim variables. See - |system()| for getting the raw output of an external command. - -! globpath({path}, {expr} [, {flag}]) *globpath()* - Perform glob() on all directories in {path} and concatenate - the results. Example: > - :echo globpath(&rtp, "syntax/c.vim") - < {path} is a comma-separated list of directory names. Each - directory name is prepended to {expr} and expanded like with -! |glob()|. A path separator is inserted when needed. - To add a comma inside a directory name escape it with a - backslash. Note that on MS-Windows a directory may have a - trailing backslash, remove it if you put a comma after it. - If the expansion fails for one of the directories, there is no - error message. -! Unless the optional {flag} argument is given and is non-zero, -! the 'suffixes' and 'wildignore' options apply: Names matching -! one of the patterns in 'wildignore' will be skipped and -! 'suffixes' affect the ordering of matches. - - The "**" item can be used to search in a directory tree. - For example, to find all "README.txt" files in the directories -*** ../vim-7.2.050/runtime/doc/options.txt Sat Aug 9 19:36:49 2008 ---- runtime/doc/options.txt Tue Nov 25 23:43:55 2008 -*************** -*** 1,4 **** -! *options.txt* For Vim version 7.2. Last change: 2008 Aug 06 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *options.txt* For Vim version 7.2. Last change: 2008 Nov 25 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 7472,7478 **** - {not available when compiled without the |+wildignore| - feature} - A list of file patterns. A file that matches with one of these -! patterns is ignored when completing file or directory names. - The pattern is used like with |:autocmd|, see |autocmd-patterns|. - Also see 'suffixes'. - Example: > ---- 7481,7489 ---- - {not available when compiled without the |+wildignore| - feature} - A list of file patterns. A file that matches with one of these -! patterns is ignored when completing file or directory names, and -! influences the result of |expand()|, |glob()| and |globpath()| unless -! a flag is passed to disable this. - The pattern is used like with |:autocmd|, see |autocmd-patterns|. - Also see 'suffixes'. - Example: > -*** ../vim-7.2.050/src/version.c Fri Nov 28 10:08:05 2008 ---- src/version.c Fri Nov 28 10:55:44 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 51, - /**/ - --- -Not too long ago, unzipping in public was illegal... - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.052 --- a/components/vim/vim72-patches/7.2.052 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.052 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.052 -Problem: synIDattr() doesn't support "sp" for special color. -Solution: Recognize "sp" and "sp#". (Matt Wozniski) -Files: runtime/doc/eval.txt, src/eval.c - - -*** ../vim-7.2.051/runtime/doc/eval.txt Fri Nov 28 10:59:57 2008 ---- runtime/doc/eval.txt Thu Nov 27 22:17:13 2008 -*************** -*** 5348,5357 **** - "fg" foreground color (GUI: color name used to set - the color, cterm: color number as a string, - term: empty string) -! "bg" background color (like "fg") - "fg#" like "fg", but for the GUI and the GUI is - running the name in "#RRGGBB" form - "bg#" like "fg#" for "bg" - "bold" "1" if bold - "italic" "1" if italic - "reverse" "1" if reverse ---- 5359,5370 ---- - "fg" foreground color (GUI: color name used to set - the color, cterm: color number as a string, - term: empty string) -! "bg" background color (as with "fg") -! "sp" special color (as with "fg") |highlight-guisp| - "fg#" like "fg", but for the GUI and the GUI is - running the name in "#RRGGBB" form - "bg#" like "fg#" for "bg" -+ "sp#" like "fg#" for "sp" - "bold" "1" if bold - "italic" "1" if italic - "reverse" "1" if reverse -*** ../vim-7.2.051/src/eval.c Fri Nov 28 10:59:57 2008 ---- src/eval.c Thu Nov 27 22:15:40 2008 -*************** -*** 16648,16655 **** - p = highlight_has_attr(id, HL_INVERSE, modec); - break; - -! case 's': /* standout */ -! p = highlight_has_attr(id, HL_STANDOUT, modec); - break; - - case 'u': ---- 16648,16658 ---- - p = highlight_has_attr(id, HL_INVERSE, modec); - break; - -! case 's': -! if (TOLOWER_ASC(what[1]) == 'p') /* sp[#] */ -! p = highlight_color(id, what, modec); -! else /* standout */ -! p = highlight_has_attr(id, HL_STANDOUT, modec); - break; - - case 'u': -*** ../vim-7.2.051/src/version.c Fri Nov 28 10:59:57 2008 ---- src/version.c Fri Nov 28 11:13:45 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 52, - /**/ - --- -Not too long ago, a keyboard was something to make music with... - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.053 --- a/components/vim/vim72-patches/7.2.053 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.053 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.053 -Problem: Crash when using WorkShop command ":ws foo". (Dominique Pelle) -Solution: Avoid using a NULL pointer. -Files: src/workshop.c - - -*** ../vim-7.2.052/src/workshop.c Tue Jun 24 23:34:50 2008 ---- src/workshop.c Thu Nov 27 22:31:27 2008 -*************** -*** 1121,1128 **** - ? (char *)curbuf->b_sfname : ""); - #endif - -! strcpy(ffname, (char *) curbuf->b_ffname); -! *filename = ffname; /* copy so nobody can change b_ffname */ - *curLine = curwin->w_cursor.lnum; - *curCol = curwin->w_cursor.col; - ---- 1121,1132 ---- - ? (char *)curbuf->b_sfname : ""); - #endif - -! if (curbuf->b_ffname == NULL) -! ffname[0] = NUL; -! else -! /* copy so nobody can change b_ffname */ -! strcpy(ffname, (char *) curbuf->b_ffname); -! *filename = ffname; - *curLine = curwin->w_cursor.lnum; - *curCol = curwin->w_cursor.col; - -*** ../vim-7.2.052/src/version.c Fri Nov 28 11:15:10 2008 ---- src/version.c Fri Nov 28 11:44:23 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 53, - /**/ - --- -What the word 'politics' means: 'Poli' in Latin meaning 'many' and 'tics' -meaning 'bloodsucking creatures'. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.054 --- a/components/vim/vim72-patches/7.2.054 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.054 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.054 -Problem: Compilation warnings for format in getchar.c. -Solution: Use fputs() instead of fprintf(). (Dominique Pelle) -Files: src/getchar.c - - -*** ../vim-7.2.053/src/getchar.c Tue Jul 22 18:58:23 2008 ---- src/getchar.c Thu Nov 27 22:38:24 2008 -*************** -*** 4702,4708 **** - return FAIL; - if (mp->m_noremap != REMAP_YES && fprintf(fd, "nore") < 0) - return FAIL; -! if (fprintf(fd, cmd) < 0) - return FAIL; - if (buf != NULL && fputs(" ", fd) < 0) - return FAIL; ---- 4702,4708 ---- - return FAIL; - if (mp->m_noremap != REMAP_YES && fprintf(fd, "nore") < 0) - return FAIL; -! if (fputs(cmd, fd) < 0) - return FAIL; - if (buf != NULL && fputs(" ", fd) < 0) - return FAIL; -*************** -*** 4801,4807 **** - } - if (IS_SPECIAL(c) || modifiers) /* special key */ - { -! if (fprintf(fd, (char *)get_special_key_name(c, modifiers)) < 0) - return FAIL; - continue; - } ---- 4801,4807 ---- - } - if (IS_SPECIAL(c) || modifiers) /* special key */ - { -! if (fputs((char *)get_special_key_name(c, modifiers), fd) < 0) - return FAIL; - continue; - } -*** ../vim-7.2.053/src/version.c Fri Nov 28 11:47:14 2008 ---- src/version.c Fri Nov 28 12:02:48 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 54, - /**/ - --- -Not too long ago, compress was something you did to garbage... - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.055 --- a/components/vim/vim72-patches/7.2.055 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1271 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.055 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.055 -Problem: Various compiler warnings with strict checking. -Solution: Avoid the warnings by using return values and renaming. -Files: src/diff.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, - src/fileio.c, src/fold.c, src/globals.h, src/gui.c, - src/gui_at_sb.c, src/gui_gtk_x11.c, src/gui_xmdlg.c, - src/gui_xmebw.c, src/main.c, src/mbyte.c, src/message.c, - src/netbeans.c, src/option.c, src/os_unix.c, src/spell.c, - src/ui.c, src/window.c - - -*** ../vim-7.2.054/src/diff.c Fri Jan 18 17:39:32 2008 ---- src/diff.c Fri Nov 28 17:23:35 2008 -*************** -*** 661,666 **** ---- 665,671 ---- - char_u *tmp_diff; - FILE *fd; - int ok; -+ int io_error = FALSE; - - /* Delete all diffblocks. */ - diff_clear(curtab); -*************** -*** 697,714 **** - { - ok = FALSE; - fd = mch_fopen((char *)tmp_orig, "w"); -! if (fd != NULL) - { -! fwrite("line1\n", (size_t)6, (size_t)1, fd); - fclose(fd); - fd = mch_fopen((char *)tmp_new, "w"); -! if (fd != NULL) - { -! fwrite("line2\n", (size_t)6, (size_t)1, fd); - fclose(fd); - diff_file(tmp_orig, tmp_new, tmp_diff); - fd = mch_fopen((char *)tmp_diff, "r"); -! if (fd != NULL) - { - char_u linebuf[LBUFLEN]; - ---- 702,727 ---- - { - ok = FALSE; - fd = mch_fopen((char *)tmp_orig, "w"); -! if (fd == NULL) -! io_error = TRUE; -! else - { -! if (fwrite("line1\n", (size_t)6, (size_t)1, fd) != 1) -! io_error = TRUE; - fclose(fd); - fd = mch_fopen((char *)tmp_new, "w"); -! if (fd == NULL) -! io_error = TRUE; -! else - { -! if (fwrite("line2\n", (size_t)6, (size_t)1, fd) != 1) -! io_error = TRUE; - fclose(fd); - diff_file(tmp_orig, tmp_new, tmp_diff); - fd = mch_fopen((char *)tmp_diff, "r"); -! if (fd == NULL) -! io_error = TRUE; -! else - { - char_u linebuf[LBUFLEN]; - -*************** -*** 761,766 **** ---- 774,781 ---- - } - if (!ok) - { -+ if (io_error) -+ EMSG(_("E810: Cannot read or write temp files")); - EMSG(_("E97: Cannot create diffs")); - diff_a_works = MAYBE; - #if defined(MSWIN) || defined(MSDOS) -*************** -*** 925,934 **** - { - # ifdef TEMPDIRNAMES - if (vim_tempdir != NULL) -! mch_chdir((char *)vim_tempdir); - else - # endif -! mch_chdir("/tmp"); - shorten_fnames(TRUE); - } - #endif ---- 940,949 ---- - { - # ifdef TEMPDIRNAMES - if (vim_tempdir != NULL) -! ignored = mch_chdir((char *)vim_tempdir); - else - # endif -! ignored = mch_chdir("/tmp"); - shorten_fnames(TRUE); - } - #endif -*** ../vim-7.2.054/src/eval.c Fri Nov 28 11:15:10 2008 ---- src/eval.c Fri Nov 28 12:23:13 2008 -*************** -*** 10641,10647 **** - # ifdef FEAT_WINDOWS - win_T *wp; - # endif -! int n = 1; - - if (row >= 0 && col >= 0) - { ---- 10641,10647 ---- - # ifdef FEAT_WINDOWS - win_T *wp; - # endif -! int winnr = 1; - - if (row >= 0 && col >= 0) - { -*************** -*** 10651,10659 **** - (void)mouse_comp_pos(win, &row, &col, &lnum); - # ifdef FEAT_WINDOWS - for (wp = firstwin; wp != win; wp = wp->w_next) -! ++n; - # endif -! vimvars[VV_MOUSE_WIN].vv_nr = n; - vimvars[VV_MOUSE_LNUM].vv_nr = lnum; - vimvars[VV_MOUSE_COL].vv_nr = col + 1; - } ---- 10651,10659 ---- - (void)mouse_comp_pos(win, &row, &col, &lnum); - # ifdef FEAT_WINDOWS - for (wp = firstwin; wp != win; wp = wp->w_next) -! ++winnr; - # endif -! vimvars[VV_MOUSE_WIN].vv_nr = winnr; - vimvars[VV_MOUSE_LNUM].vv_nr = lnum; - vimvars[VV_MOUSE_COL].vv_nr = col + 1; - } -*** ../vim-7.2.054/src/ex_cmds.c Sat Nov 15 14:10:23 2008 ---- src/ex_cmds.c Fri Nov 28 17:24:08 2008 -*************** -*** 1941,1947 **** - * root. - */ - if (fp_out != NULL) -! (void)fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid); - #endif - } - } ---- 1941,1947 ---- - * root. - */ - if (fp_out != NULL) -! ignored = fchown(fileno(fp_out), st_old.st_uid, st_old.st_gid); - #endif - } - } -*** ../vim-7.2.054/src/ex_docmd.c Sat Nov 15 14:10:23 2008 ---- src/ex_docmd.c Fri Nov 28 17:26:13 2008 -*************** -*** 8753,8760 **** - else if (*dirnow != NUL - && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) - { -! (void)mch_chdir((char *)globaldir); -! shorten_fnames(TRUE); - } - - failed |= (makeopens(fd, dirnow) == FAIL); ---- 8753,8760 ---- - else if (*dirnow != NUL - && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) - { -! if (mch_chdir((char *)globaldir) == OK) -! shorten_fnames(TRUE); - } - - failed |= (makeopens(fd, dirnow) == FAIL); -*** ../vim-7.2.054/src/fileio.c Wed Nov 12 16:04:43 2008 ---- src/fileio.c Fri Nov 28 17:35:54 2008 -*************** -*** 2214,2220 **** - { - /* Use stderr for stdin, makes shell commands work. */ - close(0); -! dup(2); - } - #endif - ---- 2214,2220 ---- - { - /* Use stderr for stdin, makes shell commands work. */ - close(0); -! ignored = dup(2); - } - #endif - -*************** -*** 3449,3455 **** - { - # ifdef UNIX - # ifdef HAVE_FCHOWN -! fchown(fd, st_old.st_uid, st_old.st_gid); - # endif - if (mch_stat((char *)IObuff, &st) < 0 - || st.st_uid != st_old.st_uid ---- 3449,3455 ---- - { - # ifdef UNIX - # ifdef HAVE_FCHOWN -! ignored = fchown(fd, st_old.st_uid, st_old.st_gid); - # endif - if (mch_stat((char *)IObuff, &st) < 0 - || st.st_uid != st_old.st_uid -*************** -*** 4365,4371 **** - || st.st_uid != st_old.st_uid - || st.st_gid != st_old.st_gid) - { -! fchown(fd, st_old.st_uid, st_old.st_gid); - if (perm >= 0) /* set permission again, may have changed */ - (void)mch_setperm(wfname, perm); - } ---- 4365,4371 ---- - || st.st_uid != st_old.st_uid - || st.st_gid != st_old.st_gid) - { -! ignored = fchown(fd, st_old.st_uid, st_old.st_gid); - if (perm >= 0) /* set permission again, may have changed */ - (void)mch_setperm(wfname, perm); - } -*************** -*** 6030,6038 **** - { - tbuf[FGETS_SIZE - 2] = NUL; - #ifdef USE_CR -! fgets_cr((char *)tbuf, FGETS_SIZE, fp); - #else -! fgets((char *)tbuf, FGETS_SIZE, fp); - #endif - } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n'); - } ---- 6030,6038 ---- - { - tbuf[FGETS_SIZE - 2] = NUL; - #ifdef USE_CR -! ignoredp = fgets_cr((char *)tbuf, FGETS_SIZE, fp); - #else -! ignoredp = fgets((char *)tbuf, FGETS_SIZE, fp); - #endif - } while (tbuf[FGETS_SIZE - 2] != NUL && tbuf[FGETS_SIZE - 2] != '\n'); - } -*** ../vim-7.2.054/src/fold.c Wed Aug 6 18:59:40 2008 ---- src/fold.c Fri Nov 28 12:24:16 2008 -*************** -*** 48,54 **** - static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp)); - static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum)); - static void checkupdate __ARGS((win_T *wp)); -! static void setFoldRepeat __ARGS((linenr_T lnum, long count, int open)); - static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep)); - static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep)); - static void foldOpenNested __ARGS((fold_T *fpr)); ---- 48,54 ---- - static int foldFind __ARGS((garray_T *gap, linenr_T lnum, fold_T **fpp)); - static int foldLevelWin __ARGS((win_T *wp, linenr_T lnum)); - static void checkupdate __ARGS((win_T *wp)); -! static void setFoldRepeat __ARGS((linenr_T lnum, long count, int do_open)); - static linenr_T setManualFold __ARGS((linenr_T lnum, int opening, int recurse, int *donep)); - static linenr_T setManualFoldWin __ARGS((win_T *wp, linenr_T lnum, int opening, int recurse, int *donep)); - static void foldOpenNested __ARGS((fold_T *fpr)); -*************** -*** 1241,1250 **** - * Repeat "count" times. - */ - static void -! setFoldRepeat(lnum, count, open) - linenr_T lnum; - long count; -! int open; - { - int done; - long n; ---- 1241,1250 ---- - * Repeat "count" times. - */ - static void -! setFoldRepeat(lnum, count, do_open) - linenr_T lnum; - long count; -! int do_open; - { - int done; - long n; -*************** -*** 1252,1258 **** - for (n = 0; n < count; ++n) - { - done = DONE_NOTHING; -! (void)setManualFold(lnum, open, FALSE, &done); - if (!(done & DONE_ACTION)) - { - /* Only give an error message when no fold could be opened. */ ---- 1252,1258 ---- - for (n = 0; n < count; ++n) - { - done = DONE_NOTHING; -! (void)setManualFold(lnum, do_open, FALSE, &done); - if (!(done & DONE_ACTION)) - { - /* Only give an error message when no fold could be opened. */ -*** ../vim-7.2.054/src/globals.h Thu Sep 18 21:29:07 2008 ---- src/globals.h Fri Nov 28 17:35:50 2008 -*************** -*** 1549,1554 **** ---- 1549,1562 ---- - EXTERN time_t starttime; - - /* -+ * Some compilers warn for not using a return value, but in some situations we -+ * can't do anything useful with the value. Assign to this variable to avoid -+ * the warning. -+ */ -+ EXTERN int ignored; -+ EXTERN char *ignoredp; -+ -+ /* - * Optional Farsi support. Include it here, so EXTERN and INIT are defined. - */ - #ifdef FEAT_FKMAP -*** ../vim-7.2.054/src/gui.c Wed Aug 6 14:37:26 2008 ---- src/gui.c Fri Nov 28 18:48:31 2008 -*************** -*** 139,145 **** - /* The read returns when the child closes the pipe (or when - * the child dies for some reason). */ - close(pipefd[1]); -! (void)read(pipefd[0], &dummy, (size_t)1); - close(pipefd[0]); - } - ---- 139,145 ---- - /* The read returns when the child closes the pipe (or when - * the child dies for some reason). */ - close(pipefd[1]); -! ignored = (int)read(pipefd[0], &dummy, (size_t)1); - close(pipefd[0]); - } - -*** ../vim-7.2.054/src/gui_at_sb.c Sun Jun 13 21:37:13 2004 ---- src/gui_at_sb.c Fri Nov 28 12:19:19 2008 -*************** -*** 1078,1083 **** ---- 1078,1089 ---- - Cardinal *num_params; /* unused */ - { - ScrollbarWidget sbw = (ScrollbarWidget)w; -+ /* Use a union to avoid a warning for the weird conversion from float to -+ * XtPointer. Comes from Xaw/Scrollbar.c. */ -+ union { -+ XtPointer xtp; -+ float xtf; -+ } xtpf; - - if (LookAhead(w, event)) - return; -*************** -*** 1085,1091 **** - /* thumbProc is not pretty, but is necessary for backwards - compatibility on those architectures for which it work{s,ed}; - the intent is to pass a (truncated) float by value. */ -! XtCallCallbacks(w, XtNthumbProc, *(XtPointer*)&sbw->scrollbar.top); - XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top); - } - ---- 1091,1098 ---- - /* thumbProc is not pretty, but is necessary for backwards - compatibility on those architectures for which it work{s,ed}; - the intent is to pass a (truncated) float by value. */ -! xtpf.xtf = sbw->scrollbar.top; -! XtCallCallbacks(w, XtNthumbProc, xtpf.xtp); - XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top); - } - -*** ../vim-7.2.054/src/gui_gtk_x11.c Tue Jul 8 12:46:08 2008 ---- src/gui_gtk_x11.c Fri Nov 28 21:06:38 2008 -*************** -*** 4070,4083 **** - - if (mask & (XValue | YValue)) - { -! int w, h; -! gui_mch_get_screen_dimensions(&w, &h); -! h += p_ghr + get_menu_tool_height(); -! w += get_menu_tool_width(); - if (mask & XNegative) -! x += w - pixel_width; - if (mask & YNegative) -! y += h - pixel_height; - #ifdef HAVE_GTK2 - gtk_window_move(GTK_WINDOW(gui.mainwin), x, y); - #else ---- 4070,4083 ---- - - if (mask & (XValue | YValue)) - { -! int ww, hh; -! gui_mch_get_screen_dimensions(&ww, &hh); -! hh += p_ghr + get_menu_tool_height(); -! ww += get_menu_tool_width(); - if (mask & XNegative) -! x += ww - pixel_width; - if (mask & YNegative) -! y += hh - pixel_height; - #ifdef HAVE_GTK2 - gtk_window_move(GTK_WINDOW(gui.mainwin), x, y); - #else -*** ../vim-7.2.054/src/gui_xmdlg.c Tue Jun 24 23:39:32 2008 ---- src/gui_xmdlg.c Fri Nov 28 21:04:08 2008 -*************** -*** 369,378 **** - char buf[TEMP_BUF_SIZE]; - XmString items[MAX_ENTRIES_IN_LIST]; - int i; -! int index; - -! for (index = (int)ENCODING; index < (int)NONE; ++index) -! count[index] = 0; - - /* First we insert the wild char into every single list. */ - if (fix != ENCODING) ---- 369,378 ---- - char buf[TEMP_BUF_SIZE]; - XmString items[MAX_ENTRIES_IN_LIST]; - int i; -! int idx; - -! for (idx = (int)ENCODING; idx < (int)NONE; ++idx) -! count[idx] = 0; - - /* First we insert the wild char into every single list. */ - if (fix != ENCODING) -*************** -*** 503,516 **** - /* - * Now loop trough the remaining lists and set them up. - */ -! for (index = (int)NAME; index < (int)NONE; ++index) - { - Widget w; - -! if (fix == (enum ListSpecifier)index) - continue; - -! switch ((enum ListSpecifier)index) - { - case NAME: - w = data->list[NAME]; ---- 503,516 ---- - /* - * Now loop trough the remaining lists and set them up. - */ -! for (idx = (int)NAME; idx < (int)NONE; ++idx) - { - Widget w; - -! if (fix == (enum ListSpecifier)idx) - continue; - -! switch ((enum ListSpecifier)idx) - { - case NAME: - w = data->list[NAME]; -*************** -*** 525,545 **** - w = (Widget)0; /* for lint */ - } - -! for (i = 0; i < count[index]; ++i) - { -! items[i] = XmStringCreateLocalized(list[index][i]); -! XtFree(list[index][i]); - } - XmListDeleteAllItems(w); -! XmListAddItems(w, items, count[index], 1); -! if (data->sel[index]) - { - XmStringFree(items[0]); -! items[0] = XmStringCreateLocalized(data->sel[index]); - XmListSelectItem(w, items[0], False); - XmListSetBottomItem(w, items[0]); - } -! for (i = 0; i < count[index]; ++i) - XmStringFree(items[i]); - } - } ---- 525,545 ---- - w = (Widget)0; /* for lint */ - } - -! for (i = 0; i < count[idx]; ++i) - { -! items[i] = XmStringCreateLocalized(list[idx][i]); -! XtFree(list[idx][i]); - } - XmListDeleteAllItems(w); -! XmListAddItems(w, items, count[idx], 1); -! if (data->sel[idx]) - { - XmStringFree(items[0]); -! items[0] = XmStringCreateLocalized(data->sel[idx]); - XmListSelectItem(w, items[0], False); - XmListSetBottomItem(w, items[0]); - } -! for (i = 0; i < count[idx]; ++i) - XmStringFree(items[i]); - } - } -*************** -*** 695,708 **** - int n; - XmString str; - Arg args[4]; -! char *msg = _("no specific match"); - - n = 0; -! str = XmStringCreateLocalized(msg); - XtSetArg(args[n], XmNlabelString, str); ++n; - XtSetValues(data->sample, args, n); - apply_fontlist(data->sample); -! XmTextSetString(data->name, msg); - XmStringFree(str); - - return False; ---- 695,708 ---- - int n; - XmString str; - Arg args[4]; -! char *nomatch_msg = _("no specific match"); - - n = 0; -! str = XmStringCreateLocalized(nomatch_msg); - XtSetArg(args[n], XmNlabelString, str); ++n; - XtSetValues(data->sample, args, n); - apply_fontlist(data->sample); -! XmTextSetString(data->name, nomatch_msg); - XmStringFree(str); - - return False; -*************** -*** 886,906 **** - { - int i; - int max; -! int index = 0; - int size; -! char str[128]; - - for (i = 0, max = 0; i < data->num; i++) - { -! get_part(fn(data, i), 7, str); -! size = atoi(str); - if ((size > max) && (size < MAX_DISPLAY_SIZE)) - { -! index = i; - max = size; - } - } -! strcpy(big_font, fn(data, index)); - } - data->old = XLoadQueryFont(XtDisplay(parent), big_font); - data->old_list = gui_motif_create_fontlist(data->old); ---- 886,906 ---- - { - int i; - int max; -! int idx = 0; - int size; -! char buf[128]; - - for (i = 0, max = 0; i < data->num; i++) - { -! get_part(fn(data, i), 7, buf); -! size = atoi(buf); - if ((size > max) && (size < MAX_DISPLAY_SIZE)) - { -! idx = i; - max = size; - } - } -! strcpy(big_font, fn(data, idx)); - } - data->old = XLoadQueryFont(XtDisplay(parent), big_font); - data->old_list = gui_motif_create_fontlist(data->old); -*************** -*** 1217,1244 **** - - if (i != 0) - { -! char name[TEMP_BUF_SIZE]; -! char style[TEMP_BUF_SIZE]; -! char size[TEMP_BUF_SIZE]; -! char encoding[TEMP_BUF_SIZE]; - char *found; - - found = names[0]; - -! name_part(found, name); -! style_part(found, style); -! size_part(found, size, data->in_pixels); -! encoding_part(found, encoding); -! -! if (strlen(name) > 0 -! && strlen(style) > 0 -! && strlen(size) > 0 -! && strlen(encoding) > 0) - { -! data->sel[NAME] = XtNewString(name); -! data->sel[STYLE] = XtNewString(style); -! data->sel[SIZE] = XtNewString(size); -! data->sel[ENCODING] = XtNewString(encoding); - data->font_name = XtNewString(names[0]); - display_sample(data); - XmTextSetString(data->name, data->font_name); ---- 1217,1244 ---- - - if (i != 0) - { -! char namebuf[TEMP_BUF_SIZE]; -! char stylebuf[TEMP_BUF_SIZE]; -! char sizebuf[TEMP_BUF_SIZE]; -! char encodingbuf[TEMP_BUF_SIZE]; - char *found; - - found = names[0]; - -! name_part(found, namebuf); -! style_part(found, stylebuf); -! size_part(found, sizebuf, data->in_pixels); -! encoding_part(found, encodingbuf); -! -! if (strlen(namebuf) > 0 -! && strlen(stylebuf) > 0 -! && strlen(sizebuf) > 0 -! && strlen(encodingbuf) > 0) - { -! data->sel[NAME] = XtNewString(namebuf); -! data->sel[STYLE] = XtNewString(stylebuf); -! data->sel[SIZE] = XtNewString(sizebuf); -! data->sel[ENCODING] = XtNewString(encodingbuf); - data->font_name = XtNewString(names[0]); - display_sample(data); - XmTextSetString(data->name, data->font_name); -*** ../vim-7.2.054/src/gui_xmebw.c Thu Nov 8 20:48:14 2007 ---- src/gui_xmebw.c Fri Nov 28 18:58:53 2008 -*************** -*** 1256,1262 **** - } - else - { -! int adjust = 0; - - #if !defined(LESSTIF_VERSION) && (XmVersion > 1002) - /* ---- 1256,1262 ---- - } - else - { -! adjust = 0; - - #if !defined(LESSTIF_VERSION) && (XmVersion > 1002) - /* -*************** -*** 1268,1279 **** - { - case XmEXTERNAL_HIGHLIGHT: - adjust = (eb->primitive.highlight_thickness - -! (eb->pushbutton.default_button_shadow_thickness ? -! Xm3D_ENHANCE_PIXEL : 0)); - break; - - case XmINTERNAL_HIGHLIGHT: -- adjust = 0; - break; - - default: ---- 1268,1278 ---- - { - case XmEXTERNAL_HIGHLIGHT: - adjust = (eb->primitive.highlight_thickness - -! (eb->pushbutton.default_button_shadow_thickness -! ? Xm3D_ENHANCE_PIXEL : 0)); - break; - - case XmINTERNAL_HIGHLIGHT: - break; - - default: -*** ../vim-7.2.054/src/main.c Thu Nov 20 14:11:47 2008 ---- src/main.c Fri Nov 28 18:32:48 2008 -*************** -*** 2372,2378 **** - * Is there any other system that cannot do this? - */ - close(0); -! dup(2); - #endif - } - ---- 2372,2378 ---- - * Is there any other system that cannot do this? - */ - close(0); -! ignored = dup(2); - #endif - } - -*** ../vim-7.2.054/src/mbyte.c Thu Nov 20 17:09:09 2008 ---- src/mbyte.c Fri Nov 28 18:44:05 2008 -*************** -*** 717,723 **** - * where mblen() returns 0 for invalid character. - * Therefore, following condition includes 0. - */ -! (void)mblen(NULL, 0); /* First reset the state. */ - if (mblen(buf, (size_t)1) <= 0) - n = 2; - else ---- 717,723 ---- - * where mblen() returns 0 for invalid character. - * Therefore, following condition includes 0. - */ -! ignored = mblen(NULL, 0); /* First reset the state. */ - if (mblen(buf, (size_t)1) <= 0) - n = 2; - else -*************** -*** 5278,5284 **** - - /*ARGSUSED*/ - static void -! preedit_start_cbproc(XIC xic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("xim_decide_input_style()\n"); ---- 5278,5284 ---- - - /*ARGSUSED*/ - static void -! preedit_start_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("xim_decide_input_style()\n"); -*************** -*** 5312,5318 **** - - /*ARGSUSED*/ - static void -! preedit_draw_cbproc(XIC xic, XPointer client_data, XPointer call_data) - { - XIMPreeditDrawCallbackStruct *draw_data; - XIMText *text; ---- 5312,5318 ---- - - /*ARGSUSED*/ - static void -! preedit_draw_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - XIMPreeditDrawCallbackStruct *draw_data; - XIMText *text; -*************** -*** 5453,5459 **** - - /*ARGSUSED*/ - static void -! preedit_caret_cbproc(XIC xic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_caret_cbproc()\n"); ---- 5453,5459 ---- - - /*ARGSUSED*/ - static void -! preedit_caret_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_caret_cbproc()\n"); -*************** -*** 5462,5468 **** - - /*ARGSUSED*/ - static void -! preedit_done_cbproc(XIC xic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_done_cbproc()\n"); ---- 5462,5468 ---- - - /*ARGSUSED*/ - static void -! preedit_done_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_done_cbproc()\n"); -*** ../vim-7.2.054/src/message.c Sun Jul 13 19:18:44 2008 ---- src/message.c Fri Nov 28 12:26:56 2008 -*************** -*** 4585,4645 **** - if (remove_trailing_zeroes) - { - int i; -! char *p; - - /* Using %g or %G: remove superfluous zeroes. */ - if (fmt_spec == 'f') -! p = tmp + str_arg_l - 1; - else - { -! p = (char *)vim_strchr((char_u *)tmp, - fmt_spec == 'e' ? 'e' : 'E'); -! if (p != NULL) - { - /* Remove superfluous '+' and leading - * zeroes from the exponent. */ -! if (p[1] == '+') - { - /* Change "1.0e+07" to "1.0e07" */ -! STRMOVE(p + 1, p + 2); - --str_arg_l; - } -! i = (p[1] == '-') ? 2 : 1; -! while (p[i] == '0') - { - /* Change "1.0e07" to "1.0e7" */ -! STRMOVE(p + i, p + i + 1); - --str_arg_l; - } -! --p; - } - } - -! if (p != NULL && !precision_specified) - /* Remove trailing zeroes, but keep the one - * just after a dot. */ -! while (p > tmp + 2 && *p == '0' && p[-1] != '.') - { -! STRMOVE(p, p + 1); -! --p; - --str_arg_l; - } - } - else - { -! char *p; - - /* Be consistent: some printf("%e") use 1.0e+12 - * and some 1.0e+012. Remove one zero in the last - * case. */ -! p = (char *)vim_strchr((char_u *)tmp, - fmt_spec == 'e' ? 'e' : 'E'); -! if (p != NULL && (p[1] == '+' || p[1] == '-') -! && p[2] == '0' -! && vim_isdigit(p[3]) -! && vim_isdigit(p[4])) - { -! STRMOVE(p + 2, p + 3); - --str_arg_l; - } - } ---- 4585,4646 ---- - if (remove_trailing_zeroes) - { - int i; -! char *tp; - - /* Using %g or %G: remove superfluous zeroes. */ - if (fmt_spec == 'f') -! tp = tmp + str_arg_l - 1; - else - { -! tp = (char *)vim_strchr((char_u *)tmp, - fmt_spec == 'e' ? 'e' : 'E'); -! if (tp != NULL) - { - /* Remove superfluous '+' and leading - * zeroes from the exponent. */ -! if (tp[1] == '+') - { - /* Change "1.0e+07" to "1.0e07" */ -! STRMOVE(tp + 1, tp + 2); - --str_arg_l; - } -! i = (tp[1] == '-') ? 2 : 1; -! while (tp[i] == '0') - { - /* Change "1.0e07" to "1.0e7" */ -! STRMOVE(tp + i, tp + i + 1); - --str_arg_l; - } -! --tp; - } - } - -! if (tp != NULL && !precision_specified) - /* Remove trailing zeroes, but keep the one - * just after a dot. */ -! while (tp > tmp + 2 && *tp == '0' -! && tp[-1] != '.') - { -! STRMOVE(tp, tp + 1); -! --tp; - --str_arg_l; - } - } - else - { -! char *tp; - - /* Be consistent: some printf("%e") use 1.0e+12 - * and some 1.0e+012. Remove one zero in the last - * case. */ -! tp = (char *)vim_strchr((char_u *)tmp, - fmt_spec == 'e' ? 'e' : 'E'); -! if (tp != NULL && (tp[1] == '+' || tp[1] == '-') -! && tp[2] == '0' -! && vim_isdigit(tp[3]) -! && vim_isdigit(tp[4])) - { -! STRMOVE(tp + 2, tp + 3); - --str_arg_l; - } - } -*** ../vim-7.2.054/src/netbeans.c Sat Nov 15 14:10:23 2008 ---- src/netbeans.c Fri Nov 28 18:51:43 2008 -*************** -*** 1043,1049 **** - nbdebug(("EVT: %s", buf)); - /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */ - if (sd >= 0) -! sock_write(sd, buf, (int)STRLEN(buf)); /* ignore errors */ - } - } - ---- 1043,1049 ---- - nbdebug(("EVT: %s", buf)); - /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */ - if (sd >= 0) -! ignored = sock_write(sd, buf, (int)STRLEN(buf)); - } - } - -*************** -*** 2277,2285 **** - int serNum; - int localTypeNum; - int typeNum; -- # ifdef NBDEBUG -- int len; -- # endif - pos_T *pos; - - if (buf == NULL || buf->bufp == NULL) ---- 2277,2282 ---- -*************** -*** 2303,2315 **** - pos = get_off_or_lnum(buf->bufp, &args); - - cp = (char *)args; -! # ifdef NBDEBUG -! len = -! # endif -! strtol(cp, &cp, 10); - args = (char_u *)cp; - # ifdef NBDEBUG -! if (len != -1) - { - nbdebug((" partial line annotation -- Not Yet Implemented!\n")); - } ---- 2300,2309 ---- - pos = get_off_or_lnum(buf->bufp, &args); - - cp = (char *)args; -! ignored = (int)strtol(cp, &cp, 10); - args = (char_u *)cp; - # ifdef NBDEBUG -! if (ignored != -1) - { - nbdebug((" partial line annotation -- Not Yet Implemented!\n")); - } -*** ../vim-7.2.054/src/option.c Sun Nov 9 13:43:25 2008 ---- src/option.c Fri Nov 28 12:27:34 2008 -*************** -*** 8232,8244 **** - { - if (number == 0 && string != NULL) - { -! int index; - - /* Either we are given a string or we are setting option - * to zero. */ -! for (index = 0; string[index] == '0'; ++index) - ; -! if (string[index] != NUL || index == 0) - { - /* There's another character after zeros or the string - * is empty. In both cases, we are trying to set a ---- 8232,8244 ---- - { - if (number == 0 && string != NULL) - { -! int idx; - - /* Either we are given a string or we are setting option - * to zero. */ -! for (idx = 0; string[idx] == '0'; ++idx) - ; -! if (string[idx] != NUL || idx == 0) - { - /* There's another character after zeros or the string - * is empty. In both cases, we are trying to set a -*** ../vim-7.2.054/src/os_unix.c Wed Nov 12 14:09:38 2008 ---- src/os_unix.c Fri Nov 28 18:39:55 2008 -*************** -*** 315,326 **** - {-1, "Unknown!", FALSE} - }; - - void - mch_write(s, len) - char_u *s; - int len; - { -! write(1, (char *)s, len); - if (p_wd) /* Unix is too fast, slow down a bit more */ - RealWaitForChar(read_cmd_fd, p_wd, NULL); - } ---- 315,329 ---- - {-1, "Unknown!", FALSE} - }; - -+ /* -+ * Write s[len] to the screen. -+ */ - void - mch_write(s, len) - char_u *s; - int len; - { -! ignored = (int)write(1, (char *)s, len); - if (p_wd) /* Unix is too fast, slow down a bit more */ - RealWaitForChar(read_cmd_fd, p_wd, NULL); - } -*************** -*** 3927,3935 **** - */ - if (fd >= 0) - { -! dup(fd); /* To replace stdin (file descriptor 0) */ -! dup(fd); /* To replace stdout (file descriptor 1) */ -! dup(fd); /* To replace stderr (file descriptor 2) */ - - /* Don't need this now that we've duplicated it */ - close(fd); ---- 3930,3938 ---- - */ - if (fd >= 0) - { -! ignored = dup(fd); /* To replace stdin (fd 0) */ -! ignored = dup(fd); /* To replace stdout (fd 1) */ -! ignored = dup(fd); /* To replace stderr (fd 2) */ - - /* Don't need this now that we've duplicated it */ - close(fd); -*************** -*** 3997,4009 **** - - /* set up stdin/stdout/stderr for the child */ - close(0); -! dup(pty_slave_fd); - close(1); -! dup(pty_slave_fd); - if (gui.in_use) - { - close(2); -! dup(pty_slave_fd); - } - - close(pty_slave_fd); /* has been dupped, close it now */ ---- 4000,4012 ---- - - /* set up stdin/stdout/stderr for the child */ - close(0); -! ignored = dup(pty_slave_fd); - close(1); -! ignored = dup(pty_slave_fd); - if (gui.in_use) - { - close(2); -! ignored = dup(pty_slave_fd); - } - - close(pty_slave_fd); /* has been dupped, close it now */ -*************** -*** 4014,4026 **** - /* set up stdin for the child */ - close(fd_toshell[1]); - close(0); -! dup(fd_toshell[0]); - close(fd_toshell[0]); - - /* set up stdout for the child */ - close(fd_fromshell[0]); - close(1); -! dup(fd_fromshell[1]); - close(fd_fromshell[1]); - - # ifdef FEAT_GUI ---- 4017,4029 ---- - /* set up stdin for the child */ - close(fd_toshell[1]); - close(0); -! ignored = dup(fd_toshell[0]); - close(fd_toshell[0]); - - /* set up stdout for the child */ - close(fd_fromshell[0]); - close(1); -! ignored = dup(fd_fromshell[1]); - close(fd_fromshell[1]); - - # ifdef FEAT_GUI -*************** -*** 4028,4034 **** - { - /* set up stderr for the child */ - close(2); -! dup(1); - } - # endif - } ---- 4031,4037 ---- - { - /* set up stderr for the child */ - close(2); -! ignored = dup(1); - } - # endif - } -*************** -*** 4159,4165 **** - && (lnum != - curbuf->b_ml.ml_line_count - || curbuf->b_p_eol))) -! write(toshell_fd, "\n", (size_t)1); - ++lnum; - if (lnum > curbuf->b_op_end.lnum) - { ---- 4162,4169 ---- - && (lnum != - curbuf->b_ml.ml_line_count - || curbuf->b_p_eol))) -! ignored = write(toshell_fd, "\n", -! (size_t)1); - ++lnum; - if (lnum > curbuf->b_op_end.lnum) - { -*** ../vim-7.2.054/src/spell.c Fri Nov 28 10:08:05 2008 ---- src/spell.c Fri Nov 28 12:28:24 2008 -*************** -*** 4950,4956 **** - static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd)); - static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname)); - static void clear_node __ARGS((wordnode_T *node)); -! static int put_node __ARGS((FILE *fd, wordnode_T *node, int index, int regionmask, int prefixtree)); - static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname)); - static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang)); - static int sug_maketable __ARGS((spellinfo_T *spin)); ---- 4950,4956 ---- - static void put_sugtime __ARGS((spellinfo_T *spin, FILE *fd)); - static int write_vim_spell __ARGS((spellinfo_T *spin, char_u *fname)); - static void clear_node __ARGS((wordnode_T *node)); -! static int put_node __ARGS((FILE *fd, wordnode_T *node, int idx, int regionmask, int prefixtree)); - static void spell_make_sugfile __ARGS((spellinfo_T *spin, char_u *wfname)); - static int sug_filltree __ARGS((spellinfo_T *spin, slang_T *slang)); - static int sug_maketable __ARGS((spellinfo_T *spin)); -*** ../vim-7.2.054/src/ui.c Sun Sep 14 15:57:54 2008 ---- src/ui.c Fri Nov 28 19:04:36 2008 -*************** -*** 1820,1826 **** - #ifdef HAVE_DUP - /* Use stderr for stdin, also works for shell commands. */ - close(0); -! dup(2); - #else - read_cmd_fd = 2; /* read from stderr instead of stdin */ - #endif ---- 1820,1826 ---- - #ifdef HAVE_DUP - /* Use stderr for stdin, also works for shell commands. */ - close(0); -! ignored = dup(2); - #else - read_cmd_fd = 2; /* read from stderr instead of stdin */ - #endif -*** ../vim-7.2.054/src/window.c Sat Nov 15 14:10:23 2008 ---- src/window.c Fri Nov 28 18:46:45 2008 -*************** -*** 4029,4042 **** - if (mch_dirname(cwd, MAXPATHL) == OK) - globaldir = vim_strsave(cwd); - } -! mch_chdir((char *)curwin->w_localdir); -! shorten_fnames(TRUE); - } - else if (globaldir != NULL) - { - /* Window doesn't have a local directory and we are not in the global - * directory: Change to the global directory. */ -! mch_chdir((char *)globaldir); - vim_free(globaldir); - globaldir = NULL; - shorten_fnames(TRUE); ---- 4029,4042 ---- - if (mch_dirname(cwd, MAXPATHL) == OK) - globaldir = vim_strsave(cwd); - } -! if (mch_chdir((char *)curwin->w_localdir) == 0) -! shorten_fnames(TRUE); - } - else if (globaldir != NULL) - { - /* Window doesn't have a local directory and we are not in the global - * directory: Change to the global directory. */ -! ignored = mch_chdir((char *)globaldir); - vim_free(globaldir); - globaldir = NULL; - shorten_fnames(TRUE); -*** ../vim-7.2.054/src/version.c Fri Nov 28 12:05:07 2008 ---- src/version.c Fri Nov 28 21:12:42 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 55, - /**/ - --- -PRINCE: He's come to rescue me, father. -LAUNCELOT: (embarrassed) Well, let's not jump to conclusions ... - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.056 --- a/components/vim/vim72-patches/7.2.056 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.056 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.056 (after 7.2.050) -Problem: Tests 58 and 59 fail. -Solution: Don't invoke fwrite() with a zero length. (Dominique Pelle) -Files: src/spell.c - - -*** ../vim-7.2.055/src/spell.c Fri Nov 28 21:26:50 2008 ---- src/spell.c Sat Nov 29 19:58:21 2008 -*************** -*** 8112,8118 **** - p = rr == 1 ? ftp->ft_from : ftp->ft_to; - l = (int)STRLEN(p); - putc(l, fd); -! fwv &= fwrite(p, l, (size_t)1, fd); - } - } - ---- 8218,8225 ---- - p = rr == 1 ? ftp->ft_from : ftp->ft_to; - l = (int)STRLEN(p); - putc(l, fd); -! if (l > 0) -! fwv &= fwrite(p, l, (size_t)1, fd); - } - } - -*** ../vim-7.2.055/src/version.c Fri Nov 28 21:26:50 2008 ---- src/version.c Sat Nov 29 20:10:05 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 56, - /**/ - --- -GUARD #1: Where'd you get the coconut? -ARTHUR: We found them. -GUARD #1: Found them? In Mercea? The coconut's tropical! -ARTHUR: What do you mean? -GUARD #1: Well, this is a temperate zone. - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.057 --- a/components/vim/vim72-patches/7.2.057 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.057 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.057 (after 7.2.056) -Problem: Combination of int and size_t may not work. -Solution: Use size_t for variable. -Files: src/spell.c - - -*** ../vim-7.2.056/src/spell.c Sat Nov 29 20:10:59 2008 ---- src/spell.c Sat Nov 29 20:15:43 2008 -*************** -*** 7926,7932 **** - char_u *p; - int rr; - int retval = OK; -! int fwv = 1; /* collect return value of fwrite() to avoid - warnings from picky compiler */ - - fd = mch_fopen((char *)fname, "w"); ---- 8028,8034 ---- - 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"); -*************** -*** 7939,7944 **** ---- 8041,8050 ---- - /*
: */ - /* */ - 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); /* */ - - /* -*************** -*** 8300,8310 **** - /* Write another byte to check for errors (file system full). */ - if (putc(0, fd) == EOF) - retval = FAIL; -! - if (fclose(fd) == EOF) - retval = FAIL; - -! if (fwv != 1) - retval = FAIL; - if (retval == FAIL) - EMSG(_(e_write)); ---- 8406,8416 ---- - /* 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)); -*************** -*** 9897,9903 **** - char_u *p; - int len; - int totlen; -! int x = 1; /* collect return value of fwrite() */ - - if (fd != NULL) - put_bytes(fd, (long_u)gap->ga_len, 2); /* */ ---- 10003,10009 ---- - 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); /* */ -*** ../vim-7.2.056/src/version.c Sat Nov 29 20:10:59 2008 ---- src/version.c Sat Nov 29 20:13:46 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 57, - /**/ - --- -GUARD #1: What -- a swallow carrying a coconut? -ARTHUR: It could grip it by the husk! -GUARD #1: It's not a question of where he grips it! It's a simple question - of weight ratios! A five ounce bird could not carry a 1 pound - coconut. - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.058 --- a/components/vim/vim72-patches/7.2.058 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.058 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.058 -Problem: Can't add a patch name to the ":version" output. -Solution: Add the extra_patches array. -Files: src/version.c - - -*** ../vim-7.2.057/src/version.c Sat Nov 29 20:18:44 2008 ---- src/version.c Sun Nov 30 12:12:31 2008 -*************** -*** 794,799 **** ---- 796,814 ---- - 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() - { -*************** -*** 939,944 **** ---- 954,972 ---- - } - } - -+ /* 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 ")); -*** ../vim-7.2.057/src/version.c Sat Nov 29 20:18:44 2008 ---- src/version.c Sun Nov 30 12:12:31 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 58, - /**/ - --- -ARTHUR: Well, it doesn't matter. Will you go and tell your master that - Arthur from the Court of Camelot is here. -GUARD #1: Listen, in order to maintain air-speed velocity, a swallow - needs to beat its wings 43 times every second, right? -ARTHUR: Please! - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.059 --- a/components/vim/vim72-patches/7.2.059 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.059 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.059 -Problem: Diff display is not always updated. -Solution: Update the display more often. -Files: src/diff.c - - -*** ../vim-7.2.058/src/diff.c Fri Nov 28 21:26:50 2008 ---- src/diff.c Fri Nov 28 17:23:35 2008 -*************** -*** 73,78 **** ---- 73,80 ---- - { - tp->tp_diffbuf[i] = NULL; - tp->tp_diff_invalid = TRUE; -+ if (tp == curtab) -+ diff_redraw(TRUE); - } - } - } -*************** -*** 102,107 **** ---- 104,110 ---- - { - curtab->tp_diffbuf[i] = NULL; - curtab->tp_diff_invalid = TRUE; -+ diff_redraw(TRUE); - } - } - } -*************** -*** 131,136 **** ---- 134,140 ---- - { - curtab->tp_diffbuf[i] = buf; - curtab->tp_diff_invalid = TRUE; -+ diff_redraw(TRUE); - return; - } - -*** ../vim-7.2.058/src/version.c Sun Nov 30 12:14:35 2008 ---- src/version.c Sun Nov 30 15:13:18 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 59, - /**/ - --- -GUARD #2: Wait a minute -- supposing two swallows carried it together? -GUARD #1: No, they'd have to have it on a line. -GUARD #2: Well, simple! They'd just use a standard creeper! -GUARD #1: What, held under the dorsal guiding feathers? -GUARD #2: Well, why not? - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.060 --- a/components/vim/vim72-patches/7.2.060 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1102 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.060 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.060 -Problem: When a spell files has many compound rules it may take a very long - time making the list of suggestions. Displaying also can be slow - when there are misspelled words. - Can't parse some Hunspell .aff files. -Solution: Check if a compounding can possibly work before trying a - combination, if the compound rules don't contain wildcards. - Implement using CHECKCOMPOUNDPATTERN. - Ignore COMPOUNDRULES. Ignore a comment after most items. - Accept ONLYINCOMPOUND as an alias for NEEDCOMPOUND. - Accept FORBIDDENWORD as an alias for BAD. -Files: runtime/doc/spell.txt, src/spell.c - - -*** ../vim-7.2.059/runtime/doc/spell.txt Sat Aug 9 19:36:52 2008 ---- runtime/doc/spell.txt Sun Nov 30 16:30:02 2008 -*************** -*** 1,4 **** -! *spell.txt* For Vim version 7.2. Last change: 2008 Jun 21 - - - VIM REFERENCE MANUAL by Bram Moolenaar ---- 1,4 ---- -! *spell.txt* For Vim version 7.2. Last change: 2008 Nov 30 - - - VIM REFERENCE MANUAL by Bram Moolenaar -*************** -*** 831,838 **** - - # comment line ~ - -! With some items it's also possible to put a comment after it, but this isn't -! supported in general. - - - ENCODING *spell-SET* ---- 831,841 ---- - - # comment line ~ - -! 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,970 **** ---- 968,976 ---- - - 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,1183 **** ---- 1185,1193 ---- - 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,1273 **** ---- 1278,1287 ---- - - 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,1333 **** ---- 1342,1361 ---- - 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,1501 **** ---- 1524,1533 ---- - 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,1520 **** - 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. - ---- 1544,1549 ---- -*************** -*** 1536,1548 **** - COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE* - Use COMPOUNDRULE instead. |spell-COMPOUNDRULE| - - COMPOUNDSYLLABLE (Hunspell) *spell-COMPOUNDSYLLABLE* - Use SYLLABLE and COMPOUNDSYLMAX instead. |spell-SYLLABLE| - |spell-COMPOUNDSYLMAX| - -! FORBIDDENWORD (Hunspell) *spell-FORBIDDENWORD* -! Use BAD instead. |spell-BAD| -! - LANG (Hunspell) *spell-LANG* - This specifies language-specific behavior. This actually - moves part of the language knowledge into the program, ---- 1565,1582 ---- - 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| - -! 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,1562 **** - Only needed for morphological analysis. - - MAXNGRAMSUGS (Hunspell) *spell-MAXNGRAMSUGS* -! Not supported. -! -! ONLYINCOMPOUND (Hunspell) *spell-ONLYINCOMPOUND* -! Use NEEDCOMPOUND instead. |spell-NEEDCOMPOUND| - - PSEUDOROOT (Hunspell) *spell-PSEUDOROOT* - Use NEEDAFFIX instead. |spell-NEEDAFFIX| ---- 1587,1593 ---- - Only needed for morphological analysis. - - MAXNGRAMSUGS (Hunspell) *spell-MAXNGRAMSUGS* -! Set number of n-gram suggestions. Not supported. - - PSEUDOROOT (Hunspell) *spell-PSEUDOROOT* - Use NEEDAFFIX instead. |spell-NEEDAFFIX| -*** ../vim-7.2.059/src/spell.c Sat Nov 29 20:18:44 2008 ---- src/spell.c Sun Nov 30 20:59:13 2008 -*************** -*** 469,474 **** ---- 469,475 ---- - 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 */ -*************** -*** 839,845 **** ---- 840,849 ---- - 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,1524 **** ---- 1523,1533 ---- - ((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,1582 **** ---- 1586,1596 ---- - 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,1732 **** ---- 1741,1779 ---- - } - - /* -+ * 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,1778 **** ---- 1820,1917 ---- - } - - /* -+ * 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,2521 **** ---- 2652,2662 ---- - 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,3465 **** ---- 3601,3607 ---- - char_u *pp; - char_u *cp; - char_u *ap; -+ char_u *crp; - int cnt; - garray_T *gap; - -*************** -*** 3545,3550 **** ---- 3687,3698 ---- - 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,3592 **** ---- 3735,3754 ---- - 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,3616 **** ---- 3773,3781 ---- - *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,4920 **** ---- 5080,5086 ---- - } 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)); -*************** -*** 5223,5230 **** - /* Handle non-empty lines. */ - if (itemcnt > 0) - { -! if (STRCMP(items[0], "SET") == 0 && itemcnt == 2 -! && aff->af_enc == NULL) - { - #ifdef FEAT_MBYTE - /* Setup for conversion from "ENC" to 'encoding'. */ ---- 5389,5395 ---- - /* Handle non-empty lines. */ - if (itemcnt > 0) - { -! if (is_aff_rule(items, itemcnt, "SET", 2) && aff->af_enc == NULL) - { - #ifdef FEAT_MBYTE - /* Setup for conversion from "ENC" to 'encoding'. */ -*************** -*** 5239,5245 **** - smsg((char_u *)_("Conversion in %s not supported"), fname); - #endif - } -! else if (STRCMP(items[0], "FLAG") == 0 && itemcnt == 2 - && aff->af_flagtype == AFT_CHAR) - { - if (STRCMP(items[1], "long") == 0) ---- 5404,5410 ---- - smsg((char_u *)_("Conversion in %s not supported"), fname); - #endif - } -! else if (is_aff_rule(items, itemcnt, "FLAG", 2) - && aff->af_flagtype == AFT_CHAR) - { - if (STRCMP(items[1], "long") == 0) -*************** -*** 5284,5352 **** - spin->si_info = p; - } - } -! else if (STRCMP(items[0], "MIDWORD") == 0 && itemcnt == 2 - && midword == NULL) - { - midword = getroom_save(spin, items[1]); - } -! else if (STRCMP(items[0], "TRY") == 0 && itemcnt == 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) - { - 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 - && 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) - { - aff->af_bad = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -! else if (STRCMP(items[0], "NEEDAFFIX") == 0 && itemcnt == 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 - && aff->af_circumfix == 0) - { - aff->af_circumfix = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -! else if (STRCMP(items[0], "NOSUGGEST") == 0 && itemcnt == 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 - && aff->af_needcomp == 0) - { - aff->af_needcomp = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -! else if (STRCMP(items[0], "COMPOUNDROOT") == 0 && itemcnt == 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) - { - aff->af_compforbid = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); ---- 5449,5519 ---- - spin->si_info = p; - } - } -! else if (is_aff_rule(items, itemcnt, "MIDWORD", 2) - && midword == NULL) - { - midword = getroom_save(spin, items[1]); - } -! 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 ((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 ((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 ((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 (is_aff_rule(items, itemcnt, "NEEDAFFIX", 2) - && aff->af_needaffix == 0) - { - aff->af_needaffix = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -! 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 (is_aff_rule(items, itemcnt, "NOSUGGEST", 2) - && aff->af_nosuggest == 0) - { - aff->af_nosuggest = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -! 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 (is_aff_rule(items, itemcnt, "COMPOUNDROOT", 2) - && aff->af_comproot == 0) - { - aff->af_comproot = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); - } -! 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,5361 **** - 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) - { - aff->af_comppermit = affitem2flag(aff->af_flagtype, items[1], - fname, lnum); ---- 5521,5528 ---- - smsg((char_u *)_("Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d"), - fname, lnum); - } -! 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,5369 **** - 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 - && compflags == NULL) - { - /* Turn flag "c" into COMPOUNDRULE compatible string "c+", ---- 5530,5536 ---- - smsg((char_u *)_("Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d"), - fname, lnum); - } -! else if (is_aff_rule(items, itemcnt, "COMPOUNDFLAG", 2) - && compflags == NULL) - { - /* Turn flag "c" into COMPOUNDRULE compatible string "c+", -*************** -*** 5376,5382 **** - compflags = p; - } - } -! else if (STRCMP(items[0], "COMPOUNDRULE") == 0 && itemcnt == 2) - { - /* Concatenate this string to previously defined ones, using a - * slash to separate them. */ ---- 5543,5557 ---- - compflags = p; - } - } -! 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,5401 **** - compflags = p; - } - } -! else if (STRCMP(items[0], "COMPOUNDWORDMAX") == 0 && itemcnt == 2 - && compmax == 0) - { - compmax = atoi((char *)items[1]); ---- 5570,5576 ---- - compflags = p; - } - } -! else if (is_aff_rule(items, itemcnt, "COMPOUNDWORDMAX", 2) - && compmax == 0) - { - compmax = atoi((char *)items[1]); -*************** -*** 5403,5409 **** - smsg((char_u *)_("Wrong COMPOUNDWORDMAX value in %s line %d: %s"), - fname, lnum, items[1]); - } -! else if (STRCMP(items[0], "COMPOUNDMIN") == 0 && itemcnt == 2 - && compminlen == 0) - { - compminlen = atoi((char *)items[1]); ---- 5578,5584 ---- - smsg((char_u *)_("Wrong COMPOUNDWORDMAX value in %s line %d: %s"), - fname, lnum, items[1]); - } -! else if (is_aff_rule(items, itemcnt, "COMPOUNDMIN", 2) - && compminlen == 0) - { - compminlen = atoi((char *)items[1]); -*************** -*** 5411,5417 **** - smsg((char_u *)_("Wrong COMPOUNDMIN value in %s line %d: %s"), - fname, lnum, items[1]); - } -! else if (STRCMP(items[0], "COMPOUNDSYLMAX") == 0 && itemcnt == 2 - && compsylmax == 0) - { - compsylmax = atoi((char *)items[1]); ---- 5586,5592 ---- - smsg((char_u *)_("Wrong COMPOUNDMIN value in %s line %d: %s"), - fname, lnum, items[1]); - } -! else if (is_aff_rule(items, itemcnt, "COMPOUNDSYLMAX", 2) - && compsylmax == 0) - { - compsylmax = atoi((char *)items[1]); -*************** -*** 5419,5450 **** - smsg((char_u *)_("Wrong COMPOUNDSYLMAX value in %s line %d: %s"), - fname, lnum, items[1]); - } -! else if (STRCMP(items[0], "CHECKCOMPOUNDDUP") == 0 && itemcnt == 1) - { - compoptions |= COMP_CHECKDUP; - } -! else if (STRCMP(items[0], "CHECKCOMPOUNDREP") == 0 && itemcnt == 1) - { - compoptions |= COMP_CHECKREP; - } -! else if (STRCMP(items[0], "CHECKCOMPOUNDCASE") == 0 && itemcnt == 1) - { - compoptions |= COMP_CHECKCASE; - } -! else if (STRCMP(items[0], "CHECKCOMPOUNDTRIPLE") == 0 -! && itemcnt == 1) - { - compoptions |= COMP_CHECKTRIPLE; - } -! else if (STRCMP(items[0], "CHECKCOMPOUNDPATTERN") == 0 -! && itemcnt == 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) - { - garray_T *gap = &spin->si_comppat; - int i; ---- 5594,5622 ---- - smsg((char_u *)_("Wrong COMPOUNDSYLMAX value in %s line %d: %s"), - fname, lnum, items[1]); - } -! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDDUP", 1)) - { - compoptions |= COMP_CHECKDUP; - } -! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDREP", 1)) - { - compoptions |= COMP_CHECKREP; - } -! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDCASE", 1)) - { - compoptions |= COMP_CHECKCASE; - } -! else if (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDTRIPLE", 1)) - { - compoptions |= COMP_CHECKTRIPLE; - } -! 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 (is_aff_rule(items, itemcnt, "CHECKCOMPOUNDPATTERN", 3)) - { - garray_T *gap = &spin->si_comppat; - int i; -*************** -*** 5463,5486 **** - = getroom_save(spin, items[2]); - } - } -! else if (STRCMP(items[0], "SYLLABLE") == 0 && itemcnt == 2 - && syllable == NULL) - { - syllable = getroom_save(spin, items[1]); - } -! else if (STRCMP(items[0], "NOBREAK") == 0 && itemcnt == 1) - { - spin->si_nobreak = TRUE; - } -! else if (STRCMP(items[0], "NOSPLITSUGS") == 0 && itemcnt == 1) - { - spin->si_nosplitsugs = TRUE; - } -! else if (STRCMP(items[0], "NOSUGFILE") == 0 && itemcnt == 1) - { - spin->si_nosugfile = TRUE; - } -! else if (STRCMP(items[0], "PFXPOSTPONE") == 0 && itemcnt == 1) - { - aff->af_pfxpostpone = TRUE; - } ---- 5635,5658 ---- - = getroom_save(spin, items[2]); - } - } -! else if (is_aff_rule(items, itemcnt, "SYLLABLE", 2) - && syllable == NULL) - { - syllable = getroom_save(spin, items[1]); - } -! else if (is_aff_rule(items, itemcnt, "NOBREAK", 1)) - { - spin->si_nobreak = TRUE; - } -! else if (is_aff_rule(items, itemcnt, "NOSPLITSUGS", 1)) - { - spin->si_nosplitsugs = TRUE; - } -! else if (is_aff_rule(items, itemcnt, "NOSUGFILE", 1)) - { - spin->si_nosugfile = TRUE; - } -! else if (is_aff_rule(items, itemcnt, "PFXPOSTPONE", 1)) - { - aff->af_pfxpostpone = TRUE; - } -*************** -*** 5771,5794 **** - } - } - } -! else if (STRCMP(items[0], "FOL") == 0 && itemcnt == 2 -! && fol == NULL) - { - fol = vim_strsave(items[1]); - } -! else if (STRCMP(items[0], "LOW") == 0 && itemcnt == 2 -! && low == NULL) - { - low = vim_strsave(items[1]); - } -! else if (STRCMP(items[0], "UPP") == 0 && itemcnt == 2 -! && upp == NULL) - { - upp = vim_strsave(items[1]); - } -! else if ((STRCMP(items[0], "REP") == 0 -! || STRCMP(items[0], "REPSAL") == 0) -! && itemcnt == 2) - { - /* Ignore REP/REPSAL count */; - if (!isdigit(*items[1])) ---- 5943,5962 ---- - } - } - } -! else if (is_aff_rule(items, itemcnt, "FOL", 2) && fol == NULL) - { - fol = vim_strsave(items[1]); - } -! else if (is_aff_rule(items, itemcnt, "LOW", 2) && low == NULL) - { - low = vim_strsave(items[1]); - } -! else if (is_aff_rule(items, itemcnt, "UPP", 2) && upp == NULL) - { - upp = vim_strsave(items[1]); - } -! 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,5825 **** - : &spin->si_rep, items[1], items[2]); - } - } -! else if (STRCMP(items[0], "MAP") == 0 && itemcnt == 2) - { - /* MAP item or count */ - if (!found_map) ---- 5987,5993 ---- - : &spin->si_rep, items[1], items[2]); - } - } -! else if (is_aff_rule(items, itemcnt, "MAP", 2)) - { - /* MAP item or count */ - if (!found_map) -*************** -*** 5856,5864 **** - 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] == '#'))) - { - if (do_sal) - { ---- 6024,6031 ---- - ga_append(&spin->si_map, '/'); - } - } -! /* Accept "SAL from to" and "SAL from to #comment". */ -! else if (is_aff_rule(items, itemcnt, "SAL", 3)) - { - if (do_sal) - { -*************** -*** 5877,5888 **** - : items[2]); - } - } -! else if (STRCMP(items[0], "SOFOFROM") == 0 && itemcnt == 2 - && sofofrom == NULL) - { - sofofrom = getroom_save(spin, items[1]); - } -! else if (STRCMP(items[0], "SOFOTO") == 0 && itemcnt == 2 - && sofoto == NULL) - { - sofoto = getroom_save(spin, items[1]); ---- 6044,6055 ---- - : items[2]); - } - } -! else if (is_aff_rule(items, itemcnt, "SOFOFROM", 2) - && sofofrom == NULL) - { - sofofrom = getroom_save(spin, items[1]); - } -! else if (is_aff_rule(items, itemcnt, "SOFOTO", 2) - && sofoto == NULL) - { - sofoto = getroom_save(spin, items[1]); -*************** -*** 6017,6022 **** ---- 6184,6205 ---- - } - - /* -+ * 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. - */ -*************** -*** 11492,11506 **** - 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. */ - compound_ok = FALSE; - - /* Get pointer to last char of previous word. */ - p = preword + sp->ts_prewordlen; - mb_ptr_back(preword, p); ---- 11675,11698 ---- - vim_strncpy(preword + sp->ts_prewordlen, - tword + sp->ts_splitoff, - sp->ts_twordlen - sp->ts_splitoff); -! -! /* 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); -*************** -*** 11697,11706 **** - && (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)))) - { - try_compound = TRUE; - compflags[sp->ts_complen] = ((unsigned)flags >> 24); ---- 11889,11897 ---- - && (slang->sl_compsylmax < MAXWLEN - || sp->ts_complen + 1 - sp->ts_compsplit - < slang->sl_compmax) -! && (can_be_compound(sp, slang, -! compflags, ((unsigned)flags >> 24)))) -! - { - try_compound = TRUE; - compflags[sp->ts_complen] = ((unsigned)flags >> 24); -*** ../vim-7.2.059/src/version.c Sun Nov 30 15:15:56 2008 ---- src/version.c Sun Nov 30 21:09:23 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 60, - /**/ - --- -DEAD PERSON: I'm getting better! -CUSTOMER: No, you're not -- you'll be stone dead in a moment. -MORTICIAN: Oh, I can't take him like that -- it's against regulations. - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.061 --- a/components/vim/vim72-patches/7.2.061 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.061 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.061 -Problem: Can't create a funcref for an autoload function without loading - the script first. (Marc Weber) -Solution: Accept autoload functions that don't exist yet in function(). -Files: src/eval.c - - -*** ../vim-7.2.060/src/eval.c Fri Nov 28 21:26:50 2008 ---- src/eval.c Sat Nov 29 12:28:51 2008 -*************** -*** 10339,10345 **** - s = get_tv_string(&argvars[0]); - if (s == NULL || *s == NUL || VIM_ISDIGIT(*s)) - EMSG2(_(e_invarg2), s); -! else if (!function_exists(s)) - EMSG2(_("E700: Unknown function: %s"), s); - else - { ---- 10339,10346 ---- - s = get_tv_string(&argvars[0]); - if (s == NULL || *s == NUL || VIM_ISDIGIT(*s)) - EMSG2(_(e_invarg2), 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 - { -*** ../vim-7.2.060/src/version.c Sun Nov 30 21:11:54 2008 ---- src/version.c Wed Dec 3 09:49:07 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 61, - /**/ - --- -There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU, -Linux, etc, and those who know COBOL. It gets very difficult for me at -parties, not knowing which group to socialise with :-) - Sitaram Chamarty - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.062 --- a/components/vim/vim72-patches/7.2.062 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.062 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.062 -Problem: "[Scratch]" is not translated. -Solution: Mark the string for translation. (Dominique Pelle) -Files: src/buffer.c - - -*** ../vim-7.2.061/src/buffer.c Sat Nov 15 16:05:30 2008 ---- src/buffer.c Tue Dec 2 21:51:02 2008 -*************** -*** 5118,5124 **** - { - if (buf->b_sfname != NULL) - return (char *)buf->b_sfname; -! return "[Scratch]"; - } - #endif - if (buf->b_fname == NULL) ---- 5118,5124 ---- - { - if (buf->b_sfname != NULL) - return (char *)buf->b_sfname; -! return _("[Scratch]"); - } - #endif - if (buf->b_fname == NULL) -*** ../vim-7.2.061/src/version.c Wed Dec 3 09:51:19 2008 ---- src/version.c Wed Dec 3 11:20:30 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 62, - /**/ - --- -DENNIS: Listen -- strange women lying in ponds distributing swords is no - basis for a system of government. Supreme executive power derives - from a mandate from the masses, not from some farcical aquatic - ceremony. - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.063 --- a/components/vim/vim72-patches/7.2.063 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.063 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.063 -Problem: Warning for NULL argument of Perl_sys_init3(). -Solution: Use Perl_sys_init() instead. (partly by Dominique Pelle) -Files: src/if_perl.xs - - -*** ../vim-7.2.062/src/if_perl.xs Mon Sep 1 17:56:05 2008 ---- src/if_perl.xs Wed Dec 3 12:44:38 2008 -*************** -*** 166,172 **** - # 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_term dll_Perl_sys_term - # define Perl_ISv_ptr dll_Perl_ISv_ptr - # define Perl_Istack_max_ptr dll_Perl_Istack_max_ptr ---- 166,172 ---- - # define Perl_Isv_yes_ptr dll_Perl_Isv_yes_ptr - # define boot_DynaLoader dll_boot_DynaLoader - -! # 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 -*************** -*** 272,278 **** - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) - static void (*Perl_sv_free2)(pTHX_ SV*); -! static void (*Perl_sys_init3)(int* argc, char*** argv, char*** env); - static void (*Perl_sys_term)(void); - static SV** (*Perl_ISv_ptr)(register PerlInterpreter*); - static SV*** (*Perl_Istack_max_ptr)(register PerlInterpreter*); ---- 272,278 ---- - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) - 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*); -*************** -*** 372,378 **** - {"Perl_Tna_ptr", (PERL_PROC*)&Perl_Tna_ptr}, - #else - {"Perl_sv_free2", (PERL_PROC*)&Perl_sv_free2}, -! {"Perl_sys_init3", (PERL_PROC*)&Perl_sys_init3}, - {"Perl_sys_term", (PERL_PROC*)&Perl_sys_term}, - {"Perl_ISv_ptr", (PERL_PROC*)&Perl_ISv_ptr}, - {"Perl_Istack_sp_ptr", (PERL_PROC*)&Perl_Istack_sp_ptr}, ---- 372,378 ---- - {"Perl_Tna_ptr", (PERL_PROC*)&Perl_Tna_ptr}, - #else - {"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}, -*************** -*** 460,466 **** - static char *argv[] = { "", "-e", "" }; - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -! Perl_sys_init3(&argc, (char***)&argv, NULL); - #endif - perl_interp = perl_alloc(); - perl_construct(perl_interp); ---- 460,466 ---- - static char *argv[] = { "", "-e", "" }; - - #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -! Perl_sys_init(&argc, (char***)&argv); - #endif - perl_interp = perl_alloc(); - perl_construct(perl_interp); -*** ../vim-7.2.062/src/version.c Wed Dec 3 11:21:20 2008 ---- src/version.c Wed Dec 3 12:42:50 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 63, - /**/ - --- -Windows -M!uqoms - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.064 --- a/components/vim/vim72-patches/7.2.064 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.064 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.064 -Problem: Screen update bug when repeating "~" on a Visual block and the - last line doesn't change. -Solution: Keep track of changes for all lines. (Moritz Orbach) -Files: src/ops.c - - -*** ../vim-7.2.063/src/ops.c Tue Jun 24 23:59:55 2008 ---- src/ops.c Wed Dec 3 13:12:06 2008 -*************** -*** 2209,2220 **** - { - for (; pos.lnum <= oap->end.lnum; ++pos.lnum) - { - block_prep(oap, &bd, pos.lnum, FALSE); - pos.col = bd.textcol; -! did_change = swapchars(oap->op_type, &pos, bd.textlen); - - # ifdef FEAT_NETBEANS_INTG -! if (usingNetbeans && did_change) - { - char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE); - ---- 2209,2223 ---- - { - for (; pos.lnum <= oap->end.lnum; ++pos.lnum) - { -+ int one_change; -+ - block_prep(oap, &bd, pos.lnum, FALSE); - pos.col = bd.textcol; -! one_change = swapchars(oap->op_type, &pos, bd.textlen); -! did_change |= one_change; - - # ifdef FEAT_NETBEANS_INTG -! if (usingNetbeans && one_change) - { - char_u *ptr = ml_get_buf(curbuf, pos.lnum, FALSE); - -*** ../vim-7.2.063/src/version.c Wed Dec 3 13:18:16 2008 ---- src/version.c Wed Dec 3 13:14:46 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 64, - /**/ - --- -Q: How many hardware engineers does it take to change a lightbulb? -A: None. We'll fix it in software. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.065 --- a/components/vim/vim72-patches/7.2.065 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.065 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.065 -Problem: GTK GUI: the cursor disappears when doing ":vsp" and the Vim - window is maximized. (Dominique Pelle, Denis Smolyar) -Solution: Don't change "Columns" back to an old value at a wrong moment. - Do change "Rows" when it should not be a problem. -Files: src/gui.c - - -*** ../vim-7.2.064/src/gui.c Fri Nov 28 21:26:50 2008 ---- src/gui.c Wed Dec 3 18:01:21 2008 -*************** -*** 3241,3247 **** - i = Rows; - gui_update_tabline(); - Rows = i; -! need_set_size = RESIZE_VERT; - if (using_tabline) - fix_size = TRUE; - if (!gui_use_tabline()) ---- 3241,3247 ---- - i = Rows; - gui_update_tabline(); - Rows = i; -! need_set_size |= RESIZE_VERT; - if (using_tabline) - fix_size = TRUE; - if (!gui_use_tabline()) -*************** -*** 3275,3283 **** - if (gui.which_scrollbars[i] != prev_which_scrollbars[i]) - { - if (i == SBAR_BOTTOM) -! need_set_size = RESIZE_VERT; - else -! need_set_size = RESIZE_HOR; - if (gui.which_scrollbars[i]) - fix_size = TRUE; - } ---- 3275,3283 ---- - if (gui.which_scrollbars[i] != prev_which_scrollbars[i]) - { - if (i == SBAR_BOTTOM) -! need_set_size |= RESIZE_VERT; - else -! need_set_size |= RESIZE_HOR; - if (gui.which_scrollbars[i]) - fix_size = TRUE; - } -*************** -*** 3297,3303 **** - gui_mch_enable_menu(gui.menu_is_active); - Rows = i; - prev_menu_is_active = gui.menu_is_active; -! need_set_size = RESIZE_VERT; - if (gui.menu_is_active) - fix_size = TRUE; - } ---- 3297,3303 ---- - gui_mch_enable_menu(gui.menu_is_active); - Rows = i; - prev_menu_is_active = gui.menu_is_active; -! need_set_size |= RESIZE_VERT; - if (gui.menu_is_active) - fix_size = TRUE; - } -*************** -*** 3308,3314 **** - { - gui_mch_show_toolbar(using_toolbar); - prev_toolbar = using_toolbar; -! need_set_size = RESIZE_VERT; - if (using_toolbar) - fix_size = TRUE; - } ---- 3308,3314 ---- - { - gui_mch_show_toolbar(using_toolbar); - prev_toolbar = using_toolbar; -! need_set_size |= RESIZE_VERT; - if (using_toolbar) - fix_size = TRUE; - } -*************** -*** 3318,3324 **** - { - gui_mch_enable_footer(using_footer); - prev_footer = using_footer; -! need_set_size = RESIZE_VERT; - if (using_footer) - fix_size = TRUE; - } ---- 3318,3324 ---- - { - gui_mch_enable_footer(using_footer); - prev_footer = using_footer; -! need_set_size |= RESIZE_VERT; - if (using_footer) - fix_size = TRUE; - } -*************** -*** 3330,3339 **** - prev_tearoff = using_tearoff; - } - #endif -! if (need_set_size) - { - #ifdef FEAT_GUI_GTK -! long c = Columns; - #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 ---- 3330,3340 ---- - prev_tearoff = using_tearoff; - } - #endif -! if (need_set_size != 0) - { - #ifdef FEAT_GUI_GTK -! 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,3359 **** - * 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) - (void)char_avail(); -! Columns = c; - #endif - } - #ifdef FEAT_WINDOWS ---- 3350,3363 ---- - * 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. -! * 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(); -! if ((need_set_size & RESIZE_VERT) == 0) -! Rows = prev_Rows; -! if ((need_set_size & RESIZE_HOR) == 0) -! Columns = prev_Columns; - #endif - } - #ifdef FEAT_WINDOWS -*** ../vim-7.2.064/src/version.c Wed Dec 3 13:38:00 2008 ---- src/version.c Wed Dec 3 18:47:11 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 65, - /**/ - --- -Seen on the back of a biker's vest: If you can read this, my wife fell off. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.066 --- a/components/vim/vim72-patches/7.2.066 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.066 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.066 -Problem: It's not easy to see whether 'encoding' is a multi-byte encoding. -Solution: Add has('multi_byte_encoding'). -Files: runtime/doc/eval.txt, src/eval.c - - -*** ../vim-7.2.065/runtime/doc/eval.txt Fri Nov 28 11:15:10 2008 ---- runtime/doc/eval.txt Tue Dec 9 10:55:59 2008 -*************** -*** 5841,5847 **** - mouse_pterm Compiled with support for qnx pterm mouse. - mouse_sysmouse Compiled with support for sysmouse (*BSD console mouse) - mouse_xterm Compiled with support for xterm mouse. -! multi_byte Compiled with support for editing Korean et al. - multi_byte_ime Compiled with support for IME input method. - multi_lang Compiled with support for multiple languages. - mzscheme Compiled with MzScheme interface |mzscheme|. ---- 5852,5859 ---- - mouse_pterm Compiled with support for qnx pterm mouse. - mouse_sysmouse Compiled with support for sysmouse (*BSD console mouse) - mouse_xterm Compiled with support for xterm mouse. -! multi_byte Compiled with support for 'encoding' -! multi_byte_encoding 'encoding' is set to a multi-byte encoding. - multi_byte_ime Compiled with support for IME input method. - multi_lang Compiled with support for multiple languages. - mzscheme Compiled with MzScheme interface |mzscheme|. -*** ../vim-7.2.065/src/eval.c Wed Dec 3 09:51:19 2008 ---- src/eval.c Wed Dec 3 14:29:09 2008 -*************** -*** 11842,11847 **** ---- 11842,11851 ---- - n = has_patch(atoi((char *)name + 5)); - else if (STRICMP(name, "vim_starting") == 0) - n = (starting != 0); -+ #ifdef FEAT_MBYTE -+ else if (STRICMP(name, "multi_byte_encoding") == 0) -+ n = has_mbyte; -+ #endif - #if defined(FEAT_BEVAL) && defined(FEAT_GUI_W32) - else if (STRICMP(name, "balloon_multiline") == 0) - n = multiline_balloon_available(); -*** ../vim-7.2.065/src/version.c Wed Dec 3 18:50:09 2008 ---- src/version.c Tue Dec 9 10:48:49 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 66, - /**/ - --- -ARTHUR: Listen, old crone! Unless you tell us where we can buy a shrubbery, - my friend and I will ... we will say "Ni!" -CRONE: Do your worst! - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.067 --- a/components/vim/vim72-patches/7.2.067 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.067 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.067 -Problem: Session file can't load extra file when the path contains special - characters. -Solution: Escape the file name. (Lech Lorens) -Files: src/ex_docmd.c - - -*** ../vim-7.2.066/src/ex_docmd.c Fri Nov 28 21:26:50 2008 ---- src/ex_docmd.c Fri Dec 5 21:34:11 2008 -*************** -*** 10106,10112 **** - */ - if (put_line(fd, "let s:sx = expand(\":p:r\").\"x.vim\"") == FAIL - || put_line(fd, "if file_readable(s:sx)") == FAIL -! || put_line(fd, " exe \"source \" . s:sx") == FAIL - || put_line(fd, "endif") == FAIL) - return FAIL; - ---- 10106,10112 ---- - */ - if (put_line(fd, "let s:sx = expand(\":p:r\").\"x.vim\"") == FAIL - || put_line(fd, "if file_readable(s:sx)") == FAIL -! || put_line(fd, " exe \"source \" . fnameescape(s:sx)") == FAIL - || put_line(fd, "endif") == FAIL) - return FAIL; - -*** ../vim-7.2.066/src/version.c Tue Dec 9 10:56:50 2008 ---- src/version.c Tue Dec 9 11:16:27 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 67, - /**/ - --- -Life is a gift, living is an art. (Bram Moolenaar) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.068 --- a/components/vim/vim72-patches/7.2.068 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.068 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.068 -Problem: Emacs tags file lines can be too long, resulting in an error - message. (James Vega) -Solution: Ignore lines with errors if they are too long. -Files: src/tag.c - - -*** ../vim-7.2.067/src/tag.c Fri Jul 18 11:26:12 2008 ---- src/tag.c Sat Dec 6 13:54:33 2008 -*************** -*** 2725,2731 **** ---- 2725,2748 ---- - */ - p_7f = vim_strchr(lbuf, 0x7f); - if (p_7f == NULL) -+ { -+ etag_fail: -+ if (vim_strchr(lbuf, '\n') == NULL) -+ { -+ /* Truncated line. Ignore it. */ -+ if (p_verbose >= 5) -+ { -+ verbose_enter(); -+ MSG(_("Ignoring long line in tags file")); -+ verbose_leave(); -+ } -+ tagp->command = lbuf; -+ tagp->tagname = lbuf; -+ tagp->tagname_end = lbuf; -+ return OK; -+ } - return FAIL; -+ } - - /* Find ^A. If not found the line number is after the 0x7f */ - p = vim_strchr(p_7f, Ctrl_A); -*************** -*** 2735,2741 **** - ++p; - - if (!VIM_ISDIGIT(*p)) /* check for start of line number */ -! return FAIL; - tagp->command = p; - - ---- 2752,2758 ---- - ++p; - - if (!VIM_ISDIGIT(*p)) /* check for start of line number */ -! goto etag_fail; - tagp->command = p; - - -*************** -*** 2749,2755 **** - /* find end of tagname */ - for (p = p_7f - 1; !vim_iswordc(*p); --p) - if (p == lbuf) -! return FAIL; - tagp->tagname_end = p + 1; - while (p >= lbuf && vim_iswordc(*p)) - --p; ---- 2766,2772 ---- - /* find end of tagname */ - for (p = p_7f - 1; !vim_iswordc(*p); --p) - if (p == lbuf) -! goto etag_fail; - tagp->tagname_end = p + 1; - while (p >= lbuf && vim_iswordc(*p)) - --p; -*** ../vim-7.2.067/src/version.c Tue Dec 9 11:17:23 2008 ---- src/version.c Tue Dec 9 12:05:41 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 68, - /**/ - --- -Q: What do you call a fish without an eye? -A: fsh! -Q: What do you call a deer with no eyes? -A: no eye deer. -Q: What do you call a deer with no eyes and no legs? -A: still no eye deer. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.069 --- a/components/vim/vim72-patches/7.2.069 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.069 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.069 (after 7.2.060) -Problem: Compiler warning for storing size_t in int. -Solution: Add type cast. -Files: src/spell.c - - -*** ../vim-7.2.068/src/spell.c Sun Nov 30 21:11:54 2008 ---- src/spell.c Tue Dec 9 22:19:04 2008 -*************** -*** 1765,1771 **** - /* 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; - } ---- 1765,1771 ---- - /* 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 = (int)STRLEN(p); - if (len <= wlen && STRNCMP(ptr + wlen - len, p, len) == 0) - return TRUE; - } -*** ../vim-7.2.068/src/version.c Tue Dec 9 12:12:31 2008 ---- src/version.c Tue Dec 9 22:21:15 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 69, - /**/ - --- -The war between Emacs and Vi is over. Vi has won with 3 to 1. - http://www.ssc.com/lg/issue30/raymond.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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.070 --- a/components/vim/vim72-patches/7.2.070 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,566 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.070 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.070 -Problem: Crash when a function returns a:000. (Matt Wozkiski) -Solution: Don't put the function struct on the stack, allocate it. Free it - only when nothing in it is used. -Files: src/eval.c - - -*** ../vim-7.2.069/src/eval.c Tue Dec 9 10:56:50 2008 ---- src/eval.c Wed Dec 17 21:32:26 2008 -*************** -*** 32,37 **** ---- 32,40 ---- - - #define DICT_MAXNEST 100 /* maximum nesting of lists and dicts */ - -+ #define DO_NOT_FREE_CNT 99999 /* refcount for dict or list that should not -+ be freed. */ -+ - /* - * In a hashtab item "hi_key" points to "di_key" in a dictitem. - * This avoids adding a pointer to the hashtab item. -*************** -*** 789,794 **** ---- 792,799 ---- - static void func_unref __ARGS((char_u *name)); - static void func_ref __ARGS((char_u *name)); - static void call_user_func __ARGS((ufunc_T *fp, int argcount, typval_T *argvars, typval_T *rettv, linenr_T firstline, linenr_T lastline, dict_T *selfdict)); -+ static int can_free_funccal __ARGS((funccall_T *fc, int copyID)) ; -+ static void free_funccal __ARGS((funccall_T *fc, int free_val)); - static void add_nr_var __ARGS((dict_T *dp, dictitem_T *v, char *name, varnumber_T nr)); - static win_T *find_win_by_nr __ARGS((typval_T *vp, tabpage_T *tp)); - static void getwinvar __ARGS((typval_T *argvars, typval_T *rettv, int off)); -*************** -*** 923,928 **** ---- 928,937 ---- - /* pointer to funccal for currently active function */ - funccall_T *current_funccal = NULL; - -+ /* pointer to list of previously used funccal, still around because some -+ * item in it is still being used. */ -+ funccall_T *previous_funccal = NULL; -+ - /* - * Return TRUE when a function was ended by a ":return" command. - */ -*************** -*** 6490,6496 **** - buf_T *buf; - win_T *wp; - int i; -! funccall_T *fc; - int did_free = FALSE; - #ifdef FEAT_WINDOWS - tabpage_T *tp; ---- 6499,6505 ---- - buf_T *buf; - win_T *wp; - int i; -! funccall_T *fc, **pfc; - int did_free = FALSE; - #ifdef FEAT_WINDOWS - tabpage_T *tp; -*************** -*** 6574,6579 **** ---- 6583,6602 ---- - else - ll = ll->lv_used_next; - -+ /* check if any funccal can be freed now */ -+ for (pfc = &previous_funccal; *pfc != NULL; ) -+ { -+ if (can_free_funccal(*pfc, copyID)) -+ { -+ fc = *pfc; -+ *pfc = fc->caller; -+ free_funccal(fc, TRUE); -+ did_free = TRUE; -+ } -+ else -+ pfc = &(*pfc)->caller; -+ } -+ - return did_free; - } - -*************** -*** 18962,18968 **** - dictitem_T *dict_var; - { - hash_init(&dict->dv_hashtab); -! dict->dv_refcount = 99999; - dict_var->di_tv.vval.v_dict = dict; - dict_var->di_tv.v_type = VAR_DICT; - dict_var->di_tv.v_lock = VAR_FIXED; ---- 18985,18991 ---- - dictitem_T *dict_var; - { - hash_init(&dict->dv_hashtab); -! dict->dv_refcount = DO_NOT_FREE_CNT; - dict_var->di_tv.vval.v_dict = dict; - dict_var->di_tv.v_type = VAR_DICT; - dict_var->di_tv.v_lock = VAR_FIXED; -*************** -*** 19299,19304 **** ---- 19322,19329 ---- - * Copy the values from typval_T "from" to typval_T "to". - * When needed allocates string or increases reference count. - * Does not make a copy of a list or dict but copies the reference! -+ * It is OK for "from" and "to" to point to the same item. This is used to -+ * make a copy later. - */ - static void - copy_tv(from, to) -*************** -*** 21111,21117 **** - char_u *save_sourcing_name; - linenr_T save_sourcing_lnum; - scid_T save_current_SID; -! funccall_T fc; - int save_did_emsg; - static int depth = 0; - dictitem_T *v; ---- 21136,21142 ---- - char_u *save_sourcing_name; - linenr_T save_sourcing_lnum; - scid_T save_current_SID; -! funccall_T *fc; - int save_did_emsg; - static int depth = 0; - dictitem_T *v; -*************** -*** 21137,21172 **** - - line_breakcheck(); /* check for CTRL-C hit */ - -! fc.caller = current_funccal; -! current_funccal = &fc; -! fc.func = fp; -! fc.rettv = rettv; - rettv->vval.v_number = 0; -! fc.linenr = 0; -! fc.returned = FALSE; -! fc.level = ex_nesting_level; - /* Check if this function has a breakpoint. */ -! fc.breakpoint = dbg_find_breakpoint(FALSE, fp->uf_name, (linenr_T)0); -! fc.dbg_tick = debug_tick; - - /* -! * Note about using fc.fixvar[]: This is an array of FIXVAR_CNT variables - * with names up to VAR_SHORT_LEN long. This avoids having to alloc/free - * each argument variable and saves a lot of time. - */ - /* - * Init l: variables. - */ -! init_var_dict(&fc.l_vars, &fc.l_vars_var); - if (selfdict != NULL) - { - /* Set l:self to "selfdict". Use "name" to avoid a warning from - * some compiler that checks the destination size. */ -! v = &fc.fixvar[fixvar_idx++].var; - name = v->di_key; - STRCPY(name, "self"); - v->di_flags = DI_FLAGS_RO + DI_FLAGS_FIX; -! hash_add(&fc.l_vars.dv_hashtab, DI2HIKEY(v)); - v->di_tv.v_type = VAR_DICT; - v->di_tv.v_lock = 0; - v->di_tv.vval.v_dict = selfdict; ---- 21162,21198 ---- - - line_breakcheck(); /* check for CTRL-C hit */ - -! fc = (funccall_T *)alloc(sizeof(funccall_T)); -! fc->caller = current_funccal; -! current_funccal = fc; -! fc->func = fp; -! fc->rettv = rettv; - rettv->vval.v_number = 0; -! fc->linenr = 0; -! fc->returned = FALSE; -! fc->level = ex_nesting_level; - /* Check if this function has a breakpoint. */ -! fc->breakpoint = dbg_find_breakpoint(FALSE, fp->uf_name, (linenr_T)0); -! fc->dbg_tick = debug_tick; - - /* -! * Note about using fc->fixvar[]: This is an array of FIXVAR_CNT variables - * with names up to VAR_SHORT_LEN long. This avoids having to alloc/free - * each argument variable and saves a lot of time. - */ - /* - * Init l: variables. - */ -! init_var_dict(&fc->l_vars, &fc->l_vars_var); - if (selfdict != NULL) - { - /* Set l:self to "selfdict". Use "name" to avoid a warning from - * some compiler that checks the destination size. */ -! v = &fc->fixvar[fixvar_idx++].var; - name = v->di_key; - STRCPY(name, "self"); - v->di_flags = DI_FLAGS_RO + DI_FLAGS_FIX; -! hash_add(&fc->l_vars.dv_hashtab, DI2HIKEY(v)); - v->di_tv.v_type = VAR_DICT; - v->di_tv.v_lock = 0; - v->di_tv.vval.v_dict = selfdict; -*************** -*** 21178,21208 **** - * Set a:0 to "argcount". - * Set a:000 to a list with room for the "..." arguments. - */ -! init_var_dict(&fc.l_avars, &fc.l_avars_var); -! add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "0", - (varnumber_T)(argcount - fp->uf_args.ga_len)); - /* Use "name" to avoid a warning from some compiler that checks the - * destination size. */ -! v = &fc.fixvar[fixvar_idx++].var; - name = v->di_key; - STRCPY(name, "000"); - v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; -! hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v)); - v->di_tv.v_type = VAR_LIST; - v->di_tv.v_lock = VAR_FIXED; -! v->di_tv.vval.v_list = &fc.l_varlist; -! vim_memset(&fc.l_varlist, 0, sizeof(list_T)); -! fc.l_varlist.lv_refcount = 99999; -! fc.l_varlist.lv_lock = VAR_FIXED; - - /* - * Set a:firstline to "firstline" and a:lastline to "lastline". - * Set a:name to named arguments. - * Set a:N to the "..." arguments. - */ -! add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "firstline", - (varnumber_T)firstline); -! add_nr_var(&fc.l_avars, &fc.fixvar[fixvar_idx++].var, "lastline", - (varnumber_T)lastline); - for (i = 0; i < argcount; ++i) - { ---- 21204,21234 ---- - * Set a:0 to "argcount". - * Set a:000 to a list with room for the "..." arguments. - */ -! init_var_dict(&fc->l_avars, &fc->l_avars_var); -! add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "0", - (varnumber_T)(argcount - fp->uf_args.ga_len)); - /* Use "name" to avoid a warning from some compiler that checks the - * destination size. */ -! v = &fc->fixvar[fixvar_idx++].var; - name = v->di_key; - STRCPY(name, "000"); - v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; -! hash_add(&fc->l_avars.dv_hashtab, DI2HIKEY(v)); - v->di_tv.v_type = VAR_LIST; - v->di_tv.v_lock = VAR_FIXED; -! v->di_tv.vval.v_list = &fc->l_varlist; -! vim_memset(&fc->l_varlist, 0, sizeof(list_T)); -! fc->l_varlist.lv_refcount = DO_NOT_FREE_CNT; -! fc->l_varlist.lv_lock = VAR_FIXED; - - /* - * Set a:firstline to "firstline" and a:lastline to "lastline". - * Set a:name to named arguments. - * Set a:N to the "..." arguments. - */ -! add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "firstline", - (varnumber_T)firstline); -! add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "lastline", - (varnumber_T)lastline); - for (i = 0; i < argcount; ++i) - { -*************** -*** 21218,21224 **** - } - if (fixvar_idx < FIXVAR_CNT && STRLEN(name) <= VAR_SHORT_LEN) - { -! v = &fc.fixvar[fixvar_idx++].var; - v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; - } - else ---- 21244,21250 ---- - } - if (fixvar_idx < FIXVAR_CNT && STRLEN(name) <= VAR_SHORT_LEN) - { -! v = &fc->fixvar[fixvar_idx++].var; - v->di_flags = DI_FLAGS_RO | DI_FLAGS_FIX; - } - else -*************** -*** 21230,21236 **** - v->di_flags = DI_FLAGS_RO; - } - STRCPY(v->di_key, name); -! hash_add(&fc.l_avars.dv_hashtab, DI2HIKEY(v)); - - /* Note: the values are copied directly to avoid alloc/free. - * "argvars" must have VAR_FIXED for v_lock. */ ---- 21256,21262 ---- - v->di_flags = DI_FLAGS_RO; - } - STRCPY(v->di_key, name); -! hash_add(&fc->l_avars.dv_hashtab, DI2HIKEY(v)); - - /* Note: the values are copied directly to avoid alloc/free. - * "argvars" must have VAR_FIXED for v_lock. */ -*************** -*** 21239,21247 **** - - if (ai >= 0 && ai < MAX_FUNC_ARGS) - { -! list_append(&fc.l_varlist, &fc.l_listitems[ai]); -! fc.l_listitems[ai].li_tv = argvars[i]; -! fc.l_listitems[ai].li_tv.v_lock = VAR_FIXED; - } - } - ---- 21265,21273 ---- - - if (ai >= 0 && ai < MAX_FUNC_ARGS) - { -! list_append(&fc->l_varlist, &fc->l_listitems[ai]); -! fc->l_listitems[ai].li_tv = argvars[i]; -! fc->l_listitems[ai].li_tv.v_lock = VAR_FIXED; - } - } - -*************** -*** 21306,21312 **** - if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL)) - func_do_profile(fp); - if (fp->uf_profiling -! || (fc.caller != NULL && fc.caller->func->uf_profiling)) - { - ++fp->uf_tm_count; - profile_start(&call_start); ---- 21332,21338 ---- - if (!fp->uf_profiling && has_profiling(FALSE, fp->uf_name, NULL)) - func_do_profile(fp); - if (fp->uf_profiling -! || (fc->caller != NULL && fc->caller->func->uf_profiling)) - { - ++fp->uf_tm_count; - profile_start(&call_start); -*************** -*** 21322,21328 **** - did_emsg = FALSE; - - /* call do_cmdline() to execute the lines */ -! do_cmdline(NULL, get_func_line, (void *)&fc, - DOCMD_NOWAIT|DOCMD_VERBOSE|DOCMD_REPEAT); - - --RedrawingDisabled; ---- 21348,21354 ---- - did_emsg = FALSE; - - /* call do_cmdline() to execute the lines */ -! do_cmdline(NULL, get_func_line, (void *)fc, - DOCMD_NOWAIT|DOCMD_VERBOSE|DOCMD_REPEAT); - - --RedrawingDisabled; -*************** -*** 21337,21352 **** - - #ifdef FEAT_PROFILE - if (do_profiling == PROF_YES && (fp->uf_profiling -! || (fc.caller != NULL && fc.caller->func->uf_profiling))) - { - profile_end(&call_start); - profile_sub_wait(&wait_start, &call_start); - profile_add(&fp->uf_tm_total, &call_start); - profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children); -! if (fc.caller != NULL && fc.caller->func->uf_profiling) - { -! profile_add(&fc.caller->func->uf_tm_children, &call_start); -! profile_add(&fc.caller->func->uf_tml_children, &call_start); - } - } - #endif ---- 21363,21378 ---- - - #ifdef FEAT_PROFILE - if (do_profiling == PROF_YES && (fp->uf_profiling -! || (fc->caller != NULL && fc->caller->func->uf_profiling))) - { - profile_end(&call_start); - profile_sub_wait(&wait_start, &call_start); - profile_add(&fp->uf_tm_total, &call_start); - profile_self(&fp->uf_tm_self, &call_start, &fp->uf_tm_children); -! if (fc->caller != NULL && fc->caller->func->uf_profiling) - { -! profile_add(&fc->caller->func->uf_tm_children, &call_start); -! profile_add(&fc->caller->func->uf_tml_children, &call_start); - } - } - #endif -*************** -*** 21359,21367 **** - - if (aborting()) - smsg((char_u *)_("%s aborted"), sourcing_name); -! else if (fc.rettv->v_type == VAR_NUMBER) - smsg((char_u *)_("%s returning #%ld"), sourcing_name, -! (long)fc.rettv->vval.v_number); - else - { - char_u buf[MSG_BUF_LEN]; ---- 21385,21393 ---- - - if (aborting()) - smsg((char_u *)_("%s aborted"), sourcing_name); -! else if (fc->rettv->v_type == VAR_NUMBER) - smsg((char_u *)_("%s returning #%ld"), sourcing_name, -! (long)fc->rettv->vval.v_number); - else - { - char_u buf[MSG_BUF_LEN]; -*************** -*** 21372,21378 **** - /* The value may be very long. Skip the middle part, so that we - * have some idea how it starts and ends. smsg() would always - * truncate it at the end. */ -! s = tv2string(fc.rettv, &tofree, numbuf2, 0); - if (s != NULL) - { - trunc_string(s, buf, MSG_BUF_CLEN); ---- 21398,21404 ---- - /* The value may be very long. Skip the middle part, so that we - * have some idea how it starts and ends. smsg() would always - * truncate it at the end. */ -! s = tv2string(fc->rettv, &tofree, numbuf2, 0); - if (s != NULL) - { - trunc_string(s, buf, MSG_BUF_CLEN); -*************** -*** 21408,21421 **** - } - - did_emsg |= save_did_emsg; -! current_funccal = fc.caller; - -! /* The a: variables typevals were not allocated, only free the allocated -! * variables. */ -! vars_clear_ext(&fc.l_avars.dv_hashtab, FALSE); - -! vars_clear(&fc.l_vars.dv_hashtab); /* free all l: variables */ -! --depth; - } - - /* ---- 21434,21517 ---- - } - - did_emsg |= save_did_emsg; -! current_funccal = fc->caller; -! --depth; - -! /* if the a:000 list and the a: dict are not referenced we can free the -! * funccall_T and what's in it. */ -! if (fc->l_varlist.lv_refcount == DO_NOT_FREE_CNT -! && fc->l_vars.dv_refcount == DO_NOT_FREE_CNT -! && fc->l_avars.dv_refcount == DO_NOT_FREE_CNT) -! { -! free_funccal(fc, FALSE); -! } -! else -! { -! hashitem_T *hi; -! listitem_T *li; -! int todo; - -! /* "fc" is still in use. This can happen when returning "a:000" or -! * assigning "l:" to a global variable. -! * Link "fc" in the list for garbage collection later. */ -! fc->caller = previous_funccal; -! previous_funccal = fc; -! -! /* Make a copy of the a: variables, since we didn't do that above. */ -! todo = (int)fc->l_avars.dv_hashtab.ht_used; -! for (hi = fc->l_avars.dv_hashtab.ht_array; todo > 0; ++hi) -! { -! if (!HASHITEM_EMPTY(hi)) -! { -! --todo; -! v = HI2DI(hi); -! copy_tv(&v->di_tv, &v->di_tv); -! } -! } -! -! /* Make a copy of the a:000 items, since we didn't do that above. */ -! for (li = fc->l_varlist.lv_first; li != NULL; li = li->li_next) -! copy_tv(&li->li_tv, &li->li_tv); -! } -! } -! -! /* -! * Return TRUE if items in "fc" do not have "copyID". That means they are not -! * referenced from anywyere. -! */ -! static int -! can_free_funccal(fc, copyID) -! funccall_T *fc; -! int copyID; -! { -! return (fc->l_varlist.lv_copyID != copyID -! && fc->l_vars.dv_copyID != copyID -! && fc->l_avars.dv_copyID != copyID); -! } -! -! /* -! * Free "fc" and what it contains. -! */ -! static void -! free_funccal(fc, free_val) -! funccall_T *fc; -! int free_val; /* a: vars were allocated */ -! { -! listitem_T *li; -! -! /* The a: variables typevals may not have been allocated, only free the -! * allocated variables. */ -! vars_clear_ext(&fc->l_avars.dv_hashtab, free_val); -! -! /* free all l: variables */ -! vars_clear(&fc->l_vars.dv_hashtab); -! -! /* Free the a:000 variables if they were allocated. */ -! if (free_val) -! for (li = fc->l_varlist.lv_first; li != NULL; li = li->li_next) -! clear_tv(&li->li_tv); -! -! vim_free(fc); - } - - /* -*** ../vim-7.2.069/src/version.c Tue Dec 9 22:34:02 2008 ---- src/version.c Sun Dec 21 12:47:07 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 70, - /**/ - --- -Close your shells, or I'll kill -9 you -Tomorrow I'll quota you -Remember the disks'll always be full -And then while I'm away -I'll write ~ everyday -And I'll send-pr all my buggings to you. - [ CVS log "Beatles style" for FreeBSD ports/INDEX, Satoshi Asami ] - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.073 --- a/components/vim/vim72-patches/7.2.073 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,135 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.073 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.073 -Problem: ":set " has the same output as ":set ". (Matt - Wozniski) -Solution: Don't translate "x" keys to its alternative for ":set". -Files: src/misc2.c, src/option.c, src/proto/misc2.pro - - -*** ../vim-7.2.072/src/misc2.c Wed Nov 12 13:07:48 2008 ---- src/misc2.c Sun Dec 14 12:28:47 2008 -*************** -*** 2561,2567 **** - int key; - int dlen = 0; - -! key = find_special_key(srcp, &modifiers, keycode); - if (key == 0) - return 0; - ---- 2561,2567 ---- - int key; - int dlen = 0; - -! key = find_special_key(srcp, &modifiers, keycode, FALSE); - if (key == 0) - return 0; - -*************** -*** 2597,2606 **** - * returns 0 if there is no match. - */ - int -! find_special_key(srcp, modp, keycode) - char_u **srcp; - int *modp; -! int keycode; /* prefer key code, e.g. K_DEL instead of DEL */ - { - char_u *last_dash; - char_u *end_of_name; ---- 2597,2607 ---- - * returns 0 if there is no match. - */ - int -! find_special_key(srcp, modp, keycode, keep_x_key) - char_u **srcp; - int *modp; -! int keycode; /* prefer key code, e.g. K_DEL instead of DEL */ -! int keep_x_key; /* don't translate xHome to Home key */ - { - char_u *last_dash; - char_u *end_of_name; -*************** -*** 2668,2674 **** - else - { - key = get_special_key_code(last_dash + 1); -! key = handle_x_keys(key); - } - - /* ---- 2669,2676 ---- - else - { - key = get_special_key_code(last_dash + 1); -! if (!keep_x_key) -! key = handle_x_keys(key); - } - - /* -*** ../vim-7.2.072/src/option.c Fri Nov 28 21:26:50 2008 ---- src/option.c Sun Dec 14 12:28:56 2008 -*************** -*** 8328,8334 **** - { - --arg; /* put arg at the '<' */ - modifiers = 0; -! key = find_special_key(&arg, &modifiers, TRUE); - if (modifiers) /* can't handle modifiers here */ - key = 0; - } ---- 8328,8334 ---- - { - --arg; /* put arg at the '<' */ - modifiers = 0; -! key = find_special_key(&arg, &modifiers, TRUE, TRUE); - if (modifiers) /* can't handle modifiers here */ - key = 0; - } -*** ../vim-7.2.072/src/proto/misc2.pro Thu Jul 24 20:29:37 2008 ---- src/proto/misc2.pro Sun Dec 14 12:29:05 2008 -*************** -*** 59,65 **** - int handle_x_keys __ARGS((int key)); - char_u *get_special_key_name __ARGS((int c, int modifiers)); - int trans_special __ARGS((char_u **srcp, char_u *dst, int keycode)); -! int find_special_key __ARGS((char_u **srcp, int *modp, int keycode)); - int extract_modifiers __ARGS((int key, int *modp)); - int find_special_key_in_table __ARGS((int c)); - int get_special_key_code __ARGS((char_u *name)); ---- 59,65 ---- - int handle_x_keys __ARGS((int key)); - char_u *get_special_key_name __ARGS((int c, int modifiers)); - int trans_special __ARGS((char_u **srcp, char_u *dst, int keycode)); -! int find_special_key __ARGS((char_u **srcp, int *modp, int keycode, int keep_x_key)); - int extract_modifiers __ARGS((int key, int *modp)); - int find_special_key_in_table __ARGS((int c)); - int get_special_key_code __ARGS((char_u *name)); -*** ../vim-7.2.072/src/version.c Wed Dec 24 12:43:15 2008 ---- src/version.c Wed Dec 24 12:51:26 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 73, - /**/ - - --- -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/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.075 --- a/components/vim/vim72-patches/7.2.075 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.075 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.075 (after 7.2.058) -Problem: Explanation about making a diff for extra_patches is unclear. -Solution: Adjust comment. -Files: src/version.c - - -*** ../vim-7.2.074/src/version.c Wed Dec 24 13:04:41 2008 ---- src/version.c Wed Dec 24 13:07:47 2008 -*************** -*** 833,839 **** - * 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 */ ---- 835,841 ---- - * 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. Create it by hand or use "diff -C2" and edit the patch. - */ - static char *(extra_patches[]) = - { /* Add your patch description below this line */ -*** ../vim-7.2.074/src/version.c Wed Dec 24 13:04:41 2008 ---- src/version.c Wed Dec 24 13:07:47 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 75, - /**/ - --- -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/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.076 --- a/components/vim/vim72-patches/7.2.076 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.076 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.076 -Problem: rename(from, to) deletes the file if "from" and "to" are not equal - but still refer to the same file. E.g., on a FAT32 filesystem - under Unix. -Solution: Go through another file name. -Files: src/fileio.c - - -*** ../vim-7.2.075/src/fileio.c Fri Nov 28 21:26:50 2008 ---- src/fileio.c Tue Dec 30 16:04:44 2008 -*************** -*** 6119,6124 **** ---- 6119,6165 ---- - if (mch_stat((char *)from, &st) < 0) - return -1; - -+ #ifdef UNIX -+ { -+ struct stat st_to; -+ char tempname[MAXPATHL + 1]; -+ -+ /* It's possible for the source and destination to be the same file. -+ * This happens when "from" and "to" differ in case and are on a FAT32 -+ * filesystem. In that case go through a temp file name. */ -+ if (mch_stat((char *)to, &st_to) >= 0 -+ && st.st_dev == st_to.st_dev -+ && st.st_ino == st_to.st_ino) -+ { -+ /* Find a name that doesn't exist and is in the same directory. -+ * Move "from" to "tempname" and then to "to". */ -+ if (STRLEN(from) >= MAXPATHL - 5) -+ return -1; -+ STRCPY(tempname, from); -+ for (n = 123; n < 99999; ++n) -+ { -+ sprintf(gettail(tempname), "%d", n); -+ if (mch_stat(tempname, &st_to) < 0) -+ { -+ if (mch_rename((char *)from, tempname) == 0) -+ { -+ if (mch_rename(tempname, (char *)to) == 0) -+ return 0; -+ /* Strange, the second step failed. Try moving the -+ * file back and return failure. */ -+ mch_rename(tempname, (char *)from); -+ return -1; -+ } -+ /* If it fails for one temp name it will most likely fail -+ * for any temp name, give up. */ -+ return -1; -+ } -+ } -+ return -1; -+ } -+ } -+ #endif -+ - /* - * Delete the "to" file, this is required on some systems to make the - * mch_rename() work, on other systems it makes sure that we don't have -*** ../vim-7.2.075/src/version.c Wed Dec 24 14:24:41 2008 ---- src/version.c Tue Dec 30 16:09:51 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 76, - /**/ - --- -FATAL ERROR! SYSTEM HALTED! - Press any key to continue doing nothing. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.077 --- a/components/vim/vim72-patches/7.2.077 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,164 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.077 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.077 (after 7.2.076) -Problem: rename(from, to) doesn't work if "from" and "to" differ only in - case on a system that ignores case in file names. -Solution: Go through another file name. -Files: src/fileio.c - - -*** ../vim-7.2.076/src/fileio.c Tue Dec 30 16:15:16 2008 ---- src/fileio.c Wed Dec 31 14:59:59 2008 -*************** -*** 6106,6117 **** - #ifdef HAVE_ACL - vim_acl_T acl; /* ACL from original file */ - #endif - - /* -! * When the names are identical, there is nothing to do. - */ - if (fnamecmp(from, to) == 0) -! return 0; - - /* - * Fail if the "from" file doesn't exist. Avoids that "to" is deleted. ---- 6106,6129 ---- - #ifdef HAVE_ACL - vim_acl_T acl; /* ACL from original file */ - #endif -+ #if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME) -+ int use_tmp_file = FALSE; -+ #endif - - /* -! * When the names are identical, there is nothing to do. When they refer -! * to the same file (ignoring case and slash/backslash differences) but -! * the file name differs we need to go through a temp file. - */ - if (fnamecmp(from, to) == 0) -! { -! #ifdef CASE_INSENSITIVE_FILENAME -! if (STRCMP(gettail(from), gettail(to)) != 0) -! use_tmp_file = TRUE; -! else -! #endif -! return 0; -! } - - /* - * Fail if the "from" file doesn't exist. Avoids that "to" is deleted. -*************** -*** 6122,6128 **** - #ifdef UNIX - { - struct stat st_to; -- char tempname[MAXPATHL + 1]; - - /* It's possible for the source and destination to be the same file. - * This happens when "from" and "to" differ in case and are on a FAT32 ---- 6134,6139 ---- -*************** -*** 6130,6162 **** - if (mch_stat((char *)to, &st_to) >= 0 - && st.st_dev == st_to.st_dev - && st.st_ino == st_to.st_ino) - { -! /* Find a name that doesn't exist and is in the same directory. -! * Move "from" to "tempname" and then to "to". */ -! if (STRLEN(from) >= MAXPATHL - 5) -! return -1; -! STRCPY(tempname, from); -! for (n = 123; n < 99999; ++n) - { -! sprintf(gettail(tempname), "%d", n); -! if (mch_stat(tempname, &st_to) < 0) - { -! if (mch_rename((char *)from, tempname) == 0) -! { -! if (mch_rename(tempname, (char *)to) == 0) -! return 0; -! /* Strange, the second step failed. Try moving the -! * file back and return failure. */ -! mch_rename(tempname, (char *)from); -! return -1; -! } -! /* If it fails for one temp name it will most likely fail -! * for any temp name, give up. */ - return -1; - } - } -- return -1; - } - } - #endif - ---- 6141,6182 ---- - if (mch_stat((char *)to, &st_to) >= 0 - && st.st_dev == st_to.st_dev - && st.st_ino == st_to.st_ino) -+ use_tmp_file = TRUE; -+ } -+ #endif -+ -+ #if defined(UNIX) || defined(CASE_INSENSITIVE_FILENAME) -+ if (use_tmp_file) -+ { -+ char tempname[MAXPATHL + 1]; -+ -+ /* -+ * Find a name that doesn't exist and is in the same directory. -+ * Rename "from" to "tempname" and then rename "tempname" to "to". -+ */ -+ if (STRLEN(from) >= MAXPATHL - 5) -+ return -1; -+ STRCPY(tempname, from); -+ for (n = 123; n < 99999; ++n) - { -! sprintf((char *)gettail((char_u *)tempname), "%d", n); -! if (mch_stat(tempname, &st) < 0) - { -! if (mch_rename((char *)from, tempname) == 0) - { -! if (mch_rename(tempname, (char *)to) == 0) -! return 0; -! /* Strange, the second step failed. Try moving the -! * file back and return failure. */ -! mch_rename(tempname, (char *)from); - return -1; - } -+ /* If it fails for one temp name it will most likely fail -+ * for any temp name, give up. */ -+ return -1; - } - } -+ return -1; - } - #endif - -*** ../vim-7.2.076/src/version.c Tue Dec 30 16:15:16 2008 ---- src/version.c Wed Dec 31 16:19:29 2008 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 77, - /**/ - --- -We apologise again for the fault in the subtitles. Those responsible for -sacking the people who have just been sacked have been sacked. - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.078 --- a/components/vim/vim72-patches/7.2.078 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.078 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.078 -Problem: When deleting a fold that is specified with markers the cursor - position may be wrong. Folds may not be displayed properly after - a delete. Wrong fold may be deleted. -Solution: Fix the problems. (mostly by Lech Lorens) -Files: src/fold.c - - -*** ../vim-7.2.077/src/fold.c Fri Nov 28 21:26:50 2008 ---- src/fold.c Tue Jan 6 14:53:26 2009 -*************** -*** 740,746 **** - garray_T *found_ga; - fold_T *found_fp = NULL; - linenr_T found_off = 0; -! int use_level = FALSE; - int maybe_small = FALSE; - int level = 0; - linenr_T lnum = start; ---- 740,746 ---- - garray_T *found_ga; - fold_T *found_fp = NULL; - linenr_T found_off = 0; -! int use_level; - int maybe_small = FALSE; - int level = 0; - linenr_T lnum = start; -*************** -*** 757,762 **** ---- 757,763 ---- - gap = &curwin->w_folds; - found_ga = NULL; - lnum_off = 0; -+ use_level = FALSE; - for (;;) - { - if (!foldFind(gap, lnum - lnum_off, &fp)) -*************** -*** 783,802 **** - else - { - lnum = found_fp->fd_top + found_fp->fd_len + found_off; -- did_one = TRUE; - - if (foldmethodIsManual(curwin)) - deleteFoldEntry(found_ga, - (int)(found_fp - (fold_T *)found_ga->ga_data), recursive); - else - { -! if (found_fp->fd_top + found_off < first_lnum) -! first_lnum = found_fp->fd_top; -! if (lnum > last_lnum) - last_lnum = lnum; -! parseMarker(curwin); - deleteFoldMarkers(found_fp, recursive, found_off); - } - - /* redraw window */ - changed_window_setting(); ---- 784,804 ---- - else - { - lnum = found_fp->fd_top + found_fp->fd_len + found_off; - - if (foldmethodIsManual(curwin)) - deleteFoldEntry(found_ga, - (int)(found_fp - (fold_T *)found_ga->ga_data), recursive); - else - { -! if (first_lnum > found_fp->fd_top + found_off) -! first_lnum = found_fp->fd_top + found_off; -! if (last_lnum < lnum) - last_lnum = lnum; -! if (!did_one) -! parseMarker(curwin); - deleteFoldMarkers(found_fp, recursive, found_off); - } -+ did_one = TRUE; - - /* redraw window */ - changed_window_setting(); -*************** -*** 811,816 **** ---- 813,822 ---- - redraw_curbuf_later(INVERTED); - #endif - } -+ else -+ /* Deleting markers may make cursor column invalid. */ -+ check_cursor_col(); -+ - if (last_lnum > 0) - changed_lines(first_lnum, (colnr_T)0, last_lnum, 0L); - } -*** ../vim-7.2.077/src/version.c Wed Dec 31 16:20:54 2008 ---- src/version.c Tue Jan 6 15:00:36 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 78, - /**/ - --- -Looking at Perl through Lisp glasses, Perl looks atrocious. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.079 --- a/components/vim/vim72-patches/7.2.079 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,229 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.079 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.079 -Problem: "killed" netbeans events are not handled correctly. -Solution: A "killed" netbeans event is sent when the buffer is deleted or - wiped out (in this case, the netbeans annotations in this buffer - have been removed). A user can still remove a sign with the - command ":sign unplace" and this does not trigger a "killed" - event. (Xavier de Gaye) -Files: runtime/doc/netbeans.txt, src/buffer.c, src/globals.h, - src/netbeans.c, src/proto/netbeans.pro - - -*** ../vim-7.2.078/runtime/doc/netbeans.txt Sat Aug 9 19:36:49 2008 ---- runtime/doc/netbeans.txt Tue Jan 6 15:23:39 2009 -*************** -*** 1,4 **** -! *netbeans.txt* For Vim version 7.2. Last change: 2008 Jun 28 - - - VIM REFERENCE MANUAL by Gordon Prieur et al. ---- 1,4 ---- -! *netbeans.txt* For Vim version 7.2. Last change: 2009 Jan 06 - - - VIM REFERENCE MANUAL by Gordon Prieur et al. -*************** -*** 722,729 **** - of the cursor. - New in version 2.1. - -! killed A file was closed by the user. Only for files that have been -! assigned a number by the IDE. - - newDotAndMark off off - Reports the position of the cursor being at "off" bytes into ---- 722,731 ---- - of the cursor. - New in version 2.1. - -! killed A file was deleted or wiped out by the user and the buffer -! annotations have been removed. The bufID number for this -! buffer has become invalid. Only for files that have been -! assigned a bufID number by the IDE. - - newDotAndMark off off - Reports the position of the cursor being at "off" bytes into -*** ../vim-7.2.078/src/buffer.c Wed Dec 3 11:21:20 2008 ---- src/buffer.c Tue Jan 6 15:23:02 2009 -*************** -*** 437,446 **** - return; - #endif - -- #ifdef FEAT_NETBEANS_INTG -- if (usingNetbeans) -- netbeans_file_closed(buf); -- #endif - /* Change directories when the 'acd' option is set. */ - DO_AUTOCHDIR - ---- 437,442 ---- -*************** -*** 639,644 **** ---- 635,644 ---- - #ifdef FEAT_SIGNS - buf_delete_signs(buf); /* delete any signs */ - #endif -+ #ifdef FEAT_NETBEANS_INTG -+ if (usingNetbeans) -+ netbeans_file_killed(buf); -+ #endif - #ifdef FEAT_LOCALMAP - map_clear_int(buf, MAP_ALL_MODES, TRUE, FALSE); /* clear local mappings */ - map_clear_int(buf, MAP_ALL_MODES, TRUE, TRUE); /* clear local abbrevs */ -*************** -*** 815,823 **** - int bnr; /* buffer number */ - char_u *p; - -- #ifdef FEAT_NETBEANS_INTG -- netbeansCloseFile = 1; -- #endif - if (addr_count == 0) - { - (void)do_buffer(command, DOBUF_CURRENT, FORWARD, 0, forceit); ---- 815,820 ---- -*************** -*** 912,920 **** - } - } - -- #ifdef FEAT_NETBEANS_INTG -- netbeansCloseFile = 0; -- #endif - - return errormsg; - } ---- 909,914 ---- -*** ../vim-7.2.078/src/globals.h Fri Nov 28 21:26:50 2008 ---- src/globals.h Tue Jan 6 15:23:02 2009 -*************** -*** 1340,1346 **** - - #ifdef FEAT_NETBEANS_INTG - EXTERN char *netbeansArg INIT(= NULL); /* the -nb[:host:port:passwd] arg */ -- EXTERN int netbeansCloseFile INIT(= 0); /* send killed if != 0 */ - EXTERN int netbeansFireChanges INIT(= 1); /* send buffer changes if != 0 */ - EXTERN int netbeansForcedQuit INIT(= 0);/* don't write modified files */ - EXTERN int netbeansReadFile INIT(= 1); /* OK to read from disk if != 0 */ ---- 1340,1345 ---- -*** ../vim-7.2.078/src/netbeans.c Wed Dec 24 12:20:10 2008 ---- src/netbeans.c Tue Jan 6 15:23:02 2009 -*************** -*** 2921,2964 **** - } - - /* -! * Tell netbeans a file was closed. - */ - void -! netbeans_file_closed(buf_T *bufp) - { - int bufno = nb_getbufno(bufp); - nbbuf_T *nbbuf = nb_get_buf(bufno); - char buffer[2*MAXPATHL]; - -! if (!haveConnection || bufno < 0) - return; - -! if (!netbeansCloseFile) -! { -! nbdebug(("Ignoring file_closed for %s. File was closed from IDE\n", -! bufp->b_ffname)); -! return; -! } -! -! nbdebug(("netbeans_file_closed:\n")); -! nbdebug((" Closing bufno: %d", bufno)); -! if (curbuf != NULL && curbuf != bufp) -! { -! nbdebug((" Curbuf bufno: %d\n", nb_getbufno(curbuf))); -! } -! else if (curbuf == bufp) -! { -! nbdebug((" curbuf == bufp\n")); -! } -! -! if (bufno <= 0) -! return; - - sprintf(buffer, "%d:killed=%d\n", bufno, r_cmdno); - - nbdebug(("EVT: %s", buffer)); - -! nb_send(buffer, "netbeans_file_closed"); - - if (nbbuf != NULL) - nbbuf->bufp = NULL; ---- 2921,2946 ---- - } - - /* -! * Tell netbeans that a file was deleted or wiped out. - */ - void -! netbeans_file_killed(buf_T *bufp) - { - int bufno = nb_getbufno(bufp); - nbbuf_T *nbbuf = nb_get_buf(bufno); - char buffer[2*MAXPATHL]; - -! if (!haveConnection || bufno == -1) - return; - -! nbdebug(("netbeans_file_killed:\n")); -! nbdebug((" Killing bufno: %d", bufno)); - - sprintf(buffer, "%d:killed=%d\n", bufno, r_cmdno); - - nbdebug(("EVT: %s", buffer)); - -! nb_send(buffer, "netbeans_file_killed"); - - if (nbbuf != NULL) - nbbuf->bufp = NULL; -*** ../vim-7.2.078/src/proto/netbeans.pro Tue Jun 24 23:25:53 2008 ---- src/proto/netbeans.pro Tue Jan 6 15:23:02 2009 -*************** -*** 11,17 **** - void netbeans_frame_moved __ARGS((int new_x, int new_y)); - void netbeans_file_activated __ARGS((buf_T *bufp)); - void netbeans_file_opened __ARGS((buf_T *bufp)); -! void netbeans_file_closed __ARGS((buf_T *bufp)); - void netbeans_inserted __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, char_u *txt, int newlen)); - void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); - void netbeans_unmodified __ARGS((buf_T *bufp)); ---- 11,17 ---- - void netbeans_frame_moved __ARGS((int new_x, int new_y)); - void netbeans_file_activated __ARGS((buf_T *bufp)); - void netbeans_file_opened __ARGS((buf_T *bufp)); -! void netbeans_file_killed __ARGS((buf_T *bufp)); - void netbeans_inserted __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, char_u *txt, int newlen)); - void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); - void netbeans_unmodified __ARGS((buf_T *bufp)); -*** ../vim-7.2.078/src/version.c Tue Jan 6 15:01:58 2009 ---- src/version.c Tue Jan 6 16:11:11 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 79, - /**/ - --- -Friends? I have lots of friends! In fact, I have every episode ever made. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.080 --- a/components/vim/vim72-patches/7.2.080 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,365 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.080 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.080 -Problem: When typing a composing character just after starting completion - may access memory before its allocation point. (Dominique Pelle) -Solution: Don't delete before the completion start column. Add extra checks - for the offset not being negative. -Files: src/edit.c - - -*** ../vim-7.2.079/src/edit.c Wed Aug 6 18:56:55 2008 ---- src/edit.c Tue Jan 13 12:05:57 2009 -*************** -*** 147,152 **** ---- 147,153 ---- - static int ins_compl_bs __ARGS((void)); - static void ins_compl_new_leader __ARGS((void)); - static void ins_compl_addleader __ARGS((int c)); -+ static int ins_compl_len __ARGS((void)); - static void ins_compl_restart __ARGS((void)); - static void ins_compl_set_original_text __ARGS((char_u *str)); - static void ins_compl_addfrommatch __ARGS((void)); -*************** -*** 197,203 **** - static void mb_replace_pop_ins __ARGS((int cc)); - #endif - static void replace_flush __ARGS((void)); -! static void replace_do_bs __ARGS((void)); - #ifdef FEAT_CINDENT - static int cindent_on __ARGS((void)); - #endif ---- 198,205 ---- - static void mb_replace_pop_ins __ARGS((int cc)); - #endif - static void replace_flush __ARGS((void)); -! static void replace_do_bs __ARGS((int limit_col)); -! static int del_char_after_col __ARGS((int limit_col)); - #ifdef FEAT_CINDENT - static int cindent_on __ARGS((void)); - #endif -*************** -*** 1933,1938 **** ---- 1935,1942 ---- - /* - * Backspace the cursor until the given column. Handles REPLACE and VREPLACE - * modes correctly. May also be used when not in insert mode at all. -+ * Will attempt not to go before "col" even when there is a composing -+ * character. - */ - void - backspace_until_column(col) -*************** -*** 1942,1954 **** - { - curwin->w_cursor.col--; - if (State & REPLACE_FLAG) -! replace_do_bs(); -! else -! (void)del_char(FALSE); - } - } - #endif - - #if defined(FEAT_INS_EXPAND) || defined(PROTO) - /* - * CTRL-X pressed in Insert mode. ---- 1946,1994 ---- - { - curwin->w_cursor.col--; - if (State & REPLACE_FLAG) -! replace_do_bs(col); -! else if (!del_char_after_col(col)) -! break; - } - } - #endif - -+ /* -+ * Like del_char(), but make sure not to go before column "limit_col". -+ * Only matters when there are composing characters. -+ * Return TRUE when something was deleted. -+ */ -+ static int -+ del_char_after_col(limit_col) -+ int limit_col; -+ { -+ #ifdef FEAT_MBYTE -+ if (enc_utf8 && limit_col >= 0) -+ { -+ int ecol = curwin->w_cursor.col + 1; -+ -+ /* Make sure the cursor is at the start of a character, but -+ * skip forward again when going too far back because of a -+ * composing character. */ -+ mb_adjust_cursor(); -+ while (curwin->w_cursor.col < limit_col) -+ { -+ int l = utf_ptr2len(ml_get_cursor()); -+ -+ if (l == 0) /* end of line */ -+ break; -+ curwin->w_cursor.col += l; -+ } -+ if (*ml_get_cursor() == NUL || curwin->w_cursor.col == ecol) -+ return FALSE; -+ del_bytes((long)(ecol - curwin->w_cursor.col), FALSE, TRUE); -+ } -+ else -+ #endif -+ (void)del_char(FALSE); -+ return TRUE; -+ } -+ - #if defined(FEAT_INS_EXPAND) || defined(PROTO) - /* - * CTRL-X pressed in Insert mode. -*************** -*** 2418,2424 **** - { - had_match = (curwin->w_cursor.col > compl_col); - ins_compl_delete(); -! ins_bytes(compl_leader + curwin->w_cursor.col - compl_col); - ins_redraw(FALSE); - - /* When the match isn't there (to avoid matching itself) remove it ---- 2458,2464 ---- - { - had_match = (curwin->w_cursor.col > compl_col); - ins_compl_delete(); -! ins_bytes(compl_leader + ins_compl_len()); - ins_redraw(FALSE); - - /* When the match isn't there (to avoid matching itself) remove it -*************** -*** 2470,2476 **** - *p = NUL; - had_match = (curwin->w_cursor.col > compl_col); - ins_compl_delete(); -! ins_bytes(compl_leader + curwin->w_cursor.col - compl_col); - ins_redraw(FALSE); - - /* When the match isn't there (to avoid matching itself) remove it ---- 2510,2516 ---- - *p = NUL; - had_match = (curwin->w_cursor.col > compl_col); - ins_compl_delete(); -! ins_bytes(compl_leader + ins_compl_len()); - ins_redraw(FALSE); - - /* When the match isn't there (to avoid matching itself) remove it -*************** -*** 3209,3215 **** - { - ins_compl_del_pum(); - ins_compl_delete(); -! ins_bytes(compl_leader + curwin->w_cursor.col - compl_col); - compl_used_match = FALSE; - - if (compl_started) ---- 3249,3255 ---- - { - ins_compl_del_pum(); - ins_compl_delete(); -! ins_bytes(compl_leader + ins_compl_len()); - compl_used_match = FALSE; - - if (compl_started) -*************** -*** 3264,3269 **** ---- 3304,3323 ---- - } - - /* -+ * Return the length of the completion, from the completion start column to -+ * the cursor column. Making sure it never goes below zero. -+ */ -+ static int -+ ins_compl_len() -+ { -+ int off = curwin->w_cursor.col - compl_col; -+ -+ if (off < 0) -+ return 0; -+ return off; -+ } -+ -+ /* - * Append one character to the match leader. May reduce the number of - * matches. - */ -*************** -*** 3621,3630 **** - { - ins_compl_delete(); - if (compl_leader != NULL) -! ins_bytes(compl_leader + curwin->w_cursor.col - compl_col); - else if (compl_first_match != NULL) -! ins_bytes(compl_orig_text -! + curwin->w_cursor.col - compl_col); - retval = TRUE; - } - ---- 3675,3683 ---- - { - ins_compl_delete(); - if (compl_leader != NULL) -! ins_bytes(compl_leader + ins_compl_len()); - else if (compl_first_match != NULL) -! ins_bytes(compl_orig_text + ins_compl_len()); - retval = TRUE; - } - -*************** -*** 4256,4262 **** - static void - ins_compl_insert() - { -! ins_bytes(compl_shown_match->cp_str + curwin->w_cursor.col - compl_col); - if (compl_shown_match->cp_flags & ORIGINAL_TEXT) - compl_used_match = FALSE; - else ---- 4309,4315 ---- - static void - ins_compl_insert() - { -! ins_bytes(compl_shown_match->cp_str + ins_compl_len()); - if (compl_shown_match->cp_flags & ORIGINAL_TEXT) - compl_used_match = FALSE; - else -*************** -*** 4425,4431 **** - if (!compl_get_longest || compl_used_match) - ins_compl_insert(); - else -! ins_bytes(compl_leader + curwin->w_cursor.col - compl_col); - } - else - compl_used_match = FALSE; ---- 4478,4484 ---- - if (!compl_get_longest || compl_used_match) - ins_compl_insert(); - else -! ins_bytes(compl_leader + ins_compl_len()); - } - else - compl_used_match = FALSE; -*************** -*** 7123,7131 **** - * cc == 0: character was inserted, delete it - * cc > 0: character was replaced, put cc (first byte of original char) back - * and check for more characters to be put back - */ - static void -! replace_do_bs() - { - int cc; - #ifdef FEAT_VREPLACE ---- 7176,7187 ---- - * cc == 0: character was inserted, delete it - * cc > 0: character was replaced, put cc (first byte of original char) back - * and check for more characters to be put back -+ * When "limit_col" is >= 0, don't delete before this column. Matters when -+ * using composing characters, use del_char_after_col() instead of del_char(). - */ - static void -! replace_do_bs(limit_col) -! int limit_col; - { - int cc; - #ifdef FEAT_VREPLACE -*************** -*** 7153,7159 **** - #ifdef FEAT_MBYTE - if (has_mbyte) - { -! del_char(FALSE); - # ifdef FEAT_VREPLACE - if (State & VREPLACE_FLAG) - orig_len = (int)STRLEN(ml_get_cursor()); ---- 7209,7215 ---- - #ifdef FEAT_MBYTE - if (has_mbyte) - { -! (void)del_char_after_col(limit_col); - # ifdef FEAT_VREPLACE - if (State & VREPLACE_FLAG) - orig_len = (int)STRLEN(ml_get_cursor()); -*************** -*** 7203,7209 **** - changed_bytes(curwin->w_cursor.lnum, curwin->w_cursor.col); - } - else if (cc == 0) -! (void)del_char(FALSE); - } - - #ifdef FEAT_CINDENT ---- 7259,7265 ---- - changed_bytes(curwin->w_cursor.lnum, curwin->w_cursor.col); - } - else if (cc == 0) -! (void)del_char_after_col(limit_col); - } - - #ifdef FEAT_CINDENT -*************** -*** 8239,8245 **** - * Replace mode */ - if (curwin->w_cursor.lnum != Insstart.lnum - || curwin->w_cursor.col >= Insstart.col) -! replace_do_bs(); - } - else - (void)del_char(FALSE); ---- 8295,8301 ---- - * Replace mode */ - if (curwin->w_cursor.lnum != Insstart.lnum - || curwin->w_cursor.col >= Insstart.col) -! replace_do_bs(-1); - } - else - (void)del_char(FALSE); -*************** -*** 8556,8562 **** - break; - } - if (State & REPLACE_FLAG) -! replace_do_bs(); - else - { - #ifdef FEAT_MBYTE ---- 8612,8618 ---- - break; - } - if (State & REPLACE_FLAG) -! replace_do_bs(-1); - else - { - #ifdef FEAT_MBYTE -*** ../vim-7.2.079/src/version.c Tue Jan 6 16:13:42 2009 ---- src/version.c Tue Jan 13 12:25:29 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 80, - /**/ - --- -At some point in the project somebody will start whining about the need to -determine the project "requirements". This involves interviewing people who -don't know what they want but, curiously, know exactly when they need it. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.081 --- a/components/vim/vim72-patches/7.2.081 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.081 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.081 -Problem: Compiler warning for floating point overflow on VAX. -Solution: For VAX use a smaller number. (Zoltan Arpadffy) -Files: src/message.c - - -*** ../vim-7.2.080/src/message.c Fri Nov 28 21:26:50 2008 ---- src/message.c Tue Jan 13 16:19:07 2009 -*************** -*** 4556,4562 **** - remove_trailing_zeroes = TRUE; - } - -! if (fmt_spec == 'f' && abs_f > 1.0e307) - { - /* Avoid a buffer overflow */ - strcpy(tmp, "inf"); ---- 4556,4568 ---- - remove_trailing_zeroes = TRUE; - } - -! if (fmt_spec == 'f' && -! #ifdef VAX -! abs_f > 1.0e38 -! #else -! abs_f > 1.0e307 -! #endif -! ) - { - /* Avoid a buffer overflow */ - strcpy(tmp, "inf"); -*** ../vim-7.2.080/src/version.c Tue Jan 13 12:29:03 2009 ---- src/version.c Tue Jan 13 16:19:52 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 81, - /**/ - --- -Sometimes you can protect millions of dollars in your budget simply by buying -a bag of cookies, dropping it on the budget anylyst's desk, and saying -something deeply personal such as "How was your weekend, big guy?" - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.082 --- a/components/vim/vim72-patches/7.2.082 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.082 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.082 -Problem: When 'ff' is "mac" then "ga" on a ^J shows 0x0d instead of 0x0a. - (Andy Wokula) -Solution: Use NL for this situation. (Lech Lorens) -Files: src/ex_cmds.c - - -*** ../vim-7.2.081/src/ex_cmds.c Fri Nov 28 21:26:50 2008 ---- src/ex_cmds.c Tue Jan 13 16:51:32 2009 -*************** -*** 49,54 **** ---- 49,55 ---- - exarg_T *eap; - { - int c; -+ int cval; - char buf1[20]; - char buf2[20]; - char_u buf3[7]; -*************** -*** 75,80 **** ---- 76,85 ---- - { - if (c == NL) /* NUL is stored as NL */ - c = NUL; -+ if (c == CAR && get_fileformat(curbuf) == EOL_MAC) -+ cval = NL; /* NL is stored as CR */ -+ else -+ cval = c; - if (vim_isprintc_strict(c) && (c < ' ' - #ifndef EBCDIC - || c > '~' -*************** -*** 94,100 **** - buf2[0] = NUL; - vim_snprintf((char *)IObuff, IOSIZE, - _("<%s>%s%s %d, Hex %02x, Octal %03o"), -! transchar(c), buf1, buf2, c, c, c); - #ifdef FEAT_MBYTE - if (enc_utf8) - c = cc[ci++]; ---- 99,105 ---- - buf2[0] = NUL; - vim_snprintf((char *)IObuff, IOSIZE, - _("<%s>%s%s %d, Hex %02x, Octal %03o"), -! transchar(c), buf1, buf2, cval, cval, cval); - #ifdef FEAT_MBYTE - if (enc_utf8) - c = cc[ci++]; -*** ../vim-7.2.081/src/version.c Tue Jan 13 16:37:31 2009 ---- src/version.c Tue Jan 13 16:53:39 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 82, - /**/ - --- -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/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.083 --- a/components/vim/vim72-patches/7.2.083 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.083 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.083 -Problem: ":tag" does not return to the right tag entry from the tag stack. -Solution: Don't change the current match when there is no argument. - (Erik Falor) -Files: src/tag.c - - -*** ../vim-7.2.082/src/tag.c Tue Dec 9 12:12:31 2008 ---- src/tag.c Tue Jan 13 17:14:59 2009 -*************** -*** 515,521 **** - * If a count is supplied to the ":tag " command, then - * jump to count'th matching tag. - */ -! if (type == DT_TAG && count > 0) - cur_match = count - 1; - - if (type == DT_SELECT || type == DT_JUMP ---- 515,521 ---- - * If a count is supplied to the ":tag " command, then - * jump to count'th matching tag. - */ -! if (type == DT_TAG && *tag != NUL && count > 0) - cur_match = count - 1; - - if (type == DT_SELECT || type == DT_JUMP -*** ../vim-7.2.082/src/version.c Tue Jan 13 16:57:09 2009 ---- src/version.c Tue Jan 13 17:16:42 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 83, - /**/ - --- -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/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.084 --- a/components/vim/vim72-patches/7.2.084 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.084 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.084 -Problem: Recursive structures are not handled properly in Python - vim.eval(). -Solution: Keep track of references in a better way. (Yukihiro Nakadaira) -Files: src/if_python.c - - -*** ../vim-7.2.083/src/if_python.c Thu Nov 20 11:04:01 2008 ---- src/if_python.c Tue Jan 13 18:08:06 2009 -*************** -*** 1151,1164 **** - - /* Check if we run into a recursive loop. The item must be in lookupDict - * then and we can use it again. */ -! sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U, (long_u)our_tv); -! result = PyDict_GetItemString(lookupDict, ptrBuf); -! if (result != NULL) -! Py_INCREF(result); -! else if (our_tv->v_type == VAR_STRING) - { - result = Py_BuildValue("s", our_tv->vval.v_string); -- PyDict_SetItemString(lookupDict, ptrBuf, result); - } - else if (our_tv->v_type == VAR_NUMBER) - { ---- 1151,1173 ---- - - /* Check if we run into a recursive loop. The item must be in lookupDict - * then and we can use it again. */ -! if ((our_tv->v_type == VAR_LIST && our_tv->vval.v_list != NULL) -! || (our_tv->v_type == VAR_DICT && our_tv->vval.v_dict != NULL)) -! { -! sprintf(ptrBuf, PRINTF_DECIMAL_LONG_U, -! our_tv->v_type == VAR_LIST ? (long_u)our_tv->vval.v_list -! : (long_u)our_tv->vval.v_dict); -! result = PyDict_GetItemString(lookupDict, ptrBuf); -! if (result != NULL) -! { -! Py_INCREF(result); -! return result; -! } -! } -! -! if (our_tv->v_type == VAR_STRING) - { - result = Py_BuildValue("s", our_tv->vval.v_string); - } - else if (our_tv->v_type == VAR_NUMBER) - { -*************** -*** 1167,1173 **** - /* For backwards compatibility numbers are stored as strings. */ - sprintf(buf, "%ld", (long)our_tv->vval.v_number); - result = Py_BuildValue("s", buf); -- PyDict_SetItemString(lookupDict, ptrBuf, result); - } - # ifdef FEAT_FLOAT - else if (our_tv->v_type == VAR_FLOAT) ---- 1176,1181 ---- -*************** -*** 1176,1182 **** - - sprintf(buf, "%f", our_tv->vval.v_float); - result = Py_BuildValue("s", buf); -- PyDict_SetItemString(lookupDict, ptrBuf, result); - } - # endif - else if (our_tv->v_type == VAR_LIST) ---- 1184,1189 ---- -*************** -*** 1185,1194 **** - listitem_T *curr; - - result = PyList_New(0); -- PyDict_SetItemString(lookupDict, ptrBuf, result); - - if (list != NULL) - { - for (curr = list->lv_first; curr != NULL; curr = curr->li_next) - { - newObj = VimToPython(&curr->li_tv, depth + 1, lookupDict); ---- 1192,1202 ---- - listitem_T *curr; - - result = PyList_New(0); - - if (list != NULL) - { -+ PyDict_SetItemString(lookupDict, ptrBuf, result); -+ - for (curr = list->lv_first; curr != NULL; curr = curr->li_next) - { - newObj = VimToPython(&curr->li_tv, depth + 1, lookupDict); -*************** -*** 1200,1206 **** - else if (our_tv->v_type == VAR_DICT) - { - result = PyDict_New(); -- PyDict_SetItemString(lookupDict, ptrBuf, result); - - if (our_tv->vval.v_dict != NULL) - { ---- 1208,1213 ---- -*************** -*** 1209,1214 **** ---- 1216,1223 ---- - hashitem_T *hi; - dictitem_T *di; - -+ PyDict_SetItemString(lookupDict, ptrBuf, result); -+ - for (hi = ht->ht_array; todo > 0; ++hi) - { - if (!HASHITEM_EMPTY(hi)) -*** ../vim-7.2.083/src/version.c Tue Jan 13 17:27:18 2009 ---- src/version.c Tue Jan 13 17:54:14 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 84, - /**/ - --- -Article in the first Free Software Magazine: "Bram Moolenaar studied electrical -engineering at the Technical University of Delft and graduated in 1985 on a -multi-processor Unix architecture." -Response by "dimator": Could the school not afford a proper stage for the -ceremony? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.085 --- a/components/vim/vim72-patches/7.2.085 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.085 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.085 -Problem: ":set =b" does not work when 'encoding' is utf-8. -Solution: Put the character in the input buffer as valid utf-8. - (partly by Matt Wosniski) -Files: src/term.c - - -*** ../vim-7.2.084/src/term.c Tue Jul 29 12:22:12 2008 ---- src/term.c Thu Jan 22 18:18:29 2009 -*************** -*** 4920,4926 **** - key_name[0] = KEY2TERMCAP0(key); - key_name[1] = KEY2TERMCAP1(key); - if (key_name[0] == KS_KEY) -! string[new_slen++] = key_name[1]; /* from ":set =xx" */ - else - { - string[new_slen++] = K_SPECIAL; ---- 4920,4934 ---- - key_name[0] = KEY2TERMCAP0(key); - key_name[1] = KEY2TERMCAP1(key); - if (key_name[0] == KS_KEY) -! { -! /* from ":set =xx" */ -! #ifdef FEAT_MBYTE -! if (has_mbyte) -! new_slen += (*mb_char2bytes)(key_name[1], string + new_slen); -! else -! #endif -! string[new_slen++] = key_name[1]; -! } - else - { - string[new_slen++] = K_SPECIAL; -*** ../vim-7.2.084/src/version.c Tue Jan 13 18:10:21 2009 ---- src/version.c Thu Jan 22 18:31:50 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 85, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -20. When looking at a pageful of someone else's links, you notice all of them - are already highlighted in purple. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.086 --- a/components/vim/vim72-patches/7.2.086 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.086 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.086 -Problem: Using ":diffget 1" in buffer 1 corrupts the text. -Solution: Don't do anything when source and destination of ":diffget" or - ":diffput" is the same buffer. (Dominique Pelle) -Files: src/diff.c - - -*** ../vim-7.2.085/src/diff.c Sun Nov 30 15:15:56 2008 ---- src/diff.c Wed Jan 14 20:40:25 2009 -*************** -*** 8,14 **** - */ - - /* -! * diff.c: code for diff'ing two or three buffers. - */ - - #include "vim.h" ---- 8,14 ---- - */ - - /* -! * diff.c: code for diff'ing two, three or four buffers. - */ - - #include "vim.h" -*************** -*** 116,122 **** - * Add a buffer to make diffs for. - * Call this when a new buffer is being edited in the current window where - * 'diff' is set. -! * Marks the current buffer as being part of the diff and requireing updating. - * This must be done before any autocmd, because a command may use info - * about the screen contents. - */ ---- 116,122 ---- - * Add a buffer to make diffs for. - * Call this when a new buffer is being edited in the current window where - * 'diff' is set. -! * Marks the current buffer as being part of the diff and requiring updating. - * This must be done before any autocmd, because a command may use info - * about the screen contents. - */ -*************** -*** 929,935 **** - goto theend; - - #ifdef UNIX -! /* Temporaraly chdir to /tmp, to avoid patching files in the current - * directory when the patch file contains more than one patch. When we - * have our own temp dir use that instead, it will be cleaned up when we - * exit (any .rej files created). Don't change directory if we can't ---- 929,935 ---- - goto theend; - - #ifdef UNIX -! /* Temporarily chdir to /tmp, to avoid patching files in the current - * directory when the patch file contains more than one patch. When we - * have our own temp dir use that instead, it will be cleaned up when we - * exit (any .rej files created). Don't change directory if we can't -*************** -*** 2129,2134 **** ---- 2129,2136 ---- - EMSG2(_("E102: Can't find buffer \"%s\""), eap->arg); - return; - } -+ if (buf == curbuf) -+ return; /* nothing to do */ - idx_other = diff_buf_idx(buf); - if (idx_other == DB_COUNT) - { -*** ../vim-7.2.085/src/version.c Thu Jan 22 18:32:55 2009 ---- src/version.c Thu Jan 22 20:46:54 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 86, - /**/ - --- -Shift happens. - -- Doppler - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.087 --- a/components/vim/vim72-patches/7.2.087 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.087 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.087 -Problem: Adding URL to 'path' doesn't work to edit a file. -Solution: Skip simplify_filename() for URLs. (Matt Wosniski) -Files: src/misc2.c - - -*** ../vim-7.2.086/src/misc2.c Wed Dec 24 12:53:33 2008 ---- src/misc2.c Sun Jan 18 12:26:20 2009 -*************** -*** 4696,4702 **** - stackp->ffs_filearray_cur = i + 1; - ff_push(search_ctx, stackp); - -! simplify_filename(file_path); - if (mch_dirname(ff_expand_buffer, MAXPATHL) - == OK) - { ---- 4696,4703 ---- - stackp->ffs_filearray_cur = i + 1; - ff_push(search_ctx, stackp); - -! if (!path_with_url(file_path)) -! simplify_filename(file_path); - if (mch_dirname(ff_expand_buffer, MAXPATHL) - == OK) - { -*** ../vim-7.2.086/src/version.c Thu Jan 22 20:48:07 2009 ---- src/version.c Thu Jan 22 21:30:36 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 87, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -21. Your dog has its own home page. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.090 --- a/components/vim/vim72-patches/7.2.090 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.090 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.090 -Problem: User command containing 0x80 in multi-byte character does not work - properly. (Yasuhiro Matsumoto) -Solution: Undo replacement of K_SPECIAL and CSI characters when executing - the command. -Files: src/ex_docmd.c - - -*** ../vim-7.2.089/src/ex_docmd.c Tue Dec 9 11:17:23 2008 ---- src/ex_docmd.c Wed Jan 28 15:34:19 2009 -*************** -*** 5482,5487 **** ---- 5482,5490 ---- - return OK; - } - -+ /* -+ * ":command ..." -+ */ - static void - ex_command(eap) - exarg_T *eap; -*************** -*** 5914,5919 **** ---- 5917,5923 ---- - - char_u *start; - char_u *end; -+ char_u *ksp; - size_t len, totlen; - - size_t split_len = 0; -*************** -*** 5930,5945 **** - - /* - * Replace <> in the command by the arguments. - */ - buf = NULL; - for (;;) - { -! p = cmd->uc_rep; -! q = buf; - totlen = 0; -! while ((start = vim_strchr(p, '<')) != NULL -! && (end = vim_strchr(start + 1, '>')) != NULL) - { - /* Include the '>' */ - ++end; - ---- 5934,5984 ---- - - /* - * Replace <> in the command by the arguments. -+ * First round: "buf" is NULL, compute length, allocate "buf". -+ * Second round: copy result into "buf". - */ - buf = NULL; - for (;;) - { -! p = cmd->uc_rep; /* source */ -! q = buf; /* destinateion */ - totlen = 0; -! -! for (;;) - { -+ start = vim_strchr(p, '<'); -+ if (start != NULL) -+ end = vim_strchr(start + 1, '>'); -+ if (buf != NULL) -+ { -+ ksp = vim_strchr(p, K_SPECIAL); -+ if (ksp != NULL && (start == NULL || ksp < start || end == NULL) -+ && ((ksp[1] == KS_SPECIAL && ksp[2] == KE_FILLER) -+ # ifdef FEAT_GUI -+ || (ksp[1] == KS_EXTRA && ksp[2] == (int)KE_CSI) -+ # endif -+ )) -+ { -+ /* K_SPECIAL han been put in the buffer as K_SPECIAL -+ * KS_SPECIAL KE_FILLER, like for mappings, but -+ * do_cmdline() doesn't handle that, so convert it back. -+ * Also change K_SPECIAL KS_EXTRA KE_CSI into CSI. */ -+ len = ksp - p; -+ if (len > 0) -+ { -+ mch_memmove(q, p, len); -+ q += len; -+ } -+ *q++ = ksp[1] == KS_SPECIAL ? K_SPECIAL : CSI; -+ p = ksp + 3; -+ continue; -+ } -+ } -+ -+ /* break if there no is found */ -+ if (start == NULL || end == NULL) -+ break; -+ - /* Include the '>' */ - ++end; - -*** ../vim-7.2.089/src/version.c Wed Jan 28 14:17:21 2009 ---- src/version.c Wed Jan 28 15:37:40 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 90, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -17. When the money comes out the ATM, scream "I won!, I won! 3rd - time this week!!!!!" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.091 --- a/components/vim/vim72-patches/7.2.091 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.091 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.091 -Problem: ":cs help" output is not aligned for some languages. -Solution: Compute character size instead of byte size. (Dominique Pelle) -Files: src/if_cscope.c - - -*** ../vim-7.2.090/src/if_cscope.c Mon Aug 25 04:35:13 2008 ---- src/if_cscope.c Thu Jan 22 18:44:46 2009 -*************** -*** 1177,1184 **** - (void)MSG_PUTS(_("cscope commands:\n")); - while (cmdp->name != NULL) - { -! (void)smsg((char_u *)_("%-5s: %-30s (Usage: %s)"), -! cmdp->name, _(cmdp->help), cmdp->usage); - if (strcmp(cmdp->name, "find") == 0) - MSG_PUTS(_("\n" - " c: Find functions calling this function\n" ---- 1177,1192 ---- - (void)MSG_PUTS(_("cscope commands:\n")); - while (cmdp->name != NULL) - { -! char *help = _(cmdp->help); -! int space_cnt = 30 - vim_strsize((char_u *)help); -! -! /* Use %*s rather than %30s to ensure proper alignment in utf-8 */ -! if (space_cnt < 0) -! space_cnt = 0; -! (void)smsg((char_u *)_("%-5s: %s%*s (Usage: %s)"), -! cmdp->name, -! help, space_cnt, " ", -! cmdp->usage); - if (strcmp(cmdp->name, "find") == 0) - MSG_PUTS(_("\n" - " c: Find functions calling this function\n" -*** ../vim-7.2.090/src/version.c Wed Jan 28 15:42:07 2009 ---- src/version.c Wed Jan 28 16:02:25 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 91, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -18. When leaving the zoo, start running towards the parking lot, - yelling "run for your lives, they're loose!!" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.092 --- a/components/vim/vim72-patches/7.2.092 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,164 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.092 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.092 -Problem: Some error messages are not translated. -Solution: Add _() around the messages. (Dominique Pelle) -Files: src/eval.c - - -*** ../vim-7.2.091/src/eval.c Sun Dec 21 13:02:47 2008 ---- src/eval.c Sat Jan 24 12:22:47 2009 -*************** -*** 7918,7926 **** - else if (!aborting()) - { - if (argcount == MAX_FUNC_ARGS) -! emsg_funcname("E740: Too many arguments for function %s", name); - else -! emsg_funcname("E116: Invalid arguments for function %s", name); - } - - while (--argcount >= 0) ---- 7918,7926 ---- - else if (!aborting()) - { - if (argcount == MAX_FUNC_ARGS) -! emsg_funcname(N_("E740: Too many arguments for function %s"), name); - else -! emsg_funcname(N_("E116: Invalid arguments for function %s"), name); - } - - while (--argcount >= 0) -*************** -*** 8153,8158 **** ---- 8153,8159 ---- - - /* - * Give an error message with a function name. Handle things. -+ * "ermsg" is to be passed without translation, use N_() instead of _(). - */ - static void - emsg_funcname(ermsg, name) -*************** -*** 19867,19873 **** - } - } - else -! emsg_funcname("E123: Undefined function: %s", name); - } - goto ret_free; - } ---- 19868,19874 ---- - } - } - else -! emsg_funcname(N_("E123: Undefined function: %s"), name); - } - goto ret_free; - } -*************** -*** 19911,19917 **** - : eval_isnamec(arg[j]))) - ++j; - if (arg[j] != NUL) -! emsg_funcname(_(e_invarg2), arg); - } - } - ---- 19912,19918 ---- - : eval_isnamec(arg[j]))) - ++j; - if (arg[j] != NUL) -! emsg_funcname(e_invarg2, arg); - } - } - -*************** -*** 20183,20189 **** - v = find_var(name, &ht); - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { -! emsg_funcname("E707: Function name conflicts with variable: %s", - name); - goto erret; - } ---- 20184,20190 ---- - v = find_var(name, &ht); - if (v != NULL && v->di_tv.v_type == VAR_FUNC) - { -! emsg_funcname(N_("E707: Function name conflicts with variable: %s"), - name); - goto erret; - } -*************** -*** 20198,20204 **** - } - if (fp->uf_calls > 0) - { -! emsg_funcname("E127: Cannot redefine function %s: It is in use", - name); - goto erret; - } ---- 20199,20205 ---- - } - if (fp->uf_calls > 0) - { -! emsg_funcname(N_("E127: Cannot redefine function %s: It is in use"), - name); - goto erret; - } -*************** -*** 21477,21483 **** - - /* - * Return TRUE if items in "fc" do not have "copyID". That means they are not -! * referenced from anywyere. - */ - static int - can_free_funccal(fc, copyID) ---- 21478,21484 ---- - - /* - * Return TRUE if items in "fc" do not have "copyID". That means they are not -! * referenced from anywhere. - */ - static int - can_free_funccal(fc, copyID) -*** ../vim-7.2.091/src/version.c Wed Jan 28 16:03:51 2009 ---- src/version.c Wed Jan 28 19:05:47 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 92, - /**/ - - --- -Now it is such a bizarrely improbable coincidence that anything as -mind-bogglingly useful as the Babel fish could have evolved purely by chance -that some thinkers have chosen to see it as a final and clinching proof of the -NON-existence of God. -The argument goes something like this: 'I refuse to prove that I exist,' says -God, 'for proof denies faith, and without faith I am nothing.' -'But,' says Man, 'the Babel fish is a dead giveaway, isn't it? It could not -have evolved by chance. It proves you exist, and so therefore, by your own -arguments, you don't. QED.' -'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a -puff of logic. -'Oh, that was easy,' says Man, and for an encore goes on to prove that black -is white and gets himself killed on the next pedestrian crossing. - -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.094 --- a/components/vim/vim72-patches/7.2.094 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.094 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.094 -Problem: Compiler warning for signed/unsigned compare. -Solution: Add type cast. Also fix a few typos. -Files: src/edit.c - - -*** ../vim-7.2.093/src/edit.c Tue Jan 13 12:29:03 2009 ---- src/edit.c Wed Jan 28 21:13:51 2009 -*************** -*** 1958,1963 **** ---- 1958,1964 ---- - * Only matters when there are composing characters. - * Return TRUE when something was deleted. - */ -+ /*ARGSUSED*/ - static int - del_char_after_col(limit_col) - int limit_col; -*************** -*** 1971,1977 **** - * skip forward again when going too far back because of a - * composing character. */ - mb_adjust_cursor(); -! while (curwin->w_cursor.col < limit_col) - { - int l = utf_ptr2len(ml_get_cursor()); - ---- 1972,1978 ---- - * skip forward again when going too far back because of a - * composing character. */ - mb_adjust_cursor(); -! while (curwin->w_cursor.col < (colnr_T)limit_col) - { - int l = utf_ptr2len(ml_get_cursor()); - -*************** -*** 4240,4246 **** - } - - /* check if compl_curr_match has changed, (e.g. other type of -! * expansion added somenthing) */ - if (type != 0 && compl_curr_match != old_match) - found_new_match = OK; - ---- 4241,4247 ---- - } - - /* check if compl_curr_match has changed, (e.g. other type of -! * expansion added something) */ - if (type != 0 && compl_curr_match != old_match) - found_new_match = OK; - -*************** -*** 4741,4747 **** - } - compl_length = curwin->w_cursor.col - (int)compl_col; - /* IObuff is used to add a "word from the next line" would we -! * have enough space? just being paranoic */ - #define MIN_SPACE 75 - if (compl_length > (IOSIZE - MIN_SPACE)) - { ---- 4742,4748 ---- - } - compl_length = curwin->w_cursor.col - (int)compl_col; - /* IObuff is used to add a "word from the next line" would we -! * have enough space? just being paranoid */ - #define MIN_SPACE 75 - if (compl_length > (IOSIZE - MIN_SPACE)) - { -*************** -*** 8206,8212 **** - /* - * If the cursor is on an indent, ^T/^D insert/delete one - * shiftwidth. Otherwise ^T/^D behave like a "<<" or ">>". -! * Always round the indent to 'shiftwith', this is compatible - * with vi. But vi only supports ^T and ^D after an - * autoindent, we support it everywhere. - */ ---- 8207,8213 ---- - /* - * If the cursor is on an indent, ^T/^D insert/delete one - * shiftwidth. Otherwise ^T/^D behave like a "<<" or ">>". -! * Always round the indent to 'shiftwidth', this is compatible - * with vi. But vi only supports ^T and ^D after an - * autoindent, we support it everywhere. - */ -*** ../vim-7.2.093/src/version.c Wed Jan 28 21:22:20 2009 ---- src/version.c Wed Feb 4 11:17:02 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 94, - /**/ - --- -Despite the cost of living, have you noticed how it remains so popular? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.095 --- a/components/vim/vim72-patches/7.2.095 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.095 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.095 -Problem: With Visual selection, "r" and then CTRL-C Visual mode is stopped - but the highlighting is not removed. -Solution: Call reset_VIsual(). -Files: src/normal.c - - -*** ../vim-7.2.094/src/normal.c Thu Nov 20 16:11:03 2008 ---- src/normal.c Fri Jan 30 20:37:01 2009 -*************** -*** 6783,6788 **** ---- 6783,6790 ---- - /* Visual mode "r" */ - if (VIsual_active) - { -+ if (got_int) -+ reset_VIsual(); - nv_operator(cap); - return; - } -*************** -*** 7839,7845 **** - else - i = curwin->w_leftcol; - /* Go to the middle of the screen line. When 'number' is on and lines -! * are wrapping the middle can be more to the left.*/ - if (cap->nchar == 'm') - i += (W_WIDTH(curwin) - curwin_col_off() - + ((curwin->w_p_wrap && i > 0) ---- 7841,7847 ---- - else - i = curwin->w_leftcol; - /* Go to the middle of the screen line. When 'number' is on and lines -! * are wrapping the middle can be more to the left. */ - if (cap->nchar == 'm') - i += (W_WIDTH(curwin) - curwin_col_off() - + ((curwin->w_p_wrap && i > 0) -*** ../vim-7.2.094/src/version.c Wed Feb 4 11:19:40 2009 ---- src/version.c Wed Feb 4 11:43:28 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 95, - /**/ - --- -Nothing is fool-proof to a sufficiently talented fool. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.096 --- a/components/vim/vim72-patches/7.2.096 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.096 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.096 -Problem: After ":number" the "Press Enter" message may be on the wrong - screen, if switching screens for shell commands. -Solution: Reset info_message. (James Vega) -Files: src/ex_cmds.c - - -*** ../vim-7.2.095/src/ex_cmds.c Tue Jan 13 16:57:09 2009 ---- src/ex_cmds.c Fri Jan 30 21:01:54 2009 -*************** -*** 2417,2424 **** - cursor_on(); /* msg_start() switches it off */ - out_flush(); - silent_mode = save_silent; -- info_message = FALSE; - } - } - - /* ---- 2417,2424 ---- - cursor_on(); /* msg_start() switches it off */ - out_flush(); - silent_mode = save_silent; - } -+ info_message = FALSE; - } - - /* -*** ../vim-7.2.095/src/version.c Wed Feb 4 11:45:28 2009 ---- src/version.c Wed Feb 4 13:12:55 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 96, - /**/ - --- -A fine is a tax for doing wrong. A tax is a fine for doing well. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.097 --- a/components/vim/vim72-patches/7.2.097 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.097 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.097 -Problem: "!xterm&" doesn't work when 'shell' is "bash". -Solution: Ignore SIGHUP after calling setsid(). (Simon Schubert) -Files: src/os_unix.c - - -*** ../vim-7.2.096/src/os_unix.c Fri Nov 28 21:26:50 2008 ---- src/os_unix.c Wed Feb 4 12:09:55 2009 -*************** -*** 3950,3956 **** ---- 3950,3966 ---- - * children can be kill()ed. Don't do this when using pipes, - * because stdin is not a tty, we would lose /dev/tty. */ - if (p_stmp) -+ { - (void)setsid(); -+ # if defined(SIGHUP) -+ /* When doing "!xterm&" and 'shell' is bash: the shell -+ * will exit and send SIGHUP to all processes in its -+ * group, killing the just started process. Ignore SIGHUP -+ * to avoid that. (suggested by Simon Schubert) -+ */ -+ signal(SIGHUP, SIG_IGN); -+ # endif -+ } - # endif - # ifdef FEAT_GUI - if (pty_slave_fd >= 0) -*** ../vim-7.2.096/src/version.c Wed Feb 4 13:13:42 2009 ---- src/version.c Wed Feb 4 14:16:37 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 97, - /**/ - --- -It was recently discovered that research causes cancer in rats. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.098 --- a/components/vim/vim72-patches/7.2.098 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.098 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.098 -Problem: Warning for signed/unsigned pointer. -Solution: Add type cast. -Files: src/eval.c - - -*** ../vim-7.2.097/src/eval.c Wed Jan 28 19:08:31 2009 ---- src/eval.c Wed Feb 4 13:09:01 2009 -*************** -*** 3928,3934 **** - - /* - * Handle top level expression: -! * expr1 ? expr0 : expr0 - * - * "arg" must point to the first non-white of the expression. - * "arg" is advanced to the next non-white after the recognized expression. ---- 3928,3934 ---- - - /* - * Handle top level expression: -! * expr2 ? expr1 : expr1 - * - * "arg" must point to the first non-white of the expression. - * "arg" is advanced to the next non-white after the recognized expression. -*************** -*** 19912,19918 **** - : eval_isnamec(arg[j]))) - ++j; - if (arg[j] != NUL) -! emsg_funcname(e_invarg2, arg); - } - } - ---- 19912,19918 ---- - : eval_isnamec(arg[j]))) - ++j; - if (arg[j] != NUL) -! emsg_funcname((char *)e_invarg2, arg); - } - } - -*** ../vim-7.2.097/src/version.c Wed Feb 4 14:18:44 2009 ---- src/version.c Wed Feb 4 16:24:06 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 98, - /**/ - --- -Everybody lies, but it doesn't matter since nobody listens. - -- Lieberman's Law - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.099 --- a/components/vim/vim72-patches/7.2.099 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.099 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.099 -Problem: Changing GUI options causes an unnecessary redraw when the GUI - isn't active. -Solution: Avoid the redraw. (Lech Lorens) -Files: src/option.c - - -*** ../vim-7.2.098/src/option.c Wed Dec 24 12:53:33 2008 ---- src/option.c Wed Feb 4 16:59:56 2009 -*************** -*** 5407,5412 **** ---- 5407,5416 ---- - int did_chartab = FALSE; - char_u **gvarp; - long_u free_oldval = (options[opt_idx].flags & P_ALLOCED); -+ #ifdef FEAT_GUI -+ /* set when changing an option that only requires a redraw in the GUI */ -+ int redraw_gui_only = FALSE; -+ #endif - - /* Get the global option to compare with, otherwise we would have to check - * two values for all local options. */ -*************** -*** 6055,6060 **** ---- 6059,6065 ---- - errmsg = (char_u *)N_("E596: Invalid font(s)"); - } - } -+ redraw_gui_only = TRUE; - } - # ifdef FEAT_XFONTSET - else if (varp == &p_guifontset) -*************** -*** 6063,6068 **** ---- 6068,6074 ---- - errmsg = (char_u *)N_("E597: can't select fontset"); - else if (gui.in_use && gui_init_font(p_guifontset, TRUE) != OK) - errmsg = (char_u *)N_("E598: Invalid fontset"); -+ redraw_gui_only = TRUE; - } - # endif - # ifdef FEAT_MBYTE -*************** -*** 6072,6077 **** ---- 6078,6084 ---- - errmsg = (char_u *)N_("E533: can't select wide font"); - else if (gui_get_wide_font() == FAIL) - errmsg = (char_u *)N_("E534: Invalid wide font"); -+ redraw_gui_only = TRUE; - } - # endif - #endif -*************** -*** 6133,6145 **** ---- 6140,6163 ---- - #ifdef FEAT_GUI - /* 'guioptions' */ - else if (varp == &p_go) -+ { - gui_init_which_components(oldval); -+ redraw_gui_only = TRUE; -+ } - #endif - - #if defined(FEAT_GUI_TABLINE) - /* 'guitablabel' */ - else if (varp == &p_gtl) -+ { - redraw_tabline = TRUE; -+ redraw_gui_only = TRUE; -+ } -+ /* 'guitabtooltip' */ -+ else if (varp == &p_gtt) -+ { -+ redraw_gui_only = TRUE; -+ } - #endif - - #if defined(FEAT_MOUSE_TTY) && (defined(UNIX) || defined(VMS)) -*************** -*** 6717,6723 **** - - if (curwin->w_curswant != MAXCOL) - curwin->w_set_curswant = TRUE; /* in case 'showbreak' changed */ -! check_redraw(options[opt_idx].flags); - - return errmsg; - } ---- 6735,6745 ---- - - if (curwin->w_curswant != MAXCOL) - curwin->w_set_curswant = TRUE; /* in case 'showbreak' changed */ -! #ifdef FEAT_GUI -! /* check redraw when it's not a GUI option or the GUI is active. */ -! if (!redraw_gui_only || gui.in_use) -! #endif -! check_redraw(options[opt_idx].flags); - - return errmsg; - } -*** ../vim-7.2.098/src/version.c Wed Feb 4 16:25:53 2009 ---- src/version.c Wed Feb 4 17:24:11 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 99, - /**/ - --- -I started out with nothing, and I still have most of it. - -- Michael Davis -- "Tonight Show" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.100 --- a/components/vim/vim72-patches/7.2.100 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,132 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.100 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.100 -Problem: When using ":source" on a FIFO or something else that can't rewind - the first three bytes are skipped. -Solution: Instead of rewinding read the first line and detect a BOM in that. - (mostly by James Vega) -Files: src/ex_cmds2.c - - -*** ../vim-7.2.099/src/ex_cmds2.c Sat Nov 15 14:10:23 2008 ---- src/ex_cmds2.c Wed Feb 4 16:05:51 2009 -*************** -*** 2842,2847 **** ---- 2842,2848 ---- - linenr_T save_sourcing_lnum; - char_u *p; - char_u *fname_exp; -+ char_u *firstline = NULL; - int retval = FAIL; - #ifdef FEAT_EVAL - scid_T save_current_SID; -*************** -*** 2992,3014 **** - - cookie.level = ex_nesting_level; - #endif -- #ifdef FEAT_MBYTE -- cookie.conv.vc_type = CONV_NONE; /* no conversion */ -- -- /* Try reading the first few bytes to check for a UTF-8 BOM. */ -- { -- char_u buf[3]; -- -- if (fread((char *)buf, sizeof(char_u), (size_t)3, cookie.fp) -- == (size_t)3 -- && buf[0] == 0xef && buf[1] == 0xbb && buf[2] == 0xbf) -- /* Found BOM, setup conversion and skip over it. */ -- convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc); -- else -- /* No BOM found, rewind. */ -- fseek(cookie.fp, 0L, SEEK_SET); -- } -- #endif - - /* - * Keep the sourcing name/lnum, for recursive calls. ---- 2993,2998 ---- -*************** -*** 3018,3023 **** ---- 3002,3026 ---- - save_sourcing_lnum = sourcing_lnum; - sourcing_lnum = 0; - -+ #ifdef FEAT_MBYTE -+ cookie.conv.vc_type = CONV_NONE; /* no conversion */ -+ -+ /* Read the first line so we can check for a UTF-8 BOM. */ -+ firstline = getsourceline(0, (void *)&cookie, 0); -+ if (firstline != NULL && STRLEN(firstline) >= 3 && firstline[0] == 0xef -+ && firstline[1] == 0xbb && firstline[2] == 0xbf) -+ { -+ /* Found BOM; setup conversion, skip over BOM and recode the line. */ -+ convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc); -+ p = string_convert(&cookie.conv, firstline + 3, NULL); -+ if (p != NULL) -+ { -+ vim_free(firstline); -+ firstline = p; -+ } -+ } -+ #endif -+ - #ifdef STARTUPTIME - time_push(&tv_rel, &tv_start); - #endif -*************** -*** 3111,3119 **** - /* - * Call do_cmdline, which will call getsourceline() to get the lines. - */ -! do_cmdline(NULL, getsourceline, (void *)&cookie, - DOCMD_VERBOSE|DOCMD_NOWAIT|DOCMD_REPEAT); -- - retval = OK; - - #ifdef FEAT_PROFILE ---- 3114,3121 ---- - /* - * Call do_cmdline, which will call getsourceline() to get the lines. - */ -! do_cmdline(firstline, getsourceline, (void *)&cookie, - DOCMD_VERBOSE|DOCMD_NOWAIT|DOCMD_REPEAT); - retval = OK; - - #ifdef FEAT_PROFILE -*************** -*** 3171,3176 **** ---- 3173,3179 ---- - #endif - fclose(cookie.fp); - vim_free(cookie.nextline); -+ vim_free(firstline); - #ifdef FEAT_MBYTE - convert_setup(&cookie.conv, NULL, NULL); - #endif -*** ../vim-7.2.099/src/version.c Wed Feb 4 17:27:50 2009 ---- src/version.c Wed Feb 4 17:48:47 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 100, - /**/ - --- -Well, you come from nothing, you go back to nothing... What have you -lost? Nothing! - -- Monty Python: The life of Brian - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.102 --- a/components/vim/vim72-patches/7.2.102 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.102 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.102 (after 7.2.100) -Problem: When 'encoding' is "utf-8" a BOM at the start of a Vim script is - not removed. (Tony Mechelynck) -Solution: When no conversion is taking place make a copy of the line without - the BOM. -Files: src/ex_cmds2.c - - -*** ../vim-7.2.101/src/ex_cmds2.c Wed Feb 4 17:49:46 2009 ---- src/ex_cmds2.c Thu Feb 5 20:41:56 2009 -*************** -*** 3013,3018 **** ---- 3013,3020 ---- - /* Found BOM; setup conversion, skip over BOM and recode the line. */ - convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc); - p = string_convert(&cookie.conv, firstline + 3, NULL); -+ if (p == NULL) -+ p = vim_strsave(firstline + 3); - if (p != NULL) - { - vim_free(firstline); -*** ../vim-7.2.101/src/version.c Wed Feb 4 18:34:54 2009 ---- src/version.c Thu Feb 5 20:44:55 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 102, - /**/ - --- -CVS sux, men don't like commitment - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.103 --- a/components/vim/vim72-patches/7.2.103 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,216 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.103 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.103 -Problem: When 'bomb' is changed the window title is updated to show/hide a - "+", but the tab page label isn't. (Patrick Texier) -Solution: Set "redraw_tabline" in most places where "need_maketitle" is set. - (partly by Lech Lorens) -Files: src/option.c - - -*** ../vim-7.2.102/src/option.c Wed Feb 4 17:27:50 2009 ---- src/option.c Wed Feb 4 17:40:02 2009 -*************** -*** 5268,5273 **** ---- 5268,5288 ---- - } - #endif - -+ #ifdef FEAT_TITLE -+ static void redraw_titles __ARGS((void)); -+ -+ /* -+ * Redraw the window title and/or tab page text later. -+ */ -+ static void redraw_titles() -+ { -+ need_maketitle = TRUE; -+ # ifdef FEAT_WINDOWS -+ redraw_tabline = TRUE; -+ # endif -+ } -+ #endif -+ - /* - * Set a string option to a new value (without checking the effect). - * The string is copied into allocated memory. -*************** -*** 5672,5678 **** - { - # ifdef FEAT_TITLE - /* May show a "+" in the title now. */ -! need_maketitle = TRUE; - # endif - /* Add 'fileencoding' to the swap file. */ - ml_setflags(curbuf); ---- 5687,5693 ---- - { - # ifdef FEAT_TITLE - /* May show a "+" in the title now. */ -! redraw_titles(); - # endif - /* Add 'fileencoding' to the swap file. */ - ml_setflags(curbuf); -*************** -*** 5691,5697 **** - { - errmsg = mb_init(); - # ifdef FEAT_TITLE -! need_maketitle = TRUE; - # endif - } - } ---- 5706,5712 ---- - { - errmsg = mb_init(); - # ifdef FEAT_TITLE -! redraw_titles(); - # endif - } - } -*************** -*** 5800,5806 **** - else - curbuf->b_p_tx = FALSE; - #ifdef FEAT_TITLE -! need_maketitle = TRUE; - #endif - /* update flag in swap file */ - ml_setflags(curbuf); ---- 5815,5821 ---- - else - curbuf->b_p_tx = FALSE; - #ifdef FEAT_TITLE -! redraw_titles(); - #endif - /* update flag in swap file */ - ml_setflags(curbuf); -*************** -*** 7127,7148 **** - curbuf->b_did_warn = FALSE; - - #ifdef FEAT_TITLE -! need_maketitle = TRUE; - #endif - } - - #ifdef FEAT_TITLE - /* when 'modifiable' is changed, redraw the window title */ - else if ((int *)varp == &curbuf->b_p_ma) -! need_maketitle = TRUE; - /* when 'endofline' is changed, redraw the window title */ - else if ((int *)varp == &curbuf->b_p_eol) -! need_maketitle = TRUE; -! #ifdef FEAT_MBYTE -! /* when 'bomb' is changed, redraw the window title */ - else if ((int *)varp == &curbuf->b_p_bomb) -! need_maketitle = TRUE; -! #endif - #endif - - /* when 'bin' is set also set some other options */ ---- 7142,7169 ---- - curbuf->b_did_warn = FALSE; - - #ifdef FEAT_TITLE -! redraw_titles(); - #endif - } - - #ifdef FEAT_TITLE - /* when 'modifiable' is changed, redraw the window title */ - else if ((int *)varp == &curbuf->b_p_ma) -! { -! redraw_titles(); -! } - /* when 'endofline' is changed, redraw the window title */ - else if ((int *)varp == &curbuf->b_p_eol) -! { -! redraw_titles(); -! } -! # ifdef FEAT_MBYTE -! /* when 'bomb' is changed, redraw the window title and tab page text */ - else if ((int *)varp == &curbuf->b_p_bomb) -! { -! redraw_titles(); -! } -! # endif - #endif - - /* when 'bin' is set also set some other options */ -*************** -*** 7150,7156 **** - { - set_options_bin(old_value, curbuf->b_p_bin, opt_flags); - #ifdef FEAT_TITLE -! need_maketitle = TRUE; - #endif - } - ---- 7171,7177 ---- - { - set_options_bin(old_value, curbuf->b_p_bin, opt_flags); - #ifdef FEAT_TITLE -! redraw_titles(); - #endif - } - -*************** -*** 7301,7307 **** - if (!value) - save_file_ff(curbuf); /* Buffer is unchanged */ - #ifdef FEAT_TITLE -! need_maketitle = TRUE; - #endif - #ifdef FEAT_AUTOCMD - modified_was_set = value; ---- 7322,7328 ---- - if (!value) - save_file_ff(curbuf); /* Buffer is unchanged */ - #ifdef FEAT_TITLE -! redraw_titles(); - #endif - #ifdef FEAT_AUTOCMD - modified_was_set = value; -*************** -*** 7736,7742 **** - newFoldLevel(); - } - -! /* 'foldminlevel' */ - else if (pp == &curwin->w_p_fml) - { - foldUpdateAll(curwin); ---- 7757,7763 ---- - newFoldLevel(); - } - -! /* 'foldminlines' */ - else if (pp == &curwin->w_p_fml) - { - foldUpdateAll(curwin); -*** ../vim-7.2.102/src/version.c Thu Feb 5 20:47:14 2009 ---- src/version.c Wed Feb 11 11:32:20 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 103, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -73. You give your dog used motherboards instead of bones - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.104 --- a/components/vim/vim72-patches/7.2.104 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.104 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.104 -Problem: When using ":saveas bar.c" the tab label isn't updated right away. -Solution: Set redraw_tabline. (Francois Ingelrest) -Files: src/ex_cmds.c - - -*** ../vim-7.2.103/src/ex_cmds.c Wed Feb 4 13:13:42 2009 ---- src/ex_cmds.c Wed Feb 11 15:58:06 2009 -*************** -*** 2707,2713 **** ---- 2707,2718 ---- - if (eap->cmdidx == CMD_saveas) - { - if (retval == OK) -+ { - curbuf->b_p_ro = FALSE; -+ #ifdef FEAT_WINDOWS -+ redraw_tabline = TRUE; -+ #endif -+ } - /* Change directories when the 'acd' option is set. */ - DO_AUTOCHDIR - } -*** ../vim-7.2.103/src/version.c Wed Feb 11 11:34:24 2009 ---- src/version.c Wed Feb 11 16:02:19 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 104, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -75. You start wondering whether you could actually upgrade your brain - with a Pentium Pro microprocessor 80. The upgrade works just fine. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.105 --- a/components/vim/vim72-patches/7.2.105 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.105 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.105 -Problem: Modeline setting for 'foldmethod' overrules diff options. (Ingo - Karkat) -Solution: Don't set 'foldmethod' and 'wrap' from a modeline when 'diff' is - on. -Files: src/option.c - - -*** ../vim-7.2.104/src/option.c Wed Feb 11 11:34:24 2009 ---- src/option.c Wed Feb 11 16:29:56 2009 -*************** -*** 4119,4129 **** - && options[opt_idx].var == VAR_WIN) - goto skip; - -! /* Disallow changing some options from modelines */ -! if ((opt_flags & OPT_MODELINE) && (flags & P_SECURE)) - { -! errmsg = (char_u *)_("E520: Not allowed in a modeline"); -! goto skip; - } - - #ifdef HAVE_SANDBOX ---- 4119,4139 ---- - && options[opt_idx].var == VAR_WIN) - goto skip; - -! /* Disallow changing some options from modelines. */ -! if (opt_flags & OPT_MODELINE) - { -! if (flags & P_SECURE) -! { -! errmsg = (char_u *)_("E520: Not allowed in a modeline"); -! goto skip; -! } -! /* In diff mode some options are overruled. This avoids that -! * 'foldmethod' becomes "marker" instead of "diff" and that -! * "wrap" gets set. */ -! if (curwin->w_p_diff -! && (options[opt_idx].indir == PV_FDM -! || options[opt_idx].indir == PV_WRAP)) -! goto skip; - } - - #ifdef HAVE_SANDBOX -*** ../vim-7.2.104/src/version.c Wed Feb 11 16:02:29 2009 ---- src/version.c Wed Feb 11 16:40:35 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 105, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -76. Your ISP regards you as a business partner rather than as a customer. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.106 --- a/components/vim/vim72-patches/7.2.106 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.106 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.106 -Problem: Endless loop when using "]s" in HTML when there are no - misspellings. (Ingo Karkat) -Solution: Break the search loop. Also fix pointer alignment for systems - with pointers larger than int. -Files: src/spell.c - - -*** ../vim-7.2.105/src/spell.c Tue Dec 9 22:34:02 2008 ---- src/spell.c Wed Feb 11 17:54:50 2009 -*************** -*** 2376,2382 **** - - /* If we are back at the starting line and there is no match then - * give up. */ -! if (lnum == wp->w_cursor.lnum && !found_one) - break; - - /* Skip the characters at the start of the next line that were ---- 2376,2382 ---- - - /* If we are back at the starting line and there is no match then - * give up. */ -! if (lnum == wp->w_cursor.lnum && (!found_one || wrapped)) - break; - - /* Skip the characters at the start of the next line that were -*************** -*** 4956,4968 **** - * Structure that is used to store the items in the word tree. This avoids - * the need to keep track of each allocated thing, everything is freed all at - * once after ":mkspell" is done. - */ - #define SBLOCKSIZE 16000 /* size of sb_data */ - typedef struct sblock_S sblock_T; - struct sblock_S - { -- sblock_T *sb_next; /* next block in list */ - int sb_used; /* nr of bytes already in use */ - char_u sb_data[1]; /* data, actually longer */ - }; - ---- 4956,4971 ---- - * Structure that is used to store the items in the word tree. This avoids - * the need to keep track of each allocated thing, everything is freed all at - * once after ":mkspell" is done. -+ * Note: "sb_next" must be just before "sb_data" to make sure the alignment of -+ * "sb_data" is correct for systems where pointers must be aligned on -+ * pointer-size boundaries and sizeof(pointer) > sizeof(int) (e.g., Sparc). - */ - #define SBLOCKSIZE 16000 /* size of sb_data */ - typedef struct sblock_S sblock_T; - struct sblock_S - { - int sb_used; /* nr of bytes already in use */ -+ sblock_T *sb_next; /* next block in list */ - char_u sb_data[1]; /* data, actually longer */ - }; - -*************** -*** 15011,15017 **** - - case 0: - /* -! * Lenghts are equal, thus changes must result in same length: An - * insert is only possible in combination with a delete. - * 1: check if for identical strings - */ ---- 15014,15020 ---- - - case 0: - /* -! * Lengths are equal, thus changes must result in same length: An - * insert is only possible in combination with a delete. - * 1: check if for identical strings - */ -*** ../vim-7.2.105/src/version.c Wed Feb 11 16:45:56 2009 ---- src/version.c Wed Feb 11 17:56:34 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 106, - /**/ - --- -If bankers can count, how come they have eight windows and -only four tellers? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.107 --- a/components/vim/vim72-patches/7.2.107 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.107 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.107 -Problem: When using a GUI dialog and ":echo" commands the messages are - deleted after the dialog. (Vicent Birebent) -Solution: Don't call msg_end_prompt() since there was no prompt. -Files: src/message.c - - -*** ../vim-7.2.106/src/message.c Tue Jan 13 16:37:31 2009 ---- src/message.c Wed Feb 11 18:38:14 2009 -*************** -*** 3309,3315 **** - { - c = gui_mch_dialog(type, title, message, buttons, dfltbutton, - textfield); -! msg_end_prompt(); - - /* Flush output to avoid that further messages and redrawing is done - * in the wrong order. */ ---- 3309,3318 ---- - { - c = gui_mch_dialog(type, title, message, buttons, dfltbutton, - textfield); -! /* avoid a hit-enter prompt without clearing the cmdline */ -! need_wait_return = FALSE; -! emsg_on_display = FALSE; -! cmdline_row = msg_row; - - /* Flush output to avoid that further messages and redrawing is done - * in the wrong order. */ -*** ../vim-7.2.106/src/version.c Wed Feb 11 17:57:43 2009 ---- src/version.c Wed Feb 11 18:46:12 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 107, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -79. All of your most erotic dreams have a scrollbar at the right side. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.108 --- a/components/vim/vim72-patches/7.2.108 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.108 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.108 (after 7.2.105) -Problem: Can't build without the diff feature. -Solution: Add #ifdef. -Files: src/option.c - - -*** ../vim-7.2.107/src/option.c Wed Feb 11 16:45:56 2009 ---- src/option.c Wed Feb 11 22:21:16 2009 -*************** -*** 4127,4132 **** ---- 4127,4133 ---- - errmsg = (char_u *)_("E520: Not allowed in a modeline"); - goto skip; - } -+ #ifdef FEAT_DIFF - /* In diff mode some options are overruled. This avoids that - * 'foldmethod' becomes "marker" instead of "diff" and that - * "wrap" gets set. */ -*************** -*** 4134,4139 **** ---- 4135,4141 ---- - && (options[opt_idx].indir == PV_FDM - || options[opt_idx].indir == PV_WRAP)) - goto skip; -+ #endif - } - - #ifdef HAVE_SANDBOX -*** ../vim-7.2.107/src/version.c Wed Feb 11 18:46:48 2009 ---- src/version.c Wed Feb 11 22:46:40 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 108, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -80. At parties, you introduce your spouse as your "service provider." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.109 --- a/components/vim/vim72-patches/7.2.109 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,423 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.109 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.109 -Problem: 'langmap' does not work for multi-byte characters. -Solution: Add a list of mapped multi-byte characters. (based on work by - Konstantin Korikov, Agathoklis Hatzimanikas) -Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h, - src/normal.c, src/option.c, src/proto/option.pro, src/window.c - - -*** ../vim-7.2.108/runtime/doc/options.txt Fri Nov 28 10:59:57 2008 ---- runtime/doc/options.txt Wed Feb 11 18:59:34 2009 -*************** -*** 4175,4183 **** - be able to execute Normal mode commands. - This is the opposite of the 'keymap' option, where characters are - mapped in Insert mode. -- This only works for 8-bit characters. The value of 'langmap' may be -- specified with multi-byte characters (e.g., UTF-8), but only the lower -- 8 bits of each character will be used. - - Example (for Greek, in UTF-8): *greek* > - :set langmap=ΑA,ΒB,ΨC,ΔD,ΕE,ΦF,ΓG,ΗH,ΙI,ΞJ,ΚK,ΛL,ΜM,ΝN,ΟO,ΠP,QQ,ΡR,ΣS,ΤT,ΘU,ΩV,WW,ΧX,ΥY,ΖZ,αa,βb,ψc,δd,εe,φf,γg,ηh,ιi,ξj,κk,λl,μm,νn,οo,πp,qq,ρr,σs,τt,θu,ωv,ςw,χx,υy,ζz ---- 4188,4193 ---- -*** ../vim-7.2.108/src/edit.c Wed Feb 4 11:19:40 2009 ---- src/edit.c Sat Feb 21 19:54:03 2009 -*************** -*** 7703,7711 **** - */ - ++no_mapping; - regname = plain_vgetc(); -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(regname, TRUE); -- #endif - if (regname == Ctrl_R || regname == Ctrl_O || regname == Ctrl_P) - { - /* Get a third key for literal register insertion */ ---- 7703,7709 ---- -*************** -*** 7714,7722 **** - add_to_showcmd_c(literally); - #endif - regname = plain_vgetc(); -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(regname, TRUE); -- #endif - } - --no_mapping; - ---- 7712,7718 ---- -*** ../vim-7.2.108/src/macros.h Wed Aug 15 20:41:07 2007 ---- src/macros.h Sat Feb 21 19:55:38 2009 -*************** -*** 127,141 **** - #ifdef FEAT_LANGMAP - /* - * Adjust chars in a language according to 'langmap' option. -! * NOTE that there is NO overhead if 'langmap' is not set; but even -! * when set we only have to do 2 ifs and an array lookup. - * Don't apply 'langmap' if the character comes from the Stuff buffer. - * The do-while is just to ignore a ';' after the macro. - */ -! # define LANGMAP_ADJUST(c, condition) do { \ -! if (*p_langmap && (condition) && !KeyStuffed && (c) >= 0 && (c) < 256) \ -! c = langmap_mapchar[c]; \ - } while (0) - #endif - - /* ---- 127,157 ---- - #ifdef FEAT_LANGMAP - /* - * Adjust chars in a language according to 'langmap' option. -! * NOTE that there is no noticeable overhead if 'langmap' is not set. -! * When set the overhead for characters < 256 is small. - * Don't apply 'langmap' if the character comes from the Stuff buffer. - * The do-while is just to ignore a ';' after the macro. - */ -! # ifdef FEAT_MBYTE -! # define LANGMAP_ADJUST(c, condition) \ -! do { \ -! if (*p_langmap && (condition) && !KeyStuffed && (c) >= 0) \ -! { \ -! if ((c) < 256) \ -! c = langmap_mapchar[c]; \ -! else \ -! c = langmap_adjust_mb(c); \ -! } \ - } while (0) -+ # else -+ # define LANGMAP_ADJUST(c, condition) \ -+ do { \ -+ if (*p_langmap && (condition) && !KeyStuffed && (c) >= 0 && (c) < 256) \ -+ c = langmap_mapchar[c]; \ -+ } while (0) -+ # endif -+ #else -+ # define LANGMAP_ADJUST(c, condition) /* nop */ - #endif - - /* -*** ../vim-7.2.108/src/normal.c Wed Feb 4 11:45:28 2009 ---- src/normal.c Sat Feb 21 19:55:17 2009 -*************** -*** 651,660 **** - * Get the command character from the user. - */ - c = safe_vgetc(); -- -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(c, TRUE); -- #endif - - #ifdef FEAT_VISUAL - /* ---- 651,657 ---- -*************** -*** 744,752 **** - } - ++no_zero_mapping; /* don't map zero here */ - c = plain_vgetc(); -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(c, TRUE); -- #endif - --no_zero_mapping; - if (ctrl_w) - { ---- 741,747 ---- -*************** -*** 769,777 **** - ++no_mapping; - ++allow_keys; /* no mapping for nchar, but keys */ - c = plain_vgetc(); /* get next character */ -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(c, TRUE); -- #endif - --no_mapping; - --allow_keys; - #ifdef FEAT_CMDL_INFO ---- 764,770 ---- -*************** -*** 959,967 **** - * "gr", "g'" and "g`". - */ - ca.nchar = plain_vgetc(); -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(ca.nchar, TRUE); -- #endif - #ifdef FEAT_CMDL_INFO - need_flushbuf |= add_to_showcmd(ca.nchar); - #endif ---- 952,958 ---- -*************** -*** 1062,1071 **** - } - #endif - -- #ifdef FEAT_LANGMAP - /* adjust chars > 127, except after "tTfFr" commands */ - LANGMAP_ADJUST(*cp, !lang); -- #endif - #ifdef FEAT_RIGHTLEFT - /* adjust Hebrew mapped char */ - if (p_hkmap && lang && KeyTyped) ---- 1053,1060 ---- -*************** -*** 4630,4638 **** - ++no_mapping; - ++allow_keys; /* no mapping for nchar, but allow key codes */ - nchar = plain_vgetc(); -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(nchar, TRUE); -- #endif - --no_mapping; - --allow_keys; - #ifdef FEAT_CMDL_INFO ---- 4619,4625 ---- -*************** -*** 4988,4996 **** - ++no_mapping; - ++allow_keys; /* no mapping for nchar, but allow key codes */ - nchar = plain_vgetc(); -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(nchar, TRUE); -- #endif - --no_mapping; - --allow_keys; - #ifdef FEAT_CMDL_INFO ---- 4975,4981 ---- -*** ../vim-7.2.108/src/option.c Wed Feb 11 22:47:32 2009 ---- src/option.c Sat Feb 21 19:46:13 2009 -*************** -*** 10153,10177 **** - - #ifdef FEAT_LANGMAP - /* -! * Any character has an equivalent character. This is used for keyboards that -! * have a special language mode that sends characters above 128 (although -! * other characters can be translated too). - */ - - /* -! * char_u langmap_mapchar[256]; -! * Normally maps each of the 128 upper chars to an <128 ascii char; used to -! * "translate" native lang chars in normal mode or some cases of -! * insert mode without having to tediously switch lang mode back&forth. - */ - - static void - langmap_init() - { - int i; - -! for (i = 0; i < 256; i++) /* we init with a-one-to one map */ -! langmap_mapchar[i] = i; - } - - /* ---- 10153,10262 ---- - - #ifdef FEAT_LANGMAP - /* -! * Any character has an equivalent 'langmap' character. This is used for -! * keyboards that have a special language mode that sends characters above -! * 128 (although other characters can be translated too). The "to" field is a -! * Vim command character. This avoids having to switch the keyboard back to -! * ASCII mode when leaving Insert mode. -! * -! * langmap_mapchar[] maps any of 256 chars to an ASCII char used for Vim -! * commands. -! * When FEAT_MBYTE is defined langmap_mapga.ga_data is a sorted table of -! * langmap_entry_T. This does the same as langmap_mapchar[] for characters >= -! * 256. -! */ -! # ifdef FEAT_MBYTE -! /* -! * With multi-byte support use growarray for 'langmap' chars >= 256 - */ -+ typedef struct -+ { -+ int from; -+ int to; -+ } langmap_entry_T; -+ -+ static garray_T langmap_mapga; -+ static void langmap_set_entry __ARGS((int from, int to)); -+ -+ /* -+ * Search for an entry in "langmap_mapga" for "from". If found set the "to" -+ * field. If not found insert a new entry at the appropriate location. -+ */ -+ static void -+ langmap_set_entry(from, to) -+ int from; -+ int to; -+ { -+ langmap_entry_T *entries = (langmap_entry_T *)(langmap_mapga.ga_data); -+ int a = 0; -+ int b = langmap_mapga.ga_len; -+ -+ /* Do a binary search for an existing entry. */ -+ while (a != b) -+ { -+ int i = (a + b) / 2; -+ int d = entries[i].from - from; -+ -+ if (d == 0) -+ { -+ entries[i].to = to; -+ return; -+ } -+ if (d < 0) -+ a = i + 1; -+ else -+ b = i; -+ } -+ -+ if (ga_grow(&langmap_mapga, 1) != OK) -+ return; /* out of memory */ -+ -+ /* insert new entry at position "a" */ -+ entries = (langmap_entry_T *)(langmap_mapga.ga_data) + a; -+ mch_memmove(entries + 1, entries, -+ (langmap_mapga.ga_len - a) * sizeof(langmap_entry_T)); -+ ++langmap_mapga.ga_len; -+ entries[0].from = from; -+ entries[0].to = to; -+ } - - /* -! * Apply 'langmap' to multi-byte character "c" and return the result. - */ -+ int -+ langmap_adjust_mb(c) -+ int c; -+ { -+ langmap_entry_T *entries = (langmap_entry_T *)(langmap_mapga.ga_data); -+ int a = 0; -+ int b = langmap_mapga.ga_len; -+ -+ while (a != b) -+ { -+ int i = (a + b) / 2; -+ int d = entries[i].from - c; -+ -+ if (d == 0) -+ return entries[i].to; /* found matching entry */ -+ if (d < 0) -+ a = i + 1; -+ else -+ b = i; -+ } -+ return c; /* no entry found, return "c" unmodified */ -+ } -+ # endif - - static void - langmap_init() - { - int i; - -! for (i = 0; i < 256; i++) -! langmap_mapchar[i] = i; /* we init with a one-to-one map */ -! # ifdef FEAT_MBYTE -! ga_init2(&langmap_mapga, sizeof(langmap_entry_T), 8); -! # endif - } - - /* -*************** -*** 10185,10191 **** - char_u *p2; - int from, to; - -! langmap_init(); /* back to one-to-one map first */ - - for (p = p_langmap; p[0] != NUL; ) - { ---- 10270,10279 ---- - char_u *p2; - int from, to; - -! #ifdef FEAT_MBYTE -! ga_clear(&langmap_mapga); /* clear the previous map first */ -! #endif -! langmap_init(); /* back to one-to-one map */ - - for (p = p_langmap; p[0] != NUL; ) - { -*************** -*** 10235,10241 **** - transchar(from)); - return; - } -! langmap_mapchar[from & 255] = to; - - /* Advance to next pair */ - mb_ptr_adv(p); ---- 10323,10335 ---- - transchar(from)); - return; - } -! -! #ifdef FEAT_MBYTE -! if (from >= 256) -! langmap_set_entry(from, to); -! else -! #endif -! langmap_mapchar[from & 255] = to; - - /* Advance to next pair */ - mb_ptr_adv(p); -*** ../vim-7.2.108/src/proto/option.pro Sat May 5 19:28:04 2007 ---- src/proto/option.pro Wed Feb 11 21:21:05 2009 -*************** -*** 44,49 **** ---- 44,50 ---- - void set_context_in_set_cmd __ARGS((expand_T *xp, char_u *arg, int opt_flags)); - int ExpandSettings __ARGS((expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***file)); - int ExpandOldSetting __ARGS((int *num_file, char_u ***file)); -+ int langmap_adjust_mb __ARGS((int c)); - int has_format_option __ARGS((int x)); - int shortmess __ARGS((int x)); - void vimrc_found __ARGS((char_u *fname, char_u *envname)); -*** ../vim-7.2.108/src/window.c Fri Nov 28 21:26:50 2008 ---- src/window.c Sat Feb 21 19:55:25 2009 -*************** -*** 594,602 **** - ++allow_keys; /* no mapping for xchar, but allow key codes */ - if (xchar == NUL) - xchar = plain_vgetc(); -- #ifdef FEAT_LANGMAP - LANGMAP_ADJUST(xchar, TRUE); -- #endif - --no_mapping; - --allow_keys; - #ifdef FEAT_CMDL_INFO ---- 594,600 ---- -*** ../vim-7.2.108/src/version.c Wed Feb 11 22:47:32 2009 ---- src/version.c Sat Feb 21 19:34:28 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 109, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -99. The hum of a cooling fan and the click of keys is comforting 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.110 --- a/components/vim/vim72-patches/7.2.110 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.110 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.110 -Problem: Compiler warning for unused variable. -Solution: Init the variable. -Files: src/ex_docmd.c - - -*** ../vim-7.2.109/src/ex_docmd.c Wed Jan 28 15:42:07 2009 ---- src/ex_docmd.c Tue Feb 17 03:47:13 2009 -*************** -*** 5916,5922 **** - char_u *q; - - char_u *start; -! char_u *end; - char_u *ksp; - size_t len, totlen; - ---- 5916,5922 ---- - char_u *q; - - char_u *start; -! char_u *end = NULL; - char_u *ksp; - size_t len, totlen; - -*** ../vim-7.2.109/src/version.c Sat Feb 21 20:27:00 2009 ---- src/version.c Sat Feb 21 20:35:50 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 110, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -100. The most exciting sporting events you noticed during summer 1996 - was Netscape vs. Microsoft. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.111 --- a/components/vim/vim72-patches/7.2.111 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.111 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.111 -Problem: When using Visual block mode with 'cursorcolumn' it's unclear what - is selected. -Solution: Don't use 'cursorcolumn' highlighting inside the Visual selection. - (idea by Dominique Pelle) -Files: src/screen.c - - -*** ../vim-7.2.110/src/screen.c Wed Oct 1 21:09:02 2008 ---- src/screen.c Sat Feb 21 21:04:19 2009 -*************** -*** 2596,2601 **** ---- 2596,2602 ---- - int noinvcur = FALSE; /* don't invert the cursor */ - #ifdef FEAT_VISUAL - pos_T *top, *bot; -+ int lnum_in_visual_area = FALSE; - #endif - pos_T pos; - long v; -*************** -*** 2792,2800 **** - top = &VIsual; - bot = &curwin->w_cursor; - } - if (VIsual_mode == Ctrl_V) /* block mode */ - { -! if (lnum >= top->lnum && lnum <= bot->lnum) - { - fromcol = wp->w_old_cursor_fcol; - tocol = wp->w_old_cursor_lcol; ---- 2793,2802 ---- - top = &VIsual; - bot = &curwin->w_cursor; - } -+ lnum_in_visual_area = (lnum >= top->lnum && lnum <= bot->lnum); - if (VIsual_mode == Ctrl_V) /* block mode */ - { -! if (lnum_in_visual_area) - { - fromcol = wp->w_old_cursor_fcol; - tocol = wp->w_old_cursor_lcol; -*************** -*** 4557,4563 **** - * highlight the cursor position itself. */ - if (wp->w_p_cuc && vcol == (long)wp->w_virtcol - && lnum != wp->w_cursor.lnum -! && draw_state == WL_LINE) - { - vcol_save_attr = char_attr; - char_attr = hl_combine_attr(char_attr, hl_attr(HLF_CUC)); ---- 4560,4567 ---- - * highlight the cursor position itself. */ - if (wp->w_p_cuc && vcol == (long)wp->w_virtcol - && lnum != wp->w_cursor.lnum -! && draw_state == WL_LINE -! && !lnum_in_visual_area) - { - vcol_save_attr = char_attr; - char_attr = hl_combine_attr(char_attr, hl_attr(HLF_CUC)); -*** ../vim-7.2.110/src/version.c Sat Feb 21 20:36:30 2009 ---- src/version.c Sat Feb 21 21:08:14 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 111, - /**/ - --- -Contrary to popular belief, Unix is user friendly. -It just happens to be selective about who it makes friends with. - -- Dave Parnas - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.112 --- a/components/vim/vim72-patches/7.2.112 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.112 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.112 -Problem: Cursor invisible in Visual mode when 'number' is set and cursor in - first column. (Matti Niemenmaa, Renato Alves) -Solution: Check that vcol_prev is smaller than vcol. -Files: src/screen.c - - -*** ../vim-7.2.111/src/screen.c Sat Feb 21 21:10:24 2009 ---- src/screen.c Sat Feb 21 21:04:19 2009 -*************** -*** 3422,3427 **** ---- 3422,3428 ---- - && (*mb_ptr2cells)(ptr) > 1) - #endif - || ((int)vcol_prev == fromcol_prev -+ && vcol_prev < vcol /* not at margin */ - && vcol < tocol)) - area_attr = attr; /* start highlighting */ - else if (area_attr != 0 -*** ../vim-7.2.111/src/version.c Sat Feb 21 21:10:24 2009 ---- src/version.c Sat Feb 21 21:20:51 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 112, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -102. When filling out your driver's license application, you give - your IP address. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.113 --- a/components/vim/vim72-patches/7.2.113 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.113 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.113 -Problem: Crash for substitute() call using submatch(1) while there is no - such submatch. (Yukihiro Nakadaira) -Solution: Also check the start of the submatch is set, it can be NULL when - an attempted match didn't work out. -Files: src/regexp.c - - -*** ../vim-7.2.112/src/regexp.c Fri Aug 8 13:45:31 2008 ---- src/regexp.c Sat Feb 21 21:46:49 2009 -*************** -*** 4532,4538 **** - cleanup_subexpr(); - if (!REG_MULTI) /* Single-line regexp */ - { -! if (reg_endp[no] == NULL) - { - /* Backref was not set: Match an empty string. */ - len = 0; ---- 4532,4538 ---- - cleanup_subexpr(); - if (!REG_MULTI) /* Single-line regexp */ - { -! if (reg_startp[no] == NULL || reg_endp[no] == NULL) - { - /* Backref was not set: Match an empty string. */ - len = 0; -*************** -*** 4548,4554 **** - } - else /* Multi-line regexp */ - { -! if (reg_endpos[no].lnum < 0) - { - /* Backref was not set: Match an empty string. */ - len = 0; ---- 4548,4554 ---- - } - else /* Multi-line regexp */ - { -! if (reg_startpos[no].lnum < 0 || reg_endpos[no].lnum < 0) - { - /* Backref was not set: Match an empty string. */ - len = 0; -*************** -*** 7279,7291 **** - } - else - { -! if (submatch_match->endp[no] == NULL) - retval = NULL; - else -- { -- s = submatch_match->startp[no]; - retval = vim_strnsave(s, (int)(submatch_match->endp[no] - s)); -- } - } - - return retval; ---- 7279,7289 ---- - } - else - { -! s = submatch_match->startp[no]; -! if (s == NULL || submatch_match->endp[no] == NULL) - retval = NULL; - else - retval = vim_strnsave(s, (int)(submatch_match->endp[no] - s)); - } - - return retval; -*** ../vim-7.2.112/src/version.c Sat Feb 21 21:22:44 2009 ---- src/version.c Sat Feb 21 22:01:56 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 113, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -103. When you find yourself in the "Computer" section of Barnes & Noble - enjoying yourself. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.114 --- a/components/vim/vim72-patches/7.2.114 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.114 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.114 -Problem: Using wrong printf format. -Solution: Use "%ld" instead of "%d". (Dominique Pelle) -Files: src/netbeans.c - - -*** ../vim-7.2.113/src/netbeans.c Tue Jan 6 16:13:42 2009 ---- src/netbeans.c Tue Feb 17 03:21:33 2009 -*************** -*** 1924,1930 **** - vim_free(path); - if (bufp == NULL) - { -! nbdebug((" File %s not found in setBufferNumber\n", args)); - EMSG2("E642: File %s not found in setBufferNumber", args); - return FAIL; - } ---- 1924,1930 ---- - vim_free(path); - if (bufp == NULL) - { -! nbdebug((" File %s not found in setBufferNumber\n", args)); - EMSG2("E642: File %s not found in setBufferNumber", args); - return FAIL; - } -*************** -*** 2318,2324 **** - } - if (pos) - { -! coloncmd(":sign place %d line=%d name=%d buffer=%d", - serNum, pos->lnum, typeNum, buf->bufp->b_fnum); - if (typeNum == curPCtype) - coloncmd(":sign jump %d buffer=%d", serNum, ---- 2318,2324 ---- - } - if (pos) - { -! coloncmd(":sign place %d line=%ld name=%d buffer=%d", - serNum, pos->lnum, typeNum, buf->bufp->b_fnum); - if (typeNum == curPCtype) - coloncmd(":sign jump %d buffer=%d", serNum, -*************** -*** 2422,2428 **** - GUARDED) == 0) - { - coloncmd( -! ":sign place %d line=%d name=%d buffer=%d", - guardId++, lnum, GUARDED, - buf->bufp->b_fnum); - } ---- 2422,2428 ---- - GUARDED) == 0) - { - coloncmd( -! ":sign place %d line=%ld name=%d buffer=%d", - guardId++, lnum, GUARDED, - buf->bufp->b_fnum); - } -*** ../vim-7.2.113/src/version.c Sat Feb 21 22:03:06 2009 ---- src/version.c Sat Feb 21 22:11:21 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 114, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -104. When people ask about the Presidential Election you ask "Which country?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.115 --- a/components/vim/vim72-patches/7.2.115 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.115 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.115 -Problem: Some debugging code is never used. -Solution: Remove nbtrace() and nbprt(). (Dominique Pelle) -Files: src/nbdebug.c, src/nbdebug.h - -*** ../vim-7.2.114/src/nbdebug.c Tue Jun 24 23:54:30 2008 ---- src/nbdebug.c Tue Feb 17 03:26:07 2009 -*************** -*** 33,39 **** - u_int nb_dlevel = 0; /* nb_debug verbosity level */ - - void nbdb(char *, ...); -- void nbtrace(char *, ...); - - static int lookup(char *); - #ifdef USE_NB_ERRORHANDLER ---- 33,38 ---- -*************** -*** 100,124 **** - } /* end nbdebug_log_init */ - - -- -- -- void -- nbtrace( -- char *fmt, -- ...) -- { -- va_list ap; -- -- if (nb_debug!= NULL && (nb_dlevel & (NB_TRACE | NB_TRACE_VERBOSE))) { -- va_start(ap, fmt); -- vfprintf(nb_debug, fmt, ap); -- va_end(ap); -- fflush(nb_debug); -- } -- -- } /* end nbtrace */ -- -- - void - nbdbg( - char *fmt, ---- 99,104 ---- -*************** -*** 136,158 **** - } /* end nbdbg */ - - -- void -- nbprt( -- char *fmt, -- ...) -- { -- va_list ap; -- -- if (nb_debug != NULL && nb_dlevel & NB_PRINT) { -- va_start(ap, fmt); -- vfprintf(nb_debug, fmt, ap); -- va_end(ap); -- fflush(nb_debug); -- } -- -- } /* end nbprt */ -- -- - static int - lookup( - char *file) ---- 116,121 ---- -*** ../vim-7.2.114/src/nbdebug.h Wed Jun 25 00:47:21 2008 ---- src/nbdebug.h Tue Feb 17 03:26:38 2009 -*************** -*** 43,50 **** - - - void nbdbg(char *, ...); -- void nbprt(char *, ...); -- void nbtrace(char *, ...); - - void nbdebug_wait __ARGS((u_int wait_flags, char *wait_var, u_int wait_secs)); - void nbdebug_log_init __ARGS((char *log_var, char *level_var)); ---- 43,48 ---- -*************** -*** 70,88 **** - { - } - -- void -- nbprt( -- char *fmt, -- ...) -- { -- } -- -- void -- nbtrace( -- char *fmt, -- ...) -- { -- } -- - #endif /* NBDEBUG */ - #endif /* NBDEBUG_H */ ---- 68,72 ---- -*** ../vim-7.2.114/src/version.c Sat Feb 21 22:12:43 2009 ---- src/version.c Sat Feb 21 22:28:21 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 115, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -105. When someone asks you for your address, you tell them 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.116 --- a/components/vim/vim72-patches/7.2.116 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.116 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.116 -Problem: Not all memory is freed when EXITFREE is defined. -Solution: Free allocated memory on exit. (Dominique Pelle) -Files: src/ex_docmd.c, src/gui_gtk_x11.c, src/misc2.c, src/search.c, - src/tag.c - - -*** ../vim-7.2.115/src/tag.c Tue Jan 13 17:27:18 2009 ---- src/tag.c Tue Feb 17 03:43:32 2009 -*************** -*** 2542,2547 **** ---- 2542,2556 ---- - { - ga_clear_strings(&tag_fnames); - do_tag(NULL, DT_FREE, 0, 0, 0); -+ tag_freematch(); -+ -+ # if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) -+ if (ptag_entry.tagname) -+ { -+ vim_free(ptag_entry.tagname); -+ ptag_entry.tagname = NULL; -+ } -+ # endif - } - #endif - -*** ../vim-7.2.115/src/version.c Sat Feb 21 22:29:12 2009 ---- src/version.c Sat Feb 21 22:56:14 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 116, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -106. When told to "go to your room" you inform your parents that you - can't...because you were kicked out and banned. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.117 --- a/components/vim/vim72-patches/7.2.117 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.117 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.117 -Problem: Location list incorrectly labelled "Quickfix List". -Solution: Break out of both loops for finding window for location list - buffer. (Lech Lorens) -Files: src/buffer.c, src/quickfix.c, src/screen.c - - -*** ../vim-7.2.116/src/buffer.c Tue Jan 6 16:13:42 2009 ---- src/buffer.c Tue Feb 17 04:00:51 2009 -*************** -*** 5098,5104 **** - */ - FOR_ALL_TAB_WINDOWS(tp, win) - if (win->w_buffer == buf) -! break; - if (win != NULL && win->w_llist_ref != NULL) - return _("[Location List]"); - else ---- 5098,5105 ---- - */ - FOR_ALL_TAB_WINDOWS(tp, win) - if (win->w_buffer == buf) -! goto win_found; -! win_found: - if (win != NULL && win->w_llist_ref != NULL) - return _("[Location List]"); - else -*** ../vim-7.2.116/src/quickfix.c Sat Nov 15 14:10:23 2008 ---- src/quickfix.c Sat Feb 21 22:54:25 2009 -*************** -*** 1610,1619 **** - { - goto_tabpage_win(tp, wp); - usable_win = 1; -! break; - } - } - } - - /* - * If there is only one window and it is the quickfix window, create a ---- 1612,1622 ---- - { - goto_tabpage_win(tp, wp); - usable_win = 1; -! goto win_found; - } - } - } -+ win_found: - - /* - * If there is only one window and it is the quickfix window, create a -*** ../vim-7.2.116/src/screen.c Sat Feb 21 21:22:44 2009 ---- src/screen.c Sat Feb 21 21:04:19 2009 -*************** -*** 7452,7461 **** - { - outofmem = TRUE; - #ifdef FEAT_WINDOWS -! break; - #endif - } - } - - #ifdef FEAT_MBYTE - for (i = 0; i < p_mco; ++i) ---- 7452,7464 ---- - { - outofmem = TRUE; - #ifdef FEAT_WINDOWS -! goto give_up; - #endif - } - } -+ #ifdef FEAT_WINDOWS -+ give_up: -+ #endif - - #ifdef FEAT_MBYTE - for (i = 0; i < p_mco; ++i) -*** ../vim-7.2.116/src/version.c Sat Feb 21 22:57:10 2009 ---- src/version.c Sat Feb 21 23:58:24 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 117, - /**/ - --- -Laughing helps. It's like jogging on the inside. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.118 --- a/components/vim/vim72-patches/7.2.118 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.118 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.118 -Problem: at the more prompt only does half a page. -Solution: Make go up a whole page. Also make 'f' go a page - forward, but not quit the more prompt. (Markus Heidelberg) -Files: src/message.c - - -*** ../vim-7.2.117/src/message.c Wed Feb 11 18:46:48 2009 ---- src/message.c Fri Feb 20 05:20:15 2009 -*************** -*** 976,982 **** - } - } - else if (msg_scrolled > Rows - 2 -! && (c == 'j' || c == K_DOWN || c == 'd')) - c = K_IGNORE; - } - } while ((had_got_int && c == Ctrl_C) ---- 976,982 ---- - } - } - else if (msg_scrolled > Rows - 2 -! && (c == 'j' || c == K_DOWN || c == 'd' || c == 'f')) - c = K_IGNORE; - } - } while ((had_got_int && c == Ctrl_C) -*************** -*** 2504,2510 **** - break; - - case 'u': /* Up half a page */ -- case K_PAGEUP: - scroll = -(Rows / 2); - break; - ---- 2504,2509 ---- -*************** -*** 2513,2522 **** ---- 2512,2523 ---- - break; - - case 'b': /* one page back */ -+ case K_PAGEUP: - scroll = -(Rows - 1); - break; - - case ' ': /* one extra page */ -+ case 'f': - case K_PAGEDOWN: - case K_LEFTMOUSE: - scroll = Rows - 1; -*** ../vim-7.2.117/src/version.c Sun Feb 22 00:01:42 2009 ---- src/version.c Sun Feb 22 00:57:16 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 118, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -109. You actually read -- and enjoy -- lists like this. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.119 --- a/components/vim/vim72-patches/7.2.119 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.119 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.119 -Problem: Status line is redrawn too often. -Solution: Check ScreeenLinesUC[] properly. (Yukihiro Nakadaira) -Files: src/screen.c - - -*** ../vim-7.2.118/src/screen.c Sun Feb 22 00:01:42 2009 ---- src/screen.c Sun Feb 22 01:07:38 2009 -*************** -*** 6362,6368 **** - && c == 0x8e - && ScreenLines2[off] != ptr[1]) - || (enc_utf8 -! && (ScreenLinesUC[off] != (u8char_T)u8c - || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr ---- 6362,6368 ---- - && c == 0x8e - && ScreenLines2[off] != ptr[1]) - || (enc_utf8 -! && (ScreenLinesUC[off] != (u8char_T)(c >= 0x80 ? u8c : 0) - || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr -*** ../vim-7.2.118/src/version.c Sun Feb 22 00:58:03 2009 ---- src/version.c Sun Feb 22 01:09:54 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 119, - /**/ - --- -In a world without walls and borders, who needs windows and gates? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.120 --- a/components/vim/vim72-patches/7.2.120 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,277 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.120 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.120 -Problem: When opening the quickfix window or splitting the window and - setting the location list, the location list is copied and then - deleted, which is inefficient. -Solution: Don't copy the location list when not needed. (Lech Lorens) -Files: src/quickfix.c, src/vim.h, src/window.c - - -*** ../vim-7.2.119/src/quickfix.c Sun Feb 22 00:01:42 2009 ---- src/quickfix.c Sat Feb 21 22:54:25 2009 -*************** -*** 1419,1424 **** ---- 1419,1425 ---- - int opened_window = FALSE; - win_T *win; - win_T *altwin; -+ int flags; - #endif - win_T *oldwin = curwin; - int print_message = TRUE; -*************** -*** 1531,1537 **** - if (qf_ptr->qf_type == 1 && (!curwin->w_buffer->b_help || cmdmod.tab != 0)) - { - win_T *wp; -- int n; - - if (cmdmod.tab != 0) - wp = NULL; ---- 1532,1537 ---- -*************** -*** 1547,1559 **** - * Split off help window; put it at far top if no position - * specified, the current window is vertically split and narrow. - */ -! n = WSP_HELP; - # ifdef FEAT_VERTSPLIT - if (cmdmod.split == 0 && curwin->w_width != Columns - && curwin->w_width < 80) -! n |= WSP_TOP; - # endif -! if (win_split(0, n) == FAIL) - goto theend; - opened_window = TRUE; /* close it when fail */ - ---- 1547,1562 ---- - * Split off help window; put it at far top if no position - * specified, the current window is vertically split and narrow. - */ -! flags = WSP_HELP; - # ifdef FEAT_VERTSPLIT - if (cmdmod.split == 0 && curwin->w_width != Columns - && curwin->w_width < 80) -! flags |= WSP_TOP; - # endif -! if (qi != &ql_info) -! flags |= WSP_NEWLOC; /* don't copy the location list */ -! -! if (win_split(0, flags) == FAIL) - goto theend; - opened_window = TRUE; /* close it when fail */ - -*************** -*** 1563,1569 **** - if (qi != &ql_info) /* not a quickfix list */ - { - /* The new window should use the supplied location list */ -- qf_free_all(curwin); - curwin->w_llist = qi; - qi->qf_refcount++; - } ---- 1566,1571 ---- -*************** -*** 1624,1630 **** - { - ll_ref = curwin->w_llist_ref; - -! if (win_split(0, WSP_ABOVE) == FAIL) - goto failed; /* not enough room for window */ - opened_window = TRUE; /* close it when fail */ - p_swb = empty_option; /* don't split again */ ---- 1626,1635 ---- - { - ll_ref = curwin->w_llist_ref; - -! flags = WSP_ABOVE; -! if (ll_ref != NULL) -! flags |= WSP_NEWLOC; -! if (win_split(0, flags) == FAIL) - goto failed; /* not enough room for window */ - opened_window = TRUE; /* close it when fail */ - p_swb = empty_option; /* don't split again */ -*************** -*** 1636,1642 **** - { - /* The new window should use the location list from the - * location list window */ -- qf_free_all(curwin); - curwin->w_llist = ll_ref; - ll_ref->qf_refcount++; - } ---- 1641,1646 ---- -*************** -*** 2311,2325 **** - if (eap->cmdidx == CMD_copen || eap->cmdidx == CMD_cwindow) - /* Create the new window at the very bottom. */ - win_goto(lastwin); -! if (win_split(height, WSP_BELOW) == FAIL) - return; /* not enough room for window */ - #ifdef FEAT_SCROLLBIND - curwin->w_p_scb = FALSE; - #endif - -- /* Remove the location list for the quickfix window */ -- qf_free_all(curwin); -- - if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow) - { - /* ---- 2315,2326 ---- - if (eap->cmdidx == CMD_copen || eap->cmdidx == CMD_cwindow) - /* Create the new window at the very bottom. */ - 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) - { - /* -*** ../vim-7.2.119/src/vim.h Thu Nov 20 14:11:47 2008 ---- src/vim.h Sat Feb 21 22:53:03 2009 -*************** -*** 1057,1062 **** ---- 1057,1063 ---- - #define WSP_HELP 16 /* creating the help window */ - #define WSP_BELOW 32 /* put new window below/right */ - #define WSP_ABOVE 64 /* put new window above/left */ -+ #define WSP_NEWLOC 128 /* don't copy location list */ - - /* - * arguments for gui_set_shellsize() -*** ../vim-7.2.119/src/window.c Sat Feb 21 20:27:00 2009 ---- src/window.c Sat Feb 21 23:56:41 2009 -*************** -*** 12,18 **** - static int path_is_url __ARGS((char_u *p)); - #if defined(FEAT_WINDOWS) || defined(PROTO) - static int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir)); -! static void win_init __ARGS((win_T *newp, win_T *oldp)); - static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col)); - static void frame_setheight __ARGS((frame_T *curfrp, int height)); - #ifdef FEAT_VERTSPLIT ---- 12,18 ---- - static int path_is_url __ARGS((char_u *p)); - #if defined(FEAT_WINDOWS) || defined(PROTO) - static int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir)); -! static void win_init __ARGS((win_T *newp, win_T *oldp, int flags)); - static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col)); - static void frame_setheight __ARGS((frame_T *curfrp, int height)); - #ifdef FEAT_VERTSPLIT -*************** -*** 911,917 **** - return FAIL; - - /* make the contents of the new window the same as the current one */ -! win_init(wp, curwin); - } - - /* ---- 911,917 ---- - return FAIL; - - /* make the contents of the new window the same as the current one */ -! win_init(wp, curwin, flags); - } - - /* -*************** -*** 1160,1170 **** - * Initialize window "newp" from window "oldp". - * Used when splitting a window and when creating a new tab page. - * The windows will both edit the same buffer. - */ - static void -! win_init(newp, oldp) - win_T *newp; - win_T *oldp; - { - int i; - ---- 1160,1174 ---- - * Initialize window "newp" from window "oldp". - * Used when splitting a window and when creating a new tab page. - * The windows will both edit the same buffer. -+ * WSP_NEWLOC may be specified in flags to prevent the location list from -+ * being copied. - */ -+ /*ARGSUSED*/ - static void -! win_init(newp, oldp, flags) - win_T *newp; - win_T *oldp; -+ int flags; - { - int i; - -*************** -*** 1189,1195 **** - copy_jumplist(oldp, newp); - #endif - #ifdef FEAT_QUICKFIX -! copy_loclist(oldp, newp); - #endif - if (oldp->w_localdir != NULL) - newp->w_localdir = vim_strsave(oldp->w_localdir); ---- 1193,1206 ---- - copy_jumplist(oldp, newp); - #endif - #ifdef FEAT_QUICKFIX -! if (flags & WSP_NEWLOC) -! { -! /* Don't copy the location list. */ -! newp->w_llist = NULL; -! newp->w_llist_ref = NULL; -! } -! else -! copy_loclist(oldp, newp); - #endif - if (oldp->w_localdir != NULL) - newp->w_localdir = vim_strsave(oldp->w_localdir); -*************** -*** 3219,3225 **** - else - { - /* First window in new tab page, initialize it from "oldwin". */ -! win_init(curwin, oldwin); - - # ifdef FEAT_SCROLLBIND - /* We don't want scroll-binding in the first window. */ ---- 3230,3236 ---- - else - { - /* 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. */ -*** ../vim-7.2.119/src/version.c Sun Feb 22 01:13:45 2009 ---- src/version.c Sun Feb 22 02:32:14 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 120, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -110. You actually volunteer to become your employer's webmaster. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.121 --- a/components/vim/vim72-patches/7.2.121 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,180 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.121 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.121 -Problem: In gvim "!grep a *.c" spews out a lot of text that can't be - stopped with CTRL-C. -Solution: When looping to read and show text, do check for typed characters - every two seconds. -Files: src/os_unix.c - - -*** ../vim-7.2.120/src/os_unix.c Wed Feb 4 14:18:44 2009 ---- src/os_unix.c Sun Feb 22 00:54:05 2009 -*************** -*** 4092,4097 **** ---- 4092,4100 ---- - int fromshell_fd; - garray_T ga; - int noread_cnt; -+ # if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H) -+ struct timeval start_tv; -+ # endif - - # ifdef FEAT_GUI - if (pty_master_fd >= 0) -*************** -*** 4201,4207 **** - ga_init2(&ga, 1, BUFLEN); - - noread_cnt = 0; -! - for (;;) - { - /* ---- 4204,4212 ---- - ga_init2(&ga, 1, BUFLEN); - - noread_cnt = 0; -! # if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H) -! gettimeofday(&start_tv, NULL); -! # endif - for (;;) - { - /* -*************** -*** 4214,4238 **** - * that a typed password is echoed for ssh or gpg command. - * Don't get characters when the child has already - * finished (wait_pid == 0). -- * Don't get extra characters when we already have one. - * Don't read characters unless we didn't get output for a -! * while, avoids that ":r !ls" eats typeahead. - */ - len = 0; - if (!(options & SHELL_EXPAND) - && ((options & - (SHELL_READ|SHELL_WRITE|SHELL_COOKED)) - != (SHELL_READ|SHELL_WRITE|SHELL_COOKED) -! #ifdef FEAT_GUI - || gui.in_use -! #endif - ) - && wait_pid == 0 -! && (ta_len > 0 -! || (noread_cnt > 4 -! && (len = ui_inchar(ta_buf, -! BUFLEN, 10L, 0)) > 0))) - { - /* - * For pipes: - * Check for CTRL-C: send interrupt signal to child. ---- 4219,4252 ---- - * that a typed password is echoed for ssh or gpg command. - * Don't get characters when the child has already - * finished (wait_pid == 0). - * Don't read characters unless we didn't get output for a -! * while (noread_cnt > 4), avoids that ":r !ls" eats -! * typeahead. - */ - len = 0; - if (!(options & SHELL_EXPAND) - && ((options & - (SHELL_READ|SHELL_WRITE|SHELL_COOKED)) - != (SHELL_READ|SHELL_WRITE|SHELL_COOKED) -! # ifdef FEAT_GUI - || gui.in_use -! # endif - ) - && wait_pid == 0 -! && (ta_len > 0 || noread_cnt > 4)) - { -+ if (ta_len == 0) -+ { -+ /* Get extra characters when we don't have any. -+ * Reset the counter and timer. */ -+ noread_cnt = 0; -+ # if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H) -+ gettimeofday(&start_tv, NULL); -+ # endif -+ len = ui_inchar(ta_buf, BUFLEN, 10L, 0); -+ } -+ if (ta_len > 0 || len > 0) -+ { - /* - * For pipes: - * Check for CTRL-C: send interrupt signal to child. -*************** -*** 4334,4342 **** - { - ta_len -= len; - mch_memmove(ta_buf, ta_buf + len, ta_len); -- noread_cnt = 0; - } - } - } - - if (got_int) ---- 4348,4356 ---- - { - ta_len -= len; - mch_memmove(ta_buf, ta_buf + len, ta_len); - } - } -+ } - } - - if (got_int) -*************** -*** 4444,4449 **** ---- 4458,4482 ---- - out_flush(); - if (got_int) - break; -+ -+ # if defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H) -+ { -+ struct timeval now_tv; -+ long msec; -+ -+ /* Avoid that we keep looping here without -+ * checking for a CTRL-C for a long time. Don't -+ * break out too often to avoid losing typeahead. */ -+ gettimeofday(&now_tv, NULL); -+ msec = (now_tv.tv_sec - start_tv.tv_sec) * 1000L -+ + (now_tv.tv_usec - start_tv.tv_usec) / 1000L; -+ if (msec > 2000) -+ { -+ noread_cnt = 5; -+ break; -+ } -+ } -+ # endif - } - - /* If we already detected the child has finished break the -*** ../vim-7.2.120/src/version.c Sun Feb 22 02:36:36 2009 ---- src/version.c Sun Feb 22 02:48:03 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 121, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -111. You and your friends get together regularly on IRC, even though - all of you live in the same city. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.122 --- a/components/vim/vim72-patches/7.2.122 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.122 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.122 -Problem: Invalid memory access when the VimResized autocommand changes - 'columns' and/or 'lines'. -Solution: After VimResized check for changed values. (Dominique Pelle) -Files: src/screen.c - - -*** ../vim-7.2.121/src/screen.c Sun Feb 22 01:13:45 2009 ---- src/screen.c Sun Feb 22 01:07:38 2009 -*************** -*** 7368,7374 **** ---- 7368,7378 ---- - #endif - static int entered = FALSE; /* avoid recursiveness */ - static int done_outofmem_msg = FALSE; /* did outofmem message */ -+ #ifdef FEAT_AUTOCMD -+ int retry_count = 0; - -+ retry: -+ #endif - /* - * Allocation of the screen buffers is done only when the size changes and - * when Rows and Columns have been set and we have started doing full -*************** -*** 7643,7650 **** - --RedrawingDisabled; - - #ifdef FEAT_AUTOCMD -! if (starting == 0) - apply_autocmds(EVENT_VIMRESIZED, NULL, NULL, FALSE, curbuf); - #endif - } - ---- 7647,7663 ---- - --RedrawingDisabled; - - #ifdef FEAT_AUTOCMD -! /* -! * Do not apply autocommands more than 3 times to avoid an endless loop -! * in case applying autocommands always changes Rows or Columns. -! */ -! if (starting == 0 && ++retry_count <= 3) -! { - apply_autocmds(EVENT_VIMRESIZED, NULL, NULL, FALSE, curbuf); -+ /* In rare cases, autocommands may have altered Rows or Columns, -+ * jump back to check if we need to allocate the screen again. */ -+ goto retry; -+ } - #endif - } - -*** ../vim-7.2.121/src/version.c Sun Feb 22 02:51:37 2009 ---- src/version.c Sun Feb 22 21:11:14 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 122, - /**/ - --- -FIXME and XXX are two common keywords used to mark broken or incomplete code -not only since XXX as a sex reference would grab everbodys attention but -simply due to the fact that Vim would highlight these words. - -- Hendrik Scholz - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.123 --- a/components/vim/vim72-patches/7.2.123 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.123 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.123 -Problem: Typing 'q' at more prompt for ":map" output still displays another - line, causing another more prompt. (Markus Heidelberg) -Solution: Quit listing maps when 'q' typed. -Files: src/getchar.c - - -*** ../vim-7.2.122/src/getchar.c Fri Nov 28 12:05:07 2008 ---- src/getchar.c Sun Feb 22 23:10:45 2009 -*************** -*** 3816,3822 **** ---- 3816,3826 ---- - int len = 1; - - if (msg_didout || msg_silent != 0) -+ { - msg_putchar('\n'); -+ 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) -*** ../vim-7.2.122/src/version.c Sun Feb 22 21:12:22 2009 ---- src/version.c Sun Feb 22 23:16:29 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 123, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -120. You ask a friend, "What's that big shiny thing?" He says, "It's the sun." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.124 --- a/components/vim/vim72-patches/7.2.124 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,122 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.124 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.124 -Problem: Typing 'q' at more prompt for ":tselect" output still displays - more lines, causing another more prompt. (Markus Heidelberg) -Solution: Quit listing tags when 'q' typed. -Files: src/tag.c - - -*** ../vim-7.2.123/src/tag.c Sat Feb 21 22:57:10 2009 ---- src/tag.c Mon Feb 23 00:07:24 2009 -*************** -*** 618,624 **** - taglen_advance(taglen); - MSG_PUTS_ATTR(_("file\n"), hl_attr(HLF_T)); - -! for (i = 0; i < num_matches; ++i) - { - parse_match(matches[i], &tagp); - if (!new_tag && ( ---- 618,624 ---- - taglen_advance(taglen); - MSG_PUTS_ATTR(_("file\n"), hl_attr(HLF_T)); - -! for (i = 0; i < num_matches && !got_int; ++i) - { - parse_match(matches[i], &tagp); - if (!new_tag && ( -*************** -*** 655,660 **** ---- 655,662 ---- - } - if (msg_col > 0) - msg_putchar('\n'); -+ if (got_int) -+ break; - msg_advance(15); - - /* print any extra fields */ -*************** -*** 689,694 **** ---- 691,698 ---- - if (msg_col + ptr2cells(p) >= Columns) - { - msg_putchar('\n'); -+ if (got_int) -+ break; - msg_advance(15); - } - p = msg_outtrans_one(p, attr); -*************** -*** 704,709 **** ---- 708,715 ---- - if (msg_col > 15) - { - msg_putchar('\n'); -+ if (got_int) -+ break; - msg_advance(15); - } - } -*************** -*** 734,739 **** ---- 740,747 ---- - { - if (msg_col + (*p == TAB ? 1 : ptr2cells(p)) > Columns) - msg_putchar('\n'); -+ if (got_int) -+ break; - msg_advance(15); - - /* skip backslash used for escaping command char */ -*************** -*** 760,771 **** - if (msg_col) - msg_putchar('\n'); - ui_breakcheck(); -- if (got_int) -- { -- got_int = FALSE; /* only stop the listing */ -- break; -- } - } - ask_for_selection = TRUE; - } - #if defined(FEAT_QUICKFIX) && defined(FEAT_EVAL) ---- 768,776 ---- - if (msg_col) - msg_putchar('\n'); - ui_breakcheck(); - } -+ if (got_int) -+ got_int = FALSE; /* only stop the listing */ - ask_for_selection = TRUE; - } - #if defined(FEAT_QUICKFIX) && defined(FEAT_EVAL) -*** ../vim-7.2.123/src/version.c Sun Feb 22 23:42:08 2009 ---- src/version.c Mon Feb 23 00:51:57 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 124, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -123. You ask the car dealer to install an extra cigarette lighter - on your new car to power your notebook. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.125 --- a/components/vim/vim72-patches/7.2.125 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.125 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.125 -Problem: Leaking memory when reading XPM bitmap for a sign. -Solution: Don't allocate the memory twice. (Dominique Pelle) -Files: src/gui_x11.c - - -*** ../vim-7.2.124/src/gui_x11.c Wed Nov 12 13:07:48 2008 ---- src/gui_x11.c Sun Feb 22 21:58:19 2009 -*************** -*** 1587,1592 **** ---- 1587,1594 ---- - XtCloseDisplay(gui.dpy); - gui.dpy = NULL; - vimShell = (Widget)0; -+ vim_free(gui_argv); -+ gui_argv = NULL; - } - - /* -*************** -*** 1761,1766 **** ---- 1763,1770 ---- - * says that this isn't needed when exiting, so just skip it. */ - XtCloseDisplay(gui.dpy); - #endif -+ vim_free(gui_argv); -+ gui_argv = NULL; - } - - /* -*************** -*** 3439,3485 **** - char_u *signfile; - { - XpmAttributes attrs; -! XImage *sign; - int status; - - /* - * Setup the color substitution table. - */ -- sign = NULL; - if (signfile[0] != NUL && signfile[0] != '-') - { -! sign = (XImage *)alloc(sizeof(XImage)); -! if (sign != NULL) - { -! XpmColorSymbol color[5] = -! { -! {"none", NULL, 0}, -! {"iconColor1", NULL, 0}, -! {"bottomShadowColor", NULL, 0}, -! {"topShadowColor", NULL, 0}, -! {"selectColor", NULL, 0} -! }; -! attrs.valuemask = XpmColorSymbols; -! attrs.numsymbols = 2; -! attrs.colorsymbols = color; -! attrs.colorsymbols[0].pixel = gui.back_pixel; -! attrs.colorsymbols[1].pixel = gui.norm_pixel; -! status = XpmReadFileToImage(gui.dpy, (char *)signfile, - &sign, NULL, &attrs); -! -! if (status == 0) -! { -! /* Sign width is fixed at two columns now. -! if (sign->width > gui.sign_width) -! gui.sign_width = sign->width + 8; */ -! } -! else -! { -! vim_free(sign); -! sign = NULL; -! EMSG(_(e_signdata)); -! } - } - } - - return (void *)sign; ---- 3443,3479 ---- - char_u *signfile; - { - XpmAttributes attrs; -! XImage *sign = NULL; - int status; - - /* - * Setup the color substitution table. - */ - if (signfile[0] != NUL && signfile[0] != '-') - { -! XpmColorSymbol color[5] = - { -! {"none", NULL, 0}, -! {"iconColor1", NULL, 0}, -! {"bottomShadowColor", NULL, 0}, -! {"topShadowColor", NULL, 0}, -! {"selectColor", NULL, 0} -! }; -! attrs.valuemask = XpmColorSymbols; -! attrs.numsymbols = 2; -! attrs.colorsymbols = color; -! attrs.colorsymbols[0].pixel = gui.back_pixel; -! attrs.colorsymbols[1].pixel = gui.norm_pixel; -! status = XpmReadFileToImage(gui.dpy, (char *)signfile, - &sign, NULL, &attrs); -! if (status == 0) -! { -! /* Sign width is fixed at two columns now. -! if (sign->width > gui.sign_width) -! gui.sign_width = sign->width + 8; */ - } -+ else -+ EMSG(_(e_signdata)); - } - - return (void *)sign; -*************** -*** 3489,3496 **** - gui_mch_destroy_sign(sign) - void *sign; - { -! XFree(((XImage *)sign)->data); -! vim_free(sign); - } - #endif - ---- 3483,3489 ---- - gui_mch_destroy_sign(sign) - void *sign; - { -! XDestroyImage((XImage*)sign); - } - #endif - -*** ../vim-7.2.124/src/version.c Mon Feb 23 00:53:35 2009 ---- src/version.c Tue Feb 24 04:09:33 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 125, - /**/ - --- -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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.126 --- a/components/vim/vim72-patches/7.2.126 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.126 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.126 -Problem: When EXITFREE is defined signs are not freed. -Solution: Free all signs on exit. Also free keymaps. (Dominique Pelle) -Files: src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro - - -*** ../vim-7.2.125/src/misc2.c Thu Jan 22 21:31:24 2009 ---- src/misc2.c Sun Feb 22 22:04:53 2009 -*************** -*** 1010,1015 **** ---- 1010,1018 ---- - # if defined(FEAT_PROFILE) - do_cmdline_cmd((char_u *)"profdel *"); - # endif -+ # if defined(FEAT_KEYMAP) -+ do_cmdline_cmd((char_u *)"set keymap="); -+ #endif - - # ifdef FEAT_TITLE - free_titles(); -*************** -*** 1034,1039 **** ---- 1037,1045 ---- - free_regexp_stuff(); - free_tag_stuff(); - free_cd_dir(); -+ # ifdef FEAT_SIGNS -+ free_signs(); -+ # endif - # ifdef FEAT_EVAL - set_expr_line(NULL); - # endif -*** ../vim-7.2.125/src/ex_cmds.c Wed Feb 11 16:02:29 2009 ---- src/ex_cmds.c Sun Feb 22 22:07:08 2009 -*************** -*** 6541,6546 **** ---- 6541,6547 ---- - static int last_sign_typenr = MAX_TYPENR; /* is decremented */ - - static void sign_list_defined __ARGS((sign_T *sp)); -+ static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev)); - - /* - * ":sign" command -*************** -*** 6749,6772 **** - /* ":sign list {name}" */ - sign_list_defined(sp); - else -- { - /* ":sign undefine {name}" */ -! vim_free(sp->sn_name); -! vim_free(sp->sn_icon); -! #ifdef FEAT_SIGN_ICONS -! if (sp->sn_image != NULL) -! { -! out_flush(); -! gui_mch_destroy_sign(sp->sn_image); -! } -! #endif -! vim_free(sp->sn_text); -! if (sp_prev == NULL) -! first_sign = sp->sn_next; -! else -! sp_prev->sn_next = sp->sn_next; -! vim_free(sp); -! } - } - } - else ---- 6750,6757 ---- - /* ":sign list {name}" */ - sign_list_defined(sp); - else - /* ":sign undefine {name}" */ -! sign_undefine(sp, sp_prev); - } - } - else -*************** -*** 7015,7020 **** ---- 7000,7030 ---- - } - - /* -+ * Undefine a sign and free its memory. -+ */ -+ static void -+ sign_undefine(sp, sp_prev) -+ sign_T *sp; -+ sign_T *sp_prev; -+ { -+ vim_free(sp->sn_name); -+ vim_free(sp->sn_icon); -+ #ifdef FEAT_SIGN_ICONS -+ if (sp->sn_image != NULL) -+ { -+ out_flush(); -+ gui_mch_destroy_sign(sp->sn_image); -+ } -+ #endif -+ vim_free(sp->sn_text); -+ if (sp_prev == NULL) -+ first_sign = sp->sn_next; -+ else -+ sp_prev->sn_next = sp->sn_next; -+ vim_free(sp); -+ } -+ -+ /* - * Get highlighting attribute for sign "typenr". - * If "line" is TRUE: line highl, if FALSE: text highl. - */ -*************** -*** 7088,7093 **** ---- 7098,7115 ---- - return (char_u *)_("[Deleted]"); - } - -+ #if defined(EXITFREE) || defined(PROTO) -+ /* -+ * Undefine/free all signs. -+ */ -+ void -+ free_signs() -+ { -+ while (first_sign != NULL) -+ sign_undefine(first_sign, NULL); -+ } -+ #endif -+ - #endif - - #if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO) -*** ../vim-7.2.125/src/proto/ex_cmds.pro Sat Nov 15 14:10:23 2008 ---- src/proto/ex_cmds.pro Sun Feb 22 22:04:53 2009 -*************** -*** 40,45 **** ---- 40,46 ---- - int read_viminfo_sub_string __ARGS((vir_T *virp, int force)); - void write_viminfo_sub_string __ARGS((FILE *fp)); - void free_old_sub __ARGS((void)); -+ void free_signs __ARGS((void)); - int prepare_tagpreview __ARGS((int undo_sync)); - void ex_help __ARGS((exarg_T *eap)); - char_u *check_help_lang __ARGS((char_u *arg)); -*** ../vim-7.2.125/src/version.c Tue Feb 24 04:11:07 2009 ---- src/version.c Tue Feb 24 04:24:46 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 126, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -125. You begin to wonder how often it REALLY is necessary to get up - and shower or bathe. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.127 --- a/components/vim/vim72-patches/7.2.127 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.127 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.127 -Problem: When listing mappings and a wrapping line causes the more prompt, - after typing 'q' there can be another more prompt. (Markus - Heidelberg) -Solution: Set "lines_left" to allow more lines to be displayed. -Files: src/message.c - - -*** ../vim-7.2.126/src/message.c Sun Feb 22 00:58:03 2009 ---- src/message.c Mon Feb 23 04:17:39 2009 -*************** -*** 2553,2559 **** - { - /* Jump to the choices of the dialog. */ - retval = TRUE; -- lines_left = Rows - 1; - } - else - #endif ---- 2553,2558 ---- -*************** -*** 2561,2566 **** ---- 2560,2568 ---- - got_int = TRUE; - quit_more = TRUE; - } -+ /* When there is some more output (wrapping line) display that -+ * without another prompt. */ -+ lines_left = Rows - 1; - break; - - #ifdef FEAT_CLIPBOARD -*** ../vim-7.2.126/src/version.c Tue Feb 24 04:28:40 2009 ---- src/version.c Tue Feb 24 04:35:38 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 127, - /**/ - --- -The difference between theory and practice, is that in theory, there -is no difference between theory and practice. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.128 --- a/components/vim/vim72-patches/7.2.128 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.128 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.128 (after 7.2.055) -Problem: Using ":lcd" makes session files not work. -Solution: Compare return value of mch_chdir() properly. (Andreas Bernauer) -Files: src/ex_docmd.c - - -*** ../vim-7.2.127/src/ex_docmd.c Sat Feb 21 20:36:30 2009 ---- src/ex_docmd.c Sun Mar 1 02:39:38 2009 -*************** -*** 8792,8798 **** - else if (*dirnow != NUL - && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) - { -! if (mch_chdir((char *)globaldir) == OK) - shorten_fnames(TRUE); - } - ---- 8799,8805 ---- - else if (*dirnow != NUL - && (ssop_flags & SSOP_CURDIR) && globaldir != NULL) - { -! if (mch_chdir((char *)globaldir) == 0) - shorten_fnames(TRUE); - } - -*** ../vim-7.2.127/src/version.c Tue Feb 24 04:36:50 2009 ---- src/version.c Sun Mar 1 02:42:47 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 128, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -138. You develop a liking for cold coffee. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.129 --- a/components/vim/vim72-patches/7.2.129 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.129 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.129 -Problem: When opening a command window from input() it uses the search - history. -Solution: Use get_cmdline_type(). (James Vega) -Files: src/ex_getln.c - - -*** ../vim-7.2.128/src/ex_getln.c Fri Nov 28 10:59:57 2008 ---- src/ex_getln.c Mon Mar 2 00:53:39 2009 -*************** -*** 6047,6055 **** - # endif - return K_IGNORE; - } -! cmdwin_type = ccline.cmdfirstc; -! if (cmdwin_type == NUL) -! cmdwin_type = '-'; - - /* Create the command-line buffer empty. */ - (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL); ---- 6062,6068 ---- - # endif - return K_IGNORE; - } -! cmdwin_type = get_cmdline_type(); - - /* Create the command-line buffer empty. */ - (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE, NULL); -*************** -*** 6073,6079 **** - /* Showing the prompt may have set need_wait_return, reset it. */ - need_wait_return = FALSE; - -! histtype = hist_char2type(ccline.cmdfirstc); - if (histtype == HIST_CMD || histtype == HIST_DEBUG) - { - if (p_wc == TAB) ---- 6086,6092 ---- - /* Showing the prompt may have set need_wait_return, reset it. */ - need_wait_return = FALSE; - -! histtype = hist_char2type(cmdwin_type); - if (histtype == HIST_CMD || histtype == HIST_DEBUG) - { - if (p_wc == TAB) -*** ../vim-7.2.128/src/version.c Sun Mar 1 02:43:50 2009 ---- src/version.c Mon Mar 2 02:10:11 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 129, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -146. You experience ACTUAL physical withdrawal symptoms when away - from your 'puter and the net. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.130 --- a/components/vim/vim72-patches/7.2.130 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,413 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.130 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.130 -Problem: Vim may haing until CTRL-C is typed when using CTRL-Z. -Solution: Avoid using pause(). Also use "volatile" for variables used in - signal functions. (Dominique Pelle) -Files: src/auto/configure, src/configure.in, src/config.h.in, - src/globals.h, src/os_unix.c - - -*** ../vim-7.2.129/src/auto/configure Thu Nov 20 10:36:04 2008 ---- src/auto/configure Mon Mar 2 02:36:52 2009 -*************** -*** 11565,11570 **** ---- 11565,11631 ---- - - fi - -+ { $as_echo "$as_me:$LINENO: checking for working volatile" >&5 -+ $as_echo_n "checking for working volatile... " >&6; } -+ if test "${ac_cv_c_volatile+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ -+ int -+ main () -+ { -+ -+ volatile int x; -+ int * volatile y = (int *) 0; -+ return !x && !y; -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_c_volatile=yes -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_cv_c_volatile=no -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5 -+ $as_echo "$ac_cv_c_volatile" >&6; } -+ if test $ac_cv_c_volatile = no; then -+ -+ cat >>confdefs.h <<\_ACEOF -+ #define volatile /**/ -+ _ACEOF -+ -+ fi -+ - { $as_echo "$as_me:$LINENO: checking for mode_t" >&5 - $as_echo_n "checking for mode_t... " >&6; } - if test "${ac_cv_type_mode_t+set}" = set; then -*** ../vim-7.2.129/src/configure.in Thu Nov 20 10:36:04 2008 ---- src/configure.in Sun Feb 22 21:47:44 2009 -*************** -*** 2148,2153 **** ---- 2148,2154 ---- - dnl Checks for typedefs, structures, and compiler characteristics. - AC_PROG_GCC_TRADITIONAL - AC_C_CONST -+ AC_C_VOLATILE - AC_TYPE_MODE_T - AC_TYPE_OFF_T - AC_TYPE_PID_T -*** ../vim-7.2.129/src/config.h.in Tue Jun 24 23:47:46 2008 ---- src/config.h.in Mon Feb 23 00:13:17 2009 -*************** -*** 50,55 **** ---- 50,58 ---- - /* Define to empty if the keyword does not work. */ - #undef const - -+ /* Define to empty if the keyword does not work. */ -+ #undef volatile -+ - /* Define to `int' if doesn't define. */ - #undef mode_t - -*** ../vim-7.2.129/src/globals.h Tue Jan 6 16:13:42 2009 ---- src/globals.h Mon Mar 2 02:40:16 2009 -*************** -*** 482,489 **** - /* - * While executing external commands or in Ex mode, should not insert GUI - * events in the input buffer: Set hold_gui_events to non-zero. - */ -! EXTERN int hold_gui_events INIT(= 0); - - /* - * When resizing the shell is postponed, remember the new size, and call ---- 482,491 ---- - /* - * While executing external commands or in Ex mode, should not insert GUI - * events in the input buffer: Set hold_gui_events to non-zero. -+ * -+ * volatile because it is used in signal handler sig_sysmouse(). - */ -! EXTERN volatile int hold_gui_events INIT(= 0); - - /* - * When resizing the shell is postponed, remember the new size, and call -*************** -*** 597,603 **** - EXTERN int really_exiting INIT(= FALSE); - /* TRUE when we are sure to exit, e.g., after - * a deadly signal */ -! EXTERN int full_screen INIT(= FALSE); - /* TRUE when doing full-screen output - * otherwise only writing some messages */ - ---- 599,606 ---- - EXTERN int really_exiting INIT(= FALSE); - /* TRUE when we are sure to exit, e.g., after - * a deadly signal */ -! /* volatile because it is used in signal handler deathtrap(). */ -! EXTERN volatile int full_screen INIT(= FALSE); - /* TRUE when doing full-screen output - * otherwise only writing some messages */ - -*************** -*** 739,748 **** - */ - EXTERN JMP_BUF lc_jump_env; /* argument to SETJMP() */ - # ifdef SIGHASARG -! EXTERN int lc_signal; /* catched signal number, 0 when no was signal -! catched; used for mch_libcall() */ - # endif -! EXTERN int lc_active INIT(= FALSE); /* TRUE when lc_jump_env is valid. */ - #endif - - #if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT) ---- 747,758 ---- - */ - EXTERN JMP_BUF lc_jump_env; /* argument to SETJMP() */ - # ifdef SIGHASARG -! /* volatile because it is used in signal handlers. */ -! EXTERN volatile int lc_signal; /* caught signal number, 0 when no was signal -! caught; used for mch_libcall() */ - # endif -! /* volatile because it is used in signal handler deathtrap(). */ -! EXTERN volatile int lc_active INIT(= FALSE); /* TRUE when lc_jump_env is valid. */ - #endif - - #if defined(FEAT_MBYTE) || defined(FEAT_POSTSCRIPT) -*************** -*** 986,992 **** - EXTERN FILE *scriptout INIT(= NULL); /* stream to write script to */ - EXTERN int read_cmd_fd INIT(= 0); /* fd to read commands from */ - -! EXTERN int got_int INIT(= FALSE); /* set to TRUE when interrupt - signal occurred */ - #ifdef USE_TERM_CONSOLE - EXTERN int term_console INIT(= FALSE); /* set to TRUE when console used */ ---- 996,1003 ---- - EXTERN FILE *scriptout INIT(= NULL); /* stream to write script to */ - EXTERN int read_cmd_fd INIT(= 0); /* fd to read commands from */ - -! /* volatile because it is used in signal handler catch_sigint(). */ -! EXTERN volatile int got_int INIT(= FALSE); /* set to TRUE when interrupt - signal occurred */ - #ifdef USE_TERM_CONSOLE - EXTERN int term_console INIT(= FALSE); /* set to TRUE when console used */ -*** ../vim-7.2.129/src/os_unix.c Sun Feb 22 02:51:37 2009 ---- src/os_unix.c Mon Mar 2 01:05:50 2009 -*************** -*** 181,187 **** - && defined(FEAT_TITLE) && !defined(FEAT_GUI_GTK) - # define SET_SIG_ALARM - static RETSIGTYPE sig_alarm __ARGS(SIGPROTOARG); -! static int sig_alarm_called; - #endif - static RETSIGTYPE deathtrap __ARGS(SIGPROTOARG); - ---- 181,188 ---- - && defined(FEAT_TITLE) && !defined(FEAT_GUI_GTK) - # define SET_SIG_ALARM - static RETSIGTYPE sig_alarm __ARGS(SIGPROTOARG); -! /* volatile because it is used in signal handler sig_alarm(). */ -! static volatile int sig_alarm_called; - #endif - static RETSIGTYPE deathtrap __ARGS(SIGPROTOARG); - -*************** -*** 201,213 **** - # define SIG_ERR ((RETSIGTYPE (*)())-1) - #endif - -! static int do_resize = FALSE; - #ifndef __EMX__ - static char_u *extra_shell_arg = NULL; - static int show_shell_mess = TRUE; - #endif -! static int deadly_signal = 0; /* The signal we caught */ -! static int in_mch_delay = FALSE; /* sleeping in mch_delay() */ - - static int curr_tmode = TMODE_COOK; /* contains current terminal mode */ - ---- 202,217 ---- - # define SIG_ERR ((RETSIGTYPE (*)())-1) - #endif - -! /* volatile because it is used in signal handler sig_winch(). */ -! static volatile int do_resize = FALSE; - #ifndef __EMX__ - static char_u *extra_shell_arg = NULL; - static int show_shell_mess = TRUE; - #endif -! /* volatile because it is used in signal handler deathtrap(). */ -! static volatile int deadly_signal = 0; /* The signal we caught */ -! /* volatile because it is used in signal handler deathtrap(). */ -! static volatile int in_mch_delay = FALSE; /* sleeping in mch_delay() */ - - static int curr_tmode = TMODE_COOK; /* contains current terminal mode */ - -*************** -*** 802,808 **** - #endif - - /* -! * We need correct potatotypes for a signal function, otherwise mean compilers - * will barf when the second argument to signal() is ``wrong''. - * Let me try it with a few tricky defines from my own osdef.h (jw). - */ ---- 806,812 ---- - #endif - - /* -! * We need correct prototypes for a signal function, otherwise mean compilers - * will barf when the second argument to signal() is ``wrong''. - * Let me try it with a few tricky defines from my own osdef.h (jw). - */ -*************** -*** 1068,1080 **** - SIGRETURN; - } - -! #ifdef _REENTRANT - /* - * On Solaris with multi-threading, suspending might not work immediately. - * Catch the SIGCONT signal, which will be used as an indication whether the - * suspending has been done or not. - */ -! static int sigcont_received; - static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG); - - /* ---- 1072,1089 ---- - SIGRETURN; - } - -! #if defined(_REENTRANT) && defined(SIGCONT) - /* - * On Solaris with multi-threading, suspending might not work immediately. - * Catch the SIGCONT signal, which will be used as an indication whether the - * suspending has been done or not. -+ * -+ * On Linux, signal is not always handled immediately either. -+ * See https://bugs.launchpad.net/bugs/291373 -+ * -+ * volatile because it is used in in signal handler sigcont_handler(). - */ -! static volatile int sigcont_received; - static RETSIGTYPE sigcont_handler __ARGS(SIGPROTOARG); - - /* -*************** -*** 1118,1132 **** - } - # endif - -! # ifdef _REENTRANT - sigcont_received = FALSE; - # endif - kill(0, SIGTSTP); /* send ourselves a STOP signal */ -! # ifdef _REENTRANT -! /* When we didn't suspend immediately in the kill(), do it now. Happens -! * on multi-threaded Solaris. */ -! if (!sigcont_received) -! pause(); - # endif - - # ifdef FEAT_TITLE ---- 1127,1154 ---- - } - # endif - -! # if defined(_REENTRANT) && defined(SIGCONT) - sigcont_received = FALSE; - # endif - kill(0, SIGTSTP); /* send ourselves a STOP signal */ -! # if defined(_REENTRANT) && defined(SIGCONT) -! /* -! * Wait for the SIGCONT signal to be handled. It generally happens -! * immediately, but somehow not all the time. Do not call pause() -! * because there would be race condition which would hang Vim if -! * signal happened in between the test of sigcont_received and the -! * call to pause(). If signal is not yet received, call sleep(0) -! * to just yield CPU. Signal should then be received. If somehow -! * it's still not received, sleep 1, 2, 3 ms. Don't bother waiting -! * further if signal is not received after 1+2+3+4 ms (not expected -! * to happen). -! */ -! { -! long wait; -! for (wait = 0; !sigcont_received && wait <= 3L; wait++) -! /* Loop is not entered most of the time */ -! mch_delay(wait, FALSE); -! } - # endif - - # ifdef FEAT_TITLE -*************** -*** 1175,1181 **** - #ifdef SIGTSTP - signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL); - #endif -! #ifdef _REENTRANT - signal(SIGCONT, sigcont_handler); - #endif - ---- 1197,1203 ---- - #ifdef SIGTSTP - signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL); - #endif -! #if defined(_REENTRANT) && defined(SIGCONT) - signal(SIGCONT, sigcont_handler); - #endif - -*************** -*** 1234,1240 **** - reset_signals() - { - catch_signals(SIG_DFL, SIG_DFL); -! #ifdef _REENTRANT - /* SIGCONT isn't in the list, because its default action is ignore */ - signal(SIGCONT, SIG_DFL); - #endif ---- 1256,1262 ---- - reset_signals() - { - catch_signals(SIG_DFL, SIG_DFL); -! #if defined(_REENTRANT) && defined(SIGCONT) - /* SIGCONT isn't in the list, because its default action is ignore */ - signal(SIGCONT, SIG_DFL); - #endif -*************** -*** 5899,5905 **** ---- 5921,5929 ---- - * we are going to suspend or starting an external process - * so we shouldn't have problem with this - */ -+ # ifdef SIGTSTP - signal(SIGTSTP, restricted ? SIG_IGN : SIG_DFL); -+ # endif - return 1; /* succeed */ - } - if (gpm_fd == -2) -*** ../vim-7.2.129/src/version.c Mon Mar 2 02:11:09 2009 ---- src/version.c Mon Mar 2 02:36:00 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 130, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -148. You find it easier to dial-up the National Weather Service - Weather/your_town/now.html than to simply look out the window. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.131 --- a/components/vim/vim72-patches/7.2.131 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.131 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.131 -Problem: When 'keymap' is cleared may still use the cursor highlighting for - when it's enabled. -Solution: Reset 'iminsert' and 'imsearch'. (partly by Dominique Pelle) - Also avoid ":setlocal" for these options have a global effect. -Files: src/option.c - - -*** ../vim-7.2.130/src/option.c Sat Feb 21 20:27:00 2009 ---- src/option.c Wed Mar 4 04:09:51 2009 -*************** -*** 5797,5810 **** - /* load or unload key mapping tables */ - errmsg = keymap_init(); - -! /* When successfully installed a new keymap switch on using it. */ -! if (*curbuf->b_p_keymap != NUL && errmsg == NULL) - { -! curbuf->b_p_iminsert = B_IMODE_LMAP; -! if (curbuf->b_p_imsearch != B_IMODE_USE_INSERT) -! curbuf->b_p_imsearch = B_IMODE_LMAP; -! set_iminsert_global(); -! set_imsearch_global(); - # ifdef FEAT_WINDOWS - status_redraw_curbuf(); - # endif ---- 5797,5824 ---- - /* load or unload key mapping tables */ - errmsg = keymap_init(); - -! if (errmsg == NULL) - { -! if (*curbuf->b_p_keymap != NUL) -! { -! /* Installed a new keymap, switch on using it. */ -! curbuf->b_p_iminsert = B_IMODE_LMAP; -! if (curbuf->b_p_imsearch != B_IMODE_USE_INSERT) -! curbuf->b_p_imsearch = B_IMODE_LMAP; -! } -! else -! { -! /* Cleared the keymap, may reset 'iminsert' and 'imsearch'. */ -! if (curbuf->b_p_iminsert == B_IMODE_LMAP) -! curbuf->b_p_iminsert = B_IMODE_NONE; -! if (curbuf->b_p_imsearch == B_IMODE_LMAP) -! curbuf->b_p_imsearch = B_IMODE_USE_INSERT; -! } -! if ((opt_flags & OPT_LOCAL) == 0) -! { -! set_iminsert_global(); -! set_imsearch_global(); -! } - # ifdef FEAT_WINDOWS - status_redraw_curbuf(); - # endif -*** ../vim-7.2.130/src/version.c Mon Mar 2 02:44:54 2009 ---- src/version.c Wed Mar 4 04:10:32 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 131, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -157. You fum through a magazine, you first check to see if it has a web - address. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.132 --- a/components/vim/vim72-patches/7.2.132 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,268 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.132 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.132 -Problem: When changing directory during a SwapExists autocmd freed memory - may be accessed. (Dominique Pelle) -Solution: Add the allbuf_lock flag. -Files: src/ex_getln.c, src/globals.h, src/fileio.c, - src/proto/ex_getln.pro - - -*** ../vim-7.2.131/src/ex_getln.c Mon Mar 2 02:11:09 2009 ---- src/ex_getln.c Mon Mar 2 00:53:39 2009 -*************** -*** 2000,2007 **** - - #if defined(FEAT_AUTOCMD) || defined(PROTO) - /* -! * Check if "curbuf_lock" is set and return TRUE when it is and give an error -! * message. - */ - int - curbuf_locked() ---- 2000,2007 ---- - - #if defined(FEAT_AUTOCMD) || defined(PROTO) - /* -! * Check if "curbuf_lock" or "allbuf_lock" is set and return TRUE when it is -! * and give an error message. - */ - int - curbuf_locked() -*************** -*** 2011,2016 **** ---- 2011,2031 ---- - EMSG(_("E788: Not allowed to edit another buffer now")); - return TRUE; - } -+ return allbuf_locked(); -+ } -+ -+ /* -+ * Check if "allbuf_lock" is set and return TRUE when it is and give an error -+ * message. -+ */ -+ int -+ allbuf_locked() -+ { -+ if (allbuf_lock > 0) -+ { -+ EMSG(_("E811: Not allowed to change buffer information now")); -+ return TRUE; -+ } - return FALSE; - } - #endif -*** ../vim-7.2.131/src/globals.h Mon Mar 2 02:44:54 2009 ---- src/globals.h Mon Mar 2 02:40:16 2009 -*************** -*** 619,624 **** ---- 619,629 ---- - EXTERN int curbuf_lock INIT(= 0); - /* non-zero when the current buffer can't be - * changed. Used for FileChangedRO. */ -+ EXTERN int allbuf_lock INIT(= 0); -+ /* non-zero when no buffer name can be -+ * changed, no buffer can be deleted and -+ * current directory can't be changed. -+ * Used for SwapExists et al. */ - #endif - #ifdef FEAT_EVAL - # define HAVE_SANDBOX -*** ../vim-7.2.131/src/fileio.c Wed Dec 31 16:20:54 2008 ---- src/fileio.c Sun Mar 1 23:37:10 2009 -*************** -*** 69,75 **** - static int au_find_group __ARGS((char_u *name)); - - # define AUGROUP_DEFAULT -1 /* default autocmd group */ -! # define AUGROUP_ERROR -2 /* errornouse autocmd group */ - # define AUGROUP_ALL -3 /* all autocmd groups */ - #endif - ---- 69,75 ---- - static int au_find_group __ARGS((char_u *name)); - - # define AUGROUP_DEFAULT -1 /* default autocmd group */ -! # define AUGROUP_ERROR -2 /* erroneous autocmd group */ - # define AUGROUP_ALL -3 /* all autocmd groups */ - #endif - -*************** -*** 144,150 **** - # endif - #endif - static int move_lines __ARGS((buf_T *frombuf, buf_T *tobuf)); -! - - void - filemess(buf, name, s, attr) ---- 144,152 ---- - # endif - #endif - static int move_lines __ARGS((buf_T *frombuf, buf_T *tobuf)); -! #ifdef FEAT_AUTOCMD -! static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer name"); -! #endif - - void - filemess(buf, name, s, attr) -*************** -*** 295,300 **** ---- 297,315 ---- - int conv_restlen = 0; /* nr of bytes in conv_rest[] */ - #endif - -+ #ifdef FEAT_AUTOCMD -+ /* Remember the initial values of curbuf, curbuf->b_ffname and -+ * curbuf->b_fname to detect whether they are altered as a result of -+ * executing nasty autocommands. Also check if "fname" and "sfname" -+ * point to one of these values. */ -+ buf_T *old_curbuf = curbuf; -+ char_u *old_b_ffname = curbuf->b_ffname; -+ char_u *old_b_fname = curbuf->b_fname; -+ int using_b_ffname = (fname == curbuf->b_ffname) -+ || (sfname == curbuf->b_ffname); -+ int using_b_fname = (fname == curbuf->b_fname) -+ || (sfname == curbuf->b_fname); -+ #endif - write_no_eol_lnum = 0; /* in case it was set by the previous read */ - - /* -*************** -*** 589,595 **** ---- 604,624 ---- - #ifdef FEAT_QUICKFIX - if (!bt_dontwrite(curbuf)) - #endif -+ { - check_need_swap(newfile); -+ #ifdef FEAT_AUTOCMD -+ /* SwapExists autocommand may mess things up */ -+ if (curbuf != old_curbuf -+ || (using_b_ffname -+ && (old_b_ffname != curbuf->b_ffname)) -+ || (using_b_fname -+ && (old_b_fname != curbuf->b_fname))) -+ { -+ EMSG(_(e_auchangedbuf)); -+ return FAIL; -+ } -+ #endif -+ } - if (dir_of_file_exists(fname)) - filemess(curbuf, sfname, (char_u *)_("[New File]"), 0); - else -*************** -*** 668,673 **** ---- 697,713 ---- - #endif - { - check_need_swap(newfile); -+ #ifdef FEAT_AUTOCMD -+ if (!read_stdin && (curbuf != old_curbuf -+ || (using_b_ffname && (old_b_ffname != curbuf->b_ffname)) -+ || (using_b_fname && (old_b_fname != curbuf->b_fname)))) -+ { -+ EMSG(_(e_auchangedbuf)); -+ if (!read_buffer) -+ close(fd); -+ return FAIL; -+ } -+ #endif - #ifdef UNIX - /* Set swap file protection bits after creating it. */ - if (swap_mode > 0 && curbuf->b_ml.ml_mfp->mf_fname != NULL) -*************** -*** 698,704 **** - { - int m = msg_scroll; - int n = msg_scrolled; -- buf_T *old_curbuf = curbuf; - - /* - * The file must be closed again, the autocommands may want to change ---- 738,743 ---- -*************** -*** 740,747 **** ---- 779,791 ---- - /* - * Don't allow the autocommands to change the current buffer. - * Try to re-open the file. -+ * -+ * Don't allow the autocommands to change the buffer name either -+ * (cd for example) if it invalidates fname or sfname. - */ - if (!read_stdin && (curbuf != old_curbuf -+ || (using_b_ffname && (old_b_ffname != curbuf->b_ffname)) -+ || (using_b_fname && (old_b_fname != curbuf->b_fname)) - || (fd = mch_open((char *)fname, O_RDONLY | O_EXTRA, 0)) < 0)) - { - --no_wait_return; -*************** -*** 6320,6326 **** - - if (!stuff_empty() || global_busy || !typebuf_typed() - #ifdef FEAT_AUTOCMD -! || autocmd_busy || curbuf_lock > 0 - #endif - ) - need_check_timestamps = TRUE; /* check later */ ---- 6364,6370 ---- - - if (!stuff_empty() || global_busy || !typebuf_typed() - #ifdef FEAT_AUTOCMD -! || autocmd_busy || curbuf_lock > 0 || allbuf_lock > 0 - #endif - ) - need_check_timestamps = TRUE; /* check later */ -*************** -*** 6522,6529 **** ---- 6566,6575 ---- - set_vim_var_string(VV_FCS_REASON, (char_u *)reason, -1); - set_vim_var_string(VV_FCS_CHOICE, (char_u *)"", -1); - # endif -+ ++allbuf_lock; - n = apply_autocmds(EVENT_FILECHANGEDSHELL, - buf->b_fname, buf->b_fname, FALSE, buf); -+ --allbuf_lock; - busy = FALSE; - if (n) - { -*** ../vim-7.2.131/src/proto/ex_getln.pro Fri Nov 28 10:59:57 2008 ---- src/proto/ex_getln.pro Sun Mar 1 00:27:12 2009 -*************** -*** 4,9 **** ---- 4,10 ---- - int text_locked __ARGS((void)); - void text_locked_msg __ARGS((void)); - int curbuf_locked __ARGS((void)); -+ int allbuf_locked __ARGS((void)); - char_u *getexline __ARGS((int c, void *dummy, int indent)); - char_u *getexmodeline __ARGS((int promptc, void *dummy, int indent)); - int cmdline_overstrike __ARGS((void)); -*** ../vim-7.2.131/src/version.c Wed Mar 4 04:11:56 2009 ---- src/version.c Thu Mar 5 03:08:54 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 132, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -168. You have your own domain name. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.133 --- a/components/vim/vim72-patches/7.2.133 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.133 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.133 -Problem: ":diffoff!" changes settings in windows not in diff mode. -Solution: Only change settings in other windows when 'diff' is set, always - do it for the current window. (Lech Lorens) -Files: src/diff.c - - -*** ../vim-7.2.132/src/diff.c Thu Jan 22 20:48:07 2009 ---- src/diff.c Fri Mar 6 04:17:41 2009 -*************** -*** 1153,1159 **** - - for (wp = firstwin; wp != NULL; wp = wp->w_next) - { -! if (wp == curwin || eap->forceit) - { - /* Set 'diff', 'scrollbind' off and 'wrap' on. */ - wp->w_p_diff = FALSE; ---- 1153,1159 ---- - - for (wp = firstwin; wp != NULL; wp = wp->w_next) - { -! if (wp == curwin || (eap->forceit && wp->w_p_diff)) - { - /* Set 'diff', 'scrollbind' off and 'wrap' on. */ - wp->w_p_diff = FALSE; -*** ../vim-7.2.132/src/version.c Thu Mar 5 03:13:51 2009 ---- src/version.c Wed Mar 11 12:45:10 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 133, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -192. Your boss asks you to "go fer" coffee and you come up with 235 FTP sites. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.134 --- a/components/vim/vim72-patches/7.2.134 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.134 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.134 -Problem: Warning for discarding "const" from pointer. -Solution: Don't pass const pointer to mch_memmove(). -Files: src/fileio.c - - -*** ../vim-7.2.133/src/fileio.c Thu Mar 5 03:13:51 2009 ---- src/fileio.c Wed Mar 11 12:59:35 2009 -*************** -*** 5288,5300 **** - /* Convert with iconv(). */ - if (ip->bw_restlen > 0) - { - /* Need to concatenate the remainder of the previous call and - * the bytes of the current call. Use the end of the - * conversion buffer for this. */ - fromlen = len + ip->bw_restlen; -! from = (char *)ip->bw_conv_buf + ip->bw_conv_buflen - fromlen; -! mch_memmove((void *)from, ip->bw_rest, (size_t)ip->bw_restlen); -! mch_memmove((void *)(from + ip->bw_restlen), buf, (size_t)len); - tolen = ip->bw_conv_buflen - fromlen; - } - else ---- 5288,5303 ---- - /* Convert with iconv(). */ - if (ip->bw_restlen > 0) - { -+ char *fp; -+ - /* Need to concatenate the remainder of the previous call and - * the bytes of the current call. Use the end of the - * conversion buffer for this. */ - fromlen = len + ip->bw_restlen; -! fp = (char *)ip->bw_conv_buf + ip->bw_conv_buflen - fromlen; -! mch_memmove(fp, ip->bw_rest, (size_t)ip->bw_restlen); -! mch_memmove(fp + ip->bw_restlen, buf, (size_t)len); -! from = fp; - tolen = ip->bw_conv_buflen - fromlen; - } - else -*** ../vim-7.2.133/src/version.c Wed Mar 11 12:45:44 2009 ---- src/version.c Wed Mar 11 13:08:25 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 134, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -193. You ask your girlfriend to drive home so you can sit back with - your PDA and download the information to your laptop - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.135 --- a/components/vim/vim72-patches/7.2.135 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.135 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.135 -Problem: Memory leak when redefining user command with complete argument. -Solution: Free the old complete argument. (Dominique Pelle) -Files: src/ex_docmd.c - - -*** ../vim-7.2.134/src/ex_docmd.c Sun Mar 1 02:43:50 2009 ---- src/ex_docmd.c Wed Mar 11 11:13:31 2009 -*************** -*** 5124,5130 **** - } - - vim_free(cmd->uc_rep); -! cmd->uc_rep = 0; - break; - } - ---- 5124,5134 ---- - } - - vim_free(cmd->uc_rep); -! cmd->uc_rep = NULL; -! #if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL) -! vim_free(cmd->uc_compl_arg); -! cmd->uc_compl_arg = NULL; -! #endif - break; - } - -*************** -*** 5941,5947 **** - for (;;) - { - p = cmd->uc_rep; /* source */ -! q = buf; /* destinateion */ - totlen = 0; - - for (;;) ---- 5945,5951 ---- - for (;;) - { - p = cmd->uc_rep; /* source */ -! q = buf; /* destination */ - totlen = 0; - - for (;;) -*************** -*** 7846,7851 **** ---- 7850,7858 ---- - { - vim_free(prev_dir); - prev_dir = NULL; -+ -+ vim_free(globaldir); -+ globaldir = NULL; - } - #endif - -*** ../vim-7.2.134/src/version.c Wed Mar 11 13:09:30 2009 ---- src/version.c Wed Mar 11 15:06:23 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 135, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -194. Your business cards contain your e-mail and home page address. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.136 --- a/components/vim/vim72-patches/7.2.136 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.136 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.136 (after 7.2.132) -Problem: ":cd" is still possible in a SwapExists autocmd. -Solution: Check the allbuf_lock flag in ex_cd(). -Files: src/ex_docmd.c - - -*** ../vim-7.2.135/src/ex_docmd.c Wed Mar 11 15:09:07 2009 ---- src/ex_docmd.c Wed Mar 11 11:13:31 2009 -*************** -*** 7875,7880 **** ---- 7875,7884 ---- - else - #endif - { -+ #ifdef FEAT_AUTOCMD -+ if (allbuf_locked()) -+ return; -+ #endif - if (vim_strchr(p_cpo, CPO_CHDIR) != NULL && curbufIsChanged() - && !eap->forceit) - { -*** ../vim-7.2.135/src/version.c Wed Mar 11 15:09:07 2009 ---- src/version.c Wed Mar 11 15:35:36 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 136, - /**/ - --- -Press any key to continue, press any other key to quit. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.137 --- a/components/vim/vim72-patches/7.2.137 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,343 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.137 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Note: The special characters in the patch may cause problems. - -Patch 7.2.137 -Problem: When 'virtualedit' is set, a left shift of a blockwise selection - that starts and ends inside a tab shifts too much. (Helmut - Stiegler) -Solution: Redo the block left shift code. (Lech Lorens) -Files: src/ops.c, src/testdir/Makefile, src/testdir/test66.in, - src/testdir/test66.ok - - -*** ../vim-7.2.136/src/ops.c Wed Dec 3 13:38:00 2008 ---- src/ops.c Thu Mar 5 04:47:09 2009 -*************** -*** 72,82 **** - */ - struct block_def - { -! int startspaces; /* 'extra' cols of first char */ -! int endspaces; /* 'extra' cols of first char */ - int textlen; /* chars in block */ -! char_u *textstart; /* pointer to 1st char in block */ -! colnr_T textcol; /* cols of chars (at least part.) in block */ - colnr_T start_vcol; /* start col of 1st char wholly inside block */ - colnr_T end_vcol; /* start col of 1st char wholly after block */ - #ifdef FEAT_VISUALEXTRA ---- 72,82 ---- - */ - struct block_def - { -! int startspaces; /* 'extra' cols before first char */ -! int endspaces; /* 'extra' cols after last char */ - int textlen; /* chars in block */ -! char_u *textstart; /* pointer to 1st char (partially) in block */ -! colnr_T textcol; /* index of chars (partially) in block */ - colnr_T start_vcol; /* start col of 1st char wholly inside block */ - colnr_T end_vcol; /* start col of 1st char wholly after block */ - #ifdef FEAT_VISUALEXTRA -*************** -*** 382,396 **** - { - int left = (oap->op_type == OP_LSHIFT); - int oldstate = State; -! int total, split; -! char_u *newp, *oldp, *midp, *ptr; - int oldcol = curwin->w_cursor.col; - int p_sw = (int)curbuf->b_p_sw; - int p_ts = (int)curbuf->b_p_ts; - struct block_def bd; -- int internal = 0; - int incr; -! colnr_T vcol, col = 0, ws_vcol; - int i = 0, j = 0; - int len; - ---- 382,395 ---- - { - int left = (oap->op_type == OP_LSHIFT); - int oldstate = State; -! int total; -! char_u *newp, *oldp; - int oldcol = curwin->w_cursor.col; - int p_sw = (int)curbuf->b_p_sw; - int p_ts = (int)curbuf->b_p_ts; - struct block_def bd; - int incr; -! colnr_T ws_vcol; - int i = 0, j = 0; - int len; - -*************** -*** 456,522 **** - } - else /* left */ - { -! vcol = oap->start_vcol; -! /* walk vcol past ws to be removed */ -! for (midp = oldp + bd.textcol; -! vcol < (oap->start_vcol + total) && vim_iswhite(*midp); ) -! { -! incr = lbr_chartabsize_adv(&midp, (colnr_T)vcol); -! vcol += incr; -! } -! /* internal is the block-internal ws replacing a split TAB */ -! if (vcol > (oap->start_vcol + total)) -! { -! /* we have to split the TAB *(midp-1) */ -! internal = vcol - (oap->start_vcol + total); -! } -! /* if 'expandtab' is not set, use TABs */ - -! split = bd.startspaces + internal; -! if (split > 0) -! { -! if (!curbuf->b_p_et) -! { -! for (ptr = oldp, col = 0; ptr < oldp+bd.textcol; ) -! col += lbr_chartabsize_adv(&ptr, (colnr_T)col); - -! /* col+1 now equals the start col of the first char of the -! * block (may be < oap.start_vcol if we're splitting a TAB) */ -! i = ((col % p_ts) + split) / p_ts; /* number of tabs */ -! } -! if (i) -! j = ((col % p_ts) + split) % p_ts; /* number of spp */ -! else -! j = split; -! } - -! newp = alloc_check(bd.textcol + i + j + (unsigned)STRLEN(midp) + 1); -! if (newp == NULL) -! return; -! vim_memset(newp, NUL, (size_t)(bd.textcol + i + j + STRLEN(midp) + 1)); - -! /* copy first part we want to keep */ -! mch_memmove(newp, oldp, (size_t)bd.textcol); -! /* Now copy any TABS and spp to ensure correct alignment! */ -! while (vim_iswhite(*midp)) - { -! if (*midp == TAB) -! i++; -! else /*space */ -! j++; -! midp++; - } -! /* We might have an extra TAB worth of spp now! */ -! if (j / p_ts && !curbuf->b_p_et) - { -! i++; -! j -= p_ts; - } -- copy_chars(newp + bd.textcol, (size_t)i, TAB); -- copy_spaces(newp + bd.textcol + i, (size_t)j); - -! /* the end */ -! STRMOVE(newp + STRLEN(newp), midp); - } - /* replace the line */ - ml_replace(curwin->w_cursor.lnum, newp, FALSE); ---- 455,543 ---- - } - else /* left */ - { -! colnr_T destination_col; /* column to which text in block will -! be shifted */ -! char_u *verbatim_copy_end; /* end of the part of the line which is -! copied verbatim */ -! colnr_T verbatim_copy_width;/* the (displayed) width of this part -! of line */ -! unsigned fill; /* nr of spaces that replace a TAB */ -! unsigned new_line_len; /* the length of the line after the -! block shift */ -! size_t block_space_width; -! size_t shift_amount; -! char_u *non_white = bd.textstart; -! colnr_T non_white_col; - -! /* -! * Firstly, let's find the first non-whitespace character that is -! * displayed after the block's start column and the character's column -! * number. Also, let's calculate the width of all the whitespace -! * characters that are displayed in the block and precede the searched -! * non-whitespace character. -! */ - -! /* If "bd.startspaces" is set, "bd.textstart" points to the character, -! * the part of which is displayed at the block's beginning. Let's start -! * searching from the next character. */ -! if (bd.startspaces) -! mb_ptr_adv(non_white); - -! /* The character's column is in "bd.start_vcol". */ -! non_white_col = bd.start_vcol; - -! while (vim_iswhite(*non_white)) - { -! incr = lbr_chartabsize_adv(&non_white, non_white_col); -! non_white_col += incr; - } -! -! block_space_width = non_white_col - oap->start_vcol; -! /* We will shift by "total" or "block_space_width", whichever is less. -! */ -! shift_amount = (block_space_width < total? block_space_width: total); -! -! /* The column to which we will shift the text. */ -! destination_col = non_white_col - shift_amount; -! -! /* Now let's find out how much of the beginning of the line we can -! * reuse without modification. */ -! verbatim_copy_end = bd.textstart; -! verbatim_copy_width = bd.start_vcol; -! -! /* If "bd.startspaces" is set, "bd.textstart" points to the character -! * preceding the block. We have to subtract its width to obtain its -! * column number. */ -! if (bd.startspaces) -! verbatim_copy_width -= bd.start_char_vcols; -! while (verbatim_copy_width < destination_col) - { -! incr = lbr_chartabsize(verbatim_copy_end, verbatim_copy_width); -! if (verbatim_copy_width + incr > destination_col) -! break; -! verbatim_copy_width += incr; -! mb_ptr_adv(verbatim_copy_end); - } - -! /* If "destination_col" is different from the width of the initial -! * part of the line that will be copied, it means we encountered a tab -! * character, which we will have to partly replace with spaces. */ -! fill = destination_col - verbatim_copy_width; -! -! /* The replacement line will consist of: -! * - the beginning of the original line up to "verbatim_copy_end", -! * - "fill" number of spaces, -! * - the rest of the line, pointed to by non_white. */ -! new_line_len = (unsigned)(verbatim_copy_end - oldp) -! + fill -! + (unsigned)STRLEN(non_white) + 1; -! -! newp = alloc_check(new_line_len); -! if (newp == NULL) -! return; -! mch_memmove(newp, oldp, (size_t)(verbatim_copy_end - oldp)); -! copy_spaces(newp + (verbatim_copy_end - oldp), (size_t)fill); -! STRMOVE(newp + (verbatim_copy_end - oldp) + fill, non_white); - } - /* replace the line */ - ml_replace(curwin->w_cursor.lnum, newp, FALSE); -*************** -*** 4851,4857 **** - * - textlen includes the first/last char to be (partly) deleted - * - start/endspaces is the number of columns that are taken by the - * first/last deleted char minus the number of columns that have to be -! * deleted. for yank and tilde: - * - textlen includes the first/last char to be wholly yanked - * - start/endspaces is the number of columns of the first/last yanked char - * that are to be yanked. ---- 4872,4879 ---- - * - textlen includes the first/last char to be (partly) deleted - * - start/endspaces is the number of columns that are taken by the - * first/last deleted char minus the number of columns that have to be -! * deleted. -! * for yank and tilde: - * - textlen includes the first/last char to be wholly yanked - * - start/endspaces is the number of columns of the first/last yanked char - * that are to be yanked. -*** ../vim-7.2.136/src/testdir/Makefile Wed Sep 10 18:25:18 2008 ---- src/testdir/Makefile Thu Mar 5 04:53:58 2009 -*************** -*** 20,26 **** - test48.out test49.out test51.out test52.out test53.out \ - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ -! test64.out test65.out - - SCRIPTS_GUI = test16.out - ---- 20,26 ---- - test48.out test49.out test51.out test52.out test53.out \ - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ -! test64.out test65.out test66.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.2.136/src/testdir/test66.in Wed Mar 11 16:24:44 2009 ---- src/testdir/test66.in Wed Mar 11 11:52:57 2009 -*************** -*** 0 **** ---- 1,25 ---- -+ -+ Test for visual block shift and tab characters. -+ -+ STARTTEST -+ :so small.vim -+ /^abcdefgh -+ 4jI j<<11|D -+ 7|a  -+ 7|a  -+ 7|a 4k13|4j< -+ :$-4,$w! test.out -+ :$-4,$s/\s\+//g -+ 4kI j<< -+ 7|a  -+ 7|a  -+ 7|a 4k13|4j3< -+ :$-4,$w >> test.out -+ :qa! -+ ENDTEST -+ -+ abcdefghijklmnopqrstuvwxyz -+ abcdefghijklmnopqrstuvwxyz -+ abcdefghijklmnopqrstuvwxyz -+ abcdefghijklmnopqrstuvwxyz -+ abcdefghijklmnopqrstuvwxyz -*** ../vim-7.2.136/src/testdir/test66.ok Wed Mar 11 16:24:44 2009 ---- src/testdir/test66.ok Thu Mar 5 04:39:36 2009 -*************** -*** 0 **** ---- 1,10 ---- -+ abcdefghijklmnopqrstuvwxyz -+ abcdefghij -+ abc defghijklmnopqrstuvwxyz -+ abc defghijklmnopqrstuvwxyz -+ abc defghijklmnopqrstuvwxyz -+ abcdefghijklmnopqrstuvwxyz -+ abcdefghij -+ abc defghijklmnopqrstuvwxyz -+ abc defghijklmnopqrstuvwxyz -+ abc defghijklmnopqrstuvwxyz -*** ../vim-7.2.136/src/version.c Wed Mar 11 15:36:01 2009 ---- src/version.c Wed Mar 11 16:23:07 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 137, - /**/ - --- -% cat /usr/include/sys/errno.h -#define EPERM 1 /* Operation not permitted */ -#define ENOENT 2 /* No such file or directory */ -#define ESRCH 3 /* No such process */ -[...] -#define EMACS 666 /* Too many macros */ -% - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.139 --- a/components/vim/vim72-patches/7.2.139 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.139 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.139 -Problem: Crash when 'virtualedit' is "all". (James Vega) -Solution: Avoid overflow when column is MAXCOL. (Dominique Pelle) -Files: src/misc2.c - - -*** ../vim-7.2.138/src/misc2.c Tue Feb 24 04:28:40 2009 ---- src/misc2.c Wed Mar 11 16:45:05 2009 -*************** -*** 496,502 **** - { - colnr_T len; - #ifdef FEAT_VIRTUALEDIT -! colnr_T oldcol = curwin->w_cursor.col + curwin->w_cursor.coladd; - #endif - - len = (colnr_T)STRLEN(ml_get_curline()); ---- 496,503 ---- - { - colnr_T len; - #ifdef FEAT_VIRTUALEDIT -! colnr_T oldcol = curwin->w_cursor.col; -! colnr_T oldcoladd = curwin->w_cursor.col + curwin->w_cursor.coladd; - #endif - - len = (colnr_T)STRLEN(ml_get_curline()); -*************** -*** 535,541 **** - if (oldcol == MAXCOL) - curwin->w_cursor.coladd = 0; - else if (ve_flags == VE_ALL) -! curwin->w_cursor.coladd = oldcol - curwin->w_cursor.col; - #endif - } - ---- 536,548 ---- - if (oldcol == MAXCOL) - curwin->w_cursor.coladd = 0; - else if (ve_flags == VE_ALL) -! { -! if (oldcoladd > curwin->w_cursor.col) -! curwin->w_cursor.coladd = oldcoladd - curwin->w_cursor.col; -! else -! /* avoid weird number when there is a miscalculation or overflow */ -! curwin->w_cursor.coladd = 0; -! } - #endif - } - -*** ../vim-7.2.138/src/version.c Wed Mar 11 16:36:04 2009 ---- src/version.c Wed Mar 11 17:26:50 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 139, - /**/ - --- -Some of the well know MS-Windows errors: - EHUH Unexpected error - EUSER User error, not our fault! - EGOD Horrible problem, god knows what has happened - EERR Errornous error: nothing wrong - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.140 --- a/components/vim/vim72-patches/7.2.140 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.140 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.140 -Problem: Diff highlighting isn't displayed before the Visual area if it - starts at the cursor position. (Markus Heidelberg) -Solution: Also check fromcol_prev. -Files: src/screen.c - - -*** ../vim-7.2.139/src/screen.c Sun Feb 22 21:12:22 2009 ---- src/screen.c Wed Mar 11 13:59:24 2009 -*************** -*** 3555,3561 **** - /* Use line_attr when not in the Visual or 'incsearch' area - * (area_attr may be 0 when "noinvcur" is set). */ - else if (line_attr != 0 && ((fromcol == -10 && tocol == MAXCOL) -! || (vcol < fromcol || vcol >= tocol))) - char_attr = line_attr; - #endif - else ---- 3555,3562 ---- - /* Use line_attr when not in the Visual or 'incsearch' area - * (area_attr may be 0 when "noinvcur" is set). */ - else if (line_attr != 0 && ((fromcol == -10 && tocol == MAXCOL) -! || vcol < fromcol || vcol_prev < fromcol_prev -! || vcol >= tocol)) - char_attr = line_attr; - #endif - else -*** ../vim-7.2.139/src/version.c Wed Mar 11 17:27:46 2009 ---- src/version.c Wed Mar 11 17:42:19 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 140, - /**/ - --- -Some of the well know MS-Windows errors: - EMEMORY Memory error caused by..., eh... - ELICENSE Your license has expired, give us more money! - EMOUSE Mouse moved, reinstall Windows - EILLEGAL Illegal error, you are not allowed to see this - EVIRUS Undetectable virus found - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.141 --- a/components/vim/vim72-patches/7.2.141 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,239 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.141 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.141 -Problem: When redrawing a character for bold spill this causes the next - character to be redrawn as well. -Solution: Only redraw one extra character. (Yukihiro Nakadaira) -Files: src/screen.c - - -*** ../vim-7.2.140/src/screen.c Wed Mar 11 17:44:38 2009 ---- src/screen.c Wed Mar 11 13:59:24 2009 -*************** -*** 5132,5139 **** - #endif - - #if defined(FEAT_GUI) || defined(UNIX) -! /* The bold trick makes a single row of pixels appear in the next -! * character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI - * and for some xterms. */ - if ( ---- 5132,5139 ---- - #endif - - #if defined(FEAT_GUI) || defined(UNIX) -! /* The bold trick makes a single column of pixels appear in the -! * next character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI - * and for some xterms. */ - if ( -*************** -*** 6276,6284 **** ---- 6276,6290 ---- - int pcc[MAX_MCO]; - # endif - #endif -+ #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -+ int force_redraw_this; -+ int force_redraw_next = FALSE; -+ #endif -+ int need_redraw; - - if (ScreenLines == NULL || row >= screen_Rows) /* safety check */ - return; -+ off = LineOffset[row] + col; - - #ifdef FEAT_MBYTE - /* When drawing over the right halve of a double-wide char clear out the -*************** -*** 6288,6297 **** - && !gui.in_use - # endif - && mb_fix_col(col, row) != col) -! screen_puts_len((char_u *)" ", 1, row, col - 1, 0); - #endif - -- off = LineOffset[row] + col; - #ifdef FEAT_MBYTE - max_off = LineOffset[row] + screen_Columns; - #endif ---- 6294,6314 ---- - && !gui.in_use - # endif - && mb_fix_col(col, row) != col) -! { -! ScreenLines[off - 1] = ' '; -! ScreenAttrs[off - 1] = 0; -! if (enc_utf8) -! { -! ScreenLinesUC[off - 1] = 0; -! ScreenLinesC[0][off - 1] = 0; -! } -! /* redraw the previous cell, make it empty */ -! screen_char(off - 1, row, col - 1); -! /* force the cell at "col" to be redrawn */ -! force_redraw_next = TRUE; -! } - #endif - - #ifdef FEAT_MBYTE - max_off = LineOffset[row] + screen_Columns; - #endif -*************** -*** 6355,6361 **** - } - #endif - -! if (ScreenLines[off] != c - #ifdef FEAT_MBYTE - || (mbyte_cells == 2 - && ScreenLines[off + 1] != (enc_dbcs ? ptr[1] : 0)) ---- 6372,6383 ---- - } - #endif - -! #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -! force_redraw_this = force_redraw_next; -! force_redraw_next = FALSE; -! #endif -! -! need_redraw = ScreenLines[off] != c - #ifdef FEAT_MBYTE - || (mbyte_cells == 2 - && ScreenLines[off + 1] != (enc_dbcs ? ptr[1] : 0)) -*************** -*** 6367,6386 **** - || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr -! || exmode_active - ) - { - #if defined(FEAT_GUI) || defined(UNIX) - /* The bold trick makes a single row of pixels appear in the next - * character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI -! * and for some xterms. -! * Force the redraw by setting the attribute to a different value -! * than "attr", the contents of ScreenLines[] may be needed by -! * mb_off2cells() further on. -! * Don't do this for the last drawn character, because the next -! * character may not be redrawn. */ -! if ( - # ifdef FEAT_GUI - gui.in_use - # endif ---- 6389,6408 ---- - || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr -! || exmode_active; -! -! if (need_redraw -! #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -! || force_redraw_this -! #endif - ) - { - #if defined(FEAT_GUI) || defined(UNIX) - /* The bold trick makes a single row of pixels appear in the next - * character. When a bold character is removed, the next - * character should be redrawn too. This happens for our own GUI -! * and for some xterms. */ -! if (need_redraw && ScreenLines[off] != ' ' && ( - # ifdef FEAT_GUI - gui.in_use - # endif -*************** -*** 6390,6412 **** - # ifdef UNIX - term_is_xterm - # endif -! ) - { -! int n; - -! n = ScreenAttrs[off]; -! # ifdef FEAT_MBYTE -! if (col + mbyte_cells < screen_Columns -! && (n > HL_ALL || (n & HL_BOLD)) -! && (len < 0 ? ptr[mbyte_blen] != NUL -! : ptr + mbyte_blen < text + len)) -! ScreenAttrs[off + mbyte_cells] = attr + 1; -! # else -! if (col + 1 < screen_Columns -! && (n > HL_ALL || (n & HL_BOLD)) -! && (len < 0 ? ptr[1] != NUL : ptr + 1 < text + len)) -! ScreenLines[off + 1] = 0; -! # endif - } - #endif - #ifdef FEAT_MBYTE ---- 6412,6425 ---- - # ifdef UNIX - term_is_xterm - # endif -! )) - { -! int n = ScreenAttrs[off]; - -! if (n > HL_ALL) -! n = syn_attr2attr(n); -! if (n & HL_BOLD) -! force_redraw_next = TRUE; - } - #endif - #ifdef FEAT_MBYTE -*************** -*** 6493,6498 **** ---- 6506,6525 ---- - ++ptr; - } - } -+ -+ #if defined(FEAT_MBYTE) || defined(FEAT_GUI) || defined(UNIX) -+ /* If we detected the next character needs to be redrawn, but the text -+ * doesn't extend up to there, update the character here. */ -+ if (force_redraw_next && col < screen_Columns) -+ { -+ # ifdef FEAT_MBYTE -+ if (enc_dbcs != 0 && dbcs_off2cells(off, max_off) > 1) -+ screen_char_2(off, row, col); -+ else -+ # endif -+ screen_char(off, row, col); -+ } -+ #endif - } - - #ifdef FEAT_SEARCH_EXTRA -*** ../vim-7.2.140/src/version.c Wed Mar 11 17:44:38 2009 ---- src/version.c Wed Mar 11 17:55:22 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 141, - /**/ - --- -Some of the well know MS-Windows errors: - ETIME Wrong time, wait a little while - ECRASH Try again... - EDETECT Unable to detect errors - EOVER You lost! Play another game? - ENOCLUE Eh, what did you want? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.142 --- a/components/vim/vim72-patches/7.2.142 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.142 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.142 -Problem: Motif and Athena balloons don't use tooltip colors. -Solution: Set the colors. (Matt Wozniski) -Files: src/gui_beval.c - - -*** ../vim-7.2.141/src/gui_beval.c Thu May 10 21:29:20 2007 ---- src/gui_beval.c Wed Mar 11 15:20:36 2009 -*************** -*** 1291,1296 **** ---- 1291,1313 ---- - XtNy, ty, - NULL); - #endif -+ /* Set tooltip colors */ -+ { -+ Arg args[2]; -+ -+ #ifdef FEAT_GUI_MOTIF -+ args[0].name = XmNbackground; -+ args[0].value = gui.tooltip_bg_pixel; -+ args[1].name = XmNforeground; -+ args[1].value = gui.tooltip_fg_pixel; -+ #else /* Athena */ -+ args[0].name = XtNbackground; -+ args[0].value = gui.tooltip_bg_pixel; -+ args[1].name = XtNforeground; -+ args[1].value = gui.tooltip_fg_pixel; -+ #endif -+ XtSetValues(beval->balloonLabel, &args[0], XtNumber(args)); -+ } - - XtPopup(beval->balloonShell, XtGrabNone); - -*** ../vim-7.2.141/src/version.c Wed Mar 11 17:57:05 2009 ---- src/version.c Wed Mar 18 12:20:01 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 142, - /**/ - --- -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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.143 --- a/components/vim/vim72-patches/7.2.143 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,234 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.143 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.143 -Problem: No command line completion for ":cscope" command. -Solution: Add the completion for ":cscope". (Dominique Pelle) -Files: src/ex_docmd.c, src/ex_getln.c, src/if_cscope.c, - src/proto/if_cscope.pro, src/vim.h - - -*** ../vim-7.2.142/src/ex_docmd.c Wed Mar 11 15:36:01 2009 ---- src/ex_docmd.c Wed Mar 11 15:45:04 2009 -*************** -*** 3683,3688 **** ---- 3683,3693 ---- - case CMD_highlight: - set_context_in_highlight_cmd(xp, arg); - break; -+ #ifdef FEAT_CSCOPE -+ case CMD_cscope: -+ set_context_in_cscope_cmd(xp, arg); -+ break; -+ #endif - #ifdef FEAT_LISTCMDS - case CMD_bdelete: - case CMD_bwipeout: -*************** -*** 5187,5192 **** ---- 5192,5200 ---- - {EXPAND_AUGROUP, "augroup"}, - {EXPAND_BUFFERS, "buffer"}, - {EXPAND_COMMANDS, "command"}, -+ #if defined(FEAT_CSCOPE) -+ {EXPAND_CSCOPE, "cscope"}, -+ #endif - #if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL) - {EXPAND_USER_DEFINED, "custom"}, - {EXPAND_USER_LIST, "customlist"}, -*** ../vim-7.2.142/src/ex_getln.c Thu Mar 5 03:13:51 2009 ---- src/ex_getln.c Wed Mar 11 15:45:04 2009 -*************** -*** 4518,4523 **** ---- 4518,4526 ---- - {EXPAND_EVENTS, get_event_name, TRUE}, - {EXPAND_AUGROUP, get_augroup_name, TRUE}, - #endif -+ #ifdef FEAT_CSCOPE -+ {EXPAND_CSCOPE, get_cscope_name, TRUE}, -+ #endif - #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \ - && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE)) - {EXPAND_LANGUAGE, get_lang_arg, TRUE}, -*** ../vim-7.2.142/src/if_cscope.c Wed Jan 28 16:03:51 2009 ---- src/if_cscope.c Wed Mar 11 15:56:07 2009 -*************** -*** 93,104 **** - (void)EMSG2(_("E560: Usage: cs[cope] %s"), cs_cmds[(int)x].usage); - } - - /* - * PRIVATE: do_cscope_general - * -! * find the command, print help if invalid, and the then call the -! * corresponding command function, -! * called from do_cscope and do_scscope - */ - static void - do_cscope_general(eap, make_split) ---- 93,209 ---- - (void)EMSG2(_("E560: Usage: cs[cope] %s"), cs_cmds[(int)x].usage); - } - -+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO) -+ -+ static enum -+ { -+ EXP_CSCOPE_SUBCMD, /* expand ":cscope" sub-commands */ -+ EXP_CSCOPE_FIND, /* expand ":cscope find" arguments */ -+ EXP_CSCOPE_KILL /* expand ":cscope kill" arguments */ -+ } expand_what; -+ -+ /* -+ * Function given to ExpandGeneric() to obtain the cscope command -+ * expansion. -+ */ -+ /*ARGSUSED*/ -+ char_u * -+ get_cscope_name(xp, idx) -+ expand_T *xp; -+ int idx; -+ { -+ switch (expand_what) -+ { -+ case EXP_CSCOPE_SUBCMD: -+ /* Complete with sub-commands of ":cscope": -+ * add, find, help, kill, reset, show */ -+ return (char_u *)cs_cmds[idx].name; -+ case EXP_CSCOPE_FIND: -+ { -+ const char *query_type[] = -+ { -+ "c", "d", "e", "f", "g", "i", "s", "t", NULL -+ }; -+ -+ /* Complete with query type of ":cscope find {query_type}". -+ * {query_type} can be letters (c, d, ... t) or numbers (0, 1, -+ * ..., 8) but only complete with letters, since numbers are -+ * redundant. */ -+ return (char_u *)query_type[idx]; -+ } -+ case EXP_CSCOPE_KILL: -+ { -+ int i; -+ int current_idx = 0; -+ static char_u connection[2]; -+ -+ /* ":cscope kill" accepts connection numbers or partial names of -+ * the pathname of the cscope database as argument. Only complete -+ * with connection numbers. -1 can also be used to kill all -+ * connections. */ -+ for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) -+ { -+ if (csinfo[i].fname == NULL) -+ continue; -+ if (current_idx++ == idx) -+ { -+ /* Connection number fits in one character since -+ * CSCOPE_MAX_CONNECTIONS is < 10 */ -+ connection[0] = i + '0'; -+ connection[1] = NUL; -+ return connection; -+ } -+ } -+ return (current_idx == idx && idx > 0) ? (char_u *)"-1" : NULL; -+ } -+ default: -+ return NULL; -+ } -+ } -+ -+ /* -+ * Handle command line completion for :cscope command. -+ */ -+ void -+ set_context_in_cscope_cmd(xp, arg) -+ expand_T *xp; -+ char_u *arg; -+ { -+ char_u *p; -+ -+ /* Default: expand subcommands */ -+ xp->xp_context = EXPAND_CSCOPE; -+ expand_what = EXP_CSCOPE_SUBCMD; -+ xp->xp_pattern = arg; -+ -+ /* (part of) subcommand already typed */ -+ if (*arg != NUL) -+ { -+ p = skiptowhite(arg); -+ if (*p != NUL) /* past first word */ -+ { -+ xp->xp_pattern = skipwhite(p); -+ if (*skiptowhite(xp->xp_pattern) != NUL) -+ xp->xp_context = EXPAND_NOTHING; -+ else if (STRNICMP(arg, "add", p - arg) == 0) -+ xp->xp_context = EXPAND_FILES; -+ else if (STRNICMP(arg, "kill", p - arg) == 0) -+ expand_what = EXP_CSCOPE_KILL; -+ else if (STRNICMP(arg, "find", p - arg) == 0) -+ expand_what = EXP_CSCOPE_FIND; -+ else -+ xp->xp_context = EXPAND_NOTHING; -+ } -+ } -+ } -+ -+ #endif /* FEAT_CMDL_COMPL */ -+ - /* - * PRIVATE: do_cscope_general - * -! * Find the command, print help if invalid, and then call the corresponding -! * command function. - */ - static void - do_cscope_general(eap, make_split) -*** ../vim-7.2.142/src/proto/if_cscope.pro Thu Sep 6 17:38:21 2007 ---- src/proto/if_cscope.pro Wed Mar 11 15:57:03 2009 -*************** -*** 1,4 **** ---- 1,6 ---- - /* if_cscope.c */ -+ char_u *get_cscope_name __ARGS((expand_T *xp, int idx)); -+ void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg)); - void do_cscope __ARGS((exarg_T *eap)); - void do_scscope __ARGS((exarg_T *eap)); - void do_cstag __ARGS((exarg_T *eap)); -*** ../vim-7.2.142/src/vim.h Sun Feb 22 02:36:36 2009 ---- src/vim.h Wed Mar 11 15:45:04 2009 -*************** -*** 708,713 **** ---- 708,714 ---- - #define EXPAND_USER_DEFINED 30 - #define EXPAND_USER_LIST 31 - #define EXPAND_SHELLCMD 32 -+ #define EXPAND_CSCOPE 33 - - /* Values for exmode_active (0 is no exmode) */ - #define EXMODE_NORMAL 1 -*** ../vim-7.2.142/src/version.c Wed Mar 18 12:20:35 2009 ---- src/version.c Wed Mar 18 12:48:08 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 143, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -234. You started college as a chemistry major, and walk out four years - later as an Internet provider. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.144 --- a/components/vim/vim72-patches/7.2.144 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.144 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.144 -Problem: When 't_Co' is set to the value it already had the color scheme is - reloaded anyway. -Solution: Only load the colorscheme when the t_Co value changes. (Dominique - Pelle) -Files: src/option.c - - -*** ../vim-7.2.143/src/option.c Wed Mar 4 04:11:56 2009 ---- src/option.c Wed Mar 18 12:00:28 2009 -*************** -*** 6022,6036 **** - /* ":set t_Co=0" and ":set t_Co=1" do ":set t_Co=" */ - if (varp == &T_CCO) - { -! t_colors = atoi((char *)T_CCO); -! if (t_colors <= 1) - { -! if (new_value_alloced) -! vim_free(T_CCO); -! T_CCO = empty_option; - } -- /* We now have a different color setup, initialize it again. */ -- init_highlight(TRUE, FALSE); - } - ttest(FALSE); - if (varp == &T_ME) ---- 6022,6044 ---- - /* ":set t_Co=0" and ":set t_Co=1" do ":set t_Co=" */ - if (varp == &T_CCO) - { -! int colors = atoi((char *)T_CCO); -! -! /* Only reinitialize colors if t_Co value has really changed to -! * avoid expensive reload of colorscheme if t_Co is set to the -! * same value multiple times. */ -! if (colors != t_colors) - { -! t_colors = colors; -! if (t_colors <= 1) -! { -! if (new_value_alloced) -! vim_free(T_CCO); -! T_CCO = empty_option; -! } -! /* We now have a different color setup, initialize it again. */ -! init_highlight(TRUE, FALSE); - } - } - ttest(FALSE); - if (varp == &T_ME) -*** ../vim-7.2.143/src/version.c Wed Mar 18 12:50:58 2009 ---- src/version.c Wed Mar 18 14:16:48 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 144, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -235. You start naming your kids Pascal, COBOL, Algol and Fortran. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.145 --- a/components/vim/vim72-patches/7.2.145 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.145 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.145 -Problem: White space in ":cscope find" is not ignored. -Solution: Ignore the white space, but not when the leading white space is - useful for the argument. -Files: runtime/doc/if_cscop.txt, src/if_cscope.c - - -*** ../vim-7.2.144/runtime/doc/if_cscop.txt Sat Aug 9 19:36:48 2008 ---- runtime/doc/if_cscop.txt Wed Mar 18 14:30:09 2009 -*************** -*** 1,4 **** -! *if_cscop.txt* For Vim version 7.2. Last change: 2005 Mar 29 - - - VIM REFERENCE MANUAL by Andy Kahn ---- 1,4 ---- -! *if_cscop.txt* For Vim version 7.2. Last change: 2009 Mar 18 - - - VIM REFERENCE MANUAL by Andy Kahn -*************** -*** 131,141 **** - 7 or f: Find this file - 8 or i: Find files #including this file - - EXAMPLES > - :cscope find c vim_free -! :cscope find 3 vim_free - < -! These two examples perform the same query. > - - :cscope find 0 DEFAULT_TERM - < ---- 131,152 ---- - 7 or f: Find this file - 8 or i: Find files #including this file - -+ For all types, except 4 and 6, leading white space for {name} is -+ removed. For 4 and 6 there is exactly one space between {querytype} -+ and {name}. Further white space is included in {name}. -+ - EXAMPLES > - :cscope find c vim_free -! :cscope find 3 vim_free -! < -! These two examples perform the same query: functions calling -! "vim_free". > -! -! :cscope find t initOnce -! :cscope find t initOnce - < -! The first one searches for the text "initOnce", the second one for -! " initOnce". > - - :cscope find 0 DEFAULT_TERM - < -*** ../vim-7.2.144/src/if_cscope.c Wed Mar 18 12:50:58 2009 ---- src/if_cscope.c Wed Mar 18 13:23:53 2009 -*************** -*** 764,769 **** ---- 764,770 ---- - { - char *cmd; - short search; -+ char *pat; - - switch (csoption[0]) - { -*************** -*** 797,806 **** - return NULL; - } - -! if ((cmd = (char *)alloc((unsigned)(strlen(pattern) + 2))) == NULL) - return NULL; - -! (void)sprintf(cmd, "%d%s", search, pattern); - - return cmd; - } /* cs_create_cmd */ ---- 798,814 ---- - return NULL; - } - -! /* Skip white space before the patter, except for text and pattern search, -! * they may want to use the leading white space. */ -! pat = pattern; -! if (search != 4 && search != 6) -! while vim_iswhite(*pat) -! ++pat; -! -! if ((cmd = (char *)alloc((unsigned)(strlen(pat) + 2))) == NULL) - return NULL; - -! (void)sprintf(cmd, "%d%s", search, pat); - - return cmd; - } /* cs_create_cmd */ -*** ../vim-7.2.144/src/version.c Wed Mar 18 14:19:28 2009 ---- src/version.c Wed Mar 18 14:28:46 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 145, - /**/ - --- -Google is kind of like Dr. Who's Tardis; it's weirder on the -inside than on the outside... - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.146 --- a/components/vim/vim72-patches/7.2.146 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.146 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.146 -Problem: v:warningmsg isn't used for all warnings. -Solution: Set v:warningmsg for relevant warnings. (Ingo Karkat) -Files: src/fileio.c, src/misc1.c, src/option.c - - -*** ../vim-7.2.145/src/fileio.c Wed Mar 11 13:09:30 2009 ---- src/fileio.c Wed Mar 18 15:03:46 2009 -*************** -*** 6647,6652 **** ---- 6647,6657 ---- - tbuf = alloc((unsigned)(STRLEN(path) + STRLEN(mesg) - + STRLEN(mesg2) + 2)); - sprintf((char *)tbuf, mesg, path); -+ #ifdef FEAT_EVAL -+ /* Set warningmsg here, before the unimportant and output-specific -+ * mesg2 has been appended. */ -+ set_vim_var_string(VV_WARNINGMSG, tbuf, -1); -+ #endif - #if defined(FEAT_CON_DIALOG) || defined(FEAT_GUI_DIALOG) - if (can_reload) - { -*** ../vim-7.2.145/src/misc1.c Thu Nov 20 17:09:09 2008 ---- src/misc1.c Wed Mar 18 15:06:59 2009 -*************** -*** 2955,2960 **** ---- 2955,2962 ---- - int col; /* column for message; non-zero when in insert - mode and 'showmode' is on */ - { -+ static char *w_readonly = N_("W10: Warning: Changing a readonly file"); -+ - if (curbuf->b_did_warn == FALSE - && curbufIsChanged() == 0 - #ifdef FEAT_AUTOCMD -*************** -*** 2977,2984 **** - if (msg_row == Rows - 1) - msg_col = col; - msg_source(hl_attr(HLF_W)); -! MSG_PUTS_ATTR(_("W10: Warning: Changing a readonly file"), -! hl_attr(HLF_W) | MSG_HIST); - msg_clr_eos(); - (void)msg_end(); - if (msg_silent == 0 && !silent_mode) ---- 2979,2988 ---- - if (msg_row == Rows - 1) - msg_col = col; - msg_source(hl_attr(HLF_W)); -! MSG_PUTS_ATTR(_(w_readonly), hl_attr(HLF_W) | MSG_HIST); -! #ifdef FEAT_EVAL -! set_vim_var_string(VV_WARNINGMSG, (char_u *)_(w_readonly), -1); -! #endif - msg_clr_eos(); - (void)msg_end(); - if (msg_silent == 0 && !silent_mode) -*** ../vim-7.2.145/src/option.c Wed Mar 18 14:19:28 2009 ---- src/option.c Wed Mar 18 15:06:11 2009 -*************** -*** 7563,7571 **** - * set. */ - if (STRCMP(p_enc, "utf-8") != 0) - { - msg_source(hl_attr(HLF_W)); -! MSG_ATTR(_("W17: Arabic requires UTF-8, do ':set encoding=utf-8'"), -! hl_attr(HLF_W)); - } - - # ifdef FEAT_MBYTE ---- 7563,7575 ---- - * set. */ - if (STRCMP(p_enc, "utf-8") != 0) - { -+ static char *w_arabic = N_("W17: Arabic requires UTF-8, do ':set encoding=utf-8'"); -+ - msg_source(hl_attr(HLF_W)); -! MSG_ATTR(_(w_arabic), hl_attr(HLF_W)); -! #ifdef FEAT_EVAL -! set_vim_var_string(VV_WARNINGMSG, (char_u *)_(w_arabic), -1); -! #endif - } - - # ifdef FEAT_MBYTE -*** ../vim-7.2.145/src/version.c Wed Mar 18 14:30:46 2009 ---- src/version.c Wed Mar 18 15:38:27 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 146, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -238. You think faxes are old-fashioned. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.147 --- a/components/vim/vim72-patches/7.2.147 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.147 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.147 -Problem: When compiled as small version and 'number' is on the cursor is - displayed in the wrong position after a tab. (James Vega) -Solution: Don't increment vcol when still displaying the line number. -Files: src/screen.c - - -*** ../vim-7.2.146/src/screen.c Wed Mar 11 17:57:05 2009 ---- src/screen.c Wed Mar 18 16:18:00 2009 -*************** -*** 4665,4671 **** - --n_skip; - - /* Only advance the "vcol" when after the 'number' column. */ -! if (draw_state >= WL_SBR - #ifdef FEAT_DIFF - && filler_todo <= 0 - #endif ---- 4665,4671 ---- - --n_skip; - - /* Only advance the "vcol" when after the 'number' column. */ -! if (draw_state > WL_NR - #ifdef FEAT_DIFF - && filler_todo <= 0 - #endif -*** ../vim-7.2.146/src/version.c Wed Mar 18 15:40:03 2009 ---- src/version.c Wed Mar 18 16:26:00 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 147, - /**/ - --- -You can tune a file system, but you can't tuna fish - -- man tunefs - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.148 --- a/components/vim/vim72-patches/7.2.148 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,145 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.148 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.148 -Problem: When searching for "$" while 'hlsearch' is set, highlighting the - character after the line does not work in the cursor column. - Also highlighting for Visual mode after the line end when this - isn't needed. (Markus Heidelberg) -Solution: Only compare the cursor column in the cursor line. Only highlight - for Visual selection after the last character when it's needed to - see where the Visual selection ends. -Files: src/screen.c - - -*** ../vim-7.2.147/src/screen.c Wed Mar 18 16:26:31 2009 ---- src/screen.c Wed Mar 18 17:24:56 2009 -*************** -*** 2889,2896 **** - } - else - tocol = MAXCOL; -! if (fromcol == tocol) /* do at least one character */ -! tocol = fromcol + 1; /* happens when past end of line */ - area_highlighting = TRUE; - attr = hl_attr(HLF_I); - } ---- 2889,2897 ---- - } - else - tocol = MAXCOL; -! /* do at least one character; happens when past end of line */ -! if (fromcol == tocol) -! tocol = fromcol + 1; - area_highlighting = TRUE; - attr = hl_attr(HLF_I); - } -*************** -*** 4118,4123 **** ---- 4119,4125 ---- - # endif - (col < W_WIDTH(wp))) - && !(noinvcur -+ && lnum == wp->w_cursor.lnum - && (colnr_T)vcol == wp->w_virtcol))) - && lcs_eol_one >= 0) - { -*************** -*** 4259,4265 **** - * preedit_changed and commit. Thus Vim can't set "im_is_active", use - * im_is_preediting() here. */ - if (xic != NULL -! && lnum == curwin->w_cursor.lnum - && (State & INSERT) - && !p_imdisable - && im_is_preediting() ---- 4261,4267 ---- - * preedit_changed and commit. Thus Vim can't set "im_is_active", use - * im_is_preediting() here. */ - if (xic != NULL -! && lnum == wp->w_cursor.lnum - && (State & INSERT) - && !p_imdisable - && im_is_preediting() -*************** -*** 4268,4274 **** - colnr_T tcol; - - if (preedit_end_col == MAXCOL) -! getvcol(curwin, &(curwin->w_cursor), &tcol, NULL, NULL); - else - tcol = preedit_end_col; - if ((long)preedit_start_col <= vcol && vcol < (long)tcol) ---- 4270,4276 ---- - colnr_T tcol; - - if (preedit_end_col == MAXCOL) -! getvcol(curwin, &(wp->w_cursor), &tcol, NULL, NULL); - else - tcol = preedit_end_col; - if ((long)preedit_start_col <= vcol && vcol < (long)tcol) -*************** -*** 4365,4371 **** - } - #endif - if (lcs_eol == lcs_eol_one -! && ((area_attr != 0 && vcol == fromcol && c == NUL) - #ifdef FEAT_SEARCH_EXTRA - /* highlight 'hlsearch' match at end of line */ - || (prevcol_hl_flag == TRUE ---- 4367,4379 ---- - } - #endif - if (lcs_eol == lcs_eol_one -! && ((area_attr != 0 && vcol == fromcol -! #ifdef FEAT_VISUAL -! && (VIsual_mode != Ctrl_V -! || lnum == VIsual.lnum -! || lnum == curwin->w_cursor.lnum) -! #endif -! && c == NUL) - #ifdef FEAT_SEARCH_EXTRA - /* highlight 'hlsearch' match at end of line */ - || (prevcol_hl_flag == TRUE -*************** -*** 4459,4465 **** - if (c == NUL) - { - #ifdef FEAT_SYN_HL -! if (eol_hl_off > 0 && vcol - eol_hl_off == (long)wp->w_virtcol) - { - /* highlight last char after line */ - --col; ---- 4467,4474 ---- - if (c == NUL) - { - #ifdef FEAT_SYN_HL -! if (eol_hl_off > 0 && vcol - eol_hl_off == (long)wp->w_virtcol -! && lnum == wp->w_cursor.lnum) - { - /* highlight last char after line */ - --col; -*** ../vim-7.2.147/src/version.c Wed Mar 18 16:26:31 2009 ---- src/version.c Wed Mar 18 19:05:37 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 148, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -239. You think "surfing" is something you do on dry land. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.149 --- a/components/vim/vim72-patches/7.2.149 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,672 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.149 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.149 -Problem: Using return value of function that doesn't return a value results - in reading uninitialized memory. -Solution: Set the default to return zero. Make cursor() return -1 on - failure. Let complete() return an empty string in case of an - error. (partly by Dominique Pelle) -Files: runtime/doc/eval.txt, src/eval.c - - -*** ../vim-7.2.148/runtime/doc/eval.txt Tue Dec 9 10:56:50 2008 ---- runtime/doc/eval.txt Sun Mar 22 14:28:49 2009 -*************** -*** 2414,2419 **** ---- 2419,2425 ---- - When 'virtualedit' is used {off} specifies the offset in - screen columns from the start of the character. E.g., a - position within a or after the last character. -+ Returns 0 when the position could be set, -1 otherwise. - - - deepcopy({expr}[, {noref}]) *deepcopy()* *E698* -*************** -*** 4516,4521 **** ---- 4526,4532 ---- - should also work to move files across file systems. The - result is a Number, which is 0 if the file was renamed - successfully, and non-zero when the renaming failed. -+ NOTE: If {to} exists it is overwritten without warning. - This function is not available in the |sandbox|. - - repeat({expr}, {count}) *repeat()* -*** ../vim-7.2.148/src/eval.c Wed Feb 4 16:25:53 2009 ---- src/eval.c Sun Mar 22 20:45:18 2009 -*************** -*** 1285,1291 **** ---- 1285,1293 ---- - typval_T tv; - char_u *retval; - garray_T ga; -+ #ifdef FEAT_FLOAT - char_u numbuf[NUMBUFLEN]; -+ #endif - - if (eval0(arg, &tv, nextcmd, TRUE) == FAIL) - retval = NULL; -*************** -*** 8018,8024 **** - /* execute the function if no errors detected and executing */ - if (evaluate && error == ERROR_NONE) - { -! rettv->v_type = VAR_NUMBER; /* default is number rettv */ - error = ERROR_UNKNOWN; - - if (!builtin_function(fname)) ---- 8020,8027 ---- - /* execute the function if no errors detected and executing */ - if (evaluate && error == ERROR_NONE) - { -! rettv->v_type = VAR_NUMBER; /* default rettv is number zero */ -! rettv->vval.v_number = 0; - error = ERROR_UNKNOWN; - - if (!builtin_function(fname)) -*************** -*** 8268,8274 **** - return; - li = l->lv_first; - } -- rettv->vval.v_number = 0; /* Default: Success */ - for (;;) - { - if (l == NULL) ---- 8271,8276 ---- -*************** -*** 8728,8734 **** - int dummy; - dict_T *selfdict = NULL; - -- rettv->vval.v_number = 0; - if (argvars[1].v_type != VAR_LIST) - { - EMSG(_(e_listreq)); ---- 8730,8735 ---- -*************** -*** 9036,9048 **** - if (buttons == NULL || *buttons == NUL) - buttons = (char_u *)_("&Ok"); - -! if (error) -! rettv->vval.v_number = 0; -! else - rettv->vval.v_number = do_dialog(type, NULL, message, buttons, - def, NULL); -- #else -- rettv->vval.v_number = 0; - #endif - } - ---- 9037,9045 ---- - if (buttons == NULL || *buttons == NUL) - buttons = (char_u *)_("&Ok"); - -! if (!error) - rettv->vval.v_number = do_dialog(type, NULL, message, buttons, - def, NULL); - #endif - } - -*************** -*** 9181,9195 **** - } - - rettv->vval.v_number = cs_connection(num, dbpath, prepend); -- #else -- rettv->vval.v_number = 0; - #endif - } - - /* - * "cursor(lnum, col)" function - * -! * Moves the cursor to the specified line and column - */ - /*ARGSUSED*/ - static void ---- 9178,9191 ---- - } - - rettv->vval.v_number = cs_connection(num, dbpath, prepend); - #endif - } - - /* - * "cursor(lnum, col)" function - * -! * Moves the cursor to the specified line and column. -! * Returns 0 when the position could be set, -1 otherwise. - */ - /*ARGSUSED*/ - static void -*************** -*** 9202,9207 **** ---- 9198,9204 ---- - long coladd = 0; - #endif - -+ rettv->vval.v_number = -1; - if (argvars[1].v_type == VAR_UNKNOWN) - { - pos_T pos; -*************** -*** 9246,9251 **** ---- 9243,9249 ---- - #endif - - curwin->w_set_curswant = TRUE; -+ rettv->vval.v_number = 0; - } - - /* -*************** -*** 9291,9298 **** - { - #ifdef FEAT_AUTOCMD - rettv->vval.v_number = did_filetype; -- #else -- rettv->vval.v_number = 0; - #endif - } - ---- 9289,9294 ---- -*************** -*** 9605,9611 **** - typval_T *argvars; - typval_T *rettv; - { -- rettv->vval.v_number = 0; - if (argvars[0].v_type == VAR_LIST && argvars[1].v_type == VAR_LIST) - { - list_T *l1, *l2; ---- 9601,9606 ---- -*************** -*** 9733,9739 **** - if (check_secure()) - return; - -- rettv->vval.v_number = 0; - keys = get_tv_string(&argvars[0]); - if (*keys != NUL) - { ---- 9728,9733 ---- -*************** -*** 9901,9907 **** - char_u *ermsg = map ? (char_u *)"map()" : (char_u *)"filter()"; - int save_did_emsg; - -- rettv->vval.v_number = 0; - if (argvars[0].v_type == VAR_LIST) - { - if ((l = argvars[0].vval.v_list) == NULL ---- 9895,9900 ---- -*************** -*** 10084,10091 **** - else - rettv->vval.v_number = (varnumber_T)f; - } -- else -- rettv->vval.v_number = 0; - } - - /* ---- 10077,10082 ---- -*************** -*** 10219,10227 **** - lnum = get_tv_lnum(argvars); - if (lnum >= 1 && lnum <= curbuf->b_ml.ml_line_count) - rettv->vval.v_number = foldLevel(lnum); -- else - #endif -- rettv->vval.v_number = 0; - } - - /* ---- 10210,10216 ---- -*************** -*** 10337,10343 **** - typval_T *argvars; - typval_T *rettv; - { -- rettv->vval.v_number = 0; - #ifdef FEAT_GUI - if (gui.in_use) - gui_mch_set_foreground(); ---- 10326,10331 ---- -*************** -*** 10359,10365 **** - { - char_u *s; - -- rettv->vval.v_number = 0; - s = get_tv_string(&argvars[0]); - if (s == NULL || *s == NUL || VIM_ISDIGIT(*s)) - EMSG2(_(e_invarg2), s); ---- 10347,10352 ---- -*************** -*** 10429,10437 **** - - if (tv == NULL) - { -! if (argvars[2].v_type == VAR_UNKNOWN) -! rettv->vval.v_number = 0; -! else - copy_tv(&argvars[2], rettv); - } - else ---- 10416,10422 ---- - - if (tv == NULL) - { -! if (argvars[2].v_type != VAR_UNKNOWN) - copy_tv(&argvars[2], rettv); - } - else -*************** -*** 10456,10468 **** - { - char_u *p; - -! if (retlist) -! { -! if (rettv_list_alloc(rettv) == FAIL) -! return; -! } -! else -! rettv->vval.v_number = 0; - - if (buf == NULL || buf->b_ml.ml_mfp == NULL || start < 0) - return; ---- 10441,10448 ---- - { - char_u *p; - -! if (retlist && rettv_list_alloc(rettv) == FAIL) -! return; - - if (buf == NULL || buf->b_ml.ml_mfp == NULL || start < 0) - return; -*************** -*** 11009,11016 **** - dict_T *dict; - matchitem_T *cur = curwin->w_match_head; - -- rettv->vval.v_number = 0; -- - if (rettv_list_alloc(rettv) == OK) - { - while (cur != NULL) ---- 10989,10994 ---- -*************** -*** 11089,11095 **** - win_T *wp; - #endif - -- rettv->vval.v_number = 0; - #ifdef FEAT_QUICKFIX - if (rettv_list_alloc(rettv) == OK) - { ---- 11067,11072 ---- -*************** -*** 11935,11941 **** - typval_T *argvars; - typval_T *rettv; - { -- rettv->vval.v_number = 0; - if (argvars[0].v_type != VAR_DICT) - { - EMSG(_(e_dictreq)); ---- 11912,11917 ---- -*************** -*** 12052,12059 **** - n = del_history_entry(get_histtype(str), - get_tv_string_buf(&argvars[1], buf)); - rettv->vval.v_number = n; -- #else -- rettv->vval.v_number = 0; - #endif - } - ---- 12028,12033 ---- -*************** -*** 12415,12421 **** - int selected; - int mouse_used; - -- rettv->vval.v_number = 0; - #ifdef NO_CONSOLE_INPUT - /* While starting up, there is no place to enter text. */ - if (no_console_input()) ---- 12389,12394 ---- -*************** -*** 12464,12470 **** - --ga_userinput.ga_len; - restore_typeahead((tasave_T *)(ga_userinput.ga_data) - + ga_userinput.ga_len); -! rettv->vval.v_number = 0; /* OK */ - } - else if (p_verbose > 1) - { ---- 12437,12443 ---- - --ga_userinput.ga_len; - restore_typeahead((tasave_T *)(ga_userinput.ga_data) - + ga_userinput.ga_len); -! /* default return is zero == OK */ - } - else if (p_verbose > 1) - { -*************** -*** 12488,12494 **** - save_typeahead((tasave_T *)(ga_userinput.ga_data) - + ga_userinput.ga_len); - ++ga_userinput.ga_len; -! rettv->vval.v_number = 0; /* OK */ - } - else - rettv->vval.v_number = 1; /* Failed */ ---- 12461,12467 ---- - save_typeahead((tasave_T *)(ga_userinput.ga_data) - + ga_userinput.ga_len); - ++ga_userinput.ga_len; -! /* default return is zero == OK */ - } - else - rettv->vval.v_number = 1; /* Failed */ -*************** -*** 12522,12528 **** - list_T *l; - int error = FALSE; - -- rettv->vval.v_number = 0; - if (argvars[0].v_type != VAR_LIST) - EMSG2(_(e_listarg), "insert()"); - else if ((l = argvars[0].vval.v_list) != NULL ---- 12495,12500 ---- -*************** -*** 12641,12647 **** - dict_T *d; - int todo; - -- rettv->vval.v_number = 0; - if (argvars[0].v_type != VAR_DICT) - { - EMSG(_(e_dictreq)); ---- 12613,12618 ---- -*************** -*** 12729,12735 **** - garray_T ga; - char_u *sep; - -- rettv->vval.v_number = 0; - if (argvars[0].v_type != VAR_LIST) - { - EMSG(_(e_listreq)); ---- 12700,12705 ---- -*************** -*** 12827,12835 **** - #endif - - rettv->v_type = type; -! if (type == VAR_NUMBER) -! rettv->vval.v_number = 0; -! else - rettv->vval.v_string = NULL; - - if (check_restricted() || check_secure()) ---- 12797,12803 ---- - #endif - - rettv->v_type = type; -! if (type != VAR_NUMBER) - rettv->vval.v_string = NULL; - - if (check_restricted() || check_secure()) -*************** -*** 13770,13776 **** - typval_T *argvars; - typval_T *rettv; - { -- rettv->vval.v_number = 0; - #ifdef FEAT_INS_EXPAND - if (pum_visible()) - rettv->vval.v_number = 1; ---- 13738,13743 ---- -*************** -*** 13804,13810 **** - stride = get_tv_number_chk(&argvars[2], &error); - } - -- rettv->vval.v_number = 0; - if (error) - return; /* type error; errmsg already given */ - if (stride == 0) ---- 13771,13776 ---- -*************** -*** 14193,14199 **** - typval_T *argvars; - typval_T *rettv; - { -- rettv->vval.v_number = 0; - #ifdef FEAT_CLIENTSERVER - # ifdef WIN32 - /* On Win32 it's done in this application. */ ---- 14159,14164 ---- -*************** -*** 14249,14255 **** - rettv->vval.v_number = (s != NULL); - } - # else -- rettv->vval.v_number = 0; - if (check_connection() == FAIL) - return; - ---- 14214,14219 ---- -*************** -*** 14338,14344 **** - dict_T *d; - dictitem_T *di; - -- rettv->vval.v_number = 0; - if (argvars[0].v_type == VAR_DICT) - { - if (argvars[2].v_type != VAR_UNKNOWN) ---- 14302,14307 ---- -*************** -*** 14696,14702 **** - list_T *l; - listitem_T *li, *ni; - -- rettv->vval.v_number = 0; - if (argvars[0].v_type != VAR_LIST) - EMSG2(_(e_listarg), "reverse()"); - else if ((l = argvars[0].vval.v_list) != NULL ---- 14659,14664 ---- -*************** -*** 15048,15055 **** - int lnum = 0; - int col = 0; - -- rettv->vval.v_number = 0; -- - if (rettv_list_alloc(rettv) == FAIL) - return; - ---- 15010,15015 ---- -*************** -*** 15236,15243 **** - int n; - int flags = 0; - -- rettv->vval.v_number = 0; -- - if (rettv_list_alloc(rettv) == FAIL) - return; - ---- 15196,15201 ---- -*************** -*** 15323,15330 **** - typval_T *varp; - char_u nbuf[NUMBUFLEN]; - -- rettv->vval.v_number = 0; -- - if (check_restricted() || check_secure()) - return; - (void)get_tv_number(&argvars[0]); /* issue errmsg if type error */ ---- 15281,15286 ---- -*************** -*** 15404,15410 **** - else - line = get_tv_string_chk(&argvars[1]); - -! rettv->vval.v_number = 0; /* OK */ - for (;;) - { - if (l != NULL) ---- 15360,15366 ---- - else - line = get_tv_string_chk(&argvars[1]); - -! /* default result is zero == OK */ - for (;;) - { - if (l != NULL) -*************** -*** 15717,15722 **** ---- 15673,15679 ---- - /* - * "setwinvar()" and "settabwinvar()" functions - */ -+ /*ARGSUSED*/ - static void - setwinvar(argvars, rettv, off) - typval_T *argvars; -*************** -*** 15733,15740 **** - char_u nbuf[NUMBUFLEN]; - tabpage_T *tp; - -- rettv->vval.v_number = 0; -- - if (check_restricted() || check_secure()) - return; - ---- 15690,15695 ---- -*************** -*** 15947,15953 **** - long len; - long i; - -- rettv->vval.v_number = 0; - if (argvars[0].v_type != VAR_LIST) - EMSG2(_(e_listarg), "sort()"); - else ---- 15902,15907 ---- -*************** -*** 16870,16878 **** - typval_T *argvars; - typval_T *rettv; - { -! #ifndef FEAT_WINDOWS -! rettv->vval.v_number = 0; -! #else - tabpage_T *tp; - win_T *wp = NULL; - ---- 16824,16830 ---- - typval_T *argvars; - typval_T *rettv; - { -! #ifdef FEAT_WINDOWS - tabpage_T *tp; - win_T *wp = NULL; - -*************** -*** 16884,16902 **** - if (tp != NULL) - wp = (tp == curtab) ? firstwin : tp->tp_firstwin; - } -! if (wp == NULL) -! rettv->vval.v_number = 0; -! else - { -! if (rettv_list_alloc(rettv) == FAIL) -! rettv->vval.v_number = 0; -! else -! { -! for (; wp != NULL; wp = wp->w_next) -! if (list_append_number(rettv->vval.v_list, - wp->w_buffer->b_fnum) == FAIL) -! break; -! } - } - #endif - } ---- 16836,16847 ---- - if (tp != NULL) - wp = (tp == curtab) ? firstwin : tp->tp_firstwin; - } -! if (wp != NULL && rettv_list_alloc(rettv) != FAIL) - { -! for (; wp != NULL; wp = wp->w_next) -! if (list_append_number(rettv->vval.v_list, - wp->w_buffer->b_fnum) == FAIL) -! break; - } - #endif - } -*************** -*** 17024,17033 **** - int first; - - if (rettv_list_alloc(rettv) == FAIL) -- { -- rettv->vval.v_number = 0; - return; -- } - - for (first = TRUE; ; first = FALSE) - if (get_tagfname(&tn, first, fname) == FAIL ---- 16969,16975 ---- -*************** -*** 17401,17408 **** - /* A non-zero number or non-empty string argument: reset mode. */ - if (non_zero_arg(&argvars[0])) - curbuf->b_visual_mode_eval = NUL; -- #else -- rettv->vval.v_number = 0; /* return anything, it won't work anyway */ - #endif - } - ---- 17343,17348 ---- -*** ../vim-7.2.148/src/version.c Wed Mar 18 19:07:09 2009 ---- src/version.c Wed Apr 22 12:44:05 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 149, - /**/ - - --- -WOMAN: Well, 'ow did you become king then? -ARTHUR: The Lady of the Lake, [angels sing] her arm clad in the purest - shimmering samite, held aloft Excalibur from the bosom of the water - signifying by Divine Providence that I, Arthur, was to carry - Excalibur. [singing stops] That is why I am your king! - The Quest for the Holy Grail (Monty Python) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.151 --- a/components/vim/vim72-patches/7.2.151 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.151 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.151 -Problem: ":hist a" doesn't work like ":hist all" as the docs suggest. -Solution: Make ":hist a" and ":hist al" work. (Dominique Pelle) -Files: src/ex_getln.c - - -*** ../vim-7.2.150/src/ex_getln.c Wed Mar 18 12:50:58 2009 ---- src/ex_getln.c Sun Apr 12 13:36:06 2009 -*************** -*** 5686,5692 **** - histype1 = get_histtype(arg); - if (histype1 == -1) - { -! if (STRICMP(arg, "all") == 0) - { - histype1 = 0; - histype2 = HIST_COUNT-1; ---- 5686,5692 ---- - histype1 = get_histtype(arg); - if (histype1 == -1) - { -! if (STRNICMP(arg, "all", STRLEN(arg)) == 0) - { - histype1 = 0; - histype2 = HIST_COUNT-1; -*** ../vim-7.2.150/src/version.c Wed Apr 22 13:06:11 2009 ---- src/version.c Wed Apr 22 13:49:41 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 151, - /**/ - --- -I'm sure that I asked CBuilder to do a "full" install. Looks like I got -a "fool" install, instead. Charles E Campbell, Jr, PhD - - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.152 --- a/components/vim/vim72-patches/7.2.152 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,104 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.152 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.152 -Problem: When using "silent echo x" inside ":redir" a next echo may start - halfway the line. (Tony Mechelynck, Dennis Benzinger) -Solution: Reset msg_col after redirecting silently. -Files: src/ex_docmd.c, src/message.c, src/proto/message.pro - - -*** ../vim-7.2.151/src/ex_docmd.c Wed Mar 18 12:50:58 2009 ---- src/ex_docmd.c Wed Apr 22 11:57:49 2009 -*************** -*** 2699,2704 **** ---- 2699,2709 ---- - /* Restore msg_scroll, it's set by file I/O commands, even when no - * message is actually displayed. */ - msg_scroll = save_msg_scroll; -+ -+ /* "silent reg" or "silent echo x" inside "redir" leaves msg_col -+ * somewhere in the line. Put it back in the first column. */ -+ if (redirecting()) -+ msg_col = 0; - } - - #ifdef HAVE_SANDBOX -*** ../vim-7.2.151/src/message.c Tue Feb 24 04:36:50 2009 ---- src/message.c Sun Apr 12 14:08:25 2009 -*************** -*** 3023,3033 **** - if (*p_vfile != NUL) - verbose_write(s, maxlen); - -! if (redir_fd != NULL -! #ifdef FEAT_EVAL -! || redir_reg || redir_vname -! #endif -! ) - { - /* If the string doesn't start with CR or NL, go to msg_col */ - if (*s != '\n' && *s != '\r') ---- 3023,3029 ---- - if (*p_vfile != NUL) - verbose_write(s, maxlen); - -! if (redirecting()) - { - /* If the string doesn't start with CR or NL, go to msg_col */ - if (*s != '\n' && *s != '\r') -*************** -*** 3074,3079 **** ---- 3070,3085 ---- - } - } - -+ int -+ redirecting() -+ { -+ return redir_fd != NULL -+ #ifdef FEAT_EVAL -+ || redir_reg || redir_vname -+ #endif -+ ; -+ } -+ - /* - * Before giving verbose message. - * Must always be called paired with verbose_leave()! -*** ../vim-7.2.151/src/proto/message.pro Sat May 5 19:35:34 2007 ---- src/proto/message.pro Sun Apr 12 14:08:50 2009 -*************** -*** 54,59 **** ---- 54,60 ---- - void msg_clr_cmdline __ARGS((void)); - int msg_end __ARGS((void)); - void msg_check __ARGS((void)); -+ int redirecting __ARGS((void)); - void verbose_enter __ARGS((void)); - void verbose_leave __ARGS((void)); - void verbose_enter_scroll __ARGS((void)); -*** ../vim-7.2.151/src/version.c Wed Apr 22 13:50:14 2009 ---- src/version.c Wed Apr 22 14:40:22 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 152, - /**/ - --- -Q: How does a UNIX Guru pick up a girl? -A: look; grep; which; eval; nice; uname; talk; date; - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.153 --- a/components/vim/vim72-patches/7.2.153 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.153 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.153 -Problem: Memory leak for ":recover empty_dir/". -Solution: Free files[] when it becomes empty. (Dominique Pelle) -Files: src/memline.c - - -*** ../vim-7.2.152/src/memline.c Sun Jul 13 19:40:43 2008 ---- src/memline.c Wed Apr 22 11:48:35 2009 -*************** -*** 1554,1563 **** - for (i = 0; i < num_files; ++i) - if (fullpathcmp(p, files[i], TRUE) & FPC_SAME) - { - vim_free(files[i]); -! --num_files; -! for ( ; i < num_files; ++i) -! files[i] = files[i + 1]; - } - } - if (nr > 0) ---- 1554,1568 ---- - for (i = 0; i < num_files; ++i) - if (fullpathcmp(p, files[i], TRUE) & FPC_SAME) - { -+ /* Remove the name from files[i]. Move further entries -+ * down. When the array becomes empty free it here, since -+ * FreeWild() won't be called below. */ - vim_free(files[i]); -! if (--num_files == 0) -! vim_free(files); -! else -! for ( ; i < num_files; ++i) -! files[i] = files[i + 1]; - } - } - if (nr > 0) -*************** -*** 3522,3528 **** - if (errno == EINVAL || errno == ENOENT) - { - /* Found non-symlink or not existing file, stop here. -! * When at the first level use the unmodifed name, skip the - * call to vim_FullName(). */ - if (depth == 1) - return FAIL; ---- 3527,3533 ---- - if (errno == EINVAL || errno == ENOENT) - { - /* Found non-symlink or not existing file, stop here. -! * When at the first level use the unmodified name, skip the - * call to vim_FullName(). */ - if (depth == 1) - return FAIL; -*************** -*** 4560,4566 **** - buf->b_ml.ml_chunksize + curix, - (buf->b_ml.ml_usedchunks - curix) * - sizeof(chunksize_T)); -! /* Compute length of first half of lines in the splitted chunk */ - size = 0; - linecnt = 0; - while (curline < buf->b_ml.ml_line_count ---- 4568,4574 ---- - buf->b_ml.ml_chunksize + curix, - (buf->b_ml.ml_usedchunks - curix) * - sizeof(chunksize_T)); -! /* Compute length of first half of lines in the split chunk */ - size = 0; - linecnt = 0; - while (curline < buf->b_ml.ml_line_count -*** ../vim-7.2.152/src/version.c Wed Apr 22 14:42:26 2009 ---- src/version.c Wed Apr 22 15:34:18 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 153, - /**/ - --- -Windows -M!uqoms - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.154 --- a/components/vim/vim72-patches/7.2.154 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.154 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.154 (after 7.2.132) -Problem: ":cd" is still possible in a SwapExists autocmd. -Solution: Set allbuf_lock in do_swapexists(). -Files: src/memline.c - - -*** ../vim-7.2.153/src/memline.c Wed Apr 22 15:37:12 2009 ---- src/memline.c Wed Apr 22 15:54:48 2009 -*************** -*** 3771,3778 **** - set_vim_var_string(VV_SWAPCHOICE, NULL, -1); - - /* Trigger SwapExists autocommands with set to the file being -! * edited. */ - apply_autocmds(EVENT_SWAPEXISTS, buf->b_fname, NULL, FALSE, NULL); - - set_vim_var_string(VV_SWAPNAME, NULL, -1); - ---- 3771,3780 ---- - set_vim_var_string(VV_SWAPCHOICE, NULL, -1); - - /* Trigger SwapExists autocommands with set to the file being -! * edited. Disallow changing directory here. */ -! ++allbuf_lock; - apply_autocmds(EVENT_SWAPEXISTS, buf->b_fname, NULL, FALSE, NULL); -+ --allbuf_lock; - - set_vim_var_string(VV_SWAPNAME, NULL, -1); - -*************** -*** 3798,3803 **** ---- 3800,3806 ---- - * - * Note: If BASENAMELEN is not correct, you will get error messages for - * not being able to open the swapfile -+ * Note: May trigger SwapExists autocmd, pointers may change! - */ - static char_u * - findswapname(buf, dirp, old_fname) -*** ../vim-7.2.153/src/version.c Wed Apr 22 15:37:12 2009 ---- src/version.c Wed Apr 22 15:55:48 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 154, - /**/ - --- -ARTHUR: Be quiet! -DENNIS: Well you can't expect to wield supreme executive power just 'cause - some watery tart threw a sword at you! -ARTHUR: Shut up! -DENNIS: I mean, if I went around sayin' I was an empereror just because some - moistened bint had lobbed a scimitar at me they'd put me away! - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.155 --- a/components/vim/vim72-patches/7.2.155 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.155 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.155 -Problem: Memory leak in ":function /pat". -Solution: Free the memory. (Dominique Pelle) -Files: src/eval.c - - -*** ../vim-7.2.154/src/eval.c Wed Apr 22 12:53:31 2009 ---- src/eval.c Wed Apr 22 16:04:34 2009 -*************** -*** 19720,19725 **** ---- 19720,19726 ---- - list_func_head(fp, FALSE); - } - } -+ vim_free(regmatch.regprog); - } - } - if (*p == '/') -*** ../vim-7.2.154/src/version.c Wed Apr 22 15:56:27 2009 ---- src/version.c Wed Apr 22 16:07:27 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 155, - /**/ - --- -Q: How many hardware engineers does it take to change a lightbulb? -A: None. We'll fix it in software. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.156 --- a/components/vim/vim72-patches/7.2.156 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,181 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.156 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.156 (after 7.2.143) -Problem: No completion for :scscope and :lcscope commands. -Solution: Implement the completion. (Dominique Pelle) -Files: src/if_cscope.c, src/ex_docmd.c, src/proto/if_cscope.pro - - -*** ../vim-7.2.155/src/if_cscope.c Wed Mar 18 14:30:46 2009 ---- src/if_cscope.c Wed Apr 22 11:57:49 2009 -*************** -*** 98,103 **** ---- 98,104 ---- - static enum - { - EXP_CSCOPE_SUBCMD, /* expand ":cscope" sub-commands */ -+ EXP_SCSCOPE_SUBCMD, /* expand ":scscope" sub-commands */ - EXP_CSCOPE_FIND, /* expand ":cscope find" arguments */ - EXP_CSCOPE_KILL /* expand ":cscope kill" arguments */ - } expand_what; -*************** -*** 112,123 **** ---- 113,135 ---- - expand_T *xp; - int idx; - { -+ int current_idx; -+ int i; -+ - switch (expand_what) - { - case EXP_CSCOPE_SUBCMD: - /* Complete with sub-commands of ":cscope": - * add, find, help, kill, reset, show */ - return (char_u *)cs_cmds[idx].name; -+ case EXP_SCSCOPE_SUBCMD: -+ /* Complete with sub-commands of ":scscope": same sub-commands as -+ * ":cscope" but skip commands which don't support split windows */ -+ for (i = 0, current_idx = 0; cs_cmds[i].name != NULL; i++) -+ if (cs_cmds[i].cansplit) -+ if (current_idx++ == idx) -+ break; -+ return (char_u *)cs_cmds[i].name; - case EXP_CSCOPE_FIND: - { - const char *query_type[] = -*************** -*** 133,147 **** - } - case EXP_CSCOPE_KILL: - { -- int i; -- int current_idx = 0; - static char_u connection[2]; - - /* ":cscope kill" accepts connection numbers or partial names of - * the pathname of the cscope database as argument. Only complete - * with connection numbers. -1 can also be used to kill all - * connections. */ -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname == NULL) - continue; ---- 145,157 ---- - } - case EXP_CSCOPE_KILL: - { - static char_u connection[2]; - - /* ":cscope kill" accepts connection numbers or partial names of - * the pathname of the cscope database as argument. Only complete - * with connection numbers. -1 can also be used to kill all - * connections. */ -! for (i = 0, current_idx = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname == NULL) - continue; -*************** -*** 165,180 **** - * Handle command line completion for :cscope command. - */ - void -! set_context_in_cscope_cmd(xp, arg) - expand_T *xp; - char_u *arg; - { - char_u *p; - - /* Default: expand subcommands */ - xp->xp_context = EXPAND_CSCOPE; -- expand_what = EXP_CSCOPE_SUBCMD; - xp->xp_pattern = arg; - - /* (part of) subcommand already typed */ - if (*arg != NUL) ---- 175,192 ---- - * Handle command line completion for :cscope command. - */ - void -! set_context_in_cscope_cmd(xp, arg, cmdidx) - expand_T *xp; - char_u *arg; -+ cmdidx_T cmdidx; - { - char_u *p; - - /* Default: expand subcommands */ - xp->xp_context = EXPAND_CSCOPE; - xp->xp_pattern = arg; -+ expand_what = (cmdidx == CMD_scscope) -+ ? EXP_SCSCOPE_SUBCMD : EXP_CSCOPE_SUBCMD; - - /* (part of) subcommand already typed */ - if (*arg != NUL) -*** ../vim-7.2.155/src/ex_docmd.c Wed Apr 22 14:42:26 2009 ---- src/ex_docmd.c Wed Apr 22 11:57:49 2009 -*************** -*** 3690,3696 **** - break; - #ifdef FEAT_CSCOPE - case CMD_cscope: -! set_context_in_cscope_cmd(xp, arg); - break; - #endif - #ifdef FEAT_LISTCMDS ---- 3690,3698 ---- - break; - #ifdef FEAT_CSCOPE - case CMD_cscope: -! case CMD_lcscope: -! case CMD_scscope: -! set_context_in_cscope_cmd(xp, arg, ea.cmdidx); - break; - #endif - #ifdef FEAT_LISTCMDS -*** ../vim-7.2.155/src/proto/if_cscope.pro Wed Mar 18 12:50:58 2009 ---- src/proto/if_cscope.pro Wed Apr 22 11:57:49 2009 -*************** -*** 1,6 **** - /* if_cscope.c */ - char_u *get_cscope_name __ARGS((expand_T *xp, int idx)); -! void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg)); - void do_cscope __ARGS((exarg_T *eap)); - void do_scscope __ARGS((exarg_T *eap)); - void do_cstag __ARGS((exarg_T *eap)); ---- 1,6 ---- - /* if_cscope.c */ - char_u *get_cscope_name __ARGS((expand_T *xp, int idx)); -! void set_context_in_cscope_cmd __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx)); - void do_cscope __ARGS((exarg_T *eap)); - void do_scscope __ARGS((exarg_T *eap)); - void do_cstag __ARGS((exarg_T *eap)); -*** ../vim-7.2.155/src/version.c Wed Apr 22 16:07:57 2009 ---- src/version.c Wed Apr 22 16:21:43 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 156, - /**/ - --- -ARTHUR: Shut up! Will you shut up! -DENNIS: Ah, now we see the violence inherent in the system. -ARTHUR: Shut up! -DENNIS: Oh! Come and see the violence inherent in the system! - HELP! HELP! I'm being repressed! - 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.157 --- a/components/vim/vim72-patches/7.2.157 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.157 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.157 -Problem: Illegal memory access when searching in path. -Solution: Avoid looking at a byte after end of a string. (Dominique Pelle) -Files: src/search.c - - -*** ../vim-7.2.156/src/search.c Fri Jul 18 12:05:58 2008 ---- src/search.c Wed Apr 22 12:26:19 2009 -*************** -*** 2327,2334 **** - for (col = pos.col; check_prevcol(linep, col, '\\', &col);) - bslcnt++; - } -! /* Only accept a match when 'M' is in 'cpo' or when ecaping is -! * what we expect. */ - if (cpo_bsl || (bslcnt & 1) == match_escaped) - { - if (c == initc) ---- 2336,2343 ---- - for (col = pos.col; check_prevcol(linep, col, '\\', &col);) - bslcnt++; - } -! /* Only accept a match when 'M' is in 'cpo' or when escaping -! * is what we expect. */ - if (cpo_bsl || (bslcnt & 1) == match_escaped) - { - if (c == initc) -*************** -*** 4663,4669 **** - msg_putchar('\n'); /* cursor below last one */ - if (!got_int) /* don't display if 'q' - typed at "--more--" -! mesage */ - { - msg_home_replace_hl(new_fname); - MSG_PUTS(_(" (includes previously listed match)")); ---- 4672,4678 ---- - msg_putchar('\n'); /* cursor below last one */ - if (!got_int) /* don't display if 'q' - typed at "--more--" -! message */ - { - msg_home_replace_hl(new_fname); - MSG_PUTS(_(" (includes previously listed match)")); -*************** -*** 4975,4981 **** - || IObuff[i-2] == '!')))) - IObuff[i++] = ' '; - } -! /* copy as much as posible of the new word */ - if (p - aux >= IOSIZE - i) - p = aux + IOSIZE - i - 1; - STRNCPY(IObuff + i, aux, p - aux); ---- 4984,4990 ---- - || IObuff[i-2] == '!')))) - IObuff[i++] = ' '; - } -! /* copy as much as possible of the new word */ - if (p - aux >= IOSIZE - i) - p = aux + IOSIZE - i - 1; - STRNCPY(IObuff + i, aux, p - aux); -*************** -*** 5010,5016 **** - if (did_show) - msg_putchar('\n'); /* cursor below last one */ - if (!got_int) /* don't display if 'q' typed -! at "--more--" mesage */ - msg_home_replace_hl(curr_fname); - prev_fname = curr_fname; - } ---- 5019,5025 ---- - if (did_show) - msg_putchar('\n'); /* cursor below last one */ - if (!got_int) /* don't display if 'q' typed -! at "--more--" message */ - msg_home_replace_hl(curr_fname); - prev_fname = curr_fname; - } -*************** -*** 5092,5098 **** - } - if (action != ACTION_SHOW) - { -! curwin->w_cursor.col = (colnr_T) (startp - line); - curwin->w_set_curswant = TRUE; - } - ---- 5101,5107 ---- - } - if (action != ACTION_SHOW) - { -! curwin->w_cursor.col = (colnr_T)(startp - line); - curwin->w_set_curswant = TRUE; - } - -*************** -*** 5119,5125 **** - && action == ACTION_EXPAND - && !(compl_cont_status & CONT_SOL) - #endif -! && *(p = startp + 1)) - goto search_line; - } - line_breakcheck(); ---- 5128,5135 ---- - && action == ACTION_EXPAND - && !(compl_cont_status & CONT_SOL) - #endif -! && *startp != NUL -! && *(p = startp + 1) != NUL) - goto search_line; - } - line_breakcheck(); -*** ../vim-7.2.156/src/version.c Wed Apr 22 16:22:44 2009 ---- src/version.c Wed Apr 22 16:39:59 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 157, - /**/ - - --- -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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.158 --- a/components/vim/vim72-patches/7.2.158 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.158 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.158 -Problem: Warnings from VisualC compiler. -Solution: Add type casts. (George Reilly) -Files: src/ops.c - - -*** ../vim-7.2.157/src/ops.c Wed Mar 11 16:26:01 2009 ---- src/ops.c Wed Apr 22 13:01:46 2009 -*************** -*** 495,504 **** - block_space_width = non_white_col - oap->start_vcol; - /* We will shift by "total" or "block_space_width", whichever is less. - */ -! shift_amount = (block_space_width < total? block_space_width: total); - - /* The column to which we will shift the text. */ -! destination_col = non_white_col - shift_amount; - - /* Now let's find out how much of the beginning of the line we can - * reuse without modification. */ ---- 495,505 ---- - block_space_width = non_white_col - oap->start_vcol; - /* We will shift by "total" or "block_space_width", whichever is less. - */ -! shift_amount = (block_space_width < (size_t)total -! ? block_space_width : (size_t)total); - - /* The column to which we will shift the text. */ -! destination_col = (colnr_T)(non_white_col - shift_amount); - - /* Now let's find out how much of the beginning of the line we can - * reuse without modification. */ -*** ../vim-7.2.157/src/version.c Wed Apr 22 16:42:24 2009 ---- src/version.c Wed Apr 22 17:42:19 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 158, - /**/ - --- -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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.159 --- a/components/vim/vim72-patches/7.2.159 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.159 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.159 -Problem: When $x_includes ends up being "NONE" configure fails. -Solution: Check for $x_includes not to be "NONE" (Rainer) -Files: src/auto/configure, src/configure.in - - -*** ../vim-7.2.158/src/auto/configure Mon Mar 2 02:44:54 2009 ---- src/auto/configure Wed Apr 22 14:37:24 2009 -*************** -*** 15519,15525 **** - if test "$enable_multibyte" = "yes"; then - cflags_save=$CFLAGS - ldflags_save=$LDFLAGS -! if test -n "$x_includes" ; then - CFLAGS="$CFLAGS -I$x_includes" - LDFLAGS="$X_LIBS $LDFLAGS -lX11" - { $as_echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5 ---- 15519,15525 ---- - if test "$enable_multibyte" = "yes"; then - cflags_save=$CFLAGS - ldflags_save=$LDFLAGS -! if test "x$x_includes" != "xNONE" ; then - CFLAGS="$CFLAGS -I$x_includes" - LDFLAGS="$X_LIBS $LDFLAGS -lX11" - { $as_echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5 -*** ../vim-7.2.158/src/configure.in Mon Mar 2 02:44:54 2009 ---- src/configure.in Wed Apr 22 14:35:57 2009 -*************** -*** 2952,2958 **** - if test "$enable_multibyte" = "yes"; then - cflags_save=$CFLAGS - ldflags_save=$LDFLAGS -! if test -n "$x_includes" ; then - CFLAGS="$CFLAGS -I$x_includes" - LDFLAGS="$X_LIBS $LDFLAGS -lX11" - AC_MSG_CHECKING(whether X_LOCALE needed) ---- 2952,2958 ---- - if test "$enable_multibyte" = "yes"; then - cflags_save=$CFLAGS - ldflags_save=$LDFLAGS -! if test "x$x_includes" != "xNONE" ; then - CFLAGS="$CFLAGS -I$x_includes" - LDFLAGS="$X_LIBS $LDFLAGS -lX11" - AC_MSG_CHECKING(whether X_LOCALE needed) -*** ../vim-7.2.158/src/version.c Wed Apr 22 17:42:53 2009 ---- src/version.c Wed Apr 22 17:49:50 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 159, - /**/ - --- -"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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.160 --- a/components/vim/vim72-patches/7.2.160 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.160 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.160 -Problem: Search pattern not freed on exit when 'rightleft' set. -Solution: Free mr_pattern_alloced. -Files: src/search.c - - -*** ../vim-7.2.159/src/search.c Wed Apr 22 16:42:24 2009 ---- src/search.c Wed Apr 22 12:26:19 2009 -*************** -*** 345,350 **** ---- 345,359 ---- - { - vim_free(spats[0].pat); - vim_free(spats[1].pat); -+ -+ # ifdef FEAT_RIGHTLEFT -+ if (mr_pattern_alloced) -+ { -+ vim_free(mr_pattern); -+ mr_pattern_alloced = FALSE; -+ mr_pattern = NULL; -+ } -+ # endif - } - #endif - -*** ../vim-7.2.159/src/version.c Wed Apr 22 17:50:53 2009 ---- src/version.c Wed Apr 22 18:42:25 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 160, - /**/ - --- - f y cn rd ths thn y cn hv grt jb n cmptr prgrmmng - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.161 --- a/components/vim/vim72-patches/7.2.161 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,205 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.161 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.161 -Problem: Folds messed up in other tab page. (Vlad Irnov) -Solution: Instead of going over all windows in current tab page go over all - windows in all tab pages. Also free memory for location lists in - other tab pages when exiting. (Lech Lorens) -Files: src/fileio.c, src/mark.c, src/misc1.c, src/misc2.c - - -*** ../vim-7.2.160/src/fileio.c Wed Mar 18 15:40:03 2009 ---- src/fileio.c Wed Apr 22 15:46:35 2009 -*************** -*** 6846,6855 **** - #endif - #ifdef FEAT_FOLDING - { -! win_T *wp; - - /* Update folds unless they are defined manually. */ -! FOR_ALL_WINDOWS(wp) - if (wp->w_buffer == curwin->w_buffer - && !foldmethodIsManual(wp)) - foldUpdateAll(wp); ---- 6846,6856 ---- - #endif - #ifdef FEAT_FOLDING - { -! win_T *wp; -! tabpage_T *tp; - - /* Update folds unless they are defined manually. */ -! FOR_ALL_TAB_WINDOWS(tp, wp) - if (wp->w_buffer == curwin->w_buffer - && !foldmethodIsManual(wp)) - foldUpdateAll(wp); -*** ../vim-7.2.160/src/mark.c Sun Nov 9 13:43:25 2008 ---- src/mark.c Wed Apr 22 17:32:29 2009 -*************** -*** 1023,1028 **** ---- 1023,1031 ---- - int fnum = curbuf->b_fnum; - linenr_T *lp; - win_T *win; -+ #ifdef FEAT_WINDOWS -+ tabpage_T *tab; -+ #endif - - if (line2 < line1 && amount_after == 0L) /* nothing to do */ - return; -*************** -*** 1064,1070 **** - /* quickfix marks */ - qf_mark_adjust(NULL, line1, line2, amount, amount_after); - /* location lists */ -! FOR_ALL_WINDOWS(win) - qf_mark_adjust(win, line1, line2, amount, amount_after); - #endif - ---- 1067,1073 ---- - /* quickfix marks */ - qf_mark_adjust(NULL, line1, line2, amount, amount_after); - /* location lists */ -! FOR_ALL_TAB_WINDOWS(tab, win) - qf_mark_adjust(win, line1, line2, amount, amount_after); - #endif - -*************** -*** 1086,1092 **** - /* - * Adjust items in all windows related to the current buffer. - */ -! FOR_ALL_WINDOWS(win) - { - #ifdef FEAT_JUMPLIST - if (!cmdmod.lockmarks) ---- 1089,1095 ---- - /* - * Adjust items in all windows related to the current buffer. - */ -! FOR_ALL_TAB_WINDOWS(tab, win) - { - #ifdef FEAT_JUMPLIST - if (!cmdmod.lockmarks) -*** ../vim-7.2.160/src/misc1.c Wed Mar 18 15:40:03 2009 ---- src/misc1.c Wed Apr 22 17:32:46 2009 -*************** -*** 2717,2722 **** ---- 2717,2725 ---- - long xtra; - { - win_T *wp; -+ #ifdef FEAT_WINDOWS -+ tabpage_T *tp; -+ #endif - int i; - #ifdef FEAT_JUMPLIST - int cols; -*************** -*** 2769,2775 **** - curbuf->b_changelistlen = JUMPLISTSIZE - 1; - mch_memmove(curbuf->b_changelist, curbuf->b_changelist + 1, - sizeof(pos_T) * (JUMPLISTSIZE - 1)); -! FOR_ALL_WINDOWS(wp) - { - /* Correct position in changelist for other windows on - * this buffer. */ ---- 2772,2778 ---- - curbuf->b_changelistlen = JUMPLISTSIZE - 1; - mch_memmove(curbuf->b_changelist, curbuf->b_changelist + 1, - sizeof(pos_T) * (JUMPLISTSIZE - 1)); -! FOR_ALL_TAB_WINDOWS(tp, wp) - { - /* Correct position in changelist for other windows on - * this buffer. */ -*************** -*** 2777,2783 **** - --wp->w_changelistidx; - } - } -! FOR_ALL_WINDOWS(wp) - { - /* For other windows, if the position in the changelist is - * at the end it stays at the end. */ ---- 2780,2786 ---- - --wp->w_changelistidx; - } - } -! FOR_ALL_TAB_WINDOWS(tp, wp) - { - /* For other windows, if the position in the changelist is - * at the end it stays at the end. */ -*************** -*** 2796,2802 **** - #endif - } - -! FOR_ALL_WINDOWS(wp) - { - if (wp->w_buffer == curbuf) - { ---- 2799,2805 ---- - #endif - } - -! FOR_ALL_TAB_WINDOWS(tp, wp) - { - if (wp->w_buffer == curbuf) - { -*** ../vim-7.2.160/src/misc2.c Wed Mar 11 17:27:46 2009 ---- src/misc2.c Wed Apr 22 15:46:35 2009 -*************** -*** 1075,1085 **** - - #ifdef FEAT_QUICKFIX - { -! win_T *win; - - qf_free_all(NULL); - /* Free all location lists */ -! FOR_ALL_WINDOWS(win) - qf_free_all(win); - } - #endif ---- 1075,1086 ---- - - #ifdef FEAT_QUICKFIX - { -! win_T *win; -! tabpage_T *tab; - - qf_free_all(NULL); - /* Free all location lists */ -! FOR_ALL_TAB_WINDOWS(tab, win) - qf_free_all(win); - } - #endif -*** ../vim-7.2.160/src/version.c Wed Apr 22 18:43:06 2009 ---- src/version.c Wed Apr 29 10:59:01 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 161, - /**/ - --- -CONCORDE: Quickly, sir, come this way! -LAUNCELOT: No! It's not right for my idiom. I must escape more ... more ... -CONCORDE: Dramatically, sir? -LAUNCELOT: Dramatically. - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.162 --- a/components/vim/vim72-patches/7.2.162 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.162 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.162 -Problem: The quickfix window may get wrong filetype. -Solution: Do not detect the filetype for the quickfix window. (Lech Lorens) -Files: src/quickfix.c - - -*** ../vim-7.2.161/src/quickfix.c Sun Feb 22 02:36:36 2009 ---- src/quickfix.c Wed Apr 22 17:34:57 2009 -*************** -*** 2346,2352 **** - set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", - OPT_LOCAL); - set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL); -! set_option_value((char_u *)"diff", 0L, NULL, OPT_LOCAL); - } - - /* Only set the height when still in the same tab page and there is no ---- 2346,2358 ---- - set_option_value((char_u *)"bt", 0L, (char_u *)"quickfix", - OPT_LOCAL); - set_option_value((char_u *)"bh", 0L, (char_u *)"wipe", OPT_LOCAL); -! #ifdef FEAT_DIFF -! curwin->w_p_diff = FALSE; -! #endif -! #ifdef FEAT_FOLDING -! set_option_value((char_u *)"fdm", 0L, (char_u *)"manual", -! OPT_LOCAL); -! #endif - } - - /* Only set the height when still in the same tab page and there is no -*************** -*** 2607,2616 **** ---- 2613,2624 ---- - curbuf->b_p_ma = FALSE; - - #ifdef FEAT_AUTOCMD -+ keep_filetype = TRUE; /* don't detect 'filetype' */ - apply_autocmds(EVENT_BUFREADPOST, (char_u *)"quickfix", NULL, - FALSE, curbuf); - apply_autocmds(EVENT_BUFWINENTER, (char_u *)"quickfix", NULL, - FALSE, curbuf); -+ keep_filetype = FALSE; - #endif - - /* make sure it will be redrawn */ -*** ../vim-7.2.161/src/version.c Wed Apr 29 11:00:09 2009 ---- src/version.c Wed Apr 29 11:49:09 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 162, - /**/ - --- -Yesterday is history. -Tomorrow is a mystery. -Today is a gift. -That's why it is called 'present'. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.163 --- a/components/vim/vim72-patches/7.2.163 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.163 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.163 -Problem: The command line window may get folding. -Solution: Default to no/manual folding. (Lech Lorens) -Files: src/ex_getln.c - - -*** ../vim-7.2.162/src/ex_getln.c Wed Apr 22 13:50:14 2009 ---- src/ex_getln.c Wed Apr 22 16:12:54 2009 -*************** -*** 6073,6078 **** ---- 6073,6081 ---- - set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL); - set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL); - curbuf->b_p_ma = TRUE; -+ #ifdef FEAT_FOLDING -+ curwin->w_p_fen = FALSE; -+ #endif - # ifdef FEAT_RIGHTLEFT - curwin->w_p_rl = cmdmsg_rl; - cmdmsg_rl = FALSE; -*** ../vim-7.2.162/src/version.c Wed Apr 29 11:49:57 2009 ---- src/version.c Wed Apr 29 12:02:56 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 163, - /**/ - --- - [SIR LAUNCELOT runs back up the stairs, grabs a rope - of the wall and swings out over the heads of the CROWD in a - swashbuckling manner towards a large window. He stops just short - of the window and is left swing pathetically back and forth.] -LAUNCELOT: Excuse me ... could somebody give me a push ... - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.164 --- a/components/vim/vim72-patches/7.2.164 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.164 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.164 -Problem: When 'showbreak' is set the size of the Visual block may be - reported wrong. (Eduardo Daudt Flach) -Solution: Temporarily make 'sbr' empty. -Files: src/normal.c, src/ops.c - - -*** ../vim-7.2.163/src/normal.c Sat Feb 21 20:27:00 2009 ---- src/normal.c Wed Apr 22 18:30:20 2009 -*************** -*** 3709,3721 **** - #ifdef FEAT_VISUAL - if (VIsual_active && !char_avail()) - { -! int i = lt(VIsual, curwin->w_cursor); - long lines; - colnr_T leftcol, rightcol; - linenr_T top, bot; - - /* Show the size of the Visual area. */ -! if (i) - { - top = VIsual.lnum; - bot = curwin->w_cursor.lnum; ---- 3709,3721 ---- - #ifdef FEAT_VISUAL - if (VIsual_active && !char_avail()) - { -! int cursor_bot = lt(VIsual, curwin->w_cursor); - long lines; - colnr_T leftcol, rightcol; - linenr_T top, bot; - - /* Show the size of the Visual area. */ -! if (cursor_bot) - { - top = VIsual.lnum; - bot = curwin->w_cursor.lnum; -*************** -*** 3734,3747 **** - - if (VIsual_mode == Ctrl_V) - { - getvcols(curwin, &curwin->w_cursor, &VIsual, &leftcol, &rightcol); - sprintf((char *)showcmd_buf, "%ldx%ld", lines, - (long)(rightcol - leftcol + 1)); - } - else if (VIsual_mode == 'V' || VIsual.lnum != curwin->w_cursor.lnum) - sprintf((char *)showcmd_buf, "%ld", lines); - else -! sprintf((char *)showcmd_buf, "%ld", (long)(i - ? curwin->w_cursor.col - VIsual.col - : VIsual.col - curwin->w_cursor.col) + (*p_sel != 'e')); - showcmd_buf[SHOWCMD_COLS] = NUL; /* truncate */ ---- 3734,3756 ---- - - if (VIsual_mode == Ctrl_V) - { -+ #ifdef FEAT_LINEBREAK -+ char_u *saved_sbr = p_sbr; -+ -+ /* Make 'sbr' empty for a moment to get the correct size. */ -+ p_sbr = empty_option; -+ #endif - getvcols(curwin, &curwin->w_cursor, &VIsual, &leftcol, &rightcol); -+ #ifdef FEAT_LINEBREAK -+ p_sbr = saved_sbr; -+ #endif - sprintf((char *)showcmd_buf, "%ldx%ld", lines, - (long)(rightcol - leftcol + 1)); - } - else if (VIsual_mode == 'V' || VIsual.lnum != curwin->w_cursor.lnum) - sprintf((char *)showcmd_buf, "%ld", lines); - else -! sprintf((char *)showcmd_buf, "%ld", (long)(cursor_bot - ? curwin->w_cursor.col - VIsual.col - : VIsual.col - curwin->w_cursor.col) + (*p_sel != 'e')); - showcmd_buf[SHOWCMD_COLS] = NUL; /* truncate */ -*** ../vim-7.2.163/src/ops.c Wed Apr 22 17:42:53 2009 ---- src/ops.c Wed Apr 22 18:30:07 2009 -*************** -*** 392,398 **** - colnr_T ws_vcol; - int i = 0, j = 0; - int len; -- - #ifdef FEAT_RIGHTLEFT - int old_p_ri = p_ri; - ---- 392,397 ---- -*************** -*** 6284,6294 **** ---- 6283,6302 ---- - - if (VIsual_mode == Ctrl_V) - { -+ #ifdef FEAT_LINEBREAK -+ char_u * saved_sbr = p_sbr; -+ -+ /* Make 'sbr' empty for a moment to get the correct size. */ -+ p_sbr = empty_option; -+ #endif - oparg.is_VIsual = 1; - oparg.block_mode = TRUE; - oparg.op_type = OP_NOP; - getvcols(curwin, &min_pos, &max_pos, - &oparg.start_vcol, &oparg.end_vcol); -+ #ifdef FEAT_LINEBREAK -+ p_sbr = saved_sbr; -+ #endif - if (curwin->w_curswant == MAXCOL) - oparg.end_vcol = MAXCOL; - /* Swap the start, end vcol if needed */ -*** ../vim-7.2.163/src/version.c Wed Apr 29 12:03:35 2009 ---- src/version.c Wed Apr 29 17:38:05 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 164, - /**/ - --- -There are 10 kinds of people: Those who understand binary and those who don't. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.165 --- a/components/vim/vim72-patches/7.2.165 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.165 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.165 -Problem: The argument for the FuncUndefined autocmd event is expanded like - a file name. -Solution: Don't try expanding it. (Wang Xu) -Files: src/fileio.c - - -*** ../vim-7.2.164/src/fileio.c Wed Apr 29 11:00:09 2009 ---- src/fileio.c Wed Apr 29 18:01:06 2009 -*************** -*** 8785,8793 **** - else - { - sfname = vim_strsave(fname); -! /* Don't try expanding FileType, Syntax, WindowID or QuickFixCmd* */ - if (event == EVENT_FILETYPE - || event == EVENT_SYNTAX - || event == EVENT_REMOTEREPLY - || event == EVENT_SPELLFILEMISSING - || event == EVENT_QUICKFIXCMDPRE ---- 8785,8795 ---- - else - { - sfname = vim_strsave(fname); -! /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or -! * QuickFixCmd* */ - if (event == EVENT_FILETYPE - || event == EVENT_SYNTAX -+ || event == EVENT_FUNCUNDEFINED - || event == EVENT_REMOTEREPLY - || event == EVENT_SPELLFILEMISSING - || event == EVENT_QUICKFIXCMDPRE -*** ../vim-7.2.164/src/version.c Wed Apr 29 17:39:17 2009 ---- src/version.c Wed Apr 29 18:00:43 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 165, - /**/ - --- -Be nice to your kids... they'll be the ones choosing your nursing home. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.166 --- a/components/vim/vim72-patches/7.2.166 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,425 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.166 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.166 -Problem: No completion for ":sign" command. -Solution: Add ":sign" completion. (Dominique Pelle) -Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/vim.h, - src/proto/ex_cmds.pro - - -*** ../vim-7.2.165/src/ex_cmds.c Tue Feb 24 04:28:40 2009 ---- src/ex_cmds.c Wed Apr 29 17:08:27 2009 -*************** -*** 6543,6562 **** - static void sign_list_defined __ARGS((sign_T *sp)); - static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev)); - -! /* -! * ":sign" command -! */ -! void -! ex_sign(eap) -! exarg_T *eap; -! { -! char_u *arg = eap->arg; -! char_u *p; -! int idx; -! sign_T *sp; -! sign_T *sp_prev; -! buf_T *buf; -! static char *cmds[] = { - "define", - #define SIGNCMD_DEFINE 0 - "undefine", ---- 6543,6549 ---- - static void sign_list_defined __ARGS((sign_T *sp)); - static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev)); - -! static char *cmds[] = { - "define", - #define SIGNCMD_DEFINE 0 - "undefine", -*************** -*** 6569,6590 **** - #define SIGNCMD_UNPLACE 4 - "jump", - #define SIGNCMD_JUMP 5 - #define SIGNCMD_LAST 6 -! }; - - /* Parse the subcommand. */ - p = skiptowhite(arg); -! if (*p != NUL) -! *p++ = NUL; -! for (idx = 0; ; ++idx) - { -! if (idx == SIGNCMD_LAST) -! { -! EMSG2(_("E160: Unknown sign command: %s"), arg); -! return; -! } -! if (STRCMP(arg, cmds[idx]) == 0) -! break; - } - arg = skipwhite(p); - ---- 6556,6606 ---- - #define SIGNCMD_UNPLACE 4 - "jump", - #define SIGNCMD_JUMP 5 -+ NULL - #define SIGNCMD_LAST 6 -! }; -! -! /* -! * Find index of a ":sign" subcmd from its name. -! * "*end_cmd" must be writable. -! */ -! static int -! sign_cmd_idx(begin_cmd, end_cmd) -! char *begin_cmd; /* begin of sign subcmd */ -! char *end_cmd; /* just after sign subcmd */ -! { -! int idx; -! char save = *end_cmd; -! -! *end_cmd = NUL; -! for (idx = 0; ; ++idx) -! if (cmds[idx] == NULL || STRCMP(begin_cmd, cmds[idx]) == 0) -! break; -! *end_cmd = save; -! return idx; -! } -! -! /* -! * ":sign" command -! */ -! void -! ex_sign(eap) -! exarg_T *eap; -! { -! char_u *arg = eap->arg; -! char_u *p; -! int idx; -! sign_T *sp; -! sign_T *sp_prev; -! buf_T *buf; - - /* Parse the subcommand. */ - p = skiptowhite(arg); -! idx = sign_cmd_idx(arg, p); -! if (idx == SIGNCMD_LAST) - { -! EMSG2(_("E160: Unknown sign command: %s"), arg); -! return; - } - arg = skipwhite(p); - -*************** -*** 7110,7115 **** ---- 7126,7311 ---- - } - #endif - -+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO) -+ static enum -+ { -+ EXP_SUBCMD, /* expand :sign sub-commands */ -+ EXP_DEFINE, /* expand :sign define {name} args */ -+ EXP_PLACE, /* expand :sign place {id} args */ -+ EXP_UNPLACE, /* expand :sign unplace" */ -+ EXP_SIGN_NAMES /* expand with name of placed signs */ -+ } expand_what; -+ -+ /* -+ * Function given to ExpandGeneric() to obtain the sign command -+ * expansion. -+ */ -+ /*ARGSUSED*/ -+ char_u * -+ get_sign_name(xp, idx) -+ expand_T *xp; -+ int idx; -+ { -+ sign_T *sp; -+ int current_idx; -+ -+ switch (expand_what) -+ { -+ case EXP_SUBCMD: -+ return (char_u *)cmds[idx]; -+ case EXP_DEFINE: -+ { -+ char *define_arg[] = -+ { -+ "icon=", "linehl=", "text=", "texthl=", NULL -+ }; -+ return (char_u *)define_arg[idx]; -+ } -+ case EXP_PLACE: -+ { -+ char *place_arg[] = -+ { -+ "line=", "name=", "file=", "buffer=", NULL -+ }; -+ return (char_u *)place_arg[idx]; -+ } -+ case EXP_UNPLACE: -+ { -+ char *unplace_arg[] = { "file=", "buffer=", NULL }; -+ return (char_u *)unplace_arg[idx]; -+ } -+ case EXP_SIGN_NAMES: -+ /* Complete with name of signs already defined */ -+ current_idx = 0; -+ for (sp = first_sign; sp != NULL; sp = sp->sn_next) -+ if (current_idx++ == idx) -+ return sp->sn_name; -+ return NULL; -+ default: -+ return NULL; -+ } -+ } -+ -+ /* -+ * Handle command line completion for :sign command. -+ */ -+ void -+ set_context_in_sign_cmd(xp, arg) -+ expand_T *xp; -+ char_u *arg; -+ { -+ char_u *p; -+ char_u *end_subcmd; -+ char_u *last; -+ int cmd_idx; -+ char_u *begin_subcmd_args; -+ -+ /* Default: expand subcommands. */ -+ xp->xp_context = EXPAND_SIGN; -+ expand_what = EXP_SUBCMD; -+ xp->xp_pattern = arg; -+ -+ end_subcmd = skiptowhite(arg); -+ if (*end_subcmd == NUL) -+ /* expand subcmd name -+ * :sign {subcmd}*/ -+ return; -+ -+ cmd_idx = sign_cmd_idx(arg, end_subcmd); -+ -+ /* :sign {subcmd} {subcmd_args} -+ * | -+ * begin_subcmd_args */ -+ begin_subcmd_args = skipwhite(end_subcmd); -+ p = skiptowhite(begin_subcmd_args); -+ if (*p == NUL) -+ { -+ /* -+ * Expand first argument of subcmd when possible. -+ * For ":jump {id}" and ":unplace {id}", we could -+ * possibly expand the ids of all signs already placed. -+ */ -+ xp->xp_pattern = begin_subcmd_args; -+ switch (cmd_idx) -+ { -+ case SIGNCMD_LIST: -+ case SIGNCMD_UNDEFINE: -+ /* :sign list -+ * :sign undefine */ -+ expand_what = EXP_SIGN_NAMES; -+ break; -+ default: -+ xp->xp_context = EXPAND_NOTHING; -+ } -+ return; -+ } -+ -+ /* expand last argument of subcmd */ -+ -+ /* :sign define {name} {args}... -+ * | -+ * p */ -+ -+ /* Loop until reaching last argument. */ -+ do -+ { -+ p = skipwhite(p); -+ last = p; -+ p = skiptowhite(p); -+ } while (*p != NUL); -+ -+ p = vim_strchr(last, '='); -+ -+ /* :sign define {name} {args}... {last}= -+ * | | -+ * last p */ -+ if (p == NUL) -+ { -+ /* Expand last argument name (before equal sign). */ -+ xp->xp_pattern = last; -+ switch (cmd_idx) -+ { -+ case SIGNCMD_DEFINE: -+ expand_what = EXP_DEFINE; -+ break; -+ case SIGNCMD_PLACE: -+ expand_what = EXP_PLACE; -+ break; -+ case SIGNCMD_JUMP: -+ case SIGNCMD_UNPLACE: -+ expand_what = EXP_UNPLACE; -+ break; -+ default: -+ xp->xp_context = EXPAND_NOTHING; -+ } -+ } -+ else -+ { -+ /* Expand last argument value (after equal sign). */ -+ xp->xp_pattern = p + 1; -+ switch (cmd_idx) -+ { -+ case SIGNCMD_DEFINE: -+ if (STRNCMP(last, "texthl", p - last) == 0 || -+ STRNCMP(last, "linehl", p - last) == 0) -+ xp->xp_context = EXPAND_HIGHLIGHT; -+ else if (STRNCMP(last, "icon", p - last) == 0) -+ xp->xp_context = EXPAND_FILES; -+ else -+ xp->xp_context = EXPAND_NOTHING; -+ break; -+ case SIGNCMD_PLACE: -+ if (STRNCMP(last, "name", p - last) == 0) -+ expand_what = EXP_SIGN_NAMES; -+ else -+ xp->xp_context = EXPAND_NOTHING; -+ break; -+ default: -+ xp->xp_context = EXPAND_NOTHING; -+ } -+ } -+ } -+ #endif - #endif - - #if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO) -*** ../vim-7.2.165/src/ex_docmd.c Wed Apr 22 16:22:44 2009 ---- src/ex_docmd.c Wed Apr 29 17:05:23 2009 -*************** -*** 3695,3700 **** ---- 3695,3705 ---- - set_context_in_cscope_cmd(xp, arg, ea.cmdidx); - break; - #endif -+ #ifdef FEAT_SIGNS -+ case CMD_sign: -+ set_context_in_sign_cmd(xp, arg); -+ break; -+ #endif - #ifdef FEAT_LISTCMDS - case CMD_bdelete: - case CMD_bwipeout: -*************** -*** 5218,5223 **** ---- 5223,5231 ---- - {EXPAND_MENUS, "menu"}, - {EXPAND_SETTINGS, "option"}, - {EXPAND_SHELLCMD, "shellcmd"}, -+ #if defined(FEAT_SIGNS) -+ {EXPAND_SIGN, "sign"}, -+ #endif - {EXPAND_TAGS, "tag"}, - {EXPAND_TAGS_LISTFILES, "tag_listfiles"}, - {EXPAND_USER_VARS, "var"}, -*** ../vim-7.2.165/src/ex_getln.c Wed Apr 29 12:03:35 2009 ---- src/ex_getln.c Wed Apr 29 12:51:42 2009 -*************** -*** 325,331 **** - #endif - - #ifdef FEAT_DIGRAPHS -! do_digraph(-1); /* init digraph typahead */ - #endif - - /* ---- 325,331 ---- - #endif - - #ifdef FEAT_DIGRAPHS -! do_digraph(-1); /* init digraph typeahead */ - #endif - - /* -*************** -*** 4521,4526 **** ---- 4521,4529 ---- - #ifdef FEAT_CSCOPE - {EXPAND_CSCOPE, get_cscope_name, TRUE}, - #endif -+ #ifdef FEAT_SIGNS -+ {EXPAND_SIGN, get_sign_name, TRUE}, -+ #endif - #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \ - && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE)) - {EXPAND_LANGUAGE, get_lang_arg, TRUE}, -*** ../vim-7.2.165/src/vim.h Wed Mar 18 12:50:58 2009 ---- src/vim.h Wed Apr 29 12:51:42 2009 -*************** -*** 709,714 **** ---- 709,715 ---- - #define EXPAND_USER_LIST 31 - #define EXPAND_SHELLCMD 32 - #define EXPAND_CSCOPE 33 -+ #define EXPAND_SIGN 34 - - /* Values for exmode_active (0 is no exmode) */ - #define EXMODE_NORMAL 1 -*** ../vim-7.2.165/src/proto/ex_cmds.pro Tue Feb 24 04:28:40 2009 ---- src/proto/ex_cmds.pro Wed Apr 29 17:10:29 2009 -*************** -*** 40,46 **** - int read_viminfo_sub_string __ARGS((vir_T *virp, int force)); - void write_viminfo_sub_string __ARGS((FILE *fp)); - void free_old_sub __ARGS((void)); -- void free_signs __ARGS((void)); - int prepare_tagpreview __ARGS((int undo_sync)); - void ex_help __ARGS((exarg_T *eap)); - char_u *check_help_lang __ARGS((char_u *arg)); ---- 40,45 ---- -*************** -*** 56,60 **** ---- 55,62 ---- - char_u *sign_get_text __ARGS((int typenr)); - void *sign_get_image __ARGS((int typenr)); - char_u *sign_typenr2name __ARGS((int typenr)); -+ void free_signs __ARGS((void)); -+ char_u *get_sign_name __ARGS((expand_T *xp, int idx)); -+ void set_context_in_sign_cmd __ARGS((expand_T *xp, char_u *arg)); - void ex_drop __ARGS((exarg_T *eap)); - /* vim: set ft=c : */ -*** ../vim-7.2.165/src/version.c Wed Apr 29 18:01:23 2009 ---- src/version.c Wed Apr 29 18:43:14 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 166, - /**/ - --- -Did you ever stop to think... and forget to start again? - -- Steven Wright - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.167 --- a/components/vim/vim72-patches/7.2.167 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1873 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.167 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.167 -Problem: Splint doesn't work well for checking the code. -Solution: Add splint arguments in the Makefile. Exclude some code from - splint that it can't handle. Tune splint arguments to give - reasonable errors. Add a filter for removing false warnings from - splint output. Many small changes to avoid warnings. More to - follow... -Files: Filelist, src/Makefile, src/buffer.c, src/charset.c, - src/cleanlint.vim, src/digraph.c, src/edit.c, src/ex_cmds.c, - src/globals.h, src/ops.c, src/os_unix.c, src/os_unix.h, - src/proto/buffer.pro, src/proto/edit.pro, src/screen.c, - src/structs.h - -*** ../vim-7.2.166/Filelist 2008-09-20 16:26:10.000000000 +0200 ---- Filelist 2009-05-05 21:45:49.000000000 +0200 -*************** -*** 139,144 **** ---- 139,145 ---- - src/INSTALL \ - src/INSTALLx.txt \ - src/Makefile \ -+ src/cleanlint.vim \ - src/auto/configure \ - src/config.aap.in \ - src/config.h.in \ -*************** -*** 683,691 **** - runtime/spell/??/main.aap \ - runtime/spell/yi/README.txt \ - runtime/spell/main.aap \ -- runtime/spell/cleanadd.vim \ - runtime/spell/*.vim \ -- runtime/spell/fixdup \ - - # generic language files, binary - LANG_GEN_BIN = \ ---- 684,690 ---- -*** ../vim-7.2.166/src/Makefile 2009-04-29 18:44:45.000000000 +0200 ---- src/Makefile 2009-05-06 00:23:15.000000000 +0200 -*************** -*** 551,557 **** - # }}} - - # LINT - for running lint -! LINT_OPTIONS = -beprxzF - - # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof. - # Might not work with GUI or Perl. ---- 551,562 ---- - # }}} - - # LINT - for running lint -! # For standard lint -! #LINT = lint -! #LINT_OPTIONS = -beprxzF -! # For splint (see cleanlint.vim for filtering the output) -! LINT = splint -! LINT_OPTIONS = +unixlib -weak -macrovarprefixexclude -showfunc -linelen 9999 - - # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof. - # Might not work with GUI or Perl. -*************** -*** 1259,1274 **** - # This is for cproto 3 patchlevel 8 or below - # __inline, __attribute__ and __extension__ are not recognized by cproto - # G_IMPLEMENT_INLINES is to avoid functions defined in glib/gutils.h. -! NO_ATTR = -D__inline= -D__inline__= -DG_IMPLEMENT_INLINES \ -! -D"__attribute__\\(x\\)=" -D"__asm__\\(x\\)=" \ -! -D__extension__= -D__restrict="" \ -! -D__gnuc_va_list=char -D__builtin_va_list=char - - # -! # This is for cproto 3 patchlevel 9 or above (currently 4.6) - # __inline and __attribute__ are now recognized by cproto - # -D"foo()=" is not supported by all compilers so do not use it -! # NO_ATTR= - # - # maybe the "/usr/bin/cc -E" has to be adjusted for some systems - # This is for cproto 3.5 patchlevel 3: ---- 1264,1279 ---- - # This is for cproto 3 patchlevel 8 or below - # __inline, __attribute__ and __extension__ are not recognized by cproto - # G_IMPLEMENT_INLINES is to avoid functions defined in glib/gutils.h. -! #NO_ATTR = -D__inline= -D__inline__= -DG_IMPLEMENT_INLINES \ -! # -D"__attribute__\\(x\\)=" -D"__asm__\\(x\\)=" \ -! # -D__extension__= -D__restrict="" \ -! # -D__gnuc_va_list=char -D__builtin_va_list=char - - # -! # This is for cproto 3 patchlevel 9 or above (currently 4.6, 4.7g) - # __inline and __attribute__ are now recognized by cproto - # -D"foo()=" is not supported by all compilers so do not use it -! NO_ATTR= - # - # maybe the "/usr/bin/cc -E" has to be adjusted for some systems - # This is for cproto 3.5 patchlevel 3: -*************** -*** 1432,1437 **** ---- 1437,1443 ---- - $(SNIFF_SRC) $(WORKSHOP_SRC) $(WSDEBUG_SRC) $(NETBEANS_SRC) - #LINT_SRC = $(SRC) - #LINT_SRC = $(ALL_SRC) -+ #LINT_SRC = $(BASIC_SRC) - - OBJ = \ - objects/buffer.o \ -*************** -*** 2272,2283 **** - - # Run lint. Clean up the *.ln files that are sometimes left behind. - lint: -! lint $(LINT_OPTIONS) $(LINT_CFLAGS) $(LINT_EXTRA) $(LINT_SRC) - -rm -f *.ln - - # Check dosinst.c with lint. - lintinstall: -! lint $(LINT_OPTIONS) -DWIN32 -DUNIX_LINT dosinst.c - -rm -f dosinst.ln - - ########################################################################### ---- 2279,2290 ---- - - # Run lint. Clean up the *.ln files that are sometimes left behind. - lint: -! $(LINT) $(LINT_OPTIONS) $(LINT_CFLAGS) $(LINT_EXTRA) $(LINT_SRC) - -rm -f *.ln - - # Check dosinst.c with lint. - lintinstall: -! $(LINT) $(LINT_OPTIONS) -DWIN32 -DUNIX_LINT dosinst.c - -rm -f dosinst.ln - - ########################################################################### -*** ../vim-7.2.166/src/buffer.c 2009-02-22 00:01:42.000000000 +0100 ---- src/buffer.c 2009-05-13 12:25:29.000000000 +0200 -*************** -*** 44,49 **** ---- 44,50 ---- - #ifdef FEAT_TITLE - static int ti_change __ARGS((char_u *str, char_u **last)); - #endif -+ static int append_arg_number __ARGS((win_T *wp, char_u *buf, int buflen, int add_file)); - static void free_buffer __ARGS((buf_T *)); - static void free_buffer_stuff __ARGS((buf_T *buf, int free_options)); - static void clear_wininfo __ARGS((buf_T *buf)); -*************** -*** 1453,1465 **** - - #ifdef FEAT_KEYMAP - if (curbuf->b_kmap_state & KEYMAP_INIT) -! keymap_init(); - #endif - #ifdef FEAT_SPELL - /* May need to set the spell language. Can only do this after the buffer - * has been properly setup. */ - if (!curbuf->b_help && curwin->w_p_spell && *curbuf->b_p_spl != NUL) -! did_set_spelllang(curbuf); - #endif - - redraw_later(NOT_VALID); ---- 1454,1466 ---- - - #ifdef FEAT_KEYMAP - if (curbuf->b_kmap_state & KEYMAP_INIT) -! (void)keymap_init(); - #endif - #ifdef FEAT_SPELL - /* May need to set the spell language. Can only do this after the buffer - * has been properly setup. */ - if (!curbuf->b_help && curwin->w_p_spell && *curbuf->b_p_spl != NUL) -! (void)did_set_spelllang(curbuf); - #endif - - redraw_later(NOT_VALID); -*************** -*** 2516,2522 **** - buf_T *buf; - { - wininfo_T *wip; -! static pos_T no_position = {1, 0}; - - wip = find_wininfo(buf, FALSE); - if (wip != NULL) ---- 2517,2523 ---- - buf_T *buf; - { - wininfo_T *wip; -! static pos_T no_position = INIT_POS_T(1, 0, 0); - - wip = find_wininfo(buf, FALSE); - if (wip != NULL) -*************** -*** 2577,2584 **** - { - IObuff[len++] = ' '; - } while (--i > 0 && len < IOSIZE - 18); -! vim_snprintf((char *)IObuff + len, IOSIZE - len, _("line %ld"), -! buf == curbuf ? curwin->w_cursor.lnum - : (long)buflist_findlnum(buf)); - msg_outtrans(IObuff); - out_flush(); /* output one line at a time */ ---- 2578,2585 ---- - { - IObuff[len++] = ' '; - } while (--i > 0 && len < IOSIZE - 18); -! vim_snprintf((char *)IObuff + len, (size_t)(IOSIZE - len), -! _("line %ld"), buf == curbuf ? curwin->w_cursor.lnum - : (long)buflist_findlnum(buf)); - msg_outtrans(IObuff); - out_flush(); /* output one line at a time */ -*************** -*** 2967,2973 **** - - if (fullname > 1) /* 2 CTRL-G: include buffer number */ - { -! sprintf((char *)buffer, "buf %d: ", curbuf->b_fnum); - p = buffer + STRLEN(buffer); - } - else ---- 2968,2974 ---- - - if (fullname > 1) /* 2 CTRL-G: include buffer number */ - { -! vim_snprintf((char *)buffer, IOSIZE, "buf %d: ", curbuf->b_fnum); - p = buffer + STRLEN(buffer); - } - else -*************** -*** 3041,3051 **** - (long)curbuf->b_ml.ml_line_count, - n); - validate_virtcol(); -! col_print(buffer + STRLEN(buffer), - (int)curwin->w_cursor.col + 1, (int)curwin->w_virtcol + 1); - } - -! (void)append_arg_number(curwin, buffer, !shortmess(SHM_FILE), IOSIZE); - - if (dont_truncate) - { ---- 3042,3053 ---- - (long)curbuf->b_ml.ml_line_count, - n); - validate_virtcol(); -! len = STRLEN(buffer); -! col_print(buffer + len, IOSIZE - len, - (int)curwin->w_cursor.col + 1, (int)curwin->w_virtcol + 1); - } - -! (void)append_arg_number(curwin, buffer, IOSIZE, !shortmess(SHM_FILE)); - - if (dont_truncate) - { -*************** -*** 3073,3087 **** - } - - void -! col_print(buf, col, vcol) - char_u *buf; - int col; - int vcol; - { - if (col == vcol) -! sprintf((char *)buf, "%d", col); - else -! sprintf((char *)buf, "%d-%d", col, vcol); - } - - #if defined(FEAT_TITLE) || defined(PROTO) ---- 3075,3090 ---- - } - - void -! col_print(buf, buflen, col, vcol) - char_u *buf; -+ size_t buflen; - int col; - int vcol; - { - if (col == vcol) -! vim_snprintf((char *)buf, buflen, "%d", col); - else -! vim_snprintf((char *)buf, buflen, "%d-%d", col, vcol); - } - - #if defined(FEAT_TITLE) || defined(PROTO) -*************** -*** 3194,3211 **** - if (p == buf + off) - /* must be a help buffer */ - vim_strncpy(buf + off, (char_u *)_("help"), -! IOSIZE - off - 1); - else - *p = NUL; - - /* translate unprintable chars */ - p = transstr(buf + off); -! vim_strncpy(buf + off, p, IOSIZE - off - 1); - vim_free(p); - STRCAT(buf, ")"); - } - -! append_arg_number(curwin, buf, FALSE, IOSIZE); - - #if defined(FEAT_CLIENTSERVER) - if (serverName != NULL) ---- 3197,3214 ---- - if (p == buf + off) - /* must be a help buffer */ - vim_strncpy(buf + off, (char_u *)_("help"), -! (size_t)(IOSIZE - off - 1)); - else - *p = NUL; - - /* translate unprintable chars */ - p = transstr(buf + off); -! vim_strncpy(buf + off, p, (size_t)(IOSIZE - off - 1)); - vim_free(p); - STRCAT(buf, ")"); - } - -! append_arg_number(curwin, buf, IOSIZE, FALSE); - - #if defined(FEAT_CLIENTSERVER) - if (serverName != NULL) -*************** -*** 3520,3526 **** - n = (long)(p - t) - item[groupitem[groupdepth]].maxwid + 1; - - *t = '<'; -! mch_memmove(t + 1, t + n, p - (t + n)); - p = p - n + 1; - #ifdef FEAT_MBYTE - /* Fill up space left over by half a double-wide char. */ ---- 3523,3529 ---- - n = (long)(p - t) - item[groupitem[groupdepth]].maxwid + 1; - - *t = '<'; -! mch_memmove(t + 1, t + n, (size_t)(p - (t + n))); - p = p - n + 1; - #ifdef FEAT_MBYTE - /* Fill up space left over by half a double-wide char. */ -*************** -*** 3550,3556 **** - else - { - /* fill by inserting characters */ -! mch_memmove(t + n - l, t, p - t); - l = n - l; - if (p + l >= out + outlen) - l = (long)((out + outlen) - p - 1); ---- 3553,3559 ---- - else - { - /* fill by inserting characters */ -! mch_memmove(t + n - l, t, (size_t)(p - t)); - l = n - l; - if (p + l >= out + outlen) - l = (long)((out + outlen) - p - 1); -*************** -*** 3686,3692 **** - p = t; - - #ifdef FEAT_EVAL -! sprintf((char *)tmp, "%d", curbuf->b_fnum); - set_internal_string_var((char_u *)"actual_curbuf", tmp); - - o_curbuf = curbuf; ---- 3689,3695 ---- - p = t; - - #ifdef FEAT_EVAL -! vim_snprintf((char *)tmp, sizeof(tmp), "%d", curbuf->b_fnum); - set_internal_string_var((char_u *)"actual_curbuf", tmp); - - o_curbuf = curbuf; -*************** -*** 3753,3765 **** - - case STL_ALTPERCENT: - str = tmp; -! get_rel_pos(wp, str); - break; - - case STL_ARGLISTSTAT: - fillable = FALSE; - tmp[0] = 0; -! if (append_arg_number(wp, tmp, FALSE, (int)sizeof(tmp))) - str = tmp; - break; - ---- 3756,3768 ---- - - case STL_ALTPERCENT: - str = tmp; -! get_rel_pos(wp, str, TMPLEN); - break; - - case STL_ARGLISTSTAT: - fillable = FALSE; - tmp[0] = 0; -! if (append_arg_number(wp, tmp, (int)sizeof(tmp), FALSE)) - str = tmp; - break; - -*************** -*** 3794,3800 **** - case STL_BYTEVAL_X: - base = 'X'; - case STL_BYTEVAL: -! if (wp->w_cursor.col > STRLEN(linecont)) - num = 0; - else - { ---- 3797,3803 ---- - case STL_BYTEVAL_X: - base = 'X'; - case STL_BYTEVAL: -! if (wp->w_cursor.col > (colnr_T)STRLEN(linecont)) - num = 0; - else - { -*************** -*** 3967,3973 **** - if (zeropad) - *t++ = '0'; - *t++ = '*'; -! *t++ = nbase == 16 ? base : (nbase == 8 ? 'o' : 'd'); - *t = 0; - - for (n = num, l = 1; n >= nbase; n /= nbase) ---- 3970,3976 ---- - if (zeropad) - *t++ = '0'; - *t++ = '*'; -! *t++ = nbase == 16 ? base : (char_u)(nbase == 8 ? 'o' : 'd'); - *t = 0; - - for (n = num, l = 1; n >= nbase; n /= nbase) -*************** -*** 4160,4172 **** - #if defined(FEAT_STL_OPT) || defined(FEAT_CMDL_INFO) \ - || defined(FEAT_GUI_TABLINE) || defined(PROTO) - /* -! * Get relative cursor position in window into "str[]", in the form 99%, using -! * "Top", "Bot" or "All" when appropriate. - */ - void -! get_rel_pos(wp, str) - win_T *wp; -! char_u *str; - { - long above; /* number of lines above window */ - long below; /* number of lines below window */ ---- 4163,4176 ---- - #if defined(FEAT_STL_OPT) || defined(FEAT_CMDL_INFO) \ - || defined(FEAT_GUI_TABLINE) || defined(PROTO) - /* -! * Get relative cursor position in window into "buf[buflen]", in the form 99%, -! * using "Top", "Bot" or "All" when appropriate. - */ - void -! get_rel_pos(wp, buf, buflen) - win_T *wp; -! char_u *buf; -! int buflen; - { - long above; /* number of lines above window */ - long below; /* number of lines below window */ -*************** -*** 4177,4210 **** - #endif - below = wp->w_buffer->b_ml.ml_line_count - wp->w_botline + 1; - if (below <= 0) -! STRCPY(str, above == 0 ? _("All") : _("Bot")); - else if (above <= 0) -! STRCPY(str, _("Top")); - else -! sprintf((char *)str, "%2d%%", above > 1000000L - ? (int)(above / ((above + below) / 100L)) - : (int)(above * 100L / (above + below))); - } - #endif - - /* -! * Append (file 2 of 8) to 'buf', if editing more than one file. - * Return TRUE if it was appended. - */ -! int -! append_arg_number(wp, buf, add_file, maxlen) - win_T *wp; - char_u *buf; - int add_file; /* Add "file" before the arg number */ -- int maxlen; /* maximum nr of chars in buf or zero*/ - { - char_u *p; - - if (ARGCOUNT <= 1) /* nothing to do */ - return FALSE; - -! p = buf + STRLEN(buf); /* go to the end of the buffer */ -! if (maxlen && p - buf + 35 >= maxlen) /* getting too long */ - return FALSE; - *p++ = ' '; - *p++ = '('; ---- 4181,4215 ---- - #endif - below = wp->w_buffer->b_ml.ml_line_count - wp->w_botline + 1; - if (below <= 0) -! vim_strncpy(buf, (char_u *)(above == 0 ? _("All") : _("Bot")), -! (size_t)(buflen - 1)); - else if (above <= 0) -! vim_strncpy(buf, (char_u *)_("Top"), (size_t)(buflen - 1)); - else -! vim_snprintf((char *)buf, (size_t)buflen, "%2d%%", above > 1000000L - ? (int)(above / ((above + below) / 100L)) - : (int)(above * 100L / (above + below))); - } - #endif - - /* -! * Append (file 2 of 8) to "buf[buflen]", if editing more than one file. - * Return TRUE if it was appended. - */ -! static int -! append_arg_number(wp, buf, buflen, add_file) - win_T *wp; - char_u *buf; -+ int buflen; - int add_file; /* Add "file" before the arg number */ - { - char_u *p; - - if (ARGCOUNT <= 1) /* nothing to do */ - return FALSE; - -! p = buf + STRLEN(buf); /* go to the end of the buffer */ -! if (p - buf + 35 >= buflen) /* getting too long */ - return FALSE; - *p++ = ' '; - *p++ = '('; -*************** -*** 4213,4219 **** - STRCPY(p, "file "); - p += 5; - } -! sprintf((char *)p, wp->w_arg_idx_invalid ? "(%d) of %d)" - : "%d of %d)", wp->w_arg_idx + 1, ARGCOUNT); - return TRUE; - } ---- 4218,4225 ---- - STRCPY(p, "file "); - p += 5; - } -! vim_snprintf((char *)p, (size_t)(buflen - (p - buf)), -! wp->w_arg_idx_invalid ? "(%d) of %d)" - : "%d of %d)", wp->w_arg_idx + 1, ARGCOUNT); - return TRUE; - } -*************** -*** 4996,5002 **** - if (tab != NULL) - { - *tab++ = '\0'; -! col = atoi((char *)tab); - tab = vim_strrchr(xline, '\t'); - if (tab != NULL) - { ---- 5002,5008 ---- - if (tab != NULL) - { - *tab++ = '\0'; -! col = (colnr_T)atoi((char *)tab); - tab = vim_strrchr(xline, '\t'); - if (tab != NULL) - { -*************** -*** 5034,5039 **** ---- 5040,5046 ---- - #endif - char_u *line; - int max_buffers; -+ size_t len; - - if (find_viminfo_parameter('%') == NULL) - return; -*************** -*** 5042,5048 **** - max_buffers = get_viminfo_parameter('%'); - - /* Allocate room for the file name, lnum and col. */ -! line = alloc(MAXPATHL + 40); - if (line == NULL) - return; - ---- 5049,5056 ---- - max_buffers = get_viminfo_parameter('%'); - - /* Allocate room for the file name, lnum and col. */ -! #define LINE_BUF_LEN (MAXPATHL + 40) -! line = alloc(LINE_BUF_LEN); - if (line == NULL) - return; - -*************** -*** 5068,5074 **** - break; - putc('%', fp); - home_replace(NULL, buf->b_ffname, line, MAXPATHL, TRUE); -! sprintf((char *)line + STRLEN(line), "\t%ld\t%d", - (long)buf->b_last_cursor.lnum, - buf->b_last_cursor.col); - viminfo_writestring(fp, line); ---- 5076,5083 ---- - break; - putc('%', fp); - home_replace(NULL, buf->b_ffname, line, MAXPATHL, TRUE); -! len = STRLEN(line); -! vim_snprintf((char *)line + len, len - LINE_BUF_LEN, "\t%ld\t%d", - (long)buf->b_last_cursor.lnum, - buf->b_last_cursor.col); - viminfo_writestring(fp, line); -*************** -*** 5226,5232 **** - return; - } - -! int - buf_change_sign_type(buf, markId, typenr) - buf_T *buf; /* buffer to store sign in */ - int markId; /* sign ID */ ---- 5235,5241 ---- - return; - } - -! linenr_T - buf_change_sign_type(buf, markId, typenr) - buf_T *buf; /* buffer to store sign in */ - int markId; /* sign ID */ -*************** -*** 5243,5252 **** - } - } - -! return 0; - } - -! int_u - buf_getsigntype(buf, lnum, type) - buf_T *buf; - linenr_T lnum; ---- 5252,5261 ---- - } - } - -! return (linenr_T)0; - } - -! int - buf_getsigntype(buf, lnum, type) - buf_T *buf; - linenr_T lnum; -*** ../vim-7.2.166/src/charset.c 2008-07-24 21:30:44.000000000 +0200 ---- src/charset.c 2009-05-05 18:17:11.000000000 +0200 -*************** -*** 17,23 **** - static int win_nolbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp)); - #endif - -! static int nr2hex __ARGS((int c)); - - static int chartab_initialized = FALSE; - ---- 17,23 ---- - static int win_nolbr_chartabsize __ARGS((win_T *wp, char_u *s, colnr_T col, int *headp)); - #endif - -! static unsigned nr2hex __ARGS((unsigned c)); - - static int chartab_initialized = FALSE; - -*************** -*** 664,670 **** - } - #endif - buf[++i] = nr2hex((unsigned)c >> 4); -! buf[++i] = nr2hex(c); - buf[++i] = '>'; - buf[++i] = NUL; - } ---- 664,670 ---- - } - #endif - buf[++i] = nr2hex((unsigned)c >> 4); -! buf[++i] = nr2hex((unsigned)c); - buf[++i] = '>'; - buf[++i] = NUL; - } -*************** -*** 674,682 **** - * Lower case letters are used to avoid the confusion of being 0xf1 or - * function key 1. - */ -! static int - nr2hex(c) -! int c; - { - if ((c & 0xf) <= 9) - return (c & 0xf) + '0'; ---- 674,682 ---- - * Lower case letters are used to avoid the confusion of being 0xf1 or - * function key 1. - */ -! static unsigned - nr2hex(c) -! unsigned c; - { - if ((c & 0xf) <= 9) - return (c & 0xf) + '0'; -*************** -*** 884,890 **** - if (c >= 0x100) - { - if (enc_dbcs != 0) -! return dbcs_class((unsigned)c >> 8, c & 0xff) >= 2; - if (enc_utf8) - return utf_class(c) >= 2; - } ---- 884,890 ---- - if (c >= 0x100) - { - if (enc_dbcs != 0) -! return dbcs_class((unsigned)c >> 8, (unsigned)(c & 0xff)) >= 2; - if (enc_utf8) - return utf_class(c) >= 2; - } -*************** -*** 1090,1096 **** - */ - numberextra = win_col_off(wp); - col2 = col; -! colmax = W_WIDTH(wp) - numberextra; - if (col >= colmax) - { - n = colmax + win_col_off2(wp); ---- 1090,1096 ---- - */ - numberextra = win_col_off(wp); - col2 = col; -! colmax = (colnr_T)(W_WIDTH(wp) - numberextra); - if (col >= colmax) - { - n = colmax + win_col_off2(wp); -*************** -*** 1201,1217 **** - win_T *wp; - colnr_T vcol; - { -! colnr_T width1; /* width of first line (after line number) */ -! colnr_T width2; /* width of further lines */ - - #ifdef FEAT_VERTSPLIT - if (wp->w_width == 0) /* there is no border */ - return FALSE; - #endif - width1 = W_WIDTH(wp) - win_col_off(wp); -! if (vcol < width1 - 1) - return FALSE; -! if (vcol == width1 - 1) - return TRUE; - width2 = width1 + win_col_off2(wp); - return ((vcol - width1) % width2 == width2 - 1); ---- 1201,1217 ---- - win_T *wp; - colnr_T vcol; - { -! int width1; /* width of first line (after line number) */ -! int width2; /* width of further lines */ - - #ifdef FEAT_VERTSPLIT - if (wp->w_width == 0) /* there is no border */ - return FALSE; - #endif - width1 = W_WIDTH(wp) - win_col_off(wp); -! if ((int)vcol < width1 - 1) - return FALSE; -! if ((int)vcol == width1 - 1) - return TRUE; - width2 = width1 + win_col_off2(wp); - return ((vcol - width1) % width2 == width2 - 1); -*************** -*** 1396,1408 **** - # ifdef FEAT_MBYTE - /* Cannot put the cursor on part of a wide character. */ - ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE); -! if (pos->col < STRLEN(ptr)) - { - int c = (*mb_ptr2char)(ptr + pos->col); - - if (c != TAB && vim_isprintc(c)) - { -! endadd = char2cells(c) - 1; - if (coladd > endadd) /* past end of line */ - endadd = 0; - else ---- 1396,1408 ---- - # ifdef FEAT_MBYTE - /* Cannot put the cursor on part of a wide character. */ - ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE); -! if (pos->col < (colnr_T)STRLEN(ptr)) - { - int c = (*mb_ptr2char)(ptr + pos->col); - - if (c != TAB && vim_isprintc(c)) - { -! endadd = (colnr_T)(char2cells(c) - 1); - if (coladd > endadd) /* past end of line */ - endadd = 0; - else -*** ../vim-7.2.166/src/cleanlint.vim 2009-05-13 12:08:12.000000000 +0200 ---- src/cleanlint.vim 2009-05-05 21:34:01.000000000 +0200 -*************** -*** 0 **** ---- 1,27 ---- -+ " Vim tool: Filter output of splint -+ " -+ " Maintainer: Bram Moolenaar -+ " Last Change: 2009 May 05 -+ -+ " Usage: redirect output of "make lint" to a file, edit that file with Vim and -+ " :call CleanLint() -+ " This deletes irrelevant messages. What remains might be valid warnings. -+ -+ fun! CleanLint() -+ g/^ Types are incompatible/lockmarks d -+ g/Assignment of dev_t to __dev_t:/lockmarks d -+ g/Assignment of __dev_t to dev_t:/lockmarks d -+ g/Operands of == have incompatible types (__dev_t, dev_t): /lockmarks d -+ g/Operands of == have incompatible types (unsigned int, int): /lockmarks d -+ g/Assignment of char to char_u: /lockmarks d -+ g/Assignment of unsigned int to int: /lockmarks d -+ g/Assignment of colnr_T to int: /lockmarks d -+ g/Assignment of int to char_u: /lockmarks d -+ g/Function .* expects arg . to be wint_t gets int: /lockmarks d -+ g/^digraph.c.*digraphdefault.*is type char, expects char_u:/lockmarks d -+ g/^digraph.c.*Additional initialization errors for digraphdefault not reported/lockmarks d -+ g/Function strncasecmp expects arg 3 to be int gets size_t: /lockmarks d -+ g/ To ignore signs in type comparisons use +ignoresigns/lockmarks d -+ g/ To allow arbitrary integral types to match any integral type, use +matchanyintegral./lockmarks d -+ g/ To allow arbitrary integral types to match long unsigned, use +longintegral./lockmarks d -+ endfun -*** ../vim-7.2.166/src/digraph.c 2008-06-25 00:26:41.000000000 +0200 ---- src/digraph.c 2009-05-05 20:32:43.000000000 +0200 -*************** -*** 32,38 **** - static void printdigraph __ARGS((digr_T *)); - - /* digraphs added by the user */ -! static garray_T user_digraphs = {0, 0, sizeof(digr_T), 10, NULL}; - - /* - * Note: Characters marked with XX are not included literally, because some ---- 32,38 ---- - static void printdigraph __ARGS((digr_T *)); - - /* digraphs added by the user */ -! static garray_T user_digraphs = {0, 0, (int)sizeof(digr_T), 10, NULL}; - - /* - * Note: Characters marked with XX are not included literally, because some -*************** -*** 2371,2380 **** - } - else - #endif -! *p++ = dp->result; - if (char2cells(dp->result) == 1) - *p++ = ' '; -! sprintf((char *)p, " %3d", dp->result); - msg_outtrans(buf); - } - } ---- 2371,2380 ---- - } - else - #endif -! *p++ = (char_u)dp->result; - if (char2cells(dp->result) == 1) - *p++ = ' '; -! vim_snprintf((char *)p, sizeof(buf) - (p - buf), " %3d", dp->result); - msg_outtrans(buf); - } - } -*************** -*** 2395,2401 **** - static void keymap_unload __ARGS((void)); - - /* -! * Set up key mapping tables for the 'keymap' option - */ - char_u * - keymap_init() ---- 2395,2404 ---- - static void keymap_unload __ARGS((void)); - - /* -! * Set up key mapping tables for the 'keymap' option. -! * Returns NULL if OK, an error message for failure. This only needs to be -! * used when setting the option, not later when the value has already been -! * checked. - */ - char_u * - keymap_init() -*************** -*** 2412,2436 **** - else - { - char_u *buf; - - /* Source the keymap file. It will contain a ":loadkeymap" command - * which will call ex_loadkeymap() below. */ -! buf = alloc((unsigned)(STRLEN(curbuf->b_p_keymap) - # ifdef FEAT_MBYTE -! + STRLEN(p_enc) - # endif -! + 14)); - if (buf == NULL) - return e_outofmem; - - # ifdef FEAT_MBYTE - /* try finding "keymap/'keymap'_'encoding'.vim" in 'runtimepath' */ -! sprintf((char *)buf, "keymap/%s_%s.vim", curbuf->b_p_keymap, p_enc); - if (source_runtime(buf, FALSE) == FAIL) - # endif - { - /* try finding "keymap/'keymap'.vim" in 'runtimepath' */ -! sprintf((char *)buf, "keymap/%s.vim", curbuf->b_p_keymap); - if (source_runtime(buf, FALSE) == FAIL) - { - vim_free(buf); ---- 2415,2443 ---- - else - { - char_u *buf; -+ size_t buflen; - - /* Source the keymap file. It will contain a ":loadkeymap" command - * which will call ex_loadkeymap() below. */ -! buflen = STRLEN(curbuf->b_p_keymap) - # ifdef FEAT_MBYTE -! + STRLEN(p_enc) - # endif -! + 14; -! buf = alloc((unsigned)buflen); - if (buf == NULL) - return e_outofmem; - - # ifdef FEAT_MBYTE - /* try finding "keymap/'keymap'_'encoding'.vim" in 'runtimepath' */ -! vim_snprintf((char *)buf, buflen, "keymap/%s_%s.vim", -! curbuf->b_p_keymap, p_enc); - if (source_runtime(buf, FALSE) == FAIL) - # endif - { - /* try finding "keymap/'keymap'.vim" in 'runtimepath' */ -! vim_snprintf((char *)buf, buflen, "keymap/%s.vim", -! curbuf->b_p_keymap); - if (source_runtime(buf, FALSE) == FAIL) - { - vim_free(buf); -*** ../vim-7.2.166/src/edit.c 2009-02-21 20:27:00.000000000 +0100 ---- src/edit.c 2009-05-05 21:14:50.000000000 +0200 -*************** -*** 57,63 **** - N_(" Keyword Local completion (^N^P)"), - }; - -! static char_u e_hitend[] = N_("Hit end of paragraph"); - - /* - * Structure used to store one match for insert completion. ---- 57,63 ---- - N_(" Keyword Local completion (^N^P)"), - }; - -! static char e_hitend[] = N_("Hit end of paragraph"); - - /* - * Structure used to store one match for insert completion. -*************** -*** 69,75 **** ---- 69,79 ---- - compl_T *cp_prev; - char_u *cp_str; /* matched text */ - char cp_icase; /* TRUE or FALSE: ignore case */ -+ #ifdef S_SPLINT_S /* splint can't handle array of pointers */ -+ char_u **cp_text; /* text for the menu */ -+ #else - char_u *(cp_text[CPT_COUNT]); /* text for the menu */ -+ #endif - char_u *cp_fname; /* file containing the match, allocated when - * cp_flags has FREE_FNAME */ - int cp_flags; /* ORIGINAL_TEXT, CONT_S_IPOS or FREE_FNAME */ -*************** -*** 306,312 **** - int c = 0; - char_u *ptr; - int lastc; -! colnr_T mincol; - static linenr_T o_lnum = 0; - int i; - int did_backspace = TRUE; /* previous char was backspace */ ---- 310,316 ---- - int c = 0; - char_u *ptr; - int lastc; -! int mincol; - static linenr_T o_lnum = 0; - int i; - int did_backspace = TRUE; /* previous char was backspace */ -*************** -*** 387,393 **** - if (startln) - Insstart.col = 0; - } -! Insstart_textlen = linetabsize(ml_get_curline()); - Insstart_blank_vcol = MAXCOL; - if (!did_ai) - ai_col = 0; ---- 391,397 ---- - if (startln) - Insstart.col = 0; - } -! Insstart_textlen = (colnr_T)linetabsize(ml_get_curline()); - Insstart_blank_vcol = MAXCOL; - if (!did_ai) - ai_col = 0; -*************** -*** 653,659 **** - mincol = curwin->w_wcol; - validate_cursor_col(); - -! if ((int)curwin->w_wcol < (int)mincol - curbuf->b_p_ts - && curwin->w_wrow == W_WINROW(curwin) - + curwin->w_height - 1 - p_so - && (curwin->w_cursor.lnum != curwin->w_topline ---- 657,663 ---- - mincol = curwin->w_wcol; - validate_cursor_col(); - -! if ((int)curwin->w_wcol < mincol - curbuf->b_p_ts - && curwin->w_wrow == W_WINROW(curwin) - + curwin->w_height - 1 - p_so - && (curwin->w_cursor.lnum != curwin->w_topline -*************** -*** 1773,1779 **** - * Compute the screen column where the cursor should be. - */ - vcol = get_indent() - vcol; -! curwin->w_virtcol = (vcol < 0) ? 0 : vcol; - - /* - * Advance the cursor until we reach the right screen column. ---- 1777,1783 ---- - * Compute the screen column where the cursor should be. - */ - vcol = get_indent() - vcol; -! curwin->w_virtcol = (colnr_T)((vcol < 0) ? 0 : vcol); - - /* - * Advance the cursor until we reach the right screen column. -*************** -*** 1800,1808 **** - */ - if (vcol != (int)curwin->w_virtcol) - { -! curwin->w_cursor.col = new_cursor_col; - i = (int)curwin->w_virtcol - vcol; -! ptr = alloc(i + 1); - if (ptr != NULL) - { - new_cursor_col += i; ---- 1804,1812 ---- - */ - if (vcol != (int)curwin->w_virtcol) - { -! curwin->w_cursor.col = (colnr_T)new_cursor_col; - i = (int)curwin->w_virtcol - vcol; -! ptr = alloc((unsigned)(i + 1)); - if (ptr != NULL) - { - new_cursor_col += i; -*************** -*** 1826,1832 **** - if (new_cursor_col <= 0) - curwin->w_cursor.col = 0; - else -! curwin->w_cursor.col = new_cursor_col; - curwin->w_set_curswant = TRUE; - changed_cline_bef_curs(); - ---- 1830,1836 ---- - if (new_cursor_col <= 0) - curwin->w_cursor.col = 0; - else -! curwin->w_cursor.col = (colnr_T)new_cursor_col; - curwin->w_set_curswant = TRUE; - changed_cline_bef_curs(); - -*************** -*** 1966,1972 **** - #ifdef FEAT_MBYTE - if (enc_utf8 && limit_col >= 0) - { -! int ecol = curwin->w_cursor.col + 1; - - /* Make sure the cursor is at the start of a character, but - * skip forward again when going too far back because of a ---- 1970,1976 ---- - #ifdef FEAT_MBYTE - if (enc_utf8 && limit_col >= 0) - { -! colnr_T ecol = curwin->w_cursor.col + 1; - - /* Make sure the cursor is at the start of a character, but - * skip forward again when going too far back because of a -*************** -*** 1982,1988 **** - } - if (*ml_get_cursor() == NUL || curwin->w_cursor.col == ecol) - return FALSE; -! del_bytes((long)(ecol - curwin->w_cursor.col), FALSE, TRUE); - } - else - #endif ---- 1986,1992 ---- - } - if (*ml_get_cursor() == NUL || curwin->w_cursor.col == ecol) - return FALSE; -! del_bytes((long)((int)ecol - curwin->w_cursor.col), FALSE, TRUE); - } - else - #endif -*************** -*** 2201,2207 **** - actual_compl_length = compl_length; - - /* Allocate wide character array for the completion and fill it. */ -! wca = (int *)alloc(actual_len * sizeof(int)); - if (wca != NULL) - { - p = str; ---- 2205,2211 ---- - actual_compl_length = compl_length; - - /* Allocate wide character array for the completion and fill it. */ -! wca = (int *)alloc((unsigned)(actual_len * sizeof(int))); - if (wca != NULL) - { - p = str; -*************** -*** 2580,2586 **** - */ - void - set_completion(startcol, list) -! int startcol; - list_T *list; - { - /* If already doing completions stop it. */ ---- 2584,2590 ---- - */ - void - set_completion(startcol, list) -! colnr_T startcol; - list_T *list; - { - /* If already doing completions stop it. */ -*************** -*** 2591,2600 **** - if (stop_arrow() == FAIL) - return; - -! if (startcol > (int)curwin->w_cursor.col) - startcol = curwin->w_cursor.col; - compl_col = startcol; -! compl_length = curwin->w_cursor.col - startcol; - /* compl_pattern doesn't need to be set */ - compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length); - if (compl_orig_text == NULL || ins_compl_add(compl_orig_text, ---- 2595,2604 ---- - if (stop_arrow() == FAIL) - return; - -! if (startcol > curwin->w_cursor.col) - startcol = curwin->w_cursor.col; - compl_col = startcol; -! compl_length = (int)curwin->w_cursor.col - (int)startcol; - /* compl_pattern doesn't need to be set */ - compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length); - if (compl_orig_text == NULL || ins_compl_add(compl_orig_text, -*************** -*** 2860,2866 **** - regmatch_T regmatch; - char_u **files; - int count; -- int i; - int save_p_scs; - int dir = compl_direction; - ---- 2864,2869 ---- -*************** -*** 2892,2908 **** - if (ctrl_x_mode == CTRL_X_WHOLE_LINE) - { - char_u *pat_esc = vim_strsave_escaped(pat, (char_u *)"\\"); - - if (pat_esc == NULL) - goto theend; -! i = (int)STRLEN(pat_esc) + 10; -! ptr = alloc(i); - if (ptr == NULL) - { - vim_free(pat_esc); - goto theend; - } -! vim_snprintf((char *)ptr, i, "^\\s*\\zs\\V%s", pat_esc); - regmatch.regprog = vim_regcomp(ptr, RE_MAGIC); - vim_free(pat_esc); - vim_free(ptr); ---- 2895,2912 ---- - if (ctrl_x_mode == CTRL_X_WHOLE_LINE) - { - char_u *pat_esc = vim_strsave_escaped(pat, (char_u *)"\\"); -+ size_t len; - - if (pat_esc == NULL) - goto theend; -! len = STRLEN(pat_esc) + 10; -! ptr = alloc((unsigned)len); - if (ptr == NULL) - { - vim_free(pat_esc); - goto theend; - } -! vim_snprintf((char *)ptr, len, "^\\s*\\zs\\V%s", pat_esc); - regmatch.regprog = vim_regcomp(ptr, RE_MAGIC); - vim_free(pat_esc); - vim_free(ptr); -*************** -*** 2993,2999 **** - { - vim_snprintf((char *)IObuff, IOSIZE, - _("Scanning dictionary: %s"), (char *)files[i]); -! msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - - if (fp != NULL) ---- 2997,3003 ---- - { - vim_snprintf((char *)IObuff, IOSIZE, - _("Scanning dictionary: %s"), (char *)files[i]); -! (void)msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - - if (fp != NULL) -*************** -*** 3311,3317 **** - static int - ins_compl_len() - { -! int off = curwin->w_cursor.col - compl_col; - - if (off < 0) - return 0; ---- 3315,3321 ---- - static int - ins_compl_len() - { -! int off = (int)curwin->w_cursor.col - (int)compl_col; - - if (off < 0) - return 0; -*************** -*** 3347,3353 **** - - vim_free(compl_leader); - compl_leader = vim_strnsave(ml_get_curline() + compl_col, -! curwin->w_cursor.col - compl_col); - if (compl_leader != NULL) - ins_compl_new_leader(); - } ---- 3351,3357 ---- - - vim_free(compl_leader); - compl_leader = vim_strnsave(ml_get_curline() + compl_col, -! (int)(curwin->w_cursor.col - compl_col)); - if (compl_leader != NULL) - ins_compl_new_leader(); - } -*************** -*** 3395,3401 **** - ins_compl_addfrommatch() - { - char_u *p; -! int len = curwin->w_cursor.col - compl_col; - int c; - compl_T *cp; - ---- 3399,3405 ---- - ins_compl_addfrommatch() - { - char_u *p; -! int len = (int)curwin->w_cursor.col - (int)compl_col; - int c; - compl_T *cp; - -*************** -*** 3961,3967 **** - : ins_buf->b_sfname == NULL - ? (char *)ins_buf->b_fname - : (char *)ins_buf->b_sfname); -! msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - else if (*e_cpt == NUL) - break; ---- 3965,3971 ---- - : ins_buf->b_sfname == NULL - ? (char *)ins_buf->b_fname - : (char *)ins_buf->b_sfname); -! (void)msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - else if (*e_cpt == NUL) - break; -*************** -*** 3991,3997 **** - { - type = CTRL_X_TAGS; - sprintf((char*)IObuff, _("Scanning tags.")); -! msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - else - type = -1; ---- 3995,4001 ---- - { - type = CTRL_X_TAGS; - sprintf((char*)IObuff, _("Scanning tags.")); -! (void)msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - else - type = -1; -*************** -*** 6320,6326 **** - ins_need_undo = FALSE; - } - Insstart = curwin->w_cursor; /* new insertion starts here */ -! Insstart_textlen = linetabsize(ml_get_curline()); - ai_col = 0; - #ifdef FEAT_VREPLACE - if (State & VREPLACE_FLAG) ---- 6324,6330 ---- - ins_need_undo = FALSE; - } - Insstart = curwin->w_cursor; /* new insertion starts here */ -! Insstart_textlen = (colnr_T)linetabsize(ml_get_curline()); - ai_col = 0; - #ifdef FEAT_VREPLACE - if (State & VREPLACE_FLAG) -*** ../vim-7.2.166/src/ex_cmds.c 2009-04-29 18:44:38.000000000 +0200 ---- src/ex_cmds.c 2009-05-05 17:55:40.000000000 +0200 -*************** -*** 1789,1795 **** - * overwrite a user's viminfo file after a "su root", with a - * viminfo file that the user can't read. - */ -! st_old.st_dev = 0; - st_old.st_ino = 0; - st_old.st_mode = 0600; - if (mch_stat((char *)fname, &st_old) == 0 ---- 1789,1795 ---- - * overwrite a user's viminfo file after a "su root", with a - * viminfo file that the user can't read. - */ -! st_old.st_dev = (dev_t)0; - st_old.st_ino = 0; - st_old.st_mode = 0600; - if (mch_stat((char *)fname, &st_old) == 0 -*************** -*** 3715,3721 **** - /* If the window options were changed may need to set the spell language. - * Can only do this after the buffer has been properly setup. */ - if (did_get_winopts && curwin->w_p_spell && *curbuf->b_p_spl != NUL) -! did_set_spelllang(curbuf); - #endif - - if (command == NULL) ---- 3715,3721 ---- - /* If the window options were changed may need to set the spell language. - * Can only do this after the buffer has been properly setup. */ - if (did_get_winopts && curwin->w_p_spell && *curbuf->b_p_spl != NUL) -! (void)did_set_spelllang(curbuf); - #endif - - if (command == NULL) -*************** -*** 3788,3794 **** - - #ifdef FEAT_KEYMAP - if (curbuf->b_kmap_state & KEYMAP_INIT) -! keymap_init(); - #endif - - --RedrawingDisabled; ---- 3788,3794 ---- - - #ifdef FEAT_KEYMAP - if (curbuf->b_kmap_state & KEYMAP_INIT) -! (void)keymap_init(); - #endif - - --RedrawingDisabled; -*** ../vim-7.2.166/src/globals.h 2009-03-05 03:13:51.000000000 +0100 ---- src/globals.h 2009-05-09 21:14:49.000000000 +0200 -*************** -*** 524,530 **** - EXTERN win_T *prevwin INIT(= NULL); /* previous window */ - # define W_NEXT(wp) ((wp)->w_next) - # define FOR_ALL_WINDOWS(wp) for (wp = firstwin; wp != NULL; wp = wp->w_next) -! #define FOR_ALL_TAB_WINDOWS(tp, wp) \ - for ((tp) = first_tabpage; (tp) != NULL; (tp) = (tp)->tp_next) \ - for ((wp) = ((tp) == curtab) \ - ? firstwin : (tp)->tp_firstwin; (wp); (wp) = (wp)->w_next) ---- 524,530 ---- - EXTERN win_T *prevwin INIT(= NULL); /* previous window */ - # define W_NEXT(wp) ((wp)->w_next) - # define FOR_ALL_WINDOWS(wp) for (wp = firstwin; wp != NULL; wp = wp->w_next) -! # define FOR_ALL_TAB_WINDOWS(tp, wp) \ - for ((tp) = first_tabpage; (tp) != NULL; (tp) = (tp)->tp_next) \ - for ((wp) = ((tp) == curtab) \ - ? firstwin : (tp)->tp_firstwin; (wp); (wp) = (wp)->w_next) -*************** -*** 718,724 **** - - EXTERN pos_T saved_cursor /* w_cursor before formatting text. */ - # ifdef DO_INIT -! = INIT_POS_T - # endif - ; - ---- 718,724 ---- - - EXTERN pos_T saved_cursor /* w_cursor before formatting text. */ - # ifdef DO_INIT -! = INIT_POS_T(0, 0, 0) - # endif - ; - -*************** -*** 1039,1045 **** - EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */ - EXTERN pos_T last_cursormoved /* for CursorMoved event */ - # ifdef DO_INIT -! = INIT_POS_T - # endif - ; - #endif ---- 1039,1045 ---- - EXTERN int did_cursorhold INIT(= FALSE); /* set when CursorHold t'gerd */ - EXTERN pos_T last_cursormoved /* for CursorMoved event */ - # ifdef DO_INIT -! = INIT_POS_T(0, 0, 0) - # endif - ; - #endif -*** ../vim-7.2.166/src/ops.c 2009-04-29 17:39:17.000000000 +0200 ---- src/ops.c 2009-05-13 12:41:02.000000000 +0200 -*************** -*** 6400,6406 **** - { - getvcols(curwin, &min_pos, &max_pos, &min_pos.col, - &max_pos.col); -! sprintf((char *)buf1, _("%ld Cols; "), - (long)(oparg.end_vcol - oparg.start_vcol + 1)); - } - else ---- 6400,6406 ---- - { - getvcols(curwin, &min_pos, &max_pos, &min_pos.col, - &max_pos.col); -! vim_snprintf((char *)buf1, sizeof(buf1), _("%ld Cols; "), - (long)(oparg.end_vcol - oparg.start_vcol + 1)); - } - else -*************** -*** 6408,6420 **** - - if (char_count_cursor == byte_count_cursor - && char_count == byte_count) -! sprintf((char *)IObuff, _("Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"), - buf1, line_count_selected, - (long)curbuf->b_ml.ml_line_count, - word_count_cursor, word_count, - byte_count_cursor, byte_count); - else -! sprintf((char *)IObuff, _("Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld Bytes"), - buf1, line_count_selected, - (long)curbuf->b_ml.ml_line_count, - word_count_cursor, word_count, ---- 6408,6422 ---- - - if (char_count_cursor == byte_count_cursor - && char_count == byte_count) -! vim_snprintf((char *)IObuff, IOSIZE, -! _("Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"), - buf1, line_count_selected, - (long)curbuf->b_ml.ml_line_count, - word_count_cursor, word_count, - byte_count_cursor, byte_count); - else -! vim_snprintf((char *)IObuff, IOSIZE, -! _("Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld Bytes"), - buf1, line_count_selected, - (long)curbuf->b_ml.ml_line_count, - word_count_cursor, word_count, -*************** -*** 6426,6445 **** - { - p = ml_get_curline(); - validate_virtcol(); -! col_print(buf1, (int)curwin->w_cursor.col + 1, - (int)curwin->w_virtcol + 1); -! col_print(buf2, (int)STRLEN(p), linetabsize(p)); - - if (char_count_cursor == byte_count_cursor - && char_count == byte_count) -! sprintf((char *)IObuff, _("Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"), - (char *)buf1, (char *)buf2, - (long)curwin->w_cursor.lnum, - (long)curbuf->b_ml.ml_line_count, - word_count_cursor, word_count, - byte_count_cursor, byte_count); - else -! sprintf((char *)IObuff, _("Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of %ld"), - (char *)buf1, (char *)buf2, - (long)curwin->w_cursor.lnum, - (long)curbuf->b_ml.ml_line_count, ---- 6428,6449 ---- - { - p = ml_get_curline(); - validate_virtcol(); -! col_print(buf1, sizeof(buf1), (int)curwin->w_cursor.col + 1, - (int)curwin->w_virtcol + 1); -! col_print(buf2, sizeof(buf2), (int)STRLEN(p), linetabsize(p)); - - if (char_count_cursor == byte_count_cursor - && char_count == byte_count) -! vim_snprintf((char *)IObuff, IOSIZE, -! _("Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"), - (char *)buf1, (char *)buf2, - (long)curwin->w_cursor.lnum, - (long)curbuf->b_ml.ml_line_count, - word_count_cursor, word_count, - byte_count_cursor, byte_count); - else -! vim_snprintf((char *)IObuff, IOSIZE, -! _("Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of %ld"), - (char *)buf1, (char *)buf2, - (long)curwin->w_cursor.lnum, - (long)curbuf->b_ml.ml_line_count, -*** ../vim-7.2.166/src/os_unix.c 2009-03-02 02:44:54.000000000 +0100 ---- src/os_unix.c 2009-05-05 17:35:58.000000000 +0200 -*************** -*** 199,205 **** - #endif - - #ifndef SIG_ERR -! # define SIG_ERR ((RETSIGTYPE (*)())-1) - #endif - - /* volatile because it is used in signal handler sig_winch(). */ ---- 199,207 ---- - #endif - - #ifndef SIG_ERR -! # ifndef S_SPLINT_S -! # define SIG_ERR ((RETSIGTYPE (*)())-1) -! # endif - #endif - - /* volatile because it is used in signal handler sig_winch(). */ -*************** -*** 441,447 **** - - #if defined(HAVE_TOTAL_MEM) || defined(PROTO) - # ifdef HAVE_SYS_RESOURCE_H -! # include - # endif - # if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL) - # include ---- 443,451 ---- - - #if defined(HAVE_TOTAL_MEM) || defined(PROTO) - # ifdef HAVE_SYS_RESOURCE_H -! # ifndef S_SPLINT_S /* splint crashes on bits/resource.h */ -! # include -! # endif - # endif - # if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL) - # include -*** ../vim-7.2.166/src/os_unix.h 2008-06-20 18:06:36.000000000 +0200 ---- src/os_unix.h 2009-05-05 17:07:45.000000000 +0200 -*************** -*** 53,59 **** - #endif - - #ifdef HAVE_UNISTD_H -! # include - #endif - - #ifdef HAVE_LIBC_H ---- 53,61 ---- - #endif - - #ifdef HAVE_UNISTD_H -! # ifndef S_SPLINT_S /* splint crashes on bits/confname.h */ -! # include -! # endif - #endif - - #ifdef HAVE_LIBC_H -*** ../vim-7.2.166/src/proto/buffer.pro 2008-11-15 14:10:23.000000000 +0100 ---- src/proto/buffer.pro 2009-05-13 12:23:41.000000000 +0200 -*************** -*** 37,49 **** - int otherfile __ARGS((char_u *ffname)); - void buf_setino __ARGS((buf_T *buf)); - void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate)); -! void col_print __ARGS((char_u *buf, int col, int vcol)); - void maketitle __ARGS((void)); - void resettitle __ARGS((void)); - void free_titles __ARGS((void)); - int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab)); -! void get_rel_pos __ARGS((win_T *wp, char_u *str)); -! int append_arg_number __ARGS((win_T *wp, char_u *buf, int add_file, int maxlen)); - char_u *fix_fname __ARGS((char_u *fname)); - void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname)); - char_u *alist_name __ARGS((aentry_T *aep)); ---- 37,48 ---- - int otherfile __ARGS((char_u *ffname)); - void buf_setino __ARGS((buf_T *buf)); - void fileinfo __ARGS((int fullname, int shorthelp, int dont_truncate)); -! void col_print __ARGS((char_u *buf, size_t buflen, int col, int vcol)); - void maketitle __ARGS((void)); - void resettitle __ARGS((void)); - void free_titles __ARGS((void)); - int build_stl_str_hl __ARGS((win_T *wp, char_u *out, size_t outlen, char_u *fmt, int use_sandbox, int fillchar, int maxwidth, struct stl_hlrec *hltab, struct stl_hlrec *tabtab)); -! void get_rel_pos __ARGS((win_T *wp, char_u *buf, int buflen)); - char_u *fix_fname __ARGS((char_u *fname)); - void fname_expand __ARGS((buf_T *buf, char_u **ffname, char_u **sfname)); - char_u *alist_name __ARGS((aentry_T *aep)); -*************** -*** 54,61 **** - void write_viminfo_bufferlist __ARGS((FILE *fp)); - char *buf_spname __ARGS((buf_T *buf)); - void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr)); -! int buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr)); -! int_u buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type)); - linenr_T buf_delsign __ARGS((buf_T *buf, int id)); - int buf_findsign __ARGS((buf_T *buf, int id)); - int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum)); ---- 53,60 ---- - void write_viminfo_bufferlist __ARGS((FILE *fp)); - char *buf_spname __ARGS((buf_T *buf)); - void buf_addsign __ARGS((buf_T *buf, int id, linenr_T lnum, int typenr)); -! linenr_T buf_change_sign_type __ARGS((buf_T *buf, int markId, int typenr)); -! int buf_getsigntype __ARGS((buf_T *buf, linenr_T lnum, int type)); - linenr_T buf_delsign __ARGS((buf_T *buf, int id)); - int buf_findsign __ARGS((buf_T *buf, int id)); - int buf_findsign_id __ARGS((buf_T *buf, linenr_T lnum)); -*** ../vim-7.2.166/src/proto/edit.pro 2008-01-16 20:03:13.000000000 +0100 ---- src/proto/edit.pro 2009-05-05 20:51:56.000000000 +0200 -*************** -*** 8,14 **** - void backspace_until_column __ARGS((int col)); - int vim_is_ctrl_x_key __ARGS((int c)); - int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags)); -! void set_completion __ARGS((int startcol, list_T *list)); - void ins_compl_show_pum __ARGS((void)); - char_u *find_word_start __ARGS((char_u *ptr)); - char_u *find_word_end __ARGS((char_u *ptr)); ---- 8,14 ---- - void backspace_until_column __ARGS((int col)); - int vim_is_ctrl_x_key __ARGS((int c)); - int ins_compl_add_infercase __ARGS((char_u *str, int len, int icase, char_u *fname, int dir, int flags)); -! void set_completion __ARGS((colnr_T startcol, list_T *list)); - void ins_compl_show_pum __ARGS((void)); - char_u *find_word_start __ARGS((char_u *ptr)); - char_u *find_word_end __ARGS((char_u *ptr)); -*** ../vim-7.2.166/src/screen.c 2009-03-18 19:07:09.000000000 +0100 ---- src/screen.c 2009-05-05 17:42:45.000000000 +0200 -*************** -*** 9481,9493 **** - win_T *wp; - int always; - { -! char_u buffer[70]; - int row; - int fillchar; - int attr; - int empty_line = FALSE; - colnr_T virtcol; - int i; - int o; - #ifdef FEAT_VERTSPLIT - int this_ru_col; ---- 9481,9495 ---- - win_T *wp; - int always; - { -! #define RULER_BUF_LEN 70 -! char_u buffer[RULER_BUF_LEN]; - int row; - int fillchar; - int attr; - int empty_line = FALSE; - colnr_T virtcol; - int i; -+ size_t len; - int o; - #ifdef FEAT_VERTSPLIT - int this_ru_col; -*************** -*** 9602,9612 **** - * Some sprintfs return the length, some return a pointer. - * To avoid portability problems we use strlen() here. - */ -! sprintf((char *)buffer, "%ld,", - (wp->w_buffer->b_ml.ml_flags & ML_EMPTY) - ? 0L - : (long)(wp->w_cursor.lnum)); -! col_print(buffer + STRLEN(buffer), - empty_line ? 0 : (int)wp->w_cursor.col + 1, - (int)virtcol + 1); - ---- 9604,9615 ---- - * Some sprintfs return the length, some return a pointer. - * To avoid portability problems we use strlen() here. - */ -! vim_snprintf((char *)buffer, RULER_BUF_LEN, "%ld,", - (wp->w_buffer->b_ml.ml_flags & ML_EMPTY) - ? 0L - : (long)(wp->w_cursor.lnum)); -! len = STRLEN(buffer); -! col_print(buffer + len, RULER_BUF_LEN - len, - empty_line ? 0 : (int)wp->w_cursor.col + 1, - (int)virtcol + 1); - -*************** -*** 9616,9622 **** - * screen up on some terminals). - */ - i = (int)STRLEN(buffer); -! get_rel_pos(wp, buffer + i + 1); - o = i + vim_strsize(buffer + i + 1); - #ifdef FEAT_WINDOWS - if (wp->w_status_height == 0) /* can't use last char of screen */ ---- 9619,9625 ---- - * screen up on some terminals). - */ - i = (int)STRLEN(buffer); -! get_rel_pos(wp, buffer + i + 1, RULER_BUF_LEN - i - 1); - o = i + vim_strsize(buffer + i + 1); - #ifdef FEAT_WINDOWS - if (wp->w_status_height == 0) /* can't use last char of screen */ -*************** -*** 9643,9649 **** - buffer[i++] = fillchar; - ++o; - } -! get_rel_pos(wp, buffer + i); - } - /* Truncate at window boundary. */ - #ifdef FEAT_MBYTE ---- 9646,9652 ---- - buffer[i++] = fillchar; - ++o; - } -! get_rel_pos(wp, buffer + i, RULER_BUF_LEN - i); - } - /* Truncate at window boundary. */ - #ifdef FEAT_MBYTE -*** ../vim-7.2.166/src/structs.h 2008-11-15 16:05:30.000000000 +0100 ---- src/structs.h 2009-05-05 18:20:36.000000000 +0200 -*************** -*** 33,41 **** - } pos_T; - - #ifdef FEAT_VIRTUALEDIT -! # define INIT_POS_T {0, 0, 0} - #else -! # define INIT_POS_T {0, 0} - #endif - - /* ---- 33,41 ---- - } pos_T; - - #ifdef FEAT_VIRTUALEDIT -! # define INIT_POS_T(l, c, ca) {l, c, ca} - #else -! # define INIT_POS_T(l, c, ca) {l, c} - #endif - - /* -*************** -*** 1166,1172 **** - char_u *b_fname; /* current file name */ - - #ifdef UNIX -! int b_dev; /* device number (-1 if not set) */ - ino_t b_ino; /* inode number */ - #endif - #ifdef FEAT_CW_EDITOR ---- 1166,1172 ---- - char_u *b_fname; /* current file name */ - - #ifdef UNIX -! dev_t b_dev; /* device number (-1 if not set) */ - ino_t b_ino; /* inode number */ - #endif - #ifdef FEAT_CW_EDITOR -*************** -*** 1645,1651 **** ---- 1645,1655 ---- - #endif - #ifdef FEAT_DIFF - diff_T *tp_first_diff; -+ # ifdef S_SPLINT_S /* splint doesn't understand the array of pointers */ -+ buf_T **tp_diffbuf; -+ # else - buf_T *(tp_diffbuf[DB_COUNT]); -+ # endif - int tp_diff_invalid; /* list of diffs is outdated */ - #endif - frame_T *tp_snapshot; /* window layout snapshot */ -*** ../vim-7.2.166/src/version.c 2009-04-29 18:44:38.000000000 +0200 ---- src/version.c 2009-05-13 12:06:36.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 167, - /**/ - --- -Snoring is prohibited unless all bedroom windows are closed and securely -locked. - [real standing law in Massachusetts, 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.168 --- a/components/vim/vim72-patches/7.2.168 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.168 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.168 -Problem: When no ctags program can be found, "make tags" attempts to - execute the first C file. -Solution: Default to "ctags" when no ctags program can be found. -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.2.167/src/configure.in 2009-04-22 17:50:53.000000000 +0200 ---- src/configure.in 2009-05-05 17:46:45.000000000 +0200 -*************** -*** 2968,2974 **** - dnl Link with xpg4, it is said to make Korean locale working - AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,) - -! dnl Check how we can run ctags - dnl --version for Exuberant ctags (preferred) - dnl Add --fields=+S to get function signatures for omni completion. - dnl -t for typedefs (many ctags have this) ---- 2968,2974 ---- - dnl Link with xpg4, it is said to make Korean locale working - AC_CHECK_LIB(xpg4, _xpg4_setrunelocale, [LIBS="$LIBS -lxpg4"],,) - -! dnl Check how we can run ctags. Default to "ctags" when nothing works. - dnl --version for Exuberant ctags (preferred) - dnl Add --fields=+S to get function signatures for omni completion. - dnl -t for typedefs (many ctags have this) -*************** -*** 2980,2985 **** ---- 2980,2986 ---- - if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&AC_FD_CC 2>&1; then - TAGPRG="ctags -I INIT+ --fields=+S" - else -+ TAGPRG="ctags" - (eval etags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags" - (eval etags -c /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="etags -c" - (eval ctags /dev/null) < /dev/null 1>&AC_FD_CC 2>&1 && TAGPRG="ctags" -*** ../vim-7.2.167/src/auto/configure 2009-04-22 17:50:53.000000000 +0200 ---- src/auto/configure 2009-05-13 14:38:10.000000000 +0200 -*************** -*** 15707,15712 **** ---- 15723,15729 ---- - if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then - TAGPRG="ctags -I INIT+ --fields=+S" - else -+ TAGPRG="ctags" - (eval etags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags" - (eval etags -c /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="etags -c" - (eval ctags /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags" -*** ../vim-7.2.167/src/version.c 2009-05-13 12:46:36.000000000 +0200 ---- src/version.c 2009-05-13 14:46:35.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 168, - /**/ - --- -Zen Microsystems: we're the om in .commmmmmmmm - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.169 --- a/components/vim/vim72-patches/7.2.169 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1214 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.169 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.169 -Problem: Splint complains about a lot of things. -Solution: Add type casts, #ifdefs and other changes to avoid warnings. - Change colnr_T from unsigned to int. Avoids mistakes with - subtracting columns. -Files: src/cleanlint.vim, src/diff.c, src/edit.c, src/ex_cmds.c, - src/ex_cmds2.c, src/ex_docmd.c, src/proto/ex_cmds.pro, - src/proto/spell.pro, src/quickfix.c, src/spell.c, src/structs.h, - src/term.h, src/vim.h - - -*** ../vim-7.2.168/src/cleanlint.vim 2009-05-13 12:46:36.000000000 +0200 ---- src/cleanlint.vim 2009-05-13 18:03:11.000000000 +0200 -*************** -*** 1,27 **** - " Vim tool: Filter output of splint - " - " Maintainer: Bram Moolenaar -! " Last Change: 2009 May 05 - - " Usage: redirect output of "make lint" to a file, edit that file with Vim and - " :call CleanLint() - " This deletes irrelevant messages. What remains might be valid warnings. - - fun! CleanLint() -- g/^ Types are incompatible/lockmarks d - g/Assignment of dev_t to __dev_t:/lockmarks d - g/Assignment of __dev_t to dev_t:/lockmarks d - g/Operands of == have incompatible types (__dev_t, dev_t): /lockmarks d -! g/Operands of == have incompatible types (unsigned int, int): /lockmarks d - g/Assignment of char to char_u: /lockmarks d - g/Assignment of unsigned int to int: /lockmarks d -! g/Assignment of colnr_T to int: /lockmarks d - g/Assignment of int to char_u: /lockmarks d - g/Function .* expects arg . to be wint_t gets int: /lockmarks d -! g/^digraph.c.*digraphdefault.*is type char, expects char_u:/lockmarks d - g/^digraph.c.*Additional initialization errors for digraphdefault not reported/lockmarks d - g/Function strncasecmp expects arg 3 to be int gets size_t: /lockmarks d - g/ To ignore signs in type comparisons use +ignoresigns/lockmarks d - g/ To allow arbitrary integral types to match any integral type, use +matchanyintegral./lockmarks d - g/ To allow arbitrary integral types to match long unsigned, use +longintegral./lockmarks d - endfun ---- 1,32 ---- - " Vim tool: Filter output of splint - " - " Maintainer: Bram Moolenaar -! " Last Change: 2009 May 13 - - " Usage: redirect output of "make lint" to a file, edit that file with Vim and - " :call CleanLint() - " This deletes irrelevant messages. What remains might be valid warnings. - - fun! CleanLint() - g/Assignment of dev_t to __dev_t:/lockmarks d - g/Assignment of __dev_t to dev_t:/lockmarks d - g/Operands of == have incompatible types (__dev_t, dev_t): /lockmarks d -! g/Operands of == have incompatible types (char_u, int): /lockmarks d - g/Assignment of char to char_u: /lockmarks d - g/Assignment of unsigned int to int: /lockmarks d -! g/Assignment of int to unsigned int: /lockmarks d -! g/Assignment of unsigned int to long int: /lockmarks d - g/Assignment of int to char_u: /lockmarks d - g/Function .* expects arg . to be wint_t gets int: /lockmarks d -! g/Function .* expects arg . to be size_t gets int: /lockmarks d -! g/Initial value of .* is type char, expects char_u: /lockmarks d -! g/^ex_cmds.h:.* Function types are inconsistent. Parameter 1 is implicitly temp, but unqualified in assigned function:/lockmarks d -! g/^ex_docmd.c:.* nospec_str/lockmarks d - g/^digraph.c.*Additional initialization errors for digraphdefault not reported/lockmarks d - g/Function strncasecmp expects arg 3 to be int gets size_t: /lockmarks d -+ g/^ Types are incompatible/lockmarks d - g/ To ignore signs in type comparisons use +ignoresigns/lockmarks d - g/ To allow arbitrary integral types to match any integral type, use +matchanyintegral./lockmarks d - g/ To allow arbitrary integral types to match long unsigned, use +longintegral./lockmarks d -+ g+ A variable is declared but never used. Use /.@unused@./ in front of declaration to suppress message.+lockmarks d - endfun -*** ../vim-7.2.168/src/diff.c 2009-03-11 12:45:44.000000000 +0100 ---- src/diff.c 2009-05-13 16:16:11.000000000 +0200 -*************** -*** 827,832 **** ---- 827,833 ---- - char_u *tmp_diff; - { - char_u *cmd; -+ size_t len; - - #ifdef FEAT_EVAL - if (*p_dex != NUL) -*************** -*** 835,842 **** - else - #endif - { -! cmd = alloc((unsigned)(STRLEN(tmp_orig) + STRLEN(tmp_new) -! + STRLEN(tmp_diff) + STRLEN(p_srr) + 27)); - if (cmd != NULL) - { - /* We don't want $DIFF_OPTIONS to get in the way. */ ---- 836,844 ---- - else - #endif - { -! len = STRLEN(tmp_orig) + STRLEN(tmp_new) -! + STRLEN(tmp_diff) + STRLEN(p_srr) + 27; -! cmd = alloc((unsigned)len); - if (cmd != NULL) - { - /* We don't want $DIFF_OPTIONS to get in the way. */ -*************** -*** 846,852 **** - /* Build the diff command and execute it. Always use -a, binary - * differences are of no use. Ignore errors, diff returns - * non-zero when differences have been found. */ -! sprintf((char *)cmd, "diff %s%s%s%s%s %s", - diff_a_works == FALSE ? "" : "-a ", - #if defined(MSWIN) || defined(MSDOS) - diff_bin_works == TRUE ? "--binary " : "", ---- 848,854 ---- - /* Build the diff command and execute it. Always use -a, binary - * differences are of no use. Ignore errors, diff returns - * non-zero when differences have been found. */ -! vim_snprintf((char *)cmd, len, "diff %s%s%s%s%s %s", - diff_a_works == FALSE ? "" : "-a ", - #if defined(MSWIN) || defined(MSDOS) - diff_bin_works == TRUE ? "--binary " : "", -*************** -*** 856,862 **** - (diff_flags & DIFF_IWHITE) ? "-b " : "", - (diff_flags & DIFF_ICASE) ? "-i " : "", - tmp_orig, tmp_new); -! append_redir(cmd, p_srr, tmp_diff); - #ifdef FEAT_AUTOCMD - block_autocmds(); /* Avoid ShellCmdPost stuff */ - #endif ---- 858,864 ---- - (diff_flags & DIFF_IWHITE) ? "-b " : "", - (diff_flags & DIFF_ICASE) ? "-i " : "", - tmp_orig, tmp_new); -! append_redir(cmd, (int)len, p_srr, tmp_diff); - #ifdef FEAT_AUTOCMD - block_autocmds(); /* Avoid ShellCmdPost stuff */ - #endif -*************** -*** 881,886 **** ---- 883,889 ---- - char_u *tmp_orig; /* name of original temp file */ - char_u *tmp_new; /* name of patched temp file */ - char_u *buf = NULL; -+ size_t buflen; - win_T *old_curwin = curwin; - char_u *newname = NULL; /* name of patched file buffer */ - #ifdef UNIX -*************** -*** 920,930 **** - /* Get the absolute path of the patchfile, changing directory below. */ - fullname = FullName_save(eap->arg, FALSE); - #endif -! buf = alloc((unsigned)(STRLEN(tmp_orig) + ( - # ifdef UNIX - fullname != NULL ? STRLEN(fullname) : - # endif -! STRLEN(eap->arg)) + STRLEN(tmp_new) + 16)); - if (buf == NULL) - goto theend; - ---- 923,934 ---- - /* Get the absolute path of the patchfile, changing directory below. */ - fullname = FullName_save(eap->arg, FALSE); - #endif -! buflen = STRLEN(tmp_orig) + ( - # ifdef UNIX - fullname != NULL ? STRLEN(fullname) : - # endif -! STRLEN(eap->arg)) + STRLEN(tmp_new) + 16; -! buf = alloc((unsigned)buflen); - if (buf == NULL) - goto theend; - -*************** -*** 961,967 **** - { - /* Build the patch command and execute it. Ignore errors. Switch to - * cooked mode to allow the user to respond to prompts. */ -! sprintf((char *)buf, "patch -o %s %s < \"%s\"", tmp_new, tmp_orig, - # ifdef UNIX - fullname != NULL ? fullname : - # endif ---- 965,972 ---- - { - /* Build the patch command and execute it. Ignore errors. Switch to - * cooked mode to allow the user to respond to prompts. */ -! vim_snprintf((char *)buf, buflen, "patch -o %s %s < \"%s\"", -! tmp_new, tmp_orig, - # ifdef UNIX - fullname != NULL ? fullname : - # endif -*** ../vim-7.2.168/src/edit.c 2009-05-13 12:46:36.000000000 +0200 ---- src/edit.c 2009-05-13 18:29:21.000000000 +0200 -*************** -*** 169,175 **** - static int ins_compl_key2count __ARGS((int c)); - static int ins_compl_use_match __ARGS((int c)); - static int ins_complete __ARGS((int c)); -! static int quote_meta __ARGS((char_u *dest, char_u *str, int len)); - #endif /* FEAT_INS_EXPAND */ - - #define BACKSPACE_CHAR 1 ---- 169,175 ---- - static int ins_compl_key2count __ARGS((int c)); - static int ins_compl_use_match __ARGS((int c)); - static int ins_complete __ARGS((int c)); -! static unsigned quote_meta __ARGS((char_u *dest, char_u *str, int len)); - #endif /* FEAT_INS_EXPAND */ - - #define BACKSPACE_CHAR 1 -*************** -*** 757,763 **** - * there is nothing to add, CTRL-L works like CTRL-P then. */ - if (c == Ctrl_L - && (ctrl_x_mode != CTRL_X_WHOLE_LINE -! || STRLEN(compl_shown_match->cp_str) - > curwin->w_cursor.col - compl_col)) - { - ins_compl_addfrommatch(); ---- 757,763 ---- - * there is nothing to add, CTRL-L works like CTRL-P then. */ - if (c == Ctrl_L - && (ctrl_x_mode != CTRL_X_WHOLE_LINE -! || (int)STRLEN(compl_shown_match->cp_str) - > curwin->w_cursor.col - compl_col)) - { - ins_compl_addfrommatch(); -*************** -*** 3837,3843 **** ---- 3837,3847 ---- - char_u *word; - int icase = FALSE; - int adup = FALSE; -+ #ifdef S_SPLINT_S /* splint doesn't parse array of pointers correctly */ -+ char_u **cptext; -+ #else - char_u *(cptext[CPT_COUNT]); -+ #endif - - if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL) - { -*************** -*** 3994,4000 **** - else if (*e_cpt == ']' || *e_cpt == 't') - { - type = CTRL_X_TAGS; -! sprintf((char*)IObuff, _("Scanning tags.")); - (void)msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - else ---- 3998,4004 ---- - else if (*e_cpt == ']' || *e_cpt == 't') - { - type = CTRL_X_TAGS; -! vim_snprintf((char *)IObuff, IOSIZE, _("Scanning tags.")); - (void)msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R)); - } - else -*************** -*** 4093,4099 **** - case CTRL_X_SPELL: - #ifdef FEAT_SPELL - num_matches = expand_spelling(first_match_pos.lnum, -! first_match_pos.col, compl_pattern, &matches); - if (num_matches > 0) - ins_compl_add_matches(num_matches, matches, p_ic); - #endif ---- 4097,4103 ---- - case CTRL_X_SPELL: - #ifdef FEAT_SPELL - num_matches = expand_spelling(first_match_pos.lnum, -! compl_pattern, &matches); - if (num_matches > 0) - ins_compl_add_matches(num_matches, matches, p_ic); - #endif -*************** -*** 4803,4812 **** - { - char_u *prefix = (char_u *)"\\<"; - -! /* we need 3 extra chars, 1 for the NUL and -! * 2 >= strlen(prefix) -- Acevedo */ - compl_pattern = alloc(quote_meta(NULL, line + compl_col, -! compl_length) + 3); - if (compl_pattern == NULL) - return FAIL; - if (!vim_iswordp(line + compl_col) ---- 4807,4815 ---- - { - char_u *prefix = (char_u *)"\\<"; - -! /* we need up to 2 extra chars for the prefix */ - compl_pattern = alloc(quote_meta(NULL, line + compl_col, -! compl_length) + 2); - if (compl_pattern == NULL) - return FAIL; - if (!vim_iswordp(line + compl_col) -*************** -*** 4881,4887 **** - else - { - compl_pattern = alloc(quote_meta(NULL, line + compl_col, -! compl_length) + 3); - if (compl_pattern == NULL) - return FAIL; - STRCPY((char *)compl_pattern, "\\<"); ---- 4884,4890 ---- - else - { - compl_pattern = alloc(quote_meta(NULL, line + compl_col, -! compl_length) + 2); - if (compl_pattern == NULL) - return FAIL; - STRCPY((char *)compl_pattern, "\\<"); -*************** -*** 4963,4969 **** - if (col < 0) - col = curs_col; - compl_col = col; -! if ((colnr_T)compl_col > curs_col) - compl_col = curs_col; - - /* Setup variables for completion. Need to obtain "line" again, ---- 4966,4972 ---- - if (col < 0) - col = curs_col; - compl_col = col; -! if (compl_col > curs_col) - compl_col = curs_col; - - /* Setup variables for completion. Need to obtain "line" again, -*************** -*** 5236,5250 **** - * a backslash) the metachars, and dest would be NUL terminated. - * Returns the length (needed) of dest - */ -! static int - quote_meta(dest, src, len) - char_u *dest; - char_u *src; - int len; - { -! int m; - -! for (m = len; --len >= 0; src++) - { - switch (*src) - { ---- 5239,5253 ---- - * a backslash) the metachars, and dest would be NUL terminated. - * Returns the length (needed) of dest - */ -! static unsigned - quote_meta(dest, src, len) - char_u *dest; - char_u *src; - int len; - { -! unsigned m = (unsigned)len + 1; /* one extra for the NUL */ - -! for ( ; --len >= 0; src++) - { - switch (*src) - { -*************** -*** 6073,6079 **** - * in 'formatoptions' and there is a single character before the cursor. - * Otherwise the line would be broken and when typing another non-white - * next they are not joined back together. */ -! wasatend = (pos.col == STRLEN(old)); - if (*old != NUL && !trailblank && wasatend) - { - dec_cursor(); ---- 6076,6082 ---- - * in 'formatoptions' and there is a single character before the cursor. - * Otherwise the line would be broken and when typing another non-white - * next they are not joined back together. */ -! wasatend = (pos.col == (colnr_T)STRLEN(old)); - if (*old != NUL && !trailblank && wasatend) - { - dec_cursor(); -*************** -*** 6250,6256 **** - * three digits. */ - if (VIM_ISDIGIT(c)) - { -! sprintf((char *)buf, "%03d", c); - AppendToRedobuff(buf); - } - else ---- 6253,6259 ---- - * three digits. */ - if (VIM_ISDIGIT(c)) - { -! vim_snprintf((char *)buf, sizeof(buf), "%03d", c); - AppendToRedobuff(buf); - } - else -*************** -*** 6453,6462 **** - * deleted characters. */ - if (VIsual_active && VIsual.lnum == curwin->w_cursor.lnum) - { -! cc = (int)STRLEN(ml_get_curline()); -! if (VIsual.col > (colnr_T)cc) - { -! VIsual.col = cc; - # ifdef FEAT_VIRTUALEDIT - VIsual.coladd = 0; - # endif ---- 6457,6467 ---- - * deleted characters. */ - if (VIsual_active && VIsual.lnum == curwin->w_cursor.lnum) - { -! int len = (int)STRLEN(ml_get_curline()); -! -! if (VIsual.col > len) - { -! VIsual.col = len; - # ifdef FEAT_VIRTUALEDIT - VIsual.coladd = 0; - # endif -*************** -*** 8315,8320 **** ---- 8320,8326 ---- - linenr_T lnum; - int cc; - int temp = 0; /* init for GCC */ -+ colnr_T save_col; - colnr_T mincol; - int did_backspace = FALSE; - int in_indent; -*************** -*** 8472,8484 **** - */ - while (cc > 0) - { -! temp = curwin->w_cursor.col; - #ifdef FEAT_MBYTE - mb_replace_pop_ins(cc); - #else - ins_char(cc); - #endif -! curwin->w_cursor.col = temp; - cc = replace_pop(); - } - /* restore the characters that NL replaced */ ---- 8478,8490 ---- - */ - while (cc > 0) - { -! save_col = curwin->w_cursor.col; - #ifdef FEAT_MBYTE - mb_replace_pop_ins(cc); - #else - ins_char(cc); - #endif -! curwin->w_cursor.col = save_col; - cc = replace_pop(); - } - /* restore the characters that NL replaced */ -*************** -*** 8510,8520 **** - #endif - ) - { -! temp = curwin->w_cursor.col; - beginline(BL_WHITE); - if (curwin->w_cursor.col < (colnr_T)temp) - mincol = curwin->w_cursor.col; -! curwin->w_cursor.col = temp; - } - - /* ---- 8516,8526 ---- - #endif - ) - { -! save_col = curwin->w_cursor.col; - beginline(BL_WHITE); - if (curwin->w_cursor.col < (colnr_T)temp) - mincol = curwin->w_cursor.col; -! curwin->w_cursor.col = save_col; - } - - /* -*** ../vim-7.2.168/src/ex_cmds.c 2009-05-13 12:46:36.000000000 +0200 ---- src/ex_cmds.c 2009-05-13 18:24:18.000000000 +0200 -*************** -*** 87,99 **** - )) - { - transchar_nonprint(buf3, c); -! sprintf(buf1, " <%s>", (char *)buf3); - } - else - buf1[0] = NUL; - #ifndef EBCDIC - if (c >= 0x80) -! sprintf(buf2, " ", transchar(c & 0x7f)); - else - #endif - buf2[0] = NUL; ---- 87,100 ---- - )) - { - transchar_nonprint(buf3, c); -! vim_snprintf(buf1, sizeof(buf1), " <%s>", (char *)buf3); - } - else - buf1[0] = NUL; - #ifndef EBCDIC - if (c >= 0x80) -! vim_snprintf(buf2, sizeof(buf2), " ", -! (char *)transchar(c & 0x7f)); - else - #endif - buf2[0] = NUL; -*************** -*** 358,364 **** - linenr_T lnum; - long maxlen = 0; - sorti_T *nrs; -! size_t count = eap->line2 - eap->line1 + 1; - size_t i; - char_u *p; - char_u *s; ---- 359,365 ---- - linenr_T lnum; - long maxlen = 0; - sorti_T *nrs; -! size_t count = (size_t)(eap->line2 - eap->line1 + 1); - size_t i; - char_u *p; - char_u *s; -*************** -*** 957,963 **** - } - len += (int)STRLEN(prevcmd); - } -! if ((t = alloc(len)) == NULL) - { - vim_free(newcmd); - return; ---- 958,964 ---- - } - len += (int)STRLEN(prevcmd); - } -! if ((t = alloc((unsigned)len)) == NULL) - { - vim_free(newcmd); - return; -*************** -*** 1548,1554 **** - * redirecting input and/or output. - */ - if (itmp != NULL || otmp != NULL) -! sprintf((char *)buf, "(%s)", (char *)cmd); - else - STRCPY(buf, cmd); - if (itmp != NULL) ---- 1549,1555 ---- - * redirecting input and/or output. - */ - if (itmp != NULL || otmp != NULL) -! vim_snprintf((char *)buf, len, "(%s)", (char *)cmd); - else - STRCPY(buf, cmd); - if (itmp != NULL) -*************** -*** 1597,1633 **** - } - #endif - if (otmp != NULL) -! append_redir(buf, p_srr, otmp); - - return buf; - } - - /* -! * Append output redirection for file "fname" to the end of string buffer "buf" - * Works with the 'shellredir' and 'shellpipe' options. - * The caller should make sure that there is enough room: - * STRLEN(opt) + STRLEN(fname) + 3 - */ - void -! append_redir(buf, opt, fname) - char_u *buf; - char_u *opt; - char_u *fname; - { - char_u *p; - -! buf += STRLEN(buf); - /* find "%s", skipping "%%" */ - for (p = opt; (p = vim_strchr(p, '%')) != NULL; ++p) - if (p[1] == 's') - break; - if (p != NULL) - { -! *buf = ' '; /* not really needed? Not with sh, ksh or bash */ -! sprintf((char *)buf + 1, (char *)opt, (char *)fname); - } - else -! sprintf((char *)buf, - #ifdef FEAT_QUICKFIX - # ifndef RISCOS - opt != p_sp ? " %s%s" : ---- 1598,1638 ---- - } - #endif - if (otmp != NULL) -! append_redir(buf, (int)len, p_srr, otmp); - - return buf; - } - - /* -! * Append output redirection for file "fname" to the end of string buffer -! * "buf[buflen]" - * Works with the 'shellredir' and 'shellpipe' options. - * The caller should make sure that there is enough room: - * STRLEN(opt) + STRLEN(fname) + 3 - */ - void -! append_redir(buf, buflen, opt, fname) - char_u *buf; -+ int buflen; - char_u *opt; - char_u *fname; - { - char_u *p; -+ char_u *end; - -! end = buf + STRLEN(buf); - /* find "%s", skipping "%%" */ - for (p = opt; (p = vim_strchr(p, '%')) != NULL; ++p) - if (p[1] == 's') - break; - if (p != NULL) - { -! *end = ' '; /* not really needed? Not with sh, ksh or bash */ -! vim_snprintf((char *)end + 1, (size_t)(buflen - (end + 1 - buf)), -! (char *)opt, (char *)fname); - } - else -! vim_snprintf((char *)end, (size_t)(buflen - (end - buf)), - #ifdef FEAT_QUICKFIX - # ifndef RISCOS - opt != p_sp ? " %s%s" : -*************** -*** 2390,2396 **** - - if (curwin->w_p_nu || use_number) - { -! sprintf((char *)numbuf, "%*ld ", number_width(curwin), (long)lnum); - msg_puts_attr(numbuf, hl_attr(HLF_N)); /* Highlight line nrs */ - } - msg_prt_line(ml_get(lnum), list); ---- 2395,2402 ---- - - if (curwin->w_p_nu || use_number) - { -! vim_snprintf((char *)numbuf, sizeof(numbuf), -! "%*ld ", number_width(curwin), (long)lnum); - msg_puts_attr(numbuf, hl_attr(HLF_N)); /* Highlight line nrs */ - } - msg_prt_line(ml_get(lnum), list); -*************** -*** 4486,4492 **** - char_u *p1; - int did_sub = FALSE; - int lastone; -! unsigned len, needed_len; - long nmatch_tl = 0; /* nr of lines matched below lnum */ - int do_again; /* do it again after joining lines */ - int skip_match = FALSE; ---- 4492,4498 ---- - char_u *p1; - int did_sub = FALSE; - int lastone; -! int len, copy_len, needed_len; - long nmatch_tl = 0; /* nr of lines matched below lnum */ - int do_again; /* do it again after joining lines */ - int skip_match = FALSE; -*************** -*** 4631,4636 **** ---- 4637,4644 ---- - - if (do_ask) - { -+ int typed; -+ - /* change State to CONFIRM, so that the mouse works - * properly */ - save_State = State; -*************** -*** 4669,4675 **** - resp = getexmodeline('?', NULL, 0); - if (resp != NULL) - { -! i = *resp; - vim_free(resp); - } - } ---- 4677,4683 ---- - resp = getexmodeline('?', NULL, 0); - if (resp != NULL) - { -! typed = *resp; - vim_free(resp); - } - } -*************** -*** 4721,4727 **** - #endif - ++no_mapping; /* don't map this key */ - ++allow_keys; /* allow special keys */ -! i = plain_vgetc(); - --allow_keys; - --no_mapping; - ---- 4729,4735 ---- - #endif - ++no_mapping; /* don't map this key */ - ++allow_keys; /* allow special keys */ -! typed = plain_vgetc(); - --allow_keys; - --no_mapping; - -*************** -*** 4732,4766 **** - } - - need_wait_return = FALSE; /* no hit-return prompt */ -! if (i == 'q' || i == ESC || i == Ctrl_C - #ifdef UNIX -! || i == intr_char - #endif - ) - { - got_quit = TRUE; - break; - } -! if (i == 'n') - break; -! if (i == 'y') - break; -! if (i == 'l') - { - /* last: replace and then stop */ - do_all = FALSE; - line2 = lnum; - break; - } -! if (i == 'a') - { - do_ask = FALSE; - break; - } - #ifdef FEAT_INS_EXPAND -! if (i == Ctrl_E) - scrollup_clamp(); -! else if (i == Ctrl_Y) - scrolldown_clamp(); - #endif - } ---- 4740,4774 ---- - } - - need_wait_return = FALSE; /* no hit-return prompt */ -! if (typed == 'q' || typed == ESC || typed == Ctrl_C - #ifdef UNIX -! || typed == intr_char - #endif - ) - { - got_quit = TRUE; - break; - } -! if (typed == 'n') - break; -! if (typed == 'y') - break; -! if (typed == 'l') - { - /* last: replace and then stop */ - do_all = FALSE; - line2 = lnum; - break; - } -! if (typed == 'a') - { - do_ask = FALSE; - break; - } - #ifdef FEAT_INS_EXPAND -! if (typed == Ctrl_E) - scrollup_clamp(); -! else if (typed == Ctrl_Y) - scrolldown_clamp(); - #endif - } -*************** -*** 4771,4777 **** - if (vim_strchr(p_cpo, CPO_UNDO) != NULL) - --no_u_sync; - -! if (i == 'n') - { - /* For a multi-line match, put matchcol at the NUL at - * the end of the line and set nmatch to one, so that ---- 4779,4785 ---- - if (vim_strchr(p_cpo, CPO_UNDO) != NULL) - --no_u_sync; - -! if (typed == 'n') - { - /* For a multi-line match, put matchcol at the NUL at - * the end of the line and set nmatch to one, so that -*************** -*** 4822,4830 **** - p1 = ml_get(sub_firstlnum + nmatch - 1); - nmatch_tl += nmatch - 1; - } -! i = regmatch.startpos[0].col - copycol; -! needed_len = i + ((unsigned)STRLEN(p1) - regmatch.endpos[0].col) -! + sublen + 1; - if (new_start == NULL) - { - /* ---- 4830,4838 ---- - p1 = ml_get(sub_firstlnum + nmatch - 1); - nmatch_tl += nmatch - 1; - } -! copy_len = regmatch.startpos[0].col - copycol; -! needed_len = copy_len + ((unsigned)STRLEN(p1) -! - regmatch.endpos[0].col) + sublen + 1; - if (new_start == NULL) - { - /* -*************** -*** 4847,4853 **** - */ - len = (unsigned)STRLEN(new_start); - needed_len += len; -! if (needed_len > new_start_len) - { - new_start_len = needed_len + 50; - if ((p1 = alloc_check(new_start_len)) == NULL) ---- 4855,4861 ---- - */ - len = (unsigned)STRLEN(new_start); - needed_len += len; -! if (needed_len > (int)new_start_len) - { - new_start_len = needed_len + 50; - if ((p1 = alloc_check(new_start_len)) == NULL) -*************** -*** 4865,4872 **** - /* - * copy the text up to the part that matched - */ -! mch_memmove(new_end, sub_firstline + copycol, (size_t)i); -! new_end += i; - - (void)vim_regsub_multi(®match, - sub_firstlnum - regmatch.startpos[0].lnum, ---- 4873,4880 ---- - /* - * copy the text up to the part that matched - */ -! mch_memmove(new_end, sub_firstline + copycol, (size_t)copy_len); -! new_end += copy_len; - - (void)vim_regsub_multi(®match, - sub_firstlnum - regmatch.startpos[0].lnum, -*************** -*** 5768,5773 **** ---- 5776,5785 ---- - { - char_u *s, *d; - int i; -+ #ifdef S_SPLINT_S /* splint doesn't understand array of pointers */ -+ static char **mtable; -+ static char **rtable; -+ #else - static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*", - "/*", "/\\*", "\"*", "**", - "/\\(\\)", -*************** -*** 5782,5787 **** ---- 5794,5800 ---- - "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=", - "\\[count]", "\\[quotex]", "\\[range]", - "\\[pattern]", "\\\\bar", "/\\\\%\\$"}; -+ #endif - int flags; - - d = IObuff; /* assume IObuff is long enough! */ -*************** -*** 5790,5796 **** - * Recognize a few exceptions to the rule. Some strings that contain '*' - * with "star". Otherwise '*' is recognized as a wildcard. - */ -! for (i = sizeof(mtable) / sizeof(char *); --i >= 0; ) - if (STRCMP(arg, mtable[i]) == 0) - { - STRCPY(d, rtable[i]); ---- 5803,5809 ---- - * Recognize a few exceptions to the rule. Some strings that contain '*' - * with "star". Otherwise '*' is recognized as a wildcard. - */ -! for (i = (int)(sizeof(mtable) / sizeof(char *)); --i >= 0; ) - if (STRCMP(arg, mtable[i]) == 0) - { - STRCPY(d, rtable[i]); -*** ../vim-7.2.168/src/ex_cmds2.c 2009-02-05 20:47:14.000000000 +0100 ---- src/ex_cmds2.c 2009-05-13 16:22:33.000000000 +0200 -*************** -*** 3373,3379 **** - p = skipwhite(sp->nextline); - if (*p != '\\') - break; -! s = alloc((int)(STRLEN(line) + STRLEN(p))); - if (s == NULL) /* out of memory */ - break; - STRCPY(s, line); ---- 3373,3379 ---- - p = skipwhite(sp->nextline); - if (*p != '\\') - break; -! s = alloc((unsigned)(STRLEN(line) + STRLEN(p))); - if (s == NULL) /* out of memory */ - break; - STRCPY(s, line); -*** ../vim-7.2.168/src/ex_docmd.c 2009-04-29 18:44:38.000000000 +0200 ---- src/ex_docmd.c 2009-05-13 17:56:44.000000000 +0200 -*************** -*** 2737,2743 **** - int i; - - for (i = 0; cmd[i] != NUL; ++i) -! if (cmd[i] != (*pp)[i]) - break; - if (i >= len && !isalpha((*pp)[i])) - { ---- 2737,2743 ---- - int i; - - for (i = 0; cmd[i] != NUL; ++i) -! if (((char_u *)cmd)[i] != (*pp)[i]) - break; - if (i >= len && !isalpha((*pp)[i])) - { -*************** -*** 2803,2809 **** - /* Check for ":dl", ":dell", etc. to ":deletel": that's - * :delete with the 'l' flag. Same for 'p'. */ - for (i = 0; i < len; ++i) -! if (eap->cmd[i] != "delete"[i]) - break; - if (i == len - 1) - { ---- 2803,2809 ---- - /* Check for ":dl", ":dell", etc. to ":deletel": that's - * :delete with the 'l' flag. Same for 'p'. */ - for (i = 0; i < len; ++i) -! if (eap->cmd[i] != ((char_u *)"delete")[i]) - break; - if (i == len - 1) - { -*************** -*** 3823,3829 **** - char_u *cmd; - int *ctx; /* pointer to xp_context or NULL */ - { -! int delim; - - while (vim_strchr((char_u *)" \t0123456789.$%'/?-+,;", *cmd) != NULL) - { ---- 3823,3829 ---- - char_u *cmd; - int *ctx; /* pointer to xp_context or NULL */ - { -! unsigned delim; - - while (vim_strchr((char_u *)" \t0123456789.$%'/?-+,;", *cmd) != NULL) - { -*************** -*** 9417,9423 **** - { - int len; - int i; -! static char *(spec_str[]) = { - "%", - #define SPEC_PERC 0 - "#", ---- 9417,9429 ---- - { - int len; - int i; -! #ifdef S_SPLINT_S /* splint can't handle array of pointers */ -! static char **spec_str; -! static char *(nospec_str[]) -! #else -! static char *(spec_str[]) -! #endif -! = { - "%", - #define SPEC_PERC 0 - "#", -*************** -*** 9443,9451 **** - # define SPEC_CLIENT 9 - #endif - }; -- #define SPEC_COUNT (sizeof(spec_str) / sizeof(char *)) - -! for (i = 0; i < SPEC_COUNT; ++i) - { - len = (int)STRLEN(spec_str[i]); - if (STRNCMP(src, spec_str[i], len) == 0) ---- 9449,9456 ---- - # define SPEC_CLIENT 9 - #endif - }; - -! for (i = 0; i < (int)(sizeof(spec_str) / sizeof(char *)); ++i) - { - len = (int)STRLEN(spec_str[i]); - if (STRNCMP(src, spec_str[i], len) == 0) -*************** -*** 9796,9802 **** - } - - /* allocate memory */ -! retval = alloc(len + 1); - if (retval == NULL) - break; - } ---- 9801,9807 ---- - } - - /* allocate memory */ -! retval = alloc((unsigned)len + 1); - if (retval == NULL) - break; - } -*** ../vim-7.2.168/src/proto/ex_cmds.pro 2009-04-29 18:44:38.000000000 +0200 ---- src/proto/ex_cmds.pro 2009-05-13 15:53:39.000000000 +0200 -*************** -*** 9,15 **** - void do_bang __ARGS((int addr_count, exarg_T *eap, int forceit, int do_in, int do_out)); - void do_shell __ARGS((char_u *cmd, int flags)); - char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp)); -! void append_redir __ARGS((char_u *buf, char_u *opt, char_u *fname)); - int viminfo_error __ARGS((char *errnum, char *message, char_u *line)); - int read_viminfo __ARGS((char_u *file, int flags)); - void write_viminfo __ARGS((char_u *file, int forceit)); ---- 9,15 ---- - void do_bang __ARGS((int addr_count, exarg_T *eap, int forceit, int do_in, int do_out)); - void do_shell __ARGS((char_u *cmd, int flags)); - char_u *make_filter_cmd __ARGS((char_u *cmd, char_u *itmp, char_u *otmp)); -! void append_redir __ARGS((char_u *buf, int buflen, char_u *opt, char_u *fname)); - int viminfo_error __ARGS((char *errnum, char *message, char_u *line)); - int read_viminfo __ARGS((char_u *file, int flags)); - void write_viminfo __ARGS((char_u *file, int forceit)); -*** ../vim-7.2.168/src/proto/spell.pro 2007-05-05 19:19:19.000000000 +0200 ---- src/proto/spell.pro 2009-05-13 16:43:13.000000000 +0200 -*************** -*** 22,26 **** - char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf)); - int spell_word_start __ARGS((int startcol)); - void spell_expand_check_cap __ARGS((colnr_T col)); -! int expand_spelling __ARGS((linenr_T lnum, int col, char_u *pat, char_u ***matchp)); - /* vim: set ft=c : */ ---- 22,26 ---- - char_u *spell_to_word_end __ARGS((char_u *start, buf_T *buf)); - int spell_word_start __ARGS((int startcol)); - void spell_expand_check_cap __ARGS((colnr_T col)); -! int expand_spelling __ARGS((linenr_T lnum, char_u *pat, char_u ***matchp)); - /* vim: set ft=c : */ -*** ../vim-7.2.168/src/quickfix.c 2009-04-29 11:49:57.000000000 +0200 ---- src/quickfix.c 2009-05-13 15:53:18.000000000 +0200 -*************** -*** 2774,2780 **** - sprintf((char *)cmd, "%s%s%s", (char *)p_shq, (char *)eap->arg, - (char *)p_shq); - if (*p_sp != NUL) -! append_redir(cmd, p_sp, fname); - /* - * Output a newline if there's something else than the :make command that - * was typed (in which case the cursor is in column 0). ---- 2774,2780 ---- - sprintf((char *)cmd, "%s%s%s", (char *)p_shq, (char *)eap->arg, - (char *)p_shq); - if (*p_sp != NUL) -! append_redir(cmd, len, p_sp, fname); - /* - * Output a newline if there's something else than the :make command that - * was typed (in which case the cursor is in column 0). -*** ../vim-7.2.168/src/spell.c 2009-02-11 17:57:43.000000000 +0100 ---- src/spell.c 2009-05-13 16:31:15.000000000 +0200 -*************** -*** 16151,16161 **** - * Returns the number of matches. The matches are in "matchp[]", array of - * allocated strings. - */ -- /*ARGSUSED*/ - int -! expand_spelling(lnum, col, pat, matchp) - linenr_T lnum; -- int col; - char_u *pat; - char_u ***matchp; - { ---- 16151,16159 ---- - * Returns the number of matches. The matches are in "matchp[]", array of - * allocated strings. - */ - int -! expand_spelling(lnum, pat, matchp) - linenr_T lnum; - char_u *pat; - char_u ***matchp; - { -*** ../vim-7.2.168/src/structs.h 2009-05-13 12:46:36.000000000 +0200 ---- src/structs.h 2009-05-13 16:45:51.000000000 +0200 -*************** -*** 16,22 **** - */ - #if defined(SASC) && SASC < 658 - typedef long linenr_T; -! typedef unsigned colnr_T; - typedef unsigned short short_u; - #endif - ---- 16,22 ---- - */ - #if defined(SASC) && SASC < 658 - typedef long linenr_T; -! typedef int colnr_T; - typedef unsigned short short_u; - #endif - -*** ../vim-7.2.168/src/term.h 2005-03-16 10:53:56.000000000 +0100 ---- src/term.h 2009-05-13 17:27:41.000000000 +0200 -*************** -*** 96,102 **** ---- 96,106 ---- - * - there should be code in term.c to obtain the value from the termcap - */ - -+ #ifdef S_SPLINT_S /* splint doesn't understand array of pointers */ -+ extern char_u **term_strings; /* current terminal strings */ -+ #else - extern char_u *(term_strings[]); /* current terminal strings */ -+ #endif - - /* - * strings used for terminal -*** ../vim-7.2.168/src/vim.h 2009-04-29 18:44:38.000000000 +0200 ---- src/vim.h 2009-05-13 16:45:39.000000000 +0200 -*************** -*** 1460,1467 **** - # define PERROR(msg) perror(msg) - #endif - -! typedef long linenr_T; /* line number type */ -! typedef unsigned colnr_T; /* column number type */ - typedef unsigned short disptick_T; /* display tick type */ - - #define MAXLNUM (0x7fffffffL) /* maximum (invalid) line number */ ---- 1460,1467 ---- - # define PERROR(msg) perror(msg) - #endif - -! typedef long linenr_T; /* line number type */ -! typedef int colnr_T; /* column number type */ - typedef unsigned short disptick_T; /* display tick type */ - - #define MAXLNUM (0x7fffffffL) /* maximum (invalid) line number */ -*** ../vim-7.2.168/src/version.c 2009-05-13 14:48:55.000000000 +0200 ---- src/version.c 2009-05-13 18:44:28.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 169, - /**/ - --- -Females are strictly forbidden to appear unshaven in public. - [real standing law in New Mexico, 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.170 --- a/components/vim/vim72-patches/7.2.170 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.170 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.170 -Problem: Using b_dev while it was not set. (Dominique Pelle) -Solution: Add the b_dev_valid flag. -Files: src/buffer.c, src/fileio.c, src/structs.h - - -*** ../vim-7.2.169/src/buffer.c 2009-05-13 12:46:36.000000000 +0200 ---- src/buffer.c 2009-05-13 20:23:51.000000000 +0200 -*************** -*** 1678,1686 **** - buf->b_fname = buf->b_sfname; - #ifdef UNIX - if (st.st_dev == (dev_T)-1) -! buf->b_dev = -1; - else - { - buf->b_dev = st.st_dev; - buf->b_ino = st.st_ino; - } ---- 1678,1687 ---- - buf->b_fname = buf->b_sfname; - #ifdef UNIX - if (st.st_dev == (dev_T)-1) -! buf->b_dev_valid = FALSE; - else - { -+ buf->b_dev_valid = TRUE; - buf->b_dev = st.st_dev; - buf->b_ino = st.st_ino; - } -*************** -*** 2693,2701 **** - buf->b_fname = buf->b_sfname; - #ifdef UNIX - if (st.st_dev == (dev_T)-1) -! buf->b_dev = -1; - else - { - buf->b_dev = st.st_dev; - buf->b_ino = st.st_ino; - } ---- 2694,2703 ---- - buf->b_fname = buf->b_sfname; - #ifdef UNIX - if (st.st_dev == (dev_T)-1) -! buf->b_dev_valid = FALSE; - else - { -+ buf->b_dev_valid = TRUE; - buf->b_dev = st.st_dev; - buf->b_ino = st.st_ino; - } -*************** -*** 2889,2895 **** - /* If no struct stat given, get it now */ - if (stp == NULL) - { -! if (buf->b_dev < 0 || mch_stat((char *)ffname, &st) < 0) - st.st_dev = (dev_T)-1; - stp = &st; - } ---- 2891,2897 ---- - /* If no struct stat given, get it now */ - if (stp == NULL) - { -! if (!buf->b_dev_valid || mch_stat((char *)ffname, &st) < 0) - st.st_dev = (dev_T)-1; - stp = &st; - } -*************** -*** 2926,2936 **** - - if (buf->b_fname != NULL && mch_stat((char *)buf->b_fname, &st) >= 0) - { - buf->b_dev = st.st_dev; - buf->b_ino = st.st_ino; - } - else -! buf->b_dev = -1; - } - - /* ---- 2928,2939 ---- - - if (buf->b_fname != NULL && mch_stat((char *)buf->b_fname, &st) >= 0) - { -+ buf->b_dev_valid = TRUE; - buf->b_dev = st.st_dev; - buf->b_ino = st.st_ino; - } - else -! buf->b_dev_valid = FALSE; - } - - /* -*************** -*** 2941,2947 **** - buf_T *buf; - struct stat *stp; - { -! return (buf->b_dev >= 0 - && stp->st_dev == buf->b_dev - && stp->st_ino == buf->b_ino); - } ---- 2944,2950 ---- - buf_T *buf; - struct stat *stp; - { -! return (buf->b_dev_valid - && stp->st_dev == buf->b_dev - && stp->st_ino == buf->b_ino); - } -*** ../vim-7.2.169/src/fileio.c 2009-04-29 18:01:23.000000000 +0200 ---- src/fileio.c 2009-05-13 20:24:08.000000000 +0200 -*************** -*** 4416,4422 **** - # endif - buf_setino(buf); - } -! else if (buf->b_dev < 0) - /* Set the inode when creating a new file. */ - buf_setino(buf); - #endif ---- 4416,4422 ---- - # endif - buf_setino(buf); - } -! else if (!buf->b_dev_valid) - /* Set the inode when creating a new file. */ - buf_setino(buf); - #endif -*** ../vim-7.2.169/src/structs.h 2009-05-13 18:54:14.000000000 +0200 ---- src/structs.h 2009-05-13 20:24:54.000000000 +0200 -*************** -*** 1166,1172 **** - char_u *b_fname; /* current file name */ - - #ifdef UNIX -! dev_t b_dev; /* device number (-1 if not set) */ - ino_t b_ino; /* inode number */ - #endif - #ifdef FEAT_CW_EDITOR ---- 1166,1173 ---- - char_u *b_fname; /* current file name */ - - #ifdef UNIX -! int b_dev_valid; /* TRUE when b_dev has a valid number */ -! dev_t b_dev; /* device number */ - ino_t b_ino; /* inode number */ - #endif - #ifdef FEAT_CW_EDITOR -*** ../vim-7.2.169/src/version.c 2009-05-13 18:54:14.000000000 +0200 ---- src/version.c 2009-05-13 20:43:22.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 170, - /**/ - --- -A special cleaning ordinance bans housewives from hiding dirt and dust under a -rug in a dwelling. - [real standing law in Pennsylvania, 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.171 --- a/components/vim/vim72-patches/7.2.171 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.171 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.171 (after 7.2.169) -Problem: Compiler warnings. (Tony Mechelynck) -Solution: Add function prototype. (Patrick Texier) Init variable. -Files: src/ex_cmds.c - - -*** ../vim-7.2.170/src/ex_cmds.c 2009-05-13 18:54:14.000000000 +0200 ---- src/ex_cmds.c 2009-05-14 21:11:01.000000000 +0200 -*************** -*** 4637,4643 **** - - if (do_ask) - { -! int typed; - - /* change State to CONFIRM, so that the mouse works - * properly */ ---- 4635,4641 ---- - - if (do_ask) - { -! int typed = 0; - - /* change State to CONFIRM, so that the mouse works - * properly */ -*************** -*** 6553,6558 **** ---- 6549,6555 ---- - 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)); - static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev)); - -*************** -*** 6579,6586 **** - */ - static int - sign_cmd_idx(begin_cmd, end_cmd) -! char *begin_cmd; /* begin of sign subcmd */ -! char *end_cmd; /* just after sign subcmd */ - { - int idx; - char save = *end_cmd; ---- 6576,6583 ---- - */ - static int - sign_cmd_idx(begin_cmd, end_cmd) -! char_u *begin_cmd; /* begin of sign subcmd */ -! char_u *end_cmd; /* just after sign subcmd */ - { - int idx; - char save = *end_cmd; -*** ../vim-7.2.170/src/version.c 2009-05-13 20:47:07.000000000 +0200 ---- src/version.c 2009-05-14 21:49:22.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 171, - /**/ - --- -Living on Earth includes an annual free trip around the Sun. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.173 --- a/components/vim/vim72-patches/7.2.173 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,719 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.173 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.173 -Problem: Without lint there is no check for unused function arguments. -Solution: Use gcc -Wunused-parameter instead of lint. For a few files add - attributes to arguments that are known not to be used. -Files: src/auto/configure, src/buffer.c, src/charset.c, src/diff.c, - src/configure.in, src/config.h.in, src/edit.c, src/ex_cmds.c, - src/ex_cmds2.c, src/version.c, src/vim.h - - -*** ../vim-7.2.172/src/auto/configure 2009-05-13 14:48:55.000000000 +0200 ---- src/auto/configure 2009-05-14 22:08:12.000000000 +0200 -*************** -*** 10362,10367 **** ---- 10372,10427 ---- - - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -+ { $as_echo "$as_me:$LINENO: checking whether __attribute__((unused)) is allowed" >&5 -+ $as_echo_n "checking whether __attribute__((unused)) is allowed... " >&6; } -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include -+ int -+ main () -+ { -+ int x __attribute__((unused)); -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 -+ $as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF -+ #define HAVE_ATTRIBUTE_UNUSED 1 -+ _ACEOF -+ -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+ $as_echo "no" >&6; } -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ - if test "${ac_cv_header_elf_h+set}" = set; then - { $as_echo "$as_me:$LINENO: checking for elf.h" >&5 - $as_echo_n "checking for elf.h... " >&6; } -*** ../vim-7.2.172/src/buffer.c 2009-05-13 20:47:07.000000000 +0200 ---- src/buffer.c 2009-05-14 21:34:06.000000000 +0200 -*************** -*** 512,523 **** - * buf_freeall() - free all things allocated for a buffer that are related to - * the file. - */ -- /*ARGSUSED*/ - void - buf_freeall(buf, del_buf, wipe_buf) - buf_T *buf; -! int del_buf; /* buffer is going to be deleted */ -! int wipe_buf; /* buffer is going to be wiped out */ - { - #ifdef FEAT_AUTOCMD - int is_curbuf = (buf == curbuf); ---- 512,522 ---- - * buf_freeall() - free all things allocated for a buffer that are related to - * the file. - */ - void - buf_freeall(buf, del_buf, wipe_buf) - buf_T *buf; -! int del_buf UNUSED; /* buffer is going to be deleted */ -! int wipe_buf UNUSED; /* buffer is going to be wiped out */ - { - #ifdef FEAT_AUTOCMD - int is_curbuf = (buf == curbuf); -*************** -*** 2437,2447 **** - * another tab page. - * Returns NULL when there isn't any info. - */ -- /*ARGSUSED*/ - static wininfo_T * - find_wininfo(buf, skip_diff_buffer) - buf_T *buf; -! int skip_diff_buffer; - { - wininfo_T *wip; - ---- 2436,2445 ---- - * another tab page. - * Returns NULL when there isn't any info. - */ - static wininfo_T * - find_wininfo(buf, skip_diff_buffer) - buf_T *buf; -! int skip_diff_buffer UNUSED; - { - wininfo_T *wip; - -*************** -*** 4278,4287 **** - * Make "ffname" a full file name, set "sfname" to "ffname" if not NULL. - * "ffname" becomes a pointer to allocated memory (or NULL). - */ -- /*ARGSUSED*/ - void - fname_expand(buf, ffname, sfname) -! buf_T *buf; - char_u **ffname; - char_u **sfname; - { ---- 4276,4284 ---- - * Make "ffname" a full file name, set "sfname" to "ffname" if not NULL. - * "ffname" becomes a pointer to allocated memory (or NULL). - */ - void - fname_expand(buf, ffname, sfname) -! buf_T *buf UNUSED; - char_u **ffname; - char_u **sfname; - { -*************** -*** 5577,5587 **** - * this buffer. Call this to wipe out a temp buffer that does not contain any - * marks. - */ -- /*ARGSUSED*/ - void - wipe_buffer(buf, aucmd) - buf_T *buf; -! int aucmd; /* When TRUE trigger autocommands. */ - { - if (buf->b_fnum == top_file_num - 1) - --top_file_num; ---- 5574,5583 ---- - * this buffer. Call this to wipe out a temp buffer that does not contain any - * marks. - */ - void - wipe_buffer(buf, aucmd) - buf_T *buf; -! int aucmd UNUSED; /* When TRUE trigger autocommands. */ - { - if (buf->b_fnum == top_file_num - 1) - --top_file_num; -*** ../vim-7.2.172/src/charset.c 2009-05-13 14:10:46.000000000 +0200 ---- src/charset.c 2009-05-14 21:34:30.000000000 +0200 -*************** -*** 1026,1038 **** - * string at start of line. Warning: *headp is only set if it's a non-zero - * value, init to 0 before calling. - */ -- /*ARGSUSED*/ - int - win_lbr_chartabsize(wp, s, col, headp) - win_T *wp; - char_u *s; - colnr_T col; -! int *headp; - { - #ifdef FEAT_LINEBREAK - int c; ---- 1026,1037 ---- - * string at start of line. Warning: *headp is only set if it's a non-zero - * value, init to 0 before calling. - */ - int - win_lbr_chartabsize(wp, s, col, headp) - win_T *wp; - char_u *s; - colnr_T col; -! int *headp UNUSED; - { - #ifdef FEAT_LINEBREAK - int c; -*** ../vim-7.2.172/src/diff.c 2009-05-13 18:54:14.000000000 +0200 ---- src/diff.c 2009-05-14 21:24:59.000000000 +0200 -*************** -*** 652,661 **** - * The buffers are written to a file, also for unmodified buffers (the file - * could have been produced by autocommands, e.g. the netrw plugin). - */ -- /*ARGSUSED*/ - void - ex_diffupdate(eap) -! exarg_T *eap; /* can be NULL, it's not used */ - { - buf_T *buf; - int idx_orig; ---- 652,660 ---- - * The buffers are written to a file, also for unmodified buffers (the file - * could have been produced by autocommands, e.g. the netrw plugin). - */ - void - ex_diffupdate(eap) -! exarg_T *eap UNUSED; /* can be NULL */ - { - buf_T *buf; - int idx_orig; -*************** -*** 1094,1103 **** - /* - * Set options to show difs for the current window. - */ -- /*ARGSUSED*/ - void - ex_diffthis(eap) -! exarg_T *eap; - { - /* Set 'diff', 'scrollbind' on and 'wrap' off. */ - diff_win_options(curwin, TRUE); ---- 1093,1101 ---- - /* - * Set options to show difs for the current window. - */ - void - ex_diffthis(eap) -! exarg_T *eap UNUSED; - { - /* Set 'diff', 'scrollbind' on and 'wrap' off. */ - diff_win_options(curwin, TRUE); -*** ../vim-7.2.172/src/configure.in 2009-05-13 14:48:55.000000000 +0200 ---- src/configure.in 2009-05-14 22:08:06.000000000 +0200 -*************** -*** 2067,2072 **** ---- 2067,2077 ---- - AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME), - AC_MSG_RESULT(no)) - -+ AC_MSG_CHECKING(whether __attribute__((unused)) is allowed) -+ AC_TRY_COMPILE([#include ], [int x __attribute__((unused));], -+ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ATTRIBUTE_UNUSED), -+ AC_MSG_RESULT(no)) -+ - dnl Checks for header files. - AC_CHECK_HEADER(elf.h, HAS_ELF=1) - dnl AC_CHECK_HEADER(dwarf.h, SVR4=1) -*** ../vim-7.2.172/src/config.h.in 2009-03-02 02:44:54.000000000 +0100 ---- src/config.h.in 2009-05-14 21:15:02.000000000 +0200 -*************** -*** 30,35 **** ---- 30,38 ---- - /* Define when __DATE__ " " __TIME__ can be used */ - #undef HAVE_DATE_TIME - -+ /* Define when __attribute__((unused)) can be used */ -+ #undef HAVE_ATTRIBUTE_UNUSED -+ - /* defined always when using configure */ - #undef UNIX - -*** ../vim-7.2.172/src/edit.c 2009-05-13 18:54:14.000000000 +0200 ---- src/edit.c 2009-05-14 21:35:08.000000000 +0200 -*************** -*** 1447,1456 **** - * Only redraw when there are no characters available. This speeds up - * inserting sequences of characters (e.g., for CTRL-R). - */ -- /*ARGSUSED*/ - static void - ins_redraw(ready) -! int ready; /* not busy with something */ - { - if (!char_avail()) - { ---- 1447,1455 ---- - * Only redraw when there are no characters available. This speeds up - * inserting sequences of characters (e.g., for CTRL-R). - */ - static void - ins_redraw(ready) -! int ready UNUSED; /* not busy with something */ - { - if (!char_avail()) - { -*************** -*** 1962,1971 **** - * Only matters when there are composing characters. - * Return TRUE when something was deleted. - */ -- /*ARGSUSED*/ - static int - del_char_after_col(limit_col) -! int limit_col; - { - #ifdef FEAT_MBYTE - if (enc_utf8 && limit_col >= 0) ---- 1961,1969 ---- - * Only matters when there are composing characters. - * Return TRUE when something was deleted. - */ - static int - del_char_after_col(limit_col) -! int limit_col UNUSED; - { - #ifdef FEAT_MBYTE - if (enc_utf8 && limit_col >= 0) -*** ../vim-7.2.172/src/ex_cmds.c 2009-05-14 21:51:06.000000000 +0200 ---- src/ex_cmds.c 2009-05-14 21:11:01.000000000 +0200 -*************** -*** 43,52 **** - /* - * ":ascii" and "ga". - */ -- /*ARGSUSED*/ - void - do_ascii(eap) -! exarg_T *eap; - { - int c; - int cval; ---- 43,51 ---- - /* - * ":ascii" and "ga". - */ - void - do_ascii(eap) -! exarg_T *eap UNUSED; - { - int c; - int cval; -*************** -*** 2373,2382 **** - * ^? ^H - * not ^? ^? - */ -- /*ARGSUSED*/ - void - do_fixdel(eap) -! exarg_T *eap; - { - char_u *p; - ---- 2372,2380 ---- - * ^? ^H - * not ^? ^? - */ - void - do_fixdel(eap) -! exarg_T *eap UNUSED; - { - char_u *p; - -*************** -*** 6127,6136 **** - /* - * ":exusage" - */ -- /*ARGSUSED*/ - void - ex_exusage(eap) -! exarg_T *eap; - { - do_cmdline_cmd((char_u *)"help ex-cmd-index"); - } ---- 6125,6133 ---- - /* - * ":exusage" - */ - void - ex_exusage(eap) -! exarg_T *eap UNUSED; - { - do_cmdline_cmd((char_u *)"help ex-cmd-index"); - } -*************** -*** 6138,6147 **** - /* - * ":viusage" - */ -- /*ARGSUSED*/ - void - ex_viusage(eap) -! exarg_T *eap; - { - do_cmdline_cmd((char_u *)"help normal-index"); - } ---- 6135,6143 ---- - /* - * ":viusage" - */ - void - ex_viusage(eap) -! exarg_T *eap UNUSED; - { - do_cmdline_cmd((char_u *)"help normal-index"); - } -*************** -*** 7154,7163 **** - * Function given to ExpandGeneric() to obtain the sign command - * expansion. - */ -- /*ARGSUSED*/ - char_u * - get_sign_name(xp, idx) -! expand_T *xp; - int idx; - { - sign_T *sp; ---- 7150,7158 ---- - * Function given to ExpandGeneric() to obtain the sign command - * expansion. - */ - char_u * - get_sign_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - sign_T *sp; -*** ../vim-7.2.172/src/ex_cmds2.c 2009-05-13 18:54:14.000000000 +0200 ---- src/ex_cmds2.c 2009-05-14 21:35:40.000000000 +0200 -*************** -*** 680,689 **** - /* - * ":breaklist". - */ -- /*ARGSUSED*/ - void - ex_breaklist(eap) -! exarg_T *eap; - { - struct debuggy *bp; - int i; ---- 680,688 ---- - /* - * ":breaklist". - */ - void - ex_breaklist(eap) -! exarg_T *eap UNUSED; - { - struct debuggy *bp; - int i; -*************** -*** 1342,1355 **** - /* - * return TRUE if buffer was changed and cannot be abandoned. - */ -- /*ARGSUSED*/ - int - check_changed(buf, checkaw, mult_win, forceit, allbuf) - buf_T *buf; - int checkaw; /* do autowrite if buffer was changed */ - int mult_win; /* check also when several wins for the buf */ - int forceit; -! int allbuf; /* may write all buffers */ - { - if ( !forceit - && bufIsChanged(buf) ---- 1341,1353 ---- - /* - * return TRUE if buffer was changed and cannot be abandoned. - */ - int - check_changed(buf, checkaw, mult_win, forceit, allbuf) - buf_T *buf; - int checkaw; /* do autowrite if buffer was changed */ - int mult_win; /* check also when several wins for the buf */ - int forceit; -! int allbuf UNUSED; /* may write all buffers */ - { - if ( !forceit - && bufIsChanged(buf) -*************** -*** 1759,1770 **** - * - * Return FAIL for failure, OK otherwise. - */ -- /*ARGSUSED*/ - static int - do_arglist(str, what, after) - char_u *str; -! int what; -! int after; /* 0 means before first one */ - { - garray_T new_ga; - int exp_count; ---- 1757,1767 ---- - * - * Return FAIL for failure, OK otherwise. - */ - static int - do_arglist(str, what, after) - char_u *str; -! int what UNUSED; -! int after UNUSED; /* 0 means before first one */ - { - garray_T new_ga; - int exp_count; -*************** -*** 2549,2559 **** - - static void source_callback __ARGS((char_u *fname, void *cookie)); - -- /*ARGSUSED*/ - static void - source_callback(fname, cookie) - char_u *fname; -! void *cookie; - { - (void)do_source(fname, FALSE, DOSO_NONE); - } ---- 2546,2555 ---- - - static void source_callback __ARGS((char_u *fname, void *cookie)); - - static void - source_callback(fname, cookie) - char_u *fname; -! void *cookie UNUSED; - { - (void)do_source(fname, FALSE, DOSO_NONE); - } -*************** -*** 2680,2689 **** - /* - * ":options" - */ -- /*ARGSUSED*/ - void - ex_options(eap) -! exarg_T *eap; - { - cmd_source((char_u *)SYS_OPTWIN_FILE, NULL); - } ---- 2676,2684 ---- - /* - * ":options" - */ - void - ex_options(eap) -! exarg_T *eap UNUSED; - { - cmd_source((char_u *)SYS_OPTWIN_FILE, NULL); - } -*************** -*** 3190,3199 **** - /* - * ":scriptnames" - */ -- /*ARGSUSED*/ - void - ex_scriptnames(eap) -! exarg_T *eap; - { - int i; - ---- 3185,3193 ---- - /* - * ":scriptnames" - */ - void - ex_scriptnames(eap) -! exarg_T *eap UNUSED; - { - int i; - -*************** -*** 3317,3328 **** - * Return a pointer to the line in allocated memory. - * Return NULL for end-of-file or some error. - */ -- /* ARGSUSED */ - char_u * - getsourceline(c, cookie, indent) -! int c; /* not used */ - void *cookie; -! int indent; /* not used */ - { - struct source_cookie *sp = (struct source_cookie *)cookie; - char_u *line; ---- 3311,3321 ---- - * Return a pointer to the line in allocated memory. - * Return NULL for end-of-file or some error. - */ - char_u * - getsourceline(c, cookie, indent) -! int c UNUSED; - void *cookie; -! int indent UNUSED; - { - struct source_cookie *sp = (struct source_cookie *)cookie; - char_u *line; -*************** -*** 3649,3658 **** - * ":scriptencoding": Set encoding conversion for a sourced script. - * Without the multi-byte feature it's simply ignored. - */ -- /*ARGSUSED*/ - void - ex_scriptencoding(eap) -! exarg_T *eap; - { - #ifdef FEAT_MBYTE - struct source_cookie *sp; ---- 3642,3650 ---- - * ":scriptencoding": Set encoding conversion for a sourced script. - * Without the multi-byte feature it's simply ignored. - */ - void - ex_scriptencoding(eap) -! exarg_T *eap UNUSED; - { - #ifdef FEAT_MBYTE - struct source_cookie *sp; -*************** -*** 4101,4110 **** - * Function given to ExpandGeneric() to obtain the possible arguments of the - * ":language" command. - */ -- /*ARGSUSED*/ - char_u * - get_lang_arg(xp, idx) -! expand_T *xp; - int idx; - { - if (idx == 0) ---- 4093,4101 ---- - * Function given to ExpandGeneric() to obtain the possible arguments of the - * ":language" command. - */ - char_u * - get_lang_arg(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - if (idx == 0) -*** ../vim-7.2.172/src/version.c 2009-05-14 22:00:37.000000000 +0200 ---- src/version.c 2009-05-14 22:14:51.000000000 +0200 -*************** -*** 1623,1632 **** - /* - * ":intro": clear screen, display intro screen and wait for return. - */ -- /*ARGSUSED*/ - void - ex_intro(eap) -! exarg_T *eap; - { - screenclear(); - intro_message(TRUE); ---- 1625,1633 ---- - /* - * ":intro": clear screen, display intro screen and wait for return. - */ - void - ex_intro(eap) -! exarg_T *eap UNUSED; - { - screenclear(); - intro_message(TRUE); -*** ../vim-7.2.172/src/vim.h 2009-05-13 18:54:14.000000000 +0200 ---- src/vim.h 2009-05-14 21:17:51.000000000 +0200 -*************** -*** 262,267 **** ---- 262,275 ---- - # define __PARMS(x) __ARGS(x) - #endif - -+ /* Mark unused function arguments with UNUSED, so that gcc -Wunused-parameter -+ * can be used to check for mistakes. */ -+ #ifdef HAVE_ATTRIBUTE_UNUSED -+ # define UNUSED __attribute__((unused)) -+ #else -+ # define UNUSED -+ #endif -+ - /* if we're compiling in C++ (currently only KVim), the system - * headers must have the correct prototypes or nothing will build. - * conversely, our prototypes might clash due to throw() specifiers and -*** ../vim-7.2.172/src/version.c 2009-05-14 22:00:37.000000000 +0200 ---- src/version.c 2009-05-14 22:14:51.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 173, - /**/ - --- -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/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.174 --- a/components/vim/vim72-patches/7.2.174 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1718 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.174 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.174 -Problem: Too many warnings from gcc -Wextra. -Solution: Change initializer. Add UNUSED. Add type casts. -Files: src/edit.c, src/eval.c, src/ex_cmds.c, src/ex_docmd.c, - src/ex_getln.c, src/fileio.c, getchar.c, globals.h, main.c, - memline.c, message.c, src/misc1.c, src/move.c, src/normal.c, - src/option.c, src/os_unix.c, src/os_unix.h, src/regexp.c, - src/search.c, src/tag.c - - -*** ../vim-7.2.173/src/edit.c 2009-05-14 22:19:19.000000000 +0200 ---- src/edit.c 2009-05-15 21:06:07.000000000 +0200 -*************** -*** 8991,8997 **** - foldOpenCursor(); - #endif - undisplay_dollar(); -! if (gchar_cursor() != NUL || virtual_active() - ) - { - start_arrow(&curwin->w_cursor); ---- 8992,9001 ---- - foldOpenCursor(); - #endif - undisplay_dollar(); -! if (gchar_cursor() != NUL -! #ifdef FEAT_VIRTUALEDIT -! || virtual_active() -! #endif - ) - { - start_arrow(&curwin->w_cursor); -*** ../vim-7.2.173/src/eval.c 2009-04-22 16:07:57.000000000 +0200 ---- src/eval.c 2009-05-15 21:18:08.000000000 +0200 -*************** -*** 8303,8312 **** - /* - * "argc()" function - */ -- /* ARGSUSED */ - static void - f_argc(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = ARGCOUNT; ---- 8303,8311 ---- - /* - * "argc()" function - */ - static void - f_argc(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = ARGCOUNT; -*************** -*** 8315,8324 **** - /* - * "argidx()" function - */ -- /* ARGSUSED */ - static void - f_argidx(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = curwin->w_arg_idx; ---- 8314,8322 ---- - /* - * "argidx()" function - */ - static void - f_argidx(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = curwin->w_arg_idx; -*************** -*** 8396,8405 **** - /* - * "browse(save, title, initdir, default)" function - */ -- /* ARGSUSED */ - static void - f_browse(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_BROWSE ---- 8394,8402 ---- - /* - * "browse(save, title, initdir, default)" function - */ - static void - f_browse(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_BROWSE -*************** -*** 8431,8440 **** - /* - * "browsedir(title, initdir)" function - */ -- /* ARGSUSED */ - static void - f_browsedir(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_BROWSE ---- 8428,8436 ---- - /* - * "browsedir(title, initdir)" function - */ - static void - f_browsedir(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_BROWSE -*************** -*** 8801,8810 **** - /* - * "changenr()" function - */ -- /*ARGSUSED*/ - static void - f_changenr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = curbuf->b_u_seq_cur; ---- 8797,8805 ---- - /* - * "changenr()" function - */ - static void - f_changenr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = curbuf->b_u_seq_cur; -*************** -*** 8854,8863 **** - /* - * "clearmatches()" function - */ -- /*ARGSUSED*/ - static void - f_clearmatches(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_SEARCH_EXTRA ---- 8849,8857 ---- - /* - * "clearmatches()" function - */ - static void - f_clearmatches(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_SEARCH_EXTRA -*** ../vim-7.2.173/src/ex_cmds.c 2009-05-14 22:19:19.000000000 +0200 ---- src/ex_cmds.c 2009-05-15 20:42:18.000000000 +0200 -*************** -*** 4040,4047 **** ---- 4040,4049 ---- - bigness = curwin->w_height; - else if (firstwin == lastwin) - bigness = curwin->w_p_scr * 2; -+ #ifdef FEAT_WINDOWS - else - bigness = curwin->w_height - 3; -+ #endif - if (bigness < 1) - bigness = 1; - -*** ../vim-7.2.173/src/ex_docmd.c 2009-05-13 18:54:14.000000000 +0200 ---- src/ex_docmd.c 2009-05-15 20:47:58.000000000 +0200 -*************** -*** 1578,1588 **** - * If "fgetline" is get_loop_line(), return TRUE if the getline it uses equals - * "func". * Otherwise return TRUE when "fgetline" equals "func". - */ -- /*ARGSUSED*/ - int - getline_equal(fgetline, cookie, func) - char_u *(*fgetline) __ARGS((int, void *, int)); -! void *cookie; /* argument for fgetline() */ - char_u *(*func) __ARGS((int, void *, int)); - { - #ifdef FEAT_EVAL ---- 1578,1587 ---- - * If "fgetline" is get_loop_line(), return TRUE if the getline it uses equals - * "func". * Otherwise return TRUE when "fgetline" equals "func". - */ - int - getline_equal(fgetline, cookie, func) - char_u *(*fgetline) __ARGS((int, void *, int)); -! void *cookie UNUSED; /* argument for fgetline() */ - char_u *(*func) __ARGS((int, void *, int)); - { - #ifdef FEAT_EVAL -*************** -*** 1610,1619 **** - * If "fgetline" is get_loop_line(), return the cookie used by the original - * getline function. Otherwise return "cookie". - */ -- /*ARGSUSED*/ - void * - getline_cookie(fgetline, cookie) -! char_u *(*fgetline) __ARGS((int, void *, int)); - void *cookie; /* argument for fgetline() */ - { - # ifdef FEAT_EVAL ---- 1609,1617 ---- - * If "fgetline" is get_loop_line(), return the cookie used by the original - * getline function. Otherwise return "cookie". - */ - void * - getline_cookie(fgetline, cookie) -! char_u *(*fgetline) __ARGS((int, void *, int)) UNUSED; - void *cookie; /* argument for fgetline() */ - { - # ifdef FEAT_EVAL -*************** -*** 2754,2764 **** - * "full" is set to TRUE if the whole command name matched. - * Returns NULL for an ambiguous user command. - */ -- /*ARGSUSED*/ - static char_u * - find_command(eap, full) - exarg_T *eap; -! int *full; - { - int len; - char_u *p; ---- 2752,2761 ---- - * "full" is set to TRUE if the whole command name matched. - * Returns NULL for an ambiguous user command. - */ - static char_u * - find_command(eap, full) - exarg_T *eap; -! int *full UNUSED; - { - int len; - char_u *p; -*************** -*** 5053,5062 **** - /* - * Function given to ExpandGeneric() to obtain the list of command names. - */ -- /*ARGSUSED*/ - char_u * - get_command_name(xp, idx) -! expand_T *xp; - int idx; - { - if (idx >= (int)CMD_SIZE) ---- 5050,5058 ---- - /* - * Function given to ExpandGeneric() to obtain the list of command names. - */ - char_u * - get_command_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - if (idx >= (int)CMD_SIZE) -*************** -*** 5573,5582 **** - * ":comclear" - * Clear all user commands, global and for current buffer. - */ -- /*ARGSUSED*/ - void - ex_comclear(eap) -! exarg_T *eap; - { - uc_clear(&ucmds); - uc_clear(&curbuf->b_ucmds); ---- 5569,5577 ---- - * ":comclear" - * Clear all user commands, global and for current buffer. - */ - void - ex_comclear(eap) -! exarg_T *eap UNUSED; - { - uc_clear(&ucmds); - uc_clear(&curbuf->b_ucmds); -*************** -*** 6072,6081 **** - /* - * Function given to ExpandGeneric() to obtain the list of user command names. - */ -- /*ARGSUSED*/ - char_u * - get_user_commands(xp, idx) -! expand_T *xp; - int idx; - { - if (idx < curbuf->b_ucmds.ga_len) ---- 6067,6075 ---- - /* - * Function given to ExpandGeneric() to obtain the list of user command names. - */ - char_u * - get_user_commands(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - if (idx < curbuf->b_ucmds.ga_len) -*************** -*** 6090,6099 **** - * Function given to ExpandGeneric() to obtain the list of user command - * attributes. - */ -- /*ARGSUSED*/ - char_u * - get_user_cmd_flags(xp, idx) -! expand_T *xp; - int idx; - { - static char *user_cmd_flags[] = ---- 6084,6092 ---- - * Function given to ExpandGeneric() to obtain the list of user command - * attributes. - */ - char_u * - get_user_cmd_flags(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - static char *user_cmd_flags[] = -*************** -*** 6108,6117 **** - /* - * Function given to ExpandGeneric() to obtain the list of values for -nargs. - */ -- /*ARGSUSED*/ - char_u * - get_user_cmd_nargs(xp, idx) -! expand_T *xp; - int idx; - { - static char *user_cmd_nargs[] = {"0", "1", "*", "?", "+"}; ---- 6101,6109 ---- - /* - * Function given to ExpandGeneric() to obtain the list of values for -nargs. - */ - char_u * - get_user_cmd_nargs(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - static char *user_cmd_nargs[] = {"0", "1", "*", "?", "+"}; -*************** -*** 6124,6133 **** - /* - * Function given to ExpandGeneric() to obtain the list of values for -complete. - */ -- /*ARGSUSED*/ - char_u * - get_user_cmd_complete(xp, idx) -! expand_T *xp; - int idx; - { - return (char_u *)command_complete[idx].name; ---- 6116,6124 ---- - /* - * Function given to ExpandGeneric() to obtain the list of values for -complete. - */ - char_u * - get_user_cmd_complete(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - return (char_u *)command_complete[idx].name; -*************** -*** 6305,6314 **** - /* - * ":cquit". - */ -- /*ARGSUSED*/ - static void - ex_cquit(eap) -! exarg_T *eap; - { - getout(1); /* this does not always pass on the exit code to the Manx - compiler. why? */ ---- 6296,6304 ---- - /* - * ":cquit". - */ - static void - ex_cquit(eap) -! exarg_T *eap UNUSED; - { - getout(1); /* this does not always pass on the exit code to the Manx - compiler. why? */ -*************** -*** 6750,6759 **** - /* - * ":shell". - */ -- /*ARGSUSED*/ - static void - ex_shell(eap) -! exarg_T *eap; - { - do_shell(NULL, 0); - } ---- 6740,6748 ---- - /* - * ":shell". - */ - static void - ex_shell(eap) -! exarg_T *eap UNUSED; - { - do_shell(NULL, 0); - } -*************** -*** 7057,7066 **** - /* - * ":preserve". - */ -- /*ARGSUSED*/ - static void - ex_preserve(eap) -! exarg_T *eap; - { - curbuf->b_flags |= BF_PRESERVED; - ml_preserve(curbuf, TRUE); ---- 7046,7054 ---- - /* - * ":preserve". - */ - static void - ex_preserve(eap) -! exarg_T *eap UNUSED; - { - curbuf->b_flags |= BF_PRESERVED; - ml_preserve(curbuf, TRUE); -*************** -*** 7292,7301 **** - /* - * :tabs command: List tabs and their contents. - */ -- /*ARGSUSED*/ - static void - ex_tabs(eap) -! exarg_T *eap; - { - tabpage_T *tp; - win_T *wp; ---- 7280,7288 ---- - /* - * :tabs command: List tabs and their contents. - */ - static void - ex_tabs(eap) -! exarg_T *eap UNUSED; - { - tabpage_T *tp; - win_T *wp; -*************** -*** 7482,7488 **** - /* - * ":edit " command and alikes. - */ -- /*ARGSUSED*/ - void - do_exedit(eap, old_curwin) - exarg_T *eap; ---- 7469,7474 ---- -*************** -*** 7694,7703 **** - } - #endif - -- /*ARGSUSED*/ - static void - ex_swapname(eap) -! exarg_T *eap; - { - if (curbuf->b_ml.ml_mfp == NULL || curbuf->b_ml.ml_mfp->mf_fname == NULL) - MSG(_("No swap file")); ---- 7680,7688 ---- - } - #endif - - static void - ex_swapname(eap) -! exarg_T *eap UNUSED; - { - if (curbuf->b_ml.ml_mfp == NULL || curbuf->b_ml.ml_mfp->mf_fname == NULL) - MSG(_("No swap file")); -*************** -*** 7710,7719 **** - * offset. - * (1998-11-02 16:21:01 R. Edward Ralston ) - */ -- /*ARGSUSED*/ - static void - ex_syncbind(eap) -! exarg_T *eap; - { - #ifdef FEAT_SCROLLBIND - win_T *wp; ---- 7695,7703 ---- - * offset. - * (1998-11-02 16:21:01 R. Edward Ralston ) - */ - static void - ex_syncbind(eap) -! exarg_T *eap UNUSED; - { - #ifdef FEAT_SCROLLBIND - win_T *wp; -*************** -*** 7983,7992 **** - /* - * ":pwd". - */ -- /*ARGSUSED*/ - static void - ex_pwd(eap) -! exarg_T *eap; - { - if (mch_dirname(NameBuff, MAXPATHL) == OK) - { ---- 7967,7975 ---- - /* - * ":pwd". - */ - static void - ex_pwd(eap) -! exarg_T *eap UNUSED; - { - if (mch_dirname(NameBuff, MAXPATHL) == OK) - { -*************** -*** 8417,8426 **** - /* - * ":undo". - */ -- /*ARGSUSED*/ - static void - ex_undo(eap) -! exarg_T *eap; - { - if (eap->addr_count == 1) /* :undo 123 */ - undo_time(eap->line2, FALSE, TRUE); ---- 8400,8408 ---- - /* - * ":undo". - */ - static void - ex_undo(eap) -! exarg_T *eap UNUSED; - { - if (eap->addr_count == 1) /* :undo 123 */ - undo_time(eap->line2, FALSE, TRUE); -*************** -*** 8431,8440 **** - /* - * ":redo". - */ -- /*ARGSUSED*/ - static void - ex_redo(eap) -! exarg_T *eap; - { - u_redo(1); - } ---- 8413,8421 ---- - /* - * ":redo". - */ - static void - ex_redo(eap) -! exarg_T *eap UNUSED; - { - u_redo(1); - } -*************** -*** 8442,8448 **** - /* - * ":earlier" and ":later". - */ -- /*ARGSUSED*/ - static void - ex_later(eap) - exarg_T *eap; ---- 8423,8428 ---- -*************** -*** 8627,8636 **** - /* - * ":redrawstatus": force redraw of status line(s) - */ -- /*ARGSUSED*/ - static void - ex_redrawstatus(eap) -! exarg_T *eap; - { - #if defined(FEAT_WINDOWS) - int r = RedrawingDisabled; ---- 8607,8615 ---- - /* - * ":redrawstatus": force redraw of status line(s) - */ - static void - ex_redrawstatus(eap) -! exarg_T *eap UNUSED; - { - #if defined(FEAT_WINDOWS) - int r = RedrawingDisabled; -*************** -*** 8891,8901 **** - - #if ((defined(FEAT_SESSION) || defined(FEAT_EVAL)) && defined(vim_mkdir)) \ - || defined(PROTO) -- /*ARGSUSED*/ - int - vim_mkdir_emsg(name, prot) - char_u *name; -! int prot; - { - if (vim_mkdir(name, prot) != 0) - { ---- 8870,8879 ---- - - #if ((defined(FEAT_SESSION) || defined(FEAT_EVAL)) && defined(vim_mkdir)) \ - || defined(PROTO) - int - vim_mkdir_emsg(name, prot) - char_u *name; -! int prot UNUSED; - { - if (vim_mkdir(name, prot) != 0) - { -*************** -*** 10968,10977 **** - } - #endif - -- /*ARGSUSED*/ - static void - ex_digraphs(eap) -! exarg_T *eap; - { - #ifdef FEAT_DIGRAPHS - if (*eap->arg != NUL) ---- 10946,10954 ---- - } - #endif - - static void - ex_digraphs(eap) -! exarg_T *eap UNUSED; - { - #ifdef FEAT_DIGRAPHS - if (*eap->arg != NUL) -*************** -*** 11005,11014 **** - /* - * ":nohlsearch" - */ -- /*ARGSUSED*/ - static void - ex_nohlsearch(eap) -! exarg_T *eap; - { - no_hlsearch = TRUE; - redraw_all_later(SOME_VALID); ---- 10982,10990 ---- - /* - * ":nohlsearch" - */ - static void - ex_nohlsearch(eap) -! exarg_T *eap UNUSED; - { - no_hlsearch = TRUE; - redraw_all_later(SOME_VALID); -*************** -*** 11087,11096 **** - /* - * ":X": Get crypt key - */ -- /*ARGSUSED*/ - static void - ex_X(eap) -! exarg_T *eap; - { - (void)get_crypt_key(TRUE, TRUE); - } ---- 11063,11071 ---- - /* - * ":X": Get crypt key - */ - static void - ex_X(eap) -! exarg_T *eap UNUSED; - { - (void)get_crypt_key(TRUE, TRUE); - } -*** ../vim-7.2.173/src/ex_getln.c 2009-04-29 18:44:38.000000000 +0200 ---- src/ex_getln.c 2009-05-15 20:49:22.000000000 +0200 -*************** -*** 140,150 **** - * Return pointer to allocated string if there is a commandline, NULL - * otherwise. - */ -- /*ARGSUSED*/ - char_u * - getcmdline(firstc, count, indent) - int firstc; -! long count; /* only used for incremental search */ - int indent; /* indent for inside conditionals */ - { - int c; ---- 140,149 ---- - * Return pointer to allocated string if there is a commandline, NULL - * otherwise. - */ - char_u * - getcmdline(firstc, count, indent) - int firstc; -! long count UNUSED; /* only used for incremental search */ - int indent; /* indent for inside conditionals */ - { - int c; -*************** -*** 2113,2123 **** - /* - * Get an Ex command line for the ":" command. - */ -- /* ARGSUSED */ - char_u * -! getexline(c, dummy, indent) - int c; /* normally ':', NUL for ":append" */ -! void *dummy; /* cookie not used */ - int indent; /* indent for inside conditionals */ - { - /* When executing a register, remove ':' that's in front of each line. */ ---- 2112,2121 ---- - /* - * Get an Ex command line for the ":" command. - */ - char_u * -! getexline(c, cookie, indent) - int c; /* normally ':', NUL for ":append" */ -! void *cookie UNUSED; - int indent; /* indent for inside conditionals */ - { - /* When executing a register, remove ':' that's in front of each line. */ -*************** -*** 2132,2143 **** - * mappings or abbreviations. - * Returns a string in allocated memory or NULL. - */ -- /* ARGSUSED */ - char_u * -! getexmodeline(promptc, dummy, indent) - int promptc; /* normally ':', NUL for ":append" and '?' for - :s prompt */ -! void *dummy; /* cookie not used */ - int indent; /* indent for inside conditionals */ - { - garray_T line_ga; ---- 2130,2140 ---- - * mappings or abbreviations. - * Returns a string in allocated memory or NULL. - */ - char_u * -! getexmodeline(promptc, cookie, indent) - int promptc; /* normally ':', NUL for ":append" and '?' for - :s prompt */ -! void *cookie UNUSED; - int indent; /* indent for inside conditionals */ - { - garray_T line_ga; -*************** -*** 3832,3842 **** - * Returns EXPAND_NOTHING when the character that triggered expansion should - * be inserted like a normal character. - */ -- /*ARGSUSED*/ - static int - showmatches(xp, wildmenu) - expand_T *xp; -! int wildmenu; - { - #define L_SHOWFILE(m) (showtail ? sm_gettail(files_found[m]) : files_found[m]) - int num_files; ---- 3829,3838 ---- - * Returns EXPAND_NOTHING when the character that triggered expansion should - * be inserted like a normal character. - */ - static int - showmatches(xp, wildmenu) - expand_T *xp; -! int wildmenu UNUSED; - { - #define L_SHOWFILE(m) (showtail ? sm_gettail(files_found[m]) : files_found[m]) - int num_files; -*** ../vim-7.2.173/src/fileio.c 2009-05-13 20:47:07.000000000 +0200 ---- src/fileio.c 2009-05-15 20:52:40.000000000 +0200 -*************** -*** 3498,3504 **** - if (mch_stat((char *)IObuff, &st) < 0 - || st.st_uid != st_old.st_uid - || st.st_gid != st_old.st_gid -! || st.st_mode != perm) - backup_copy = TRUE; - # endif - /* Close the file before removing it, on MS-Windows we ---- 3498,3504 ---- - if (mch_stat((char *)IObuff, &st) < 0 - || st.st_uid != st_old.st_uid - || st.st_gid != st_old.st_gid -! || (long)st.st_mode != perm) - backup_copy = TRUE; - # endif - /* Close the file before removing it, on MS-Windows we -*************** -*** 5963,5969 **** - else if (*ext == '.') - #endif - { -! if (s - ptr > (size_t)8) - { - s = ptr + 8; - *s = '\0'; ---- 5971,5977 ---- - else if (*ext == '.') - #endif - { -! if ((size_t)(s - ptr) > (size_t)8) - { - s = ptr + 8; - *s = '\0'; -*************** -*** 6460,6470 **** - * return 2 if a message has been displayed. - * return 0 otherwise. - */ -- /*ARGSUSED*/ - int - buf_check_timestamp(buf, focus) - buf_T *buf; -! int focus; /* called for GUI focus event */ - { - struct stat st; - int stat_res; ---- 6468,6477 ---- - * return 2 if a message has been displayed. - * return 0 otherwise. - */ - int - buf_check_timestamp(buf, focus) - buf_T *buf; -! int focus UNUSED; /* called for GUI focus event */ - { - struct stat st; - int stat_res; -*************** -*** 6868,6879 **** - /* Careful: autocommands may have made "buf" invalid! */ - } - -- /*ARGSUSED*/ - void - buf_store_time(buf, st, fname) - buf_T *buf; - struct stat *st; -! char_u *fname; - { - buf->b_mtime = (long)st->st_mtime; - buf->b_orig_size = (size_t)st->st_size; ---- 6875,6885 ---- - /* Careful: autocommands may have made "buf" invalid! */ - } - - void - buf_store_time(buf, st, fname) - buf_T *buf; - struct stat *st; -! char_u *fname UNUSED; - { - buf->b_mtime = (long)st->st_mtime; - buf->b_orig_size = (size_t)st->st_size; -*************** -*** 6936,6945 **** - * The returned pointer is to allocated memory. - * The returned pointer is NULL if no valid name was found. - */ -- /*ARGSUSED*/ - char_u * - vim_tempname(extra_char) -! int extra_char; /* character to use in the name instead of '?' */ - { - #ifdef USE_TMPNAM - char_u itmp[L_tmpnam]; /* use tmpnam() */ ---- 6942,6950 ---- - * The returned pointer is to allocated memory. - * The returned pointer is NULL if no valid name was found. - */ - char_u * - vim_tempname(extra_char) -! int extra_char UNUSED; /* char to use in the name instead of '?' */ - { - #ifdef USE_TMPNAM - char_u itmp[L_tmpnam]; /* use tmpnam() */ -*************** -*** 6968,6974 **** - /* - * Try the entries in TEMPDIRNAMES to create the temp directory. - */ -! for (i = 0; i < sizeof(tempdirs) / sizeof(char *); ++i) - { - /* expand $TMP, leave room for "/v1100000/999999999" */ - expand_env((char_u *)tempdirs[i], itmp, TEMPNAMELEN - 20); ---- 6973,6979 ---- - /* - * Try the entries in TEMPDIRNAMES to create the temp directory. - */ -! for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) - { - /* expand $TMP, leave room for "/v1100000/999999999" */ - expand_env((char_u *)tempdirs[i], itmp, TEMPNAMELEN - 20); -*************** -*** 9588,9600 **** - * - * Returns NULL when out of memory. - */ -- /*ARGSUSED*/ - char_u * - file_pat_to_reg_pat(pat, pat_end, allow_dirs, no_bslash) - char_u *pat; - char_u *pat_end; /* first char after pattern or NULL */ - char *allow_dirs; /* Result passed back out in here */ -! int no_bslash; /* Don't use a backward slash as pathsep */ - { - int size; - char_u *endp; ---- 9593,9604 ---- - * - * Returns NULL when out of memory. - */ - char_u * - file_pat_to_reg_pat(pat, pat_end, allow_dirs, no_bslash) - char_u *pat; - char_u *pat_end; /* first char after pattern or NULL */ - char *allow_dirs; /* Result passed back out in here */ -! int no_bslash UNUSED; /* Don't use a backward slash as pathsep */ - { - int size; - char_u *endp; -*** ../vim-7.2.173/src/misc1.c 2009-04-29 11:00:09.000000000 +0200 ---- src/misc1.c 2009-05-15 20:59:08.000000000 +0200 -*************** -*** 2188,2199 **** - * - * return FAIL for failure, OK otherwise - */ -- /*ARGSUSED*/ - int - del_bytes(count, fixpos_arg, use_delcombine) - long count; - int fixpos_arg; -! int use_delcombine; /* 'delcombine' option applies */ - { - char_u *oldp, *newp; - colnr_T oldlen; ---- 2188,2198 ---- - * - * return FAIL for failure, OK otherwise - */ - int - del_bytes(count, fixpos_arg, use_delcombine) - long count; - int fixpos_arg; -! int use_delcombine UNUSED; /* 'delcombine' option applies */ - { - char_u *oldp, *newp; - colnr_T oldlen; -*** ../vim-7.2.173/src/move.c 2008-11-15 16:05:30.000000000 +0100 ---- src/move.c 2009-05-15 21:00:06.000000000 +0200 -*************** -*** 1238,1248 **** - /* - * Scroll the current window down by "line_count" logical lines. "CTRL-Y" - */ -- /*ARGSUSED*/ - void - scrolldown(line_count, byfold) - long line_count; -! int byfold; /* TRUE: count a closed fold as one line */ - { - long done = 0; /* total # of physical lines done */ - int wrow; ---- 1238,1247 ---- - /* - * Scroll the current window down by "line_count" logical lines. "CTRL-Y" - */ - void - scrolldown(line_count, byfold) - long line_count; -! int byfold UNUSED; /* TRUE: count a closed fold as one line */ - { - long done = 0; /* total # of physical lines done */ - int wrow; -*************** -*** 1349,1359 **** - /* - * Scroll the current window up by "line_count" logical lines. "CTRL-E" - */ -- /*ARGSUSED*/ - void - scrollup(line_count, byfold) - long line_count; -! int byfold; /* TRUE: count a closed fold as one line */ - { - #if defined(FEAT_FOLDING) || defined(FEAT_DIFF) - linenr_T lnum; ---- 1348,1357 ---- - /* - * Scroll the current window up by "line_count" logical lines. "CTRL-E" - */ - void - scrollup(line_count, byfold) - long line_count; -! int byfold UNUSED; /* TRUE: count a closed fold as one line */ - { - #if defined(FEAT_FOLDING) || defined(FEAT_DIFF) - linenr_T lnum; -*** ../vim-7.2.173/src/normal.c 2009-04-29 17:39:17.000000000 +0200 ---- src/normal.c 2009-05-15 21:08:07.000000000 +0200 -*************** -*** 493,506 **** - int i; - - /* Fill the index table with a one to one relation. */ -! for (i = 0; i < NV_CMDS_SIZE; ++i) - nv_cmd_idx[i] = i; - - /* Sort the commands by the command character. */ - qsort((void *)&nv_cmd_idx, (size_t)NV_CMDS_SIZE, sizeof(short), nv_compare); - - /* Find the first entry that can't be indexed by the command character. */ -! for (i = 0; i < NV_CMDS_SIZE; ++i) - if (i != nv_cmds[nv_cmd_idx[i]].cmd_char) - break; - nv_max_linear = i - 1; ---- 493,506 ---- - int i; - - /* Fill the index table with a one to one relation. */ -! for (i = 0; i < (int)NV_CMDS_SIZE; ++i) - nv_cmd_idx[i] = i; - - /* Sort the commands by the command character. */ - qsort((void *)&nv_cmd_idx, (size_t)NV_CMDS_SIZE, sizeof(short), nv_compare); - - /* Find the first entry that can't be indexed by the command character. */ -! for (i = 0; i < (int)NV_CMDS_SIZE; ++i) - if (i != nv_cmds[nv_cmd_idx[i]].cmd_char) - break; - nv_max_linear = i - 1; -*************** -*** 561,571 **** - /* - * Execute a command in Normal mode. - */ -- /*ARGSUSED*/ - void - normal_cmd(oap, toplevel) - oparg_T *oap; -! int toplevel; /* TRUE when called from main() */ - { - cmdarg_T ca; /* command arguments */ - int c; ---- 561,570 ---- - /* - * Execute a command in Normal mode. - */ - void - normal_cmd(oap, toplevel) - oparg_T *oap; -! int toplevel UNUSED; /* TRUE when called from main() */ - { - cmdarg_T ca; /* command arguments */ - int c; -*************** -*** 2188,2197 **** - /* - * Handle the "g@" operator: call 'operatorfunc'. - */ -- /*ARGSUSED*/ - static void - op_function(oap) -! oparg_T *oap; - { - #ifdef FEAT_EVAL - char_u *(argv[1]); ---- 2187,2195 ---- - /* - * Handle the "g@" operator: call 'operatorfunc'. - */ - static void - op_function(oap) -! oparg_T *oap UNUSED; - { - #ifdef FEAT_EVAL - char_u *(argv[1]); -*************** -*** 4100,4109 **** - * Command character that doesn't do anything, but unlike nv_ignore() does - * start edit(). Used for "startinsert" executed while starting up. - */ -- /*ARGSUSED */ - static void - nv_nop(cap) -! cmdarg_T *cap; - { - } - ---- 4098,4106 ---- - * Command character that doesn't do anything, but unlike nv_ignore() does - * start edit(). Used for "startinsert" executed while starting up. - */ - static void - nv_nop(cap) -! cmdarg_T *cap UNUSED; - { - } - -*************** -*** 5241,5247 **** - if (cap->oap->op_type != OP_NOP - && (cap->oap->start.lnum > curbuf->b_ml.ml_line_count - || cap->oap->start.col > -! STRLEN(ml_get(cap->oap->start.lnum)))) - clearopbeep(cap->oap); - } - } ---- 5238,5244 ---- - if (cap->oap->op_type != OP_NOP - && (cap->oap->start.lnum > curbuf->b_ml.ml_line_count - || cap->oap->start.col > -! (colnr_T)STRLEN(ml_get(cap->oap->start.lnum)))) - clearopbeep(cap->oap); - } - } -*************** -*** 5816,5822 **** - for (n = cap->count1; n > 0; --n) - { - if ((!PAST_LINE && oneright() == FAIL) -! || (PAST_LINE && *ml_get_cursor() == NUL)) - { - /* - * wraps to next line if 'whichwrap' has 's'. ---- 5813,5822 ---- - for (n = cap->count1; n > 0; --n) - { - if ((!PAST_LINE && oneright() == FAIL) -! #ifdef FEAT_VISUAL -! || (PAST_LINE && *ml_get_cursor() == NUL) -! #endif -! ) - { - /* - * wraps to next line if 'whichwrap' has 's'. -*** ../vim-7.2.173/src/option.c 2009-03-18 15:40:03.000000000 +0100 ---- src/option.c 2009-05-15 21:08:50.000000000 +0200 -*************** -*** 5302,5315 **** - * When "set_sid" is zero set the scriptID to current_SID. When "set_sid" is - * SID_NONE don't set the scriptID. Otherwise set the scriptID to "set_sid". - */ -- /*ARGSUSED*/ - void - set_string_option_direct(name, opt_idx, val, opt_flags, set_sid) - char_u *name; - int opt_idx; - char_u *val; - int opt_flags; /* OPT_FREE, OPT_LOCAL and/or OPT_GLOBAL */ -! int set_sid; - { - char_u *s; - char_u **varp; ---- 5302,5314 ---- - * When "set_sid" is zero set the scriptID to current_SID. When "set_sid" is - * SID_NONE don't set the scriptID. Otherwise set the scriptID to "set_sid". - */ - void - set_string_option_direct(name, opt_idx, val, opt_flags, set_sid) - char_u *name; - int opt_idx; - char_u *val; - int opt_flags; /* OPT_FREE, OPT_LOCAL and/or OPT_GLOBAL */ -! int set_sid UNUSED; - { - char_u *s; - char_u **varp; -*************** -*** 9357,9366 **** - /* - * Check for NULL pointers in a winopt_T and replace them with empty_option. - */ -- /*ARGSUSED*/ - void - check_winopt(wop) -! winopt_T *wop; - { - #ifdef FEAT_FOLDING - check_string_option(&wop->wo_fdi); ---- 9356,9364 ---- - /* - * Check for NULL pointers in a winopt_T and replace them with empty_option. - */ - void - check_winopt(wop) -! winopt_T *wop UNUSED; - { - #ifdef FEAT_FOLDING - check_string_option(&wop->wo_fdi); -*************** -*** 9382,9391 **** - /* - * Free the allocated memory inside a winopt_T. - */ -- /*ARGSUSED*/ - void - clear_winopt(wop) -! winopt_T *wop; - { - #ifdef FEAT_FOLDING - clear_string_option(&wop->wo_fdi); ---- 9380,9388 ---- - /* - * Free the allocated memory inside a winopt_T. - */ - void - clear_winopt(wop) -! winopt_T *wop UNUSED; - { - #ifdef FEAT_FOLDING - clear_string_option(&wop->wo_fdi); -*** ../vim-7.2.173/src/os_unix.c 2009-05-13 12:46:36.000000000 +0200 ---- src/os_unix.c 2009-05-15 21:13:43.000000000 +0200 -*************** -*** 458,467 **** - * Return total amount of memory available in Kbyte. - * Doesn't change when memory has been allocated. - */ -- /* ARGSUSED */ - long_u - mch_total_mem(special) -! int special; - { - # ifdef __EMX__ - return ulimit(3, 0L) >> 10; /* always 32MB? */ ---- 458,466 ---- - * Return total amount of memory available in Kbyte. - * Doesn't change when memory has been allocated. - */ - long_u - mch_total_mem(special) -! int special UNUSED; - { - # ifdef __EMX__ - return ulimit(3, 0L) >> 10; /* always 32MB? */ -*************** -*** 815,821 **** - * Let me try it with a few tricky defines from my own osdef.h (jw). - */ - #if defined(SIGWINCH) -- /* ARGSUSED */ - static RETSIGTYPE - sig_winch SIGDEFARG(sigarg) - { ---- 814,819 ---- -*************** -*** 1355,1365 **** - /* - * Check_win checks whether we have an interactive stdout. - */ -- /* ARGSUSED */ - int - mch_check_win(argc, argv) -! int argc; -! char **argv; - { - #ifdef OS2 - /* ---- 1353,1362 ---- - /* - * Check_win checks whether we have an interactive stdout. - */ - int - mch_check_win(argc, argv) -! int argc UNUSED; -! char **argv UNUSED; - { - #ifdef OS2 - /* -*************** -*** 2467,2473 **** - } - - /* Catch file names which are too long. */ -! if (retval == FAIL || STRLEN(buf) + STRLEN(fname) >= len) - return FAIL; - - /* Do not append ".", "/dir/." is equal to "/dir". */ ---- 2464,2470 ---- - } - - /* Catch file names which are too long. */ -! if (retval == FAIL || (int)(STRLEN(buf) + STRLEN(fname)) >= len) - return FAIL; - - /* Do not append ".", "/dir/." is equal to "/dir". */ -*************** -*** 2686,2692 **** - */ - vim_acl_T - mch_get_acl(fname) -! char_u *fname; - { - vim_acl_T ret = NULL; - #ifdef HAVE_POSIX_ACL ---- 2683,2689 ---- - */ - vim_acl_T - mch_get_acl(fname) -! char_u *fname UNUSED; - { - vim_acl_T ret = NULL; - #ifdef HAVE_POSIX_ACL -*************** -*** 2746,2752 **** - */ - void - mch_set_acl(fname, aclent) -! char_u *fname; - vim_acl_T aclent; - { - if (aclent == NULL) ---- 2743,2749 ---- - */ - void - mch_set_acl(fname, aclent) -! char_u *fname UNUSED; - vim_acl_T aclent; - { - if (aclent == NULL) -*************** -*** 2789,2798 **** - /* - * Set hidden flag for "name". - */ -- /* ARGSUSED */ - void - mch_hide(name) -! char_u *name; - { - /* can't hide a file */ - } ---- 2786,2794 ---- - /* - * Set hidden flag for "name". - */ - void - mch_hide(name) -! char_u *name UNUSED; - { - /* can't hide a file */ - } -*************** -*** 3481,3490 **** - /* - * set screen mode, always fails. - */ -- /* ARGSUSED */ - int - mch_screenmode(arg) -! char_u *arg; - { - EMSG(_(e_screenmode)); - return FAIL; ---- 3477,3485 ---- - /* - * set screen mode, always fails. - */ - int - mch_screenmode(arg) -! char_u *arg UNUSED; - { - EMSG(_(e_screenmode)); - return FAIL; -*************** -*** 4189,4197 **** - { - s = vim_strchr(lp + written, NL); - len = write(toshell_fd, (char *)lp + written, -! s == NULL ? l : s - (lp + written)); - } -! if (len == l) - { - /* Finished a line, add a NL, unless this line - * should not have one. */ ---- 4184,4193 ---- - { - s = vim_strchr(lp + written, NL); - len = write(toshell_fd, (char *)lp + written, -! s == NULL ? l -! : (size_t)(s - (lp + written))); - } -! if (len == (int)l) - { - /* Finished a line, add a NL, unless this line - * should not have one. */ -*************** -*** 4746,4752 **** - * Returns also, when a request from Sniff is waiting -- toni. - * Or when a Linux GPM mouse event is waiting. - */ -- /* ARGSUSED */ - #if defined(__BEOS__) - int - #else ---- 4742,4747 ---- -*************** -*** 4755,4761 **** - RealWaitForChar(fd, msec, check_for_gpm) - int fd; - long msec; -! int *check_for_gpm; - { - int ret; - #if defined(FEAT_XCLIPBOARD) || defined(USE_XSMP) || defined(FEAT_MZSCHEME) ---- 4750,4756 ---- - RealWaitForChar(fd, msec, check_for_gpm) - int fd; - long msec; -! int *check_for_gpm UNUSED; - { - int ret; - #if defined(FEAT_XCLIPBOARD) || defined(USE_XSMP) || defined(FEAT_MZSCHEME) -*************** -*** 5572,5578 **** - i = fread((char *)buffer, 1, len, fd); - fclose(fd); - mch_remove(tempname); -! if (i != len) - { - /* unexpected read error */ - EMSG2(_(e_notread), tempname); ---- 5567,5573 ---- - i = fread((char *)buffer, 1, len, fd); - fclose(fd); - mch_remove(tempname); -! if (i != (int)len) - { - /* unexpected read error */ - EMSG2(_(e_notread), tempname); -*************** -*** 5633,5639 **** - if (shell_style == STYLE_PRINT && !did_find_nul) - { - /* If there is a NUL, set did_find_nul, else set check_spaces */ -! if (len && (int)STRLEN(buffer) < len - 1) - did_find_nul = TRUE; - else - check_spaces = TRUE; ---- 5628,5634 ---- - if (shell_style == STYLE_PRINT && !did_find_nul) - { - /* If there is a NUL, set did_find_nul, else set check_spaces */ -! if (len && (int)STRLEN(buffer) < (int)len - 1) - did_find_nul = TRUE; - else - check_spaces = TRUE; -*** ../vim-7.2.173/src/os_unix.h 2009-05-13 12:46:36.000000000 +0200 ---- src/os_unix.h 2009-05-15 21:10:31.000000000 +0200 -*************** -*** 126,132 **** - # define SIGDUMMYARG 0, 0, (struct sigcontext *)0 - # else - # define SIGPROTOARG (int) -! # define SIGDEFARG(s) (s) int s; - # define SIGDUMMYARG 0 - # endif - #else ---- 126,132 ---- - # define SIGDUMMYARG 0, 0, (struct sigcontext *)0 - # else - # define SIGPROTOARG (int) -! # define SIGDEFARG(s) (s) int s UNUSED; - # define SIGDUMMYARG 0 - # endif - #else -*** ../vim-7.2.173/src/regexp.c 2009-02-21 22:03:06.000000000 +0100 ---- src/regexp.c 2009-05-15 21:14:18.000000000 +0200 -*************** -*** 471,477 **** - - if ((*pp)[1] == ':') - { -! for (i = 0; i < sizeof(class_names) / sizeof(*class_names); ++i) - if (STRNCMP(*pp + 2, class_names[i], STRLEN(class_names[i])) == 0) - { - *pp += STRLEN(class_names[i]) + 2; ---- 471,477 ---- - - if ((*pp)[1] == ':') - { -! for (i = 0; i < (int)(sizeof(class_names) / sizeof(*class_names)); ++i) - if (STRNCMP(*pp + 2, class_names[i], STRLEN(class_names[i])) == 0) - { - *pp += STRLEN(class_names[i]) + 2; -*************** -*** 3362,3373 **** - * Match a regexp against a string ("line" points to the string) or multiple - * lines ("line" is NULL, use reg_getline()). - */ -- /*ARGSUSED*/ - static long - vim_regexec_both(line, col, tm) - char_u *line; - colnr_T col; /* column to start looking for match */ -! proftime_T *tm; /* timeout limit or NULL */ - { - regprog_T *prog; - char_u *s; ---- 3362,3372 ---- - * Match a regexp against a string ("line" points to the string) or multiple - * lines ("line" is NULL, use reg_getline()). - */ - static long - vim_regexec_both(line, col, tm) - char_u *line; - colnr_T col; /* column to start looking for match */ -! proftime_T *tm UNUSED; /* timeout limit or NULL */ - { - regprog_T *prog; - char_u *s; -*** ../vim-7.2.173/src/search.c 2009-04-22 18:43:06.000000000 +0200 ---- src/search.c 2009-05-15 21:16:36.000000000 +0200 -*************** -*** 522,528 **** - * When FEAT_EVAL is defined, returns the index of the first matching - * subpattern plus one; one if there was none. - */ -- /*ARGSUSED*/ - int - searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum, tm) - win_T *win; /* window to search in; can be NULL for a ---- 522,527 ---- -*************** -*** 535,541 **** - int options; - int pat_use; /* which pattern to use when "pat" is empty */ - linenr_T stop_lnum; /* stop after this line number when != 0 */ -! proftime_T *tm; /* timeout limit or NULL */ - { - int found; - linenr_T lnum; /* no init to shut up Apollo cc */ ---- 534,540 ---- - int options; - int pat_use; /* which pattern to use when "pat" is empty */ - linenr_T stop_lnum; /* stop after this line number when != 0 */ -! proftime_T *tm UNUSED; /* timeout limit or NULL */ - { - int found; - linenr_T lnum; /* no init to shut up Apollo cc */ -*************** -*** 554,561 **** - int save_called_emsg = called_emsg; - #ifdef FEAT_SEARCH_EXTRA - int break_loop = FALSE; -- #else -- # define break_loop FALSE - #endif - - if (search_regcomp(pat, RE_SEARCH, pat_use, ---- 553,558 ---- -*************** -*** 940,946 **** - * twice. - */ - if (!p_ws || stop_lnum != 0 || got_int || called_emsg -! || break_loop || found || loop) - break; - - /* ---- 937,946 ---- - * twice. - */ - if (!p_ws || stop_lnum != 0 || got_int || called_emsg -! #ifdef FEAT_SEARCH_EXTRA -! || break_loop -! #endif -! || found || loop) - break; - - /* -*************** -*** 958,964 **** - give_warning((char_u *)_(dir == BACKWARD - ? top_bot_msg : bot_top_msg), TRUE); - } -! if (got_int || called_emsg || break_loop) - break; - } - while (--count > 0 && found); /* stop after count matches or no match */ ---- 958,968 ---- - give_warning((char_u *)_(dir == BACKWARD - ? top_bot_msg : bot_top_msg), TRUE); - } -! if (got_int || called_emsg -! #ifdef FEAT_SEARCH_EXTRA -! || break_loop -! #endif -! ) - break; - } - while (--count > 0 && found); /* stop after count matches or no match */ -*** ../vim-7.2.173/src/tag.c 2009-02-23 00:53:35.000000000 +0100 ---- src/tag.c 2009-05-15 21:16:59.000000000 +0200 -*************** -*** 1105,1114 **** - /* - * Print the tag stack - */ -- /*ARGSUSED*/ - void - do_tags(eap) -! exarg_T *eap; - { - int i; - char_u *name; ---- 1105,1113 ---- - /* - * Print the tag stack - */ - void - do_tags(eap) -! exarg_T *eap UNUSED; - { - int i; - char_u *name; -*************** -*** 2530,2540 **** - * Callback function for finding all "tags" and "tags-??" files in - * 'runtimepath' doc directories. - */ -- /*ARGSUSED*/ - static void - found_tagfile_cb(fname, cookie) - char_u *fname; -! void *cookie; - { - if (ga_grow(&tag_fnames, 1) == OK) - ((char_u **)(tag_fnames.ga_data))[tag_fnames.ga_len++] = ---- 2529,2538 ---- - * Callback function for finding all "tags" and "tags-??" files in - * 'runtimepath' doc directories. - */ - static void - found_tagfile_cb(fname, cookie) - char_u *fname; -! void *cookie UNUSED; - { - if (ga_grow(&tag_fnames, 1) == OK) - ((char_u **)(tag_fnames.ga_data))[tag_fnames.ga_len++] = -*** ../vim-7.2.173/src/version.c 2009-05-14 22:19:19.000000000 +0200 ---- src/version.c 2009-05-15 21:21:44.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 174, - /**/ - --- -TERRY GILLIAM PLAYED: PATSY (ARTHUR'S TRUSTY STEED), THE GREEN KNIGHT - SOOTHSAYER, BRIDGEKEEPER, SIR GAWAIN (THE FIRST TO BE - KILLED BY THE RABBIT) - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.175 --- a/components/vim/vim72-patches/7.2.175 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.175 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.175 -Problem: Compiler warning in OpenBSD. -Solution: Add type cast for NULL. (Dasn) -Files: src/if_cscope.c - - -*** ../vim-7.2.174/src/if_cscope.c 2009-04-22 16:22:44.000000000 +0200 ---- src/if_cscope.c 2009-05-16 16:15:03.000000000 +0200 -*************** -*** 994,1000 **** - vim_free(ppath); - - #if defined(UNIX) -! if (execl("/bin/sh", "sh", "-c", cmd, NULL) == -1) - PERROR(_("cs_create_connection exec failed")); - - exit(127); ---- 994,1000 ---- - vim_free(ppath); - - #if defined(UNIX) -! if (execl("/bin/sh", "sh", "-c", cmd, (char *)NULL) == -1) - PERROR(_("cs_create_connection exec failed")); - - exit(127); -*** ../vim-7.2.174/src/version.c 2009-05-15 21:31:11.000000000 +0200 ---- src/version.c 2009-05-16 16:13:15.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 175, - /**/ - --- -Every time I lose weight, it finds me again! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.176 --- a/components/vim/vim72-patches/7.2.176 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,207 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.176 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.176 -Problem: Exceptions for splint are not useful. -Solution: Remove the S_SPLINT_S ifdefs. -Files: src/edit.c, src/ex_cmds.c, src/ex_docmd.c, src/os_unix.c, - src/os_unix.h, src/os_unixx.h, src/structs.h, src/term.h - - -*** ../vim-7.2.175/src/edit.c 2009-05-15 21:31:11.000000000 +0200 ---- src/edit.c 2009-05-16 16:18:35.000000000 +0200 -*************** -*** 69,79 **** - compl_T *cp_prev; - char_u *cp_str; /* matched text */ - char cp_icase; /* TRUE or FALSE: ignore case */ -- #ifdef S_SPLINT_S /* splint can't handle array of pointers */ -- char_u **cp_text; /* text for the menu */ -- #else - char_u *(cp_text[CPT_COUNT]); /* text for the menu */ -- #endif - char_u *cp_fname; /* file containing the match, allocated when - * cp_flags has FREE_FNAME */ - int cp_flags; /* ORIGINAL_TEXT, CONT_S_IPOS or FREE_FNAME */ ---- 69,75 ---- -*************** -*** 3835,3845 **** - char_u *word; - int icase = FALSE; - int adup = FALSE; -- #ifdef S_SPLINT_S /* splint doesn't parse array of pointers correctly */ -- char_u **cptext; -- #else - char_u *(cptext[CPT_COUNT]); -- #endif - - if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL) - { ---- 3831,3837 ---- -*** ../vim-7.2.175/src/ex_cmds.c 2009-05-15 21:31:11.000000000 +0200 ---- src/ex_cmds.c 2009-05-16 16:18:56.000000000 +0200 -*************** -*** 5776,5785 **** - { - char_u *s, *d; - int i; -- #ifdef S_SPLINT_S /* splint doesn't understand array of pointers */ -- static char **mtable; -- static char **rtable; -- #else - static char *(mtable[]) = {"*", "g*", "[*", "]*", ":*", - "/*", "/\\*", "\"*", "**", - "/\\(\\)", ---- 5776,5781 ---- -*************** -*** 5794,5800 **** - "/\\\\?", "/\\\\z(\\\\)", "\\\\=", ":s\\\\=", - "\\[count]", "\\[quotex]", "\\[range]", - "\\[pattern]", "\\\\bar", "/\\\\%\\$"}; -- #endif - int flags; - - d = IObuff; /* assume IObuff is long enough! */ ---- 5790,5795 ---- -*** ../vim-7.2.175/src/ex_docmd.c 2009-05-15 21:31:11.000000000 +0200 ---- src/ex_docmd.c 2009-05-16 16:19:26.000000000 +0200 -*************** -*** 9395,9407 **** - { - int len; - int i; -! #ifdef S_SPLINT_S /* splint can't handle array of pointers */ -! static char **spec_str; -! static char *(nospec_str[]) -! #else -! static char *(spec_str[]) -! #endif -! = { - "%", - #define SPEC_PERC 0 - "#", ---- 9395,9401 ---- - { - int len; - int i; -! static char *(spec_str[]) = { - "%", - #define SPEC_PERC 0 - "#", -*** ../vim-7.2.175/src/os_unix.c 2009-05-15 21:31:11.000000000 +0200 ---- src/os_unix.c 2009-05-16 16:20:00.000000000 +0200 -*************** -*** 199,207 **** - #endif - - #ifndef SIG_ERR -! # ifndef S_SPLINT_S -! # define SIG_ERR ((RETSIGTYPE (*)())-1) -! # endif - #endif - - /* volatile because it is used in signal handler sig_winch(). */ ---- 199,205 ---- - #endif - - #ifndef SIG_ERR -! # define SIG_ERR ((RETSIGTYPE (*)())-1) - #endif - - /* volatile because it is used in signal handler sig_winch(). */ -*************** -*** 443,451 **** - - #if defined(HAVE_TOTAL_MEM) || defined(PROTO) - # ifdef HAVE_SYS_RESOURCE_H -! # ifndef S_SPLINT_S /* splint crashes on bits/resource.h */ -! # include -! # endif - # endif - # if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL) - # include ---- 441,447 ---- - - #if defined(HAVE_TOTAL_MEM) || defined(PROTO) - # ifdef HAVE_SYS_RESOURCE_H -! # include - # endif - # if defined(HAVE_SYS_SYSCTL_H) && defined(HAVE_SYSCTL) - # include -*** ../vim-7.2.175/src/os_unix.h 2009-05-15 21:31:11.000000000 +0200 ---- src/os_unix.h 2009-05-16 16:17:22.000000000 +0200 -*************** -*** 53,61 **** - #endif - - #ifdef HAVE_UNISTD_H -! # ifndef S_SPLINT_S /* splint crashes on bits/confname.h */ -! # include -! # endif - #endif - - #ifdef HAVE_LIBC_H ---- 53,59 ---- - #endif - - #ifdef HAVE_UNISTD_H -! # include - #endif - - #ifdef HAVE_LIBC_H -*** ../vim-7.2.175/src/structs.h 2009-05-13 20:47:07.000000000 +0200 ---- src/structs.h 2009-05-16 16:17:51.000000000 +0200 -*************** -*** 1646,1656 **** - #endif - #ifdef FEAT_DIFF - diff_T *tp_first_diff; -- # ifdef S_SPLINT_S /* splint doesn't understand the array of pointers */ -- buf_T **tp_diffbuf; -- # else - buf_T *(tp_diffbuf[DB_COUNT]); -- # endif - int tp_diff_invalid; /* list of diffs is outdated */ - #endif - frame_T *tp_snapshot; /* window layout snapshot */ ---- 1646,1652 ---- -*** ../vim-7.2.175/src/term.h 2009-05-13 18:54:14.000000000 +0200 ---- src/term.h 2009-05-16 16:20:06.000000000 +0200 -*************** -*** 96,106 **** - * - there should be code in term.c to obtain the value from the termcap - */ - -- #ifdef S_SPLINT_S /* splint doesn't understand array of pointers */ -- extern char_u **term_strings; /* current terminal strings */ -- #else - extern char_u *(term_strings[]); /* current terminal strings */ -- #endif - - /* - * strings used for terminal ---- 96,102 ---- -*** ../vim-7.2.175/src/version.c 2009-05-16 16:15:39.000000000 +0200 ---- src/version.c 2009-05-16 16:34:10.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 176, - /**/ - --- -Corn oil comes from corn and olive oil comes from olives, so where -does baby oil come from? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.177 --- a/components/vim/vim72-patches/7.2.177 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2726 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.177 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.177 -Problem: Compiler warnings when using -Wextra -Solution: Add UNUSED and type casts. -Files: src/eval.c, src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, - src/fileio.c, src/hardcopy.c, src/if_cscope.c, src/if_xcmdsrv.c, - src/farsi.c, src/mark.c, src/menu.c - - -*** ../vim-7.2.176/src/eval.c 2009-05-15 21:31:11.000000000 +0200 ---- src/eval.c 2009-05-16 16:58:30.000000000 +0200 -*************** -*** 3772,3778 **** - * Function given to ExpandGeneric() to obtain the list of user defined - * (global/buffer/window/built-in) variable names. - */ -- /*ARGSUSED*/ - char_u * - get_user_var_name(xp, idx) - expand_T *xp; ---- 3772,3777 ---- -*************** -*** 7787,7793 **** - * Function given to ExpandGeneric() to obtain the list of internal or - * user defined variable or function names. - */ -- /*ARGSUSED*/ - char_u * - get_expr_name(xp, idx) - expand_T *xp; ---- 7786,7791 ---- -*************** -*** 8655,8664 **** - /* - * "byte2line(byte)" function - */ -- /*ARGSUSED*/ - static void - f_byte2line(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifndef FEAT_BYTEOFF ---- 8653,8661 ---- - /* - * "byte2line(byte)" function - */ - static void - f_byte2line(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifndef FEAT_BYTEOFF -*************** -*** 8678,8684 **** - /* - * "byteidx()" function - */ -- /*ARGSUSED*/ - static void - f_byteidx(argvars, rettv) - typval_T *argvars; ---- 8675,8680 ---- -*************** -*** 8852,8858 **** - static void - f_clearmatches(argvars, rettv) - typval_T *argvars UNUSED; -! typval_T *rettv; - { - #ifdef FEAT_SEARCH_EXTRA - clear_matches(curwin); ---- 8848,8854 ---- - static void - f_clearmatches(argvars, rettv) - typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_SEARCH_EXTRA - clear_matches(curwin); -*************** -*** 8916,8926 **** - /* - * "complete()" function - */ -- /*ARGSUSED*/ - static void - f_complete(argvars, rettv) - typval_T *argvars; -! typval_T *rettv; - { - int startcol; - ---- 8912,8921 ---- - /* - * "complete()" function - */ - static void - f_complete(argvars, rettv) - typval_T *argvars; -! typval_T *rettv UNUSED; - { - int startcol; - -*************** -*** 8951,8957 **** - /* - * "complete_add()" function - */ -- /*ARGSUSED*/ - static void - f_complete_add(argvars, rettv) - typval_T *argvars; ---- 8946,8951 ---- -*************** -*** 8963,8972 **** - /* - * "complete_check()" function - */ -- /*ARGSUSED*/ - static void - f_complete_check(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int saved = RedrawingDisabled; ---- 8957,8965 ---- - /* - * "complete_check()" function - */ - static void - f_complete_check(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int saved = RedrawingDisabled; -*************** -*** 8981,8991 **** - /* - * "confirm(message, buttons[, default [, type]])" function - */ -- /*ARGSUSED*/ - static void - f_confirm(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) - char_u *message; ---- 8974,8983 ---- - /* - * "confirm(message, buttons[, default [, type]])" function - */ - static void - f_confirm(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) - char_u *message; -*************** -*** 9150,9160 **** - * - * Checks the existence of a cscope connection. - */ -- /*ARGSUSED*/ - static void - f_cscope_connection(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_CSCOPE - int num = 0; ---- 9142,9151 ---- - * - * Checks the existence of a cscope connection. - */ - static void - f_cscope_connection(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_CSCOPE - int num = 0; -*************** -*** 9181,9187 **** - * Moves the cursor to the specified line and column. - * Returns 0 when the position could be set, -1 otherwise. - */ -- /*ARGSUSED*/ - static void - f_cursor(argvars, rettv) - typval_T *argvars; ---- 9172,9177 ---- -*************** -*** 9275,9285 **** - /* - * "did_filetype()" function - */ -- /*ARGSUSED*/ - static void - f_did_filetype(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_AUTOCMD - rettv->vval.v_number = did_filetype; ---- 9265,9274 ---- - /* - * "did_filetype()" function - */ - static void - f_did_filetype(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_AUTOCMD - rettv->vval.v_number = did_filetype; -*************** -*** 9289,9299 **** - /* - * "diff_filler()" function - */ -- /*ARGSUSED*/ - static void - f_diff_filler(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_DIFF - rettv->vval.v_number = diff_check_fill(curwin, get_tv_lnum(argvars)); ---- 9278,9287 ---- - /* - * "diff_filler()" function - */ - static void - f_diff_filler(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_DIFF - rettv->vval.v_number = diff_check_fill(curwin, get_tv_lnum(argvars)); -*************** -*** 9303,9313 **** - /* - * "diff_hlID()" function - */ -- /*ARGSUSED*/ - static void - f_diff_hlID(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_DIFF - linenr_T lnum = get_tv_lnum(argvars); ---- 9291,9300 ---- - /* - * "diff_hlID()" function - */ - static void - f_diff_hlID(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_DIFF - linenr_T lnum = get_tv_lnum(argvars); -*************** -*** 9420,9426 **** - /* - * "eval()" function - */ -- /*ARGSUSED*/ - static void - f_eval(argvars, rettv) - typval_T *argvars; ---- 9407,9412 ---- -*************** -*** 9444,9453 **** - /* - * "eventhandler()" function - */ -- /*ARGSUSED*/ - static void - f_eventhandler(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = vgetc_busy; ---- 9430,9438 ---- - /* - * "eventhandler()" function - */ - static void - f_eventhandler(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = vgetc_busy; -*************** -*** 9704,9714 **** - /* - * "feedkeys()" function - */ -- /*ARGSUSED*/ - static void - f_feedkeys(argvars, rettv) - typval_T *argvars; -! typval_T *rettv; - { - int remap = TRUE; - char_u *keys, *flags; ---- 9689,9698 ---- - /* - * "feedkeys()" function - */ - static void - f_feedkeys(argvars, rettv) - typval_T *argvars; -! typval_T *rettv UNUSED; - { - int remap = TRUE; - char_u *keys, *flags; -*************** -*** 10210,10219 **** - /* - * "foldtext()" function - */ -- /*ARGSUSED*/ - static void - f_foldtext(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_FOLDING ---- 10194,10202 ---- - /* - * "foldtext()" function - */ - static void - f_foldtext(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_FOLDING -*************** -*** 10278,10287 **** - /* - * "foldtextresult(lnum)" function - */ -- /*ARGSUSED*/ - static void - f_foldtextresult(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_FOLDING ---- 10261,10269 ---- - /* - * "foldtextresult(lnum)" function - */ - static void - f_foldtextresult(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_FOLDING -*************** -*** 10314,10324 **** - /* - * "foreground()" function - */ -- /*ARGSUSED*/ - static void - f_foreground(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_GUI - if (gui.in_use) ---- 10296,10305 ---- - /* - * "foreground()" function - */ - static void - f_foreground(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_GUI - if (gui.in_use) -*************** -*** 10333,10339 **** - /* - * "function()" function - */ -- /*ARGSUSED*/ - static void - f_function(argvars, rettv) - typval_T *argvars; ---- 10314,10319 ---- -*************** -*** 10357,10367 **** - /* - * "garbagecollect()" function - */ -- /*ARGSUSED*/ - static void - f_garbagecollect(argvars, rettv) - typval_T *argvars; -! typval_T *rettv; - { - /* This is postponed until we are back at the toplevel, because we may be - * using Lists and Dicts internally. E.g.: ":echo [garbagecollect()]". */ ---- 10337,10346 ---- - /* - * "garbagecollect()" function - */ - static void - f_garbagecollect(argvars, rettv) - typval_T *argvars; -! typval_T *rettv UNUSED; - { - /* This is postponed until we are back at the toplevel, because we may be - * using Lists and Dicts internally. E.g.: ":echo [garbagecollect()]". */ -*************** -*** 10664,10673 **** - /* - * "getcharmod()" function - */ -- /*ARGSUSED*/ - static void - f_getcharmod(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = mod_mask; ---- 10643,10651 ---- - /* - * "getcharmod()" function - */ - static void - f_getcharmod(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = mod_mask; -*************** -*** 10676,10685 **** - /* - * "getcmdline()" function - */ -- /*ARGSUSED*/ - static void - f_getcmdline(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; ---- 10654,10662 ---- - /* - * "getcmdline()" function - */ - static void - f_getcmdline(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; -*************** -*** 10689,10698 **** - /* - * "getcmdpos()" function - */ -- /*ARGSUSED*/ - static void - f_getcmdpos(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = get_cmdline_pos() + 1; ---- 10666,10674 ---- - /* - * "getcmdpos()" function - */ - static void - f_getcmdpos(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = get_cmdline_pos() + 1; -*************** -*** 10701,10710 **** - /* - * "getcmdtype()" function - */ -- /*ARGSUSED*/ - static void - f_getcmdtype(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; ---- 10677,10685 ---- - /* - * "getcmdtype()" function - */ - static void - f_getcmdtype(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; -*************** -*** 10719,10728 **** - /* - * "getcwd()" function - */ -- /*ARGSUSED*/ - static void - f_getcwd(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - char_u cwd[MAXPATHL]; ---- 10694,10702 ---- - /* - * "getcwd()" function - */ - static void - f_getcwd(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - char_u cwd[MAXPATHL]; -*************** -*** 10743,10752 **** - /* - * "getfontname()" function - */ -- /*ARGSUSED*/ - static void - f_getfontname(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; ---- 10717,10725 ---- - /* - * "getfontname()" function - */ - static void - f_getfontname(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; -*************** -*** 10973,10982 **** - /* - * "getmatches()" function - */ -- /*ARGSUSED*/ - static void - f_getmatches(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_SEARCH_EXTRA ---- 10946,10954 ---- - /* - * "getmatches()" function - */ - static void - f_getmatches(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_SEARCH_EXTRA -*************** -*** 11004,11013 **** - /* - * "getpid()" function - */ -- /*ARGSUSED*/ - static void - f_getpid(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = mch_get_pid(); ---- 10976,10984 ---- - /* - * "getpid()" function - */ - static void - f_getpid(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = mch_get_pid(); -*************** -*** 11051,11061 **** - /* - * "getqflist()" and "getloclist()" functions - */ -- /*ARGSUSED*/ - static void - f_getqflist(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_QUICKFIX - win_T *wp; ---- 11022,11031 ---- - /* - * "getqflist()" and "getloclist()" functions - */ - static void - f_getqflist(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_QUICKFIX - win_T *wp; -*************** -*** 11170,11179 **** - /* - * "getwinposx()" function - */ -- /*ARGSUSED*/ - static void - f_getwinposx(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = -1; ---- 11140,11148 ---- - /* - * "getwinposx()" function - */ - static void - f_getwinposx(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = -1; -*************** -*** 11191,11200 **** - /* - * "getwinposy()" function - */ -- /*ARGSUSED*/ - static void - f_getwinposy(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = -1; ---- 11160,11168 ---- - /* - * "getwinposy()" function - */ - static void - f_getwinposy(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = -1; -*************** -*** 11921,11930 **** - /* - * "haslocaldir()" function - */ -- /*ARGSUSED*/ - static void - f_haslocaldir(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = (curwin->w_localdir != NULL); ---- 11889,11897 ---- - /* - * "haslocaldir()" function - */ - static void - f_haslocaldir(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = (curwin->w_localdir != NULL); -*************** -*** 11962,11971 **** - /* - * "histadd()" function - */ -- /*ARGSUSED*/ - static void - f_histadd(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_CMDHIST ---- 11929,11937 ---- - /* - * "histadd()" function - */ - static void - f_histadd(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_CMDHIST -*************** -*** 11996,12006 **** - /* - * "histdel()" function - */ -- /*ARGSUSED*/ - static void - f_histdel(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_CMDHIST - int n; ---- 11962,11971 ---- - /* - * "histdel()" function - */ - static void - f_histdel(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_CMDHIST - int n; -*************** -*** 12028,12037 **** - /* - * "histget()" function - */ -- /*ARGSUSED*/ - static void - f_histget(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_CMDHIST ---- 11993,12001 ---- - /* - * "histget()" function - */ - static void - f_histget(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_CMDHIST -*************** -*** 12061,12070 **** - /* - * "histnr()" function - */ -- /*ARGSUSED*/ - static void - f_histnr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int i; ---- 12025,12033 ---- - /* - * "histnr()" function - */ - static void - f_histnr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int i; -*************** -*** 12106,12115 **** - /* - * "hostname()" function - */ -- /*ARGSUSED*/ - static void - f_hostname(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - char_u hostname[256]; ---- 12069,12077 ---- - /* - * "hostname()" function - */ - static void - f_hostname(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - char_u hostname[256]; -*************** -*** 12122,12131 **** - /* - * iconv() function - */ -- /*ARGSUSED*/ - static void - f_iconv(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_MBYTE ---- 12084,12092 ---- - /* - * iconv() function - */ - static void - f_iconv(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_MBYTE -*************** -*** 12420,12429 **** - /* - * "inputrestore()" function - */ -- /*ARGSUSED*/ - static void - f_inputrestore(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - if (ga_userinput.ga_len > 0) ---- 12381,12389 ---- - /* - * "inputrestore()" function - */ - static void - f_inputrestore(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - if (ga_userinput.ga_len > 0) -*************** -*** 12443,12452 **** - /* - * "inputsave()" function - */ -- /*ARGSUSED*/ - static void - f_inputsave(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - /* Add an entry to the stack of typeahead storage. */ ---- 12403,12411 ---- - /* - * "inputsave()" function - */ - static void - f_inputsave(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - /* Add an entry to the stack of typeahead storage. */ -*************** -*** 12733,12742 **** - /* - * "last_buffer_nr()" function. - */ -- /*ARGSUSED*/ - static void - f_last_buffer_nr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int n = 0; ---- 12692,12700 ---- - /* - * "last_buffer_nr()" function. - */ - static void - f_last_buffer_nr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int n = 0; -*************** -*** 12863,12872 **** - /* - * "line2byte(lnum)" function - */ -- /*ARGSUSED*/ - static void - f_line2byte(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifndef FEAT_BYTEOFF ---- 12821,12829 ---- - /* - * "line2byte(lnum)" function - */ - static void - f_line2byte(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifndef FEAT_BYTEOFF -*************** -*** 12912,12921 **** - /* - * "localtime()" function - */ -- /*ARGSUSED*/ - static void - f_localtime(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->vval.v_number = (varnumber_T)time(NULL); ---- 12869,12877 ---- - /* - * "localtime()" function - */ - static void - f_localtime(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->vval.v_number = (varnumber_T)time(NULL); -*************** -*** 13497,13503 **** - /* - * "mode()" function - */ -- /*ARGSUSED*/ - static void - f_mode(argvars, rettv) - typval_T *argvars; ---- 13453,13458 ---- -*************** -*** 13726,13736 **** - /* - * "pumvisible()" function - */ -- /*ARGSUSED*/ - static void - f_pumvisible(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_INS_EXPAND - if (pum_visible()) ---- 13681,13690 ---- - /* - * "pumvisible()" function - */ - static void - f_pumvisible(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_INS_EXPAND - if (pum_visible()) -*************** -*** 14131,14140 **** - /* - * "remote_expr()" function - */ -- /*ARGSUSED*/ - static void - f_remote_expr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; ---- 14085,14093 ---- - /* - * "remote_expr()" function - */ - static void - f_remote_expr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; -*************** -*** 14147,14157 **** - /* - * "remote_foreground()" function - */ -- /*ARGSUSED*/ - static void - f_remote_foreground(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_CLIENTSERVER - # ifdef WIN32 ---- 14100,14109 ---- - /* - * "remote_foreground()" function - */ - static void - f_remote_foreground(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_CLIENTSERVER - # ifdef WIN32 -*************** -*** 14173,14182 **** - #endif - } - -- /*ARGSUSED*/ - static void - f_remote_peek(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_CLIENTSERVER ---- 14125,14133 ---- - #endif - } - - static void - f_remote_peek(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_CLIENTSERVER -*************** -*** 14231,14240 **** - #endif - } - -- /*ARGSUSED*/ - static void - f_remote_read(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - char_u *r = NULL; ---- 14182,14190 ---- - #endif - } - - static void - f_remote_read(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - char_u *r = NULL; -*************** -*** 14266,14275 **** - /* - * "remote_send()" function - */ -- /*ARGSUSED*/ - static void - f_remote_send(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; ---- 14216,14224 ---- - /* - * "remote_send()" function - */ - static void - f_remote_send(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - rettv->v_type = VAR_STRING; -*************** -*** 14398,14404 **** - /* - * "repeat()" function - */ -- /*ARGSUSED*/ - static void - f_repeat(argvars, rettv) - typval_T *argvars; ---- 14347,14352 ---- -*************** -*** 15207,15216 **** - } - - -- /*ARGSUSED*/ - static void - f_server2client(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_CLIENTSERVER ---- 15155,15163 ---- - } - - - static void - f_server2client(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_CLIENTSERVER -*************** -*** 15239,15248 **** - #endif - } - -- /*ARGSUSED*/ - static void - f_serverlist(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - char_u *r = NULL; ---- 15186,15194 ---- - #endif - } - - static void - f_serverlist(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - char_u *r = NULL; -*************** -*** 15263,15273 **** - /* - * "setbufvar()" function - */ -- /*ARGSUSED*/ - static void - f_setbufvar(argvars, rettv) - typval_T *argvars; -! typval_T *rettv; - { - buf_T *buf; - aco_save_T aco; ---- 15209,15218 ---- - /* - * "setbufvar()" function - */ - static void - f_setbufvar(argvars, rettv) - typval_T *argvars; -! typval_T *rettv UNUSED; - { - buf_T *buf; - aco_save_T aco; -*************** -*** 15402,15413 **** - /* - * Used by "setqflist()" and "setloclist()" functions - */ -- /*ARGSUSED*/ - static void - set_qf_ll_list(wp, list_arg, action_arg, rettv) -! win_T *wp; -! typval_T *list_arg; -! typval_T *action_arg; - typval_T *rettv; - { - #ifdef FEAT_QUICKFIX ---- 15347,15357 ---- - /* - * Used by "setqflist()" and "setloclist()" functions - */ - static void - set_qf_ll_list(wp, list_arg, action_arg, rettv) -! win_T *wp UNUSED; -! typval_T *list_arg UNUSED; -! typval_T *action_arg UNUSED; - typval_T *rettv; - { - #ifdef FEAT_QUICKFIX -*************** -*** 15442,15448 **** - /* - * "setloclist()" function - */ -- /*ARGSUSED*/ - static void - f_setloclist(argvars, rettv) - typval_T *argvars; ---- 15386,15391 ---- -*************** -*** 15520,15526 **** - /* - * "setpos()" function - */ -- /*ARGSUSED*/ - static void - f_setpos(argvars, rettv) - typval_T *argvars; ---- 15463,15468 ---- -*************** -*** 15564,15570 **** - /* - * "setqflist()" function - */ -- /*ARGSUSED*/ - static void - f_setqflist(argvars, rettv) - typval_T *argvars; ---- 15506,15511 ---- -*************** -*** 15667,15677 **** - /* - * "setwinvar()" and "settabwinvar()" functions - */ -- /*ARGSUSED*/ - static void - setwinvar(argvars, rettv, off) - typval_T *argvars; -! typval_T *rettv; - int off; - { - win_T *win; ---- 15608,15617 ---- - /* - * "setwinvar()" and "settabwinvar()" functions - */ - static void - setwinvar(argvars, rettv, off) - typval_T *argvars; -! typval_T *rettv UNUSED; - int off; - { - win_T *win; -*************** -*** 15987,15996 **** - /* - * "spellbadword()" function - */ -- /* ARGSUSED */ - static void - f_spellbadword(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - char_u *word = (char_u *)""; ---- 15927,15935 ---- - /* - * "spellbadword()" function - */ - static void - f_spellbadword(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - char_u *word = (char_u *)""; -*************** -*** 16042,16051 **** - /* - * "spellsuggest()" function - */ -- /*ARGSUSED*/ - static void - f_spellsuggest(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_SPELL ---- 15981,15989 ---- - /* - * "spellsuggest()" function - */ - static void - f_spellsuggest(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_SPELL -*************** -*** 16528,16537 **** - /* - * "synID(lnum, col, trans)" function - */ -- /*ARGSUSED*/ - static void - f_synID(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int id = 0; ---- 16466,16474 ---- - /* - * "synID(lnum, col, trans)" function - */ - static void - f_synID(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int id = 0; -*************** -*** 16556,16565 **** - /* - * "synIDattr(id, what [, mode])" function - */ -- /*ARGSUSED*/ - static void - f_synIDattr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - char_u *p = NULL; ---- 16493,16501 ---- - /* - * "synIDattr(id, what [, mode])" function - */ - static void - f_synIDattr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - char_u *p = NULL; -*************** -*** 16652,16661 **** - /* - * "synIDtrans(id)" function - */ -- /*ARGSUSED*/ - static void - f_synIDtrans(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int id; ---- 16588,16596 ---- - /* - * "synIDtrans(id)" function - */ - static void - f_synIDtrans(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int id; -*************** -*** 16675,16684 **** - /* - * "synstack(lnum, col)" function - */ -- /*ARGSUSED*/ - static void - f_synstack(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_SYN_HL ---- 16610,16618 ---- - /* - * "synstack(lnum, col)" function - */ - static void - f_synstack(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_SYN_HL -*************** -*** 16812,16822 **** - /* - * "tabpagebuflist()" function - */ -- /* ARGSUSED */ - static void - f_tabpagebuflist(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_WINDOWS - tabpage_T *tp; ---- 16746,16755 ---- - /* - * "tabpagebuflist()" function - */ - static void - f_tabpagebuflist(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_WINDOWS - tabpage_T *tp; -*************** -*** 16844,16853 **** - /* - * "tabpagenr()" function - */ -- /* ARGSUSED */ - static void - f_tabpagenr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int nr = 1; ---- 16777,16785 ---- - /* - * "tabpagenr()" function - */ - static void - f_tabpagenr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int nr = 1; -*************** -*** 16929,16938 **** - /* - * "tabpagewinnr()" function - */ -- /* ARGSUSED */ - static void - f_tabpagewinnr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int nr = 1; ---- 16861,16869 ---- - /* - * "tabpagewinnr()" function - */ - static void - f_tabpagewinnr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int nr = 1; -*************** -*** 16952,16961 **** - /* - * "tagfiles()" function - */ -- /*ARGSUSED*/ - static void - f_tagfiles(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - char_u fname[MAXPATHL + 1]; ---- 16883,16891 ---- - /* - * "tagfiles()" function - */ - static void - f_tagfiles(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - char_u fname[MAXPATHL + 1]; -*************** -*** 16995,17004 **** - /* - * "tempname()" function - */ -- /*ARGSUSED*/ - static void - f_tempname(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - static int x = 'A'; ---- 16925,16933 ---- - /* - * "tempname()" function - */ - static void - f_tempname(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - static int x = 'A'; -*************** -*** 17031,17041 **** - /* - * "test(list)" function: Just checking the walls... - */ -- /*ARGSUSED*/ - static void - f_test(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - /* Used for unit testing. Change the code below to your liking. */ - #if 0 ---- 16960,16969 ---- - /* - * "test(list)" function: Just checking the walls... - */ - static void - f_test(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - /* Used for unit testing. Change the code below to your liking. */ - #if 0 -*************** -*** 17320,17330 **** - /* - * "visualmode()" function - */ -- /*ARGSUSED*/ - static void - f_visualmode(argvars, rettv) -! typval_T *argvars; -! typval_T *rettv; - { - #ifdef FEAT_VISUAL - char_u str[2]; ---- 17248,17257 ---- - /* - * "visualmode()" function - */ - static void - f_visualmode(argvars, rettv) -! typval_T *argvars UNUSED; -! typval_T *rettv UNUSED; - { - #ifdef FEAT_VISUAL - char_u str[2]; -*************** -*** 17360,17369 **** - /* - * "wincol()" function - */ -- /*ARGSUSED*/ - static void - f_wincol(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - validate_cursor(); ---- 17287,17295 ---- - /* - * "wincol()" function - */ - static void - f_wincol(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - validate_cursor(); -*************** -*** 17390,17399 **** - /* - * "winline()" function - */ -- /*ARGSUSED*/ - static void - f_winline(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - validate_cursor(); ---- 17316,17324 ---- - /* - * "winline()" function - */ - static void - f_winline(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - validate_cursor(); -*************** -*** 17403,17412 **** - /* - * "winnr()" function - */ -- /* ARGSUSED */ - static void - f_winnr(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - int nr = 1; ---- 17328,17336 ---- - /* - * "winnr()" function - */ - static void - f_winnr(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - int nr = 1; -*************** -*** 17420,17429 **** - /* - * "winrestcmd()" function - */ -- /* ARGSUSED */ - static void - f_winrestcmd(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - #ifdef FEAT_WINDOWS ---- 17344,17352 ---- - /* - * "winrestcmd()" function - */ - static void - f_winrestcmd(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - #ifdef FEAT_WINDOWS -*************** -*** 17455,17465 **** - /* - * "winrestview()" function - */ -- /* ARGSUSED */ - static void - f_winrestview(argvars, rettv) - typval_T *argvars; -! typval_T *rettv; - { - dict_T *dict; - ---- 17378,17387 ---- - /* - * "winrestview()" function - */ - static void - f_winrestview(argvars, rettv) - typval_T *argvars; -! typval_T *rettv UNUSED; - { - dict_T *dict; - -*************** -*** 17501,17510 **** - /* - * "winsaveview()" function - */ -- /* ARGSUSED */ - static void - f_winsaveview(argvars, rettv) -! typval_T *argvars; - typval_T *rettv; - { - dict_T *dict; ---- 17423,17431 ---- - /* - * "winsaveview()" function - */ - static void - f_winsaveview(argvars, rettv) -! typval_T *argvars UNUSED; - typval_T *rettv; - { - dict_T *dict; -*************** -*** 21646,21657 **** - * Called by do_cmdline() to get the next line. - * Returns allocated string, or NULL for end of function. - */ -- /* ARGSUSED */ - char_u * - get_func_line(c, cookie, indent) -! int c; /* not used */ - void *cookie; -! int indent; /* not used */ - { - funccall_T *fcp = (funccall_T *)cookie; - ufunc_T *fp = fcp->func; ---- 21567,21577 ---- - * Called by do_cmdline() to get the next line. - * Returns allocated string, or NULL for end of function. - */ - char_u * - get_func_line(c, cookie, indent) -! int c UNUSED; - void *cookie; -! int indent UNUSED; - { - funccall_T *fcp = (funccall_T *)cookie; - ufunc_T *fp = fcp->func; -*************** -*** 22023,22032 **** - /* - * 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; ---- 21943,21951 ---- - /* - * List v:oldfiles in a nice way. - */ - void - ex_oldfiles(eap) -! exarg_T *eap UNUSED; - { - list_T *l = vimvars[VV_OLDFILES].vv_list; - listitem_T *li; -*** ../vim-7.2.176/src/ex_docmd.c 2009-05-16 16:36:25.000000000 +0200 ---- src/ex_docmd.c 2009-05-16 17:01:26.000000000 +0200 -*************** -*** 3004,3010 **** - - if (VIM_ISDIGIT(*cmd)) - p = skipwhite(skipdigits(cmd)); -! for (i = 0; i < sizeof(cmdmods) / sizeof(struct cmdmod); ++i) - { - for (j = 0; p[j] != NUL; ++j) - if (p[j] != cmdmods[i].name[j]) ---- 3004,3010 ---- - - if (VIM_ISDIGIT(*cmd)) - p = skipwhite(skipdigits(cmd)); -! for (i = 0; i < (int)(sizeof(cmdmods) / sizeof(struct cmdmod)); ++i) - { - for (j = 0; p[j] != NUL; ++j) - if (p[j] != cmdmods[i].name[j]) -*************** -*** 3032,3038 **** - char_u *p; - - /* Check command modifiers. */ -! for (i = 0; i < sizeof(cmdmods) / sizeof(struct cmdmod); ++i) - { - for (j = 0; name[j] != NUL; ++j) - if (name[j] != cmdmods[i].name[j]) ---- 3032,3038 ---- - char_u *p; - - /* Check command modifiers. */ -! for (i = 0; i < (int)(sizeof(cmdmods) / sizeof(struct cmdmod)); ++i) - { - for (j = 0; name[j] != NUL; ++j) - if (name[j] != cmdmods[i].name[j]) -*************** -*** 6093,6099 **** - {"bang", "bar", "buffer", "complete", "count", - "nargs", "range", "register"}; - -! if (idx >= sizeof(user_cmd_flags) / sizeof(user_cmd_flags[0])) - return NULL; - return (char_u *)user_cmd_flags[idx]; - } ---- 6093,6099 ---- - {"bang", "bar", "buffer", "complete", "count", - "nargs", "range", "register"}; - -! if (idx >= (int)(sizeof(user_cmd_flags) / sizeof(user_cmd_flags[0]))) - return NULL; - return (char_u *)user_cmd_flags[idx]; - } -*************** -*** 6108,6114 **** - { - static char *user_cmd_nargs[] = {"0", "1", "*", "?", "+"}; - -! if (idx >= sizeof(user_cmd_nargs) / sizeof(user_cmd_nargs[0])) - return NULL; - return (char_u *)user_cmd_nargs[idx]; - } ---- 6108,6114 ---- - { - static char *user_cmd_nargs[] = {"0", "1", "*", "?", "+"}; - -! if (idx >= (int)(sizeof(user_cmd_nargs) / sizeof(user_cmd_nargs[0]))) - return NULL; - return (char_u *)user_cmd_nargs[idx]; - } -*************** -*** 9144,9153 **** - /* - * ":stopinsert" - */ -- /*ARGSUSED*/ - static void - ex_stopinsert(eap) -! exarg_T *eap; - { - restart_edit = 0; - stop_insert_mode = TRUE; ---- 9144,9152 ---- - /* - * ":stopinsert" - */ - static void - ex_stopinsert(eap) -! exarg_T *eap UNUSED; - { - restart_edit = 0; - stop_insert_mode = TRUE; -*** ../vim-7.2.176/src/ex_eval.c 2007-11-24 21:50:19.000000000 +0100 ---- src/ex_eval.c 2009-05-16 17:06:09.000000000 +0200 -*************** -*** 60,66 **** ---- 60,68 ---- - #else - /* Values used for the Vim release. */ - # define THROW_ON_ERROR TRUE -+ # define THROW_ON_ERROR_TRUE - # define THROW_ON_INTERRUPT TRUE -+ # define THROW_ON_INTERRUPT_TRUE - #endif - - static void catch_exception __ARGS((except_T *excp)); -*************** -*** 1320,1335 **** ---- 1322,1341 ---- - * and reset the did_emsg or got_int flag, so this won't happen again at - * the next surrounding try conditional. - */ -+ #ifndef THROW_ON_ERROR_TRUE - if (did_emsg && !THROW_ON_ERROR) - { - inactivate_try = TRUE; - did_emsg = FALSE; - } -+ #endif -+ #ifndef THROW_ON_INTERRUPT_TRUE - if (got_int && !THROW_ON_INTERRUPT) - { - inactivate_try = TRUE; - got_int = FALSE; - } -+ #endif - idx = cleanup_conditionals(cstack, 0, inactivate_try); - if (idx >= 0) - { -*************** -*** 2254,2263 **** - /* - * ":endfunction" when not after a ":function" - */ -- /*ARGSUSED*/ - void - ex_endfunction(eap) -! exarg_T *eap; - { - EMSG(_("E193: :endfunction not inside a function")); - } ---- 2260,2268 ---- - /* - * ":endfunction" when not after a ":function" - */ - void - ex_endfunction(eap) -! exarg_T *eap UNUSED; - { - EMSG(_("E193: :endfunction not inside a function")); - } -*** ../vim-7.2.176/src/ex_getln.c 2009-05-15 21:31:11.000000000 +0200 ---- src/ex_getln.c 2009-05-16 17:06:55.000000000 +0200 -*************** -*** 4533,4539 **** - * right function to do the expansion. - */ - ret = FAIL; -! for (i = 0; i < sizeof(tab) / sizeof(struct expgen); ++i) - if (xp->xp_context == tab[i].context) - { - if (tab[i].ic) ---- 4533,4539 ---- - * right function to do the expansion. - */ - ret = FAIL; -! for (i = 0; i < (int)(sizeof(tab) / sizeof(struct expgen)); ++i) - if (xp->xp_context == tab[i].context) - { - if (tab[i].ic) -*** ../vim-7.2.176/src/fileio.c 2009-05-15 21:31:11.000000000 +0200 ---- src/fileio.c 2009-05-16 17:07:35.000000000 +0200 -*************** -*** 9085,9096 **** - * Called by do_cmdline() to get the next line for ":if". - * Returns allocated string, or NULL for end of autocommands. - */ -- /* ARGSUSED */ - static char_u * - getnextac(c, cookie, indent) -! int c; /* not used */ - void *cookie; -! int indent; /* not used */ - { - AutoPatCmd *acp = (AutoPatCmd *)cookie; - char_u *retval; ---- 9093,9103 ---- - * Called by do_cmdline() to get the next line for ":if". - * Returns allocated string, or NULL for end of autocommands. - */ - static char_u * - getnextac(c, cookie, indent) -! int c UNUSED; - void *cookie; -! int indent UNUSED; - { - AutoPatCmd *acp = (AutoPatCmd *)cookie; - char_u *retval; -*************** -*** 9201,9210 **** - * Function given to ExpandGeneric() to obtain the list of autocommand group - * names. - */ -- /*ARGSUSED*/ - char_u * - get_augroup_name(xp, idx) -! expand_T *xp; - int idx; - { - if (idx == augroups.ga_len) /* add "END" add the end */ ---- 9208,9216 ---- - * Function given to ExpandGeneric() to obtain the list of autocommand group - * names. - */ - char_u * - get_augroup_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - if (idx == augroups.ga_len) /* add "END" add the end */ -*************** -*** 9270,9279 **** - /* - * Function given to ExpandGeneric() to obtain the list of event names. - */ -- /*ARGSUSED*/ - char_u * - get_event_name(xp, idx) -! expand_T *xp; - int idx; - { - if (idx < augroups.ga_len) /* First list group names, if wanted */ ---- 9276,9284 ---- - /* - * Function given to ExpandGeneric() to obtain the list of event names. - */ - char_u * - get_event_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - if (idx < augroups.ga_len) /* First list group names, if wanted */ -*** ../vim-7.2.176/src/hardcopy.c 2008-01-12 16:46:41.000000000 +0100 ---- src/hardcopy.c 2009-05-16 17:18:27.000000000 +0200 -*************** -*** 442,453 **** - /* - * Print the page header. - */ -- /*ARGSUSED*/ - static void - prt_header(psettings, pagenum, lnum) - prt_settings_T *psettings; - int pagenum; -! linenr_T lnum; - { - int width = psettings->chars_per_line; - int page_line; ---- 442,452 ---- - /* - * Print the page header. - */ - static void - prt_header(psettings, pagenum, lnum) - prt_settings_T *psettings; - int pagenum; -! linenr_T lnum UNUSED; - { - int width = psettings->chars_per_line; - int page_line; -*************** -*** 1881,1887 **** - return FALSE; - - /* Find type of DSC comment */ -! for (comment = 0; comment < NUM_ELEMENTS(prt_dsc_table); comment++) - if (prt_resfile_strncmp(0, prt_dsc_table[comment].string, - prt_dsc_table[comment].len) == 0) - break; ---- 1880,1886 ---- - return FALSE; - - /* Find type of DSC comment */ -! for (comment = 0; comment < (int)NUM_ELEMENTS(prt_dsc_table); comment++) - if (prt_resfile_strncmp(0, prt_dsc_table[comment].string, - prt_dsc_table[comment].len) == 0) - break; -*************** -*** 2454,2465 **** - } - #endif - -- /*ARGSUSED*/ - int - mch_print_init(psettings, jobname, forceit) - prt_settings_T *psettings; - char_u *jobname; -! int forceit; - { - int i; - char *paper_name; ---- 2453,2463 ---- - } - #endif - - int - mch_print_init(psettings, jobname, forceit) - prt_settings_T *psettings; - char_u *jobname; -! int forceit UNUSED; - { - int i; - char *paper_name; -*************** -*** 2514,2520 **** - if (!(props & ENC_8BIT) && ((*p_pmcs != NUL) || !(props & ENC_UNICODE))) - { - p_mbenc_first = NULL; -! for (cmap = 0; cmap < NUM_ELEMENTS(prt_ps_mbfonts); cmap++) - if (prt_match_encoding((char *)p_encoding, &prt_ps_mbfonts[cmap], - &p_mbenc)) - { ---- 2512,2518 ---- - if (!(props & ENC_8BIT) && ((*p_pmcs != NUL) || !(props & ENC_UNICODE))) - { - p_mbenc_first = NULL; -! for (cmap = 0; cmap < (int)NUM_ELEMENTS(prt_ps_mbfonts); cmap++) - if (prt_match_encoding((char *)p_encoding, &prt_ps_mbfonts[cmap], - &p_mbenc)) - { -*************** -*** 2642,2648 **** - paper_name = "A4"; - paper_strlen = 2; - } -! for (i = 0; i < PRT_MEDIASIZE_LEN; ++i) - if (STRLEN(prt_mediasize[i].name) == (unsigned)paper_strlen - && STRNICMP(prt_mediasize[i].name, paper_name, - paper_strlen) == 0) ---- 2640,2646 ---- - paper_name = "A4"; - paper_strlen = 2; - } -! for (i = 0; i < (int)PRT_MEDIASIZE_LEN; ++i) - if (STRLEN(prt_mediasize[i].name) == (unsigned)paper_strlen - && STRNICMP(prt_mediasize[i].name, paper_name, - paper_strlen) == 0) -*************** -*** 3308,3317 **** - return !prt_file_error; - } - -- /*ARGSUSED*/ - int - mch_print_begin_page(str) -! char_u *str; - { - int page_num[2]; - ---- 3306,3314 ---- - return !prt_file_error; - } - - int - mch_print_begin_page(str) -! char_u *str UNUSED; - { - int page_num[2]; - -*************** -*** 3379,3389 **** - #endif - } - -- /*ARGSUSED*/ - int - mch_print_text_out(p, len) - char_u *p; -! int len; - { - int need_break; - char_u ch; ---- 3376,3385 ---- - #endif - } - - int - mch_print_text_out(p, len) - char_u *p; -! int len UNUSED; - { - int need_break; - char_u ch; -*** ../vim-7.2.176/src/if_cscope.c 2009-05-16 16:15:39.000000000 +0200 ---- src/if_cscope.c 2009-05-16 17:19:30.000000000 +0200 -*************** -*** 83,89 **** - N_("Reinit all connections"), "reset", 0 }, - { "show", cs_show, - N_("Show connections"), "show", 0 }, -! { NULL } - }; - - static void ---- 83,89 ---- - N_("Reinit all connections"), "reset", 0 }, - { "show", cs_show, - N_("Show connections"), "show", 0 }, -! { NULL, NULL, NULL, NULL, 0 } - }; - - static void -*************** -*** 107,116 **** - * Function given to ExpandGeneric() to obtain the cscope command - * expansion. - */ -- /*ARGSUSED*/ - char_u * - get_cscope_name(xp, idx) -! expand_T *xp; - int idx; - { - int current_idx; ---- 107,115 ---- - * Function given to ExpandGeneric() to obtain the cscope command - * expansion. - */ - char_u * - get_cscope_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - int current_idx; -*************** -*** 496,505 **** - * - * MAXPATHL 256 - */ -- /* ARGSUSED */ - static int - cs_add(eap) -! exarg_T *eap; - { - char *fname, *ppath, *flags = NULL; - ---- 495,503 ---- - * - * MAXPATHL 256 - */ - static int - cs_add(eap) -! exarg_T *eap UNUSED; - { - char *fname, *ppath, *flags = NULL; - -*************** -*** 1292,1301 **** - * - * print help - */ -- /* ARGSUSED */ - static int - cs_help(eap) -! exarg_T *eap; - { - cscmd_T *cmdp = cs_cmds; - ---- 1290,1298 ---- - * - * print help - */ - static int - cs_help(eap) -! exarg_T *eap UNUSED; - { - cscmd_T *cmdp = cs_cmds; - -*************** -*** 1399,1411 **** - * - * insert a new cscope database filename into the filelist - */ -- /*ARGSUSED*/ - static int - cs_insert_filelist(fname, ppath, flags, sb) - char *fname; - char *ppath; - char *flags; -! struct stat *sb; - { - short i, j; - #ifndef UNIX ---- 1396,1407 ---- - * - * insert a new cscope database filename into the filelist - */ - static int - cs_insert_filelist(fname, ppath, flags, sb) - char *fname; - char *ppath; - char *flags; -! struct stat *sb UNUSED; - { - short i, j; - #ifndef UNIX -*************** -*** 1561,1570 **** - * - * nuke em - */ -- /* ARGSUSED */ - static int - cs_kill(eap) -! exarg_T *eap; - { - char *stok; - short i; ---- 1557,1565 ---- - * - * nuke em - */ - static int - cs_kill(eap) -! exarg_T *eap UNUSED; - { - char *stok; - short i; -*************** -*** 2241,2247 **** - /* - * Used to catch and ignore SIGALRM below. - */ -- /* ARGSUSED */ - static RETSIGTYPE - sig_handler SIGDEFARG(sigarg) - { ---- 2236,2241 ---- -*************** -*** 2381,2390 **** - * - * calls cs_kill on all cscope connections then reinits - */ -- /* ARGSUSED */ - static int - cs_reset(eap) -! exarg_T *eap; - { - char **dblist = NULL, **pplist = NULL, **fllist = NULL; - int i; ---- 2375,2383 ---- - * - * calls cs_kill on all cscope connections then reinits - */ - static int - cs_reset(eap) -! exarg_T *eap UNUSED; - { - char **dblist = NULL, **pplist = NULL, **fllist = NULL; - int i; -*************** -*** 2497,2506 **** - * - * show all cscope connections - */ -- /* ARGSUSED */ - static int - cs_show(eap) -! exarg_T *eap; - { - short i; - if (cs_cnt_connections() == 0) ---- 2490,2498 ---- - * - * show all cscope connections - */ - static int - cs_show(eap) -! exarg_T *eap UNUSED; - { - short i; - if (cs_cnt_connections() == 0) -*** ../vim-7.2.176/src/if_xcmdsrv.c 2008-11-12 14:52:11.000000000 +0100 ---- src/if_xcmdsrv.c 2009-05-16 17:12:32.000000000 +0200 -*************** -*** 682,688 **** - * Scan all of the names out of the property. - */ - ga_init2(&ga, 1, 100); -! for (p = regProp; (p - regProp) < numItems; p++) - { - entry = p; - while (*p != 0 && !isspace(*p)) ---- 682,688 ---- - * Scan all of the names out of the property. - */ - ga_init2(&ga, 1, 100); -! for (p = regProp; (long_u)(p - regProp) < numItems; p++) - { - entry = p; - while (*p != 0 && !isspace(*p)) -*************** -*** 969,975 **** - */ - returnValue = (int_u)None; - entry = NULL; /* Not needed, but eliminates compiler warning. */ -! for (p = regProp; (p - regProp) < numItems; ) - { - entry = p; - while (*p != 0 && !isspace(*p)) ---- 969,975 ---- - */ - returnValue = (int_u)None; - entry = NULL; /* Not needed, but eliminates compiler warning. */ -! for (p = regProp; (long_u)(p - regProp) < numItems; ) - { - entry = p; - while (*p != 0 && !isspace(*p)) -*************** -*** 986,992 **** - - if (loose != NULL && returnValue == (int_u)None && !IsSerialName(name)) - { -! for (p = regProp; (p - regProp) < numItems; ) - { - entry = p; - while (*p != 0 && !isspace(*p)) ---- 986,992 ---- - - if (loose != NULL && returnValue == (int_u)None && !IsSerialName(name)) - { -! for (p = regProp; (long_u)(p - regProp) < numItems; ) - { - entry = p; - while (*p != 0 && !isspace(*p)) -*************** -*** 1056,1062 **** - return; - - /* Scan the property for the window id. */ -! for (p = regProp; (p - regProp) < numItems; ) - { - if (*p != 0) - { ---- 1056,1062 ---- - return; - - /* Scan the property for the window id. */ -! for (p = regProp; (long_u)(p - regProp) < numItems; ) - { - if (*p != 0) - { -*************** -*** 1196,1202 **** - * one time; each iteration through the outer loop handles a - * single command or result. - */ -! for (p = propInfo; (p - propInfo) < numItems; ) - { - /* - * Ignore leading NULs; each command or result starts with a ---- 1196,1202 ---- - * one time; each iteration through the outer loop handles a - * single command or result. - */ -! for (p = propInfo; (long_u)(p - propInfo) < numItems; ) - { - /* - * Ignore leading NULs; each command or result starts with a -*************** -*** 1230,1236 **** - serial = (char_u *)""; - script = NULL; - enc = NULL; -! while (p - propInfo < numItems && *p == '-') - { - switch (p[1]) - { ---- 1230,1236 ---- - serial = (char_u *)""; - script = NULL; - enc = NULL; -! while ((long_u)(p - propInfo) < numItems && *p == '-') - { - switch (p[1]) - { -*************** -*** 1333,1339 **** - res = (char_u *)""; - code = 0; - enc = NULL; -! while ((p-propInfo) < numItems && *p == '-') - { - switch (p[1]) - { ---- 1333,1339 ---- - res = (char_u *)""; - code = 0; - enc = NULL; -! while ((long_u)(p - propInfo) < numItems && *p == '-') - { - switch (p[1]) - { -*************** -*** 1401,1407 **** - gotWindow = 0; - str = (char_u *)""; - enc = NULL; -! while ((p-propInfo) < numItems && *p == '-') - { - switch (p[1]) - { ---- 1401,1407 ---- - gotWindow = 0; - str = (char_u *)""; - enc = NULL; -! while ((long_u)(p - propInfo) < numItems && *p == '-') - { - switch (p[1]) - { -*************** -*** 1489,1499 **** - /* - * Another X Error handler, just used to check for errors. - */ -- /* ARGSUSED */ - static int - x_error_check(dpy, error_event) -! Display *dpy; -! XErrorEvent *error_event; - { - got_x_error = TRUE; - return 0; ---- 1489,1498 ---- - /* - * Another X Error handler, just used to check for errors. - */ - static int - x_error_check(dpy, error_event) -! Display *dpy UNUSED; -! XErrorEvent *error_event UNUSED; - { - got_x_error = TRUE; - return 0; -*** ../vim-7.2.176/src/farsi.c 2008-06-25 00:25:17.000000000 +0200 ---- src/farsi.c 2009-05-16 17:14:41.000000000 +0200 -*************** -*** 103,109 **** - case F_HE: - tempc = _HE; - -! if (p_ri && (curwin->w_cursor.col+1 < STRLEN(ml_get_curline()))) - { - inc_cursor(); - ---- 103,110 ---- - case F_HE: - tempc = _HE; - -! if (p_ri && (curwin->w_cursor.col + 1 -! < (colnr_T)STRLEN(ml_get_curline()))) - { - inc_cursor(); - -*************** -*** 344,350 **** - if (curwin->w_p_rl && p_ri) - return; - -! if ( (curwin->w_cursor.col < STRLEN(ml_get_curline()))) - { - if ((p_ri && curwin->w_cursor.col) || !p_ri) - { ---- 345,351 ---- - if (curwin->w_p_rl && p_ri) - return; - -! if ((curwin->w_cursor.col < (colnr_T)STRLEN(ml_get_curline()))) - { - if ((p_ri && curwin->w_cursor.col) || !p_ri) - { -*************** -*** 565,571 **** - - tempc = gchar_cursor(); - -! if (curwin->w_cursor.col+1 < STRLEN(ml_get_curline())) - { - inc_cursor(); - ---- 566,572 ---- - - tempc = gchar_cursor(); - -! if (curwin->w_cursor.col + 1 < (colnr_T)STRLEN(ml_get_curline())) - { - inc_cursor(); - -*************** -*** 594,601 **** - { - int tempc; - -! if (!curwin->w_cursor.col && -! (curwin->w_cursor.col+1 == STRLEN(ml_get_curline()))) - return; - - if (!curwin->w_cursor.col && p_ri) ---- 595,602 ---- - { - int tempc; - -! if (curwin->w_cursor.col != 0 && -! (curwin->w_cursor.col + 1 == (colnr_T)STRLEN(ml_get_curline()))) - return; - - if (!curwin->w_cursor.col && p_ri) -*************** -*** 663,670 **** - { - int tempc; - -! if (!curwin->w_cursor.col && -! (curwin->w_cursor.col+1 == STRLEN(ml_get_curline()))) - return; - - if (!curwin->w_cursor.col && p_ri) ---- 664,671 ---- - { - int tempc; - -! if (curwin->w_cursor.col != 0 && -! (curwin->w_cursor.col + 1 == (colnr_T)STRLEN(ml_get_curline()))) - return; - - if (!curwin->w_cursor.col && p_ri) -*** ../vim-7.2.176/src/mark.c 2009-04-29 11:00:09.000000000 +0200 ---- src/mark.c 2009-05-16 17:14:56.000000000 +0200 -*************** -*** 884,893 **** - /* - * print the jumplist - */ -- /*ARGSUSED*/ - void - ex_jumps(eap) -! exarg_T *eap; - { - int i; - char_u *name; ---- 884,892 ---- - /* - * print the jumplist - */ - void - ex_jumps(eap) -! exarg_T *eap UNUSED; - { - int i; - char_u *name; -*************** -*** 933,942 **** - /* - * print the changelist - */ -- /*ARGSUSED*/ - void - ex_changes(eap) -! exarg_T *eap; - { - int i; - char_u *name; ---- 932,940 ---- - /* - * print the changelist - */ - void - ex_changes(eap) -! exarg_T *eap UNUSED; - { - int i; - char_u *name; -*** ../vim-7.2.176/src/menu.c 2008-08-17 23:43:53.000000000 +0200 ---- src/menu.c 2009-05-16 17:19:57.000000000 +0200 -*************** -*** 231,237 **** - if (skipdigits(menu_path + 7) == p) - { - menuarg.iconidx = atoi((char *)menu_path + 7); -! if (menuarg.iconidx >= TOOLBAR_NAME_COUNT) - menuarg.iconidx = -1; - else - menuarg.icon_builtin = TRUE; ---- 231,237 ---- - if (skipdigits(menu_path + 7) == p) - { - menuarg.iconidx = atoi((char *)menu_path + 7); -! if (menuarg.iconidx >= (int)TOOLBAR_NAME_COUNT) - menuarg.iconidx = -1; - else - menuarg.icon_builtin = TRUE; -*************** -*** 239,245 **** - } - else - { -! for (i = 0; i < TOOLBAR_NAME_COUNT; ++i) - if (STRNCMP(toolbar_names[i], menu_path, p - menu_path) - == 0) - { ---- 239,245 ---- - } - else - { -! for (i = 0; i < (int)TOOLBAR_NAME_COUNT; ++i) - if (STRNCMP(toolbar_names[i], menu_path, p - menu_path) - == 0) - { -*************** -*** 1341,1350 **** - * Function given to ExpandGeneric() to obtain the list of (sub)menus (not - * entries). - */ -- /*ARGSUSED*/ - char_u * - get_menu_name(xp, idx) -! expand_T *xp; - int idx; - { - static vimmenu_T *menu = NULL; ---- 1341,1349 ---- - * Function given to ExpandGeneric() to obtain the list of (sub)menus (not - * entries). - */ - char_u * - get_menu_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - static vimmenu_T *menu = NULL; -*************** -*** 1378,1387 **** - * Function given to ExpandGeneric() to obtain the list of menus and menu - * entries. - */ -- /*ARGSUSED*/ - char_u * - get_menu_names(xp, idx) -! expand_T *xp; - int idx; - { - static vimmenu_T *menu = NULL; ---- 1377,1385 ---- - * Function given to ExpandGeneric() to obtain the list of menus and menu - * entries. - */ - char_u * - get_menu_names(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - static vimmenu_T *menu = NULL; -*************** -*** 1739,1748 **** - /* - * Return TRUE if the menu is the tearoff menu. - */ -- /*ARGSUSED*/ - static int - menu_is_tearoff(name) -! char_u *name; - { - #ifdef FEAT_GUI - return (STRCMP(name, TEAR_STRING) == 0); ---- 1737,1745 ---- - /* - * Return TRUE if the menu is the tearoff menu. - */ - static int - menu_is_tearoff(name) -! char_u *name UNUSED; - { - #ifdef FEAT_GUI - return (STRCMP(name, TEAR_STRING) == 0); -*** ../vim-7.2.176/src/version.c 2009-05-16 16:36:25.000000000 +0200 ---- src/version.c 2009-05-16 17:22:08.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 177, - /**/ - --- -(letter from Mark to Mike, about the film's probable certificate) - For an 'A' we would have to: Lose as many shits as possible; Take Jesus - Christ out, if possible; Loose "I fart in your general direction"; Lose - "the oral sex"; Lose "oh, fuck off"; Lose "We make castanets out of your - testicles" - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.178 --- a/components/vim/vim72-patches/7.2.178 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.178 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.178 -Problem: Using negative value for device number might not work. -Solution: Use a separate flag for whether ffv_dev was set. -Files: src/misc2.c - - -*** ../vim-7.2.177/src/misc2.c 2009-04-29 11:00:09.000000000 +0200 ---- src/misc2.c 2009-05-16 21:05:10.000000000 +0200 -*************** -*** 2841,2847 **** - get_key_name(i) - int i; - { -! if (i >= KEY_NAMES_TABLE_LEN) - return NULL; - return key_names_table[i].name; - } ---- 2841,2847 ---- - get_key_name(i) - int i; - { -! if (i >= (int)KEY_NAMES_TABLE_LEN) - return NULL; - return key_names_table[i].name; - } -*************** -*** 3869,3875 **** - * use filename. - */ - #ifdef UNIX -! int ffv_dev; /* device number (-1 if not set) */ - ino_t ffv_ino; /* inode number */ - #endif - /* The memory for this struct is allocated according to the length of ---- 3869,3876 ---- - * use filename. - */ - #ifdef UNIX -! int ffv_dev_valid; /* ffv_dev and ffv_ino were set */ -! dev_t ffv_dev; /* device number */ - ino_t ffv_ino; /* inode number */ - #endif - /* The memory for this struct is allocated according to the length of -*************** -*** 4059,4071 **** - * This function silently ignores a few errors, vim_findfile() will have - * limited functionality then. - */ -- /*ARGSUSED*/ - void * - vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what, - search_ctx_arg, tagfile, rel_fname) - char_u *path; - char_u *filename; -! char_u *stopdirs; - int level; - int free_visited; - int find_what; ---- 4060,4071 ---- - * This function silently ignores a few errors, vim_findfile() will have - * limited functionality then. - */ - void * - vim_findfile_init(path, filename, stopdirs, level, free_visited, find_what, - search_ctx_arg, tagfile, rel_fname) - char_u *path; - char_u *filename; -! char_u *stopdirs UNUSED; - int level; - int free_visited; - int find_what; -*************** -*** 5063,5072 **** - { - if ( - #ifdef UNIX -! !url -! ? (vp->ffv_dev == st.st_dev -! && vp->ffv_ino == st.st_ino) -! : - #endif - fnamecmp(vp->ffv_fname, ff_expand_buffer) == 0 - ) ---- 5063,5071 ---- - { - if ( - #ifdef UNIX -! !url ? (vp->ffv_dev_valid && vp->ffv_dev == st.st_dev -! && vp->ffv_ino == st.st_ino) -! : - #endif - fnamecmp(vp->ffv_fname, ff_expand_buffer) == 0 - ) -*************** -*** 5091,5104 **** - #ifdef UNIX - if (!url) - { - vp->ffv_ino = st.st_ino; - vp->ffv_dev = st.st_dev; - vp->ffv_fname[0] = NUL; - } - else - { -! vp->ffv_ino = 0; -! vp->ffv_dev = -1; - #endif - STRCPY(vp->ffv_fname, ff_expand_buffer); - #ifdef UNIX ---- 5090,5103 ---- - #ifdef UNIX - if (!url) - { -+ vp->ffv_dev_valid = TRUE; - vp->ffv_ino = st.st_ino; - vp->ffv_dev = st.st_dev; - vp->ffv_fname[0] = NUL; - } - else - { -! vp->ffv_dev_valid = FALSE; - #endif - STRCPY(vp->ffv_fname, ff_expand_buffer); - #ifdef UNIX -*** ../vim-7.2.177/src/version.c 2009-05-16 17:29:37.000000000 +0200 ---- src/version.c 2009-05-16 21:00:15.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 178, - /**/ - --- -FATAL ERROR! SYSTEM HALTED! - Press any key to continue doing nothing. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.179 --- a/components/vim/vim72-patches/7.2.179 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.179 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.179 -Problem: Using negative value for device number might not work. -Solution: Use a separate flag for whether sn_dev was set. -Files: src/ex_cmds2.c - - -*** ../vim-7.2.178/src/ex_cmds2.c 2009-05-14 22:19:19.000000000 +0200 ---- src/ex_cmds2.c 2009-05-16 21:13:29.000000000 +0200 -*************** -*** 28,34 **** - { - char_u *sn_name; - # ifdef UNIX -! int sn_dev; - ino_t sn_ino; - # endif - # ifdef FEAT_PROFILE ---- 28,35 ---- - { - char_u *sn_name; - # ifdef UNIX -! int sn_dev_valid; -! dev_t sn_dev; - ino_t sn_ino; - # endif - # ifdef FEAT_PROFILE -*************** -*** 3049,3055 **** - /* Compare dev/ino when possible, it catches symbolic - * links. Also compare file names, the inode may change - * when the file was edited. */ -! ((stat_ok && si->sn_dev != -1) - && (si->sn_dev == st.st_dev - && si->sn_ino == st.st_ino)) || - # endif ---- 3050,3056 ---- - /* Compare dev/ino when possible, it catches symbolic - * links. Also compare file names, the inode may change - * when the file was edited. */ -! ((stat_ok && si->sn_dev_valid) - && (si->sn_dev == st.st_dev - && si->sn_ino == st.st_ino)) || - # endif -*************** -*** 3076,3086 **** - # ifdef UNIX - if (stat_ok) - { - si->sn_dev = st.st_dev; - si->sn_ino = st.st_ino; - } - else -! si->sn_dev = -1; - # endif - - /* Allocate the local script variables to use for this script. */ ---- 3077,3088 ---- - # ifdef UNIX - if (stat_ok) - { -+ si->sn_dev_valid = TRUE; - si->sn_dev = st.st_dev; - si->sn_ino = st.st_ino; - } - else -! si->sn_dev_valid = FALSE; - # endif - - /* Allocate the local script variables to use for this script. */ -*** ../vim-7.2.178/src/version.c 2009-05-16 21:06:36.000000000 +0200 ---- src/version.c 2009-05-16 21:15:08.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 179, - /**/ - --- -(letter from Mark to Mike, about the film's probable certificate) - I would like to get back to the Censor and agree to lose the shits, take - the odd Jesus Christ out and lose Oh fuck off, but to retain 'fart in - your general direction', 'castanets of your testicles' and 'oral sex' - and ask him for an 'A' rating on that basis. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.180 --- a/components/vim/vim72-patches/7.2.180 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6520 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.180 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.180 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/buffer.c, src/ex_cmds.c, src/macros.h, src/main.c, - src/menu.c, src/message.c, src/misc1.c, src/mbyte.c, - src/normal.c, src/option.c, src/os_unix.c, src/quickfix.c, - src/screen.c, src/search.c, src/spell.c, src/syntax.c, src/tag.c, - src/term.c, src/ui.c - - -*** ../vim-7.2.179/src/buffer.c 2009-05-14 22:19:19.000000000 +0200 ---- src/buffer.c 2009-05-16 22:21:41.000000000 +0200 -*************** -*** 2025,2037 **** - * Return fnum of the found buffer. - * Return < 0 for error. - */ -- /*ARGSUSED*/ - int - buflist_findpat(pattern, pattern_end, unlisted, diffmode) - char_u *pattern; - char_u *pattern_end; /* pointer to first char after pattern */ - int unlisted; /* find unlisted buffers */ -! int diffmode; /* find diff-mode buffers only */ - { - buf_T *buf; - regprog_T *prog; ---- 2025,2036 ---- - * Return fnum of the found buffer. - * Return < 0 for error. - */ - int - buflist_findpat(pattern, pattern_end, unlisted, diffmode) - char_u *pattern; - char_u *pattern_end; /* pointer to first char after pattern */ - int unlisted; /* find unlisted buffers */ -! int diffmode UNUSED; /* find diff-mode buffers only */ - { - buf_T *buf; - regprog_T *prog; -*************** -*** 2539,2545 **** - /* - * List all know file names (for :files and :buffers command). - */ -- /*ARGSUSED*/ - void - buflist_list(eap) - exarg_T *eap; ---- 2538,2543 ---- -*************** -*** 3346,3359 **** - * If maxwidth is not zero, the string will be filled at any middle marker - * or truncated if too long, fillchar is used for all whitespace. - */ -- /*ARGSUSED*/ - int - build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar, maxwidth, hltab, tabtab) - win_T *wp; - char_u *out; /* buffer to write into != NameBuff */ - size_t outlen; /* length of out[] */ - char_u *fmt; -! int use_sandbox; /* "fmt" was set insecurely, use sandbox */ - int fillchar; - int maxwidth; - struct stl_hlrec *hltab; /* return: HL attributes (can be NULL) */ ---- 3344,3356 ---- - * If maxwidth is not zero, the string will be filled at any middle marker - * or truncated if too long, fillchar is used for all whitespace. - */ - int - build_stl_str_hl(wp, out, outlen, fmt, use_sandbox, fillchar, maxwidth, hltab, tabtab) - win_T *wp; - char_u *out; /* buffer to write into != NameBuff */ - size_t outlen; /* length of out[] */ - char_u *fmt; -! int use_sandbox UNUSED; /* "fmt" was set insecurely, use sandbox */ - int fillchar; - int maxwidth; - struct stl_hlrec *hltab; /* return: HL attributes (can be NULL) */ -*** ../vim-7.2.179/src/ex_cmds.c 2009-05-16 16:36:25.000000000 +0200 ---- src/ex_cmds.c 2009-05-16 22:22:46.000000000 +0200 -*************** -*** 2255,2266 **** - * - * Return the string in allocated memory (NULL when out of memory). - */ -- /*ARGSUSED*/ - char_u * - viminfo_readstring(virp, off, convert) - vir_T *virp; - int off; /* offset for virp->vir_line */ -! int convert; /* convert the string */ - { - char_u *retval; - char_u *s, *d; ---- 2255,2265 ---- - * - * Return the string in allocated memory (NULL when out of memory). - */ - char_u * - viminfo_readstring(virp, off, convert) - vir_T *virp; - int off; /* offset for virp->vir_line */ -! int convert UNUSED; /* convert the string */ - { - char_u *retval; - char_u *s, *d; -*************** -*** 2736,2742 **** - * May set eap->forceit if a dialog says it's OK to overwrite. - * Return OK if it's OK, FAIL if it is not. - */ -- /*ARGSUSED*/ - static int - check_overwrite(eap, buf, fname, ffname, other) - exarg_T *eap; ---- 2735,2740 ---- -*** ../vim-7.2.179/src/macros.h 2009-02-21 20:27:00.000000000 +0100 ---- src/macros.h 2009-05-16 21:52:56.000000000 +0200 -*************** -*** 284,290 **** - # define mb_cptr2len(p) (enc_utf8 ? utf_ptr2len(p) : (*mb_ptr2len)(p)) - - # define MB_COPY_CHAR(f, t) if (has_mbyte) mb_copy_char(&f, &t); else *t++ = *f++ -! # define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : STRLEN(p)) - # define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : (int)*(p)) - #else - # define mb_ptr_adv(p) ++p ---- 284,290 ---- - # define mb_cptr2len(p) (enc_utf8 ? utf_ptr2len(p) : (*mb_ptr2len)(p)) - - # define MB_COPY_CHAR(f, t) if (has_mbyte) mb_copy_char(&f, &t); else *t++ = *f++ -! # define MB_CHARLEN(p) (has_mbyte ? mb_charlen(p) : (int)STRLEN(p)) - # define PTR2CHAR(p) (has_mbyte ? mb_ptr2char(p) : (int)*(p)) - #else - # define mb_ptr_adv(p) ++p -*** ../vim-7.2.179/src/main.c 2008-11-28 21:26:50.000000000 +0100 ---- src/main.c 2009-05-16 22:25:59.000000000 +0200 -*************** -*** 1505,1514 **** - * - * Also find the --server... arguments and --socketid and --windowid - */ -- /*ARGSUSED*/ - static void - early_arg_scan(parmp) -! mparm_T *parmp; - { - #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) \ - || !defined(FEAT_NETBEANS_INTG) ---- 1505,1513 ---- - * - * Also find the --server... arguments and --socketid and --windowid - */ - static void - early_arg_scan(parmp) -! mparm_T *parmp UNUSED; - { - #if defined(FEAT_XCLIPBOARD) || defined(FEAT_CLIENTSERVER) \ - || !defined(FEAT_NETBEANS_INTG) -*************** -*** 2380,2389 **** - * Create the requested number of windows and edit buffers in them. - * Also does recovery if "recoverymode" set. - */ -- /*ARGSUSED*/ - static void - create_windows(parmp) -! mparm_T *parmp; - { - #ifdef FEAT_WINDOWS - int dorewind; ---- 2379,2387 ---- - * Create the requested number of windows and edit buffers in them. - * Also does recovery if "recoverymode" set. - */ - static void - create_windows(parmp) -! mparm_T *parmp UNUSED; - { - #ifdef FEAT_WINDOWS - int dorewind; -*************** -*** 3851,3860 **** - * return an allocated string. Otherwise return "data". - * "*tofree" is set to the result when it needs to be freed later. - */ -- /*ARGSUSED*/ - char_u * - serverConvert(client_enc, data, tofree) -! char_u *client_enc; - char_u *data; - char_u **tofree; - { ---- 3849,3857 ---- - * return an allocated string. Otherwise return "data". - * "*tofree" is set to the result when it needs to be freed later. - */ - char_u * - serverConvert(client_enc, data, tofree) -! char_u *client_enc UNUSED; - char_u *data; - char_u **tofree; - { -*** ../vim-7.2.179/src/menu.c 2009-05-16 17:29:37.000000000 +0200 ---- src/menu.c 2009-05-16 22:29:31.000000000 +0200 -*************** -*** 2340,2349 **** - * This function is also defined without the +multi_lang feature, in which - * case the commands are ignored. - */ -- /*ARGSUSED*/ - void - ex_menutranslate(eap) -! exarg_T *eap; - { - #ifdef FEAT_MULTI_LANG - char_u *arg = eap->arg; ---- 2340,2348 ---- - * This function is also defined without the +multi_lang feature, in which - * case the commands are ignored. - */ - void - ex_menutranslate(eap) -! exarg_T *eap UNUSED; - { - #ifdef FEAT_MULTI_LANG - char_u *arg = eap->arg; -*** ../vim-7.2.179/src/message.c 2009-04-22 14:42:26.000000000 +0200 ---- src/message.c 2009-05-16 22:30:47.000000000 +0200 -*************** -*** 818,827 **** - /* - * ":messages" command. - */ -- /*ARGSUSED*/ - void - ex_messages(eap) -! exarg_T *eap; - { - struct msg_hist *p; - char_u *s; ---- 818,826 ---- - /* - * ":messages" command. - */ - void - ex_messages(eap) -! exarg_T *eap UNUSED; - { - struct msg_hist *p; - char_u *s; -*************** -*** 3290,3304 **** - * A '&' in a button name becomes a shortcut, so each '&' should be before a - * different letter. - */ -- /* ARGSUSED */ - int - do_dialog(type, title, message, buttons, dfltbutton, textfield) -! int type; -! char_u *title; - char_u *message; - char_u *buttons; - int dfltbutton; -! char_u *textfield; /* IObuff for inputdialog(), NULL otherwise */ - { - int oldState; - int retval = 0; ---- 3289,3303 ---- - * A '&' in a button name becomes a shortcut, so each '&' should be before a - * different letter. - */ - int - do_dialog(type, title, message, buttons, dfltbutton, textfield) -! int type UNUSED; -! char_u *title UNUSED; - char_u *message; - char_u *buttons; - int dfltbutton; -! char_u *textfield UNUSED; /* IObuff for inputdialog(), NULL -! otherwise */ - { - int oldState; - int retval = 0; -*************** -*** 4021,4027 **** - if (*p != '%') - { - char *q = strchr(p + 1, '%'); -! size_t n = (q == NULL) ? STRLEN(p) : (q - p); - - /* Copy up to the next '%' or NUL without any changes. */ - if (str_l < str_m) ---- 4020,4026 ---- - if (*p != '%') - { - char *q = strchr(p + 1, '%'); -! size_t n = (q == NULL) ? STRLEN(p) : (size_t)(q - p); - - /* Copy up to the next '%' or NUL without any changes. */ - if (str_l < str_m) -*************** -*** 4268,4274 **** - precision <= (size_t)0x7fffffffL ? precision - : (size_t)0x7fffffffL); - #endif -! str_arg_l = (q == NULL) ? precision : q - str_arg; - } - break; - ---- 4267,4274 ---- - precision <= (size_t)0x7fffffffL ? precision - : (size_t)0x7fffffffL); - #endif -! str_arg_l = (q == NULL) ? precision -! : (size_t)(q - str_arg); - } - break; - -*************** -*** 4368,4374 **** - get_a_arg(arg_idx); - #else - # if defined(FEAT_EVAL) -! tvs != NULL ? tv_nr(tvs, &arg_idx) : - # endif - va_arg(ap, unsigned int); - #endif ---- 4368,4375 ---- - get_a_arg(arg_idx); - #else - # if defined(FEAT_EVAL) -! tvs != NULL ? (unsigned) -! tv_nr(tvs, &arg_idx) : - # endif - va_arg(ap, unsigned int); - #endif -*************** -*** 4381,4387 **** - get_a_arg(arg_idx); - #else - # if defined(FEAT_EVAL) -! tvs != NULL ? tv_nr(tvs, &arg_idx) : - # endif - va_arg(ap, unsigned long int); - #endif ---- 4382,4389 ---- - get_a_arg(arg_idx); - #else - # if defined(FEAT_EVAL) -! tvs != NULL ? (unsigned long) -! tv_nr(tvs, &arg_idx) : - # endif - va_arg(ap, unsigned long int); - #endif -*************** -*** 4704,4710 **** - size_t avail = str_m - str_l; - - vim_memset(str + str_l, zero_padding ? '0' : ' ', -! (size_t)pn > avail ? avail : pn); - } - str_l += pn; - } ---- 4706,4713 ---- - size_t avail = str_m - str_l; - - vim_memset(str + str_l, zero_padding ? '0' : ' ', -! (size_t)pn > avail ? avail -! : (size_t)pn); - } - str_l += pn; - } -*************** -*** 4731,4737 **** - size_t avail = str_m - str_l; - - mch_memmove(str + str_l, str_arg, -! (size_t)zn > avail ? avail : zn); - } - str_l += zn; - } ---- 4734,4741 ---- - size_t avail = str_m - str_l; - - mch_memmove(str + str_l, str_arg, -! (size_t)zn > avail ? avail -! : (size_t)zn); - } - str_l += zn; - } -*************** -*** 4746,4752 **** - size_t avail = str_m-str_l; - - vim_memset(str + str_l, '0', -! (size_t)zn > avail ? avail : zn); - } - str_l += zn; - } ---- 4750,4757 ---- - size_t avail = str_m-str_l; - - vim_memset(str + str_l, '0', -! (size_t)zn > avail ? avail -! : (size_t)zn); - } - str_l += zn; - } -*************** -*** 4765,4771 **** - - mch_memmove(str + str_l, - str_arg + zero_padding_insertion_ind, -! (size_t)sn > avail ? avail : sn); - } - str_l += sn; - } ---- 4770,4776 ---- - - mch_memmove(str + str_l, - str_arg + zero_padding_insertion_ind, -! (size_t)sn > avail ? avail : (size_t)sn); - } - str_l += sn; - } -*************** -*** 4785,4791 **** - size_t avail = str_m - str_l; - - vim_memset(str + str_l, ' ', -! (size_t)pn > avail ? avail : pn); - } - str_l += pn; - } ---- 4790,4797 ---- - size_t avail = str_m - str_l; - - vim_memset(str + str_l, ' ', -! (size_t)pn > avail ? avail -! : (size_t)pn); - } - str_l += pn; - } -*** ../vim-7.2.179/src/misc1.c 2009-05-15 21:31:11.000000000 +0200 ---- src/misc1.c 2009-05-16 21:25:34.000000000 +0200 -*************** -*** 4147,4156 **** - /* - * Function given to ExpandGeneric() to obtain an environment variable name. - */ -- /*ARGSUSED*/ - char_u * - get_env_name(xp, idx) -! expand_T *xp; - int idx; - { - # if defined(AMIGA) || defined(__MRC__) || defined(__SC__) ---- 4147,4155 ---- - /* - * Function given to ExpandGeneric() to obtain an environment variable name. - */ - char_u * - get_env_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - # if defined(AMIGA) || defined(__MRC__) || defined(__SC__) -*************** -*** 4742,4750 **** - * If it is then restrict the search to below this line and try again. - */ - line = ml_get(pos->lnum); -! for (p = line; *p && (unsigned)(p - line) < pos->col; ++p) - p = skip_string(p); -! if ((unsigned)(p - line) <= pos->col) - break; - cur_maxcomment = curwin->w_cursor.lnum - pos->lnum - 1; - if (cur_maxcomment <= 0) ---- 4741,4749 ---- - * If it is then restrict the search to below this line and try again. - */ - line = ml_get(pos->lnum); -! for (p = line; *p && (colnr_T)(p - line) < pos->col; ++p) - p = skip_string(p); -! if ((colnr_T)(p - line) <= pos->col) - break; - cur_maxcomment = curwin->w_cursor.lnum - pos->lnum - 1; - if (cur_maxcomment <= 0) -*************** -*** 6275,6281 **** - * check for that. - */ - if ((State & INSERT) -! && curwin->w_cursor.col < STRLEN(linecopy) - && linecopy[curwin->w_cursor.col] == ')') - linecopy[curwin->w_cursor.col] = NUL; - ---- 6274,6280 ---- - * check for that. - */ - if ((State & INSERT) -! && curwin->w_cursor.col < (colnr_T)STRLEN(linecopy) - && linecopy[curwin->w_cursor.col] == ')') - linecopy[curwin->w_cursor.col] = NUL; - -*** ../vim-7.2.179/src/mbyte.c 2008-11-28 21:26:50.000000000 +0100 ---- src/mbyte.c 2009-05-16 22:29:02.000000000 +0200 -*************** -*** 1015,1024 **** - * Return length in bytes of character "c". - * Returns 1 for a single-byte character. - */ -- /* ARGSUSED */ - int - latin_char2len(c) -! int c; - { - return 1; - } ---- 1015,1023 ---- - * Return length in bytes of character "c". - * Returns 1 for a single-byte character. - */ - int - latin_char2len(c) -! int c UNUSED; - { - return 1; - } -*************** -*** 1248,1257 **** - * Return the number of display cells character at "*p" occupies. - * This doesn't take care of unprintable characters, use ptr2cells() for that. - */ -- /*ARGSUSED*/ - int - latin_ptr2cells(p) -! char_u *p; - { - return 1; - } ---- 1247,1255 ---- - * Return the number of display cells character at "*p" occupies. - * This doesn't take care of unprintable characters, use ptr2cells() for that. - */ - int - latin_ptr2cells(p) -! char_u *p UNUSED; - { - return 1; - } -*************** -*** 1293,1302 **** - * Return the number of display cells character "c" occupies. - * Only takes care of multi-byte chars, not "^C" and such. - */ -- /*ARGSUSED*/ - int - latin_char2cells(c) -! int c; - { - return 1; - } ---- 1291,1299 ---- - * Return the number of display cells character "c" occupies. - * Only takes care of multi-byte chars, not "^C" and such. - */ - int - latin_char2cells(c) -! int c UNUSED; - { - return 1; - } -*************** -*** 1318,1328 **** - * Return number of display cells for char at ScreenLines[off]. - * We make sure that the offset used is less than "max_off". - */ -- /*ARGSUSED*/ - int - latin_off2cells(off, max_off) -! unsigned off; -! unsigned max_off; - { - return 1; - } ---- 1315,1324 ---- - * Return number of display cells for char at ScreenLines[off]. - * We make sure that the offset used is less than "max_off". - */ - int - latin_off2cells(off, max_off) -! unsigned off UNUSED; -! unsigned max_off UNUSED; - { - return 1; - } -*************** -*** 2419,2429 **** - * Return offset from "p" to the first byte of the character it points into. - * Returns 0 when already at the first byte of a character. - */ -- /*ARGSUSED*/ - int - latin_head_off(base, p) -! char_u *base; -! char_u *p; - { - return 0; - } ---- 2415,2424 ---- - * Return offset from "p" to the first byte of the character it points into. - * Returns 0 when already at the first byte of a character. - */ - int - latin_head_off(base, p) -! char_u *base UNUSED; -! char_u *p UNUSED; - { - return 0; - } -*************** -*** 3131,3137 **** - else - s = p + 1; - } -! for (i = 0; s[i] != NUL && i < sizeof(buf) - 1; ++i) - { - if (s[i] == '_' || s[i] == '-') - buf[i] = '-'; ---- 3126,3132 ---- - else - s = p + 1; - } -! for (i = 0; s[i] != NUL && i < (int)sizeof(buf) - 1; ++i) - { - if (s[i] == '_' || s[i] == '-') - buf[i] = '-'; -*************** -*** 3582,3590 **** - * Callback invoked when the user finished preediting. - * Put the final string into the input buffer. - */ -- /*ARGSUSED0*/ - static void -! im_commit_cb(GtkIMContext *context, const gchar *str, gpointer data) - { - int slen = (int)STRLEN(str); - int add_to_input = TRUE; ---- 3577,3586 ---- - * Callback invoked when the user finished preediting. - * Put the final string into the input buffer. - */ - static void -! im_commit_cb(GtkIMContext *context UNUSED, -! const gchar *str, -! gpointer data UNUSED) - { - int slen = (int)STRLEN(str); - int add_to_input = TRUE; -*************** -*** 3670,3678 **** - /* - * Callback invoked after start to the preedit. - */ -- /*ARGSUSED*/ - static void -! im_preedit_start_cb(GtkIMContext *context, gpointer data) - { - #ifdef XIM_DEBUG - xim_log("im_preedit_start_cb()\n"); ---- 3666,3673 ---- - /* - * Callback invoked after start to the preedit. - */ - static void -! im_preedit_start_cb(GtkIMContext *context UNUSED, gpointer data UNUSED) - { - #ifdef XIM_DEBUG - xim_log("im_preedit_start_cb()\n"); -*************** -*** 3687,3695 **** - /* - * Callback invoked after end to the preedit. - */ -- /*ARGSUSED*/ - static void -! im_preedit_end_cb(GtkIMContext *context, gpointer data) - { - #ifdef XIM_DEBUG - xim_log("im_preedit_end_cb()\n"); ---- 3682,3689 ---- - /* - * Callback invoked after end to the preedit. - */ - static void -! im_preedit_end_cb(GtkIMContext *context UNUSED, gpointer data UNUSED) - { - #ifdef XIM_DEBUG - xim_log("im_preedit_end_cb()\n"); -*************** -*** 3748,3756 **** - * remaining input from within the "retrieve_surrounding" signal handler, this - * might not be necessary. Gotta ask on vim-dev for opinions. - */ -- /*ARGSUSED1*/ - static void -! im_preedit_changed_cb(GtkIMContext *context, gpointer data) - { - char *preedit_string = NULL; - int cursor_index = 0; ---- 3742,3749 ---- - * remaining input from within the "retrieve_surrounding" signal handler, this - * might not be necessary. Gotta ask on vim-dev for opinions. - */ - static void -! im_preedit_changed_cb(GtkIMContext *context, gpointer data UNUSED) - { - char *preedit_string = NULL; - int cursor_index = 0; -*************** -*** 4616,4626 **** - } - } - -- /*ARGSUSED*/ - void - im_set_position(row, col) -! int row; -! int col; - { - xim_set_preedit(); - } ---- 4609,4618 ---- - } - } - - void - im_set_position(row, col) -! int row UNUSED; -! int col UNUSED; - { - xim_set_preedit(); - } -*************** -*** 4927,4938 **** - static void xim_instantiate_cb __ARGS((Display *display, XPointer client_data, XPointer call_data)); - static void xim_destroy_cb __ARGS((XIM im, XPointer client_data, XPointer call_data)); - -- /*ARGSUSED*/ - static void - xim_instantiate_cb(display, client_data, call_data) - Display *display; -! XPointer client_data; -! XPointer call_data; - { - Window x11_window; - Display *x11_display; ---- 4919,4929 ---- - static void xim_instantiate_cb __ARGS((Display *display, XPointer client_data, XPointer call_data)); - static void xim_destroy_cb __ARGS((XIM im, XPointer client_data, XPointer call_data)); - - static void - xim_instantiate_cb(display, client_data, call_data) - Display *display; -! XPointer client_data UNUSED; -! XPointer call_data UNUSED; - { - Window x11_window; - Display *x11_display; -*************** -*** 4952,4963 **** - xim_instantiate_cb, NULL); - } - -- /*ARGSUSED*/ - static void - xim_destroy_cb(im, client_data, call_data) -! XIM im; -! XPointer client_data; -! XPointer call_data; - { - Window x11_window; - Display *x11_display; ---- 4943,4953 ---- - xim_instantiate_cb, NULL); - } - - static void - xim_destroy_cb(im, client_data, call_data) -! XIM im UNUSED; -! XPointer client_data UNUSED; -! XPointer call_data UNUSED; - { - Window x11_window; - Display *x11_display; -*************** -*** 5276,5284 **** - } - } - -- /*ARGSUSED*/ - static void -! preedit_start_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("xim_decide_input_style()\n"); ---- 5266,5275 ---- - } - } - - static void -! preedit_start_cbproc(XIC thexic UNUSED, -! XPointer client_data UNUSED, -! XPointer call_data UNUSED) - { - #ifdef XIM_DEBUG - xim_log("xim_decide_input_style()\n"); -*************** -*** 5310,5318 **** - static GSList *key_press_event_queue = NULL; - static gboolean processing_queued_event = FALSE; - -- /*ARGSUSED*/ - static void -! preedit_draw_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - XIMPreeditDrawCallbackStruct *draw_data; - XIMText *text; ---- 5301,5310 ---- - static GSList *key_press_event_queue = NULL; - static gboolean processing_queued_event = FALSE; - - static void -! preedit_draw_cbproc(XIC thexic UNUSED, -! XPointer client_data UNUSED, -! XPointer call_data) - { - XIMPreeditDrawCallbackStruct *draw_data; - XIMText *text; -*************** -*** 5451,5468 **** - return -1; - } - -- /*ARGSUSED*/ - static void -! preedit_caret_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_caret_cbproc()\n"); - #endif - } - -- /*ARGSUSED*/ - static void -! preedit_done_cbproc(XIC thexic, XPointer client_data, XPointer call_data) - { - #ifdef XIM_DEBUG - xim_log("preedit_done_cbproc()\n"); ---- 5443,5462 ---- - return -1; - } - - static void -! preedit_caret_cbproc(XIC thexic UNUSED, -! XPointer client_data UNUSED, -! XPointer call_data UNUSED) - { - #ifdef XIM_DEBUG - xim_log("preedit_caret_cbproc()\n"); - #endif - } - - static void -! preedit_done_cbproc(XIC thexic UNUSED, -! XPointer client_data UNUSED, -! XPointer call_data UNUSED) - { - #ifdef XIM_DEBUG - xim_log("preedit_done_cbproc()\n"); -*************** -*** 5501,5509 **** - } - } - -- /*ARGSUSED*/ - int -! xim_queue_key_press_event(GdkEventKey *event, int down) - { - #ifdef XIM_DEBUG - xim_log("xim_queue_key_press_event()\n"); ---- 5495,5502 ---- - } - } - - int -! xim_queue_key_press_event(GdkEventKey *event, int down UNUSED) - { - #ifdef XIM_DEBUG - xim_log("xim_queue_key_press_event()\n"); -*************** -*** 5519,5527 **** - return TRUE; - } - -- /*ARGSUSED*/ - static void -! preedit_callback_setup(GdkIC *ic) - { - XIC xxic; - XVaNestedList preedit_attr; ---- 5512,5519 ---- - return TRUE; - } - - static void -! preedit_callback_setup(GdkIC *ic UNUSED) - { - XIC xxic; - XVaNestedList preedit_attr; -*************** -*** 5546,5554 **** - XFree(preedit_attr); - } - -- /*ARGSUSED*/ - static void -! reset_state_setup(GdkIC *ic) - { - #ifdef USE_X11R6_XIM - /* don't change the input context when we call reset */ ---- 5538,5545 ---- - XFree(preedit_attr); - } - - static void -! reset_state_setup(GdkIC *ic UNUSED) - { - #ifdef USE_X11R6_XIM - /* don't change the input context when we call reset */ -*** ../vim-7.2.179/src/normal.c 2009-05-15 21:31:11.000000000 +0200 ---- src/normal.c 2009-05-16 22:31:10.000000000 +0200 -*************** -*** 9243,9252 **** - } - - #ifdef FEAT_SNIFF -- /*ARGSUSED*/ - static void - nv_sniff(cap) -! cmdarg_T *cap; - { - ProcessSniffRequests(); - } ---- 9243,9251 ---- - } - - #ifdef FEAT_SNIFF - static void - nv_sniff(cap) -! cmdarg_T *cap UNUSED; - { - ProcessSniffRequests(); - } -*************** -*** 9262,9271 **** - #endif - - #ifdef FEAT_DND -- /*ARGSUSED*/ - static void - nv_drop(cap) -! cmdarg_T *cap; - { - do_put('~', BACKWARD, 1L, PUT_CURSEND); - } ---- 9261,9269 ---- - #endif - - #ifdef FEAT_DND - static void - nv_drop(cap) -! cmdarg_T *cap UNUSED; - { - do_put('~', BACKWARD, 1L, PUT_CURSEND); - } -*************** -*** 9277,9283 **** - * When waiting for a character for 'updatetime' K_CURSORHOLD is put in the - * input buffer. "did_cursorhold" is set to avoid retriggering. - */ -- /*ARGSUSED*/ - static void - nv_cursorhold(cap) - cmdarg_T *cap; ---- 9275,9280 ---- -*** ../vim-7.2.179/src/option.c 2009-05-15 21:31:11.000000000 +0200 ---- src/option.c 2009-05-17 12:13:52.000000000 +0200 -*************** -*** 387,392 **** ---- 387,395 ---- - char_u *def_val[2]; /* default values for variable (vi and vim) */ - #ifdef FEAT_EVAL - scid_T scriptID; /* script in which the option was last set */ -+ # define SCRIPTID_INIT , 0 -+ #else -+ # define SCRIPTID_INIT - #endif - }; - -*************** -*** 477,483 **** - #else - (char_u *)224L, - #endif -! (char_u *)0L}}, - {"antialias", "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, - #if defined(FEAT_GUI) && defined(MACOS_X) - (char_u *)&p_antialias, PV_NONE, ---- 480,486 ---- - #else - (char_u *)224L, - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"antialias", "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, - #if defined(FEAT_GUI) && defined(MACOS_X) - (char_u *)&p_antialias, PV_NONE, -*************** -*** 486,520 **** - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)FALSE} - #endif -! }, - {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_ARABIC - (char_u *)VAR_WIN, PV_ARAB, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, - #ifdef FEAT_ARABIC - (char_u *)&p_arshape, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L}}, - {"allowrevins", "ari", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_ari, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"altkeymap", "akm", P_BOOL|P_VI_DEF, - #ifdef FEAT_FKMAP - (char_u *)&p_altkeymap, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"ambiwidth", "ambw", P_STRING|P_VI_DEF|P_RCLR, - #if defined(FEAT_MBYTE) - (char_u *)&p_ambw, PV_NONE, ---- 489,523 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)FALSE} - #endif -! SCRIPTID_INIT}, - {"arabic", "arab", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_ARABIC - (char_u *)VAR_WIN, PV_ARAB, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"arabicshape", "arshape", P_BOOL|P_VI_DEF|P_VIM|P_RCLR, - #ifdef FEAT_ARABIC - (char_u *)&p_arshape, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"allowrevins", "ari", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_ari, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"altkeymap", "akm", P_BOOL|P_VI_DEF, - #ifdef FEAT_FKMAP - (char_u *)&p_altkeymap, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"ambiwidth", "ambw", P_STRING|P_VI_DEF|P_RCLR, - #if defined(FEAT_MBYTE) - (char_u *)&p_ambw, PV_NONE, -*************** -*** 523,549 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - #ifdef FEAT_AUTOCHDIR - {"autochdir", "acd", P_BOOL|P_VI_DEF, - (char_u *)&p_acd, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - #endif - {"autoindent", "ai", P_BOOL|P_VI_DEF, - (char_u *)&p_ai, PV_AI, -! {(char_u *)FALSE, (char_u *)0L}}, - {"autoprint", "ap", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"autoread", "ar", P_BOOL|P_VI_DEF, - (char_u *)&p_ar, PV_AR, -! {(char_u *)FALSE, (char_u *)0L}}, - {"autowrite", "aw", P_BOOL|P_VI_DEF, - (char_u *)&p_aw, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"autowriteall","awa", P_BOOL|P_VI_DEF, - (char_u *)&p_awa, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"background", "bg", P_STRING|P_VI_DEF|P_RCLR, - (char_u *)&p_bg, PV_NONE, - { ---- 526,552 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - #ifdef FEAT_AUTOCHDIR - {"autochdir", "acd", P_BOOL|P_VI_DEF, - (char_u *)&p_acd, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - #endif - {"autoindent", "ai", P_BOOL|P_VI_DEF, - (char_u *)&p_ai, PV_AI, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"autoprint", "ap", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"autoread", "ar", P_BOOL|P_VI_DEF, - (char_u *)&p_ar, PV_AR, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"autowrite", "aw", P_BOOL|P_VI_DEF, - (char_u *)&p_aw, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"autowriteall","awa", P_BOOL|P_VI_DEF, - (char_u *)&p_awa, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"background", "bg", P_STRING|P_VI_DEF|P_RCLR, - (char_u *)&p_bg, PV_NONE, - { -*************** -*** 552,564 **** - #else - (char_u *)"light", - #endif -! (char_u *)0L}}, - {"backspace", "bs", P_STRING|P_VI_DEF|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_bs, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"backup", "bk", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_bk, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"backupcopy", "bkc", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_bkc, PV_NONE, - #ifdef UNIX ---- 555,567 ---- - #else - (char_u *)"light", - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"backspace", "bs", P_STRING|P_VI_DEF|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_bs, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"backup", "bk", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_bk, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"backupcopy", "bkc", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_bkc, PV_NONE, - #ifdef UNIX -*************** -*** 566,575 **** - #else - {(char_u *)"auto", (char_u *)"auto"} - #endif -! }, - {"backupdir", "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_bdir, PV_NONE, -! {(char_u *)DFLT_BDIR, (char_u *)0L}}, - {"backupext", "bex", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_bex, PV_NONE, - { ---- 569,578 ---- - #else - {(char_u *)"auto", (char_u *)"auto"} - #endif -! SCRIPTID_INIT}, - {"backupdir", "bdir", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_bdir, PV_NONE, -! {(char_u *)DFLT_BDIR, (char_u *)0L} SCRIPTID_INIT}, - {"backupext", "bex", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_bex, PV_NONE, - { -*************** -*** 578,584 **** - #else - (char_u *)"~", - #endif -! (char_u *)0L}}, - {"backupskip", "bsk", P_STRING|P_VI_DEF|P_COMMA, - #ifdef FEAT_WILDIGN - (char_u *)&p_bsk, PV_NONE, ---- 581,587 ---- - #else - (char_u *)"~", - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"backupskip", "bsk", P_STRING|P_VI_DEF|P_COMMA, - #ifdef FEAT_WILDIGN - (char_u *)&p_bsk, PV_NONE, -*************** -*** 587,626 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - #ifdef FEAT_BEVAL - {"balloondelay","bdlay",P_NUM|P_VI_DEF, - (char_u *)&p_bdlay, PV_NONE, -! {(char_u *)600L, (char_u *)0L}}, - {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC, - (char_u *)&p_beval, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - # ifdef FEAT_EVAL - {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - (char_u *)&p_bexpr, PV_BEXPR, -! {(char_u *)"", (char_u *)0L}}, - # endif - #endif - {"beautify", "bf", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"binary", "bin", P_BOOL|P_VI_DEF|P_RSTAT, - (char_u *)&p_bin, PV_BIN, -! {(char_u *)FALSE, (char_u *)0L}}, - {"bioskey", "biosk",P_BOOL|P_VI_DEF, - #ifdef MSDOS - (char_u *)&p_biosk, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L}}, - {"bomb", NULL, P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - #ifdef FEAT_MBYTE - (char_u *)&p_bomb, PV_BOMB, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"breakat", "brk", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, - #ifdef FEAT_LINEBREAK - (char_u *)&p_breakat, PV_NONE, ---- 590,629 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - #ifdef FEAT_BEVAL - {"balloondelay","bdlay",P_NUM|P_VI_DEF, - (char_u *)&p_bdlay, PV_NONE, -! {(char_u *)600L, (char_u *)0L} SCRIPTID_INIT}, - {"ballooneval", "beval",P_BOOL|P_VI_DEF|P_NO_MKRC, - (char_u *)&p_beval, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - # ifdef FEAT_EVAL - {"balloonexpr", "bexpr", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - (char_u *)&p_bexpr, PV_BEXPR, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - # endif - #endif - {"beautify", "bf", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"binary", "bin", P_BOOL|P_VI_DEF|P_RSTAT, - (char_u *)&p_bin, PV_BIN, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"bioskey", "biosk",P_BOOL|P_VI_DEF, - #ifdef MSDOS - (char_u *)&p_biosk, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"bomb", NULL, P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - #ifdef FEAT_MBYTE - (char_u *)&p_bomb, PV_BOMB, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"breakat", "brk", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, - #ifdef FEAT_LINEBREAK - (char_u *)&p_breakat, PV_NONE, -*************** -*** 629,635 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"browsedir", "bsdir",P_STRING|P_VI_DEF, - #ifdef FEAT_BROWSE - (char_u *)&p_bsdir, PV_NONE, ---- 632,638 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"browsedir", "bsdir",P_STRING|P_VI_DEF, - #ifdef FEAT_BROWSE - (char_u *)&p_bsdir, PV_NONE, -*************** -*** 638,644 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"bufhidden", "bh", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - #if defined(FEAT_QUICKFIX) - (char_u *)&p_bh, PV_BH, ---- 641,647 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"bufhidden", "bh", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - #if defined(FEAT_QUICKFIX) - (char_u *)&p_bh, PV_BH, -*************** -*** 647,657 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"buflisted", "bl", P_BOOL|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bl, PV_BL, - {(char_u *)1L, (char_u *)0L} -! }, - {"buftype", "bt", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - #if defined(FEAT_QUICKFIX) - (char_u *)&p_bt, PV_BT, ---- 650,660 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"buflisted", "bl", P_BOOL|P_VI_DEF|P_NOGLOB, - (char_u *)&p_bl, PV_BL, - {(char_u *)1L, (char_u *)0L} -! SCRIPTID_INIT}, - {"buftype", "bt", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB, - #if defined(FEAT_QUICKFIX) - (char_u *)&p_bt, PV_BT, -*************** -*** 660,666 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"casemap", "cmp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_MBYTE - (char_u *)&p_cmp, PV_NONE, ---- 663,669 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"casemap", "cmp", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_MBYTE - (char_u *)&p_cmp, PV_NONE, -*************** -*** 669,675 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SEARCHPATH - (char_u *)&p_cdpath, PV_NONE, ---- 672,678 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SEARCHPATH - (char_u *)&p_cdpath, PV_NONE, -*************** -*** 678,684 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"cedit", NULL, P_STRING, - #ifdef FEAT_CMDWIN - (char_u *)&p_cedit, PV_NONE, ---- 681,687 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"cedit", NULL, P_STRING, - #ifdef FEAT_CMDWIN - (char_u *)&p_cedit, PV_NONE, -*************** -*** 687,693 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"charconvert", "ccv", P_STRING|P_VI_DEF|P_SECURE, - #if defined(FEAT_MBYTE) && defined(FEAT_EVAL) - (char_u *)&p_ccv, PV_NONE, ---- 690,696 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"charconvert", "ccv", P_STRING|P_VI_DEF|P_SECURE, - #if defined(FEAT_MBYTE) && defined(FEAT_EVAL) - (char_u *)&p_ccv, PV_NONE, -*************** -*** 696,709 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"cindent", "cin", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_CINDENT - (char_u *)&p_cin, PV_CIN, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"cinkeys", "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_CINDENT - (char_u *)&p_cink, PV_CINK, ---- 699,712 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"cindent", "cin", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_CINDENT - (char_u *)&p_cin, PV_CIN, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"cinkeys", "cink", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_CINDENT - (char_u *)&p_cink, PV_CINK, -*************** -*** 712,725 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"cinoptions", "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_CINDENT - (char_u *)&p_cino, PV_CINO, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"cinwords", "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) - (char_u *)&p_cinw, PV_CINW, ---- 715,728 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"cinoptions", "cino", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_CINDENT - (char_u *)&p_cino, PV_CINO, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"cinwords", "cinw", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT) - (char_u *)&p_cinw, PV_CINW, -*************** -*** 729,735 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"clipboard", "cb", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_CLIPBOARD - (char_u *)&p_cb, PV_NONE, ---- 732,738 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"clipboard", "cb", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_CLIPBOARD - (char_u *)&p_cb, PV_NONE, -*************** -*** 743,762 **** - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! }, - {"cmdheight", "ch", P_NUM|P_VI_DEF|P_RALL, - (char_u *)&p_ch, PV_NONE, -! {(char_u *)1L, (char_u *)0L}}, - {"cmdwinheight", "cwh", P_NUM|P_VI_DEF, - #ifdef FEAT_CMDWIN - (char_u *)&p_cwh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)7L, (char_u *)0L}}, - {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, - (char_u *)&Columns, PV_NONE, -! {(char_u *)80L, (char_u *)0L}}, - {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_COMMENTS - (char_u *)&p_com, PV_COM, ---- 746,765 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"cmdheight", "ch", P_NUM|P_VI_DEF|P_RALL, - (char_u *)&p_ch, PV_NONE, -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"cmdwinheight", "cwh", P_NUM|P_VI_DEF, - #ifdef FEAT_CMDWIN - (char_u *)&p_cwh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)7L, (char_u *)0L} SCRIPTID_INIT}, - {"columns", "co", P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, - (char_u *)&Columns, PV_NONE, -! {(char_u *)80L, (char_u *)0L} SCRIPTID_INIT}, - {"comments", "com", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_COMMENTS - (char_u *)&p_com, PV_COM, -*************** -*** 766,772 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_FOLDING - (char_u *)&p_cms, PV_CMS, ---- 769,775 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"commentstring", "cms", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_FOLDING - (char_u *)&p_cms, PV_CMS, -*************** -*** 775,786 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - /* P_PRI_MKRC isn't needed here, optval_default() - * always returns TRUE for 'compatible' */ - {"compatible", "cp", P_BOOL|P_RALL, - (char_u *)&p_cp, PV_NONE, -! {(char_u *)TRUE, (char_u *)FALSE}}, - {"complete", "cpt", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_cpt, PV_CPT, ---- 778,789 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - /* P_PRI_MKRC isn't needed here, optval_default() - * always returns TRUE for 'compatible' */ - {"compatible", "cp", P_BOOL|P_RALL, - (char_u *)&p_cp, PV_NONE, -! {(char_u *)TRUE, (char_u *)FALSE} SCRIPTID_INIT}, - {"complete", "cpt", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_cpt, PV_CPT, -*************** -*** 789,795 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, - #ifdef FEAT_COMPL_FUNC - (char_u *)&p_cfu, PV_CFU, ---- 792,798 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"completefunc", "cfu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, - #ifdef FEAT_COMPL_FUNC - (char_u *)&p_cfu, PV_CFU, -*************** -*** 798,804 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"completeopt", "cot", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_cot, PV_NONE, ---- 801,807 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"completeopt", "cot", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_cot, PV_NONE, -*************** -*** 807,840 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"confirm", "cf", P_BOOL|P_VI_DEF, - #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) - (char_u *)&p_confirm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"conskey", "consk",P_BOOL|P_VI_DEF, - #ifdef MSDOS - (char_u *)&p_consk, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"copyindent", "ci", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ci, PV_CI, -! {(char_u *)FALSE, (char_u *)0L}}, - {"cpoptions", "cpo", P_STRING|P_VIM|P_RALL|P_FLAGLIST, - (char_u *)&p_cpo, PV_NONE, -! {(char_u *)CPO_VI, (char_u *)CPO_VIM}}, - {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_cspc, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L}}, - {"cscopeprg", "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_CSCOPE - (char_u *)&p_csprg, PV_NONE, ---- 810,844 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"confirm", "cf", P_BOOL|P_VI_DEF, - #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) - (char_u *)&p_confirm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"conskey", "consk",P_BOOL|P_VI_DEF, - #ifdef MSDOS - (char_u *)&p_consk, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"copyindent", "ci", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ci, PV_CI, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"cpoptions", "cpo", P_STRING|P_VIM|P_RALL|P_FLAGLIST, - (char_u *)&p_cpo, PV_NONE, -! {(char_u *)CPO_VI, (char_u *)CPO_VIM} -! SCRIPTID_INIT}, - {"cscopepathcomp", "cspc", P_NUM|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_cspc, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cscopeprg", "csprg", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_CSCOPE - (char_u *)&p_csprg, PV_NONE, -*************** -*** 843,849 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX) - (char_u *)&p_csqf, PV_NONE, ---- 847,853 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"cscopequickfix", "csqf", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #if defined(FEAT_CSCOPE) && defined(FEAT_QUICKFIX) - (char_u *)&p_csqf, PV_NONE, -*************** -*** 852,896 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"cscopetag", "cst", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_cst, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L}}, - {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_csto, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L}}, - {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_csverbose, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L}}, - {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CUC, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"cursorline", "cul", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CUL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"debug", NULL, P_STRING|P_VI_DEF, - (char_u *)&p_debug, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_FIND_ID - (char_u *)&p_def, PV_DEF, ---- 856,900 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"cscopetag", "cst", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_cst, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cscopetagorder", "csto", P_NUM|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_csto, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cscopeverbose", "csverb", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_CSCOPE - (char_u *)&p_csverbose, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CUC, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"cursorline", "cul", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_SYN_HL - (char_u *)VAR_WIN, PV_CUL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"debug", NULL, P_STRING|P_VI_DEF, - (char_u *)&p_debug, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"define", "def", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_FIND_ID - (char_u *)&p_def, PV_DEF, -*************** -*** 899,926 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"delcombine", "deco", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_MBYTE - (char_u *)&p_deco, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_dict, PV_DICT, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"diff", NULL, P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB, - #ifdef FEAT_DIFF - (char_u *)VAR_WIN, PV_DIFF, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE, - #if defined(FEAT_DIFF) && defined(FEAT_EVAL) - (char_u *)&p_dex, PV_NONE, ---- 903,930 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"delcombine", "deco", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_MBYTE - (char_u *)&p_deco, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"dictionary", "dict", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_dict, PV_DICT, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"diff", NULL, P_BOOL|P_VI_DEF|P_RWIN|P_NOGLOB, - #ifdef FEAT_DIFF - (char_u *)VAR_WIN, PV_DIFF, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"diffexpr", "dex", P_STRING|P_VI_DEF|P_SECURE, - #if defined(FEAT_DIFF) && defined(FEAT_EVAL) - (char_u *)&p_dex, PV_NONE, -*************** -*** 929,935 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"diffopt", "dip", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN|P_COMMA|P_NODUP, - #ifdef FEAT_DIFF - (char_u *)&p_dip, PV_NONE, ---- 933,939 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"diffopt", "dip", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN|P_COMMA|P_NODUP, - #ifdef FEAT_DIFF - (char_u *)&p_dip, PV_NONE, -*************** -*** 938,957 **** - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)NULL} - #endif -! }, - {"digraph", "dg", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_DIGRAPHS - (char_u *)&p_dg, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"directory", "dir", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_dir, PV_NONE, -! {(char_u *)DFLT_DIR, (char_u *)0L}}, - {"display", "dy", P_STRING|P_VI_DEF|P_COMMA|P_RALL|P_NODUP, - (char_u *)&p_dy, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"eadirection", "ead", P_STRING|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_ead, PV_NONE, ---- 942,961 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)NULL} - #endif -! SCRIPTID_INIT}, - {"digraph", "dg", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_DIGRAPHS - (char_u *)&p_dg, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"directory", "dir", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_dir, PV_NONE, -! {(char_u *)DFLT_DIR, (char_u *)0L} SCRIPTID_INIT}, - {"display", "dy", P_STRING|P_VI_DEF|P_COMMA|P_RALL|P_NODUP, - (char_u *)&p_dy, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"eadirection", "ead", P_STRING|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_ead, PV_NONE, -*************** -*** 960,969 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"edcompatible","ed", P_BOOL|P_VI_DEF, - (char_u *)&p_ed, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"encoding", "enc", P_STRING|P_VI_DEF|P_RCLR, - #ifdef FEAT_MBYTE - (char_u *)&p_enc, PV_NONE, ---- 964,973 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"edcompatible","ed", P_BOOL|P_VI_DEF, - (char_u *)&p_ed, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"encoding", "enc", P_STRING|P_VI_DEF|P_RCLR, - #ifdef FEAT_MBYTE - (char_u *)&p_enc, PV_NONE, -*************** -*** 972,990 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"endofline", "eol", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_eol, PV_EOL, -! {(char_u *)TRUE, (char_u *)0L}}, - {"equalalways", "ea", P_BOOL|P_VI_DEF|P_RALL, - (char_u *)&p_ea, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"equalprg", "ep", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_ep, PV_EP, -! {(char_u *)"", (char_u *)0L}}, - {"errorbells", "eb", P_BOOL|P_VI_DEF, - (char_u *)&p_eb, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"errorfile", "ef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_ef, PV_NONE, ---- 976,994 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"endofline", "eol", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_eol, PV_EOL, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"equalalways", "ea", P_BOOL|P_VI_DEF|P_RALL, - (char_u *)&p_ea, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"equalprg", "ep", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_ep, PV_EP, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"errorbells", "eb", P_BOOL|P_VI_DEF, - (char_u *)&p_eb, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"errorfile", "ef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_ef, PV_NONE, -*************** -*** 993,1024 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"errorformat", "efm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_QUICKFIX - (char_u *)&p_efm, PV_EFM, -! {(char_u *)DFLT_EFM, (char_u *)0L}, - #else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"esckeys", "ek", P_BOOL|P_VIM, - (char_u *)&p_ek, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE}}, - {"eventignore", "ei", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_AUTOCMD - (char_u *)&p_ei, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"expandtab", "et", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_et, PV_ET, -! {(char_u *)FALSE, (char_u *)0L}}, - {"exrc", "ex", P_BOOL|P_VI_DEF|P_SECURE, - (char_u *)&p_exrc, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"fileencoding","fenc", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_RBUF|P_NO_MKRC, - #ifdef FEAT_MBYTE - (char_u *)&p_fenc, PV_FENC, ---- 997,1028 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"errorformat", "efm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_QUICKFIX - (char_u *)&p_efm, PV_EFM, -! {(char_u *)DFLT_EFM, (char_u *)0L} - #else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"esckeys", "ek", P_BOOL|P_VIM, - (char_u *)&p_ek, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"eventignore", "ei", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_AUTOCMD - (char_u *)&p_ei, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"expandtab", "et", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_et, PV_ET, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"exrc", "ex", P_BOOL|P_VI_DEF|P_SECURE, - (char_u *)&p_exrc, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"fileencoding","fenc", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_RBUF|P_NO_MKRC, - #ifdef FEAT_MBYTE - (char_u *)&p_fenc, PV_FENC, -*************** -*** 1027,1033 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"fileencodings","fencs", P_STRING|P_VI_DEF|P_COMMA, - #ifdef FEAT_MBYTE - (char_u *)&p_fencs, PV_NONE, ---- 1031,1037 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"fileencodings","fencs", P_STRING|P_VI_DEF|P_COMMA, - #ifdef FEAT_MBYTE - (char_u *)&p_fencs, PV_NONE, -*************** -*** 1036,1048 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"fileformat", "ff", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC, - (char_u *)&p_ff, PV_FF, -! {(char_u *)DFLT_FF, (char_u *)0L}}, - {"fileformats", "ffs", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_ffs, PV_NONE, -! {(char_u *)DFLT_FFS_VI, (char_u *)DFLT_FFS_VIM}}, - {"filetype", "ft", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME, - #ifdef FEAT_AUTOCMD - (char_u *)&p_ft, PV_FT, ---- 1040,1053 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"fileformat", "ff", P_STRING|P_ALLOCED|P_VI_DEF|P_RSTAT|P_NO_MKRC, - (char_u *)&p_ff, PV_FF, -! {(char_u *)DFLT_FF, (char_u *)0L} SCRIPTID_INIT}, - {"fileformats", "ffs", P_STRING|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_ffs, PV_NONE, -! {(char_u *)DFLT_FFS_VI, (char_u *)DFLT_FFS_VIM} -! SCRIPTID_INIT}, - {"filetype", "ft", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME, - #ifdef FEAT_AUTOCMD - (char_u *)&p_ft, PV_FT, -*************** -*** 1051,1057 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"fillchars", "fcs", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - #if defined(FEAT_WINDOWS) || defined(FEAT_FOLDING) - (char_u *)&p_fcs, PV_NONE, ---- 1056,1062 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"fillchars", "fcs", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - #if defined(FEAT_WINDOWS) || defined(FEAT_FOLDING) - (char_u *)&p_fcs, PV_NONE, -*************** -*** 1060,1086 **** - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! }, - {"fkmap", "fk", P_BOOL|P_VI_DEF, - #ifdef FEAT_FKMAP - (char_u *)&p_fkmap, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"flash", "fl", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - #ifdef FEAT_FOLDING - {"foldclose", "fcl", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_RWIN, - (char_u *)&p_fcl, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"foldcolumn", "fdc", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDC, -! {(char_u *)FALSE, (char_u *)0L}}, - {"foldenable", "fen", P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FEN, -! {(char_u *)TRUE, (char_u *)0L}}, - {"foldexpr", "fde", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - # ifdef FEAT_EVAL - (char_u *)VAR_WIN, PV_FDE, ---- 1065,1091 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"fkmap", "fk", P_BOOL|P_VI_DEF, - #ifdef FEAT_FKMAP - (char_u *)&p_fkmap, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"flash", "fl", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - #ifdef FEAT_FOLDING - {"foldclose", "fcl", P_STRING|P_VI_DEF|P_COMMA|P_NODUP|P_RWIN, - (char_u *)&p_fcl, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"foldcolumn", "fdc", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDC, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"foldenable", "fen", P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FEN, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"foldexpr", "fde", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - # ifdef FEAT_EVAL - (char_u *)VAR_WIN, PV_FDE, -*************** -*** 1089,1121 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - # endif -! }, - {"foldignore", "fdi", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDI, -! {(char_u *)"#", (char_u *)NULL}}, - {"foldlevel", "fdl", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDL, -! {(char_u *)0L, (char_u *)0L}}, - {"foldlevelstart","fdls", P_NUM|P_VI_DEF, - (char_u *)&p_fdls, PV_NONE, -! {(char_u *)-1L, (char_u *)0L}}, - {"foldmarker", "fmr", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF| - P_RWIN|P_COMMA|P_NODUP, - (char_u *)VAR_WIN, PV_FMR, -! {(char_u *)"{{{,}}}", (char_u *)NULL}}, - {"foldmethod", "fdm", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDM, -! {(char_u *)"manual", (char_u *)NULL}}, - {"foldminlines","fml", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FML, -! {(char_u *)1L, (char_u *)0L}}, - {"foldnestmax", "fdn", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDN, -! {(char_u *)20L, (char_u *)0L}}, - {"foldopen", "fdo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_fdo, PV_NONE, - {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo", -! (char_u *)0L}}, - {"foldtext", "fdt", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - # ifdef FEAT_EVAL - (char_u *)VAR_WIN, PV_FDT, ---- 1094,1127 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - # endif -! SCRIPTID_INIT}, - {"foldignore", "fdi", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDI, -! {(char_u *)"#", (char_u *)NULL} SCRIPTID_INIT}, - {"foldlevel", "fdl", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDL, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"foldlevelstart","fdls", P_NUM|P_VI_DEF, - (char_u *)&p_fdls, PV_NONE, -! {(char_u *)-1L, (char_u *)0L} SCRIPTID_INIT}, - {"foldmarker", "fmr", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF| - P_RWIN|P_COMMA|P_NODUP, - (char_u *)VAR_WIN, PV_FMR, -! {(char_u *)"{{{,}}}", (char_u *)NULL} -! SCRIPTID_INIT}, - {"foldmethod", "fdm", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDM, -! {(char_u *)"manual", (char_u *)NULL} SCRIPTID_INIT}, - {"foldminlines","fml", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FML, -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"foldnestmax", "fdn", P_NUM|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_FDN, -! {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT}, - {"foldopen", "fdo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_fdo, PV_NONE, - {(char_u *)"block,hor,mark,percent,quickfix,search,tag,undo", -! (char_u *)0L} SCRIPTID_INIT}, - {"foldtext", "fdt", P_STRING|P_ALLOCED|P_VIM|P_VI_DEF|P_RWIN, - # ifdef FEAT_EVAL - (char_u *)VAR_WIN, PV_FDT, -*************** -*** 1124,1130 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - # endif -! }, - #endif - {"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - #ifdef FEAT_EVAL ---- 1130,1136 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - # endif -! SCRIPTID_INIT}, - #endif - {"formatexpr", "fex", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - #ifdef FEAT_EVAL -*************** -*** 1134,1149 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"formatoptions","fo", P_STRING|P_ALLOCED|P_VIM|P_FLAGLIST, - (char_u *)&p_fo, PV_FO, -! {(char_u *)DFLT_FO_VI, (char_u *)DFLT_FO_VIM}}, - {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF, - (char_u *)&p_flp, PV_FLP, -! {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*", (char_u *)0L}}, - {"formatprg", "fp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_fp, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF, - #ifdef HAVE_FSYNC - (char_u *)&p_fs, PV_NONE, ---- 1140,1157 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"formatoptions","fo", P_STRING|P_ALLOCED|P_VIM|P_FLAGLIST, - (char_u *)&p_fo, PV_FO, -! {(char_u *)DFLT_FO_VI, (char_u *)DFLT_FO_VIM} -! SCRIPTID_INIT}, - {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF, - (char_u *)&p_flp, PV_FLP, -! {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*", -! (char_u *)0L} SCRIPTID_INIT}, - {"formatprg", "fp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_fp, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF, - #ifdef HAVE_FSYNC - (char_u *)&p_fs, PV_NONE, -*************** -*** 1152,1173 **** - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} - #endif -! }, - {"gdefault", "gd", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_gd, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"graphic", "gr", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"grepformat", "gfm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_QUICKFIX - (char_u *)&p_gefm, PV_NONE, -! {(char_u *)DFLT_GREPFORMAT, (char_u *)0L}, - #else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"grepprg", "gp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_gp, PV_GP, ---- 1160,1181 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)FALSE, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"gdefault", "gd", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_gd, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"graphic", "gr", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"grepformat", "gfm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_QUICKFIX - (char_u *)&p_gefm, PV_NONE, -! {(char_u *)DFLT_GREPFORMAT, (char_u *)0L} - #else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"grepprg", "gp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_gp, PV_GP, -*************** -*** 1185,1199 **** - (char_u *)"SEARCH/NUMBERS ", - # else - (char_u *)"grep -n ", -! #endif -! #endif - # endif -! (char_u *)0L}, - #else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"guicursor", "gcr", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef CURSOR_SHAPE - (char_u *)&p_guicursor, PV_NONE, ---- 1193,1207 ---- - (char_u *)"SEARCH/NUMBERS ", - # else - (char_u *)"grep -n ", -! # endif -! # endif - # endif -! (char_u *)0L} - #else - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"guicursor", "gcr", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef CURSOR_SHAPE - (char_u *)&p_guicursor, PV_NONE, -*************** -*** 1208,1214 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"guifont", "gfn", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - #ifdef FEAT_GUI - (char_u *)&p_guifont, PV_NONE, ---- 1216,1222 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"guifont", "gfn", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - #ifdef FEAT_GUI - (char_u *)&p_guifont, PV_NONE, -*************** -*** 1217,1223 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"guifontset", "gfs", P_STRING|P_VI_DEF|P_RCLR|P_COMMA, - #if defined(FEAT_GUI) && defined(FEAT_XFONTSET) - (char_u *)&p_guifontset, PV_NONE, ---- 1225,1231 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"guifontset", "gfs", P_STRING|P_VI_DEF|P_RCLR|P_COMMA, - #if defined(FEAT_GUI) && defined(FEAT_XFONTSET) - (char_u *)&p_guifontset, PV_NONE, -*************** -*** 1226,1232 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"guifontwide", "gfw", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - #if defined(FEAT_GUI) && defined(FEAT_MBYTE) - (char_u *)&p_guifontwide, PV_NONE, ---- 1234,1240 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"guifontwide", "gfw", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - #if defined(FEAT_GUI) && defined(FEAT_MBYTE) - (char_u *)&p_guifontwide, PV_NONE, -*************** -*** 1235,1248 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"guiheadroom", "ghr", P_NUM|P_VI_DEF, - #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) - (char_u *)&p_ghr, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)50L, (char_u *)0L}}, - {"guioptions", "go", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, - #if defined(FEAT_GUI) - (char_u *)&p_go, PV_NONE, ---- 1243,1256 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"guiheadroom", "ghr", P_NUM|P_VI_DEF, - #if defined(FEAT_GUI_GTK) || defined(FEAT_GUI_X11) - (char_u *)&p_ghr, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)50L, (char_u *)0L} SCRIPTID_INIT}, - {"guioptions", "go", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST, - #if defined(FEAT_GUI) - (char_u *)&p_go, PV_NONE, -*************** -*** 1255,1268 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"guipty", NULL, P_BOOL|P_VI_DEF, - #if defined(FEAT_GUI) - (char_u *)&p_guipty, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L}}, - {"guitablabel", "gtl", P_STRING|P_VI_DEF|P_RWIN, - #if defined(FEAT_GUI_TABLINE) - (char_u *)&p_gtl, PV_NONE, ---- 1263,1276 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"guipty", NULL, P_BOOL|P_VI_DEF, - #if defined(FEAT_GUI) - (char_u *)&p_guipty, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"guitablabel", "gtl", P_STRING|P_VI_DEF|P_RWIN, - #if defined(FEAT_GUI_TABLINE) - (char_u *)&p_gtl, PV_NONE, -*************** -*** 1271,1277 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"guitabtooltip", "gtt", P_STRING|P_VI_DEF|P_RWIN, - #if defined(FEAT_GUI_TABLINE) - (char_u *)&p_gtt, PV_NONE, ---- 1279,1285 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"guitabtooltip", "gtt", P_STRING|P_VI_DEF|P_RWIN, - #if defined(FEAT_GUI_TABLINE) - (char_u *)&p_gtt, PV_NONE, -*************** -*** 1280,1299 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"hardtabs", "ht", P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"helpfile", "hf", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_hf, PV_NONE, -! {(char_u *)DFLT_HELPFILE, (char_u *)0L}}, - {"helpheight", "hh", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_hh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)20L, (char_u *)0L}}, - {"helplang", "hlg", P_STRING|P_VI_DEF|P_COMMA, - #ifdef FEAT_MULTI_LANG - (char_u *)&p_hlg, PV_NONE, ---- 1288,1308 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"hardtabs", "ht", P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"helpfile", "hf", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_hf, PV_NONE, -! {(char_u *)DFLT_HELPFILE, (char_u *)0L} -! SCRIPTID_INIT}, - {"helpheight", "hh", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_hh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT}, - {"helplang", "hlg", P_STRING|P_VI_DEF|P_COMMA, - #ifdef FEAT_MULTI_LANG - (char_u *)&p_hlg, PV_NONE, -*************** -*** 1302,1365 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"hidden", "hid", P_BOOL|P_VI_DEF, - (char_u *)&p_hid, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"highlight", "hl", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - (char_u *)&p_hl, PV_NONE, -! {(char_u *)HIGHLIGHT_INIT, (char_u *)0L}}, - {"history", "hi", P_NUM|P_VIM, - (char_u *)&p_hi, PV_NONE, -! {(char_u *)0L, (char_u *)20L}}, - {"hkmap", "hk", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_hkmap, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"hkmapp", "hkp", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_hkmapp, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"hlsearch", "hls", P_BOOL|P_VI_DEF|P_VIM|P_RALL, - (char_u *)&p_hls, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"icon", NULL, P_BOOL|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_icon, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"iconstring", NULL, P_STRING|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_iconstring, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"ignorecase", "ic", P_BOOL|P_VI_DEF, - (char_u *)&p_ic, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"imactivatekey","imak",P_STRING|P_VI_DEF, - #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) - (char_u *)&p_imak, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"imcmdline", "imc", P_BOOL|P_VI_DEF, - #ifdef USE_IM_CONTROL - (char_u *)&p_imcmdline, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"imdisable", "imd", P_BOOL|P_VI_DEF, - #ifdef USE_IM_CONTROL - (char_u *)&p_imdisable, PV_NONE, ---- 1311,1375 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"hidden", "hid", P_BOOL|P_VI_DEF, - (char_u *)&p_hid, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"highlight", "hl", P_STRING|P_VI_DEF|P_RCLR|P_COMMA|P_NODUP, - (char_u *)&p_hl, PV_NONE, -! {(char_u *)HIGHLIGHT_INIT, (char_u *)0L} -! SCRIPTID_INIT}, - {"history", "hi", P_NUM|P_VIM, - (char_u *)&p_hi, PV_NONE, -! {(char_u *)0L, (char_u *)20L} SCRIPTID_INIT}, - {"hkmap", "hk", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_hkmap, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"hkmapp", "hkp", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_hkmapp, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"hlsearch", "hls", P_BOOL|P_VI_DEF|P_VIM|P_RALL, - (char_u *)&p_hls, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"icon", NULL, P_BOOL|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_icon, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"iconstring", NULL, P_STRING|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_iconstring, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"ignorecase", "ic", P_BOOL|P_VI_DEF, - (char_u *)&p_ic, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"imactivatekey","imak",P_STRING|P_VI_DEF, - #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) - (char_u *)&p_imak, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"imcmdline", "imc", P_BOOL|P_VI_DEF, - #ifdef USE_IM_CONTROL - (char_u *)&p_imcmdline, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"imdisable", "imd", P_BOOL|P_VI_DEF, - #ifdef USE_IM_CONTROL - (char_u *)&p_imdisable, PV_NONE, -*************** -*** 1371,1377 **** - #else - {(char_u *)FALSE, (char_u *)0L} - #endif -! }, - {"iminsert", "imi", P_NUM|P_VI_DEF, - (char_u *)&p_iminsert, PV_IMI, - #ifdef B_IMODE_IM ---- 1381,1387 ---- - #else - {(char_u *)FALSE, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"iminsert", "imi", P_NUM|P_VI_DEF, - (char_u *)&p_iminsert, PV_IMI, - #ifdef B_IMODE_IM -*************** -*** 1379,1385 **** - #else - {(char_u *)B_IMODE_NONE, (char_u *)0L} - #endif -! }, - {"imsearch", "ims", P_NUM|P_VI_DEF, - (char_u *)&p_imsearch, PV_IMS, - #ifdef B_IMODE_IM ---- 1389,1395 ---- - #else - {(char_u *)B_IMODE_NONE, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"imsearch", "ims", P_NUM|P_VI_DEF, - (char_u *)&p_imsearch, PV_IMS, - #ifdef B_IMODE_IM -*************** -*** 1387,1393 **** - #else - {(char_u *)B_IMODE_NONE, (char_u *)0L} - #endif -! }, - {"include", "inc", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_FIND_ID - (char_u *)&p_inc, PV_INC, ---- 1397,1403 ---- - #else - {(char_u *)B_IMODE_NONE, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"include", "inc", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_FIND_ID - (char_u *)&p_inc, PV_INC, -*************** -*** 1396,1402 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF, - #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL) - (char_u *)&p_inex, PV_INEX, ---- 1406,1412 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"includeexpr", "inex", P_STRING|P_ALLOCED|P_VI_DEF, - #if defined(FEAT_FIND_ID) && defined(FEAT_EVAL) - (char_u *)&p_inex, PV_INEX, -*************** -*** 1405,1414 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"incsearch", "is", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_is, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"indentexpr", "inde", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - #if defined(FEAT_CINDENT) && defined(FEAT_EVAL) - (char_u *)&p_inde, PV_INDE, ---- 1415,1424 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"incsearch", "is", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_is, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"indentexpr", "inde", P_STRING|P_ALLOCED|P_VI_DEF|P_VIM, - #if defined(FEAT_CINDENT) && defined(FEAT_EVAL) - (char_u *)&p_inde, PV_INDE, -*************** -*** 1417,1423 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"indentkeys", "indk", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #if defined(FEAT_CINDENT) && defined(FEAT_EVAL) - (char_u *)&p_indk, PV_INDK, ---- 1427,1433 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"indentkeys", "indk", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - #if defined(FEAT_CINDENT) && defined(FEAT_EVAL) - (char_u *)&p_indk, PV_INDK, -*************** -*** 1426,1438 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"infercase", "inf", P_BOOL|P_VI_DEF, - (char_u *)&p_inf, PV_INF, -! {(char_u *)FALSE, (char_u *)0L}}, - {"insertmode", "im", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_im, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"isfname", "isf", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_isf, PV_NONE, - { ---- 1436,1448 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"infercase", "inf", P_BOOL|P_VI_DEF, - (char_u *)&p_inf, PV_INF, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"insertmode", "im", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_im, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"isfname", "isf", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_isf, PV_NONE, - { -*************** -*** 1455,1461 **** - # endif - # endif - #endif -! (char_u *)0L}}, - {"isident", "isi", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_isi, PV_NONE, - { ---- 1465,1471 ---- - # endif - # endif - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"isident", "isi", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_isi, PV_NONE, - { -*************** -*** 1472,1478 **** - (char_u *)"@,48-57,_,192-255", - # endif - #endif -! (char_u *)0L}}, - {"iskeyword", "isk", P_STRING|P_ALLOCED|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_isk, PV_ISK, - { ---- 1482,1488 ---- - (char_u *)"@,48-57,_,192-255", - # endif - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"iskeyword", "isk", P_STRING|P_ALLOCED|P_VIM|P_COMMA|P_NODUP, - (char_u *)&p_isk, PV_ISK, - { -*************** -*** 1491,1497 **** - ISK_LATIN1 - # endif - #endif -! }}, - {"isprint", "isp", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - (char_u *)&p_isp, PV_NONE, - { ---- 1501,1507 ---- - ISK_LATIN1 - # endif - #endif -! } SCRIPTID_INIT}, - {"isprint", "isp", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - (char_u *)&p_isp, PV_NONE, - { -*************** -*** 1507,1516 **** - ISP_LATIN1, - # endif - #endif -! (char_u *)0L}}, - {"joinspaces", "js", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_js, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"key", NULL, P_STRING|P_ALLOCED|P_VI_DEF|P_NO_MKRC, - #ifdef FEAT_CRYPT - (char_u *)&p_key, PV_KEY, ---- 1517,1526 ---- - ISP_LATIN1, - # endif - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"joinspaces", "js", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_js, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"key", NULL, P_STRING|P_ALLOCED|P_VI_DEF|P_NO_MKRC, - #ifdef FEAT_CRYPT - (char_u *)&p_key, PV_KEY, -*************** -*** 1519,1525 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"keymap", "kmp", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_RSTAT|P_NFNAME|P_PRI_MKRC, - #ifdef FEAT_KEYMAP - (char_u *)&p_keymap, PV_KMAP, ---- 1529,1535 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"keymap", "kmp", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF|P_RSTAT|P_NFNAME|P_PRI_MKRC, - #ifdef FEAT_KEYMAP - (char_u *)&p_keymap, PV_KMAP, -*************** -*** 1528,1541 **** - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! }, - {"keymodel", "km", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_VISUAL - (char_u *)&p_km, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_kp, PV_KP, - { ---- 1538,1551 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"keymodel", "km", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_VISUAL - (char_u *)&p_km, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"keywordprg", "kp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_kp, PV_KP, - { -*************** -*** 1556,1562 **** - # endif - #endif - #endif -! (char_u *)0L}}, - {"langmap", "lmap", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_LANGMAP - (char_u *)&p_langmap, PV_NONE, ---- 1566,1572 ---- - # endif - #endif - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"langmap", "lmap", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_LANGMAP - (char_u *)&p_langmap, PV_NONE, -*************** -*** 1565,1595 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, - #endif -! (char_u *)0L}}, - {"langmenu", "lm", P_STRING|P_VI_DEF|P_NFNAME, - #if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG) - (char_u *)&p_lm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"laststatus", "ls", P_NUM|P_VI_DEF|P_RALL, - #ifdef FEAT_WINDOWS - (char_u *)&p_ls, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L}}, - {"lazyredraw", "lz", P_BOOL|P_VI_DEF, - (char_u *)&p_lz, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"linebreak", "lbr", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_LINEBREAK - (char_u *)VAR_WIN, PV_LBR, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"lines", NULL, P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, - (char_u *)&Rows, PV_NONE, - { ---- 1575,1605 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"langmenu", "lm", P_STRING|P_VI_DEF|P_NFNAME, - #if defined(FEAT_MENU) && defined(FEAT_MULTI_LANG) - (char_u *)&p_lm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"laststatus", "ls", P_NUM|P_VI_DEF|P_RALL, - #ifdef FEAT_WINDOWS - (char_u *)&p_ls, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"lazyredraw", "lz", P_BOOL|P_VI_DEF, - (char_u *)&p_lz, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"linebreak", "lbr", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_LINEBREAK - (char_u *)VAR_WIN, PV_LBR, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"lines", NULL, P_NUM|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RCLR, - (char_u *)&Rows, PV_NONE, - { -*************** -*** 1598,1604 **** - #else - (char_u *)24L, - #endif -! (char_u *)0L}}, - {"linespace", "lsp", P_NUM|P_VI_DEF|P_RCLR, - #ifdef FEAT_GUI - (char_u *)&p_linespace, PV_NONE, ---- 1608,1614 ---- - #else - (char_u *)24L, - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"linespace", "lsp", P_NUM|P_VI_DEF|P_RCLR, - #ifdef FEAT_GUI - (char_u *)&p_linespace, PV_NONE, -*************** -*** 1610,1623 **** - #else - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"lisp", NULL, P_BOOL|P_VI_DEF, - #ifdef FEAT_LISP - (char_u *)&p_lisp, PV_LISP, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_LISP - (char_u *)&p_lispwords, PV_NONE, ---- 1620,1633 ---- - #else - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"lisp", NULL, P_BOOL|P_VI_DEF, - #ifdef FEAT_LISP - (char_u *)&p_lisp, PV_LISP, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_LISP - (char_u *)&p_lispwords, PV_NONE, -*************** -*** 1626,1649 **** - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! }, - {"list", NULL, P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_LIST, -! {(char_u *)FALSE, (char_u *)0L}}, - {"listchars", "lcs", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - (char_u *)&p_lcs, PV_NONE, -! {(char_u *)"eol:$", (char_u *)0L}}, - {"loadplugins", "lpl", P_BOOL|P_VI_DEF, - (char_u *)&p_lpl, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - #ifdef FEAT_GUI_MAC - {"macatsui", NULL, P_BOOL|P_VI_DEF|P_RCLR, - (char_u *)&p_macatsui, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - #endif - {"magic", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_magic, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"makeef", "mef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_mef, PV_NONE, ---- 1636,1659 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)"", (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"list", NULL, P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_LIST, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"listchars", "lcs", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP, - (char_u *)&p_lcs, PV_NONE, -! {(char_u *)"eol:$", (char_u *)0L} SCRIPTID_INIT}, - {"loadplugins", "lpl", P_BOOL|P_VI_DEF, - (char_u *)&p_lpl, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - #ifdef FEAT_GUI_MAC - {"macatsui", NULL, P_BOOL|P_VI_DEF|P_RCLR, - (char_u *)&p_macatsui, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - #endif - {"magic", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_magic, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"makeef", "mef", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_mef, PV_NONE, -*************** -*** 1652,1658 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"makeprg", "mp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_mp, PV_MP, ---- 1662,1668 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"makeprg", "mp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_mp, PV_MP, -*************** -*** 1665,1713 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"matchpairs", "mps", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_mps, PV_MPS, -! {(char_u *)"(:),{:},[:]", (char_u *)0L}}, - {"matchtime", "mat", P_NUM|P_VI_DEF, - (char_u *)&p_mat, PV_NONE, -! {(char_u *)5L, (char_u *)0L}}, - {"maxcombine", "mco", P_NUM|P_VI_DEF, - #ifdef FEAT_MBYTE - (char_u *)&p_mco, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)2, (char_u *)0L}}, - {"maxfuncdepth", "mfd", P_NUM|P_VI_DEF, - #ifdef FEAT_EVAL - (char_u *)&p_mfd, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)100L, (char_u *)0L}}, - {"maxmapdepth", "mmd", P_NUM|P_VI_DEF, - (char_u *)&p_mmd, PV_NONE, -! {(char_u *)1000L, (char_u *)0L}}, - {"maxmem", "mm", P_NUM|P_VI_DEF, - (char_u *)&p_mm, PV_NONE, -! {(char_u *)DFLT_MAXMEM, (char_u *)0L}}, - {"maxmempattern","mmp", P_NUM|P_VI_DEF, - (char_u *)&p_mmp, PV_NONE, -! {(char_u *)1000L, (char_u *)0L}}, - {"maxmemtot", "mmt", P_NUM|P_VI_DEF, - (char_u *)&p_mmt, PV_NONE, -! {(char_u *)DFLT_MAXMEMTOT, (char_u *)0L}}, - {"menuitems", "mis", P_NUM|P_VI_DEF, - #ifdef FEAT_MENU - (char_u *)&p_mis, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)25L, (char_u *)0L}}, - {"mesg", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"mkspellmem", "msm", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE, - #ifdef FEAT_SPELL - (char_u *)&p_msm, PV_NONE, ---- 1675,1726 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"matchpairs", "mps", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_mps, PV_MPS, -! {(char_u *)"(:),{:},[:]", (char_u *)0L} -! SCRIPTID_INIT}, - {"matchtime", "mat", P_NUM|P_VI_DEF, - (char_u *)&p_mat, PV_NONE, -! {(char_u *)5L, (char_u *)0L} SCRIPTID_INIT}, - {"maxcombine", "mco", P_NUM|P_VI_DEF, - #ifdef FEAT_MBYTE - (char_u *)&p_mco, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)2, (char_u *)0L} SCRIPTID_INIT}, - {"maxfuncdepth", "mfd", P_NUM|P_VI_DEF, - #ifdef FEAT_EVAL - (char_u *)&p_mfd, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)100L, (char_u *)0L} SCRIPTID_INIT}, - {"maxmapdepth", "mmd", P_NUM|P_VI_DEF, - (char_u *)&p_mmd, PV_NONE, -! {(char_u *)1000L, (char_u *)0L} SCRIPTID_INIT}, - {"maxmem", "mm", P_NUM|P_VI_DEF, - (char_u *)&p_mm, PV_NONE, -! {(char_u *)DFLT_MAXMEM, (char_u *)0L} -! SCRIPTID_INIT}, - {"maxmempattern","mmp", P_NUM|P_VI_DEF, - (char_u *)&p_mmp, PV_NONE, -! {(char_u *)1000L, (char_u *)0L} SCRIPTID_INIT}, - {"maxmemtot", "mmt", P_NUM|P_VI_DEF, - (char_u *)&p_mmt, PV_NONE, -! {(char_u *)DFLT_MAXMEMTOT, (char_u *)0L} -! SCRIPTID_INIT}, - {"menuitems", "mis", P_NUM|P_VI_DEF, - #ifdef FEAT_MENU - (char_u *)&p_mis, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)25L, (char_u *)0L} SCRIPTID_INIT}, - {"mesg", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"mkspellmem", "msm", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE, - #ifdef FEAT_SPELL - (char_u *)&p_msm, PV_NONE, -*************** -*** 1716,1737 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"modeline", "ml", P_BOOL|P_VIM, - (char_u *)&p_ml, PV_ML, -! {(char_u *)FALSE, (char_u *)TRUE}}, - {"modelines", "mls", P_NUM|P_VI_DEF, - (char_u *)&p_mls, PV_NONE, -! {(char_u *)5L, (char_u *)0L}}, - {"modifiable", "ma", P_BOOL|P_VI_DEF|P_NOGLOB, - (char_u *)&p_ma, PV_MA, -! {(char_u *)TRUE, (char_u *)0L}}, - {"modified", "mod", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_mod, PV_MOD, -! {(char_u *)FALSE, (char_u *)0L}}, - {"more", NULL, P_BOOL|P_VIM, - (char_u *)&p_more, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE}}, - {"mouse", NULL, P_STRING|P_VI_DEF|P_FLAGLIST, - (char_u *)&p_mouse, PV_NONE, - { ---- 1729,1750 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"modeline", "ml", P_BOOL|P_VIM, - (char_u *)&p_ml, PV_ML, -! {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"modelines", "mls", P_NUM|P_VI_DEF, - (char_u *)&p_mls, PV_NONE, -! {(char_u *)5L, (char_u *)0L} SCRIPTID_INIT}, - {"modifiable", "ma", P_BOOL|P_VI_DEF|P_NOGLOB, - (char_u *)&p_ma, PV_MA, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"modified", "mod", P_BOOL|P_NO_MKRC|P_VI_DEF|P_RSTAT, - (char_u *)&p_mod, PV_MOD, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"more", NULL, P_BOOL|P_VIM, - (char_u *)&p_more, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"mouse", NULL, P_STRING|P_VI_DEF|P_FLAGLIST, - (char_u *)&p_mouse, PV_NONE, - { -*************** -*** 1740,1760 **** - #else - (char_u *)"", - #endif -! (char_u *)0L}}, - {"mousefocus", "mousef", P_BOOL|P_VI_DEF, - #ifdef FEAT_GUI - (char_u *)&p_mousef, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"mousehide", "mh", P_BOOL|P_VI_DEF, - #ifdef FEAT_GUI - (char_u *)&p_mh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L}}, - {"mousemodel", "mousem", P_STRING|P_VI_DEF, - (char_u *)&p_mousem, PV_NONE, - { ---- 1753,1773 ---- - #else - (char_u *)"", - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"mousefocus", "mousef", P_BOOL|P_VI_DEF, - #ifdef FEAT_GUI - (char_u *)&p_mousef, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"mousehide", "mh", P_BOOL|P_VI_DEF, - #ifdef FEAT_GUI - (char_u *)&p_mh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"mousemodel", "mousem", P_STRING|P_VI_DEF, - (char_u *)&p_mousem, PV_NONE, - { -*************** -*** 1767,1773 **** - (char_u *)"extend", - # endif - #endif -! (char_u *)0L}}, - {"mouseshape", "mouses", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_MOUSESHAPE - (char_u *)&p_mouseshape, PV_NONE, ---- 1780,1786 ---- - (char_u *)"extend", - # endif - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"mouseshape", "mouses", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_MOUSESHAPE - (char_u *)&p_mouseshape, PV_NONE, -*************** -*** 1776,1808 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"mousetime", "mouset", P_NUM|P_VI_DEF, - (char_u *)&p_mouset, PV_NONE, -! {(char_u *)500L, (char_u *)0L}}, - {"mzquantum", "mzq", P_NUM, - #ifdef FEAT_MZSCHEME - (char_u *)&p_mzq, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)100L, (char_u *)100L}}, - {"novice", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"nrformats", "nf", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_nf, PV_NF, -! {(char_u *)"octal,hex", (char_u *)0L}}, - {"number", "nu", P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_NU, -! {(char_u *)FALSE, (char_u *)0L}}, - {"numberwidth", "nuw", P_NUM|P_RWIN|P_VIM, - #ifdef FEAT_LINEBREAK - (char_u *)VAR_WIN, PV_NUW, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)8L, (char_u *)4L}}, - {"omnifunc", "ofu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, - #ifdef FEAT_COMPL_FUNC - (char_u *)&p_ofu, PV_OFU, ---- 1789,1822 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"mousetime", "mouset", P_NUM|P_VI_DEF, - (char_u *)&p_mouset, PV_NONE, -! {(char_u *)500L, (char_u *)0L} SCRIPTID_INIT}, - {"mzquantum", "mzq", P_NUM, - #ifdef FEAT_MZSCHEME - (char_u *)&p_mzq, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)100L, (char_u *)100L} SCRIPTID_INIT}, - {"novice", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"nrformats", "nf", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_nf, PV_NF, -! {(char_u *)"octal,hex", (char_u *)0L} -! SCRIPTID_INIT}, - {"number", "nu", P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_NU, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"numberwidth", "nuw", P_NUM|P_RWIN|P_VIM, - #ifdef FEAT_LINEBREAK - (char_u *)VAR_WIN, PV_NUW, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)8L, (char_u *)4L} SCRIPTID_INIT}, - {"omnifunc", "ofu", P_STRING|P_ALLOCED|P_VI_DEF|P_SECURE, - #ifdef FEAT_COMPL_FUNC - (char_u *)&p_ofu, PV_OFU, -*************** -*** 1811,1820 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"open", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"opendevice", "odev", P_BOOL|P_VI_DEF, - #if defined(MSDOS) || defined(MSWIN) || defined(OS2) - (char_u *)&p_odev, PV_NONE, ---- 1825,1834 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"open", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"opendevice", "odev", P_BOOL|P_VI_DEF, - #if defined(MSDOS) || defined(MSWIN) || defined(OS2) - (char_u *)&p_odev, PV_NONE, -*************** -*** 1822,1834 **** - (char_u *)NULL, PV_NONE, - #endif - {(char_u *)FALSE, (char_u *)FALSE} -! }, - {"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_opfunc, PV_NONE, -! {(char_u *)"", (char_u *)0L} }, - {"optimize", "opt", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"osfiletype", "oft", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_OSFILETYPE - (char_u *)&p_oft, PV_OFT, ---- 1836,1848 ---- - (char_u *)NULL, PV_NONE, - #endif - {(char_u *)FALSE, (char_u *)FALSE} -! SCRIPTID_INIT}, - {"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_opfunc, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"optimize", "opt", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"osfiletype", "oft", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_OSFILETYPE - (char_u *)&p_oft, PV_OFT, -*************** -*** 1837,1853 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"paragraphs", "para", P_STRING|P_VI_DEF, - (char_u *)&p_para, PV_NONE, - {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp", -! (char_u *)0L}}, - {"paste", NULL, P_BOOL|P_VI_DEF|P_PRI_MKRC, - (char_u *)&p_paste, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"pastetoggle", "pt", P_STRING|P_VI_DEF, - (char_u *)&p_pt, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"patchexpr", "pex", P_STRING|P_VI_DEF|P_SECURE, - #if defined(FEAT_DIFF) && defined(FEAT_EVAL) - (char_u *)&p_pex, PV_NONE, ---- 1851,1867 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"paragraphs", "para", P_STRING|P_VI_DEF, - (char_u *)&p_para, PV_NONE, - {(char_u *)"IPLPPPQPP TPHPLIPpLpItpplpipbp", -! (char_u *)0L} SCRIPTID_INIT}, - {"paste", NULL, P_BOOL|P_VI_DEF|P_PRI_MKRC, - (char_u *)&p_paste, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"pastetoggle", "pt", P_STRING|P_VI_DEF, - (char_u *)&p_pt, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"patchexpr", "pex", P_STRING|P_VI_DEF|P_SECURE, - #if defined(FEAT_DIFF) && defined(FEAT_EVAL) - (char_u *)&p_pex, PV_NONE, -*************** -*** 1856,1865 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"patchmode", "pm", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_pm, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"path", "pa", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_path, PV_PATH, - { ---- 1870,1879 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"patchmode", "pm", P_STRING|P_VI_DEF|P_NFNAME, - (char_u *)&p_pm, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"path", "pa", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_path, PV_PATH, - { -*************** -*** 1872,1895 **** - (char_u *)".,/usr/include,,", - # endif - #endif -! (char_u *)0L}}, - {"preserveindent", "pi", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_pi, PV_PI, -! {(char_u *)FALSE, (char_u *)0L}}, - {"previewheight", "pvh", P_NUM|P_VI_DEF, - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) - (char_u *)&p_pvh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)12L, (char_u *)0L}}, - {"previewwindow", "pvw", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB, - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) - (char_u *)VAR_WIN, PV_PVW, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"printdevice", "pdev", P_STRING|P_VI_DEF|P_SECURE, - #ifdef FEAT_PRINTER - (char_u *)&p_pdev, PV_NONE, ---- 1886,1909 ---- - (char_u *)".,/usr/include,,", - # endif - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"preserveindent", "pi", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_pi, PV_PI, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"previewheight", "pvh", P_NUM|P_VI_DEF, - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) - (char_u *)&p_pvh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)12L, (char_u *)0L} SCRIPTID_INIT}, - {"previewwindow", "pvw", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB, - #if defined(FEAT_WINDOWS) && defined(FEAT_QUICKFIX) - (char_u *)VAR_WIN, PV_PVW, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"printdevice", "pdev", P_STRING|P_VI_DEF|P_SECURE, - #ifdef FEAT_PRINTER - (char_u *)&p_pdev, PV_NONE, -*************** -*** 1898,1904 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"printencoding", "penc", P_STRING|P_VI_DEF, - #ifdef FEAT_POSTSCRIPT - (char_u *)&p_penc, PV_NONE, ---- 1912,1918 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"printencoding", "penc", P_STRING|P_VI_DEF, - #ifdef FEAT_POSTSCRIPT - (char_u *)&p_penc, PV_NONE, -*************** -*** 1907,1913 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"printexpr", "pexpr", P_STRING|P_VI_DEF, - #ifdef FEAT_POSTSCRIPT - (char_u *)&p_pexpr, PV_NONE, ---- 1921,1927 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"printexpr", "pexpr", P_STRING|P_VI_DEF, - #ifdef FEAT_POSTSCRIPT - (char_u *)&p_pexpr, PV_NONE, -*************** -*** 1916,1922 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"printfont", "pfn", P_STRING|P_VI_DEF, - #ifdef FEAT_PRINTER - (char_u *)&p_pfn, PV_NONE, ---- 1930,1936 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"printfont", "pfn", P_STRING|P_VI_DEF, - #ifdef FEAT_PRINTER - (char_u *)&p_pfn, PV_NONE, -*************** -*** 1931,1937 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"printheader", "pheader", P_STRING|P_VI_DEF|P_GETTEXT, - #ifdef FEAT_PRINTER - (char_u *)&p_header, PV_NONE, ---- 1945,1951 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"printheader", "pheader", P_STRING|P_VI_DEF|P_GETTEXT, - #ifdef FEAT_PRINTER - (char_u *)&p_header, PV_NONE, -*************** -*** 1940,1946 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"printmbcharset", "pmbcs", P_STRING|P_VI_DEF, - #if defined(FEAT_POSTSCRIPT) && defined(FEAT_MBYTE) - (char_u *)&p_pmcs, PV_NONE, ---- 1954,1960 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"printmbcharset", "pmbcs", P_STRING|P_VI_DEF, - #if defined(FEAT_POSTSCRIPT) && defined(FEAT_MBYTE) - (char_u *)&p_pmcs, PV_NONE, -*************** -*** 1949,1955 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"printmbfont", "pmbfn", P_STRING|P_VI_DEF, - #if defined(FEAT_POSTSCRIPT) && defined(FEAT_MBYTE) - (char_u *)&p_pmfn, PV_NONE, ---- 1963,1969 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"printmbfont", "pmbfn", P_STRING|P_VI_DEF, - #if defined(FEAT_POSTSCRIPT) && defined(FEAT_MBYTE) - (char_u *)&p_pmfn, PV_NONE, -*************** -*** 1958,1964 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"printoptions", "popt", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_PRINTER - (char_u *)&p_popt, PV_NONE, ---- 1972,1978 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"printoptions", "popt", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_PRINTER - (char_u *)&p_popt, PV_NONE, -*************** -*** 1967,1983 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"prompt", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_prompt, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"pumheight", "ph", P_NUM|P_VI_DEF, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_ph, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L}}, - {"quoteescape", "qe", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_TEXTOBJ - (char_u *)&p_qe, PV_QE, ---- 1981,1997 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"prompt", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_prompt, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"pumheight", "ph", P_NUM|P_VI_DEF, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_ph, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"quoteescape", "qe", P_STRING|P_ALLOCED|P_VI_DEF, - #ifdef FEAT_TEXTOBJ - (char_u *)&p_qe, PV_QE, -*************** -*** 1986,2032 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"readonly", "ro", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB, - (char_u *)&p_ro, PV_RO, -! {(char_u *)FALSE, (char_u *)0L}}, - {"redraw", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"redrawtime", "rdt", P_NUM|P_VI_DEF, - #ifdef FEAT_RELTIME - (char_u *)&p_rdt, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)2000L, (char_u *)0L}}, - {"remap", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_remap, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"report", NULL, P_NUM|P_VI_DEF, - (char_u *)&p_report, PV_NONE, -! {(char_u *)2L, (char_u *)0L}}, - {"restorescreen", "rs", P_BOOL|P_VI_DEF, - #ifdef WIN3264 - (char_u *)&p_rs, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L}}, - {"revins", "ri", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_ri, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"rightleft", "rl", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_RIGHTLEFT - (char_u *)VAR_WIN, PV_RL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"rightleftcmd", "rlc", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN, - #ifdef FEAT_RIGHTLEFT - (char_u *)VAR_WIN, PV_RLC, ---- 2000,2046 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"readonly", "ro", P_BOOL|P_VI_DEF|P_RSTAT|P_NOGLOB, - (char_u *)&p_ro, PV_RO, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"redraw", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"redrawtime", "rdt", P_NUM|P_VI_DEF, - #ifdef FEAT_RELTIME - (char_u *)&p_rdt, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)2000L, (char_u *)0L} SCRIPTID_INIT}, - {"remap", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_remap, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"report", NULL, P_NUM|P_VI_DEF, - (char_u *)&p_report, PV_NONE, -! {(char_u *)2L, (char_u *)0L} SCRIPTID_INIT}, - {"restorescreen", "rs", P_BOOL|P_VI_DEF, - #ifdef WIN3264 - (char_u *)&p_rs, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"revins", "ri", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_RIGHTLEFT - (char_u *)&p_ri, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"rightleft", "rl", P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_RIGHTLEFT - (char_u *)VAR_WIN, PV_RL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"rightleftcmd", "rlc", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN, - #ifdef FEAT_RIGHTLEFT - (char_u *)VAR_WIN, PV_RLC, -*************** -*** 2035,2074 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"ruler", "ru", P_BOOL|P_VI_DEF|P_VIM|P_RSTAT, - #ifdef FEAT_CMDL_INFO - (char_u *)&p_ru, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"rulerformat", "ruf", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT, - #ifdef FEAT_STL_OPT - (char_u *)&p_ruf, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"runtimepath", "rtp", P_STRING|P_VI_DEF|P_EXPAND|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_rtp, PV_NONE, -! {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L}}, - {"scroll", "scr", P_NUM|P_NO_MKRC|P_VI_DEF, - (char_u *)VAR_WIN, PV_SCROLL, -! {(char_u *)12L, (char_u *)0L}}, - {"scrollbind", "scb", P_BOOL|P_VI_DEF, - #ifdef FEAT_SCROLLBIND - (char_u *)VAR_WIN, PV_SCBIND, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"scrolljump", "sj", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_sj, PV_NONE, -! {(char_u *)1L, (char_u *)0L}}, - {"scrolloff", "so", P_NUM|P_VI_DEF|P_VIM|P_RALL, - (char_u *)&p_so, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"scrollopt", "sbo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SCROLLBIND - (char_u *)&p_sbo, PV_NONE, ---- 2049,2089 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"ruler", "ru", P_BOOL|P_VI_DEF|P_VIM|P_RSTAT, - #ifdef FEAT_CMDL_INFO - (char_u *)&p_ru, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"rulerformat", "ruf", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT, - #ifdef FEAT_STL_OPT - (char_u *)&p_ruf, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"runtimepath", "rtp", P_STRING|P_VI_DEF|P_EXPAND|P_COMMA|P_NODUP|P_SECURE, - (char_u *)&p_rtp, PV_NONE, -! {(char_u *)DFLT_RUNTIMEPATH, (char_u *)0L} -! SCRIPTID_INIT}, - {"scroll", "scr", P_NUM|P_NO_MKRC|P_VI_DEF, - (char_u *)VAR_WIN, PV_SCROLL, -! {(char_u *)12L, (char_u *)0L} SCRIPTID_INIT}, - {"scrollbind", "scb", P_BOOL|P_VI_DEF, - #ifdef FEAT_SCROLLBIND - (char_u *)VAR_WIN, PV_SCBIND, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"scrolljump", "sj", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_sj, PV_NONE, -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"scrolloff", "so", P_NUM|P_VI_DEF|P_VIM|P_RALL, - (char_u *)&p_so, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"scrollopt", "sbo", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SCROLLBIND - (char_u *)&p_sbo, PV_NONE, -*************** -*** 2077,2103 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"sections", "sect", P_STRING|P_VI_DEF, - (char_u *)&p_sections, PV_NONE, -! {(char_u *)"SHNHH HUnhsh", (char_u *)0L}}, - {"secure", NULL, P_BOOL|P_VI_DEF|P_SECURE, - (char_u *)&p_secure, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"selection", "sel", P_STRING|P_VI_DEF, - #ifdef FEAT_VISUAL - (char_u *)&p_sel, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"inclusive", (char_u *)0L}}, - {"selectmode", "slm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_VISUAL - (char_u *)&p_slm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SESSION - (char_u *)&p_ssop, PV_NONE, ---- 2092,2120 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"sections", "sect", P_STRING|P_VI_DEF, - (char_u *)&p_sections, PV_NONE, -! {(char_u *)"SHNHH HUnhsh", (char_u *)0L} -! SCRIPTID_INIT}, - {"secure", NULL, P_BOOL|P_VI_DEF|P_SECURE, - (char_u *)&p_secure, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"selection", "sel", P_STRING|P_VI_DEF, - #ifdef FEAT_VISUAL - (char_u *)&p_sel, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"inclusive", (char_u *)0L} -! SCRIPTID_INIT}, - {"selectmode", "slm", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_VISUAL - (char_u *)&p_slm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SESSION - (char_u *)&p_ssop, PV_NONE, -*************** -*** 2107,2113 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"shell", "sh", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_sh, PV_NONE, - { ---- 2124,2130 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"shell", "sh", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_sh, PV_NONE, - { -*************** -*** 2136,2142 **** - # endif - # endif - #endif /* VMS */ -! (char_u *)0L}}, - {"shellcmdflag","shcf", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_shcf, PV_NONE, - { ---- 2153,2159 ---- - # endif - # endif - #endif /* VMS */ -! (char_u *)0L} SCRIPTID_INIT}, - {"shellcmdflag","shcf", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_shcf, PV_NONE, - { -*************** -*** 2149,2155 **** - (char_u *)"-c", - # endif - #endif -! (char_u *)0L}}, - {"shellpipe", "sp", P_STRING|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_sp, PV_NONE, ---- 2166,2172 ---- - (char_u *)"-c", - # endif - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"shellpipe", "sp", P_STRING|P_VI_DEF|P_SECURE, - #ifdef FEAT_QUICKFIX - (char_u *)&p_sp, PV_NONE, -*************** -*** 2168,2197 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"shellquote", "shq", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_shq, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"shellredir", "srr", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_srr, PV_NONE, -! {(char_u *)">", (char_u *)0L}}, - {"shellslash", "ssl", P_BOOL|P_VI_DEF, - #ifdef BACKSLASH_IN_FILENAME - (char_u *)&p_ssl, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"shelltemp", "stmp", P_BOOL, - (char_u *)&p_stmp, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE}}, - {"shelltype", "st", P_NUM|P_VI_DEF, - #ifdef AMIGA - (char_u *)&p_st, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L}}, - {"shellxquote", "sxq", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_sxq, PV_NONE, - { ---- 2185,2214 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"shellquote", "shq", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_shq, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"shellredir", "srr", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_srr, PV_NONE, -! {(char_u *)">", (char_u *)0L} SCRIPTID_INIT}, - {"shellslash", "ssl", P_BOOL|P_VI_DEF, - #ifdef BACKSLASH_IN_FILENAME - (char_u *)&p_ssl, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"shelltemp", "stmp", P_BOOL, - (char_u *)&p_stmp, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"shelltype", "st", P_NUM|P_VI_DEF, - #ifdef AMIGA - (char_u *)&p_st, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"shellxquote", "sxq", P_STRING|P_VI_DEF|P_SECURE, - (char_u *)&p_sxq, PV_NONE, - { -*************** -*** 2200,2229 **** - #else - (char_u *)"", - #endif -! (char_u *)0L}}, - {"shiftround", "sr", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sr, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"shiftwidth", "sw", P_NUM|P_VI_DEF, - (char_u *)&p_sw, PV_SW, -! {(char_u *)8L, (char_u *)0L}}, - {"shortmess", "shm", P_STRING|P_VIM|P_FLAGLIST, - (char_u *)&p_shm, PV_NONE, -! {(char_u *)"", (char_u *)"filnxtToO"}}, - {"shortname", "sn", P_BOOL|P_VI_DEF, - #ifdef SHORT_FNAME - (char_u *)NULL, PV_NONE, - #else - (char_u *)&p_sn, PV_SN, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"showbreak", "sbr", P_STRING|P_VI_DEF|P_RALL, - #ifdef FEAT_LINEBREAK - (char_u *)&p_sbr, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"showcmd", "sc", P_BOOL|P_VIM, - #ifdef FEAT_CMDL_INFO - (char_u *)&p_sc, PV_NONE, ---- 2217,2247 ---- - #else - (char_u *)"", - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"shiftround", "sr", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sr, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"shiftwidth", "sw", P_NUM|P_VI_DEF, - (char_u *)&p_sw, PV_SW, -! {(char_u *)8L, (char_u *)0L} SCRIPTID_INIT}, - {"shortmess", "shm", P_STRING|P_VIM|P_FLAGLIST, - (char_u *)&p_shm, PV_NONE, -! {(char_u *)"", (char_u *)"filnxtToO"} -! SCRIPTID_INIT}, - {"shortname", "sn", P_BOOL|P_VI_DEF, - #ifdef SHORT_FNAME - (char_u *)NULL, PV_NONE, - #else - (char_u *)&p_sn, PV_SN, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"showbreak", "sbr", P_STRING|P_VI_DEF|P_RALL, - #ifdef FEAT_LINEBREAK - (char_u *)&p_sbr, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"showcmd", "sc", P_BOOL|P_VIM, - #ifdef FEAT_CMDL_INFO - (char_u *)&p_sc, PV_NONE, -*************** -*** 2236,2293 **** - #else - (char_u *)TRUE - #endif -! }}, - {"showfulltag", "sft", P_BOOL|P_VI_DEF, - (char_u *)&p_sft, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"showmatch", "sm", P_BOOL|P_VI_DEF, - (char_u *)&p_sm, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"showmode", "smd", P_BOOL|P_VIM, - (char_u *)&p_smd, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE}}, - {"showtabline", "stal", P_NUM|P_VI_DEF|P_RALL, - #ifdef FEAT_WINDOWS - (char_u *)&p_stal, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L}}, - {"sidescroll", "ss", P_NUM|P_VI_DEF, - (char_u *)&p_ss, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF, - (char_u *)&p_siso, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"slowopen", "slow", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"smartcase", "scs", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_scs, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"smartindent", "si", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_SMARTINDENT - (char_u *)&p_si, PV_SI, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"smarttab", "sta", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sta, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"softtabstop", "sts", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_sts, PV_STS, -! {(char_u *)0L, (char_u *)0L}}, - {"sourceany", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"spell", NULL, P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_SPELL - (char_u *)VAR_WIN, PV_SPELL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"spellcapcheck", "spc", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF, - #ifdef FEAT_SPELL - (char_u *)&p_spc, PV_SPC, ---- 2254,2311 ---- - #else - (char_u *)TRUE - #endif -! } SCRIPTID_INIT}, - {"showfulltag", "sft", P_BOOL|P_VI_DEF, - (char_u *)&p_sft, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"showmatch", "sm", P_BOOL|P_VI_DEF, - (char_u *)&p_sm, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"showmode", "smd", P_BOOL|P_VIM, - (char_u *)&p_smd, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"showtabline", "stal", P_NUM|P_VI_DEF|P_RALL, - #ifdef FEAT_WINDOWS - (char_u *)&p_stal, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"sidescroll", "ss", P_NUM|P_VI_DEF, - (char_u *)&p_ss, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF, - (char_u *)&p_siso, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"slowopen", "slow", P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"smartcase", "scs", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_scs, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"smartindent", "si", P_BOOL|P_VI_DEF|P_VIM, - #ifdef FEAT_SMARTINDENT - (char_u *)&p_si, PV_SI, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"smarttab", "sta", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sta, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"softtabstop", "sts", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_sts, PV_STS, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"sourceany", NULL, P_BOOL|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"spell", NULL, P_BOOL|P_VI_DEF|P_RWIN, - #ifdef FEAT_SPELL - (char_u *)VAR_WIN, PV_SPELL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"spellcapcheck", "spc", P_STRING|P_ALLOCED|P_VI_DEF|P_RBUF, - #ifdef FEAT_SPELL - (char_u *)&p_spc, PV_SPC, -*************** -*** 2296,2302 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"spellfile", "spf", P_STRING|P_EXPAND|P_ALLOCED|P_VI_DEF|P_SECURE|P_COMMA, - #ifdef FEAT_SPELL - (char_u *)&p_spf, PV_SPF, ---- 2314,2320 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"spellfile", "spf", P_STRING|P_EXPAND|P_ALLOCED|P_VI_DEF|P_SECURE|P_COMMA, - #ifdef FEAT_SPELL - (char_u *)&p_spf, PV_SPF, -*************** -*** 2305,2311 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"spelllang", "spl", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_RBUF|P_EXPAND, - #ifdef FEAT_SPELL - (char_u *)&p_spl, PV_SPL, ---- 2323,2329 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"spelllang", "spl", P_STRING|P_ALLOCED|P_VI_DEF|P_COMMA|P_RBUF|P_EXPAND, - #ifdef FEAT_SPELL - (char_u *)&p_spl, PV_SPL, -*************** -*** 2314,2320 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_COMMA, - #ifdef FEAT_SPELL - (char_u *)&p_sps, PV_NONE, ---- 2332,2338 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_COMMA, - #ifdef FEAT_SPELL - (char_u *)&p_sps, PV_NONE, -*************** -*** 2323,2357 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"splitbelow", "sb", P_BOOL|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_sb, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"splitright", "spr", P_BOOL|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_spr, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"startofline", "sol", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sol, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT, - #ifdef FEAT_STL_OPT - (char_u *)&p_stl, PV_STL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"suffixes", "su", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_su, PV_NONE, - {(char_u *)".bak,~,.o,.h,.info,.swp,.obj", -! (char_u *)0L}}, - {"suffixesadd", "sua", P_STRING|P_VI_DEF|P_ALLOCED|P_COMMA|P_NODUP, - #ifdef FEAT_SEARCHPATH - (char_u *)&p_sua, PV_SUA, ---- 2341,2375 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"splitbelow", "sb", P_BOOL|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_sb, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"splitright", "spr", P_BOOL|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_spr, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"startofline", "sol", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_sol, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"statusline" ,"stl", P_STRING|P_VI_DEF|P_ALLOCED|P_RSTAT, - #ifdef FEAT_STL_OPT - (char_u *)&p_stl, PV_STL, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"suffixes", "su", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_su, PV_NONE, - {(char_u *)".bak,~,.o,.h,.info,.swp,.obj", -! (char_u *)0L} SCRIPTID_INIT}, - {"suffixesadd", "sua", P_STRING|P_VI_DEF|P_ALLOCED|P_COMMA|P_NODUP, - #ifdef FEAT_SEARCHPATH - (char_u *)&p_sua, PV_SUA, -*************** -*** 2360,2375 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"swapfile", "swf", P_BOOL|P_VI_DEF|P_RSTAT, - (char_u *)&p_swf, PV_SWF, -! {(char_u *)TRUE, (char_u *)0L}}, - {"swapsync", "sws", P_STRING|P_VI_DEF, - (char_u *)&p_sws, PV_NONE, -! {(char_u *)"fsync", (char_u *)0L}}, - {"switchbuf", "swb", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_swb, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"synmaxcol", "smc", P_NUM|P_VI_DEF|P_RBUF, - #ifdef FEAT_SYN_HL - (char_u *)&p_smc, PV_SMC, ---- 2378,2393 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"swapfile", "swf", P_BOOL|P_VI_DEF|P_RSTAT, - (char_u *)&p_swf, PV_SWF, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"swapsync", "sws", P_STRING|P_VI_DEF, - (char_u *)&p_sws, PV_NONE, -! {(char_u *)"fsync", (char_u *)0L} SCRIPTID_INIT}, - {"switchbuf", "swb", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_swb, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"synmaxcol", "smc", P_NUM|P_VI_DEF|P_RBUF, - #ifdef FEAT_SYN_HL - (char_u *)&p_smc, PV_SMC, -*************** -*** 2378,2384 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"syntax", "syn", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME, - #ifdef FEAT_SYN_HL - (char_u *)&p_syn, PV_SYN, ---- 2396,2402 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"syntax", "syn", P_STRING|P_ALLOCED|P_VI_DEF|P_NOGLOB|P_NFNAME, - #ifdef FEAT_SYN_HL - (char_u *)&p_syn, PV_SYN, -*************** -*** 2387,2410 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"tabline", "tal", P_STRING|P_VI_DEF|P_RALL, - #ifdef FEAT_STL_OPT - (char_u *)&p_tal, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"tabpagemax", "tpm", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_tpm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)10L, (char_u *)0L}}, - {"tabstop", "ts", P_NUM|P_VI_DEF|P_RBUF, - (char_u *)&p_ts, PV_TS, -! {(char_u *)8L, (char_u *)0L}}, - {"tagbsearch", "tbs", P_BOOL|P_VI_DEF, - (char_u *)&p_tbs, PV_NONE, - #ifdef VMS /* binary searching doesn't appear to work on VMS */ ---- 2405,2428 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"tabline", "tal", P_STRING|P_VI_DEF|P_RALL, - #ifdef FEAT_STL_OPT - (char_u *)&p_tal, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"tabpagemax", "tpm", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_tpm, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)10L, (char_u *)0L} SCRIPTID_INIT}, - {"tabstop", "ts", P_NUM|P_VI_DEF|P_RBUF, - (char_u *)&p_ts, PV_TS, -! {(char_u *)8L, (char_u *)0L} SCRIPTID_INIT}, - {"tagbsearch", "tbs", P_BOOL|P_VI_DEF, - (char_u *)&p_tbs, PV_NONE, - #ifdef VMS /* binary searching doesn't appear to work on VMS */ -*************** -*** 2412,2424 **** - #else - {(char_u *)TRUE, (char_u *)0L} - #endif -! }, - {"taglength", "tl", P_NUM|P_VI_DEF, - (char_u *)&p_tl, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"tagrelative", "tr", P_BOOL|P_VIM, - (char_u *)&p_tr, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE}}, - {"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_tags, PV_TAGS, - { ---- 2430,2442 ---- - #else - {(char_u *)TRUE, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"taglength", "tl", P_NUM|P_VI_DEF, - (char_u *)&p_tl, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"tagrelative", "tr", P_BOOL|P_VIM, - (char_u *)&p_tr, PV_NONE, -! {(char_u *)FALSE, (char_u *)TRUE} SCRIPTID_INIT}, - {"tags", "tag", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_tags, PV_TAGS, - { -*************** -*** 2427,2446 **** - #else - (char_u *)"./tags,tags", - #endif -! (char_u *)0L}}, - {"tagstack", "tgst", P_BOOL|P_VI_DEF, - (char_u *)&p_tgst, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"term", NULL, P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL, - (char_u *)&T_NAME, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"termbidi", "tbidi", P_BOOL|P_VI_DEF, - #ifdef FEAT_ARABIC - (char_u *)&p_tbidi, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"termencoding", "tenc", P_STRING|P_VI_DEF|P_RCLR, - #ifdef FEAT_MBYTE - (char_u *)&p_tenc, PV_NONE, ---- 2445,2464 ---- - #else - (char_u *)"./tags,tags", - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"tagstack", "tgst", P_BOOL|P_VI_DEF, - (char_u *)&p_tgst, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"term", NULL, P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL, - (char_u *)&T_NAME, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"termbidi", "tbidi", P_BOOL|P_VI_DEF, - #ifdef FEAT_ARABIC - (char_u *)&p_tbidi, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"termencoding", "tenc", P_STRING|P_VI_DEF|P_RCLR, - #ifdef FEAT_MBYTE - (char_u *)&p_tenc, PV_NONE, -*************** -*** 2449,2461 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"terse", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_terse, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"textauto", "ta", P_BOOL|P_VIM, - (char_u *)&p_ta, PV_NONE, -! {(char_u *)DFLT_TEXTAUTO, (char_u *)TRUE}}, - {"textmode", "tx", P_BOOL|P_VI_DEF|P_NO_MKRC, - (char_u *)&p_tx, PV_TX, - { ---- 2467,2480 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"terse", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_terse, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"textauto", "ta", P_BOOL|P_VIM, - (char_u *)&p_ta, PV_NONE, -! {(char_u *)DFLT_TEXTAUTO, (char_u *)TRUE} -! SCRIPTID_INIT}, - {"textmode", "tx", P_BOOL|P_VI_DEF|P_NO_MKRC, - (char_u *)&p_tx, PV_TX, - { -*************** -*** 2464,2503 **** - #else - (char_u *)FALSE, - #endif -! (char_u *)0L}}, - {"textwidth", "tw", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_tw, PV_TW, -! {(char_u *)0L, (char_u *)0L}}, - {"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_tsr, PV_TSR, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"tildeop", "top", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_to, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"timeout", "to", P_BOOL|P_VI_DEF, - (char_u *)&p_timeout, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"timeoutlen", "tm", P_NUM|P_VI_DEF, - (char_u *)&p_tm, PV_NONE, -! {(char_u *)1000L, (char_u *)0L}}, - {"title", NULL, P_BOOL|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_title, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"titlelen", NULL, P_NUM|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_titlelen, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)85L, (char_u *)0L}}, - {"titleold", NULL, P_STRING|P_VI_DEF|P_GETTEXT|P_SECURE|P_NO_MKRC, - #ifdef FEAT_TITLE - (char_u *)&p_titleold, PV_NONE, ---- 2483,2522 ---- - #else - (char_u *)FALSE, - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"textwidth", "tw", P_NUM|P_VI_DEF|P_VIM, - (char_u *)&p_tw, PV_TW, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"thesaurus", "tsr", P_STRING|P_EXPAND|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_INS_EXPAND - (char_u *)&p_tsr, PV_TSR, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"tildeop", "top", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_to, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"timeout", "to", P_BOOL|P_VI_DEF, - (char_u *)&p_timeout, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"timeoutlen", "tm", P_NUM|P_VI_DEF, - (char_u *)&p_tm, PV_NONE, -! {(char_u *)1000L, (char_u *)0L} SCRIPTID_INIT}, - {"title", NULL, P_BOOL|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_title, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"titlelen", NULL, P_NUM|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_titlelen, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)85L, (char_u *)0L} SCRIPTID_INIT}, - {"titleold", NULL, P_STRING|P_VI_DEF|P_GETTEXT|P_SECURE|P_NO_MKRC, - #ifdef FEAT_TITLE - (char_u *)&p_titleold, PV_NONE, -*************** -*** 2507,2555 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"titlestring", NULL, P_STRING|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_titlestring, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) - {"toolbar", "tb", P_STRING|P_COMMA|P_VI_DEF|P_NODUP, - (char_u *)&p_toolbar, PV_NONE, -! {(char_u *)"icons,tooltips", (char_u *)0L}}, - #endif - #if defined(FEAT_TOOLBAR) && defined(FEAT_GUI_GTK) && defined(HAVE_GTK2) - {"toolbariconsize", "tbis", P_STRING|P_VI_DEF, - (char_u *)&p_tbis, PV_NONE, -! {(char_u *)"small", (char_u *)0L}}, - #endif - {"ttimeout", NULL, P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ttimeout, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"ttimeoutlen", "ttm", P_NUM|P_VI_DEF, - (char_u *)&p_ttm, PV_NONE, -! {(char_u *)-1L, (char_u *)0L}}, - {"ttybuiltin", "tbi", P_BOOL|P_VI_DEF, - (char_u *)&p_tbi, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"ttyfast", "tf", P_BOOL|P_NO_MKRC|P_VI_DEF, - (char_u *)&p_tf, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"ttymouse", "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF, - #if defined(FEAT_MOUSE) && (defined(UNIX) || defined(VMS)) - (char_u *)&p_ttym, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"ttyscroll", "tsl", P_NUM|P_VI_DEF, - (char_u *)&p_ttyscroll, PV_NONE, -! {(char_u *)999L, (char_u *)0L}}, - {"ttytype", "tty", P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL, - (char_u *)&T_NAME, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"undolevels", "ul", P_NUM|P_VI_DEF, - (char_u *)&p_ul, PV_NONE, - { ---- 2526,2575 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"titlestring", NULL, P_STRING|P_VI_DEF, - #ifdef FEAT_TITLE - (char_u *)&p_titlestring, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - #if defined(FEAT_TOOLBAR) && !defined(FEAT_GUI_W32) - {"toolbar", "tb", P_STRING|P_COMMA|P_VI_DEF|P_NODUP, - (char_u *)&p_toolbar, PV_NONE, -! {(char_u *)"icons,tooltips", (char_u *)0L} -! SCRIPTID_INIT}, - #endif - #if defined(FEAT_TOOLBAR) && defined(FEAT_GUI_GTK) && defined(HAVE_GTK2) - {"toolbariconsize", "tbis", P_STRING|P_VI_DEF, - (char_u *)&p_tbis, PV_NONE, -! {(char_u *)"small", (char_u *)0L} SCRIPTID_INIT}, - #endif - {"ttimeout", NULL, P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_ttimeout, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"ttimeoutlen", "ttm", P_NUM|P_VI_DEF, - (char_u *)&p_ttm, PV_NONE, -! {(char_u *)-1L, (char_u *)0L} SCRIPTID_INIT}, - {"ttybuiltin", "tbi", P_BOOL|P_VI_DEF, - (char_u *)&p_tbi, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"ttyfast", "tf", P_BOOL|P_NO_MKRC|P_VI_DEF, - (char_u *)&p_tf, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"ttymouse", "ttym", P_STRING|P_NODEFAULT|P_NO_MKRC|P_VI_DEF, - #if defined(FEAT_MOUSE) && (defined(UNIX) || defined(VMS)) - (char_u *)&p_ttym, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"ttyscroll", "tsl", P_NUM|P_VI_DEF, - (char_u *)&p_ttyscroll, PV_NONE, -! {(char_u *)999L, (char_u *)0L} SCRIPTID_INIT}, - {"ttytype", "tty", P_STRING|P_EXPAND|P_NODEFAULT|P_NO_MKRC|P_VI_DEF|P_RALL, - (char_u *)&T_NAME, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"undolevels", "ul", P_NUM|P_VI_DEF, - (char_u *)&p_ul, PV_NONE, - { -*************** -*** 2558,2576 **** - #else - (char_u *)100L, - #endif -! (char_u *)0L}}, - {"updatecount", "uc", P_NUM|P_VI_DEF, - (char_u *)&p_uc, PV_NONE, -! {(char_u *)200L, (char_u *)0L}}, - {"updatetime", "ut", P_NUM|P_VI_DEF, - (char_u *)&p_ut, PV_NONE, -! {(char_u *)4000L, (char_u *)0L}}, - {"verbose", "vbs", P_NUM|P_VI_DEF, - (char_u *)&p_verbose, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"verbosefile", "vfile", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_vfile, PV_NONE, -! {(char_u *)"", (char_u *)0L}}, - {"viewdir", "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_SESSION - (char_u *)&p_vdir, PV_NONE, ---- 2578,2596 ---- - #else - (char_u *)100L, - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"updatecount", "uc", P_NUM|P_VI_DEF, - (char_u *)&p_uc, PV_NONE, -! {(char_u *)200L, (char_u *)0L} SCRIPTID_INIT}, - {"updatetime", "ut", P_NUM|P_VI_DEF, - (char_u *)&p_ut, PV_NONE, -! {(char_u *)4000L, (char_u *)0L} SCRIPTID_INIT}, - {"verbose", "vbs", P_NUM|P_VI_DEF, - (char_u *)&p_verbose, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"verbosefile", "vfile", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - (char_u *)&p_vfile, PV_NONE, -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"viewdir", "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, - #ifdef FEAT_SESSION - (char_u *)&p_vdir, PV_NONE, -*************** -*** 2579,2585 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"viewoptions", "vop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SESSION - (char_u *)&p_vop, PV_NONE, ---- 2599,2605 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"viewoptions", "vop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_SESSION - (char_u *)&p_vop, PV_NONE, -*************** -*** 2588,2594 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"viminfo", "vi", P_STRING|P_COMMA|P_NODUP|P_SECURE, - #ifdef FEAT_VIMINFO - (char_u *)&p_viminfo, PV_NONE, ---- 2608,2614 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"viminfo", "vi", P_STRING|P_COMMA|P_NODUP|P_SECURE, - #ifdef FEAT_VIMINFO - (char_u *)&p_viminfo, PV_NONE, -*************** -*** 2606,2612 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"virtualedit", "ve", P_STRING|P_COMMA|P_NODUP|P_VI_DEF|P_VIM, - #ifdef FEAT_VIRTUALEDIT - (char_u *)&p_ve, PV_NONE, ---- 2626,2632 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"virtualedit", "ve", P_STRING|P_COMMA|P_NODUP|P_VI_DEF|P_VIM, - #ifdef FEAT_VIRTUALEDIT - (char_u *)&p_ve, PV_NONE, -*************** -*** 2615,2665 **** - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! }, - {"visualbell", "vb", P_BOOL|P_VI_DEF, - (char_u *)&p_vb, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"w300", NULL, P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"w1200", NULL, P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"w9600", NULL, P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"warn", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_warn, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"weirdinvert", "wiv", P_BOOL|P_VI_DEF|P_RCLR, - (char_u *)&p_wiv, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"whichwrap", "ww", P_STRING|P_VIM|P_COMMA|P_FLAGLIST, - (char_u *)&p_ww, PV_NONE, -! {(char_u *)"", (char_u *)"b,s"}}, - {"wildchar", "wc", P_NUM|P_VIM, - (char_u *)&p_wc, PV_NONE, -! {(char_u *)(long)Ctrl_E, (char_u *)(long)TAB}}, - {"wildcharm", "wcm", P_NUM|P_VI_DEF, - (char_u *)&p_wcm, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"wildignore", "wig", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - #ifdef FEAT_WILDIGN - (char_u *)&p_wig, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L}}, - {"wildmenu", "wmnu", P_BOOL|P_VI_DEF, - #ifdef FEAT_WILDMENU - (char_u *)&p_wmnu, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"wildmode", "wim", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_wim, PV_NONE, -! {(char_u *)"full", (char_u *)0L}}, - {"wildoptions", "wop", P_STRING|P_VI_DEF, - #ifdef FEAT_CMDL_COMPL - (char_u *)&p_wop, PV_NONE, ---- 2635,2686 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)0L, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"visualbell", "vb", P_BOOL|P_VI_DEF, - (char_u *)&p_vb, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"w300", NULL, P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"w1200", NULL, P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"w9600", NULL, P_NUM|P_VI_DEF, - (char_u *)NULL, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"warn", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_warn, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"weirdinvert", "wiv", P_BOOL|P_VI_DEF|P_RCLR, - (char_u *)&p_wiv, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"whichwrap", "ww", P_STRING|P_VIM|P_COMMA|P_FLAGLIST, - (char_u *)&p_ww, PV_NONE, -! {(char_u *)"", (char_u *)"b,s"} SCRIPTID_INIT}, - {"wildchar", "wc", P_NUM|P_VIM, - (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, - #ifdef FEAT_WILDIGN - (char_u *)&p_wig, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - {"wildmenu", "wmnu", P_BOOL|P_VI_DEF, - #ifdef FEAT_WILDMENU - (char_u *)&p_wmnu, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"wildmode", "wim", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, - (char_u *)&p_wim, PV_NONE, -! {(char_u *)"full", (char_u *)0L} SCRIPTID_INIT}, - {"wildoptions", "wop", P_STRING|P_VI_DEF, - #ifdef FEAT_CMDL_COMPL - (char_u *)&p_wop, PV_NONE, -*************** -*** 2668,2674 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"winaltkeys", "wak", P_STRING|P_VI_DEF, - #ifdef FEAT_WAK - (char_u *)&p_wak, PV_NONE, ---- 2689,2695 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"winaltkeys", "wak", P_STRING|P_VI_DEF, - #ifdef FEAT_WAK - (char_u *)&p_wak, PV_NONE, -*************** -*** 2677,2743 **** - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! }, - {"window", "wi", P_NUM|P_VI_DEF, - (char_u *)&p_window, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - {"winheight", "wh", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_wh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L}}, - {"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT, - #ifdef FEAT_WINDOWS - (char_u *)VAR_WIN, PV_WFH, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"winfixwidth", "wfw", P_BOOL|P_VI_DEF|P_RSTAT, - #ifdef FEAT_VERTSPLIT - (char_u *)VAR_WIN, PV_WFW, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L}}, - {"winminheight", "wmh", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_wmh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L}}, - {"winminwidth", "wmw", P_NUM|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_wmw, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L}}, - {"winwidth", "wiw", P_NUM|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_wiw, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)20L, (char_u *)0L}}, - {"wrap", NULL, P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_WRAP, -! {(char_u *)TRUE, (char_u *)0L}}, - {"wrapmargin", "wm", P_NUM|P_VI_DEF, - (char_u *)&p_wm, PV_WM, -! {(char_u *)0L, (char_u *)0L}}, - {"wrapscan", "ws", P_BOOL|P_VI_DEF, - (char_u *)&p_ws, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"write", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_write, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L}}, - {"writeany", "wa", P_BOOL|P_VI_DEF, - (char_u *)&p_wa, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L}}, - {"writebackup", "wb", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_wb, PV_NONE, - { ---- 2698,2764 ---- - (char_u *)NULL, PV_NONE, - {(char_u *)NULL, (char_u *)0L} - #endif -! SCRIPTID_INIT}, - {"window", "wi", P_NUM|P_VI_DEF, - (char_u *)&p_window, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"winheight", "wh", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_wh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"winfixheight", "wfh", P_BOOL|P_VI_DEF|P_RSTAT, - #ifdef FEAT_WINDOWS - (char_u *)VAR_WIN, PV_WFH, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"winfixwidth", "wfw", P_BOOL|P_VI_DEF|P_RSTAT, - #ifdef FEAT_VERTSPLIT - (char_u *)VAR_WIN, PV_WFW, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"winminheight", "wmh", P_NUM|P_VI_DEF, - #ifdef FEAT_WINDOWS - (char_u *)&p_wmh, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"winminwidth", "wmw", P_NUM|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_wmw, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)1L, (char_u *)0L} SCRIPTID_INIT}, - {"winwidth", "wiw", P_NUM|P_VI_DEF, - #ifdef FEAT_VERTSPLIT - (char_u *)&p_wiw, PV_NONE, - #else - (char_u *)NULL, PV_NONE, - #endif -! {(char_u *)20L, (char_u *)0L} SCRIPTID_INIT}, - {"wrap", NULL, P_BOOL|P_VI_DEF|P_RWIN, - (char_u *)VAR_WIN, PV_WRAP, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"wrapmargin", "wm", P_NUM|P_VI_DEF, - (char_u *)&p_wm, PV_WM, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - {"wrapscan", "ws", P_BOOL|P_VI_DEF, - (char_u *)&p_ws, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"write", NULL, P_BOOL|P_VI_DEF, - (char_u *)&p_write, PV_NONE, -! {(char_u *)TRUE, (char_u *)0L} SCRIPTID_INIT}, - {"writeany", "wa", P_BOOL|P_VI_DEF, - (char_u *)&p_wa, PV_NONE, -! {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, - {"writebackup", "wb", P_BOOL|P_VI_DEF|P_VIM, - (char_u *)&p_wb, PV_NONE, - { -*************** -*** 2746,2760 **** - #else - (char_u *)FALSE, - #endif -! (char_u *)0L}}, - {"writedelay", "wd", P_NUM|P_VI_DEF, - (char_u *)&p_wd, PV_NONE, -! {(char_u *)0L, (char_u *)0L}}, - - /* terminal output codes */ - #define p_term(sss, vvv) {sss, NULL, P_STRING|P_VI_DEF|P_RALL|P_SECURE, \ - (char_u *)&vvv, PV_NONE, \ -! {(char_u *)"", (char_u *)0L}}, - - p_term("t_AB", T_CAB) - p_term("t_AF", T_CAF) ---- 2767,2781 ---- - #else - (char_u *)FALSE, - #endif -! (char_u *)0L} SCRIPTID_INIT}, - {"writedelay", "wd", P_NUM|P_VI_DEF, - (char_u *)&p_wd, PV_NONE, -! {(char_u *)0L, (char_u *)0L} SCRIPTID_INIT}, - - /* terminal output codes */ - #define p_term(sss, vvv) {sss, NULL, P_STRING|P_VI_DEF|P_RALL|P_SECURE, \ - (char_u *)&vvv, PV_NONE, \ -! {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, - - p_term("t_AB", T_CAB) - p_term("t_AF", T_CAF) -*************** -*** 2815,2821 **** - - /* terminal key codes are not in here */ - -! {NULL, NULL, 0, NULL, PV_NONE, {NULL, NULL}} /* end marker */ - }; - - #define PARAM_COUNT (sizeof(options) / sizeof(struct vimoption)) ---- 2836,2843 ---- - - /* terminal key codes are not in here */ - -! /* end marker */ -! {NULL, NULL, 0, NULL, PV_NONE, {NULL, NULL} SCRIPTID_INIT} - }; - - #define PARAM_COUNT (sizeof(options) / sizeof(struct vimoption)) -*************** -*** 9917,9923 **** - regmatch->rm_ic = ic; - if (xp->xp_context != EXPAND_BOOL_SETTINGS) - { -! for (match = 0; match < sizeof(names) / sizeof(char *); ++match) - if (vim_regexec(regmatch, (char_u *)names[match], (colnr_T)0)) - { - if (loop == 0) ---- 9939,9946 ---- - regmatch->rm_ic = ic; - if (xp->xp_context != EXPAND_BOOL_SETTINGS) - { -! for (match = 0; match < (int)(sizeof(names) / sizeof(char *)); -! ++match) - if (vim_regexec(regmatch, (char_u *)names[match], (colnr_T)0)) - { - if (loop == 0) -*** ../vim-7.2.179/src/os_unix.c 2009-05-16 16:36:25.000000000 +0200 ---- src/os_unix.c 2009-05-17 12:17:01.000000000 +0200 -*************** -*** 821,827 **** - #endif - - #if defined(SIGINT) -- /* ARGSUSED */ - static RETSIGTYPE - catch_sigint SIGDEFARG(sigarg) - { ---- 821,826 ---- -*************** -*** 833,839 **** - #endif - - #if defined(SIGPWR) -- /* ARGSUSED */ - static RETSIGTYPE - catch_sigpwr SIGDEFARG(sigarg) - { ---- 832,837 ---- -*************** -*** 853,859 **** - /* - * signal function for alarm(). - */ -- /* ARGSUSED */ - static RETSIGTYPE - sig_alarm SIGDEFARG(sigarg) - { ---- 851,856 ---- -*************** -*** 1087,1093 **** - /* - * signal handler for SIGCONT - */ -- /* ARGSUSED */ - static RETSIGTYPE - sigcont_handler SIGDEFARG(sigarg) - { ---- 1084,1089 ---- -*************** -*** 1436,1446 **** - /* - * Another X Error handler, just used to check for errors. - */ -- /* ARGSUSED */ - static int - x_error_check(dpy, error_event) -! Display *dpy; -! XErrorEvent *error_event; - { - got_x_error = TRUE; - return 0; ---- 1432,1441 ---- - /* - * Another X Error handler, just used to check for errors. - */ - static int - x_error_check(dpy, error_event) -! Display *dpy UNUSED; -! XErrorEvent *error_event UNUSED; - { - got_x_error = TRUE; - return 0; -*************** -*** 1453,1467 **** - */ - static int x_IOerror_check __ARGS((Display *dpy)); - -- /* ARGSUSED */ - static int - x_IOerror_check(dpy) -! Display *dpy; - { - /* This function should not return, it causes exit(). Longjump instead. */ - LONGJMP(lc_jump_env, 1); -- /*NOTREACHED*/ -- return 0; - } - # endif - ---- 1448,1459 ---- - */ - static int x_IOerror_check __ARGS((Display *dpy)); - - static int - x_IOerror_check(dpy) -! Display *dpy UNUSED; - { - /* This function should not return, it causes exit(). Longjump instead. */ - LONGJMP(lc_jump_env, 1); - } - # endif - -*************** -*** 1470,1479 **** - */ - static int x_IOerror_handler __ARGS((Display *dpy)); - -- /* ARGSUSED */ - static int - x_IOerror_handler(dpy) -! Display *dpy; - { - xterm_dpy = NULL; - x11_window = 0; ---- 1462,1470 ---- - */ - static int x_IOerror_handler __ARGS((Display *dpy)); - - static int - x_IOerror_handler(dpy) -! Display *dpy UNUSED; - { - xterm_dpy = NULL; - x11_window = 0; -*************** -*** 1482,1489 **** - - /* This function should not return, it causes exit(). Longjump instead. */ - LONGJMP(x_jump_env, 1); -- /*NOTREACHED*/ -- return 0; - } - #endif - ---- 1473,1478 ---- -*************** -*** 1919,1928 **** - - #else /* FEAT_X11 */ - -- /*ARGSUSED*/ - static int - get_x11_title(test_only) -! int test_only; - { - return FALSE; - } ---- 1908,1916 ---- - - #else /* FEAT_X11 */ - - static int - get_x11_title(test_only) -! int test_only UNUSED; - { - return FALSE; - } -*************** -*** 2497,2507 **** - * file name to remain exactly the same. - * Only required for file systems where case is ignored and preserved. - */ -- /*ARGSUSED*/ - void - fname_case(name, len) - char_u *name; -! int len; /* buffer size, only used when name gets longer */ - { - struct stat st; - char_u *slash, *tail; ---- 2485,2494 ---- - * file name to remain exactly the same. - * Only required for file systems where case is ignored and preserved. - */ - void - fname_case(name, len) - char_u *name; -! int len UNUSED; /* buffer size, only used when name gets longer */ - { - struct stat st; - char_u *slash, *tail; -*************** -*** 5141,5147 **** - - #define SHELL_SPECIAL (char_u *)"\t \"&'$;<>()\\|" - -- /* ARGSUSED */ - int - mch_expand_wildcards(num_pat, pat, num_file, file, flags) - int num_pat; ---- 5128,5133 ---- -*************** -*** 6068,6074 **** - /* - * Gets info from sysmouse and adds special keys to input buf. - */ -- /* ARGSUSED */ - static RETSIGTYPE - sig_sysmouse SIGDEFARG(sigarg) - { ---- 6054,6059 ---- -*************** -*** 6632,6642 **** - * This is our chance to ask the user if they want to save, - * or abort the logout - */ -- /*ARGSUSED*/ - static void - xsmp_handle_interaction(smc_conn, client_data) - SmcConn smc_conn; -! SmPointer client_data; - { - cmdmod_T save_cmdmod; - int cancel_shutdown = False; ---- 6617,6626 ---- - * This is our chance to ask the user if they want to save, - * or abort the logout - */ - static void - xsmp_handle_interaction(smc_conn, client_data) - SmcConn smc_conn; -! SmPointer client_data UNUSED; - { - cmdmod_T save_cmdmod; - int cancel_shutdown = False; -*************** -*** 6669,6684 **** - /* - * Callback that starts save-yourself. - */ -- /*ARGSUSED*/ - static void - xsmp_handle_save_yourself(smc_conn, client_data, save_type, - shutdown, interact_style, fast) - SmcConn smc_conn; -! SmPointer client_data; -! int save_type; - Bool shutdown; -! int interact_style; -! Bool fast; - { - /* Handle already being in saveyourself */ - if (xsmp.save_yourself) ---- 6653,6667 ---- - /* - * Callback that starts save-yourself. - */ - static void - xsmp_handle_save_yourself(smc_conn, client_data, save_type, - shutdown, interact_style, fast) - SmcConn smc_conn; -! SmPointer client_data UNUSED; -! int save_type UNUSED; - Bool shutdown; -! int interact_style UNUSED; -! Bool fast UNUSED; - { - /* Handle already being in saveyourself */ - if (xsmp.save_yourself) -*************** -*** 6712,6722 **** - /* - * Callback to warn us of imminent death. - */ -- /*ARGSUSED*/ - static void - xsmp_die(smc_conn, client_data) -! SmcConn smc_conn; -! SmPointer client_data; - { - xsmp_close(); - ---- 6695,6704 ---- - /* - * Callback to warn us of imminent death. - */ - static void - xsmp_die(smc_conn, client_data) -! SmcConn smc_conn UNUSED; -! SmPointer client_data UNUSED; - { - xsmp_close(); - -*************** -*** 6728,6738 **** - /* - * Callback to tell us that save-yourself has completed. - */ -- /*ARGSUSED*/ - static void - xsmp_save_complete(smc_conn, client_data) -! SmcConn smc_conn; -! SmPointer client_data; - { - xsmp.save_yourself = False; - } ---- 6710,6719 ---- - /* - * Callback to tell us that save-yourself has completed. - */ - static void - xsmp_save_complete(smc_conn, client_data) -! SmcConn smc_conn UNUSED; -! SmPointer client_data UNUSED; - { - xsmp.save_yourself = False; - } -*************** -*** 6742,6752 **** - * Callback to tell us that an instigated shutdown was cancelled - * (maybe even by us) - */ -- /*ARGSUSED*/ - static void - xsmp_shutdown_cancelled(smc_conn, client_data) - SmcConn smc_conn; -! SmPointer client_data; - { - if (xsmp.save_yourself) - SmcSaveYourselfDone(smc_conn, True); ---- 6723,6732 ---- - * Callback to tell us that an instigated shutdown was cancelled - * (maybe even by us) - */ - static void - xsmp_shutdown_cancelled(smc_conn, client_data) - SmcConn smc_conn; -! SmPointer client_data UNUSED; - { - if (xsmp.save_yourself) - SmcSaveYourselfDone(smc_conn, True); -*************** -*** 6758,6770 **** - /* - * Callback to tell us that a new ICE connection has been established. - */ -- /*ARGSUSED*/ - static void - xsmp_ice_connection(iceConn, clientData, opening, watchData) - IceConn iceConn; -! IcePointer clientData; - Bool opening; -! IcePointer *watchData; - { - /* Intercept creation of ICE connection fd */ - if (opening) ---- 6738,6749 ---- - /* - * Callback to tell us that a new ICE connection has been established. - */ - static void - xsmp_ice_connection(iceConn, clientData, opening, watchData) - IceConn iceConn; -! IcePointer clientData UNUSED; - Bool opening; -! IcePointer *watchData UNUSED; - { - /* Intercept creation of ICE connection fd */ - if (opening) -*** ../vim-7.2.179/src/quickfix.c 2009-05-13 18:54:14.000000000 +0200 ---- src/quickfix.c 2009-05-16 22:31:49.000000000 +0200 -*************** -*** 2240,2246 **** - * ":cclose": close the window showing the list of errors. - * ":lclose": close the window showing the location list - */ -- /*ARGSUSED*/ - void - ex_cclose(eap) - exarg_T *eap; ---- 2240,2245 ---- -*************** -*** 3211,3217 **** - break; - col = regmatch.endpos[0].col - + (col == regmatch.endpos[0].col); -! if (col > STRLEN(ml_get_buf(buf, lnum, FALSE))) - break; - } - line_breakcheck(); ---- 3210,3216 ---- - break; - col = regmatch.endpos[0].col - + (col == regmatch.endpos[0].col); -! if (col > (colnr_T)STRLEN(ml_get_buf(buf, lnum, FALSE))) - break; - } - line_breakcheck(); -*** ../vim-7.2.179/src/screen.c 2009-05-13 12:46:36.000000000 +0200 ---- src/screen.c 2009-05-16 21:51:13.000000000 +0200 -*************** -*** 270,280 **** - * Note that when also inserting/deleting lines w_redraw_top and w_redraw_bot - * may become invalid and the whole window will have to be redrawn. - */ -- /*ARGSUSED*/ - void - redrawWinline(lnum, invalid) - linenr_T lnum; -! int invalid; /* window line height is invalid now */ - { - #ifdef FEAT_FOLDING - int i; ---- 270,279 ---- - * Note that when also inserting/deleting lines w_redraw_top and w_redraw_bot - * may become invalid and the whole window will have to be redrawn. - */ - void - redrawWinline(lnum, invalid) - linenr_T lnum; -! int invalid UNUSED; /* window line height is invalid now */ - { - #ifdef FEAT_FOLDING - int i; -*************** -*** 2413,2419 **** - && (lnume < bot->lnum - || (lnume == bot->lnum - && (bot->col - (*p_sel == 'e')) -! >= STRLEN(ml_get_buf(wp->w_buffer, lnume, FALSE))))))) - { - if (VIsual_mode == Ctrl_V) - { ---- 2412,2418 ---- - && (lnume < bot->lnum - || (lnume == bot->lnum - && (bot->col - (*p_sel == 'e')) -! >= (colnr_T)STRLEN(ml_get_buf(wp->w_buffer, lnume, FALSE))))))) - { - if (VIsual_mode == Ctrl_V) - { -*************** -*** 2549,2562 **** - * - * Return the number of last row the line occupies. - */ -- /* ARGSUSED */ - static int - win_line(wp, lnum, startrow, endrow, nochange) - win_T *wp; - linenr_T lnum; - int startrow; - int endrow; -! int nochange; /* not updating for changed text */ - { - int col; /* visual column on screen */ - unsigned off; /* offset in ScreenLines/ScreenAttrs */ ---- 2548,2560 ---- - * - * Return the number of last row the line occupies. - */ - static int - win_line(wp, lnum, startrow, endrow, nochange) - win_T *wp; - linenr_T lnum; - int startrow; - int endrow; -! int nochange UNUSED; /* not updating for changed text */ - { - int col; /* visual column on screen */ - unsigned off; /* offset in ScreenLines/ScreenAttrs */ -*************** -*** 6098,6104 **** - fillchar, maxwidth, hltab, tabtab); - len = (int)STRLEN(buf); - -! while (width < maxwidth && len < sizeof(buf) - 1) - { - #ifdef FEAT_MBYTE - len += (*mb_char2bytes)(fillchar, buf + len); ---- 6096,6102 ---- - fillchar, maxwidth, hltab, tabtab); - len = (int)STRLEN(buf); - -! while (width < maxwidth && len < (int)sizeof(buf) - 1) - { - #ifdef FEAT_MBYTE - len += (*mb_char2bytes)(fillchar, buf + len); -*************** -*** 8655,8661 **** - * - * Return OK for success, FAIL if the lines are not deleted. - */ -- /*ARGSUSED*/ - int - screen_del_lines(off, row, line_count, end, force, wp) - int off; ---- 8653,8658 ---- -*************** -*** 8663,8669 **** - int line_count; - int end; - int force; /* even when line_count > p_ttyscroll */ -! win_T *wp; /* NULL or window to use width from */ - { - int j; - int i; ---- 8660,8666 ---- - int line_count; - int end; - int force; /* even when line_count > p_ttyscroll */ -! win_T *wp UNUSED; /* NULL or window to use width from */ - { - int j; - int i; -*** ../vim-7.2.179/src/search.c 2009-05-15 21:31:11.000000000 +0200 ---- src/search.c 2009-05-16 22:33:05.000000000 +0200 -*************** -*** 4527,4538 **** - * Find identifiers or defines in included files. - * if p_ic && (compl_cont_status & CONT_SOL) then ptr must be in lowercase. - */ -- /*ARGSUSED*/ - void - find_pattern_in_path(ptr, dir, len, whole, skip_comments, - type, count, action, start_lnum, end_lnum) - char_u *ptr; /* pointer to search pattern */ -! int dir; /* direction of expansion */ - int len; /* length of search pattern */ - int whole; /* match whole words only */ - int skip_comments; /* don't match inside comments */ ---- 4527,4537 ---- - * Find identifiers or defines in included files. - * if p_ic && (compl_cont_status & CONT_SOL) then ptr must be in lowercase. - */ - void - find_pattern_in_path(ptr, dir, len, whole, skip_comments, - type, count, action, start_lnum, end_lnum) - char_u *ptr; /* pointer to search pattern */ -! int dir UNUSED; /* direction of expansion */ - int len; /* length of search pattern */ - int whole; /* match whole words only */ - int skip_comments; /* don't match inside comments */ -*** ../vim-7.2.179/src/spell.c 2009-05-13 18:54:14.000000000 +0200 ---- src/spell.c 2009-05-16 22:10:19.000000000 +0200 -*************** -*** 950,957 **** - */ - #ifndef FEAT_MBYTE - /* Non-multi-byte implementation. */ -! # define SPELL_TOFOLD(c) ((c) < 256 ? spelltab.st_fold[c] : (c)) -! # define SPELL_TOUPPER(c) ((c) < 256 ? spelltab.st_upper[c] : (c)) - # define SPELL_ISUPPER(c) ((c) < 256 ? spelltab.st_isu[c] : FALSE) - #else - # if defined(HAVE_WCHAR_H) ---- 950,957 ---- - */ - #ifndef FEAT_MBYTE - /* Non-multi-byte implementation. */ -! # define SPELL_TOFOLD(c) ((c) < 256 ? (int)spelltab.st_fold[c] : (c)) -! # define SPELL_TOUPPER(c) ((c) < 256 ? (int)spelltab.st_upper[c] : (c)) - # define SPELL_ISUPPER(c) ((c) < 256 ? spelltab.st_isu[c] : FALSE) - #else - # if defined(HAVE_WCHAR_H) -*************** -*** 962,979 **** - * the "w" library function for characters above 255 if available. */ - # ifdef HAVE_TOWLOWER - # define SPELL_TOFOLD(c) (enc_utf8 && (c) >= 128 ? utf_fold(c) \ -! : (c) < 256 ? spelltab.st_fold[c] : towlower(c)) - # else - # define SPELL_TOFOLD(c) (enc_utf8 && (c) >= 128 ? utf_fold(c) \ -! : (c) < 256 ? spelltab.st_fold[c] : (c)) - # endif - - # ifdef HAVE_TOWUPPER - # define SPELL_TOUPPER(c) (enc_utf8 && (c) >= 128 ? utf_toupper(c) \ -! : (c) < 256 ? spelltab.st_upper[c] : towupper(c)) - # else - # define SPELL_TOUPPER(c) (enc_utf8 && (c) >= 128 ? utf_toupper(c) \ -! : (c) < 256 ? spelltab.st_upper[c] : (c)) - # endif - - # ifdef HAVE_ISWUPPER ---- 962,979 ---- - * the "w" library function for characters above 255 if available. */ - # ifdef HAVE_TOWLOWER - # define SPELL_TOFOLD(c) (enc_utf8 && (c) >= 128 ? utf_fold(c) \ -! : (c) < 256 ? (int)spelltab.st_fold[c] : (int)towlower(c)) - # else - # define SPELL_TOFOLD(c) (enc_utf8 && (c) >= 128 ? utf_fold(c) \ -! : (c) < 256 ? (int)spelltab.st_fold[c] : (c)) - # endif - - # ifdef HAVE_TOWUPPER - # define SPELL_TOUPPER(c) (enc_utf8 && (c) >= 128 ? utf_toupper(c) \ -! : (c) < 256 ? (int)spelltab.st_upper[c] : (int)towupper(c)) - # else - # define SPELL_TOUPPER(c) (enc_utf8 && (c) >= 128 ? utf_toupper(c) \ -! : (c) < 256 ? (int)spelltab.st_upper[c] : (c)) - # endif - - # ifdef HAVE_ISWUPPER -*************** -*** 8052,8058 **** - /* time_t can be up to 8 bytes in size, more than long_u, thus we - * can't use put_bytes() here. */ - for (i = 7; i >= 0; --i) -! if (i + 1 > sizeof(time_t)) - /* ">>" doesn't work well when shifting more bits than avail */ - putc(0, fd); - else ---- 8052,8058 ---- - /* time_t can be up to 8 bytes in size, more than long_u, thus we - * can't use put_bytes() here. */ - for (i = 7; i >= 0; --i) -! if (i + 1 > (int)sizeof(time_t)) - /* ">>" doesn't work well when shifting more bits than avail */ - putc(0, fd); - else -*************** -*** 10541,10550 **** - /* - * ":spellrepall" - */ -- /*ARGSUSED*/ - void - ex_spellrepall(eap) -! exarg_T *eap; - { - pos_T pos = curwin->w_cursor; - char_u *frompat; ---- 10541,10549 ---- - /* - * ":spellrepall" - */ - void - ex_spellrepall(eap) -! exarg_T *eap UNUSED; - { - pos_T pos = curwin->w_cursor; - char_u *frompat; -*************** -*** 15604,15613 **** - /* - * ":spellinfo" - */ -- /*ARGSUSED*/ - void - ex_spellinfo(eap) -! exarg_T *eap; - { - int lpi; - langp_T *lp; ---- 15603,15611 ---- - /* - * ":spellinfo" - */ - void - ex_spellinfo(eap) -! exarg_T *eap UNUSED; - { - int lpi; - langp_T *lp; -*************** -*** 16153,16159 **** - */ - int - expand_spelling(lnum, pat, matchp) -! linenr_T lnum; - char_u *pat; - char_u ***matchp; - { ---- 16151,16157 ---- - */ - int - expand_spelling(lnum, pat, matchp) -! linenr_T lnum UNUSED; - char_u *pat; - char_u ***matchp; - { -*** ../vim-7.2.179/src/syntax.c 2008-08-09 19:37:33.000000000 +0200 ---- src/syntax.c 2009-05-16 22:14:19.000000000 +0200 -*************** -*** 3224,3234 **** - /* - * Handle ":syntax case" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_case(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - char_u *arg = eap->arg; - char_u *next; ---- 3224,3233 ---- - /* - * Handle ":syntax case" command. - */ - static void - syn_cmd_case(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - char_u *arg = eap->arg; - char_u *next; -*************** -*** 3249,3259 **** - /* - * Handle ":syntax spell" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_spell(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - char_u *arg = eap->arg; - char_u *next; ---- 3248,3257 ---- - /* - * Handle ":syntax spell" command. - */ - static void - syn_cmd_spell(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - char_u *arg = eap->arg; - char_u *next; -*************** -*** 3517,3527 **** - /* - * Handle ":syntax on" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_on(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - syn_cmd_onoff(eap, "syntax"); - } ---- 3515,3524 ---- - /* - * Handle ":syntax on" command. - */ - static void - syn_cmd_on(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - syn_cmd_onoff(eap, "syntax"); - } -*************** -*** 3529,3539 **** - /* - * Handle ":syntax enable" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_enable(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - set_internal_string_var((char_u *)"syntax_cmd", (char_u *)"enable"); - syn_cmd_onoff(eap, "syntax"); ---- 3526,3535 ---- - /* - * Handle ":syntax enable" command. - */ - static void - syn_cmd_enable(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - set_internal_string_var((char_u *)"syntax_cmd", (char_u *)"enable"); - syn_cmd_onoff(eap, "syntax"); -*************** -*** 3543,3553 **** - /* - * Handle ":syntax reset" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_reset(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - eap->nextcmd = check_nextcmd(eap->arg); - if (!eap->skip) ---- 3539,3548 ---- - /* - * Handle ":syntax reset" command. - */ - static void - syn_cmd_reset(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - eap->nextcmd = check_nextcmd(eap->arg); - if (!eap->skip) -*************** -*** 3561,3571 **** - /* - * Handle ":syntax manual" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_manual(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - syn_cmd_onoff(eap, "manual"); - } ---- 3556,3565 ---- - /* - * Handle ":syntax manual" command. - */ - static void - syn_cmd_manual(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - syn_cmd_onoff(eap, "manual"); - } -*************** -*** 3573,3583 **** - /* - * Handle ":syntax off" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_off(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - syn_cmd_onoff(eap, "nosyntax"); - } ---- 3567,3576 ---- - /* - * Handle ":syntax off" command. - */ - static void - syn_cmd_off(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - syn_cmd_onoff(eap, "nosyntax"); - } -*************** -*** 4461,4471 **** - /* - * Handle ":syntax include [@{group-name}] filename" command. - */ -- /* ARGSUSED */ - static void - syn_cmd_include(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - char_u *arg = eap->arg; - int sgl_id = 1; ---- 4454,4463 ---- - /* - * Handle ":syntax include [@{group-name}] filename" command. - */ - static void - syn_cmd_include(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - char_u *arg = eap->arg; - int sgl_id = 1; -*************** -*** 4532,4542 **** - /* - * Handle ":syntax keyword {group-name} [{option}] keyword .." command. - */ -- /* ARGSUSED */ - static void - syn_cmd_keyword(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - char_u *arg = eap->arg; - char_u *group_name_end; ---- 4524,4533 ---- - /* - * Handle ":syntax keyword {group-name} [{option}] keyword .." command. - */ - static void - syn_cmd_keyword(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - char_u *arg = eap->arg; - char_u *group_name_end; -*************** -*** 5275,5285 **** - * Handle ":syntax cluster {cluster-name} [contains={groupname},..] - * [add={groupname},..] [remove={groupname},..]". - */ -- /* ARGSUSED */ - static void - syn_cmd_cluster(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - char_u *arg = eap->arg; - char_u *group_name_end; ---- 5266,5275 ---- - * Handle ":syntax cluster {cluster-name} [contains={groupname},..] - * [add={groupname},..] [remove={groupname},..]". - */ - static void - syn_cmd_cluster(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - char_u *arg = eap->arg; - char_u *group_name_end; -*************** -*** 5464,5474 **** - /* - * Handle ":syntax sync .." command. - */ -- /* ARGSUSED */ - static void - syn_cmd_sync(eap, syncing) - exarg_T *eap; -! int syncing; /* not used */ - { - char_u *arg_start = eap->arg; - char_u *arg_end; ---- 5454,5463 ---- - /* - * Handle ":syntax sync .." command. - */ - static void - syn_cmd_sync(eap, syncing) - exarg_T *eap; -! int syncing UNUSED; - { - char_u *arg_start = eap->arg; - char_u *arg_end; -*************** -*** 6099,6108 **** - * Function given to ExpandGeneric() to obtain the list syntax names for - * expansion. - */ -- /*ARGSUSED*/ - char_u * - get_syntax_name(xp, idx) -! expand_T *xp; - int idx; - { - if (expand_what == EXP_SUBCMD) ---- 6088,6096 ---- - * Function given to ExpandGeneric() to obtain the list syntax names for - * expansion. - */ - char_u * - get_syntax_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - if (expand_what == EXP_SUBCMD) -*************** -*** 7744,7757 **** - /* - * Get the font or fontset for one highlight group. - */ -- /*ARGSUSED*/ - static void - hl_do_font(idx, arg, do_normal, do_menu, do_tooltip) - int idx; - char_u *arg; -! int do_normal; /* set normal font */ -! int do_menu; /* set menu font */ -! int do_tooltip; /* set tooltip font */ - { - # ifdef FEAT_XFONTSET - /* If 'guifontset' is not empty, first try using the name as a ---- 7732,7744 ---- - /* - * Get the font or fontset for one highlight group. - */ - static void - hl_do_font(idx, arg, do_normal, do_menu, do_tooltip) - int idx; - char_u *arg; -! int do_normal; /* set normal font */ -! int do_menu UNUSED; /* set menu font */ -! int do_tooltip UNUSED; /* set tooltip font */ - { - # ifdef FEAT_XFONTSET - /* If 'guifontset' is not empty, first try using the name as a -*************** -*** 9150,9159 **** - * Function given to ExpandGeneric() to obtain the list of group names. - * Also used for synIDattr() function. - */ -- /*ARGSUSED*/ - char_u * - get_highlight_name(xp, idx) -! expand_T *xp; - int idx; - { - #ifdef FEAT_CMDL_COMPL ---- 9137,9145 ---- - * Function given to ExpandGeneric() to obtain the list of group names. - * Also used for synIDattr() function. - */ - char_u * - get_highlight_name(xp, idx) -! expand_T *xp UNUSED; - int idx; - { - #ifdef FEAT_CMDL_COMPL -*** ../vim-7.2.179/src/tag.c 2009-05-15 21:31:11.000000000 +0200 ---- src/tag.c 2009-05-16 22:16:31.000000000 +0200 -*************** -*** 100,106 **** - * Tag for preview window is remembered separately, to avoid messing up the - * normal tagstack. - */ -! static taggy_T ptag_entry = {NULL}; - #endif - - /* ---- 100,106 ---- - * Tag for preview window is remembered separately, to avoid messing up the - * normal tagstack. - */ -! static taggy_T ptag_entry = {NULL, {INIT_POS_T(0, 0, 0), 0}, 0, 0}; - #endif - - /* -*************** -*** 3791,3797 **** - --end; - } - len = (int)(end - start); -! if (len > sizeof(buf) - 1) - len = sizeof(buf) - 1; - vim_strncpy(buf, start, len); - } ---- 3791,3797 ---- - --end; - } - len = (int)(end - start); -! if (len > (int)sizeof(buf) - 1) - len = sizeof(buf) - 1; - vim_strncpy(buf, start, len); - } -*** ../vim-7.2.179/src/term.c 2009-01-22 18:32:55.000000000 +0100 ---- src/term.c 2009-05-16 22:18:08.000000000 +0200 -*************** -*** 2906,2912 **** - int i; - int shift; - -! for (i = 1; i <= sizeof(long_u); i++) - { - shift = 8 * (sizeof(long_u) - i); - dst[i - 1] = (char_u) ((val >> shift) & 0xff); ---- 2906,2912 ---- - int i; - int shift; - -! for (i = 1; i <= (int)sizeof(long_u); i++) - { - shift = 8 * (sizeof(long_u) - i); - dst[i - 1] = (char_u) ((val >> shift) & 0xff); -*************** -*** 2937,2943 **** - len = get_bytes_from_buf(buf, bytes, (int)sizeof(long_u)); - if (len != -1) - { -! for (i = 0; i < sizeof(long_u); i++) - { - shift = 8 * (sizeof(long_u) - 1 - i); - *val += (long_u)bytes[i] << shift; ---- 2937,2943 ---- - len = get_bytes_from_buf(buf, bytes, (int)sizeof(long_u)); - if (len != -1) - { -! for (i = 0; i < (int)sizeof(long_u); i++) - { - shift = 8 * (sizeof(long_u) - 1 - i); - *val += (long_u)bytes[i] << shift; -*** ../vim-7.2.179/src/ui.c 2008-11-28 21:26:50.000000000 +0100 ---- src/ui.c 2009-05-16 22:33:55.000000000 +0200 -*************** -*** 320,329 **** - * The gui_set_shellsize() or mch_set_shellsize() function will try to set the - * new size. If this is not possible, it will adjust Rows and Columns. - */ -- /*ARGSUSED*/ - void - ui_set_shellsize(mustset) -! int mustset; /* set by the user */ - { - #ifdef FEAT_GUI - if (gui.in_use) ---- 320,328 ---- - * The gui_set_shellsize() or mch_set_shellsize() function will try to set the - * new size. If this is not possible, it will adjust Rows and Columns. - */ - void - ui_set_shellsize(mustset) -! int mustset UNUSED; /* set by the user */ - { - #ifdef FEAT_GUI - if (gui.in_use) -*************** -*** 1127,1136 **** - * available for pasting. - * When "both" is TRUE also copy to the '+' register. - */ -- /*ARGSUSED*/ - void - clip_copy_modeless_selection(both) -! int both; - { - char_u *buffer; - char_u *bufp; ---- 1126,1134 ---- - * available for pasting. - * When "both" is TRUE also copy to the '+' register. - */ - void - clip_copy_modeless_selection(both) -! int both UNUSED; - { - char_u *buffer; - char_u *bufp; -*************** -*** 1701,1710 **** - return (int)maxlen; - } - -- /*ARGSUSED*/ - void - fill_input_buf(exit_on_error) -! int exit_on_error; - { - #if defined(UNIX) || defined(OS2) || defined(VMS) || defined(MACOS_X_UNIX) - int len; ---- 1699,1707 ---- - return (int)maxlen; - } - - void - fill_input_buf(exit_on_error) -! int exit_on_error UNUSED; - { - #if defined(UNIX) || defined(OS2) || defined(VMS) || defined(MACOS_X_UNIX) - int len; -*************** -*** 1992,2002 **** - - static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *)); - -- /* ARGSUSED */ - static void - clip_x11_request_selection_cb(w, success, sel_atom, type, value, length, - format) -! Widget w; - XtPointer success; - Atom *sel_atom; - Atom *type; ---- 1989,1998 ---- - - 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) -! Widget w UNUSED; - XtPointer success; - Atom *sel_atom; - Atom *type; -*************** -*** 2202,2211 **** - - static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *)); - -- /* ARGSUSED */ - static Boolean - clip_x11_convert_selection_cb(w, sel_atom, target, type, value, length, format) -! Widget w; - Atom *sel_atom; - Atom *target; - Atom *type; ---- 2198,2206 ---- - - static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *)); - - static Boolean - clip_x11_convert_selection_cb(w, sel_atom, target, type, value, length, format) -! Widget w UNUSED; - Atom *sel_atom; - Atom *target; - Atom *type; -*************** -*** 2332,2341 **** - - static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *)); - -- /* ARGSUSED */ - static void - clip_x11_lose_ownership_cb(w, sel_atom) -! Widget w; - Atom *sel_atom; - { - if (*sel_atom == clip_plus.sel_atom) ---- 2327,2335 ---- - - static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *)); - - static void - clip_x11_lose_ownership_cb(w, sel_atom) -! Widget w UNUSED; - Atom *sel_atom; - { - if (*sel_atom == clip_plus.sel_atom) -*************** -*** 2368,2377 **** - * Send the current selection to the clipboard. Do nothing for X because we - * will fill in the selection only when requested by another app. - */ -- /*ARGSUSED*/ - void - clip_x11_set_selection(cbd) -! VimClipboard *cbd; - { - } - #endif ---- 2362,2370 ---- - * Send the current selection to the clipboard. Do nothing for X because we - * will fill in the selection only when requested by another app. - */ - void - clip_x11_set_selection(cbd) -! VimClipboard *cbd UNUSED; - { - } - #endif -*************** -*** 2922,2932 **** - * Find the window at screen position "*rowp" and "*colp". The positions are - * updated to become relative to the top-left of the window. - */ -- /*ARGSUSED*/ - win_T * - mouse_find_win(rowp, colp) - int *rowp; -! int *colp; - { - frame_T *fp; - ---- 2915,2924 ---- - * Find the window at screen position "*rowp" and "*colp". The positions are - * updated to become relative to the top-left of the window. - */ - win_T * - mouse_find_win(rowp, colp) - int *rowp; -! int *colp UNUSED; - { - frame_T *fp; - -*** ../vim-7.2.179/src/version.c 2009-05-16 21:16:12.000000000 +0200 ---- src/version.c 2009-05-17 13:06:38.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 180, - /**/ - --- -Wi n0t trei a h0liday in Sweden thi yer? - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.181 --- a/components/vim/vim72-patches/7.2.181 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1978 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.181 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.181 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/if_mzsch.c, src/gui.c, src/gui_gtk.c, src/gui_gtk_x11.c, - src/gui_gtk_f.c, src/gui_beval.c, src/netbeans.c - - -*** ../vim-7.2.180/src/if_mzsch.c 2007-07-06 19:43:08.000000000 +0200 ---- src/if_mzsch.c 2009-05-16 22:24:18.000000000 +0200 -*************** -*** 667,679 **** - static void CALLBACK - timer_proc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) - # elif defined(FEAT_GUI_GTK) -- /*ARGSUSED*/ - static gint -! timer_proc(gpointer data) - # elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) -- /* ARGSUSED */ - static void -! timer_proc(XtPointer timed_out, XtIntervalId *interval_id) - # elif defined(FEAT_GUI_MAC) - pascal void - timer_proc(EventLoopTimerRef theTimer, void *userData) ---- 667,677 ---- - static void CALLBACK - timer_proc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) - # elif defined(FEAT_GUI_GTK) - static gint -! timer_proc(gpointer data UNUSED) - # elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) - static void -! timer_proc(XtPointer timed_out UNUSED, XtIntervalId *interval_id UNUSED) - # elif defined(FEAT_GUI_MAC) - pascal void - timer_proc(EventLoopTimerRef theTimer, void *userData) -*** ../vim-7.2.180/src/gui.c 2008-12-03 18:50:09.000000000 +0100 ---- src/gui.c 2009-05-17 15:52:18.000000000 +0200 -*************** -*** 678,688 **** - * Return OK when able to set the font. When it failed FAIL is returned and - * the fonts are unchanged. - */ -- /*ARGSUSED*/ - int - gui_init_font(font_list, fontset) - char_u *font_list; -! int fontset; - { - #define FONTLEN 320 - char_u font_name[FONTLEN]; ---- 678,687 ---- - * Return OK when able to set the font. When it failed FAIL is returned and - * the fonts are unchanged. - */ - int - gui_init_font(font_list, fontset) - char_u *font_list; -! int fontset UNUSED; - { - #define FONTLEN 320 - char_u font_name[FONTLEN]; -*************** -*** 1138,1147 **** - * Position the various GUI components (text area, menu). The vertical - * scrollbars are NOT handled here. See gui_update_scrollbars(). - */ -- /*ARGSUSED*/ - static void - gui_position_components(total_width) -! int total_width; - { - int text_area_x; - int text_area_y; ---- 1137,1145 ---- - * Position the various GUI components (text area, menu). The vertical - * scrollbars are NOT handled here. See gui_update_scrollbars(). - */ - static void - gui_position_components(total_width) -! int total_width UNUSED; - { - int text_area_x; - int text_area_y; -*************** -*** 1374,1383 **** - * If "fit_to_display" is TRUE then the size may be reduced to fit the window - * on the screen. - */ -- /*ARGSUSED*/ - void - gui_set_shellsize(mustset, fit_to_display, direction) -! int mustset; /* set by the user */ - int fit_to_display; - int direction; /* RESIZE_HOR, RESIZE_VER */ - { ---- 1372,1380 ---- - * If "fit_to_display" is TRUE then the size may be reduced to fit the window - * on the screen. - */ - void - gui_set_shellsize(mustset, fit_to_display, direction) -! int mustset UNUSED; /* set by the user */ - int fit_to_display; - int direction; /* RESIZE_HOR, RESIZE_VER */ - { -*************** -*** 3120,3126 **** - * If "oldval" is not NULL, "oldval" is the previous value, the new value is - * in p_go. - */ -- /*ARGSUSED*/ - void - gui_init_which_components(oldval) - char_u *oldval; ---- 3117,3122 ---- -*************** -*** 4411,4417 **** - if (curwin->w_p_wrap) - return FALSE; - -! if (curwin->w_leftcol == scrollbar_value) - return FALSE; - - curwin->w_leftcol = (colnr_T)scrollbar_value; ---- 4407,4413 ---- - if (curwin->w_p_wrap) - return FALSE; - -! if ((long_u)curwin->w_leftcol == scrollbar_value) - return FALSE; - - curwin->w_leftcol = (colnr_T)scrollbar_value; -*************** -*** 4424,4430 **** - && longest_lnum < curwin->w_botline - && !virtual_active()) - { -! if (scrollbar_value > scroll_line_len(curwin->w_cursor.lnum)) - { - curwin->w_cursor.lnum = longest_lnum; - curwin->w_cursor.col = 0; ---- 4420,4426 ---- - && longest_lnum < curwin->w_botline - && !virtual_active()) - { -! if (scrollbar_value > (long_u)scroll_line_len(curwin->w_cursor.lnum)) - { - curwin->w_cursor.lnum = longest_lnum; - curwin->w_cursor.col = 0; -*************** -*** 4670,4676 **** - /* - * Find window where the mouse pointer "y" coordinate is in. - */ -- /*ARGSUSED*/ - static win_T * - xy2win(x, y) - int x; ---- 4666,4671 ---- -*************** -*** 5124,5130 **** - * of dropped files, they will be freed in this function, and caller can't use - * fnames after call this function. - */ -- /*ARGSUSED*/ - void - gui_handle_drop(x, y, modifiers, fnames, count) - int x; ---- 5119,5124 ---- -*** ../vim-7.2.180/src/gui_gtk.c 2008-07-31 22:29:28.000000000 +0200 ---- src/gui_gtk.c 2009-05-17 16:06:30.000000000 +0200 -*************** -*** 285,298 **** - return image; - } - -- /*ARGSUSED*/ - static gint -! toolbar_button_focus_in_event(GtkWidget *widget, GdkEventFocus *event, gpointer data) -! { -! /* When we're in a GtkPlug, we don't have window focus events, only widget focus. -! * To emulate stand-alone gvim, if a button gets focus (e.g., into GtkPlug) -! * immediately pass it to mainwin. -! */ - if (gtk_socket_id != 0) - gtk_widget_grab_focus(gui.drawarea); - ---- 285,298 ---- - return image; - } - - static gint -! toolbar_button_focus_in_event(GtkWidget *widget UNUSED, -! GdkEventFocus *event UNUSED, -! gpointer data UNUSED) -! { -! /* When we're in a GtkPlug, we don't have window focus events, only widget -! * focus. To emulate stand-alone gvim, if a button gets focus (e.g., -! * into GtkPlug) immediately pass it to mainwin. */ - if (gtk_socket_id != 0) - gtk_widget_grab_focus(gui.drawarea); - -*************** -*** 585,593 **** - gtk_menu_prepend(GTK_MENU(menu->submenu_id), menu->tearoff_handle); - } - -- /*ARGSUSED*/ - static void -! menu_item_activate(GtkWidget *widget, gpointer data) - { - gui_menu_cb((vimmenu_T *)data); - ---- 585,592 ---- - gtk_menu_prepend(GTK_MENU(menu->submenu_id), menu->tearoff_handle); - } - - static void -! menu_item_activate(GtkWidget *widget UNUSED, gpointer data) - { - gui_menu_cb((vimmenu_T *)data); - -*************** -*** 1202,1210 **** - #endif - - #ifndef USE_FILE_CHOOSER -- /*ARGSUSED*/ - static void -! browse_ok_cb(GtkWidget *widget, gpointer cbdata) - { - gui_T *vw = (gui_T *)cbdata; - ---- 1201,1208 ---- - #endif - - #ifndef USE_FILE_CHOOSER - static void -! browse_ok_cb(GtkWidget *widget UNUSED, gpointer cbdata) - { - gui_T *vw = (gui_T *)cbdata; - -*************** -*** 1218,1226 **** - gtk_main_quit(); - } - -- /*ARGSUSED*/ - static void -! browse_cancel_cb(GtkWidget *widget, gpointer cbdata) - { - gui_T *vw = (gui_T *)cbdata; - ---- 1216,1223 ---- - gtk_main_quit(); - } - - static void -! browse_cancel_cb(GtkWidget *widget UNUSED, gpointer cbdata) - { - gui_T *vw = (gui_T *)cbdata; - -*************** -*** 1234,1242 **** - gtk_main_quit(); - } - -- /*ARGSUSED*/ - static gboolean -! browse_destroy_cb(GtkWidget * widget) - { - if (gui.browse_fname != NULL) - { ---- 1231,1238 ---- - gtk_main_quit(); - } - - static gboolean -! browse_destroy_cb(GtkWidget *widget UNUSED) - { - if (gui.browse_fname != NULL) - { -*************** -*** 1262,1275 **** - * initdir initial directory, NULL for current dir - * filter not used (file name filter) - */ -- /*ARGSUSED*/ - char_u * -! gui_mch_browse(int saving, - char_u *title, - char_u *dflt, -! char_u *ext, - char_u *initdir, -! char_u *filter) - { - #ifdef USE_FILE_CHOOSER - GtkWidget *fc; ---- 1258,1270 ---- - * initdir initial directory, NULL for current dir - * filter not used (file name filter) - */ - char_u * -! gui_mch_browse(int saving UNUSED, - char_u *title, - char_u *dflt, -! char_u *ext UNUSED, - char_u *initdir, -! char_u *filter UNUSED) - { - #ifdef USE_FILE_CHOOSER - GtkWidget *fc; -*************** -*** 1377,1383 **** - * dflt default name - * initdir initial directory, NULL for current dir - */ -- /*ARGSUSED*/ - char_u * - gui_mch_browsedir( - char_u *title, ---- 1372,1377 ---- -*************** -*** 1460,1466 **** - } - - # ifdef FEAT_GUI_GNOME -- /* ARGSUSED */ - static int - gui_gnome_dialog( int type, - char_u *title, ---- 1454,1459 ---- -*************** -*** 1611,1617 **** - GtkWidget *dialog; - } CancelData; - -- /* ARGSUSED */ - static void - dlg_button_clicked(GtkWidget * widget, ButtonData *data) - { ---- 1604,1609 ---- -*************** -*** 1622,1628 **** - /* - * This makes the Escape key equivalent to the cancel button. - */ -- /*ARGSUSED*/ - static int - dlg_key_press_event(GtkWidget *widget, GdkEventKey *event, CancelData *data) - { ---- 1614,1619 ---- -*************** -*** 1655,1661 **** - gtk_main_quit(); - } - -- /* ARGSUSED */ - int - gui_mch_dialog( int type, /* type of dialog */ - char_u *title, /* title of dialog */ ---- 1646,1651 ---- -*************** -*** 2215,2221 **** - GtkDialog *dialog; /* Widget of the dialog */ - } DialogInfo; - -- /*ARGSUSED2*/ - static gboolean - dialog_key_press_event_cb(GtkWidget *widget, GdkEventKey *event, gpointer data) - { ---- 2205,2210 ---- -*************** -*** 2398,2411 **** - * Note: The push_in output argument seems to affect scrolling of huge - * menus that don't fit on the screen. Leave it at the default for now. - */ -- /*ARGSUSED0*/ - static void -! popup_menu_position_func(GtkMenu *menu, - gint *x, gint *y, - # ifdef HAVE_GTK2 -! gboolean *push_in, - # endif -! gpointer user_data) - { - gdk_window_get_origin(gui.drawarea->window, x, y); - ---- 2387,2399 ---- - * Note: The push_in output argument seems to affect scrolling of huge - * menus that don't fit on the screen. Leave it at the default for now. - */ - static void -! popup_menu_position_func(GtkMenu *menu UNUSED, - gint *x, gint *y, - # ifdef HAVE_GTK2 -! gboolean *push_in UNUSED, - # endif -! gpointer user_data UNUSED) - { - gdk_window_get_origin(gui.drawarea->window, x, y); - -*************** -*** 2464,2476 **** - GtkWidget *all; /* 'Replace All' action button */ - } SharedFindReplace; - -! static SharedFindReplace find_widgets = { NULL, }; -! static SharedFindReplace repl_widgets = { NULL, }; - -- /* ARGSUSED */ - static int - find_key_press_event( -! GtkWidget *widget, - GdkEventKey *event, - SharedFindReplace *frdp) - { ---- 2452,2463 ---- - GtkWidget *all; /* 'Replace All' action button */ - } SharedFindReplace; - -! static SharedFindReplace find_widgets = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; -! static SharedFindReplace repl_widgets = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; - - static int - find_key_press_event( -! GtkWidget *widget UNUSED, - GdkEventKey *event, - SharedFindReplace *frdp) - { -*************** -*** 2962,2970 **** - /* - * Callback for actions of the find and replace dialogs - */ -- /*ARGSUSED*/ - static void -! find_replace_cb(GtkWidget *widget, gpointer data) - { - int flags; - char_u *find_text; ---- 2949,2956 ---- - /* - * Callback for actions of the find and replace dialogs - */ - static void -! find_replace_cb(GtkWidget *widget UNUSED, gpointer data) - { - int flags; - char_u *find_text; -*************** -*** 3010,3018 **** - } - - /* our usual callback function */ -- /*ARGSUSED*/ - static void -! entry_activate_cb(GtkWidget *widget, gpointer data) - { - gtk_widget_grab_focus(GTK_WIDGET(data)); - } ---- 2996,3003 ---- - } - - /* our usual callback function */ - static void -! entry_activate_cb(GtkWidget *widget UNUSED, gpointer data) - { - gtk_widget_grab_focus(GTK_WIDGET(data)); - } -*************** -*** 3055,3064 **** - /* - * ":helpfind" - */ -- /*ARGSUSED*/ - void - ex_helpfind(eap) -! exarg_T *eap; - { - /* This will fail when menus are not loaded. Well, it's only for - * backwards compatibility anyway. */ ---- 3040,3048 ---- - /* - * ":helpfind" - */ - void - ex_helpfind(eap) -! exarg_T *eap UNUSED; - { - /* This will fail when menus are not loaded. Well, it's only for - * backwards compatibility anyway. */ -*** ../vim-7.2.180/src/gui_gtk_x11.c 2008-11-28 21:26:50.000000000 +0100 ---- src/gui_gtk_x11.c 2009-05-17 15:53:02.000000000 +0200 -*************** -*** 619,627 **** - * Doesn't seem possible, since check_copy_area() relies on - * this information. --danielk - */ -- /*ARGSUSED*/ - static gint -! visibility_event(GtkWidget *widget, GdkEventVisibility *event, gpointer data) - { - gui.visibility = event->state; - /* ---- 625,634 ---- - * Doesn't seem possible, since check_copy_area() relies on - * this information. --danielk - */ - static gint -! visibility_event(GtkWidget *widget UNUSED, -! GdkEventVisibility *event, -! gpointer data UNUSED) - { - gui.visibility = event->state; - /* -*************** -*** 638,646 **** - /* - * Redraw the corresponding portions of the screen. - */ -- /*ARGSUSED*/ - static gint -! expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) - { - /* Skip this when the GUI isn't set up yet, will redraw later. */ - if (gui.starting) ---- 645,654 ---- - /* - * Redraw the corresponding portions of the screen. - */ - static gint -! expose_event(GtkWidget *widget UNUSED, -! GdkEventExpose *event, -! gpointer data UNUSED) - { - /* Skip this when the GUI isn't set up yet, will redraw later. */ - if (gui.starting) -*************** -*** 668,676 **** - /* - * Handle changes to the "Comm" property - */ -- /*ARGSUSED2*/ - static gint -! property_event(GtkWidget *widget, GdkEventProperty *event, gpointer data) - { - if (event->type == GDK_PROPERTY_NOTIFY - && event->state == (int)GDK_PROPERTY_NEW_VALUE ---- 676,685 ---- - /* - * Handle changes to the "Comm" property - */ - static gint -! property_event(GtkWidget *widget, -! GdkEventProperty *event, -! gpointer data UNUSED) - { - if (event->type == GDK_PROPERTY_NOTIFY - && event->state == (int)GDK_PROPERTY_NEW_VALUE -*************** -*** 740,748 **** - blink_state = BLINK_NONE; - } - -- /*ARGSUSED*/ - static gint -! blink_cb(gpointer data) - { - if (blink_state == BLINK_ON) - { ---- 749,756 ---- - blink_state = BLINK_NONE; - } - - static gint -! blink_cb(gpointer data UNUSED) - { - if (blink_state == BLINK_ON) - { -*************** -*** 781,789 **** - } - } - -- /*ARGSUSED*/ - static gint -! enter_notify_event(GtkWidget *widget, GdkEventCrossing *event, gpointer data) - { - if (blink_state == BLINK_NONE) - gui_mch_start_blink(); ---- 789,798 ---- - } - } - - static gint -! enter_notify_event(GtkWidget *widget UNUSED, -! GdkEventCrossing *event UNUSED, -! gpointer data UNUSED) - { - if (blink_state == BLINK_NONE) - gui_mch_start_blink(); -*************** -*** 795,803 **** - return FALSE; - } - -- /*ARGSUSED*/ - static gint -! leave_notify_event(GtkWidget *widget, GdkEventCrossing *event, gpointer data) - { - if (blink_state != BLINK_NONE) - gui_mch_stop_blink(); ---- 804,813 ---- - return FALSE; - } - - static gint -! leave_notify_event(GtkWidget *widget UNUSED, -! GdkEventCrossing *event UNUSED, -! gpointer data UNUSED) - { - if (blink_state != BLINK_NONE) - gui_mch_stop_blink(); -*************** -*** 805,813 **** - return FALSE; - } - -- /*ARGSUSED*/ - static gint -! focus_in_event(GtkWidget *widget, GdkEventFocus *event, gpointer data) - { - gui_focus_change(TRUE); - ---- 815,824 ---- - return FALSE; - } - - static gint -! focus_in_event(GtkWidget *widget, -! GdkEventFocus *event UNUSED, -! gpointer data UNUSED) - { - gui_focus_change(TRUE); - -*************** -*** 826,834 **** - return TRUE; - } - -- /*ARGSUSED*/ - static gint -! focus_out_event(GtkWidget *widget, GdkEventFocus *event, gpointer data) - { - gui_focus_change(FALSE); - ---- 837,846 ---- - return TRUE; - } - - static gint -! focus_out_event(GtkWidget *widget UNUSED, -! GdkEventFocus *event UNUSED, -! gpointer data UNUSED) - { - gui_focus_change(FALSE); - -*************** -*** 956,964 **** - /* - * Main keyboard handler: - */ -- /*ARGSUSED*/ - static gint -! key_press_event(GtkWidget *widget, GdkEventKey *event, gpointer data) - { - #ifdef HAVE_GTK2 - /* 256 bytes is way over the top, but for safety let's reduce it only ---- 968,977 ---- - /* - * Main keyboard handler: - */ - static gint -! key_press_event(GtkWidget *widget UNUSED, -! GdkEventKey *event, -! gpointer data UNUSED) - { - #ifdef HAVE_GTK2 - /* 256 bytes is way over the top, but for safety let's reduce it only -*************** -*** 1225,1233 **** - } - - #if defined(FEAT_XIM) && defined(HAVE_GTK2) -- /*ARGSUSED0*/ - static gboolean -! key_release_event(GtkWidget *widget, GdkEventKey *event, gpointer data) - { - /* - * GTK+ 2 input methods may do fancy stuff on key release events too. ---- 1238,1247 ---- - } - - #if defined(FEAT_XIM) && defined(HAVE_GTK2) - static gboolean -! key_release_event(GtkWidget *widget UNUSED, -! GdkEventKey *event, -! gpointer data UNUSED) - { - /* - * GTK+ 2 input methods may do fancy stuff on key release events too. -*************** -*** 1243,1253 **** - * Selection handlers: - */ - -- /*ARGSUSED*/ - static gint -! selection_clear_event(GtkWidget *widget, - GdkEventSelection *event, -! gpointer user_data) - { - if (event->selection == clip_plus.gtk_sel_atom) - clip_lose_selection(&clip_plus); ---- 1257,1266 ---- - * Selection handlers: - */ - - static gint -! selection_clear_event(GtkWidget *widget UNUSED, - GdkEventSelection *event, -! gpointer user_data UNUSED) - { - if (event->selection == clip_plus.gtk_sel_atom) - clip_lose_selection(&clip_plus); -*************** -*** 1265,1276 **** - #define RS_FAIL 2 /* selection_received_cb() called and failed */ - static int received_selection = RS_NONE; - -- /*ARGSUSED*/ - static void -! selection_received_cb(GtkWidget *widget, - GtkSelectionData *data, -! guint time_, -! gpointer user_data) - { - VimClipboard *cbd; - char_u *text; ---- 1278,1288 ---- - #define RS_FAIL 2 /* selection_received_cb() called and failed */ - static int received_selection = RS_NONE; - - static void -! selection_received_cb(GtkWidget *widget UNUSED, - GtkSelectionData *data, -! guint time_ UNUSED, -! gpointer user_data UNUSED) - { - VimClipboard *cbd; - char_u *text; -*************** -*** 1414,1426 **** - * Prepare our selection data for passing it to the external selection - * client. - */ -- /*ARGSUSED*/ - static void -! selection_get_cb(GtkWidget *widget, - GtkSelectionData *selection_data, - guint info, -! guint time_, -! gpointer user_data) - { - char_u *string; - char_u *tmpbuf; ---- 1426,1437 ---- - * Prepare our selection data for passing it to the external selection - * client. - */ - static void -! selection_get_cb(GtkWidget *widget UNUSED, - GtkSelectionData *selection_data, - guint info, -! guint time_ UNUSED, -! gpointer user_data UNUSED) - { - char_u *string; - char_u *tmpbuf; -*************** -*** 1678,1684 **** - - offshoot = dx > dy ? dx : dy; - -! /* Make a linearly declaying timer delay with a threshold of 5 at a - * distance of 127 pixels from the main window. - * - * One could think endlessly about the most ergonomic variant here. ---- 1689,1695 ---- - - offshoot = dx > dy ? dx : dy; - -! /* Make a linearly decaying timer delay with a threshold of 5 at a - * distance of 127 pixels from the main window. - * - * One could think endlessly about the most ergonomic variant here. -*************** -*** 1707,1715 **** - /* - * Timer used to recognize multiple clicks of the mouse button. - */ -- /*ARGSUSED0*/ - static gint -! motion_repeat_timer_cb(gpointer data) - { - int x; - int y; ---- 1718,1725 ---- - /* - * Timer used to recognize multiple clicks of the mouse button. - */ - static gint -! motion_repeat_timer_cb(gpointer data UNUSED) - { - int x; - int y; -*************** -*** 1749,1757 **** - return FALSE; - } - -- /*ARGSUSED2*/ - static gint -! motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer data) - { - if (event->is_hint) - { ---- 1759,1768 ---- - return FALSE; - } - - static gint -! motion_notify_event(GtkWidget *widget, -! GdkEventMotion *event, -! gpointer data UNUSED) - { - if (event->is_hint) - { -*************** -*** 1777,1785 **** - * by our own timeout mechanism instead of the one provided by GTK+ itself. - * This is due to the way the generic VIM code is recognizing multiple clicks. - */ -- /*ARGSUSED2*/ - static gint -! button_press_event(GtkWidget *widget, GdkEventButton *event, gpointer data) - { - int button; - int repeated_click = FALSE; ---- 1788,1797 ---- - * by our own timeout mechanism instead of the one provided by GTK+ itself. - * This is due to the way the generic VIM code is recognizing multiple clicks. - */ - static gint -! button_press_event(GtkWidget *widget, -! GdkEventButton *event, -! gpointer data UNUSED) - { - int button; - int repeated_click = FALSE; -*************** -*** 1855,1863 **** - * GTK+ 2 doesn't handle mouse buttons 4, 5, 6 and 7 the same way as GTK+ 1. - * Instead, it abstracts scrolling via the new GdkEventScroll. - */ -- /*ARGSUSED2*/ - static gboolean -! scroll_event(GtkWidget *widget, GdkEventScroll *event, gpointer data) - { - int button; - int_u vim_modifiers; ---- 1867,1876 ---- - * GTK+ 2 doesn't handle mouse buttons 4, 5, 6 and 7 the same way as GTK+ 1. - * Instead, it abstracts scrolling via the new GdkEventScroll. - */ - static gboolean -! scroll_event(GtkWidget *widget, -! GdkEventScroll *event, -! gpointer data UNUSED) - { - int button; - int_u vim_modifiers; -*************** -*** 1896,1904 **** - #endif /* HAVE_GTK2 */ - - -- /*ARGSUSED*/ - static gint -! button_release_event(GtkWidget *widget, GdkEventButton *event, gpointer data) - { - int x, y; - int_u vim_modifiers; ---- 1909,1918 ---- - #endif /* HAVE_GTK2 */ - - - static gint -! button_release_event(GtkWidget *widget UNUSED, -! GdkEventButton *event, -! gpointer data UNUSED) - { - int x, y; - int_u vim_modifiers; -*************** -*** 2100,2106 **** - /* - * DND receiver. - */ -- /*ARGSUSED2*/ - static void - drag_data_received_cb(GtkWidget *widget, - GdkDragContext *context, ---- 2114,2119 ---- -*************** -*** 2109,2115 **** - GtkSelectionData *data, - guint info, - guint time_, -! gpointer user_data) - { - GdkModifierType state; - ---- 2122,2128 ---- - GtkSelectionData *data, - guint info, - guint time_, -! gpointer user_data UNUSED) - { - GdkModifierType state; - -*************** -*** 2143,2149 **** - * be abandoned and pop up a dialog asking the user for confirmation if - * necessary. - */ -- /*ARGSUSED0*/ - static void - sm_client_check_changed_any(GnomeClient *client, - gint key, ---- 2156,2161 ---- -*************** -*** 2251,2257 **** - * for confirmation if necessary. Save the current editing session and tell - * the session manager how to restart Vim. - */ -- /*ARGSUSED1*/ - static gboolean - sm_client_save_yourself(GnomeClient *client, - gint phase, ---- 2263,2268 ---- -*************** -*** 2339,2345 **** - * here since "save_yourself" has been emitted before (unless serious trouble - * is happening). - */ -- /*ARGSUSED0*/ - static void - sm_client_die(GnomeClient *client, gpointer data) - { ---- 2350,2355 ---- -*************** -*** 2379,2388 **** - /* - * GTK tells us that XSMP needs attention - */ -- /*ARGSUSED*/ - static gboolean - local_xsmp_handle_requests(source, condition, data) -! GIOChannel *source; - GIOCondition condition; - gpointer data; - { ---- 2389,2397 ---- - /* - * GTK tells us that XSMP needs attention - */ - static gboolean - local_xsmp_handle_requests(source, condition, data) -! GIOChannel *source UNUSED; - GIOCondition condition; - gpointer data; - { -*************** -*** 2480,2495 **** - * WM_SAVE_YOURSELF hack it actually stores the session... And yes, - * it should work with KDE as well. - */ -- /*ARGSUSED1*/ - static GdkFilterReturn -! global_event_filter(GdkXEvent *xev, GdkEvent *event, gpointer data) - { - XEvent *xevent = (XEvent *)xev; - - if (xevent != NULL - && xevent->type == ClientMessage - && xevent->xclient.message_type == GET_X_ATOM(wm_protocols_atom) -! && xevent->xclient.data.l[0] == GET_X_ATOM(save_yourself_atom)) - { - out_flush(); - ml_sync_all(FALSE, FALSE); /* preserve all swap files */ ---- 2489,2506 ---- - * WM_SAVE_YOURSELF hack it actually stores the session... And yes, - * it should work with KDE as well. - */ - static GdkFilterReturn -! global_event_filter(GdkXEvent *xev, -! GdkEvent *event UNUSED, -! gpointer data UNUSED) - { - XEvent *xevent = (XEvent *)xev; - - if (xevent != NULL - && xevent->type == ClientMessage - && xevent->xclient.message_type == GET_X_ATOM(wm_protocols_atom) -! && (long_u)xevent->xclient.data.l[0] -! == GET_X_ATOM(save_yourself_atom)) - { - out_flush(); - ml_sync_all(FALSE, FALSE); /* preserve all swap files */ -*************** -*** 2512,2518 **** - /* - * GDK handler for X ClientMessage events. - */ -- /*ARGSUSED2*/ - static GdkFilterReturn - gdk_wm_protocols_filter(GdkXEvent *xev, GdkEvent *event, gpointer data) - { ---- 2523,2528 ---- -*************** -*** 2558,2566 **** - /* - * Setup the window icon & xcmdsrv comm after the main window has been realized. - */ -- /*ARGSUSED*/ - static void -! mainwin_realize(GtkWidget *widget, gpointer data) - { - /* If you get an error message here, you still need to unpack the runtime - * archive! */ ---- 2568,2575 ---- - /* - * Setup the window icon & xcmdsrv comm after the main window has been realized. - */ - static void -! mainwin_realize(GtkWidget *widget UNUSED, gpointer data UNUSED) - { - /* If you get an error message here, you still need to unpack the runtime - * archive! */ -*************** -*** 2712,2722 **** - } - - #ifdef HAVE_GTK_MULTIHEAD -- /*ARGSUSED1*/ - static void - mainwin_screen_changed_cb(GtkWidget *widget, -! GdkScreen *previous_screen, -! gpointer data) - { - if (!gtk_widget_has_screen(widget)) - return; ---- 2721,2730 ---- - } - - #ifdef HAVE_GTK_MULTIHEAD - static void - mainwin_screen_changed_cb(GtkWidget *widget, -! GdkScreen *previous_screen UNUSED, -! gpointer data UNUSED) - { - if (!gtk_widget_has_screen(widget)) - return; -*************** -*** 2757,2765 **** - * Don't try to set any VIM scrollbar sizes anywhere here. I'm relying on the - * fact that the main VIM engine doesn't take them into account anywhere. - */ -- /*ARGSUSED1*/ - static void -! drawarea_realize_cb(GtkWidget *widget, gpointer data) - { - GtkWidget *sbar; - ---- 2765,2772 ---- - * Don't try to set any VIM scrollbar sizes anywhere here. I'm relying on the - * fact that the main VIM engine doesn't take them into account anywhere. - */ - static void -! drawarea_realize_cb(GtkWidget *widget, gpointer data UNUSED) - { - GtkWidget *sbar; - -*************** -*** 2789,2797 **** - /* - * Properly clean up on shutdown. - */ -- /*ARGSUSED0*/ - static void -! drawarea_unrealize_cb(GtkWidget *widget, gpointer data) - { - /* Don't write messages to the GUI anymore */ - full_screen = FALSE; ---- 2796,2803 ---- - /* - * Properly clean up on shutdown. - */ - static void -! drawarea_unrealize_cb(GtkWidget *widget UNUSED, gpointer data UNUSED) - { - /* Don't write messages to the GUI anymore */ - full_screen = FALSE; -*************** -*** 2827,2837 **** - #endif - } - -- /*ARGSUSED0*/ - static void -! drawarea_style_set_cb(GtkWidget *widget, -! GtkStyle *previous_style, -! gpointer data) - { - gui_mch_new_colors(); - } ---- 2833,2842 ---- - #endif - } - - static void -! drawarea_style_set_cb(GtkWidget *widget UNUSED, -! GtkStyle *previous_style UNUSED, -! gpointer data UNUSED) - { - gui_mch_new_colors(); - } -*************** -*** 2840,2848 **** - * Callback routine for the "delete_event" signal on the toplevel window. - * Tries to vim gracefully, or refuses to exit with changed buffers. - */ -- /*ARGSUSED*/ - static gint -! delete_event_cb(GtkWidget *widget, GdkEventAny *event, gpointer data) - { - gui_shell_closed(); - return TRUE; ---- 2845,2854 ---- - * Callback routine for the "delete_event" signal on the toplevel window. - * Tries to vim gracefully, or refuses to exit with changed buffers. - */ - static gint -! delete_event_cb(GtkWidget *widget UNUSED, -! GdkEventAny *event UNUSED, -! gpointer data UNUSED) - { - gui_shell_closed(); - return TRUE; -*************** -*** 2964,2970 **** - - /* At start-up, don't try to set the hints until the initial - * values have been used (those that dictate our initial size) -! * Let forced (i.e., correct) values thruogh always. - */ - if (!(force_width && force_height) && init_window_hints_state > 0) - { ---- 2970,2976 ---- - - /* At start-up, don't try to set the hints until the initial - * values have been used (those that dictate our initial size) -! * Let forced (i.e., correct) values through always. - */ - if (!(force_width && force_height) && init_window_hints_state > 0) - { -*************** -*** 3142,3150 **** - /* - * Handle selecting an item in the tab line popup menu. - */ -- /*ARGSUSED*/ - static void -! tabline_menu_handler(GtkMenuItem *item, gpointer user_data) - { - /* Add the string cmd into input buffer */ - send_tabline_menu_event(clicked_page, (int)(long)user_data); ---- 3148,3155 ---- - /* - * Handle selecting an item in the tab line popup menu. - */ - static void -! tabline_menu_handler(GtkMenuItem *item UNUSED, gpointer user_data) - { - /* Add the string cmd into input buffer */ - send_tabline_menu_event(clicked_page, (int)(long)user_data); -*************** -*** 3244,3256 **** - /* - * Handle selecting one of the tabs. - */ -- /*ARGSUSED*/ - static void - on_select_tab( -! GtkNotebook *notebook, -! GtkNotebookPage *page, - gint idx, -! gpointer data) - { - if (!ignore_tabline_evt) - { ---- 3249,3260 ---- - /* - * Handle selecting one of the tabs. - */ - static void - on_select_tab( -! GtkNotebook *notebook UNUSED, -! GtkNotebookPage *page UNUSED, - gint idx, -! gpointer data UNUSED) - { - if (!ignore_tabline_evt) - { -*************** -*** 3784,3790 **** - #endif - - if (gtk_socket_id != 0) -! /* make sure keybord input can go to the drawarea */ - GTK_WIDGET_SET_FLAGS(gui.drawarea, GTK_CAN_FOCUS); - - /* ---- 3788,3794 ---- - #endif - - if (gtk_socket_id != 0) -! /* make sure keyboard input can go to the drawarea */ - GTK_WIDGET_SET_FLAGS(gui.drawarea, GTK_CAN_FOCUS); - - /* -*************** -*** 3922,3931 **** - /* - * This signal informs us about the need to rearrange our sub-widgets. - */ -- /*ARGSUSED*/ - static gint -! form_configure_event(GtkWidget *widget, GdkEventConfigure *event, -! gpointer data) - { - int usable_height = event->height; - ---- 3926,3935 ---- - /* - * This signal informs us about the need to rearrange our sub-widgets. - */ - static gint -! form_configure_event(GtkWidget *widget UNUSED, -! GdkEventConfigure *event, -! gpointer data UNUSED) - { - int usable_height = event->height; - -*************** -*** 3948,3956 **** - * We can't do much more here than to trying to preserve what had been done, - * since the window is already inevitably going away. - */ -- /*ARGSUSED0*/ - static void -! mainwin_destroy_cb(GtkObject *object, gpointer data) - { - /* Don't write messages to the GUI anymore */ - full_screen = FALSE; ---- 3952,3959 ---- - * We can't do much more here than to trying to preserve what had been done, - * since the window is already inevitably going away. - */ - static void -! mainwin_destroy_cb(GtkObject *object UNUSED, gpointer data UNUSED) - { - /* Don't write messages to the GUI anymore */ - full_screen = FALSE; -*************** -*** 3980,3988 **** - * scrollbar init.), actually do the standard hinst and stop the timer. - * We'll not let the default hints be set while this timer's active. - */ -- /*ARGSUSED*/ - static gboolean -! check_startup_plug_hints(gpointer data) - { - if (init_window_hints_state == 1) - { ---- 3983,3990 ---- - * scrollbar init.), actually do the standard hinst and stop the timer. - * We'll not let the default hints be set while this timer's active. - */ - static gboolean -! check_startup_plug_hints(gpointer data UNUSED) - { - if (init_window_hints_state == 1) - { -*************** -*** 4055,4061 **** - Columns = w; - if (mask & HeightValue) - { -! if (p_window > h - 1 || !option_was_set((char_u *)"window")) - p_window = h - 1; - Rows = h; - } ---- 4057,4063 ---- - Columns = w; - if (mask & HeightValue) - { -! if (p_window > (long)h - 1 || !option_was_set((char_u *)"window")) - p_window = h - 1; - Rows = h; - } -*************** -*** 4229,4237 **** - } - - -- /*ARGSUSED0*/ - void -! gui_mch_exit(int rc) - { - if (gui.mainwin != NULL) - gtk_widget_destroy(gui.mainwin); ---- 4231,4238 ---- - } - - - void -! gui_mch_exit(int rc UNUSED) - { - if (gui.mainwin != NULL) - gtk_widget_destroy(gui.mainwin); -*************** -*** 4286,4292 **** - * report the new size through form_configure_event(). That caused the window - * layout to be messed up. - */ -- /*ARGSUSED0*/ - static gboolean - force_shell_resize_idle(gpointer data) - { ---- 4287,4292 ---- -*************** -*** 4314,4325 **** - /* - * Set the windows size. - */ -- /*ARGSUSED2*/ - void - gui_mch_set_shellsize(int width, int height, -! int min_width, int min_height, -! int base_width, int base_height, -! int direction) - { - #ifndef HAVE_GTK2 - /* Hack: When the form already is at the desired size, the window might ---- 4314,4324 ---- - /* - * Set the windows size. - */ - void - gui_mch_set_shellsize(int width, int height, -! int min_width UNUSED, int min_height UNUSED, -! int base_width UNUSED, int base_height UNUSED, -! int direction UNUSED) - { - #ifndef HAVE_GTK2 - /* Hack: When the form already is at the desired size, the window might -*************** -*** 4413,4421 **** - } - - #if defined(FEAT_TITLE) || defined(PROTO) -- /*ARGSUSED*/ - void -! gui_mch_settitle(char_u *title, char_u *icon) - { - # ifdef HAVE_GTK2 - if (title != NULL && output_conv.vc_type != CONV_NONE) ---- 4412,4419 ---- - } - - #if defined(FEAT_TITLE) || defined(PROTO) - void -! gui_mch_settitle(char_u *title, char_u *icon UNUSED) - { - # ifdef HAVE_GTK2 - if (title != NULL && output_conv.vc_type != CONV_NONE) -*************** -*** 4493,4499 **** - * Get a font structure for highlighting. - * "cbdata" is a pointer to the global gui structure. - */ -- /*ARGSUSED*/ - static void - font_sel_ok(GtkWidget *wgt, gpointer cbdata) - { ---- 4491,4496 ---- -*************** -*** 4509,4515 **** - gtk_main_quit(); - } - -- /*ARGSUSED*/ - static void - font_sel_cancel(GtkWidget *wgt, gpointer cbdata) - { ---- 4506,4511 ---- -*************** -*** 4520,4526 **** - gtk_main_quit(); - } - -- /*ARGSUSED*/ - static void - font_sel_destroy(GtkWidget *wgt, gpointer cbdata) - { ---- 4516,4521 ---- -*************** -*** 4620,4626 **** - /* - * Try to load the requested fontset. - */ -- /*ARGSUSED2*/ - GuiFontset - gui_mch_get_fontset(char_u *name, int report_error, int fixed_width) - { ---- 4615,4620 ---- -*************** -*** 4863,4869 **** - styled_font[1] = &gui.ital_font; - styled_font[2] = &gui.boldital_font; - -! /* First free whatever was freviously there. */ - for (i = 0; i < 3; ++i) - if (*styled_font[i]) - { ---- 4857,4863 ---- - styled_font[1] = &gui.ital_font; - styled_font[2] = &gui.boldital_font; - -! /* First free whatever was previously there. */ - for (i = 0; i < 3; ++i) - if (*styled_font[i]) - { -*************** -*** 5012,5020 **** - * Initialize Vim to use the font or fontset with the given name. - * Return FAIL if the font could not be loaded, OK otherwise. - */ -- /*ARGSUSED1*/ - int -! gui_mch_init_font(char_u *font_name, int fontset) - { - #ifdef HAVE_GTK2 - PangoFontDescription *font_desc; ---- 5006,5013 ---- - * Initialize Vim to use the font or fontset with the given name. - * Return FAIL if the font could not be loaded, OK otherwise. - */ - int -! gui_mch_init_font(char_u *font_name, int fontset UNUSED) - { - #ifdef HAVE_GTK2 - PangoFontDescription *font_desc; -*************** -*** 5326,5334 **** - /* - * Return the name of font "font" in allocated memory. - */ -- /*ARGSUSED*/ - char_u * -! gui_mch_get_fontname(GuiFont font, char_u *name) - { - # ifdef HAVE_GTK2 - if (font != NOFONT) ---- 5319,5326 ---- - /* - * Return the name of font "font" in allocated memory. - */ - char_u * -! gui_mch_get_fontname(GuiFont font, char_u *name UNUSED) - { - # ifdef HAVE_GTK2 - if (font != NOFONT) -*************** -*** 5732,5738 **** - { - int i; - int offset; -! const static int val[8] = {1, 0, 0, 0, 1, 2, 2, 2 }; - int y = FILL_Y(row + 1) - 1; - - /* Undercurl: draw curl at the bottom of the character cell. */ ---- 5724,5730 ---- - { - int i; - int offset; -! static const int val[8] = {1, 0, 0, 0, 1, 2, 2, 2 }; - int y = FILL_Y(row + 1) - 1; - - /* Undercurl: draw curl at the bottom of the character cell. */ -*************** -*** 6402,6408 **** - /* - * Callback function, used when data is available on the SNiFF connection. - */ -- /* ARGSUSED */ - static void - sniff_request_cb( - gpointer data, ---- 6394,6399 ---- -*************** -*** 6711,6719 **** - /* - * Disown the selection. - */ -- /*ARGSUSED*/ - void -! clip_mch_lose_selection(VimClipboard *cbd) - { - /* WEIRD: when using NULL to actually disown the selection, we lose the - * selection the first time we own it. */ ---- 6702,6709 ---- - /* - * Disown the selection. - */ - void -! clip_mch_lose_selection(VimClipboard *cbd UNUSED) - { - /* WEIRD: when using NULL to actually disown the selection, we lose the - * selection the first time we own it. */ -*************** -*** 6741,6749 **** - * Send the current selection to the clipboard. Do nothing for X because we - * will fill in the selection only when requested by another app. - */ -- /*ARGSUSED*/ - void -! clip_mch_set_selection(VimClipboard *cbd) - { - } - ---- 6731,6738 ---- - * Send the current selection to the clipboard. Do nothing for X because we - * will fill in the selection only when requested by another app. - */ - void -! clip_mch_set_selection(VimClipboard *cbd UNUSED) - { - } - -*************** -*** 6950,6956 **** - else - id &= ~1; /* they are always even (why?) */ - } -! else if (shape < sizeof(mshape_ids) / sizeof(int)) - id = mshape_ids[shape]; - else - return; ---- 6939,6945 ---- - else - id &= ~1; /* they are always even (why?) */ - } -! else if (shape < (int)(sizeof(mshape_ids) / sizeof(int))) - id = mshape_ids[shape]; - else - return; -*** ../vim-7.2.180/src/gui_gtk_f.c 2007-05-10 19:50:33.000000000 +0200 ---- src/gui_gtk_f.c 2009-05-17 15:48:51.000000000 +0200 -*************** -*** 227,240 **** - - if (!form_type) - { -! GtkTypeInfo form_info = -! { -! "GtkForm", -! sizeof(GtkForm), -! sizeof(GtkFormClass), -! (GtkClassInitFunc) gtk_form_class_init, -! (GtkObjectInitFunc) gtk_form_init -! }; - - form_type = gtk_type_unique(GTK_TYPE_CONTAINER, &form_info); - } ---- 227,239 ---- - - if (!form_type) - { -! GtkTypeInfo form_info; -! -! form_info.type_name = "GtkForm"; -! form_info.object_size = sizeof(GtkForm); -! form_info.class_size = sizeof(GtkFormClass); -! form_info.class_init_func = (GtkClassInitFunc)gtk_form_class_init; -! form_info.object_init_func = (GtkObjectInitFunc)gtk_form_init; - - form_type = gtk_type_unique(GTK_TYPE_CONTAINER, &form_info); - } -*************** -*** 611,620 **** - } - } - -- /*ARGSUSED1*/ - static void - gtk_form_forall(GtkContainer *container, -! gboolean include_internals, - GtkCallback callback, - gpointer callback_data) - { ---- 610,618 ---- - } - } - - static void - gtk_form_forall(GtkContainer *container, -! gboolean include_internals UNUSED, - GtkCallback callback, - gpointer callback_data) - { -*************** -*** 786,794 **** - * them or discards them, depending on whether we are obscured - * or not. - */ -- /*ARGSUSED1*/ - static GdkFilterReturn -! gtk_form_filter(GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) - { - XEvent *xevent; - GtkForm *form; ---- 784,791 ---- - * them or discards them, depending on whether we are obscured - * or not. - */ - static GdkFilterReturn -! gtk_form_filter(GdkXEvent *gdk_xevent, GdkEvent *event UNUSED, gpointer data) - { - XEvent *xevent; - GtkForm *form; -*************** -*** 821,829 **** - * there is no corresponding event in GTK, so we have - * to get the events from a filter - */ -- /*ARGSUSED1*/ - static GdkFilterReturn -! gtk_form_main_filter(GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) - { - XEvent *xevent; - GtkForm *form; ---- 818,827 ---- - * there is no corresponding event in GTK, so we have - * to get the events from a filter - */ - static GdkFilterReturn -! gtk_form_main_filter(GdkXEvent *gdk_xevent, -! GdkEvent *event UNUSED, -! gpointer data) - { - XEvent *xevent; - GtkForm *form; -*************** -*** 911,919 **** - #endif - } - -- /*ARGSUSED0*/ - static void -! gtk_form_child_map(GtkWidget *widget, gpointer user_data) - { - GtkFormChild *child; - ---- 909,916 ---- - #endif - } - - static void -! gtk_form_child_map(GtkWidget *widget UNUSED, gpointer user_data) - { - GtkFormChild *child; - -*************** -*** 923,931 **** - gdk_window_show(child->window); - } - -- /*ARGSUSED0*/ - static void -! gtk_form_child_unmap(GtkWidget *widget, gpointer user_data) - { - GtkFormChild *child; - ---- 920,927 ---- - gdk_window_show(child->window); - } - - static void -! gtk_form_child_unmap(GtkWidget *widget UNUSED, gpointer user_data) - { - GtkFormChild *child; - -*** ../vim-7.2.180/src/gui_beval.c 2009-03-18 12:20:35.000000000 +0100 ---- src/gui_beval.c 2009-05-17 15:53:22.000000000 +0200 -*************** -*** 15,21 **** - /* - * Common code, invoked when the mouse is resting for a moment. - */ -- /*ARGSUSED*/ - void - general_beval_cb(beval, state) - BalloonEval *beval; ---- 15,20 ---- -*************** -*** 551,559 **** - return FALSE; /* continue emission */ - } - -- /*ARGSUSED*/ - static gint -! mainwin_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data) - { - BalloonEval *beval = (BalloonEval *)data; - ---- 550,557 ---- - return FALSE; /* continue emission */ - } - - static gint -! mainwin_event_cb(GtkWidget *widget UNUSED, GdkEvent *event, gpointer data) - { - BalloonEval *beval = (BalloonEval *)data; - -*************** -*** 663,671 **** - return FALSE; /* don't call me again */ - } - -- /*ARGSUSED2*/ - static gint -! balloon_expose_event_cb(GtkWidget *widget, GdkEventExpose *event, gpointer data) - { - gtk_paint_flat_box(widget->style, widget->window, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, ---- 661,670 ---- - return FALSE; /* don't call me again */ - } - - static gint -! balloon_expose_event_cb(GtkWidget *widget, -! GdkEventExpose *event, -! gpointer data UNUSED) - { - gtk_paint_flat_box(widget->style, widget->window, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, -*************** -*** 676,682 **** - } - - # ifndef HAVE_GTK2 -- /*ARGSUSED2*/ - static void - balloon_draw_cb(GtkWidget *widget, GdkRectangle *area, gpointer data) - { ---- 675,680 ---- -*************** -*** 726,732 **** - /* - * The X event handler. All it does is call the real event handler. - */ -- /*ARGSUSED*/ - static void - pointerEventEH(w, client_data, event, unused) - Widget w; ---- 724,729 ---- -*************** -*** 877,883 **** - } - } - -- /*ARGSUSED*/ - static void - timerRoutine(dx, id) - XtPointer dx; ---- 874,879 ---- -*** ../vim-7.2.180/src/netbeans.c 2009-02-21 22:12:43.000000000 +0100 ---- src/netbeans.c 2009-05-17 15:51:14.000000000 +0200 -*************** -*** 700,706 **** - /* - * Read and process a command from netbeans. - */ -- /*ARGSUSED*/ - #if defined(FEAT_GUI_W32) || defined(PROTO) - /* Use this one when generating prototypes, the others are static. */ - void ---- 700,705 ---- -*************** -*** 708,719 **** - #else - # ifdef FEAT_GUI_MOTIF - static void -! messageFromNetbeans(XtPointer clientData, int *unused1, XtInputId *unused2) - # endif - # ifdef FEAT_GUI_GTK - static void -! messageFromNetbeans(gpointer clientData, gint unused1, -! GdkInputCondition unused2) - # endif - #endif - { ---- 707,721 ---- - #else - # ifdef FEAT_GUI_MOTIF - static void -! messageFromNetbeans(XtPointer clientData UNUSED -! int *unused1 UNUSED, -! XtInputId *unused2 UNUSED) - # endif - # ifdef FEAT_GUI_GTK - static void -! messageFromNetbeans(gpointer clientData UNUSED, -! gint unused1 UNUSED, -! GdkInputCondition unused2 UNUSED) - # endif - #endif - { -*************** -*** 1585,1591 **** ---- 1587,1595 ---- - buf_delsign(buf->bufp, id); - } - else -+ { - nbdebug((" No sign on line %d\n", i)); -+ } - } - - nbdebug((" Deleting lines %d through %d\n", del_from_lnum, del_to_lnum)); -*************** -*** 2144,2150 **** ---- 2148,2156 ---- - #endif - } - else -+ { - nbdebug((" BAD POSITION in setDot: %s\n", s)); -+ } - - /* gui_update_cursor(TRUE, FALSE); */ - /* update_curbuf(NOT_VALID); */ -*************** -*** 2744,2754 **** - * cursor and sends it to the debugger for evaluation. The debugger should - * respond with a showBalloon command when there is a useful result. - */ -- /*ARGSUSED*/ - void - netbeans_beval_cb( - BalloonEval *beval, -! int state) - { - win_T *wp; - char_u *text; ---- 2750,2759 ---- - * cursor and sends it to the debugger for evaluation. The debugger should - * respond with a showBalloon command when there is a useful result. - */ - void - netbeans_beval_cb( - BalloonEval *beval, -! int state UNUSED) - { - win_T *wp; - char_u *text; -*************** -*** 3061,3069 **** - /* - * Send netbeans an unmodufied command. - */ -- /*ARGSUSED*/ - void -! netbeans_unmodified(buf_T *bufp) - { - #if 0 - char_u buf[128]; ---- 3066,3073 ---- - /* - * Send netbeans an unmodufied command. - */ - void -! netbeans_unmodified(buf_T *bufp UNUSED) - { - #if 0 - char_u buf[128]; -*************** -*** 3370,3382 **** - * buf->signmapused[] maps buffer-local annotation IDs to an index in - * globalsignmap[]. - */ -- /*ARGSUSED*/ - static void - addsigntype( - nbbuf_T *buf, - int typeNum, - char_u *typeName, -! char_u *tooltip, - char_u *glyphFile, - int use_fg, - int fg, ---- 3374,3385 ---- - * buf->signmapused[] maps buffer-local annotation IDs to an index in - * globalsignmap[]. - */ - static void - addsigntype( - nbbuf_T *buf, - int typeNum, - char_u *typeName, -! char_u *tooltip UNUSED, - char_u *glyphFile, - int use_fg, - int fg, -*** ../vim-7.2.180/src/version.c 2009-05-17 13:30:58.000000000 +0200 ---- src/version.c 2009-05-17 16:07:26.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 181, - /**/ - --- -I am always surprised in the Linux world how quickly solutions can be -obtained. (Imagine sending an email to Bill Gates, asking why Windows -crashed, and how to fix it... and then getting an answer that fixed the -problem... <0>_<0> !) -- Mark Langdon - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.182 --- a/components/vim/vim72-patches/7.2.182 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.182 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.182 (after 7.2.181) -Problem: Compilation problems after previous patch for Motif. Gvim with - GTK crashes on startup. -Solution: Add comma. Init form structure to zeroes. -Files: src/netbeans.c, src/gui_gtk_f.c - - -*** ../vim-7.2.181/src/netbeans.c 2009-05-17 16:23:20.000000000 +0200 ---- src/netbeans.c 2009-05-17 22:34:11.000000000 +0200 -*************** -*** 707,713 **** - #else - # ifdef FEAT_GUI_MOTIF - static void -! messageFromNetbeans(XtPointer clientData UNUSED - int *unused1 UNUSED, - XtInputId *unused2 UNUSED) - # endif ---- 707,713 ---- - #else - # ifdef FEAT_GUI_MOTIF - static void -! messageFromNetbeans(XtPointer clientData UNUSED, - int *unused1 UNUSED, - XtInputId *unused2 UNUSED) - # endif -*** ../vim-7.2.181/src/gui_gtk_f.c 2009-05-17 16:23:20.000000000 +0200 ---- src/gui_gtk_f.c 2009-05-17 23:20:41.000000000 +0200 -*************** -*** 229,234 **** ---- 229,235 ---- - { - GtkTypeInfo form_info; - -+ vim_memset(&form_info, 0, sizeof(form_info)); - form_info.type_name = "GtkForm"; - form_info.object_size = sizeof(GtkForm); - form_info.class_size = sizeof(GtkFormClass); -*** ../vim-7.2.181/src/version.c 2009-05-17 16:23:20.000000000 +0200 ---- src/version.c 2009-05-17 23:21:41.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 182, - /**/ - --- -We apologise again for the fault in the subtitles. Those responsible for -sacking the people who have just been sacked have been sacked. - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.183 --- a/components/vim/vim72-patches/7.2.183 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1846 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.183 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.183 -Problem: Configure problem for sys/sysctl.h on OpenBSD. (Dasn) -Solution: Add separate check for this header file. Also switch to newer - version of autoconf. -Files: src/auto/configure, src/configure.in - - -*** ../vim-7.2.182/src/auto/configure 2009-05-14 22:19:19.000000000 +0200 ---- src/auto/configure 2009-05-16 13:32:16.000000000 +0200 -*************** -*** 1,6 **** - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. -! # Generated by GNU Autoconf 2.62. - # - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, - # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ---- 1,6 ---- - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. -! # Generated by GNU Autoconf 2.63. - # - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, - # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -*************** -*** 635,772 **** - # include - #endif" - -! ac_subst_vars='SHELL -! PATH_SEPARATOR -! PACKAGE_NAME -! PACKAGE_TARNAME -! PACKAGE_VERSION -! PACKAGE_STRING -! PACKAGE_BUGREPORT -! exec_prefix -! prefix -! program_transform_name -! bindir -! sbindir -! libexecdir -! datarootdir -! datadir -! sysconfdir -! sharedstatedir -! localstatedir -! includedir -! oldincludedir -! docdir -! infodir -! htmldir -! dvidir -! pdfdir -! psdir -! libdir -! localedir -! mandir -! DEFS -! ECHO_C -! ECHO_N -! ECHO_T -! LIBS -! build_alias -! host_alias -! target_alias -! SET_MAKE -! CC -! CFLAGS -! LDFLAGS -! CPPFLAGS -! ac_ct_CC -! EXEEXT -! OBJEXT -! CPP -! GREP -! EGREP -! AWK -! STRIP -! CPP_MM -! OS_EXTRA_SRC -! OS_EXTRA_OBJ -! VIMNAME -! EXNAME -! VIEWNAME -! line_break -! dovimdiff -! dogvimdiff -! compiledby -! vi_cv_path_mzscheme -! MZSCHEME_SRC -! MZSCHEME_OBJ -! MZSCHEME_PRO -! MZSCHEME_LIBS -! MZSCHEME_CFLAGS -! vi_cv_path_perl -! vi_cv_perllib -! shrpenv -! PERL_SRC -! PERL_OBJ -! PERL_PRO -! PERL_CFLAGS -! PERL_LIBS -! vi_cv_path_python -! PYTHON_CONFDIR -! PYTHON_LIBS -! PYTHON_GETPATH_CFLAGS -! PYTHON_CFLAGS -! PYTHON_SRC -! PYTHON_OBJ -! vi_cv_path_tcl -! TCL_SRC -! TCL_OBJ -! TCL_PRO -! TCL_CFLAGS -! TCL_LIBS -! vi_cv_path_ruby -! RUBY_SRC -! RUBY_OBJ -! RUBY_PRO -! RUBY_CFLAGS -! RUBY_LIBS -! WORKSHOP_SRC -! WORKSHOP_OBJ -! NETBEANS_SRC -! NETBEANS_OBJ -! SNIFF_SRC -! SNIFF_OBJ -! xmkmfpath -! XMKMF -! X_CFLAGS -! X_PRE_LIBS -! X_LIBS -! X_EXTRA_LIBS -! X_LIB -! GTK_CONFIG -! GTK12_CONFIG -! PKG_CONFIG -! GTK_CFLAGS -! GTK_LIBS -! GTK_LIBNAME -! GNOME_LIBS -! GNOME_LIBDIR -! GNOME_INCLUDEDIR -! GNOME_CONFIG -! MOTIF_LIBNAME -! NARROW_PROTO -! GUI_INC_LOC -! GUI_LIB_LOC -! GUITYPE -! GUI_X_LIBS -! HANGULIN_SRC -! HANGULIN_OBJ -! TAGPRG -! INSTALL_LANGS -! INSTALL_TOOL_LANGS -! MSGFMT -! MAKEMO -! DEPEND_CFLAGS_FILTER - LIBOBJS -! LTLIBOBJS' - ac_subst_files='' - ac_user_opts=' - enable_option_checking ---- 635,772 ---- - # include - #endif" - -! ac_subst_vars='LTLIBOBJS - LIBOBJS -! DEPEND_CFLAGS_FILTER -! MAKEMO -! MSGFMT -! INSTALL_TOOL_LANGS -! INSTALL_LANGS -! TAGPRG -! HANGULIN_OBJ -! HANGULIN_SRC -! GUI_X_LIBS -! GUITYPE -! GUI_LIB_LOC -! GUI_INC_LOC -! NARROW_PROTO -! MOTIF_LIBNAME -! GNOME_CONFIG -! GNOME_INCLUDEDIR -! GNOME_LIBDIR -! GNOME_LIBS -! GTK_LIBNAME -! GTK_LIBS -! GTK_CFLAGS -! PKG_CONFIG -! GTK12_CONFIG -! GTK_CONFIG -! X_LIB -! X_EXTRA_LIBS -! X_LIBS -! X_PRE_LIBS -! X_CFLAGS -! XMKMF -! xmkmfpath -! SNIFF_OBJ -! SNIFF_SRC -! NETBEANS_OBJ -! NETBEANS_SRC -! WORKSHOP_OBJ -! WORKSHOP_SRC -! RUBY_LIBS -! RUBY_CFLAGS -! RUBY_PRO -! RUBY_OBJ -! RUBY_SRC -! vi_cv_path_ruby -! TCL_LIBS -! TCL_CFLAGS -! TCL_PRO -! TCL_OBJ -! TCL_SRC -! vi_cv_path_tcl -! PYTHON_OBJ -! PYTHON_SRC -! PYTHON_CFLAGS -! PYTHON_GETPATH_CFLAGS -! PYTHON_LIBS -! PYTHON_CONFDIR -! vi_cv_path_python -! PERL_LIBS -! PERL_CFLAGS -! PERL_PRO -! PERL_OBJ -! PERL_SRC -! shrpenv -! vi_cv_perllib -! vi_cv_path_perl -! MZSCHEME_CFLAGS -! MZSCHEME_LIBS -! MZSCHEME_PRO -! MZSCHEME_OBJ -! MZSCHEME_SRC -! vi_cv_path_mzscheme -! compiledby -! dogvimdiff -! dovimdiff -! line_break -! VIEWNAME -! EXNAME -! VIMNAME -! OS_EXTRA_OBJ -! OS_EXTRA_SRC -! CPP_MM -! STRIP -! AWK -! EGREP -! GREP -! CPP -! OBJEXT -! EXEEXT -! ac_ct_CC -! CPPFLAGS -! LDFLAGS -! CFLAGS -! CC -! SET_MAKE -! target_alias -! host_alias -! build_alias -! LIBS -! ECHO_T -! ECHO_N -! ECHO_C -! DEFS -! mandir -! localedir -! libdir -! psdir -! pdfdir -! dvidir -! htmldir -! infodir -! docdir -! oldincludedir -! includedir -! localstatedir -! sharedstatedir -! sysconfdir -! datadir -! datarootdir -! libexecdir -! sbindir -! bindir -! program_transform_name -! prefix -! exec_prefix -! PACKAGE_BUGREPORT -! PACKAGE_STRING -! PACKAGE_VERSION -! PACKAGE_TARNAME -! PACKAGE_NAME -! PATH_SEPARATOR -! SHELL' - ac_subst_files='' - ac_user_opts=' - enable_option_checking -*************** -*** 1253,1261 **** - if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; -! fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; -! *) $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac - fi - ---- 1253,1261 ---- - if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; -! fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 - { (exit 1); exit 1; }; } ;; -! *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac - fi - -*************** -*** 1308,1314 **** - ac_pwd=`pwd` && test -n "$ac_pwd" && - ac_ls_di=`ls -di .` && - ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -! { $as_echo "$as_me: error: Working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } - test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 ---- 1308,1314 ---- - ac_pwd=`pwd` && test -n "$ac_pwd" && - ac_ls_di=`ls -di .` && - ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || -! { $as_echo "$as_me: error: working directory cannot be determined" >&2 - { (exit 1); exit 1; }; } - test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - { $as_echo "$as_me: error: pwd does not report name of working directory" >&2 -*************** -*** 1587,1593 **** - if $ac_init_version; then - cat <<\_ACEOF - configure -! generated by GNU Autoconf 2.62 - - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ---- 1587,1593 ---- - if $ac_init_version; then - cat <<\_ACEOF - configure -! generated by GNU Autoconf 2.63 - - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, - 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. -*************** -*** 1601,1607 **** - running configure, to aid debugging if configure makes a mistake. - - It was created by $as_me, which was -! generated by GNU Autoconf 2.62. Invocation command line was - - $ $0 $@ - ---- 1601,1607 ---- - running configure, to aid debugging if configure makes a mistake. - - It was created by $as_me, which was -! generated by GNU Autoconf 2.63. Invocation command line was - - $ $0 $@ - -*************** -*** 1724,1731 **** - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( -! *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -! $as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( ---- 1724,1731 ---- - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( -! *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -! $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( -*************** -*** 1928,1933 **** ---- 1928,1935 ---- - fi - done - if $ac_cache_corrupted; then -+ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 - $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 -*************** -*** 2084,2095 **** - else - case $cross_compiling:$ac_tool_warned in - yes:) -! { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -! whose name does not start with the host triplet. If you think this -! configuration is useful to you, please write to autoconf@gnu.org." >&5 -! $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -! whose name does not start with the host triplet. If you think this -! configuration is useful to you, please write to autoconf@gnu.org." >&2;} - ac_tool_warned=yes ;; - esac - CC=$ac_ct_CC ---- 2086,2093 ---- - else - case $cross_compiling:$ac_tool_warned in - yes:) -! { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -! $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} - ac_tool_warned=yes ;; - esac - CC=$ac_ct_CC -*************** -*** 2288,2299 **** - else - case $cross_compiling:$ac_tool_warned in - yes:) -! { $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools -! whose name does not start with the host triplet. If you think this -! configuration is useful to you, please write to autoconf@gnu.org." >&5 -! $as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools -! whose name does not start with the host triplet. If you think this -! configuration is useful to you, please write to autoconf@gnu.org." >&2;} - ac_tool_warned=yes ;; - esac - CC=$ac_ct_CC ---- 2286,2293 ---- - else - case $cross_compiling:$ac_tool_warned in - yes:) -! { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 -! $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} - ac_tool_warned=yes ;; - esac - CC=$ac_ct_CC -*************** -*** 2303,2313 **** - fi - - -! test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: no acceptable C compiler found in \$PATH - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; } - - # Provide some information about the compiler. - $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 ---- 2297,2309 ---- - fi - - -! test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -! { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: no acceptable C compiler found in \$PATH - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; }; } - - # Provide some information about the compiler. - $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 -*************** -*** 2437,2447 **** - $as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - - { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: C compiler cannot create executables - See \`config.log' for more details." >&2;} -! { (exit 77); exit 77; }; } - fi - - ac_exeext=$ac_cv_exeext ---- 2433,2445 ---- - $as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - -+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: C compiler cannot create executables - See \`config.log' for more details." >&2;} -! { (exit 77); exit 77; }; }; } - fi - - ac_exeext=$ac_cv_exeext -*************** -*** 2469,2481 **** - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else -! { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. - If you meant to cross compile, use \`--host'. - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: cannot run C compiled programs. - If you meant to cross compile, use \`--host'. - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; } - fi - fi - fi ---- 2467,2481 ---- - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else -! { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -! { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs. - If you meant to cross compile, use \`--host'. - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: cannot run C compiled programs. - If you meant to cross compile, use \`--host'. - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; }; } - fi - fi - fi -*************** -*** 2518,2528 **** - esac - done - else -! { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; } - fi - - rm -f conftest$ac_cv_exeext ---- 2518,2530 ---- - esac - done - else -! { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -! { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; }; } - fi - - rm -f conftest$ac_cv_exeext -*************** -*** 2576,2586 **** - $as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; } - fi - - rm -f conftest.$ac_cv_objext conftest.$ac_ext ---- 2578,2590 ---- - $as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - -+ { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: cannot compute suffix of object files: cannot compile - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; }; } - fi - - rm -f conftest.$ac_cv_objext conftest.$ac_ext -*************** -*** 3148,3158 **** - if $ac_preproc_ok; then - : - else -! { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; } - fi - - ac_ext=c ---- 3152,3164 ---- - if $ac_preproc_ok; then - : - else -! { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 -! $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -! { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check - See \`config.log' for more details." >&5 - $as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check - See \`config.log' for more details." >&2;} -! { (exit 1); exit 1; }; }; } - fi - - ac_ext=c -*************** -*** 4016,4023 **** - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 4022,4030 ---- - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 4154,4160 **** - $as_echo "$ac_cv_header_Carbon_Carbon_h" >&6; } - - fi -! if test $ac_cv_header_Carbon_Carbon_h = yes; then - CARBON=yes - fi - ---- 4161,4167 ---- - $as_echo "$ac_cv_header_Carbon_Carbon_h" >&6; } - - fi -! if test "x$ac_cv_header_Carbon_Carbon_h" = x""yes; then - CARBON=yes - fi - -*************** -*** 4484,4490 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5 - $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; } -! if test $ac_cv_lib_selinux_is_selinux_enabled = yes; then - LIBS="$LIBS -lselinux" - cat >>confdefs.h <<\_ACEOF - #define HAVE_SELINUX 1 ---- 4491,4497 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5 - $as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; } -! if test "x$ac_cv_lib_selinux_is_selinux_enabled" = x""yes; then - LIBS="$LIBS -lselinux" - cat >>confdefs.h <<\_ACEOF - #define HAVE_SELINUX 1 -*************** -*** 5891,5897 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 - $as_echo "$ac_cv_lib_socket_socket" >&6; } -! if test $ac_cv_lib_socket_socket = yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBSOCKET 1 - _ACEOF ---- 5898,5904 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 - $as_echo "$ac_cv_lib_socket_socket" >&6; } -! if test "x$ac_cv_lib_socket_socket" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBSOCKET 1 - _ACEOF -*************** -*** 5966,5972 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 - $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } -! if test $ac_cv_lib_nsl_gethostbyname = yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBNSL 1 - _ACEOF ---- 5973,5979 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 - $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } -! if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBNSL 1 - _ACEOF -*************** -*** 6203,6210 **** - have_x=disabled - else - case $x_includes,$x_libraries in #( -! *\'*) { { $as_echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5 -! $as_echo "$as_me: error: Cannot use X directory names containing '" >&2;} - { (exit 1); exit 1; }; };; #( - *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then - $as_echo_n "(cached) " >&6 ---- 6210,6217 ---- - have_x=disabled - else - case $x_includes,$x_libraries in #( -! *\'*) { { $as_echo "$as_me:$LINENO: error: cannot use X directory names containing '" >&5 -! $as_echo "$as_me: error: cannot use X directory names containing '" >&2;} - { (exit 1); exit 1; }; };; #( - *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then - $as_echo_n "(cached) " >&6 -*************** -*** 6242,6248 **** - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; - esac - case $ac_im_usrlibdir in -! /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; - esac - fi ---- 6249,6255 ---- - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; - esac - case $ac_im_usrlibdir in -! /usr/lib | /usr/lib64 | /lib | /lib64) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; - esac - fi -*************** -*** 6682,6688 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 - $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } -! if test $ac_cv_lib_dnet_dnet_ntoa = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" - fi - ---- 6689,6695 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 - $as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } -! if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" - fi - -*************** -*** 6752,6758 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 - $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } -! if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" - fi - ---- 6759,6765 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 - $as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } -! if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" - fi - -*************** -*** 6924,6930 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 - $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } -! if test $ac_cv_lib_nsl_gethostbyname = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" - fi - ---- 6931,6937 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 - $as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } -! if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" - fi - -*************** -*** 6994,7000 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 - $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } -! if test $ac_cv_lib_bsd_gethostbyname = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" - fi - ---- 7001,7007 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 - $as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } -! if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" - fi - -*************** -*** 7160,7166 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 - $as_echo "$ac_cv_lib_socket_connect" >&6; } -! if test $ac_cv_lib_socket_connect = yes; then - X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" - fi - ---- 7167,7173 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 - $as_echo "$ac_cv_lib_socket_connect" >&6; } -! if test "x$ac_cv_lib_socket_connect" = x""yes; then - X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" - fi - -*************** -*** 7319,7325 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 - $as_echo "$ac_cv_lib_posix_remove" >&6; } -! if test $ac_cv_lib_posix_remove = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" - fi - ---- 7326,7332 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 - $as_echo "$ac_cv_lib_posix_remove" >&6; } -! if test "x$ac_cv_lib_posix_remove" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" - fi - -*************** -*** 7478,7484 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 - $as_echo "$ac_cv_lib_ipc_shmat" >&6; } -! if test $ac_cv_lib_ipc_shmat = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" - fi - ---- 7485,7491 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 - $as_echo "$ac_cv_lib_ipc_shmat" >&6; } -! if test "x$ac_cv_lib_ipc_shmat" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" - fi - -*************** -*** 7559,7565 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 - $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } -! if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then - X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" - fi - ---- 7566,7572 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 - $as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } -! if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then - X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" - fi - -*************** -*** 7727,7733 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5 - $as_echo "$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6; } -! if test $ac_cv_lib_Xdmcp__XdmcpAuthDoIt = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp" - fi - ---- 7734,7740 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5 - $as_echo "$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6; } -! if test "x$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp" - fi - -*************** -*** 7797,7803 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceOpenConnection" >&5 - $as_echo "$ac_cv_lib_ICE_IceOpenConnection" >&6; } -! if test $ac_cv_lib_ICE_IceOpenConnection = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE" - fi - ---- 7804,7810 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceOpenConnection" >&5 - $as_echo "$ac_cv_lib_ICE_IceOpenConnection" >&6; } -! if test "x$ac_cv_lib_ICE_IceOpenConnection" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE" - fi - -*************** -*** 7868,7874 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5 - $as_echo "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6; } -! if test $ac_cv_lib_Xpm_XpmCreatePixmapFromData = yes; then - X_PRE_LIBS="$X_PRE_LIBS -lXpm" - fi - ---- 7875,7881 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5 - $as_echo "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6; } -! if test "x$ac_cv_lib_Xpm_XpmCreatePixmapFromData" = x""yes; then - X_PRE_LIBS="$X_PRE_LIBS -lXpm" - fi - -*************** -*** 9251,9257 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5 - $as_echo "$ac_cv_lib_Xext_XShapeQueryExtension" >&6; } -! if test $ac_cv_lib_Xext_XShapeQueryExtension = yes; then - GUI_X_LIBS="-lXext" - fi - ---- 9258,9264 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5 - $as_echo "$ac_cv_lib_Xext_XShapeQueryExtension" >&6; } -! if test "x$ac_cv_lib_Xext_XShapeQueryExtension" = x""yes; then - GUI_X_LIBS="-lXext" - fi - -*************** -*** 9320,9326 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_w_wslen" >&5 - $as_echo "$ac_cv_lib_w_wslen" >&6; } -! if test $ac_cv_lib_w_wslen = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lw" - fi - ---- 9327,9333 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_w_wslen" >&5 - $as_echo "$ac_cv_lib_w_wslen" >&6; } -! if test "x$ac_cv_lib_w_wslen" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -lw" - fi - -*************** -*** 9389,9395 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5 - $as_echo "$ac_cv_lib_dl_dlsym" >&6; } -! if test $ac_cv_lib_dl_dlsym = yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl" - fi - ---- 9396,9402 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5 - $as_echo "$ac_cv_lib_dl_dlsym" >&6; } -! if test "x$ac_cv_lib_dl_dlsym" = x""yes; then - X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl" - fi - -*************** -*** 9458,9464 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5 - $as_echo "$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6; } -! if test $ac_cv_lib_Xmu_XmuCreateStippledPixmap = yes; then - GUI_X_LIBS="-lXmu $GUI_X_LIBS" - fi - ---- 9465,9471 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5 - $as_echo "$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6; } -! if test "x$ac_cv_lib_Xmu_XmuCreateStippledPixmap" = x""yes; then - GUI_X_LIBS="-lXmu $GUI_X_LIBS" - fi - -*************** -*** 9528,9534 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xp_XpEndJob" >&5 - $as_echo "$ac_cv_lib_Xp_XpEndJob" >&6; } -! if test $ac_cv_lib_Xp_XpEndJob = yes; then - GUI_X_LIBS="-lXp $GUI_X_LIBS" - fi - ---- 9535,9541 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xp_XpEndJob" >&5 - $as_echo "$ac_cv_lib_Xp_XpEndJob" >&6; } -! if test "x$ac_cv_lib_Xp_XpEndJob" = x""yes; then - GUI_X_LIBS="-lXp $GUI_X_LIBS" - fi - -*************** -*** 9699,9706 **** - $as_echo "$ac_res" >&6; } - - fi -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 9706,9714 ---- - $as_echo "$ac_res" >&6; } - - fi -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 9852,9859 **** - $as_echo "$ac_res" >&6; } - - fi -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 9860,9868 ---- - $as_echo "$ac_res" >&6; } - - fi -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 10098,10105 **** - $as_echo "$ac_res" >&6; } - - fi -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 10107,10115 ---- - $as_echo "$ac_res" >&6; } - - fi -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 10539,10545 **** - $as_echo "$ac_cv_header_elf_h" >&6; } - - fi -! if test $ac_cv_header_elf_h = yes; then - HAS_ELF=1 - fi - ---- 10549,10555 ---- - $as_echo "$ac_cv_header_elf_h" >&6; } - - fi -! if test "x$ac_cv_header_elf_h" = x""yes; then - HAS_ELF=1 - fi - -*************** -*** 10605,10611 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5 - $as_echo "$ac_cv_lib_elf_main" >&6; } -! if test $ac_cv_lib_elf_main = yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBELF 1 - _ACEOF ---- 10615,10621 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5 - $as_echo "$ac_cv_lib_elf_main" >&6; } -! if test "x$ac_cv_lib_elf_main" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBELF 1 - _ACEOF -*************** -*** 10679,10686 **** - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 - _ACEOF ---- 10689,10697 ---- - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 10966,10972 **** - - - -- - for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \ - termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \ - iconv.h langinfo.h math.h unistd.h stropts.h errno.h \ ---- 10977,10982 ---- -*************** -*** 10974,10980 **** - sys/stream.h termios.h libc.h sys/statfs.h \ - poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \ - libgen.h util/debug.h util/msg18n.h frame.h \ -! sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h - do - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` - if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then ---- 10984,10990 ---- - sys/stream.h termios.h libc.h sys/statfs.h \ - poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \ - libgen.h util/debug.h util/msg18n.h frame.h \ -! sys/acl.h sys/access.h sys/sysinfo.h wchar.h wctype.h - do - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` - if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -*************** -*** 11108,11115 **** - $as_echo "$ac_res" >&6; } - - fi -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 11118,11126 ---- - $as_echo "$ac_res" >&6; } - - fi -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 11172,11179 **** - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 11183,11256 ---- - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then -! cat >>confdefs.h <<_ACEOF -! #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -! _ACEOF -! -! fi -! -! done -! -! -! -! for ac_header in sys/sysctl.h -! do -! as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -! { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -! $as_echo_n "checking for $ac_header... " >&6; } -! if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -! $as_echo_n "(cached) " >&6 -! else -! cat >conftest.$ac_ext <<_ACEOF -! /* confdefs.h. */ -! _ACEOF -! cat confdefs.h >>conftest.$ac_ext -! cat >>conftest.$ac_ext <<_ACEOF -! /* end confdefs.h. */ -! #if defined HAVE_SYS_PARAM_H -! # include -! #endif -! -! #include <$ac_header> -! _ACEOF -! rm -f conftest.$ac_objext -! if { (ac_try="$ac_compile" -! case "(($ac_try" in -! *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -! *) ac_try_echo=$ac_try;; -! esac -! eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -! $as_echo "$ac_try_echo") >&5 -! (eval "$ac_compile") 2>conftest.er1 -! ac_status=$? -! grep -v '^ *+' conftest.er1 >conftest.err -! rm -f conftest.er1 -! cat conftest.err >&5 -! $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -! (exit $ac_status); } && { -! test -z "$ac_c_werror_flag" || -! test ! -s conftest.err -! } && test -s conftest.$ac_objext; then -! eval "$as_ac_Header=yes" -! else -! $as_echo "$as_me: failed program was:" >&5 -! sed 's/^/| /' conftest.$ac_ext >&5 -! -! eval "$as_ac_Header=no" -! fi -! -! rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -! fi -! ac_res=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 -! $as_echo "$ac_res" >&6; } -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 11372,11379 **** - $as_echo "$ac_res" >&6; } - - fi -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 11449,11457 ---- - $as_echo "$ac_res" >&6; } - - fi -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 11770,11776 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 - $as_echo "$ac_cv_type_mode_t" >&6; } -! if test $ac_cv_type_mode_t = yes; then - : - else - ---- 11848,11854 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5 - $as_echo "$ac_cv_type_mode_t" >&6; } -! if test "x$ac_cv_type_mode_t" = x""yes; then - : - else - -*************** -*** 11874,11880 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 - $as_echo "$ac_cv_type_off_t" >&6; } -! if test $ac_cv_type_off_t = yes; then - : - else - ---- 11952,11958 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 - $as_echo "$ac_cv_type_off_t" >&6; } -! if test "x$ac_cv_type_off_t" = x""yes; then - : - else - -*************** -*** 11978,11984 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 - $as_echo "$ac_cv_type_pid_t" >&6; } -! if test $ac_cv_type_pid_t = yes; then - : - else - ---- 12056,12062 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 - $as_echo "$ac_cv_type_pid_t" >&6; } -! if test "x$ac_cv_type_pid_t" = x""yes; then - : - else - -*************** -*** 12082,12088 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 - $as_echo "$ac_cv_type_size_t" >&6; } -! if test $ac_cv_type_size_t = yes; then - : - else - ---- 12160,12166 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 - $as_echo "$ac_cv_type_size_t" >&6; } -! if test "x$ac_cv_type_size_t" = x""yes; then - : - else - -*************** -*** 12286,12292 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5 - $as_echo "$ac_cv_type_ino_t" >&6; } -! if test $ac_cv_type_ino_t = yes; then - : - else - ---- 12364,12370 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5 - $as_echo "$ac_cv_type_ino_t" >&6; } -! if test "x$ac_cv_type_ino_t" = x""yes; then - : - else - -*************** -*** 12390,12396 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_dev_t" >&5 - $as_echo "$ac_cv_type_dev_t" >&6; } -! if test $ac_cv_type_dev_t = yes; then - : - else - ---- 12468,12474 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_type_dev_t" >&5 - $as_echo "$ac_cv_type_dev_t" >&6; } -! if test "x$ac_cv_type_dev_t" = x""yes; then - : - else - -*************** -*** 12680,12687 **** - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! if test `eval 'as_val=${'$as_ac_Lib'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1 - _ACEOF ---- 12758,12766 ---- - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! as_val=`eval 'as_val=${'$as_ac_Lib'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 13929,13936 **** - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! if test `eval 'as_val=${'$as_ac_var'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 - _ACEOF ---- 14008,14016 ---- - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! as_val=`eval 'as_val=${'$as_ac_var'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 14313,14319 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_strtod" >&5 - $as_echo "$ac_cv_lib_m_strtod" >&6; } -! if test $ac_cv_lib_m_strtod = yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBM 1 - _ACEOF ---- 14393,14399 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_strtod" >&5 - $as_echo "$ac_cv_lib_m_strtod" >&6; } -! if test "x$ac_cv_lib_m_strtod" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define HAVE_LIBM 1 - _ACEOF -*************** -*** 14473,14479 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix1e_acl_get_file" >&5 - $as_echo "$ac_cv_lib_posix1e_acl_get_file" >&6; } -! if test $ac_cv_lib_posix1e_acl_get_file = yes; then - LIBS="$LIBS -lposix1e" - else - { $as_echo "$as_me:$LINENO: checking for acl_get_file in -lacl" >&5 ---- 14553,14559 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix1e_acl_get_file" >&5 - $as_echo "$ac_cv_lib_posix1e_acl_get_file" >&6; } -! if test "x$ac_cv_lib_posix1e_acl_get_file" = x""yes; then - LIBS="$LIBS -lposix1e" - else - { $as_echo "$as_me:$LINENO: checking for acl_get_file in -lacl" >&5 -*************** -*** 14541,14547 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_acl_acl_get_file" >&5 - $as_echo "$ac_cv_lib_acl_acl_get_file" >&6; } -! if test $ac_cv_lib_acl_acl_get_file = yes; then - LIBS="$LIBS -lacl" - { $as_echo "$as_me:$LINENO: checking for fgetxattr in -lattr" >&5 - $as_echo_n "checking for fgetxattr in -lattr... " >&6; } ---- 14621,14627 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_acl_acl_get_file" >&5 - $as_echo "$ac_cv_lib_acl_acl_get_file" >&6; } -! if test "x$ac_cv_lib_acl_acl_get_file" = x""yes; then - LIBS="$LIBS -lacl" - { $as_echo "$as_me:$LINENO: checking for fgetxattr in -lattr" >&5 - $as_echo_n "checking for fgetxattr in -lattr... " >&6; } -*************** -*** 14608,14614 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_attr_fgetxattr" >&5 - $as_echo "$ac_cv_lib_attr_fgetxattr" >&6; } -! if test $ac_cv_lib_attr_fgetxattr = yes; then - LIBS="$LIBS -lattr" - fi - ---- 14688,14694 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_attr_fgetxattr" >&5 - $as_echo "$ac_cv_lib_attr_fgetxattr" >&6; } -! if test "x$ac_cv_lib_attr_fgetxattr" = x""yes; then - LIBS="$LIBS -lattr" - fi - -*************** -*** 15746,15752 **** - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5 - $as_echo "$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6; } -! if test $ac_cv_lib_xpg4__xpg4_setrunelocale = yes; then - LIBS="$LIBS -lxpg4" - fi - ---- 15826,15832 ---- - fi - { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5 - $as_echo "$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6; } -! if test "x$ac_cv_lib_xpg4__xpg4_setrunelocale" = x""yes; then - LIBS="$LIBS -lxpg4" - fi - -*************** -*** 16045,16052 **** - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! if test `eval 'as_val=${'$as_ac_var'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 - _ACEOF ---- 16125,16133 ---- - $as_echo "$as_val"'` - { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 - $as_echo "$ac_res" >&6; } -! as_val=`eval 'as_val=${'$as_ac_var'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 16246,16252 **** - $as_echo "$ac_cv_header_dlfcn_h" >&6; } - - fi -! if test $ac_cv_header_dlfcn_h = yes; then - DLL=dlfcn.h - else - if test "${ac_cv_header_dl_h+set}" = set; then ---- 16327,16333 ---- - $as_echo "$ac_cv_header_dlfcn_h" >&6; } - - fi -! if test "x$ac_cv_header_dlfcn_h" = x""yes; then - DLL=dlfcn.h - else - if test "${ac_cv_header_dl_h+set}" = set; then -*************** -*** 16376,16382 **** - $as_echo "$ac_cv_header_dl_h" >&6; } - - fi -! if test $ac_cv_header_dl_h = yes; then - DLL=dl.h - fi - ---- 16457,16463 ---- - $as_echo "$ac_cv_header_dl_h" >&6; } - - fi -! if test "x$ac_cv_header_dl_h" = x""yes; then - DLL=dl.h - fi - -*************** -*** 16895,16902 **** - $as_echo "$ac_res" >&6; } - - fi -! if test `eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` = yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF ---- 16976,16984 ---- - $as_echo "$ac_res" >&6; } - - fi -! as_val=`eval 'as_val=${'$as_ac_Header'} -! $as_echo "$as_val"'` -! if test "x$as_val" = x""yes; then - cat >>confdefs.h <<_ACEOF - #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 - _ACEOF -*************** -*** 16986,16993 **** - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( -! *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 -! $as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( ---- 17068,17075 ---- - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( -! *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 -! $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( -*************** -*** 17379,17385 **** - # values after options handling. - ac_log=" - This file was extended by $as_me, which was -! generated by GNU Autoconf 2.62. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS ---- 17461,17467 ---- - # values after options handling. - ac_log=" - This file was extended by $as_me, which was -! generated by GNU Autoconf 2.63. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS -*************** -*** 17392,17397 **** ---- 17474,17488 ---- - - _ACEOF - -+ case $ac_config_files in *" -+ "*) set x $ac_config_files; shift; ac_config_files=$*;; -+ esac -+ -+ case $ac_config_headers in *" -+ "*) set x $ac_config_headers; shift; ac_config_headers=$*;; -+ esac -+ -+ - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - # Files that config.status was made for. - config_files="$ac_config_files" -*************** -*** 17404,17419 **** - \`$as_me' instantiates files from templates according to the - current configuration. - -! Usage: $0 [OPTIONS] [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit -! -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions -! --file=FILE[:TEMPLATE] - instantiate the configuration file FILE -! --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - - Configuration files: ---- 17495,17511 ---- - \`$as_me' instantiates files from templates according to the - current configuration. - -! Usage: $0 [OPTION]... [FILE]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit -! -q, --quiet, --silent -! do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions -! --file=FILE[:TEMPLATE] - instantiate the configuration file FILE -! --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - - Configuration files: -*************** -*** 17428,17434 **** - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_cs_version="\\ - config.status -! configured by $0, generated by GNU Autoconf 2.62, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - - Copyright (C) 2008 Free Software Foundation, Inc. ---- 17520,17526 ---- - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_cs_version="\\ - config.status -! configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - - Copyright (C) 2008 Free Software Foundation, Inc. -*************** -*** 17625,17631 **** - $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - -! if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 ---- 17717,17724 ---- - $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} - { (exit 1); exit 1; }; } - -! ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` -! if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 -*************** -*** 17830,17838 **** - } - split(mac1, mac2, "(") #) - macro = mac2[1] - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". -- prefix = substr(line, 1, index(line, defundef) - 1) - print prefix "define", macro P[macro] D[macro] - next - } else { ---- 17923,17931 ---- - } - split(mac1, mac2, "(") #) - macro = mac2[1] -+ prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { -*************** -*** 17840,17846 **** - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { -! print "/*", line, "*/" - next - } - } ---- 17933,17939 ---- - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { -! print "/*", prefix defundef, macro, "*/" - next - } - } -*************** -*** 17864,17871 **** - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; -! :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 -! $as_echo "$as_me: error: Invalid tag $ac_tag." >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; ---- 17957,17964 ---- - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; -! :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 -! $as_echo "$as_me: error: invalid tag $ac_tag" >&2;} - { (exit 1); exit 1; }; };; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; -*************** -*** 18183,18190 **** - $ac_cs_success || { (exit 1); exit 1; } - fi - if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -! { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5 -! $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;} - fi - - ---- 18276,18283 ---- - $ac_cs_success || { (exit 1); exit 1; } - fi - if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then -! { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -! $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} - fi - - -*** ../vim-7.2.182/src/configure.in 2009-05-14 22:19:19.000000000 +0200 ---- src/configure.in 2009-05-16 13:32:00.000000000 +0200 -*************** -*** 2100,2106 **** - sys/stream.h termios.h libc.h sys/statfs.h \ - poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \ - libgen.h util/debug.h util/msg18n.h frame.h \ -! sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h) - - dnl sys/ptem.h depends on sys/stream.h on Solaris - AC_CHECK_HEADERS(sys/ptem.h, [], [], ---- 2100,2106 ---- - sys/stream.h termios.h libc.h sys/statfs.h \ - poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \ - libgen.h util/debug.h util/msg18n.h frame.h \ -! sys/acl.h sys/access.h sys/sysinfo.h wchar.h wctype.h) - - dnl sys/ptem.h depends on sys/stream.h on Solaris - AC_CHECK_HEADERS(sys/ptem.h, [], [], -*************** -*** 2108,2113 **** ---- 2108,2119 ---- - # include - #endif]) - -+ dnl sys/sysctl.h depends on sys/param.h on OpenBSD -+ AC_CHECK_HEADERS(sys/sysctl.h, [], [], -+ [#if defined HAVE_SYS_PARAM_H -+ # include -+ #endif]) -+ - - dnl pthread_np.h may exist but can only be used after including pthread.h - AC_MSG_CHECKING([for pthread_np.h]) -*** ../vim-7.2.182/src/version.c 2009-05-17 23:25:16.000000000 +0200 ---- src/version.c 2009-05-21 15:16:01.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 183, - /**/ - --- -CART DRIVER: Bring out your dead! - There are legs stick out of windows and doors. Two MEN are fighting in the - mud - covered from head to foot in it. Another MAN is on his hands in - knees shovelling mud into his mouth. We just catch sight of a MAN falling - into a well. - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.184 --- a/components/vim/vim72-patches/7.2.184 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3646 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.184 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.184 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. Autoconf check for wchar_t. -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/gui_athena.c, src/gui_x11.c, src/gui.c, src/gui_beval.c, - src/gui_at_sb.c, src/gui_at_fs.c, src/gui_motif.c, - src/gui_xmdlg.c, src/gui_xmebw.c, src/if_python.c, src/window.c, - src/workshop.c - - -*** ../vim-7.2.183/src/auto/configure 2009-05-21 15:19:59.000000000 +0200 ---- src/auto/configure 2009-05-21 16:05:01.000000000 +0200 -*************** -*** 7977,7982 **** ---- 7977,8058 ---- - - LDFLAGS="$ac_save_LDFLAGS" - -+ { $as_echo "$as_me:$LINENO: checking size of wchar_t is 2 bytes" >&5 -+ $as_echo_n "checking size of wchar_t is 2 bytes... " >&6; } -+ if test "${ac_cv_small_wchar_t+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ if test "$cross_compiling" = yes; then -+ { { $as_echo "$as_me:$LINENO: error: failed to compile test program" >&5 -+ $as_echo "$as_me: error: failed to compile test program" >&2;} -+ { (exit 1); exit 1; }; } -+ else -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ -+ #include -+ #if STDC_HEADERS -+ # include -+ # include -+ #endif -+ main() -+ { -+ if (sizeof(wchar_t) <= 2) -+ exit(1); -+ exit(0); -+ } -+ _ACEOF -+ rm -f conftest$ac_exeext -+ if { (ac_try="$ac_link" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { ac_try='./conftest$ac_exeext' -+ { (case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; }; then -+ ac_cv_small_wchar_t="no" -+ else -+ $as_echo "$as_me: program exited with status $ac_status" >&5 -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ( exit $ac_status ) -+ ac_cv_small_wchar_t="yes" -+ fi -+ rm -rf conftest.dSYM -+ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext -+ fi -+ -+ -+ fi -+ -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_small_wchar_t" >&5 -+ $as_echo "$ac_cv_small_wchar_t" >&6; } -+ if test "x$ac_cv_small_wchar_t" = "xyes" ; then -+ cat >>confdefs.h <<\_ACEOF -+ #define SMALL_WCHAR_T 1 -+ _ACEOF -+ -+ fi -+ - fi - fi - -*************** -*** 15417,15423 **** - - - -- - bcopy_test_prog=' - #include "confdefs.h" - #ifdef HAVE_STRING_H ---- 15493,15498 ---- -*** ../vim-7.2.183/src/config.h.in 2009-05-14 22:19:19.000000000 +0200 ---- src/config.h.in 2009-05-21 15:44:24.000000000 +0200 -*************** -*** 39,44 **** ---- 39,47 ---- - /* Defined to the size of an int */ - #undef SIZEOF_INT - -+ /* Define when wchar_t is only 2 bytes. */ -+ #undef SMALL_WCHAR_T -+ - /* - * If we cannot trust one of the following from the libraries, we use our - * own safe but probably slower vim_memmove(). -*** ../vim-7.2.183/src/configure.in 2009-05-21 15:19:59.000000000 +0200 ---- src/configure.in 2009-05-21 16:04:56.000000000 +0200 -*************** -*** 1193,1198 **** ---- 1193,1220 ---- - - LDFLAGS="$ac_save_LDFLAGS" - -+ AC_MSG_CHECKING(size of wchar_t is 2 bytes) -+ AC_CACHE_VAL(ac_cv_small_wchar_t, -+ [AC_TRY_RUN([ -+ #include -+ #if STDC_HEADERS -+ # include -+ # include -+ #endif -+ main() -+ { -+ if (sizeof(wchar_t) <= 2) -+ exit(1); -+ exit(0); -+ }], -+ ac_cv_small_wchar_t="no", -+ ac_cv_small_wchar_t="yes", -+ AC_MSG_ERROR(failed to compile test program))]) -+ AC_MSG_RESULT($ac_cv_small_wchar_t) -+ if test "x$ac_cv_small_wchar_t" = "xyes" ; then -+ AC_DEFINE(SMALL_WCHAR_T) -+ fi -+ - fi - fi - -*************** -*** 2881,2887 **** - AC_MSG_RESULT($ac_cv_sizeof_int) - AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int) - -- - dnl Check for memmove() before bcopy(), makes memmove() be used when both are - dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5. - ---- 2903,2908 ---- -*** ../vim-7.2.183/src/gui_athena.c 2008-06-24 23:00:51.000000000 +0200 ---- src/gui_athena.c 2009-05-21 16:39:43.000000000 +0200 -*************** -*** 86,95 **** - * Scrollbar callback (XtNjumpProc) for when the scrollbar is dragged with the - * left or middle mouse button. - */ -- /* ARGSUSED */ - static void - gui_athena_scroll_cb_jump(w, client_data, call_data) -! Widget w; - XtPointer client_data, call_data; - { - scrollbar_T *sb, *sb_info; ---- 86,94 ---- - * Scrollbar callback (XtNjumpProc) for when the scrollbar is dragged with the - * left or middle mouse button. - */ - static void - gui_athena_scroll_cb_jump(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data, call_data; - { - scrollbar_T *sb, *sb_info; -*************** -*** 122,131 **** - * Scrollbar callback (XtNscrollProc) for paging up or down with the left or - * right mouse buttons. - */ -- /* ARGSUSED */ - static void - gui_athena_scroll_cb_scroll(w, client_data, call_data) -! Widget w; - XtPointer client_data, call_data; - { - scrollbar_T *sb, *sb_info; ---- 121,129 ---- - * Scrollbar callback (XtNscrollProc) for paging up or down with the left or - * right mouse buttons. - */ - static void - gui_athena_scroll_cb_scroll(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data, call_data; - { - scrollbar_T *sb, *sb_info; -*************** -*** 492,498 **** - if (menu->icon_builtin || gui_find_bitmap(menu->name, buf, "xpm") == FAIL) - { - if (menu->iconidx >= 0 && menu->iconidx -! < (sizeof(built_in_pixmaps) / sizeof(built_in_pixmaps[0]))) - xpm = built_in_pixmaps[menu->iconidx]; - else - xpm = tb_blank_xpm; ---- 490,496 ---- - if (menu->icon_builtin || gui_find_bitmap(menu->name, buf, "xpm") == FAIL) - { - if (menu->iconidx >= 0 && menu->iconidx -! < (int)(sizeof(built_in_pixmaps) / sizeof(built_in_pixmaps[0]))) - xpm = built_in_pixmaps[menu->iconidx]; - else - xpm = tb_blank_xpm; -*************** -*** 763,769 **** - XtGetValues(XtParent(widget), args, n); - - retval = num_children; -! for (i = 0; i < num_children; ++i) - { - Widget current = children[i]; - vimmenu_T *menu = NULL; ---- 761,767 ---- - XtGetValues(XtParent(widget), args, n); - - retval = num_children; -! for (i = 0; i < (int)num_children; ++i) - { - Widget current = children[i]; - vimmenu_T *menu = NULL; -*************** -*** 780,790 **** - return retval; - } - -- /* ARGSUSED */ - void - gui_mch_add_menu(menu, idx) - vimmenu_T *menu; -! int idx; - { - char_u *pullright_name; - Dimension height, space, border; ---- 778,787 ---- - return retval; - } - - void - gui_mch_add_menu(menu, idx) - vimmenu_T *menu; -! int idx UNUSED; - { - char_u *pullright_name; - Dimension height, space, border; -*************** -*** 869,875 **** - XtVaGetValues(parent->submenu_id, XtNchildren, &children, - XtNnumChildren, &num_children, - NULL); -! for (i = 0; i < num_children; ++i) - { - XtVaSetValues(children[i], - XtNrightMargin, puller_width, ---- 866,872 ---- - XtVaGetValues(parent->submenu_id, XtNchildren, &children, - XtNnumChildren, &num_children, - NULL); -! for (i = 0; i < (int)num_children; ++i) - { - XtVaSetValues(children[i], - XtNrightMargin, puller_width, -*************** -*** 913,919 **** - XtVaGetValues(id, XtNchildren, &children, - XtNnumChildren, &num_children, - NULL); -! for (i = 0; i < num_children; ++i) - { - if (children[i] == ignore) - continue; ---- 910,916 ---- - XtVaGetValues(id, XtNchildren, &children, - XtNnumChildren, &num_children, - NULL); -! for (i = 0; i < (int)num_children; ++i) - { - if (children[i] == ignore) - continue; -*************** -*** 1175,1185 **** - return pname; - } - -- /* ARGSUSED */ - void - gui_mch_add_menu_item(menu, idx) - vimmenu_T *menu; -! int idx; - { - vimmenu_T *parent = menu->parent; - ---- 1172,1181 ---- - return pname; - } - - void - gui_mch_add_menu_item(menu, idx) - vimmenu_T *menu; -! int idx UNUSED; - { - vimmenu_T *parent = menu->parent; - -*************** -*** 1444,1450 **** - XtNchildren, &children, - XtNnumChildren, &numChildren, - NULL); -! for (i = 0; i < numChildren; i++) - { - whgt = 0; - ---- 1440,1446 ---- - XtNchildren, &children, - XtNnumChildren, &numChildren, - NULL); -! for (i = 0; i < (int)numChildren; i++) - { - whgt = 0; - -*************** -*** 1473,1482 **** - #endif - - -- /* ARGSUSED */ - void - gui_mch_toggle_tearoffs(enable) -! int enable; - { - /* no tearoff menus */ - } ---- 1469,1477 ---- - #endif - - - void - gui_mch_toggle_tearoffs(enable) -! int enable UNUSED; - { - /* no tearoff menus */ - } -*************** -*** 1537,1543 **** - else - get_left_margin = True; - -! for (i = 0; i < num_children; ++i) - { - if (children[i] == menu->id) - continue; ---- 1532,1538 ---- - else - get_left_margin = True; - -! for (i = 0; i < (int)num_children; ++i) - { - if (children[i] == menu->id) - continue; -*************** -*** 1645,1655 **** - } - } - -- /*ARGSUSED*/ - static void - gui_athena_menu_timeout(client_data, id) - XtPointer client_data; -! XtIntervalId *id; - { - Widget w = (Widget)client_data; - Widget popup; ---- 1640,1649 ---- - } - } - - static void - gui_athena_menu_timeout(client_data, id) - XtPointer client_data; -! XtIntervalId *id UNUSED; - { - Widget w = (Widget)client_data; - Widget popup; -*************** -*** 1678,1689 **** - * - * This is called when XtPopup() is called. - */ -- /*ARGSUSED*/ - static void - gui_athena_popup_callback(w, client_data, call_data) - Widget w; - XtPointer client_data; -! XtPointer call_data; - { - /* Assumption: XtIsSubclass(XtParent(w),simpleMenuWidgetClass) */ - vimmenu_T *menu = (vimmenu_T *)client_data; ---- 1672,1682 ---- - * - * This is called when XtPopup() is called. - */ - static void - gui_athena_popup_callback(w, client_data, call_data) - Widget w; - XtPointer client_data; -! XtPointer call_data UNUSED; - { - /* Assumption: XtIsSubclass(XtParent(w),simpleMenuWidgetClass) */ - vimmenu_T *menu = (vimmenu_T *)client_data; -*************** -*** 1711,1717 **** - NULL); - } - -- /* ARGSUSED */ - static void - gui_athena_popdown_submenus_action(w, event, args, nargs) - Widget w; ---- 1704,1709 ---- -*************** -*** 1756,1762 **** - return False; - } - -- /* ARGSUSED */ - static void - gui_athena_delayed_arm_action(w, event, args, nargs) - Widget w; ---- 1748,1753 ---- -*************** -*** 1837,1843 **** - * (XtIsSubclass(popup,simpleMenuWidgetClass) == True) */ - } - -- /* ARGSUSED */ - void - gui_mch_show_popupmenu(menu) - vimmenu_T *menu; ---- 1828,1833 ---- -*************** -*** 2046,2060 **** - * Put up a file requester. - * Returns the selected name in allocated memory, or NULL for Cancel. - */ -- /* ARGSUSED */ - char_u * - gui_mch_browse(saving, title, dflt, ext, initdir, filter) -! int saving; /* select file to write */ -! char_u *title; /* not used (title for the window) */ -! char_u *dflt; /* not used (default name) */ -! char_u *ext; /* not used (extension added) */ - char_u *initdir; /* initial directory, NULL for current dir */ -! char_u *filter; /* not used (file name filter) */ - { - Position x, y; - char_u dirbuf[MAXPATHL]; ---- 2036,2049 ---- - * Put up a file requester. - * Returns the selected name in allocated memory, or NULL for Cancel. - */ - char_u * - gui_mch_browse(saving, title, dflt, ext, initdir, filter) -! int saving UNUSED; /* select file to write */ -! char_u *title; /* title for the window */ -! char_u *dflt; /* default name */ -! char_u *ext UNUSED; /* extension added */ - char_u *initdir; /* initial directory, NULL for current dir */ -! char_u *filter UNUSED; /* file name filter */ - { - Position x, y; - char_u dirbuf[MAXPATHL]; -*************** -*** 2100,2112 **** - * Callback function for the textfield. When CR is hit this works like - * hitting the "OK" button, ESC like "Cancel". - */ -- /* ARGSUSED */ - static void - keyhit_callback(w, client_data, event, cont) -! Widget w; -! XtPointer client_data; - XEvent *event; -! Boolean *cont; - { - char buf[2]; - ---- 2089,2100 ---- - * Callback function for the textfield. When CR is hit this works like - * hitting the "OK" button, ESC like "Cancel". - */ - static void - keyhit_callback(w, client_data, event, cont) -! Widget w UNUSED; -! XtPointer client_data UNUSED; - XEvent *event; -! Boolean *cont UNUSED; - { - char buf[2]; - -*************** -*** 2119,2130 **** - } - } - -- /* ARGSUSED */ - static void - butproc(w, client_data, call_data) -! Widget w; - XtPointer client_data; -! XtPointer call_data; - { - dialogStatus = (int)(long)client_data + 1; - } ---- 2107,2117 ---- - } - } - - static void - butproc(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data; -! XtPointer call_data UNUSED; - { - dialogStatus = (int)(long)client_data + 1; - } -*************** -*** 2132,2158 **** - /* - * Function called when dialog window closed. - */ -- /*ARGSUSED*/ - static void - dialog_wm_handler(w, client_data, event, dum) -! Widget w; -! XtPointer client_data; - XEvent *event; -! Boolean *dum; - { - if (event->type == ClientMessage -! && ((XClientMessageEvent *)event)->data.l[0] == dialogatom) - dialogStatus = 0; - } - -- /* ARGSUSED */ - int - gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield) -! int type; - char_u *title; - char_u *message; - char_u *buttons; -! int dfltbutton; - char_u *textfield; - { - char_u *buts; ---- 2119,2143 ---- - /* - * Function called when dialog window closed. - */ - static void - dialog_wm_handler(w, client_data, event, dum) -! Widget w UNUSED; -! XtPointer client_data UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - if (event->type == ClientMessage -! && (Atom)((XClientMessageEvent *)event)->data.l[0] == dialogatom) - dialogStatus = 0; - } - - int - gui_mch_dialog(type, title, message, buttons, dfltbutton, textfield) -! int type UNUSED; - char_u *title; - char_u *message; - char_u *buttons; -! int dfltbutton UNUSED; - char_u *textfield; - { - char_u *buts; -*** ../vim-7.2.183/src/gui_x11.c 2009-02-24 04:11:07.000000000 +0100 ---- src/gui_x11.c 2009-05-21 16:47:02.000000000 +0200 -*************** -*** 570,591 **** - * Call-back routines. - */ - -- /* ARGSUSED */ - static void - gui_x11_timer_cb(timed_out, interval_id) - XtPointer timed_out; -! XtIntervalId *interval_id; - { - *((int *)timed_out) = TRUE; - } - -- /* ARGSUSED */ - static void - gui_x11_visibility_cb(w, dud, event, dum) -! Widget w; -! XtPointer dud; - XEvent *event; -! Boolean *dum; - { - if (event->type != VisibilityNotify) - return; ---- 570,589 ---- - * Call-back routines. - */ - - static void - gui_x11_timer_cb(timed_out, interval_id) - XtPointer timed_out; -! XtIntervalId *interval_id UNUSED; - { - *((int *)timed_out) = TRUE; - } - - static void - gui_x11_visibility_cb(w, dud, event, dum) -! Widget w UNUSED; -! XtPointer dud UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - if (event->type != VisibilityNotify) - return; -*************** -*** 603,615 **** - gui_mch_update(); - } - -- /* ARGSUSED */ - static void - gui_x11_expose_cb(w, dud, event, dum) -! Widget w; -! XtPointer dud; - XEvent *event; -! Boolean *dum; - { - XExposeEvent *gevent; - int new_x; ---- 601,612 ---- - gui_mch_update(); - } - - static void - gui_x11_expose_cb(w, dud, event, dum) -! Widget w UNUSED; -! XtPointer dud UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - XExposeEvent *gevent; - int new_x; -*************** -*** 680,692 **** - } - #endif - -- /* ARGSUSED */ - static void - gui_x11_resize_window_cb(w, dud, event, dum) -! Widget w; -! XtPointer dud; - XEvent *event; -! Boolean *dum; - { - static int lastWidth, lastHeight; - ---- 677,688 ---- - } - #endif - - static void - gui_x11_resize_window_cb(w, dud, event, dum) -! Widget w UNUSED; -! XtPointer dud UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - static int lastWidth, lastHeight; - -*************** -*** 727,761 **** - #endif - } - -- /* ARGSUSED */ - static void - gui_x11_focus_change_cb(w, data, event, dum) -! Widget w; -! XtPointer data; - XEvent *event; -! Boolean *dum; - { - gui_focus_change(event->type == FocusIn); - } - -- /* ARGSUSED */ - static void - gui_x11_enter_cb(w, data, event, dum) -! Widget w; -! XtPointer data; -! XEvent *event; -! Boolean *dum; - { - gui_focus_change(TRUE); - } - -- /* ARGSUSED */ - static void - gui_x11_leave_cb(w, data, event, dum) -! Widget w; -! XtPointer data; -! XEvent *event; -! Boolean *dum; - { - gui_focus_change(FALSE); - } ---- 723,754 ---- - #endif - } - - static void - gui_x11_focus_change_cb(w, data, event, dum) -! Widget w UNUSED; -! XtPointer data UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - gui_focus_change(event->type == FocusIn); - } - - static void - gui_x11_enter_cb(w, data, event, dum) -! Widget w UNUSED; -! XtPointer data UNUSED; -! XEvent *event UNUSED; -! Boolean *dum UNUSED; - { - gui_focus_change(TRUE); - } - - static void - gui_x11_leave_cb(w, data, event, dum) -! Widget w UNUSED; -! XtPointer data UNUSED; -! XEvent *event UNUSED; -! Boolean *dum UNUSED; - { - gui_focus_change(FALSE); - } -*************** -*** 766,778 **** - # endif - #endif - -- /* ARGSUSED */ - void - gui_x11_key_hit_cb(w, dud, event, dum) -! Widget w; -! XtPointer dud; - XEvent *event; -! Boolean *dum; - { - XKeyPressedEvent *ev_press; - #ifdef FEAT_XIM ---- 759,770 ---- - # endif - #endif - - void - gui_x11_key_hit_cb(w, dud, event, dum) -! Widget w UNUSED; -! XtPointer dud UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - XKeyPressedEvent *ev_press; - #ifdef FEAT_XIM -*************** -*** 1078,1090 **** - #endif - } - -- /* ARGSUSED */ - static void - gui_x11_mouse_cb(w, dud, event, dum) -! Widget w; -! XtPointer dud; - XEvent *event; -! Boolean *dum; - { - static XtIntervalId timer = (XtIntervalId)0; - static int timed_out = TRUE; ---- 1070,1081 ---- - #endif - } - - static void - gui_x11_mouse_cb(w, dud, event, dum) -! Widget w UNUSED; -! XtPointer dud UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - static XtIntervalId timer = (XtIntervalId)0; - static int timed_out = TRUE; -*************** -*** 1210,1220 **** - while (arg < *argc) - { - /* Look for argv[arg] in cmdline_options[] table */ -! for (i = 0; i < XtNumber(cmdline_options); i++) - if (strcmp(argv[arg], cmdline_options[i].option) == 0) - break; - -! if (i < XtNumber(cmdline_options)) - { - /* Remember finding "-rv" or "-reverse" */ - if (strcmp("-rv", argv[arg]) == 0 ---- 1201,1211 ---- - while (arg < *argc) - { - /* Look for argv[arg] in cmdline_options[] table */ -! for (i = 0; i < (int)XtNumber(cmdline_options); i++) - if (strcmp(argv[arg], cmdline_options[i].option) == 0) - break; - -! if (i < (int)XtNumber(cmdline_options)) - { - /* Remember finding "-rv" or "-reverse" */ - if (strcmp("-rv", argv[arg]) == 0 -*************** -*** 1319,1330 **** - - static void local_xsmp_handle_requests __ARGS((XtPointer c, int *s, XtInputId *i)); - -- /*ARGSUSED*/ - static void - local_xsmp_handle_requests(c, s, i) -! XtPointer c; -! int *s; -! XtInputId *i; - { - if (xsmp_handle_requests() == FAIL) - XtRemoveInput(_xsmp_xtinputid); ---- 1310,1320 ---- - - static void local_xsmp_handle_requests __ARGS((XtPointer c, int *s, XtInputId *i)); - - static void - local_xsmp_handle_requests(c, s, i) -! XtPointer c UNUSED; -! int *s UNUSED; -! XtInputId *i UNUSED; - { - if (xsmp_handle_requests() == FAIL) - XtRemoveInput(_xsmp_xtinputid); -*************** -*** 1438,1444 **** - Columns = w; - if (mask & HeightValue) - { -! if (p_window > h - 1 || !option_was_set((char_u *)"window")) - p_window = h - 1; - Rows = h; - } ---- 1428,1434 ---- - Columns = w; - if (mask & HeightValue) - { -! if (p_window > (long)h - 1 || !option_was_set((char_u *)"window")) - p_window = h - 1; - Rows = h; - } -*************** -*** 1753,1762 **** - } - #endif - -- /*ARGSUSED*/ - void - gui_mch_exit(rc) -! int rc; - { - #if 0 - /* Lesstif gives an error message here, and so does Solaris. The man page ---- 1743,1751 ---- - } - #endif - - void - gui_mch_exit(rc) -! int rc UNUSED; - { - #if 0 - /* Lesstif gives an error message here, and so does Solaris. The man page -*************** -*** 1799,1805 **** - NULL); - } - -- /*ARGSUSED*/ - void - gui_mch_set_shellsize(width, height, min_width, min_height, - base_width, base_height, direction) ---- 1788,1793 ---- -*************** -*** 1809,1815 **** - int min_height; - int base_width; - int base_height; -! int direction; - { - #ifdef FEAT_XIM - height += xim_get_status_area_height(), ---- 1797,1803 ---- - int min_height; - int base_width; - int base_height; -! int direction UNUSED; - { - #ifdef FEAT_XIM - height += xim_get_status_area_height(), -*************** -*** 1847,1857 **** - * If "fontset" is TRUE, load the "font_name" as a fontset. - * Return FAIL if the font could not be loaded, OK otherwise. - */ -- /*ARGSUSED*/ - int - gui_mch_init_font(font_name, do_fontset) - char_u *font_name; -! int do_fontset; - { - XFontStruct *font = NULL; - ---- 1835,1844 ---- - * If "fontset" is TRUE, load the "font_name" as a fontset. - * Return FAIL if the font could not be loaded, OK otherwise. - */ - int - gui_mch_init_font(font_name, do_fontset) - char_u *font_name; -! int do_fontset UNUSED; - { - XFontStruct *font = NULL; - -*************** -*** 2029,2038 **** - * Return the name of font "font" in allocated memory. - * Don't know how to get the actual name, thus use the provided name. - */ -- /*ARGSUSED*/ - char_u * - gui_mch_get_fontname(font, name) -! GuiFont font; - char_u *name; - { - if (name == NULL) ---- 2016,2024 ---- - * Return the name of font "font" in allocated memory. - * Don't know how to get the actual name, thus use the provided name. - */ - char_u * - gui_mch_get_fontname(font, name) -! GuiFont font UNUSED; - char_u *name; - { - if (name == NULL) -*************** -*** 2521,2527 **** - { - int i; - int offset; -! const static int val[8] = {1, 0, 0, 0, 1, 2, 2, 2 }; - - XSetForeground(gui.dpy, gui.text_gc, prev_sp_color); - for (i = FILL_X(col); i < FILL_X(col + cells); ++i) ---- 2507,2513 ---- - { - int i; - int offset; -! static const int val[8] = {1, 0, 0, 0, 1, 2, 2, 2 }; - - XSetForeground(gui.dpy, gui.text_gc, prev_sp_color); - for (i = FILL_X(col); i < FILL_X(col + cells); ++i) -*************** -*** 2569,2576 **** - # ifdef FEAT_XFONTSET - if (current_fontset != NULL) - { -! if (c >= 0x10000 && sizeof(wchar_t) <= 2) - c = 0xbf; /* show chars > 0xffff as ? */ - ((wchar_t *)buf)[wlen] = c; - } - else ---- 2555,2564 ---- - # ifdef FEAT_XFONTSET - if (current_fontset != NULL) - { -! # ifdef SMALL_WCHAR_T -! if (c >= 0x10000) - c = 0xbf; /* show chars > 0xffff as ? */ -+ # endif - ((wchar_t *)buf)[wlen] = c; - } - else -*************** -*** 3136,3146 **** - /* Nothing to do in X */ - } - -- /* ARGSUSED */ - void - gui_x11_menu_cb(w, client_data, call_data) -! Widget w; -! XtPointer client_data, call_data; - { - gui_menu_cb((vimmenu_T *)client_data); - } ---- 3124,3134 ---- - /* Nothing to do in X */ - } - - void - gui_x11_menu_cb(w, client_data, call_data) -! Widget w UNUSED; -! XtPointer client_data; -! XtPointer call_data UNUSED; - { - gui_menu_cb((vimmenu_T *)client_data); - } -*************** -*** 3153,3165 **** - * Function called when window closed. Works like ":qa". - * Should put up a requester! - */ -- /*ARGSUSED*/ - static void - gui_x11_wm_protocol_handler(w, client_data, event, dum) -! Widget w; -! XtPointer client_data; - XEvent *event; -! Boolean *dum; - { - /* - * Only deal with Client messages. ---- 3141,3152 ---- - * Function called when window closed. Works like ":qa". - * Should put up a requester! - */ - static void - gui_x11_wm_protocol_handler(w, client_data, event, dum) -! Widget w UNUSED; -! XtPointer client_data UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - /* - * Only deal with Client messages. -*************** -*** 3172,3178 **** - * exit. That can be cancelled though, thus Vim shouldn't exit here. - * Just sync our swap files. - */ -! if (((XClientMessageEvent *)event)->data.l[0] == - wm_atoms[SAVE_YOURSELF_IDX]) - { - out_flush(); ---- 3159,3165 ---- - * exit. That can be cancelled though, thus Vim shouldn't exit here. - * Just sync our swap files. - */ -! if ((Atom)((XClientMessageEvent *)event)->data.l[0] == - wm_atoms[SAVE_YOURSELF_IDX]) - { - out_flush(); -*************** -*** 3185,3191 **** - return; - } - -! if (((XClientMessageEvent *)event)->data.l[0] != - wm_atoms[DELETE_WINDOW_IDX]) - return; - ---- 3172,3178 ---- - return; - } - -! if ((Atom)((XClientMessageEvent *)event)->data.l[0] != - wm_atoms[DELETE_WINDOW_IDX]) - return; - -*************** -*** 3196,3208 **** - /* - * Function called when property changed. Check for incoming commands - */ -- /*ARGSUSED*/ - static void - gui_x11_send_event_handler(w, client_data, event, dum) -! Widget w; -! XtPointer client_data; - XEvent *event; -! Boolean *dum; - { - XPropertyEvent *e = (XPropertyEvent *) event; - ---- 3183,3194 ---- - /* - * Function called when property changed. Check for incoming commands - */ - static void - gui_x11_send_event_handler(w, client_data, event, dum) -! Widget w UNUSED; -! XtPointer client_data UNUSED; - XEvent *event; -! Boolean *dum UNUSED; - { - XPropertyEvent *e = (XPropertyEvent *) event; - -*************** -*** 3277,3287 **** - } - } - -- /* ARGSUSED */ - static void - gui_x11_blink_cb(timed_out, interval_id) -! XtPointer timed_out; -! XtIntervalId *interval_id; - { - if (blink_state == BLINK_ON) - { ---- 3263,3272 ---- - } - } - - static void - gui_x11_blink_cb(timed_out, interval_id) -! XtPointer timed_out UNUSED; -! XtIntervalId *interval_id UNUSED; - { - if (blink_state == BLINK_ON) - { -*** ../vim-7.2.183/src/gui.c 2009-05-17 16:23:20.000000000 +0200 ---- src/gui.c 2009-05-21 16:37:39.000000000 +0200 -*************** -*** 3119,3125 **** - */ - void - gui_init_which_components(oldval) -! char_u *oldval; - { - #ifdef FEAT_MENU - static int prev_menu_is_active = -1; ---- 3119,3125 ---- - */ - void - gui_init_which_components(oldval) -! char_u *oldval UNUSED; - { - #ifdef FEAT_MENU - static int prev_menu_is_active = -1; -*************** -*** 4668,4675 **** - */ - static win_T * - xy2win(x, y) -! int x; -! int y; - { - #ifdef FEAT_WINDOWS - int row; ---- 4668,4675 ---- - */ - static win_T * - xy2win(x, y) -! int x UNUSED; -! int y UNUSED; - { - #ifdef FEAT_WINDOWS - int row; -*************** -*** 5121,5128 **** - */ - void - gui_handle_drop(x, y, modifiers, fnames, count) -! int x; -! int y; - int_u modifiers; - char_u **fnames; - int count; ---- 5121,5128 ---- - */ - void - gui_handle_drop(x, y, modifiers, fnames, count) -! int x UNUSED; -! int y UNUSED; - int_u modifiers; - char_u **fnames; - int count; -*** ../vim-7.2.183/src/gui_beval.c 2009-05-17 16:23:20.000000000 +0200 ---- src/gui_beval.c 2009-05-21 15:03:02.000000000 +0200 -*************** -*** 18,24 **** - void - general_beval_cb(beval, state) - BalloonEval *beval; -! int state; - { - win_T *wp; - int col; ---- 18,24 ---- - void - general_beval_cb(beval, state) - BalloonEval *beval; -! int state UNUSED; - { - win_T *wp; - int col; -*************** -*** 726,735 **** - */ - static void - pointerEventEH(w, client_data, event, unused) -! Widget w; - XtPointer client_data; - XEvent *event; -! Boolean *unused; - { - BalloonEval *beval = (BalloonEval *)client_data; - pointerEvent(beval, event); ---- 726,735 ---- - */ - static void - pointerEventEH(w, client_data, event, unused) -! Widget w UNUSED; - XtPointer client_data; - XEvent *event; -! Boolean *unused UNUSED; - { - BalloonEval *beval = (BalloonEval *)client_data; - pointerEvent(beval, event); -*************** -*** 877,883 **** - static void - timerRoutine(dx, id) - XtPointer dx; -! XtIntervalId *id; - { - BalloonEval *beval = (BalloonEval *)dx; - ---- 877,883 ---- - static void - timerRoutine(dx, id) - XtPointer dx; -! XtIntervalId *id UNUSED; - { - BalloonEval *beval = (BalloonEval *)dx; - -*** ../vim-7.2.183/src/gui_at_sb.c 2008-11-28 21:26:50.000000000 +0100 ---- src/gui_at_sb.c 2009-05-21 16:38:53.000000000 +0200 -*************** -*** 198,207 **** - /* extension */ NULL - }, - { /* simple fields */ -! /* change_sensitive */ XtInheritChangeSensitive - }, - { /* scrollbar fields */ -! /* ignore */ 0 - } - }; - ---- 198,210 ---- - /* extension */ NULL - }, - { /* simple fields */ -! /* change_sensitive */ XtInheritChangeSensitive, -! #ifndef OLDXAW -! /* extension */ NULL -! #endif - }, - { /* scrollbar fields */ -! /* empty */ 0 - } - }; - -*************** -*** 241,247 **** - - if (bottom <= 0 || bottom <= top) - return; -! if ((sw = sbw->scrollbar.shadow_width) < 0) - sw = 0; - margin = MARGIN (sbw); - floor = sbw->scrollbar.length - margin + 2; ---- 244,251 ---- - - if (bottom <= 0 || bottom <= top) - return; -! sw = sbw->scrollbar.shadow_width; -! if (sw < 0) - sw = 0; - margin = MARGIN (sbw); - floor = sbw->scrollbar.length - margin + 2; -*************** -*** 516,528 **** - } - } - -- /* ARGSUSED */ - static void - Initialize(request, new, args, num_args) -! Widget request; /* what the client asked for */ - Widget new; /* what we're going to give him */ -! ArgList args; -! Cardinal *num_args; - { - ScrollbarWidget sbw = (ScrollbarWidget) new; - ---- 520,531 ---- - } - } - - static void - Initialize(request, new, args, num_args) -! Widget request UNUSED; /* what the client asked for */ - Widget new; /* what we're going to give him */ -! ArgList args UNUSED; -! Cardinal *num_args UNUSED; - { - ScrollbarWidget sbw = (ScrollbarWidget) new; - -*************** -*** 556,569 **** - (w, valueMask, attributes); - } - -- /* ARGSUSED */ - static Boolean - SetValues(current, request, desired, args, num_args) -! Widget current, /* what I am */ -! request, /* what he wants me to be */ -! desired; /* what I will become */ -! ArgList args; -! Cardinal *num_args; - { - ScrollbarWidget sbw = (ScrollbarWidget) current; - ScrollbarWidget dsbw = (ScrollbarWidget) desired; ---- 559,571 ---- - (w, valueMask, attributes); - } - - static Boolean - SetValues(current, request, desired, args, num_args) -! Widget current; /* what I am */ -! Widget request UNUSED; /* what he wants me to be */ -! Widget desired; /* what I will become */ -! ArgList args UNUSED; -! Cardinal *num_args UNUSED; - { - ScrollbarWidget sbw = (ScrollbarWidget) current; - ScrollbarWidget dsbw = (ScrollbarWidget) desired; -*************** -*** 609,615 **** - } - - -- /* ARGSUSED */ - static void - Redisplay(w, event, region) - Widget w; ---- 611,616 ---- -*************** -*** 789,799 **** - } - } - -- /* ARGSUSED */ - static void - RepeatNotify(client_data, idp) - XtPointer client_data; -! XtIntervalId *idp; - { - ScrollbarWidget sbw = (ScrollbarWidget) client_data; - int call_data; ---- 790,799 ---- - } - } - - static void - RepeatNotify(client_data, idp) - XtPointer client_data; -! XtIntervalId *idp UNUSED; - { - ScrollbarWidget sbw = (ScrollbarWidget) client_data; - int call_data; -*************** -*** 839,884 **** - return (num < small) ? small : ((num > big) ? big : num); - } - -- /* ARGSUSED */ - static void - ScrollOneLineUp(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params; -! Cardinal *num_params; - { - ScrollSome(w, event, -ONE_LINE_DATA); - } - -- /* ARGSUSED */ - static void - ScrollOneLineDown(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params; -! Cardinal *num_params; - { - ScrollSome(w, event, ONE_LINE_DATA); - } - -- /* ARGSUSED */ - static void - ScrollPageDown(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params; -! Cardinal *num_params; - { - ScrollSome(w, event, ONE_PAGE_DATA); - } - -- /* ARGSUSED */ - static void - ScrollPageUp(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params; -! Cardinal *num_params; - { - ScrollSome(w, event, -ONE_PAGE_DATA); - } ---- 839,880 ---- - return (num < small) ? small : ((num > big) ? big : num); - } - - static void - ScrollOneLineUp(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollSome(w, event, -ONE_LINE_DATA); - } - - static void - ScrollOneLineDown(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollSome(w, event, ONE_LINE_DATA); - } - - static void - ScrollPageDown(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollSome(w, event, ONE_PAGE_DATA); - } - - static void - ScrollPageUp(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollSome(w, event, -ONE_PAGE_DATA); - } -*************** -*** 901,913 **** - XtCallCallbacks(w, XtNscrollProc, (XtPointer)call_data); - } - -- /* ARGSUSED */ - static void - NotifyScroll(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params; -! Cardinal *num_params; - { - ScrollbarWidget sbw = (ScrollbarWidget) w; - Position x, y, loc; ---- 897,908 ---- - XtCallCallbacks(w, XtNscrollProc, (XtPointer)call_data); - } - - static void - NotifyScroll(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollbarWidget sbw = (ScrollbarWidget) w; - Position x, y, loc; -*************** -*** 991,1003 **** - delay, RepeatNotify, (XtPointer)w); - } - -- /* ARGSUSED */ - static void - EndScroll(w, event, params, num_params) - Widget w; -! XEvent *event; /* unused */ -! String *params; /* unused */ -! Cardinal *num_params; /* unused */ - { - ScrollbarWidget sbw = (ScrollbarWidget) w; - ---- 986,997 ---- - delay, RepeatNotify, (XtPointer)w); - } - - static void - EndScroll(w, event, params, num_params) - Widget w; -! XEvent *event UNUSED; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollbarWidget sbw = (ScrollbarWidget) w; - -*************** -*** 1023,1035 **** - return PICKLENGTH(sbw, x / width, y / height); - } - -- /* ARGSUSED */ - static void - MoveThumb(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params; /* unused */ -! Cardinal *num_params; /* unused */ - { - ScrollbarWidget sbw = (ScrollbarWidget)w; - Position x, y; ---- 1017,1028 ---- - return PICKLENGTH(sbw, x / width, y / height); - } - - static void - MoveThumb(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollbarWidget sbw = (ScrollbarWidget)w; - Position x, y; -*************** -*** 1069,1081 **** - } - - -- /* ARGSUSED */ - static void - NotifyThumb(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params; /* unused */ -! Cardinal *num_params; /* unused */ - { - ScrollbarWidget sbw = (ScrollbarWidget)w; - /* Use a union to avoid a warning for the weird conversion from float to ---- 1062,1073 ---- - } - - - static void - NotifyThumb(w, event, params, num_params) - Widget w; - XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { - ScrollbarWidget sbw = (ScrollbarWidget)w; - /* Use a union to avoid a warning for the weird conversion from float to -*************** -*** 1096,1102 **** - XtCallCallbacks(w, XtNjumpProc, (XtPointer)&sbw->scrollbar.top); - } - -- /* ARGSUSED */ - static void - AllocTopShadowGC(w) - Widget w; ---- 1088,1093 ---- -*************** -*** 1110,1116 **** - sbw->scrollbar.top_shadow_GC = XtGetGC(w, valuemask, &myXGCV); - } - -- /* ARGSUSED */ - static void - AllocBotShadowGC(w) - Widget w; ---- 1101,1106 ---- -*************** -*** 1124,1134 **** - sbw->scrollbar.bot_shadow_GC = XtGetGC(w, valuemask, &myXGCV); - } - -- /* ARGSUSED */ - static void - _Xaw3dDrawShadows(gw, event, region, out) - Widget gw; -! XEvent *event; - Region region; - int out; - { ---- 1114,1123 ---- - sbw->scrollbar.bot_shadow_GC = XtGetGC(w, valuemask, &myXGCV); - } - - static void - _Xaw3dDrawShadows(gw, event, region, out) - Widget gw; -! XEvent *event UNUSED; - Region region; - int out; - { -*** ../vim-7.2.183/src/gui_at_fs.c 2006-05-13 15:51:07.000000000 +0200 ---- src/gui_at_fs.c 2009-05-21 16:38:36.000000000 +0200 -*************** -*** 829,835 **** - text.format = FMT8BIT; - - #ifdef XtNinternational -! if (_XawTextFormat((TextWidget)selFileField) == XawFmtWide) - { - XawTextReplace(selFileField, (XawTextPosition)0, - (XawTextPosition)WcsLen((wchar_t *)&SFtextBuffer[0]), &text); ---- 829,835 ---- - text.format = FMT8BIT; - - #ifdef XtNinternational -! if ((unsigned long)_XawTextFormat((TextWidget)selFileField) == XawFmtWide) - { - XawTextReplace(selFileField, (XawTextPosition)0, - (XawTextPosition)WcsLen((wchar_t *)&SFtextBuffer[0]), &text); -*************** -*** 851,867 **** - #endif - } - -- /* ARGSUSED */ - static void - SFbuttonPressList(w, n, event) -! Widget w; -! int n; -! XButtonPressedEvent *event; - { - SFbuttonPressed = 1; - } - -- /* ARGSUSED */ - static void - SFbuttonReleaseList(w, n, event) - Widget w; ---- 851,865 ---- - #endif - } - - static void - SFbuttonPressList(w, n, event) -! Widget w UNUSED; -! int n UNUSED; -! XButtonPressedEvent *event UNUSED; - { - SFbuttonPressed = 1; - } - - static void - SFbuttonReleaseList(w, n, event) - Widget w; -*************** -*** 989,999 **** - return result; - } - -- /* ARGSUSED */ - static void - SFdirModTimer(cl, id) -! XtPointer cl; -! XtIntervalId *id; - { - static int n = -1; - static int f = 0; ---- 987,996 ---- - return result; - } - - static void - SFdirModTimer(cl, id) -! XtPointer cl UNUSED; -! XtIntervalId *id UNUSED; - { - static int n = -1; - static int f = 0; -*************** -*** 1596,1606 **** - - static void SFscrollTimer __ARGS((XtPointer p, XtIntervalId *id)); - -- /* ARGSUSED */ - static void - SFscrollTimer(p, id) - XtPointer p; -! XtIntervalId *id; - { - SFDir *dir; - int save; ---- 1593,1602 ---- - - static void SFscrollTimer __ARGS((XtPointer p, XtIntervalId *id)); - - static void - SFscrollTimer(p, id) - XtPointer p; -! XtIntervalId *id UNUSED; - { - SFDir *dir; - int save; -*************** -*** 1695,1704 **** - } - } - -- /* ARGSUSED */ - static void - SFenterList(w, n, event) -! Widget w; - int n; - XEnterWindowEvent *event; - { ---- 1691,1699 ---- - } - } - - static void - SFenterList(w, n, event) -! Widget w UNUSED; - int n; - XEnterWindowEvent *event; - { -*************** -*** 1719,1730 **** - } - } - -- /* ARGSUSED */ - static void - SFleaveList(w, n, event) -! Widget w; - int n; -! XEvent *event; - { - if (SFcurrentInvert[n] != -1) - { ---- 1714,1724 ---- - } - } - - static void - SFleaveList(w, n, event) -! Widget w UNUSED; - int n; -! XEvent *event UNUSED; - { - if (SFcurrentInvert[n] != -1) - { -*************** -*** 1733,1742 **** - } - } - -- /* ARGSUSED */ - static void - SFmotionList(w, n, event) -! Widget w; - int n; - XMotionEvent *event; - { ---- 1727,1735 ---- - } - } - - static void - SFmotionList(w, n, event) -! Widget w UNUSED; - int n; - XMotionEvent *event; - { -*************** -*** 1754,1760 **** - } - } - -- /* ARGSUSED */ - static void - SFvFloatSliderMovedCallback(w, n, fnew) - Widget w; ---- 1747,1752 ---- -*************** -*** 1767,1776 **** - SFvSliderMovedCallback(w, (int)(long)n, nw); - } - -- /* ARGSUSED */ - static void - SFvSliderMovedCallback(w, n, nw) -! Widget w; - int n; - int nw; - { ---- 1759,1767 ---- - SFvSliderMovedCallback(w, (int)(long)n, nw); - } - - static void - SFvSliderMovedCallback(w, n, nw) -! Widget w UNUSED; - int n; - int nw; - { -*************** -*** 1853,1862 **** - } - } - -- /* ARGSUSED */ - static void - SFvAreaSelectedCallback(w, n, pnew) -! Widget w; - XtPointer n; - XtPointer pnew; - { ---- 1844,1852 ---- - } - } - - static void - SFvAreaSelectedCallback(w, n, pnew) -! Widget w; - XtPointer n; - XtPointer pnew; - { -*************** -*** 1914,1923 **** - SFvSliderMovedCallback(w, (int)(long)n, nw); - } - -- /* ARGSUSED */ - static void - SFhSliderMovedCallback(w, n, nw) -! Widget w; - XtPointer n; - XtPointer nw; - { ---- 1904,1912 ---- - SFvSliderMovedCallback(w, (int)(long)n, nw); - } - - static void - SFhSliderMovedCallback(w, n, nw) -! Widget w UNUSED; - XtPointer n; - XtPointer nw; - { -*************** -*** 1933,1942 **** - SFdrawList((int)(long)n, SF_DO_NOT_SCROLL); - } - -- /* ARGSUSED */ - static void - SFhAreaSelectedCallback(w, n, pnew) -! Widget w; - XtPointer n; - XtPointer pnew; - { ---- 1922,1930 ---- - SFdrawList((int)(long)n, SF_DO_NOT_SCROLL); - } - - static void - SFhAreaSelectedCallback(w, n, pnew) -! Widget w; - XtPointer n; - XtPointer pnew; - { -*************** -*** 1994,2004 **** - } - } - -- /* ARGSUSED */ - static void - SFpathSliderMovedCallback(w, client_data, nw) -! Widget w; -! XtPointer client_data; - XtPointer nw; - { - SFDir *dir; ---- 1982,1991 ---- - } - } - - static void - SFpathSliderMovedCallback(w, client_data, nw) -! Widget w UNUSED; -! XtPointer client_data UNUSED; - XtPointer nw; - { - SFDir *dir; -*************** -*** 2031,2041 **** - XawTextSetInsertionPoint(selFileField, pos); - } - -- /* ARGSUSED */ - static void - SFpathAreaSelectedCallback(w, client_data, pnew) - Widget w; -! XtPointer client_data; - XtPointer pnew; - { - int nw = (int)(long)pnew; ---- 2018,2027 ---- - XawTextSetInsertionPoint(selFileField, pos); - } - - static void - SFpathAreaSelectedCallback(w, client_data, pnew) - Widget w; -! XtPointer client_data UNUSED; - XtPointer pnew; - { - int nw = (int)(long)pnew; -*************** -*** 2206,2218 **** - - static void SFexposeList __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont)); - -- /* ARGSUSED */ - static void - SFexposeList(w, n, event, cont) -! Widget w; - XtPointer n; - XEvent *event; -! Boolean *cont; - { - if ((event->type == NoExpose) || event->xexpose.count) - return; ---- 2192,2203 ---- - - static void SFexposeList __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont)); - - static void - SFexposeList(w, n, event, cont) -! Widget w UNUSED; - XtPointer n; - XEvent *event; -! Boolean *cont UNUSED; - { - if ((event->type == NoExpose) || event->xexpose.count) - return; -*************** -*** 2222,2234 **** - - static void SFmodVerifyCallback __ARGS((Widget w, XtPointer client_data, XEvent *event, Boolean *cont)); - -- /* ARGSUSED */ - static void - SFmodVerifyCallback(w, client_data, event, cont) -! Widget w; -! XtPointer client_data; - XEvent *event; -! Boolean *cont; - { - char buf[2]; - ---- 2207,2218 ---- - - static void SFmodVerifyCallback __ARGS((Widget w, XtPointer client_data, XEvent *event, Boolean *cont)); - - static void - SFmodVerifyCallback(w, client_data, event, cont) -! Widget w UNUSED; -! XtPointer client_data UNUSED; - XEvent *event; -! Boolean *cont UNUSED; - { - char buf[2]; - -*************** -*** 2241,2251 **** - - static void SFokCallback __ARGS((Widget w, XtPointer cl, XtPointer cd)); - -- /* ARGSUSED */ - static void - SFokCallback(w, cl, cd) -! Widget w; -! XtPointer cl, cd; - { - SFstatus = SEL_FILE_OK; - } ---- 2225,2235 ---- - - static void SFokCallback __ARGS((Widget w, XtPointer cl, XtPointer cd)); - - static void - SFokCallback(w, cl, cd) -! Widget w UNUSED; -! XtPointer cl UNUSED; -! XtPointer cd UNUSED; - { - SFstatus = SEL_FILE_OK; - } -*************** -*** 2258,2268 **** - - static void SFcancelCallback __ARGS((Widget w, XtPointer cl, XtPointer cd)); - -- /* ARGSUSED */ - static void - SFcancelCallback(w, cl, cd) -! Widget w; -! XtPointer cl, cd; - { - SFstatus = SEL_FILE_CANCEL; - } ---- 2242,2252 ---- - - static void SFcancelCallback __ARGS((Widget w, XtPointer cl, XtPointer cd)); - - static void - SFcancelCallback(w, cl, cd) -! Widget w UNUSED; -! XtPointer cl UNUSED; -! XtPointer cd UNUSED; - { - SFstatus = SEL_FILE_CANCEL; - } -*************** -*** 2275,2290 **** - - static void SFdismissAction __ARGS((Widget w, XEvent *event, String *params, Cardinal *num_params)); - -- /* ARGSUSED */ - static void - SFdismissAction(w, event, params, num_params) -! Widget w; -! XEvent *event; -! String *params; -! Cardinal *num_params; - { -! if (event->type == ClientMessage && -! event->xclient.data.l[0] != SFwmDeleteWindow) - return; - - SFstatus = SEL_FILE_CANCEL; ---- 2259,2273 ---- - - static void SFdismissAction __ARGS((Widget w, XEvent *event, String *params, Cardinal *num_params)); - - static void - SFdismissAction(w, event, params, num_params) -! Widget w UNUSED; -! XEvent *event; -! String *params UNUSED; -! Cardinal *num_params UNUSED; - { -! if (event->type == ClientMessage -! && (Atom)event->xclient.data.l[0] != SFwmDeleteWindow) - return; - - SFstatus = SEL_FILE_CANCEL; -*************** -*** 2703,2709 **** - SFtextChanged() - { - #if defined(FEAT_XFONTSET) && defined(XtNinternational) -! if (_XawTextFormat((TextWidget)selFileField) == XawFmtWide) - { - wchar_t *wcbuf=(wchar_t *)SFtextBuffer; - ---- 2686,2692 ---- - SFtextChanged() - { - #if defined(FEAT_XFONTSET) && defined(XtNinternational) -! if ((unsigned long)_XawTextFormat((TextWidget)selFileField) == XawFmtWide) - { - wchar_t *wcbuf=(wchar_t *)SFtextBuffer; - -*************** -*** 2749,2755 **** - #if defined(FEAT_XFONTSET) && defined(XtNinternational) - char *buf; - -! if (_XawTextFormat((TextWidget)selFileField) == XawFmtWide) - { - wchar_t *wcbuf; - int mbslength; ---- 2732,2738 ---- - #if defined(FEAT_XFONTSET) && defined(XtNinternational) - char *buf; - -! if ((unsigned long)_XawTextFormat((TextWidget)selFileField) == XawFmtWide) - { - wchar_t *wcbuf; - int mbslength; -*** ../vim-7.2.183/src/gui_motif.c 2008-06-20 11:39:30.000000000 +0200 ---- src/gui_motif.c 2009-05-21 17:15:05.000000000 +0200 -*************** -*** 117,126 **** - * Call-back routines. - */ - -- /* ARGSUSED */ - static void - scroll_cb(w, client_data, call_data) -! Widget w; - XtPointer client_data, call_data; - { - scrollbar_T *sb; ---- 117,125 ---- - * Call-back routines. - */ - - static void - scroll_cb(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data, call_data; - { - scrollbar_T *sb; -*************** -*** 136,146 **** - } - - #ifdef FEAT_GUI_TABLINE -- /*ARGSUSED*/ - static void - tabline_cb(w, client_data, call_data) -! Widget w; -! XtPointer client_data, call_data; - { - XmNotebookCallbackStruct *nptr; - ---- 135,145 ---- - } - - #ifdef FEAT_GUI_TABLINE - static void - tabline_cb(w, client_data, call_data) -! Widget w UNUSED; -! XtPointer client_data UNUSED; -! XtPointer call_data; - { - XmNotebookCallbackStruct *nptr; - -*************** -*** 149,159 **** - send_tabline_event(nptr->page_number); - } - -- /*ARGSUSED*/ - static void - tabline_button_cb(w, client_data, call_data) - Widget w; -! XtPointer client_data, call_data; - { - int cmd, tab_idx; - ---- 148,158 ---- - send_tabline_event(nptr->page_number); - } - - static void - tabline_button_cb(w, client_data, call_data) - Widget w; -! XtPointer client_data UNUSED; -! XtPointer call_data UNUSED; - { - int cmd, tab_idx; - -*************** -*** 166,176 **** - /* - * Tabline single mouse click timeout handler - */ -- /*ARGSUSED*/ - static void - motif_tabline_timer_cb (timed_out, interval_id) - XtPointer timed_out; -! XtIntervalId *interval_id; - { - *((int *)timed_out) = TRUE; - } ---- 165,174 ---- - /* - * Tabline single mouse click timeout handler - */ - static void - motif_tabline_timer_cb (timed_out, interval_id) - XtPointer timed_out; -! XtIntervalId *interval_id UNUSED; - { - *((int *)timed_out) = TRUE; - } -*************** -*** 203,215 **** - return FALSE; - } - -- /*ARGSUSED*/ - static void - tabline_menu_cb(w, closure, e, continue_dispatch) - Widget w; -! XtPointer closure; - XEvent *e; -! Boolean *continue_dispatch; - { - Widget tab_w; - XButtonPressedEvent *event; ---- 201,212 ---- - return FALSE; - } - - static void - tabline_menu_cb(w, closure, e, continue_dispatch) - Widget w; -! XtPointer closure UNUSED; - XEvent *e; -! Boolean *continue_dispatch UNUSED; - { - Widget tab_w; - XButtonPressedEvent *event; -*************** -*** 277,287 **** - XtManageChild(tabLine_menu); - } - -- /*ARGSUSED*/ - static void - tabline_balloon_cb(beval, state) - BalloonEval *beval; -! int state; - { - int nr; - tabpage_T *tp; ---- 274,283 ---- - XtManageChild(tabLine_menu); - } - - static void - tabline_balloon_cb(beval, state) - BalloonEval *beval; -! int state UNUSED; - { - int nr; - tabpage_T *tp; -*************** -*** 642,654 **** - #endif - } - -- /*ARGSUSED*/ - void - gui_mch_set_text_area_pos(x, y, w, h) -! int x; -! int y; -! int w; -! int h; - { - #ifdef FEAT_TOOLBAR - /* Give keyboard focus to the textArea instead of the toolbar. */ ---- 638,649 ---- - #endif - } - - void - gui_mch_set_text_area_pos(x, y, w, h) -! int x UNUSED; -! int y UNUSED; -! int w UNUSED; -! int h UNUSED; - { - #ifdef FEAT_TOOLBAR - /* Give keyboard focus to the textArea instead of the toolbar. */ -*************** -*** 1261,1267 **** - if (menu->icon_builtin || gui_find_bitmap(menu->name, buf, "xpm") == FAIL) - { - if (menu->iconidx >= 0 && menu->iconidx -! < (sizeof(built_in_pixmaps) / sizeof(built_in_pixmaps[0]))) - xpm = built_in_pixmaps[menu->iconidx]; - else - xpm = tb_blank_xpm; ---- 1256,1262 ---- - if (menu->icon_builtin || gui_find_bitmap(menu->name, buf, "xpm") == FAIL) - { - if (menu->iconidx >= 0 && menu->iconidx -! < (int)(sizeof(built_in_pixmaps) / sizeof(built_in_pixmaps[0]))) - xpm = built_in_pixmaps[menu->iconidx]; - else - xpm = tb_blank_xpm; -*************** -*** 1716,1725 **** - } - } - -- /* ARGSUSED */ - void - gui_mch_show_popupmenu(menu) -! vimmenu_T *menu; - { - #ifdef MOTIF_POPUP - XmMenuPosition(menu->submenu_id, gui_x11_get_last_mouse_event()); ---- 1711,1719 ---- - } - } - - void - gui_mch_show_popupmenu(menu) -! vimmenu_T *menu UNUSED; - { - #ifdef MOTIF_POPUP - XmMenuPosition(menu->submenu_id, gui_x11_get_last_mouse_event()); -*************** -*** 2046,2054 **** - /* - * Callback routine for dialog mnemonic processing. - */ -- /*ARGSUSED*/ - static void -! mnemonic_event(Widget w, XtPointer call_data, XKeyEvent *event) - { - do_mnemonic(w, event->keycode); - } ---- 2040,2047 ---- - /* - * Callback routine for dialog mnemonic processing. - */ - static void -! mnemonic_event(Widget w, XtPointer call_data UNUSED, XKeyEvent *event) - { - do_mnemonic(w, event->keycode); - } -*************** -*** 2287,2299 **** - * Put up a file requester. - * Returns the selected name in allocated memory, or NULL for Cancel. - */ -- /* ARGSUSED */ - char_u * - gui_mch_browse(saving, title, dflt, ext, initdir, filter) -! int saving; /* select file to write */ - char_u *title; /* title for the window */ - char_u *dflt; /* default name */ -! char_u *ext; /* not used (extension added) */ - char_u *initdir; /* initial directory, NULL for current dir */ - char_u *filter; /* file name filter */ - { ---- 2280,2291 ---- - * Put up a file requester. - * Returns the selected name in allocated memory, or NULL for Cancel. - */ - char_u * - gui_mch_browse(saving, title, dflt, ext, initdir, filter) -! int saving UNUSED; /* select file to write */ - char_u *title; /* title for the window */ - char_u *dflt; /* default name */ -! char_u *ext UNUSED; /* not used (extension added) */ - char_u *initdir; /* initial directory, NULL for current dir */ - char_u *filter; /* file name filter */ - { -*************** -*** 2413,2424 **** - /* - * Process callback from Dialog cancel actions. - */ -- /* ARGSUSED */ - static void - DialogCancelCB(w, client_data, call_data) -! Widget w; /* widget id */ -! XtPointer client_data; /* data from application */ -! XtPointer call_data; /* data from widget class */ - { - if (browse_fname != NULL) - { ---- 2405,2415 ---- - /* - * Process callback from Dialog cancel actions. - */ - static void - DialogCancelCB(w, client_data, call_data) -! Widget w UNUSED; /* widget id */ -! XtPointer client_data UNUSED; /* data from application */ -! XtPointer call_data UNUSED; /* data from widget class */ - { - if (browse_fname != NULL) - { -*************** -*** 2431,2442 **** - /* - * Process callback from Dialog actions. - */ -- /* ARGSUSED */ - static void - DialogAcceptCB(w, client_data, call_data) -! Widget w; /* widget id */ -! XtPointer client_data; /* data from application */ -! XtPointer call_data; /* data from widget class */ - { - XmFileSelectionBoxCallbackStruct *fcb; - ---- 2422,2432 ---- - /* - * Process callback from Dialog actions. - */ - static void - DialogAcceptCB(w, client_data, call_data) -! Widget w UNUSED; /* widget id */ -! XtPointer client_data UNUSED; /* data from application */ -! XtPointer call_data; /* data from widget class */ - { - XmFileSelectionBoxCallbackStruct *fcb; - -*************** -*** 2467,2479 **** - * Callback function for the textfield. When CR is hit this works like - * hitting the "OK" button, ESC like "Cancel". - */ -- /* ARGSUSED */ - static void - keyhit_callback(w, client_data, event, cont) - Widget w; -! XtPointer client_data; - XEvent *event; -! Boolean *cont; - { - char buf[2]; - KeySym key_sym; ---- 2457,2468 ---- - * Callback function for the textfield. When CR is hit this works like - * hitting the "OK" button, ESC like "Cancel". - */ - static void - keyhit_callback(w, client_data, event, cont) - Widget w; -! XtPointer client_data UNUSED; - XEvent *event; -! Boolean *cont UNUSED; - { - char buf[2]; - KeySym key_sym; -*************** -*** 2490,2501 **** - XmTextFieldClearSelection(w, XtLastTimestampProcessed(gui.dpy)); - } - -- /* ARGSUSED */ - static void - butproc(w, client_data, call_data) -! Widget w; - XtPointer client_data; -! XtPointer call_data; - { - dialogStatus = (int)(long)client_data + 1; - } ---- 2479,2489 ---- - XmTextFieldClearSelection(w, XtLastTimestampProcessed(gui.dpy)); - } - - static void - butproc(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data; -! XtPointer call_data UNUSED; - { - dialogStatus = (int)(long)client_data + 1; - } -*************** -*** 2567,2576 **** - } - #endif - -- /* ARGSUSED */ - int - gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield) -! int type; - char_u *title; - char_u *message; - char_u *button_names; ---- 2555,2563 ---- - } - #endif - - int - gui_mch_dialog(type, title, message, button_names, dfltbutton, textfield) -! int type UNUSED; - char_u *title; - char_u *message; - char_u *button_names; -*************** -*** 3197,3203 **** - XmNchildren, &children, - XmNnumChildren, &numChildren, NULL); - borders += tst + tmh; -! for (i = 0; i < numChildren; i++) - { - whgt = 0; - XtVaGetValues(children[i], XmNheight, &whgt, NULL); ---- 3184,3190 ---- - XmNchildren, &children, - XmNnumChildren, &numChildren, NULL); - borders += tst + tmh; -! for (i = 0; i < (int)numChildren; i++) - { - whgt = 0; - XtVaGetValues(children[i], XmNheight, &whgt, NULL); -*************** -*** 3237,3249 **** - * I have to use footer help for backwards compatability. Hopefully both will - * get implemented and the user will have a choice. - */ -- /*ARGSUSED*/ - static void - toolbarbutton_enter_cb(w, client_data, event, cont) -! Widget w; - XtPointer client_data; -! XEvent *event; -! Boolean *cont; - { - vimmenu_T *menu = (vimmenu_T *) client_data; - ---- 3224,3235 ---- - * I have to use footer help for backwards compatability. Hopefully both will - * get implemented and the user will have a choice. - */ - static void - toolbarbutton_enter_cb(w, client_data, event, cont) -! Widget w UNUSED; - XtPointer client_data; -! XEvent *event UNUSED; -! Boolean *cont UNUSED; - { - vimmenu_T *menu = (vimmenu_T *) client_data; - -*************** -*** 3254,3266 **** - } - } - -- /*ARGSUSED*/ - static void - toolbarbutton_leave_cb(w, client_data, event, cont) -! Widget w; -! XtPointer client_data; -! XEvent *event; -! Boolean *cont; - { - gui_mch_set_footer((char_u *) ""); - } ---- 3240,3251 ---- - } - } - - static void - toolbarbutton_leave_cb(w, client_data, event, cont) -! Widget w UNUSED; -! XtPointer client_data UNUSED; -! XEvent *event UNUSED; -! Boolean *cont UNUSED; - { - gui_mch_set_footer((char_u *) ""); - } -*************** -*** 3492,3501 **** - /* - * Set the fontlist for Widget "id" to use gui.menu_fontset or gui.menu_font. - */ -- /*ARGSUSED*/ - void - gui_motif_menu_fontlist(id) -! Widget id; - { - #ifdef FEAT_MENU - #ifdef FONTSET_ALWAYS ---- 3477,3485 ---- - /* - * Set the fontlist for Widget "id" to use gui.menu_fontset or gui.menu_font. - */ - void - gui_motif_menu_fontlist(id) -! Widget id UNUSED; - { - #ifdef FEAT_MENU - #ifdef FONTSET_ALWAYS -*************** -*** 3566,3573 **** - Widget cancel; - } SharedFindReplace; - -! static SharedFindReplace find_widgets = { NULL }; -! static SharedFindReplace repl_widgets = { NULL }; - - static void find_replace_destroy_callback __ARGS((Widget w, XtPointer client_data, XtPointer call_data)); - static void find_replace_dismiss_callback __ARGS((Widget w, XtPointer client_data, XtPointer call_data)); ---- 3550,3557 ---- - Widget cancel; - } SharedFindReplace; - -! static SharedFindReplace find_widgets = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; -! static SharedFindReplace repl_widgets = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}; - - static void find_replace_destroy_callback __ARGS((Widget w, XtPointer client_data, XtPointer call_data)); - static void find_replace_dismiss_callback __ARGS((Widget w, XtPointer client_data, XtPointer call_data)); -*************** -*** 3576,3587 **** - static void find_replace_keypress __ARGS((Widget w, SharedFindReplace * frdp, XKeyEvent * event)); - static void find_replace_dialog_create __ARGS((char_u *entry_text, int do_replace)); - -- /*ARGSUSED*/ - static void - find_replace_destroy_callback(w, client_data, call_data) -! Widget w; - XtPointer client_data; -! XtPointer call_data; - { - SharedFindReplace *cd = (SharedFindReplace *)client_data; - ---- 3560,3570 ---- - static void find_replace_keypress __ARGS((Widget w, SharedFindReplace * frdp, XKeyEvent * event)); - static void find_replace_dialog_create __ARGS((char_u *entry_text, int do_replace)); - - static void - find_replace_destroy_callback(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data; -! XtPointer call_data UNUSED; - { - SharedFindReplace *cd = (SharedFindReplace *)client_data; - -*************** -*** 3590,3601 **** - cd->dialog = (Widget)0; - } - -- /*ARGSUSED*/ - static void - find_replace_dismiss_callback(w, client_data, call_data) -! Widget w; - XtPointer client_data; -! XtPointer call_data; - { - SharedFindReplace *cd = (SharedFindReplace *)client_data; - ---- 3573,3583 ---- - cd->dialog = (Widget)0; - } - - static void - find_replace_dismiss_callback(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data; -! XtPointer call_data UNUSED; - { - SharedFindReplace *cd = (SharedFindReplace *)client_data; - -*************** -*** 3603,3624 **** - XtUnmanageChild(cd->dialog); - } - -- /*ARGSUSED*/ - static void - entry_activate_callback(w, client_data, call_data) -! Widget w; - XtPointer client_data; -! XtPointer call_data; - { - XmProcessTraversal((Widget)client_data, XmTRAVERSE_CURRENT); - } - -- /*ARGSUSED*/ - static void - find_replace_callback(w, client_data, call_data) -! Widget w; - XtPointer client_data; -! XtPointer call_data; - { - long_u flags = (long_u)client_data; - char *find_text, *repl_text; ---- 3585,3604 ---- - XtUnmanageChild(cd->dialog); - } - - static void - entry_activate_callback(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data; -! XtPointer call_data UNUSED; - { - XmProcessTraversal((Widget)client_data, XmTRAVERSE_CURRENT); - } - - static void - find_replace_callback(w, client_data, call_data) -! Widget w UNUSED; - XtPointer client_data; -! XtPointer call_data UNUSED; - { - long_u flags = (long_u)client_data; - char *find_text, *repl_text; -*************** -*** 3668,3677 **** - XtFree(repl_text); - } - -- /*ARGSUSED*/ - static void - find_replace_keypress(w, frdp, event) -! Widget w; - SharedFindReplace *frdp; - XKeyEvent *event; - { ---- 3648,3656 ---- - XtFree(repl_text); - } - - static void - find_replace_keypress(w, frdp, event) -! Widget w UNUSED; - SharedFindReplace *frdp; - XKeyEvent *event; - { -*** ../vim-7.2.183/src/gui_xmdlg.c 2008-11-28 21:26:50.000000000 +0100 ---- src/gui_xmdlg.c 2009-05-21 17:01:52.000000000 +0200 -*************** -*** 448,454 **** - - items[i] = XmStringCreateLocalized(list[ENCODING][i]); - -! if (i < n_items) - { - /* recycle old button */ - XtVaSetValues(children[i], ---- 448,454 ---- - - items[i] = XmStringCreateLocalized(list[ENCODING][i]); - -! if (i < (int)n_items) - { - /* recycle old button */ - XtVaSetValues(children[i], -*************** -*** 481,487 **** - - /* Destroy all the outstanding menu items. - */ -! for (i = count[ENCODING]; i < n_items; ++i) - { - XtUnmanageChild(children[i]); - XtDestroyWidget(children[i]); ---- 481,487 ---- - - /* Destroy all the outstanding menu items. - */ -! for (i = count[ENCODING]; i < (int)n_items; ++i) - { - XtUnmanageChild(children[i]); - XtDestroyWidget(children[i]); -*************** -*** 544,552 **** - } - } - -- /*ARGSUSED*/ - static void -! stoggle_callback(Widget w, - SharedFontSelData *data, - XmToggleButtonCallbackStruct *call_data) - { ---- 544,551 ---- - } - } - - static void -! stoggle_callback(Widget w UNUSED, - SharedFontSelData *data, - XmToggleButtonCallbackStruct *call_data) - { -*************** -*** 709,719 **** - } - } - -- /*ARGSUSED*/ - static void - encoding_callback(Widget w, - SharedFontSelData *data, -! XtPointer dummy) - { - XmString str; - XmListCallbackStruct fake_data; ---- 708,717 ---- - } - } - - static void - encoding_callback(Widget w, - SharedFontSelData *data, -! XtPointer dummy UNUSED) - { - XmString str; - XmListCallbackStruct fake_data; -*************** -*** 752,762 **** - do_choice(w, data, call_data, SIZE); - } - -- /*ARGSUSED*/ - static void -! cancel_callback(Widget w, - SharedFontSelData *data, -! XmListCallbackStruct *call_data) - { - if (data->sel[ENCODING]) - { ---- 750,759 ---- - do_choice(w, data, call_data, SIZE); - } - - static void -! cancel_callback(Widget w UNUSED, - SharedFontSelData *data, -! XmListCallbackStruct *call_data UNUSED) - { - if (data->sel[ENCODING]) - { -*************** -*** 789,799 **** - data->exit = True; - } - -- /*ARGSUSED*/ - static void -! ok_callback(Widget w, - SharedFontSelData *data, -! XmPushButtonCallbackStruct *call_data) - { - char *pattern; - char **name; ---- 786,795 ---- - data->exit = True; - } - - static void -! ok_callback(Widget w UNUSED, - SharedFontSelData *data, -! XmPushButtonCallbackStruct *call_data UNUSED) - { - char *pattern; - char **name; -*** ../vim-7.2.183/src/gui_xmebw.c 2008-11-28 21:26:50.000000000 +0100 ---- src/gui_xmebw.c 2009-05-21 17:06:17.000000000 +0200 -*************** -*** 235,247 **** - return tmp; - } - -- /*ARGSUSED*/ - static int - alloc_color(Display *display, - Colormap colormap, - char *colorname, - XColor *xcolor, -! void *closure) - { - int status; - ---- 235,246 ---- - return tmp; - } - - static int - alloc_color(Display *display, - Colormap colormap, - char *colorname, - XColor *xcolor, -! void *closure UNUSED) - { - int status; - -*************** -*** 595,603 **** - XtHeight(eb), eb->primitive.highlight_thickness); - } - -- /*ARGSUSED*/ - static void -! draw_pixmap(XmEnhancedButtonWidget eb, XEvent *event, Region region) - { - Pixmap pix; - GC gc = eb->label.normal_GC; ---- 594,603 ---- - XtHeight(eb), eb->primitive.highlight_thickness); - } - - static void -! draw_pixmap(XmEnhancedButtonWidget eb, -! XEvent *event UNUSED, -! Region region UNUSED) - { - Pixmap pix; - GC gc = eb->label.normal_GC; -*************** -*** 641,647 **** - height = eb->core.height - 2 * y; - if (h < height) - height = h; -! if (depth == eb->core.depth) - XCopyArea(XtDisplay(eb), pix, XtWindow(eb), gc, 0, 0, - width, height, x, y); - else if (depth == 1) ---- 641,647 ---- - height = eb->core.height - 2 * y; - if (h < height) - height = h; -! if (depth == (int)eb->core.depth) - XCopyArea(XtDisplay(eb), pix, XtWindow(eb), gc, 0, 0, - width, height, x, y); - else if (depth == 1) -*************** -*** 731,739 **** - eb->label.normal_GC = tmp_gc; - } - -- /*ARGSUSED*/ - static void -! Enter(Widget wid, XEvent *event, String *params, Cardinal *num_params) - { - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget) wid; - XmPushButtonCallbackStruct call_value; ---- 731,741 ---- - eb->label.normal_GC = tmp_gc; - } - - static void -! Enter(Widget wid, -! XEvent *event, -! String *params UNUSED, -! Cardinal *num_params UNUSED) - { - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget) wid; - XmPushButtonCallbackStruct call_value; -*************** -*** 818,826 **** - } - } - -- /*ARGSUSED*/ - static void -! Leave(Widget wid, XEvent *event, String *params, Cardinal *num_params) - { - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)wid; - XmPushButtonCallbackStruct call_value; ---- 820,830 ---- - } - } - - static void -! Leave(Widget wid, -! XEvent *event, -! String *params UNUSED, -! Cardinal *num_params UNUSED) - { - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)wid; - XmPushButtonCallbackStruct call_value; -*************** -*** 976,984 **** - } - } - -- /*ARGSUSED*/ - static void -! Initialize(Widget rq, Widget ebw, ArgList args, Cardinal *n) - { - XmEnhancedButtonWidget request = (XmEnhancedButtonWidget)rq; - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)ebw; ---- 980,987 ---- - } - } - - static void -! Initialize(Widget rq, Widget ebw, ArgList args UNUSED, Cardinal *n UNUSED) - { - XmEnhancedButtonWidget request = (XmEnhancedButtonWidget)rq; - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)ebw; -*************** -*** 1056,1064 **** - free_pixmaps((XmEnhancedButtonWidget)w); - } - -- /*ARGSUSED*/ - static Boolean -! SetValues(Widget current, Widget request, Widget new, ArgList args, Cardinal *n) - { - XmEnhancedButtonWidget cur = (XmEnhancedButtonWidget) current; - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget) new; ---- 1059,1070 ---- - free_pixmaps((XmEnhancedButtonWidget)w); - } - - static Boolean -! SetValues(Widget current, -! Widget request UNUSED, -! Widget new, -! ArgList args UNUSED, -! Cardinal *n UNUSED) - { - XmEnhancedButtonWidget cur = (XmEnhancedButtonWidget) current; - XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget) new; -*************** -*** 1108,1114 **** - if ((win_x < 0) || (win_y < 0)) - return False; - -! if ((win_x > r_width) || (win_y > r_height)) - return False; - draw_highlight(eb); - draw_shadows(eb); ---- 1114,1120 ---- - if ((win_x < 0) || (win_y < 0)) - return False; - -! if ((win_x > (int)r_width) || (win_y > (int)r_height)) - return False; - draw_highlight(eb); - draw_shadows(eb); -*** ../vim-7.2.183/src/if_python.c 2009-01-13 18:10:21.000000000 +0100 ---- src/if_python.c 2009-05-21 17:27:50.000000000 +0200 -*************** -*** 1096,1104 **** - - /* Vim module - Implementation - */ -- /*ARGSUSED*/ - static PyObject * -! VimCommand(PyObject *self, PyObject *args) - { - char *cmd; - PyObject *result; ---- 1096,1103 ---- - - /* Vim module - Implementation - */ - static PyObject * -! VimCommand(PyObject *self UNUSED, PyObject *args) - { - char *cmd; - PyObject *result; -*************** -*** 1242,1250 **** - } - #endif - -- /*ARGSUSED*/ - static PyObject * -! VimEval(PyObject *self, PyObject *args) - { - #ifdef FEAT_EVAL - char *expr; ---- 1241,1248 ---- - } - #endif - - static PyObject * -! VimEval(PyObject *self UNUSED, PyObject *args) - { - #ifdef FEAT_EVAL - char *expr; -*************** -*** 1894,1902 **** - /* Buffer list object - Implementation - */ - -- /*ARGSUSED*/ - static PyInt -! BufListLength(PyObject *self) - { - buf_T *b = firstbuf; - PyInt n = 0; ---- 1892,1899 ---- - /* Buffer list object - Implementation - */ - - static PyInt -! BufListLength(PyObject *self UNUSED) - { - buf_T *b = firstbuf; - PyInt n = 0; -*************** -*** 1910,1918 **** - return n; - } - -- /*ARGSUSED*/ - static PyObject * -! BufListItem(PyObject *self, PyInt n) - { - buf_T *b; - ---- 1907,1914 ---- - return n; - } - - static PyObject * -! BufListItem(PyObject *self UNUSED, PyInt n) - { - buf_T *b; - -*************** -*** 2210,2218 **** - - /* Window list object - Implementation - */ -- /*ARGSUSED*/ - static PyInt -! WinListLength(PyObject *self) - { - win_T *w = firstwin; - PyInt n = 0; ---- 2206,2213 ---- - - /* Window list object - Implementation - */ - static PyInt -! WinListLength(PyObject *self UNUSED) - { - win_T *w = firstwin; - PyInt n = 0; -*************** -*** 2226,2234 **** - return n; - } - -- /*ARGSUSED*/ - static PyObject * -! WinListItem(PyObject *self, PyInt n) - { - win_T *w; - ---- 2221,2228 ---- - return n; - } - - static PyObject * -! WinListItem(PyObject *self UNUSED, PyInt n) - { - win_T *w; - -*************** -*** 2274,2282 **** - - /* Current items object - Implementation - */ -- /*ARGSUSED*/ - static PyObject * -! CurrentGetattr(PyObject *self, char *name) - { - if (strcmp(name, "buffer") == 0) - return (PyObject *)BufferNew(curbuf); ---- 2268,2275 ---- - - /* Current items object - Implementation - */ - static PyObject * -! CurrentGetattr(PyObject *self UNUSED, char *name) - { - if (strcmp(name, "buffer") == 0) - return (PyObject *)BufferNew(curbuf); -*************** -*** 2295,2303 **** - } - } - -- /*ARGSUSED*/ - static int -! CurrentSetattr(PyObject *self, char *name, PyObject *value) - { - if (strcmp(name, "line") == 0) - { ---- 2288,2295 ---- - } - } - - static int -! CurrentSetattr(PyObject *self UNUSED, char *name, PyObject *value) - { - if (strcmp(name, "line") == 0) - { -*** ../vim-7.2.183/src/window.c 2009-02-22 02:36:36.000000000 +0100 ---- src/window.c 2009-05-21 15:14:54.000000000 +0200 -*************** -*** 1163,1174 **** - * WSP_NEWLOC may be specified in flags to prevent the location list from - * being copied. - */ -- /*ARGSUSED*/ - static void - win_init(newp, oldp, flags) - win_T *newp; - win_T *oldp; -! int flags; - { - int i; - ---- 1163,1173 ---- - * WSP_NEWLOC may be specified in flags to prevent the location list from - * being copied. - */ - static void - win_init(newp, oldp, flags) - win_T *newp; - win_T *oldp; -! int flags UNUSED; - { - int i; - -*************** -*** 1268,1278 **** - * Must be called when there is just one window, filling the whole screen - * (excluding the command line). - */ -- /*ARGSUSED*/ - int - make_windows(count, vertical) - int count; -! int vertical; /* split windows vertically if TRUE */ - { - int maxcount; - int todo; ---- 1267,1276 ---- - * Must be called when there is just one window, filling the whole screen - * (excluding the command line). - */ - int - make_windows(count, vertical) - int count; -! int vertical UNUSED; /* split windows vertically if TRUE */ - { - int maxcount; - int todo; -*************** -*** 2353,2363 **** - * Remove a window and its frame from the tree of frames. - * Returns a pointer to the window that got the freed up space. - */ -- /*ARGSUSED*/ - static win_T * - winframe_remove(win, dirp, tp) - win_T *win; -! int *dirp; /* set to 'v' or 'h' for direction if 'ea' */ - tabpage_T *tp; /* tab page "win" is in, NULL for current */ - { - frame_T *frp, *frp2, *frp3; ---- 2351,2360 ---- - * Remove a window and its frame from the tree of frames. - * Returns a pointer to the window that got the freed up space. - */ - static win_T * - winframe_remove(win, dirp, tp) - win_T *win; -! int *dirp UNUSED; /* set to 'v' or 'h' for direction if 'ea' */ - tabpage_T *tp; /* tab page "win" is in, NULL for current */ - { - frame_T *frp, *frp2, *frp3; -*************** -*** 3500,3509 **** - * FAIL. - * Careful: When OK is returned need to get a new tab page very very soon! - */ -- /*ARGSUSED*/ - static int - leave_tabpage(new_curbuf) -! buf_T *new_curbuf; /* what is going to be the new curbuf, - NULL if unknown */ - { - tabpage_T *tp = curtab; ---- 3497,3505 ---- - * FAIL. - * Careful: When OK is returned need to get a new tab page very very soon! - */ - static int - leave_tabpage(new_curbuf) -! buf_T *new_curbuf UNUSED; /* what is going to be the new curbuf, - NULL if unknown */ - { - tabpage_T *tp = curtab; -*************** -*** 3545,3555 **** - * Start using tab page "tp". - * Only to be used after leave_tabpage() or freeing the current tab page. - */ -- /*ARGSUSED*/ - static void - enter_tabpage(tp, old_curbuf) - tabpage_T *tp; -! buf_T *old_curbuf; - { - int old_off = tp->tp_firstwin->w_winrow; - win_T *next_prevwin = tp->tp_prevwin; ---- 3541,3550 ---- - * Start using tab page "tp". - * Only to be used after leave_tabpage() or freeing the current tab page. - */ - static void - enter_tabpage(tp, old_curbuf) - tabpage_T *tp; -! buf_T *old_curbuf UNUSED; - { - int old_off = tp->tp_firstwin->w_winrow; - win_T *next_prevwin = tp->tp_prevwin; -*************** -*** 4157,4166 **** - /* - * allocate a window structure and link it in the window list - */ -- /*ARGSUSED*/ - static win_T * - win_alloc(after) -! win_T *after; - { - win_T *newwin; - ---- 4152,4160 ---- - /* - * allocate a window structure and link it in the window list - */ - static win_T * - win_alloc(after) -! win_T *after UNUSED; - { - win_T *newwin; - -*** ../vim-7.2.183/src/workshop.c 2008-11-28 11:47:14.000000000 +0100 ---- src/workshop.c 2009-05-21 17:12:55.000000000 +0200 -*************** -*** 204,215 **** - * Function: - * Load a given file into the WorkShop buffer. - */ -- /*ARGSUSED*/ - void - workshop_load_file( - char *filename, /* the file to load */ - int line, /* an optional line number (or 0) */ -! char *frameid) /* used for multi-frame support */ - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) ---- 204,214 ---- - * Function: - * Load a given file into the WorkShop buffer. - */ - void - workshop_load_file( - char *filename, /* the file to load */ - int line, /* an optional line number (or 0) */ -! char *frameid UNUSED) /* used for multi-frame support */ - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) -*************** -*** 263,272 **** - load_window(filename, lineno); - } - -- /*ARGSUSED*/ - void - workshop_front_file( -! char *filename) - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) ---- 262,270 ---- - load_window(filename, lineno); - } - - void - workshop_front_file( -! char *filename UNUSED) - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) -*************** -*** 538,546 **** - * breakpoints have moved when a program has been recompiled and - * reloaded into dbx. - */ -- /*ARGSUSED*/ - void -! workshop_moved_marks(char *filename) - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) ---- 536,543 ---- - * breakpoints have moved when a program has been recompiled and - * reloaded into dbx. - */ - void -! workshop_moved_marks(char *filename UNUSED) - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) -*************** -*** 575,585 **** - return (int)h; - } - -- /*ARGSUSED*/ - void - workshop_footer_message( -! char *message, -! int severity) /* severity is currently unused */ - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) ---- 572,581 ---- - return (int)h; - } - - void - workshop_footer_message( -! char *message, -! int severity UNUSED) /* severity is currently unused */ - { - #ifdef WSDEBUG_TRACE - if (WSDLEVEL(WS_TRACE_VERBOSE | WS_TRACE)) -*************** -*** 687,701 **** - * command. The globals curMenuName and curMenuPriority contain the name and - * priority of the parent menu tree. - */ -- /*ARGSUSED*/ - void - workshop_menu_item( - char *label, - char *verb, -! char *accelerator, - char *acceleratorText, -! char *name, -! char *filepos, - char *sensitive) - { - char cbuf[BUFSIZ]; ---- 683,696 ---- - * command. The globals curMenuName and curMenuPriority contain the name and - * priority of the parent menu tree. - */ - void - workshop_menu_item( - char *label, - char *verb, -! char *accelerator UNUSED, - char *acceleratorText, -! char *name UNUSED, -! char *filepos UNUSED, - char *sensitive) - { - char cbuf[BUFSIZ]; -*************** -*** 810,822 **** - workshopInitDone = True; - } - -- /*ARGSUSED*/ - void - workshop_toolbar_button( - char *label, - char *verb, -! char *senseVerb, -! char *filepos, - char *help, - char *sense, - char *file, ---- 805,816 ---- - workshopInitDone = True; - } - - void - workshop_toolbar_button( - char *label, - char *verb, -! char *senseVerb UNUSED, -! char *filepos UNUSED, - char *help, - char *sense, - char *file, -*************** -*** 968,974 **** - if (strcmp(option, "syntax") == 0) - vim_snprintf(cbuf, sizeof(cbuf), "syntax %s", value); - else if (strcmp(option, "savefiles") == 0) -! ; /* XXX - Not yet implemented */ - break; - - case 'l': ---- 962,970 ---- - if (strcmp(option, "syntax") == 0) - vim_snprintf(cbuf, sizeof(cbuf), "syntax %s", value); - else if (strcmp(option, "savefiles") == 0) -! { -! /* XXX - Not yet implemented */ -! } - break; - - case 'l': -*************** -*** 1098,1107 **** - /* - * A button in the toolbar has been pushed. - */ -- /*ARGSUSED*/ - int - workshop_get_positions( -! void *clientData, /* unused */ - char **filename, /* output data */ - int *curLine, /* output data */ - int *curCol, /* output data */ ---- 1094,1102 ---- - /* - * A button in the toolbar has been pushed. - */ - int - workshop_get_positions( -! void *clientData UNUSED, - char **filename, /* output data */ - int *curLine, /* output data */ - int *curCol, /* output data */ -*************** -*** 1526,1534 **** - return NULL; - } - -- /*ARGSUSED*/ - void -! workshop_save_sensitivity(char *filename) - { - } - ---- 1521,1528 ---- - return NULL; - } - - void -! workshop_save_sensitivity(char *filename UNUSED) - { - } - -*** ../vim-7.2.183/src/version.c 2009-05-21 15:19:59.000000000 +0200 ---- src/version.c 2009-05-21 23:19:40.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 184, - /**/ - --- -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/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.185 --- a/components/vim/vim72-patches/7.2.185 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,305 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.185 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.185 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Add UNUSED and type casts. -Files: src/Makefile, src/if_tlc.c, src/if_ruby.c - - -*** ../vim-7.2.184/src/Makefile 2009-05-21 23:25:47.000000000 +0200 ---- src/Makefile 2009-05-22 18:18:44.000000000 +0200 -*************** -*** 105,112 **** - # 4. "make test" {{{1 - # This is optional. This will run Vim scripts on a number of test - # files, and compare the produced output with the expected output. -! # If all is well, you will get the "ALL DONE" message in the end. See -! # below (search for "/^test"). - # - # 5. "make install" {{{1 - # If the new Vim seems to be working OK you can install it and the ---- 105,112 ---- - # 4. "make test" {{{1 - # This is optional. This will run Vim scripts on a number of test - # files, and compare the produced output with the expected output. -! # If all is well, you will get the "ALL DONE" message in the end. If a -! # test fails you get "TEST FAILURE". See below (search for "/^test"). - # - # 5. "make install" {{{1 - # If the new Vim seems to be working OK you can install it and the -*************** -*** 533,538 **** ---- 533,543 ---- - #CFLAGS = -g -DDEBUG -Wall -Wshadow -Wmissing-prototypes - #CFLAGS = -g -O2 '-DSTARTUPTIME="vimstartup"' -fno-strength-reduce -Wall -Wmissing-prototypes - -+ # Use this with GCC to check for mistakes, unused arguments, etc. -+ #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code -+ #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers -+ #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -+ - # EFENCE - Electric-Fence malloc debugging: catches memory accesses beyond - # allocated memory (and makes every malloc()/free() very slow). - # Electric Fence is free (search ftp sites). -*************** -*** 551,562 **** - # }}} - - # LINT - for running lint -! # For standard lint -! #LINT = lint -! #LINT_OPTIONS = -beprxzF -! # For splint (see cleanlint.vim for filtering the output) -! LINT = splint -! LINT_OPTIONS = +unixlib -weak -macrovarprefixexclude -showfunc -linelen 9999 - - # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof. - # Might not work with GUI or Perl. ---- 556,568 ---- - # }}} - - # LINT - for running lint -! # For standard Unix lint -! LINT = lint -! LINT_OPTIONS = -beprxzF -! # For splint -! # It doesn't work well, crashes on include files and non-ascii characters. -! #LINT = splint -! #LINT_OPTIONS = +unixlib -weak -macrovarprefixexclude -showfunc -linelen 9999 - - # PROFILING - Uncomment the next two lines to do profiling with gcc and gprof. - # Might not work with GUI or Perl. -*************** -*** 1743,1749 **** - # messages. Don't worry about that. - # If there is a real error, there will be a difference between "test.out" and - # a "test99.ok" file. -! # If everything is alright, the final message will be "ALL DONE". - # - test check: - $(MAKE) -f Makefile $(VIMTARGET) ---- 1749,1756 ---- - # messages. Don't worry about that. - # If there is a real error, there will be a difference between "test.out" and - # a "test99.ok" file. -! # If everything is alright, the final message will be "ALL DONE". If not you -! # get "TEST FAILURE". - # - test check: - $(MAKE) -f Makefile $(VIMTARGET) -*************** -*** 2427,2433 **** - $(CCC) -o $@ if_xcmdsrv.c - - objects/if_mzsch.o: if_mzsch.c -! $(CCC) -o $@ if_mzsch.c - - objects/if_perl.o: auto/if_perl.c - $(CCC) -o $@ auto/if_perl.c ---- 2434,2440 ---- - $(CCC) -o $@ if_xcmdsrv.c - - objects/if_mzsch.o: if_mzsch.c -! $(CCC) -o $@ $(MZSCHEME_CFLAGS_EXTRA) if_mzsch.c - - objects/if_perl.o: auto/if_perl.c - $(CCC) -o $@ auto/if_perl.c -*************** -*** 2436,2442 **** - $(CCC) -o $@ if_perlsfio.c - - objects/if_python.o: if_python.c -! $(CCC) -o $@ if_python.c - - objects/if_ruby.o: if_ruby.c - $(CCC) -o $@ if_ruby.c ---- 2443,2449 ---- - $(CCC) -o $@ if_perlsfio.c - - objects/if_python.o: if_python.c -! $(CCC) -o $@ $(PYTHON_CFLAGS_EXTRA) if_python.c - - objects/if_ruby.o: if_ruby.c - $(CCC) -o $@ if_ruby.c -*** ../vim-7.2.184/src/if_ruby.c 2007-09-13 15:00:49.000000000 +0200 ---- src/if_ruby.c 2009-05-22 15:32:04.000000000 +0200 -*************** -*** 492,498 **** - } - } - -! static VALUE vim_message(VALUE self, VALUE str) - { - char *buff, *p; - ---- 492,498 ---- - } - } - -! static VALUE vim_message(VALUE self UNUSED, VALUE str) - { - char *buff, *p; - -*************** -*** 505,524 **** - return Qnil; - } - -! static VALUE vim_set_option(VALUE self, VALUE str) - { - do_set((char_u *)STR2CSTR(str), 0); - update_screen(NOT_VALID); - return Qnil; - } - -! static VALUE vim_command(VALUE self, VALUE str) - { - do_cmdline_cmd((char_u *)STR2CSTR(str)); - return Qnil; - } - -! static VALUE vim_evaluate(VALUE self, VALUE str) - { - #ifdef FEAT_EVAL - char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE); ---- 505,524 ---- - return Qnil; - } - -! static VALUE vim_set_option(VALUE self UNUSED, VALUE str) - { - do_set((char_u *)STR2CSTR(str), 0); - update_screen(NOT_VALID); - return Qnil; - } - -! static VALUE vim_command(VALUE self UNUSED, VALUE str) - { - do_cmdline_cmd((char_u *)STR2CSTR(str)); - return Qnil; - } - -! static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) - { - #ifdef FEAT_EVAL - char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE); -*************** -*** 580,586 **** - return INT2NUM(n); - } - -! static VALUE buffer_s_aref(VALUE self, VALUE num) - { - buf_T *b; - int n = NUM2INT(num); ---- 580,586 ---- - return INT2NUM(n); - } - -! static VALUE buffer_s_aref(VALUE self UNUSED, VALUE num) - { - buf_T *b; - int n = NUM2INT(num); -*************** -*** 629,635 **** ---- 629,637 ---- - return line ? rb_str_new2(line) : Qnil; - } - rb_raise(rb_eIndexError, "index %d out of buffer", n); -+ #ifndef __GNUC__ - return Qnil; /* For stop warning */ -+ #endif - } - - static VALUE buffer_aref(VALUE self, VALUE num) -*************** -*** 668,674 **** ---- 670,678 ---- - else - { - rb_raise(rb_eIndexError, "index %d out of buffer", n); -+ #ifndef __GNUC__ - return Qnil; /* For stop warning */ -+ #endif - } - return str; - } -*************** -*** 789,795 **** - return get_buffer_line(curbuf, curwin->w_cursor.lnum); - } - -! static VALUE set_current_line(VALUE self, VALUE str) - { - return set_buffer_line(curbuf, curwin->w_cursor.lnum, str); - } ---- 793,799 ---- - return get_buffer_line(curbuf, curwin->w_cursor.lnum); - } - -! static VALUE set_current_line(VALUE self UNUSED, VALUE str) - { - return set_buffer_line(curbuf, curwin->w_cursor.lnum, str); - } -*************** -*** 815,821 **** - #endif - } - -! static VALUE window_s_aref(VALUE self, VALUE num) - { - win_T *w; - int n = NUM2INT(num); ---- 819,825 ---- - #endif - } - -! static VALUE window_s_aref(VALUE self UNUSED, VALUE num) - { - win_T *w; - int n = NUM2INT(num); -*************** -*** 897,903 **** - return Qnil; - } - -! static VALUE f_p(int argc, VALUE *argv, VALUE self) - { - int i; - VALUE str = rb_str_new("", 0); ---- 901,907 ---- - return Qnil; - } - -! static VALUE f_p(int argc, VALUE *argv, VALUE self UNUSED) - { - int i; - VALUE str = rb_str_new("", 0); -*** ../vim-7.2.184/src/version.c 2009-05-21 23:25:38.000000000 +0200 ---- src/version.c 2009-05-22 18:18:58.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 185, - /**/ - --- -BODY: I'm not dead! -CART DRIVER: 'Ere. He says he's not dead. -LARGE MAN: Yes he is. -BODY: I'm not! - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.186 --- a/components/vim/vim72-patches/7.2.186 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,331 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.186 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.186 -Problem: Some more compiler warnings when using gcc -Wextra. -Solution: Now with the intended if_tcl.c changes. -Files: src/if_tcl.c - - -*** ../vim-7.2.185/src/if_tcl.c 2007-05-10 20:55:34.000000000 +0200 ---- src/if_tcl.c 2009-05-22 15:29:53.000000000 +0200 -*************** -*** 290,299 **** - */ - #define TCL_EXIT 5 - -- /* ARGSUSED */ - static int - exitcmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 290,298 ---- - */ - #define TCL_EXIT 5 - - static int - exitcmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 315,324 **** - return TCL_ERROR; - } - -- /* ARGSUSED */ - static int - catchcmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 314,322 ---- - return TCL_ERROR; - } - - static int - catchcmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 356,365 **** - /* - * "::vim::beep" - what Vi[m] does best :-) - */ -- /* ARGSUSED */ - static int - beepcmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 354,362 ---- - /* - * "::vim::beep" - what Vi[m] does best :-) - */ - static int - beepcmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 378,387 **** - * "::vim::buffer {N}" - create buffer command for buffer N. - * "::vim::buffer new" - create a new buffer (not implemented) - */ -- /* ARGSUSED */ - static int - buffercmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 375,383 ---- - * "::vim::buffer {N}" - create buffer command for buffer N. - * "::vim::buffer new" - create a new buffer (not implemented) - */ - static int - buffercmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 475,484 **** - /* - * "::vim::window list" - create list of window commands. - */ -- /* ARGSUSED */ - static int - windowcmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 471,479 ---- - /* - * "::vim::window list" - create list of window commands. - */ - static int - windowcmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 1130,1139 **** - } - - -- /* ARGSUSED */ - static int - commandcmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 1125,1133 ---- - } - - - static int - commandcmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 1145,1154 **** - return err; - } - -- /* ARGSUSED */ - static int - optioncmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 1139,1147 ---- - return err; - } - - static int - optioncmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 1160,1169 **** - return err; - } - -- /* ARGSUSED */ - static int - exprcmd(dummy, interp, objc, objv) -! ClientData dummy; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; ---- 1153,1161 ---- - return err; - } - - static int - exprcmd(dummy, interp, objc, objv) -! ClientData dummy UNUSED; - Tcl_Interp *interp; - int objc; - Tcl_Obj *CONST objv[]; -*************** -*** 1584,1594 **** - I/O Channel - ********************************************/ - -- /* ARGSUSED */ - static int - channel_close(instance, interp) - ClientData instance; -! Tcl_Interp *interp; - { - int err = 0; - ---- 1576,1585 ---- - I/O Channel - ********************************************/ - - static int - channel_close(instance, interp) - ClientData instance; -! Tcl_Interp *interp UNUSED; - { - int err = 0; - -*************** -*** 1602,1613 **** - return err; - } - -- /* ARGSUSED */ - static int - channel_input(instance, buf, bufsiz, errptr) -! ClientData instance; -! char *buf; -! int bufsiz; - int *errptr; - { - ---- 1593,1603 ---- - return err; - } - - static int - channel_input(instance, buf, bufsiz, errptr) -! ClientData instance UNUSED; -! char *buf UNUSED; -! int bufsiz UNUSED; - int *errptr; - { - -*************** -*** 1659,1679 **** - return result; - } - -- /* ARGSUSED */ - static void - channel_watch(instance, mask) -! ClientData instance; -! int mask; - { - Tcl_SetErrno(EINVAL); - } - -- /* ARGSUSED */ - static int - channel_gethandle(instance, direction, handleptr) -! ClientData instance; -! int direction; -! ClientData *handleptr; - { - Tcl_SetErrno(EINVAL); - return EINVAL; ---- 1649,1667 ---- - return result; - } - - static void - channel_watch(instance, mask) -! ClientData instance UNUSED; -! int mask UNUSED; - { - Tcl_SetErrno(EINVAL); - } - - static int - channel_gethandle(instance, direction, handleptr) -! ClientData instance UNUSED; -! int direction UNUSED; -! ClientData *handleptr UNUSED; - { - Tcl_SetErrno(EINVAL); - return EINVAL; -*************** -*** 1691,1697 **** - NULL, /* set option */ - NULL, /* get option */ - channel_watch, -! channel_gethandle - }; - - /********************************** ---- 1679,1692 ---- - NULL, /* set option */ - NULL, /* get option */ - channel_watch, -! channel_gethandle, -! NULL, -! NULL, -! NULL, -! NULL, -! NULL, -! NULL, -! NULL - }; - - /********************************** -*** ../vim-7.2.185/src/version.c 2009-05-22 18:20:23.000000000 +0200 ---- src/version.c 2009-05-22 21:07:21.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 186, - /**/ - --- -ARTHUR: Old woman! -DENNIS: Man! -ARTHUR: Man. I'm sorry. Old man, What knight live in that castle over there? -DENNIS: I'm thirty-seven. - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.187 --- a/components/vim/vim72-patches/7.2.187 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,125 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.187 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.187 (after 7.2.186) -Problem: Doesn't build with older versions of TCL. (Yongwei Wu) -Solution: Add #ifdefs. (Dominique Pelle) -Files: src/if_tcl.c - - -*** ../vim-7.2.186/src/if_tcl.c 2009-05-22 21:07:45.000000000 +0200 ---- src/if_tcl.c 2009-05-23 14:23:51.000000000 +0200 -*************** -*** 161,167 **** - # endif - - /* -! * Declare HANDLE for perl.dll and function pointers. - */ - static HANDLE hTclLib = NULL; - Tcl_Interp* (*dll_Tcl_CreateInterp)(); ---- 161,167 ---- - # endif - - /* -! * Declare HANDLE for tcl.dll and function pointers. - */ - static HANDLE hTclLib = NULL; - Tcl_Interp* (*dll_Tcl_CreateInterp)(); -*************** -*** 182,188 **** - * Make all runtime-links of tcl. - * - * 1. Get module handle using LoadLibraryEx. -! * 2. Get pointer to perl function by GetProcAddress. - * 3. Repeat 2, until get all functions will be used. - * - * Parameter 'libname' provides name of DLL. ---- 182,188 ---- - * Make all runtime-links of tcl. - * - * 1. Get module handle using LoadLibraryEx. -! * 2. Get pointer to tcl function by GetProcAddress. - * 3. Repeat 2, until get all functions will be used. - * - * Parameter 'libname' provides name of DLL. -*************** -*** 1670,1692 **** - - static Tcl_ChannelType channel_type = - { -! "vimmessage", -! NULL, /* blockmode */ -! channel_close, -! channel_input, -! channel_output, -! NULL, /* seek */ -! NULL, /* set option */ -! NULL, /* get option */ -! channel_watch, -! channel_gethandle, -! NULL, -! NULL, -! NULL, -! NULL, -! NULL, -! NULL, -! NULL - }; - - /********************************** ---- 1670,1700 ---- - - static Tcl_ChannelType channel_type = - { -! "vimmessage", /* typeName */ -! NULL, /* version */ -! channel_close, /* closeProc */ -! channel_input, /* inputProc */ -! channel_output, /* outputProc */ -! NULL, /* seekProc */ -! NULL, /* setOptionProc */ -! NULL, /* getOptionProc */ -! channel_watch, /* watchProc */ -! channel_gethandle, /* getHandleProc */ -! NULL, /* close2Proc */ -! NULL, /* blockModeProc */ -! #ifdef TCL_CHANNEL_VERSION_2 -! NULL, /* flushProc */ -! NULL, /* handlerProc */ -! #endif -! #ifdef TCL_CHANNEL_VERSION_3 -! NULL, /* wideSeekProc */ -! #endif -! #ifdef TCL_CHANNEL_VERSION_4 -! NULL, /* threadActionProc */ -! #endif -! #ifdef TCL_CHANNEL_VERSION_5 -! NULL /* truncateProc */ -! #endif - }; - - /********************************** -*** ../vim-7.2.186/src/version.c 2009-05-22 21:07:45.000000000 +0200 ---- src/version.c 2009-05-23 14:25:04.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 187, - /**/ - --- -Friends? I have lots of friends! In fact, I have every episode ever made. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.188 --- a/components/vim/vim72-patches/7.2.188 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,278 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.188 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.188 -Problem: Crash with specific use of function calls. (Meikel Brandmeyer) -Solution: Make sure the items referenced by a function call are not freed - twice. (based on patch from Nico Weber) -Files: src/eval.c - - -*** ../vim-7.2.187/src/eval.c 2009-05-16 17:29:37.000000000 +0200 ---- src/eval.c 2009-05-22 20:04:22.000000000 +0200 -*************** -*** 129,136 **** ---- 129,139 ---- - /* - * When recursively copying lists and dicts we need to remember which ones we - * have done to avoid endless recursiveness. This unique ID is used for that. -+ * The last bit is used for previous_funccal, ignored when comparing. - */ - static int current_copyID = 0; -+ #define COPYID_INC 2 -+ #define COPYID_MASK (~0x1) - - /* - * Array to hold the hashtab with variables local to each sourced script. -*************** -*** 439,444 **** ---- 442,448 ---- - static void list_remove __ARGS((list_T *l, listitem_T *item, listitem_T *item2)); - static char_u *list2string __ARGS((typval_T *tv, int copyID)); - static int list_join __ARGS((garray_T *gap, list_T *l, char_u *sep, int echo, int copyID)); -+ static int free_unref_items __ARGS((int copyID)); - static void set_ref_in_ht __ARGS((hashtab_T *ht, int copyID)); - static void set_ref_in_list __ARGS((list_T *l, int copyID)); - static void set_ref_in_item __ARGS((typval_T *tv, int copyID)); -*************** -*** 6494,6507 **** - int - garbage_collect() - { -! dict_T *dd; -! list_T *ll; -! int copyID = ++current_copyID; - buf_T *buf; - win_T *wp; - int i; - funccall_T *fc, **pfc; -! int did_free = FALSE; - #ifdef FEAT_WINDOWS - tabpage_T *tp; - #endif ---- 6498,6510 ---- - int - garbage_collect() - { -! int copyID; - buf_T *buf; - win_T *wp; - int i; - funccall_T *fc, **pfc; -! int did_free; -! int did_free_funccal = FALSE; - #ifdef FEAT_WINDOWS - tabpage_T *tp; - #endif -*************** -*** 6511,6520 **** ---- 6514,6538 ---- - may_garbage_collect = FALSE; - garbage_collect_at_exit = FALSE; - -+ /* We advance by two because we add one for items referenced through -+ * previous_funccal. */ -+ current_copyID += COPYID_INC; -+ copyID = current_copyID; -+ - /* - * 1. Go through all accessible variables and mark all lists and dicts - * with copyID. - */ -+ -+ /* Don't free variables in the previous_funccal list unless they are only -+ * referenced through previous_funccal. This must be first, because if -+ * the item is referenced elsewhere it must not be freed. */ -+ for (fc = previous_funccal; fc != NULL; fc = fc->caller) -+ { -+ set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1); -+ set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID + 1); -+ } -+ - /* script-local variables */ - for (i = 1; i <= ga_scripts.ga_len; ++i) - set_ref_in_ht(&SCRIPT_VARS(i), copyID); -*************** -*** 6546,6556 **** - /* v: vars */ - set_ref_in_ht(&vimvarht, copyID); - - /* -! * 2. Go through the list of dicts and free items without the copyID. - */ - for (dd = first_dict; dd != NULL; ) -! if (dd->dv_copyID != copyID) - { - /* Free the Dictionary and ordinary items it contains, but don't - * recurse into Lists and Dictionaries, they will be in the list ---- 6564,6610 ---- - /* v: vars */ - set_ref_in_ht(&vimvarht, copyID); - -+ /* Free lists and dictionaries that are not referenced. */ -+ did_free = free_unref_items(copyID); -+ -+ /* check if any funccal can be freed now */ -+ for (pfc = &previous_funccal; *pfc != NULL; ) -+ { -+ if (can_free_funccal(*pfc, copyID)) -+ { -+ fc = *pfc; -+ *pfc = fc->caller; -+ free_funccal(fc, TRUE); -+ did_free = TRUE; -+ did_free_funccal = TRUE; -+ } -+ else -+ pfc = &(*pfc)->caller; -+ } -+ if (did_free_funccal) -+ /* When a funccal was freed some more items might be garbage -+ * collected, so run again. */ -+ (void)garbage_collect(); -+ -+ return did_free; -+ } -+ -+ /* -+ * Free lists and dictionaries that are no longer referenced. -+ */ -+ static int -+ free_unref_items(copyID) -+ int copyID; -+ { -+ dict_T *dd; -+ list_T *ll; -+ int did_free = FALSE; -+ - /* -! * Go through the list of dicts and free items without the copyID. - */ - for (dd = first_dict; dd != NULL; ) -! if ((dd->dv_copyID & COPYID_MASK) != (copyID & COPYID_MASK)) - { - /* Free the Dictionary and ordinary items it contains, but don't - * recurse into Lists and Dictionaries, they will be in the list -*************** -*** 6565,6576 **** - dd = dd->dv_used_next; - - /* -! * 3. Go through the list of lists and free items without the copyID. -! * But don't free a list that has a watcher (used in a for loop), these -! * are not referenced anywhere. - */ - for (ll = first_list; ll != NULL; ) -! if (ll->lv_copyID != copyID && ll->lv_watch == NULL) - { - /* Free the List and ordinary items it contains, but don't recurse - * into Lists and Dictionaries, they will be in the list of dicts ---- 6619,6631 ---- - dd = dd->dv_used_next; - - /* -! * Go through the list of lists and free items without the copyID. -! * But don't free a list that has a watcher (used in a for loop), these -! * are not referenced anywhere. - */ - for (ll = first_list; ll != NULL; ) -! if ((ll->lv_copyID & COPYID_MASK) != (copyID & COPYID_MASK) -! && ll->lv_watch == NULL) - { - /* Free the List and ordinary items it contains, but don't recurse - * into Lists and Dictionaries, they will be in the list of dicts -*************** -*** 6584,6603 **** - else - ll = ll->lv_used_next; - -- /* check if any funccal can be freed now */ -- for (pfc = &previous_funccal; *pfc != NULL; ) -- { -- if (can_free_funccal(*pfc, copyID)) -- { -- fc = *pfc; -- *pfc = fc->caller; -- free_funccal(fc, TRUE); -- did_free = TRUE; -- } -- else -- pfc = &(*pfc)->caller; -- } -- - return did_free; - } - ---- 6639,6644 ---- -*************** -*** 18842,18847 **** ---- 18883,18889 ---- - { - hash_init(&dict->dv_hashtab); - dict->dv_refcount = DO_NOT_FREE_CNT; -+ dict->dv_copyID = 0; - dict_var->di_tv.vval.v_dict = dict; - dict_var->di_tv.v_type = VAR_DICT; - dict_var->di_tv.v_lock = VAR_FIXED; -*************** -*** 21294,21301 **** - current_funccal = fc->caller; - --depth; - -! /* if the a:000 list and the a: dict are not referenced we can free the -! * funccall_T and what's in it. */ - if (fc->l_varlist.lv_refcount == DO_NOT_FREE_CNT - && fc->l_vars.dv_refcount == DO_NOT_FREE_CNT - && fc->l_avars.dv_refcount == DO_NOT_FREE_CNT) ---- 21336,21343 ---- - current_funccal = fc->caller; - --depth; - -! /* If the a:000 list and the l: and a: dicts are not referenced we can -! * free the funccall_T and what's in it. */ - if (fc->l_varlist.lv_refcount == DO_NOT_FREE_CNT - && fc->l_vars.dv_refcount == DO_NOT_FREE_CNT - && fc->l_avars.dv_refcount == DO_NOT_FREE_CNT) -*************** -*** 21334,21340 **** - - /* - * Return TRUE if items in "fc" do not have "copyID". That means they are not -! * referenced from anywhere. - */ - static int - can_free_funccal(fc, copyID) ---- 21376,21382 ---- - - /* - * Return TRUE if items in "fc" do not have "copyID". That means they are not -! * referenced from anywhere that is in use. - */ - static int - can_free_funccal(fc, copyID) -*** ../vim-7.2.187/src/version.c 2009-05-23 14:27:43.000000000 +0200 ---- src/version.c 2009-05-24 13:20:49.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 188, - /**/ - --- -ARTHUR: ... and I am your king .... -OLD WOMAN: Ooooh! I didn't know we had a king. I thought we were an - autonomous collective ... - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.189 --- a/components/vim/vim72-patches/7.2.189 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.189 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.189 -Problem: Possible hang for deleting auto-indent. (Dominique Pelle) -Solution: Make sure the position is not beyond the end of the line. -Files: src/edit.c - - -*** ../vim-7.2.188/src/edit.c 2009-05-16 16:36:25.000000000 +0200 ---- src/edit.c 2009-05-26 10:53:05.000000000 +0200 -*************** -*** 6420,6432 **** - - /* If we just did an auto-indent, remove the white space from the end - * of the line, and put the cursor back. -! * Do this when ESC was used or moving the cursor up/down. */ - if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL -! && curwin->w_cursor.lnum != end_insert_pos->lnum))) - { - pos_T tpos = curwin->w_cursor; - - curwin->w_cursor = *end_insert_pos; - for (;;) - { - if (gchar_cursor() == NUL && curwin->w_cursor.col > 0) ---- 6420,6436 ---- - - /* If we just did an auto-indent, remove the white space from the end - * of the line, and put the cursor back. -! * Do this when ESC was used or moving the cursor up/down. -! * Check for the old position still being valid, just in case the text -! * got changed unexpectedly. */ - if (did_ai && (esc || (vim_strchr(p_cpo, CPO_INDENT) == NULL -! && curwin->w_cursor.lnum != end_insert_pos->lnum)) -! && end_insert_pos->lnum <= curbuf->b_ml.ml_line_count) - { - pos_T tpos = curwin->w_cursor; - - curwin->w_cursor = *end_insert_pos; -+ check_cursor_col(); /* make sure it is not past the line */ - for (;;) - { - if (gchar_cursor() == NUL && curwin->w_cursor.col > 0) -*************** -*** 6434,6440 **** - cc = gchar_cursor(); - if (!vim_iswhite(cc)) - break; -! (void)del_char(TRUE); - } - if (curwin->w_cursor.lnum != tpos.lnum) - curwin->w_cursor = tpos; ---- 6438,6445 ---- - cc = gchar_cursor(); - if (!vim_iswhite(cc)) - break; -! if (del_char(TRUE) == FAIL) -! break; /* should not happen */ - } - if (curwin->w_cursor.lnum != tpos.lnum) - curwin->w_cursor = tpos; -*** ../vim-7.2.188/src/version.c 2009-05-24 13:40:17.000000000 +0200 ---- src/version.c 2009-05-26 10:50:53.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 189, - /**/ - --- -FIRST VILLAGER: We have found a witch. May we burn her? - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.190 --- a/components/vim/vim72-patches/7.2.190 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,182 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.190 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.190 -Problem: The register executed by @@ isn't restored. -Solution: Mark the executable register in the viminfo file. -Files: src/ops.c - - -*** ../vim-7.2.189/src/ops.c 2009-05-13 12:46:36.000000000 +0200 ---- src/ops.c 2009-05-26 18:05:23.000000000 +0200 -*************** -*** 1143,1148 **** ---- 1143,1150 ---- - return OK; - } - -+ static int execreg_lastc = NUL; -+ - /* - * execute a yank register: copy it into the stuff buffer - * -*************** -*** 1155,1161 **** - int addcr; /* always add '\n' to end of line */ - int silent; /* set "silent" flag in typeahead buffer */ - { -- static int lastc = NUL; - long i; - char_u *p; - int retval = OK; ---- 1157,1162 ---- -*************** -*** 1163,1174 **** - - if (regname == '@') /* repeat previous one */ - { -! if (lastc == NUL) - { - EMSG(_("E748: No previously used register")); - return FAIL; - } -! regname = lastc; - } - /* check for valid regname */ - if (regname == '%' || regname == '#' || !valid_yank_reg(regname, FALSE)) ---- 1164,1175 ---- - - if (regname == '@') /* repeat previous one */ - { -! if (execreg_lastc == NUL) - { - EMSG(_("E748: No previously used register")); - return FAIL; - } -! regname = execreg_lastc; - } - /* check for valid regname */ - if (regname == '%' || regname == '#' || !valid_yank_reg(regname, FALSE)) -*************** -*** 1176,1182 **** - emsg_invreg(regname); - return FAIL; - } -! lastc = regname; - - #ifdef FEAT_CLIPBOARD - regname = may_get_selection(regname); ---- 1177,1183 ---- - emsg_invreg(regname); - return FAIL; - } -! execreg_lastc = regname; - - #ifdef FEAT_CLIPBOARD - regname = may_get_selection(regname); -*************** -*** 5337,5347 **** ---- 5338,5351 ---- - - /* We only get here (hopefully) if line[0] == '"' */ - str = virp->vir_line + 1; -+ -+ /* If the line starts with "" this is the y_previous register. */ - if (*str == '"') - { - set_prev = TRUE; - str++; - } -+ - if (!ASCII_ISALNUM(*str) && *str != '-') - { - if (viminfo_error("E577: ", _("Illegal register name"), virp->vir_line)) -*************** -*** 5351,5356 **** ---- 5355,5368 ---- - get_yank_register(*str++, FALSE); - if (!force && y_current->y_array != NULL) - do_it = FALSE; -+ -+ if (*str == '@') -+ { -+ /* "x@: register x used for @@ */ -+ if (force || execreg_lastc == NUL) -+ execreg_lastc = str[-1]; -+ } -+ - size = 0; - limit = 100; /* Optimized for registers containing <= 100 lines */ - if (do_it) -*************** -*** 5360,5366 **** - vim_free(y_current->y_array); - array = y_current->y_array = - (char_u **)alloc((unsigned)(limit * sizeof(char_u *))); -! str = skipwhite(str); - if (STRNCMP(str, "CHAR", 4) == 0) - y_current->y_type = MCHAR; - #ifdef FEAT_VISUAL ---- 5372,5378 ---- - vim_free(y_current->y_array); - array = y_current->y_array = - (char_u **)alloc((unsigned)(limit * sizeof(char_u *))); -! str = skipwhite(skiptowhite(str)); - if (STRNCMP(str, "CHAR", 4) == 0) - y_current->y_type = MCHAR; - #ifdef FEAT_VISUAL -*************** -*** 5443,5448 **** ---- 5455,5461 ---- - max_kbyte = get_viminfo_parameter('s'); - if (max_kbyte == 0) - return; -+ - for (i = 0; i < NUM_REGISTERS; i++) - { - if (y_regs[i].y_array == NULL) -*************** -*** 5497,5503 **** - if (y_previous == &y_regs[i]) - fprintf(fp, "\""); - c = get_register_name(i); -! fprintf(fp, "\"%c\t%s\t%d\n", c, type, - #ifdef FEAT_VISUAL - (int)y_regs[i].y_width - #else ---- 5510,5519 ---- - if (y_previous == &y_regs[i]) - fprintf(fp, "\""); - c = get_register_name(i); -! fprintf(fp, "\"%c", c); -! if (c == execreg_lastc) -! fprintf(fp, "@"); -! fprintf(fp, "\t%s\t%d\n", type, - #ifdef FEAT_VISUAL - (int)y_regs[i].y_width - #else -*** ../vim-7.2.189/src/version.c 2009-05-26 11:01:43.000000000 +0200 ---- src/version.c 2009-05-26 18:10:13.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 190, - /**/ - --- -If you had to identify, in one word, the reason why the -human race has not achieved, and never will achieve, its -full potential, that word would be "meetings." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.191 --- a/components/vim/vim72-patches/7.2.191 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3573 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.191 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.191 -Problem: Mzscheme interface doesn't work on Ubuntu. -Solution: Change autoconf rules. Define missing macro. Some changes to - avoid gcc warnings. Remove per-buffer namespace. (Sergey Khorev) -Files: runtime/doc/if_mzsch.txt, src/Makefile, src/Make_ming.mak, - src/Make_mvc.mak, src/auto/configure, src/configure.in, - src/config.mk.in, src/eval.c, src/if_mzsch.c, src/if_mzsch.h, - src/main.c, src/proto/if_mzsch.pro - - -*** ../vim-7.2.190/runtime/doc/if_mzsch.txt 2008-08-09 19:36:48.000000000 +0200 ---- runtime/doc/if_mzsch.txt 2009-05-26 18:49:53.000000000 +0200 -*************** -*** 1,4 **** -! *if_mzsch.txt* For Vim version 7.2. Last change: 2008 Jun 28 - - - VIM REFERENCE MANUAL by Sergey Khorev ---- 1,4 ---- -! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 May 26 - - - VIM REFERENCE MANUAL by Sergey Khorev -*************** -*** 42,51 **** - - *:mzfile* *:mzf* - :[range]mzf[ile] {file} Execute the MzScheme script in {file}. {not in Vi} -- All statements are executed in the namespace of the -- buffer that was current during :mzfile start. -- If you want to access other namespaces, use -- 'parameterize'. - - All of these commands do essentially the same thing - they execute a piece of - MzScheme code, with the "current range" set to the given line ---- 42,47 ---- -*************** -*** 54,61 **** - In the case of :mzscheme, the code to execute is in the command-line. - In the case of :mzfile, the code to execute is the contents of the given file. - -- Each buffer has its own MzScheme namespace. Global namespace is bound to -- the "global-namespace" value from the 'vimext' module. - MzScheme interface defines exception exn:vim, derived from exn. - It is raised for various Vim errors. - ---- 50,55 ---- -*************** -*** 79,118 **** - e.g.: > - :mzscheme (require (prefix vim- vimext)) - < -! All the examples below assume this naming scheme. Note that you need to do -! this again for every buffer. - -- The auto-instantiation can be achieved with autocommands, e.g. you can put -- something like this in your .vimrc (EOFs should not have indentation): > -- function s:MzRequire() -- if has("mzscheme") -- :mz << EOF -- (require (prefix vim- vimext)) -- (let ((buf (vim-get-buff-by-name (vim-eval "expand(\"\")")))) -- (when (and buf (not (eq? buf (vim-curr-buff)))) -- (parameterize ((current-namespace (vim-get-buff-namespace buf))) -- (namespace-attach-module vim-global-namespace 'vimext) -- (namespace-require '(prefix vim vimext))))) -- EOF -- endif -- endfunction -- -- function s:MzStartup() -- if has("mzscheme") -- au BufNew,BufNewFile,BufAdd,BufReadPre * :call s:MzRequire() -- :mz << EOF -- (current-library-collection-paths -- (cons -- (build-path (find-system-path 'addon-dir) (version) "collects") -- (current-library-collection-paths))) -- EOF -- endif -- endfunction -- -- call s:MzStartup() -- < -- -- The global namespace just instantiated this module with the prefix "vimext:". - *mzscheme-sandbox* - When executed in the |sandbox|, access to some filesystem and Vim interface - procedures is restricted. ---- 73,80 ---- - e.g.: > - :mzscheme (require (prefix vim- vimext)) - < -! All the examples below assume this naming scheme. - - *mzscheme-sandbox* - When executed in the |sandbox|, access to some filesystem and Vim interface - procedures is restricted. -*************** -*** 121,135 **** - 2. Examples *mzscheme-examples* - > - :mzscheme (display "Hello") - :mzscheme (vim-set-buff-line 10 "This is line #10") - < - Inline script usage: > - function! SetFirstLine() - :mz << EOF - (display "!!!") - (vim-set-buff-line 1 "This is line #1") - (vim-beep) -! EOF - endfunction - - nmap :call SetFirstLine() ---- 83,102 ---- - 2. Examples *mzscheme-examples* - > - :mzscheme (display "Hello") -+ :mz (display (string-append "Using MzScheme version " (version))) -+ :mzscheme (require (prefix vim- vimext)) ; for MzScheme < 4.x -+ :mzscheme (require (prefix-in vim- 'vimext)) ; MzScheme 4.x - :mzscheme (vim-set-buff-line 10 "This is line #10") - < - Inline script usage: > - function! SetFirstLine() - :mz << EOF - (display "!!!") -+ (require (prefix vim- vimext)) -+ ; for newer versions (require (prefix-in vim- 'vimext)) - (vim-set-buff-line 1 "This is line #1") - (vim-beep) -! EOF - endfunction - - nmap :call SetFirstLine() -*************** -*** 137,153 **** - File execution: > - :mzfile supascript.scm - < -! Accessing the current buffer namespace from an MzScheme program running in -! another buffer within |:mzfile|-executed script : > -! ; Move to the window below -! (vim-command "wincmd j") -! ; execute in the context of buffer, to which window belongs -! ; assume that buffer has 'textstring' defined -! (parameterize ((current-namespace -! (vim-get-buff-namespace (vim-curr-buff)))) -! (eval '(vim-set-buff-line 1 textstring))) -! < - - ============================================================================== - 3. Threads *mzscheme-threads* - ---- 104,136 ---- - File execution: > - :mzfile supascript.scm - < -! Vim exception handling: > -! :mz << EOF -! (require (prefix vim- vimext)) -! ; for newer versions (require (prefix-in vim- 'vimext)) -! (with-handlers -! ([exn:vim? (lambda (e) (display (exn-message e)))]) -! (vim-eval "nonsense-string")) -! EOF -! < -! Auto-instantiation of vimext module (can be placed in your |vimrc|): > -! function! MzRequire() -! :redir => l:mzversion -! :mz (version) -! :redir END -! if strpart(l:mzversion, 1, 1) < "4" -! " MzScheme versions < 4.x: -! :mz (require (prefix vim- vimext)) -! else -! " newer versions: -! :mz (require (prefix-in vim- 'vimext)) -! endif -! endfunction - -+ if has("mzscheme") -+ silent call MzRequire() -+ endif -+ < - ============================================================================== - 3. Threads *mzscheme-threads* - -*************** -*** 168,178 **** - Common - ------ - (command {command-string}) Perform the vim ":Ex" style command. -! (eval {expr-string}) Evaluate the vim expression to a string. -! A |List| is turned into a string by -! joining the items and inserting line -! breaks. -! NOTE clashes with MzScheme eval - (range-start) Start/End of the range passed with - (range-end) the Scheme command. - (beep) beep ---- 151,161 ---- - Common - ------ - (command {command-string}) Perform the vim ":Ex" style command. -! (eval {expr-string}) Evaluate the vim expression into -! respective MzScheme object: |Lists| are -! represented as Scheme lists, -! |Dictionaries| as hash tables. -! NOTE the name clashes with MzScheme eval - (range-start) Start/End of the range passed with - (range-end) the Scheme command. - (beep) beep -*************** -*** 186,192 **** - be set. The symbol 'global can be passed - as {buffer-or-window}. Then |:setglobal| - will be used. -- global-namespace The MzScheme main namespace. - - Buffers *mzscheme-buffer* - ------- ---- 169,174 ---- -*************** -*** 228,234 **** - if there is no such buffer. - (get-buff-by-num {buffernum}) Get a buffer by its number (return #f if - there is no buffer with this number). -- (get-buff-namespace [buffer]) Get buffer namespace. - - Windows *mzscheme-window* - ------ ---- 210,215 ---- -*************** -*** 250,256 **** - (set-cursor (line . col) [window]) Set cursor position. - - ============================================================================== -! 5. Dynamic loading *mzscheme-dynamic* - - On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| - output then includes |+mzscheme/dyn|. ---- 231,237 ---- - (set-cursor (line . col) [window]) Set cursor position. - - ============================================================================== -! 5. Dynamic loading *mzscheme-dynamic* *E812* - - On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| - output then includes |+mzscheme/dyn|. -*** ../vim-7.2.190/src/Makefile 2009-05-26 18:12:19.000000000 +0200 ---- src/Makefile 2009-05-26 22:54:48.000000000 +0200 -*************** -*** 536,542 **** - # Use this with GCC to check for mistakes, unused arguments, etc. - #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code - #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers -! #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code - - # EFENCE - Electric-Fence malloc debugging: catches memory accesses beyond - # allocated memory (and makes every malloc()/free() very slow). ---- 536,542 ---- - # Use this with GCC to check for mistakes, unused arguments, etc. - #CFLAGS = -g -Wall -Wextra -Wmissing-prototypes -Wunreachable-code - #PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers -! #MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter - - # EFENCE - Electric-Fence malloc debugging: catches memory accesses beyond - # allocated memory (and makes every malloc()/free() very slow). -*************** -*** 2200,2205 **** ---- 2200,2206 ---- - -rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c - -rm -f conftest* *~ auto/link.sed - -rm -rf $(APPDIR) -+ -rm -rf mzscheme_base.c - if test -d $(PODIR); then \ - cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) clean; \ - fi -*************** -*** 2433,2440 **** - objects/if_xcmdsrv.o: if_xcmdsrv.c - $(CCC) -o $@ if_xcmdsrv.c - -! objects/if_mzsch.o: if_mzsch.c - $(CCC) -o $@ $(MZSCHEME_CFLAGS_EXTRA) if_mzsch.c - - objects/if_perl.o: auto/if_perl.c - $(CCC) -o $@ auto/if_perl.c ---- 2434,2444 ---- - objects/if_xcmdsrv.o: if_xcmdsrv.c - $(CCC) -o $@ if_xcmdsrv.c - -! objects/if_mzsch.o: if_mzsch.c $(MZSCHEME_EXTRA) - $(CCC) -o $@ $(MZSCHEME_CFLAGS_EXTRA) if_mzsch.c -+ -+ mzscheme_base.c: -+ $(MZSCHEME_MZC) --c-mods mzscheme_base.c ++lib scheme/base - - objects/if_perl.o: auto/if_perl.c - $(CCC) -o $@ auto/if_perl.c -*** ../vim-7.2.190/src/auto/configure 2009-05-21 23:25:38.000000000 +0200 ---- src/auto/configure 2009-05-26 19:12:29.000000000 +0200 -*************** -*** 701,706 **** ---- 701,708 ---- - shrpenv - vi_cv_perllib - vi_cv_path_perl -+ MZSCHEME_MZC -+ MZSCHEME_EXTRA - MZSCHEME_CFLAGS - MZSCHEME_LIBS - MZSCHEME_PRO -*************** -*** 4641,4648 **** - $as_echo "\"$PLTHOME\"" >&6; } - vi_cv_path_mzscheme_pfx="$PLTHOME" - else -! { $as_echo "$as_me:$LINENO: result: \"not set\"" >&5 -! $as_echo "\"not set\"" >&6; } - # Extract the first word of "mzscheme", so it can be a program name with args. - set dummy mzscheme; ac_word=$2 - { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 ---- 4643,4650 ---- - $as_echo "\"$PLTHOME\"" >&6; } - vi_cv_path_mzscheme_pfx="$PLTHOME" - else -! { $as_echo "$as_me:$LINENO: result: not set" >&5 -! $as_echo "not set" >&6; } - # Extract the first word of "mzscheme", so it can be a program name with args. - set dummy mzscheme; ac_word=$2 - { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -*************** -*** 4697,4712 **** - if test "${vi_cv_path_mzscheme_pfx+set}" = set; then - $as_echo_n "(cached) " >&6 - else -! vi_cv_path_mzscheme_pfx=` -! ${vi_cv_path_mzscheme} -evm \ -! "(display (simplify-path \ - (build-path (call-with-values \ - (lambda () (split-path (find-system-path (quote exec-file)))) \ -! (lambda (base name must-be-dir?) base)) (quote up))))"` - fi - { $as_echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme_pfx" >&5 - $as_echo "$vi_cv_path_mzscheme_pfx" >&6; } -! vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'` - fi - fi - fi ---- 4699,4714 ---- - if test "${vi_cv_path_mzscheme_pfx+set}" = set; then - $as_echo_n "(cached) " >&6 - else -! echo "(display (simplify-path \ - (build-path (call-with-values \ - (lambda () (split-path (find-system-path (quote exec-file)))) \ -! (lambda (base name must-be-dir?) base)) (quote up))))" > mzdirs.scm -! vi_cv_path_mzscheme_pfx=`${vi_cv_path_mzscheme} -r mzdirs.scm | \ -! sed -e 's+/$++'` - fi - { $as_echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme_pfx" >&5 - $as_echo "$vi_cv_path_mzscheme_pfx" >&6; } -! rm -f mzdirs.scm - fi - fi - fi -*************** -*** 4716,4736 **** - { $as_echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include" >&5 - $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include... " >&6; } - if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then -! { $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; } -! { $as_echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include" >&5 -! $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include... " >&6; } - if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then -! { $as_echo "$as_me:$LINENO: result: \"yes\"" >&5 -! $as_echo "\"yes\"" >&6; } -! SCHEME_INC=/plt - else -! { $as_echo "$as_me:$LINENO: result: \"no\"" >&5 -! $as_echo "\"no\"" >&6; } -! vi_cv_path_mzscheme_pfx= - fi - fi - fi ---- 4718,4749 ---- - { $as_echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include" >&5 - $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include... " >&6; } - if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then -! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include -! { $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; } -! { $as_echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/plt" >&5 -! $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/plt... " >&6; } - if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then -! { $as_echo "$as_me:$LINENO: result: yes" >&5 -! $as_echo "yes" >&6; } -! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt - else -! { $as_echo "$as_me:$LINENO: result: no" >&5 -! $as_echo "no" >&6; } -! { $as_echo "$as_me:$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:$LINENO: result: yes" >&5 -! $as_echo "yes" >&6; } -! SCHEME_INC=/usr/include/plt -! else -! { $as_echo "$as_me:$LINENO: result: no" >&5 -! $as_echo "no" >&6; } -! vi_cv_path_mzscheme_pfx= -! fi - fi - fi - fi -*************** -*** 4738,4758 **** - if test "X$vi_cv_path_mzscheme_pfx" != "X"; then - if test "x$MACOSX" = "xyes"; then - MZSCHEME_LIBS="-framework PLT_MzScheme" - 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 -! MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc" - if test "$GCC" = yes; then -! MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib" - elif test "`(uname) 2>/dev/null`" = SunOS && - uname -r | grep '^5' >/dev/null; then -! MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib" - fi - fi - if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then - SCHEME_COLLECTS=lib/plt/ - fi -! MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include${SCHEME_INC} \ - -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'" - MZSCHEME_SRC="if_mzsch.c" - MZSCHEME_OBJ="objects/if_mzsch.o" ---- 4751,4784 ---- - if test "X$vi_cv_path_mzscheme_pfx" != "X"; then - if test "x$MACOSX" = "xyes"; then - MZSCHEME_LIBS="-framework PLT_MzScheme" -+ 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 - if test "$GCC" = yes; then -! MZSCHEME_LIBS="${MZSCHEME_LIBS} -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib" - elif test "`(uname) 2>/dev/null`" = SunOS && - uname -r | grep '^5' >/dev/null; then -! MZSCHEME_LIBS="${MZSCHEME_LIBS} -R ${vi_cv_path_mzscheme_pfx}/lib" - fi - 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} \ - -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'" - MZSCHEME_SRC="if_mzsch.c" - MZSCHEME_OBJ="objects/if_mzsch.o" -*************** -*** 4767,4772 **** ---- 4793,4800 ---- - - - -+ -+ - fi - - -*** ../vim-7.2.190/src/configure.in 2009-05-21 23:25:38.000000000 +0200 ---- src/configure.in 2009-05-26 18:57:35.000000000 +0200 -*************** -*** 414,420 **** - AC_MSG_RESULT("$PLTHOME") - vi_cv_path_mzscheme_pfx="$PLTHOME" - else -! AC_MSG_RESULT("not set") - dnl -- try to find MzScheme executable - AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme) - ---- 414,420 ---- - AC_MSG_RESULT("$PLTHOME") - vi_cv_path_mzscheme_pfx="$PLTHOME" - else -! AC_MSG_RESULT(not set) - dnl -- try to find MzScheme executable - AC_PATH_PROG(vi_cv_path_mzscheme, mzscheme) - -*************** -*** 430,443 **** - if test "X$vi_cv_path_mzscheme" != "X"; then - dnl -- find where MzScheme thinks it was installed - AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx, -! [ vi_cv_path_mzscheme_pfx=` -! ${vi_cv_path_mzscheme} -evm \ -! "(display (simplify-path \ - (build-path (call-with-values \ - (lambda () (split-path (find-system-path (quote exec-file)))) \ -! (lambda (base name must-be-dir?) base)) (quote up))))"` ]) -! dnl Remove a trailing slash. -! vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'` - fi - fi - fi ---- 430,445 ---- - if test "X$vi_cv_path_mzscheme" != "X"; then - dnl -- find where MzScheme thinks it was installed - AC_CACHE_CHECK(MzScheme install prefix,vi_cv_path_mzscheme_pfx, -! dnl different versions of MzScheme differ in command line processing -! dnl use universal approach -! echo "(display (simplify-path \ - (build-path (call-with-values \ - (lambda () (split-path (find-system-path (quote exec-file)))) \ -! (lambda (base name must-be-dir?) base)) (quote up))))" > mzdirs.scm -! dnl Remove a trailing slash -! [ vi_cv_path_mzscheme_pfx=`${vi_cv_path_mzscheme} -r mzdirs.scm | \ -! sed -e 's+/$++'` ]) -! rm -f mzdirs.scm - fi - fi - fi -*************** -*** 446,461 **** - if test "X$vi_cv_path_mzscheme_pfx" != "X"; then - AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include) - if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then -! AC_MSG_RESULT("yes") - else -! AC_MSG_RESULT("no") -! AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include) - if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then -! AC_MSG_RESULT("yes") -! SCHEME_INC=/plt - else -! AC_MSG_RESULT("no") -! vi_cv_path_mzscheme_pfx= - fi - fi - fi ---- 448,471 ---- - if test "X$vi_cv_path_mzscheme_pfx" != "X"; then - AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include) - if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then -! SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include -! AC_MSG_RESULT(yes) - else -! AC_MSG_RESULT(no) -! AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/plt) - if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then -! AC_MSG_RESULT(yes) -! 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 - fi -*************** -*** 463,485 **** - if test "X$vi_cv_path_mzscheme_pfx" != "X"; then - if test "x$MACOSX" = "xyes"; then - MZSCHEME_LIBS="-framework PLT_MzScheme" - 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 -! MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc" - if test "$GCC" = yes; then - dnl Make Vim remember the path to the library. For when it's not in - dnl $LD_LIBRARY_PATH. -! MZSCHEME_LIBS="$MZSCHEME_LIBS -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib" - elif test "`(uname) 2>/dev/null`" = SunOS && - uname -r | grep '^5' >/dev/null; then -! MZSCHEME_LIBS="$MZSCHEME_LIBS -R ${vi_cv_path_mzscheme_pfx}/lib" - fi - fi - if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then - SCHEME_COLLECTS=lib/plt/ - fi -! MZSCHEME_CFLAGS="-I${vi_cv_path_mzscheme_pfx}/include${SCHEME_INC} \ - -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'" - MZSCHEME_SRC="if_mzsch.c" - MZSCHEME_OBJ="objects/if_mzsch.o" ---- 473,510 ---- - if test "X$vi_cv_path_mzscheme_pfx" != "X"; then - if test "x$MACOSX" = "xyes"; then - MZSCHEME_LIBS="-framework PLT_MzScheme" -+ 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 - if test "$GCC" = yes; then - dnl Make Vim remember the path to the library. For when it's not in - dnl $LD_LIBRARY_PATH. -! MZSCHEME_LIBS="${MZSCHEME_LIBS} -Wl,-rpath -Wl,${vi_cv_path_mzscheme_pfx}/lib" - elif test "`(uname) 2>/dev/null`" = SunOS && - uname -r | grep '^5' >/dev/null; then -! MZSCHEME_LIBS="${MZSCHEME_LIBS} -R ${vi_cv_path_mzscheme_pfx}/lib" - fi - 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 -! MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \ - -DMZSCHEME_COLLECTS='\"${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects\"'" - MZSCHEME_SRC="if_mzsch.c" - MZSCHEME_OBJ="objects/if_mzsch.o" -*************** -*** 491,496 **** ---- 516,523 ---- - AC_SUBST(MZSCHEME_PRO) - AC_SUBST(MZSCHEME_LIBS) - AC_SUBST(MZSCHEME_CFLAGS) -+ AC_SUBST(MZSCHEME_EXTRA) -+ AC_SUBST(MZSCHEME_MZC) - fi - - -*** ../vim-7.2.190/src/config.mk.in 2008-06-25 00:49:03.000000000 +0200 ---- src/config.mk.in 2009-05-26 18:57:49.000000000 +0200 -*************** -*** 41,46 **** ---- 41,48 ---- - MZSCHEME_OBJ = @MZSCHEME_OBJ@ - MZSCHEME_CFLAGS = @MZSCHEME_CFLAGS@ - MZSCHEME_PRO = @MZSCHEME_PRO@ -+ MZSCHEME_EXTRA = @MZSCHEME_EXTRA@ -+ MZSCHEME_MZC = @MZSCHEME_MZC@ - - PERL = @vi_cv_path_perl@ - PERLLIB = @vi_cv_perllib@ -*** ../vim-7.2.190/src/eval.c 2009-05-24 13:40:17.000000000 +0200 ---- src/eval.c 2009-05-26 18:58:20.000000000 +0200 -*************** -*** 5866,5872 **** - return item1 == NULL && item2 == NULL; - } - -! #if defined(FEAT_PYTHON) || defined(PROTO) - /* - * Return the dictitem that an entry in a hashtable points to. - */ ---- 5866,5872 ---- - return item1 == NULL && item2 == NULL; - } - -! #if defined(FEAT_PYTHON) || defined(FEAT_MZSCHEME) || defined(PROTO) - /* - * Return the dictitem that an entry in a hashtable points to. - */ -*** ../vim-7.2.190/src/if_mzsch.c 2009-05-17 16:23:20.000000000 +0200 ---- src/if_mzsch.c 2009-05-26 19:24:18.000000000 +0200 -*************** -*** 4,9 **** ---- 4,11 ---- - * Original work by Brent Fulgham - * (Based on lots of help from Matthew Flatt) - * -+ * TODO Convert byte-strings to char strings? -+ * - * This consists of six parts: - * 1. MzScheme interpreter main program - * 2. Routines that handle the external interface between MzScheme and -*************** -*** 18,24 **** - * garbage collector will do it self - * 2. Requires at least NORMAL features. I can't imagine why one may want - * to build with SMALL or TINY features but with MzScheme interface. -! * 3. I don't use K&R-style functions. Anyway, MzScheme headers are ANSI. - */ - - #include "vim.h" ---- 20,26 ---- - * garbage collector will do it self - * 2. Requires at least NORMAL features. I can't imagine why one may want - * to build with SMALL or TINY features but with MzScheme interface. -! * 3. I don't use K&R-style functions. Anyways, MzScheme headers are ANSI. - */ - - #include "vim.h" -*************** -*** 29,42 **** - * depend". */ - #if defined(FEAT_MZSCHEME) || defined(PROTO) - - /* Base data structures */ - #define SCHEME_VIMBUFFERP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_buffer_type) - #define SCHEME_VIMWINDOWP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_window_type) - - typedef struct - { -! Scheme_Type tag; -! Scheme_Env *env; - buf_T *buf; - } vim_mz_buffer; - ---- 31,45 ---- - * depend". */ - #if defined(FEAT_MZSCHEME) || defined(PROTO) - -+ #include -+ - /* Base data structures */ - #define SCHEME_VIMBUFFERP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_buffer_type) - #define SCHEME_VIMWINDOWP(obj) SAME_TYPE(SCHEME_TYPE(obj), mz_window_type) - - typedef struct - { -! Scheme_Object so; - buf_T *buf; - } vim_mz_buffer; - -*************** -*** 44,50 **** - - typedef struct - { -! Scheme_Type tag; - win_T *win; - } vim_mz_window; - ---- 47,53 ---- - - typedef struct - { -! Scheme_Object so; - win_T *win; - } vim_mz_window; - -*************** -*** 67,85 **** - Scheme_Object *port; - } Port_Info; - -- /* info for closed prim */ -- /* -- * data have different means: -- * for do_eval it is char* -- * for do_apply is Apply_Onfo* -- * for do_load is Port_Info* -- */ -- typedef struct -- { -- void *data; -- Scheme_Env *env; -- } Cmd_Info; -- - /* info for do_apply */ - typedef struct - { ---- 70,75 ---- -*************** -*** 122,128 **** - static Scheme_Object *insert_buffer_line_list(void *, int, Scheme_Object **); - static Scheme_Object *get_range_start(void *, int, Scheme_Object **); - static Scheme_Object *get_range_end(void *, int, Scheme_Object **); -- static Scheme_Object *get_buffer_namespace(void *, int, Scheme_Object **); - static vim_mz_buffer *get_vim_curr_buffer(void); - - /* Window-related commands */ ---- 112,117 ---- -*************** -*** 163,170 **** - static int do_mzscheme_command(exarg_T *, void *, Scheme_Closed_Prim *what); - static void startup_mzscheme(void); - static char *string_to_line(Scheme_Object *obj); -- static int mzscheme_io_init(void); -- static void mzscheme_interface_init(vim_mz_buffer *self); - static void do_output(char *mesg, long len); - static void do_printf(char *format, ...); - static void do_flush(void); ---- 152,157 ---- -*************** -*** 174,192 **** - static Scheme_Object *do_eval(void *, int noargc, Scheme_Object **noargv); - static Scheme_Object *do_load(void *, int noargc, Scheme_Object **noargv); - static Scheme_Object *do_apply(void *, int noargc, Scheme_Object **noargv); -! static void register_vim_exn(Scheme_Env *env); - static vim_mz_buffer *get_buffer_arg(const char *fname, int argnum, - int argc, Scheme_Object **argv); - static vim_mz_window *get_window_arg(const char *fname, int argnum, - int argc, Scheme_Object **argv); -- static void add_vim_exn(Scheme_Env *env); - static int line_in_range(linenr_T, buf_T *); - static void check_line_range(linenr_T, buf_T *); - static void mz_fix_cursor(int lo, int hi, int extra); - -! static int eval_in_namespace(void *, Scheme_Closed_Prim *, Scheme_Env *, -! Scheme_Object **ret); -! static void make_modules(Scheme_Env *); - - #ifdef DYNAMIC_MZSCHEME - ---- 161,212 ---- - static Scheme_Object *do_eval(void *, int noargc, Scheme_Object **noargv); - static Scheme_Object *do_load(void *, int noargc, Scheme_Object **noargv); - static Scheme_Object *do_apply(void *, int noargc, Scheme_Object **noargv); -! static void register_vim_exn(void); - static vim_mz_buffer *get_buffer_arg(const char *fname, int argnum, - int argc, Scheme_Object **argv); - static vim_mz_window *get_window_arg(const char *fname, int argnum, - int argc, Scheme_Object **argv); - static int line_in_range(linenr_T, buf_T *); - static void check_line_range(linenr_T, buf_T *); - static void mz_fix_cursor(int lo, int hi, int extra); - -! static int eval_with_exn_handling(void *, Scheme_Closed_Prim *, -! Scheme_Object **ret); -! static void make_modules(void); -! static void init_exn_catching_apply(void); -! static int mzscheme_env_main(Scheme_Env *env, int argc, char **argv); -! static int mzscheme_init(void); -! #ifdef FEAT_EVAL -! static Scheme_Object *vim_to_mzscheme(typval_T *vim_value, int depth, -! Scheme_Hash_Table *visited); -! #endif -! -! #ifdef MZ_PRECISE_GC -! static int buffer_size_proc(void *obj) -! { -! return gcBYTES_TO_WORDS(sizeof(vim_mz_buffer)); -! } -! static int buffer_mark_proc(void *obj) -! { -! return buffer_size_proc(obj); -! } -! static int buffer_fixup_proc(void *obj) -! { -! return buffer_size_proc(obj); -! } -! static int window_size_proc(void *obj) -! { -! return gcBYTES_TO_WORDS(sizeof(vim_mz_window)); -! } -! static int window_mark_proc(void *obj) -! { -! return window_size_proc(obj); -! } -! static int window_fixup_proc(void *obj) -! { -! return window_size_proc(obj); -! } -! #endif - - #ifdef DYNAMIC_MZSCHEME - -*************** -*** 260,267 **** - (Scheme_Closed_Prim *prim, void *data, const char *name, mzshort mina, - mzshort maxa); - static Scheme_Object *(*dll_scheme_make_integer_value)(long i); -- static Scheme_Object *(*dll_scheme_make_namespace)(int argc, -- Scheme_Object *argv[]); - static Scheme_Object *(*dll_scheme_make_pair)(Scheme_Object *car, - Scheme_Object *cdr); - static Scheme_Object *(*dll_scheme_make_prim_w_arity)(Scheme_Prim *prim, ---- 280,285 ---- -*************** -*** 311,316 **** ---- 329,345 ---- - static Scheme_Object *(*dll_scheme_char_string_to_path) - (Scheme_Object *s); - # endif -+ static Scheme_Hash_Table *(*dll_scheme_make_hash_table)(int type); -+ static void (*dll_scheme_hash_set)(Scheme_Hash_Table *table, -+ Scheme_Object *key, Scheme_Object *value); -+ static Scheme_Object *(*dll_scheme_hash_get)(Scheme_Hash_Table *table, -+ Scheme_Object *key); -+ static Scheme_Object *(*dll_scheme_make_double)(double d); -+ # ifdef INCLUDE_MZSCHEME_BASE -+ static Scheme_Object *(*dll_scheme_make_sized_byte_string)(char *chars, -+ long len, int copy); -+ static Scheme_Object *(*dll_scheme_namespace_require)(Scheme_Object *req); -+ # endif - - /* arrays are imported directly */ - # define scheme_eof dll_scheme_eof -*************** -*** 368,374 **** - # define scheme_lookup_global dll_scheme_lookup_global - # define scheme_make_closed_prim_w_arity dll_scheme_make_closed_prim_w_arity - # define scheme_make_integer_value dll_scheme_make_integer_value -- # define scheme_make_namespace dll_scheme_make_namespace - # define scheme_make_pair dll_scheme_make_pair - # define scheme_make_prim_w_arity dll_scheme_make_prim_w_arity - # if MZSCHEME_VERSION_MAJOR < 299 ---- 397,402 ---- -*************** -*** 403,408 **** ---- 431,444 ---- - # define scheme_char_string_to_path \ - dll_scheme_char_string_to_path - # endif -+ # define scheme_make_hash_table dll_scheme_make_hash_table -+ # define scheme_hash_set dll_scheme_hash_set -+ # define scheme_hash_get dll_scheme_hash_get -+ # define scheme_make_double dll_scheme_make_double -+ # ifdef INCLUDE_MZSCHEME_BASE -+ # define scheme_make_sized_byte_string dll_scheme_make_sized_byte_string -+ # define scheme_namespace_require dll_scheme_namespace_require -+ # endif - - typedef struct - { -*************** -*** 468,474 **** - {"scheme_make_closed_prim_w_arity", - (void **)&dll_scheme_make_closed_prim_w_arity}, - {"scheme_make_integer_value", (void **)&dll_scheme_make_integer_value}, -- {"scheme_make_namespace", (void **)&dll_scheme_make_namespace}, - {"scheme_make_pair", (void **)&dll_scheme_make_pair}, - {"scheme_make_prim_w_arity", (void **)&dll_scheme_make_prim_w_arity}, - # if MZSCHEME_VERSION_MAJOR < 299 ---- 504,509 ---- -*************** -*** 502,510 **** - {"scheme_current_config", (void **)&dll_scheme_current_config}, - {"scheme_char_string_to_byte_string", - (void **)&dll_scheme_char_string_to_byte_string}, -! {"scheme_char_string_to_path", -! (void **)&dll_scheme_char_string_to_path}, - # endif - {NULL, NULL}}; - - static HINSTANCE hMzGC = 0; ---- 537,552 ---- - {"scheme_current_config", (void **)&dll_scheme_current_config}, - {"scheme_char_string_to_byte_string", - (void **)&dll_scheme_char_string_to_byte_string}, -! {"scheme_char_string_to_path", (void **)&dll_scheme_char_string_to_path}, - # endif -+ {"scheme_make_hash_table", (void **)&dll_scheme_make_hash_table}, -+ {"scheme_hash_set", (void **)&dll_scheme_hash_set}, -+ {"scheme_hash_get", (void **)&dll_scheme_hash_get}, -+ {"scheme_make_double", (void **)&dll_scheme_make_double}, -+ # ifdef INCLUDE_MZSCHEME_BASE -+ {"scheme_make_sized_byte_string", (void **)&dll_scheme_make_sized_byte_string}, -+ {"scheme_namespace_require", (void **)&dll_scheme_namespace_require}, -+ #endif - {NULL, NULL}}; - - static HINSTANCE hMzGC = 0; -*************** -*** 592,597 **** ---- 634,644 ---- - } - #endif /* DYNAMIC_MZSCHEME */ - -+ /* need to put it here for dynamic stuff to work */ -+ #ifdef INCLUDE_MZSCHEME_BASE -+ # include "mzscheme_base.c" -+ #endif -+ - /* - *======================================================================== - * 1. MzScheme interpreter startup -*************** -*** 601,621 **** - static Scheme_Type mz_buffer_type; - static Scheme_Type mz_window_type; - -! static int initialized = 0; - - /* global environment */ - static Scheme_Env *environment = NULL; - /* output/error handlers */ - static Scheme_Object *curout = NULL; - static Scheme_Object *curerr = NULL; -! /* vim:exn exception */ - static Scheme_Object *exn_catching_apply = NULL; - static Scheme_Object *exn_p = NULL; - static Scheme_Object *exn_message = NULL; - static Scheme_Object *vim_exn = NULL; /* Vim Error exception */ -! /* values for exn:vim - constructor, predicate, accessors etc */ -! static Scheme_Object *vim_exn_names = NULL; -! static Scheme_Object *vim_exn_values = NULL; - - static long range_start; - static long range_end; ---- 648,669 ---- - static Scheme_Type mz_buffer_type; - static Scheme_Type mz_window_type; - -! static int initialized = FALSE; - - /* global environment */ - static Scheme_Env *environment = NULL; - /* output/error handlers */ - static Scheme_Object *curout = NULL; - static Scheme_Object *curerr = NULL; -! /* exn:vim exception */ - static Scheme_Object *exn_catching_apply = NULL; - static Scheme_Object *exn_p = NULL; - static Scheme_Object *exn_message = NULL; - static Scheme_Object *vim_exn = NULL; /* Vim Error exception */ -! -! #if !defined(MZ_PRECISE_GC) || MZSCHEME_VERSION_MAJOR < 400 -! static void *stack_base = NULL; -! #endif - - static long range_start; - static long range_end; -*************** -*** 668,677 **** - timer_proc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) - # elif defined(FEAT_GUI_GTK) - static gint -! timer_proc(gpointer data UNUSED) - # elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) - static void -! timer_proc(XtPointer timed_out UNUSED, XtIntervalId *interval_id UNUSED) - # elif defined(FEAT_GUI_MAC) - pascal void - timer_proc(EventLoopTimerRef theTimer, void *userData) ---- 716,725 ---- - timer_proc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) - # elif defined(FEAT_GUI_GTK) - static gint -! timer_proc(gpointer data) - # elif defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_ATHENA) - static void -! timer_proc(XtPointer timed_out, XtIntervalId *interval_id) - # elif defined(FEAT_GUI_MAC) - pascal void - timer_proc(EventLoopTimerRef theTimer, void *userData) -*************** -*** 751,762 **** - #endif - } - - static void - startup_mzscheme(void) - { -! Scheme_Object *proc_make_security_guard; -! -! scheme_set_stack_base(NULL, 1); - - MZ_REGISTER_STATIC(environment); - MZ_REGISTER_STATIC(curout); ---- 799,862 ---- - #endif - } - -+ void -+ mzscheme_main(void) -+ { -+ #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); -+ #else -+ mzscheme_env_main(NULL, 0, NULL); -+ #endif -+ } -+ -+ static int -+ mzscheme_env_main(Scheme_Env *env, int argc, char **argv) -+ { -+ /* neither argument nor return values are used */ -+ #ifdef MZ_PRECISE_GC -+ # if MZSCHEME_VERSION_MAJOR < 400 -+ /* -+ * Starting from version 4.x, embedding applications must use -+ * scheme_main_setup/scheme_main_stack_setup trampolines -+ * rather than setting stack base directly with scheme_set_stack_base -+ */ -+ Scheme_Object *dummy = NULL; -+ MZ_GC_DECL_REG(1); -+ MZ_GC_VAR_IN_REG(0, dummy); -+ -+ stack_base = &__gc_var_stack__; -+ # else -+ /* environment has been created by us by Scheme */ -+ environment = env; -+ # endif -+ /* -+ * In 4.x, all activities must be performed inside trampoline -+ * so we are forced to initialise GC immediately -+ * This can be postponed in 3.x but I see no point in implementing -+ * a feature which will work in older versions only. -+ * One would better use conservative GC if he needs dynamic MzScheme -+ */ -+ mzscheme_init(); -+ #else -+ int dummy = 0; -+ stack_base = (void *)&dummy; -+ #endif -+ main_loop(FALSE, FALSE); -+ #if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR < 400 -+ /* releasing dummy */ -+ MZ_GC_REG(); -+ MZ_GC_UNREG(); -+ #endif -+ return 0; -+ } -+ - static void - startup_mzscheme(void) - { -! #if !defined(MZ_PRECISE_GC) || MZSCHEME_VERSION_MAJOR < 400 -! scheme_set_stack_base(stack_base, 1); -! #endif - - MZ_REGISTER_STATIC(environment); - MZ_REGISTER_STATIC(curout); -*************** -*** 765,774 **** - MZ_REGISTER_STATIC(exn_p); - MZ_REGISTER_STATIC(exn_message); - MZ_REGISTER_STATIC(vim_exn); -- MZ_REGISTER_STATIC(vim_exn_names); -- MZ_REGISTER_STATIC(vim_exn_values); - - environment = scheme_basic_env(); - - /* redirect output */ - scheme_console_output = do_output; ---- 865,899 ---- - MZ_REGISTER_STATIC(exn_p); - MZ_REGISTER_STATIC(exn_message); - MZ_REGISTER_STATIC(vim_exn); - -+ #if !defined(MZ_PRECISE_GC) || MZSCHEME_VERSION_MAJOR < 400 -+ /* in newer versions of precise GC the initial env has been created */ - environment = scheme_basic_env(); -+ #endif -+ MZ_GC_CHECK(); -+ -+ #ifdef INCLUDE_MZSCHEME_BASE -+ { -+ /* -+ * versions 4.x do not provide Scheme bindings by defaults -+ * we need to add them explicitly -+ */ -+ Scheme_Object *scheme_base_symbol = NULL; -+ MZ_GC_DECL_REG(1); -+ MZ_GC_VAR_IN_REG(0, scheme_base_symbol); -+ MZ_GC_REG(); -+ /* invoke function from generated and included base.c */ -+ declare_modules(environment); -+ scheme_base_symbol = scheme_intern_symbol("scheme/base"); -+ MZ_GC_CHECK(); -+ scheme_namespace_require(scheme_base_symbol); -+ MZ_GC_CHECK(); -+ MZ_GC_UNREG(); -+ } -+ #endif -+ register_vim_exn(); -+ /* use new environment to initialise exception handling */ -+ init_exn_catching_apply(); - - /* redirect output */ - scheme_console_output = do_output; -*************** -*** 776,823 **** - - #ifdef MZSCHEME_COLLECTS - /* setup 'current-library-collection-paths' parameter */ -- scheme_set_param(scheme_config, MZCONFIG_COLLECTION_PATHS, -- scheme_make_pair( - # if MZSCHEME_VERSION_MAJOR >= 299 -! scheme_char_string_to_path( -! scheme_byte_string_to_char_string( -! scheme_make_byte_string(MZSCHEME_COLLECTS))), - # else -! scheme_make_string(MZSCHEME_COLLECTS), - # endif -- scheme_null)); - #endif - #ifdef HAVE_SANDBOX -! /* setup sandbox guards */ -! proc_make_security_guard = scheme_lookup_global( -! scheme_intern_symbol("make-security-guard"), -! environment); -! if (proc_make_security_guard != NULL) -! { -! Scheme_Object *args[3]; -! Scheme_Object *guard; -! args[0] = scheme_get_param(scheme_config, MZCONFIG_SECURITY_GUARD); -! args[1] = scheme_make_prim_w_arity(sandbox_file_guard, -! "sandbox-file-guard", 3, 3); -! args[2] = scheme_make_prim_w_arity(sandbox_network_guard, -! "sandbox-network-guard", 4, 4); -! guard = scheme_apply(proc_make_security_guard, 3, args); -! scheme_set_param(scheme_config, MZCONFIG_SECURITY_GUARD, guard); - } - #endif - /* Create buffer and window types for use in Scheme code */ - mz_buffer_type = scheme_make_type(""); - mz_window_type = scheme_make_type(""); - -! register_vim_exn(environment); -! make_modules(environment); - - /* - * setup callback to receive notifications - * whether thread scheduling is (or not) required - */ - scheme_notify_multithread = notify_multithread; -- initialized = 1; - } - - /* ---- 901,1031 ---- - - #ifdef MZSCHEME_COLLECTS - /* setup 'current-library-collection-paths' parameter */ - # if MZSCHEME_VERSION_MAJOR >= 299 -! { -! Scheme_Object *coll_byte_string = NULL; -! Scheme_Object *coll_char_string = NULL; -! Scheme_Object *coll_path = NULL; -! Scheme_Object *coll_pair = NULL; -! Scheme_Config *config = NULL; -! -! MZ_GC_DECL_REG(5); -! MZ_GC_VAR_IN_REG(0, coll_byte_string); -! MZ_GC_VAR_IN_REG(1, coll_char_string); -! MZ_GC_VAR_IN_REG(2, coll_path); -! MZ_GC_VAR_IN_REG(3, coll_pair); -! MZ_GC_VAR_IN_REG(4, config); -! MZ_GC_REG(); -! coll_byte_string = scheme_make_byte_string(MZSCHEME_COLLECTS); -! MZ_GC_CHECK(); -! coll_char_string = scheme_byte_string_to_char_string(coll_byte_string); -! MZ_GC_CHECK(); -! coll_path = scheme_char_string_to_path(coll_char_string); -! MZ_GC_CHECK(); -! coll_pair = scheme_make_pair(coll_path, scheme_null); -! MZ_GC_CHECK(); -! config = scheme_config; -! MZ_GC_CHECK(); -! scheme_set_param(config, MZCONFIG_COLLECTION_PATHS, coll_pair); -! MZ_GC_CHECK(); -! MZ_GC_UNREG(); -! } - # else -! { -! Scheme_Object *coll_string = NULL; -! Scheme_Object *coll_pair = NULL; -! Scheme_Config *config = NULL; -! -! MZ_GC_DECL_REG(3); -! MZ_GC_VAR_IN_REG(0, coll_string); -! MZ_GC_VAR_IN_REG(1, coll_pair); -! MZ_GC_VAR_IN_REG(2, config); -! MZ_GC_REG(); -! coll_string = scheme_make_string(MZSCHEME_COLLECTS); -! MZ_GC_CHECK(); -! coll_pair = scheme_make_pair(coll_string, scheme_null); -! MZ_GC_CHECK(); -! config = scheme_config; -! MZ_GC_CHECK(); -! scheme_set_param(config, MZCONFIG_COLLECTION_PATHS, coll_pair); -! MZ_GC_CHECK(); -! MZ_GC_UNREG(); -! } - # endif - #endif - #ifdef HAVE_SANDBOX -! { -! Scheme_Object *make_security_guard = NULL; -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, make_security_guard); -! MZ_GC_REG(); -! -! #if MZSCHEME_VERSION_MAJOR < 400 -! { -! Scheme_Object *make_security_guard_symbol = NULL; -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, make_security_guard_symbol); -! MZ_GC_REG(); -! make_security_guard_symbol = scheme_intern_symbol("make-security-guard"); -! MZ_GC_CHECK(); -! make_security_guard = scheme_lookup_global( -! make_security_guard_symbol, environment); -! MZ_GC_UNREG(); -! } -! #else -! make_security_guard = scheme_builtin_value("make-security-guard"); -! MZ_GC_CHECK(); -! #endif -! -! /* setup sandbox guards */ -! if (make_security_guard != NULL) -! { -! Scheme_Object *args[3] = {NULL, NULL, NULL}; -! Scheme_Object *guard = NULL; -! Scheme_Config *config = NULL; -! MZ_GC_DECL_REG(5); -! MZ_GC_ARRAY_VAR_IN_REG(0, args, 3); -! MZ_GC_VAR_IN_REG(3, guard); -! MZ_GC_VAR_IN_REG(4, config); -! MZ_GC_REG(); -! config = scheme_config; -! MZ_GC_CHECK(); -! args[0] = scheme_get_param(config, MZCONFIG_SECURITY_GUARD); -! MZ_GC_CHECK(); -! args[1] = scheme_make_prim_w_arity(sandbox_file_guard, -! "sandbox-file-guard", 3, 3); -! args[2] = scheme_make_prim_w_arity(sandbox_network_guard, -! "sandbox-network-guard", 4, 4); -! guard = scheme_apply(make_security_guard, 3, args); -! MZ_GC_CHECK(); -! scheme_set_param(config, MZCONFIG_SECURITY_GUARD, guard); -! MZ_GC_CHECK(); -! MZ_GC_UNREG(); -! } -! MZ_GC_UNREG(); - } - #endif - /* Create buffer and window types for use in Scheme code */ - mz_buffer_type = scheme_make_type(""); -+ MZ_GC_CHECK(); - mz_window_type = scheme_make_type(""); -+ MZ_GC_CHECK(); -+ #ifdef MZ_PRECISE_GC -+ GC_register_traversers(mz_buffer_type, -+ buffer_size_proc, buffer_mark_proc, buffer_fixup_proc, -+ TRUE, TRUE); -+ GC_register_traversers(mz_window_type, -+ window_size_proc, window_mark_proc, window_fixup_proc, -+ TRUE, TRUE); -+ #endif - -! make_modules(); - - /* - * setup callback to receive notifications - * whether thread scheduling is (or not) required - */ - scheme_notify_multithread = notify_multithread; - } - - /* -*************** -*** 827,897 **** - static int - mzscheme_init(void) - { -- int do_require = FALSE; -- - if (!initialized) - { -- do_require = TRUE; - #ifdef DYNAMIC_MZSCHEME - if (!mzscheme_enabled(TRUE)) - { -! EMSG(_("???: Sorry, this command is disabled, the MzScheme library could not be loaded.")); - return -1; - } - #endif - startup_mzscheme(); -! -! if (mzscheme_io_init()) -! return -1; -! -! } -! /* recreate ports each call effectivelly clearing these ones */ -! curout = scheme_make_string_output_port(); -! curerr = scheme_make_string_output_port(); -! scheme_set_param(scheme_config, MZCONFIG_OUTPUT_PORT, curout); -! scheme_set_param(scheme_config, MZCONFIG_ERROR_PORT, curerr); -! -! if (do_require) -! { -! /* auto-instantiate in basic env */ -! eval_in_namespace("(require (prefix vimext: vimext))", do_eval, -! environment, NULL); - } -- -- return 0; -- } -- -- /* -- * This routine fills the namespace with various important routines that can -- * be used within MzScheme. -- */ -- static void -- mzscheme_interface_init(vim_mz_buffer *mzbuff) -- { -- Scheme_Object *attach; -- -- mzbuff->env = (Scheme_Env *)scheme_make_namespace(0, NULL); -- -- /* -- * attach instantiated modules from global namespace -- * so they can be easily instantiated in the buffer namespace -- */ -- attach = scheme_lookup_global( -- scheme_intern_symbol("namespace-attach-module"), -- environment); -- -- if (attach != NULL) - { -! Scheme_Object *ret; -! Scheme_Object *args[2]; -! -! args[0] = (Scheme_Object *)environment; -! args[1] = scheme_intern_symbol("vimext"); -! -! ret = (Scheme_Object *)mzvim_apply(attach, 2, args); - } - -! add_vim_exn(mzbuff->env); - } - - /* ---- 1035,1072 ---- - static int - mzscheme_init(void) - { - if (!initialized) - { - #ifdef DYNAMIC_MZSCHEME - if (!mzscheme_enabled(TRUE)) - { -! EMSG(_("E812: Sorry, this command is disabled, the MzScheme libraries could not be loaded.")); - return -1; - } - #endif - startup_mzscheme(); -! initialized = TRUE; - } - { -! Scheme_Config *config = NULL; -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, config); -! MZ_GC_REG(); -! config = scheme_config; -! MZ_GC_CHECK(); -! /* recreate ports each call effectivelly clearing these ones */ -! curout = scheme_make_string_output_port(); -! MZ_GC_CHECK(); -! curerr = scheme_make_string_output_port(); -! MZ_GC_CHECK(); -! scheme_set_param(config, MZCONFIG_OUTPUT_PORT, curout); -! MZ_GC_CHECK(); -! scheme_set_param(config, MZCONFIG_ERROR_PORT, curerr); -! MZ_GC_CHECK(); -! MZ_GC_UNREG(); - } - -! return 0; - } - - /* -*************** -*** 901,928 **** - */ - - /* -! * Evaluate command in namespace with exception handling - */ - static int -! eval_in_namespace(void *data, Scheme_Closed_Prim *what, Scheme_Env *env, -! Scheme_Object **ret) - { -! Scheme_Object *value; -! Scheme_Object *exn; -! Cmd_Info info; /* closure info */ -! -! info.data = data; -! info.env = env; -! -! scheme_set_param(scheme_config, MZCONFIG_ENV, -! (Scheme_Object *) env); -! /* -! * ensure all evaluations will be in current buffer namespace, -! * the second argument to scheme_eval_string isn't enough! -! */ -! value = _apply_thunk_catch_exceptions( -! scheme_make_closed_prim_w_arity(what, &info, "mzvim", 0, 0), -! &exn); - - if (!value) - { ---- 1076,1100 ---- - */ - - /* -! * Evaluate command with exception handling - */ - static int -! eval_with_exn_handling(void *data, Scheme_Closed_Prim *what, Scheme_Object **ret) - { -! Scheme_Object *value = NULL; -! Scheme_Object *exn = NULL; -! Scheme_Object *prim = NULL; -! -! MZ_GC_DECL_REG(3); -! MZ_GC_VAR_IN_REG(0, value); -! MZ_GC_VAR_IN_REG(1, exn); -! MZ_GC_VAR_IN_REG(2, prim); -! MZ_GC_REG(); -! -! prim = scheme_make_closed_prim_w_arity(what, data, "mzvim", 0, 0); -! MZ_GC_CHECK(); -! value = _apply_thunk_catch_exceptions(prim, &exn); -! MZ_GC_CHECK(); - - if (!value) - { -*************** -*** 930,938 **** - /* Got an exn? */ - if (value) - { -! scheme_display(value, curerr); /* Send to stderr-vim */ - do_flush(); - } - /* `raise' was called on some arbitrary value */ - return FAIL; - } ---- 1102,1112 ---- - /* Got an exn? */ - if (value) - { -! scheme_display(value, curerr); /* Send to stderr-vim */ -! MZ_GC_CHECK(); - do_flush(); - } -+ MZ_GC_UNREG(); - /* `raise' was called on some arbitrary value */ - return FAIL; - } -*************** -*** 941,949 **** ---- 1115,1127 ---- - *ret = value; - /* Print any result, as long as it's not a void */ - else if (!SCHEME_VOIDP(value)) -+ { - scheme_display(value, curout); /* Send to stdout-vim */ -+ MZ_GC_CHECK(); -+ } - - do_flush(); -+ MZ_GC_UNREG(); - return OK; - } - -*************** -*** 957,963 **** - range_start = eap->line1; - range_end = eap->line2; - -! return eval_in_namespace(data, what, get_vim_curr_buffer()->env, NULL); - } - - /* ---- 1135,1141 ---- - range_start = eap->line1; - range_end = eap->line2; - -! return eval_with_exn_handling(data, what, NULL); - } - - /* -*************** -*** 974,979 **** ---- 1152,1158 ---- - bp->buf = INVALID_BUFFER_VALUE; - buf->b_mzscheme_ref = NULL; - scheme_gc_ptr_ok(bp); -+ MZ_GC_CHECK(); - } - } - -*************** -*** 990,995 **** ---- 1169,1175 ---- - wp->win = INVALID_WINDOW_VALUE; - win->w_mzscheme_ref = NULL; - scheme_gc_ptr_ok(wp); -+ MZ_GC_CHECK(); - } - } - -*************** -*** 1014,1031 **** - } - } - -- /* eval MzScheme string */ -- void * -- mzvim_eval_string(char_u *str) -- { -- Scheme_Object *ret = NULL; -- if (mzscheme_init()) -- return FAIL; -- -- eval_in_namespace(str, do_eval, get_vim_curr_buffer()->env, &ret); -- return ret; -- } -- - /* - * apply MzScheme procedure with arguments, - * handling errors ---- 1194,1199 ---- -*************** -*** 1033,1075 **** - Scheme_Object * - mzvim_apply(Scheme_Object *proc, int argc, Scheme_Object **argv) - { -- Apply_Info data; -- Scheme_Object *ret = NULL; -- - if (mzscheme_init()) - return FAIL; - -! data.proc = proc; -! data.argc = argc; -! data.argv = argv; -! -! eval_in_namespace(&data, do_apply, get_vim_curr_buffer()->env, &ret); -! return ret; - } - - static Scheme_Object * - do_load(void *data, int noargc, Scheme_Object **noargv) - { -! Cmd_Info *info = (Cmd_Info *)data; -! Scheme_Object *result = scheme_void; -! Scheme_Object *expr; -! char_u *file = scheme_malloc_fail_ok( -! scheme_malloc_atomic, MAXPATHL + 1); -! Port_Info *pinfo = (Port_Info *)(info->data); - - /* make Vim expansion */ -! expand_env((char_u *)pinfo->name, file, MAXPATHL); -! /* scheme_load looks strange working with namespaces and error handling*/ - pinfo->port = scheme_open_input_file(file, "mzfile"); -! scheme_count_lines(pinfo->port); /* to get accurate read error location*/ - - /* Like REPL but print only last result */ - while (!SCHEME_EOFP(expr = scheme_read(pinfo->port))) -! result = scheme_eval(expr, info->env); - - /* errors will be caught in do_mzscheme_comamnd and ex_mzfile */ - scheme_close_input_port(pinfo->port); - pinfo->port = NULL; - return result; - } - ---- 1201,1265 ---- - Scheme_Object * - mzvim_apply(Scheme_Object *proc, int argc, Scheme_Object **argv) - { - if (mzscheme_init()) - return FAIL; -+ else -+ { -+ Apply_Info data = {NULL, 0, NULL}; -+ Scheme_Object *ret = NULL; - -! MZ_GC_DECL_REG(5); -! MZ_GC_VAR_IN_REG(0, ret); -! MZ_GC_VAR_IN_REG(1, data.proc); -! MZ_GC_ARRAY_VAR_IN_REG(2, data.argv, argc); -! MZ_GC_REG(); -! -! data.proc = proc; -! data.argc = argc; -! data.argv = argv; -! -! eval_with_exn_handling(&data, do_apply, &ret); -! MZ_GC_UNREG(); -! return ret; -! } - } - - static Scheme_Object * - do_load(void *data, int noargc, Scheme_Object **noargv) - { -! Scheme_Object *expr = NULL; -! Scheme_Object *result = NULL; -! char *file = NULL; -! Port_Info *pinfo = (Port_Info *)data; -! -! MZ_GC_DECL_REG(3); -! MZ_GC_VAR_IN_REG(0, expr); -! MZ_GC_VAR_IN_REG(1, result); -! MZ_GC_VAR_IN_REG(2, file); -! MZ_GC_REG(); -! -! file = (char *)scheme_malloc_fail_ok(scheme_malloc_atomic, MAXPATHL + 1); -! MZ_GC_CHECK(); - - /* make Vim expansion */ -! expand_env((char_u *)pinfo->name, (char_u *)file, MAXPATHL); - pinfo->port = scheme_open_input_file(file, "mzfile"); -! MZ_GC_CHECK(); -! scheme_count_lines(pinfo->port); /* to get accurate read error location*/ -! MZ_GC_CHECK(); - - /* Like REPL but print only last result */ - while (!SCHEME_EOFP(expr = scheme_read(pinfo->port))) -! { -! result = scheme_eval(expr, environment); -! MZ_GC_CHECK(); -! } - - /* errors will be caught in do_mzscheme_comamnd and ex_mzfile */ - scheme_close_input_port(pinfo->port); -+ MZ_GC_CHECK(); - pinfo->port = NULL; -+ MZ_GC_UNREG(); - return result; - } - -*************** -*** 1077,1089 **** - void - ex_mzfile(exarg_T *eap) - { -! Port_Info pinfo; - - pinfo.name = (char *)eap->arg; -- pinfo.port = NULL; - if (do_mzscheme_command(eap, &pinfo, do_load) != OK - && pinfo.port != NULL) /* looks like port was not closed */ - scheme_close_input_port(pinfo.port); - } - - ---- 1267,1286 ---- - void - ex_mzfile(exarg_T *eap) - { -! Port_Info pinfo = {NULL, NULL}; -! -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, pinfo.port); -! MZ_GC_REG(); - - pinfo.name = (char *)eap->arg; - if (do_mzscheme_command(eap, &pinfo, do_load) != OK - && pinfo.port != NULL) /* looks like port was not closed */ -+ { - scheme_close_input_port(pinfo.port); -+ MZ_GC_CHECK(); -+ } -+ MZ_GC_UNREG(); - } - - -*************** -*** 1103,1116 **** - "(with-handlers ([void (lambda (exn) (cons #f exn))]) " - "(cons #t (thunk))))"; - -! /* make sure we have a namespace with the standard syntax: */ -! Scheme_Env *env = (Scheme_Env *)scheme_make_namespace(0, NULL); -! add_vim_exn(env); -! -! exn_catching_apply = scheme_eval_string(e, env); -! exn_p = scheme_lookup_global(scheme_intern_symbol("exn?"), env); -! exn_message = scheme_lookup_global( -! scheme_intern_symbol("exn-message"), env); - } - } - ---- 1300,1311 ---- - "(with-handlers ([void (lambda (exn) (cons #f exn))]) " - "(cons #t (thunk))))"; - -! exn_catching_apply = scheme_eval_string(e, environment); -! MZ_GC_CHECK(); -! exn_p = scheme_builtin_value("exn?"); -! MZ_GC_CHECK(); -! exn_message = scheme_builtin_value("exn-message"); -! MZ_GC_CHECK(); - } - } - -*************** -*** 1124,1131 **** - { - Scheme_Object *v; - -- init_exn_catching_apply(); -- - v = _scheme_apply(exn_catching_apply, 1, &f); - /* v is a pair: (cons #t value) or (cons #f exn) */ - ---- 1319,1324 ---- -*************** -*** 1141,1148 **** - static Scheme_Object * - extract_exn_message(Scheme_Object *v) - { -- init_exn_catching_apply(); -- - if (SCHEME_TRUEP(_scheme_apply(exn_p, 1, &v))) - return _scheme_apply(exn_message, 1, &v); - else ---- 1334,1339 ---- -*************** -*** 1152,1167 **** - static Scheme_Object * - do_eval(void *s, int noargc, Scheme_Object **noargv) - { -! Cmd_Info *info = (Cmd_Info *)s; -! -! return scheme_eval_string_all((char *)(info->data), info->env, TRUE); - } - - static Scheme_Object * - do_apply(void *a, int noargc, Scheme_Object **noargv) - { -! Apply_Info *info = (Apply_Info *)(((Cmd_Info *)a)->data); -! - return scheme_apply(info->proc, info->argc, info->argv); - } - ---- 1343,1355 ---- - static Scheme_Object * - do_eval(void *s, int noargc, Scheme_Object **noargv) - { -! return scheme_eval_string_all((char *)s, environment, TRUE); - } - - static Scheme_Object * - do_apply(void *a, int noargc, Scheme_Object **noargv) - { -! Apply_Info *info = (Apply_Info *)a; - return scheme_apply(info->proc, info->argc, info->argv); - } - -*************** -*** 1219,1224 **** ---- 1407,1413 ---- - long length; - - buff = scheme_get_sized_string_output(curerr, &length); -+ MZ_GC_CHECK(); - if (length) - { - do_err_output(buff, length); -*************** -*** 1226,1242 **** - } - - buff = scheme_get_sized_string_output(curout, &length); - if (length) - do_output(buff, length); - } - -- static int -- mzscheme_io_init(void) -- { -- /* Nothing needed so far... */ -- return 0; -- } -- - /* - *======================================================================== - * 4. Implementation of the Vim Features for MzScheme ---- 1415,1425 ---- - } - - buff = scheme_get_sized_string_output(curout, &length); -+ MZ_GC_CHECK(); - if (length) - do_output(buff, length); - } - - /* - *======================================================================== - * 4. Implementation of the Vim Features for MzScheme -*************** -*** 1263,1284 **** - vim_eval(void *data, int argc, Scheme_Object **argv) - { - #ifdef FEAT_EVAL -! Vim_Prim *prim = (Vim_Prim *)data; -! char *expr; -! char *str; -! Scheme_Object *result; - -! expr = SCHEME_STR_VAL(GUARANTEE_STRING(prim->name, 0)); - -! str = (char *)eval_to_string((char_u *)expr, NULL, TRUE); - -! if (str == NULL) - raise_vim_exn(_("invalid expression")); - -! result = scheme_make_string(str); -! -! vim_free(str); - - return result; - #else - raise_vim_exn(_("expressions disabled at compile time")); ---- 1446,1475 ---- - vim_eval(void *data, int argc, Scheme_Object **argv) - { - #ifdef FEAT_EVAL -! Vim_Prim *prim = (Vim_Prim *)data; -! char *expr; -! Scheme_Object *result; -! /* hash table to store visited values to avoid infinite loops */ -! Scheme_Hash_Table *visited = NULL; -! typval_T *vim_result; -! -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, visited); -! MZ_GC_REG(); - -! visited = scheme_make_hash_table(SCHEME_hash_ptr); -! MZ_GC_CHECK(); - -! expr = SCHEME_STR_VAL(GUARANTEE_STRING(prim->name, 0)); -! vim_result = eval_expr((char_u *)expr, NULL); - -! if (vim_result == NULL) - raise_vim_exn(_("invalid expression")); - -! result = vim_to_mzscheme(vim_result, 1, visited); -! free_tv(vim_result); - -+ MZ_GC_UNREG(); - return result; - #else - raise_vim_exn(_("expressions disabled at compile time")); -*************** -*** 1318,1324 **** - Vim_Prim *prim = (Vim_Prim *)data; - char_u *name; - long value; -! char_u *strval; - int rc; - Scheme_Object *rval; - int opt_flags = 0; ---- 1509,1515 ---- - Vim_Prim *prim = (Vim_Prim *)data; - char_u *name; - long value; -! char *strval; - int rc; - Scheme_Object *rval; - int opt_flags = 0; -*************** -*** 1333,1338 **** ---- 1524,1530 ---- - { - MZ_REGISTER_STATIC(M_global); - M_global = scheme_intern_symbol("global"); -+ MZ_GC_CHECK(); - } - - if (argv[1] == M_global) -*************** -*** 1354,1360 **** - scheme_wrong_type(prim->name, "vim-buffer/window", 1, argc, argv); - } - -! rc = get_option_value(name, &value, &strval, opt_flags); - curbuf = save_curb; - curwin = save_curw; - ---- 1546,1552 ---- - scheme_wrong_type(prim->name, "vim-buffer/window", 1, argc, argv); - } - -! rc = get_option_value(name, &value, (char_u **)&strval, opt_flags); - curbuf = save_curb; - curwin = save_curw; - -*************** -*** 1364,1369 **** ---- 1556,1562 ---- - return scheme_make_integer_value(value); - case 0: - rval = scheme_make_string(strval); -+ MZ_GC_CHECK(); - vim_free(strval); - return rval; - case -1: -*************** -*** 1393,1398 **** ---- 1586,1592 ---- - { - MZ_REGISTER_STATIC(M_global); - M_global = scheme_intern_symbol("global"); -+ MZ_GC_CHECK(); - } - - if (argv[1] == M_global) -*************** -*** 1463,1469 **** ---- 1657,1666 ---- - - for (w = firstwin; w != NULL; w = w->w_next) - if (w->w_buffer == buf->buf) -+ { - list = scheme_make_pair(window_new(w), list); -+ MZ_GC_CHECK(); -+ } - - return list; - } -*************** -*** 1471,1477 **** - static Scheme_Object * - window_new(win_T *win) - { -! vim_mz_window *self; - - /* We need to handle deletion of windows underneath us. - * If we add a "w_mzscheme_ref" field to the win_T structure, ---- 1668,1678 ---- - static Scheme_Object * - window_new(win_T *win) - { -! vim_mz_window *self = NULL; -! -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, self); -! MZ_GC_REG(); - - /* We need to handle deletion of windows underneath us. - * If we add a "w_mzscheme_ref" field to the win_T structure, -*************** -*** 1485,1497 **** - return win->w_mzscheme_ref; - - self = scheme_malloc_fail_ok(scheme_malloc, sizeof(vim_mz_window)); -- - vim_memset(self, 0, sizeof(vim_mz_window)); - scheme_dont_gc_ptr(self); /* because win isn't visible to GC */ - win->w_mzscheme_ref = self; - self->win = win; -! self->tag = mz_window_type; - - return (Scheme_Object *)(self); - } - ---- 1686,1699 ---- - return win->w_mzscheme_ref; - - self = scheme_malloc_fail_ok(scheme_malloc, sizeof(vim_mz_window)); - vim_memset(self, 0, sizeof(vim_mz_window)); - scheme_dont_gc_ptr(self); /* because win isn't visible to GC */ -+ MZ_GC_CHECK(); - win->w_mzscheme_ref = self; - self->win = win; -! self->so.type = mz_window_type; - -+ MZ_GC_UNREG(); - return (Scheme_Object *)(self); - } - -*************** -*** 1660,1666 **** - /* - *=========================================================================== - * 6. Vim Buffer-related Manipulation Functions -- * Note that each buffer should have its own private namespace. - *=========================================================================== - */ - ---- 1862,1867 ---- -*************** -*** 1669,1682 **** - mzscheme_open_buffer(void *data, int argc, Scheme_Object **argv) - { - Vim_Prim *prim = (Vim_Prim *)data; -! char *fname; - int num = 0; - Scheme_Object *onum; - - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif -! fname = SCHEME_STR_VAL(GUARANTEE_STRING(prim->name, 0)); - /* TODO make open existing file */ - num = buflist_add(fname, BLN_LISTED | BLN_CURBUF); - ---- 1870,1883 ---- - mzscheme_open_buffer(void *data, int argc, Scheme_Object **argv) - { - Vim_Prim *prim = (Vim_Prim *)data; -! char_u *fname; - int num = 0; - Scheme_Object *onum; - - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif -! fname = (char_u *)SCHEME_STR_VAL(GUARANTEE_STRING(prim->name, 0)); - /* TODO make open existing file */ - num = buflist_add(fname, BLN_LISTED | BLN_CURBUF); - -*************** -*** 1712,1718 **** - buf_T *buf; - char_u *fname; - -! fname = SCHEME_STR_VAL(GUARANTEE_STRING(prim->name, 0)); - - for (buf = firstbuf; buf; buf = buf->b_next) - if (buf->b_ffname == NULL || buf->b_sfname == NULL) ---- 1913,1919 ---- - buf_T *buf; - char_u *fname; - -! fname = (char_u *)SCHEME_STR_VAL(GUARANTEE_STRING(prim->name, 0)); - - for (buf = firstbuf; buf; buf = buf->b_next) - if (buf->b_ffname == NULL || buf->b_sfname == NULL) -*************** -*** 1783,1789 **** - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf = get_buffer_arg(prim->name, 0, argc, argv); - -! return scheme_make_string(buf->buf->b_ffname); - } - - /* (curr-buff) */ ---- 1984,1990 ---- - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf = get_buffer_arg(prim->name, 0, argc, argv); - -! return scheme_make_string((char *)buf->buf->b_ffname); - } - - /* (curr-buff) */ -*************** -*** 1796,1802 **** - static Scheme_Object * - buffer_new(buf_T *buf) - { -! vim_mz_buffer *self; - - /* We need to handle deletion of buffers underneath us. - * If we add a "b_mzscheme_ref" field to the buf_T structure, ---- 1997,2007 ---- - static Scheme_Object * - buffer_new(buf_T *buf) - { -! vim_mz_buffer *self = NULL; -! -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, self); -! MZ_GC_REG(); - - /* We need to handle deletion of buffers underneath us. - * If we add a "b_mzscheme_ref" field to the buf_T structure, -*************** -*** 1806,1820 **** - return buf->b_mzscheme_ref; - - self = scheme_malloc_fail_ok(scheme_malloc, sizeof(vim_mz_buffer)); -- - vim_memset(self, 0, sizeof(vim_mz_buffer)); -! scheme_dont_gc_ptr(self); /* because buf isn't visible to GC */ - buf->b_mzscheme_ref = self; - self->buf = buf; -! self->tag = mz_buffer_type; -! -! mzscheme_interface_init(self); /* Set up namespace */ - - return (Scheme_Object *)(self); - } - ---- 2011,2024 ---- - return buf->b_mzscheme_ref; - - self = scheme_malloc_fail_ok(scheme_malloc, sizeof(vim_mz_buffer)); - vim_memset(self, 0, sizeof(vim_mz_buffer)); -! scheme_dont_gc_ptr(self); /* because buf isn't visible to GC */ -! MZ_GC_CHECK(); - buf->b_mzscheme_ref = self; - self->buf = buf; -! self->so.type = mz_buffer_type; - -+ MZ_GC_UNREG(); - return (Scheme_Object *)(self); - } - -*************** -*** 1845,1858 **** - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf; - int linenr; -! char *line; - - buf = get_buffer_arg(prim->name, 1, argc, argv); - linenr = SCHEME_INT_VAL(GUARANTEE_INTEGER(prim->name, 0)); - line = ml_get_buf(buf->buf, (linenr_T)linenr, FALSE); - - raise_if_error(); -! return scheme_make_string(line); - } - - ---- 2049,2062 ---- - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf; - int linenr; -! char_u *line; - - buf = get_buffer_arg(prim->name, 1, argc, argv); - linenr = SCHEME_INT_VAL(GUARANTEE_INTEGER(prim->name, 0)); - line = ml_get_buf(buf->buf, (linenr_T)linenr, FALSE); - - raise_if_error(); -! return scheme_make_string((char *)line); - } - - -*************** -*** 1869,1875 **** - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf; - int i, hi, lo, n; -! Scheme_Object *list; - - buf = get_buffer_arg(prim->name, 2, argc, argv); - list = scheme_null; ---- 2073,2083 ---- - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf; - int i, hi, lo, n; -! Scheme_Object *list = NULL; -! -! MZ_GC_DECL_REG(1); -! MZ_GC_VAR_IN_REG(0, list); -! MZ_GC_REG(); - - buf = get_buffer_arg(prim->name, 2, argc, argv); - list = scheme_null; -*************** -*** 1897,1904 **** - - /* Set the list item */ - list = scheme_make_pair(str, list); - } -! - return list; - } - ---- 2105,2113 ---- - - /* Set the list item */ - list = scheme_make_pair(str, list); -+ MZ_GC_CHECK(); - } -! MZ_GC_UNREG(); - return list; - } - -*************** -*** 1925,1935 **** - */ - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf; -! Scheme_Object *line; - char *save; -- buf_T *savebuf; - int n; - - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif ---- 2134,2147 ---- - */ - Vim_Prim *prim = (Vim_Prim *)data; - vim_mz_buffer *buf; -! Scheme_Object *line = NULL; - char *save; - int n; - -+ MZ_GC_DECL_REG(1); -+ MZ_GC_VAR_IN_REG(0, line); -+ MZ_GC_REG(); -+ - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif -*************** -*** 1943,1949 **** - - if (SCHEME_FALSEP(line)) - { -! savebuf = curbuf; - curbuf = buf->buf; - - if (u_savedel((linenr_T)n, 1L) == FAIL) ---- 2155,2162 ---- - - if (SCHEME_FALSEP(line)) - { -! buf_T *savebuf = curbuf; -! - curbuf = buf->buf; - - if (u_savedel((linenr_T)n, 1L) == FAIL) -*************** -*** 1962,1994 **** - - curbuf = savebuf; - - raise_if_error(); - return scheme_void; - } - -! /* Otherwise it's a line */ -! save = string_to_line(line); -! savebuf = curbuf; - -! curbuf = buf->buf; - -- if (u_savesub((linenr_T)n) == FAIL) -- { -- curbuf = savebuf; -- raise_vim_exn(_("cannot save undo information")); -- } -- else if (ml_replace((linenr_T)n, (char_u *)save, TRUE) == FAIL) -- { - curbuf = savebuf; -- raise_vim_exn(_("cannot replace line")); -- } -- else -- changed_bytes((linenr_T)n, 0); - -! curbuf = savebuf; - -! raise_if_error(); -! return scheme_void; - } - - /* ---- 2175,2230 ---- - - curbuf = savebuf; - -+ MZ_GC_UNREG(); - raise_if_error(); - return scheme_void; - } -+ else -+ { -+ /* Otherwise it's a line */ -+ buf_T *savebuf = curbuf; - -! save = string_to_line(line); - -! curbuf = buf->buf; -! -! if (u_savesub((linenr_T)n) == FAIL) -! { -! curbuf = savebuf; -! vim_free(save); -! raise_vim_exn(_("cannot save undo information")); -! } -! else if (ml_replace((linenr_T)n, (char_u *)save, TRUE) == FAIL) -! { -! curbuf = savebuf; -! vim_free(save); -! raise_vim_exn(_("cannot replace line")); -! } -! else -! { -! vim_free(save); -! changed_bytes((linenr_T)n, 0); -! } - - curbuf = savebuf; - -! /* Check that the cursor is not beyond the end of the line now. */ -! if (buf->buf == curwin->w_buffer) -! check_cursor_col(); - -! MZ_GC_UNREG(); -! raise_if_error(); -! return scheme_void; -! } -! } -! -! static void -! free_array(char **array) -! { -! char **curr = array; -! while (*curr != NULL) -! vim_free(*curr++); -! vim_free(array); - } - - /* -*************** -*** 2013,2027 **** - * 3. Anything else - this is an error. - */ - Vim_Prim *prim = (Vim_Prim *)data; -! vim_mz_buffer *buf; -! Scheme_Object *line_list; -! Scheme_Object *line; -! Scheme_Object *rest; -! char **array; -! buf_T *savebuf; - int i, old_len, new_len, hi, lo; - long extra; - - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif ---- 2249,2263 ---- - * 3. Anything else - this is an error. - */ - Vim_Prim *prim = (Vim_Prim *)data; -! vim_mz_buffer *buf = NULL; -! Scheme_Object *line_list = NULL; - int i, old_len, new_len, hi, lo; - long extra; - -+ MZ_GC_DECL_REG(1); -+ MZ_GC_VAR_IN_REG(0, line_list); -+ MZ_GC_REG(); -+ - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif -*************** -*** 2047,2053 **** - - if (SCHEME_FALSEP(line_list) || SCHEME_NULLP(line_list)) - { -! savebuf = curbuf; - curbuf = buf->buf; - - if (u_savedel((linenr_T)lo, (long)old_len) == FAIL) ---- 2283,2289 ---- - - if (SCHEME_FALSEP(line_list) || SCHEME_NULLP(line_list)) - { -! buf_T *savebuf = curbuf; - curbuf = buf->buf; - - if (u_savedel((linenr_T)lo, (long)old_len) == FAIL) -*************** -*** 2070,2167 **** - - curbuf = savebuf; - - raise_if_error(); - return scheme_void; - } - -! /* List */ -! new_len = scheme_proper_list_length(line_list); -! if (new_len < 0) /* improper or cyclic list */ -! scheme_wrong_type(prim->name, "proper list", -! 2, argc, argv); - -! /* Using MzScheme allocator, so we don't need to free this and -! * can safely keep pointers to GC collected strings -! */ -! array = (char **)scheme_malloc_fail_ok(scheme_malloc, -! (unsigned)(new_len * sizeof(char *))); - -! rest = line_list; -! for (i = 0; i < new_len; ++i) -! { -! line = SCHEME_CAR(rest); -! rest = SCHEME_CDR(rest); -! if (!SCHEME_STRINGP(line)) -! scheme_wrong_type(prim->name, "string-list", 2, argc, argv); -! array[i] = string_to_line(line); -! } - -! savebuf = curbuf; -! curbuf = buf->buf; - -! if (u_save((linenr_T)(lo-1), (linenr_T)hi) == FAIL) -! { -! curbuf = savebuf; -! raise_vim_exn(_("cannot save undo information")); -! } - -! /* -! * If the size of the range is reducing (ie, new_len < old_len) we -! * need to delete some old_len. We do this at the start, by -! * repeatedly deleting line "lo". -! */ -! for (i = 0; i < old_len - new_len; ++i) -! { -! if (ml_delete((linenr_T)lo, FALSE) == FAIL) -! { -! curbuf = savebuf; -! raise_vim_exn(_("cannot delete line")); -! } -! extra--; -! } - -! /* -! * For as long as possible, replace the existing old_len with the -! * new old_len. This is a more efficient operation, as it requires -! * less memory allocation and freeing. -! */ -! for (i = 0; i < old_len && i < new_len; i++) -! if (ml_replace((linenr_T)(lo+i), (char_u *)array[i], TRUE) == FAIL) -! { -! curbuf = savebuf; -! raise_vim_exn(_("cannot replace line")); -! } - -! /* -! * Now we may need to insert the remaining new_len. We don't need to -! * free the string passed back because MzScheme has control of that -! * memory. -! */ -! while (i < new_len) -! { -! if (ml_append((linenr_T)(lo + i - 1), -! (char_u *)array[i], 0, FALSE) == FAIL) -! { -! curbuf = savebuf; -! raise_vim_exn(_("cannot insert line")); - } -- ++i; -- ++extra; -- } - -! /* -! * Adjust marks. Invalidate any which lie in the -! * changed range, and move any in the remainder of the buffer. -! */ -! mark_adjust((linenr_T)lo, (linenr_T)(hi - 1), (long)MAXLNUM, (long)extra); -! changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra); - -! if (buf->buf == curwin->w_buffer) -! mz_fix_cursor(lo, hi, extra); -! curbuf = savebuf; - -! raise_if_error(); -! return scheme_void; - } - - /* ---- 2306,2426 ---- - - curbuf = savebuf; - -+ MZ_GC_UNREG(); - raise_if_error(); - return scheme_void; - } -+ else -+ { -+ buf_T *savebuf = curbuf; - -! /* List */ -! new_len = scheme_proper_list_length(line_list); -! MZ_GC_CHECK(); -! if (new_len < 0) /* improper or cyclic list */ -! scheme_wrong_type(prim->name, "proper list", -! 2, argc, argv); -! else -! { -! char **array = NULL; -! Scheme_Object *line = NULL; -! Scheme_Object *rest = NULL; -! -! MZ_GC_DECL_REG(2); -! MZ_GC_VAR_IN_REG(0, line); -! MZ_GC_VAR_IN_REG(1, rest); -! MZ_GC_REG(); - -! array = (char **)alloc(new_len * sizeof(char *)); -! vim_memset(array, 0, new_len * sizeof(char *)); - -! rest = line_list; -! for (i = 0; i < new_len; ++i) -! { -! line = SCHEME_CAR(rest); -! rest = SCHEME_CDR(rest); -! if (!SCHEME_STRINGP(line)) -! { -! free_array(array); -! scheme_wrong_type(prim->name, "string-list", 2, argc, argv); -! } -! array[i] = string_to_line(line); -! } - -! curbuf = buf->buf; - -! if (u_save((linenr_T)(lo-1), (linenr_T)hi) == FAIL) -! { -! curbuf = savebuf; -! free_array(array); -! raise_vim_exn(_("cannot save undo information")); -! } - -! /* -! * If the size of the range is reducing (ie, new_len < old_len) we -! * need to delete some old_len. We do this at the start, by -! * repeatedly deleting line "lo". -! */ -! for (i = 0; i < old_len - new_len; ++i) -! { -! if (ml_delete((linenr_T)lo, FALSE) == FAIL) -! { -! curbuf = savebuf; -! free_array(array); -! raise_vim_exn(_("cannot delete line")); -! } -! extra--; -! } - -! /* -! * For as long as possible, replace the existing old_len with the -! * new old_len. This is a more efficient operation, as it requires -! * less memory allocation and freeing. -! */ -! for (i = 0; i < old_len && i < new_len; i++) -! if (ml_replace((linenr_T)(lo+i), (char_u *)array[i], TRUE) == FAIL) -! { -! curbuf = savebuf; -! free_array(array); -! raise_vim_exn(_("cannot replace line")); -! } - -! /* -! * Now we may need to insert the remaining new_len. We don't need to -! * free the string passed back because MzScheme has control of that -! * memory. -! */ -! while (i < new_len) -! { -! if (ml_append((linenr_T)(lo + i - 1), -! (char_u *)array[i], 0, FALSE) == FAIL) -! { -! curbuf = savebuf; -! free_array(array); -! raise_vim_exn(_("cannot insert line")); -! } -! ++i; -! ++extra; -! } -! MZ_GC_UNREG(); -! free_array(array); - } - -! /* -! * Adjust marks. Invalidate any which lie in the -! * changed range, and move any in the remainder of the buffer. -! */ -! mark_adjust((linenr_T)lo, (linenr_T)(hi - 1), (long)MAXLNUM, (long)extra); -! changed_lines((linenr_T)lo, 0, (linenr_T)hi, (long)extra); - -! if (buf->buf == curwin->w_buffer) -! mz_fix_cursor(lo, hi, extra); -! curbuf = savebuf; - -! MZ_GC_UNREG(); -! raise_if_error(); -! return scheme_void; -! } - } - - /* -*************** -*** 2179,2193 **** - insert_buffer_line_list(void *data, int argc, Scheme_Object **argv) - { - Vim_Prim *prim = (Vim_Prim *)data; -! vim_mz_buffer *buf; -! Scheme_Object *list; -! Scheme_Object *line; -! Scheme_Object *rest; -! char **array; -! char *str; -! buf_T *savebuf; - int i, n, size; - - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif ---- 2438,2452 ---- - insert_buffer_line_list(void *data, int argc, Scheme_Object **argv) - { - Vim_Prim *prim = (Vim_Prim *)data; -! vim_mz_buffer *buf = NULL; -! Scheme_Object *list = NULL; -! char *str = NULL; - int i, n, size; - -+ MZ_GC_DECL_REG(1); -+ MZ_GC_VAR_IN_REG(0, list); -+ MZ_GC_REG(); -+ - #ifdef HAVE_SANDBOX - sandbox_check(); - #endif -*************** -*** 2206,2294 **** - check_line_range(n, buf->buf); - if (SCHEME_STRINGP(list)) - { -! str = string_to_line(list); - -! savebuf = curbuf; - curbuf = buf->buf; - - if (u_save((linenr_T)n, (linenr_T)(n+1)) == FAIL) - { - curbuf = savebuf; - raise_vim_exn(_("cannot save undo information")); - } - else if (ml_append((linenr_T)n, (char_u *)str, 0, FALSE) == FAIL) - { - curbuf = savebuf; - raise_vim_exn(_("cannot insert line")); - } - else - appended_lines_mark((linenr_T)n, 1L); - - curbuf = savebuf; - update_screen(VALID); - - raise_if_error(); - return scheme_void; - } - - /* List */ - size = scheme_proper_list_length(list); - if (size < 0) /* improper or cyclic list */ - scheme_wrong_type(prim->name, "proper list", - 2, argc, argv); -! -! /* Using MzScheme allocator, so we don't need to free this and -! * can safely keep pointers to GC collected strings -! */ -! array = (char **)scheme_malloc_fail_ok( -! scheme_malloc, (unsigned)(size * sizeof(char *))); -! -! rest = list; -! for (i = 0; i < size; ++i) - { -! line = SCHEME_CAR(rest); -! rest = SCHEME_CDR(rest); -! array[i] = string_to_line(line); -! } - -! savebuf = curbuf; -! curbuf = buf->buf; - -! if (u_save((linenr_T)n, (linenr_T)(n + 1)) == FAIL) -! { -! curbuf = savebuf; -! raise_vim_exn(_("cannot save undo information")); -! } -! else -! { - for (i = 0; i < size; ++i) -! if (ml_append((linenr_T)(n + i), (char_u *)array[i], -! 0, FALSE) == FAIL) -! { -! curbuf = savebuf; -! raise_vim_exn(_("cannot insert line")); -! } - -! if (i > 0) -! appended_lines_mark((linenr_T)n, (long)i); -! } - -! curbuf = savebuf; -! update_screen(VALID); - - raise_if_error(); - return scheme_void; - } - -- /* (get-buff-namespace [buffer]) */ -- static Scheme_Object * -- get_buffer_namespace(void *data, int argc, Scheme_Object **argv) -- { -- Vim_Prim *prim = (Vim_Prim *)data; -- -- return (Scheme_Object *)get_buffer_arg(prim->name, 0, argc, argv)->env; -- } -- - /* - * Predicates - */ ---- 2465,2563 ---- - check_line_range(n, buf->buf); - if (SCHEME_STRINGP(list)) - { -! buf_T *savebuf = curbuf; - -! str = string_to_line(list); - curbuf = buf->buf; - - if (u_save((linenr_T)n, (linenr_T)(n+1)) == FAIL) - { - curbuf = savebuf; -+ vim_free(str); - raise_vim_exn(_("cannot save undo information")); - } - else if (ml_append((linenr_T)n, (char_u *)str, 0, FALSE) == FAIL) - { - curbuf = savebuf; -+ vim_free(str); - raise_vim_exn(_("cannot insert line")); - } - else -+ { -+ vim_free(str); - appended_lines_mark((linenr_T)n, 1L); -+ } - - curbuf = savebuf; - update_screen(VALID); - -+ MZ_GC_UNREG(); - raise_if_error(); - return scheme_void; - } - - /* List */ - size = scheme_proper_list_length(list); -+ MZ_GC_CHECK(); - if (size < 0) /* improper or cyclic list */ - scheme_wrong_type(prim->name, "proper list", - 2, argc, argv); -! else - { -! Scheme_Object *line = NULL; -! Scheme_Object *rest = NULL; -! char **array; -! buf_T *savebuf = curbuf; -! -! MZ_GC_DECL_REG(2); -! MZ_GC_VAR_IN_REG(0, line); -! MZ_GC_VAR_IN_REG(1, rest); -! MZ_GC_REG(); - -! array = (char **)alloc(size * sizeof(char *)); -! vim_memset(array, 0, size * sizeof(char *)); - -! rest = list; - for (i = 0; i < size; ++i) -! { -! line = SCHEME_CAR(rest); -! rest = SCHEME_CDR(rest); -! array[i] = string_to_line(line); -! } - -! curbuf = buf->buf; - -! if (u_save((linenr_T)n, (linenr_T)(n + 1)) == FAIL) -! { -! curbuf = savebuf; -! free_array(array); -! raise_vim_exn(_("cannot save undo information")); -! } -! else -! { -! for (i = 0; i < size; ++i) -! if (ml_append((linenr_T)(n + i), (char_u *)array[i], -! 0, FALSE) == FAIL) -! { -! curbuf = savebuf; -! free_array(array); -! raise_vim_exn(_("cannot insert line")); -! } -! -! if (i > 0) -! appended_lines_mark((linenr_T)n, (long)i); -! } -! free_array(array); -! MZ_GC_UNREG(); -! curbuf = savebuf; -! update_screen(VALID); -! } - -+ MZ_GC_UNREG(); - raise_if_error(); - return scheme_void; - } - - /* - * Predicates - */ -*************** -*** 2343,2383 **** - /* - * Convert an MzScheme string into a Vim line. - * -! * The result is in allocated memory. All internal nulls are replaced by -! * newline characters. It is an error for the string to contain newline -! * characters. - * - */ - static char * - string_to_line(Scheme_Object *obj) - { -! char *str; - long len; - int i; - -! str = scheme_display_to_string(obj, &len); - - /* Error checking: String must not contain newlines, as we - * are replacing a single line, and we must replace it with - * a single line. - */ -! if (memchr(str, '\n', len)) - scheme_signal_error(_("string cannot contain newlines")); - - /* Create a copy of the string, with internal nulls replaced by - * newline characters, as is the vim convention. - */ - for (i = 0; i < len; ++i) - { -! if (str[i] == '\0') -! str[i] = '\n'; - } - -! str[i] = '\0'; - -! return str; - } - - /* - * Check to see whether a Vim error has been reported, or a keyboard - * interrupt (from vim --> got_int) has been detected. ---- 2612,2784 ---- - /* - * Convert an MzScheme string into a Vim line. - * -! * All internal nulls are replaced by newline characters. -! * It is an error for the string to contain newline characters. - * -+ * Returns pointer to Vim allocated memory - */ - static char * - string_to_line(Scheme_Object *obj) - { -! char *scheme_str = NULL; -! char *vim_str = NULL; - long len; - int i; - -! scheme_str = scheme_display_to_string(obj, &len); - - /* Error checking: String must not contain newlines, as we - * are replacing a single line, and we must replace it with - * a single line. - */ -! if (memchr(scheme_str, '\n', len)) - scheme_signal_error(_("string cannot contain newlines")); - -+ vim_str = (char *)alloc(len + 1); -+ - /* Create a copy of the string, with internal nulls replaced by - * newline characters, as is the vim convention. - */ - for (i = 0; i < len; ++i) - { -! if (scheme_str[i] == '\0') -! vim_str[i] = '\n'; -! else -! vim_str[i] = scheme_str[i]; - } - -! vim_str[i] = '\0'; - -! MZ_GC_CHECK(); -! return vim_str; - } - -+ #ifdef FEAT_EVAL -+ /* -+ * Convert Vim value into MzScheme, adopted from if_python.c -+ */ -+ static Scheme_Object * -+ vim_to_mzscheme(typval_T *vim_value, int depth, Scheme_Hash_Table *visited) -+ { -+ Scheme_Object *result = NULL; -+ int new_value = TRUE; -+ -+ MZ_GC_DECL_REG(1); -+ MZ_GC_VAR_IN_REG(0, result); -+ MZ_GC_REG(); -+ -+ /* Avoid infinite recursion */ -+ if (depth > 100) -+ { -+ MZ_GC_UNREG(); -+ return scheme_void; -+ } -+ -+ /* Check if we run into a recursive loop. The item must be in visited -+ * then and we can use it again. -+ */ -+ result = scheme_hash_get(visited, (Scheme_Object *)vim_value); -+ MZ_GC_CHECK(); -+ if (result != NULL) /* found, do nothing */ -+ new_value = FALSE; -+ else if (vim_value->v_type == VAR_STRING) -+ { -+ result = scheme_make_string((char *)vim_value->vval.v_string); -+ MZ_GC_CHECK(); -+ } -+ else if (vim_value->v_type == VAR_NUMBER) -+ { -+ result = scheme_make_integer((long)vim_value->vval.v_number); -+ MZ_GC_CHECK(); -+ } -+ # ifdef FEAT_FLOAT -+ else if (vim_value->v_type == VAR_FLOAT) -+ { -+ result = scheme_make_double((double)vim_value->vval.v_float); -+ MZ_GC_CHECK(); -+ } -+ # endif -+ else if (vim_value->v_type == VAR_LIST) -+ { -+ list_T *list = vim_value->vval.v_list; -+ listitem_T *curr; -+ -+ if (list == NULL || list->lv_first == NULL) -+ result = scheme_null; -+ else -+ { -+ Scheme_Object *obj = NULL; -+ -+ MZ_GC_DECL_REG(1); -+ MZ_GC_VAR_IN_REG(0, obj); -+ MZ_GC_REG(); -+ -+ curr = list->lv_last; -+ obj = vim_to_mzscheme(&curr->li_tv, depth + 1, visited); -+ result = scheme_make_pair(obj, scheme_null); -+ MZ_GC_CHECK(); -+ -+ while (curr != list->lv_first) -+ { -+ curr = curr->li_prev; -+ obj = vim_to_mzscheme(&curr->li_tv, depth + 1, visited); -+ result = scheme_make_pair(obj, result); -+ MZ_GC_CHECK(); -+ } -+ } -+ MZ_GC_UNREG(); -+ } -+ else if (vim_value->v_type == VAR_DICT) -+ { -+ Scheme_Object *key = NULL; -+ Scheme_Object *obj = NULL; -+ -+ MZ_GC_DECL_REG(2); -+ MZ_GC_VAR_IN_REG(0, key); -+ MZ_GC_VAR_IN_REG(1, obj); -+ MZ_GC_REG(); -+ -+ result = (Scheme_Object *)scheme_make_hash_table(SCHEME_hash_ptr); -+ MZ_GC_CHECK(); -+ if (vim_value->vval.v_dict != NULL) -+ { -+ hashtab_T *ht = &vim_value->vval.v_dict->dv_hashtab; -+ long_u todo = ht->ht_used; -+ hashitem_T *hi; -+ dictitem_T *di; -+ -+ for (hi = ht->ht_array; todo > 0; ++hi) -+ { -+ if (!HASHITEM_EMPTY(hi)) -+ { -+ --todo; -+ -+ di = dict_lookup(hi); -+ obj = vim_to_mzscheme(&di->di_tv, depth + 1, visited); -+ key = scheme_make_string((char *)hi->hi_key); -+ MZ_GC_CHECK(); -+ scheme_hash_set((Scheme_Hash_Table *)result, key, obj); -+ MZ_GC_CHECK(); -+ } -+ } -+ } -+ MZ_GC_UNREG(); -+ } -+ else -+ { -+ result = scheme_void; -+ new_value = FALSE; -+ } -+ if (new_value) -+ { -+ scheme_hash_set(visited, (Scheme_Object *)vim_value, result); -+ MZ_GC_CHECK(); -+ } -+ MZ_GC_UNREG(); -+ return result; -+ } -+ #endif -+ - /* - * Check to see whether a Vim error has been reported, or a keyboard - * interrupt (from vim --> got_int) has been detected. -*************** -*** 2392,2441 **** - * register Scheme exn:vim - */ - static void -! register_vim_exn(Scheme_Env *env) - { -! Scheme_Object *exn_name = scheme_intern_symbol("exn:vim"); - - if (vim_exn == NULL) - vim_exn = scheme_make_struct_type(exn_name, -! scheme_builtin_value("struct:exn"), NULL, 0, 0, NULL, NULL - #if MZSCHEME_VERSION_MAJOR >= 299 - , NULL - #endif - ); - -- if (vim_exn_values == NULL) -- { -- int nc = 0; - -! Scheme_Object **exn_names = scheme_make_struct_names( -! exn_name, scheme_null, 0, &nc); -! Scheme_Object **exn_values = scheme_make_struct_values( -! vim_exn, exn_names, nc, 0); -! -! vim_exn_names = scheme_make_vector(nc, scheme_false); -! vim_exn_values = scheme_make_vector(nc, scheme_false); -! /* remember names and values */ -! mch_memmove(SCHEME_VEC_ELS(vim_exn_names), exn_names, -! nc * sizeof(Scheme_Object *)); -! mch_memmove(SCHEME_VEC_ELS(vim_exn_values), exn_values, -! nc * sizeof(Scheme_Object *)); - } -! -! add_vim_exn(env); -! } -! -! /* -! * Add stuff of exn:vim to env -! */ -! static void -! add_vim_exn(Scheme_Env *env) -! { -! int i; -! -! for (i = 0; i < SCHEME_VEC_SIZE(vim_exn_values); i++) -! scheme_add_global_symbol(SCHEME_VEC_ELS(vim_exn_names)[i], -! SCHEME_VEC_ELS(vim_exn_values)[i], env); - } - - /* ---- 2793,2851 ---- - * register Scheme exn:vim - */ - static void -! register_vim_exn(void) - { -! int nc = 0; -! int i; -! Scheme_Object *struct_exn = NULL; -! Scheme_Object *exn_name = NULL; -! -! MZ_GC_DECL_REG(2); -! MZ_GC_VAR_IN_REG(0, struct_exn); -! MZ_GC_VAR_IN_REG(1, exn_name); -! MZ_GC_REG(); -! -! exn_name = scheme_intern_symbol("exn:vim"); -! MZ_GC_CHECK(); -! struct_exn = scheme_builtin_value("struct:exn"); -! MZ_GC_CHECK(); - - if (vim_exn == NULL) - vim_exn = scheme_make_struct_type(exn_name, -! struct_exn, NULL, 0, 0, NULL, NULL - #if MZSCHEME_VERSION_MAJOR >= 299 - , NULL - #endif - ); - - -! { -! Scheme_Object **tmp = NULL; -! Scheme_Object *exn_names[5] = {NULL, NULL, NULL, NULL, NULL}; -! Scheme_Object *exn_values[5] = {NULL, NULL, NULL, NULL, NULL}; -! MZ_GC_DECL_REG(6); -! MZ_GC_ARRAY_VAR_IN_REG(0, exn_names, 5); -! MZ_GC_ARRAY_VAR_IN_REG(3, exn_values, 5); -! MZ_GC_REG(); -! -! tmp = scheme_make_struct_names(exn_name, scheme_null, 0, &nc); -! assert(nc <= 5); -! mch_memmove(exn_names, tmp, nc * sizeof(Scheme_Object *)); -! MZ_GC_CHECK(); -! -! tmp = scheme_make_struct_values(vim_exn, exn_names, nc, 0); -! mch_memmove(exn_values, tmp, nc * sizeof(Scheme_Object *)); -! MZ_GC_CHECK(); -! -! for (i = 0; i < nc; i++) -! { -! scheme_add_global_symbol(exn_names[i], -! exn_values[i], environment); -! MZ_GC_CHECK(); -! } -! MZ_GC_UNREG(); - } -! MZ_GC_UNREG(); - } - - /* -*************** -*** 2444,2469 **** - void - raise_vim_exn(const char *add_info) - { -! Scheme_Object *argv[2]; -! char_u *fmt = _("Vim error: ~a"); - - if (add_info != NULL) - { -! Scheme_Object *info = scheme_make_string(add_info); -! argv[0] = scheme_byte_string_to_char_string(scheme_make_string( -! scheme_format(fmt, strlen(fmt), 1, &info, NULL))); - SCHEME_SET_IMMUTABLE(argv[0]); - } - else - argv[0] = scheme_make_string(_("Vim error")); - - #if MZSCHEME_VERSION_MAJOR < 360 - argv[1] = scheme_current_continuation_marks(); - #else - argv[1] = scheme_current_continuation_marks(NULL); - #endif - -! scheme_raise(scheme_make_struct_instance(vim_exn, 2, argv)); - } - - void ---- 2854,2907 ---- - void - raise_vim_exn(const char *add_info) - { -! char *fmt = _("Vim error: ~a"); -! Scheme_Object *argv[2] = {NULL, NULL}; -! Scheme_Object *exn = NULL; -! -! MZ_GC_DECL_REG(4); -! MZ_GC_ARRAY_VAR_IN_REG(0, argv, 2); -! MZ_GC_VAR_IN_REG(3, exn); -! MZ_GC_REG(); - - if (add_info != NULL) - { -! char *c_string = NULL; -! Scheme_Object *byte_string = NULL; -! Scheme_Object *info = NULL; -! -! MZ_GC_DECL_REG(3); -! MZ_GC_VAR_IN_REG(0, c_string); -! MZ_GC_VAR_IN_REG(1, byte_string); -! MZ_GC_VAR_IN_REG(2, info); -! MZ_GC_REG(); -! -! info = scheme_make_string(add_info); -! MZ_GC_CHECK(); -! c_string = scheme_format(fmt, STRLEN(fmt), 1, &info, NULL); -! MZ_GC_CHECK(); -! byte_string = scheme_make_string(c_string); -! MZ_GC_CHECK(); -! argv[0] = scheme_byte_string_to_char_string(byte_string); -! MZ_GC_CHECK(); - SCHEME_SET_IMMUTABLE(argv[0]); -+ MZ_GC_UNREG(); - } - else - argv[0] = scheme_make_string(_("Vim error")); -+ MZ_GC_CHECK(); - - #if MZSCHEME_VERSION_MAJOR < 360 - argv[1] = scheme_current_continuation_marks(); -+ MZ_GC_CHECK(); - #else - argv[1] = scheme_current_continuation_marks(NULL); -+ MZ_GC_CHECK(); - #endif - -! exn = scheme_make_struct_instance(vim_exn, 2, argv); -! MZ_GC_CHECK(); -! scheme_raise(exn); -! MZ_GC_UNREG(); - } - - void -*************** -*** 2570,2575 **** ---- 3008,3015 ---- - curwin->w_cursor.lnum = lo; - check_cursor(); - } -+ else -+ check_cursor_col(); - changed_cline_bef_curs(); - } - invalidate_botline(); -*************** -*** 2595,2601 **** - {mzscheme_open_buffer, "open-buff", 1, 1}, - {get_buffer_by_name, "get-buff-by-name", 1, 1}, - {get_buffer_by_num, "get-buff-by-num", 1, 1}, -- {get_buffer_namespace, "get-buff-namespace", 0, 1}, - /* - * Window-related commands - */ ---- 3035,3040 ---- -*************** -*** 2653,2675 **** - } - - static void -! make_modules(Scheme_Env *env) - { -! int i; -! Scheme_Env *mod; -! -! mod = scheme_primitive_module(scheme_intern_symbol("vimext"), env); - /* all prims made closed so they can access their own names */ -! for (i = 0; i < sizeof(prims)/sizeof(prims[0]); i++) - { - Vim_Prim *prim = prims + i; -! scheme_add_global(prim->name, -! scheme_make_closed_prim_w_arity(prim->prim, prim, prim->name, -! prim->mina, prim->maxa), -! mod); - } -- scheme_add_global("global-namespace", (Scheme_Object *)environment, mod); - scheme_finish_primitive_module(mod); - } - - #ifdef HAVE_SANDBOX ---- 3092,3126 ---- - } - - static void -! make_modules() - { -! int i; -! Scheme_Env *mod = NULL; -! Scheme_Object *vimext_symbol = NULL; -! Scheme_Object *closed_prim = NULL; -! -! MZ_GC_DECL_REG(3); -! MZ_GC_VAR_IN_REG(0, mod); -! MZ_GC_VAR_IN_REG(1, vimext_symbol); -! MZ_GC_VAR_IN_REG(2, closed_prim); -! MZ_GC_REG(); -! -! vimext_symbol = scheme_intern_symbol("vimext"); -! MZ_GC_CHECK(); -! mod = scheme_primitive_module(vimext_symbol, environment); -! MZ_GC_CHECK(); - /* all prims made closed so they can access their own names */ -! for (i = 0; i < (int)(sizeof(prims)/sizeof(prims[0])); i++) - { - Vim_Prim *prim = prims + i; -! closed_prim = scheme_make_closed_prim_w_arity(prim->prim, prim, prim->name, -! prim->mina, prim->maxa); -! scheme_add_global(prim->name, closed_prim, mod); -! MZ_GC_CHECK(); - } - scheme_finish_primitive_module(mod); -+ MZ_GC_CHECK(); -+ MZ_GC_UNREG(); - } - - #ifdef HAVE_SANDBOX -*************** -*** 2697,2717 **** ---- 3148,3172 ---- - { - MZ_REGISTER_STATIC(M_write); - M_write = scheme_intern_symbol("write"); -+ MZ_GC_CHECK(); - } - if (M_read == NULL) - { - MZ_REGISTER_STATIC(M_read); - M_read = scheme_intern_symbol("read"); -+ MZ_GC_CHECK(); - } - if (M_execute == NULL) - { - MZ_REGISTER_STATIC(M_execute); - M_execute = scheme_intern_symbol("execute"); -+ MZ_GC_CHECK(); - } - if (M_delete == NULL) - { - MZ_REGISTER_STATIC(M_delete); - M_delete = scheme_intern_symbol("delete"); -+ MZ_GC_CHECK(); - } - - while (!SCHEME_NULLP(requested_access)) -*** ../vim-7.2.190/src/if_mzsch.h 2006-03-24 23:43:11.000000000 +0100 ---- src/if_mzsch.h 2009-05-26 19:08:21.000000000 +0200 -*************** -*** 11,16 **** ---- 11,17 ---- - - /* #ifdef needed for "make depend" */ - #ifdef FEAT_MZSCHEME -+ # include - # include - #endif - -*************** -*** 46,49 **** ---- 47,77 ---- - # define scheme_byte_string_to_char_string(obj) (obj) - #endif - -+ /* Precise GC macros */ -+ #ifndef MZ_GC_DECL_REG -+ # define MZ_GC_DECL_REG(size) /* empty */ -+ #endif -+ #ifndef MZ_GC_VAR_IN_REG -+ # define MZ_GC_VAR_IN_REG(x, v) /* empty */ -+ #endif -+ #ifndef MZ_GC_ARRAY_VAR_IN_REG -+ # define MZ_GC_ARRAY_VAR_IN_REG(x, v, l) /* empty */ -+ #endif -+ #ifndef MZ_GC_REG -+ # define MZ_GC_REG() /* empty */ -+ #endif -+ #ifndef MZ_GC_UNREG -+ # define MZ_GC_UNREG() /* empty */ -+ #endif -+ -+ #ifdef MZSCHEME_FORCE_GC -+ /* -+ * force garbage collection to check all references are registered -+ * seg faults will indicate not registered refs -+ */ -+ # define MZ_GC_CHECK() scheme_collect_garbage(); -+ #else -+ # define MZ_GC_CHECK() /* empty */ -+ #endif -+ - #endif /* _IF_MZSCH_H_ */ -*** ../vim-7.2.190/src/main.c 2009-05-17 13:30:58.000000000 +0200 ---- src/main.c 2009-05-26 19:09:01.000000000 +0200 -*************** -*** 935,942 **** ---- 935,948 ---- - - /* - * Call the main command loop. This never returns. -+ * For embedded MzScheme the main_loop will be called by Scheme -+ * for proper stack tracking - */ -+ #ifndef FEAT_MZSCHEME - main_loop(FALSE, FALSE); -+ #else -+ mzscheme_main(); -+ #endif - - return 0; - } -*** ../vim-7.2.190/src/proto/if_mzsch.pro 2004-07-12 17:51:52.000000000 +0200 ---- src/proto/if_mzsch.pro 2009-05-26 19:09:55.000000000 +0200 -*************** -*** 15,24 **** - void *mzvim_eval_string __ARGS((char_u *str)); - struct Scheme_Object *mzvim_apply __ARGS((struct Scheme_Object *, int argc, - struct Scheme_Object **)); -! int mzthreads_allowed (void); -! #ifdef FEAT_GUI_KDE -! void timer_proc (void); -! void mzscheme_kde_start_timer (void); -! void mzscheme_kde_stop_timer (void); -! #endif - /* vim: set ft=c : */ ---- 15,20 ---- - void *mzvim_eval_string __ARGS((char_u *str)); - struct Scheme_Object *mzvim_apply __ARGS((struct Scheme_Object *, int argc, - struct Scheme_Object **)); -! int mzthreads_allowed __ARGS((void)); -! void mzscheme_main __ARGS((void)); - /* vim: set ft=c : */ -*** ../vim-7.2.190/src/version.c 2009-05-26 18:12:13.000000000 +0200 ---- src/version.c 2009-05-26 22:52:53.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 191, - /**/ - --- -Scientists decoded the first message from an alien civilization: - SIMPLY SEND 6 TIMES 10 TO THE 50 ATOMS OF HYDROGEN TO THE STAR -SYSTEM AT THE TOP OF THE LIST, CROSS OFF THAT STAR SYSTEM, THEN PUT -YOUR STAR SYSTEM AT THE BOTTOM OF THE LIST AND SEND IT TO 100 OTHER -STAR SYSTEMS. WITHIN ONE TENTH GALACTIC ROTATION YOU WILL RECEIVE -ENOUGH HYDROGREN TO POWER YOUR CIVILIZATION UNTIL ENTROPY REACHES ITS -MAXIMUM! IT REALLY WORKS! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.192 --- a/components/vim/vim72-patches/7.2.192 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,135 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.192 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.192 (after 7.2.188) -Problem: Still a crash in the garbage collector for a very rare situation. -Solution: Make sure current_copyID is always incremented correctly. (Kent - Sibilev) -Files: src/eval.c - - -*** ../vim-7.2.191/src/eval.c 2009-05-26 22:58:43.000000000 +0200 ---- src/eval.c 2009-05-29 21:13:47.000000000 +0200 -*************** -*** 6526,6532 **** - - /* Don't free variables in the previous_funccal list unless they are only - * referenced through previous_funccal. This must be first, because if -! * the item is referenced elsewhere it must not be freed. */ - for (fc = previous_funccal; fc != NULL; fc = fc->caller) - { - set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1); ---- 6526,6532 ---- - - /* Don't free variables in the previous_funccal list unless they are only - * referenced through previous_funccal. This must be first, because if -! * the item is referenced elsewhere the funccal must not be freed. */ - for (fc = previous_funccal; fc != NULL; fc = fc->caller) - { - set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1); -*************** -*** 6564,6573 **** - /* v: vars */ - set_ref_in_ht(&vimvarht, copyID); - -! /* Free lists and dictionaries that are not referenced. */ - did_free = free_unref_items(copyID); - -! /* check if any funccal can be freed now */ - for (pfc = &previous_funccal; *pfc != NULL; ) - { - if (can_free_funccal(*pfc, copyID)) ---- 6564,6577 ---- - /* v: vars */ - set_ref_in_ht(&vimvarht, copyID); - -! /* -! * 2. Free lists and dictionaries that are not referenced. -! */ - did_free = free_unref_items(copyID); - -! /* -! * 3. Check if any funccal can be freed now. -! */ - for (pfc = &previous_funccal; *pfc != NULL; ) - { - if (can_free_funccal(*pfc, copyID)) -*************** -*** 9286,9292 **** - if (noref < 0 || noref > 1) - EMSG(_(e_invarg)); - else -! item_copy(&argvars[0], rettv, TRUE, noref == 0 ? ++current_copyID : 0); - } - - /* ---- 9290,9299 ---- - if (noref < 0 || noref > 1) - EMSG(_(e_invarg)); - else -! { -! current_copyID += COPYID_INC; -! item_copy(&argvars[0], rettv, TRUE, noref == 0 ? current_copyID : 0); -! } - } - - /* -*************** -*** 18966,18972 **** - char_u *s; - char_u numbuf[NUMBUFLEN]; - -! s = echo_string(&v->di_tv, &tofree, numbuf, ++current_copyID); - list_one_var_a(prefix, v->di_key, v->di_tv.v_type, - s == NULL ? (char_u *)"" : s, first); - vim_free(tofree); ---- 18973,18980 ---- - char_u *s; - char_u numbuf[NUMBUFLEN]; - -! current_copyID += COPYID_INC; -! s = echo_string(&v->di_tv, &tofree, numbuf, current_copyID); - list_one_var_a(prefix, v->di_key, v->di_tv.v_type, - s == NULL ? (char_u *)"" : s, first); - vim_free(tofree); -*************** -*** 19401,19407 **** - } - else if (eap->cmdidx == CMD_echo) - msg_puts_attr((char_u *)" ", echo_attr); -! p = echo_string(&rettv, &tofree, numbuf, ++current_copyID); - if (p != NULL) - for ( ; *p != NUL && !got_int; ++p) - { ---- 19409,19416 ---- - } - else if (eap->cmdidx == CMD_echo) - msg_puts_attr((char_u *)" ", echo_attr); -! current_copyID += COPYID_INC; -! p = echo_string(&rettv, &tofree, numbuf, current_copyID); - if (p != NULL) - for ( ; *p != NUL && !got_int; ++p) - { -*** ../vim-7.2.191/src/version.c 2009-05-26 22:58:43.000000000 +0200 ---- src/version.c 2009-06-03 13:21:20.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 192, - /**/ - --- -Imagine a world without hypothetical situations. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.193 --- a/components/vim/vim72-patches/7.2.193 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.193 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.193 -Problem: Warning for uninitialized values. -Solution: Initialize all the struct items. -Files: src/eval.c - - -*** ../vim-7.2.192/src/eval.c 2009-06-03 13:22:22.000000000 +0200 ---- src/eval.c 2009-05-29 21:13:47.000000000 +0200 -*************** -*** 286,292 **** - #define VV_RO 2 /* read-only */ - #define VV_RO_SBX 4 /* read-only in the sandbox */ - -! #define VV_NAME(s, t) s, {{t}}, {0} - - static struct vimvar - { ---- 286,292 ---- - #define VV_RO 2 /* read-only */ - #define VV_RO_SBX 4 /* read-only in the sandbox */ - -! #define VV_NAME(s, t) s, {{t, 0, {0}}, 0, {0}}, {0} - - static struct vimvar - { -*** ../vim-7.2.192/src/version.c 2009-06-03 13:22:23.000000000 +0200 ---- src/version.c 2009-06-03 14:25:18.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 193, - /**/ - --- -No engineer can take a shower without wondering if some sort of Teflon coating -would make showering unnecessary. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.195 --- a/components/vim/vim72-patches/7.2.195 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.195 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.195 -Problem: Leaking memory for the command Vim was started with. -Solution: Remember the pointer and free it. -Files: src/gui_gtk_x11.c - - -*** ../vim-7.2.194/src/gui_gtk_x11.c 2009-05-17 16:23:20.000000000 +0200 ---- src/gui_gtk_x11.c 2009-06-03 12:44:31.000000000 +0200 -*************** -*** 412,417 **** ---- 412,418 ---- - #endif - #if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION) - static const char *restart_command = NULL; -+ static char *abs_restart_command = NULL; - #endif - static int found_iconic_arg = FALSE; - -*************** -*** 449,456 **** - char_u buf[MAXPATHL]; - - if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK) -! /* Tiny leak; doesn't matter, and usually we don't even get here */ -! restart_command = (char *)vim_strsave(buf); - } - #endif - ---- 450,459 ---- - char_u buf[MAXPATHL]; - - if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK) -! { -! abs_restart_command = (char *)vim_strsave(buf); -! restart_command = abs_restart_command; -! } - } - #endif - -*************** -*** 611,616 **** ---- 614,622 ---- - gui_mch_free_all() - { - vim_free(gui_argv); -+ #if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION) -+ vim_free(abs_restart_command); -+ #endif - } - #endif - -*** ../vim-7.2.194/src/version.c 2009-06-03 15:05:05.000000000 +0200 ---- src/version.c 2009-06-03 16:19:00.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 195, - /**/ - --- -I think that you'll agree that engineers are very effective in their social -interactions. It's the "normal" people who are nuts. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.196 --- a/components/vim/vim72-patches/7.2.196 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.196 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.196 (after 7.2.167) -Problem: Turns out splint doesn't work well enough to be usable. -Solution: Remove splint support. -Files: Filelist, src/cleanlint.vim - - -*** ../vim-7.2.195/Filelist 2009-05-13 12:46:36.000000000 +0200 ---- Filelist 2009-05-21 14:42:46.000000000 +0200 -*************** -*** 139,145 **** - src/INSTALL \ - src/INSTALLx.txt \ - src/Makefile \ -- src/cleanlint.vim \ - src/auto/configure \ - src/config.aap.in \ - src/config.h.in \ ---- 139,144 ---- -*** ../vim-7.2.195/src/cleanlint.vim 2009-05-13 18:54:14.000000000 +0200 ---- src/cleanlint.vim 1970-01-01 01:00:00.000000000 +0100 -*************** -*** 1,32 **** -- " Vim tool: Filter output of splint -- " -- " Maintainer: Bram Moolenaar -- " Last Change: 2009 May 13 -- -- " Usage: redirect output of "make lint" to a file, edit that file with Vim and -- " :call CleanLint() -- " This deletes irrelevant messages. What remains might be valid warnings. -- -- fun! CleanLint() -- g/Assignment of dev_t to __dev_t:/lockmarks d -- g/Assignment of __dev_t to dev_t:/lockmarks d -- g/Operands of == have incompatible types (__dev_t, dev_t): /lockmarks d -- g/Operands of == have incompatible types (char_u, int): /lockmarks d -- g/Assignment of char to char_u: /lockmarks d -- g/Assignment of unsigned int to int: /lockmarks d -- g/Assignment of int to unsigned int: /lockmarks d -- g/Assignment of unsigned int to long int: /lockmarks d -- g/Assignment of int to char_u: /lockmarks d -- g/Function .* expects arg . to be wint_t gets int: /lockmarks d -- g/Function .* expects arg . to be size_t gets int: /lockmarks d -- g/Initial value of .* is type char, expects char_u: /lockmarks d -- g/^ex_cmds.h:.* Function types are inconsistent. Parameter 1 is implicitly temp, but unqualified in assigned function:/lockmarks d -- g/^ex_docmd.c:.* nospec_str/lockmarks d -- g/^digraph.c.*Additional initialization errors for digraphdefault not reported/lockmarks d -- g/Function strncasecmp expects arg 3 to be int gets size_t: /lockmarks d -- g/^ Types are incompatible/lockmarks d -- g/ To ignore signs in type comparisons use +ignoresigns/lockmarks d -- g/ To allow arbitrary integral types to match any integral type, use +matchanyintegral./lockmarks d -- g/ To allow arbitrary integral types to match long unsigned, use +longintegral./lockmarks d -- g+ A variable is declared but never used. Use /.@unused@./ in front of declaration to suppress message.+lockmarks d -- endfun ---- 0 ---- -*** ../vim-7.2.195/src/version.c 2009-06-03 16:20:09.000000000 +0200 ---- src/version.c 2009-06-03 22:04:31.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 196, - /**/ - --- -It's totally unfair to suggest - as many have - that engineers are socially -inept. Engineers simply have different objectives when it comes to social -interaction. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.197 --- a/components/vim/vim72-patches/7.2.197 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.197 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.197 -Problem: Warning for uninitialized values. -Solution: Initialize all the struct items of typebuf. -Files: src/globals.h - - -*** ../vim-7.2.196/src/globals.h 2009-05-13 12:46:36.000000000 +0200 ---- src/globals.h 2009-06-10 15:52:18.000000000 +0200 -*************** -*** 960,966 **** - ; - EXTERN typebuf_T typebuf /* typeahead buffer */ - #ifdef DO_INIT -! = {NULL, NULL} - #endif - ; - #ifdef FEAT_EX_EXTRA ---- 967,973 ---- - ; - EXTERN typebuf_T typebuf /* typeahead buffer */ - #ifdef DO_INIT -! = {NULL, NULL, 0, 0, 0, 0, 0, 0, 0} - #endif - ; - #ifdef FEAT_EX_EXTRA -*** ../vim-7.2.196/src/version.c 2009-06-03 22:07:38.000000000 +0200 ---- src/version.c 2009-06-10 18:14:58.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 197, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -18. Your wife drapes a blond wig over your monitor to remind you of what she - looks like. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.198 --- a/components/vim/vim72-patches/7.2.198 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.198 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.198 -Problem: Size of buffer used for tgetent() may be too small. -Solution: Use the largest known size everywhere. -Files: src/vim.h - - -*** ../vim-7.2.197/src/vim.h 2009-05-14 22:19:19.000000000 +0200 ---- src/vim.h 2009-06-07 20:37:48.000000000 +0200 -*************** -*** 1345,1355 **** - # define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */ - #endif - -! #if defined(AMIGA) || defined(__linux__) || defined(__QNX__) || defined(__CYGWIN32__) || defined(_AIX) -! # define TBUFSZ 2048 /* buffer size for termcap entry */ -! #else -! # define TBUFSZ 1024 /* buffer size for termcap entry */ -! #endif - - /* - * Maximum length of key sequence to be mapped. ---- 1345,1355 ---- - # define MSG_BUF_CLEN MSG_BUF_LEN /* cell length */ - #endif - -! /* Size of the buffer used for tgetent(). Unfortunately this is largely -! * undocumented, some systems use 1024. Using a buffer that is too small -! * causes a buffer overrun and a crash. Use the maximum known value to stay -! * on the safe side. */ -! #define TBUFSZ 2048 /* buffer size for termcap entry */ - - /* - * Maximum length of key sequence to be mapped. -*** ../vim-7.2.197/src/version.c 2009-06-10 18:15:49.000000000 +0200 ---- src/version.c 2009-06-16 11:06:45.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 198, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -7. Finish all your sentences with "in accordance with the prophecy". - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.199 --- a/components/vim/vim72-patches/7.2.199 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.199 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.199 -Problem: Strange character in comment. -Solution: Change to "message". (Yongwei Wu) -Files: src/term.c - - -*** ../vim-7.2.198/src/term.c 2009-05-17 13:30:58.000000000 +0200 ---- src/term.c 2009-06-16 11:16:17.000000000 +0200 -*************** -*** 5555,5561 **** - * respects the current B/k/< settings of 'cpoption'. - * - * This function is called when expanding mappings/abbreviations on the -! * command-line, and for building the "Ambiguous mapping..." error messge. - * - * It uses a growarray to build the translation string since the - * latter can be wider than the original description. The caller has to ---- 5555,5561 ---- - * respects the current B/k/< settings of 'cpoption'. - * - * This function is called when expanding mappings/abbreviations on the -! * command-line, and for building the "Ambiguous mapping..." error message. - * - * It uses a growarray to build the translation string since the - * latter can be wider than the original description. The caller has to -*** ../vim-7.2.198/src/version.c 2009-06-16 11:08:13.000000000 +0200 ---- src/version.c 2009-06-16 14:31:03.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 199, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -10. Ask people what sex they are. Laugh hysterically after they answer. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.200 --- a/components/vim/vim72-patches/7.2.200 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,348 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.200 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.200 -Problem: Reading past end of string when navigating the menu bar or - resizing the window. -Solution: Add and use mb_ptr2len_len(). (partly by Dominique Pelle) - Also add mb_ptr2cells_len() to prevent more trouble. -Files: src/gui_gtk_x11.c, src/os_unix.c, src/globals.h, src/mbyte.c, - src/proto/mbyte.pro - - -*** ../vim-7.2.199/src/gui_gtk_x11.c 2009-06-03 16:20:09.000000000 +0200 ---- src/gui_gtk_x11.c 2009-06-16 14:44:19.000000000 +0200 -*************** -*** 6077,6088 **** - # ifdef FEAT_MBYTE - if (enc_utf8) - { -! c = utf_ptr2char(p); - if (c >= 0x10000) /* show chars > 0xffff as ? */ - c = 0xbf; - buf[textlen].byte1 = c >> 8; - buf[textlen].byte2 = c; -! p += utf_ptr2len(p); - width += utf_char2cells(c); - } - else ---- 6135,6149 ---- - # ifdef FEAT_MBYTE - if (enc_utf8) - { -! int pcc[MAX_MCO]; -! -! /* TODO: use the composing characters */ -! c = utfc_ptr2char_len(p, &pcc, len - (p - s)); - if (c >= 0x10000) /* show chars > 0xffff as ? */ - c = 0xbf; - buf[textlen].byte1 = c >> 8; - buf[textlen].byte2 = c; -! p += utfc_ptr2len_len(p, len - (p - s)); - width += utf_char2cells(c); - } - else -*************** -*** 6106,6113 **** - if (has_mbyte) - { - width = 0; -! for (p = s; p < s + len; p += (*mb_ptr2len)(p)) -! width += (*mb_ptr2cells)(p); - } - else - # endif ---- 6167,6174 ---- - if (has_mbyte) - { - width = 0; -! for (p = s; p < s + len; p += (*mb_ptr2len_len)(p, len - (p - s))) -! width += (*mb_ptr2cells_len)(p, len - (p - s)); - } - else - # endif -*** ../vim-7.2.199/src/os_unix.c 2009-05-17 13:30:58.000000000 +0200 ---- src/os_unix.c 2009-06-03 12:35:59.000000000 +0200 -*************** -*** 4305,4311 **** - ta_buf[i] = '\n'; - # ifdef FEAT_MBYTE - if (has_mbyte) -! i += (*mb_ptr2len)(ta_buf + i) - 1; - # endif - } - ---- 4305,4312 ---- - ta_buf[i] = '\n'; - # ifdef FEAT_MBYTE - if (has_mbyte) -! i += (*mb_ptr2len_len)(ta_buf + i, -! ta_len + len - i) - 1; - # endif - } - -*** ../vim-7.2.199/src/globals.h 2009-06-10 18:15:49.000000000 +0200 ---- src/globals.h 2009-06-12 21:10:30.000000000 +0200 -*************** -*** 810,820 **** ---- 815,828 ---- - */ - /* length of char in bytes, including following composing chars */ - EXTERN int (*mb_ptr2len) __ARGS((char_u *p)) INIT(= latin_ptr2len); -+ /* idem, with limit on string length */ -+ EXTERN int (*mb_ptr2len_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2len_len); - /* byte length of char */ - EXTERN int (*mb_char2len) __ARGS((int c)) INIT(= latin_char2len); - /* convert char to bytes, return the length */ - EXTERN int (*mb_char2bytes) __ARGS((int c, char_u *buf)) INIT(= latin_char2bytes); - EXTERN int (*mb_ptr2cells) __ARGS((char_u *p)) INIT(= latin_ptr2cells); -+ EXTERN int (*mb_ptr2cells_len) __ARGS((char_u *p, int size)) INIT(= latin_ptr2cells_len); - EXTERN int (*mb_char2cells) __ARGS((int c)) INIT(= latin_char2cells); - EXTERN int (*mb_off2cells) __ARGS((unsigned off, unsigned max_off)) INIT(= latin_off2cells); - EXTERN int (*mb_ptr2char) __ARGS((char_u *p)) INIT(= latin_ptr2char); -*** ../vim-7.2.199/src/mbyte.c 2009-05-17 13:30:58.000000000 +0200 ---- src/mbyte.c 2009-06-16 15:01:30.000000000 +0200 -*************** -*** 127,133 **** ---- 127,136 ---- - static int dbcs_char2len __ARGS((int c)); - static int dbcs_char2bytes __ARGS((int c, char_u *buf)); - static int dbcs_ptr2len __ARGS((char_u *p)); -+ static int dbcs_ptr2len_len __ARGS((char_u *p, int size)); -+ static int utf_ptr2cells_len __ARGS((char_u *p, int size)); - static int dbcs_char2cells __ARGS((int c)); -+ static int dbcs_ptr2cells_len __ARGS((char_u *p, int size)); - static int dbcs_ptr2char __ARGS((char_u *p)); - - /* Lookup table to quickly get the length in bytes of a UTF-8 character from -*************** -*** 606,614 **** ---- 609,619 ---- - if (enc_utf8) - { - mb_ptr2len = utfc_ptr2len; -+ mb_ptr2len_len = utfc_ptr2len_len; - mb_char2len = utf_char2len; - mb_char2bytes = utf_char2bytes; - mb_ptr2cells = utf_ptr2cells; -+ mb_ptr2cells_len = utf_ptr2cells_len; - mb_char2cells = utf_char2cells; - mb_off2cells = utf_off2cells; - mb_ptr2char = utf_ptr2char; -*************** -*** 617,625 **** ---- 622,632 ---- - else if (enc_dbcs != 0) - { - mb_ptr2len = dbcs_ptr2len; -+ mb_ptr2len_len = dbcs_ptr2len_len; - mb_char2len = dbcs_char2len; - mb_char2bytes = dbcs_char2bytes; - mb_ptr2cells = dbcs_ptr2cells; -+ mb_ptr2cells_len = dbcs_ptr2cells_len; - mb_char2cells = dbcs_char2cells; - mb_off2cells = dbcs_off2cells; - mb_ptr2char = dbcs_ptr2char; -*************** -*** 628,636 **** ---- 635,645 ---- - else - { - mb_ptr2len = latin_ptr2len; -+ mb_ptr2len_len = latin_ptr2len_len; - mb_char2len = latin_char2len; - mb_char2bytes = latin_char2bytes; - mb_ptr2cells = latin_ptr2cells; -+ mb_ptr2cells_len = latin_ptr2cells_len; - mb_char2cells = latin_char2cells; - mb_off2cells = latin_off2cells; - mb_ptr2char = latin_ptr2char; -*************** -*** 1069,1075 **** - * Get byte length of character at "*p" but stop at a NUL. - * For UTF-8 this includes following composing characters. - * Returns 0 when *p is NUL. -- * - */ - int - latin_ptr2len(p) ---- 1078,1083 ---- -*************** -*** 1091,1096 **** ---- 1099,1138 ---- - return len; - } - -+ /* -+ * mb_ptr2len_len() function pointer. -+ * Like mb_ptr2len(), but limit to read "size" bytes. -+ * Returns 0 for an empty string. -+ * Returns 1 for an illegal char or an incomplete byte sequence. -+ */ -+ int -+ latin_ptr2len_len(p, size) -+ char_u *p; -+ int size; -+ { -+ if (size < 1 || *p == NUL) -+ return 0; -+ return 1; -+ } -+ -+ static int -+ dbcs_ptr2len_len(p, size) -+ char_u *p; -+ int size; -+ { -+ int len; -+ -+ if (size < 1 || *p == NUL) -+ return 0; -+ if (size == 1) -+ return 1; -+ /* Check that second byte is not missing. */ -+ len = MB_BYTE2LEN(*p); -+ if (len == 2 && p[1] == NUL) -+ len = 1; -+ return len; -+ } -+ - struct interval - { - unsigned short first; -*************** -*** 1287,1292 **** ---- 1329,1383 ---- - } - - /* -+ * mb_ptr2cells_len() function pointer. -+ * Like mb_ptr2cells(), but limit string length to "size". -+ * For an empty string or truncated character returns 1. -+ */ -+ int -+ latin_ptr2cells_len(p, size) -+ char_u *p UNUSED; -+ int size UNUSED; -+ { -+ return 1; -+ } -+ -+ static int -+ utf_ptr2cells_len(p, size) -+ char_u *p; -+ int size; -+ { -+ int c; -+ -+ /* Need to convert to a wide character. */ -+ if (size > 0 && *p >= 0x80) -+ { -+ if (utf_ptr2len_len(p, size) < utf8len_tab[*p]) -+ return 1; -+ c = utf_ptr2char(p); -+ /* An illegal byte is displayed as . */ -+ if (utf_ptr2len(p) == 1 || c == NUL) -+ return 4; -+ /* If the char is ASCII it must be an overlong sequence. */ -+ if (c < 0x80) -+ return char2cells(c); -+ return utf_char2cells(c); -+ } -+ return 1; -+ } -+ -+ static int -+ dbcs_ptr2cells_len(p, size) -+ char_u *p; -+ int size; -+ { -+ /* Number of cells is equal to number of bytes, except for euc-jp when -+ * the first byte is 0x8e. */ -+ if (size <= 1 || (enc_dbcs == DBCS_JPNU && *p == 0x8e)) -+ return 1; -+ return MB_BYTE2LEN(*p); -+ } -+ -+ /* - * mb_char2cells() function pointer. - * Return the number of display cells character "c" occupies. - * Only takes care of multi-byte chars, not "^C" and such. -*************** -*** 1716,1721 **** ---- 1807,1813 ---- - /* - * Return the number of bytes the UTF-8 encoding of the character at "p[size]" - * takes. This includes following composing characters. -+ * Returns 0 for an empty string. - * Returns 1 for an illegal char or an incomplete byte sequence. - */ - int -*************** -*** 1728,1734 **** - int prevlen; - #endif - -! if (*p == NUL) - return 0; - if (p[0] < 0x80 && (size == 1 || p[1] < 0x80)) /* be quick for ASCII */ - return 1; ---- 1820,1826 ---- - int prevlen; - #endif - -! if (size < 1 || *p == NUL) - return 0; - if (p[0] < 0x80 && (size == 1 || p[1] < 0x80)) /* be quick for ASCII */ - return 1; -*** ../vim-7.2.199/src/proto/mbyte.pro 2008-07-13 19:34:19.000000000 +0200 ---- src/proto/mbyte.pro 2009-06-16 14:58:39.000000000 +0200 -*************** -*** 7,16 **** ---- 7,18 ---- - int latin_char2len __ARGS((int c)); - int latin_char2bytes __ARGS((int c, char_u *buf)); - int latin_ptr2len __ARGS((char_u *p)); -+ int latin_ptr2len_len __ARGS((char_u *p, int size)); - int utf_char2cells __ARGS((int c)); - int latin_ptr2cells __ARGS((char_u *p)); - int utf_ptr2cells __ARGS((char_u *p)); - int dbcs_ptr2cells __ARGS((char_u *p)); -+ int latin_ptr2cells_len __ARGS((char_u *p, int size)); - int latin_char2cells __ARGS((int c)); - int latin_off2cells __ARGS((unsigned off, unsigned max_off)); - int dbcs_off2cells __ARGS((unsigned off, unsigned max_off)); -*************** -*** 85,90 **** ---- 87,93 ---- - int preedit_get_status __ARGS((void)); - int im_is_preediting __ARGS((void)); - int convert_setup __ARGS((vimconv_T *vcp, char_u *from, char_u *to)); -+ int convert_setup_ext __ARGS((vimconv_T *vcp, char_u *from, int from_unicode_is_utf8, char_u *to, int to_unicode_is_utf8)); - int convert_input __ARGS((char_u *ptr, int len, int maxlen)); - int convert_input_safe __ARGS((char_u *ptr, int len, int maxlen, char_u **restp, int *restlenp)); - char_u *string_convert __ARGS((vimconv_T *vcp, char_u *ptr, int *lenp)); -*** ../vim-7.2.199/src/version.c 2009-06-16 14:31:56.000000000 +0200 ---- src/version.c 2009-06-16 14:37:38.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 200, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -12. Sing along at the opera. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.201 --- a/components/vim/vim72-patches/7.2.201 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,494 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.201 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.201 -Problem: Cannot copy/paste HTML to/from Firefox via the clipboard. -Solution: Implement this for GTK. Add the "html" value to 'clipboard'. -Files: runtime/doc/options.txt, src/globals.h, src/gui_gtk_x11.c, - src/mbyte.c, src/proto/mbyte.pro, src/option.c - - -*** ../vim-7.2.200/runtime/doc/options.txt 2009-02-21 20:27:00.000000000 +0100 ---- runtime/doc/options.txt 2009-06-12 22:25:22.000000000 +0200 -*************** -*** 1443,1448 **** ---- 1444,1457 ---- - autoselectml Like "autoselect", but for the modeless selection - only. Compare to the 'A' flag in 'guioptions'. - -+ html When the clipboard contains HTML, use this when -+ pasting. When putting text on the clipboard, mark it -+ as HTML. This works to copy rendered HTML from -+ Firefox, paste it as raw HTML in Vim, select the HTML -+ in Vim and paste it in a rich edit box in Firefox. -+ Only supported for GTK version 2 and later. -+ Only available with the |+multi_byte| feature. -+ - exclude:{pattern} - Defines a pattern that is matched against the name of - the terminal 'term'. If there is a match, no -*** ../vim-7.2.200/src/globals.h 2009-06-16 15:12:11.000000000 +0200 ---- src/globals.h 2009-06-12 21:10:30.000000000 +0200 -*************** -*** 509,514 **** ---- 509,515 ---- - EXTERN int clip_unnamed INIT(= FALSE); - EXTERN int clip_autoselect INIT(= FALSE); - EXTERN int clip_autoselectml INIT(= FALSE); -+ EXTERN int clip_html INIT(= FALSE); - EXTERN regprog_T *clip_exclude_prog INIT(= NULL); - #endif - -*** ../vim-7.2.200/src/gui_gtk_x11.c 2009-06-16 15:12:11.000000000 +0200 ---- src/gui_gtk_x11.c 2009-06-16 14:44:19.000000000 +0200 -*************** -*** 107,112 **** ---- 107,113 ---- - TARGET_UTF8_STRING, - TARGET_STRING, - TARGET_COMPOUND_TEXT, -+ TARGET_HTML, - TARGET_TEXT, - TARGET_TEXT_URI_LIST, - TARGET_TEXT_PLAIN, -*************** -*** 123,128 **** ---- 124,130 ---- - {VIMENC_ATOM_NAME, 0, TARGET_VIMENC}, - {VIM_ATOM_NAME, 0, TARGET_VIM}, - #ifdef FEAT_MBYTE -+ {"text/html", 0, TARGET_HTML}, - {"UTF8_STRING", 0, TARGET_UTF8_STRING}, - #endif - {"COMPOUND_TEXT", 0, TARGET_COMPOUND_TEXT}, -*************** -*** 140,145 **** ---- 142,148 ---- - { - {"text/uri-list", 0, TARGET_TEXT_URI_LIST}, - # ifdef FEAT_MBYTE -+ {"text/html", 0, TARGET_HTML}, - {"UTF8_STRING", 0, TARGET_UTF8_STRING}, - # endif - {"STRING", 0, TARGET_STRING}, -*************** -*** 178,183 **** ---- 181,187 ---- - * Atoms used to control/reference X11 selections. - */ - #ifdef FEAT_MBYTE -+ static GdkAtom html_atom = GDK_NONE; - static GdkAtom utf8_string_atom = GDK_NONE; - #endif - #ifndef HAVE_GTK2 -*************** -*** 1364,1369 **** ---- 1368,1391 ---- - else - text = tmpbuf_utf8; - } -+ else if (len >= 2 && text[0] == 0xff && text[1] == 0xfe) -+ { -+ vimconv_T conv; -+ -+ /* UTF-16, we get this for HTML */ -+ conv.vc_type = CONV_NONE; -+ convert_setup_ext(&conv, (char_u *)"utf-16le", FALSE, p_enc, TRUE); -+ -+ if (conv.vc_type != CONV_NONE) -+ { -+ text += 2; -+ len -= 2; -+ tmpbuf = string_convert(&conv, text, &len); -+ convert_setup(&conv, NULL, NULL); -+ } -+ if (tmpbuf != NULL) -+ text = tmpbuf; -+ } - } - #else /* !HAVE_GTK2 */ - # ifdef FEAT_MBYTE -*************** -*** 1451,1456 **** ---- 1473,1479 ---- - - if (info != (guint)TARGET_STRING - #ifdef FEAT_MBYTE -+ && (!clip_html || info != (guint)TARGET_HTML) - && info != (guint)TARGET_UTF8_STRING - && info != (guint)TARGET_VIMENC - #endif -*************** -*** 1486,1491 **** ---- 1509,1548 ---- - } - - #ifdef FEAT_MBYTE -+ else if (info == (guint)TARGET_HTML) -+ { -+ vimconv_T conv; -+ -+ /* Since we get utf-16, we probably should set it as well. */ -+ conv.vc_type = CONV_NONE; -+ convert_setup_ext(&conv, p_enc, TRUE, (char_u *)"utf-16le", FALSE); -+ if (conv.vc_type != CONV_NONE) -+ { -+ tmpbuf = string_convert(&conv, string, &length); -+ convert_setup(&conv, NULL, NULL); -+ vim_free(string); -+ string = tmpbuf; -+ } -+ -+ /* Prepend the BOM: "fffe" */ -+ if (string != NULL) -+ { -+ tmpbuf = alloc(length + 2); -+ tmpbuf[0] = 0xff; -+ tmpbuf[1] = 0xfe; -+ mch_memmove(tmpbuf + 2, string, (size_t)length); -+ vim_free(string); -+ string = tmpbuf; -+ length += 2; -+ -+ selection_data->type = selection_data->target; -+ selection_data->format = 16; /* 16 bits per char */ -+ gtk_selection_data_set(selection_data, html_atom, 16, -+ string, length); -+ vim_free(string); -+ } -+ return; -+ } - else if (info == (guint)TARGET_VIMENC) - { - int l = STRLEN(p_enc); -*************** -*** 3464,3469 **** ---- 3521,3527 ---- - - /* Initialise atoms */ - #ifdef FEAT_MBYTE -+ html_atom = gdk_atom_intern("text/html", FALSE); - utf8_string_atom = gdk_atom_intern("UTF8_STRING", FALSE); - #endif - #ifndef HAVE_GTK2 -*************** -*** 6665,6670 **** ---- 6723,6732 ---- - - for (i = 0; i < N_SELECTION_TARGETS; ++i) - { -+ #ifdef FEAT_MBYTE -+ if (!clip_html && selection_targets[i].info == TARGET_HTML) -+ continue; -+ #endif - received_selection = RS_NONE; - target = gdk_atom_intern(selection_targets[i].target, FALSE); - -*** ../vim-7.2.200/src/mbyte.c 2009-06-16 15:12:11.000000000 +0200 ---- src/mbyte.c 2009-06-16 15:01:30.000000000 +0200 -*************** -*** 3265,3271 **** - - # if defined(USE_ICONV) || defined(PROTO) - -! static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp)); - - /* - * Call iconv_open() with a check if iconv() works properly (there are broken ---- 3265,3271 ---- - - # if defined(USE_ICONV) || defined(PROTO) - -! static char_u *iconv_string __ARGS((vimconv_T *vcp, char_u *str, int slen, int *unconvlenp, int *resultlenp)); - - /* - * Call iconv_open() with a check if iconv() works properly (there are broken -*************** -*** 3326,3338 **** - * If "unconvlenp" is not NULL handle the string ending in an incomplete - * sequence and set "*unconvlenp" to the length of it. - * Returns the converted string in allocated memory. NULL for an error. - */ - static char_u * -! iconv_string(vcp, str, slen, unconvlenp) - vimconv_T *vcp; - char_u *str; - int slen; - int *unconvlenp; - { - const char *from; - size_t fromlen; ---- 3326,3340 ---- - * If "unconvlenp" is not NULL handle the string ending in an incomplete - * sequence and set "*unconvlenp" to the length of it. - * Returns the converted string in allocated memory. NULL for an error. -+ * If resultlenp is not NULL, sets it to the result length in bytes. - */ - static char_u * -! iconv_string(vcp, str, slen, unconvlenp, resultlenp) - vimconv_T *vcp; - char_u *str; - int slen; - int *unconvlenp; -+ int *resultlenp; - { - const char *from; - size_t fromlen; -*************** -*** 3418,3423 **** ---- 3420,3428 ---- - /* Not enough room or skipping illegal sequence. */ - done = to - (char *)result; - } -+ -+ if (resultlenp != NULL) -+ *resultlenp = (int)(to - (char *)result); - return result; - } - -*************** -*** 5837,5844 **** ---- 5842,5866 ---- - char_u *from; - char_u *to; - { -+ return convert_setup_ext(vcp, from, TRUE, to, TRUE); -+ } -+ -+ /* -+ * As convert_setup(), but only when from_unicode_is_utf8 is TRUE will all -+ * "from" unicode charsets be considered utf-8. Same for "to". -+ */ -+ int -+ convert_setup_ext(vcp, from, from_unicode_is_utf8, to, to_unicode_is_utf8) -+ vimconv_T *vcp; -+ char_u *from; -+ int from_unicode_is_utf8; -+ char_u *to; -+ int to_unicode_is_utf8; -+ { - int from_prop; - int to_prop; -+ int from_is_utf8; -+ int to_is_utf8; - - /* Reset to no conversion. */ - # ifdef USE_ICONV -*************** -*** 5856,5892 **** - - from_prop = enc_canon_props(from); - to_prop = enc_canon_props(to); -! if ((from_prop & ENC_LATIN1) && (to_prop & ENC_UNICODE)) - { - /* Internal latin1 -> utf-8 conversion. */ - vcp->vc_type = CONV_TO_UTF8; - vcp->vc_factor = 2; /* up to twice as long */ - } -! else if ((from_prop & ENC_LATIN9) && (to_prop & ENC_UNICODE)) - { - /* Internal latin9 -> utf-8 conversion. */ - vcp->vc_type = CONV_9_TO_UTF8; - vcp->vc_factor = 3; /* up to three as long (euro sign) */ - } -! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN1)) - { - /* Internal utf-8 -> latin1 conversion. */ - vcp->vc_type = CONV_TO_LATIN1; - } -! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_LATIN9)) - { - /* Internal utf-8 -> latin9 conversion. */ - vcp->vc_type = CONV_TO_LATIN9; - } - #ifdef WIN3264 - /* Win32-specific codepage <-> codepage conversion without iconv. */ -! else if (((from_prop & ENC_UNICODE) || encname2codepage(from) > 0) -! && ((to_prop & ENC_UNICODE) || encname2codepage(to) > 0)) - { - vcp->vc_type = CONV_CODEPAGE; - vcp->vc_factor = 2; /* up to twice as long */ -! vcp->vc_cpfrom = (from_prop & ENC_UNICODE) ? 0 : encname2codepage(from); -! vcp->vc_cpto = (to_prop & ENC_UNICODE) ? 0 : encname2codepage(to); - } - #endif - #ifdef MACOS_X ---- 5878,5923 ---- - - from_prop = enc_canon_props(from); - to_prop = enc_canon_props(to); -! if (from_unicode_is_utf8) -! from_is_utf8 = from_prop & ENC_UNICODE; -! else -! from_is_utf8 = from_prop == ENC_UNICODE; -! if (to_unicode_is_utf8) -! to_is_utf8 = to_prop & ENC_UNICODE; -! else -! to_is_utf8 = to_prop == ENC_UNICODE; -! -! if ((from_prop & ENC_LATIN1) && to_is_utf8) - { - /* Internal latin1 -> utf-8 conversion. */ - vcp->vc_type = CONV_TO_UTF8; - vcp->vc_factor = 2; /* up to twice as long */ - } -! else if ((from_prop & ENC_LATIN9) && to_is_utf8) - { - /* Internal latin9 -> utf-8 conversion. */ - vcp->vc_type = CONV_9_TO_UTF8; - vcp->vc_factor = 3; /* up to three as long (euro sign) */ - } -! else if (from_is_utf8 && (to_prop & ENC_LATIN1)) - { - /* Internal utf-8 -> latin1 conversion. */ - vcp->vc_type = CONV_TO_LATIN1; - } -! else if (from_is_utf8 && (to_prop & ENC_LATIN9)) - { - /* Internal utf-8 -> latin9 conversion. */ - vcp->vc_type = CONV_TO_LATIN9; - } - #ifdef WIN3264 - /* Win32-specific codepage <-> codepage conversion without iconv. */ -! else if ((from_is_utf8 || encname2codepage(from) > 0) -! && (to_is_utf8 || encname2codepage(to) > 0)) - { - vcp->vc_type = CONV_CODEPAGE; - vcp->vc_factor = 2; /* up to twice as long */ -! vcp->vc_cpfrom = from_is_utf8 ? 0 : encname2codepage(from); -! vcp->vc_cpto = to_is_utf8 ? 0 : encname2codepage(to); - } - #endif - #ifdef MACOS_X -*************** -*** 5894,5900 **** - { - vcp->vc_type = CONV_MAC_LATIN1; - } -! else if ((from_prop & ENC_MACROMAN) && (to_prop & ENC_UNICODE)) - { - vcp->vc_type = CONV_MAC_UTF8; - vcp->vc_factor = 2; /* up to twice as long */ ---- 5925,5931 ---- - { - vcp->vc_type = CONV_MAC_LATIN1; - } -! else if ((from_prop & ENC_MACROMAN) && to_is_utf8) - { - vcp->vc_type = CONV_MAC_UTF8; - vcp->vc_factor = 2; /* up to twice as long */ -*************** -*** 5903,5909 **** - { - vcp->vc_type = CONV_LATIN1_MAC; - } -! else if ((from_prop & ENC_UNICODE) && (to_prop & ENC_MACROMAN)) - { - vcp->vc_type = CONV_UTF8_MAC; - } ---- 5934,5940 ---- - { - vcp->vc_type = CONV_LATIN1_MAC; - } -! else if (from_is_utf8 && (to_prop & ENC_MACROMAN)) - { - vcp->vc_type = CONV_UTF8_MAC; - } -*************** -*** 5913,5920 **** - { - /* Use iconv() for conversion. */ - vcp->vc_fd = (iconv_t)my_iconv_open( -! (to_prop & ENC_UNICODE) ? (char_u *)"utf-8" : to, -! (from_prop & ENC_UNICODE) ? (char_u *)"utf-8" : from); - if (vcp->vc_fd != (iconv_t)-1) - { - vcp->vc_type = CONV_ICONV; ---- 5944,5951 ---- - { - /* Use iconv() for conversion. */ - vcp->vc_fd = (iconv_t)my_iconv_open( -! to_is_utf8 ? (char_u *)"utf-8" : to, -! from_is_utf8 ? (char_u *)"utf-8" : from); - if (vcp->vc_fd != (iconv_t)-1) - { - vcp->vc_type = CONV_ICONV; -*************** -*** 6170,6178 **** - - # ifdef USE_ICONV - case CONV_ICONV: /* conversion with output_conv.vc_fd */ -! retval = iconv_string(vcp, ptr, len, unconvlenp); -! if (retval != NULL && lenp != NULL) -! *lenp = (int)STRLEN(retval); - break; - # endif - # ifdef WIN3264 ---- 6201,6207 ---- - - # ifdef USE_ICONV - case CONV_ICONV: /* conversion with output_conv.vc_fd */ -! retval = iconv_string(vcp, ptr, len, unconvlenp, lenp); - break; - # endif - # ifdef WIN3264 -*** ../vim-7.2.200/src/option.c 2009-05-17 13:30:58.000000000 +0200 ---- src/option.c 2009-06-12 21:09:51.000000000 +0200 -*************** -*** 7024,7029 **** ---- 7024,7030 ---- - int new_unnamed = FALSE; - int new_autoselect = FALSE; - int new_autoselectml = FALSE; -+ int new_html = FALSE; - regprog_T *new_exclude_prog = NULL; - char_u *errmsg = NULL; - char_u *p; -*************** -*** 7047,7052 **** ---- 7048,7058 ---- - new_autoselectml = TRUE; - p += 12; - } -+ else if (STRNCMP(p, "html", 4) == 0 && (p[4] == ',' || p[4] == NUL)) -+ { -+ new_html = TRUE; -+ p += 4; -+ } - else if (STRNCMP(p, "exclude:", 8) == 0 && new_exclude_prog == NULL) - { - p += 8; -*************** -*** 7068,7073 **** ---- 7074,7080 ---- - clip_unnamed = new_unnamed; - clip_autoselect = new_autoselect; - clip_autoselectml = new_autoselectml; -+ clip_html = new_html; - vim_free(clip_exclude_prog); - clip_exclude_prog = new_exclude_prog; - } -*** ../vim-7.2.200/src/version.c 2009-06-16 15:12:11.000000000 +0200 ---- src/version.c 2009-06-16 15:14:02.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 201, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -13. Go to a poetry recital and ask why the poems don't rhyme. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.202 --- a/components/vim/vim72-patches/7.2.202 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.202 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.202 -Problem: BufWipeout autocommand that edits another buffer causes problems. -Solution: Check for the situation, give an error and quit the operation. -Files: src/fileio.c - - -*** ../vim-7.2.201/src/fileio.c 2009-05-16 17:29:37.000000000 +0200 ---- src/fileio.c 2009-06-11 21:22:37.000000000 +0200 -*************** -*** 4824,4829 **** ---- 4824,4831 ---- - char_u *sfname; - { - #ifdef FEAT_AUTOCMD -+ buf_T *buf = curbuf; -+ - /* It's like the unnamed buffer is deleted.... */ - if (curbuf->b_p_bl) - apply_autocmds(EVENT_BUFDELETE, NULL, NULL, FALSE, curbuf); -*************** -*** 4832,4837 **** ---- 4834,4845 ---- - if (aborting()) /* autocmds may abort script processing */ - return FAIL; - # endif -+ if (curbuf != buf) -+ { -+ /* We are in another buffer now, don't do the renaming. */ -+ EMSG(_(e_auchangedbuf)); -+ return FAIL; -+ } - #endif - - if (setfname(curbuf, fname, sfname, FALSE) == OK) -*** ../vim-7.2.201/src/version.c 2009-06-16 15:23:07.000000000 +0200 ---- src/version.c 2009-06-16 15:28:31.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 202, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -14. Put mosquito netting around your work area. Play a tape of jungle - sounds all day. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.203 --- a/components/vim/vim72-patches/7.2.203 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1496 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.203 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.203 -Problem: When reloading a buffer or doing anything else with a buffer that - is not displayed in a visible window, autocommands may be applied - to the current window, folds messed up, etc. -Solution: Instead of using the current window for the hidden buffer use a - special window, splitting the current one temporarily. -Files: src/fileio.c, src/globals.h, src/gui.c, src/if_perl.xs, - src/proto/gui.pro, src/proto/window.pro, src/screen.c, - src/structs.h, src/window.c - - -*** ../vim-7.2.202/src/fileio.c 2009-06-16 15:35:46.000000000 +0200 ---- src/fileio.c 2009-06-11 21:22:37.000000000 +0200 -*************** -*** 8365,8371 **** - - /* Execute the modeline settings, but don't set window-local - * options if we are using the current window for another buffer. */ -! do_modelines(aco.save_curwin == NULL ? OPT_NOWIN : 0); - - /* restore the current window */ - aucmd_restbuf(&aco); ---- 8365,8371 ---- - - /* Execute the modeline settings, but don't set window-local - * options if we are using the current window for another buffer. */ -! do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0); - - /* restore the current window */ - aucmd_restbuf(&aco); -*************** -*** 8381,8388 **** - - /* - * Prepare for executing autocommands for (hidden) buffer "buf". -! * Search a window for the current buffer. Save the cursor position and -! * screen offset. - * Set "curbuf" and "curwin" to match "buf". - * When FEAT_AUTOCMD is not defined another version is used, see below. - */ ---- 8381,8388 ---- - - /* - * Prepare for executing autocommands for (hidden) buffer "buf". -! * Search for a visible window containing the current buffer. If there isn't -! * one then use "aucmd_win". - * Set "curbuf" and "curwin" to match "buf". - * When FEAT_AUTOCMD is not defined another version is used, see below. - */ -*************** -*** 8392,8399 **** - buf_T *buf; /* new curbuf */ - { - win_T *win; -! -! aco->new_curbuf = buf; - - /* Find a window that is for the new buffer */ - if (buf == curbuf) /* be quick when buf is curbuf */ ---- 8392,8400 ---- - buf_T *buf; /* new curbuf */ - { - win_T *win; -! #ifdef FEAT_WINDOWS -! int save_ea; -! #endif - - /* Find a window that is for the new buffer */ - if (buf == curbuf) /* be quick when buf is curbuf */ -*************** -*** 8407,8448 **** - win = NULL; - #endif - -! /* -! * Prefer to use an existing window for the buffer, it has the least side -! * effects (esp. if "buf" is curbuf). -! * Otherwise, use curwin for "buf". It might make some items in the -! * window invalid. At least save the cursor and topline. -! */ - if (win != NULL) - { -! /* there is a window for "buf", make it the curwin */ -! aco->save_curwin = curwin; - curwin = win; -- aco->save_buf = win->w_buffer; -- aco->new_curwin = win; - } - else - { -! /* there is no window for "buf", use curwin */ -! aco->save_curwin = NULL; -! aco->save_buf = curbuf; -! --curbuf->b_nwindows; - curwin->w_buffer = buf; - ++buf->b_nwindows; - -! /* save cursor and topline, set them to safe values */ -! aco->save_cursor = curwin->w_cursor; -! curwin->w_cursor.lnum = 1; -! curwin->w_cursor.col = 0; -! aco->save_topline = curwin->w_topline; -! curwin->w_topline = 1; -! #ifdef FEAT_DIFF -! aco->save_topfill = curwin->w_topfill; -! curwin->w_topfill = 0; - #endif - } -- - curbuf = buf; - } - - /* ---- 8408,8460 ---- - win = NULL; - #endif - -! /* Allocate "aucmd_win" when needed. If this fails (out of memory) fall -! * back to using the current window. */ -! if (win == NULL && aucmd_win == NULL) -! { -! win_alloc_aucmd_win(); -! if (aucmd_win == NULL) -! win = curwin; -! } -! -! aco->save_curwin = curwin; -! aco->save_curbuf = curbuf; - if (win != NULL) - { -! /* There is a window for "buf" in the current tab page, make it the -! * curwin. This is preferred, it has the least side effects (esp. if -! * "buf" is curbuf). */ - curwin = win; - } - else - { -! /* There is no window for "buf", use "aucmd_win". To minimize the side -! * effects, insert it in a the current tab page. -! * Anything related to a window (e.g., setting folds) may have -! * unexpected results. */ -! curwin = aucmd_win; - curwin->w_buffer = buf; - ++buf->b_nwindows; - -! #ifdef FEAT_WINDOWS -! /* Split the current window, put the aucmd_win in the upper half. */ -! make_snapshot(SNAP_AUCMD_IDX); -! save_ea = p_ea; -! p_ea = FALSE; -! (void)win_split_ins(0, WSP_TOP, aucmd_win, 0); -! (void)win_comp_pos(); /* recompute window positions */ -! p_ea = save_ea; -! #endif -! /* set cursor and topline to safe values */ -! curwin_init(); -! #ifdef FEAT_VERTSPLIT -! curwin->w_wincol = 0; -! curwin->w_width = Columns; - #endif - } - curbuf = buf; -+ aco->new_curwin = curwin; -+ aco->new_curbuf = curbuf; - } - - /* -*************** -*** 8454,8474 **** - aucmd_restbuf(aco) - aco_save_T *aco; /* structure holding saved values */ - { -! if (aco->save_curwin != NULL) - { - /* restore curwin */ - #ifdef FEAT_WINDOWS - if (win_valid(aco->save_curwin)) - #endif - { -! /* restore the buffer which was previously edited by curwin, if -! * it's still the same window and it's valid */ - if (curwin == aco->new_curwin -! && buf_valid(aco->save_buf) -! && aco->save_buf->b_ml.ml_mfp != NULL) - { - --curbuf->b_nwindows; -! curbuf = aco->save_buf; - curwin->w_buffer = curbuf; - ++curbuf->b_nwindows; - } ---- 8466,8551 ---- - aucmd_restbuf(aco) - aco_save_T *aco; /* structure holding saved values */ - { -! #ifdef FEAT_WINDOWS -! int dummy; -! #endif -! -! if (aco->new_curwin == aucmd_win) -! { -! --curbuf->b_nwindows; -! #ifdef FEAT_WINDOWS -! /* Find "aucmd_win", it can't be closed, but it may be in another tab -! * page. */ -! if (curwin != aucmd_win) -! { -! tabpage_T *tp; -! win_T *wp; -! -! FOR_ALL_TAB_WINDOWS(tp, wp) -! { -! if (wp == aucmd_win) -! { -! if (tp != curtab) -! goto_tabpage_tp(tp); -! win_goto(aucmd_win); -! break; -! } -! } -! } -! -! /* Remove the window and frame from the tree of frames. */ -! (void)winframe_remove(curwin, &dummy, NULL); -! win_remove(curwin, NULL); -! last_status(FALSE); /* may need to remove last status line */ -! restore_snapshot(SNAP_AUCMD_IDX, FALSE); -! (void)win_comp_pos(); /* recompute window positions */ -! -! if (win_valid(aco->save_curwin)) -! curwin = aco->save_curwin; -! else -! /* Hmm, original window disappeared. Just use the first one. */ -! curwin = firstwin; -! # ifdef FEAT_EVAL -! vars_clear(&aucmd_win->w_vars.dv_hashtab); /* free all w: variables */ -! # endif -! #else -! curwin = aco->save_curwin; -! #endif -! curbuf = curwin->w_buffer; -! -! /* the buffer contents may have changed */ -! check_cursor(); -! if (curwin->w_topline > curbuf->b_ml.ml_line_count) -! { -! curwin->w_topline = curbuf->b_ml.ml_line_count; -! #ifdef FEAT_DIFF -! curwin->w_topfill = 0; -! #endif -! } -! #if defined(FEAT_GUI) -! /* Hide the scrollbars from the aucmd_win and update. */ -! gui_mch_enable_scrollbar(&aucmd_win->w_scrollbars[SBAR_LEFT], FALSE); -! gui_mch_enable_scrollbar(&aucmd_win->w_scrollbars[SBAR_RIGHT], FALSE); -! gui_may_update_scrollbars(); -! #endif -! } -! else - { - /* restore curwin */ - #ifdef FEAT_WINDOWS - if (win_valid(aco->save_curwin)) - #endif - { -! /* Restore the buffer which was previously edited by curwin, if -! * it was chagned, we are still the same window and the buffer is -! * valid. */ - if (curwin == aco->new_curwin -! && curbuf != aco->new_curbuf -! && buf_valid(aco->new_curbuf) -! && aco->new_curbuf->b_ml.ml_mfp != NULL) - { - --curbuf->b_nwindows; -! curbuf = aco->new_curbuf; - curwin->w_buffer = curbuf; - ++curbuf->b_nwindows; - } -*************** -*** 8477,8510 **** - curbuf = curwin->w_buffer; - } - } -- else -- { -- /* restore buffer for curwin if it still exists and is loaded */ -- if (buf_valid(aco->save_buf) && aco->save_buf->b_ml.ml_mfp != NULL) -- { -- --curbuf->b_nwindows; -- curbuf = aco->save_buf; -- curwin->w_buffer = curbuf; -- ++curbuf->b_nwindows; -- curwin->w_cursor = aco->save_cursor; -- check_cursor(); -- /* check topline < line_count, in case lines got deleted */ -- if (aco->save_topline <= curbuf->b_ml.ml_line_count) -- { -- curwin->w_topline = aco->save_topline; -- #ifdef FEAT_DIFF -- curwin->w_topfill = aco->save_topfill; -- #endif -- } -- else -- { -- curwin->w_topline = curbuf->b_ml.ml_line_count; -- #ifdef FEAT_DIFF -- curwin->w_topfill = 0; -- #endif -- } -- } -- } - } - - static int autocmd_nested = FALSE; ---- 8554,8559 ---- -*************** -*** 9419,9427 **** - aco_save_T *aco; /* structure to save values in */ - buf_T *buf; /* new curbuf */ - { -! aco->save_buf = curbuf; - curbuf = buf; - curwin->w_buffer = buf; - } - - /* ---- 9468,9478 ---- - aco_save_T *aco; /* structure to save values in */ - buf_T *buf; /* new curbuf */ - { -! aco->save_curbuf = curbuf; -! --curbuf->b_nwindows; - curbuf = buf; - curwin->w_buffer = buf; -+ ++curbuf->b_nwindows; - } - - /* -*************** -*** 9432,9439 **** - aucmd_restbuf(aco) - aco_save_T *aco; /* structure holding saved values */ - { -! curbuf = aco->save_buf; - curwin->w_buffer = curbuf; - } - - #endif /* FEAT_AUTOCMD */ ---- 9483,9492 ---- - aucmd_restbuf(aco) - aco_save_T *aco; /* structure holding saved values */ - { -! --curbuf->b_nwindows; -! curbuf = aco->save_curbuf; - curwin->w_buffer = curbuf; -+ ++curbuf->b_nwindows; - } - - #endif /* FEAT_AUTOCMD */ -*** ../vim-7.2.202/src/globals.h 2009-06-16 15:23:07.000000000 +0200 ---- src/globals.h 2009-06-12 21:10:30.000000000 +0200 -*************** -*** 539,544 **** ---- 539,548 ---- - - EXTERN win_T *curwin; /* currently active window */ - -+ #ifdef FEAT_AUTOCMD -+ EXTERN win_T *aucmd_win; /* window used in aucmd_prepbuf() */ -+ #endif -+ - /* - * The window layout is kept in a tree of frames. topframe points to the top - * of the tree. -*** ../vim-7.2.202/src/gui.c 2009-05-21 23:25:38.000000000 +0200 ---- src/gui.c 2009-06-11 20:58:05.000000000 +0200 -*************** -*** 3879,3884 **** ---- 3879,3899 ---- - * Scrollbar stuff: - */ - -+ /* -+ * Called when something in the window layout has changed. -+ */ -+ void -+ gui_may_update_scrollbars() -+ { -+ if (gui.in_use && starting == 0) -+ { -+ out_flush(); -+ gui_init_which_components(NULL); -+ gui_update_scrollbars(TRUE); -+ } -+ need_mouse_correct = TRUE; -+ } -+ - void - gui_update_scrollbars(force) - int force; /* Force all scrollbars to get updated */ -*** ../vim-7.2.202/src/if_perl.xs 2008-12-03 13:18:16.000000000 +0100 ---- src/if_perl.xs 2009-06-03 17:52:51.000000000 +0200 -*************** -*** 1234,1240 **** - { - ml_delete(lnum, 0); - deleted_lines_mark(lnum, 1L); -! if (aco.save_buf == curbuf) - check_cursor(); - } - ---- 1236,1242 ---- - { - ml_delete(lnum, 0); - deleted_lines_mark(lnum, 1L); -! if (aco.save_curbuf == curbuf) - check_cursor(); - } - -*** ../vim-7.2.202/src/proto/gui.pro 2007-05-05 19:42:19.000000000 +0200 ---- src/proto/gui.pro 2009-06-11 20:58:08.000000000 +0200 -*************** -*** 43,48 **** ---- 43,49 ---- - void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp)); - scrollbar_T *gui_find_scrollbar __ARGS((long ident)); - void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging)); -+ void gui_may_update_scrollbars __ARGS((void)); - void gui_update_scrollbars __ARGS((int force)); - int gui_do_scroll __ARGS((void)); - int gui_do_horiz_scroll __ARGS((void)); -*** ../vim-7.2.202/src/proto/window.pro 2007-07-26 22:57:45.000000000 +0200 ---- src/proto/window.pro 2009-06-10 21:20:39.000000000 +0200 -*************** -*** 1,6 **** ---- 1,7 ---- - /* window.c */ - void do_window __ARGS((int nchar, long Prenum, int xchar)); - int win_split __ARGS((int size, int flags)); -+ int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir)); - int win_valid __ARGS((win_T *win)); - int win_count __ARGS((void)); - int make_windows __ARGS((int count, int vertical)); -*************** -*** 10,18 **** ---- 11,21 ---- - void win_close __ARGS((win_T *win, int free_buf)); - void win_close_othertab __ARGS((win_T *win, int free_buf, tabpage_T *tp)); - void win_free_all __ARGS((void)); -+ win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); - void close_others __ARGS((int message, int forceit)); - void curwin_init __ARGS((void)); - int win_alloc_first __ARGS((void)); -+ void win_alloc_aucmd_win __ARGS((void)); - void win_init_size __ARGS((void)); - void free_tabpage __ARGS((tabpage_T *tp)); - int win_new_tabpage __ARGS((int after)); -*************** -*** 30,35 **** ---- 33,40 ---- - void win_enter __ARGS((win_T *wp, int undo_sync)); - win_T *buf_jump_open_win __ARGS((buf_T *buf)); - win_T *buf_jump_open_tab __ARGS((buf_T *buf)); -+ void win_append __ARGS((win_T *after, win_T *wp)); -+ void win_remove __ARGS((win_T *wp, tabpage_T *tp)); - int win_alloc_lines __ARGS((win_T *wp)); - void win_free_lsize __ARGS((win_T *wp)); - void shell_new_rows __ARGS((void)); -*************** -*** 58,63 **** ---- 63,70 ---- - int min_rows __ARGS((void)); - int only_one_window __ARGS((void)); - void check_lnums __ARGS((int do_curwin)); -+ void make_snapshot __ARGS((int idx)); -+ void restore_snapshot __ARGS((int idx, int close_curwin)); - int win_hasvertsplit __ARGS((void)); - int match_add __ARGS((win_T *wp, char_u *grp, char_u *pat, int prio, int id)); - int match_delete __ARGS((win_T *wp, int id, int perr)); -*** ../vim-7.2.202/src/screen.c 2009-05-17 13:30:58.000000000 +0200 ---- src/screen.c 2009-06-10 16:41:45.000000000 +0200 -*************** -*** 7495,7500 **** ---- 7495,7504 ---- - #endif - } - } -+ #ifdef FEAT_AUTOCMD -+ if (aucmd_win != NULL && win_alloc_lines(aucmd_win) == FAIL) -+ outofmem = TRUE; -+ #endif - #ifdef FEAT_WINDOWS - give_up: - #endif -*** ../vim-7.2.202/src/structs.h 2009-05-16 16:36:25.000000000 +0200 ---- src/structs.h 2009-06-13 12:51:56.000000000 +0200 -*************** -*** 1621,1626 **** ---- 1621,1634 ---- - }; - #endif - -+ #define SNAP_HELP_IDX 0 -+ #ifdef FEAT_AUTOCMD -+ # define SNAP_AUCMD_IDX 1 -+ # define SNAP_COUNT 2 -+ #else -+ # define SNAP_COUNT 1 -+ #endif -+ - /* - * Tab pages point to the top frame of each tab page. - * Note: Most values are NOT valid for the current tab page! Use "curwin", -*************** -*** 1649,1655 **** - buf_T *(tp_diffbuf[DB_COUNT]); - int tp_diff_invalid; /* list of diffs is outdated */ - #endif -! frame_T *tp_snapshot; /* window layout snapshot */ - #ifdef FEAT_EVAL - dictitem_T tp_winvar; /* variable for "t:" Dictionary */ - dict_T tp_vars; /* internal variables, local to tab page */ ---- 1657,1663 ---- - buf_T *(tp_diffbuf[DB_COUNT]); - int tp_diff_invalid; /* list of diffs is outdated */ - #endif -! frame_T *(tp_snapshot[SNAP_COUNT]); /* window layout snapshots */ - #ifdef FEAT_EVAL - dictitem_T tp_winvar; /* variable for "t:" Dictionary */ - dict_T tp_vars; /* internal variables, local to tab page */ -*************** -*** 2276,2291 **** - */ - typedef struct - { -! buf_T *save_buf; /* saved curbuf */ - #ifdef FEAT_AUTOCMD -! buf_T *new_curbuf; /* buffer to be used */ -! win_T *save_curwin; /* saved curwin, NULL if it didn't change */ -! win_T *new_curwin; /* new curwin if save_curwin != NULL */ -! pos_T save_cursor; /* saved cursor pos of save_curwin */ -! linenr_T save_topline; /* saved topline of save_curwin */ -! # ifdef FEAT_DIFF -! int save_topfill; /* saved topfill of save_curwin */ -! # endif - #endif - } aco_save_T; - ---- 2284,2294 ---- - */ - typedef struct - { -! buf_T *save_curbuf; /* saved curbuf */ - #ifdef FEAT_AUTOCMD -! win_T *save_curwin; /* saved curwin */ -! win_T *new_curwin; /* new curwin */ -! buf_T *new_curbuf; /* new curbuf */ - #endif - } aco_save_T; - -*** ../vim-7.2.202/src/window.c 2009-05-21 23:25:38.000000000 +0200 ---- src/window.c 2009-06-12 22:29:33.000000000 +0200 -*************** -*** 11,18 **** - - static int path_is_url __ARGS((char_u *p)); - #if defined(FEAT_WINDOWS) || defined(PROTO) -- static int win_split_ins __ARGS((int size, int flags, win_T *newwin, int dir)); - static void win_init __ARGS((win_T *newp, win_T *oldp, int flags)); - static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col)); - static void frame_setheight __ARGS((frame_T *curfrp, int height)); - #ifdef FEAT_VERTSPLIT ---- 11,18 ---- - - static int path_is_url __ARGS((char_u *p)); - #if defined(FEAT_WINDOWS) || defined(PROTO) - static void win_init __ARGS((win_T *newp, win_T *oldp, int flags)); -+ static void win_init_some __ARGS((win_T *newp, win_T *oldp)); - static void frame_comp_pos __ARGS((frame_T *topfrp, int *row, int *col)); - static void frame_setheight __ARGS((frame_T *curfrp, int height)); - #ifdef FEAT_VERTSPLIT -*************** -*** 23,30 **** - static void win_totop __ARGS((int size, int flags)); - static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height)); - static int last_window __ARGS((void)); - static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp)); -- static win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); - static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp)); - static tabpage_T *alt_tabpage __ARGS((void)); - static win_T *frame2win __ARGS((frame_T *frp)); ---- 23,30 ---- - static void win_totop __ARGS((int size, int flags)); - static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height)); - static int last_window __ARGS((void)); -+ static int one_window __ARGS((void)); - static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp)); - static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp)); - static tabpage_T *alt_tabpage __ARGS((void)); - static win_T *frame2win __ARGS((frame_T *frp)); -*************** -*** 41,46 **** ---- 41,47 ---- - #endif - #endif - static int win_alloc_firstwin __ARGS((win_T *oldwin)); -+ static void new_frame __ARGS((win_T *wp)); - #if defined(FEAT_WINDOWS) || defined(PROTO) - static tabpage_T *alloc_tabpage __ARGS((void)); - static int leave_tabpage __ARGS((buf_T *new_curbuf)); -*************** -*** 49,56 **** - static int frame_minheight __ARGS((frame_T *topfrp, win_T *next_curwin)); - static void win_enter_ext __ARGS((win_T *wp, int undo_sync, int no_curwin)); - static void win_free __ARGS((win_T *wp, tabpage_T *tp)); -- static void win_append __ARGS((win_T *, win_T *)); -- static void win_remove __ARGS((win_T *, tabpage_T *tp)); - static void frame_append __ARGS((frame_T *after, frame_T *frp)); - static void frame_insert __ARGS((frame_T *before, frame_T *frp)); - static void frame_remove __ARGS((frame_T *frp)); ---- 50,55 ---- -*************** -*** 62,78 **** - static void frame_add_height __ARGS((frame_T *frp, int n)); - static void last_status_rec __ARGS((frame_T *fr, int statusline)); - -- static void make_snapshot __ARGS((void)); - static void make_snapshot_rec __ARGS((frame_T *fr, frame_T **frp)); -! static void clear_snapshot __ARGS((tabpage_T *tp)); - static void clear_snapshot_rec __ARGS((frame_T *fr)); -- static void restore_snapshot __ARGS((int close_curwin)); - static int check_snapshot_rec __ARGS((frame_T *sn, frame_T *fr)); - static win_T *restore_snapshot_rec __ARGS((frame_T *sn, frame_T *fr)); - - #endif /* FEAT_WINDOWS */ - -! static win_T *win_alloc __ARGS((win_T *after)); - static void win_new_height __ARGS((win_T *, int)); - - #define URL_SLASH 1 /* path_is_url() has found "://" */ ---- 61,75 ---- - static void frame_add_height __ARGS((frame_T *frp, int n)); - static void last_status_rec __ARGS((frame_T *fr, int statusline)); - - static void make_snapshot_rec __ARGS((frame_T *fr, frame_T **frp)); -! static void clear_snapshot __ARGS((tabpage_T *tp, int idx)); - static void clear_snapshot_rec __ARGS((frame_T *fr)); - static int check_snapshot_rec __ARGS((frame_T *sn, frame_T *fr)); - static win_T *restore_snapshot_rec __ARGS((frame_T *sn, frame_T *fr)); - - #endif /* FEAT_WINDOWS */ - -! static win_T *win_alloc __ARGS((win_T *after, int hidden)); - static void win_new_height __ARGS((win_T *, int)); - - #define URL_SLASH 1 /* path_is_url() has found "://" */ -*************** -*** 259,265 **** - /* cursor to previous window with wrap around */ - case 'W': - CHECK_CMDWIN -! if (lastwin == firstwin && Prenum != 1) /* just one window */ - beep_flush(); - else - { ---- 256,262 ---- - /* cursor to previous window with wrap around */ - case 'W': - CHECK_CMDWIN -! if (firstwin == lastwin && Prenum != 1) /* just one window */ - beep_flush(); - else - { -*************** -*** 343,349 **** - - /* move window to new tab page */ - case 'T': -! if (firstwin == lastwin) - MSG(_(m_onlyone)); - else - { ---- 340,346 ---- - - /* move window to new tab page */ - case 'T': -! if (one_window()) - MSG(_(m_onlyone)); - else - { -*************** -*** 679,687 **** - /* When creating the help window make a snapshot of the window layout. - * Otherwise clear the snapshot, it's now invalid. */ - if (flags & WSP_HELP) -! make_snapshot(); - else -! clear_snapshot(curtab); - - return win_split_ins(size, flags, NULL, 0); - } ---- 676,684 ---- - /* When creating the help window make a snapshot of the window layout. - * Otherwise clear the snapshot, it's now invalid. */ - if (flags & WSP_HELP) -! make_snapshot(SNAP_HELP_IDX); - else -! clear_snapshot(curtab, SNAP_HELP_IDX); - - return win_split_ins(size, flags, NULL, 0); - } -*************** -*** 692,698 **** - * top/left/right/bottom. - * return FAIL for failure, OK otherwise - */ -! static int - win_split_ins(size, flags, newwin, dir) - int size; - int flags; ---- 689,695 ---- - * top/left/right/bottom. - * return FAIL for failure, OK otherwise - */ -! int - win_split_ins(size, flags, newwin, dir) - int size; - int flags; -*************** -*** 893,906 **** - { - /* new window below/right of current one */ - if (newwin == NULL) -! wp = win_alloc(oldwin); - else - win_append(oldwin, wp); - } - else - { - if (newwin == NULL) -! wp = win_alloc(oldwin->w_prev); - else - win_append(oldwin->w_prev, wp); - } ---- 890,903 ---- - { - /* new window below/right of current one */ - if (newwin == NULL) -! wp = win_alloc(oldwin, FALSE); - else - win_append(oldwin, wp); - } - else - { - if (newwin == NULL) -! wp = win_alloc(oldwin->w_prev, FALSE); - else - win_append(oldwin->w_prev, wp); - } -*************** -*** 910,915 **** ---- 907,919 ---- - if (wp == NULL) - return FAIL; - -+ new_frame(wp); -+ if (wp->w_frame == NULL) -+ { -+ win_free(wp, NULL); -+ return FAIL; -+ } -+ - /* make the contents of the new window the same as the current one */ - win_init(wp, curwin, flags); - } -*************** -*** 970,982 **** - } - - if (newwin == NULL) -! { -! /* Create a frame for the new window. */ -! frp = (frame_T *)alloc_clear((unsigned)sizeof(frame_T)); -! frp->fr_layout = FR_LEAF; -! frp->fr_win = wp; -! wp->w_frame = frp; -! } - else - frp = newwin->w_frame; - frp->fr_parent = curfrp->fr_parent; ---- 974,980 ---- - } - - if (newwin == NULL) -! frp = wp->w_frame; - else - frp = newwin->w_frame; - frp->fr_parent = curfrp->fr_parent; -*************** -*** 1156,1161 **** ---- 1154,1160 ---- - return OK; - } - -+ - /* - * Initialize window "newp" from window "oldp". - * Used when splitting a window and when creating a new tab page. -*************** -*** 1204,1217 **** - if (oldp->w_localdir != NULL) - newp->w_localdir = vim_strsave(oldp->w_localdir); - -! /* Use the same argument list. */ -! newp->w_alist = oldp->w_alist; -! ++newp->w_alist->al_refcount; -! newp->w_arg_idx = oldp->w_arg_idx; -! -! /* -! * copy tagstack and options from existing window -! */ - for (i = 0; i < oldp->w_tagstacklen; i++) - { - newp->w_tagstack[i] = oldp->w_tagstack[i]; ---- 1203,1209 ---- - if (oldp->w_localdir != NULL) - newp->w_localdir = vim_strsave(oldp->w_localdir); - -! /* copy tagstack and folds */ - for (i = 0; i < oldp->w_tagstacklen; i++) - { - newp->w_tagstack[i] = oldp->w_tagstack[i]; -*************** -*** 1221,1230 **** - } - newp->w_tagstackidx = oldp->w_tagstackidx; - newp->w_tagstacklen = oldp->w_tagstacklen; -- win_copy_options(oldp, newp); - # ifdef FEAT_FOLDING - copyFoldingState(oldp, newp); - # endif - } - - #endif /* FEAT_WINDOWS */ ---- 1213,1241 ---- - } - newp->w_tagstackidx = oldp->w_tagstackidx; - newp->w_tagstacklen = oldp->w_tagstacklen; - # ifdef FEAT_FOLDING - copyFoldingState(oldp, newp); - # endif -+ -+ win_init_some(newp, oldp); -+ } -+ -+ /* -+ * Initialize window "newp" from window"old". -+ * Only the essential things are copied. -+ */ -+ static void -+ win_init_some(newp, oldp) -+ win_T *newp; -+ win_T *oldp; -+ { -+ /* Use the same argument list. */ -+ newp->w_alist = oldp->w_alist; -+ ++newp->w_alist->al_refcount; -+ newp->w_arg_idx = oldp->w_arg_idx; -+ -+ /* copy options from existing window */ -+ win_copy_options(oldp, newp); - } - - #endif /* FEAT_WINDOWS */ -*************** -*** 1565,1579 **** - #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT) - /* When 'guioptions' includes 'L' or 'R' may have to remove or add - * scrollbars. Have to update them anyway. */ -! if (gui.in_use) -! { -! out_flush(); -! gui_init_which_components(NULL); -! gui_update_scrollbars(TRUE); -! } -! need_mouse_correct = TRUE; - #endif -- - } - - /* ---- 1576,1583 ---- - #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT) - /* When 'guioptions' includes 'L' or 'R' may have to remove or add - * scrollbars. Have to update them anyway. */ -! gui_may_update_scrollbars(); - #endif - } - - /* -*************** -*** 2048,2060 **** - } - - /* -! * Return TRUE if the current window is the only window that exists. - * Returns FALSE if there is a window, possibly in another tab page. - */ - static int - last_window() - { -! return (lastwin == firstwin && first_tabpage->tp_next == NULL); - } - - /* ---- 2052,2091 ---- - } - - /* -! * Return TRUE if the current window is the only window that exists (ignoring -! * "aucmd_win"). - * Returns FALSE if there is a window, possibly in another tab page. - */ - static int - last_window() - { -! return (one_window() && first_tabpage->tp_next == NULL); -! } -! -! /* -! * Return TRUE if there is only one window other than "aucmd_win" in the -! * current tab page. -! */ -! static int -! one_window() -! { -! #ifdef FEAT_AUTOCMD -! win_T *wp; -! int seen_one = FALSE; -! -! FOR_ALL_WINDOWS(wp) -! { -! if (wp != aucmd_win) -! { -! if (seen_one) -! return FALSE; -! seen_one = TRUE; -! } -! } -! return TRUE; -! #else -! return firstwin == lastwin; -! #endif - } - - /* -*************** -*** 2083,2088 **** ---- 2114,2132 ---- - return; - } - -+ #ifdef FEAT_AUTOCMD -+ if (win == aucmd_win) -+ { -+ EMSG(_("E813: Cannot close autocmd window")); -+ return; -+ } -+ if ((firstwin == aucmd_win || lastwin == aucmd_win) && one_window()) -+ { -+ EMSG(_("E814: Cannot close window, only autocmd window would remain")); -+ return; -+ } -+ #endif -+ - /* - * When closing the last window in a tab page first go to another tab - * page and then close the window and the tab page. This avoids that -*************** -*** 2112,2118 **** - if (win->w_buffer->b_help) - help_window = TRUE; - else -! clear_snapshot(curtab); - - #ifdef FEAT_AUTOCMD - if (win == curwin) ---- 2156,2162 ---- - if (win->w_buffer->b_help) - help_window = TRUE; - else -! clear_snapshot(curtab, SNAP_HELP_IDX); - - #ifdef FEAT_AUTOCMD - if (win == curwin) -*************** -*** 2229,2235 **** - /* After closing the help window, try restoring the window layout from - * before it was opened. */ - if (help_window) -! restore_snapshot(close_curwin); - - #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT) - /* When 'guioptions' includes 'L' or 'R' may have to remove scrollbars. */ ---- 2273,2279 ---- - /* After closing the help window, try restoring the window layout from - * before it was opened. */ - if (help_window) -! restore_snapshot(SNAP_HELP_IDX, close_curwin); - - #if defined(FEAT_GUI) && defined(FEAT_VERTSPLIT) - /* When 'guioptions' includes 'L' or 'R' may have to remove scrollbars. */ -*************** -*** 2344,2349 **** ---- 2388,2401 ---- - - while (firstwin != NULL) - (void)win_free_mem(firstwin, &dummy, NULL); -+ -+ # ifdef FEAT_AUTOCMD -+ if (aucmd_win != NULL) -+ { -+ (void)win_free_mem(aucmd_win, &dummy, NULL); -+ aucmd_win = NULL; -+ } -+ # endif - } - #endif - -*************** -*** 2351,2357 **** - * Remove a window and its frame from the tree of frames. - * Returns a pointer to the window that got the freed up space. - */ -! static win_T * - winframe_remove(win, dirp, tp) - win_T *win; - int *dirp UNUSED; /* set to 'v' or 'h' for direction if 'ea' */ ---- 2403,2409 ---- - * Remove a window and its frame from the tree of frames. - * Returns a pointer to the window that got the freed up space. - */ -! win_T * - winframe_remove(win, dirp, tp) - win_T *win; - int *dirp UNUSED; /* set to 'v' or 'h' for direction if 'ea' */ -*************** -*** 3090,3096 **** - win_T *nextwp; - int r; - -! if (lastwin == firstwin) - { - if (message - #ifdef FEAT_AUTOCMD ---- 3142,3148 ---- - win_T *nextwp; - int r; - -! if (one_window()) - { - if (message - #ifdef FEAT_AUTOCMD -*************** -*** 3194,3202 **** ---- 3246,3275 ---- - first_tabpage->tp_topframe = topframe; - curtab = first_tabpage; - #endif -+ - return OK; - } - -+ #if defined(FEAT_AUTOCMD) || defined(PROTO) -+ /* -+ * Init "aucmd_win". This can only be done after the first -+ * window is fully initialized, thus it can't be in win_alloc_first(). -+ */ -+ void -+ win_alloc_aucmd_win() -+ { -+ aucmd_win = win_alloc(NULL, TRUE); -+ if (aucmd_win != NULL) -+ { -+ win_init_some(aucmd_win, curwin); -+ # ifdef FEAT_SCROLLBIND -+ aucmd_win->w_p_scb = FALSE; -+ # endif -+ new_frame(aucmd_win); -+ } -+ } -+ #endif -+ - /* - * Allocate the first window or the first window in a new tab page. - * When "oldwin" is NULL create an empty buffer for it. -*************** -*** 3208,3214 **** - win_alloc_firstwin(oldwin) - win_T *oldwin; - { -! curwin = win_alloc(NULL); - if (oldwin == NULL) - { - /* Very first window, need to create an empty buffer for it and ---- 3281,3287 ---- - win_alloc_firstwin(oldwin) - win_T *oldwin; - { -! curwin = win_alloc(NULL, FALSE); - if (oldwin == NULL) - { - /* Very first window, need to create an empty buffer for it and -*************** -*** 3236,3256 **** - } - #endif - -! topframe = (frame_T *)alloc_clear((unsigned)sizeof(frame_T)); -! if (topframe == NULL) - return FAIL; -! topframe->fr_layout = FR_LEAF; - #ifdef FEAT_VERTSPLIT - topframe->fr_width = Columns; - #endif - topframe->fr_height = Rows - p_ch; - topframe->fr_win = curwin; -- curwin->w_frame = topframe; - - return OK; - } - - /* - * Initialize the window and frame size to the maximum. - */ - void ---- 3309,3344 ---- - } - #endif - -! new_frame(curwin); -! if (curwin->w_frame == NULL) - return FAIL; -! topframe = curwin->w_frame; - #ifdef FEAT_VERTSPLIT - topframe->fr_width = Columns; - #endif - topframe->fr_height = Rows - p_ch; - topframe->fr_win = curwin; - - return OK; - } - - /* -+ * Create a frame for window "wp". -+ */ -+ static void -+ new_frame(win_T *wp) -+ { -+ frame_T *frp = (frame_T *)alloc_clear((unsigned)sizeof(frame_T)); -+ -+ wp->w_frame = frp; -+ if (frp != NULL) -+ { -+ frp->fr_layout = FR_LEAF; -+ frp->fr_win = wp; -+ } -+ } -+ -+ /* - * Initialize the window and frame size to the maximum. - */ - void -*************** -*** 3300,3309 **** - free_tabpage(tp) - tabpage_T *tp; - { - # ifdef FEAT_DIFF - diff_clear(tp); - # endif -! clear_snapshot(tp); - #ifdef FEAT_EVAL - vars_clear(&tp->tp_vars.dv_hashtab); /* free all t: variables */ - #endif ---- 3388,3400 ---- - free_tabpage(tp) - tabpage_T *tp; - { -+ int idx; -+ - # ifdef FEAT_DIFF - diff_clear(tp); - # endif -! for (idx = 0; idx < SNAP_COUNT; ++idx) -! clear_snapshot(tp, idx); - #ifdef FEAT_EVAL - vars_clear(&tp->tp_vars.dv_hashtab); /* free all t: variables */ - #endif -*************** -*** 3370,3381 **** - #if defined(FEAT_GUI) - /* When 'guioptions' includes 'L' or 'R' may have to remove or add - * scrollbars. Have to update them anyway. */ -! if (gui.in_use && starting == 0) -! { -! gui_init_which_components(NULL); -! gui_update_scrollbars(TRUE); -! } -! need_mouse_correct = TRUE; - #endif - - redraw_all_later(CLEAR); ---- 3461,3467 ---- - #if defined(FEAT_GUI) - /* When 'guioptions' includes 'L' or 'R' may have to remove or add - * scrollbars. Have to update them anyway. */ -! gui_may_update_scrollbars(); - #endif - - redraw_all_later(CLEAR); -*************** -*** 3593,3604 **** - #if defined(FEAT_GUI) - /* When 'guioptions' includes 'L' or 'R' may have to remove or add - * scrollbars. Have to update them anyway. */ -! if (gui.in_use && starting == 0) -! { -! gui_init_which_components(NULL); -! gui_update_scrollbars(TRUE); -! } -! need_mouse_correct = TRUE; - #endif - - redraw_all_later(CLEAR); ---- 3679,3685 ---- - #if defined(FEAT_GUI) - /* When 'guioptions' includes 'L' or 'R' may have to remove or add - * scrollbars. Have to update them anyway. */ -! gui_may_update_scrollbars(); - #endif - - redraw_all_later(CLEAR); -*************** -*** 4150,4160 **** - #endif - - /* -! * allocate a window structure and link it in the window list - */ - static win_T * -! win_alloc(after) - win_T *after UNUSED; - { - win_T *newwin; - ---- 4231,4243 ---- - #endif - - /* -! * Allocate a window structure and link it in the window list when "hidden" is -! * FALSE. - */ - static win_T * -! win_alloc(after, hidden) - win_T *after UNUSED; -+ int hidden UNUSED; - { - win_T *newwin; - -*************** -*** 4180,4186 **** - * link the window in the window list - */ - #ifdef FEAT_WINDOWS -! win_append(after, newwin); - #endif - #ifdef FEAT_VERTSPLIT - newwin->w_wincol = 0; ---- 4263,4270 ---- - * link the window in the window list - */ - #ifdef FEAT_WINDOWS -! if (!hidden) -! win_append(after, newwin); - #endif - #ifdef FEAT_VERTSPLIT - newwin->w_wincol = 0; -*************** -*** 4314,4320 **** - /* - * Append window "wp" in the window list after window "after". - */ -! static void - win_append(after, wp) - win_T *after, *wp; - { ---- 4398,4404 ---- - /* - * Append window "wp" in the window list after window "after". - */ -! void - win_append(after, wp) - win_T *after, *wp; - { -*************** -*** 4340,4346 **** - /* - * Remove a window from the window list. - */ -! static void - win_remove(wp, tp) - win_T *wp; - tabpage_T *tp; /* tab page "win" is in, NULL for current */ ---- 4424,4430 ---- - /* - * Remove a window from the window list. - */ -! void - win_remove(wp, tp) - win_T *wp; - tabpage_T *tp; /* tab page "win" is in, NULL for current */ -*************** -*** 6040,6045 **** ---- 6124,6130 ---- - /* - * Return TRUE if there is only one window (in the current tab page), not - * counting a help or preview window, unless it is the current window. -+ * Does not count "aucmd_win". - */ - int - only_one_window() -*************** -*** 6053,6063 **** - return FALSE; - - for (wp = firstwin; wp != NULL; wp = wp->w_next) -! if (!((wp->w_buffer->b_help && !curbuf->b_help) - # ifdef FEAT_QUICKFIX - || wp->w_p_pvw - # endif - ) || wp == curwin) - ++count; - return (count <= 1); - #else ---- 6138,6152 ---- - return FALSE; - - for (wp = firstwin; wp != NULL; wp = wp->w_next) -! if ((!((wp->w_buffer->b_help && !curbuf->b_help) - # ifdef FEAT_QUICKFIX - || wp->w_p_pvw - # endif - ) || wp == curwin) -+ # ifdef FEAT_AUTOCMD -+ && wp != aucmd_win -+ # endif -+ ) - ++count; - return (count <= 1); - #else -*************** -*** 6112,6122 **** - /* - * Create a snapshot of the current frame sizes. - */ -! static void -! make_snapshot() - { -! clear_snapshot(curtab); -! make_snapshot_rec(topframe, &curtab->tp_snapshot); - } - - static void ---- 6201,6212 ---- - /* - * Create a snapshot of the current frame sizes. - */ -! void -! make_snapshot(idx) -! int idx; - { -! clear_snapshot(curtab, idx); -! make_snapshot_rec(topframe, &curtab->tp_snapshot[idx]); - } - - static void -*************** -*** 6144,6154 **** - * Remove any existing snapshot. - */ - static void -! clear_snapshot(tp) - tabpage_T *tp; - { -! clear_snapshot_rec(tp->tp_snapshot); -! tp->tp_snapshot = NULL; - } - - static void ---- 6234,6245 ---- - * Remove any existing snapshot. - */ - static void -! clear_snapshot(tp, idx) - tabpage_T *tp; -+ int idx; - { -! clear_snapshot_rec(tp->tp_snapshot[idx]); -! tp->tp_snapshot[idx] = NULL; - } - - static void -*************** -*** 6168,6193 **** - * This is only done if the screen size didn't change and the window layout is - * still the same. - */ -! static void -! restore_snapshot(close_curwin) - int close_curwin; /* closing current window */ - { - win_T *wp; - -! if (curtab->tp_snapshot != NULL - # ifdef FEAT_VERTSPLIT -! && curtab->tp_snapshot->fr_width == topframe->fr_width - # endif -! && curtab->tp_snapshot->fr_height == topframe->fr_height -! && check_snapshot_rec(curtab->tp_snapshot, topframe) == OK) - { -! wp = restore_snapshot_rec(curtab->tp_snapshot, topframe); - win_comp_pos(); - if (wp != NULL && close_curwin) - win_goto(wp); - redraw_all_later(CLEAR); - } -! clear_snapshot(curtab); - } - - /* ---- 6259,6285 ---- - * This is only done if the screen size didn't change and the window layout is - * still the same. - */ -! void -! restore_snapshot(idx, close_curwin) -! int idx; - int close_curwin; /* closing current window */ - { - win_T *wp; - -! if (curtab->tp_snapshot[idx] != NULL - # ifdef FEAT_VERTSPLIT -! && curtab->tp_snapshot[idx]->fr_width == topframe->fr_width - # endif -! && curtab->tp_snapshot[idx]->fr_height == topframe->fr_height -! && check_snapshot_rec(curtab->tp_snapshot[idx], topframe) == OK) - { -! wp = restore_snapshot_rec(curtab->tp_snapshot[idx], topframe); - win_comp_pos(); - if (wp != NULL && close_curwin) - win_goto(wp); - redraw_all_later(CLEAR); - } -! clear_snapshot(curtab, idx); - } - - /* -*** ../vim-7.2.202/src/version.c 2009-06-16 15:35:46.000000000 +0200 ---- src/version.c 2009-06-16 15:37:16.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 203, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -15. Five days in advance, tell your friends you can't attend their - party because you're not in the mood. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.206 --- a/components/vim/vim72-patches/7.2.206 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.206 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.206 -Problem: Win32: Can't build netbeans interface with Visual Studio 2010. -Solution: Undefine ECONNREFUSED. (George Reilly) -Files: src/netbeans.c - - -*** ../vim-7.2.205/src/netbeans.c 2009-05-17 23:25:16.000000000 +0200 ---- src/netbeans.c 2009-06-16 16:39:17.000000000 +0200 -*************** -*** 32,37 **** ---- 32,38 ---- - /* WinSock API is separated from C API, thus we can't use read(), write(), - * errno... */ - # define sock_errno WSAGetLastError() -+ # undef ECONNREFUSED - # define ECONNREFUSED WSAECONNREFUSED - # ifdef EINTR - # undef EINTR -*** ../vim-7.2.205/src/version.c 2009-06-16 16:45:14.000000000 +0200 ---- src/version.c 2009-06-16 16:57:45.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 206, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -18. When leaving the zoo, start running towards the parking lot, - yelling "run for your lives, they're loose!!" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.207 --- a/components/vim/vim72-patches/7.2.207 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.207 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.207 -Problem: Using freed memory with ":redrawstatus" when it works recursively. -Solution: Prevent recursively updating the status line. (partly by Dominique - Pelle) -Files: src/screen.c - - -*** ../vim-7.2.206/src/screen.c 2009-06-16 16:01:34.000000000 +0200 ---- src/screen.c 2009-06-16 17:04:53.000000000 +0200 -*************** -*** 5743,5748 **** ---- 5743,5755 ---- - int fillchar; - int attr; - int this_ru_col; -+ static int busy = FALSE; -+ -+ /* It's possible to get here recursively when 'statusline' (indirectly) -+ * invokes ":redrawstatus". Simply ignore the call then. */ -+ if (busy) -+ return; -+ busy = TRUE; - - wp->w_redr_status = FALSE; - if (wp->w_status_height == 0) -*************** -*** 5881,5886 **** ---- 5888,5894 ---- - attr); - } - #endif -+ busy = FALSE; - } - - #ifdef FEAT_STL_OPT -*** ../vim-7.2.206/src/version.c 2009-06-16 16:57:53.000000000 +0200 ---- src/version.c 2009-06-16 17:21:56.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 207, - /**/ - --- -In many of the more relaxed civilizations on the Outer Eastern Rim of the -Galaxy, "The Hitchhiker's Guide to the Galaxy" has already supplanted the -great "Encyclopedia Galactica" as the standard repository of all knowledge -and wisdom, for though it has many omissions and contains much that is -apocryphal, or at least wildly inaccurate, it scores over the older, more -pedestrian work in two important respects. -First, it is slightly cheaper; and second, it has the words "DON'T PANIC" -inscribed in large friendly letters on its cover. - -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.208 --- a/components/vim/vim72-patches/7.2.208 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.208 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.208 -Problem: "set novice" gives an error message, it should be ignored. -Solution: Don't see "no" in "novice" as unsetting an option. (Patrick - Texier) -Files: src/option.c - - -*** ../vim-7.2.207/src/option.c 2009-06-16 15:23:07.000000000 +0200 ---- src/option.c 2009-06-16 17:35:08.000000000 +0200 -*************** -*** 4006,4012 **** - else - { - prefix = 1; -! if (STRNCMP(arg, "no", 2) == 0) - { - prefix = 0; - arg += 2; ---- 4006,4012 ---- - else - { - prefix = 1; -! if (STRNCMP(arg, "no", 2) == 0 && STRNCMP(arg, "novice", 6) != 0) - { - prefix = 0; - arg += 2; -*************** -*** 9757,9763 **** - } - --p; - } -! if (STRNCMP(p, "no", 2) == 0) - { - xp->xp_context = EXPAND_BOOL_SETTINGS; - p += 2; ---- 9757,9763 ---- - } - --p; - } -! if (STRNCMP(p, "no", 2) == 0 && STRNCMP(p, "novice", 6) != 0) - { - xp->xp_context = EXPAND_BOOL_SETTINGS; - p += 2; -*** ../vim-7.2.207/src/version.c 2009-06-16 17:22:38.000000000 +0200 ---- src/version.c 2009-06-16 17:50:33.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 208, - /**/ - --- -Now it is such a bizarrely improbable coincidence that anything as -mind-bogglingly useful as the Babel fish could have evolved purely by chance -that some thinkers have chosen to see it as a final and clinching proof of the -NON-existence of God. -The argument goes something like this: 'I refuse to prove that I exist,' says -God, 'for proof denies faith, and without faith I am nothing.' -'But,' says Man, 'the Babel fish is a dead giveaway, isn't it? It could not -have evolved by chance. It proves you exist, and so therefore, by your own -arguments, you don't. QED.' -'Oh dear,' says God, 'I hadn't thought of that,' and promptly vanishes in a -puff of logic. -'Oh, that was easy,' says Man, and for an encore goes on to prove that black -is white and gets himself killed on the next pedestrian crossing. - -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.209 --- a/components/vim/vim72-patches/7.2.209 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.209 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.209 -Problem: For xxd setmode() is undefined on Cygwin. -Solution: Include io.h. (Dominique Pelle) -Files: src/xxd/xxd.c - - -*** ../vim-7.2.208/src/xxd/xxd.c 2007-12-03 21:32:21.000000000 +0100 ---- src/xxd/xxd.c 2009-06-16 18:03:14.000000000 +0200 -*************** -*** 64,69 **** ---- 64,72 ---- - # define _CRT_SECURE_NO_DEPRECATE - # define _CRT_NONSTDC_NO_DEPRECATE - #endif -+ #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || defined(__CYGWIN32__)) -+ # define CYGWIN -+ #endif - - #include - #ifdef VAXC -*************** -*** 77,83 **** - #if !defined(OS2) && defined(__EMX__) - # define OS2 - #endif -! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__) - # include /* for setmode() */ - #else - # ifdef UNIX ---- 80,87 ---- - #if !defined(OS2) && defined(__EMX__) - # define OS2 - #endif -! #if defined(MSDOS) || defined(WIN32) || defined(OS2) || defined(__BORLANDC__) \ -! || defined(CYGWIN) - # include /* for setmode() */ - #else - # ifdef UNIX -*************** -*** 150,158 **** - # endif - #endif - -- #if !defined(CYGWIN) && (defined(CYGWIN32) || defined(__CYGWIN__) || defined(__CYGWIN32__)) -- # define CYGWIN -- #endif - #if defined(MSDOS) || defined(WIN32) || defined(OS2) - # define BIN_READ(yes) ((yes) ? "rb" : "rt") - # define BIN_WRITE(yes) ((yes) ? "wb" : "wt") ---- 154,159 ---- -*** ../vim-7.2.208/src/version.c 2009-06-16 17:50:56.000000000 +0200 ---- src/version.c 2009-06-16 18:16:08.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 209, - /**/ - --- -"So this is it," said Arthur, "we are going to die." -"Yes," said Ford, "except...no! Wait a minute!" He suddenly lunged across -the chamber at something behind Arthur's line of vision. "What's this -switch?" he cried. -"What? Where?" cried Arthur, twisting around. -"No, I was only fooling," said Ford, "we are going to die after all." - -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.210 --- a/components/vim/vim72-patches/7.2.210 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.210 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.210 -Problem: When a file that is being edited has its timestamp updated outside - of Vim and ":checktime" is used still get a warning when writing - the file. (Matt Mueller) -Solution: Store the timestamp in b_mtime_read when the timestamp is the only - thing that changed. -Files: src/fileio.c - - -*** ../vim-7.2.209/src/fileio.c 2009-06-16 16:01:34.000000000 +0200 ---- src/fileio.c 2009-06-20 13:29:41.000000000 +0200 -*************** -*** 6627,6633 **** - mesg = _("W16: Warning: Mode of file \"%s\" has changed since editing started"); - mesg2 = _("See \":help W16\" for more info."); - } -! /* Else: only timestamp changed, ignored */ - } - } - } ---- 6627,6636 ---- - mesg = _("W16: Warning: Mode of file \"%s\" has changed since editing started"); - mesg2 = _("See \":help W16\" for more info."); - } -! else -! /* Only timestamp changed, store it to avoid a warning -! * in check_mtime() later. */ -! buf->b_mtime_read = buf->b_mtime; - } - } - } -*** ../vim-7.2.209/src/version.c 2009-06-16 18:29:37.000000000 +0200 ---- src/version.c 2009-06-24 11:57:08.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 210, - /**/ - --- -Have you heard about the new Beowulf cluster? It's so fast, it executes -an infinite loop in 6 seconds. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.211 --- a/components/vim/vim72-patches/7.2.211 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.211 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.211 -Problem: Memory leak when expanding a series of file names. -Solution: Use ga_clear_strings() instead of ga_clear(). -Files: src/misc1.c - - -*** ../vim-7.2.210/src/misc1.c 2009-05-17 13:30:58.000000000 +0200 ---- src/misc1.c 2009-06-24 16:16:17.000000000 +0200 -*************** -*** 9193,9199 **** - else if (vim_strpbrk(p, (char_u *)"$~") != NULL) - { - vim_free(p); -! ga_clear(&ga); - i = mch_expand_wildcards(num_pat, pat, num_file, file, - flags); - recursive = FALSE; ---- 9193,9199 ---- - else if (vim_strpbrk(p, (char_u *)"$~") != NULL) - { - vim_free(p); -! ga_clear_strings(&ga); - i = mch_expand_wildcards(num_pat, pat, num_file, file, - flags); - recursive = FALSE; -*** ../vim-7.2.210/src/version.c 2009-06-24 11:57:53.000000000 +0200 ---- src/version.c 2009-06-24 16:24:32.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 211, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -34. You laugh at people with 14400 baud modems. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.213 --- a/components/vim/vim72-patches/7.2.213 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.213 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.213 -Problem: Warning for using vsprintf(). -Solution: Use vim_vsnprintf(). -Files: src/netbeans.c - - -*** ../vim-7.2.212/src/netbeans.c 2009-06-16 16:57:53.000000000 +0200 ---- src/netbeans.c 2009-06-24 11:26:43.000000000 +0200 -*************** -*** 2586,2592 **** - va_list ap; - - va_start(ap, cmd); -! vsprintf(buf, cmd, ap); - va_end(ap); - - nbdebug((" COLONCMD %s\n", buf)); ---- 2586,2592 ---- - va_list ap; - - va_start(ap, cmd); -! vim_vsnprintf(buf, sizeof(buf), cmd, ap, NULL); - va_end(ap); - - nbdebug((" COLONCMD %s\n", buf)); -*** ../vim-7.2.212/src/version.c 2009-06-24 16:41:01.000000000 +0200 ---- src/version.c 2009-06-24 16:49:06.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 213, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -38. You wake up at 3 a.m. to go to the bathroom and stop and check your e-mail - on the way back to bed. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.214 --- a/components/vim/vim72-patches/7.2.214 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.214 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.214 -Problem: Crash with complete function for user command. (Andy Wokula) -Solution: Avoid using a NULL pointer (Dominique Pelle) -Files: src/ex_getln.c - - -*** ../vim-7.2.213/src/ex_getln.c 2009-05-16 17:29:37.000000000 +0200 ---- src/ex_getln.c 2009-06-24 16:57:28.000000000 +0200 -*************** -*** 4874,4887 **** - /* Loop over the items in the list. */ - for (li = retlist->lv_first; li != NULL; li = li->li_next) - { -! if (li->li_tv.v_type != VAR_STRING) -! continue; /* Skip non-string items */ - - if (ga_grow(&ga, 1) == FAIL) - break; - - ((char_u **)ga.ga_data)[ga.ga_len] = -! vim_strsave(li->li_tv.vval.v_string); - ++ga.ga_len; - } - list_unref(retlist); ---- 4874,4887 ---- - /* Loop over the items in the list. */ - for (li = retlist->lv_first; li != NULL; li = li->li_next) - { -! if (li->li_tv.v_type != VAR_STRING || li->li_tv.vval.v_string == NULL) -! continue; /* Skip non-string items and empty strings */ - - if (ga_grow(&ga, 1) == FAIL) - break; - - ((char_u **)ga.ga_data)[ga.ga_len] = -! vim_strsave(li->li_tv.vval.v_string); - ++ga.ga_len; - } - list_unref(retlist); -*** ../vim-7.2.213/src/version.c 2009-06-24 16:49:50.000000000 +0200 ---- src/version.c 2009-06-24 17:03:58.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 214, - /**/ - --- -He who laughs last, thinks slowest. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.215 --- a/components/vim/vim72-patches/7.2.215 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,310 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.215 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.215 -Problem: ml_get error when using ":vimgrep". -Solution: Load the memfile for the hidden buffer before putting it in a - window. Correct the order of splitting the window and filling - the window and buffer with data. -Files: src/fileio.c, src/proto/window.pro, src/quickfix.c, src/window.c - - -*** ../vim-7.2.214/src/fileio.c 2009-06-24 11:57:53.000000000 +0200 ---- src/fileio.c 2009-06-24 12:53:19.000000000 +0200 -*************** -*** 710,716 **** - #endif - #ifdef UNIX - /* Set swap file protection bits after creating it. */ -! if (swap_mode > 0 && curbuf->b_ml.ml_mfp->mf_fname != NULL) - (void)mch_setperm(curbuf->b_ml.ml_mfp->mf_fname, (long)swap_mode); - #endif - } ---- 710,717 ---- - #endif - #ifdef UNIX - /* Set swap file protection bits after creating it. */ -! if (swap_mode > 0 && curbuf->b_ml.ml_mfp != NULL -! && curbuf->b_ml.ml_mfp->mf_fname != NULL) - (void)mch_setperm(curbuf->b_ml.ml_mfp->mf_fname, (long)swap_mode); - #endif - } -*************** -*** 8435,8443 **** - * effects, insert it in a the current tab page. - * Anything related to a window (e.g., setting folds) may have - * unexpected results. */ -! curwin = aucmd_win; -! curwin->w_buffer = buf; - ++buf->b_nwindows; - - #ifdef FEAT_WINDOWS - /* Split the current window, put the aucmd_win in the upper half. */ ---- 8436,8444 ---- - * effects, insert it in a the current tab page. - * Anything related to a window (e.g., setting folds) may have - * unexpected results. */ -! aucmd_win->w_buffer = buf; - ++buf->b_nwindows; -+ win_init_empty(aucmd_win); /* set cursor and topline to safe values */ - - #ifdef FEAT_WINDOWS - /* Split the current window, put the aucmd_win in the upper half. */ -*************** -*** 8448,8459 **** - (void)win_comp_pos(); /* recompute window positions */ - p_ea = save_ea; - #endif -! /* set cursor and topline to safe values */ -! curwin_init(); -! #ifdef FEAT_VERTSPLIT -! curwin->w_wincol = 0; -! curwin->w_width = Columns; -! #endif - } - curbuf = buf; - aco->new_curwin = curwin; ---- 8449,8455 ---- - (void)win_comp_pos(); /* recompute window positions */ - p_ea = save_ea; - #endif -! curwin = aucmd_win; - } - curbuf = buf; - aco->new_curwin = curwin; -*** ../vim-7.2.214/src/proto/window.pro 2009-06-16 16:01:34.000000000 +0200 ---- src/proto/window.pro 2009-06-24 12:53:13.000000000 +0200 -*************** -*** 14,19 **** ---- 14,20 ---- - win_T *winframe_remove __ARGS((win_T *win, int *dirp, tabpage_T *tp)); - void close_others __ARGS((int message, int forceit)); - void curwin_init __ARGS((void)); -+ void win_init_empty __ARGS((win_T *wp)); - int win_alloc_first __ARGS((void)); - void win_alloc_aucmd_win __ARGS((void)); - void win_init_size __ARGS((void)); -*** ../vim-7.2.214/src/quickfix.c 2009-05-17 13:30:58.000000000 +0200 ---- src/quickfix.c 2009-06-24 15:30:06.000000000 +0200 -*************** -*** 3411,3424 **** - /* Init the options. */ - buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP); - -! /* set curwin/curbuf to buf and save a few things */ -! aucmd_prepbuf(&aco, newbuf); - -! /* Need to set the filename for autocommands. */ -! (void)setfname(curbuf, fname, NULL, FALSE); - -- if (ml_open(curbuf) == OK) -- { - /* Create swap file now to avoid the ATTENTION message. */ - check_need_swap(TRUE); - ---- 3411,3425 ---- - /* Init the options. */ - buf_copy_options(newbuf, BCO_ENTER | BCO_NOHELP); - -! /* need to open the memfile before putting the buffer in a window */ -! if (ml_open(newbuf) == OK) -! { -! /* set curwin/curbuf to buf and save a few things */ -! aucmd_prepbuf(&aco, newbuf); - -! /* Need to set the filename for autocommands. */ -! (void)setfname(curbuf, fname, NULL, FALSE); - - /* Create swap file now to avoid the ATTENTION message. */ - check_need_swap(TRUE); - -*************** -*** 3441,3450 **** - newbuf = curbuf; - } - } -- } - -! /* restore curwin/curbuf and a few other things */ -! aucmd_restbuf(&aco); - - if (!buf_valid(newbuf)) - return NULL; ---- 3442,3451 ---- - newbuf = curbuf; - } - } - -! /* restore curwin/curbuf and a few other things */ -! aucmd_restbuf(&aco); -! } - - if (!buf_valid(newbuf)) - return NULL; -*** ../vim-7.2.214/src/window.c 2009-06-16 16:01:34.000000000 +0200 ---- src/window.c 2009-06-24 14:35:16.000000000 +0200 -*************** -*** 2354,2366 **** - frame_T *frp; - win_T *wp; - -- #ifdef FEAT_FOLDING -- clearFolding(win); -- #endif -- -- /* reduce the reference count to the argument list. */ -- alist_unlink(win->w_alist); -- - /* Remove the window and its frame from the tree of frames. */ - frp = win->w_frame; - wp = winframe_remove(win, dirp, tp); ---- 2354,2359 ---- -*************** -*** 2386,2394 **** - tabpage_close(TRUE); - # endif - -- while (firstwin != NULL) -- (void)win_free_mem(firstwin, &dummy, NULL); -- - # ifdef FEAT_AUTOCMD - if (aucmd_win != NULL) - { ---- 2379,2384 ---- -*************** -*** 2396,2401 **** ---- 2386,2394 ---- - aucmd_win = NULL; - } - # endif -+ -+ while (firstwin != NULL) -+ (void)win_free_mem(firstwin, &dummy, NULL); - } - #endif - -*************** -*** 3204,3230 **** - void - curwin_init() - { -! redraw_win_later(curwin, NOT_VALID); -! curwin->w_lines_valid = 0; -! curwin->w_cursor.lnum = 1; -! curwin->w_curswant = curwin->w_cursor.col = 0; - #ifdef FEAT_VIRTUALEDIT -! curwin->w_cursor.coladd = 0; - #endif -! curwin->w_pcmark.lnum = 1; /* pcmark not cleared but set to line 1 */ -! curwin->w_pcmark.col = 0; -! curwin->w_prev_pcmark.lnum = 0; -! curwin->w_prev_pcmark.col = 0; -! curwin->w_topline = 1; - #ifdef FEAT_DIFF -! curwin->w_topfill = 0; - #endif -! curwin->w_botline = 2; - #ifdef FEAT_FKMAP -! if (curwin->w_p_rl) -! curwin->w_farsi = W_CONV + W_R_L; - else -! curwin->w_farsi = W_CONV; - #endif - } - ---- 3197,3230 ---- - void - curwin_init() - { -! win_init_empty(curwin); -! } -! -! void -! win_init_empty(wp) -! win_T *wp; -! { -! redraw_win_later(wp, NOT_VALID); -! wp->w_lines_valid = 0; -! wp->w_cursor.lnum = 1; -! wp->w_curswant = wp->w_cursor.col = 0; - #ifdef FEAT_VIRTUALEDIT -! wp->w_cursor.coladd = 0; - #endif -! wp->w_pcmark.lnum = 1; /* pcmark not cleared but set to line 1 */ -! wp->w_pcmark.col = 0; -! wp->w_prev_pcmark.lnum = 0; -! wp->w_prev_pcmark.col = 0; -! wp->w_topline = 1; - #ifdef FEAT_DIFF -! wp->w_topfill = 0; - #endif -! wp->w_botline = 2; - #ifdef FEAT_FKMAP -! if (wp->w_p_rl) -! wp->w_farsi = W_CONV + W_R_L; - else -! wp->w_farsi = W_CONV; - #endif - } - -*************** -*** 4325,4330 **** ---- 4325,4337 ---- - { - int i; - -+ #ifdef FEAT_FOLDING -+ clearFolding(wp); -+ #endif -+ -+ /* reduce the reference count to the argument list. */ -+ alist_unlink(wp->w_alist); -+ - #ifdef FEAT_AUTOCMD - /* Don't execute autocommands while the window is halfway being deleted. - * gui_mch_destroy_scrollbar() may trigger a FocusGained event. */ -*************** -*** 4387,4393 **** - } - #endif /* FEAT_GUI */ - -! win_remove(wp, tp); - vim_free(wp); - - #ifdef FEAT_AUTOCMD ---- 4394,4403 ---- - } - #endif /* FEAT_GUI */ - -! #ifdef FEAT_AUTOCMD -! if (wp != aucmd_win) -! #endif -! win_remove(wp, tp); - vim_free(wp); - - #ifdef FEAT_AUTOCMD -*** ../vim-7.2.214/src/version.c 2009-06-24 17:04:40.000000000 +0200 ---- src/version.c 2009-06-24 17:27:38.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 215, - /**/ - --- -Micro$oft: where do you want to go today? - Linux: where do you want to go tomorrow? - FreeBSD: are you guys coming, or what? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.216 --- a/components/vim/vim72-patches/7.2.216 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.216 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.216 -Problem: Two error messages have the same number E812. -Solution: Give one message a different number. -Files: runtime/doc/autocmd.txt, runtime/doc/if_mzsch.txt, src/if_mzsch.c - - -*** ../vim-7.2.215/runtime/doc/autocmd.txt 2008-08-09 19:36:46.000000000 +0200 ---- runtime/doc/autocmd.txt 2009-06-24 17:49:04.000000000 +0200 -*************** -*** 335,340 **** ---- 335,342 ---- - NOTE: When this autocommand is executed, the - current buffer "%" may be different from the - buffer being deleted "" and "". -+ Don't change to another buffer, it will cause -+ problems. - *BufEnter* - BufEnter After entering a buffer. Useful for setting - options for a file type. Also executed when -*************** -*** 397,402 **** ---- 399,406 ---- - NOTE: When this autocommand is executed, the - current buffer "%" may be different from the - buffer being unloaded "". -+ Don't change to another buffer, it will cause -+ problems. - *BufWinEnter* - BufWinEnter After a buffer is displayed in a window. This - can be when the buffer is loaded (after -*************** -*** 428,433 **** ---- 432,439 ---- - NOTE: When this autocommand is executed, the - current buffer "%" may be different from the - buffer being deleted "". -+ Don't change to another buffer, it will cause -+ problems. - *BufWrite* *BufWritePre* - BufWrite or BufWritePre Before writing the whole buffer to a file. - *BufWriteCmd* -*************** -*** 748,755 **** - 'a' abort, like hitting CTRL-C - When set to an empty string the user will be - asked, as if there was no SwapExists autocmd. -! Note: Do not try to change the buffer, the -! results are unpredictable. - *Syntax* - Syntax When the 'syntax' option has been set. The - pattern is matched against the syntax name. ---- 754,763 ---- - 'a' abort, like hitting CTRL-C - When set to an empty string the user will be - asked, as if there was no SwapExists autocmd. -! *E812* -! It is not allowed to change to another buffer, -! change a buffer name or change directory -! here. - *Syntax* - Syntax When the 'syntax' option has been set. The - pattern is matched against the syntax name. -*** ../vim-7.2.215/runtime/doc/if_mzsch.txt 2009-05-26 22:58:43.000000000 +0200 ---- runtime/doc/if_mzsch.txt 2009-06-24 12:08:20.000000000 +0200 -*************** -*** 1,4 **** -! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 May 26 - - - VIM REFERENCE MANUAL by Sergey Khorev ---- 1,4 ---- -! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 Jun 24 - - - VIM REFERENCE MANUAL by Sergey Khorev -*************** -*** 231,237 **** - (set-cursor (line . col) [window]) Set cursor position. - - ============================================================================== -! 5. Dynamic loading *mzscheme-dynamic* *E812* - - On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| - output then includes |+mzscheme/dyn|. ---- 231,237 ---- - (set-cursor (line . col) [window]) Set cursor position. - - ============================================================================== -! 5. Dynamic loading *mzscheme-dynamic* *E815* - - On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| - output then includes |+mzscheme/dyn|. -*** ../vim-7.2.215/src/if_mzsch.c 2009-05-26 22:58:43.000000000 +0200 ---- src/if_mzsch.c 2009-06-24 12:08:23.000000000 +0200 -*************** -*** 1040,1046 **** - #ifdef DYNAMIC_MZSCHEME - if (!mzscheme_enabled(TRUE)) - { -! EMSG(_("E812: Sorry, this command is disabled, the MzScheme libraries could not be loaded.")); - return -1; - } - #endif ---- 1040,1046 ---- - #ifdef DYNAMIC_MZSCHEME - if (!mzscheme_enabled(TRUE)) - { -! EMSG(_("E815: Sorry, this command is disabled, the MzScheme libraries could not be loaded.")); - return -1; - } - #endif -*** ../vim-7.2.215/src/version.c 2009-06-24 17:31:27.000000000 +0200 ---- src/version.c 2009-06-24 17:46:56.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 216, - /**/ - --- -Everyone has a photographic memory. Some don't have film. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.217 --- a/components/vim/vim72-patches/7.2.217 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.217 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.217 -Problem: Running tests with valgrind doesn't work as advertised. -Solution: Fix the line in the Makefile. -Files: src/testdir/Makefile - - -*** ../vim-7.2.216/src/testdir/Makefile 2009-03-11 16:26:01.000000000 +0100 ---- src/testdir/Makefile 2009-06-24 14:59:42.000000000 +0200 -*************** -*** 4,12 **** - - VIMPROG = ../vim - -! # Uncomment this line for using valgrind. -! # The output goes into a file "valgrind.$PID" (sorry, no test number). -! # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --logfile=valgrind - - SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ - test7.out test8.out test9.out test10.out test11.out \ ---- 4,14 ---- - - VIMPROG = ../vim - -! # Uncomment this line to use valgrind for memory leaks and extra warnings. -! # The output goes into a file "valgrind.testN" -! # Vim should be compiled with EXITFREE to avoid false warnings. -! # This will make testing about 10 times as slow. -! # VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$* - - SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ - test7.out test8.out test9.out test10.out test11.out \ -*** ../vim-7.2.216/src/version.c 2009-06-24 17:51:01.000000000 +0200 ---- src/version.c 2009-06-24 18:07:07.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 217, - /**/ - --- -A day without sunshine is like, well, night. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.218 --- a/components/vim/vim72-patches/7.2.218 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.218 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.218 -Problem: Cannot build GTK with hangul_input feature. (Dominique Pelle) -Solution: Adjuste #ifdef. (SungHyun Nam) -Files: src/gui.c - - -*** ../vim-7.2.217/src/gui.c 2009-06-16 16:01:34.000000000 +0200 ---- src/gui.c 2009-06-24 17:45:01.000000000 +0200 -*************** -*** 959,965 **** - guicolor_T fg, bg; - - if ( -! # ifdef HAVE_GTK2 - preedit_get_status() - # else - im_get_status() ---- 959,965 ---- - guicolor_T fg, bg; - - if ( -! # if defined(HAVE_GTK2) && !defined(FEAT_HANGULIN) - preedit_get_status() - # else - im_get_status() -*** ../vim-7.2.217/src/version.c 2009-06-24 18:07:55.000000000 +0200 ---- src/version.c 2009-06-24 18:31:06.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 218, - /**/ - --- -The users that I support would double-click on a landmine to find out -what happens. -- A system administrator - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.220 --- a/components/vim/vim72-patches/7.2.220 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.220 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.220 (after 7.2.215) -Problem: a BufEnter autocommand that changes directory causes problems. - (Ajit Thakkar) -Solution: Disable autocommands when opening a hidden buffer in a window. -Files: src/fileio.c - - -*** ../vim-7.2.219/src/fileio.c 2009-06-24 17:31:27.000000000 +0200 ---- src/fileio.c 2009-07-01 17:02:46.000000000 +0200 -*************** -*** 8441,8453 **** - win_init_empty(aucmd_win); /* set cursor and topline to safe values */ - - #ifdef FEAT_WINDOWS -! /* Split the current window, put the aucmd_win in the upper half. */ - make_snapshot(SNAP_AUCMD_IDX); - save_ea = p_ea; - p_ea = FALSE; - (void)win_split_ins(0, WSP_TOP, aucmd_win, 0); - (void)win_comp_pos(); /* recompute window positions */ - p_ea = save_ea; - #endif - curwin = aucmd_win; - } ---- 8441,8456 ---- - win_init_empty(aucmd_win); /* set cursor and topline to safe values */ - - #ifdef FEAT_WINDOWS -! /* Split the current window, put the aucmd_win in the upper half. -! * We don't want the BufEnter or WinEnter autocommands. */ -! block_autocmds(); - make_snapshot(SNAP_AUCMD_IDX); - save_ea = p_ea; - p_ea = FALSE; - (void)win_split_ins(0, WSP_TOP, aucmd_win, 0); - (void)win_comp_pos(); /* recompute window positions */ - p_ea = save_ea; -+ unblock_autocmds(); - #endif - curwin = aucmd_win; - } -*************** -*** 8474,8480 **** - --curbuf->b_nwindows; - #ifdef FEAT_WINDOWS - /* Find "aucmd_win", it can't be closed, but it may be in another tab -! * page. */ - if (curwin != aucmd_win) - { - tabpage_T *tp; ---- 8477,8484 ---- - --curbuf->b_nwindows; - #ifdef FEAT_WINDOWS - /* Find "aucmd_win", it can't be closed, but it may be in another tab -! * page. Do not trigger autocommands here. */ -! block_autocmds(); - if (curwin != aucmd_win) - { - tabpage_T *tp; -*************** -*** 8498,8503 **** ---- 8502,8508 ---- - last_status(FALSE); /* may need to remove last status line */ - restore_snapshot(SNAP_AUCMD_IDX, FALSE); - (void)win_comp_pos(); /* recompute window positions */ -+ unblock_autocmds(); - - if (win_valid(aco->save_curwin)) - curwin = aco->save_curwin; -*** ../vim-7.2.219/src/version.c 2009-07-01 16:12:54.000000000 +0200 ---- src/version.c 2009-07-01 17:10:22.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 220, - /**/ - --- -Microsoft is to software what McDonalds is to gourmet cooking - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.221 --- a/components/vim/vim72-patches/7.2.221 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,247 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.221 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.221 -Problem: X cut_buffer0 text is used as-is, it may be in the wrong encoding. -Solution: Convert between 'enc' and latin1. (James Vega) -Files: src/gui_gtk_x11.c, src/message.c, src/ops.c, src/proto/ui.pro, - src/ui.c - - -*** ../vim-7.2.220/src/gui_gtk_x11.c 2009-06-16 15:23:07.000000000 +0200 ---- src/gui_gtk_x11.c 2009-07-01 11:55:34.000000000 +0200 -*************** -*** 6717,6724 **** - { - GdkAtom target; - unsigned i; -- int nbytes; -- char_u *buffer; - time_t start; - - for (i = 0; i < N_SELECTION_TARGETS; ++i) ---- 6717,6722 ---- -*************** -*** 6746,6767 **** - } - - /* Final fallback position - use the X CUT_BUFFER0 store */ -! nbytes = 0; -! buffer = (char_u *)XFetchBuffer(GDK_WINDOW_XDISPLAY(gui.mainwin->window), -! &nbytes, 0); -! if (nbytes > 0) -! { -! /* Got something */ -! clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd); -! if (p_verbose > 0) -! { -! verbose_enter(); -! smsg((char_u *)_("Used CUT_BUFFER0 instead of empty selection")); -! verbose_leave(); -! } -! } -! if (buffer != NULL) -! XFree(buffer); - } - - /* ---- 6744,6750 ---- - } - - /* Final fallback position - use the X CUT_BUFFER0 store */ -! yank_cut_buffer0(GDK_WINDOW_XDISPLAY(gui.mainwin->window), cbd); - } - - /* -*** ../vim-7.2.220/src/message.c 2009-05-17 13:30:58.000000000 +0200 ---- src/message.c 2009-07-01 16:43:08.000000000 +0200 -*************** -*** 107,113 **** - } - - #if defined(FEAT_EVAL) || defined(FEAT_X11) || defined(USE_XSMP) \ -! || defined(PROTO) - /* - * Like msg() but keep it silent when 'verbosefile' is set. - */ ---- 107,113 ---- - } - - #if defined(FEAT_EVAL) || defined(FEAT_X11) || defined(USE_XSMP) \ -! || defined(FEAT_GUI_GTK) || defined(PROTO) - /* - * Like msg() but keep it silent when 'verbosefile' is set. - */ -*** ../vim-7.2.220/src/ops.c 2009-05-26 18:12:13.000000000 +0200 ---- src/ops.c 2009-07-01 12:15:31.000000000 +0200 -*************** -*** 5591,5596 **** ---- 5591,5619 ---- - if (dpy != NULL && str != NULL && motion_type >= 0 - && len < 1024*1024 && len > 0) - { -+ #ifdef FEAT_MBYTE -+ /* The CUT_BUFFER0 is supposed to always contain latin1. Convert from -+ * 'enc' when it is a multi-byte encoding. When 'enc' is an 8-bit -+ * encoding conversion usually doesn't work, so keep the text as-is. -+ */ -+ if (has_mbyte) -+ { -+ char_u *conv_str = str; -+ vimconv_T vc; -+ -+ vc.vc_type = CONV_NONE; -+ if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) -+ { -+ conv_str = string_convert(&vc, str, (int*)&len); -+ if (conv_str != NULL) -+ { -+ vim_free(str); -+ str = conv_str; -+ } -+ convert_setup(&vc, NULL, NULL); -+ } -+ } -+ #endif - XStoreBuffer(dpy, (char *)str, (int)len, 0); - XFlush(dpy); - } -*** ../vim-7.2.220/src/proto/ui.pro 2007-05-05 19:58:49.000000000 +0200 ---- src/proto/ui.pro 2009-07-01 11:48:11.000000000 +0200 -*************** -*** 48,53 **** ---- 48,54 ---- - void open_app_context __ARGS((void)); - void x11_setup_atoms __ARGS((Display *dpy)); - void clip_x11_request_selection __ARGS((Widget myShell, Display *dpy, VimClipboard *cbd)); -+ void yank_cut_buffer0 __ARGS((Display *dpy, VimClipboard *cbd)); - void clip_x11_lose_selection __ARGS((Widget myShell, VimClipboard *cbd)); - int clip_x11_own_selection __ARGS((Widget myShell, VimClipboard *cbd)); - void clip_x11_set_selection __ARGS((VimClipboard *cbd)); -*** ../vim-7.2.220/src/ui.c 2009-05-17 13:30:58.000000000 +0200 ---- src/ui.c 2009-07-01 15:44:07.000000000 +0200 -*************** -*** 2104,2111 **** - Atom type; - static int success; - int i; -- int nbytes = 0; -- char_u *buffer; - time_t start_time; - int timed_out = FALSE; - ---- 2104,2109 ---- -*************** -*** 2185,2199 **** - } - - /* Final fallback position - use the X CUT_BUFFER0 store */ -! buffer = (char_u *)XFetchBuffer(dpy, &nbytes, 0); -! if (nbytes > 0) -! { -! /* Got something */ -! clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd); -! XFree((void *)buffer); -! if (p_verbose > 0) -! verb_msg((char_u *)_("Used CUT_BUFFER0 instead of empty selection")); -! } - } - - static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *)); ---- 2183,2189 ---- - } - - /* Final fallback position - use the X CUT_BUFFER0 store */ -! yank_cut_buffer0(dpy, cbd); - } - - static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *)); -*************** -*** 2369,2374 **** ---- 2359,2418 ---- - } - #endif - -+ #if defined(FEAT_XCLIPBOARD) || defined(FEAT_GUI_X11) \ -+ || defined(FEAT_GUI_GTK) || defined(PROTO) -+ /* -+ * Get the contents of the X CUT_BUFFER0 and put it in "cbd". -+ */ -+ void -+ yank_cut_buffer0(dpy, cbd) -+ Display *dpy; -+ VimClipboard *cbd; -+ { -+ int nbytes = 0; -+ char_u *buffer = (char_u *)XFetchBuffer(dpy, &nbytes, 0); -+ -+ if (nbytes > 0) -+ { -+ #ifdef FEAT_MBYTE -+ int done = FALSE; -+ -+ /* CUT_BUFFER0 is supposed to be always latin1. Convert to 'enc' when -+ * using a multi-byte encoding. Conversion between two 8-bit -+ * character sets usually fails and the text might actually be in -+ * 'enc' anyway. */ -+ if (has_mbyte) -+ { -+ char_u *conv_buf = buffer; -+ vimconv_T vc; -+ -+ vc.vc_type = CONV_NONE; -+ if (convert_setup(&vc, (char_u *)"latin1", p_enc) == OK) -+ { -+ conv_buf = string_convert(&vc, buffer, &nbytes); -+ if (conv_buf != NULL) -+ { -+ clip_yank_selection(MCHAR, conv_buf, (long)nbytes, cbd); -+ vim_free(conv_buf); -+ done = TRUE; -+ } -+ convert_setup(&vc, NULL, NULL); -+ } -+ } -+ if (!done) /* use the text without conversion */ -+ #endif -+ clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd); -+ XFree((void *)buffer); -+ if (p_verbose > 0) -+ { -+ verbose_enter(); -+ verb_msg((char_u *)_("Used CUT_BUFFER0 instead of empty selection")); -+ verbose_leave(); -+ } -+ } -+ } -+ #endif -+ - #if defined(FEAT_MOUSE) || defined(PROTO) - - /* -*** ../vim-7.2.220/src/version.c 2009-07-01 17:11:40.000000000 +0200 ---- src/version.c 2009-07-01 17:56:02.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 221, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -40. You tell the cab driver you live at - http://123.elm.street/house/bluetrim.html -41. You actually try that 123.elm.street address. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.222 --- a/components/vim/vim72-patches/7.2.222 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.222 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.222 -Problem: ":mksession" doesn't work properly with 'acd' set. -Solution: Make it work. (Yakov Lerner) -Files: src/ex_docmd.c - - -*** ../vim-7.2.221/src/ex_docmd.c 2009-05-16 17:29:37.000000000 +0200 ---- src/ex_docmd.c 2009-07-01 20:18:22.000000000 +0200 -*************** -*** 8686,8691 **** ---- 8693,8700 ---- - } - - #ifdef FEAT_SESSION -+ /* Use the short file name until ":lcd" is used. We also don't use the -+ * short file name when 'acd' is set, that is checked later. */ - did_lcd = FALSE; - - /* ":mkview" or ":mkview 9": generate file name with 'viewdir' */ -*************** -*** 10573,10578 **** ---- 10582,10590 ---- - if (buf->b_sfname != NULL - && flagp == &ssop_flags - && (ssop_flags & (SSOP_CURDIR | SSOP_SESDIR)) -+ #ifdef FEAT_AUTOCHDIR -+ && !p_acd -+ #endif - && !did_lcd) - name = buf->b_sfname; - else -*** ../vim-7.2.221/src/version.c 2009-07-01 18:04:30.000000000 +0200 ---- src/version.c 2009-07-01 20:16:19.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 222, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -43. You tell the kids they can't use the computer because "Daddy's got work to - do" and you don't even have a job. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.223 --- a/components/vim/vim72-patches/7.2.223 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,165 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.223 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.223 -Problem: When a script is run with ":silent" it is not able to give warning - messages. -Solution: Add the ":unsilent" command. -Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.222/runtime/doc/various.txt 2008-08-09 19:36:54.000000000 +0200 ---- runtime/doc/various.txt 2009-07-09 15:52:54.000000000 +0200 -*************** -*** 508,513 **** ---- 508,524 ---- - messages though. Use ":silent" in the command itself - to avoid that: ":silent menu .... :silent command". - -+ *:uns* *:unsilent* -+ :uns[ilent] {command} Execute {command} not silently. Only makes a -+ difference when |:silent| was used to get to this -+ command. -+ Use this for giving a message even when |:silent| was -+ used. In this example |:silent| is used to avoid the -+ message about reading the file and |:unsilent| to be -+ able to list the first line of each file. > -+ :silent argdo unsilent echo expand('%') . ": " . getline(1) -+ < -+ - *:verb* *:verbose* - :[count]verb[ose] {command} - Execute {command} with 'verbose' set to [count]. If -*** ../vim-7.2.222/src/ex_cmds.h 2008-11-09 13:43:25.000000000 +0100 ---- src/ex_cmds.h 2009-07-01 18:12:55.000000000 +0200 -*************** -*** 991,996 **** ---- 991,998 ---- - BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_unmenu, "unmenu", ex_menu, - BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), -+ EX(CMD_unsilent, "unsilent", ex_wrongmodifier, -+ NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN), - EX(CMD_update, "update", ex_update, - RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR), - EX(CMD_vglobal, "vglobal", ex_global, -*** ../vim-7.2.222/src/ex_docmd.c 2009-07-01 20:18:43.000000000 +0200 ---- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200 -*************** -*** 1677,1684 **** - char_u *errormsg = NULL; /* error message */ - exarg_T ea; /* Ex command arguments */ - long verbose_save = -1; -! int save_msg_scroll = 0; -! int did_silent = 0; - int did_esilent = 0; - #ifdef HAVE_SANDBOX - int did_sandbox = FALSE; ---- 1677,1684 ---- - char_u *errormsg = NULL; /* error message */ - exarg_T ea; /* Ex command arguments */ - long verbose_save = -1; -! int save_msg_scroll = msg_scroll; -! int save_msg_silent = -1; - int did_esilent = 0; - #ifdef HAVE_SANDBOX - int did_sandbox = FALSE; -*************** -*** 1856,1864 **** - } - if (!checkforcmd(&ea.cmd, "silent", 3)) - break; -! ++did_silent; - ++msg_silent; -- save_msg_scroll = msg_scroll; - if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1])) - { - /* ":silent!", but not "silent !cmd" */ ---- 1856,1864 ---- - } - if (!checkforcmd(&ea.cmd, "silent", 3)) - break; -! if (save_msg_silent == -1) -! save_msg_silent = msg_silent; - ++msg_silent; - if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1])) - { - /* ":silent!", but not "silent !cmd" */ -*************** -*** 1886,1891 **** ---- 1886,1898 ---- - #endif - continue; - -+ case 'u': if (!checkforcmd(&ea.cmd, "unsilent", 3)) -+ break; -+ if (save_msg_silent == -1) -+ save_msg_silent = msg_silent; -+ msg_silent = 0; -+ continue; -+ - case 'v': if (checkforcmd(&ea.cmd, "vertical", 4)) - { - #ifdef FEAT_VERTSPLIT -*************** -*** 2684,2696 **** - - cmdmod = save_cmdmod; - -! if (did_silent > 0) - { - /* messages could be enabled for a serious error, need to check if the - * counters don't become negative */ -! msg_silent -= did_silent; -! if (msg_silent < 0) -! msg_silent = 0; - emsg_silent -= did_esilent; - if (emsg_silent < 0) - emsg_silent = 0; ---- 2691,2702 ---- - - cmdmod = save_cmdmod; - -! if (save_msg_silent != -1) - { - /* messages could be enabled for a serious error, need to check if the - * counters don't become negative */ -! if (!did_emsg) -! msg_silent = save_msg_silent; - emsg_silent -= did_esilent; - if (emsg_silent < 0) - emsg_silent = 0; -*************** -*** 2987,2992 **** ---- 2993,2999 ---- - {"silent", 3, FALSE}, - {"tab", 3, TRUE}, - {"topleft", 2, FALSE}, -+ {"unsilent", 3, FALSE}, - {"verbose", 4, TRUE}, - {"vertical", 4, FALSE}, - }; -*** ../vim-7.2.222/src/version.c 2009-07-01 20:18:43.000000000 +0200 ---- src/version.c 2009-07-09 15:53:05.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 223, - /**/ - --- -Q: How many legs does a giraffe have? -A: Eight: two in front, two behind, two on the left and two on the right - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.224 --- a/components/vim/vim72-patches/7.2.224 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.224 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.224 -Problem: Crash when using 'completefunc'. (Ingo Karkat) -Solution: Disallow entering edit() recursively when doing completion. -Files: src/edit.c - - -*** ../vim-7.2.223/src/edit.c 2009-05-26 11:01:43.000000000 +0200 ---- src/edit.c 2009-07-09 18:01:49.000000000 +0200 -*************** -*** 114,119 **** ---- 114,123 ---- - * FALSE the word to be completed must be located. */ - static int compl_started = FALSE; - -+ /* Set when doing something for completion that may call edit() recursively, -+ * which is not allowed. */ -+ static int compl_busy = FALSE; -+ - static int compl_matches = 0; - static char_u *compl_pattern = NULL; - static int compl_direction = FORWARD; -*************** -*** 346,352 **** - - #ifdef FEAT_INS_EXPAND - /* Don't allow recursive insert mode when busy with completion. */ -! if (compl_started || pum_visible()) - { - EMSG(_(e_secure)); - return FALSE; ---- 350,356 ---- - - #ifdef FEAT_INS_EXPAND - /* Don't allow recursive insert mode when busy with completion. */ -! if (compl_started || compl_busy || pum_visible()) - { - EMSG(_(e_secure)); - return FALSE; -*************** -*** 1340,1347 **** ---- 1344,1353 ---- - goto normalchar; - - docomplete: -+ compl_busy = TRUE; - if (ins_complete(c) == FAIL) - compl_cont_status = 0; -+ compl_busy = FALSE; - break; - #endif /* FEAT_INS_EXPAND */ - -*************** -*** 3172,3177 **** ---- 3178,3184 ---- - vim_free(match); - } while (compl_curr_match != NULL && compl_curr_match != compl_first_match); - compl_first_match = compl_curr_match = NULL; -+ compl_shown_match = NULL; - } - - static void -*** ../vim-7.2.223/src/version.c 2009-07-09 15:55:34.000000000 +0200 ---- src/version.c 2009-07-09 18:14:16.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 224, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -77. The phone company asks you to test drive their new PBX system - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.225 --- a/components/vim/vim72-patches/7.2.225 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.225 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.225 -Problem: When using ":normal" a saved character may be executed. -Solution: Also store old_char when saving typeahead. -Files: src/getchar.c, src/structs.h - - -*** ../vim-7.2.224/src/getchar.c 2009-02-22 23:42:08.000000000 +0100 ---- src/getchar.c 2009-07-09 18:09:13.000000000 +0200 -*************** -*** 1309,1314 **** ---- 1309,1317 ---- - return OK; - } - -+ static int old_char = -1; /* character put back by vungetc() */ -+ static int old_mod_mask; /* mod_mask for ungotten character */ -+ - #if defined(FEAT_EVAL) || defined(FEAT_EX_EXTRA) || defined(PROTO) - - /* -*************** -*** 1323,1328 **** ---- 1326,1335 ---- - if (!tp->typebuf_valid) - typebuf = tp->save_typebuf; - -+ tp->old_char = old_char; -+ tp->old_mod_mask = old_mod_mask; -+ old_char = -1; -+ - tp->save_stuffbuff = stuffbuff; - stuffbuff.bh_first.b_next = NULL; - # ifdef USE_INPUT_BUF -*************** -*** 1344,1349 **** ---- 1351,1359 ---- - typebuf = tp->save_typebuf; - } - -+ old_char = tp->old_char; -+ old_mod_mask = tp->old_mod_mask; -+ - free_buff(&stuffbuff); - stuffbuff = tp->save_stuffbuff; - # ifdef USE_INPUT_BUF -*************** -*** 1499,1507 **** - #define KL_PART_KEY -1 /* keylen value for incomplete key-code */ - #define KL_PART_MAP -2 /* keylen value for incomplete mapping */ - -- static int old_char = -1; /* character put back by vungetc() */ -- static int old_mod_mask; /* mod_mask for ungotten character */ -- - /* - * Get the next input character. - * Can return a special key or a multi-byte character. ---- 1509,1514 ---- -*** ../vim-7.2.224/src/structs.h 2009-06-16 16:01:34.000000000 +0200 ---- src/structs.h 2009-07-09 18:09:20.000000000 +0200 -*************** -*** 882,887 **** ---- 882,889 ---- - { - typebuf_T save_typebuf; - int typebuf_valid; /* TRUE when save_typebuf valid */ -+ int old_char; -+ int old_mod_mask; - struct buffheader save_stuffbuff; - #ifdef USE_INPUT_BUF - char_u *save_inputbuf; -*** ../vim-7.2.224/src/version.c 2009-07-09 18:15:19.000000000 +0200 ---- src/version.c 2009-07-09 18:21:56.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 225, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -78. You find yourself dialing IP numbers on the phone. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.226 --- a/components/vim/vim72-patches/7.2.226 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,268 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.226 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.226 -Problem: ml_get error after deleting the last line. (Xavier de Gaye) -Solution: When adjusting marks a callback may be invoked. Adjust the cursor - position before invoking deleted_lines_mark(). -Files: src/ex_cmds.c, src/ex_docmd.c, src/if_mzsch.c, src/if_python.c, - src/if_perl.xs, src/misc1.c - - -*** ../vim-7.2.225/src/ex_cmds.c 2009-05-17 13:30:58.000000000 +0200 ---- src/ex_cmds.c 2009-07-09 12:56:51.000000000 +0200 -*************** -*** 4013,4018 **** ---- 4013,4021 ---- - break; - ml_delete(eap->line1, FALSE); - } -+ -+ /* make sure the cursor is not beyond the end of the file now */ -+ check_cursor_lnum(); - deleted_lines_mark(eap->line1, (long)(eap->line2 - lnum)); - - /* ":append" on the line above the deleted lines. */ -*** ../vim-7.2.225/src/ex_docmd.c 2009-07-09 15:55:34.000000000 +0200 ---- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200 -*************** -*** 7845,7854 **** - if (*ml_get(lnum) == NUL && u_savedel(lnum, 1L) == OK) - { - ml_delete(lnum, FALSE); -- deleted_lines_mark(lnum, 1L); - if (curwin->w_cursor.lnum > 1 - && curwin->w_cursor.lnum >= lnum) - --curwin->w_cursor.lnum; - } - } - redraw_curbuf_later(VALID); ---- 7845,7854 ---- - if (*ml_get(lnum) == NUL && u_savedel(lnum, 1L) == OK) - { - ml_delete(lnum, FALSE); - if (curwin->w_cursor.lnum > 1 - && curwin->w_cursor.lnum >= lnum) - --curwin->w_cursor.lnum; -+ deleted_lines_mark(lnum, 1L); - } - } - redraw_curbuf_later(VALID); -*** ../vim-7.2.225/src/if_mzsch.c 2009-06-24 17:51:01.000000000 +0200 ---- src/if_mzsch.c 2009-07-09 12:59:17.000000000 +0200 -*************** -*** 2169,2177 **** - curbuf = savebuf; - raise_vim_exn(_("cannot delete line")); - } -- deleted_lines_mark((linenr_T)n, 1L); - if (buf->buf == curwin->w_buffer) - mz_fix_cursor(n, n + 1, -1); - - curbuf = savebuf; - ---- 2169,2177 ---- - curbuf = savebuf; - raise_vim_exn(_("cannot delete line")); - } - if (buf->buf == curwin->w_buffer) - mz_fix_cursor(n, n + 1, -1); -+ deleted_lines_mark((linenr_T)n, 1L); - - curbuf = savebuf; - -*************** -*** 2299,2307 **** - curbuf = savebuf; - raise_vim_exn(_("cannot delete line")); - } -- deleted_lines_mark((linenr_T)lo, (long)old_len); - if (buf->buf == curwin->w_buffer) - mz_fix_cursor(lo, hi, -old_len); - } - - curbuf = savebuf; ---- 2299,2307 ---- - curbuf = savebuf; - raise_vim_exn(_("cannot delete line")); - } - if (buf->buf == curwin->w_buffer) - mz_fix_cursor(lo, hi, -old_len); -+ deleted_lines_mark((linenr_T)lo, (long)old_len); - } - - curbuf = savebuf; -*** ../vim-7.2.225/src/if_python.c 2009-05-21 23:25:38.000000000 +0200 ---- src/if_python.c 2009-07-09 12:59:45.000000000 +0200 -*************** -*** 2497,2505 **** - PyErr_SetVim(_("cannot delete line")); - else - { -- deleted_lines_mark((linenr_T)n, 1L); - if (buf == curwin->w_buffer) - py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1); - } - - curbuf = savebuf; ---- 2497,2505 ---- - PyErr_SetVim(_("cannot delete line")); - else - { - if (buf == curwin->w_buffer) - py_fix_cursor((linenr_T)n, (linenr_T)n + 1, (linenr_T)-1); -+ deleted_lines_mark((linenr_T)n, 1L); - } - - curbuf = savebuf; -*************** -*** 2596,2605 **** - break; - } - } -- deleted_lines_mark((linenr_T)lo, (long)i); -- - if (buf == curwin->w_buffer) - py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n); - } - - curbuf = savebuf; ---- 2596,2604 ---- - break; - } - } - if (buf == curwin->w_buffer) - py_fix_cursor((linenr_T)lo, (linenr_T)hi, (linenr_T)-n); -+ deleted_lines_mark((linenr_T)lo, (long)i); - } - - curbuf = savebuf; -*** ../vim-7.2.225/src/if_perl.xs 2009-06-16 16:01:34.000000000 +0200 ---- src/if_perl.xs 2009-07-09 13:02:16.000000000 +0200 -*************** -*** 1233,1241 **** - if (u_savedel(lnum, 1) == OK) - { - ml_delete(lnum, 0); - deleted_lines_mark(lnum, 1L); -- if (aco.save_curbuf == curbuf) -- check_cursor(); - } - - /* restore curwin/curbuf and a few other things */ ---- 1235,1242 ---- - if (u_savedel(lnum, 1) == OK) - { - ml_delete(lnum, 0); -+ check_cursor(); - deleted_lines_mark(lnum, 1L); - } - - /* restore curwin/curbuf and a few other things */ -*** ../vim-7.2.225/src/misc1.c 2009-06-24 16:25:23.000000000 +0200 ---- src/misc1.c 2009-07-09 13:00:59.000000000 +0200 -*************** -*** 2345,2356 **** - int undo; /* if TRUE, prepare for undo */ - { - long n; - - if (nlines <= 0) - return; - - /* save the deleted lines for undo */ -! if (undo && u_savedel(curwin->w_cursor.lnum, nlines) == FAIL) - return; - - for (n = 0; n < nlines; ) ---- 2345,2357 ---- - int undo; /* if TRUE, prepare for undo */ - { - long n; -+ linenr_T first = curwin->w_cursor.lnum; - - if (nlines <= 0) - return; - - /* save the deleted lines for undo */ -! if (undo && u_savedel(first, nlines) == FAIL) - return; - - for (n = 0; n < nlines; ) -*************** -*** 2358,2375 **** - if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */ - break; - -! ml_delete(curwin->w_cursor.lnum, TRUE); - ++n; - - /* If we delete the last line in the file, stop */ -! if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count) - break; - } -- /* adjust marks, mark the buffer as changed and prepare for displaying */ -- deleted_lines_mark(curwin->w_cursor.lnum, n); - - curwin->w_cursor.col = 0; - check_cursor_lnum(); - } - - int ---- 2359,2379 ---- - if (curbuf->b_ml.ml_flags & ML_EMPTY) /* nothing to delete */ - break; - -! ml_delete(first, TRUE); - ++n; - - /* If we delete the last line in the file, stop */ -! if (first > curbuf->b_ml.ml_line_count) - break; - } - -+ /* Correct the cursor position before calling deleted_lines_mark(), it may -+ * trigger a callback to display the cursor. */ - curwin->w_cursor.col = 0; - check_cursor_lnum(); -+ -+ /* adjust marks, mark the buffer as changed and prepare for displaying */ -+ deleted_lines_mark(first, n); - } - - int -*************** -*** 2621,2626 **** ---- 2625,2632 ---- - - /* - * Like deleted_lines(), but adjust marks first. -+ * Make sure the cursor is on a valid line before calling, a GUI callback may -+ * be triggered to display the cursor. - */ - void - deleted_lines_mark(lnum, count) -*** ../vim-7.2.225/src/version.c 2009-07-09 18:24:24.000000000 +0200 ---- src/version.c 2009-07-09 20:01:16.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 226, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -80. At parties, you introduce your spouse as your "service provider." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.227 --- a/components/vim/vim72-patches/7.2.227 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.227 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.227 -Problem: When using ":cd" in a script there is no way to track this. -Solution: Display the directory when 'verbose' is 5 or higher. -Files: src/ex_docmd.c - - -*** ../vim-7.2.226/src/ex_docmd.c 2009-07-09 20:06:30.000000000 +0200 ---- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200 -*************** -*** 7964,7970 **** - shorten_fnames(TRUE); - - /* Echo the new current directory if the command was typed. */ -! if (KeyTyped) - ex_pwd(eap); - } - vim_free(tofree); ---- 7964,7970 ---- - shorten_fnames(TRUE); - - /* Echo the new current directory if the command was typed. */ -! if (KeyTyped || p_verbose >= 5) - ex_pwd(eap); - } - vim_free(tofree); -*** ../vim-7.2.226/src/version.c 2009-07-09 20:06:30.000000000 +0200 ---- src/version.c 2009-07-09 20:13:13.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 227, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -83. Batteries in the TV remote now last for months. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.228 --- a/components/vim/vim72-patches/7.2.228 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,573 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.228 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.228 -Problem: Cscope is limited to 8 connections. -Solution: Allocated the connection array to handle any number of - connections. (Dominique Pelle) -Files: runtime/doc/if_cscop.txt, src/if_cscope.h, src/if_cscope.c - - -*** ../vim-7.2.227/runtime/doc/if_cscop.txt 2009-03-18 14:30:46.000000000 +0100 ---- runtime/doc/if_cscop.txt 2009-07-09 15:40:48.000000000 +0200 -*************** -*** 355,367 **** - The DJGPP-built version from http://cscope.sourceforge.net is known to not - work with Vim. - -! There are a couple of hard-coded limitations: -! -! 1. The maximum number of cscope connections allowed is 8. Do you -! really need more? -! -! 2. Doing a |:tjump| when |:cstag| searches the tag files is not -! configurable (e.g., you can't do a tselect instead). - - ============================================================================== - 6. Suggested usage *cscope-suggestions* ---- 355,362 ---- - The DJGPP-built version from http://cscope.sourceforge.net is known to not - work with Vim. - -! Hard-coded limitation: doing a |:tjump| when |:cstag| searches the tag files -! is not configurable (e.g., you can't do a tselect instead). - - ============================================================================== - 6. Suggested usage *cscope-suggestions* -*** ../vim-7.2.227/src/if_cscope.h 2008-08-25 04:35:13.000000000 +0200 ---- src/if_cscope.h 2009-07-09 15:39:32.000000000 +0200 -*************** -*** 25,31 **** - - #define CSCOPE_SUCCESS 0 - #define CSCOPE_FAILURE -1 -- #define CSCOPE_MAX_CONNECTIONS 8 /* you actually need more? */ - - #define CSCOPE_DBFILE "cscope.out" - #define CSCOPE_PROMPT ">> " ---- 25,30 ---- -*** ../vim-7.2.227/src/if_cscope.c 2009-05-16 17:29:37.000000000 +0200 ---- src/if_cscope.c 2009-07-09 15:39:32.000000000 +0200 -*************** -*** 46,52 **** - static int cs_find __ARGS((exarg_T *eap)); - static int cs_find_common __ARGS((char *opt, char *pat, int, int, int)); - static int cs_help __ARGS((exarg_T *eap)); -- static void cs_init __ARGS((void)); - static void clear_csinfo __ARGS((int i)); - static int cs_insert_filelist __ARGS((char *, char *, char *, - struct stat *)); ---- 46,51 ---- -*************** -*** 66,72 **** - static int cs_show __ARGS((exarg_T *eap)); - - -! static csinfo_T csinfo[CSCOPE_MAX_CONNECTIONS]; - static int eap_arg_len; /* length of eap->arg, set in - cs_lookup_cmd() */ - static cscmd_T cs_cmds[] = ---- 65,74 ---- - static int cs_show __ARGS((exarg_T *eap)); - - -! static csinfo_T * csinfo = NULL; -! static int csinfo_size = 0; /* number of items allocated in -! csinfo[] */ -! - static int eap_arg_len; /* length of eap->arg, set in - cs_lookup_cmd() */ - static cscmd_T cs_cmds[] = -*************** -*** 144,166 **** - } - case EXP_CSCOPE_KILL: - { -! static char_u connection[2]; - - /* ":cscope kill" accepts connection numbers or partial names of - * the pathname of the cscope database as argument. Only complete - * with connection numbers. -1 can also be used to kill all - * connections. */ -! for (i = 0, current_idx = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname == NULL) - continue; - if (current_idx++ == idx) - { -! /* Connection number fits in one character since -! * CSCOPE_MAX_CONNECTIONS is < 10 */ -! connection[0] = i + '0'; -! connection[1] = NUL; -! return connection; - } - } - return (current_idx == idx && idx > 0) ? (char_u *)"-1" : NULL; ---- 146,165 ---- - } - case EXP_CSCOPE_KILL: - { -! static char connection[5]; - - /* ":cscope kill" accepts connection numbers or partial names of - * the pathname of the cscope database as argument. Only complete - * with connection numbers. -1 can also be used to kill all - * connections. */ -! for (i = 0, current_idx = 0; i < csinfo_size; i++) - { - if (csinfo[i].fname == NULL) - continue; - if (current_idx++ == idx) - { -! vim_snprintf(connection, sizeof(connection), "%d", i); -! return (char_u *)connection; - } - } - return (current_idx == idx && idx > 0) ? (char_u *)"-1" : NULL; -*************** -*** 223,229 **** - { - cscmd_T *cmdp; - -- cs_init(); - if ((cmdp = cs_lookup_cmd(eap)) == NULL) - { - cs_help(eap); ---- 222,227 ---- -*************** -*** 284,291 **** - { - int ret = FALSE; - -- cs_init(); -- - if (*eap->arg == NUL) - { - (void)EMSG(_("E562: Usage: cstag ")); ---- 282,287 ---- -*************** -*** 441,447 **** - if (num < 0 || num > 4 || (num > 0 && !dbpath)) - return FALSE; - -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (!csinfo[i].fname) - continue; ---- 437,443 ---- - if (num < 0 || num > 4 || (num > 0 && !dbpath)) - return FALSE; - -! for (i = 0; i < csinfo_size; i++) - { - if (!csinfo[i].fname) - continue; -*************** -*** 684,690 **** - short i; - short cnt = 0; - -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname != NULL) - cnt++; ---- 680,686 ---- - short i; - short cnt = 0; - -! for (i = 0; i < csinfo_size; i++) - { - if (csinfo[i].fname != NULL) - cnt++; -*************** -*** 1112,1118 **** - { - int i; - char *cmd; -! int nummatches[CSCOPE_MAX_CONNECTIONS], totmatches; - #ifdef FEAT_QUICKFIX - char cmdletter; - char *qfpos; ---- 1108,1115 ---- - { - int i; - char *cmd; -! int *nummatches; -! int totmatches; - #ifdef FEAT_QUICKFIX - char cmdletter; - char *qfpos; -*************** -*** 1123,1135 **** - if (cmd == NULL) - return FALSE; - - /* send query to all open connections, then count the total number - * of matches so we can alloc matchesp all in one swell foop - */ -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - nummatches[i] = 0; - totmatches = 0; -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname == NULL || csinfo[i].to_fp == NULL) - continue; ---- 1120,1136 ---- - if (cmd == NULL) - return FALSE; - -+ nummatches = (int *)alloc(sizeof(int)*csinfo_size); -+ if (nummatches == NULL) -+ return FALSE; -+ - /* send query to all open connections, then count the total number - * of matches so we can alloc matchesp all in one swell foop - */ -! for (i = 0; i < csinfo_size; i++) - nummatches[i] = 0; - totmatches = 0; -! for (i = 0; i < csinfo_size; i++) - { - if (csinfo[i].fname == NULL || csinfo[i].to_fp == NULL) - continue; -*************** -*** 1154,1160 **** ---- 1155,1164 ---- - char *buf; - - if (!verbose) -+ { -+ vim_free(nummatches); - return FALSE; -+ } - - buf = (char *)alloc((unsigned)(strlen(opt) + strlen(pat) + strlen(nf))); - if (buf == NULL) -*************** -*** 1165,1170 **** ---- 1169,1175 ---- - (void)EMSG(buf); - vim_free(buf); - } -+ vim_free(nummatches); - return FALSE; - } - -*************** -*** 1217,1222 **** ---- 1222,1228 ---- - (void)EMSG(buf); - vim_free(buf); - } -+ vim_free(nummatches); - return FALSE; - } - } -*************** -*** 1264,1269 **** ---- 1270,1276 ---- - } - mch_remove(tmp); - vim_free(tmp); -+ vim_free(nummatches); - return TRUE; - } - else -*************** -*** 1275,1280 **** ---- 1282,1288 ---- - /* read output */ - cs_fill_results((char *)pat, totmatches, nummatches, &matches, - &contexts, &matched); -+ vim_free(nummatches); - if (matches == NULL) - return FALSE; - -*************** -*** 1328,1353 **** - } /* cs_help */ - - -- /* -- * PRIVATE: cs_init -- * -- * initialize cscope structure if not already -- */ -- static void -- cs_init() -- { -- short i; -- static int init_already = FALSE; -- -- if (init_already) -- return; -- -- for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) -- clear_csinfo(i); -- -- init_already = TRUE; -- } /* cs_init */ -- - static void - clear_csinfo(i) - int i; ---- 1336,1341 ---- -*************** -*** 1444,1450 **** - #endif - - i = -1; /* can be set to the index of an empty item in csinfo */ -! for (j = 0; j < CSCOPE_MAX_CONNECTIONS; j++) - { - if (csinfo[j].fname != NULL - #if defined(UNIX) ---- 1432,1438 ---- - #endif - - i = -1; /* can be set to the index of an empty item in csinfo */ -! for (j = 0; j < csinfo_size; j++) - { - if (csinfo[j].fname != NULL - #if defined(UNIX) -*************** -*** 1471,1479 **** - - if (i == -1) - { -! if (p_csverbose) -! (void)EMSG(_("E569: maximum number of cscope connections reached")); -! return -1; - } - - if ((csinfo[i].fname = (char *)alloc((unsigned)strlen(fname)+1)) == NULL) ---- 1459,1483 ---- - - if (i == -1) - { -! i = csinfo_size; -! if (csinfo_size == 0) -! { -! /* First time allocation: allocate only 1 connection. It should -! * be enough for most users. If more is needed, csinfo will be -! * reallocated. */ -! csinfo_size = 1; -! csinfo = (csinfo_T *)alloc_clear(sizeof(csinfo_T)); -! } -! else -! { -! /* Reallocate space for more connections. */ -! csinfo_size *= 2; -! csinfo = vim_realloc(csinfo, sizeof(csinfo_T)*csinfo_size); -! } -! if (csinfo == NULL) -! return -1; -! for (j = csinfo_size/2; j < csinfo_size; j++) -! clear_csinfo(j); - } - - if ((csinfo[i].fname = (char *)alloc((unsigned)strlen(fname)+1)) == NULL) -*************** -*** 1580,1594 **** - /* It must be part of a name. We will try to find a match - * within all the names in the csinfo data structure - */ -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname != NULL && strstr(csinfo[i].fname, stok)) - break; - } - } - -! if ((i >= CSCOPE_MAX_CONNECTIONS || i < -1 || csinfo[i].fname == NULL) -! && i != -1) - { - if (p_csverbose) - (void)EMSG2(_("E261: cscope connection %s not found"), stok); ---- 1584,1597 ---- - /* It must be part of a name. We will try to find a match - * within all the names in the csinfo data structure - */ -! for (i = 0; i < csinfo_size; i++) - { - if (csinfo[i].fname != NULL && strstr(csinfo[i].fname, stok)) - break; - } - } - -! if ((i != -1) && (i >= csinfo_size || i < -1 || csinfo[i].fname == NULL)) - { - if (p_csverbose) - (void)EMSG2(_("E261: cscope connection %s not found"), stok); -*************** -*** 1597,1603 **** - { - if (i == -1) - { -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname) - cs_kill_execute(i, csinfo[i].fname); ---- 1600,1606 ---- - { - if (i == -1) - { -! for (i = 0; i < csinfo_size; i++) - { - if (csinfo[i].fname) - cs_kill_execute(i, csinfo[i].fname); -*************** -*** 1857,1863 **** - if (buf == NULL) - return; - -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (nummatches_a[i] < 1) - continue; ---- 1860,1866 ---- - if (buf == NULL) - return; - -! for (i = 0; i < csinfo_size; i++) - { - if (nummatches_a[i] < 1) - continue; -*************** -*** 1929,1935 **** - if ((cntxts = (char **)alloc(sizeof(char *) * totmatches)) == NULL) - goto parse_out; - -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (nummatches_a[i] < 1) - continue; ---- 1932,1938 ---- - if ((cntxts = (char **)alloc(sizeof(char *) * totmatches)) == NULL) - goto parse_out; - -! for (i = 0; i < csinfo_size; i++) - { - if (nummatches_a[i] < 1) - continue; -*************** -*** 2383,2392 **** - int i; - char buf[20]; /* for sprintf " (#%d)" */ - - /* malloc our db and ppath list */ -! dblist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *)); -! pplist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *)); -! fllist = (char **)alloc(CSCOPE_MAX_CONNECTIONS * sizeof(char *)); - if (dblist == NULL || pplist == NULL || fllist == NULL) - { - vim_free(dblist); ---- 2386,2398 ---- - int i; - char buf[20]; /* for sprintf " (#%d)" */ - -+ if (csinfo_size == 0) -+ return CSCOPE_SUCCESS; -+ - /* malloc our db and ppath list */ -! dblist = (char **)alloc(csinfo_size * sizeof(char *)); -! pplist = (char **)alloc(csinfo_size * sizeof(char *)); -! fllist = (char **)alloc(csinfo_size * sizeof(char *)); - if (dblist == NULL || pplist == NULL || fllist == NULL) - { - vim_free(dblist); -*************** -*** 2395,2401 **** - return CSCOPE_FAILURE; - } - -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - dblist[i] = csinfo[i].fname; - pplist[i] = csinfo[i].ppath; ---- 2401,2407 ---- - return CSCOPE_FAILURE; - } - -! for (i = 0; i < csinfo_size; i++) - { - dblist[i] = csinfo[i].fname; - pplist[i] = csinfo[i].ppath; -*************** -*** 2405,2411 **** - } - - /* rebuild the cscope connection list */ -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (dblist[i] != NULL) - { ---- 2411,2417 ---- - } - - /* rebuild the cscope connection list */ -! for (i = 0; i < csinfo_size; i++) - { - if (dblist[i] != NULL) - { -*************** -*** 2502,2508 **** - MSG_PUTS_ATTR( - _(" # pid database name prepend path\n"), - hl_attr(HLF_T)); -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - { - if (csinfo[i].fname == NULL) - continue; ---- 2508,2514 ---- - MSG_PUTS_ATTR( - _(" # pid database name prepend path\n"), - hl_attr(HLF_T)); -! for (i = 0; i < csinfo_size; i++) - { - if (csinfo[i].fname == NULL) - continue; -*************** -*** 2531,2538 **** - { - int i; - -! for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++) - cs_release_csp(i, TRUE); - } - - #endif /* FEAT_CSCOPE */ ---- 2537,2546 ---- - { - int i; - -! for (i = 0; i < csinfo_size; i++) - cs_release_csp(i, TRUE); -+ vim_free(csinfo); -+ csinfo_size = 0; - } - - #endif /* FEAT_CSCOPE */ -*** ../vim-7.2.227/src/version.c 2009-07-09 20:13:59.000000000 +0200 ---- src/version.c 2009-07-09 21:21:48.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 228, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -84. Books in your bookcase bear the names Bongo, WinSock and Inside OLE - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.229 --- a/components/vim/vim72-patches/7.2.229 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.229 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.229 -Problem: Warning for shadowed variable. -Solution: Rename "wait" to "wait_time". -Files: src/os_unix.c - - -*** ../vim-7.2.228/src/os_unix.c 2009-06-16 15:12:11.000000000 +0200 ---- src/os_unix.c 2009-07-09 16:24:14.000000000 +0200 -*************** -*** 1138,1147 **** - * to happen). - */ - { -! long wait; -! for (wait = 0; !sigcont_received && wait <= 3L; wait++) - /* Loop is not entered most of the time */ -! mch_delay(wait, FALSE); - } - # endif - ---- 1138,1147 ---- - * to happen). - */ - { -! long wait_time; -! for (wait_time = 0; !sigcont_received && wait_time <= 3L; wait_time++) - /* Loop is not entered most of the time */ -! mch_delay(wait_time, FALSE); - } - # endif - -*** ../vim-7.2.228/src/version.c 2009-07-09 21:22:36.000000000 +0200 ---- src/version.c 2009-07-14 12:18:21.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 229, - /**/ - --- -From "know your smileys": - :-) Funny - |-) Funny Oriental - (-: Funny Australian - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.230 --- a/components/vim/vim72-patches/7.2.230 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.230 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.230 -Problem: A few old lint-style ARGUSED comments. -Solution: Change to the new UNUSED style. -Files: src/getchar.c - - -*** ../vim-7.2.229/src/getchar.c 2009-07-09 18:24:24.000000000 +0200 ---- src/getchar.c 2009-07-09 18:09:13.000000000 +0200 -*************** -*** 3708,3718 **** - * Clear all mappings or abbreviations. - * 'abbr' should be FALSE for mappings, TRUE for abbreviations. - */ -- /*ARGSUSED*/ - void - map_clear(cmdp, arg, forceit, abbr) - char_u *cmdp; -! char_u *arg; - int forceit; - int abbr; - { ---- 3708,3717 ---- - * Clear all mappings or abbreviations. - * 'abbr' should be FALSE for mappings, TRUE for abbreviations. - */ - void - map_clear(cmdp, arg, forceit, abbr) - char_u *cmdp; -! char_u *arg UNUSED; - int forceit; - int abbr; - { -*************** -*** 3741,3753 **** - /* - * Clear all mappings in "mode". - */ -- /*ARGSUSED*/ - void - map_clear_int(buf, mode, local, abbr) -! buf_T *buf; /* buffer for local mappings */ -! int mode; /* mode in which to delete */ -! int local; /* TRUE for buffer-local mappings */ -! int abbr; /* TRUE for abbreviations */ - { - mapblock_T *mp, **mpp; - int hash; ---- 3740,3751 ---- - /* - * Clear all mappings in "mode". - */ - void - map_clear_int(buf, mode, local, abbr) -! buf_T *buf UNUSED; /* buffer for local mappings */ -! int mode; /* mode in which to delete */ -! int local UNUSED; /* TRUE for buffer-local mappings */ -! int abbr; /* TRUE for abbreviations */ - { - mapblock_T *mp, **mpp; - int hash; -*** ../vim-7.2.229/src/version.c 2009-07-14 12:20:28.000000000 +0200 ---- src/version.c 2009-07-14 13:44:05.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 230, - /**/ - --- -From "know your smileys": - :~) A man with a tape recorder up his nose - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.231 --- a/components/vim/vim72-patches/7.2.231 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.231 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.231 -Problem: Warning for unreacheable code. -Solution: Add #ifdef. -Files: src/if_perl.xs - - -*** ../vim-7.2.230/src/if_perl.xs 2009-07-09 20:06:30.000000000 +0200 ---- src/if_perl.xs 2009-07-09 13:02:16.000000000 +0200 -*************** -*** 720,728 **** ---- 720,730 ---- - #ifdef HAVE_SANDBOX - if (sandbox) - { -+ # ifndef MAKE_TEST /* avoid a warning for unreachable code */ - if ((safe = perl_get_sv( "VIM::safe", FALSE )) == NULL || !SvTRUE(safe)) - EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module")); - else -+ # endif - { - PUSHMARK(SP); - XPUSHs(safe); -*** ../vim-7.2.230/src/version.c 2009-07-14 13:44:43.000000000 +0200 ---- src/version.c 2009-07-14 16:04:07.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 231, - /**/ - --- -From "know your smileys": - ~#:-( I just washed my hair, and I can't do nuthin' with it. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.232 --- a/components/vim/vim72-patches/7.2.232 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.232 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.232 -Problem: Cannot debug problems with being in a wrong directory. -Solution: When 'verbose' is 5 or higher report directory changes. -Files: src/os_unix.c, src/os_unix.h, src/proto/os_unix.pro - - -*** ../vim-7.2.231/src/os_unix.c 2009-07-14 12:20:28.000000000 +0200 ---- src/os_unix.c 2009-07-14 17:13:15.000000000 +0200 -*************** -*** 319,324 **** ---- 319,341 ---- - {-1, "Unknown!", FALSE} - }; - -+ int -+ mch_chdir(path) -+ char *path; -+ { -+ if (p_verbose >= 5) -+ { -+ verbose_enter(); -+ smsg((char_u *)"chdir(%s)", path); -+ verbose_leave(); -+ } -+ # ifdef VMS -+ return chdir(vms_fixfilename(path)); -+ # else -+ return chdir(path); -+ # endif -+ } -+ - /* - * Write s[len] to the screen. - */ -*************** -*** 2424,2429 **** ---- 2441,2452 ---- - #ifdef HAVE_FCHDIR - if (fd >= 0) - { -+ if (p_verbose >= 5) -+ { -+ verbose_enter(); -+ MSG("fchdir() to previous dir"); -+ verbose_leave(); -+ } - l = fchdir(fd); - close(fd); - } -*** ../vim-7.2.231/src/os_unix.h 2009-05-16 16:36:25.000000000 +0200 ---- src/os_unix.h 2009-07-14 16:55:05.000000000 +0200 -*************** -*** 482,492 **** - # else - int mch_rename __ARGS((const char *src, const char *dest)); - # endif -- # ifdef VMS -- # define mch_chdir(s) chdir(vms_fixfilename(s)) -- # else -- # define mch_chdir(s) chdir(s) -- # endif - # ifndef VMS - # ifdef __MVS__ - /* on OS390 Unix getenv() doesn't return a pointer to persistent ---- 482,487 ---- -*** ../vim-7.2.231/src/proto/os_unix.pro 2008-06-24 23:58:57.000000000 +0200 ---- src/proto/os_unix.pro 2009-07-14 16:58:08.000000000 +0200 -*************** -*** 1,4 **** ---- 1,5 ---- - /* os_unix.c */ -+ int mch_chdir __ARGS((char *path)); - void mch_write __ARGS((char_u *s, int len)); - int mch_inchar __ARGS((char_u *buf, int maxlen, long wtime, int tb_change_cnt)); - int mch_char_avail __ARGS((void)); -*** ../vim-7.2.231/src/version.c 2009-07-14 16:05:14.000000000 +0200 ---- src/version.c 2009-07-14 17:37:15.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 232, - /**/ - --- -From "know your smileys": - O:-) Saint - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.234 --- a/components/vim/vim72-patches/7.2.234 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.234 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.234 -Problem: It is not possible to ignore file names without a suffix. -Solution: Use an empty entry in 'suffixes' for file names without a dot. -Files: runtime/doc/cmdline.txt, src/misc1.c - - -*** ../vim-7.2.233/runtime/doc/cmdline.txt 2008-11-09 13:43:25.000000000 +0100 ---- runtime/doc/cmdline.txt 2009-07-14 13:35:56.000000000 +0200 -*************** -*** 441,453 **** - those files with an extension that is in the 'suffixes' option are ignored. - The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending - in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored. -! It is impossible to ignore suffixes with two dots. Examples: - - pattern: files: match: ~ - test* test.c test.h test.o test.c - test* test.h test.o test.h and test.o - test* test.i test.h test.c test.i and test.c - - If there is more than one matching file (after ignoring the ones matching - the 'suffixes' option) the first file name is inserted. You can see that - there is only one match when you type 'wildchar' twice and the completed ---- 439,458 ---- - those files with an extension that is in the 'suffixes' option are ignored. - The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending - in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored. -! -! An empty entry, two consecutive commas, match a file name that does not -! contain a ".", thus has no suffix. This is useful to ignore "prog" and prefer -! "prog.c". -! -! Examples: - - pattern: files: match: ~ - test* test.c test.h test.o test.c - test* test.h test.o test.h and test.o - test* test.i test.h test.c test.i and test.c - -+ It is impossible to ignore suffixes with two dots. -+ - If there is more than one matching file (after ignoring the ones matching - the 'suffixes' option) the first file name is inserted. You can see that - there is only one match when you type 'wildchar' twice and the completed -*** ../vim-7.2.233/src/misc1.c 2009-07-09 20:06:30.000000000 +0200 ---- src/misc1.c 2009-07-14 15:51:55.000000000 +0200 -*************** -*** 8533,8543 **** - for (setsuf = p_su; *setsuf; ) - { - setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,"); -! if (fnamelen >= setsuflen -! && fnamencmp(suf_buf, fname + fnamelen - setsuflen, -! (size_t)setsuflen) == 0) -! break; -! setsuflen = 0; - } - return (setsuflen != 0); - } ---- 8534,8558 ---- - for (setsuf = p_su; *setsuf; ) - { - setsuflen = copy_option_part(&setsuf, suf_buf, MAXSUFLEN, ".,"); -! if (setsuflen == 0) -! { -! char_u *tail = gettail(fname); -! -! /* empty entry: match name without a '.' */ -! if (vim_strchr(tail, '.') == NULL) -! { -! setsuflen = 1; -! break; -! } -! } -! else -! { -! if (fnamelen >= setsuflen -! && fnamencmp(suf_buf, fname + fnamelen - setsuflen, -! (size_t)setsuflen) == 0) -! break; -! setsuflen = 0; -! } - } - return (setsuflen != 0); - } -*** ../vim-7.2.233/src/version.c 2009-07-14 18:38:09.000000000 +0200 ---- src/version.c 2009-07-14 21:38:30.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 234, - /**/ - --- -How many light bulbs does it take to change a person? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.235 --- a/components/vim/vim72-patches/7.2.235 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.235 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.235 -Problem: Using CTRL-O z= in Insert mode has a delay before redrawing. -Solution: Reset msg_didout and msg_scroll. -Files: src/misc1.c, src/spell.c - - -*** ../vim-7.2.234/src/misc1.c 2009-07-14 21:40:30.000000000 +0200 ---- src/misc1.c 2009-07-14 15:51:55.000000000 +0200 -*************** -*** 3276,3281 **** ---- 3276,3282 ---- - cmdline_row = msg_row - 1; - need_wait_return = FALSE; - msg_didany = FALSE; -+ msg_didout = FALSE; - } - else - cmdline_row = save_cmdline_row; -*** ../vim-7.2.234/src/spell.c 2009-05-17 13:30:58.000000000 +0200 ---- src/spell.c 2009-07-14 15:57:55.000000000 +0200 -*************** -*** 10252,10257 **** ---- 10252,10258 ---- - int limit; - int selected = count; - int badlen = 0; -+ int msg_scroll_save = msg_scroll; - - if (no_spell_checking(curwin)) - return; -*************** -*** 10416,10422 **** - selected = prompt_for_number(&mouse_used); - if (mouse_used) - selected -= lines_left; -! lines_left = Rows; /* avoid more prompt */ - } - - if (selected > 0 && selected <= sug.su_ga.ga_len && u_save_cursor() == OK) ---- 10417,10425 ---- - selected = prompt_for_number(&mouse_used); - if (mouse_used) - selected -= lines_left; -! lines_left = Rows; /* avoid more prompt */ -! /* don't delay for 'smd' in normal_cmd() */ -! msg_scroll = msg_scroll_save; - } - - if (selected > 0 && selected <= sug.su_ga.ga_len && u_save_cursor() == OK) -*************** -*** 10441,10447 **** - } - - /* Replace the word. */ -! p = alloc((unsigned)STRLEN(line) - stp->st_orglen + stp->st_wordlen + 1); - if (p != NULL) - { - c = (int)(sug.su_badptr - line); ---- 10444,10451 ---- - } - - /* Replace the word. */ -! p = alloc((unsigned)STRLEN(line) - stp->st_orglen -! + stp->st_wordlen + 1); - if (p != NULL) - { - c = (int)(sug.su_badptr - line); -*** ../vim-7.2.234/src/version.c 2009-07-14 21:40:30.000000000 +0200 ---- src/version.c 2009-07-22 11:00:34.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 235, - /**/ - --- -From "know your smileys": - |-( Contact lenses, but has lost them - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.236 --- a/components/vim/vim72-patches/7.2.236 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.236 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.236 -Problem: Mac: Compiling with Ruby doesn't always work. -Solution: In configure filter out the --arch argument (Bjorn Winckler) -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.2.235/src/configure.in 2009-05-26 22:58:43.000000000 +0200 ---- src/configure.in 2009-07-14 16:09:34.000000000 +0200 -*************** -*** 984,990 **** - fi - rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'` - if test "X$rubyldflags" != "X"; then -! LDFLAGS="$rubyldflags $LDFLAGS" - fi - RUBY_SRC="if_ruby.c" - RUBY_OBJ="objects/if_ruby.o" ---- 984,996 ---- - fi - rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LDFLAGS"]]'` - if test "X$rubyldflags" != "X"; then -! dnl Ruby on Mac OS X 10.5 adds "-arch" flags but these should only -! dnl be included if requested by passing --with-mac-arch to -! dnl configure, so strip these flags first (if present) -! rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//'` -! if test "X$rubyldflags" != "X"; then -! LDFLAGS="$rubyldflags $LDFLAGS" -! fi - fi - RUBY_SRC="if_ruby.c" - RUBY_OBJ="objects/if_ruby.o" -*** ../vim-7.2.235/src/auto/configure 2009-05-26 22:58:43.000000000 +0200 ---- src/auto/configure 2009-07-14 16:11:58.000000000 +0200 -*************** -*** 5780,5786 **** - fi - rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LDFLAGS"]'` - if test "X$rubyldflags" != "X"; then -! LDFLAGS="$rubyldflags $LDFLAGS" - fi - RUBY_SRC="if_ruby.c" - RUBY_OBJ="objects/if_ruby.o" ---- 5780,5789 ---- - fi - rubyldflags=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LDFLAGS"]'` - if test "X$rubyldflags" != "X"; then -! rubyldflags=`echo "$rubyldflags" | sed -e 's/-arch\ ppc//' -e 's/-arch\ i386//'` -! if test "X$rubyldflags" != "X"; then -! LDFLAGS="$rubyldflags $LDFLAGS" -! fi - fi - RUBY_SRC="if_ruby.c" - RUBY_OBJ="objects/if_ruby.o" -*** ../vim-7.2.235/src/version.c 2009-07-22 11:03:38.000000000 +0200 ---- src/version.c 2009-07-22 11:14:38.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 236, - /**/ - --- -From "know your smileys": - <|-) Chinese - <|-( Chinese and doesn't like these kind of jokes - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.237 --- a/components/vim/vim72-patches/7.2.237 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.237 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.237 -Problem: Crash on exit when window icon not set. -Solution: Copy terminal name when using it for the icon name. -Files: src/os_unix.c - - -*** ../vim-7.2.236/src/os_unix.c 2009-07-14 17:38:51.000000000 +0200 ---- src/os_unix.c 2009-07-14 18:30:04.000000000 +0200 -*************** -*** 1734,1742 **** - if (oldicon == NULL && !test_only) - { - if (STRNCMP(T_NAME, "builtin_", 8) == 0) -! oldicon = T_NAME + 8; - else -! oldicon = T_NAME; - } - - return retval; ---- 1734,1742 ---- - if (oldicon == NULL && !test_only) - { - if (STRNCMP(T_NAME, "builtin_", 8) == 0) -! oldicon = vim_strsave(T_NAME + 8); - else -! oldicon = vim_strsave(T_NAME); - } - - return retval; -*************** -*** 1939,1947 **** - if (!test_only) - { - if (STRNCMP(T_NAME, "builtin_", 8) == 0) -! oldicon = T_NAME + 8; - else -! oldicon = T_NAME; - } - return FALSE; - } ---- 1939,1947 ---- - if (!test_only) - { - if (STRNCMP(T_NAME, "builtin_", 8) == 0) -! oldicon = vim_strsave(T_NAME + 8); - else -! oldicon = vim_strsave(T_NAME); - } - return FALSE; - } -*** ../vim-7.2.236/src/version.c 2009-07-22 11:16:54.000000000 +0200 ---- src/version.c 2009-07-22 13:26:30.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 237, - /**/ - --- -Common sense is what tells you that the world is flat. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.238 --- a/components/vim/vim72-patches/7.2.238 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.238 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.238 -Problem: Leaking memory when setting term to "builtin_dumb". -Solution: Free memory when resetting term option t_Co. -Files: src/option.c, src/proto/option.pro, src/term.c - - -*** ../vim-7.2.237/src/option.c 2009-06-16 17:50:56.000000000 +0200 ---- src/option.c 2009-07-22 12:49:19.000000000 +0200 -*************** -*** 403,410 **** - #define P_NUM 0x02 /* the option is numeric */ - #define P_STRING 0x04 /* the option is a string */ - #define P_ALLOCED 0x08 /* the string option is in allocated memory, -! must use vim_free() when assigning new -! value. Not set if default is the same. */ - #define P_EXPAND 0x10 /* environment expansion. NOTE: P_EXPAND can - never be used for local or hidden options! */ - #define P_NODEFAULT 0x40 /* don't set to default value */ ---- 403,411 ---- - #define P_NUM 0x02 /* the option is numeric */ - #define P_STRING 0x04 /* the option is a string */ - #define P_ALLOCED 0x08 /* the string option is in allocated memory, -! must use free_string_option() when -! assigning new value. Not set if default is -! the same. */ - #define P_EXPAND 0x10 /* environment expansion. NOTE: P_EXPAND can - never be used for local or hidden options! */ - #define P_NODEFAULT 0x40 /* don't set to default value */ -*************** -*** 8927,8932 **** ---- 8928,8955 ---- - } - - /* -+ * Free the string for one term option, if it was allocated. -+ * Set the string to empty_option and clear allocated flag. -+ * "var" points to the option value. -+ */ -+ void -+ free_one_termoption(var) -+ char_u *var; -+ { -+ struct vimoption *p; -+ -+ for (p = &options[0]; p->fullname != NULL; p++) -+ if (p->var == var) -+ { -+ if (p->flags & P_ALLOCED) -+ free_string_option(*(char_u **)(p->var)); -+ *(char_u **)(p->var) = empty_option; -+ p->flags &= ~P_ALLOCED; -+ break; -+ } -+ } -+ -+ /* - * Set the terminal option defaults to the current value. - * Used after setting the terminal name. - */ -*** ../vim-7.2.237/src/proto/option.pro 2009-02-21 20:27:00.000000000 +0100 ---- src/proto/option.pro 2009-07-22 12:52:31.000000000 +0200 -*************** -*** 29,34 **** ---- 29,35 ---- - int makefoldset __ARGS((FILE *fd)); - void clear_termoptions __ARGS((void)); - void free_termoptions __ARGS((void)); -+ void free_one_termoption __ARGS((char_u *var)); - void set_term_defaults __ARGS((void)); - void comp_col __ARGS((void)); - char_u *get_equalprg __ARGS((void)); -*** ../vim-7.2.237/src/term.c 2009-06-16 14:31:56.000000000 +0200 ---- src/term.c 2009-07-22 13:19:59.000000000 +0200 -*************** -*** 2881,2887 **** - - /* if 'Sb' and 'AB' are not defined, reset "Co" */ - if (*T_CSB == NUL && *T_CAB == NUL) -! T_CCO = empty_option; - - /* Set 'weirdinvert' according to value of 't_xs' */ - p_wiv = (*T_XS != NUL); ---- 2881,2887 ---- - - /* if 'Sb' and 'AB' are not defined, reset "Co" */ - if (*T_CSB == NUL && *T_CAB == NUL) -! free_one_termoption(T_CCO); - - /* Set 'weirdinvert' according to value of 't_xs' */ - p_wiv = (*T_XS != NUL); -*** ../vim-7.2.237/src/version.c 2009-07-22 13:27:50.000000000 +0200 ---- src/version.c 2009-07-22 14:25:44.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 238, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -95. Only communication in your household is through email. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.239 --- a/components/vim/vim72-patches/7.2.239 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,145 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.239 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.239 -Problem: Using :diffpatch twice or when patching fails causes memory - corruption and/or a crash. (Bryan Venteicher) -Solution: Detect missing output file. Avoid using non-existing buffer. -Files: src/diff.c - - -*** ../vim-7.2.238/src/diff.c 2009-05-14 22:19:19.000000000 +0200 ---- src/diff.c 2009-07-22 16:06:21.000000000 +0200 -*************** -*** 893,898 **** ---- 893,899 ---- - char_u *browseFile = NULL; - int browse_flag = cmdmod.browse; - #endif -+ struct stat st; - - #ifdef FEAT_BROWSE - if (cmdmod.browse) -*************** -*** 999,1042 **** - STRCAT(buf, ".rej"); - mch_remove(buf); - -! if (curbuf->b_fname != NULL) - { -! newname = vim_strnsave(curbuf->b_fname, - (int)(STRLEN(curbuf->b_fname) + 4)); -! if (newname != NULL) -! STRCAT(newname, ".new"); -! } - - #ifdef FEAT_GUI -! need_mouse_correct = TRUE; - #endif -! /* don't use a new tab page, each tab page has its own diffs */ -! cmdmod.tab = 0; -! -! if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL) -! { -! /* Pretend it was a ":split fname" command */ -! eap->cmdidx = CMD_split; -! eap->arg = tmp_new; -! do_exedit(eap, old_curwin); - -! if (curwin != old_curwin) /* split must have worked */ - { -! /* Set 'diff', 'scrollbind' on and 'wrap' off. */ -! diff_win_options(curwin, TRUE); -! diff_win_options(old_curwin, TRUE); - -! if (newname != NULL) - { -! /* do a ":file filename.new" on the patched buffer */ -! eap->arg = newname; -! ex_file(eap); - - #ifdef FEAT_AUTOCMD -! /* Do filetype detection with the new name. */ -! if (au_has_group((char_u *)"filetypedetect")) -! do_cmdline_cmd((char_u *)":doau filetypedetect BufRead"); - #endif - } - } - } ---- 1000,1050 ---- - STRCAT(buf, ".rej"); - mch_remove(buf); - -! /* Only continue if the output file was created. */ -! if (mch_stat((char *)tmp_new, &st) < 0 || st.st_size == 0) -! EMSG(_("E816: Cannot read patch output")); -! else - { -! if (curbuf->b_fname != NULL) -! { -! newname = vim_strnsave(curbuf->b_fname, - (int)(STRLEN(curbuf->b_fname) + 4)); -! if (newname != NULL) -! STRCAT(newname, ".new"); -! } - - #ifdef FEAT_GUI -! need_mouse_correct = TRUE; - #endif -! /* don't use a new tab page, each tab page has its own diffs */ -! cmdmod.tab = 0; - -! if (win_split(0, (diff_flags & DIFF_VERTICAL) ? WSP_VERT : 0) != FAIL) - { -! /* Pretend it was a ":split fname" command */ -! eap->cmdidx = CMD_split; -! eap->arg = tmp_new; -! do_exedit(eap, old_curwin); - -! /* check that split worked and editing tmp_new */ -! if (curwin != old_curwin && win_valid(old_curwin)) - { -! /* Set 'diff', 'scrollbind' on and 'wrap' off. */ -! diff_win_options(curwin, TRUE); -! diff_win_options(old_curwin, TRUE); -! -! if (newname != NULL) -! { -! /* do a ":file filename.new" on the patched buffer */ -! eap->arg = newname; -! ex_file(eap); - - #ifdef FEAT_AUTOCMD -! /* Do filetype detection with the new name. */ -! if (au_has_group((char_u *)"filetypedetect")) -! do_cmdline_cmd((char_u *)":doau filetypedetect BufRead"); - #endif -+ } - } - } - } -*** ../vim-7.2.238/src/version.c 2009-07-22 14:27:33.000000000 +0200 ---- src/version.c 2009-07-22 16:21:29.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 239, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -97. Your mother tells you to remember something, and you look for - a File/Save command. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.240 --- a/components/vim/vim72-patches/7.2.240 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.240 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.240 -Problem: Crash when using find/replace dialog repeatedly. (Michiel - Hartsuiker) -Solution: Avoid doing the operation while busy or recursively. Also refuse - replace when text is locked. -Files: src/gui.c - - -*** ../vim-7.2.239/src/gui.c 2009-06-24 18:31:36.000000000 +0200 ---- src/gui.c 2009-07-22 16:54:16.000000000 +0200 -*************** -*** 5004,5009 **** ---- 5004,5022 ---- - char_u *p; - regmatch_T regmatch; - int save_did_emsg = did_emsg; -+ static int busy = FALSE; -+ -+ /* When the screen is being updated we should not change buffers and -+ * windows structures, it may cause freed memory to be used. Also don't -+ * do this recursively (pressing "Find" quickly several times. */ -+ if (updating_screen || busy) -+ return FALSE; -+ -+ /* refuse replace when text cannot be changed */ -+ if ((type == FRD_REPLACE || type == FRD_REPLACEALL) && text_locked()) -+ return FALSE; -+ -+ busy = TRUE; - - ga_init2(&ga, 1, 100); - if (type == FRD_REPLACEALL) -*************** -*** 5094,5099 **** ---- 5107,5113 ---- - } - - vim_free(ga.ga_data); -+ busy = FALSE; - return (ga.ga_len > 0); - } - -*** ../vim-7.2.239/src/version.c 2009-07-22 16:22:33.000000000 +0200 ---- src/version.c 2009-07-29 11:09:13.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 240, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -113. You are asked about a bus schedule, you wonder if it is 16 or 32 bits. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.241 --- a/components/vim/vim72-patches/7.2.241 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,169 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.241 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.241 -Problem: When using a combination of ":bufdo" and "doautoall" we may end up - in the wrong directory. (Ajit Thakkar) - Crash when triggering an autocommand in ":vimgrep". (Yukihiro - Nakadaira) -Solution: Clear w_localdir and globaldir when using the aucmd_win. - Use a separate flag to decide aucmd_win needs to be restored. -Files: src/fileio.c, src/globals.h, src/structs.h - - -*** ../vim-7.2.240/src/fileio.c 2009-07-01 17:11:40.000000000 +0200 ---- src/fileio.c 2009-07-22 19:08:55.000000000 +0200 -*************** -*** 8420,8425 **** ---- 8420,8429 ---- - if (aucmd_win == NULL) - win = curwin; - } -+ if (win == NULL && aucmd_win_used) -+ /* Strange recursive autocommand, fall back to using the current -+ * window. Expect a few side effects... */ -+ win = curwin; - - aco->save_curwin = curwin; - aco->save_curbuf = curbuf; -*************** -*** 8428,8433 **** ---- 8432,8438 ---- - /* There is a window for "buf" in the current tab page, make it the - * curwin. This is preferred, it has the least side effects (esp. if - * "buf" is curbuf). */ -+ aco->use_aucmd_win = FALSE; - curwin = win; - } - else -*************** -*** 8436,8444 **** ---- 8441,8460 ---- - * effects, insert it in a the current tab page. - * Anything related to a window (e.g., setting folds) may have - * unexpected results. */ -+ aco->use_aucmd_win = TRUE; -+ aucmd_win_used = TRUE; - aucmd_win->w_buffer = buf; - ++buf->b_nwindows; - win_init_empty(aucmd_win); /* set cursor and topline to safe values */ -+ vim_free(aucmd_win->w_localdir); -+ aucmd_win->w_localdir = NULL; -+ -+ /* Make sure w_localdir and globaldir are NULL to avoid a chdir() in -+ * win_enter_ext(). */ -+ aucmd_win->w_localdir = NULL; -+ aco->globaldir = globaldir; -+ globaldir = NULL; -+ - - #ifdef FEAT_WINDOWS - /* Split the current window, put the aucmd_win in the upper half. -*************** -*** 8472,8478 **** - int dummy; - #endif - -! if (aco->new_curwin == aucmd_win) - { - --curbuf->b_nwindows; - #ifdef FEAT_WINDOWS ---- 8488,8494 ---- - int dummy; - #endif - -! if (aco->use_aucmd_win) - { - --curbuf->b_nwindows; - #ifdef FEAT_WINDOWS -*************** -*** 8499,8504 **** ---- 8515,8521 ---- - /* Remove the window and frame from the tree of frames. */ - (void)winframe_remove(curwin, &dummy, NULL); - win_remove(curwin, NULL); -+ aucmd_win_used = FALSE; - last_status(FALSE); /* may need to remove last status line */ - restore_snapshot(SNAP_AUCMD_IDX, FALSE); - (void)win_comp_pos(); /* recompute window positions */ -*************** -*** 8517,8522 **** ---- 8534,8542 ---- - #endif - curbuf = curwin->w_buffer; - -+ vim_free(globaldir); -+ globaldir = aco->globaldir; -+ - /* the buffer contents may have changed */ - check_cursor(); - if (curwin->w_topline > curbuf->b_ml.ml_line_count) -*************** -*** 8541,8547 **** - #endif - { - /* Restore the buffer which was previously edited by curwin, if -! * it was chagned, we are still the same window and the buffer is - * valid. */ - if (curwin == aco->new_curwin - && curbuf != aco->new_curbuf ---- 8561,8567 ---- - #endif - { - /* Restore the buffer which was previously edited by curwin, if -! * it was changed, we are still the same window and the buffer is - * valid. */ - if (curwin == aco->new_curwin - && curbuf != aco->new_curbuf -*** ../vim-7.2.240/src/globals.h 2009-06-16 16:01:34.000000000 +0200 ---- src/globals.h 2009-07-22 19:50:53.000000000 +0200 -*************** -*** 541,546 **** ---- 541,547 ---- - - #ifdef FEAT_AUTOCMD - EXTERN win_T *aucmd_win; /* window used in aucmd_prepbuf() */ -+ EXTERN int aucmd_win_used INIT(= FALSE); /* aucmd_win is being used */ - #endif - - /* -*** ../vim-7.2.240/src/structs.h 2009-07-09 18:24:24.000000000 +0200 ---- src/structs.h 2009-07-22 18:58:35.000000000 +0200 -*************** -*** 2288,2296 **** ---- 2288,2298 ---- - { - buf_T *save_curbuf; /* saved curbuf */ - #ifdef FEAT_AUTOCMD -+ int use_aucmd_win; /* using aucmd_win */ - win_T *save_curwin; /* saved curwin */ - win_T *new_curwin; /* new curwin */ - buf_T *new_curbuf; /* new curbuf */ -+ char_u *globaldir; /* saved value of globaldir */ - #endif - } aco_save_T; - -*** ../vim-7.2.240/src/version.c 2009-07-29 11:10:31.000000000 +0200 ---- src/version.c 2009-07-29 12:06:31.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 241, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -114. You are counting items, you go "0,1,2,3,4,5,6,7,8,9,A,B,C,D...". - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.242 --- a/components/vim/vim72-patches/7.2.242 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.242 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.242 -Problem: Setting 'lazyredraw' causes the cursor column to be recomputed. - (Tom Link) -Solution: Only recompute the cursor column for a boolean option if changes - the cursor position. -Files: src/option.c - - -*** ../vim-7.2.241/src/option.c 2009-07-22 14:27:33.000000000 +0200 ---- src/option.c 2009-07-29 10:03:39.000000000 +0200 -*************** -*** 7194,7199 **** ---- 7194,7207 ---- - compatible_set(); - } - -+ /* 'list', 'number' */ -+ else if ((int *)varp == &curwin->w_p_list -+ || (int *)varp == &curwin->w_p_nu) -+ { -+ if (curwin->w_curswant != MAXCOL) -+ curwin->w_set_curswant = TRUE; -+ } -+ - else if ((int *)varp == &curbuf->b_p_ro) - { - /* when 'readonly' is reset globally, also reset readonlymode */ -*************** -*** 7645,7650 **** ---- 7653,7666 ---- - curbuf->b_p_imsearch = B_IMODE_USE_INSERT; - # endif - } -+ if (curwin->w_curswant != MAXCOL) -+ curwin->w_set_curswant = TRUE; -+ } -+ -+ else if ((int *)varp == &p_arshape) -+ { -+ if (curwin->w_curswant != MAXCOL) -+ curwin->w_set_curswant = TRUE; - } - #endif - -*************** -*** 7655,7662 **** - options[opt_idx].flags |= P_WAS_SET; - - comp_col(); /* in case 'ruler' or 'showcmd' changed */ -! if (curwin->w_curswant != MAXCOL) -! curwin->w_set_curswant = TRUE; /* in case 'list' changed */ - check_redraw(options[opt_idx].flags); - - return NULL; ---- 7671,7677 ---- - options[opt_idx].flags |= P_WAS_SET; - - comp_col(); /* in case 'ruler' or 'showcmd' changed */ -! - check_redraw(options[opt_idx].flags); - - return NULL; -*** ../vim-7.2.241/src/version.c 2009-07-29 12:09:49.000000000 +0200 ---- src/version.c 2009-07-29 15:40:43.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 242, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -117. You are more comfortable typing in html. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.243 --- a/components/vim/vim72-patches/7.2.243 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.243 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.243 -Problem: Memory leak when using :vimgrep and resizing. (Dominique Pelle) -Solution: Free memory for aucmd_win when resizing and don't allocate it - twice. -Files: src/screen.c - - -*** ../vim-7.2.242/src/screen.c 2009-06-16 17:22:38.000000000 +0200 ---- src/screen.c 2009-07-29 15:59:37.000000000 +0200 -*************** -*** 7467,7472 **** ---- 7467,7476 ---- - */ - FOR_ALL_TAB_WINDOWS(tp, wp) - win_free_lsize(wp); -+ #ifdef FEAT_AUTOCMD -+ if (aucmd_win != NULL) -+ win_free_lsize(aucmd_win); -+ #endif - - new_ScreenLines = (schar_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(schar_T)), FALSE); -*************** -*** 7504,7510 **** - } - } - #ifdef FEAT_AUTOCMD -! if (aucmd_win != NULL && win_alloc_lines(aucmd_win) == FAIL) - outofmem = TRUE; - #endif - #ifdef FEAT_WINDOWS ---- 7508,7515 ---- - } - } - #ifdef FEAT_AUTOCMD -! if (aucmd_win != NULL && aucmd_win->w_lines == NULL -! && win_alloc_lines(aucmd_win) == FAIL) - outofmem = TRUE; - #endif - #ifdef FEAT_WINDOWS -*** ../vim-7.2.242/src/version.c 2009-07-29 15:41:32.000000000 +0200 ---- src/version.c 2009-07-29 16:07:47.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 243, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -118. You are on a first-name basis with your ISP's staff. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.244 --- a/components/vim/vim72-patches/7.2.244 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.244 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.244 -Problem: When 'enc' is utf-8 and 'fenc' is latin1, writing a non-latin1 - character gives a conversion error without any hint what is wrong. -Solution: When known add the line number to the error message. -Files: src/fileio.c - - -*** ../vim-7.2.243/src/fileio.c 2009-07-29 12:09:49.000000000 +0200 ---- src/fileio.c 2009-07-29 17:04:06.000000000 +0200 -*************** -*** 121,126 **** ---- 121,128 ---- - char_u *bw_conv_buf; /* buffer for writing converted chars */ - int bw_conv_buflen; /* size of bw_conv_buf */ - int bw_conv_error; /* set for conversion error */ -+ linenr_T bw_conv_error_lnum; /* first line with error or zero */ -+ linenr_T bw_start_lnum; /* line number at start of buffer */ - # ifdef USE_ICONV - iconv_t bw_iconv_fd; /* descriptor for iconv() or -1 */ - # endif -*************** -*** 2924,2929 **** ---- 2925,2931 ---- - linenr_T lnum; - long nchars; - char_u *errmsg = NULL; -+ int errmsg_allocated = FALSE; - char_u *errnum = NULL; - char_u *buffer; - char_u smallbuf[SMBUFSIZE]; -*************** -*** 2987,2992 **** ---- 2989,2995 ---- - /* must init bw_conv_buf and bw_iconv_fd before jumping to "fail" */ - write_info.bw_conv_buf = NULL; - write_info.bw_conv_error = FALSE; -+ write_info.bw_conv_error_lnum = 0; - write_info.bw_restlen = 0; - # ifdef USE_ICONV - write_info.bw_iconv_fd = (iconv_t)-1; -*************** -*** 4243,4248 **** ---- 4245,4251 ---- - nchars += write_info.bw_len; - } - } -+ write_info.bw_start_lnum = start; - #endif - - write_info.bw_len = bufsize; -*************** -*** 4278,4283 **** ---- 4281,4289 ---- - nchars += bufsize; - s = buffer; - len = 0; -+ #ifdef FEAT_MBYTE -+ write_info.bw_start_lnum = lnum; -+ #endif - } - /* write failed or last line has no EOL: stop here */ - if (end == 0 -*************** -*** 4474,4480 **** - { - #ifdef FEAT_MBYTE - if (write_info.bw_conv_error) -! errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)"); - else - #endif - if (got_int) ---- 4480,4496 ---- - { - #ifdef FEAT_MBYTE - if (write_info.bw_conv_error) -! { -! if (write_info.bw_conv_error_lnum == 0) -! errmsg = (char_u *)_("E513: write error, conversion failed (make 'fenc' empty to override)"); -! else -! { -! errmsg_allocated = TRUE; -! errmsg = alloc(300); -! vim_snprintf((char *)errmsg, 300, _("E513: write error, conversion failed in line %ld (make 'fenc' empty to override)"), -! (long)write_info.bw_conv_error_lnum); -! } -! } - else - #endif - if (got_int) -*************** -*** 4550,4555 **** ---- 4566,4577 ---- - { - STRCAT(IObuff, _(" CONVERSION ERROR")); - c = TRUE; -+ if (write_info.bw_conv_error_lnum != 0) -+ { -+ int l = STRLEN(IObuff); -+ vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"), -+ (long)write_info.bw_conv_error_lnum); -+ } - } - else if (notconverted) - { -*************** -*** 4746,4751 **** ---- 4768,4775 ---- - } - STRCAT(IObuff, errmsg); - emsg(IObuff); -+ if (errmsg_allocated) -+ vim_free(errmsg); - - retval = FAIL; - if (end == 0) -*************** -*** 5105,5111 **** - c = buf[wlen]; - } - -! ip->bw_conv_error |= ucs2bytes(c, &p, flags); - } - if (flags & FIO_LATIN1) - len = (int)(p - buf); ---- 5129,5141 ---- - c = buf[wlen]; - } - -! if (ucs2bytes(c, &p, flags) && !ip->bw_conv_error) -! { -! ip->bw_conv_error = TRUE; -! ip->bw_conv_error_lnum = ip->bw_start_lnum; -! } -! if (c == NL) -! ++ip->bw_start_lnum; - } - if (flags & FIO_LATIN1) - len = (int)(p - buf); -*************** -*** 5386,5391 **** ---- 5416,5422 ---- - #ifdef FEAT_MBYTE - /* - * Convert a Unicode character to bytes. -+ * Return TRUE for an error, FALSE when it's OK. - */ - static int - ucs2bytes(c, pp, flags) -*** ../vim-7.2.243/src/version.c 2009-07-29 16:13:35.000000000 +0200 ---- src/version.c 2009-07-29 18:01:27.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 244, - /**/ - --- -Support your right to bare arms! Wear short sleeves! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.245 --- a/components/vim/vim72-patches/7.2.245 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,165 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.245 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.245 -Problem: When 'enc' is "utf-16" and 'fenc' is "utf-8" writing a file does - conversion while none should be done. (Yukihiro Nakadaira) When - 'fenc' is empty the file is written as utf-8 instead of utf-16. -Solution: Do proper comparison of encodings, taking into account that all - Unicode values for 'enc' use utf-8 internally. -Files: src/fileio.c - - -*** ../vim-7.2.244/src/fileio.c 2009-07-29 18:05:57.000000000 +0200 ---- src/fileio.c 2009-07-29 17:04:06.000000000 +0200 -*************** -*** 134,140 **** - #ifdef FEAT_MBYTE - static linenr_T readfile_linenr __ARGS((linenr_T linecnt, char_u *p, char_u *endp)); - static int ucs2bytes __ARGS((unsigned c, char_u **pp, int flags)); -! static int same_encoding __ARGS((char_u *a, char_u *b)); - static int get_fio_flags __ARGS((char_u *ptr)); - static char_u *check_for_bom __ARGS((char_u *p, long size, int *lenp, int flags)); - static int make_bom __ARGS((char_u *buf, char_u *name)); ---- 134,140 ---- - #ifdef FEAT_MBYTE - static linenr_T readfile_linenr __ARGS((linenr_T linecnt, char_u *p, char_u *endp)); - static int ucs2bytes __ARGS((unsigned c, char_u **pp, int flags)); -! static int need_conversion __ARGS((char_u *fenc)); - static int get_fio_flags __ARGS((char_u *ptr)); - static char_u *check_for_bom __ARGS((char_u *p, long size, int *lenp, int flags)); - static int make_bom __ARGS((char_u *buf, char_u *name)); -*************** -*** 1043,1055 **** - } - - /* -! * Conversion is required when the encoding of the file is different -! * from 'encoding' or 'encoding' is UTF-16, UCS-2 or UCS-4 (requires -! * conversion to UTF-8). - */ - fio_flags = 0; -! converted = (*fenc != NUL && !same_encoding(p_enc, fenc)); -! if (converted || enc_unicode != 0) - { - - /* "ucs-bom" means we need to check the first bytes of the file ---- 1043,1054 ---- - } - - /* -! * Conversion may be required when the encoding of the file is different -! * from 'encoding' or 'encoding' is UTF-16, UCS-2 or UCS-4. - */ - fio_flags = 0; -! converted = need_conversion(fenc); -! if (converted) - { - - /* "ucs-bom" means we need to check the first bytes of the file -*************** -*** 3969,3978 **** - fenc = buf->b_p_fenc; - - /* -! * The file needs to be converted when 'fileencoding' is set and -! * 'fileencoding' differs from 'encoding'. - */ -! converted = (*fenc != NUL && !same_encoding(p_enc, fenc)); - - /* - * Check if UTF-8 to UCS-2/4 or Latin1 conversion needs to be done. Or ---- 3968,3976 ---- - fenc = buf->b_p_fenc; - - /* -! * Check if the file needs to be converted. - */ -! converted = need_conversion(fenc); - - /* - * Check if UTF-8 to UCS-2/4 or Latin1 conversion needs to be done. Or -*************** -*** 5502,5521 **** - } - - /* -! * Return TRUE if "a" and "b" are the same 'encoding'. -! * Ignores difference between "ansi" and "latin1", "ucs-4" and "ucs-4be", etc. - */ - static int -! same_encoding(a, b) -! char_u *a; -! char_u *b; - { -! int f; - -! if (STRCMP(a, b) == 0) -! return TRUE; -! f = get_fio_flags(a); -! return (f != 0 && get_fio_flags(b) == f); - } - - /* ---- 5500,5536 ---- - } - - /* -! * Return TRUE if file encoding "fenc" requires conversion from or to -! * 'encoding'. - */ - static int -! need_conversion(fenc) -! char_u *fenc; - { -! int same_encoding; -! int enc_flags; -! int fenc_flags; - -! if (*fenc == NUL || STRCMP(p_enc, fenc) == 0) -! same_encoding = TRUE; -! else -! { -! /* Ignore difference between "ansi" and "latin1", "ucs-4" and -! * "ucs-4be", etc. */ -! enc_flags = get_fio_flags(p_enc); -! fenc_flags = get_fio_flags(fenc); -! same_encoding = (enc_flags != 0 && fenc_flags == enc_flags); -! } -! if (same_encoding) -! { -! /* Specified encoding matches with 'encoding'. This requires -! * conversion when 'encoding' is Unicode but not UTF-8. */ -! return enc_unicode != 0; -! } -! -! /* Encodings differ. However, conversion is not needed when 'enc' is any -! * Unicode encoding and the file is UTF-8. */ -! return !(enc_utf8 && fenc_flags == FIO_UTF8); - } - - /* -*** ../vim-7.2.244/src/version.c 2009-07-29 18:05:57.000000000 +0200 ---- src/version.c 2009-07-29 18:20:08.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 245, - /**/ - --- -An actual excerpt from a classified section of a city newspaper: -"Illiterate? Write today for free help!" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.246 --- a/components/vim/vim72-patches/7.2.246 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.246 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.246 -Problem: Cscope home page link is wrong. -Solution: Update the URL. (Sergey Khorev) -Files: runtime/doc/if_cscop.txt - - -*** ../vim-7.2.245/runtime/doc/if_cscop.txt 2009-07-09 21:22:36.000000000 +0200 ---- runtime/doc/if_cscop.txt 2009-09-11 11:19:31.000000000 +0200 -*************** -*** 481,487 **** - any problems, suggestions, patches, et al., you have for the usage of - cscope within Vim to him. - *cscope-win32* -! For a cscope version for Win32 see: http://iamphet.nm.ru/cscope/index.html - - Win32 support was added by Sergey Khorev . Contact - him if you have Win32-specific issues. ---- 481,488 ---- - any problems, suggestions, patches, et al., you have for the usage of - cscope within Vim to him. - *cscope-win32* -! For a cscope version for Win32 see: -! http://code.google.com/p/cscope-win32/ - - Win32 support was added by Sergey Khorev . Contact - him if you have Win32-specific issues. -*** ../vim-7.2.245/src/version.c 2009-07-29 18:24:59.000000000 +0200 ---- src/version.c 2009-09-11 11:29:02.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 246, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -221. Your wife melts your keyboard in the oven. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.247 --- a/components/vim/vim72-patches/7.2.247 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.247 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.247 -Problem: Mzscheme interface minor problem. -Solution: Better error message when build fails. (Sergey Khorev) -Files: src/if_mzsch.c - - -*** ../vim-7.2.246/src/if_mzsch.c 2009-07-09 20:06:30.000000000 +0200 ---- src/if_mzsch.c 2009-09-11 11:20:39.000000000 +0200 -*************** -*** 635,642 **** - #endif /* DYNAMIC_MZSCHEME */ - - /* need to put it here for dynamic stuff to work */ -! #ifdef INCLUDE_MZSCHEME_BASE - # include "mzscheme_base.c" - #endif - - /* ---- 635,644 ---- - #endif /* DYNAMIC_MZSCHEME */ - - /* need to put it here for dynamic stuff to work */ -! #if defined(INCLUDE_MZSCHEME_BASE) - # include "mzscheme_base.c" -+ #elif MZSCHEME_VERSION_MAJOR >= 400 -+ # error MzScheme 4.x must include mzscheme_base.c, for MinGW32 you need to define MZSCHEME_GENERATE_BASE=yes - #endif - - /* -*************** -*** 875,888 **** - #ifdef INCLUDE_MZSCHEME_BASE - { - /* -! * versions 4.x do not provide Scheme bindings by defaults - * we need to add them explicitly - */ - Scheme_Object *scheme_base_symbol = NULL; - MZ_GC_DECL_REG(1); - MZ_GC_VAR_IN_REG(0, scheme_base_symbol); - MZ_GC_REG(); -! /* invoke function from generated and included base.c */ - declare_modules(environment); - scheme_base_symbol = scheme_intern_symbol("scheme/base"); - MZ_GC_CHECK(); ---- 877,890 ---- - #ifdef INCLUDE_MZSCHEME_BASE - { - /* -! * versions 4.x do not provide Scheme bindings by default - * we need to add them explicitly - */ - Scheme_Object *scheme_base_symbol = NULL; - MZ_GC_DECL_REG(1); - MZ_GC_VAR_IN_REG(0, scheme_base_symbol); - MZ_GC_REG(); -! /* invoke function from generated and included mzscheme_base.c */ - declare_modules(environment); - scheme_base_symbol = scheme_intern_symbol("scheme/base"); - MZ_GC_CHECK(); -*** ../vim-7.2.246/src/version.c 2009-09-11 11:30:12.000000000 +0200 ---- src/version.c 2009-09-11 11:53:59.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 247, - /**/ - --- -Your fault: core dumped - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.251 --- a/components/vim/vim72-patches/7.2.251 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.251 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.251 (after 7.2.044) -Problem: Compiler adds invalid memory bounds check. -Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle) -Files: src/auto/configure, src/configure.in - - -*** ../vim-7.2.250/src/auto/configure 2009-07-22 11:16:54.000000000 +0200 ---- src/auto/configure 2009-08-07 14:49:52.000000000 +0200 -*************** -*** 17135,17141 **** - { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 - $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } - if test "$gccmajor" -gt "3"; then -! CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" - { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - else ---- 17135,17141 ---- - { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 - $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } - if test "$gccmajor" -gt "3"; then -! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` - { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - else -*** ../vim-7.2.250/src/configure.in 2009-07-22 11:16:54.000000000 +0200 ---- src/configure.in 2009-08-07 14:49:47.000000000 +0200 -*************** -*** 3233,3239 **** - dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. - AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) - if test "$gccmajor" -gt "3"; then -! CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=1" - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) ---- 3233,3239 ---- - dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. - AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) - if test "$gccmajor" -gt "3"; then -! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) -*** ../vim-7.2.250/src/version.c 2009-09-11 13:26:38.000000000 +0200 ---- src/version.c 2009-09-11 13:43:46.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 251, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -225. You sign up for free subscriptions for all the computer magazines - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.252 --- a/components/vim/vim72-patches/7.2.252 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.252 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.252 -Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot - contain characters above 128. -Solution: Use mb_ptr2char_adv(). -Files: src/charset.c - - -*** ../vim-7.2.251/src/charset.c 2009-05-14 22:19:19.000000000 +0200 ---- src/charset.c 2009-09-09 21:11:46.000000000 +0200 -*************** -*** 174,179 **** ---- 174,184 ---- - if (VIM_ISDIGIT(*p)) - c = getdigits(&p); - else -+ #ifdef FEAT_MBYTE -+ if (has_mbyte) -+ c = mb_ptr2char_adv(&p); -+ else -+ #endif - c = *p++; - c2 = -1; - if (*p == '-' && p[1] != NUL) -*** ../vim-7.2.251/src/version.c 2009-09-11 13:44:33.000000000 +0200 ---- src/version.c 2009-09-11 14:01:48.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 252, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -226. You sit down at the computer right after dinner and your spouse - says "See you in the morning." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.253 --- a/components/vim/vim72-patches/7.2.253 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,143 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.253 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.253 -Problem: Netbeans interface: getLength always uses current buffer. -Solution: Use ml_get_buf() instead of ml_get(). (Xavier de Gaye) -Files: src/netbeans.c - - -*** ../vim-7.2.252/src/netbeans.c 2009-06-24 16:49:50.000000000 +0200 ---- src/netbeans.c 2009-09-11 13:40:14.000000000 +0200 -*************** -*** 1499,1505 **** - return FAIL; - } - first = *pos; -! nbdebug((" FIRST POS: line %d, col %d\n", first.lnum, first.col)); - pos = off2pos(buf->bufp, off+count-1); - if (!pos) - { ---- 1499,1506 ---- - return FAIL; - } - first = *pos; -! nbdebug((" FIRST POS: line %d, col %d\n", -! first.lnum, first.col)); - pos = off2pos(buf->bufp, off+count-1); - if (!pos) - { -*************** -*** 1510,1516 **** - return FAIL; - } - last = *pos; -! nbdebug((" LAST POS: line %d, col %d\n", last.lnum, last.col)); - del_from_lnum = first.lnum; - del_to_lnum = last.lnum; - doupdate = 1; ---- 1511,1518 ---- - return FAIL; - } - last = *pos; -! nbdebug((" LAST POS: line %d, col %d\n", -! last.lnum, last.col)); - del_from_lnum = first.lnum; - del_to_lnum = last.lnum; - doupdate = 1; -*************** -*** 1521,1527 **** - next = off2pos(buf->bufp, off + count); - - /* Remove part of the first line. */ -! if (first.col != 0 || (next != NULL && first.lnum == next->lnum)) - { - if (first.lnum != last.lnum - || (next != NULL && first.lnum != next->lnum)) ---- 1523,1530 ---- - next = off2pos(buf->bufp, off + count); - - /* Remove part of the first line. */ -! if (first.col != 0 -! || (next != NULL && first.lnum == next->lnum)) - { - if (first.lnum != last.lnum - || (next != NULL && first.lnum != next->lnum)) -*************** -*** 1584,1590 **** - int id = buf_findsign_id(buf->bufp, (linenr_T)i); - if (id > 0) - { -! nbdebug((" Deleting sign %d on line %d\n", id, i)); - buf_delsign(buf->bufp, id); - } - else ---- 1587,1594 ---- - int id = buf_findsign_id(buf->bufp, (linenr_T)i); - if (id > 0) - { -! nbdebug((" Deleting sign %d on line %d\n", -! id, i)); - buf_delsign(buf->bufp, id); - } - else -*************** -*** 1593,1599 **** - } - } - -! nbdebug((" Deleting lines %d through %d\n", del_from_lnum, del_to_lnum)); - curwin->w_cursor.lnum = del_from_lnum; - curwin->w_cursor.col = 0; - del_lines(del_to_lnum - del_from_lnum + 1, FALSE); ---- 1597,1604 ---- - } - } - -! nbdebug((" Deleting lines %d through %d\n", -! del_from_lnum, del_to_lnum)); - curwin->w_cursor.lnum = del_from_lnum; - curwin->w_cursor.col = 0; - del_lines(del_to_lnum - del_from_lnum + 1, FALSE); -*************** -*** 3514,3520 **** - eol_size = 1; - for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum) - { -! char_count += (long)STRLEN(ml_get(lnum)) + eol_size; - /* Check for a CTRL-C every 100000 characters */ - if (char_count > last_check) - { ---- 3519,3526 ---- - eol_size = 1; - for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum) - { -! char_count += (long)STRLEN(ml_get_buf(bufp, lnum, FALSE)) -! + eol_size; - /* Check for a CTRL-C every 100000 characters */ - if (char_count > last_check) - { -*** ../vim-7.2.252/src/version.c 2009-09-11 14:02:25.000000000 +0200 ---- src/version.c 2009-09-11 14:18:45.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 253, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -227. You sleep next to your monitor. Or on top of it. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.254 --- a/components/vim/vim72-patches/7.2.254 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.254 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.254 -Problem: Compiler warning for assigning size_t to int. -Solution: Use size_t for the variable. (George Reilly) -Files: src/fileio.c - - -*** ../vim-7.2.253/src/fileio.c 2009-07-29 18:24:59.000000000 +0200 ---- src/fileio.c 2009-09-11 13:46:19.000000000 +0200 -*************** -*** 4568,4574 **** - c = TRUE; - if (write_info.bw_conv_error_lnum != 0) - { -! int l = STRLEN(IObuff); - vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"), - (long)write_info.bw_conv_error_lnum); - } ---- 4568,4574 ---- - c = TRUE; - if (write_info.bw_conv_error_lnum != 0) - { -! size_t l = STRLEN(IObuff); - vim_snprintf((char *)IObuff + l, IOSIZE - l, _(" in line %ld;"), - (long)write_info.bw_conv_error_lnum); - } -*** ../vim-7.2.253/src/version.c 2009-09-11 14:19:41.000000000 +0200 ---- src/version.c 2009-09-11 15:03:42.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 254, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -230. You spend your Friday nights typing away at your keyboard - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.255 --- a/components/vim/vim72-patches/7.2.255 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.255 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.255 (after 7.2.242) -Problem: Setting 'rightleft', 'linebreak' and 'wrap' may cause cursor to be - in wrong place. -Solution: Recompute the cursor column for these options. -Files: src/option.c - - -*** ../vim-7.2.254/src/option.c 2009-07-29 15:41:32.000000000 +0200 ---- src/option.c 2009-09-11 13:59:55.000000000 +0200 -*************** -*** 7430,7435 **** ---- 7430,7437 ---- - { - if (curwin->w_p_wrap) - curwin->w_leftcol = 0; -+ if (curwin->w_curswant != MAXCOL) -+ curwin->w_set_curswant = TRUE; - } - - #ifdef FEAT_WINDOWS -*************** -*** 7664,7669 **** ---- 7666,7687 ---- - } - #endif - -+ #ifdef FEAT_LINEBREAK -+ if ((int *)varp == &curwin->w_p_lbr) -+ { -+ if (curwin->w_curswant != MAXCOL) -+ curwin->w_set_curswant = TRUE; -+ } -+ #endif -+ -+ #ifdef FEAT_RIGHTLEFT -+ if ((int *)varp == &curwin->w_p_rl) -+ { -+ if (curwin->w_curswant != MAXCOL) -+ curwin->w_set_curswant = TRUE; -+ } -+ #endif -+ - /* - * End of handling side effects for bool options. - */ -*** ../vim-7.2.254/src/version.c 2009-09-11 15:04:13.000000000 +0200 ---- src/version.c 2009-09-11 15:19:40.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 255, - /**/ - --- -A computer without Windows is like a fish without a bicycle. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.256 --- a/components/vim/vim72-patches/7.2.256 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.256 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.256 -Problem: When 'guifont' was not set GTK font dialog doesn't have a default. - (Andreas Metzler) -Solution: Set default to DEFAULT_FONT. (James Vega) -Files: src/gui_gtk_x11.c - - -*** ../vim-7.2.255/src/gui_gtk_x11.c 2009-07-01 18:04:30.000000000 +0200 ---- src/gui_gtk_x11.c 2009-09-11 14:21:32.000000000 +0200 -*************** -*** 4729,4734 **** ---- 4729,4737 ---- - if (oldval != NULL && *oldval != NUL) - gtk_font_selection_dialog_set_font_name( - GTK_FONT_SELECTION_DIALOG(gui.fontdlg), (char *)oldval); -+ else -+ gtk_font_selection_dialog_set_font_name( -+ GTK_FONT_SELECTION_DIALOG(gui.fontdlg), DEFAULT_FONT); - - if (gui.fontname) - { -*************** -*** 4816,4821 **** ---- 4819,4827 ---- - if (oldname != oldval) - vim_free(oldname); - } -+ else -+ gtk_font_selection_dialog_set_font_name( -+ GTK_FONT_SELECTION_DIALOG(dialog), DEFAULT_FONT); - - response = gtk_dialog_run(GTK_DIALOG(dialog)); - -*** ../vim-7.2.255/src/version.c 2009-09-11 15:20:22.000000000 +0200 ---- src/version.c 2009-09-11 15:45:36.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 256, - /**/ - --- -Get a life? What is the URL where it can be downloaded? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.257 --- a/components/vim/vim72-patches/7.2.257 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.257 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.257 -Problem: With GTK 2.17 lots of assertion error messages. -Solution: Remove check for static gravity. (Sebastian Droege) -Files: src/gui_gtk_f.c - - -*** ../vim-7.2.256/src/gui_gtk_f.c 2009-05-17 23:25:16.000000000 +0200 ---- src/gui_gtk_f.c 2009-09-11 15:15:41.000000000 +0200 -*************** -*** 860,870 **** - gtk_form_set_static_gravity(GdkWindow *window, gboolean use_static) - { - #ifdef HAVE_GTK2 -! gboolean static_gravity_supported; -! -! static_gravity_supported = gdk_window_set_static_gravities(window, -! use_static); -! g_return_if_fail(static_gravity_supported); - #else - XSetWindowAttributes xattributes; - ---- 860,868 ---- - gtk_form_set_static_gravity(GdkWindow *window, gboolean use_static) - { - #ifdef HAVE_GTK2 -! /* We don't check if static gravity is actually supported, because it -! * results in an annoying assertion error message. */ -! gdk_window_set_static_gravities(window, use_static); - #else - XSetWindowAttributes xattributes; - -*** ../vim-7.2.256/src/version.c 2009-09-11 15:46:20.000000000 +0200 ---- src/version.c 2009-09-11 16:16:52.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 257, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -231. You sprinkle Carpet Fresh on the rugs and put your vacuum cleaner - in the front doorway permanently so it always looks like you are - actually attempting to do something about that mess that has amassed - since you discovered the Internet. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.258 --- a/components/vim/vim72-patches/7.2.258 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.258 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.258 -Problem: v:beval_col and b:beval_text are wrong in UTF-8 text. (Tony - Mechelynck) -Solution: Use byte number instead of character number for the column. -Files: src/ui.c - - -*** ../vim-7.2.257/src/ui.c 2009-07-01 18:04:30.000000000 +0200 ---- src/ui.c 2009-09-11 16:11:50.000000000 +0200 -*************** -*** 3055,3072 **** - int vcol; - { - /* try to advance to the specified column */ -- int col = 0; - int count = 0; - char_u *ptr; - -! ptr = ml_get_buf(wp->w_buffer, lnum, FALSE); - while (count <= vcol && *ptr != NUL) - { -- ++col; - count += win_lbr_chartabsize(wp, ptr, count, NULL); - mb_ptr_adv(ptr); - } -! return col; - } - #endif - ---- 3055,3071 ---- - int vcol; - { - /* try to advance to the specified column */ - int count = 0; - char_u *ptr; -+ char_u *start; - -! start = ptr = ml_get_buf(wp->w_buffer, lnum, FALSE); - while (count <= vcol && *ptr != NUL) - { - count += win_lbr_chartabsize(wp, ptr, count, NULL); - mb_ptr_adv(ptr); - } -! return (int)(ptr - start); - } - #endif - -*** ../vim-7.2.257/src/version.c 2009-09-11 16:17:36.000000000 +0200 ---- src/version.c 2009-09-11 16:45:48.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 258, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -232. You start conversations with, "Have you gotten an ISDN line?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.259 --- a/components/vim/vim72-patches/7.2.259 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,160 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.259 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.259 -Problem: exists() doesn't work properly for an empty aucmd group. -Solution: Change how au_exists() handles a missing pattern. Also add a - test for this. (Bob Hiestand) -Files: src/fileio.c, src/testdir/Makefile, src/testdir/test67.in, - src/testdir/test67.ok - - -*** ../vim-7.2.258/src/fileio.c 2009-09-11 15:04:13.000000000 +0200 ---- src/fileio.c 2009-09-11 16:37:08.000000000 +0200 -*************** -*** 9498,9512 **** - ap = first_autopat[(int)event]; - if (ap == NULL) - goto theend; -- if (pattern == NULL) -- { -- retval = TRUE; -- goto theend; -- } - - /* if pattern is "", special handling is needed which uses curbuf */ - /* for pattern ", fnamecmp() will work fine */ -! if (STRICMP(pattern, "") == 0) - buflocal_buf = curbuf; - - /* Check if there is an autocommand with the given pattern. */ ---- 9498,9507 ---- - ap = first_autopat[(int)event]; - if (ap == NULL) - goto theend; - - /* if pattern is "", special handling is needed which uses curbuf */ - /* for pattern ", fnamecmp() will work fine */ -! if (pattern != NULL && STRICMP(pattern, "") == 0) - buflocal_buf = curbuf; - - /* Check if there is an autocommand with the given pattern. */ -*************** -*** 9515,9523 **** - /* For buffer-local autocommands, fnamecmp() works fine. */ - if (ap->pat != NULL && ap->cmds != NULL - && (group == AUGROUP_ALL || ap->group == group) -! && (buflocal_buf == NULL -! ? fnamecmp(ap->pat, pattern) == 0 -! : ap->buflocal_nr == buflocal_buf->b_fnum)) - { - retval = TRUE; - break; ---- 9510,9519 ---- - /* For buffer-local autocommands, fnamecmp() works fine. */ - if (ap->pat != NULL && ap->cmds != NULL - && (group == AUGROUP_ALL || ap->group == group) -! && (pattern == NULL -! || (buflocal_buf == NULL -! ? fnamecmp(ap->pat, pattern) == 0 -! : ap->buflocal_nr == buflocal_buf->b_fnum))) - { - retval = TRUE; - break; -*** ../vim-7.2.258/src/testdir/Makefile 2009-06-24 18:07:55.000000000 +0200 ---- src/testdir/Makefile 2009-09-11 16:31:33.000000000 +0200 -*************** -*** 22,28 **** - test48.out test49.out test51.out test52.out test53.out \ - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ -! test64.out test65.out test66.out - - SCRIPTS_GUI = test16.out - ---- 22,28 ---- - test48.out test49.out test51.out test52.out test53.out \ - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ -! test64.out test65.out test66.out test67.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.2.258/src/testdir/test67.in 2009-09-11 17:23:47.000000000 +0200 ---- src/testdir/test67.in 2009-09-11 16:43:11.000000000 +0200 -*************** -*** 0 **** ---- 1,33 ---- -+ Test that groups and patterns are tested correctly when calling exists() for -+ autocommands. -+ -+ STARTTEST -+ :so small.vim -+ :let results=[] -+ :augroup auexists -+ :augroup END -+ :call add(results, "##BufEnter: " . exists("##BufEnter")) -+ :call add(results, "#BufEnter: " . exists("#BufEnter")) -+ :au BufEnter * let g:entered=1 -+ :call add(results, "#BufEnter: " . exists("#BufEnter")) -+ :call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter")) -+ :augroup auexists -+ :au BufEnter * let g:entered=1 -+ :augroup END -+ :call add(results, "#auexists#BufEnter: " . exists("#auexists#BufEnter")) -+ :call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test")) -+ :au BufEnter *.test let g:entered=1 -+ :call add(results, "#BufEnter#*.test: " . exists("#BufEnter#*.test")) -+ :edit testfile.test -+ :call add(results, "#BufEnter#: " . exists("#BufEnter#")) -+ :au BufEnter let g:entered=1 -+ :call add(results, "#BufEnter#: " . exists("#BufEnter#")) -+ :edit testfile2.test -+ :call add(results, "#BufEnter#: " . exists("#BufEnter#")) -+ :e test.out -+ :call append(0, results) -+ :$d -+ :w -+ :qa! -+ ENDTEST -+ -*** ../vim-7.2.258/src/testdir/test67.ok 2009-09-11 17:23:47.000000000 +0200 ---- src/testdir/test67.ok 2009-09-11 16:43:15.000000000 +0200 -*************** -*** 0 **** ---- 1,10 ---- -+ ##BufEnter: 1 -+ #BufEnter: 0 -+ #BufEnter: 1 -+ #auexists#BufEnter: 0 -+ #auexists#BufEnter: 1 -+ #BufEnter#*.test: 0 -+ #BufEnter#*.test: 1 -+ #BufEnter#: 0 -+ #BufEnter#: 1 -+ #BufEnter#: 0 -*** ../vim-7.2.258/src/version.c 2009-09-11 16:48:06.000000000 +0200 ---- src/version.c 2009-09-11 17:23:14.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 259, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -234. You started college as a chemistry major, and walk out four years - later as an Internet provider. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.261 --- a/components/vim/vim72-patches/7.2.261 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.261 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.261 -Problem: When deleting lines with a specific folding configuration E38 may - appear. (Shahaf) -Solution: When adjusting nested folds for deleted lines take into account - that they don't start at the top of the enclosing fold. -Files: src/fold.c - - -*** ../vim-7.2.260/src/fold.c 2009-01-06 15:01:58.000000000 +0100 ---- src/fold.c 2009-09-18 14:43:23.000000000 +0200 -*************** -*** 1607,1617 **** - } - else - { -- /* 2, 3, or 5: need to correct nested folds too */ -- foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, -- line2 - fp->fd_top, amount, amount_after); - if (fp->fd_top < top) - { - if (last <= line2) - { - /* 2. fold contains line1, line2 is below fold */ ---- 1607,1617 ---- - } - else - { - if (fp->fd_top < top) - { -+ /* 2 or 3: need to correct nested folds too */ -+ foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, -+ line2 - fp->fd_top, amount, amount_after); - if (last <= line2) - { - /* 2. fold contains line1, line2 is below fold */ -*************** -*** 1628,1634 **** - } - else - { -! /* 5. fold is below line1 and contains line2 */ - if (amount == MAXLNUM) - { - fp->fd_len -= line2 - fp->fd_top + 1; ---- 1628,1638 ---- - } - else - { -! /* 5. fold is below line1 and contains line2; need to -! * correct nested folds too */ -! foldMarkAdjustRecurse(&fp->fd_nested, line1 - fp->fd_top, -! line2 - fp->fd_top, amount, -! amount_after + (fp->fd_top - top)); - if (amount == MAXLNUM) - { - fp->fd_len -= line2 - fp->fd_top + 1; -*** ../vim-7.2.260/src/version.c 2009-09-18 14:58:26.000000000 +0200 ---- src/version.c 2009-09-18 15:14:40.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 261, - /**/ - --- -Emacs is a nice OS - but it lacks a good text editor. -That's why I am using Vim. --Anonymous - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.262 --- a/components/vim/vim72-patches/7.2.262 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.262 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.262 -Problem: When using custom completion for a user command the pattern string - goes beyond the cursor position. (Hari Krishna Dara) -Solution: Truncate the string at the cursor position. -Files: src/ex_getln.c, src/structs.h - - -*** ../vim-7.2.261/src/ex_getln.c 2009-06-24 17:04:40.000000000 +0200 ---- src/ex_getln.c 2009-09-18 16:58:16.000000000 +0200 -*************** -*** 3266,3272 **** - int i, j; - char_u *p1; - char_u *p2; -- int oldlen; - int difflen; - int v; - ---- 3266,3271 ---- -*************** -*** 3291,3297 **** - out_flush(); - - i = (int)(xp->xp_pattern - ccline.cmdbuff); -! oldlen = ccline.cmdpos - i; - - if (type == WILD_NEXT || type == WILD_PREV) - { ---- 3290,3296 ---- - out_flush(); - - i = (int)(xp->xp_pattern - ccline.cmdbuff); -! xp->xp_pattern_len = ccline.cmdpos - i; - - if (type == WILD_NEXT || type == WILD_PREV) - { -*************** -*** 3305,3322 **** - /* - * Translate string into pattern and expand it. - */ -! if ((p1 = addstar(&ccline.cmdbuff[i], oldlen, xp->xp_context)) == NULL) - p2 = NULL; - else - { -! p2 = ExpandOne(xp, p1, vim_strnsave(&ccline.cmdbuff[i], oldlen), - WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE - |options, type); - vim_free(p1); - /* longest match: make sure it is not shorter (happens with :help */ - if (p2 != NULL && type == WILD_LONGEST) - { -! for (j = 0; j < oldlen; ++j) - if (ccline.cmdbuff[i + j] == '*' - || ccline.cmdbuff[i + j] == '?') - break; ---- 3304,3323 ---- - /* - * Translate string into pattern and expand it. - */ -! if ((p1 = addstar(xp->xp_pattern, xp->xp_pattern_len, -! xp->xp_context)) == NULL) - p2 = NULL; - else - { -! p2 = ExpandOne(xp, p1, -! vim_strnsave(&ccline.cmdbuff[i], xp->xp_pattern_len), - WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE - |options, type); - vim_free(p1); - /* longest match: make sure it is not shorter (happens with :help */ - if (p2 != NULL && type == WILD_LONGEST) - { -! for (j = 0; j < xp->xp_pattern_len; ++j) - if (ccline.cmdbuff[i + j] == '*' - || ccline.cmdbuff[i + j] == '?') - break; -*************** -*** 3331,3337 **** - - if (p2 != NULL && !got_int) - { -! difflen = (int)STRLEN(p2) - oldlen; - if (ccline.cmdlen + difflen > ccline.cmdbufflen - 4) - { - v = realloc_cmdbuff(ccline.cmdlen + difflen); ---- 3332,3338 ---- - - if (p2 != NULL && !got_int) - { -! difflen = (int)STRLEN(p2) - xp->xp_pattern_len; - if (ccline.cmdlen + difflen > ccline.cmdbufflen - 4) - { - v = realloc_cmdbuff(ccline.cmdlen + difflen); -*************** -*** 3620,3625 **** ---- 3621,3627 ---- - expand_T *xp; - { - xp->xp_pattern = NULL; -+ xp->xp_pattern_len = 0; - xp->xp_backslash = XP_BS_NONE; - #ifndef BACKSLASH_IN_FILENAME - xp->xp_shell = FALSE; -*************** -*** 4311,4318 **** - } - - /* add star to file name, or convert to regexp if not exp. files. */ -! file_str = addstar(xp->xp_pattern, -! (int)(str + col - xp->xp_pattern), xp->xp_context); - if (file_str == NULL) - return EXPAND_UNSUCCESSFUL; - ---- 4313,4320 ---- - } - - /* add star to file name, or convert to regexp if not exp. files. */ -! xp->xp_pattern_len = (int)(str + col - xp->xp_pattern); -! file_str = addstar(xp->xp_pattern, xp->xp_pattern_len, xp->xp_context); - if (file_str == NULL) - return EXPAND_UNSUCCESSFUL; - -*************** -*** 4781,4787 **** - sprintf((char *)num, "%d", ccline.cmdpos); - args[1] = ccline.cmdbuff; - } -! args[0] = xp->xp_pattern; - args[2] = num; - - /* Save the cmdline, we don't know what the function may do. */ ---- 4783,4789 ---- - sprintf((char *)num, "%d", ccline.cmdpos); - args[1] = ccline.cmdbuff; - } -! args[0] = vim_strnsave(xp->xp_pattern, xp->xp_pattern_len); - args[2] = num; - - /* Save the cmdline, we don't know what the function may do. */ -*************** -*** 4797,4802 **** ---- 4799,4805 ---- - if (ccline.cmdbuff != NULL) - ccline.cmdbuff[ccline.cmdlen] = keep; - -+ vim_free(args[0]); - return ret; - } - -*** ../vim-7.2.261/src/structs.h 2009-07-29 12:09:49.000000000 +0200 ---- src/structs.h 2009-09-18 15:33:15.000000000 +0200 -*************** -*** 432,437 **** ---- 432,438 ---- - { - int xp_context; /* type of expansion */ - char_u *xp_pattern; /* start of item to expand */ -+ int xp_pattern_len; /* bytes in xp_pattern before cursor */ - #if defined(FEAT_USR_CMDS) && defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL) - char_u *xp_arg; /* completion function */ - int xp_scriptID; /* SID for completion function */ -*** ../vim-7.2.261/src/version.c 2009-09-18 15:16:37.000000000 +0200 ---- src/version.c 2009-09-18 17:23:20.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 262, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -252. You vote for foreign officials. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.263 --- a/components/vim/vim72-patches/7.2.263 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,87 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.263 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.263 -Problem: GTK2: when using the -geom argument with an offset from the right - edge and the size is smaller than the default, the Vim window is - not positioned properly. -Solution: Use another function to set the size. (Vitaly Minko) -Files: src/gui_gtk_x11.c - - -*** ../vim-7.2.262/src/gui_gtk_x11.c 2009-09-11 15:46:20.000000000 +0200 ---- src/gui_gtk_x11.c 2009-09-23 15:43:52.000000000 +0200 -*************** -*** 4066,4071 **** ---- 4066,4073 ---- - { - guicolor_T fg_pixel = INVALCOLOR; - guicolor_T bg_pixel = INVALCOLOR; -+ guint pixel_width; -+ guint pixel_height; - - #ifdef HAVE_GTK2 - /* -*************** -*** 4106,4113 **** - unsigned int w, h; - int x = 0; - int y = 0; -- guint pixel_width; -- guint pixel_height; - - mask = XParseGeometry((char *)gui.geom, &x, &y, &w, &h); - ---- 4108,4113 ---- -*************** -*** 4160,4168 **** - } - } - -! gtk_form_set_size(GTK_FORM(gui.formwin), -! (guint)(gui_get_base_width() + Columns * gui.char_width), -! (guint)(gui_get_base_height() + Rows * gui.char_height)); - update_window_manager_hints(0, 0); - - if (foreground_argument != NULL) ---- 4160,4175 ---- - } - } - -! pixel_width = (guint)(gui_get_base_width() + Columns * gui.char_width); -! pixel_height = (guint)(gui_get_base_height() + Rows * gui.char_height); -! #ifdef HAVE_GTK2 -! /* For GTK2 changing the size of the form widget doesn't cause window -! * resizing. */ -! if (gtk_socket_id == 0) -! gtk_window_resize(GTK_WINDOW(gui.mainwin), pixel_width, pixel_height); -! #else -! gtk_form_set_size(GTK_FORM(gui.formwin), pixel_width, pixel_height); -! #endif - update_window_manager_hints(0, 0); - - if (foreground_argument != NULL) -*** ../vim-7.2.262/src/version.c 2009-09-18 17:24:54.000000000 +0200 ---- src/version.c 2009-09-23 17:34:08.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 263, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -267. You get an extra phone line so you can get phone calls. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.264 --- a/components/vim/vim72-patches/7.2.264 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,168 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.264 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.264 -Problem: GTK2: When the Vim window is maximized setting 'columns' or - 'lines' doesn't work. -Solution: Unmaximize the window before setting the size. (Vitaly Minko) -Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro - - -*** ../vim-7.2.263/src/gui.c 2009-07-29 11:10:31.000000000 +0200 ---- src/gui.c 2009-09-23 16:28:09.000000000 +0200 -*************** -*** 1386,1391 **** ---- 1386,1395 ---- - int min_height; - int screen_w; - int screen_h; -+ #ifdef HAVE_GTK2 -+ int un_maximize = mustset; -+ int did_adjust = 0; -+ #endif - - if (!gui.shell_created) - return; -*************** -*** 1425,1446 **** - if (Columns < MIN_COLUMNS) - Columns = MIN_COLUMNS; - width = Columns * gui.char_width + base_width; - } - if ((direction & RESIZE_VERT) && height > screen_h) - { - Rows = (screen_h - base_height) / gui.char_height; - check_shellsize(); - height = Rows * gui.char_height + base_height; - } - } - gui.num_cols = Columns; - gui.num_rows = Rows; - - min_width = base_width + MIN_COLUMNS * gui.char_width; - min_height = base_height + MIN_LINES * gui.char_height; -! # ifdef FEAT_WINDOWS - min_height += tabline_height() * gui.char_height; -! # endif - - gui_mch_set_shellsize(width, height, min_width, min_height, - base_width, base_height, direction); ---- 1429,1475 ---- - if (Columns < MIN_COLUMNS) - Columns = MIN_COLUMNS; - width = Columns * gui.char_width + base_width; -+ #ifdef HAVE_GTK2 -+ ++did_adjust; -+ #endif - } - if ((direction & RESIZE_VERT) && height > screen_h) - { - Rows = (screen_h - base_height) / gui.char_height; - check_shellsize(); - height = Rows * gui.char_height + base_height; -+ #ifdef HAVE_GTK2 -+ ++did_adjust; -+ #endif - } -+ #ifdef HAVE_GTK2 -+ if (did_adjust == 2 || (width + gui.char_width >= screen_w -+ && height + gui.char_height >= screen_h)) -+ /* don't unmaximize if at maximum size */ -+ un_maximize = FALSE; -+ #endif - } - gui.num_cols = Columns; - gui.num_rows = Rows; - - min_width = base_width + MIN_COLUMNS * gui.char_width; - min_height = base_height + MIN_LINES * gui.char_height; -! #ifdef FEAT_WINDOWS - min_height += tabline_height() * gui.char_height; -! #endif -! -! #ifdef HAVE_GTK2 -! if (un_maximize) -! { -! /* If the window size is smaller than the screen unmaximize the -! * window, otherwise resizing won't work. */ -! gui_mch_get_screen_dimensions(&screen_w, &screen_h); -! if ((width + gui.char_width < screen_w -! || height + gui.char_height * 2 < screen_h) -! && gui_mch_maximized()) -! gui_mch_unmaximize(); -! } -! #endif - - gui_mch_set_shellsize(width, height, min_width, min_height, - base_width, base_height, direction); -*** ../vim-7.2.263/src/gui_gtk_x11.c 2009-09-23 17:35:17.000000000 +0200 ---- src/gui_gtk_x11.c 2009-09-23 15:43:52.000000000 +0200 -*************** -*** 4376,4381 **** ---- 4376,4404 ---- - #endif - #endif /* HAVE_GTK2 */ - -+ #if defined(HAVE_GTK2) || defined(PROTO) -+ /* -+ * Return TRUE if the main window is maximized. -+ */ -+ int -+ gui_mch_maximized() -+ { -+ return (gui.mainwin != NULL && gui.mainwin->window != NULL -+ && (gdk_window_get_state(gui.mainwin->window) -+ & GDK_WINDOW_STATE_MAXIMIZED)); -+ } -+ -+ /* -+ * Unmaximize the main window -+ */ -+ void -+ gui_mch_unmaximize() -+ { -+ if (gui.mainwin != NULL) -+ gtk_window_unmaximize(GTK_WINDOW(gui.mainwin)); -+ } -+ #endif -+ - /* - * Set the windows size. - */ -*** ../vim-7.2.263/src/proto/gui_gtk_x11.pro 2007-05-05 19:18:54.000000000 +0200 ---- src/proto/gui_gtk_x11.pro 2009-09-23 15:43:45.000000000 +0200 -*************** -*** 16,21 **** ---- 16,23 ---- - void gui_mch_exit __ARGS((int rc)); - int gui_mch_get_winpos __ARGS((int *x, int *y)); - void gui_mch_set_winpos __ARGS((int x, int y)); -+ int gui_mch_maximized __ARGS((void)); -+ void gui_mch_unmaximize __ARGS((void)); - void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction)); - void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h)); - void gui_mch_settitle __ARGS((char_u *title, char_u *icon)); -*** ../vim-7.2.263/src/version.c 2009-09-23 17:35:17.000000000 +0200 ---- src/version.c 2009-09-23 18:12:21.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 264, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -268. You get up in the morning and go online before getting your coffee. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.265 --- a/components/vim/vim72-patches/7.2.265 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.265 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.265 -Problem: When using ":silent broken" inside try/catch silency may persist. - (dr-dr xp) -Solution: Set msg_silent when there is an error and it's bigger than the - saved value. -Files: src/ex_docmd.c - - -*** ../vim-7.2.264/src/ex_docmd.c 2009-07-09 20:13:59.000000000 +0200 ---- src/ex_docmd.c 2009-09-30 11:40:53.000000000 +0200 -*************** -*** 2695,2701 **** - { - /* messages could be enabled for a serious error, need to check if the - * counters don't become negative */ -! if (!did_emsg) - msg_silent = save_msg_silent; - emsg_silent -= did_esilent; - if (emsg_silent < 0) ---- 2695,2701 ---- - { - /* messages could be enabled for a serious error, need to check if the - * counters don't become negative */ -! if (!did_emsg || msg_silent > save_msg_silent) - msg_silent = save_msg_silent; - emsg_silent -= did_esilent; - if (emsg_silent < 0) -*** ../vim-7.2.264/src/version.c 2009-09-23 18:14:13.000000000 +0200 ---- src/version.c 2009-09-30 13:22:47.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 265, - /**/ - --- -FIRST HEAD: Oh! quick! get the sword out I want to cut his head off. -THIRD HEAD: Oh, cut your own head off. -SECOND HEAD: Yes - do us all a favour. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.266 --- a/components/vim/vim72-patches/7.2.266 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.266 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.266 -Problem: When an expression abbreviation is triggered, the typed character - is unknown. -Solution: Make the typed character available in v:char. -Files: runtime/doc/map.txt, src/eval.c, src/getchar.c, src/ops.c, - src/proto/eval.pro - - -*** ../vim-7.2.265/runtime/doc/map.txt 2008-08-09 19:36:49.000000000 +0200 ---- runtime/doc/map.txt 2009-09-23 19:39:19.000000000 +0200 -*************** -*** 224,229 **** ---- 224,233 ---- - The result of the InsertDot() function will be inserted. It could check the - text before the cursor and start omni completion when some condition is met. - -+ For abbreviations |v:char| is set to the character that was typed to trigger -+ the abbreviation. You can use this to decide how to expand the {lhs}. You -+ can't change v:char and you should not insert it. -+ - Be very careful about side effects! The expression is evaluated while - obtaining characters, you may very well make the command dysfunctional. - For this reason the following is blocked: -*** ../vim-7.2.265/src/eval.c 2009-06-03 14:25:47.000000000 +0200 ---- src/eval.c 2009-09-23 19:36:32.000000000 +0200 -*************** -*** 18101,18106 **** ---- 18101,18131 ---- - } - - /* -+ * Set v:char to character "c". -+ */ -+ void -+ set_vim_var_char(c) -+ int c; -+ { -+ #ifdef FEAT_MBYTE -+ char_u buf[MB_MAXBYTES]; -+ #else -+ char_u buf[2]; -+ #endif -+ -+ #ifdef FEAT_MBYTE -+ if (has_mbyte) -+ buf[(*mb_char2bytes)(c, buf)] = NUL; -+ else -+ #endif -+ { -+ buf[0] = c; -+ buf[1] = NUL; -+ } -+ set_vim_var_string(VV_CHAR, buf, -1); -+ } -+ -+ /* - * Set v:count to "count" and v:count1 to "count1". - * When "set_prevcount" is TRUE first set v:prevcount from v:count. - */ -*** ../vim-7.2.265/src/getchar.c 2009-07-14 13:44:43.000000000 +0200 ---- src/getchar.c 2009-09-23 19:35:54.000000000 +0200 -*************** -*** 129,135 **** - static void validate_maphash __ARGS((void)); - static void showmap __ARGS((mapblock_T *mp, int local)); - #ifdef FEAT_EVAL -! static char_u *eval_map_expr __ARGS((char_u *str)); - #endif - - /* ---- 129,135 ---- - static void validate_maphash __ARGS((void)); - static void showmap __ARGS((mapblock_T *mp, int local)); - #ifdef FEAT_EVAL -! static char_u *eval_map_expr __ARGS((char_u *str, int c)); - #endif - - /* -*************** -*** 2446,2452 **** - if (tabuf.typebuf_valid) - { - vgetc_busy = 0; -! s = eval_map_expr(mp->m_str); - vgetc_busy = save_vgetc_busy; - } - else ---- 2446,2452 ---- - if (tabuf.typebuf_valid) - { - vgetc_busy = 0; -! s = eval_map_expr(mp->m_str, NUL); - vgetc_busy = save_vgetc_busy; - } - else -*************** -*** 4367,4375 **** - * abbreviation, but is not inserted into the input stream. - */ - j = 0; -- /* special key code, split up */ - if (c != Ctrl_RSB) - { - if (IS_SPECIAL(c) || c == K_SPECIAL) - { - tb[j++] = K_SPECIAL; ---- 4367,4375 ---- - * abbreviation, but is not inserted into the input stream. - */ - j = 0; - if (c != Ctrl_RSB) - { -+ /* special key code, split up */ - if (IS_SPECIAL(c) || c == K_SPECIAL) - { - tb[j++] = K_SPECIAL; -*************** -*** 4398,4404 **** - } - #ifdef FEAT_EVAL - if (mp->m_expr) -! s = eval_map_expr(mp->m_str); - else - #endif - s = mp->m_str; ---- 4398,4404 ---- - } - #ifdef FEAT_EVAL - if (mp->m_expr) -! s = eval_map_expr(mp->m_str, c); - else - #endif - s = mp->m_str; -*************** -*** 4434,4441 **** - * special characters. - */ - static char_u * -! eval_map_expr(str) - char_u *str; - { - char_u *res; - char_u *p; ---- 4434,4442 ---- - * special characters. - */ - static char_u * -! eval_map_expr(str, c) - char_u *str; -+ int c; /* NUL or typed character for abbreviation */ - { - char_u *res; - char_u *p; -*************** -*** 4452,4457 **** ---- 4453,4459 ---- - #ifdef FEAT_EX_EXTRA - ++ex_normal_lock; - #endif -+ set_vim_var_char(c); /* set v:char to the typed character */ - save_cursor = curwin->w_cursor; - p = eval_to_string(str, NULL, FALSE); - --textlock; -*** ../vim-7.2.265/src/ops.c 2009-07-01 18:04:30.000000000 +0200 ---- src/ops.c 2009-09-23 19:11:40.000000000 +0200 -*************** -*** 4473,4483 **** - int use_sandbox = was_set_insecurely((char_u *)"formatexpr", - OPT_LOCAL); - int r; -- #ifdef FEAT_MBYTE -- char_u buf[MB_MAXBYTES]; -- #else -- char_u buf[2]; -- #endif - - /* - * Set v:lnum to the first line number and v:count to the number of lines. ---- 4473,4478 ---- -*************** -*** 4485,4501 **** - */ - set_vim_var_nr(VV_LNUM, lnum); - set_vim_var_nr(VV_COUNT, count); -! -! #ifdef FEAT_MBYTE -! if (has_mbyte) -! buf[(*mb_char2bytes)(c, buf)] = NUL; -! else -! #endif -! { -! buf[0] = c; -! buf[1] = NUL; -! } -! set_vim_var_string(VV_CHAR, buf, -1); - - /* - * Evaluate the function. ---- 4480,4486 ---- - */ - set_vim_var_nr(VV_LNUM, lnum); - set_vim_var_nr(VV_COUNT, count); -! set_vim_var_char(c); - - /* - * Evaluate the function. -*** ../vim-7.2.265/src/proto/eval.pro 2008-11-20 16:11:03.000000000 +0100 ---- src/proto/eval.pro 2009-09-23 19:36:30.000000000 +0200 -*************** -*** 61,66 **** ---- 61,67 ---- - long get_vim_var_nr __ARGS((int idx)); - char_u *get_vim_var_str __ARGS((int idx)); - list_T *get_vim_var_list __ARGS((int idx)); -+ void set_vim_var_char __ARGS((int c)); - void set_vcount __ARGS((long count, long count1, int set_prevcount)); - void set_vim_var_string __ARGS((int idx, char_u *val, int len)); - void set_vim_var_list __ARGS((int idx, list_T *val)); -*** ../vim-7.2.265/src/version.c 2009-09-30 13:23:57.000000000 +0200 ---- src/version.c 2009-09-30 15:11:29.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 266, - /**/ - --- -Life would be so much easier if we could just look at the source code. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.267 --- a/components/vim/vim72-patches/7.2.267 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.267 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.267 -Problem: Crash for narrow window and double-width character. -Solution: Check for zero width. (Taro Muraoka) -Files: src/charset.c - - -*** ../vim-7.2.266/src/charset.c 2009-09-11 14:02:25.000000000 +0200 ---- src/charset.c 2009-10-07 16:17:27.000000000 +0200 -*************** -*** 1218,1223 **** ---- 1218,1225 ---- - if ((int)vcol == width1 - 1) - return TRUE; - width2 = width1 + win_col_off2(wp); -+ if (width2 <= 0) -+ return FALSE; - return ((vcol - width1) % width2 == width2 - 1); - } - #endif /* FEAT_MBYTE */ -*** ../vim-7.2.266/src/version.c 2009-09-30 15:15:33.000000000 +0200 ---- src/version.c 2009-10-07 16:19:05.000000000 +0200 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 267, - /**/ - --- -You got to work at a mill? Lucky! I got sent back to work in the -acid-mines for my daily crust of stale bread... which not even the -birds would eat. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.268 --- a/components/vim/vim72-patches/7.2.268 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.268 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.268 -Problem: Crash when using Python to set cursor beyond end of line. - (winterTTr) -Solution: Check the column to be valid. -Files: src/if_python.c - - -*** ../vim-7.2.267/src/if_python.c 2009-07-09 20:06:30.000000000 +0200 ---- src/if_python.c 2009-10-10 14:49:10.000000000 +0200 -*************** -*** 2058,2063 **** ---- 2058,2064 ---- - { - long lnum; - long col; -+ long len; - - if (!PyArg_Parse(val, "(ll)", &lnum, &col)) - return -1; -*************** -*** 2072,2081 **** - if (VimErrorCheck()) - return -1; - -! /* NO CHECK ON COLUMN - SEEMS NOT TO MATTER */ - - this->win->w_cursor.lnum = lnum; - this->win->w_cursor.col = col; - update_screen(VALID); - - return 0; ---- 2073,2088 ---- - if (VimErrorCheck()) - return -1; - -! /* When column is out of range silently correct it. */ -! len = STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE)); -! if (col > len) -! col = len; - - this->win->w_cursor.lnum = lnum; - this->win->w_cursor.col = col; -+ #ifdef FEAT_VIRTUALEDIT -+ this->win->w_cursor.coladd = 0; -+ #endif - update_screen(VALID); - - return 0; -*** ../vim-7.2.267/src/version.c 2009-10-07 16:19:52.000000000 +0200 ---- src/version.c 2009-11-03 11:42:08.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 268, - /**/ - --- -VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur - and his knights seemed hopeless, when, suddenly ... the animator - suffered a fatal heart attack. -ANIMATOR: Aaaaagh! -VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could - continue. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.269 --- a/components/vim/vim72-patches/7.2.269 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,261 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.269 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.269 -Problem: Many people struggle to find out why Vim startup is slow. -Solution: Add the --startuptime command line flag. -Files: runtime/doc/starting.txt, src/globals.h, src/feature.h, - src/main.c, src/macros.h - - -*** ../vim-7.2.268/runtime/doc/starting.txt 2008-11-09 13:43:25.000000000 +0100 ---- runtime/doc/starting.txt 2009-10-25 11:57:51.000000000 +0100 -*************** -*** 144,149 **** ---- 144,156 ---- - -u NORC no yes - --noplugin yes no - -+ --startuptime={fname} *--startuptime* -+ During startup write timing messages to the file {fname}. -+ This can be used to find out where time is spent while loading -+ your .vimrc and plugins. -+ When {fname} already exists new messages are appended. -+ {only when compiled with this feature} -+ - *--literal* - --literal Take file names literally, don't expand wildcards. Not needed - for Unix, because Vim always takes file names literally (the -*************** -*** 471,476 **** ---- 487,493 ---- - window title and copy/paste using the X clipboard. This - avoids a long startup time when running Vim in a terminal - emulator and the connection to the X server is slow. -+ See |--startuptime| to find out if affects you. - Only makes a difference on Unix or VMS, when compiled with the - |+X11| feature. Otherwise it's ignored. - To disable the connection only for specific terminals, see the -*** ../vim-7.2.268/src/globals.h 2009-07-29 12:09:49.000000000 +0200 ---- src/globals.h 2009-10-10 15:14:31.000000000 +0200 -*************** -*** 1567,1572 **** ---- 1567,1576 ---- - /* For undo we need to know the lowest time possible. */ - EXTERN time_t starttime; - -+ #ifdef STARTUPTIME -+ EXTERN FILE *time_fd INIT(= NULL); /* where to write startup timing */ -+ #endif -+ - /* - * Some compilers warn for not using a return value, but in some situations we - * can't do anything useful with the value. Assign to this variable to avoid -*** ../vim-7.2.268/src/feature.h 2008-11-09 13:43:25.000000000 +0100 ---- src/feature.h 2009-10-10 16:16:19.000000000 +0200 -*************** -*** 844,853 **** - /* #define DEBUG */ - - /* -! * STARTUPTIME Time the startup process. Writes a "vimstartup" file -! * with timestamps. - */ -! /* #define STARTUPTIME "vimstartup" */ - - /* - * MEM_PROFILE Debugging of memory allocation and freeing. ---- 844,857 ---- - /* #define DEBUG */ - - /* -! * STARTUPTIME Time the startup process. Writes a file with -! * timestamps. - */ -! #if defined(FEAT_NORMAL) \ -! && ((defined(HAVE_GETTIMEOFDAY) && defined(HAVE_SYS_TIME_H)) \ -! || defined(WIN3264)) -! # define STARTUPTIME 1 -! #endif - - /* - * MEM_PROFILE Debugging of memory allocation and freeing. -*** ../vim-7.2.268/src/main.c 2009-05-26 22:58:43.000000000 +0200 ---- src/main.c 2009-10-10 16:18:32.000000000 +0200 -*************** -*** 130,139 **** - #endif - - -- #ifdef STARTUPTIME -- static FILE *time_fd = NULL; -- #endif -- - /* - * Different types of error messages. - */ ---- 130,135 ---- -*************** -*** 173,178 **** ---- 169,177 ---- - char_u *fname = NULL; /* file name from command line */ - mparm_T params; /* various parameters passed between - * main() and other functions. */ -+ #ifdef STARTUPTIME -+ int i; -+ #endif - - /* - * Do any system-specific initialisations. These can NOT use IObuff or -*************** -*** 203,210 **** - #endif - - #ifdef STARTUPTIME -! time_fd = mch_fopen(STARTUPTIME, "a"); -! TIME_MSG("--- VIM STARTING ---"); - #endif - starttime = time(NULL); - ---- 202,216 ---- - #endif - - #ifdef STARTUPTIME -! for (i = 1; i < argc; ++i) -! { -! if (STRNICMP(argv[i], "--startuptime=", 14) == 0) -! { -! time_fd = mch_fopen(argv[i] + 14, "a"); -! TIME_MSG("--- VIM STARTING ---"); -! break; -! } -! } - #endif - starttime = time(NULL); - -*************** -*** 1150,1155 **** ---- 1156,1173 ---- - cursor_on(); - - do_redraw = FALSE; -+ -+ #ifdef STARTUPTIME -+ /* Now that we have drawn the first screen all the startup stuff -+ * has been done, close any file for startup messages. */ -+ if (time_fd != NULL) -+ { -+ TIME_MSG("first screen update"); -+ TIME_MSG("--- VIM STARTED ---"); -+ fclose(time_fd); -+ time_fd = NULL; -+ } -+ #endif - } - #ifdef FEAT_GUI - if (need_mouse_correct) -*************** -*** 1743,1748 **** ---- 1761,1770 ---- - /* already processed, skip */ - } - #endif -+ else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0) -+ { -+ /* already processed, skip */ -+ } - else - { - if (argv[0][argv_idx]) -*************** -*** 3211,3216 **** ---- 3233,3252 ---- - - static struct timeval prev_timeval; - -+ # ifdef WIN3264 -+ /* -+ * Windows doesn't have gettimeofday(), although it does have struct timeval. -+ */ -+ static int -+ gettimeofday(struct timeval *tv, char *dummy) -+ { -+ long t = clock(); -+ tv->tv_sec = t / CLOCKS_PER_SEC; -+ tv->tv_usec = (t - tv->tv_sec * CLOCKS_PER_SEC) * 1000000 / CLOCKS_PER_SEC; -+ return 0; -+ } -+ # endif -+ - /* - * Save the previous time before doing something that could nest. - * set "*tv_rel" to the time elapsed so far. -*************** -*** 3299,3318 **** - } - } - -- # ifdef WIN3264 -- /* -- * Windows doesn't have gettimeofday(), although it does have struct timeval. -- */ -- int -- gettimeofday(struct timeval *tv, char *dummy) -- { -- long t = clock(); -- tv->tv_sec = t / CLOCKS_PER_SEC; -- tv->tv_usec = (t - tv->tv_sec * CLOCKS_PER_SEC) * 1000000 / CLOCKS_PER_SEC; -- return 0; -- } -- # endif -- - #endif - - #if defined(FEAT_CLIENTSERVER) || defined(PROTO) ---- 3335,3340 ---- -*** ../vim-7.2.268/src/macros.h 2009-05-17 13:30:58.000000000 +0200 ---- src/macros.h 2009-10-10 15:19:07.000000000 +0200 -*************** -*** 243,249 **** - #endif - - #ifdef STARTUPTIME -! # define TIME_MSG(s) time_msg(s, NULL) - #else - # define TIME_MSG(s) - #endif ---- 243,249 ---- - #endif - - #ifdef STARTUPTIME -! # define TIME_MSG(s) { if (time_fd != NULL) time_msg(s, NULL); } - #else - # define TIME_MSG(s) - #endif -*** ../vim-7.2.268/src/version.c 2009-11-03 11:43:05.000000000 +0100 ---- src/version.c 2009-11-03 12:06:31.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 269, - /**/ - --- -BEDEVERE: Look! It's the old man from scene 24 - what's he Doing here? -ARTHUR: He is the keeper of the Bridge. He asks each traveler five - questions ... -GALAHAD: Three questions. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.270 --- a/components/vim/vim72-patches/7.2.270 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.270 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.270 -Problem: Using ":@c" when the c register contains a CR causes the rest to - be executed later. (Dexter Douglas) -Solution: Don't check for typeahead to start with ':', keep executing - commands until all added typeahead has been used. -Files: src/ex_docmd.c - - -*** ../vim-7.2.269/src/ex_docmd.c 2009-09-30 13:23:57.000000000 +0200 ---- src/ex_docmd.c 2009-10-28 12:06:54.000000000 +0100 -*************** -*** 8358,8363 **** ---- 8358,8364 ---- - exarg_T *eap; - { - int c; -+ int prev_len = typebuf.tb_len; - - curwin->w_cursor.lnum = eap->line2; - -*************** -*** 8383,8393 **** - - /* - * Execute from the typeahead buffer. -! * Originally this didn't check for the typeahead buffer to be empty, -! * thus could read more Ex commands from stdin. It's not clear why, -! * it is certainly unexpected. - */ -! while ((!stuff_empty() || typebuf.tb_len > 0) && vpeekc() == ':') - (void)do_cmdline(NULL, getexline, NULL, DOCMD_NOWAIT|DOCMD_VERBOSE); - - exec_from_reg = save_efr; ---- 8384,8393 ---- - - /* - * Execute from the typeahead buffer. -! * Continue until the stuff buffer is empty and all added characters -! * have been consumed. - */ -! while (!stuff_empty() || typebuf.tb_len > prev_len) - (void)do_cmdline(NULL, getexline, NULL, DOCMD_NOWAIT|DOCMD_VERBOSE); - - exec_from_reg = save_efr; -*** ../vim-7.2.269/src/version.c 2009-11-03 12:10:39.000000000 +0100 ---- src/version.c 2009-11-03 12:32:47.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 270, - /**/ - --- -To the optimist, the glass is half full. -To the pessimist, the glass is half empty. -To the engineer, the glass is twice as big as it needs to be. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.271 --- a/components/vim/vim72-patches/7.2.271 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,92 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.271 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.271 -Problem: Using freed memory in Motif GUI version when making a choice. -Solution: Free memory only after using it. (Dominique Pelle) -Files: src/gui_xmdlg.c - - -*** ../vim-7.2.270/src/gui_xmdlg.c 2009-05-21 23:25:38.000000000 +0200 ---- src/gui_xmdlg.c 2009-10-28 21:56:15.000000000 +0100 -*************** -*** 10,16 **** - /* - * (C) 2001,2005 by Marcin Dalecki - * -! * Implementation of dialogue functions for the Motif GUI variant. - * - * Note about Lesstif: Apparently lesstif doesn't get the widget layout right, - * when using a dynamic scrollbar policy. ---- 10,16 ---- - /* - * (C) 2001,2005 by Marcin Dalecki - * -! * Implementation of dialog functions for the Motif GUI variant. - * - * Note about Lesstif: Apparently lesstif doesn't get the widget layout right, - * when using a dynamic scrollbar policy. -*************** -*** 633,648 **** - data->sel[which] = XtNewString(sel); - else - { -- XtFree(data->sel[which]); - if (!strcmp(data->sel[which], sel)) - { - /* unselecting current selection */ - data->sel[which] = NULL; - if (w) - XmListDeselectItem(w, call_data->item); - } - else - data->sel[which] = XtNewString(sel); - } - XtFree(sel); - ---- 633,651 ---- - data->sel[which] = XtNewString(sel); - else - { - if (!strcmp(data->sel[which], sel)) - { - /* unselecting current selection */ -+ XtFree(data->sel[which]); - data->sel[which] = NULL; - if (w) - XmListDeselectItem(w, call_data->item); - } - else -+ { -+ XtFree(data->sel[which]); - data->sel[which] = XtNewString(sel); -+ } - } - XtFree(sel); - -*** ../vim-7.2.270/src/version.c 2009-11-03 12:38:50.000000000 +0100 ---- src/version.c 2009-11-03 12:48:26.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 271, - /**/ - --- -ROBIN: (warily) And if you get a question wrong? -ARTHUR: You are cast into the Gorge of Eternal Peril. -ROBIN: Oh ... wacho! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.272 --- a/components/vim/vim72-patches/7.2.272 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.272 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.272 -Problem: "_.svz" is not recognized as a swap file. (David M. Besonen) -Solution: Accept .s[uvw][a-z] as a swap file name extension. -Files: src/memline.c - - -*** ../vim-7.2.271/src/memline.c 2009-04-22 15:56:27.000000000 +0200 ---- src/memline.c 2009-10-29 20:55:08.000000000 +0100 -*************** -*** 864,884 **** - recoverymode = TRUE; - called_from_main = (curbuf->b_ml.ml_mfp == NULL); - attr = hl_attr(HLF_E); -! /* -! * If the file name ends in ".sw?" we use it directly. -! * Otherwise a search is done to find the swap file(s). -! */ - fname = curbuf->b_fname; - if (fname == NULL) /* When there is no file name */ - fname = (char_u *)""; - len = (int)STRLEN(fname); - if (len >= 4 && - #if defined(VMS) || defined(RISCOS) -! STRNICMP(fname + len - 4, "_sw" , 3) - #else -! STRNICMP(fname + len - 4, ".sw" , 3) - #endif -! == 0) - { - directly = TRUE; - fname = vim_strsave(fname); /* make a copy for mf_open() */ ---- 864,887 ---- - recoverymode = TRUE; - called_from_main = (curbuf->b_ml.ml_mfp == NULL); - attr = hl_attr(HLF_E); -! -! /* -! * If the file name ends in ".s[uvw][a-z]" we assume this is the swap file. -! * Otherwise a search is done to find the swap file(s). -! */ - fname = curbuf->b_fname; - if (fname == NULL) /* When there is no file name */ - fname = (char_u *)""; - len = (int)STRLEN(fname); - if (len >= 4 && - #if defined(VMS) || defined(RISCOS) -! STRNICMP(fname + len - 4, "_s" , 2) - #else -! STRNICMP(fname + len - 4, ".s" , 2) - #endif -! == 0 -! && vim_strchr((char_u *)"UVWuvw", fname[len - 2]) != NULL -! && ASCII_ISALPHA(fname[len - 1])) - { - directly = TRUE; - fname = vim_strsave(fname); /* make a copy for mf_open() */ -*** ../vim-7.2.271/src/version.c 2009-11-03 12:53:44.000000000 +0100 ---- src/version.c 2009-11-03 13:02:51.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 272, - /**/ - --- -Sorry, no fortune today. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.273 --- a/components/vim/vim72-patches/7.2.273 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.273 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.273 -Problem: Crash with redir to unknown array. (Christian Brabandt) -Solution: Don't assign the redir result when there was an error. -Files: src/eval.c - - -*** ../vim-7.2.272/src/eval.c 2009-09-30 15:15:33.000000000 +0200 ---- src/eval.c 2009-11-03 12:05:07.000000000 +0100 -*************** -*** 988,1000 **** - int err; - typval_T tv; - -! /* Make sure a valid variable name is specified */ - if (!eval_isnamec1(*name)) - { - EMSG(_(e_invarg)); - return FAIL; - } - - redir_varname = vim_strsave(name); - if (redir_varname == NULL) - return FAIL; ---- 988,1001 ---- - int err; - typval_T tv; - -! /* Catch a bad name early. */ - if (!eval_isnamec1(*name)) - { - EMSG(_(e_invarg)); - return FAIL; - } - -+ /* Make a copy of the name, it is used in redir_lval until redir ends. */ - redir_varname = vim_strsave(name); - if (redir_varname == NULL) - return FAIL; -*************** -*** 1019,1024 **** ---- 1020,1026 ---- - EMSG(_(e_trailing)); - else - EMSG(_(e_invarg)); -+ redir_endp = NULL; /* don't store a value, only cleanup */ - var_redir_stop(); - return FAIL; - } -*************** -*** 1037,1042 **** ---- 1039,1045 ---- - did_emsg |= save_emsg; - if (err) - { -+ redir_endp = NULL; /* don't store a value, only cleanup */ - var_redir_stop(); - return FAIL; - } -*************** -*** 1085,1090 **** ---- 1088,1094 ---- - - /* - * Stop redirecting command output to a variable. -+ * Frees the allocated memory. - */ - void - var_redir_stop() -*************** -*** 1093,1106 **** - - if (redir_lval != NULL) - { -! /* Append the trailing NUL. */ -! ga_append(&redir_ga, NUL); - -! /* Assign the text to the variable. */ -! tv.v_type = VAR_STRING; -! tv.vval.v_string = redir_ga.ga_data; -! set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); -! vim_free(tv.vval.v_string); - - clear_lval(redir_lval); - vim_free(redir_lval); ---- 1097,1114 ---- - - if (redir_lval != NULL) - { -! /* If there was no error: assign the text to the variable. */ -! if (redir_endp != NULL) -! { -! ga_append(&redir_ga, NUL); /* Append the trailing NUL. */ -! tv.v_type = VAR_STRING; -! tv.vval.v_string = redir_ga.ga_data; -! set_var_lval(redir_lval, redir_endp, &tv, FALSE, (char_u *)"."); -! } - -! /* free the collected output */ -! vim_free(redir_ga.ga_data); -! redir_ga.ga_data = NULL; - - clear_lval(redir_lval); - vim_free(redir_lval); -*** ../vim-7.2.272/src/version.c 2009-11-03 13:06:03.000000000 +0100 ---- src/version.c 2009-11-03 14:24:06.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 273, - /**/ - --- -Permission is granted to read this message out aloud on Kings Cross Road, -London, under the condition that the orator is properly dressed. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.274 --- a/components/vim/vim72-patches/7.2.274 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.274 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.274 -Problem: Syntax folding doesn't work properly when adding a comment. -Solution: Fix it and add a test. (Lech Lorens) -Files: src/fold.c, src/testdir/test45.in, src/testdir/test45.ok - - -*** ../vim-7.2.273/src/fold.c 2009-09-18 15:16:37.000000000 +0200 ---- src/fold.c 2009-11-03 12:36:37.000000000 +0100 -*************** -*** 2256,2261 **** ---- 2256,2295 ---- - } - } - -+ /* -+ * If folding is defined by the syntax, it is possible that a change in -+ * one line will cause all sub-folds of the current fold to change (e.g., -+ * closing a C-style comment can cause folds in the subsequent lines to -+ * appear). To take that into account we should adjust the value of "bot" -+ * to point to the end of the current fold: -+ */ -+ if (foldlevelSyntax == getlevel) -+ { -+ garray_T *gap = &wp->w_folds; -+ fold_T *fp = NULL; -+ int current_fdl = 0; -+ linenr_T fold_start_lnum = 0; -+ linenr_T lnum_rel = fline.lnum; -+ -+ while (current_fdl < fline.lvl) -+ { -+ if (!foldFind(gap, lnum_rel, &fp)) -+ break; -+ ++current_fdl; -+ -+ fold_start_lnum += fp->fd_top; -+ gap = &fp->fd_nested; -+ lnum_rel -= fp->fd_top; -+ } -+ if (fp != NULL && current_fdl == fline.lvl) -+ { -+ linenr_T fold_end_lnum = fold_start_lnum + fp->fd_len; -+ -+ if (fold_end_lnum > bot) -+ bot = fold_end_lnum; -+ } -+ } -+ - start = fline.lnum; - end = bot; - /* Do at least one line. */ -*** ../vim-7.2.273/src/testdir/test45.in 2007-09-25 17:58:43.000000000 +0200 ---- src/testdir/test45.in 2009-11-03 12:22:38.000000000 +0100 -*************** -*** 28,36 **** - k:call append("$", foldlevel(".")) - :" test syntax folding - :set fdm=syntax fdl=0 -! :syn region Hup start="dd" end="hh" fold - Gzk:call append("$", "folding " . getline(".")) - k:call append("$", getline(".")) - :" test expression folding - :fun Flvl() - let l = getline(v:lnum) ---- 28,41 ---- - k:call append("$", foldlevel(".")) - :" test syntax folding - :set fdm=syntax fdl=0 -! :syn region Hup start="dd" end="ii" fold contains=Fd1,Fd2,Fd3 -! :syn region Fd1 start="ee" end="ff" fold contained -! :syn region Fd2 start="gg" end="hh" fold contained -! :syn region Fd3 start="commentstart" end="commentend" fold contained - Gzk:call append("$", "folding " . getline(".")) - k:call append("$", getline(".")) -+ jAcommentstart Acommentend:set fdl=1 -+ 3j:call append("$", getline(".")) - :" test expression folding - :fun Flvl() - let l = getline(v:lnum) -*** ../vim-7.2.273/src/testdir/test45.ok 2004-06-13 17:47:37.000000000 +0200 ---- src/testdir/test45.ok 2009-11-03 12:22:50.000000000 +0100 -*************** -*** 8,15 **** - 0 - indent 2 - 1 -! folding 8 hh - 3 cc - expr 2 - 1 - 2 ---- 8,16 ---- - 0 - indent 2 - 1 -! folding 9 ii - 3 cc -+ 7 gg - expr 2 - 1 - 2 -*** ../vim-7.2.273/src/version.c 2009-11-03 14:26:29.000000000 +0100 ---- src/version.c 2009-11-03 14:44:21.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 274, - /**/ - --- -BRIDGEKEEPER: What is your favorite colour? -LAUNCELOT: Blue. -BRIDGEKEEPER: Right. Off you go. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.275 --- a/components/vim/vim72-patches/7.2.275 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.275 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.275 -Problem: Warning for unused argument and comparing signed and unsigned. -Solution: Add type cast. -Files: src/memline.c - - -*** ../vim-7.2.274/src/memline.c 2009-11-03 13:06:03.000000000 +0100 ---- src/memline.c 2009-10-29 20:55:08.000000000 +0100 -*************** -*** 1285,1291 **** - for (i = 0; i < dp->db_line_count; ++i) - { - txt_start = (dp->db_index[i] & DB_INDEX_MASK); -! if (txt_start <= HEADER_SIZE - || txt_start >= (int)dp->db_txt_end) - { - p = (char_u *)"???"; ---- 1285,1291 ---- - for (i = 0; i < dp->db_line_count; ++i) - { - txt_start = (dp->db_index[i] & DB_INDEX_MASK); -! if (txt_start <= (int)HEADER_SIZE - || txt_start >= (int)dp->db_txt_end) - { - p = (char_u *)"???"; -*************** -*** 1296,1302 **** - ml_append(lnum++, p, (colnr_T)0, TRUE); - } - if (has_error) -! ml_append(lnum++, (char_u *)_("???END"), (colnr_T)0, TRUE); - } - } - } ---- 1296,1303 ---- - ml_append(lnum++, p, (colnr_T)0, TRUE); - } - if (has_error) -! ml_append(lnum++, (char_u *)_("???END"), -! (colnr_T)0, TRUE); - } - } - } -*************** -*** 3576,3586 **** - * Make swap file name out of the file name and a directory name. - * Returns pointer to allocated memory or NULL. - */ -- /*ARGSUSED*/ - char_u * - makeswapname(fname, ffname, buf, dir_name) - char_u *fname; -! char_u *ffname; - buf_T *buf; - char_u *dir_name; - { ---- 3577,3586 ---- - * Make swap file name out of the file name and a directory name. - * Returns pointer to allocated memory or NULL. - */ - char_u * - makeswapname(fname, ffname, buf, dir_name) - char_u *fname; -! char_u *ffname UNUSED; - buf_T *buf; - char_u *dir_name; - { -*** ../vim-7.2.274/src/version.c 2009-11-03 14:46:35.000000000 +0100 ---- src/version.c 2009-11-03 15:28:33.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 275, - /**/ - --- -BRIDGEKEEPER: What is your favorite colour? -GAWAIN: Blue ... No yelloooooww! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.276 --- a/components/vim/vim72-patches/7.2.276 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.276 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.276 -Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado) -Solution: Check for the character to be < 256. Also make it possible to - specify a range of multi-byte characters. (Lech Lorens) -Files: src/charset.c - - -*** ../vim-7.2.275/src/charset.c 2009-10-07 16:19:52.000000000 +0200 ---- src/charset.c 2009-11-03 12:46:12.000000000 +0100 -*************** -*** 187,195 **** - if (VIM_ISDIGIT(*p)) - c2 = getdigits(&p); - else - c2 = *p++; - } -! if (c <= 0 || (c2 < c && c2 != -1) || c2 >= 256 - || !(*p == NUL || *p == ',')) - return FAIL; - ---- 187,200 ---- - if (VIM_ISDIGIT(*p)) - c2 = getdigits(&p); - else -+ #ifdef FEAT_MBYTE -+ if (has_mbyte) -+ c2 = mb_ptr2char_adv(&p); -+ else -+ #endif - c2 = *p++; - } -! if (c <= 0 || c >= 256 || (c2 < c && c2 != -1) || c2 >= 256 - || !(*p == NUL || *p == ',')) - return FAIL; - -*** ../vim-7.2.275/src/version.c 2009-11-03 15:32:58.000000000 +0100 ---- src/version.c 2009-11-03 16:03:18.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 276, - /**/ - --- -BRIDGEKEEPER: What is your favorite editor? -GAWAIN: Emacs ... No, Viiiiiiiiiiimmmmmmm! - "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.277 --- a/components/vim/vim72-patches/7.2.277 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.277 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.277 -Problem: CTRL-Y in a diff'ed window may move the cursor outside of the - window. (Lech Lorens) -Solution: Limit the number of filler lines to the height of the window. - Don't reset filler lines to zero for an empty buffer. -Files: src/move.c - - -*** ../vim-7.2.276/src/move.c 2009-05-15 21:31:11.000000000 +0200 ---- src/move.c 2009-11-03 14:39:55.000000000 +0100 -*************** -*** 183,191 **** - if (curwin->w_topline != 1) - redraw_later(NOT_VALID); - curwin->w_topline = 1; -- #ifdef FEAT_DIFF -- curwin->w_topfill = 0; -- #endif - curwin->w_botline = 2; - curwin->w_valid |= VALID_BOTLINE|VALID_BOTLINE_AP; - #ifdef FEAT_SCROLLBIND ---- 183,188 ---- -*************** -*** 1257,1263 **** - while (line_count-- > 0) - { - #ifdef FEAT_DIFF -! if (curwin->w_topfill < diff_check(curwin, curwin->w_topline)) - { - ++curwin->w_topfill; - ++done; ---- 1254,1261 ---- - while (line_count-- > 0) - { - #ifdef FEAT_DIFF -! if (curwin->w_topfill < diff_check(curwin, curwin->w_topline) -! && curwin->w_topfill < curwin->w_height - 1) - { - ++curwin->w_topfill; - ++done; -*** ../vim-7.2.276/src/version.c 2009-11-03 16:03:59.000000000 +0100 ---- src/version.c 2009-11-03 16:22:04.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 277, - /**/ - --- -SIGFUN -- signature too funny (core dumped) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.278 --- a/components/vim/vim72-patches/7.2.278 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.278 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.278 -Problem: Using magic number in the folding code. -Solution: Use the defined MAX_LEVEL. -Files: src/fold.c - - -*** ../vim-7.2.277/src/fold.c 2009-11-03 14:46:35.000000000 +0100 ---- src/fold.c 2009-11-03 12:36:37.000000000 +0100 -*************** -*** 1932,1938 **** - #ifdef FEAT_EVAL - if (*wp->w_p_fdt != NUL) - { -! char_u dashes[51]; - win_T *save_curwin; - int level; - char_u *p; ---- 1932,1938 ---- - #ifdef FEAT_EVAL - if (*wp->w_p_fdt != NUL) - { -! char_u dashes[MAX_LEVEL + 2]; - win_T *save_curwin; - int level; - char_u *p; -*************** -*** 1944,1951 **** - /* Set "v:folddashes" to a string of "level" dashes. */ - /* Set "v:foldlevel" to "level". */ - level = foldinfo->fi_level; -! if (level > 50) -! level = 50; - vim_memset(dashes, '-', (size_t)level); - dashes[level] = NUL; - set_vim_var_string(VV_FOLDDASHES, dashes, -1); ---- 1944,1951 ---- - /* Set "v:folddashes" to a string of "level" dashes. */ - /* Set "v:foldlevel" to "level". */ - level = foldinfo->fi_level; -! if (level > (int)sizeof(dashes) - 1) -! level = (int)sizeof(dashes) - 1; - vim_memset(dashes, '-', (size_t)level); - dashes[level] = NUL; - set_vim_var_string(VV_FOLDDASHES, dashes, -1); -*** ../vim-7.2.277/src/version.c 2009-11-03 16:22:59.000000000 +0100 ---- src/version.c 2009-11-03 16:29:08.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 278, - /**/ - --- -BRIDGEKEEPER: What is the air-speed velocity of an unladen swallow? -ARTHUR: What do you mean? An African or European swallow? -BRIDGEKEEPER: Er ... I don't know that ... Aaaaarrrrrrggghhh! - BRIDGEKEEPER is cast into the gorge. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.279 --- a/components/vim/vim72-patches/7.2.279 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.279 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.279 -Problem: Invalid memory read with visual mode "r". (Dominique Pelle) -Solution: Make sure the cursor position is valid. Don't check the cursor - position but the position being used. And make sure we get the - right line. -Files: src/misc2.c, src/ops.c - - -*** ../vim-7.2.278/src/misc2.c 2009-05-16 21:06:36.000000000 +0200 ---- src/misc2.c 2009-11-03 16:43:10.000000000 +0100 -*************** -*** 156,162 **** - || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL) - #endif - ; -! line = ml_get_curline(); - - if (wcol >= MAXCOL) - { ---- 156,162 ---- - || ((ve_flags & VE_ONEMORE) && wcol < MAXCOL) - #endif - ; -! line = ml_get_buf(curbuf, pos->lnum, FALSE); - - if (wcol >= MAXCOL) - { -*************** -*** 332,340 **** - #endif - - #ifdef FEAT_MBYTE -! /* prevent cursor from moving on the trail byte */ - if (has_mbyte) -! mb_adjust_cursor(); - #endif - - if (col < wcol) ---- 332,340 ---- - #endif - - #ifdef FEAT_MBYTE -! /* prevent from moving onto a trail byte */ - if (has_mbyte) -! mb_adjustpos(pos); - #endif - - if (col < wcol) -*** ../vim-7.2.278/src/ops.c 2009-09-30 15:15:33.000000000 +0200 ---- src/ops.c 2009-11-03 15:18:50.000000000 +0100 -*************** -*** 2020,2025 **** ---- 2020,2026 ---- - bd.is_MAX = (curwin->w_curswant == MAXCOL); - for ( ; curwin->w_cursor.lnum <= oap->end.lnum; ++curwin->w_cursor.lnum) - { -+ curwin->w_cursor.col = 0; /* make sure cursor position is valid */ - block_prep(oap, &bd, curwin->w_cursor.lnum, TRUE); - if (bd.textlen == 0 && (!virtual_op || bd.is_MAX)) - continue; /* nothing to replace */ -*************** -*** 2035,2040 **** ---- 2036,2042 ---- - { - pos_T vpos; - -+ vpos.lnum = curwin->w_cursor.lnum; - getvpos(&vpos, oap->start_vcol); - bd.startspaces += vpos.coladd; - n = bd.startspaces; -*************** -*** 2693,2703 **** - * initial coladd offset as part of "startspaces" */ - if (bd.is_short) - { -! linenr_T lnum = curwin->w_cursor.lnum; -! -! curwin->w_cursor.lnum = linenr; - (void)getvpos(&vpos, oap->start_vcol); -- curwin->w_cursor.lnum = lnum; - } - else - vpos.coladd = 0; ---- 2695,2702 ---- - * initial coladd offset as part of "startspaces" */ - if (bd.is_short) - { -! vpos.lnum = linenr; - (void)getvpos(&vpos, oap->start_vcol); - } - else - vpos.coladd = 0; -*** ../vim-7.2.278/src/version.c 2009-11-03 16:29:48.000000000 +0100 ---- src/version.c 2009-11-03 16:41:53.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 279, - /**/ - --- -BEDEVERE: How do you know so much about swallows? -ARTHUR: Well you have to know these things when you're a king, you know. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.280 --- a/components/vim/vim72-patches/7.2.280 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,251 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.280 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.280 -Problem: A redraw in a custom statusline with %! may cause a crash. - (Yukihiro Nakadaira) -Solution: Make a copy of 'statusline'. Also fix typo in function name - redraw_custum_statusline. (party by Dominique Pelle) -Files: src/screen.c - - -*** ../vim-7.2.279/src/screen.c 2009-07-29 16:13:35.000000000 +0200 ---- src/screen.c 2009-11-03 17:13:16.000000000 +0100 -*************** -*** 132,138 **** - static void draw_vsep_win __ARGS((win_T *wp, int row)); - #endif - #ifdef FEAT_STL_OPT -! static void redraw_custum_statusline __ARGS((win_T *wp)); - #endif - #ifdef FEAT_SEARCH_EXTRA - #define SEARCH_HL_PRIORITY 0 ---- 132,138 ---- - static void draw_vsep_win __ARGS((win_T *wp, int row)); - #endif - #ifdef FEAT_STL_OPT -! static void redraw_custom_statusline __ARGS((win_T *wp)); - #endif - #ifdef FEAT_SEARCH_EXTRA - #define SEARCH_HL_PRIORITY 0 -*************** -*** 5772,5778 **** - else if (*p_stl != NUL || *wp->w_p_stl != NUL) - { - /* redraw custom status line */ -! redraw_custum_statusline(wp); - } - #endif - else ---- 5794,5800 ---- - else if (*p_stl != NUL || *wp->w_p_stl != NUL) - { - /* redraw custom status line */ -! redraw_custom_statusline(wp); - } - #endif - else -*************** -*** 5897,5914 **** - * errors encountered. - */ - static void -! redraw_custum_statusline(wp) - win_T *wp; - { -! int save_called_emsg = called_emsg; - - called_emsg = FALSE; - win_redr_custom(wp, FALSE); - if (called_emsg) - set_string_option_direct((char_u *)"statusline", -1, - (char_u *)"", OPT_FREE | (*wp->w_p_stl != NUL - ? OPT_LOCAL : OPT_GLOBAL), SID_ERROR); - called_emsg |= save_called_emsg; - } - #endif - ---- 5919,5949 ---- - * errors encountered. - */ - static void -! redraw_custom_statusline(wp) - win_T *wp; - { -! static int entered = FALSE; -! int save_called_emsg = called_emsg; -! -! /* When called recursively return. This can happen when the statusline -! * contains an expression that triggers a redraw. */ -! if (entered) -! return; -! entered = TRUE; - - called_emsg = FALSE; - win_redr_custom(wp, FALSE); - if (called_emsg) -+ { -+ /* When there is an error disable the statusline, otherwise the -+ * display is messed up with errors and a redraw triggers the problem -+ * again and again. */ - set_string_option_direct((char_u *)"statusline", -1, - (char_u *)"", OPT_FREE | (*wp->w_p_stl != NUL - ? OPT_LOCAL : OPT_GLOBAL), SID_ERROR); -+ } - called_emsg |= save_called_emsg; -+ entered = FALSE; - } - #endif - -*************** -*** 6016,6021 **** ---- 6051,6057 ---- - int len; - int fillchar; - char_u buf[MAXPATHL]; -+ char_u *stl; - char_u *p; - struct stl_hlrec hltab[STL_MAX_ITEM]; - struct stl_hlrec tabtab[STL_MAX_ITEM]; -*************** -*** 6025,6031 **** - if (wp == NULL) - { - /* Use 'tabline'. Always at the first line of the screen. */ -! p = p_tal; - row = 0; - fillchar = ' '; - attr = hl_attr(HLF_TPF); ---- 6061,6067 ---- - if (wp == NULL) - { - /* Use 'tabline'. Always at the first line of the screen. */ -! stl = p_tal; - row = 0; - fillchar = ' '; - attr = hl_attr(HLF_TPF); -*************** -*** 6042,6058 **** - - if (draw_ruler) - { -! p = p_ruf; - /* advance past any leading group spec - implicit in ru_col */ -! if (*p == '%') - { -! if (*++p == '-') -! p++; -! if (atoi((char *) p)) -! while (VIM_ISDIGIT(*p)) -! p++; -! if (*p++ != '(') -! p = p_ruf; - } - #ifdef FEAT_VERTSPLIT - col = ru_col - (Columns - W_WIDTH(wp)); ---- 6078,6094 ---- - - if (draw_ruler) - { -! stl = p_ruf; - /* advance past any leading group spec - implicit in ru_col */ -! if (*stl == '%') - { -! if (*++stl == '-') -! stl++; -! if (atoi((char *)stl)) -! while (VIM_ISDIGIT(*stl)) -! stl++; -! if (*stl++ != '(') -! stl = p_ruf; - } - #ifdef FEAT_VERTSPLIT - col = ru_col - (Columns - W_WIDTH(wp)); -*************** -*** 6081,6089 **** - else - { - if (*wp->w_p_stl != NUL) -! p = wp->w_p_stl; - else -! p = p_stl; - # ifdef FEAT_EVAL - use_sandbox = was_set_insecurely((char_u *)"statusline", - *wp->w_p_stl == NUL ? 0 : OPT_LOCAL); ---- 6117,6125 ---- - else - { - if (*wp->w_p_stl != NUL) -! stl = wp->w_p_stl; - else -! stl = p_stl; - # ifdef FEAT_EVAL - use_sandbox = was_set_insecurely((char_u *)"statusline", - *wp->w_p_stl == NUL ? 0 : OPT_LOCAL); -*************** -*** 6098,6107 **** - if (maxwidth <= 0) - return; - - width = build_stl_str_hl(wp == NULL ? curwin : wp, - buf, sizeof(buf), -! p, use_sandbox, - fillchar, maxwidth, hltab, tabtab); - len = (int)STRLEN(buf); - - while (width < maxwidth && len < (int)sizeof(buf) - 1) ---- 6134,6147 ---- - if (maxwidth <= 0) - return; - -+ /* Make a copy, because the statusline may include a function call that -+ * might change the option value and free the memory. */ -+ stl = vim_strsave(stl); - width = build_stl_str_hl(wp == NULL ? curwin : wp, - buf, sizeof(buf), -! stl, use_sandbox, - fillchar, maxwidth, hltab, tabtab); -+ vim_free(stl); - len = (int)STRLEN(buf); - - while (width < maxwidth && len < (int)sizeof(buf) - 1) -*************** -*** 9465,9471 **** - #if defined(FEAT_STL_OPT) && defined(FEAT_WINDOWS) - if ((*p_stl != NUL || *curwin->w_p_stl != NUL) && curwin->w_status_height) - { -! redraw_custum_statusline(curwin); - } - else - #endif ---- 9505,9511 ---- - #if defined(FEAT_STL_OPT) && defined(FEAT_WINDOWS) - if ((*p_stl != NUL || *curwin->w_p_stl != NUL) && curwin->w_status_height) - { -! redraw_custom_statusline(curwin); - } - else - #endif -*** ../vim-7.2.279/src/version.c 2009-11-03 16:44:04.000000000 +0100 ---- src/version.c 2009-11-03 17:15:35.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 280, - /**/ - --- -Every exit is an entrance into something else. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.281 --- a/components/vim/vim72-patches/7.2.281 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.281 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.281 -Problem: 'cursorcolumn' highlighting is wrong in diff mode. -Solution: Adjust the column computation. (Lech Lorens) -Files: src/screen.c - - -*** ../vim-7.2.280/src/screen.c 2009-11-03 17:20:18.000000000 +0100 ---- src/screen.c 2009-11-03 17:13:16.000000000 +0100 -*************** -*** 3008,3018 **** - mb_ptr_adv(ptr); - } - -! #ifdef FEAT_VIRTUALEDIT -! /* When 'virtualedit' is set the end of the line may be before the -! * start of the displayed part. */ -! if (vcol < v && *ptr == NUL && virtual_active()) - vcol = v; - #endif - - /* Handle a character that's not completely on the screen: Put ptr at ---- 3008,3040 ---- - mb_ptr_adv(ptr); - } - -! #if defined(FEAT_SYN_HL) || defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL) -! /* When: -! * - 'cuc' is set, or -! * - 'virtualedit' is set, or -! * - the visual mode is active, -! * the end of the line may be before the start of the displayed part. -! */ -! if (vcol < v && ( -! # ifdef FEAT_SYN_HL -! wp->w_p_cuc -! # if defined(FEAT_VIRTUALEDIT) || defined(FEAT_VISUAL) -! || -! # endif -! # endif -! # ifdef FEAT_VIRTUALEDIT -! virtual_active() -! # ifdef FEAT_VISUAL -! || -! # endif -! # endif -! # ifdef FEAT_VISUAL -! (VIsual_active && wp->w_buffer == curwin->w_buffer) -! # endif -! )) -! { - vcol = v; -+ } - #endif - - /* Handle a character that's not completely on the screen: Put ptr at -*** ../vim-7.2.280/src/version.c 2009-11-03 17:20:18.000000000 +0100 ---- src/version.c 2009-11-03 17:34:54.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 281, - /**/ - --- -Every person is responsible for the choices he makes. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.282 --- a/components/vim/vim72-patches/7.2.282 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.282 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.282 -Problem: A fold can't be closed. -Solution: Initialize fd_small to MAYBE. (Lech Lorens) -Files: src/fold.c - - -*** ../vim-7.2.281/src/fold.c 2009-11-03 16:29:48.000000000 +0100 ---- src/fold.c 2009-11-03 17:41:50.000000000 +0100 -*************** -*** 2851,2856 **** ---- 2851,2858 ---- - fp[1].fd_top = bot + 1; - fp[1].fd_len = fp->fd_len - (fp[1].fd_top - fp->fd_top); - fp[1].fd_flags = fp->fd_flags; -+ fp[1].fd_small = MAYBE; -+ fp->fd_small = MAYBE; - - /* Move nested folds below bot to new fold. There can't be - * any between top and bot, they have been removed by the caller. */ -*** ../vim-7.2.281/src/version.c 2009-11-03 17:36:09.000000000 +0100 ---- src/version.c 2009-11-03 17:59:12.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 282, - /**/ - --- -You can be stopped by the police for biking over 65 miles per hour. -You are not allowed to walk across a street on your hands. - [real standing laws in Connecticut, United States of America] - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.283 --- a/components/vim/vim72-patches/7.2.283 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.283 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.283 -Problem: Changing font while the window is maximized doesn't keep the - window maximized. -Solution: Recompute number of lines and columns after changing font. (James - Vega) -Files: src/gui_gtk_x11.c - - -*** ../vim-7.2.282/src/gui_gtk_x11.c 2009-09-23 18:14:13.000000000 +0200 ---- src/gui_gtk_x11.c 2009-11-03 17:56:27.000000000 +0100 -*************** -*** 5267,5274 **** - # endif - #endif /* !HAVE_GTK2 */ - -! /* Preserve the logical dimensions of the screen. */ -! update_window_manager_hints(0, 0); - - return OK; - } ---- 5267,5290 ---- - # endif - #endif /* !HAVE_GTK2 */ - -! #ifdef HAVE_GTK2 -! if (gui_mch_maximized()) -! { -! int w, h; -! -! /* Update lines and columns in accordance with the new font, keep the -! * window maximized. */ -! gtk_window_get_size(GTK_WINDOW(gui.mainwin), &w, &h); -! w -= get_menu_tool_width(); -! h -= get_menu_tool_height(); -! gui_resize_shell(w, h); -! } -! else -! #endif -! { -! /* Preserve the logical dimensions of the screen. */ -! update_window_manager_hints(0, 0); -! } - - return OK; - } -*** ../vim-7.2.282/src/version.c 2009-11-03 18:04:26.000000000 +0100 ---- src/version.c 2009-11-03 18:11:53.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 283, - /**/ - --- -If an elephant is left tied to a parking meter, the parking fee has to be paid -just as it would for a vehicle. - [real standing law in Florida, United States of America] - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.284 --- a/components/vim/vim72-patches/7.2.284 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.284 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.284 -Problem: When editing the same buffer in two windows, one with folding, - display may be wrong after changes. -Solution: Call set_topline() to take care of side effects. (Lech Lorens) -Files: src/misc1.c - - -*** ../vim-7.2.283/src/misc1.c 2009-07-22 11:03:38.000000000 +0200 ---- src/misc1.c 2009-11-03 18:38:15.000000000 +0100 -*************** -*** 2886,2891 **** ---- 2886,2898 ---- - } - #endif - } -+ -+ #ifdef FEAT_FOLDING -+ /* Take care of side effects for setting w_topline when folds have -+ * changed. Esp. when the buffer was changed in another window. */ -+ if (hasAnyFolding(wp)) -+ set_topline(wp, wp->w_topline); -+ #endif - } - } - -*** ../vim-7.2.283/src/version.c 2009-11-03 18:13:36.000000000 +0100 ---- src/version.c 2009-11-03 18:44:12.000000000 +0100 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 284, - /**/ - --- -Men may not be seen publicly in any kind of strapless gown. - [real standing law in Florida, United States of America] - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.285 --- a/components/vim/vim72-patches/7.2.285 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.285 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.285 (after 7.2.169) -Problem: CTRL-U in Insert mode also deletes indent. (Andrey Voropaev) -Solution: Fix mistake made in patch 7.2.169. -Files: src/edit.c - - -*** ../vim-7.2.284/src/edit.c 2009-07-09 18:15:19.000000000 +0200 ---- src/edit.c 2009-11-05 20:25:15.000000000 +0100 -*************** -*** 8519,8525 **** - { - save_col = curwin->w_cursor.col; - beginline(BL_WHITE); -! if (curwin->w_cursor.col < (colnr_T)temp) - mincol = curwin->w_cursor.col; - curwin->w_cursor.col = save_col; - } ---- 8519,8525 ---- - { - save_col = curwin->w_cursor.col; - beginline(BL_WHITE); -! if (curwin->w_cursor.col < save_col) - mincol = curwin->w_cursor.col; - curwin->w_cursor.col = save_col; - } -*** ../vim-7.2.284/src/version.c 2009-11-03 18:46:53.000000000 +0100 ---- src/version.c 2009-11-11 13:21:25.000000000 +0100 -*************** -*** 678,679 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 285, - /**/ - --- -(letter from Mark to Mike, about the film's probable certificate) - I would like to get back to the Censor and agree to lose the shits, take - the odd Jesus Christ out and lose Oh fuck off, but to retain 'fart in - your general direction', 'castanets of your testicles' and 'oral sex' - and ask him for an 'A' rating on that basis. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.286 --- a/components/vim/vim72-patches/7.2.286 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,227 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.286 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.286 (after 7.2.269) -Problem: The "--startuptime=" argument is not consistent with other - arguments. -Solution: Use "--startuptime ". Added the +startuptime feature. -Files: runtime/doc/eval.txt, runtime/doc/starting.txt, - runtime/doc/various.txt, src/eval.c, src/main.c, src/version.c - - -*** ../vim-7.2.285/runtime/doc/eval.txt 2009-04-22 12:53:31.000000000 +0200 ---- runtime/doc/eval.txt 2009-11-11 13:01:58.000000000 +0100 -*************** -*** 5869,5874 **** ---- 5881,5887 ---- - signs Compiled with |:sign| support. - smartindent Compiled with 'smartindent' support. - sniff Compiled with SNiFF interface support. -+ startuptime Compiled with |--startuptime| support. - statusline Compiled with support for 'statusline', 'rulerformat' - and special formats of 'titlestring' and 'iconstring'. - sun_workshop Compiled with support for Sun |workshop|. -*** ../vim-7.2.285/runtime/doc/starting.txt 2009-11-03 12:10:39.000000000 +0100 ---- runtime/doc/starting.txt 2009-11-11 13:20:56.000000000 +0100 -*************** -*** 144,155 **** - -u NORC no yes - --noplugin yes no - -! --startuptime={fname} *--startuptime* - During startup write timing messages to the file {fname}. - This can be used to find out where time is spent while loading -! your .vimrc and plugins. - When {fname} already exists new messages are appended. -! {only when compiled with this feature} - - *--literal* - --literal Take file names literally, don't expand wildcards. Not needed ---- 144,156 ---- - -u NORC no yes - --noplugin yes no - -! --startuptime {fname} *--startuptime* - During startup write timing messages to the file {fname}. - This can be used to find out where time is spent while loading -! your .vimrc, plugins and opening the first file. - When {fname} already exists new messages are appended. -! (Only available when compiled with the |+startuptime| -! feature). - - *--literal* - --literal Take file names literally, don't expand wildcards. Not needed -*** ../vim-7.2.285/runtime/doc/various.txt 2009-07-09 15:55:34.000000000 +0200 ---- runtime/doc/various.txt 2009-11-11 13:03:52.000000000 +0100 -*************** -*** 374,379 **** ---- 374,380 ---- - B *+signs* |:sign| - N *+smartindent* |'smartindent'| - m *+sniff* SniFF interface |sniff| -+ N *+startuptime* |--startuptime| argument - N *+statusline* Options 'statusline', 'rulerformat' and special - formats of 'titlestring' and 'iconstring' - m *+sun_workshop* |workshop| -*** ../vim-7.2.285/src/eval.c 2009-11-03 14:26:29.000000000 +0100 ---- src/eval.c 2009-11-11 12:59:53.000000000 +0100 -*************** -*** 11736,11741 **** ---- 11736,11744 ---- - #ifdef FEAT_SNIFF - "sniff", - #endif -+ #ifdef STARTUPTIME -+ "startuptime", -+ #endif - #ifdef FEAT_STL_OPT - "statusline", - #endif -*** ../vim-7.2.285/src/main.c 2009-11-03 12:10:39.000000000 +0100 ---- src/main.c 2009-11-08 12:57:46.000000000 +0100 -*************** -*** 204,212 **** - #ifdef STARTUPTIME - for (i = 1; i < argc; ++i) - { -! if (STRNICMP(argv[i], "--startuptime=", 14) == 0) - { -! time_fd = mch_fopen(argv[i] + 14, "a"); - TIME_MSG("--- VIM STARTING ---"); - break; - } ---- 204,212 ---- - #ifdef STARTUPTIME - for (i = 1; i < argc; ++i) - { -! if (STRICMP(argv[i], "--startuptime") == 0 && i + 1 < argc) - { -! time_fd = mch_fopen(argv[i + 1], "a"); - TIME_MSG("--- VIM STARTING ---"); - break; - } -*************** -*** 1726,1731 **** ---- 1726,1736 ---- - want_argument = TRUE; - argv_idx += 3; - } -+ else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0) -+ { -+ want_argument = TRUE; -+ argv_idx += 11; -+ } - #ifdef FEAT_CLIENTSERVER - else if (STRNICMP(argv[0] + argv_idx, "serverlist", 10) == 0) - ; /* already processed -- no arg */ -*************** -*** 1761,1770 **** - /* already processed, skip */ - } - #endif -- else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0) -- { -- /* already processed, skip */ -- } - else - { - if (argv[0][argv_idx]) ---- 1766,1771 ---- -*************** -*** 2061,2067 **** - mainerr(ME_GARBAGE, (char_u *)argv[0]); - - --argc; -! if (argc < 1 && c != 'S') - mainerr_arg_missing((char_u *)argv[0]); - ++argv; - argv_idx = -1; ---- 2062,2068 ---- - mainerr(ME_GARBAGE, (char_u *)argv[0]); - - --argc; -! if (argc < 1 && c != 'S') /* -S has an optional argument */ - mainerr_arg_missing((char_u *)argv[0]); - ++argv; - argv_idx = -1; -*************** -*** 2102,2112 **** - (char_u *)argv[0]; - break; - -! case '-': /* "--cmd {command}" execute command */ -! if (parmp->n_pre_commands >= MAX_ARG_CMDS) -! mainerr(ME_EXTRA_CMD, NULL); -! parmp->pre_commands[parmp->n_pre_commands++] = - (char_u *)argv[0]; - break; - - /* case 'd': -d {device} is handled in mch_check_win() for the ---- 2103,2118 ---- - (char_u *)argv[0]; - break; - -! case '-': -! if (argv[-1][2] == 'c') -! { -! /* "--cmd {command}" execute command */ -! if (parmp->n_pre_commands >= MAX_ARG_CMDS) -! mainerr(ME_EXTRA_CMD, NULL); -! parmp->pre_commands[parmp->n_pre_commands++] = - (char_u *)argv[0]; -+ } -+ /* "--startuptime " already handled */ - break; - - /* case 'd': -d {device} is handled in mch_check_win() for the -*************** -*** 3144,3149 **** ---- 3150,3158 ---- - main_msg(_("--serverlist\t\tList available Vim server names and exit")); - main_msg(_("--servername \tSend to/become the Vim server ")); - #endif -+ #ifdef STARTUPTIME -+ main_msg(_("--startuptime=\tWrite startup timing messages to ")); -+ #endif - #ifdef FEAT_VIMINFO - main_msg(_("-i \t\tUse instead of .viminfo")); - #endif -*** ../vim-7.2.285/src/version.c 2009-11-11 13:22:09.000000000 +0100 ---- src/version.c 2009-11-11 14:17:28.000000000 +0100 -*************** -*** 494,499 **** ---- 494,504 ---- - #else - "-sniff", - #endif -+ #ifdef STARTUPTIME -+ "+startuptime", -+ #else -+ "-startuptime", -+ #endif - #ifdef FEAT_STL_OPT - "+statusline", - #else -*** ../vim-7.2.285/src/version.c 2009-11-11 13:22:09.000000000 +0100 ---- src/version.c 2009-11-11 14:17:28.000000000 +0100 -*************** -*** 678,679 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 286, - /**/ - --- -A fool must search for a greater fool to find admiration. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.287 --- a/components/vim/vim72-patches/7.2.287 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.287 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.287 -Problem: Warning from gcc 3.4 about uninitialized variable. -Solution: Move assignment outside of #ifdef. -Files: src/if_perl.xs - - -*** ../vim-7.2.286/src/if_perl.xs 2009-07-14 16:05:14.000000000 +0200 ---- src/if_perl.xs 2009-11-11 12:29:32.000000000 +0100 -*************** -*** 720,727 **** - #ifdef HAVE_SANDBOX - if (sandbox) - { - # ifndef MAKE_TEST /* avoid a warning for unreachable code */ -! if ((safe = perl_get_sv( "VIM::safe", FALSE )) == NULL || !SvTRUE(safe)) - EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module")); - else - # endif ---- 720,728 ---- - #ifdef HAVE_SANDBOX - if (sandbox) - { -+ safe = perl_get_sv( "VIM::safe", FALSE ); - # ifndef MAKE_TEST /* avoid a warning for unreachable code */ -! if (safe == NULL || !SvTRUE(safe)) - EMSG(_("E299: Perl evaluation forbidden in sandbox without the Safe module")); - else - # endif -*** ../vim-7.2.286/src/version.c 2009-11-11 14:21:48.000000000 +0100 ---- src/version.c 2009-11-11 14:44:49.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 287, - /**/ - --- -The most powerful force in the universe is gossip. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.288 --- a/components/vim/vim72-patches/7.2.288 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.288 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.288 -Problem: Python 2.6 pyconfig.h redefines macros. -Solution: Undefine the macros before including pyconfig.h. -Files: src/if_python.c - - -*** ../vim-7.2.287/src/if_python.c 2009-11-03 11:43:05.000000000 +0100 ---- src/if_python.c 2009-11-11 12:33:37.000000000 +0100 -*************** -*** 37,42 **** ---- 37,48 ---- - #ifdef HAVE_STDARG_H - # undef HAVE_STDARG_H /* Python's config.h defines it as well. */ - #endif -+ #ifdef _POSIX_C_SOURCE -+ # undef _POSIX_C_SOURCE /* pyconfig.h defines it as well. */ -+ #endif -+ #ifdef _XOPEN_SOURCE -+ # undef _XOPEN_SOURCE /* pyconfig.h defines it as well. */ -+ #endif - - #define PY_SSIZE_T_CLEAN - -*** ../vim-7.2.287/src/version.c 2009-11-11 14:45:36.000000000 +0100 ---- src/version.c 2009-11-11 15:05:51.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 288, - /**/ - --- -I am always surprised in the Linux world how quickly solutions can be -obtained. (Imagine sending an email to Bill Gates, asking why Windows -crashed, and how to fix it... and then getting an answer that fixed the -problem... <0>_<0> !) -- Mark Langdon - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.289 --- a/components/vim/vim72-patches/7.2.289 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.289 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.289 -Problem: Checking wrong struct member. -Solution: Change tb_buf to tb_noremap. (Dominique Pelle) -Files: src/getchar.c - - -*** ../vim-7.2.288/src/getchar.c 2009-09-30 15:15:33.000000000 +0200 ---- src/getchar.c 2009-11-11 12:50:58.000000000 +0100 -*************** -*** 22,28 **** - * These buffers are used for storing: - * - stuffed characters: A command that is translated into another command. - * - redo characters: will redo the last change. -! * - recorded chracters: for the "q" command. - * - * The bytes are stored like in the typeahead buffer: - * - K_SPECIAL introduces a special key (two more bytes follow). A literal ---- 22,28 ---- - * These buffers are used for storing: - * - stuffed characters: A command that is translated into another command. - * - redo characters: will redo the last change. -! * - recorded characters: for the "q" command. - * - * The bytes are stored like in the typeahead buffer: - * - K_SPECIAL introduces a special key (two more bytes follow). A literal -*************** -*** 1283,1289 **** - EMSG2(_(e_intern2), "Free typebuf 1"); - else - vim_free(typebuf.tb_buf); -! if (typebuf.tb_buf == noremapbuf_init) - EMSG2(_(e_intern2), "Free typebuf 2"); - else - vim_free(typebuf.tb_noremap); ---- 1283,1289 ---- - EMSG2(_(e_intern2), "Free typebuf 1"); - else - vim_free(typebuf.tb_buf); -! if (typebuf.tb_noremap == noremapbuf_init) - EMSG2(_(e_intern2), "Free typebuf 2"); - else - vim_free(typebuf.tb_noremap); -*************** -*** 1516,1522 **** - * wanted. - * This translates escaped K_SPECIAL and CSI bytes to a K_SPECIAL or CSI byte. - * Collects the bytes of a multibyte character into the whole character. -! * Returns the modifers in the global "mod_mask". - */ - int - vgetc() ---- 1516,1522 ---- - * wanted. - * This translates escaped K_SPECIAL and CSI bytes to a K_SPECIAL or CSI byte. - * Collects the bytes of a multibyte character into the whole character. -! * Returns the modifiers in the global "mod_mask". - */ - int - vgetc() -*************** -*** 3320,3326 **** - retval = 1; - goto theend; - } -! /* An abbrevation cannot contain white space. */ - for (n = 0; n < len; ++n) - if (vim_iswhite(keys[n])) - { ---- 3320,3326 ---- - retval = 1; - goto theend; - } -! /* An abbreviation cannot contain white space. */ - for (n = 0; n < len; ++n) - if (vim_iswhite(keys[n])) - { -*************** -*** 4272,4278 **** - - /* - * Check for word before the cursor: If it ends in a keyword char all -! * chars before it must be al keyword chars or non-keyword chars, but not - * white space. If it ends in a non-keyword char we accept any characters - * before it except white space. - */ ---- 4272,4278 ---- - - /* - * Check for word before the cursor: If it ends in a keyword char all -! * chars before it must be keyword chars or non-keyword chars, but not - * white space. If it ends in a non-keyword char we accept any characters - * before it except white space. - */ -*** ../vim-7.2.288/src/version.c 2009-11-11 15:06:59.000000000 +0100 ---- src/version.c 2009-11-11 16:19:12.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 289, - /**/ - --- -A M00se once bit my sister ... - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.290 --- a/components/vim/vim72-patches/7.2.290 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,157 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.290 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.290 -Problem: Not freeing memory from ":lmap", ":xmap" and ":menutranslate". -Solution: Free the memory when exiting. (Dominique Pelle) -Files: src/misc2.c - - -*** ../vim-7.2.289/src/misc2.c 2009-11-03 16:44:04.000000000 +0100 ---- src/misc2.c 2009-11-11 16:49:13.000000000 +0100 -*************** -*** 1005,1013 **** ---- 1005,1018 ---- - # ifdef FEAT_MENU - /* Clear menus. */ - do_cmdline_cmd((char_u *)"aunmenu *"); -+ # ifdef FEAT_MULTI_LANG -+ do_cmdline_cmd((char_u *)"menutranslate clear"); -+ # endif - # endif - - /* Clear mappings, abbreviations, breakpoints. */ -+ do_cmdline_cmd((char_u *)"lmapclear"); -+ do_cmdline_cmd((char_u *)"xmapclear"); - do_cmdline_cmd((char_u *)"mapclear"); - do_cmdline_cmd((char_u *)"mapclear!"); - do_cmdline_cmd((char_u *)"abclear"); -*************** -*** 1282,1288 **** - - /* - * Escape "string" for use as a shell argument with system(). -! * This uses single quotes, except when we know we need to use double qoutes - * (MS-DOS and MS-Windows without 'shellslash' set). - * Escape a newline, depending on the 'shell' option. - * When "do_special" is TRUE also replace "!", "%", "#" and things starting ---- 1287,1293 ---- - - /* - * Escape "string" for use as a shell argument with system(). -! * This uses single quotes, except when we know we need to use double quotes - * (MS-DOS and MS-Windows without 'shellslash' set). - * Escape a newline, depending on the 'shell' option. - * When "do_special" is TRUE also replace "!", "%", "#" and things starting -*************** -*** 1537,1543 **** - #if defined(FEAT_VISUALEXTRA) || defined(PROTO) - /* - * Copy a character a number of times. -! * Does not work for multi-byte charactes! - */ - void - copy_chars(ptr, count, c) ---- 1542,1548 ---- - #if defined(FEAT_VISUALEXTRA) || defined(PROTO) - /* - * Copy a character a number of times. -! * Does not work for multi-byte characters! - */ - void - copy_chars(ptr, count, c) -*************** -*** 4260,4266 **** - * or '**76' is transposed to '**N'( 'N' is ASCII value 76). - * For EBCDIC you get different character values. - * If no restrict is given after '**' the default is used. -! * Due to this technic the path looks awful if you print it as a - * string. - */ - len = 0; ---- 4265,4271 ---- - * or '**76' is transposed to '**N'( 'N' is ASCII value 76). - * For EBCDIC you get different character values. - * If no restrict is given after '**' the default is used. -! * Due to this technique the path looks awful if you print it as a - * string. - */ - len = 0; -*************** -*** 4649,4655 **** - && !mch_isdir(stackp->ffs_filearray[i])) - continue; /* not a directory */ - -! /* prepare the filename to be checked for existance - * below */ - STRCPY(file_path, stackp->ffs_filearray[i]); - add_pathsep(file_path); ---- 4654,4660 ---- - && !mch_isdir(stackp->ffs_filearray[i])) - continue; /* not a directory */ - -! /* prepare the filename to be checked for existence - * below */ - STRCPY(file_path, stackp->ffs_filearray[i]); - add_pathsep(file_path); -*************** -*** 5438,5444 **** - #if defined(MSWIN) || defined(MSDOS) || defined(OS2) - /* handle "\tmp" as absolute path */ - || vim_ispathsep(ff_file_to_find[0]) -! /* handle "c:name" as absulute path */ - || (ff_file_to_find[0] != NUL && ff_file_to_find[1] == ':') - #endif - #ifdef AMIGA ---- 5443,5449 ---- - #if defined(MSWIN) || defined(MSDOS) || defined(OS2) - /* handle "\tmp" as absolute path */ - || vim_ispathsep(ff_file_to_find[0]) -! /* handle "c:name" as absolute path */ - || (ff_file_to_find[0] != NUL && ff_file_to_find[1] == ':') - #endif - #ifdef AMIGA -*************** -*** 5681,5687 **** - p2 = (char_u *)base + (j + gap) * elm_size; - if ((*cmp)((void *)p1, (void *)p2) <= 0) - break; -! /* Exchange the elemets. */ - mch_memmove(buf, p1, elm_size); - mch_memmove(p1, p2, elm_size); - mch_memmove(p2, buf, elm_size); ---- 5686,5692 ---- - p2 = (char_u *)base + (j + gap) * elm_size; - if ((*cmp)((void *)p1, (void *)p2) <= 0) - break; -! /* Exchange the elements. */ - mch_memmove(buf, p1, elm_size); - mch_memmove(p1, p2, elm_size); - mch_memmove(p2, buf, elm_size); -*** ../vim-7.2.289/src/version.c 2009-11-11 16:23:37.000000000 +0100 ---- src/version.c 2009-11-11 16:54:53.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 290, - /**/ - --- -ARTHUR: It is I, Arthur, son of Uther Pendragon, from the castle of Camelot. - King of all Britons, defeator of the Saxons, sovereign of all England! - [Pause] -SOLDIER: Get away! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.291 --- a/components/vim/vim72-patches/7.2.291 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.291 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.291 -Problem: Reading uninitialised memory in arabic mode. -Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique - Pelle) -Files: src/screen.c - - -*** ../vim-7.2.290/src/screen.c 2009-11-03 17:36:09.000000000 +0100 ---- src/screen.c 2009-11-11 17:04:53.000000000 +0100 -*************** -*** 6413,6419 **** - } - else - { -! nc = utfc_ptr2char(ptr + mbyte_blen, pcc); - nc1 = pcc[0]; - } - pc = prev_c; ---- 6413,6420 ---- - } - else - { -! nc = utfc_ptr2char_len(ptr + mbyte_blen, pcc, -! (int)((text + len) - ptr - mbyte_blen)); - nc1 = pcc[0]; - } - pc = prev_c; -*** ../vim-7.2.290/src/version.c 2009-11-11 16:56:13.000000000 +0100 ---- src/version.c 2009-11-11 17:06:48.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 291, - /**/ - --- -The problem with political jokes is that they get elected. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.292 --- a/components/vim/vim72-patches/7.2.292 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.292 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.292 -Problem: Block right-shift doesn't work properly with multi-byte encoding - and 'list' set. -Solution: Add the missing "else". (Lech Lorens) -Files: src/ops.c - - -*** ../vim-7.2.291/src/ops.c 2009-11-03 16:44:04.000000000 +0100 ---- src/ops.c 2009-11-11 17:15:04.000000000 +0100 -*************** -*** 422,429 **** - #ifdef FEAT_MBYTE - if (has_mbyte) - bd.textstart += (*mb_ptr2len)(bd.textstart); - #endif -! ++bd.textstart; - } - for ( ; vim_iswhite(*bd.textstart); ) - { ---- 422,430 ---- - #ifdef FEAT_MBYTE - if (has_mbyte) - bd.textstart += (*mb_ptr2len)(bd.textstart); -+ else - #endif -! ++bd.textstart; - } - for ( ; vim_iswhite(*bd.textstart); ) - { -*** ../vim-7.2.291/src/version.c 2009-11-11 17:07:25.000000000 +0100 ---- src/version.c 2009-11-11 17:21:31.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 292, - /**/ - --- -Computers make very fast, very accurate, mistakes. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.293 --- a/components/vim/vim72-patches/7.2.293 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.293 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.293 -Problem: When setting 'comments' option it may be used in a wrong way. -Solution: Don't increment after skipping over digets. (Yukihiro Nakadaira) -Files: src/misc1.c - - -*** ../vim-7.2.292/src/misc1.c 2009-11-03 18:46:53.000000000 +0100 ---- src/misc1.c 2009-11-11 17:27:38.000000000 +0100 -*************** -*** 1026,1037 **** - int c = 0; - int off = 0; - -! for (p = lead_flags; *p && *p != ':'; ++p) - { - if (*p == COM_RIGHT || *p == COM_LEFT) -! c = *p; - else if (VIM_ISDIGIT(*p) || *p == '-') - off = getdigits(&p); - } - if (c == COM_RIGHT) /* right adjusted leader */ - { ---- 1026,1039 ---- - int c = 0; - int off = 0; - -! for (p = lead_flags; *p != NUL && *p != ':'; ) - { - if (*p == COM_RIGHT || *p == COM_LEFT) -! c = *p++; - else if (VIM_ISDIGIT(*p) || *p == '-') - off = getdigits(&p); -+ else -+ ++p; - } - if (c == COM_RIGHT) /* right adjusted leader */ - { -*** ../vim-7.2.292/src/version.c 2009-11-11 17:22:30.000000000 +0100 ---- src/version.c 2009-11-11 17:29:24.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 293, - /**/ - --- -SOLDIER: What? Ridden on a horse? -ARTHUR: Yes! -SOLDIER: You're using coconuts! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.294 --- a/components/vim/vim72-patches/7.2.294 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,285 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.294 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.294 -Problem: When using TEMPDIRS dir name could get too long. -Solution: Overwrite tail instead of appending each time. Use mkdtemp() when - available. (James Vega) -Files: src/auto/configure, src/config.h.in, src/configure.in, src/fileio.c - - -*** ../vim-7.2.293/src/auto/configure 2009-09-11 13:44:33.000000000 +0200 ---- src/auto/configure 2009-11-17 12:03:15.000000000 +0100 -*************** -*** 14019,14027 **** - - - - for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ -! memset nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ - sigvec strcasecmp strerror strftime stricmp strncasecmp \ - strnicmp strpbrk strtol tgetent towlower towupper iswupper \ ---- 14019,14028 ---- - - - -+ - for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ -! memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ - sigvec strcasecmp strerror strftime stricmp strncasecmp \ - strnicmp strpbrk strtol tgetent towlower towupper iswupper \ -*** ../vim-7.2.293/src/config.h.in 2009-05-21 23:25:38.000000000 +0200 ---- src/config.h.in 2009-11-11 17:40:21.000000000 +0100 -*************** -*** 157,162 **** ---- 157,163 ---- - #undef HAVE_LSTAT - #undef HAVE_MEMCMP - #undef HAVE_MEMSET -+ #undef HAVE_MKDTEMP - #undef HAVE_NANOSLEEP - #undef HAVE_OPENDIR - #undef HAVE_FLOAT_FUNCS -*** ../vim-7.2.293/src/configure.in 2009-09-11 13:44:33.000000000 +0200 ---- src/configure.in 2009-11-11 17:40:21.000000000 +0100 -*************** -*** 2635,2641 **** - dnl Check for functions in one big call, to reduce the size of configure - AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ -! memset nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ - sigvec strcasecmp strerror strftime stricmp strncasecmp \ - strnicmp strpbrk strtol tgetent towlower towupper iswupper \ ---- 2635,2641 ---- - dnl Check for functions in one big call, to reduce the size of configure - AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ -! memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ - sigvec strcasecmp strerror strftime stricmp strncasecmp \ - strnicmp strpbrk strtol tgetent towlower towupper iswupper \ -*** ../vim-7.2.293/src/fileio.c 2009-09-11 17:24:01.000000000 +0200 ---- src/fileio.c 2009-11-11 18:01:22.000000000 +0100 -*************** -*** 146,151 **** ---- 146,152 ---- - # endif - #endif - static int move_lines __ARGS((buf_T *frombuf, buf_T *tobuf)); -+ static void vim_settempdir __ARGS((char_u *tempdir)); - #ifdef FEAT_AUTOCMD - static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer name"); - #endif -*************** -*** 6987,6992 **** ---- 6988,7020 ---- - #endif - - /* -+ * Directory "tempdir" was created. Expand this name to a full path and put -+ * it in "vim_tempdir". This avoids that using ":cd" would confuse us. -+ * "tempdir" must be no longer than MAXPATHL. -+ */ -+ static void -+ vim_settempdir(tempdir) -+ char_u *tempdir; -+ { -+ char_u *buf; -+ -+ buf = alloc((unsigned)MAXPATHL + 2); -+ if (buf != NULL) -+ { -+ if (vim_FullName(tempdir, buf, MAXPATHL, FALSE) == FAIL) -+ STRCPY(buf, tempdir); -+ # ifdef __EMX__ -+ if (vim_strchr(buf, '/') != NULL) -+ STRCAT(buf, "/"); -+ else -+ # endif -+ add_pathsep(buf); -+ vim_tempdir = vim_strsave(buf); -+ vim_free(buf); -+ } -+ } -+ -+ /* - * vim_tempname(): Return a unique name that can be used for a temp file. - * - * The temp file is NOT created. -*************** -*** 7007,7014 **** - #ifdef TEMPDIRNAMES - static char *(tempdirs[]) = {TEMPDIRNAMES}; - int i; -- long nr; -- long off; - # ifndef EEXIST - struct stat st; - # endif ---- 7035,7040 ---- -*************** -*** 7027,7032 **** ---- 7053,7064 ---- - */ - for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) - { -+ size_t itmplen; -+ # ifndef HAVE_MKDTEMP -+ long nr; -+ long off; -+ # endif -+ - /* expand $TMP, leave room for "/v1100000/999999999" */ - expand_env((char_u *)tempdirs[i], itmp, TEMPNAMELEN - 20); - if (mch_isdir(itmp)) /* directory exists */ -*************** -*** 7040,7046 **** ---- 7072,7085 ---- - else - # endif - add_pathsep(itmp); -+ itmplen = STRLEN(itmp); - -+ # ifdef HAVE_MKDTEMP -+ /* Leave room for filename */ -+ STRCAT(itmp, "vXXXXXX"); -+ if (mkdtemp((char *)itmp) != NULL) -+ vim_settempdir(itmp); -+ # else - /* Get an arbitrary number of up to 6 digits. When it's - * unlikely that it already exists it will be faster, - * otherwise it doesn't matter. The use of mkdir() avoids any -*************** -*** 7052,7110 **** - for (off = 0; off < 10000L; ++off) - { - int r; -! #if defined(UNIX) || defined(VMS) - mode_t umask_save; -! #endif - -! sprintf((char *)itmp + STRLEN(itmp), "v%ld", nr + off); -! # ifndef EEXIST - /* If mkdir() does not set errno to EEXIST, check for - * existing file here. There is a race condition then, - * although it's fail-safe. */ - if (mch_stat((char *)itmp, &st) >= 0) - continue; -! # endif -! #if defined(UNIX) || defined(VMS) - /* Make sure the umask doesn't remove the executable bit. - * "repl" has been reported to use "177". */ - umask_save = umask(077); -! #endif - r = vim_mkdir(itmp, 0700); -! #if defined(UNIX) || defined(VMS) - (void)umask(umask_save); -! #endif - if (r == 0) - { -! char_u *buf; -! -! /* Directory was created, use this name. -! * Expand to full path; When using the current -! * directory a ":cd" would confuse us. */ -! buf = alloc((unsigned)MAXPATHL + 1); -! if (buf != NULL) -! { -! if (vim_FullName(itmp, buf, MAXPATHL, FALSE) -! == FAIL) -! STRCPY(buf, itmp); -! # ifdef __EMX__ -! if (vim_strchr(buf, '/') != NULL) -! STRCAT(buf, "/"); -! else -! # endif -! add_pathsep(buf); -! vim_tempdir = vim_strsave(buf); -! vim_free(buf); -! } - break; - } -! # ifdef EEXIST - /* If the mkdir() didn't fail because the file/dir exists, - * we probably can't create any dir here, try another - * place. */ - if (errno != EEXIST) -! # endif - break; - } - if (vim_tempdir != NULL) - break; - } ---- 7091,7131 ---- - for (off = 0; off < 10000L; ++off) - { - int r; -! # if defined(UNIX) || defined(VMS) - mode_t umask_save; -! # endif - -! sprintf((char *)itmp + itmplen, "v%ld", nr + off); -! # ifndef EEXIST - /* If mkdir() does not set errno to EEXIST, check for - * existing file here. There is a race condition then, - * although it's fail-safe. */ - if (mch_stat((char *)itmp, &st) >= 0) - continue; -! # endif -! # if defined(UNIX) || defined(VMS) - /* Make sure the umask doesn't remove the executable bit. - * "repl" has been reported to use "177". */ - umask_save = umask(077); -! # endif - r = vim_mkdir(itmp, 0700); -! # if defined(UNIX) || defined(VMS) - (void)umask(umask_save); -! # endif - if (r == 0) - { -! vim_settempdir(itmp); - break; - } -! # ifdef EEXIST - /* If the mkdir() didn't fail because the file/dir exists, - * we probably can't create any dir here, try another - * place. */ - if (errno != EEXIST) -! # endif - break; - } -+ # endif /* HAVE_MKDTEMP */ - if (vim_tempdir != NULL) - break; - } -*** ../vim-7.2.293/src/version.c 2009-11-11 17:30:05.000000000 +0100 ---- src/version.c 2009-11-17 11:54:49.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 294, - /**/ - --- -ARTHUR: Now stand aside worthy adversary. -BLACK KNIGHT: (Glancing at his shoulder) 'Tis but a scratch. -ARTHUR: A scratch? Your arm's off. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.295 --- a/components/vim/vim72-patches/7.2.295 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,142 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.295 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.295 -Problem: When using map() on a List the index is not known. -Solution: Set v:key to the index. (Hari Krishna Dara) -Files: runtime/doc/eval.txt, src/eval.c - - -*** ../vim-7.2.294/runtime/doc/eval.txt 2009-11-11 14:21:48.000000000 +0100 ---- runtime/doc/eval.txt 2009-11-11 18:22:54.000000000 +0100 -*************** -*** 3802,3808 **** - Replace each item in {expr} with the result of evaluating - {string}. - Inside {string} |v:val| has the value of the current item. -! For a |Dictionary| |v:key| has the key of the current item. - Example: > - :call map(mylist, '"> " . v:val . " <"') - < This puts "> " before and " <" after each item in "mylist". ---- 3812,3819 ---- - Replace each item in {expr} with the result of evaluating - {string}. - Inside {string} |v:val| has the value of the current item. -! For a |Dictionary| |v:key| has the key of the current item -! and for a |List| |v:key| has the index of the current item. - Example: > - :call map(mylist, '"> " . v:val . " <"') - < This puts "> " before and " <" after each item in "mylist". -*** ../vim-7.2.294/src/eval.c 2009-11-11 14:21:48.000000000 +0100 ---- src/eval.c 2009-11-11 18:22:49.000000000 +0100 -*************** -*** 9928,9933 **** ---- 9928,9934 ---- - int todo; - char_u *ermsg = map ? (char_u *)"map()" : (char_u *)"filter()"; - int save_did_emsg; -+ int index = 0; - - if (argvars[0].v_type == VAR_LIST) - { -*************** -*** 9961,9969 **** - save_did_emsg = did_emsg; - did_emsg = FALSE; - - if (argvars[0].v_type == VAR_DICT) - { -- prepare_vimvar(VV_KEY, &save_key); - vimvars[VV_KEY].vv_type = VAR_STRING; - - ht = &d->dv_hashtab; ---- 9962,9970 ---- - save_did_emsg = did_emsg; - did_emsg = FALSE; - -+ prepare_vimvar(VV_KEY, &save_key); - if (argvars[0].v_type == VAR_DICT) - { - vimvars[VV_KEY].vv_type = VAR_STRING; - - ht = &d->dv_hashtab; -*************** -*** 9987,10010 **** - } - } - hash_unlock(ht); -- -- restore_vimvar(VV_KEY, &save_key); - } - else - { - for (li = l->lv_first; li != NULL; li = nli) - { - if (tv_check_lock(li->li_tv.v_lock, ermsg)) - break; - nli = li->li_next; - if (filter_map_one(&li->li_tv, expr, map, &rem) == FAIL - || did_emsg) - break; - if (!map && rem) - listitem_remove(l, li); - } - } - - restore_vimvar(VV_VAL, &save_val); - - did_emsg |= save_did_emsg; ---- 9988,10014 ---- - } - } - hash_unlock(ht); - } - else - { -+ vimvars[VV_KEY].vv_type = VAR_NUMBER; -+ - for (li = l->lv_first; li != NULL; li = nli) - { - if (tv_check_lock(li->li_tv.v_lock, ermsg)) - break; - nli = li->li_next; -+ vimvars[VV_KEY].vv_nr = index; - if (filter_map_one(&li->li_tv, expr, map, &rem) == FAIL - || did_emsg) - break; - if (!map && rem) - listitem_remove(l, li); -+ ++index; - } - } - -+ restore_vimvar(VV_KEY, &save_key); - restore_vimvar(VV_VAL, &save_val); - - did_emsg |= save_did_emsg; -*** ../vim-7.2.294/src/version.c 2009-11-17 12:08:48.000000000 +0100 ---- src/version.c 2009-11-17 12:18:08.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 295, - /**/ - --- -ARTHUR: You are indeed brave Sir knight, but the fight is mine. -BLACK KNIGHT: Had enough? -ARTHUR: You stupid bastard. You havn't got any arms left. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.296 --- a/components/vim/vim72-patches/7.2.296 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.296 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.296 -Problem: Help message about startuptime is wrong. (Dominique Pelle) -Solution: Remove the equal sign. -Files: src/main.c - - -*** ../vim-7.2.295/src/main.c 2009-11-11 14:21:48.000000000 +0100 ---- src/main.c 2009-11-11 22:51:04.000000000 +0100 -*************** -*** 3151,3157 **** - main_msg(_("--servername \tSend to/become the Vim server ")); - #endif - #ifdef STARTUPTIME -! main_msg(_("--startuptime=\tWrite startup timing messages to ")); - #endif - #ifdef FEAT_VIMINFO - main_msg(_("-i \t\tUse instead of .viminfo")); ---- 3151,3157 ---- - main_msg(_("--servername \tSend to/become the Vim server ")); - #endif - #ifdef STARTUPTIME -! main_msg(_("--startuptime \tWrite startup timing messages to ")); - #endif - #ifdef FEAT_VIMINFO - main_msg(_("-i \t\tUse instead of .viminfo")); -*** ../vim-7.2.295/src/version.c 2009-11-17 12:20:30.000000000 +0100 ---- src/version.c 2009-11-17 12:30:29.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 296, - /**/ - --- -BLACK KNIGHT: I'm invincible! -ARTHUR: You're a looney. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.297 --- a/components/vim/vim72-patches/7.2.297 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.297 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.297 -Problem: Reading freed memory when writing ":reg" output to a register. - (Dominique Pelle) -Solution: Skip the register being written to. -Files: src/ops.c - - -*** ../vim-7.2.296/src/ops.c 2009-11-11 17:22:30.000000000 +0100 ---- src/ops.c 2009-11-11 19:30:47.000000000 +0100 -*************** -*** 3991,3996 **** ---- 3991,4004 ---- - } - else - yb = &(y_regs[i]); -+ -+ #ifdef FEAT_EVAL -+ if (name == MB_TOLOWER(redir_reg) -+ || (redir_reg == '"' && yb == y_previous)) -+ continue; /* do not list register being written to, the -+ * pointer can be freed */ -+ #endif -+ - if (yb->y_array != NULL) - { - msg_putchar('\n'); -*************** -*** 6090,6096 **** - long maxlen; - #endif - -! if (y_ptr->y_array == NULL) /* NULL means emtpy register */ - y_ptr->y_size = 0; - - /* ---- 6098,6104 ---- - long maxlen; - #endif - -! if (y_ptr->y_array == NULL) /* NULL means empty register */ - y_ptr->y_size = 0; - - /* -*** ../vim-7.2.296/src/version.c 2009-11-17 12:31:30.000000000 +0100 ---- src/version.c 2009-11-17 12:42:28.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 297, - /**/ - --- -"Beware of bugs in the above code; I have only proved -it correct, not tried it." -- Donald Knuth - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.298 --- a/components/vim/vim72-patches/7.2.298 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.298 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.298 -Problem: ":vimgrep" crashes when there is an autocommand that sets a - window-local variable. -Solution: Initialize the w: hashtab for re-use. (Yukihiro Nakadaira) -Files: src/fileio.c - - -*** ../vim-7.2.297/src/fileio.c 2009-11-17 12:08:48.000000000 +0100 ---- src/fileio.c 2009-11-17 13:22:06.000000000 +0100 -*************** -*** 8597,8602 **** ---- 8605,8611 ---- - curwin = firstwin; - # ifdef FEAT_EVAL - vars_clear(&aucmd_win->w_vars.dv_hashtab); /* free all w: variables */ -+ hash_init(&aucmd_win->w_vars.dv_hashtab); /* re-use the hashtab */ - # endif - #else - curwin = aco->save_curwin; -*** ../vim-7.2.297/src/version.c 2009-11-17 12:43:19.000000000 +0100 ---- src/version.c 2009-11-17 14:56:19.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 298, - /**/ - --- -Eye have a spelling checker, it came with my PC; -It plainly marks four my revue mistakes I cannot sea. -I've run this poem threw it, I'm sure your please to no, -It's letter perfect in it's weigh, my checker tolled me sew! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.299 --- a/components/vim/vim72-patches/7.2.299 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.299 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.299 -Problem: Crash when comment middle is longer than start. -Solution: Fix size computation. (Lech Lorens) -Files: src/misc1.c - - -*** ../vim-7.2.298/src/misc1.c 2009-11-11 17:30:05.000000000 +0100 ---- src/misc1.c 2009-11-17 15:59:28.000000000 +0100 -*************** -*** 1121,1127 **** - if (i != lead_repl_len) - { - mch_memmove(p + lead_repl_len, p + i, -! (size_t)(lead_len - i - (leader - p))); - lead_len += lead_repl_len - i; - } - } ---- 1121,1127 ---- - if (i != lead_repl_len) - { - mch_memmove(p + lead_repl_len, p + i, -! (size_t)(lead_len - i - (p - leader))); - lead_len += lead_repl_len - i; - } - } -*** ../vim-7.2.298/src/version.c 2009-11-17 14:57:19.000000000 +0100 ---- src/version.c 2009-11-17 16:01:07.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 299, - /**/ - --- -BLACK KNIGHT: The Black Knight always triumphs. Have at you! - ARTHUR takes his last leg off. The BLACK KNIGHT's body lands upright. -BLACK KNIGHT: All right, we'll call it a draw. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.300 --- a/components/vim/vim72-patches/7.2.300 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,201 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.300 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.300 -Problem: Vim doesn't close file descriptors when forking and executing - another command, e.g., ":shell". -Solution: Use FD_CLOEXEC when available. (James Vega) -Files: src/auto/configure, src/config.h.in, src/configure.in, - src/ex_cmdds2.c, src/fileio.c, src/memfile.c, src/memline.c - - -*** ../vim-7.2.299/src/auto/configure 2009-11-17 12:08:48.000000000 +0100 ---- src/auto/configure 2009-11-17 13:09:03.000000000 +0100 -*************** -*** 15174,15179 **** ---- 15174,15231 ---- - $as_echo "yes" >&6; } - fi - -+ { $as_echo "$as_me:$LINENO: checking for FD_CLOEXEC" >&5 -+ $as_echo_n "checking for FD_CLOEXEC... " >&6; } -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #if HAVE_FCNTL_H -+ # include -+ #endif -+ int -+ main () -+ { -+ int flag = FD_CLOEXEC; -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ { $as_echo "$as_me:$LINENO: result: yes" >&5 -+ $as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF -+ #define HAVE_FD_CLOEXEC 1 -+ _ACEOF -+ -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ { $as_echo "$as_me:$LINENO: result: not usable" >&5 -+ $as_echo "not usable" >&6; } -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ - { $as_echo "$as_me:$LINENO: checking for rename" >&5 - $as_echo_n "checking for rename... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -*** ../vim-7.2.299/src/config.h.in 2009-11-17 12:08:48.000000000 +0100 ---- src/config.h.in 2009-11-17 13:01:36.000000000 +0100 -*************** -*** 388,390 **** ---- 388,393 ---- - - /* Define if you want XSMP interaction as well as vanilla swapfile safety */ - #undef USE_XSMP_INTERACT -+ -+ /* Define if fcntl()'s F_SETFD command knows about FD_CLOEXEC */ -+ #undef HAVE_FD_CLOEXEC -*** ../vim-7.2.299/src/configure.in 2009-11-17 12:08:48.000000000 +0100 ---- src/configure.in 2009-11-17 13:01:36.000000000 +0100 -*************** -*** 2855,2860 **** ---- 2855,2870 ---- - AC_MSG_RESULT(yes) - fi - -+ dnl make sure the FD_CLOEXEC flag for fcntl()'s F_SETFD command is known -+ AC_MSG_CHECKING(for FD_CLOEXEC) -+ AC_TRY_COMPILE( -+ [#if HAVE_FCNTL_H -+ # include -+ #endif], -+ [ int flag = FD_CLOEXEC;], -+ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FD_CLOEXEC), -+ AC_MSG_RESULT(not usable)) -+ - dnl rename needs to be checked separately to work on Nextstep with cc - AC_MSG_CHECKING(for rename) - AC_TRY_LINK([#include ], [rename("this", "that")], -*** ../vim-7.2.299/src/fileio.c 2009-11-17 14:57:19.000000000 +0100 ---- src/fileio.c 2009-11-17 13:22:06.000000000 +0100 -*************** -*** 2254,2259 **** ---- 2254,2267 ---- - - if (!read_buffer && !read_stdin) - close(fd); /* errors are ignored */ -+ #ifdef HAVE_FD_CLOEXEC -+ else -+ { -+ int fdflags = fcntl(fd, F_GETFD); -+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) -+ fcntl(fd, F_SETFD, fdflags | FD_CLOEXEC); -+ } -+ #endif - vim_free(buffer); - - #ifdef HAVE_DUP -*** ../vim-7.2.299/src/memfile.c 2008-07-13 19:39:39.000000000 +0200 ---- src/memfile.c 2009-11-17 13:22:15.000000000 +0100 -*************** -*** 1343,1348 **** ---- 1343,1353 ---- - } - else - { -+ #ifdef HAVE_FD_CLOEXEC -+ int fdflags = fcntl(mfp->mf_fd, F_GETFD); -+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) -+ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC); -+ #endif - #ifdef HAVE_SELINUX - mch_copy_sec(fname, mfp->mf_fname); - #endif -*** ../vim-7.2.299/src/memline.c 2009-11-03 15:32:58.000000000 +0100 ---- src/memline.c 2009-11-17 13:21:40.000000000 +0100 -*************** -*** 382,388 **** - dp->db_index[0] = --dp->db_txt_start; /* at end of block */ - dp->db_free -= 1 + INDEX_SIZE; - dp->db_line_count = 1; -! *((char_u *)dp + dp->db_txt_start) = NUL; /* emtpy line */ - - return OK; - ---- 382,388 ---- - dp->db_index[0] = --dp->db_txt_start; /* at end of block */ - dp->db_free -= 1 + INDEX_SIZE; - dp->db_line_count = 1; -! *((char_u *)dp + dp->db_txt_start) = NUL; /* empty line */ - - return OK; - -*************** -*** 490,495 **** ---- 490,502 ---- - EMSG(_("E301: Oops, lost the swap file!!!")); - return; - } -+ #ifdef HAVE_FD_CLOEXEC -+ { -+ int fdflags = fcntl(mfp->mf_fd, F_GETFD); -+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) -+ fcntl(mfp->mf_fd, F_SETFD, fdflags | FD_CLOEXEC); -+ } -+ #endif - } - if (!success) - EMSG(_("E302: Could not rename swap file")); -*** ../vim-7.2.299/src/version.c 2009-11-17 16:08:12.000000000 +0100 ---- src/version.c 2009-11-17 17:09:43.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 300, - /**/ - --- - | - -Ceci n'est pas une pipe. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.301 --- a/components/vim/vim72-patches/7.2.301 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,777 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.301 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -NOTE: some mail and patch programs may have a problem with the non-ASCII -characters in this patch. You can fetch the patch from -ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.301 and/or fetch the updated -files from CVS. http://www.vim.org/cvs.php - - -Patch 7.2.301 -Problem: Formatting is wrong when 'tw' is set to a small value. -Solution: Fix it and add tests. Also fix behavior of "1" in 'fo'. (Yukihiro - Nakadaira) -Files: src/edit.c, src/testdir/Makefile, src/testdir/test68.in, - src/testdir/test68.ok, src/testdir/test69.in, - src/testdir/test69.ok - - -*** ../vim-7.2.300/src/edit.c 2009-11-11 13:22:32.000000000 +0100 ---- src/edit.c 2009-11-17 15:34:47.000000000 +0100 -*************** -*** 181,187 **** - static void ins_ctrl_v __ARGS((void)); - static void undisplay_dollar __ARGS((void)); - static void insert_special __ARGS((int, int, int)); -! static void internal_format __ARGS((int textwidth, int second_indent, int flags, int format_only)); - static void check_auto_format __ARGS((int)); - static void redo_literal __ARGS((int c)); - static void start_arrow __ARGS((pos_T *end_insert_pos)); ---- 181,187 ---- - static void ins_ctrl_v __ARGS((void)); - static void undisplay_dollar __ARGS((void)); - static void insert_special __ARGS((int, int, int)); -! static void internal_format __ARGS((int textwidth, int second_indent, int flags, int format_only, int c)); - static void check_auto_format __ARGS((int)); - static void redo_literal __ARGS((int c)); - static void start_arrow __ARGS((pos_T *end_insert_pos)); -*************** -*** 2164,2170 **** - int i, c; - int actual_len; /* Take multi-byte characters */ - int actual_compl_length; /* into account. */ -! int *wca; /* Wide character array. */ - int has_lower = FALSE; - int was_letter = FALSE; - ---- 2164,2170 ---- - int i, c; - int actual_len; /* Take multi-byte characters */ - int actual_compl_length; /* into account. */ -! int *wca; /* Wide character array. */ - int has_lower = FALSE; - int was_letter = FALSE; - -*************** -*** 5558,5564 **** - } - if (do_internal) - #endif -! internal_format(textwidth, second_indent, flags, c == NUL); - } - - if (c == NUL) /* only formatting was wanted */ ---- 5558,5564 ---- - } - if (do_internal) - #endif -! internal_format(textwidth, second_indent, flags, c == NUL, c); - } - - if (c == NUL) /* only formatting was wanted */ -*************** -*** 5738,5748 **** - * Format text at the current insert position. - */ - static void -! internal_format(textwidth, second_indent, flags, format_only) - int textwidth; - int second_indent; - int flags; - int format_only; - { - int cc; - int save_char = NUL; ---- 5738,5749 ---- - * Format text at the current insert position. - */ - static void -! internal_format(textwidth, second_indent, flags, format_only, c) - int textwidth; - int second_indent; - int flags; - int format_only; -+ int c; /* character to be inserted (can be NUL) */ - { - int cc; - int save_char = NUL; -*************** -*** 5763,5769 **** - * When 'ai' is off we don't want a space under the cursor to be - * deleted. Replace it with an 'x' temporarily. - */ -! if (!curbuf->b_p_ai) - { - cc = gchar_cursor(); - if (vim_iswhite(cc)) ---- 5764,5774 ---- - * When 'ai' is off we don't want a space under the cursor to be - * deleted. Replace it with an 'x' temporarily. - */ -! if (!curbuf->b_p_ai -! #ifdef FEAT_VREPLACE -! && !(State & VREPLACE_FLAG) -! #endif -! ) - { - cc = gchar_cursor(); - if (vim_iswhite(cc)) -*************** -*** 5789,5797 **** - char_u *saved_text = NULL; - #endif - colnr_T col; - -! virtcol = get_nolist_virtcol(); -! if (virtcol < (colnr_T)textwidth) - break; - - #ifdef FEAT_COMMENTS ---- 5794,5804 ---- - char_u *saved_text = NULL; - #endif - colnr_T col; -+ colnr_T end_col; - -! virtcol = get_nolist_virtcol() -! + char2cells(c != NUL ? c : gchar_cursor()); -! if (virtcol <= (colnr_T)textwidth) - break; - - #ifdef FEAT_COMMENTS -*************** -*** 5831,5842 **** - coladvance((colnr_T)textwidth); - wantcol = curwin->w_cursor.col; - -! curwin->w_cursor.col = startcol - 1; -! #ifdef FEAT_MBYTE -! /* Correct cursor for multi-byte character. */ -! if (has_mbyte) -! mb_adjust_cursor(); -! #endif - foundcol = 0; - - /* ---- 5838,5844 ---- - coladvance((colnr_T)textwidth); - wantcol = curwin->w_cursor.col; - -! curwin->w_cursor.col = startcol; - foundcol = 0; - - /* -*************** -*** 5847,5857 **** - || curwin->w_cursor.lnum != Insstart.lnum - || curwin->w_cursor.col >= Insstart.col) - { -! cc = gchar_cursor(); - if (WHITECHAR(cc)) - { - /* remember position of blank just before text */ -! end_foundcol = curwin->w_cursor.col; - - /* find start of sequence of blanks */ - while (curwin->w_cursor.col > 0 && WHITECHAR(cc)) ---- 5849,5862 ---- - || curwin->w_cursor.lnum != Insstart.lnum - || curwin->w_cursor.col >= Insstart.col) - { -! if (curwin->w_cursor.col == startcol && c != NUL) -! cc = c; -! else -! cc = gchar_cursor(); - if (WHITECHAR(cc)) - { - /* remember position of blank just before text */ -! end_col = curwin->w_cursor.col; - - /* find start of sequence of blanks */ - while (curwin->w_cursor.col > 0 && WHITECHAR(cc)) -*************** -*** 5871,5877 **** - /* do not break after one-letter words */ - if (curwin->w_cursor.col == 0) - break; /* one-letter word at begin */ -! - col = curwin->w_cursor.col; - dec_cursor(); - cc = gchar_cursor(); ---- 5876,5886 ---- - /* do not break after one-letter words */ - if (curwin->w_cursor.col == 0) - break; /* one-letter word at begin */ -! #ifdef FEAT_COMMENTS -! /* do not break "#a b" when 'tw' is 2 */ -! if (curwin->w_cursor.col <= leader_len) -! break; -! #endif - col = curwin->w_cursor.col; - dec_cursor(); - cc = gchar_cursor(); -*************** -*** 5880,5905 **** - continue; /* one-letter, continue */ - curwin->w_cursor.col = col; - } -! #ifdef FEAT_MBYTE -! if (has_mbyte) -! foundcol = curwin->w_cursor.col -! + (*mb_ptr2len)(ml_get_cursor()); -! else -! #endif -! foundcol = curwin->w_cursor.col + 1; -! if (curwin->w_cursor.col < (colnr_T)wantcol) - break; - } - #ifdef FEAT_MBYTE -! else if (cc >= 0x100 && fo_multibyte -! && curwin->w_cursor.col <= (colnr_T)wantcol) - { - /* Break after or before a multi-byte character. */ - foundcol = curwin->w_cursor.col; -- if (curwin->w_cursor.col < (colnr_T)wantcol) -- foundcol += (*mb_char2len)(cc); - end_foundcol = foundcol; -! break; - } - #endif - if (curwin->w_cursor.col == 0) ---- 5889,5948 ---- - continue; /* one-letter, continue */ - curwin->w_cursor.col = col; - } -! -! inc_cursor(); -! -! end_foundcol = end_col + 1; -! foundcol = curwin->w_cursor.col; -! if (curwin->w_cursor.col <= (colnr_T)wantcol) - break; - } - #ifdef FEAT_MBYTE -! else if (cc >= 0x100 && fo_multibyte) - { - /* Break after or before a multi-byte character. */ -+ if (curwin->w_cursor.col != startcol) -+ { -+ #ifdef FEAT_COMMENTS -+ /* Don't break until after the comment leader */ -+ if (curwin->w_cursor.col < leader_len) -+ break; -+ #endif -+ col = curwin->w_cursor.col; -+ inc_cursor(); -+ /* Don't change end_foundcol if already set. */ -+ if (foundcol != curwin->w_cursor.col) -+ { -+ foundcol = curwin->w_cursor.col; -+ end_foundcol = foundcol; -+ if (curwin->w_cursor.col <= (colnr_T)wantcol) -+ break; -+ } -+ curwin->w_cursor.col = col; -+ } -+ -+ if (curwin->w_cursor.col == 0) -+ break; -+ -+ col = curwin->w_cursor.col; -+ -+ dec_cursor(); -+ cc = gchar_cursor(); -+ -+ if (WHITECHAR(cc)) -+ continue; /* break with space */ -+ #ifdef FEAT_COMMENTS -+ /* Don't break until after the comment leader */ -+ if (curwin->w_cursor.col < leader_len) -+ break; -+ #endif -+ -+ curwin->w_cursor.col = col; -+ - foundcol = curwin->w_cursor.col; - end_foundcol = foundcol; -! if (curwin->w_cursor.col <= (colnr_T)wantcol) -! break; - } - #endif - if (curwin->w_cursor.col == 0) -*************** -*** 5926,5939 **** - orig_col = startcol; /* Will start backspacing from here */ - else - #endif -! replace_offset = startcol - end_foundcol - 1; - - /* - * adjust startcol for spaces that will be deleted and - * characters that will remain on top line - */ - curwin->w_cursor.col = foundcol; -! while (cc = gchar_cursor(), WHITECHAR(cc)) - inc_cursor(); - startcol -= curwin->w_cursor.col; - if (startcol < 0) ---- 5969,5983 ---- - orig_col = startcol; /* Will start backspacing from here */ - else - #endif -! replace_offset = startcol - end_foundcol; - - /* - * adjust startcol for spaces that will be deleted and - * characters that will remain on top line - */ - curwin->w_cursor.col = foundcol; -! while ((cc = gchar_cursor(), WHITECHAR(cc)) -! && (!fo_white_par || curwin->w_cursor.col < startcol)) - inc_cursor(); - startcol -= curwin->w_cursor.col; - if (startcol < 0) -*************** -*** 8509,8515 **** - if (mode == BACKSPACE_LINE - && (curbuf->b_p_ai - #ifdef FEAT_CINDENT -! || cindent_on() - #endif - ) - #ifdef FEAT_RIGHTLEFT ---- 8553,8559 ---- - if (mode == BACKSPACE_LINE - && (curbuf->b_p_ai - #ifdef FEAT_CINDENT -! || cindent_on() - #endif - ) - #ifdef FEAT_RIGHTLEFT -*** ../vim-7.2.300/src/testdir/Makefile 2009-11-17 17:36:13.000000000 +0100 ---- src/testdir/Makefile 2009-11-17 15:11:26.000000000 +0100 -*************** -*** 22,28 **** - test48.out test49.out test51.out test52.out test53.out \ - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ -! test64.out test65.out test66.out test67.out - - SCRIPTS_GUI = test16.out - ---- 22,29 ---- - test48.out test49.out test51.out test52.out test53.out \ - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ -! test64.out test65.out test66.out test67.out test68.out \ -! test69.out - - SCRIPTS_GUI = test16.out - -*** ../vim-7.2.300/src/testdir/test68.in 2009-11-17 17:39:36.000000000 +0100 ---- src/testdir/test68.in 2009-11-17 15:39:09.000000000 +0100 -*************** -*** 0 **** ---- 1,56 ---- -+ Test for text formatting. -+ -+ Results of test68: -+ -+ STARTTEST -+ :so small.vim -+ /^{/+1 -+ :set noai tw=2 fo=t -+ gRa b -+ ENDTEST -+ -+ { -+ -+ -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set ai tw=2 fo=tw -+ gqgqjjllab -+ ENDTEST -+ -+ { -+ a b -+ -+ a -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set tw=3 fo=t -+ gqgqo -+ a  -+ ENDTEST -+ -+ { -+ a  -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set tw=2 fo=tcq1 comments=:# -+ gqgqjgqgqo -+ a b -+ #a b -+ ENDTEST -+ -+ { -+ a b -+ #a b -+ } -+ -+ STARTTEST -+ :g/^STARTTEST/.,/^ENDTEST/d -+ :1;/^Results/,$wq! test.out -+ ENDTEST -*** ../vim-7.2.300/src/testdir/test68.ok 2009-11-17 17:39:36.000000000 +0100 ---- src/testdir/test68.ok 2009-11-17 15:11:26.000000000 +0100 -*************** -*** 0 **** ---- 1,35 ---- -+ Results of test68: -+ -+ -+ { -+ a -+ b -+ } -+ -+ -+ { -+ a -+ b -+ -+ a -+ b -+ } -+ -+ -+ { -+ a -+  -+ -+ a -+  -+ } -+ -+ -+ { -+ a b -+ #a b -+ -+ a b -+ #a b -+ } -+ -*** ../vim-7.2.300/src/testdir/test69.in 2009-11-17 17:39:36.000000000 +0100 ---- src/testdir/test69.in 2009-11-17 15:11:26.000000000 +0100 -*************** -*** 0 **** ---- 1,139 ---- -+ Test for multi-byte text formatting. -+ -+ STARTTEST -+ :so mbyte.vim -+ :set encoding=utf-8 -+ ENDTEST -+ -+ Results of test69: -+ -+ STARTTEST -+ /^{/+1 -+ :set tw=2 fo=t -+ gqgqjgqgqo -+ XYZ -+ abc XYZ -+ ENDTEST -+ -+ { -+ XYZ -+ abc XYZ -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set tw=1 fo=tm -+ gqgqjgqgqjgqgqjgqgqjgqgqo -+ X -+ Xa -+ X a -+ XY -+ X Y -+ ENDTEST -+ -+ { -+ X -+ Xa -+ X a -+ XY -+ X Y -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set tw=2 fo=tm -+ gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo -+ X -+ Xa -+ X a -+ XY -+ X Y -+ aX -+ abX -+ abcX -+ abX c -+ abXY -+ ENDTEST -+ -+ { -+ X -+ Xa -+ X a -+ XY -+ X Y -+ aX -+ abX -+ abcX -+ abX c -+ abXY -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set ai tw=2 fo=tm -+ gqgqjgqgqo -+ X -+ Xa -+ ENDTEST -+ -+ { -+ X -+ Xa -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set noai tw=2 fo=tm -+ gqgqjgqgqo -+ X -+ Xa -+ ENDTEST -+ -+ { -+ X -+ Xa -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set tw=2 fo=cqm comments=n:X -+ gqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqjgqgqo -+ X -+ Xa -+ XaY -+ XY -+ XYZ -+ X Y -+ X YZ -+ XX -+ XXa -+ XXY -+ ENDTEST -+ -+ { -+ X -+ Xa -+ XaY -+ XY -+ XYZ -+ X Y -+ X YZ -+ XX -+ XXa -+ XXY -+ } -+ -+ STARTTEST -+ /^{/+1 -+ :set tw=2 fo=tm -+ RXa -+ ENDTEST -+ -+ { -+ -+ } -+ -+ STARTTEST -+ :g/^STARTTEST/.,/^ENDTEST/d -+ :1;/^Results/,$wq! test.out -+ ENDTEST -*** ../vim-7.2.300/src/testdir/test69.ok 2009-11-17 17:39:36.000000000 +0100 ---- src/testdir/test69.ok 2009-11-17 15:11:26.000000000 +0100 -*************** -*** 0 **** ---- 1,142 ---- -+ Results of test69: -+ -+ -+ { -+ XYZ -+ abc -+ XYZ -+ -+ XYZ -+ abc -+ XYZ -+ } -+ -+ -+ { -+ X -+ X -+ a -+ X -+ a -+ X -+ Y -+ X -+ Y -+ -+ X -+ X -+ a -+ X -+ a -+ X -+ Y -+ X -+ Y -+ } -+ -+ -+ { -+ X -+ X -+ a -+ X -+ a -+ X -+ Y -+ X -+ Y -+ a -+ X -+ ab -+ X -+ abc -+ X -+ ab -+ X -+ c -+ ab -+ X -+ Y -+ -+ X -+ X -+ a -+ X -+ a -+ X -+ Y -+ X -+ Y -+ a -+ X -+ ab -+ X -+ abc -+ X -+ ab -+ X -+ c -+ ab -+ X -+ Y -+ } -+ -+ -+ { -+ X -+ X -+ a -+ -+ X -+ X -+ a -+ } -+ -+ -+ { -+ X -+ X -+ a -+ -+ X -+ X -+ a -+ } -+ -+ -+ { -+ X -+ Xa -+ Xa -+ XY -+ XY -+ XY -+ XZ -+ X Y -+ X Y -+ X Z -+ XX -+ XXa -+ XXY -+ -+ X -+ Xa -+ Xa -+ XY -+ XY -+ XY -+ XZ -+ X Y -+ X Y -+ X Z -+ XX -+ XXa -+ XXY -+ } -+ -+ -+ { -+ X -+ a -+ } -+ -*** ../vim-7.2.300/src/version.c 2009-11-17 17:37:34.000000000 +0100 ---- src/version.c 2009-11-17 17:26:35.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 301, - /**/ diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.303 --- a/components/vim/vim72-patches/7.2.303 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.303 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.303 (after 7.2.294) -Problem: Can't build on MS-Windows. -Solution: Add #ifdef around vim_settempdir(). (James Vega) -Files: src/fileio.c - - -*** ../vim-7.2.302/src/fileio.c 2009-11-17 17:13:03.000000000 +0100 ---- src/fileio.c 2009-11-18 20:06:55.000000000 +0100 -*************** -*** 146,152 **** ---- 146,154 ---- - # endif - #endif - static int move_lines __ARGS((buf_T *frombuf, buf_T *tobuf)); -+ #ifdef TEMPDIRNAMES - static void vim_settempdir __ARGS((char_u *tempdir)); -+ #endif - #ifdef FEAT_AUTOCMD - static char *e_auchangedbuf = N_("E812: Autocommands changed buffer or buffer name"); - #endif -*************** -*** 6995,7000 **** ---- 6997,7003 ---- - } - #endif - -+ #ifdef TEMPDIRNAMES - /* - * Directory "tempdir" was created. Expand this name to a full path and put - * it in "vim_tempdir". This avoids that using ":cd" would confuse us. -*************** -*** 7021,7026 **** ---- 7024,7030 ---- - vim_free(buf); - } - } -+ #endif - - /* - * vim_tempname(): Return a unique name that can be used for a temp file. -*** ../vim-7.2.302/src/version.c 2009-11-17 17:57:10.000000000 +0100 ---- src/version.c 2009-11-18 20:07:58.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 303, - /**/ - --- -BEDEVERE: Why do you think she is a witch? -SECOND VILLAGER: She turned me into a newt. -BEDEVERE: A newt? -SECOND VILLAGER: (After looking at himself for some time) I got better. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.304 --- a/components/vim/vim72-patches/7.2.304 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.304 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.304 -Problem: Compiler warning for bad pointer cast. -Solution: Use another variable for int pointer. -Files: src/ops.c - - -*** ../vim-7.2.303/src/ops.c 2009-11-17 12:43:19.000000000 +0100 ---- src/ops.c 2009-11-18 15:40:26.000000000 +0100 -*************** -*** 5597,5603 **** - vc.vc_type = CONV_NONE; - if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) - { -! conv_str = string_convert(&vc, str, (int*)&len); - if (conv_str != NULL) - { - vim_free(str); ---- 5597,5606 ---- - vc.vc_type = CONV_NONE; - if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) - { -! int intlen = len; -! -! conv_str = string_convert(&vc, str, &intlen); -! len = intlen; - if (conv_str != NULL) - { - vim_free(str); -*** ../vim-7.2.303/src/version.c 2009-11-18 20:12:15.000000000 +0100 ---- src/version.c 2009-11-25 12:37:36.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 304, - /**/ - --- -I recommend ordering large cargo containers of paper towels to make up -whatever budget underruns you have. Paper products are always useful and they -have the advantage of being completely flushable if you need to make room in -the storage area later. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.305 --- a/components/vim/vim72-patches/7.2.305 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,105 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.305 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.305 -Problem: Recursively redrawing causes a memory leak. (Dominique Pelle) -Solution: Disallow recursive screen updating. -Files: src/screen.c - - -*** ../vim-7.2.304/src/screen.c 2009-11-11 17:07:25.000000000 +0100 ---- src/screen.c 2009-11-17 16:30:53.000000000 +0100 -*************** -*** 323,328 **** ---- 323,329 ---- - int did_one; - #endif - -+ /* Don't do anything if the screen structures are (not yet) valid. */ - if (!screen_valid(TRUE)) - return; - -*************** -*** 342,348 **** - if (curwin->w_lines_valid == 0 && type < NOT_VALID) - type = NOT_VALID; - -! if (!redrawing()) - { - redraw_later(type); /* remember type for next time */ - must_redraw = type; ---- 343,351 ---- - if (curwin->w_lines_valid == 0 && type < NOT_VALID) - type = NOT_VALID; - -! /* Postpone the redrawing when it's not needed and when being called -! * recursively. */ -! if (!redrawing() || updating_screen) - { - redraw_later(type); /* remember type for next time */ - must_redraw = type; -*************** -*** 582,587 **** ---- 585,591 ---- - - /* - * Prepare for updating one or more windows. -+ * Caller must check for "updating_screen" already set to avoid recursiveness. - */ - static void - update_prepare() -*************** -*** 663,669 **** - doit = TRUE; - } - -! if (!doit) - return; - - /* update all windows that need updating */ ---- 667,675 ---- - doit = TRUE; - } - -! /* Return when there is nothing to do or screen updating already -! * happening. */ -! if (!doit || updating_screen) - return; - - /* update all windows that need updating */ -*************** -*** 696,701 **** ---- 702,711 ---- - updateWindow(wp) - win_T *wp; - { -+ /* return if already busy updating */ -+ if (updating_screen) -+ return; -+ - update_prepare(); - - #ifdef FEAT_CLIPBOARD -*** ../vim-7.2.304/src/version.c 2009-11-25 12:38:49.000000000 +0100 ---- src/version.c 2009-11-25 13:01:48.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 305, - /**/ - --- -If the Universe is constantly expanding, why can't I ever find a parking space? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.306 --- a/components/vim/vim72-patches/7.2.306 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.306 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.306 -Problem: shellescape("10%%", 1) only escapes first %. (Christian Brabandt) -Solution: Don't copy the character after the escaped one. -Files: src/misc2.c - - -*** ../vim-7.2.305/src/misc2.c 2009-11-11 16:56:13.000000000 +0100 ---- src/misc2.c 2009-11-25 17:11:49.000000000 +0100 -*************** -*** 1390,1395 **** ---- 1390,1396 ---- - *d++ = '\\'; /* insert backslash */ - while (--l >= 0) /* copy the var */ - *d++ = *p++; -+ continue; - } - - MB_COPY_CHAR(p, d); -*** ../vim-7.2.305/src/version.c 2009-11-25 13:03:29.000000000 +0100 ---- src/version.c 2009-11-25 17:13:54.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 306, - /**/ - --- -Article in the first Free Software Magazine: "Bram Moolenaar studied electrical -engineering at the Technical University of Delft and graduated in 1985 on a -multi-processor Unix architecture." -Response by "dimator": Could the school not afford a proper stage for the -ceremony? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.307 --- a/components/vim/vim72-patches/7.2.307 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,181 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.307 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.307 -Problem: Crash with a very long syntax match statement. (Guy Gur Ari) -Solution: When the offset does not fit in the two bytes available give an - error instead of continuing with invalid pointers. -Files: src/regexp.c - - -*** ../vim-7.2.306/src/regexp.c 2009-05-15 21:31:11.000000000 +0200 ---- src/regexp.c 2009-11-25 18:13:03.000000000 +0100 -*************** -*** 583,588 **** ---- 583,589 ---- - #endif - static char_u *regcode; /* Code-emit pointer, or JUST_CALC_SIZE */ - static long regsize; /* Code size. */ -+ static int reg_toolong; /* TRUE when offset out of range */ - static char_u had_endbrace[NSUBEXP]; /* flags, TRUE if end of () found */ - static unsigned regflags; /* RF_ flags for prog */ - static long brace_min[10]; /* Minimums for complex brace repeats */ -*************** -*** 1028,1036 **** - regcomp_start(expr, re_flags); - regcode = r->program; - regc(REGMAGIC); -! if (reg(REG_NOPAREN, &flags) == NULL) - { - vim_free(r); - return NULL; - } - ---- 1029,1039 ---- - regcomp_start(expr, re_flags); - regcode = r->program; - regc(REGMAGIC); -! if (reg(REG_NOPAREN, &flags) == NULL || reg_toolong) - { - vim_free(r); -+ if (reg_toolong) -+ EMSG_RET_NULL(_("E339: Pattern too long")); - return NULL; - } - -*************** -*** 1141,1146 **** ---- 1144,1150 ---- - re_has_z = 0; - #endif - regsize = 0L; -+ reg_toolong = FALSE; - regflags = 0; - #if defined(FEAT_SYN_HL) || defined(PROTO) - had_eol = FALSE; -*************** -*** 1228,1234 **** - { - skipchr(); - br = regbranch(&flags); -! if (br == NULL) - return NULL; - regtail(ret, br); /* BRANCH -> BRANCH. */ - if (!(flags & HASWIDTH)) ---- 1232,1238 ---- - { - skipchr(); - br = regbranch(&flags); -! if (br == NULL || reg_toolong) - return NULL; - regtail(ret, br); /* BRANCH -> BRANCH. */ - if (!(flags & HASWIDTH)) -*************** -*** 1313,1318 **** ---- 1317,1324 ---- - break; - skipchr(); - regtail(latest, regnode(END)); /* operand ends */ -+ if (reg_toolong) -+ break; - reginsert(MATCH, latest); - chain = latest; - } -*************** -*** 1382,1388 **** - break; - default: - latest = regpiece(&flags); -! if (latest == NULL) - return NULL; - *flagp |= flags & (HASWIDTH | HASNL | HASLOOKBH); - if (chain == NULL) /* First piece. */ ---- 1388,1394 ---- - break; - default: - latest = regpiece(&flags); -! if (latest == NULL || reg_toolong) - return NULL; - *flagp |= flags & (HASWIDTH | HASNL | HASLOOKBH); - if (chain == NULL) /* First piece. */ -*************** -*** 2540,2547 **** - offset = (int)(scan - val); - else - offset = (int)(val - scan); -! *(scan + 1) = (char_u) (((unsigned)offset >> 8) & 0377); -! *(scan + 2) = (char_u) (offset & 0377); - } - - /* ---- 2546,2561 ---- - offset = (int)(scan - val); - else - offset = (int)(val - scan); -! /* When the offset uses more than 16 bits it can no longer fit in the two -! * bytes avaliable. Use a global flag to avoid having to check return -! * values in too many places. */ -! if (offset > 0xffff) -! reg_toolong = TRUE; -! else -! { -! *(scan + 1) = (char_u) (((unsigned)offset >> 8) & 0377); -! *(scan + 2) = (char_u) (offset & 0377); -! } - } - - /* -*************** -*** 5764,5769 **** ---- 5778,5785 ---- - - /* - * regnext - dig the "next" pointer out of a node -+ * Returns NULL when calculating size, when there is no next item and when -+ * there is an error. - */ - static char_u * - regnext(p) -*************** -*** 5771,5777 **** - { - int offset; - -! if (p == JUST_CALC_SIZE) - return NULL; - - offset = NEXT(p); ---- 5787,5793 ---- - { - int offset; - -! if (p == JUST_CALC_SIZE || reg_toolong) - return NULL; - - offset = NEXT(p); -*** ../vim-7.2.306/src/version.c 2009-11-25 17:15:16.000000000 +0100 ---- src/version.c 2009-11-25 18:14:32.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 307, - /**/ - --- -The fastest way to get an engineer to solve a problem is to declare that the -problem is unsolvable. No engineer can walk away from an unsolvable problem -until it's solved. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.308 --- a/components/vim/vim72-patches/7.2.308 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,182 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.308 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.308 -Problem: When using a regexp in the "\=" expression of a substitute - command, submatch() returns empty strings for further lines. - (Clockwork Jam) -Solution: Save and restore the line number and line count when calling - reg_getline(). -Files: src/regexp.c - - -*** ../vim-7.2.307/src/regexp.c 2009-11-25 18:21:48.000000000 +0100 ---- src/regexp.c 2009-11-25 19:45:07.000000000 +0100 -*************** -*** 6828,6833 **** ---- 6828,6835 ---- - * that contains a call to substitute() and submatch(). */ - static regmatch_T *submatch_match; - static regmmatch_T *submatch_mmatch; -+ static linenr_T submatch_firstlnum; -+ static linenr_T submatch_maxline; - #endif - - #if defined(FEAT_MODIFY_FNAME) || defined(FEAT_EVAL) || defined(PROTO) -*************** -*** 6941,6947 **** - } - else - { -- linenr_T save_reg_maxline; - win_T *save_reg_win; - int save_ireg_ic; - ---- 6943,6948 ---- -*************** -*** 6953,6959 **** - * vim_regexec_multi() can't be called recursively. */ - submatch_match = reg_match; - submatch_mmatch = reg_mmatch; -! save_reg_maxline = reg_maxline; - save_reg_win = reg_win; - save_ireg_ic = ireg_ic; - can_f_submatch = TRUE; ---- 6954,6961 ---- - * vim_regexec_multi() can't be called recursively. */ - submatch_match = reg_match; - submatch_mmatch = reg_mmatch; -! submatch_firstlnum = reg_firstlnum; -! submatch_maxline = reg_maxline; - save_reg_win = reg_win; - save_ireg_ic = ireg_ic; - can_f_submatch = TRUE; -*************** -*** 6976,6982 **** - - reg_match = submatch_match; - reg_mmatch = submatch_mmatch; -! reg_maxline = save_reg_maxline; - reg_win = save_reg_win; - ireg_ic = save_ireg_ic; - can_f_submatch = FALSE; ---- 6978,6985 ---- - - reg_match = submatch_match; - reg_mmatch = submatch_mmatch; -! reg_firstlnum = submatch_firstlnum; -! reg_maxline = submatch_maxline; - reg_win = save_reg_win; - ireg_ic = save_ireg_ic; - can_f_submatch = FALSE; -*************** -*** 7212,7217 **** ---- 7215,7243 ---- - - #ifdef FEAT_EVAL - /* -+ * Call reg_getline() with the line numbers from the submatch. If a -+ * substitute() was used the reg_maxline and other values have been -+ * overwritten. -+ */ -+ static char_u * -+ reg_getline_submatch(lnum) -+ linenr_T lnum; -+ { -+ char_u *s; -+ linenr_T save_first = reg_firstlnum; -+ linenr_T save_max = reg_maxline; -+ -+ reg_firstlnum = submatch_firstlnum; -+ reg_maxline = submatch_maxline; -+ -+ s = reg_getline(lnum); -+ -+ reg_firstlnum = save_first; -+ reg_maxline = save_max; -+ return s; -+ } -+ -+ /* - * Used for the submatch() function: get the string from the n'th submatch in - * allocated memory. - * Returns NULL when not in a ":s" command and for a non-existing submatch. -*************** -*** 7241,7247 **** - if (lnum < 0 || submatch_mmatch->endpos[no].lnum < 0) - return NULL; - -! s = reg_getline(lnum) + submatch_mmatch->startpos[no].col; - if (s == NULL) /* anti-crash check, cannot happen? */ - break; - if (submatch_mmatch->endpos[no].lnum == lnum) ---- 7267,7273 ---- - if (lnum < 0 || submatch_mmatch->endpos[no].lnum < 0) - return NULL; - -! s = reg_getline_submatch(lnum) + submatch_mmatch->startpos[no].col; - if (s == NULL) /* anti-crash check, cannot happen? */ - break; - if (submatch_mmatch->endpos[no].lnum == lnum) -*************** -*** 7267,7273 **** - ++lnum; - while (lnum < submatch_mmatch->endpos[no].lnum) - { -! s = reg_getline(lnum++); - if (round == 2) - STRCPY(retval + len, s); - len += (int)STRLEN(s); ---- 7293,7299 ---- - ++lnum; - while (lnum < submatch_mmatch->endpos[no].lnum) - { -! s = reg_getline_submatch(lnum++); - if (round == 2) - STRCPY(retval + len, s); - len += (int)STRLEN(s); -*************** -*** 7276,7282 **** - ++len; - } - if (round == 2) -! STRNCPY(retval + len, reg_getline(lnum), - submatch_mmatch->endpos[no].col); - len += submatch_mmatch->endpos[no].col; - if (round == 2) ---- 7302,7308 ---- - ++len; - } - if (round == 2) -! STRNCPY(retval + len, reg_getline_submatch(lnum), - submatch_mmatch->endpos[no].col); - len += submatch_mmatch->endpos[no].col; - if (round == 2) -*** ../vim-7.2.307/src/version.c 2009-11-25 18:21:48.000000000 +0100 ---- src/version.c 2009-11-25 19:50:16.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 308, - /**/ - --- -Engineers are always delighted to share wisdom, even in areas in which they -have no experience whatsoever. Their logic provides them with inherent -insight into any field of expertise. This can be a problem when dealing with -the illogical people who believe that knowledge can only be derived through -experience. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.309 --- a/components/vim/vim72-patches/7.2.309 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.309 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.309 (after 7.2.308) -Problem: Warning for missing function prototype. (Patrick Texier) -Solution: Add the prototype. -Files: src/regexp.c - - -*** ../vim-7.2.308/src/regexp.c 2009-11-25 19:51:56.000000000 +0100 ---- src/regexp.c 2009-11-26 20:39:18.000000000 +0100 -*************** -*** 7214,7219 **** ---- 7214,7221 ---- - } - - #ifdef FEAT_EVAL -+ static char_u *reg_getline_submatch __ARGS((linenr_T lnum)); -+ - /* - * Call reg_getline() with the line numbers from the submatch. If a - * substitute() was used the reg_maxline and other values have been -*** ../vim-7.2.308/src/version.c 2009-11-25 19:51:56.000000000 +0100 ---- src/version.c 2009-11-26 20:40:11.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 309, - /**/ - --- -Female engineers become irresistible at the age of consent and remain that -way until about thirty minutes after their clinical death. Longer if it's a -warm day. - (Scott Adams - The Dilbert principle) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.310 --- a/components/vim/vim72-patches/7.2.310 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.310 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.310 -Problem: When a filetype plugin in ~/.vim/ftdetect uses ":setfiletype" and - the file starts with a "# comment" it gets "conf" filetype. -Solution: Check for "conf" filetype after using ftdetect plugins. -Files: runtime/filetype.vim - - -*** ../vim-7.2.309/runtime/filetype.vim 2008-08-06 18:56:36.000000000 +0200 ---- runtime/filetype.vim 2009-12-02 12:08:42.000000000 +0100 -*************** -*** 2400,2405 **** ---- 2435,2446 ---- - au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh') - - -+ -+ " Use the filetype detect plugins. They may overrule any of the previously -+ " detected filetypes. -+ runtime! ftdetect/*.vim -+ -+ - " Generic configuration file (check this last, it's just guessing!) - au BufNewFile,BufRead,StdinReadPost * - \ if !did_filetype() && expand("") !~ g:ft_ignore_pat -*************** -*** 2408,2417 **** - \ setf conf | - \ endif - -- " Use the plugin-filetype checks last, they may overrule any of the previously -- " detected filetypes. -- runtime! ftdetect/*.vim -- - augroup END - - ---- 2449,2454 ---- -*** ../vim-7.2.309/src/version.c 2009-11-26 20:41:19.000000000 +0100 ---- src/version.c 2009-12-02 12:05:27.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 310, - /**/ - --- -A)bort, R)etry, P)lease don't bother me again - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.311 --- a/components/vim/vim72-patches/7.2.311 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.311 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.311 -Problem: Can't compile with FreeMiNT. -Solution: Change #ifdef for limits.h. (Alan Hourihane) -Files: src/fileio.c - - -*** ../vim-7.2.310/src/fileio.c 2009-11-18 20:12:15.000000000 +0100 ---- src/fileio.c 2009-12-02 13:30:07.000000000 +0100 -*************** -*** 21,27 **** - - #include "vim.h" - -! #ifdef __TANDEM - # include /* for SSIZE_MAX */ - #endif - ---- 21,27 ---- - - #include "vim.h" - -! #if defined(__TANDEM) || defined(__MINT__) - # include /* for SSIZE_MAX */ - #endif - -*** ../vim-7.2.310/src/version.c 2009-12-02 12:08:57.000000000 +0100 ---- src/version.c 2009-12-02 13:31:46.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 311, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -3. Your bookmark takes 15 minutes to scroll from top to bottom. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.312 --- a/components/vim/vim72-patches/7.2.312 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,312 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.312 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.312 -Problem: iconv() returns an invalid character sequence when conversion - fails. It should return an empty string. (Yongwei Wu) -Solution: Be more strict about invalid characters in the input. -Files: src/mbyte.c - - -*** ../vim-7.2.311/src/mbyte.c 2009-06-16 15:23:07.000000000 +0200 ---- src/mbyte.c 2009-11-25 16:10:44.000000000 +0100 -*************** -*** 133,154 **** - static int dbcs_ptr2cells_len __ARGS((char_u *p, int size)); - static int dbcs_ptr2char __ARGS((char_u *p)); - -! /* Lookup table to quickly get the length in bytes of a UTF-8 character from -! * the first byte of a UTF-8 string. Bytes which are illegal when used as the -! * first byte have a one, because these will be used separately. */ - static char utf8len_tab[256] = - { - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /*bogus*/ -! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /*bogus*/ - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,1,1, - }; - - /* - * XIM often causes trouble. Define XIM_DEBUG to get a log of XIM callbacks - * in the "xim.log" file. - */ ---- 133,172 ---- - static int dbcs_ptr2cells_len __ARGS((char_u *p, int size)); - static int dbcs_ptr2char __ARGS((char_u *p)); - -! /* -! * Lookup table to quickly get the length in bytes of a UTF-8 character from -! * the first byte of a UTF-8 string. -! * Bytes which are illegal when used as the first byte have a 1. -! * The NUL byte has length 1. -! */ - static char utf8len_tab[256] = - { - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -! 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,1,1, - }; - - /* -+ * Like utf8len_tab above, but using a zero for illegal lead bytes. -+ */ -+ static char utf8len_tab_zero[256] = -+ { -+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, -+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, -+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,0,0, -+ }; -+ -+ /* - * XIM often causes trouble. Define XIM_DEBUG to get a log of XIM callbacks - * in the "xim.log" file. - */ -*************** -*** 1352,1358 **** - if (size > 0 && *p >= 0x80) - { - if (utf_ptr2len_len(p, size) < utf8len_tab[*p]) -! return 1; - c = utf_ptr2char(p); - /* An illegal byte is displayed as . */ - if (utf_ptr2len(p) == 1 || c == NUL) ---- 1370,1376 ---- - if (size > 0 && *p >= 0x80) - { - if (utf_ptr2len_len(p, size) < utf8len_tab[*p]) -! return 1; /* truncated */ - c = utf_ptr2char(p); - /* An illegal byte is displayed as . */ - if (utf_ptr2len(p) == 1 || c == NUL) -*************** -*** 1473,1479 **** - if (p[0] < 0x80) /* be quick for ASCII */ - return p[0]; - -! len = utf8len_tab[p[0]]; - if (len > 1 && (p[1] & 0xc0) == 0x80) - { - if (len == 2) ---- 1491,1497 ---- - if (p[0] < 0x80) /* be quick for ASCII */ - return p[0]; - -! len = utf8len_tab_zero[p[0]]; - if (len > 1 && (p[1] & 0xc0) == 0x80) - { - if (len == 2) -*************** -*** 1723,1728 **** ---- 1741,1747 ---- - /* - * Return length of UTF-8 character, obtained from the first byte. - * "b" must be between 0 and 255! -+ * Returns 1 for an invalid first byte value. - */ - int - utf_byte2len(b) -*************** -*** 1737,1742 **** ---- 1756,1762 ---- - * Returns 1 for "". - * Returns 1 for an illegal byte sequence (also in incomplete byte seq.). - * Returns number > "size" for an incomplete byte sequence. -+ * Never returns zero. - */ - int - utf_ptr2len_len(p, size) -*************** -*** 1747,1757 **** - int i; - int m; - -! if (*p == NUL) -! return 1; -! m = len = utf8len_tab[*p]; - if (len > size) - m = size; /* incomplete byte sequence. */ - for (i = 1; i < m; ++i) - if ((p[i] & 0xc0) != 0x80) - return 1; ---- 1767,1779 ---- - int i; - int m; - -! len = utf8len_tab[*p]; -! if (len == 1) -! return 1; /* NUL, ascii or illegal lead byte */ - if (len > size) - m = size; /* incomplete byte sequence. */ -+ else -+ m = len; - for (i = 1; i < m; ++i) - if ((p[i] & 0xc0) != 0x80) - return 1; -*************** -*** 2505,2510 **** ---- 2527,2533 ---- - /* - * mb_head_off() function pointer. - * Return offset from "p" to the first byte of the character it points into. -+ * If "p" points to the NUL at the end of the string return 0. - * Returns 0 when already at the first byte of a character. - */ - int -*************** -*** 2524,2530 **** - - /* It can't be a trailing byte when not using DBCS, at the start of the - * string or the previous byte can't start a double-byte. */ -! if (p <= base || MB_BYTE2LEN(p[-1]) == 1) - return 0; - - /* This is slow: need to start at the base and go forward until the ---- 2547,2553 ---- - - /* It can't be a trailing byte when not using DBCS, at the start of the - * string or the previous byte can't start a double-byte. */ -! if (p <= base || MB_BYTE2LEN(p[-1]) == 1 || *p == NUL) - return 0; - - /* This is slow: need to start at the base and go forward until the -*************** -*** 2552,2558 **** - * lead byte in the current cell. */ - if (p <= base - || (enc_dbcs == DBCS_JPNU && p[-1] == 0x8e) -! || MB_BYTE2LEN(p[-1]) == 1) - return 0; - - /* This is slow: need to start at the base and go forward until the ---- 2575,2582 ---- - * lead byte in the current cell. */ - if (p <= base - || (enc_dbcs == DBCS_JPNU && p[-1] == 0x8e) -! || MB_BYTE2LEN(p[-1]) == 1 -! || *p == NUL) - return 0; - - /* This is slow: need to start at the base and go forward until the -*************** -*** 2578,2583 **** ---- 2602,2608 ---- - char_u *q; - char_u *s; - int c; -+ int len; - #ifdef FEAT_ARABIC - char_u *j; - #endif -*************** -*** 2597,2604 **** - --q; - /* Check for illegal sequence. Do allow an illegal byte after where we - * started. */ -! if (utf8len_tab[*q] != (int)(s - q + 1) -! && utf8len_tab[*q] != (int)(p - q + 1)) - return 0; - - if (q <= base) ---- 2622,2629 ---- - --q; - /* Check for illegal sequence. Do allow an illegal byte after where we - * started. */ -! len = utf8len_tab[*q]; -! if (len != (int)(s - q + 1) && len != (int)(p - q + 1)) - return 0; - - if (q <= base) -*************** -*** 2810,2818 **** - - while (end == NULL ? *p != NUL : p < end) - { -! if ((*p & 0xc0) == 0x80) - return FALSE; /* invalid lead byte */ -- l = utf8len_tab[*p]; - if (end != NULL && p + l > end) - return FALSE; /* incomplete byte sequence */ - ++p; ---- 2835,2843 ---- - - while (end == NULL ? *p != NUL : p < end) - { -! l = utf8len_tab_zero[*p]; -! if (l == 0) - return FALSE; /* invalid lead byte */ - if (end != NULL && p + l > end) - return FALSE; /* incomplete byte sequence */ - ++p; -*************** -*** 6117,6128 **** - d = retval; - for (i = 0; i < len; ++i) - { -! l = utf_ptr2len(ptr + i); - if (l == 0) - *d++ = NUL; - else if (l == 1) - { -! if (unconvlenp != NULL && utf8len_tab[ptr[i]] > len - i) - { - /* Incomplete sequence at the end. */ - *unconvlenp = len - i; ---- 6142,6161 ---- - d = retval; - for (i = 0; i < len; ++i) - { -! l = utf_ptr2len_len(ptr + i, len - i); - if (l == 0) - *d++ = NUL; - else if (l == 1) - { -! int l_w = utf8len_tab_zero[ptr[i]]; -! -! if (l_w == 0) -! { -! /* Illegal utf-8 byte cannot be converted */ -! vim_free(retval); -! return NULL; -! } -! if (unconvlenp != NULL && l_w > len - i) - { - /* Incomplete sequence at the end. */ - *unconvlenp = len - i; -*** ../vim-7.2.311/src/version.c 2009-12-02 13:32:10.000000000 +0100 ---- src/version.c 2009-12-02 15:00:23.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 312, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -6. You refuse to go to a vacation spot with no electricity and no phone lines. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.313 --- a/components/vim/vim72-patches/7.2.313 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.313 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.313 -Problem: Command line completion doesn't work after "%:h" and similar. -Solution: Expand these items before doing the completion. -Files: src/ex_getln.c, src/misc1.c, src/proto/misc1.pro - - -*** ../vim-7.2.312/src/ex_getln.c 2009-09-18 17:24:54.000000000 +0200 ---- src/ex_getln.c 2009-12-02 16:40:06.000000000 +0100 -*************** -*** 4422,4428 **** - flags |= EW_FILE; - else - flags = (flags | EW_DIR) & ~EW_FILE; -! ret = expand_wildcards(1, &pat, num_file, file, flags); - if (free_pat) - vim_free(pat); - return ret; ---- 4422,4429 ---- - flags |= EW_FILE; - else - flags = (flags | EW_DIR) & ~EW_FILE; -! /* Expand wildcards, supporting %:h and the like. */ -! ret = expand_wildcards_eval(&pat, num_file, file, flags); - if (free_pat) - vim_free(pat); - return ret; -*** ../vim-7.2.312/src/misc1.c 2009-11-17 16:08:12.000000000 +0100 ---- src/misc1.c 2009-12-02 17:06:49.000000000 +0100 -*************** -*** 8447,8452 **** ---- 8447,8492 ---- - } - - /* -+ * Invoke expand_wildcards() for one pattern. -+ * Expand items like "%:h" before the expansion. -+ * Returns OK or FAIL. -+ */ -+ int -+ expand_wildcards_eval(pat, num_file, file, flags) -+ char_u **pat; /* pointer to input pattern */ -+ int *num_file; /* resulting number of files */ -+ char_u ***file; /* array of resulting files */ -+ int flags; /* EW_DIR, etc. */ -+ { -+ int ret = FAIL; -+ char_u *eval_pat = NULL; -+ char_u *exp_pat = *pat; -+ char_u *ignored_msg; -+ int usedlen; -+ -+ if (*exp_pat == '%' || *exp_pat == '#' || *exp_pat == '<') -+ { -+ ++emsg_off; -+ eval_pat = eval_vars(exp_pat, exp_pat, &usedlen, -+ NULL, &ignored_msg, NULL); -+ --emsg_off; -+ if (eval_pat != NULL) -+ exp_pat = concat_str(eval_pat, exp_pat + usedlen); -+ } -+ -+ if (exp_pat != NULL) -+ ret = expand_wildcards(1, &exp_pat, num_file, file, flags); -+ -+ if (eval_pat != NULL) -+ { -+ vim_free(exp_pat); -+ vim_free(eval_pat); -+ } -+ -+ return ret; -+ } -+ -+ /* - * Expand wildcards. Calls gen_expand_wildcards() and removes files matching - * 'wildignore'. - * Returns OK or FAIL. -*** ../vim-7.2.312/src/proto/misc1.pro 2007-09-26 22:36:32.000000000 +0200 ---- src/proto/misc1.pro 2009-12-02 16:41:52.000000000 +0100 -*************** -*** 85,90 **** ---- 85,91 ---- - int vim_fexists __ARGS((char_u *fname)); - void line_breakcheck __ARGS((void)); - void fast_breakcheck __ARGS((void)); -+ int expand_wildcards_eval __ARGS((char_u **pat, int *num_file, char_u ***file, int flags)); - int expand_wildcards __ARGS((int num_pat, char_u **pat, int *num_file, char_u ***file, int flags)); - int match_suffix __ARGS((char_u *fname)); - int unix_expandpath __ARGS((garray_T *gap, char_u *path, int wildoff, int flags, int didstar)); -*** ../vim-7.2.312/src/version.c 2009-12-02 15:03:24.000000000 +0100 ---- src/version.c 2009-12-02 17:14:02.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 313, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -8. You spend half of the plane trip with your laptop on your lap...and your - child in the overhead compartment. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.314 --- a/components/vim/vim72-patches/7.2.314 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.314 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.314 -Problem: Missing function in small build. -Solution: Always include concat_str. -Files: src/misc1.c - - -*** ../vim-7.2.313/src/misc1.c 2009-12-02 17:15:04.000000000 +0100 ---- src/misc1.c 2009-12-02 17:44:55.000000000 +0100 -*************** -*** 4666,4672 **** - return dest; - } - -- #if defined(FEAT_EVAL) || defined(FEAT_GETTEXT) || defined(PROTO) - /* - * Concatenate two strings and return the result in allocated memory. - * Returns NULL when out of memory. ---- 4666,4671 ---- -*************** -*** 4687,4693 **** - } - return dest; - } -- #endif - - /* - * Add a path separator to a file name, unless it already ends in a path ---- 4686,4691 ---- -*** ../vim-7.2.313/src/version.c 2009-12-02 17:15:04.000000000 +0100 ---- src/version.c 2009-12-02 17:47:18.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 314, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -9. All your daydreaming is preoccupied with getting a faster connection to the - net: 28.8...ISDN...cable modem...T1...T3. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.315 --- a/components/vim/vim72-patches/7.2.315 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.315 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.315 -Problem: Python libs can't be found on 64 bit system. -Solution: Add lib64 to the list of directories. (Michael Henry) -Files: src/auto/configure, src/configure.in - - -*** ../vim-7.2.314/src/auto/configure 2009-11-17 17:13:03.000000000 +0100 ---- src/auto/configure 2009-12-02 17:21:20.000000000 +0100 -*************** -*** 5126,5132 **** - - vi_cv_path_python_conf= - for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do -! for subdir in lib share; do - d="${path}/${subdir}/python${vi_cv_var_python_version}/config" - if test -d "$d" && test -f "$d/config.c"; then - vi_cv_path_python_conf="$d" ---- 5126,5132 ---- - - vi_cv_path_python_conf= - for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do -! for subdir in lib64 lib share; do - d="${path}/${subdir}/python${vi_cv_var_python_version}/config" - if test -d "$d" && test -f "$d/config.c"; then - vi_cv_path_python_conf="$d" -*************** -*** 13718,13725 **** - $as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; } - else - vim_cv_tty_group=world -! { $as_echo "$as_me:$LINENO: result: ptys are world accessable" >&5 -! $as_echo "ptys are world accessable" >&6; } - fi - - else ---- 13718,13725 ---- - $as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; } - else - vim_cv_tty_group=world -! { $as_echo "$as_me:$LINENO: result: ptys are world accessible" >&5 -! $as_echo "ptys are world accessible" >&6; } - fi - - else -*************** -*** 13730,13737 **** - ( exit $ac_status ) - - vim_cv_tty_group=world -! { $as_echo "$as_me:$LINENO: result: can't determine - assume ptys are world accessable" >&5 -! $as_echo "can't determine - assume ptys are world accessable" >&6; } - - fi - rm -rf conftest.dSYM ---- 13730,13737 ---- - ( exit $ac_status ) - - vim_cv_tty_group=world -! { $as_echo "$as_me:$LINENO: result: can't determine - assume ptys are world accessible" >&5 -! $as_echo "can't determine - assume ptys are world accessible" >&6; } - - fi - rm -rf conftest.dSYM -*** ../vim-7.2.314/src/configure.in 2009-11-17 17:13:03.000000000 +0100 ---- src/configure.in 2009-12-02 17:21:10.000000000 +0100 -*************** -*** 686,692 **** - [ - vi_cv_path_python_conf= - for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do -! for subdir in lib share; do - d="${path}/${subdir}/python${vi_cv_var_python_version}/config" - if test -d "$d" && test -f "$d/config.c"; then - vi_cv_path_python_conf="$d" ---- 686,692 ---- - [ - vi_cv_path_python_conf= - for path in "${vi_cv_path_python_pfx}" "${vi_cv_path_python_epfx}"; do -! for subdir in lib64 lib share; do - d="${path}/${subdir}/python${vi_cv_var_python_version}/config" - if test -d "$d" && test -f "$d/config.c"; then - vi_cv_path_python_conf="$d" -*************** -*** 2557,2567 **** - AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group]) - else - vim_cv_tty_group=world -! AC_MSG_RESULT([ptys are world accessable]) - fi - ],[ - vim_cv_tty_group=world -! AC_MSG_RESULT([can't determine - assume ptys are world accessable]) - ],[ - AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode') - ]) ---- 2557,2567 ---- - AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group]) - else - vim_cv_tty_group=world -! AC_MSG_RESULT([ptys are world accessible]) - fi - ],[ - vim_cv_tty_group=world -! AC_MSG_RESULT([can't determine - assume ptys are world accessible]) - ],[ - AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode') - ]) -*** ../vim-7.2.314/src/version.c 2009-12-02 17:47:46.000000000 +0100 ---- src/version.c 2009-12-02 17:57:39.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 315, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -10. And even your night dreams are in HTML. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.316 --- a/components/vim/vim72-patches/7.2.316 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.316 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.316 -Problem: May get multiple _FORTIFY_SOURCE arguments. (Tony Mechelynck) -Solution: First remove all these arguments and then add the one we want. - (Dominique Pelle) -Files: src/auto/configure, src/configure.in - - -*** ../vim-7.2.315/src/auto/configure 2009-12-02 17:59:08.000000000 +0100 ---- src/auto/configure 2009-12-16 17:05:59.000000000 +0100 -*************** -*** 17185,17194 **** - { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi -! { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 - $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } - if test "$gccmajor" -gt "3"; then -! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` - { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - else ---- 17185,17194 ---- - { $as_echo "$as_me:$LINENO: result: no" >&5 - $as_echo "no" >&6; } - fi -! { $as_echo "$as_me:$LINENO: checking whether we need -D_FORTIFY_SOURCE=1" >&5 - $as_echo_n "checking whether we need -D_FORTIFY_SOURCE=1... " >&6; } - if test "$gccmajor" -gt "3"; then -! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -D_FORTIFY_SOURCE=1/'` - { $as_echo "$as_me:$LINENO: result: yes" >&5 - $as_echo "yes" >&6; } - else -*** ../vim-7.2.315/src/configure.in 2009-12-02 17:59:08.000000000 +0100 ---- src/configure.in 2009-12-16 17:05:55.000000000 +0100 -*************** -*** 3241,3249 **** - fi - dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is - dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. - AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) - if test "$gccmajor" -gt "3"; then -! CFLAGS=`echo "$CFLAGS -D_FORTIFY_SOURCE=1" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g' -e 's/-D_FORTIFY_SOURCE=2//g'` - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) ---- 3241,3250 ---- - fi - dnl -D_FORTIFY_SOURCE=2 crashes Vim on strcpy(buf, "000") when buf is - dnl declared as char x[1] but actually longer. Introduced in gcc 4.0. -+ dnl Also remove duplicate _FORTIFY_SOURCE arguments. - AC_MSG_CHECKING(whether we need -D_FORTIFY_SOURCE=1) - if test "$gccmajor" -gt "3"; then -! CFLAGS=`echo "$CFLAGS" | sed -e 's/-Wp,-D_FORTIFY_SOURCE=.//g' -e 's/-D_FORTIFY_SOURCE=.//g' -e 's/$/ -D_FORTIFY_SOURCE=1/'` - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) -*** ../vim-7.2.315/src/version.c 2009-12-02 17:59:08.000000000 +0100 ---- src/version.c 2009-12-16 17:12:25.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 316, - /**/ - --- -Have you heard about the new Beowulf cluster? It's so fast, it executes -an infinite loop in 6 seconds. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.317 --- a/components/vim/vim72-patches/7.2.317 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.317 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.317 -Problem: Memory leak when adding a highlight group with unprintable - characters, resulting in E669. -Solution: Free the memory. And fix a few typos. (Dominique Pelle) -Files: src/syntax.c - - -*** ../vim-7.2.316/src/syntax.c 2009-05-17 13:30:58.000000000 +0200 ---- src/syntax.c 2009-12-16 18:09:05.000000000 +0100 -*************** -*** 206,212 **** - static int current_attr = 0; /* attr of current syntax word */ - #ifdef FEAT_EVAL - static int current_id = 0; /* ID of current char for syn_get_id() */ -! static int current_trans_id = 0; /* idem, transparancy removed */ - #endif - - typedef struct syn_cluster_S ---- 206,212 ---- - static int current_attr = 0; /* attr of current syntax word */ - #ifdef FEAT_EVAL - static int current_id = 0; /* ID of current char for syn_get_id() */ -! static int current_trans_id = 0; /* idem, transparency removed */ - #endif - - typedef struct syn_cluster_S -*************** -*** 282,288 **** - int si_idx; /* index of syntax pattern or - KEYWORD_IDX */ - int si_id; /* highlight group ID for keywords */ -! int si_trans_id; /* idem, transparancy removed */ - int si_m_lnum; /* lnum of the match */ - int si_m_startcol; /* starting column of the match */ - lpos_T si_m_endpos; /* just after end posn of the match */ ---- 282,288 ---- - int si_idx; /* index of syntax pattern or - KEYWORD_IDX */ - int si_id; /* highlight group ID for keywords */ -! int si_trans_id; /* idem, transparency removed */ - int si_m_lnum; /* lnum of the match */ - int si_m_startcol; /* starting column of the match */ - lpos_T si_m_endpos; /* just after end posn of the match */ -*************** -*** 1274,1280 **** - dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1; - - /* -! * Go throught the list to find the "tick" for the oldest entry that can - * be removed. Set "above" when the "tick" for the oldest entry is above - * "b_sst_lasttick" (the display tick wraps around). - */ ---- 1274,1280 ---- - dist = syn_buf->b_ml.ml_line_count / (syn_buf->b_sst_len - Rows) + 1; - - /* -! * Go through the list to find the "tick" for the oldest entry that can - * be removed. Set "above" when the "tick" for the oldest entry is above - * "b_sst_lasttick" (the display tick wraps around). - */ -*************** -*** 2319,2325 **** - ? (syn_buf->b_spell_cluster_id == 0) - : (syn_buf->b_syn_spell == SYNSPL_TOP); - -! /* nextgroup ends at end of line, unless "skipnl" or "skipemtpy" present */ - if (current_next_list != NULL - && syn_getcurline()[current_col + 1] == NUL - && !(current_next_flags & (HL_SKIPNL | HL_SKIPEMPTY))) ---- 2319,2325 ---- - ? (syn_buf->b_spell_cluster_id == 0) - : (syn_buf->b_syn_spell == SYNSPL_TOP); - -! /* nextgroup ends at end of line, unless "skipnl" or "skipempty" present */ - if (current_next_list != NULL - && syn_getcurline()[current_col + 1] == NUL - && !(current_next_flags & (HL_SKIPNL | HL_SKIPEMPTY))) -*************** -*** 6108,6114 **** - win_T *wp; - long lnum; - colnr_T col; -! int trans; /* remove transparancy */ - int *spellp; /* return: can do spell checking */ - int keep_state; /* keep state of char at "col" */ - { ---- 6108,6114 ---- - win_T *wp; - long lnum; - colnr_T col; -! int trans; /* remove transparency */ - int *spellp; /* return: can do spell checking */ - int keep_state; /* keep state of char at "col" */ - { -*************** -*** 7523,7529 **** - #if defined(FEAT_GUI) || defined(PROTO) - /* - * Set the normal foreground and background colors according to the "Normal" -! * highlighighting group. For X11 also set "Menu", "Scrollbar", and - * "Tooltip" colors. - */ - void ---- 7523,7529 ---- - #if defined(FEAT_GUI) || defined(PROTO) - /* - * Set the normal foreground and background colors according to the "Normal" -! * highlighting group. For X11 also set "Menu", "Scrollbar", and - * "Tooltip" colors. - */ - void -*************** -*** 8647,8652 **** ---- 8647,8653 ---- - if (!vim_isprintc(*p)) - { - EMSG(_("E669: Unprintable character in group name")); -+ vim_free(name); - return 0; - } - else if (!ASCII_ISALNUM(*p) && *p != '_') -*** ../vim-7.2.316/src/version.c 2009-12-16 17:14:08.000000000 +0100 ---- src/version.c 2009-12-16 18:09:14.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 317, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -35. Your husband tells you he's had the beard for 2 months. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.318 --- a/components/vim/vim72-patches/7.2.318 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.318 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.318 -Problem: Wrong locale value breaks floating point numbers for gvim. -Solution: Set the locale again after doing GUI inits. (Dominique Pelle) -Files: src/main.c - - -*** ../vim-7.2.317/src/main.c 2009-11-17 12:31:30.000000000 +0100 ---- src/main.c 2009-12-16 18:23:46.000000000 +0100 -*************** -*** 366,379 **** - * Check if the GUI can be started. Reset gui.starting if not. - * Don't know about other systems, stay on the safe side and don't check. - */ -! if (gui.starting && gui_init_check() == FAIL) - { -! gui.starting = FALSE; - -! /* When running "evim" or "gvim -y" we need the menus, exit if we -! * don't have them. */ -! if (params.evim_mode) -! mch_exit(1); - } - # endif - #endif ---- 366,386 ---- - * Check if the GUI can be started. Reset gui.starting if not. - * Don't know about other systems, stay on the safe side and don't check. - */ -! if (gui.starting) - { -! if (gui_init_check() == FAIL) -! { -! gui.starting = FALSE; - -! /* When running "evim" or "gvim -y" we need the menus, exit if we -! * don't have them. */ -! if (params.evim_mode) -! mch_exit(1); -! } -! # if defined(HAVE_LOCALE_H) || defined(X_LOCALE) -! /* Re-initialize locale, it may have been altered by gui_init_check() */ -! init_locale(); -! # endif - } - # endif - #endif -*************** -*** 3685,3691 **** - } - else if (STRICMP(argv[i], "--servername") == 0) - { -! /* Alredy processed. Take it out of the command line */ - i++; - continue; - } ---- 3692,3698 ---- - } - else if (STRICMP(argv[i], "--servername") == 0) - { -! /* Already processed. Take it out of the command line */ - i++; - continue; - } -*** ../vim-7.2.317/src/version.c 2009-12-16 18:13:04.000000000 +0100 ---- src/version.c 2009-12-16 18:26:24.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 318, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -36. You miss more than five meals a week downloading the latest games from - Apogee. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.319 --- a/components/vim/vim72-patches/7.2.319 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.319 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.319 -Problem: Motif: accessing freed memory when cancelling font dialog. -Solution: Destroy the widget only after accessing it. (Dominique Pelle) -Files: src/gui_xmdlg.c - - -*** ../vim-7.2.318/src/gui_xmdlg.c 2009-11-03 12:53:44.000000000 +0100 ---- src/gui_xmdlg.c 2009-12-16 18:39:21.000000000 +0100 -*************** -*** 1274,1286 **** - XtAppProcessEvent(XtWidgetToApplicationContext(data->dialog), - (XtInputMask)XtIMAll); - -- XtDestroyWidget(data->dialog); -- - if (data->old) - { - XFreeFont(XtDisplay(data->dialog), data->old); - XmFontListFree(data->old_list); - } - - gui_motif_synch_fonts(); - ---- 1274,1285 ---- - XtAppProcessEvent(XtWidgetToApplicationContext(data->dialog), - (XtInputMask)XtIMAll); - - if (data->old) - { - XFreeFont(XtDisplay(data->dialog), data->old); - XmFontListFree(data->old_list); - } -+ XtDestroyWidget(data->dialog); - - gui_motif_synch_fonts(); - -*** ../vim-7.2.318/src/version.c 2009-12-16 18:27:29.000000000 +0100 ---- src/version.c 2009-12-16 18:40:06.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 319, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -37. You start looking for hot HTML addresses in public restrooms. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.320 --- a/components/vim/vim72-patches/7.2.320 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,199 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.320 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.320 -Problem: Unused function in Mzscheme interface. -Solution: Remove the function and what depends on it. (Dominique Pelle) -Files: src/if_mzsch.c, src/proto/if_mzsch.pro - - -*** ../vim-7.2.319/src/if_mzsch.c 2009-09-11 12:20:47.000000000 +0200 ---- src/if_mzsch.c 2009-12-16 19:01:04.000000000 +0100 -*************** -*** 70,83 **** - Scheme_Object *port; - } Port_Info; - -- /* info for do_apply */ -- typedef struct -- { -- Scheme_Object *proc; -- int argc; -- Scheme_Object **argv; -- } Apply_Info; -- - /* - *======================================================================== - * Vim-Control Commands ---- 70,75 ---- -*************** -*** 160,166 **** - static Scheme_Object *extract_exn_message(Scheme_Object *v); - static Scheme_Object *do_eval(void *, int noargc, Scheme_Object **noargv); - static Scheme_Object *do_load(void *, int noargc, Scheme_Object **noargv); -- static Scheme_Object *do_apply(void *, int noargc, Scheme_Object **noargv); - static void register_vim_exn(void); - static vim_mz_buffer *get_buffer_arg(const char *fname, int argnum, - int argc, Scheme_Object **argv); ---- 152,157 ---- -*************** -*** 1056,1062 **** - MZ_GC_REG(); - config = scheme_config; - MZ_GC_CHECK(); -! /* recreate ports each call effectivelly clearing these ones */ - curout = scheme_make_string_output_port(); - MZ_GC_CHECK(); - curerr = scheme_make_string_output_port(); ---- 1047,1053 ---- - MZ_GC_REG(); - config = scheme_config; - MZ_GC_CHECK(); -! /* recreate ports each call effectively clearing these ones */ - curout = scheme_make_string_output_port(); - MZ_GC_CHECK(); - curerr = scheme_make_string_output_port(); -*************** -*** 1196,1231 **** - } - } - -- /* -- * apply MzScheme procedure with arguments, -- * handling errors -- */ -- Scheme_Object * -- mzvim_apply(Scheme_Object *proc, int argc, Scheme_Object **argv) -- { -- if (mzscheme_init()) -- return FAIL; -- else -- { -- Apply_Info data = {NULL, 0, NULL}; -- Scheme_Object *ret = NULL; -- -- MZ_GC_DECL_REG(5); -- MZ_GC_VAR_IN_REG(0, ret); -- MZ_GC_VAR_IN_REG(1, data.proc); -- MZ_GC_ARRAY_VAR_IN_REG(2, data.argv, argc); -- MZ_GC_REG(); -- -- data.proc = proc; -- data.argc = argc; -- data.argv = argv; -- -- eval_with_exn_handling(&data, do_apply, &ret); -- MZ_GC_UNREG(); -- return ret; -- } -- } -- - static Scheme_Object * - do_load(void *data, int noargc, Scheme_Object **noargv) - { ---- 1187,1192 ---- -*************** -*** 1257,1263 **** - MZ_GC_CHECK(); - } - -! /* errors will be caught in do_mzscheme_comamnd and ex_mzfile */ - scheme_close_input_port(pinfo->port); - MZ_GC_CHECK(); - pinfo->port = NULL; ---- 1218,1224 ---- - MZ_GC_CHECK(); - } - -! /* errors will be caught in do_mzscheme_command and ex_mzfile */ - scheme_close_input_port(pinfo->port); - MZ_GC_CHECK(); - pinfo->port = NULL; -*************** -*** 1348,1360 **** - return scheme_eval_string_all((char *)s, environment, TRUE); - } - -- static Scheme_Object * -- do_apply(void *a, int noargc, Scheme_Object **noargv) -- { -- Apply_Info *info = (Apply_Info *)a; -- return scheme_apply(info->proc, info->argc, info->argv); -- } -- - /* - *======================================================================== - * 3. MzScheme I/O Handlers ---- 1309,1314 ---- -*************** -*** 2128,2134 **** - static Scheme_Object * - set_buffer_line(void *data, int argc, Scheme_Object **argv) - { -! /* First of all, we check the the of the supplied MzScheme object. - * There are three cases: - * 1. #f - this is a deletion. - * 2. A string - this is a replacement. ---- 2082,2088 ---- - static Scheme_Object * - set_buffer_line(void *data, int argc, Scheme_Object **argv) - { -! /* First of all, we check the value of the supplied MzScheme object. - * There are three cases: - * 1. #f - this is a deletion. - * 2. A string - this is a replacement. -*************** -*** 2428,2434 **** - /* - * (insert-buff-line-list {linenr} {string/string-list} [buffer]) - * -! * Insert a number of lines into the specified buffer after the specifed line. - * The line number is in Vim format (1-based). The lines to be inserted are - * given as an MzScheme list of string objects or as a single string. The lines - * to be added are checked for validity and correct format. Errors are ---- 2382,2388 ---- - /* - * (insert-buff-line-list {linenr} {string/string-list} [buffer]) - * -! * Insert a number of lines into the specified buffer after the specified line. - * The line number is in Vim format (1-based). The lines to be inserted are - * given as an MzScheme list of string objects or as a single string. The lines - * to be added are checked for validity and correct format. Errors are -*** ../vim-7.2.319/src/proto/if_mzsch.pro 2009-05-26 22:58:43.000000000 +0200 ---- src/proto/if_mzsch.pro 2009-12-16 19:01:01.000000000 +0100 -*************** -*** 13,20 **** - void mzvim_check_threads __ARGS((void)); - void mzvim_reset_timer __ARGS((void)); - void *mzvim_eval_string __ARGS((char_u *str)); -- struct Scheme_Object *mzvim_apply __ARGS((struct Scheme_Object *, int argc, -- struct Scheme_Object **)); - int mzthreads_allowed __ARGS((void)); - void mzscheme_main __ARGS((void)); - /* vim: set ft=c : */ ---- 13,18 ---- -*** ../vim-7.2.319/src/version.c 2009-12-16 18:49:09.000000000 +0100 ---- src/version.c 2009-12-16 18:53:48.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 320, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -38. You wake up at 3 a.m. to go to the bathroom and stop and check your e-mail - on the way back to bed. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.321 --- a/components/vim/vim72-patches/7.2.321 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.321 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.321 -Problem: histadd() and searching with "*" fails to add entry to history - when it is empty. -Solution: Initialize the history. (Lech Lorens) -Files: src/eval.c, src/normal.c - - -*** ../vim-7.2.320/src/eval.c 2009-11-17 12:20:30.000000000 +0100 ---- src/eval.c 2009-12-24 14:37:50.000000000 +0100 -*************** -*** 12014,12019 **** ---- 12014,12020 ---- - str = get_tv_string_buf(&argvars[1], buf); - if (*str != NUL) - { -+ init_history(); - add_to_history(histype, str, FALSE, NUL); - rettv->vval.v_number = TRUE; - return; -*** ../vim-7.2.320/src/normal.c 2009-05-17 13:30:58.000000000 +0200 ---- src/normal.c 2009-12-24 14:38:28.000000000 +0100 -*************** -*** 5602,5607 **** ---- 5602,5608 ---- - STRCAT(buf, "\\>"); - #ifdef FEAT_CMDHIST - /* put pattern in search history */ -+ init_history(); - add_to_history(HIST_SEARCH, buf, TRUE, NUL); - #endif - normal_search(cap, cmdchar == '*' ? '/' : '?', buf, 0); -*** ../vim-7.2.320/src/version.c 2009-12-16 19:02:05.000000000 +0100 ---- src/version.c 2009-12-24 14:39:46.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 321, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -43. You tell the kids they can't use the computer because "Daddy's got work to - do" and you don't even have a job. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.322 --- a/components/vim/vim72-patches/7.2.322 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.322 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.322 -Problem: Wrong indenting in virtual replace mode with CTRL-Y below a short - line. -Solution: Check for character to be NUL. (suggested by Lech Lorens) -Files: src/edit.c - - -*** ../vim-7.2.321/src/edit.c 2009-11-17 17:40:34.000000000 +0100 ---- src/edit.c 2009-12-24 15:18:23.000000000 +0100 -*************** -*** 7397,7402 **** ---- 7397,7406 ---- - int icase; - int i; - -+ if (keytyped == NUL) -+ /* Can happen with CTRL-Y and CTRL-E on a short line. */ -+ return FALSE; -+ - #ifdef FEAT_EVAL - if (*curbuf->b_p_inde != NUL) - look = curbuf->b_p_indk; /* 'indentexpr' set: use 'indentkeys' */ -*** ../vim-7.2.321/src/version.c 2009-12-24 15:00:31.000000000 +0100 ---- src/version.c 2009-12-24 15:44:46.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 322, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -45. You buy a Captain Kirk chair with a built-in keyboard and mouse. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.324 --- a/components/vim/vim72-patches/7.2.324 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.324 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.324 -Problem: A negative column argument in setpos() may cause a crash. -Solution: Check for invalid column number. (James Vega) -Files: src/eval.c, src/misc2.c - - -*** ../vim-7.2.323/src/eval.c 2009-12-24 15:00:31.000000000 +0100 ---- src/eval.c 2009-12-31 13:09:19.000000000 +0100 -*************** -*** 15542,15548 **** - { - if (list2fpos(&argvars[1], &pos, &fnum) == OK) - { -! --pos.col; - if (name[0] == '.' && name[1] == NUL) - { - /* set cursor */ ---- 15542,15549 ---- - { - if (list2fpos(&argvars[1], &pos, &fnum) == OK) - { -! if (--pos.col < 0) -! pos.col = 0; - if (name[0] == '.' && name[1] == NUL) - { - /* set cursor */ -*** ../vim-7.2.323/src/misc2.c 2009-11-25 17:15:16.000000000 +0100 ---- src/misc2.c 2009-12-31 13:12:36.000000000 +0100 -*************** -*** 528,533 **** ---- 528,535 ---- - #endif - } - } -+ else if (curwin->w_cursor.col < 0) -+ curwin->w_cursor.col = 0; - - #ifdef FEAT_VIRTUALEDIT - /* If virtual editing is on, we can leave the cursor on the old position, -*** ../vim-7.2.323/src/version.c 2009-12-24 16:11:24.000000000 +0100 ---- src/version.c 2009-12-31 13:17:25.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 324, - /**/ - --- -"Thou shalt not follow the Null Pointer, for at its end Chaos and -Madness lie." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.325 --- a/components/vim/vim72-patches/7.2.325 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.325 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.325 -Problem: A stray "w" in the startup vimrc file causes the edited file to be - replaced with an empty file. (Stone Kang). -Solution: Do not write a buffer when it has never been loaded. -Files: src/fileio.c - - -*** ../vim-7.2.324/src/fileio.c 2009-12-02 13:32:10.000000000 +0100 ---- src/fileio.c 2009-12-31 14:08:31.000000000 +0100 -*************** -*** 2981,2986 **** ---- 2981,2993 ---- - - if (fname == NULL || *fname == NUL) /* safety check */ - return FAIL; -+ if (buf->b_ml.ml_mfp == NULL) -+ { -+ /* This can happen during startup when there is a stray "w" in the -+ * vimrc file. */ -+ EMSG(_(e_emptybuf)); -+ return FAIL; -+ } - - /* - * Disallow writing from .exrc and .vimrc in current directory for -*** ../vim-7.2.324/src/version.c 2009-12-31 13:18:05.000000000 +0100 ---- src/version.c 2009-12-31 14:52:29.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 325, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -74. Your most erotic dreams are about cybersex - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.326 --- a/components/vim/vim72-patches/7.2.326 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.326 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.326 -Problem: Win32: $HOME doesn't work when %HOMEPATH% is not defined. -Solution: Use "\" for %HOMEPATH% when it is not defined. -Files: src/misc1.c - - -*** ../vim-7.2.325/src/misc1.c 2009-12-02 17:47:46.000000000 +0100 ---- src/misc1.c 2010-01-05 19:53:23.000000000 +0100 -*************** -*** 3470,3476 **** - - homedrive = mch_getenv((char_u *)"HOMEDRIVE"); - homepath = mch_getenv((char_u *)"HOMEPATH"); -! if (homedrive != NULL && homepath != NULL - && STRLEN(homedrive) + STRLEN(homepath) < MAXPATHL) - { - sprintf((char *)NameBuff, "%s%s", homedrive, homepath); ---- 3470,3478 ---- - - homedrive = mch_getenv((char_u *)"HOMEDRIVE"); - homepath = mch_getenv((char_u *)"HOMEPATH"); -! if (homepath == NULL || *homepath == NUL) -! homepath = "\\"; -! if (homedrive != NULL - && STRLEN(homedrive) + STRLEN(homepath) < MAXPATHL) - { - sprintf((char *)NameBuff, "%s%s", homedrive, homepath); -*** ../vim-7.2.325/src/version.c 2009-12-31 14:52:48.000000000 +0100 ---- src/version.c 2010-01-06 17:39:23.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 326, - /**/ - --- -From "know your smileys": - :q vi user saying, "How do I get out of this damn emacs editor?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.327 --- a/components/vim/vim72-patches/7.2.327 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,323 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.327 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.327 -Problem: Unused functions in Workshop. -Solution: Add "#if 0" and minor cleanup. (Dominique Pelle) -Files: src/workshop.c, src/integration.c, src/ingegration.h - - -*** ../vim-7.2.326/src/workshop.c 2009-05-21 23:25:38.000000000 +0200 ---- src/workshop.c 2010-01-06 18:10:10.000000000 +0100 -*************** -*** 56,67 **** - static void load_window(char *, int lnum); - static void warp_to_pc(int); - #ifdef FEAT_BEVAL -! void workshop_beval_cb(BalloonEval *, int); - #endif - static char *fixAccelText(char *); - static void addMenu(char *, char *, char *); - static char *lookupVerb(char *, int); -- static int computeIndex(int, char_u *, int); - static void coloncmd(char *, Boolean); - - extern Widget vimShell; ---- 56,67 ---- - static void load_window(char *, int lnum); - static void warp_to_pc(int); - #ifdef FEAT_BEVAL -! void workshop_beval_cb(BalloonEval *, int); -! static int computeIndex(int, char_u *, int); - #endif - static char *fixAccelText(char *); - static void addMenu(char *, char *, char *); - static char *lookupVerb(char *, int); - static void coloncmd(char *, Boolean); - - extern Widget vimShell; -*************** -*** 1624,1631 **** - } - } - } -- #endif -- - - static int - computeIndex( ---- 1624,1629 ---- -*************** -*** 1649,1654 **** ---- 1647,1653 ---- - - return -1; - } -+ #endif - - static void - addMenu( -*** ../vim-7.2.326/src/integration.c 2008-06-24 22:27:10.000000000 +0200 ---- src/integration.c 2010-01-06 18:18:11.000000000 +0100 -*************** -*** 78,84 **** - - /* Functions private to this file */ - static void workshop_connection_closed(void); -! static void messageFromEserve(XtPointer clientData, int *NOTUSED1, XtInputId *NOTUSED2); - static void workshop_disconnect(void); - static void workshop_sensitivity(int num, char *table); - static void adjust_sign_name(char *filename); ---- 78,84 ---- - - /* Functions private to this file */ - static void workshop_connection_closed(void); -! static void messageFromEserve(XtPointer clientData, int *dum1, XtInputId *dum2); - static void workshop_disconnect(void); - static void workshop_sensitivity(int num, char *table); - static void adjust_sign_name(char *filename); -*************** -*** 157,165 **** - - } - -- /*ARGSUSED*/ - void -! messageFromEserve(XtPointer clientData, int *NOTUSED1, XtInputId *NOTUSED2) - { - char *cmd; /* the 1st word of the command */ - ---- 157,166 ---- - - } - - void -! messageFromEserve(XtPointer clientData UNUSED, -! int *dum1 UNUSED, -! XtInputId *dum2 UNUSED) - { - char *cmd; /* the 1st word of the command */ - -*************** -*** 199,205 **** - if (sign) { - sign++; - } -! /* Change sign name to accomodate a different size? */ - adjust_sign_name(sign); - workshop_add_mark_type(idx, color, sign); - } ---- 200,206 ---- - if (sign) { - sign++; - } -! /* Change sign name to accommodate a different size? */ - adjust_sign_name(sign); - workshop_add_mark_type(idx, color, sign); - } -*************** -*** 580,586 **** - #endif - - -! /* Change sign name to accomodate a different size: - * Create the filename based on the height. The filename format - * of multisize icons are: - * x.xpm : largest icon ---- 581,587 ---- - #endif - - -! /* Change sign name to accommodate a different size: - * Create the filename based on the height. The filename format - * of multisize icons are: - * x.xpm : largest icon -*************** -*** 614,619 **** ---- 615,621 ---- - strcpy(s, ".xpm"); - } - -+ #if 0 - /* Were we invoked by WorkShop? This function can be used early during startup - if you want to do things differently if the editor is started standalone - or in WorkShop mode. For example, in standalone mode you may not want to -*************** -*** 627,632 **** ---- 629,635 ---- - } - return result; - } -+ #endif - - /* Connect back to eserve */ - void workshop_connect(XtAppContext context) -*************** -*** 750,755 **** ---- 753,759 ---- - * Utility functions - */ - -+ #if 0 - /* Set icon for the window */ - void - workshop_set_icon(Display *display, Widget shell, char **xpmdata, -*************** -*** 793,798 **** ---- 797,803 ---- - } - XtFree((char *)xpmAttributes.colorsymbols); - } -+ #endif - - /* Minimize and maximize shells. From libutil's shell.cc. */ - -*************** -*** 927,933 **** - return success; - } - -! - Boolean workshop_get_rows_cols(int *rows, int *cols) - { - static int r = 0; ---- 932,938 ---- - return success; - } - -! #if 0 - Boolean workshop_get_rows_cols(int *rows, int *cols) - { - static int r = 0; -*************** -*** 958,963 **** ---- 963,969 ---- - } - return success; - } -+ #endif - - /* - * Toolbar code -*************** -*** 1043,1054 **** - } - - -! - /* - * Send information to eserve on certain editor events - * You must make sure these are called when necessary - */ -- - void workshop_file_closed(char *filename) - { - char buffer[2*MAXPATHLEN]; ---- 1049,1059 ---- - } - - -! #if 0 - /* - * Send information to eserve on certain editor events - * You must make sure these are called when necessary - */ - void workshop_file_closed(char *filename) - { - char buffer[2*MAXPATHLEN]; -*************** -*** 1056,1061 **** ---- 1061,1067 ---- - NOCATGETS("deletedFile %s\n"), filename); - write(sd, buffer, strlen(buffer)); - } -+ #endif - - void workshop_file_closed_lineno(char *filename, int lineno) - { -*************** -*** 1086,1106 **** - workshop_moved_marks(filename); - } - -! void workshop_move_mark(char *filename, int markId, int newLineno) - { - char buffer[2*MAXPATHLEN]; - vim_snprintf(buffer, sizeof(buffer), -! NOCATGETS("moveMark %s %d %d\n"), filename, markId, newLineno); - write(sd, buffer, strlen(buffer)); - } - -! void workshop_file_modified(char *filename) - { - char buffer[2*MAXPATHLEN]; - vim_snprintf(buffer, sizeof(buffer), -! NOCATGETS("modifiedFile %s\n"), filename); - write(sd, buffer, strlen(buffer)); - } - - void workshop_frame_moved(int new_x, int new_y, int new_w, int new_h) - { ---- 1092,1114 ---- - workshop_moved_marks(filename); - } - -! #if 0 -! void workshop_file_modified(char *filename) - { - char buffer[2*MAXPATHLEN]; - vim_snprintf(buffer, sizeof(buffer), -! NOCATGETS("modifiedFile %s\n"), filename); - write(sd, buffer, strlen(buffer)); - } - -! void workshop_move_mark(char *filename, int markId, int newLineno) - { - char buffer[2*MAXPATHLEN]; - vim_snprintf(buffer, sizeof(buffer), -! NOCATGETS("moveMark %s %d %d\n"), filename, markId, newLineno); - write(sd, buffer, strlen(buffer)); - } -+ #endif - - void workshop_frame_moved(int new_x, int new_y, int new_w, int new_h) - { -*************** -*** 1179,1188 **** ---- 1187,1198 ---- - } - - /* Send a message to eserve */ -+ #if defined(NOHANDS_SUPPORT_FUNCTIONS) || defined(FEAT_BEVAL) - void workshop_send_message(char *buf) - { - write(sd, buf, strlen(buf)); - } -+ #endif - - /* Some methods, like currentFile, cursorPos, etc. are missing here. - * But it looks like these are used for NoHands testing only so we -*** ../vim-7.2.326/src/version.c 2010-01-06 17:46:03.000000000 +0100 ---- src/version.c 2010-01-06 18:20:41.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 327, - /**/ - --- -From "know your smileys": - (:-# Said something he shouldn't have - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.328 --- a/components/vim/vim72-patches/7.2.328 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.328 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.328 -Problem: has("win64") does not return 1 on 64 bit MS-Windows version. -Solution: Also check for _WIN64 besides WIN64. -Files: src/eval.c - - -*** ../vim-7.2.327/src/eval.c 2009-12-31 13:18:05.000000000 +0100 ---- src/eval.c 2010-01-06 16:28:23.000000000 +0100 -*************** -*** 11453,11459 **** - #if defined(UNIX) && (defined(__CYGWIN32__) || defined(__CYGWIN__)) - "win32unix", - #endif -! #ifdef WIN64 - "win64", - #endif - #ifdef EBCDIC ---- 11453,11459 ---- - #if defined(UNIX) && (defined(__CYGWIN32__) || defined(__CYGWIN__)) - "win32unix", - #endif -! #if defined(WIN64) || defined(_WIN64) - "win64", - #endif - #ifdef EBCDIC -*** ../vim-7.2.327/src/version.c 2010-01-06 18:24:53.000000000 +0100 ---- src/version.c 2010-01-12 12:10:06.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 328, - /**/ - --- -From "know your smileys": - :.-( Crying - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.329 --- a/components/vim/vim72-patches/7.2.329 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.329 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.329 -Problem: "g_" doesn't position cursor correctly when in Visual mode and - 'selection' is "exclusive". (Ben Fritz) -Solution: Call adjust_for_sel(). -Files: src/normal.c - - -*** ../vim-7.2.328/src/normal.c 2009-12-24 15:00:31.000000000 +0100 ---- src/normal.c 2010-01-09 15:19:47.000000000 +0100 -*************** -*** 7873,7878 **** ---- 7873,7881 ---- - && vim_iswhite(ptr[curwin->w_cursor.col])) - --curwin->w_cursor.col; - curwin->w_set_curswant = TRUE; -+ #ifdef FEAT_VISUAL -+ adjust_for_sel(cap); -+ #endif - } - break; - -*** ../vim-7.2.328/src/version.c 2010-01-12 12:48:40.000000000 +0100 ---- src/version.c 2010-01-12 15:41:13.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 329, - /**/ - --- -From "know your smileys": - |-( Contact lenses, but has lost them - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.330 --- a/components/vim/vim72-patches/7.2.330 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1531 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.330 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.330 -Problem: Tables for Unicode case operators are outdated. -Solution: Add a Vim script for generating the tables. Include tables for - Unicode 5.2. -Files: runtime/tools/README.txt, runtime/tools/unicode.vim, src/mbyte.c - - -*** ../vim-7.2.329/runtime/tools/README.txt 2005-12-02 01:47:43.000000000 +0100 ---- runtime/tools/README.txt 2010-01-12 19:43:13.000000000 +0100 -*************** -*** 32,35 **** ---- 32,37 ---- - xcmdsrv_client.c: Example for a client program that communicates with a Vim - server through the X-Windows interface. - -+ unicode.vim Vim script to generate tables for src/mbyte.c. -+ - [xxd (and tee for OS/2) can be found in the src directory] -*** ../vim-7.2.329/runtime/tools/unicode.vim 2010-01-12 19:47:33.000000000 +0100 ---- runtime/tools/unicode.vim 2010-01-12 19:42:14.000000000 +0100 -*************** -*** 0 **** ---- 1,280 ---- -+ " Script to extract tables from Unicode .txt files, to be used in src/mbyte.c. -+ " The format of the UnicodeData.txt file is explained here: -+ " http://www.unicode.org/Public/5.1.0/ucd/UCD.html -+ " For the other files see the header. -+ " -+ " Usage: Vim -S -+ " -+ " Author: Bram Moolenaar -+ " Last Update: 2010 Jan 12 -+ -+ " Parse lines of UnicodeData.txt. Creates a list of lists in s:dataprops. -+ func! ParseDataToProps() -+ let s:dataprops = [] -+ let lnum = 1 -+ while lnum <= line('$') -+ let l = split(getline(lnum), '\s*;\s*', 1) -+ if len(l) != 15 -+ echoerr 'Found ' . len(l) . ' items in line ' . lnum . ', expected 15' -+ return -+ endif -+ call add(s:dataprops, l) -+ let lnum += 1 -+ endwhile -+ endfunc -+ -+ " Parse lines of CaseFolding.txt. Creates a list of lists in s:foldprops. -+ func! ParseFoldProps() -+ let s:foldprops = [] -+ let lnum = 1 -+ while lnum <= line('$') -+ let line = getline(lnum) -+ if line !~ '^#' && line !~ '^\s*$' -+ let l = split(line, '\s*;\s*', 1) -+ if len(l) != 4 -+ echoerr 'Found ' . len(l) . ' items in line ' . lnum . ', expected 4' -+ return -+ endif -+ call add(s:foldprops, l) -+ endif -+ let lnum += 1 -+ endwhile -+ endfunc -+ -+ " Parse lines of EastAsianWidth.txt. Creates a list of lists in s:widthprops. -+ func! ParseWidthProps() -+ let s:widthprops = [] -+ let lnum = 1 -+ while lnum <= line('$') -+ let line = getline(lnum) -+ if line !~ '^#' && line !~ '^\s*$' -+ let l = split(line, '\s*;\s*', 1) -+ if len(l) != 2 -+ echoerr 'Found ' . len(l) . ' items in line ' . lnum . ', expected 2' -+ return -+ endif -+ call add(s:widthprops, l) -+ endif -+ let lnum += 1 -+ endwhile -+ endfunc -+ -+ " Build the toLower or toUpper table in a new buffer. -+ " Uses s:dataprops. -+ func! BuildCaseTable(name, index) -+ let start = -1 -+ let end = -1 -+ let step = 0 -+ let add = -1 -+ let ranges = [] -+ for p in s:dataprops -+ if p[a:index] != '' -+ let n = ('0x' . p[0]) + 0 -+ let nl = ('0x' . p[a:index]) + 0 -+ if start >= 0 && add == nl - n && (step == 0 || n - end == step) -+ " continue with same range. -+ let step = n - end -+ let end = n -+ else -+ if start >= 0 -+ " produce previous range -+ call Range(ranges, start, end, step, add) -+ endif -+ let start = n -+ let end = n -+ let step = 0 -+ let add = nl - n -+ endif -+ endif -+ endfor -+ if start >= 0 -+ call Range(ranges, start, end, step, add) -+ endif -+ -+ " New buffer to put the result in. -+ new -+ exe "file to" . a:name -+ call setline(1, "static convertStruct to" . a:name . "[] =") -+ call setline(2, "{") -+ call append('$', ranges) -+ call setline('$', getline('$')[:-2]) " remove last comma -+ call setline(line('$') + 1, "};") -+ wincmd p -+ endfunc -+ -+ " Build the foldCase table in a new buffer. -+ " Uses s:foldprops. -+ func! BuildFoldTable() -+ let start = -1 -+ let end = -1 -+ let step = 0 -+ let add = -1 -+ let ranges = [] -+ for p in s:foldprops -+ if p[1] == 'C' || p[1] == 'S' -+ let n = ('0x' . p[0]) + 0 -+ let nl = ('0x' . p[2]) + 0 -+ if start >= 0 && add == nl - n && (step == 0 || n - end == step) -+ " continue with same range. -+ let step = n - end -+ let end = n -+ else -+ if start >= 0 -+ " produce previous range -+ call Range(ranges, start, end, step, add) -+ endif -+ let start = n -+ let end = n -+ let step = 0 -+ let add = nl - n -+ endif -+ endif -+ endfor -+ if start >= 0 -+ call Range(ranges, start, end, step, add) -+ endif -+ -+ " New buffer to put the result in. -+ new -+ file foldCase -+ call setline(1, "static convertStruct foldCase[] =") -+ call setline(2, "{") -+ call append('$', ranges) -+ call setline('$', getline('$')[:-2]) " remove last comma -+ call setline(line('$') + 1, "};") -+ wincmd p -+ endfunc -+ -+ func! Range(ranges, start, end, step, add) -+ let s = printf("\t{0x%x,0x%x,%d,%d},", a:start, a:end, a:step == 0 ? -1 : a:step, a:add) -+ call add(a:ranges, s) -+ endfunc -+ -+ " Build the combining table. -+ " Uses s:dataprops. -+ func! BuildCombiningTable() -+ let start = -1 -+ let end = -1 -+ let ranges = [] -+ for p in s:dataprops -+ if p[2] == 'Mn' || p[2] == 'Mc' || p[2] == 'Me' -+ let n = ('0x' . p[0]) + 0 -+ if start >= 0 && end + 1 == n -+ " continue with same range. -+ let end = n -+ else -+ if start >= 0 -+ " produce previous range -+ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) -+ endif -+ let start = n -+ let end = n -+ endif -+ endif -+ endfor -+ if start >= 0 -+ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) -+ endif -+ -+ " New buffer to put the result in. -+ new -+ file combining -+ call setline(1, " static struct interval combining[] =") -+ call setline(2, " {") -+ call append('$', ranges) -+ call setline('$', getline('$')[:-2]) " remove last comma -+ call setline(line('$') + 1, " };") -+ wincmd p -+ endfunc -+ -+ " Build the ambiguous table in a new buffer. -+ " Uses s:widthprops and s:dataprops. -+ func! BuildAmbiguousTable() -+ let start = -1 -+ let end = -1 -+ let ranges = [] -+ let dataidx = 0 -+ for p in s:widthprops -+ if p[1][0] == 'A' -+ let n = ('0x' . p[0]) + 0 -+ " Find this char in the data table. -+ while 1 -+ let dn = ('0x' . s:dataprops[dataidx][0]) + 0 -+ if dn >= n -+ break -+ endif -+ let dataidx += 1 -+ endwhile -+ if dn != n -+ echoerr "Cannot find character " . n . " in data table" -+ endif -+ " Only use the char when it's not a composing char. -+ let dp = s:dataprops[dataidx] -+ if dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me' -+ if start >= 0 && end + 1 == n -+ " continue with same range. -+ let end = n -+ else -+ if start >= 0 -+ " produce previous range -+ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) -+ endif -+ let start = n -+ if p[0] =~ '\.\.' -+ let end = ('0x' . substitute(p[0], '.*\.\.', '', '')) + 0 -+ else -+ let end = n -+ endif -+ endif -+ endif -+ endif -+ endfor -+ if start >= 0 -+ call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) -+ endif -+ -+ " New buffer to put the result in. -+ new -+ file ambiguous -+ call setline(1, " static struct interval ambiguous[] =") -+ call setline(2, " {") -+ call append('$', ranges) -+ call setline('$', getline('$')[:-2]) " remove last comma -+ call setline(line('$') + 1, " };") -+ wincmd p -+ endfunc -+ -+ -+ -+ " Edit the Unicode text file. Requires the netrw plugin. -+ edit http://unicode.org/Public/UNIDATA/UnicodeData.txt -+ -+ " Parse each line, create a list of lists. -+ call ParseDataToProps() -+ -+ " Build the toLower table. -+ call BuildCaseTable("Lower", 13) -+ -+ " Build the toUpper table. -+ call BuildCaseTable("Upper", 12) -+ -+ " Build the ranges of composing chars. -+ call BuildCombiningTable() -+ -+ " Edit the case folding text file. Requires the netrw plugin. -+ edit http://www.unicode.org/Public/UNIDATA/CaseFolding.txt -+ -+ " Parse each line, create a list of lists. -+ call ParseFoldProps() -+ -+ " Build the foldCase table. -+ call BuildFoldTable() -+ -+ " Edit the width text file. Requires the netrw plugin. -+ edit http://www.unicode.org/Public/UNIDATA/EastAsianWidth.txt -+ -+ " Parse each line, create a list of lists. -+ call ParseWidthProps() -+ -+ " Build the ambiguous table. -+ call BuildAmbiguousTable() -*** ../vim-7.2.329/src/mbyte.c 2009-12-02 15:03:24.000000000 +0100 ---- src/mbyte.c 2010-01-12 19:35:49.000000000 +0100 -*************** -*** 26,32 **** - * Recognizing bytes is easy: 0xxx.xxxx is a single-byte - * char, 10xx.xxxx is a trailing byte, 11xx.xxxx is a leading - * byte of a multi-byte character. -! * To make things complicated, up to two composing characters - * are allowed. These are drawn on top of the first char. - * For most editing the sequence of bytes with composing - * characters included is considered to be one character. ---- 26,32 ---- - * Recognizing bytes is easy: 0xxx.xxxx is a single-byte - * char, 10xx.xxxx is a trailing byte, 11xx.xxxx is a leading - * byte of a multi-byte character. -! * To make things complicated, up to six composing characters - * are allowed. These are drawn on top of the first char. - * For most editing the sequence of bytes with composing - * characters included is considered to be one character. -*************** -*** 1153,1160 **** - - struct interval - { -! unsigned short first; -! unsigned short last; - }; - static int intable __ARGS((struct interval *table, size_t size, int c)); - ---- 1153,1160 ---- - - struct interval - { -! long first; -! long last; - }; - static int intable __ARGS((struct interval *table, size_t size, int c)); - -*************** -*** 1200,1261 **** - utf_char2cells(c) - int c; - { -! /* sorted list of non-overlapping intervals of East Asian Ambiguous -! * characters, generated with: -! * "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" */ -! static struct interval ambiguous[] = { -! {0x00A1, 0x00A1}, {0x00A4, 0x00A4}, {0x00A7, 0x00A8}, -! {0x00AA, 0x00AA}, {0x00AE, 0x00AE}, {0x00B0, 0x00B4}, -! {0x00B6, 0x00BA}, {0x00BC, 0x00BF}, {0x00C6, 0x00C6}, -! {0x00D0, 0x00D0}, {0x00D7, 0x00D8}, {0x00DE, 0x00E1}, -! {0x00E6, 0x00E6}, {0x00E8, 0x00EA}, {0x00EC, 0x00ED}, -! {0x00F0, 0x00F0}, {0x00F2, 0x00F3}, {0x00F7, 0x00FA}, -! {0x00FC, 0x00FC}, {0x00FE, 0x00FE}, {0x0101, 0x0101}, -! {0x0111, 0x0111}, {0x0113, 0x0113}, {0x011B, 0x011B}, -! {0x0126, 0x0127}, {0x012B, 0x012B}, {0x0131, 0x0133}, -! {0x0138, 0x0138}, {0x013F, 0x0142}, {0x0144, 0x0144}, -! {0x0148, 0x014B}, {0x014D, 0x014D}, {0x0152, 0x0153}, -! {0x0166, 0x0167}, {0x016B, 0x016B}, {0x01CE, 0x01CE}, -! {0x01D0, 0x01D0}, {0x01D2, 0x01D2}, {0x01D4, 0x01D4}, -! {0x01D6, 0x01D6}, {0x01D8, 0x01D8}, {0x01DA, 0x01DA}, -! {0x01DC, 0x01DC}, {0x0251, 0x0251}, {0x0261, 0x0261}, -! {0x02C4, 0x02C4}, {0x02C7, 0x02C7}, {0x02C9, 0x02CB}, -! {0x02CD, 0x02CD}, {0x02D0, 0x02D0}, {0x02D8, 0x02DB}, -! {0x02DD, 0x02DD}, {0x02DF, 0x02DF}, {0x0391, 0x03A1}, -! {0x03A3, 0x03A9}, {0x03B1, 0x03C1}, {0x03C3, 0x03C9}, -! {0x0401, 0x0401}, {0x0410, 0x044F}, {0x0451, 0x0451}, -! {0x2010, 0x2010}, {0x2013, 0x2016}, {0x2018, 0x2019}, -! {0x201C, 0x201D}, {0x2020, 0x2022}, {0x2024, 0x2027}, -! {0x2030, 0x2030}, {0x2032, 0x2033}, {0x2035, 0x2035}, -! {0x203B, 0x203B}, {0x203E, 0x203E}, {0x2074, 0x2074}, -! {0x207F, 0x207F}, {0x2081, 0x2084}, {0x20AC, 0x20AC}, -! {0x2103, 0x2103}, {0x2105, 0x2105}, {0x2109, 0x2109}, -! {0x2113, 0x2113}, {0x2116, 0x2116}, {0x2121, 0x2122}, -! {0x2126, 0x2126}, {0x212B, 0x212B}, {0x2153, 0x2154}, -! {0x215B, 0x215E}, {0x2160, 0x216B}, {0x2170, 0x2179}, -! {0x2190, 0x2199}, {0x21B8, 0x21B9}, {0x21D2, 0x21D2}, -! {0x21D4, 0x21D4}, {0x21E7, 0x21E7}, {0x2200, 0x2200}, -! {0x2202, 0x2203}, {0x2207, 0x2208}, {0x220B, 0x220B}, -! {0x220F, 0x220F}, {0x2211, 0x2211}, {0x2215, 0x2215}, -! {0x221A, 0x221A}, {0x221D, 0x2220}, {0x2223, 0x2223}, -! {0x2225, 0x2225}, {0x2227, 0x222C}, {0x222E, 0x222E}, -! {0x2234, 0x2237}, {0x223C, 0x223D}, {0x2248, 0x2248}, -! {0x224C, 0x224C}, {0x2252, 0x2252}, {0x2260, 0x2261}, -! {0x2264, 0x2267}, {0x226A, 0x226B}, {0x226E, 0x226F}, -! {0x2282, 0x2283}, {0x2286, 0x2287}, {0x2295, 0x2295}, -! {0x2299, 0x2299}, {0x22A5, 0x22A5}, {0x22BF, 0x22BF}, -! {0x2312, 0x2312}, {0x2460, 0x24E9}, {0x24EB, 0x254B}, -! {0x2550, 0x2573}, {0x2580, 0x258F}, {0x2592, 0x2595}, -! {0x25A0, 0x25A1}, {0x25A3, 0x25A9}, {0x25B2, 0x25B3}, -! {0x25B6, 0x25B7}, {0x25BC, 0x25BD}, {0x25C0, 0x25C1}, -! {0x25C6, 0x25C8}, {0x25CB, 0x25CB}, {0x25CE, 0x25D1}, -! {0x25E2, 0x25E5}, {0x25EF, 0x25EF}, {0x2605, 0x2606}, -! {0x2609, 0x2609}, {0x260E, 0x260F}, {0x2614, 0x2615}, -! {0x261C, 0x261C}, {0x261E, 0x261E}, {0x2640, 0x2640}, -! {0x2642, 0x2642}, {0x2660, 0x2661}, {0x2663, 0x2665}, -! {0x2667, 0x266A}, {0x266C, 0x266D}, {0x266F, 0x266F}, -! {0x273D, 0x273D}, {0x2776, 0x277F}, {0xE000, 0xF8FF}, -! {0xFFFD, 0xFFFD}, /* {0xF0000, 0xFFFFD}, {0x100000, 0x10FFFD} */ - }; - - if (c >= 0x100) ---- 1200,1390 ---- - utf_char2cells(c) - int c; - { -! /* Sorted list of non-overlapping intervals of East Asian Ambiguous -! * characters, generated with ../runtime/tools/unicode.vim. */ -! static struct interval ambiguous[] = -! { -! {0x00a1, 0x00a1}, -! {0x00a4, 0x00a4}, -! {0x00a7, 0x00a8}, -! {0x00aa, 0x00aa}, -! {0x00ad, 0x00ae}, -! {0x00b0, 0x00b4}, -! {0x00b6, 0x00ba}, -! {0x00bc, 0x00bf}, -! {0x00c6, 0x00c6}, -! {0x00d0, 0x00d0}, -! {0x00d7, 0x00d8}, -! {0x00de, 0x00e1}, -! {0x00e6, 0x00e6}, -! {0x00e8, 0x00ea}, -! {0x00ec, 0x00ed}, -! {0x00f0, 0x00f0}, -! {0x00f2, 0x00f3}, -! {0x00f7, 0x00fa}, -! {0x00fc, 0x00fc}, -! {0x00fe, 0x00fe}, -! {0x0101, 0x0101}, -! {0x0111, 0x0111}, -! {0x0113, 0x0113}, -! {0x011b, 0x011b}, -! {0x0126, 0x0127}, -! {0x012b, 0x012b}, -! {0x0131, 0x0133}, -! {0x0138, 0x0138}, -! {0x013f, 0x0142}, -! {0x0144, 0x0144}, -! {0x0148, 0x014b}, -! {0x014d, 0x014d}, -! {0x0152, 0x0153}, -! {0x0166, 0x0167}, -! {0x016b, 0x016b}, -! {0x01ce, 0x01ce}, -! {0x01d0, 0x01d0}, -! {0x01d2, 0x01d2}, -! {0x01d4, 0x01d4}, -! {0x01d6, 0x01d6}, -! {0x01d8, 0x01d8}, -! {0x01da, 0x01da}, -! {0x01dc, 0x01dc}, -! {0x0251, 0x0251}, -! {0x0261, 0x0261}, -! {0x02c4, 0x02c4}, -! {0x02c7, 0x02c7}, -! {0x02c9, 0x02cb}, -! {0x02cd, 0x02cd}, -! {0x02d0, 0x02d0}, -! {0x02d8, 0x02db}, -! {0x02dd, 0x02dd}, -! {0x02df, 0x02df}, -! {0x0391, 0x03a1}, -! {0x03a3, 0x03a9}, -! {0x03b1, 0x03c1}, -! {0x03c3, 0x03c9}, -! {0x0401, 0x0401}, -! {0x0410, 0x044f}, -! {0x0451, 0x0451}, -! {0x2010, 0x2010}, -! {0x2013, 0x2016}, -! {0x2018, 0x2019}, -! {0x201c, 0x201d}, -! {0x2020, 0x2022}, -! {0x2024, 0x2027}, -! {0x2030, 0x2030}, -! {0x2032, 0x2033}, -! {0x2035, 0x2035}, -! {0x203b, 0x203b}, -! {0x203e, 0x203e}, -! {0x2074, 0x2074}, -! {0x207f, 0x207f}, -! {0x2081, 0x2084}, -! {0x20ac, 0x20ac}, -! {0x2103, 0x2103}, -! {0x2105, 0x2105}, -! {0x2109, 0x2109}, -! {0x2113, 0x2113}, -! {0x2116, 0x2116}, -! {0x2121, 0x2122}, -! {0x2126, 0x2126}, -! {0x212b, 0x212b}, -! {0x2153, 0x2154}, -! {0x215b, 0x215e}, -! {0x2160, 0x216b}, -! {0x2170, 0x2179}, -! {0x2189, 0x2189}, -! {0x2190, 0x2199}, -! {0x21b8, 0x21b9}, -! {0x21d2, 0x21d2}, -! {0x21d4, 0x21d4}, -! {0x21e7, 0x21e7}, -! {0x2200, 0x2200}, -! {0x2202, 0x2203}, -! {0x2207, 0x2208}, -! {0x220b, 0x220b}, -! {0x220f, 0x220f}, -! {0x2211, 0x2211}, -! {0x2215, 0x2215}, -! {0x221a, 0x221a}, -! {0x221d, 0x2220}, -! {0x2223, 0x2223}, -! {0x2225, 0x2225}, -! {0x2227, 0x222c}, -! {0x222e, 0x222e}, -! {0x2234, 0x2237}, -! {0x223c, 0x223d}, -! {0x2248, 0x2248}, -! {0x224c, 0x224c}, -! {0x2252, 0x2252}, -! {0x2260, 0x2261}, -! {0x2264, 0x2267}, -! {0x226a, 0x226b}, -! {0x226e, 0x226f}, -! {0x2282, 0x2283}, -! {0x2286, 0x2287}, -! {0x2295, 0x2295}, -! {0x2299, 0x2299}, -! {0x22a5, 0x22a5}, -! {0x22bf, 0x22bf}, -! {0x2312, 0x2312}, -! {0x2460, 0x24e9}, -! {0x24eb, 0x254b}, -! {0x2550, 0x2573}, -! {0x2580, 0x258f}, -! {0x2592, 0x2595}, -! {0x25a0, 0x25a1}, -! {0x25a3, 0x25a9}, -! {0x25b2, 0x25b3}, -! {0x25b6, 0x25b7}, -! {0x25bc, 0x25bd}, -! {0x25c0, 0x25c1}, -! {0x25c6, 0x25c8}, -! {0x25cb, 0x25cb}, -! {0x25ce, 0x25d1}, -! {0x25e2, 0x25e5}, -! {0x25ef, 0x25ef}, -! {0x2605, 0x2606}, -! {0x2609, 0x2609}, -! {0x260e, 0x260f}, -! {0x2614, 0x2615}, -! {0x261c, 0x261c}, -! {0x261e, 0x261e}, -! {0x2640, 0x2640}, -! {0x2642, 0x2642}, -! {0x2660, 0x2661}, -! {0x2663, 0x2665}, -! {0x2667, 0x266a}, -! {0x266c, 0x266d}, -! {0x266f, 0x266f}, -! {0x269e, 0x269f}, -! {0x26be, 0x26bf}, -! {0x26c4, 0x26cd}, -! {0x26cf, 0x26e1}, -! {0x26e3, 0x26e3}, -! {0x26e8, 0x26ff}, -! {0x273d, 0x273d}, -! {0x2757, 0x2757}, -! {0x2776, 0x277f}, -! {0x2b55, 0x2b59}, -! {0x3248, 0x324f}, -! {0xe000, 0xf8ff}, -! {0xfffd, 0xfffd}, -! {0x1f100, 0x1f10a}, -! {0x1f110, 0x1f12d}, -! {0x1f131, 0x1f131}, -! {0x1f13d, 0x1f13d}, -! {0x1f13f, 0x1f13f}, -! {0x1f142, 0x1f142}, -! {0x1f146, 0x1f146}, -! {0x1f14a, 0x1f14e}, -! {0x1f157, 0x1f157}, -! {0x1f15f, 0x1f15f}, -! {0x1f179, 0x1f179}, -! {0x1f17b, 0x1f17c}, -! {0x1f17f, 0x1f17f}, -! {0x1f18a, 0x1f18d}, -! {0x1f190, 0x1f190}, -! {0xf0000, 0xffffd}, -! {0x100000, 0x10fffd} - }; - - if (c >= 0x100) -*************** -*** 1807,1813 **** - return 1; - - /* -! * Check for composing characters. We can handle only the first two, but - * skip all of them (otherwise the cursor would get stuck). - */ - #ifdef FEAT_ARABIC ---- 1936,1942 ---- - return 1; - - /* -! * Check for composing characters. We can handle only the first six, but - * skip all of them (otherwise the cursor would get stuck). - */ - #ifdef FEAT_ARABIC -*************** -*** 1855,1861 **** - return 1; - - /* -! * Check for composing characters. We can handle only the first two, but - * skip all of them (otherwise the cursor would get stuck). - */ - #ifdef FEAT_ARABIC ---- 1984,1990 ---- - return 1; - - /* -! * Check for composing characters. We can handle only the first six, but - * skip all of them (otherwise the cursor would get stuck). - */ - #ifdef FEAT_ARABIC -*************** -*** 1973,2010 **** - utf_iscomposing(c) - int c; - { -! /* sorted list of non-overlapping intervals */ - static struct interval combining[] = - { -! {0x0300, 0x034f}, {0x0360, 0x036f}, {0x0483, 0x0486}, {0x0488, 0x0489}, -! {0x0591, 0x05a1}, {0x05a3, 0x05b9}, {0x05bb, 0x05bd}, {0x05bf, 0x05bf}, -! {0x05c1, 0x05c2}, {0x05c4, 0x05c4}, {0x0610, 0x0615}, {0x064b, 0x0658}, -! {0x0670, 0x0670}, {0x06d6, 0x06dc}, {0x06de, 0x06e4}, {0x06e7, 0x06e8}, -! {0x06ea, 0x06ed}, {0x0711, 0x0711}, {0x0730, 0x074a}, {0x07a6, 0x07b0}, -! {0x0901, 0x0903}, {0x093c, 0x093c}, {0x093e, 0x094d}, {0x0951, 0x0954}, -! {0x0962, 0x0963}, {0x0981, 0x0983}, {0x09bc, 0x09bc}, {0x09be, 0x09c4}, -! {0x09c7, 0x09c8}, {0x09cb, 0x09cd}, {0x09d7, 0x09d7}, {0x09e2, 0x09e3}, -! {0x0a01, 0x0a03}, {0x0a3c, 0x0a3c}, {0x0a3e, 0x0a42}, {0x0a47, 0x0a48}, -! {0x0a4b, 0x0a4d}, {0x0a70, 0x0a71}, {0x0a81, 0x0a83}, {0x0abc, 0x0abc}, -! {0x0abe, 0x0ac5}, {0x0ac7, 0x0ac9}, {0x0acb, 0x0acd}, {0x0ae2, 0x0ae3}, -! {0x0b01, 0x0b03}, {0x0b3c, 0x0b3c}, {0x0b3e, 0x0b43}, {0x0b47, 0x0b48}, -! {0x0b4b, 0x0b4d}, {0x0b56, 0x0b57}, {0x0b82, 0x0b82}, {0x0bbe, 0x0bc2}, -! {0x0bc6, 0x0bc8}, {0x0bca, 0x0bcd}, {0x0bd7, 0x0bd7}, {0x0c01, 0x0c03}, -! {0x0c3e, 0x0c44}, {0x0c46, 0x0c48}, {0x0c4a, 0x0c4d}, {0x0c55, 0x0c56}, -! {0x0c82, 0x0c83}, {0x0cbc, 0x0cbc}, {0x0cbe, 0x0cc4}, {0x0cc6, 0x0cc8}, -! {0x0cca, 0x0ccd}, {0x0cd5, 0x0cd6}, {0x0d02, 0x0d03}, {0x0d3e, 0x0d43}, -! {0x0d46, 0x0d48}, {0x0d4a, 0x0d4d}, {0x0d57, 0x0d57}, {0x0d82, 0x0d83}, -! {0x0dca, 0x0dca}, {0x0dcf, 0x0dd4}, {0x0dd6, 0x0dd6}, {0x0dd8, 0x0ddf}, -! {0x0df2, 0x0df3}, {0x0e31, 0x0e31}, {0x0e34, 0x0e3a}, {0x0e47, 0x0e4e}, -! {0x0eb1, 0x0eb1}, {0x0eb4, 0x0eb9}, {0x0ebb, 0x0ebc}, {0x0ec8, 0x0ecd}, -! {0x0f18, 0x0f19}, {0x0f35, 0x0f35}, {0x0f37, 0x0f37}, {0x0f39, 0x0f39}, -! {0x0f3e, 0x0f3f}, {0x0f71, 0x0f84}, {0x0f86, 0x0f87}, {0x0f90, 0x0f97}, -! {0x0f99, 0x0fbc}, {0x0fc6, 0x0fc6}, {0x102c, 0x1032}, {0x1036, 0x1039}, -! {0x1056, 0x1059}, {0x1712, 0x1714}, {0x1732, 0x1734}, {0x1752, 0x1753}, -! {0x1772, 0x1773}, {0x17b6, 0x17d3}, {0x17dd, 0x17dd}, {0x180b, 0x180d}, -! {0x18a9, 0x18a9}, {0x1920, 0x192b}, {0x1930, 0x193b}, {0x20d0, 0x20ea}, -! {0x302a, 0x302f}, {0x3099, 0x309a}, {0xfb1e, 0xfb1e}, {0xfe00, 0xfe0f}, -! {0xfe20, 0xfe23}, - }; - - return intable(combining, sizeof(combining), c); ---- 2102,2299 ---- - utf_iscomposing(c) - int c; - { -! /* Sorted list of non-overlapping intervals. -! * Generated by ../runtime/tools/unicode.vim. */ - static struct interval combining[] = - { -! {0x0300, 0x036f}, -! {0x0483, 0x0489}, -! {0x0591, 0x05bd}, -! {0x05bf, 0x05bf}, -! {0x05c1, 0x05c2}, -! {0x05c4, 0x05c5}, -! {0x05c7, 0x05c7}, -! {0x0610, 0x061a}, -! {0x064b, 0x065e}, -! {0x0670, 0x0670}, -! {0x06d6, 0x06dc}, -! {0x06de, 0x06e4}, -! {0x06e7, 0x06e8}, -! {0x06ea, 0x06ed}, -! {0x0711, 0x0711}, -! {0x0730, 0x074a}, -! {0x07a6, 0x07b0}, -! {0x07eb, 0x07f3}, -! {0x0816, 0x0819}, -! {0x081b, 0x0823}, -! {0x0825, 0x0827}, -! {0x0829, 0x082d}, -! {0x0900, 0x0903}, -! {0x093c, 0x093c}, -! {0x093e, 0x094e}, -! {0x0951, 0x0955}, -! {0x0962, 0x0963}, -! {0x0981, 0x0983}, -! {0x09bc, 0x09bc}, -! {0x09be, 0x09c4}, -! {0x09c7, 0x09c8}, -! {0x09cb, 0x09cd}, -! {0x09d7, 0x09d7}, -! {0x09e2, 0x09e3}, -! {0x0a01, 0x0a03}, -! {0x0a3c, 0x0a3c}, -! {0x0a3e, 0x0a42}, -! {0x0a47, 0x0a48}, -! {0x0a4b, 0x0a4d}, -! {0x0a51, 0x0a51}, -! {0x0a70, 0x0a71}, -! {0x0a75, 0x0a75}, -! {0x0a81, 0x0a83}, -! {0x0abc, 0x0abc}, -! {0x0abe, 0x0ac5}, -! {0x0ac7, 0x0ac9}, -! {0x0acb, 0x0acd}, -! {0x0ae2, 0x0ae3}, -! {0x0b01, 0x0b03}, -! {0x0b3c, 0x0b3c}, -! {0x0b3e, 0x0b44}, -! {0x0b47, 0x0b48}, -! {0x0b4b, 0x0b4d}, -! {0x0b56, 0x0b57}, -! {0x0b62, 0x0b63}, -! {0x0b82, 0x0b82}, -! {0x0bbe, 0x0bc2}, -! {0x0bc6, 0x0bc8}, -! {0x0bca, 0x0bcd}, -! {0x0bd7, 0x0bd7}, -! {0x0c01, 0x0c03}, -! {0x0c3e, 0x0c44}, -! {0x0c46, 0x0c48}, -! {0x0c4a, 0x0c4d}, -! {0x0c55, 0x0c56}, -! {0x0c62, 0x0c63}, -! {0x0c82, 0x0c83}, -! {0x0cbc, 0x0cbc}, -! {0x0cbe, 0x0cc4}, -! {0x0cc6, 0x0cc8}, -! {0x0cca, 0x0ccd}, -! {0x0cd5, 0x0cd6}, -! {0x0ce2, 0x0ce3}, -! {0x0d02, 0x0d03}, -! {0x0d3e, 0x0d44}, -! {0x0d46, 0x0d48}, -! {0x0d4a, 0x0d4d}, -! {0x0d57, 0x0d57}, -! {0x0d62, 0x0d63}, -! {0x0d82, 0x0d83}, -! {0x0dca, 0x0dca}, -! {0x0dcf, 0x0dd4}, -! {0x0dd6, 0x0dd6}, -! {0x0dd8, 0x0ddf}, -! {0x0df2, 0x0df3}, -! {0x0e31, 0x0e31}, -! {0x0e34, 0x0e3a}, -! {0x0e47, 0x0e4e}, -! {0x0eb1, 0x0eb1}, -! {0x0eb4, 0x0eb9}, -! {0x0ebb, 0x0ebc}, -! {0x0ec8, 0x0ecd}, -! {0x0f18, 0x0f19}, -! {0x0f35, 0x0f35}, -! {0x0f37, 0x0f37}, -! {0x0f39, 0x0f39}, -! {0x0f3e, 0x0f3f}, -! {0x0f71, 0x0f84}, -! {0x0f86, 0x0f87}, -! {0x0f90, 0x0f97}, -! {0x0f99, 0x0fbc}, -! {0x0fc6, 0x0fc6}, -! {0x102b, 0x103e}, -! {0x1056, 0x1059}, -! {0x105e, 0x1060}, -! {0x1062, 0x1064}, -! {0x1067, 0x106d}, -! {0x1071, 0x1074}, -! {0x1082, 0x108d}, -! {0x108f, 0x108f}, -! {0x109a, 0x109d}, -! {0x135f, 0x135f}, -! {0x1712, 0x1714}, -! {0x1732, 0x1734}, -! {0x1752, 0x1753}, -! {0x1772, 0x1773}, -! {0x17b6, 0x17d3}, -! {0x17dd, 0x17dd}, -! {0x180b, 0x180d}, -! {0x18a9, 0x18a9}, -! {0x1920, 0x192b}, -! {0x1930, 0x193b}, -! {0x19b0, 0x19c0}, -! {0x19c8, 0x19c9}, -! {0x1a17, 0x1a1b}, -! {0x1a55, 0x1a5e}, -! {0x1a60, 0x1a7c}, -! {0x1a7f, 0x1a7f}, -! {0x1b00, 0x1b04}, -! {0x1b34, 0x1b44}, -! {0x1b6b, 0x1b73}, -! {0x1b80, 0x1b82}, -! {0x1ba1, 0x1baa}, -! {0x1c24, 0x1c37}, -! {0x1cd0, 0x1cd2}, -! {0x1cd4, 0x1ce8}, -! {0x1ced, 0x1ced}, -! {0x1cf2, 0x1cf2}, -! {0x1dc0, 0x1de6}, -! {0x1dfd, 0x1dff}, -! {0x20d0, 0x20f0}, -! {0x2cef, 0x2cf1}, -! {0x2de0, 0x2dff}, -! {0x302a, 0x302f}, -! {0x3099, 0x309a}, -! {0xa66f, 0xa672}, -! {0xa67c, 0xa67d}, -! {0xa6f0, 0xa6f1}, -! {0xa802, 0xa802}, -! {0xa806, 0xa806}, -! {0xa80b, 0xa80b}, -! {0xa823, 0xa827}, -! {0xa880, 0xa881}, -! {0xa8b4, 0xa8c4}, -! {0xa8e0, 0xa8f1}, -! {0xa926, 0xa92d}, -! {0xa947, 0xa953}, -! {0xa980, 0xa983}, -! {0xa9b3, 0xa9c0}, -! {0xaa29, 0xaa36}, -! {0xaa43, 0xaa43}, -! {0xaa4c, 0xaa4d}, -! {0xaa7b, 0xaa7b}, -! {0xaab0, 0xaab0}, -! {0xaab2, 0xaab4}, -! {0xaab7, 0xaab8}, -! {0xaabe, 0xaabf}, -! {0xaac1, 0xaac1}, -! {0xabe3, 0xabea}, -! {0xabec, 0xabed}, -! {0xfb1e, 0xfb1e}, -! {0xfe00, 0xfe0f}, -! {0xfe20, 0xfe26}, -! {0x101fd, 0x101fd}, -! {0x10a01, 0x10a03}, -! {0x10a05, 0x10a06}, -! {0x10a0c, 0x10a0f}, -! {0x10a38, 0x10a3a}, -! {0x10a3f, 0x10a3f}, -! {0x11080, 0x11082}, -! {0x110b0, 0x110ba}, -! {0x1d165, 0x1d169}, -! {0x1d16d, 0x1d172}, -! {0x1d17b, 0x1d182}, -! {0x1d185, 0x1d18b}, -! {0x1d1aa, 0x1d1ad}, -! {0x1d242, 0x1d244}, -! {0xe0100, 0xe01ef} - }; - - return intable(combining, sizeof(combining), c); -*************** -*** 2152,2166 **** - * Code for Unicode case-dependent operations. Based on notes in - * http://www.unicode.org/Public/UNIDATA/CaseFolding.txt - * This code uses simple case folding, not full case folding. - */ - - /* -! * The following table is built by foldExtract.pl < CaseFolding.txt . -! * It must be in numeric order, because we use binary search on it. -! * An entry such as {0x41,0x5a,1,32} means that UCS-4 characters in the range -! * from 0x41 to 0x5a inclusive, stepping by 1, are folded by adding 32. - */ -- - typedef struct - { - int rangeStart; ---- 2441,2456 ---- - * Code for Unicode case-dependent operations. Based on notes in - * http://www.unicode.org/Public/UNIDATA/CaseFolding.txt - * This code uses simple case folding, not full case folding. -+ * Last updated for Unicode 5.2. - */ - - /* -! * The following tables are built by ../runtime/tools/unicode.vim. -! * They must be in numeric order, because we use binary search. -! * An entry such as {0x41,0x5a,1,32} means that Unicode characters in the -! * range from 0x41 to 0x5a inclusive, stepping by 1, are changed to -! * folded/upper/lower by adding 32. - */ - typedef struct - { - int rangeStart; -*************** -*** 2171,2211 **** - - static convertStruct foldCase[] = - { -! {0x41,0x5a,1,32}, {0xc0,0xd6,1,32}, {0xd8,0xde,1,32}, -! {0x100,0x12e,2,1}, {0x130,0x130,-1,-199}, {0x132,0x136,2,1}, -! {0x139,0x147,2,1}, {0x14a,0x176,2,1}, {0x178,0x178,-1,-121}, -! {0x179,0x17d,2,1}, {0x181,0x181,-1,210}, {0x182,0x184,2,1}, -! {0x186,0x186,-1,206}, {0x187,0x187,-1,1}, {0x189,0x18a,1,205}, -! {0x18b,0x18b,-1,1}, {0x18e,0x18e,-1,79}, {0x18f,0x18f,-1,202}, -! {0x190,0x190,-1,203}, {0x191,0x191,-1,1}, {0x193,0x193,-1,205}, -! {0x194,0x194,-1,207}, {0x196,0x196,-1,211}, {0x197,0x197,-1,209}, -! {0x198,0x198,-1,1}, {0x19c,0x19c,-1,211}, {0x19d,0x19d,-1,213}, -! {0x19f,0x19f,-1,214}, {0x1a0,0x1a4,2,1}, {0x1a6,0x1a6,-1,218}, -! {0x1a7,0x1a7,-1,1}, {0x1a9,0x1a9,-1,218}, {0x1ac,0x1ac,-1,1}, -! {0x1ae,0x1ae,-1,218}, {0x1af,0x1af,-1,1}, {0x1b1,0x1b2,1,217}, -! {0x1b3,0x1b5,2,1}, {0x1b7,0x1b7,-1,219}, {0x1b8,0x1bc,4,1}, -! {0x1c4,0x1c4,-1,2}, {0x1c5,0x1c5,-1,1}, {0x1c7,0x1c7,-1,2}, -! {0x1c8,0x1c8,-1,1}, {0x1ca,0x1ca,-1,2}, {0x1cb,0x1db,2,1}, -! {0x1de,0x1ee,2,1}, {0x1f1,0x1f1,-1,2}, {0x1f2,0x1f4,2,1}, -! {0x1f6,0x1f6,-1,-97}, {0x1f7,0x1f7,-1,-56}, {0x1f8,0x21e,2,1}, -! {0x220,0x220,-1,-130}, {0x222,0x232,2,1}, {0x386,0x386,-1,38}, -! {0x388,0x38a,1,37}, {0x38c,0x38c,-1,64}, {0x38e,0x38f,1,63}, -! {0x391,0x3a1,1,32}, {0x3a3,0x3ab,1,32}, {0x3d8,0x3ee,2,1}, -! {0x3f4,0x3f4,-1,-60}, {0x3f7,0x3f7,-1,1}, {0x3f9,0x3f9,-1,-7}, -! {0x3fa,0x3fa,-1,1}, {0x400,0x40f,1,80}, {0x410,0x42f,1,32}, -! {0x460,0x480,2,1}, {0x48a,0x4be,2,1}, {0x4c1,0x4cd,2,1}, -! {0x4d0,0x4f4,2,1}, {0x4f8,0x500,8,1}, {0x502,0x50e,2,1}, -! {0x531,0x556,1,48}, {0x1e00,0x1e94,2,1}, {0x1ea0,0x1ef8,2,1}, -! {0x1f08,0x1f0f,1,-8}, {0x1f18,0x1f1d,1,-8}, {0x1f28,0x1f2f,1,-8}, -! {0x1f38,0x1f3f,1,-8}, {0x1f48,0x1f4d,1,-8}, {0x1f59,0x1f5f,2,-8}, -! {0x1f68,0x1f6f,1,-8}, {0x1f88,0x1f8f,1,-8}, {0x1f98,0x1f9f,1,-8}, -! {0x1fa8,0x1faf,1,-8}, {0x1fb8,0x1fb9,1,-8}, {0x1fba,0x1fbb,1,-74}, -! {0x1fbc,0x1fbc,-1,-9}, {0x1fc8,0x1fcb,1,-86}, {0x1fcc,0x1fcc,-1,-9}, -! {0x1fd8,0x1fd9,1,-8}, {0x1fda,0x1fdb,1,-100}, {0x1fe8,0x1fe9,1,-8}, -! {0x1fea,0x1feb,1,-112}, {0x1fec,0x1fec,-1,-7}, {0x1ff8,0x1ff9,1,-128}, -! {0x1ffa,0x1ffb,1,-126}, {0x1ffc,0x1ffc,-1,-9}, {0x2126,0x2126,-1,-7517}, -! {0x212a,0x212a,-1,-8383}, {0x212b,0x212b,-1,-8262}, -! {0x2160,0x216f,1,16}, {0x24b6,0x24cf,1,26}, {0xff21,0xff3a,1,32}, - {0x10400,0x10427,1,40} - }; - ---- 2461,2621 ---- - - static convertStruct foldCase[] = - { -! {0x41,0x5a,1,32}, -! {0xb5,0xb5,-1,775}, -! {0xc0,0xd6,1,32}, -! {0xd8,0xde,1,32}, -! {0x100,0x12e,2,1}, -! {0x132,0x136,2,1}, -! {0x139,0x147,2,1}, -! {0x14a,0x176,2,1}, -! {0x178,0x178,-1,-121}, -! {0x179,0x17d,2,1}, -! {0x17f,0x17f,-1,-268}, -! {0x181,0x181,-1,210}, -! {0x182,0x184,2,1}, -! {0x186,0x186,-1,206}, -! {0x187,0x187,-1,1}, -! {0x189,0x18a,1,205}, -! {0x18b,0x18b,-1,1}, -! {0x18e,0x18e,-1,79}, -! {0x18f,0x18f,-1,202}, -! {0x190,0x190,-1,203}, -! {0x191,0x191,-1,1}, -! {0x193,0x193,-1,205}, -! {0x194,0x194,-1,207}, -! {0x196,0x196,-1,211}, -! {0x197,0x197,-1,209}, -! {0x198,0x198,-1,1}, -! {0x19c,0x19c,-1,211}, -! {0x19d,0x19d,-1,213}, -! {0x19f,0x19f,-1,214}, -! {0x1a0,0x1a4,2,1}, -! {0x1a6,0x1a6,-1,218}, -! {0x1a7,0x1a7,-1,1}, -! {0x1a9,0x1a9,-1,218}, -! {0x1ac,0x1ac,-1,1}, -! {0x1ae,0x1ae,-1,218}, -! {0x1af,0x1af,-1,1}, -! {0x1b1,0x1b2,1,217}, -! {0x1b3,0x1b5,2,1}, -! {0x1b7,0x1b7,-1,219}, -! {0x1b8,0x1bc,4,1}, -! {0x1c4,0x1c4,-1,2}, -! {0x1c5,0x1c5,-1,1}, -! {0x1c7,0x1c7,-1,2}, -! {0x1c8,0x1c8,-1,1}, -! {0x1ca,0x1ca,-1,2}, -! {0x1cb,0x1db,2,1}, -! {0x1de,0x1ee,2,1}, -! {0x1f1,0x1f1,-1,2}, -! {0x1f2,0x1f4,2,1}, -! {0x1f6,0x1f6,-1,-97}, -! {0x1f7,0x1f7,-1,-56}, -! {0x1f8,0x21e,2,1}, -! {0x220,0x220,-1,-130}, -! {0x222,0x232,2,1}, -! {0x23a,0x23a,-1,10795}, -! {0x23b,0x23b,-1,1}, -! {0x23d,0x23d,-1,-163}, -! {0x23e,0x23e,-1,10792}, -! {0x241,0x241,-1,1}, -! {0x243,0x243,-1,-195}, -! {0x244,0x244,-1,69}, -! {0x245,0x245,-1,71}, -! {0x246,0x24e,2,1}, -! {0x345,0x345,-1,116}, -! {0x370,0x372,2,1}, -! {0x376,0x376,-1,1}, -! {0x386,0x386,-1,38}, -! {0x388,0x38a,1,37}, -! {0x38c,0x38c,-1,64}, -! {0x38e,0x38f,1,63}, -! {0x391,0x3a1,1,32}, -! {0x3a3,0x3ab,1,32}, -! {0x3c2,0x3c2,-1,1}, -! {0x3cf,0x3cf,-1,8}, -! {0x3d0,0x3d0,-1,-30}, -! {0x3d1,0x3d1,-1,-25}, -! {0x3d5,0x3d5,-1,-15}, -! {0x3d6,0x3d6,-1,-22}, -! {0x3d8,0x3ee,2,1}, -! {0x3f0,0x3f0,-1,-54}, -! {0x3f1,0x3f1,-1,-48}, -! {0x3f4,0x3f4,-1,-60}, -! {0x3f5,0x3f5,-1,-64}, -! {0x3f7,0x3f7,-1,1}, -! {0x3f9,0x3f9,-1,-7}, -! {0x3fa,0x3fa,-1,1}, -! {0x3fd,0x3ff,1,-130}, -! {0x400,0x40f,1,80}, -! {0x410,0x42f,1,32}, -! {0x460,0x480,2,1}, -! {0x48a,0x4be,2,1}, -! {0x4c0,0x4c0,-1,15}, -! {0x4c1,0x4cd,2,1}, -! {0x4d0,0x524,2,1}, -! {0x531,0x556,1,48}, -! {0x10a0,0x10c5,1,7264}, -! {0x1e00,0x1e94,2,1}, -! {0x1e9b,0x1e9b,-1,-58}, -! {0x1e9e,0x1e9e,-1,-7615}, -! {0x1ea0,0x1efe,2,1}, -! {0x1f08,0x1f0f,1,-8}, -! {0x1f18,0x1f1d,1,-8}, -! {0x1f28,0x1f2f,1,-8}, -! {0x1f38,0x1f3f,1,-8}, -! {0x1f48,0x1f4d,1,-8}, -! {0x1f59,0x1f5f,2,-8}, -! {0x1f68,0x1f6f,1,-8}, -! {0x1f88,0x1f8f,1,-8}, -! {0x1f98,0x1f9f,1,-8}, -! {0x1fa8,0x1faf,1,-8}, -! {0x1fb8,0x1fb9,1,-8}, -! {0x1fba,0x1fbb,1,-74}, -! {0x1fbc,0x1fbc,-1,-9}, -! {0x1fbe,0x1fbe,-1,-7173}, -! {0x1fc8,0x1fcb,1,-86}, -! {0x1fcc,0x1fcc,-1,-9}, -! {0x1fd8,0x1fd9,1,-8}, -! {0x1fda,0x1fdb,1,-100}, -! {0x1fe8,0x1fe9,1,-8}, -! {0x1fea,0x1feb,1,-112}, -! {0x1fec,0x1fec,-1,-7}, -! {0x1ff8,0x1ff9,1,-128}, -! {0x1ffa,0x1ffb,1,-126}, -! {0x1ffc,0x1ffc,-1,-9}, -! {0x2126,0x2126,-1,-7517}, -! {0x212a,0x212a,-1,-8383}, -! {0x212b,0x212b,-1,-8262}, -! {0x2132,0x2132,-1,28}, -! {0x2160,0x216f,1,16}, -! {0x2183,0x2183,-1,1}, -! {0x24b6,0x24cf,1,26}, -! {0x2c00,0x2c2e,1,48}, -! {0x2c60,0x2c60,-1,1}, -! {0x2c62,0x2c62,-1,-10743}, -! {0x2c63,0x2c63,-1,-3814}, -! {0x2c64,0x2c64,-1,-10727}, -! {0x2c67,0x2c6b,2,1}, -! {0x2c6d,0x2c6d,-1,-10780}, -! {0x2c6e,0x2c6e,-1,-10749}, -! {0x2c6f,0x2c6f,-1,-10783}, -! {0x2c70,0x2c70,-1,-10782}, -! {0x2c72,0x2c75,3,1}, -! {0x2c7e,0x2c7f,1,-10815}, -! {0x2c80,0x2ce2,2,1}, -! {0x2ceb,0x2ced,2,1}, -! {0xa640,0xa65e,2,1}, -! {0xa662,0xa66c,2,1}, -! {0xa680,0xa696,2,1}, -! {0xa722,0xa72e,2,1}, -! {0xa732,0xa76e,2,1}, -! {0xa779,0xa77b,2,1}, -! {0xa77d,0xa77d,-1,-35332}, -! {0xa77e,0xa786,2,1}, -! {0xa78b,0xa78b,-1,1}, -! {0xff21,0xff3a,1,32}, - {0x10400,0x10427,1,40} - }; - -*************** -*** 2253,2337 **** - return utf_convert(a, foldCase, sizeof(foldCase)); - } - -- /* -- * The following tables are built by upperLowerExtract.pl < UnicodeData.txt . -- * They must be in numeric order, because we use binary search on them. -- * An entry such as {0x41,0x5a,1,32} means that UCS-4 characters in the range -- * from 0x41 to 0x5a inclusive, stepping by 1, are switched to lower (for -- * example) by adding 32. -- */ - static convertStruct toLower[] = - { -! {0x41,0x5a,1,32}, {0xc0,0xd6,1,32}, {0xd8,0xde,1,32}, -! {0x100,0x12e,2,1}, {0x130,0x130,-1,-199}, {0x132,0x136,2,1}, -! {0x139,0x147,2,1}, {0x14a,0x176,2,1}, {0x178,0x178,-1,-121}, -! {0x179,0x17d,2,1}, {0x181,0x181,-1,210}, {0x182,0x184,2,1}, -! {0x186,0x186,-1,206}, {0x187,0x187,-1,1}, {0x189,0x18a,1,205}, -! {0x18b,0x18b,-1,1}, {0x18e,0x18e,-1,79}, {0x18f,0x18f,-1,202}, -! {0x190,0x190,-1,203}, {0x191,0x191,-1,1}, {0x193,0x193,-1,205}, -! {0x194,0x194,-1,207}, {0x196,0x196,-1,211}, {0x197,0x197,-1,209}, -! {0x198,0x198,-1,1}, {0x19c,0x19c,-1,211}, {0x19d,0x19d,-1,213}, -! {0x19f,0x19f,-1,214}, {0x1a0,0x1a4,2,1}, {0x1a6,0x1a6,-1,218}, -! {0x1a7,0x1a7,-1,1}, {0x1a9,0x1a9,-1,218}, {0x1ac,0x1ac,-1,1}, -! {0x1ae,0x1ae,-1,218}, {0x1af,0x1af,-1,1}, {0x1b1,0x1b2,1,217}, -! {0x1b3,0x1b5,2,1}, {0x1b7,0x1b7,-1,219}, {0x1b8,0x1bc,4,1}, -! {0x1c4,0x1ca,3,2}, {0x1cd,0x1db,2,1}, {0x1de,0x1ee,2,1}, -! {0x1f1,0x1f1,-1,2}, {0x1f4,0x1f4,-1,1}, {0x1f6,0x1f6,-1,-97}, -! {0x1f7,0x1f7,-1,-56}, {0x1f8,0x21e,2,1}, {0x220,0x220,-1,-130}, -! {0x222,0x232,2,1}, {0x386,0x386,-1,38}, {0x388,0x38a,1,37}, -! {0x38c,0x38c,-1,64}, {0x38e,0x38f,1,63}, {0x391,0x3a1,1,32}, -! {0x3a3,0x3ab,1,32}, {0x3d8,0x3ee,2,1}, {0x3f4,0x3f4,-1,-60}, -! {0x3f7,0x3f7,-1,1}, {0x3f9,0x3f9,-1,-7}, {0x3fa,0x3fa,-1,1}, -! {0x400,0x40f,1,80}, {0x410,0x42f,1,32}, {0x460,0x480,2,1}, -! {0x48a,0x4be,2,1}, {0x4c1,0x4cd,2,1}, {0x4d0,0x4f4,2,1}, -! {0x4f8,0x500,8,1}, {0x502,0x50e,2,1}, {0x531,0x556,1,48}, -! {0x1e00,0x1e94,2,1}, {0x1ea0,0x1ef8,2,1}, {0x1f08,0x1f0f,1,-8}, -! {0x1f18,0x1f1d,1,-8}, {0x1f28,0x1f2f,1,-8}, {0x1f38,0x1f3f,1,-8}, -! {0x1f48,0x1f4d,1,-8}, {0x1f59,0x1f5f,2,-8}, {0x1f68,0x1f6f,1,-8}, -! {0x1fb8,0x1fb9,1,-8}, {0x1fba,0x1fbb,1,-74}, {0x1fc8,0x1fcb,1,-86}, -! {0x1fd8,0x1fd9,1,-8}, {0x1fda,0x1fdb,1,-100}, {0x1fe8,0x1fe9,1,-8}, -! {0x1fea,0x1feb,1,-112}, {0x1fec,0x1fec,-1,-7}, {0x1ff8,0x1ff9,1,-128}, -! {0x1ffa,0x1ffb,1,-126}, {0x2126,0x2126,-1,-7517}, {0x212a,0x212a,-1,-8383}, -! {0x212b,0x212b,-1,-8262}, {0xff21,0xff3a,1,32}, {0x10400,0x10427,1,40} - }; - - static convertStruct toUpper[] = - { -! {0x61,0x7a,1,-32}, {0xb5,0xb5,-1,743}, {0xe0,0xf6,1,-32}, -! {0xf8,0xfe,1,-32}, {0xff,0xff,-1,121}, {0x101,0x12f,2,-1}, -! {0x131,0x131,-1,-232}, {0x133,0x137,2,-1}, {0x13a,0x148,2,-1}, -! {0x14b,0x177,2,-1}, {0x17a,0x17e,2,-1}, {0x17f,0x17f,-1,-300}, -! {0x183,0x185,2,-1}, {0x188,0x18c,4,-1}, {0x192,0x192,-1,-1}, -! {0x195,0x195,-1,97}, {0x199,0x199,-1,-1}, {0x19e,0x19e,-1,130}, -! {0x1a1,0x1a5,2,-1}, {0x1a8,0x1ad,5,-1}, {0x1b0,0x1b4,4,-1}, -! {0x1b6,0x1b9,3,-1}, {0x1bd,0x1bd,-1,-1}, {0x1bf,0x1bf,-1,56}, -! {0x1c5,0x1c6,1,-1}, {0x1c8,0x1c9,1,-1}, {0x1cb,0x1cc,1,-1}, -! {0x1ce,0x1dc,2,-1}, {0x1dd,0x1dd,-1,-79}, {0x1df,0x1ef,2,-1}, -! {0x1f2,0x1f3,1,-1}, {0x1f5,0x1f9,4,-1}, {0x1fb,0x21f,2,-1}, -! {0x223,0x233,2,-1}, {0x253,0x253,-1,-210}, {0x254,0x254,-1,-206}, -! {0x256,0x257,1,-205}, {0x259,0x259,-1,-202}, {0x25b,0x25b,-1,-203}, -! {0x260,0x260,-1,-205}, {0x263,0x263,-1,-207}, {0x268,0x268,-1,-209}, -! {0x269,0x26f,6,-211}, {0x272,0x272,-1,-213}, {0x275,0x275,-1,-214}, -! {0x280,0x283,3,-218}, {0x288,0x288,-1,-218}, {0x28a,0x28b,1,-217}, -! {0x292,0x292,-1,-219}, {0x3ac,0x3ac,-1,-38}, {0x3ad,0x3af,1,-37}, -! {0x3b1,0x3c1,1,-32}, {0x3c2,0x3c2,-1,-31}, {0x3c3,0x3cb,1,-32}, -! {0x3cc,0x3cc,-1,-64}, {0x3cd,0x3ce,1,-63}, {0x3d0,0x3d0,-1,-62}, -! {0x3d1,0x3d1,-1,-57}, {0x3d5,0x3d5,-1,-47}, {0x3d6,0x3d6,-1,-54}, -! {0x3d9,0x3ef,2,-1}, {0x3f0,0x3f0,-1,-86}, {0x3f1,0x3f1,-1,-80}, -! {0x3f2,0x3f2,-1,7}, {0x3f5,0x3f5,-1,-96}, {0x3f8,0x3fb,3,-1}, -! {0x430,0x44f,1,-32}, {0x450,0x45f,1,-80}, {0x461,0x481,2,-1}, -! {0x48b,0x4bf,2,-1}, {0x4c2,0x4ce,2,-1}, {0x4d1,0x4f5,2,-1}, -! {0x4f9,0x501,8,-1}, {0x503,0x50f,2,-1}, {0x561,0x586,1,-48}, -! {0x1e01,0x1e95,2,-1}, {0x1e9b,0x1e9b,-1,-59}, {0x1ea1,0x1ef9,2,-1}, -! {0x1f00,0x1f07,1,8}, {0x1f10,0x1f15,1,8}, {0x1f20,0x1f27,1,8}, -! {0x1f30,0x1f37,1,8}, {0x1f40,0x1f45,1,8}, {0x1f51,0x1f57,2,8}, -! {0x1f60,0x1f67,1,8}, {0x1f70,0x1f71,1,74}, {0x1f72,0x1f75,1,86}, -! {0x1f76,0x1f77,1,100}, {0x1f78,0x1f79,1,128}, {0x1f7a,0x1f7b,1,112}, -! {0x1f7c,0x1f7d,1,126}, {0x1f80,0x1f87,1,8}, {0x1f90,0x1f97,1,8}, -! {0x1fa0,0x1fa7,1,8}, {0x1fb0,0x1fb1,1,8}, {0x1fb3,0x1fb3,-1,9}, -! {0x1fbe,0x1fbe,-1,-7205}, {0x1fc3,0x1fc3,-1,9}, {0x1fd0,0x1fd1,1,8}, -! {0x1fe0,0x1fe1,1,8}, {0x1fe5,0x1fe5,-1,7}, {0x1ff3,0x1ff3,-1,9}, -! {0xff41,0xff5a,1,-32}, {0x10428,0x1044f,1,-40} - }; - - /* ---- 2663,2968 ---- - return utf_convert(a, foldCase, sizeof(foldCase)); - } - - static convertStruct toLower[] = - { -! {0x41,0x5a,1,32}, -! {0xc0,0xd6,1,32}, -! {0xd8,0xde,1,32}, -! {0x100,0x12e,2,1}, -! {0x130,0x130,-1,-199}, -! {0x132,0x136,2,1}, -! {0x139,0x147,2,1}, -! {0x14a,0x176,2,1}, -! {0x178,0x178,-1,-121}, -! {0x179,0x17d,2,1}, -! {0x181,0x181,-1,210}, -! {0x182,0x184,2,1}, -! {0x186,0x186,-1,206}, -! {0x187,0x187,-1,1}, -! {0x189,0x18a,1,205}, -! {0x18b,0x18b,-1,1}, -! {0x18e,0x18e,-1,79}, -! {0x18f,0x18f,-1,202}, -! {0x190,0x190,-1,203}, -! {0x191,0x191,-1,1}, -! {0x193,0x193,-1,205}, -! {0x194,0x194,-1,207}, -! {0x196,0x196,-1,211}, -! {0x197,0x197,-1,209}, -! {0x198,0x198,-1,1}, -! {0x19c,0x19c,-1,211}, -! {0x19d,0x19d,-1,213}, -! {0x19f,0x19f,-1,214}, -! {0x1a0,0x1a4,2,1}, -! {0x1a6,0x1a6,-1,218}, -! {0x1a7,0x1a7,-1,1}, -! {0x1a9,0x1a9,-1,218}, -! {0x1ac,0x1ac,-1,1}, -! {0x1ae,0x1ae,-1,218}, -! {0x1af,0x1af,-1,1}, -! {0x1b1,0x1b2,1,217}, -! {0x1b3,0x1b5,2,1}, -! {0x1b7,0x1b7,-1,219}, -! {0x1b8,0x1bc,4,1}, -! {0x1c4,0x1c4,-1,2}, -! {0x1c5,0x1c5,-1,1}, -! {0x1c7,0x1c7,-1,2}, -! {0x1c8,0x1c8,-1,1}, -! {0x1ca,0x1ca,-1,2}, -! {0x1cb,0x1db,2,1}, -! {0x1de,0x1ee,2,1}, -! {0x1f1,0x1f1,-1,2}, -! {0x1f2,0x1f4,2,1}, -! {0x1f6,0x1f6,-1,-97}, -! {0x1f7,0x1f7,-1,-56}, -! {0x1f8,0x21e,2,1}, -! {0x220,0x220,-1,-130}, -! {0x222,0x232,2,1}, -! {0x23a,0x23a,-1,10795}, -! {0x23b,0x23b,-1,1}, -! {0x23d,0x23d,-1,-163}, -! {0x23e,0x23e,-1,10792}, -! {0x241,0x241,-1,1}, -! {0x243,0x243,-1,-195}, -! {0x244,0x244,-1,69}, -! {0x245,0x245,-1,71}, -! {0x246,0x24e,2,1}, -! {0x370,0x372,2,1}, -! {0x376,0x376,-1,1}, -! {0x386,0x386,-1,38}, -! {0x388,0x38a,1,37}, -! {0x38c,0x38c,-1,64}, -! {0x38e,0x38f,1,63}, -! {0x391,0x3a1,1,32}, -! {0x3a3,0x3ab,1,32}, -! {0x3cf,0x3cf,-1,8}, -! {0x3d8,0x3ee,2,1}, -! {0x3f4,0x3f4,-1,-60}, -! {0x3f7,0x3f7,-1,1}, -! {0x3f9,0x3f9,-1,-7}, -! {0x3fa,0x3fa,-1,1}, -! {0x3fd,0x3ff,1,-130}, -! {0x400,0x40f,1,80}, -! {0x410,0x42f,1,32}, -! {0x460,0x480,2,1}, -! {0x48a,0x4be,2,1}, -! {0x4c0,0x4c0,-1,15}, -! {0x4c1,0x4cd,2,1}, -! {0x4d0,0x524,2,1}, -! {0x531,0x556,1,48}, -! {0x10a0,0x10c5,1,7264}, -! {0x1e00,0x1e94,2,1}, -! {0x1e9e,0x1e9e,-1,-7615}, -! {0x1ea0,0x1efe,2,1}, -! {0x1f08,0x1f0f,1,-8}, -! {0x1f18,0x1f1d,1,-8}, -! {0x1f28,0x1f2f,1,-8}, -! {0x1f38,0x1f3f,1,-8}, -! {0x1f48,0x1f4d,1,-8}, -! {0x1f59,0x1f5f,2,-8}, -! {0x1f68,0x1f6f,1,-8}, -! {0x1f88,0x1f8f,1,-8}, -! {0x1f98,0x1f9f,1,-8}, -! {0x1fa8,0x1faf,1,-8}, -! {0x1fb8,0x1fb9,1,-8}, -! {0x1fba,0x1fbb,1,-74}, -! {0x1fbc,0x1fbc,-1,-9}, -! {0x1fc8,0x1fcb,1,-86}, -! {0x1fcc,0x1fcc,-1,-9}, -! {0x1fd8,0x1fd9,1,-8}, -! {0x1fda,0x1fdb,1,-100}, -! {0x1fe8,0x1fe9,1,-8}, -! {0x1fea,0x1feb,1,-112}, -! {0x1fec,0x1fec,-1,-7}, -! {0x1ff8,0x1ff9,1,-128}, -! {0x1ffa,0x1ffb,1,-126}, -! {0x1ffc,0x1ffc,-1,-9}, -! {0x2126,0x2126,-1,-7517}, -! {0x212a,0x212a,-1,-8383}, -! {0x212b,0x212b,-1,-8262}, -! {0x2132,0x2132,-1,28}, -! {0x2160,0x216f,1,16}, -! {0x2183,0x2183,-1,1}, -! {0x24b6,0x24cf,1,26}, -! {0x2c00,0x2c2e,1,48}, -! {0x2c60,0x2c60,-1,1}, -! {0x2c62,0x2c62,-1,-10743}, -! {0x2c63,0x2c63,-1,-3814}, -! {0x2c64,0x2c64,-1,-10727}, -! {0x2c67,0x2c6b,2,1}, -! {0x2c6d,0x2c6d,-1,-10780}, -! {0x2c6e,0x2c6e,-1,-10749}, -! {0x2c6f,0x2c6f,-1,-10783}, -! {0x2c70,0x2c70,-1,-10782}, -! {0x2c72,0x2c75,3,1}, -! {0x2c7e,0x2c7f,1,-10815}, -! {0x2c80,0x2ce2,2,1}, -! {0x2ceb,0x2ced,2,1}, -! {0xa640,0xa65e,2,1}, -! {0xa662,0xa66c,2,1}, -! {0xa680,0xa696,2,1}, -! {0xa722,0xa72e,2,1}, -! {0xa732,0xa76e,2,1}, -! {0xa779,0xa77b,2,1}, -! {0xa77d,0xa77d,-1,-35332}, -! {0xa77e,0xa786,2,1}, -! {0xa78b,0xa78b,-1,1}, -! {0xff21,0xff3a,1,32}, -! {0x10400,0x10427,1,40} - }; - - static convertStruct toUpper[] = - { -! {0x61,0x7a,1,-32}, -! {0xb5,0xb5,-1,743}, -! {0xe0,0xf6,1,-32}, -! {0xf8,0xfe,1,-32}, -! {0xff,0xff,-1,121}, -! {0x101,0x12f,2,-1}, -! {0x131,0x131,-1,-232}, -! {0x133,0x137,2,-1}, -! {0x13a,0x148,2,-1}, -! {0x14b,0x177,2,-1}, -! {0x17a,0x17e,2,-1}, -! {0x17f,0x17f,-1,-300}, -! {0x180,0x180,-1,195}, -! {0x183,0x185,2,-1}, -! {0x188,0x18c,4,-1}, -! {0x192,0x192,-1,-1}, -! {0x195,0x195,-1,97}, -! {0x199,0x199,-1,-1}, -! {0x19a,0x19a,-1,163}, -! {0x19e,0x19e,-1,130}, -! {0x1a1,0x1a5,2,-1}, -! {0x1a8,0x1ad,5,-1}, -! {0x1b0,0x1b4,4,-1}, -! {0x1b6,0x1b9,3,-1}, -! {0x1bd,0x1bd,-1,-1}, -! {0x1bf,0x1bf,-1,56}, -! {0x1c5,0x1c5,-1,-1}, -! {0x1c6,0x1c6,-1,-2}, -! {0x1c8,0x1c8,-1,-1}, -! {0x1c9,0x1c9,-1,-2}, -! {0x1cb,0x1cb,-1,-1}, -! {0x1cc,0x1cc,-1,-2}, -! {0x1ce,0x1dc,2,-1}, -! {0x1dd,0x1dd,-1,-79}, -! {0x1df,0x1ef,2,-1}, -! {0x1f2,0x1f2,-1,-1}, -! {0x1f3,0x1f3,-1,-2}, -! {0x1f5,0x1f9,4,-1}, -! {0x1fb,0x21f,2,-1}, -! {0x223,0x233,2,-1}, -! {0x23c,0x23c,-1,-1}, -! {0x23f,0x240,1,10815}, -! {0x242,0x247,5,-1}, -! {0x249,0x24f,2,-1}, -! {0x250,0x250,-1,10783}, -! {0x251,0x251,-1,10780}, -! {0x252,0x252,-1,10782}, -! {0x253,0x253,-1,-210}, -! {0x254,0x254,-1,-206}, -! {0x256,0x257,1,-205}, -! {0x259,0x259,-1,-202}, -! {0x25b,0x25b,-1,-203}, -! {0x260,0x260,-1,-205}, -! {0x263,0x263,-1,-207}, -! {0x268,0x268,-1,-209}, -! {0x269,0x269,-1,-211}, -! {0x26b,0x26b,-1,10743}, -! {0x26f,0x26f,-1,-211}, -! {0x271,0x271,-1,10749}, -! {0x272,0x272,-1,-213}, -! {0x275,0x275,-1,-214}, -! {0x27d,0x27d,-1,10727}, -! {0x280,0x283,3,-218}, -! {0x288,0x288,-1,-218}, -! {0x289,0x289,-1,-69}, -! {0x28a,0x28b,1,-217}, -! {0x28c,0x28c,-1,-71}, -! {0x292,0x292,-1,-219}, -! {0x345,0x345,-1,84}, -! {0x371,0x373,2,-1}, -! {0x377,0x377,-1,-1}, -! {0x37b,0x37d,1,130}, -! {0x3ac,0x3ac,-1,-38}, -! {0x3ad,0x3af,1,-37}, -! {0x3b1,0x3c1,1,-32}, -! {0x3c2,0x3c2,-1,-31}, -! {0x3c3,0x3cb,1,-32}, -! {0x3cc,0x3cc,-1,-64}, -! {0x3cd,0x3ce,1,-63}, -! {0x3d0,0x3d0,-1,-62}, -! {0x3d1,0x3d1,-1,-57}, -! {0x3d5,0x3d5,-1,-47}, -! {0x3d6,0x3d6,-1,-54}, -! {0x3d7,0x3d7,-1,-8}, -! {0x3d9,0x3ef,2,-1}, -! {0x3f0,0x3f0,-1,-86}, -! {0x3f1,0x3f1,-1,-80}, -! {0x3f2,0x3f2,-1,7}, -! {0x3f5,0x3f5,-1,-96}, -! {0x3f8,0x3fb,3,-1}, -! {0x430,0x44f,1,-32}, -! {0x450,0x45f,1,-80}, -! {0x461,0x481,2,-1}, -! {0x48b,0x4bf,2,-1}, -! {0x4c2,0x4ce,2,-1}, -! {0x4cf,0x4cf,-1,-15}, -! {0x4d1,0x525,2,-1}, -! {0x561,0x586,1,-48}, -! {0x1d79,0x1d79,-1,35332}, -! {0x1d7d,0x1d7d,-1,3814}, -! {0x1e01,0x1e95,2,-1}, -! {0x1e9b,0x1e9b,-1,-59}, -! {0x1ea1,0x1eff,2,-1}, -! {0x1f00,0x1f07,1,8}, -! {0x1f10,0x1f15,1,8}, -! {0x1f20,0x1f27,1,8}, -! {0x1f30,0x1f37,1,8}, -! {0x1f40,0x1f45,1,8}, -! {0x1f51,0x1f57,2,8}, -! {0x1f60,0x1f67,1,8}, -! {0x1f70,0x1f71,1,74}, -! {0x1f72,0x1f75,1,86}, -! {0x1f76,0x1f77,1,100}, -! {0x1f78,0x1f79,1,128}, -! {0x1f7a,0x1f7b,1,112}, -! {0x1f7c,0x1f7d,1,126}, -! {0x1f80,0x1f87,1,8}, -! {0x1f90,0x1f97,1,8}, -! {0x1fa0,0x1fa7,1,8}, -! {0x1fb0,0x1fb1,1,8}, -! {0x1fb3,0x1fb3,-1,9}, -! {0x1fbe,0x1fbe,-1,-7205}, -! {0x1fc3,0x1fc3,-1,9}, -! {0x1fd0,0x1fd1,1,8}, -! {0x1fe0,0x1fe1,1,8}, -! {0x1fe5,0x1fe5,-1,7}, -! {0x1ff3,0x1ff3,-1,9}, -! {0x214e,0x214e,-1,-28}, -! {0x2170,0x217f,1,-16}, -! {0x2184,0x2184,-1,-1}, -! {0x24d0,0x24e9,1,-26}, -! {0x2c30,0x2c5e,1,-48}, -! {0x2c61,0x2c61,-1,-1}, -! {0x2c65,0x2c65,-1,-10795}, -! {0x2c66,0x2c66,-1,-10792}, -! {0x2c68,0x2c6c,2,-1}, -! {0x2c73,0x2c76,3,-1}, -! {0x2c81,0x2ce3,2,-1}, -! {0x2cec,0x2cee,2,-1}, -! {0x2d00,0x2d25,1,-7264}, -! {0xa641,0xa65f,2,-1}, -! {0xa663,0xa66d,2,-1}, -! {0xa681,0xa697,2,-1}, -! {0xa723,0xa72f,2,-1}, -! {0xa733,0xa76f,2,-1}, -! {0xa77a,0xa77c,2,-1}, -! {0xa77f,0xa787,2,-1}, -! {0xa78c,0xa78c,-1,-1}, -! {0xff41,0xff5a,1,-32}, -! {0x10428,0x1044f,1,-40} - }; - - /* -*** ../vim-7.2.329/src/version.c 2010-01-12 15:42:03.000000000 +0100 ---- src/version.c 2010-01-12 18:16:55.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 330, - /**/ - --- -From "know your smileys": - <|-) Chinese - <|-( Chinese and doesn't like these kind of jokes - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.331 --- a/components/vim/vim72-patches/7.2.331 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.331 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.331 -Problem: Can't interrupt "echo list" for a very long list. -Solution: Call line_breakcheck() in list_join(). -Files: src/eval.c - - -*** ../vim-7.2.330/src/eval.c 2010-01-12 12:48:40.000000000 +0100 ---- src/eval.c 2010-01-12 15:59:28.000000000 +0100 -*************** -*** 6475,6480 **** ---- 6475,6481 ---- - vim_free(tofree); - if (s == NULL) - return FAIL; -+ line_breakcheck(); - } - return OK; - } -*** ../vim-7.2.330/src/version.c 2010-01-12 19:48:57.000000000 +0100 ---- src/version.c 2010-01-19 12:44:02.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 331, - /**/ - - --- -hundred-and-one symptoms of being an internet addict: -116. You are living with your boyfriend who networks your respective - computers so you can sit in separate rooms and email each other - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.332 --- a/components/vim/vim72-patches/7.2.332 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.332 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.332 -Problem: Crash when spell correcting triggers an autocommand that reloads - the buffer. -Solution: Make a copy of the line to be modified. (Dominique Pelle) -Files: src/spell.c - - -*** ../vim-7.2.331/src/spell.c 2009-07-22 11:03:38.000000000 +0200 ---- src/spell.c 2010-01-19 12:44:42.000000000 +0100 -*************** -*** 10306,10312 **** - /* Figure out if the word should be capitalised. */ - need_cap = check_need_cap(curwin->w_cursor.lnum, curwin->w_cursor.col); - -! line = ml_get_curline(); - - /* Get the list of suggestions. Limit to 'lines' - 2 or the number in - * 'spellsuggest', whatever is smaller. */ ---- 10306,10315 ---- - /* Figure out if the word should be capitalised. */ - need_cap = check_need_cap(curwin->w_cursor.lnum, curwin->w_cursor.col); - -! /* Make a copy of current line since autocommands may free the line. */ -! line = vim_strsave(ml_get_curline()); -! if (line == NULL) -! goto skip; - - /* Get the list of suggestions. Limit to 'lines' - 2 or the number in - * 'spellsuggest', whatever is smaller. */ -*************** -*** 10470,10475 **** ---- 10473,10480 ---- - curwin->w_cursor = prev_cursor; - - spell_find_cleanup(&sug); -+ skip: -+ vim_free(line); - } - - /* -*************** -*** 10931,10937 **** - rescore_suggestions(su); - - /* -! * While going throught the soundfold tree "su_maxscore" is the score - * for the soundfold word, limits the changes that are being tried, - * and "su_sfmaxscore" the rescored score, which is set by - * cleanup_suggestions(). ---- 10936,10942 ---- - rescore_suggestions(su); - - /* -! * While going through the soundfold tree "su_maxscore" is the score - * for the soundfold word, limits the changes that are being tried, - * and "su_sfmaxscore" the rescored score, which is set by - * cleanup_suggestions(). -*************** -*** 11415,11421 **** - char_u tword[MAXWLEN]; /* good word collected so far */ - trystate_T stack[MAXWLEN]; - char_u preword[MAXWLEN * 3]; /* word found with proper case; -! * concatanation of prefix compound - * words and split word. NUL terminated - * when going deeper but not when coming - * back. */ ---- 11420,11426 ---- - char_u tword[MAXWLEN]; /* good word collected so far */ - trystate_T stack[MAXWLEN]; - char_u preword[MAXWLEN * 3]; /* word found with proper case; -! * concatenation of prefix compound - * words and split word. NUL terminated - * when going deeper but not when coming - * back. */ -*** ../vim-7.2.331/src/version.c 2010-01-19 12:46:51.000000000 +0100 ---- src/version.c 2010-01-19 13:05:32.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 332, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -117. You are more comfortable typing in html. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.333 --- a/components/vim/vim72-patches/7.2.333 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,371 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.333 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.333 -Problem: Warnings from static code analysis. -Solution: Small changes to various lines. (Dominique Pelle) -Files: src/buffer.c, src/edit.c, src/ex_getln.c, src/fileio.c, - src/if_cscope.c, src/netbeans.c, src/ops.c, src/quickfix.c, - src/syntax.c, src/ui.c - - -*** ../vim-7.2.332/src/buffer.c 2009-05-17 13:30:58.000000000 +0200 ---- src/buffer.c 2010-01-19 12:50:24.000000000 +0100 -*************** -*** 315,321 **** - { - #ifdef FEAT_AUTOCMD - int is_curbuf; -! int nwindows = buf->b_nwindows; - #endif - int unload_buf = (action != 0); - int del_buf = (action == DOBUF_DEL || action == DOBUF_WIPE); ---- 315,321 ---- - { - #ifdef FEAT_AUTOCMD - int is_curbuf; -! int nwindows; - #endif - int unload_buf = (action != 0); - int del_buf = (action == DOBUF_DEL || action == DOBUF_WIPE); -*** ../vim-7.2.332/src/edit.c 2009-12-24 15:45:53.000000000 +0100 ---- src/edit.c 2010-01-19 12:53:18.000000000 +0100 -*************** -*** 4048,4054 **** - save_p_ic = p_ic; - p_ic = ignorecase(compl_pattern); - -! /* Find up to TAG_MANY matches. Avoids that an enourmous number - * of matches is found when compl_pattern is empty */ - if (find_tags(compl_pattern, &num_matches, &matches, - TAG_REGEXP | TAG_NAMES | TAG_NOIC | ---- 4048,4054 ---- - save_p_ic = p_ic; - p_ic = ignorecase(compl_pattern); - -! /* Find up to TAG_MANY matches. Avoids that an enormous number - * of matches is found when compl_pattern is empty */ - if (find_tags(compl_pattern, &num_matches, &matches, - TAG_REGEXP | TAG_NAMES | TAG_NOIC | -*************** -*** 4219,4225 **** - || IObuff[len - 2] == '!')))) - IObuff[len++] = ' '; - } -! /* copy as much as posible of the new word */ - if (tmp_ptr - ptr >= IOSIZE - len) - tmp_ptr = ptr + IOSIZE - len - 1; - STRNCPY(IObuff + len, ptr, tmp_ptr - ptr); ---- 4219,4225 ---- - || IObuff[len - 2] == '!')))) - IObuff[len++] = ' '; - } -! /* copy as much as possible of the new word */ - if (tmp_ptr - ptr >= IOSIZE - len) - tmp_ptr = ptr + IOSIZE - len - 1; - STRNCPY(IObuff + len, ptr, tmp_ptr - ptr); -*************** -*** 5827,5836 **** - #endif - && !has_format_option(FO_WRAP)) - -- { -- textwidth = 0; - break; -- } - if ((startcol = curwin->w_cursor.col) == 0) - break; - ---- 5827,5833 ---- -*** ../vim-7.2.332/src/ex_getln.c 2009-12-02 17:15:04.000000000 +0100 ---- src/ex_getln.c 2010-01-19 12:54:47.000000000 +0100 -*************** -*** 2193,2199 **** - { - if (ga_grow(&line_ga, 40) == FAIL) - break; -- pend = (char_u *)line_ga.ga_data + line_ga.ga_len; - - /* Get one character at a time. Don't use inchar(), it can't handle - * special characters. */ ---- 2193,2198 ---- -*************** -*** 3314,3320 **** - WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE - |options, type); - vim_free(p1); -! /* longest match: make sure it is not shorter (happens with :help */ - if (p2 != NULL && type == WILD_LONGEST) - { - for (j = 0; j < xp->xp_pattern_len; ++j) ---- 3313,3319 ---- - WILD_HOME_REPLACE|WILD_ADD_SLASH|WILD_SILENT|WILD_ESCAPE - |options, type); - vim_free(p1); -! /* longest match: make sure it is not shorter, happens with :help */ - if (p2 != NULL && type == WILD_LONGEST) - { - for (j = 0; j < xp->xp_pattern_len; ++j) -*** ../vim-7.2.332/src/fileio.c 2009-12-31 14:52:48.000000000 +0100 ---- src/fileio.c 2010-01-19 12:56:59.000000000 +0100 -*************** -*** 7072,7079 **** - */ - for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) - { -- size_t itmplen; - # ifndef HAVE_MKDTEMP - long nr; - long off; - # endif ---- 7072,7079 ---- - */ - for (i = 0; i < (int)(sizeof(tempdirs) / sizeof(char *)); ++i) - { - # ifndef HAVE_MKDTEMP -+ size_t itmplen; - long nr; - long off; - # endif -*************** -*** 7091,7097 **** - else - # endif - add_pathsep(itmp); -- itmplen = STRLEN(itmp); - - # ifdef HAVE_MKDTEMP - /* Leave room for filename */ ---- 7091,7096 ---- -*************** -*** 7104,7109 **** ---- 7103,7109 ---- - * otherwise it doesn't matter. The use of mkdir() avoids any - * security problems because of the predictable number. */ - nr = (mch_get_pid() + (long)time(NULL)) % 1000000L; -+ itmplen = STRLEN(itmp); - - /* Try up to 10000 different values until we find a name that - * doesn't exist. */ -*** ../vim-7.2.332/src/if_cscope.c 2009-07-09 21:22:36.000000000 +0200 ---- src/if_cscope.c 2010-01-19 12:57:58.000000000 +0100 -*************** -*** 2069,2075 **** - continue; - (void)strcpy(tbuf, matches[idx]); - -! if ((fname = strtok(tbuf, (const char *)"\t")) == NULL) - continue; - if ((fname = strtok(NULL, (const char *)"\t")) == NULL) - continue; ---- 2069,2075 ---- - continue; - (void)strcpy(tbuf, matches[idx]); - -! if (strtok(tbuf, (const char *)"\t") == NULL) - continue; - if ((fname = strtok(NULL, (const char *)"\t")) == NULL) - continue; -*** ../vim-7.2.332/src/netbeans.c 2009-09-11 14:19:41.000000000 +0200 ---- src/netbeans.c 2010-01-19 13:57:11.000000000 +0100 -*************** -*** 873,879 **** - { - #ifdef NBDEBUG - /* -! * This happens because the ExtEd can send a cammand or 2 after - * doing a stopDocumentListen command. It doesn't harm anything - * so I'm disabling it except for debugging. - */ ---- 883,889 ---- - { - #ifdef NBDEBUG - /* -! * This happens because the ExtEd can send a command or 2 after - * doing a stopDocumentListen command. It doesn't harm anything - * so I'm disabling it except for debugging. - */ -*************** -*** 1174,1180 **** - break; - } - } -! *q++ = '\0'; - - return buf; - } ---- 1184,1190 ---- - break; - } - } -! *q = '\0'; - - return buf; - } -*************** -*** 3070,3076 **** - } - - /* -! * Send netbeans an unmodufied command. - */ - void - netbeans_unmodified(buf_T *bufp UNUSED) ---- 3080,3086 ---- - } - - /* -! * Send netbeans an unmodified command. - */ - void - netbeans_unmodified(buf_T *bufp UNUSED) -*************** -*** 3366,3372 **** - - - /* -! * Add a sign of the reqested type at the requested location. - * - * Reverse engineering: - * Apparently an annotation is defined the first time it is used in a buffer. ---- 3380,3386 ---- - - - /* -! * Add a sign of the requested type at the requested location. - * - * Reverse engineering: - * Apparently an annotation is defined the first time it is used in a buffer. -*** ../vim-7.2.332/src/ops.c 2009-11-25 12:38:49.000000000 +0100 ---- src/ops.c 2010-01-19 13:04:46.000000000 +0100 -*************** -*** 5591,5603 **** - */ - if (has_mbyte) - { -- char_u *conv_str = str; - vimconv_T vc; - - vc.vc_type = CONV_NONE; - if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) - { -! int intlen = len; - - conv_str = string_convert(&vc, str, &intlen); - len = intlen; ---- 5598,5610 ---- - */ - if (has_mbyte) - { - vimconv_T vc; - - vc.vc_type = CONV_NONE; - if (convert_setup(&vc, p_enc, (char_u *)"latin1") == OK) - { -! int intlen = len; -! char_u *conv_str; - - conv_str = string_convert(&vc, str, &intlen); - len = intlen; -*** ../vim-7.2.332/src/quickfix.c 2009-06-24 17:31:27.000000000 +0200 ---- src/quickfix.c 2010-01-19 13:12:29.000000000 +0100 -*************** -*** 1899,1905 **** - int i; - int idx1 = 1; - int idx2 = -1; -- int need_return = TRUE; - char_u *arg = eap->arg; - int all = eap->forceit; /* if not :cl!, only show - recognised errors */ ---- 1899,1904 ---- -*************** -*** 1939,1951 **** - { - if ((qfp->qf_valid || all) && idx1 <= i && i <= idx2) - { -! if (need_return) -! { -! msg_putchar('\n'); -! if (got_int) -! break; -! need_return = FALSE; -! } - - fname = NULL; - if (qfp->qf_fnum != 0 ---- 1938,1946 ---- - { - if ((qfp->qf_valid || all) && idx1 <= i && i <= idx2) - { -! msg_putchar('\n'); -! if (got_int) -! break; - - fname = NULL; - if (qfp->qf_fnum != 0 -*************** -*** 1988,1994 **** - IObuff, IOSIZE); - msg_prt_line(IObuff, FALSE); - out_flush(); /* show one line at a time */ -- need_return = TRUE; - } - - qfp = qfp->qf_next; ---- 1983,1988 ---- -*** ../vim-7.2.332/src/syntax.c 2009-12-16 18:13:04.000000000 +0100 ---- src/syntax.c 2010-01-19 13:12:56.000000000 +0100 -*************** -*** 4167,4173 **** - if (!HASHITEM_EMPTY(hi)) - { - --todo; -- kp = HI2KE(hi); - for (kp = HI2KE(hi); kp != NULL; kp = kp_next) - { - kp_next = kp->ke_next; ---- 4167,4172 ---- -*** ../vim-7.2.332/src/ui.c 2009-09-11 16:48:06.000000000 +0200 ---- src/ui.c 2010-01-19 13:14:04.000000000 +0100 -*************** -*** 2383,2389 **** - * 'enc' anyway. */ - if (has_mbyte) - { -! char_u *conv_buf = buffer; - vimconv_T vc; - - vc.vc_type = CONV_NONE; ---- 2383,2389 ---- - * 'enc' anyway. */ - if (has_mbyte) - { -! char_u *conv_buf; - vimconv_T vc; - - vc.vc_type = CONV_NONE; -*** ../vim-7.2.332/src/version.c 2010-01-19 13:06:42.000000000 +0100 ---- src/version.c 2010-01-19 14:55:50.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 333, - /**/ - --- -An actual excerpt from a classified section of a city newspaper: -"Illiterate? Write today for free help!" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.334 --- a/components/vim/vim72-patches/7.2.334 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,347 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.334 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.334 -Problem: Postponing keys in Netbeans interface does not work properly. -Solution: Store the key string instead of the number. Avoid an infinite - loop. (Mostly by Xavier de Gaye) -Files: src/netbeans.c, src/proto/netbeans.pro - - -*** ../vim-7.2.333/src/netbeans.c 2010-01-19 14:59:14.000000000 +0100 ---- src/netbeans.c 2010-01-19 15:12:17.000000000 +0100 -*************** -*** 70,76 **** - static pos_T *off2pos __ARGS((buf_T *, long)); - static pos_T *get_off_or_lnum __ARGS((buf_T *buf, char_u **argp)); - static long get_buf_size __ARGS((buf_T *)); -! static void netbeans_keystring __ARGS((int key, char *keystr)); - static void special_keys __ARGS((char_u *args)); - - static void netbeans_connect __ARGS((void)); ---- 70,77 ---- - static pos_T *off2pos __ARGS((buf_T *, long)); - static pos_T *get_off_or_lnum __ARGS((buf_T *buf, char_u **argp)); - static long get_buf_size __ARGS((buf_T *)); -! static int netbeans_keystring __ARGS((char_u *keystr)); -! static void postpone_keycommand __ARGS((char_u *keystr)); - static void special_keys __ARGS((char_u *args)); - - static void netbeans_connect __ARGS((void)); -*************** -*** 502,508 **** - - struct keyqueue - { -! int key; - struct keyqueue *next; - struct keyqueue *prev; - }; ---- 503,509 ---- - - struct keyqueue - { -! char_u *keystr; - struct keyqueue *next; - struct keyqueue *prev; - }; -*************** -*** 514,526 **** - - /* - * Queue up key commands sent from netbeans. - */ - static void -! postpone_keycommand(int key) - { - keyQ_T *node; - - node = (keyQ_T *)alloc(sizeof(keyQ_T)); - - if (keyHead.next == NULL) /* initialize circular queue */ - { ---- 515,531 ---- - - /* - * Queue up key commands sent from netbeans. -+ * We store the string, because it may depend on the global mod_mask and -+ * :nbkey doesn't have a key number. - */ - static void -! postpone_keycommand(char_u *keystr) - { - keyQ_T *node; - - node = (keyQ_T *)alloc(sizeof(keyQ_T)); -+ if (node == NULL) -+ return; /* out of memory, drop the key */ - - if (keyHead.next == NULL) /* initialize circular queue */ - { -*************** -*** 534,540 **** - keyHead.prev->next = node; - keyHead.prev = node; - -! node->key = key; - } - - /* ---- 539,545 ---- - keyHead.prev->next = node; - keyHead.prev = node; - -! node->keystr = vim_strsave(keystr); - } - - /* -*************** -*** 543,557 **** - static void - handle_key_queue(void) - { -! while (keyHead.next && keyHead.next != &keyHead) - { - /* first, unlink the node */ - keyQ_T *node = keyHead.next; - keyHead.next = node->next; - node->next->prev = node->prev; - -! /* now, send the keycommand */ -! netbeans_keycommand(node->key); - - /* Finally, dispose of the node */ - vim_free(node); ---- 548,567 ---- - static void - handle_key_queue(void) - { -! int postponed = FALSE; -! -! while (!postponed && keyHead.next && keyHead.next != &keyHead) - { - /* first, unlink the node */ - keyQ_T *node = keyHead.next; - keyHead.next = node->next; - node->next->prev = node->prev; - -! /* Now, send the keycommand. This may cause it to be postponed again -! * and change keyHead. */ -! if (node->keystr != NULL) -! postponed = !netbeans_keystring(node->keystr); -! vim_free(node->keystr); - - /* Finally, dispose of the node */ - vim_free(node); -*************** -*** 2495,2501 **** - } - else - { -! nbdebug((" Buffer has no changes!\n")); - } - /* =====================================================================*/ - } ---- 2505,2511 ---- - } - else - { -! nbdebug((" Buffer has no changes!\n")); - } - /* =====================================================================*/ - } -*************** -*** 2658,2664 **** - ex_nbkey(eap) - exarg_T *eap; - { -! netbeans_keystring(0, (char *)eap->arg); - } - - ---- 2668,2674 ---- - ex_nbkey(eap) - exarg_T *eap; - { -! (void)netbeans_keystring(eap->arg); - } - - -*************** -*** 2680,2686 **** - } - - /* -! * Convert key to netbeans name. - */ - static void - netbeans_keyname(int key, char *buf) ---- 2690,2696 ---- - } - - /* -! * Convert key to netbeans name. This uses the global "mod_mask". - */ - static void - netbeans_keyname(int key, char *buf) -*************** -*** 3127,3149 **** - /* - * Send a keypress event back to netbeans. This usually simulates some - * kind of function key press. This function operates on a key code. - */ -! void - netbeans_keycommand(int key) - { - char keyName[60]; - - netbeans_keyname(key, keyName); -! netbeans_keystring(key, keyName); - } - - - /* - * Send a keypress event back to netbeans. This usually simulates some - * kind of function key press. This function operates on a key string. - */ -! static void -! netbeans_keystring(int key, char *keyName) - { - char buf[2*MAXPATHL]; - int bufno = nb_getbufno(curbuf); ---- 3137,3163 ---- - /* - * Send a keypress event back to netbeans. This usually simulates some - * kind of function key press. This function operates on a key code. -+ * Return TRUE when the key was sent, FALSE when the command has been -+ * postponed. - */ -! int - netbeans_keycommand(int key) - { - char keyName[60]; - - netbeans_keyname(key, keyName); -! return netbeans_keystring((char_u *)keyName); - } - - - /* - * Send a keypress event back to netbeans. This usually simulates some - * kind of function key press. This function operates on a key string. -+ * Return TRUE when the key was sent, FALSE when the command has been -+ * postponed. - */ -! static int -! netbeans_keystring(char_u *keyName) - { - char buf[2*MAXPATHL]; - int bufno = nb_getbufno(curbuf); -*************** -*** 3151,3157 **** - char_u *q; - - if (!haveConnection) -! return; - - - if (bufno == -1) ---- 3165,3171 ---- - char_u *q; - - if (!haveConnection) -! return TRUE; - - - if (bufno == -1) -*************** -*** 3160,3166 **** - q = curbuf->b_ffname == NULL ? (char_u *)"" - : nb_quote(curbuf->b_ffname); - if (q == NULL) -! return; - vim_snprintf(buf, sizeof(buf), "0:fileOpened=%d \"%s\" %s %s\n", 0, - q, - "T", /* open in NetBeans */ ---- 3174,3180 ---- - q = curbuf->b_ffname == NULL ? (char_u *)"" - : nb_quote(curbuf->b_ffname); - if (q == NULL) -! return TRUE; - vim_snprintf(buf, sizeof(buf), "0:fileOpened=%d \"%s\" %s %s\n", 0, - q, - "T", /* open in NetBeans */ -*************** -*** 3170,3178 **** - nbdebug(("EVT: %s", buf)); - nb_send(buf, "netbeans_keycommand"); - -! if (key > 0) -! postpone_keycommand(key); -! return; - } - - /* sync the cursor position */ ---- 3184,3191 ---- - nbdebug(("EVT: %s", buf)); - nb_send(buf, "netbeans_keycommand"); - -! postpone_keycommand(keyName); -! return FALSE; - } - - /* sync the cursor position */ -*************** -*** 3198,3203 **** ---- 3211,3217 ---- - off, (long)curwin->w_cursor.lnum, (long)curwin->w_cursor.col); - nbdebug(("EVT: %s", buf)); - nb_send(buf, "netbeans_keycommand"); -+ return TRUE; - } - - -*** ../vim-7.2.333/src/proto/netbeans.pro 2009-01-06 16:13:42.000000000 +0100 ---- src/proto/netbeans.pro 2010-01-19 13:31:01.000000000 +0100 -*************** -*** 16,22 **** - void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); - void netbeans_unmodified __ARGS((buf_T *bufp)); - void netbeans_button_release __ARGS((int button)); -! void netbeans_keycommand __ARGS((int key)); - void netbeans_save_buffer __ARGS((buf_T *bufp)); - void netbeans_deleted_all_lines __ARGS((buf_T *bufp)); - int netbeans_is_guarded __ARGS((linenr_T top, linenr_T bot)); ---- 16,22 ---- - void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); - void netbeans_unmodified __ARGS((buf_T *bufp)); - void netbeans_button_release __ARGS((int button)); -! int netbeans_keycommand __ARGS((int key)); - void netbeans_save_buffer __ARGS((buf_T *bufp)); - void netbeans_deleted_all_lines __ARGS((buf_T *bufp)); - int netbeans_is_guarded __ARGS((linenr_T top, linenr_T bot)); -*** ../vim-7.2.333/src/version.c 2010-01-19 14:59:14.000000000 +0100 ---- src/version.c 2010-01-19 15:08:44.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 334, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -119. You are reading a book and look for the scroll bar to get to - the next page. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.335 --- a/components/vim/vim72-patches/7.2.335 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,103 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.335 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.335 -Problem: The CTRL-] command escapes too many characters. -Solution: Use a different list of characters to be escaped. (Sergey Khorev) -Files: src/normal.c - - -*** ../vim-7.2.334/src/normal.c 2010-01-12 15:42:03.000000000 +0100 ---- src/normal.c 2010-01-19 15:20:11.000000000 +0100 -*************** -*** 5406,5411 **** ---- 5406,5412 ---- - int n = 0; /* init for GCC */ - int cmdchar; - int g_cmd; /* "g" command */ -+ int tag_cmd = FALSE; - char_u *aux_ptr; - int isman; - int isman_s; -*************** -*** 5515,5520 **** ---- 5516,5522 ---- - break; - - case ']': -+ tag_cmd = TRUE; - #ifdef FEAT_CSCOPE - if (p_cst) - STRCPY(buf, "cstag "); -*************** -*** 5526,5535 **** - default: - if (curbuf->b_help) - STRCPY(buf, "he! "); -- else if (g_cmd) -- STRCPY(buf, "tj "); - else -! sprintf((char *)buf, "%ldta ", cap->count0); - } - - /* ---- 5528,5541 ---- - default: - if (curbuf->b_help) - STRCPY(buf, "he! "); - else -! { -! tag_cmd = TRUE; -! if (g_cmd) -! STRCPY(buf, "tj "); -! else -! sprintf((char *)buf, "%ldta ", cap->count0); -! } - } - - /* -*************** -*** 5562,5569 **** - aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\"); - else if (cmdchar == '#') - aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); -! else - /* Don't escape spaces and Tabs in a tag with a backslash */ - aux_ptr = (char_u *)"\\|\"\n*?["; - - p = buf + STRLEN(buf); ---- 5568,5577 ---- - aux_ptr = (char_u *)(p_magic ? "/.*~[^$\\" : "/^$\\"); - else if (cmdchar == '#') - aux_ptr = (char_u *)(p_magic ? "/?.*~[^$\\" : "/?^$\\"); -! else if (tag_cmd) - /* Don't escape spaces and Tabs in a tag with a backslash */ -+ aux_ptr = (char_u *)"\\|\"\n["; -+ else - aux_ptr = (char_u *)"\\|\"\n*?["; - - p = buf + STRLEN(buf); -*** ../vim-7.2.334/src/version.c 2010-01-19 15:12:33.000000000 +0100 ---- src/version.c 2010-01-19 15:22:44.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 335, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -120. You ask a friend, "What's that big shiny thing?" He says, "It's the sun." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.336 --- a/components/vim/vim72-patches/7.2.336 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,793 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.336 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.336 -Problem: MzScheme interface can't evaluate an expression. -Solution: Add mzeval(). (Sergey Khorev) -Files: runtime/doc/eval.txt, runtime/doc/if_mzsch.txt, - runtime/doc/usr_41.txt, src/eval.c, src/if_mzsch.c, - src/proto/eval.pro, src/proto/if_mzsch.pro, - src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, - src/testdir/Makefile, src/testdir/main.aap, src/testdir/test1.in, - src/testdir/test70.in, src/testdir/test70.ok - - -*** ../vim-7.2.335/runtime/doc/eval.txt 2009-11-17 12:20:30.000000000 +0100 ---- runtime/doc/eval.txt 2010-01-19 15:30:50.000000000 +0100 -*************** -*** 1815,1825 **** - List match and submatches of {pat} in {expr} - matchstr( {expr}, {pat}[, {start}[, {count}]]) - String {count}'th match of {pat} in {expr} -! max({list}) Number maximum value of items in {list} -! min({list}) Number minimum value of items in {list} -! mkdir({name} [, {path} [, {prot}]]) - Number create directory {name} - mode( [expr]) String current editing mode - nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum} - nr2char( {expr}) String single char with ASCII value {expr} - pathshorten( {expr}) String shorten directory names in a path ---- 1821,1832 ---- - List match and submatches of {pat} in {expr} - matchstr( {expr}, {pat}[, {start}[, {count}]]) - String {count}'th match of {pat} in {expr} -! max( {list}) Number maximum value of items in {list} -! min( {list}) Number minimum value of items in {list} -! mkdir( {name} [, {path} [, {prot}]]) - Number create directory {name} - mode( [expr]) String current editing mode -+ mzeval( {expr}) any evaluate |MzScheme| expression - nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum} - nr2char( {expr}) String single char with ASCII value {expr} - pathshorten( {expr}) String shorten directory names in a path -*************** -*** 4090,4095 **** ---- 4103,4125 ---- - "c" or "n". - Also see |visualmode()|. - -+ mzeval({expr}) *mzeval()* -+ Evaluate MzScheme expression {expr} and return its result -+ convert to Vim data structures. -+ Numbers and strings are returned as they are. -+ Pairs (including lists and improper lists) and vectors are -+ returned as Vim |Lists|. -+ Hash tables are represented as Vim |Dictionary| type with keys -+ converted to strings. -+ All other types are converted to string with display function. -+ Examples: > -+ :mz (define l (list 1 2 3)) -+ :mz (define h (make-hash)) (hash-set! h "list" l) -+ :echo mzeval("l") -+ :echo mzeval("h") -+ < -+ {only available when compiled with the |+mzscheme| feature} -+ - nextnonblank({lnum}) *nextnonblank()* - Return the line number of the first line at or below {lnum} - that is not blank. Example: > -*** ../vim-7.2.335/runtime/doc/if_mzsch.txt 2009-06-24 17:51:01.000000000 +0200 ---- runtime/doc/if_mzsch.txt 2010-01-19 15:33:00.000000000 +0100 -*************** -*** 1,4 **** -! *if_mzsch.txt* For Vim version 7.2. Last change: 2009 Jun 24 - - - VIM REFERENCE MANUAL by Sergey Khorev ---- 1,4 ---- -! *if_mzsch.txt* For Vim version 7.2. Last change: 2010 Jan 19 - - - VIM REFERENCE MANUAL by Sergey Khorev -*************** -*** 9,16 **** - 1. Commands |mzscheme-commands| - 2. Examples |mzscheme-examples| - 3. Threads |mzscheme-threads| -! 4. The Vim access procedures |mzscheme-vim| -! 5. Dynamic loading |mzscheme-dynamic| - - {Vi does not have any of these commands} - ---- 9,17 ---- - 1. Commands |mzscheme-commands| - 2. Examples |mzscheme-examples| - 3. Threads |mzscheme-threads| -! 4. Vim access from MzScheme |mzscheme-vim| -! 5. mzeval() Vim function |mzscheme-mzeval| -! 6. Dynamic loading |mzscheme-dynamic| - - {Vi does not have any of these commands} - -*************** -*** 142,148 **** - GUI version. - - ============================================================================== -! 5. VIM Functions *mzscheme-vim* - - *mzscheme-vimext* - The 'vimext' module provides access to procedures defined in the MzScheme ---- 143,149 ---- - GUI version. - - ============================================================================== -! 4. Vim access from MzScheme *mzscheme-vim* - - *mzscheme-vimext* - The 'vimext' module provides access to procedures defined in the MzScheme -*************** -*** 231,237 **** - (set-cursor (line . col) [window]) Set cursor position. - - ============================================================================== -! 5. Dynamic loading *mzscheme-dynamic* *E815* - - On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| - output then includes |+mzscheme/dyn|. ---- 232,244 ---- - (set-cursor (line . col) [window]) Set cursor position. - - ============================================================================== -! 5. mzeval() Vim function *mzscheme-mzeval* -! -! To facilitate bi-directional interface, you can use |mzeval| function to -! evaluate MzScheme expressions and pass their values to VimL. -! -! ============================================================================== -! 6. Dynamic loading *mzscheme-dynamic* *E815* - - On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version| - output then includes |+mzscheme/dyn|. -*** ../vim-7.2.335/runtime/doc/usr_41.txt 2008-08-09 19:36:54.000000000 +0200 ---- runtime/doc/usr_41.txt 2010-01-19 15:29:01.000000000 +0100 -*************** -*** 868,873 **** ---- 868,875 ---- - taglist() get list of matching tags - tagfiles() get a list of tags files - -+ mzeval() evaluate |MzScheme| expression -+ - ============================================================================== - *41.7* Defining a function - -*** ../vim-7.2.335/src/eval.c 2010-01-19 12:46:51.000000000 +0100 ---- src/eval.c 2010-01-19 15:48:12.000000000 +0100 -*************** -*** 433,439 **** - static long list_find_nr __ARGS((list_T *l, long idx, int *errorp)); - static long list_idx_of_item __ARGS((list_T *l, listitem_T *item)); - static void list_append __ARGS((list_T *l, listitem_T *item)); -- static int list_append_tv __ARGS((list_T *l, typval_T *tv)); - static int list_append_number __ARGS((list_T *l, varnumber_T n)); - static int list_insert_tv __ARGS((list_T *l, typval_T *tv, listitem_T *item)); - static int list_extend __ARGS((list_T *l1, list_T *l2, listitem_T *bef)); ---- 433,438 ---- -*************** -*** 448,459 **** - static void set_ref_in_item __ARGS((typval_T *tv, int copyID)); - static void dict_unref __ARGS((dict_T *d)); - static void dict_free __ARGS((dict_T *d, int recurse)); -- static dictitem_T *dictitem_alloc __ARGS((char_u *key)); - static dictitem_T *dictitem_copy __ARGS((dictitem_T *org)); - static void dictitem_remove __ARGS((dict_T *dict, dictitem_T *item)); -- static void dictitem_free __ARGS((dictitem_T *item)); - static dict_T *dict_copy __ARGS((dict_T *orig, int deep, int copyID)); -- static int dict_add __ARGS((dict_T *d, dictitem_T *item)); - static long dict_len __ARGS((dict_T *d)); - static dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); - static char_u *dict2string __ARGS((typval_T *tv, int copyID)); ---- 447,455 ---- -*************** -*** 628,633 **** ---- 624,632 ---- - static void f_mkdir __ARGS((typval_T *argvars, typval_T *rettv)); - #endif - static void f_mode __ARGS((typval_T *argvars, typval_T *rettv)); -+ #ifdef FEAT_MZSCHEME -+ static void f_mzeval __ARGS((typval_T *argvars, typval_T *rettv)); -+ #endif - static void f_nextnonblank __ARGS((typval_T *argvars, typval_T *rettv)); - static void f_nr2char __ARGS((typval_T *argvars, typval_T *rettv)); - static void f_pathshorten __ARGS((typval_T *argvars, typval_T *rettv)); -*************** -*** 764,770 **** - static int var_check_ro __ARGS((int flags, char_u *name)); - static int var_check_fixed __ARGS((int flags, char_u *name)); - static int tv_check_lock __ARGS((int lock, char_u *name)); -- static void copy_tv __ARGS((typval_T *from, typval_T *to)); - static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID)); - static char_u *find_option_end __ARGS((char_u **arg, int *opt_flags)); - static char_u *trans_function_name __ARGS((char_u **pp, int skip, int flags, funcdict_T *fd)); ---- 763,768 ---- -*************** -*** 6155,6161 **** - * Append typval_T "tv" to the end of list "l". - * Return FAIL when out of memory. - */ -! static int - list_append_tv(l, tv) - list_T *l; - typval_T *tv; ---- 6153,6159 ---- - * Append typval_T "tv" to the end of list "l". - * Return FAIL when out of memory. - */ -! int - list_append_tv(l, tv) - list_T *l; - typval_T *tv; -*************** -*** 6812,6818 **** - * Note that the value of the item "di_tv" still needs to be initialized! - * Returns NULL when out of memory. - */ -! static dictitem_T * - dictitem_alloc(key) - char_u *key; - { ---- 6810,6816 ---- - * Note that the value of the item "di_tv" still needs to be initialized! - * Returns NULL when out of memory. - */ -! dictitem_T * - dictitem_alloc(key) - char_u *key; - { -*************** -*** 6868,6874 **** - /* - * Free a dict item. Also clears the value. - */ -! static void - dictitem_free(item) - dictitem_T *item; - { ---- 6866,6872 ---- - /* - * Free a dict item. Also clears the value. - */ -! void - dictitem_free(item) - dictitem_T *item; - { -*************** -*** 6948,6954 **** - * Add item "item" to Dictionary "d". - * Returns FAIL when out of memory and when key already existed. - */ -! static int - dict_add(d, item) - dict_T *d; - dictitem_T *item; ---- 6946,6952 ---- - * Add item "item" to Dictionary "d". - * Returns FAIL when out of memory and when key already existed. - */ -! int - dict_add(d, item) - dict_T *d; - dictitem_T *item; -*************** -*** 7699,7704 **** ---- 7697,7705 ---- - {"mkdir", 1, 3, f_mkdir}, - #endif - {"mode", 0, 1, f_mode}, -+ #ifdef FEAT_MZSCHEME -+ {"mzeval", 1, 1, f_mzeval}, -+ #endif - {"nextnonblank", 1, 1, f_nextnonblank}, - {"nr2char", 1, 1, f_nr2char}, - {"pathshorten", 1, 1, f_pathshorten}, -*************** -*** 13591,13596 **** ---- 13592,13614 ---- - rettv->v_type = VAR_STRING; - } - -+ #ifdef FEAT_MZSCHEME -+ /* -+ * "mzeval()" function -+ */ -+ static void -+ f_mzeval(argvars, rettv) -+ typval_T *argvars; -+ typval_T *rettv; -+ { -+ char_u *str; -+ char_u buf[NUMBUFLEN]; -+ -+ str = get_tv_string_buf(&argvars[0], buf); -+ do_mzeval(str, rettv); -+ } -+ #endif -+ - /* - * "nextnonblank()" function - */ -*************** -*** 19274,19280 **** - * It is OK for "from" and "to" to point to the same item. This is used to - * make a copy later. - */ -! static void - copy_tv(from, to) - typval_T *from; - typval_T *to; ---- 19292,19298 ---- - * It is OK for "from" and "to" to point to the same item. This is used to - * make a copy later. - */ -! void - copy_tv(from, to) - typval_T *from; - typval_T *to; -*** ../vim-7.2.335/src/if_mzsch.c 2009-12-16 19:02:05.000000000 +0100 ---- src/if_mzsch.c 2010-01-19 15:43:05.000000000 +0100 -*************** -*** 170,175 **** ---- 170,177 ---- - #ifdef FEAT_EVAL - static Scheme_Object *vim_to_mzscheme(typval_T *vim_value, int depth, - Scheme_Hash_Table *visited); -+ static int mzscheme_to_vim(Scheme_Object *obj, typval_T *tv, int depth, -+ Scheme_Hash_Table *visited); - #endif - - #ifdef MZ_PRECISE_GC -*************** -*** 2733,2738 **** ---- 2735,2959 ---- - MZ_GC_UNREG(); - return result; - } -+ -+ static int -+ mzscheme_to_vim(Scheme_Object *obj, typval_T *tv, int depth, -+ Scheme_Hash_Table *visited) -+ { -+ int status = OK; -+ typval_T *found; -+ MZ_GC_CHECK(); -+ if (depth > 100) /* limit the deepest recursion level */ -+ { -+ tv->v_type = VAR_NUMBER; -+ tv->vval.v_number = 0; -+ return FAIL; -+ } -+ -+ found = (typval_T *)scheme_hash_get(visited, obj); -+ if (found != NULL) -+ copy_tv(found, tv); -+ else if (SCHEME_VOIDP(obj)) -+ { -+ tv->v_type = VAR_NUMBER; -+ tv->vval.v_number = 0; -+ } -+ else if (SCHEME_INTP(obj)) -+ { -+ tv->v_type = VAR_NUMBER; -+ tv->vval.v_number = SCHEME_INT_VAL(obj); -+ } -+ else if (SCHEME_BOOLP(obj)) -+ { -+ tv->v_type = VAR_NUMBER; -+ tv->vval.v_number = SCHEME_TRUEP(obj); -+ } -+ # ifdef FEAT_FLOAT -+ else if (SCHEME_DBLP(obj)) -+ { -+ tv->v_type = VAR_FLOAT; -+ tv->vval.v_float = SCHEME_DBL_VAL(obj); -+ } -+ # endif -+ else if (SCHEME_STRINGP(obj)) -+ { -+ tv->v_type = VAR_STRING; -+ tv->vval.v_string = vim_strsave((char_u *)SCHEME_STR_VAL(obj)); -+ } -+ else if (SCHEME_VECTORP(obj) || SCHEME_NULLP(obj) -+ || SCHEME_PAIRP(obj) || SCHEME_MUTABLE_PAIRP(obj)) -+ { -+ list_T *list = list_alloc(); -+ if (list == NULL) -+ status = FAIL; -+ else -+ { -+ int i; -+ Scheme_Object *curr = NULL; -+ Scheme_Object *cval = NULL; -+ /* temporary var to hold current element of vectors and pairs */ -+ typval_T *v; -+ -+ MZ_GC_DECL_REG(2); -+ MZ_GC_VAR_IN_REG(0, curr); -+ MZ_GC_VAR_IN_REG(1, cval); -+ MZ_GC_REG(); -+ -+ tv->v_type = VAR_LIST; -+ tv->vval.v_list = list; -+ ++list->lv_refcount; -+ -+ v = (typval_T *)alloc(sizeof(typval_T)); -+ if (v == NULL) -+ status = FAIL; -+ else -+ { -+ /* add the value in advance to allow handling of self-referencial -+ * data structures */ -+ typval_T *visited_tv = (typval_T *)alloc(sizeof(typval_T)); -+ copy_tv(tv, visited_tv); -+ scheme_hash_set(visited, obj, (Scheme_Object *)visited_tv); -+ -+ if (SCHEME_VECTORP(obj)) -+ { -+ for (i = 0; i < SCHEME_VEC_SIZE(obj); ++i) -+ { -+ cval = SCHEME_VEC_ELS(obj)[i]; -+ status = mzscheme_to_vim(cval, v, depth + 1, visited); -+ if (status == FAIL) -+ break; -+ status = list_append_tv(list, v); -+ clear_tv(v); -+ if (status == FAIL) -+ break; -+ } -+ } -+ else if (SCHEME_PAIRP(obj) || SCHEME_MUTABLE_PAIRP(obj)) -+ { -+ for (curr = obj; -+ SCHEME_PAIRP(curr) || SCHEME_MUTABLE_PAIRP(curr); -+ curr = SCHEME_CDR(curr)) -+ { -+ cval = SCHEME_CAR(curr); -+ status = mzscheme_to_vim(cval, v, depth + 1, visited); -+ if (status == FAIL) -+ break; -+ status = list_append_tv(list, v); -+ clear_tv(v); -+ if (status == FAIL) -+ break; -+ } -+ /* impoper list not terminated with null -+ * need to handle the last element */ -+ if (status == OK && !SCHEME_NULLP(curr)) -+ { -+ status = mzscheme_to_vim(cval, v, depth + 1, visited); -+ if (status == OK) -+ { -+ status = list_append_tv(list, v); -+ clear_tv(v); -+ } -+ } -+ } -+ /* nothing to do for scheme_null */ -+ vim_free(v); -+ } -+ MZ_GC_UNREG(); -+ } -+ } -+ else if (SCHEME_HASHTP(obj)) -+ { -+ int i; -+ dict_T *dict; -+ Scheme_Object *key = NULL; -+ Scheme_Object *val = NULL; -+ -+ MZ_GC_DECL_REG(2); -+ MZ_GC_VAR_IN_REG(0, key); -+ MZ_GC_VAR_IN_REG(1, val); -+ MZ_GC_REG(); -+ -+ dict = dict_alloc(); -+ if (dict == NULL) -+ status = FAIL; -+ else -+ { -+ typval_T *visited_tv = (typval_T *)alloc(sizeof(typval_T)); -+ -+ tv->v_type = VAR_DICT; -+ tv->vval.v_dict = dict; -+ ++dict->dv_refcount; -+ -+ copy_tv(tv, visited_tv); -+ scheme_hash_set(visited, obj, (Scheme_Object *)visited_tv); -+ -+ for (i = 0; i < ((Scheme_Hash_Table *)obj)->size; ++i) -+ { -+ if (((Scheme_Hash_Table *) obj)->vals[i] != NULL) -+ { -+ /* generate item for `diplay'ed Scheme key */ -+ dictitem_T *item = dictitem_alloc((char_u *)string_to_line( -+ ((Scheme_Hash_Table *) obj)->keys[i])); -+ /* convert Scheme val to Vim and add it to the dict */ -+ if (mzscheme_to_vim(((Scheme_Hash_Table *) obj)->vals[i], -+ &item->di_tv, depth + 1, visited) == FAIL -+ || dict_add(dict, item) == FAIL) -+ { -+ dictitem_free(item); -+ status = FAIL; -+ break; -+ } -+ } -+ -+ } -+ } -+ MZ_GC_UNREG(); -+ } -+ else -+ { -+ /* `display' any other value to string */ -+ tv->v_type = VAR_STRING; -+ tv->vval.v_string = (char_u *)string_to_line(obj); -+ } -+ return status; -+ } -+ -+ void -+ do_mzeval(char_u *str, typval_T *rettv) -+ { -+ int i; -+ Scheme_Object *ret = NULL; -+ Scheme_Hash_Table *visited = NULL; -+ -+ MZ_GC_DECL_REG(2); -+ MZ_GC_VAR_IN_REG(0, ret); -+ MZ_GC_VAR_IN_REG(0, visited); -+ MZ_GC_REG(); -+ -+ if (mzscheme_init()) -+ { -+ MZ_GC_UNREG(); -+ return; -+ } -+ -+ MZ_GC_CHECK(); -+ visited = scheme_make_hash_table(SCHEME_hash_ptr); -+ MZ_GC_CHECK(); -+ -+ if (eval_with_exn_handling(str, do_eval, &ret) == OK) -+ mzscheme_to_vim(ret, rettv, 1, visited); -+ -+ for (i = 0; i < visited->size; ++i) -+ { -+ /* free up remembered objects */ -+ if (visited->vals[i] != NULL) -+ { -+ free_tv((typval_T *)visited->vals[i]); -+ } -+ } -+ -+ MZ_GC_UNREG(); -+ } - #endif - - /* -*** ../vim-7.2.335/src/proto/eval.pro 2009-09-30 15:15:33.000000000 +0200 ---- src/proto/eval.pro 2010-01-19 15:45:39.000000000 +0100 -*************** -*** 47,56 **** ---- 47,60 ---- - void list_free __ARGS((list_T *l, int recurse)); - dictitem_T *dict_lookup __ARGS((hashitem_T *hi)); - char_u *list_find_str __ARGS((list_T *l, long idx)); -+ int list_append_tv __ARGS((list_T *l, typval_T *tv)); - int list_append_dict __ARGS((list_T *list, dict_T *dict)); - int list_append_string __ARGS((list_T *l, char_u *str, int len)); - int garbage_collect __ARGS((void)); - dict_T *dict_alloc __ARGS((void)); -+ dictitem_T *dictitem_alloc __ARGS((char_u *key)); -+ void dictitem_free __ARGS((dictitem_T *item)); -+ int dict_add __ARGS((dict_T *d, dictitem_T *item)); - int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); - char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save)); - long get_dict_number __ARGS((dict_T *d, char_u *key)); -*************** -*** 77,82 **** ---- 81,87 ---- - void new_script_vars __ARGS((scid_T id)); - void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var)); - void vars_clear __ARGS((hashtab_T *ht)); -+ void copy_tv __ARGS((typval_T *from, typval_T *to)); - void ex_echo __ARGS((exarg_T *eap)); - void ex_echohl __ARGS((exarg_T *eap)); - void ex_execute __ARGS((exarg_T *eap)); -*** ../vim-7.2.335/src/proto/if_mzsch.pro 2009-12-16 19:02:05.000000000 +0100 ---- src/proto/if_mzsch.pro 2010-01-19 15:29:01.000000000 +0100 -*************** -*** 15,18 **** ---- 15,19 ---- - void *mzvim_eval_string __ARGS((char_u *str)); - int mzthreads_allowed __ARGS((void)); - void mzscheme_main __ARGS((void)); -+ void do_mzeval __ARGS((char_u *str, typval_T *rettv)); - /* vim: set ft=c : */ -*** ../vim-7.2.335/src/testdir/Makefile 2009-11-17 17:40:34.000000000 +0100 ---- src/testdir/Makefile 2010-01-19 15:29:01.000000000 +0100 -*************** -*** 23,29 **** - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ - test64.out test65.out test66.out test67.out test68.out \ -! test69.out - - SCRIPTS_GUI = test16.out - ---- 23,29 ---- - test54.out test55.out test56.out test57.out test58.out \ - test59.out test60.out test61.out test62.out test63.out \ - test64.out test65.out test66.out test67.out test68.out \ -! test69.out test70.out - - SCRIPTS_GUI = test16.out - -*************** -*** 44,53 **** - $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) - - clean: -! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim test.ok X* valgrind.pid* viminfo - - test1.out: test1.in -! -rm -f $*.failed tiny.vim small.vim mbyte.vim test.ok X* viminfo - $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in - @/bin/sh -c "if diff test.out $*.ok; \ - then mv -f test.out $*.out; \ ---- 44,53 ---- - $(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG) - - clean: -! -rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo - - test1.out: test1.in -! -rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo - $(VALGRIND) $(VIMPROG) -u unix.vim -U NONE --noplugin -s dotest.in $*.in - @/bin/sh -c "if diff test.out $*.ok; \ - then mv -f test.out $*.out; \ -*** ../vim-7.2.335/src/testdir/main.aap 2004-06-13 21:05:31.000000000 +0200 ---- src/testdir/main.aap 2010-01-19 15:29:01.000000000 +0100 -*************** -*** 32,42 **** - $Scripts $ScriptsGUI: $VimProg - - clean: -! :del {r}{force} *.out test.log tiny.vim small.vim mbyte.vim test.ok X* - - # test1 is special, it checks for features - test1.out: test1.in -! :del {force} test1.failed tiny.vim small.vim mbyte.vim - :sys {i} $VimProg -u unix.vim -U NONE --noplugin -s dotest.in test1.in - @if os.system("diff test.out test1.ok") != 0: - :error test1 FAILED - Something basic is wrong ---- 32,42 ---- - $Scripts $ScriptsGUI: $VimProg - - clean: -! :del {r}{force} *.out test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* - - # test1 is special, it checks for features - test1.out: test1.in -! :del {force} test1.failed tiny.vim small.vim mbyte.vim mzscheme.vim - :sys {i} $VimProg -u unix.vim -U NONE --noplugin -s dotest.in test1.in - @if os.system("diff test.out test1.ok") != 0: - :error test1 FAILED - Something basic is wrong -*** ../vim-7.2.335/src/testdir/test1.in 2004-06-13 20:19:23.000000000 +0200 ---- src/testdir/test1.in 2010-01-19 15:38:44.000000000 +0100 -*************** -*** 13,18 **** ---- 13,19 ---- - - If Vim was not compiled with the +multi_byte feature, the mbyte.vim script will be set like small.vim above. mbyte.vim is sourced by tests that require the - +multi_byte feature. -+ Similar logic is applied to the +mzscheme feature, using mzscheme.vim. - - STARTTEST - :" Write a single line to test.out to check if testing works at all. -*************** -*** 25,32 **** ---- 26,36 ---- - w! test.out - qa! - :w! mbyte.vim -+ :w! mzscheme.vim - :" If +multi_byte feature supported, make mbyte.vim empty. - :if has("multi_byte") | sp another | w! mbyte.vim | q | endif -+ :" If +mzscheme feature supported, make mzscheme.vim empty. -+ :if has("mzscheme") | sp another | w! mzscheme.vim | q | endif - :" If +eval feature supported quit here, leaving tiny.vim and small.vim empty. - :" Otherwise write small.vim to skip the test. - :if 1 | q! | endif -*** ../vim-7.2.335/src/testdir/test70.in 2010-01-19 15:47:24.000000000 +0100 ---- src/testdir/test70.in 2010-01-19 15:29:01.000000000 +0100 -*************** -*** 0 **** ---- 1,53 ---- -+ Smoke test for MzScheme interface and mzeval() function -+ -+ STARTTEST -+ :so mzscheme.vim -+ :set nocompatible viminfo+=nviminfo -+ :function! MzRequire() -+ :redir => l:mzversion -+ :mz (version) -+ :redir END -+ :if strpart(l:mzversion, 1, 1) < "4" -+ :" MzScheme versions < 4.x: -+ :mz (require (prefix vim- vimext)) -+ :else -+ :" newer versions: -+ :mz (require (prefix-in vim- 'vimext)) -+ :mz (require r5rs) -+ :endif -+ :endfunction -+ :silent call MzRequire() -+ :mz (define l '("item0" "dictionary with list OK" "item2")) -+ :mz (define h (make-hash)) -+ :mz (hash-set! h "list" l) -+ /^1 -+ :" change buffer contents -+ :mz (vim-set-buff-line (vim-eval "line('.')") "1 changed line 1") -+ :" scalar test -+ :let tmp_string = mzeval('"string"') -+ :let tmp_1000 = mzeval('1000') -+ :if tmp_string . tmp_1000 == "string1000" -+ :let scalar_res = "OK" -+ :else -+ :let scalar_res = "FAILED" -+ :endif -+ :call append(search("^1"), "scalar test " . scalar_res) -+ :" dictionary containing a list -+ :let tmp = mzeval("h")["list"][1] -+ :/^2/put =tmp -+ :" circular list (at the same time test lists containing lists) -+ :mz (set-car! (cddr l) l) -+ :let l2 = mzeval("h")["list"] -+ :if l2[2] == l2 -+ :let res = "OK" -+ :else -+ :let res = "FAILED" -+ :endif -+ :call setline(search("^3"), "circular test " . res) -+ :?^1?,$w! test.out -+ :qa! -+ ENDTEST -+ -+ 1 line 1 -+ 2 line 2 -+ 3 line 3 -*** ../vim-7.2.335/src/testdir/test70.ok 2010-01-19 15:47:24.000000000 +0100 ---- src/testdir/test70.ok 2010-01-19 15:29:01.000000000 +0100 -*************** -*** 0 **** ---- 1,5 ---- -+ 1 changed line 1 -+ scalar test OK -+ 2 line 2 -+ dictionary with list OK -+ circular test OK -*** ../vim-7.2.335/src/version.c 2010-01-19 15:23:38.000000000 +0100 ---- src/version.c 2010-01-19 15:46:44.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 336, - /**/ - --- -"Computers in the future may weigh no more than 1.5 tons." - Popular Mechanics, 1949 - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.337 --- a/components/vim/vim72-patches/7.2.337 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,112 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.337 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.337 -Problem: The :compiler command doesn't function properly when invoked in a - function. -Solution: Add "g:" before "current_compiler". (Yukihiro Nakadaira) -Files: src/ex_cmds2.c - - -*** ../vim-7.2.336/src/ex_cmds2.c 2009-05-16 21:16:12.000000000 +0200 ---- src/ex_cmds2.c 2010-01-19 16:02:53.000000000 +0100 -*************** -*** 2496,2509 **** - * To remain backwards compatible "current_compiler" is always - * used. A user's compiler plugin may set it, the distributed - * plugin will then skip the settings. Afterwards set -! * "b:current_compiler" and restore "current_compiler". */ -! old_cur_comp = get_var_value((char_u *)"current_compiler"); - if (old_cur_comp != NULL) - old_cur_comp = vim_strsave(old_cur_comp); - do_cmdline_cmd((char_u *) - "command -nargs=* CompilerSet setlocal "); - } -! do_unlet((char_u *)"current_compiler", TRUE); - do_unlet((char_u *)"b:current_compiler", TRUE); - - sprintf((char *)buf, "compiler/%s.vim", eap->arg); ---- 2496,2510 ---- - * To remain backwards compatible "current_compiler" is always - * used. A user's compiler plugin may set it, the distributed - * plugin will then skip the settings. Afterwards set -! * "b:current_compiler" and restore "current_compiler". -! * Explicitly prepend "g:" to make it work in a function. */ -! old_cur_comp = get_var_value((char_u *)"g:current_compiler"); - if (old_cur_comp != NULL) - old_cur_comp = vim_strsave(old_cur_comp); - do_cmdline_cmd((char_u *) - "command -nargs=* CompilerSet setlocal "); - } -! do_unlet((char_u *)"g:current_compiler", TRUE); - do_unlet((char_u *)"b:current_compiler", TRUE); - - sprintf((char *)buf, "compiler/%s.vim", eap->arg); -*************** -*** 2514,2520 **** - do_cmdline_cmd((char_u *)":delcommand CompilerSet"); - - /* Set "b:current_compiler" from "current_compiler". */ -! p = get_var_value((char_u *)"current_compiler"); - if (p != NULL) - set_internal_string_var((char_u *)"b:current_compiler", p); - ---- 2515,2521 ---- - do_cmdline_cmd((char_u *)":delcommand CompilerSet"); - - /* Set "b:current_compiler" from "current_compiler". */ -! p = get_var_value((char_u *)"g:current_compiler"); - if (p != NULL) - set_internal_string_var((char_u *)"b:current_compiler", p); - -*************** -*** 2523,2534 **** - { - if (old_cur_comp != NULL) - { -! set_internal_string_var((char_u *)"current_compiler", - old_cur_comp); - vim_free(old_cur_comp); - } - else -! do_unlet((char_u *)"current_compiler", TRUE); - } - } - } ---- 2524,2535 ---- - { - if (old_cur_comp != NULL) - { -! set_internal_string_var((char_u *)"g:current_compiler", - old_cur_comp); - vim_free(old_cur_comp); - } - else -! do_unlet((char_u *)"g:current_compiler", TRUE); - } - } - } -*** ../vim-7.2.336/src/version.c 2010-01-19 15:51:29.000000000 +0100 ---- src/version.c 2010-01-19 16:11:20.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 337, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -121. You ask for e-mail adresses instead of telephone numbers. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.338 --- a/components/vim/vim72-patches/7.2.338 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.338 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.338 (after 7.2.300) -Problem: Part of FD_CLOEXEC change is missing. -Solution: Include source file skipped because of typo. -Files: src/ex_cmds2.c - - -*** ../vim-7.2.337/src/ex_cmds2.c 2010-01-19 16:12:53.000000000 +0100 ---- src/ex_cmds2.c 2010-01-19 16:02:53.000000000 +0100 -*************** -*** 2802,2821 **** - - static char_u *get_one_sourceline __ARGS((struct source_cookie *sp)); - -! #if defined(WIN32) && defined(FEAT_CSCOPE) - static FILE *fopen_noinh_readbin __ARGS((char *filename)); - - /* - * Special function to open a file without handle inheritance. - */ - static FILE * - fopen_noinh_readbin(filename) - char *filename; - { -! int fd_tmp = mch_open(filename, O_RDONLY | O_BINARY | O_NOINHERIT, 0); - - if (fd_tmp == -1) - return NULL; - return fdopen(fd_tmp, READBIN); - } - #endif ---- 2802,2836 ---- - - static char_u *get_one_sourceline __ARGS((struct source_cookie *sp)); - -! #if (defined(WIN32) && defined(FEAT_CSCOPE)) || defined(HAVE_FD_CLOEXEC) -! # define USE_FOPEN_NOINH - static FILE *fopen_noinh_readbin __ARGS((char *filename)); - - /* - * Special function to open a file without handle inheritance. -+ * When possible the handle is closed on exec(). - */ - static FILE * - fopen_noinh_readbin(filename) - char *filename; - { -! int fd_tmp = mch_open(filename, O_RDONLY -! # ifdef WIN32 -! O_BINARY | O_NOINHERIT -! # endif -! , 0); - - if (fd_tmp == -1) - return NULL; -+ -+ # ifdef HAVE_FD_CLOEXEC -+ { -+ int fdflags = fcntl(fd_tmp, F_GETFD); -+ if (fdflags >= 0 && (fdflags & FD_CLOEXEC) == 0) -+ fcntl(fd_tmp, F_SETFD, fdflags | FD_CLOEXEC); -+ } -+ # endif -+ - return fdopen(fd_tmp, READBIN); - } - #endif -*************** -*** 2895,2901 **** - apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf); - #endif - -! #if defined(WIN32) && defined(FEAT_CSCOPE) - cookie.fp = fopen_noinh_readbin((char *)fname_exp); - #else - cookie.fp = mch_fopen((char *)fname_exp, READBIN); ---- 2910,2916 ---- - apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf); - #endif - -! #ifdef USE_FOPEN_NOINH - cookie.fp = fopen_noinh_readbin((char *)fname_exp); - #else - cookie.fp = mch_fopen((char *)fname_exp, READBIN); -*************** -*** 2916,2922 **** - *p = '.'; - else - *p = '_'; -! #if defined(WIN32) && defined(FEAT_CSCOPE) - cookie.fp = fopen_noinh_readbin((char *)fname_exp); - #else - cookie.fp = mch_fopen((char *)fname_exp, READBIN); ---- 2931,2937 ---- - *p = '.'; - else - *p = '_'; -! #ifdef USE_FOPEN_NOINH - cookie.fp = fopen_noinh_readbin((char *)fname_exp); - #else - cookie.fp = mch_fopen((char *)fname_exp, READBIN); -*** ../vim-7.2.337/src/version.c 2010-01-19 16:12:53.000000000 +0100 ---- src/version.c 2010-01-19 16:20:08.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 338, - /**/ - --- -~ -~ -~ -".signature" 4 lines, 50 characters written - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.339 --- a/components/vim/vim72-patches/7.2.339 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.339 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.339 (after 7.2.269) -Problem: Part of --startuptime patch is missing. -Solution: Add check for time_fd. -Files: src/ex_cmds2.c - - -*** ../vim-7.2.338/src/ex_cmds2.c 2010-01-19 16:21:55.000000000 +0100 ---- src/ex_cmds2.c 2010-01-19 16:02:53.000000000 +0100 -*************** -*** 3036,3042 **** - #endif - - #ifdef STARTUPTIME -! time_push(&tv_rel, &tv_start); - #endif - - #ifdef FEAT_EVAL ---- 3036,3043 ---- - #endif - - #ifdef STARTUPTIME -! if (time_fd != NULL) -! time_push(&tv_rel, &tv_start); - #endif - - #ifdef FEAT_EVAL -*************** -*** 3162,3170 **** - verbose_leave(); - } - #ifdef STARTUPTIME -! vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname); -! time_msg((char *)IObuff, &tv_start); -! time_pop(&tv_rel); - #endif - - #ifdef FEAT_EVAL ---- 3163,3174 ---- - verbose_leave(); - } - #ifdef STARTUPTIME -! if (time_fd != NULL) -! { -! vim_snprintf((char *)IObuff, IOSIZE, "sourcing %s", fname); -! time_msg((char *)IObuff, &tv_start); -! time_pop(&tv_rel); -! } - #endif - - #ifdef FEAT_EVAL -*** ../vim-7.2.338/src/version.c 2010-01-19 16:21:55.000000000 +0100 ---- src/version.c 2010-01-19 16:25:39.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 339, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -122. You ask if the Netaholics Anonymous t-shirt you ordered can be - sent to you via e-mail. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.340 --- a/components/vim/vim72-patches/7.2.340 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.340 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.340 -Problem: Gcc warning for condition that can never be true. (James Vega) -Solution: Use start_lvl instead flp->lvl. -Files: src/fold.c - - -*** ../vim-7.2.339/src/fold.c 2009-11-03 18:04:26.000000000 +0100 ---- src/fold.c 2010-01-19 16:45:13.000000000 +0100 -*************** -*** 3239,3246 **** - flp->lvl = n; - flp->lvl_next = n - 1; - /* never start a fold with an end marker */ -! if (flp->lvl_next > flp->lvl) -! flp->lvl_next = flp->lvl; - } - } - else ---- 3239,3246 ---- - flp->lvl = n; - flp->lvl_next = n - 1; - /* never start a fold with an end marker */ -! if (flp->lvl_next > start_lvl) -! flp->lvl_next = start_lvl; - } - } - else -*** ../vim-7.2.339/src/version.c 2010-01-19 16:31:10.000000000 +0100 ---- src/version.c 2010-01-19 17:23:40.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 340, - /**/ - --- -Would you care for a drink? I mean, if it were, like, -disabled and you had to look after it? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.341 --- a/components/vim/vim72-patches/7.2.341 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.341 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.341 -Problem: Popup menu wraps to next line when double-wide character doesn't - fit. (Jiang Ma) -Solution: Display a ">" instead. (Dominique Pelle) -Files: src/screen.c - - -*** ../vim-7.2.340/src/screen.c 2009-11-25 13:03:29.000000000 +0100 ---- src/screen.c 2010-01-19 17:34:21.000000000 +0100 -*************** -*** 6434,6439 **** ---- 6434,6446 ---- - else - prev_c = u8c; - # endif -+ if (col + mbyte_cells > screen_Columns) -+ { -+ /* Only 1 cell left, but character requires 2 cells: -+ * display a '>' in the last column to avoid wrapping. */ -+ c = '>'; -+ mbyte_cells = 1; -+ } - } - } - #endif -*************** -*** 9210,9216 **** - int force; - { - /* -! * Don't delete it right now, when not redrawing or insided a mapping. - */ - if (!redrawing() || (!force && char_avail() && !KeyTyped)) - redraw_cmdline = TRUE; /* delete mode later */ ---- 9217,9223 ---- - int force; - { - /* -! * Don't delete it right now, when not redrawing or inside a mapping. - */ - if (!redrawing() || (!force && char_avail() && !KeyTyped)) - redraw_cmdline = TRUE; /* delete mode later */ -*** ../vim-7.2.340/src/version.c 2010-01-19 17:24:20.000000000 +0100 ---- src/version.c 2010-01-19 17:39:56.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 341, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -124. You begin conversations with, "Who is your internet service provider?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.342 --- a/components/vim/vim72-patches/7.2.342 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,95 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.342 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.342 -Problem: Popup menu displayed wrong in 'rightleft' mode when there are - multi-byte characters. -Solution: Adjust the column computations. (Dominique Pelle) -Files: src/popupmnu.c - - -*** ../vim-7.2.341/src/popupmnu.c 2008-11-15 14:10:23.000000000 +0100 ---- src/popupmnu.c 2010-01-19 17:57:05.000000000 +0100 -*************** -*** 345,365 **** - if (st != NULL) - { - char_u *rt = reverse_text(st); -- char_u *rt_saved = rt; -- int len, j; - - if (rt != NULL) - { -! len = (int)STRLEN(rt); -! if (len > pum_width) - { -! for (j = pum_width; j < len; ++j) - mb_ptr_adv(rt); -! len = pum_width; - } -! screen_puts_len(rt, len, row, -! col - len + 1, attr); -! vim_free(rt_saved); - } - vim_free(st); - } ---- 345,380 ---- - if (st != NULL) - { - char_u *rt = reverse_text(st); - - if (rt != NULL) - { -! char_u *rt_start = rt; -! int size; -! -! size = vim_strsize(rt); -! if (size > pum_width) - { -! do -! { -! size -= has_mbyte -! ? (*mb_ptr2cells)(rt) : 1; - mb_ptr_adv(rt); -! } while (size > pum_width); -! -! if (size < pum_width) -! { -! /* Most left character requires -! * 2-cells but only 1 cell is -! * available on screen. Put a -! * '<' on the left of the pum -! * item */ -! *(--rt) = '<'; -! size++; -! } - } -! screen_puts_len(rt, (int)STRLEN(rt), -! row, col - size + 1, attr); -! vim_free(rt_start); - } - vim_free(st); - } -*** ../vim-7.2.341/src/version.c 2010-01-19 17:40:39.000000000 +0100 ---- src/version.c 2010-01-19 18:03:22.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 342, - /**/ - --- -I have a watch cat! Just break in and she'll watch. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.343 --- a/components/vim/vim72-patches/7.2.343 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.343 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.343 (after 7.2.338) -Problem: Can't compile on Win32. -Solution: Insert the missing '|'. -Files: src/ex_cmds2.c - - -*** ../vim-7.2.342/src/ex_cmds2.c 2010-01-19 16:31:10.000000000 +0100 ---- src/ex_cmds2.c 2010-01-19 23:22:40.000000000 +0100 -*************** -*** 2816,2822 **** - { - int fd_tmp = mch_open(filename, O_RDONLY - # ifdef WIN32 -! O_BINARY | O_NOINHERIT - # endif - , 0); - ---- 2816,2822 ---- - { - int fd_tmp = mch_open(filename, O_RDONLY - # ifdef WIN32 -! | O_BINARY | O_NOINHERIT - # endif - , 0); - -*** ../vim-7.2.342/src/version.c 2010-01-19 18:05:05.000000000 +0100 ---- src/version.c 2010-01-19 23:24:05.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 343, - /**/ - --- -I'm writing a book. I've got the page numbers done. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.344 --- a/components/vim/vim72-patches/7.2.344 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.344 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.344 (after 7.2.343) -Problem: Can't compile on some systems -Solution: Move the #ifdef outside of the mch_open macro. (Patrick Texier) -Files: src/ex_cmds2.c - - -*** ../vim-7.2.343/src/ex_cmds2.c 2010-01-19 23:25:18.000000000 +0100 ---- src/ex_cmds2.c 2010-01-20 21:38:19.000000000 +0100 -*************** -*** 2814,2824 **** - fopen_noinh_readbin(filename) - char *filename; - { -- int fd_tmp = mch_open(filename, O_RDONLY - # ifdef WIN32 -! | O_BINARY | O_NOINHERIT - # endif -- , 0); - - if (fd_tmp == -1) - return NULL; ---- 2814,2824 ---- - fopen_noinh_readbin(filename) - char *filename; - { - # ifdef WIN32 -! int fd_tmp = mch_open(filename, O_RDONLY | O_BINARY | O_NOINHERIT, 0); -! # else -! int fd_tmp = mch_open(filename, O_RDONLY, 0); - # endif - - if (fd_tmp == -1) - return NULL; -*** ../vim-7.2.343/src/version.c 2010-01-19 23:25:18.000000000 +0100 ---- src/version.c 2010-01-20 21:38:23.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 344, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -128. You can access the Net -- via your portable and cellular phone. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.345 --- a/components/vim/vim72-patches/7.2.345 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.345 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.345 -Problem: Tab line is not updated when the value of 'bt' is changed. -Solution: Call redraw_titles(). (Lech Lorens) -Files: src/option.c - - -*** ../vim-7.2.344/src/option.c 2009-09-11 15:20:22.000000000 +0200 ---- src/option.c 2010-01-27 15:52:45.000000000 +0100 -*************** -*** 6410,6415 **** ---- 6410,6418 ---- - } - # endif - curbuf->b_help = (curbuf->b_p_bt[0] == 'h'); -+ # ifdef FEAT_TITLE -+ redraw_titles(); -+ # endif - } - } - #endif -*** ../vim-7.2.344/src/version.c 2010-01-20 21:41:40.000000000 +0100 ---- src/version.c 2010-01-27 15:57:06.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 345, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -154. You fondle your mouse. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.346 --- a/components/vim/vim72-patches/7.2.346 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.346 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.346 -Problem: Repeating a command with @: causes a mapping to be applied twice. -Solution: Do not remap characters inserted in the typeahead buffer. (Kana - Natsuno) -Files: src/ops.c - - -*** ../vim-7.2.345/src/ops.c 2010-01-19 14:59:14.000000000 +0100 ---- src/ops.c 2010-01-19 13:04:46.000000000 +0100 -*************** -*** 1301,1310 **** - } - } - - static int - put_in_typebuf(s, esc, colon, silent) - char_u *s; -! int esc; /* Escape CSI characters */ - int colon; /* add ':' before the line */ - int silent; - { ---- 1301,1316 ---- - } - } - -+ /* -+ * Insert register contents "s" into the typeahead buffer, so that it will be -+ * executed again. -+ * When "esc" is TRUE it is to be taken literally: Escape CSI characters and -+ * no remapping. -+ */ - static int - put_in_typebuf(s, esc, colon, silent) - char_u *s; -! int esc; - int colon; /* add ':' before the line */ - int silent; - { -*************** -*** 1312,1318 **** - - put_reedit_in_typebuf(silent); - if (colon) -! retval = ins_typebuf((char_u *)"\n", REMAP_YES, 0, TRUE, silent); - if (retval == OK) - { - char_u *p; ---- 1318,1324 ---- - - put_reedit_in_typebuf(silent); - if (colon) -! retval = ins_typebuf((char_u *)"\n", REMAP_NONE, 0, TRUE, silent); - if (retval == OK) - { - char_u *p; -*************** -*** 1324,1335 **** - if (p == NULL) - retval = FAIL; - else -! retval = ins_typebuf(p, REMAP_YES, 0, TRUE, silent); - if (esc) - vim_free(p); - } - if (colon && retval == OK) -! retval = ins_typebuf((char_u *)":", REMAP_YES, 0, TRUE, silent); - return retval; - } - ---- 1330,1342 ---- - if (p == NULL) - retval = FAIL; - else -! retval = ins_typebuf(p, esc ? REMAP_NONE : REMAP_YES, -! 0, TRUE, silent); - if (esc) - vim_free(p); - } - if (colon && retval == OK) -! retval = ins_typebuf((char_u *)":", REMAP_NONE, 0, TRUE, silent); - return retval; - } - -*** ../vim-7.2.345/src/version.c 2010-01-27 15:57:17.000000000 +0100 ---- src/version.c 2010-01-27 16:25:55.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 346, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -155. You forget to eat because you're too busy surfing the net. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.347 --- a/components/vim/vim72-patches/7.2.347 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.347 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.347 -Problem: Crash when executing mapping redefines that same mapping. -Solution: Save the values used before evaluating the expression. -Files: src/getchar.c - - -*** ../vim-7.2.346/src/getchar.c 2009-11-11 16:23:37.000000000 +0100 ---- src/getchar.c 2010-01-27 17:30:42.000000000 +0100 -*************** -*** 2389,2394 **** ---- 2389,2405 ---- - /* complete match */ - if (keylen >= 0 && keylen <= typebuf.tb_len) - { -+ #ifdef FEAT_EVAL -+ int save_m_expr; -+ int save_m_noremap; -+ int save_m_silent; -+ char_u *save_m_keys; -+ char_u *save_m_str; -+ #else -+ # define save_m_noremap mp->m_noremap -+ # define save_m_silent mp->m_silent -+ #endif -+ - /* write chars to script file(s) */ - if (keylen > typebuf.tb_maplen) - gotchars(typebuf.tb_buf + typebuf.tb_off -*************** -*** 2431,2436 **** ---- 2442,2457 ---- - #endif - - #ifdef FEAT_EVAL -+ /* Copy the values from *mp that are used, because -+ * evaluating the expression may invoke a function -+ * that redefines the mapping, thereby making *mp -+ * invalid. */ -+ save_m_expr = mp->m_expr; -+ save_m_noremap = mp->m_noremap; -+ save_m_silent = mp->m_silent; -+ save_m_keys = NULL; /* only saved when needed */ -+ save_m_str = NULL; /* only saved when needed */ -+ - /* - * Handle ":map ": evaluate the {rhs} as an - * expression. Save and restore the typeahead so that -*************** -*** 2446,2452 **** - if (tabuf.typebuf_valid) - { - vgetc_busy = 0; -! s = eval_map_expr(mp->m_str, NUL); - vgetc_busy = save_vgetc_busy; - } - else ---- 2467,2475 ---- - if (tabuf.typebuf_valid) - { - vgetc_busy = 0; -! save_m_keys = vim_strsave(mp->m_keys); -! save_m_str = vim_strsave(mp->m_str); -! s = eval_map_expr(save_m_str, NUL); - vgetc_busy = save_vgetc_busy; - } - else -*************** -*** 2470,2486 **** - else - { - i = ins_typebuf(s, -! mp->m_noremap != REMAP_YES -! ? mp->m_noremap -! : STRNCMP(s, mp->m_keys, - (size_t)keylen) != 0 - ? REMAP_YES : REMAP_SKIP, -! 0, TRUE, cmd_silent || mp->m_silent); - #ifdef FEAT_EVAL -! if (mp->m_expr) - vim_free(s); - #endif - } - if (i == FAIL) - { - c = -1; ---- 2493,2517 ---- - else - { - i = ins_typebuf(s, -! save_m_noremap != REMAP_YES -! ? save_m_noremap -! : STRNCMP(s, -! #ifdef FEAT_EVAL -! save_m_keys != NULL ? save_m_keys : -! #endif -! mp->m_keys, - (size_t)keylen) != 0 - ? REMAP_YES : REMAP_SKIP, -! 0, TRUE, cmd_silent || save_m_silent); - #ifdef FEAT_EVAL -! if (save_m_expr) - vim_free(s); - #endif - } -+ #ifdef FEAT_EVAL -+ vim_free(save_m_keys); -+ vim_free(save_m_str); -+ #endif - if (i == FAIL) - { - c = -1; -*** ../vim-7.2.346/src/version.c 2010-01-27 16:31:00.000000000 +0100 ---- src/version.c 2010-01-27 17:27:32.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 347, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -156. You forget your friend's name but not her e-mail address. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.348 --- a/components/vim/vim72-patches/7.2.348 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,254 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.348 (after 7.2.330) -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.348 (after 7.2.330) -Problem: Unicode double-width characters are not up-to date. -Solution: Produce the double-width table like the others. -Files: runtime/tools/unicode.vim, src/mbyte.c - - -*** ../vim-7.2.347/runtime/tools/unicode.vim 2010-01-12 19:48:57.000000000 +0100 ---- runtime/tools/unicode.vim 2010-01-27 17:57:17.000000000 +0100 -*************** -*** 187,202 **** - wincmd p - endfunc - -! " Build the ambiguous table in a new buffer. - " Uses s:widthprops and s:dataprops. -! func! BuildAmbiguousTable() - let start = -1 - let end = -1 - let ranges = [] - let dataidx = 0 - for p in s:widthprops -! if p[1][0] == 'A' -! let n = ('0x' . p[0]) + 0 - " Find this char in the data table. - while 1 - let dn = ('0x' . s:dataprops[dataidx][0]) + 0 ---- 187,213 ---- - wincmd p - endfunc - -! " Build the double width or ambiguous width table in a new buffer. - " Uses s:widthprops and s:dataprops. -! func! BuildWidthTable(pattern, tableName) - let start = -1 - let end = -1 - let ranges = [] - let dataidx = 0 - for p in s:widthprops -! if p[1][0] =~ a:pattern -! if p[0] =~ '\.\.' -! " It is a range. we don't check for composing char then. -! let rng = split(p[0], '\.\.') -! if len(rng) != 2 -! echoerr "Cannot parse range: '" . p[0] . "' in width table" -! endif -! let n = ('0x' . rng[0]) + 0 -! let n_last = ('0x' . rng[1]) + 0 -! else -! let n = ('0x' . p[0]) + 0 -! let n_last = n -! endif - " Find this char in the data table. - while 1 - let dn = ('0x' . s:dataprops[dataidx][0]) + 0 -*************** -*** 205,231 **** - endif - let dataidx += 1 - endwhile -! if dn != n - echoerr "Cannot find character " . n . " in data table" - endif - " Only use the char when it's not a composing char. - let dp = s:dataprops[dataidx] -! if dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me' - if start >= 0 && end + 1 == n - " continue with same range. -- let end = n - else - if start >= 0 - " produce previous range - call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) - endif - let start = n -- if p[0] =~ '\.\.' -- let end = ('0x' . substitute(p[0], '.*\.\.', '', '')) + 0 -- else -- let end = n -- endif - endif - endif - endif - endfor ---- 216,238 ---- - endif - let dataidx += 1 - endwhile -! if dn != n && n_last == n - echoerr "Cannot find character " . n . " in data table" - endif - " Only use the char when it's not a composing char. -+ " But use all chars from a range. - let dp = s:dataprops[dataidx] -! if n_last > n || (dp[2] != 'Mn' && dp[2] != 'Mc' && dp[2] != 'Me') - if start >= 0 && end + 1 == n - " continue with same range. - else - if start >= 0 - " produce previous range - call add(ranges, printf("\t{0x%04x, 0x%04x},", start, end)) - endif - let start = n - endif -+ let end = n_last - endif - endif - endfor -*************** -*** 235,242 **** - - " New buffer to put the result in. - new -! file ambiguous -! call setline(1, " static struct interval ambiguous[] =") - call setline(2, " {") - call append('$', ranges) - call setline('$', getline('$')[:-2]) " remove last comma ---- 242,249 ---- - - " New buffer to put the result in. - new -! exe "file " . a:tableName -! call setline(1, " static struct interval " . a:tableName . "[] =") - call setline(2, " {") - call append('$', ranges) - call setline('$', getline('$')[:-2]) " remove last comma -*************** -*** 276,280 **** - " Parse each line, create a list of lists. - call ParseWidthProps() - -! " Build the ambiguous table. -! call BuildAmbiguousTable() ---- 283,290 ---- - " Parse each line, create a list of lists. - call ParseWidthProps() - -! " Build the double width table. -! call BuildWidthTable('[WF]', 'doublewidth') -! -! " Build the ambiguous width table. -! call BuildWidthTable('A', 'ambiguous') -*** ../vim-7.2.347/src/mbyte.c 2010-01-12 19:48:57.000000000 +0100 ---- src/mbyte.c 2010-01-27 18:06:35.000000000 +0100 -*************** -*** 1200,1205 **** ---- 1200,1248 ---- - utf_char2cells(c) - int c; - { -+ /* Sorted list of non-overlapping intervals of East Asian double width -+ * characters, generated with ../runtime/tools/unicode.vim. */ -+ static struct interval doublewidth[] = -+ { -+ {0x1100, 0x115f}, -+ {0x11a3, 0x11a7}, -+ {0x11fa, 0x11ff}, -+ {0x2329, 0x232a}, -+ {0x2e80, 0x2e99}, -+ {0x2e9b, 0x2ef3}, -+ {0x2f00, 0x2fd5}, -+ {0x2ff0, 0x2ffb}, -+ {0x3000, 0x3029}, -+ {0x3030, 0x303e}, -+ {0x3041, 0x3096}, -+ {0x309b, 0x30ff}, -+ {0x3105, 0x312d}, -+ {0x3131, 0x318e}, -+ {0x3190, 0x31b7}, -+ {0x31c0, 0x31e3}, -+ {0x31f0, 0x321e}, -+ {0x3220, 0x3247}, -+ {0x3250, 0x32fe}, -+ {0x3300, 0x4dbf}, -+ {0x4e00, 0xa48c}, -+ {0xa490, 0xa4c6}, -+ {0xa960, 0xa97c}, -+ {0xac00, 0xd7a3}, -+ {0xd7b0, 0xd7c6}, -+ {0xd7cb, 0xd7fb}, -+ {0xf900, 0xfaff}, -+ {0xfe10, 0xfe19}, -+ {0xfe30, 0xfe52}, -+ {0xfe54, 0xfe66}, -+ {0xfe68, 0xfe6b}, -+ {0xff01, 0xff60}, -+ {0xffe0, 0xffe6}, -+ {0x1f200, 0x1f200}, -+ {0x1f210, 0x1f231}, -+ {0x1f240, 0x1f248}, -+ {0x20000, 0x2fffd}, -+ {0x30000, 0x3fffd} -+ }; - /* Sorted list of non-overlapping intervals of East Asian Ambiguous - * characters, generated with ../runtime/tools/unicode.vim. */ - static struct interval ambiguous[] = -*************** -*** 1403,1422 **** - #else - if (!utf_printable(c)) - return 6; /* unprintable, displays */ -! if (c >= 0x1100 -! && (c <= 0x115f /* Hangul Jamo */ -! || c == 0x2329 -! || c == 0x232a -! || (c >= 0x2e80 && c <= 0xa4cf -! && c != 0x303f) /* CJK ... Yi */ -! || (c >= 0xac00 && c <= 0xd7a3) /* Hangul Syllables */ -! || (c >= 0xf900 && c <= 0xfaff) /* CJK Compatibility -! Ideographs */ -! || (c >= 0xfe30 && c <= 0xfe6f) /* CJK Compatibility Forms */ -! || (c >= 0xff00 && c <= 0xff60) /* Fullwidth Forms */ -! || (c >= 0xffe0 && c <= 0xffe6) -! || (c >= 0x20000 && c <= 0x2fffd) -! || (c >= 0x30000 && c <= 0x3fffd))) - return 2; - #endif - } ---- 1446,1452 ---- - #else - if (!utf_printable(c)) - return 6; /* unprintable, displays */ -! if (intable(doublewidth, sizeof(doublewidth), c)) - return 2; - #endif - } -*** ../vim-7.2.347/src/version.c 2010-01-27 17:31:38.000000000 +0100 ---- src/version.c 2010-01-27 18:25:50.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 348, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -157. You fum through a magazine, you first check to see if it has a web - address. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.349 --- a/components/vim/vim72-patches/7.2.349 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.349 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.349 -Problem: CTRL-W gf doesn't put the new tab in the same place as "tab split" - and "gf". (Tony Mechelynck) -Solution: Store the tab number in cmdmod.tab. -Files: src/window.c - - -*** ../vim-7.2.348/src/window.c 2009-06-24 17:31:27.000000000 +0200 ---- src/window.c 2010-01-27 20:23:22.000000000 +0100 -*************** -*** 626,632 **** - #ifdef FEAT_SEARCHPATH - case 'f': /* CTRL-W gf: "gf" in a new tab page */ - case 'F': /* CTRL-W gF: "gF" in a new tab page */ -! cmdmod.tab = TRUE; - nchar = xchar; - goto wingotofile; - #endif ---- 626,632 ---- - #ifdef FEAT_SEARCHPATH - case 'f': /* CTRL-W gf: "gf" in a new tab page */ - case 'F': /* CTRL-W gF: "gF" in a new tab page */ -! cmdmod.tab = tabpage_index(curtab) + 1; - nchar = xchar; - goto wingotofile; - #endif -*** ../vim-7.2.348/src/version.c 2010-01-27 18:29:21.000000000 +0100 ---- src/version.c 2010-01-27 20:25:43.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 349, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -159. You get excited whenever discussing your hard drive. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.350 --- a/components/vim/vim72-patches/7.2.350 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.350 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.350 -Problem: Win32: When changing font the window may jump from the secondary - to the primary screen. (Michael Wookey) -Solution: When the screen position was negative don't correct it to zero. -Files: src/gui.c - - -*** ../vim-7.2.349/src/gui.c 2009-09-23 18:14:13.000000000 +0200 ---- src/gui.c 2010-01-27 21:02:32.000000000 +0100 -*************** -*** 1390,1395 **** ---- 1390,1396 ---- - int un_maximize = mustset; - int did_adjust = 0; - #endif -+ int x = -1, y = -1; - - if (!gui.shell_created) - return; -*************** -*** 1406,1411 **** ---- 1407,1416 ---- - - base_width = gui_get_base_width(); - base_height = gui_get_base_height(); -+ if (fit_to_display) -+ /* Remember the original window position. */ -+ gui_mch_get_winpos(&x, &y); -+ - #ifdef USE_SUN_WORKSHOP - if (!mustset && usingSunWorkShop - && workshop_get_width_height(&width, &height)) -*************** -*** 1473,1483 **** - - gui_mch_set_shellsize(width, height, min_width, min_height, - base_width, base_height, direction); -- if (fit_to_display) -- { -- int x, y; - -! /* Some window managers put the Vim window left of/above the screen. */ - gui_mch_update(); - if (gui_mch_get_winpos(&x, &y) == OK && (x < 0 || y < 0)) - gui_mch_set_winpos(x < 0 ? 0 : x, y < 0 ? 0 : y); ---- 1478,1489 ---- - - gui_mch_set_shellsize(width, height, min_width, min_height, - base_width, base_height, direction); - -! if (fit_to_display && x >= 0 && y >= 0) -! { -! /* Some window managers put the Vim window left of/above the screen. -! * Only change the position if it wasn't already negative before -! * (happens on MS-Windows with a secondary monitor). */ - gui_mch_update(); - if (gui_mch_get_winpos(&x, &y) == OK && (x < 0 || y < 0)) - gui_mch_set_winpos(x < 0 ? 0 : x, y < 0 ? 0 : y); -*** ../vim-7.2.349/src/version.c 2010-01-27 20:26:41.000000000 +0100 ---- src/version.c 2010-01-27 21:03:41.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 350, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -160. You get in the elevator and double-click the button for the floor - you want. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.351 --- a/components/vim/vim72-patches/7.2.351 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.351 (after 7.2.347) -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.351 (after 7.2.347) -Problem: Can't build with some compilers. -Solution: Move the #ifdef outside of a macro. Cleanup the code. -Files: src/getchar.c - - -*** ../vim-7.2.350/src/getchar.c 2010-01-27 17:31:38.000000000 +0100 ---- src/getchar.c 2010-01-28 22:42:22.000000000 +0100 -*************** -*** 2492,2508 **** - i = FAIL; - else - { -! i = ins_typebuf(s, -! save_m_noremap != REMAP_YES -! ? save_m_noremap -! : STRNCMP(s, - #ifdef FEAT_EVAL -! save_m_keys != NULL ? save_m_keys : - #endif -! mp->m_keys, -! (size_t)keylen) != 0 -! ? REMAP_YES : REMAP_SKIP, -! 0, TRUE, cmd_silent || save_m_silent); - #ifdef FEAT_EVAL - if (save_m_expr) - vim_free(s); ---- 2492,2515 ---- - i = FAIL; - else - { -! int noremap; -! -! if (save_m_noremap != REMAP_YES) -! noremap = save_m_noremap; -! else if ( - #ifdef FEAT_EVAL -! STRNCMP(s, save_m_keys != NULL -! ? save_m_keys : mp->m_keys, -! (size_t)keylen) -! #else -! STRNCMP(s, mp->m_keys, (size_t)keylen) - #endif -! != 0) -! noremap = REMAP_YES; -! else -! noremap = REMAP_SKIP; -! i = ins_typebuf(s, noremap, -! 0, TRUE, cmd_silent || save_m_silent); - #ifdef FEAT_EVAL - if (save_m_expr) - vim_free(s); -*** ../vim-7.2.350/src/version.c 2010-01-27 21:04:58.000000000 +0100 ---- src/version.c 2010-01-28 22:50:53.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 351, - /**/ - --- -"Hit any key to continue" it said, but nothing happened after F sharp. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.353 --- a/components/vim/vim72-patches/7.2.353 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,173 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.353 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.353 -Problem: No command line completion for ":profile". -Solution: Complete the subcommand and file name. -Files: src/ex_docmd.c, src/ex_cmds2.c, src/ex_getln.c, - src/proto/ex_cmds2.pro, src/vim.h - - -*** ../vim-7.2.352/src/ex_docmd.c 2009-11-03 12:38:50.000000000 +0100 ---- src/ex_docmd.c 2010-02-03 14:40:14.000000000 +0100 -*************** -*** 3804,3809 **** ---- 3804,3814 ---- - xp->xp_context = EXPAND_NOTHING; - break; - #endif -+ #if defined(FEAT_PROFILE) -+ case CMD_profile: -+ set_context_in_profile_cmd(xp, arg); -+ break; -+ #endif - - #endif /* FEAT_CMDL_COMPL */ - -*** ../vim-7.2.352/src/ex_cmds2.c 2010-01-20 21:41:40.000000000 +0100 ---- src/ex_cmds2.c 2010-02-03 14:50:08.000000000 +0100 -*************** -*** 1115,1120 **** ---- 1115,1193 ---- - } - } - -+ /* Command line expansion for :profile. */ -+ static enum -+ { -+ PEXP_SUBCMD, /* expand :profile sub-commands */ -+ PEXP_FUNC, /* expand :profile func {funcname} */ -+ } pexpand_what; -+ -+ static char *pexpand_cmds[] = { -+ "start", -+ #define PROFCMD_START 0 -+ "pause", -+ #define PROFCMD_PAUSE 1 -+ "continue", -+ #define PROFCMD_CONTINUE 2 -+ "func", -+ #define PROFCMD_FUNC 3 -+ "file", -+ #define PROFCMD_FILE 4 -+ NULL -+ #define PROFCMD_LAST 5 -+ }; -+ -+ /* -+ * Function given to ExpandGeneric() to obtain the profile command -+ * specific expansion. -+ */ -+ char_u * -+ get_profile_name(xp, idx) -+ expand_T *xp UNUSED; -+ int idx; -+ { -+ switch (pexpand_what) -+ { -+ case PEXP_SUBCMD: -+ return (char_u *)pexpand_cmds[idx]; -+ /* case PEXP_FUNC: TODO */ -+ default: -+ return NULL; -+ } -+ } -+ -+ /* -+ * Handle command line completion for :profile command. -+ */ -+ void -+ set_context_in_profile_cmd(xp, arg) -+ expand_T *xp; -+ char_u *arg; -+ { -+ char_u *end_subcmd; -+ int len; -+ -+ /* Default: expand subcommands. */ -+ xp->xp_context = EXPAND_PROFILE; -+ pexpand_what = PEXP_SUBCMD; -+ xp->xp_pattern = arg; -+ -+ end_subcmd = skiptowhite(arg); -+ if (*end_subcmd == NUL) -+ return; -+ -+ len = end_subcmd - arg; -+ if (len == 5 && STRNCMP(arg, "start", 5) == 0) -+ { -+ xp->xp_context = EXPAND_FILES; -+ xp->xp_pattern = skipwhite(end_subcmd); -+ return; -+ } -+ -+ /* TODO: expand function names after "func" */ -+ xp->xp_context = EXPAND_NOTHING; -+ } -+ - /* - * Dump the profiling info. - */ -*** ../vim-7.2.352/src/ex_getln.c 2010-01-19 14:59:14.000000000 +0100 ---- src/ex_getln.c 2010-02-03 14:38:43.000000000 +0100 -*************** -*** 4522,4527 **** ---- 4522,4530 ---- - #ifdef FEAT_SIGNS - {EXPAND_SIGN, get_sign_name, TRUE}, - #endif -+ #ifdef FEAT_PROFILE -+ {EXPAND_PROFILE, get_profile_name, TRUE}, -+ #endif - #if (defined(HAVE_LOCALE_H) || defined(X_LOCALE)) \ - && (defined(FEAT_GETTEXT) || defined(FEAT_MBYTE)) - {EXPAND_LANGUAGE, get_lang_arg, TRUE}, -*** ../vim-7.2.352/src/proto/ex_cmds2.pro 2008-01-06 20:07:25.000000000 +0100 ---- src/proto/ex_cmds2.pro 2010-02-03 14:43:12.000000000 +0100 -*************** -*** 24,29 **** ---- 24,31 ---- - int profile_equal __ARGS((proftime_T *tm1, proftime_T *tm2)); - int profile_cmp __ARGS((proftime_T *tm1, proftime_T *tm2)); - void ex_profile __ARGS((exarg_T *eap)); -+ char_u *get_profile_name __ARGS((expand_T *xp, int idx)); -+ void set_context_in_profile_cmd __ARGS((expand_T *xp, char_u *arg)); - void profile_dump __ARGS((void)); - void script_prof_save __ARGS((proftime_T *tm)); - void script_prof_restore __ARGS((proftime_T *tm)); -*** ../vim-7.2.352/src/vim.h 2009-06-16 11:08:13.000000000 +0200 ---- src/vim.h 2010-02-03 14:40:42.000000000 +0100 -*************** -*** 718,723 **** ---- 718,724 ---- - #define EXPAND_SHELLCMD 32 - #define EXPAND_CSCOPE 33 - #define EXPAND_SIGN 34 -+ #define EXPAND_PROFILE 35 - - /* Values for exmode_active (0 is no exmode) */ - #define EXMODE_NORMAL 1 -*** ../vim-7.2.352/src/version.c 2010-02-03 12:23:16.000000000 +0100 ---- src/version.c 2010-02-03 15:07:26.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 353, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -188. You purchase a laptop so you can surf while sitting on the can. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.354 --- a/components/vim/vim72-patches/7.2.354 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.354 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.354 -Problem: Japanese single-width double-byte characters not handled correctly. -Solution: Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[]. - (partly by Kikuchan) -Files: src/screen.c - - -*** ../vim-7.2.353/src/screen.c 2010-01-19 17:40:39.000000000 +0100 ---- src/screen.c 2010-02-03 15:47:19.000000000 +0100 -*************** -*** 2335,2347 **** - if (cells > 1) - ScreenLines[idx + 1] = 0; - } -! else if (cells > 1) /* double-byte character */ -! { -! if (enc_dbcs == DBCS_JPNU && *p == 0x8e) -! ScreenLines2[idx] = p[1]; -! else -! ScreenLines[idx + 1] = p[1]; -! } - col += cells; - idx += cells; - p += c_len; ---- 2335,2346 ---- - if (cells > 1) - ScreenLines[idx + 1] = 0; - } -! else if (enc_dbcs == DBCS_JPNU && *p == 0x8e) -! /* double-byte single width character */ -! ScreenLines2[idx] = p[1]; -! else if (cells > 1) -! /* double-width character */ -! ScreenLines[idx + 1] = p[1]; - col += cells; - idx += cells; - p += c_len; -*************** -*** 4631,4637 **** ---- 4630,4640 ---- - ScreenLines[off] = c; - #ifdef FEAT_MBYTE - if (enc_dbcs == DBCS_JPNU) -+ { -+ if ((mb_c & 0xff00) == 0x8e00) -+ ScreenLines[off] = 0x8e; - ScreenLines2[off] = mb_c & 0xff; -+ } - else if (enc_utf8) - { - if (mb_utf8) -*** ../vim-7.2.353/src/version.c 2010-02-03 15:14:15.000000000 +0100 ---- src/version.c 2010-02-03 15:43:43.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 354, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -189. You put your e-mail address in the upper left-hand corner of envelopes. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.355 --- a/components/vim/vim72-patches/7.2.355 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,88 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.355 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.355 -Problem: Computing the cursor column in validate_cursor_col() is wrong when - line numbers are used and 'n' is not in 'cpoptions', causing the - popup menu to be positioned wrong. -Solution: Correctly use the offset. (partly by Dominique Pelle) -Files: src/move.c - - -*** ../vim-7.2.354/src/move.c 2009-11-03 16:22:59.000000000 +0100 ---- src/move.c 2010-02-03 17:15:16.000000000 +0100 -*************** -*** 889,894 **** ---- 889,895 ---- - { - colnr_T off; - colnr_T col; -+ int width; - - validate_virtcol(); - if (!(curwin->w_valid & VALID_WCOL)) -*************** -*** 896,910 **** - col = curwin->w_virtcol; - off = curwin_col_off(); - col += off; - - /* long line wrapping, adjust curwin->w_wrow */ - if (curwin->w_p_wrap - && col >= (colnr_T)W_WIDTH(curwin) -! && W_WIDTH(curwin) - off + curwin_col_off2() > 0) -! { -! col -= W_WIDTH(curwin); -! col = col % (W_WIDTH(curwin) - off + curwin_col_off2()); -! } - if (col > (int)curwin->w_leftcol) - col -= curwin->w_leftcol; - else ---- 897,910 ---- - col = curwin->w_virtcol; - off = curwin_col_off(); - col += off; -+ width = W_WIDTH(curwin) - off + curwin_col_off2(); - - /* long line wrapping, adjust curwin->w_wrow */ - if (curwin->w_p_wrap - && col >= (colnr_T)W_WIDTH(curwin) -! && width > 0) -! /* use same formula as what is used in curs_columns() */ -! col -= ((col - W_WIDTH(curwin)) / width + 1) * width; - if (col > (int)curwin->w_leftcol) - col -= curwin->w_leftcol; - else -*************** -*** 1041,1046 **** ---- 1041,1047 ---- - /* long line wrapping, adjust curwin->w_wrow */ - if (curwin->w_wcol >= W_WIDTH(curwin)) - { -+ /* this same formula is used in validate_cursor_col() */ - n = (curwin->w_wcol - W_WIDTH(curwin)) / width + 1; - curwin->w_wcol -= n * width; - curwin->w_wrow += n; -*** ../vim-7.2.354/src/version.c 2010-02-03 15:47:59.000000000 +0100 ---- src/version.c 2010-02-03 17:40:39.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 355, - /**/ - --- -I'm in shape. Round IS a shape. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.356 --- a/components/vim/vim72-patches/7.2.356 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.356 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.356 -Problem: When 'foldmethod' is changed not all folds are closed as expected. -Solution: In foldUpdate() correct the start position and reset fd_flags when - w_foldinvalid is set. (Lech Lorens) -Files: src/fold.c - - -*** ../vim-7.2.355/src/fold.c 2010-01-19 17:24:20.000000000 +0100 ---- src/fold.c 2010-02-03 18:08:11.000000000 +0100 -*************** -*** 849,859 **** - fold_T *fp; - - /* Mark all folds from top to bot as maybe-small. */ -! (void)foldFind(&curwin->w_folds, curwin->w_cursor.lnum, &fp); - while (fp < (fold_T *)curwin->w_folds.ga_data + curwin->w_folds.ga_len - && fp->fd_top < bot) - { - fp->fd_small = MAYBE; - ++fp; - } - ---- 849,865 ---- - fold_T *fp; - - /* Mark all folds from top to bot as maybe-small. */ -! (void)foldFind(&curwin->w_folds, top, &fp); - while (fp < (fold_T *)curwin->w_folds.ga_data + curwin->w_folds.ga_len - && fp->fd_top < bot) - { - fp->fd_small = MAYBE; -+ -+ /* Not sure if this is the right place to reset fd_flags (suggested by -+ * Lech Lorens). */ -+ if (wp->w_foldinvalid) -+ fp->fd_flags = FD_LEVEL; -+ - ++fp; - } - -*** ../vim-7.2.355/src/version.c 2010-02-03 17:42:59.000000000 +0100 ---- src/version.c 2010-02-03 18:12:34.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 356, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -190. You quickly hand over your wallet, leather jacket, and car keys - during a mugging, then proceed to beat the crap out of your - assailant when he asks for your laptop. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.357 --- a/components/vim/vim72-patches/7.2.357 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.357 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.357 -Problem: When changing 'fileformat' from/to "mac" and there is a CR in the - text the display is wrong. -Solution: Redraw the text when 'fileformat' is changed. (Ben Schmidt) -Files: src/option.c - - -*** ../vim-7.2.356/src/option.c 2010-01-27 15:57:17.000000000 +0100 ---- src/option.c 2010-02-11 16:57:19.000000000 +0100 -*************** -*** 5867,5872 **** ---- 5867,5876 ---- - #endif - /* update flag in swap file */ - ml_setflags(curbuf); -+ /* Redraw needed when switching to/from "mac": a CR in the text -+ * will be displayed differently. */ -+ if (get_fileformat(curbuf) == EOL_MAC || *oldval == 'm') -+ redraw_curbuf_later(NOT_VALID); - } - } - -*** ../vim-7.2.356/src/version.c 2010-02-03 18:14:41.000000000 +0100 ---- src/version.c 2010-02-11 17:01:36.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 357, - /**/ - --- -From the classified section of a city newspaper: -Dog for sale: eats anything and is fond of children. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.358 --- a/components/vim/vim72-patches/7.2.358 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.358 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.358 -Problem: Compiler warnings on VMS. (Zoltan Arpadffy) -Solution: Pass array itself instead its address. Return a value. -Files: src/gui_gtk_x11.c, src/os_unix.c - - -*** ../vim-7.2.357/src/gui_gtk_x11.c 2009-11-03 18:13:36.000000000 +0100 ---- src/gui_gtk_x11.c 2010-02-11 18:00:28.000000000 +0100 -*************** -*** 6190,6196 **** - int pcc[MAX_MCO]; - - /* TODO: use the composing characters */ -! c = utfc_ptr2char_len(p, &pcc, len - (p - s)); - if (c >= 0x10000) /* show chars > 0xffff as ? */ - c = 0xbf; - buf[textlen].byte1 = c >> 8; ---- 6190,6196 ---- - int pcc[MAX_MCO]; - - /* TODO: use the composing characters */ -! c = utfc_ptr2char_len(p, pcc, len - (p - s)); - if (c >= 0x10000) /* show chars > 0xffff as ? */ - c = 0xbf; - buf[textlen].byte1 = c >> 8; -*** ../vim-7.2.357/src/os_unix.c 2009-07-22 13:27:50.000000000 +0200 ---- src/os_unix.c 2010-02-11 18:10:20.000000000 +0100 -*************** -*** 1471,1476 **** ---- 1471,1479 ---- - { - /* This function should not return, it causes exit(). Longjump instead. */ - LONGJMP(lc_jump_env, 1); -+ # ifdef VMS -+ return 0; /* avoid the compiler complains about missing return value */ -+ # endif - } - # endif - -*************** -*** 1490,1495 **** ---- 1493,1501 ---- - - /* This function should not return, it causes exit(). Longjump instead. */ - LONGJMP(x_jump_env, 1); -+ # ifdef VMS -+ return 0; /* avoid the compiler complains about missing return value */ -+ # endif - } - #endif - -*** ../vim-7.2.357/src/version.c 2010-02-11 17:02:04.000000000 +0100 ---- src/version.c 2010-02-11 18:10:45.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 358, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -221. Your wife melts your keyboard in the oven. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.359 --- a/components/vim/vim72-patches/7.2.359 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.359 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.359 -Problem: Crash when using the Netbeans join command. -Solution: Make sure the ml_flush_line() function is not used recursively. - (Xavier de Gaye) -Files: src/memline.c - - -*** ../vim-7.2.358/src/memline.c 2009-11-17 17:13:03.000000000 +0100 ---- src/memline.c 2010-02-11 18:47:48.000000000 +0100 -*************** -*** 3087,3098 **** ---- 3087,3105 ---- - int start; - int count; - int i; -+ static int entered = FALSE; - - if (buf->b_ml.ml_line_lnum == 0 || buf->b_ml.ml_mfp == NULL) - return; /* nothing to do */ - - if (buf->b_ml.ml_flags & ML_LINE_DIRTY) - { -+ /* This code doesn't work recursively, but Netbeans may call back here -+ * when obtaining the cursor position. */ -+ if (entered) -+ return; -+ entered = TRUE; -+ - lnum = buf->b_ml.ml_line_lnum; - new_line = buf->b_ml.ml_line_ptr; - -*************** -*** 3160,3165 **** ---- 3167,3174 ---- - } - } - vim_free(new_line); -+ -+ entered = FALSE; - } - - buf->b_ml.ml_line_lnum = 0; -*** ../vim-7.2.358/src/version.c 2010-02-11 18:19:32.000000000 +0100 ---- src/version.c 2010-02-11 18:53:55.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 359, - /**/ - --- -Your fault: core dumped - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.360 --- a/components/vim/vim72-patches/7.2.360 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.360 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.360 -Problem: Ruby on MS-Windows: can't use sockets. -Solution: Call NtInitialize() during initialization. (Ariya Mizutani) -Files: src/if_ruby.c - - -*** ../vim-7.2.359/src/if_ruby.c 2009-05-22 18:20:23.000000000 +0200 ---- src/if_ruby.c 2010-02-17 15:04:00.000000000 +0100 -*************** -*** 48,53 **** ---- 48,58 ---- - # endif - #endif - -+ /* suggested by Ariya Mizutani */ -+ #if (_MSC_VER == 1200) -+ # undef _WIN32_WINNT -+ #endif -+ - #include - - #undef EXTERN -*************** -*** 132,137 **** ---- 137,143 ---- - #define ruby_errinfo (*dll_ruby_errinfo) - #define ruby_init dll_ruby_init - #define ruby_init_loadpath dll_ruby_init_loadpath -+ #define NtInitialize dll_NtInitialize - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - # define rb_w32_snprintf dll_rb_w32_snprintf - #endif -*************** -*** 186,191 **** ---- 192,198 ---- - static VALUE *dll_ruby_errinfo; - static void (*dll_ruby_init) (void); - static void (*dll_ruby_init_loadpath) (void); -+ static void (*dll_NtInitialize) (int*, char***); - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); - #endif -*************** -*** 248,253 **** ---- 255,261 ---- - {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, - {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, - {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, -+ {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, - #endif -*************** -*** 414,419 **** ---- 422,433 ---- - if (ruby_enabled(TRUE)) - { - #endif -+ #ifdef _WIN32 -+ /* suggested by Ariya Mizutani */ -+ int argc = 1; -+ char *argv[] = {"gvim.exe"}; -+ NtInitialize(&argc, &argv); -+ #endif - ruby_init(); - ruby_init_loadpath(); - ruby_io_init(); -*** ../vim-7.2.359/src/version.c 2010-02-11 18:54:38.000000000 +0100 ---- src/version.c 2010-02-17 15:10:22.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 360, - /**/ - --- -"After a few years of marriage a man can look right at a woman -without seeing her and a woman can see right through a man -without looking at him." - - Helen Rowland - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.361 --- a/components/vim/vim72-patches/7.2.361 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,763 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.361 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.361 -Problem: Ruby 1.9 is not supported. -Solution: Add Ruby 1.9 support. (Msaki Suketa) -Files: src/Makefile, src/auto/configure, src/configure.in, src/if_ruby.c - - -*** ../vim-7.2.360/src/Makefile 2010-02-17 15:12:22.000000000 +0100 ---- src/Makefile 2010-02-17 16:21:01.000000000 +0100 -*************** -*** 395,401 **** - - # RUBY - # Uncomment this when you want to include the Ruby interface. -! #CONF_OPT_RUBY = --enable-rubyinterp - - # MZSCHEME - # Uncomment this when you want to include the MzScheme interface. ---- 395,403 ---- - - # RUBY - # Uncomment this when you want to include the Ruby interface. -! # Note: you need the development package (e.g., ruby1.9.1-dev on Ubuntu). -! # CONF_OPT_RUBY = --enable-rubyinterp -! # CONF_OPT_RUBY = --enable-rubyinterp --with-ruby-command=ruby1.9.1 - - # MZSCHEME - # Uncomment this when you want to include the MzScheme interface. -*** ../vim-7.2.360/src/auto/configure 2009-12-16 17:14:08.000000000 +0100 ---- src/auto/configure 2010-02-17 16:08:59.000000000 +0100 -*************** -*** 793,798 **** ---- 793,799 ---- - enable_tclinterp - with_tclsh - enable_rubyinterp -+ with_ruby_command - enable_cscope - enable_workshop - enable_netbeans -*************** -*** 1503,1508 **** ---- 1504,1510 ---- - --with-plthome=PLTHOME Use PLTHOME. - --with-python-config-dir=PATH Python's config directory - --with-tclsh=PATH which tclsh to use (default: tclsh8.0) -+ --with-ruby-command=RUBY name of the Ruby command (default: ruby) - --with-x use the X Window System - --with-gtk-prefix=PFX Prefix where GTK is installed (optional) - --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional) -*************** -*** 5703,5711 **** - { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5 - $as_echo "$enable_rubyinterp" >&6; } - if test "$enable_rubyinterp" = "yes"; then - -! # Extract the first word of "ruby", so it can be a program name with args. -! set dummy ruby; ac_word=$2 - { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } - if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then ---- 5705,5725 ---- - { $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5 - $as_echo "$enable_rubyinterp" >&6; } - if test "$enable_rubyinterp" = "yes"; then -+ { $as_echo "$as_me:$LINENO: checking --with-ruby-command argument" >&5 -+ $as_echo_n "checking --with-ruby-command argument... " >&6; } - -! # Check whether --with-ruby-command was given. -! if test "${with_ruby_command+set}" = set; then -! withval=$with_ruby_command; RUBY_CMD="$withval"; { $as_echo "$as_me:$LINENO: result: $RUBY_CMD" >&5 -! $as_echo "$RUBY_CMD" >&6; } -! else -! RUBY_CMD="ruby"; { $as_echo "$as_me:$LINENO: result: defaulting to $RUBY_CMD" >&5 -! $as_echo "defaulting to $RUBY_CMD" >&6; } -! fi -! -! -! # Extract the first word of "$RUBY_CMD", so it can be a program name with args. -! set dummy $RUBY_CMD; ac_word=$2 - { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 - $as_echo_n "checking for $ac_word... " >&6; } - if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then -*************** -*** 5752,5762 **** - $as_echo "OK" >&6; } - { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5 - $as_echo_n "checking Ruby header files... " >&6; } -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5 - $as_echo "$rubyhdrdir" >&6; } - RUBY_CFLAGS="-I$rubyhdrdir" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" ---- 5766,5782 ---- - $as_echo "OK" >&6; } - { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5 - $as_echo_n "checking Ruby header files... " >&6; } -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["rubyhdrdir"] || Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5 - $as_echo "$rubyhdrdir" >&6; } - RUBY_CFLAGS="-I$rubyhdrdir" -+ rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["arch"]'` -+ if test -d "$rubyhdrdir/$rubyarch"; then -+ RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch" -+ fi -+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["ruby_version"].gsub(/\./, "")[0,2]'` -+ RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" -*************** -*** 5793,5800 **** - _ACEOF - - else -! { $as_echo "$as_me:$LINENO: result: not found" >&5 -! $as_echo "not found" >&6; } - fi - else - { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5 ---- 5813,5820 ---- - _ACEOF - - else -! { $as_echo "$as_me:$LINENO: result: not found; disabling Ruby" >&5 -! $as_echo "not found; disabling Ruby" >&6; } - fi - else - { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5 -*** ../vim-7.2.360/src/configure.in 2009-12-16 17:14:08.000000000 +0100 ---- src/configure.in 2010-02-17 16:00:58.000000000 +0100 -*************** -*** 949,965 **** - [enable_rubyinterp="no"]) - AC_MSG_RESULT($enable_rubyinterp) - if test "$enable_rubyinterp" = "yes"; then - AC_SUBST(vi_cv_path_ruby) -! AC_PATH_PROG(vi_cv_path_ruby, ruby) - if test "X$vi_cv_path_ruby" != "X"; then - AC_MSG_CHECKING(Ruby version) - if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then - AC_MSG_RESULT(OK) - AC_MSG_CHECKING(Ruby header files) -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - AC_MSG_RESULT($rubyhdrdir) - RUBY_CFLAGS="-I$rubyhdrdir" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" ---- 949,975 ---- - [enable_rubyinterp="no"]) - AC_MSG_RESULT($enable_rubyinterp) - if test "$enable_rubyinterp" = "yes"; then -+ AC_MSG_CHECKING(--with-ruby-command argument) -+ AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)], -+ RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD), -+ RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD)) - AC_SUBST(vi_cv_path_ruby) -! AC_PATH_PROG(vi_cv_path_ruby, $RUBY_CMD) - if test "X$vi_cv_path_ruby" != "X"; then - AC_MSG_CHECKING(Ruby version) - if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then - AC_MSG_RESULT(OK) - AC_MSG_CHECKING(Ruby header files) -! rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG[["rubyhdrdir"]] || Config::CONFIG[["archdir"]] || $hdrdir' 2>/dev/null` - if test "X$rubyhdrdir" != "X"; then - AC_MSG_RESULT($rubyhdrdir) - RUBY_CFLAGS="-I$rubyhdrdir" -+ rubyarch=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["arch"]]'` -+ if test -d "$rubyhdrdir/$rubyarch"; then -+ RUBY_CFLAGS="$RUBY_CFLAGS -I$rubyhdrdir/$rubyarch" -+ fi -+ rubyversion=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["ruby_version"]].gsub(/\./, "")[[0,2]]'` -+ RUBY_CFLAGS="$RUBY_CFLAGS -DRUBY_VERSION=$rubyversion" - rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG[["LIBS"]]'` - if test "X$rubylibs" != "X"; then - RUBY_LIBS="$rubylibs" -*************** -*** 997,1003 **** - RUBY_PRO="if_ruby.pro" - AC_DEFINE(FEAT_RUBY) - else -! AC_MSG_RESULT(not found, disabling Ruby) - fi - else - AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) ---- 1007,1013 ---- - RUBY_PRO="if_ruby.pro" - AC_DEFINE(FEAT_RUBY) - else -! AC_MSG_RESULT(not found; disabling Ruby) - fi - else - AC_MSG_RESULT(too old; need Ruby version 1.6.0 or later) -*** ../vim-7.2.360/src/if_ruby.c 2010-02-17 15:11:35.000000000 +0100 ---- src/if_ruby.c 2010-02-17 16:08:47.000000000 +0100 -*************** -*** 54,59 **** ---- 54,62 ---- - #endif - - #include -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ # include -+ #endif - - #undef EXTERN - #undef _ -*************** -*** 65,70 **** ---- 68,95 ---- - # define __OPENTRANSPORTPROVIDERS__ - #endif - -+ /* -+ * Backward compatiblity for Ruby 1.8 and earlier. -+ * Ruby 1.9 does not provide STR2CSTR, instead StringValuePtr is provided. -+ * Ruby 1.9 does not provide RXXX(s)->len and RXXX(s)->ptr, instead -+ * RXXX_LEN(s) and RXXX_PTR(s) are provided. -+ */ -+ #ifndef StringValuePtr -+ # define StringValuePtr(s) STR2CSTR(s) -+ #endif -+ #ifndef RARRAY_LEN -+ # define RARRAY_LEN(s) RARRAY(s)->len -+ #endif -+ #ifndef RARRAY_PTR -+ # define RARRAY_PTR(s) RARRAY(s)->ptr -+ #endif -+ #ifndef RSTRING_LEN -+ # define RSTRING_LEN(s) RSTRING(s)->len -+ #endif -+ #ifndef RSTRING_PTR -+ # define RSTRING_PTR(s) RSTRING(s)->ptr -+ #endif -+ - #include "vim.h" - #include "version.h" - -*************** -*** 134,140 **** - #define rb_str_concat dll_rb_str_concat - #define rb_str_new dll_rb_str_new - #define rb_str_new2 dll_rb_str_new2 -! #define ruby_errinfo (*dll_ruby_errinfo) - #define ruby_init dll_ruby_init - #define ruby_init_loadpath dll_ruby_init_loadpath - #define NtInitialize dll_NtInitialize ---- 159,169 ---- - #define rb_str_concat dll_rb_str_concat - #define rb_str_new dll_rb_str_new - #define rb_str_new2 dll_rb_str_new2 -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -! # define rb_errinfo dll_rb_errinfo -! #else -! # define ruby_errinfo (*dll_ruby_errinfo) -! #endif - #define ruby_init dll_ruby_init - #define ruby_init_loadpath dll_ruby_init_loadpath - #define NtInitialize dll_NtInitialize -*************** -*** 142,147 **** ---- 171,184 ---- - # define rb_w32_snprintf dll_rb_w32_snprintf - #endif - -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ # define ruby_script dll_ruby_script -+ # define rb_enc_find_index dll_rb_enc_find_index -+ # define rb_enc_find dll_rb_enc_find -+ # define rb_enc_str_new dll_rb_enc_str_new -+ # define rb_sprintf dll_rb_sprintf -+ #endif -+ - /* - * Pointers for dynamic link - */ -*************** -*** 189,195 **** ---- 226,236 ---- - static VALUE (*dll_rb_str_concat) (VALUE, VALUE); - static VALUE (*dll_rb_str_new) (const char*, long); - static VALUE (*dll_rb_str_new2) (const char*); -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ static VALUE (*dll_rb_errinfo) (void); -+ #else - static VALUE *dll_ruby_errinfo; -+ #endif - static void (*dll_ruby_init) (void); - static void (*dll_ruby_init_loadpath) (void); - static void (*dll_NtInitialize) (int*, char***); -*************** -*** 197,202 **** ---- 238,251 ---- - static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); - #endif - -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ static void (*dll_ruby_script) (const char*); -+ static int (*dll_rb_enc_find_index) (const char*); -+ static rb_encoding* (*dll_rb_enc_find) (const char*); -+ static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); -+ static VALUE (*dll_rb_sprintf) (const char*, ...); -+ #endif -+ - static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */ - - /* -*************** -*** 252,264 **** ---- 301,324 ---- - {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, - {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, - {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, -+ #else - {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, -+ #endif - {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, - {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, - {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, - #endif -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, -+ {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, -+ {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, -+ {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, -+ {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, -+ #endif - {"", NULL}, - }; - -*************** -*** 348,353 **** ---- 408,465 ---- - vim_free(script); - } - -+ /* -+ * In Ruby 1.9 or later, ruby String object has encoding. -+ * conversion buffer string of vim to ruby String object using -+ * VIM encoding option. -+ */ -+ static VALUE -+ vim_str2rb_enc_str(const char *s) -+ { -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ int isnum; -+ long lval; -+ char_u *sval; -+ rb_encoding *enc; -+ -+ isnum = get_option_value((char_u *)"enc", &lval, &sval, 0); -+ if (isnum == 0) -+ { -+ enc = rb_enc_find((char *)sval); -+ vim_free(sval); -+ if (enc) { -+ return rb_enc_str_new(s, strlen(s), enc); -+ } -+ } -+ #endif -+ return rb_str_new2(s); -+ } -+ -+ static VALUE -+ eval_enc_string_protect(const char *str, int *state) -+ { -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ int isnum; -+ long lval; -+ char_u *sval; -+ rb_encoding *enc; -+ VALUE v; -+ -+ isnum = get_option_value((char_u *)"enc", &lval, &sval, 0); -+ if (isnum == 0) -+ { -+ enc = rb_enc_find((char *)sval); -+ vim_free(sval); -+ if (enc) -+ { -+ v = rb_sprintf("#-*- coding:%s -*-\n%s", rb_enc_name(enc), str); -+ return rb_eval_string_protect(StringValuePtr(v), state); -+ } -+ } -+ #endif -+ return rb_eval_string_protect(str, state); -+ } -+ - void ex_rubydo(exarg_T *eap) - { - int state; -*************** -*** 360,368 **** - for (i = eap->line1; i <= eap->line2; i++) { - VALUE line, oldline; - -! line = oldline = rb_str_new2((char *)ml_get(i)); - rb_lastline_set(line); -! rb_eval_string_protect((char *) eap->arg, &state); - if (state) { - error_print(state); - break; ---- 472,480 ---- - for (i = eap->line1; i <= eap->line2; i++) { - VALUE line, oldline; - -! line = oldline = vim_str2rb_enc_str((char *)ml_get(i)); - rb_lastline_set(line); -! eval_enc_string_protect((char *) eap->arg, &state); - if (state) { - error_print(state); - break; -*************** -*** 373,379 **** - EMSG(_("E265: $_ must be an instance of String")); - return; - } -! ml_replace(i, (char_u *) STR2CSTR(line), 1); - changed(); - #ifdef SYNTAX_HL - syn_changed(i); /* recompute syntax hl. for this line */ ---- 485,491 ---- - EMSG(_("E265: $_ must be an instance of String")); - return; - } -! ml_replace(i, (char_u *) StringValuePtr(line), 1); - changed(); - #ifdef SYNTAX_HL - syn_changed(i); /* recompute syntax hl. for this line */ -*************** -*** 428,436 **** ---- 540,557 ---- - char *argv[] = {"gvim.exe"}; - NtInitialize(&argc, &argv); - #endif -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ RUBY_INIT_STACK; -+ #endif - ruby_init(); -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ ruby_script("vim-ruby"); -+ #endif - ruby_init_loadpath(); - ruby_io_init(); -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ rb_enc_find_index("encdb"); -+ #endif - ruby_vim_init(); - ruby_initialized = 1; - #ifdef DYNAMIC_RUBY -*************** -*** 448,455 **** ---- 569,578 ---- - static void error_print(int state) - { - #ifndef DYNAMIC_RUBY -+ #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) - RUBYEXTERN VALUE ruby_errinfo; - #endif -+ #endif - VALUE eclass; - VALUE einfo; - char buff[BUFSIZ]; -*************** -*** 482,490 **** - break; - case TAG_RAISE: - case TAG_FATAL: - eclass = CLASS_OF(ruby_errinfo); - einfo = rb_obj_as_string(ruby_errinfo); -! if (eclass == rb_eRuntimeError && RSTRING(einfo)->len == 0) { - EMSG(_("E272: unhandled exception")); - } - else { ---- 605,618 ---- - break; - case TAG_RAISE: - case TAG_FATAL: -+ #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 -+ eclass = CLASS_OF(rb_errinfo()); -+ einfo = rb_obj_as_string(rb_errinfo()); -+ #else - eclass = CLASS_OF(ruby_errinfo); - einfo = rb_obj_as_string(ruby_errinfo); -! #endif -! if (eclass == rb_eRuntimeError && RSTRING_LEN(einfo) == 0) { - EMSG(_("E272: unhandled exception")); - } - else { -*************** -*** 493,499 **** - - epath = rb_class_path(eclass); - vim_snprintf(buff, BUFSIZ, "%s: %s", -! RSTRING(epath)->ptr, RSTRING(einfo)->ptr); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - EMSG(buff); ---- 621,627 ---- - - epath = rb_class_path(eclass); - vim_snprintf(buff, BUFSIZ, "%s: %s", -! RSTRING_PTR(epath), RSTRING_PTR(einfo)); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - EMSG(buff); -*************** -*** 511,518 **** - char *buff, *p; - - str = rb_obj_as_string(str); -! buff = ALLOCA_N(char, RSTRING(str)->len); -! strcpy(buff, RSTRING(str)->ptr); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - MSG(buff); ---- 639,646 ---- - char *buff, *p; - - str = rb_obj_as_string(str); -! buff = ALLOCA_N(char, RSTRING_LEN(str)); -! strcpy(buff, RSTRING_PTR(str)); - p = strchr(buff, '\n'); - if (p) *p = '\0'; - MSG(buff); -*************** -*** 521,541 **** - - static VALUE vim_set_option(VALUE self UNUSED, VALUE str) - { -! do_set((char_u *)STR2CSTR(str), 0); - update_screen(NOT_VALID); - return Qnil; - } - - static VALUE vim_command(VALUE self UNUSED, VALUE str) - { -! do_cmdline_cmd((char_u *)STR2CSTR(str)); - return Qnil; - } - - static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) - { - #ifdef FEAT_EVAL -! char_u *value = eval_to_string((char_u *)STR2CSTR(str), NULL, TRUE); - - if (value != NULL) - { ---- 649,669 ---- - - static VALUE vim_set_option(VALUE self UNUSED, VALUE str) - { -! do_set((char_u *)StringValuePtr(str), 0); - update_screen(NOT_VALID); - return Qnil; - } - - static VALUE vim_command(VALUE self UNUSED, VALUE str) - { -! do_cmdline_cmd((char_u *)StringValuePtr(str)); - return Qnil; - } - - static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) - { - #ifdef FEAT_EVAL -! char_u *value = eval_to_string((char_u *)StringValuePtr(str), NULL, TRUE); - - if (value != NULL) - { -*************** -*** 640,648 **** - if (n > 0 && n <= buf->b_ml.ml_line_count) - { - char *line = (char *)ml_get_buf(buf, n, FALSE); -! return line ? rb_str_new2(line) : Qnil; - } -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif ---- 768,776 ---- - if (n > 0 && n <= buf->b_ml.ml_line_count) - { - char *line = (char *)ml_get_buf(buf, n, FALSE); -! return line ? vim_str2rb_enc_str(line) : Qnil; - } -! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif -*************** -*** 659,665 **** - - static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str) - { -! char *line = STR2CSTR(str); - aco_save_T aco; - - if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL) ---- 787,793 ---- - - static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str) - { -! char *line = StringValuePtr(str); - aco_save_T aco; - - if (n > 0 && n <= buf->b_ml.ml_line_count && line != NULL) -*************** -*** 683,689 **** - } - else - { -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif ---- 811,817 ---- - } - else - { -! rb_raise(rb_eIndexError, "line number %ld out of range", (long)n); - #ifndef __GNUC__ - return Qnil; /* For stop warning */ - #endif -*************** -*** 729,735 **** - } - else - { -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - } - return Qnil; - } ---- 857,863 ---- - } - else - { -! rb_raise(rb_eIndexError, "line number %ld out of range", n); - } - return Qnil; - } -*************** -*** 737,747 **** - static VALUE buffer_append(VALUE self, VALUE num, VALUE str) - { - buf_T *buf = get_buf(self); -! char *line = STR2CSTR(str); - long n = NUM2LONG(num); - aco_save_T aco; - -! if (n >= 0 && n <= buf->b_ml.ml_line_count && line != NULL) - { - /* set curwin/curbuf for "buf" and save some things */ - aucmd_prepbuf(&aco, buf); ---- 865,878 ---- - static VALUE buffer_append(VALUE self, VALUE num, VALUE str) - { - buf_T *buf = get_buf(self); -! char *line = StringValuePtr(str); - long n = NUM2LONG(num); - aco_save_T aco; - -! if (line != NULL) { -! rb_raise(rb_eIndexError, "NULL line"); -! } -! else if (n >= 0 && n <= buf->b_ml.ml_line_count) - { - /* set curwin/curbuf for "buf" and save some things */ - aucmd_prepbuf(&aco, buf); -*************** -*** 763,769 **** - update_curbuf(NOT_VALID); - } - else { -! rb_raise(rb_eIndexError, "index %d out of buffer", n); - } - return str; - } ---- 894,900 ---- - update_curbuf(NOT_VALID); - } - else { -! rb_raise(rb_eIndexError, "line number %ld out of range", n); - } - return str; - } -*************** -*** 904,913 **** - win_T *win = get_win(self); - - Check_Type(pos, T_ARRAY); -! if (RARRAY(pos)->len != 2) - rb_raise(rb_eArgError, "array length must be 2"); -! lnum = RARRAY(pos)->ptr[0]; -! col = RARRAY(pos)->ptr[1]; - win->w_cursor.lnum = NUM2LONG(lnum); - win->w_cursor.col = NUM2UINT(col); - check_cursor(); /* put cursor on an existing line */ ---- 1035,1044 ---- - win_T *win = get_win(self); - - Check_Type(pos, T_ARRAY); -! if (RARRAY_LEN(pos) != 2) - rb_raise(rb_eArgError, "array length must be 2"); -! lnum = RARRAY_PTR(pos)[0]; -! col = RARRAY_PTR(pos)[1]; - win->w_cursor.lnum = NUM2LONG(lnum); - win->w_cursor.col = NUM2UINT(col); - check_cursor(); /* put cursor on an existing line */ -*************** -*** 924,930 **** - if (i > 0) rb_str_cat(str, ", ", 2); - rb_str_concat(str, rb_inspect(argv[i])); - } -! MSG(RSTRING(str)->ptr); - return Qnil; - } - ---- 1055,1061 ---- - if (i > 0) rb_str_cat(str, ", ", 2); - rb_str_concat(str, rb_inspect(argv[i])); - } -! MSG(RSTRING_PTR(str)); - return Qnil; - } - -*** ../vim-7.2.360/src/version.c 2010-02-17 15:11:35.000000000 +0100 ---- src/version.c 2010-02-17 15:59:12.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 361, - /**/ - --- -"Marriage is when a man and woman become as one; the trouble starts -when they try to decide which one" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.363 --- a/components/vim/vim72-patches/7.2.363 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.363 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.363 -Problem: Can't dynamically load Perl 5.10. -Solution: Add the function Perl_croak_xs_usage. (Sergey Khorev) -Files: src/if_perl.xs - - -*** ../vim-7.2.362/src/if_perl.xs 2009-11-11 14:45:36.000000000 +0100 ---- src/if_perl.xs 2010-02-17 16:33:16.000000000 +0100 -*************** -*** 93,98 **** ---- 93,101 ---- - # define perl_free dll_perl_free - # define Perl_get_context dll_Perl_get_context - # define Perl_croak dll_Perl_croak -+ # if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -+ # define Perl_croak_xs_usage dll_Perl_croak_xs_usage -+ # endif - # ifndef PROTO - # define Perl_croak_nocontext dll_Perl_croak_nocontext - # define Perl_call_argv dll_Perl_call_argv -*************** -*** 202,207 **** ---- 205,213 ---- - static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); - static void* (*Perl_get_context)(void); - static void (*Perl_croak)(pTHX_ const char*, ...); -+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -+ static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); -+ #endif - static void (*Perl_croak_nocontext)(const char*, ...); - static I32 (*Perl_dowantarray)(pTHX); - static void (*Perl_free_tmps)(pTHX); -*************** -*** 306,311 **** ---- 312,320 ---- - {"perl_parse", (PERL_PROC*)&perl_parse}, - {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, - {"Perl_croak", (PERL_PROC*)&Perl_croak}, -+ #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) -+ {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, -+ #endif - {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, - {"Perl_dowantarray", (PERL_PROC*)&Perl_dowantarray}, - {"Perl_free_tmps", (PERL_PROC*)&Perl_free_tmps}, -*** ../vim-7.2.362/src/version.c 2010-02-17 16:31:27.000000000 +0100 ---- src/version.c 2010-02-17 16:35:39.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 363, - /**/ - --- -If you're sending someone Styrofoam, what do you pack it in? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.366 --- a/components/vim/vim72-patches/7.2.366 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,134 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.366 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.366 -Problem: CTRL-B doesn't go back to the first line of the buffer. -Solution: Avoid an overflow when adding MAXCOL. -Files: src/move.c - - -*** ../vim-7.2.365/src/move.c 2010-02-03 17:42:59.000000000 +0100 ---- src/move.c 2010-02-17 17:49:34.000000000 +0100 -*************** -*** 1610,1616 **** - * Add one line above "lp->lnum". This can be a filler line, a closed fold or - * a (wrapped) text line. Uses and sets "lp->fill". - * Returns the height of the added line in "lp->height". -! * Lines above the first one are incredibly high. - */ - static void - topline_back(lp) ---- 1610,1616 ---- - * Add one line above "lp->lnum". This can be a filler line, a closed fold or - * a (wrapped) text line. Uses and sets "lp->fill". - * Returns the height of the added line in "lp->height". -! * Lines above the first one are incredibly high: MAXCOL. - */ - static void - topline_back(lp) -*************** -*** 1942,1948 **** - { - loff.lnum = curwin->w_topline; - topline_back(&loff); -! if (used + loff.height > curwin->w_height) - break; - used += loff.height; - #ifdef FEAT_DIFF ---- 1942,1948 ---- - { - loff.lnum = curwin->w_topline; - topline_back(&loff); -! if (loff.height == MAXCOL || used + loff.height > curwin->w_height) - break; - used += loff.height; - #ifdef FEAT_DIFF -*************** -*** 2021,2027 **** - - /* Add one line above */ - topline_back(&loff); -! used += loff.height; - if (used > curwin->w_height) - break; - if (loff.lnum >= curwin->w_botline ---- 2021,2030 ---- - - /* Add one line above */ - topline_back(&loff); -! if (loff.height == MAXCOL) -! used = MAXCOL; -! else -! used += loff.height; - if (used > curwin->w_height) - break; - if (loff.lnum >= curwin->w_botline -*************** -*** 2175,2181 **** - if (below > above) /* add a line above the cursor */ - { - topline_back(&loff); -! used += loff.height; - if (used > curwin->w_height) - break; - above += loff.height; ---- 2178,2187 ---- - if (below > above) /* add a line above the cursor */ - { - topline_back(&loff); -! if (loff.height == MAXCOL) -! used = MAXCOL; -! else -! used += loff.height; - if (used > curwin->w_height) - break; - above += loff.height; -*************** -*** 2472,2480 **** - while (n <= curwin->w_height && loff.lnum >= 1) - { - topline_back(&loff); -! n += loff.height; - } -! if (n <= curwin->w_height) /* at begin of file */ - { - curwin->w_topline = 1; - #ifdef FEAT_DIFF ---- 2478,2489 ---- - while (n <= curwin->w_height && loff.lnum >= 1) - { - topline_back(&loff); -! if (loff.height == MAXCOL) -! n = MAXCOL; -! else -! n += loff.height; - } -! if (loff.lnum < 1) /* at begin of file */ - { - curwin->w_topline = 1; - #ifdef FEAT_DIFF -*** ../vim-7.2.365/src/version.c 2010-02-17 17:34:38.000000000 +0100 ---- src/version.c 2010-02-17 18:13:22.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 366, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -247. You use www.switchboard.com instead of dialing 411 and 555-12-12 - for directory assistance. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.367 --- a/components/vim/vim72-patches/7.2.367 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.367 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.367 -Problem: "xxd -r -p" doesn't work as documented. -Solution: Skip white space. (James Vega) -Files: src/xxd/xxd.c - - -*** ../vim-7.2.366/src/xxd/xxd.c 2009-06-16 18:29:37.000000000 +0200 ---- src/xxd/xxd.c 2010-02-17 18:25:11.000000000 +0100 -*************** -*** 231,237 **** - fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname); - fprintf(stderr, "Options:\n"); - fprintf(stderr, " -a toggle autoskip: A single '*' replaces nul-lines. Default off.\n"); -! fprintf(stderr, " -b binary digit dump (incompatible with -p,-i,-r). Default hex.\n"); - fprintf(stderr, " -c cols format octets per line. Default 16 (-i: 12, -ps: 30).\n"); - fprintf(stderr, " -E show characters in EBCDIC. Default ASCII.\n"); - fprintf(stderr, " -g number of octets per group in normal output. Default 2.\n"); ---- 231,237 ---- - fprintf(stderr, " or\n %s -r [-s [-]offset] [-c cols] [-ps] [infile [outfile]]\n", pname); - fprintf(stderr, "Options:\n"); - fprintf(stderr, " -a toggle autoskip: A single '*' replaces nul-lines. Default off.\n"); -! fprintf(stderr, " -b binary digit dump (incompatible with -ps,-i,-r). Default hex.\n"); - fprintf(stderr, " -c cols format octets per line. Default 16 (-i: 12, -ps: 30).\n"); - fprintf(stderr, " -E show characters in EBCDIC. Default ASCII.\n"); - fprintf(stderr, " -g number of octets per group in normal output. Default 2.\n"); -*************** -*** 276,286 **** - if (c == '\r') /* Doze style input file? */ - continue; - -! #if 0 /* this doesn't work when there is normal text after the hex codes in -! the last line that looks like hex */ -! if (c == ' ' || c == '\n' || c == '\t') /* allow multiple spaces */ - continue; -- #endif - - n3 = n2; - n2 = n1; ---- 276,286 ---- - if (c == '\r') /* Doze style input file? */ - continue; - -! /* Allow multiple spaces. This doesn't work when there is normal text -! * after the hex codes in the last line that looks like hex, thus only -! * use it for PostScript format. */ -! if (hextype == HEX_POSTSCRIPT && (c == ' ' || c == '\n' || c == '\t')) - continue; - - n3 = n2; - n2 = n1; -*** ../vim-7.2.366/src/version.c 2010-02-17 18:20:23.000000000 +0100 ---- src/version.c 2010-02-17 18:26:35.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 367, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -248. You sign your letters with your e-mail address instead of your name. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.368 --- a/components/vim/vim72-patches/7.2.368 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.368 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.368 (after 7.2.361) -Problem: Ruby interface: Appending line doesn't work. (Michael Henry) -Solution: Reverse check for NULL line. (James Vega) -Files: src/if_ruby.c - - -*** ../vim-7.2.367/src/if_ruby.c 2010-02-17 16:23:03.000000000 +0100 ---- src/if_ruby.c 2010-02-18 15:47:42.000000000 +0100 -*************** -*** 869,875 **** - long n = NUM2LONG(num); - aco_save_T aco; - -! if (line != NULL) { - rb_raise(rb_eIndexError, "NULL line"); - } - else if (n >= 0 && n <= buf->b_ml.ml_line_count) ---- 869,875 ---- - long n = NUM2LONG(num); - aco_save_T aco; - -! if (line == NULL) { - rb_raise(rb_eIndexError, "NULL line"); - } - else if (n >= 0 && n <= buf->b_ml.ml_line_count) -*** ../vim-7.2.367/src/version.c 2010-02-17 18:28:06.000000000 +0100 ---- src/version.c 2010-02-18 15:48:09.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 368, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -251. You've never seen your closest friends who usually live WAY too far away. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.369 --- a/components/vim/vim72-patches/7.2.369 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.369 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.369 -Problem: Error message is not easy to understand. -Solution: Add quotes. (SungHyun Nam) -Files: src/ex_cmds2.c - - -*** ../vim-7.2.368/src/ex_cmds2.c 2010-02-03 15:14:15.000000000 +0100 ---- src/ex_cmds2.c 2010-02-18 21:16:20.000000000 +0100 -*************** -*** 1092,1098 **** - set_vim_var_nr(VV_PROFILING, 1L); - } - else if (do_profiling == PROF_NONE) -! EMSG(_("E750: First use :profile start ")); - else if (STRCMP(eap->arg, "pause") == 0) - { - if (do_profiling == PROF_YES) ---- 1092,1098 ---- - set_vim_var_nr(VV_PROFILING, 1L); - } - else if (do_profiling == PROF_NONE) -! EMSG(_("E750: First use \":profile start {fname}\"")); - else if (STRCMP(eap->arg, "pause") == 0) - { - if (do_profiling == PROF_YES) -*** ../vim-7.2.368/src/version.c 2010-02-18 15:51:25.000000000 +0100 ---- src/version.c 2010-02-24 13:58:28.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 369, - /**/ - --- -MAN: You don't frighten us, English pig-dog! Go and boil your bottoms, - son of a silly person. I blow my nose on you, so-called Arthur-king, - you and your silly English K...kaniggets. - He puts hands to his ears and blows a raspberry. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.370 --- a/components/vim/vim72-patches/7.2.370 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,156 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.370 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.370 (after 7.2.356) -Problem: A redraw may cause folds to be closed. -Solution: Revert part of the previous patch. Add a test. (Lech Lorens) -Files: src/diff.c, src/fold.c, src/option.c, src/testdir/test45.in, - src/testdir/test45.ok - - -*** ../vim-7.2.369/src/diff.c 2009-07-22 16:22:33.000000000 +0200 ---- src/diff.c 2010-02-24 14:31:12.000000000 +0100 -*************** -*** 1117,1142 **** - win_T *wp; - int addbuf; /* Add buffer to diff. */ - { - wp->w_p_diff = TRUE; - wp->w_p_scb = TRUE; - wp->w_p_wrap = FALSE; - # ifdef FEAT_FOLDING -! { -! win_T *old_curwin = curwin; -! -! curwin = wp; -! curbuf = curwin->w_buffer; -! set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff", - OPT_LOCAL|OPT_FREE, 0); -! curwin = old_curwin; -! curbuf = curwin->w_buffer; -! wp->w_p_fdc = diff_foldcolumn; -! wp->w_p_fen = TRUE; -! wp->w_p_fdl = 0; -! foldUpdateAll(wp); -! /* make sure topline is not halfway a fold */ -! changed_window_setting_win(wp); -! } - # endif - #ifdef FEAT_SCROLLBIND - if (vim_strchr(p_sbo, 'h') == NULL) ---- 1117,1147 ---- - win_T *wp; - int addbuf; /* Add buffer to diff. */ - { -+ # ifdef FEAT_FOLDING -+ win_T *old_curwin = curwin; -+ -+ /* close the manually opened folds */ -+ curwin = wp; -+ newFoldLevel(); -+ curwin = old_curwin; -+ # endif -+ - wp->w_p_diff = TRUE; - wp->w_p_scb = TRUE; - wp->w_p_wrap = FALSE; - # ifdef FEAT_FOLDING -! curwin = wp; -! curbuf = curwin->w_buffer; -! set_string_option_direct((char_u *)"fdm", -1, (char_u *)"diff", - OPT_LOCAL|OPT_FREE, 0); -! curwin = old_curwin; -! curbuf = curwin->w_buffer; -! wp->w_p_fdc = diff_foldcolumn; -! wp->w_p_fen = TRUE; -! wp->w_p_fdl = 0; -! foldUpdateAll(wp); -! /* make sure topline is not halfway a fold */ -! changed_window_setting_win(wp); - # endif - #ifdef FEAT_SCROLLBIND - if (vim_strchr(p_sbo, 'h') == NULL) -*** ../vim-7.2.369/src/fold.c 2010-02-03 18:14:41.000000000 +0100 ---- src/fold.c 2010-02-24 13:09:04.000000000 +0100 -*************** -*** 854,865 **** - && fp->fd_top < bot) - { - fp->fd_small = MAYBE; -- -- /* Not sure if this is the right place to reset fd_flags (suggested by -- * Lech Lorens). */ -- if (wp->w_foldinvalid) -- fp->fd_flags = FD_LEVEL; -- - ++fp; - } - ---- 854,859 ---- -*** ../vim-7.2.369/src/option.c 2010-02-11 17:02:04.000000000 +0100 ---- src/option.c 2010-02-24 13:09:44.000000000 +0100 -*************** -*** 6586,6592 **** ---- 6586,6596 ---- - || *curwin->w_p_fdm == NUL) - errmsg = e_invarg; - else -+ { - foldUpdateAll(curwin); -+ if (foldmethodIsDiff(curwin)) -+ newFoldLevel(); -+ } - } - # ifdef FEAT_EVAL - /* 'foldexpr' */ -*** ../vim-7.2.369/src/testdir/test45.in 2009-11-03 14:46:35.000000000 +0100 ---- src/testdir/test45.in 2010-02-24 13:02:39.000000000 +0100 -*************** -*** 36,41 **** ---- 36,43 ---- - k:call append("$", getline(".")) - jAcommentstart Acommentend:set fdl=1 - 3j:call append("$", getline(".")) -+ :set fdl=0 -+ zO j:call append("$", getline(".")) - :" test expression folding - :fun Flvl() - let l = getline(v:lnum) -*** ../vim-7.2.369/src/testdir/test45.ok 2009-11-03 14:46:35.000000000 +0100 ---- src/testdir/test45.ok 2010-02-24 12:58:55.000000000 +0100 -*************** -*** 11,16 **** ---- 11,17 ---- - folding 9 ii - 3 cc - 7 gg -+ 8 hh - expr 2 - 1 - 2 -*** ../vim-7.2.369/src/version.c 2010-02-24 13:59:09.000000000 +0100 ---- src/version.c 2010-02-24 14:28:20.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 370, - /**/ - --- -MAN: Fetchez la vache! -GUARD: Quoi? -MAN: Fetchez la vache! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.371 --- a/components/vim/vim72-patches/7.2.371 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,322 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.371 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.371 -Problem: Build problems on Tandem NonStop. -Solution: A few changes to #ifdefs (Joachim Schmitz) -Files: src/auto/configure, src/configure.in, src/config.h.in, src/vim.h, - src/if_cscope.c, src/osdef1.h.in, src/tag.c - - -*** ../vim-7.2.370/src/auto/configure 2010-02-17 16:23:03.000000000 +0100 ---- src/auto/configure 2010-02-24 14:27:00.000000000 +0100 -*************** -*** 14038,14046 **** - - - -! -! -! for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ - memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ ---- 14038,14044 ---- - - - -! for ac_func in bcmp fchdir fchown fsync getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ - memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ -*************** -*** 14146,14151 **** ---- 14144,14281 ---- - fi - done - -+ { $as_echo "$as_me:$LINENO: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -+ $as_echo_n "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -+ if test "${ac_cv_sys_largefile_source+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include /* for off_t */ -+ #include -+ int -+ main () -+ { -+ int (*fp) (FILE *, off_t, int) = fseeko; -+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext conftest$ac_exeext -+ if { (ac_try="$ac_link" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then -+ ac_cv_sys_largefile_source=no; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -rf conftest.dSYM -+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #define _LARGEFILE_SOURCE 1 -+ #include /* for off_t */ -+ #include -+ int -+ main () -+ { -+ int (*fp) (FILE *, off_t, int) = fseeko; -+ return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext conftest$ac_exeext -+ if { (ac_try="$ac_link" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_link") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest$ac_exeext && { -+ test "$cross_compiling" = yes || -+ $as_test_x conftest$ac_exeext -+ }; then -+ ac_cv_sys_largefile_source=1; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -rf conftest.dSYM -+ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ -+ conftest$ac_exeext conftest.$ac_ext -+ ac_cv_sys_largefile_source=unknown -+ break -+ done -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_source" >&5 -+ $as_echo "$ac_cv_sys_largefile_source" >&6; } -+ case $ac_cv_sys_largefile_source in #( -+ no | unknown) ;; -+ *) -+ cat >>confdefs.h <<_ACEOF -+ #define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source -+ _ACEOF -+ ;; -+ esac -+ rm -rf conftest* -+ -+ # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug -+ # in glibc 2.1.3, but that breaks too many other things. -+ # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -+ if test $ac_cv_sys_largefile_source != unknown; then -+ -+ cat >>confdefs.h <<\_ACEOF -+ #define HAVE_FSEEKO 1 -+ _ACEOF -+ -+ fi -+ - - { $as_echo "$as_me:$LINENO: checking for st_blksize" >&5 - $as_echo_n "checking for st_blksize... " >&6; } -*** ../vim-7.2.370/src/configure.in 2010-02-17 16:23:03.000000000 +0100 ---- src/configure.in 2010-02-24 14:18:49.000000000 +0100 -*************** -*** 2642,2655 **** - AC_DEFINE(BAD_GETCWD) - fi - -! dnl Check for functions in one big call, to reduce the size of configure -! AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ - memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ - sigvec strcasecmp strerror strftime stricmp strncasecmp \ - strnicmp strpbrk strtol tgetent towlower towupper iswupper \ - usleep utime utimes) - - dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible - AC_MSG_CHECKING(for st_blksize) ---- 2642,2657 ---- - AC_DEFINE(BAD_GETCWD) - fi - -! dnl Check for functions in one big call, to reduce the size of configure. -! dnl Can only be used for functions that do not require any include. -! AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \ - getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ - memset mkdtemp nanosleep opendir putenv qsort readlink select setenv \ - setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ - sigvec strcasecmp strerror strftime stricmp strncasecmp \ - strnicmp strpbrk strtol tgetent towlower towupper iswupper \ - usleep utime utimes) -+ AC_FUNC_FSEEKO - - dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible - AC_MSG_CHECKING(for st_blksize) -*** ../vim-7.2.370/src/config.h.in 2009-11-17 17:13:03.000000000 +0100 ---- src/config.h.in 2010-02-24 14:20:26.000000000 +0100 -*************** -*** 144,150 **** - #undef HAVE_FCHOWN - #undef HAVE_FSEEKO - #undef HAVE_FSYNC -- #undef HAVE_FTELLO - #undef HAVE_GETCWD - #undef HAVE_GETPSEUDOTTY - #undef HAVE_GETPWNAM ---- 144,149 ---- -*** ../vim-7.2.370/src/vim.h 2010-02-03 15:14:15.000000000 +0100 ---- src/vim.h 2010-02-24 14:08:14.000000000 +0100 -*************** -*** 52,58 **** - - /* user ID of root is usually zero, but not for everybody */ - #ifdef __TANDEM -! # define _TANDEM_SOURCE - # include - # define ROOT_UID 65535 - #else ---- 52,60 ---- - - /* user ID of root is usually zero, but not for everybody */ - #ifdef __TANDEM -! # ifndef _TANDEM_SOURCE -! # define _TANDEM_SOURCE -! # endif - # include - # define ROOT_UID 65535 - #else -*** ../vim-7.2.370/src/if_cscope.c 2010-01-19 14:59:14.000000000 +0100 ---- src/if_cscope.c 2010-02-24 14:10:21.000000000 +0100 -*************** -*** 2278,2284 **** ---- 2278,2288 ---- - /* Use sigaction() to limit the waiting time to two seconds. */ - sigemptyset(&sa.sa_mask); - sa.sa_handler = sig_handler; -+ # ifdef SA_NODEFER - sa.sa_flags = SA_NODEFER; -+ # else -+ sa.sa_flags = 0; -+ # endif - sigaction(SIGALRM, &sa, &old); - alarm(2); /* 2 sec timeout */ - -*** ../vim-7.2.370/src/osdef1.h.in 2007-02-27 16:47:59.000000000 +0100 ---- src/osdef1.h.in 2010-02-24 14:20:50.000000000 +0100 -*************** -*** 25,31 **** - extern int fseeko __ARGS((FILE *, off_t, int)); - #endif - extern long ftell __ARGS((FILE *)); -! #ifdef HAVE_FTELLO - extern off_t ftello __ARGS((FILE *)); - #endif - extern void rewind __ARGS((FILE *)); ---- 25,31 ---- - extern int fseeko __ARGS((FILE *, off_t, int)); - #endif - extern long ftell __ARGS((FILE *)); -! #ifdef HAVE_FSEEKO - extern off_t ftello __ARGS((FILE *)); - #endif - extern void rewind __ARGS((FILE *)); -*** ../vim-7.2.370/src/tag.c 2009-05-17 13:30:58.000000000 +0200 ---- src/tag.c 2010-02-24 14:20:12.000000000 +0100 -*************** -*** 90,97 **** - /* - * We use ftello() here, if available. It returns off_t instead of long, - * which helps if long is 32 bit and off_t is 64 bit. - */ -! #ifdef HAVE_FTELLO - # define ftell ftello - #endif - ---- 90,98 ---- - /* - * We use ftello() here, if available. It returns off_t instead of long, - * which helps if long is 32 bit and off_t is 64 bit. -+ * We assume that when fseeko() is available then ftello() is too. - */ -! #ifdef HAVE_FSEEKO - # define ftell ftello - #endif - -*** ../vim-7.2.370/src/version.c 2010-02-24 14:34:10.000000000 +0100 ---- src/version.c 2010-02-24 14:45:37.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 371, - /**/ - --- - A cow comes flying over the battlements, lowing aggressively. The cow - lands on GALAHAD'S PAGE, squashing him completely. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.373 --- a/components/vim/vim72-patches/7.2.373 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.373 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.373 -Problem: Gcc 4.5 adds more error messages. (Chris Indy) -Solution: Update default 'errorformat'. -Files: src/option.h - - -*** ../vim-7.2.372/src/option.h 2008-06-24 23:59:49.000000000 +0200 ---- src/option.h 2010-02-24 15:20:03.000000000 +0100 -*************** -*** 33,39 **** - # ifdef EBCDIC - #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" - # else -! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" - # endif - # endif - # endif ---- 33,39 ---- - # ifdef EBCDIC - #define DFLT_EFM "%*[^ ] %*[^ ] %f:%l%*[ ]%m,%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" - # else -! #define DFLT_EFM "%*[^\"]\"%f\"%*\\D%l: %m,\"%f\"%*\\D%l: %m,%-G%f:%l: (Each undeclared identifier is reported only once,%-G%f:%l: for each function it appears in.),%-GIn file included from %f:%l:%c,%-GIn file included from %f:%l,%-Gfrom %f:%l:%c,%-Gfrom %f:%l,%f:%l:%c:%m,%f(%l):%m,%f:%l:%m,\"%f\"\\, line %l%*\\D%c%*[^ ] %m,%D%*\\a[%*\\d]: Entering directory `%f',%X%*\\a[%*\\d]: Leaving directory `%f',%D%*\\a: Entering directory `%f',%X%*\\a: Leaving directory `%f',%DMaking %*\\a in %f,%f|%l| %m" - # endif - # endif - # endif -*** ../vim-7.2.372/src/version.c 2010-02-24 15:07:45.000000000 +0100 ---- src/version.c 2010-02-24 15:24:43.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 373, - /**/ - --- -ARTHUR: Right! Knights! Forward! - ARTHUR leads a charge toward the castle. Various shots of them battling on, - despite being hit by a variety of farm animals. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.374 --- a/components/vim/vim72-patches/7.2.374 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,168 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.374 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.374 -Problem: Ruby eval() doesn't understand Vim types. -Solution: Add the vim_to_ruby() function. (George Gensure) -Files: src/eval.c, src/if_ruby.c - - -*** ../vim-7.2.373/src/eval.c 2010-01-19 15:51:29.000000000 +0100 ---- src/eval.c 2010-02-24 15:36:40.000000000 +0100 -*************** -*** 5872,5878 **** - return item1 == NULL && item2 == NULL; - } - -! #if defined(FEAT_PYTHON) || defined(FEAT_MZSCHEME) || defined(PROTO) - /* - * Return the dictitem that an entry in a hashtable points to. - */ ---- 5872,5879 ---- - return item1 == NULL && item2 == NULL; - } - -! #if defined(FEAT_RUBY) || defined(FEAT_PYTHON) || defined(FEAT_MZSCHEME) \ -! || defined(PROTO) - /* - * Return the dictitem that an entry in a hashtable points to. - */ -*** ../vim-7.2.373/src/if_ruby.c 2010-02-18 15:51:25.000000000 +0100 ---- src/if_ruby.c 2010-02-24 15:45:15.000000000 +0100 -*************** -*** 660,679 **** - return Qnil; - } - - static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) - { - #ifdef FEAT_EVAL -! char_u *value = eval_to_string((char_u *)StringValuePtr(str), NULL, TRUE); - -! if (value != NULL) - { -! VALUE val = rb_str_new2((char *)value); -! vim_free(value); -! return val; - } -! else - #endif -- return Qnil; - } - - static VALUE buffer_new(buf_T *buf) ---- 660,747 ---- - return Qnil; - } - -+ #ifdef FEAT_EVAL -+ static VALUE vim_to_ruby(typval_T *tv) -+ { -+ VALUE result = Qnil; -+ -+ if (tv->v_type == VAR_STRING) -+ { -+ result = rb_str_new2((char *)tv->vval.v_string); -+ } -+ else if (tv->v_type == VAR_NUMBER) -+ { -+ result = INT2NUM(tv->vval.v_number); -+ } -+ # ifdef FEAT_FLOAT -+ else if (tv->v_type == VAR_FLOAT) -+ { -+ result = rb_float_new(tv->vval.v_float); -+ } -+ # endif -+ else if (tv->v_type == VAR_LIST) -+ { -+ list_T *list = tv->vval.v_list; -+ listitem_T *curr; -+ -+ result = rb_ary_new(); -+ -+ if (list != NULL) -+ { -+ for (curr = list->lv_first; curr != NULL; curr = curr->li_next) -+ { -+ rb_ary_push(result, vim_to_ruby(&curr->li_tv)); -+ } -+ } -+ } -+ else if (tv->v_type == VAR_DICT) -+ { -+ result = rb_hash_new(); -+ -+ if (tv->vval.v_dict != NULL) -+ { -+ hashtab_T *ht = &tv->vval.v_dict->dv_hashtab; -+ long_u todo = ht->ht_used; -+ hashitem_T *hi; -+ dictitem_T *di; -+ -+ for (hi = ht->ht_array; todo > 0; ++hi) -+ { -+ if (!HASHITEM_EMPTY(hi)) -+ { -+ --todo; -+ -+ di = dict_lookup(hi); -+ rb_hash_aset(result, rb_str_new2((char *)hi->hi_key), -+ vim_to_ruby(&di->di_tv)); -+ } -+ } -+ } -+ } /* else return Qnil; */ -+ -+ return result; -+ } -+ #endif -+ - static VALUE vim_evaluate(VALUE self UNUSED, VALUE str) - { - #ifdef FEAT_EVAL -! typval_T *tv; -! VALUE result; - -! tv = eval_expr((char_u *)StringValuePtr(str), NULL); -! if (tv == NULL) - { -! return Qnil; - } -! result = vim_to_ruby(tv); -! -! free_tv(tv); -! -! return result; -! #else -! return Qnil; - #endif - } - - static VALUE buffer_new(buf_T *buf) -*** ../vim-7.2.373/src/version.c 2010-02-24 15:25:13.000000000 +0100 ---- src/version.c 2010-02-24 15:46:57.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 374, - /**/ - --- -ARTHUR: (as the MAN next to him is squashed by a sheep) Knights! Run away! - Midst echoing shouts of "run away" the KNIGHTS retreat to cover with the odd - cow or goose hitting them still. The KNIGHTS crouch down under cover. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.375 --- a/components/vim/vim72-patches/7.2.375 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.375 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.375 -Problem: ml_get errors when using ":bprevious" in a BufEnter autocmd. - (Dominique Pelle) -Solution: Clear w_valid when entering another buffer. -Files: src/buffer.c - - -*** ../vim-7.2.374/src/buffer.c 2010-01-19 14:59:14.000000000 +0100 ---- src/buffer.c 2010-02-24 16:29:22.000000000 +0100 -*************** -*** 115,121 **** - #endif - - /* mark cursor position as being invalid */ -! changed_line_abv_curs(); - - if (curbuf->b_ffname != NULL - #ifdef FEAT_NETBEANS_INTG ---- 115,121 ---- - #endif - - /* mark cursor position as being invalid */ -! curwin->w_valid = 0; - - if (curbuf->b_ffname != NULL - #ifdef FEAT_NETBEANS_INTG -*************** -*** 1399,1404 **** ---- 1399,1407 ---- - curwin->w_topline_was_set = FALSE; - #endif - -+ /* mark cursor position as being invalid */ -+ curwin->w_valid = 0; -+ - /* Make sure the buffer is loaded. */ - if (curbuf->b_ml.ml_mfp == NULL) /* need to load the file */ - { -*** ../vim-7.2.374/src/version.c 2010-02-24 15:47:58.000000000 +0100 ---- src/version.c 2010-02-24 16:30:03.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 375, - /**/ - --- -Error:015 - Unable to exit Windows. Try the door. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.376 --- a/components/vim/vim72-patches/7.2.376 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.376 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.376 -Problem: ml_get error when using SiSU syntax. (Nathan Thomas) -Solution: If the match ends below the last line move it to the end of the - last line. -Files: src/syntax.c - - -*** ../vim-7.2.375/src/syntax.c 2010-01-19 14:59:14.000000000 +0100 ---- src/syntax.c 2010-02-24 17:14:13.000000000 +0100 -*************** -*** 3086,3091 **** ---- 3086,3097 ---- - col = regmatch->startpos[0].col; - off = spp->sp_offsets[idx]; - } -+ if (result->lnum > syn_buf->b_ml.ml_line_count) -+ { -+ /* a "\n" at the end of the pattern may take us below the last line */ -+ result->lnum = syn_buf->b_ml.ml_line_count; -+ col = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); -+ } - if (off != 0) - { - base = ml_get_buf(syn_buf, result->lnum, FALSE); -*** ../vim-7.2.375/src/version.c 2010-02-24 16:58:30.000000000 +0100 ---- src/version.c 2010-02-24 17:15:48.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 376, - /**/ - --- -press CTRL-ALT-DEL for more information - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.378 --- a/components/vim/vim72-patches/7.2.378 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.378 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.378 -Problem: C function declaration indented too much. (Rui) -Solution: Don't see a line containing { or } as a type. (Matt Wozniski) -Files: src/misc1.c - - -*** ../vim-7.2.377/src/misc1.c 2010-01-06 17:46:03.000000000 +0100 ---- src/misc1.c 2010-02-26 22:36:50.000000000 +0100 -*************** -*** 7727,7737 **** - /* - * If the NEXT line is a function declaration, the current - * line needs to be indented as a function type spec. -! * Don't do this if the current line looks like a comment -! * or if the current line is terminated, ie. ends in ';'. - */ - else if (cur_curpos.lnum < curbuf->b_ml.ml_line_count - && !cin_nocode(theline) - && !cin_ends_in(theline, (char_u *)":", NULL) - && !cin_ends_in(theline, (char_u *)",", NULL) - && cin_isfuncdecl(NULL, cur_curpos.lnum + 1) ---- 7727,7740 ---- - /* - * If the NEXT line is a function declaration, the current - * line needs to be indented as a function type spec. -! * Don't do this if the current line looks like a comment or if the -! * current line is terminated, ie. ends in ';', or if the current line -! * contains { or }: "void f() {\n if (1)" - */ - else if (cur_curpos.lnum < curbuf->b_ml.ml_line_count - && !cin_nocode(theline) -+ && vim_strchr(theline, '{') == NULL -+ && vim_strchr(theline, '}') == NULL - && !cin_ends_in(theline, (char_u *)":", NULL) - && !cin_ends_in(theline, (char_u *)",", NULL) - && cin_isfuncdecl(NULL, cur_curpos.lnum + 1) -*** ../vim-7.2.377/src/version.c 2010-02-26 22:05:17.000000000 +0100 ---- src/version.c 2010-03-02 12:30:30.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 378, - /**/ - --- - An extraordinary TALL KNIGHT in all black (possibly John with Mike on his - shoulders) walks out from the dark trees. He is extremely fierce and - gruesome countenance. He walks towards KING ARTHUR and PATSY, who are - wazzing like mad. (Salopian slang, meaning very scared. almost to the - point of wetting oneself, e.g. before an important football match or - prior to a postering. Salopian slang meaning a beating by the school - praeposters. Sorry about the Salopian slant to this stage direction - Ed.) - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.379 --- a/components/vim/vim72-patches/7.2.379 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.379 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.379 -Problem: 'eventignore' is set to an invalid value inside ":doau". (Antony - Scriven) -Solution: Don't include the leading comma when the option was empty. -Files: src/fileio.c - - -*** ../vim-7.2.378/src/fileio.c 2010-01-19 14:59:14.000000000 +0100 ---- src/fileio.c 2010-03-01 21:01:04.000000000 +0100 -*************** -*** 7925,7931 **** - new_ei = vim_strnsave(p_ei, (int)(STRLEN(p_ei) + STRLEN(what))); - if (new_ei != NULL) - { -! STRCAT(new_ei, what); - set_string_option_direct((char_u *)"ei", -1, new_ei, - OPT_FREE, SID_NONE); - vim_free(new_ei); ---- 7925,7934 ---- - new_ei = vim_strnsave(p_ei, (int)(STRLEN(p_ei) + STRLEN(what))); - if (new_ei != NULL) - { -! if (*what == ',' && *p_ei == NUL) -! STRCPY(new_ei, what + 1); -! else -! STRCAT(new_ei, what); - set_string_option_direct((char_u *)"ei", -1, new_ei, - OPT_FREE, SID_NONE); - vim_free(new_ei); -*** ../vim-7.2.378/src/version.c 2010-03-02 12:37:01.000000000 +0100 ---- src/version.c 2010-03-02 12:46:45.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 379, - /**/ - --- -Back up my hard drive? I can't find the reverse switch! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.380 --- a/components/vim/vim72-patches/7.2.380 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,104 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.380 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.380 (after 7.2.363) -Problem: Perl interface builds with 5.10.1 but not with 5.10.0. -Solution: Change the #ifdefs. (Sergey Khorev) -Files: src/if_perl.xs - - -*** ../vim-7.2.379/src/if_perl.xs 2010-02-17 16:40:47.000000000 +0100 ---- src/if_perl.xs 2010-03-02 15:07:01.000000000 +0100 -*************** -*** 62,67 **** ---- 62,72 ---- - # define PERL589_OR_LATER - #endif - -+ #if (PERL_REVISION == 5) && ((PERL_VERSION > 10) || \ -+ (PERL_VERSION == 10) && (PERL_SUBVERSION >= 1)) -+ # define PERL5101_OR_LATER -+ #endif -+ - #ifndef pTHX - # define pTHX void - # define pTHX_ -*************** -*** 93,99 **** - # define perl_free dll_perl_free - # define Perl_get_context dll_Perl_get_context - # define Perl_croak dll_Perl_croak -! # if (PERL_REVISION == 5) && (PERL_VERSION >= 10) - # define Perl_croak_xs_usage dll_Perl_croak_xs_usage - # endif - # ifndef PROTO ---- 98,104 ---- - # define perl_free dll_perl_free - # define Perl_get_context dll_Perl_get_context - # define Perl_croak dll_Perl_croak -! # ifdef PERL5101_OR_LATER - # define Perl_croak_xs_usage dll_Perl_croak_xs_usage - # endif - # ifndef PROTO -*************** -*** 205,211 **** - static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); - static void* (*Perl_get_context)(void); - static void (*Perl_croak)(pTHX_ const char*, ...); -! #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) - static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); - #endif - static void (*Perl_croak_nocontext)(const char*, ...); ---- 210,216 ---- - static int (*perl_parse)(PerlInterpreter*, XSINIT_t, int, char**, char**); - static void* (*Perl_get_context)(void); - static void (*Perl_croak)(pTHX_ const char*, ...); -! #ifdef PERL5101_OR_LATER - static void (*Perl_croak_xs_usage)(pTHX_ const CV *const, const char *const params); - #endif - static void (*Perl_croak_nocontext)(const char*, ...); -*************** -*** 312,318 **** - {"perl_parse", (PERL_PROC*)&perl_parse}, - {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, - {"Perl_croak", (PERL_PROC*)&Perl_croak}, -! #if (PERL_REVISION == 5) && (PERL_VERSION >= 10) - {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, - #endif - {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, ---- 317,323 ---- - {"perl_parse", (PERL_PROC*)&perl_parse}, - {"Perl_get_context", (PERL_PROC*)&Perl_get_context}, - {"Perl_croak", (PERL_PROC*)&Perl_croak}, -! #ifdef PERL5101_OR_LATER - {"Perl_croak_xs_usage", (PERL_PROC*)&Perl_croak_xs_usage}, - #endif - {"Perl_croak_nocontext", (PERL_PROC*)&Perl_croak_nocontext}, -*** ../vim-7.2.379/src/version.c 2010-03-02 12:47:58.000000000 +0100 ---- src/version.c 2010-03-02 15:13:21.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 380, - /**/ - --- -FATHER: Make sure the Prince doesn't leave this room until I come and - get him. -FIRST GUARD: Not ... to leave the room ... even if you come and get him. -FATHER: No. Until I come and get him. -SECOND GUARD: Hic. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.381 --- a/components/vim/vim72-patches/7.2.381 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,218 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.381 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.381 -Problem: No completion for :behave. -Solution: Add :behave completion. Minor related fixes. (Dominique Pelle) -Files: src/ex_docmd.c, src/ex_getln.c, src/proto/ex_docmd.pro, src/vim.h - - -*** ../vim-7.2.380/src/ex_docmd.c 2010-02-03 15:14:15.000000000 +0100 ---- src/ex_docmd.c 2010-03-02 15:55:05.000000000 +0100 -*************** -*** 26,35 **** - long_u uc_argt; /* The argument type */ - char_u *uc_rep; /* The command's replacement string */ - long uc_def; /* The default value for a range/count */ -- scid_T uc_scriptID; /* SID where the command was defined */ - int uc_compl; /* completion type */ -! # if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL) - char_u *uc_compl_arg; /* completion argument if any */ - # endif - } ucmd_T; - ---- 26,37 ---- - long_u uc_argt; /* The argument type */ - char_u *uc_rep; /* The command's replacement string */ - long uc_def; /* The default value for a range/count */ - int uc_compl; /* completion type */ -! # ifdef FEAT_EVAL -! scid_T uc_scriptID; /* SID where the command was defined */ -! # ifdef FEAT_CMDL_COMPL - char_u *uc_compl_arg; /* completion argument if any */ -+ # endif - # endif - } ucmd_T; - -*************** -*** 3156,3172 **** - return NULL; - } - for (ea.cmdidx = (cmdidx_T)0; (int)ea.cmdidx < (int)CMD_SIZE; -! ea.cmdidx = (cmdidx_T)((int)ea.cmdidx + 1)) -! if (STRNCMP(cmdnames[(int)ea.cmdidx].cmd_name, cmd, (size_t)len) == 0) - break; - - #ifdef FEAT_USR_CMDS - if (cmd[0] >= 'A' && cmd[0] <= 'Z') -- { - while (ASCII_ISALNUM(*p) || *p == '*') /* Allow * wild card */ - ++p; -- len = (int)(p - cmd); -- } - #endif - } - ---- 3158,3172 ---- - return NULL; - } - for (ea.cmdidx = (cmdidx_T)0; (int)ea.cmdidx < (int)CMD_SIZE; -! ea.cmdidx = (cmdidx_T)((int)ea.cmdidx + 1)) -! if (STRNCMP(cmdnames[(int)ea.cmdidx].cmd_name, cmd, -! (size_t)len) == 0) - break; - - #ifdef FEAT_USR_CMDS - if (cmd[0] >= 'A' && cmd[0] <= 'Z') - while (ASCII_ISALNUM(*p) || *p == '*') /* Allow * wild card */ - ++p; - #endif - } - -*************** -*** 3809,3814 **** ---- 3809,3817 ---- - set_context_in_profile_cmd(xp, arg); - break; - #endif -+ case CMD_behave: -+ xp->xp_context = EXPAND_BEHAVE; -+ break; - - #endif /* FEAT_CMDL_COMPL */ - -*************** -*** 10847,10852 **** ---- 10850,10873 ---- - EMSG2(_(e_invarg2), eap->arg); - } - -+ #if defined(FEAT_CMDL_COMPL) || defined(PROTO) -+ /* -+ * Function given to ExpandGeneric() to obtain the possible arguments of the -+ * ":behave {mswin,xterm}" command. -+ */ -+ char_u * -+ get_behave_arg(xp, idx) -+ expand_T *xp UNUSED; -+ int idx; -+ { -+ if (idx == 0) -+ return (char_u *)"mswin"; -+ if (idx == 1) -+ return (char_u *)"xterm"; -+ return NULL; -+ } -+ #endif -+ - #ifdef FEAT_AUTOCMD - static int filetype_detect = FALSE; - static int filetype_plugin = FALSE; -*** ../vim-7.2.380/src/ex_getln.c 2010-02-03 15:14:15.000000000 +0100 ---- src/ex_getln.c 2010-03-02 15:28:13.000000000 +0100 -*************** -*** 4492,4497 **** ---- 4492,4498 ---- - } tab[] = - { - {EXPAND_COMMANDS, get_command_name, FALSE}, -+ {EXPAND_BEHAVE, get_behave_arg, TRUE}, - #ifdef FEAT_USR_CMDS - {EXPAND_USER_COMMANDS, get_user_commands, FALSE}, - {EXPAND_USER_CMD_FLAGS, get_user_cmd_flags, FALSE}, -*** ../vim-7.2.380/src/proto/ex_docmd.pro 2008-07-04 11:43:13.000000000 +0200 ---- src/proto/ex_docmd.pro 2010-03-02 15:37:37.000000000 +0100 -*************** -*** 52,55 **** ---- 52,56 ---- - int put_eol __ARGS((FILE *fd)); - int put_line __ARGS((FILE *fd, char *s)); - void dialog_msg __ARGS((char_u *buff, char *format, char_u *fname)); -+ char_u *get_behave_arg __ARGS((expand_T *xp, int idx)); - /* vim: set ft=c : */ -*** ../vim-7.2.380/src/vim.h 2010-02-24 14:46:58.000000000 +0100 ---- src/vim.h 2010-03-02 15:30:13.000000000 +0100 -*************** -*** 595,601 **** - - /* - * Terminal highlighting attribute bits. -! * Attibutes above HL_ALL are used for syntax highlighting. - */ - #define HL_NORMAL 0x00 - #define HL_INVERSE 0x01 ---- 595,601 ---- - - /* - * Terminal highlighting attribute bits. -! * Attributes above HL_ALL are used for syntax highlighting. - */ - #define HL_NORMAL 0x00 - #define HL_INVERSE 0x01 -*************** -*** 721,726 **** ---- 721,727 ---- - #define EXPAND_CSCOPE 33 - #define EXPAND_SIGN 34 - #define EXPAND_PROFILE 35 -+ #define EXPAND_BEHAVE 36 - - /* Values for exmode_active (0 is no exmode) */ - #define EXMODE_NORMAL 1 -*************** -*** 1262,1268 **** - } hlf_T; - - /* The HL_FLAGS must be in the same order as the HLF_ enums! -! * When chainging this also adjust the default for 'highlight'. */ - #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \ - 'n', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \ - 'f', 'F', 'A', 'C', 'D', 'T', '>', \ ---- 1263,1269 ---- - } hlf_T; - - /* The HL_FLAGS must be in the same order as the HLF_ enums! -! * When changing this also adjust the default for 'highlight'. */ - #define HL_FLAGS {'8', '@', 'd', 'e', 'h', 'i', 'l', 'm', 'M', \ - 'n', 'r', 's', 'S', 'c', 't', 'v', 'V', 'w', 'W', \ - 'f', 'F', 'A', 'C', 'D', 'T', '>', \ -*************** -*** 1430,1436 **** - #ifdef FEAT_MBYTE - /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte - * encoding because mb_stricmp() takes care of all ascii and non-ascii -! * encodings, including characters with umluats in latin1, etc., while - * STRICMP() only handles the system locale version, which often does not - * handle non-ascii properly. */ - ---- 1431,1437 ---- - #ifdef FEAT_MBYTE - /* We need to call mb_stricmp() even when we aren't dealing with a multi-byte - * encoding because mb_stricmp() takes care of all ascii and non-ascii -! * encodings, including characters with umlauts in latin1, etc., while - * STRICMP() only handles the system locale version, which often does not - * handle non-ascii properly. */ - -*** ../vim-7.2.380/src/version.c 2010-03-02 15:14:22.000000000 +0100 ---- src/version.c 2010-03-02 15:51:24.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 381, - /**/ - --- -I'd like to meet the man who invented sex and see what he's working on now. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.382 --- a/components/vim/vim72-patches/7.2.382 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.382 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.382 -Problem: Accessing freed memory when closing the cmdline window when - 'bufhide' is set to "wipe". -Solution: Check if the buffer still exists before invoking close_buffer() - (Dominique Pelle) -Files: src/ex_getln.c - - -*** ../vim-7.2.381/src/ex_getln.c 2010-03-02 15:55:51.000000000 +0100 ---- src/ex_getln.c 2010-03-02 16:29:38.000000000 +0100 -*************** -*** 6252,6258 **** - bp = curbuf; - win_goto(old_curwin); - win_close(wp, TRUE); -! close_buffer(NULL, bp, DOBUF_WIPE); - - /* Restore window sizes. */ - win_size_restore(&winsizes); ---- 6252,6262 ---- - bp = curbuf; - win_goto(old_curwin); - win_close(wp, TRUE); -! -! /* win_close() may have already wiped the buffer when 'bh' is -! * set to 'wipe' */ -! if (buf_valid(bp)) -! close_buffer(NULL, bp, DOBUF_WIPE); - - /* Restore window sizes. */ - win_size_restore(&winsizes); -*** ../vim-7.2.381/src/version.c 2010-03-02 15:55:51.000000000 +0100 ---- src/version.c 2010-03-02 17:22:11.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 382, - /**/ - --- -You had connectors? Eeee, when I were a lad we 'ad to carry the -bits between the computer and the terminal with a spoon... - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.383 --- a/components/vim/vim72-patches/7.2.383 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.383 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.383 -Problem: Vim doesn't build cleanly with MSVC 2010. -Solution: Change a few types. (George Reilly) -Files: src/ex_cmds2.c, src/if_python.c, src/syntax.c - - -*** ../vim-7.2.382/src/ex_cmds2.c 2010-02-24 13:59:08.000000000 +0100 ---- src/ex_cmds2.c 2010-03-02 17:42:54.000000000 +0100 -*************** -*** 1165,1171 **** - char_u *arg; - { - char_u *end_subcmd; -- int len; - - /* Default: expand subcommands. */ - xp->xp_context = EXPAND_PROFILE; ---- 1165,1170 ---- -*************** -*** 1176,1183 **** - if (*end_subcmd == NUL) - return; - -! len = end_subcmd - arg; -! if (len == 5 && STRNCMP(arg, "start", 5) == 0) - { - xp->xp_context = EXPAND_FILES; - xp->xp_pattern = skipwhite(end_subcmd); ---- 1175,1181 ---- - if (*end_subcmd == NUL) - return; - -! if (end_subcmd - arg == 5 && STRNCMP(arg, "start", 5) == 0) - { - xp->xp_context = EXPAND_FILES; - xp->xp_pattern = skipwhite(end_subcmd); -*** ../vim-7.2.382/src/if_python.c 2009-11-11 15:06:59.000000000 +0100 ---- src/if_python.c 2010-03-02 17:43:39.000000000 +0100 -*************** -*** 2080,2086 **** - return -1; - - /* When column is out of range silently correct it. */ -! len = STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE)); - if (col > len) - col = len; - ---- 2080,2086 ---- - return -1; - - /* When column is out of range silently correct it. */ -! len = (long)STRLEN(ml_get_buf(this->win->w_buffer, lnum, FALSE)); - if (col > len) - col = len; - -*** ../vim-7.2.382/src/syntax.c 2010-02-24 17:22:14.000000000 +0100 ---- src/syntax.c 2010-03-02 17:45:25.000000000 +0100 -*************** -*** 3090,3096 **** - { - /* a "\n" at the end of the pattern may take us below the last line */ - result->lnum = syn_buf->b_ml.ml_line_count; -! col = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); - } - if (off != 0) - { ---- 3090,3096 ---- - { - /* a "\n" at the end of the pattern may take us below the last line */ - result->lnum = syn_buf->b_ml.ml_line_count; -! col = (int)STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); - } - if (off != 0) - { -*** ../vim-7.2.382/src/version.c 2010-03-02 17:23:10.000000000 +0100 ---- src/version.c 2010-03-02 17:48:50.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 383, - /**/ - --- -You were lucky to have a LAKE! There were a hundred and sixty of -us living in a small shoebox in the middle of the road. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.385 --- a/components/vim/vim72-patches/7.2.385 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.385 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.385 -Problem: When in the command line window dragging status line only works - for last-but-one window. (Jean Johner) -Solution: Remove the code that disallows this. -Files: src/ui.c - - -*** ../vim-7.2.384/src/ui.c 2010-01-19 14:59:14.000000000 +0100 ---- src/ui.c 2010-03-02 18:06:30.000000000 +0100 -*************** -*** 2598,2611 **** - if (cmdwin_type != 0 && wp != curwin) - { - /* A click outside the command-line window: Use modeless -! * selection if possible. Allow dragging the status line of -! * windows just above the command-line window. */ -! if (wp->w_winrow + wp->w_height -! != curwin->w_prev->w_winrow + curwin->w_prev->w_height) -! { -! on_status_line = 0; -! dragwin = NULL; -! } - # ifdef FEAT_VERTSPLIT - on_sep_line = 0; - # endif ---- 2598,2604 ---- - if (cmdwin_type != 0 && wp != curwin) - { - /* A click outside the command-line window: Use modeless -! * selection if possible. Allow dragging the status lines. */ - # ifdef FEAT_VERTSPLIT - on_sep_line = 0; - # endif -*** ../vim-7.2.384/src/version.c 2010-03-02 17:59:39.000000000 +0100 ---- src/version.c 2010-03-02 18:14:29.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 385, - /**/ - --- -You were lucky. We lived for three months in a brown paper bag in a -septic tank. We used to have to get up at six o'clock in the morning, -clean the bag, eat a crust of stale bread, go to work down mill for -fourteen hours a day week in-week out. When we got home, our Dad -would thrash us to sleep with his belt! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.386 --- a/components/vim/vim72-patches/7.2.386 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.386 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.386 -Problem: Focus hack for KDE 3.1 causes problems for other window managers. -Solution: Remove the hack. (forwarded by Joel Bradshaw) -Files: src/gui_gtk.c - - -*** ../vim-7.2.385/src/gui_gtk.c 2009-05-17 16:23:20.000000000 +0200 ---- src/gui_gtk.c 2010-03-10 12:07:59.000000000 +0100 -*************** -*** 2313,2331 **** - gtk_widget_destroy(dialog); - } - -- /* Terrible hack: When the text area still has focus when we remove the -- * dialog, somehow gvim loses window focus. This is with "point to type" -- * in the KDE 3.1 window manager. Warp the mouse pointer to outside the -- * window and back to avoid that. */ -- if (!gui.in_focus) -- { -- int x, y; -- -- gdk_window_get_pointer(gui.drawarea->window, &x, &y, NULL); -- gui_mch_setmouse(-100, -100); -- gui_mch_setmouse(x, y); -- } -- - return response > 0 ? response : 0; - } - ---- 2313,2318 ---- -*** ../vim-7.2.385/src/version.c 2010-03-02 18:15:47.000000000 +0100 ---- src/version.c 2010-03-10 12:09:00.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 386, - /**/ - --- -ARTHUR: Well, I AM king... -DENNIS: Oh king, eh, very nice. An' how'd you get that, eh? By exploitin' - the workers -- by 'angin' on to outdated imperialist dogma which - perpetuates the economic an' social differences in our society! If - there's ever going to be any progress-- - The Quest for the Holy Grail (Monty Python) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.387 --- a/components/vim/vim72-patches/7.2.387 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,238 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.387 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.387 -Problem: Ruby with MingW still doesn't build all versions. -Solution: More #ifdefs for the Ruby code. (Sergey Khorev) -Files: src/if_ruby.c - - -*** ../vim-7.2.386/src/if_ruby.c 2010-02-24 15:47:58.000000000 +0100 ---- src/if_ruby.c 2010-03-10 12:40:30.000000000 +0100 -*************** -*** 39,46 **** - # define rb_cTrueClass (*dll_rb_cTrueClass) - # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - /* -! * On ver 1.8, all Ruby functions are exported with "__declspce(dllimport)" -! * in ruby.h. But it cause trouble for these variables, because it is - * defined in this file. When defined this RUBY_EXPORT it modified to - * "extern" and be able to avoid this problem. - */ ---- 39,46 ---- - # define rb_cTrueClass (*dll_rb_cTrueClass) - # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - /* -! * On ver 1.8, all Ruby functions are exported with "__declspec(dllimport)" -! * in ruby.h. But it causes trouble for these variables, because it is - * defined in this file. When defined this RUBY_EXPORT it modified to - * "extern" and be able to avoid this problem. - */ -*************** -*** 53,58 **** ---- 53,65 ---- - # undef _WIN32_WINNT - #endif - -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 -+ /* Ruby 1.9 defines a number of static functions which use rb_num2long and -+ * rb_int2big */ -+ # define rb_num2long rb_num2long_stub -+ # define rb_int2big rb_int2big_stub -+ #endif -+ - #include - #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - # include -*************** -*** 159,165 **** - #define rb_str_concat dll_rb_str_concat - #define rb_str_new dll_rb_str_new - #define rb_str_new2 dll_rb_str_new2 -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - # define rb_errinfo dll_rb_errinfo - #else - # define ruby_errinfo (*dll_ruby_errinfo) ---- 166,179 ---- - #define rb_str_concat dll_rb_str_concat - #define rb_str_new dll_rb_str_new - #define rb_str_new2 dll_rb_str_new2 -! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 -! # define rb_string_value_ptr dll_rb_string_value_ptr -! # define rb_float_new dll_rb_float_new -! # define rb_ary_new dll_rb_ary_new -! # define rb_ary_push dll_rb_ary_push -! #endif -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - # define rb_errinfo dll_rb_errinfo - #else - # define ruby_errinfo (*dll_ruby_errinfo) -*************** -*** 226,232 **** - static VALUE (*dll_rb_str_concat) (VALUE, VALUE); - static VALUE (*dll_rb_str_new) (const char*, long); - static VALUE (*dll_rb_str_new2) (const char*); -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - static VALUE (*dll_rb_errinfo) (void); - #else - static VALUE *dll_ruby_errinfo; ---- 240,247 ---- - static VALUE (*dll_rb_str_concat) (VALUE, VALUE); - static VALUE (*dll_rb_str_new) (const char*, long); - static VALUE (*dll_rb_str_new2) (const char*); -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - static VALUE (*dll_rb_errinfo) (void); - #else - static VALUE *dll_ruby_errinfo; -*************** -*** 235,240 **** ---- 250,264 ---- - static void (*dll_ruby_init_loadpath) (void); - static void (*dll_NtInitialize) (int*, char***); - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 -+ static char * (*dll_rb_string_value_ptr) (volatile VALUE*); -+ static VALUE (*dll_rb_float_new) (double); -+ static VALUE (*dll_rb_ary_new) (void); -+ static VALUE (*dll_rb_ary_push) (VALUE, VALUE); -+ #endif -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 -+ static VALUE (*dll_rb_int2big)(SIGNED_VALUE); -+ #endif -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); - #endif - -*************** -*** 246,251 **** ---- 270,286 ---- - static VALUE (*dll_rb_sprintf) (const char*, ...); - #endif - -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 -+ static SIGNED_VALUE rb_num2long_stub(VALUE x) -+ { -+ return dll_rb_num2long(x); -+ } -+ static VALUE rb_int2big_stub(SIGNED_VALUE x) -+ { -+ return dll_rb_int2big(x); -+ } -+ #endif -+ - static HINSTANCE hinstRuby = 0; /* Instance of ruby.dll */ - - /* -*************** -*** 301,317 **** - {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, - {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, - {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, - #else - {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, - #endif - {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, - {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, -! {"NtInitialize", (RUBY_PROC*)&dll_NtInitialize}, - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, - #endif - #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, - {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, ---- 336,368 ---- - {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, - {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, - {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, - #else - {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, - #endif - {"ruby_init", (RUBY_PROC*)&dll_ruby_init}, - {"ruby_init_loadpath", (RUBY_PROC*)&dll_ruby_init_loadpath}, -! { -! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 19 -! "NtInitialize", -! #else -! "ruby_sysinit", -! #endif -! (RUBY_PROC*)&dll_NtInitialize}, - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, - #endif -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 -+ {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr}, -+ {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new}, -+ {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new}, -+ {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, -+ #endif -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 -+ {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big}, -+ #endif - #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, - {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, -*************** -*** 569,575 **** - static void error_print(int state) - { - #ifndef DYNAMIC_RUBY -! #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) - RUBYEXTERN VALUE ruby_errinfo; - #endif - #endif ---- 620,627 ---- - static void error_print(int state) - { - #ifndef DYNAMIC_RUBY -! #if !(defined(RUBY_VERSION) && RUBY_VERSION >= 19) \ -! && !(defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19) - RUBYEXTERN VALUE ruby_errinfo; - #endif - #endif -*************** -*** 605,611 **** - break; - case TAG_RAISE: - case TAG_FATAL: -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - eclass = CLASS_OF(rb_errinfo()); - einfo = rb_obj_as_string(rb_errinfo()); - #else ---- 657,664 ---- - break; - case TAG_RAISE: - case TAG_FATAL: -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - eclass = CLASS_OF(rb_errinfo()); - einfo = rb_obj_as_string(rb_errinfo()); - #else -*** ../vim-7.2.386/src/version.c 2010-03-10 12:24:44.000000000 +0100 ---- src/version.c 2010-03-10 12:45:55.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 387, - /**/ - --- -Vim is like Emacs without all the typing. (John "Johann" Spetz) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.389 --- a/components/vim/vim72-patches/7.2.389 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,161 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.389 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.389 -Problem: synIDattr() cannot return the font. -Solution: Support the "font" argument. (Christian Brabandt) -Files: runtime/doc/eval.txt, src/eval.c, src/syntax.c - - -*** ../vim-7.2.388/runtime/doc/eval.txt 2010-01-19 15:51:29.000000000 +0100 ---- runtime/doc/eval.txt 2010-03-10 12:52:12.000000000 +0100 -*************** -*** 5370,5375 **** ---- 5388,5395 ---- - the color, cterm: color number as a string, - term: empty string) - "bg" background color (as with "fg") -+ "font" font name (only available in the GUI) -+ |highlight-font| - "sp" special color (as with "fg") |highlight-guisp| - "fg#" like "fg", but for the GUI and the GUI is - running the name in "#RRGGBB" form -*************** -*** 5379,5384 **** ---- 5399,5405 ---- - "italic" "1" if italic - "reverse" "1" if reverse - "inverse" "1" if inverse (= reverse) -+ "standout" "1" if standout - "underline" "1" if underlined - "undercurl" "1" if undercurled - -*** ../vim-7.2.388/src/eval.c 2010-02-24 15:47:58.000000000 +0100 ---- src/eval.c 2010-03-10 12:54:27.000000000 +0100 -*************** -*** 16627,16633 **** - p = highlight_has_attr(id, HL_BOLD, modec); - break; - -! case 'f': /* fg[#] */ - p = highlight_color(id, what, modec); - break; - ---- 16627,16633 ---- - p = highlight_has_attr(id, HL_BOLD, modec); - break; - -! case 'f': /* fg[#] or font */ - p = highlight_color(id, what, modec); - break; - -*** ../vim-7.2.388/src/syntax.c 2010-03-02 17:50:30.000000000 +0100 ---- src/syntax.c 2010-03-10 13:05:39.000000000 +0100 -*************** -*** 8326,8332 **** - char_u * - highlight_color(id, what, modec) - int id; -! char_u *what; /* "fg", "bg", "sp", "fg#", "bg#" or "sp#" */ - int modec; /* 'g' for GUI, 'c' for cterm, 't' for term */ - { - static char_u name[20]; ---- 8326,8332 ---- - char_u * - highlight_color(id, what, modec) - int id; -! char_u *what; /* "font", "fg", "bg", "sp", "fg#", "bg#" or "sp#" */ - int modec; /* 'g' for GUI, 'c' for cterm, 't' for term */ - { - static char_u name[20]; -*************** -*** 8334,8353 **** - int fg = FALSE; - # ifdef FEAT_GUI - int sp = FALSE; - # endif - - if (id <= 0 || id > highlight_ga.ga_len) - return NULL; - -! if (TOLOWER_ASC(what[0]) == 'f') - fg = TRUE; - # ifdef FEAT_GUI -! else if (TOLOWER_ASC(what[0]) == 's') - sp = TRUE; - if (modec == 'g') - { - /* return #RRGGBB form (only possible when GUI is running) */ -! if (gui.in_use && what[1] && what[2] == '#') - { - guicolor_T color; - long_u rgb; ---- 8334,8363 ---- - int fg = FALSE; - # ifdef FEAT_GUI - int sp = FALSE; -+ int font = FALSE; - # endif - - if (id <= 0 || id > highlight_ga.ga_len) - return NULL; - -! if (TOLOWER_ASC(what[0]) == 'f' && TOLOWER_ASC(what[1]) == 'g') - fg = TRUE; - # ifdef FEAT_GUI -! else if (TOLOWER_ASC(what[0]) == 'f' && TOLOWER_ASC(what[1]) == 'o' -! && TOLOWER_ASC(what[2]) == 'n' && TOLOWER_ASC(what[3]) == 't') -! font = TRUE; -! else if (TOLOWER_ASC(what[0]) == 's' && TOLOWER_ASC(what[1]) == 'p') - sp = TRUE; -+ else if (!(TOLOWER_ASC(what[0]) == 'b' && TOLOWER_ASC(what[1]) == 'g')) -+ return NULL; - if (modec == 'g') - { -+ /* return font name */ -+ if (font) -+ return HL_TABLE()[id - 1].sg_font_name; -+ - /* return #RRGGBB form (only possible when GUI is running) */ -! if (gui.in_use && what[2] == '#') - { - guicolor_T color; - long_u rgb; -*************** -*** 8374,8379 **** ---- 8384,8391 ---- - return (HL_TABLE()[id - 1].sg_gui_sp_name); - return (HL_TABLE()[id - 1].sg_gui_bg_name); - } -+ if (font || sp) -+ return NULL; - # endif - if (modec == 'c') - { -*** ../vim-7.2.388/src/version.c 2010-03-10 13:19:28.000000000 +0100 ---- src/version.c 2010-03-10 13:33:25.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 389, - /**/ - --- -WOMAN: Dennis, there's some lovely filth down here. Oh -- how d'you do? -ARTHUR: How do you do, good lady. I am Arthur, King of the Britons. - Who's castle is that? -WOMAN: King of the who? - The Quest for the Holy Grail (Monty Python) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.390 --- a/components/vim/vim72-patches/7.2.390 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.390 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.390 -Problem: In some situations the popup menu can be displayed wrong. -Solution: Remove the popup menu if the cursor moved. (Lech Lorens) -Files: src/edit.c - - -*** ../vim-7.2.389/src/edit.c 2010-01-19 14:59:14.000000000 +0100 ---- src/edit.c 2010-03-10 14:09:56.000000000 +0100 -*************** -*** 4684,4689 **** ---- 4684,4690 ---- - int startcol = 0; /* column where searched text starts */ - colnr_T curs_col; /* cursor column */ - int n; -+ int save_w_wrow; - - compl_direction = ins_compl_key2dir(c); - if (!compl_started) -*************** -*** 5067,5072 **** ---- 5068,5074 ---- - /* - * Find next match (and following matches). - */ -+ save_w_wrow = curwin->w_wrow; - n = ins_compl_next(TRUE, ins_compl_key2count(c), ins_compl_use_match(c)); - - /* may undisplay the popup menu */ -*************** -*** 5220,5225 **** ---- 5222,5233 ---- - /* RedrawingDisabled may be set when invoked through complete(). */ - n = RedrawingDisabled; - RedrawingDisabled = 0; -+ -+ /* If the cursor moved we need to remove the pum first. */ -+ setcursor(); -+ if (save_w_wrow != curwin->w_wrow) -+ ins_compl_del_pum(); -+ - ins_compl_show_pum(); - setcursor(); - RedrawingDisabled = n; -*** ../vim-7.2.389/src/version.c 2010-03-10 13:43:22.000000000 +0100 ---- src/version.c 2010-03-10 14:13:55.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 390, - /**/ - --- -`When any government, or any church for that matter, undertakes to say to - its subjects, "This you may not read, this you must not see, this you are - forbidden to know," the end result is tyranny and oppression no matter how - holy the motives' -- Robert A Heinlein, "If this goes on --" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.391 --- a/components/vim/vim72-patches/7.2.391 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.391 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.391 -Problem: Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen) -Solution: Fix computations in getvcol(). (partly by Lech Lorens) -Files: src/charset.c, src/memline.c - - -*** ../vim-7.2.390/src/charset.c 2009-11-03 16:03:59.000000000 +0100 ---- src/charset.c 2010-03-10 14:38:14.000000000 +0100 -*************** -*** 1255,1261 **** - - vcol = 0; - ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE); -! posptr = ptr + pos->col; - - /* - * This function is used very often, do some speed optimizations. ---- 1255,1264 ---- - - vcol = 0; - ptr = ml_get_buf(wp->w_buffer, pos->lnum, FALSE); -! if (pos->col == MAXCOL) -! posptr = NULL; /* continue until the NUL */ -! else -! posptr = ptr + pos->col; - - /* - * This function is used very often, do some speed optimizations. -*************** -*** 1313,1319 **** - incr = CHARSIZE(c); - } - -! if (ptr >= posptr) /* character at pos->col */ - break; - - vcol += incr; ---- 1316,1322 ---- - incr = CHARSIZE(c); - } - -! if (posptr != NULL && ptr >= posptr) /* character at pos->col */ - break; - - vcol += incr; -*************** -*** 1334,1340 **** - break; - } - -! if (ptr >= posptr) /* character at pos->col */ - break; - - vcol += incr; ---- 1337,1343 ---- - break; - } - -! if (posptr != NULL && ptr >= posptr) /* character at pos->col */ - break; - - vcol += incr; -*** ../vim-7.2.390/src/memline.c 2010-02-11 18:54:38.000000000 +0100 ---- src/memline.c 2010-03-10 14:38:25.000000000 +0100 -*************** -*** 2113,2124 **** - if (buf->b_ml.ml_mfp == NULL) /* there are no lines */ - return (char_u *)""; - -! /* -! * See if it is the same line as requested last time. -! * Otherwise may need to flush last used line. -! * Don't use the last used line when 'swapfile' is reset, need to load all -! * blocks. -! */ - if (buf->b_ml.ml_line_lnum != lnum || mf_dont_release) - { - ml_flush_line(buf); ---- 2113,2124 ---- - if (buf->b_ml.ml_mfp == NULL) /* there are no lines */ - return (char_u *)""; - -! /* -! * See if it is the same line as requested last time. -! * Otherwise may need to flush last used line. -! * Don't use the last used line when 'swapfile' is reset, need to load all -! * blocks. -! */ - if (buf->b_ml.ml_line_lnum != lnum || mf_dont_release) - { - ml_flush_line(buf); -*** ../vim-7.2.390/src/version.c 2010-03-10 14:15:28.000000000 +0100 ---- src/version.c 2010-03-10 14:31:02.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 391, - /**/ - --- -WOMAN: King of the who? -ARTHUR: The Britons. -WOMAN: Who are the Britons? -ARTHUR: Well, we all are. we're all Britons and I am your king. - The Quest for the Holy Grail (Monty Python) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.392 --- a/components/vim/vim72-patches/7.2.392 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,184 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.392 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.392 -Problem: Netbeans hangs reading from a socket at the maximum block size. -Solution: Use select() or poll(). (Xavier de Gaye) -Files: src/vim.h, src/os_unixx.h, src/if_xcmdsrv.c, src/netbeans.c - - -*** ../vim-7.2.391/src/vim.h 2010-03-02 15:55:51.000000000 +0100 ---- src/vim.h 2010-03-10 15:14:03.000000000 +0100 -*************** -*** 477,482 **** ---- 477,499 ---- - # include - #endif - -+ # if defined(HAVE_SYS_SELECT_H) && \ -+ (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) -+ # include -+ # endif -+ -+ # ifndef HAVE_SELECT -+ # ifdef HAVE_SYS_POLL_H -+ # include -+ # define HAVE_POLL -+ # else -+ # ifdef HAVE_POLL_H -+ # include -+ # define HAVE_POLL -+ # endif -+ # endif -+ # endif -+ - /* ================ end of the header file puzzle =============== */ - - /* -*** ../vim-7.2.391/src/os_unixx.h 2006-03-25 22:48:00.000000000 +0100 ---- src/os_unixx.h 2010-03-10 15:14:49.000000000 +0100 -*************** -*** 28,38 **** - # include - # endif - -- # if defined(HAVE_SYS_SELECT_H) && \ -- (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) -- # include -- # endif -- - # ifndef WEXITSTATUS - # ifdef HAVE_UNION_WAIT - # define WEXITSTATUS(stat_val) ((stat_val).w_T.w_Retcode) ---- 28,33 ---- -*************** -*** 65,80 **** - # include - #endif - -- #ifndef HAVE_SELECT -- # ifdef HAVE_SYS_POLL_H -- # include -- # else -- # ifdef HAVE_POLL_H -- # include -- # endif -- # endif -- #endif -- - #ifdef HAVE_SYS_STREAM_H - # include - #endif ---- 60,65 ---- -*** ../vim-7.2.391/src/if_xcmdsrv.c 2009-05-16 17:29:37.000000000 +0200 ---- src/if_xcmdsrv.c 2010-03-10 15:14:09.000000000 +0100 -*************** -*** 21,41 **** - # include - # endif - -- # if defined(HAVE_SYS_SELECT_H) && \ -- (!defined(HAVE_SYS_TIME_H) || defined(SYS_SELECT_WITH_SYS_TIME)) -- # include -- # endif -- -- # ifndef HAVE_SELECT -- # ifdef HAVE_SYS_POLL_H -- # include -- # else -- # ifdef HAVE_POLL_H -- # include -- # endif -- # endif -- # endif -- - /* - * This file provides procedures that implement the command server - * functionality of Vim when in contact with an X11 server. ---- 21,26 ---- -*** ../vim-7.2.391/src/netbeans.c 2010-01-19 15:12:33.000000000 +0100 ---- src/netbeans.c 2010-03-10 15:21:37.000000000 +0100 -*************** -*** 736,741 **** ---- 736,749 ---- - #ifndef FEAT_GUI_GTK - static int level = 0; - #endif -+ #ifdef HAVE_SELECT -+ struct timeval tval; -+ fd_set rfds; -+ #else -+ # ifdef HAVE_POLL -+ struct pollfd fds; -+ # endif -+ #endif - - if (sd < 0) - { -*************** -*** 755,763 **** - return; /* out of memory! */ - } - -! /* Keep on reading for as long as there is something to read. */ - for (;;) - { - len = sock_read(sd, buf, MAXMSGSIZE); - if (len <= 0) - break; /* error or nothing more to read */ ---- 763,788 ---- - return; /* out of memory! */ - } - -! /* Keep on reading for as long as there is something to read. -! * Use select() or poll() to avoid blocking on a message that is exactly -! * MAXMSGSIZE long. */ - for (;;) - { -+ #ifdef HAVE_SELECT -+ FD_ZERO(&rfds); -+ FD_SET(sd, &rfds); -+ tval.tv_sec = 0; -+ tval.tv_usec = 0; -+ if (select(sd + 1, &rfds, NULL, NULL, &tval) <= 0) -+ break; -+ #else -+ # ifdef HAVE_POLL -+ fds.fd = sd; -+ fds.events = POLLIN; -+ if (poll(&fds, 1, 0) <= 0) -+ break; -+ # endif -+ #endif - len = sock_read(sd, buf, MAXMSGSIZE); - if (len <= 0) - break; /* error or nothing more to read */ -*** ../vim-7.2.391/src/version.c 2010-03-10 14:46:21.000000000 +0100 ---- src/version.c 2010-03-10 16:10:48.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 392, - /**/ - --- -WOMAN: I didn't know we had a king. I thought we were an autonomous - collective. -DENNIS: You're fooling yourself. We're living in a dictatorship. A - self-perpetuating autocracy in which the working classes-- -WOMAN: Oh there you go, bringing class into it again. -DENNIS: That's what it's all about if only people would-- - The Quest for the Holy Grail (Monty Python) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.393 --- a/components/vim/vim72-patches/7.2.393 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,281 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.393 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.393 -Problem: Mac: Can't build with different Xcode developer tools directory. -Solution: make "Developer" directory name configurable. (Rainer Muller) -Files: src/configure.in, src/auto/configure - - -*** ../vim-7.2.392/src/configure.in 2010-02-24 14:46:58.000000000 +0100 ---- src/configure.in 2010-03-10 16:16:48.000000000 +0100 -*************** -*** 116,121 **** ---- 116,137 ---- - MACARCH="$withval"; AC_MSG_RESULT($MACARCH), - MACARCH="current"; AC_MSG_RESULT(defaulting to $MACARCH)) - -+ AC_MSG_CHECKING(--with-developer-dir argument) -+ AC_ARG_WITH(developer-dir, [ --with-developer-dir=PATH use PATH as location for Xcode developer tools], -+ DEVELOPER_DIR="$withval"; AC_MSG_RESULT($DEVELOPER_DIR), -+ DEVELOPER_DIR=""; AC_MSG_RESULT(not present)) -+ -+ if test "x$DEVELOPER_DIR" = "x"; then -+ AC_PATH_PROG(XCODE_SELECT, xcode-select) -+ if test "x$XCODE_SELECT" != "x"; then -+ AC_MSG_CHECKING(for developer dir using xcode-select) -+ DEVELOPER_DIR=`$XCODE_SELECT -print-path` -+ AC_MSG_RESULT([$DEVELOPER_DIR]) -+ else -+ DEVELOPER_DIR=/Developer -+ fi -+ fi -+ - if test "x$MACARCH" = "xboth"; then - AC_MSG_CHECKING(for 10.4 universal SDK) - dnl There is a terrible inconsistency (but we appear to get away with it): -*************** -*** 127,133 **** - save_cppflags="$CPPFLAGS" - save_cflags="$CFLAGS" - save_ldflags="$LDFLAGS" -! CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - AC_TRY_LINK([ ], [ ], - AC_MSG_RESULT(found, will make universal binary), - ---- 143,149 ---- - save_cppflags="$CPPFLAGS" - save_cflags="$CFLAGS" - save_ldflags="$LDFLAGS" -! CFLAGS="$CFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - AC_TRY_LINK([ ], [ ], - AC_MSG_RESULT(found, will make universal binary), - -*************** -*** 157,165 **** - dnl TODO: use -arch i386 on Intel machines - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - if test "x$MACARCH" = "xboth"; then -! CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" - else -! CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon" - fi - - dnl If Carbon is found, assume we don't want X11 ---- 173,181 ---- - dnl TODO: use -arch i386 on Intel machines - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - if test "x$MACARCH" = "xboth"; then -! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" - else -! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon" - fi - - dnl If Carbon is found, assume we don't want X11 -*************** -*** 3233,3239 **** - fi - fi - if test "x$MACARCH" = "xboth"; then -! LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - fi - - dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to ---- 3249,3255 ---- - fi - fi - if test "x$MACARCH" = "xboth"; then -! LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - fi - - dnl gcc 3.1 changed the meaning of -MM. The only solution appears to be to -*** ../vim-7.2.392/src/auto/configure 2010-02-24 14:46:58.000000000 +0100 ---- src/auto/configure 2010-03-10 16:19:47.000000000 +0100 -*************** -*** 718,723 **** ---- 718,724 ---- - VIMNAME - OS_EXTRA_OBJ - OS_EXTRA_SRC -+ XCODE_SELECT - CPP_MM - STRIP - AWK -*************** -*** 774,779 **** ---- 775,781 ---- - enable_option_checking - enable_darwin - with_mac_arch -+ with_developer_dir - with_local_dir - with_vim_name - with_ex_name -*************** -*** 1492,1497 **** ---- 1494,1500 ---- - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-mac-arch=ARCH current, intel, ppc or both -+ --with-developer-dir=PATH use PATH as location for Xcode developer tools - --with-local-dir=PATH search PATH instead of /usr/local for local libraries. - --without-local-dir do not search /usr/local for local libraries. - --with-vim-name=NAME what to call the Vim executable -*************** -*** 3833,3845 **** - fi - - - if test "x$MACARCH" = "xboth"; then - { $as_echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5 - $as_echo_n "checking for 10.4 universal SDK... " >&6; } - save_cppflags="$CPPFLAGS" - save_cflags="$CFLAGS" - save_ldflags="$LDFLAGS" -! CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ - _ACEOF ---- 3836,3913 ---- - fi - - -+ { $as_echo "$as_me:$LINENO: checking --with-developer-dir argument" >&5 -+ $as_echo_n "checking --with-developer-dir argument... " >&6; } -+ -+ # Check whether --with-developer-dir was given. -+ if test "${with_developer_dir+set}" = set; then -+ withval=$with_developer_dir; DEVELOPER_DIR="$withval"; { $as_echo "$as_me:$LINENO: result: $DEVELOPER_DIR" >&5 -+ $as_echo "$DEVELOPER_DIR" >&6; } -+ else -+ DEVELOPER_DIR=""; { $as_echo "$as_me:$LINENO: result: not present" >&5 -+ $as_echo "not present" >&6; } -+ fi -+ -+ -+ if test "x$DEVELOPER_DIR" = "x"; then -+ # Extract the first word of "xcode-select", so it can be a program name with args. -+ set dummy xcode-select; ac_word=$2 -+ { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -+ $as_echo_n "checking for $ac_word... " >&6; } -+ if test "${ac_cv_path_XCODE_SELECT+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ case $XCODE_SELECT in -+ [\\/]* | ?:[\\/]*) -+ ac_cv_path_XCODE_SELECT="$XCODE_SELECT" # Let the user override the test with a path. -+ ;; -+ *) -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+ for as_dir in $PATH -+ do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then -+ ac_cv_path_XCODE_SELECT="$as_dir/$ac_word$ac_exec_ext" -+ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 -+ break 2 -+ fi -+ done -+ done -+ IFS=$as_save_IFS -+ -+ ;; -+ esac -+ fi -+ XCODE_SELECT=$ac_cv_path_XCODE_SELECT -+ if test -n "$XCODE_SELECT"; then -+ { $as_echo "$as_me:$LINENO: result: $XCODE_SELECT" >&5 -+ $as_echo "$XCODE_SELECT" >&6; } -+ else -+ { $as_echo "$as_me:$LINENO: result: no" >&5 -+ $as_echo "no" >&6; } -+ fi -+ -+ -+ if test "x$XCODE_SELECT" != "x"; then -+ { $as_echo "$as_me:$LINENO: checking for developer dir using xcode-select" >&5 -+ $as_echo_n "checking for developer dir using xcode-select... " >&6; } -+ DEVELOPER_DIR=`$XCODE_SELECT -print-path` -+ { $as_echo "$as_me:$LINENO: result: $DEVELOPER_DIR" >&5 -+ $as_echo "$DEVELOPER_DIR" >&6; } -+ else -+ DEVELOPER_DIR=/Developer -+ fi -+ fi -+ - if test "x$MACARCH" = "xboth"; then - { $as_echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5 - $as_echo_n "checking for 10.4 universal SDK... " >&6; } - save_cppflags="$CPPFLAGS" - save_cflags="$CFLAGS" - save_ldflags="$LDFLAGS" -! CFLAGS="$CFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ - _ACEOF -*************** -*** 3960,3968 **** - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - if test "x$MACARCH" = "xboth"; then -! CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" - else -! CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon" - fi - - # On IRIX 5.3, sys/types and inttypes.h are conflicting. ---- 4028,4036 ---- - OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o" - CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp" - if test "x$MACARCH" = "xboth"; then -! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon" - else -! CPPFLAGS="$CPPFLAGS -I$DEVELOPER_DIR/Headers/FlatCarbon" - fi - - # On IRIX 5.3, sys/types and inttypes.h are conflicting. -*************** -*** 17319,17325 **** - fi - fi - if test "x$MACARCH" = "xboth"; then -! LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - fi - - DEPEND_CFLAGS_FILTER= ---- 17387,17393 ---- - fi - fi - if test "x$MACARCH" = "xboth"; then -! LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc" - fi - - DEPEND_CFLAGS_FILTER= -*** ../vim-7.2.392/src/version.c 2010-03-10 16:11:57.000000000 +0100 ---- src/version.c 2010-03-10 16:26:00.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 393, - /**/ - --- -There are 2 kinds of people in my world: those who know Unix, Perl, Vim, GNU, -Linux, etc, and those who know COBOL. It gets very difficult for me at -parties, not knowing which group to socialise with :-) - Sitaram Chamarty - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.394 --- a/components/vim/vim72-patches/7.2.394 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.394 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.394 -Problem: .lzma and .xz files are not supported. -Solution: Recognize .lzma and .xz files so that they can be edited. -Files: runtime/plugin/gzip.vim - - -*** ../vim-7.2.393/runtime/plugin/gzip.vim 2005-07-27 23:12:49.000000000 +0200 ---- runtime/plugin/gzip.vim 2010-03-10 17:07:22.000000000 +0100 -*************** -*** 1,6 **** - " Vim plugin for editing compressed files. - " Maintainer: Bram Moolenaar -! " Last Change: 2005 Jul 26 - - " Exit quickly when: - " - this plugin was already loaded ---- 1,6 ---- - " Vim plugin for editing compressed files. - " Maintainer: Bram Moolenaar -! " Last Change: 2010 Mar 10 - - " Exit quickly when: - " - this plugin was already loaded -*************** -*** 20,36 **** - " - " Set binary mode before reading the file. - " Use "gzip -d", gunzip isn't always available. -! autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z setlocal bin - autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn") - autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") - autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress") - autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip") - autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") - autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f") - autocmd FileAppendPre *.gz call gzip#appre("gzip -dn") - autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") - autocmd FileAppendPre *.Z call gzip#appre("uncompress") - autocmd FileAppendPost *.gz call gzip#write("gzip") - autocmd FileAppendPost *.bz2 call gzip#write("bzip2") - autocmd FileAppendPost *.Z call gzip#write("compress -f") - augroup END ---- 20,44 ---- - " - " Set binary mode before reading the file. - " Use "gzip -d", gunzip isn't always available. -! autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz setlocal bin - autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn") - autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") - autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress") -+ autocmd BufReadPost,FileReadPost *.lzma call gzip#read("lzma -d") -+ autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d") - autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip") - autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") - autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f") -+ autocmd BufWritePost,FileWritePost *.lzma call gzip#write("lzma -z") -+ autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z") - autocmd FileAppendPre *.gz call gzip#appre("gzip -dn") - autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") - autocmd FileAppendPre *.Z call gzip#appre("uncompress") -+ autocmd FileAppendPre *.lzma call gzip#appre("lzma -d") -+ autocmd FileAppendPre *.xz call gzip#appre("xz -d") - autocmd FileAppendPost *.gz call gzip#write("gzip") - autocmd FileAppendPost *.bz2 call gzip#write("bzip2") - autocmd FileAppendPost *.Z call gzip#write("compress -f") -+ autocmd FileAppendPost *.lzma call gzip#write("lzma -z") -+ autocmd FileAppendPost *.xz call gzip#write("xz -z") - augroup END -*** ../vim-7.2.393/src/version.c 2010-03-10 16:27:27.000000000 +0100 ---- src/version.c 2010-03-10 17:12:43.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 394, - /**/ - --- -ARTHUR: Be quiet! -DENNIS: --but by a two-thirds majority in the case of more-- -ARTHUR: Be quiet! I order you to be quiet! -WOMAN: Order, eh -- who does he think he is? -ARTHUR: I am your king! - The Quest for the Holy Grail (Monty Python) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.395 --- a/components/vim/vim72-patches/7.2.395 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.395 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.395 -Problem: In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony - Mechelynck) -Solution: Don't escape ? for a help command. (Sergey Khorev) -Files: src/normal.c - - -*** ../vim-7.2.394/src/normal.c 2010-01-19 15:23:38.000000000 +0100 ---- src/normal.c 2010-03-13 13:04:46.000000000 +0100 -*************** -*** 5526,5536 **** - break; - - default: - if (curbuf->b_help) - STRCPY(buf, "he! "); - else - { -- tag_cmd = TRUE; - if (g_cmd) - STRCPY(buf, "tj "); - else ---- 5526,5536 ---- - break; - - default: -+ tag_cmd = TRUE; - if (curbuf->b_help) - STRCPY(buf, "he! "); - else - { - if (g_cmd) - STRCPY(buf, "tj "); - else -*** ../vim-7.2.394/src/version.c 2010-03-10 17:14:07.000000000 +0100 ---- src/version.c 2010-03-17 13:05:11.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 395, - /**/ - --- -There are three kinds of people: Those who can count & those who can't. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.396 --- a/components/vim/vim72-patches/7.2.396 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.396 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.396 -Problem: Get E38 errors. (Dasn) -Solution: Set cursor to line 1 instead of 0. (Dominique Pelle) -Files: src/popupmnu.c - - -*** ../vim-7.2.395/src/popupmnu.c 2010-01-19 18:05:05.000000000 +0100 ---- src/popupmnu.c 2010-03-17 12:59:01.000000000 +0100 -*************** -*** 640,646 **** - - curbuf->b_changed = 0; - curbuf->b_p_ma = FALSE; -! curwin->w_cursor.lnum = 0; - curwin->w_cursor.col = 0; - - if (curwin != curwin_save && win_valid(curwin_save)) ---- 640,646 ---- - - curbuf->b_changed = 0; - curbuf->b_p_ma = FALSE; -! curwin->w_cursor.lnum = 1; - curwin->w_cursor.col = 0; - - if (curwin != curwin_save && win_valid(curwin_save)) -*** ../vim-7.2.395/src/version.c 2010-03-17 13:07:01.000000000 +0100 ---- src/version.c 2010-03-17 14:47:30.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 396, - /**/ - --- -There are 10 kinds of people: Those who understand binary and those who don't. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.397 --- a/components/vim/vim72-patches/7.2.397 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.397 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.397 -Problem: Redundant check for w_lines_valid. -Solution: Remove the if. (Lech Lorens) -Files: src/fold.c - - -*** ../vim-7.2.396/src/fold.c 2010-02-24 14:34:10.000000000 +0100 ---- src/fold.c 2010-03-17 13:03:00.000000000 +0100 -*************** -*** 1053,1067 **** - { - int i; - -! if (win->w_lines_valid > 0) -! for (i = 0; i < win->w_lines_valid; ++i) -! if (win->w_lines[i].wl_valid) -! { -! if (lnum < win->w_lines[i].wl_lnum) -! return -1; -! if (lnum <= win->w_lines[i].wl_lastlnum) -! return i; -! } - return -1; - } - ---- 1053,1066 ---- - { - int i; - -! for (i = 0; i < win->w_lines_valid; ++i) -! if (win->w_lines[i].wl_valid) -! { -! if (lnum < win->w_lines[i].wl_lnum) -! return -1; -! if (lnum <= win->w_lines[i].wl_lastlnum) -! return i; -! } - return -1; - } - -*** ../vim-7.2.396/src/version.c 2010-03-17 14:47:56.000000000 +0100 ---- src/version.c 2010-03-17 16:43:34.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 397, - /**/ - --- -Did you ever stop to think... and forget to start again? - -- Steven Wright - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.398 --- a/components/vim/vim72-patches/7.2.398 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,152 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.398 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.398 -Problem: When moving windows the cursor ends up in the wrong line. -Solution: Set the window width and height properly. (Lech Lorens) -Files: src/window.c - - -*** ../vim-7.2.397/src/window.c 2010-01-27 20:26:41.000000000 +0100 ---- src/window.c 2010-03-17 16:40:06.000000000 +0100 -*************** -*** 991,1018 **** - wp->w_p_scr = curwin->w_p_scr; - if (need_status) - { -! --oldwin->w_height; - oldwin->w_status_height = need_status; - } - if (flags & (WSP_TOP | WSP_BOT)) - { - /* set height and row of new window to full height */ - wp->w_winrow = tabline_height(); -! wp->w_height = curfrp->fr_height - (p_ls > 0); - wp->w_status_height = (p_ls > 0); - } - else - { - /* height and row of new window is same as current window */ - wp->w_winrow = oldwin->w_winrow; -! wp->w_height = oldwin->w_height; - wp->w_status_height = oldwin->w_status_height; - } - frp->fr_height = curfrp->fr_height; - - /* "new_size" of the current window goes to the new window, use - * one column for the vertical separator */ -! wp->w_width = new_size; - if (before) - wp->w_vsep_width = 1; - else ---- 991,1018 ---- - wp->w_p_scr = curwin->w_p_scr; - if (need_status) - { -! win_new_height(oldwin, oldwin->w_height - 1); - oldwin->w_status_height = need_status; - } - if (flags & (WSP_TOP | WSP_BOT)) - { - /* set height and row of new window to full height */ - wp->w_winrow = tabline_height(); -! win_new_height(wp, curfrp->fr_height - (p_ls > 0)); - wp->w_status_height = (p_ls > 0); - } - else - { - /* height and row of new window is same as current window */ - wp->w_winrow = oldwin->w_winrow; -! win_new_height(wp, oldwin->w_height); - wp->w_status_height = oldwin->w_status_height; - } - frp->fr_height = curfrp->fr_height; - - /* "new_size" of the current window goes to the new window, use - * one column for the vertical separator */ -! win_new_width(wp, new_size); - if (before) - wp->w_vsep_width = 1; - else -*************** -*** 1049,1061 **** - if (flags & (WSP_TOP | WSP_BOT)) - { - wp->w_wincol = 0; -! wp->w_width = Columns; - wp->w_vsep_width = 0; - } - else - { - wp->w_wincol = oldwin->w_wincol; -! wp->w_width = oldwin->w_width; - wp->w_vsep_width = oldwin->w_vsep_width; - } - frp->fr_width = curfrp->fr_width; ---- 1049,1061 ---- - if (flags & (WSP_TOP | WSP_BOT)) - { - wp->w_wincol = 0; -! win_new_width(wp, Columns); - wp->w_vsep_width = 0; - } - else - { - wp->w_wincol = oldwin->w_wincol; -! win_new_width(wp, oldwin->w_width); - wp->w_vsep_width = oldwin->w_vsep_width; - } - frp->fr_width = curfrp->fr_width; -*************** -*** 1111,1117 **** - } - - /* -! * make the new window the current window and redraw - */ - if (do_equal || dir != 0) - win_equal(wp, TRUE, ---- 1111,1117 ---- - } - - /* -! * equalize the window sizes. - */ - if (do_equal || dir != 0) - win_equal(wp, TRUE, -*************** -*** 1143,1148 **** ---- 1143,1152 ---- - if (size != 0) - p_wh = size; - } -+ -+ /* -+ * make the new window the current window -+ */ - win_enter(wp, FALSE); - #ifdef FEAT_VERTSPLIT - if (flags & WSP_VERT) -*** ../vim-7.2.397/src/version.c 2010-03-17 16:45:04.000000000 +0100 ---- src/version.c 2010-03-17 16:53:51.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 398, - /**/ - --- -It's not hard to meet expenses, they're everywhere. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.400 --- a/components/vim/vim72-patches/7.2.400 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,454 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.400 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.400 (after 7.2.387) -Problem: Dynamic Ruby is not initialised properly for version 1.9.1. - Ruby cannot create strings from NULL. -Solution: Cleanup #ifdefs. Handle NULL like an empty string. Add - ruby_init_stack. (Sergey Khorev) -Files: src/if_ruby.c - - -*** ../vim-7.2.399/src/if_ruby.c 2010-03-10 12:46:38.000000000 +0100 ---- src/if_ruby.c 2010-03-17 17:37:53.000000000 +0100 -*************** -*** 53,58 **** ---- 53,63 ---- - # undef _WIN32_WINNT - #endif - -+ #if (defined(RUBY_VERSION) && RUBY_VERSION >= 19) \ -+ || (defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19) -+ # define RUBY19_OR_LATER 1 -+ #endif -+ - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - /* Ruby 1.9 defines a number of static functions which use rb_num2long and - * rb_int2big */ -*************** -*** 61,67 **** - #endif - - #include -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - # include - #endif - ---- 66,72 ---- - #endif - - #include -! #ifdef RUBY19_OR_LATER - # include - #endif - -*************** -*** 172,179 **** - # define rb_ary_new dll_rb_ary_new - # define rb_ary_push dll_rb_ary_push - #endif -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - # define rb_errinfo dll_rb_errinfo - #else - # define ruby_errinfo (*dll_ruby_errinfo) ---- 177,183 ---- - # define rb_ary_new dll_rb_ary_new - # define rb_ary_push dll_rb_ary_push - #endif -! #ifdef RUBY19_OR_LATER - # define rb_errinfo dll_rb_errinfo - #else - # define ruby_errinfo (*dll_ruby_errinfo) -*************** -*** 185,196 **** - # define rb_w32_snprintf dll_rb_w32_snprintf - #endif - -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - # define ruby_script dll_ruby_script - # define rb_enc_find_index dll_rb_enc_find_index - # define rb_enc_find dll_rb_enc_find - # define rb_enc_str_new dll_rb_enc_str_new - # define rb_sprintf dll_rb_sprintf - #endif - - /* ---- 189,201 ---- - # define rb_w32_snprintf dll_rb_w32_snprintf - #endif - -! #ifdef RUBY19_OR_LATER - # define ruby_script dll_ruby_script - # define rb_enc_find_index dll_rb_enc_find_index - # define rb_enc_find dll_rb_enc_find - # define rb_enc_str_new dll_rb_enc_str_new - # define rb_sprintf dll_rb_sprintf -+ # define ruby_init_stack dll_ruby_init_stack - #endif - - /* -*************** -*** 240,247 **** - static VALUE (*dll_rb_str_concat) (VALUE, VALUE); - static VALUE (*dll_rb_str_new) (const char*, long); - static VALUE (*dll_rb_str_new2) (const char*); -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - static VALUE (*dll_rb_errinfo) (void); - #else - static VALUE *dll_ruby_errinfo; ---- 245,251 ---- - static VALUE (*dll_rb_str_concat) (VALUE, VALUE); - static VALUE (*dll_rb_str_new) (const char*, long); - static VALUE (*dll_rb_str_new2) (const char*); -! #ifdef RUBY19_OR_LATER - static VALUE (*dll_rb_errinfo) (void); - #else - static VALUE *dll_ruby_errinfo; -*************** -*** 255,276 **** - static VALUE (*dll_rb_ary_new) (void); - static VALUE (*dll_rb_ary_push) (VALUE, VALUE); - #endif -! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - static VALUE (*dll_rb_int2big)(SIGNED_VALUE); - #endif - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); - #endif - -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - static void (*dll_ruby_script) (const char*); - static int (*dll_rb_enc_find_index) (const char*); - static rb_encoding* (*dll_rb_enc_find) (const char*); - static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); - static VALUE (*dll_rb_sprintf) (const char*, ...); - #endif - -! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - static SIGNED_VALUE rb_num2long_stub(VALUE x) - { - return dll_rb_num2long(x); ---- 259,281 ---- - static VALUE (*dll_rb_ary_new) (void); - static VALUE (*dll_rb_ary_push) (VALUE, VALUE); - #endif -! #ifdef RUBY19_OR_LATER - static VALUE (*dll_rb_int2big)(SIGNED_VALUE); - #endif - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 - static int (*dll_rb_w32_snprintf)(char*, size_t, const char*, ...); - #endif - -! #ifdef RUBY19_OR_LATER - static void (*dll_ruby_script) (const char*); - static int (*dll_rb_enc_find_index) (const char*); - static rb_encoding* (*dll_rb_enc_find) (const char*); - static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*); - static VALUE (*dll_rb_sprintf) (const char*, ...); -+ static void (*ruby_init_stack)(VALUE*); - #endif - -! #ifdef RUBY19_OR_LATER - static SIGNED_VALUE rb_num2long_stub(VALUE x) - { - return dll_rb_num2long(x); -*************** -*** 336,343 **** - {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, - {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, - {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, - #else - {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, ---- 341,347 ---- - {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, - {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, - {"rb_str_new2", (RUBY_PROC*)&dll_rb_str_new2}, -! #ifdef RUBY19_OR_LATER - {"rb_errinfo", (RUBY_PROC*)&dll_rb_errinfo}, - #else - {"ruby_errinfo", (RUBY_PROC*)&dll_ruby_errinfo}, -*************** -*** 360,374 **** - {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new}, - {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, - #endif -! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big}, -- #endif -- #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, - {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, - {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, - {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, - {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, - #endif - {"", NULL}, - }; ---- 364,377 ---- - {"rb_ary_new", (RUBY_PROC*)&dll_rb_ary_new}, - {"rb_ary_push", (RUBY_PROC*)&dll_rb_ary_push}, - #endif -! #ifdef RUBY19_OR_LATER - {"rb_int2big", (RUBY_PROC*)&dll_rb_int2big}, - {"ruby_script", (RUBY_PROC*)&dll_ruby_script}, - {"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index}, - {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, - {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, - {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, -+ {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, - #endif - {"", NULL}, - }; -*************** -*** 467,473 **** - static VALUE - vim_str2rb_enc_str(const char *s) - { -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - int isnum; - long lval; - char_u *sval; ---- 470,476 ---- - static VALUE - vim_str2rb_enc_str(const char *s) - { -! #ifdef RUBY19_OR_LATER - int isnum; - long lval; - char_u *sval; -*************** -*** 489,495 **** - static VALUE - eval_enc_string_protect(const char *str, int *state) - { -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - int isnum; - long lval; - char_u *sval; ---- 492,498 ---- - static VALUE - eval_enc_string_protect(const char *str, int *state) - { -! #ifdef RUBY19_OR_LATER - int isnum; - long lval; - char_u *sval; -*************** -*** 591,606 **** - char *argv[] = {"gvim.exe"}; - NtInitialize(&argc, &argv); - #endif -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - RUBY_INIT_STACK; - #endif - ruby_init(); -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - ruby_script("vim-ruby"); - #endif - ruby_init_loadpath(); - ruby_io_init(); -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 - rb_enc_find_index("encdb"); - #endif - ruby_vim_init(); ---- 594,609 ---- - char *argv[] = {"gvim.exe"}; - NtInitialize(&argc, &argv); - #endif -! #ifdef RUBY19_OR_LATER - RUBY_INIT_STACK; - #endif - ruby_init(); -! #ifdef RUBY19_OR_LATER - ruby_script("vim-ruby"); - #endif - ruby_init_loadpath(); - ruby_io_init(); -! #ifdef RUBY19_OR_LATER - rb_enc_find_index("encdb"); - #endif - ruby_vim_init(); -*************** -*** 657,664 **** - break; - case TAG_RAISE: - case TAG_FATAL: -! #if defined(RUBY_VERSION) && RUBY_VERSION >= 19 \ -! || defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 - eclass = CLASS_OF(rb_errinfo()); - einfo = rb_obj_as_string(rb_errinfo()); - #else ---- 660,666 ---- - break; - case TAG_RAISE: - case TAG_FATAL: -! #ifdef RUBY19_OR_LATER - eclass = CLASS_OF(rb_errinfo()); - einfo = rb_obj_as_string(rb_errinfo()); - #else -*************** -*** 720,775 **** - - if (tv->v_type == VAR_STRING) - { -! result = rb_str_new2((char *)tv->vval.v_string); - } - else if (tv->v_type == VAR_NUMBER) - { -! result = INT2NUM(tv->vval.v_number); - } - # ifdef FEAT_FLOAT - else if (tv->v_type == VAR_FLOAT) - { -! result = rb_float_new(tv->vval.v_float); - } - # endif - else if (tv->v_type == VAR_LIST) - { -! list_T *list = tv->vval.v_list; -! listitem_T *curr; - -! result = rb_ary_new(); - -! if (list != NULL) -! { -! for (curr = list->lv_first; curr != NULL; curr = curr->li_next) -! { -! rb_ary_push(result, vim_to_ruby(&curr->li_tv)); -! } -! } - } - else if (tv->v_type == VAR_DICT) - { -! result = rb_hash_new(); - -! if (tv->vval.v_dict != NULL) -! { -! hashtab_T *ht = &tv->vval.v_dict->dv_hashtab; -! long_u todo = ht->ht_used; -! hashitem_T *hi; -! dictitem_T *di; -! -! for (hi = ht->ht_array; todo > 0; ++hi) -! { -! if (!HASHITEM_EMPTY(hi)) -! { -! --todo; - -! di = dict_lookup(hi); -! rb_hash_aset(result, rb_str_new2((char *)hi->hi_key), - vim_to_ruby(&di->di_tv)); -! } -! } -! } - } /* else return Qnil; */ - - return result; ---- 722,778 ---- - - if (tv->v_type == VAR_STRING) - { -! result = rb_str_new2((char *)(tv->vval.v_string == NULL -! ? "" : tv->vval.v_string)); - } - else if (tv->v_type == VAR_NUMBER) - { -! result = INT2NUM(tv->vval.v_number); - } - # ifdef FEAT_FLOAT - else if (tv->v_type == VAR_FLOAT) - { -! result = rb_float_new(tv->vval.v_float); - } - # endif - else if (tv->v_type == VAR_LIST) - { -! list_T *list = tv->vval.v_list; -! listitem_T *curr; - -! result = rb_ary_new(); - -! if (list != NULL) -! { -! for (curr = list->lv_first; curr != NULL; curr = curr->li_next) -! { -! rb_ary_push(result, vim_to_ruby(&curr->li_tv)); -! } -! } - } - else if (tv->v_type == VAR_DICT) - { -! result = rb_hash_new(); - -! if (tv->vval.v_dict != NULL) -! { -! hashtab_T *ht = &tv->vval.v_dict->dv_hashtab; -! long_u todo = ht->ht_used; -! hashitem_T *hi; -! dictitem_T *di; -! -! for (hi = ht->ht_array; todo > 0; ++hi) -! { -! if (!HASHITEM_EMPTY(hi)) -! { -! --todo; - -! di = dict_lookup(hi); -! rb_hash_aset(result, rb_str_new2((char *)hi->hi_key), - vim_to_ruby(&di->di_tv)); -! } -! } -! } - } /* else return Qnil; */ - - return result; -*************** -*** 785,791 **** - tv = eval_expr((char_u *)StringValuePtr(str), NULL); - if (tv == NULL) - { -! return Qnil; - } - result = vim_to_ruby(tv); - ---- 788,794 ---- - tv = eval_expr((char_u *)StringValuePtr(str), NULL); - if (tv == NULL) - { -! return Qnil; - } - result = vim_to_ruby(tv); - -*** ../vim-7.2.399/src/version.c 2010-03-17 17:24:58.000000000 +0100 ---- src/version.c 2010-03-17 18:14:31.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 400, - /**/ - --- -Q: What do you call a fish without an eye? -A: fsh! -Q: What do you call a deer with no eyes? -A: no eye deer. -Q: What do you call a deer with no eyes and no legs? -A: still no eye deer. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.401 --- a/components/vim/vim72-patches/7.2.401 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.401 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.401 -Problem: ":e dir" with 'wildmode' set to "list" doesn't highlight - directory names with a space. (Alexandre Provencio) -Solution: Remove the backslash before checking if the name is a directory. - (Dominique Pelle) -Files: src/ex_getln.c - - -*** ../vim-7.2.400/src/ex_getln.c 2010-03-02 17:23:10.000000000 +0100 ---- src/ex_getln.c 2010-03-17 19:00:54.000000000 +0100 -*************** -*** 3948,3955 **** - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { -! /* highlight directories */ -! j = (mch_isdir(files_found[k])); - if (showtail) - p = L_SHOWFILE(k); - else ---- 3948,3959 ---- - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { -! char_u *halved_slash; -! -! /* highlight directories */ -! halved_slash = backslash_halve_save(files_found[k]); -! j = mch_isdir(halved_slash); -! vim_free(halved_slash); - if (showtail) - p = L_SHOWFILE(k); - else -*** ../vim-7.2.400/src/version.c 2010-03-17 18:15:17.000000000 +0100 ---- src/version.c 2010-03-17 19:12:22.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 401, - /**/ - --- -Two cows are standing together in a field. One asks the other: -"So what do you think about this Mad Cow Disease?" -The other replies: "That doesn't concern me. I'm a helicopter." - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.402 --- a/components/vim/vim72-patches/7.2.402 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.402 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.402 -Problem: This gives a #705 error: let X = function('haslocaldir') - let X = function('getcwd') -Solution: Don't give E705 when the name is found in the hashtab. (Sergey - Khorev) -Files: src/eval.c - - -*** ../vim-7.2.401/src/eval.c 2010-03-10 13:43:22.000000000 +0100 ---- src/eval.c 2010-03-17 19:35:01.000000000 +0100 -*************** -*** 19103,19108 **** ---- 19103,19116 ---- - hashtab_T *ht; - char_u *p; - -+ ht = find_var_ht(name, &varname); -+ if (ht == NULL || *varname == NUL) -+ { -+ EMSG2(_(e_illvar), name); -+ return; -+ } -+ v = find_var_in_ht(ht, varname, TRUE); -+ - if (tv->v_type == VAR_FUNC) - { - if (!(vim_strchr((char_u *)"wbs", name[0]) != NULL && name[1] == ':') -*************** -*** 19112,19118 **** - EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name); - return; - } -! if (function_exists(name)) - { - EMSG2(_("E705: Variable name conflicts with existing function: %s"), - name); ---- 19120,19129 ---- - EMSG2(_("E704: Funcref variable name must start with a capital: %s"), name); - return; - } -! /* Don't allow hiding a function. When "v" is not NULL we migth be -! * assigning another function to the same var, the type is checked -! * below. */ -! if (v == NULL && function_exists(name)) - { - EMSG2(_("E705: Variable name conflicts with existing function: %s"), - name); -*************** -*** 19120,19133 **** - } - } - -- ht = find_var_ht(name, &varname); -- if (ht == NULL || *varname == NUL) -- { -- EMSG2(_(e_illvar), name); -- return; -- } -- -- v = find_var_in_ht(ht, varname, TRUE); - if (v != NULL) - { - /* existing variable, need to clear the value */ ---- 19131,19136 ---- -*** ../vim-7.2.401/src/version.c 2010-03-17 19:13:19.000000000 +0100 ---- src/version.c 2010-03-17 19:36:09.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 402, - /**/ - --- -Michael: There is no such thing as a dump question. -Bernard: Sure there is. For example "what is a core dump?" - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.403 --- a/components/vim/vim72-patches/7.2.403 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.403 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.403 (after 7.2.400) -Problem: Compiler warning for pointer type. (Tony Mechelynck) -Solution: Move type cast to the right place. -Files: src/if_ruby.c - - -*** ../vim-7.2.402/src/if_ruby.c 2010-03-17 18:15:17.000000000 +0100 ---- src/if_ruby.c 2010-03-19 23:08:06.000000000 +0100 -*************** -*** 722,729 **** - - if (tv->v_type == VAR_STRING) - { -! result = rb_str_new2((char *)(tv->vval.v_string == NULL -! ? "" : tv->vval.v_string)); - } - else if (tv->v_type == VAR_NUMBER) - { ---- 722,729 ---- - - if (tv->v_type == VAR_STRING) - { -! result = rb_str_new2(tv->vval.v_string == NULL -! ? "" : (char *)(tv->vval.v_string)); - } - else if (tv->v_type == VAR_NUMBER) - { -*** ../vim-7.2.402/src/version.c 2010-03-17 19:53:44.000000000 +0100 ---- src/version.c 2010-03-19 23:07:13.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 403, - /**/ - --- -If "R" is Reverse, how come "D" is FORWARD? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.404 --- a/components/vim/vim72-patches/7.2.404 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.404 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.404 -Problem: Pointers for composing characters are not properly initialized. -Solution: Compute the size of the pointer, not what it points to. (Yukihiro - Nakadaira) -Files: src/screen.c - - -*** ../vim-7.2.403/src/screen.c 2010-02-03 15:47:59.000000000 +0100 ---- src/screen.c 2010-03-23 13:48:05.000000000 +0100 -*************** -*** 7536,7542 **** - new_ScreenLines = (schar_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(schar_T)), FALSE); - #ifdef FEAT_MBYTE -! vim_memset(new_ScreenLinesC, 0, sizeof(u8char_T) * MAX_MCO); - if (enc_utf8) - { - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( ---- 7536,7542 ---- - new_ScreenLines = (schar_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(schar_T)), FALSE); - #ifdef FEAT_MBYTE -! vim_memset(new_ScreenLinesC, 0, sizeof(u8char_T *) * MAX_MCO); - if (enc_utf8) - { - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( -*** ../vim-7.2.403/src/version.c 2010-03-19 23:08:22.000000000 +0100 ---- src/version.c 2010-03-23 13:54:47.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 404, - /**/ - --- -LAUNCELOT: Isn't there a St. Aaaaarrrrrrggghhh's in Cornwall? -ARTHUR: No, that's Saint Ives. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.405 --- a/components/vim/vim72-patches/7.2.405 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.405 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.405 -Problem: When built with small features the matching text is not - highlighted for ":s/pat/repl/c". -Solution: Remove the #ifdef for IncSearch. (James Vega) -Files: src/syntax.c - - -*** ../vim-7.2.404/src/syntax.c 2010-03-10 13:43:22.000000000 +0100 ---- src/syntax.c 2010-03-23 14:36:10.000000000 +0100 -*************** -*** 6205,6214 **** - { - CENT("ErrorMsg term=standout ctermbg=DarkRed ctermfg=White", - "ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White"), -- #ifdef FEAT_SEARCH_EXTRA - CENT("IncSearch term=reverse cterm=reverse", - "IncSearch term=reverse cterm=reverse gui=reverse"), -- #endif - CENT("ModeMsg term=bold cterm=bold", - "ModeMsg term=bold cterm=bold gui=bold"), - CENT("NonText term=bold ctermfg=Blue", ---- 6205,6212 ---- -*** ../vim-7.2.404/src/version.c 2010-03-23 13:56:53.000000000 +0100 ---- src/version.c 2010-03-23 14:37:08.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 405, - /**/ - --- -Dreams are free, but there's a small charge for alterations. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.406 --- a/components/vim/vim72-patches/7.2.406 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.406 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.406 -Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle) -Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro - Nakadaira) Also clear ScreeenLinesC when allocating. -Files: src/screen.c - - -*** ../vim-7.2.405/src/screen.c 2010-03-23 13:56:53.000000000 +0100 ---- src/screen.c 2010-03-23 15:26:44.000000000 +0100 -*************** -*** 25,34 **** - * one character which occupies two display cells. - * For UTF-8 a multi-byte character is converted to Unicode and stored in - * ScreenLinesUC[]. ScreenLines[] contains the first byte only. For an ASCII -! * character without composing chars ScreenLinesUC[] will be 0. When the -! * character occupies two display cells the next byte in ScreenLines[] is 0. - * ScreenLinesC[][] contain up to 'maxcombine' composing characters -! * (drawn on top of the first character). They are 0 when not used. - * ScreenLines2[] is only used for euc-jp to store the second byte if the - * first byte is 0x8e (single-width character). - * ---- 25,35 ---- - * one character which occupies two display cells. - * For UTF-8 a multi-byte character is converted to Unicode and stored in - * ScreenLinesUC[]. ScreenLines[] contains the first byte only. For an ASCII -! * character without composing chars ScreenLinesUC[] will be 0 and -! * ScreenLinesC[][] is not used. When the character occupies two display -! * cells the next byte in ScreenLines[] is 0. - * ScreenLinesC[][] contain up to 'maxcombine' composing characters -! * (drawn on top of the first character). There is 0 after the last one used. - * ScreenLines2[] is only used for euc-jp to store the second byte if the - * first byte is 0x8e (single-width character). - * -*************** -*** 4893,4898 **** ---- 4894,4900 ---- - - /* - * Return if the composing characters at "off_from" and "off_to" differ. -+ * Only to be used when ScreenLinesUC[off_from] != 0. - */ - static int - comp_char_differs(off_from, off_to) -*************** -*** 6281,6286 **** ---- 6283,6289 ---- - /* - * Return TRUE if composing characters for screen posn "off" differs from - * composing characters in "u8cc". -+ * Only to be used when ScreenLinesUC[off] != 0. - */ - static int - screen_comp_differs(off, u8cc) -*************** -*** 6461,6468 **** - && c == 0x8e - && ScreenLines2[off] != ptr[1]) - || (enc_utf8 -! && (ScreenLinesUC[off] != (u8char_T)(c >= 0x80 ? u8c : 0) -! || screen_comp_differs(off, u8cc))) - #endif - || ScreenAttrs[off] != attr - || exmode_active; ---- 6464,6473 ---- - && c == 0x8e - && ScreenLines2[off] != ptr[1]) - || (enc_utf8 -! && (ScreenLinesUC[off] != -! (u8char_T)(c < 0x80 && u8cc[0] == 0 ? 0 : u8c) -! || (ScreenLinesUC[off] != 0 -! && screen_comp_differs(off, u8cc)))) - #endif - || ScreenAttrs[off] != attr - || exmode_active; -*************** -*** 7542,7548 **** - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - for (i = 0; i < p_mco; ++i) -! new_ScreenLinesC[i] = (u8char_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - } - if (enc_dbcs == DBCS_JPNU) ---- 7547,7553 ---- - new_ScreenLinesUC = (u8char_T *)lalloc((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - for (i = 0; i < p_mco; ++i) -! new_ScreenLinesC[i] = (u8char_T *)lalloc_clear((long_u)( - (Rows + 1) * Columns * sizeof(u8char_T)), FALSE); - } - if (enc_dbcs == DBCS_JPNU) -*** ../vim-7.2.405/src/version.c 2010-03-23 14:39:07.000000000 +0100 ---- src/version.c 2010-03-23 15:34:11.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 406, - /**/ - --- -VOICE OVER: As the horrendous Black Beast lunged forward, escape for Arthur - and his knights seemed hopeless, when, suddenly ... the animator - suffered a fatal heart attack. -ANIMATOR: Aaaaagh! -VOICE OVER: The cartoon peril was no more ... The Quest for Holy Grail could - continue. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.407 --- a/components/vim/vim72-patches/7.2.407 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.407 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.407 -Problem: When using an expression in ":s" backslashes in the result are - dropped. (Sergey Goldgaber, Christian Brabandt) -Solution: Double backslashes. -Files: src/regexp.c - - -*** ../vim-7.2.406/src/regexp.c 2009-11-26 20:41:19.000000000 +0100 ---- src/regexp.c 2010-03-23 16:22:35.000000000 +0100 -*************** -*** 6963,6968 **** ---- 6963,6970 ---- - eval_result = eval_to_string(source + 2, NULL, TRUE); - if (eval_result != NULL) - { -+ int had_backslash = FALSE; -+ - for (s = eval_result; *s != NUL; mb_ptr_adv(s)) - { - /* Change NL to CR, so that it becomes a line break. -*************** -*** 6970,6976 **** ---- 6972,6991 ---- - if (*s == NL) - *s = CAR; - else if (*s == '\\' && s[1] != NUL) -+ { - ++s; -+ had_backslash = TRUE; -+ } -+ } -+ if (had_backslash && backslash) -+ { -+ /* Backslashes will be consumed, need to double them. */ -+ s = vim_strsave_escaped(eval_result, (char_u *)"\\"); -+ if (s != NULL) -+ { -+ vim_free(eval_result); -+ eval_result = s; -+ } - } - - dst += STRLEN(eval_result); -*** ../vim-7.2.406/src/version.c 2010-03-23 15:36:29.000000000 +0100 ---- src/version.c 2010-03-23 16:26:22.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 407, - /**/ - --- -Sorry, no fortune today. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.408 --- a/components/vim/vim72-patches/7.2.408 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.408 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.408 -Problem: With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line - that was not changed. -Solution: Only set '[ and '] marks when a substitution was done. -Files: src/ex_cmds.c - - -*** ../vim-7.2.407/src/ex_cmds.c 2009-07-09 20:06:30.000000000 +0200 ---- src/ex_cmds.c 2010-03-23 17:31:17.000000000 +0100 -*************** -*** 4238,4243 **** ---- 4238,4244 ---- - char_u *sub_firstline; /* allocated copy of first sub line */ - int endcolumn = FALSE; /* cursor in last column when done */ - pos_T old_cursor = curwin->w_cursor; -+ int start_nsubs; - - cmd = eap->arg; - if (!global_busy) -*************** -*** 4245,4250 **** ---- 4246,4252 ---- - sub_nsubs = 0; - sub_nlines = 0; - } -+ start_nsubs = sub_nsubs; - - if (eap->cmdidx == CMD_tilde) - which_pat = RE_LAST; /* use last used regexp */ -*************** -*** 5106,5112 **** - if (do_count) - curwin->w_cursor = old_cursor; - -! if (sub_nsubs) - { - /* Set the '[ and '] marks. */ - curbuf->b_op_start.lnum = eap->line1; ---- 5108,5114 ---- - if (do_count) - curwin->w_cursor = old_cursor; - -! if (sub_nsubs > start_nsubs) - { - /* Set the '[ and '] marks. */ - curbuf->b_op_start.lnum = eap->line1; -*** ../vim-7.2.407/src/version.c 2010-03-23 16:27:15.000000000 +0100 ---- src/version.c 2010-03-23 17:35:40.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 408, - /**/ - --- -Permission is granted to read this message out aloud on Kings Cross Road, -London, under the condition that the orator is properly dressed. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.409 --- a/components/vim/vim72-patches/7.2.409 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.409 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.409 -Problem: Summary of number of substitutes is incorrect for ":folddo". (Jean - Johner) -Solution: Reset sub_nsubs and sub_nlines in global_exe(). -Files: src/ex_cmds.c - - -*** ../vim-7.2.408/src/ex_cmds.c 2010-03-23 17:36:24.000000000 +0100 ---- src/ex_cmds.c 2010-03-23 17:42:49.000000000 +0100 -*************** -*** 5238,5245 **** - type = *eap->cmd; - cmd = eap->arg; - which_pat = RE_LAST; /* default: use last used regexp */ -- sub_nsubs = 0; -- sub_nlines = 0; - - /* - * undocumented vi feature: ---- 5238,5243 ---- -*************** -*** 5343,5348 **** ---- 5341,5348 ---- - /* When the command writes a message, don't overwrite the command. */ - msg_didout = TRUE; - -+ sub_nsubs = 0; -+ sub_nlines = 0; - global_need_beginline = FALSE; - global_busy = 1; - old_lcount = curbuf->b_ml.ml_line_count; -*** ../vim-7.2.408/src/version.c 2010-03-23 17:36:24.000000000 +0100 ---- src/version.c 2010-03-23 17:47:53.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 409, - /**/ - --- -BRIDGEKEEPER: What is your favorite colour? -LAUNCELOT: Blue. -BRIDGEKEEPER: Right. Off you go. - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.410 --- a/components/vim/vim72-patches/7.2.410 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,78 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.410 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.410 -Problem: Highlighting directories for completion doesn't work properly. -Solution: Don't halve backslashes when not needed, expaned "~/". - (Dominique Pelle) -Files: src/ex_getln.c - - -*** ../vim-7.2.409/src/ex_getln.c 2010-03-17 19:13:19.000000000 +0100 ---- src/ex_getln.c 2010-03-23 18:00:56.000000000 +0100 -*************** -*** 3948,3959 **** - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { -- char_u *halved_slash; -- - /* highlight directories */ -! halved_slash = backslash_halve_save(files_found[k]); -! j = mch_isdir(halved_slash); -! vim_free(halved_slash); - if (showtail) - p = L_SHOWFILE(k); - else ---- 3948,3973 ---- - || xp->xp_context == EXPAND_SHELLCMD - || xp->xp_context == EXPAND_BUFFERS) - { - /* highlight directories */ -! if (xp->xp_numfiles != -1) -! { -! char_u *halved_slash; -! char_u *exp_path; -! -! /* Expansion was done before and special characters -! * were escaped, need to halve backslashes. Also -! * $HOME has been replaced with ~/. */ -! exp_path = expand_env_save_opt(files_found[k], TRUE); -! halved_slash = backslash_halve_save( -! exp_path != NULL ? exp_path : files_found[k]); -! j = mch_isdir(halved_slash != NULL ? halved_slash -! : files_found[k]); -! vim_free(exp_path); -! vim_free(halved_slash); -! } -! else -! /* Expansion was done here, file names are literal. */ -! j = mch_isdir(files_found[k]); - if (showtail) - p = L_SHOWFILE(k); - else -*** ../vim-7.2.409/src/version.c 2010-03-23 17:49:19.000000000 +0100 ---- src/version.c 2010-03-23 18:04:25.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 410, - /**/ - --- -BRIDGEKEEPER: What is your favorite colour? -GAWAIN: Blue ... No yelloooooww! - "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.411 --- a/components/vim/vim72-patches/7.2.411 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.411 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.411 -Problem: When parsing 'cino' a comma isn't skipped properly. -Solution: Skip the comma. (Lech Lorens) -Files: src/misc1.c - - -*** ../vim-7.2.410/src/misc1.c 2010-03-02 12:37:01.000000000 +0100 ---- src/misc1.c 2010-03-23 18:18:15.000000000 +0100 -*************** -*** 6270,6275 **** ---- 6270,6277 ---- - case 'l': ind_keep_case_label = n; break; - case '#': ind_hash_comment = n; break; - } -+ if (*options == ',') -+ ++options; - } - - /* remember where the cursor was when we started */ -*** ../vim-7.2.410/src/version.c 2010-03-23 18:06:47.000000000 +0100 ---- src/version.c 2010-03-23 18:22:13.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 411, - /**/ - --- -BRIDGEKEEPER: What is your favorite editor? -GAWAIN: Emacs ... No, Viiiiiiiiiiimmmmmmm! - "Monty Python and the Holy editor wars" PYTHON (MONTY) SOFTWARE LTD - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.412 --- a/components/vim/vim72-patches/7.2.412 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.412 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.412 -Problem: [ or ] followed by mouse click doesn't work. -Solution: Reverse check for key being a mouse event. (Dominique Pelle) -Files: src/normal.c - - -*** ../vim-7.2.411/src/normal.c 2010-03-17 13:07:01.000000000 +0100 ---- src/normal.c 2010-05-07 15:46:54.000000000 +0200 -*************** -*** 3196,3202 **** - * There are a few special cases where we want certain combinations of - * characters to be considered as a single word. These are things like - * "->", "/ *", "*=", "+=", "&=", "<=", ">=", "!=" etc. Otherwise, each -! * character is in it's own class. - */ - if (c != NUL && vim_strchr((char_u *)"-+*/%<>&|^!=", c) != NULL) - return 1; ---- 3196,3202 ---- - * There are a few special cases where we want certain combinations of - * characters to be considered as a single word. These are things like - * "->", "/ *", "*=", "+=", "&=", "<=", ">=", "!=" etc. Otherwise, each -! * character is in its own class. - */ - if (c != NUL && vim_strchr((char_u *)"-+*/%<>&|^!=", c) != NULL) - return 1; -*************** -*** 4085,4091 **** - /* - * Command character that's ignored. - * Used for CTRL-Q and CTRL-S to avoid problems with terminals that use -! * xon/xoff - */ - static void - nv_ignore(cap) ---- 4085,4091 ---- - /* - * Command character that's ignored. - * Used for CTRL-Q and CTRL-S to avoid problems with terminals that use -! * xon/xoff. - */ - static void - nv_ignore(cap) -*************** -*** 6523,6529 **** - * [ or ] followed by a middle mouse click: put selected text with - * indent adjustment. Any other button just does as usual. - */ -! else if (cap->nchar >= K_LEFTMOUSE && cap->nchar <= K_RIGHTRELEASE) - { - (void)do_mouse(cap->oap, cap->nchar, - (cap->cmdchar == ']') ? FORWARD : BACKWARD, ---- 6523,6529 ---- - * [ or ] followed by a middle mouse click: put selected text with - * indent adjustment. Any other button just does as usual. - */ -! else if (cap->nchar >= K_RIGHTRELEASE && cap->nchar <= K_LEFTMOUSE) - { - (void)do_mouse(cap->oap, cap->nchar, - (cap->cmdchar == ']') ? FORWARD : BACKWARD, -*** ../vim-7.2.411/src/version.c 2010-03-23 18:22:40.000000000 +0100 ---- src/version.c 2010-05-07 15:51:35.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 412, - /**/ - --- -I have a drinking problem -- I don't have a drink! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.413 --- a/components/vim/vim72-patches/7.2.413 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,452 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.413 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.413 -Problem: Large file support is incorrect. -Solution: Add AC_SYS_LARGEFILE to configure. (James Vega) -Files: src/configure.in, src/config.h.in, src/auto/configure - - -*** ../vim-7.2.412/src/configure.in 2010-03-10 16:27:27.000000000 +0100 ---- src/configure.in 2010-04-01 15:06:04.000000000 +0200 -*************** -*** 2669,2674 **** ---- 2669,2678 ---- - usleep utime utimes) - AC_FUNC_FSEEKO - -+ dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when -+ dnl appropriate, so that off_t is 64 bits when needed. -+ AC_SYS_LARGEFILE -+ - dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible - AC_MSG_CHECKING(for st_blksize) - AC_TRY_COMPILE( -*** ../vim-7.2.412/src/config.h.in 2010-02-24 14:46:58.000000000 +0100 ---- src/config.h.in 2010-04-01 15:10:49.000000000 +0200 -*************** -*** 196,201 **** ---- 196,206 ---- - #undef HAVE_UTIME - #undef HAVE_BIND_TEXTDOMAIN_CODESET - -+ /* Define, if needed, for accessing large files. */ -+ #undef _LARGE_FILES -+ #undef _FILE_OFFSET_BITS -+ #undef _LARGEFILE_SOURCE -+ - /* Define if you do not have utime(), but do have the utimes() function. */ - #undef HAVE_UTIMES - -*** ../vim-7.2.412/src/auto/configure 2010-03-10 16:27:27.000000000 +0100 ---- src/auto/configure 2010-05-07 16:01:08.000000000 +0200 -*************** -*** 821,826 **** ---- 821,827 ---- - with_gnome - with_motif_lib - with_tlib -+ enable_largefile - enable_acl - enable_gpm - enable_sysmouse -*************** -*** 1485,1490 **** ---- 1486,1492 ---- - --enable-nextaw-check If auto-select GUI, check for neXtaw default=yes - --enable-carbon-check If auto-select GUI, check for Carbon default=yes - --disable-gtktest Do not try to compile and run a test GTK program -+ --disable-largefile omit support for large files - --disable-acl Don't check for ACL support. - --disable-gpm Don't use gpm (Linux mouse daemon). - --disable-sysmouse Don't use sysmouse (mouse in *BSD console). -*************** -*** 14345,14350 **** ---- 14347,14709 ---- - fi - - -+ # Check whether --enable-largefile was given. -+ if test "${enable_largefile+set}" = set; then -+ enableval=$enable_largefile; -+ fi -+ -+ if test "$enable_largefile" != no; then -+ -+ { $as_echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 -+ $as_echo_n "checking for special C compiler options needed for large files... " >&6; } -+ if test "${ac_cv_sys_largefile_CC+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ ac_cv_sys_largefile_CC=no -+ if test "$GCC" != yes; then -+ ac_save_CC=$CC -+ while :; do -+ # IRIX 6.2 and later do not support large files by default, -+ # so use the C compiler's -n32 option if that helps. -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext -+ CC="$CC -n32" -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_largefile_CC=' -n32'; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext -+ break -+ done -+ CC=$ac_save_CC -+ rm -f conftest.$ac_ext -+ fi -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 -+ $as_echo "$ac_cv_sys_largefile_CC" >&6; } -+ if test "$ac_cv_sys_largefile_CC" != no; then -+ CC=$CC$ac_cv_sys_largefile_CC -+ fi -+ -+ { $as_echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -+ $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -+ if test "${ac_cv_sys_file_offset_bits+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_file_offset_bits=no; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #define _FILE_OFFSET_BITS 64 -+ #include -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_file_offset_bits=64; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_cv_sys_file_offset_bits=unknown -+ break -+ done -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 -+ $as_echo "$ac_cv_sys_file_offset_bits" >&6; } -+ case $ac_cv_sys_file_offset_bits in #( -+ no | unknown) ;; -+ *) -+ cat >>confdefs.h <<_ACEOF -+ #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -+ _ACEOF -+ ;; -+ esac -+ rm -rf conftest* -+ if test $ac_cv_sys_file_offset_bits = unknown; then -+ { $as_echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 -+ $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -+ if test "${ac_cv_sys_large_files+set}" = set; then -+ $as_echo_n "(cached) " >&6 -+ else -+ while :; do -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #include -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_large_files=no; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ cat >conftest.$ac_ext <<_ACEOF -+ /* confdefs.h. */ -+ _ACEOF -+ cat confdefs.h >>conftest.$ac_ext -+ cat >>conftest.$ac_ext <<_ACEOF -+ /* end confdefs.h. */ -+ #define _LARGE_FILES 1 -+ #include -+ /* Check that off_t can represent 2**63 - 1 correctly. -+ We can't simply define LARGE_OFF_T to be 9223372036854775807, -+ since some C++ compilers masquerading as C compilers -+ incorrectly reject 9223372036854775807. */ -+ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) -+ int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 -+ && LARGE_OFF_T % 2147483647 == 1) -+ ? 1 : -1]; -+ int -+ main () -+ { -+ -+ ; -+ return 0; -+ } -+ _ACEOF -+ rm -f conftest.$ac_objext -+ if { (ac_try="$ac_compile" -+ case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+ esac -+ eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" -+ $as_echo "$ac_try_echo") >&5 -+ (eval "$ac_compile") 2>conftest.er1 -+ ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 -+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); } && { -+ test -z "$ac_c_werror_flag" || -+ test ! -s conftest.err -+ } && test -s conftest.$ac_objext; then -+ ac_cv_sys_large_files=1; break -+ else -+ $as_echo "$as_me: failed program was:" >&5 -+ sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ -+ fi -+ -+ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ ac_cv_sys_large_files=unknown -+ break -+ done -+ fi -+ { $as_echo "$as_me:$LINENO: result: $ac_cv_sys_large_files" >&5 -+ $as_echo "$ac_cv_sys_large_files" >&6; } -+ case $ac_cv_sys_large_files in #( -+ no | unknown) ;; -+ *) -+ cat >>confdefs.h <<_ACEOF -+ #define _LARGE_FILES $ac_cv_sys_large_files -+ _ACEOF -+ ;; -+ esac -+ rm -rf conftest* -+ fi -+ fi -+ -+ - { $as_echo "$as_me:$LINENO: checking for st_blksize" >&5 - $as_echo_n "checking for st_blksize... " >&6; } - cat >conftest.$ac_ext <<_ACEOF -*** ../vim-7.2.412/src/version.c 2010-05-07 15:51:59.000000000 +0200 ---- src/version.c 2010-05-07 16:04:29.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 413, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -2. Page yourself over the intercom. Don't disguise your voice. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.414 --- a/components/vim/vim72-patches/7.2.414 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.414 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.414 -Problem: CTRK-K does not produce 0xa0 as expected. (Tony - Mechelynck) -Solution: Remove the Unicode range 0xe000 - 0xefff from digraphs, these are - not valid characters. -Files: src/digraph.c - - -*** ../vim-7.2.413/src/digraph.c 2009-05-13 14:12:14.000000000 +0200 ---- src/digraph.c 2010-04-11 17:28:22.000000000 +0200 -*************** -*** 1933,1977 **** - {'7', 'c', 0x3226}, - {'8', 'c', 0x3227}, - {'9', 'c', 0x3228}, -! {' ', ' ', 0xe000}, -! {'/', 'c', 0xe001}, -! {'U', 'A', 0xe002}, -! {'U', 'B', 0xe003}, -! {'"', '3', 0xe004}, -! {'"', '1', 0xe005}, -! {'"', '!', 0xe006}, -! {'"', '\'', 0xe007}, -! {'"', '>', 0xe008}, -! {'"', '?', 0xe009}, -! {'"', '-', 0xe00a}, -! {'"', '(', 0xe00b}, -! {'"', '.', 0xe00c}, -! {'"', ':', 0xe00d}, -! {'"', '0', 0xe00e}, -! {'"', '"', 0xe00f}, -! {'"', '<', 0xe010}, -! {'"', ',', 0xe011}, -! {'"', ';', 0xe012}, -! {'"', '_', 0xe013}, -! {'"', '=', 0xe014}, -! {'"', '/', 0xe015}, -! {'"', 'i', 0xe016}, -! {'"', 'd', 0xe017}, -! {'"', 'p', 0xe018}, -! {';', ';', 0xe019}, -! {',', ',', 0xe01a}, -! {'b', '3', 0xe01b}, -! {'C', 'i', 0xe01c}, -! {'f', '(', 0xe01d}, -! {'e', 'd', 0xe01e}, -! {'a', 'm', 0xe01f}, -! {'p', 'm', 0xe020}, -! {'F', 'l', 0xe023}, -! {'G', 'F', 0xe024}, -! {'>', 'V', 0xe025}, -! {'!', '*', 0xe026}, -! {'?', '*', 0xe027}, -! {'J', '<', 0xe028}, - {'f', 'f', 0xfb00}, - {'f', 'i', 0xfb01}, - {'f', 'l', 0xfb02}, ---- 1933,1940 ---- - {'7', 'c', 0x3226}, - {'8', 'c', 0x3227}, - {'9', 'c', 0x3228}, -! /* code points 0xe000 - 0xefff excluded, they have no assigned -! * characters, only used in proposals. */ - {'f', 'f', 0xfb00}, - {'f', 'i', 0xfb01}, - {'f', 'l', 0xfb02}, -*** ../vim-7.2.413/src/version.c 2010-05-07 16:05:48.000000000 +0200 ---- src/version.c 2010-05-07 16:17:26.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 414, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -4. Put your garbage can on your desk and label it "in". - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.415 --- a/components/vim/vim72-patches/7.2.415 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.415 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.415 -Problem: Win32: Can't open a remote file when starting Vim. -Solution: Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi) -Files: src/main.c - - -*** ../vim-7.2.414/src/main.c 2009-12-16 18:27:29.000000000 +0100 ---- src/main.c 2010-04-12 20:57:44.000000000 +0200 -*************** -*** 1477,1483 **** - ++initstr; - } - -! /* Avoid using evim mode for "editor". */ - if (TOLOWER_ASC(initstr[0]) == 'e' - && (TOLOWER_ASC(initstr[1]) == 'v' - || TOLOWER_ASC(initstr[1]) == 'g')) ---- 1477,1483 ---- - ++initstr; - } - -! /* Use evim mode for "evim" and "egvim", not for "editor". */ - if (TOLOWER_ASC(initstr[0]) == 'e' - && (TOLOWER_ASC(initstr[1]) == 'v' - || TOLOWER_ASC(initstr[1]) == 'g')) -*************** -*** 2262,2268 **** - * Look for evidence of non-Cygwin paths before we bother. - * This is only for when using the Unix files. - */ -! if (strpbrk(p, "\\:") != NULL) - { - char posix_path[PATH_MAX]; - ---- 2262,2268 ---- - * Look for evidence of non-Cygwin paths before we bother. - * This is only for when using the Unix files. - */ -! if (strpbrk(p, "\\:") != NULL && !path_with_url(p)) - { - char posix_path[PATH_MAX]; - -*** ../vim-7.2.414/src/version.c 2010-05-07 16:18:08.000000000 +0200 ---- src/version.c 2010-05-07 16:34:22.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 415, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -6. In the memo field of all your checks, write "for sexual favors". - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.416 --- a/components/vim/vim72-patches/7.2.416 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.416 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.416 -Problem: Logtalk.dict is not installed. -Solution: Add it to the install target. (Markus Heidelberg) -Files: src/Makefile - - -*** ../vim-7.2.415/src/Makefile 2010-05-07 16:35:12.000000000 +0200 ---- src/Makefile 2010-04-06 20:19:48.000000000 +0200 -*************** -*** 30,36 **** - # want to disable using X11 libraries. This speeds up starting Vim, - # but the window title will not be set and the X11 selection can not - # used. -! # - Uncomment the line "CONF_OPT_XSMP = --without-xsmp" if you have the - # X11 Session Management Protocol (XSMP) library (libSM) but do not - # want to use it. - # This can speedup Vim startup but Vim loses the ability to catch the ---- 30,36 ---- - # want to disable using X11 libraries. This speeds up starting Vim, - # but the window title will not be set and the X11 selection can not - # used. -! # - Uncomment the line "CONF_OPT_XSMP = --disable-xsmp" if you have the - # X11 Session Management Protocol (XSMP) library (libSM) but do not - # want to use it. - # This can speedup Vim startup but Vim loses the ability to catch the -*************** -*** 1882,1888 **** - cd $(PLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_PLUG) - cd $(DEST_PLUG); chmod $(HELPMOD) *.vim README.txt - # install the ftplugin files -! cd $(FTPLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_FTP) - cd $(DEST_FTP); chmod $(HELPMOD) *.vim README.txt - # install the compiler files - cd $(COMPSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_COMP) ---- 1882,1888 ---- - cd $(PLUGSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_PLUG) - cd $(DEST_PLUG); chmod $(HELPMOD) *.vim README.txt - # install the ftplugin files -! cd $(FTPLUGSOURCE); $(INSTALL_DATA) *.vim README.txt logtalk.dict $(DEST_FTP) - cd $(DEST_FTP); chmod $(HELPMOD) *.vim README.txt - # install the compiler files - cd $(COMPSOURCE); $(INSTALL_DATA) *.vim README.txt $(DEST_COMP) -*** ../vim-7.2.415/src/version.c 2010-05-07 16:34:59.000000000 +0200 ---- src/version.c 2010-05-07 16:53:17.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 416, - /**/ - --- -How To Keep A Healthy Level Of Insanity: -8. Don't use any punctuation marks. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.417 --- a/components/vim/vim72-patches/7.2.417 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.417 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.417 -Problem: When 'shell' has an argument with a slash then 'shellpipe' is not - set properly. (Britton Kerin) -Solution: Assume there are no spaces in the path, arguments follow. -Files: src/option.c - - -*** ../vim-7.2.416/src/option.c 2010-02-24 14:34:10.000000000 +0100 ---- src/option.c 2010-05-13 13:05:28.000000000 +0200 -*************** -*** 3696,3704 **** ---- 3696,3727 ---- - * Isolate the name of the shell: - * - Skip beyond any path. E.g., "/usr/bin/csh -f" -> "csh -f". - * - Remove any argument. E.g., "csh -f" -> "csh". -+ * But don't allow a space in the path, so that this works: -+ * "/usr/bin/csh --rcfile ~/.cshrc" -+ * But don't do that for Windows, it's common to have a space in the path. - */ -+ #ifdef WIN3264 - p = gettail(p_sh); - p = vim_strnsave(p, (int)(skiptowhite(p) - p)); -+ #else -+ p = skiptowhite(p_sh); -+ if (*p == NUL) -+ { -+ /* No white space, use the tail. */ -+ p = vim_strsave(gettail(p_sh)); -+ } -+ else -+ { -+ char_u *p1, *p2; -+ -+ /* Find the last path separator before the space. */ -+ p1 = p_sh; -+ for (p2 = p_sh; p2 < p; mb_ptr_adv(p2)) -+ if (vim_ispathsep(*p2)) -+ p1 = p2 + 1; -+ p = vim_strnsave(p1, (int)(p - p1)); -+ } -+ #endif - if (p != NULL) - { - /* -*** ../vim-7.2.416/src/version.c 2010-05-07 16:54:32.000000000 +0200 ---- src/version.c 2010-05-13 13:11:17.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 417, - /**/ - --- -If you put 7 of the most talented OSS developers in a room for a week -and asked them to fix a bug in a spreadsheet program, in 1 week -you'd have 2 new mail readers and a text-based web browser. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.418 --- a/components/vim/vim72-patches/7.2.418 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.418 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.418 -Problem: Vim tries to set the background or foreground color in a terminal - to -1. (Graywh) Happens with ":hi Normal ctermbg=NONE". -Solution: When resetting the foreground or background color don't set the - color, let the clear screen code do that. -Files: src/syntax.c - - -*** ../vim-7.2.417/src/syntax.c 2010-03-23 14:39:07.000000000 +0100 ---- src/syntax.c 2010-05-13 15:34:27.000000000 +0200 -*************** -*** 7136,7142 **** - } - } - } -! /* Add one to the argument, to avoid zero */ - if (key[5] == 'F') - { - HL_TABLE()[idx].sg_cterm_fg = color + 1; ---- 7136,7143 ---- - } - } - } -! /* Add one to the argument, to avoid zero. Zero is used for -! * "NONE", then "color" is -1. */ - if (key[5] == 'F') - { - HL_TABLE()[idx].sg_cterm_fg = color + 1; -*************** -*** 7150,7156 **** - #endif - { - must_redraw = CLEAR; -! if (termcap_active) - term_fg_color(color); - } - } ---- 7151,7157 ---- - #endif - { - must_redraw = CLEAR; -! if (termcap_active && color >= 0) - term_fg_color(color); - } - } -*************** -*** 7167,7182 **** - #endif - { - must_redraw = CLEAR; -! if (termcap_active) -! term_bg_color(color); -! if (t_colors < 16) -! i = (color == 0 || color == 4); -! else -! i = (color < 7 || color == 8); -! /* Set the 'background' option if the value is wrong. */ -! if (i != (*p_bg == 'd')) -! set_option_value((char_u *)"bg", 0L, -! i ? (char_u *)"dark" : (char_u *)"light", 0); - } - } - } ---- 7168,7188 ---- - #endif - { - must_redraw = CLEAR; -! if (color >= 0) -! { -! if (termcap_active) -! term_bg_color(color); -! if (t_colors < 16) -! i = (color == 0 || color == 4); -! else -! i = (color < 7 || color == 8); -! /* Set the 'background' option if the value is -! * wrong. */ -! if (i != (*p_bg == 'd')) -! set_option_value((char_u *)"bg", 0L, -! i ? (char_u *)"dark" -! : (char_u *)"light", 0); -! } - } - } - } -*** ../vim-7.2.417/src/version.c 2010-05-13 13:12:01.000000000 +0200 ---- src/version.c 2010-05-13 14:29:59.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 418, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -30. Even though you died last week, you've managed to retain OPS on your - favorite IRC channel. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.419 --- a/components/vim/vim72-patches/7.2.419 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.419 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.419 -Problem: Memory leak in Motif when clicking on "Search Vim Help". -Solution: Free string returned by XmTextGetString(). (Dominique Pelle) -Files: src/gui_motif.c - - -*** ../vim-7.2.418/src/gui_motif.c 2009-05-21 23:25:38.000000000 +0200 ---- src/gui_motif.c 2010-05-13 16:08:14.000000000 +0200 -*************** -*** 2917,2922 **** ---- 2917,2923 ---- - *textfield = NUL; - else - vim_strncpy(textfield, p, IOSIZE - 1); -+ XtFree((char *)p); - } - - suppress_dialog_mnemonics(dialogform); -*** ../vim-7.2.418/src/version.c 2010-05-13 15:40:23.000000000 +0200 ---- src/version.c 2010-05-13 16:09:28.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 419, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -32. You don't know what sex three of your closest friends are, because they - have neutral nicknames and you never bothered to ask. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.420 --- a/components/vim/vim72-patches/7.2.420 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.420 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.420 -Problem: ":argedit" does not accept "++enc=utf8" as documented. (Dominique - Pelle) -Solution: Add the ARGOPT flag to ":argedit". -Files: src/ex_cmds.h - - -*** ../vim-7.2.419/src/ex_cmds.h 2009-07-09 15:55:34.000000000 +0200 ---- src/ex_cmds.h 2010-05-13 16:18:38.000000000 +0200 -*************** -*** 52,58 **** - #define ARGOPT 0x40000L /* allow "++opt=val" argument */ - #define SBOXOK 0x80000L /* allowed in the sandbox */ - #define CMDWIN 0x100000L /* allowed in cmdline window */ -! #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */ - #define EXFLAGS 0x400000L /* allow flags after count in argument */ - #define FILES (XFILE | EXTRA) /* multiple extra files allowed */ - #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ ---- 52,58 ---- - #define ARGOPT 0x40000L /* allow "++opt=val" argument */ - #define SBOXOK 0x80000L /* allowed in the sandbox */ - #define CMDWIN 0x100000L /* allowed in cmdline window */ -! #define MODIFY 0x200000L /* forbidden in non-'modifiable' buffer */ - #define EXFLAGS 0x400000L /* allow flags after count in argument */ - #define FILES (XFILE | EXTRA) /* multiple extra files allowed */ - #define WORD1 (EXTRA | NOSPC) /* one extra word allowed */ -*************** -*** 116,122 **** - EX(CMD_argdo, "argdo", ex_listdo, - BANG|NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_argedit, "argedit", ex_argedit, -! BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|TRLBAR), - EX(CMD_argglobal, "argglobal", ex_args, - BANG|FILES|EDITCMD|ARGOPT|TRLBAR), - EX(CMD_arglocal, "arglocal", ex_args, ---- 116,122 ---- - EX(CMD_argdo, "argdo", ex_listdo, - BANG|NEEDARG|EXTRA|NOTRLCOM), - EX(CMD_argedit, "argedit", ex_argedit, -! BANG|NEEDARG|RANGE|NOTADR|FILE1|EDITCMD|ARGOPT|TRLBAR), - EX(CMD_argglobal, "argglobal", ex_args, - BANG|FILES|EDITCMD|ARGOPT|TRLBAR), - EX(CMD_arglocal, "arglocal", ex_args, -*** ../vim-7.2.419/src/version.c 2010-05-13 16:31:15.000000000 +0200 ---- src/version.c 2010-05-13 16:43:30.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 420, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -33. You name your children Eudora, Mozilla and Dotcom. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.421 --- a/components/vim/vim72-patches/7.2.421 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.421 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.421 -Problem: Folds are sometimes not updated properly and there is no way to - force an update. -Solution: Make "zx" and "zX" recompute folds (suggested by Christian - Brabandt) -Files: src/normal.c - - -*** ../vim-7.2.420/src/normal.c 2010-05-07 15:51:59.000000000 +0200 ---- src/normal.c 2010-05-13 16:43:05.000000000 +0200 -*************** -*** 4936,4948 **** - - /* "zx": re-apply 'foldlevel' and open folds at the cursor */ - case 'x': curwin->w_p_fen = TRUE; -! newFoldLevel(); /* update right now */ - foldOpenCursor(); - break; - - /* "zX": undo manual opens/closes, re-apply 'foldlevel' */ - case 'X': curwin->w_p_fen = TRUE; -! old_fdl = -1; /* force an update */ - break; - - /* "zm": fold more */ ---- 4936,4950 ---- - - /* "zx": re-apply 'foldlevel' and open folds at the cursor */ - case 'x': curwin->w_p_fen = TRUE; -! curwin->w_foldinvalid = TRUE; /* recompute folds */ -! newFoldLevel(); /* update right now */ - foldOpenCursor(); - break; - - /* "zX": undo manual opens/closes, re-apply 'foldlevel' */ - case 'X': curwin->w_p_fen = TRUE; -! curwin->w_foldinvalid = TRUE; /* recompute folds */ -! old_fdl = -1; /* force an update */ - break; - - /* "zm": fold more */ -*** ../vim-7.2.420/src/version.c 2010-05-13 16:46:16.000000000 +0200 ---- src/version.c 2010-05-13 17:33:34.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 421, - /**/ - --- -My sister Cecilia opened a computer store in Hawaii. -She sells C shells by the seashore. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.422 --- a/components/vim/vim72-patches/7.2.422 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,67 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.422 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.422 -Problem: May get E763 when using spell dictionaries. -Solution: Avoid utf-8 case folded character to be truncated to 8 bits and - differ from latin1. (Dominique Pelle) -Files: src/spell.c - - -*** ../vim-7.2.421/src/spell.c 2010-01-19 13:06:42.000000000 +0100 ---- src/spell.c 2010-05-13 17:29:28.000000000 +0200 -*************** -*** 9780,9789 **** - { - for (i = 128; i < 256; ++i) - { - spelltab.st_isu[i] = utf_isupper(i); - spelltab.st_isw[i] = spelltab.st_isu[i] || utf_islower(i); -! spelltab.st_fold[i] = utf_fold(i); -! spelltab.st_upper[i] = utf_toupper(i); - } - } - else ---- 9780,9795 ---- - { - for (i = 128; i < 256; ++i) - { -+ int f = utf_fold(i); -+ int u = utf_toupper(i); -+ - spelltab.st_isu[i] = utf_isupper(i); - spelltab.st_isw[i] = spelltab.st_isu[i] || utf_islower(i); -! /* The folded/upper-cased value is different between latin1 and -! * utf8 for 0xb5, causing E763 for no good reason. Use the latin1 -! * value for utf-8 to avoid this. */ -! spelltab.st_fold[i] = (f < 256) ? f : i; -! spelltab.st_upper[i] = (u < 256) ? u : i; - } - } - else -*** ../vim-7.2.421/src/version.c 2010-05-13 17:35:52.000000000 +0200 ---- src/version.c 2010-05-13 17:46:03.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 422, - /**/ - --- -Q. What happens to programmers when they die? -A: MS-Windows programmers are reinstalled. C++ programmers become undefined, - anyone who refers to them will die as well. Java programmers reincarnate - after being garbage collected. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.423 --- a/components/vim/vim72-patches/7.2.423 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.423 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.423 -Problem: Crash when assigning s: to variable. (Yukihiro Nakadaira) -Solution: Make ga_scripts contain pointer to scriptvar_T instead of - scriptvar_T itself. (Dominique Pelle) -Files: src/eval.c - - -*** ../vim-7.2.422/src/eval.c 2010-03-17 19:53:44.000000000 +0100 ---- src/eval.c 2010-05-14 12:02:16.000000000 +0200 -*************** -*** 145,153 **** - dict_T sv_dict; - } scriptvar_T; - -! static garray_T ga_scripts = {0, 0, sizeof(scriptvar_T), 4, NULL}; -! #define SCRIPT_SV(id) (((scriptvar_T *)ga_scripts.ga_data)[(id) - 1]) -! #define SCRIPT_VARS(id) (SCRIPT_SV(id).sv_dict.dv_hashtab) - - static int echo_attr = 0; /* attributes used for ":echo" */ - ---- 145,153 ---- - dict_T sv_dict; - } scriptvar_T; - -! static garray_T ga_scripts = {0, 0, sizeof(scriptvar_T *), 4, NULL}; -! #define SCRIPT_SV(id) (((scriptvar_T **)ga_scripts.ga_data)[(id) - 1]) -! #define SCRIPT_VARS(id) (SCRIPT_SV(id)->sv_dict.dv_hashtab) - - static int echo_attr = 0; /* attributes used for ":echo" */ - -*************** -*** 866,875 **** - hash_init(&vimvarht); /* garbage_collect() will access it */ - hash_clear(&compat_hashtab); - -- /* script-local variables */ -- for (i = 1; i <= ga_scripts.ga_len; ++i) -- vars_clear(&SCRIPT_VARS(i)); -- ga_clear(&ga_scripts); - free_scriptnames(); - - /* global variables */ ---- 866,871 ---- -*************** -*** 878,883 **** ---- 874,887 ---- - /* autoloaded script names */ - ga_clear_strings(&ga_loaded); - -+ /* script-local variables */ -+ for (i = 1; i <= ga_scripts.ga_len; ++i) -+ { -+ vars_clear(&SCRIPT_VARS(i)); -+ vim_free(SCRIPT_SV(i)); -+ } -+ ga_clear(&ga_scripts); -+ - /* unreferenced lists and dicts */ - (void)garbage_collect(); - -*************** -*** 18803,18809 **** - /* Must be something like "s:", otherwise "ht" would be NULL. */ - switch (varname[-2]) - { -! case 's': return &SCRIPT_SV(current_SID).sv_var; - case 'g': return &globvars_var; - case 'v': return &vimvars_var; - case 'b': return &curbuf->b_bufvar; ---- 18807,18813 ---- - /* Must be something like "s:", otherwise "ht" would be NULL. */ - switch (varname[-2]) - { -! case 's': return &SCRIPT_SV(current_SID)->sv_var; - case 'g': return &globvars_var; - case 'v': return &vimvars_var; - case 'b': return &curbuf->b_bufvar; -*************** -*** 18928,18940 **** - ht = &SCRIPT_VARS(i); - if (ht->ht_mask == HT_INIT_SIZE - 1) - ht->ht_array = ht->ht_smallarray; -! sv = &SCRIPT_SV(i); - sv->sv_var.di_tv.vval.v_dict = &sv->sv_dict; - } - - while (ga_scripts.ga_len < id) - { -! sv = &SCRIPT_SV(ga_scripts.ga_len + 1); - init_var_dict(&sv->sv_dict, &sv->sv_var); - ++ga_scripts.ga_len; - } ---- 18932,18945 ---- - ht = &SCRIPT_VARS(i); - if (ht->ht_mask == HT_INIT_SIZE - 1) - ht->ht_array = ht->ht_smallarray; -! sv = SCRIPT_SV(i); - sv->sv_var.di_tv.vval.v_dict = &sv->sv_dict; - } - - while (ga_scripts.ga_len < id) - { -! sv = SCRIPT_SV(ga_scripts.ga_len + 1) = -! (scriptvar_T *)alloc_clear(sizeof(scriptvar_T)); - init_var_dict(&sv->sv_dict, &sv->sv_var); - ++ga_scripts.ga_len; - } -*************** -*** 21931,21937 **** - if (find_viminfo_parameter('!') == NULL) - return; - -! fprintf(fp, _("\n# global variables:\n")); - - todo = (int)globvarht.ht_used; - for (hi = globvarht.ht_array; todo > 0; ++hi) ---- 21936,21942 ---- - if (find_viminfo_parameter('!') == NULL) - return; - -! fputs(_("\n# global variables:\n"), fp); - - todo = (int)globvarht.ht_used; - for (hi = globvarht.ht_array; todo > 0; ++hi) -*** ../vim-7.2.422/src/version.c 2010-05-13 17:46:53.000000000 +0200 ---- src/version.c 2010-05-14 12:13:19.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 423, - /**/ - --- -He who laughs last, thinks slowest. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.424 --- a/components/vim/vim72-patches/7.2.424 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.424 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.424 -Problem: ":colorscheme" without an argument doesn't do anything. -Solution: Make it echo the current color scheme name. (partly by Christian - Brabandt) -Files: runtime/doc/syntax.txt, src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.423/runtime/doc/syntax.txt 2008-08-09 19:36:52.000000000 +0200 ---- runtime/doc/syntax.txt 2010-05-14 15:27:47.000000000 +0200 -*************** -*** 113,118 **** ---- 113,121 ---- - :syntax off $VIMRUNTIME/syntax/nosyntax.vim - Also see |syntax-loading|. - -+ NOTE: If displaying long lines is slow and switching off syntax highlighting -+ makes it fast, consider setting the 'synmaxcol' option to a lower value. -+ - ============================================================================== - 2. Syntax files *:syn-files* - -*************** -*** 3829,3841 **** - in their own color. - - *:colo* *:colorscheme* *E185* - :colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath' - for the file "colors/{name}.vim. The first one that - is found is loaded. -! To see the name of the currently active color scheme -! (if there is one): > -! :echo g:colors_name -! < Doesn't work recursively, thus you can't use - ":colorscheme" in a color scheme script. - After the color scheme has been loaded the - |ColorScheme| autocommand event is triggered. ---- 3871,3890 ---- - in their own color. - - *:colo* *:colorscheme* *E185* -+ :colo[rscheme] Output the name of the currently active color scheme. -+ This is basically the same as > -+ :echo g:colors_name -+ < In case g:colors_name has not been defined :colo will -+ output "default". When compiled without the |+eval| -+ feature it will output "unknown". -+ - :colo[rscheme] {name} Load color scheme {name}. This searches 'runtimepath' - for the file "colors/{name}.vim. The first one that - is found is loaded. -! To see the name of the currently active color scheme: > -! :colo -! < The name is also stored in the g:colors_name variable. -! Doesn't work recursively, thus you can't use - ":colorscheme" in a color scheme script. - After the color scheme has been loaded the - |ColorScheme| autocommand event is triggered. -*************** -*** 4032,4038 **** - colors. - When a colorscheme is being used, changing 'background' causes it to - be reloaded, which may reset all colors (including Normal). First -! delete the "colors_name" variable when you don't want this. - - When you have set "ctermfg" or "ctermbg" for the Normal group, Vim - needs to reset the color when exiting. This is done with the "op" ---- 4081,4087 ---- - colors. - When a colorscheme is being used, changing 'background' causes it to - be reloaded, which may reset all colors (including Normal). First -! delete the "g:colors_name" variable when you don't want this. - - When you have set "ctermfg" or "ctermbg" for the Normal group, Vim - needs to reset the color when exiting. This is done with the "op" -*** ../vim-7.2.423/src/ex_cmds.h 2010-05-13 16:46:16.000000000 +0200 ---- src/ex_cmds.h 2010-05-14 13:08:45.000000000 +0200 -*************** -*** 256,262 **** - EX(CMD_colder, "colder", qf_age, - RANGE|NOTADR|COUNT|TRLBAR), - EX(CMD_colorscheme, "colorscheme", ex_colorscheme, -! NEEDARG|WORD1|TRLBAR|CMDWIN), - EX(CMD_command, "command", ex_command, - EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_comclear, "comclear", ex_comclear, ---- 256,262 ---- - EX(CMD_colder, "colder", qf_age, - RANGE|NOTADR|COUNT|TRLBAR), - EX(CMD_colorscheme, "colorscheme", ex_colorscheme, -! WORD1|TRLBAR|CMDWIN), - EX(CMD_command, "command", ex_command, - EXTRA|BANG|NOTRLCOM|USECTRLV|CMDWIN), - EX(CMD_comclear, "comclear", ex_comclear, -*** ../vim-7.2.423/src/ex_docmd.c 2010-03-02 15:55:51.000000000 +0100 ---- src/ex_docmd.c 2010-05-14 15:26:14.000000000 +0200 -*************** -*** 6226,6232 **** - ex_colorscheme(eap) - exarg_T *eap; - { -! if (load_colors(eap->arg) == FAIL) - EMSG2(_("E185: Cannot find color scheme %s"), eap->arg); - } - ---- 6226,6256 ---- - ex_colorscheme(eap) - exarg_T *eap; - { -! if (*eap->arg == NUL) -! { -! #ifdef FEAT_EVAL -! char_u *expr = vim_strsave((char_u *)"g:colors_name"); -! char_u *p = NULL; -! -! if (expr != NULL) -! { -! ++emsg_off; -! p = eval_to_string(expr, NULL, FALSE); -! --emsg_off; -! vim_free(expr); -! } -! if (p != NULL) -! { -! MSG(p); -! vim_free(p); -! } -! else -! MSG("default"); -! #else -! MSG(_("unknown")); -! #endif -! } -! else if (load_colors(eap->arg) == FAIL) - EMSG2(_("E185: Cannot find color scheme %s"), eap->arg); - } - -*** ../vim-7.2.423/src/version.c 2010-05-14 12:16:19.000000000 +0200 ---- src/version.c 2010-05-14 15:23:20.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 424, - /**/ - --- -Everyone has a photographic memory. Some don't have film. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.425 --- a/components/vim/vim72-patches/7.2.425 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.425 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.425 -Problem: Some compilers complain about fourth EX() argument. -Solution: Add cast to long_u. -Files: src/ex_cmds.h - - -*** ../vim-7.2.424/src/ex_cmds.h 2010-05-14 15:28:37.000000000 +0200 ---- src/ex_cmds.h 2010-05-14 13:08:45.000000000 +0200 -*************** -*** 74,80 **** - # undef EX /* just in case */ - #endif - #ifdef DO_DECLARE_EXCMD -! # define EX(a, b, c, d) {(char_u *)b, c, d} - - typedef void (*ex_func_T) __ARGS((exarg_T *eap)); - ---- 74,80 ---- - # undef EX /* just in case */ - #endif - #ifdef DO_DECLARE_EXCMD -! # define EX(a, b, c, d) {(char_u *)b, c, (long_u)(d)} - - typedef void (*ex_func_T) __ARGS((exarg_T *eap)); - -*** ../vim-7.2.424/src/version.c 2010-05-14 15:28:37.000000000 +0200 ---- src/version.c 2010-05-14 15:42:23.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 425, - /**/ - --- -The users that I support would double-click on a landmine to find out -what happens. -- A system administrator - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.426 --- a/components/vim/vim72-patches/7.2.426 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.426 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.426 -Problem: Commas in 'langmap' are not always handled correctly. -Solution: Require commas to be backslash escaped. (James Vega) -Files: src/option.c - - -*** ../vim-7.2.425/src/option.c 2010-05-13 13:12:01.000000000 +0200 ---- src/option.c 2010-05-14 16:04:21.000000000 +0200 -*************** -*** 10432,10437 **** ---- 10432,10442 ---- - p2 = NULL; /* aAbBcCdD form, p2 is NULL */ - while (p[0]) - { -+ if (p[0] == ',') -+ { -+ ++p; -+ break; -+ } - if (p[0] == '\\' && p[1] != NUL) - ++p; - #ifdef FEAT_MBYTE -*************** -*** 10439,10464 **** - #else - from = p[0]; - #endif - if (p2 == NULL) - { - mb_ptr_adv(p); -! if (p[0] == '\\') -! ++p; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p); - #else -! to = p[0]; - #endif - } - else - { -! if (p2[0] == '\\') -! ++p2; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p2); - #else -! to = p2[0]; - #endif - } - if (to == NUL) - { ---- 10444,10476 ---- - #else - from = p[0]; - #endif -+ to = NUL; - if (p2 == NULL) - { - mb_ptr_adv(p); -! if (p[0] != ',') -! { -! if (p[0] == '\\') -! ++p; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p); - #else -! to = p[0]; - #endif -+ } - } - else - { -! if (p2[0] != ',') -! { -! if (p2[0] == '\\') -! ++p2; - #ifdef FEAT_MBYTE -! to = (*mb_ptr2char)(p2); - #else -! to = p2[0]; - #endif -+ } - } - if (to == NUL) - { -*************** -*** 10476,10490 **** - - /* Advance to next pair */ - mb_ptr_adv(p); -! if (p2 == NULL) -! { -! if (p[0] == ',') -! { -! ++p; -! break; -! } -! } -! else - { - mb_ptr_adv(p2); - if (*p == ';') ---- 10488,10494 ---- - - /* Advance to next pair */ - mb_ptr_adv(p); -! if (p2 != NULL) - { - mb_ptr_adv(p2); - if (*p == ';') -*** ../vim-7.2.425/src/version.c 2010-05-14 15:42:49.000000000 +0200 ---- src/version.c 2010-05-14 17:32:11.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 426, - /**/ - --- -On the other hand, you have different fingers. - -- Steven Wright - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.427 --- a/components/vim/vim72-patches/7.2.427 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,207 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.427 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.427 -Problem: The swapfile is created using the destination of a symlink, but - recovery doesn't follow symlinks. -Solution: When recovering, resolve symlinks. (James Vega) -Files: src/memline.c - - -*** ../vim-7.2.426/src/memline.c 2010-03-10 14:46:21.000000000 +0100 ---- src/memline.c 2010-05-14 17:28:29.000000000 +0200 -*************** -*** 245,250 **** ---- 245,253 ---- - #ifdef FEAT_BYTEOFF - static void ml_updatechunk __ARGS((buf_T *buf, long line, long len, int updtype)); - #endif -+ #ifdef HAVE_READLINK -+ static int resolve_symlink __ARGS((char_u *fname, char_u *buf)); -+ #endif - - /* - * Open a new memline for "buf". -*************** -*** 1401,1410 **** - int i; - char_u *dirp; - char_u *dir_name; - - if (list) - { -! /* use msg() to start the scrolling properly */ - msg((char_u *)_("Swap files found:")); - msg_putchar('\n'); - } ---- 1404,1422 ---- - int i; - char_u *dirp; - char_u *dir_name; -+ char_u *fname_res = *fname; -+ #ifdef HAVE_READLINK -+ char_u fname_buf[MAXPATHL]; -+ -+ /* Expand symlink in the file name, because the swap file is created with -+ * the actual file instead of with the symlink. */ -+ if (resolve_symlink(*fname, fname_buf) == OK) -+ fname_res = fname_buf; -+ #endif - - if (list) - { -! /* use msg() to start the scrolling properly */ - msg((char_u *)_("Swap files found:")); - msg_putchar('\n'); - } -*************** -*** 1453,1459 **** - #endif - } - else -! num_names = recov_file_names(names, *fname, TRUE); - } - else /* check directory dir_name */ - { ---- 1465,1471 ---- - #endif - } - else -! num_names = recov_file_names(names, fname_res, TRUE); - } - else /* check directory dir_name */ - { -*************** -*** 1490,1501 **** - if (after_pathsep(dir_name, p) && p[-1] == p[-2]) - { - /* Ends with '//', Use Full path for swap name */ -! tail = make_percent_swname(dir_name, *fname); - } - else - #endif - { -! tail = gettail(*fname); - tail = concat_fnames(dir_name, tail, TRUE); - } - if (tail == NULL) ---- 1502,1513 ---- - if (after_pathsep(dir_name, p) && p[-1] == p[-2]) - { - /* Ends with '//', Use Full path for swap name */ -! tail = make_percent_swname(dir_name, fname_res); - } - else - #endif - { -! tail = gettail(fname_res); - tail = concat_fnames(dir_name, tail, TRUE); - } - if (tail == NULL) -*************** -*** 1535,1545 **** - struct stat st; - char_u *swapname; - - #if defined(VMS) || defined(RISCOS) -! swapname = modname(*fname, (char_u *)"_swp", FALSE); - #else -! swapname = modname(*fname, (char_u *)".swp", TRUE); - #endif - if (swapname != NULL) - { - if (mch_stat((char *)swapname, &st) != -1) /* It exists! */ ---- 1547,1559 ---- - struct stat st; - char_u *swapname; - -+ swapname = modname(fname_res, - #if defined(VMS) || defined(RISCOS) -! (char_u *)"_swp", FALSE - #else -! (char_u *)".swp", TRUE - #endif -+ ); - if (swapname != NULL) - { - if (mch_stat((char *)swapname, &st) != -1) /* It exists! */ -*************** -*** 3508,3515 **** - } - - #ifdef HAVE_READLINK -- static int resolve_symlink __ARGS((char_u *fname, char_u *buf)); -- - /* - * Resolve a symlink in the last component of a file name. - * Note that f_resolve() does it for every part of the path, we don't do that ---- 3522,3527 ---- -*************** -*** 3601,3609 **** - char_u *dir_name; - { - char_u *r, *s; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; -- char_u *fname_res; - #endif - - #if defined(UNIX) || defined(WIN3264) /* Need _very_ long file names */ ---- 3613,3621 ---- - char_u *dir_name; - { - char_u *r, *s; -+ char_u *fname_res = fname; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; - #endif - - #if defined(UNIX) || defined(WIN3264) /* Need _very_ long file names */ -*************** -*** 3625,3632 **** - * actual file instead of with the symlink. */ - if (resolve_symlink(fname, fname_buf) == OK) - fname_res = fname_buf; -- else -- fname_res = fname; - #endif - - r = buf_modname( ---- 3637,3642 ---- -*************** -*** 3639,3649 **** - /* Avoid problems if fname has special chars, eg */ - ffname, - #else -- # ifdef HAVE_READLINK - fname_res, -- # else -- fname, -- # endif - #endif - (char_u *) - #if defined(VMS) || defined(RISCOS) ---- 3649,3655 ---- -*** ../vim-7.2.426/src/version.c 2010-05-14 17:32:53.000000000 +0200 ---- src/version.c 2010-05-14 17:50:43.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 427, - /**/ - --- -Change is inevitable, except from a vending machine. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.428 --- a/components/vim/vim72-patches/7.2.428 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.428 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.428 -Problem: Using setqflist([]) to clear the error list doesn't work properly. -Solution: Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt) -Files: src/quickfix.c - - -*** ../vim-7.2.427/src/quickfix.c 2010-01-19 14:59:14.000000000 +0100 ---- src/quickfix.c 2010-05-14 18:06:27.000000000 +0200 -*************** -*** 3654,3660 **** - } - } - -! qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE; - qi->qf_lists[qi->qf_curlist].qf_ptr = qi->qf_lists[qi->qf_curlist].qf_start; - qi->qf_lists[qi->qf_curlist].qf_index = 1; - ---- 3654,3664 ---- - } - } - -! if (qi->qf_lists[qi->qf_curlist].qf_index == 0) -! /* empty list or no valid entry */ -! qi->qf_lists[qi->qf_curlist].qf_nonevalid = TRUE; -! else -! qi->qf_lists[qi->qf_curlist].qf_nonevalid = FALSE; - qi->qf_lists[qi->qf_curlist].qf_ptr = qi->qf_lists[qi->qf_curlist].qf_start; - qi->qf_lists[qi->qf_curlist].qf_index = 1; - -*** ../vim-7.2.427/src/version.c 2010-05-14 17:52:35.000000000 +0200 ---- src/version.c 2010-05-14 18:09:32.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 428, - /**/ - --- -Seen it all, done it all, can't remember most of it. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.429 --- a/components/vim/vim72-patches/7.2.429 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,69 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.429 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.429 -Problem: A file that exists but access is denied may result in a "new file" - message. E.g. when its directory is unreadable. -Solution: Specifically check for ENOENT to decide a file doesn't exist. - (partly by James Vega) -Files: src/fileio.c - - -*** ../vim-7.2.428/src/fileio.c 2010-03-02 12:47:58.000000000 +0100 ---- src/fileio.c 2010-05-14 18:30:09.000000000 +0200 -*************** -*** 595,601 **** - #endif - if (newfile) - { -! if (perm < 0) - { - /* - * Set the 'new-file' flag, so that when the file has ---- 595,605 ---- - #endif - if (newfile) - { -! if (perm < 0 -! #ifdef ENOENT -! && errno == ENOENT -! #endif -! ) - { - /* - * Set the 'new-file' flag, so that when the file has -*************** -*** 664,669 **** ---- 668,676 ---- - # ifdef EFBIG - (errno == EFBIG) ? _("[File too big]") : - # endif -+ # ifdef EOVERFLOW -+ (errno == EOVERFLOW) ? _("[File too big]") : -+ # endif - _("[Permission Denied]")), 0); - curbuf->b_p_ro = TRUE; /* must use "w!" now */ - } -*** ../vim-7.2.428/src/version.c 2010-05-14 18:10:23.000000000 +0200 ---- src/version.c 2010-05-14 18:55:11.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 429, - /**/ - --- -Those who live by the sword get shot by those who don't. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.430 --- a/components/vim/vim72-patches/7.2.430 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.430 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.430 -Problem: The ++bad argument is handled wrong, resulting in an invalid - memory access. -Solution: Use the bad_char field only for the replacement character, add - bad_char_idx to store the position. (Dominique Pelle) -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.429/src/eval.c 2010-05-14 12:16:19.000000000 +0200 ---- src/eval.c 2010-05-14 19:04:53.000000000 +0200 -*************** -*** 18309,18316 **** - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char != 0) -! len += (unsigned)STRLEN(eap->cmd + eap->bad_char) + 7; - # endif - - newval = alloc(len + 1); ---- 18309,18316 ---- - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char_idx != 0) -! len += (unsigned)STRLEN(eap->cmd + eap->bad_char_idx) + 7; - # endif - - newval = alloc(len + 1); -*************** -*** 18334,18342 **** - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char != 0) - sprintf((char *)newval + STRLEN(newval), " ++bad=%s", -! eap->cmd + eap->bad_char); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; ---- 18334,18342 ---- - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char_idx != 0) - sprintf((char *)newval + STRLEN(newval), " ++bad=%s", -! eap->cmd + eap->bad_char_idx); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; -*** ../vim-7.2.429/src/ex_cmds.h 2010-05-14 15:42:49.000000000 +0200 ---- src/ex_cmds.h 2010-05-14 20:23:20.000000000 +0200 -*************** -*** 1152,1158 **** - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char; /* ++bad= argument (index in cmd[]) */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ ---- 1152,1159 ---- - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char_idx; /* ++bad= argument (index in cmd[]) */ -! int bad_char; /* BAD_KEEP, BAD_DROP or replacement char */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ -*** ../vim-7.2.429/src/ex_docmd.c 2010-05-14 15:28:37.000000000 +0200 ---- src/ex_docmd.c 2010-05-14 19:04:53.000000000 +0200 -*************** -*** 4739,4745 **** - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &eap->bad_char; - } - #endif - ---- 4739,4745 ---- - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &eap->bad_char_idx; - } - #endif - -*************** -*** 4770,4776 **** - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + eap->bad_char; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) ---- 4770,4776 ---- - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + eap->bad_char_idx; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) -*** ../vim-7.2.429/src/version.c 2010-05-14 18:56:33.000000000 +0200 ---- src/version.c 2010-05-14 20:39:38.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 430, - /**/ - --- -You have the right to remain silent. Anything you say will be -misquoted, then used against 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.431 --- a/components/vim/vim72-patches/7.2.431 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.431 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.431 -Problem: ":amenu" moves the cursor when in Insert mode. -Solution: Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt) -Files: src/menu.c - - -*** ../vim-7.2.430/src/menu.c 2009-05-17 13:30:58.000000000 +0200 ---- src/menu.c 2010-05-14 21:18:00.000000000 +0200 -*************** -*** 490,495 **** ---- 490,496 ---- - char_u *next_name; - int i; - int c; -+ int d; - #ifdef FEAT_GUI - int idx; - int new_idx; -*************** -*** 746,751 **** ---- 747,753 ---- - * Don't do this if adding a tearbar (addtearoff == FALSE). - * Don't do this for "". */ - c = 0; -+ d = 0; - if (amenu && call_data != NULL && *call_data != NUL - #ifdef FEAT_GUI_W32 - && addtearoff -*************** -*** 761,778 **** - c = Ctrl_C; - break; - case MENU_INSERT_MODE: -! c = Ctrl_O; - break; - } - } - -! if (c) - { -! menu->strings[i] = alloc((unsigned)(STRLEN(call_data) + 4)); - if (menu->strings[i] != NULL) - { - menu->strings[i][0] = c; -! STRCPY(menu->strings[i] + 1, call_data); - if (c == Ctrl_C) - { - int len = (int)STRLEN(menu->strings[i]); ---- 763,787 ---- - c = Ctrl_C; - break; - case MENU_INSERT_MODE: -! c = Ctrl_BSL; -! d = Ctrl_O; - break; - } - } - -! if (c != 0) - { -! menu->strings[i] = alloc((unsigned)(STRLEN(call_data) + 5 )); - if (menu->strings[i] != NULL) - { - menu->strings[i][0] = c; -! if (d == 0) -! STRCPY(menu->strings[i] + 1, call_data); -! else -! { -! menu->strings[i][1] = d; -! STRCPY(menu->strings[i] + 2, call_data); -! } - if (c == Ctrl_C) - { - int len = (int)STRLEN(menu->strings[i]); -*** ../vim-7.2.430/src/version.c 2010-05-14 20:41:00.000000000 +0200 ---- src/version.c 2010-05-14 21:11:40.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 431, - /**/ - --- -Despite the cost of living, have you noticed how it remains so popular? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.432 --- a/components/vim/vim72-patches/7.2.432 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,499 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.432 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.432 -Problem: When menus are translated they can only be found by the translated - name. That makes ":emenu" difficult to use. -Solution: Store the untranslated name and use it for completion and :emenu. - (Edward L. Fox / Liang Peng / Bezetek James) -Files: src/menu.c, src/structs.h - - -*** ../vim-7.2.431/src/menu.c 2010-05-14 21:19:16.000000000 +0200 ---- src/menu.c 2010-05-14 21:52:58.000000000 +0200 -*************** -*** 58,63 **** ---- 58,66 ---- - static char_u *menutrans_lookup __ARGS((char_u *name, int len)); - #endif - -+ static char_u *menu_translate_tab_and_shift __ARGS((char_u *arg_start)); -+ static void menu_unescape_name __ARGS((char_u *p)); -+ - /* The character for each menu mode */ - static char_u menu_mode_chars[] = {'n', 'v', 's', 'o', 'i', 'c', 't'}; - -*************** -*** 106,115 **** - int pri_tab[MENUDEPTH + 1]; - int enable = MAYBE; /* TRUE for "menu enable", FALSE for "menu - * disable */ -- #ifdef FEAT_MULTI_LANG -- char_u *tofree = NULL; -- char_u *new_cmd; -- #endif - #ifdef FEAT_TOOLBAR - char_u *icon = NULL; - #endif ---- 109,114 ---- -*************** -*** 251,291 **** - } - #endif - -- #ifdef FEAT_MULTI_LANG -- /* -- * Translate menu names as specified with ":menutrans" commands. -- */ -- menu_path = arg; -- while (*menu_path) -- { -- /* find the end of one part and check if it should be translated */ -- p = menu_skip_part(menu_path); -- map_to = menutrans_lookup(menu_path, (int)(p - menu_path)); -- if (map_to != NULL) -- { -- /* found a match: replace with the translated part */ -- i = (int)STRLEN(map_to); -- new_cmd = alloc((unsigned)STRLEN(arg) + i + 1); -- if (new_cmd == NULL) -- break; -- mch_memmove(new_cmd, arg, menu_path - arg); -- mch_memmove(new_cmd + (menu_path - arg), map_to, (size_t)i); -- STRCPY(new_cmd + (menu_path - arg) + i, p); -- p = new_cmd + (menu_path - arg) + i; -- vim_free(tofree); -- tofree = new_cmd; -- arg = new_cmd; -- } -- if (*p != '.') -- break; -- menu_path = p + 1; -- } -- #endif -- -- /* -- * Isolate the menu name. -- * Skip the menu name, and translate into a real TAB. -- */ - menu_path = arg; - if (*menu_path == '.') - { ---- 250,255 ---- -*************** -*** 293,313 **** - goto theend; - } - -! while (*arg && !vim_iswhite(*arg)) -! { -! if ((*arg == '\\' || *arg == Ctrl_V) && arg[1] != NUL) -! arg++; -! else if (STRNICMP(arg, "", 5) == 0) -! { -! *arg = TAB; -! STRMOVE(arg + 1, arg + 5); -! } -! arg++; -! } -! if (*arg != NUL) -! *arg++ = NUL; -! arg = skipwhite(arg); -! map_to = arg; - - /* - * If there is only a menu name, display menus with that name. ---- 257,263 ---- - goto theend; - } - -! map_to = menu_translate_tab_and_shift(arg); - - /* - * If there is only a menu name, display menus with that name. -*************** -*** 453,463 **** - #endif - - theend: -- #ifdef FEAT_MULTI_LANG -- vim_free(tofree); -- #else - ; -- #endif - } - - /* ---- 403,409 ---- -*************** -*** 498,503 **** ---- 444,453 ---- - int pri_idx = 0; - int old_modes = 0; - int amenu; -+ #ifdef FEAT_MULTI_LANG -+ char_u *en_name; -+ char_u *map_to = NULL; -+ #endif - - /* Make a copy so we can stuff around with it, since it could be const */ - path_name = vim_strsave(menu_path); -*************** -*** 511,516 **** ---- 461,476 ---- - /* Get name of this element in the menu hierarchy, and the simplified - * name (without mnemonic and accelerator text). */ - next_name = menu_name_skip(name); -+ #ifdef FEAT_MULTI_LANG -+ map_to = menutrans_lookup(name,STRLEN(name)); -+ if (map_to != NULL) -+ { -+ en_name = name; -+ name = map_to; -+ } -+ else -+ en_name = NULL; -+ #endif - dname = menu_text(name, NULL, NULL); - if (dname == NULL) - goto erret; -*************** -*** 594,599 **** ---- 554,571 ---- - menu->name = vim_strsave(name); - /* separate mnemonic and accelerator text from actual menu name */ - menu->dname = menu_text(name, &menu->mnemonic, &menu->actext); -+ #ifdef FEAT_MULTI_LANG -+ if (en_name != NULL) -+ { -+ menu->en_name = vim_strsave(en_name); -+ menu->en_dname = menu_text(en_name, NULL, NULL); -+ } -+ else -+ { -+ menu->en_name = NULL; -+ menu->en_dname = NULL; -+ } -+ #endif - menu->priority = pri_tab[pri_idx]; - menu->parent = parent; - #ifdef FEAT_GUI_MOTIF -*************** -*** 1040,1045 **** ---- 1012,1021 ---- - *menup = menu->next; - vim_free(menu->name); - vim_free(menu->dname); -+ #ifdef FEAT_MULTI_LANG -+ vim_free(menu->en_name); -+ vim_free(menu->en_dname); -+ #endif - vim_free(menu->actext); - #ifdef FEAT_TOOLBAR - vim_free(menu->iconfile); -*************** -*** 1357,1365 **** ---- 1333,1347 ---- - { - static vimmenu_T *menu = NULL; - char_u *str; -+ #ifdef FEAT_MULTI_LANG -+ static int should_advance = FALSE; -+ #endif - - if (idx == 0) /* first call: start at first item */ -+ { - menu = expand_menu; -+ should_advance = FALSE; -+ } - - /* Skip PopUp[nvoci]. */ - while (menu != NULL && (menu_is_hidden(menu->dname) -*************** -*** 1372,1383 **** - return NULL; - - if (menu->modes & expand_modes) -! str = menu->dname; - else - str = (char_u *)""; - -! /* Advance to next menu entry. */ -! menu = menu->next; - - return str; - } ---- 1354,1383 ---- - return NULL; - - if (menu->modes & expand_modes) -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! str = menu->en_dname; -! else -! { -! #endif -! str = menu->dname; -! #ifdef FEAT_MULTI_LANG -! if (menu->en_dname == NULL) -! should_advance = TRUE; -! } -! #endif - else - str = (char_u *)""; - -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! #endif -! /* Advance to next menu entry. */ -! menu = menu->next; -! -! #ifdef FEAT_MULTI_LANG -! should_advance = !should_advance; -! #endif - - return str; - } -*************** -*** 1394,1402 **** ---- 1394,1408 ---- - static vimmenu_T *menu = NULL; - static char_u tbuffer[256]; /*hack*/ - char_u *str; -+ #ifdef FEAT_MULTI_LANG -+ static int should_advance = FALSE; -+ #endif - - if (idx == 0) /* first call: start at first item */ -+ { - menu = expand_menu; -+ should_advance = FALSE; -+ } - - /* Skip Browse-style entries, popup menus and separators. */ - while (menu != NULL -*************** -*** 1416,1435 **** - { - if (menu->children != NULL) - { -! STRCPY(tbuffer, menu->dname); - /* hack on menu separators: use a 'magic' char for the separator - * so that '.' in names gets escaped properly */ - STRCAT(tbuffer, "\001"); - str = tbuffer; - } - else -! str = menu->dname; - } - else - str = (char_u *)""; - -! /* Advance to next menu entry. */ -! menu = menu->next; - - return str; - } ---- 1422,1472 ---- - { - if (menu->children != NULL) - { -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! STRCPY(tbuffer, menu->en_dname); -! else -! { -! #endif -! STRCPY(tbuffer, menu->dname); -! #ifdef FEAT_MULTI_LANG -! if (menu->en_dname == NULL) -! should_advance = TRUE; -! } -! #endif - /* hack on menu separators: use a 'magic' char for the separator - * so that '.' in names gets escaped properly */ - STRCAT(tbuffer, "\001"); - str = tbuffer; - } - else -! #ifdef FEAT_MULTI_LANG -! { -! if (should_advance) -! str = menu->en_dname; -! else -! { -! #endif -! str = menu->dname; -! #ifdef FEAT_MULTI_LANG -! if (menu->en_dname == NULL) -! should_advance = TRUE; -! } -! } -! #endif - } - else - str = (char_u *)""; - -! #ifdef FEAT_MULTI_LANG -! if (should_advance) -! #endif -! /* Advance to next menu entry. */ -! menu = menu->next; -! -! #ifdef FEAT_MULTI_LANG -! should_advance = !should_advance; -! #endif - - return str; - } -*************** -*** 1469,1475 **** - char_u *name; - vimmenu_T *menu; - { -! return (menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname)); - } - - static int ---- 1506,1516 ---- - char_u *name; - vimmenu_T *menu; - { -! if (menu->en_name != NULL -! && (menu_namecmp(name,menu->en_name) -! || menu_namecmp(name,menu->en_dname))) -! return TRUE; -! return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname); - } - - static int -*************** -*** 2402,2407 **** ---- 2443,2452 ---- - to = vim_strnsave(to, (int)(arg - to)); - if (from_noamp != NULL && to != NULL) - { -+ menu_translate_tab_and_shift(from); -+ menu_translate_tab_and_shift(to); -+ menu_unescape_name(from); -+ menu_unescape_name(to); - tp[menutrans_ga.ga_len].from = from; - tp[menutrans_ga.ga_len].from_noamp = from_noamp; - tp[menutrans_ga.ga_len].to = to; -*************** -*** 2476,2479 **** ---- 2521,2566 ---- - } - #endif /* FEAT_MULTI_LANG */ - -+ /* -+ * Unescape the name in the translate dictionary table. -+ */ -+ static void -+ menu_unescape_name(name) -+ char_u *name; -+ { -+ char_u *p; -+ -+ for (p = name; *p && *p != '.'; mb_ptr_adv(p)) -+ if (*p == '\\') -+ STRMOVE(p, p + 1); -+ } -+ -+ /* -+ * Isolate the menu name. -+ * Skip the menu name, and translate into a real TAB. -+ */ -+ static char_u * -+ menu_translate_tab_and_shift(arg_start) -+ char_u *arg_start; -+ { -+ char_u *arg = arg_start; -+ -+ while (*arg && !vim_iswhite(*arg)) -+ { -+ if ((*arg == '\\' || *arg == Ctrl_V) && arg[1] != NUL) -+ arg++; -+ else if (STRNICMP(arg, "", 5) == 0) -+ { -+ *arg = TAB; -+ STRMOVE(arg + 1, arg + 5); -+ } -+ arg++; -+ } -+ if (*arg != NUL) -+ *arg++ = NUL; -+ arg = skipwhite(arg); -+ -+ return arg; -+ } -+ - #endif /* FEAT_MENU */ -*** ../vim-7.2.431/src/structs.h 2009-09-18 17:24:54.000000000 +0200 ---- src/structs.h 2010-05-14 22:21:50.000000000 +0200 -*************** -*** 232,238 **** - { - wininfo_T *wi_next; /* next entry or NULL for last entry */ - wininfo_T *wi_prev; /* previous entry or NULL for first entry */ -! win_T *wi_win; /* pointer to window that did set wi_lnum */ - pos_T wi_fpos; /* last cursor position in the file */ - int wi_optset; /* TRUE when wi_opt has useful values */ - winopt_T wi_opt; /* local window options */ ---- 232,238 ---- - { - wininfo_T *wi_next; /* next entry or NULL for last entry */ - wininfo_T *wi_prev; /* previous entry or NULL for first entry */ -! win_T *wi_win; /* pointer to window that did set wi_fpos */ - pos_T wi_fpos; /* last cursor position in the file */ - int wi_optset; /* TRUE when wi_opt has useful values */ - winopt_T wi_opt; /* local window options */ -*************** -*** 2207,2214 **** - { - int modes; /* Which modes is this menu visible for? */ - int enabled; /* for which modes the menu is enabled */ -! char_u *name; /* Name of menu */ -! char_u *dname; /* Displayed Name (without '&') */ - int mnemonic; /* mnemonic key (after '&') */ - char_u *actext; /* accelerator text (after TAB) */ - int priority; /* Menu order priority */ ---- 2207,2220 ---- - { - int modes; /* Which modes is this menu visible for? */ - int enabled; /* for which modes the menu is enabled */ -! char_u *name; /* Name of menu, possibly translated */ -! char_u *dname; /* Displayed Name ("name" without '&') */ -! #ifdef FEAT_MULTI_LANG -! char_u *en_name; /* "name" untranslated, NULL when "name" -! * was not translated */ -! char_u *en_dname; /* "dname" untranslated, NULL when "dname" -! * was not translated */ -! #endif - int mnemonic; /* mnemonic key (after '&') */ - char_u *actext; /* accelerator text (after TAB) */ - int priority; /* Menu order priority */ -*** ../vim-7.2.431/src/version.c 2010-05-14 21:19:16.000000000 +0200 ---- src/version.c 2010-05-14 22:19:39.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 432, - /**/ - --- -It is hard to understand how a cemetery raised its burial -cost and blamed it on the cost of living. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.433 --- a/components/vim/vim72-patches/7.2.433 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,208 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.433 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.433 -Problem: Can't use cscope with QuickFixCmdPre and QuickFixCmdPost. -Solution: Add cscope support for these autocmd events. (Bryan Venteicher) -Files: runtime/doc/autocmd.txt, src/if_cscope.c - - -*** ../vim-7.2.432/runtime/doc/autocmd.txt 2009-06-24 17:51:01.000000000 +0200 ---- runtime/doc/autocmd.txt 2010-05-14 22:48:43.000000000 +0200 -*************** -*** 678,687 **** - QuickFixCmdPre Before a quickfix command is run (|:make|, - |:lmake|, |:grep|, |:lgrep|, |:grepadd|, - |:lgrepadd|, |:vimgrep|, |:lvimgrep|, -! |:vimgrepadd|, |:lvimgrepadd|). The pattern is -! matched against the command being run. When -! |:grep| is used but 'grepprg' is set to -! "internal" it still matches "grep". - This command cannot be used to set the - 'makeprg' and 'grepprg' variables. - If this command causes an error, the quickfix ---- 678,687 ---- - QuickFixCmdPre Before a quickfix command is run (|:make|, - |:lmake|, |:grep|, |:lgrep|, |:grepadd|, - |:lgrepadd|, |:vimgrep|, |:lvimgrep|, -! |:vimgrepadd|, |:lvimgrepadd|, |:cscope|). -! The pattern is matched against the command -! being run. When |:grep| is used but 'grepprg' -! is set to "internal" it still matches "grep". - This command cannot be used to set the - 'makeprg' and 'grepprg' variables. - If this command causes an error, the quickfix -*** ../vim-7.2.432/src/if_cscope.c 2010-02-24 14:46:58.000000000 +0100 ---- src/if_cscope.c 2010-05-14 23:10:39.000000000 +0200 -*************** -*** 1113,1118 **** ---- 1113,1182 ---- - #ifdef FEAT_QUICKFIX - char cmdletter; - char *qfpos; -+ -+ /* get cmd letter */ -+ switch (opt[0]) -+ { -+ case '0' : -+ cmdletter = 's'; -+ break; -+ case '1' : -+ cmdletter = 'g'; -+ break; -+ case '2' : -+ cmdletter = 'd'; -+ break; -+ case '3' : -+ cmdletter = 'c'; -+ break; -+ case '4' : -+ cmdletter = 't'; -+ break; -+ case '6' : -+ cmdletter = 'e'; -+ break; -+ case '7' : -+ cmdletter = 'f'; -+ break; -+ case '8' : -+ cmdletter = 'i'; -+ break; -+ default : -+ cmdletter = opt[0]; -+ } -+ -+ qfpos = (char *)vim_strchr(p_csqf, cmdletter); -+ if (qfpos != NULL) -+ { -+ qfpos++; -+ /* next symbol must be + or - */ -+ if (strchr(CSQF_FLAGS, *qfpos) == NULL) -+ { -+ char *nf = _("E469: invalid cscopequickfix flag %c for %c"); -+ char *buf = (char *)alloc((unsigned)strlen(nf)); -+ -+ /* strlen will be enough because we use chars */ -+ if (buf != NULL) -+ { -+ sprintf(buf, nf, *qfpos, *(qfpos-1)); -+ (void)EMSG(buf); -+ vim_free(buf); -+ } -+ return FALSE; -+ } -+ -+ # ifdef FEAT_AUTOCMD -+ if (*qfpos != '0') -+ { -+ apply_autocmds(EVENT_QUICKFIXCMDPRE, (char_u *)"cscope", -+ curbuf->b_fname, TRUE, curbuf); -+ # ifdef FEAT_EVAL -+ if (did_throw || force_abort) -+ return FALSE; -+ # endif -+ } -+ # endif -+ } - #endif - - /* create the actual command to send to cscope */ -*************** -*** 1174,1231 **** - } - - #ifdef FEAT_QUICKFIX -- /* get cmd letter */ -- switch (opt[0]) -- { -- case '0' : -- cmdletter = 's'; -- break; -- case '1' : -- cmdletter = 'g'; -- break; -- case '2' : -- cmdletter = 'd'; -- break; -- case '3' : -- cmdletter = 'c'; -- break; -- case '4' : -- cmdletter = 't'; -- break; -- case '6' : -- cmdletter = 'e'; -- break; -- case '7' : -- cmdletter = 'f'; -- break; -- case '8' : -- cmdletter = 'i'; -- break; -- default : -- cmdletter = opt[0]; -- } -- -- qfpos = (char *)vim_strchr(p_csqf, cmdletter); -- if (qfpos != NULL) -- { -- qfpos++; -- /* next symbol must be + or - */ -- if (strchr(CSQF_FLAGS, *qfpos) == NULL) -- { -- char *nf = _("E469: invalid cscopequickfix flag %c for %c"); -- char *buf = (char *)alloc((unsigned)strlen(nf)); -- -- /* strlen will be enough because we use chars */ -- if (buf != NULL) -- { -- sprintf(buf, nf, *qfpos, *(qfpos-1)); -- (void)EMSG(buf); -- vim_free(buf); -- } -- vim_free(nummatches); -- return FALSE; -- } -- } - if (qfpos != NULL && *qfpos != '0' && totmatches > 0) - { - /* fill error list */ ---- 1238,1243 ---- -*************** -*** 1258,1263 **** ---- 1270,1280 ---- - postponed_split = 0; - } - # endif -+ -+ # ifdef FEAT_AUTOCMD -+ apply_autocmds(EVENT_QUICKFIXCMDPOST, (char_u *)"cscope", -+ curbuf->b_fname, TRUE, curbuf); -+ # endif - if (use_ll) - /* - * In the location list window, use the displayed location -*** ../vim-7.2.432/src/version.c 2010-05-14 22:24:31.000000000 +0200 ---- src/version.c 2010-05-14 23:13:27.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 433, - /**/ - --- -The 50-50-90 rule: Anytime you have a 50-50 chance of getting -something right, there's a 90% probability you'll get it wrong. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.434 --- a/components/vim/vim72-patches/7.2.434 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.434 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.434 (after 7.2.432) -Problem: Compilation fails without the multi-lang feature. -Solution: Add #ifdefs. (Johm Marriott) -Files: src/menu.c - - -*** ../vim-7.2.433/src/menu.c 2010-05-14 22:24:31.000000000 +0200 ---- src/menu.c 2010-05-16 12:28:21.000000000 +0200 -*************** -*** 1340,1346 **** ---- 1340,1348 ---- - if (idx == 0) /* first call: start at first item */ - { - menu = expand_menu; -+ #ifdef FEAT_MULTI_LANG - should_advance = FALSE; -+ #endif - } - - /* Skip PopUp[nvoci]. */ -*************** -*** 1401,1407 **** ---- 1403,1411 ---- - if (idx == 0) /* first call: start at first item */ - { - menu = expand_menu; -+ #ifdef FEAT_MULTI_LANG - should_advance = FALSE; -+ #endif - } - - /* Skip Browse-style entries, popup menus and separators. */ -*************** -*** 1506,1515 **** ---- 1510,1521 ---- - char_u *name; - vimmenu_T *menu; - { -+ #ifdef FEAT_MULTI_LANG - if (menu->en_name != NULL - && (menu_namecmp(name,menu->en_name) - || menu_namecmp(name,menu->en_dname))) - return TRUE; -+ #endif - return menu_namecmp(name, menu->name) || menu_namecmp(name, menu->dname); - } - -*** ../vim-7.2.433/src/version.c 2010-05-14 23:14:37.000000000 +0200 ---- src/version.c 2010-05-16 12:29:40.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 434, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -43. You tell the kids they can't use the computer because "Daddy's got work to - do" and you don't even have a job. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.435 --- a/components/vim/vim72-patches/7.2.435 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.435 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.435 (after 7.2.430) -Problem: Crash when using bad_char_idx uninitialized. (Patrick Texier) -Solution: Don't use bad_char_idx, reproduce the ++bad argument from bad_char. -Files: src/eval.c, src/ex_cmds.h, src/ex_docmd.c - - -*** ../vim-7.2.434/src/eval.c 2010-05-14 20:41:00.000000000 +0200 ---- src/eval.c 2010-05-16 13:19:04.000000000 +0200 -*************** -*** 18309,18316 **** - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char_idx != 0) -! len += (unsigned)STRLEN(eap->cmd + eap->bad_char_idx) + 7; - # endif - - newval = alloc(len + 1); ---- 18309,18316 ---- - # ifdef FEAT_MBYTE - if (eap->force_enc != 0) - len += (unsigned)STRLEN(eap->cmd + eap->force_enc) + 7; -! if (eap->bad_char != 0) -! len += 7 + 4; /* " ++bad=" + "keep" or "drop" */ - # endif - - newval = alloc(len + 1); -*************** -*** 18334,18342 **** - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char_idx != 0) -! sprintf((char *)newval + STRLEN(newval), " ++bad=%s", -! eap->cmd + eap->bad_char_idx); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; ---- 18334,18345 ---- - if (eap->force_enc != 0) - sprintf((char *)newval + STRLEN(newval), " ++enc=%s", - eap->cmd + eap->force_enc); -! if (eap->bad_char == BAD_KEEP) -! STRCPY(newval + STRLEN(newval), " ++bad=keep"); -! else if (eap->bad_char == BAD_DROP) -! STRCPY(newval + STRLEN(newval), " ++bad=drop"); -! else if (eap->bad_char != 0) -! sprintf((char *)newval + STRLEN(newval), " ++bad=%c", eap->bad_char); - # endif - vimvars[VV_CMDARG].vv_str = newval; - return oldval; -*** ../vim-7.2.434/src/ex_cmds.h 2010-05-14 20:41:00.000000000 +0200 ---- src/ex_cmds.h 2010-05-16 13:03:53.000000000 +0200 -*************** -*** 1152,1159 **** - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char_idx; /* ++bad= argument (index in cmd[]) */ -! int bad_char; /* BAD_KEEP, BAD_DROP or replacement char */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ ---- 1152,1158 ---- - int force_ff; /* ++ff= argument (index in cmd[]) */ - #ifdef FEAT_MBYTE - int force_enc; /* ++enc= argument (index in cmd[]) */ -! int bad_char; /* BAD_KEEP, BAD_DROP or replacement byte */ - #endif - #ifdef FEAT_USR_CMDS - int useridx; /* user command index */ -*** ../vim-7.2.434/src/ex_docmd.c 2010-05-14 20:41:00.000000000 +0200 ---- src/ex_docmd.c 2010-05-16 13:13:30.000000000 +0200 -*************** -*** 4688,4693 **** ---- 4688,4694 ---- - char_u *arg = eap->arg + 2; - int *pp = NULL; - #ifdef FEAT_MBYTE -+ int bad_char_idx; - char_u *p; - #endif - -*************** -*** 4739,4745 **** - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &eap->bad_char_idx; - } - #endif - ---- 4740,4746 ---- - else if (STRNCMP(arg, "bad", 3) == 0) - { - arg += 3; -! pp = &bad_char_idx; - } - #endif - -*************** -*** 4770,4776 **** - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + eap->bad_char_idx; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) ---- 4771,4777 ---- - { - /* Check ++bad= argument. Must be a single-byte character, "keep" or - * "drop". */ -! p = eap->cmd + bad_char_idx; - if (STRICMP(p, "keep") == 0) - eap->bad_char = BAD_KEEP; - else if (STRICMP(p, "drop") == 0) -*** ../vim-7.2.434/src/version.c 2010-05-16 12:32:37.000000000 +0200 ---- src/version.c 2010-05-16 13:24:39.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 435, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -45. You buy a Captain Kirk chair with a built-in keyboard and mouse. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.436 --- a/components/vim/vim72-patches/7.2.436 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,107 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.436 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.436 -Problem: Reproducible crash in syntax HL. (George Reilly, Dominique Pelle) -Solution: Make sst_stacksize an int instead of short. (Dominique Pelle) -Files: src/structs.h - - -*** ../vim-7.2.435/src/structs.h 2010-05-14 22:24:31.000000000 +0200 ---- src/structs.h 2010-05-16 13:48:26.000000000 +0200 -*************** -*** 327,333 **** - typedef struct m_info minfo_T; - - /* -! * stucture used to link chunks in one of the free chunk lists. - */ - struct m_info - { ---- 327,333 ---- - typedef struct m_info minfo_T; - - /* -! * structure used to link chunks in one of the free chunk lists. - */ - struct m_info - { -*************** -*** 795,803 **** - garray_T sst_ga; /* growarray for long state stack */ - } sst_union; - int sst_next_flags; /* flags for sst_next_list */ - short *sst_next_list; /* "nextgroup" list in this state - * (this is a copy, don't free it! */ -- short sst_stacksize; /* number of states on the stack */ - disptick_T sst_tick; /* tick when last displayed */ - linenr_T sst_change_lnum;/* when non-zero, change in this line - * may have made the state invalid */ ---- 795,803 ---- - garray_T sst_ga; /* growarray for long state stack */ - } sst_union; - int sst_next_flags; /* flags for sst_next_list */ -+ int sst_stacksize; /* number of states on the stack */ - short *sst_next_list; /* "nextgroup" list in this state - * (this is a copy, don't free it! */ - disptick_T sst_tick; /* tick when last displayed */ - linenr_T sst_change_lnum;/* when non-zero, change in this line - * may have made the state invalid */ -*************** -*** 2138,2144 **** - #define SHAPE_IDX_CI 5 /* Command line Insert mode */ - #define SHAPE_IDX_CR 6 /* Command line Replace mode */ - #define SHAPE_IDX_O 7 /* Operator-pending mode */ -! #define SHAPE_IDX_VE 8 /* Visual mode with 'seleciton' exclusive */ - #define SHAPE_IDX_CLINE 9 /* On command line */ - #define SHAPE_IDX_STATUS 10 /* A status line */ - #define SHAPE_IDX_SDRAG 11 /* dragging a status line */ ---- 2138,2144 ---- - #define SHAPE_IDX_CI 5 /* Command line Insert mode */ - #define SHAPE_IDX_CR 6 /* Command line Replace mode */ - #define SHAPE_IDX_O 7 /* Operator-pending mode */ -! #define SHAPE_IDX_VE 8 /* Visual mode with 'selection' exclusive */ - #define SHAPE_IDX_CLINE 9 /* On command line */ - #define SHAPE_IDX_STATUS 10 /* A status line */ - #define SHAPE_IDX_SDRAG 11 /* dragging a status line */ -*************** -*** 2267,2273 **** - /* short index; */ /* the item index within the father menu */ - short menu_id; /* the menu id to which this item belong */ - short submenu_id; /* the menu id of the children (could be -! get throught some tricks) */ - MenuHandle menu_handle; - MenuHandle submenu_handle; - #endif ---- 2267,2273 ---- - /* short index; */ /* the item index within the father menu */ - short menu_id; /* the menu id to which this item belong */ - short submenu_id; /* the menu id of the children (could be -! get through some tricks) */ - MenuHandle menu_handle; - MenuHandle submenu_handle; - #endif -*** ../vim-7.2.435/src/version.c 2010-05-16 13:26:19.000000000 +0200 ---- src/version.c 2010-05-16 13:54:30.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 436, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -47. You are so familiar with the WWW that you find the search engines useless. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.437 --- a/components/vim/vim72-patches/7.2.437 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.437 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.437 (after 7.2.407) -Problem: When "\\\n" appears in the expression result the \n doesn't result - in a line break. (Andy Wokula) -Solution: Also replace a \n after a backslash into \r. -Files: src/regexp.c - - -*** ../vim-7.2.436/src/regexp.c 2010-03-23 16:27:15.000000000 +0100 ---- src/regexp.c 2010-05-21 13:06:00.000000000 +0200 -*************** -*** 6974,6979 **** ---- 6974,6986 ---- - else if (*s == '\\' && s[1] != NUL) - { - ++s; -+ /* Change NL to CR here too, so that this works: -+ * :s/abc\\\ndef/\="aaa\\\nbbb"/ on text: -+ * abc\ -+ * def -+ */ -+ if (*s == NL) -+ *s = CAR; - had_backslash = TRUE; - } - } -*** ../vim-7.2.436/src/version.c 2010-05-16 13:56:01.000000000 +0200 ---- src/version.c 2010-05-21 13:07:50.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 437, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -89. In addition to your e-mail address being on your business - cards you even have your own domain. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.438 --- a/components/vim/vim72-patches/7.2.438 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.438 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.438 (after 7.2.427) -Problem: "vim -r" crashes. -Solution: Don't use NULL pointer argument. -Files: src/memline.c - - -*** ../vim-7.2.437/src/memline.c 2010-05-14 17:52:35.000000000 +0200 ---- src/memline.c 2010-05-25 21:36:01.000000000 +0200 -*************** -*** 1404,1418 **** - int i; - char_u *dirp; - char_u *dir_name; -! char_u *fname_res = *fname; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; - - /* Expand symlink in the file name, because the swap file is created with - * the actual file instead of with the symlink. */ - if (resolve_symlink(*fname, fname_buf) == OK) - fname_res = fname_buf; - #endif - - if (list) - { ---- 1404,1425 ---- - int i; - char_u *dirp; - char_u *dir_name; -! char_u *fname_res = NULL; - #ifdef HAVE_READLINK - char_u fname_buf[MAXPATHL]; -+ #endif - -+ if (fname != NULL) -+ { -+ #ifdef HAVE_READLINK - /* Expand symlink in the file name, because the swap file is created with - * the actual file instead of with the symlink. */ - if (resolve_symlink(*fname, fname_buf) == OK) - fname_res = fname_buf; -+ else - #endif -+ fname_res = *fname; -+ } - - if (list) - { -*** ../vim-7.2.437/src/version.c 2010-05-21 13:08:51.000000000 +0200 ---- src/version.c 2010-05-25 21:30:12.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 438, - /**/ - --- -A fool learns from his mistakes, a wise man from someone else's. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.439 --- a/components/vim/vim72-patches/7.2.439 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.439 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.439 -Problem: Invalid memory access when doing thesaurus completion and - 'infercase' is set. -Solution: Use the minimal length of completed word and replacement. - (Dominique Pelle) -Files: src/edit.c - - -*** ../vim-7.2.438/src/edit.c 2010-03-10 14:15:28.000000000 +0100 ---- src/edit.c 2010-05-28 21:20:29.000000000 +0200 -*************** -*** 2164,2169 **** ---- 2164,2170 ---- - int i, c; - int actual_len; /* Take multi-byte characters */ - int actual_compl_length; /* into account. */ -+ int min_len; - int *wca; /* Wide character array. */ - int has_lower = FALSE; - int was_letter = FALSE; -*************** -*** 2204,2209 **** ---- 2205,2215 ---- - #endif - actual_compl_length = compl_length; - -+ /* "actual_len" may be smaller than "actual_compl_length" when using -+ * thesaurus, only use the minimum when comparing. */ -+ min_len = actual_len < actual_compl_length -+ ? actual_len : actual_compl_length; -+ - /* Allocate wide character array for the completion and fill it. */ - wca = (int *)alloc((unsigned)(actual_len * sizeof(int))); - if (wca != NULL) -*************** -*** 2219,2225 **** - - /* Rule 1: Were any chars converted to lower? */ - p = compl_orig_text; -! for (i = 0; i < actual_compl_length; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) ---- 2225,2231 ---- - - /* Rule 1: Were any chars converted to lower? */ - p = compl_orig_text; -! for (i = 0; i < min_len; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) -*************** -*** 2247,2253 **** - if (!has_lower) - { - p = compl_orig_text; -! for (i = 0; i < actual_compl_length; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) ---- 2253,2259 ---- - if (!has_lower) - { - p = compl_orig_text; -! for (i = 0; i < min_len; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) -*************** -*** 2268,2274 **** - - /* Copy the original case of the part we typed. */ - p = compl_orig_text; -! for (i = 0; i < actual_compl_length; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) ---- 2274,2280 ---- - - /* Copy the original case of the part we typed. */ - p = compl_orig_text; -! for (i = 0; i < min_len; ++i) - { - #ifdef FEAT_MBYTE - if (has_mbyte) -*** ../vim-7.2.438/src/version.c 2010-05-25 21:37:12.000000000 +0200 ---- src/version.c 2010-05-28 21:30:53.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 439, - /**/ - --- -Corduroy pillows: They're making headlines! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.440 --- a/components/vim/vim72-patches/7.2.440 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,180 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.440 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.440 -Problem: Calling a function through a funcref, where the function deletes - the funcref, leads to an invalid memory access. -Solution: Make a copy of the function name. (Lech Lorens) -Files: src/eval.c, src/testdir/test34.in, src/testdir/test34.ok - - -*** ../vim-7.2.439/src/eval.c 2010-05-16 13:26:19.000000000 +0200 ---- src/eval.c 2010-05-28 22:01:07.000000000 +0200 -*************** -*** 464,470 **** - static int find_internal_func __ARGS((char_u *name)); - static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); - static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); -! static int call_func __ARGS((char_u *name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static void emsg_funcname __ARGS((char *ermsg, char_u *name)); - static int non_zero_arg __ARGS((typval_T *argvars)); - ---- 464,470 ---- - static int find_internal_func __ARGS((char_u *name)); - static char_u *deref_func_name __ARGS((char_u *name, int *lenp)); - static int get_func_tv __ARGS((char_u *name, int len, typval_T *rettv, char_u **arg, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); -! static int call_func __ARGS((char_u *func_name, int len, typval_T *rettv, int argcount, typval_T *argvars, linenr_T firstline, linenr_T lastline, int *doesrange, int evaluate, dict_T *selfdict)); - static void emsg_funcname __ARGS((char *ermsg, char_u *name)); - static int non_zero_arg __ARGS((typval_T *argvars)); - -*************** -*** 7997,8005 **** - * Also returns OK when an error was encountered while executing the function. - */ - static int -! call_func(name, len, rettv, argcount, argvars, firstline, lastline, - doesrange, evaluate, selfdict) -! char_u *name; /* name of the function */ - int len; /* length of "name" */ - typval_T *rettv; /* return value goes here */ - int argcount; /* number of "argvars" */ ---- 7997,8005 ---- - * Also returns OK when an error was encountered while executing the function. - */ - static int -! call_func(func_name, len, rettv, argcount, argvars, firstline, lastline, - doesrange, evaluate, selfdict) -! char_u *func_name; /* name of the function */ - int len; /* length of "name" */ - typval_T *rettv; /* return value goes here */ - int argcount; /* number of "argvars" */ -*************** -*** 8023,8040 **** - int i; - int llen; - ufunc_T *fp; -- int cc; - #define FLEN_FIXED 40 - char_u fname_buf[FLEN_FIXED + 1]; - char_u *fname; - - /* - * In a script change name() and s:name() to K_SNR 123_name(). - * Change 123_name() to K_SNR 123_name(). - * Use fname_buf[] when it fits, otherwise allocate memory (slow). - */ -- cc = name[len]; -- name[len] = NUL; - llen = eval_fname_script(name); - if (llen > 0) - { ---- 8023,8044 ---- - int i; - int llen; - ufunc_T *fp; - #define FLEN_FIXED 40 - char_u fname_buf[FLEN_FIXED + 1]; - char_u *fname; -+ char_u *name; -+ -+ /* Make a copy of the name, if it comes from a funcref variable it could -+ * be changed or deleted in the called function. */ -+ name = vim_strnsave(func_name, len); -+ if (name == NULL) -+ return ret; - - /* - * In a script change name() and s:name() to K_SNR 123_name(). - * Change 123_name() to K_SNR 123_name(). - * Use fname_buf[] when it fits, otherwise allocate memory (slow). - */ - llen = eval_fname_script(name); - if (llen > 0) - { -*************** -*** 8205,8213 **** - } - } - -- name[len] = cc; - if (fname != name && fname != fname_buf) - vim_free(fname); - - return ret; - } ---- 8209,8217 ---- - } - } - - if (fname != name && fname != fname_buf) - vim_free(fname); -+ vim_free(name); - - return ret; - } -*** ../vim-7.2.439/src/testdir/test34.in 2007-09-25 17:59:15.000000000 +0200 ---- src/testdir/test34.in 2010-05-28 21:54:36.000000000 +0200 -*************** -*** 35,40 **** ---- 35,45 ---- - : let g:counter = 0 - : return '' - :endfunc -+ :func FuncWithRef(a) -+ : unlet g:FuncRef -+ : return a:a -+ :endfunc -+ :let g:FuncRef=function("FuncWithRef") - :let counter = 0 - :inoremap ( ListItem() - :inoremap [ ListReset() -*************** -*** 47,52 **** ---- 52,58 ---- - =retval - =Compute(45, 5, "retval") - =retval -+ =g:FuncRef(333) - - XX+-XX - ---*--- -*** ../vim-7.2.439/src/testdir/test34.ok 2006-04-30 20:49:40.000000000 +0200 ---- src/testdir/test34.ok 2010-05-28 21:56:03.000000000 +0200 -*************** -*** 1,4 **** -! xxx4asdf fail nop ok 9 - XX111XX - ---222--- - 1. one ---- 1,4 ---- -! xxx4asdf fail nop ok 9 333 - XX111XX - ---222--- - 1. one -*** ../vim-7.2.439/src/version.c 2010-05-28 21:31:51.000000000 +0200 ---- src/version.c 2010-05-28 22:03:30.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 440, - /**/ - --- -Nobody will ever need more than 640 kB RAM. - -- Bill Gates, 1983 -Windows 98 requires 16 MB RAM. - -- Bill Gates, 1999 -Logical conclusion: Nobody will ever need Windows 98. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.441 --- a/components/vim/vim72-patches/7.2.441 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,141 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.441 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.441 -Problem: When using ":earlier" undo information may be wrong. -Solution: When changing alternate branches also adjust b_u_oldhead. -Files: src/undo.c - - -*** ../vim-7.2.440/src/undo.c 2008-02-13 15:21:29.000000000 +0100 ---- src/undo.c 2010-05-30 16:52:47.000000000 +0200 -*************** -*** 242,248 **** - } - - /* -! * save the line "lnum" (used by ":s" and "~" command) - * The line is replaced, so the new bottom line is lnum + 1. - */ - int ---- 242,248 ---- - } - - /* -! * Save the line "lnum" (used by ":s" and "~" command). - * The line is replaced, so the new bottom line is lnum + 1. - */ - int -*************** -*** 256,262 **** - } - - /* -! * a new line is inserted before line "lnum" (used by :s command) - * The line is inserted, so the new bottom line is lnum + 1. - */ - int ---- 256,262 ---- - } - - /* -! * A new line is inserted before line "lnum" (used by :s command). - * The line is inserted, so the new bottom line is lnum + 1. - */ - int -*************** -*** 270,276 **** - } - - /* -! * save the lines "lnum" - "lnum" + nlines (used by delete command) - * The lines are deleted, so the new bottom line is lnum, unless the buffer - * becomes empty. - */ ---- 270,276 ---- - } - - /* -! * Save the lines "lnum" - "lnum" + nlines (used by delete command). - * The lines are deleted, so the new bottom line is lnum, unless the buffer - * becomes empty. - */ -*************** -*** 996,1001 **** ---- 996,1003 ---- - last->uh_alt_next = uhp; - uhp->uh_alt_prev = last; - -+ if (curbuf->b_u_oldhead == uhp) -+ curbuf->b_u_oldhead = last; - uhp = last; - if (uhp->uh_next != NULL) - uhp->uh_next->uh_prev = uhp; -*************** -*** 1406,1415 **** - /* - * ":undolist": List the leafs of the undo tree - */ -- /*ARGSUSED*/ - void - ex_undolist(eap) -! exarg_T *eap; - { - garray_T ga; - u_header_T *uhp; ---- 1408,1416 ---- - /* - * ":undolist": List the leafs of the undo tree - */ - void - ex_undolist(eap) -! exarg_T *eap UNUSED; - { - garray_T ga; - u_header_T *uhp; -*************** -*** 1529,1538 **** - /* - * ":undojoin": continue adding to the last entry list - */ -- /*ARGSUSED*/ - void - ex_undojoin(eap) -! exarg_T *eap; - { - if (curbuf->b_u_newhead == NULL) - return; /* nothing changed before */ ---- 1530,1538 ---- - /* - * ":undojoin": continue adding to the last entry list - */ - void - ex_undojoin(eap) -! exarg_T *eap UNUSED; - { - if (curbuf->b_u_newhead == NULL) - return; /* nothing changed before */ -*** ../vim-7.2.440/src/version.c 2010-05-28 22:06:41.000000000 +0200 ---- src/version.c 2010-05-30 16:53:56.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 441, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -127. You bring your laptop and cellular phone to church. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.442 --- a/components/vim/vim72-patches/7.2.442 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,256 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.442 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.442 (after 7.2.201) -Problem: Copy/paste with OpenOffice doesn't work. -Solution: Do not offer the HTML target when it is not supported. (James - Vega) -Files: src/gui_gtk_x11.c, src/option.c, src/proto/gui_gtk_x11.pro - - -*** ../vim-7.2.441/src/gui_gtk_x11.c 2010-02-11 18:19:32.000000000 +0100 ---- src/gui_gtk_x11.c 2010-06-05 12:42:23.000000000 +0200 -*************** -*** 1433,1438 **** ---- 1433,1442 ---- - } - #endif /* !HAVE_GTK2 */ - -+ /* Chop off any traiing NUL bytes. OpenOffice sends these. */ -+ while (len > 0 && text[len - 1] == NUL) -+ --len; -+ - clip_yank_selection(motion_type, text, (long)len, cbd); - received_selection = RS_OK; - vim_free(tmpbuf); -*************** -*** 3463,3468 **** ---- 3467,3532 ---- - #endif /* FEAT_GUI_TABLINE */ - - /* -+ * Add selection targets for PRIMARY and CLIPBOARD selections. -+ */ -+ void -+ gui_gtk_set_selection_targets(void) -+ { -+ int i, j = 0; -+ int n_targets = N_SELECTION_TARGETS; -+ GtkTargetEntry targets[N_SELECTION_TARGETS]; -+ -+ for (i = 0; i < (int)N_SELECTION_TARGETS; ++i) -+ { -+ #ifdef FEAT_MBYTE -+ /* OpenOffice tries to use TARGET_HTML and fails when it doesn't -+ * return something, instead of trying another target. Therefore only -+ * offer TARGET_HTML when it works. */ -+ if (!clip_html && selection_targets[i].info == TARGET_HTML) -+ n_targets--; -+ else -+ #endif -+ targets[j++] = selection_targets[i]; -+ } -+ -+ gtk_selection_clear_targets(gui.drawarea, (GdkAtom)GDK_SELECTION_PRIMARY); -+ gtk_selection_clear_targets(gui.drawarea, (GdkAtom)clip_plus.gtk_sel_atom); -+ gtk_selection_add_targets(gui.drawarea, -+ (GdkAtom)GDK_SELECTION_PRIMARY, -+ targets, n_targets); -+ gtk_selection_add_targets(gui.drawarea, -+ (GdkAtom)clip_plus.gtk_sel_atom, -+ targets, n_targets); -+ } -+ -+ /* -+ * Set up for receiving DND items. -+ */ -+ void -+ gui_gtk_set_dnd_targets(void) -+ { -+ int i, j = 0; -+ int n_targets = N_DND_TARGETS; -+ GtkTargetEntry targets[N_DND_TARGETS]; -+ -+ for (i = 0; i < (int)N_DND_TARGETS; ++i) -+ { -+ #ifdef FEAT_MBYTE -+ if (!clip_html && selection_targets[i].info == TARGET_HTML) -+ n_targets--; -+ else -+ #endif -+ targets[j++] = dnd_targets[i]; -+ } -+ -+ gtk_drag_dest_unset(gui.drawarea); -+ gtk_drag_dest_set(gui.drawarea, -+ GTK_DEST_DEFAULT_ALL, -+ targets, n_targets, -+ GDK_ACTION_COPY); -+ } -+ -+ /* - * Initialize the GUI. Create all the windows, set up all the callbacks etc. - * Returns OK for success, FAIL when the GUI can't be started. - */ -*************** -*** 3925,3939 **** - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_received", - GTK_SIGNAL_FUNC(selection_received_cb), NULL); - -! /* -! * Add selection targets for PRIMARY and CLIPBOARD selections. -! */ -! gtk_selection_add_targets(gui.drawarea, -! (GdkAtom)GDK_SELECTION_PRIMARY, -! selection_targets, N_SELECTION_TARGETS); -! gtk_selection_add_targets(gui.drawarea, -! (GdkAtom)clip_plus.gtk_sel_atom, -! selection_targets, N_SELECTION_TARGETS); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_get", - GTK_SIGNAL_FUNC(selection_get_cb), NULL); ---- 3989,3995 ---- - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_received", - GTK_SIGNAL_FUNC(selection_received_cb), NULL); - -! gui_gtk_set_selection_targets(); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "selection_get", - GTK_SIGNAL_FUNC(selection_get_cb), NULL); -*************** -*** 4057,4063 **** - return TRUE; - } - -- - /* - * Open the GUI window which was created by a call to gui_mch_init(). - */ ---- 4113,4118 ---- -*************** -*** 4225,4237 **** - GTK_SIGNAL_FUNC(form_configure_event), NULL); - - #ifdef FEAT_DND -! /* -! * Set up for receiving DND items. -! */ -! gtk_drag_dest_set(gui.drawarea, -! GTK_DEST_DEFAULT_ALL, -! dnd_targets, N_DND_TARGETS, -! GDK_ACTION_COPY); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "drag_data_received", - GTK_SIGNAL_FUNC(drag_data_received_cb), NULL); ---- 4280,4287 ---- - GTK_SIGNAL_FUNC(form_configure_event), NULL); - - #ifdef FEAT_DND -! /* Set up for receiving DND items. */ -! gui_gtk_set_dnd_targets(); - - gtk_signal_connect(GTK_OBJECT(gui.drawarea), "drag_data_received", - GTK_SIGNAL_FUNC(drag_data_received_cb), NULL); -*************** -*** 4428,4434 **** - /* this will cause the proper resizement to happen too */ - update_window_manager_hints(0, 0); - -! #else /* HAVE_GTK2 */ - /* this will cause the proper resizement to happen too */ - if (gtk_socket_id == 0) - update_window_manager_hints(0, 0); ---- 4478,4484 ---- - /* this will cause the proper resizement to happen too */ - update_window_manager_hints(0, 0); - -! #else - /* this will cause the proper resizement to happen too */ - if (gtk_socket_id == 0) - update_window_manager_hints(0, 0); -*************** -*** 4444,4457 **** - else - update_window_manager_hints(width, height); - -! #if 0 - if (!resize_idle_installed) - { - g_idle_add_full(GDK_PRIORITY_EVENTS + 10, - &force_shell_resize_idle, NULL, NULL); - resize_idle_installed = TRUE; - } -! #endif - /* - * Wait until all events are processed to prevent a crash because the - * real size of the drawing area doesn't reflect Vim's internal ideas. ---- 4494,4507 ---- - else - update_window_manager_hints(width, height); - -! # if 0 - if (!resize_idle_installed) - { - g_idle_add_full(GDK_PRIORITY_EVENTS + 10, - &force_shell_resize_idle, NULL, NULL); - resize_idle_installed = TRUE; - } -! # endif - /* - * Wait until all events are processed to prevent a crash because the - * real size of the drawing area doesn't reflect Vim's internal ideas. -*** ../vim-7.2.441/src/option.c 2010-05-14 17:32:53.000000000 +0200 ---- src/option.c 2010-06-05 12:19:38.000000000 +0200 -*************** -*** 7112,7117 **** ---- 7112,7124 ---- - clip_html = new_html; - vim_free(clip_exclude_prog); - clip_exclude_prog = new_exclude_prog; -+ #ifdef FEAT_GUI_GTK -+ if (gui.in_use) -+ { -+ gui_gtk_set_selection_targets(); -+ gui_gtk_set_dnd_targets(); -+ } -+ #endif - } - else - vim_free(new_exclude_prog); -*** ../vim-7.2.441/src/proto/gui_gtk_x11.pro 2009-09-23 18:14:13.000000000 +0200 ---- src/proto/gui_gtk_x11.pro 2010-06-05 12:31:22.000000000 +0200 -*************** -*** 9,14 **** ---- 9,16 ---- - int gui_mch_showing_tabline __ARGS((void)); - void gui_mch_update_tabline __ARGS((void)); - void gui_mch_set_curtab __ARGS((int nr)); -+ void gui_gtk_set_selection_targets __ARGS((void)); -+ void gui_gtk_set_dnd_targets __ARGS((void)); - int gui_mch_init __ARGS((void)); - void gui_mch_forked __ARGS((void)); - void gui_mch_new_colors __ARGS((void)); -*** ../vim-7.2.441/src/version.c 2010-05-30 16:55:17.000000000 +0200 ---- src/version.c 2010-06-05 12:48:01.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 442, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -158. You get a tuner card so you can watch TV while surfing. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.443 --- a/components/vim/vim72-patches/7.2.443 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,116 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.443 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.443 -Problem: Using taglist() on a tag file with duplicate fields generates an - internal error. (Peter Odding) -Solution: Check for duplicate field names. -Files: src/eval.c, src/proto/eval.pro, src/tag.c - - -*** ../vim-7.2.442/src/eval.c 2010-05-28 22:06:41.000000000 +0200 ---- src/eval.c 2010-06-12 19:59:09.000000000 +0200 -*************** -*** 451,457 **** - static void dictitem_remove __ARGS((dict_T *dict, dictitem_T *item)); - static dict_T *dict_copy __ARGS((dict_T *orig, int deep, int copyID)); - static long dict_len __ARGS((dict_T *d)); -- static dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); - static char_u *dict2string __ARGS((typval_T *tv, int copyID)); - static int get_dict_tv __ARGS((char_u **arg, typval_T *rettv, int evaluate)); - static char_u *echo_string __ARGS((typval_T *tv, char_u **tofree, char_u *numbuf, int copyID)); ---- 451,456 ---- -*************** -*** 7012,7018 **** - * If "len" is negative use strlen(key). - * Returns NULL when not found. - */ -! static dictitem_T * - dict_find(d, key, len) - dict_T *d; - char_u *key; ---- 7011,7017 ---- - * If "len" is negative use strlen(key). - * Returns NULL when not found. - */ -! dictitem_T * - dict_find(d, key, len) - dict_T *d; - char_u *key; -*** ../vim-7.2.442/src/proto/eval.pro 2010-01-19 15:51:29.000000000 +0100 ---- src/proto/eval.pro 2010-06-12 19:59:13.000000000 +0200 -*************** -*** 56,61 **** ---- 56,62 ---- - void dictitem_free __ARGS((dictitem_T *item)); - int dict_add __ARGS((dict_T *d, dictitem_T *item)); - int dict_add_nr_str __ARGS((dict_T *d, char *key, long nr, char_u *str)); -+ dictitem_T *dict_find __ARGS((dict_T *d, char_u *key, int len)); - char_u *get_dict_string __ARGS((dict_T *d, char_u *key, int save)); - long get_dict_number __ARGS((dict_T *d, char_u *key)); - char_u *get_function_name __ARGS((expand_T *xp, int idx)); -*** ../vim-7.2.442/src/tag.c 2010-02-24 14:46:58.000000000 +0100 ---- src/tag.c 2010-06-12 20:01:45.000000000 +0200 -*************** -*** 3771,3777 **** - static int add_tag_field __ARGS((dict_T *dict, char *field_name, char_u *start, char_u *end)); - - /* -! * Add a tag field to the dictionary "dict" - */ - static int - add_tag_field(dict, field_name, start, end) ---- 3771,3778 ---- - static int add_tag_field __ARGS((dict_T *dict, char *field_name, char_u *start, char_u *end)); - - /* -! * Add a tag field to the dictionary "dict". -! * Return OK or FAIL. - */ - static int - add_tag_field(dict, field_name, start, end) -*************** -*** 3783,3788 **** ---- 3784,3800 ---- - char_u buf[MAXPATHL]; - int len = 0; - -+ /* check that the field name doesn't exist yet */ -+ if (dict_find(dict, (char_u *)field_name, -1) != NULL) -+ { -+ if (p_verbose > 0) -+ { -+ verbose_enter(); -+ smsg((char_u *)_("Duplicate field name: %s"), field_name); -+ verbose_leave(); -+ } -+ return FAIL; -+ } - if (start != NULL) - { - if (end == NULL) -*** ../vim-7.2.442/src/version.c 2010-06-05 12:49:40.000000000 +0200 ---- src/version.c 2010-06-12 20:05:27.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 443, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -191. You rate eating establishments not by the quality of the food, - but by the availability of electrical outlets for your PowerBook. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- 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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.444 --- a/components/vim/vim72-patches/7.2.444 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.444 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.444 (after 7.2.442) -Problem: Can't build with GTK 1, gtk_selection_clear_targets() is not - available. (Patrick Texier) -Solution: Don't change the targets for GTK 1, set them once. -Files: src/gui_gtk_x11.c, src/option.c - - -*** ../vim-7.2.443/src/gui_gtk_x11.c 2010-06-05 12:49:40.000000000 +0200 ---- src/gui_gtk_x11.c 2010-06-13 02:26:24.000000000 +0200 -*************** -*** 3478,3484 **** - - for (i = 0; i < (int)N_SELECTION_TARGETS; ++i) - { -! #ifdef FEAT_MBYTE - /* OpenOffice tries to use TARGET_HTML and fails when it doesn't - * return something, instead of trying another target. Therefore only - * offer TARGET_HTML when it works. */ ---- 3478,3484 ---- - - for (i = 0; i < (int)N_SELECTION_TARGETS; ++i) - { -! #if defined(FEAT_MBYTE) && defined(HAVE_GTK2) - /* OpenOffice tries to use TARGET_HTML and fails when it doesn't - * return something, instead of trying another target. Therefore only - * offer TARGET_HTML when it works. */ -*************** -*** 3489,3496 **** ---- 3489,3498 ---- - targets[j++] = selection_targets[i]; - } - -+ #ifdef HAVE_GTK2 /* GTK 1 doesn't have this function */ - gtk_selection_clear_targets(gui.drawarea, (GdkAtom)GDK_SELECTION_PRIMARY); - gtk_selection_clear_targets(gui.drawarea, (GdkAtom)clip_plus.gtk_sel_atom); -+ #endif - gtk_selection_add_targets(gui.drawarea, - (GdkAtom)GDK_SELECTION_PRIMARY, - targets, n_targets); -*** ../vim-7.2.443/src/option.c 2010-06-05 12:49:40.000000000 +0200 ---- src/option.c 2010-06-13 02:27:36.000000000 +0200 -*************** -*** 7112,7118 **** - clip_html = new_html; - vim_free(clip_exclude_prog); - clip_exclude_prog = new_exclude_prog; -! #ifdef FEAT_GUI_GTK - if (gui.in_use) - { - gui_gtk_set_selection_targets(); ---- 7112,7118 ---- - clip_html = new_html; - vim_free(clip_exclude_prog); - clip_exclude_prog = new_exclude_prog; -! #ifdef HAVE_GTK2 /* for GTK 1 we can't change the list of targets */ - if (gui.in_use) - { - gui_gtk_set_selection_targets(); -*** ../vim-7.2.443/src/version.c 2010-06-12 20:11:53.000000000 +0200 ---- src/version.c 2010-06-13 02:29:18.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 444, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -195. Your cat has its own home page. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.445 --- a/components/vim/vim72-patches/7.2.445 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,261 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.445 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.445 -Problem: Crash when using undo/redo and a FileChangedRO autocmd event that - reloads the buffer. (Dominique Pelle) -Solution: Do not allow autocommands while performing and undo or redo. -Files: src/misc1.c, src/undo.c - - -*** ../vim-7.2.444/src/misc1.c 2010-03-23 18:22:40.000000000 +0100 ---- src/misc1.c 2010-07-07 18:18:52.000000000 +0200 -*************** -*** 2467,2476 **** - } - - /* -! * changed() is called when something in the current buffer is changed. - * - * Most often called through changed_bytes() and changed_lines(), which also - * mark the area of the display to be redrawn. - */ - void - changed() ---- 2467,2478 ---- - } - - /* -! * Call this function when something in the current buffer is changed. - * - * Most often called through changed_bytes() and changed_lines(), which also - * mark the area of the display to be redrawn. -+ * -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - changed() -*************** -*** 2536,2541 **** ---- 2538,2544 ---- - * - marks the windows on this buffer to be redisplayed - * - marks the buffer changed by calling changed() - * - invalidates cached values -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - changed_bytes(lnum, col) -*************** -*** 2649,2654 **** ---- 2652,2658 ---- - * below the changed lines (BEFORE the change). - * When only inserting lines, "lnum" and "lnume" are equal. - * Takes care of calling changed() and updating b_mod_*. -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - changed_lines(lnum, col, lnume, xtra) -*************** -*** 2716,2721 **** ---- 2720,2730 ---- - } - } - -+ /* -+ * Common code for when a change is was made. -+ * See changed_lines() for the arguments. -+ * Careful: may trigger autocommands that reload the buffer. -+ */ - static void - changed_common(lnum, col, lnume, xtra) - linenr_T lnum; -*************** -*** 2966,2971 **** ---- 2975,2981 ---- - * Don't use emsg(), because it flushes the macro buffer. - * If we have undone all changes b_changed will be FALSE, but "b_did_warn" - * will be TRUE. -+ * Careful: may trigger autocommands that reload the buffer. - */ - void - change_warning(col) -*** ../vim-7.2.444/src/undo.c 2010-05-30 16:55:17.000000000 +0200 ---- src/undo.c 2010-07-07 18:14:44.000000000 +0200 -*************** -*** 185,191 **** - } - } - -! void - u_check(int newhead_may_be_NULL) - { - seen_b_u_newhead = 0; ---- 185,191 ---- - } - } - -! static void - u_check(int newhead_may_be_NULL) - { - seen_b_u_newhead = 0; -*************** -*** 320,325 **** ---- 320,328 ---- - return TRUE; - } - -+ /* -+ * Common code for various ways to save text before a change. -+ */ - static int - u_savecommon(top, bot, newbot) - linenr_T top, bot; -*************** -*** 374,380 **** - size = bot - top - 1; - - /* -! * if curbuf->b_u_synced == TRUE make a new header - */ - if (curbuf->b_u_synced) - { ---- 377,383 ---- - size = bot - top - 1; - - /* -! * If curbuf->b_u_synced == TRUE make a new header. - */ - if (curbuf->b_u_synced) - { -*************** -*** 709,714 **** ---- 712,723 ---- - u_oldcount = -1; - while (count--) - { -+ /* Do the change warning now, so that it triggers FileChangedRO when -+ * needed. This may cause the file to be reloaded, that must happen -+ * before we do anything, because it may change curbuf->b_u_curhead -+ * and more. */ -+ change_warning(0); -+ - if (undo_undoes) - { - if (curbuf->b_u_curhead == NULL) /* first undo */ -*************** -*** 952,959 **** - /* - * First go up the tree as much as needed. - */ -! for (;;) - { - uhp = curbuf->b_u_curhead; - if (uhp == NULL) - uhp = curbuf->b_u_newhead; ---- 961,971 ---- - /* - * First go up the tree as much as needed. - */ -! while (!got_int) - { -+ /* Do the change warning now, for the same reason as above. */ -+ change_warning(0); -+ - uhp = curbuf->b_u_curhead; - if (uhp == NULL) - uhp = curbuf->b_u_newhead; -*************** -*** 970,978 **** - /* - * And now go down the tree (redo), branching off where needed. - */ -! uhp = curbuf->b_u_curhead; -! while (uhp != NULL) - { - /* Go back to the first branch with a mark. */ - while (uhp->uh_alt_prev != NULL - && uhp->uh_alt_prev->uh_walk == mark) ---- 982,996 ---- - /* - * And now go down the tree (redo), branching off where needed. - */ -! while (!got_int) - { -+ /* Do the change warning now, for the same reason as above. */ -+ change_warning(0); -+ -+ uhp = curbuf->b_u_curhead; -+ if (uhp == NULL) -+ break; -+ - /* Go back to the first branch with a mark. */ - while (uhp->uh_alt_prev != NULL - && uhp->uh_alt_prev->uh_walk == mark) -*************** -*** 1070,1075 **** ---- 1088,1099 ---- - int empty_buffer; /* buffer became empty */ - u_header_T *curhead = curbuf->b_u_curhead; - -+ #ifdef FEAT_AUTOCMD -+ /* Don't want autocommands using the undo structures here, they are -+ * invalid till the end. */ -+ block_autocmds(); -+ #endif -+ - #ifdef U_DEBUG - u_check(FALSE); - #endif -*************** -*** 1099,1104 **** ---- 1123,1131 ---- - if (top > curbuf->b_ml.ml_line_count || top >= bot - || bot > curbuf->b_ml.ml_line_count + 1) - { -+ #ifdef FEAT_AUTOCMD -+ unblock_autocmds(); -+ #endif - EMSG(_("E438: u_undo: line numbers wrong")); - changed(); /* don't want UNCHANGED now */ - return; -*************** -*** 1304,1309 **** ---- 1331,1340 ---- - /* The timestamp can be the same for multiple changes, just use the one of - * the undone/redone change. */ - curbuf->b_u_seq_time = curhead->uh_time; -+ -+ #ifdef FEAT_AUTOCMD -+ unblock_autocmds(); -+ #endif - #ifdef U_DEBUG - u_check(FALSE); - #endif -*** ../vim-7.2.444/src/version.c 2010-06-13 02:35:41.000000000 +0200 ---- src/version.c 2010-07-07 18:18:27.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 445, - /**/ - --- - A KNIGHT rides into shot and hacks him to the ground. He rides off. - We stay for a moment on the glade. A MIDDLE-AGED LADY in a C. & A. - twin-set emerges from the trees and looks in horror at the body of her - HUSBAND. -MRS HISTORIAN: FRANK! - "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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/7.2.446 --- a/components/vim/vim72-patches/7.2.446 Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.446 -Fcc: outbox -From: Bram Moolenaar -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.446 -Problem: Crash in GUI when closing the last window in a tabpage. (ryo7000) -Solution: Remove the tabpage from the list before freeing the window. -Files: src/window.c - - -*** ../vim-7.2.445/src/window.c 2010-03-17 16:54:51.000000000 +0100 ---- src/window.c 2010-07-11 13:18:31.000000000 +0200 -*************** -*** 2304,2309 **** ---- 2304,2310 ---- - win_T *wp; - int dir; - tabpage_T *ptp = NULL; -+ int free_tp = FALSE; - - /* Close the link to the buffer. */ - close_buffer(win, win->w_buffer, free_buf ? DOBUF_UNLOAD : 0); -*************** -*** 2321,2331 **** - if (wp == NULL) - return; - -- /* Free the memory used for the window. */ -- wp = win_free_mem(win, &dir, tp); -- - /* When closing the last window in a tab page remove the tab page. */ -! if (wp == NULL) - { - if (tp == first_tabpage) - first_tabpage = tp->tp_next; ---- 2322,2329 ---- - if (wp == NULL) - return; - - /* When closing the last window in a tab page remove the tab page. */ -! if (tp == NULL ? firstwin == lastwin : tp->tp_firstwin == tp->tp_lastwin) - { - if (tp == first_tabpage) - first_tabpage = tp->tp_next; -*************** -*** 2341,2348 **** - } - ptp->tp_next = tp->tp_next; - } -! free_tabpage(tp); - } - } - - /* ---- 2339,2352 ---- - } - ptp->tp_next = tp->tp_next; - } -! free_tp = TRUE; - } -+ -+ /* Free the memory used for the window. */ -+ win_free_mem(win, &dir, tp); -+ -+ if (free_tp) -+ free_tabpage(tp); - } - - /* -*** ../vim-7.2.445/src/version.c 2010-07-07 18:20:21.000000000 +0200 ---- src/version.c 2010-07-12 21:36:05.000000000 +0200 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 446, - /**/ - --- -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 -r f0b61ed1d10d -r c6a17bba1da3 components/vim/vim72-patches/runtime.patch --- a/components/vim/vim72-patches/runtime.patch Thu Jul 07 19:05:29 2011 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58169 +0,0 @@ -diff -Nur runtime/autoload/ccomplete.vim runtime/autoload/ccomplete.vim ---- runtime/autoload/ccomplete.vim 2007-08-30 02:15:32.000000000 -0700 -+++ runtime/autoload/ccomplete.vim 2011-01-18 10:40:55.368782092 -0800 -@@ -1,7 +1,7 @@ - " Vim completion script - " Language: C - " Maintainer: Bram Moolenaar --" Last Change: 2007 Aug 30 -+" Last Change: 2010 Mar 23 - - - " This function is used for the 'omnifunc' option. -@@ -161,7 +161,7 @@ - let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}] - else - " Completing "var.", "var.something", etc. -- let res = s:Nextitem(strpart(line, 0, col), items[-1], 0, 1) -+ let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1) - endif - endif - -diff -Nur runtime/autoload/getscript.vim runtime/autoload/getscript.vim ---- runtime/autoload/getscript.vim 2008-07-10 11:17:15.000000000 -0700 -+++ runtime/autoload/getscript.vim 2011-01-18 10:40:55.376846683 -0800 -@@ -1,8 +1,8 @@ - " --------------------------------------------------------------------- - " getscript.vim - " Author: Charles E. Campbell, Jr. --" Date: Jul 10, 2008 --" Version: 31 -+" Date: Dec 28, 2009 -+" Version: 32 - " Installing: :help glvs-install - " Usage: :help glvs - " -@@ -12,19 +12,24 @@ - " Initialization: {{{1 - " if you're sourcing this file, surely you can't be - " expecting vim to be in its vi-compatible mode! -+if exists("g:loaded_getscript") -+ finish -+endif -+let g:loaded_getscript= "v32" - if &cp - echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)" - finish - endif -+if v:version < 702 -+ echohl WarningMsg -+ echo "***warning*** this version of getscript needs vim 7.2" -+ echohl Normal -+ finish -+endif - let s:keepcpo = &cpo - set cpo&vim - "DechoTabOn - --if exists("g:loaded_getscript") -- finish --endif --let g:loaded_getscript= "v31" -- - " --------------------------- - " Global Variables: {{{1 - " --------------------------- -@@ -40,25 +45,6 @@ - let g:getscript_cygwin= 0 - endif - endif --" shell quoting character {{{2 --if exists("g:netrw_shq") && !exists("g:getscript_shq") -- let g:getscript_shq= g:netrw_shq --elseif !exists("g:getscript_shq") -- if exists("&shq") && &shq != "" -- let g:getscript_shq= &shq -- elseif exists("&sxq") && &sxq != "" -- let g:getscript_shq= &sxq -- elseif has("win32") || has("win95") || has("win64") || has("win16") -- if g:getscript_cygwin -- let g:getscript_shq= "'" -- else -- let g:getscript_shq= '"' -- endif -- else -- let g:getscript_shq= "'" -- endif --" call Decho("g:getscript_shq<".g:getscript_shq.">") --endif - - " wget vs curl {{{2 - if !exists("g:GetLatestVimScripts_wget") -@@ -112,7 +98,9 @@ - endif - endif - -- if exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim) -+ if exists("g:GetLatestVimScripts_autoinstalldir") && isdirectory(g:GetLatestVimScripts_autoinstalldir) -+ let s:autoinstall= g:GetLatestVimScripts_autoinstalldir" -+ elseif exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim) - let s:autoinstall= $HOME."/".s:dotvim - endif - " call Decho("s:autoinstall<".s:autoinstall.">") -@@ -165,7 +153,6 @@ - " call Dret("GetLatestVimScripts : unable to find a GetLatest subdirectory") - return - endif -- - if filewritable(datadir) != 2 - echoerr "(getLatestVimScripts) Your ".datadir." isn't writable" - " call Dret("GetLatestVimScripts : non-writable directory<".datadir.">") -@@ -182,21 +169,29 @@ - " call Dret("GetLatestVimScripts : non-writable datafile<".datafile.">") - return - endif -+ " -------------------- -+ " Passed sanity checks -+ " -------------------- -+ - " call Decho("datadir <".datadir.">") - " call Decho("datafile <".datafile.">") - -- " don't let any events interfere (like winmanager's, taglist's, etc) -- let eikeep= &ei -- let hlskeep= &hls -- set ei=all hls&vim -- -- " record current directory, change to datadir, open split window with -- " datafile -+ " don't let any event handlers interfere (like winmanager's, taglist's, etc) -+ let eikeep = &ei -+ let hlskeep = &hls -+ let acdkeep = &acd -+ set ei=all hls&vim noacd -+ -+ " Edit the datafile (ie. GetLatestVimScripts.dat): -+ " 1. record current directory (origdir), -+ " 2. change directory to datadir, -+ " 3. split window -+ " 4. edit datafile - let origdir= getcwd() - " call Decho("exe cd ".fnameescape(substitute(datadir,'\','/','ge'))) - exe "cd ".fnameescape(substitute(datadir,'\','/','ge')) - split --" call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge'))) -+" call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge'))) - exe "e ".fnameescape(substitute(datafile,'\','/','ge')) - res 1000 - let s:downloads = 0 -@@ -207,69 +202,68 @@ - " call Decho("searching plugins for GetLatestVimScripts dependencies") - let lastline = line("$") - " call Decho("lastline#".lastline) -- let plugins = split(globpath(&rtp,"plugin/*.vim"),'\n') -+ let firstdir = substitute(&rtp,',.*$','','') -+ let plugins = split(globpath(firstdir,"plugin/*.vim"),'\n') -+ let plugins = plugins + split(globpath(firstdir,"AsNeeded/*.vim"),'\n') - let foundscript = 0 -- let firstdir= "" - -+ " this loop updates the GetLatestVimScripts.dat file -+ " with dependencies explicitly mentioned in the plugins -+ " via GetLatestVimScripts: ... lines -+ " It reads the plugin script at the end of the GetLatestVimScripts.dat -+ " file, examines it, and then removes it. - for plugin in plugins -+" call Decho(" ") - " call Decho("plugin<".plugin.">") - -- " don't process plugins in system directories -- if firstdir == "" -- let firstdir= substitute(plugin,'[/\\][^/\\]\+$','','') --" call Decho("setting firstdir<".firstdir.">") -- else -- let curdir= substitute(plugin,'[/\\][^/\\]\+$','','') --" call Decho("curdir<".curdir.">") -- if curdir != firstdir --" call Decho("skipping subsequent plugins: curdir<".curdir."> != firstdir<".firstdir.">") -- break -- endif -- endif -- - " read plugin in - " evidently a :r creates a new buffer (the "#" buffer) that is subsequently unused -- bwiping it - $ --" call Decho(" ") - " call Decho(".dependency checking<".plugin."> line$=".line("$")) --" call Decho("exe silent r ".fnameescape(plugin)) -+" call Decho("..exe silent r ".fnameescape(plugin)) - exe "silent r ".fnameescape(plugin) - exe "silent bwipe ".bufnr("#") - - while search('^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+','W') != 0 -- let newscript= substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e') -- let llp1 = lastline+1 --" call Decho("..newscript<".newscript.">") -- -- " don't process ""GetLatestVimScripts lines -- those that have been doubly-commented out -- if newscript !~ '^"' -- " found a "GetLatestVimScripts: # #" line in the script; check if its already in the datafile -- let curline = line(".") -- let noai_script = substitute(newscript,'\s*:AutoInstall:\s*','','e') -- exe llp1 -- let srchline = search('\<'.noai_script.'\>','bW') --" call Decho("..noai_script<".noai_script."> srch=".srchline."curline#".line(".")." lastline#".lastline) -- -- if srchline == 0 -- " found a new script to permanently include in the datafile -- let keep_rega = @a -- let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','') -- exe lastline."put a" -- echomsg "Appending <".@a."> to ".datafile." for ".newscript --" call Decho("..APPEND (".noai_script.")<".@a."> to GetLatestVimScripts.dat") -- let @a = keep_rega -- let lastline = llp1 -- let curline = curline + 1 -- let foundscript = foundscript + 1 --" else " Decho --" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")") -- endif -+ let depscript = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e') -+ let depscriptid = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\(\d\+\)\s\+.*$','\1','') -+ let llp1 = lastline+1 -+" call Decho("..depscript<".depscript.">") -+ -+ " found a "GetLatestVimScripts: # #" line in the script; -+ " check if its already in the datafile by searching backwards from llp1, -+ " the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file, -+ " for the script-id with no wrapping allowed. -+ let curline = line(".") -+ let noai_script = substitute(depscript,'\s*:AutoInstall:\s*','','e') -+ exe llp1 -+ let srchline = search('^\s*'.depscriptid.'\s\+\d\+\s\+.*$','bW') -+ if srchline == 0 -+ " this second search is taken when, for example, a 0 0 scriptname is to be skipped over -+ let srchline= search('\<'.noai_script.'\>','bW') -+ endif -+" call Decho("..noai_script<".noai_script."> depscriptid#".depscriptid." srchline#".srchline." curline#".line(".")." lastline#".lastline) - -- let curline = curline + 1 -- exe curline -+ if srchline == 0 -+ " found a new script to permanently include in the datafile -+ let keep_rega = @a -+ let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','') -+ echomsg "Appending <".@a."> to ".datafile." for ".depscript -+" call Decho("..Appending <".@a."> to ".datafile." for ".depscript) -+ exe lastline."put a" -+ let @a = keep_rega -+ let lastline = llp1 -+ let curline = curline + 1 -+ let foundscript = foundscript + 1 -+" else " Decho -+" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")") - endif -+ -+ let curline = curline + 1 -+ exe curline - endwhile - -+ " llp1: last line plus one - let llp1= lastline + 1 - " call Decho(".deleting lines: ".llp1.",$d") - exe "silent! ".llp1.",$d" -@@ -282,7 +276,9 @@ - setlocal nomod - endif - -+ " -------------------------------------------------------------------- - " Check on out-of-date scripts using GetLatest/GetLatestVimScripts.dat -+ " -------------------------------------------------------------------- - " call Decho("begin: checking out-of-date scripts using datafile<".datafile.">") - setlocal lz - 1 -@@ -322,8 +318,9 @@ - - " restore events and current directory - exe "cd ".fnameescape(substitute(origdir,'\','/','ge')) -- let &ei= eikeep -- let &hls= hlskeep -+ let &ei = eikeep -+ let &hls = hlskeep -+ let &acd = acdkeep - setlocal nolz - " call Dredir("BUFFER TEST (GetLatestVimScripts 2)","ls!") - " call Dret("GetLatestVimScripts : did ".s:downloads." downloads") -@@ -333,7 +330,7 @@ - " GetOneScript: (Get Latest Vim Script) this function operates {{{1 - " on the current line, interpreting two numbers and text as - " ScriptID, SourceID, and Filename. --" It downloads any scripts that have newer versions from vim.sf.net. -+" It downloads any scripts that have newer versions from vim.sourceforge.net. - fun! s:GetOneScript(...) - " call Dfunc("GetOneScript()") - -@@ -391,6 +388,7 @@ - " call Decho("fname <".fname.">") - endif - -+ " plugin author protection from downloading his/her own scripts atop their latest work - if scriptid == 0 || srcid == 0 - " When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname - let @a= rega -@@ -416,21 +414,21 @@ - " call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid) - echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid - -- " grab a copy of the plugin's vim.sf.net webpage -- let scriptaddr = 'http://vim.sf.net/script.php?script_id='.scriptid -+ " grab a copy of the plugin's vim.sourceforge.net webpage -+ let scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='.scriptid - let tmpfile = tempname() - let v:errmsg = "" - - " make up to three tries at downloading the description - let itry= 1 - while itry <= 3 --" call Decho("try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr) -+" call Decho(".try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr) - if has("win32") || has("win16") || has("win95") --" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)."|bw!") -- new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile).' '.s:Escape(scriptaddr)|bw! -+" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)."|bw!") -+ new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)|bw! - else --" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr)) -- exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(tmpfile)." ".s:Escape(scriptaddr) -+" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr)) -+ exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr) - endif - if itry == 1 - exe "silent vsplit ".fnameescape(tmpfile) -@@ -495,8 +493,7 @@ - let latestsrcid = latestsrcid + 0 - " call Decho("srcid=".srcid." latestsrcid=".latestsrcid." sname<".sname.">") - -- " has the plugin's most-recent srcid increased, which indicates -- " that it has been updated -+ " has the plugin's most-recent srcid increased, which indicates that it has been updated - if latestsrcid > srcid - " call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."]: need to update <".sname.">") - -@@ -506,65 +503,103 @@ - let sname= "NEW_".sname - endif - -+ " ----------------------------------------------------------------------------- - " the plugin has been updated since we last obtained it, so download a new copy --" call Decho("...downloading new <".sname.">") -- echomsg "...downloading new <".sname.">" -+ " ----------------------------------------------------------------------------- -+" call Decho(".downloading new <".sname.">") -+ echomsg ".downloading new <".sname.">" - if has("win32") || has("win16") || has("win95") --" call Decho("new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)."|q") -- new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid)|q -+" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)."|q") -+ new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)|q - else --" call Decho("exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id=')) -- exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".s:Escape(sname)." ".s:Escape('http://vim.sf.net/scripts/download_script.php?src_id=').latestsrcid -+" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id=')) -+ exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id=').latestsrcid - endif - -+ " -------------------------------------------------------------------------- - " AutoInstall: only if doautoinstall has been requested by the plugin itself -+ " -------------------------------------------------------------------------- - if doautoinstall --" call Decho("attempting to do autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname)) -+" call Decho(" ") -+" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname)) - if filereadable(sname) --" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall)) -- exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".s:Escape(s:autoinstall) -+" call Decho("<".sname."> is readable") -+" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)) -+ exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall) - let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #") - let installdir= curdir."/Installed" - if !isdirectory(installdir) - call mkdir(installdir) - endif --" call Decho("exe cd ".fnameescape(s:autoinstall)) -+" call Decho("curdir<".curdir."> installdir<".installdir.">") -+" call Decho("exe cd ".fnameescape(s:autoinstall)) - exe "cd ".fnameescape(s:autoinstall) -+ -+ " determine target directory for moves -+ let firstdir= substitute(&rtp,',.*$','','') -+ let pname = substitute(sname,'\..*','.vim','') -+" call Decho("determine tgtdir: is <".firstdir.'/AsNeeded/'.pname." readable?") -+ if filereadable(firstdir.'/AsNeeded/'.pname) -+ let tgtdir= "AsNeeded" -+ else -+ let tgtdir= "plugin" -+ endif -+" call Decho("tgtdir<".tgtdir."> pname<".pname.">") - - " decompress - if sname =~ '\.bz2$' - " call Decho("decompress: attempt to bunzip2 ".sname) -- exe "silent !bunzip2 ".s:Escape(sname) -+ exe "silent !bunzip2 ".shellescape(sname) - let sname= substitute(sname,'\.bz2$','','') - " call Decho("decompress: new sname<".sname."> after bunzip2") - elseif sname =~ '\.gz$' - " call Decho("decompress: attempt to gunzip ".sname) -- exe "silent !gunzip ".s:Escape(sname) -+ exe "silent !gunzip ".shellescape(sname) - let sname= substitute(sname,'\.gz$','','') - " call Decho("decompress: new sname<".sname."> after gunzip") -+ else -+" call Decho("no decompression needed") - endif - - " distribute archive(.zip, .tar, .vba) contents - if sname =~ '\.zip$' - " call Decho("dearchive: attempt to unzip ".sname) -- exe "silent !unzip -o ".s:Escape(sname) -+ exe "silent !unzip -o ".shellescape(sname) - elseif sname =~ '\.tar$' - " call Decho("dearchive: attempt to untar ".sname) -- exe "silent !tar -xvf ".s:Escape(sname) -+ exe "silent !tar -xvf ".shellescape(sname) - elseif sname =~ '\.vba$' - " call Decho("dearchive: attempt to handle a vimball: ".sname) - silent 1split -+ if exists("g:vimball_home") -+ let oldvimballhome= g:vimball_home -+ endif -+ let g:vimball_home= s:autoinstall - exe "silent e ".fnameescape(sname) - silent so % - silent q -+ if exists("oldvimballhome") -+ let g:vimball_home= oldvimballhome -+ else -+ unlet g:vimball_home -+ endif -+ else -+" call Decho("no dearchiving needed") - endif - -+ " --------------------------------------------- -+ " move plugin to plugin/ or AsNeeded/ directory -+ " --------------------------------------------- - if sname =~ '.vim$' --" call Decho("dearchive: attempt to simply move ".sname." to plugin") -- exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." plugin" -+" call Decho("dearchive: attempt to simply move ".sname." to ".tgtdir) -+ exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".tgtdir - else - " call Decho("dearchive: move <".sname."> to installdir<".installdir.">") -- exe "silent !".g:GetLatestVimScripts_mv." ".s:Escape(sname)." ".installdir -+ exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir -+ endif -+ if tgtdir != "plugin" -+" call Decho("exe silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir) -+ exe "silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir - endif - - " helptags step -@@ -600,20 +635,6 @@ - endfun - - " --------------------------------------------------------------------- --" s:Escape: makes a string safe&suitable for the shell {{{2 --fun! s:Escape(name) --" call Dfunc("s:Escape(name<".a:name.">)") -- if exists("*shellescape") -- " shellescape() was added by patch 7.0.111 -- let name= shellescape(a:name) -- else -- let name= g:getscript_shq . a:name . g:getscript_shq -- endif --" call Dret("s:Escape ".name) -- return name --endfun -- --" --------------------------------------------------------------------- - " Restore Options: {{{1 - let &cpo= s:keepcpo - unlet s:keepcpo -diff -Nur runtime/autoload/netrw.vim runtime/autoload/netrw.vim ---- runtime/autoload/netrw.vim 2008-08-09 05:14:28.000000000 -0700 -+++ runtime/autoload/netrw.vim 2011-04-03 09:27:21.009715104 -0700 -@@ -1,10 +1,10 @@ - " netrw.vim: Handles file transfer and remote directory listing across - " AUTOLOAD SECTION --" Date: Aug 08, 2008 --" Version: 132 -+" Date: May 14, 2010 -+" Version: 138 - " Maintainer: Charles E Campbell, Jr - " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim --" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1 -+" Copyright: Copyright (C) 1999-2009 Charles E. Campbell, Jr. {{{1 - " Permission is hereby granted to use and distribute this code, - " with or without modifications, provided that this copyright - " notice is copied with it. Like anything else that's free, -@@ -22,12 +22,18 @@ - if &cp || exists("g:loaded_netrw") - finish - endif -+let g:loaded_netrw = "v138" -+if v:version < 702 -+ echohl WarningMsg -+ echo "***warning*** this version of netrw needs vim 7.2" -+ echohl Normal -+ finish -+endif - if !exists("s:NOTE") - let s:NOTE = 0 - let s:WARNING = 1 - let s:ERROR = 2 - endif --let g:loaded_netrw = "v132" - - " sanity checks - if v:version < 700 -@@ -45,25 +51,41 @@ - " ====================== - - " --------------------------------------------------------------------- -+" NetrwInit: initializes variables if they haven't been defined {{{2 -+" Loosely, varname = value. -+fun s:NetrwInit(varname,value) -+ if !exists(a:varname) -+ if type(a:value) == 0 -+ exe "let ".a:varname."=".a:value -+ elseif type(a:value) == 1 -+ exe "let ".a:varname."="."'".a:value."'" -+ else -+ exe "let ".a:varname."=".a:value -+ endif -+ endif -+endfun -+ -+" --------------------------------------------------------------------- - " Netrw Constants: {{{2 --if !exists("g:NETRW_BOOKMARKMAX") -- let g:NETRW_BOOKMARKMAX= 0 --endif --if !exists("g:NETRW_DIRHIST_CNT") -- let g:NETRW_DIRHIST_CNT= 0 --endif -+call s:NetrwInit("g:netrw_dirhist_cnt",0) - if !exists("s:LONGLIST") -- let s:THINLIST = 0 -- let s:LONGLIST = 1 -- let s:WIDELIST = 2 -- let s:TREELIST = 3 -- let s:MAXLIST = 4 -+ call s:NetrwInit("s:THINLIST",0) -+ call s:NetrwInit("s:LONGLIST",1) -+ call s:NetrwInit("s:WIDELIST",2) -+ call s:NetrwInit("s:TREELIST",3) -+ call s:NetrwInit("s:MAXLIST" ,4) - endif - - " --------------------------------------------------------------------- - " Default values for netrw's global protocol variables {{{2 - if !exists("g:netrw_dav_cmd") -+ if executable("cadaver") - let g:netrw_dav_cmd = "cadaver" -+ elseif executable("curl") -+ let g:netrw_dav_cmd = "curl" -+ else -+ let g:netrw_dav_cmd = "" -+ endif - endif - if !exists("g:netrw_fetch_cmd") - if executable("fetch") -@@ -78,35 +100,28 @@ - if !exists("g:netrw_http_cmd") - if executable("elinks") - let g:netrw_http_cmd = "elinks" -- let g:netrw_http_xcmd= "-dump >" -+ call s:NetrwInit("g:netrw_http_xcmd","-source >") - elseif executable("links") - let g:netrw_http_cmd = "links" -- let g:netrw_http_xcmd= "-dump >" -+ call s:NetrwInit("g:netrw_http_xcmd","-source >") - elseif executable("curl") -- let g:netrw_http_cmd = "curl -o" -+ let g:netrw_http_cmd = "curl" -+ call s:NetrwInit("g:netrw_http_xcmd","-o") - elseif executable("wget") -- let g:netrw_http_cmd = "wget -q -O" -+ let g:netrw_http_cmd = "wget" -+ call s:NetrwInit("g:netrw_http_xcmd","-q -O") - elseif executable("fetch") -- let g:netrw_http_cmd = "fetch -o" -+ let g:netrw_http_cmd = "fetch" -+ call s:NetrwInit("g:netrw_http_xcmd","-o") - else - let g:netrw_http_cmd = "" - endif - endif --if !exists("g:netrw_rcp_cmd") -- let g:netrw_rcp_cmd = "rcp" --endif --if !exists("g:netrw_rsync_cmd") -- let g:netrw_rsync_cmd = "rsync" --endif --if !exists("g:netrw_scp_cmd") -- let g:netrw_scp_cmd = "scp -q" --endif --if !exists("g:netrw_sftp_cmd") -- let g:netrw_sftp_cmd = "sftp" --endif --if !exists("g:netrw_ssh_cmd") -- let g:netrw_ssh_cmd= "ssh" --endif -+call s:NetrwInit("g:netrw_rcp_cmd" , "rcp") -+call s:NetrwInit("g:netrw_rsync_cmd", "rsync") -+call s:NetrwInit("g:netrw_scp_cmd" , "scp -q") -+call s:NetrwInit("g:netrw_sftp_cmd" , "sftp") -+call s:NetrwInit("g:netrw_ssh_cmd" , "ssh") - - if (has("win32") || has("win95") || has("win64") || has("win16")) - \ && exists("g:netrw_use_nt_rcp") -@@ -134,40 +149,24 @@ - endif - endif - " Default values - a-c ---------- {{{3 --if !exists("g:netrw_alto") -- let g:netrw_alto= &sb --endif --if !exists("g:netrw_altv") -- let g:netrw_altv= &spr --endif --if !exists("g:netrw_browse_split") -- let g:netrw_browse_split= 0 --endif --if !exists("g:netrw_chgwin") -- let g:netrw_chgwin = -1 --endif --if !exists("g:netrw_compress") -- let g:netrw_compress= "gzip" --endif --if !exists("g:netrw_ctags") -- let g:netrw_ctags= "ctags" -+call s:NetrwInit("g:netrw_alto" , &sb) -+call s:NetrwInit("g:netrw_altv" , &spr) -+call s:NetrwInit("g:netrw_banner" , 1) -+call s:NetrwInit("g:netrw_browse_split", 0) -+call s:NetrwInit("g:netrw_chgwin" , -1) -+call s:NetrwInit("g:netrw_compress" , "gzip") -+call s:NetrwInit("g:netrw_ctags" , "ctags") -+if !exists("g:netrw_cursorline") -+ let g:netrw_cursorline= 1 -+ let s:netrw_usercul = &cursorline -+ let s:netrw_usercuc = &cursorcolumn - endif - " Default values - d-g ---------- {{{3 --if !exists("g:NETRW_DIRHIST_CNT") -- let g:NETRW_DIRHIST_CNT= 0 --endif --if !exists("g:netrw_decompress") -- let g:netrw_decompress= { ".gz" : "gunzip" , ".bz2" : "bunzip2" , ".zip" : "unzip" , ".tar" : "tar -xf"} --endif --if !exists("g:netrw_dirhistmax") -- let g:netrw_dirhistmax= 10 --endif --if !exists("g:netrw_fastbrowse") -- let g:netrw_fastbrowse= 1 --endif --if !exists("g:netrw_ftp_browse_reject") -- let g:netrw_ftp_browse_reject='^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$' --endif -+call s:NetrwInit("g:netrw_dirhist_cnt" , 0) -+call s:NetrwInit("g:netrw_decompress" , '{ ".gz" : "gunzip", ".bz2" : "bunzip2", ".zip" : "unzip", ".tar" : "tar -xf"}') -+call s:NetrwInit("g:netrw_dirhistmax" , 10) -+call s:NetrwInit("g:netrw_fastbrowse" , 1) -+call s:NetrwInit("g:netrw_ftp_browse_reject", '^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$') - if !exists("g:netrw_ftp_list_cmd") - if has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin) - let g:netrw_ftp_list_cmd = "ls -lF" -@@ -179,13 +178,9 @@ - let g:netrw_ftp_sizelist_cmd = "dir" - endif - endif --if !exists("g:netrw_ftpmode") -- let g:netrw_ftpmode= "binary" --endif -+call s:NetrwInit("g:netrw_ftpmode",'binary') - " Default values - h-lh ---------- {{{3 --if !exists("g:netrw_hide") -- let g:netrw_hide= 1 --endif -+call s:NetrwInit("g:netrw_hide",1) - if !exists("g:netrw_ignorenetrc") - if &shell =~ '\c\<\%(cmd\|4nt\)\.exe$' - let g:netrw_ignorenetrc= 1 -@@ -193,9 +188,7 @@ - let g:netrw_ignorenetrc= 0 - endif - endif --if !exists("g:netrw_keepdir") -- let g:netrw_keepdir= 1 --endif -+call s:NetrwInit("g:netrw_keepdir",1) - if !exists("g:netrw_list_cmd") - if g:netrw_scp_cmd =~ '^pscp' && executable("pscp") - " provide a 'pscp' listing command -@@ -211,9 +204,7 @@ - let g:netrw_list_cmd= "" - endif - endif --if !exists("g:netrw_list_hide") -- let g:netrw_list_hide= "" --endif -+call s:NetrwInit("g:netrw_list_hide","") - " Default values - lh-lz ---------- {{{3 - if !exists("g:netrw_localcopycmd") - if has("win32") || has("win95") || has("win64") || has("win16") -@@ -228,9 +219,7 @@ - let g:netrw_localcopycmd= "" - endif - endif --if !exists("g:netrw_local_mkdir") -- let g:netrw_local_mkdir= "mkdir" --endif -+call s:NetrwInit("g:netrw_local_mkdir","mkdir") - if !exists("g:netrw_localmovecmd") - if has("win32") || has("win95") || has("win64") || has("win16") - if g:netrw_cygwin -@@ -244,128 +233,71 @@ - let g:netrw_localmovecmd= "" - endif - endif --if !exists("g:netrw_local_rmdir") -- let g:netrw_local_rmdir= "rmdir" --endif --if !exists("g:netrw_liststyle") -- let g:netrw_liststyle= s:THINLIST --endif -+call s:NetrwInit("g:netrw_local_rmdir", "rmdir") -+call s:NetrwInit("g:netrw_liststyle" , s:THINLIST) -+" sanity checks - if g:netrw_liststyle < 0 || g:netrw_liststyle >= s:MAXLIST -- " sanity check - let g:netrw_liststyle= s:THINLIST - endif - if g:netrw_liststyle == s:LONGLIST && g:netrw_scp_cmd !~ '^pscp' - let g:netrw_list_cmd= g:netrw_list_cmd." -l" - endif - " Default values - m-r ---------- {{{3 --if !exists("g:netrw_markfileesc") -- let g:netrw_markfileesc= '*./[\~' --endif --if !exists("g:netrw_maxfilenamelen") -- let g:netrw_maxfilenamelen= 32 --endif --if !exists("g:netrw_menu") -- let g:netrw_menu= 1 --endif --if !exists("g:netrw_mkdir_cmd") -- let g:netrw_mkdir_cmd= g:netrw_ssh_cmd." USEPORT HOSTNAME mkdir" --endif --if !exists("g:netrw_mousemaps") -- if exists("&mouse") && &mouse =~ '[anh]' -- let g:netrw_mousemaps= 1 -- else -- let g:netrw_mousemaps= 0 -- endif --endif --if !exists("g:netrw_retmap") -- let g:netrw_retmap= 0 --endif --if !exists("g:netrw_preview") -- let g:netrw_preview= 0 --endif --if !exists("g:netrw_scpport") -- let g:netrw_scpport= "-P" --endif --if !exists("g:netrw_sshport") -- let g:netrw_sshport= "-p" --endif --if !exists("g:netrw_rename_cmd") -- let g:netrw_rename_cmd= g:netrw_ssh_cmd." USEPORT HOSTNAME mv" --endif --if !exists("g:netrw_rm_cmd") -- let g:netrw_rm_cmd = g:netrw_ssh_cmd." USEPORT HOSTNAME rm" --endif --if !exists("g:netrw_rmdir_cmd") -- let g:netrw_rmdir_cmd = g:netrw_ssh_cmd." USEPORT HOSTNAME rmdir" --endif --if !exists("g:netrw_rmf_cmd") -- let g:netrw_rmf_cmd = g:netrw_ssh_cmd." USEPORT HOSTNAME rm -f" --endif --" Default values - s ---------- {{{3 -- " set up shell quoting character --if exists("g:netrw_silent") && g:netrw_silent != 0 -- let s:netrw_silentxfer= "silent " -+call s:NetrwInit("g:netrw_markfileesc" , '*./[\~') -+call s:NetrwInit("g:netrw_maxfilenamelen", 32) -+call s:NetrwInit("g:netrw_menu" , 1) -+call s:NetrwInit("g:netrw_mkdir_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME mkdir") -+call s:NetrwInit("g:netrw_mousemaps" , (exists("&mouse") && &mouse =~ '[anh]')) -+call s:NetrwInit("g:netrw_retmap" , 0) -+if has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin) -+ call s:NetrwInit("g:netrw_chgperm" , "chmod PERM FILENAME") -+elseif has("win32") || has("win95") || has("win64") || has("win16") -+ call s:NetrwInit("g:netrw_chgperm" , "cacls FILENAME /e /p PERM") - else -- let s:netrw_silentxfer= "" --endif --if !exists("g:netrw_sort_by") -- " alternatives: date size -- let g:netrw_sort_by= "name" --endif --if !exists("g:netrw_sort_options") -- let g:netrw_sort_options= "" --endif --if !exists("g:netrw_sort_direction") -- " alternative: reverse (z y x ...) -- let g:netrw_sort_direction= "normal" -+ call s:NetrwInit("g:netrw_chgperm" , "chmod PERM FILENAME") - endif -+call s:NetrwInit("g:netrw_preview" , 0) -+call s:NetrwInit("g:netrw_scpport" , "-P") -+call s:NetrwInit("g:netrw_sshport" , "-p") -+call s:NetrwInit("g:netrw_rename_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME mv") -+call s:NetrwInit("g:netrw_rm_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME rm") -+call s:NetrwInit("g:netrw_rmdir_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME rmdir") -+call s:NetrwInit("g:netrw_rmf_cmd" , g:netrw_ssh_cmd." USEPORT HOSTNAME rm -f") -+" Default values - s ---------- {{{3 -+" g:netrw_sepchr: picking a character that doesn't appear in filenames that can be used to separate priority from filename -+call s:NetrwInit("g:netrw_sepchr" , (&enc == "euc-jp")? "\" : "\") -+call s:NetrwInit("s:netrw_silentxfer" , (exists("g:netrw_silent") && g:netrw_silent != 0)? "silent keepj " : "keepj ") -+call s:NetrwInit("g:netrw_sort_by" , "name") " alternatives: date , size -+call s:NetrwInit("g:netrw_sort_options" , "") -+call s:NetrwInit("g:netrw_sort_direction", "normal") " alternative: reverse (z y x ...) - if !exists("g:netrw_sort_sequence") -- let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$' --endif --if !exists("g:netrw_special_syntax") -- let g:netrw_special_syntax= 0 --endif --if !exists("g:netrw_ssh_browse_reject") -- let g:netrw_ssh_browse_reject='^total\s\+\d\+$' --endif --if !has("patch192") -- if !exists("g:netrw_use_noswf") -- let g:netrw_use_noswf= 1 -+ if has("unix") -+ let g:netrw_sort_sequence= '[\/]$,\,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$' -+ else -+ let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$' - endif --else -- let g:netrw_use_noswf= 0 - endif -+call s:NetrwInit("g:netrw_special_syntax" , 0) -+call s:NetrwInit("g:netrw_ssh_browse_reject", '^total\s\+\d\+$') -+call s:NetrwInit("g:netrw_use_noswf" , 0) - " Default values - t-w ---------- {{{3 --if !exists("g:netrw_timefmt") -- let g:netrw_timefmt= "%c" --endif --if !exists("g:netrw_xstrlen") -- let g:netrw_xstrlen= 1 --endif --if !exists("g:NetrwTopLvlMenu") -- let g:NetrwTopLvlMenu= "Netrw." --endif --if !exists("g:netrw_use_errorwindow") -- let g:netrw_use_errorwindow= 1 --endif --if !exists("g:netrw_win95ftp") -- let g:netrw_win95ftp= 1 --endif --if !exists("g:netrw_winsize") -- let g:netrw_winsize= "" --endif -+call s:NetrwInit("g:netrw_timefmt","%c") -+call s:NetrwInit("g:netrw_xstrlen",0) -+call s:NetrwInit("g:NetrwTopLvlMenu","Netrw.") -+call s:NetrwInit("g:netrw_use_errorwindow",1) -+call s:NetrwInit("g:netrw_win95ftp",1) -+call s:NetrwInit("g:netrw_winsize",25) - " --------------------------------------------------------------------- - " Default values for netrw's script variables: {{{2 --if !exists("g:netrw_fname_escape") -- let g:netrw_fname_escape= ' ?&;%' --endif --if !exists("g:netrw_glob_escape") -- let g:netrw_glob_escape= '[]*?`{~$' --endif --if !exists("g:netrw_tmpfile_escape") -- let g:netrw_tmpfile_escape= ' &;' -+call s:NetrwInit("g:netrw_fname_escape",' ?&;%') -+if has("win32") || has("win95") || has("win64") || has("win16") -+ call s:NetrwInit("g:netrw_glob_escape",'[]*?`{$') -+else -+ call s:NetrwInit("g:netrw_glob_escape",'[]*?`{~$\') - endif --let s:netrw_map_escape = "<|\n\r\\\\"" -+call s:NetrwInit("g:netrw_menu_escape",'./&? \') -+call s:NetrwInit("g:netrw_tmpfile_escape",' &;') -+call s:NetrwInit("s:netrw_map_escape","<|\n\r\\\\"") - - " BufEnter event ignored by decho when following variable is true - " Has a side effect that doau BufReadPost doesn't work, so -@@ -384,7 +316,7 @@ - " NetrwBrowse. - " vt: normally its "w:" or "s:" (a variable type) - fun! s:NetrwOptionSave(vt) --" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">") -+" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">"." winnr($)=".winnr("$")) - - " call Decho(a:vt."netrw_optionsave".(exists("{a:vt}netrw_optionsave")? ("=".{a:vt}netrw_optionsave) : " doesn't exist")) - if !exists("{a:vt}netrw_optionsave") -@@ -402,6 +334,7 @@ - endif - let {a:vt}netrw_aikeep = &l:ai - let {a:vt}netrw_awkeep = &l:aw -+ let {a:vt}netrw_bombkeep = &l:bomb - let {a:vt}netrw_cikeep = &l:ci - let {a:vt}netrw_cinkeep = &l:cin - let {a:vt}netrw_cinokeep = &l:cino -@@ -413,6 +346,7 @@ - let {a:vt}netrw_fokeep = &l:fo " formatoptions - let {a:vt}netrw_gdkeep = &l:gd " gdefault - let {a:vt}netrw_hidkeep = &l:hidden -+ let {a:vt}netrw_imkeep = &l:im - let {a:vt}netrw_magickeep = &l:magic - let {a:vt}netrw_repkeep = &l:report - let {a:vt}netrw_spellkeep = &l:spell -@@ -430,7 +364,7 @@ - " ------------------------------------------------------------------------ - " s:NetrwOptionRestore: restore options {{{2 - fun! s:NetrwOptionRestore(vt) --" call Dfunc("s:NetrwOptionRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")) -+" call Dfunc("s:NetrwOptionRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")." winnr($)=".winnr("$")) - if !exists("{a:vt}netrw_optionsave") - " call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap) - " call Dret("s:NetrwOptionRestore : ".a:vt."netrw_optionsave doesn't exist") -@@ -448,7 +382,7 @@ - " call Decho("exe keepjumps lcd ".fnameescape(curdir)) " NOTE: was g:netrw_fname_escape for some reason - try - if !exists("&l:acd") && !&l:acd -- exe 'keepjumps lcd '.fnameescape(curdir) -+ exe 'keepj lcd '.fnameescape(curdir) - endif - catch /^Vim\%((\a\+)\)\=:E472/ - call netrw#ErrorMsg(s:ERROR,"unable to change directory to <".curdir."> (permissions?)",61) -@@ -458,6 +392,7 @@ - endif - if exists("{a:vt}netrw_aikeep") |let &l:ai = {a:vt}netrw_aikeep |unlet {a:vt}netrw_aikeep |endif - if exists("{a:vt}netrw_awkeep") |let &l:aw = {a:vt}netrw_awkeep |unlet {a:vt}netrw_awkeep |endif -+ if exists("{a:vt}netrw_bombkeep") |let &l:bomb = {a:vt}netrw_bombkeep |unlet {a:vt}netrw_bombkeep |endif - if exists("{a:vt}netrw_cikeep") |let &l:ci = {a:vt}netrw_cikeep |unlet {a:vt}netrw_cikeep |endif - if exists("{a:vt}netrw_cinkeep") |let &l:cin = {a:vt}netrw_cinkeep |unlet {a:vt}netrw_cinkeep |endif - if exists("{a:vt}netrw_cinokeep") |let &l:cino = {a:vt}netrw_cinokeep |unlet {a:vt}netrw_cinokeep |endif -@@ -470,6 +405,7 @@ - if exists("{a:vt}netrw_fokeep") |let &l:fo = {a:vt}netrw_fokeep |unlet {a:vt}netrw_fokeep |endif - if exists("{a:vt}netrw_gdkeep") |let &l:gd = {a:vt}netrw_gdkeep |unlet {a:vt}netrw_gdkeep |endif - if exists("{a:vt}netrw_hidkeep") |let &l:hidden = {a:vt}netrw_hidkeep |unlet {a:vt}netrw_hidkeep |endif -+ if exists("{a:vt}netrw_imkeep") |let &l:im = {a:vt}netrw_imkeep |unlet {a:vt}netrw_imkeep |endif - if exists("{a:vt}netrw_magic") |let &l:magic = {a:vt}netrw_magic |unlet {a:vt}netrw_magic |endif - if exists("{a:vt}netrw_repkeep") |let &l:report = {a:vt}netrw_repkeep |unlet {a:vt}netrw_repkeep |endif - if exists("{a:vt}netrw_spellkeep")|let &l:spell = {a:vt}netrw_spellkeep |unlet {a:vt}netrw_spellkeep|endif -@@ -503,19 +439,28 @@ - " --------------------------------------------------------------------- - " s:NetrwSafeOptions: sets options to help netrw do its job {{{2 - fun! s:NetrwSafeOptions() --" call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">") --" call Decho("window's ft=".&ft) -+" call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%"))."> winnr($)=".winnr("$")) -+" call Decho("win#".winnr()."'s ft=".&ft) - setlocal cino= - setlocal com= - setlocal cpo-=aA - if exists("&acd") | setlocal noacd | endif -- setlocal nocin noai noci magic nospell nohid wig= noaw -+ setlocal nocin noai nobomb noci magic nospell nohid wig= noaw noim - setlocal fo=nroql2 - setlocal tw=0 - setlocal report=10000 -+ setlocal isk+=@ isk+=* isk+=/ - if g:netrw_use_noswf && has("win32") && !has("win95") - setlocal noswf - endif -+ call s:NetrwCursorline() -+ -+ " allow the user to override safe options -+ if &ft == "netrw" -+" call Decho("do any netrw FileType autocmds") -+ silent keepalt keepjumps doau FileType netrw -+ endif -+ - " call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist")) - " call Dret("s:NetrwSafeOptions") - endfun -@@ -566,6 +511,16 @@ - " call Dret("netrw#NetrwClean") - endfun - -+" --------------------------------------------------------------------- -+" netrw#Nread: {{{2 -+fun! netrw#Nread(mode,fname) -+" call Dfunc("netrw#Nread(mode=".a:mode." fname<".a:fname.">)") -+ call netrw#NetrwSavePosn() -+ call netrw#NetRead(a:mode,a:fname) -+ call netrw#NetrwRestorePosn() -+" call Dret("netrw#Nread") -+endfun -+ - " ------------------------------------------------------------------------ - " Netrw Transfer Functions: {{{1 - " =============================== -@@ -579,11 +534,12 @@ - fun! netrw#NetRead(mode,...) - " call Dfunc("netrw#NetRead(mode=".a:mode.",...) a:0=".a:0." ".g:loaded_netrw) - -- " save options {{{3 -+ " NetRead: save options {{{3 - call s:NetrwOptionSave("w:") - call s:NetrwSafeOptions() -+ call s:RestoreCursorline() - -- " interpret mode into a readcmd {{{3 -+ " NetRead: interpret mode into a readcmd {{{3 - if a:mode == 0 " read remote file before current line - let readcmd = "0r" - elseif a:mode == 1 " read file after current line -@@ -599,7 +555,7 @@ - let ichoice = (a:0 == 0)? 0 : 1 - " call Decho("readcmd<".readcmd."> ichoice=".ichoice) - -- " Get Temporary Filename {{{3 -+ " NetRead: get temporary filename {{{3 - let tmpfile= s:GetTempfile("") - if tmpfile == "" - " call Dret("netrw#NetRead : unable to get a tempfile!") -@@ -666,28 +622,32 @@ - " call Decho("choice<" . choice . ">") - let ichoice= ichoice + 1 - -- " Determine method of read (ftp, rcp, etc) {{{3 -+ " NetRead: Determine method of read (ftp, rcp, etc) {{{3 - call s:NetrwMethod(choice) -+ if !exists("b:netrw_method") || b:netrw_method < 0 -+" call Dfunc("netrw#NetRead : unsupported method") -+ return -+ endif - let tmpfile= s:GetTempfile(b:netrw_fname) " apply correct suffix - - " Check if NetrwBrowse() should be handling this request - " call Decho("checking if NetrwBrowse() should handle choice<".choice."> with netrw_list_cmd<".g:netrw_list_cmd.">") - if choice =~ "^.*[\/]$" && b:netrw_method != 5 && choice !~ '^http://' - " call Decho("yes, choice matches '^.*[\/]$'") -- keepjumps call s:NetrwBrowse(0,choice) -+ keepj call s:NetrwBrowse(0,choice) - " call Dret("netrw#NetRead :3 getcwd<".getcwd().">") - return - endif - - " ============ -- " Perform Protocol-Based Read {{{3 -+ " NetRead: Perform Protocol-Based Read {{{3 - " =========================== - if exists("g:netrw_silent") && g:netrw_silent == 0 && &ch >= 1 - echo "(netrw) Processing your read request..." - endif - - "......................................... -- " rcp: NetRead Method #1 {{{3 -+ " NetRead: (rcp) NetRead Method #1 {{{3 - if b:netrw_method == 1 " read with rcp - " call Decho("read via rcp (method #1)") - " ER: nothing done with g:netrw_uid yet? -@@ -709,22 +669,22 @@ - endif - endif - " call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1)) -- exe s:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1)) -+ exe s:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1) - let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method) - let b:netrw_lastfile = choice - - "......................................... -- " ftp + <.netrc>: NetRead Method #2 {{{3 -+ " NetRead: (ftp + <.netrc>) NetRead Method #2 {{{3 - elseif b:netrw_method == 2 " read with ftp + <.netrc> - " call Decho("read via ftp+.netrc (method #2)") - let netrw_fname= b:netrw_fname - call s:SaveBufVars()|new|call s:RestoreBufVars() - let filtbuf= bufnr("%") - setlocal ff=unix -- put =g:netrw_ftpmode -+ keepj put =g:netrw_ftpmode - " call Decho("filter input: ".getline(line("$"))) - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline(line("$"))) - endif - call setline(line("$")+1,'get "'.netrw_fname.'" '.tmpfile) -@@ -745,7 +705,8 @@ - endif - call s:SaveBufVars() - bd! -- if bufname("%") == "" && line("$") == 1 && getline("$") == "" -+ if bufname("%") == "" && getline("$") == "" && line('$') == 1 -+ " needed when one sources a file in a nolbl setting window via ftp - q! - endif - call s:RestoreBufVars() -@@ -753,7 +714,7 @@ - let b:netrw_lastfile = choice - - "......................................... -- " ftp + machine,id,passwd,filename: NetRead Method #3 {{{3 -+ " NetRead: (ftp + machine,id,passwd,filename) NetRead Method #3 {{{3 - elseif b:netrw_method == 3 " read with ftp + machine, id, passwd, and fname - " Construct execution string (four lines) which will be passed through filter - " call Decho("read via ftp+mipf (method #3)") -@@ -762,32 +723,32 @@ - let filtbuf= bufnr("%") - setlocal ff=unix - if exists("g:netrw_port") && g:netrw_port != "" -- put ='open '.g:netrw_machine.' '.g:netrw_port -+ keepj put ='open '.g:netrw_machine.' '.g:netrw_port - " call Decho("filter input: ".getline('.')) - else -- put ='open '.g:netrw_machine -+ keepj put ='open '.g:netrw_machine - " call Decho("filter input: ".getline('.')) - endif - - if exists("g:netrw_ftp") && g:netrw_ftp == 1 -- put =g:netrw_uid -+ keepj put =g:netrw_uid - " call Decho("filter input: ".getline('.')) -- put ='\"'.s:netrw_passwd.'\"' -+ keepj put ='\"'.s:netrw_passwd.'\"' - " call Decho("filter input: ".getline('.')) - else -- put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' -+ keepj put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' - " call Decho("filter input: ".getline('.')) - endif - - if exists("g:netrw_ftpmode") && g:netrw_ftpmode != "" -- put =g:netrw_ftpmode -+ keepj put =g:netrw_ftpmode - " call Decho("filter input: ".getline('.')) - endif - if exists("g:netrw_ftpextracmd") - put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('.')) - endif -- put ='get \"'.netrw_fname.'\" '.tmpfile -+ keepj put ='get \"'.netrw_fname.'\" '.tmpfile - " call Decho("filter input: ".getline('.')) - - " perform ftp: -@@ -809,7 +770,7 @@ - let b:netrw_lastfile = choice - - "......................................... -- " scp: NetRead Method #4 {{{3 -+ " NetRead: (scp) NetRead Method #4 {{{3 - elseif b:netrw_method == 4 " read with scp - " call Decho("read via scp (method #4)") - if exists("g:netrw_port") && g:netrw_port != "" -@@ -817,13 +778,13 @@ - else - let useport= "" - endif --" call Decho("exe s:netrw_silentxfer.!".g:netrw_scp_cmd.useport." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1)) -+" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1)) - exe s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1) - let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method) - let b:netrw_lastfile = choice - - "......................................... -- " http: NetRead Method #5 (wget) {{{3 -+ " NetRead: (http) NetRead Method #5 (wget) {{{3 - elseif b:netrw_method == 5 - " call Decho("read via http (method #5)") - if g:netrw_http_cmd == "" -@@ -863,33 +824,43 @@ - setlocal ro - - "......................................... -- " cadaver: NetRead Method #6 {{{3 -+ " NetRead: (dav) NetRead Method #6 {{{3 - elseif b:netrw_method == 6 - " call Decho("read via cadaver (method #6)") - -- " Construct execution string (four lines) which will be passed through filter -- let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape) -- new -- setlocal ff=unix -- if exists("g:netrw_port") && g:netrw_port != "" -- put ='open '.g:netrw_machine.' '.g:netrw_port -- else -- put ='open '.g:netrw_machine -+ if !executable(g:netrw_dav_cmd) -+ call netrw#ErrorMsg(s:ERROR,g:netrw_dav_cmd." is not executable",73) -+" call Dret("netrw#NetRead : ".g:netrw_dav_cmd." not executable") -+ return - endif -- put ='user '.g:netrw_uid.' '.s:netrw_passwd -- put ='get '.netrw_fname.' '.tmpfile -- put ='quit' -+ if g:netrw_dav_cmd =~ "curl" -+" call Decho("exe ".s:netrw_silentxfer."!".g:netrw_dav_cmd." ".shellescape("dav://".g:netrw_machine.b:netrw_fname,1)." ".shellescape(tmpfile,1)) -+ exe s:netrw_silentxfer."!".g:netrw_dav_cmd." ".shellescape("dav://".g:netrw_machine.b:netrw_fname,1)." ".shellescape(tmpfile,1) -+ else -+ " Construct execution string (four lines) which will be passed through filter -+ let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape) -+ new -+ setlocal ff=unix -+ if exists("g:netrw_port") && g:netrw_port != "" -+ keepj put ='open '.g:netrw_machine.' '.g:netrw_port -+ else -+ keepj put ='open '.g:netrw_machine -+ endif -+ keepj put ='user '.g:netrw_uid.' '.s:netrw_passwd -+ keepj put ='get '.netrw_fname.' '.tmpfile -+ keepj put ='quit' - -- " perform cadaver operation: -- norm! 1Gdd -+ " perform cadaver operation: -+ keepj norm! 1Gdd - " call Decho("executing: %!".g:netrw_dav_cmd) -- exe s:netrw_silentxfer."%!".g:netrw_dav_cmd -- bd! -+ exe s:netrw_silentxfer."%!".g:netrw_dav_cmd -+ bd! -+ endif - let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method) - let b:netrw_lastfile = choice - - "......................................... -- " rsync: NetRead Method #7 {{{3 -+ " NetRead: (rsync) NetRead Method #7 {{{3 - elseif b:netrw_method == 7 - " call Decho("read via rsync (method #7)") - " call Decho("exe ".s:netrw_silentxfer."!".g:netrw_rsync_cmd." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)." ".shellescape(tmpfile,1)) -@@ -898,7 +869,7 @@ - let b:netrw_lastfile = choice - - "......................................... -- " fetch: NetRead Method #8 {{{3 -+ " NetRead: (fetch) NetRead Method #8 {{{3 - " fetch://[user@]host[:http]/path - elseif b:netrw_method == 8 - " call Decho("read via fetch (method #8)") -@@ -928,7 +899,7 @@ - setlocal ro - - "......................................... -- " sftp: NetRead Method #9 {{{3 -+ " NetRead: (sftp) NetRead Method #9 {{{3 - elseif b:netrw_method == 9 - " call Decho("read via sftp (method #9)") - " call Decho("exe ".s:netrw_silentxfer."!".g:netrw_sftp_cmd." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)." ".tmpfile) -@@ -937,13 +908,13 @@ - let b:netrw_lastfile = choice - - "......................................... -- " Complain {{{3 -+ " NetRead: Complain {{{3 - else - call netrw#ErrorMsg(s:WARNING,"unable to comply with your request<" . choice . ">",8) - endif - endwhile - -- " cleanup {{{3 -+ " NetRead: cleanup {{{3 - if exists("b:netrw_method") - " call Decho("cleanup b:netrw_method and b:netrw_fname") - unlet b:netrw_method -@@ -951,7 +922,7 @@ - endif - if s:FileReadable(tmpfile) && tmpfile !~ '.tar.bz2$' && tmpfile !~ '.tar.gz$' && tmpfile !~ '.zip' && tmpfile !~ '.tar' && readcmd != 't' - " call Decho("cleanup by deleting tmpfile<".tmpfile.">") -- call s:NetrwDelete(fnameescape(tmpfile)) -+ call s:NetrwDelete(tmpfile) - endif - call s:NetrwOptionRestore("w:") - -@@ -963,12 +934,12 @@ - fun! netrw#NetWrite(...) range - " call Dfunc("netrw#NetWrite(a:0=".a:0.") ".g:loaded_netrw) - -- " option handling -+ " NetWrite: option handling {{{3 - let mod= 0 - call s:NetrwOptionSave("w:") - call s:NetrwSafeOptions() - -- " Get Temporary Filename {{{3 -+ " NetWrite: Get Temporary Filename {{{3 - let tmpfile= s:GetTempfile("") - if tmpfile == "" - " call Dret("netrw#NetWrite : unable to get a tempfile!") -@@ -988,16 +959,16 @@ - " (line numbers don't really make sense for that). - " Also supports the writing of tar and zip files. - " call Decho("(write entire file) silent exe w! ".fnameescape(v:cmdarg)." ".fnameescape(tmpfile)) -- silent exe "w! ".fnameescape(v:cmdarg)." ".fnameescape(tmpfile) -+ exe "silent keepj w! ".fnameescape(v:cmdarg)." ".fnameescape(tmpfile) - elseif g:netrw_cygwin - " write (selected portion of) file to temporary - let cygtmpfile= substitute(tmpfile,'/cygdrive/\(.\)','\1:','') - " call Decho("(write selected portion) silent exe ".a:firstline."," . a:lastline . "w! ".fnameescape(v:cmdarg)." ".fnameescape(cygtmpfile)) -- silent exe a:firstline."," . a:lastline . "w! ".fnameescape(v:cmdarg)." ".fnameescape(cygtmpfile) -+ exe "sil keepj ".a:firstline."," . a:lastline . "w! ".fnameescape(v:cmdarg)." ".fnameescape(cygtmpfile) - else - " write (selected portion of) file to temporary - " call Decho("(write selected portion) silent exe ".a:firstline."," . a:lastline . "w! ".fnameescape(v:cmdarg)." ".fnameescape(tmpfile)) -- silent exe a:firstline."," . a:lastline . "w! ".fnameescape(v:cmdarg)." ".fnameescape(tmpfile) -+ exe "sil keepj ".a:firstline."," . a:lastline . "w! ".fnameescape(v:cmdarg)." ".fnameescape(tmpfile) - endif - - if curbufname == "" -@@ -1007,7 +978,7 @@ - 0file! - endif - -- " While choice loop: {{{3 -+ " NetWrite: while choice loop: {{{3 - while ichoice <= a:0 - - " Process arguments: {{{4 -@@ -1065,9 +1036,13 @@ - - " Determine method of write (ftp, rcp, etc) {{{4 - call s:NetrwMethod(choice) -+ if !exists("b:netrw_method") || b:netrw_method < 0 -+" call Dfunc("netrw#NetWrite : unsupported method") -+ return -+ endif - - " ============= -- " Perform Protocol-Based Write {{{4 -+ " NetWrite: Perform Protocol-Based Write {{{3 - " ============================ - if exists("g:netrw_silent") && g:netrw_silent == 0 && &ch >= 1 - echo "(netrw) Processing your write request..." -@@ -1075,7 +1050,7 @@ - endif - - "......................................... -- " rcp: NetWrite Method #1 {{{4 -+ " NetWrite: (rcp) NetWrite Method #1 {{{3 - if b:netrw_method == 1 - " call Decho("write via rcp (method #1)") - if s:netrw_has_nt_rcp == 1 -@@ -1096,17 +1071,23 @@ - let b:netrw_lastfile = choice - - "......................................... -- " ftp + <.netrc>: NetWrite Method #2 {{{4 -+ " NetWrite: (ftp + <.netrc>) NetWrite Method #2 {{{3 - elseif b:netrw_method == 2 - " call Decho("write via ftp+.netrc (method #2)") -- let netrw_fname= b:netrw_fname -- new -+ let netrw_fname = b:netrw_fname -+ -+ " formerly just a "new...bd!", that changed the window sizes when equalalways. Using enew workaround instead -+ let bhkeep = &l:bh -+ let curbuf = bufnr("%") -+ setlocal bh=hide -+ enew -+ - " call Decho("filter input window#".winnr()) - setlocal ff=unix -- put =g:netrw_ftpmode -+ keepj put =g:netrw_ftpmode - " call Decho("filter input: ".getline('$')) - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline("$")) - endif - call setline(line("$")+1,'put "'.tmpfile.'" "'.netrw_fname.'"') -@@ -1126,34 +1107,52 @@ - endif - let mod=1 - endif -- bd! -+ -+ " remove enew buffer (quietly) -+ let filtbuf= bufnr("%") -+ exe curbuf."b!" -+ let &l:bh = bhkeep -+ exe filtbuf."bw!" -+ - let b:netrw_lastfile = choice - - "......................................... -- " ftp + machine, id, passwd, filename: NetWrite Method #3 {{{4 -+ " NetWrite: (ftp + machine, id, passwd, filename) NetWrite Method #3 {{{3 - elseif b:netrw_method == 3 -- " Construct execution string (four lines) which will be passed through filter -+ " Construct execution string (three or more lines) which will be passed through filter - " call Decho("read via ftp+mipf (method #3)") -- let netrw_fname= b:netrw_fname -- new -+ let netrw_fname = b:netrw_fname -+ let bhkeep = &l:bh -+ -+ " formerly just a "new...bd!", that changed the window sizes when equalalways. Using enew workaround instead -+ let curbuf = bufnr("%") -+ setlocal bh=hide -+ enew - setlocal ff=unix -+ - if exists("g:netrw_port") && g:netrw_port != "" -- put ='open '.g:netrw_machine.' '.g:netrw_port -+ keepj put ='open '.g:netrw_machine.' '.g:netrw_port - " call Decho("filter input: ".getline('.')) - else -- put ='open '.g:netrw_machine -+ keepj put ='open '.g:netrw_machine - " call Decho("filter input: ".getline('.')) - endif - if exists("g:netrw_ftp") && g:netrw_ftp == 1 -- put =g:netrw_uid -+ keepj put =g:netrw_uid - " call Decho("filter input: ".getline('.')) -- put ='\"'.s:netrw_passwd.'\"' -+ keepj put ='\"'.s:netrw_passwd.'\"' - " call Decho("filter input: ".getline('.')) - else -- put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' -+ keepj put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' - " call Decho("filter input: ".getline('.')) - endif -- put ='put \"'.tmpfile.'\" \"'.netrw_fname.'\"' -+ keepj put =g:netrw_ftpmode -+" call Decho("filter input: ".getline('$')) -+ if exists("g:netrw_ftpextracmd") -+ keepj put =g:netrw_ftpextracmd -+" call Decho("filter input: ".getline("$")) -+ endif -+ keepj put ='put \"'.tmpfile.'\" \"'.netrw_fname.'\"' - " call Decho("filter input: ".getline('.')) - " save choice/id/password for future use - let b:netrw_lastfile = choice -@@ -1162,7 +1161,7 @@ - " -i : turns off interactive prompting from ftp - " -n unix : DON'T use <.netrc>, even though it exists - " -n win32: quit being obnoxious about password -- norm! 1Gdd -+ keepj norm! 1Gdd - " call Decho("executing: %!".g:netrw_ftp_cmd." -i -n") - exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n" - " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) -@@ -1172,10 +1171,15 @@ - endif - let mod=1 - endif -- bd! -+ -+ " remove enew buffer (quietly) -+ let filtbuf= bufnr("%") -+ exe curbuf."b!" -+ let &l:bh= bhkeep -+ exe filtbuf."bw!" - - "......................................... -- " scp: NetWrite Method #4 {{{4 -+ " NetWrite: (scp) NetWrite Method #4 {{{3 - elseif b:netrw_method == 4 - " call Decho("write via scp (method #4)") - if exists("g:netrw_port") && g:netrw_port != "" -@@ -1188,7 +1192,7 @@ - let b:netrw_lastfile = choice - - "......................................... -- " http: NetWrite Method #5 {{{4 -+ " NetWrite: (http) NetWrite Method #5 {{{3 - elseif b:netrw_method == 5 - " call Decho("write via http (method #5)") - if !exists("g:netrw_quiet") -@@ -1196,33 +1200,45 @@ - endif - - "......................................... -- " dav: NetWrite Method #6 (cadaver) {{{4 -+ " NetWrite: (dav) NetWrite Method #6 (cadaver) {{{3 - elseif b:netrw_method == 6 - " call Decho("write via cadaver (method #6)") - - " Construct execution string (four lines) which will be passed through filter -- let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape) -- new -+ let netrw_fname = escape(b:netrw_fname,g:netrw_fname_escape) -+ let bhkeep = &l:bh -+ -+ " formerly just a "new...bd!", that changed the window sizes when equalalways. Using enew workaround instead -+ let curbuf = bufnr("%") -+ setlocal bh=hide -+ enew -+ - setlocal ff=unix - if exists("g:netrw_port") && g:netrw_port != "" -- put ='open '.g:netrw_machine.' '.g:netrw_port -+ keepj put ='open '.g:netrw_machine.' '.g:netrw_port - else -- put ='open '.g:netrw_machine -+ keepj put ='open '.g:netrw_machine - endif - if exists("g:netrw_uid") && exists("s:netrw_passwd") -- put ='user '.g:netrw_uid.' '.s:netrw_passwd -+ keepj put ='user '.g:netrw_uid.' '.s:netrw_passwd - endif -- put ='put '.tmpfile.' '.netrw_fname -+ keepj put ='put '.tmpfile.' '.netrw_fname - - " perform cadaver operation: -- norm! 1Gdd -+ keepj norm! 1Gdd - " call Decho("executing: %!".g:netrw_dav_cmd) - exe s:netrw_silentxfer."%!".g:netrw_dav_cmd -- bd! -+ -+ " remove enew buffer (quietly) -+ let filtbuf= bufnr("%") -+ exe curbuf."b!" -+ let &l:bh = bhkeep -+ exe filtbuf."bw!" -+ - let b:netrw_lastfile = choice - - "......................................... -- " rsync: NetWrite Method #7 {{{4 -+ " NetWrite: (rsync) NetWrite Method #7 {{{3 - elseif b:netrw_method == 7 - " call Decho("write via rsync (method #7)") - " call Decho("executing: !".g:netrw_rsync_cmd." ".shellescape(tmpfile,1)." ".shellescape(g:netrw_machine.":".b:netrw_fname,1)) -@@ -1230,7 +1246,7 @@ - let b:netrw_lastfile = choice - - "......................................... -- " sftp: NetWrite Method #9 {{{4 -+ " NetWrite: (sftp) NetWrite Method #9 {{{3 - elseif b:netrw_method == 9 - " call Decho("read via sftp (method #9)") - let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape) -@@ -1239,24 +1255,32 @@ - else - let uid_machine = g:netrw_machine - endif -- new -+ -+ " formerly just a "new...bd!", that changed the window sizes when equalalways. Using enew workaround instead -+ let bhkeep = &l:bh -+ let curbuf = bufnr("%") -+ setlocal bh=hide -+ enew -+ - setlocal ff=unix -- put ='put \"'.escape(tmpfile,'\').'\" '.netrw_fname -+ call setline(1,'put "'.escape(tmpfile,'\').'" '.netrw_fname) - " call Decho("filter input: ".getline('.')) -- norm! 1Gdd - " call Decho("executing: %!".g:netrw_sftp_cmd.' '.shellescape(uid_machine,1)) - exe s:netrw_silentxfer."%!".g:netrw_sftp_cmd.' '.shellescape(uid_machine,1) -- bd! -- let b:netrw_lastfile= choice -+ let filtbuf= bufnr("%") -+ exe curbuf."b!" -+ let &l:bh = bhkeep -+ exe filtbuf."bw!" -+ let b:netrw_lastfile = choice - - "......................................... -- " Complain {{{4 -+ " NetWrite: Complain {{{3 - else - call netrw#ErrorMsg(s:WARNING,"unable to comply with your request<" . choice . ">",17) - endif - endwhile - -- " Cleanup: {{{3 -+ " NetWrite: Cleanup: {{{3 - " call Decho("cleanup") - if s:FileReadable(tmpfile) - " call Decho("tmpfile<".tmpfile."> readable, will now delete it") -@@ -1269,6 +1293,7 @@ - let &mod= mod - endif - -+ " restore equalalways - " call Dret("netrw#NetWrite") - endfun - -@@ -1369,12 +1394,8 @@ - - " rename buffer back to remote filename - " call Decho("exe silent! keepalt file ".fnameescape(rfile)) -- exe "silent! keepalt file ".fnameescape(rfile) -- if a:method == 5 -- set ft=html -- else -- filetype detect -- endif -+ exe "sil! keepalt file ".fnameescape(rfile) -+ filetype detect - " call Dredir("renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">","ls!") - let line1 = 1 - let line2 = line("$") -@@ -1406,7 +1427,7 @@ - " call Decho("NetReadFixup() not called, doesn't exist (line1=".line1." line2=".line2.")") - endif - -- if has("gui") && has("menu") && has("gui_running") && &go =~ 'm' -+ if has("gui") && has("menu") && has("gui_running") && &go =~ 'm' && g:netrw_menu - " update the Buffers menu - call s:UpdateBuffersMenu() - endif -@@ -1422,18 +1443,34 @@ - - " ------------------------------------------------------------------------ - " s:NetrwMethod: determine method of transfer {{{2 --" method == 1: rcp --" 2: ftp + <.netrc> --" 3: ftp + machine, id, password, and [path]filename --" 4: scp --" 5: http (wget) --" 6: cadaver --" 7: rsync --" 8: fetch --" 9: sftp --fun! s:NetrwMethod(choice) " globals: method machine id passwd fname -+" Input: -+" choice = url [protocol:]//[userid@]hostname[:port]/[path-to-file] -+" Output: -+" b:netrw_method= 1: rcp -+" 2: ftp + <.netrc> -+" 3: ftp + machine, id, password, and [path]filename -+" 4: scp -+" 5: http (wget) -+" 6: dav -+" 7: rsync -+" 8: fetch -+" 9: sftp -+" g:netrw_machine= hostname -+" b:netrw_fname = filename -+" g:netrw_port = optional port number (for ftp) -+" g:netrw_choice = copy of input url (choice) -+fun! s:NetrwMethod(choice) - " call Dfunc("NetrwMethod(a:choice<".a:choice.">)") - -+ " record current g:netrw_machine, if any -+ " curmachine used if protocol == ftp and no .netrc -+ if exists("g:netrw_machine") -+ let curmachine= g:netrw_machine -+" call Decho("curmachine<".curmachine.">") -+ else -+ let curmachine= "N O T A HOST" -+ endif -+ - " initialization - let b:netrw_method = 0 - let g:netrw_machine = "" -@@ -1449,7 +1486,7 @@ - " rcphf : [user@]host:filename Use rcp - " scpurm : scp://[user@]host[[#:]port]/filename Use scp - " httpurm : http://[user@]host/filename Use wget -- " davurm : dav[s]://host[:port]/path Use cadaver -+ " davurm : dav[s]://host[:port]/path Use cadaver/curl - " rsyncurm : rsync://host[:port]/path Use rsync - " fetchurm : fetch://[user@]host[:http]/filename Use fetch (defaults to ftp, override for http) - " sftpurm : sftp://[user@]host/filename Use scp -@@ -1518,9 +1555,14 @@ - let g:netrw_machine= substitute(a:choice,ftpurm,'\3',"") - let g:netrw_port = substitute(a:choice,ftpurm,'\4',"") - let b:netrw_fname = substitute(a:choice,ftpurm,'\5',"") -+" call Decho("g:netrw_machine<".g:netrw_machine.">") - if userid != "" - let g:netrw_uid= userid - endif -+ if exists("s:netrw_passwd") && curmachine != g:netrw_machine -+ " if there's a change in hostname, require password re-entry -+ unlet s:netrw_passwd -+ endif - if exists("g:netrw_uid") && exists("s:netrw_passwd") - let b:netrw_method = 3 - else -@@ -1592,7 +1634,7 @@ - - else - if !exists("g:netrw_quiet") -- call netrw#ErrorMsg(s:WARNING,"cannot determine method",45) -+ call netrw#ErrorMsg(s:WARNING,"cannot determine method (format: protocol://[user@]hostname[:port]/[path])",45) - endif - let b:netrw_method = -1 - endif -@@ -1626,10 +1668,24 @@ - if has("win95") && exists("g:netrw_win95ftp") && g:netrw_win95ftp - fun! NetReadFixup(method, line1, line2) - " call Dfunc("NetReadFixup(method<".a:method."> line1=".a:line1." line2=".a:line2.")") -+ -+ " sanity checks -- attempt to convert inputs to integers -+ let method = a:method + 0 -+ let line1 = a:line1 + 0 -+ let line2 = a:line2 + 0 -+ if type(method) != 0 || type(line1) != 0 || type(line2) != 0 || method < 0 || line1 <= 0 || line2 <= 0 -+" call Dret("NetReadFixup") -+ return -+ endif -+ - if method == 3 " ftp (no <.netrc>) - let fourblanklines= line2 - 3 -- silent fourblanklines.",".line2."g/^\s*/d" -+ if fourblanklines >= line1 -+ exe "sil keepj ".fourblanklines.",".line2."g/^\s*$/d" -+ call histdel("/",-1) -+ endif - endif -+ - " call Dret("NetReadFixup") - endfun - endif -@@ -1649,7 +1705,7 @@ - let g:netrw_uid= input('Enter username: ') - endif - else " from command line --" call Dfunc("NetUserPass(a:1<".a:1.">) {") -+" call Dfunc("NetUserPass(a:1<".a:1.">)") - let g:netrw_uid= a:1 - endif - -@@ -1678,7 +1734,7 @@ - nnoremap :call netrw#LocalBrowseCheck(NetrwBrowseChgDir(1,NetrwGetWord())) - nnoremap - :exe "norm! 0"call netrw#LocalBrowseCheck(NetrwBrowseChgDir(1,'../')) - nnoremap a :call NetrwHide(1) -- nnoremap mb :call NetrwBookmarkDir(0,b:netrw_curdir) -+ nnoremap mb :call NetrwBookHistHandler(0,b:netrw_curdir) - nnoremap mc :call NetrwMarkFileCopy(1) - nnoremap md :call NetrwMarkFileDiff(1) - nnoremap me :call NetrwMarkFileEdit(1) -@@ -1694,41 +1750,92 @@ - nnoremap mu :call NetrwUnMarkFile(1) - nnoremap mx :call NetrwMarkFileExe(1) - nnoremap mz :call NetrwMarkFileCompress(1) -- nnoremap gb :call NetrwBookmarkDir(1,b:netrw_curdir) -+ nnoremap gb :call NetrwBookHistHandler(1,b:netrw_curdir) - nnoremap gh :call NetrwHidden(1) -+ nnoremap gp :call NetrwChgPerm(1,b:netrw_curdir) - nnoremap c :exe "keepjumps lcd ".fnameescape(b:netrw_curdir) - nnoremap C :let g:netrw_chgwin= winnr() - nnoremap d :call NetrwMakeDir("") - nnoremap i :call NetrwListStyle(1) -+ nnoremap I :call NetrwBannerCtrl(1) - nnoremap o :call NetrwSplit(3) - nnoremap O :call NetrwObtain(1) - nnoremap p :call NetrwPreview(NetrwBrowseChgDir(1,NetrwGetWord(),1)) - nnoremap P :call NetrwPrevWinOpen(1) -- nnoremap qb :call NetrwBookmarkDir(2,b:netrw_curdir) -- nnoremap mB :call NetrwBookmarkDir(6,b:netrw_curdir) -+ nnoremap qb :call NetrwBookHistHandler(2,b:netrw_curdir) -+ nnoremap mB :call NetrwBookHistHandler(6,b:netrw_curdir) - nnoremap qf :call NetrwFileInfo(1,NetrwGetWord()) - nnoremap r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'exe "norm! 0"call NetrwRefresh(1,NetrwBrowseChgDir(1,'./')) - nnoremap s :call NetrwSortStyle(1) - nnoremap S :call NetSortSequence(1) - nnoremap t :call NetrwSplit(4) -- nnoremap u :call NetrwBookmarkDir(4,expand("%")) -- nnoremap U :call NetrwBookmarkDir(5,expand("%")) -+ nnoremap T :call NetrwSplit(4)norm! gT -+ nnoremap u :call NetrwBookHistHandler(4,expand("%")) -+ nnoremap U :call NetrwBookHistHandler(5,expand("%")) - nnoremap v :call NetrwSplit(5) - nnoremap x :call netrw#NetrwBrowseX(NetrwBrowseChgDir(1,NetrwGetWord(),0),0)" - nnoremap % :call NetrwOpenFile(1) -+ inoremap :call netrw#LocalBrowseCheck(NetrwBrowseChgDir(1,NetrwGetWord())) -+ inoremap - :exe "norm! 0"call netrw#LocalBrowseCheck(NetrwBrowseChgDir(1,'../')) -+ inoremap a :call NetrwHide(1) -+ inoremap mb :call NetrwBookHistHandler(0,b:netrw_curdir) -+ inoremap mc :call NetrwMarkFileCopy(1) -+ inoremap md :call NetrwMarkFileDiff(1) -+ inoremap me :call NetrwMarkFileEdit(1) -+ inoremap mf :call NetrwMarkFile(1,NetrwGetWord()) -+ inoremap mg :call NetrwMarkFileGrep(1) -+ inoremap mh :call NetrwMarkHideSfx(1) -+ inoremap mm :call NetrwMarkFileMove(1) -+ inoremap mp :call NetrwMarkFilePrint(1) -+ inoremap mr :call NetrwMarkFileRegexp(1) -+ inoremap ms :call NetrwMarkFileSource(1) -+ inoremap mT :call NetrwMarkFileTag(1) -+ inoremap mt :call NetrwMarkFileTgt(1) -+ inoremap mu :call NetrwUnMarkFile(1) -+ inoremap mx :call NetrwMarkFileExe(1) -+ inoremap mz :call NetrwMarkFileCompress(1) -+ inoremap gb :call NetrwBookHistHandler(1,b:netrw_curdir) -+ inoremap gh :call NetrwHidden(1) -+ inoremap gp :call NetrwChgPerm(1,b:netrw_curdir) -+ inoremap c :exe "keepjumps lcd ".fnameescape(b:netrw_curdir) -+ inoremap C :let g:netrw_chgwin= winnr() -+ inoremap d :call NetrwMakeDir("") -+ inoremap i :call NetrwListStyle(1) -+ inoremap I :call NetrwBannerCtrl(1) -+ inoremap o :call NetrwSplit(3) -+ inoremap O :call NetrwObtain(1) -+ inoremap p :call NetrwPreview(NetrwBrowseChgDir(1,NetrwGetWord(),1)) -+ inoremap P :call NetrwPrevWinOpen(1) -+ inoremap qb :call NetrwBookHistHandler(2,b:netrw_curdir) -+ inoremap mB :call NetrwBookHistHandler(6,b:netrw_curdir) -+ inoremap qf :call NetrwFileInfo(1,NetrwGetWord()) -+ inoremap r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'exe "norm! 0"call NetrwRefresh(1,NetrwBrowseChgDir(1,'./')) -+ inoremap s :call NetrwSortStyle(1) -+ inoremap S :call NetSortSequence(1) -+ inoremap t :call NetrwSplit(4) -+ inoremap T :call NetrwSplit(4)norm! gT -+ inoremap u :call NetrwBookHistHandler(4,expand("%")) -+ inoremap U :call NetrwBookHistHandler(5,expand("%")) -+ inoremap v :call NetrwSplit(5) -+ inoremap x :call netrw#NetrwBrowseX(NetrwBrowseChgDir(1,NetrwGetWord(),0),0)" -+ inoremap % :call NetrwOpenFile(1) - if !hasmapto('NetrwHideEdit') - nmap NetrwHideEdit -+ imap NetrwHideEdit - endif - nnoremap NetrwHideEdit :call NetrwHideEdit(1) - if !hasmapto('NetrwRefresh') - nmap NetrwRefresh -+ imap NetrwRefresh - endif - nnoremap NetrwRefresh :call NetrwRefresh(1,NetrwBrowseChgDir(1,'./')) - if s:didstarstar || !mapcheck("","n") - nnoremap :Nexplore -+ inoremap :Nexplore - endif - if s:didstarstar || !mapcheck("","n") - nnoremap :Pexplore -+ inoremap :Pexplore - endif - let mapsafecurdir = escape(b:netrw_curdir, s:netrw_map_escape) - if g:netrw_mousemaps == 1 -@@ -1737,14 +1844,22 @@ - nnoremap :call NetrwMarkFile(1,NetrwGetWord()) - exe 'nnoremap :call NetrwLocalRm("'.mapsafecurdir.'")' - exe 'vnoremap :call NetrwLocalRm("'.mapsafecurdir.'")' -+ inoremap :call NetrwLeftmouse(1) -+ inoremap :call NetrwPrevWinOpen(1) -+ inoremap :call NetrwMarkFile(1,NetrwGetWord()) -+ exe 'inoremap :call NetrwLocalRm("'.mapsafecurdir.'")' - endif - exe 'nnoremap :call NetrwLocalRm("'.mapsafecurdir.'")' -- exe 'vnoremap :call NetrwLocalRm("'.mapsafecurdir.'")' - exe 'nnoremap D :call NetrwLocalRm("'.mapsafecurdir.'")' -- exe 'vnoremap D :call NetrwLocalRm("'.mapsafecurdir.'")' - exe 'nnoremap R :call NetrwLocalRename("'.mapsafecurdir.'")' -- exe 'vnoremap R :call NetrwLocalRename("'.mapsafecurdir.'")' - exe 'nnoremap m :call NetrwMakeDir("")' -+ exe 'vnoremap :call NetrwLocalRm("'.mapsafecurdir.'")' -+ exe 'vnoremap D :call NetrwLocalRm("'.mapsafecurdir.'")' -+ exe 'vnoremap R :call NetrwLocalRename("'.mapsafecurdir.'")' -+ exe 'inoremap :call NetrwLocalRm("'.mapsafecurdir.'")' -+ exe 'inoremap D :call NetrwLocalRm("'.mapsafecurdir.'")' -+ exe 'inoremap R :call NetrwLocalRename("'.mapsafecurdir.'")' -+ exe 'inoremap m :call NetrwMakeDir("")' - nnoremap :he netrw-quickhelp - - else " remote -@@ -1754,7 +1869,7 @@ - nnoremap :call NetrwRefresh(0,NetrwBrowseChgDir(0,'./')) - nnoremap - :exe "norm! 0"call NetrwBrowse(0,NetrwBrowseChgDir(0,'../')) - nnoremap a :call NetrwHide(0) -- nnoremap mb :call NetrwBookmarkDir(0,b:netrw_curdir) -+ nnoremap mb :call NetrwBookHistHandler(0,b:netrw_curdir) - nnoremap mc :call NetrwMarkFileCopy(0) - nnoremap md :call NetrwMarkFileDiff(0) - nnoremap me :call NetrwMarkFileEdit(0) -@@ -1770,32 +1885,80 @@ - nnoremap mu :call NetrwUnMarkFile(0) - nnoremap mx :call NetrwMarkFileExe(0) - nnoremap mz :call NetrwMarkFileCompress(0) -- nnoremap gb :call NetrwBookmarkDir(1,b:netrw_cur) -+ nnoremap gb :call NetrwBookHistHandler(1,b:netrw_cur) - nnoremap gh :call NetrwHidden(0) -+ nnoremap gp :call NetrwChgPerm(0,b:netrw_curdir) - nnoremap C :let g:netrw_chgwin= winnr() - nnoremap i :call NetrwListStyle(0) -+ nnoremap I :call NetrwBannerCtrl(1) - nnoremap o :call NetrwSplit(0) - nnoremap O :call NetrwObtain(0) - nnoremap p :call NetrwPreview(NetrwBrowseChgDir(1,NetrwGetWord(),1)) - nnoremap P :call NetrwPrevWinOpen(0) -- nnoremap qb :call NetrwBookmarkDir(2,b:netrw_curdir) -- nnoremap mB :call NetrwBookmarkDir(6,b:netrw_curdir) -+ nnoremap qb :call NetrwBookHistHandler(2,b:netrw_curdir) -+ nnoremap mB :call NetrwBookHistHandler(6,b:netrw_curdir) - nnoremap qf :call NetrwFileInfo(0,NetrwGetWord()) - nnoremap r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'exe "norm! 0"call NetrwBrowse(0,NetrwBrowseChgDir(0,'./')) - nnoremap s :call NetrwSortStyle(0) - nnoremap S :call NetSortSequence(0) - nnoremap t :call NetrwSplit(1) -- nnoremap u :call NetrwBookmarkDir(4,b:netrw_curdir) -- nnoremap U :call NetrwBookmarkDir(5,b:netrw_curdir) -+ nnoremap T :call NetrwSplit(1)norm! gT -+ nnoremap u :call NetrwBookHistHandler(4,b:netrw_curdir) -+ nnoremap U :call NetrwBookHistHandler(5,b:netrw_curdir) - nnoremap v :call NetrwSplit(2) - nnoremap x :call netrw#NetrwBrowseX(NetrwBrowseChgDir(0,NetrwGetWord()),1) - nnoremap % :call NetrwOpenFile(0) -+ inoremap :call NetrwBrowse(0,NetrwBrowseChgDir(0,NetrwGetWord())) -+ inoremap :call NetrwRefresh(0,NetrwBrowseChgDir(0,'./')) -+ inoremap - :exe "norm! 0"call NetrwBrowse(0,NetrwBrowseChgDir(0,'../')) -+ inoremap a :call NetrwHide(0) -+ inoremap mb :call NetrwBookHistHandler(0,b:netrw_curdir) -+ inoremap mc :call NetrwMarkFileCopy(0) -+ inoremap md :call NetrwMarkFileDiff(0) -+ inoremap me :call NetrwMarkFileEdit(0) -+ inoremap mf :call NetrwMarkFile(0,NetrwGetWord()) -+ inoremap mg :call NetrwMarkFileGrep(0) -+ inoremap mh :call NetrwMarkHideSfx(0) -+ inoremap mm :call NetrwMarkFileMove(0) -+ inoremap mp :call NetrwMarkFilePrint(0) -+ inoremap mr :call NetrwMarkFileRegexp(0) -+ inoremap ms :call NetrwMarkFileSource(0) -+ inoremap mT :call NetrwMarkFileTag(0) -+ inoremap mt :call NetrwMarkFileTgt(0) -+ inoremap mu :call NetrwUnMarkFile(0) -+ inoremap mx :call NetrwMarkFileExe(0) -+ inoremap mz :call NetrwMarkFileCompress(0) -+ inoremap gb :call NetrwBookHistHandler(1,b:netrw_cur) -+ inoremap gh :call NetrwHidden(0) -+ inoremap gp :call NetrwChgPerm(0,b:netrw_curdir) -+ inoremap C :let g:netrw_chgwin= winnr() -+ inoremap i :call NetrwListStyle(0) -+ inoremap I :call NetrwBannerCtrl(1) -+ inoremap o :call NetrwSplit(0) -+ inoremap O :call NetrwObtain(0) -+ inoremap p :call NetrwPreview(NetrwBrowseChgDir(1,NetrwGetWord(),1)) -+ inoremap P :call NetrwPrevWinOpen(0) -+ inoremap qb :call NetrwBookHistHandler(2,b:netrw_curdir) -+ inoremap mB :call NetrwBookHistHandler(6,b:netrw_curdir) -+ inoremap qf :call NetrwFileInfo(0,NetrwGetWord()) -+ inoremap r :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'exe "norm! 0"call NetrwBrowse(0,NetrwBrowseChgDir(0,'./')) -+ inoremap s :call NetrwSortStyle(0) -+ inoremap S :call NetSortSequence(0) -+ inoremap t :call NetrwSplit(1) -+ inoremap T :call NetrwSplit(1)norm! gT -+ inoremap u :call NetrwBookHistHandler(4,b:netrw_curdir) -+ inoremap U :call NetrwBookHistHandler(5,b:netrw_curdir) -+ inoremap v :call NetrwSplit(2) -+ inoremap x :call netrw#NetrwBrowseX(NetrwBrowseChgDir(0,NetrwGetWord()),1) -+ inoremap % :call NetrwOpenFile(0) - if !hasmapto('NetrwHideEdit') - nmap NetrwHideEdit -+ imap NetrwHideEdit - endif - nnoremap NetrwHideEdit :call NetrwHideEdit(0) - if !hasmapto('NetrwRefresh') - nmap NetrwRefresh -+ imap NetrwRefresh - endif - - let mapsafepath = escape(s:path, s:netrw_map_escape) -@@ -1808,15 +1971,24 @@ - nnoremap :call NetrwMarkFile(0,NetrwGetWord()) - exe 'nnoremap :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' - exe 'vnoremap :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -+ inoremap :call NetrwLeftmouse(0) -+ inoremap :call NetrwPrevWinOpen(0) -+ inoremap :call NetrwMarkFile(0,NetrwGetWord()) -+ exe 'inoremap :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' - endif - exe 'nnoremap :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -+ exe 'nnoremap d :call NetrwMakeDir("'.mapsafeusermach.'")' -+ exe 'nnoremap D :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -+ exe 'nnoremap R :call NetrwRemoteRename("'.mapsafeusermach.'","'.mapsafepath.'")' - exe 'vnoremap :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -- exe 'nnoremap d :call NetrwMakeDir("'.mapsafeusermach.'")' -- exe 'nnoremap D :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -- exe 'vnoremap D :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -- exe 'nnoremap R :call NetrwRemoteRename("'.mapsafeusermach.'","'.mapsafepath.'")' -- exe 'vnoremap R :call NetrwRemoteRename("'.mapsafeusermach.'","'.mapsafepath.'")' -+ exe 'vnoremap D :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -+ exe 'vnoremap R :call NetrwRemoteRename("'.mapsafeusermach.'","'.mapsafepath.'")' -+ exe 'inoremap :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -+ exe 'inoremap d :call NetrwMakeDir("'.mapsafeusermach.'")' -+ exe 'inoremap D :call NetrwRemoteRm("'.mapsafeusermach.'","'.mapsafepath.'")' -+ exe 'inoremap R :call NetrwRemoteRename("'.mapsafeusermach.'","'.mapsafepath.'")' - nnoremap :he netrw-quickhelp -+ inoremap :he netrw-quickhelp - endif - call s:SetRexDir(a:islocal,b:netrw_curdir) - " call Dret("s:BrowserMaps") -@@ -1836,7 +2008,7 @@ - endfun - - " --------------------------------------------------------------------- --" s:NetrwBookmarkDir: {{{2 -+" s:NetrwBookHistHandler: {{{2 - " 0: (user: ) bookmark current directory - " 1: (user: ) change to the bookmarked directory - " 2: (user: ) list bookmarks -@@ -1844,32 +2016,27 @@ - " 4: (user: ) go up (previous) bookmark - " 5: (user: ) go down (next) bookmark - " 6: (user: ) delete bookmark --fun! s:NetrwBookmarkDir(chg,curdir) --" call Dfunc("NetrwBookmarkDir(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count." bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." bookmax=".g:NETRW_BOOKMARKMAX." histmax=".g:netrw_dirhistmax) -+fun! s:NetrwBookHistHandler(chg,curdir) -+" call Dfunc("s:NetrwBookHistHandler(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count." histcnt=".g:netrw_dirhist_cnt." histmax=".g:netrw_dirhistmax) - - if a:chg == 0 - " bookmark the current directory - " call Decho("(user: ) bookmark the current directory") -- if v:count > 0 -- " handle bookmark# specified via the count -- let g:NETRW_BOOKMARKDIR_{v:count}= a:curdir -- if !exists("g:NETRW_BOOKMARKMAX") -- let g:NETRW_BOOKMARKMAX= v:count -- elseif v:count > g:NETRW_BOOKMARKMAX -- let g:NETRW_BOOKMARKMAX= v:count -- endif -- else -- " handle no count specified -- let g:NETRW_BOOKMARKMAX = g:NETRW_BOOKMARKMAX + 1 -- let g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX} = a:curdir -+ if !exists("g:netrw_bookmarklist") -+ let g:netrw_bookmarklist= [] -+ endif -+ if index(g:netrw_bookmarklist,a:curdir) == -1 -+ " curdir not currently in g:netrw_bookmarklist, so include it -+ call add(g:netrw_bookmarklist,a:curdir) -+ call sort(g:netrw_bookmarklist) - endif - echo "bookmarked the current directory" - - elseif a:chg == 1 - " change to the bookmarked directory --" call Decho("(user: ) change to the bookmarked directory") -- if exists("g:NETRW_BOOKMARKDIR_{v:count}") -- exe "e ".fnameescape(g:NETRW_BOOKMARKDIR_{v:count}) -+" call Decho("(user: <".v:count."mb>) change to the bookmarked directory") -+ if exists("g:netrw_bookmarklist[v:count-1]") -+ exe "e ".fnameescape(g:netrw_bookmarklist[v:count-1]) - else - echomsg "Sorry, bookmark#".v:count." doesn't exist!" - endif -@@ -1879,29 +2046,27 @@ - let didwork= 0 - " list user's bookmarks - " call Decho("(user: ) list user's bookmarks") -- if exists("g:NETRW_BOOKMARKMAX") --" call Decho("list bookmarks [0,".g:NETRW_BOOKMARKMAX."]") -- let cnt= 0 -- while cnt <= g:NETRW_BOOKMARKMAX -- if exists("g:NETRW_BOOKMARKDIR_{cnt}") --" call Decho("Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt}) -- echo "Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt} -- let didwork= 1 -- endif -- let cnt= cnt + 1 -- endwhile -+ if exists("g:netrw_bookmarklist") -+" call Decho('list '.len(g:netrw_bookmarklist).' bookmarks') -+ let cnt= 1 -+ for bmd in g:netrw_bookmarklist -+" call Decho("Netrw Bookmark#".cnt.": ".g:netrw_bookmarklist[cnt-1]) -+ echo "Netrw Bookmark#".cnt.": ".g:netrw_bookmarklist[cnt-1] -+ let didwork = 1 -+ let cnt = cnt + 1 -+ endfor - endif - - " list directory history -- let cnt = g:NETRW_DIRHIST_CNT -+ let cnt = g:netrw_dirhist_cnt - let first = 1 - let histcnt = 0 -- while ( first || cnt != g:NETRW_DIRHIST_CNT ) --" call Decho("first=".first." cnt=".cnt." dirhist_cnt=".g:NETRW_DIRHIST_CNT) -+ while ( first || cnt != g:netrw_dirhist_cnt ) -+" call Decho("first=".first." cnt=".cnt." dirhist_cnt=".g:netrw_dirhist_cnt) - let histcnt= histcnt + 1 -- if exists("g:NETRW_DIRHIST_{cnt}") --" call Decho("Netrw History#".histcnt.": ".g:NETRW_DIRHIST_{cnt}) -- echo "Netrw History#".histcnt.": ".g:NETRW_DIRHIST_{cnt} -+ if exists("g:netrw_dirhist_{cnt}") -+" call Decho("Netrw History#".histcnt.": ".g:netrw_dirhist_{cnt}) -+ echo "Netrw History#".histcnt.": ".g:netrw_dirhist_{cnt} - let didwork= 1 - endif - let first = 0 -@@ -1917,101 +2082,151 @@ - elseif a:chg == 3 - " saves most recently visited directories (when they differ) - " call Decho("(browsing) record curdir history") -- if !exists("g:NETRW_DIRHIST_0") || g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT} != a:curdir -- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax --" let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= substitute(a:curdir,'[/\\]$','','e') -- let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= a:curdir --" call Decho("save dirhist#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">") -+ if !exists("g:netrw_dirhist_cnt") || !exists("g:netrw_dirhist_{g:netrw_dirhist_cnt}") || g:netrw_dirhist_{g:netrw_dirhist_cnt} != a:curdir -+ let g:netrw_dirhist_cnt = ( g:netrw_dirhist_cnt + 1 ) % g:netrw_dirhistmax -+ let g:netrw_dirhist_{g:netrw_dirhist_cnt} = a:curdir -+" call Decho("save dirhist#".g:netrw_dirhist_cnt."<".g:netrw_dirhist_{g:netrw_dirhist_cnt}.">") - endif - - elseif a:chg == 4 - " u: change to the previous directory stored on the history list - " call Decho("(user: ) chg to prev dir from history") -- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax -- if g:NETRW_DIRHIST_CNT < 0 -- let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax -+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt - 1 ) % g:netrw_dirhistmax -+ if g:netrw_dirhist_cnt < 0 -+ let g:netrw_dirhist_cnt= g:netrw_dirhist_cnt + g:netrw_dirhistmax - endif -- if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}") --" call Decho("changedir u#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">") -+ if exists("g:netrw_dirhist_{g:netrw_dirhist_cnt}") -+" call Decho("changedir u#".g:netrw_dirhist_cnt."<".g:netrw_dirhist_{g:netrw_dirhist_cnt}.">") - if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir") - setlocal ma noro - " call Decho("setlocal ma noro") -- %d -+ keepj %d - setlocal nomod - " call Decho("setlocal nomod") - endif --" " call Decho("exe e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})) -- exe "e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}) -+" " call Decho("exe e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt})) -+ exe "keepj e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt}) - else -- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax -+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt + 1 ) % g:netrw_dirhistmax - echo "Sorry, no predecessor directory exists yet" - endif - - elseif a:chg == 5 - " U: change to the subsequent directory stored on the history list - " call Decho("(user: ) chg to next dir from history") -- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax -- if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}") --" call Decho("changedir U#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">") -+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt + 1 ) % g:netrw_dirhistmax -+ if exists("g:netrw_dirhist_{g:netrw_dirhist_cnt}") -+" call Decho("changedir U#".g:netrw_dirhist_cnt."<".g:netrw_dirhist_{g:netrw_dirhist_cnt}.">") - if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir") - setlocal ma noro - " call Decho("setlocal ma noro") -- %d -+ keepj %d - " call Decho("removed all lines from buffer (%d)") - setlocal nomod - " call Decho("setlocal nomod") - endif --" call Decho("exe e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})) -- exe "e! ".fnameescape(g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}) -+" call Decho("exe e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt})) -+ exe "keepj e! ".fnameescape(g:netrw_dirhist_{g:netrw_dirhist_cnt}) - else -- let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax -- if g:NETRW_DIRHIST_CNT < 0 -- let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax -+ let g:netrw_dirhist_cnt= ( g:netrw_dirhist_cnt - 1 ) % g:netrw_dirhistmax -+ if g:netrw_dirhist_cnt < 0 -+ let g:netrw_dirhist_cnt= g:netrw_dirhist_cnt + g:netrw_dirhistmax - endif - echo "Sorry, no successor directory exists yet" - endif - - elseif a:chg == 6 -- if v:count > 0 && v:count == g:NETRW_BOOKMARKMAX -- " delete the v:count'th bookmark --" call Decho("delete bookmark#".v:count."<".g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}.">") -- unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX} -- let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1 -- -- elseif v:count > 0 --" call Decho("delete by shifting bookmark#".v:count."<".g:NETRW_BOOKMARKDIR_{v:count}.">") -- let cnt= v:count -- while cnt < g:NETRW_BOOKMARKMAX -- let g:NETRW_BOOKMARKDIR_{cnt} = g:NETRW_BOOKMARKDIR_{(cnt+1)} -- let cnt = cnt + 1 -- endwhile -- unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX} -- let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1 -+ " delete the v:count'th bookmark -+" call Decho("delete bookmark#".v:count."<".g:netrw_bookmarklist[v:count-1].">") -+ let savefile= s:NetrwHome()."/.netrwbook" -+ if filereadable(savefile) -+ call s:NetrwBookHistSave() " done here to merge bookmarks first -+ call delete(savefile) -+ endif -+ call remove(g:netrw_bookmarklist,v:count-1) -+ endif -+ call s:NetrwBookmarkMenu() -+" call Dret("s:NetrwBookHistHandler") -+endfun - -- elseif exists("b:netrw_curdir") -- " look for current directory amongst the bookmarks and remove that bookmark --" call Decho("search for bookmark<".b:netrw_curdir.">") -- let cnt= 1 -- while cnt <= g:NETRW_BOOKMARKMAX --" call Decho("checking: g:NETRW_BOOKMARKDIR_".cnt."<".g:NETRW_BOOKMARKDIR_{cnt}.">") -- if g:NETRW_BOOKMARKDIR_{cnt} == b:netrw_curdir -- if cnt < g:NETRW_BOOKMARKMAX --" call Decho("delete bookmark#".cnt."<".b:netrw_curdir.">") -- while cnt < g:NETRW_BOOKMARMAX -- let g:NETRW_BOOKMARKDIR_{cnt} = g:NETRW_BOOKMARKDIR_{(cnt+1)} -- let cnt = cnt + 1 -- endwhile -- endif -- unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX} -- let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1 -+" --------------------------------------------------------------------- -+" s:NetrwBookHistRead: this function reads bookmarks and history {{{2 -+" Sister function: s:NetrwBookHistSave() -+fun! s:NetrwBookHistRead() -+" call Dfunc("s:NetrwBookHistRead()") -+ if !exists("s:netrw_initbookhist") -+ let home = s:NetrwHome() -+ let savefile= home."/.netrwbook" -+ if filereadable(savefile) -+" call Decho("sourcing .netrwbook") -+ exe "so ".savefile -+ endif -+ let savefile= home."/.netrwhist" -+ if filereadable(savefile) -+" call Decho("sourcing .netrwhist") -+ exe "so ".savefile -+ endif -+ let s:netrw_initbookhist= 1 -+ au VimLeave * call s:NetrwBookHistSave() -+ endif -+" call Dret("s:NetrwBookHistRead") -+endfun -+ -+" --------------------------------------------------------------------- -+" s:NetrwBookHistSave: this function saves bookmarks and history {{{2 -+" Sister function: s:NetrwBookHistRead() -+" I used to do this via viminfo but that appears to -+" be unreliable for long-term storage -+" COMBAK: does $HOME work under windows??? -+fun! s:NetrwBookHistSave() -+" call Dfunc("s:NetrwBookHistSave() dirhistmax=".g:netrw_dirhistmax) -+ let savefile= s:NetrwHome()."/.netrwhist" -+ 1split -+ call s:NetrwEnew() -+ setlocal cino= com= cpo-=aA fo=nroql2 tw=0 report=10000 noswf -+ setlocal nocin noai noci magic nospell nohid wig= noaw -+ setlocal ma noro write -+ if exists("&acd") | setlocal noacd | endif -+ silent %d -+ -+ " save .netrwhist -- no attempt to merge -+ silent! file .netrwhist -+ call setline(1,"let g:netrw_dirhistmax =".g:netrw_dirhistmax) -+ call setline(2,"let g:netrw_dirhist_cnt =".g:netrw_dirhist_cnt) -+ let lastline = line("$") -+ let cnt = 1 -+ while cnt <= g:netrw_dirhist_cnt -+ call setline((cnt+lastline),'let g:netrw_dirhist_'.cnt."='".g:netrw_dirhist_{cnt}."'") -+ let cnt= cnt + 1 -+ endwhile -+ exe "sil! w! ".savefile -+ -+ sil keepj %d -+ if exists("g:netrw_bookmarklist") && g:netrw_bookmarklist != [] -+ " merge and write .netrwbook -+ let savefile= s:NetrwHome()."/.netrwbook" -+ -+ if filereadable(savefile) -+ let booklist= deepcopy(g:netrw_bookmarklist) -+ exe "sil keepj so ".savefile -+ for bdm in booklist -+ if index(g:netrw_bookmarklist,bdm) == -1 -+ call add(g:netrw_bookmarklist,bdm) - endif -- let cnt= cnt + 1 -- endwhile -+ endfor -+ call sort(g:netrw_bookmarklist) -+ exe "sil! w! ".savefile - endif - -+ " construct and save .netrwbook -+ call setline(1,"let g:netrw_bookmarklist= ".string(g:netrw_bookmarklist)) -+ exe "sil! w! ".savefile - endif -- call s:NetrwBookmarkMenu() --" call Dret("NetrwBookmarkDir") -+ let bgone= bufnr("%") -+ q! -+ exe bgone."bwipe!" -+ -+" call Dret("s:NetrwBookHistSave") - endfun - - " --------------------------------------------------------------------- -@@ -2021,9 +2236,23 @@ - " with the requested remote hostname first. - fun! s:NetrwBrowse(islocal,dirname) - if !exists("w:netrw_liststyle")|let w:netrw_liststyle= g:netrw_liststyle|endif --" call Dfunc("s:NetrwBrowse(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".w:netrw_liststyle." ".g:loaded_netrw." buf#".bufnr("%")."<".bufname("%").">") -+" call Dfunc("s:NetrwBrowse(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".w:netrw_liststyle." ".g:loaded_netrw." buf#".bufnr("%")."<".bufname("%")."> win#".winnr()) - " call Decho("tab#".tabpagenr()." win#".winnr()) - " call Dredir("ls!") -+ if !exists("s:netrw_initbookhist") -+ call s:NetrwBookHistRead() -+ endif -+" call FOTEST(7) -+"call Decho("COMBAK#01 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") -+ -+ " simplify the dirname (especially for ".."s in dirnames) -+ if a:dirname !~ '^\a\+://' -+ let dirname= simplify(a:dirname) -+ else -+ let dirname= a:dirname -+ endif -+" call FOTEST(8) -+"call Decho("COMBAK#02 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - if exists("s:netrw_skipbrowse") - unlet s:netrw_skipbrowse -@@ -2043,44 +2272,49 @@ - endif - - call s:NetrwOptionSave("w:") -- call s:NetrwSafeOptions() -+" call FOTEST(9) -+"call Decho("COMBAK#03 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - " re-instate any marked files - if exists("s:netrwmarkfilelist_{bufnr('%')}") - " call Decho("clearing marked files") - exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{bufnr("%")}."/" - endif -+" call FOTEST(10) -+"call Decho("COMBAK#04 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - if a:islocal && exists("w:netrw_acdkeep") && w:netrw_acdkeep - " call Decho("handle w:netrw_acdkeep:") --" call Decho("keepjumps lcd ".fnameescape(a:dirname)." (due to w:netrw_acdkeep=".w:netrw_acdkeep." - acd=".&acd.")") -- exe 'keepjumps lcd '.fnameescape(a:dirname) -+" call Decho("keepjumps lcd ".fnameescape(dirname)." (due to w:netrw_acdkeep=".w:netrw_acdkeep." - acd=".&acd.")") -+ exe 'keepj lcd '.fnameescape(dirname) -+ call s:NetrwSafeOptions() - " call Decho("getcwd<".getcwd().">") - -- elseif !a:islocal && a:dirname !~ '[\/]$' && a:dirname !~ '^"' -+ elseif !a:islocal && dirname !~ '[\/]$' && dirname !~ '^"' - " looks like a regular file, attempt transfer --" call Decho("attempt transfer as regular file<".a:dirname.">") -+" call Decho("attempt transfer as regular file<".dirname.">") - - " remove any filetype indicator from end of dirname, except for the {{{3 - " "this is a directory" indicator (/). - " There shouldn't be one of those here, anyway. -- let path= substitute(a:dirname,'[*=@|]\r\=$','','e') -+ let path= substitute(dirname,'[*=@|]\r\=$','','e') - " call Decho("new path<".path.">") -- call s:RemotePathAnalysis(a:dirname) -+ call s:RemotePathAnalysis(dirname) - - " remote-read the requested file into current buffer {{{3 -- mark ' -- call s:NetrwEnew(a:dirname) -+ keepj mark ' -+ call s:NetrwEnew(dirname) -+ call s:NetrwSafeOptions() - setlocal ma noro - " call Decho("setlocal ma noro") -- let b:netrw_curdir= a:dirname -+ let b:netrw_curdir= dirname - " call Decho("exe silent! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path)." (bt=".&bt.")") -- exe "silent! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path) -- exe "silent keepalt doau BufReadPre ".fnameescape(s:fname) -+ exe "sil! keepalt file ".fnameescape(s:method."://".s:user.s:machine."/".s:path) -+ exe "sil keepalt doau BufReadPre ".fnameescape(s:fname) - silent call netrw#NetRead(2,s:method."://".s:user.s:machine."/".s:path) - if s:path !~ '.tar.bz2$' && s:path !~ '.tar.gz' - " netrw.vim and tar.vim have already handled decompression of the tarball; avoiding gzip.vim error -- exe "silent keepalt doau BufReadPost ".fnameescape(s:fname) -+ exe "sil keepalt doau BufReadPost ".fnameescape(s:fname) - endif - - " save certain window-oriented variables into buffer-oriented variables {{{3 -@@ -2092,17 +2326,21 @@ - " call Dret("s:NetrwBrowse : file<".s:fname.">") - return - endif -+" call FOTEST(11) -+"call Decho("COMBAK#05 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - " use buffer-oriented WinVars if buffer ones exist but window ones don't {{{3 - call s:UseBufWinVars() - - " set up some variables {{{3 - let b:netrw_browser_active = 1 -- let dirname = a:dirname -+ let dirname = dirname - let s:last_sort_by = g:netrw_sort_by - - " set up menu {{{3 - call s:NetrwMenu(1) -+" call FOTEST(12) -+"call Decho("COMBAK#06 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - " set up buffer {{{3 - let reusing= s:NetrwGetBuffer(a:islocal,dirname) -@@ -2122,9 +2360,11 @@ - " call Dret("s:NetrwBrowse : re-using buffer") - return - endif -+"" call FOTEST(13) " PROBLEM WITH LISTING -+"call Decho("COMBAK#07 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - " set b:netrw_curdir to the new directory name {{{3 --" call Decho("set b:netrw_curdir to the new directory name:") -+" call Decho("set b:netrw_curdir to the new directory name: (buf#".bufnr("%").")") - let b:netrw_curdir= dirname - if b:netrw_curdir =~ '[/\\]$' - let b:netrw_curdir= substitute(b:netrw_curdir,'[/\\]$','','e') -@@ -2143,6 +2383,8 @@ - let b:netrw_curdir= b:netrw_curdir.'/' - endif - " call Decho("b:netrw_curdir<".b:netrw_curdir.">") -+"" call FOTEST(14) " PROBLEM WITH LISTING -+"call Decho("COMBAK#08 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - " ------------ - " (local only) {{{3 -@@ -2160,7 +2402,7 @@ - if !exists("&l:acd") || !&l:acd - " call Decho('exe keepjumps lcd '.fnameescape(b:netrw_curdir)) - try -- exe 'keepjumps lcd '.fnameescape(b:netrw_curdir) -+ exe 'keepj lcd '.fnameescape(b:netrw_curdir) - catch /^Vim\%((\a\+)\)\=:E472/ - call netrw#ErrorMsg(s:ERROR,"unable to change directory to <".b:netrw_curdir."> (permissions?)",61) - if exists("w:netrw_prvdir") -@@ -2183,11 +2425,11 @@ - else - " call Decho("remote only:") - -- " analyze a:dirname and g:netrw_list_cmd {{{4 --" call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "doesn't exist")."> a:dirname<".a:dirname.">") -- if a:dirname =~ "^NetrwTreeListing\>" -+ " analyze dirname and g:netrw_list_cmd {{{4 -+" call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "doesn't exist")."> dirname<".dirname.">") -+ if dirname =~ "^NetrwTreeListing\>" - let dirname= b:netrw_curdir --" call Decho("(dirname was ".a:dirname.") dirname<".dirname.">") -+" call Decho("(dirname was ".dirname.") dirname<".dirname.">") - elseif exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir") - let dirname= substitute(b:netrw_curdir,'\\','/','g') - if dirname !~ '/$' -@@ -2196,7 +2438,7 @@ - let b:netrw_curdir = dirname - " call Decho("(liststyle is TREELIST) dirname<".dirname.">") - else -- let dirname = substitute(a:dirname,'\\','/','g') -+ let dirname = substitute(dirname,'\\','/','g') - " call Decho("(normal) dirname<".dirname.">") - endif - -@@ -2214,12 +2456,25 @@ - let b:netrw_curdir= dirname - " call Decho("b:netrw_curdir<".b:netrw_curdir."> (remote)") - endif " (additional remote handling) -+"" call FOTEST(15) " PROBLEM WITH LISTING -+"call Decho("COMBAK#09 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") - - " ----------------------- - " Directory Listing: {{{3 - " ----------------------- - call s:BrowserMaps(a:islocal) -+"" call FOTEST(16) " PROBLEM WITH LISTING - call s:PerformListing(a:islocal) -+" call FOTEST(17) -+"call Decho("COMBAK#10 buf(%)#".bufnr("%")."<".bufname("%")."> win#".winnr()." bufnr(win#1)=".winbufnr(1)."<".bufname(winbufnr(1))." bufnr(win#2)=".winbufnr(2)."<".bufname(winbufnr(2)).">") -+ -+ " The s:LocalBrowseShellCmdRefresh() function is called by an autocmd -+ " installed by s:LocalFastBrowser() when g:netrw_fastbrowse <= 1 (ie. slow, medium speed). -+ " However, s:NetrwBrowse() causes the ShellCmdPost event itself to fire once; setting -+ " the variable below avoids that second refresh of the screen. The s:LocalBrowseShellCmdRefresh() -+ " function gets called due to that autocmd; it notices that the following variable is set -+ " and skips the refresh and sets s:locbrowseshellcmd to zero. Oct 13, 2008 -+ let s:locbrowseshellcmd= 1 - - " call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap) - " call Dret("s:NetrwBrowse : did PerformListing") -@@ -2274,13 +2529,14 @@ - " call Decho("--re-use a buffer if possible--") - if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST - " find NetrwTreeList buffer if there is one -+" call Decho("find NetrwTreeList buffer if there is one") - if exists("w:netrw_treebufnr") && w:netrw_treebufnr > 0 - " call Decho(" re-use w:netrw_treebufnr=".w:netrw_treebufnr) - let eikeep= &ei - set ei=all - exe "b ".w:netrw_treebufnr - let &ei= eikeep --" call Dret("s:NetrwGetBuffer : bufnum#".bufnum."") -+" call Dret("s:NetrwGetBuffer : bufnum#".w:netrw_treebufnr."") - return - endif - let bufnum= -1 -@@ -2297,7 +2553,7 @@ - " call Decho(" bufnr(dirname<".escape(dirname,'\').">)=".bufnum) - - if bufnum < 0 && dirname !~ '/$' -- " trying appending a trailing / -+ " try appending a trailing / - " call Decho(" try appending a trailing / to dirname<".dirname.">") - let bufnum= bufnr(escape(dirname.'/','\')) - if bufnum > 0 -@@ -2306,7 +2562,7 @@ - endif - - if bufnum < 0 && dirname =~ '/$' -- " trying removing a trailing / -+ " try removing a trailing / - " call Decho(" try removing a trailing / from dirname<".dirname.">") - let bufnum= bufnr(escape(substitute(dirname,'/$','',''),'\')) - if bufnum > 0 -@@ -2318,17 +2574,34 @@ - " note: !~ was used just below, but that means using ../ to go back would match (ie. abc/def/ and abc/ matches) - if bufnum > 0 && bufname(bufnum) != dirname && bufname(bufnum) != '.' - " handle approximate matches --" call Decho(" handling approx match: bufnum#%d<".bufname(bufnum)."> approx=dirname<".dirname.">") -+" call Decho(" handling approx match: bufnum#".bufnum."<".bufname(bufnum)."> approx-dirname<".dirname.">") - let ibuf = 1 - let buflast = bufnr("$") --" call Decho(" findbuf2: buflast=".buflast) -+" call Decho(" findbuf2: buflast=bufnr($)=".buflast) - while ibuf <= buflast - let bname= substitute(bufname(ibuf),'\\','/','g') - let bname= substitute(bname,'.\zs/$','','') --" call Decho(" findbuf3: dirname<".dirname."> bufname(".ibuf.")<".bname.">") -- if bname != '' && dirname =~ '/'.bname.'/\=$' | break | endif -- if bname =~ '^'.dirname.'/\=$' | break | endif -- if dirname =~ '^'.bname.'/$' | break | endif -+" call Decho(" findbuf3: while [ibuf=",ibuf."]<=[buflast=".buflast."]: dirname<".dirname."> bname=bufname(".ibuf.")<".bname.">") -+ if bname != '' && dirname =~ '/'.bname.'/\=$' && dirname !~ '^/' -+ " bname is not empty -+ " dirname ends with bname, -+ " dirname doesn't start with /, so its not a absolute path -+" call Decho(" findbuf3a: passes test 1 : dirname<".dirname.'> =~ /'.bname.'/\=$ && dirname !~ ^/') -+ break -+ endif -+ if bname =~ '^'.dirname.'/\=$' -+ " bname begins with dirname -+" call Decho(' findbuf3b: passes test 2 : bname<'.bname.'>=~^'.dirname.'/\=$') -+ break -+ endif -+ if dirname =~ '^'.bname.'/$' -+" call Decho(' findbuf3c: passes test 3 : dirname<'.dirname.'>=~^'.bname.'/$') -+ break -+ endif -+ if bname != '' && dirname =~ '/'.bname.'$' && bname == bufname("%") && line("$") == 1 -+" call Decho(' findbuf3d: passes test 4 : dirname<'.dirname.'>=~ /'.bname.'$') -+ break -+ endif - let ibuf= ibuf + 1 - endwhile - if ibuf > buflast -@@ -2341,9 +2614,9 @@ - endif - - " get enew buffer and name it -or- re-use buffer {{{3 --" call Decho("--get enew buffer and name it OR re-use buffer-- (bufnum=".bufnum.")") -- mark ' -+ keepj mark ' - if bufnum < 0 || !bufexists(bufnum) -+" call Decho("--get enew buffer and name it (bufexists([bufnum=".bufnum."])=".bufexists(bufnum).")") - call s:NetrwEnew(dirname) - " call Decho(" got enew buffer#".bufnr("%")." (altbuf<".expand("#").">)") - " name the buffer -@@ -2357,7 +2630,8 @@ - endif - let w:netrw_treebufnr= bufnr("%") - " call Decho(" exe silent! keepalt file NetrwTreeListing ".fnameescape(s:netrw_treelistnum)) -- exe 'silent! keepalt file NetrwTreeListing\ '.fnameescape(s:netrw_treelistnum) -+ exe 'sil! keepalt file NetrwTreeListing\ '.fnameescape(s:netrw_treelistnum) -+ set bt=nofile noswf - nnoremap [ :silent call TreeListMove('[') - nnoremap ] :silent call TreeListMove(']') - nnoremap [[ :silent call TreeListMove('[') -@@ -2366,15 +2640,16 @@ - else - " let v:errmsg= "" " Decho - let escdirname= fnameescape(dirname) --" call Decho(" errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">") -+" call Decho(" errmsg<".v:errmsg."> bufnr(escdirname<".escdirname.">)=".bufnr(escdirname)." bufname()<".bufname(bufnr(escdirname)).">") - " call Decho(' exe silent! keepalt file '.escdirname) -- exe 'silent! keepalt file '.escdirname -+" let v:errmsg= "" " Decho -+ exe 'sil! keepalt file '.escdirname - " call Decho(" errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">") - endif - " call Decho(" named enew buffer#".bufnr("%")."<".bufname("%").">") - - else " Re-use the buffer --" call Decho("--re-use buffer#".bufnum.": --") -+" call Decho("--re-use buffer#".bufnum." (bufexists([bufnum=".bufnum."])=".bufexists(bufnum).")") - let eikeep= &ei - set ei=all - if getline(2) =~ '^" Netrw Directory Listing' -@@ -2386,7 +2661,7 @@ - endif - if bufname("%") == '.' - " call Decho("exe silent! keepalt file ".fnameescape(getcwd())) -- exe "silent! keepalt file ".fnameescape(getcwd()) -+ exe "sil! keepalt file ".fnameescape(getcwd()) - endif - let &ei= eikeep - if line("$") <= 1 -@@ -2396,7 +2671,7 @@ - elseif exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST - " call Decho("--re-use tree listing--") - " call Decho(" clear buffer<".expand("%")."> with :%d") -- silent %d -+ sil keepj %d - call s:NetrwListSettings(a:islocal) - " call Dret("s:NetrwGetBuffer 0 : re-using buffer#".bufnr("%").", but treelist mode always needs a refresh") - return 0 -@@ -2411,7 +2686,7 @@ - " slow 0 D D Deleting a buffer implies it will not be re-used (slow) - " med 1 D H - " fast 2 H H --" call Decho("--do netrw settings: make this buffer not-a-file, modifiable, not line-numbered, etc--") -+" call Decho("--do netrw settings: make this buffer#".bufnr("%")." not-a-file, modifiable, not line-numbered, etc--") - let fname= expand("%") - call s:NetrwListSettings(a:islocal) - " call Decho("exe keepalt file ".fnameescape(fname)) -@@ -2420,7 +2695,7 @@ - " delete all lines from buffer {{{3 - " call Decho("--delete all lines from buffer--") - " call Decho(" clear buffer<".expand("%")."> with :%d") -- keepalt silent! %d -+ sil! keepalt keepj %d - - " call Dret("s:NetrwGetBuffer 0 : buf#".bufnr("%")) - return 0 -@@ -2462,12 +2737,12 @@ - if exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt - " Active Banner support - " call Decho("active banner handling") -- norm! 0 -+ keepj norm! 0 - let dirname= "./" - let curline= getline('.') - - if curline =~ '"\s*Sorted by\s' -- norm s -+ keepj norm s - let s:netrw_skipbrowse= 1 - echo 'Pressing "s" also works' - -@@ -2476,27 +2751,27 @@ - echo 'Press "S" to edit sorting sequence' - - elseif curline =~ '"\s*Quick Help:' -- norm ? -+ keepj norm ? - let s:netrw_skipbrowse= 1 - echo 'Pressing "?" also works' - - elseif curline =~ '"\s*\%(Hiding\|Showing\):' -- norm a -+ keepj norm a - let s:netrw_skipbrowse= 1 - echo 'Pressing "a" also works' - - elseif line("$") > w:netrw_bannercnt -- exe 'silent keepjumps '.w:netrw_bannercnt -+ exe 'sil keepj '.w:netrw_bannercnt - endif - - elseif w:netrw_liststyle == s:THINLIST - " call Decho("thin column handling") -- norm! 0 -+ keepj norm! 0 - let dirname= getline('.') - - elseif w:netrw_liststyle == s:LONGLIST - " call Decho("long column handling") -- norm! 0 -+ keepj norm! 0 - let dirname= substitute(getline('.'),'^\(\%(\S\+ \)*\S\+\).\{-}$','\1','e') - - elseif w:netrw_liststyle == s:TREELIST -@@ -2510,6 +2785,7 @@ - if !exists("b:netrw_cpf") - let b:netrw_cpf= 0 - exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif' -+ call histdel("/",-1) - " call Decho("computed cpf=".b:netrw_cpf) - endif - -@@ -2518,18 +2794,18 @@ - " call Decho("filestart= ([virtcol=".virtcol(".")."]/[b:netrw_cpf=".b:netrw_cpf."])*b:netrw_cpf=".filestart." bannercnt=".w:netrw_bannercnt) - " call Decho("1: dirname<".dirname.">") - if filestart == 0 -- norm! 0ma -+ keepj norm! 0ma - else - call cursor(line("."),filestart+1) -- norm! ma -+ keepj norm! ma - endif - let rega= @a - let eofname= filestart + b:netrw_cpf + 1 - if eofname <= col("$") - call cursor(line("."),filestart+b:netrw_cpf+1) -- norm! "ay`a -+ keepj norm! "ay`a - else -- norm! "ay$ -+ keepj norm! "ay$ - endif - let dirname = @a - let @a = rega -@@ -2549,7 +2825,7 @@ - endfun - - " --------------------------------------------------------------------- --" s:NetrwListSettings: {{{2 -+" s:NetrwListSettings: make standard settings for a netrw listing {{{2 - fun! s:NetrwListSettings(islocal) - " call Dfunc("s:NetrwListSettings(islocal=".a:islocal.")") - let fname= bufname("%") -@@ -2615,25 +2891,52 @@ - - " clear buffer - this will cause NetrwBrowse/LocalBrowseCheck to do a refresh - " call Decho("clear buffer<".expand("%")."> with :%d") -- %d -+ keepj %d -+ " following prevents tree listing buffer from being marked "modified" -+ setlocal nomod - - " refresh the listing -+" call Decho("refresh the listing") - let svpos= netrw#NetrwSavePosn() - call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) - call netrw#NetrwRestorePosn(svpos) -+ call s:NetrwCursorline() - - " keep cursor on the filename -- silent keepjumps $ -+ sil keepj $ - let result= search('\%(^\%(|\+\s\)\=\|\s\{2,}\)\zs'.escape(fname,'.\[]*$^').'\%(\s\{2,}\|$\)','bc') - " call Decho("search result=".result." w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'N/A')) - if result <= 0 && exists("w:netrw_bannercnt") -- exe "keepjumps ".w:netrw_bannercnt -+ exe "keepj ".w:netrw_bannercnt - endif - - " call Dret("NetrwListStyle".(exists("w:netrw_liststyle")? ' : w:netrw_liststyle='.w:netrw_liststyle : "")) - endfun - - " --------------------------------------------------------------------- -+" s:NetrwBannerCtrl: toggles the display of the banner {{{2 -+fun! s:NetrwBannerCtrl(islocal) -+" call Dfunc("s:NetrwBannerCtrl(islocal=".a:islocal.") g:netrw_banner=".g:netrw_banner) -+ -+ " toggle the banner (enable/suppress) -+ let g:netrw_banner= !g:netrw_banner -+ -+ " refresh the listing -+ let svpos= netrw#NetrwSavePosn() -+ call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) -+ -+ " keep cursor on the filename -+ let fname= s:NetrwGetWord() -+ sil keepj $ -+ let result= search('\%(^\%(|\+\s\)\=\|\s\{2,}\)\zs'.escape(fname,'.\[]*$^').'\%(\s\{2,}\|$\)','bc') -+" call Decho("search result=".result." w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'N/A')) -+ if result <= 0 && exists("w:netrw_bannercnt") -+ exe "keepj ".w:netrw_bannercnt -+ endif -+" call Dret("s:NetrwBannerCtrl : g:netrw_banner=".g:netrw_banner) -+endfun -+ -+" --------------------------------------------------------------------- - " s:NetrwBookmarkMenu: Uses menu priorities {{{2 - " .2.[cnt] for bookmarks, and - " .3.[cnt] for history -@@ -2642,37 +2945,47 @@ - if !exists("s:netrw_menucnt") - return - endif --" call Dfunc("NetrwBookmarkMenu() bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." menucnt=".s:netrw_menucnt) -+" call Dfunc("NetrwBookmarkMenu() histcnt=".g:netrw_dirhist_cnt." menucnt=".s:netrw_menucnt) - - " the following test assures that gvim is running, has menus available, and has menus enabled. - if has("gui") && has("menu") && has("gui_running") && &go =~ 'm' && g:netrw_menu - if exists("g:NetrwTopLvlMenu") - " call Decho("removing ".g:NetrwTopLvlMenu."Bookmarks menu item(s)") -- exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmarks' -+ exe 'sil! unmenu '.g:NetrwTopLvlMenu.'Bookmarks' -+ exe 'sil! unmenu '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete' -+ endif -+ if !exists("s:netrw_initbookhist") -+ call s:NetrwBookHistRead() - endif - - " show bookmarked places -- let cnt = 1 -- while cnt <= g:NETRW_BOOKMARKMAX -- if exists("g:NETRW_BOOKMARKDIR_{cnt}") -- let bmdir= escape(g:NETRW_BOOKMARKDIR_{cnt},'. ') --" call Decho('silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmdir.' :e '.bmdir) -- exe 'silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmdir.' :e '.bmdir."\" -- endif -- let cnt= cnt + 1 -- endwhile -+ if exists("g:netrw_bookmarklist") && g:netrw_bookmarklist != [] -+ let cnt= 1 -+ for bmd in g:netrw_bookmarklist -+" call Decho('silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmd.' :e '.bmd) -+ let bmd= escape(bmd,g:netrw_menu_escape) -+ -+ " show bookmarks for goto menu -+ exe 'sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmd.' :e '.bmd."\" -+ -+ " show bookmarks for deletion menu -+ exe 'sil! menu '.g:NetrwMenuPriority.".8.2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete.'.bmd.' '.cnt."mB" -+ let cnt= cnt + 1 -+ endfor -+ -+ endif - - " show directory browsing history -- let cnt = g:NETRW_DIRHIST_CNT -+ let cnt = g:netrw_dirhist_cnt - let first = 1 - let histcnt = 0 -- while ( first || cnt != g:NETRW_DIRHIST_CNT ) -+ while ( first || cnt != g:netrw_dirhist_cnt ) - let histcnt = histcnt + 1 -- let priority = g:NETRW_DIRHIST_CNT + histcnt -- if exists("g:NETRW_DIRHIST_{cnt}") -- let bmdir= escape(g:NETRW_DIRHIST_{cnt},'/&? ') --" call Decho('silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.' :e '.bmdir) -- exe 'silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.' :e '.bmdir."\" -+ let priority = g:netrw_dirhist_cnt + histcnt -+ if exists("g:netrw_dirhist_{cnt}") -+ let histdir= escape(g:netrw_dirhist_{cnt},g:netrw_menu_escape) -+" call Decho('silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.histdir.' :e '.histdir) -+ exe 'sil! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.histdir.' :e '.histdir."\" - endif - let first = 0 - let cnt = ( cnt - 1 ) % g:netrw_dirhistmax -@@ -2680,6 +2993,7 @@ - let cnt= cnt + g:netrw_dirhistmax - endif - endwhile -+ - endif - " call Dret("NetrwBookmarkMenu") - endfun -@@ -2706,9 +3020,13 @@ - call s:NetrwSafeOptions() - let nbcd_curpos = netrw#NetrwSavePosn() - let s:nbcd_curpos_{bufnr('%')} = nbcd_curpos -- let dirname = substitute(b:netrw_curdir,'\\','/','ge') -- let newdir = a:newdir -- let dolockout = 0 -+ if (has("win32") || has("win95") || has("win64") || has("win16")) -+ let dirname = substitute(b:netrw_curdir,'\\','/','ge') -+ else -+ let dirname= b:netrw_curdir -+ endif -+ let newdir = a:newdir -+ let dolockout = 0 - - " set up o/s-dependent directory recognition pattern - if has("amiga") -@@ -2737,6 +3055,7 @@ - else - let dirname= s:NetrwTreeDir()."/".newdir - endif -+" call Decho("dirname<".dirname.">") - " call Decho("tree listing") - elseif newdir =~ '^\(/\|\a:\)' - let dirname= newdir -@@ -2751,10 +3070,14 @@ - if !exists("s:didsplit") - if g:netrw_browse_split == 1 - new -- wincmd _ -+ if !&ea -+ wincmd _ -+ endif - elseif g:netrw_browse_split == 2 - rightb vert new -- wincmd | -+ if !&ea -+ wincmd | -+ endif - elseif g:netrw_browse_split == 3 - tabnew - elseif g:netrw_browse_split == 4 -@@ -2781,6 +3104,22 @@ - " call Decho("remote file: NetrwBrowse will edit it") - endif - let dolockout= 1 -+ -+ " handle g:Netrw_funcref -- call external-to-netrw functions -+ " This code will handle g:Netrw_funcref as an individual function reference -+ " or as a list of function references. It will ignore anything that's not -+ " a function reference. See :help Funcref for information about function references. -+ if exists("g:Netrw_funcref") -+ if type(g:Netrw_funcref) == 2 -+ call g:Netrw_funcref() -+ elseif type(g:Netrw_funcref) == 3 -+ for Fncref in g:Netrw_funcref -+ if type(FncRef) == 2 -+ call FncRef() -+ endif -+ endfor -+ endif -+ endif - endif - - elseif newdir =~ '^/' -@@ -2810,7 +3149,7 @@ - " call Decho("clear buffer<".expand("%")."> with :%d") - setlocal noro ma - " call Decho("setlocal noro ma") -- keepjumps %d -+ keepj %d - endif - - if has("amiga") -@@ -2846,7 +3185,7 @@ - " call Decho("setlocal noro ma") - if !(exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")) - " call Decho("clear buffer<".expand("%")."> with :%d") -- keepjumps %d -+ keepj %d - endif - let treedir = s:NetrwTreeDir() - let s:treecurpos = nbcd_curpos -@@ -2887,7 +3226,7 @@ - " close tree listing for selected subdirectory - " call Decho("closing selected subdirectory<".dirname.">") - call remove(w:netrw_treedict,treedir) --" call Decho("removed entry<".dirname."> from treedict") -+" call Decho("removed entry<".treedir."> from treedict") - " call Decho("yielding treedict<".string(w:netrw_treedict).">") - let dirname= w:netrw_treetop - else -@@ -2896,6 +3235,7 @@ - " call Decho("go down one dir: treedir<".treedir.">") - endif - call s:SetRexDir(a:islocal,dirname) -+ let s:treeforceredraw = 1 - - else - " go down one directory -@@ -2916,17 +3256,40 @@ - endfun - - " --------------------------------------------------------------------- --" s:NetrwBrowseX: allows users to write custom functions to operate on {{{2 --" files given their extension. Passes 0=local, 1=remote -+" s:NetrwBrowseX: (implements "x") executes a special "viewer" script or program for the {{{2 -+" given filename; typically this means given their extension. -+" 0=local, 1=remote - fun! netrw#NetrwBrowseX(fname,remote) - " call Dfunc("NetrwBrowseX(fname<".a:fname."> remote=".a:remote.")") - -+ " special core dump handler -+ if a:fname =~ '/core\(\.\d\+\)\=$' -+ if exists("g:Netrw_corehandler") -+ if type(g:Netrw_corehandler) == 2 -+ " g:Netrw_corehandler is a function reference (see :help Funcref) -+" call Decho("g:Netrw_corehandler is a funcref") -+ call g:Netrw_corehandler(a:fname) -+ elseif type(g:netrw_corehandler) == 3) -+ " g:Netrw_corehandler is a List of function references (see :help Funcref) -+" call Decho("g:Netrw_corehandler is a List") -+ for Fncref in g:Netrw_corehandler -+ if type(FncRef) == 2 -+ call FncRef(a:fname) -+ endif -+ endfor -+ endif -+" call Dret("NetrwBrowseX : coredump handler invoked") -+ return -+ endif -+ endif -+ - " set up the filename - " (lower case the extension, make a local copy of a remote file) - let exten= substitute(a:fname,'.*\.\(.\{-}\)','\1','e') - if has("win32") || has("win95") || has("win64") || has("win16") - let exten= substitute(exten,'^.*$','\L&\E','') - endif -+" call Decho("exten<".exten.">") - - " seems kde systems often have gnome-open due to dependencies, even though - " gnome-open's subsidiary display tools are largely absent. Kde systems -@@ -2945,16 +3308,30 @@ - - if a:remote == 1 - " create a local copy -- let fname= fnamemodify(tempname(),":r").".".exten --" call Decho("a:remote=".a:remote.": create a local copy of <".fname."> as <".fname.">") -- exe "silent keepjumps bot 1new ".fnameescape(fname) -+" call Decho("a:remote=".a:remote.": create a local copy of <".a:fname.">") - setlocal bh=delete --" call Decho("read <".fnameescape(fname).">, now writing: exe w! ".fnameescape(fname)) -- exe "silent! w! ".fnameescape(fname) -- q -+ call netrw#NetRead(3,a:fname) -+ " attempt to rename tempfile -+ let basename= substitute(a:fname,'^\(.*\)/\(.*\)\.\([^.]*\)$','\2','') -+ let newname= substitute(s:netrw_tmpfile,'^\(.*\)/\(.*\)\.\([^.]*\)$','\1/'.basename.'.\3','') -+" call Decho("basename<".basename.">") -+" call Decho("newname <".newname.">") -+ if rename(s:netrw_tmpfile,newname) == 0 -+ " renaming succeeded -+ let fname= newname -+ else -+ " renaming failed -+ let fname= s:netrw_tmpfile -+ endif - else - let fname= a:fname -+ " special ~ handler for local -+ if fname =~ '^\~' && expand("$HOME") != "" -+" call Decho('invoking special ~ handler') -+ let fname= substitute(fname,'^\~',expand("$HOME"),'') -+ endif - endif -+" call Decho("fname<".fname.">") - " call Decho("exten<".exten."> "."netrwFileHandlers#NFH_".exten."():exists=".exists("*netrwFileHandlers#NFH_".exten)) - - " set up redirection -@@ -2973,6 +3350,7 @@ - - " extract any viewing options. Assumes that they're set apart by quotes. - if exists("g:netrw_browsex_viewer") -+" call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">") - if g:netrw_browsex_viewer =~ '\s' - let viewer = substitute(g:netrw_browsex_viewer,'\s.*$','','') - let viewopt = substitute(g:netrw_browsex_viewer,'^\S\+\s*','','')." " -@@ -3004,24 +3382,31 @@ - let ret= v:shell_error - - elseif has("win32") || has("win64") --" call Decho('exe silent !start rundll32 url.dll,FileProtocolHandler '.shellescape(fname,1)) -- exe 'silent !start rundll32 url.dll,FileProtocolHandler '.shellescape(fname,1) -+ if executable("start") -+" call Decho('exe silent !start rundll32 url.dll,FileProtocolHandler '.shellescape(fname,1)) -+ exe 'silent !start rundll32 url.dll,FileProtocolHandler '.shellescape(fname,1) -+ elseif executable("rundll32") -+" call Decho('exe silent !rundll32 url.dll,FileProtocolHandler '.shellescape(fname,1)) -+ exe 'silent !rundll32 url.dll,FileProtocolHandler '.shellescape(fname,1) -+ else -+ call netrw#ErrorMsg(s:WARNING,"rundll32 not on path",74) -+ endif - call inputsave()|call input("Press to continue")|call inputrestore() - let ret= v:shell_error - - elseif has("unix") && executable("gnome-open") && !s:haskdeinit - " call Decho("exe silent !gnome-open ".shellescape(fname,1)." ".redir) -- exe "silent !gnome-open ".shellescape(fname,1).redir -+ exe "sil !gnome-open ".shellescape(fname,1).redir - let ret= v:shell_error - - elseif has("unix") && executable("kfmclient") && s:haskdeinit - " call Decho("exe silent !kfmclient exec ".shellescape(fname,1)." ".redir) -- exe "silent !kfmclient exec ".shellescape(fname,1)." ".redir -+ exe "sil !kfmclient exec ".shellescape(fname,1)." ".redir - let ret= v:shell_error - - elseif has("macunix") && executable("open") - " call Decho("exe silent !open ".shellescape(fname,1)." ".redir) -- exe "silent !open ".shellescape(fname,1)." ".redir -+ exe "sil !open ".shellescape(fname,1)." ".redir - let ret= v:shell_error - - else -@@ -3052,7 +3437,7 @@ - if g:netrw_use_noswf - setlocal noswf - endif -- exe "norm! \" -+ exe "keepj norm! \" - " redraw! - endif - -@@ -3060,53 +3445,110 @@ - endfun - - " --------------------------------------------------------------------- -+" s:NetrwChgPerm: (implements "gp") change file permission {{{2 -+fun! s:NetrwChgPerm(islocal,curdir) -+" call Dfunc("s:NetrwChgPerm(islocal=".a:islocal." curdir<".a:curdir.">)") -+ call inputsave() -+ let newperm= input("Enter new permission: ") -+ call inputrestore() -+ let chgperm= substitute(g:netrw_chgperm,'\',shellescape(expand("")),'') -+ let chgperm= substitute(chgperm,'\',shellescape(newperm),'') -+" call Decho("chgperm<".chgperm.">") -+ call system(chgperm) -+ if v:shell_error != 0 -+ call netrw#ErrorMsg(1,"changing permission on file<".expand("")."> seems to have failed",75) -+ endif -+ if a:islocal -+ call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) -+ endif -+" call Dret("s:NetrwChgPerm") -+endfun -+ -+" --------------------------------------------------------------------- -+" s:NetrwClearExplore: clear explore variables (if any) {{{2 -+fun! s:NetrwClearExplore() -+" call Dfunc("s:NetrwClearExplore()") -+ 2match none -+ if exists("s:explore_match") |unlet s:explore_match |endif -+ if exists("s:explore_indx") |unlet s:explore_indx |endif -+ if exists("s:netrw_explore_prvdir") |unlet s:netrw_explore_prvdir |endif -+ if exists("s:dirstarstar") |unlet s:dirstarstar |endif -+ if exists("s:explore_prvdir") |unlet s:explore_prvdir |endif -+ if exists("w:netrw_explore_indx") |unlet w:netrw_explore_indx |endif -+ if exists("w:netrw_explore_listlen")|unlet w:netrw_explore_listlen|endif -+ if exists("w:netrw_explore_list") |unlet w:netrw_explore_list |endif -+ if exists("w:netrw_explore_bufnr") |unlet w:netrw_explore_bufnr |endif -+" redraw! -+ echo " " -+ echo " " -+" call Dret("s:NetrwClearExplore") -+endfun -+ -+" --------------------------------------------------------------------- - " netrw#Explore: launch the local browser in the directory of the current file {{{2 --" dosplit==0: the window will be split iff the current file has --" been modified --" dosplit==1: the window will be split before running the local --" browser -+" indx: == -1: Nexplore -+" == -2: Pexplore -+" == +: this is overloaded: -+" * If Nexplore/Pexplore is in use, then this refers to the -+" indx'th item in the w:netrw_explore_list[] of items which -+" matched the */pattern **/pattern *//pattern **//pattern -+" * If Hexplore or Vexplore, then this will override -+" g:netrw_winsize to specify the qty of rows or columns the -+" newly split window should have. -+" dosplit==0: the window will be split iff the current file has been modified -+" dosplit==1: the window will be split before running the local browser -+" style == 0: Explore style == 1: Explore! -+" == 2: Hexplore style == 3: Hexplore! -+" == 4: Vexplore style == 5: Vexplore! -+" == 6: Texplore - fun! netrw#Explore(indx,dosplit,style,...) - " call Dfunc("netrw#Explore(indx=".a:indx." dosplit=".a:dosplit." style=".a:style.",a:1<".a:1.">) &modified=".&modified." a:0=".a:0) - if !exists("b:netrw_curdir") - let b:netrw_curdir= getcwd() - " call Decho("set b:netrw_curdir<".b:netrw_curdir."> (used getcwd)") - endif -- let curfile= b:netrw_curdir --" call Decho("curfile<".curfile.">") -+ let curdir = simplify(b:netrw_curdir) -+ let curfiledir = substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e') -+" call Decho("curdir<".curdir."> curfiledir<".curfiledir.">") -+" call FOTEST(1) - - " save registers -- silent! let keepregstar = @* -- silent! let keepregplus = @+ -- silent! let keepregslash= @/ -+ sil! let keepregstar = @* -+ sil! let keepregplus = @+ -+ sil! let keepregslash= @/ - - " if dosplit or file has been modified - if a:dosplit || &modified || a:style == 6 --" call Decho("case: dosplit=".a:dosplit." modified=".&modified." a:style=".a:style) -+" call Decho("case dosplit=".a:dosplit." modified=".&modified." a:style=".a:style.": dosplit or file has been modified") - call s:SaveWinVars() -+ let winsize= g:netrw_winsize -+ if a:indx > 0 -+ let winsize= a:indx -+ endif - - if a:style == 0 " Explore, Sexplore - " call Decho("style=0: Explore or Sexplore") -- exe g:netrw_winsize."wincmd s" -+ exe winsize."wincmd s" - - elseif a:style == 1 "Explore!, Sexplore! - " call Decho("style=1: Explore! or Sexplore!") -- exe g:netrw_winsize."wincmd v" -+ exe winsize."wincmd v" - - elseif a:style == 2 " Hexplore - " call Decho("style=2: Hexplore") -- exe "bel ".g:netrw_winsize."wincmd s" -+ exe "bel ".winsize."wincmd s" - - elseif a:style == 3 " Hexplore! - " call Decho("style=3: Hexplore!") -- exe "abo ".g:netrw_winsize."wincmd s" -+ exe "abo ".winsize."wincmd s" - - elseif a:style == 4 " Vexplore - " call Decho("style=4: Vexplore") -- exe "lefta ".g:netrw_winsize."wincmd v" -+ exe "lefta ".winsize."wincmd v" - - elseif a:style == 5 " Vexplore! - " call Decho("style=5: Vexplore!") -- exe "rightb ".g:netrw_winsize."wincmd v" -+ exe "rightb ".winsize."wincmd v" - - elseif a:style == 6 " Texplore - call s:SaveBufVars() -@@ -3115,45 +3557,54 @@ - call s:RestoreBufVars() - endif - call s:RestoreWinVars() -+" else " Decho -+" call Decho("case a:dosplit=".a:dosplit." AND modified=".&modified." AND a:style=".a:style." is not 6") - endif -- norm! 0 -+ keepj norm! 0 -+" call FOTEST(2) - - if a:0 > 0 --" call Decho("case [a:0=".a:0."]>0: a:1<".a:1.">") -+" call Decho("case [a:0=".a:0."] > 0: a:1<".a:1.">") - if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin)) -- let dirname= substitute(a:1,'\~',expand("$HOME"),'') -+" call Decho("case a:1: ~ and unix or cygwin") -+ let dirname= simplify(substitute(a:1,'\~',expand("$HOME"),'')) - " call Decho("using dirname<".dirname."> (case: ~ && unix||cygwin)") - elseif a:1 == '.' -- let dirname= exists("b:netrw_curdir")? b:netrw_curdir : getcwd() -+" call Decho("case a:1: .") -+ let dirname= simplify(exists("b:netrw_curdir")? b:netrw_curdir : getcwd()) - if dirname !~ '/$' - let dirname= dirname."/" - endif - " call Decho("using dirname<".dirname."> (case: ".(exists("b:netrw_curdir")? "b:netrw_curdir" : "getcwd()").")") - elseif a:1 =~ '\$' -- let dirname= expand(a:1) -+" call Decho("case a:1: $") -+ let dirname= simplify(expand(a:1)) -+" call Decho("using user-specified dirname<".dirname."> with $env-var") -+ elseif a:1 !~ '^\*/' -+" call Decho("case a:1: other, not pattern or filepattern") -+ let dirname= simplify(a:1) -+" call Decho("using user-specified dirname<".dirname.">") - else -+" call Decho("case a:1: pattern or filepattern") - let dirname= a:1 --" call Decho("using dirname<".dirname.">") - endif - else - " clear explore --" call Decho("clearing explore variables") -- 2match none -- if exists("s:explore_match") |unlet s:explore_match |endif -- if exists("s:explore_indx") |unlet s:explore_indx |endif -- if exists("s:dirstarstar") |unlet s:dirstarstar |endif -- if exists("s:dirstarstar") |unlet s:dirstarstar |endif -- if exists("w:netrw_explore_indx") |unlet w:netrw_explore_indx |endif -- if exists("w:netrw_explore_listlen")|unlet w:netrw_explore_listlen|endif -- if exists("w:netrw_explore_list") |unlet w:netrw_explore_list |endif -- if exists("w:netrw_explore_bufnr") |unlet w:netrw_explore_bufnr |endif --" redraw! -- echo " " -- echo " " -+" call Decho("case a:0=".a:0.": clearing Explore list") -+ call s:NetrwClearExplore() - " call Dret("netrw#Explore : cleared list") - return - endif - -+" call FOTEST(3) -+" call Decho("dirname<".dirname.">") -+ if dirname =~ '\.\./\=$' -+ let dirname= simplify(fnamemodify(dirname,':p:h')) -+ elseif dirname =~ '\.\.' || dirname == '.' -+ let dirname= simplify(fnamemodify(dirname,':p')) -+ endif -+" call Decho("dirname<".dirname."> (after simplify)") -+ - if dirname =~ '/\*\*/' - " handle .../**/.../filepat - " call Decho("case Explore .../**/.../filepat") -@@ -3192,15 +3643,19 @@ - " starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat) - let starpat= 4 - " call Decho("case Explore **/filepat (starpat=".starpat.")") -+ - else - let starpat= 0 -+" call Decho("default case: starpat=".starpat) - endif -+" call FOTEST(4) - - if starpat == 0 && a:indx >= 0 - " [Explore Hexplore Vexplore Sexplore] [dirname] --" call Decho("case dirname<".dirname."> a:indx=".a:indx.": Explore Hexplore Vexplore Sexplore") -+" call Decho("case starpat==0 && a:indx=".a:indx.": dirname<".dirname."> Explore Hexplore Vexplore Sexplore") - if dirname == "" -- let dirname= substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e') -+ let dirname= curfiledir -+" call Decho("empty dirname, using current file's directory<".dirname.">") - endif - if dirname =~ '^scp:' || dirname =~ '^ftp:' - " call Decho("calling NetrwBrowse(0,dirname<".dirname.">)") -@@ -3211,11 +3666,11 @@ - call netrw#LocalBrowseCheck(dirname) - endif - --" call Decho("curfile<".curfile.">") -+" call Decho("curdir<".curdir.">") - if has("win32") || has("win95") || has("win64") || has("win16") -- call search('\<'.substitute(curfile,'^.*[/\\]','','e').'\>','cW') -+ keepj call search('\<'.substitute(curdir,'^.*[/\\]','','e').'\>','cW') - else -- call search('\<'.substitute(curfile,'^.*/','','e').'\>','cW') -+ keepj call search('\<'.substitute(curdir,'^.*/','','e').'\>','cW') - endif - - " starpat=1: Explore *//pattern (current directory only search for files containing pattern) -@@ -3224,7 +3679,7 @@ - " starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat) - elseif a:indx <= 0 - " Nexplore, Pexplore, Explore: handle starpat --" call Decho("case Nexplore, Pexplore, , : starpat=".starpat." a:indx=".a:indx) -+" call Decho("case a:indx<=0: Nexplore, Pexplore, , starpat=".starpat." a:indx=".a:indx) - if !mapcheck("","n") && !mapcheck("","n") && exists("b:netrw_curdir") - " call Decho("set up and maps") - let s:didstarstar= 1 -@@ -3237,17 +3692,18 @@ - if !exists("w:netrw_explore_indx") - let w:netrw_explore_indx= 0 - endif -+ - let indx = a:indx - " call Decho("starpat=".starpat.": set indx= [a:indx=".indx."]") --" -+ - if indx == -1 - " Nexplore - " call Decho("case Nexplore with starpat=".starpat.": (indx=".indx.")") - if !exists("w:netrw_explore_list") " sanity check - call netrw#ErrorMsg(s:WARNING,"using Nexplore or improperly; see help for netrw-starstar",40) -- silent! let @* = keepregstar -- silent! let @+ = keepregstar -- silent! let @/ = keepregslash -+ sil! let @* = keepregstar -+ sil! let @+ = keepregstar -+ sil! let @/ = keepregslash - " call Dret("netrw#Explore") - return - endif -@@ -3268,9 +3724,9 @@ - " call Decho("case Pexplore with starpat=".starpat.": (indx=".indx.")") - if !exists("w:netrw_explore_list") " sanity check - call netrw#ErrorMsg(s:WARNING,"using Pexplore or improperly; see help for netrw-starstar",41) -- silent! let @* = keepregstar -- silent! let @+ = keepregstar -- silent! let @/ = keepregslash -+ sil! let @* = keepregstar -+ sil! let @+ = keepregstar -+ sil! let @/ = keepregslash - " call Dret("netrw#Explore") - return - endif -@@ -3290,6 +3746,7 @@ - " Explore -- initialize - " build list of files to Explore with Nexplore/Pexplore - " call Decho("starpat=".starpat.": case Explore: initialize (indx=".indx.")") -+ call s:NetrwClearExplore() - let w:netrw_explore_indx= 0 - if !exists("b:netrw_curdir") - let b:netrw_curdir= getcwd() -@@ -3300,17 +3757,24 @@ - if starpat == 1 - " starpat=1: Explore *//pattern (current directory only search for files containing pattern) - " call Decho("starpat=".starpat.": build *//pattern list") -- exe "vimgrep /".pattern."/gj ".fnameescape(b:netrw_curdir)."/*" -- let w:netrw_explore_list = map(getqflist(),'bufname(v:val.bufnr)') -+" call Decho("pattern<".pattern.">") -+ try -+ exe "keepj noautocmd vimgrep /".pattern."/gj ".fnameescape(b:netrw_curdir)."/*" -+ catch /^Vim\%((\a\+)\)\=:E480/ -+ call netrw#ErrorMsg(s:WARNING,"no match with pattern<".pattern.">",76) -+" call Dret("netrw#Explore : unable to find pattern<".pattern.">") -+ return -+ endtry -+ let w:netrw_explore_list = s:NetrwExploreListUniq(map(getqflist(),'bufname(v:val.bufnr)')) - if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif - - elseif starpat == 2 - " starpat=2: Explore **//pattern (recursive descent search for files containing pattern) - " call Decho("starpat=".starpat.": build **//pattern list") - try -- exe "silent vimgrep /".pattern."/gj "."**/*" -+ exe "sil keepj noautocmd vimgrep /".pattern."/gj "."**/*" - catch /^Vim\%((\a\+)\)\=:E480/ -- call netrw#ErrorMsg(s:WARNING,'no files matched pattern<'.pattern.'>',45) -+ call netrw#ErrorMsg(s:WARNING,'no files matched pattern<'.pattern.'>',45) - if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif - silent! let @* = keepregstar - silent! let @+ = keepregstar -@@ -3320,19 +3784,22 @@ - endtry - let s:netrw_curdir = b:netrw_curdir - let w:netrw_explore_list = getqflist() -- let w:netrw_explore_list = map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)') -+ let w:netrw_explore_list = s:NetrwExploreListUniq(map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)')) - - elseif starpat == 3 - " starpat=3: Explore */filepat (search in current directory for filenames matching filepat) - " call Decho("starpat=".starpat.": build */filepat list") -- let dirname = substitute(dirname,'^\*/','','') -- let w:netrw_explore_list= split(expand(b:netrw_curdir."/".dirname),'\n') -- if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif -+ let filepat= substitute(dirname,'^\*/','','') -+ let filepat= substitute(filepat,'^[%#<]','\\&','') -+" call Decho("b:netrw_curdir<".b:netrw_curdir.">") -+" call Decho("filepat<".filepat.">") -+ let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".filepat),'\n')) -+ if &hls | let keepregslash= s:ExplorePatHls(filepat) | endif - - elseif starpat == 4 - " starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat) - " call Decho("starpat=".starpat.": build **/filepat list") -- let w:netrw_explore_list= split(expand(b:netrw_curdir."/".dirname),'\n') -+ let w:netrw_explore_list= s:NetrwExploreListUniq(split(expand(b:netrw_curdir."/".dirname),'\n')) - if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif - endif " switch on starpat to build w:netrw_explore_list - -@@ -3342,9 +3809,9 @@ - - if w:netrw_explore_listlen == 0 || (w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/') - call netrw#ErrorMsg(s:WARNING,"no files matched",42) -- silent! let @* = keepregstar -- silent! let @+ = keepregstar -- silent! let @/ = keepregslash -+ sil! let @* = keepregstar -+ sil! let @+ = keepregstar -+ sil! let @/ = keepregslash - " call Dret("netrw#Explore : no files matched") - return - endif -@@ -3352,7 +3819,7 @@ - - " NetrwStatusLine support - for exploring support - let w:netrw_explore_indx= indx --" call Decho("explorelist<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen) -+" call Decho("w:netrw_explore_list<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen) - - " wrap the indx around, but issue a note - if indx >= w:netrw_explore_listlen || indx < 0 -@@ -3360,7 +3827,6 @@ - let indx = (indx < 0)? ( w:netrw_explore_listlen - 1 ) : 0 - let w:netrw_explore_indx= indx - call netrw#ErrorMsg(s:NOTE,"no more files match Explore pattern",43) -- sleep 1 - endif - - exe "let dirfile= w:netrw_explore_list[".indx."]" -@@ -3374,9 +3840,9 @@ - let w:netrw_liststyle= g:netrw_liststyle - endif - if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:LONGLIST -- call search('^'.substitute(dirfile,"^.*/","","").'\>',"W") -+ keepj call search('^'.substitute(dirfile,"^.*/","","").'\>',"W") - else -- call search('\<'.substitute(dirfile,"^.*/","","").'\>',"w") -+ keepj call search('\<'.substitute(dirfile,"^.*/","","").'\>',"w") - endif - let w:netrw_explore_mtchcnt = indx + 1 - let w:netrw_explore_bufnr = bufnr("%") -@@ -3389,18 +3855,18 @@ - if !exists("g:netrw_quiet") - call netrw#ErrorMsg(s:WARNING,"your vim needs the +path_extra feature for Exploring with **!",44) - endif -- silent! let @* = keepregstar -- silent! let @+ = keepregstar -- silent! let @/ = keepregslash -+ sil! let @* = keepregstar -+ sil! let @+ = keepregstar -+ sil! let @/ = keepregslash - " call Dret("netrw#Explore : missing +path_extra") - return - endif - - else --" call Decho("case Explore newdir<".dirname.">") -+" call Decho("default case: Explore newdir<".dirname.">") - if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && dirname =~ '/' -- silent! unlet w:netrw_treedict -- silent! unlet w:netrw_treetop -+ sil! unlet w:netrw_treedict -+ sil! unlet w:netrw_treetop - endif - let newdir= dirname - if !exists("b:netrw_curdir") -@@ -3409,14 +3875,19 @@ - call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,newdir)) - endif - endif -+" call FOTEST(5) - - " visual display of **/ **// */ Exploration files -+" call Decho("w:netrw_explore_indx=".(exists("w:netrw_explore_indx")? w:netrw_explore_indx : "doesn't exist")) -+" call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "n/a").">") - if exists("w:netrw_explore_indx") && exists("b:netrw_curdir") -+" call Decho("s:explore_prvdir<".(exists("s:explore_prvdir")? s:explore_prvdir : "-doesn't exist-")) - if !exists("s:explore_prvdir") || s:explore_prvdir != b:netrw_curdir - " only update match list if current directory isn't the same as before -+" call Decho("only update match list if current directory not the same as before") - let s:explore_prvdir = b:netrw_curdir - let s:explore_match = "" -- let dirlen = strlen(b:netrw_curdir) -+ let dirlen = s:Strlen(b:netrw_curdir) - if b:netrw_curdir !~ '/$' - let dirlen= dirlen + 1 - endif -@@ -3425,15 +3896,15 @@ - " call Decho("fname<".fname.">") - if fname =~ '^'.b:netrw_curdir - if s:explore_match == "" -- let s:explore_match= '\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>' -+ let s:explore_match= '\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc).'\>' - else -- let s:explore_match= s:explore_match.'\|\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>' -+ let s:explore_match= s:explore_match.'\|\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc).'\>' - endif - elseif fname !~ '^/' && fname != prvfname - if s:explore_match == "" -- let s:explore_match= '\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>' -+ let s:explore_match= '\<'.escape(fname,g:netrw_markfileesc).'\>' - else -- let s:explore_match= s:explore_match.'\|\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>' -+ let s:explore_match= s:explore_match.'\|\<'.escape(fname,g:netrw_markfileesc).'\>' - endif - endif - let prvfname= fname -@@ -3449,14 +3920,33 @@ - echo " " - " call Decho("cleared explore match list") - endif -+" call FOTEST(6) - -- silent! let @* = keepregstar -- silent! let @+ = keepregstar -- silent! let @/ = keepregslash -+ sil! let @* = keepregstar -+ sil! let @+ = keepregstar -+ sil! let @/ = keepregslash - " call Dret("netrw#Explore : @/<".@/.">") - endfun - - " --------------------------------------------------------------------- -+" s:NetrwExploreListUniq: {{{2 -+fun! s:NetrwExploreListUniq(explist) -+" call Dfunc("s:NetrwExploreListUniq(explist)") -+ -+ " this assumes that the list is already sorted -+ let newexplist= [] -+ for member in a:explist -+ if !exists("uniqmember") || member != uniqmember -+ let uniqmember = member -+ let newexplist = newexplist + [ member ] -+ endif -+ endfor -+ -+" call Dret("s:NetrwExploreListUniq") -+ return newexplist -+endfun -+ -+" --------------------------------------------------------------------- - " s:NetrwHide: this function is invoked by the "a" map for browsing {{{2 - " and switches the hiding mode. The actual hiding is done by - " s:NetrwListHide(). -@@ -3490,16 +3980,14 @@ - " call Decho("hide: g:netrw_list_hide<".g:netrw_list_hide.">") - endif - endfor -- unlet s:netrwmarkfilelist_{bufnr("%")} -- unlet s:netrwmarkfilemtch_{bufnr("%")} -- 2match none -+ call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir) - let g:netrw_hide= 1 - - else - - " switch between show-all/show-not-hidden/show-hidden - let g:netrw_hide=(g:netrw_hide+1)%3 -- exe "norm! 0" -+ exe "keepj norm! 0" - if g:netrw_hide && g:netrw_list_hide == "" - call netrw#ErrorMsg(s:WARNING,"your hiding list is empty!",49) - " call Dret("NetrwHide") -@@ -3522,7 +4010,7 @@ - if g:netrw_list_hide =~ '\(^\|,\)\\(^\\|\\s\\s\\)\\zs\\.\\S\\+' - " remove pattern from hiding list - let g:netrw_list_hide= substitute(g:netrw_list_hide,'\(^\|,\)\\(^\\|\\s\\s\\)\\zs\\.\\S\\+','','') -- elseif strlen(g:netrw_list_hide) >= 1 -+ elseif s:Strlen(g:netrw_list_hide) >= 1 - let g:netrw_list_hide= g:netrw_list_hide . ',\(^\|\s\s\)\zs\.\S\+' - else - let g:netrw_list_hide= '\(^\|\s\s\)\zs\.\S\+' -@@ -3535,9 +4023,63 @@ - endfun - - " --------------------------------------------------------------------- -+" s:NetrwHome: this function determines a "home" for saving bookmarks and history {{{2 -+fun! s:NetrwHome() -+ if exists("g:netrw_home") -+ let home= g:netrw_home -+ else -+ " go to vim plugin home -+ for home in split(&rtp,',') + [''] -+ if isdirectory(home) && filewritable(home) | break | endif -+ let basehome= substitute(home,'[/\\]\.vim$','','') -+ if isdirectory(basehome) && filewritable(basehome) -+ let home= basehome."/.vim" -+ break -+ endif -+ endfor -+ if home == "" -+ " just pick the first directory -+ let home= substitute(&rtp,',.*$','','') -+ endif -+ if (has("win32") || has("win95") || has("win64") || has("win16")) -+ let home= substitute(home,'/','\\','g') -+ endif -+ endif -+ " insure that the home directory exists -+ if !isdirectory(home) -+ if exists("g:netrw_mkdir") -+ call system(g:netrw_mkdir." ".shellescape(home)) -+ else -+ call mkdir(home) -+ endif -+ endif -+ let g:netrw_home= home -+ return home -+endfun -+ -+" --------------------------------------------------------------------- - " s:NetrwLeftmouse: handles the when in a netrw browsing window {{{2 - fun! s:NetrwLeftmouse(islocal) - " call Dfunc("s:NetrwLeftmouse(islocal=".a:islocal.")") -+ -+ " check if the status bar was clicked on instead of a file/directory name -+ call feedkeys("\") -+ let c= getchar() -+ let mouse_lnum = v:mouse_lnum -+ let wlastline = line('w$') -+ let lastline = line('$') -+" call Decho("v:mouse_lnum=".mouse_lnum." line(w$)=".wlastline." line($)=".lastline." v:mouse_win=".v:mouse_win." winnr#".winnr()) -+" call Decho("v:mouse_col =".v:mouse_col." col=".col(".")." wincol =".wincol()." winwidth =".winwidth(0)) -+ if mouse_lnum >= wlastline + 1 || v:mouse_win != winnr() -+ " appears to be a status bar leftmouse click -+" call Dret("s:NetrwLeftmouse : detected a status bar leftmouse click") -+ return -+ endif -+ if v:mouse_col != col('.') -+" call Dret("s:NetrwLeftmouse : detected a vertical separator bar leftmouse click") -+ return -+ endif -+ - if a:islocal - if exists("b:netrw_curdir") - call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord())) -@@ -3576,15 +4118,15 @@ - " Prune the list by hiding any files which match - if g:netrw_hide == 1 - " call Decho("hiding<".hide."> listhide<".listhide.">") -- exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d' -+ exe 'sil keepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d' - elseif g:netrw_hide == 2 - " call Decho("showing<".hide."> listhide<".listhide.">") -- exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'s@^@ /-KEEP-/ @' -+ exe 'sil keepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'s@^@ /-KEEP-/ @' - endif - endwhile - if g:netrw_hide == 2 -- exe 'silent keepjumps '.w:netrw_bannercnt.',$v@^ /-KEEP-/ @d' -- exe 'silent keepjumps '.w:netrw_bannercnt.',$s@^\%( /-KEEP-/ \)\+@@e' -+ exe 'sil keepj '.w:netrw_bannercnt.',$v@^ /-KEEP-/ @d' -+ exe 'sil keepj '.w:netrw_bannercnt.',$s@^\%( /-KEEP-/ \)\+@@e' - endif - - " call Dret("NetrwListHide") -@@ -3606,7 +4148,7 @@ - " call Decho("new g:netrw_list_hide<".g:netrw_list_hide.">") - - " refresh the listing -- silent call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,"./")) -+ silent keepj call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,"./")) - - " restore cursor position - call netrw#NetrwRestorePosn(svpos) -@@ -3678,12 +4220,12 @@ - call mkdir(fullnewdir,"p") - else - let netrw_origdir= s:NetrwGetcwd(1) -- exe 'keepjumps lcd '.fnameescape(b:netrw_curdir) -+ exe 'keepj lcd '.fnameescape(b:netrw_curdir) - " call Decho("netrw_origdir<".netrw_origdir.">: lcd b:netrw_curdir<".fnameescape(b:netrw_curdir).">") - " call Decho("exe silent! !".g:netrw_local_mkdir.' '.shellescape(newdirname,1)) -- exe "silent! !".g:netrw_local_mkdir.' '.shellescape(newdirname,1) -+ exe "sil! !".g:netrw_local_mkdir.' '.shellescape(newdirname,1) - if !g:netrw_keepdir -- exe 'keepjumps lcd '.fnameescape(netrw_origdir) -+ exe 'keepj lcd '.fnameescape(netrw_origdir) - " call Decho("netrw_keepdir=".g:netrw_keepdir.": keepjumps lcd ".fnameescape(netrw_origdir)." getcwd<".getcwd().">") - endif - endif -@@ -3705,7 +4247,7 @@ - let mkdircmd = s:MakeSshCmd(g:netrw_mkdir_cmd) - let newdirname= substitute(b:netrw_curdir,'^\%(.\{-}/\)\{3}\(.*\)$','\1','').newdirname - " call Decho("exe silent! !".mkdircmd." ".shellescape(newdirname,1)) -- exe "silent! !".mkdircmd." ".shellescape(newdirname,1) -+ exe "sil! !".mkdircmd." ".shellescape(newdirname,1) - if v:shell_error == 0 - " refresh listing - let svpos= netrw#NetrwSavePosn() -@@ -3749,6 +4291,7 @@ - " call Dfunc("s:NetrwMarkFile(islocal=".a:islocal." fname<".a:fname.">)") - let curbufnr= bufnr("%") - let curdir = b:netrw_curdir -+ let trailer = '[@=|\/\*]\=\>' - if exists("s:netrwmarkfilelist_{curbufnr}") - " markfile list exists - " call Decho("starting s:netrwmarkfilelist_{curbufnr}<".string(s:netrwmarkfilelist_{curbufnr}).">") -@@ -3759,7 +4302,7 @@ - " append filename to buffer's markfilelist - " call Decho("append filename<".a:fname."> to local markfilelist_".curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">") - call add(s:netrwmarkfilelist_{curbufnr},a:fname) -- let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\|\<'.escape(a:fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>' -+ let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\|\<'.escape(a:fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").trailer - - else - " remove filename from buffer's markfilelist -@@ -3767,7 +4310,7 @@ - call filter(s:netrwmarkfilelist_{curbufnr},'v:val != a:fname') - if s:netrwmarkfilelist_{curbufnr} == [] - " local markfilelist is empty; remove it entirely --" call Decho("markfile list now empty, unlet s:netrwmarkfilelist_".curbufnr." and ...mtch_".curbufnr) -+" call Decho("markfile list now empty") - call s:NetrwUnmarkList(curbufnr,curdir) - else - " rebuild match list to display markings correctly -@@ -3776,9 +4319,9 @@ - let first = 1 - for fname in s:netrwmarkfilelist_{curbufnr} - if first -- let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>' -+ let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").trailer - else -- let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\|\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>' -+ let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\|\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").trailer - endif - let first= 0 - endfor -@@ -3799,7 +4342,7 @@ - if a:fname =~ '/$' - let s:netrwmarkfilemtch_{curbufnr}= '\<'.escape(a:fname,g:netrw_markfileesc) - else -- let s:netrwmarkfilemtch_{curbufnr}= '\<'.escape(a:fname,g:netrw_markfileesc).'\>' -+ let s:netrwmarkfilemtch_{curbufnr}= '\<'.escape(a:fname,g:netrw_markfileesc).trailer - endif - " call Decho("ending s:netrwmarkfilemtch_".curbufnr."<".s:netrwmarkfilemtch_{curbufnr}.">") - endif -@@ -3830,7 +4373,9 @@ - " set up 2match'ing to netrwmarkfilemtch list - if exists("s:netrwmarkfilemtch_{curbufnr}") && s:netrwmarkfilemtch_{curbufnr} != "" - " call Decho("exe 2match netrwMarkFile /".s:netrwmarkfilemtch_{curbufnr}."/") -- exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{curbufnr}."/" -+ if exists("g:did_drchip_netrwlist_syntax") -+ exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{curbufnr}."/" -+ endif - else - " call Decho("2match none") - 2match none -@@ -3858,7 +4403,7 @@ - for sfx in sort(keys(g:netrw_decompress)) - if fname =~ '\'.sfx.'$' - " fname has a suffix indicating that its compressed; apply associated decompression routine -- let exe= s:WinPath(g:netrw_decompress[sfx]) -+ let exe= netrw#WinPath(g:netrw_decompress[sfx]) - " call Decho("fname<".fname."> is compressed so decompress with <".exe.">") - if a:islocal - if g:netrw_keepdir -@@ -3883,10 +4428,10 @@ - unlet exe - elseif a:islocal - " fname not a compressed file, so compress it -- call system(s:WinPath(g:netrw_compress)." ".shellescape(s:ComposePath(b:netrw_curdir,fname))) -+ call system(netrw#WinPath(g:netrw_compress)." ".shellescape(s:ComposePath(b:netrw_curdir,fname))) - else - " fname not a compressed file, so compress it -- call s:RemoteSystem(s:WinPath(g:netrw_compress)." ".shellescape(fname)) -+ call s:RemoteSystem(netrw#WinPath(g:netrw_compress)." ".shellescape(fname)) - endif - endfor - call s:NetrwUnmarkList(curbufnr,curdir) -@@ -3927,7 +4472,7 @@ - " call Decho("copy from local to local") - let args= join(map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),"shellescape(b:netrw_curdir.\"/\".v:val)")) - " call Decho("system(".g:netrw_localcopycmd." ".args." ".shellescape(s:netrwmftgt).")") -- call system(s:WinPath(g:netrw_localcopycmd)." ".args." ".shellescape(s:netrwmftgt)) -+ call system(netrw#WinPath(g:netrw_localcopycmd)." ".args." ".shellescape(s:netrwmftgt)) - - elseif a:islocal && !s:netrwmftgt_islocal - " Copy marked files, local directory to remote directory -@@ -3948,10 +4493,10 @@ - if exists("*mkdir") - call mkdir(tmpdir) - else -- exe "silent! !".g:netrw_local_mkdir.' '.shellescape(tmpdir,1) -+ exe "sil! !".g:netrw_local_mkdir.' '.shellescape(tmpdir,1) - endif - if isdirectory(tmpdir) -- exe "keepjumps lcd ".fnameescape(tmpdir) -+ exe "keepj lcd ".fnameescape(tmpdir) - call netrw#NetrwObtain(a:islocal,s:netrwmarkfilelist_{bufnr('%')},tmpdir) - let localfiles= map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),'substitute(v:val,"^.*/","","")') - call s:NetrwUpload(localfiles,s:netrwmftgt) -@@ -3959,10 +4504,10 @@ - for fname in s:netrwmarkfilelist_{bufnr('%')} - call s:NetrwDelete(fname) - endfor -- exe "keepjumps lcd ".fnameescape(curdir) -- exe "silent !".g:netrw_local_rmdir." ".shellescape(tmpdir,1) -+ exe "keepj lcd ".fnameescape(curdir) -+ exe "sil !".g:netrw_local_rmdir." ".shellescape(tmpdir,1) - else -- exe "keepjumps lcd ".fnameescape(curdir) -+ exe "keepj lcd ".fnameescape(curdir) - endif - endif - endif -@@ -3982,7 +4527,9 @@ - if a:islocal - call s:NetrwRefreshDir(a:islocal,b:netrw_curdir) - endif -- call s:LocalBrowseShellCmdRefresh() -+ if g:netrw_fastbrowse <= 1 -+ call s:LocalBrowseShellCmdRefresh() -+ endif - - " call Dret("s:NetrwMarkFileCopy 1") - return 1 -@@ -4064,10 +4611,10 @@ - for fname in s:netrwmarkfilelist_{curbufnr} - if a:islocal - if g:netrw_keepdir -- let fname= shellescape(s:WinPath(s:ComposePath(curdir,fname))) -+ let fname= shellescape(netrw#WinPath(s:ComposePath(curdir,fname))) - endif - else -- let fname= shellescape(s:WinPath(b:netrw_curdir.fname)) -+ let fname= shellescape(netrw#WinPath(b:netrw_curdir.fname)) - endif - if cmd =~ '%' - let xcmd= substitute(cmd,'%',fname,'g') -@@ -4185,7 +4732,13 @@ - - " use vimgrep for both local and remote - " call Decho("exe vimgrep".pat." ".netrwmarkfilelist) -- exe "vimgrep".pat." ".netrwmarkfilelist -+ try -+ exe "keepj noautocmd vimgrep".pat." ".netrwmarkfilelist -+ catch /^Vim\%((\a\+)\)\=:E480/ -+ call netrw#ErrorMsg(s:WARNING,"no match with pattern<".pattern.">",76) -+" call Dret("s:NetrwMarkFileGrep : unable to find pattern<".pattern.">") -+ return -+ endtry - - 2match none - call netrw#NetrwRestorePosn(svpos) -@@ -4290,7 +4843,9 @@ - if a:islocal - call s:NetrwRefreshDir(a:islocal,b:netrw_curdir) - endif -- call s:LocalBrowseShellCmdRefresh() -+ if g:netrw_fastbrowse <= 1 -+ call s:LocalBrowseShellCmdRefresh() -+ endif - - " call Dret("s:NetrwMarkFileMove") - endfun -@@ -4342,24 +4897,15 @@ - " get the matching list of files using local glob() - " call Decho("handle local regexp") - let dirname = escape(b:netrw_curdir,g:netrw_glob_escape) -- let filelist = glob(s:ComposePath(dirname,regexp)) -- if filelist != "" -- let filelist= filelist."\n" -- endif -+ let files = glob(s:ComposePath(dirname,regexp)) -+" call Decho("files<".files.">") -+ let filelist= split(files,"\n") - - " mark the list of files -- while filelist != "" -- if filelist =~ '\n' -- let filename = substitute(filelist,'\n.*$','','e') -- let filelist = substitute(filelist,'^.\{-}\n\(.*\)$','\1','e') -- else -- let filename = filelist -- let filelist = "" -- endif --" call Decho("filelist<".filelist.">") --" call Decho("filename<".filename.">") -- call s:NetrwMarkFile(a:islocal,substitute(filename,'^.*/','','')) -- endwhile -+ for fname in filelist -+" call Decho("fname<".fname.">") -+ call s:NetrwMarkFile(a:islocal,substitute(fname,'^.*/','','')) -+ endfor - - else - " call Decho("handle remote regexp") -@@ -4367,28 +4913,34 @@ - " convert displayed listing into a filelist - let eikeep = &ei - let areg = @a -- silent %y a -+ sil keepj %y a - set ei=all ma - " call Decho("set ei=all ma") - 1split -- enew -- silent norm! "ap -- 2 -+ call s:NetrwEnew() -+ call s:NetrwSafeOptions() -+ sil keepj norm! "ap -+ keepj 2 - let bannercnt= search('^" =====','W') -- exe "silent 1,".bannercnt."d" -+ exe "sil keepj 1,".bannercnt."d" - set bt=nofile - if g:netrw_liststyle == s:LONGLIST -- silent %s/\s\{2,}\S.*$//e -+ sil keepj %s/\s\{2,}\S.*$//e -+ call histdel("/",-1) - elseif g:netrw_liststyle == s:WIDELIST -- silent %s/\s\{2,}/\r/ge -+ sil keepj %s/\s\{2,}/\r/ge -+ call histdel("/",-1) - elseif g:netrw_liststyle == s:TREELIST -- silent %s/^| //e -- silent! g/^ .*$/d -+ sil keepj %s/^| //e -+ sil! keepj g/^ .*$/d -+ call histdel("/",-1) -+ call histdel("/",-1) - endif - " convert regexp into the more usual glob-style format - let regexp= substitute(regexp,'\*','.*','g') - " call Decho("regexp<".regexp.">") -- exe "silent! v/".escape(regexp,'/')."/d" -+ exe "sil! keepj v/".escape(regexp,'/')."/d" -+ call histdel("/",-1) - let filelist= getline(1,line("$")) - q! - for filename in filelist -@@ -4458,7 +5010,8 @@ - e tags - let path= substitute(curdir,'^\(.*\)/[^/]*$','\1/','') - " call Decho("curdir<".curdir."> path<".path.">") -- exe '%s/\t\(\S\+\)\t/\t'.escape(path,"/\n\r\\").'\1\t/e' -+ exe 'keepj %s/\t\(\S\+\)\t/\t'.escape(path,"/\n\r\\").'\1\t/e' -+ call histdel("/",-1) - wq! - endif - 2match none -@@ -4518,13 +5071,13 @@ - endif - let s:netrwmftgt_islocal= a:islocal - -- if g:netrw_fastbrowse > 0 -+ if g:netrw_fastbrowse <= 1 - call s:LocalBrowseShellCmdRefresh() - endif - call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) - call netrw#NetrwRestorePosn(svpos) - if !hadtgt -- norm! j -+ sil! keepj norm! j - endif - - " call Dret("s:NetrwMarkFileTgt : netrwmftgt<".(exists("s:netrwmftgt")? s:netrwmftgt : "").">") -@@ -4652,58 +5205,56 @@ - if !exists("s:netrw_menu_enabled") && a:domenu - " call Decho("initialize menu") - let s:netrw_menu_enabled= 1 -- exe 'silent! menu '.g:NetrwMenuPriority.'.1 '.g:NetrwTopLvlMenu.'Help ' -- call s:NetrwBookmarkMenu() " provide some history! uses priorities 2,3, reserves 4 -- exe 'silent! menu '.g:NetrwMenuPriority.'.5 '.g:NetrwTopLvlMenu.'-Sep1- :' -- exe 'silent! menu '.g:NetrwMenuPriority.'.6 '.g:NetrwTopLvlMenu.'Go\ Up\ Directory- -' -- exe 'silent! menu '.g:NetrwMenuPriority.'.7 '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewerx x' -- exe 'silent! menu '.g:NetrwMenuPriority.'.8.1 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Current\ Directorymb mb' -- exe 'silent! menu '.g:NetrwMenuPriority.'.8.2 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ DeletemB mB' -- exe 'silent! menu '.g:NetrwMenuPriority.'.8.3 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Bookmarkgb gb' -- exe 'silent! menu '.g:NetrwMenuPriority.'.8.4 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Prev\ Dir\ (History)u u' -- exe 'silent! menu '.g:NetrwMenuPriority.'.8.5 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Next\ Dir\ (History)U U' -- exe 'silent! menu '.g:NetrwMenuPriority.'.8.6 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Listqb qb' -- exe 'silent! menu '.g:NetrwMenuPriority.'.9.1 '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ File\ Hiding\ List'." \NetrwHideEdit" -- exe 'silent! menu '.g:NetrwMenuPriority.'.9.2 '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ Sorting\ SequenceS S' -- exe 'silent! menu '.g:NetrwMenuPriority.'.9.3 '.g:NetrwTopLvlMenu.'Browsing\ Control.Quick\ Hide/Unhide\ Dot\ Files'."gh gh" -- exe 'silent! menu '.g:NetrwMenuPriority.'.9.4 '.g:NetrwTopLvlMenu.'Browsing\ Control.Refresh\ Listing'." \NetrwRefresh" -- exe 'silent! menu '.g:NetrwMenuPriority.'.9.5 '.g:NetrwTopLvlMenu.'Browsing\ Control.Settings/Options:NetrwSettings '.":NetrwSettings\" -- exe 'silent! menu '.g:NetrwMenuPriority.'.10 '.g:NetrwTopLvlMenu.'Delete\ File/DirectoryD D' -- exe 'silent! menu '.g:NetrwMenuPriority.'.11.1 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Current\ Window '."\" -- exe 'silent! menu '.g:NetrwMenuPriority.'.11.2 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.Preview\ File/Directoryp p' -- exe 'silent! menu '.g:NetrwMenuPriority.'.11.3 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Previous\ WindowP P' -- exe 'silent! menu '.g:NetrwMenuPriority.'.11.4 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ New\ Windowo o' -- exe 'silent! menu '.g:NetrwMenuPriority.'.11.5 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ New\ Vertical\ Windowv v' -- exe 'silent! menu '.g:NetrwMenuPriority.'.12.1 '.g:NetrwTopLvlMenu.'Explore.Directory\ Name :Explore ' -- exe 'silent! menu '.g:NetrwMenuPriority.'.12.2 '.g:NetrwTopLvlMenu.'Explore.Filenames\ Matching\ Pattern\ (curdir\ only):Explore\ */ :Explore */' -- exe 'silent! menu '.g:NetrwMenuPriority.'.12.2 '.g:NetrwTopLvlMenu.'Explore.Filenames\ Matching\ Pattern\ (+subdirs):Explore\ **/ :Explore **/' -- exe 'silent! menu '.g:NetrwMenuPriority.'.12.3 '.g:NetrwTopLvlMenu.'Explore.Files\ Containing\ Pattern\ (curdir\ only):Explore\ *// :Explore *//' -- exe 'silent! menu '.g:NetrwMenuPriority.'.12.4 '.g:NetrwTopLvlMenu.'Explore.Files\ Containing\ Pattern\ (+subdirs):Explore\ **// :Explore **//' -- exe 'silent! menu '.g:NetrwMenuPriority.'.12.4 '.g:NetrwTopLvlMenu.'Explore.Next\ Match:Nexplore :Nexplore' -- exe 'silent! menu '.g:NetrwMenuPriority.'.12.4 '.g:NetrwTopLvlMenu.'Explore.Prev\ Match:Pexplore :Pexplore' -- exe 'silent! menu '.g:NetrwMenuPriority.'.13 '.g:NetrwTopLvlMenu.'Make\ Subdirectoryd d' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.1 '.g:NetrwTopLvlMenu.'Marked\ Files.Mark\ Filemf mf' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.2 '.g:NetrwTopLvlMenu.'Marked\ Files.Mark\ Files\ by\ Regexpmr mr' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.3 '.g:NetrwTopLvlMenu.'Marked\ Files.Hide-Show-List\ Controla a' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.4 '.g:NetrwTopLvlMenu.'Marked\ Files.Copy\ To\ Targetmc mc' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.5 '.g:NetrwTopLvlMenu.'Marked\ Files.DeleteD D' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.6 '.g:NetrwTopLvlMenu.'Marked\ Files.Diffmd md' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.7 '.g:NetrwTopLvlMenu.'Marked\ Files.Editme me' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.8 '.g:NetrwTopLvlMenu.'Marked\ Files.Exe\ Cmdmx mx' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.9 '.g:NetrwTopLvlMenu.'Marked\ Files.Move\ To\ Targetmm mm' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.10 '.g:NetrwTopLvlMenu.'Marked\ Files.ObtainO O' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.11 '.g:NetrwTopLvlMenu.'Marked\ Files.Printmp mp' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.12 '.g:NetrwTopLvlMenu.'Marked\ Files.ReplaceR R' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.13 '.g:NetrwTopLvlMenu.'Marked\ Files.Set\ Targetmt mt' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.14 '.g:NetrwTopLvlMenu.'Marked\ Files.TagmT mT' -- exe 'silent! menu '.g:NetrwMenuPriority.'.14.15 '.g:NetrwTopLvlMenu.'Marked\ Files.Zip/Unzip/Compress/Uncompressmz mz' -- exe 'silent! menu '.g:NetrwMenuPriority.'.15 '.g:NetrwTopLvlMenu.'Obtain\ FileO O' -- exe 'silent! menu '.g:NetrwMenuPriority.'.16.1 '.g:NetrwTopLvlMenu.'Style.Listing\ Style\ (thin-long-wide-tree)i i' -- exe 'silent! menu '.g:NetrwMenuPriority.'.16.2 '.g:NetrwTopLvlMenu.'Style.Normal-Hide-Showa a' -- exe 'silent! menu '.g:NetrwMenuPriority.'.16.3 '.g:NetrwTopLvlMenu.'Style.Reverse\ Sorting\ Order'."r r" -- exe 'silent! menu '.g:NetrwMenuPriority.'.16.4 '.g:NetrwTopLvlMenu.'Style.Sorting\ Method\ (name-time-size)s s' -- exe 'silent! menu '.g:NetrwMenuPriority.'.17 '.g:NetrwTopLvlMenu.'Rename\ File/DirectoryR R' -- exe 'silent! menu '.g:NetrwMenuPriority.'.18 '.g:NetrwTopLvlMenu.'Set\ Current\ Directoryc c' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.1 '.g:NetrwTopLvlMenu.'Help ' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.5 '.g:NetrwTopLvlMenu.'-Sep1- :' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.6 '.g:NetrwTopLvlMenu.'Go\ Up\ Directory- -' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.7 '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewerx x' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.8.1 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Current\ Directorymb mb' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.8.4 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Prev\ Dir\ (History)u u' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.8.5 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Next\ Dir\ (History)U U' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.8.6 '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Listqb qb' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.9.1 '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ File\ Hiding\ List'." \'" -+ exe 'sil! menu '.g:NetrwMenuPriority.'.9.2 '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ Sorting\ SequenceS S' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.9.3 '.g:NetrwTopLvlMenu.'Browsing\ Control.Quick\ Hide/Unhide\ Dot\ Files'."gh gh" -+ exe 'sil! menu '.g:NetrwMenuPriority.'.9.4 '.g:NetrwTopLvlMenu.'Browsing\ Control.Refresh\ Listing'." \" -+ exe 'sil! menu '.g:NetrwMenuPriority.'.9.5 '.g:NetrwTopLvlMenu.'Browsing\ Control.Settings/Options:NetrwSettings '.":NetrwSettings\" -+ exe 'sil! menu '.g:NetrwMenuPriority.'.10 '.g:NetrwTopLvlMenu.'Delete\ File/DirectoryD D' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.11.1 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Current\ Window '."\" -+ exe 'sil! menu '.g:NetrwMenuPriority.'.11.2 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.Preview\ File/Directoryp p' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.11.3 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Previous\ WindowP P' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.11.4 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ New\ Windowo o' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.11.5 '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ New\ Vertical\ Windowv v' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.12.1 '.g:NetrwTopLvlMenu.'Explore.Directory\ Name :Explore ' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.12.2 '.g:NetrwTopLvlMenu.'Explore.Filenames\ Matching\ Pattern\ (curdir\ only):Explore\ */ :Explore */' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.12.2 '.g:NetrwTopLvlMenu.'Explore.Filenames\ Matching\ Pattern\ (+subdirs):Explore\ **/ :Explore **/' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.12.3 '.g:NetrwTopLvlMenu.'Explore.Files\ Containing\ String\ Pattern\ (curdir\ only):Explore\ *// :Explore *//' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.12.4 '.g:NetrwTopLvlMenu.'Explore.Files\ Containing\ String\ Pattern\ (+subdirs):Explore\ **// :Explore **//' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.12.4 '.g:NetrwTopLvlMenu.'Explore.Next\ Match:Nexplore :Nexplore' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.12.4 '.g:NetrwTopLvlMenu.'Explore.Prev\ Match:Pexplore :Pexplore' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.13 '.g:NetrwTopLvlMenu.'Make\ Subdirectoryd d' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.1 '.g:NetrwTopLvlMenu.'Marked\ Files.Mark\ Filemf mf' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.2 '.g:NetrwTopLvlMenu.'Marked\ Files.Mark\ Files\ by\ Regexpmr mr' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.3 '.g:NetrwTopLvlMenu.'Marked\ Files.Hide-Show-List\ Controla a' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.4 '.g:NetrwTopLvlMenu.'Marked\ Files.Copy\ To\ Targetmc mc' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.5 '.g:NetrwTopLvlMenu.'Marked\ Files.DeleteD D' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.6 '.g:NetrwTopLvlMenu.'Marked\ Files.Diffmd md' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.7 '.g:NetrwTopLvlMenu.'Marked\ Files.Editme me' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.8 '.g:NetrwTopLvlMenu.'Marked\ Files.Exe\ Cmdmx mx' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.9 '.g:NetrwTopLvlMenu.'Marked\ Files.Move\ To\ Targetmm mm' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.10 '.g:NetrwTopLvlMenu.'Marked\ Files.ObtainO O' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.11 '.g:NetrwTopLvlMenu.'Marked\ Files.Printmp mp' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.12 '.g:NetrwTopLvlMenu.'Marked\ Files.ReplaceR R' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.13 '.g:NetrwTopLvlMenu.'Marked\ Files.Set\ Targetmt mt' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.14 '.g:NetrwTopLvlMenu.'Marked\ Files.TagmT mT' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.14.15 '.g:NetrwTopLvlMenu.'Marked\ Files.Zip/Unzip/Compress/Uncompressmz mz' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.15 '.g:NetrwTopLvlMenu.'Obtain\ FileO O' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.16.1 '.g:NetrwTopLvlMenu.'Style.Listing\ Style\ (thin-long-wide-tree)i i' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.16.2 '.g:NetrwTopLvlMenu.'Style.Normal-Hide-Showa a' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.16.3 '.g:NetrwTopLvlMenu.'Style.Reverse\ Sorting\ Order'."r r" -+ exe 'sil! menu '.g:NetrwMenuPriority.'.16.4 '.g:NetrwTopLvlMenu.'Style.Sorting\ Method\ (name-time-size)s s' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.17 '.g:NetrwTopLvlMenu.'Rename\ File/DirectoryR R' -+ exe 'sil! menu '.g:NetrwMenuPriority.'.18 '.g:NetrwTopLvlMenu.'Set\ Current\ Directoryc c' -+ call s:NetrwBookmarkMenu() " provide some history! uses priorities 2,3, reserves 4, 8.2.x - let s:netrw_menucnt= 28 - - elseif !a:domenu -@@ -4714,9 +5265,9 @@ - - if s:netrwcnt <= 1 - " call Decho("clear menus") -- exe 'silent! unmenu '.g:NetrwTopLvlMenu -+ exe 'sil! unmenu '.g:NetrwTopLvlMenu - " call Decho('exe silent! unmenu '.g:NetrwTopLvlMenu.'*') -- silent! unlet s:netrw_menu_enabled -+ sil! unlet s:netrw_menu_enabled - endif - endif - " call Dret("NetrwMenu") -@@ -4731,8 +5282,8 @@ - " call Dfunc("NetrwObtain(islocal=".a:islocal.")") - - if exists("s:netrwmarkfilelist_{bufnr('%')}") -- let islocal= s:netrwmarkfilelist_{bufnr("%")}[1] !~ '^\a\+://' -- call netrw#NetrwObtain(islocal,s:netrwmarkfilelist_{bufnr("%")}) -+ let islocal= s:netrwmarkfilelist_{bufnr('%')}[1] !~ '^\a\+://' -+ call netrw#NetrwObtain(islocal,s:netrwmarkfilelist_{bufnr('%')}) - call s:NetrwUnmarkList(bufnr('%'),b:netrw_curdir) - else - call netrw#NetrwObtain(a:islocal,expand("")) -@@ -4769,7 +5320,7 @@ - endif - " call Decho("tgtdir<".tgtdir.">") - -- if b:netrw_islocal -+ if exists("b:netrw_islocal") && b:netrw_islocal - " obtain a file from local b:netrw_curdir to (local) tgtdir - " call Decho("obtain a file from local ".b:netrw_curdir." to ".tgtdir) - if exists("b:netrw_curdir") && getcwd() != b:netrw_curdir -@@ -4826,7 +5377,7 @@ - let tmpbufnr= bufnr("%") - setlocal ff=unix - if exists("g:netrw_ftpmode") && g:netrw_ftpmode != "" -- put =g:netrw_ftpmode -+ keepj put =g:netrw_ftpmode - " call Decho("filter input: ".getline('$')) - endif - -@@ -4836,7 +5387,7 @@ - endif - - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('$')) - endif - for fname in fnamelist -@@ -4866,44 +5417,44 @@ - setlocal ff=unix - - if exists("g:netrw_port") && g:netrw_port != "" -- put ='open '.g:netrw_machine.' '.g:netrw_port -+ keepj put ='open '.g:netrw_machine.' '.g:netrw_port - " call Decho("filter input: ".getline('$')) - else -- put ='open '.g:netrw_machine -+ keepj put ='open '.g:netrw_machine - " call Decho("filter input: ".getline('$')) - endif - - if exists("g:netrw_ftp") && g:netrw_ftp == 1 -- put =g:netrw_uid -+ keepj put =g:netrw_uid - " call Decho("filter input: ".getline('$')) -- put ='\"'.s:netrw_passwd.'\"' -+ keepj put ='\"'.s:netrw_passwd.'\"' - " call Decho("filter input: ".getline('$')) - else -- put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' -+ keepj put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' - " call Decho("filter input: ".getline('$')) - endif - - if exists("g:netrw_ftpmode") && g:netrw_ftpmode != "" -- put =g:netrw_ftpmode -+ keepj put =g:netrw_ftpmode - " call Decho("filter input: ".getline('$')) - endif - - if exists("b:netrw_fname") && b:netrw_fname != "" -- call setline(line("$")+1,'cd "'.b:netrw_fname.'"') -+ keepj call setline(line("$")+1,'cd "'.b:netrw_fname.'"') - " call Decho("filter input: ".getline('$')) - endif - - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('$')) - endif - - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('$')) - endif - for fname in fnamelist -- call setline(line("$")+1,'get "'.fname.'"') -+ keepj call setline(line("$")+1,'get "'.fname.'"') - endfor - " call Decho("filter input: ".getline('$')) - -@@ -4911,7 +5462,7 @@ - " -i : turns off interactive prompting from ftp - " -n unix : DON'T use <.netrc>, even though it exists - " -n win32: quit being obnoxious about password -- norm! 1Gdd -+ keepj norm! 1Gdd - " call Decho("executing: %!".g:netrw_ftp_cmd." -i -n") - exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n" - " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) -@@ -4921,6 +5472,14 @@ - call netrw#ErrorMsg(s:ERROR,getline(1),5) - endif - endif -+ elseif !exists("b:netrw_method") || b:netrw_method < 0 -+" call Dfunc("netrw#NetrwObtain : unsupported method") -+ return -+ endif -+ -+ " restore status line -+ if type(a:fname) == 1 && exists("s:netrw_users_stl") -+ call s:SetupNetrwStatusLine(s:netrw_users_stl) - endif - - endif -@@ -4989,8 +5548,8 @@ - let &ei= eikeep - " call Decho("bnr=".bnr." bnrcnt=".bnrcnt." buftype=".&bt." winnr#".winnr()) - if bnrcnt == 1 -- let bufname= bufname(winbufnr(winnr())) -- let choice= confirm("Save modified file<".bufname.">?","&Yes\n&No\n&Cancel") -+ let bufname = bufname(winbufnr(winnr())) -+ let choice = confirm("Save modified file<".bufname.">?","&Yes\n&No\n&Cancel") - " call Decho("bufname<".bufname."> choice=".choice." winnr#".winnr()) - - if choice == 1 -@@ -5106,25 +5665,25 @@ - if b:netrw_method == 2 - " handle uploading a list of files via ftp+.netrc - let netrw_fname = b:netrw_fname -- silent keepjumps new -+ sil keepj new - " call Decho("filter input window#".winnr()) - -- put =g:netrw_ftpmode -+ keepj put =g:netrw_ftpmode - " call Decho("filter input: ".getline('$')) - - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('$')) - endif - -- call setline(line("$")+1,'lcd "'.fromdir.'"') -+ keepj call setline(line("$")+1,'lcd "'.fromdir.'"') - " call Decho("filter input: ".getline('$')) - -- call setline(line("$")+1,'cd "'.tgtdir.'"') -+ keepj call setline(line("$")+1,'cd "'.tgtdir.'"') - " call Decho("filter input: ".getline('$')) - - for fname in a:fname -- call setline(line("$")+1,'put "'.fname.'"') -+ keepj call setline(line("$")+1,'put "'.fname.'"') - " call Decho("filter input: ".getline('$')) - endfor - -@@ -5137,7 +5696,8 @@ - exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".shellescape(g:netrw_machine,1) - endif - " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) -- silent g/Local directory now/d -+ sil keepj g/Local directory now/d -+ call histdel("/",-1) - if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying ' - call netrw#ErrorMsg(s:ERROR,getline(1),14) - else -@@ -5152,38 +5712,38 @@ - setlocal ff=unix - - if exists("g:netrw_port") && g:netrw_port != "" -- put ='open '.g:netrw_machine.' '.g:netrw_port -+ keepj put ='open '.g:netrw_machine.' '.g:netrw_port - " call Decho("filter input: ".getline('$')) - else -- put ='open '.g:netrw_machine -+ keepj put ='open '.g:netrw_machine - " call Decho("filter input: ".getline('$')) - endif - - if exists("g:netrw_ftp") && g:netrw_ftp == 1 -- put =g:netrw_uid -+ keepj put =g:netrw_uid - " call Decho("filter input: ".getline('$')) -- call setline(line("$")+1,'"'.s:netrw_passwd.'"') -+ keepj call setline(line("$")+1,'"'.s:netrw_passwd.'"') - " call Decho("filter input: ".getline('$')) - else -- put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' -+ keepj put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' - " call Decho("filter input: ".getline('$')) - endif - -- call setline(line("$")+1,'lcd "'.fromdir.'"') -+ keepj call setline(line("$")+1,'lcd "'.fromdir.'"') - " call Decho("filter input: ".getline('$')) - - if exists("b:netrw_fname") && b:netrw_fname != "" -- call setline(line("$")+1,'cd "'.b:netrw_fname.'"') -+ keepj call setline(line("$")+1,'cd "'.b:netrw_fname.'"') - " call Decho("filter input: ".getline('$')) - endif - - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('$')) - endif - - for fname in a:fname -- call setline(line("$")+1,'put "'.fname.'"') -+ keepj call setline(line("$")+1,'put "'.fname.'"') - " call Decho("filter input: ".getline('$')) - endfor - -@@ -5191,11 +5751,12 @@ - " -i : turns off interactive prompting from ftp - " -n unix : DON'T use <.netrc>, even though it exists - " -n win32: quit being obnoxious about password -- norm! 1Gdd -+ keepj norm! 1Gdd - " call Decho("executing: ".s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n") - exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n" - " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar) -- silent g/Local directory now/d -+ sil keepj g/Local directory now/d -+ call histdel("/",-1) - if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying ' - let debugkeep= &debug - setlocal debug=msg -@@ -5205,6 +5766,9 @@ - else - bw!|q - endif -+ elseif !exists("b:netrw_method") || b:netrw_method < 0 -+" call Dfunc("netrw#NetrwUpload : unsupported method") -+ return - endif - else - call netrw#ErrorMsg(s:ERROR,"can't obtain files with protocol from<".a:tgt.">",63) -@@ -5222,7 +5786,14 @@ - call s:NetrwSafeOptions() - if has("quickfix") - if !isdirectory(a:path) -- exe (g:netrw_preview? "vert " : "")."pedit ".fnameescape(a:path) -+ if g:netrw_preview && !g:netrw_alto -+ let pvhkeep= &pvh -+ let &pvh = winwidth(0) - g:netrw_winsize -+ endif -+ exe (g:netrw_alto? "top " : "bot ").(g:netrw_preview? "vert " : "")."pedit ".fnameescape(a:path) -+ if exists("pvhkeep") -+ let &pvh= pvhkeep -+ endif - elseif !exists("g:netrw_quiet") - call netrw#ErrorMsg(s:WARNING,"sorry, cannot preview a directory such as <".a:path.">",38) - endif -@@ -5243,7 +5814,7 @@ - setlocal ma noro - " call Decho("setlocal ma noro") - " call Decho("clear buffer<".expand("%")."> with :%d") -- %d -+ keepj %d - if a:islocal - call netrw#LocalBrowseCheck(a:dirname) - else -@@ -5325,13 +5896,12 @@ - let seq = seqlist - let seqlist = "" - endif -- let sepchr= "\" - if priority < 10 -- let spriority= "00".priority.sepchr -+ let spriority= "00".priority.g:netrw_sepchr - elseif priority < 100 -- let spriority= "0".priority.sepchr -+ let spriority= "0".priority.g:netrw_sepchr - else -- let spriority= priority.sepchr -+ let spriority= priority.g:netrw_sepchr - endif - " call Decho("priority=".priority." spriority<".spriority."> seq<".seq."> seqlist<".seqlist.">") - -@@ -5344,15 +5914,18 @@ - if seq == '*' - let starpriority= spriority - else -- exe 'silent keepjumps '.w:netrw_bannercnt.',$g/'.seq.'/s/^/'.spriority.'/' -+ exe 'sil keepj '.w:netrw_bannercnt.',$g/'.seq.'/s/^/'.spriority.'/' -+ call histdel("/",-1) - " sometimes multiple sorting patterns will match the same file or directory. - " The following substitute is intended to remove the excess matches. -- exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^\d\{3}'.sepchr.'\d\{3}\//s/^\d\{3}'.sepchr.'\(\d\{3}\/\).\@=/\1/e' -+ exe 'sil keepj '.w:netrw_bannercnt.',$g/^\d\{3}'.g:netrw_sepchr.'\d\{3}\//s/^\d\{3}'.g:netrw_sepchr.'\(\d\{3}\/\).\@=/\1/e' -+ call histdel("/",-1) - endif - let priority = priority + 1 - endwhile - if exists("starpriority") -- exe 'silent keepjumps '.w:netrw_bannercnt.',$v/^\d\{3}'.sepchr.'/s/^/'.starpriority.'/' -+ exe 'sil keepj '.w:netrw_bannercnt.',$v/^\d\{3}'.g:netrw_sepchr.'/s/^/'.starpriority.'/' -+ call histdel("/",-1) - endif - - " Following line associated with priority -- items that satisfy a priority -@@ -5361,7 +5934,8 @@ - " priority pattern needs to be retained. So, at this point, these excess - " priority prefixes need to be removed, but not directories that happen to - " be just digits themselves. -- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}'.sepchr.'\)\%(\d\{3}'.sepchr.'\)\+\ze./\1/e' -+ exe 'sil keepj '.w:netrw_bannercnt.',$s/^\(\d\{3}'.g:netrw_sepchr.'\)\%(\d\{3}'.g:netrw_sepchr.'\)\+\ze./\1/e' -+ call histdel("/",-1) - - " call Dret("SetSort") - endfun -@@ -5374,7 +5948,7 @@ - let svpos= netrw#NetrwSavePosn() - - let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name' -- norm! 0 -+ keepj norm! 0 - call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) - call netrw#NetrwRestorePosn(svpos) - -@@ -5405,12 +5979,12 @@ - - elseif a:mode == 1 - " remote and t -- let cursorword = s:NetrwGetWord() -+ let newdir = s:NetrwBrowseChgDir(0,s:NetrwGetWord()) - " call Decho("tabnew") - tabnew - let s:didsplit= 1 - call s:RestoreWinVars() -- call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,cursorword)) -+ call s:NetrwBrowse(0,newdir) - unlet s:didsplit - - elseif a:mode == 2 -@@ -5433,8 +6007,8 @@ - - elseif a:mode == 4 - " local and t -- let netrw_curdir= b:netrw_curdir - let cursorword = s:NetrwGetWord() -+ let netrw_curdir= s:NetrwTreeDir() - " call Decho("tabnew") - tabnew - let b:netrw_curdir= netrw_curdir -@@ -5505,12 +6079,13 @@ - if w:netrw_liststyle == s:TREELIST - " call Decho("w:netrrw_liststyle is TREELIST:") - " call Decho("line#".line(".")." getline(.)<".getline('.')."> treecurpos<".string(s:treecurpos).">") -+ -+ " extract tree directory if on a line specifying a subdirectory (ie. ends with "/") - if getline('.') =~ '/$' - let treedir= substitute(getline('.'),'^\%(| \)*\([^|].\{-}\)$','\1','e') - else - let treedir= "" - endif -- - " call Decho("treedir<".treedir.">") - - " detect user attempting to close treeroot -@@ -5518,18 +6093,18 @@ - " call Decho("user attempted to close treeroot") - " now force a refresh - " call Decho("clear buffer<".expand("%")."> with :%d") -- keepjumps %d -+ keepj %d - " call Dret("NetrwTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">") - return b:netrw_curdir - endif - - " elide all non-depth information - let depth = substitute(getline('.'),'^\(\%(| \)*\)[^|].\{-}$','\1','e') --" call Decho("depth<".depth."> 1st subst") -+" call Decho("depth<".depth."> 1st subst (non-depth info removed)") - - " elide first depth - let depth = substitute(depth,'^| ','','') --" call Decho("depth<".depth."> 2nd subst") -+" call Decho("depth<".depth."> 2nd subst (first depth removed)") - - " construct treedir by searching backwards at correct depth - " call Decho("constructing treedir<".treedir."> depth<".depth.">") -@@ -5548,11 +6123,6 @@ - endif - let treedir= substitute(treedir,'//$','/','') - --" " now force a refresh --"" call DECHO("clear buffer<".expand("%")."> with :%d") --" setlocal ma noro --" keepjumps %d -- - " call Dret("NetrwTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">") - return treedir - endfun -@@ -5604,7 +6174,7 @@ - call s:NetrwTreeDisplay(direntry.'/',depth) - else - " call Decho("<".entry."> is not a key in treedict (no subtree)") -- call setline(line("$")+1,depth.entry) -+ keepj call setline(line("$")+1,depth.entry) - endif - endfor - " call Dret("NetrwTreeDisplay") -@@ -5638,7 +6208,7 @@ - " call Decho("bannercnt=".w:netrw_bannercnt." line($)=".line("$")) - exe "silent! keepjumps ".w:netrw_bannercnt.',$g@^\.\.\=/$@d' - let w:netrw_treedict[a:dirname]= getline(w:netrw_bannercnt,line("$")) --" call Decho("w:treedict[".a:dirname."]= ".w:netrw_treedict[a:dirname]) -+" call Decho("w:treedict[".a:dirname."]= ".string(w:netrw_treedict[a:dirname])) - exe "silent! keepjumps ".w:netrw_bannercnt.",$d" - - " if past banner, record word -@@ -5663,30 +6233,32 @@ - if w:netrw_liststyle == s:WIDELIST - " call Dfunc("NetrwWideListing() w:netrw_liststyle=".w:netrw_liststyle.' fo='.&fo.' l:fo='.&l:fo) - " look for longest filename (cpf=characters per filename) -- " cpf: characters per file -- " fpl: files per line -- " fpc: files per column -+ " cpf: characters per filename -+ " fpl: filenames per line -+ " fpc: filenames per column - setlocal ma noro - " call Decho("setlocal ma noro") - let b:netrw_cpf= 0 - if line("$") >= w:netrw_bannercnt -- exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif' -+ exe 'sil keepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif' -+ call histdel("/",-1) - else - " call Dret("NetrwWideListing") - return - endif --" call Decho("max file strlen+1=".b:netrw_cpf) -- let b:netrw_cpf= b:netrw_cpf + 1 -+ let b:netrw_cpf= b:netrw_cpf + 2 -+" call Decho("b:netrw_cpf=max_filename_length+2=".b:netrw_cpf) - - " determine qty files per line (fpl) - let w:netrw_fpl= winwidth(0)/b:netrw_cpf - if w:netrw_fpl <= 0 - let w:netrw_fpl= 1 - endif --" call Decho("fpl= ".winwidth(0)."/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl) -+" call Decho("fpl= [winwidth=".winwidth(0)."]/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl) - - " make wide display -- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=escape(printf("%-'.b:netrw_cpf.'s",submatch(0)),"\\")/' -+ exe 'sil keepj '.w:netrw_bannercnt.',$s/^.*$/\=escape(printf("%-'.b:netrw_cpf.'s",submatch(0)),"\\")/' -+ call histdel("/",-1) - let fpc = (line("$") - w:netrw_bannercnt + w:netrw_fpl)/w:netrw_fpl - let newcolstart = w:netrw_bannercnt + fpc - let newcolend = newcolstart + fpc - 1 -@@ -5697,15 +6269,16 @@ - let newcolqty= newcolend - newcolstart - exe newcolstart - if newcolqty == 0 -- exe "silent keepjumps norm! 0\$hx".w:netrw_bannercnt."G$p" -+ exe "sil keepj norm! 0\$hx".w:netrw_bannercnt."G$p" - else -- exe "silent keepjumps norm! 0\".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p' -+ exe "sil keepj norm! 0\".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p' - endif -- exe "silent keepjumps ".newcolstart.','.newcolend.'d' -- exe 'silent keepjumps '.w:netrw_bannercnt -+ exe "sil keepj ".newcolstart.','.newcolend.'d' -+ exe 'sil keepj '.w:netrw_bannercnt - endwhile - silent! let @*= keepregstar -- exe "silent keepjumps ".w:netrw_bannercnt.',$s/\s\+$//e' -+ exe "sil keepj ".w:netrw_bannercnt.',$s/\s\+$//e' -+ call histdel("/",-1) - setlocal noma nomod ro - " call Dret("NetrwWideListing") - endif -@@ -5715,7 +6288,7 @@ - " --------------------------------------------------------------------- - " s:PerformListing: {{{2 - fun! s:PerformListing(islocal) --" call Dfunc("s:PerformListing(islocal=".a:islocal.") buf(%)=".bufnr("%")."<".bufname("%").">") -+" call Dfunc("s:PerformListing(islocal=".a:islocal.") bufnr(%)=".bufnr("%")."<".bufname("%").">") - - call s:NetrwSafeOptions() - setlocal noro ma -@@ -5729,20 +6302,25 @@ - if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict") - " force a refresh for tree listings - " call Decho("force refresh for treelisting: clear buffer<".expand("%")."> with :%d") -- keepjumps %d -+ keepj %d - endif - - " save current directory on directory history list -- call s:NetrwBookmarkDir(3,b:netrw_curdir) -+ call s:NetrwBookHistHandler(3,b:netrw_curdir) - - " Set up the banner {{{3 --" call Decho("set up banner") -- keepjumps put ='\" ============================================================================' -- keepjumps put ='\" Netrw Directory Listing (netrw '.g:loaded_netrw.')' -- keepjumps put ='\" '.b:netrw_curdir -- keepjumps 1d -- let w:netrw_bannercnt= 3 -- exe "keepjumps ".w:netrw_bannercnt -+ if g:netrw_banner -+" call Decho("set up banner") -+ keepj put ='\" ============================================================================' -+ keepj put ='\" Netrw Directory Listing (netrw '.g:loaded_netrw.')' -+ keepj put ='\" '.b:netrw_curdir -+ keepj 1d -+ let w:netrw_bannercnt= 3 -+ exe "keepj ".w:netrw_bannercnt -+ else -+ keepj 1 -+ let w:netrw_bannercnt= 1 -+ endif - - let sortby= g:netrw_sort_by - if g:netrw_sort_direction =~ "^r" -@@ -5750,55 +6328,63 @@ - endif - - " Sorted by... {{{3 --" call Decho("handle specified sorting: g:netrw_sort_by<".g:netrw_sort_by.">") -- if g:netrw_sort_by =~ "^n" -+ if g:netrw_banner -+" call Decho("handle specified sorting: g:netrw_sort_by<".g:netrw_sort_by.">") -+ if g:netrw_sort_by =~ "^n" - " call Decho("directories will be sorted by name") -- " sorted by name -- keepjumps put ='\" Sorted by '.sortby -- keepjumps put ='\" Sort sequence: '.g:netrw_sort_sequence -- let w:netrw_bannercnt= w:netrw_bannercnt + 2 -- else -+ " sorted by name -+ keepj put ='\" Sorted by '.sortby -+ keepj put ='\" Sort sequence: '.g:netrw_sort_sequence -+ let w:netrw_bannercnt= w:netrw_bannercnt + 2 -+ else - " call Decho("directories will be sorted by size or time") -- " sorted by size or date -- keepjumps put ='\" Sorted by '.sortby -- let w:netrw_bannercnt= w:netrw_bannercnt + 1 -+ " sorted by size or date -+ keepj put ='\" Sorted by '.sortby -+ let w:netrw_bannercnt= w:netrw_bannercnt + 1 -+ endif -+ exe "keepj ".w:netrw_bannercnt - endif -- exe "keepjumps ".w:netrw_bannercnt - - " show copy/move target, if any -- if exists("s:netrwmftgt") && exists("s:netrwmftgt_islocal") --" call Decho("show copy/move target<".s:netrwmftgt.">") -- keepjumps put ='' -- if s:netrwmftgt_islocal -- call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (local)') -+ if g:netrw_banner -+ if exists("s:netrwmftgt") && exists("s:netrwmftgt_islocal") -+" call Decho("show copy/move target<".s:netrwmftgt.">") -+ keepj put ='' -+ if s:netrwmftgt_islocal -+ keepj call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (local)') -+ else -+ keepj call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (remote)') -+ endif -+ let w:netrw_bannercnt= w:netrw_bannercnt + 1 - else -- call setline(line("."),'" Copy/Move Tgt: '.s:netrwmftgt.' (remote)') -+" call Decho("s:netrwmftgt does not exist, don't make Copy/Move Tgt") - endif -- let w:netrw_bannercnt= w:netrw_bannercnt + 1 -- else --" call Decho("s:netrwmftgt does not exist, don't make Copy/Move Tgt") -+ exe "keepj ".w:netrw_bannercnt - endif -- exe "keepjumps ".w:netrw_bannercnt - - " Hiding... -or- Showing... {{{3 --" call Decho("handle hiding/showing (g:netrw_hide=".g:netrw_list_hide." g:netrw_list_hide<".g:netrw_list_hide.">)") -- if g:netrw_list_hide != "" && g:netrw_hide -- if g:netrw_hide == 1 -- keepjumps put ='\" Hiding: '.g:netrw_list_hide -- else -- keepjumps put ='\" Showing: '.g:netrw_list_hide -+ if g:netrw_banner -+" call Decho("handle hiding/showing (g:netrw_hide=".g:netrw_list_hide." g:netrw_list_hide<".g:netrw_list_hide.">)") -+ if g:netrw_list_hide != "" && g:netrw_hide -+ if g:netrw_hide == 1 -+ keepj put ='\" Hiding: '.g:netrw_list_hide -+ else -+ keepj put ='\" Showing: '.g:netrw_list_hide -+ endif -+ let w:netrw_bannercnt= w:netrw_bannercnt + 1 - endif -- let w:netrw_bannercnt= w:netrw_bannercnt + 1 -+ exe "keepjumps ".w:netrw_bannercnt -+ keepj put ='\" Quick Help: :help -:go up dir D:delete R:rename s:sort-by x:exec' -+ keepj put ='\" ============================================================================' -+ let w:netrw_bannercnt= w:netrw_bannercnt + 2 - endif -- exe "keepjumps ".w:netrw_bannercnt -- keepjumps put ='\" Quick Help: :help -:go up dir D:delete R:rename s:sort-by x:exec' -- keepjumps put ='\" ============================================================================' -- let w:netrw_bannercnt= w:netrw_bannercnt + 2 - - " bannercnt should index the line just after the banner -- let w:netrw_bannercnt= w:netrw_bannercnt + 1 -- exe "keepjumps ".w:netrw_bannercnt --" call Decho("bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$")) -+ if g:netrw_banner -+ let w:netrw_bannercnt= w:netrw_bannercnt + 1 -+ exe "keepj ".w:netrw_bannercnt -+" call Decho("bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$")) -+ endif - - " set up syntax highlighting {{{3 - " call Decho("set up syntax highlighting") -@@ -5816,54 +6402,58 @@ - else " remote - call s:NetrwRemoteListing() - endif --" call Decho("w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)") -+" call Decho("g:netrw_banner=".g:netrw_banner." w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)") - - " manipulate the directory listing (hide, sort) {{{3 -- if line("$") >= w:netrw_bannercnt -+ if !g:netrw_banner || line("$") >= w:netrw_bannercnt - " call Decho("manipulate directory listing (hide)") - " call Decho("g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">") - if g:netrw_hide && g:netrw_list_hide != "" - call s:NetrwListHide() - endif -- if line("$") >= w:netrw_bannercnt -+ if !g:netrw_banner || line("$") >= w:netrw_bannercnt - " call Decho("manipulate directory listing (sort) : g:netrw_sort_by<".g:netrw_sort_by.">") - - if g:netrw_sort_by =~ "^n" - " sort by name - call s:NetrwSetSort() - -- if w:netrw_bannercnt < line("$") -+ if !g:netrw_banner || w:netrw_bannercnt < line("$") - " call Decho("g:netrw_sort_direction=".g:netrw_sort_direction." (bannercnt=".w:netrw_bannercnt.")") - if g:netrw_sort_direction =~ 'n' - " normal direction sorting -- exe 'silent keepjumps '.w:netrw_bannercnt.',$sort'.' '.g:netrw_sort_options -+ exe 'sil keepj '.w:netrw_bannercnt.',$sort'.' '.g:netrw_sort_options - else - " reverse direction sorting -- exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options -+ exe 'sil keepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options - endif - endif - " remove priority pattern prefix - " call Decho("remove priority pattern prefix") -- let sepchr= "\" -- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}'.sepchr.'//e' -+ exe 'sil keepj '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e' -+ call histdel("/",-1) - - elseif a:islocal -- if w:netrw_bannercnt < line("$") -+ if !g:netrw_banner || w:netrw_bannercnt < line("$") - " call Decho("g:netrw_sort_direction=".g:netrw_sort_direction) - if g:netrw_sort_direction =~ 'n' - " call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort') -- exe 'silent keepjumps '.w:netrw_bannercnt.',$sort'.' '.g:netrw_sort_options -+ exe 'sil keepj '.w:netrw_bannercnt.',$sort'.' '.g:netrw_sort_options - else - " call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort!') -- exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options -+ exe 'sil keepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options - endif -+ exe 'sil keepj '.w:netrw_bannercnt.',$s/^\d\{-}\///e' -+ call histdel("/",-1) - endif -- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{-}\///e' - endif - - elseif g:netrw_sort_direction =~ 'r' - " call Decho('reverse the sorted listing') -- exe 'silent keepjumps '.w:netrw_bannercnt.'g/^/m '.w:netrw_bannercnt -+ if !g:netrw_banner || w:netrw_bannercnt < line('$') -+ exe 'sil keepj '.w:netrw_bannercnt.',$g/^/m '.w:netrw_bannercnt -+ call histdel("/",-1) -+ endif - endif - endif - -@@ -5872,11 +6462,11 @@ - call s:NetrwWideListing() - call s:NetrwTreeListing(b:netrw_curdir) - -- if exists("w:netrw_bannercnt") && line("$") > w:netrw_bannercnt -+ if exists("w:netrw_bannercnt") && (line("$") > w:netrw_bannercnt || !g:netrw_banner) - " place cursor on the top-left corner of the file listing - " call Decho("place cursor on top-left corner of file listing") -- exe 'silent keepjumps '.w:netrw_bannercnt -- norm! 0 -+ exe 'sil keepj '.w:netrw_bannercnt -+ keepj norm! 0 - endif - - " record previous current directory -@@ -5996,40 +6586,46 @@ - endif - " call Decho("listcmd<".listcmd."> (using g:netrw_ftp_list_cmd)") - call s:NetrwRemoteFtpCmd(s:path,listcmd) --" exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("raw listing: ".getline("."))' -+" exe "keepj ".w:netrw_bannercnt.',$g/^./call Decho("raw listing: ".getline("."))' - - if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST - " shorten the listing - " call Decho("generate short listing") -- exe "keepjumps ".w:netrw_bannercnt -+ exe "keepj ".w:netrw_bannercnt - - " cleanup - if g:netrw_ftp_browse_reject != "" -- exe "silent! g/".g:netrw_ftp_browse_reject."/keepjumps d" -+ exe "sil! keepj g/".g:netrw_ftp_browse_reject."/keepj d" -+ call histdel("/",-1) - endif -- silent! keepjumps %s/\r$//e -+ sil! keepj %s/\r$//e -+ call histdel("/",-1) - - " if there's no ../ listed, then put ./ and ../ in - let line1= line(".") -- exe "keepjumps ".w:netrw_bannercnt -+ exe "keepj ".w:netrw_bannercnt - let line2= search('^\.\.\/\%(\s\|$\)','cnW') - if line2 == 0 - " call Decho("netrw is putting ./ and ../ into listing") -- keepjumps put='../' -- keepjumps put='./' -+ keepj put='../' -+ keepj put='./' - endif -- exe "keepjumps ".line1 -+ exe "keepj ".line1 - keepjumps norm! 0 - - " call Decho("line1=".line1." line2=".line2." line(.)=".line(".")) - if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup - " call Decho("M$ ftp cleanup") -- exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(\|\d\+\)\s\+//' -+ exe 'sil! keepj '.w:netrw_bannercnt.',$s/^\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(\|\d\+\)\s\+//' -+ call histdel("/",-1) - else " normal ftp cleanup - " call Decho("normal ftp cleanup") -- exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2/e' -- exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*/$#/#e' -- exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*$#/#e' -+ exe 'sil! keepj '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2/e' -+ exe "sil! keepj ".w:netrw_bannercnt.',$g/ -> /s# -> .*/$#/#e' -+ exe "sil! keepj ".w:netrw_bannercnt.',$g/ -> /s# -> .*$#/#e' -+ call histdel("/",-1) -+ call histdel("/",-1) -+ call histdel("/",-1) - endif - endif - -@@ -6042,19 +6638,23 @@ - " call Decho("1: exe silent r! ".shellescape(listcmd.s:path, 1)) - exe "silent r! ".listcmd.shellescape(s:path, 1) - " remove rubbish and adjust listing format of 'pscp' to 'ssh ls -FLa' like -- g/^Listing directory/d -- g/^d[-rwx][-rwx][-rwx]/s+$+/+e -- silent g/^l[-rwx][-rwx][-rwx]/s+$+@+e -+ keepj g/^Listing directory/keepj d -+ keepj g/^d[-rwx][-rwx][-rwx]/keepj s+$+/+e -+ sil keepj g/^l[-rwx][-rwx][-rwx]/keepj s+$+@+e -+ call histdel("/",-1) -+ call histdel("/",-1) -+ call histdel("/",-1) - if g:netrw_liststyle != s:LONGLIST -- g/^[dlsp-][-rwx][-rwx][-rwx]/s/^.*\s\(\S\+\)$/\1/e -+ keepj g/^[dlsp-][-rwx][-rwx][-rwx]/keepj s/^.*\s\(\S\+\)$/\1/e -+ call histdel("/",-1) - endif - else - if s:path == "" - " call Decho("2: exe silent r! ".listcmd) -- exe "silent r! ".listcmd -+ exe "sil r! ".listcmd - else - " call Decho("3: exe silent r! ".listcmd.' '.shellescape(s:path,1)) -- exe "silent r! ".listcmd.' '.shellescape(s:path,1) -+ exe "sil r! ".listcmd.' '.shellescape(s:path,1) - " call Decho("listcmd<".listcmd."> path<".s:path.">") - endif - endif -@@ -6062,7 +6662,8 @@ - " cleanup - if g:netrw_ftp_browse_reject != "" - " call Decho("(cleanup) exe silent! g/".g:netrw_ssh_browse_reject."/keepjumps d") -- exe "silent! g/".g:netrw_ssh_browse_reject."/keepjumps d" -+ exe "sil! g/".g:netrw_ssh_browse_reject."/keepjumps d" -+ call histdel("/",-1) - endif - endif - -@@ -6072,38 +6673,41 @@ - - if s:method == "ftp" - " cleanup -- exe "keepjumps ".w:netrw_bannercnt -+ exe "keepj ".w:netrw_bannercnt - while getline('.') =~ g:netrw_ftp_browse_reject -- keepjumps d -+ keepj d - endwhile - " if there's no ../ listed, then put ./ and ../ in - let line1= line(".") -- keepjumps 1 -- silent keepjumps call search('^\.\.\/\%(\s\|$\)','W') -+ keepj 1 -+ sil keepj call search('^\.\.\/\%(\s\|$\)','W') - let line2= line(".") - if line2 == 0 -- exe 'keepjumps '.w:netrw_bannercnt."put='./'" -+ exe 'keepj '.w:netrw_bannercnt."put='./'" - if b:netrw_curdir != '/' -- exe 'keepjumps '.w:netrw_bannercnt."put='../'" -+ exe 'keepj '.w:netrw_bannercnt."put='../'" - endif - endif -- exe "keepjumps ".line1 -+ exe "keepj ".line1 - keepjumps norm! 0 - endif - - if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup - " call Decho("M$ ftp site listing cleanup") -- exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(\|\d\+\)\s\+\)\(\w.*\)$/\2\t\1/' -+ exe 'sil! keepj '.w:netrw_bannercnt.',$s/^\(\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(\|\d\+\)\s\+\)\(\w.*\)$/\2\t\1/' - elseif exists("w:netrw_bannercnt") && w:netrw_bannercnt <= line("$") - " call Decho("normal ftp site listing cleanup: bannercnt=".w:netrw_bannercnt." line($)=".line("$")) -- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/ -> .*$//e' -- exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2\t\1/e' -- exe 'silent keepjumps '.w:netrw_bannercnt -+ exe 'sil keepj '.w:netrw_bannercnt.',$s/ -> .*$//e' -+ exe 'sil keepj '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2\t\1/e' -+ exe 'sil keepj '.w:netrw_bannercnt -+ call histdel("/",-1) -+ call histdel("/",-1) -+ call histdel("/",-1) - endif - endif - - " if exists("w:netrw_bannercnt") && w:netrw_bannercnt <= line("$") " Decho --" exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("listing: ".getline("."))' -+" exe "keepj ".w:netrw_bannercnt.',$g/^./call Decho("listing: ".getline("."))' - " endif " Decho - " call Dret("s:NetrwRemoteListing") - endfun -@@ -6118,6 +6722,7 @@ - let all= 0 - if exists("s:netrwmarkfilelist_{bufnr('%')}") - " remove all marked files -+" call Decho("remove all marked files with bufnr#".bufnr("%")) - for fname in s:netrwmarkfilelist_{bufnr("%")} - let ok= s:NetrwRemoteRmFile(a:path,fname,all) - if ok =~ 'q\%[uit]' -@@ -6126,12 +6731,11 @@ - let all= 1 - endif - endfor -- unlet s:netrwmarkfilelist_{bufnr("%")} -- unlet s:netrwmarkfilemtch_{bufnr("%")} -- 2match none -+ call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir) - - else - " remove files specified by range -+" call Decho("remove files specified by range") - - " preparation for removing multiple files/directories - let ctr= a:firstline -@@ -6245,14 +6849,14 @@ - call s:NetrwRemoteFtpCmd(a:path,"rmdir ".a:rmfile) - else - let rmfile = substitute(a:path.a:rmfile,'/$','','') -- let netrw_rmdir_cmd = s:MakeSshCmd(s:WinPath(g:netrw_rmdir_cmd)).' '.shellescape(s:WinPath(rmfile)) -+ let netrw_rmdir_cmd = s:MakeSshCmd(netrw#WinPath(g:netrw_rmdir_cmd)).' '.shellescape(netrw#WinPath(rmfile)) - " call Decho("attempt to remove dir: system(".netrw_rmdir_cmd.")") - let ret= system(netrw_rmdir_cmd) - " call Decho("returned=".ret." errcode=".v:shell_error) - - if v:shell_error != 0 - " call Decho("v:shell_error not 0") -- let netrw_rmf_cmd= s:MakeSshCmd(s:WinPath(g:netrw_rmf_cmd)).' '.shellescape(s:WinPath(substitute(rmfile,'[\/]$','','e'))) -+ let netrw_rmf_cmd= s:MakeSshCmd(netrw#WinPath(g:netrw_rmf_cmd)).' '.shellescape(netrw#WinPath(substitute(rmfile,'[\/]$','','e'))) - " call Decho("2nd attempt to remove dir: system(".netrw_rmf_cmd.")") - let ret= system(netrw_rmf_cmd) - " call Decho("returned=".ret." errcode=".v:shell_error) -@@ -6295,10 +6899,10 @@ - if w:netrw_method == 2 || w:netrw_method == 5 - " ftp + <.netrc>: Method #2 - if a:path != "" -- put ='cd \"'.a:path.'\"' -+ keepj put ='cd \"'.a:path.'\"' - endif - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('.')) - endif - call setline(line("$")+1,a:listcmd) -@@ -6316,26 +6920,26 @@ - " ftp + machine,id,passwd,filename: Method #3 - setlocal ff=unix - if exists("g:netrw_port") && g:netrw_port != "" -- put ='open '.g:netrw_machine.' '.g:netrw_port -+ keepj put ='open '.g:netrw_machine.' '.g:netrw_port - else -- put ='open '.g:netrw_machine -+ keepj put ='open '.g:netrw_machine - endif - - if exists("g:netrw_ftp") && g:netrw_ftp == 1 -- put =g:netrw_uid -- put ='\"'.s:netrw_passwd.'\"' -+ keepj put =g:netrw_uid -+ keepj put ='\"'.s:netrw_passwd.'\"' - else -- put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' -+ keepj put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"' - endif - - if a:path != "" -- put ='cd \"'.a:path.'\"' -+ keepj put ='cd \"'.a:path.'\"' - endif - if exists("g:netrw_ftpextracmd") -- put =g:netrw_ftpextracmd -+ keepj put =g:netrw_ftpextracmd - " call Decho("filter input: ".getline('.')) - endif -- call setline(line("$")+1,a:listcmd) -+ keepj call setline(line("$")+1,a:listcmd) - - " perform ftp: - " -i : turns off interactive prompting from ftp -@@ -6352,25 +6956,29 @@ - - " cleanup for Windows - if has("win32") || has("win95") || has("win64") || has("win16") -- silent! keepjumps %s/\r$//e -+ sil! keepj %s/\r$//e -+ call histdel("/",-1) - endif - if a:listcmd == "dir" - " infer directory/link based on the file permission string -- silent! keepjumps g/d\%([-r][-w][-x]\)\{3}/s@$@/@ -- silent! keepjumps g/l\%([-r][-w][-x]\)\{3}/s/$/@/ -+ sil! keepj g/d\%([-r][-w][-x]\)\{3}/keepj s@$@/@ -+ sil! keepj g/l\%([-r][-w][-x]\)\{3}/keepj s/$/@/ -+ call histdel("/",-1) -+ call histdel("/",-1) - if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST -- exe "silent! keepjumps ".w:netrw_bannercnt.',$s/^\%(\S\+\s\+\)\{8}//e' -+ exe "sil! keepj ".w:netrw_bannercnt.',$s/^\%(\S\+\s\+\)\{8}//e' -+ call histdel("/",-1) - endif - endif - - " ftp's listing doesn't seem to include ./ or ../ - if !search('^\.\/$\|\s\.\/$','wn') -- exe 'keepjumps '.w:netrw_bannercnt -- put ='./' -+ exe 'keepj '.w:netrw_bannercnt -+ keepj put ='./' - endif - if !search('^\.\.\/$\|\s\.\.\/$','wn') -- exe 'keepjumps '.w:netrw_bannercnt -- put ='../' -+ exe 'keepj '.w:netrw_bannercnt -+ keepj put ='../' - endif - - " restore settings -@@ -6412,8 +7020,8 @@ - else - let oldname= shellescape(a:path.oldname) - let newname= shellescape(a:path.newname) --" call Decho("system(s:WinPath(".rename_cmd.") ".oldname.' '.newname.")") -- let ret = system(s:WinPath(rename_cmd).' '.oldname.' '.newname) -+" call Decho("system(netrw#WinPath(".rename_cmd.") ".oldname.' '.newname.")") -+ let ret = system(netrw#WinPath(rename_cmd).' '.oldname.' '.newname) - endif - - endfor -@@ -6423,7 +7031,7 @@ - - " attempt to rename files/directories - while ctr <= a:lastline -- exe "keepjumps ".ctr -+ exe "keepj ".ctr - - let oldname= s:NetrwGetWord() - " call Decho("oldname<".oldname.">") -@@ -6437,8 +7045,8 @@ - else - let oldname= shellescape(a:path.oldname) - let newname= shellescape(a:path.newname) --" call Decho("system(s:WinPath(".rename_cmd.") ".oldname.' '.newname.")") -- let ret = system(s:WinPath(rename_cmd).' '.oldname.' '.newname) -+" call Decho("system(netrw#WinPath(".rename_cmd.") ".oldname.' '.newname.")") -+ let ret = system(netrw#WinPath(rename_cmd).' '.oldname.' '.newname) - endif - - let ctr= ctr + 1 -@@ -6466,13 +7074,16 @@ - " The &ft == "netrw" test was installed because the BufEnter event - " would hit when re-entering netrw windows, creating unexpected - " refreshes (and would do so in the middle of NetrwSaveOptions(), too) --" call Decho("netrw#LocalBrowseCheck: isdir<".a:dirname.">=".isdirectory(a:dirname)) -+" call Decho("netrw#LocalBrowseCheck: isdir<".a:dirname.">=".isdirectory(a:dirname).((exists("s:treeforceredraw")? " treeforceredraw" : ""))) - if isdirectory(a:dirname) - " call Decho(" ft<".&ft."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : " doesn't exist")."> dirname<".a:dirname.">"." line($)=".line("$")) - if &ft != "netrw" || (exists("b:netrw_curdir") && b:netrw_curdir != a:dirname) - silent! call s:NetrwBrowse(1,a:dirname) - elseif &ft == "netrw" && line("$") == 1 - silent! call s:NetrwBrowse(1,a:dirname) -+ elseif exists("s:treeforceredraw") -+ unlet s:treeforceredraw -+ silent! call s:NetrwBrowse(1,a:dirname) - endif - endif - " not a directory, ignore it -@@ -6492,7 +7103,7 @@ - - " get the list of files contained in the current directory - let dirname = escape(b:netrw_curdir,g:netrw_glob_escape) -- let dirnamelen = strlen(b:netrw_curdir) -+ let dirnamelen = s:Strlen(b:netrw_curdir) - let filelist = glob(s:ComposePath(dirname,"*")) - " call Decho("glob(dirname<".dirname."/*>)=".filelist) - if filelist != "" -@@ -6608,7 +7219,7 @@ - - if w:netrw_liststyle == s:LONGLIST - let sz = getfsize(filename) -- let fsz = strpart(" ",1,15-s:Strlen(sz)).sz -+ let fsz = strpart(" ",1,15-strlen(sz)).sz - let pfile= pfile."\t".fsz." ".strftime(g:netrw_timefmt,getftime(filename)) - " call Decho("sz=".sz." fsz=".fsz) - endif -@@ -6617,29 +7228,31 @@ - " sort by time (handles time up to 1 quintillion seconds, US) - " call Decho("getftime(".filename.")=".getftime(filename)) - let t = getftime(filename) -- let ft = strpart("000000000000000000",1,18-s:Strlen(t)).t -+ let ft = strpart("000000000000000000",1,18-strlen(t)).t - " call Decho("exe keepjumps put ='".ft.'/'.filename."'") - let ftpfile= ft.'/'.pfile -- keepjumps silent! put=ftpfile -+ sil! keepj put=ftpfile - - elseif g:netrw_sort_by =~ "^s" - " sort by size (handles file sizes up to 1 quintillion bytes, US) - " call Decho("getfsize(".filename.")=".getfsize(filename)) - let sz = getfsize(filename) -- let fsz = strpart("000000000000000000",1,18-s:Strlen(sz)).sz -+ let fsz = strpart("000000000000000000",1,18-strlen(sz)).sz - " call Decho("exe keepjumps put ='".fsz.'/'.filename."'") - let fszpfile= fsz.'/'.pfile -- keepjumps silent! put =fszpfile -+ sil! keepj put =fszpfile - - else - " sort by name - " call Decho("exe keepjumps put ='".pfile."'") -- keepjumps silent! put=pfile -+ sil! keepj put=pfile - endif - endwhile - - " cleanup any windows mess at end-of-line -- silent! keepjumps %s/\r$//e -+ sil! keepj g/^$/d -+ sil! keepj %s/\r$//e -+ call histdel("/",-1) - exe "setlocal ts=".g:netrw_maxfilenamelen - " call Decho("setlocal ts=".g:netrw_maxfilenamelen) - -@@ -6659,9 +7272,17 @@ - return - endif - if !exists("w:netrw_bannercnt") --" call Dret("LocalBrowseShellCmdRefresh : don't refresh when focus not on netrw windwo") -+" call Dret("LocalBrowseShellCmdRefresh : don't refresh when focus not on netrw window") - return - endif -+ if exists("s:locbrowseshellcmd") -+ if s:locbrowseshellcmd -+ let s:locbrowseshellcmd= 0 -+" call Dret("LocalBrowseShellCmdRefresh : NetrwBrowse itself caused the refresh") -+ return -+ endif -+ let s:locbrowseshellcmd= 0 -+ endif - let itab = 1 - let buftablist = [] - while itab <= tabpagenr("$") -@@ -6681,7 +7302,7 @@ - if bufwinnr(ibuf) == -1 && index(buftablist,ibuf) == -1 - " wipe out any non-displaying netrw buffer - " call Decho("wiping buf#".ibuf,"<".bufname(ibuf).">") -- exe "silent! bd ".fnameescape(ibuf) -+ exe "sil! bd ".fnameescape(ibuf) - call remove(s:netrw_browselist,ibl) - " call Decho("browselist=".string(s:netrw_browselist)) - continue -@@ -6728,7 +7349,7 @@ - - let ctr = a:firstline - while ctr <= a:lastline -- exe "keepjumps ".ctr -+ exe "keepj ".ctr - - " sanity checks - if line(".") < w:netrw_bannercnt -@@ -6768,7 +7389,7 @@ - - let all= a:all - let ok = "" -- norm! 0 -+ keepj norm! 0 - let rmfile= s:ComposePath(a:path,a:fname) - " call Decho("rmfile<".rmfile.">") - -@@ -6815,8 +7436,8 @@ - let rmfile= substitute(rmfile,'[\/]$','','e') - - if all || ok =~ 'y\%[es]' || ok == "" --" call Decho("1st attempt: system(s:WinPath(".g:netrw_local_rmdir.') '.shellescape(rmfile).')') -- call system(s:WinPath(g:netrw_local_rmdir).' '.shellescape(rmfile)) -+" call Decho("1st attempt: system(netrw#WinPath(".g:netrw_local_rmdir.') '.shellescape(rmfile).')') -+ call system(netrw#WinPath(g:netrw_local_rmdir).' '.shellescape(rmfile)) - " call Decho("v:shell_error=".v:shell_error) - - if v:shell_error != 0 -@@ -6874,15 +7495,13 @@ - endif - call rename(oldname,newname) - endfor -- 2match none -- unlet s:netrwmarkfilelist_{bufnr("%")} -- unlet s:netrwmarkfilemtch_{bufnr("%")} -+ call s:NetrwUnmarkList(bufnr("%"),b:netrw_curdir) - - else - - " attempt to rename files/directories - while ctr <= a:lastline -- exe "keepjumps ".ctr -+ exe "keepj ".ctr - - " sanity checks - if line(".") < w:netrw_bannercnt -@@ -6895,7 +7514,7 @@ - continue - endif - -- norm! 0 -+ keepj norm! 0 - let oldname= s:ComposePath(a:path,curword) - " call Decho("oldname<".oldname.">") - -@@ -6955,9 +7574,11 @@ - augroup AuNetrwShellCmd - au! - if (has("win32") || has("win95") || has("win64") || has("win16")) -+" call Decho("autocmd: ShellCmdPost * call s:LocalBrowseShellCmdRefresh()") - au ShellCmdPost * call s:LocalBrowseShellCmdRefresh() - else - au ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh() -+" call Decho("autocmd: ShellCmdPost,FocusGained * call s:LocalBrowseShellCmdRefresh()") - endif - augroup END - endif -@@ -6984,7 +7605,7 @@ - " 0=note = s:NOTE - " 1=warning = s:WARNING - " 2=error = s:ERROR --" Jul 08, 2008 : max errnum currently is 71 -+" Dec 03, 2009 : max errnum currently is 76 - fun! netrw#ErrorMsg(level,msg,errnum) - " call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow) - -@@ -7013,11 +7634,12 @@ - " call Decho("setlocal ma noro") - setlocal ma noro - call setline(line("$")+1,level.a:msg) -- $ -+ keepj $ - else - " call Decho("create a NetrwMessage buffer window") - bo 1split -- enew -+ call s:NetrwEnew() -+ call s:NetrwSafeOptions() - setlocal bt=nofile - file NetrwMessage - " call Decho("setlocal ma noro") -@@ -7069,7 +7691,7 @@ - " restore window - if exists("w:netrw_winnr") - " call Decho("restore window: exe silent! ".w:netrw_winnr."wincmd w") -- exe "silent! ".w:netrw_winnr."wincmd w" -+ exe "sil! ".w:netrw_winnr."wincmd w" - endif - if v:shell_error == 0 - " as suggested by Bram M: redraw on no error -@@ -7080,13 +7702,13 @@ - " restore top-of-screen line - if exists("w:netrw_hline") - " call Decho("restore topofscreen: exe norm! ".w:netrw_hline."G0z") -- exe "norm! ".w:netrw_hline."G0z\" -+ exe "keepj norm! ".w:netrw_hline."G0z\" - endif - - " restore position - if exists("w:netrw_line") && exists("w:netrw_col") - " call Decho("restore posn: exe norm! ".w:netrw_line."G0".w:netrw_col."|") -- exe "norm! ".w:netrw_line."G0".w:netrw_col."\" -+ exe "keepj norm! ".w:netrw_line."G0".w:netrw_col."\" - endif - - let &ei= eikeep -@@ -7101,9 +7723,10 @@ - let w:netrw_winnr= winnr() - let w:netrw_line = line(".") - let w:netrw_col = virtcol(".") -+" call Decho("currently, win#".w:netrw_winnr." line#".w:netrw_line." col#".w:netrw_col) - - " Save top-of-screen line -- norm! H0 -+ keepj norm! H0 - let w:netrw_hline= line(".") - - " set up string holding position parameters -@@ -7130,7 +7753,7 @@ - - if(has("amiga")) - " call Decho("amiga") -- let ec = a:base[strlen(a:base)-1] -+ let ec = a:base[s:Strlen(a:base)-1] - if ec != '/' && ec != ':' - let ret = a:base . "/" . a:subdir - else -@@ -7141,6 +7764,14 @@ - " call Decho("windows") - let ret= a:subdir - -+ elseif a:base =~ '^\a:[/\\][^/\\]' && (has("win32") || has("win95") || has("win64") || has("win16")) -+" call Decho("windows") -+ if a:base =~ '[/\\]$' -+ let ret= a:base.a:subdir -+ else -+ let ret= a:base."/".a:subdir -+ endif -+ - elseif a:base =~ '^\a\+://' - " call Decho("remote linux/macos") - let urlbase = substitute(a:base,'^\(\a\+://.\{-}/\)\(.*\)$','\1','') -@@ -7212,7 +7843,7 @@ - endif - - " let netrw#NetSource() know about the tmpfile -- let s:netrw_tmpfile= tmpfile " used by netrw#NetSource() -+ let s:netrw_tmpfile= tmpfile " used by netrw#NetSource() and netrw#NetrwBrowseX() - " call Decho("tmpfile<".tmpfile."> s:netrw_tmpfile<".s:netrw_tmpfile.">") - - " o/s dependencies -@@ -7286,7 +7917,7 @@ - if bmshowfuncs != [] - let bmshowfunc = substitute(bmshowfuncs[0],'^.*:\(call.*BMShow()\).*$','\1','') - if bmshowfunc =~ '^call.*BMShow()' -- exe "silent! ".bmshowfunc -+ exe "sil! ".bmshowfunc - endif - endif - endif -@@ -7294,6 +7925,47 @@ - endfun - - " --------------------------------------------------------------------- -+" s:NetrwCursorline: {{{2 -+fun! s:NetrwCursorline() -+ if !exists("w:netrw_liststyle") -+ let w:netrw_liststyle= g:netrw_liststyle -+ endif -+" call Dfunc("s:NetrwCursorline() liststyle=".w:netrw_liststyle." g:netrw_cursorline=".g:netrw_cursorline." s:netrw_usercuc=".s:netrw_usercuc." s:netrw_usercul=".s:netrw_usercul) -+ " -+ if w:netrw_liststyle != s:WIDELIST -+ " thin-long-tree listings -+ if g:netrw_cursorline == 2 -+ setlocal cursorline -+ let &l:cursorcolumn= s:netrw_usercuc -+" call Decho("setlocal cursorline (cursorcolumn is ".((s:netrw_usercuc)? "on" : "off").")") -+ elseif g:netrw_cursorline -+ setlocal cursorline -+" call Decho("setlocal cursorline") -+ endif -+ -+ else -+ " wide listings -+ if g:netrw_cursorline == 2 -+ setlocal cursorline cursorcolumn -+" call Decho("setlocal cursorline cursorcolumn") -+ elseif g:netrw_cursorline -+ let &l:cursorline= s:netrw_usercul -+" call Decho("cursorline is ".((s:netrw_usercul)? "on" : "off").")") -+ endif -+ endif -+" call Dret("s:NetrwCursorline : l:cursorline=".&l:cursorline." l:cursorcolumn=".&l:cursorcolumn) -+endfun -+ -+" --------------------------------------------------------------------- -+" s:RestoreCursorline: restores cursorline/cursorcolumn to original user settings {{{2 -+fun! s:RestoreCursorline() -+" call Dfunc("s:RestoreCursorline() currently, cul=".&l:cursorline." cuc=".&l:cursorcolumn." win#".winnr()." buf#".bufnr("%")) -+ let &l:cursorline = s:netrw_usercul -+ let &l:cursorcolumn = s:netrw_usercuc -+" call Dret("s:RestoreCursorline : restored cul=".&l:cursorline." cuc=".&l:cursorcolumn) -+endfun -+ -+" --------------------------------------------------------------------- - " s:NetrwDelete: Deletes a file. {{{2 - " Uses Steve Hall's idea to insure that Windows paths stay - " acceptable. No effect on Unix paths. -@@ -7301,7 +7973,7 @@ - fun! s:NetrwDelete(path) - " call Dfunc("s:NetrwDelete(path<".a:path.">)") - -- let path = s:WinPath(a:path) -+ let path = netrw#WinPath(a:path) - if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16")) - if exists("+shellslash") - let sskeep= &shellslash -@@ -7317,7 +7989,7 @@ - let result= delete(path) - endif - if result < 0 -- call Netrw#ErrorMsg(s:WARNING,"delete(".path.") failed!",71) -+ call netrw#ErrorMsg(s:WARNING,"delete(".path.") failed!",71) - endif - - " call Dret("s:NetrwDelete ".result) -@@ -7326,10 +7998,12 @@ - - " --------------------------------------------------------------------- - " s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2 --fun! s:NetrwEnew(curdir) --" call Dfunc("s:NetrwEnew(curdir<".a:curdir.">) buf#".bufnr("%")."<".bufname("%").">") -+fun! s:NetrwEnew(...) -+" call Dfunc("s:NetrwEnew() a:0=".a:0." bufnr($)=".bufnr("$")) -+" call Decho("curdir<".((a:0>0)? a:1 : "")."> buf#".bufnr("%")."<".bufname("%").">") - - " grab a function-local-variable copy of buffer variables -+" call Decho("make function-local copy of netrw variables") - if exists("b:netrw_bannercnt") |let netrw_bannercnt = b:netrw_bannercnt |endif - if exists("b:netrw_browser_active") |let netrw_browser_active = b:netrw_browser_active |endif - if exists("b:netrw_cpf") |let netrw_cpf = b:netrw_cpf |endif -@@ -7349,10 +8023,12 @@ - - call s:NetrwOptionRestore("w:") - " call Decho("generate a buffer with keepjumps keepalt enew!") -- keepjumps keepalt enew! -+ keepj keepalt enew! -+" call Decho("bufnr($)=".bufnr("$")) - call s:NetrwOptionSave("w:") - - " copy function-local-variables to buffer variable equivalents -+" call Decho("copy function-local variables back to buffer netrw variables") - if exists("netrw_bannercnt") |let b:netrw_bannercnt = netrw_bannercnt |endif - if exists("netrw_browser_active") |let b:netrw_browser_active = netrw_browser_active |endif - if exists("netrw_cpf") |let b:netrw_cpf = netrw_cpf |endif -@@ -7370,14 +8046,17 @@ - if exists("netrw_option") |let b:netrw_option = netrw_option |endif - if exists("netrw_prvdir") |let b:netrw_prvdir = netrw_prvdir |endif - -- let b:netrw_curdir= a:curdir -- if b:netrw_curdir =~ '/$' -- if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST -- file NetrwTreeListing -- nno [ :silent call TreeListMove('[') -- nno ] :silent call TreeListMove(']') -- else -- exe "silent! keepalt file ".fnameescape(b:netrw_curdir) -+ if a:0 > 0 -+ let b:netrw_curdir= a:1 -+ if b:netrw_curdir =~ '/$' -+ if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST -+ file NetrwTreeListing -+ set bt=nowrite noswf -+ nno [ :silent call TreeListMove('[') -+ nno ] :silent call TreeListMove(']') -+ else -+ exe "sil! keepalt file ".fnameescape(b:netrw_curdir) -+ endif - endif - endif - -@@ -7511,13 +8190,16 @@ - call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')}) - unlet s:nbcd_curpos_{bufnr('%')} - endif -+ if exists("s:explore_match") -+ exe "2match netrwMarkFile /".s:explore_match."/" -+ endif - " call Dret("s:NetrwRexplore") - endfun - - " --------------------------------------------------------------------- - " s:SaveBufVars: {{{2 - fun! s:SaveBufVars() --" call Dfunc("s:SaveBufVars()") -+" call Dfunc("s:SaveBufVars() buf#".bufnr("%")) - - if exists("b:netrw_curdir") |let s:netrw_curdir = b:netrw_curdir |endif - if exists("b:netrw_lastfile") |let s:netrw_lastfile = b:netrw_lastfile |endif -@@ -7532,7 +8214,7 @@ - " --------------------------------------------------------------------- - " s:SaveWinVars: (used by Explore() and NetrwSplit()) {{{2 - fun! s:SaveWinVars() --" call Dfunc("s:SaveWinVars()") -+" call Dfunc("s:SaveWinVars() win#".winnr()) - if exists("w:netrw_bannercnt") |let s:bannercnt = w:netrw_bannercnt |endif - if exists("w:netrw_col") |let s:col = w:netrw_col |endif - if exists("w:netrw_curdir") |let s:curdir = w:netrw_curdir |endif -@@ -7562,7 +8244,7 @@ - " variables are not inherited by the new window. SetBufWinVars() and - " UseBufWinVars() get around that. - fun! s:SetBufWinVars() --" call Dfunc("s:SetBufWinVars()") -+" call Dfunc("s:SetBufWinVars() win#".winnr()) - if exists("w:netrw_liststyle") |let b:netrw_liststyle = w:netrw_liststyle |endif - if exists("w:netrw_bannercnt") |let b:netrw_bannercnt = w:netrw_bannercnt |endif - if exists("w:netrw_method") |let b:netrw_method = w:netrw_method |endif -@@ -7584,8 +8266,7 @@ - if a:islocal - exe 'com! Rexplore call s:NetrwRexplore(1,"'.escape(a:dirname,'"\').'")' - if g:netrw_retmap -- silent! unmap <2-leftmouse> -- if !hasmapto("NetrwReturn") -+ if !hasmapto("NetrwReturn") && maparg("<2-leftmouse>","n") == "" - nmap <2-leftmouse> NetrwReturn - endif - let dir = escape(a:dirname, s:netrw_map_escape) -@@ -7594,8 +8275,7 @@ - else - exe 'com! Rexplore call s:NetrwRexplore(0,"'.escape(a:dirname,'"\').'")' - if g:netrw_retmap -- silent! unmap <2-leftmouse> -- if !hasmapto("NetrwReturn") -+ if !hasmapto("NetrwReturn") && maparg("<2-leftmouse>","n") == "" - nmap <2-leftmouse> NetrwReturn - endif - let dir = escape(a:dirname, s:netrw_map_escape) -@@ -7608,9 +8288,9 @@ - " --------------------------------------------------------------------- - " s:Strlen: this function returns the length of a string, even if its {{{2 - " using two-byte etc characters. --" Currently, its only used if g:Align_xstrlen is set to a --" nonzero value. Solution from Nicolai Weibull, vim docs --" (:help strlen()), Tony Mechelynck, and my own invention. -+" Solution from Nicolai Weibull, vim docs (:help strlen()), Tony Mechelynck, -+" and a bit from me. -+" if g:netrw_xstrlen is zero (default), then the builtin strlen() function is used. - fun! s:Strlen(x) - " call Dfunc("s:Strlen(x<".a:x.">") - if g:netrw_xstrlen == 1 -@@ -7630,15 +8310,15 @@ - " preceded by lam, one otherwise, etc.) - " (comment from TM, solution from me) - let modkeep= &mod -- exe "norm! o\" -+ exe "keepj norm! o\" - call setline(line("."),a:x) - let ret= virtcol("$") - 1 -- d -+ keepj d - let &mod= modkeep - - else - " at least give a decent default -- ret= strlen(a:x) -+ let ret= strlen(a:x) - endif - " call Dret("s:Strlen ".ret) - return ret -@@ -7662,17 +8342,17 @@ - if curline !~ '/$' - " call Decho('regfile') - if a:dir == '[' && prvline != '' -- norm! 0 -+ keepj norm! 0 - let nl = search('^'.indentm1.'[^|]','bWe') " search backwards from regular file - " call Decho("regfile srch back: ".nl) - elseif a:dir == ']' && nxtline != '' -- norm! $ -+ keepj norm! $ - let nl = search('^'.indentm1.'[^|]','We') " search forwards from regular file - " call Decho("regfile srch fwd: ".nl) - endif - - elseif a:dir == '[' && prvline != '' -- norm! 0 -+ keepj norm! 0 - let curline= line(".") - let nl = search('^'.curindent.'[^|]','bWe') " search backwards From directory, same indentation - " call Decho("dir srch back ind: ".nl) -@@ -7684,7 +8364,7 @@ - endif - - elseif a:dir == ']' && nxtline != '' -- norm! $ -+ keepj norm! $ - let curline = line(".") - let nl = search('^'.curindent.'[^|]','We') " search forwards from directory, same indentation - " call Decho("dir srch fwd ind: ".nl) -@@ -7707,7 +8387,7 @@ - " Buffers.Refresh; hence, s:NetrwBMShow() utilizes a "cheat" to call that function anyway. - fun! s:UpdateBuffersMenu() - " call Dfunc("s:UpdateBuffersMenu()") -- if has("gui") && has("menu") && has("gui_running") && &go =~ 'm' -+ if has("gui") && has("menu") && has("gui_running") && &go =~ 'm' && g:netrw_menu - try - silent emenu Buffers.Refresh\ menu - catch /^Vim\%((\a\+)\)\=:E/ -@@ -7737,12 +8417,14 @@ - endfun - - " --------------------------------------------------------------------- --" s:WinPath: {{{2 --fun! s:WinPath(path) --" call Dfunc("s:WinPath(path<".a:path.">)") -- if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16")) -+" netrw#WinPath: tries to insure that the path is windows-acceptable, whether cygwin is used or not {{{2 -+fun! netrw#WinPath(path) -+" call Dfunc("netrw#WinPath(path<".a:path.">)") -+ if (!g:netrw_cygwin || &shell !~ '\%(\\|\\)\%(\.exe\)\=$') && (has("win32") || has("win95") || has("win64") || has("win16")) -+ " remove cygdrive prefix, if present -+ let path = substitute(a:path,'/cygdrive/\(.\)','\1:','') - " remove trailing slash (Win95) -- let path = substitute(a:path, '\(\\\|/\)$', '', 'g') -+ let path = substitute(path, '\(\\\|/\)$', '', 'g') - " remove escaped spaces - let path = substitute(path, '\ ', ' ', 'g') - " convert slashes to backslashes -@@ -7750,7 +8432,7 @@ - else - let path= a:path - endif --" call Dret("s:WinPath <".path.">") -+" call Dret("netrw#WinPath <".path.">") - return path - endfun - -diff -Nur runtime/autoload/netrwFileHandlers.vim runtime/autoload/netrwFileHandlers.vim ---- runtime/autoload/netrwFileHandlers.vim 2006-10-12 12:14:46.000000000 -0700 -+++ runtime/autoload/netrwFileHandlers.vim 2011-01-18 10:40:55.396215706 -0800 -@@ -1,9 +1,9 @@ - " netrwFileHandlers: contains various extension-based file handlers for - " netrw's browsers' x command ("eXecute launcher") - " Author: Charles E. Campbell, Jr. --" Date: May 30, 2006 --" Version: 9 --" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1 -+" Date: Sep 30, 2008 -+" Version: 10 -+" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1 - " Permission is hereby granted to use and distribute this code, - " with or without modifications, provided that this copyright - " notice is copied with it. Like anything else that's free, -@@ -20,9 +20,15 @@ - if exists("g:loaded_netrwFileHandlers") || &cp - finish - endif -+let g:loaded_netrwFileHandlers= "v10" -+if v:version < 702 -+ echohl WarningMsg -+ echo "***warning*** this version of netrwFileHandlers needs vim 7.2" -+ echohl Normal -+ finish -+endif - let s:keepcpo= &cpo - set cpo&vim --let g:loaded_netrwFileHandlers= "v9" - - " --------------------------------------------------------------------- - " netrwFileHandlers#Invoke: {{{1 -@@ -73,10 +79,10 @@ - - if executable("mozilla") - " call Decho("executing !mozilla ".page) -- exe "!mozilla ".g:netrw_shq.page.g:netrw_shq -+ exe "!mozilla ".shellescape(page,1) - elseif executable("netscape") - " call Decho("executing !netscape ".page) -- exe "!netscape ".g:netrw_shq..page.g:netrw_shq -+ exe "!netscape ".shellescape(page,1) - else - " call Dret("s:NFH_html 0") - return 0 -@@ -96,10 +102,10 @@ - - if executable("mozilla") - " call Decho("executing !mozilla ".page) -- exe "!mozilla ".g:netrw_shq.page.g:netrw_shq -+ exe "!mozilla ".shellescape(page,1) - elseif executable("netscape") - " call Decho("executing !netscape ".page) -- exe "!netscape ".g:netrw_shq.page.g:netrw_shq -+ exe "!netscape ".shellescape(page,1) - else - " call Dret("s:NFH_htm 0") - return 0 -@@ -115,10 +121,10 @@ - " call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)") - - if executable("gimp") -- exe "silent! !gimp -s ".g:netrw_shq.a:jpgfile.g:netrw_shq -+ exe "silent! !gimp -s ".shellescape(a:jpgfile,1) - elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") - " call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'")) -- exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:jpgfile.g:netrw_shq -+ exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1) - else - " call Dret("s:NFH_jpg 0") - return 0 -@@ -134,9 +140,9 @@ - " call Dfunc("s:NFH_gif(giffile<".a:giffile.">)") - - if executable("gimp") -- exe "silent! !gimp -s ".g:netrw_shq.a:giffile.g:netrw_shq -+ exe "silent! !gimp -s ".shellescape(a:giffile,1) - elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") -- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:giffile.g:netrw_shq -+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1) - else - " call Dret("s:NFH_gif 0") - return 0 -@@ -152,9 +158,9 @@ - " call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)") - - if executable("gimp") -- exe "silent! !gimp -s ".g:netrw_shq.a:pngfile.g:netrw_shq -+ exe "silent! !gimp -s ".shellescape(a:pngfile,1) - elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") -- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pngfile.g:netrw_shq -+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1) - else - " call Dret("s:NFH_png 0") - return 0 -@@ -170,9 +176,9 @@ - " call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)") - - if executable("gimp") -- exe "silent! !gimp -s ".g:netrw_shq.a:pnmfile.g:netrw_shq -+ exe "silent! !gimp -s ".shellescape(a:pnmfile,1) - elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") -- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pnmfile.g:netrw_shq -+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1) - else - " call Dret("s:NFH_pnm 0") - return 0 -@@ -190,7 +196,7 @@ - if executable("gimp") - exe "silent! !gimp -s ".a:bmpfile - elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE") -- exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:bmpfile.g:netrw_shq -+ exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1) - else - " call Dret("s:NFH_bmp 0") - return 0 -@@ -205,9 +211,9 @@ - fun! s:NFH_pdf(pdf) - " call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)") - if executable("gs") -- exe 'silent! !gs '.g:netrw_shq.a:pdf.g:netrw_shq -+ exe 'silent! !gs '.shellescape(a:pdf,1) - elseif executable("pdftotext") -- exe 'silent! pdftotext -nopgbrk '.g:netrw_shq.a:pdf.g:netrw_shq -+ exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1) - else - " call Dret("s:NFH_pdf 0") - return 0 -@@ -223,7 +229,7 @@ - " call Dfunc("s:NFH_doc(doc<".a:doc.">)") - - if executable("oowriter") -- exe 'silent! !oowriter '.g:netrw_shq.a:doc.g:netrw_shq -+ exe 'silent! !oowriter '.shellescape(a:doc,1) - redraw! - else - " call Dret("s:NFH_doc 0") -@@ -240,7 +246,7 @@ - " call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)") - - if executable("oowriter") -- exe 'silent! !oowriter '.g:netrw_shq.a:sxw.g:netrw_shq -+ exe 'silent! !oowriter '.shellescape(a:sxw,1) - redraw! - else - " call Dret("s:NFH_sxw 0") -@@ -257,7 +263,7 @@ - " call Dfunc("s:NFH_xls(xls<".a:xls.">)") - - if executable("oocalc") -- exe 'silent! !oocalc '.g:netrw_shq.a:xls.g:netrw_shq -+ exe 'silent! !oocalc '.shellescape(a:xls,1) - redraw! - else - " call Dret("s:NFH_xls 0") -@@ -274,15 +280,15 @@ - " call Dfunc("s:NFH_ps(ps<".a:ps.">)") - if executable("gs") - " call Decho("exe silent! !gs ".a:ps) -- exe "silent! !gs ".g:netrw_shq.a:ps.g:netrw_shq -+ exe "silent! !gs ".shellescape(a:ps,1) - redraw! - elseif executable("ghostscript") - " call Decho("exe silent! !ghostscript ".a:ps) -- exe "silent! !ghostscript ".g:netrw_shq.a:ps.g:netrw_shq -+ exe "silent! !ghostscript ".shellescape(a:ps,1) - redraw! - elseif executable("gswin32") --" call Decho("exe silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq) -- exe "silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq -+" call Decho("exe silent! !gswin32 ".shellescape(a:ps,1)) -+ exe "silent! !gswin32 ".shellescape(a:ps,1) - redraw! - else - " call Dret("s:NFH_ps 0") -@@ -298,16 +304,16 @@ - fun! s:NFH_eps(eps) - " call Dfunc("s:NFH_eps()") - if executable("gs") -- exe "silent! !gs ".g:netrw_shq.a:eps.g:netrw_shq -+ exe "silent! !gs ".shellescape(a:eps,1) - redraw! - elseif executable("ghostscript") -- exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq -+ exe "silent! !ghostscript ".shellescape(a:eps,1) - redraw! - elseif executable("ghostscript") -- exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq -+ exe "silent! !ghostscript ".shellescape(a:eps,1) - redraw! - elseif executable("gswin32") -- exe "silent! !gswin32 ".g:netrw_shq.a:eps.g:netrw_shq -+ exe "silent! !gswin32 ".shellescape(a:eps,1) - redraw! - else - " call Dret("s:NFH_eps 0") -diff -Nur runtime/autoload/netrwSettings.vim runtime/autoload/netrwSettings.vim ---- runtime/autoload/netrwSettings.vim 2008-07-02 13:39:22.000000000 -0700 -+++ runtime/autoload/netrwSettings.vim 2011-01-18 10:40:55.396692577 -0800 -@@ -1,7 +1,7 @@ - " netrwSettings.vim: makes netrw settings simpler --" Date: Jul 02, 2008 -+" Date: Sep 03, 2008 - " Maintainer: Charles E Campbell, Jr --" Version: 12 -+" Version: 13 - " Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1 - " Permission is hereby granted to use and distribute this code, - " with or without modifications, provided that this copyright -@@ -19,7 +19,13 @@ - if exists("g:loaded_netrwSettings") || &cp - finish - endif --let g:loaded_netrwSettings = "v12" -+let g:loaded_netrwSettings = "v13" -+if v:version < 700 -+ echohl WarningMsg -+ echo "***warning*** this version of netrwSettings needs vim 7.0" -+ echohl Normal -+ finish -+endif - - " --------------------------------------------------------------------- - " NetrwSettings: {{{1 -@@ -100,6 +106,7 @@ - put = 'let g:netrw_browsex_viewer = (not defined)' - endif - put = 'let g:netrw_compress = '.g:netrw_compress -+ put = 'let g:netrw_cursorline = '.g:netrw_cursorline - let decompressline= line("$") - put ='let g:netrw_decompress...' - put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax -@@ -138,6 +145,7 @@ - put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax - put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject - put = 'let g:netrw_scpport = '.g:netrw_scpport -+ put = 'let g:netrw_sepchr = '.g:netrw_sepchr - put = 'let g:netrw_sshport = '.g:netrw_sshport - put = 'let g:netrw_timefmt = '.g:netrw_timefmt - let tmpfileescline= line("$") -diff -Nur runtime/autoload/pythoncomplete.vim runtime/autoload/pythoncomplete.vim ---- runtime/autoload/pythoncomplete.vim 2007-02-19 12:58:18.000000000 -0800 -+++ runtime/autoload/pythoncomplete.vim 2011-01-18 10:40:55.401569142 -0800 -@@ -1,17 +1,28 @@ - "pythoncomplete.vim - Omni Completion for python - " Maintainer: Aaron Griffin --" Version: 0.7 --" Last Updated: 19 Oct 2006 -+" Version: 0.9 -+" Last Updated: 18 Jun 2009 - " - " Changes - " TODO: --" User defined docstrings aren't handled right... - " 'info' item output can use some formatting work - " Add an "unsafe eval" mode, to allow for return type evaluation - " Complete basic syntax along with import statements - " i.e. "import url" - " Continue parsing on invalid line?? - " -+" v 0.9 -+" * Fixed docstring parsing for classes and functions -+" * Fixed parsing of *args and **kwargs type arguments -+" * Better function param parsing to handle things like tuples and -+" lambda defaults args -+" -+" v 0.8 -+" * Fixed an issue where the FIRST assignment was always used instead of -+" using a subsequent assignment for a variable -+" * Fixed a scoping issue when working inside a parameterless function -+" -+" - " v 0.7 - " * Fixed function list sorting (_ and __ at the bottom) - " * Removed newline removal from docs. It appears vim handles these better in -@@ -63,7 +74,7 @@ - while idx > 0 - let idx -= 1 - let c = line[idx] -- if c =~ '\w' || c =~ '\.' || c == '(' -+ if c =~ '\w' || c =~ '\.' - let cword = c . cword - continue - elseif strlen(cword) > 0 || idx == 0 -@@ -206,7 +217,7 @@ - if len(stmt) > 0 and stmt[-1] == '(': - result = eval(_sanitize(stmt[:-1]), self.compldict) - doc = result.__doc__ -- if doc == None: doc = '' -+ if doc is None: doc = '' - args = self.get_arguments(result) - return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}] - elif ridx == -1: -@@ -223,18 +234,18 @@ - - try: maindoc = result.__doc__ - except: maindoc = ' ' -- if maindoc == None: maindoc = ' ' -+ if maindoc is None: maindoc = ' ' - for m in all: - if m == "_PyCmplNoType": continue #this is internal - try: - dbg('possible completion: %s' % m) - if m.find(match) == 0: -- if result == None: inst = all[m] -+ if result is None: inst = all[m] - else: inst = getattr(result,m) - try: doc = inst.__doc__ - except: doc = maindoc - typestr = str(inst) -- if doc == None or doc == '': doc = maindoc -+ if doc is None or doc == '': doc = maindoc - - wrd = m[len(match):] - c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)} -@@ -260,9 +271,9 @@ - return [] - - class Scope(object): -- def __init__(self,name,indent): -+ def __init__(self,name,indent,docstr=''): - self.subscopes = [] -- self.docstr = '' -+ self.docstr = docstr - self.locals = [] - self.parent = None - self.name = name -@@ -281,29 +292,28 @@ - while d.find(' ') > -1: d = d.replace(' ',' ') - while d[0] in '"\'\t ': d = d[1:] - while d[-1] in '"\'\t ': d = d[:-1] -+ dbg("Scope(%s)::docstr = %s" % (self,d)) - self.docstr = d - - def local(self,loc): -- if not self._hasvaralready(loc): -- self.locals.append(loc) -+ self._checkexisting(loc) -+ self.locals.append(loc) - - def copy_decl(self,indent=0): - """ Copy a scope's declaration only, at the specified indent level - not local variables """ -- return Scope(self.name,indent) -+ return Scope(self.name,indent,self.docstr) - -- def _hasvaralready(self,test): -+ def _checkexisting(self,test): - "Convienance function... keep out duplicates" - if test.find('=') > -1: - var = test.split('=')[0].strip() - for l in self.locals: - if l.find('=') > -1 and var == l.split('=')[0].strip(): -- return True -- return False -+ self.locals.remove(l) - - def get_code(self): -- # we need to start with this, to fix up broken completions -- # hopefully this name is unique enough... -- str = '"""'+self.docstr+'"""\n' -+ str = "" -+ if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n' - for l in self.locals: - if l.startswith('import'): str += l+'\n' - str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n' -@@ -330,11 +340,11 @@ - return ' '*(self.indent+1) - - class Class(Scope): -- def __init__(self, name, supers, indent): -- Scope.__init__(self,name,indent) -+ def __init__(self, name, supers, indent, docstr=''): -+ Scope.__init__(self,name,indent, docstr) - self.supers = supers - def copy_decl(self,indent=0): -- c = Class(self.name,self.supers,indent) -+ c = Class(self.name,self.supers,indent, self.docstr) - for s in self.subscopes: - c.add(s.copy_decl(indent+1)) - return c -@@ -351,11 +361,11 @@ - - - class Function(Scope): -- def __init__(self, name, params, indent): -- Scope.__init__(self,name,indent) -+ def __init__(self, name, params, indent, docstr=''): -+ Scope.__init__(self,name,indent, docstr) - self.params = params - def copy_decl(self,indent=0): -- return Function(self.name,self.params,indent) -+ return Function(self.name,self.params,indent, self.docstr) - def get_code(self): - str = "%sdef %s(%s):\n" % \ - (self.currentindent(),self.name,','.join(self.params)) -@@ -371,7 +381,7 @@ - def _parsedotname(self,pre=None): - #returns (dottedname, nexttoken) - name = [] -- if pre == None: -+ if pre is None: - tokentype, token, indent = self.next() - if tokentype != NAME and token != '*': - return ('', token) -@@ -405,17 +415,20 @@ - while True: - tokentype, token, indent = self.next() - if token in (')', ',') and level == 1: -- names.append(name) -+ if '=' not in name: name = name.replace(' ', '') -+ names.append(name.strip()) - name = '' - if token == '(': - level += 1 -+ name += "(" - elif token == ')': - level -= 1 - if level == 0: break -+ else: name += ")" - elif token == ',' and level == 1: - pass - else: -- name += str(token) -+ name += "%s " % str(token) - return names - - def _parsefunction(self,indent): -@@ -495,16 +508,26 @@ - #Handle 'self' params - if scp.parent != None and type(scp.parent) == Class: - slice = 1 -- p = scp.params[0] -- i = p.find('=') -- if i != -1: p = p[:i] - newscope.local('%s = %s' % (scp.params[0],scp.parent.name)) - for p in scp.params[slice:]: - i = p.find('=') -+ if len(p) == 0: continue -+ pvar = '' -+ ptype = '' - if i == -1: -- newscope.local('%s = _PyCmplNoType()' % p) -+ pvar = p -+ ptype = '_PyCmplNoType()' - else: -- newscope.local('%s = %s' % (p[:i],_sanitize(p[i+1]))) -+ pvar = p[:i] -+ ptype = _sanitize(p[i+1:]) -+ if pvar.startswith('**'): -+ pvar = pvar[2:] -+ ptype = '{}' -+ elif pvar.startswith('*'): -+ pvar = pvar[1:] -+ ptype = '[]' -+ -+ newscope.local('%s = %s' % (pvar,ptype)) - - for s in scp.subscopes: - ns = s.copy_decl(0) -@@ -532,17 +555,19 @@ - self.scope = self.scope.pop(indent) - elif token == 'def': - func = self._parsefunction(indent) -- if func == None: -+ if func is None: - print "function: syntax error..." - continue -+ dbg("new scope: function") - freshscope = True - self.scope = self.scope.add(func) - elif token == 'class': - cls = self._parseclass(indent) -- if cls == None: -+ if cls is None: - print "class: syntax error..." - continue - freshscope = True -+ dbg("new scope: class") - self.scope = self.scope.add(cls) - - elif token == 'import': -@@ -569,6 +594,7 @@ - name,token = self._parsedotname(token) - if token == '=': - stmt = self._parseassignment() -+ dbg("parseassignment: %s = %s" % (name, stmt)) - if stmt != None: - self.scope.local("%s = %s" % (name,stmt)) - freshscope = False -diff -Nur runtime/autoload/rubycomplete.vim runtime/autoload/rubycomplete.vim ---- runtime/autoload/rubycomplete.vim 2008-06-30 05:29:51.000000000 -0700 -+++ runtime/autoload/rubycomplete.vim 2011-01-18 10:40:55.403120418 -0800 -@@ -1,11 +1,11 @@ - " Vim completion script - " Language: Ruby - " Maintainer: Mark Guzman --" Info: $Id: rubycomplete.vim,v 1.41 2008/06/30 06:50:45 segy Exp $ -+" Last Change: 2009 Sep 28 - " URL: http://vim-ruby.rubyforge.org - " Anon CVS: See above site - " Release Coordinator: Doug Kearns --" Maintainer Version: 0.8 -+" Maintainer Version: 0.8.1 - " ---------------------------------------------------------------------------- - " - " Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com) -@@ -325,7 +325,7 @@ - ln = buf[x] - if /^\s*(module|class|def|include)\s+/.match(ln) - clscnt += 1 if $1 == "class" -- #dprint "\$1: %s" % $1 -+ #dprint "\$1$1 - classdef += "%s\n" % ln - classdef += "end\n" if /def\s+/.match(ln) - dprint ln -@@ -632,7 +632,7 @@ - methods = Object.constants - methods.grep(/^#{receiver}/).collect{|e| "::" + e} - -- when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ # Constant or class methods -+ when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods - receiver = $1 - message = Regexp.quote($4) - dprint "const or cls 2 [recv: \'%s\', msg: \'%s\']" % [ receiver, message ] -@@ -666,7 +666,7 @@ - dprint "global" - methods = global_variables.grep(Regexp.new(Regexp.quote($1))) - -- when /^((\.?[^.]+)+)\.([^.]*)$/ # variable -+ when /^((\.?[^.]+)+?)\.([^.]*)$/ # variable - dprint "variable" - receiver = $1 - message = Regexp.quote($3) -diff -Nur runtime/autoload/spellfile.vim runtime/autoload/spellfile.vim ---- runtime/autoload/spellfile.vim 2008-06-27 11:14:05.000000000 -0700 -+++ runtime/autoload/spellfile.vim 2011-01-18 10:40:55.403576719 -0800 -@@ -1,6 +1,6 @@ - " Vim script to download a missing spell file - " Maintainer: Bram Moolenaar --" Last Change: 2008 Jun 27 -+" Last Change: 2008 Nov 29 - - if !exists('g:spellfile_URL') - " Prefer using http:// when netrw should be able to use it, since -@@ -39,19 +39,22 @@ - let s:donedict[a:lang . &enc] = 1 - - " Find spell directories we can write in. -- let dirlist = [] -- let dirchoices = '&Cancel' -- for dir in split(globpath(&rtp, 'spell'), "\n") -- if filewritable(dir) == 2 -- call add(dirlist, dir) -- let dirchoices .= "\n&" . len(dirlist) -- endif -- endfor -+ let [dirlist, dirchoices] = spellfile#GetDirChoices() - if len(dirlist) == 0 -- if &verbose -+ let dir_to_create = spellfile#WritableSpellDir() -+ if &verbose || dir_to_create != '' - echomsg 'spellfile#LoadFile(): There is no writable spell directory.' - endif -- return -+ if dir_to_create != '' -+ if confirm("Shall I create " . dir_to_create, "&Yes\n&No", 2) == 1 -+ " After creating the directory it should show up in the list. -+ call mkdir(dir_to_create, "p") -+ let [dirlist, dirchoices] = spellfile#GetDirChoices() -+ endif -+ endif -+ if len(dirlist) == 0 -+ return -+ endif - endif - - let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc -@@ -177,3 +180,29 @@ - unlet g:netrw_use_errorwindow - endif - endfunc -+ -+" Get a list of writable spell directories and choices for confirm(). -+function! spellfile#GetDirChoices() -+ let dirlist = [] -+ let dirchoices = '&Cancel' -+ for dir in split(globpath(&rtp, 'spell'), "\n") -+ if filewritable(dir) == 2 -+ call add(dirlist, dir) -+ let dirchoices .= "\n&" . len(dirlist) -+ endif -+ endfor -+ return [dirlist, dirchoices] -+endfunc -+ -+function! spellfile#WritableSpellDir() -+ if has("unix") -+ " For Unix always use the $HOME/.vim directory -+ return $HOME . "/.vim/spell" -+ endif -+ for dir in split(&rtp, ',') -+ if filewritable(dir) == 2 -+ return dir . "/spell" -+ endif -+ endfor -+ return '' -+endfunction -diff -Nur runtime/autoload/sqlcomplete.vim runtime/autoload/sqlcomplete.vim ---- runtime/autoload/sqlcomplete.vim 2008-04-03 13:37:56.000000000 -0700 -+++ runtime/autoload/sqlcomplete.vim 2011-04-03 09:27:21.014578452 -0700 -@@ -1,13 +1,28 @@ - " Vim OMNI completion script for SQL - " Language: SQL --" Maintainer: David Fishburn --" Version: 6.0 --" Last Change: Thu 03 Apr 2008 10:37:54 PM Eastern Daylight Time -+" Maintainer: David Fishburn -+" Version: 9.0 -+" Last Change: 2010 Apr 20 - " Usage: For detailed help - " ":help sql.txt" - " or ":help ft-sql-omni" - " or read $VIMRUNTIME/doc/sql.txt - -+" History -+" Version 9.0 -+" This change removes some of the support for tables with spaces in their -+" names in order to simplify the regexes used to pull out query table -+" aliases for more robust table name and column name code completion. -+" Full support for "table names with spaces" can be added in again -+" after 7.3. -+" Version 8.0 -+" Incorrectly re-executed the g:ftplugin_sql_omni_key_right and g:ftplugin_sql_omni_key_left -+" when drilling in and out of a column list for a table. -+" Version 7.0 -+" Better handling of object names -+" Version 6.0 -+" Supports object names with spaces "my table name" -+" - " Set completion with CTRL-X CTRL-O to autoloaded function. - " This check is in place in case this script is - " sourced directly instead of using the autoload feature. -@@ -22,7 +37,7 @@ - if exists('g:loaded_sql_completion') - finish - endif --let g:loaded_sql_completion = 50 -+let g:loaded_sql_completion = 70 - - " Maintains filename of dictionary - let s:sql_file_table = "" -@@ -106,10 +121,23 @@ - let begindot = 1 - endif - while start > 0 -- if line[start - 1] =~ '\(\w\|\s\+\)' -+ " Additional code was required to handle objects which -+ " can contain spaces like "my table name". -+ if line[start - 1] !~ '\(\w\|\.\)' -+ " If the previous character is not a period or word character -+ break -+ " elseif line[start - 1] =~ '\(\w\|\s\+\)' -+ " let start -= 1 -+ elseif line[start - 1] =~ '\w' -+ " If the previous character is word character continue back - let start -= 1 - elseif line[start - 1] =~ '\.' && - \ compl_type =~ 'column\|table\|view\|procedure' -+ " If the previous character is a period and we are completing -+ " an object which can be specified with a period like this: -+ " table_name.column_name -+ " owner_name.table_name -+ - " If lastword has already been set for column completion - " break from the loop, since we do not also want to pickup - " a table name if it was also supplied. -@@ -184,9 +212,10 @@ - endif - - let compl_type_uc = substitute(compl_type, '\w\+', '\u&', '') -- if s:sql_file_{compl_type} == "" -- let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc) -- endif -+ " Same call below, no need to do it twice -+ " if s:sql_file_{compl_type} == "" -+ " let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc) -+ " endif - let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc) - if s:sql_file_{compl_type} != "" - if filereadable(s:sql_file_{compl_type}) -@@ -230,7 +259,7 @@ - " 1. Check if the dbext plugin has the option turned - " on to even allow owners - " 2. Based on 1, if the user is showing a table list -- " and the DrillIntoTable (using ) then -+ " and the DrillIntoTable (using ) then - " this will be owner.table. In this case, we can - " check to see the table.column exists in the - " cached table list. If it does, then we have -@@ -312,9 +341,16 @@ - endif - - if base != '' -- " Filter the list based on the first few characters the user -- " entered -- let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"' -+ " Filter the list based on the first few characters the user entered. -+ " Check if the text matches at the beginning -+ " or -+ " Match to a owner.table or alias.column type match -+ " or -+ " Handle names with spaces "my table name" -+ let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"' -+ " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\)"' -+ " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"' -+ " let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"' - let compl_list = filter(deepcopy(compl_list), expr) - endif - -@@ -363,13 +399,14 @@ - call sqlcomplete#Map('column') - " C-Y, makes the currently highlighted entry active - " and trigger the omni popup to be redisplayed -- call feedkeys("\\\") -+ call feedkeys("\\\", 'n') - else -- if has('win32') -- " If the popup is not visible, simple perform the normal -- " behaviour -- exec "normal! \" -- endif -+ " If the popup is not visible, simple perform the normal -+ " key behaviour. -+ " Must use exec since they key must be preceeded by "\" -+ " or feedkeys will simply push each character of the string -+ " rather than the "key press". -+ exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")' - endif - return "" - endfunction -@@ -381,11 +418,12 @@ - " Trigger the omni popup to be redisplayed - call feedkeys("\\") - else -- if has('win32') -- " If the popup is not visible, simple perform the normal -- " behaviour -- exec "normal! \" -- endif -+ " If the popup is not visible, simple perform the normal -+ " key behaviour. -+ " Must use exec since they key must be preceeded by "\" -+ " or feedkeys will simply push each character of the string -+ " rather than the "key press". -+ exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")' - endif - return "" - endfunction -@@ -582,7 +620,7 @@ - " Search backwards to the beginning of the statement - " and do NOT wrap - " exec 'silent! normal! v?\<\(select\|update\|delete\|;\)\>'."\n".'"yy' -- exec 'silent! normal! ?\<\(select\|update\|delete\|;\)\>'."\n" -+ exec 'silent! normal! ?\<\c\(select\|update\|delete\|;\)\>'."\n" - - " Start characterwise visual mode - " Advance right one character -@@ -591,27 +629,38 @@ - " 2. A ; at the end of a line (the delimiter) - " 3. The end of the file (incase no delimiter) - " Yank the visually selected text into the "y register. -- exec 'silent! normal! vl/\(\\|\\|\\|;\s*$\|\%$\)'."\n".'"yy' -+ exec 'silent! normal! vl/\c\(\\|\\|\\|;\s*$\|\%$\)'."\n".'"yy' - - let query = @y - let query = substitute(query, "\n", ' ', 'g') - let found = 0 - -- " if query =~? '^\(select\|update\|delete\)' -- if query =~? '^\(select\)' -+ " if query =~? '^\c\(select\)' -+ if query =~? '^\(select\|update\|delete\)' - let found = 1 - " \(\(\<\w\+\>\)\.\)\? - -- " 'from.\{-}' - Starting at the from clause -+ " '\c\(from\|join\|,\).\{-}' - Starting at the from clause (case insensitive) - " '\zs\(\(\<\w\+\>\)\.\)\?' - Get the owner name (optional) - " '\<\w\+\>\ze' - Get the table name - " '\s\+\<'.table_name.'\>' - Followed by the alias - " '\s*\.\@!.*' - Cannot be followed by a . - " '\(\\|$\)' - Must be followed by a WHERE clause - " '.*' - Exclude the rest of the line in the match -+ " let table_name_new = matchstr(@y, -+ " \ '\c\(from\|join\|,\).\{-}'. -+ " \ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'. -+ " \ '\("\|\[\)\?.\{-}\("\|\]\)\?\ze'. -+ " \ '\s\+\%(as\s\+\)\?\<'. -+ " \ matchstr(table_name, '.\{-}\ze\.\?$'). -+ " \ '\>'. -+ " \ '\s*\.\@!.*'. -+ " \ '\(\\|$\)'. -+ " \ '.*' -+ " \ ) - let table_name_new = matchstr(@y, -- \ 'from.\{-}'. -- \ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'. -- \ '\("\|\[\)\?.\{-}\("\|\]\)\ze'. -+ \ '\c\(\\|\\|,\)\s*'. -+ \ '\zs\(\("\|\[\)\?\w\+\("\|\]\)\?\.\)\?'. -+ \ '\("\|\[\)\?\w\+\("\|\]\)\?\ze'. - \ '\s\+\%(as\s\+\)\?\<'. - \ matchstr(table_name, '.\{-}\ze\.\?$'). - \ '\>'. -@@ -622,7 +671,7 @@ - - if table_name_new != '' - let table_alias = table_name -- let table_name = table_name_new -+ let table_name = matchstr( table_name_new, '^\(.*\.\)\?\zs.*\ze' ) - - let list_idx = index(s:tbl_name, table_name, 0, &ignorecase) - if list_idx > -1 -@@ -690,4 +739,3 @@ - - return table_cols - endfunction -- -diff -Nur runtime/autoload/syntaxcomplete.vim runtime/autoload/syntaxcomplete.vim ---- runtime/autoload/syntaxcomplete.vim 2008-06-21 13:33:46.000000000 -0700 -+++ runtime/autoload/syntaxcomplete.vim 2011-04-03 09:27:21.020860712 -0700 -@@ -1,10 +1,15 @@ - " Vim completion script - " Language: All languages, uses existing syntax highlighting rules --" Maintainer: David Fishburn --" Version: 4.0 --" Last Change: Fri 26 Oct 2007 05:27:03 PM Eastern Daylight Time -+" Maintainer: David Fishburn -+" Version: 5.0 -+" Last Change: 2010 Jan 31 - " Usage: For detailed help, ":help ft-syntax-omni" - -+" History -+" Version 5.0 -+" When processing a list of syntax groups, the final group -+" was missed in function SyntaxCSyntaxGroupItems. -+" - " Set completion with CTRL-X CTRL-O to autoloaded function. - " This check is in place in case this script is - " sourced directly instead of using the autoload feature. -@@ -312,9 +317,13 @@ - " \zs - start the match - " .\{-} - everything ... - " \ze - end the match -+ " \( - start a group or 2 potential matches - " \n\w - at the first newline starting with a character -+ " \| - 2nd potential match -+ " \%$ - matches end of the file or string -+ " \) - end a group - let syntax_group = matchstr(a:syntax_full, -- \ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze'."\n".'\w' -+ \ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze\(\n\w\|\%$\)' - \ ) - - if syntax_group != "" -diff -Nur runtime/autoload/tar.vim runtime/autoload/tar.vim ---- runtime/autoload/tar.vim 2008-08-09 07:14:58.000000000 -0700 -+++ runtime/autoload/tar.vim 2011-04-03 09:27:21.030852371 -0700 -@@ -1,13 +1,13 @@ - " tar.vim: Handles browsing tarfiles - " AUTOLOAD PORTION --" Date: Aug 08, 2008 --" Version: 23 + modifications by Bram -+" Date: Dec 28, 2009 -+" Version: 24 - " Maintainer: Charles E Campbell, Jr - " License: Vim License (see vim's :help license) - " - " Contains many ideas from Michael Toren's - " --" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1 -+" Copyright: Copyright (C) 2005-2009 Charles E. Campbell, Jr. {{{1 - " Permission is hereby granted to use and distribute this code, - " with or without modifications, provided that this copyright - " notice is copied with it. Like anything else that's free, -@@ -16,19 +16,22 @@ - " By using this plugin, you agree that in no event will the - " copyright holder be liable for any damages resulting from - " the use of this software. -- -+" call inputsave()|call input("Press to continue")|call inputrestore() - " --------------------------------------------------------------------- - " Load Once: {{{1 --let s:keepcpo= &cpo --set cpo&vim --if &cp || exists("g:loaded_tar") || v:version < 700 -+if &cp || exists("g:loaded_tar") - finish - endif --let g:loaded_tar= "v23b" --"call Decho("loading autoload/tar.vim") --if v:version < 701 || (v:version == 701 && !has("patch299")) -- echoerr "(autoload/tar.vim) need vim v7.1 with patchlevel 299" -+let g:loaded_tar= "v24" -+if v:version < 702 -+ echohl WarningMsg -+ echo "***warning*** this version of tar needs vim 7.2" -+ echohl Normal -+ finish - endif -+let s:keepcpo= &cpo -+set cpo&vim -+"call Decho("loading autoload/tar.vim") - - " --------------------------------------------------------------------- - " Default Settings: {{{1 -@@ -44,7 +47,22 @@ - if !exists("g:tar_writeoptions") - let g:tar_writeoptions= "uf" - endif -- -+if !exists("g:tar_copycmd") -+ if !exists("g:netrw_localcopycmd") -+ if has("win32") || has("win95") || has("win64") || has("win16") -+ if g:netrw_cygwin -+ let g:netrw_localcopycmd= "cp" -+ else -+ let g:netrw_localcopycmd= "copy" -+ endif -+ elseif has("unix") || has("macunix") -+ let g:netrw_localcopycmd= "cp" -+ else -+ let g:netrw_localcopycmd= "" -+ endif -+ endif -+ let g:tar_copycmd= g:netrw_localcopycmd -+endif - if !exists("g:netrw_cygwin") - if has("win32") || has("win95") || has("win64") || has("win16") - if &shell =~ '\%(\\|\\)\%(\.exe\)\=$' -@@ -56,6 +74,9 @@ - let g:netrw_cygwin= 0 - endif - endif -+if !exists("g:tar_extractcmd") -+ let g:tar_extractcmd= "tar -xf" -+endif - - " set up shell quoting character - if !exists("g:tar_shq") -@@ -88,7 +109,6 @@ - if !executable(g:tar_cmd) - redraw! - echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system' --" call inputsave()|call input("Press to continue")|call inputrestore() - let &report= repkeep - " call Dret("tar#Browse") - return -@@ -99,7 +119,6 @@ - " if its an url, don't complain, let url-handlers such as vim do its thing - redraw! - echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None --" call inputsave()|call input("Press to continue")|call inputrestore() - endif - let &report= repkeep - " call Dret("tar#Browse : file<".a:tarfile."> not readable") -@@ -130,37 +149,38 @@ - let tarfile= a:tarfile - if has("win32") && executable("cygpath") - " assuming cygwin -- let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e') -+ let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') - endif - let curlast= line("$") - if tarfile =~# '\.\(gz\|tgz\)$' --" call Decho("1: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") -- exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " -+" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") -+ exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " - elseif tarfile =~# '\.lrp' --" call Decho("2: exe silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ") -- exe "silent r! cat -- ".s:Escape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - " -+" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ") -+ exe "silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - " - elseif tarfile =~# '\.bz2$' --" call Decho("3: exe silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") -- exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " -+" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") -+ exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " -+ elseif tarfile =~# '\.lzma$' -+" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ") -+ exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - " - else - if tarfile =~ '^\s*-' -- " A file name starting with a dash may be taken as an option. Prepend ./ to avoid that. -+ " A file name starting with a dash is taken as an option. Prepend ./ to avoid that. - let tarfile = substitute(tarfile, '-', './-', '') - endif --" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1)) -- exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".s:Escape(tarfile,1) -+" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0)) -+ exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1) - endif - if v:shell_error != 0 - redraw! - echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">" --" call inputsave()|call input("Press to continue")|call inputrestore() - " call Dret("tar#Browse : a:tarfile<".a:tarfile.">") - return - endif - if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)') - redraw! - echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None --" call inputsave()|call input("Press to continue")|call inputrestore() - silent %d - let eikeep= &ei - set ei=BufReadCmd,FileReadCmd -@@ -189,7 +209,7 @@ - - if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-' - redraw! -- echohl WarningMsg | echo '***error*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"; See :help tar-options' -+ echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"' - " call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"') - return - endif -@@ -206,7 +226,7 @@ - let curfile= expand("%") - if has("win32") && executable("cygpath") - " assuming cygwin -- let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e') -+ let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') - endif - - new -@@ -231,21 +251,24 @@ - let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','') - if has("win32") && executable("cygpath") - " assuming cygwin -- let tarfile=substitute(system("cygpath -u ".s:Escape(tarfile,0)),'\n$','','e') -+ let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e') - endif - " call Decho("tarfile<".tarfile.">") - " call Decho("fname<".fname.">") - -- if fname =~ '\.gz$' && executable("zcat") -+ if fname =~ '\.bz2$' && executable("bzcat") -+ let decmp= "|bzcat" -+ let doro = 1 -+ elseif fname =~ '\.gz$' && executable("zcat") - let decmp= "|zcat" - let doro = 1 -- elseif fname =~ '\.bz2$' && executable("bzcat") -- let decmp= "|bzcat" -+ elseif fname =~ '\.lzma$' && executable("lzcat") -+ let decmp= "|lzcat" - let doro = 1 - else - let decmp="" - let doro = 0 -- if fname =~ '\.gz$\|\.bz2$\|\.Z$\|\.zip$' -+ if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.zip$\|\.Z$' - setlocal bin - endif - endif -@@ -255,22 +278,25 @@ - else - let tar_secure= " " - endif -- if tarfile =~# '\.\(gz\|tgz\)$' --" call Decho("5: exe silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.s:Escape(fname,1)) -- exe "silent r! gzip -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp -+ if tarfile =~# '\.bz2$' -+" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) -+ exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp -+ elseif tarfile =~# '\.\(gz\|tgz\)$' -+" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1)) -+ exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp - elseif tarfile =~# '\.lrp$' --" call Decho("6: exe silent r! cat ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp) -- exe "silent r! cat -- ".s:Escape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp -- elseif tarfile =~# '\.bz2$' --" call Decho("7: exe silent r! bzip2 -d -c ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp) -- exe "silent r! bzip2 -d -c -- ".s:Escape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.s:Escape(fname,1).decmp -+" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) -+ exe "silent r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp -+ elseif tarfile =~# '\.lzma$' -+" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp) -+ exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp - else - if tarfile =~ '^\s*-' -- " A file name starting with a dash may be taken as an option. Prepend ./ to avoid that. -+ " A file name starting with a dash is taken as an option. Prepend ./ to avoid that. - let tarfile = substitute(tarfile, '-', './-', '') - endif --" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions." "s:Escape(tarfile,1).tar_secure..s:Escape(fname,1).decmp) -- exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".s:Escape(tarfile,1).tar_secure.s:Escape(fname,1).decmp -+" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp) -+ exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp - endif - - if doro -@@ -298,7 +324,7 @@ - - if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-' - redraw! -- echohl WarningMsg | echo '***error*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"; See :help tar-options' -+ echohl WarningMsg | echo '***warning*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"' - " call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"') - return - endif -@@ -307,7 +333,6 @@ - if !executable(g:tar_cmd) - redraw! - echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system' --" call inputsave()|call input("Press to continue")|call inputrestore() - let &report= repkeep - " call Dret("tar#Write") - return -@@ -315,7 +340,6 @@ - if !exists("*mkdir") - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None --" call inputsave()|call input("Press to continue")|call inputrestore() - let &report= repkeep - " call Dret("tar#Write") - return -@@ -336,7 +360,6 @@ - catch /^Vim\%((\a\+)\)\=:E344/ - redraw! - echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None --" call inputsave()|call input("Press to continue")|call inputrestore() - let &report= repkeep - " call Dret("tar#Write") - return -@@ -355,29 +378,33 @@ - let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','') - - " handle compressed archives -- if tarfile =~# '\.gz' -- call system("gzip -d -- ".s:Escape(tarfile,0)) -+ if tarfile =~# '\.bz2' -+ call system("bzip2 -d -- ".shellescape(tarfile,0)) -+ let tarfile = substitute(tarfile,'\.bz2','','e') -+ let compress= "bzip2 -- ".shellescape(tarfile,0) -+" call Decho("compress<".compress.">") -+ elseif tarfile =~# '\.gz' -+ call system("gzip -d -- ".shellescape(tarfile,0)) - let tarfile = substitute(tarfile,'\.gz','','e') -- let compress= "gzip -- ".s:Escape(tarfile,0) -+ let compress= "gzip -- ".shellescape(tarfile,0) -+" call Decho("compress<".compress.">") -+ elseif tarfile =~# '\.lzma' -+ call system("lzma -d -- ".shellescape(tarfile,0)) -+ let tarfile = substitute(tarfile,'\.lzma','','e') -+ let compress= "lzma -- ".shellescape(tarfile,0) - " call Decho("compress<".compress.">") - elseif tarfile =~# '\.tgz' -- call system("gzip -d -- ".s:Escape(tarfile,0)) -+ call system("gzip -d -- ".shellescape(tarfile,0)) - let tarfile = substitute(tarfile,'\.tgz','.tar','e') -- let compress= "gzip -- ".s:Escape(tarfile,0) -+ let compress= "gzip -- ".shellescape(tarfile,0) - let tgz = 1 - " call Decho("compress<".compress.">") -- elseif tarfile =~# '\.bz2' -- call system("bzip2 -d -- ".s:Escape(tarfile,0)) -- let tarfile = substitute(tarfile,'\.bz2','','e') -- let compress= "bzip2 -- ".s:Escape(tarfile,0) --" call Decho("compress<".compress.">") - endif - " call Decho("tarfile<".tarfile.">") - - if v:shell_error != 0 - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None --" call inputsave()|call input("Press to continue")|call inputrestore() - else - - " call Decho("tarfile<".tarfile."> fname<".fname.">") -@@ -385,7 +412,7 @@ - if fname =~ '/' - let dirpath = substitute(fname,'/[^/]\+$','','e') - if executable("cygpath") -- let dirpath = substitute(system("cygpath ".s:Escape(dirpath, 0)),'\n','','e') -+ let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e') - endif - call mkdir(dirpath,"p") - endif -@@ -405,25 +432,23 @@ - endif - exe "w! ".fnameescape(fname) - if executable("cygpath") -- let tarfile = substitute(system("cygpath ".s:Escape(tarfile,0)),'\n','','e') -+ let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e') - endif - - " delete old file from tarfile --" call Decho("system(".g:tar_cmd." --delete -f ".s:Escape(tarfile,0)." -- ".s:Escape(fname,0).")") -- call system(g:tar_cmd." --delete -f ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0)) -+" call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")") -+ call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0)) - if v:shell_error != 0 - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None --" call inputsave()|call input("Press to continue")|call inputrestore() - else - - " update tarfile with new file --" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0)) -- call system(g:tar_cmd." -".g:tar_writeoptions." ".s:Escape(tarfile,0).tar_secure.s:Escape(fname,0)) -+" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0)) -+ call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0)) - if v:shell_error != 0 - redraw! - echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None --" call inputsave()|call input("Press to continue")|call inputrestore() - elseif exists("compress") - " call Decho("call system(".compress.")") - call system(compress) -@@ -439,13 +464,13 @@ - " call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">") - let tblfile= s:tblfile_{winnr()} - 1split|enew -- let binkeep= &binary -+ let binkeep= &l:binary - let eikeep = &ei - set binary ei=all - exe "e! ".fnameescape(tarfile) - call netrw#NetWrite(tblfile) -- let &ei = eikeep -- let &binary = binkeep -+ let &ei = eikeep -+ let &l:binary = binkeep - q! - unlet s:tblfile_{winnr()} - endif -@@ -462,38 +487,98 @@ - endfun - - " --------------------------------------------------------------------- --" Rmdir: {{{2 -+" s:Rmdir: {{{2 - fun! s:Rmdir(fname) - " call Dfunc("Rmdir(fname<".a:fname.">)") - if has("unix") -- call system("/bin/rm -rf -- ".s:Escape(a:fname,0)) -+ call system("/bin/rm -rf -- ".shellescape(a:fname,0)) - elseif has("win32") || has("win95") || has("win64") || has("win16") - if &shell =~? "sh$" -- call system("/bin/rm -rf -- ".s:Escape(a:fname,0)) -+ call system("/bin/rm -rf -- ".shellescape(a:fname,0)) - else -- call system("del /S ".s:Escape(a:fname,0)) -+ call system("del /S ".shellescape(a:fname,0)) - endif - endif - " call Dret("Rmdir") - endfun - - " --------------------------------------------------------------------- --" s:Escape: {{{2 --fun s:Escape(name,isfilt) -- " shellescape() was added by patch 7.0.111 -- if exists("*shellescape") -- if a:isfilt -- let qnameq= shellescape(a:name,1) -+" tar#Vimuntar: installs a tarball in the user's .vim / vimfiles directory {{{2 -+fun! tar#Vimuntar(...) -+" call Dfunc("tar#Vimuntar() a:0=".a:0." a:1<".(exists("a:1")? a:1 : "-n/a-").">") -+ let tarball = expand("%") -+" call Decho("tarball<".tarball.">") -+ let tarbase = substitute(tarball,'\..*$','','') -+" call Decho("tarbase<".tarbase.">") -+ let tarhome = expand("%:p") -+ if has("win32") || has("win95") || has("win64") || has("win16") -+ let tarhome= substitute(tarhome,'\\','/','g') -+ endif -+ let tarhome= substitute(tarhome,'/[^/]*$','','') -+" call Decho("tarhome<".tarhome.">") -+ let tartail = expand("%:t") -+" call Decho("tartail<".tartail.">") -+ let curdir = getcwd() -+" call Decho("curdir <".curdir.">") -+ " set up vimhome -+ if a:0 > 0 && a:1 != "" -+ let vimhome= a:1 -+ else -+ let vimhome= vimball#VimballHome() -+ endif -+" call Decho("vimhome<".vimhome.">") -+ -+" call Decho("curdir<".curdir."> vimhome<".vimhome.">") -+ if simplify(curdir) != simplify(vimhome) -+ " copy (possibly compressed) tarball to .vim/vimfiles -+" call Decho(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome)) -+ call system(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome)) -+" call Decho("exe cd ".fnameescape(vimhome)) -+ exe "cd ".fnameescape(vimhome) -+ endif -+" call Decho("getcwd<".getcwd().">") -+ -+ " if necessary, decompress the tarball; then, extract it -+ if tartail =~ '\.tgz' -+ if executable("gunzip") -+ silent exe "!gunzip ".shellescape(tartail) -+ elseif executable("gzip") -+ silent exe "!gzip -d ".shellescape(tartail) - else -- let qnameq= shellescape(a:name) -+ echoerr "unable to decompress<".tartail."> on this sytem" -+ if simplify(curdir) != simplify(tarhome) -+ " remove decompressed tarball, restore directory -+" call Decho("delete(".tartail.".tar)") -+ call delete(tartail.".tar") -+" call Decho("exe cd ".fnameescape(curdir)) -+ exe "cd ".fnameescape(curdir) -+ endif -+" call Dret("tar#Vimuntar") -+ return - endif - else -- let qnameq= g:tar_shq . a:name . g:tar_shq -+ call vimball#Decompress(tartail,0) -+ endif -+ let extractcmd= netrw#WinPath(g:tar_extractcmd) -+" call Decho("system(".extractcmd." ".shellescape(tarbase.".tar").")") -+ call system(extractcmd." ".shellescape(tarbase.".tar")) -+ -+ " set up help -+ if filereadable("doc/".tarbase.".txt") -+" call Decho("exe helptags ".getcwd()."/doc") -+ exe "helptags ".getcwd()."/doc" -+ endif -+ -+ if simplify(tarhome) != simplify(vimhome) -+ " remove decompressed tarball, restore directory -+ call delete(vimhome."/".tarbase.".tar") -+ exe "cd ".fnameescape(curdir) - endif -- return qnameq -+ -+" call Dret("tar#Vimuntar") - endfun - --" --------------------------------------------------------------------- -+" ===================================================================== - " Modelines And Restoration: {{{1 - let &cpo= s:keepcpo - unlet s:keepcpo -diff -Nur runtime/autoload/tohtml.vim runtime/autoload/tohtml.vim ---- runtime/autoload/tohtml.vim 1969-12-31 16:00:00.000000000 -0800 -+++ runtime/autoload/tohtml.vim 2011-04-03 09:27:21.039819458 -0700 -@@ -0,0 +1,111 @@ -+" Vim autoload file for the tohtml plugin. -+" Maintainer: Bram Moolenaar -+" Last Change: 2010 Jul 11 -+" -+" Diff2HTML() added by Christian Brabandt -+ -+func! tohtml#Convert2HTML(line1, line2) -+ if !&diff || exists("g:diff_one_file") -+ if a:line2 >= a:line1 -+ let g:html_start_line = a:line1 -+ let g:html_end_line = a:line2 -+ else -+ let g:html_start_line = a:line2 -+ let g:html_end_line = a:line1 -+ endif -+ runtime syntax/2html.vim -+ else -+ let win_list = [] -+ let buf_list = [] -+ windo | if (&diff) | call add(win_list, winbufnr(0)) | endif -+ let save_hwf = exists("g:html_whole_filler") -+ let g:html_whole_filler = 1 -+ for window in win_list -+ exe ":" . bufwinnr(window) . "wincmd w" -+ let g:html_start_line = 1 -+ let g:html_end_line = line('$') -+ runtime syntax/2html.vim -+ call add(buf_list, bufnr('%')) -+ endfor -+ if !save_hwf -+ unlet g:html_whole_filler -+ endif -+ call tohtml#Diff2HTML(win_list, buf_list) -+ endif -+ -+ unlet g:html_start_line -+ unlet g:html_end_line -+endfunc -+ -+func! tohtml#Diff2HTML(win_list, buf_list) -+ let style = [] -+ let html = [] -+ call add(html, '') -+ call add(html, '') -+ call add(html, '') -+ call add(html, 'diff') -+ call add(html, '') -+ "call add(html, '') -+ call add(html, '') -+ call add(html, '') -+ call add(html, '') -+ "call add(html, '') -+ call add(html, '') -+ for buf in a:win_list -+ call add(html, '') -+ endfor -+ call add(html, '') -+ -+ for buf in a:buf_list -+ let temp = [] -+ exe bufwinnr(buf) . 'wincmd w' -+ -+ " Grab the style information. Some of this will be duplicated... -+ 1 -+ let style_start = search('^') -+ if style_start > 0 && style_end > 0 -+ let style += getline(style_start + 1, style_end - 1) -+ endif -+ -+ " Delete those parts that are not needed so -+ " we can include the rest into the resulting table -+ 1,/^?,$d_ -+ let temp = getline(1,'$') -+ " undo deletion of start and end part -+ " so we can later save the file as valid html -+ normal 2u -+ call add(html, '') -+ -+ " Close this buffer -+ quit! -+ endfor -+ -+ call add(html, '') -+ call add(html, '
'.bufname(buf).'
') -+ let html += temp -+ call add(html, '
') -+ call add(html, '') -+ call add(html, '') -+ -+ let i = 1 -+ let name = "Diff" . ".html" -+ while filereadable(name) -+ let name = substitute(name, '\d*\.html$', '', '') . i . ".html" -+ let i += 1 -+ endw -+ exe "new " . name -+ set modifiable -+ call append(0, html) -+ if len(style) > 0 -+ 1 -+ let style_start = search('^') -+ call append(style_start, '') -+ call append(style_start, style) -+ call append(style_start, '\n\e" -+if exists("s:html_use_css") -+ if exists("s:html_dynamic_folds") -+ if exists("s:html_hover_unfold") -+ " if we are doing hover_unfold, use css 2 with css 1 fallback for IE6 -+ exe "normal! a". -+ \ "\n" -+ exe "normal! a\n" -+ else -+ " if we aren't doing hover_unfold, use CSS 1 only -+ exe "normal! a\n" -+ endif -+ else -+ " if we aren't doing any dynamic folding, no need for any special rules -+ exe "normal! a\n\e" -+ endif -+endif -+ -+" insert javascript to toggle folds open and closed -+if exists("s:html_dynamic_folds") -+ exe "normal! a\n". -+ \ "\n\e" - endif --if exists("html_no_pre") -+ -+if exists("g:html_no_pre") - exe "normal! a\n\n\e" - else - exe "normal! a\n\n
\n\e"
-@@ -265,9 +398,83 @@
- " List of all id's
- let s:idlist = ","
- 
--" Loop over all lines in the original text.
-+" First do some preprocessing for dynamic folding. Do this for the entire file
-+" so we don't accidentally start within a closed fold or something.
-+let s:allfolds = []
-+
-+if exists("s:html_dynamic_folds")
-+  let s:lnum = 1
-+  let s:end = line('$')
-+  " save the fold text and set it to the default so we can find fold levels
-+  let s:foldtext_save = &foldtext
-+  set foldtext&
-+
-+  " we will set the foldcolumn in the html to the greater of the maximum fold
-+  " level and the current foldcolumn setting
-+  let s:foldcolumn = &foldcolumn
-+
-+  " get all info needed to describe currently closed folds
-+  while s:lnum < s:end
-+    if foldclosed(s:lnum) == s:lnum
-+      " default fold text has '+-' and then a number of dashes equal to fold
-+      " level, so subtract 2 from index of first non-dash after the dashes
-+      " in order to get the fold level of the current fold
-+      let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
-+      if s:level+1 > s:foldcolumn
-+	let s:foldcolumn = s:level+1
-+      endif
-+      " store fold info for later use
-+      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
-+      call add(s:allfolds, s:newfold)
-+      " open the fold so we can find any contained folds
-+      execute s:lnum."foldopen"
-+    else
-+      let s:lnum = s:lnum + 1
-+    endif
-+  endwhile
-+
-+  " close all folds to get info for originally open folds
-+  silent! %foldclose!
-+  let s:lnum = 1
-+
-+  " the originally open folds will be all folds we encounter that aren't
-+  " already in the list of closed folds
-+  while s:lnum < s:end
-+    if foldclosed(s:lnum) == s:lnum
-+      " default fold text has '+-' and then a number of dashes equal to fold
-+      " level, so subtract 2 from index of first non-dash after the dashes
-+      " in order to get the fold level of the current fold
-+      let s:level = match(foldtextresult(s:lnum), '+-*\zs[^-]') - 2
-+      if s:level+1 > s:foldcolumn
-+	let s:foldcolumn = s:level+1
-+      endif
-+      let s:newfold = {'firstline': s:lnum, 'lastline': foldclosedend(s:lnum), 'level': s:level,'type': "closed-fold"}
-+      " only add the fold if we don't already have it
-+      if empty(s:allfolds) || index(s:allfolds, s:newfold) == -1
-+	let s:newfold.type = "open-fold"
-+	call add(s:allfolds, s:newfold)
-+      endif
-+      " open the fold so we can find any contained folds
-+      execute s:lnum."foldopen"
-+    else
-+      let s:lnum = s:lnum + 1
-+    endif
-+  endwhile
-+
-+  " sort the folds so that we only ever need to look at the first item in the
-+  " list of folds
-+  call sort(s:allfolds, "s:FoldCompare")
-+
-+  let &foldtext = s:foldtext_save
-+  unlet s:foldtext_save
-+
-+  " close all folds again so we can get the fold text as we go
-+  silent! %foldclose! 
-+endif
-+
-+" Now loop over all lines in the original text to convert to html.
- " Use html_start_line and html_end_line if they are set.
--if exists("html_start_line")
-+if exists("g:html_start_line")
-   let s:lnum = html_start_line
-   if s:lnum < 1 || s:lnum > line("$")
-     let s:lnum = 1
-@@ -275,7 +482,7 @@
- else
-   let s:lnum = 1
- endif
--if exists("html_end_line")
-+if exists("g:html_end_line")
-   let s:end = html_end_line
-   if s:end < s:lnum || s:end > line("$")
-     let s:end = line("$")
-@@ -284,7 +491,16 @@
-   let s:end = line("$")
- endif
- 
--if has('folding') && !exists('html_ignore_folding')
-+" stack to keep track of all the folds containing the current line
-+let s:foldstack = []
-+
-+if s:numblines
-+  let s:margin = strlen(s:end) + 1
-+else
-+  let s:margin = 0
-+endif
-+
-+if has('folding') && !exists('g:html_ignore_folding')
-   let s:foldfillchar = &fillchars[matchend(&fillchars, 'fold:')]
-   if s:foldfillchar == ''
-     let s:foldfillchar = '-'
-@@ -295,6 +511,7 @@
-   let s:difffillchar = '-'
- endif
- 
-+let s:foldId = 0
- 
- while s:lnum <= s:end
- 
-@@ -303,24 +520,25 @@
-   if s:filler > 0
-     let s:n = s:filler
-     while s:n > 0
--      if s:numblines
--	" Indent if line numbering is on
--	let s:new = repeat(s:LeadingSpace, strlen(s:end) + 1) . repeat(s:difffillchar, 3)
--      else
--	let s:new = repeat(s:difffillchar, 3)
--      endif
-+      let s:new = repeat(s:difffillchar, 3)
- 
--      if s:n > 2 && s:n < s:filler && !exists("html_whole_filler")
-+      if s:n > 2 && s:n < s:filler && !exists("g:html_whole_filler")
- 	let s:new = s:new . " " . s:filler . " inserted lines "
- 	let s:n = 2
-       endif
- 
--      if !exists("html_no_pre")
-+      if !exists("g:html_no_pre")
- 	" HTML line wrapping is off--go ahead and fill to the margin
--	let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new))
-+	let s:new = s:new . repeat(s:difffillchar, &columns - strlen(s:new) - s:margin)
-+      else
-+	let s:new = s:new . repeat(s:difffillchar, 3)
-       endif
- 
-       let s:new = s:HtmlFormat(s:new, "DiffDelete")
-+      if s:numblines
-+	" Indent if line numbering is on; must be after escaping.
-+	let s:new = repeat(s:LeadingSpace, s:margin) . s:new
-+      endif
-       exe s:newwin . "wincmd w"
-       exe "normal! a" . s:new . s:HtmlEndline . "\n\e"
-       exe s:orgwin . "wincmd w"
-@@ -333,17 +551,19 @@
- 
-   " Start the line with the line number.
-   if s:numblines
--    let s:new = repeat(' ', strlen(s:end) - strlen(s:lnum)) . s:lnum . ' '
-+    let s:numcol = repeat(' ', s:margin - 1 - strlen(s:lnum)) . s:lnum . ' '
-   else
--    let s:new = ""
-+    let s:numcol = ""
-   endif
- 
--  if has('folding') && !exists('html_ignore_folding') && foldclosed(s:lnum) > -1
-+  let s:new = ""
-+
-+  if has('folding') && !exists('g:html_ignore_folding') && foldclosed(s:lnum) > -1 && !exists('s:html_dynamic_folds')
-     "
--    " This is the beginning of a folded block
-+    " This is the beginning of a folded block (with no dynamic folding)
-     "
--    let s:new = s:new . foldtextresult(s:lnum)
--    if !exists("html_no_pre")
-+    let s:new = s:numcol . foldtextresult(s:lnum)
-+    if !exists("g:html_no_pre")
-       " HTML line wrapping is off--go ahead and fill to the margin
-       let s:new = s:new . repeat(s:foldfillchar, &columns - strlen(s:new))
-     endif
-@@ -355,14 +575,96 @@
- 
-   else
-     "
--    " A line that is not folded.
-+    " A line that is not folded, or doing dynamic folding.
-     "
-     let s:line = getline(s:lnum)
--
-     let s:len = strlen(s:line)
- 
-+    if exists("s:html_dynamic_folds")
-+      " First insert a closing for any open folds that end on this line
-+      while !empty(s:foldstack) && get(s:foldstack,0).lastline == s:lnum-1
-+	let s:new = s:new.""
-+	call remove(s:foldstack, 0)
-+      endwhile
-+
-+      " Now insert an opening any new folds that start on this line
-+      let s:firstfold = 1
-+      while !empty(s:allfolds) && get(s:allfolds,0).firstline == s:lnum
-+	let s:foldId = s:foldId + 1
-+	let s:new = s:new . ""
-+
-+	" Unless disabled, add a fold column for the opening line of a fold.
-+	"
-+	" Note that dynamic folds require using css so we just use css to take
-+	" care of the leading spaces rather than using   in the case of
-+	" html_no_pre to make it easier
-+	if !exists("g:html_no_foldcolumn")
-+	  " add fold column that can open the new fold
-+	  if s:allfolds[0].level > 1 && s:firstfold
-+	    let s:new = s:new . ""
-+	    let s:new = s:new . repeat('|', s:allfolds[0].level - 1) . ""
-+	  endif
-+	  let s:new = s:new . "+"
-+	  let s:new = s:new . ""
-+
-+	  " add fold column that can close the new fold
-+	  let s:new = s:new . ""
-+	  if s:firstfold
-+	    let s:new = s:new . repeat('|', s:allfolds[0].level - 1)
-+	  endif
-+	  let s:new = s:new . "-"
-+	  " only add spaces if we aren't opening another fold on the same line
-+	  if get(s:allfolds, 1, {'firstline': 0}).firstline != s:lnum
-+	    let s:new = s:new . repeat(" ", s:foldcolumn - s:allfolds[0].level)
-+	  endif
-+	  let s:new = s:new . ""
-+	  let s:firstfold = 0
-+	endif
-+
-+	" add fold text, moving the span ending to the next line so collapsing
-+	" of folds works correctly
-+	let s:new = s:new . substitute(s:HtmlFormat(s:numcol . foldtextresult(s:lnum), "Folded"), '', s:HtmlEndline.'\r\0', '')
-+	let s:new = s:new . ""
-+
-+	" open the fold now that we have the fold text to allow retrieval of
-+	" fold text for subsequent folds
-+	execute s:lnum."foldopen"
-+	call insert(s:foldstack, remove(s:allfolds,0))
-+	let s:foldstack[0].id = s:foldId
-+      endwhile
-+
-+      " Unless disabled, add a fold column for other lines.
-+      "
-+      " Note that dynamic folds require using css so we just use css to take
-+      " care of the leading spaces rather than using   in the case of
-+      " html_no_pre to make it easier
-+      if !exists("g:html_no_foldcolumn")
-+	if empty(s:foldstack)
-+	  " add the empty foldcolumn for unfolded lines
-+	  let s:new = s:new . s:HtmlFormat(repeat(' ', s:foldcolumn), "FoldColumn")
-+	else
-+	  " add the fold column for folds not on the opening line
-+	  if get(s:foldstack, 0).firstline < s:lnum
-+	    let s:new = s:new . ""
-+	    let s:new = s:new . repeat('|', s:foldstack[0].level)
-+	    let s:new = s:new . repeat(' ', s:foldcolumn - s:foldstack[0].level) . ""
-+	  endif
-+	endif
-+      endif
-+    endif
-+
-+    " Now continue with the unfolded line text
-     if s:numblines
--      let s:new = s:HtmlFormat(s:new, "lnr")
-+      let s:new = s:new . s:HtmlFormat(s:numcol, "lnr")
-     endif
- 
-     " Get the diff attribute, if any.
-@@ -378,9 +680,9 @@
- 	" Speed loop (it's small - that's the trick)
- 	" Go along till we find a change in hlID
- 	while s:col <= s:len && s:id == diff_hlID(s:lnum, s:col) | let s:col = s:col + 1 | endwhile
--	if s:len < &columns && !exists("html_no_pre")
-+	if s:len < &columns && !exists("g:html_no_pre")
- 	  " Add spaces at the end to mark the changed line.
--	  let s:line = s:line . repeat(' ', &columns - s:len)
-+	  let s:line = s:line . repeat(' ', &columns - virtcol([s:lnum, s:len]) - s:margin)
- 	  let s:len = &columns
- 	endif
-       else
-@@ -393,11 +695,27 @@
- 
-       " Expand tabs
-       let s:expandedtab = strpart(s:line, s:startcol - 1, s:col - s:startcol)
--      let idx = stridx(s:expandedtab, "\t")
--      while idx >= 0
--	let i = &ts - ((idx + s:startcol - 1) % &ts)
--	let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', i), '')
--	let idx = stridx(s:expandedtab, "\t")
-+      let s:offset = 0
-+      let s:idx = stridx(s:expandedtab, "\t")
-+      while s:idx >= 0
-+	if has("multi_byte_encoding")
-+	  if s:startcol + s:idx == 1
-+	    let s:i = &ts
-+	  else
-+	    if s:idx == 0
-+	      let s:prevc = matchstr(s:line, '.\%' . (s:startcol + s:idx + s:offset) . 'c')
-+	    else
-+	      let s:prevc = matchstr(s:expandedtab, '.\%' . (s:idx + 1) . 'c')
-+	    endif
-+	    let s:vcol = virtcol([s:lnum, s:startcol + s:idx + s:offset - len(s:prevc)])
-+	    let s:i = &ts - (s:vcol % &ts)
-+	  endif
-+	  let s:offset -= s:i - 1
-+	else
-+	  let s:i = &ts - ((s:idx + s:startcol - 1) % &ts)
-+	endif
-+	let s:expandedtab = substitute(s:expandedtab, '\t', repeat(' ', s:i), '')
-+	let s:idx = stridx(s:expandedtab, "\t")
-       endwhile
- 
-       " Output the text with the same synID, with class set to {s:id_name}
-@@ -415,12 +733,26 @@
- " Finish with the last line
- exe s:newwin . "wincmd w"
- 
-+if exists("s:html_dynamic_folds")
-+  " finish off any open folds
-+  while !empty(s:foldstack)
-+    exe "normal! a"
-+    call remove(s:foldstack, 0)
-+  endwhile
-+
-+  " add fold column to the style list if not already there
-+  let s:id = hlID('FoldColumn')
-+  if stridx(s:idlist, "," . s:id . ",") == -1
-+    let s:idlist = s:idlist . s:id . ","
-+  endif
-+endif
-+
- " Close off the font tag that encapsulates the whole 
--if !exists("html_use_css")
-+if !exists("s:html_use_css")
-   exe "normal! a\e"
- endif
- 
--if exists("html_no_pre")
-+if exists("g:html_no_pre")
-   exe "normal! a\n\e"
- else
-   exe "normal! a
\n\n\e" -@@ -428,7 +760,7 @@ - - - " Now, when we finally know which, we define the colors and styles --if exists("html_use_css") -+if exists("s:html_use_css") - 1;/