updated for version 7.3.967
Problem:    Build fails on Mac OSX. (Greg Novack)
Solution:   Undefine clear().
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 280c248..f982373 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -474,7 +474,7 @@
 static PyObject *ConvertToPyObject(typval_T *);
 
     static PyObject *
-VimEvalPy(PyObject *self UNUSED, PyObject *args UNUSED)
+VimEvalPy(PyObject *self UNUSED, PyObject *args)
 {
     char	*expr;
     typval_T	*our_tv;
@@ -547,9 +547,9 @@
 typedef int (*traversefun)(void *, visitproc, void *);
 typedef int (*clearfun)(void **);
 
-/* Main purpose of this object is removing the need for do python initialization 
- * (i.e. PyType_Ready and setting type attributes) for a big bunch of objects.
- */
+/* Main purpose of this object is removing the need for do python
+ * initialization (i.e. PyType_Ready and setting type attributes) for a big
+ * bunch of objects. */
 
 typedef struct
 {
@@ -598,6 +598,11 @@
 	return 0;
 }
 
+/* Mac OSX defines clear() somewhere. */
+#ifdef clear
+# undef clear
+#endif
+
     static int
 IterClear(PyObject *self)
 {
@@ -3287,9 +3292,8 @@
     else if (!(next = BufferNew(((BufferObject *)(r))->buf->b_next)))
 	return NULL;
     *buffer = next;
-    /* Do not increment reference: we no longer hold it (decref), but whoever on 
-     * other side will hold (incref). Decref+incref = nothing.
-     */
+    /* Do not increment reference: we no longer hold it (decref), but whoever
+     * on other side will hold (incref). Decref+incref = nothing. */
     return r;
 }