aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--Makefile.in3
-rw-r--r--entity.h366
-rw-r--r--file.c149
-rw-r--r--fm.h9
-rw-r--r--html.c37
-rw-r--r--html.h31
-rw-r--r--main.c12
-rw-r--r--proto.h2
-rw-r--r--table.c8
-rw-r--r--tagtable.tab1
11 files changed, 226 insertions, 404 deletions
diff --git a/ChangeLog b/ChangeLog
index 347c5d1..f9162e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,16 @@
+2011-01-17 Dai Sato <satodai@w3m.jp>
+
+ * correction: ChangeLog of 2011-01-15 (0.5.2 -> 0.5.3)
+
2011-01-15 Dai Sato <satodai@w3m.jp>
- * w3m 0.5.2
+ * w3m 0.5.3
* version.c.in: update
- * doc/README: version 0.5.2, release date, maintainer
+ * doc/README: version 0.5.3, release date, maintainer
* doc-jp/README: ditto
* po/w3m.pot, ja.po: ditto
* NEWS: update
- * configure.ac: version 0.5.2
+ * configure.ac: version 0.5.3
* configure: regenerated
2011-01-05 SAKAI Kiyotaka <kiyotaka.sakai@ntt-at.co.jp>
@@ -9300,4 +9304,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
-$Id: ChangeLog,v 1.1050 2011/01/15 07:52:48 inu Exp $
+$Id: ChangeLog,v 1.1051 2011/01/17 11:53:57 inu Exp $
diff --git a/Makefile.in b/Makefile.in
index 0137211..52a0aae 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -199,7 +199,7 @@ dummy.o: entity.c
$(CC) $(CFLAGS) -DDUMMY -c -o $@ $?
$(IMGDISPLAY): w3mimgdisplay.o $(ALIB) w3mimg/w3mimg.a
- $(IMGLINK) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS)
+ $(IMGLINK) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) -lX11 $(IMGLDFLAGS)
w3mimgdisplay.o: w3mimgdisplay.c w3mimg/w3mimg.h
$(CC) $(CFLAGS) $(IMGCFLAGS) -o $@ -c $(srcdir)/w3mimgdisplay.c
@@ -288,6 +288,7 @@ uninstall:
clean: sweep
-$(RM) -f *.o *.a $(TARGETS) mktable$(EXT)
-$(RM) -f funcname.tab
+ -$(RM) -f entity.h
-$(RM) -f funcname.c funcname1.h funcname2.h tagtable.c functable.c
-for dir in w3mimg libwc; \
do \
diff --git a/entity.h b/entity.h
deleted file mode 100644
index e338883..0000000
--- a/entity.h
+++ /dev/null
@@ -1,366 +0,0 @@
-/* $Id: entity.h,v 1.6 2011/01/04 11:03:20 htrb Exp $ */
-#include "hash.h"
-static HashItem_si MyHashItem[] = {
- /* 0 */ {"otimes", 0x2297, &MyHashItem[1]},
- /* 1 */ {"laquo", 0xAB, NULL},
- /* 2 */ {"cap", 0x2229, &MyHashItem[3]},
- /* 3 */ {"dArr", 0x21D3, &MyHashItem[4]},
- /* 4 */ {"euml", 0xEB, NULL},
- /* 5 */ {"sum", 0x2211, &MyHashItem[6]},
- /* 6 */ {"Ocirc", 0xD4, NULL},
- /* 7 */ {"dagger", 0x2020, &MyHashItem[8]},
- /* 8 */ {"Scaron", 0x0160, &MyHashItem[9]},
- /* 9 */ {"Omicron", 0x039F, &MyHashItem[10]},
- /* 10 */ {"brvbar", 0xA6, NULL},
- /* 11 */ {"Eta", 0x0397, &MyHashItem[12]},
- /* 12 */ {"iacute", 0xED, &MyHashItem[13]},
- /* 13 */ {"aelig", 0xE6, &MyHashItem[14]},
- /* 14 */ {"Ugrave", 0xD9, &MyHashItem[15]},
- /* 15 */ {"deg", 0xB0, NULL},
- /* 16 */ {"Yuml", 0x0178, &MyHashItem[17]},
- /* 17 */ {"sup", 0x2283, &MyHashItem[18]},
- /* 18 */ {"middot", 0xB7, NULL},
- /* 19 */ {"ge", 0x2265, &MyHashItem[20]},
- /* 20 */ {"alefsym", 0x2135, &MyHashItem[21]},
- /* 21 */ {"sigma", 0x03C3, &MyHashItem[22]},
- /* 22 */ {"aring", 0xE5, &MyHashItem[23]},
- /* 23 */ {"Icirc", 0xCE, NULL},
- /* 24 */ {"and", 0x2227, &MyHashItem[25]},
- /* 25 */ {"weierp", 0x2118, &MyHashItem[26]},
- /* 26 */ {"frac12", 0xBD, NULL},
- /* 27 */ {"radic", 0x221A, &MyHashItem[28]},
- /* 28 */ {"chi", 0x03C7, &MyHashItem[29]},
- /* 29 */ {"zeta", 0x03B6, &MyHashItem[30]},
- /* 30 */ {"Theta", 0x0398, &MyHashItem[31]},
- /* 31 */ {"Atilde", 0xC3, &MyHashItem[32]},
- /* 32 */ {"para", 0xB6, NULL},
- /* 33 */ {"frac14", 0xBC, &MyHashItem[34]},
- /* 34 */ {"cedil", 0xB8, &MyHashItem[35]},
- /* 35 */ {"quot", 0x22, NULL},
- /* 36 */ {"ang", 0x2220, &MyHashItem[37]},
- /* 37 */ {"ucirc", 0xFB, NULL},
- /* 38 */ {"supe", 0x2287, &MyHashItem[39]},
- /* 39 */ {"iota", 0x03B9, &MyHashItem[40]},
- /* 40 */ {"Ograve", 0xD2, NULL},
- /* 41 */ {"rArr", 0x21D2, &MyHashItem[42]},
- /* 42 */ {"Auml", 0xC4, &MyHashItem[43]},
- /* 43 */ {"frac34", 0xBE, &MyHashItem[44]},
- /* 44 */ {"nbsp", 0xA0, NULL},
- /* 45 */ {"euro", 0x20AC, &MyHashItem[46]},
- /* 46 */ {"ocirc", 0xF4, NULL},
- /* 47 */ {"equiv", 0x2261, &MyHashItem[48]},
- /* 48 */ {"upsilon", 0x03C5, &MyHashItem[49]},
- /* 49 */ {"sigmaf", 0x03C2, &MyHashItem[50]},
- /* 50 */ {"ETH", 0xD0, NULL},
- /* 51 */ {"le", 0x2264, &MyHashItem[52]},
- /* 52 */ {"beta", 0x03B2, &MyHashItem[53]},
- /* 53 */ {"yacute", 0xFD, &MyHashItem[54]},
- /* 54 */ {"egrave", 0xE8, NULL},
- /* 55 */ {"lowast", 0x2217, &MyHashItem[56]},
- /* 56 */ {"real", 0x211C, &MyHashItem[57]},
- /* 57 */ {"amp", 0x26, NULL},
- /* 58 */ {"icirc", 0xEE, &MyHashItem[59]},
- /* 59 */ {"micro", 0xB5, NULL},
- /* 60 */ {"isin", 0x2208, &MyHashItem[61]},
- /* 61 */ {"curren", 0xA4, NULL},
- /* 62 */ {"rdquo", 0x201D, &MyHashItem[63]},
- /* 63 */ {"sbquo", 0x201A, &MyHashItem[64]},
- /* 64 */ {"ne", 0x2260, &MyHashItem[65]},
- /* 65 */ {"theta", 0x03B8, &MyHashItem[66]},
- /* 66 */ {"Igrave", 0xCC, NULL},
- /* 67 */ {"gt", 0x3E, NULL},
- /* 68 */ {"hearts", 0x2665, &MyHashItem[69]},
- /* 69 */ {"rang", 0x232A, NULL},
- /* 70 */ {"rfloor", 0x230B, NULL},
- /* 71 */ {"ldquo", 0x201C, &MyHashItem[72]},
- /* 72 */ {"ni", 0x220B, &MyHashItem[73]},
- /* 73 */ {"Ntilde", 0xD1, &MyHashItem[74]},
- /* 74 */ {"Aacute", 0xC1, NULL},
- /* 75 */ {"crarr", 0x21B5, &MyHashItem[76]},
- /* 76 */ {"Ouml", 0xD6, &MyHashItem[77]},
- /* 77 */ {"GT", 0x3E, NULL},
- /* 78 */ {"clubs", 0x2663, NULL},
- /* 79 */ {"scaron", 0x0161, &MyHashItem[80]},
- /* 80 */ {"part", 0x2202, NULL},
- /* 81 */ {"tilde", 0x02DC, &MyHashItem[82]},
- /* 82 */ {"oelig", 0x0153, &MyHashItem[83]},
- /* 83 */ {"pi", 0x03C0, &MyHashItem[84]},
- /* 84 */ {"ugrave", 0xF9, NULL},
- /* 85 */ {"darr", 0x2193, &MyHashItem[86]},
- /* 86 */ {"uuml", 0xFC, &MyHashItem[87]},
- /* 87 */ {"QUOT", 0x22, NULL},
- /* 88 */ {"Prime", 0x2033, NULL},
- /* 89 */ {"zwj", 0x200D, &MyHashItem[90]},
- /* 90 */ {"lfloor", 0x230A, &MyHashItem[91]},
- /* 91 */ {"notin", 0x2209, &MyHashItem[92]},
- /* 92 */ {"cent", 0xA2, &MyHashItem[93]},
- /* 93 */ {"lt", 0x3C, NULL},
- /* 94 */ {"eta", 0x03B7, &MyHashItem[95]},
- /* 95 */ {"Phi", 0x03A6, &MyHashItem[96]},
- /* 96 */ {"atilde", 0xE3, NULL},
- /* 97 */ {"hArr", 0x21D4, &MyHashItem[98]},
- /* 98 */ {"iuml", 0xEF, &MyHashItem[99]},
- /* 99 */ {"NBSP", 0xA0, NULL},
- /* 100 */ {"mu", 0x03BC, NULL},
- /* 101 */ {"or", 0x2228, &MyHashItem[102]},
- /* 102 */ {"plusmn", 0xB1, &MyHashItem[103]},
- /* 103 */ {"LT", 0x3C, NULL},
- /* 104 */ {"nu", 0x03BD, &MyHashItem[105]},
- /* 105 */ {"ograve", 0xF2, &MyHashItem[106]},
- /* 106 */ {"AElig", 0xC6, NULL},
- /* 107 */ {"rceil", 0x2309, &MyHashItem[108]},
- /* 108 */ {"uArr", 0x21D1, &MyHashItem[109]},
- /* 109 */ {"sect", 0xA7, NULL},
- /* 110 */ {"circ", 0x02C6, NULL},
- /* 111 */ {"perp", 0x22A5, &MyHashItem[112]},
- /* 112 */ {"eth", 0xF0, NULL},
- /* 113 */ {"rsquo", 0x2019, &MyHashItem[114]},
- /* 114 */ {"nabla", 0x2207, NULL},
- /* 115 */ {"lceil", 0x2308, &MyHashItem[116]},
- /* 116 */ {"cup", 0x222A, &MyHashItem[117]},
- /* 117 */ {"exist", 0x2203, &MyHashItem[118]},
- /* 118 */ {"rarr", 0x2192, &MyHashItem[119]},
- /* 119 */ {"upsih", 0x03D2, NULL},
- /* 120 */ {"prime", 0x2032, &MyHashItem[121]},
- /* 121 */ {"Omega", 0x03A9, &MyHashItem[122]},
- /* 122 */ {"Ecirc", 0xCA, NULL},
- /* 123 */ {"Epsilon", 0x0395, NULL},
- /* 124 */ {"lsquo", 0x2018, &MyHashItem[125]},
- /* 125 */ {"xi", 0x03BE, &MyHashItem[126]},
- /* 126 */ {"Lambda", 0x039B, &MyHashItem[127]},
- /* 127 */ {"Kappa", 0x039A, &MyHashItem[128]},
- /* 128 */ {"divide", 0xF7, &MyHashItem[129]},
- /* 129 */ {"igrave", 0xEC, &MyHashItem[130]},
- /* 130 */ {"acute", 0xB4, NULL},
- /* 131 */ {"Euml", 0xCB, &MyHashItem[132]},
- /* 132 */ {"ordf", 0xAA, NULL},
- /* 133 */ {"image", 0x2111, &MyHashItem[134]},
- /* 134 */ {"Tau", 0x03A4, &MyHashItem[135]},
- /* 135 */ {"Rho", 0x03A1, NULL},
- /* 136 */ {"ntilde", 0xF1, &MyHashItem[137]},
- /* 137 */ {"aacute", 0xE1, &MyHashItem[138]},
- /* 138 */ {"times", 0xD7, NULL},
- /* 139 */ {"omicron", 0x03BF, NULL},
- /* 140 */ {"oplus", 0x2295, &MyHashItem[141]},
- /* 141 */ {"Zeta", 0x0396, &MyHashItem[142]},
- /* 142 */ {"Eacute", 0xC9, &MyHashItem[143]},
- /* 143 */ {"ordm", 0xBA, NULL},
- /* 144 */ {"Oslash", 0xD8, &MyHashItem[145]},
- /* 145 */ {"Ccedil", 0xC7, &MyHashItem[146]},
- /* 146 */ {"iquest", 0xBF, NULL},
- /* 147 */ {"omega", 0x03C9, &MyHashItem[148]},
- /* 148 */ {"Psi", 0x03A8, &MyHashItem[149]},
- /* 149 */ {"ecirc", 0xEA, NULL},
- /* 150 */ {"int", 0x222B, NULL},
- /* 151 */ {"trade", 0x2122, &MyHashItem[152]},
- /* 152 */ {"kappa", 0x03BA, &MyHashItem[153]},
- /* 153 */ {"Iota", 0x0399, &MyHashItem[154]},
- /* 154 */ {"Delta", 0x0394, &MyHashItem[155]},
- /* 155 */ {"Alpha", 0x0391, &MyHashItem[156]},
- /* 156 */ {"Otilde", 0xD5, NULL},
- /* 157 */ {"sdot", 0x22C5, NULL},
- /* 158 */ {"cong", 0x2245, NULL},
- /* 159 */ {"rsaquo", 0x203A, &MyHashItem[160]},
- /* 160 */ {"OElig", 0x0152, &MyHashItem[161]},
- /* 161 */ {"diams", 0x2666, &MyHashItem[162]},
- /* 162 */ {"phi", 0x03C6, &MyHashItem[163]},
- /* 163 */ {"Beta", 0x0392, &MyHashItem[164]},
- /* 164 */ {"szlig", 0xDF, &MyHashItem[165]},
- /* 165 */ {"sup1", 0xB9, &MyHashItem[166]},
- /* 166 */ {"reg", 0xAE, NULL},
- /* 167 */ {"harr", 0x2194, &MyHashItem[168]},
- /* 168 */ {"hellip", 0x2026, &MyHashItem[169]},
- /* 169 */ {"yuml", 0xFF, &MyHashItem[170]},
- /* 170 */ {"sup2", 0xB2, NULL},
- /* 171 */ {"Gamma", 0x0393, &MyHashItem[172]},
- /* 172 */ {"sup3", 0xB3, NULL},
- /* 173 */ {"forall", 0x2200, NULL},
- /* 174 */ {"bdquo", 0x201E, &MyHashItem[175]},
- /* 175 */ {"spades", 0x2660, &MyHashItem[176]},
- /* 176 */ {"Pi", 0x03A0, &MyHashItem[177]},
- /* 177 */ {"Uacute", 0xDA, &MyHashItem[178]},
- /* 178 */ {"Agrave", 0xC0, NULL},
- /* 179 */ {"permil", 0x2030, &MyHashItem[180]},
- /* 180 */ {"mdash", 0x2014, &MyHashItem[181]},
- /* 181 */ {"lArr", 0x21D0, &MyHashItem[182]},
- /* 182 */ {"uarr", 0x2191, NULL},
- /* 183 */ {"Upsilon", 0x03A5, &MyHashItem[184]},
- /* 184 */ {"pound", 0xA3, NULL},
- /* 185 */ {"lsaquo", 0x2039, &MyHashItem[186]},
- /* 186 */ {"lrm", 0x200E, &MyHashItem[187]},
- /* 187 */ {"lambda", 0x03BB, &MyHashItem[188]},
- /* 188 */ {"delta", 0x03B4, &MyHashItem[189]},
- /* 189 */ {"alpha", 0x03B1, NULL},
- /* 190 */ {"frasl", 0x2044, &MyHashItem[191]},
- /* 191 */ {"thorn", 0xFE, &MyHashItem[192]},
- /* 192 */ {"auml", 0xE4, NULL},
- /* 193 */ {"Mu", 0x039C, NULL},
- /* 194 */ {"nsub", 0x2284, &MyHashItem[195]},
- /* 195 */ {"macr", 0xAF, NULL},
- /* 196 */ {"minus", 0x2212, &MyHashItem[197]},
- /* 197 */ {"Nu", 0x039D, &MyHashItem[198]},
- /* 198 */ {"Oacute", 0xD3, NULL},
- /* 199 */ {"prod", 0x220F, &MyHashItem[200]},
- /* 200 */ {"Uuml", 0xDC, &MyHashItem[201]},
- /* 201 */ {"iexcl", 0xA1, NULL},
- /* 202 */ {"lang", 0x2329, &MyHashItem[203]},
- /* 203 */ {"tau", 0x03C4, &MyHashItem[204]},
- /* 204 */ {"rho", 0x03C1, &MyHashItem[205]},
- /* 205 */ {"gamma", 0x03B3, NULL},
- /* 206 */ {"loz", 0x25CA, &MyHashItem[207]},
- /* 207 */ {"bull", 0x2022, &MyHashItem[208]},
- /* 208 */ {"piv", 0x03D6, NULL},
- /* 209 */ {"eacute", 0xE9, NULL},
- /* 210 */ {"zwnj", 0x200C, &MyHashItem[211]},
- /* 211 */ {"oslash", 0xF8, &MyHashItem[212]},
- /* 212 */ {"ccedil", 0xE7, &MyHashItem[213]},
- /* 213 */ {"THORN", 0xDE, &MyHashItem[214]},
- /* 214 */ {"Iuml", 0xCF, &MyHashItem[215]},
- /* 215 */ {"not", 0xAC, NULL},
- /* 216 */ {"sim", 0x223C, &MyHashItem[217]},
- /* 217 */ {"thetasym", 0x03D1, &MyHashItem[218]},
- /* 218 */ {"Acirc", 0xC2, NULL},
- /* 219 */ {"Dagger", 0x2021, &MyHashItem[220]},
- /* 220 */ {"fnof", 0x0192, NULL},
- /* 221 */ {"rlm", 0x200F, &MyHashItem[222]},
- /* 222 */ {"oline", 0x203E, &MyHashItem[223]},
- /* 223 */ {"Chi", 0x03A7, &MyHashItem[224]},
- /* 224 */ {"Xi", 0x039E, &MyHashItem[225]},
- /* 225 */ {"otilde", 0xF5, &MyHashItem[226]},
- /* 226 */ {"Iacute", 0xCD, &MyHashItem[227]},
- /* 227 */ {"copy", 0xA9, NULL},
- /* 228 */ {"ndash", 0x2013, &MyHashItem[229]},
- /* 229 */ {"ouml", 0xF6, NULL},
- /* 230 */ {"psi", 0x03C8, NULL},
- /* 231 */ {"sube", 0x2286, NULL},
- /* 232 */ {"emsp", 0x2003, &MyHashItem[233]},
- /* 233 */ {"asymp", 0x2248, &MyHashItem[234]},
- /* 234 */ {"prop", 0x221D, NULL},
- /* 235 */ {"infin", 0x221E, NULL},
- /* 236 */ {"empty", 0x2205, &MyHashItem[237]},
- /* 237 */ {"uacute", 0xFA, &MyHashItem[238]},
- /* 238 */ {"agrave", 0xE0, &MyHashItem[239]},
- /* 239 */ {"shy", 0xAD, NULL},
- /* 240 */ {"ensp", 0x2002, NULL},
- /* 241 */ {"acirc", 0xE2, NULL},
- /* 242 */ {"sub", 0x2282, &MyHashItem[243]},
- /* 243 */ {"epsilon", 0x03B5, NULL},
- /* 244 */ {"Yacute", 0xDD, &MyHashItem[245]},
- /* 245 */ {"Egrave", 0xC8, NULL},
- /* 246 */ {"there4", 0x2234, &MyHashItem[247]},
- /* 247 */ {"larr", 0x2190, &MyHashItem[248]},
- /* 248 */ {"uml", 0xA8, &MyHashItem[249]},
- /* 249 */ {"AMP", 0x26, NULL},
- /* 250 */ {"Sigma", 0x03A3, &MyHashItem[251]},
- /* 251 */ {"Aring", 0xC5, NULL},
- /* 252 */ {"yen", 0xA5, NULL},
- /* 253 */ {"oacute", 0xF3, &MyHashItem[254]},
- /* 254 */ {"raquo", 0xBB, NULL},
- /* 255 */ {"thinsp", 0x2009, NULL},
- /* 256 */ {"Ucirc", 0xDB, NULL},
-};
-
-static HashItem_si *MyHashItemTbl[] = {
- NULL,
- &MyHashItem[0],
- &MyHashItem[2],
- &MyHashItem[5],
- &MyHashItem[7],
- &MyHashItem[11],
- &MyHashItem[16],
- &MyHashItem[19],
- &MyHashItem[24],
- &MyHashItem[27],
- &MyHashItem[33],
- &MyHashItem[36],
- NULL,
- &MyHashItem[38],
- &MyHashItem[41],
- &MyHashItem[45],
- &MyHashItem[47],
- &MyHashItem[51],
- &MyHashItem[55],
- &MyHashItem[58],
- &MyHashItem[60],
- &MyHashItem[62],
- &MyHashItem[67],
- &MyHashItem[68],
- &MyHashItem[70],
- &MyHashItem[71],
- &MyHashItem[75],
- &MyHashItem[78],
- &MyHashItem[79],
- &MyHashItem[81],
- &MyHashItem[85],
- &MyHashItem[88],
- &MyHashItem[89],
- &MyHashItem[94],
- &MyHashItem[97],
- &MyHashItem[100],
- &MyHashItem[101],
- &MyHashItem[104],
- &MyHashItem[107],
- &MyHashItem[110],
- &MyHashItem[111],
- &MyHashItem[113],
- &MyHashItem[115],
- &MyHashItem[120],
- &MyHashItem[123],
- &MyHashItem[124],
- &MyHashItem[131],
- &MyHashItem[133],
- NULL,
- &MyHashItem[136],
- NULL,
- NULL,
- &MyHashItem[139],
- &MyHashItem[140],
- &MyHashItem[144],
- &MyHashItem[147],
- &MyHashItem[150],
- &MyHashItem[151],
- &MyHashItem[157],
- &MyHashItem[158],
- NULL,
- &MyHashItem[159],
- &MyHashItem[167],
- &MyHashItem[171],
- &MyHashItem[173],
- &MyHashItem[174],
- &MyHashItem[179],
- NULL,
- &MyHashItem[183],
- &MyHashItem[185],
- &MyHashItem[190],
- &MyHashItem[193],
- &MyHashItem[194],
- &MyHashItem[196],
- &MyHashItem[199],
- &MyHashItem[202],
- &MyHashItem[206],
- &MyHashItem[209],
- &MyHashItem[210],
- &MyHashItem[216],
- &MyHashItem[219],
- &MyHashItem[221],
- &MyHashItem[228],
- &MyHashItem[230],
- NULL,
- &MyHashItem[231],
- &MyHashItem[232],
- NULL,
- &MyHashItem[235],
- &MyHashItem[236],
- &MyHashItem[240],
- &MyHashItem[241],
- &MyHashItem[242],
- &MyHashItem[244],
- &MyHashItem[246],
- &MyHashItem[250],
- &MyHashItem[252],
- &MyHashItem[253],
- &MyHashItem[255],
- &MyHashItem[256],
-};
-
-Hash_si entity = { 100, MyHashItemTbl };
diff --git a/file.c b/file.c
index d4c47fd..9e63eb3 100644
--- a/file.c
+++ b/file.c
@@ -2469,6 +2469,7 @@ set_breakpoint(struct readbuffer *obuf, int tag_length)
bcopy((void *)&obuf->anchor, (void *)&obuf->bp.anchor,
sizeof(obuf->anchor));
obuf->bp.img_alt = obuf->img_alt;
+ obuf->bp.input_alt = obuf->input_alt;
obuf->bp.in_bold = obuf->in_bold;
obuf->bp.in_italic = obuf->in_italic;
obuf->bp.in_under = obuf->in_under;
@@ -2486,6 +2487,7 @@ back_to_breakpoint(struct readbuffer *obuf)
bcopy((void *)&obuf->bp.anchor, (void *)&obuf->anchor,
sizeof(obuf->anchor));
obuf->img_alt = obuf->bp.img_alt;
+ obuf->input_alt = obuf->bp.input_alt;
obuf->in_bold = obuf->bp.in_bold;
obuf->in_italic = obuf->bp.in_italic;
obuf->in_under = obuf->bp.in_under;
@@ -2729,7 +2731,7 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent,
Str line = obuf->line, pass = NULL;
char *hidden_anchor = NULL, *hidden_img = NULL, *hidden_bold = NULL,
*hidden_under = NULL, *hidden_italic = NULL, *hidden_strike = NULL,
- *hidden_ins = NULL, *hidden = NULL;
+ *hidden_ins = NULL, *hidden_input, *hidden = NULL;
#ifdef DEBUG
if (w3m_debug) {
@@ -2761,6 +2763,12 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent,
hidden = hidden_img;
}
}
+ if (obuf->input_alt.in) {
+ if ((hidden_input = has_hidden_link(obuf, HTML_INPUT_ALT)) != NULL) {
+ if (!hidden || hidden_input < hidden)
+ hidden = hidden_input;
+ }
+ }
if (obuf->in_bold) {
if ((hidden_bold = has_hidden_link(obuf, HTML_B)) != NULL) {
if (!hidden || hidden_bold < hidden)
@@ -2812,6 +2820,8 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent,
Strcat_charp(line, "</a>");
if (obuf->img_alt && !hidden_img)
Strcat_charp(line, "</img_alt>");
+ if (obuf->input_alt.in && !hidden_input)
+ Strcat_charp(line, "</input_alt>");
if (obuf->in_bold && !hidden_bold)
Strcat_charp(line, "</b>");
if (obuf->in_italic && !hidden_italic)
@@ -3022,6 +3032,18 @@ flushline(struct html_feed_environ *h_env, struct readbuffer *obuf, int indent,
Strcat_charp(tmp, "\">");
push_tag(obuf, tmp->ptr, HTML_IMG_ALT);
}
+ if (!hidden_input && obuf->input_alt.in) {
+ Str tmp;
+ if (obuf->input_alt.hseq > 0)
+ obuf->input_alt.hseq = - obuf->input_alt.hseq;
+ tmp = Sprintf("<INPUT_ALT hseq=\"%d\" fid=\"%d\" name=\"%s\" type=\"%s\" value=\"%s\">",
+ obuf->input_alt.hseq,
+ obuf->input_alt.fid,
+ obuf->input_alt.name->ptr,
+ obuf->input_alt.type->ptr,
+ obuf->input_alt.value->ptr);
+ push_tag(obuf, tmp->ptr, HTML_INPUT_ALT);
+ }
if (!hidden_bold && obuf->in_bold)
push_tag(obuf, "<B>", HTML_B);
if (!hidden_italic && obuf->in_italic)
@@ -3732,6 +3754,63 @@ process_input(struct parsed_tag *tag)
}
Str
+process_button(struct parsed_tag *tag)
+{
+ Str tmp = NULL;
+ char *p, *q, *r, *qq = NULL;
+ int qlen, v;
+
+ if (cur_form_id < 0) {
+ char *s = "<form_int method=internal action=none>";
+ tmp = process_form(parse_tag(&s, TRUE));
+ }
+ if (tmp == NULL)
+ tmp = Strnew();
+
+ p = "submit";
+ parsedtag_get_value(tag, ATTR_TYPE, &p);
+ q = NULL;
+ parsedtag_get_value(tag, ATTR_VALUE, &q);
+ r = "";
+ parsedtag_get_value(tag, ATTR_NAME, &r);
+
+ v = formtype(p);
+ if (v == FORM_UNKNOWN)
+ return NULL;
+
+ if (!q) {
+ switch (v) {
+ case FORM_INPUT_SUBMIT:
+ case FORM_INPUT_BUTTON:
+ q = "SUBMIT";
+ break;
+ case FORM_INPUT_RESET:
+ q = "RESET";
+ break;
+ }
+ }
+ if (q) {
+ qq = html_quote(q);
+ qlen = strlen(q);
+ }
+
+ // Strcat_charp(tmp, "<pre_int>");
+ Strcat(tmp, Sprintf("<input_alt hseq=\"%d\" fid=\"%d\" type=%s "
+ "name=\"%s\" value=\"%s\">",
+ cur_hseq++, cur_form_id, p, html_quote(r), qq));
+ return tmp;
+}
+
+Str
+process_n_button(void)
+{
+ Str tmp = Strnew();
+ Strcat_charp(tmp, "</input_alt>");
+ // Strcat_charp(tmp, "</pre_int>");
+ return tmp;
+}
+
+Str
process_select(struct parsed_tag *tag)
{
Str tmp = NULL;
@@ -4861,7 +4940,35 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)
if (i > obuf->bottom_margin)
obuf->bottom_margin = i;
}
+ if (parsedtag_get_value(tag, ATTR_HSEQ, &hseq)) {
+ obuf->input_alt.hseq = hseq;
+ }
+ if (parsedtag_get_value(tag, ATTR_FID, &i)) {
+ obuf->input_alt.fid = i;
+ }
+ if (parsedtag_get_value(tag, ATTR_TYPE, &p)) {
+ obuf->input_alt.type = Strnew_charp(p);
+ }
+ if (parsedtag_get_value(tag, ATTR_VALUE, &p)) {
+ obuf->input_alt.value = Strnew_charp(p);
+ }
+ if (parsedtag_get_value(tag, ATTR_NAME, &p)) {
+ obuf->input_alt.name = Strnew_charp(p);
+ }
+ obuf->input_alt.in = 1;
return 0;
+ case HTML_N_INPUT_ALT:
+ if (obuf->input_alt.in) {
+ if (!close_effect0(obuf, HTML_INPUT_ALT))
+ push_tag(obuf, "</input_alt>", HTML_N_INPUT_ALT);
+ obuf->input_alt.hseq = 0;
+ obuf->input_alt.fid = -1;
+ obuf->input_alt.in = 0;
+ obuf->input_alt.type = NULL;
+ obuf->input_alt.name = NULL;
+ obuf->input_alt.value = NULL;
+ }
+ return 1;
case HTML_TABLE:
close_anchor(h_env, obuf);
obuf->table_level++;
@@ -4970,6 +5077,16 @@ HTMLtagproc1(struct parsed_tag *tag, struct html_feed_environ *h_env)
case HTML_INPUT:
close_anchor(h_env, obuf);
tmp = process_input(tag);
+ if (tmp)
+ HTMLlineproc1(tmp->ptr, h_env);
+ return 1;
+ case HTML_BUTTON:
+ tmp = process_button(tag);
+ if (tmp)
+ HTMLlineproc1(tmp->ptr, h_env);
+ return 1;
+ case HTML_N_BUTTON:
+ tmp = process_n_button();
if (tmp)
HTMLlineproc1(tmp->ptr, h_env);
return 1;
@@ -5682,6 +5799,21 @@ HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
putHmarker(buf->hmarklist, currentLn(buf),
hpos, hseq - 1);
}
+ else if (hseq < 0) {
+ int h = -hseq - 1;
+ int hpos = pos;
+ if (*str == '[')
+ hpos++;
+ if (buf->hmarklist &&
+ h < buf->hmarklist->nmark &&
+ buf->hmarklist->marks[h].invalid) {
+ buf->hmarklist->marks[h].pos = hpos;
+ buf->hmarklist->marks[h].line = currentLn(buf);
+ buf->hmarklist->marks[h].invalid = 0;
+ hseq = -hseq;
+ }
+ }
+
if (!form->target)
form->target = buf->baseTarget;
if (a_textarea &&
@@ -6749,6 +6881,12 @@ init_henv(struct html_feed_environ *h_env, struct readbuffer *obuf,
obuf->nobr_level = 0;
bzero((void *)&obuf->anchor, sizeof(obuf->anchor));
obuf->img_alt = 0;
+ obuf->input_alt.hseq = 0;
+ obuf->input_alt.fid = -1;
+ obuf->input_alt.in = 0;
+ obuf->input_alt.type = NULL;
+ obuf->input_alt.name = NULL;
+ obuf->input_alt.value = NULL;
obuf->in_bold = 0;
obuf->in_italic = 0;
obuf->in_under = 0;
@@ -6784,6 +6922,15 @@ completeHTMLstream(struct html_feed_environ *h_env, struct readbuffer *obuf)
push_tag(obuf, "</img_alt>", HTML_N_IMG_ALT);
obuf->img_alt = NULL;
}
+ if (obuf->input_alt.in) {
+ push_tag(obuf, "</input_alt>", HTML_N_INPUT_ALT);
+ obuf->input_alt.hseq = 0;
+ obuf->input_alt.fid = -1;
+ obuf->input_alt.in = 0;
+ obuf->input_alt.type = NULL;
+ obuf->input_alt.name = NULL;
+ obuf->input_alt.value = NULL;
+ }
if (obuf->in_bold) {
push_tag(obuf, "</b>", HTML_N_B);
obuf->in_bold = 0;
diff --git a/fm.h b/fm.h
index 8378939..633ce90 100644
--- a/fm.h
+++ b/fm.h
@@ -562,6 +562,13 @@ typedef struct _DownloadList {
#define INIT_BUFFER_WIDTH ((_INIT_BUFFER_WIDTH > 0) ? _INIT_BUFFER_WIDTH : 0)
#define FOLD_BUFFER_WIDTH (FoldLine ? (INIT_BUFFER_WIDTH + 1) : -1)
+struct input_alt_attr {
+ int hseq;
+ int fid;
+ int in;
+ Str type, name, value;
+};
+
typedef struct {
int pos;
int len;
@@ -569,6 +576,7 @@ typedef struct {
long flag;
Anchor anchor;
Str img_alt;
+ struct input_alt_attr input_alt;
char fontstat[FONTSTAT_SIZE];
short nobr_level;
Lineprop prev_ctype;
@@ -591,6 +599,7 @@ struct readbuffer {
short nobr_level;
Anchor anchor;
Str img_alt;
+ struct input_alt_attr input_alt;
char fontstat[FONTSTAT_SIZE];
char fontstat_stack[FONT_STACK_SIZE][FONTSTAT_SIZE];
int fontstat_sp;
diff --git a/html.c b/html.c
index 2359ca0..c86205d 100644
--- a/html.c
+++ b/html.c
@@ -56,6 +56,9 @@ unsigned char ALST_INPUT[] =
ATTR_CORE
};
#define MAXA_INPUT MAXA_CORE + 12
+unsigned char ALST_BUTTON[] =
+ { ATTR_TYPE, ATTR_VALUE, ATTR_NAME, ATTR_CORE };
+#define MAXA_BUTTON MAXA_CORE + 3
unsigned char ALST_TEXTAREA[] =
{ ATTR_COLS, ATTR_ROWS, ATTR_NAME, ATTR_READONLY, ATTR_CORE };
#define MAXA_TEXTAREA MAXA_CORE + 4
@@ -247,24 +250,24 @@ TagInfo TagMAP[MAX_HTMLTAG] = {
{"/bdo", NULL, 0, TFLG_END}, /* 121 HTML_N_BDO */
{"big", ALST_NOP, MAXA_NOP, 0}, /* 122 HTML_BIG */
{"/big", NULL, 0, TFLG_END}, /* 123 HTML_N_BIG */
- {"button", ALST_NOP, MAXA_NOP, 0}, /* 124 HTML_BUTTON */
- {"fieldset", ALST_NOP, MAXA_NOP, 0}, /* 125 HTML_FIELDSET */
- {"/fieldset", NULL, 0, TFLG_END}, /* 126 HTML_N_FIELDSET */
- {"iframe", ALST_NOP, MAXA_NOP, 0}, /* 127 HTML_IFRAME */
- {"label", ALST_NOP, MAXA_NOP, 0}, /* 128 HTML_LABEL */
- {"/label", NULL, 0, TFLG_END}, /* 129 HTML_N_LABEL */
- {"legend", ALST_NOP, MAXA_NOP, 0}, /* 130 HTML_LEGEND */
- {"/legend", NULL, 0, TFLG_END}, /* 131 HTML_N_LEGEND */
- {"noscript", ALST_NOP, MAXA_NOP, 0}, /* 132 HTML_NOSCRIPT */
- {"/noscript", NULL, 0, TFLG_END}, /* 133 HTML_N_NOSCRIPT */
- {"object", ALST_NOP, MAXA_NOP, 0}, /* 134 HTML_OBJECT */
- {"optgroup", ALST_NOP, MAXA_NOP, 0}, /* 135 HTML_OPTGROUP */
- {"/optgroup", NULL, 0, TFLG_END}, /* 136 HTML_N_OPTGROUP */
- {"param", ALST_NOP, MAXA_NOP, 0}, /* 137 HTML_PARAM */
- {"small", ALST_NOP, MAXA_NOP, 0}, /* 138 HTML_SMALL */
- {"/small", NULL, 0, TFLG_END}, /* 139 HTML_N_SMALL */
+ {"button", ALST_BUTTON, MAXA_BUTTON, 0}, /* 124 HTML_BUTTON */
+ {"/button", NULL, 0, TFLG_END}, /* 125 HTML_N_BUTTON */
+ {"fieldset", ALST_NOP, MAXA_NOP, 0}, /* 126 HTML_FIELDSET */
+ {"/fieldset", NULL, 0, TFLG_END}, /* 127 HTML_N_FIELDSET */
+ {"iframe", ALST_NOP, MAXA_NOP, 0}, /* 128 HTML_IFRAME */
+ {"label", ALST_NOP, MAXA_NOP, 0}, /* 129 HTML_LABEL */
+ {"/label", NULL, 0, TFLG_END}, /* 130 HTML_N_LABEL */
+ {"legend", ALST_NOP, MAXA_NOP, 0}, /* 131 HTML_LEGEND */
+ {"/legend", NULL, 0, TFLG_END}, /* 132 HTML_N_LEGEND */
+ {"noscript", ALST_NOP, MAXA_NOP, 0}, /* 133 HTML_NOSCRIPT */
+ {"/noscript", NULL, 0, TFLG_END}, /* 134 HTML_N_NOSCRIPT */
+ {"object", ALST_NOP, MAXA_NOP, 0}, /* 135 HTML_OBJECT */
+ {"optgroup", ALST_NOP, MAXA_NOP, 0}, /* 136 HTML_OPTGROUP */
+ {"/optgroup", NULL, 0, TFLG_END}, /* 137 HTML_N_OPTGROUP */
+ {"param", ALST_NOP, MAXA_NOP, 0}, /* 138 HTML_PARAM */
+ {"small", ALST_NOP, MAXA_NOP, 0}, /* 139 HTML_SMALL */
+ {"/small", NULL, 0, TFLG_END}, /* 140 HTML_N_SMALL */
- {NULL, NULL, 0, 0}, /* 140 Undefined */
{NULL, NULL, 0, 0}, /* 141 Undefined */
{NULL, NULL, 0, 0}, /* 142 Undefined */
{NULL, NULL, 0, 0}, /* 143 Undefined */
diff --git a/html.h b/html.h
index 7abbd3b..4a2827b 100644
--- a/html.h
+++ b/html.h
@@ -214,21 +214,22 @@ typedef struct {
#define HTML_BIG 122
#define HTML_N_BIG 123
#define HTML_BUTTON 124
-#define HTML_FIELDSET 125
-#define HTML_N_FIELDSET 126
-#define HTML_IFRAME 127
-#define HTML_LABEL 128
-#define HTML_N_LABEL 129
-#define HTML_LEGEND 130
-#define HTML_N_LEGEND 131
-#define HTML_NOSCRIPT 132
-#define HTML_N_NOSCRIPT 133
-#define HTML_OBJECT 134
-#define HTML_OPTGROUP 135
-#define HTML_N_OPTGROUP 136
-#define HTML_PARAM 137
-#define HTML_SMALL 138
-#define HTML_N_SMALL 139
+#define HTML_N_BUTTON 125
+#define HTML_FIELDSET 126
+#define HTML_N_FIELDSET 127
+#define HTML_IFRAME 128
+#define HTML_LABEL 129
+#define HTML_N_LABEL 130
+#define HTML_LEGEND 131
+#define HTML_N_LEGEND 132
+#define HTML_NOSCRIPT 133
+#define HTML_N_NOSCRIPT 134
+#define HTML_OBJECT 135
+#define HTML_OPTGROUP 136
+#define HTML_N_OPTGROUP 137
+#define HTML_PARAM 138
+#define HTML_SMALL 139
+#define HTML_N_SMALL 140
/* pseudo tag */
#define HTML_SELECT_INT 160
diff --git a/main.c b/main.c
index b421943..cc17e0e 100644
--- a/main.c
+++ b/main.c
@@ -200,10 +200,12 @@ fusage(FILE * f, int err)
#ifdef USE_M17N
fprintf(f, " -I charset document charset\n");
fprintf(f, " -O charset display/output charset\n");
+#if 0 /* use -O{s|j|e} instead */
fprintf(f, " -e EUC-JP\n");
fprintf(f, " -s Shift_JIS\n");
fprintf(f, " -j JIS\n");
#endif
+#endif
fprintf(f, " -B load bookmark\n");
fprintf(f, " -bookmark file specify bookmark file\n");
fprintf(f, " -T type specify content-type\n");
@@ -248,7 +250,11 @@ fusage(FILE * f, int err)
#endif /* USE_COOKIE */
fprintf(f, " -graph use DEC special graphics for border of table and menu\n");
fprintf(f, " -no-graph use ACII character for border of table and menu\n");
+#if 1 /* pager requires -s */
+ fprintf(f, " -s squeeze multiple blank lines\n");
+#else
fprintf(f, " -S squeeze multiple blank lines\n");
+#endif
fprintf(f, " -W toggle wrap search mode\n");
fprintf(f, " -X don't use termcap init/deinit\n");
fprintf(f,
@@ -530,12 +536,14 @@ main(int argc, char **argv, char **envp)
PagerMax = atoi(argv[i]);
}
#ifdef USE_M17N
+#if 0 /* use -O{s|j|e} instead */
else if (!strcmp("-s", argv[i]))
DisplayCharset = WC_CES_SHIFT_JIS;
else if (!strcmp("-j", argv[i]))
DisplayCharset = WC_CES_ISO_2022_JP;
else if (!strcmp("-e", argv[i]))
DisplayCharset = WC_CES_EUC_JP;
+#endif
else if (!strncmp("-I", argv[i], 2)) {
if (argv[i][2] != '\0')
p = argv[i] + 2;
@@ -703,7 +711,11 @@ main(int argc, char **argv, char **envp)
accept_cookie = TRUE;
}
#endif /* USE_COOKIE */
+#if 1 /* pager requires -s */
+ else if (!strcmp("-s", argv[i]))
+#else
else if (!strcmp("-S", argv[i]))
+#endif
squeezeBlankLine = TRUE;
else if (!strcmp("-X", argv[i]))
Do_not_use_ti_te = TRUE;
diff --git a/proto.h b/proto.h
index f8a7345..c7992ca 100644
--- a/proto.h
+++ b/proto.h
@@ -207,6 +207,8 @@ extern int getImageSize(ImageCache * cache);
extern Str process_img(struct parsed_tag *tag, int width);
extern Str process_anchor(struct parsed_tag *tag, char *tagbuf);
extern Str process_input(struct parsed_tag *tag);
+extern Str process_button(struct parsed_tag *tag);
+extern Str process_n_button(void);
extern Str process_select(struct parsed_tag *tag);
extern Str process_n_select(void);
extern void feed_select(char *str);
diff --git a/table.c b/table.c
index e1243ff..d376284 100644
--- a/table.c
+++ b/table.c
@@ -2878,6 +2878,14 @@ feed_table_tag(struct table *tbl, char *line, struct table_mode *mode,
tmp = process_input(tag);
feed_table1(tbl, tmp, mode, width);
break;
+ case HTML_BUTTON:
+ tmp = process_button(tag);
+ feed_table1(tbl, tmp, mode, width);
+ break;
+ case HTML_N_BUTTON:
+ tmp = process_n_button();
+ feed_table1(tbl, tmp, mode, width);
+ break;
case HTML_SELECT:
tmp = process_select(tag);
if (tmp)
diff --git a/tagtable.tab b/tagtable.tab
index f9b7b76..f5a2c30 100644
--- a/tagtable.tab
+++ b/tagtable.tab
@@ -176,6 +176,7 @@ bdo HTML_BDO
big HTML_BIG
/big HTML_N_BIG
button HTML_BUTTON
+/button HTML_N_BUTTON
fieldset HTML_FIELDSET
/fieldset HTML_N_FIELDSET
iframe HTML_IFRAME