Diff for /embedaddon/readline/parens.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2014/07/30 08:16:45 version 1.1.1.2, 2021/03/17 01:01:01
Line 1 Line 1
 /* parens.c -- implementation of matching parentheses feature. */  /* parens.c -- implementation of matching parentheses feature. */
   
/* Copyright (C) 1987, 1989, 1992-2009 Free Software Foundation, Inc./* Copyright (C) 1987, 1989, 1992-2015, 2017 Free Software Foundation, Inc.
   
    This file is part of the GNU Readline Library (Readline), a library     This file is part of the GNU Readline Library (Readline), a library
    for reading lines of text with interactive input and history editing.           for reading lines of text with interactive input and history editing.      
Line 57  static int find_matching_open PARAMS((char *, int, int Line 57  static int find_matching_open PARAMS((char *, int, int
   
 /* Non-zero means try to blink the matching open parenthesis when the  /* Non-zero means try to blink the matching open parenthesis when the
    close parenthesis is inserted. */     close parenthesis is inserted. */
 #if defined (HAVE_SELECT)  
 int rl_blink_matching_paren = 1;  
 #else /* !HAVE_SELECT */  
 int rl_blink_matching_paren = 0;  int rl_blink_matching_paren = 0;
 #endif /* !HAVE_SELECT */  
   
 static int _paren_blink_usec = 500000;  static int _paren_blink_usec = 500000;
   
 /* Change emacs_standard_keymap to have bindings for paren matching when  /* Change emacs_standard_keymap to have bindings for paren matching when
    ON_OR_OFF is 1, change them back to self_insert when ON_OR_OFF == 0. */     ON_OR_OFF is 1, change them back to self_insert when ON_OR_OFF == 0. */
 void  void
_rl_enable_paren_matching (on_or_off)_rl_enable_paren_matching (int on_or_off)
     int on_or_off; 
 {  {
   if (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);        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    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);        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
     }      }
 }  }
   
 int  int
rl_set_paren_blink_timeout (u)rl_set_paren_blink_timeout (int u)
     int u; 
 {  {
   int o;    int o;
   
Line 98  rl_set_paren_blink_timeout (u) Line 108  rl_set_paren_blink_timeout (u)
 }  }
   
 int  int
rl_insert_close (count, invoking_key)rl_insert_close (int count, int invoking_key)
     int count, invoking_key; 
 {  {
   if (rl_explicit_arg || !rl_blink_matching_paren)    if (rl_explicit_arg || !rl_blink_matching_paren)
     _rl_insert_char (count, invoking_key);      _rl_insert_char (count, invoking_key);
Line 117  rl_insert_close (count, invoking_key) Line 126  rl_insert_close (count, invoking_key)
   
       /* Emacs might message or ring the bell here, but I don't. */        /* Emacs might message or ring the bell here, but I don't. */
       if (match_point < 0)        if (match_point < 0)
        return -1;        return 1;
   
       FD_ZERO (&readfds);        FD_ZERO (&readfds);
       FD_SET (fileno (rl_instream), &readfds);        FD_SET (fileno (rl_instream), &readfds);
Line 136  rl_insert_close (count, invoking_key) Line 145  rl_insert_close (count, invoking_key)
 }  }
   
 static int  static int
find_matching_open (string, from, closer)find_matching_open (char *string, int from, int closer)
     char *string; 
     int from, closer; 
 {  {
   register int i;    register int i;
   int opener, level, delimiter;    int opener, level, delimiter;

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>