diff options
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | regex.c | 6 | 
2 files changed, 12 insertions, 3 deletions
| @@ -1,3 +1,10 @@ +2002-01-22  Fumitoshi UKAI  <ukai@debian.or.jp> + +	* [w3m-dev 02878] fix regexp [-...], [...-], []...] +	* regexp.c (newRegex0): if first char is `-' or ']' after '[',  +		it isn't meta char. +		if last char in [..] is `-', it isn't meta char. +  2002-01-22  Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>  	* [w3m-dev 02877] some fixes for urimethodmap @@ -2163,4 +2170,4 @@  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.245 2002/01/21 15:56:12 ukai Exp $ +$Id: ChangeLog,v 1.246 2002/01/21 16:38:43 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: regex.c,v 1.14 2002/01/21 15:56:13 ukai Exp $ */ +/* $Id: regex.c,v 1.15 2002/01/21 16:38:43 ukai Exp $ */  /*    * regex: Regular expression pattern match library   *  @@ -150,6 +150,8 @@ newRegex0(char **ex, int igncase, Regex *regex, char **msg, int level)  	    }  	    else  		m = RE_WHICH; +	    if (*p == '-' || *p == ']') +		*(st_ptr++) = (unsigned char)*(p++);  	    while (*p != ']') {  		if (*p == '\\') {  		    p++; @@ -162,7 +164,7 @@ newRegex0(char **ex, int igncase, Regex *regex, char **msg, int level)  #endif  			*(st_ptr++) = (unsigned char)*(p++);  		} -		else if (*p == '-') { +		else if (*p == '-' && *(p+1) != ']') {  		    *(st_ptr++) = RE_WHICH_RANGE;  		    p++;  		} | 
