From 81c28583dacf84ea7feb89fe38820199b6085a88 Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Fri, 31 Jul 2009 22:39:18 +0000 Subject: [PATCH] - add 97 upstream patches to get to patchlevel 245 --- 7.2.149 | 672 +++++ 7.2.150 | 1325 ++++++++++ 7.2.151 | 53 + 7.2.152 | 104 + 7.2.153 | 97 + 7.2.154 | 71 + 7.2.155 | 45 + 7.2.156 | 181 ++ 7.2.157 | 144 ++ 7.2.158 | 63 + 7.2.159 | 71 + 7.2.160 | 52 + 7.2.161 | 205 ++ 7.2.162 | 75 + 7.2.163 | 51 + 7.2.164 | 139 ++ 7.2.165 | 58 + 7.2.166 | 425 ++++ 7.2.167 | 1873 ++++++++++++++ 7.2.168 | 74 + 7.2.169 | 1214 +++++++++ 7.2.170 | 179 ++ 7.2.171 | 80 + 7.2.172 | 59 + 7.2.173 | 719 ++++++ 7.2.174 | 1718 +++++++++++++ 7.2.175 | 51 + 7.2.176 | 207 ++ 7.2.177 | 2726 ++++++++++++++++++++ 7.2.178 | 150 ++ 7.2.179 | 100 + 7.2.180 | 6520 ++++++++++++++++++++++++++++++++++++++++++++++++ 7.2.181 | 1978 +++++++++++++++ 7.2.182 | 66 + 7.2.183 | 1846 ++++++++++++++ 7.2.184 | 3646 +++++++++++++++++++++++++++ 7.2.185 | 305 +++ 7.2.186 | 331 +++ 7.2.187 | 125 + 7.2.188 | 278 +++ 7.2.189 | 86 + 7.2.190 | 182 ++ 7.2.191 | 3705 +++++++++++++++++++++++++++ 7.2.192 | 135 + 7.2.193 | 53 + 7.2.194 | 44 + 7.2.195 | 79 + 7.2.196 | 84 + 7.2.197 | 53 + 7.2.198 | 60 + 7.2.199 | 52 + 7.2.200 | 348 +++ 7.2.201 | 494 ++++ 7.2.202 | 62 + 7.2.203 | 1496 +++++++++++ 7.2.204 | 137 + 7.2.205 | 81 + 7.2.206 | 46 + 7.2.207 | 69 + 7.2.208 | 82 + 7.2.209 | 82 + 7.2.210 | 58 + 7.2.211 | 52 + 7.2.212 | 62 + 7.2.213 | 53 + 7.2.214 | 65 + 7.2.215 | 310 +++ 7.2.216 | 137 + 7.2.217 | 57 + 7.2.218 | 52 + 7.2.219 | 71 + 7.2.220 | 95 + 7.2.221 | 247 ++ 7.2.222 | 59 + 7.2.223 | 165 ++ 7.2.224 | 88 + 7.2.225 | 97 + 7.2.226 | 268 ++ 7.2.227 | 52 + 7.2.228 | 573 +++++ 7.2.229 | 60 + 7.2.230 | 87 + 7.2.231 | 49 + 7.2.232 | 102 + 7.2.233 | 96 + 7.2.234 | 111 + 7.2.235 | 94 + 7.2.236 | 81 + 7.2.237 | 76 + 7.2.238 | 117 + 7.2.239 | 145 ++ 7.2.240 | 69 + 7.2.241 | 169 ++ 7.2.242 | 89 + 7.2.243 | 67 + 7.2.244 | 174 ++ 7.2.245 | 165 ++ README.patches | 98 + vim.spec | 201 +- 99 files changed, 40115 insertions(+), 2 deletions(-) create mode 100644 7.2.149 create mode 100644 7.2.150 create mode 100644 7.2.151 create mode 100644 7.2.152 create mode 100644 7.2.153 create mode 100644 7.2.154 create mode 100644 7.2.155 create mode 100644 7.2.156 create mode 100644 7.2.157 create mode 100644 7.2.158 create mode 100644 7.2.159 create mode 100644 7.2.160 create mode 100644 7.2.161 create mode 100644 7.2.162 create mode 100644 7.2.163 create mode 100644 7.2.164 create mode 100644 7.2.165 create mode 100644 7.2.166 create mode 100644 7.2.167 create mode 100644 7.2.168 create mode 100644 7.2.169 create mode 100644 7.2.170 create mode 100644 7.2.171 create mode 100644 7.2.172 create mode 100644 7.2.173 create mode 100644 7.2.174 create mode 100644 7.2.175 create mode 100644 7.2.176 create mode 100644 7.2.177 create mode 100644 7.2.178 create mode 100644 7.2.179 create mode 100644 7.2.180 create mode 100644 7.2.181 create mode 100644 7.2.182 create mode 100644 7.2.183 create mode 100644 7.2.184 create mode 100644 7.2.185 create mode 100644 7.2.186 create mode 100644 7.2.187 create mode 100644 7.2.188 create mode 100644 7.2.189 create mode 100644 7.2.190 create mode 100644 7.2.191 create mode 100644 7.2.192 create mode 100644 7.2.193 create mode 100644 7.2.194 create mode 100644 7.2.195 create mode 100644 7.2.196 create mode 100644 7.2.197 create mode 100644 7.2.198 create mode 100644 7.2.199 create mode 100644 7.2.200 create mode 100644 7.2.201 create mode 100644 7.2.202 create mode 100644 7.2.203 create mode 100644 7.2.204 create mode 100644 7.2.205 create mode 100644 7.2.206 create mode 100644 7.2.207 create mode 100644 7.2.208 create mode 100644 7.2.209 create mode 100644 7.2.210 create mode 100644 7.2.211 create mode 100644 7.2.212 create mode 100644 7.2.213 create mode 100644 7.2.214 create mode 100644 7.2.215 create mode 100644 7.2.216 create mode 100644 7.2.217 create mode 100644 7.2.218 create mode 100644 7.2.219 create mode 100644 7.2.220 create mode 100644 7.2.221 create mode 100644 7.2.222 create mode 100644 7.2.223 create mode 100644 7.2.224 create mode 100644 7.2.225 create mode 100644 7.2.226 create mode 100644 7.2.227 create mode 100644 7.2.228 create mode 100644 7.2.229 create mode 100644 7.2.230 create mode 100644 7.2.231 create mode 100644 7.2.232 create mode 100644 7.2.233 create mode 100644 7.2.234 create mode 100644 7.2.235 create mode 100644 7.2.236 create mode 100644 7.2.237 create mode 100644 7.2.238 create mode 100644 7.2.239 create mode 100644 7.2.240 create mode 100644 7.2.241 create mode 100644 7.2.242 create mode 100644 7.2.243 create mode 100644 7.2.244 create mode 100644 7.2.245 diff --git a/7.2.149 b/7.2.149 new file mode 100644 index 00000000..7b51a571 --- /dev/null +++ b/7.2.149 @@ -0,0 +1,672 @@ +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 --git a/7.2.150 b/7.2.150 new file mode 100644 index 00000000..f2b1174e --- /dev/null +++ b/7.2.150 @@ -0,0 +1,1325 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.150 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Note: I haven't tested this myself, since I don't have a compiler that +works for this code. + +Patch 7.2.150 (extra) +Problem: Can't use tab pages from VisVim. +Solution: Add tab page support to VisVim. (Adam Slater) +Files: src/VisVim/Commands.cpp, src/VisVim/Resource.h, + src/VisVim/VisVim.rc + + +*** ../vim-7.2.149/src/VisVim/Commands.cpp Thu May 10 20:45:34 2007 +--- src/VisVim/Commands.cpp Mon Mar 2 00:52:15 2009 +*************** +*** 20,39 **** + + static BOOL g_bEnableVim = TRUE; // Vim enabled + static BOOL g_bDevStudioEditor = FALSE; // Open file in Dev Studio editor simultaneously + static int g_ChangeDir = CD_NONE; // CD after file open? + +! static void VimSetEnableState (BOOL bEnableState); +! static BOOL VimOpenFile (BSTR& FileName, long LineNr); +! static DISPID VimGetDispatchId (COleAutomationControl& VimOle, char* Method); +! static void VimErrDiag (COleAutomationControl& VimOle); +! static void VimChangeDir (COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName); +! static void DebugMsg (char* Msg, char* Arg = NULL); + + + ///////////////////////////////////////////////////////////////////////////// + // CCommands + +! CCommands::CCommands () + { + // m_pApplication == NULL; M$ Code generation bug!!! + m_pApplication = NULL; +--- 20,40 ---- + + static BOOL g_bEnableVim = TRUE; // Vim enabled + static BOOL g_bDevStudioEditor = FALSE; // Open file in Dev Studio editor simultaneously ++ static BOOL g_bNewTabs = FALSE; + static int g_ChangeDir = CD_NONE; // CD after file open? + +! static void VimSetEnableState(BOOL bEnableState); +! static BOOL VimOpenFile(BSTR& FileName, long LineNr); +! static DISPID VimGetDispatchId(COleAutomationControl& VimOle, char* Method); +! static void VimErrDiag(COleAutomationControl& VimOle); +! static void VimChangeDir(COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName); +! static void DebugMsg(char* Msg, char* Arg = NULL); + + + ///////////////////////////////////////////////////////////////////////////// + // CCommands + +! CCommands::CCommands() + { + // m_pApplication == NULL; M$ Code generation bug!!! + m_pApplication = NULL; +*************** +*** 41,57 **** + m_pDebuggerEventsObj = NULL; + } + +! CCommands::~CCommands () + { +! ASSERT (m_pApplication != NULL); + if (m_pApplication) + { +! m_pApplication->Release (); + m_pApplication = NULL; + } + } + +! void CCommands::SetApplicationObject (IApplication * pApplication) + { + // This function assumes pApplication has already been AddRef'd + // for us, which CDSAddIn did in it's QueryInterface call +--- 42,58 ---- + m_pDebuggerEventsObj = NULL; + } + +! CCommands::~CCommands() + { +! ASSERT(m_pApplication != NULL); + if (m_pApplication) + { +! m_pApplication->Release(); + m_pApplication = NULL; + } + } + +! void CCommands::SetApplicationObject(IApplication * pApplication) + { + // This function assumes pApplication has already been AddRef'd + // for us, which CDSAddIn did in it's QueryInterface call +*************** +*** 61,115 **** + return; + + // Create Application event handlers +! XApplicationEventsObj::CreateInstance (&m_pApplicationEventsObj); + if (! m_pApplicationEventsObj) + { +! ReportInternalError ("XApplicationEventsObj::CreateInstance"); + return; + } +! m_pApplicationEventsObj->AddRef (); +! m_pApplicationEventsObj->Connect (m_pApplication); + m_pApplicationEventsObj->m_pCommands = this; + + #ifdef NEVER + // Create Debugger event handler + CComPtr < IDispatch > pDebugger; +! if (SUCCEEDED (m_pApplication->get_Debugger (&pDebugger)) + && pDebugger != NULL) + { +! XDebuggerEventsObj::CreateInstance (&m_pDebuggerEventsObj); +! m_pDebuggerEventsObj->AddRef (); +! m_pDebuggerEventsObj->Connect (pDebugger); + m_pDebuggerEventsObj->m_pCommands = this; + } + #endif + + // Get settings from registry HKEY_CURRENT_USER\Software\Vim\VisVim +! HKEY hAppKey = GetAppKey ("Vim"); + if (hAppKey) + { +! HKEY hSectionKey = GetSectionKey (hAppKey, "VisVim"); + if (hSectionKey) + { +! g_bEnableVim = GetRegistryInt (hSectionKey, "EnableVim", + g_bEnableVim); +! g_bDevStudioEditor = GetRegistryInt(hSectionKey,"DevStudioEditor", +! g_bDevStudioEditor); +! g_ChangeDir = GetRegistryInt (hSectionKey, "ChangeDir", + g_ChangeDir); +! RegCloseKey (hSectionKey); + } +! RegCloseKey (hAppKey); + } + } + +! void CCommands::UnadviseFromEvents () + { +! ASSERT (m_pApplicationEventsObj != NULL); + if (m_pApplicationEventsObj) + { +! m_pApplicationEventsObj->Disconnect (m_pApplication); +! m_pApplicationEventsObj->Release (); + m_pApplicationEventsObj = NULL; + } + +--- 62,118 ---- + return; + + // Create Application event handlers +! XApplicationEventsObj::CreateInstance(&m_pApplicationEventsObj); + if (! m_pApplicationEventsObj) + { +! ReportInternalError("XApplicationEventsObj::CreateInstance"); + return; + } +! m_pApplicationEventsObj->AddRef(); +! m_pApplicationEventsObj->Connect(m_pApplication); + m_pApplicationEventsObj->m_pCommands = this; + + #ifdef NEVER + // Create Debugger event handler + CComPtr < IDispatch > pDebugger; +! if (SUCCEEDED(m_pApplication->get_Debugger(&pDebugger)) + && pDebugger != NULL) + { +! XDebuggerEventsObj::CreateInstance(&m_pDebuggerEventsObj); +! m_pDebuggerEventsObj->AddRef(); +! m_pDebuggerEventsObj->Connect(pDebugger); + m_pDebuggerEventsObj->m_pCommands = this; + } + #endif + + // Get settings from registry HKEY_CURRENT_USER\Software\Vim\VisVim +! HKEY hAppKey = GetAppKey("Vim"); + if (hAppKey) + { +! HKEY hSectionKey = GetSectionKey(hAppKey, "VisVim"); + if (hSectionKey) + { +! g_bEnableVim = GetRegistryInt(hSectionKey, "EnableVim", + g_bEnableVim); +! g_bDevStudioEditor = GetRegistryInt(hSectionKey, +! "DevStudioEditor", g_bDevStudioEditor); +! g_bNewTabs = GetRegistryInt(hSectionKey, "NewTabs", +! g_bNewTabs); +! g_ChangeDir = GetRegistryInt(hSectionKey, "ChangeDir", + g_ChangeDir); +! RegCloseKey(hSectionKey); + } +! RegCloseKey(hAppKey); + } + } + +! void CCommands::UnadviseFromEvents() + { +! ASSERT(m_pApplicationEventsObj != NULL); + if (m_pApplicationEventsObj) + { +! m_pApplicationEventsObj->Disconnect(m_pApplication); +! m_pApplicationEventsObj->Release(); + m_pApplicationEventsObj = NULL; + } + +*************** +*** 121,130 **** + // unadvise from its events (thus the VERIFY_OK below--see + // stdafx.h). + CComPtr < IDispatch > pDebugger; +! VERIFY_OK (m_pApplication->get_Debugger (&pDebugger)); +! ASSERT (pDebugger != NULL); +! m_pDebuggerEventsObj->Disconnect (pDebugger); +! m_pDebuggerEventsObj->Release (); + m_pDebuggerEventsObj = NULL; + } + #endif +--- 124,133 ---- + // unadvise from its events (thus the VERIFY_OK below--see + // stdafx.h). + CComPtr < IDispatch > pDebugger; +! VERIFY_OK(m_pApplication->get_Debugger(&pDebugger)); +! ASSERT(pDebugger != NULL); +! m_pDebuggerEventsObj->Disconnect(pDebugger); +! m_pDebuggerEventsObj->Release(); + m_pDebuggerEventsObj = NULL; + } + #endif +*************** +*** 136,156 **** + + // Application events + +! HRESULT CCommands::XApplicationEvents::BeforeBuildStart () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::BuildFinish (long nNumErrors, long nNumWarnings) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::BeforeApplicationShutDown () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +--- 139,159 ---- + + // Application events + +! HRESULT CCommands::XApplicationEvents::BeforeBuildStart() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::BuildFinish(long nNumErrors, long nNumWarnings) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::BeforeApplicationShutDown() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +*************** +*** 158,166 **** + // is done. + // Vim gets called from here. + // +! HRESULT CCommands::XApplicationEvents::DocumentOpen (IDispatch * theDocument) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + + if (! g_bEnableVim) + // Vim not enabled or empty command line entered +--- 161,169 ---- + // is done. + // Vim gets called from here. + // +! HRESULT CCommands::XApplicationEvents::DocumentOpen(IDispatch * theDocument) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + if (! g_bEnableVim) + // Vim not enabled or empty command line entered +*************** +*** 169,175 **** + // First get the current file name and line number + + // Get the document object +! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc (theDocument); + if (! pDoc) + return S_OK; + +--- 172,178 ---- + // First get the current file name and line number + + // Get the document object +! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc(theDocument); + if (! pDoc) + return S_OK; + +*************** +*** 177,202 **** + long LineNr = -1; + + // Get the document name +! if (FAILED (pDoc->get_FullName (&FileName))) + return S_OK; + + LPDISPATCH pDispSel; + + // Get a selection object dispatch pointer +! if (SUCCEEDED (pDoc->get_Selection (&pDispSel))) + { + // Get the selection object +! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel (pDispSel); + + if (pSel) + // Get the selection line number +! pSel->get_CurrentLine (&LineNr); + +! pDispSel->Release (); + } + + // Open the file in Vim and position to the current line +! if (VimOpenFile (FileName, LineNr)) + { + if (! g_bDevStudioEditor) + { +--- 180,205 ---- + long LineNr = -1; + + // Get the document name +! if (FAILED(pDoc->get_FullName(&FileName))) + return S_OK; + + LPDISPATCH pDispSel; + + // Get a selection object dispatch pointer +! if (SUCCEEDED(pDoc->get_Selection(&pDispSel))) + { + // Get the selection object +! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel(pDispSel); + + if (pSel) + // Get the selection line number +! pSel->get_CurrentLine(&LineNr); + +! pDispSel->Release(); + } + + // Open the file in Vim and position to the current line +! if (VimOpenFile(FileName, LineNr)) + { + if (! g_bDevStudioEditor) + { +*************** +*** 204,233 **** + CComVariant vSaveChanges = dsSaveChangesPrompt; + DsSaveStatus Saved; + +! pDoc->Close (vSaveChanges, &Saved); + } + } + + // We're done here +! SysFreeString (FileName); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::BeforeDocumentClose (IDispatch * theDocument) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::DocumentSave (IDispatch * theDocument) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::NewDocument (IDispatch * theDocument) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + + if (! g_bEnableVim) + // Vim not enabled or empty command line entered +--- 207,236 ---- + CComVariant vSaveChanges = dsSaveChangesPrompt; + DsSaveStatus Saved; + +! pDoc->Close(vSaveChanges, &Saved); + } + } + + // We're done here +! SysFreeString(FileName); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::BeforeDocumentClose(IDispatch * theDocument) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::DocumentSave(IDispatch * theDocument) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::NewDocument(IDispatch * theDocument) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + if (! g_bEnableVim) + // Vim not enabled or empty command line entered +*************** +*** 235,253 **** + + // First get the current file name and line number + +! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc (theDocument); + if (! pDoc) + return S_OK; + + BSTR FileName; + HRESULT hr; + +! hr = pDoc->get_FullName (&FileName); +! if (FAILED (hr)) + return S_OK; + + // Open the file in Vim and position to the current line +! if (VimOpenFile (FileName, 0)) + { + if (! g_bDevStudioEditor) + { +--- 238,256 ---- + + // First get the current file name and line number + +! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc(theDocument); + if (! pDoc) + return S_OK; + + BSTR FileName; + HRESULT hr; + +! hr = pDoc->get_FullName(&FileName); +! if (FAILED(hr)) + return S_OK; + + // Open the file in Vim and position to the current line +! if (VimOpenFile(FileName, 0)) + { + if (! g_bDevStudioEditor) + { +*************** +*** 255,303 **** + CComVariant vSaveChanges = dsSaveChangesPrompt; + DsSaveStatus Saved; + +! pDoc->Close (vSaveChanges, &Saved); + } + } + +! SysFreeString (FileName); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WindowActivate (IDispatch * theWindow) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WindowDeactivate (IDispatch * theWindow) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WorkspaceOpen () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WorkspaceClose () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::NewWorkspace () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + + // Debugger event + +! HRESULT CCommands::XDebuggerEvents::BreakpointHit (IDispatch * pBreakpoint) + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + return S_OK; + } + +--- 258,306 ---- + CComVariant vSaveChanges = dsSaveChangesPrompt; + DsSaveStatus Saved; + +! pDoc->Close(vSaveChanges, &Saved); + } + } + +! SysFreeString(FileName); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WindowActivate(IDispatch * theWindow) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WindowDeactivate(IDispatch * theWindow) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WorkspaceOpen() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::WorkspaceClose() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +! HRESULT CCommands::XApplicationEvents::NewWorkspace() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + + // Debugger event + +! HRESULT CCommands::XDebuggerEvents::BreakpointHit(IDispatch * pBreakpoint) + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return S_OK; + } + +*************** +*** 308,324 **** + class CMainDialog : public CDialog + { + public: +! CMainDialog (CWnd * pParent = NULL); // Standard constructor + + //{{AFX_DATA(CMainDialog) + enum { IDD = IDD_ADDINMAIN }; + int m_ChangeDir; + BOOL m_bDevStudioEditor; + //}}AFX_DATA + + //{{AFX_VIRTUAL(CMainDialog) + protected: +! virtual void DoDataExchange (CDataExchange * pDX); // DDX/DDV support + //}}AFX_VIRTUAL + + protected: +--- 311,328 ---- + class CMainDialog : public CDialog + { + public: +! CMainDialog(CWnd * pParent = NULL); // Standard constructor + + //{{AFX_DATA(CMainDialog) + enum { IDD = IDD_ADDINMAIN }; + int m_ChangeDir; + BOOL m_bDevStudioEditor; ++ BOOL m_bNewTabs; + //}}AFX_DATA + + //{{AFX_VIRTUAL(CMainDialog) + protected: +! virtual void DoDataExchange(CDataExchange * pDX); // DDX/DDV support + //}}AFX_VIRTUAL + + protected: +*************** +*** 326,425 **** + afx_msg void OnEnable(); + afx_msg void OnDisable(); + //}}AFX_MSG +! DECLARE_MESSAGE_MAP () + }; + +! CMainDialog::CMainDialog (CWnd * pParent /* =NULL */ ) +! : CDialog (CMainDialog::IDD, pParent) + { + //{{AFX_DATA_INIT(CMainDialog) + m_ChangeDir = -1; + m_bDevStudioEditor = FALSE; + //}}AFX_DATA_INIT + } + +! void CMainDialog::DoDataExchange (CDataExchange * pDX) + { +! CDialog::DoDataExchange (pDX); + //{{AFX_DATA_MAP(CMainDialog) + DDX_Radio(pDX, IDC_CD_SOURCE_PATH, m_ChangeDir); +! DDX_Check (pDX, IDC_DEVSTUDIO_EDITOR, m_bDevStudioEditor); + //}}AFX_DATA_MAP + } + +! BEGIN_MESSAGE_MAP (CMainDialog, CDialog) + //{{AFX_MSG_MAP(CMainDialog) + //}}AFX_MSG_MAP +! END_MESSAGE_MAP () + + + ///////////////////////////////////////////////////////////////////////////// + // CCommands methods + +! STDMETHODIMP CCommands::VisVimDialog () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + + // Use m_pApplication to access the Developer Studio Application + // object, + // and VERIFY_OK to see error strings in DEBUG builds of your add-in + // (see stdafx.h) + +! VERIFY_OK (m_pApplication->EnableModeless (VARIANT_FALSE)); + + CMainDialog Dlg; + + Dlg.m_bDevStudioEditor = g_bDevStudioEditor; + Dlg.m_ChangeDir = g_ChangeDir; +! if (Dlg.DoModal () == IDOK) + { + g_bDevStudioEditor = Dlg.m_bDevStudioEditor; + g_ChangeDir = Dlg.m_ChangeDir; + + // Save settings to registry HKEY_CURRENT_USER\Software\Vim\VisVim +! HKEY hAppKey = GetAppKey ("Vim"); + if (hAppKey) + { +! HKEY hSectionKey = GetSectionKey (hAppKey, "VisVim"); + if (hSectionKey) + { +! WriteRegistryInt (hSectionKey, "DevStudioEditor", + g_bDevStudioEditor); +! WriteRegistryInt (hSectionKey, "ChangeDir", g_ChangeDir); +! RegCloseKey (hSectionKey); + } +! RegCloseKey (hAppKey); + } + } + +! VERIFY_OK (m_pApplication->EnableModeless (VARIANT_TRUE)); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimEnable () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); +! VimSetEnableState (true); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimDisable () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); +! VimSetEnableState (false); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimToggle () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); +! VimSetEnableState (! g_bEnableVim); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimLoad () + { +! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); + + // Use m_pApplication to access the Developer Studio Application object, + // and VERIFY_OK to see error strings in DEBUG builds of your add-in +--- 330,435 ---- + afx_msg void OnEnable(); + afx_msg void OnDisable(); + //}}AFX_MSG +! DECLARE_MESSAGE_MAP() + }; + +! CMainDialog::CMainDialog(CWnd * pParent /* =NULL */ ) +! : CDialog(CMainDialog::IDD, pParent) + { + //{{AFX_DATA_INIT(CMainDialog) + m_ChangeDir = -1; + m_bDevStudioEditor = FALSE; ++ m_bNewTabs = FALSE; + //}}AFX_DATA_INIT + } + +! void CMainDialog::DoDataExchange(CDataExchange * pDX) + { +! CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CMainDialog) + DDX_Radio(pDX, IDC_CD_SOURCE_PATH, m_ChangeDir); +! DDX_Check(pDX, IDC_DEVSTUDIO_EDITOR, m_bDevStudioEditor); +! DDX_Check(pDX, IDC_NEW_TABS, m_bNewTabs); + //}}AFX_DATA_MAP + } + +! BEGIN_MESSAGE_MAP(CMainDialog, CDialog) + //{{AFX_MSG_MAP(CMainDialog) + //}}AFX_MSG_MAP +! END_MESSAGE_MAP() + + + ///////////////////////////////////////////////////////////////////////////// + // CCommands methods + +! STDMETHODIMP CCommands::VisVimDialog() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + // Use m_pApplication to access the Developer Studio Application + // object, + // and VERIFY_OK to see error strings in DEBUG builds of your add-in + // (see stdafx.h) + +! VERIFY_OK(m_pApplication->EnableModeless(VARIANT_FALSE)); + + CMainDialog Dlg; + + Dlg.m_bDevStudioEditor = g_bDevStudioEditor; ++ Dlg.m_bNewTabs = g_bNewTabs; + Dlg.m_ChangeDir = g_ChangeDir; +! if (Dlg.DoModal() == IDOK) + { + g_bDevStudioEditor = Dlg.m_bDevStudioEditor; ++ g_bNewTabs = Dlg.m_bNewTabs; + g_ChangeDir = Dlg.m_ChangeDir; + + // Save settings to registry HKEY_CURRENT_USER\Software\Vim\VisVim +! HKEY hAppKey = GetAppKey("Vim"); + if (hAppKey) + { +! HKEY hSectionKey = GetSectionKey(hAppKey, "VisVim"); + if (hSectionKey) + { +! WriteRegistryInt(hSectionKey, "DevStudioEditor", + g_bDevStudioEditor); +! WriteRegistryInt(hSectionKey, "NewTabs", +! g_bNewTabs); +! WriteRegistryInt(hSectionKey, "ChangeDir", g_ChangeDir); +! RegCloseKey(hSectionKey); + } +! RegCloseKey(hAppKey); + } + } + +! VERIFY_OK(m_pApplication->EnableModeless(VARIANT_TRUE)); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimEnable() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); +! VimSetEnableState(true); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimDisable() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); +! VimSetEnableState(false); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimToggle() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); +! VimSetEnableState(! g_bEnableVim); + return S_OK; + } + +! STDMETHODIMP CCommands::VisVimLoad() + { +! AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + // Use m_pApplication to access the Developer Studio Application object, + // and VERIFY_OK to see error strings in DEBUG builds of your add-in +*************** +*** 430,436 **** + CComPtr < IDispatch > pDispDoc, pDispSel; + + // Get a document object dispatch pointer +! VERIFY_OK (m_pApplication->get_ActiveDocument (&pDispDoc)); + if (! pDispDoc) + return S_OK; + +--- 440,446 ---- + CComPtr < IDispatch > pDispDoc, pDispSel; + + // Get a document object dispatch pointer +! VERIFY_OK(m_pApplication->get_ActiveDocument(&pDispDoc)); + if (! pDispDoc) + return S_OK; + +*************** +*** 438,467 **** + long LineNr = -1; + + // Get the document object +! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc (pDispDoc); + + if (! pDoc) + return S_OK; + + // Get the document name +! if (FAILED (pDoc->get_FullName (&FileName))) + return S_OK; + + // Get a selection object dispatch pointer +! if (SUCCEEDED (pDoc->get_Selection (&pDispSel))) + { + // Get the selection object +! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel (pDispSel); + + if (pSel) + // Get the selection line number +! pSel->get_CurrentLine (&LineNr); + } + + // Open the file in Vim +! VimOpenFile (FileName, LineNr); + +! SysFreeString (FileName); + return S_OK; + } + +--- 448,477 ---- + long LineNr = -1; + + // Get the document object +! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc(pDispDoc); + + if (! pDoc) + return S_OK; + + // Get the document name +! if (FAILED(pDoc->get_FullName(&FileName))) + return S_OK; + + // Get a selection object dispatch pointer +! if (SUCCEEDED(pDoc->get_Selection(&pDispSel))) + { + // Get the selection object +! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel(pDispSel); + + if (pSel) + // Get the selection line number +! pSel->get_CurrentLine(&LineNr); + } + + // Open the file in Vim +! VimOpenFile(FileName, LineNr); + +! SysFreeString(FileName); + return S_OK; + } + +*************** +*** 472,487 **** + + // Set the enable state and save to registry + // +! static void VimSetEnableState (BOOL bEnableState) + { + g_bEnableVim = bEnableState; +! HKEY hAppKey = GetAppKey ("Vim"); + if (hAppKey) + { +! HKEY hSectionKey = GetSectionKey (hAppKey, "VisVim"); + if (hSectionKey) +! WriteRegistryInt (hSectionKey, "EnableVim", g_bEnableVim); +! RegCloseKey (hAppKey); + } + } + +--- 482,497 ---- + + // Set the enable state and save to registry + // +! static void VimSetEnableState(BOOL bEnableState) + { + g_bEnableVim = bEnableState; +! HKEY hAppKey = GetAppKey("Vim"); + if (hAppKey) + { +! HKEY hSectionKey = GetSectionKey(hAppKey, "VisVim"); + if (hSectionKey) +! WriteRegistryInt(hSectionKey, "EnableVim", g_bEnableVim); +! RegCloseKey(hAppKey); + } + } + +*************** +*** 490,496 **** + // letter. + // 'LineNr' must contain a valid line number or 0, e. g. for a new file + // +! static BOOL VimOpenFile (BSTR& FileName, long LineNr) + { + + // OLE automation object for com. with Vim +--- 500,506 ---- + // letter. + // 'LineNr' must contain a valid line number or 0, e. g. for a new file + // +! static BOOL VimOpenFile(BSTR& FileName, long LineNr) + { + + // OLE automation object for com. with Vim +*************** +*** 507,513 **** + // Get a dispatch id for the SendKeys method of Vim; + // enables connection to Vim if necessary + DISPID DispatchId; +! DispatchId = VimGetDispatchId (VimOle, "SendKeys"); + if (! DispatchId) + // OLE error, can't obtain dispatch id + goto OleError; +--- 517,523 ---- + // Get a dispatch id for the SendKeys method of Vim; + // enables connection to Vim if necessary + DISPID DispatchId; +! DispatchId = VimGetDispatchId(VimOle, "SendKeys"); + if (! DispatchId) + // OLE error, can't obtain dispatch id + goto OleError; +*************** +*** 525,544 **** + #ifdef SINGLE_WINDOW + // Update the current file in Vim if it has been modified. + // Disabled, because it could write the file when you don't want to. +! sprintf (VimCmd + 2, ":up\n"); + #endif +! if (! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf))) + goto OleError; + + // Change Vim working directory to where the file is if desired + if (g_ChangeDir != CD_NONE) +! VimChangeDir (VimOle, DispatchId, FileName); + + // Make Vim open the file. + // In the filename convert all \ to /, put a \ before a space. +! sprintf(VimCmd, ":drop "); + sprintf(FileNameTmp, "%S", (char *)FileName); +- s = VimCmd + 6; + for (p = FileNameTmp; *p != '\0' && s < FileNameTmp + MAX_OLE_STR - 4; + ++p) + if (*p == '\\') +--- 535,562 ---- + #ifdef SINGLE_WINDOW + // Update the current file in Vim if it has been modified. + // Disabled, because it could write the file when you don't want to. +! sprintf(VimCmd + 2, ":up\n"); + #endif +! if (! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf))) + goto OleError; + + // Change Vim working directory to where the file is if desired + if (g_ChangeDir != CD_NONE) +! VimChangeDir(VimOle, DispatchId, FileName); + + // Make Vim open the file. + // In the filename convert all \ to /, put a \ before a space. +! if (g_bNewTabs) +! { +! sprintf(VimCmd, ":tab drop "); +! s = VimCmd + 11; +! } +! else +! { +! sprintf(VimCmd, ":drop "); +! s = VimCmd + 6; +! } + sprintf(FileNameTmp, "%S", (char *)FileName); + for (p = FileNameTmp; *p != '\0' && s < FileNameTmp + MAX_OLE_STR - 4; + ++p) + if (*p == '\\') +*************** +*** 552,571 **** + *s++ = '\n'; + *s = '\0'; + +! if (! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf))) + goto OleError; + + if (LineNr > 0) + { + // Goto line +! sprintf (VimCmd, ":%d\n", LineNr); +! if (! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf))) + goto OleError; + } + + // Make Vim come to the foreground +! if (! VimOle.Method ("SetForeground")) +! VimOle.ErrDiag (); + + // We're done + return true; +--- 570,589 ---- + *s++ = '\n'; + *s = '\0'; + +! if (! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf))) + goto OleError; + + if (LineNr > 0) + { + // Goto line +! sprintf(VimCmd, ":%d\n", LineNr); +! if (! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf))) + goto OleError; + } + + // Make Vim come to the foreground +! if (! VimOle.Method("SetForeground")) +! VimOle.ErrDiag(); + + // We're done + return true; +*************** +*** 573,579 **** + OleError: + // There was an OLE error + // Check if it's the "unknown class string" error +! VimErrDiag (VimOle); + return false; + } + +--- 591,597 ---- + OleError: + // There was an OLE error + // Check if it's the "unknown class string" error +! VimErrDiag(VimOle); + return false; + } + +*************** +*** 581,598 **** + // Create the Vim OLE object if necessary + // Returns a valid dispatch id or null on error + // +! static DISPID VimGetDispatchId (COleAutomationControl& VimOle, char* Method) + { + // Initialize Vim OLE connection if not already done +! if (! VimOle.IsCreated ()) + { +! if (! VimOle.CreateObject ("Vim.Application")) + return NULL; + } + + // Get the dispatch id for the SendKeys method. + // By doing this, we are checking if Vim is still there... +! DISPID DispatchId = VimOle.GetDispatchId ("SendKeys"); + if (! DispatchId) + { + // We can't get a dispatch id. +--- 599,616 ---- + // Create the Vim OLE object if necessary + // Returns a valid dispatch id or null on error + // +! static DISPID VimGetDispatchId(COleAutomationControl& VimOle, char* Method) + { + // Initialize Vim OLE connection if not already done +! if (! VimOle.IsCreated()) + { +! if (! VimOle.CreateObject("Vim.Application")) + return NULL; + } + + // Get the dispatch id for the SendKeys method. + // By doing this, we are checking if Vim is still there... +! DISPID DispatchId = VimOle.GetDispatchId("SendKeys"); + if (! DispatchId) + { + // We can't get a dispatch id. +*************** +*** 604,615 **** + // should not be kept long enough to allow the user to terminate Vim + // to avoid memory corruption (why the heck is there no system garbage + // collection for those damned OLE memory chunks???). +! VimOle.DeleteObject (); +! if (! VimOle.CreateObject ("Vim.Application")) + // If this create fails, it's time for an error msg + return NULL; + +! if (! (DispatchId = VimOle.GetDispatchId ("SendKeys"))) + // There is something wrong... + return NULL; + } +--- 622,633 ---- + // should not be kept long enough to allow the user to terminate Vim + // to avoid memory corruption (why the heck is there no system garbage + // collection for those damned OLE memory chunks???). +! VimOle.DeleteObject(); +! if (! VimOle.CreateObject("Vim.Application")) + // If this create fails, it's time for an error msg + return NULL; + +! if (! (DispatchId = VimOle.GetDispatchId("SendKeys"))) + // There is something wrong... + return NULL; + } +*************** +*** 620,639 **** + // Output an error message for an OLE error + // Check on the classstring error, which probably means Vim wasn't registered. + // +! static void VimErrDiag (COleAutomationControl& VimOle) + { +! SCODE sc = GetScode (VimOle.GetResult ()); + if (sc == CO_E_CLASSSTRING) + { + char Buf[256]; +! sprintf (Buf, "There is no registered OLE automation server named " + "\"Vim.Application\".\n" + "Use the OLE-enabled version of Vim with VisVim and " + "make sure to register Vim by running \"vim -register\"."); +! MessageBox (NULL, Buf, "OLE Error", MB_OK); + } + else +! VimOle.ErrDiag (); + } + + // Change directory to the directory the file 'FileName' is in or it's parent +--- 638,657 ---- + // Output an error message for an OLE error + // Check on the classstring error, which probably means Vim wasn't registered. + // +! static void VimErrDiag(COleAutomationControl& VimOle) + { +! SCODE sc = GetScode(VimOle.GetResult()); + if (sc == CO_E_CLASSSTRING) + { + char Buf[256]; +! sprintf(Buf, "There is no registered OLE automation server named " + "\"Vim.Application\".\n" + "Use the OLE-enabled version of Vim with VisVim and " + "make sure to register Vim by running \"vim -register\"."); +! MessageBox(NULL, Buf, "OLE Error", MB_OK); + } + else +! VimOle.ErrDiag(); + } + + // Change directory to the directory the file 'FileName' is in or it's parent +*************** +*** 644,650 **** + // CD_SOURCE_PATH + // CD_SOURCE_PARENT + // +! static void VimChangeDir (COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName) + { + // Do a :cd first + +--- 662,668 ---- + // CD_SOURCE_PATH + // CD_SOURCE_PARENT + // +! static void VimChangeDir(COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName) + { + // Do a :cd first + +*************** +*** 655,661 **** + char DirUnix[_MAX_DIR * 2]; + char *s, *t; + +! _splitpath (StrFileName, Drive, Dir, NULL, NULL); + + // Convert to Unix path name format, escape spaces. + t = DirUnix; +--- 673,679 ---- + char DirUnix[_MAX_DIR * 2]; + char *s, *t; + +! _splitpath(StrFileName, Drive, Dir, NULL, NULL); + + // Convert to Unix path name format, escape spaces. + t = DirUnix; +*************** +*** 676,694 **** + OLECHAR Buf[MAX_OLE_STR]; + char VimCmd[MAX_OLE_STR]; + +! sprintf (VimCmd, ":cd %s%s%s\n", Drive, DirUnix, + g_ChangeDir == CD_SOURCE_PARENT && DirUnix[1] ? ".." : ""); +! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf)); + } + + #ifdef _DEBUG + // Print out a debug message + // +! static void DebugMsg (char* Msg, char* Arg) + { + char Buf[400]; +! sprintf (Buf, Msg, Arg); +! AfxMessageBox (Buf); + } + #endif +- +--- 694,711 ---- + OLECHAR Buf[MAX_OLE_STR]; + char VimCmd[MAX_OLE_STR]; + +! sprintf(VimCmd, ":cd %s%s%s\n", Drive, DirUnix, + g_ChangeDir == CD_SOURCE_PARENT && DirUnix[1] ? ".." : ""); +! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf)); + } + + #ifdef _DEBUG + // Print out a debug message + // +! static void DebugMsg(char* Msg, char* Arg) + { + char Buf[400]; +! sprintf(Buf, Msg, Arg); +! AfxMessageBox(Buf); + } + #endif +*** ../vim-7.2.149/src/VisVim/Resource.h Sun Jun 13 19:17:32 2004 +--- src/VisVim/Resource.h Mon Mar 2 00:39:21 2009 +*************** +*** 16,21 **** +--- 16,22 ---- + #define IDC_CD_SOURCE_PATH 1001 + #define IDC_CD_SOURCE_PARENT 1002 + #define IDC_CD_NONE 1003 ++ #define IDC_NEW_TABS 1004 + + // Next default values for new objects + // +*** ../vim-7.2.149/src/VisVim/VisVim.rc Sun Jun 13 19:38:03 2004 +--- src/VisVim/VisVim.rc Mon Mar 2 00:40:19 2009 +*************** +*** 122,127 **** +--- 122,130 ---- + CONTROL "&Open file in DevStudio editor simultaneously", + IDC_DEVSTUDIO_EDITOR,"Button",BS_AUTOCHECKBOX | WS_GROUP | + WS_TABSTOP,7,7,153,10 ++ CONTROL "Open files in new tabs", ++ IDC_NEW_TABS,"Button",BS_AUTOCHECKBOX | WS_GROUP | ++ WS_TABSTOP,7,21,153,10 + GROUPBOX "Current directory",IDC_STATIC,7,35,164,58,WS_GROUP + CONTROL "Set to &source file path",IDC_CD_SOURCE_PATH,"Button", + BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,17,49,85,10 +*** ../vim-7.2.149/src/version.c Wed Apr 22 12:53:31 2009 +--- src/version.c Wed Apr 22 13:04:32 2009 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 150, + /**/ + +-- +A poem: read aloud: + +<> !*''# Waka waka bang splat tick tick hash, +^"`$$- Caret quote back-tick dollar dollar dash, +!*=@$_ Bang splat equal at dollar under-score, +%*<> ~#4 Percent splat waka waka tilde number four, +&[]../ Ampersand bracket bracket dot dot slash, +|{,,SYSTEM HALTED Vertical-bar curly-bracket comma comma CRASH. + +Fred Bremmer and Steve Kroese (Calvin College & Seminary of Grand Rapids, MI.) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.151 b/7.2.151 new file mode 100644 index 00000000..214b7609 --- /dev/null +++ b/7.2.151 @@ -0,0 +1,53 @@ +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 --git a/7.2.152 b/7.2.152 new file mode 100644 index 00000000..107a0a4b --- /dev/null +++ b/7.2.152 @@ -0,0 +1,104 @@ +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 --git a/7.2.153 b/7.2.153 new file mode 100644 index 00000000..79b2a077 --- /dev/null +++ b/7.2.153 @@ -0,0 +1,97 @@ +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 --git a/7.2.154 b/7.2.154 new file mode 100644 index 00000000..73289032 --- /dev/null +++ b/7.2.154 @@ -0,0 +1,71 @@ +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 --git a/7.2.155 b/7.2.155 new file mode 100644 index 00000000..00b294df --- /dev/null +++ b/7.2.155 @@ -0,0 +1,45 @@ +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 --git a/7.2.156 b/7.2.156 new file mode 100644 index 00000000..59bb2e9e --- /dev/null +++ b/7.2.156 @@ -0,0 +1,181 @@ +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 --git a/7.2.157 b/7.2.157 new file mode 100644 index 00000000..23843145 --- /dev/null +++ b/7.2.157 @@ -0,0 +1,144 @@ +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 --git a/7.2.158 b/7.2.158 new file mode 100644 index 00000000..87daf24d --- /dev/null +++ b/7.2.158 @@ -0,0 +1,63 @@ +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 --git a/7.2.159 b/7.2.159 new file mode 100644 index 00000000..8d496ad8 --- /dev/null +++ b/7.2.159 @@ -0,0 +1,71 @@ +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 --git a/7.2.160 b/7.2.160 new file mode 100644 index 00000000..9ef197d4 --- /dev/null +++ b/7.2.160 @@ -0,0 +1,52 @@ +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 --git a/7.2.161 b/7.2.161 new file mode 100644 index 00000000..576a03da --- /dev/null +++ b/7.2.161 @@ -0,0 +1,205 @@ +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 --git a/7.2.162 b/7.2.162 new file mode 100644 index 00000000..f04d6e1b --- /dev/null +++ b/7.2.162 @@ -0,0 +1,75 @@ +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 --git a/7.2.163 b/7.2.163 new file mode 100644 index 00000000..6db9f098 --- /dev/null +++ b/7.2.163 @@ -0,0 +1,51 @@ +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 --git a/7.2.164 b/7.2.164 new file mode 100644 index 00000000..f10bd210 --- /dev/null +++ b/7.2.164 @@ -0,0 +1,139 @@ +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 --git a/7.2.165 b/7.2.165 new file mode 100644 index 00000000..aeded0a0 --- /dev/null +++ b/7.2.165 @@ -0,0 +1,58 @@ +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 --git a/7.2.166 b/7.2.166 new file mode 100644 index 00000000..0461b31d --- /dev/null +++ b/7.2.166 @@ -0,0 +1,425 @@ +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 --git a/7.2.167 b/7.2.167 new file mode 100644 index 00000000..9bf08e62 --- /dev/null +++ b/7.2.167 @@ -0,0 +1,1873 @@ +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 --git a/7.2.168 b/7.2.168 new file mode 100644 index 00000000..29cafb61 --- /dev/null +++ b/7.2.168 @@ -0,0 +1,74 @@ +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 --git a/7.2.169 b/7.2.169 new file mode 100644 index 00000000..4ae90a51 --- /dev/null +++ b/7.2.169 @@ -0,0 +1,1214 @@ +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 --git a/7.2.170 b/7.2.170 new file mode 100644 index 00000000..6790be14 --- /dev/null +++ b/7.2.170 @@ -0,0 +1,179 @@ +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 --git a/7.2.171 b/7.2.171 new file mode 100644 index 00000000..7d1b8a86 --- /dev/null +++ b/7.2.171 @@ -0,0 +1,80 @@ +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 --git a/7.2.172 b/7.2.172 new file mode 100644 index 00000000..1ba814d3 --- /dev/null +++ b/7.2.172 @@ -0,0 +1,59 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.172 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.172 (extra) +Problem: Compiler warning. +Solution: Adjust function prototype. (Patrick Texier) +Files: src/os_mswin.c + + +*** ../vim-7.2.171/src/os_mswin.c 2009-01-22 21:49:21.000000000 +0100 +--- src/os_mswin.c 2009-05-14 20:54:32.000000000 +0200 +*************** +*** 1227,1234 **** + * Wait for another process to Close the Clipboard. + * Returns TRUE for success. + */ +! int +! vim_open_clipboard() + { + int delay = 10; + +--- 1227,1234 ---- + * Wait for another process to Close the Clipboard. + * Returns TRUE for success. + */ +! static int +! vim_open_clipboard(void) + { + int delay = 10; + +*** ../vim-7.2.171/src/version.c 2009-05-14 21:51:06.000000000 +0200 +--- src/version.c 2009-05-14 21:59:45.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 172, + /**/ + +-- +FROG: How you English say: I one more time, mac, I unclog my nose towards + you, sons of a window-dresser, so, you think you could out-clever us + French fellows with your silly knees-bent creeping about advancing + behaviour. (blows a raspberry) I wave my private parts at your aunties, + you brightly-coloured, mealy-templed, cranberry-smelling, electric + donkey-bottom biters. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.173 b/7.2.173 new file mode 100644 index 00000000..331a6e84 --- /dev/null +++ b/7.2.173 @@ -0,0 +1,719 @@ +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 --git a/7.2.174 b/7.2.174 new file mode 100644 index 00000000..5f8ccd3a --- /dev/null +++ b/7.2.174 @@ -0,0 +1,1718 @@ +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 --git a/7.2.175 b/7.2.175 new file mode 100644 index 00000000..4ba3a158 --- /dev/null +++ b/7.2.175 @@ -0,0 +1,51 @@ +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 --git a/7.2.176 b/7.2.176 new file mode 100644 index 00000000..91c98afb --- /dev/null +++ b/7.2.176 @@ -0,0 +1,207 @@ +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 --git a/7.2.177 b/7.2.177 new file mode 100644 index 00000000..65dc16c2 --- /dev/null +++ b/7.2.177 @@ -0,0 +1,2726 @@ +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 --git a/7.2.178 b/7.2.178 new file mode 100644 index 00000000..84fe670f --- /dev/null +++ b/7.2.178 @@ -0,0 +1,150 @@ +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 --git a/7.2.179 b/7.2.179 new file mode 100644 index 00000000..97f94ed1 --- /dev/null +++ b/7.2.179 @@ -0,0 +1,100 @@ +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 --git a/7.2.180 b/7.2.180 new file mode 100644 index 00000000..f3f3a9ed --- /dev/null +++ b/7.2.180 @@ -0,0 +1,6520 @@ +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 --git a/7.2.181 b/7.2.181 new file mode 100644 index 00000000..bf7d5feb --- /dev/null +++ b/7.2.181 @@ -0,0 +1,1978 @@ +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 --git a/7.2.182 b/7.2.182 new file mode 100644 index 00000000..2df64995 --- /dev/null +++ b/7.2.182 @@ -0,0 +1,66 @@ +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 --git a/7.2.183 b/7.2.183 new file mode 100644 index 00000000..ad1052db --- /dev/null +++ b/7.2.183 @@ -0,0 +1,1846 @@ +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 --git a/7.2.184 b/7.2.184 new file mode 100644 index 00000000..63882157 --- /dev/null +++ b/7.2.184 @@ -0,0 +1,3646 @@ +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 --git a/7.2.185 b/7.2.185 new file mode 100644 index 00000000..35dbad05 --- /dev/null +++ b/7.2.185 @@ -0,0 +1,305 @@ +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 --git a/7.2.186 b/7.2.186 new file mode 100644 index 00000000..c3710425 --- /dev/null +++ b/7.2.186 @@ -0,0 +1,331 @@ +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 --git a/7.2.187 b/7.2.187 new file mode 100644 index 00000000..13dfc9f1 --- /dev/null +++ b/7.2.187 @@ -0,0 +1,125 @@ +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 --git a/7.2.188 b/7.2.188 new file mode 100644 index 00000000..1aa527da --- /dev/null +++ b/7.2.188 @@ -0,0 +1,278 @@ +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 --git a/7.2.189 b/7.2.189 new file mode 100644 index 00000000..c8ad9add --- /dev/null +++ b/7.2.189 @@ -0,0 +1,86 @@ +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 --git a/7.2.190 b/7.2.190 new file mode 100644 index 00000000..2a0aee98 --- /dev/null +++ b/7.2.190 @@ -0,0 +1,182 @@ +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 --git a/7.2.191 b/7.2.191 new file mode 100644 index 00000000..f9c33571 --- /dev/null +++ b/7.2.191 @@ -0,0 +1,3705 @@ +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/Make_ming.mak 2007-08-12 15:24:29.000000000 +0200 +--- src/Make_ming.mak 2009-05-26 18:54:15.000000000 +0200 +*************** +*** 115,122 **** +--- 115,135 ---- + MZSCHEME_VER=205_000 + endif + ++ ifndef MZSCHEME_PRECISE_GC ++ MZSCHEME_PRECISE_GC=no ++ endif ++ ++ # for version 4.x we need to generate byte-code for Scheme base ++ ifndef MZSCHEME_GENERATE_BASE ++ MZSCHEME_GENERATE_BASE=no ++ endif ++ + ifeq (no,$(DYNAMIC_MZSCHEME)) ++ ifeq (yes,$(MZSCHEME_PRECISE_GC)) ++ MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER) ++ else + MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER) ++ endif + # the modern MinGW can dynamically link to dlls directly. + # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll + ifndef MZSCHEME_DLLS +*************** +*** 410,415 **** +--- 423,435 ---- + ifdef MZSCHEME + OBJ += $(OUTDIR)/if_mzsch.o + MZSCHEME_INCL = if_mzsch.h ++ ifeq (yes,$(MZSCHEME_GENERATE_BASE)) ++ CFLAGS += -DINCLUDE_MZSCHEME_BASE ++ MZ_EXTRA_DEP += mzscheme_base.c ++ endif ++ ifeq (yes,$(MZSCHEME_PRECISE_GC)) ++ CFLAGS += -DMZ_PRECISE_GC ++ endif + endif + ifdef PYTHON + OBJ += $(OUTDIR)/if_python.o +*************** +*** 588,593 **** +--- 608,619 ---- + $(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC) + $(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o + ++ $(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP) ++ $(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o ++ ++ mzscheme_base.c: ++ $(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base ++ + pathdef.c: $(INCL) + ifneq (sh.exe, $(SHELL)) + @echo creating pathdef.c +*** ../vim-7.2.190/src/Make_mvc.mak 2009-02-04 18:34:54.000000000 +0100 +--- src/Make_mvc.mak 2009-05-26 18:54:51.000000000 +0200 +*************** +*** 34,39 **** +--- 34,40 ---- + # MZSCHEME=[Path to MzScheme directory] + # DYNAMIC_MZSCHEME=yes (to load the MzScheme DLLs dynamically) + # MZSCHEME_VER=[version, 205_000, ...] ++ # MZSCHEME_DEBUG=no + # + # Perl interface: + # PERL=[Path to Perl directory] +*************** +*** 621,635 **** +--- 622,658 ---- + MZSCHEME_VER = 205_000 + !endif + CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include ++ !if EXIST("$(MZSCHEME)\collects\scheme\base.ss") ++ # for MzScheme 4.x we need to include byte code for basic Scheme stuff ++ MZSCHEME_EXTRA_DEP = mzscheme_base.c ++ CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE ++ !endif ++ !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") \ ++ && !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib") ++ !message Building with Precise GC ++ MZSCHEME_PRECISE_GC = yes ++ CFLAGS = $(CFLAGS) -DMZ_PRECISE_GC ++ !endif + !if "$(DYNAMIC_MZSCHEME)" == "yes" ++ !if "$(MZSCHEME_PRECISE_GC)" == "yes" ++ !error MzScheme with Precise GC cannot be loaded dynamically ++ !endif + !message MzScheme DLLs will be loaded dynamically + CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \ + -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" \ + -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\" + !else ++ !if "$(MZSCHEME_DEBUG)" == "yes" ++ CFLAGS = $(CFLAGS) -DMZSCHEME_FORCE_GC ++ !endif ++ !if "$(MZSCHEME_PRECISE_GC)" == "yes" ++ # Precise GC does not use separate dll ++ MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib ++ !else + MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \ + $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib + !endif ++ !endif + MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj + !endif + +*************** +*** 930,938 **** + $(OUTDIR)/if_perlsfio.obj: $(OUTDIR) if_perlsfio.c $(INCL) + $(CC) $(CFLAGS) $(PERL_INC) if_perlsfio.c + +! $(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c $(INCL) + $(CC) $(CFLAGS) if_mzsch.c \ + -DMZSCHEME_COLLECTS=\"$(MZSCHEME:\=\\)\\collects\" + + $(OUTDIR)/if_python.obj: $(OUTDIR) if_python.c $(INCL) + $(CC) $(CFLAGS) $(PYTHON_INC) if_python.c +--- 953,963 ---- + $(OUTDIR)/if_perlsfio.obj: $(OUTDIR) if_perlsfio.c $(INCL) + $(CC) $(CFLAGS) $(PERL_INC) if_perlsfio.c + +! $(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c $(INCL) $(MZSCHEME_EXTRA_DEP) + $(CC) $(CFLAGS) if_mzsch.c \ + -DMZSCHEME_COLLECTS=\"$(MZSCHEME:\=\\)\\collects\" ++ mzscheme_base.c: ++ $(MZSCHEME)\mzc --c-mods mzscheme_base.c ++lib scheme/base + + $(OUTDIR)/if_python.obj: $(OUTDIR) if_python.c $(INCL) + $(CC) $(CFLAGS) $(PYTHON_INC) if_python.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 --git a/7.2.192 b/7.2.192 new file mode 100644 index 00000000..28cefd5b --- /dev/null +++ b/7.2.192 @@ -0,0 +1,135 @@ +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 --git a/7.2.193 b/7.2.193 new file mode 100644 index 00000000..175a6b88 --- /dev/null +++ b/7.2.193 @@ -0,0 +1,53 @@ +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 --git a/7.2.194 b/7.2.194 new file mode 100644 index 00000000..91d438f8 --- /dev/null +++ b/7.2.194 @@ -0,0 +1,44 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.194 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.194 (extra) +Problem: MSVC: rem commands are echoed. +Solution: Add commands to switch off echo. (Wang Xu) +Files: src/msvc2008.bat + + +*** ../vim-7.2.193/src/msvc2008.bat 2008-06-24 22:55:23.000000000 +0200 +--- src/msvc2008.bat 2009-04-29 18:05:11.000000000 +0200 +*************** +*** 1,5 **** +--- 1,7 ---- ++ @echo off + rem To be used on MS-Windows for Visual C++ 2008 Express Edition + rem aka Microsoft Visual Studio 9.0. + rem See INSTALLpc.txt for information. ++ @echo on + + call "%VS90COMNTOOLS%%vsvars32.bat" +*** ../vim-7.2.193/src/version.c 2009-06-03 14:25:47.000000000 +0200 +--- src/version.c 2009-06-03 15:04:30.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 194, + /**/ + +-- +I used to be indecisive, now I'm not sure. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.195 b/7.2.195 new file mode 100644 index 00000000..5669a65f --- /dev/null +++ b/7.2.195 @@ -0,0 +1,79 @@ +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 --git a/7.2.196 b/7.2.196 new file mode 100644 index 00000000..7be8d95c --- /dev/null +++ b/7.2.196 @@ -0,0 +1,84 @@ +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 --git a/7.2.197 b/7.2.197 new file mode 100644 index 00000000..8e49a530 --- /dev/null +++ b/7.2.197 @@ -0,0 +1,53 @@ +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 --git a/7.2.198 b/7.2.198 new file mode 100644 index 00000000..cae27ac3 --- /dev/null +++ b/7.2.198 @@ -0,0 +1,60 @@ +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 --git a/7.2.199 b/7.2.199 new file mode 100644 index 00000000..391ede6f --- /dev/null +++ b/7.2.199 @@ -0,0 +1,52 @@ +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 messæge. + * + * It uses a growarray to build the translation string since the + * latter can be wider than the original description. The caller has to +--- 5555,5561 ---- + * respects the current B/k/< settings of 'cpoption'. + * + * This function is called when expanding mappings/abbreviations on the +! * command-line, and for building the "Ambiguous mapping..." error message. + * + * It uses a growarray to build the translation string since the + * latter can be wider than the original description. The caller has to +*** ../vim-7.2.198/src/version.c 2009-06-16 11:08:13.000000000 +0200 +--- src/version.c 2009-06-16 14:31:03.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 199, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +10. Ask people what sex they are. Laugh hysterically after they answer. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.200 b/7.2.200 new file mode 100644 index 00000000..65cc598e --- /dev/null +++ b/7.2.200 @@ -0,0 +1,348 @@ +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 --git a/7.2.201 b/7.2.201 new file mode 100644 index 00000000..cd2df079 --- /dev/null +++ b/7.2.201 @@ -0,0 +1,494 @@ +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 --git a/7.2.202 b/7.2.202 new file mode 100644 index 00000000..2c249093 --- /dev/null +++ b/7.2.202 @@ -0,0 +1,62 @@ +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 --git a/7.2.203 b/7.2.203 new file mode 100644 index 00000000..c1322488 --- /dev/null +++ b/7.2.203 @@ -0,0 +1,1496 @@ +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 --git a/7.2.204 b/7.2.204 new file mode 100644 index 00000000..ef99c519 --- /dev/null +++ b/7.2.204 @@ -0,0 +1,137 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.204 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.204 (extra) +Problem: Win32: Can't build with Visual Studio 2010 beta 1. +Solution: Fix the makefile. (George Reilly) +Files: src/Make_mvc.mak + + +*** ../vim-7.2.203/src/Make_mvc.mak 2009-05-26 22:58:43.000000000 +0200 +--- src/Make_mvc.mak 2009-06-16 16:27:59.000000000 +0200 +*************** +*** 1,18 **** + # Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me) + # and Win64, using the Microsoft Visual C++ compilers. Known to work with + # VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005), +! # and VC9 (VS2008). + # + # To build using other Windows compilers, see INSTALLpc.txt + # + # This makefile can build the console, GUI, OLE-enable, Perl-enabled and +! # Python-enabled versions of vim for Win32 platforms. + # +! # The basic command line to build vim is: + # + # nmake -f Make_mvc.mak + # +! # This will build the console version of vim with no additional interfaces. + # To add features, define any of the following: + # + # !!!! After changing features do "nmake clean" first !!!! +--- 1,18 ---- + # Makefile for Vim on Win32 (Windows NT/2000/XP/2003 and Windows 95/98/Me) + # and Win64, using the Microsoft Visual C++ compilers. Known to work with + # VC5, VC6 (VS98), VC7.0 (VS2002), VC7.1 (VS2003), VC8 (VS2005), +! # VC9 (VS2008), and VC10 (VS2010). + # + # To build using other Windows compilers, see INSTALLpc.txt + # + # This makefile can build the console, GUI, OLE-enable, Perl-enabled and +! # Python-enabled versions of Vim for Win32 platforms. + # +! # The basic command line to build Vim is: + # + # nmake -f Make_mvc.mak + # +! # This will build the console version of Vim with no additional interfaces. + # To add features, define any of the following: + # + # !!!! After changing features do "nmake clean" first !!!! +*************** +*** 358,363 **** +--- 358,366 ---- + !if "$(_NMAKE_VER)" == "9.00.30729.01" + MSVCVER = 9.0 + !endif ++ !if "$(_NMAKE_VER)" == "10.00.20506.01" ++ MSVCVER = 10.0 ++ !endif + !endif + + # Abort bulding VIM if version of VC is unrecognised. +*************** +*** 372,378 **** + !endif + + # Convert processor ID to MVC-compatible number +! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") + !if "$(CPUNR)" == "i386" + CPUARG = /G3 + !elseif "$(CPUNR)" == "i486" +--- 375,381 ---- + !endif + + # Convert processor ID to MVC-compatible number +! !if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") + !if "$(CPUNR)" == "i386" + CPUARG = /G3 + !elseif "$(CPUNR)" == "i486" +*************** +*** 405,411 **** + !else # MAXSPEED + OPTFLAG = /Ox + !endif +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") + # Use link time code generation if not worried about size + !if "$(OPTIMIZE)" != "SPACE" + OPTFLAG = $(OPTFLAG) /GL +--- 408,414 ---- + !else # MAXSPEED + OPTFLAG = /Ox + !endif +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") + # Use link time code generation if not worried about size + !if "$(OPTIMIZE)" != "SPACE" + OPTFLAG = $(OPTFLAG) /GL +*************** +*** 793,799 **** + + # Report link time code generation progress if used. + !ifdef NODEBUG +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") + !if "$(OPTIMIZE)" != "SPACE" + LINKARGS1 = $(LINKARGS1) /LTCG:STATUS + !endif +--- 796,802 ---- + + # Report link time code generation progress if used. + !ifdef NODEBUG +! !if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") + !if "$(OPTIMIZE)" != "SPACE" + LINKARGS1 = $(LINKARGS1) /LTCG:STATUS + !endif +*** ../vim-7.2.203/src/version.c 2009-06-16 16:01:34.000000000 +0200 +--- src/version.c 2009-06-16 16:32:41.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 204, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +16. Have your coworkers address you by your wrestling name, Rock Hard Kim. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.205 b/7.2.205 new file mode 100644 index 00000000..2af50678 --- /dev/null +++ b/7.2.205 @@ -0,0 +1,81 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.205 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.205 (extra) +Problem: Win32: No support for High DPI awarenes. +Solution: Fix the manifest file. (George Reilly) +Files: src/Make_mvc.mak, src/gvim.exe.mnf + + +*** ../vim-7.2.204/src/Make_mvc.mak 2009-06-16 16:34:12.000000000 +0200 +--- src/Make_mvc.mak 2009-06-16 16:36:32.000000000 +0200 +*************** +*** 1040,1046 **** + $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c + $(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c + +! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc version.h tools.bmp tearoff.bmp \ + vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico + $(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc + +--- 1040,1046 ---- + $(OUTDIR)/xpm_w32.obj: $(OUTDIR) xpm_w32.c + $(CC) $(CFLAGS) $(XPM_INC) xpm_w32.c + +! $(OUTDIR)/vim.res: $(OUTDIR) vim.rc gvim.exe.mnf version.h tools.bmp tearoff.bmp \ + vim.ico vim_error.ico vim_alert.ico vim_info.ico vim_quest.ico + $(RC) /l 0x409 /Fo$(OUTDIR)/vim.res $(RCFLAGS) vim.rc + +*** ../vim-7.2.204/src/gvim.exe.mnf 2008-08-09 19:37:29.000000000 +0200 +--- src/gvim.exe.mnf 2009-06-16 16:36:32.000000000 +0200 +*************** +*** 1,5 **** + +! + +! + + + ++ ++ ++ ++ true ++ ++ + +*** ../vim-7.2.204/src/version.c 2009-06-16 16:34:12.000000000 +0200 +--- src/version.c 2009-06-16 16:43:04.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 205, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +17. When the money comes out the ATM, scream "I won!, I won! 3rd + time this week!!!!!" + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.206 b/7.2.206 new file mode 100644 index 00000000..e16fb7e1 --- /dev/null +++ b/7.2.206 @@ -0,0 +1,46 @@ +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 --git a/7.2.207 b/7.2.207 new file mode 100644 index 00000000..528d35da --- /dev/null +++ b/7.2.207 @@ -0,0 +1,69 @@ +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 --git a/7.2.208 b/7.2.208 new file mode 100644 index 00000000..930770d0 --- /dev/null +++ b/7.2.208 @@ -0,0 +1,82 @@ +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 --git a/7.2.209 b/7.2.209 new file mode 100644 index 00000000..1cc33935 --- /dev/null +++ b/7.2.209 @@ -0,0 +1,82 @@ +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 --git a/7.2.210 b/7.2.210 new file mode 100644 index 00000000..9c51a137 --- /dev/null +++ b/7.2.210 @@ -0,0 +1,58 @@ +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 --git a/7.2.211 b/7.2.211 new file mode 100644 index 00000000..05101980 --- /dev/null +++ b/7.2.211 @@ -0,0 +1,52 @@ +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 --git a/7.2.212 b/7.2.212 new file mode 100644 index 00000000..33fcb5c4 --- /dev/null +++ b/7.2.212 @@ -0,0 +1,62 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.212 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.212 (extra) +Problem: Warnings for redefining SIG macros. +Solution: Don't define them if already defined. (Bjorn Winckler) +Files: src/os_mac.h + + +*** ../vim-7.2.211/src/os_mac.h 2008-06-24 22:27:34.000000000 +0200 +--- src/os_mac.h 2009-06-19 21:21:57.000000000 +0200 +*************** +*** 268,276 **** + */ + + #ifdef MACOS_X_UNIX +! # define SIGPROTOARG (int) +! # define SIGDEFARG(s) (s) int s; +! # define SIGDUMMYARG 0 + # undef HAVE_AVAIL_MEM + # ifndef HAVE_CONFIG_H + # define RETSIGTYPE void +--- 268,282 ---- + */ + + #ifdef MACOS_X_UNIX +! # ifndef SIGPROTOARG +! # define SIGPROTOARG (int) +! # endif +! # ifndef SIGDEFARG +! # define SIGDEFARG(s) (s) int s UNUSED; +! # endif +! # ifndef SIGDUMMYARG +! # define SIGDUMMYARG 0 +! # endif + # undef HAVE_AVAIL_MEM + # ifndef HAVE_CONFIG_H + # define RETSIGTYPE void +*** ../vim-7.2.211/src/version.c 2009-06-24 16:25:23.000000000 +0200 +--- src/version.c 2009-06-24 16:40:18.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 212, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +37. You start looking for hot HTML addresses in public restrooms. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.213 b/7.2.213 new file mode 100644 index 00000000..74a0e165 --- /dev/null +++ b/7.2.213 @@ -0,0 +1,53 @@ +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 --git a/7.2.214 b/7.2.214 new file mode 100644 index 00000000..17cb1569 --- /dev/null +++ b/7.2.214 @@ -0,0 +1,65 @@ +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 --git a/7.2.215 b/7.2.215 new file mode 100644 index 00000000..90e746ce --- /dev/null +++ b/7.2.215 @@ -0,0 +1,310 @@ +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 --git a/7.2.216 b/7.2.216 new file mode 100644 index 00000000..5a7afdff --- /dev/null +++ b/7.2.216 @@ -0,0 +1,137 @@ +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 --git a/7.2.217 b/7.2.217 new file mode 100644 index 00000000..30d8aa6a --- /dev/null +++ b/7.2.217 @@ -0,0 +1,57 @@ +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 --git a/7.2.218 b/7.2.218 new file mode 100644 index 00000000..b48d7180 --- /dev/null +++ b/7.2.218 @@ -0,0 +1,52 @@ +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 --git a/7.2.219 b/7.2.219 new file mode 100644 index 00000000..f9bbec04 --- /dev/null +++ b/7.2.219 @@ -0,0 +1,71 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.219 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.219 (extra) +Problem: Photon GUI is outdated. +Solution: Updates for QNX 6.4.0. (Sean Boudreau) +Files: src/gui_photon.c + + +*** ../vim-7.2.218/src/gui_photon.c 2007-05-10 20:23:35.000000000 +0200 +--- src/gui_photon.c 2009-07-01 16:08:36.000000000 +0200 +*************** +*** 838,844 **** +--- 838,849 ---- + static void + gui_ph_draw_start( void ) + { ++ PhGC_t *gc; ++ ++ gc = PgGetGC(); + PgSetRegion( PtWidgetRid( PtFindDisjoint( gui.vimTextArea ) ) ); ++ PgClearClippingsCx( gc ); ++ PgClearTranslationCx( gc ); + + PtWidgetOffset( gui.vimTextArea, &gui_ph_raw_offset ); + PhTranslatePoint( &gui_ph_raw_offset, PtWidgetPos( gui.vimTextArea, NULL ) ); +*************** +*** 2970,2976 **** + if( vim_font_name == NULL ) + { + /* Default font */ +! vim_font_name = "PC Term"; + } + + if( STRCMP( vim_font_name, "*" ) == 0 ) +--- 2975,2981 ---- + if( vim_font_name == NULL ) + { + /* Default font */ +! vim_font_name = "PC Terminal"; + } + + if( STRCMP( vim_font_name, "*" ) == 0 ) +*** ../vim-7.2.218/src/version.c 2009-06-24 18:31:36.000000000 +0200 +--- src/version.c 2009-07-01 16:11:34.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 219, + /**/ + +-- +"Oh, no! NOT the Spanish Inquisition!" +"NOBODY expects the Spanish Inquisition!!!" + -- Monty Python sketch -- +"Oh, no! NOT another option!" +"EVERYBODY expects another option!!!" + -- Discussion in vim-dev mailing list -- + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.220 b/7.2.220 new file mode 100644 index 00000000..b3d63f35 --- /dev/null +++ b/7.2.220 @@ -0,0 +1,95 @@ +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 --git a/7.2.221 b/7.2.221 new file mode 100644 index 00000000..3c6180e3 --- /dev/null +++ b/7.2.221 @@ -0,0 +1,247 @@ +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 --git a/7.2.222 b/7.2.222 new file mode 100644 index 00000000..dcf0b36c --- /dev/null +++ b/7.2.222 @@ -0,0 +1,59 @@ +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 --git a/7.2.223 b/7.2.223 new file mode 100644 index 00000000..cac2126c --- /dev/null +++ b/7.2.223 @@ -0,0 +1,165 @@ +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 --git a/7.2.224 b/7.2.224 new file mode 100644 index 00000000..d988eeda --- /dev/null +++ b/7.2.224 @@ -0,0 +1,88 @@ +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 --git a/7.2.225 b/7.2.225 new file mode 100644 index 00000000..32a4d357 --- /dev/null +++ b/7.2.225 @@ -0,0 +1,97 @@ +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 --git a/7.2.226 b/7.2.226 new file mode 100644 index 00000000..d922a080 --- /dev/null +++ b/7.2.226 @@ -0,0 +1,268 @@ +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 --git a/7.2.227 b/7.2.227 new file mode 100644 index 00000000..84992128 --- /dev/null +++ b/7.2.227 @@ -0,0 +1,52 @@ +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 --git a/7.2.228 b/7.2.228 new file mode 100644 index 00000000..a906bef4 --- /dev/null +++ b/7.2.228 @@ -0,0 +1,573 @@ +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 --git a/7.2.229 b/7.2.229 new file mode 100644 index 00000000..bafaef0b --- /dev/null +++ b/7.2.229 @@ -0,0 +1,60 @@ +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 --git a/7.2.230 b/7.2.230 new file mode 100644 index 00000000..32379d2c --- /dev/null +++ b/7.2.230 @@ -0,0 +1,87 @@ +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 --git a/7.2.231 b/7.2.231 new file mode 100644 index 00000000..0f9a6d1e --- /dev/null +++ b/7.2.231 @@ -0,0 +1,49 @@ +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 --git a/7.2.232 b/7.2.232 new file mode 100644 index 00000000..02727c74 --- /dev/null +++ b/7.2.232 @@ -0,0 +1,102 @@ +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 --git a/7.2.233 b/7.2.233 new file mode 100644 index 00000000..f9fbd848 --- /dev/null +++ b/7.2.233 @@ -0,0 +1,96 @@ +To: vim-dev@vim.org +Subject: Patch 7.2.233 (extra) +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.2.233 (extra part of 7.2.232) +Problem: Cannot debug problems with being in a wrong directory. +Solution: When 'verbose' is 5 or higher report directory changes. +Files: src/os_msdos.c, src/os_mswin.c, src/os_riscos.c, src/os_mac.h + + +*** ../vim-7.2.232/src/os_msdos.c 2008-06-24 23:30:18.000000000 +0200 +--- src/os_msdos.c 2009-07-14 16:50:57.000000000 +0200 +*************** +*** 2039,2044 **** +--- 2039,2050 ---- + { + if (path[0] == NUL) /* just checking... */ + return 0; ++ if (p_verbose >= 5) ++ { ++ verbose_enter(); ++ smsg((char_u *)"chdir(%s)", path); ++ verbose_leave(); ++ } + if (path[1] == ':') /* has a drive name */ + { + if (change_drive(TOLOWER_ASC(path[0]) - 'a' + 1)) +*** ../vim-7.2.232/src/os_mswin.c 2009-05-14 22:00:37.000000000 +0200 +--- src/os_mswin.c 2009-07-14 16:53:03.000000000 +0200 +*************** +*** 653,658 **** +--- 653,664 ---- + if (path[0] == NUL) /* just checking... */ + return -1; + ++ if (p_verbose >= 5) ++ { ++ verbose_enter(); ++ smsg((char_u *)"chdir(%s)", path); ++ verbose_leave(); ++ } + if (isalpha(path[0]) && path[1] == ':') /* has a drive name */ + { + /* If we can change to the drive, skip that part of the path. If we +*** ../vim-7.2.232/src/os_riscos.c 2006-03-07 23:25:50.000000000 +0100 +--- src/os_riscos.c 2009-07-14 16:53:35.000000000 +0200 +*************** +*** 1203,1208 **** +--- 1203,1214 ---- + int retval; + char_u *new_dir; + ++ if (p_verbose >= 5) ++ { ++ verbose_enter(); ++ smsg((char_u *)"chdir(%s)", dir); ++ verbose_leave(); ++ } + length = strlen(dir); + if (dir[length - 1] != '.') + return chdir(dir); /* No trailing dots - nothing to do. */ +*** ../vim-7.2.232/src/os_mac.h 2009-06-24 16:41:01.000000000 +0200 +--- src/os_mac.h 2009-07-14 16:54:33.000000000 +0200 +*************** +*** 291,297 **** + # define HAVE_SETENV + # define HAVE_RENAME + # endif +- # define mch_chdir(s) chdir(s) + #endif + + #if defined(MACOS_X) && !defined(HAVE_CONFIG_H) +--- 291,296 ---- +*** ../vim-7.2.232/src/version.c 2009-07-14 17:38:51.000000000 +0200 +--- src/version.c 2009-07-14 18:35:30.000000000 +0200 +*************** +*** 678,679 **** +--- 678,681 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 233, + /**/ + +-- +From "know your smileys": + :-O>-o Smiley American tourist (note big mouth and camera) + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// diff --git a/7.2.234 b/7.2.234 new file mode 100644 index 00000000..dd44d5d0 --- /dev/null +++ b/7.2.234 @@ -0,0 +1,111 @@ +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 --git a/7.2.235 b/7.2.235 new file mode 100644 index 00000000..6aa8338e --- /dev/null +++ b/7.2.235 @@ -0,0 +1,94 @@ +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 --git a/7.2.236 b/7.2.236 new file mode 100644 index 00000000..aeb1f57d --- /dev/null +++ b/7.2.236 @@ -0,0 +1,81 @@ +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 --git a/7.2.237 b/7.2.237 new file mode 100644 index 00000000..3592d3d6 --- /dev/null +++ b/7.2.237 @@ -0,0 +1,76 @@ +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 --git a/7.2.238 b/7.2.238 new file mode 100644 index 00000000..a70976d8 --- /dev/null +++ b/7.2.238 @@ -0,0 +1,117 @@ +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 --git a/7.2.239 b/7.2.239 new file mode 100644 index 00000000..26b80ee2 --- /dev/null +++ b/7.2.239 @@ -0,0 +1,145 @@ +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 --git a/7.2.240 b/7.2.240 new file mode 100644 index 00000000..7a1c22e2 --- /dev/null +++ b/7.2.240 @@ -0,0 +1,69 @@ +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 --git a/7.2.241 b/7.2.241 new file mode 100644 index 00000000..42e9ade3 --- /dev/null +++ b/7.2.241 @@ -0,0 +1,169 @@ +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 --git a/7.2.242 b/7.2.242 new file mode 100644 index 00000000..22341cd2 --- /dev/null +++ b/7.2.242 @@ -0,0 +1,89 @@ +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 --git a/7.2.243 b/7.2.243 new file mode 100644 index 00000000..92a6580d --- /dev/null +++ b/7.2.243 @@ -0,0 +1,67 @@ +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 --git a/7.2.244 b/7.2.244 new file mode 100644 index 00000000..6c9b1fb8 --- /dev/null +++ b/7.2.244 @@ -0,0 +1,174 @@ +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 --git a/7.2.245 b/7.2.245 new file mode 100644 index 00000000..d046c97f --- /dev/null +++ b/7.2.245 @@ -0,0 +1,165 @@ +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 --git a/README.patches b/README.patches index c7e422a3..45a51010 100644 --- a/README.patches +++ b/README.patches @@ -25,6 +25,7 @@ Checksums for the patch files can be found in the file MD5. Collection of patches for Vim 7.2: SIZE NAME INCLUDES 108889 7.2.001-100.gz patches 7.2.001 to 7.2.100, gzip'ed +208102 7.2.101-200.gz patches 7.2.101 to 7.2.200, gzip'ed Individual patches for Vim 7.2: @@ -177,3 +178,100 @@ Individual patches for Vim 7.2: 3394 7.2.146 v:warningmsg isn't used for all warnings 1548 7.2.147 cursor in wrong position after Tab for small version 4275 7.2.148 highlighting a character after the line doesn't always work + 15646 7.2.149 read uninit memory when using return value that wasn't set + 35686 7.2.150 (extra) VisVim doesn't support tabs + 1533 7.2.151 ":hist a" doesn't work like ":hist all" as the docs suggest + 2963 7.2.152 "silent echo x" inside ":redir" leaves cursor halfway the line + 2908 7.2.153 memory leak for ":recover empty_dir/" + 2390 7.2.154 (after 7.2.132) can still do ":cd" in SwapExists autocmd + 1249 7.2.155 memory leak in ":function /pat" + 5543 7.2.156 no completion for :scscope and :lcscope commands + 4299 7.2.157 illegal memory access when searching in path + 2177 7.2.158 warnings from VisualC compiler + 2478 7.2.159 when $x_includes ends up being "NONE" configure fails + 1353 7.2.160 search pattern not freed on exit when 'rightleft' set + 5400 7.2.161 folds messed up in other tab page + 2363 7.2.162 the quickfix window may get the wrong filetype + 1754 7.2.163 the command line window may get folding + 4089 7.2.164 when 'showbreak' is set wrong Visual block size reported + 1794 7.2.165 FuncUndefined autocmd event argument is expanded like filename + 10538 7.2.166 no completion for ":sign" command + 54715 7.2.167 splint doesn't work well for checking the code (part 1) + 2936 7.2.168 if no ctags program found, "make tags" executes first C file + 35841 7.2.169 fix more splint warnings, define colnr_T to be int + 4481 7.2.170 using b_dev while it was not set + 2261 7.2.171 (after 7.2.169) compiler warnings + 1883 7.2.172 (extra) compiler warning + 17875 7.2.173 use gcc instead of lint to check for unused function arguments + 42277 7.2.174 too many warnings from gcc -Wextra + 1455 7.2.175 compiler warning in OpenBSD + 5956 7.2.176 exceptions for splint are not useful + 57904 7.2.177 more warnings from gcc -Wextra + 3898 7.2.178 using negative value for device number might not always work + 2944 7.2.179 using negative value for device number might not always work +198701 7.2.180 some more compiler warnings when using gcc -Wextra + 49635 7.2.181 some more compiler warnings when using gcc -Wextra + 2128 7.2.182 compilation fails for Motif, gvim with GTK crashes on startup + 52709 7.2.183 configure problem for sys/sysctl.h on OpenBSD + 84846 7.2.184 some more compiler warnings when using gcc -Wextra + 8242 7.2.185 some more compiler warnings when using gcc -Wextra + 7260 7.2.186 some more compiler warnings when using gcc -Wextra + 3334 7.2.187 (after 7.2.186) doesn't compile with older tcl versions + 8531 7.2.188 crash with specific use of function calls + 2889 7.2.189 possible hang for deleting auto-indent + 4827 7.2.190 the register executed by @@ isn't stored in viminfo +106448 7.2.191 Mzscheme interface doesn't work on Ubuntu + 4206 7.2.192 (after 7.2.188) still a crash in the garbage collector + 1545 7.2.193 warning for uninitialized values in struct + 1345 7.2.194 (extra) MSVC: rem commands are echoed + 2229 7.2.195 leaking memory for the command Vim was started with + 3466 7.2.196 remove support for splint, it doesn't work well + 1530 7.2.197 warning for uninitialized values of typebuf + 2006 7.2.198 buffer used for termcap entry may be too small + 1894 7.2.199 strange character in comment + 10318 7.2.200 reading past string end when using menu bar or resizing window + 14460 7.2.201 cannot copy/paste HTML to/from Firefox via the clipboard + 1846 7.2.202 BufWipeout autocmd that edits another buffer causes problems + 40481 7.2.203 using current window to work on hidden buffer has side effects + 4407 7.2.204 (extra) Win32: Can't build with Visual Studio 2010 beta 1 + 2852 7.2.205 (extra) Win32: No support for High DPI awarenes + 1485 7.2.206 Win32: Can't build netbeans interface with Visual Studio 2010 + 2237 7.2.207 using freed memory when ":redrawstatus" works recursively + 2569 7.2.208 "set novice" gives an error message, it should be ignored + 2532 7.2.209 for xxd setmode() is undefined on Cygwin + 1896 7.2.210 warning for file changed outside of vim even after :checktime + 1639 7.2.211 memory leak when expanding a series of file names + 1727 7.2.212 (extra) warnings for redefining SIG macros + 1521 7.2.213 warning for using vsprintf() + 1983 7.2.214 crash with complete function for user command + 8298 7.2.215 ml_get error when using ":vimgrep" + 4822 7.2.216 two error messages have the same number E812 + 2020 7.2.217 running tests with valgrind doesn't work as advertised + 1448 7.2.218 cannot build GTK with hangul_input feature + 2052 7.2.219 (extra) Photon GUI is outdated + 2958 7.2.220 (after 7.2.215) BufEnter "cd" autocommand causes problems + 7103 7.2.221 X cut_buffer0 text may be used in the wrong encoding + 1816 7.2.222 ":mksession" doesn't work properly with 'acd' set + 5132 7.2.223 a script run with ":silent" cannot give any messages + 2542 7.2.224 crash when using 'completefunc' + 2874 7.2.225 when using ":normal" a saved character may be executed + 7470 7.2.226 ml_get error after deleting the last line + 1574 7.2.227 when using ":cd" in a script there is no way to track this + 14946 7.2.228 cscope is limited to 8 connections + 1595 7.2.229 warning for shadowed variable + 2442 7.2.230 a few old lint-style ARGUSED comments + 1473 7.2.231 warning for unreacheable code in Perl interface + 2704 7.2.232 cannot debug problems with being in a wrong directory + 2901 7.2.233 extra part of 7.2.232 + 3831 7.2.234 it is not possible to ignore file names without a suffix + 2696 7.2.235 Using CTRL-O z= in Insert mode has a delay before redrawing + 2809 7.2.236 Mac: Compiling with Ruby doesn't always work + 1965 7.2.237 crash on exit when window icon not set + 3941 7.2.238 leaking memory when setting term to "builtin_dumb" + 4151 7.2.239 using :diffpatch twice may cause a crash + 2078 7.2.240 crash when using GUI find/replace dialog repeatedly + 5174 7.2.241 problems with using ":bufdo" and "doautoall" or ":vimgrep" + 2505 7.2.242 setting 'lazyredraw' causes the cursor column to be recomputed + 1918 7.2.243 memory leak when using :vimgrep and resizing + 4757 7.2.244 insufficient info for a conversion error from utf-8 to latin1 + 5093 7.2.245 wrong conversion when writing Unicode encoded files diff --git a/vim.spec b/vim.spec index 3f2981c4..eb3b34cc 100644 --- a/vim.spec +++ b/vim.spec @@ -18,13 +18,13 @@ #used for pre-releases: %define beta %{nil} %define vimdir vim72%{?beta} -%define patchlevel 148 +%define patchlevel 245 Summary: The VIM editor URL: http://www.vim.org/ Name: vim Version: %{baseversion}.%{beta}%{patchlevel} -Release: 2%{?dist} +Release: 1%{?dist} License: Vim Group: Applications/Editors Source0: ftp://ftp.vim.org/pub/vim/unix/vim-%{baseversion}%{?beta}%{?CVSDATE}.tar.bz2 @@ -214,6 +214,103 @@ Patch145: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.145 Patch146: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.146 Patch147: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.147 Patch148: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.148 +Patch149: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.149 +Patch150: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.150 +Patch151: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.151 +Patch152: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.152 +Patch153: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.153 +Patch154: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.154 +Patch155: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.155 +Patch156: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.156 +Patch157: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.157 +Patch158: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.158 +Patch159: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.159 +Patch160: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.160 +Patch161: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.161 +Patch162: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.162 +Patch163: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.163 +Patch164: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.164 +Patch165: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.165 +Patch166: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.166 +Patch167: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.167 +Patch168: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.168 +Patch169: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.169 +Patch170: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.170 +Patch171: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.171 +Patch172: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.172 +Patch173: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.173 +Patch174: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.174 +Patch175: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.175 +Patch176: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.176 +Patch177: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.177 +Patch178: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.178 +Patch179: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.179 +Patch180: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.180 +Patch181: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.181 +Patch182: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.182 +Patch183: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.183 +Patch184: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.184 +Patch185: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.185 +Patch186: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.186 +Patch187: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.187 +Patch188: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.188 +Patch189: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.189 +Patch190: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.190 +Patch191: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.191 +Patch192: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.192 +Patch193: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.193 +Patch194: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.194 +Patch195: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.195 +Patch196: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.196 +Patch197: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.197 +Patch198: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.198 +Patch199: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.199 +Patch200: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.200 +Patch201: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.201 +Patch202: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.202 +Patch203: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.203 +Patch204: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.204 +Patch205: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.205 +Patch206: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.206 +Patch207: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.207 +Patch208: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.208 +Patch209: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.209 +Patch210: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.210 +Patch211: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.211 +Patch212: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.212 +Patch213: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.213 +Patch214: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.214 +Patch215: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.215 +Patch216: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.216 +Patch217: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.217 +Patch218: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.218 +Patch219: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.219 +Patch220: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.220 +Patch221: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.221 +Patch222: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.222 +Patch223: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.223 +Patch224: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.224 +Patch225: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.225 +Patch226: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.226 +Patch227: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.227 +Patch228: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.228 +Patch229: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.229 +Patch230: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.230 +Patch231: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.231 +Patch232: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.232 +Patch233: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.233 +Patch234: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.234 +Patch235: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.235 +Patch236: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.236 +Patch237: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.237 +Patch238: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.238 +Patch239: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.239 +Patch240: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.240 +Patch241: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.241 +Patch242: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.242 +Patch243: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.243 +Patch244: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.244 +Patch245: ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.245 Patch3000: vim-7.0-syntax.patch Patch3002: vim-7.1-nowarnings.patch @@ -495,6 +592,103 @@ perl -pi -e "s,bin/nawk,bin/awk,g" runtime/tools/mve.awk %patch146 -p0 %patch147 -p0 %patch148 -p0 +%patch149 -p0 +%patch150 -p0 +%patch151 -p0 +%patch152 -p0 +%patch153 -p0 +%patch154 -p0 +%patch155 -p0 +%patch156 -p0 +%patch157 -p0 +%patch158 -p0 +%patch159 -p0 +%patch160 -p0 +%patch161 -p0 +%patch162 -p0 +%patch163 -p0 +%patch164 -p0 +%patch165 -p0 +%patch166 -p0 +%patch167 -p0 +%patch168 -p0 +%patch169 -p0 +%patch170 -p0 +%patch171 -p0 +%patch172 -p0 +%patch173 -p0 +%patch174 -p0 +%patch175 -p0 +%patch176 -p0 +%patch177 -p0 +%patch178 -p0 +%patch179 -p0 +%patch180 -p0 +%patch181 -p0 +%patch182 -p0 +%patch183 -p0 +%patch184 -p0 +%patch185 -p0 +%patch186 -p0 +%patch187 -p0 +%patch188 -p0 +%patch189 -p0 +%patch190 -p0 +%patch191 -p0 +%patch192 -p0 +%patch193 -p0 +%patch194 -p0 +%patch195 -p0 +%patch196 -p0 +%patch197 -p0 +%patch198 -p0 +%patch199 -p0 +%patch200 -p0 +%patch201 -p0 +%patch202 -p0 +%patch203 -p0 +%patch204 -p0 +%patch205 -p0 +%patch206 -p0 +%patch207 -p0 +%patch208 -p0 +%patch209 -p0 +%patch210 -p0 +%patch211 -p0 +%patch212 -p0 +%patch213 -p0 +%patch214 -p0 +%patch215 -p0 +%patch216 -p0 +%patch217 -p0 +%patch218 -p0 +%patch219 -p0 +%patch220 -p0 +%patch221 -p0 +%patch222 -p0 +%patch223 -p0 +%patch224 -p0 +%patch225 -p0 +%patch226 -p0 +%patch227 -p0 +%patch228 -p0 +%patch229 -p0 +%patch230 -p0 +%patch231 -p0 +%patch232 -p0 +%patch233 -p0 +%patch234 -p0 +%patch235 -p0 +%patch236 -p0 +%patch237 -p0 +%patch238 -p0 +%patch239 -p0 +%patch240 -p0 +%patch241 -p0 +%patch242 -p0 +%patch243 -p0 +%patch244 -p0 +%patch245 -p0 # install spell files @@ -954,6 +1148,9 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/icons/hicolor/*/apps/* %changelog +* Sat Aug 01 2009 Karsten Hopp 7.2.245-1 +- add 97 upstream patches to get to patchlevel 245 + * Sun Jul 26 2009 Fedora Release Engineering - 2:7.2.148-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild