Fix build with readline 6.3 and newer. --- modules/clib/system.c.orig 2008-02-23 01:31:15.000000000 -0600 +++ modules/clib/system.c 2015-05-10 05:28:51.000000000 -0500 @@ -5149,7 +5149,7 @@ return rl_completion_matches(text, my_sym_generator); } -static CPPFunction *my_completion_function(void) +static rl_completion_func_t *my_completion_function(void) { expr x = mksym(sym(RL_COMPLETION_FUNCTION)), f = eval(x); if (f != x && f != completion_function) { @@ -5157,7 +5157,7 @@ completion_function = newref(f); } else dispose(f); - return (CPPFunction *) (completion_function?my_sym_completion:NULL); + return (rl_completion_func_t *) (completion_function?my_sym_completion:NULL); } static char *my_word_break_characters(void) @@ -5185,7 +5185,7 @@ rl_basic_word_break_characters; char *save_rl_completer_word_break_characters = rl_completer_word_break_characters; - CPPFunction *save_rl_attempted_completion_function = + rl_completion_func_t *save_rl_attempted_completion_function = rl_attempted_completion_function; HISTORY_STATE *save_hist = history_get_history_state(); int histmax = unstifle_history(); --- src/q.c.orig 2007-10-27 13:59:05.000000000 -0500 +++ src/q.c 2015-05-10 05:29:08.000000000 -0500 @@ -652,7 +652,7 @@ { rl_readline_name = "Q"; rl_basic_word_break_characters = " \t\n\"\\'`@$><=,;|%&~{[("; - rl_attempted_completion_function = (CPPFunction *)sym_completion; + rl_attempted_completion_function = (rl_completion_func_t *)sym_completion; save_hist = history_get_history_state(); }