gdb/testsuite: Allow cc-with-tweaks board file to be used with Fortran
[deliverable/binutils-gdb.git] / readline / readline.h
index 0de168cdd6c0b3fd93ffbd24c771ff0bcf24b27b..da782716af2a52edf38c2e6252bddc54d2f7eb6e 100644 (file)
@@ -1,6 +1,6 @@
 /* Readline.h -- the names of functions callable from within readline. */
 
-/* Copyright (C) 1987-2011 Free Software Foundation, Inc.
+/* Copyright (C) 1987-2016 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    0x0602          /* Readline 6.2 */
-#define RL_VERSION_MAJOR       6
-#define RL_VERSION_MINOR       2
+#define RL_READLINE_VERSION    0x0800          /* Readline 8.0 */
+#define RL_VERSION_MAJOR       8
+#define RL_VERSION_MINOR       0
 
 /* Readline data structures. */
 
@@ -98,6 +98,9 @@ extern int rl_clear_screen 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));
@@ -172,8 +175,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
 
@@ -185,6 +189,7 @@ extern int rl_forward_search_history PARAMS((int, int));
 extern int rl_start_kbd_macro PARAMS((int, int));
 extern int rl_end_kbd_macro PARAMS((int, int));
 extern int rl_call_last_kbd_macro PARAMS((int, int));
+extern int rl_print_last_kbd_macro PARAMS((int, int));
 
 /* Bindable undo commands. */
 extern int rl_revert_line PARAMS((int, int));
@@ -204,6 +209,8 @@ extern int rl_tty_status PARAMS((int, int));
 /* Bindable commands for incremental and non-incremental history searching. */
 extern int rl_history_search_forward PARAMS((int, int));
 extern int rl_history_search_backward PARAMS((int, int));
+extern int rl_history_substr_search_forward PARAMS((int, int));
+extern int rl_history_substr_search_backward PARAMS((int, int));
 extern int rl_noninc_forward_search PARAMS((int, int));
 extern int rl_noninc_reverse_search PARAMS((int, int));
 extern int rl_noninc_forward_search_again PARAMS((int, int));
@@ -216,6 +223,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. */
@@ -244,9 +252,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));
@@ -322,6 +332,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));
@@ -336,14 +347,19 @@ 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));
+extern void rl_free_keymap PARAMS((Keymap));
 
 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));
@@ -371,6 +387,7 @@ 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));
@@ -385,6 +402,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));
@@ -403,6 +421,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));
@@ -432,10 +451,17 @@ 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));
 
+/* History management functions. */
+
+extern void rl_clear_history PARAMS((void));
+
 /* Undocumented. */
 extern int rl_maybe_save_line PARAMS((void));
 extern int rl_maybe_unsave_line PARAMS((void));
@@ -481,7 +507,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. */
@@ -560,6 +586,13 @@ extern rl_hook_func_t *rl_pre_input_hook;
    awaiting character input, or NULL, for no event handling. */
 extern rl_hook_func_t *rl_event_hook;
 
+/* The address of a function to call if a read is interrupted by a signal. */
+extern rl_hook_func_t *rl_signal_event_hook;
+
+/* The address of a function to call if Readline needs to know whether or not
+   there is data available from the current input source. */
+extern rl_hook_func_t *rl_input_available_hook;
+
 /* The address of the function to call to fetch a character from the current
    Readline input stream */
 extern rl_getc_func_t *rl_getc_function;
@@ -573,6 +606,10 @@ extern rl_voidfunc_t *rl_deprep_term_function;
 extern Keymap rl_executing_keymap;
 extern Keymap rl_binding_keymap;
 
+extern int rl_executing_key;
+extern char *rl_executing_keyseq;
+extern int rl_key_sequence_length;
+
 /* Display variables. */
 /* If non-zero, readline will erase the entire line, including any prompt,
    if the only thing typed on an otherwise-blank line is something bound to
@@ -603,6 +640,10 @@ extern int rl_catch_signals;
    to do that. */
 extern int rl_catch_sigwinch;
 
+/* If non-zero, the readline SIGWINCH handler will modify LINES and
+   COLUMNS in the environment. */
+extern int rl_change_environment;
+
 /* Completion variables. */
 /* Pointer to the generator function for completion_matches ().
    NULL means to use rl_filename_completion_function (), the default
@@ -611,7 +652,7 @@ extern rl_compentry_func_t *rl_completion_entry_function;
 
 /* 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
@@ -686,6 +727,13 @@ extern rl_icppfunc_t *rl_directory_completion_hook;
    it in bash to see how well it goes. */
 extern rl_icppfunc_t *rl_directory_rewrite_hook;
 
+/* If non-zero, this is the address of a function for the completer to call
+   before deciding which character to append to a completed name.  It should
+   modify the directory name passed as an argument if appropriate, and return
+   non-zero if it modifies the name.  This should not worry about dequoting
+   the filename; that has already happened by the time it gets here. */
+extern rl_icppfunc_t *rl_filename_stat_hook;
+
 /* If non-zero, this is the address of a function to call when reading
    directory entries from the filesystem for completion and comparing
    them to the partial word to be completed.  The function should
@@ -796,6 +844,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)
@@ -836,9 +892,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))
@@ -849,8 +906,8 @@ struct readline_state {
   int point;
   int end;
   int mark;
-  char *buffer;
   int buflen;
+  char *buffer;
   UNDO_LIST *ul;
   char *prompt;
 
@@ -863,10 +920,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 */
@@ -876,9 +935,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];
 };
This page took 0.026887 seconds and 4 git commands to generate.