Karsten Hopp 4352a3
To: vim_dev@googlegroups.com
Karsten Hopp 4352a3
Subject: Patch 7.3.948
Karsten Hopp 4352a3
Fcc: outbox
Karsten Hopp 4352a3
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 4352a3
Mime-Version: 1.0
Karsten Hopp 4352a3
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 4352a3
Content-Transfer-Encoding: 8bit
Karsten Hopp 4352a3
------------
Karsten Hopp 4352a3
Karsten Hopp 4352a3
Patch 7.3.948
Karsten Hopp 4352a3
Problem:    Cannot build with Python 2.2
Karsten Hopp 4352a3
Solution:   Make Python interface work with Python 2.2
Karsten Hopp 4352a3
	    Make 2.2 the first supported version. (ZyX)
Karsten Hopp 4352a3
Files:	    src/if_py_both.h, src/if_python3.c, src/if_python.c,
Karsten Hopp 4352a3
	    src/testdir/test86.in, src/testdir/test86.ok,
Karsten Hopp 4352a3
	    src/testdir/test87.ok, src/configure.in, src/auto/configure
Karsten Hopp 4352a3
Karsten Hopp 4352a3
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/if_py_both.h	2013-05-15 14:39:47.000000000 +0200
Karsten Hopp 4352a3
--- src/if_py_both.h	2013-05-15 14:49:11.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 564,569 ****
Karsten Hopp 4352a3
--- 564,570 ----
Karsten Hopp 4352a3
      return (PyObject *)(self);
Karsten Hopp 4352a3
  }
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
+ #if 0 /* unused */
Karsten Hopp 4352a3
      static void
Karsten Hopp 4352a3
  IterDestructor(PyObject *self)
Karsten Hopp 4352a3
  {
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 573,578 ****
Karsten Hopp 4352a3
--- 574,580 ----
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
      DESTRUCTOR_FINISH(self);
Karsten Hopp 4352a3
  }
Karsten Hopp 4352a3
+ #endif
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
      static PyObject *
Karsten Hopp 4352a3
  IterNext(PyObject *self)
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 696,708 ****
Karsten Hopp 4352a3
  	}
Karsten Hopp 4352a3
  	else
Karsten Hopp 4352a3
  	{
Karsten Hopp 4352a3
! 	    if (!PyBool_Check(val))
Karsten Hopp 4352a3
! 	    {
Karsten Hopp 4352a3
! 		PyErr_SetString(PyExc_TypeError, _("Only boolean objects are allowed"));
Karsten Hopp 4352a3
! 		return -1;
Karsten Hopp 4352a3
! 	    }
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! 	    if (val == Py_True)
Karsten Hopp 4352a3
  		this->dict->dv_lock = VAR_LOCKED;
Karsten Hopp 4352a3
  	    else
Karsten Hopp 4352a3
  		this->dict->dv_lock = 0;
Karsten Hopp 4352a3
--- 698,704 ----
Karsten Hopp 4352a3
  	}
Karsten Hopp 4352a3
  	else
Karsten Hopp 4352a3
  	{
Karsten Hopp 4352a3
! 	    if (PyObject_IsTrue(val))
Karsten Hopp 4352a3
  		this->dict->dv_lock = VAR_LOCKED;
Karsten Hopp 4352a3
  	    else
Karsten Hopp 4352a3
  		this->dict->dv_lock = 0;
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 1202,1214 ****
Karsten Hopp 4352a3
  	}
Karsten Hopp 4352a3
  	else
Karsten Hopp 4352a3
  	{
Karsten Hopp 4352a3
! 	    if (!PyBool_Check(val))
Karsten Hopp 4352a3
! 	    {
Karsten Hopp 4352a3
! 		PyErr_SetString(PyExc_TypeError, _("Only boolean objects are allowed"));
Karsten Hopp 4352a3
! 		return -1;
Karsten Hopp 4352a3
! 	    }
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! 	    if (val == Py_True)
Karsten Hopp 4352a3
  		this->list->lv_lock = VAR_LOCKED;
Karsten Hopp 4352a3
  	    else
Karsten Hopp 4352a3
  		this->list->lv_lock = 0;
Karsten Hopp 4352a3
--- 1198,1204 ----
Karsten Hopp 4352a3
  	}
