Automatic date update in version.in
[deliverable/binutils-gdb.git] / readline / rlprivate.h
CommitLineData
f9267e15
EZ
1/* rlprivate.h -- functions and variables global to the readline library,
2 but not intended for use by applications. */
3
775e241e 4/* Copyright (C) 1999-2015 Free Software Foundation, Inc.
f9267e15 5
cc88a640
JK
6 This file is part of the GNU Readline Library (Readline), a library
7 for reading lines of text with interactive input and history editing.
f9267e15 8
cc88a640
JK
9 Readline is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
f9267e15
EZ
12 (at your option) any later version.
13
cc88a640
JK
14 Readline is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
f9267e15
EZ
17 GNU General Public License for more details.
18
cc88a640
JK
19 You should have received a copy of the GNU General Public License
20 along with Readline. If not, see <http://www.gnu.org/licenses/>.
21*/
f9267e15
EZ
22
23#if !defined (_RL_PRIVATE_H_)
24#define _RL_PRIVATE_H_
25
26#include "rlconf.h" /* for VISIBLE_STATS */
27#include "rlstdc.h"
9255ee31 28#include "posixjmp.h" /* defines procenv_t */
cb41b9e7 29#include "rlmbutil.h" /* for HANDLE_MULTIBYTE */
f9267e15 30
cc88a640
JK
31/*************************************************************************
32 * *
33 * Convenience definitions *
34 * *
35 *************************************************************************/
36
37#define EMACS_MODE() (rl_editing_mode == emacs_mode)
38#define VI_COMMAND_MODE() (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap)
39#define VI_INSERT_MODE() (rl_editing_mode == vi_mode && _rl_keymap == vi_insertion_keymap)
40
41#define RL_CHECK_SIGNALS() \
42 do { \
43 if (_rl_caught_signal) _rl_signal_handler (_rl_caught_signal); \
44 } while (0)
45
775e241e
TT
46#define RL_SIG_RECEIVED() (_rl_caught_signal != 0)
47#define RL_SIGINT_RECEIVED() (_rl_caught_signal == SIGINT)
48#define RL_SIGWINCH_RECEIVED() (_rl_caught_signal == SIGWINCH)
49
50#define CUSTOM_REDISPLAY_FUNC() (rl_redisplay_function != rl_redisplay)
51#define CUSTOM_INPUT_FUNC() (rl_getc_function != rl_getc)
52
5bdf8622
DJ
53/*************************************************************************
54 * *
55 * Global structs undocumented in texinfo manual and not in readline.h *
56 * *
57 *************************************************************************/
58/* search types */
59#define RL_SEARCH_ISEARCH 0x01 /* incremental search */
60#define RL_SEARCH_NSEARCH 0x02 /* non-incremental search */
61#define RL_SEARCH_CSEARCH 0x04 /* intra-line char search */
62
63/* search flags */
64#define SF_REVERSE 0x01
65#define SF_FOUND 0x02
66#define SF_FAILED 0x04
cc88a640 67#define SF_CHGKMAP 0x08
cb41b9e7 68#define SF_PATTERN 0x10 /* unused so far */
5bdf8622
DJ
69
70typedef struct __rl_search_context
71{
72 int type;
73 int sflags;
74
75 char *search_string;
76 int search_string_index;
77 int search_string_size;
78
79 char **lines;
80 char *allocated_line;
81 int hlen;
82 int hindex;
83
84 int save_point;
85 int save_mark;
86 int save_line;
87 int last_found_line;
88 char *prev_line_found;
89
90 UNDO_LIST *save_undo_list;
91
cc88a640
JK
92 Keymap keymap; /* used when dispatching commands in search string */
93 Keymap okeymap; /* original keymap */
94
5bdf8622
DJ
95 int history_pos;
96 int direction;
97
775e241e 98 int prevc;
5bdf8622
DJ
99 int lastc;
100#if defined (HANDLE_MULTIBYTE)
101 char mb[MB_LEN_MAX];
775e241e 102 char pmb[MB_LEN_MAX];
5bdf8622
DJ
103#endif
104
105 char *sline;
106 int sline_len;
107 int sline_index;
108
109 char *search_terminators;
110} _rl_search_cxt;
111
112/* Callback data for reading numeric arguments */
113#define NUM_SAWMINUS 0x01
114#define NUM_SAWDIGITS 0x02
115#define NUM_READONE 0x04
116
117typedef int _rl_arg_cxt;
118
119/* A context for reading key sequences longer than a single character when
120 using the callback interface. */
121#define KSEQ_DISPATCHED 0x01
122#define KSEQ_SUBSEQ 0x02
123#define KSEQ_RECURSIVE 0x04
124
125typedef struct __rl_keyseq_context
126{
127 int flags;
128 int subseq_arg;
129 int subseq_retval; /* XXX */
775e241e 130 int okey;
5bdf8622 131
775e241e 132 Keymap dmap;
5bdf8622 133 Keymap oldmap;
775e241e 134
5bdf8622
DJ
135 struct __rl_keyseq_context *ocxt;
136 int childval;
137} _rl_keyseq_cxt;
138
cc88a640
JK
139/* vi-mode commands that use result of motion command to define boundaries */
140#define VIM_DELETE 0x01
141#define VIM_CHANGE 0x02
142#define VIM_YANK 0x04
143
144/* various states for vi-mode commands that use motion commands. reflects
145 RL_READLINE_STATE */
146#define VMSTATE_READ 0x01
147#define VMSTATE_NUMARG 0x02
148
149typedef struct __rl_vimotion_context
150{
151 int op;
152 int state;
153 int flags; /* reserved */
154 _rl_arg_cxt ncxt;
155 int numeric_arg;
156 int start, end; /* rl_point, rl_end */
157 int key, motion; /* initial key, motion command */
158} _rl_vimotion_cxt;
159
160/* fill in more as needed */
5bdf8622
DJ
161/* `Generic' callback data and functions */
162typedef struct __rl_callback_generic_arg
163{
164 int count;
165 int i1, i2;
166 /* add here as needed */
167} _rl_callback_generic_arg;
168
169typedef int _rl_callback_func_t PARAMS((_rl_callback_generic_arg *));
170
775e241e
TT
171typedef void _rl_sigcleanup_func_t PARAMS((int, void *));
172
f9267e15
EZ
173/*************************************************************************
174 * *
175 * Global functions undocumented in texinfo manual and not in readline.h *
176 * *
177 *************************************************************************/
178
f9267e15
EZ
179/*************************************************************************
180 * *
181 * Global variables undocumented in texinfo manual and not in readline.h *
182 * *
183 *************************************************************************/
184
185/* complete.c */
186extern int rl_complete_with_tilde_expansion;
187#if defined (VISIBLE_STATS)
188extern int rl_visible_stats;
189#endif /* VISIBLE_STATS */
775e241e
TT
190#if defined (COLOR_SUPPORT)
191extern int _rl_colored_stats;
192extern int _rl_colored_completion_prefix;
193#endif
f9267e15
EZ
194
195/* readline.c */
196extern int rl_line_buffer_len;
f9267e15 197extern int rl_arg_sign;
f9267e15 198extern int rl_visible_prompt_length;
9255ee31 199extern int rl_byte_oriented;
f9267e15
EZ
200
201/* display.c */
202extern int rl_display_fixed;
203
204/* parens.c */
205extern int rl_blink_matching_paren;
206
207/*************************************************************************
208 * *
775e241e 209 * Global functions and variables unused and undocumented *
f9267e15
EZ
210 * *
211 *************************************************************************/
212
f9267e15 213/* kill.c */
9255ee31 214extern int rl_set_retained_kills PARAMS((int));
f9267e15
EZ
215
216/* terminal.c */
9255ee31 217extern void _rl_set_screen_size PARAMS((int, int));
f9267e15
EZ
218
219/* undo.c */
9255ee31 220extern int _rl_fix_last_undo_of_type PARAMS((int, int, int));
f9267e15
EZ
221
222/* util.c */
9255ee31 223extern char *_rl_savestring PARAMS((const char *));
f9267e15
EZ
224
225/*************************************************************************
226 * *
227 * Functions and variables private to the readline library *
228 * *
229 *************************************************************************/
230
231/* NOTE: Functions and variables prefixed with `_rl_' are
232 pseudo-global: they are global so they can be shared
233 between files in the readline library, but are not intended
234 to be visible to readline callers. */
235
236/*************************************************************************
237 * Undocumented private functions *
238 *************************************************************************/
239
240#if defined(READLINE_CALLBACKS)
241
242/* readline.c */
9255ee31
EZ
243extern void readline_internal_setup PARAMS((void));
244extern char *readline_internal_teardown PARAMS((int));
245extern int readline_internal_char PARAMS((void));
f9267e15 246
5bdf8622
DJ
247extern _rl_keyseq_cxt *_rl_keyseq_cxt_alloc PARAMS((void));
248extern void _rl_keyseq_cxt_dispose PARAMS((_rl_keyseq_cxt *));
249extern void _rl_keyseq_chain_dispose PARAMS((void));
250
251extern int _rl_dispatch_callback PARAMS((_rl_keyseq_cxt *));
252
253/* callback.c */
254extern _rl_callback_generic_arg *_rl_callback_data_alloc PARAMS((int));
255extern void _rl_callback_data_dispose PARAMS((_rl_callback_generic_arg *));
256
f9267e15
EZ
257#endif /* READLINE_CALLBACKS */
258
259/* bind.c */
775e241e 260extern char *_rl_untranslate_macro_value PARAMS((char *, int));
9255ee31
EZ
261
262/* complete.c */
cc88a640 263extern void _rl_reset_completion_state PARAMS((void));
9255ee31
EZ
264extern char _rl_find_completion_word PARAMS((int *, int *));
265extern void _rl_free_match_list PARAMS((char **));
f9267e15
EZ
266
267/* display.c */
9255ee31 268extern char *_rl_strip_prompt PARAMS((char *));
775e241e 269extern void _rl_reset_prompt PARAMS((void));
9255ee31
EZ
270extern void _rl_move_cursor_relative PARAMS((int, const char *));
271extern void _rl_move_vert PARAMS((int));
272extern void _rl_save_prompt PARAMS((void));
273extern void _rl_restore_prompt PARAMS((void));
274extern char *_rl_make_prompt_for_search PARAMS((int));
275extern void _rl_erase_at_end_of_line PARAMS((int));
276extern void _rl_clear_to_eol PARAMS((int));
277extern void _rl_clear_screen PARAMS((void));
278extern void _rl_update_final PARAMS((void));
279extern void _rl_redisplay_after_sigwinch PARAMS((void));
280extern void _rl_clean_up_for_exit PARAMS((void));
281extern void _rl_erase_entire_line PARAMS((void));
282extern int _rl_current_display_line PARAMS((void));
f9267e15
EZ
283
284/* input.c */
9255ee31
EZ
285extern int _rl_any_typein PARAMS((void));
286extern int _rl_input_available PARAMS((void));
287extern int _rl_input_queued PARAMS((int));
288extern void _rl_insert_typein PARAMS((int));
289extern int _rl_unget_char PARAMS((int));
5bdf8622
DJ
290extern int _rl_pushed_input_available PARAMS((void));
291
292/* isearch.c */
293extern _rl_search_cxt *_rl_scxt_alloc PARAMS((int, int));
294extern void _rl_scxt_dispose PARAMS((_rl_search_cxt *, int));
295
296extern int _rl_isearch_dispatch PARAMS((_rl_search_cxt *, int));
297extern int _rl_isearch_callback PARAMS((_rl_search_cxt *));
775e241e 298extern int _rl_isearch_cleanup PARAMS((_rl_search_cxt *, int));
5bdf8622
DJ
299
300extern int _rl_search_getchar PARAMS((_rl_search_cxt *));
f9267e15 301
775e241e
TT
302/* kill.c */
303#define BRACK_PASTE_PREF "\033[200~"
304#define BRACK_PASTE_SUFF "\033[201~"
305
306#define BRACK_PASTE_LAST '~'
307#define BRACK_PASTE_SLEN 6
308
309#define BRACK_PASTE_INIT "\033[?2004h"
cb41b9e7
TT
310#define BRACK_PASTE_FINI "\033[?2004l\r"
311
312extern char *_rl_bracketed_text PARAMS((size_t *));
775e241e 313
f9267e15 314/* macro.c */
9255ee31 315extern void _rl_with_macro_input PARAMS((char *));
cb41b9e7 316extern int _rl_peek_macro_key PARAMS((void));
9255ee31 317extern int _rl_next_macro_key PARAMS((void));
775e241e 318extern int _rl_prev_macro_key PARAMS((void));
9255ee31
EZ
319extern void _rl_push_executing_macro PARAMS((void));
320extern void _rl_pop_executing_macro PARAMS((void));
321extern void _rl_add_macro_char PARAMS((int));
322extern void _rl_kill_kbd_macro PARAMS((void));
323
324/* misc.c */
5bdf8622
DJ
325extern int _rl_arg_overflow PARAMS((void));
326extern void _rl_arg_init PARAMS((void));
327extern int _rl_arg_getchar PARAMS((void));
328extern int _rl_arg_callback PARAMS((_rl_arg_cxt));
329extern void _rl_reset_argument PARAMS((void));
330
9255ee31
EZ
331extern void _rl_start_using_history PARAMS((void));
332extern int _rl_free_saved_history_line PARAMS((void));
333extern void _rl_set_insert_mode PARAMS((int, int));
f9267e15 334
cc88a640
JK
335extern void _rl_revert_all_lines PARAMS((void));
336
f9267e15 337/* nls.c */
cb41b9e7 338extern char *_rl_init_locale PARAMS((void));
9255ee31 339extern int _rl_init_eightbit PARAMS((void));
f9267e15
EZ
340
341/* parens.c */
9255ee31 342extern void _rl_enable_paren_matching PARAMS((int));
f9267e15
EZ
343
344/* readline.c */
9255ee31
EZ
345extern void _rl_init_line_state PARAMS((void));
346extern void _rl_set_the_line PARAMS((void));
347extern int _rl_dispatch PARAMS((int, Keymap));
348extern int _rl_dispatch_subseq PARAMS((int, Keymap, int));
5bdf8622 349extern void _rl_internal_char_cleanup PARAMS((void));
f9267e15
EZ
350
351/* rltty.c */
9255ee31
EZ
352extern int _rl_disable_tty_signals PARAMS((void));
353extern int _rl_restore_tty_signals PARAMS((void));
f9267e15 354
5bdf8622
DJ
355/* search.c */
356extern int _rl_nsearch_callback PARAMS((_rl_search_cxt *));
775e241e 357extern int _rl_nsearch_cleanup PARAMS((_rl_search_cxt *, int));
5bdf8622 358
cc88a640
JK
359/* signals.c */
360extern void _rl_signal_handler PARAMS((int));
361
362extern void _rl_block_sigint PARAMS((void));
363extern void _rl_release_sigint PARAMS((void));
364extern void _rl_block_sigwinch PARAMS((void));
365extern void _rl_release_sigwinch PARAMS((void));
366
f9267e15 367/* terminal.c */
9255ee31 368extern void _rl_get_screen_size PARAMS((int, int));
775e241e 369extern void _rl_sigwinch_resize_terminal PARAMS((void));
9255ee31 370extern int _rl_init_terminal_io PARAMS((const char *));
f9267e15 371#ifdef _MINIX
9255ee31
EZ
372extern void _rl_output_character_function PARAMS((int));
373#else
374extern int _rl_output_character_function PARAMS((int));
375#endif
376extern void _rl_output_some_chars PARAMS((const char *, int));
377extern int _rl_backspace PARAMS((int));
378extern void _rl_enable_meta_key PARAMS((void));
775e241e 379extern void _rl_disable_meta_key PARAMS((void));
9255ee31
EZ
380extern void _rl_control_keypad PARAMS((int));
381extern void _rl_set_cursor PARAMS((int, int));
382
383/* text.c */
384extern void _rl_fix_point PARAMS((int));
385extern int _rl_replace_text PARAMS((const char *, int, int));
cc88a640 386extern int _rl_forward_char_internal PARAMS((int));
cb41b9e7 387extern int _rl_backward_char_internal PARAMS((int));
9255ee31
EZ
388extern int _rl_insert_char PARAMS((int, int));
389extern int _rl_overwrite_char PARAMS((int, int));
390extern int _rl_overwrite_rubout PARAMS((int, int));
391extern int _rl_rubout_char PARAMS((int, int));
392#if defined (HANDLE_MULTIBYTE)
393extern int _rl_char_search_internal PARAMS((int, int, char *, int));
f9267e15 394#else
9255ee31 395extern int _rl_char_search_internal PARAMS((int, int, int));
f9267e15 396#endif
9255ee31 397extern int _rl_set_mark_at_pos PARAMS((int));
f9267e15 398
cc88a640
JK
399/* undo.c */
400extern UNDO_LIST *_rl_copy_undo_entry PARAMS((UNDO_LIST *));
401extern UNDO_LIST *_rl_copy_undo_list PARAMS((UNDO_LIST *));
775e241e 402extern void _rl_free_undo_list PARAMS((UNDO_LIST *));
cc88a640 403
f9267e15 404/* util.c */
cc88a640
JK
405#if defined (USE_VARARGS) && defined (PREFER_STDARG)
406extern void _rl_ttymsg (const char *, ...) __attribute__((__format__ (printf, 1, 2)));
407extern void _rl_errmsg (const char *, ...) __attribute__((__format__ (printf, 1, 2)));
408extern void _rl_trace (const char *, ...) __attribute__((__format__ (printf, 1, 2)));
409#else
410extern void _rl_ttymsg ();
411extern void _rl_errmsg ();
412extern void _rl_trace ();
413#endif
775e241e 414extern void _rl_audit_tty PARAMS((char *));
cc88a640
JK
415
416extern int _rl_tropen PARAMS((void));
417
9255ee31 418extern int _rl_abort_internal PARAMS((void));
cc88a640 419extern int _rl_null_function PARAMS((int, int));
9255ee31
EZ
420extern char *_rl_strindex PARAMS((const char *, const char *));
421extern int _rl_qsort_string_compare PARAMS((char **, char **));
422extern int (_rl_uppercase_p) PARAMS((int));
423extern int (_rl_lowercase_p) PARAMS((int));
424extern int (_rl_pure_alphabetic) PARAMS((int));
425extern int (_rl_digit_p) PARAMS((int));
426extern int (_rl_to_lower) PARAMS((int));
427extern int (_rl_to_upper) PARAMS((int));
428extern int (_rl_digit_value) PARAMS((int));
f9267e15
EZ
429
430/* vi_mode.c */
9255ee31
EZ
431extern void _rl_vi_initialize_line PARAMS((void));
432extern void _rl_vi_reset_last PARAMS((void));
433extern void _rl_vi_set_last PARAMS((int, int, int));
434extern int _rl_vi_textmod_command PARAMS((int));
775e241e 435extern int _rl_vi_motion_command PARAMS((int));
9255ee31 436extern void _rl_vi_done_inserting PARAMS((void));
cc88a640 437extern int _rl_vi_domove_callback PARAMS((_rl_vimotion_cxt *));
775e241e 438extern int _rl_vi_domove_motion_cleanup PARAMS((int, _rl_vimotion_cxt *));
f9267e15
EZ
439
440/*************************************************************************
441 * Undocumented private variables *
442 *************************************************************************/
443
9255ee31 444/* bind.c */
cc88a640
JK
445extern const char * const _rl_possible_control_prefixes[];
446extern const char * const _rl_possible_meta_prefixes[];
9255ee31 447
5bdf8622
DJ
448/* callback.c */
449extern _rl_callback_func_t *_rl_callback_func;
450extern _rl_callback_generic_arg *_rl_callback_data;
451
f9267e15
EZ
452/* complete.c */
453extern int _rl_complete_show_all;
5bdf8622 454extern int _rl_complete_show_unmodified;
f9267e15 455extern int _rl_complete_mark_directories;
9255ee31 456extern int _rl_complete_mark_symlink_dirs;
cc88a640
JK
457extern int _rl_completion_prefix_display_length;
458extern int _rl_completion_columns;
f9267e15
EZ
459extern int _rl_print_completions_horizontally;
460extern int _rl_completion_case_fold;
cc88a640 461extern int _rl_completion_case_map;
9255ee31
EZ
462extern int _rl_match_hidden_files;
463extern int _rl_page_completions;
cc88a640
JK
464extern int _rl_skip_completed_text;
465extern int _rl_menu_complete_prefix_first;
f9267e15
EZ
466
467/* display.c */
468extern int _rl_vis_botlin;
469extern int _rl_last_c_pos;
470extern int _rl_suppress_redisplay;
5bdf8622 471extern int _rl_want_redisplay;
f9267e15 472
775e241e
TT
473extern char *_rl_emacs_mode_str;
474extern int _rl_emacs_modestr_len;
475extern char *_rl_vi_ins_mode_str;
476extern int _rl_vi_ins_modestr_len;
477extern char *_rl_vi_cmd_mode_str;
478extern int _rl_vi_cmd_modestr_len;
479
f9267e15 480/* isearch.c */
9255ee31 481extern char *_rl_isearch_terminators;
f9267e15 482
5bdf8622
DJ
483extern _rl_search_cxt *_rl_iscxt;
484
f9267e15 485/* macro.c */
f9267e15
EZ
486extern char *_rl_executing_macro;
487
9255ee31
EZ
488/* misc.c */
489extern int _rl_history_preserve_point;
490extern int _rl_history_saved_point;
491
5bdf8622
DJ
492extern _rl_arg_cxt _rl_argcxt;
493
775e241e
TT
494/* nls.c */
495extern int _rl_utf8locale;
496
f9267e15 497/* readline.c */
cc88a640 498extern int _rl_echoing_p;
f9267e15
EZ
499extern int _rl_horizontal_scroll_mode;
500extern int _rl_mark_modified_lines;
501extern int _rl_bell_preference;
502extern int _rl_meta_flag;
503extern int _rl_convert_meta_chars_to_ascii;
504extern int _rl_output_meta_chars;
5bdf8622 505extern int _rl_bind_stty_chars;
cc88a640
JK
506extern int _rl_revert_all_at_newline;
507extern int _rl_echo_control_chars;
775e241e
TT
508extern int _rl_show_mode_in_prompt;
509extern int _rl_enable_bracketed_paste;
f9267e15
EZ
510extern char *_rl_comment_begin;
511extern unsigned char _rl_parsing_conditionalized_out;
512extern Keymap _rl_keymap;
513extern FILE *_rl_in_stream;
514extern FILE *_rl_out_stream;
515extern int _rl_last_command_was_kill;
516extern int _rl_eof_char;
cb41b9e7 517extern int _rl_eof_found;
cc88a640
JK
518extern procenv_t _rl_top_level;
519extern _rl_keyseq_cxt *_rl_kscxt;
775e241e
TT
520extern int _rl_keyseq_timeout;
521
522extern int _rl_executing_keyseq_size;
f9267e15 523
5bdf8622
DJ
524/* search.c */
525extern _rl_search_cxt *_rl_nscxt;
526
cc88a640
JK
527/* signals.c */
528extern int _rl_interrupt_immediately;
529extern int volatile _rl_caught_signal;
530
775e241e
TT
531extern _rl_sigcleanup_func_t *_rl_sigcleanup;
532extern void *_rl_sigcleanarg;
533
cc88a640
JK
534extern int _rl_echoctl;
535
536extern int _rl_intr_char;
537extern int _rl_quit_char;
538extern int _rl_susp_char;
539
f9267e15
EZ
540/* terminal.c */
541extern int _rl_enable_keypad;
542extern int _rl_enable_meta;
9255ee31
EZ
543extern char *_rl_term_clreol;
544extern char *_rl_term_clrpag;
cb41b9e7 545extern char *_rl_term_clrscroll;
9255ee31
EZ
546extern char *_rl_term_im;
547extern char *_rl_term_ic;
548extern char *_rl_term_ei;
549extern char *_rl_term_DC;
550extern char *_rl_term_up;
551extern char *_rl_term_dc;
552extern char *_rl_term_cr;
553extern char *_rl_term_IC;
cc88a640 554extern char *_rl_term_forward_char;
9255ee31
EZ
555extern int _rl_screenheight;
556extern int _rl_screenwidth;
557extern int _rl_screenchars;
558extern int _rl_terminal_can_insert;
f9267e15
EZ
559extern int _rl_term_autowrap;
560
775e241e
TT
561/* text.c */
562extern int _rl_optimize_typeahead;
563
f9267e15
EZ
564/* undo.c */
565extern int _rl_doing_an_undo;
566extern int _rl_undo_group_level;
567
5bdf8622
DJ
568/* vi_mode.c */
569extern int _rl_vi_last_command;
775e241e 570extern int _rl_vi_redoing;
cc88a640 571extern _rl_vimotion_cxt *_rl_vimvcxt;
5bdf8622 572
f9267e15 573#endif /* _RL_PRIVATE_H_ */
This page took 0.844432 seconds and 4 git commands to generate.