Import readline 7.0 (patch 5)
[deliverable/binutils-gdb.git] / readline / parens.c
index 9c9848838fdfd6c38f22a8cace78308b54ac6b42..ecc465c00dfb1eaa0ab7a7cf35c4959beddc5882 100644 (file)
@@ -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);
This page took 0.035449 seconds and 4 git commands to generate.