Index: src/pkg/regexp/syntax/parse.go |
=================================================================== |
--- a/src/pkg/regexp/syntax/parse.go |
+++ b/src/pkg/regexp/syntax/parse.go |
@@ -46,6 +46,7 @@ |
ErrMissingParen ErrorCode = "missing closing )" |
ErrMissingRepeatArgument ErrorCode = "missing argument to repetition operator" |
ErrTrailingBackslash ErrorCode = "trailing backslash at end of expression" |
+ ErrUnexpectedParen ErrorCode = "unexpected )" |
) |
func (e ErrorCode) String() string { |
@@ -1168,13 +1169,13 @@ |
n := len(p.stack) |
if n < 2 { |
- return &Error{ErrInternalError, ""} |
+ return &Error{ErrUnexpectedParen, p.wholeRegexp} |
} |
re1 := p.stack[n-1] |
re2 := p.stack[n-2] |
p.stack = p.stack[:n-2] |
if re2.Op != opLeftParen { |
- return &Error{ErrMissingParen, p.wholeRegexp} |
+ return &Error{ErrUnexpectedParen, p.wholeRegexp} |
} |
// Restore flags at time of paren. |
p.flags = re2.Flags |