Karsten Hopp ca3f59
To: vim_dev@googlegroups.com
Karsten Hopp ca3f59
Subject: Patch 7.3.819
Karsten Hopp ca3f59
Fcc: outbox
Karsten Hopp ca3f59
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp ca3f59
Mime-Version: 1.0
Karsten Hopp ca3f59
Content-Type: text/plain; charset=UTF-8
Karsten Hopp ca3f59
Content-Transfer-Encoding: 8bit
Karsten Hopp ca3f59
------------
Karsten Hopp ca3f59
Karsten Hopp ca3f59
Patch 7.3.819
Karsten Hopp ca3f59
Problem:    Compiling without +eval and with Python isn't working.
Karsten Hopp ca3f59
Solution:   Add the eval feature when building with Python.
Karsten Hopp ca3f59
Files:	    src/if_py_both.h, src/feature.h, src/eval.c, src/ex_docmd.c,
Karsten Hopp ca3f59
	    src/normal.c, src/gui_gtk_x11.c
Karsten Hopp ca3f59
Karsten Hopp ca3f59
Karsten Hopp ca3f59
*** ../vim-7.3.818/src/if_py_both.h	2012-12-05 16:30:03.000000000 +0100
Karsten Hopp ca3f59
--- src/if_py_both.h	2013-02-14 19:22:59.000000000 +0100
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 310,316 ****
Karsten Hopp ca3f59
      return result;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
- #ifdef FEAT_EVAL
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
   * Function to translate a typval_T into a PyObject; this will recursively
Karsten Hopp ca3f59
   * translate lists/dictionaries into their Python equivalents.
Karsten Hopp ca3f59
--- 310,315 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 425,436 ****
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      return result;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
- #endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      static PyObject *
Karsten Hopp ca3f59
  VimEval(PyObject *self UNUSED, PyObject *args UNUSED)
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
- #ifdef FEAT_EVAL
Karsten Hopp ca3f59
      char	*expr;
Karsten Hopp ca3f59
      typval_T	*our_tv;
Karsten Hopp ca3f59
      PyObject	*result;
Karsten Hopp ca3f59
--- 424,433 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 466,475 ****
Karsten Hopp ca3f59
      Py_END_ALLOW_THREADS
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      return result;
Karsten Hopp ca3f59
- #else
Karsten Hopp ca3f59
-     PyErr_SetVim(_("expressions disabled at compile time"));
Karsten Hopp ca3f59
-     return NULL;
Karsten Hopp ca3f59
- #endif
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
  static PyObject *ConvertToPyObject(typval_T *);
Karsten Hopp ca3f59
--- 463,468 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 477,483 ****
Karsten Hopp ca3f59
      static PyObject *
Karsten Hopp ca3f59
  VimEvalPy(PyObject *self UNUSED, PyObject *args UNUSED)
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
- #ifdef FEAT_EVAL
Karsten Hopp ca3f59
      char	*expr;
Karsten Hopp ca3f59
      typval_T	*our_tv;
Karsten Hopp ca3f59
      PyObject	*result;
Karsten Hopp ca3f59
--- 470,475 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 506,515 ****
Karsten Hopp ca3f59
      Py_END_ALLOW_THREADS
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      return result;
Karsten Hopp ca3f59
- #else
Karsten Hopp ca3f59
-     PyErr_SetVim(_("expressions disabled at compile time"));
Karsten Hopp ca3f59
-     return NULL;
Karsten Hopp ca3f59
- #endif
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      static PyObject *
Karsten Hopp ca3f59
--- 498,503 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 946,952 ****
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      static PyObject *
Karsten Hopp ca3f59
! DictionaryListKeys(PyObject *self)
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      dict_T	*dict = ((DictionaryObject *)(self))->dict;
Karsten Hopp ca3f59
      long_u	todo = dict->dv_hashtab.ht_used;
Karsten Hopp ca3f59
--- 934,940 ----
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      static PyObject *
Karsten Hopp ca3f59
! DictionaryListKeys(PyObject *self UNUSED)
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      dict_T	*dict = ((DictionaryObject *)(self))->dict;
Karsten Hopp ca3f59
      long_u	todo = dict->dv_hashtab.ht_used;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 2549,2555 ****
