Skip to content
  • наб's avatar
    grep: improve errors for unmatched ( and ) · 0d527842
    наб authored and Junio C Hamano's avatar Junio C Hamano committed
    Imagine you want to grep for (. Easy:
    
      $ git grep '('
      fatal: unmatched parenthesis
    
    uhoh. This is plainly wrong. Unless you know specifically that
    
     (a) git grep has expression groups and '(' ... ')' are used for them.
     (b) you can use -e '(' to explicitly say '(' is what you are looking
         for, not the beginning of a group.
    
    Similarly,
    
      $ git grep ')'
      fatal: incomplete pattern expression: )
    
    is somehow worse. ")" is a complete regular expression pattern.
    Of course, the error wants to say "group" here.
    In this case it is also not "incomplete", it is unmatched.
    
    Make them say
    
      $ ./git grep '('
      fatal: unmatched ( for expression group
      $ ./git grep ')'
      fatal: incomplete pattern expression group: )
    
    which are clearer in indicating that it is not the expression that
    is wrong (since no pattern had been parsed at all), but rather that
    it is been misconstrued as a grouping operator.
    
    Link: https://bugs.debian.org/1051205
    
    
    Signed-off-by: наб's avatarAhelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    0d527842