Karsten Hopp 4352a3
  	else
Karsten Hopp 4352a3
  	{
Karsten Hopp 4352a3
! 	    if (PyObject_IsTrue(val))
Karsten Hopp 4352a3
  		this->list->lv_lock = VAR_LOCKED;
Karsten Hopp 4352a3
  	    else
Karsten Hopp 4352a3
  		this->list->lv_lock = 0;
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 1484,1497 ****
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
      if (flags & SOPT_BOOL)
Karsten Hopp 4352a3
      {
Karsten Hopp 4352a3
! 	if (!PyBool_Check(valObject))
Karsten Hopp 4352a3
! 	{
Karsten Hopp 4352a3
! 	    PyErr_SetString(PyExc_ValueError, "Object must be boolean");
Karsten Hopp 4352a3
! 	    return -1;
Karsten Hopp 4352a3
! 	}
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! 	r = set_option_value_for(key, (valObject == Py_True), NULL, opt_flags,
Karsten Hopp 4352a3
! 				this->opt_type, this->from);
Karsten Hopp 4352a3
      }
Karsten Hopp 4352a3
      else if (flags & SOPT_NUM)
Karsten Hopp 4352a3
      {
Karsten Hopp 4352a3
--- 1474,1481 ----
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
      if (flags & SOPT_BOOL)
Karsten Hopp 4352a3
      {
Karsten Hopp 4352a3
! 	r = set_option_value_for(key, PyObject_IsTrue(valObject), NULL,
Karsten Hopp 4352a3
! 				opt_flags, this->opt_type, this->from);
Karsten Hopp 4352a3
      }
Karsten Hopp 4352a3
      else if (flags & SOPT_NUM)
Karsten Hopp 4352a3
      {
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/if_python3.c	2013-05-15 14:39:47.000000000 +0200
Karsten Hopp 4352a3
--- src/if_python3.c	2013-05-15 14:42:21.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 156,161 ****
Karsten Hopp 4352a3
--- 156,162 ----
Karsten Hopp 4352a3
  # define PyMapping_Items py3_PyMapping_Items
Karsten Hopp 4352a3
  # define PyIter_Next py3_PyIter_Next
Karsten Hopp 4352a3
  # define PyObject_GetIter py3_PyObject_GetIter
Karsten Hopp 4352a3
+ # define PyObject_IsTrue py3_PyObject_IsTrue
Karsten Hopp 4352a3
  # define PyModule_GetDict py3_PyModule_GetDict
Karsten Hopp 4352a3
  #undef PyRun_SimpleString
Karsten Hopp 4352a3
  # define PyRun_SimpleString py3_PyRun_SimpleString
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 264,269 ****
Karsten Hopp 4352a3
--- 265,271 ----
Karsten Hopp 4352a3
  static PyObject* (*py3_PyDict_New)(void);
Karsten Hopp 4352a3
  static PyObject* (*py3_PyIter_Next)(PyObject *);
Karsten Hopp 4352a3
  static PyObject* (*py3_PyObject_GetIter)(PyObject *);
Karsten Hopp 4352a3
+ static int (*py3_PyObject_IsTrue)(PyObject *);
Karsten Hopp 4352a3
  static PyObject* (*py3_Py_BuildValue)(char *, ...);
Karsten Hopp 4352a3
  static int (*py3_PyType_Ready)(PyTypeObject *type);
Karsten Hopp 4352a3
  static int (*py3_PyDict_SetItemString)(PyObject *dp, char *key, PyObject *item);
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 392,397 ****
Karsten Hopp 4352a3
--- 394,400 ----
Karsten Hopp 4352a3
      {"PyMapping_Items", (PYTHON_PROC*)&py3_PyMapping_Items},
Karsten Hopp 4352a3
      {"PyIter_Next", (PYTHON_PROC*)&py3_PyIter_Next},
Karsten Hopp 4352a3
      {"PyObject_GetIter", (PYTHON_PROC*)&py3_PyObject_GetIter},
Karsten Hopp 4352a3
+     {"PyObject_IsTrue", (PYTHON_PROC*)&py3_PyObject_IsTrue},
Karsten Hopp 4352a3
      {"PyLong_FromLong", (PYTHON_PROC*)&py3_PyLong_FromLong},
Karsten Hopp 4352a3
      {"PyDict_New", (PYTHON_PROC*)&py3_PyDict_New},
Karsten Hopp 4352a3
      {"PyType_Ready", (PYTHON_PROC*)&py3_PyType_Ready},
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/if_python.c	2013-05-15 14:39:47.000000000 +0200
Karsten Hopp 4352a3
--- src/if_python.c	2013-05-15 14:42:21.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 229,234 ****
Karsten Hopp 4352a3
--- 229,235 ----
Karsten Hopp 4352a3
  # define _Py_TrueStruct (*dll__Py_TrueStruct)
Karsten Hopp 4352a3
  # define PyObject_Init dll__PyObject_Init
Karsten Hopp 4352a3
  # define PyObject_GetIter dll_PyObject_GetIter
Karsten Hopp 4352a3
+ # define PyObject_IsTrue dll_PyObject_IsTrue
Karsten Hopp 4352a3
  # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02020000
Karsten Hopp 4352a3
  #  define PyType_IsSubtype dll_PyType_IsSubtype
Karsten Hopp 4352a3
  # endif
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 324,329 ****
Karsten Hopp 4352a3
--- 325,331 ----
Karsten Hopp 4352a3
  static PyObject*(*dll__PyObject_New)(PyTypeObject *, PyObject *);
Karsten Hopp 4352a3
  static PyObject*(*dll__PyObject_Init)(PyObject *, PyTypeObject *);
Karsten Hopp 4352a3
  static PyObject* (*dll_PyObject_GetIter)(PyObject *);
Karsten Hopp 4352a3
+ static int (*dll_PyObject_IsTrue)(PyObject *);
Karsten Hopp 4352a3
  # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
Karsten Hopp 4352a3
  static iternextfunc dll__PyObject_NextNotImplemented;
Karsten Hopp 4352a3
  # endif
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 459,464 ****
Karsten Hopp 4352a3
--- 461,467 ----
Karsten Hopp 4352a3
      {"_PyObject_New", (PYTHON_PROC*)&dll__PyObject_New},
Karsten Hopp 4352a3
      {"PyObject_Init", (PYTHON_PROC*)&dll__PyObject_Init},
Karsten Hopp 4352a3
      {"PyObject_GetIter", (PYTHON_PROC*)&dll_PyObject_GetIter},
Karsten Hopp 4352a3
+     {"PyObject_IsTrue", (PYTHON_PROC*)&dll_PyObject_IsTrue},
Karsten Hopp 4352a3
  # if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
Karsten Hopp 4352a3
      {"_PyObject_NextNotImplemented", (PYTHON_PROC*)&dll__PyObject_NextNotImplemented},
Karsten Hopp 4352a3
  # endif
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 787,793 ****
Karsten Hopp 4352a3
  	 * so the following does both: unlock GIL and save thread state in TLS
Karsten Hopp 4352a3
  	 * without deleting thread state
Karsten Hopp 4352a3
  	 */
Karsten Hopp 4352a3
! 	PyEval_SaveThread();
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
  	initialised = 1;
Karsten Hopp 4352a3
      }
Karsten Hopp 4352a3
--- 790,799 ----
Karsten Hopp 4352a3
  	 * so the following does both: unlock GIL and save thread state in TLS
Karsten Hopp 4352a3
  	 * without deleting thread state
Karsten Hopp 4352a3
  	 */
Karsten Hopp 4352a3
! #ifndef PY_CAN_RECURSE
Karsten Hopp 4352a3
! 	saved_python_thread =
Karsten Hopp 4352a3
! #endif
Karsten Hopp 4352a3
! 	    PyEval_SaveThread();
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
  	initialised = 1;
Karsten Hopp 4352a3
      }
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/testdir/test86.in	2013-05-15 14:39:47.000000000 +0200
Karsten Hopp 4352a3
--- src/testdir/test86.in	2013-05-15 14:42:21.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 183,220 ****
Karsten Hopp 4352a3
  :   $put ='[0.0, 0.0]'
Karsten Hopp 4352a3
  :endif
Karsten Hopp 4352a3
  :let messages=[]
Karsten Hopp 4352a3
! :py <
Karsten Hopp 4352a3
  d=vim.bindeval('{}')
Karsten Hopp 4352a3
  m=vim.bindeval('messages')
Karsten Hopp 4352a3
! try:
Karsten Hopp 4352a3
!     d['abc']
Karsten Hopp 4352a3
! except Exception as e:
Karsten Hopp 4352a3
!     m.extend([e.__class__.__name__])
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! try:
Karsten Hopp 4352a3
!     d['abc']="\0"
Karsten Hopp 4352a3
! except Exception as e:
Karsten Hopp 4352a3
!     m.extend([e.__class__.__name__])
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! try:
Karsten Hopp 4352a3
!     d['abc']=vim
Karsten Hopp 4352a3
! except Exception as e:
Karsten Hopp 4352a3
!     m.extend([e.__class__.__name__])
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! try:
Karsten Hopp 4352a3
!     d['']=1
Karsten Hopp 4352a3
! except Exception as e:
Karsten Hopp 4352a3
!     m.extend([e.__class__.__name__])
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! try:
Karsten Hopp 4352a3
!     d['a\0b']=1
Karsten Hopp 4352a3
! except Exception as e:
Karsten Hopp 4352a3
!     m.extend([e.__class__.__name__])
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! try:
Karsten Hopp 4352a3
!     d[b'a\0b']=1
Karsten Hopp 4352a3
! except Exception as e:
Karsten Hopp 4352a3
!     m.extend([e.__class__.__name__])
Karsten Hopp 4352a3
  EOF
Karsten Hopp 4352a3
  :$put =messages
Karsten Hopp 4352a3
  :unlet messages
Karsten Hopp 4352a3
--- 183,203 ----
Karsten Hopp 4352a3
  :   $put ='[0.0, 0.0]'
Karsten Hopp 4352a3
  :endif
Karsten Hopp 4352a3
  :let messages=[]
Karsten Hopp 4352a3
! py <
Karsten Hopp 4352a3
  d=vim.bindeval('{}')
Karsten Hopp 4352a3
  m=vim.bindeval('messages')
Karsten Hopp 4352a3
! def em(expr, g=globals(), l=locals()):
Karsten Hopp 4352a3
!     try:
Karsten Hopp 4352a3
!         exec(expr, g, l)
Karsten Hopp 4352a3
!     except:
Karsten Hopp 4352a3
!         m.extend([sys.exc_type.__name__])
Karsten Hopp 4352a3
! 
Karsten Hopp 4352a3
! em('d["abc"]')
Karsten Hopp 4352a3
! em('d["abc"]="\\0"')
Karsten Hopp 4352a3
! em('d["abc"]=vim')
Karsten Hopp 4352a3
! em('d[""]=1')
Karsten Hopp 4352a3
! em('d["a\\0b"]=1')
Karsten Hopp 4352a3
! em('d[u"a\\0b"]=1')
Karsten Hopp 4352a3
  EOF
Karsten Hopp 4352a3
  :$put =messages
Karsten Hopp 4352a3
  :unlet messages
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 394,407 ****
Karsten Hopp 4352a3
  def e(s, g=globals(), l=locals()):
Karsten Hopp 4352a3
      try:
Karsten Hopp 4352a3
          exec(s, g, l)
Karsten Hopp 4352a3
!     except Exception as e:
Karsten Hopp 4352a3
!         vim.command('throw ' + repr(e.__class__.__name__))
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
  def ev(s, g=globals(), l=locals()):
Karsten Hopp 4352a3
      try:
Karsten Hopp 4352a3
          return eval(s, g, l)
Karsten Hopp 4352a3
!     except Exception as e:
Karsten Hopp 4352a3
!         vim.command('throw ' + repr(e.__class__.__name__))
Karsten Hopp 4352a3
          return 0
Karsten Hopp 4352a3
  EOF
Karsten Hopp 4352a3
  :function E(s)
Karsten Hopp 4352a3
--- 377,390 ----
Karsten Hopp 4352a3
  def e(s, g=globals(), l=locals()):
Karsten Hopp 4352a3
      try:
Karsten Hopp 4352a3
          exec(s, g, l)
Karsten Hopp 4352a3
!     except:
Karsten Hopp 4352a3
!         vim.command('throw ' + repr(sys.exc_type.__name__))
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
  def ev(s, g=globals(), l=locals()):
Karsten Hopp 4352a3
      try:
Karsten Hopp 4352a3
          return eval(s, g, l)
Karsten Hopp 4352a3
!     except:
Karsten Hopp 4352a3
!         vim.command('throw ' + repr(sys.exc_type.__name__))
Karsten Hopp 4352a3
          return 0
Karsten Hopp 4352a3
  EOF
Karsten Hopp 4352a3
  :function E(s)
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/testdir/test86.ok	2013-05-15 14:39:47.000000000 +0200
Karsten Hopp 4352a3
--- src/testdir/test86.ok	2013-05-15 14:42:21.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 82,88 ****
Karsten Hopp 4352a3
  bar
Karsten Hopp 4352a3
  >>> paste
Karsten Hopp 4352a3
    p/gopts1: False
Karsten Hopp 4352a3
-   inv: 2! ValueError
Karsten Hopp 4352a3
    p/wopts1! KeyError
Karsten Hopp 4352a3
    inv: 2! KeyError
Karsten Hopp 4352a3
    wopts1! KeyError
Karsten Hopp 4352a3
--- 82,87 ----
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 224,230 ****
Karsten Hopp 4352a3
    wopts2! KeyError
Karsten Hopp 4352a3
    wopts3! KeyError
Karsten Hopp 4352a3
    p/bopts1: False
Karsten Hopp 4352a3
-   inv: 2! ValueError
Karsten Hopp 4352a3
    G: 0
Karsten Hopp 4352a3
    W: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
    B: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
--- 223,228 ----
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 280,286 ****
Karsten Hopp 4352a3
    wopts2! KeyError
Karsten Hopp 4352a3
    wopts3! KeyError
Karsten Hopp 4352a3
    p/bopts1: False
Karsten Hopp 4352a3
-   inv: 2! ValueError
Karsten Hopp 4352a3
    G: 0
Karsten Hopp 4352a3
    W: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
    B: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
--- 278,283 ----
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/testdir/test87.ok	2013-05-15 14:39:47.000000000 +0200
Karsten Hopp 4352a3
--- src/testdir/test87.ok	2013-05-15 14:42:21.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 71,77 ****
Karsten Hopp 4352a3
  bar
Karsten Hopp 4352a3
  >>> paste
Karsten Hopp 4352a3
    p/gopts1: False
Karsten Hopp 4352a3
-   inv: 2! ValueError
Karsten Hopp 4352a3
    p/wopts1! KeyError
Karsten Hopp 4352a3
    inv: 2! KeyError
Karsten Hopp 4352a3
    wopts1! KeyError
Karsten Hopp 4352a3
--- 71,76 ----
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 213,219 ****
Karsten Hopp 4352a3
    wopts2! KeyError
Karsten Hopp 4352a3
    wopts3! KeyError
Karsten Hopp 4352a3
    p/bopts1: False
Karsten Hopp 4352a3
-   inv: 2! ValueError
Karsten Hopp 4352a3
    G: 0
Karsten Hopp 4352a3
    W: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
    B: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
--- 212,217 ----
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 269,275 ****
Karsten Hopp 4352a3
    wopts2! KeyError
Karsten Hopp 4352a3
    wopts3! KeyError
Karsten Hopp 4352a3
    p/bopts1: False
Karsten Hopp 4352a3
-   inv: 2! ValueError
Karsten Hopp 4352a3
    G: 0
Karsten Hopp 4352a3
    W: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
    B: 1:0 2:1 3:0 4:1
Karsten Hopp 4352a3
--- 267,272 ----
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/configure.in	2013-05-06 04:21:35.000000000 +0200
Karsten Hopp 4352a3
--- src/configure.in	2013-05-15 14:46:11.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 863,872 ****
Karsten Hopp 4352a3
  	    ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
Karsten Hopp 4352a3
      ]])
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
!     dnl -- it must be at least version 1.4
Karsten Hopp 4352a3
!     AC_MSG_CHECKING(Python is 1.4 or better)
Karsten Hopp 4352a3
      if ${vi_cv_path_python} -c \