Karsten Hopp ca3f59
      return 0;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
- #ifdef FEAT_EVAL
Karsten Hopp ca3f59
  typedef int (*pytotvfunc)(PyObject *, typval_T *, PyObject *);
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      static int
Karsten Hopp ca3f59
--- 2537,2542 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 2781,2784 ****
Karsten Hopp ca3f59
  	    return NULL;
Karsten Hopp ca3f59
      }
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
- #endif
Karsten Hopp ca3f59
--- 2768,2770 ----
Karsten Hopp ca3f59
*** ../vim-7.3.818/src/feature.h	2013-01-23 13:40:54.000000000 +0100
Karsten Hopp ca3f59
--- src/feature.h	2013-02-14 19:25:33.000000000 +0100
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 392,397 ****
Karsten Hopp ca3f59
--- 392,404 ----
Karsten Hopp ca3f59
  #endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
+  * +python and +python3 require FEAT_EVAL.
Karsten Hopp ca3f59
+  */
Karsten Hopp ca3f59
+ #if !defined(FEAT_EVAL) && (defined(FEAT_PYTHON3) || defined(FEAT_PYTHON))
Karsten Hopp ca3f59
+ # define FEAT_EVAL
Karsten Hopp ca3f59
+ #endif
Karsten Hopp ca3f59
+ 
Karsten Hopp ca3f59
+ /*
Karsten Hopp ca3f59
   * +profile		Profiling for functions and scripts.
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
  #if defined(FEAT_HUGE) \
Karsten Hopp ca3f59
*** ../vim-7.3.818/src/eval.c	2013-02-13 17:34:59.000000000 +0100
Karsten Hopp ca3f59
--- src/eval.c	2013-02-14 19:38:09.000000000 +0100
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 917,923 ****
Karsten Hopp ca3f59
--- 917,925 ----
Karsten Hopp ca3f59
      hash_clear(&compat_hashtab);
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      free_scriptnames();
Karsten Hopp ca3f59
+ # if defined(FEAT_CMDL_COMPL)
Karsten Hopp ca3f59
      free_locales();
Karsten Hopp ca3f59
+ # endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      /* global variables */
Karsten Hopp ca3f59
      vars_clear(&globvarht);
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 1561,1568 ****
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
- #if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \
Karsten Hopp ca3f59
- 	|| defined(FEAT_COMPL_FUNC) || defined(PROTO)
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
   * Call some vimL function and return the result in "*rettv".
Karsten Hopp ca3f59
   * Uses argv[argc] for the function arguments.  Only Number and String
Karsten Hopp ca3f59
--- 1563,1568 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 1640,1692 ****
Karsten Hopp ca3f59
      return ret;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
- # if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
!  * Call vimL function "func" and return the result as a string.
Karsten Hopp ca3f59
!  * Returns NULL when calling the function fails.
Karsten Hopp ca3f59
   * Uses argv[argc] for the function arguments.
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
!     void *
Karsten Hopp ca3f59
! call_func_retstr(func, argc, argv, safe)
Karsten Hopp ca3f59
      char_u      *func;
Karsten Hopp ca3f59
      int		argc;
Karsten Hopp ca3f59
      char_u      **argv;
Karsten Hopp ca3f59
      int		safe;		/* use the sandbox */
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      typval_T	rettv;
Karsten Hopp ca3f59
!     char_u	*retval;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      /* All arguments are passed as strings, no conversion to number. */
Karsten Hopp ca3f59
      if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
Karsten Hopp ca3f59
! 	return NULL;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
!     retval = vim_strsave(get_tv_string(&rettv));
Karsten Hopp ca3f59
      clear_tv(&rettv);
Karsten Hopp ca3f59
      return retval;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
- # endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
! # if defined(FEAT_COMPL_FUNC) || defined(PROTO)
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
!  * Call vimL function "func" and return the result as a number.
Karsten Hopp ca3f59
!  * Returns -1 when calling the function fails.
Karsten Hopp ca3f59
   * Uses argv[argc] for the function arguments.
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
!     long
Karsten Hopp ca3f59
! call_func_retnr(func, argc, argv, safe)
Karsten Hopp ca3f59
      char_u      *func;
