[vim] - patchlevel 250

Karsten Hopp karsten at fedoraproject.org
Mon Aug 29 11:45:38 UTC 2011


commit 7ef2e6a4477a50900789835d0f8a31b41f1b1fd6
Author: Karsten Hopp <karsten at redhat.com>
Date:   Mon Aug 29 13:44:56 2011 +0200

    - patchlevel 250

 7.3.250 |  104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 104 insertions(+), 0 deletions(-)
---
diff --git a/7.3.250 b/7.3.250
new file mode 100644
index 0000000..fc33328
--- /dev/null
+++ b/7.3.250
@@ -0,0 +1,104 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.250
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.250
+Problem:    Python: Errors in Unicode characters not handled nicely.
+Solution:   Add the surrogateescape error handler. (lilydjwg)
+Files:	    src/if_python3.c
+
+
+*** ../vim-7.3.249/src/if_python3.c	2011-06-26 19:13:33.000000000 +0200
+--- src/if_python3.c	2011-07-15 15:50:01.000000000 +0200
+***************
+*** 68,76 ****
+  
+  static void init_structs(void);
+  
+  #define PyInt Py_ssize_t
+  #define PyString_Check(obj) PyUnicode_Check(obj)
+! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, NULL);
+  #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
+  #define PyString_AsString(obj) PyBytes_AsString(obj)
+  #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
+--- 68,83 ----
+  
+  static void init_structs(void);
+  
++ /* The "surrogateescape" error handler is new in Python 3.1 */
++ #if PY_VERSION_HEX >= 0x030100f0
++ # define CODEC_ERROR_HANDLER "surrogateescape"
++ #else
++ # define CODEC_ERROR_HANDLER NULL
++ #endif
++ 
+  #define PyInt Py_ssize_t
+  #define PyString_Check(obj) PyUnicode_Check(obj)
+! #define PyString_AsBytes(obj) PyUnicode_AsEncodedString(obj, (char *)ENC_OPT, CODEC_ERROR_HANDLER);
+  #define PyString_FreeBytes(obj) Py_XDECREF(bytes)
+  #define PyString_AsString(obj) PyBytes_AsString(obj)
+  #define PyString_Size(obj) PyBytes_GET_SIZE(bytes)
+***************
+*** 661,668 ****
+  
+      /* PyRun_SimpleString expects a UTF-8 string. Wrong encoding may cause
+       * SyntaxError (unicode error). */
+!     cmdstr = PyUnicode_Decode(cmd, strlen(cmd), (char *)ENC_OPT, NULL);
+!     cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", NULL);
+      Py_XDECREF(cmdstr);
+      PyRun_SimpleString(PyBytes_AsString(cmdbytes));
+      Py_XDECREF(cmdbytes);
+--- 668,676 ----
+  
+      /* PyRun_SimpleString expects a UTF-8 string. Wrong encoding may cause
+       * SyntaxError (unicode error). */
+!     cmdstr = PyUnicode_Decode(cmd, strlen(cmd),
+! 					(char *)ENC_OPT, CODEC_ERROR_HANDLER);
+!     cmdbytes = PyUnicode_AsEncodedString(cmdstr, "utf-8", CODEC_ERROR_HANDLER);
+      Py_XDECREF(cmdstr);
+      PyRun_SimpleString(PyBytes_AsString(cmdbytes));
+      Py_XDECREF(cmdbytes);
+***************
+*** 1463,1469 ****
+      }
+      *p = '\0';
+  
+!     result = PyUnicode_Decode(tmp, len, (char *)ENC_OPT, NULL);
+  
+      vim_free(tmp);
+      return result;
+--- 1471,1477 ----
+      }
+      *p = '\0';
+  
+!     result = PyUnicode_Decode(tmp, len, (char *)ENC_OPT, CODEC_ERROR_HANDLER);
+  
+      vim_free(tmp);
+      return result;
+*** ../vim-7.3.249/src/version.c	2011-07-15 14:12:25.000000000 +0200
+--- src/version.c	2011-07-15 15:46:19.000000000 +0200
+***************
+*** 711,712 ****
+--- 711,714 ----
+  {   /* Add new patch number below this line */
++ /**/
++     250,
+  /**/
+
+-- 
+DINGO:   You must spank her well and after you have spanked her you
+         may deal with her as you like and then ... spank me.
+AMAZING: And spank me!
+STUNNER: And me.
+LOVELY:  And me.
+                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// Bram Moolenaar -- Bram at Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\  an exciting new programming language -- http://www.Zimbu.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


More information about the scm-commits mailing list