[w3m-dev 03509] HTML parser

* file.c (close_textarea): delete
	(HTMLtagproc1): rewrite
			delete HTML_EOL
			move HTML_LISTING, HTML_N_LISTING
			add HTML_PRE_PLAIN, HTML_N_PRE_PLAIN
			add HTML_PLAINTEXT
			end_tag
	(HTMLlineproc0): s/str/line/
			rewrite
	(completeHTMLstream): </textarea> if necessary
* fm.h (struct readbuffer): delete ignore_tag
			add end_tag
	(RB_XMPMODE): deleted
	(RB_LSTMODE): deleted
	(RB_SCRIPT): added
	(RB_STYLE): added
	(RB_*): renumber
	(R_ST_EOL): added
	(R_ST_*): renumber
	(ST_IS_TAG): check R_ST_EOL
* form.c (form_fputs_decode): remove <eol> handling
* frame.c (newFrame): remove_space()
	(CASE_TABLE_TAG): added
	(createFrameFile): rewrite
* html.c (TagMAP): delete eol
		add pre_plain, /pre_plain
* html.h (HTML_EOL): deleted
	(HTML_PRE_PLAIN): added
	(HTML_N_PRE_PLAIN): added
* table.c (visible_length): rewrite
	(visible_length_plain): added
	(maximum_visible_length_plain): added
	(do_refill): R_ST_EOL
	(table_close_select): end_tag
	(table_close_textarea): end_tag
	(TAG_ACTION_PLAIN): added
	(feed_table_tag): rewrite
	(feed_table): rewrite
* table.h (TBLM_*) reassign
	(struct table_mode): delete ignore_tag
			add end_tag
* tagtable.tab (eol): deleted
		(pre_plain): added
		(/pre_plain): added
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2002-12-03 15:35:09 +00:00
parent 49098b36fe
commit 569d535b29
10 changed files with 565 additions and 379 deletions

30
table.h
View File

@@ -1,4 +1,4 @@
/* $Id: table.h,v 1.8 2002/11/25 16:39:53 ukai Exp $ */
/* $Id: table.h,v 1.9 2002/12/03 15:35:11 ukai Exp $ */
#if (defined(MESCHACH) && !defined(MATRIX))
#define MATRIX
#endif /* (defined(MESCHACH) && !defined(MATRIX)) */
@@ -114,21 +114,17 @@ struct table {
int sloppy_width;
};
#define TBLM_PRE 1
#define TBLM_NOBR 2
#define TBLM_XMP 4
#define TBLM_LST 8
#define TBLM_PLAINTEXT 16
#define TBLM_PRE_INT 32
#define TBLM_INTXTA 64
#define TBLM_INSELECT 128
#define TBLM_PREMODE (TBLM_PRE|TBLM_INTXTA|TBLM_INSELECT|TBLM_PLAIN)
#define TBLM_SPECIAL (TBLM_PRE|TBLM_PRE_INT|TBLM_PLAIN)
#define TBLM_PLAIN (TBLM_PLAINTEXT|TBLM_XMP|TBLM_LST)
#define TBLM_SCRIPT 256
#define TBLM_STYLE 512
#define TBLM_IGNORE (TBLM_SCRIPT|TBLM_STYLE)
#define TBLM_ANCHOR 1024
#define TBLM_PRE RB_PRE
#define TBLM_SCRIPT RB_SCRIPT
#define TBLM_STYLE RB_STYLE
#define TBLM_PLAIN RB_PLAIN
#define TBLM_NOBR RB_NOBR
#define TBLM_PRE_INT RB_PRE_INT
#define TBLM_INTXTA RB_INTXTA
#define TBLM_INSELECT RB_INSELECT
#define TBLM_PREMODE (TBLM_PRE | TBLM_PRE_INT | TBLM_SCRIPT | TBLM_STYLE | TBLM_PLAIN | TBLM_INTXTA)
#define TBLM_SPECIAL (TBLM_PRE | TBLM_PRE_INT | TBLM_SCRIPT | TBLM_STYLE | TBLM_PLAIN | TBLM_NOBR)
#define TBLM_ANCHOR 0x100000
#define uchar unsigned char
#define ushort unsigned short
@@ -139,7 +135,7 @@ struct table_mode {
short nobr_offset;
char nobr_level;
short anchor_offset;
Str ignore_tag;
unsigned char end_tag;
};
/* Local Variables: */