[w3m-dev 04211] input type=image

[email protected] Wed, 24 Jan 2007 13:44:03 +0900 (JST)
Newsgroups gmane.comp.web.w3m.devel
Message-ID <[email protected]>

<form action=a>
<table border=1>
<tr valign=top>
<td><input type=image name=i src=s width=700>
        <br>a
<td><input type=submit>
</table>
</form>

 HTML  input type=image 
( mapion )
input_alt  img_alt  <pre_int> 


URL  #label 
label fold_line=1 


diff -u file.c.orig file.c
--- file.c.orig	Wed Jan 24 13:41:17 2007
+++ file.c	Wed Jan 24 12:40:40 2007
@@ -2250,7 +2250,7 @@
 	    }
 	    else {		/* plain text */
 		int l = atoi(pu.label);
-		gotoLine(b, l);
+		gotoRealLine(b, l);
 		b->pos = 0;
 		arrangeCursor(b);
 	    }
@@ -3161,7 +3161,7 @@
 #else
     int w, i, nw, n;
 #endif
-    int pre_int = FALSE;
+    int pre_int = FALSE, ext_pre_int = FALSE;
     Str tmp = Strnew();
 
     if (!parsedtag_get_value(tag, ATTR_SRC, &p))
@@ -3217,6 +3217,8 @@
 	parsedtag_get_value(tag, ATTR_HEIGHT, &i);
     r = NULL;
     parsedtag_get_value(tag, ATTR_USEMAP, &r);
+    if (parsedtag_exists(tag, ATTR_PRE_INT))
+	ext_pre_int = TRUE;
 
     tmp = Strnew_size(128);
 #ifdef USE_IMAGE
@@ -3445,7 +3447,7 @@
     }
 #endif
     Strcat_charp(tmp, "</img_alt>");
-    if (pre_int)
+    if (pre_int && !ext_pre_int)
 	Strcat_charp(tmp, "</pre_int>");
     if (r) {
 	Strcat_charp(tmp, "</input_alt>");
@@ -3584,7 +3586,7 @@
 		    Strcat(tmp, Sprintf(" width=\"%d\"", iw));
 		if (parsedtag_get_value(tag, ATTR_HEIGHT, &ih))
 		    Strcat(tmp, Sprintf(" height=\"%d\"", ih));
-		Strcat_charp(tmp, ">");
+		Strcat_charp(tmp, " pre_int>");
 		Strcat_charp(tmp, "</input_alt></pre_int>");
 		return tmp;
 	    }
diff -u html.c.orig html.c
--- html.c.orig	Mon Jan 22 21:37:20 2007
+++ html.c	Wed Jan 24 12:35:53 2007
@@ -29,9 +29,9 @@
 #define MAXA_PRE	MAXA_CORE + 1
 unsigned char ALST_IMG[] =
     { ATTR_SRC, ATTR_ALT, ATTR_WIDTH, ATTR_HEIGHT, ATTR_ALIGN, ATTR_USEMAP,
-    ATTR_ISMAP, ATTR_TITLE, ATTR_CORE
+    ATTR_ISMAP, ATTR_TITLE, ATTR_PRE_INT, ATTR_CORE
 };
-#define MAXA_IMG	MAXA_CORE + 8
+#define MAXA_IMG	MAXA_CORE + 9
 unsigned char ALST_TABLE[] =
     { ATTR_BORDER, ATTR_WIDTH, ATTR_HBORDER, ATTR_CELLSPACING,
     ATTR_CELLPADDING, ATTR_VSPACE, ATTR_CORE
@@ -348,4 +348,5 @@
     {"referer", VTYPE_STR, AFLG_INT},	/* 71 ATTR_REFERER        */
     {"selectnumber", VTYPE_NUMBER, AFLG_INT},	/* 72 ATTR_SELECTNUMBER   */
     {"textareanumber", VTYPE_NUMBER, AFLG_INT},	/* 73 ATTR_TEXTAREANUMBER */
+    {"pre_int", VTYPE_NONE, AFLG_INT},	/* 74 ATTR_PRE_INT      */
 };
diff -u html.h.orig html.h
--- html.h.orig	Mon Jan 22 21:37:22 2007
+++ html.h	Wed Jan 24 12:35:38 2007
@@ -301,8 +301,9 @@
 #define ATTR_REFERER		71
 #define ATTR_SELECTNUMBER	72
 #define ATTR_TEXTAREANUMBER	73
+#define ATTR_PRE_INT		74
 
-#define MAX_TAGATTR		74
+#define MAX_TAGATTR		75
 
 /* HTML Tag Information Table */
 

-----------------------------------
  <[email protected]>