summaryrefslogtreecommitdiff
path: root/parens.c
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2016-09-15 17:02:15 -0400
committerChet Ramey <chet.ramey@case.edu>2016-09-15 17:02:15 -0400
commitd49a9082c0e15bba8cd3d8cc0a994409cf823cac (patch)
treef0737355f68bc024a31beb0a5dd3c0370f522071 /parens.c
parent96c967e80aeaeda3c06ab298de77efd41288bb86 (diff)
downloadreadline-d49a9082c0e15bba8cd3d8cc0a994409cf823cac.tar.gz
Readline-7.0 distribution sources and documentationreadline-7.0
Diffstat (limited to 'parens.c')
-rw-r--r--parens.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/parens.c b/parens.c
index 9c98488..ecc465c 100644
--- a/parens.c
+++ b/parens.c
@@ -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);