Karsten Hopp 4352a3
! 	"import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
Karsten Hopp 4352a3
      then
Karsten Hopp 4352a3
        AC_MSG_RESULT(yep)
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
--- 863,872 ----
Karsten Hopp 4352a3
  	    ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
Karsten Hopp 4352a3
      ]])
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
!     dnl -- it must be at least version 2.2
Karsten Hopp 4352a3
!     AC_MSG_CHECKING(Python is 2.2 or better)
Karsten Hopp 4352a3
      if ${vi_cv_path_python} -c \
Karsten Hopp 4352a3
! 	"import sys; sys.exit(${vi_cv_var_python_version} < 2.2)"
Karsten Hopp 4352a3
      then
Karsten Hopp 4352a3
        AC_MSG_RESULT(yep)
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/auto/configure	2013-05-06 04:21:35.000000000 +0200
Karsten Hopp 4352a3
--- src/auto/configure	2013-05-15 14:46:28.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 5289,5298 ****
Karsten Hopp 4352a3
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python_version" >&5
Karsten Hopp 4352a3
  $as_echo "$vi_cv_var_python_version" >&6; }
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
!         { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python is 1.4 or better" >&5
Karsten Hopp 4352a3
! $as_echo_n "checking Python is 1.4 or better... " >&6; }
Karsten Hopp 4352a3
      if ${vi_cv_path_python} -c \
