| @ -1,70 +0,0 @@ | |||
| diff -r -u ../Python-3.3.3.orig/Modules/readline.c ./Modules/readline.c | |||
| --- ../Python-3.3.3.orig/Modules/readline.c 2013-11-17 16:23:01.000000000 +0900 | |||
| +++ ./Modules/readline.c 2014-03-29 16:22:10.219305878 +0900 | |||
| @@ -231,8 +231,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; | |||
| @@ -774,14 +773,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); | |||
| } | |||
| @@ -819,7 +826,7 @@ | |||
| (r != Py_None && PyLong_AsLong(r) == -1 && PyErr_Occurred())) { | |||
| goto error; | |||
| } | |||
| - Py_XDECREF(r); r=NULL; | |||
| + Py_CLEAR(r); | |||
| if (0) { | |||
| error: | |||
| @@ -877,7 +884,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'; | |||
| @@ -936,12 +943,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 = | |||
| @ -1,70 +0,0 @@ | |||
| diff -r -u ../Python-3.3.3.orig/Modules/readline.c ./Modules/readline.c | |||
| --- ../Python-3.3.3.orig/Modules/readline.c 2013-11-17 16:23:01.000000000 +0900 | |||
| +++ ./Modules/readline.c 2014-03-29 16:22:10.219305878 +0900 | |||
| @@ -231,8 +231,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; | |||
| @@ -774,14 +773,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); | |||
| } | |||
| @@ -819,7 +826,7 @@ | |||
| (r != Py_None && PyLong_AsLong(r) == -1 && PyErr_Occurred())) { | |||
| goto error; | |||
| } | |||
| - Py_XDECREF(r); r=NULL; | |||
| + Py_CLEAR(r); | |||
| if (0) { | |||
| error: | |||
| @@ -877,7 +884,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'; | |||
| @@ -936,12 +943,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 = | |||