aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFumitoshi UKAI <ukai@debian.or.jp>2002-12-06 16:37:42 +0000
committerFumitoshi UKAI <ukai@debian.or.jp>2002-12-06 16:37:42 +0000
commit71fde51a9d317d200111a917374973e588636f3e (patch)
treed77f4b65e9666289c30dd3fe58887fbc5e3668a2
parent[w3m-dev 03534] cleanup file.c (diff)
downloadw3m-71fde51a9d317d200111a917374973e588636f3e.tar.gz
w3m-71fde51a9d317d200111a917374973e588636f3e.zip
[w3m-dev 03535] close anchor, quote <
* file.c (HTMLtagproc1): close_anchor * frame.c (createFrameFile): quote < From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
-rw-r--r--ChangeLog8
-rw-r--r--file.c11
-rw-r--r--frame.c13
3 files changed, 27 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b02b25..952c34a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 $
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 <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);
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("&lt;");
+ }
+ }
+ if (is_tag) {
if (pre_mode & (RB_PLAIN | RB_INTXTA | RB_SCRIPT |
RB_STYLE)) {
q = tok->ptr;