]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.819 v7.3.819
authorBram Moolenaar <Bram@vim.org>
Thu, 14 Feb 2013 21:11:39 +0000 (22:11 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 14 Feb 2013 21:11:39 +0000 (22:11 +0100)
Problem:    Compiling without +eval and with Python isn't working.
Solution:   Add the eval feature when building with Python.

src/eval.c
src/ex_docmd.c
src/feature.h
src/gui_gtk_x11.c
src/if_py_both.h
src/normal.c
src/version.c

index 9f63d4525d6d427d8613bae3e7e74850e89ca7ca..106f1c57ec6bdca929fcc52b9d7c91ff2af9a7d6 100644 (file)
@@ -917,7 +917,9 @@ eval_clear()
     hash_clear(&compat_hashtab);
 
     free_scriptnames();
+# if defined(FEAT_CMDL_COMPL)
     free_locales();
+# endif
 
     /* global variables */
     vars_clear(&globvarht);
@@ -1561,8 +1563,6 @@ eval_expr(arg, nextcmd)
 }
 
 
-#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \
-       || defined(FEAT_COMPL_FUNC) || defined(PROTO)
 /*
  * Call some vimL function and return the result in "*rettv".
  * Uses argv[argc] for the function arguments.  Only Number and String
@@ -1640,53 +1640,54 @@ call_vim_function(func, argc, argv, safe, str_arg_only, rettv)
     return ret;
 }
 
-# if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
 /*
- * Call vimL function "func" and return the result as a string.
- * Returns NULL when calling the function fails.
+ * Call vimL function "func" and return the result as a number.
+ * Returns -1 when calling the function fails.
  * Uses argv[argc] for the function arguments.
  */
-    void *
-call_func_retstr(func, argc, argv, safe)
+    long
+call_func_retnr(func, argc, argv, safe)
     char_u      *func;
     int                argc;
     char_u      **argv;
     int                safe;           /* use the sandbox */
 {
     typval_T   rettv;
-    char_u     *retval;
+    long       retval;
 
     /* All arguments are passed as strings, no conversion to number. */
     if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
-       return NULL;
+       return -1;
 
-    retval = vim_strsave(get_tv_string(&rettv));
+    retval = get_tv_number_chk(&rettv, NULL);
     clear_tv(&rettv);
     return retval;
 }
-# endif
 
-# if defined(FEAT_COMPL_FUNC) || defined(PROTO)
+#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \
+       || defined(FEAT_COMPL_FUNC) || defined(PROTO)
+
+# if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
 /*
- * Call vimL function "func" and return the result as a number.
- * Returns -1 when calling the function fails.
+ * Call vimL function "func" and return the result as a string.
+ * Returns NULL when calling the function fails.
  * Uses argv[argc] for the function arguments.
  */
-    long
-call_func_retnr(func, argc, argv, safe)
+    void *
+call_func_retstr(func, argc, argv, safe)
     char_u      *func;
     int                argc;
     char_u      **argv;
     int                safe;           /* use the sandbox */
 {
     typval_T   rettv;
-    long       retval;
+    char_u     *retval;
 
     /* All arguments are passed as strings, no conversion to number. */
     if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
-       return -1;
+       return NULL;
 
-    retval = get_tv_number_chk(&rettv, NULL);
+    retval = vim_strsave(get_tv_string(&rettv));
     clear_tv(&rettv);
     return retval;
 }
@@ -1720,7 +1721,6 @@ call_func_retlist(func, argc, argv, safe)
 }
 #endif
 
-
 /*
  * Save the current function call pointer, and set it to NULL.
  * Used when executing autocommands and for ":source".
@@ -9330,7 +9330,7 @@ f_char2nr(argvars, rettv)
  */
     static void
 f_cindent(argvars, rettv)
