diff options
Diffstat (limited to '')
| -rw-r--r-- | ChangeLog | 7 | ||||
| -rw-r--r-- | anchor.c | 7 | ||||
| -rw-r--r-- | file.c | 19 | ||||
| -rw-r--r-- | fm.h | 3 | 
4 files changed, 30 insertions, 6 deletions
| @@ -1,5 +1,10 @@  2006-04-08  Dai Sato  <satodai@w3m.jp> +	* [w3m-dev 04153] NEXT_LINK error +	* anchor.c, filc.c, fm.h: check A tag in HTMLlineproc2body(). + +2006-04-08  Dai Sato  <satodai@w3m.jp> +  	* [w3m-dev 04152] [PATCH] Add more explanation for the usage of the option setting panel.  	* doc(-jp)/FAQ.html, doc-jp/MANUAL.html: add explanations for .w3m/config and -o option. @@ -8698,4 +8703,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.958 2006/04/08 11:26:22 inu Exp $ +$Id: ChangeLog,v 1.959 2006/04/08 11:33:16 inu Exp $ @@ -1,4 +1,4 @@ -/* $Id: anchor.c,v 1.32 2006/04/07 13:21:11 inu Exp $ */ +/* $Id: anchor.c,v 1.33 2006/04/08 11:33:16 inu Exp $ */  #include "fm.h"  #include "myctype.h"  #include "regex.h" @@ -175,6 +175,8 @@ searchAnchor(AnchorList *al, char *str)  	return NULL;      for (i = 0; i < al->nanchor; i++) {  	a = &al->anchors[i]; +	if (a->hseq < 0) +	  continue;  	if (!strcmp(a->url, str))  	    return a;      } @@ -471,6 +473,7 @@ putHmarker(HmarkerList *ml, int line, int pos, int seq)      }      ml->marks[seq].line = line;      ml->marks[seq].pos = pos; +    ml->marks[seq].invalid = 0;      return ml;  } @@ -778,7 +781,7 @@ link_list_panel(Buffer *buf)  	al = buf->href;  	for (i = 0; i < al->nanchor; i++) {  	    a = &al->anchors[i]; -	    if (a->slave) +	    if (a->hseq < 0 || a->slave)  		continue;  	    parseURL2(a->url, &pu, baseURL(buf));  	    p = parsedURL2Str(&pu)->ptr; @@ -1,4 +1,4 @@ -/* $Id: file.c,v 1.241 2006/04/07 15:48:56 inu Exp $ */ +/* $Id: file.c,v 1.242 2006/04/08 11:33:16 inu Exp $ */  #include "fm.h"  #include <sys/types.h>  #include "myctype.h" @@ -5285,6 +5285,17 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)  			buf->hmarklist =  			    putHmarker(buf->hmarklist, currentLn(buf),  				       pos, hseq - 1); +		    else if (hseq < 0) { +			int h = -hseq - 1; +			if (buf->hmarklist && +			    h < buf->hmarklist->nmark && +			    buf->hmarklist->marks[h].invalid) { +			    buf->hmarklist->marks[h].pos = pos; +			    buf->hmarklist->marks[h].line = currentLn(buf); +			    buf->hmarklist->marks[h].invalid = 0; +			    hseq = -hseq; +			} +		    }  		    if (id && idFrame)  			idFrame->body->nameList =  			    putAnchor(idFrame->body->nameList, id, NULL, @@ -5304,8 +5315,12 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)  			a_href->end.line = currentLn(buf);  			a_href->end.pos = pos;  			if (a_href->start.line == a_href->end.line && -			    a_href->start.pos == a_href->end.pos) +			    a_href->start.pos == a_href->end.pos) { +			    if (buf->hmarklist && +				a_href->hseq < buf->hmarklist->nmark) +				buf->hmarklist->marks[a_href->hseq].invalid = 1;  			    a_href->hseq = -1; +			}  			a_href = NULL;  		    }  		    break; @@ -1,4 +1,4 @@ -/* $Id: fm.h,v 1.130 2006/04/07 15:48:56 inu Exp $ */ +/* $Id: fm.h,v 1.131 2006/04/08 11:33:16 inu Exp $ */  /*    * w3m: WWW wo Miru utility   *  @@ -336,6 +336,7 @@ typedef struct _Line {  typedef struct {      int line;      int pos; +    int invalid;  } BufferPoint;  #ifdef USE_IMAGE | 
