1
0
forked from aniani/vim

patch 8.2.0070: crash when using Python 3 with "debug" encoding

Problem:    Crash when using Python 3 with "debug" encoding. (Dominique Pelle)
Solution:   Use "euc-jp" whenever enc_dbcs is set.
This commit is contained in:
Bram Moolenaar 2020-01-01 15:04:17 +01:00
parent 87396072c5
commit d518f952f0
3 changed files with 8 additions and 1 deletions

View File

@ -19,7 +19,8 @@ static char_u e_py_systemexit[] = "E880: Can't handle SystemExit of %s exception
typedef int Py_ssize_t; // Python 2.4 and earlier don't have this type. typedef int Py_ssize_t; // Python 2.4 and earlier don't have this type.
#endif #endif
#define ENC_OPT (enc_utf8 ? "utf-8" : (char *)p_enc) // Use values that are known to work, others may make Vim crash.
#define ENC_OPT (enc_utf8 ? "utf-8" : enc_dbcs ? "euc-jp" : (char *)p_enc)
#define DOPY_FUNC "_vim_pydo" #define DOPY_FUNC "_vim_pydo"
static const char *vim_special_path = "_vim_path_"; static const char *vim_special_path = "_vim_path_";

View File

@ -172,5 +172,9 @@ func Test_unicode()
" this crashed Vim once " this crashed Vim once
set encoding=utf32 set encoding=utf32
py3 print('hello') py3 print('hello')
set encoding=debug
py3 print('hello')
set encoding=euc-tw
py3 print('hello')
set encoding=utf8 set encoding=utf8
endfunc endfunc

View File

@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
70,
/**/ /**/
69, 69,
/**/ /**/