version 1.1.1.1, 2014/07/30 08:16:45
|
version 1.1.1.2, 2021/03/17 01:01:01
|
Line 1
|
Line 1
|
/* rlprivate.h -- functions and variables global to the readline library, |
/* rlprivate.h -- functions and variables global to the readline library, |
but not intended for use by applications. */ |
but not intended for use by applications. */ |
|
|
/* Copyright (C) 1999-2012 Free Software Foundation, Inc. | /* Copyright (C) 1999-2020 Free Software Foundation, Inc. |
|
|
This file is part of the GNU Readline Library (Readline), a library |
This file is part of the GNU Readline Library (Readline), a library |
for reading lines of text with interactive input and history editing. |
for reading lines of text with interactive input and history editing. |
Line 26
|
Line 26
|
#include "rlconf.h" /* for VISIBLE_STATS */ |
#include "rlconf.h" /* for VISIBLE_STATS */ |
#include "rlstdc.h" |
#include "rlstdc.h" |
#include "posixjmp.h" /* defines procenv_t */ |
#include "posixjmp.h" /* defines procenv_t */ |
|
#include "rlmbutil.h" /* for HANDLE_MULTIBYTE */ |
|
|
/************************************************************************* |
/************************************************************************* |
* * |
* * |
Line 44
|
Line 45
|
|
|
#define RL_SIG_RECEIVED() (_rl_caught_signal != 0) |
#define RL_SIG_RECEIVED() (_rl_caught_signal != 0) |
#define RL_SIGINT_RECEIVED() (_rl_caught_signal == SIGINT) |
#define RL_SIGINT_RECEIVED() (_rl_caught_signal == SIGINT) |
|
#define RL_SIGWINCH_RECEIVED() (_rl_caught_signal == SIGWINCH) |
|
|
#define CUSTOM_REDISPLAY_FUNC() (rl_redisplay_function != rl_redisplay) |
#define CUSTOM_REDISPLAY_FUNC() (rl_redisplay_function != rl_redisplay) |
#define CUSTOM_INPUT_FUNC() (rl_getc_function != rl_getc) |
#define CUSTOM_INPUT_FUNC() (rl_getc_function != rl_getc) |
Line 63
|
Line 65
|
#define SF_FOUND 0x02 |
#define SF_FOUND 0x02 |
#define SF_FAILED 0x04 |
#define SF_FAILED 0x04 |
#define SF_CHGKMAP 0x08 |
#define SF_CHGKMAP 0x08 |
|
#define SF_PATTERN 0x10 |
|
#define SF_NOCASE 0x20 /* unused so far */ |
|
|
typedef struct __rl_search_context |
typedef struct __rl_search_context |
{ |
{ |
Line 106 typedef struct __rl_search_context
|
Line 110 typedef struct __rl_search_context
|
char *search_terminators; |
char *search_terminators; |
} _rl_search_cxt; |
} _rl_search_cxt; |
|
|
|
struct _rl_cmd { |
|
Keymap map; |
|
int count; |
|
int key; |
|
rl_command_func_t *func; |
|
}; |
|
extern struct _rl_cmd _rl_pending_command; |
|
extern struct _rl_cmd *_rl_command_to_execute; |
|
|
/* Callback data for reading numeric arguments */ |
/* Callback data for reading numeric arguments */ |
#define NUM_SAWMINUS 0x01 |
#define NUM_SAWMINUS 0x01 |
#define NUM_SAWDIGITS 0x02 |
#define NUM_SAWDIGITS 0x02 |
Line 124 typedef struct __rl_keyseq_context
|
Line 137 typedef struct __rl_keyseq_context
|
int flags; |
int flags; |
int subseq_arg; |
int subseq_arg; |
int subseq_retval; /* XXX */ |
int subseq_retval; /* XXX */ |
Keymap dmap; | int okey; |
|
|
|
Keymap dmap; |
Keymap oldmap; |
Keymap oldmap; |
int okey; | |
struct __rl_keyseq_context *ocxt; |
struct __rl_keyseq_context *ocxt; |
int childval; |
int childval; |
} _rl_keyseq_cxt; |
} _rl_keyseq_cxt; |
Line 185 extern int rl_visible_stats;
|
Line 199 extern int rl_visible_stats;
|
#endif /* VISIBLE_STATS */ |
#endif /* VISIBLE_STATS */ |
#if defined (COLOR_SUPPORT) |
#if defined (COLOR_SUPPORT) |
extern int _rl_colored_stats; |
extern int _rl_colored_stats; |
|
extern int _rl_colored_completion_prefix; |
#endif |
#endif |
|
|
/* readline.c */ |
/* readline.c */ |
Line 262 extern void _rl_free_match_list PARAMS((char **));
|
Line 277 extern void _rl_free_match_list PARAMS((char **));
|
/* display.c */ |
/* display.c */ |
extern char *_rl_strip_prompt PARAMS((char *)); |
extern char *_rl_strip_prompt PARAMS((char *)); |
extern void _rl_reset_prompt PARAMS((void)); |
extern void _rl_reset_prompt PARAMS((void)); |
extern void _rl_move_cursor_relative PARAMS((int, const char *)); |
|
extern void _rl_move_vert PARAMS((int)); |
extern void _rl_move_vert PARAMS((int)); |
extern void _rl_save_prompt PARAMS((void)); |
extern void _rl_save_prompt PARAMS((void)); |
extern void _rl_restore_prompt PARAMS((void)); |
extern void _rl_restore_prompt PARAMS((void)); |
extern char *_rl_make_prompt_for_search PARAMS((int)); |
extern char *_rl_make_prompt_for_search PARAMS((int)); |
extern void _rl_erase_at_end_of_line PARAMS((int)); |
extern void _rl_erase_at_end_of_line PARAMS((int)); |
extern void _rl_clear_to_eol PARAMS((int)); |
extern void _rl_clear_to_eol PARAMS((int)); |
extern void _rl_clear_screen PARAMS((void)); | extern void _rl_clear_screen PARAMS((int)); |
extern void _rl_update_final PARAMS((void)); |
extern void _rl_update_final PARAMS((void)); |
|
extern void _rl_optimize_redisplay PARAMS((void)); |
extern void _rl_redisplay_after_sigwinch PARAMS((void)); |
extern void _rl_redisplay_after_sigwinch PARAMS((void)); |
extern void _rl_clean_up_for_exit PARAMS((void)); |
extern void _rl_clean_up_for_exit PARAMS((void)); |
extern void _rl_erase_entire_line PARAMS((void)); |
extern void _rl_erase_entire_line PARAMS((void)); |
extern int _rl_current_display_line PARAMS((void)); |
extern int _rl_current_display_line PARAMS((void)); |
|
extern void _rl_refresh_line PARAMS((void)); |
|
|
/* input.c */ |
/* input.c */ |
extern int _rl_any_typein PARAMS((void)); |
extern int _rl_any_typein PARAMS((void)); |
extern int _rl_input_available PARAMS((void)); |
extern int _rl_input_available PARAMS((void)); |
|
extern int _rl_nchars_available PARAMS((void)); |
extern int _rl_input_queued PARAMS((int)); |
extern int _rl_input_queued PARAMS((int)); |
extern void _rl_insert_typein PARAMS((int)); |
extern void _rl_insert_typein PARAMS((int)); |
extern int _rl_unget_char PARAMS((int)); |
extern int _rl_unget_char PARAMS((int)); |
Line 290 extern void _rl_scxt_dispose PARAMS((_rl_search_cxt *,
|
Line 307 extern void _rl_scxt_dispose PARAMS((_rl_search_cxt *,
|
|
|
extern int _rl_isearch_dispatch PARAMS((_rl_search_cxt *, int)); |
extern int _rl_isearch_dispatch PARAMS((_rl_search_cxt *, int)); |
extern int _rl_isearch_callback PARAMS((_rl_search_cxt *)); |
extern int _rl_isearch_callback PARAMS((_rl_search_cxt *)); |
|
extern int _rl_isearch_cleanup PARAMS((_rl_search_cxt *, int)); |
|
|
extern int _rl_search_getchar PARAMS((_rl_search_cxt *)); |
extern int _rl_search_getchar PARAMS((_rl_search_cxt *)); |
|
|
|
/* kill.c */ |
|
#ifndef BRACKETED_PASTE_DEFAULT |
|
# define BRACKETED_PASTE_DEFAULT 1 /* XXX - for now */ |
|
#endif |
|
|
|
#define BRACK_PASTE_PREF "\033[200~" |
|
#define BRACK_PASTE_SUFF "\033[201~" |
|
|
|
#define BRACK_PASTE_LAST '~' |
|
#define BRACK_PASTE_SLEN 6 |
|
|
|
#define BRACK_PASTE_INIT "\033[?2004h" |
|
#define BRACK_PASTE_FINI "\033[?2004l\r" |
|
|
|
extern int _rl_read_bracketed_paste_prefix PARAMS((int)); |
|
extern char *_rl_bracketed_text PARAMS((size_t *)); |
|
extern int _rl_bracketed_read_key PARAMS((void)); |
|
extern int _rl_bracketed_read_mbstring PARAMS((char *, int)); |
|
|
/* macro.c */ |
/* macro.c */ |
extern void _rl_with_macro_input PARAMS((char *)); |
extern void _rl_with_macro_input PARAMS((char *)); |
|
extern int _rl_peek_macro_key PARAMS((void)); |
extern int _rl_next_macro_key PARAMS((void)); |
extern int _rl_next_macro_key PARAMS((void)); |
extern int _rl_prev_macro_key PARAMS((void)); |
extern int _rl_prev_macro_key PARAMS((void)); |
extern void _rl_push_executing_macro PARAMS((void)); |
extern void _rl_push_executing_macro PARAMS((void)); |
Line 313 extern void _rl_start_using_history PARAMS((void));
|
Line 351 extern void _rl_start_using_history PARAMS((void));
|
extern int _rl_free_saved_history_line PARAMS((void)); |
extern int _rl_free_saved_history_line PARAMS((void)); |
extern void _rl_set_insert_mode PARAMS((int, int)); |
extern void _rl_set_insert_mode PARAMS((int, int)); |
|
|
|
extern void _rl_revert_previous_lines PARAMS((void)); |
extern void _rl_revert_all_lines PARAMS((void)); |
extern void _rl_revert_all_lines PARAMS((void)); |
|
|
/* nls.c */ |
/* nls.c */ |
|
extern char *_rl_init_locale PARAMS((void)); |
extern int _rl_init_eightbit PARAMS((void)); |
extern int _rl_init_eightbit PARAMS((void)); |
|
|
/* parens.c */ |
/* parens.c */ |
Line 328 extern int _rl_dispatch PARAMS((int, Keymap));
|
Line 368 extern int _rl_dispatch PARAMS((int, Keymap));
|
extern int _rl_dispatch_subseq PARAMS((int, Keymap, int)); |
extern int _rl_dispatch_subseq PARAMS((int, Keymap, int)); |
extern void _rl_internal_char_cleanup PARAMS((void)); |
extern void _rl_internal_char_cleanup PARAMS((void)); |
|
|
|
extern void _rl_init_executing_keyseq PARAMS((void)); |
|
extern void _rl_term_executing_keyseq PARAMS((void)); |
|
extern void _rl_end_executing_keyseq PARAMS((void)); |
|
extern void _rl_add_executing_keyseq PARAMS((int)); |
|
|
/* rltty.c */ |
/* rltty.c */ |
extern int _rl_disable_tty_signals PARAMS((void)); |
extern int _rl_disable_tty_signals PARAMS((void)); |
extern int _rl_restore_tty_signals PARAMS((void)); |
extern int _rl_restore_tty_signals PARAMS((void)); |
|
|
/* search.c */ |
/* search.c */ |
extern int _rl_nsearch_callback PARAMS((_rl_search_cxt *)); |
extern int _rl_nsearch_callback PARAMS((_rl_search_cxt *)); |
|
extern int _rl_nsearch_cleanup PARAMS((_rl_search_cxt *, int)); |
|
|
/* signals.c */ |
/* signals.c */ |
extern void _rl_signal_handler PARAMS((int)); |
extern void _rl_signal_handler PARAMS((int)); |
Line 352 extern void _rl_output_character_function PARAMS((int)
|
Line 398 extern void _rl_output_character_function PARAMS((int)
|
#else |
#else |
extern int _rl_output_character_function PARAMS((int)); |
extern int _rl_output_character_function PARAMS((int)); |
#endif |
#endif |
|
extern void _rl_cr PARAMS((void)); |
extern void _rl_output_some_chars PARAMS((const char *, int)); |
extern void _rl_output_some_chars PARAMS((const char *, int)); |
extern int _rl_backspace PARAMS((int)); |
extern int _rl_backspace PARAMS((int)); |
extern void _rl_enable_meta_key PARAMS((void)); |
extern void _rl_enable_meta_key PARAMS((void)); |
extern void _rl_disable_meta_key PARAMS((void)); |
extern void _rl_disable_meta_key PARAMS((void)); |
extern void _rl_control_keypad PARAMS((int)); |
extern void _rl_control_keypad PARAMS((int)); |
extern void _rl_set_cursor PARAMS((int, int)); |
extern void _rl_set_cursor PARAMS((int, int)); |
|
extern void _rl_standout_on PARAMS((void)); |
|
extern void _rl_standout_off PARAMS((void)); |
|
|
/* text.c */ |
/* text.c */ |
extern void _rl_fix_point PARAMS((int)); |
extern void _rl_fix_point PARAMS((int)); |
|
extern void _rl_fix_mark PARAMS((void)); |
extern int _rl_replace_text PARAMS((const char *, int, int)); |
extern int _rl_replace_text PARAMS((const char *, int, int)); |
extern int _rl_forward_char_internal PARAMS((int)); |
extern int _rl_forward_char_internal PARAMS((int)); |
|
extern int _rl_backward_char_internal PARAMS((int)); |
extern int _rl_insert_char PARAMS((int, int)); |
extern int _rl_insert_char PARAMS((int, int)); |
extern int _rl_overwrite_char PARAMS((int, int)); |
extern int _rl_overwrite_char PARAMS((int, int)); |
extern int _rl_overwrite_rubout PARAMS((int, int)); |
extern int _rl_overwrite_rubout PARAMS((int, int)); |
Line 410 extern void _rl_vi_initialize_line PARAMS((void));
|
Line 461 extern void _rl_vi_initialize_line PARAMS((void));
|
extern void _rl_vi_reset_last PARAMS((void)); |
extern void _rl_vi_reset_last PARAMS((void)); |
extern void _rl_vi_set_last PARAMS((int, int, int)); |
extern void _rl_vi_set_last PARAMS((int, int, int)); |
extern int _rl_vi_textmod_command PARAMS((int)); |
extern int _rl_vi_textmod_command PARAMS((int)); |
|
extern int _rl_vi_motion_command PARAMS((int)); |
extern void _rl_vi_done_inserting PARAMS((void)); |
extern void _rl_vi_done_inserting PARAMS((void)); |
extern int _rl_vi_domove_callback PARAMS((_rl_vimotion_cxt *)); |
extern int _rl_vi_domove_callback PARAMS((_rl_vimotion_cxt *)); |
|
extern int _rl_vi_domove_motion_cleanup PARAMS((int, _rl_vimotion_cxt *)); |
|
|
/************************************************************************* |
/************************************************************************* |
* Undocumented private variables * |
* Undocumented private variables * |
Line 446 extern int _rl_last_c_pos;
|
Line 499 extern int _rl_last_c_pos;
|
extern int _rl_suppress_redisplay; |
extern int _rl_suppress_redisplay; |
extern int _rl_want_redisplay; |
extern int _rl_want_redisplay; |
|
|
|
extern char *_rl_emacs_mode_str; |
|
extern int _rl_emacs_modestr_len; |
|
extern char *_rl_vi_ins_mode_str; |
|
extern int _rl_vi_ins_modestr_len; |
|
extern char *_rl_vi_cmd_mode_str; |
|
extern int _rl_vi_cmd_modestr_len; |
|
|
/* isearch.c */ |
/* isearch.c */ |
extern char *_rl_isearch_terminators; |
extern char *_rl_isearch_terminators; |
|
|
Line 475 extern int _rl_bind_stty_chars;
|
Line 535 extern int _rl_bind_stty_chars;
|
extern int _rl_revert_all_at_newline; |
extern int _rl_revert_all_at_newline; |
extern int _rl_echo_control_chars; |
extern int _rl_echo_control_chars; |
extern int _rl_show_mode_in_prompt; |
extern int _rl_show_mode_in_prompt; |
|
extern int _rl_enable_bracketed_paste; |
|
extern int _rl_enable_active_region; |
extern char *_rl_comment_begin; |
extern char *_rl_comment_begin; |
extern unsigned char _rl_parsing_conditionalized_out; |
extern unsigned char _rl_parsing_conditionalized_out; |
extern Keymap _rl_keymap; |
extern Keymap _rl_keymap; |
Line 482 extern FILE *_rl_in_stream;
|
Line 544 extern FILE *_rl_in_stream;
|
extern FILE *_rl_out_stream; |
extern FILE *_rl_out_stream; |
extern int _rl_last_command_was_kill; |
extern int _rl_last_command_was_kill; |
extern int _rl_eof_char; |
extern int _rl_eof_char; |
|
extern int _rl_eof_found; |
extern procenv_t _rl_top_level; |
extern procenv_t _rl_top_level; |
extern _rl_keyseq_cxt *_rl_kscxt; |
extern _rl_keyseq_cxt *_rl_kscxt; |
extern int _rl_keyseq_timeout; |
extern int _rl_keyseq_timeout; |
|
|
extern int _rl_executing_keyseq_size; |
extern int _rl_executing_keyseq_size; |
|
|
|
extern rl_hook_func_t *_rl_internal_startup_hook; |
|
|
/* search.c */ |
/* search.c */ |
extern _rl_search_cxt *_rl_nscxt; |
extern _rl_search_cxt *_rl_nscxt; |
|
|
/* signals.c */ |
/* signals.c */ |
extern int _rl_interrupt_immediately; |
|
extern int volatile _rl_caught_signal; |
extern int volatile _rl_caught_signal; |
|
|
extern _rl_sigcleanup_func_t *_rl_sigcleanup; |
extern _rl_sigcleanup_func_t *_rl_sigcleanup; |
Line 509 extern int _rl_enable_keypad;
|
Line 573 extern int _rl_enable_keypad;
|
extern int _rl_enable_meta; |
extern int _rl_enable_meta; |
extern char *_rl_term_clreol; |
extern char *_rl_term_clreol; |
extern char *_rl_term_clrpag; |
extern char *_rl_term_clrpag; |
|
extern char *_rl_term_clrscroll; |
extern char *_rl_term_im; |
extern char *_rl_term_im; |
extern char *_rl_term_ic; |
extern char *_rl_term_ic; |
extern char *_rl_term_ei; |
extern char *_rl_term_ei; |
Line 524 extern int _rl_screenchars;
|
Line 589 extern int _rl_screenchars;
|
extern int _rl_terminal_can_insert; |
extern int _rl_terminal_can_insert; |
extern int _rl_term_autowrap; |
extern int _rl_term_autowrap; |
|
|
|
/* text.c */ |
|
extern int _rl_optimize_typeahead; |
|
extern int _rl_keep_mark_active; |
|
|
/* undo.c */ |
/* undo.c */ |
extern int _rl_doing_an_undo; |
extern int _rl_doing_an_undo; |
extern int _rl_undo_group_level; |
extern int _rl_undo_group_level; |
|
|
/* vi_mode.c */ |
/* vi_mode.c */ |
extern int _rl_vi_last_command; |
extern int _rl_vi_last_command; |
|
extern int _rl_vi_redoing; |
extern _rl_vimotion_cxt *_rl_vimvcxt; |
extern _rl_vimotion_cxt *_rl_vimvcxt; |
|
|
#endif /* _RL_PRIVATE_H_ */ |
#endif /* _RL_PRIVATE_H_ */ |