-    typval_T   *argvars;
+    typval_T   *argvars UNUSED;
     typval_T   *rettv;
 {
 #ifdef FEAT_CINDENT
@@ -10379,9 +10379,9 @@ static void findfilendir __ARGS((typval_T *argvars, typval_T *rettv, int find_wh
 
     static void
 findfilendir(argvars, rettv, find_what)
-    typval_T   *argvars;
+    typval_T   *argvars UNUSED;
     typval_T   *rettv;
-    int                find_what;
+    int                find_what UNUSED;
 {
 #ifdef FEAT_SEARCHPATH
     char_u     *fname;
@@ -10751,9 +10751,9 @@ static void foldclosed_both __ARGS((typval_T *argvars, typval_T *rettv, int end)
  */
     static void
 foldclosed_both(argvars, rettv, end)
-    typval_T   *argvars;
+    typval_T   *argvars UNUSED;
     typval_T   *rettv;
-    int                end;
+    int                end UNUSED;
 {
 #ifdef FEAT_FOLDING
     linenr_T   lnum;
@@ -10802,8 +10802,8 @@ f_foldclosedend(argvars, rettv)
  */
     static void
 f_foldlevel(argvars, rettv)
-    typval_T   *argvars;
-    typval_T   *rettv;
+    typval_T   *argvars UNUSED;
+    typval_T   *rettv UNUSED;
 {
 #ifdef FEAT_FOLDING
     linenr_T   lnum;
@@ -11583,7 +11583,7 @@ f_getline(argvars, rettv)
     static void
 f_getmatches(argvars, rettv)
     typval_T   *argvars UNUSED;
-    typval_T   *rettv;
+    typval_T   *rettv UNUSED;
 {
 #ifdef FEAT_SEARCH_EXTRA
     dict_T     *dict;
@@ -13589,7 +13589,7 @@ f_line2byte(argvars, rettv)
  */
     static void
 f_lispindent(argvars, rettv)
-    typval_T   *argvars;
+    typval_T   *argvars UNUSED;
     typval_T   *rettv;
 {
 #ifdef FEAT_LISP
@@ -13983,8 +13983,8 @@ f_match(argvars, rettv)
  */
     static void
 f_matchadd(argvars, rettv)
-    typval_T   *argvars;
-    typval_T   *rettv;
+    typval_T   *argvars UNUSED;
+    typval_T   *rettv UNUSED;
 {
 #ifdef FEAT_SEARCH_EXTRA
     char_u     buf[NUMBUFLEN];
@@ -14021,7 +14021,7 @@ f_matchadd(argvars, rettv)
  */
     static void
 f_matcharg(argvars, rettv)
-    typval_T   *argvars;
+    typval_T   *argvars UNUSED;
     typval_T   *rettv;
 {
     if (rettv_list_alloc(rettv) == OK)
@@ -14053,8 +14053,8 @@ f_matcharg(argvars, rettv)
  */
     static void
 f_matchdelete(argvars, rettv)
-    typval_T   *argvars;
-    typval_T   *rettv;
+    typval_T   *argvars UNUSED;
+    typval_T   *rettv UNUSED;
 {
 #ifdef FEAT_SEARCH_EXTRA
     rettv->vval.v_number = match_delete(curwin,
@@ -14871,8 +14871,8 @@ list2proftime(arg, tm)
  */
     static void
 f_reltime(argvars, rettv)
-    typval_T   *argvars;
-    typval_T   *rettv;
+    typval_T   *argvars UNUSED;
+    typval_T   *rettv UNUSED;
 {
 #ifdef FEAT_RELTIME
     proftime_T res;
@@ -14920,7 +14920,7 @@ f_reltime(argvars, rettv)
  */
     static void
 f_reltimestr(argvars, rettv)
-    typval_T   *argvars;
+    typval_T   *argvars UNUSED;
     typval_T   *rettv;
 {
 #ifdef FEAT_RELTIME
@@ -15965,7 +15965,7 @@ do_searchpair(spat, mpat, epat, dir, skip, flags, match_pos,
     int                flags;      /* SP_SETPCMARK and other SP_ values */
     pos_T      *match_pos;
     linenr_T   lnum_stop;  /* stop at this line if not zero */
-    long       time_limit; /* stop after this many msec */
+    long       time_limit UNUSED; /* stop after this many msec */
 {
     char_u     *save_cpo;
     char_u     *pat, *pat2 = NULL, *pat3 = NULL;
@@ -16390,8 +16390,8 @@ f_setloclist(argvars, rettv)
  */
     static void
 f_setmatches(argvars, rettv)
-    typval_T   *argvars;
-    typval_T   *rettv;
+    typval_T   *argvars UNUSED;
+    typval_T   *rettv UNUSED;
 {
 #ifdef FEAT_SEARCH_EXTRA
     list_T     *l;
@@ -18463,7 +18463,7 @@ f_type(argvars, rettv)
  */
     static void
 f_undofile(argvars, rettv)
-    typval_T   *argvars;
+    typval_T   *argvars UNUSED;
     typval_T   *rettv;
 {
     rettv->v_type = VAR_STRING;
index d0d9f560598bba2573c6e06be3e5a167df382e30..4c4c9e9bb70eab553e1928c7eddc567b0ccc0ada 100644 (file)
@@ -1734,6 +1734,8 @@ do_one_cmd(cmdlinep, sourcing,
 #ifdef FEAT_EVAL
            /* avoid that a function call in 'statusline' does this */
            && !getline_equal(fgetline, cookie, get_func_line)
+#endif
+#ifdef FEAT_AUTOCMD
            /* avoid that an autocommand, e.g. QuitPre, does this */
            && !getline_equal(fgetline, cookie, getnextac)
 #endif
@@ -5375,7 +5377,9 @@ fail:
 #endif
     return FAIL;
 }
+#endif
 
+#if defined(FEAT_USR_CMDS) || defined(FEAT_EVAL) || defined(PROTO)
 /*
  * List of names for completion for ":command" with the EXPAND_ flag.
  * Must be alphabetical for completion.
@@ -5430,7 +5434,9 @@ static struct
     {EXPAND_USER_VARS, "var"},
     {0, NULL}
 };
+#endif
 
+#if defined(FEAT_USR_CMDS) || defined(PROTO)
     static void
 uc_list(name, name_len)
     char_u     *name;
@@ -6375,10 +6381,12 @@ parse_compl_arg(value, vallen, complp, argt, compl_arg)
     int                vallen;
     int                *complp;
     long       *argt;
-    char_u     **compl_arg;
+    char_u     **compl_arg UNUSED;
 {
     char_u     *arg = NULL;
+# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
     size_t     arglen = 0;
+# endif
     int                i;
     int                valend = vallen;
 
@@ -6388,7 +6396,9 @@ parse_compl_arg(value, vallen, complp, argt, compl_arg)
        if (value[i] == ',')
        {
            arg = &value[i + 1];
+# if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
            arglen = vallen - i - 1;
+# endif
            valend = i;
            break;
        }
index f54f59ac9fc0a6eb4962994c02dc3607e8f7bfe1..f2dcca20e0a2f6f56672d2461c4a161bb2455afc 100644 (file)
 # endif
 #endif
 
+/*
+ * +python and +python3 require FEAT_EVAL.
+ */
+#if !defined(FEAT_EVAL) && (defined(FEAT_PYTHON3) || defined(FEAT_PYTHON))
+# define FEAT_EVAL
+#endif
+
 /*
  * +profile            Profiling for functions and scripts.
  */
index a8cad32e19ec783bf3ae9516ffc8b2e3eea06c74..d0eebf371f75db00c598de31da8cf573e3d23c82 100644 (file)
@@ -5164,8 +5164,7 @@ gui_mch_haskey(char_u *name)
     return FAIL;
 }
 
-#if defined(FEAT_TITLE) \
-       || defined(PROTO)
+#if defined(FEAT_TITLE) || defined(FEAT_EVAL) || defined(PROTO)
 /*
  * Return the text window-id and display.  Only required for X-based GUI's
  */
index 339250e99c34dad37b3a12ab05434633df56243f..1d999095e4147c2d8e40191fcbdba1c3f37ad161 100644 (file)
@@ -310,7 +310,6 @@ VimCommand(PyObject *self UNUSED, PyObject *args)
     return result;
 }
 
-#ifdef FEAT_EVAL
 /*
  * Function to translate a typval_T into a PyObject; this will recursively
  * translate lists/dictionaries into their Python equivalents.
@@ -425,12 +424,10 @@ VimToPython(typval_T *our_tv, int depth, PyObject *lookupDict)
 
     return result;
 }
-#endif
 
     static PyObject *
 VimEval(PyObject *self UNUSED, PyObject *args UNUSED)
 {
-#ifdef FEAT_EVAL
     char       *expr;
     typval_T   *our_tv;
     PyObject   *result;
@@ -466,10 +463,6 @@ VimEval(PyObject *self UNUSED, PyObject *args UNUSED)
     Py_END_ALLOW_THREADS
 
     return result;
-#else
-    PyErr_SetVim(_("expressions disabled at compile time"));
-    return NULL;
-#endif
 }
 
 static PyObject *ConvertToPyObject(typval_T *);
@@ -477,7 +470,6 @@ static PyObject *ConvertToPyObject(typval_T *);
     static PyObject *
 VimEvalPy(PyObject *self UNUSED, PyObject *args UNUSED)
 {
-#ifdef FEAT_EVAL
     char       *expr;
     typval_T   *our_tv;
     PyObject   *result;
@@ -506,10 +498,6 @@ VimEvalPy(PyObject *self UNUSED, PyObject *args UNUSED)
     Py_END_ALLOW_THREADS
 
     return result;
-#else
-    PyErr_SetVim(_("expressions disabled at compile time"));
-    return NULL;
-#endif
 }
 
     static PyObject *
@@ -946,7 +934,7 @@ DictionaryAssItem(PyObject *self, PyObject *keyObject, PyObject *valObject)
 }
 
     static PyObject *
-DictionaryListKeys(PyObject *self)
+DictionaryListKeys(PyObject *self UNUSED)
 {
     dict_T     *dict = ((DictionaryObject *)(self))->dict;
     long_u     todo = dict->dv_hashtab.ht_used;
@@ -2549,7 +2537,6 @@ set_string_copy(char_u *str, typval_T *tv)
     return 0;
 }
 
-#ifdef FEAT_EVAL
 typedef int (*pytotvfunc)(PyObject *, typval_T *, PyObject *);
 
     static int
@@ -2781,4 +2768,3 @@ ConvertToPyObject(typval_T *tv)
            return NULL;
     }
 }
-#endif
index b7f3dd4f5ad2eca05071ec00e4ac0df5f34fff23..c79b67b1c1ecc370c5e2b105256b64926103c350 100644 (file)
@@ -2292,7 +2292,9 @@ op_function(oap)
 {
 #ifdef FEAT_EVAL
     char_u     *(argv[1]);
+# ifdef FEAT_VIRTUALEDIT
     int                save_virtual_op = virtual_op;
+# endif
 
     if (*p_opfunc == NUL)
        EMSG(_("E774: 'operatorfunc' is empty"));
@@ -2312,13 +2314,17 @@ op_function(oap)
        else
            argv[0] = (char_u *)"char";
 
+# ifdef FEAT_VIRTUALEDIT
        /* Reset virtual_op so that 'virtualedit' can be changed in the
         * function. */
        virtual_op = MAYBE;
+# endif
 
        (void)call_func_retnr(p_opfunc, 1, argv, FALSE);
 
+# ifdef FEAT_VIRTUALEDIT
        virtual_op = save_virtual_op;
+# endif
     }
 #else
     EMSG(_("E775: Eval feature not available"));
index 13dd6ba285581fdbcb01c3ebb949b256187dcb82..891c5c3bc66dfa8e4f6f60efcd31332d940fec16 100644 (file)
@@ -725,6 +725,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    819,
 /**/
     818,
 /**/