diff options
Diffstat (limited to '')
| -rw-r--r-- | ChangeLog | 8 | ||||
| -rw-r--r-- | file.c | 11 | ||||
| -rw-r--r-- | frame.c | 13 | 
3 files changed, 27 insertions, 5 deletions
| @@ -1,5 +1,11 @@  2002-12-07  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +	* [w3m-dev 03535] close anchor, quote < +	* file.c (HTMLtagproc1): close_anchor +	* frame.c (createFrameFile): quote < + +2002-12-07  Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp> +  	* [w3m-dev 03534] cleanup file.c  	* file.c (HTMLlineproc2body): cleanup @@ -5557,4 +5563,4 @@ a	* [w3m-dev 03276] compile error on EWS4800  	* release-0-2-1  	* import w3m-0.2.1 -$Id: ChangeLog,v 1.597 2002/12/06 16:33:22 ukai Exp $ +$Id: ChangeLog,v 1.598 2002/12/06 16:37:42 ukai Exp $ @@ -1,4 +1,4 @@ -/* $Id: file.c,v 1.149 2002/12/06 16:33:43 ukai Exp $ */ +/* $Id: file.c,v 1.150 2002/12/06 16:37:54 ukai Exp $ */  #include "fm.h"  #include <sys/types.h>  #include "myctype.h" @@ -4334,10 +4334,10 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)  	flushline(h_env, obuf, envs[h_env->envc].indent, 0, h_env->limit);  	return 0;      case HTML_HR: +	close_anchor(h_env, obuf);  	tmp = process_hr(tag, h_env->limit, envs[h_env->envc].indent);  	HTMLlineproc1(tmp->ptr, h_env);  	obuf->prevchar = ' '; -	close_anchor(h_env, obuf);  	return 1;      case HTML_PRE:  	x = parsedtag_exists(tag, ATTR_FOR_TABLE); @@ -4352,6 +4352,7 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)  	else  	    fillline(obuf, envs[h_env->envc].indent);  	obuf->flag |= (RB_PRE | RB_IGNORE_P); +	close_anchor(h_env, obuf);  	/* istr = str; */  	return 1;      case HTML_N_PRE: @@ -4398,6 +4399,7 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)  			 h_env->limit);  	}  	obuf->flag |= (RB_PRE | RB_IGNORE_P); +	close_anchor(h_env, obuf);  	return 1;      case HTML_N_PRE_PLAIN:  	CLOSE_P; @@ -4430,6 +4432,7 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)  	    obuf->end_tag = MAX_HTMLTAG;  	    break;  	} +	close_anchor(h_env, obuf);  	return 1;      case HTML_N_LISTING:      case HTML_N_XMP: @@ -4528,6 +4531,7 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)  	}  	return 0;      case HTML_TABLE: +	close_anchor(h_env, obuf);  	obuf->table_level++;  	if (obuf->table_level >= MAX_TABLE)  	    break; @@ -4621,11 +4625,13 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)  	process_n_form();  	return 1;      case HTML_INPUT: +	close_anchor(h_env, obuf);  	tmp = process_input(tag);  	if (tmp)  	    HTMLlineproc1(tmp->ptr, h_env);  	return 1;      case HTML_SELECT: +	close_anchor(h_env, obuf);  	tmp = process_select(tag);  	if (tmp)  	    HTMLlineproc1(tmp->ptr, h_env); @@ -4643,6 +4649,7 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)  	/* nothing */  	return 1;      case HTML_TEXTAREA: +	close_anchor(h_env, obuf);  	tmp = process_textarea(tag, h_env->limit);  	if (tmp)  	    HTMLlineproc1(tmp->ptr, h_env); @@ -1,4 +1,4 @@ -/* $Id: frame.c,v 1.25 2002/12/05 16:04:00 ukai Exp $ */ +/* $Id: frame.c,v 1.26 2002/12/06 16:38:05 ukai Exp $ */  #include "fm.h"  #include "parsetagx.h"  #include "myctype.h" @@ -600,7 +600,16 @@ createFrameFile(struct frameset *f, FILE * f1, Buffer *current, int level,  			continue;  		    if (tok->ptr[0] == '<') { -			is_tag = TRUE; +			if (tok->ptr[1] && +			    REALLY_THE_BEGINNING_OF_A_TAG(tok->ptr)) +			    is_tag = TRUE; +			else if (!(pre_mode & (RB_PLAIN | RB_INTXTA | +					       RB_SCRIPT | RB_STYLE))) { +			    p = Strnew_m_charp(tok->ptr + 1, p, NULL)->ptr; +			    tok = Strnew_charp("<"); +			} +		    } +		    if (is_tag) {  			if (pre_mode & (RB_PLAIN | RB_INTXTA | RB_SCRIPT |  					RB_STYLE)) {  			    q = tok->ptr; | 