Karsten Hopp ca3f59
      int		argc;
Karsten Hopp ca3f59
      char_u      **argv;
Karsten Hopp ca3f59
      int		safe;		/* use the sandbox */
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      typval_T	rettv;
Karsten Hopp ca3f59
!     long	retval;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      /* All arguments are passed as strings, no conversion to number. */
Karsten Hopp ca3f59
      if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
Karsten Hopp ca3f59
! 	return -1;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
!     retval = get_tv_number_chk(&rettv, NULL);
Karsten Hopp ca3f59
      clear_tv(&rettv);
Karsten Hopp ca3f59
      return retval;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
--- 1640,1693 ----
Karsten Hopp ca3f59
      return ret;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
!  * Call vimL function "func" and return the result as a number.
Karsten Hopp ca3f59
!  * Returns -1 when calling the function fails.
Karsten Hopp ca3f59
   * Uses argv[argc] for the function arguments.
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
!     long
Karsten Hopp ca3f59
! call_func_retnr(func, argc, argv, safe)
Karsten Hopp ca3f59
      char_u      *func;
Karsten Hopp ca3f59
      int		argc;
Karsten Hopp ca3f59
      char_u      **argv;
Karsten Hopp ca3f59
      int		safe;		/* use the sandbox */
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      typval_T	rettv;
Karsten Hopp ca3f59
!     long	retval;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      /* All arguments are passed as strings, no conversion to number. */
Karsten Hopp ca3f59
      if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
Karsten Hopp ca3f59
! 	return -1;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
!     retval = get_tv_number_chk(&rettv, NULL);
Karsten Hopp ca3f59
      clear_tv(&rettv);
Karsten Hopp ca3f59
      return retval;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
! #if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) \
Karsten Hopp ca3f59
! 	|| defined(FEAT_COMPL_FUNC) || defined(PROTO)
Karsten Hopp ca3f59
! 
Karsten Hopp ca3f59
! # if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
!  * Call vimL function "func" and return the result as a string.
Karsten Hopp ca3f59
!  * Returns NULL when calling the function fails.
Karsten Hopp ca3f59
   * Uses argv[argc] for the function arguments.
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
!     void *
Karsten Hopp ca3f59
! call_func_retstr(func, argc, argv, safe)
Karsten Hopp ca3f59
      char_u      *func;
Karsten Hopp ca3f59
      int		argc;
Karsten Hopp ca3f59
      char_u      **argv;
Karsten Hopp ca3f59
      int		safe;		/* use the sandbox */
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      typval_T	rettv;
Karsten Hopp ca3f59
!     char_u	*retval;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      /* All arguments are passed as strings, no conversion to number. */
Karsten Hopp ca3f59
      if (call_vim_function(func, argc, argv, safe, TRUE, &rettv) == FAIL)
Karsten Hopp ca3f59
! 	return NULL;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
!     retval = vim_strsave(get_tv_string(&rettv));
Karsten Hopp ca3f59
      clear_tv(&rettv);
Karsten Hopp ca3f59
      return retval;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 1720,1726 ****
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  #endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
- 
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
   * Save the current function call pointer, and set it to NULL.
Karsten Hopp ca3f59
   * Used when executing autocommands and for ":source".
