"Fossies" - the Fresh Open Source Software Archive

Member "texinfo-6.5/tp/TODO" (19 Jun 2017, 14277 Bytes) of package /linux/misc/texinfo-6.5.tar.xz:

As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "TODO": 6.3_vs_6.4.

    1 This is the todo list for the Texinfo::Parser implementation.
    3   Copyright 2012, 2013, 2014, 2015 Free Software Foundation.
    5   Copying and distribution of this file, with or without modification,
    6   are permitted in any medium without royalty provided the copyright
    7   notice and this notice are preserved.
    9 export XML_CATALOG_FILES=~/src/texinfo/tp/maintain/catalog.xml
   10 xmllint --nonet --noout --valid commands.xml
   13 Before next release
   14 ===================
   17 Bugs
   18 ====
   21 Profiling
   22 =========
   24 profiling: package on debian:
   25 libdevel-nytprof-perl
   26 In doc:
   27 perl -d:NYTProf ../tp/texi2any.pl texinfo.texi
   28 nytprofhtml --open
   29 # firefox nytprof/index.html
   32 Delayed bugs
   33 ============
   35 In @inline* ignore arguments, @value and user macros should not be
   36 expanded.  For example
   38  @set closebrace }
   40  @inlinefmt{html,
   41  truc @value{closebrace}
   42  machin
   44 In Plaintext, @quotation text should have the right margin narrowed.
   46 Text after @bye should be kept as is when redoing Texinfo.
   48 @-commands in index entries are transliterated when sorting, they should
   49 certainly be converted to unicode instead.
   51 Sorting of index entries should be locale dependent and sort properly
   52 unicode sorting.
   53 my $collator = Unicode::Collate::Locale->new('locale' => $locale_name, 'normalization' => 'NFKD')
   54 @sorted = $collator->sort(@not_sorted);
   56 Currently there is no error for something like 
   58   @chapter @code{@anchor{TTO}}
   60 there should be an error as for the following construct:
   62   @chapter @anchor{TTez}
   64 This would certainly imply adding, on top of the 'context_stack', a 
   65 stack of opened @-commands (although maybe not every @-commands?).  This 
   66 would allow to catch many other dubious nesting, such as @table in @menu, 
   67 @caption in @caption and also would certainly allow to handle the 2 cases 
   68 below.  This should, however, slow down the computation even more.
   70 maybe checking for incorrectly nested @titlepage, @copying and 
   71 @documentdescription (which is already done in the "regions stack") 
   72 could be done the same way.
   74 warn nested footnotes.
   76 Following should be an error:
   77 @example
   78 @heading A heading
   79 @end example
   80 Example in heading/heading_in_example.
   82 Similar, but not exactly the same issue, there is no warning with a
   83 block command between @def* and @def*x, only for paragraph.
   85  @defun a b c d e f 
   87  @itemize @minus
   88  truc
   89  @item t
   90  @end itemize
   92  @defunx g h j k l m
   94  @end defun
   98 Punctuation and spaces before @image do not lead to a doubling of space.
   99 In fact @image is completly formatted outside of usual formatting containers.
  100 Not sure what should be the right way?
  101 test in info_test/image_and_punctuation
  103 There should be a warning for something like
  104 @example text
  105 ...
  107 Image on sectioning command line haven't their length ignored correctly.
  108 Not sure it is a big deal.  An example in sectioning/at_commands_in_refs.
  110 warn when a @noindent/@indent appears within a paragraph.
  112 in info_tests/error_in_footnote there is an error message for each 
  113 listoffloats;  Line numbers are right, though, so maybe this is not
  114 an issue.
  116 converters_tests/things_before_setfilename there is no error
  117 for anchor and footnote before setfilename.  It is not completly
  118 clear that there should be, though.
  120 Recursive expansion of @value may lead to an infinite loop.  Wait for
  121 marksource to proceed.
  122  https://bugzilla.redhat.com/show_bug.cgi?id=744878
  125 Missing tests
  126 =============
  128 Test node files that differ only in case.  This may be rather complicated,
  129 however, as http://savannah.gnu.org/bugs/?38380 shows.  This may be linked
  130 to a possible test of CASE_INSENSITIVE_FILENAMES.
  132 Unit test of end_line_count for Texinfo/Convert/Paragraph.pm .... containers.
  134 In html test empty @top for title, with different cases for 
  135 setcontentsaftertit* and for anchors.
  137 Test @sc{@aa{}} and @sc{@'e} in HTML with 8bit and utf8, with and without
  138 enable encoding and entities.
  140 in html test footnotestyle separate.  There are such tests in tp/tests,
  141 maybe they are sufficient, but they are only done for long checks.
  143 anchor in flushright, on an empty line, with a current byte offset.
  145 Future features
  146 ===============
  148 Update Unicode-EastAsianWidth.  The new version has improved tests
  149 and a new license, but no functional change.  So maybe wait a
  150 bit to update.
  152 Add some elements of texinfo that are not of interest in the
  153 tree, like beginning and end of included file, @ protecting
  154 end of line in @def*, begin and end of user defined macro
  155 or value expansion.  Maybe call the key for these elements
  156 'sourcemark'?
  158 In a similar way, keep the information about aliases in the tree?
  159 And about @setfilename in included files which is for now completly
  160 removed (consistently with documentation).
  162 Right now VERBOSE is almost not used.
  164 Handle better @exdent in html? (there is a FIXME in the code)
  166 Check the design of the HTML.pm API.  Document the API, in particular
  167 everything in Texinfo::Config.  Add an API for everything used in the 
  168 default functions, for example in page_head, use $self->title_string() 
  169 and so on and so forth.  
  170 Functions to document for HTML API (many more are missing!):
  171 sectioning_command_target_name
  172 node_target_name
  174 Implement what is proposed in HTML Cross Reference Mismatch.
  176 Protection of punctuation in nodes.
  177 in @ref. First : is searched.  if followed by a : the node name is found
  178 and there is no label. When parsing a node a filename with ( is searched for.
  179 Nested parentheses are taken into account.
  180 Then more parentheses?
  182 Automatic generation of node names from section names.  To be protected:
  183 * in every case
  184   ( at the beginning
  185 * In @node line
  186   commas
  187 * In menu entry
  188   * if there is a label
  189     tab comma dot
  190   * if there is no label
  191     :
  192 * In @ref
  193   commas
  195 In Info
  197 Nodes:
  198 * in every case 
  199   ( at the beginning
  200 * in Node line 
  201   commas
  202 * In menu entry and *Note
  203   * if there is a label
  204     tab comma dot
  205   * if there is no label
  206     :
  208 Labels in Info (which also means index entries)
  209   :
  211 * at the beginning of a line in a @menu
  212 *note more or less everywhere
  215 DocBook
  216 =======
  218   deftypevr, deftypecv: use type and not returnvalue for the type
  220   also informalfigure in @float
  222   also use informaltable or table, for multitable?
  224   What is before the first sectioning command is put in <bookinfo><abstract>.
  226   what about @titlefont in docbook?
  228   maybe use simpara instead of para. Indeed, simpara is for paragraph without
  229   block element within, and it should be that way in generated output.
  231   put <title> in <articleinfo>?
  233 * in docbook, when there is only one section <article> should be better
  234   than book. Maybe the best way to do that would be passing the
  235   information that there is only one section to the functions formatting
  236   the page header and page footer.
  239 Interrogations and remarks
  240 ==========================
  242 Instead of _set_global_multiple_commands and _unset_global_multiple_commands
  243 have a better granularity and do something per command, with the possibility
  244 to really revert everything, including things that are not set by set_conf.
  245 (There is a FIXME in the code).  This is not that important, now that the 
  246 actual case that was problematic (setting encodings as a side effect of 
  247 setting @documentencoding) is not supported anymore.  (Now the encoding is
  248 set at the initialization of the converter and should be changed by setting
  249 the correct customization variable, in general OUTPUT_ENCODING_NAME).
  251 Should more Converter ignore the last new line (with type 
  252 last_raw_newline) of a raw block format?
  254 In a first step, close when the the command to be closed is at the 
  255 top of the tree, not when it should be closed theoretically.
  256 Then it could be possible to come back to the place where the command
  257 should be closed and give an error message.
  258 This is certainly only an issue for @footnote and similar not a general issue.
  260 There is no forward looking code anymore, so maybe a lex/yacc parser
  261 could be used for the main loop.  More simply, a binary tokenizer, at 
  262 least, could make for a notable speedup.
  264 def/end_of_lines_protected_in_footnote.pl the footnote is
  265    (1)  -- category: deffn_name arguments arg2 more args with end of line
  266 and not 
  267    (1)
  268  -- category: deffn_name arguments arg2 more args with end of line
  269 It happens this way because the paragraph starts right after the footnote 
  270 number.
  272 in HTML, the argument of a quotation is ignored if the quotation is empty,
  273 as in
  274  @quotation thing
  275  @end quotation
  276 Is it really a bug?
  278 In @copying things like some raw formats may be expanded.  However it is
  279 not clear that it should be the same than in the main converter.  Maybe a 
  280 specific list of formats could be passed to Convert::Text::convert, which
  281 would be different (for example Info and Plaintext even if converting HTML).
  282 This requires a test, to begin with.
  284 Use INLINE_INSERTCOPYING as the default for some formats?
  286 In HTML, HEADERS is used.  But not in other modules, especially not in
  287 Plaintext.pm or Info.pm, this is determined by the module used (Plaintext.pm
  288 or Info.pm).  No idea whether it is right or wrong.
  290 in hyphenation: only text and accent commands, and should
  291 only appear in toplevel
  293 use definfoenclose information in Convert::Text?
  295 From vincent Belaïche. About svg image files in HTML:
  297 I don't think that supporting svg would be easy: its seems that to embed an
  298 svg picture you need to declare the width x height of the frame in
  299 which you embed it, and this information cannot be derived quite
  300 straightforwardly from the picture.
  301 With @image you can declare width and height but this is intended for
  302 scaling. I am not sure whether or not that these arguments can be used
  303 for the purpose of defining that frame...
  304 What I did in 5x5 is that coded the height of the frame directly in
  305 the macro @FIGURE with which I embed the figure, without going through
  306 an argument.
  307 The @FIGURE @macro is, for html:
  308 @macro FIGURE {F,W}
  309 @html
  310 <div align="center">
  311 <embed src="5x5_\F\.svg" height="276"
  312  type="image/svg+xml"
  313  pluginspage="http://www.adobe.com/svg/viewer/install/" /></div>
  314 @end html
  315 @end macro
  317 Add @value to the corresponding commands categories?
  319 tests .init file not relevant since indices cannot be split anymore
  320 indices/index_test.init     
  322 Use of specialized synopsis in DocBook is not a priority and it is not even 
  323 obvious that it is interesting to do so.  The following notes explain the
  324 possibilities and issues extensively.
  326 Instead of synopsis it might seem to be relevant to use specialized synopsis, 
  327 funcsynopsis/funcprototype for deftype* and some def*, and other for object 
  328 oriented.  There are many issues such that this possibility do not appear
  329 appealing at all.
  331 1) there is no possibility to have a category.  So the category must be 
  332    added somewhere as a role= or in the *synopsisinfo, or this should only
  333    be used for specialized @def, like @defun.
  335 2) @defmethod and @deftypemethod cannot really be mapped to methodsynopsis
  336    as the class name is not associated with the method as in Texinfo, but 
  337    instead  the method should be in a class in docbook.
  339 3) From the docbook reference for funcsynopsis
  340   "For the most part, the processing application is expected to
  341   generate all of the parentheses, semicolons, commas, and so on
  342   required in the rendered synopsis. The exception to this rule is
  343   that the spacing and other punctuation inside a parameter that is a
  344   pointer to a function must be provided in the source markup."
  346   So this mean it is language specific (C, as said in the docbook doc)
  347   and one have to remove the parentheses, semicolons, commas.
  349   See also the mails from Per Bothner bug-texinfo, Sun, 22 Jul 2012 01:45:54.
  351 specialized @def, without a need for category:
  352 @defun and @deftypefun 
  353 <funcsynopsis><funcprototype><funcdef>TYPE <function>NAME</function><paramdef><parameter>args</parameter></paramdef></funcprototype></funcsynopsis>
  355 specialized @def, without a need for category, but without DocBook synopsis
  356 because of missing class:
  357 @defmethod, @deftypemethod: methodsynopsis cannot be used since the class
  358 is not available
  359 @defivar and @deftypeivar: fieldsynopsis cannot be used since the class
  360 is not available
  362 Generic @def with a need for a category
  363 For deffn deftypefn (and defmac?, defspec?), the possibilities of 
  364 funcsynopsis, with a category added could be used:
  365   <funcsynopsis><funcprototype><funcdef role=...>TYPE <function>NAME</function></funcdef><paramdef>PARAMTYPE <parameter>PARAM</parameter></paramdef></funcprototype></funcsynopsis>
  367 Alternatively, use funcsynopsisinfo for the category.
  369 Generic @def with a need for a category, but without DocBook synopsis because
  370 of missing class:
  371 @defop and @deftypeop: methodsynopsis cannot be used since the class
  372 is not available
  373 defcv, deftypecv: fieldsynopsis cannot be used since the class
  374 is not available
  376 Remaining @def without DocBook synopsis because there is no equivalent, 
  377 and requires a category
  378 defvr (defvar, defopt), deftypevr (deftypevar)
  379 deftp
  383 Missing test outputs as files in t/
  384 ===================================
  386 output files split (node or not split) could be interesting +texi2html 
  387 style for some tests.  However, the test suite is already too long to
  388 run so such additions should be done with caution.
  390 t/30sectioning.t
  391  chapter_between_nodes (more_nodes_than_sections renamed)
  392  more_sections_than_nodes
  393  two_nodes_between_chapters
  394  two_nodes_at_the_end
  395  character_and_spaces_in_refs
  396  character_and_spaces_in_node
  397  some_at_commands_in_ref_nodes
  398  at_commands_in_refs  
  399  character_and_spaces_in_refs <- mono/chapter
  400  rec_nodes (with USE_NODES and without)
  401  loop_nodes?
  402  nodes_before_top?
  403  no_element
  404  top_node_no_menu_direction? (with USE_NODES and without?)
  405  anchor_in_footnote
  406  anchor_in_footnote_separate
  407  placed_things_before_node    (with USE_NODES and without?)
  408  placed_things_before_element (with USE_NODES and without?)
  409  top_no_argument_and_node
  410  top_no_argument_and_top_node
  411  nodes_after_top_before_chapter_(nodes/sections) (with USE_NODES and --split chapter)
  412  nodes_after_top_before_section_(nodes/sections) (with USE_NODES and --split chapter and only --split chapter)
  413  sectioning_part_appendix   (--split chapter)
  414  nodes_no_node_top_explicit_directions (with USE_NODES and without)
  415  one_node_explicit_directions_anchor (with USE_NODES and without) Really useful?
  416  top_without_node_sections
  418 t/info_tests.t
  419  space_in_setfilename