diff options
author | Chet Ramey <chet.ramey@case.edu> | 2016-09-15 17:02:15 -0400 |
---|---|---|
committer | Chet Ramey <chet.ramey@case.edu> | 2016-09-15 17:02:15 -0400 |
commit | d49a9082c0e15bba8cd3d8cc0a994409cf823cac (patch) | |
tree | f0737355f68bc024a31beb0a5dd3c0370f522071 /parens.c | |
parent | 96c967e80aeaeda3c06ab298de77efd41288bb86 (diff) | |
download | readline-d49a9082c0e15bba8cd3d8cc0a994409cf823cac.tar.gz |
Readline-7.0 distribution sources and documentationreadline-7.0
Diffstat (limited to 'parens.c')
-rw-r--r-- | parens.c | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -1,6 +1,6 @@ /* parens.c -- implementation of matching parentheses feature. */ -/* Copyright (C) 1987, 1989, 1992-2009 Free Software Foundation, Inc. +/* Copyright (C) 1987, 1989, 1992-2015 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. @@ -57,11 +57,7 @@ static int find_matching_open PARAMS((char *, int, int)); /* Non-zero means try to blink the matching open parenthesis when the close parenthesis is inserted. */ -#if defined (HAVE_SELECT) -int rl_blink_matching_paren = 1; -#else /* !HAVE_SELECT */ int rl_blink_matching_paren = 0; -#endif /* !HAVE_SELECT */ static int _paren_blink_usec = 500000; @@ -72,16 +68,32 @@ _rl_enable_paren_matching (on_or_off) int on_or_off; { if (on_or_off) - { /* ([{ */ + { + /* ([{ */ rl_bind_key_in_map (')', rl_insert_close, emacs_standard_keymap); rl_bind_key_in_map (']', rl_insert_close, emacs_standard_keymap); rl_bind_key_in_map ('}', rl_insert_close, emacs_standard_keymap); + +#if defined (VI_MODE) + /* ([{ */ + rl_bind_key_in_map (')', rl_insert_close, vi_insertion_keymap); + rl_bind_key_in_map (']', rl_insert_close, vi_insertion_keymap); + rl_bind_key_in_map ('}', rl_insert_close, vi_insertion_keymap); +#endif } else - { /* ([{ */ + { + /* ([{ */ rl_bind_key_in_map (')', rl_insert, emacs_standard_keymap); rl_bind_key_in_map (']', rl_insert, emacs_standard_keymap); rl_bind_key_in_map ('}', rl_insert, emacs_standard_keymap); + +#if defined (VI_MODE) + /* ([{ */ + rl_bind_key_in_map (')', rl_insert, vi_insertion_keymap); + rl_bind_key_in_map (']', rl_insert, vi_insertion_keymap); + rl_bind_key_in_map ('}', rl_insert, vi_insertion_keymap); +#endif } } @@ -117,7 +129,7 @@ rl_insert_close (count, invoking_key) /* Emacs might message or ring the bell here, but I don't. */ if (match_point < 0) - return -1; + return 1; FD_ZERO (&readfds); FD_SET (fileno (rl_instream), &readfds); |