TODO 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498
  1. Regenerate tests:
  2. sh autogen.sh
  3. ./configure
  4. make
  5. make check-local
  6. cd test
  7. ./manage_test_archives.sh get
  8. cd ..
  9. tar xzvf t2h_tests_files.tar.gz
  10. cd test
  11. ./base_tests
  12. ./long_tests
  13. ./tex_html_tests
  14. make copy-tests copy-tex-html
  15. This file contains a list of things yet to be done:
  16. Note
  17. ----
  18. Remove texi2html generated files
  19. rm -f ABOUT-NLS INSTALL aclocal.m4 config.guess config.sub configure install-sh missing
  20. Before next release
  21. -------------------
  22. Later
  23. -----
  24. Profiling example:
  25. perl -w -x -d:NYTProf ../../texi2html.pl texinfo.texi
  26. nytprofhtml
  27. firefox nytprof/index.html
  28. * the real macro that lead to the expanded text where an error is found
  29. cannot be determined since there is one information for one line, even
  30. if there were more than one macro expanded on the line.
  31. * automatic menus.
  32. * automatic nodes, if feasible (issue of unicity, mostly).
  33. * not a priority since it involves a lot of work. It would be nice to
  34. have the texinfo parsing in a separate perl module (as Derek suggested).
  35. It would do a tree out of texinfo code, and also a tree of the
  36. nodes/sections in a completly output independent way. This would allow
  37. to bring back some info specific stuff (for info output a tree is done)
  38. in the main program and have maybe something simpler.
  39. Also remove all the modification of the texinfo. Instead modify the
  40. generated tree.
  41. * with --quiet/--silent silence tex4ht and latex2html by redirecting to
  42. /dev/null.
  43. * test --headers --output, and the other order, especially when in
  44. info mode, such that it triggers also plaintext. Also test with
  45. directories and files.
  46. * check for (both split and not split)
  47. --out foo/ --out bar/file.html
  48. --out foo/ --out file.html
  49. * have a way to know whether a description is present or not
  50. when formatting the menu_entry. This could allow not having a
  51. colon after menu_entry when there is no description.
  52. * call a specific function reference to format the @author for
  53. a quotation?
  54. * test a mix of misc commands that should be at the begining of a line
  55. and those that don't need to (comment c sp refill noindent indent).
  56. Test a misc command that should be at the begining of a line followed
  57. by another one. And also mix with other type of command.
  58. * line breaking could happen after a full width character.
  59. Accordingly, in japanese.texi lines are not cut right.
  60. * warn in all formats for @comma in node and error if in Info.
  61. Also many characters (. : ...) break menu entry parsing in Info files.
  62. * images.texi, paragraph_in_samp.texi should be tested in xml too.
  63. Maybe they should be moved to coverage, and in coverage all the formats
  64. should be tested like in sectioning.
  65. * invalid/caption_not_closed.texi some doubtful <p><strong></strong></p>
  66. appears, it is empty and it isn't clear where it comes from.
  67. similarly in formatting/table_in_table_item.texi, some empty stuff:
  68. <td><pre class="example"><code></code></pre><dl compact="compact">
  69. <dd><pre class="example"><code></code></pre></dd>
  70. * add --command command line that gives inserted lines. This should wait
  71. for @setfilename status to be resolved, on TeX, since otherwise there
  72. is the issue of inserting before or after @setfilename to be resolved.
  73. * many FIXME in the code
  74. * relevant makeinfo error messages not used
  75. "Footnotes inside footnotes are not allowed"
  76. "%cfloat environments cannot be nested"
  77. "%s: Skipping macro expansion to stdout as Info output is going there.\n"
  78. * Create detailed texinfo documentation (see in doc)
  79. * add sample init files for different layouts
  80. - use events (onmousover, etc) for anchors
  81. - use style-sheets for formatting of various elements (like @example,
  82. etc).
  83. - xhtml with in line style
  84. - Singular manual style
  85. - How complicated could it be to get a creation of SGML ?
  86. - to LaTeX
  87. - to RTF
  88. - to open document
  89. * Document
  90. The fact that there are 3 commands that may be called, and --program.
  91. $Texi2HTML::THISDOC{'htmlxref'}
  92. $Texi2HTML::THISDOC{'hyphenation'}
  93. $Texi2HTML::THISDOC{'do_about'}
  94. $Texi2HTML::THISDOC{'split_level'}
  95. $Texi2HTML::THISDOC{'line_nr'}
  96. $Texi2HTML::THISDOC{'format_from_command_line'}
  97. Cf the comment in the manual.
  98. Texi2HTML::THIS_ELEMENT
  99. $INDEX_ENTRY_COLON
  100. $MENU_ENTRY_COLON
  101. 'childnext'
  102. Maybe document the following, maybe not:
  103. language_codes
  104. region_codes
  105. print_redirection_page
  106. t2h_add_text_substitutions, t2h_remove_text_substitutions,
  107. @text_substitutions_normal, @text_substitutions_texi,
  108. @text_substitutions_simple_format, @text_substitutions_pre and
  109. t2h_text_substitutions
  110. t2h_default_set_iso_symbols
  111. * Use omhelp latex parser and mathml generator for both xhtml and
  112. docbook
  113. http://www.seanet.com/~bradbell/omhelp/latex.xml
  114. * in LaTeX, @example and the like could be implemented as \fancyvrb
  115. with fontfamily=helvetica, fontsize=\small commandchars=\\\{\}
  116. * %f$x (index in printf) appeared in perl 5.8.0, 18 jul 2002
  117. * document the css classes:
  118. Sectioning command headings @top, @chapter, @appendix...
  119. h? @var{command_name}
  120. for @display, @example, @smallexample...
  121. pre @var{environment_name}
  122. for @node, in case it is output as a header (which is quite rare).
  123. h3 node-heading
  124. For summary letters in indices
  125. a summary-letter
  126. For lists that should not have a bullet in front
  127. ul no-bullet
  128. When whole menu is in a preformatted environment
  129. pre menu-preformatted
  130. For the menu text between menu entries
  131. pre menu-comment
  132. For a whole header, depending on $HEADER_IN_TABLE:
  133. table header
  134. div header
  135. Others
  136. pre verbatim
  137. pre verbatiminclude
  138. div footnote
  139. table cartouche
  140. blockquote smallquotation
  141. table index-@var{index_name}
  142. div shortcontents
  143. div contents
  144. div float
  145. dl listoffloats
  146. h1 settitle
  147. table menu
  148. @code and @allowcodebreaks false: span nocodebreak
  149. @w and - or _ in word: span nolinebreak
  150. @dots small dots
  151. @endots small enddots
  152. @sansserif span sansserif
  153. @r span roman
  154. @titlefont h1 titlefont
  155. * test stuff on 'line_command' relevant in pass 1, like @macro, @ignore...
  156. * in chm.pm (Jose Fonseca)
  157. [WINDOWS]
  158. Default=,"ug.hhc","ug.hhk","ug.html","ug.html",,,,,0x22520,,0x384e,,,,,,,,0
  159. The numbers are a bitmask of the enabled buttons. The ones here are
  160. IMO a good default. In the future you may also add that as an
  161. option, as the Docbook XSL stylesheets do (see in
  162. http://docbook.sourceforge.net/release/xsl/snapshot/doc/html/rn20.html
  163. all the CHM related parameters one can change).
  164. * antispam @email
  165. <script type="text/javascript">
  166. <!--
  167. /* This hacks the DOM so that copy&paste in Firefox ignores the "nospam"
  168. spans. */
  169. function clean_antispam() {
  170. document.getElementById("span1").firstChild.nodeValue = "";
  171. document.getElementById("span2").firstChild.nodeValue = "";
  172. }
  173. //-->
  174. </script>
  175. <body onLoad="clean_antispam()">
  176. <tt>&lt;bug-gnulib<span id="span1" style="display:none;">-nospam</span>&#64;<span id="span2" style="display:none;">nospam.</span>gnu.org&gt;</tt>
  177. </body>
  178. * roff is not uptodate. At least the @quote* and @guillem* and many
  179. others.
  180. * texi2dvi doesn't accept @table in @format
  181. * when there are nested complex_formats, a small format that doesn't have
  182. style, like smalldisplay in a format with style, like example, the
  183. smalldisplay will use the class of the above format, and lose the
  184. small font property.
  185. * decide @documentencoding @. And maybe change regexp. (?)
  186. * test for something along:
  187. @setfilename ../../info/xemacs.info
  188. * docbook: in function no style.
  189. replaceable is for @var or function argument. Only characters.
  190. Maybe replaced with parameter?
  191. Instead of synopsis may use specialized synopsis, funcsynopsis/funcprototype
  192. for deftype*, funcdef for defffn, ooclass for object oriented.
  193. deffn:
  194. <funcsynopsis><funcprototype><funcdef role=...><function>d--effn_name</function></funcdef><paramdef><parameter>args</parameter></paramdef></funcprototype></funcsynopsis>
  195. defvr, deftypevr: varname, and type and not returnvalue
  196. deftypefn:
  197. <funcsynopsis><funcprototype><funcdef role=...>type <function>d--eftypefn_name</function></funcdef><paramdef>a type<parameter>in var..</parameter></paramdef></funcprototype></funcsynopsis>
  198. deftp: structname/structfield. Both contains a replaceable. Problem with
  199. structfield is that there should be one by field.
  200. defcv: classname + property, and category in synopsis
  201. deftypecv: classname + type + property, and category in synopsis
  202. fieldsynopsis?
  203. defop: <classsynopsis><classsynopsisinfo>category</classsynopsisinfo><ooclass><classname>class<><><methodsynopsis><methodname><replaceable><></methodname><methodparam><parameter>...<><><>
  204. deftypeop: same with type in methodparam.
  205. also informalfigure in @float
  206. also use informaltable or table, for multitable?
  207. What is before the first sectioning command is put in <bookinfo><abstract>.
  208. what about @titlefont in docbook?
  209. maybe use simpara instead of para. Indeed, simpara is for paragraph without
  210. block elent within, and it should be that way in generated output.
  211. put <title> in <articleinfo>?
  212. what to do for guilsinglleft, guilsinglright? Currently &lt; &gt; since
  213. there is no &lsaquo; nor &rsaquo;
  214. * to solve above issue (first issue), the definition arg formatted with
  215. simple_format should alo be passed down
  216. * in docbook, when there is only one section <article> should be better
  217. than book. Maybe the best way to do that would be passing the
  218. information that there is only one section to the functions formatting
  219. the page header and page footer.
  220. * in docbook, if there are 2 nodes without anything to put an id on
  221. the first is forgotten. Also why no id on <para>?
  222. * have a special debug mode where text processing is traced. It means
  223. that PASS_TEXT/SCAN_TEXT is shown and substitute_line (and maybe
  224. other like substitute_text) and shown, now that there is a nice
  225. context information.
  226. * when closing @-commands with braces in first passes, the braces are not
  227. output in order to correct the document. However, end of formats are output
  228. in the first pass (and therefore these formats cannot be wrong in
  229. other passes, and nothing is done to close them). Also it is not clear where
  230. error messages should appear. Indeed in the first pass the line count
  231. are less precise since commands are closed at the end of file, not when
  232. finding a @node or @section. If error messages are done in pass_text,
  233. they won't be output when only macros are expanded, but it has to
  234. be noted that a normal processing is done with -E which should mitigate
  235. this issue.
  236. * @anchor{} should always ignore following whitespace (including newlines).
  237. Karl insists on that for backward compatibility.
  238. * ignore spaces after @ command, before {, like texi2dvi does? Karl
  239. insists on that because TeX has to do it like that.
  240. * in info, @. @! and @? should always be followed by at least 2 spaces
  241. even in text, not only on end of lines. Also the number of spaces after
  242. a . in the text may be adjusted to 2. It is not sure, though, whether
  243. we should do it or leave it to the user. There is a bug:
  244. https://savannah.gnu.org/bugs/?20444
  245. * add tests for -o - and input coming from stdin, including check of
  246. out file names.
  247. also -o /dev/null and similar.
  248. There is also a check in layout/formatting_exotic with
  249. --internal-links=/dev/null which is not portable
  250. * Perhaps we should also make an option -Werror which turns all warnings
  251. into errors.
  252. * when determining the different letters and later sorting them, there
  253. perl sorting and i18n stuff should be used at least when
  254. --enable-encoding is set. Cf testcases in encoding/encoding_index*.
  255. Currently, for example for encoding_index-latin1 accented letters are
  256. at the end. And degree is at o...
  257. * formatting/indicateurl_paragraph.texi there should be a warning that
  258. a simple_style was cut by a paragraph.
  259. * invalid/node_in_copying there is no error message
  260. * info/long_uref_after_item.texi report from Kevin Ryde,
  261. it would be logical to treat the space after the itemize mark as
  262. a tie instead of a breakpoint.
  263. * in sectioning/first_section_no_node in _html, the @unnumbered is included
  264. in the first node, while makeinfo outputs it before the first node, and
  265. the header is only output when there is a @node.
  266. * in formatting/table_in_table_item.texi, some lines maybe have too much
  267. leading spaces (precisely in @code in @table in @table @item, line
  268. in nested table line
  269. * formatting/float_copying index entries in insertcopying are not right.
  270. Maybe it is because they are in footnotes. Or maybe because they are
  271. in a caption.
  272. * in examples/chm.pm use main::open_out to open files.
  273. * examples/mediawiki.pm: end of lines within lists leads to empty lines
  274. that may not be what the user wanted. Maybe this could be ameliorated.
  275. * mediawiki: external links, in node directions, in menus, in @refs
  276. aren't correct. Not exactly sure what should be correct.
  277. * mediawiki: Cite extension is required for footnotes
  278. $wgUseTeX = true; required for math
  279. * in xml have documentencoding have an argument.
  280. * for https://savannah.gnu.org/bugs/?25820 it is unclear whether &amp;
  281. is correct for & or not
  282. * from https://savannah.gnu.org/bugs/?22696, encodings/chinese_mixed_with_en
  283. the info output is not good with Chinese texts only, not aligned in source
  284. and a mix of English and Chinese texts.
  285. * Maybe put a lone anchor in a <div> for strict html (Noah Slater).
  286. * drop color from body and put in css (Noah Slater).
  287. * maybe put lang= in <html> and not <body>, though I am not convinced.
  288. * MENU_ENTRY_COLON and INDEX_ENTRY_COLON maybe could be generalized
  289. to other formats than html
  290. Misc info and boring stuff
  291. --------------------------
  292. * use Unicode::LineBreak if detected for line breaking and character
  293. width computation.
  294. * texi2html is immune to https://savannah.gnu.org/bugs/?25822
  295. * the following is erroneous, but maybe it could be better handled anyway
  296. -> error with @item on same line than @table
  297. @xref{node,
  298. @table @emph
  299. @item line
  300. text
  301. @end table
  302. }
  303. * test @printindex in diverse contexts and handle right, or complain about
  304. things like
  305. @code{
  306. @printindex cp
  307. }
  308. * @macro definition in @ifset is parsed but ignored. So in the following, the
  309. @end ifset appearing in the macro is ignored if 'a' is not set, and the
  310. macro isn't defined.
  311. @ifset a
  312. @macro bidule
  313. @end ifset
  314. @end macro
  315. @end ifset
  316. * certainly not a big deal, but in invalid/verb_not_closed @verb content
  317. is not output
  318. * certainly not a big deal, but in invalid/bad_tab_nesting, the @code quotes
  319. are not surrounding the @tab, although there is no error message
  320. * @insertcopying in @copying doesn't lead to error message with
  321. INLINE_INSERTCOPYING. See invalid/recursive_copying
  322. * In indices/makeinfo_index_nodes there is no elements, and thus no
  323. [Index] link since it uses the index chapter (or @top), and there is
  324. no chapter nor @top.
  325. * in index_split the section associated with indices is the numbered section
  326. not the associated node where the @cindex are. Good or bad?
  327. * @chapter following a @appendix still uses a number for numbering, and
  328. is not affected by the @appendix number. Karl is ok with that.
  329. * manuals/mini_ker result is not valid, because tex4ht and latex2html
  330. open paragraphs in tex rendering while the whole is already in a
  331. paragraph.
  332. * utf8.pm doesn't work with info.pm (see encodings/nodetest_to_utf8_latin1)
  333. * menu_description is menucomment in xml.
  334. menuentry is the menunode+menutitle+menucomment
  335. menu_comment in makeinfo --xml treated as normal text.
  336. the documentation, however uses the same words than in texi2html.
  337. * enable_encoding.pm is certainly dependent on USE_UNICODE through
  338. the use of non 8 bit representation of characters.
  339. * code_style is used for code_style style @-commands in remove_texi.
  340. However since -- is removed to have strict html comments, it looks like
  341. it isn't.
  342. * empty lines in @hyphenation are not valid for texi2dvi
  343. * @-commands in @node, @ref and @chapter for texi2dvi:
  344. No @<SPC> @<TAB> at the end of a @node line. But ok in @ref and @anchor and
  345. within the line.
  346. @} @{ @- not ok in @anchor, @node, @ref.
  347. @geq{} @leq{} @arrow{} not ok in @anchor, @node, @ref.
  348. @abbr @image @verb not ok in @chapter and @ref.
  349. @env @code @option @samp @command @file @indicateurl @kbd @key @sansserif
  350. @slanted 8.27@dmn{in} not ok in @ref
  351. @indicateurl not ok in @chapter.
  352. * in indices/index_special_region.texi, there is the error message
  353. index_special_region.texi:8: Anchor `Copying information' previously defined (l. 8)
  354. This is right since it is used in @insertcopying a lot, but it looks
  355. weird since the line of definition and redefinition are the same.
  356. * simple quotes and @set txicodequoteundirected and txicodequotebacktick
  357. info:
  358. ' -> ' always
  359. html:
  360. ' -> ' in code_style and preformatted
  361. ' -> [lr]squo otherwise
  362. tex, default:
  363. ' -> [lr]squo always
  364. tex + txicodequote*:
  365. ' -> ' in code_style
  366. ' -> [lr]squo otherwise
  367. So things are right as is, but in formats that always set the quotes to
  368. a special font should honor txicodequote* like tex. There is an example
  369. of such code commented out in texi2html.pm in normal_text.