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; |