--- embedaddon/readline/readline.h 2014/07/30 08:16:45 1.1.1.1 +++ embedaddon/readline/readline.h 2021/03/17 01:01:01 1.1.1.2 @@ -1,6 +1,6 @@ /* Readline.h -- the names of functions callable from within readline. */ -/* Copyright (C) 1987-2013 Free Software Foundation, Inc. +/* Copyright (C) 1987-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. @@ -39,9 +39,9 @@ extern "C" { #endif /* Hex-encoded Readline version number. */ -#define RL_READLINE_VERSION 0x0603 /* Readline 6.3 */ -#define RL_VERSION_MAJOR 6 -#define RL_VERSION_MINOR 3 +#define RL_READLINE_VERSION 0x0801 /* Readline 8.0 */ +#define RL_VERSION_MAJOR 8 +#define RL_VERSION_MINOR 1 /* Readline data structures. */ @@ -95,9 +95,13 @@ extern int rl_forward_word PARAMS((int, int)); extern int rl_backward_word PARAMS((int, int)); extern int rl_refresh_line PARAMS((int, int)); extern int rl_clear_screen PARAMS((int, int)); +extern int rl_clear_display PARAMS((int, int)); extern int rl_skip_csi_sequence PARAMS((int, int)); extern int rl_arrow_keys PARAMS((int, int)); +extern int rl_previous_screen_line PARAMS((int, int)); +extern int rl_next_screen_line PARAMS((int, int)); + /* Bindable commands for inserting and deleting text. */ extern int rl_insert PARAMS((int, int)); extern int rl_quoted_insert PARAMS((int, int)); @@ -129,6 +133,7 @@ extern int rl_beginning_of_history PARAMS((int, int)); extern int rl_end_of_history PARAMS((int, int)); extern int rl_get_next_history PARAMS((int, int)); extern int rl_get_previous_history PARAMS((int, int)); +extern int rl_operate_and_get_next PARAMS((int, int)); /* Bindable commands for managing the mark and region. */ extern int rl_set_mark PARAMS((int, int)); @@ -172,8 +177,9 @@ extern int rl_yank PARAMS((int, int)); extern int rl_yank_pop PARAMS((int, int)); extern int rl_yank_nth_arg PARAMS((int, int)); extern int rl_yank_last_arg PARAMS((int, int)); -/* Not available unless __CYGWIN__ is defined. */ -#ifdef __CYGWIN__ +extern int rl_bracketed_paste_begin PARAMS((int, int)); +/* Not available unless _WIN32 is defined. */ +#if defined (_WIN32) extern int rl_paste_from_clipboard PARAMS((int, int)); #endif @@ -219,6 +225,7 @@ extern int rl_insert_close PARAMS((int, int)); extern void rl_callback_handler_install PARAMS((const char *, rl_vcpfunc_t *)); extern void rl_callback_read_char PARAMS((void)); extern void rl_callback_handler_remove PARAMS((void)); +extern void rl_callback_sigcleanup PARAMS((void)); /* Things for vi mode. Not available unless readline is compiled -DVI_MODE. */ /* VI-mode bindable commands. */ @@ -247,9 +254,11 @@ extern int rl_vi_column PARAMS((int, int)); extern int rl_vi_delete_to PARAMS((int, int)); extern int rl_vi_change_to PARAMS((int, int)); extern int rl_vi_yank_to PARAMS((int, int)); +extern int rl_vi_yank_pop PARAMS((int, int)); extern int rl_vi_rubout PARAMS((int, int)); extern int rl_vi_delete PARAMS((int, int)); extern int rl_vi_back_to_indent PARAMS((int, int)); +extern int rl_vi_unix_word_rubout PARAMS((int, int)); extern int rl_vi_first_print PARAMS((int, int)); extern int rl_vi_char_search PARAMS((int, int)); extern int rl_vi_match PARAMS((int, int)); @@ -325,6 +334,7 @@ extern char *rl_untranslate_keyseq PARAMS((int)); extern rl_command_func_t *rl_named_function PARAMS((const char *)); extern rl_command_func_t *rl_function_of_keyseq PARAMS((const char *, Keymap, int *)); +extern rl_command_func_t *rl_function_of_keyseq_len PARAMS((const char *, size_t, Keymap, int *)); extern void rl_list_funmap_names PARAMS((void)); extern char **rl_invoking_keyseqs_in_map PARAMS((rl_command_func_t *, Keymap)); @@ -339,6 +349,7 @@ extern int rl_parse_and_bind PARAMS((char *)); /* Functions for manipulating keymaps. */ extern Keymap rl_make_bare_keymap PARAMS((void)); +extern int rl_empty_keymap PARAMS((Keymap)); extern Keymap rl_copy_keymap PARAMS((Keymap)); extern Keymap rl_make_keymap PARAMS((void)); extern void rl_discard_keymap PARAMS((Keymap)); @@ -348,6 +359,9 @@ extern Keymap rl_get_keymap_by_name PARAMS((const char extern char *rl_get_keymap_name PARAMS((Keymap)); extern void rl_set_keymap PARAMS((Keymap)); extern Keymap rl_get_keymap PARAMS((void)); + +extern int rl_set_keymap_name PARAMS((const char *, Keymap)); + /* Undocumented; used internally only. */ extern void rl_set_keymap_from_edit_mode PARAMS((void)); extern char *rl_get_keymap_name_from_edit_mode PARAMS((void)); @@ -375,10 +389,19 @@ extern void rl_redisplay PARAMS((void)); extern int rl_on_new_line PARAMS((void)); extern int rl_on_new_line_with_prompt PARAMS((void)); extern int rl_forced_update_display PARAMS((void)); +extern int rl_clear_visible_line PARAMS((void)); extern int rl_clear_message PARAMS((void)); extern int rl_reset_line_state PARAMS((void)); extern int rl_crlf PARAMS((void)); +/* Functions to manage the mark and region, especially the notion of an + active mark and an active region. */ +extern void rl_keep_mark_active PARAMS((void)); + +extern void rl_activate_mark PARAMS((void)); +extern void rl_deactivate_mark PARAMS((void)); +extern int rl_mark_active_p PARAMS((void)); + #if defined (USE_VARARGS) && defined (PREFER_STDARG) extern int rl_message (const char *, ...) __attribute__((__format__ (printf, 1, 2))); #else @@ -389,6 +412,7 @@ extern int rl_show_char PARAMS((int)); /* Undocumented in texinfo manual. */ extern int rl_character_len PARAMS((int, int)); +extern void rl_redraw_prompt_last_line PARAMS((void)); /* Save and restore internal prompt redisplay information. */ extern void rl_save_prompt PARAMS((void)); @@ -407,6 +431,7 @@ extern void rl_deprep_terminal PARAMS((void)); extern void rl_tty_set_default_bindings PARAMS((Keymap)); extern void rl_tty_unset_default_bindings PARAMS((Keymap)); +extern int rl_tty_set_echoing PARAMS((int)); extern int rl_reset_terminal PARAMS((const char *)); extern void rl_resize_terminal PARAMS((void)); extern void rl_set_screen_size PARAMS((int, int)); @@ -436,6 +461,9 @@ extern void rl_cleanup_after_signal PARAMS((void)); extern void rl_reset_after_signal PARAMS((void)); extern void rl_free_line_state PARAMS((void)); +extern int rl_pending_signal PARAMS((void)); +extern void rl_check_signals PARAMS((void)); + extern void rl_echo_signal_char PARAMS((int)); extern int rl_set_paren_blink_timeout PARAMS((int)); @@ -489,7 +517,7 @@ extern int rl_readline_version; /* e.g., 0x0402 */ extern int rl_gnu_readline_p; /* Flags word encapsulating the current readline state. */ -extern int rl_readline_state; +extern unsigned long rl_readline_state; /* Says which editing mode readline is currently using. 1 means emacs mode; 0 means vi mode. */ @@ -634,7 +662,7 @@ extern rl_compentry_func_t *rl_completion_entry_functi /* Optional generator for menu completion. Default is rl_completion_entry_function (rl_filename_completion_function). */ - extern rl_compentry_func_t *rl_menu_completion_entry_function; +extern rl_compentry_func_t *rl_menu_completion_entry_function; /* If rl_ignore_some_completions_function is non-NULL it is the address of a function to call after all of the possible matches have been @@ -826,6 +854,14 @@ extern int rl_ignore_completion_duplicates; completion character will be inserted as any other. */ extern int rl_inhibit_completion; +/* Applications can set this to non-zero to have readline's signal handlers + installed during the entire duration of reading a complete line, as in + readline-6.2. This should be used with care, because it can result in + readline receiving signals and not handling them until it's called again + via rl_callback_read_char, thereby stealing them from the application. + By default, signal handlers are only active while readline is active. */ +extern int rl_persistent_signal_handlers; + /* Input error; can be returned by (*rl_getc_function) if readline is reading a top-level command (RL_ISSTATE (RL_STATE_READCMD)). */ #define READERR (-2) @@ -866,9 +902,10 @@ extern int rl_inhibit_completion; #define RL_STATE_VIMOTION 0x0100000 /* reading vi motion arg */ #define RL_STATE_MULTIKEY 0x0200000 /* reading multiple-key command */ #define RL_STATE_VICMDONCE 0x0400000 /* entered vi command mode at least once */ -#define RL_STATE_REDISPLAYING 0x0800000 /* updating terminal display */ +#define RL_STATE_CHARSEARCH 0x0800000 /* vi mode char search */ +#define RL_STATE_REDISPLAYING 0x1000000 /* updating terminal display */ -#define RL_STATE_DONE 0x1000000 /* done; accepted line */ +#define RL_STATE_DONE 0x2000000 /* done; accepted line */ #define RL_SETSTATE(x) (rl_readline_state |= (x)) #define RL_UNSETSTATE(x) (rl_readline_state &= ~(x)) @@ -879,8 +916,8 @@ struct readline_state { int point; int end; int mark; - char *buffer; int buflen; + char *buffer; UNDO_LIST *ul; char *prompt; @@ -893,10 +930,12 @@ struct readline_state { rl_command_func_t *lastfunc; int insmode; int edmode; + char *kseq; int kseqlen; + + int pendingin; FILE *inf; FILE *outf; - int pendingin; char *macro; /* signal state */ @@ -906,9 +945,16 @@ struct readline_state { /* search state */ /* completion state */ + rl_compentry_func_t *entryfunc; + rl_compentry_func_t *menuentryfunc; + rl_compignore_func_t *ignorefunc; + rl_completion_func_t *attemptfunc; + char *wordbreakchars; /* options state */ + /* hook state */ + /* reserved for future expansion, so the struct size doesn't change */ char reserved[64]; };