--- embedaddon/readline/rlprivate.h 2014/07/30 08:16:45 1.1.1.1 +++ embedaddon/readline/rlprivate.h 2021/03/17 01:01:01 1.1.1.2 @@ -1,7 +1,7 @@ /* rlprivate.h -- functions and variables global to the readline library, 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 for reading lines of text with interactive input and history editing. @@ -26,6 +26,7 @@ #include "rlconf.h" /* for VISIBLE_STATS */ #include "rlstdc.h" #include "posixjmp.h" /* defines procenv_t */ +#include "rlmbutil.h" /* for HANDLE_MULTIBYTE */ /************************************************************************* * * @@ -44,6 +45,7 @@ #define RL_SIG_RECEIVED() (_rl_caught_signal != 0) #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_INPUT_FUNC() (rl_getc_function != rl_getc) @@ -63,6 +65,8 @@ #define SF_FOUND 0x02 #define SF_FAILED 0x04 #define SF_CHGKMAP 0x08 +#define SF_PATTERN 0x10 +#define SF_NOCASE 0x20 /* unused so far */ typedef struct __rl_search_context { @@ -106,6 +110,15 @@ typedef struct __rl_search_context char *search_terminators; } _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 */ #define NUM_SAWMINUS 0x01 #define NUM_SAWDIGITS 0x02 @@ -124,10 +137,11 @@ typedef struct __rl_keyseq_context int flags; int subseq_arg; int subseq_retval; /* XXX */ - Keymap dmap; + int okey; + Keymap dmap; Keymap oldmap; - int okey; + struct __rl_keyseq_context *ocxt; int childval; } _rl_keyseq_cxt; @@ -185,6 +199,7 @@ extern int rl_visible_stats; #endif /* VISIBLE_STATS */ #if defined (COLOR_SUPPORT) extern int _rl_colored_stats; +extern int _rl_colored_completion_prefix; #endif /* readline.c */ @@ -262,23 +277,25 @@ extern void _rl_free_match_list PARAMS((char **)); /* display.c */ extern char *_rl_strip_prompt PARAMS((char *)); 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_save_prompt PARAMS((void)); extern void _rl_restore_prompt PARAMS((void)); extern char *_rl_make_prompt_for_search PARAMS((int)); extern void _rl_erase_at_end_of_line 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_optimize_redisplay PARAMS((void)); extern void _rl_redisplay_after_sigwinch PARAMS((void)); extern void _rl_clean_up_for_exit PARAMS((void)); extern void _rl_erase_entire_line PARAMS((void)); extern int _rl_current_display_line PARAMS((void)); +extern void _rl_refresh_line PARAMS((void)); /* input.c */ extern int _rl_any_typein PARAMS((void)); extern int _rl_input_available PARAMS((void)); +extern int _rl_nchars_available PARAMS((void)); extern int _rl_input_queued PARAMS((int)); extern void _rl_insert_typein PARAMS((int)); extern int _rl_unget_char PARAMS((int)); @@ -290,11 +307,32 @@ extern void _rl_scxt_dispose PARAMS((_rl_search_cxt *, extern int _rl_isearch_dispatch PARAMS((_rl_search_cxt *, int)); 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 *)); +/* 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 */ 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_prev_macro_key PARAMS((void)); extern void _rl_push_executing_macro PARAMS((void)); @@ -313,9 +351,11 @@ extern void _rl_start_using_history PARAMS((void)); extern int _rl_free_saved_history_line PARAMS((void)); 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)); /* nls.c */ +extern char *_rl_init_locale PARAMS((void)); extern int _rl_init_eightbit PARAMS((void)); /* parens.c */ @@ -328,12 +368,18 @@ extern int _rl_dispatch PARAMS((int, Keymap)); extern int _rl_dispatch_subseq PARAMS((int, Keymap, int)); 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 */ extern int _rl_disable_tty_signals PARAMS((void)); extern int _rl_restore_tty_signals PARAMS((void)); /* search.c */ extern int _rl_nsearch_callback PARAMS((_rl_search_cxt *)); +extern int _rl_nsearch_cleanup PARAMS((_rl_search_cxt *, int)); /* signals.c */ extern void _rl_signal_handler PARAMS((int)); @@ -352,17 +398,22 @@ extern void _rl_output_character_function PARAMS((int) #else extern int _rl_output_character_function PARAMS((int)); #endif +extern void _rl_cr PARAMS((void)); extern void _rl_output_some_chars PARAMS((const char *, int)); extern int _rl_backspace PARAMS((int)); extern void _rl_enable_meta_key PARAMS((void)); extern void _rl_disable_meta_key PARAMS((void)); extern void _rl_control_keypad PARAMS((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 */ 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_forward_char_internal PARAMS((int)); +extern int _rl_backward_char_internal PARAMS((int)); extern int _rl_insert_char PARAMS((int, int)); extern int _rl_overwrite_char PARAMS((int, int)); extern int _rl_overwrite_rubout PARAMS((int, int)); @@ -410,8 +461,10 @@ extern void _rl_vi_initialize_line PARAMS((void)); extern void _rl_vi_reset_last PARAMS((void)); extern void _rl_vi_set_last PARAMS((int, int, 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 int _rl_vi_domove_callback PARAMS((_rl_vimotion_cxt *)); +extern int _rl_vi_domove_motion_cleanup PARAMS((int, _rl_vimotion_cxt *)); /************************************************************************* * Undocumented private variables * @@ -446,6 +499,13 @@ extern int _rl_last_c_pos; extern int _rl_suppress_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 */ extern char *_rl_isearch_terminators; @@ -475,6 +535,8 @@ extern int _rl_bind_stty_chars; extern int _rl_revert_all_at_newline; extern int _rl_echo_control_chars; 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 unsigned char _rl_parsing_conditionalized_out; extern Keymap _rl_keymap; @@ -482,17 +544,19 @@ extern FILE *_rl_in_stream; extern FILE *_rl_out_stream; extern int _rl_last_command_was_kill; extern int _rl_eof_char; +extern int _rl_eof_found; extern procenv_t _rl_top_level; extern _rl_keyseq_cxt *_rl_kscxt; extern int _rl_keyseq_timeout; extern int _rl_executing_keyseq_size; +extern rl_hook_func_t *_rl_internal_startup_hook; + /* search.c */ extern _rl_search_cxt *_rl_nscxt; /* signals.c */ -extern int _rl_interrupt_immediately; extern int volatile _rl_caught_signal; extern _rl_sigcleanup_func_t *_rl_sigcleanup; @@ -509,6 +573,7 @@ extern int _rl_enable_keypad; extern int _rl_enable_meta; extern char *_rl_term_clreol; extern char *_rl_term_clrpag; +extern char *_rl_term_clrscroll; extern char *_rl_term_im; extern char *_rl_term_ic; extern char *_rl_term_ei; @@ -524,12 +589,17 @@ extern int _rl_screenchars; extern int _rl_terminal_can_insert; extern int _rl_term_autowrap; +/* text.c */ +extern int _rl_optimize_typeahead; +extern int _rl_keep_mark_active; + /* undo.c */ extern int _rl_doing_an_undo; extern int _rl_undo_group_level; /* vi_mode.c */ extern int _rl_vi_last_command; +extern int _rl_vi_redoing; extern _rl_vimotion_cxt *_rl_vimvcxt; #endif /* _RL_PRIVATE_H_ */