Karsten Hopp ca3f59
--- 1721,1726 ----
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 9330,9336 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_cindent(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_CINDENT
Karsten Hopp ca3f59
--- 9330,9336 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_cindent(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_CINDENT
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 10379,10387 ****
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  findfilendir(argvars, rettv, find_what)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
!     int		find_what;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCHPATH
Karsten Hopp ca3f59
      char_u	*fname;
Karsten Hopp ca3f59
--- 10379,10387 ----
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  findfilendir(argvars, rettv, find_what)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
!     int		find_what UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCHPATH
Karsten Hopp ca3f59
      char_u	*fname;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 10751,10759 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  foldclosed_both(argvars, rettv, end)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
!     int		end;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_FOLDING
Karsten Hopp ca3f59
      linenr_T	lnum;
Karsten Hopp ca3f59
--- 10751,10759 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  foldclosed_both(argvars, rettv, end)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
!     int		end UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_FOLDING
Karsten Hopp ca3f59
      linenr_T	lnum;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 10802,10809 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_foldlevel(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
!     typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_FOLDING
Karsten Hopp ca3f59
      linenr_T	lnum;
Karsten Hopp ca3f59
--- 10802,10809 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_foldlevel(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
!     typval_T	*rettv UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_FOLDING
Karsten Hopp ca3f59
      linenr_T	lnum;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 11583,11589 ****
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_getmatches(argvars, rettv)
Karsten Hopp ca3f59
      typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
!     typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      dict_T	*dict;
Karsten Hopp ca3f59
--- 11583,11589 ----
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_getmatches(argvars, rettv)
Karsten Hopp ca3f59
      typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
!     typval_T	*rettv UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      dict_T	*dict;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 13589,13595 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_lispindent(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_LISP
Karsten Hopp ca3f59
--- 13589,13595 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_lispindent(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_LISP
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 13983,13990 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_matchadd(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
!     typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      char_u	buf[NUMBUFLEN];
Karsten Hopp ca3f59
--- 13983,13990 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_matchadd(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
!     typval_T	*rettv UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      char_u	buf[NUMBUFLEN];
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 14021,14027 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_matcharg(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      if (rettv_list_alloc(rettv) == OK)
Karsten Hopp ca3f59
--- 14021,14027 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_matcharg(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      if (rettv_list_alloc(rettv) == OK)
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 14053,14060 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_matchdelete(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
!     typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      rettv->vval.v_number = match_delete(curwin,
Karsten Hopp ca3f59
--- 14053,14060 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_matchdelete(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
!     typval_T	*rettv UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      rettv->vval.v_number = match_delete(curwin,
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 14871,14878 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_reltime(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
!     typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_RELTIME
Karsten Hopp ca3f59
      proftime_T	res;
Karsten Hopp ca3f59
--- 14871,14878 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_reltime(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
!     typval_T	*rettv UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_RELTIME
Karsten Hopp ca3f59
      proftime_T	res;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 14920,14926 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_reltimestr(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_RELTIME
Karsten Hopp ca3f59
--- 14920,14926 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_reltimestr(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_RELTIME
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 15965,15971 ****
Karsten Hopp ca3f59
      int		flags;	    /* SP_SETPCMARK and other SP_ values */
Karsten Hopp ca3f59
      pos_T	*match_pos;
Karsten Hopp ca3f59
      linenr_T	lnum_stop;  /* stop at this line if not zero */
Karsten Hopp ca3f59
!     long	time_limit; /* stop after this many msec */
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      char_u	*save_cpo;
Karsten Hopp ca3f59
      char_u	*pat, *pat2 = NULL, *pat3 = NULL;
Karsten Hopp ca3f59
--- 15965,15971 ----
Karsten Hopp ca3f59
      int		flags;	    /* SP_SETPCMARK and other SP_ values */
Karsten Hopp ca3f59
      pos_T	*match_pos;
Karsten Hopp ca3f59
      linenr_T	lnum_stop;  /* stop at this line if not zero */
Karsten Hopp ca3f59
!     long	time_limit UNUSED; /* stop after this many msec */
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      char_u	*save_cpo;
Karsten Hopp ca3f59
      char_u	*pat, *pat2 = NULL, *pat3 = NULL;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 16390,16397 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_setmatches(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
!     typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      list_T	*l;
Karsten Hopp ca3f59
--- 16390,16397 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_setmatches(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
!     typval_T	*rettv UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_SEARCH_EXTRA
Karsten Hopp ca3f59
      list_T	*l;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 18463,18469 ****
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_undofile(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      rettv->v_type = VAR_STRING;
Karsten Hopp ca3f59
--- 18463,18469 ----
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  f_undofile(argvars, rettv)
Karsten Hopp ca3f59
!     typval_T	*argvars UNUSED;
Karsten Hopp ca3f59
      typval_T	*rettv;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      rettv->v_type = VAR_STRING;
Karsten Hopp ca3f59
*** ../vim-7.3.818/src/ex_docmd.c	2012-12-05 19:13:11.000000000 +0100
Karsten Hopp ca3f59
--- src/ex_docmd.c	2013-02-14 20:50:56.000000000 +0100
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 1734,1739 ****
Karsten Hopp ca3f59
--- 1734,1741 ----
Karsten Hopp ca3f59
  #ifdef FEAT_EVAL
Karsten Hopp ca3f59
  	    /* avoid that a function call in 'statusline' does this */
Karsten Hopp ca3f59
  	    && !getline_equal(fgetline, cookie, get_func_line)
Karsten Hopp ca3f59
+ #endif
Karsten Hopp ca3f59
+ #ifdef FEAT_AUTOCMD
Karsten Hopp ca3f59
  	    /* avoid that an autocommand, e.g. QuitPre, does this */
Karsten Hopp ca3f59
  	    && !getline_equal(fgetline, cookie, getnextac)
Karsten Hopp ca3f59
  #endif
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 5375,5381 ****
Karsten Hopp ca3f59
--- 5377,5385 ----
Karsten Hopp ca3f59
  #endif
Karsten Hopp ca3f59
      return FAIL;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
+ #endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
+ #if defined(FEAT_USR_CMDS) || defined(FEAT_EVAL) || defined(PROTO)
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
   * List of names for completion for ":command" with the EXPAND_ flag.
Karsten Hopp ca3f59
   * Must be alphabetical for completion.
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 5430,5436 ****
Karsten Hopp ca3f59
--- 5434,5442 ----
Karsten Hopp ca3f59
      {EXPAND_USER_VARS, "var"},
Karsten Hopp ca3f59
      {0, NULL}
Karsten Hopp ca3f59
  };
Karsten Hopp ca3f59
+ #endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
+ #if defined(FEAT_USR_CMDS) || defined(PROTO)
Karsten Hopp ca3f59
      static void
Karsten Hopp ca3f59
  uc_list(name, name_len)
Karsten Hopp ca3f59
      char_u	*name;
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 6375,6384 ****
Karsten Hopp ca3f59
      int		vallen;
Karsten Hopp ca3f59
      int		*complp;
Karsten Hopp ca3f59
      long	*argt;
Karsten Hopp ca3f59
!     char_u	**compl_arg;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      char_u	*arg = NULL;
Karsten Hopp ca3f59
      size_t	arglen = 0;
Karsten Hopp ca3f59
      int		i;
Karsten Hopp ca3f59
      int		valend = vallen;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
--- 6381,6392 ----
Karsten Hopp ca3f59
      int		vallen;
Karsten Hopp ca3f59
      int		*complp;
Karsten Hopp ca3f59
      long	*argt;
Karsten Hopp ca3f59
!     char_u	**compl_arg UNUSED;
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
      char_u	*arg = NULL;
Karsten Hopp ca3f59
+ # if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
Karsten Hopp ca3f59
      size_t	arglen = 0;
Karsten Hopp ca3f59
+ # endif
Karsten Hopp ca3f59
      int		i;
Karsten Hopp ca3f59
      int		valend = vallen;
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 6388,6394 ****
Karsten Hopp ca3f59
--- 6396,6404 ----
Karsten Hopp ca3f59
  	if (value[i] == ',')
Karsten Hopp ca3f59
  	{
Karsten Hopp ca3f59
  	    arg = &value[i + 1];
Karsten Hopp ca3f59
+ # if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
Karsten Hopp ca3f59
  	    arglen = vallen - i - 1;
Karsten Hopp ca3f59
+ # endif
Karsten Hopp ca3f59
  	    valend = i;
Karsten Hopp ca3f59
  	    break;
Karsten Hopp ca3f59
  	}
Karsten Hopp ca3f59
*** ../vim-7.3.818/src/normal.c	2013-01-24 21:00:15.000000000 +0100
Karsten Hopp ca3f59
--- src/normal.c	2013-02-14 19:33:36.000000000 +0100
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 2292,2298 ****
Karsten Hopp ca3f59
--- 2292,2300 ----
Karsten Hopp ca3f59
  {
Karsten Hopp ca3f59
  #ifdef FEAT_EVAL
Karsten Hopp ca3f59
      char_u	*(argv[1]);
Karsten Hopp ca3f59
+ # ifdef FEAT_VIRTUALEDIT
Karsten Hopp ca3f59
      int		save_virtual_op = virtual_op;
Karsten Hopp ca3f59
+ # endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
      if (*p_opfunc == NUL)
Karsten Hopp ca3f59
  	EMSG(_("E774: 'operatorfunc' is empty"));
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 2312,2324 ****
Karsten Hopp ca3f59
--- 2314,2330 ----
Karsten Hopp ca3f59
  	else
Karsten Hopp ca3f59
  	    argv[0] = (char_u *)"char";
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
+ # ifdef FEAT_VIRTUALEDIT
Karsten Hopp ca3f59
  	/* Reset virtual_op so that 'virtualedit' can be changed in the
Karsten Hopp ca3f59
  	 * function. */
Karsten Hopp ca3f59
  	virtual_op = MAYBE;
Karsten Hopp ca3f59
+ # endif
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
  	(void)call_func_retnr(p_opfunc, 1, argv, FALSE);
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
+ # ifdef FEAT_VIRTUALEDIT
Karsten Hopp ca3f59
  	virtual_op = save_virtual_op;
Karsten Hopp ca3f59
+ # endif
Karsten Hopp ca3f59
      }
Karsten Hopp ca3f59
  #else
Karsten Hopp ca3f59
      EMSG(_("E775: Eval feature not available"));
Karsten Hopp ca3f59
*** ../vim-7.3.818/src/gui_gtk_x11.c	2013-01-23 16:00:05.000000000 +0100
Karsten Hopp ca3f59
--- src/gui_gtk_x11.c	2013-02-14 19:38:42.000000000 +0100
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 5164,5171 ****
Karsten Hopp ca3f59
      return FAIL;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
! #if defined(FEAT_TITLE) \
Karsten Hopp ca3f59
! 	|| defined(PROTO)
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
   * Return the text window-id and display.  Only required for X-based GUI's
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
--- 5164,5170 ----
Karsten Hopp ca3f59
      return FAIL;
Karsten Hopp ca3f59
  }
Karsten Hopp ca3f59
  
Karsten Hopp ca3f59
! #if defined(FEAT_TITLE) || defined(FEAT_EVAL) || defined(PROTO)
Karsten Hopp ca3f59
  /*
Karsten Hopp ca3f59
   * Return the text window-id and display.  Only required for X-based GUI's
Karsten Hopp ca3f59
   */
Karsten Hopp ca3f59
*** ../vim-7.3.818/src/version.c	2013-02-14 20:58:30.000000000 +0100
Karsten Hopp ca3f59
--- src/version.c	2013-02-14 22:09:41.000000000 +0100
Karsten Hopp ca3f59
***************
Karsten Hopp ca3f59
*** 727,728 ****
Karsten Hopp ca3f59
--- 727,730 ----
Karsten Hopp ca3f59
  {   /* Add new patch number below this line */
Karsten Hopp ca3f59
+ /**/
Karsten Hopp ca3f59
+     819,
Karsten Hopp ca3f59
  /**/
Karsten Hopp ca3f59
Karsten Hopp ca3f59
-- 
Karsten Hopp ca3f59
(letter from Mark to Mike, about the film's probable certificate)
Karsten Hopp ca3f59
      For an 'A' we would have to: Lose as many shits as possible; Take Jesus
Karsten Hopp ca3f59
      Christ out, if possible; Loose "I fart in your general direction"; Lose
Karsten Hopp ca3f59
      "the oral sex"; Lose "oh, fuck off"; Lose "We make castanets out of your
Karsten Hopp ca3f59
      testicles"
Karsten Hopp ca3f59
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
Karsten Hopp ca3f59
Karsten Hopp ca3f59
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp ca3f59
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp ca3f59
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp ca3f59
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///