Submitted By: Jim Gifford (patches at jg555 dot com) Date: 2006-05-11 Initial Package Version: 7.0 Origin: Upstream Upstream Status: Applied Description: Contains Patch 001-004 and 006-0012 from Upstream 005 is for the extras and Windows 32 only diff -Naur vim70.orig/runtime/autoload/ccomplete.vim vim70/runtime/autoload/ccomplete.vim --- vim70.orig/runtime/autoload/ccomplete.vim 2006-05-03 07:35:56.000000000 -0700 +++ vim70/runtime/autoload/ccomplete.vim 2006-05-11 15:11:35.575014863 -0700 @@ -1,7 +1,7 @@ " Vim completion script " Language: C " Maintainer: Bram Moolenaar -" Last Change: 2006 May 03 +" Last Change: 2006 May 08 " This function is used for the 'omnifunc' option. @@ -458,7 +458,7 @@ " member. function! s:StructMembers(typename, items, all) " Todo: What about local structures? - let fnames = join(map(tagfiles(), 'escape(v:val, " \\")')) + let fnames = join(map(tagfiles(), 'escape(v:val, " \\#%")')) if fnames == '' return [] endif diff -Naur vim70.orig/runtime/autoload/spellfile.vim vim70/runtime/autoload/spellfile.vim --- vim70.orig/runtime/autoload/spellfile.vim 2006-02-01 04:12:24.000000000 -0800 +++ vim70/runtime/autoload/spellfile.vim 2006-05-11 15:17:08.774958315 -0700 @@ -1,9 +1,9 @@ " Vim script to download a missing spell file " Maintainer: Bram Moolenaar -" Last Change: 2006 Feb 01 +" Last Change: 2006 May 10 if !exists('g:spellfile_URL') - let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/unstable/runtime/spell' + let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell' endif let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset. @@ -61,13 +61,13 @@ new setlocal bin echo 'Downloading ' . fname . '...' - exe 'Nread ' g:spellfile_URL . '/' . fname + call spellfile#Nread(fname) if getline(2) !~ 'VIMspell' " Didn't work, perhaps there is an ASCII one. g/^/d let fname = a:lang . '.ascii.spl' echo 'Could not find it, trying ' . fname . '...' - exe 'Nread ' g:spellfile_URL . '/' . fname + call spellfile#Nread(fname) if getline(2) !~ 'VIMspell' echo 'Sorry, downloading failed' bwipe! @@ -95,7 +95,7 @@ g/^/d let fname = substitute(fname, '\.spl$', '.sug', '') echo 'Downloading ' . fname . '...' - exe 'Nread ' g:spellfile_URL . '/' . fname + call spellfile#Nread(fname) if getline(2) !~ 'VIMsug' echo 'Sorry, downloading failed' else @@ -109,3 +109,10 @@ bwipe endif endfunc + +" Read "fname" from the ftp server. +function! spellfile#Nread(fname) + let machine = substitute(g:spellfile_URL, 'ftp://\([^/]*\).*', '\1', '') + let dir = substitute(g:spellfile_URL, 'ftp://[^/]*/\(.*\)', '\1', '') + exe 'Nread "' . machine . ' anonymous vim7user ' . dir . '/' . a:fname . '"' +endfunc diff -Naur vim70.orig/runtime/plugin/matchparen.vim vim70/runtime/plugin/matchparen.vim --- vim70.orig/runtime/plugin/matchparen.vim 2006-04-27 06:31:26.000000000 -0700 +++ vim70/runtime/plugin/matchparen.vim 2006-05-11 15:20:58.638098540 -0700 @@ -1,6 +1,6 @@ " Vim plugin for showing matching parens " Maintainer: Bram Moolenaar -" Last Change: 2006 Apr 27 +" Last Change: 2006 May 11 " Exit quickly when: " - this plugin was already loaded (or disabled) @@ -90,7 +90,7 @@ " Find the match. When it was just before the cursor move it there for a " moment. if before > 0 - let save_cursor = getpos('.') + let save_cursor = winsaveview() call cursor(c_lnum, c_col - before) endif @@ -102,7 +102,7 @@ let [m_lnum, m_col] = searchpairpos(c, '', c2, s_flags, s_skip, stopline) if before > 0 - call setpos('.', save_cursor) + call winrestview(save_cursor) endif " If a match is found setup match highlighting. diff -Naur vim70.orig/src/Makefile vim70/src/Makefile --- vim70.orig/src/Makefile 2006-05-07 06:25:27.000000000 -0700 +++ vim70/src/Makefile 2006-05-11 15:14:39.595102614 -0700 @@ -2177,6 +2177,7 @@ cd $(SHADOWDIR)/xxd; ln -s ../../xxd/*.[ch] ../../xxd/Make* . if test -d $(RSRC_DIR); then \ cd $(SHADOWDIR); \ + ln -s ../infplist.xml .; \ ln -s ../$(RSRC_DIR) ../os_mac.rsr.hqx ../dehqx.py .; \ fi mkdir $(SHADOWDIR)/testdir diff -Naur vim70.orig/src/eval.c vim70/src/eval.c --- vim70.orig/src/eval.c 2006-05-05 10:15:26.000000000 -0700 +++ vim70/src/eval.c 2006-05-11 15:15:48.811610930 -0700 @@ -11372,7 +11372,7 @@ if (argvars[2].v_type != VAR_UNKNOWN) { char_u *xp_name; - int xp_namelen; + int xp_namelen; long argt; rettv->vval.v_string = NULL; @@ -18963,7 +18963,8 @@ else if (lead > 0) { lead = 3; - if (eval_fname_sid(lv.ll_exp_name != NULL ? lv.ll_exp_name : *pp)) + if ((lv.ll_exp_name != NULL && eval_fname_sid(lv.ll_exp_name)) + || eval_fname_sid(*pp)) { /* It's "s:" or "" */ if (current_SID <= 0) diff -Naur vim70.orig/src/ex_docmd.c vim70/src/ex_docmd.c --- vim70.orig/src/ex_docmd.c 2006-05-05 09:33:19.000000000 -0700 +++ vim70/src/ex_docmd.c 2006-05-11 15:13:00.189865030 -0700 @@ -833,7 +833,7 @@ * If requested, store and reset the global values controlling the * exception handling (used when debugging). */ - else if (flags & DOCMD_EXCRESET) + if (flags & DOCMD_EXCRESET) save_dbg_stuff(&debug_saved); initial_trylevel = trylevel; diff -Naur vim70.orig/src/gui.c vim70/src/gui.c --- vim70.orig/src/gui.c 2006-05-03 04:00:59.000000000 -0700 +++ vim70/src/gui.c 2006-05-11 15:12:12.091073991 -0700 @@ -4603,11 +4603,11 @@ /* Don't move the mouse when it's left or right of the Vim window */ if (x < 0 || x > Columns * gui.char_width) return; + if (y >= 0 # ifdef FEAT_WINDOWS - if (Y_2_ROW(y) >= tabline_height()) -# else - if (y >= 0) + && Y_2_ROW(y) >= tabline_height() # endif + ) wp = xy2win(x, y); if (wp != curwin && wp != NULL) /* If in other than current window */ { diff -Naur vim70.orig/src/message.c vim70/src/message.c --- vim70.orig/src/message.c 2006-05-06 13:07:37.000000000 -0700 +++ vim70/src/message.c 2006-05-11 15:15:24.558235798 -0700 @@ -4175,15 +4175,16 @@ str_arg_l = 0; else { - /* memchr on HP does not like n > 2^31 !!! */ - char *q = memchr(str_arg, '\0', + /* Don't put the #if inside memchr(), it can be a + * macro. */ #if SIZEOF_INT <= 2 - precision + char *q = memchr(str_arg, '\0', precision); #else - precision <= (size_t)0x7fffffffL ? precision - : (size_t)0x7fffffffL + /* memchr on HP does not like n > 2^31 !!! */ + char *q = memchr(str_arg, '\0', + precision <= (size_t)0x7fffffffL ? precision + : (size_t)0x7fffffffL); #endif - ); str_arg_l = (q == NULL) ? precision : q - str_arg; } break; diff -Naur vim70.orig/src/option.c vim70/src/option.c --- vim70.orig/src/option.c 2006-05-03 10:32:28.000000000 -0700 +++ vim70/src/option.c 2006-05-11 15:20:31.413041949 -0700 @@ -2294,7 +2294,7 @@ {(char_u *)0L, (char_u *)0L} #endif }, - {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE, + {"spellsuggest", "sps", P_STRING|P_VI_DEF|P_EXPAND|P_SECURE|P_COMMA, #ifdef FEAT_SPELL (char_u *)&p_sps, PV_NONE, {(char_u *)"best", (char_u *)0L} @@ -5227,13 +5227,13 @@ case PV_STL: return &curwin->w_p_stl_flags; #endif #ifdef FEAT_EVAL +# ifdef FEAT_FOLDING case PV_FDE: return &curwin->w_p_fde_flags; case PV_FDT: return &curwin->w_p_fdt_flags; +# endif # ifdef FEAT_BEVAL case PV_BEXPR: return &curbuf->b_p_bexpr_flags; # endif -#endif -#if defined(FEAT_EVAL) # if defined(FEAT_CINDENT) case PV_INDE: return &curbuf->b_p_inde_flags; # endif diff -Naur vim70.orig/src/spell.c vim70/src/spell.c --- vim70.orig/src/spell.c 2006-05-05 00:49:58.000000000 -0700 +++ vim70/src/spell.c 2006-05-11 15:16:19.480292072 -0700 @@ -2108,7 +2108,8 @@ * possible. */ STRCPY(buf, line); if (lnum < wp->w_buffer->b_ml.ml_line_count) - spell_cat_line(buf + STRLEN(buf), ml_get(lnum + 1), MAXWLEN); + spell_cat_line(buf + STRLEN(buf), + ml_get_buf(wp->w_buffer, lnum + 1, FALSE), MAXWLEN); p = buf + skip; endp = buf + len; diff -Naur vim70.orig/src/version.c vim70/src/version.c --- vim70.orig/src/version.c 2006-05-03 00:50:42.000000000 -0700 +++ vim70/src/version.c 2006-05-11 15:20:58.638098540 -0700 @@ -667,6 +667,28 @@ static int included_patches[] = { /* Add new patch number below this line */ /**/ + 12, +/**/ + 11, +/**/ + 10, +/**/ + 9, +/**/ + 8, +/**/ + 7, +/**/ + 6, +/**/ + 4, +/**/ + 3, +/**/ + 2, +/**/ + 1, +/**/ 0 };