26 #if defined (HAVE_CONFIG_H)
49 #if defined (USE_READLINE)
69 #if defined (USE_READLINE)
86 ~gnu_readline (
void) =
default;
88 void do_set_name (
const std::string&
n);
90 std::string do_readline (
const std::string& prompt,
bool& eof);
92 void do_set_input_stream (FILE *
f);
94 FILE * do_get_input_stream (
void);
96 void do_set_output_stream (FILE *
f);
98 FILE * do_get_output_stream (
void);
100 void do_redisplay (
void);
102 int do_terminal_rows (
void);
104 int do_terminal_cols (
void);
106 void do_clear_screen (
bool skip_redisplay);
108 void do_resize_terminal (
void);
110 void do_set_screen_size (
int ht,
int wd);
112 std::string newline_chars (
void);
114 void do_restore_terminal_state (
void);
116 void do_blink_matching_paren (
bool flag);
118 bool do_erase_empty_line (
bool flag);
120 void do_set_basic_word_break_characters (
const std::string& s);
122 void do_set_completer_word_break_characters (
const std::string& s);
124 void do_set_basic_quote_characters (
const std::string& s);
126 void do_set_filename_quote_characters (
const std::string& s);
128 void do_set_completer_quote_characters (
const std::string& s);
130 void do_set_completion_append_character (
char c);
132 void do_set_completion_function (completion_fcn
f);
134 void do_set_quoting_function (quoting_fcn
f);
136 void do_set_dequoting_function (dequoting_fcn
f);
138 void do_set_char_is_quoted_function (char_is_quoted_fcn
f);
140 void do_set_user_accept_line_function (user_accept_line_fcn
f);
142 completion_fcn do_get_completion_function (
void)
const;
144 quoting_fcn do_get_quoting_function (
void)
const;
146 dequoting_fcn do_get_dequoting_function (
void)
const;
148 char_is_quoted_fcn do_get_char_is_quoted_function (
void)
const;
150 user_accept_line_fcn do_get_user_accept_line_function (
void)
const;
153 do_generate_filename_completions (
const std::string& text);
155 std::string do_get_line_buffer (
void)
const;
157 std::string do_get_current_line (
void)
const;
159 char do_get_prev_char (
int)
const;
161 void do_replace_line (
const std::string& text,
bool clear_undo);
163 void do_kill_full_line (
void);
165 void do_insert_text (
const std::string& text);
167 void do_newline (
void);
169 void do_accept_line (
void);
173 void do_clear_undo_list (
void);
175 void set_startup_hook (startup_hook_fcn
f);
177 void restore_startup_hook (
void);
179 void set_pre_input_hook (pre_input_hook_fcn
f);
181 void restore_pre_input_hook (
void);
183 void set_event_hook (event_hook_fcn
f);
185 void restore_event_hook (
void);
187 void do_restore_event_hook (
void);
189 void do_read_init_file (
const std::string& file);
191 void do_re_read_init_file (
void);
193 bool do_filename_completion_desired (
bool);
195 bool do_filename_quoting_desired (
bool);
197 bool do_prefer_env_winsize (
bool);
199 void do_interrupt (
bool);
201 void do_handle_interrupt_signal (
void);
203 static int operate_and_get_next (
int,
int);
205 static int history_search_backward (
int,
int);
207 static int history_search_forward (
int,
int);
211 static char * command_generator (
const char *text,
int state);
213 static char * command_quoter (
char *text,
int match_type,
214 char *quote_pointer);
216 static char * command_dequoter (
char *text,
int match_type);
218 static int command_char_is_quoted (
char *text,
int index);
220 static int command_accept_line (
int count,
int key);
222 static char ** command_completer (
const char *text,
int start,
int end);
226 startup_hook_fcn m_previous_startup_hook;
228 pre_input_hook_fcn m_previous_pre_input_hook;
230 event_hook_fcn m_previous_event_hook;
232 completion_fcn m_completion_function;
234 quoting_fcn m_quoting_function;
236 dequoting_fcn m_dequoting_function;
238 char_is_quoted_fcn m_char_is_quoted_function;
240 user_accept_line_fcn user_accept_line_function;
242 static std::string s_completer_quote_characters;
245 std::string gnu_readline::s_completer_quote_characters =
"";
247 gnu_readline::gnu_readline ()
249 m_previous_pre_input_hook (nullptr),
250 m_previous_event_hook (nullptr), m_completion_function (nullptr),
251 m_quoting_function (nullptr), m_dequoting_function (nullptr),
252 m_char_is_quoted_function (nullptr), user_accept_line_function (nullptr)
257 std::string term = sys::env::getenv (
"TERM");
263 do_blink_matching_paren (
true);
268 gnu_readline::operate_and_get_next,
273 gnu_readline::do_set_name (
const std::string& nm)
279 gnu_readline::do_readline (
const std::string& prompt,
bool& eof)
285 const char *p = prompt.c_str ();
302 gnu_readline::do_set_input_stream (FILE *
f)
308 gnu_readline::do_get_input_stream (
void)
314 gnu_readline::do_set_output_stream (FILE *
f)
320 gnu_readline::do_get_output_stream (
void)
326 gnu_readline::do_redisplay (
void)
338 gnu_readline::do_terminal_rows (
void)
342 return sh > 0 ? sh : 24;
346 gnu_readline::do_terminal_cols (
void)
350 return sw > 0 ? sw : 80;
354 gnu_readline::do_clear_screen (
bool skip_redisplay)
360 gnu_readline::do_resize_terminal (
void)
366 gnu_readline::do_set_screen_size (
int ht,
int wd)
372 gnu_readline::newline_chars (
void)
378 gnu_readline::do_restore_terminal_state (
void)
384 gnu_readline::do_blink_matching_paren (
bool flag)
390 gnu_readline::do_erase_empty_line (
bool flag)
396 gnu_readline::do_set_basic_word_break_characters (
const std::string& s)
402 gnu_readline::do_set_completer_word_break_characters (
const std::string& s)
412 gnu_readline::do_set_basic_quote_characters (
const std::string& s)
418 gnu_readline::do_set_filename_quote_characters (
const std::string& s)
424 gnu_readline::do_set_completer_quote_characters (
const std::string& s)
426 s_completer_quote_characters = s;
430 gnu_readline::do_set_completion_append_character (
char c)
436 gnu_readline::do_set_completion_function (completion_fcn
f)
438 m_completion_function =
f;
441 = (
f ? gnu_readline::command_completer :
nullptr);
447 gnu_readline::do_set_quoting_function (quoting_fcn
f)
449 m_quoting_function =
f;
452 = (
f ? gnu_readline::command_quoter :
nullptr);
458 gnu_readline::do_set_dequoting_function (dequoting_fcn
f)
460 m_dequoting_function =
f;
463 = (
f ? gnu_readline::command_dequoter :
nullptr);
469 gnu_readline::do_set_char_is_quoted_function (char_is_quoted_fcn
f)
471 m_char_is_quoted_function =
f;
474 = (
f ? gnu_readline::command_char_is_quoted :
nullptr);
480 gnu_readline::do_set_user_accept_line_function (user_accept_line_fcn
f)
482 user_accept_line_function =
f;
492 gnu_readline::completion_fcn
493 gnu_readline::do_get_completion_function (
void)
const
495 return m_completion_function;
498 gnu_readline::quoting_fcn
499 gnu_readline::do_get_quoting_function (
void)
const
501 return m_quoting_function;
504 gnu_readline::dequoting_fcn
505 gnu_readline::do_get_dequoting_function (
void)
const
507 return m_dequoting_function;
510 gnu_readline::char_is_quoted_fcn
511 gnu_readline::do_get_char_is_quoted_function (
void)
const
513 return m_char_is_quoted_function;
516 gnu_readline::user_accept_line_fcn
517 gnu_readline::do_get_user_accept_line_function (
void)
const
519 return user_accept_line_function;
526 looks_like_filename (
const char *line,
char delim)
530 const char *s = strrchr (line, delim);
537 if (
f && (s[1] ==
'~' ||
f != s))
541 std::string candidate_filename = s+1;
543 candidate_filename = candidate_filename.substr (0,
f - s);
547 if (candidate_filename[0] ==
'~')
551 sys::file_stat fs (candidate_filename);
553 retval = fs.is_dir ();
570 std::string line = get_line_buffer ();
573 const char *l = line.c_str ();
575 if (looks_like_filename (l,
' ') || looks_like_filename (l,
'\'')
576 || looks_like_filename (l,
'"'))
579 (s_completer_quote_characters.c_str ());
585 static char *word_break_chars =
nullptr;
589 free (word_break_chars);
594 return word_break_chars;
599 gnu_readline::do_generate_filename_completions (
const std::string& text)
623 retval[count++] = fn;
637 gnu_readline::do_get_line_buffer (
void)
const
643 gnu_readline::do_get_current_line (
void)
const
655 gnu_readline::do_get_prev_char (
int offset)
const
660 return p > offset ? buf[p - offset - 1] :
'\0';
664 gnu_readline::do_replace_line (
const std::string& text,
bool clear_undo)
670 gnu_readline::do_kill_full_line (
void)
676 gnu_readline::do_insert_text (
const std::string& text)
682 gnu_readline::do_newline (
void)
688 gnu_readline::do_accept_line (
void)
690 command_accept_line (1,
'\n');
694 gnu_readline::do_undo (
void)
700 gnu_readline::do_clear_undo_list ()
706 gnu_readline::set_startup_hook (startup_hook_fcn
f)
710 if (
f != m_previous_startup_hook)
715 gnu_readline::restore_startup_hook (
void)
721 gnu_readline::set_pre_input_hook (pre_input_hook_fcn
f)
725 if (
f != m_previous_pre_input_hook)
730 gnu_readline::restore_pre_input_hook (
void)
736 gnu_readline::set_event_hook (event_hook_fcn
f)
744 gnu_readline::restore_event_hook (
void)
750 gnu_readline::do_read_init_file (
const std::string& file)
756 gnu_readline::do_re_read_init_file (
void)
762 gnu_readline::do_filename_completion_desired (
bool arg)
768 gnu_readline::do_filename_quoting_desired (
bool arg)
774 gnu_readline::do_prefer_env_winsize (
bool arg)
780 gnu_readline::do_interrupt (
bool arg)
786 gnu_readline::do_handle_interrupt_signal (
void)
793 throw interrupt_exception ();
797 gnu_readline::operate_and_get_next (
int ,
int )
811 || (x_where >= x_length - 1))
822 gnu_readline::history_search_backward (
int count,
int c)
828 gnu_readline::history_search_forward (
int count,
int c)
834 gnu_readline::command_generator (
const char *text,
int state)
836 char *retval =
nullptr;
840 std::string tmp =
f (text,
state);
842 std::size_t
len = tmp.length ();
849 strcpy (retval, tmp.c_str ());
856 gnu_readline::command_quoter (
char *text,
int matches,
char *qcp)
858 char *retval =
nullptr;
862 std::string tmp =
f (text, matches, *qcp);
864 std::size_t
len = tmp.length ();
871 strcpy (retval, tmp.c_str ());
878 gnu_readline::command_dequoter (
char *text,
int quote)
880 char *retval =
nullptr;
884 std::string tmp =
f (text, quote);
886 std::size_t
len = tmp.length ();
893 strcpy (retval, tmp.c_str ());
900 gnu_readline::command_char_is_quoted (
char *text,
int quote)
904 return f (text, quote);
908 gnu_readline::command_accept_line (
int count,
int key)
921 gnu_readline::command_completer (
const char *text,
int,
int)
937 :
command_editor (), m_input_stream (stdin), m_output_stream (stdout) { }
947 std::string do_readline (
const std::string& prompt,
bool& eof);
949 void do_set_input_stream (FILE *
f);
951 FILE * do_get_input_stream (
void);
953 void do_set_output_stream (FILE *
f);
955 FILE * do_get_output_stream (
void);
957 string_vector do_generate_filename_completions (
const std::string& text);
959 std::string do_get_line_buffer (
void)
const;
961 std::string do_get_current_line (
void)
const;
963 char do_get_prev_char (
int)
const;
965 void do_replace_line (
const std::string& text,
bool clear_undo);
967 void do_kill_full_line (
void);
969 void do_insert_text (
const std::string& text);
971 void do_newline (
void);
973 void do_accept_line (
void);
1089 (*current_liboctave_error_handler)
1090 (
"unable to create command history object!");
1098 #if defined (USE_READLINE)
1696 std::size_t slen = s.length ();
1751 tmpstr = now.strftime (
"%a %b %d");
1753 tmpstr = now.strftime (
"%H:%M:%S");
1755 tmpstr = now.strftime (
"%I:%M:%S");
1757 tmpstr = now.strftime (
"%I:%M %p");
1759 tmpstr = now.strftime (
"%H:%M");
1773 tmpstr = sys::env::get_host_name ();
1775 std::size_t pos = tmpstr.find (
'.');
1777 if (pos != std::string::npos)
1778 tmpstr.resize (pos);
1785 tmpstr = sys::env::get_host_name ();
1806 tmpstr = sys::env::get_program_name ();
1807 tmpstr = sys::env::base_pathname (tmpstr);
1814 tmpstr = sys::env::get_user_name ();
1824 tmpstr = sys::env::get_current_directory ();
1831 std::string home_dir = sys::env::get_home_directory ();
1833 if (c ==
'W' && (home_dir.empty () || tmpstr != home_dir))
1835 if (tmpstr !=
"/" && tmpstr !=
"//")
1837 std::size_t pos = tmpstr.rfind (
'/');
1839 if (pos != std::string::npos && pos != 0)
1840 tmpstr = tmpstr.substr (pos + 1);
1844 tmpstr = sys::env::polite_directory_format (tmpstr);
1851 char number_buffer[32];
1854 sprintf (number_buffer,
"%d", num);
1856 strcpy (number_buffer,
"!");
1857 tmpstr = number_buffer;
1864 char number_buffer[32];
1866 tmpstr = number_buffer;
1877 #if defined (USE_READLINE)
1883 tmpstr[0] = ((c ==
'[')
1907 retval.append (tmpstr);
1942 std::size_t slen = s.length ();
1944 while (i < slen && s[i] >=
'0' && s[i] <
'8')
1947 result = (result * 8) + s[i] -
'0';
1951 if (! digits || result > 0777 || i < slen)
1960 (*current_liboctave_error_handler) (
"%s", std::strerror (err_num));
1966 (*current_liboctave_error_handler) (
"%s", s.c_str ());
static void replace_line(const std::string &text, bool clear_undo=true)
static void set_input_stream(FILE *f)
static void redisplay(void)
static void set_quoting_function(quoting_fcn f)
virtual string_vector do_generate_filename_completions(const std::string &text)=0
static bool filename_quoting_desired(bool)
static void handle_interrupt_signal(void)
static void run_event_hooks(void)
static void cleanup_instance(void)
static user_accept_line_fcn get_user_accept_line_function(void)
static void add_startup_hook(startup_hook_fcn f)
static int pre_input_handler(void)
void(* user_accept_line_fcn)(const std::string &)
static void set_completer_quote_characters(const std::string &s)
static dequoting_fcn get_dequoting_function(void)
static void blink_matching_paren(bool flag)
static void set_user_accept_line_function(user_accept_line_fcn f)
static string_vector generate_filename_completions(const std::string &text)
static char get_prev_char(int)
static std::set< pre_input_hook_fcn > m_pre_input_hook_set
static command_editor * s_instance
static void restore_terminal_state(void)
virtual void do_set_screen_size(int ht, int wd)
static void remove_startup_hook(startup_hook_fcn f)
static void set_filename_quote_characters(const std::string &s)
virtual void do_resize_terminal(void)
virtual bool do_erase_empty_line(bool)
virtual void do_set_basic_quote_characters(const std::string &)
std::string do_readline(const std::string &prompt)
static std::string readline(const std::string &prompt)
static void resize_terminal(void)
virtual void do_set_user_accept_line_function(user_accept_line_fcn)
int(* event_hook_fcn)(void)
virtual void do_set_name(const std::string &)
virtual char do_get_prev_char(int) const =0
virtual void do_set_filename_quote_characters(const std::string &)
static int terminal_cols(void)
static void set_name(const std::string &n)
virtual void do_set_completer_word_break_characters(const std::string &)
static std::string get_current_line(void)
virtual void do_set_input_stream(FILE *)=0
virtual std::string do_get_current_line(void) const =0
std::string m_initial_input
static void set_completer_word_break_characters(const std::string &s)
virtual quoting_fcn do_get_quoting_function(void) const
virtual void do_read_init_file(const std::string &)
virtual void do_set_completion_append_character(char)
static char_is_quoted_fcn get_char_is_quoted_function(void)
virtual bool do_filename_completion_desired(bool)
static bool prefer_env_winsize(bool)
static void reset_current_command_number(int n)
int read_octal(const std::string &s)
static std::set< event_hook_fcn > m_event_hook_set
static void insert_text(const std::string &text)
static bool interrupt(bool=true)
static FILE * get_output_stream(void)
virtual void do_replace_line(const std::string &text, bool clear_undo)=0
static void increment_current_command_number(void)
virtual void do_set_output_stream(FILE *)=0
static void clear_screen(bool skip_redisplay=false)
int(* startup_hook_fcn)(void)
virtual bool do_undo(void)
static int insert_initial_input(void)
static void set_initial_input(const std::string &text)
static void set_output_stream(FILE *f)
void do_interrupt_event_loop(bool arg)
static void set_screen_size(int ht, int wd)
static std::string get_line_buffer(void)
static bool event_loop_interrupted(void)
virtual void do_set_quoting_function(quoting_fcn)
static void set_basic_word_break_characters(const std::string &s)
virtual void do_restore_terminal_state(void)
static bool erase_empty_line(bool flag)
virtual user_accept_line_fcn do_get_user_accept_line_function(void) const
std::string(* quoting_fcn)(const std::string &, int, char)
static void make_command_editor(void)
static int startup_handler(void)
virtual void do_set_char_is_quoted_function(char_is_quoted_fcn)
virtual void restore_pre_input_hook(void)
static void add_pre_input_hook(pre_input_hook_fcn f)
virtual std::string do_get_line_buffer(void) const =0
virtual char_is_quoted_fcn do_get_char_is_quoted_function(void) const
static void force_default_editor(void)
static completion_fcn get_completion_function(void)
static int current_command_number(void)
virtual FILE * do_get_output_stream(void)=0
static void clear_undo_list(void)
static void set_completion_function(completion_fcn f)
int do_insert_initial_input(void)
static void remove_event_hook(event_hook_fcn f)
static void set_char_is_quoted_function(char_is_quoted_fcn f)
virtual void do_interrupt(bool)
static bool filename_completion_desired(bool)
static void set_dequoting_function(dequoting_fcn f)
static std::set< startup_hook_fcn > m_startup_hook_set
virtual int do_terminal_rows(void)
static void set_completion_append_character(char c)
virtual void do_clear_screen(bool)
virtual void do_accept_line(void)=0
virtual void do_set_basic_word_break_characters(const std::string &)
virtual std::string do_decode_prompt_string(const std::string &)
virtual void do_set_completion_function(completion_fcn)
virtual void do_blink_matching_paren(bool)
int(* char_is_quoted_fcn)(const std::string &, int)
virtual void do_clear_undo_list(void)
bool do_event_loop_interrupted(void) const
static FILE * get_input_stream(void)
virtual std::string newline_chars(void)
virtual void do_re_read_init_file(void)
virtual completion_fcn do_get_completion_function(void) const
virtual dequoting_fcn do_get_dequoting_function(void) const
static void accept_line(void)
static int terminal_rows(void)
static std::string decode_prompt_string(const std::string &s)
virtual void do_insert_text(const std::string &text)=0
static void re_read_init_file(void)
virtual void do_newline(void)=0
static void interrupt_event_loop(bool flag=true)
virtual void do_kill_full_line(void)=0
virtual void do_handle_interrupt_signal(void)
virtual void do_redisplay(void)
virtual void set_pre_input_hook(pre_input_hook_fcn)
virtual bool do_prefer_env_winsize(bool)
virtual void do_set_completer_quote_characters(const std::string &)
static int event_handler(void)
virtual int do_terminal_cols(void)
static void add_event_hook(event_hook_fcn f)
virtual void restore_startup_hook(void)
virtual bool do_filename_quoting_desired(bool)
static void set_basic_quote_characters(const std::string &s)
virtual void do_set_dequoting_function(dequoting_fcn)
virtual FILE * do_get_input_stream(void)=0
std::string(* completion_fcn)(const std::string &, int)
std::string(* dequoting_fcn)(const std::string &, int)
virtual void set_event_hook(event_hook_fcn)
int(* pre_input_hook_fcn)(void)
static quoting_fcn get_quoting_function(void)
static void newline(void)
static void read_init_file(const std::string &file="")
static void remove_pre_input_hook(pre_input_hook_fcn f)
static void kill_full_line(void)
static bool instance_ok(void)
virtual void set_startup_hook(startup_hook_fcn)
static int current_number(void)
static int goto_mark(void)
static int is_stifled(void)
static int max_input_history(void)
static void set_mark(int n)
string_vector do_generate_filename_completions(const std::string &text)
std::string do_get_line_buffer(void) const
std::string do_readline(const std::string &prompt, bool &eof)
FILE * do_get_input_stream(void)
void do_insert_text(const std::string &text)
void do_accept_line(void)
void do_set_input_stream(FILE *f)
default_command_editor(const default_command_editor &)=delete
void do_replace_line(const std::string &text, bool clear_undo)
~default_command_editor(void)=default
FILE * do_get_output_stream(void)
void do_set_output_stream(FILE *f)
default_command_editor(void)
char do_get_prev_char(int) const
std::string do_get_current_line(void) const
void do_kill_full_line(void)
void resize(octave_idx_type n, const std::string &rfv="")
char * do_completer_word_break_hook()
static mutex event_hook_lock
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
std::string tilde_expand(const std::string &name)
F77_RET_T const F77_DBLE const F77_DBLE * f
std::string fgetl(FILE *f)
const char * octave_rl_line_buffer(void)
int octave_rl_history_search_backward(int, int)
void octave_rl_set_startup_hook(rl_startup_hook_fcn_ptr)
void octave_rl_set_quoting_function(rl_quoting_fcn_ptr)
void octave_rl_re_read_init_file(void)
void octave_rl_set_completer_word_break_characters(const char *)
void octave_rl_set_pre_input_hook(rl_startup_hook_fcn_ptr)
char *(* rl_quoting_fcn_ptr)(char *, int, char *)
void octave_rl_kill_full_line(void)
char octave_rl_prompt_end_ignore(void)
char **(* rl_attempted_completion_fcn_ptr)(const char *, int, int)
void octave_rl_clear_undo_list(void)
void octave_rl_resize_terminal(void)
int octave_rl_history_search_forward(int, int)
void octave_rl_read_init_file(const char *)
void octave_rl_set_dequoting_function(rl_dequoting_fcn_ptr)
void octave_rl_set_basic_quote_characters(const char *)
void octave_rl_clear_screen(int skip_redisplay)
char *(* rl_dequoting_fcn_ptr)(char *, int)
int octave_rl_screen_width(void)
char * octave_rl_filename_completion_function(const char *, int)
char octave_rl_prompt_start_ignore(void)
const char * octave_rl_get_completer_word_break_characters(void)
char * octave_rl_copy_line(void)
void octave_rl_set_terminal_name(const char *)
void octave_rl_restore_terminal_state(void)
char * octave_rl_readline(const char *)
void octave_rl_set_name(const char *)
char ** octave_rl_completion_matches(const char *, rl_completer_fcn_ptr)
int octave_rl_do_undo(void)
int octave_rl_filename_completion_desired(int)
void octave_rl_set_output_stream(FILE *)
FILE * octave_rl_get_input_stream(void)
void octave_rl_set_completion_word_break_hook(rl_completion_hook_fcn_ptr)
void octave_rl_initialize(void)
void octave_rl_set_filename_quote_characters(const char *)
void octave_rl_enable_paren_matching(int)
void octave_rl_set_event_hook(rl_event_hook_fcn_ptr f)
void octave_rl_set_completion_append_character(char)
int octave_rl_screen_height(void)
rl_startup_hook_fcn_ptr octave_rl_get_startup_hook(void)
void octave_rl_set_completion_function(rl_attempted_completion_fcn_ptr)
int octave_rl_point(void)
rl_event_hook_fcn_ptr octave_rl_get_event_hook(void)
rl_pre_input_hook_fcn_ptr octave_rl_get_pre_input_hook(void)
void octave_rl_insert_text(const char *)
int(* rl_char_is_quoted_fcn_ptr)(char *, int)
int octave_rl_erase_empty_line(int)
FILE * octave_rl_get_output_stream(void)
int octave_rl_filename_quoting_desired(int)
void octave_rl_recover_from_interrupt(void)
void octave_rl_add_defun(const char *, rl_fcn_ptr, int)
void octave_rl_set_completer_quote_characters(const char *)
void octave_rl_set_screen_size(int ht, int wd)
void octave_rl_replace_line(const char *s, int clear_undo)
void octave_rl_set_char_is_quoted_function(rl_char_is_quoted_fcn_ptr)
int octave_rl_newline(int, int)
void octave_rl_set_input_stream(FILE *)
int octave_rl_prefer_env_winsize(int)
void octave_rl_redisplay(void)
void octave_rl_set_basic_word_break_characters(const char *)
static int input(yyscan_t yyscanner)
volatile sig_atomic_t octave_signal_caught
sig_atomic_t octave_interrupt_state
static uint32_t state[624]
static const char dir_sep_char
char * octave_strdup_wrapper(const char *str)
uid_t octave_geteuid_wrapper(void)