Karsten Hopp 4352a3
! 	"import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
Karsten Hopp 4352a3
      then
Karsten Hopp 4352a3
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yep" >&5
Karsten Hopp 4352a3
  $as_echo "yep" >&6; }
Karsten Hopp 4352a3
--- 5289,5298 ----
Karsten Hopp 4352a3
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $vi_cv_var_python_version" >&5
Karsten Hopp 4352a3
  $as_echo "$vi_cv_var_python_version" >&6; }
Karsten Hopp 4352a3
  
Karsten Hopp 4352a3
!         { $as_echo "$as_me:${as_lineno-$LINENO}: checking Python is 2.2 or better" >&5
Karsten Hopp 4352a3
! $as_echo_n "checking Python is 2.2 or better... " >&6; }
Karsten Hopp 4352a3
      if ${vi_cv_path_python} -c \
Karsten Hopp 4352a3
! 	"import sys; sys.exit(${vi_cv_var_python_version} < 2.2)"
Karsten Hopp 4352a3
      then
Karsten Hopp 4352a3
        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yep" >&5
Karsten Hopp 4352a3
  $as_echo "yep" >&6; }
Karsten Hopp 4352a3
*** ../vim-7.3.947/src/version.c	2013-05-15 14:39:47.000000000 +0200
Karsten Hopp 4352a3
--- src/version.c	2013-05-15 14:43:39.000000000 +0200
Karsten Hopp 4352a3
***************
Karsten Hopp 4352a3
*** 730,731 ****
Karsten Hopp 4352a3
--- 730,733 ----
Karsten Hopp 4352a3
  {   /* Add new patch number below this line */
Karsten Hopp 4352a3
+ /**/
Karsten Hopp 4352a3
+     948,
Karsten Hopp 4352a3
  /**/
Karsten Hopp 4352a3
Karsten Hopp 4352a3
-- 
Karsten Hopp 4352a3
MARTHA'S WAY: Don't throw out all that leftover wine. Freeze into ice cubes
Karsten Hopp 4352a3
              for future use in casseroles and sauces.
Karsten Hopp 4352a3
MY WAY:       What leftover wine?
Karsten Hopp 4352a3
Karsten Hopp 4352a3
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 4352a3
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 4352a3
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 4352a3
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///