[w3m-dev 03923] <pre> in <table>
Hironori SAKAMOTO <[email protected]>
| Newsgroups | gmane.comp.web.w3m.devel |
|---|---|
| Message-ID | <[email protected]> |
table pre <table border=1> <tr><td> <pre> 1234 X </pre> </table> X (\t) ----------------------------------- <[email protected]> http://www2u.biglobe.ne.jp/~hsaka/ diff -u file.c.orig file.c --- file.c.orig Tue May 27 17:40:20 2003 +++ file.c Fri Jun 27 17:27:10 2003 @@ -4452,6 +4452,7 @@ do_blankline(h_env, obuf, envs[h_env->envc].indent, 0, h_env->limit); obuf->flag |= RB_IGNORE_P; + h_env->blank_lines++; } obuf->flag &= ~RB_PRE; close_anchor(h_env, obuf); diff -u table.c.orig table.c --- table.c.orig Fri Jun 20 13:50:42 2003 +++ table.c Fri Jun 27 16:59:50 2003 @@ -560,48 +560,18 @@ return len > max_len ? len : max_len; } -int -maximum_visible_length(char *str) +static int +maximum_visible_length(char *str, int offset) { - int maxlen, len; - - visible_length_offset = 0; - maxlen = visible_length(str); - - if (!strchr(str, '\t')) - return maxlen; - - for (visible_length_offset = 1; visible_length_offset < Tabstop; - visible_length_offset++) { - len = visible_length(str); - if (maxlen < len) { - maxlen = len; - break; - } - } - return maxlen; + visible_length_offset = offset; + return visible_length(str); } -int -maximum_visible_length_plain(char *str) +static int +maximum_visible_length_plain(char *str, int offset) { - int maxlen, len; - - visible_length_offset = 0; - maxlen = visible_length_plain(str); - - if (!strchr(str, '\t')) - return maxlen; - - for (visible_length_offset = 1; visible_length_offset < Tabstop; - visible_length_offset++) { - len = visible_length_plain(str); - if (maxlen < len) { - maxlen = len; - break; - } - } - return maxlen; + visible_length_offset = offset; + return visible_length_plain(str); } void @@ -3222,7 +3192,7 @@ check_rowcol(tbl, mode); if (mode->nobr_offset < 0) mode->nobr_offset = tbl->tabcontentssize; - addcontentssize(tbl, maximum_visible_length(line)); + addcontentssize(tbl, maximum_visible_length(line, tbl->tabcontentssize)); setwidth(tbl, mode); pushdata(tbl, tbl->row, tbl->col, line); } @@ -3251,9 +3221,9 @@ line = ""; } if (mode->pre_mode & TBLM_PLAIN) - i = maximum_visible_length_plain(p); + i = maximum_visible_length_plain(p, tbl->tabcontentssize); else - i = maximum_visible_length(p); + i = maximum_visible_length(p, tbl->tabcontentssize); addcontentssize(tbl, i); setwidth(tbl, mode); if (nl)