2021-07-03 Gavin Smith 6.8 * tp/Texinfo/Convert/HTML.pm: unconditionally reference MathJax code if HTML_MATH is 'mathjax' and it is non-split output. 2021-07-03 Gavin Smith 6.8 * configure.ac, NEWS, util/texi2dvi, util/texi2pdf: versionn * tp/Texinfo/Documentlanguages.pm: Regenerate. 2021-07-02 Gavin Smith * INSTALL: Refer to doc/README. From Patrice. 2021-07-01 Gavin Smith * doc/README: tweak instructions 2021-06-30 Gavin Smith pretest 6.7.92 * configure.ac, util/texi2dvi, util/texi2pdf: version * tp/texi2any.pl: 2021 * README-hacking: update 2021-06-30 Gavin Smith Remove old js files. * js/texinfo-js.in, js/texinfo-js.texi, * js/build-aux/eslint.json, js/build-aux/modernizr.json, js/build-aux/texinfo.tex: Remove. * js/README: remove out-of-date material 2021-06-24 Patrice Dumas Remove SVN keyword. * util/texi2pdf (version), util/pdftexi2dvi (version): Do not use '$Revision$' keyword as this doesn't work with git. 2021-06-22 Per Bothner * js/info.js (Remote_store): Use parent window rather than top window. The latter breaks if we're running the info browser in an iframe. 2021-06-20 Gavin Smith * NEWS: update 2021-06-17 Gavin Smith * Pod-Simple-Texinfo/pod2texi.pl: Fix some messages. Report from Benno Schulenberg. Update copyright years. 2021-06-16 Gavin Smith pretest 6.7.91 * configure.ac, util/texi2dvi, util/texi2pdf, * info/info.c (main), install-info/install-info.c (main): version, 2021. 2021-06-08 Gavin Smith Document @indent @image{} * doc/texinfo.texi (Image Syntax): Document that @image commands should sometimes be preceded by @indent or @noindent. 2021-05-06 Gavin Smith Fix afl-fuzz error * info/info-utils.c (scan_reference_label): Avoid advancing pointer if we are already at the end of the buffer, in the case of a malformed input file. Report from Nathaniel Beaver for file generated by afl-fuzz. 2021-05-06 Gavin Smith Fix afl-fuzz error * info/info-utils.c (copy_input_to_output): Avoid calling copy_converting with negative argument in case of malformed input file. Report from Nathaniel Beaver for file generated by afl-fuzz. 2021-05-04 Per Bothner * js/info.js (updater.navigate): Relative movement without node links. For example if the current item is a @subsection without a @node, requesting the 'next' item can't use the Next link as there is none. Instead, use the nesting in the sidebar ToC. * js/info.js: Use keydown event handler instead of keyup. The former is more standard. 2021-05-02 Patrice Dumas * tp/Texinfo/Convert/HTML.pm (_convert_image_command): format @image with an tag in preformatted environment. Report from Per Bothner. 2021-05-02 Per Bothner * js/info.js: Fix sidebar-update after selecting non-section link. For example index link or @anchor are not sections, hence not in the ToC. To update the sidebar we need to find the the sectioning element surrounding the anchor. This involves some back-and-forth messaging. 2021-05-02 Vitezslav Crhonek * contrib/fix-info-dir: Remove unused variable 2021-05-02 Vitezslav Crhonek * util/texi2dvi (input_file_name_decode): Fix ShellCheck SC1083 warning https://github.com/koalaman/shellcheck/wiki/SC1083 This is only for suppresing the warning, both '{' and '}' are supposed to be literals. 2021-05-02 Gavin Smith Avoid extra newline after @titlefont * tp/Texinfo/Convert/Plaintext.pm (_convert) <@titlefont>: Remove newline from end of output as a newline following @titlefont{...} is now output separately since change on 2021-04-25. 2021-04-29 Per Bothner * js/info.js (Text_input.keyup): At end hide sidebar if narrow. * js/info.js (Sidebar.render): Fix initial rendering. * js/info.css: Style hide-sidebar buttom vertically. 2021-04-28 Per Bothner * js/info.js: Change auto-hide of sidebar in narrow windows. Now clicking in sidebar in narror window doesn't hide sidebar, but click in main page does - however, navigation is supressed. Also changed the show/hide-sidebar logic to work using the store/action/dispatch framework. 2021-04-27 Per Bothner * js/info.js (config.LOCAL_HTML_PAGE_PATTERN): Handle local links. I.e. links like "#foo" on the same page. * js/info.js (cache_index_links): Fix thinko alink->link. 2021-04-27 Per Bothner Change how "show/hide sidebar" button is displayed. Move it to upper-left and use arrows, to hopefully both make it more visible and take less space in hide mode. * js/info.js (add_header): Change DOM structure to make this work. (hide_sidebar_if_narrow): New function. * js/info.css: Styling changes for desired show/hide style. Improve determination of whether links are internal or not. * js/info.js (config.LOCAL_HTML_PAGE_PATTERN): New regex pattern (maybe_pageref_url_p): Use LOCAL_HTML_PAGE_PATTERN. 2021-04-25 Gavin Smith Avoid suppressing first paragraph indent with an @image. * doc/texinfo.tex (\imageindent): New macro. (\image): Use it. * doc/texinfo-tex-test.texi (Paragraph formatting): New section. Inconsistency between Info and TeX reported by Werner Lemberg. 2021-04-25 Gavin Smith Whitespace after @image * tp/Texinfo/Convert/Plaintext.pm (_convert): Output any top-level whitespace element. This allows a blank line of whitespace to appear after an @image that is not part of a paragraph. * tp/t/05paragraph.t (sole_image): New test. Report from Werner Lemberg. 2021-04-25 Gavin Smith * info/nodes.c (get_tags_of_indirect_tags_table): Free arrays in case of malformed Info file. Report from Vitezslav Crhonek. 2021-04-25 Gavin Smith * info/nodes.c (get_tags_of_indirect_tags_table): Reduce indentation of code. 2021-04-25 Vitezslav Crhonek (tiny change) Fix memory leaks. * info/nodes.c (get_nodes_of_tags_table): info_create_tag returns a pointer to a newly allocated TAG structure. Before continuing to the start of the loop it is necessary to free the current TAG structure, because the pointer will be overwritten by new value in the next iteration of the loop. 2021-04-25 Vitezslav Crhonek (tiny change) Fix memory leaks. * info/makedoc.c (process_one_file): The memory is freed for both pointers at the end of the loop. But there is one break that leaves the loop without freeing them. * info/session.c (info_goto_invocation_node): The value of 'default_program_name' is assigned by program_name_from_file_name() function. Its description says 'Return value should be freed by caller.' That was not done in this case. 2021-04-25 Gavin Smith Fix memory leaks. * info/m-x.c (describe_command): Always free a variable. * info/filesys.c (info_file_find_next_in_path): Do not free a string that shouldn't be freed. Reports from Vitezslav Crhonek. 2021-04-14 Gavin Smith * doc/texinfo.tex (\doxeteximage): Add an \hbox around \XeTeXpdffile or \XeTeXpicfile to avoid over-long line. Report from Werner Lemberg. 2021-04-08 Gavin Smith * doc/texinfo.tex (\end): Add % after opening brace to prevent spurious space being added to the output. Report from Werner Lemberg for "@end iftex". 2021-03-27 Gavin Smith * info/t/Init-test.inc (run_ginfo): Increase timeout for test from 3 to 5 seconds in an attempt to stop test failures. 2021-03-24 Gavin Smith * doc/texinfo.texi (Multitable Column Widths): Mention effect of inter-column space for @columnfractions. 2021-03-23 Gavin Smith * doc/texinfo.tex (\indexnofonts): Do not define any of the non-English letter glyph commands with a special definition that removes a following pair of braces, as these braces are not always present in the definitions for e.g. Unicode characters. This could lead to an error message within \setpdfdestname where \indexnofonts was called. Report from Werner Lemberg for XeTeX. 2021-03-22 Per Bothner * js/info.js: Add tooltips for show/hide sidebar button. (SHOW_SIDEBAR_TOOLTIP, HIDE_SIDEBAR_TOOLTIP): Tooltip text. (show_sidebar): Update tooltips on show/hide of sidebar. * js/info.js (maybe_pageref_url_p): Recognize "index.html#PAGE". 2021-03-20 Gavin Smith * doc/texinfo.tex (\multitableparskip, \multitableparindent) (\multitablecolspace, \multitablelinespace): Try removing these and hardcoding values. \multitablelinespace was not used anyway and a comment referred to a @multitablecolmargin sequence which didn't exist. This should make the code a bit easier to understand. (\setmultitablespacing): Remove. 2021-03-20 Gavin Smith * doc/texinfo.tex (\multitable): Fix indendation of code. Remove useless macro \multistrut replacing it with \strut (always set to this since October 2004). Remove comment about space added by \multistrut, as no such space was added. Remove documentation of @multitable as this is in the manual. Remove comment crediting original author of macros, recorded here as Amy Hendrickson, 8/18/94, 3/6/96 (\tab): Remove comment from April 1999 saying what used to be in the code. (\alphaenumerate, \capsenumerate): Remove undocumented aliases. 2021-03-18 Gavin Smith Narrow @multitable nested within @quotation * doc/texinfo.tex (\domultitable): Subtract \leftskip before calculating column widths as fraction of \hsize. * doc/texinfo-tex-test.texi (@multitable): New section. Report of excessive width from Werner Lemberg. 2021-03-12 Gavin Smith Fix NetBSD build * tp/Texinfo/XS/parsetexi/api.c, * tp/Texinfo/XS/parsetexi/errors.c: Surround calls to gettext with #ifdef ENABLE_NLS. 2021-03-12 Gavin Smith * tp/Texinfo/XS/parsetexi/errors.c (bug): Don't call abort. 2021-03-11 Gavin Smith * tp/tests/coverage_macro.texi: Add blank lines to isolate test result differences for some glyph commands. 2021-03-10 Gavin Smith * doc/texinfo.texi (@copying): Coalesce copyright years where possible. (Reporting Bugs): Refer bugs in Info mode to Emacs developers. 2021-03-05 Patrice Dumas * Pod-Simple-Texinfo/pod2texi.pl (pod2texi_help): improve help message formatting by removing incorrect dots for options. Make easier to translate strings by splitting help message, splitting options, avoiding \n in translated messages. Report by Benno Schulenberg * tp/texi2any.pl (makeinfo_help): add TODO to remember to avoid \n in translated strings and split translated options messages by option. To be done when strings change. 2021-03-03 Per Bothner * js/info.js (absolute_url_p): Replace with maybe_pageref_url_p. New function checks if URL may be cross-reference to local page. Prevents failure on links to images or stuff in sub-directories. (config.LOCAL_HTML_PAGE_PATTERN): Patternfor HTML files. 2021-03-02 Gavin Smith * doc/texinfo.texi (Invoking pod2texi): Remove reference to non-existent webpage. 2021-03-01 Gavin Smith GNULIB_MDA_FDOPEN=0 * tp/Texinfo/XS/configure.ac: Set GNULIB_MDA_FDOPEN=0 to prevent definition of fdopen in gnulib-provided stdio.h, which clashes with Perl header files. Report by Eli Zaretskii. Suggested fix from Bruno Haible. 2021-03-01 Gavin Smith * tp/Texinfo/XS/parsetexi/api.c (element_to_perl_hash): Cast pointer to intptr_t before IV to prevent a compiler warning on MinGW. Suggestion from Eli Zaretskii. 2021-02-28 Gavin Smith Simplify, update, document infrastructure * util/srclist.txt: Remove all gettext lines as this should be taken care of by gettextize. * util/srclist-txi: Likewise. * README-hacking: Explain how to check that files have been updated. * INSTALL.generic: Update from gnulib. * build-aux/config.rpath: Update from gnulib. * autogen.sh: Remove obsolete comment about keeping files in CVS. 2021-02-28 Gavin Smith Run "autoreconf --verbose --force --install" to update files under build-aux. Don't commit changes to INSTALL or build-aux/texinfo.tex. 2021-02-27 Gavin Smith No raw newline in awk string constant * texindex/ti.twjr (usage, version): Avoid multi-line character string as it appears not to be supported by awk under AIX 7.1. Report by Bruno Haible. 2021-02-27 Gavin Smith Avoid cleaning generated files * tp/Texinfo/XS/Makefile.am (CLEANFILES): Remove .c files that are generated from .xs files, as these .c files are distributed in the tarball and shouldn't be cleaned. (.xs.c): Generate .c files under $(srcdir). Report from Bruno Haible. 2021-02-27 Gavin Smith * tp/Texinfo/Report.pm (gdt): Set and restore LC_ALL rather than LC_MESSAGES as the latter doesn't work on MS-Windows. Report from Eli Zaretskii. 2021-02-27 Gavin Smith * texindex/Makefile.am (bin_SCRIPTS): Remove dist_ prefix from variable to prevent distribution of the generated texindex wrapper script. Report by Bruno Haible. 2021-02-27 Eli Zaretskii * info/session.c (read, _read): #undef before redefining, to avoid compilation warning due to Gnulib's unistd.h redefining them. 2021-02-24 Per Bothner * js/info.js: Add button to show/hide sidebar. Other polishing. (Sidebar): Create show/hide button. (on_click): Handle clicks on show/hide button. Also automatically hide sidebar on click when narrow. (Sidebar): Copy _href property when copying ToC. * js/info.css: Various adjustments and tricks to make it work. 2021-02-23 Patrice Dumas * tp/Texinfo/Common.pm (%default_customization_values), (%default_parser_customization_values), (%default_structure_customization_values), * tp/Texinfo/XS/parsetexi/Parsetexi.pm (%parser_default_configuration), (parser), * tp/Texinfo/ParserNonXS.pm (%parser_default_configuration), * tp/texi2any.pl: split %default_customization_values in two, as %default_parser_customization_values and %default_structure_customization_values differentiating parser options and options for Texinfo::Structuring. * tp/Texinfo/Structuring.pm (_complete_check_menus_directions), (complete_node_tree_with_menus, nodes_tree), * tp/t/test_utils.pl (test), tp/texi2any.pl: rename _complete_check_menus_directions() as complete_node_tree_with_menus(), call _check_referenced_nodes in that function and do not call _complete_check_menus_directions in nodes_tree. Call Texinfo::Structuring::set_menus_node_directions() and Texinfo::Structuring::complete_node_tree_with_menus() in texi2any.pl only if 'FORMAT_MENU' is set to 'menu'. * tp/texi2any.pl: call $converter_class->converter_defaults() with $cmdline_options argument to pass TEXI2HTML customization variable for HTML output. 2021-02-23 Patrice Dumas * tp/texi2any.pl: use a special value if 'FORMAT_MENU' is set on the command line that is replaced by the output format default when the output format is known if the output format default is not nomenu, or set to 'menu'. 2021-02-23 Gavin Smith pretest 6.7.90 * configure.ac, util/texi2dvi, util/texi2pdf: Version. * info/info.c (main), install-info/install-info.c (main): 2021 * README-hacking: Edit release instructions. * info/dir.c (dir_entry_of_infodir): Do not call info_check_compressed with a null argument. 2021-02-22 Patrice Dumas Remove unused code. * tp/Texinfo/XS/parsetexi/Parsetexi.pm (%tree_informations) 2021-02-22 Patrice Dumas * tp/Texinfo/Structuring.pm (set_menus_node_directions) (nodes_tree, _section_direction_associated_node), (_complete_check_menus_directions): separate set_menus_node_directions() and _complete_check_menus_directions() from nodes_tree() to distinguish better code related to menus and not related to menus. Add _section_direction_associated_node() as a small helper function from node_tree too to be able to reuse the code. * tp/t/test_utils.pl, tp/texi2any.pl: call set_menus_node_directions. * tp/Texinfo/Structuring.pm (nodes_tree): set Top node next using the sectioning structure first. Avoid resetting node directions based on Top node first menu entry the direction was already set. 2021-02-21 Patrice Dumas * tp/Texinfo/Convert/HTML.pm (nodes_tree): use first non Top node for Top node next if there is no menu information. 2021-02-21 Patrice Dumas use first section in file direction for footer if split at section or chapter * tp/Texinfo/Convert/HTML.pm, tp/init/book.pm: add CHAPTER_FOOTER_BUTTONS to be able to specify different customization for footer and header when split at chapter. (_translate_names, %BUTTONS_*): add FirstInFile* directions. (_default_format_element_footer) (_default_panel_button_dynamic_direction) (_default_panel_button_dynamic_direction_section_footer) (_set_variables_texi2html): reenable footer when there are more than one element in a file and use FirstInFile* directions for section and chapter footer formatting. (_default_panel_button_dynamic_direction_footer) (_default_panel_button_dynamic_direction_node_footer): rename _default_panel_button_dynamic_direction_footer() as _default_panel_button_dynamic_direction_node_footer(). Report from Per Bothner. 2021-02-21 Gavin Smith * tp/Texinfo/Structuring.pm (nodes_tree): Only call _check_referenced_nodes if FORMAT_MENU is not "sectiontoc". From Patrice. 2021-02-21 Patrice Dumas * tp/Texinfo/Structuring.pm (_check_referenced_nodes): consider a node to be referenced if it is a target of a @*ref command. Report by Gavin. 2021-02-20 Patrice Dumas * tp/Texinfo/Structuring.pm (elements_file_directions): add FirstInFile* directions for every element. 2021-02-20 Gavin Smith * tp/Texinfo/Structuring.pm (_check_referenced_nodes): New function to centralize code for checking referenced nodes. (nodes_tree): Call it. 2021-02-20 Gavin Smith No footer for several nodes in a file. * tp/Texinfo/Convert/HTML.pm (_default_format_element_footer): Do not output the element footer if there is more than one node in the output file, using the 'elements_in_file_count' hash. These changes lead to a few changes as to whether a rule is output at the end of a file but the output appeared acceptable in the cases I checked. Per Bothner reported that the footer would be relative to the last node output in the file for --split=section, while it would make more sense to have this relative to the first node output in the file. As this is not possible to do just now, just omit it. 2021-02-20 Gavin Smith Fix display of _ in section name. * doc/texinfo.tex (\setupdatafile): Read aux file giving _ | < and > catcode "active". * doc/texinfo-tex-test.texi (~[]"_|<>$#&%+\) Add a test of a cross-reference. Werner Lemberg reported that an underscore in a section title would be printed as a dot accent when using "@xrefautomaticsectiontitle on". 2021-02-20 Gavin Smith * doc/texinfo-tex-test.texi (~[]"_|<>$#&%+\) Add example. 2021-02-20 Gavin Smith * README-hacking: Add advice on using git. 2021-02-20 Gavin Smith * doc/texinfo.tex (\refx): Remove useless second argument which is nearly always empty. 2021-02-20 Patrice Dumas * tp/Texinfo/Convert/HTML.pm (_convert_heading_command): add a div for sections without nodes. (_default_format_element_footer, _default_format_end_file): call close_registered_sections_level() in _default_format_element_footer() and not in _default_format_end_file(). * tp/t/init/t2h_singular.init (singular_format_footer): call close_registered_sections_level(). 2021-02-18 Gavin Smith Fix compiler warnings. * tp/Texinfo/XS/XSParagraph.xs (xspara_new): Remove code setting an unused variable. It appears that we are not blessing the return value into a class after all. * tp/Texinfo/XS/parsetexi/handle_commands.c (handle_line_command): Parentheses around assignment in conditional. * tp/Texinfo/XS/parsetexi/input.c (text_buffer_iconv): Handle KOI8 cases in switch statement. * tp/Texinfo/XS/parsetexi/macro.c (parse_macro_command_line): Remove unused label. Report from Per Bothner. 2021-02-18 Gavin Smith Reform parsetexi header files * tp/Texinfo/XS/parsetexi: Make header files include the other headers that they need. * tp/Texinfo/XS/parsetexi/command_data.awk, * tp/Texinfo/XS/parsetexi/element_types.awk: Output include guards in generated headers. * tp/Texinfo/XS/parsetexi/parser.c, * tp/Texinfo/XS/parsetexi/errors.c: (bug, fatal): Move to errors.c. 2021-02-18 Gavin Smith * tp/Texinfo/Convert/HTML.pm (_default_format_begin_file): Add viewport declaration as was already output for node redirection pages. Report from Per Bothner. 2021-02-18 Gavin Smith * tp/Texinfo/XS/parsetexi: Add include guards to all header files. 2021-02-17 Per Bothner * js/info.js (scan_toc): Change to how sidebar links are matched. This fixes updating the sidebar when using a http/https URL. 2021-02-16 Per Bothner * js/info.js: Fix [Contents] link by creating a fresh page-node for the ToC. This is done by cloning the ToC from the index.html. Cloning is needed because the same table is used for the Sidebar. 2021-02-16 Gavin Smith srclist-txi fixes * contrib/gdoc: Remove file. This saves us the trouble of working out if/how we should synchronize it with upstream. * util/srclist-txi, util/srclist.txt: Remove references to gsasl. 2021-02-16 Gavin Smith * doc/fdl.texi: Update to latest (URL change). 2021-02-16 Gavin Smith * README-hacking: Revise release instructions. 2021-02-16 Gavin Smith Fix for make po-check * po/POTFILES.in: Update * Makefile.in (po-check): check for parsetexi function calls 2021-02-16 Gavin Smith Fix for make po-check * tp/t/html_tests.t (example_class): Change test to avoid false positive with "make po-check". 2021-02-16 Gavin Smith Fix for make ccheck * doc/refcard/txirefcard.tex: Update to 6.8, 2021. Remove @setfilename line from mandatory file beginning. Add @displaymath. * doc/texinfo.texi (small): Add index entries for @smalldisplay and @smallindentedblock. 2021-02-16 Gavin Smith Pre-release fixes * configure.ac: Add dist-xz option. Change TEXINFO_DTD_VERSION to 6.8. * util/txicmdlist, util/txicustomvars: require Texinfo::ModulePath so that Locale::Messages can be found from Texinfo::Common. * tp/Texinfo/Common.pm: Make @variable_string_settables accessible outside of file. * doc/refcard/txivarcheck, util/txicustomvars: Fix to account for changes in manual and in Texinfo::Common. 2021-02-16 Gavin Smith * tp/tests/run_parser_all.sh (check_latex2html_and_tex4ht): Do not use 'continue' inside a function inside a loop. Report from Vitezslav Crhon. 2021-02-15 Gavin Smith * tp/Texinfo/Convert/HTML.pm (_convert_element_type): Always call close_registered_sections_level to close
element rather than adding a '
' string, as it's possible that the
was never opened. 2021-02-14 Per Bothner * js/info.css: Adjustments to consistent margin/padding for index and other pages. 2021-02-14 Gavin Smith * tp/Texinfo/Convert/HTML.pm (_convert_heading_command): Only output a
for a @node with an associated section. Otherwise, output a as an anchor. 2021-02-14 Gavin Smith * tp/tests/run_parser_all.sh: Print stderr for test error. * TODO: Remove item. 2021-02-14 Gavin Smith * tp/maintain/regenerate_cmd_tests.sh: Remove code that was supposed to print diffs (ineffective since 2018-09-01). 2021-02-14 Gavin Smith * tp/tests/run_parser_all.sh: Print diffs for test failure. 2021-02-14 Patrice Dumas * Texinfo/Convert/HTML.pm (_contents_inline_element): Put inline contents elements in a
. Report from Per Bothner. 2021-02-14 Patrice Dumas * Texinfo/Convert/HTML.pm (%default_formatting_references, converter_initialize, _default_*), init/book.pm, init/chm.pm, init/html32.pm, t/init/mini_ker_t2h.init, t/init/t2h_singular.init: use format_ in formatting functions strings and in formatting function names, to make clearer that the references called through the converter with format_ in the key point to the same functions. Report from Gavin. 2021-02-13 Patrice Dumas * tp/init/book.pm (book_convert_heading_command): update with changes in HTML main converter. 2021-02-13 Per Bothner Use the sectionning tree structure in HTML output * tp/Texinfo/Convert/HTML.pm (register_opened_section_level, close_registered_sections_level, _convert_heading_command, _convert_element_type, _default_end_file): use
for elements and keep the sectioning tree structure. 2021-02-10 Gavin Smith Do not call pclose on non-pipe. * install-info/install-info.c (readfile): Only call pclose if compression_program is set. Suggestion from Hans-Bernhard Bröker. Remove an incomprehensible comment. (open_possibly_compressed_file): Revise main comment for function. Only fseek back to start of stream if not reading from a pipe. Barath Aron reported that install-info hung on Threos OS. 2021-02-09 gettextize * gnulib/m4/gettext.m4: Upgrade to gettext-0.21. * gnulib/m4/iconv.m4: Upgrade to gettext-0.21. * gnulib/m4/intlmacosx.m4: Upgrade to gettext-0.21. * gnulib/m4/lib-link.m4: Upgrade to gettext-0.21. * gnulib/m4/nls.m4: Upgrade to gettext-0.21. * gnulib/m4/po.m4: Upgrade to gettext-0.21. * gnulib/m4/progtest.m4: Upgrade to gettext-0.21. * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.21. 2021-02-09 Gavin Smith Wrap or remove calls to abort in XS parser * tp/Texinfo/XS/parsetexi/parser.c (bug, fatal): New functions. * tp/Texinfo/XS/parsetexi: Use them throughout instead of calling abort, in order to give informative error messages. * tp/Texinfo/XS/parsetexi/end_line.c (end_line): Add code to deal with no description in menu entry. * tp/Texinfo/XS/parsetexi/macro.c (parse_macro_command_line): Do not abort on missing backslash in macro body. 2021-02-03 Gavin Smith Fix argument counting for nested @footnote. * tp/Texinfo/XS/parsetexi/separator.c (handle_close_brace) : Pop the remaining args counter. * tp/t/55conditionals.t (inlinefmtifelse_nesting): New test. 2021-02-03 Gavin Smith "Inline" command nesting * tp/Texinfo/ParserNonXS.pm (%default_valid_nestings), * tp/Texinfo/XS/parsetexi/parser.c (check_valid_nesting): Allow anything inside an inline command like @inlinefmt. The ccd2cue manual nested @footnote inside of @inlinefmtifelse. 2021-02-03 Gavin Smith Copiable anchors tweaks * tp/Texinfo/Convert/HTML.pm (_convert_item_command, _convert_def_line_type, %css_map): Wrap for copiable anchor in a to avoid it flickering when mouse pointer moves over page. (_get_copiable_anchor, %css_map) Precede it with a space character rather than using CSS to get space before it, as this looks slightly better in Lynx. 2021-01-31 Gavin Smith Rename node to avoid . * doc/texinfo.texi (@small..., small): Rename node to "small" as periods in the node name are iffy. Update or remove references to this node. 'info texinfo smallexample' gave the error: Cannot find node '@small' 2021-01-31 Gavin Smith Encoding error message in standard format * tp/Texinfo/ParserNonXS.pm (_next_text), * tp/Texinfo/XS/parsetexi/input.c (convert_to_utf8): File name and line number in error message. 2021-01-31 Gavin Smith * info/display.c (hl_ref_rendition): Use bold for active link rather than no underline. 2021-01-31 Gavin Smith @set txiindexhyphenignore for parsetexi * tp/Texinfo/XS/parsetexi/api.c (build_global_info): Set 'txiindexhyphenignore' and others on 'info' hash. * tp/Texinfo/XS/parsetexi/Parsetexi.pm (get_parser_info): Copy settings from 'info' to 'values' hash. * tp/Texinfo/XS/parsetexi/macro.c (fetch_value): Remove out of date comment. * tp/t/09indices.t (transparent_sort_chars): New test. 2021-01-27 Patrice Dumas * tp/Makefile.am (dist_init_DATA): install init/highlight_syntax.pm. 2021-01-27 Patrice Dumas * tp/init/highlight_syntax.pm (highlight_process): add a postfix differing for input and output file to disambiguate files otherwise than with extension, in particular for the case of html being highlighted. 2021-01-26 Patrice Dumas * Texinfo/Convert/HTML.pm (_convert_preformatted_command): no extra class based on argument expansion for @smallexample as we would prefer if users did not use that @-command. From Gavin. 2021-01-26 Patrice Dumas * Texinfo/Convert/HTML.pm (%pre_class_commands, _convert_preformatted_command, _convert_indented_command, _convert_quotation_command, _convert): do not alias @small* commands in _convert() but in formatting functions, such that the information is not lost and corresponds to the parsing tree. Alias @small* in %pre_class_commands too. 2021-01-26 Patrice Dumas * tp/init/highlight_syntax.pm (_get_highlighted_languages, %highlighted_languages_list, _get_language, highlight_process): In _get_highlighted_languages() call 'source-highlight --lang-list' to obtain the list of highlighted languages and highlight only languages that are in that list. 2021-01-26 Patrice Dumas * tp/init/highlight_syntax.pm (highlight_process): make sure that the text fragment to be highlighted ends with a newline. 2021-01-25 Patrice Dumas * Texinfo/Common.pm (add_valid_option), texi2any.pl (texinfo_add_valid_option): add Texinfo::Common::add_valid_option() to dynamically add customization options. Also add, in texi2any.pl, Texinfo::Config::texinfo_add_valid_option() as a wrapper around Texinfo::Common::add_valid_option() in the Texinfo::Config namespace. * tp/init/highlight_examples.pm: rename as tp/init/highlight_syntax.pm. Fix extraction of highlighted fragments. Use dynamically added HIGHLIGHT_SYNTAX_DEFAULT customization option to setup a default for the language of @example when not set. 2021-01-25 Patrice Dumas * tp/init/highlight_examples.pm: use --out-format=html5 to be more in line with the type of HTML produced by texi2any. 2021-01-25 Eli Zaretskii * info/pcterm.c (w32_kbd_read): Avoid gratuitous flickering of the MS-Windows console if screen-buffer size-change events are sent without any change in the screen dimensions. 2021-01-24 Patrice Dumas * tp/init/highlight_examples.pm: add an init file that does syntax highlighting for @example with language argument using source-highlight. 2021-01-24 Patrice Dumas * tp/Texinfo/Convert/HTML.pm (_attribute_class): ignore an empty extra classes expansion result string. 2021-01-24 Patrice Dumas * tp/Texinfo/Convert/HTML.pm (_attribute_class, _convert_preformatted_command): pass extra classes as an array instead of a string. * tp/Texinfo/Convert/HTML.pm (_attribute_class, _protect_class_name): protect spaces in _attribute_class extra_classes. * tp/Texinfo/Convert/HTML.pm (_convert_preformatted_command): use Texinfo::Convert::NodeNameNormalization::convert to convert @example arguments to text. 2021-01-24 Patrice Dumas * tp/Texinfo/Convert/TexinfoXML.pm (%commands_formatting), util/texinfo.dtd: use specific entities for guillemotleft and guillemotright to be able to distinguish from guillemetleft and guillemetright and be able to come back to the @-command that generated the entity. 2021-01-23 Patrice Dumas * tp/Texinfo/Convert/TexinfoXML.pm (%commands_args_elements) (_convert), tp/t/xml_tests.t, tests/coverage_macro.texi, util/texinfo.dtd, util/txixml2texi.pl: add support for @example multiple arguments in TexinfoXML output. Update xml @example tests. * tp/Texinfo/Convert/HTML.pm (_convert_preformatted_command): always initialize $extra_class. * configure.ac (TEXINFO_DTD_VERSION): Increase to '6.7dev'. 2021-01-23 Gavin Smith KOI8 support * tp/Texinfo/XS/parsetexi/input.c (set_input_encoding) (convert_to_utf8): Support KOI8-R and KOI8-U, as these are documented to be supported. 2021-01-23 Gavin Smith Validate UTF-8 input * tp/Texinfo/XS/parsetexi/input.c (convert_to_utf8): Use iconv to validate UTF-8 input, in case for example the encoding is not declared and the input is actually Latin-1. Handle conversion errors by advancing in input stream rather than dumping core. 2021-01-23 Patrice Dumas * tp/t/20preformatted.t: change name of test with example and add test with @display now that @example accepts arguments. 2021-01-22 Gavin Smith * tp/Texinfo/XS/parsetexi/parser.c (register_global_command): Fix equivalence of @summarycontents to @shortcontents. 2021-01-22 Gavin Smith * tp/Texinfo/XS/parsetexi/api.c (build_global_info2): Remove handling of @setcontentsaftertitlepage and @setshortcontentsaftertitlepage. 2021-01-22 Gavin Smith * tp/Texinfo/XS/parsetexi/api.c (element_to_perl_hash): Create an empty contents array for an empty paragraph. * tp/t/08misc_commands.t (noindent_empty_para): New test. 2021-01-20 Gavin Smith * tp/Texinfo/XS/parsetexi/input.c (set_input_encoding): Save the encoding as an enum value rather than as a string. Give a warning message if the encoding is unknown. (convert_to_utf8): Use this value instead of checking the string. Return string unaltered if conversion couldn't be initialized. 2021-01-20 Gavin Smith Handle Latin-15 encoding in XS parser * tp/Texinfo/XS/parsetexi/input.c (convert_to_utf8): Support ISO-8859-15 encoding. (Used for GNU screen manual.) 2021-01-19 Gavin Smith "seeentry" and "seealso" extra elements * tp/Texinfo/ParserNonXS.pm (_parse_texi), * Texinfo/XS/parsetexi/separator.c (handle_close_brace): Do not convert @seeentry or @seealso commands to strings. Save references to them as extra elements. This allows more reliable checking of whether these commands were present. * Texinfo/Convert/DocBook.pm (_index_entry): Accomodate change. 2021-01-19 Gavin Smith * tp/Texinfo/XS/parsetexi/Parsetexi.pm: Remove a pointless comment. 2021-01-19 Gavin Smith * doc/texinfo.texi (Advanced Indexing): Remove @ from @findex entries for seeentry and seealso. 2021-01-19 Gavin Smith Fix @seealso XS difference * tp/Texinfo/XS/parsetexi/parser.c (parse_texi): Isolate space before @seealso as was done for other commands that could occur in an index entry. * tp/Texinfo/Common.pm (%in_index_commands): Add 'subentry'. * tp/Texinfo/ParserNonXS.pm (_parse_texi): Do not leave an empty text element if isolating spaces from a text element that was all spaces to start with. * tp/t/09indices.t (seealso_duplicate): New test. 2021-01-17 Gavin Smith Handle malformed menu. * tp/Texinfo/ParserNonXS.pm (_close_current), * tp/Texinfo/XS/parsetexi/close.c (close_current): Do not attempt to remove an empty menu_entry_description element from the contents. It may not be in the contents but in the args instead, and also referenced elsewhere as an "extra" element. * tp/Texinfo/XS/parsetexi/api.c (element_to_perl_hash): Always create contents array for ET_menu_entry_description. * tp/t/10menu.t (menu_node_unterminated): New test. 2021-01-16 Gavin Smith * tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command) : Use a constant to represent unlimited args. * tp/Texinfo/XS/parsetexi/separator.c (handle_comma): Do not decrement counter if its value is this constant. 2021-01-16 Gavin Smith * tp/Texinfo/XS/parsetexi/end_line.c (parse_line_command_args): Give warnings if try to redefine one of the predefined indices. 2021-01-16 Gavin Smith * tp/Texinfo/XS/parsetexi/separator.c (handle_close_brace) <@U> Correct argument check. * tp/t/02coverage.t (invalid_U): Add another use of @U. 2021-01-16 Gavin Smith * tp/Texinfo/XS/parsetexi/end_line.c (parse_line_command_args) <@defindex>: No warning if index already exists (to match the Perl code). 2021-01-15 Gavin Smith * tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command) : Start counter at -2 rather than -1. 2021-01-15 Gavin Smith Attempt to recover from input encoding errors. * tp/Texinfo/ParserNonXS.pm (_next_text): Trap input errors and if caught, strip out non-ASCII bytes from input. 2021-01-15 Gavin Smith Simply end-of-sentence handling. * Texinfo/XS/xspara.c (xspara_add_text): Always double the end of sentence space here when it has to be doubled, rather than sometimes relying on it being done later in xspara_add_next. This is simpler and more reliable. (xspara__add_next, xspara_set_space_protection): Don't handle end of sentence spaces. * tp/Texinfo/Convert/ParagraphNonXS.pm (add_text, _add_next): The same. 2021-01-15 Gavin Smith end of sentence space for set_space_protection * tp/Texinfo/XS/xspara.c (xspara_set_space_protection): Double end-of-sentence space if at end of sentence. * tp/t/03coverage_braces.t (w_end_sentence): New test. 2021-01-14 Gavin Smith * tp/Texinfo/ParserNonXS.pm (_setup_conf): Merge 'info' hash from conf rather than replacing with it. Otherwise giving --no-validate flag to texi2any led to character encoding differences in the output. 2021-01-14 Gavin Smith * tp/t/paragraph.t: Update calls to set_space_protection. 2021-01-13 Gavin Smith void return type for set_space_protection * tp/Texinfo/Convert/ParagraphNonXS.pm (set_space_protection): Do not return an empty string. Callers updated. * tp/Texinfo/XS/xspara.c (xspara_set_space_protection): The same. 2021-01-13 Gavin Smith No line counting for set_space_protection. * tp/Texinfo/Convert/Plaintext.pm (_convert): Do not wrap any calls to set_space_protection with _count_added as set_space_protection does not reset the line counter and this can lead line numbers in index entries to be too high. * tp/t/09indices.t (w_lines_count): New test. 2021-01-13 Gavin Smith Simply paragraph formatter. * tp/Texinfo/XS/xspara.c (two_spaces_only): Remove function. (xspara_add_text): Simply use two spaces at the end of a sentence, rather than processing space characters from the input. This has a potential change to the output if exotic spaces were used. * tp/Texinfo/Convert/ParagraphNonXS.pm (add_text): The same. * tp/Texinfo/XS/xspara.c (xspara_add_text): Do not continue the loop after this, as this can rarely lead to calls to xspara__cut_line or xspara__end_line being missed later on in the loop body. 2021-01-13 Gavin Smith * tp/Texinfo/XS/xspara.c (two_spaces_only): Split out function for clarity. (xspara_add_text): Copy some code to each case of an if statement. 2021-01-12 Gavin Smith * NEWS, doc/texinfo.texi (@example): Document that @example can take an argument. 2021-01-12 Gavin Smith and Patrice Dumas Separate @example args with commas. * tp/Texinfo/XS/parsetexi/command_data.txt: Use BLOCK_variadic for @example. * tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_commands): Start remaining args counter at -1 for BLOCK_variadic. * tp/Texinfo/Common.pm (%block_commands): Use 'variadic' for 'example'. * tp/Texinfo/ParserNonXS.pm (_parse_texi) : Set remaining_args value to -1. * tp/Texinfo/Convert/HTML.pm (_convert_preformatted_command): Concatenate any arguments to example with intervening spaces. * tp/t/html_tests.t (example_class, example_multi_class): New tests. 2021-01-01 Gavin Smith * doc/Makefile.am (wwwdoc-build): Add options for using MathJax. 2021-01-01 Gavin Smith CFLAGS for XS module checks * tp/Texinfo/XS/configure.ac: Set CFLAGS and LDFLAGS before running more tests, using Perl configuration values. This is intended to make results from the AM_GNU_GETTEXT checks reliable on Solaris 11, where gettext was found to work when it didn't. * tp/Texinfo/XS/configure.ac: Change AC_HELP_STRING to AS_HELP_STRING. 2021-01-01 Gavin Smith * configure.ac: Print informative message if we are not going to try to build XS modules. 2021-01-01 Gavin Smith Avoid compiler warning * tp/Texinfo/XS/parsetexi/extra.c (add_extra_integer) * tp/Texinfo/XS/parsetexi/api.c (element_to_perl_hash): Use wider integer type to avoid compiler warning. 2020-12-31 Gavin Smith Document INFO_JS_DIR. * TODO, * doc/texinfo.texi (HTML Customization Variables): Document INFO_JS_DIR. 2020-12-31 Gavin Smith Manual revisions * doc/texinfo.texi (References): cross reference -> cross-reference (Cross Reference Commands): rm reference to @inforef (Info Format FAQ): Revise and extend. 2020-12-27 Gavin Smith * TODO: Update some items from (now-closed) bug tracker on Savannah. 2020-12-23 Gavin Smith * tp/Texinfo/XS/README: Remove long-obsolete file. 2020-12-22 Gavin Smith * info/session.c (forward_move_node_structure) (backward_move_node_structure): Check return value from info_handle_pointer. Otherwise an infinity loop can result from malformed input. Report from Nathaniel Beaver. 2020-12-22 Gavin Smith Fix info fuzzing error. * info/info-utils.c (copy_input_to_output): Avoid pointer arithmetic with value from input file to avoid chance of a invalid pointer. Add check for anchor offset being previous to current node. Report from Nathaniel Beaver 2020-05-25 who found the failing input with afl-fuzz. 2020-12-22 Gavin Smith * tp/Texinfo/Report.pm (gdt): Try to set locale from a list so that more can be easily added. 2020-12-22 Gavin Smith Remove warning for @menu seen before first @node. * tp/Texinfo/ParserNonXS.pm (_parse_texi), * tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command): Remove warning for @menu seen before first @node. This warning would be output incorrectly when texi2any --pdf was run if the @top node was in an @ifnottex block. Report from Matt Wette 2020-11-29. 2020-12-22 Gavin Smith texi2dvi stop on first error * util/texi2dvi: Stop on first error. Changes the behaviour that has been current since change on 2019-03-31. Request from Marius Hofert 2020-12-09. * NEWS: Mention. 2020-11-29 Gavin Smith Revise in line with GNU Coding Standards * doc/texinfo.texi: Change "filename" to "file name" and avoid using "path" or "pathname". (Format with texi2dvi): Remove advice on running texi2dvi under MS-DOS. 2020-11-29 Gavin Smith * doc/texinfo.texi (Preparing for TeX, Other Info Directories): Remove explanations of how to set environment variables in various shells. 2020-11-29 Gavin Smith * doc/texinfo.texi: Change @smallexample to @example in many places. 2020-11-29 Gavin Smith Update manual for command deprecations * doc/texinfo.texi (@unnumbered @appendix): Discourage @centerchap. (@inforef): Discourage. (@small...): Don't encourage. (@definfoenclose): Discourage. 2020-11-29 Gavin Smith * texindex/ti.twjr: Add missing } in menu. 2020-11-29 Gavin Smith * tp/t/test_utils.pm: require instead of use Texinfo::Transformations. 2020-11-29 Gavin Smith Upgrade libintl-perl to 1.32 * tp/maintain/lib/libintl-perl, * tp/maintain/lib/README: Upgrade to libintl-perl-1.32 * TODO: Update. * tp/Texinfo/Report.pm (gdt): Set and restore LC_MESSAGES when callling gettext. 2020-11-25 Gavin Smith data-manual attribute * tp/Texinfo/Convert/HTML.pm (_convert_xref_commands): Set data-manual attribute instead of class="texi-manual" on links to other Texinfo manuals. 2020-11-25 Gavin Smith * doc/texinfo.tex (\image): Call \makevalueexpandable. Remove outdated code for macro expansion. Christopher Dimech reported that @value does not work inside @image. 2020-11-21 Gavin Smith Remove newline at start of @macro argument * doc/texinfo.tex (\eatleadingcr): New macro. (\scanmacro): Put \eatleadingcr into definition of \xeatspaces. (\parsemargdef): Put \xempty{} into argument to \xeatspaces. * doc/texinfo-tex-test.texi (Newline at start of argument): New test. Hilaire Fernandes reported the case of a broken macro when a comma separating arguments was at the end of a line. This led the following newline to be included in the macro argument. This change stops whitespace being trimmed from the end of macro arguments, so only leading whitespace is trimmed, as is documented and is the case with texi2any's macro handling. 2020-11-18 Gavin Smith No extra . for image file extension * tp/Texinfo/Convert/HTML.pm (_convert_image_command): Do not include extra period before file extension in the case that the file was not found, in accordance with the manual's statement that the fifth argument to @image includes the extension. Report from Christopher Dimech. * NEWS: Update. 2020-11-17 Gavin Smith @set txiomitxrefpg * doc/texinfo.texi (\xrefX): If @set txiomitxrefpg is given do not output page numbers for cross-references. 2020-11-17 Patrice Dumas Use files in input for tests with encodings and non ascii characters * tp/t/09indices.t, tp/t/input_files/encoding_index_latin1.texi, tp/t/input_files/encoding_index_utf8.texi: replace tests with encoded characters provided as perl strings with actual files properly encoded. 2020-11-17 Patrice Dumas Normalize perl parser and XS parser output for better test comparability * tp/Texinfo/ParserNonXS.pm (_end_line): use a string for enumerate default specification for consistency. * tp/Texinfo/ParserNonXS.pm (_check_line_directive): use an integer for the line number for consistency. * tp/t/test_utils.pl (duplicate_key_array, _duplicate_element_keys, duplicate_tree_element_keys): new functions used to normalize parsers outputs for better tests comparabilities. * tp/t/test_utils.pl: put use Texinfo::Transformations; at the beginning. 2020-11-16 Gavin Smith Parse Texinfo commands in @displaymath as in @math (XS version) * tp/Texinfo/XS/parsetexi/command_data.txt: Remove displaymath from raw commands. * tp/Texinfo/XS/parsetexi/commands.c (close_paragraph_command): Remove displaymath. * tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command): Push 'math' context for @displaymath. * tp/Texinfo/XS/parsetexi/close.c (close_commands): Pop context for @math and @displaymath. 2020-11-16 Patrice Dumas Warn and die if the fallback ParserNonXS require failed * tp/Texinfo/XSLoader.pm (FALLBACK): check the status of the eval of the require of the fallback module (ParserNonXS) and report the warning and die if the eval failed. 2020-11-16 Patrice Dumas Parse texinfo commands in @displaymath as in @math * tp/Texinfo/Common.pm (%math_commands): Add. Remove displaymath from raw commands. * tp/Texinfo/ParserNonXS.pm (_close_current, _parse_texi): Handle math commands in a more generic way using a specific "math" context independently of the command name. * tp/Texinfo/Convert/HTML.pm (_convert), tp/Texinfo/Convert/Plaintext.pm (%block_math_commands, new_formatter, _convert), tp/Texinfo/Convert/TexinfoXML.pm (_convert) tp/Texinfo/Convert/Text.pm (_convert): use %math_commands. 2020-11-15 Patrice Dumas Rename OUTPUT_CONTENTS_LOCATION as CONTENTS_OUTPUT_LOCATION and at_commands value for the variable as inline * tp/Texinfo/Convert/HTML.pm (%defaults, _convert_heading_command, _convert_informative_command, _contents_shortcontents_in_title, _prepare_special_elements, _prepare_contents_elements, _set_variables_texi2html, tp/Texinfo/Common.pm (@variable_string_settables), doc/texi2oldapi.texi, doc/texinfo.texi (HTML Customization Variables), tp/init/book.pm: Rename OUTPUT_CONTENTS_LOCATION as CONTENTS_OUTPUT_LOCATION and use 'inline' instead of 'at_commands' for the corresponding value. Idea from Gavin. 2020-11-15 Patrice Dumas Add 'after_top' for OUTPUT_CONTENTS_LOCATION and use it as default * tp/Texinfo/Convert/HTML.pm (%defaults, _convert_heading_command), doc/texinfo.texi (HTML Customization Variables): If 'OUTPUT_CONTENTS_LOCATION' is set to 'after_top', write the table of contents/Overview at the end of the @top. Instead of the mini toc. Set 'after_top' in the default case (Gavin). 2020-11-14 Gavin Smith Fully remove @setcontentsaftertitlepage. * tp/Texinfo/Common.pm (%line_commands, %deprecated_commands), * tp/Texinfo/XS/parsetexi/command_data.txt, * tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line): Remove setcontentsaftertitlepage and setshortcontentsaftertitlepage. * tp/t/info_tests.t (contents_setcontentsaftertitlepage_before_node): Remove. * tp/tests/contents/res_parser: Remove results files for removed tests. * doc/texinfo.texi (Command List, Obsolete @-Commands): Move @refill to Obsolete @-Commands. Update documentation of @setcontentsaftertitlepage. * NEWS: Update. * doc/refcard/txirefcard.tex: Remove documentation of deprecated commands. 2020-11-14 Patrice Dumas Move mini toc formatting to section @-command conversion function * tp/Texinfo/Convert/HTML.pm (_convert, _convert_heading_command): Move mini toc formatting code to _convert_heading_command() such that it is in the function that can be customized if set in Texinfo::Config::texinfo_commands_conversion. 2020-11-14 Patrice Dumas Use OUTPUT_CONTENTS_LOCATION for HTML * tp/Texinfo/Convert/HTML.pm (%defaults, _convert_informative_command, _contents_shortcontents_in_title, _default_titlepage, _print_title, _prepare_contents_elements, _convert, _set_variables_texi2html), tp/Texinfo/Common.pm (@variable_string_settables), doc/texinfo.texi (HTML Customization Variables), texi2oldapi.texi, tp/init/book.pm, tp/tests/contents/list-of-tests: Replace INLINE_CONTENTS by OUTPUT_CONTENTS_LOCATION set to "at_commands", INLINE_CONTENTS unset becomes "separate_element". Add "after_title" as a possibility for OUTPUT_CONTENTS_LOCATION using the code that corresponded to @setcontentaftertitlepage before the @-command was removed. 2020-11-14 Gavin Smith Simplify little-used "markup style" infrastructure. * doc/texinfo.tex (\currentmarkupstyle, \setupmarkupstyle) (\markupsetuplqdefault, \markupsetuprqdefault): Remove. (\setcodequotes, \setregularquotes): Replacements. * doc/texinfo.texi (Inserting Quote Characters): Do not say that the command interface is preferred. 2020-11-13 Gavin Smith Avoid excess vertical space above @displaymath. * doc/texinfo.tex (\displaymath): Avoid active newlines in macro definition. These led to \par tokens which in turn led to extra vertical space above the block. Report by Christopher Dimech. 2020-11-13 Gavin Smith Fix \eqno in @displaymath. * doc/texinfo.tex (\end): Do not exit math mode (reverts previous change). (\displaymath): Temporarily redefine @end to insert $$ immediately, before reading the rest of the line. This is needed for \halign and \eqno inside display math. * doc/texinfo-tex-test.texi (Test of @displaymath): Add \eqno example. Report of broken \eqno by Christopher Dimech. 2020-11-13 Gavin Smith Fix align in @displaymath. * doc/texinfo.tex (\end): Leave math mode. (\Edisplaymath): Do not leave math mode here as it is too late if \halign is inside the display math, which has to appear as $$\halign{...}$$. * doc/texinfo-tex-test.texi (Test of @displaymath): New section. Christopher Dimech reported that \leqalignno within @displaymath was broken. 2020-11-12 Gavin Smith Ignore line argument to @example. * doc/texinfo.tex (\example, \lisp) : End call to \makedispenvdef with \parsearg rather than \gobble. 2020-11-12 Patrice Dumas * tp/tests/run_parser_all.sh: store raw output and postprocess test output even if not comparing with previous results. 2020-11-12 Patrice Dumas * tp/tests/tex_html/tex_gdef.texi, tex_eqalign.texi: tests with \gdef in @tex block and with \leqalignno from Christopher Dimech. 2020-11-11 Gavin Smith Mark some commands as deprecated. * tp/Texinfo/Common.pm (%deprecated_commands), * tp/Texinfo/XS/parsetexi/command_data.txt: Mark definfoenclose, refill, inforef, centerchap as deprecated. * NEWS: Update. 2020-11-10 Gavin Smith Output @lisp with 'example' class. * tp/Texinfo/Convert/HTML.pm (_convert_preformatted_command): Output @lisp with
rather than
. (%css_map): No CSS for div.lisp. 2020-11-10 Gavin Smith Optional parameter to @example * tp/Texinfo/Common.pm (%block_commands), * tp/Texinfo/XS/parsetexi/command_data.txt: Specify @example to take 1 argument. * tp/Texinfo/Convert/HTML.pm (_convert_preformatted_command): If 'example' takes an argument, pass it as an extra argument to _attribute_class. (_attribute_class): Take an extra argument for extra classes to be added to the element. This could be used as e.g. "@example cplusplus" to allow post-processing the HTML output to syntax-highlight C++ code. 2020-11-10 Gavin Smith * doc/texinfo.texi (Other Customization Variables): Alphabetize. (Top): Remove bespoke menu entry names for master menu as these are not useful. 2020-11-08 Per Bother * js/info.js (config): Flatten structure so as to allow merging of configs. 2020-11-08 Gavin Smith Manual revisions. * doc/texinfo.tex (Conventions): Swap treatment of form feeds and tabs. (Short Sample, Body of the Document): Include sections in the example chapter and headings in the example output. (First Node): Do not encourage putting copying permissions into Top node. 2020-11-07 Gavin Smith Rename PERMALINKS to COPIABLE_ANCHORS * tp/Texinfo/Common.pm (@variable_string_settables), * tp/Texinfo/Convert/HTML.pm (%defaults): Rename PERMALINKS to COPIABLE_ANCHORS. * tp/Texinfo/Convert/HTML.pm (_get_permalink, _get_copiable_anchor): Rename. (%css_map) : Set line height to 0em to avoid increasing spacing of line. * doc/texinfo.texi (HTML Customization Variables): Add COPIABLE_ANCHORS. Update documentation of JS_WEBLABELS. 2020-11-07 Gavin Smith * NEWS: Update. 2020-11-07 Gavin Smith Do not use dir.info as dir file. * info/dir.c (dir_entry_of_infodir): Call info_check_compressed instead of info_add_extension. 2020-11-07 Gavin Smith Do not use dir.info as dir file. * info/filesys.c (info_check_compressed): Split out new function. Remove code which deals with a file being found which is a directory. (info_add_extension): Use info_check_compressed. * info/dir.c (build_dir_node): Iterate over search path with infopath_first and infopath_next and check for dir file with info_check_compressed. 2020-11-06 Gavin Smith awk for texindex * configure.ac: Call AC_CHECK_PROGS instead of AC_PROG_AWK and set TI_AWK. * texindex/texindex.in, texindex/Makefile.am: Substitute TI_AWK instead of AWK. 2020-11-06 Gavin Smith Allow dir.gz * info/dir.c (build_dir_node): Call info_file_find_next_in_path to get all the dir files. This means that compressed dir files can be found as dir.gz etc., which install-info already supports. (dir_entry_of_infodir): Only check for dir under the name of "dir", not "localdir". 2020-11-05 Gavin Smith * doc/texinfo.texi (Catching Mistakes): Subordinate to previous appendix. 2020-11-05 Gavin Smith JS_WEBLABELS=reference * tp/Texinfo/Convert/HTML.pm (_default_end_file): For JS_WEBLABELS=reference only output the reference link if JS is used in the page. 2020-11-05 Gavin Smith @bsixpaper * NEWS, * doc/texinfo.texi (A4 Paper, Command List), * doc/refcard/txirefcard.tex: Document @bsixpaper. 2020-11-05 Patrice Dumas Warn about nodes not references in pointers or in document node menu * tp/Texinfo/Structuring.pm (nodes_tree): put referenced nodes in %referenced_nodes and warn about unreferenced nodes. 2020-11-05 Patrice Dumas * tp/Texinfo/Structuring.pm (nodes_tree): word node pointers and menu order inconsistencies message without referring to section. 2020-11-05 Patrice Dumas Add CHECK_NORMAL_MENU_STRUCTURE customization variable * tp/Texinfo/Common.pm (%default_customization_values, @variable_string_settables), tp/Texinfo/Structuring.pm (nodes_tree), doc/texinfo.texi (Other Customization Variables): add CHECK_NORMAL_MENU_STRUCTURE which must be set in order to get warnings about inconsistencies between node pointers and node menu entries order. Do not use FORMAT_MENU for that. Output those warnings even for nodes with explicit pointers. 2020-11-04 Gavin Smith * doc/texinfo.texi (Invoking texi2any) <--no-validate>: Reword to say it is menu entries that are checked rather than menu structure. Comment out text that may be inaccurate. 2020-11-02 Gavin Smith Anchor links on hover over regular @table items. * tp/Texinfo/Common.pm (relate_index_entries_to_table_entries_in_tree): New function. * tp/texi2any.pl: Call it as a tree transformation for HTML. * tp/Texinfo/Convert/HTML.pm (command_id): Update a comment. 2020-11-02 Gavin Smith Anchor links on hover over @vtable or @ftable @item. * tp/Texinfo/Convert/HTML.pm (_convert_item_command) : Output id on containing
rather than an empty . Call _get_permalink. 2020-11-02 Patrice Dumas Determine with USE_NODE_DIRECTIONS if section or nodes directions are used in HTML * tp/Texinfo/Convert/HTML.pm (_default_node_direction) rename as _default_panel_button_dynamic_direction. * tp/Texinfo/Convert/HTML.pm (_default_panel_button_dynamic_direction, %defaults), tp/Texinfo/Common.pm (@variable_string_settables): add USE_NODE_DIRECTIONS customization variable, and use it in _default_panel_button_dynamic_direction, defaulting to USE_NODES if USE_NODE_DIRECTIONS is undefined. * doc/texinfo.texi (HTML Customization Variables): add USE_NODE_DIRECTIONS. * doc/texinfo.texi (Three Arguments): document that xrefautomaticsectiontitle applies to node headers in HTML too. * tp/Texinfo/Convert/HTML.pm (_default_navigation_header_panel, _default_button_formatting): determine if a delimiter is needed before a button from 'format_button' function reference return. 2020-11-01 Patrice Dumas Use the section itself for sectiontoc, not the previous node * tp/Texinfo/Convert/HTML.pm (_convert): use the sectioning command for the sectiontoc. 2020-11-01 Gavin Smith Anchor links on hover over def. * tp/Texinfo/Common.pm (@variable_string_settables), * tp/Texinfo/Convert/HTML.pm (%defaults): Add PERMALINKS. * tp/Texinfo/Convert/HTML.pm (_get_permalink): New function. (%css_map): Add CSS so as to make permalink appear on hover over parent element. (_convert_def_line_type): Call _get_permalink. 2020-11-01 Patrice Dumas Output a sectiontoc for @top if there is no contents already output * tp/Texinfo/Convert/HTML.pm (_convert): output a sectiontoc in @top if there is no shortcontent nor summary content inlined. (_has_contents_or_shortcontents): new function. 2020-11-01 Patrice Dumas Update pot/po and fr translation to regenerate test result after @def change * po_document/*.po: update strings. * po_document/fr.po: update translations. * tp/tests/layout/res_parser/formatting_fr_icons/formatting.html: update 2020-11-01 Gavin Smith Enable def category CSS. * tp/Texinfo/Convert/HTML.pm (_convert_def_line_type): Wrap def category in . (_convert_def_command): Add class='def' to
element. 2020-11-01 Gavin Smith Output category separately for @def*. * tp/Texinfo/Convert/HTML.pm (_convert_def_line_type): Split the conversion of the category away from the rest of the def line. Add comments to label the different cases. This has a slight change to the output for @deffn with a completely empty argument, as this leads to the category being undefined. It also changes a test result due to a translation for "{category}: " being missing (in French, this should come out as "{category}@ : "). This is preparation for allowing changing the formatting of the category with CSS, for example to float it to the right of the page. Suggestion from Per Bother. 2020-11-01 Gavin Smith * tp/Texinfo/Convert/Text.pm (brace_no_arg_command): Add missing close bracket for defined. 2020-10-31 Patrice Dumas Replace SHOW_MENU by FORMAT_MENU which uses only strings * tp/Texinfo/ParserNonXS.pm (_register_extra_menu_entry_information), tp/Texinfo/XS/parsetexi/Parsetexi.pm (parser), tp/Texinfo/Structuring.pm (nodes_tree), tp/Texinfo/Common.pm (%default_customization_values, @variable_string_settables), tp/texi2any.pl, tp/Texinfo/Convert/*.pm, tp/init/book.pm, tp/init/chm.pm, doc/texinfo.texi (Other Customization Variables), NEWS: replace SHOW_MENU by FORMAT_MENU. 0 becomes 'nomenu' and 1 becomes 'menu'. 2020-10-31 Patrice Dumas Do not remove raw_out_parser debug tests output directories * tp/tests/run_parser_all.sh: do not remove raw_out_parser. tp/tests/*/Makefile.am (distclean-local): remove raw_out_parser* 2020-10-31 Patrice Dumas Set include directories for parser * texi2any.pl (%$parser_file_options): set 'include_directories'. 2020-10-31 Gavin Smith _convert_text_options takes a converter argument * tp/Texinfo/Structuring.pm (do_index_keys): Do not call _convert_text_options as this appears to take a converter object as an argument. Inline some parts of that function at the call site. 2020-10-31 Gavin Smith Call do_index_keys with parser object. * tp/Texinfo/Convert/HTML.pm (_prepare_index_entries), * tp/Texinfo/Convert/IXIN.pm (output_ixin): Pass parser object to sort_indices and sort_indices_by_letter instead of converter. 2020-10-31 Gavin Smith Call do_index_keys with parser object. * tp/Texinfo/Convert/Plaintext.pm (_printindex_formatted): Pass parser object to sort_indices instead of converter. * tp/t/09indices.t: Set ENABLE_ENCODING in parser options as well as converter options. * tp/Texinfo/Convert/Plaintext.pm (do_index_keys): Assume argument is a parser object. This means that conversion errors in the index sort keys will be part of the parser errors instead of the converter errors. 2020-10-31 Gavin Smith * doc/texinfo.texi (texi2any Environment Variables): Update documentation of TEXINFO_XS_PARSER to reflect that this is the default. 2020-10-31 Gavin Smith Call do_index_keys with parser object again. * tp/Texinfo/Common.pm (%default_customization_values): Re-add 'ENABLE_ENCODING'. It could be used in Texinfo::Structuring for index entry sorting. * tp/t/test_utils.pl, tp/t/test_sort.t: Use parser object instead of converter object to sort indices. * tp/Texinfo/XS/parsetexi/Parsetexi.pm: Ignore ENABLE_ENCODING. This reverts changes on 2020-10-21 and 2020-10-28. The plan is to call do_index_keys with the parser object instead, which appears to have been the original intention. 2020-10-31 Gavin Smith Configuration/customization variables. * tp/Texinfo/Common.pm (%default_customization_values): Remove SIMPLE_MENU as this is used in neither Texinfo::Parser or Texinfo::Structuring. * tp/Texinfo/Structuring.pm (nodes_tree): Refer to SHOW_MENU via get_conf to clarify that this is a configuration value. * tp/texi2any.pl: Remove a comment. * tp/Texinfo/XS/parsetexi/Parsetexi.pm: Change a comment. 2020-10-31 Gavin Smith * tp/texi2any.pl: Rename two variables. 2020-10-28 Gavin Smith Do not set expanded_formats via parser. * tp/Texinfo/Convert/Converter.pm (converter): Do not copy 'expanded_formats' from parser object to converter object. * tp/texi2any.pl: Copy 'expanded_formats' from parser object to converter object. 2020-10-28 Gavin Smith Do not set include_directories via parser. * tp/Texinfo/Convert/Converter.pm (converter): Do not copy 'include_directories' from parser object to converter object. * tp/texi2any.pl: Add include directories to parser options and converter options separately. * tp/t/test_utils.pl: Set 'include_directories' in converter options explicitly. This should make it clearer where the 'include_directories' setting comes from. Ideally the parser object should be used to access the results of parsing only, not to access parser settings. 2020-10-28 Gavin Smith * tp/Texinfo/XS/parsetexi/Parsetexi.pm (parser): Add a comment about copying the conf to the parser object. 2020-10-28 Gavin Smith Only call do_index_keys with converter object. * tp/t/test_utils.pl, tp/t/test_sort.t: Call Texinfo::Structuring::sort_indices with converter object rather than parser object. * tp/Texinfo/Convert/Text.pm: use Texinfo::Convert::Converter. * tp/Texinfo/Structuring.pm (do_index_keys): Update comment. This means that index sorting errors disappear from $result_errors, but they are still present in the converter errors. 2020-10-28 Gavin Smith Provide accesskey in section TOC. * tp/Texinfo/Convert/HTML.pm: Output accesskey attribute on elements in section TOC, as is done for menus. 2020-10-27 Patrice Dumas Fix messages. Do not warn if up node is an external node and inconsistent with menu * tp/Texinfo/Structuring.pm (nodes_tree): do not check for node up / menu up mismatch if node up is an external node. * tp/Texinfo/Convert/HTML.pm (_element_direction): accept section type for TOP_NODE_UP_URL Up. 2020-10-27 Patrice Dumas Do not warn if external node in menu is not consistent with sections * tp/Texinfo/Structuring.pm (nodes_tree): do not warn if a menu entry referring to an external node is not consistent with sectioning. 2020-10-26 Patrice Dumas use httex instead of httexi for @math in default case * tp/init/tex4ht.pm ($STYLE_MATH): set to tex. 2020-10-26 Gavin Smith @math, @displaymath documentation * doc/texinfo.texi (Inserting Subscripts and Superscripts): Do not encourage @sub or @sup inside math. (Inserting Math): Use \over in example, instead of \frac. Comment out explanation of @\. Explain that using any Texinfo commands inside math is not ideal. 2020-10-25 Patrice Dumas handle @displaymath with tex4ht and latex2html * tp/init/latex2html.pm (l2h_process, l2h_to_latex), tp/init/tex4ht.pm ($tex4ht_command_displaymath, tex4ht_prepare): handle @displaymath. * tp/tests/coverage_macro.texi: use plain TeX math code in @displaymath. * tp/tests/tex_html/tex.texi: add a @displaymath. 2020-10-25 Patrice Dumas add a @sup in @math{} in tex tests * tp/tests/tex_html/tex.texi: add @math{} with @sup{} to test. 2020-10-25 Patrice Dumas regenerate tex4ht/latex2html tests Note that tex must be changed to etex in httex and httexi to generate those tests results with recent tex4ht. 2020-10-25 Patrice Dumas @displaymath keep strings as is and add to coverage tests * tp/Texinfo/Convert/HTML.pm (_convert): increment 'math' context for @displaymath. * tp/Texinfo/Convert/Text.p (_convert): set code option for Texinfo::Common::block_commands raw. * tp/t/02coverage.t, tp/tests/coverage_macro.texi, tp/tests/*/res_parser/*: add @displaymath in coverage tests. 2020-10-25 Patrice Dumas Add a tree transformation to add missing menus * tp/Texinfo/Transformations.pm (_get_non_automatic_nodes_with_sections, complete_tree_nodes_menus, complete_tree_nodes_missing_menu, _prepend_new_menu_in_node_section), doc/texinfo.texi (Other Customization Variables), texi2any.pl, tp/t/automatic_menus.t: add complete_tree_nodes_missing_menu transformation. Add systematically the optional $use_sections argument to add a menu entry name using the section name to the functions that can make use of that argument. * tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Structuring.pm (node_menu_of_node): rename node_menu_of_node() as new_complete_node_menu(). * tp/Texinfo/Structuring.pm (get_node_node_childs, new_complete_node_menu), tp/Texinfo/Transformations.pm (complete_node_menu): add get_node_node_childs() in Structuring.pm based on code in Transformations.pm, and use that code in new_complete_node_menu(). * tp/Texinfo/Structuring.pm (node_menu_of_node, section_menu_of_node): remove, optional arguments of the functions should be used instead. 2020-10-24 Patrice Dumas minor changes in comments and documentation 2020-10-24 Gavin Smith Re-add example. * doc/texinfo.texi (Other Customization Variables): Re-add example of TREE_TRANSFORMATIONS with corrected invocation. 2020-10-24 Gavin Smith * doc/texinfo.texi (HTML Customization Variables, Inserting Math): Document -c HTML_MATH=t4h. 2020-10-24 Gavin Smith * tp/texi2any.pl: Use tex4ht if HTML_MATH is set to 't4h'. 2020-10-24 Patrice Dumas do not mix tex4ht commands STDIN with main script STDIN * tp/init/tex4ht.pm (tex4ht_process_command): use open with "|-" input pipe to launch tex4ht commands to avoid mixing main script STDIN and tex4ht commands STDIN. It is important because when tex fails it reads from STDIN and the input may trigger diverse actions by tex. 2020-10-24 Gavin Smith Reduce example indent for @bsixpaper. * doc/texinfo.tex (@bsixpaper): Set \lispnarrowing to 0.2in. 2020-10-24 Gavin Smith @set dispenvsize small for @bsixpaper. * doc/texinfo.tex (@bsixpaper): Switch some block commands to display with a smaller font. (\verbatim): Respect '@set dispenvsize small'. 2020-10-24 Gavin Smith Documentation of customization variables. * doc/texinfo.texi (HTML Customization Variables, Other Customization Variables): Move INDEX_ENTRY_COLON and MENU_ENTRY_COLON to HTML Customization Variables. Remove commented-out IDX_SUMMARY. Remove example referring to non-existent PLAINTEXINFO variable. Remove USE_NODE_TARGET as it doesn't do anything in the current code. * tp/Texinfo/Common.pm (@variable_string_settables), * tp/Texinfo/Convert/HTML.pm (%defaults): Remove 'USE_NODE_TARGET'. * tp/t/init/t2h_singular.init: Remove commented-out code referring to IDX_SUMMARY. 2020-10-23 Gavin Smith MathJax for TeX code only * tp/Texinfo/Convert/HTML.pm (_convert_math_command) [HTML_MATH=mathjax]: No MathJax if HTML tags in contents, e.g. @math{a@sup{2}} doesn't work. 2020-10-23 Gavin Smith * doc/texinfo.tex (\pagesizes): Increase physical page dimensions by fixed quantities. 2020-10-22 Gavin Smith @bsixpaper * doc/texinfo.tex (@bsixpaper): Add. * tp/Texinfo/Common.pm (%line_commands), * tp/Texinfo/XS/parsetexi/command_data.txt: Add 'bsixpaper'. 2020-10-22 Gavin Smith empty @headitem * tp/Texinfo/XS/parsetexi/api.c (element_to_perl_hash): Always create a contents array for @headitem even if it is empty. * tp/t/21multitable.t (empty_headitem): New test. 2020-10-22 Gavin Smith Only reference MathJax on those pages which require it. * tp/Texinfo/Convert/HTML.pm (%defaults): New value 'element_math' to keep track of whether @math or @displaymath has been seen in current file. (_convert_math_command, _convert_displaymath_command) (output): Set and reset 'element_math'. Process body of file before the header to set 'element_math' correctly. (file_header_informations): Only reference MathJax scripts if 'element_math' is set. (%defaults): New value 'jslicenses_element' to keep track of whether scripts have actually been used in the current output file. (file_header_information): Update 'jslicenses_element'. (_default_end_file): Only output the link to the JS licences page if there were actually JS scripts referenced in the file. 2020-10-21 Gavin Smith * tp/Texinfo/XS/parsetexi/Parsetexi.pm (parser): Warn on unknown conf value. 2020-10-21 Gavin Smith Remove ENABLE_ENCODING setting for parser * tp/Texinfo/Common.pm (%default_customization_values): Remove 'ENABLE_ENCODING'. This was passed indirectly to Texinfo::Convert::Text by Texinfo::Parser, but Texinfo::Parser has not depended on Texinfo::Convert::Text since 2016-07-09. * tp/t/test_utils.pl, tp/t/test_sort.t: Set 'ENABLE_ENCODING' on parser object before sorting indices to maintain consistency in test results. 2020-10-21 Gavin Smith Remove TEST setting for parser * tp/Texinfo/Common.pm (%default_customization_values): Remove 'TEST'. * tp/Texinfo/ParserNonXS.pm (parse_texi_text, parse_texi_file) (parse_texi_line, _end_line): Remove code referring to the TEST setting. This means that the 'input_directory' value is always set and all leading directory components will be removed from the input file name in messages. * tp/Texinfo/Convert/HTML.pm (_load_htmlxref_files): Make adding the input directory to the search path for htmlxref.cnf conditional on TEST. 2020-10-21 Gavin Smith nodes_tree conditions * tp/Texinfo/Structuring.pm (nodes_tree): Remove conditions about external manuals in node up pointer. These conditions appeared to be ineffective due to a different check for menus on the up node preventing execution of a block of code. Combine other conditions. No functional changes intended. 2020-10-21 Gavin Smith * tp/Texinfo/Structuring.pm (nodes_tree): Warn about multiple @menu's regardless of value of SHOW_MENU. Edit comments. Combine conditions (with no functional changes intended). 2020-10-20 Gavin Smith * tp/tests/run_parser_all.sh: Don't pass -c SHOW_MENU=1 to texi2any. 2020-10-20 Gavin Smith SHOW_MENU=1 for TEXI2HTML=1. * tp/Texinfo/Convert/HTML.pm (_set_variables_texi2html): Set SHOW_MENU to 1. 2020-10-20 Gavin Smith Set MENU_ENTRY_COLON back to :. * tp/Texinfo/Convert/HTML.pm (%defaults): Change 'MENU_ENTRY_COLON' back from '' to ':'. If somebody specifies '-c SHOW_MENU=1', they probably want something that looks more like the Info output. ':' was the default setting until 2019-02-10. 2020-10-20 Gavin Smith Don't add menus in HTML.pm. * tp/Texinfo/Convert/HTML.pm (_convert): Remove code to add a menu to a node where there wasn't one. Since SHOW_MENU now has the value section-toc by default, a menu is not necessary in a node for inferior nodes to be accessible. If adding menus is wanted as a feature for HTML, this may be better done in non-format-specific code (e.g. with TREE_TRANSFORMATIONS). 2020-10-20 Gavin Smith Warning only for menu missing node. * tp/Texinfo/Structuring.pm (nodes_tree): Use a warning instead of an error for the message, "node `%s' lacks menu item for `%s' despite being its Up target". 2020-10-20 Gavin Smith No automatic menu if node has explicit pointers. * tp/Texinfo/Convert/Plaintext.pm (_convert) : Check if extra arguments were given to @node, and if they were, do not generate a menu if one was missing. 2020-10-20 Gavin Smith * util/htmlxref.cnf (tar): Fix. 2020-10-19 Gavin Smith class="texi-manual" * tp/Texinfo/Convert/HTML.pm (_convert_xref_commands): Set class="texi-manual" on links to other Texinfo manuals. 2020-10-18 Gavin Smith Manual revisions. * doc/texinfo.texi: Docbook -> DocBook throughout. (Overview): Reword slightly. (Texinfo Document Structure): Remove node self-reference. 2020-10-18 Philipp Klaus Krause (tiny change) const char * * info/filesys.c (filesys_error_string), * install-info/install-info.c (ensure_dirfile_exists): Store return value of strerror in a const char * variable. 2020-10-18 Gavin Smith * doc/texinfo.texi (Top Node Example): Merge into parent. 2020-10-18 Gavin Smith Reorder nodes. * doc/texinfo.texi (Texinfo Document Structure, Writing a Node): Re-order. 2020-10-18 Gavin Smith Document SHOW_MENU changes. * doc/texinfo.texi (Other Customization Variables) : Explain '1' and 'sectiontoc' settings. (Invoking texi2any): Move '@vindex HEADERS' here. (Writing a Node): Take out material about menus and detailed menus. (Master Menu Parts, Top Node): Move material about menus here. Use consistent terminology re "master menu" and "detailed menu". 2020-10-18 Gavin Smith * tp/texi2any.pl: Move a line. 2020-10-18 Gavin Smith End paragraph for @displaymath. * tp/Texinfo/Common.pm (%close_paragraph_commands), * tp/Texinfo/XS/parsetexi/commands.c (close_paragraph_command): Add @displaymath. * tp/Texinfo/Convert/HTML.pm (_convert_displaymath_command): Wrap output in a
. 2020-10-17 Gavin Smith Document @displaymath and HTML_MATH. * doc/texinfo.texi (Inserting Math, Command List): Document @displaymath and options for HTML_MATH. 2020-10-17 Gavin Smith @displaymath for docbook * tp/Texinfo/Convert/DocBook.pm (_convert): Wrap output for @displaymath in and . 2020-10-16 Gavin Smith * doc/texinfo.texi (Info Format FAQ): New node. 2020-10-16 Gavin Smith * tp/t/16raw.t (displaymath): New test. 2020-10-16 Gavin Smith * tp/Texinfo/Convert/HTML.pm (_mini_toc): Add bullets to list and remove section numbers. 2020-10-15 Gavin Smith @displaymath for HTML. * tp/Texinfo/Convert/HTML.pm (_convert_displaymath_command): New function. 2020-10-15 Gavin Smith * tp/Texinfo/XS/parsetexi/Parsetexi.pm: Remove reference to line numbers in ParserNonXS.pm. 2020-10-15 Gavin Smith Add @displaymath. * tp/Texinfo/Common.pm (%block_commands, %raw_commands), * tp/Texinfo/XS/parsetexi/command_data.txt: Add 'displaymath'. It is treated like @verbatim by default. 2020-10-15 Gavin Smith @displaymath and \frac * doc/texinfo.tex (@displaymath): Implement. * doc/texinfo.tex (\frac): Provide. 2020-10-14 Gavin Smith HTML_MATH, MATHJAX_SCRIPT and MATHJAX_SOURCE * doc/texinfo.texi (HTML Customization Variables): Add HTML_MATH. (MathJax Customization Variables): Add MATHJAX_SCRIPT and MATHJAX_SOURCE along with guidance for using these. 2020-10-14 Gavin Smith * doc/texinfo.texi (Customization Variables for @-Commands): Remove @contents and @shortcontents, as it is not meaningful to set these from the command line, even if they are viewed as settings internally. 2020-10-14 Gavin Smith Document JS_WEBLABELS and JS_WEBLABELS_FILE. * doc/texinfo.texi (HTML Customization Variables): Add JS_WEBLABELS and JS_WEBLABELS_FILE. * NEWS: Same. 2020-10-14 Gavin Smith Manual revisions. * doc/texinfo.texi (History, Reference Implementation): Merge the latter into the former. Remove reference to removed 'util/texi2html' script. * TODO: Remove some install-info points that will never be done (by install-info). * tp/Texinfo/Structuring.pm: Remove reference to removed value. 2020-10-14 Gavin Smith Manual revisions. * doc/texinfo.texi (Pointer Validation, Invoking texi2any): Merge the former into the latter. 2020-10-14 Gavin Smith Change warning messages. * tp/Texinfo/Structuring.pm (nodes_tree): Reword warning messages. 2020-10-14 Gavin Smith * README-hacking: Add a file to update the copyright year of. * tp/texi2any.pl: Update copyright year. 2020-10-13 Gavin Smith URL line breaking. * doc/texinfo.tex (\urefbreak): Temporarily set \pretolerance to a negative value. \urefallowbreak: Increase value of penalty. * doc/texinfo-tex-test.texi (URL line breaking): Add another example. (Nested URL): New section. Substandard URL line breaking reported by Werner Lemberg. 2020-10-13 Gavin Smith JS_WEBLABELS and JS_WEBLABELS_FILE * tp/Texinfo/Common.pm (@variable_string_settables): Add JS_WEBLABELS and JSWEBLABELS_FILE. * tp/Texinfo/Convert/HTML.pm (%defaults): Provide default values. (_do_jslicenses_file): Create this file according to the values of these variables. (_default_end_file): Output link to jslicense file depending on the values of these variables. 2020-10-13 Gavin Smith * TODO: Update with some bugs. 2020-10-13 Gavin Smith * doc/info-stnd.texi (infokey format): Add note that you can't effectively bind C-c. 2020-10-13 Gavin Smith * doc/info-stnd.texi (The Echo Area): Remove mention of using ? for completions. 2020-10-12 Patrice Dumas Add mathjax test in layout coverage tests * tp/tests/layout/list-of-tests: add formatting_mathjax. 2020-10-12 Gavin Smith Fix test suite for non-XS. * tp/Texinfo/ParserNonXS.pm (_open_in): Use ':utf8' layer for UTF-8 input. This was leading to errors in the test suite for Shift-JIS files. This reverses change on 2020/05/14. 2020-10-12 Gavin Smith Remove MINI_TOC variable, using SHOW_MENU instead. * tp/Texinfo/Common.pm (@variable_string_settables): Remove MINI_TOC. * tp/Texinfo/Convert/HTML.pm (%defaults): Remove MINI_TOC value, and set SHOW_MENU to 'sectiontoc' to mean the same thing. (_convert): Make showing menu and generating a "mini-TOC" mutually exclusive, controlled through the SHOW_MENU setting. * tp/Texinfo/Convert/HTML.pm, * tp/Texinfo/Convert/Structuring.pm, * tp/Texinfo/ParserNonXS.pm, * tp/Texinfo/XS/parsetexi/Parsetexi.pm: Check whether SHOW_MENU has value '1' instead of whether it is true. * tp/tests/run_parser_all.sh: Do not pass '-c MINI_TOC=0' option. 2020-10-12 Gavin Smith * tp/Texinfo/XS/parsetexi/Parsetexi.pm (parser): Check for undef DEBUG. 2020-10-12 Gavin Smith * doc/texinfo.texi (Writing a Menu, Customization Variables for @-Commands) (Command List), * doc/refcard/txirefcard.tex Remove @validatemenus. * tp/Texinfo/XS/Makefile.am (command_ids.h): Use gawk instead of awk. Avoid discouraged "$p" usage, using "$(p)" instead. * tp/Texinfo/XS/configure.ac: Check for gawk. 2020-10-12 Gavin Smith * NEWS: Update. 2020-10-12 Gavin Smith MATHJAX_SCRIPT and MATHJAX_SOURCE * tp/Texinfo/Common.pm (@variable_string_settables): Add MATHJAX_SCRIPT and MATHJAX_SOURCE. Give variables in alphabetical order. * tp/Texinfo/Convert/HTML.pm (output) Set MATHJAX_SCRIPT and MATHJAX_SOURCE to default values and use their values in the jslicenses file. (_file_header_informations): Use value of MATHJAX_SCRIPT. 2020-10-12 Gavin Smith MathJax fixes. * tp/Texinfo/Convert/HTML.pm (_file_header_informations): Use math2jax_process instead of 'math' class. (Suggestion from Patrice.) (_convert_math_command): Add 'math' class to elements for math unless we are using mathjax, in which case use 'math2jax_process'. (output): Set 'jslicenses' earlier to ensure the jslicense link is output. (default_end_file): Wrap jslicense link in . 2020-10-12 Gavin Smith Remove SILENT variable. * tp/Texinfo/Common.pm (@command_line_settables): Remove 'SILENT' as it is not used anywhere, and sort the variables in alphabetical order. * tp/texi2any.pl: Do not set SILENT for --silent option. 2020-10-12 Gavin Smith Move index entries for customization variables. * doc/texinfo.texi (Customization Variables and Options): (Invoking texi2any): Move @vindex entries to Invoking texi2any node. 2020-10-11 Gavin Smith Wipe res_parser etc. * tp/tests/run_parser_all.sh: For -copy option, wipe the contents of res_* directories before copying files over, so that leftover files do not cause test failures after running "make copy-tests". 2020-10-11 Gavin Smith Remove texi2html conditionality in tests. * tp/tests/coverage_macro.texi: Remove some "@ifset texi2html" conditions. 2020-10-11 Gavin Smith Remove "not used" variables. * tp/Texinfo/Common.pm (@variable_settables_not_used) (@formats_settable, @secondary_customization_variables) (_customization_variable_classes): Remove. * doc/texinfo.texi, tp/init/chm.pm, tp/Texinfo/Convert/HTML.pm: Remove mention of COMPLETE_IMAGE_PATHS, SPLIT_INDEX and TOC_FILE variables. 2020-10-11 Gavin Smith * tp/tests/layout/list-of-tests: Pass -c TEXI2HTML=undef to some tests to avoid 'texi2any' flag being reset by normalize_config. 2020-10-11 Gavin Smith * tp/texi2any.pl (normalize_config): Make '-c HTML_MATH=l2h' a synonym for '-c L2H=1'. 2020-10-11 Gavin Smith * tp/texi2any.pl (normalize_config): New function to centralize special treatment of config vars, including TEXINFO_OUTPUT_FORMAT, TEXI2HTML and L2H. 2020-10-10 Gavin Smith MathJax and jslicenses file. * tp/Texinfo/Convert/HTML.pm (_do_jslicenses_file): New function. (output): Call it. Add files to $self->{'jslicenses'} if INFO_JS_DIR or HTML_MATH is set. (_convert_math_commands): No warning if HTML is not used. (_default_end_files): Only refer to mathjax files if HTML_MATH is set to 'mathjax'. Use tex-svg.js instead of tex-chtml.js. * tp/Texinfo/Common.pm (open_out), * tp/Texinfo/Convert/HTML.pm (_default_element_footer, output) Remove commented-out or debugging statements. 2020-10-08 Gavin Smith MathJax fixes. * tp/Texinfo/Convert/HTML.pm (_convert_math_command): Use around text to be processed by MathJax. (_file_header_informations): Set MathJax options to include the contents of
 elements (used for @display).  Only process inside
	elements with class 'math' by adding attribute to  element.

2020-10-07  Gavin Smith  

	Implement MathJax support.

	* tp/Texinfo/Common.pm (@variable_string_settables): Add 'HTML_MATH'.
	* tp/Texinfo/Convert/HTML.pm (%style_attribute_commands):
	Remove 'math'.
	(_convert_math_command): Uncomment.  Check HTML_MATH variable, and
	if set, wrap output in '\(' and '\)'.  If neither HTML_MATH nor
	L2H is set, issue a warning.
	(_file_header_informations):  Add