From 71fde51a9d317d200111a917374973e588636f3e Mon Sep 17 00:00:00 2001 From: Fumitoshi UKAI Date: Fri, 6 Dec 2002 16:37:42 +0000 Subject: [w3m-dev 03535] close anchor, quote < * file.c (HTMLtagproc1): close_anchor * frame.c (createFrameFile): quote < From: Hironori SAKAMOTO --- ChangeLog | 8 +++++++- file.c | 11 +++++++++-- frame.c | 13 +++++++++++-- 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9b02b25..952c34a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2002-12-07 Hironori SAKAMOTO + + * [w3m-dev 03535] close anchor, quote < + * file.c (HTMLtagproc1): close_anchor + * frame.c (createFrameFile): quote < + 2002-12-07 Hironori SAKAMOTO * [w3m-dev 03534] cleanup file.c @@ -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 $ diff --git a/file.c b/file.c index 16e4aa8..3f5e61c 100644 --- a/file.c +++ b/file.c @@ -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 #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); diff --git a/frame.c b/frame.c index e2f7eea..37eaf73 100644 --- a/frame.c +++ b/frame.c @@ -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; -- cgit v1.2.3