diff --git a/plugins/python-build/share/python-build/patches/2.6.6/Python-2.6.6/002_readline63.patch b/plugins/python-build/share/python-build/patches/2.6.6/Python-2.6.6/002_readline63.patch new file mode 100644 index 00000000..6d0eb195 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.6.6/Python-2.6.6/002_readline63.patch @@ -0,0 +1,61 @@ +diff -r -u ../Python-2.7.6.orig/Modules/readline.c ./Modules/readline.c +--- ../Python-2.7.6.orig/Modules/readline.c 2013-11-10 16:36:41.000000000 +0900 ++++ ./Modules/readline.c 2014-03-29 16:17:48.643305752 +0900 +@@ -206,8 +206,7 @@ + if (!PyArg_ParseTuple(args, buf, &function)) + return NULL; + if (function == Py_None) { +- Py_XDECREF(*hook_var); +- *hook_var = NULL; ++ Py_CLEAR(*hook_var); + } + else if (PyCallable_Check(function)) { + PyObject *tmp = *hook_var; +@@ -750,14 +749,22 @@ + } + + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_startup_hook(void) ++#else ++on_startup_hook() ++#endif + { + return on_hook(startup_hook); + } + + #ifdef HAVE_RL_PRE_INPUT_HOOK + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_pre_input_hook(void) ++#else ++on_pre_input_hook() ++#endif + { + return on_hook(pre_input_hook); + } +@@ -852,7 +859,7 @@ + * before calling the normal completer */ + + static char ** +-flex_complete(char *text, int start, int end) ++flex_complete(const char *text, int start, int end) + { + #ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER + rl_completion_append_character ='\0'; +@@ -911,12 +918,12 @@ + rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap); + rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap); + /* Set our hook functions */ +- rl_startup_hook = (Function *)on_startup_hook; ++ rl_startup_hook = on_startup_hook; + #ifdef HAVE_RL_PRE_INPUT_HOOK +- rl_pre_input_hook = (Function *)on_pre_input_hook; ++ rl_pre_input_hook = on_pre_input_hook; + #endif + /* Set our completion function */ +- rl_attempted_completion_function = (CPPFunction *)flex_complete; ++ rl_attempted_completion_function = flex_complete; + /* Set Python word break characters */ + completer_word_break_characters = + rl_completer_word_break_characters = diff --git a/plugins/python-build/share/python-build/patches/2.6.7/Python-2.6.7/002_readline63.patch b/plugins/python-build/share/python-build/patches/2.6.7/Python-2.6.7/002_readline63.patch new file mode 100644 index 00000000..6d0eb195 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.6.7/Python-2.6.7/002_readline63.patch @@ -0,0 +1,61 @@ +diff -r -u ../Python-2.7.6.orig/Modules/readline.c ./Modules/readline.c +--- ../Python-2.7.6.orig/Modules/readline.c 2013-11-10 16:36:41.000000000 +0900 ++++ ./Modules/readline.c 2014-03-29 16:17:48.643305752 +0900 +@@ -206,8 +206,7 @@ + if (!PyArg_ParseTuple(args, buf, &function)) + return NULL; + if (function == Py_None) { +- Py_XDECREF(*hook_var); +- *hook_var = NULL; ++ Py_CLEAR(*hook_var); + } + else if (PyCallable_Check(function)) { + PyObject *tmp = *hook_var; +@@ -750,14 +749,22 @@ + } + + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_startup_hook(void) ++#else ++on_startup_hook() ++#endif + { + return on_hook(startup_hook); + } + + #ifdef HAVE_RL_PRE_INPUT_HOOK + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_pre_input_hook(void) ++#else ++on_pre_input_hook() ++#endif + { + return on_hook(pre_input_hook); + } +@@ -852,7 +859,7 @@ + * before calling the normal completer */ + + static char ** +-flex_complete(char *text, int start, int end) ++flex_complete(const char *text, int start, int end) + { + #ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER + rl_completion_append_character ='\0'; +@@ -911,12 +918,12 @@ + rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap); + rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap); + /* Set our hook functions */ +- rl_startup_hook = (Function *)on_startup_hook; ++ rl_startup_hook = on_startup_hook; + #ifdef HAVE_RL_PRE_INPUT_HOOK +- rl_pre_input_hook = (Function *)on_pre_input_hook; ++ rl_pre_input_hook = on_pre_input_hook; + #endif + /* Set our completion function */ +- rl_attempted_completion_function = (CPPFunction *)flex_complete; ++ rl_attempted_completion_function = flex_complete; + /* Set Python word break characters */ + completer_word_break_characters = + rl_completer_word_break_characters = diff --git a/plugins/python-build/share/python-build/patches/2.6.8/Python-2.6.8/002_readline63.patch b/plugins/python-build/share/python-build/patches/2.6.8/Python-2.6.8/002_readline63.patch new file mode 100644 index 00000000..6d0eb195 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.6.8/Python-2.6.8/002_readline63.patch @@ -0,0 +1,61 @@ +diff -r -u ../Python-2.7.6.orig/Modules/readline.c ./Modules/readline.c +--- ../Python-2.7.6.orig/Modules/readline.c 2013-11-10 16:36:41.000000000 +0900 ++++ ./Modules/readline.c 2014-03-29 16:17:48.643305752 +0900 +@@ -206,8 +206,7 @@ + if (!PyArg_ParseTuple(args, buf, &function)) + return NULL; + if (function == Py_None) { +- Py_XDECREF(*hook_var); +- *hook_var = NULL; ++ Py_CLEAR(*hook_var); + } + else if (PyCallable_Check(function)) { + PyObject *tmp = *hook_var; +@@ -750,14 +749,22 @@ + } + + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_startup_hook(void) ++#else ++on_startup_hook() ++#endif + { + return on_hook(startup_hook); + } + + #ifdef HAVE_RL_PRE_INPUT_HOOK + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_pre_input_hook(void) ++#else ++on_pre_input_hook() ++#endif + { + return on_hook(pre_input_hook); + } +@@ -852,7 +859,7 @@ + * before calling the normal completer */ + + static char ** +-flex_complete(char *text, int start, int end) ++flex_complete(const char *text, int start, int end) + { + #ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER + rl_completion_append_character ='\0'; +@@ -911,12 +918,12 @@ + rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap); + rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap); + /* Set our hook functions */ +- rl_startup_hook = (Function *)on_startup_hook; ++ rl_startup_hook = on_startup_hook; + #ifdef HAVE_RL_PRE_INPUT_HOOK +- rl_pre_input_hook = (Function *)on_pre_input_hook; ++ rl_pre_input_hook = on_pre_input_hook; + #endif + /* Set our completion function */ +- rl_attempted_completion_function = (CPPFunction *)flex_complete; ++ rl_attempted_completion_function = flex_complete; + /* Set Python word break characters */ + completer_word_break_characters = + rl_completer_word_break_characters = diff --git a/plugins/python-build/share/python-build/patches/2.6.9/Python-2.6.9/002_readline63.patch b/plugins/python-build/share/python-build/patches/2.6.9/Python-2.6.9/002_readline63.patch new file mode 100644 index 00000000..6d0eb195 --- /dev/null +++ b/plugins/python-build/share/python-build/patches/2.6.9/Python-2.6.9/002_readline63.patch @@ -0,0 +1,61 @@ +diff -r -u ../Python-2.7.6.orig/Modules/readline.c ./Modules/readline.c +--- ../Python-2.7.6.orig/Modules/readline.c 2013-11-10 16:36:41.000000000 +0900 ++++ ./Modules/readline.c 2014-03-29 16:17:48.643305752 +0900 +@@ -206,8 +206,7 @@ + if (!PyArg_ParseTuple(args, buf, &function)) + return NULL; + if (function == Py_None) { +- Py_XDECREF(*hook_var); +- *hook_var = NULL; ++ Py_CLEAR(*hook_var); + } + else if (PyCallable_Check(function)) { + PyObject *tmp = *hook_var; +@@ -750,14 +749,22 @@ + } + + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_startup_hook(void) ++#else ++on_startup_hook() ++#endif + { + return on_hook(startup_hook); + } + + #ifdef HAVE_RL_PRE_INPUT_HOOK + static int ++#if defined(_RL_FUNCTION_TYPEDEF) + on_pre_input_hook(void) ++#else ++on_pre_input_hook() ++#endif + { + return on_hook(pre_input_hook); + } +@@ -852,7 +859,7 @@ + * before calling the normal completer */ + + static char ** +-flex_complete(char *text, int start, int end) ++flex_complete(const char *text, int start, int end) + { + #ifdef HAVE_RL_COMPLETION_APPEND_CHARACTER + rl_completion_append_character ='\0'; +@@ -911,12 +918,12 @@ + rl_bind_key_in_map ('\t', rl_complete, emacs_meta_keymap); + rl_bind_key_in_map ('\033', rl_complete, emacs_meta_keymap); + /* Set our hook functions */ +- rl_startup_hook = (Function *)on_startup_hook; ++ rl_startup_hook = on_startup_hook; + #ifdef HAVE_RL_PRE_INPUT_HOOK +- rl_pre_input_hook = (Function *)on_pre_input_hook; ++ rl_pre_input_hook = on_pre_input_hook; + #endif + /* Set our completion function */ +- rl_attempted_completion_function = (CPPFunction *)flex_complete; ++ rl_attempted_completion_function = flex_complete; + /* Set Python word break characters */ + completer_word_break_characters = + rl_completer_word_break_characters =