diff -Nru texinfo-5.1.dfsg.1/ChangeLog texinfo-5.2.0.dfsg.1/ChangeLog --- texinfo-5.1.dfsg.1/ChangeLog 2013-03-12 22:47:57.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/ChangeLog 2013-09-26 22:50:04.000000000 +0000 @@ -1,3 +1,659 @@ +2013-09-26 Karl Berry + + * Version 5.2. + +2013-09-19 Eli Zaretskii + + * info/info-utils.c (fncmp): For MS-DOS/MS-Windows, a new function + for comparing file names disregarding letter-case and + forward/backslash differences; for Posix platforms, a macro that + expands into a strcmp call. + (info_namelist_add): Use fncmp instead of strcmp. + +2013-09-13 Karl Berry + + * pretest 5.1.90. + +2013-09-12 Karl Berry + + * doc/texinfo.tex (\inlinefmtifelse, \inlineifset, \inlineifclear): + new commands. + * doc/refcard/txirefcard.tex, + * doc/texinfo.texi (Inline Conditionals), + (@t{@@set @@clear @@value}), + (@t{@@inlineifset @@inlineifclear}), + (Command Summary): document them. + +2013-09-11 Karl Berry + + * doc/texinfo.tex (\onepageout): call new macro + \commonheadfootline to make the headline/footline vboxes, + which in turn calls \texinfochars. + (\texinfochars): new macro; should reset all definitions done by + @tex, but have skipped some for now out of laziness, since no + one has noticed. + (\expandablevalue): change formatting; note that _ in + an @value string fails in non-typewriter output, + and has been for a long time. + (\activetilde, \activehat, \activeless, \activegtr): factor + out the normal Texinfo definitions, now also used in \texinfochars. + + All this due to a bug report from Charlie Zender where ' in the + @settitle caused failures when a page break occurred inside @tex, + help-texinfo 08 Sep 2013 16:26:16. + +2013-09-10 Karl Berry + + * doc/texinfo.texi (Two Arguments, Three Arguments): + some node name requirements apply to arg#2 and arg#3 too. + (Inline Conditionals): TeX can't properly deal with + newline-delimited commands inside @inline*. + +2013-09-09 Karl Berry + + * NEWS, + * doc/texinfo.texi (Node Line Requirements, Menu Parts, + Cross Reference Parts, Other Customization variables): + mention Info warnings and INFO_SPECIAL_CHARS_WARNING. + Other small tweaks. + +2013-09-07 Patrice Dumas + + * tp/texi2any.pl: handle plaintext as other formats to set + expanded formats. + * tp/Texinfo/Parser.pm: accept matching braces in ignored + @inline* commands. + * tp/Texinfo/Common.pm(@variable_string_settables), + tp/Texinfo/Convert/Info.pm(_node), tp/Texinfo/Convert/Plaintext.pm: + add the INFO_SPECIAL_CHARS_WARNING customization variable, if + false do not output warning messages on info characters in menu, + cross-refs and node names. + Use pending word in ref formatting to construct checked cross ref + and node names. + +2013-09-06 Patrice Dumas + + * tp/Texinfo/Parser.pm, + tp/Texinfo/Convert/HTML.pm(_convert_inline_command), + tp/Texinfo/Convert/Plaintext.pm, tp/Texinfo/Convert/DocBook.pm, + tp/Texinfo/Convert/Text.pm, tp/Texinfo/Common.pm, + tp/Texinfo/Convert/TexinfoXML.pm: + implement @inlinefmtifelse, @inlineifclear, @inlineifset. + +2013-09-01 Patrice Dumas + + * tp/Texinfo/Convert/Info.pm (_node): warn if node name contains + a comma. + +2013-08-31 Patrice Dumas + + * tp/Texinfo/Convert/Plaintext.pm: warn when cross-reference + name contains a :, or node name contains a problematic character. + Warn similarly when a menu entry name contains a :, or when the + menu entry node contains a problematic character. + +2013-08-27 Patrice Dumas + + * tp/Texinfo/Parser.pm: add \r to regexps to exclude it when + excluding newlines. Report from Karl. + +2013-08-26 Karl Berry + + * util/texi2dvi (run_bibtex): only run biber if + is present in the bcf file. + Allow override with BIBER envvar. + Report from Jozef Vesely, 26 Aug 2013 14:26:26. + +2013-08-26 Patrice Dumas + + * tp/Texinfo/Convert/Plaintext.pm (_align_lines): correct byte count + in flushleft and center. + +2013-08-24 Karl Berry (tiny change) + + * util/texi2dvi (run_bibtex): run biber if .bcf file exists. + (xref_files_changed): check for biblatex rerun warning. + Report from Jozef Vesely, 24 Aug 2013 12:15:40. + +2013-08-24 Patrice Dumas + + * tp/Texinfo/Convert/Info.pm (output), + tp/Texinfo/Convert/Plaintext.pm: collect text before first node + and output the same header for every Info output files using that + text. Based on a report from Juri Linkov and analysis of Sergey. + Thread started at + http://lists.gnu.org/archive/html/bug-gnu-emacs/2013-04/msg00039.html + +2013-08-22 Karl Berry + + * info/*: update copyright notices. + + * info/infomap.c (default_{emacs,vi}_like_info_keys), + * info/session.c (info_display_file_info): rename from + info_display_file. + * NEWS: mention display-file-info. + * doc/info-stnd.texi (Invoking Info): mention new debugging level, + more about -f. + (Miscellaneous Commands): document =. + * info/info.c (info_short_help): mention -1 for all debugging. + +2013-08-20 Sergey Poznyakoff + + * info/info.h (add_pointer_to_array): Use x2nrealloc. + Remove sixth argument. All uses updated. + (maybe_free): Remove. Use free() instead. All uses + updated. + +2013-08-20 Karl Berry + + * configure.ac (AM_INIT_AUTOMAKE): require 1.14 for info-in-builddir. + Noted by Patrice. + + * doc/texinfo.tex (\sectionheading): must do + \global\let\prevsectiondefs, since we're inside a group. + Otherwise, \thissection is lost in PDF output if an xref intervenes + due to the color \mark. Report from Thien-Thi Nguyen, + 16 Feb 2013 12:06:17. + +2013-08-20 Sergey Poznyakoff + + Check for I/O errors when dumping nodes to file. + Use a general-purpose interface for storing and looking up in + a list of names. + + * info/info-utils.c (info_namelist_add) + (info_namelist_free): New functions. + * info/info-utils.h: Likewise. + * info/info.c (namelist_add,namelist_free): Move to + info-utils.c, redeclare as extern. + (all_files): Update accordingly. + * info/session.c [VERBOSE_NODE_DUMPING]: Replace with + calls to debug. + (write_node_to_stream) + (dump_node_to_stream): Return error code. + (dump_nodes_to_file): Check for I/O errors, + (dumped_already): Change data type to struct + info_namelist_entry *. + (dumped_already_index, dumped_already_slots): Remove. + (initialize_dumping): Rewrite. + +2013-08-20 Sergey Poznyakoff + + Bind display-file to C-g in vi mode. + + * info/infomap.c (default_vi_like_info_keys): Bind display-file to + C-g and abort to C-c. + * info/session.c (info_gc_file_buffers): Fix null pointer dereference. + * NEWS: Update. + +2013-08-19 Karl Berry + + * doc/texinfo.texi (@t{@@unnumbered @@appendix}): mention special + Docbook output for acknowledgements, colophon, etc. + +2013-08-19 Sergey Poznyakoff + + New interactive command "display-file". + + * info/session.c (info_display_file): New command. + * info/infomap.c: Bind '=' to display-file. + +2013-08-19 Sergey Poznyakoff + + Don't return dir entries when called with -a. Fix interaction of + -a and --output. + + * info/session.c (info_follow_menus): Add debugging output + on level 3. + In strict mode, return NULL if no matching node was found (by + default initial node is returned). + (dump_nodes_to_file,dump_node_to_file): Take flags in the + last parameter. If DUMP_APPEND is set, append to the output + file instead of overwriting it. + * info/session.h (DUMP_APPEND, DUMP_SUBNODES): New flags. + * info/filesys.c (info_file_find_next_in_path): Improve + debugging output + * info/info.c (all_files): Set DUMP_APPEND for all but the + first call to dump_node_to_file. + (main): Initialize dump_subnodes. + +2013-08-18 Karl Berry + + * doc/texinfo.texi (Image Syntax): a bit more about Docbook. + + * doc/info-stnd.texi (Invoking Info), + (Variables): editing throughout. + * info/info.c (info_short_help): use MANUAL instead of FILENAME + for -f. Report from Arne Babenhauserheide, + 11 Apr 2013 11:05:37. + +2013-08-18 Sergey Poznyakoff + + Improve info -a: process manpages, filter out duplicate names. + + * info/info-utils.c (info_reference_free): New function. + (info_free_references): Use info_reference_free. + * info/info-utils.h (info_reference_free): New proto. + * info/info.c (info_find_matching_files): Return + REFERENCE **. + (namelist_add,namelist_free): New static functions. + (all_files): Select unique file names. + * info/session.c (info_split_window) + [SPLIT_BEFORE_ACTIVE]: Declare pagetop. + (info_menu_or_ref_item): Use info_reference_free. + (info_follow_menus): Fix processing in strict mode. + + * info/filesys.c: Remove unused variable. + * info/filesys.h (forget_file_names): New proto. + * info/indices.c (apropos_in_all_indices): Use info_reference_free + to free a pointer to REFERENCE. + (info_virtual_index): Remove unused variable. + (allfiles_create_node): Second argument is REFERENCE **. + * info/indices.h (allfiles_create_node): Change signature. + * info/man.c (manpage_xrefs_in_binding): Use info_reference_free. + * info/nodes.c: Include tag.h + * info/nodes.h (TAG): Change type to size_t. + * info/window.h (window_log_to_phys_line): New proto. + +2013-08-17 Sergey Poznyakoff + + The -x option takes a numeric argument. + + * NEWS: Document -a. + * doc/info-stnd.texi: Document existing debugging levels. + Document -x -1. + * info/info.c (debug_level): Change type to unsigned. + (long_options, short_options): -x now requires argument. + (set_debug_level): New function. + (main): Change -x handling. + * info/info.h (debug_level): Change declaration. + + Minor fixes: + + * info/echo-area.c (ea_possible_completions) + [SPLIT_BEFORE_ACTIVE]: Declare start here. + (ea_scroll_completions_window): Remove unused variable. + (pause_or_input): Likewise. + +2013-08-17 Sergey Poznyakoff + + Fix -a functionality. + + * info/info.c (all_files): Clear cached data to avoid + reading the same file again. + +2013-08-16 Karl Berry + + * doc/texinfo.texi (Conventions): remove statement about + CRLF not being recognized. It seems that both TeX and tp + are agnostic about line endings. + Report frmo vincent.belaiche@gmail.com, 21 Apr 2013 19:02:39. + + * README, + * INSTALL, + * tp/TODO, + * doc/texinfo.texi, + * doc/texi2oldapi.texi, + * doc/refcard/txicmdcheck, + * doc/refcard/txirefcard.tex, + * doc/refcard/txivarcheck, + * doc/Makefile.am, + * util/tests/txitextest: texinfo.txi -> texinfo.texi. + +2013-08-15 Karl Berry + + * doc/texinfo.texi (@settitle): typo (missing "to"), report from + Alex Sassmannshausen, 26 Apr 2013 14:21:38. + + * doc/texinfo.texi (Indicating): rewrite intro to avoid implying + that users can change at will what Texinfo's commands output. + (Defining New Texinfo Commands): and avoid implying that macros + should be used to redefine existing commands. + Thread with Robert Dodier, starting 26 Apr 2013 09:33:42. + + * doc/texinfo.texi: @setfilename texinfo.info, not just + texinfo, per automake 1.14 complaint. + + * configure.ac (AM_INIT_AUTOMAKE): add info-in-builddir, + per automake 1.14 complaint. + + * doc/Makefile.am (info_TEXINFOS), + * doc/texinfo.texi: rename from doc/texinfo.texi, + per automake 1.14 deprecation. + +2013-08-15 gettextize + + * gnulib/m4/po.m4: Upgrade to gettext-0.18.3. + * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.18.3. + +2013-08-15 Karl Berry + + * install-info/install-info.c (ensure_dirfile_exists): do not + translate the ^_ byte; the Italian translation missed it, + and it makes more sense to consider it a keyword anyway. + Report from Thien-Thi Nguyen, 17 May 2013 11:16:41. + +2013-08-13 Karl Berry + + * doc/info-stnd.texi (Variables, Searching Commands): tweak + wording of search-skip-screen descriptions, etc. + +2013-08-12 Patrice Dumas + + * tp/init/chm.pm: sort indices names to get a reproducible output. + Report by Karl. + * tp/Texinfo/Structuring.pm: set @command_unnumbered for the toplevel + @-command if not @top. Report from Karl. + +2013-08-11 Karl Berry + + * doc/texinfo.txi (Conventions): add item about form feed processing. + +2013-08-11 Patrice Dumas + + * tp/Texinfo/Convert/HTML.pm(output): sort when processing renamed + nodes to have a reproducible error output. Report by Karl. + * Texinfo/Convert/Converter.pm(_informative_command_value, + _informative_command): do not set informative command value if + value is not defined. + +2013-08-10 Patrice Dumas + + * tp/Texinfo/Convert/Line.pm, Texinfo/Convert/Paragraph.pm: preserve + spaces coming from the document. + Do not break words at non-breaking spaces. + * Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t: correctly close =over + with a =back, as reported by newer Pod::Simple. Report by Karl. + Mark as TODO the test that changes depending on Pod::Simple version. + Report by Karl. + * tp/Texinfo/Parser.pm(_next_text): add a end of line at the end of + files when there is one missing. Found out in + https://bugzilla.redhat.com/show_bug.cgi?id=950644 + * tp/Makefile.am: reorder alphabetically test input files. + Distribute missing test files. + * tp/t/test_utils.pl(test): allow for marking tests as TODO. Use + this facility to mark a test of all_spaces that fails on perl 5.10 + with NEL not being treated the same as in perl 5.14. + +2013-08-09 Patrice Dumas + + * tp/Texinfo/Convert/DocBook.pm(_protect_text): convert + formfeed to space instead of simply removing it. + +2013-08-09 Karl Berry + + * doc/texinfo.tex (\codedashfinish): include an explicit + space after the \let=, for @code{- a}. + Report from Vincent Lefevre, 7 Aug 2013 04:07:10. + +2013-08-08 Patrice Dumas + + * tp/Texinfo/Convert/Plaintext.pm: output ^L in ignorable + spaces. + +2013-08-07 Patrice Dumas + + * tp/Texinfo/Convert/HTML.pm(_default_protect_text), + tp/init/html32.pm: protect ^L with an entity. + * tp/Texinfo/Convert/Plaintext.pm: output ^L between + paragraphs. + +2013-08-06 Patrice Dumas + + * tp/Texinfo/Convert/TexinfoXML.pm(_xml_attributes): + do not protect \f and \ in spaces or trailingspaces attributes. + * tp/Texinfo/Convert/DocBook.pm(_protect_text): remove + form-feed from output, as it is not allowed in XML. + +2013-08-06 Patrice Dumas + + * Texinfo/Parser.pm: keep form-feed in @set value. + * util/texinfo.dtd, util/txixml2texi.pl, + tp/Texinfo/Convert/TexinfoXML.pm(_protect_text): output form-feed + as entity in XML, when possible. Handle form-feeds in + txixml2texi.pl too. + * tp/Texinfo/Convert/TexinfoXML.pm(_xml_attributes), + util/texinfo.dtd, util/txixml2texi.pl: protect form-feed in + attributes by using an entity that becomes a literal \f. + Double \ in attributes too. + +2013-08-06 Karl Berry + + * doc/texinfo.tex (\smartitaliccorrection): also omit italic + correction if next command is @. or @comma. + Report from Vincent Lefevre, 5 Aug 2013 02:47:31. + +2013-08-06 Patrice Dumas + + * Texinfo/Parser.pm: form-feed in paragraph stops the current + paragraph. For that consider \f to be a separator. + +2013-08-04 Patrice Dumas + + * Texinfo/Parser.pm: keep form-feed in macro arguments. + +2013-07-29 Patrice Dumas + + * Texinfo//Common.pm (enumerate_item_representation), + * Texinfo/Parser.pm: + handle correctly @enumerate specification greater than 10. + Report from Dmitry Shachnev. + +2013-06-28 Karl Berry + + * contrib/perldoc-all/GNUmakefile (texi_pod_doc_incl): remove X<...> + pod constructs, so we get good filenames. For perl-5.18.0. + +2013-06-25 Patrice Dumas + + * tp/Texinfo/Convert/HTML.pm: use "prev" for rel attribute and not + "previous", as prev is the preferred one. Report by Tom Tromey. + +2013-06-21 Karl Berry + + * doc/texinfo.tex (\codedash): use \futurelet. + (\codedashfinish): new definition for - inside @code et al., + which does not allow a break after a - when it is preceded or + followed by another -, or when it is first. + (\code): initialize \codedashprev for the - as first char case. + Report from Arnold Robbins, 04 Apr 2013 01:30:28 -0600. + + * texi2dvi (run_makeinfo): more verbose error message if our + test reading texinfo.tex fails. Suggestion from Vincent B, + 25 May 2013 23:10:58. + +2013-06-08 Sergey Poznyakoff + + Skip the current screen when repeating searches. + + * NEWS: Update. + * doc/info-stnd.texi: Document the -a (--all) option and + the search-skip-screen. Mention '}' and '{' commands when + discussing repeated searches. + * doc/version-stnd.texi: Update. + * doc/version.texi: Update. + * info/session.c (search_skip_screen_p): New variable. + (info_search_1): Take additional argument, supplying the + starting position for the search. All uses changed + (DFL_START): New define. + (info_search_next,info_search_previous): If search_skip_screen_p + is set, skip the lines displayed on the screen. + * info/variables.c (info_variables): New variable + "search-skip-screen". + * info/variables.h (min_search_length): New proto. + +2013-06-07 Karl Berry + + * doc/texinfo.txi (Preparing for @TeX{}): texinfo.cnf + is a "configuration" file, other wording tweaks. + +2013-06-07 Sergey Poznyakoff + + Handle "index" tag. + * info/tag.c (tags_expand): Accept NULL handler as a no-op. + (tagtab): Add an entry for "index". + +2013-04-29 Stefano Lattarini (tiny change) + + * tp/Makefile.am, + * tp/tests/Makefile.am: use $(MKDIR_P) instead of $(mkdir_p). + +2013-04-16 Sergey Poznyakoff + + Restore the cursor position when going to the Up node. + + * info/session.c (info_win_find_node): New static. + (info_handle_pointer): When handling Up pointer, + restore the point (cursor position) as well. + +2013-04-16 Sergey Poznyakoff + + Implement the --all (-a) option as per bug #38168. + + * info/infopath.c: New file. + * info/Makefile.am (ginfo_SOURCES): Add new file. + * info/tilde.c (tilde_expand_word): Argument is const char *. + All uses changed. + * info/info.c (all_matches_p): New variable. + (long_options, short_options): New option --all (-a). + (single_file, all_files): New functions. + (main): Handle new option. + * info/nodes.c (forget_info_file): Now extern. + * info/nodes.h (forget_info_file): New proto. + * info/indices.c (create_virtindex_file_buffer): Allow for + NULL as the filename. + (allfiles_create_node, info_all_files): New functions. + * info/dir.c (maybe_build_dir_node): Use infopath_first and + infopath_next to iterate over the INFOPATH. + * info/filesys.c: Remove infopath functions. See infopath.c + (info_file_in_path, info_file_find_next_in_path): New functions. + * info/indices.h (allfiles_create_node): New prototype. + * info/filesys.h (infopath): Remove extern. + (infopath): New prototype. + (zap_infopath): Rename to infopath_clear. + (info_add_path): Rename to infopath_add. + (infopath_init,infopath_first,infopath_next) + (info_file_find_next_in_path): New prototypes. + (INFOPATH_INIT): New constant. + * info/session.c (info_read_and_dispatch): Do not set + quit_info_immediately, it is done by info_quit. + (info_follow_menus): Take an additional argument. + (info_quit): Set quit_info_immediately. + * info/session.h (quit_info_immediately): Extern. + (info_follow_menus): Change signature. + * info/infomap.c: Bind `C-x f' in Emacs mode, and `:a' in Vi mode + to info_all_files. + + * doc/info-stnd.texi: Document the --all option. + +2013-04-13 Sergey Poznyakoff + + * info/infomap.c: Fix indentation and style. + +2013-04-13 Sergey Poznyakoff + + Implement new options for standalone info. + + * info/info.c (debug_level): New variable. + (long_options): New options: -x (--debug) and -v (--variable). + (short_options): Update accordingly. + (main): Handle the new options. + (vinfo_debug, info_debug): New functions. + * info/info.h (info/info.h): New exern. + (debug): New macros. + (vinfo_debug, info_debug): New prototypes. + (set_variable_to_value): Change the return type. + * info/variables.c (set_variable_to_value): Compile + unconditionally. Return 0/-1 depending on the success/failure of + the operation. + * info/filesys.c: Print additional debugging info. + * info/infomap.c: Check the return from set_variable_to_value. + * doc/info-stnd.texi: Document new options. + * doc/version.texi: Update. + * doc/version-stnd.texi: Update. + * NEWS: Update. + +2013-04-07 Patrice Dumas + + * configure.ac: set DIFF_A_OPTION to -a, and not DIFF_U_OPTION. + * tp/Texinfo/Convert/Plaintext.pm: do not consider an empty line + at the end of a preformatted format as counting as an empty line + in order to output an empty line following the preformatted format + too. Karl report. + * tp/Texinfo/Convert/DocBook.pm: add support for special docbook + sectioning elements with special node names and @unnumbered. + Feature asked for by Aharon Robbins, syntax by Karl. + +2013-03-31 Sergey Poznyakoff + + * info/indices.c (info_next_index_match): Fix improper string + indexing. Based on report from Eli Zaretskii. + +2013-03-31 Sergey Poznyakoff + + Fix \b[...\b] tag processing. + + * info/nodes.h (TAG) : New member. + * info/nodes.c (get_nodes_of_info_file) + (get_nodes_of_tags_table): Initialize TAG->content_cache. + (info_node_of_file_buffer_tags): Use cached contents if + available. Call tags_expand upon the first access to that + node. + (free_info_tag): Free content_cache. + * info/tag.c (tag_image): Fix state machine. Ignore '='s, + unless in state_kw. + (tags_expand): Change return value and signature. Allocate + memory only if at least one tag is actually expanded. + * info/tag.h (tags_expand): Change prototype. + * info/filesys.c (filesys_read_info_file): Do not call + tags_expand on the entire buffer. + +2013-03-20 Karl Berry + + Doc tweaks. + * NEWS: more technalities about the macro-expansion incompatibility. + * README-hacking: call change_perl_modules_version.sh for release. + * doc/texinfo.txi: wording around PDF items. + * doc/texinfo.tex: typos in comment. + +2013-03-20 Eli Zaretskii + + * Makefile.am (SUBDIRS): If HOST_IS_WINDOWS, add 'info' to SUBDIRS + even if HAVE_TERMLIBS is false. + * configure.ac : Don't bother warning on MinGW as + well. + +2013-03-20 Karl Berry + + * man/Makefile.am (man_rule_0): set EXEEXT="" since it's + no longer an executable. Report from Eli, 20 Mar 2013 20:47:52. + (mi_perl5lib): set up another variable to shorten source lines. + +2013-03-16 Patrice Dumas + + * tp/Texinfo/Parser.pm (_parse_texi): accept the same + character in @value as in @set. + +2013-03-14 Karl Berry + + * maintain/regenerate_cmd_tests.sh, + * tests/run_parser_all.sh, + * tests/many_input_files/tex_l2h.sh: use $0 in some diagnostics. + + * NEWS: mention switch from cvs to svn. + * doc/texinfo.txi (Invoking @t{pod2texi}): svn url instead of cvs + for Perl manual in Texinfo. + * contrib/perldoc-all/perldoc-all.texi: likewise, and turn off + all underfull/overfull messages since we can't do anything about them. + * contrib/perldoc-all/README: 5.16.3. + * contrib/perldoc-all/GNUmakefile (all): set save_size in + environment to avoid TeX overflow. + (install): new target. + * doc/texinfo.tex (\nonfillstart): only reset to \hfuzz=12pt + if it's less than that. + + * README-hacking: tweaks to release wording. + 2013-03-12 Karl Berry * Version 5.1. diff -Nru texinfo-5.1.dfsg.1/INSTALL texinfo-5.2.0.dfsg.1/INSTALL --- texinfo-5.1.dfsg.1/INSTALL 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/INSTALL 2013-08-16 13:50:05.000000000 +0000 @@ -1,8 +1,8 @@ -$Id: INSTALL 5191 2013-02-23 00:11:18Z karl $ +$Id: INSTALL 5320 2013-08-16 13:50:01Z karl $ INSTALL file for texinfo. Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, @@ -37,5 +37,5 @@ * You can create a file texinfo.cnf to be read by TeX when processing Texinfo manuals. For example, you might like to use @afourpaper by default. See the `Preparing for TeX' node in - texinfo.txi for more details. You don't have to create the file if - you have nothing to put in it. + the Texinfo manual for more details. You don't have to create the + file if you have nothing to put in it. diff -Nru texinfo-5.1.dfsg.1/INSTALL.generic texinfo-5.2.0.dfsg.1/INSTALL.generic --- texinfo-5.1.dfsg.1/INSTALL.generic 2013-02-19 22:25:28.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/INSTALL.generic 2013-09-13 16:52:11.000000000 +0000 @@ -12,8 +12,8 @@ Basic Installation ================== - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following + Briefly, the shell command `./configure && make && make install' +should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented diff -Nru texinfo-5.1.dfsg.1/Makefile.am texinfo-5.2.0.dfsg.1/Makefile.am --- texinfo-5.1.dfsg.1/Makefile.am 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/Makefile.am 2013-03-20 23:22:06.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5244 2013-03-20 23:22:05Z karl $ # Makefile.am for texinfo. # Process this file with automake to produce Makefile.in in all directories. # @@ -35,6 +35,11 @@ SUBDIRS += gnulib/lib install-info tp util if HAVE_TERMLIBS SUBDIRS += info +else +# DOS/Windows don't need TERMLIBS to build Info +if HOST_IS_WINDOWS + SUBDIRS += info +endif endif else # All subdirectories. @@ -44,6 +49,11 @@ SUBDIRS += $(native_tools) gnulib/lib if HAVE_TERMLIBS SUBDIRS += info +else +# DOS/Windows don't need TERMLIBS to build Info +if HOST_IS_WINDOWS + SUBDIRS += info +endif endif SUBDIRS += install-info po po_document tp Pod-Simple-Texinfo util \ doc man diff -Nru texinfo-5.1.dfsg.1/Makefile.in texinfo-5.2.0.dfsg.1/Makefile.in --- texinfo-5.1.dfsg.1/Makefile.in 2013-03-12 22:56:42.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/Makefile.in 2013-09-26 23:04:43.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,7 @@ @SET_MAKE@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5244 2013-03-20 23:22:05Z karl $ # Makefile.am for texinfo. # Process this file with automake to produce Makefile.in in all directories. # @@ -29,23 +29,51 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ esac; \ - test $$am__dry = yes; \ - } + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -65,9 +93,13 @@ host_triplet = @host@ @TOOLS_ONLY_TRUE@am__append_1 = gnulib/lib install-info tp util @HAVE_TERMLIBS_TRUE@@TOOLS_ONLY_TRUE@am__append_2 = info -@TOOLS_ONLY_FALSE@am__append_3 = $(native_tools) gnulib/lib -@HAVE_TERMLIBS_TRUE@@TOOLS_ONLY_FALSE@am__append_4 = info -@TOOLS_ONLY_FALSE@am__append_5 = install-info po po_document tp Pod-Simple-Texinfo util \ +# DOS/Windows don't need TERMLIBS to build Info +@HAVE_TERMLIBS_FALSE@@HOST_IS_WINDOWS_TRUE@@TOOLS_ONLY_TRUE@am__append_3 = info +@TOOLS_ONLY_FALSE@am__append_4 = $(native_tools) gnulib/lib +@HAVE_TERMLIBS_TRUE@@TOOLS_ONLY_FALSE@am__append_5 = info +# DOS/Windows don't need TERMLIBS to build Info +@HAVE_TERMLIBS_FALSE@@HOST_IS_WINDOWS_TRUE@@TOOLS_ONLY_FALSE@am__append_6 = info +@TOOLS_ONLY_FALSE@am__append_7 = install-info po po_document tp Pod-Simple-Texinfo util \ @TOOLS_ONLY_FALSE@ doc man subdir = . @@ -121,6 +153,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -169,6 +202,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -721,8 +755,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -733,7 +771,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -887,6 +928,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -986,7 +1028,8 @@ # distribution directory. TEXINFO_TEX = doc/texinfo.tex SUBDIRS = $(am__append_1) $(am__append_2) $(am__append_3) \ - $(am__append_4) $(am__append_5) + $(am__append_4) $(am__append_5) $(am__append_6) \ + $(am__append_7) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -1027,8 +1070,8 @@ $(am__aclocal_m4_deps): config.h: stamp-h1 - @if test ! -f $@; then rm -f stamp-h1; else :; fi - @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.in $(top_builddir)/config.status @rm -f stamp-h1 @@ -1048,13 +1091,12 @@ # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ @@ -1231,10 +1273,16 @@ $(am__post_remove_distdir) dist-tarZ: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) diff -Nru texinfo-5.1.dfsg.1/NEWS texinfo-5.2.0.dfsg.1/NEWS --- texinfo-5.1.dfsg.1/NEWS 2013-03-12 22:56:34.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/NEWS 2013-09-26 23:06:02.000000000 +0000 @@ -1,4 +1,4 @@ -$Id: NEWS 5234 2013-03-12 22:56:31Z karl $ +$Id: NEWS 5382 2013-09-26 23:06:01Z karl $ This NEWS file records noteworthy changes, very tersely. See the manual for detailed information. @@ -22,6 +22,40 @@ http://www.gnu.org/software/texinfo/manual/texinfo/html_node/Document-Permissions.html ------------------------------------------------------------------------------- + +5.2 (26 September 2013) +* Language: + . new commands @inlinefmtifelse, @inlineifset, @inlineifclear, for + more brace-delimited alternatives to the conditional environments. + +* texi2any: + . warns about node names, menu items, and cross-references (but not + index entries) containing problematic characters; can be disabled + with -c INFO_SPECIAL_CHARS_WARNING=0. + +* info: + . new option -x (--debug) for debugging output; -x -1 to get everything. + . new option -v (--variable) assigns a value to an Info variable, + with the usual syntax, -v VARIABLE=VALUE. + . new option -a (--all) instructs Info to display all documents + matching the command line arguments, not just the first. In + conjunction with the -w option, it shows full names of all Info + files matching the command line arguments; with -o, it outputs all + matching files. + . new variable search-skip-screen controls the starting position for + repeated search commands ({ and }). When set to On, repeated + searches skip the lines displayed on the screen, i.e., + forward searches (}) start at the beginning of the next page, and + backward searches ({) start at the end of the previous page. + . new command display-file-info (bound to = by default, C-g in vi mode) + shows full file name of the node being displayed and position in it. + +* texi2dvi: + . support for biblatex+biber. + +* Distribution: automake-1.14, gettext-0.18.3.1. + + 5.1 (12 March 2013) * texi2any: . irregular sectioning trees (see 5.0 news item) produce a warning @@ -34,6 +68,9 @@ * install-info: . lzip (.lz) compression supported. +* Development: switch from CVS to Subversion. + https://savannah.gnu.org/svn/?group=texinfo + 5.0 (16 February 2013) * Language: @@ -103,10 +140,13 @@ added. (Both old and new implementations preserve blank lines that are present.) - . The old implementation did not consider ends of lines from expansion - of an @macro definition to end an @-command line-delimited argument - (@chapter, @center, etc.). This is no longer the case. (A detailed - example is in the manual, node Macro Details.) + . The old implementation processed macros in place, formatting the + replacement text with the output. Now the replacement text is + textually substituted as Texinfo source. A consequence of the old + behavior is that ends of lines from expansion of an @macro + definition did not end an @-command line-delimited argument + (@chapter, @center, etc.). Now they do. (A detailed example is in + the manual, node Macro Details.) * pod2texi is a new (Perl) program that uses the capabilities of texi2any to translate Perl pod documentation to Texinfo. diff -Nru texinfo-5.1.dfsg.1/Pod-Simple-Texinfo/Makefile.in texinfo-5.2.0.dfsg.1/Pod-Simple-Texinfo/Makefile.in --- texinfo-5.1.dfsg.1/Pod-Simple-Texinfo/Makefile.in 2013-03-12 22:56:42.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/Pod-Simple-Texinfo/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,23 +28,51 @@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -102,6 +130,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -150,6 +179,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -828,8 +858,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -840,7 +874,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -994,6 +1031,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -1200,7 +1238,7 @@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not -# exand to empty, as could happen e.g. with make check TESTS=''. +# expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: diff -Nru texinfo-5.1.dfsg.1/Pod-Simple-Texinfo/pod2texi.pl texinfo-5.2.0.dfsg.1/Pod-Simple-Texinfo/pod2texi.pl --- texinfo-5.1.dfsg.1/Pod-Simple-Texinfo/pod2texi.pl 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/Pod-Simple-Texinfo/pod2texi.pl 2013-08-10 10:58:05.000000000 +0000 @@ -1,5 +1,5 @@ #! /usr/bin/env perl -# $Id: pod2texi.pl 5191 2013-02-23 00:11:18Z karl $ +# $Id: pod2texi.pl 5292 2013-08-10 10:58:05Z pertusus $ # pod2texi -- convert Pod to Texinfo. # Copyright 2012, 2013 Free Software Foundation, Inc. # @@ -25,6 +25,7 @@ use File::Spec; Getopt::Long::Configure("gnu_getopt"); +#use Pod::Simple::Debug (4); BEGIN { diff -Nru texinfo-5.1.dfsg.1/Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t texinfo-5.2.0.dfsg.1/Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t --- texinfo-5.1.dfsg.1/Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t 2013-02-19 22:25:28.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t 2013-08-10 11:13:33.000000000 +0000 @@ -50,6 +50,10 @@ ', 'index in head'); +TODO: { + +local $TODO = 'Pod::Simple not ignoring correctly X<>'; + run_test ('=head1 NAME X ', @@ -59,6 +63,8 @@ ', 'index in head node', 1, 2); +} + run_test ('=head1 NAME T@c @@ -138,6 +144,8 @@ run_test('=over =item L + +=back ', '@table @asis @item @ref{somewhere} @anchor{somewhere} @@ -176,6 +184,7 @@ =item a L +=back ', '@table @asis @item a @ref{, pod2text,, pod2text} @anchor{a pod2text} diff -Nru texinfo-5.1.dfsg.1/README texinfo-5.2.0.dfsg.1/README --- texinfo-5.1.dfsg.1/README 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/README 2013-08-16 13:50:05.000000000 +0000 @@ -1,4 +1,4 @@ -$Id: README 5191 2013-02-23 00:11:18Z karl $ +$Id: README 5320 2013-08-16 13:50:01Z karl $ This is the README file for the GNU Texinfo distribution. Texinfo is the preferred documentation format for GNU software. @@ -76,7 +76,7 @@ NEWS Summary of new features by release. Texinfo documentation files (in ./doc): - texinfo.txi Describes the Texinfo language and many + texinfo.texi Describes the Texinfo language and many of the associated tools. It tells how to use Texinfo to write documentation, how to use Texinfo mode in GNU Emacs, TeX, diff -Nru texinfo-5.1.dfsg.1/README-hacking texinfo-5.2.0.dfsg.1/README-hacking --- texinfo-5.1.dfsg.1/README-hacking 2013-03-12 22:56:34.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/README-hacking 2013-09-26 23:04:02.000000000 +0000 @@ -1,4 +1,4 @@ -$Id: README-hacking 5234 2013-03-12 22:56:31Z karl $ +$Id: README-hacking 5381 2013-09-26 23:03:58Z karl $ This file describes the development environment for Texinfo. Copyright 2002, 2003, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013 @@ -9,16 +9,18 @@ notice and this notice are preserved. The development sources for GNU Texinfo are available through anonymous -CVS at Savannah: - http://savannah.gnu.org/cvs/?group=texinfo +Subversion at Savannah: + http://savannah.gnu.org/svn/?group=texinfo This distribution uses whatever versions of Automake, Autoconf, and -Gettext are listed in NEWS; usually the latest official releases. If you -are getting the sources from CVS (or change configure.ac), you'll need -to have these tools installed to (re)build. You'll also need help2man. -All of these programs are available from http://ftp.gnu.org/gnu. +Gettext are listed in NEWS; usually the latest official releases. If +you are getting the sources from the development repository (or change +configure.ac), you'll need to have these tools installed to (re)build. +You'll also need help2man. All of these programs are available from +http://ftp.gnu.org/gnu. -After getting the CVS sources, and installing the tools above, you can run +After getting the development sources, and installing the tools above, +you can run ./autogen.sh and then, for example, ./configure -C CFLAGS='-g -Wdeclaration-after-statement' @@ -52,11 +54,12 @@ This distribution also uses Gnulib (http://www.gnu.org/software/gnulib) to share common files. Gnulib files used in Texinfo are checked in to -CVS. If you get automake/conf/etc. errors from ./autogen.sh, please try -doing a CVS checkout of gnulib (in a separate directory from the texinfo -checkout), and then run, say, +the repository. If you get automake/conf/etc. errors from ./autogen.sh, +please try getting a checkout of gnulib (in a separate directory from +the texinfo checkout), and then run, say, ../gnulib/gnulib-tool --add-import -in your top-level Texinfo directory. (gnulib-tool is in the gnulib CVS tree.) +in your top-level Texinfo directory. +(gnulib-tool is in the gnulib source tree.) The currently-used gnulib modules and other gnulib information are recorded in gnulib/m4/gnulib-cache.m4. Given a source checkout of @@ -95,23 +98,24 @@ - Official releases only: version number in texi2dvi, texi2pdf, txirefcard.tex. +(cd tp && ./maintain/change_perl_modules_version.sh auto) sync texi2html/test/ results with tp/. ensure building standalone modules for CPAN still works. -make dvi and fix underfull/overfull boxes. +make V=1 pdf and fix underfull/overfull boxes. specially plead with bug-texinfo / beebe / compile farms to try. try groff.texinfo from groff source repo. - Changes to sources: update version in configure.ac, ChangeLog; NEWS with date if official. -gnulib-tool --add-import -util/srclist-txi +gnulib-tool --add-import # for pretest +util/srclist-txi # for pretest pod2man Pod-Simple-Texinfo/pod2texi.pl >man/pod2texi.1 # until we fix deps make make po-check # update po/POTFILES.in as needed make -C po update-po # but don't commit yet, dist updates po_document -make -C doc wwwdoc-build # and eventually -install, for official. +make -C doc wwwdoc-build # and -install for official (and eventual commit) (export MALLOC_CHECK_=2; make distcheck) # repeat until clean -svn commit # when clean, then distcheck to be sure. +svn commit # when clean, then distcheck to be sure #create diff for official, see below - To do the actual upload: @@ -120,32 +124,36 @@ then do one of: gnupload --to alpha.gnu.org:$pkg $pkg-$ver.tar.xz #pretest -gnupload --to ftp.gnu.org:$pkg $pkg-$ver.tar.{gz,xz} *.diff.gz #official +gnupload --to ftp.gnu.org:$pkg $pkg-$ver.tar.{gz,xz} *.diff.xz #official + (also gnupload texi2dvi at each official release.) and the corresponding, to save in local archives: mv -v $pkg-$ver.tar.xz* $misc/archive/$pkg/alpha/ #pretest -mv -v $pkg-$ver.tar.{gz,xz}* *.diff.gz $misc/archive/$pkg/ #official +mv -v $pkg-$ver.tar.{gz,xz}* *.diff.xz $misc/archive/$pkg/ #official For pretest release, send announcement to bug-texinfo. - When official release is out there ... ... update DTD and web pages: cd $HOME/gnu/www/texinfo/dtd # or wherever webpages checkout is -mkdir $ver; cvs add $ver +mkdir $ver; svn add $ver cp $tutil/texinfo.dtd $ver -cvs add $ver/texinfo.dtd -cvs com -m$ver $ver +svn add $ver/texinfo.dtd +svn commit -m$ver $ver update home page (texinfo.html) and commit as needed. update manual, including: pod2html Pod-Simple-Texinfo/pod2texi.pl >pod2texi.html - ... tag source tree: -cvs tag -b texinfo_`echo $ver | tr . _` +# ... tag source tree: +svn copy -r 5234 -m'texinfo_5_1 tag based on r5234' \ + svn+ssh://svn.savannah.gnu.org/texinfo/trunk \ + svn+ssh://svn.savannah.gnu.org/texinfo/tags/texinfo_5_1 +[for karl: /srv/svn/texinfo] ... update texinfo at tug.org (contact root@tug.org); from last time: -prev=4.13 -ver=5.0 +prev=5.0 +ver=5.1 cd ~ftp/tex rm -rf texinfo-$prev* cp ~/src/texinfo/texinfo-$ver.tar.{gz,xz} . @@ -159,12 +167,13 @@ send announcement to info-gnu, cc bug-texinfo. ... make diffs at official release: - prev=4.13 - ver=5.0 + prev=5.0 + ver=5.1 cd $xarchive/../prod - tar xf texinfo-$ver.tar.gz + tar xf $txi/texinfo-$ver.tar.gz tar xf texinfo-$prev.tar.gz diff -Nrc2 texinfo-$prev texinfo-$ver | xz >texinfo-$prev-$ver.diff.xz + ls -l !$ gnupload --to ftp.gnu.org:texinfo !$ rm -rf texinfo-$ver texinfo-$prev ro texinfo-*$ver* diff -Nru texinfo-5.1.dfsg.1/TODO texinfo-5.2.0.dfsg.1/TODO --- texinfo-5.1.dfsg.1/TODO 2013-02-28 08:50:54.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/TODO 2013-09-09 18:03:12.000000000 +0000 @@ -1,9 +1,9 @@ -$Id: TODO 5214 2013-02-28 08:50:54Z pertusus $ +$Id: TODO 5368 2013-09-09 18:03:11Z karl $ This is the todo list for GNU Texinfo. If you are interested in working on any of these, email bug-texinfo@gnu.org. Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2003, - 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012 + 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013 Free Software Foundation. Copying and distribution of this file, with or without modification, @@ -43,10 +43,13 @@ - Support general reference card creation. * Language: - - Allow : in node names for info files, for names like + - Remove the need for @if[not]tex at the beginning of the document. + - Allow : in node names for info files, for names such as `class::method'. Likewise index entries. A quoting mechanism such as surrounding node names with SPACE BACKSPACE is probably the best solution, although this is an incompatible change to Info format. + This would also allow references without any *note and :: in text, + (pace goptical, Alexandre Becoulet, 18 Jan 2011 00:31:42). - @else for the @if... conditionals. - consider doing some @inline version of @set, @ifset, like @inlineset{flag, ...}, @inlineifset{flag, if set} or @inlineifset{flag, diff -Nru texinfo-5.1.dfsg.1/aclocal.m4 texinfo-5.2.0.dfsg.1/aclocal.m4 --- texinfo-5.1.dfsg.1/aclocal.m4 2013-03-12 22:56:41.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/aclocal.m4 2013-09-26 23:04:42.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.13.1 -*- Autoconf -*- +# generated automatically by aclocal 1.14 -*- Autoconf -*- -# Copyright (C) 1996-2012 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -32,10 +32,10 @@ # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.13' +[am__api_version='1.14' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.13.1], [], +m4_if([$1], [1.14], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,7 +51,7 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.13.1])dnl +[AM_AUTOMAKE_VERSION([1.14])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) @@ -373,7 +373,7 @@ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the @@ -418,6 +418,12 @@ # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. +dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. +m4_define([AC_PROG_CC], +m4_defn([AC_PROG_CC]) +[_AM_PROG_CC_C_O +]) + # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -526,7 +532,48 @@ AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl -]) + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) + fi +fi]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further @@ -534,7 +581,6 @@ m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. @@ -646,38 +692,6 @@ rm -f confinc confmf ]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_CC_C_O -# -------------- -# Like AC_PROG_CC_C_O, but changed for automake. -AC_DEFUN([AM_PROG_CC_C_O], -[AC_REQUIRE([AC_PROG_CC_C_O])dnl -AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -dnl Make sure AC_PROG_CC is never called again, or it will override our -dnl setting of CC. -m4_define([AC_PROG_CC], - [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) -]) - # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. @@ -748,6 +762,53 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# _AM_PROG_CC_C_O +# --------------- +# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC +# to automatically call this. +AC_DEFUN([_AM_PROG_CC_C_O], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +AC_LANG_PUSH([C])dnl +AC_CACHE_CHECK( + [whether $CC understands -c and -o together], + [am_cv_prog_cc_c_o], + [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i]) +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +AC_LANG_POP([C])]) + +# For backward compatibility. +AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) + # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation @@ -974,76 +1035,114 @@ # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar +# AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - [m4_case([$1], [ustar],, [pax],, - [m4_fatal([Unknown tar format])]) -AC_MSG_CHECKING([how to create a $1 tar archive]) -# Loop over all known methods to create a tar archive until one works. + +# We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' -_am_tools=${am_cv_prog_tar_$1-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of '-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break +m4_if([$1], [v7], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + [m4_case([$1], + [ustar], + [# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) + if test $am_uid -le $am_max_uid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi + AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) + if test $am_gid -le $am_max_gid; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + _am_tools=none + fi], + + [pax], + [], + + [m4_fatal([Unknown tar format])]) + + AC_MSG_CHECKING([how to create a $1 tar archive]) + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_$1-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi + done rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi -done -rm -rf conftest.dir -AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) -AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) + AC_MSG_RESULT([$am_cv_prog_tar_$1])]) + AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR @@ -1083,6 +1182,7 @@ m4_include([gnulib/m4/locale-zh.m4]) m4_include([gnulib/m4/locale_h.m4]) m4_include([gnulib/m4/localeconv.m4]) +m4_include([gnulib/m4/lock.m4]) m4_include([gnulib/m4/longlong.m4]) m4_include([gnulib/m4/lstat.m4]) m4_include([gnulib/m4/malloc.m4]) @@ -1131,6 +1231,7 @@ m4_include([gnulib/m4/sys_time_h.m4]) m4_include([gnulib/m4/sys_types_h.m4]) m4_include([gnulib/m4/tempname.m4]) +m4_include([gnulib/m4/threadlib.m4]) m4_include([gnulib/m4/time_h.m4]) m4_include([gnulib/m4/unistd_h.m4]) m4_include([gnulib/m4/warn-on-use.m4]) diff -Nru texinfo-5.1.dfsg.1/build-aux/config.guess texinfo-5.2.0.dfsg.1/build-aux/config.guess --- texinfo-5.1.dfsg.1/build-aux/config.guess 2013-02-19 22:25:28.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/build-aux/config.guess 2013-08-15 17:23:35.000000000 +0000 @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2013-02-12' +timestamp='2013-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -132,6 +132,27 @@ UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + ;; +esac + # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in @@ -853,21 +874,21 @@ exit ;; *:GNU:*:*) # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in @@ -880,59 +901,54 @@ EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then - echo ${UNAME_MACHINE}-unknown-linux-gnueabi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else - echo ${UNAME_MACHINE}-unknown-linux-gnueabihf + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) - LIBC=gnu - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build @@ -951,57 +967,63 @@ #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; or1k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; or32:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) - echo sparc-unknown-linux-gnu + echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu + echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-gnu + echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. @@ -1234,19 +1256,21 @@ exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - case $UNAME_PROCESSOR in - i386) - eval $set_cc_for_build - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - UNAME_PROCESSOR="x86_64" - fi - fi ;; - unknown) UNAME_PROCESSOR=powerpc ;; - esac + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) diff -Nru texinfo-5.1.dfsg.1/build-aux/config.sub texinfo-5.2.0.dfsg.1/build-aux/config.sub --- texinfo-5.1.dfsg.1/build-aux/config.sub 2013-02-19 22:25:28.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/build-aux/config.sub 2013-09-13 16:52:11.000000000 +0000 @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2013 Free Software Foundation, Inc. -timestamp='2013-02-12' +timestamp='2013-09-05' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -252,12 +252,12 @@ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ - | arc \ + | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ | bfin \ - | c4x | clipper \ + | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ @@ -324,7 +324,7 @@ c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -366,13 +366,13 @@ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | clipper-* | craynv-* | cydra-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ @@ -794,7 +794,7 @@ os=-mingw64 ;; mingw32) - basic_machine=i386-pc + basic_machine=i686-pc os=-mingw32 ;; mingw32ce) @@ -830,7 +830,7 @@ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) - basic_machine=i386-pc + basic_machine=i686-pc os=-msys ;; mvs) @@ -1546,6 +1546,9 @@ c4x-* | tic4x-*) os=-coff ;; + c8051-*) + os=-elf + ;; hexagon-*) os=-elf ;; diff -Nru texinfo-5.1.dfsg.1/build-aux/depcomp texinfo-5.2.0.dfsg.1/build-aux/depcomp --- texinfo-5.1.dfsg.1/build-aux/depcomp 2013-02-19 22:25:28.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/build-aux/depcomp 2013-08-15 17:23:35.000000000 +0000 @@ -1,7 +1,7 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2012-10-18.11; # UTC +scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. @@ -517,6 +517,7 @@ G p }' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; diff -Nru texinfo-5.1.dfsg.1/build-aux/texinfo.tex texinfo-5.2.0.dfsg.1/build-aux/texinfo.tex --- texinfo-5.1.dfsg.1/build-aux/texinfo.tex 2013-02-19 22:25:28.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/build-aux/texinfo.tex 2013-09-11 18:57:37.000000000 +0000 @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2013-02-01.11} +\def\texinfoversion{2013-09-11.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -281,9 +281,9 @@ \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% - \the\toks0 \the\toks2 - \noexpand\or \the\toks4 \the\toks6 - \noexpand\else \the\toks8 + \the\toks0 \the\toks2 % 0: top marks (\last...) + \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...) + \noexpand\else \the\toks8 % 2: color marks }% } % \topmark doesn't work for the very first chapter (after the title @@ -322,10 +322,13 @@ % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). + \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars} + % \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% + \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% + % \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi - \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% + \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to @@ -2377,8 +2380,10 @@ \ifx\next,% \else\ifx\next-% \else\ifx\next.% + \else\ifx\next\.% + \else\ifx\next\comma% \else\ptexslash - \fi\fi\fi + \fi\fi\fi\fi\fi \aftersmartic } @@ -2475,14 +2480,14 @@ } % We *must* turn on hyphenation at `-' and `_' in @code. +% (But see \codedashfinish below.) % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -% -- rms. +% and arrange explicitly to hyphenate at a dash. -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active @@ -2499,14 +2504,35 @@ \let-\normaldash \let_\realunder \fi + % Given -foo (with a single dash), we do not want to allow a break + % after the hyphen. + \global\let\codedashprev=\codedash + % \codex } + % + \gdef\codedash{\futurelet\next\codedashfinish} + \gdef\codedashfinish{% + \normaldash % always output the dash character itself. + % + % Now, output a discretionary to allow a line break, unless + % (a) the next character is a -, or + % (b) the preceding character is a -. + % E.g., given --posix, we do not want to allow a break after either -. + % Given --foo-bar, we do want to allow a break between the - and the b. + \ifx\next\codedash \else + \ifx\codedashprev\codedash + \else \discretionary{}{}{}\fi + \fi + % we need the space after the = for the case when \next itself is a + % space token; it would get swallowed otherwise. As in @code{- a}. + \global\let\codedashprev= \next + } } - +\def\normaldash{-} +% \def\codex #1{\tclose{#1}\endgroup} -\def\normaldash{-} -\def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) @@ -2868,6 +2894,15 @@ \def\inlinefmtname{#1}% \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi } +% +% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if +% FMTNAME is tex, else ELSE-TEXT. +\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} +\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi +} +% % For raw, must switch into @tex before parsing the argument, to avoid % setting catcodes prematurely. Doing it this way means that, for % example, @inlineraw{html, foo{bar} gets a parse error instead of being @@ -2884,6 +2919,23 @@ \endgroup % close group opened by \tex. } +% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set. +% +\long\def\inlineifset#1{\doinlineifset #1,\finish} +\long\def\doinlineifset#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax + \else\ignorespaces#2\fi +} + +% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set. +% +\long\def\inlineifclear#1{\doinlineifclear #1,\finish} +\long\def\doinlineifclear#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi +} + \message{glyphs,} % and logos. @@ -4179,7 +4231,7 @@ \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { - \catcode`\- = \active \catcode`\_ = \active + \catcode`\-=\active \catcode`\_=\active % \gdef\makevalueexpandable{% \let\value = \expandablevalue @@ -4199,7 +4251,12 @@ % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). -% +% +% Unfortunately, this has the consequence that when _ is in the *value* +% of an @set, it does not print properly in the roman fonts (get the cmr +% dot accent at position 126 instead). No fix comes to mind, and it's +% been this way since 2003 or earlier, so just ignore it. +% \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% @@ -4211,8 +4268,9 @@ % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. -% -% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +% To get the special treatment we need for `@end ifset,' we call +% \makecond and then redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} @@ -5885,7 +5943,7 @@ % % Now the second mark, after the heading break. No break points % between here and the heading. - \let\prevsectiondefs=\lastsectiondefs + \global\let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. @@ -6252,8 +6310,8 @@ \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other - \catcode`\`=\other - \catcode`\'=\other + \catcode `\`=\other + \catcode `\'=\other \escapechar=`\\ % % ' is active in math mode (mathcode"8000). So reset it, and all our @@ -6277,7 +6335,7 @@ \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext - \expandafter \let\csname top\endcsname=\ptextop % outer + \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% @@ -6402,7 +6460,7 @@ \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak - \hfuzz = 12pt % Don't be fussy + \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output @@ -9920,11 +9978,9 @@ \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote -\catcode`\~=\active -\def~{{\tt\char126}} +\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde \chardef\hat=`\^ -\catcode`\^=\active -\def^{{\tt \hat}} +\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} @@ -9934,16 +9990,26 @@ \catcode`\|=\active \def|{{\tt\char124}} + \chardef \less=`\< -\catcode`\<=\active -\def<{{\tt \less}} +\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless \chardef \gtr=`\> -\catcode`\>=\active -\def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -\catcode`\$=\active -\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix +\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr +\catcode`\+=\active \def+{{\tt \char 43}} +\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix + +% used for headline/footline in the output routine, in case the page +% breaks in the middle of an @tex block. +\def\texinfochars{% + \let< = \activeless + \let> = \activegtr + \let~ = \activetilde + \let^ = \activehat + \markupsetuplqdefault \markupsetuprqdefault + \let\b = \strong + \let\i = \smartitalic + % in principle, all other definitions in \tex have to be undone too. +} % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. diff -Nru texinfo-5.1.dfsg.1/config.in texinfo-5.2.0.dfsg.1/config.in --- texinfo-5.1.dfsg.1/config.in 2013-03-12 22:56:49.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/config.in 2013-09-26 23:04:50.000000000 +0000 @@ -38,6 +38,10 @@ #undef GETTIMEOFDAY_TIMEZONE /* Define to a C preprocessor expression that evaluates to 1 or 0, depending + whether the gnulib module lock shall be considered present. */ +#undef GNULIB_LOCK + +/* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module malloc-gnu shall be considered present. */ #undef GNULIB_MALLOC_GNU @@ -138,9 +142,6 @@ /* Define to 1 if `TIOCGWINSZ' requires . */ #undef GWINSZ_IN_SYS_IOCTL -/* Define to 1 if you have the 'alarm' function. */ -#undef HAVE_ALARM - /* Define to 1 if you have 'alloca' after including , a header that may be supplied by this distribution. */ #undef HAVE_ALLOCA @@ -173,6 +174,10 @@ */ #undef HAVE_DCGETTEXT +/* Define to 1 if you have the declaration of `alarm', and to 0 if you don't. + */ +#undef HAVE_DECL_ALARM + /* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you don't. */ #undef HAVE_DECL_GETC_UNLOCKED @@ -377,6 +382,12 @@ /* Define to 1 if you have the 'nl_langinfo' function. */ #undef HAVE_NL_LANGINFO +/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ +#undef HAVE_PTHREAD_MUTEX_RECURSIVE + +/* Define if the POSIX multithreading library has read/write locks. */ +#undef HAVE_PTHREAD_RWLOCK + /* Define to 1 if you have the header file. */ #undef HAVE_PWD_H @@ -1058,9 +1069,6 @@ /* Define if the mbrtowc function returns a wrong return value. */ #undef MBRTOWC_RETVAL_BUG -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - /* Name of package */ #undef PACKAGE @@ -1082,6 +1090,9 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Define if the pthread_in_use() detection is hard. */ +#undef PTHREAD_IN_USE_DETECTION_HARD + /* Define to l, ll, u, ul, ull, etc., as suitable for constants of type 'ptrdiff_t'. */ #undef PTRDIFF_T_SUFFIX @@ -1131,6 +1142,27 @@ /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME +/* Define if the POSIX multithreading library can be used. */ +#undef USE_POSIX_THREADS + +/* Define if references to the POSIX multithreading library should be made + weak. */ +#undef USE_POSIX_THREADS_WEAK + +/* Define if the GNU Pth multithreading library can be used. */ +#undef USE_PTH_THREADS + +/* Define if references to the GNU Pth multithreading library should be made + weak. */ +#undef USE_PTH_THREADS_WEAK + +/* Define if the old Solaris multithreading library can be used. */ +#undef USE_SOLARIS_THREADS + +/* Define if references to the old Solaris multithreading library should be + made weak. */ +#undef USE_SOLARIS_THREADS_WEAK + /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE @@ -1163,6 +1195,9 @@ #endif +/* Define if the native Windows multithreading API can be used. */ +#undef USE_WINDOWS_THREADS + /* Version number of package */ #undef VERSION @@ -1237,30 +1272,31 @@ /* Define to a type to use for 'error_t' if it is not otherwise available. */ #undef error_t -/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'. - _GL_EXTERN_INLINE is a portable alternative to 'extern inline'. - _GL_INLINE_HEADER_BEGIN contains useful stuff to put - in an include file, before uses of _GL_INLINE. - It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic, - when FOO is an inline function in the header; see - . - _GL_INLINE_HEADER_END contains useful stuff to put - in the same include file, after uses of _GL_INLINE. +/* Please see the Gnulib manual for how to use these macros. Suppress extern inline with HP-UX cc, as it appears to be broken; see . - Suppress the use of extern inline on Apple's platforms, - as Libc-825.25 (2012-09-19) is incompatible with it; see + Suppress extern inline with Sun C in standards-conformance mode, as it + mishandles inline functions that call each other. E.g., for 'inline void f + (void) { } inline void g (void) { f (); }', c99 incorrectly complains + 'reference to static identifier "f" in extern inline function'. + This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. + + Suppress the use of extern inline on Apple's platforms, as Libc at least + through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g., . Perhaps Apple will fix this some day. */ #if ((__GNUC__ \ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : 199901L <= __STDC_VERSION__ && !defined __HP_cc) \ + : (199901L <= __STDC_VERSION__ \ + && !defined __HP_cc \ + && !(defined __SUNPRO_C && __STDC__))) \ && !defined __APPLE__) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline -#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__ +#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined __APPLE__) # if __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) @@ -1280,6 +1316,10 @@ # define _GL_INLINE_HEADER_CONST_PRAGMA \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") # endif + /* Suppress GCC's bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + . */ # define _GL_INLINE_HEADER_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ diff -Nru texinfo-5.1.dfsg.1/configure texinfo-5.2.0.dfsg.1/configure --- texinfo-5.1.dfsg.1/configure 2013-03-12 22:56:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/configure 2013-09-26 23:04:45.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for GNU Texinfo 5.1. +# Generated by GNU Autoconf 2.69 for GNU Texinfo 5.2. # # Report bugs to . # @@ -580,8 +580,8 @@ # Identity of this package. PACKAGE_NAME='GNU Texinfo' PACKAGE_TARNAME='texinfo' -PACKAGE_VERSION='5.1' -PACKAGE_STRING='GNU Texinfo 5.1' +PACKAGE_VERSION='5.2' +PACKAGE_STRING='GNU Texinfo 5.2' PACKAGE_BUGREPORT='bug-texinfo@gnu.org' PACKAGE_URL='http://www.gnu.org/software/texinfo/' @@ -622,6 +622,7 @@ # include #endif" +gl_use_threads_default= gl_func_list= gl_header_list= gl_getopt_required=POSIX @@ -659,6 +660,7 @@ MSGFMT GETTEXT_MACRO_VERSION USE_NLS +SED USE_EXTERNAL_UNIDECODE USE_UNICODE USE_EXTERNAL_EASTASIANWIDTH @@ -934,6 +936,13 @@ GNULIB_FSTATAT GNULIB_FSTAT GNULIB_FCHMODAT +LTLIBMULTITHREAD +LIBMULTITHREAD +LTLIBTHREAD +LIBTHREAD +LIBPTH_PREFIX +LTLIBPTH +LIBPTH NEXT_AS_FIRST_DIRECTIVE_LOCALE_H NEXT_LOCALE_H HAVE_XLOCALE_H @@ -1145,14 +1154,6 @@ pkglibexecdir lispdir LOCALE_FR -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build REPLACE_WCSWIDTH REPLACE_WCWIDTH REPLACE_WCSNRTOMBS @@ -1253,6 +1254,14 @@ ALLOCA GL_COND_LIBTOOL_FALSE GL_COND_LIBTOOL_TRUE +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build RANLIB ARFLAGS AR @@ -1352,14 +1361,16 @@ enable_silent_rules enable_dependency_tracking enable_largefile +enable_threads +with_gnu_ld +enable_rpath +with_libpth_prefix with_included_regex enable_multiplatform enable_install_warnings with_external_Unicode_EastAsianWidth with_external_Text_Unidecode enable_nls -with_gnu_ld -enable_rpath with_libiconv_prefix with_libintl_prefix with_external_libintl_perl @@ -1917,7 +1928,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures GNU Texinfo 5.1 to adapt to many kinds of systems. +\`configure' configures GNU Texinfo 5.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1987,7 +1998,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of GNU Texinfo 5.1:";; + short | recursive ) echo "Configuration of GNU Texinfo 5.2:";; esac cat <<\_ACEOF @@ -2002,11 +2013,14 @@ --disable-dependency-tracking speeds up one-time build --disable-largefile omit support for large files + --enable-threads={posix|solaris|pth|windows} + specify multithreading API + --disable-threads build without multithread safety + --disable-rpath do not hardcode runtime library paths --enable-multiplatform put executables into bin/PLATFORM and libraries into lib/PLATFORM --disable-install-warnings omit make install warnings about TeX files --disable-nls do not use Native Language Support - --disable-rpath do not hardcode runtime library paths --enable-tp-tests run the parser and converters testsuite (default: detected) --enable-perl-api-texi-build @@ -2018,6 +2032,9 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib + --without-libpth-prefix don't search for libpth in includedir and libdir --without-included-regex don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library @@ -2026,7 +2043,6 @@ use external Unicode-EastAsianWidth (default: no) --with-external-Text-Unidecode use external Text::Unidecode (default: no) - --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib @@ -2113,7 +2129,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -GNU Texinfo configure 5.1 +GNU Texinfo configure 5.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2822,7 +2838,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by GNU Texinfo $as_me 5.1, which was +It was created by GNU Texinfo $as_me 5.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3127,7 +3143,6 @@ gl_func_list="$gl_func_list _set_invalid_parameter_handler" gl_func_list="$gl_func_list nl_langinfo" gl_header_list="$gl_header_list sys/param.h" -gl_func_list="$gl_func_list alarm" gl_func_list="$gl_func_list isblank" gl_func_list="$gl_func_list iswctype" gl_func_list="$gl_func_list wcscoll" @@ -3238,7 +3253,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -am__api_version='1.13' +am__api_version='1.14' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -3724,7 +3739,7 @@ # Define the identity of the package. PACKAGE='texinfo' - VERSION='5.1' + VERSION='5.2' cat >>confdefs.h <<_ACEOF @@ -3765,86 +3780,125 @@ AMTAR='$${TAR-tar}' -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 -$as_echo_n "checking how to create a ustar tar archive... " >&6; } -# Loop over all known methods to create a tar archive until one works. +# We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar plaintar pax cpio none' -_am_tools=${am_cv_prog_tar_ustar-$_am_tools} -# Do not fold the above two line into one, because Tru64 sh and -# Solaris sh will not grok spaces in the rhs of '-'. -for _am_tool in $_am_tools -do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; - do - { echo "$as_me:$LINENO: $_am_tar --version" >&5 + +# The POSIX 1988 'ustar' format is defined with fixed-size fields. + # There is notably a 21 bits limit for the UID and the GID. In fact, + # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 + # and bug#13588). + am_max_uid=2097151 # 2^21 - 1 + am_max_gid=$am_max_uid + # The $UID and $GID variables are not portable, so we need to resort + # to the POSIX-mandated id(1) utility. Errors in the 'id' calls + # below are definitely unexpected, so allow the users to see them + # (that is, avoid stderr redirection). + am_uid=`id -u || echo unknown` + am_gid=`id -g || echo unknown` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether UID '$am_uid' is supported by ustar format" >&5 +$as_echo_n "checking whether UID '$am_uid' is supported by ustar format... " >&6; } + if test $am_uid -le $am_max_uid; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + _am_tools=none + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GID '$am_gid' is supported by ustar format" >&5 +$as_echo_n "checking whether GID '$am_gid' is supported by ustar format... " >&6; } + if test $am_gid -le $am_max_gid; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + _am_tools=none + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5 +$as_echo_n "checking how to create a ustar tar archive... " >&6; } + + # Go ahead even if we have the value already cached. We do so because we + # need to set the values for the 'am__tar' and 'am__untar' variables. + _am_tools=${am_cv_prog_tar_ustar-$_am_tools} + + for _am_tool in $_am_tools; do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; do + { echo "$as_me:$LINENO: $_am_tar --version" >&5 ($_am_tar --version) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && break - done - am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x ustar -w "$$tardir"' - am__tar_='pax -L -x ustar -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H ustar -L' - am__tar_='find "$tardir" -print | cpio -o -H ustar -L' - am__untar='cpio -i -H ustar -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_ustar}" && break + done + am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x ustar -w "$$tardir"' + am__tar_='pax -L -x ustar -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H ustar -L' + am__tar_='find "$tardir" -print | cpio -o -H ustar -L' + am__untar='cpio -i -H ustar -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac - # tar/untar a dummy directory, and stop if the command works - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_ustar}" && break + + # tar/untar a dummy directory, and stop if the command works. + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } - rm -rf conftest.dir - if test -s conftest.tar; then - { echo "$as_me:$LINENO: $am__untar &5 + rm -rf conftest.dir + if test -s conftest.tar; then + { echo "$as_me:$LINENO: $am__untar &5 ($am__untar &5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } - grep GrepMe conftest.dir/file >/dev/null 2>&1 && break - fi -done -rm -rf conftest.dir + { echo "$as_me:$LINENO: cat conftest.dir/file" >&5 + (cat conftest.dir/file) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + grep GrepMe conftest.dir/file >/dev/null 2>&1 && break + fi + done + rm -rf conftest.dir -if ${am_cv_prog_tar_ustar+:} false; then : + if ${am_cv_prog_tar_ustar+:} false; then : $as_echo_n "(cached) " >&6 else am_cv_prog_tar_ustar=$_am_tool fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_tar_ustar" >&5 $as_echo "$am_cv_prog_tar_ustar" >&6; } @@ -3852,6 +3906,48 @@ +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + # Where to generate output; srcdir location. ac_config_headers="$ac_config_headers config.h:config.in" @@ -4781,6 +4877,65 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" @@ -5484,131 +5639,6 @@ fi -if test "x$CC" != xcc; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 -$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 -$as_echo_n "checking whether cc understands -c and -o together... " >&6; } -fi -set dummy $CC; ac_cc=`$as_echo "$2" | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi - fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no -fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } @@ -6061,39 +6091,159 @@ fi +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - # Code from module alloca-opt: - # Code from module argz: - # Code from module btowc: - # Code from module configmake: - # Code from module dosname: - # Code from module errno: - # Code from module error: - # Code from module exitfail: - # Code from module extensions: - - # Code from module extern-inline: - # Code from module fcntl-h: - # Code from module getopt-gnu: - # Code from module getopt-posix: - # Code from module gettext: - # Code from module gettext-h: - # Code from module gettimeofday: - # Code from module havelib: - # Code from module include_next: - # Code from module intprops: - # Code from module iswblank: - # Code from module langinfo: - # Code from module largefile: - # Code from module localcharset: - # Code from module locale: - # Code from module localeconv: - # Code from module lstat: - # Code from module malloc-gnu: - # Code from module malloc-posix: +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + + + + + + # Check whether --enable-threads was given. +if test "${enable_threads+set}" = set; then : + enableval=$enable_threads; gl_use_threads=$enableval +else + if test -n "$gl_use_threads_default"; then + gl_use_threads="$gl_use_threads_default" + else + case "$host_os" in + osf*) gl_use_threads=no ;; + cygwin*) + case `uname -r` in + 1.[0-5].*) gl_use_threads=no ;; + *) gl_use_threads=yes ;; + esac + ;; + *) gl_use_threads=yes ;; + esac + fi + +fi + + if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then + # For using : + case "$host_os" in + osf*) + # On OSF/1, the compiler needs the flag -D_REENTRANT so that it + # groks . cc also understands the flag -pthread, but + # we don't use it because 1. gcc-2.95 doesn't understand -pthread, + # 2. putting a flag into CPPFLAGS that has an effect on the linker + # causes the AC_LINK_IFELSE test below to succeed unexpectedly, + # leading to wrong values of LIBTHREAD and LTLIBTHREAD. + CPPFLAGS="$CPPFLAGS -D_REENTRANT" + ;; + esac + # Some systems optimize for single-threaded programs by default, and + # need special flags to disable these optimizations. For example, the + # definition of 'errno' in . + case "$host_os" in + aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; + solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; + esac + fi + + + + + # Code from module alloca-opt: + # Code from module argz: + # Code from module btowc: + # Code from module configmake: + # Code from module dosname: + # Code from module errno: + # Code from module error: + # Code from module exitfail: + # Code from module extensions: + + # Code from module extern-inline: + # Code from module fcntl-h: + # Code from module getopt-gnu: + # Code from module getopt-posix: + # Code from module gettext: + # Code from module gettext-h: + # Code from module gettimeofday: + # Code from module havelib: + # Code from module include_next: + # Code from module intprops: + # Code from module iswblank: + # Code from module langinfo: + # Code from module largefile: + + # Code from module localcharset: + # Code from module locale: + # Code from module localeconv: + # Code from module lock: + # Code from module lstat: + # Code from module malloc-gnu: + # Code from module malloc-posix: # Code from module malloca: # Code from module mbchar: # Code from module mbiter: @@ -6145,6 +6295,10 @@ # Code from module sys_time: # Code from module sys_types: # Code from module tempname: + # Code from module threadlib: + + + # Code from module time: # Code from module unistd: # Code from module unitypes: @@ -6603,77 +6757,6 @@ -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nl_langinfo and CODESET" >&5 $as_echo_n "checking for nl_langinfo and CODESET... " >&6; } @@ -9397,92 +9480,1229 @@ - GNULIB_FCHMODAT=0; - GNULIB_FSTAT=0; - GNULIB_FSTATAT=0; - GNULIB_FUTIMENS=0; - GNULIB_LCHMOD=0; - GNULIB_LSTAT=0; - GNULIB_MKDIRAT=0; - GNULIB_MKFIFO=0; - GNULIB_MKFIFOAT=0; - GNULIB_MKNOD=0; - GNULIB_MKNODAT=0; - GNULIB_STAT=0; - GNULIB_UTIMENSAT=0; - HAVE_FCHMODAT=1; - HAVE_FSTATAT=1; - HAVE_FUTIMENS=1; - HAVE_LCHMOD=1; - HAVE_LSTAT=1; - HAVE_MKDIRAT=1; - HAVE_MKFIFO=1; - HAVE_MKFIFOAT=1; - HAVE_MKNOD=1; - HAVE_MKNODAT=1; - HAVE_UTIMENSAT=1; - REPLACE_FSTAT=0; - REPLACE_FSTATAT=0; - REPLACE_FUTIMENS=0; - REPLACE_LSTAT=0; - REPLACE_MKDIR=0; - REPLACE_MKFIFO=0; - REPLACE_MKNOD=0; - REPLACE_STAT=0; - REPLACE_UTIMENSAT=0; - - - - - - + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 -$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } -if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f conftest.sym conftest.file - echo >conftest.file - if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then - if test "$cross_compiling" = yes; then : - case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -struct stat sbuf; - /* Linux will dereference the symlink and fail, as required by - POSIX. That is better in the sense that it means we will not - have to compile and use the lstat wrapper. */ - return lstat ("conftest.sym/", &sbuf) == 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - gl_cv_func_lstat_dereferences_slashed_symlink=yes +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else - gl_cv_func_lstat_dereferences_slashed_symlink=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext + with_gnu_ld=no fi - else - # If the 'ln -s' command failed, then we probably don't even - # have an lstat function. - gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` + while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 &5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + + + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _LP64 +sixtyfour bits +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + + + gl_threads_api=none + LIBTHREAD= + LTLIBTHREAD= + LIBMULTITHREAD= + LTLIBMULTITHREAD= + if test "$gl_use_threads" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether imported symbols can be declared weak" >&5 +$as_echo_n "checking whether imported symbols can be declared weak... " >&6; } +if ${gl_cv_have_weak+:} false; then : + $as_echo_n "(cached) " >&6 +else + gl_cv_have_weak=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern void xyzzy (); +#pragma weak xyzzy +int +main () +{ +xyzzy(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_cv_have_weak=maybe +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test $gl_cv_have_weak = maybe; then + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __ELF__ + Extensible Linking Format + #endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Extensible Linking Format" >/dev/null 2>&1; then : + gl_cv_have_weak="guessing yes" +else + gl_cv_have_weak="guessing no" +fi +rm -f conftest* + + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#pragma weak fputs +int main () +{ + return (fputs == NULL); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_have_weak=yes +else + gl_cv_have_weak=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 +$as_echo "$gl_cv_have_weak" >&6; } + if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then + # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that + # it groks . It's added above, in gl_THREADLIB_EARLY_BODY. + ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" +if test "x$ac_cv_header_pthread_h" = xyes; then : + gl_have_pthread_h=yes +else + gl_have_pthread_h=no +fi + + + if test "$gl_have_pthread_h" = yes; then + # Other possible tests: + # -lpthreads (FSU threads, PCthreads) + # -lgthreads + gl_have_pthread= + # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist + # in libc. IRIX 6.5 has the first one in both libc and libpthread, but + # the second one only in libpthread, and lock.c needs it. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +pthread_mutex_lock((pthread_mutex_t*)0); + pthread_mutexattr_init((pthread_mutexattr_t*)0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_have_pthread=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + # Test for libpthread by looking for pthread_kill. (Not pthread_self, + # since it is defined as a macro on OSF/1.) + if test -n "$gl_have_pthread"; then + # The program links fine without libpthread. But it may actually + # need to link with libpthread in order to create multiple threads. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 +$as_echo_n "checking for pthread_kill in -lpthread... " >&6; } +if ${ac_cv_lib_pthread_pthread_kill+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_kill (); +int +main () +{ +return pthread_kill (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_kill=yes +else + ac_cv_lib_pthread_pthread_kill=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } +if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : + LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread + # On Solaris and HP-UX, most pthread functions exist also in libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + case "$host_os" in + solaris* | hpux*) + +$as_echo "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h + + esac + +fi + + else + # Some library is needed. Try libpthread and libc_r. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lpthread" >&5 +$as_echo_n "checking for pthread_kill in -lpthread... " >&6; } +if ${ac_cv_lib_pthread_pthread_kill+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_kill (); +int +main () +{ +return pthread_kill (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_pthread_pthread_kill=yes +else + ac_cv_lib_pthread_pthread_kill=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_kill" >&5 +$as_echo "$ac_cv_lib_pthread_pthread_kill" >&6; } +if test "x$ac_cv_lib_pthread_pthread_kill" = xyes; then : + gl_have_pthread=yes + LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread + LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread +fi + + if test -z "$gl_have_pthread"; then + # For FreeBSD 4. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lc_r" >&5 +$as_echo_n "checking for pthread_kill in -lc_r... " >&6; } +if ${ac_cv_lib_c_r_pthread_kill+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lc_r $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char pthread_kill (); +int +main () +{ +return pthread_kill (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_c_r_pthread_kill=yes +else + ac_cv_lib_c_r_pthread_kill=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_r_pthread_kill" >&5 +$as_echo "$ac_cv_lib_c_r_pthread_kill" >&6; } +if test "x$ac_cv_lib_c_r_pthread_kill" = xyes; then : + gl_have_pthread=yes + LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r + LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r +fi + + fi + fi + if test -n "$gl_have_pthread"; then + gl_threads_api=posix + +$as_echo "#define USE_POSIX_THREADS 1" >>confdefs.h + + if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + +$as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h + + LIBTHREAD= + LTLIBTHREAD= + fi + fi + fi + fi + fi + if test -z "$gl_have_pthread"; then + if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then + gl_have_solaristhread= + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lthread" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +int +main () +{ +thr_self(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_have_solaristhread=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gl_save_LIBS" + if test -n "$gl_have_solaristhread"; then + gl_threads_api=solaris + LIBTHREAD=-lthread + LTLIBTHREAD=-lthread + LIBMULTITHREAD="$LIBTHREAD" + LTLIBMULTITHREAD="$LTLIBTHREAD" + +$as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h + + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + +$as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h + + LIBTHREAD= + LTLIBTHREAD= + fi + fi + fi + fi + if test "$gl_use_threads" = pth; then + gl_save_CPPFLAGS="$CPPFLAGS" + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5 +$as_echo_n "checking how to link with libpth... " >&6; } +if ${ac_cv_libpth_libs+:} false; then : + $as_echo_n "(cached) " >&6 +else + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libpth-prefix was given. +if test "${with_libpth_prefix+set}" = set; then : + withval=$with_libpth_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBPTH= + LTLIBPTH= + INCPTH= + LIBPTH_PREFIX= + HAVE_LIBPTH= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='pth ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBPTH; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBPTH; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" + else + LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a" + else + LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'pth'; then + LIBPTH_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'pth'; then + LIBPTH_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCPTH; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBPTH; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBPTH; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBPTH="${LIBPTH}${LIBPTH:+ }$dep" + LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep" + ;; + esac + done + fi + else + LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" + LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir" + done + fi + + + + + + + ac_cv_libpth_libs="$LIBPTH" + ac_cv_libpth_ltlibs="$LTLIBPTH" + ac_cv_libpth_cppflags="$INCPTH" + ac_cv_libpth_prefix="$LIBPTH_PREFIX" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5 +$as_echo "$ac_cv_libpth_libs" >&6; } + LIBPTH="$ac_cv_libpth_libs" + LTLIBPTH="$ac_cv_libpth_ltlibs" + INCPTH="$ac_cv_libpth_cppflags" + LIBPTH_PREFIX="$ac_cv_libpth_prefix" + + for element in $INCPTH; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + + + HAVE_LIBPTH=yes + + + + gl_have_pth= + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBPTH" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +pth_self(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gl_have_pth=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gl_save_LIBS" + if test -n "$gl_have_pth"; then + gl_threads_api=pth + LIBTHREAD="$LIBPTH" + LTLIBTHREAD="$LTLIBPTH" + LIBMULTITHREAD="$LIBTHREAD" + LTLIBMULTITHREAD="$LTLIBTHREAD" + +$as_echo "#define USE_PTH_THREADS 1" >>confdefs.h + + if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + +$as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h + + LIBTHREAD= + LTLIBTHREAD= + fi + fi + else + CPPFLAGS="$gl_save_CPPFLAGS" + fi + fi + if test -z "$gl_have_pthread"; then + case "$gl_use_threads" in + yes | windows | win32) # The 'win32' is for backward compatibility. + if { case "$host_os" in + mingw*) true;; + *) false;; + esac + }; then + gl_threads_api=windows + +$as_echo "#define USE_WINDOWS_THREADS 1" >>confdefs.h + + fi + ;; + esac + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for multithread API to use" >&5 +$as_echo_n "checking for multithread API to use... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_threads_api" >&5 +$as_echo "$gl_threads_api" >&6; } + + + + + + + + + + + GNULIB_FCHMODAT=0; + GNULIB_FSTAT=0; + GNULIB_FSTATAT=0; + GNULIB_FUTIMENS=0; + GNULIB_LCHMOD=0; + GNULIB_LSTAT=0; + GNULIB_MKDIRAT=0; + GNULIB_MKFIFO=0; + GNULIB_MKFIFOAT=0; + GNULIB_MKNOD=0; + GNULIB_MKNODAT=0; + GNULIB_STAT=0; + GNULIB_UTIMENSAT=0; + HAVE_FCHMODAT=1; + HAVE_FSTATAT=1; + HAVE_FUTIMENS=1; + HAVE_LCHMOD=1; + HAVE_LSTAT=1; + HAVE_MKDIRAT=1; + HAVE_MKFIFO=1; + HAVE_MKFIFOAT=1; + HAVE_MKNOD=1; + HAVE_MKNODAT=1; + HAVE_UTIMENSAT=1; + REPLACE_FSTAT=0; + REPLACE_FSTATAT=0; + REPLACE_FUTIMENS=0; + REPLACE_LSTAT=0; + REPLACE_MKDIR=0; + REPLACE_MKFIFO=0; + REPLACE_MKNOD=0; + REPLACE_STAT=0; + REPLACE_UTIMENSAT=0; + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether lstat correctly handles trailing slash" >&5 +$as_echo_n "checking whether lstat correctly handles trailing slash... " >&6; } +if ${gl_cv_func_lstat_dereferences_slashed_symlink+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftest.sym conftest.file + echo >conftest.file + if test "$as_ln_s" = "ln -s" && ln -s conftest.file conftest.sym; then + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_lstat_dereferences_slashed_symlink="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" ;; + esac + +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +struct stat sbuf; + /* Linux will dereference the symlink and fail, as required by + POSIX. That is better in the sense that it means we will not + have to compile and use the lstat wrapper. */ + return lstat ("conftest.sym/", &sbuf) == 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_lstat_dereferences_slashed_symlink=yes +else + gl_cv_func_lstat_dereferences_slashed_symlink=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + else + # If the 'ln -s' command failed, then we probably don't even + # have an lstat function. + gl_cv_func_lstat_dereferences_slashed_symlink="guessing no" fi rm -f conftest.sym conftest.file @@ -10714,8 +11934,16 @@ + ac_fn_c_check_decl "$LINENO" "alarm" "ac_cv_have_decl_alarm" "$ac_includes_default" +if test "x$ac_cv_have_decl_alarm" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi - +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_ALARM $ac_have_decl +_ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 @@ -11965,6 +13193,82 @@ + + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_sys_types_h='<'sys/types.h'>' + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +$as_echo_n "checking absolute name of ... " >&6; } +if ${gl_cv_next_sys_types_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + + gl_header_literal_regex=`echo 'sys/types.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"`'"' + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 +$as_echo "$gl_cv_next_sys_types_h" >&6; } + fi + NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'sys/types.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_sys_types_h + fi + NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive + + + + + + + + + + + + GNULIB_MKTIME=0; GNULIB_NANOSLEEP=0; GNULIB_STRPTIME=0; @@ -13741,6 +15045,58 @@ + if test "$gl_threads_api" = posix; then + # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the + # pthread_rwlock_* functions. + ac_fn_c_check_type "$LINENO" "pthread_rwlock_t" "ac_cv_type_pthread_rwlock_t" "#include +" +if test "x$ac_cv_type_pthread_rwlock_t" = xyes; then : + +$as_echo "#define HAVE_PTHREAD_RWLOCK 1" >>confdefs.h + +fi + + # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include +int +main () +{ + +#if __FreeBSD__ == 4 +error "No, in FreeBSD 4.0 recursive mutexes actually don't work." +#elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \ + && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070) +error "No, in Mac OS X < 10.7 recursive mutexes actually don't work." +#else +int x = (int)PTHREAD_MUTEX_RECURSIVE; +return !x; +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +$as_echo "#define HAVE_PTHREAD_MUTEX_RECURSIVE 1" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + fi + : + + + +cat >>confdefs.h <<_ACEOF +#define GNULIB_LOCK 1 +_ACEOF + + + + : @@ -15679,7 +17035,7 @@ #include #include #include - #if HAVE_ALARM + #if HAVE_DECL_ALARM # include # include #endif @@ -15694,7 +17050,7 @@ const char *s; struct re_registers regs; -#if HAVE_ALARM +#if HAVE_DECL_ALARM /* Some builds of glibc go into an infinite loop on this test. */ signal (SIGALRM, SIG_DFL); alarm (2); @@ -15729,17 +17085,28 @@ */ static char const pat[] = "[^x]x"; static char const data[] = - "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80" - "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax"; + /* */ + "\xe1\x80\x80" + "\xe1\x80\xbb" + "\xe1\x80\xbd" + "\xe1\x80\x94" + "\xe1\x80\xba" + "\xe1\x80\xaf" + "\xe1\x80\x95" + "\xe1\x80\xba" + "x"; re_set_syntax (0); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; - else if (re_search (®ex, data, sizeof data - 1, - 0, sizeof data - 1, 0) - != 21) - result |= 1; + else + { + i = re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, 0); + if (i != 0 && i != 21) + result |= 1; + } } if (! setlocale (LC_ALL, "C")) @@ -15936,6 +17303,7 @@ + for ac_header in libintl.h do : ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" @@ -17309,84 +18677,13 @@ + : - if test $gl_cv_have_include_next = yes; then - gl_cv_next_sys_types_h='<'sys/types.h'>' - else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 -$as_echo_n "checking absolute name of ... " >&6; } -if ${gl_cv_next_sys_types_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF - case "$host_os" in - aix*) gl_absname_cpp="$ac_cpp -C" ;; - *) gl_absname_cpp="$ac_cpp" ;; - esac - - case "$host_os" in - mingw*) - gl_dirsep_regex='[/\\]' - ;; - *) - gl_dirsep_regex='\/' - ;; - esac - gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' - - gl_header_literal_regex=`echo 'sys/types.h' \ - | sed -e "$gl_make_literal_regex_sed"` - gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ - s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ - s|^/[^/]|//&| - p - q - }' - gl_cv_next_sys_types_h='"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | - sed -n "$gl_absolute_header_sed"`'"' - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_sys_types_h" >&5 -$as_echo "$gl_cv_next_sys_types_h" >&6; } - fi - NEXT_SYS_TYPES_H=$gl_cv_next_sys_types_h - - if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' - gl_next_as_first_directive='<'sys/types.h'>' - else - # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' - gl_next_as_first_directive=$gl_cv_next_sys_types_h - fi - NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H=$gl_next_as_first_directive - - - - - - - - - - - - - - - : - - @@ -18738,7 +20035,7 @@ DIFF_A_OPTION= if test "z$diff_accepts_a_option" = 'zyes' ; then - DIFF_U_OPTION=-a + DIFF_A_OPTION=-a fi @@ -19500,9 +20797,10 @@ done have_termlib=yes -# don't bother warning on djgpp, it doesn't have a term library, it -# ports each termcap-needing program separately according to its needs. -if test -z "$TERMLIBS" && echo "$build" | grep -v djgpp >/dev/null; then +# don't bother warning on djgpp and MinGW, they don't have a term library, +# and port each termcap-needing program separately according to the needs. +if test -z "$TERMLIBS" \ + && echo "$build" | grep -v djgpp | grep -v mingw >/dev/null; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: info needs a terminal library, one of: ${TERMLIB_VARIANTS}" >&5 $as_echo "$as_me: WARNING: info needs a terminal library, one of: ${TERMLIB_VARIANTS}" >&2;} have_termlib=no @@ -19653,13 +20951,82 @@ fi - - - - -# i18n support. To update to a new version of gettext, run: -# gettextize -f -c -# See http://gnu.org/s/gnulib/manual/html_node/gettextize-and-autopoint.html. + + + + +# i18n support. To update to a new version of gettext, run: +# gettextize -f -c +# See http://gnu.org/s/gnulib/manual/html_node/gettextize-and-autopoint.html. + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 +$as_echo "$ac_cv_path_SED" >&6; } + SED="$ac_cv_path_SED" + rm -f conftest.sed { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 @@ -19959,238 +21326,6 @@ - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'` - while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - @@ -22536,7 +23671,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by GNU Texinfo $as_me 5.1, which was +This file was extended by GNU Texinfo $as_me 5.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22604,7 +23739,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -GNU Texinfo config.status 5.1 +GNU Texinfo config.status 5.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -23418,7 +24553,7 @@ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "am__include" && continue + test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the @@ -23469,7 +24604,7 @@ case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. diff -Nru texinfo-5.1.dfsg.1/configure.ac texinfo-5.2.0.dfsg.1/configure.ac --- texinfo-5.1.dfsg.1/configure.ac 2013-03-12 22:56:34.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/configure.ac 2013-09-26 23:04:02.000000000 +0000 @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -# $Id: configure.ac 5234 2013-03-12 22:56:31Z karl $ +# $Id: configure.ac 5381 2013-09-26 23:03:58Z karl $ # # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, # 2012, 2013 Free Software Foundation, Inc. @@ -12,13 +12,14 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # -AC_INIT([GNU Texinfo], [5.1], [bug-texinfo@gnu.org]) +AC_INIT([GNU Texinfo], [5.2], [bug-texinfo@gnu.org]) dnl Must come before AM_INIT_AUTOMAKE. AC_CONFIG_AUX_DIR([build-aux]) dnl tar-ustar because we have long filenames for some test files. dnl parallel-tests as recommended by stefano. -AM_INIT_AUTOMAKE([1.12 tar-ustar parallel-tests readme-alpha dist-xz]) +AM_INIT_AUTOMAKE([1.14 dist-xz + info-in-builddir parallel-tests readme-alpha tar-ustar]) # Where to generate output; srcdir location. AC_CONFIG_HEADERS([config.h:config.in])dnl Keep filename to 8.3 for MS-DOS. @@ -129,7 +130,7 @@ DIFF_A_OPTION= if test "z$diff_accepts_a_option" = 'zyes' ; then - DIFF_U_OPTION=-a + DIFF_A_OPTION=-a fi AC_SUBST([DIFF_A_OPTION]) @@ -223,9 +224,10 @@ [TERMLIBS="${TERMLIBS} -l${termlib}"; break]) done have_termlib=yes -# don't bother warning on djgpp, it doesn't have a term library, it -# ports each termcap-needing program separately according to its needs. -if test -z "$TERMLIBS" && echo "$build" | grep -v djgpp >/dev/null; then +# don't bother warning on djgpp and MinGW, they don't have a term library, +# and port each termcap-needing program separately according to the needs. +if test -z "$TERMLIBS" \ + && echo "$build" | grep -v djgpp | grep -v mingw >/dev/null; then AC_MSG_WARN([info needs a terminal library, one of: ${TERMLIB_VARIANTS}]) have_termlib=no fi @@ -329,7 +331,7 @@ # i18n support. To update to a new version of gettext, run: # gettextize -f -c # See http://gnu.org/s/gnulib/manual/html_node/gettextize-and-autopoint.html. -AM_GNU_GETTEXT_VERSION([0.18.2]) +AM_GNU_GETTEXT_VERSION([0.18.3]) AM_GNU_GETTEXT([external]) USE_EXTERNAL_LIBINTL=no diff -Nru texinfo-5.1.dfsg.1/contrib/bright-colors.css texinfo-5.2.0.dfsg.1/contrib/bright-colors.css --- texinfo-5.1.dfsg.1/contrib/bright-colors.css 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/contrib/bright-colors.css 2013-09-11 18:18:24.000000000 +0000 @@ -0,0 +1,212 @@ +/* === === === === === === === === === === === === === === === === === + + This file: texinfo_bright_colors.css + Version: 1.0 + Date: September 13, 2010 + Author: Jaakko Hollm@'en, e-mail: Jaakko.Hollmen@tkk.fi + + The purpose of this cascading style sheet (CSS) style file named + "texinfo_bright_colors.css" is to introduce several bright and + contrasting colors for the structural elements of an HTML file. + The primary focus of the CSS style is to observe the sturucture + of HTML files created with Texinfo documentation system, more + specifically texi2html. + + This is NOT a presentation style but a visualization of the + structure of an HTML file through coloring of the elements. + The style file may turn out to be useful for both developers of the + HTML outputting tools and the Texinfo documentation writers who + are interested to observe the outputted HTML structure. + + The coloring has been achieved by associating a background-color + to important HTML elements. Minimal formatting has been done, + although the body font and the headers h1 to h5 have been given + absolute sizes, and some expanded space has been introduced to + horizontal rulers hr in order to make them more visible. There + are margins around the document resembling a book-like presentation + in the browser. + + This Cascading Style Sheet (CSS) confroms to the CSS standard, + level 2.1. You can validate the correctness of your own + creation or modification of the current CSS style at the Web + address: http://jigsaw.w3.org/css-validator/ by one the three + input methods available. + + If you edit your already produced HTML file generated by hand, + change the section with + + + + and put the CSS file in the same directory, or simply by + inclusion of the css file when compiling: + + texi2dvi --css-include=texinfo_bright_colors.css my_doc.texi + + Note: The output will be very "colorful", with very, very bright + colors. You have been warned. + + --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- + + (c) Copyright, Jaakko Hollm@'en, Finland, Jaakko.Hollmen@tkk.fi + September, 2010 + + The current file "texinfo_bright_colors.css" is free software: + you can redistribute it and/or modify it under the terms of the + GNU General Public License as published by the Free Software + Foundation, either version 3 of the License, or (at your option) + any later version. + + The current file "texinfo_bright_colors.css" is distributed in + the hope that it will be useful, but WITHOUT ANY WARRANTY; + without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + === === === === === === === === === === === === === === === === */ + +body { +margin: 30px 10% 30px 8%; +background-color: white; +font-family: serif; +font-size: 1.0em; +} + +h1 { +font-size: 2.4em; +background-color: #FF0000; +} + +h2 { +font-size: 2.0em; +background-color: #FF0066; +} + +h3 { +font-size: 1.8em; +background-color: #FF00CC; +} + +h4 { +font-size: 1.6em; +background-color: #FF33FF; +; +} + +h5 { +font-size: 1.4em; +background-color: #FF99FF; +} + +p { +background-color: #B0B0B0; +} + +blockquote { +background-color: #FFCCFF; +} + +div.shortcontents { +background-color: #FF9900; +} + +div.contents { +background-color: #FF9900; +} + +div.defun { +background-color: #FF9900; +} + +div.float { +background-color: #FF9900; +} + +div.footnote { +background-color: #FF9900; +} + +div.node { +background-color: #FF9900; +} + +ul { +background-color: #FF9900; +} + +ol { +background-color: #CCFF33; +} + +table { +background-color: #FFFF00; +} + +tr { +background-color: #66FF00; +} + +td { +background-color: #66CC00; +} + +dl { +background-color: #00FF00; +} + +dt { +background-color: #66CC00; +} + +dd { +background-color: #00FFFF; +} + +pre.display { +background-color: #33CCFF; +} + +pre.smalldisplay { +background-color: #33CCFF; +} + +pre.example { +background-color: #33CCFF; +} + +pre.smallexample { +background-color: #33CCFF; +} + +pre.format { +background-color: #33CCFF; +} + +pre.smallformat { +background-color: #33CCFF; +} + +pre.lisp { +background-color: #33CCFF; +} + +pre.smalllisp { +background-color: #33CCFF; +} + +pre.sp { +background-color: #33CCFF; +} + +pre.verbatim { +background-color: #33CCFF; +} + +code { +background-color: #00FF00; +} + +hr { +background-color: #0000FF; +margin: 0.5em; +padding: 0.5em; +} diff -Nru texinfo-5.1.dfsg.1/contrib/perldoc-all/GNUmakefile texinfo-5.2.0.dfsg.1/contrib/perldoc-all/GNUmakefile --- texinfo-5.1.dfsg.1/contrib/perldoc-all/GNUmakefile 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/contrib/perldoc-all/GNUmakefile 2013-06-29 16:11:21.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: GNUmakefile 5191 2013-02-23 00:11:18Z karl $ +# $Id: GNUmakefile 5269 2013-06-29 16:11:15Z karl $ # Sample Makefile to build Texinfo from the Perl POD documentation, # using pod2texi. # @@ -34,21 +34,31 @@ all: $(texi_pod_doc_incl) rm -rf manual *.aux *.toc *.?? - gendocs.sh $(gendocs_args) $(texi_pod_doc) $(gendocs_title) +# turns out the combined docs overflow one of TeX's arrays; increase it. + env save_size=100000 \ + gendocs.sh $(gendocs_args) $(texi_pod_doc) $(gendocs_title) $(texi_pod_doc_incl): $(perl_pod_subdir)/*.pod rm -rf $(texi_pod_subdir) -# we omit the numerous delta pods, which are uninteresting when searching -# (and take tons of time and space). +# We remove all X<...> cross-reference constructs from the pods +# before processing, since they are not parsed properly, resulting +# in many chapters called simply "NAME", e.g., perldebug and perlsyn. +# And we omit the numerous delta pods, which are uninteresting when +# searching (and take tons of time and space to process). cd $(perl_pod_subdir) \ + && perl -p -i.bak -e 's,X<.*?>,,g' *.pod \ && $(pod2texi) -o $@ $(pod2texi_args) \ `ls *.pod | fgrep -v delta` \ && mv $(texi_pod_subdir) $@ ../.. -force: +www_target = $(HOME)/gnu/www/www/software/perl/manual +install: + cp -arf manual/. $(www_target)/. + ls -lt $(www_target)/html_chapter | tail # cvs rm -f obsolete files + # and cvs add new (status ?). # when running make dist, ensure we have none of the build files. # (Since the whole contrib/ directory is included in its entirety.) distclean: - rm -rf manual perl-5.16.2 $(texi_pod_doc) $(texi_pod_doc_incl) + rm -rf manual perl-5.*.* $(texi_pod_doc) $(texi_pod_doc_incl) rm -rf *.?? *.??? *.info *~ \#* diff -Nru texinfo-5.1.dfsg.1/contrib/perldoc-all/README texinfo-5.2.0.dfsg.1/contrib/perldoc-all/README --- texinfo-5.1.dfsg.1/contrib/perldoc-all/README 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/contrib/perldoc-all/README 2013-06-29 16:11:21.000000000 +0000 @@ -1,4 +1,4 @@ -$Id: README 5191 2013-02-23 00:11:18Z karl $ +$Id: README 5269 2013-06-29 16:11:15Z karl $ texinfo/contrib/perldoc-all/README Copyright 2013 Free Software Foundation, Inc. @@ -10,8 +10,10 @@ This stuff is about making Texinfo out of the standard Perl *.pod files. The results are at http://www.gnu.org/software/perl/manual. -The idea is to download the perl distribution here, as in, - wget http://www.cpan.org/src/5.0/perl-5.16.2.tar.gz +The idea is to unpack the perl distribution here, as in, + wget http://www.cpan.org/src/5.0/perl-5.NN.M.tar.gz # with right NN.M + tar xf perl-*.tar.gz and run (GNU) make. Aside from the result hopefully being useful in -itself, it also serves as a nontrivial example of using pod2texi. +itself (just copy the .info file to an Info directory), it also serves +as a nontrivial example of using pod2texi. diff -Nru texinfo-5.1.dfsg.1/contrib/perldoc-all/perldoc-all.texi texinfo-5.2.0.dfsg.1/contrib/perldoc-all/perldoc-all.texi --- texinfo-5.1.dfsg.1/contrib/perldoc-all/perldoc-all.texi 2013-02-19 22:25:28.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/contrib/perldoc-all/perldoc-all.texi 2013-03-14 16:05:37.000000000 +0000 @@ -2,6 +2,11 @@ @c This top-level file is so trivial, it has to be public domain. @setfilename perldoc-all.info @settitle Perl pod documentation +@finalout +@tex +\global\hfuzz=\maxdimen +\global\hbadness=10000 +@end tex @shortcontents @contents @@ -18,7 +23,7 @@ formats, and thought they would share the results. Suggestions welcome. This is created entirely by the Texinfo tools; see the -@url{http://cvs.savannah.gnu.org/viewvc/texinfo/contrib/perldoc-all/?root=texinfo, +@url{http://svn.savannah.gnu.org/viewvc/trunk/contrib/perldoc-all/?root=texinfo, @file{contrib/perldoc-all}} directory in the Texinfo sources for the procedure used. The output is available at @url{http://www.gnu.org/software/perl/manual}. diff -Nru texinfo-5.1.dfsg.1/debian/changelog texinfo-5.2.0.dfsg.1/debian/changelog --- texinfo-5.1.dfsg.1/debian/changelog 2013-11-18 11:56:23.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/changelog 2013-11-26 13:05:59.000000000 +0000 @@ -1,16 +1,27 @@ -texinfo (5.1.dfsg.1-4ubuntu2) trusty; urgency=low +texinfo (5.2.0.dfsg.1-2) unstable; urgency=low + * update mime handler for plain text output (Closes: #723711) * Use dh_autotools-dev to update config.{sub,guess} for new ports. + Patch from Ubuntu (Closes: #729863), thanks Matthias Klose + * Fix missing Ctrl-n key binding in info reader (from upstream) - -- Matthias Klose Mon, 18 Nov 2013 12:55:57 +0100 + -- Norbert Preining Tue, 26 Nov 2013 22:05:23 +0900 -texinfo (5.1.dfsg.1-4ubuntu1) saucy; urgency=low +texinfo (5.2.0.dfsg.1-1) unstable; urgency=low - * Merge with Debian unstable, remaining changes: - - Pass DEB_{HOST,BUILD}_GNU_TYPE to configure to fix cross-compiling. - - Work around upstream sources needing native ncurses for tools build. + * install mime handler for info files (thanks to Ryde Kevin) (Closes: #723711) + * new upstream release + * adapt patches and remove some upstream included ones - -- Dmitry Shachnev Sun, 14 Jul 2013 19:01:10 +0400 + -- Norbert Preining Mon, 30 Sep 2013 00:17:11 +0900 + +texinfo (5.1.dfsg.1-5) unstable; urgency=low + + * do not call mktexlsr without arguments in texinfo.postrm (Closes: #717901) + * allow for cross compiling, patch thanks to Eleanor Chen (Closes: #719907) + * fix building with perl 5.18 (from upstream svn) (Closes: #720866) + + -- Norbert Preining Thu, 05 Sep 2013 11:13:16 +0900 texinfo (5.1.dfsg.1-4) unstable; urgency=low @@ -20,14 +31,6 @@ -- Norbert Preining Thu, 11 Jul 2013 16:39:31 +0900 -texinfo (5.1.dfsg.1-3ubuntu1) saucy; urgency=low - - * Sync with Debian (LP: #1192393). Remaining changes: - - Pass DEB_{HOST,BUILD}_GNU_TYPE to configure to fix cross-compiling. - - Work around upstream sources needing native ncurses for tools build. - - -- Jeremy Bicha Tue, 18 Jun 2013 20:38:05 -0400 - texinfo (5.1.dfsg.1-3) unstable; urgency=low * use interest-noawait for install-info trigger (Closes: #707133) diff -Nru texinfo-5.1.dfsg.1/debian/control texinfo-5.2.0.dfsg.1/debian/control --- texinfo-5.1.dfsg.1/debian/control 2013-11-18 11:55:55.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/control 2013-11-26 13:05:59.000000000 +0000 @@ -1,8 +1,7 @@ Source: texinfo Section: doc Priority: standard -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian TeX maintainers +Maintainer: Debian TeX maintainers Uploaders: Norbert Preining , Frank Küster Build-Depends: debhelper (>= 7.0.50~), libncurses5-dev | libncurses-dev, gettext, libtext-unidecode-perl, libintl-perl, help2man, autotools-dev Standards-Version: 3.9.4 diff -Nru texinfo-5.1.dfsg.1/debian/info.mime texinfo-5.2.0.dfsg.1/debian/info.mime --- texinfo-5.1.dfsg.1/debian/info.mime 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/info.mime 2013-11-26 13:05:59.000000000 +0000 @@ -0,0 +1,7 @@ +application/x-info; /usr/bin/info -f '%s'; needsterminal; description=GNU Info document + +# ASCII text rendition, low priority. +# Info prints messages Messages like "info: Writing node (foo.info.gz)..." to +# stderr. Discard them, though alas doing so also loses any genuine error +# messages. Is there a "quiet" option? +application/x-info; /usr/bin/info --subnodes -o /dev/stdout -f '%s' 2>/dev/null; copiousoutput; description=GNU Info document; priority=1 diff -Nru texinfo-5.1.dfsg.1/debian/make-orig-tar texinfo-5.2.0.dfsg.1/debian/make-orig-tar --- texinfo-5.1.dfsg.1/debian/make-orig-tar 2013-07-15 06:48:16.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/make-orig-tar 2013-11-26 13:05:59.000000000 +0000 @@ -9,7 +9,7 @@ nonfreefiles="fdl.texi \ info-stnd.texi \ info.texi \ - texinfo.txi" + texinfo.texi" addcopyfiles="version-stnd.texi version.texi" curdir=$(pwd) @@ -28,6 +28,13 @@ exit 1 fi +fullversion=$version +case $version in + [0-9].[0-9]) + fullversion=${version}.0 + ;; +esac + case $fname in /*) : nothing ;; @@ -43,12 +50,12 @@ exit 1 fi -mkdir texinfo-doc-nonfree-$version +mkdir texinfo-doc-nonfree-$fullversion -mv texinfo-$version texinfo-${version}.dfsg.1 -cd texinfo-${version}.dfsg.1/doc +mv texinfo-$version texinfo-${fullversion}.dfsg.1 +cd texinfo-${fullversion}.dfsg.1/doc for i in $nonfreefiles $addcopyfiles ; do - cp $i ../../texinfo-doc-nonfree-$version + cp $i ../../texinfo-doc-nonfree-$fullversion done for i in $nonfreefiles ; do rm $i @@ -56,23 +63,23 @@ cd ../.. -tar -cJf texinfo-${version}.dfsg.1.tar.xz texinfo-${version}.dfsg.1 -tar -cJf texinfo-doc-nonfree-${version}.tar.xz texinfo-doc-nonfree-$version +tar -cJf texinfo-${fullversion}.dfsg.1.tar.xz texinfo-${fullversion}.dfsg.1 +tar -cJf texinfo-doc-nonfree-${fullversion}.tar.xz texinfo-doc-nonfree-$fullversion -if [ -r "$curdir/texinfo-${version}.dfsg.1.tar.xz" ] ; then - echo "texinfo-${version}.dfsg.1.tar.xz already present in cwd, leaving it in $tmpdir" +if [ -r "$curdir/texinfo-${fullversion}.dfsg.1.tar.xz" ] ; then + echo "texinfo-${fullversion}.dfsg.1.tar.xz already present in cwd, leaving it in $tmpdir" else - mv texinfo-${version}.dfsg.1.tar.xz "$curdir" + mv texinfo-${fullversion}.dfsg.1.tar.xz "$curdir" fi -if [ -r "$curdir/texinfo-doc-nonfree-${version}.tar.xz" ] ; then - echo "texinfo-doc-nonfree-${version}.tar.xz already present in cwd, leaving it in $tmpdir" +if [ -r "$curdir/texinfo-doc-nonfree-${fullversion}.tar.xz" ] ; then + echo "texinfo-doc-nonfree-${fullversion}.tar.xz already present in cwd, leaving it in $tmpdir" else - mv texinfo-doc-nonfree-${version}.tar.xz "$curdir" + mv texinfo-doc-nonfree-${fullversion}.tar.xz "$curdir" fi -rm -rf texinfo-${version}.dfsg.1 -rm -rf texinfo-doc-nonfree-$version +rm -rf texinfo-${fullversion}.dfsg.1 +rm -rf texinfo-doc-nonfree-$fullversion cd $curdir rmdir --ignore-fail-on-non-empty $tmpdir diff -Nru texinfo-5.1.dfsg.1/debian/patches/dont_build_info texinfo-5.2.0.dfsg.1/debian/patches/dont_build_info --- texinfo-5.1.dfsg.1/debian/patches/dont_build_info 2013-07-15 06:48:16.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/dont_build_info 2013-11-26 13:05:59.000000000 +0000 @@ -5,12 +5,12 @@ --- texinfo.orig/doc/Makefile.in +++ texinfo/doc/Makefile.in -@@ -210,14 +210,16 @@ +@@ -240,14 +240,16 @@ am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) am__v_texidevnull_0 = > /dev/null am__v_texidevnull_1 = --INFO_DEPS = texinfo info-stnd.info info.info -+#INFO_DEPS = texinfo info-stnd.info info.info +-INFO_DEPS = texinfo.info info-stnd.info info.info ++#INFO_DEPS = texinfo.info info-stnd.info info.info +INFO_DEPS = TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux @@ -18,20 +18,20 @@ PDFS = texinfo.pdf info-stnd.pdf info.pdf PSS = texinfo.ps info-stnd.ps info.ps HTMLS = texinfo.html info-stnd.html info.html --TEXINFOS = texinfo.txi info-stnd.texi info.texi -+#TEXINFOS = texinfo.txi info-stnd.texi info.texi +-TEXINFOS = texinfo.texi info-stnd.texi info.texi ++#TEXINFOS = texinfo.texi info-stnd.texi info.texi +TEXINFOS = TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html -@@ -1006,8 +1008,10 @@ +@@ -1044,8 +1046,10 @@ SUBDIRS = tp_api - # Put texinfo.txi first because that's the most important. --info_TEXINFOS = texinfo.txi info-stnd.texi info.texi --DISTCLEANFILES = texinfo texinfo-* info*.info* -+#info_TEXINFOS = texinfo.txi info-stnd.texi info.texi -+#DISTCLEANFILES = texinfo texinfo-* info*.info* + # Put the Texinfo manual first because that's the most important. +-info_TEXINFOS = texinfo.texi info-stnd.texi info.texi +-DISTCLEANFILES = texinfo.info* info*.info* ++#info_TEXINFOS = texinfo.texi info-stnd.texi info.texi ++#DISTCLEANFILES = texinfo.info* info*.info* +info_TEXINFOS = +DISTCLEANFILES = diff -Nru texinfo-5.1.dfsg.1/debian/patches/fix-broken-po-files texinfo-5.2.0.dfsg.1/debian/patches/fix-broken-po-files --- texinfo-5.1.dfsg.1/debian/patches/fix-broken-po-files 2013-07-15 06:48:16.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/fix-broken-po-files 2013-11-26 13:05:59.000000000 +0000 @@ -7,7 +7,7 @@ --- texinfo.orig/po/id.po +++ texinfo/po/id.po -@@ -2166,7 +2166,7 @@ +@@ -2260,7 +2260,7 @@ "Ini adalah berkas .../info/dir, yang berisi\n" "titik paling atas dari struktur Info, dipanggil (dir)Top.\n" "Pertama kali anda memanggil Info anda berawal dari melihat titik ini.\n" diff -Nru texinfo-5.1.dfsg.1/debian/patches/info_universal_argument texinfo-5.2.0.dfsg.1/debian/patches/info_universal_argument --- texinfo-5.1.dfsg.1/debian/patches/info_universal_argument 2013-07-15 06:48:16.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/info_universal_argument 2013-11-26 13:05:59.000000000 +0000 @@ -5,12 +5,12 @@ --- texinfo.orig/po/ro.po +++ texinfo/po/ro.po -@@ -1817,7 +1817,7 @@ +@@ -1900,7 +1900,7 @@ - #: info/session.c:5216 + #: info/session.c:5312 msgid "Internally used by \\[universal-argument]" -msgstr "Folosit intern de \\[argument-universal]" +msgstr "Folosit intern de \\[universal-argument]" - #: info/tilde.c:361 - #, c-format + #: info/session.c:5388 + msgid "Show full file name of node being displayed" diff -Nru texinfo-5.1.dfsg.1/debian/patches/maybe-upstream-fix-itemize-start texinfo-5.2.0.dfsg.1/debian/patches/maybe-upstream-fix-itemize-start --- texinfo-5.1.dfsg.1/debian/patches/maybe-upstream-fix-itemize-start 2013-07-15 06:49:23.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/maybe-upstream-fix-itemize-start 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -Fix continuation of @enumerate with numbers >= 10 -Bug report #709673 -patch is discussed on texinfo ml, but not decided by now ---- - tp/Texinfo/Common.pm | 2 +- - tp/Texinfo/Parser.pm | 3 ++- - 2 files changed, 3 insertions(+), 2 deletions(-) - ---- texinfo.orig/tp/Texinfo/Common.pm -+++ texinfo/tp/Texinfo/Common.pm -@@ -1382,7 +1382,7 @@ - my $specification = shift; - my $number = shift; - -- if ($specification =~ /^[0-9]$/) { -+ if ($specification =~ /^[0-9]+$/) { - return $specification + $number -1; - } - ---- texinfo.orig/tp/Texinfo/Parser.pm -+++ texinfo/tp/Texinfo/Parser.pm -@@ -2973,7 +2973,8 @@ - $current->{'cmdname'}); - } - my $arg = $current->{'extra'}->{'block_command_line_contents'}->[0]->[0]; -- if (!defined($arg->{'text'}) or $arg->{'text'} !~ /^[[:alnum:]]$/) { -+ if (!defined($arg->{'text'}) or ($arg->{'text'} !~ /^[[:alnum:]]$/ and -+ $arg->{'text'} !~ /^[0-9]+$/)) { - $self->_command_error($current, $line_nr, - $self->__("bad argument to \@%s"), - $current->{'cmdname'}); diff -Nru texinfo-5.1.dfsg.1/debian/patches/numerical-signal-names texinfo-5.2.0.dfsg.1/debian/patches/numerical-signal-names --- texinfo-5.1.dfsg.1/debian/patches/numerical-signal-names 2013-07-15 06:48:16.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/numerical-signal-names 2013-11-26 13:05:59.000000000 +0000 @@ -7,7 +7,7 @@ --- texinfo.orig/util/texi2dvi +++ texinfo/util/texi2dvi -@@ -1948,7 +1948,7 @@ +@@ -1959,7 +1959,7 @@ sed "s,^$orig_pwd/,,;s,^\./,,;s,/,!,g"` esac # Remove it at exit if clean mode. diff -Nru texinfo-5.1.dfsg.1/debian/patches/series texinfo-5.2.0.dfsg.1/debian/patches/series --- texinfo-5.1.dfsg.1/debian/patches/series 2013-07-15 06:49:23.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/series 2013-11-26 13:05:59.000000000 +0000 @@ -3,4 +3,4 @@ numerical-signal-names info_universal_argument dont_build_info -maybe-upstream-fix-itemize-start +upstream-ctrl-n diff -Nru texinfo-5.1.dfsg.1/debian/patches/upstream-ctrl-n texinfo-5.2.0.dfsg.1/debian/patches/upstream-ctrl-n --- texinfo-5.1.dfsg.1/debian/patches/upstream-ctrl-n 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/upstream-ctrl-n 2013-11-26 13:05:59.000000000 +0000 @@ -0,0 +1,15 @@ +fix missing Ctrl-n key binding in info, included upstream +--- + info/infomap.c | 1 + + 1 file changed, 1 insertion(+) + +--- texinfo.orig/info/infomap.c ++++ texinfo/info/infomap.c +@@ -297,6 +297,7 @@ + CONTROL('f'), NUL, A_info_forward_char, + CONTROL('h'), NUL, A_info_get_help_window, + CONTROL('l'), NUL, A_info_redraw_display, ++ CONTROL('n'), NUL, A_info_next_line, + CONTROL('p'), NUL, A_info_prev_line, + CONTROL('r'), NUL, A_isearch_backward, + CONTROL('s'), NUL, A_isearch_forward, diff -Nru texinfo-5.1.dfsg.1/debian/patches/warn_missing_tex texinfo-5.2.0.dfsg.1/debian/patches/warn_missing_tex --- texinfo-5.1.dfsg.1/debian/patches/warn_missing_tex 2013-07-15 06:48:16.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/patches/warn_missing_tex 2013-11-26 13:05:59.000000000 +0000 @@ -24,5 +24,5 @@ + + # This string is expanded automatically when this file is checked out. - rcs_revision='$Revision: 5234 $' + rcs_revision='$Revision: 5381 $' rcs_version=`set - $rcs_revision; echo $2` diff -Nru texinfo-5.1.dfsg.1/debian/rules texinfo-5.2.0.dfsg.1/debian/rules --- texinfo-5.1.dfsg.1/debian/rules 2013-11-18 11:55:44.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/rules 2013-11-26 13:05:59.000000000 +0000 @@ -3,13 +3,12 @@ #export DH_VERBOSE=1 export DH_OPTIONS -DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) - DEB_CFLAGS_MAINT_APPEND=-Wall # needed for correct building of new texinfo DEB_CFLAGS_MAINT_STRIP=-Werror=format-security +DEB_HOST_GNU_TYPE=$(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) + texinfo := $(CURDIR)/debian/texinfo ii := $(CURDIR)/debian/install-info tmpdir := $(CURDIR)/debian/tmp @@ -25,15 +24,8 @@ --with-external-Text-Unidecode=yes \ --with-external-libintl-perl=yes \ --prefix=/usr \ - --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \ - --infodir='$${prefix}/share/info' --mandir='$${prefix}/share/man' -ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE)) - # work around upstream sources needing native curses for tools builds: - $(MAKE) -C tools/gnulib/lib - $(MAKE) -C tools \ - TERMLIBS="/lib/$(DEB_BUILD_GNU_TYPE)/libncurses.so.5" \ - TERMLIBS+="/lib/$(DEB_BUILD_GNU_TYPE)/libtinfo.so.5" -endif + --infodir='$${prefix}/share/info' --mandir='$${prefix}/share/man' \ + --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) $(MAKE) touch $@ @@ -99,10 +91,13 @@ doc/refcard/txirefcard*.pdf dh_installmenu + dh_installmime dh_installchangelogs ChangeLog +ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) ifeq "$(findstring nostrip,$(DEB_BUILD_OPTIONS))" "" dh_strip endif +endif dh_compress dh_fixperms dh_installdeb diff -Nru texinfo-5.1.dfsg.1/debian/texinfo.postrm texinfo-5.2.0.dfsg.1/debian/texinfo.postrm --- texinfo-5.1.dfsg.1/debian/texinfo.postrm 2013-07-15 06:48:16.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/debian/texinfo.postrm 2013-11-26 13:05:59.000000000 +0000 @@ -4,7 +4,7 @@ { tempfile=`mktemp -p /tmp checkrun.XXXXXXXX` if which $1 >/dev/null; then - echo -n "Running $*. This may take some time. ..." + echo -n "Running $1. This may take some time. ..." set +e $* > $tempfile 2>&1 if [ $? = 0 ] ; then @@ -47,7 +47,7 @@ rm -f /var/lib/texmf/web2c/texinfo.* rm -f /var/lib/texmf/web2c/cyrtexinfo.* check_run_without_errors update-fmtutil - check_run_without_errors mktexlsr + check_run_without_errors mktexlsr /usr/share/texmf /var/lib/texmf ;; purge|upgrade|failed-upgrade|abort-upgrade|abort-install) ;; diff -Nru texinfo-5.1.dfsg.1/doc/Makefile.am texinfo-5.2.0.dfsg.1/doc/Makefile.am --- texinfo-5.1.dfsg.1/doc/Makefile.am 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/Makefile.am 2013-09-13 17:07:28.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5376 2013-09-13 17:07:26Z karl $ # Makefile.am for texinfo/doc. # # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, @@ -14,9 +14,9 @@ SUBDIRS = tp_api -# Put texinfo.txi first because that's the most important. -info_TEXINFOS = texinfo.txi info-stnd.texi info.texi -DISTCLEANFILES = texinfo texinfo-* info*.info* +# Put the Texinfo manual first because that's the most important. +info_TEXINFOS = texinfo.texi info-stnd.texi info.texi +DISTCLEANFILES = texinfo.info* info*.info* # Use the programs built in our distribution, taking account of possible # cross-compiling. @@ -101,7 +101,7 @@ rm -rf $(doctemp) && mkdir $(doctemp) cd $(doctemp) \ && pod2html $(abs_top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl >pod2texi.html \ - && ln -s ../*.texi ../*.txi . \ + && ln -s ../*.texi . \ && $(gendocs_invoke) -o $(manual1) $(manual1) $(manual1_title) \ && $(gendocs_invoke) -o $(manual2) $(manual2) $(manual2_title) \ && $(gendocs_invoke) -o $(manual3) $(manual3) $(manual3_title) diff -Nru texinfo-5.1.dfsg.1/doc/Makefile.in texinfo-5.2.0.dfsg.1/doc/Makefile.in --- texinfo-5.1.dfsg.1/doc/Makefile.in 2013-03-12 22:56:43.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,7 @@ @SET_MAKE@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5376 2013-09-13 17:07:26Z karl $ # Makefile.am for texinfo/doc. # # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, @@ -28,23 +28,51 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -104,6 +132,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -152,6 +181,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -210,14 +240,14 @@ am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@) am__v_texidevnull_0 = > /dev/null am__v_texidevnull_1 = -INFO_DEPS = texinfo info-stnd.info info.info +INFO_DEPS = texinfo.info info-stnd.info info.info TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux DVIS = texinfo.dvi info-stnd.dvi info.dvi PDFS = texinfo.pdf info-stnd.pdf info.pdf PSS = texinfo.ps info-stnd.ps info.ps HTMLS = texinfo.html info-stnd.html info.html -TEXINFOS = texinfo.txi info-stnd.texi info.texi +TEXINFOS = texinfo.texi info-stnd.texi info.texi TEXI2DVI = texi2dvi TEXI2PDF = $(TEXI2DVI) --pdf --batch MAKEINFOHTML = $(MAKEINFO) --html @@ -752,8 +782,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -764,7 +798,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = $(PERL) -I "$(tpdir)" -I "$(tplibdir)/libintl-perl/lib" -I "$(tplibdir)/Unicode-EastAsianWidth/lib" -I "$(tplibdir)/Text-Unidecode/lib" $(top_builddir)/tp/texi2any MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -918,6 +955,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -1005,9 +1043,9 @@ top_srcdir = @top_srcdir@ SUBDIRS = tp_api -# Put texinfo.txi first because that's the most important. -info_TEXINFOS = texinfo.txi info-stnd.texi info.texi -DISTCLEANFILES = texinfo texinfo-* info*.info* +# Put the Texinfo manual first because that's the most important. +info_TEXINFOS = texinfo.texi info-stnd.texi info.texi +DISTCLEANFILES = texinfo.info* info*.info* # Use the programs built in our distribution, taking account of possible # cross-compiling. @@ -1095,7 +1133,7 @@ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -texinfo: texinfo.txi $(srcdir)/version.texi +texinfo.info: texinfo.texi $(srcdir)/version.texi $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \ rm -rf $$backupdir && mkdir $$backupdir && \ if ($(MAKEINFO) --version) >/dev/null 2>&1; then \ @@ -1104,7 +1142,7 @@ done; \ else :; fi && \ if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $@ `test -f 'texinfo.txi' || echo '$(srcdir)/'`texinfo.txi; \ + -o $@ `test -f 'texinfo.texi' || echo '$(srcdir)/'`texinfo.texi; \ then \ rc=0; \ else \ @@ -1113,35 +1151,31 @@ fi; \ rm -rf $$backupdir; exit $$rc -texinfo.dvi: texinfo.txi $(srcdir)/version.texi +texinfo.dvi: texinfo.texi $(srcdir)/version.texi $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \ - `test -f 'texinfo.txi' || echo '$(srcdir)/'`texinfo.txi + `test -f 'texinfo.texi' || echo '$(srcdir)/'`texinfo.texi -texinfo.pdf: texinfo.txi $(srcdir)/version.texi +texinfo.pdf: texinfo.texi $(srcdir)/version.texi $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \ - `test -f 'texinfo.txi' || echo '$(srcdir)/'`texinfo.txi + `test -f 'texinfo.texi' || echo '$(srcdir)/'`texinfo.texi -texinfo.html: texinfo.txi $(srcdir)/version.texi +texinfo.html: texinfo.texi $(srcdir)/version.texi $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp) $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ - -o $(@:.html=.htp) `test -f 'texinfo.txi' || echo '$(srcdir)/'`texinfo.txi; \ + -o $(@:.html=.htp) `test -f 'texinfo.texi' || echo '$(srcdir)/'`texinfo.texi; \ then \ - rm -rf $@; \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + rm -rf $@ && mv $(@:.html=.htp) $@; \ else \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ - exit 1; \ + rm -rf $(@:.html=.htp); exit 1; \ fi $(srcdir)/version.texi: $(srcdir)/stamp-vti -$(srcdir)/stamp-vti: texinfo.txi $(top_srcdir)/configure - @(dir=.; test -f ./texinfo.txi || dir=$(srcdir); \ - set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/texinfo.txi`; \ +$(srcdir)/stamp-vti: texinfo.texi $(top_srcdir)/configure + @(dir=.; test -f ./texinfo.texi || dir=$(srcdir); \ + set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/texinfo.texi`; \ echo "@set UPDATED $$1 $$2 $$3"; \ echo "@set UPDATED-MONTH $$2 $$3"; \ echo "@set EDITION $(VERSION)"; \ @@ -1193,13 +1227,9 @@ $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) `test -f 'info-stnd.texi' || echo '$(srcdir)/'`info-stnd.texi; \ then \ - rm -rf $@; \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + rm -rf $@ && mv $(@:.html=.htp) $@; \ else \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ - exit 1; \ + rm -rf $(@:.html=.htp); exit 1; \ fi $(srcdir)/version-stnd.texi: $(srcdir)/stamp-1 $(srcdir)/stamp-1: info-stnd.texi $(top_srcdir)/configure @@ -1256,13 +1286,9 @@ $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ -o $(@:.html=.htp) `test -f 'info.texi' || echo '$(srcdir)/'`info.texi; \ then \ - rm -rf $@; \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + rm -rf $@ && mv $(@:.html=.htp) $@; \ else \ - if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ - rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ - exit 1; \ + rm -rf $(@:.html=.htp); exit 1; \ fi .dvi.ps: $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ @@ -1352,13 +1378,12 @@ # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ @@ -1752,7 +1777,7 @@ rm -rf $(doctemp) && mkdir $(doctemp) cd $(doctemp) \ && pod2html $(abs_top_srcdir)/Pod-Simple-Texinfo/pod2texi.pl >pod2texi.html \ - && ln -s ../*.texi ../*.txi . \ + && ln -s ../*.texi . \ && $(gendocs_invoke) -o $(manual1) $(manual1) $(manual1_title) \ && $(gendocs_invoke) -o $(manual2) $(manual2) $(manual2_title) \ && $(gendocs_invoke) -o $(manual3) $(manual3) $(manual3_title) diff -Nru texinfo-5.1.dfsg.1/doc/refcard/txicmdcheck texinfo-5.2.0.dfsg.1/doc/refcard/txicmdcheck --- texinfo-5.1.dfsg.1/doc/refcard/txicmdcheck 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/refcard/txicmdcheck 2013-08-16 13:50:05.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/env perl -# $Id: txicmdcheck 5191 2013-02-23 00:11:18Z karl $ -# Copyright 2008, 2011, 2012 Free Software Foundation, Inc. +# $Id: txicmdcheck 5320 2013-08-16 13:50:01Z karl $ +# Copyright 2008, 2011, 2012, 2013 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -26,7 +26,7 @@ my $no_common = $ARGV[0] eq "--no-common"; my @card_cmds = &read_refcard ("txirefcard.tex"); - my @man_cmds = &read_refman ("../texinfo.txi"); + my @man_cmds = &read_refman ("../texinfo.texi"); my @tp_cmds = &read_tp ("../../util/txicmdlist"); # perhaps we should check against the manual's fnindex too. Binary files /tmp/yE5psEzN_2/texinfo-5.1.dfsg.1/doc/refcard/txirefcard-a4.pdf and /tmp/LyEUjI056s/texinfo-5.2.0.dfsg.1/doc/refcard/txirefcard-a4.pdf differ Binary files /tmp/yE5psEzN_2/texinfo-5.1.dfsg.1/doc/refcard/txirefcard.pdf and /tmp/LyEUjI056s/texinfo-5.2.0.dfsg.1/doc/refcard/txirefcard.pdf differ diff -Nru texinfo-5.1.dfsg.1/doc/refcard/txirefcard.tex texinfo-5.2.0.dfsg.1/doc/refcard/txirefcard.tex --- texinfo-5.1.dfsg.1/doc/refcard/txirefcard.tex 2013-03-12 22:56:34.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/refcard/txirefcard.tex 2013-09-26 23:04:02.000000000 +0000 @@ -1,5 +1,5 @@ % Texinfo reference card. -% $Id: txirefcard.tex 5234 2013-03-12 22:56:31Z karl $ +% $Id: txirefcard.tex 5381 2013-09-26 23:03:58Z karl $ % %**start of header % This file can be printed with 1, 2, or 3 columns per page (see below). @@ -46,10 +46,10 @@ % use TeX. % % Much of the text is based on, and sometimes copied from, the @-Command -% Summary node in texinfo.txi, written primarily by Bob Chassell. +% Summary node in the Texinfo manual, originally written by Bob Chassell. \def\versionyear{2013} % year manual was updated -\def\versionTexinfo{5.1} % version of Texinfo this manual is for +\def\versionTexinfo{5.2} % version of Texinfo this manual is for \def\copyrightnotice{% \vskip 1ex plus 1filll\begingroup\small @@ -835,6 +835,7 @@ \txicmd{@ifnotdocbook @ifnothtml @ifnotplaintext @ifnottex @ifnotxml}{\dots\code{@end ifnot\var{format}}}{Begin text to be ignored in one output format but no others: \code{@ifnothtml} text is omitted from \acro{HTML} output, etc.} \txicmd{@ifnotinfo}{\dots\code{@end ifnotinfo}}{Like the other \code{@ifnot\dots} commands, but omit from plain text output as well as Info.} \txicmd{@inlinefmt}{\ttbraced{format, text}}{Include Texinfo \var{text} only in \var{format} output.} +\txicmd{@inlinefmtifelse}{\ttbraced{format, then-text, else-text}}{Include either \var{then-text} or \var{else-text} according to whether \var{format} is being output.} \subsection{Raw formatter text} @@ -847,10 +848,12 @@ \subsection{Document variables} \txicmd{@set}{name \rmbrack[string]}{Define the Texinfo variable \var{name}, optionally to the value \var{string}.} -\txicmd{@clear}{name}{Undefine the Texinfo variable \var{name}.} -\txicmd{@value}{\ttbraced{name}}{Insert the value of the Texinfo variable \var{name}.} -\txicmd{@ifset}{name \dots\code{@end ifset}}{If the Texinfo variable \var{name} is set, format the enclosed text.} -\txicmd{@ifclear}{flag \dots\code{@end ifclear}}{If the Texinfo variable \var{name} is not set, format the enclosed text.} +\txicmd{@clear}{name}{Undefine \var{name}.} +\txicmd{@value}{\ttbraced{name}}{Insert the value of \var{name}.} +\txicmd{@ifset}{name \dots\code{@end ifset}}{If \var{name} is set, format enclosed text.} +\txicmd{@ifclear}{name \dots\code{@end ifclear}}{If \var{name} is not set, format enclosed text.} +\txicmd{@inlineifset}{\ttbraced{name, text}}{If \var{name} is set, format \var{text}.} +\txicmd{@inlineifclear}{\ttbraced{name, text}}{If \var{name} is notset, format \var{text}.} \subsection{Testing for commands} diff -Nru texinfo-5.1.dfsg.1/doc/stamp-1 texinfo-5.2.0.dfsg.1/doc/stamp-1 --- texinfo-5.1.dfsg.1/doc/stamp-1 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/stamp-1 2013-09-26 23:05:00.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 22 February 2013 -@set UPDATED-MONTH February 2013 -@set EDITION 5.1 -@set VERSION 5.1 +@set UPDATED 22 August 2013 +@set UPDATED-MONTH August 2013 +@set EDITION 5.2 +@set VERSION 5.2 diff -Nru texinfo-5.1.dfsg.1/doc/stamp-vti texinfo-5.2.0.dfsg.1/doc/stamp-vti --- texinfo-5.1.dfsg.1/doc/stamp-vti 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/stamp-vti 2013-09-26 23:05:00.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 11 March 2013 -@set UPDATED-MONTH March 2013 -@set EDITION 5.1 -@set VERSION 5.1 +@set UPDATED 26 September 2013 +@set UPDATED-MONTH September 2013 +@set EDITION 5.2 +@set VERSION 5.2 diff -Nru texinfo-5.1.dfsg.1/doc/texinfo.tex texinfo-5.2.0.dfsg.1/doc/texinfo.tex --- texinfo-5.1.dfsg.1/doc/texinfo.tex 2013-02-22 00:47:03.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/texinfo.tex 2013-09-11 18:57:37.000000000 +0000 @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2013-02-01.11} +\def\texinfoversion{2013-09-11.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -281,9 +281,9 @@ \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% - \the\toks0 \the\toks2 - \noexpand\or \the\toks4 \the\toks6 - \noexpand\else \the\toks8 + \the\toks0 \the\toks2 % 0: top marks (\last...) + \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...) + \noexpand\else \the\toks8 % 2: color marks }% } % \topmark doesn't work for the very first chapter (after the title @@ -322,10 +322,13 @@ % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). + \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars} + % \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% + \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% + % \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi - \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% + \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to @@ -2377,8 +2380,10 @@ \ifx\next,% \else\ifx\next-% \else\ifx\next.% + \else\ifx\next\.% + \else\ifx\next\comma% \else\ptexslash - \fi\fi\fi + \fi\fi\fi\fi\fi \aftersmartic } @@ -2475,14 +2480,14 @@ } % We *must* turn on hyphenation at `-' and `_' in @code. +% (But see \codedashfinish below.) % Otherwise, it is too hard to avoid overfull hboxes % in the Emacs manual, the Library manual, etc. % % Unfortunately, TeX uses one parameter (\hyphenchar) to control % both hyphenation at - and hyphenation within words. % We must therefore turn them both off (\tclose does that) -% and arrange explicitly to hyphenate at a dash. -% -- rms. +% and arrange explicitly to hyphenate at a dash. -- rms. { \catcode`\-=\active \catcode`\_=\active \catcode`\'=\active \catcode`\`=\active @@ -2499,14 +2504,35 @@ \let-\normaldash \let_\realunder \fi + % Given -foo (with a single dash), we do not want to allow a break + % after the hyphen. + \global\let\codedashprev=\codedash + % \codex } + % + \gdef\codedash{\futurelet\next\codedashfinish} + \gdef\codedashfinish{% + \normaldash % always output the dash character itself. + % + % Now, output a discretionary to allow a line break, unless + % (a) the next character is a -, or + % (b) the preceding character is a -. + % E.g., given --posix, we do not want to allow a break after either -. + % Given --foo-bar, we do want to allow a break between the - and the b. + \ifx\next\codedash \else + \ifx\codedashprev\codedash + \else \discretionary{}{}{}\fi + \fi + % we need the space after the = for the case when \next itself is a + % space token; it would get swallowed otherwise. As in @code{- a}. + \global\let\codedashprev= \next + } } - +\def\normaldash{-} +% \def\codex #1{\tclose{#1}\endgroup} -\def\normaldash{-} -\def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) @@ -2868,6 +2894,15 @@ \def\inlinefmtname{#1}% \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi } +% +% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if +% FMTNAME is tex, else ELSE-TEXT. +\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} +\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi +} +% % For raw, must switch into @tex before parsing the argument, to avoid % setting catcodes prematurely. Doing it this way means that, for % example, @inlineraw{html, foo{bar} gets a parse error instead of being @@ -2884,6 +2919,23 @@ \endgroup % close group opened by \tex. } +% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set. +% +\long\def\inlineifset#1{\doinlineifset #1,\finish} +\long\def\doinlineifset#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax + \else\ignorespaces#2\fi +} + +% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set. +% +\long\def\inlineifclear#1{\doinlineifclear #1,\finish} +\long\def\doinlineifclear#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi +} + \message{glyphs,} % and logos. @@ -4179,7 +4231,7 @@ \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { - \catcode`\- = \active \catcode`\_ = \active + \catcode`\-=\active \catcode`\_=\active % \gdef\makevalueexpandable{% \let\value = \expandablevalue @@ -4199,7 +4251,12 @@ % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). -% +% +% Unfortunately, this has the consequence that when _ is in the *value* +% of an @set, it does not print properly in the roman fonts (get the cmr +% dot accent at position 126 instead). No fix comes to mind, and it's +% been this way since 2003 or earlier, so just ignore it. +% \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% @@ -4211,8 +4268,9 @@ % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. -% -% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +% To get the special treatment we need for `@end ifset,' we call +% \makecond and then redefine. % \makecond{ifset} \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} @@ -5885,7 +5943,7 @@ % % Now the second mark, after the heading break. No break points % between here and the heading. - \let\prevsectiondefs=\lastsectiondefs + \global\let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. @@ -6252,8 +6310,8 @@ \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other - \catcode`\`=\other - \catcode`\'=\other + \catcode `\`=\other + \catcode `\'=\other \escapechar=`\\ % % ' is active in math mode (mathcode"8000). So reset it, and all our @@ -6277,7 +6335,7 @@ \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext - \expandafter \let\csname top\endcsname=\ptextop % outer + \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% @@ -6402,7 +6460,7 @@ \newdimen\nonfillparindent \def\nonfillstart{% \aboveenvbreak - \hfuzz = 12pt % Don't be fussy + \ifdim\hfuzz < 12pt \hfuzz = 12pt \fi % Don't be fussy \sepspaces % Make spaces be word-separators rather than space tokens. \let\par = \lisppar % don't ignore blank lines \obeylines % each line of input is a line of output @@ -9920,11 +9978,9 @@ \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote -\catcode`\~=\active -\def~{{\tt\char126}} +\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde \chardef\hat=`\^ -\catcode`\^=\active -\def^{{\tt \hat}} +\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} @@ -9934,16 +9990,26 @@ \catcode`\|=\active \def|{{\tt\char124}} + \chardef \less=`\< -\catcode`\<=\active -\def<{{\tt \less}} +\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless \chardef \gtr=`\> -\catcode`\>=\active -\def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -\catcode`\$=\active -\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix +\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr +\catcode`\+=\active \def+{{\tt \char 43}} +\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix + +% used for headline/footline in the output routine, in case the page +% breaks in the middle of an @tex block. +\def\texinfochars{% + \let< = \activeless + \let> = \activegtr + \let~ = \activetilde + \let^ = \activehat + \markupsetuplqdefault \markupsetuprqdefault + \let\b = \strong + \let\i = \smartitalic + % in principle, all other definitions in \tex have to be undone too. +} % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. diff -Nru texinfo-5.1.dfsg.1/doc/tp_api/Makefile.in texinfo-5.2.0.dfsg.1/doc/tp_api/Makefile.in --- texinfo-5.1.dfsg.1/doc/tp_api/Makefile.in 2013-03-12 22:56:43.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/tp_api/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,23 +28,51 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -100,6 +128,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -148,6 +177,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -619,8 +649,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -631,7 +665,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ # Use the programs built in our distribution, taking account of possible # cross-compiling. @@ -788,6 +825,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ diff -Nru texinfo-5.1.dfsg.1/doc/tp_api/api_includes/Texinfo-Parser.texi texinfo-5.2.0.dfsg.1/doc/tp_api/api_includes/Texinfo-Parser.texi --- texinfo-5.1.dfsg.1/doc/tp_api/api_includes/Texinfo-Parser.texi 2013-03-08 17:36:14.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/tp_api/api_includes/Texinfo-Parser.texi 2013-09-26 22:51:14.000000000 +0000 @@ -1398,33 +1398,33 @@ The author tree element is in the @emph{author} array of the @code{@@titlepage} or the @code{@@quotation} or @code{@@smallquotation} it is associated with. -@item @@ifclear -@anchor{Texinfo::Parser @@ifclear} +@item @code{@@ifclear} +@anchor{Texinfo::Parser @code{@@ifclear}} -@item @@ifset -@anchor{Texinfo::Parser @@ifset} +@item @code{@@ifset} +@anchor{Texinfo::Parser @code{@@ifset}} The original line is in @emph{line}. -@item @@end -@anchor{Texinfo::Parser @@end} +@item @code{@@end} +@anchor{Texinfo::Parser @code{@@end}} The textual argument is in @emph{command_argument}. The corresponding @@-command is in @emph{command}. -@item @@documentencoding -@anchor{Texinfo::Parser @@documentencoding} +@item @code{@@documentencoding} +@anchor{Texinfo::Parser @code{@@documentencoding}} The argument, normalized is in @emph{input_encoding_name} if it is recognized. The corresponding perl encoding name is in @emph{input_perl_encoding}. -@item @@click -@anchor{Texinfo::Parser @@click} +@item @code{@@click} +@anchor{Texinfo::Parser @code{@@click}} In @emph{clickstyle} there is the current clickstyle command. -@item kbd -@anchor{Texinfo::Parser kbd} +@item @code{@@kbd} +@anchor{Texinfo::Parser @code{@@kbd}} @emph{code} is set depending on the context and @code{@@kbdinputstyle}. @@ -1447,6 +1447,27 @@ The corresponding command is in @emph{command}. +@item @code{@@inlinefmt} +@anchor{Texinfo::Parser @code{@@inlinefmt}} + +@item @code{@@inlineraw} +@anchor{Texinfo::Parser @code{@@inlineraw}} + +@item @code{@@inlinefmtifelse} +@anchor{Texinfo::Parser @code{@@inlinefmtifelse}} + +@item @code{@@inlineifclear} +@anchor{Texinfo::Parser @code{@@inlineifclear}} + +@item @code{@@inlineifset} +@anchor{Texinfo::Parser @code{@@inlineifset}} + +The first argument is in @emph{format}. If an argument has been determined +as being expanded by the Parser, the index of this argument is in +@emph{expand_index}. Index numbering begins at 0, but the first argument is +always the format or flag name, so, if set, it should be 1 or 2 for +@code{@@inlinefmtifelse}, and 1 for other commands. + @end table @node Texinfo::Parser SEE ALSO diff -Nru texinfo-5.1.dfsg.1/doc/version-stnd.texi texinfo-5.2.0.dfsg.1/doc/version-stnd.texi --- texinfo-5.1.dfsg.1/doc/version-stnd.texi 2013-03-12 22:49:34.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/version-stnd.texi 2013-09-26 22:51:23.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 22 February 2013 -@set UPDATED-MONTH February 2013 -@set EDITION 5.1 -@set VERSION 5.1 +@set UPDATED 22 August 2013 +@set UPDATED-MONTH August 2013 +@set EDITION 5.2 +@set VERSION 5.2 diff -Nru texinfo-5.1.dfsg.1/doc/version.texi texinfo-5.2.0.dfsg.1/doc/version.texi --- texinfo-5.1.dfsg.1/doc/version.texi 2013-03-12 22:49:34.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/doc/version.texi 2013-09-26 22:51:18.000000000 +0000 @@ -1,4 +1,4 @@ -@set UPDATED 11 March 2013 -@set UPDATED-MONTH March 2013 -@set EDITION 5.1 -@set VERSION 5.1 +@set UPDATED 26 September 2013 +@set UPDATED-MONTH September 2013 +@set EDITION 5.2 +@set VERSION 5.2 diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/Makefile.am texinfo-5.2.0.dfsg.1/gnulib/lib/Makefile.am --- texinfo-5.1.dfsg.1/gnulib/lib/Makefile.am 2013-03-03 00:01:13.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/Makefile.am 2013-09-13 16:53:07.000000000 +0000 @@ -23,7 +23,7 @@ # Generated by gnulib-tool. # Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files argz getopt-gnu gettext mbchar mbiter mbscasecmp mbschr mbslen mbsncasecmp mbsstr mbswidth memmem mkstemp regex strdup-posix strerror xalloc -AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects +AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects SUBDIRS = noinst_HEADERS = @@ -271,15 +271,16 @@ ## begin gnulib module gettext -# This is for those projects which use "gettextize --intl" to put a source-code -# copy of libintl into their package. In such projects, every Makefile.am needs +# If your project uses "gettextize --intl" to put a source-code +# copy of libintl into the package, every Makefile.am needs # -I$(top_builddir)/intl, so that can be found in this directory. -# For the Makefile.ams in other directories it is the maintainer's -# responsibility; for the one from gnulib we do it here. -# This option has no effect when the user disables NLS (because then the intl -# directory contains no libintl.h file) or when the project does not use -# "gettextize --intl". -AM_CPPFLAGS += -I$(top_builddir)/intl +# Here's one way to do this: +#AM_CPPFLAGS += -I$(top_builddir)/intl +# This option has no effect when the user disables NLS (because then +# the intl directory contains no libintl.h file). This option is not +# enabled by default because the intl directory might not exist if +# your project does not use "gettext --intl", and some compilers +# complain about -I options applied to nonexistent directories. EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath @@ -474,6 +475,12 @@ ## end gnulib module localeconv +## begin gnulib module lock + +libgnu_a_SOURCES += glthread/lock.h glthread/lock.c + +## end gnulib module lock + ## begin gnulib module lstat @@ -1283,6 +1290,14 @@ ## end gnulib module tempname +## begin gnulib module threadlib + +libgnu_a_SOURCES += glthread/threadlib.c + +EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath + +## end gnulib module threadlib + ## begin gnulib module time BUILT_SOURCES += time.h diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/Makefile.in texinfo-5.2.0.dfsg.1/gnulib/lib/Makefile.in --- texinfo-5.1.dfsg.1/gnulib/lib/Makefile.in 2013-03-12 22:56:43.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -40,23 +40,51 @@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -114,6 +142,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -162,6 +191,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -186,18 +216,20 @@ libgnu_a_AR = $(AR) $(ARFLAGS) am__DEPENDENCIES_1 = am__libgnu_a_SOURCES_DIST = exitfail.c gettext.h localcharset.h \ - localcharset.c malloca.c mbchar.c mbiter.h mbiter.c \ - mbscasecmp.c mbschr.c mbslen.c mbsncasecmp.c mbsstr.c \ - mbswidth.h mbswidth.c mbuiter.h mbuiter.c strnlen1.h \ - strnlen1.c tempname.c unistd.c uniwidth/width.c wctype-h.c \ + localcharset.c glthread/lock.h glthread/lock.c malloca.c \ + mbchar.c mbiter.h mbiter.c mbscasecmp.c mbschr.c mbslen.c \ + mbsncasecmp.c mbsstr.c mbswidth.h mbswidth.c mbuiter.h \ + mbuiter.c strnlen1.h strnlen1.c tempname.c \ + glthread/threadlib.c unistd.c uniwidth/width.c wctype-h.c \ xmalloc.c xalloc-die.c am__dirstamp = $(am__leading_dot)dirstamp @LIBUNISTRING_COMPILE_UNIWIDTH_WIDTH_TRUE@am__objects_1 = uniwidth/width.$(OBJEXT) am_libgnu_a_OBJECTS = exitfail.$(OBJEXT) localcharset.$(OBJEXT) \ - malloca.$(OBJEXT) mbchar.$(OBJEXT) mbiter.$(OBJEXT) \ - mbscasecmp.$(OBJEXT) mbschr.$(OBJEXT) mbslen.$(OBJEXT) \ - mbsncasecmp.$(OBJEXT) mbsstr.$(OBJEXT) mbswidth.$(OBJEXT) \ - mbuiter.$(OBJEXT) strnlen1.$(OBJEXT) tempname.$(OBJEXT) \ + glthread/lock.$(OBJEXT) malloca.$(OBJEXT) mbchar.$(OBJEXT) \ + mbiter.$(OBJEXT) mbscasecmp.$(OBJEXT) mbschr.$(OBJEXT) \ + mbslen.$(OBJEXT) mbsncasecmp.$(OBJEXT) mbsstr.$(OBJEXT) \ + mbswidth.$(OBJEXT) mbuiter.$(OBJEXT) strnlen1.$(OBJEXT) \ + tempname.$(OBJEXT) glthread/threadlib.$(OBJEXT) \ unistd.$(OBJEXT) $(am__objects_1) wctype-h.$(OBJEXT) \ xmalloc.$(OBJEXT) xalloc-die.$(OBJEXT) libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS) @@ -734,8 +766,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -746,7 +782,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -900,6 +939,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -985,11 +1025,22 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AUTOMAKE_OPTIONS = 1.5 gnits subdir-objects +AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects SUBDIRS = noinst_HEADERS = noinst_LIBRARIES = libgnu.a noinst_LTLIBRARIES = + +# If your project uses "gettextize --intl" to put a source-code +# copy of libintl into the package, every Makefile.am needs +# -I$(top_builddir)/intl, so that can be found in this directory. +# Here's one way to do this: +#AM_CPPFLAGS += -I$(top_builddir)/intl +# This option has no effect when the user disables NLS (because then +# the intl directory contains no libintl.h file). This option is not +# enabled by default because the intl directory might not exist if +# your project does not use "gettext --intl", and some compilers +# complain about -I options applied to nonexistent directories. EXTRA_DIST = alloca.in.h argz.c argz.in.h btowc.c dosname.h errno.in.h \ error.c error.h exitfail.h fcntl.in.h getopt.c getopt.in.h \ getopt1.c getopt_int.h $(top_srcdir)/build-aux/config.rpath \ @@ -1010,10 +1061,10 @@ strdup.c streq.h strerror.c strerror-override.c \ strerror-override.h string.in.h strndup.c strnlen.c \ str-two-way.h strstr.c sys_stat.in.h sys_time.in.h \ - sys_types.in.h tempname.h time.in.h unistd.in.h unitypes.in.h \ - localcharset.h uniwidth.in.h uniwidth/cjk.h verify.h \ - wchar.in.h wcrtomb.c wctype.in.h wcwidth.c xalloc.h \ - xalloc-oversized.h + sys_types.in.h tempname.h $(top_srcdir)/build-aux/config.rpath \ + time.in.h unistd.in.h unitypes.in.h localcharset.h \ + uniwidth.in.h uniwidth/cjk.h verify.h wchar.in.h wcrtomb.c \ + wctype.in.h wcwidth.c xalloc.h xalloc-oversized.h # The BUILT_SOURCES created by this Makefile snippet are not used via #include # statements but through direct file reference. Therefore this snippet must be @@ -1046,21 +1097,13 @@ ref-del.sed DISTCLEANFILES = MAINTAINERCLEANFILES = - -# This is for those projects which use "gettextize --intl" to put a source-code -# copy of libintl into their package. In such projects, every Makefile.am needs -# -I$(top_builddir)/intl, so that can be found in this directory. -# For the Makefile.ams in other directories it is the maintainer's -# responsibility; for the one from gnulib we do it here. -# This option has no effect when the user disables NLS (because then the intl -# directory contains no libintl.h file) or when the project does not use -# "gettextize --intl". -AM_CPPFLAGS = -I$(top_builddir)/intl +AM_CPPFLAGS = AM_CFLAGS = libgnu_a_SOURCES = exitfail.c gettext.h localcharset.h localcharset.c \ - malloca.c mbchar.c mbiter.h mbiter.c mbscasecmp.c mbschr.c \ - mbslen.c mbsncasecmp.c mbsstr.c mbswidth.h mbswidth.c \ - mbuiter.h mbuiter.c strnlen1.h strnlen1.c tempname.c unistd.c \ + glthread/lock.h glthread/lock.c malloca.c mbchar.c mbiter.h \ + mbiter.c mbscasecmp.c mbschr.c mbslen.c mbsncasecmp.c mbsstr.c \ + mbswidth.h mbswidth.c mbuiter.h mbuiter.c strnlen1.h \ + strnlen1.c tempname.c glthread/threadlib.c unistd.c \ $(am__append_1) wctype-h.c xmalloc.c xalloc-die.c libgnu_a_LIBADD = $(gl_LIBOBJS) libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @@ -1119,6 +1162,16 @@ clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) +glthread/$(am__dirstamp): + @$(MKDIR_P) glthread + @: > glthread/$(am__dirstamp) +glthread/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) glthread/$(DEPDIR) + @: > glthread/$(DEPDIR)/$(am__dirstamp) +glthread/lock.$(OBJEXT): glthread/$(am__dirstamp) \ + glthread/$(DEPDIR)/$(am__dirstamp) +glthread/threadlib.$(OBJEXT): glthread/$(am__dirstamp) \ + glthread/$(DEPDIR)/$(am__dirstamp) uniwidth/$(am__dirstamp): @$(MKDIR_P) uniwidth @: > uniwidth/$(am__dirstamp) @@ -1127,6 +1180,7 @@ @: > uniwidth/$(DEPDIR)/$(am__dirstamp) uniwidth/width.$(OBJEXT): uniwidth/$(am__dirstamp) \ uniwidth/$(DEPDIR)/$(am__dirstamp) + libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) $(EXTRA_libgnu_a_DEPENDENCIES) $(AM_V_at)-rm -f libgnu.a $(AM_V_AR)$(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD) @@ -1145,6 +1199,7 @@ mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f glthread/*.$(OBJEXT) -rm -f uniwidth/*.$(OBJEXT) distclean-compile: @@ -1203,6 +1258,8 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcwidth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xmalloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/lock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@glthread/$(DEPDIR)/threadlib.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@uniwidth/$(DEPDIR)/width.Po@am__quote@ .c.o: @@ -1228,13 +1285,12 @@ # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ @@ -1411,6 +1467,8 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f glthread/$(DEPDIR)/$(am__dirstamp) + -rm -f glthread/$(am__dirstamp) -rm -f uniwidth/$(DEPDIR)/$(am__dirstamp) -rm -f uniwidth/$(am__dirstamp) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) @@ -1426,7 +1484,7 @@ mostlyclean-am distclean: distclean-recursive - -rm -rf ./$(DEPDIR) uniwidth/$(DEPDIR) + -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) uniwidth/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1472,7 +1530,7 @@ installcheck-am: maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) uniwidth/$(DEPDIR) + -rm -rf ./$(DEPDIR) glthread/$(DEPDIR) uniwidth/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/glthread/lock.c texinfo-5.2.0.dfsg.1/gnulib/lib/glthread/lock.c --- texinfo-5.1.dfsg.1/gnulib/lib/glthread/lock.c 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/glthread/lock.c 2013-09-13 16:53:02.000000000 +0000 @@ -0,0 +1,1057 @@ +/* Locking in multithreaded situations. + Copyright (C) 2005-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +/* Written by Bruno Haible , 2005. + Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, + gthr-win32.h. */ + +#include + +#include "glthread/lock.h" + +/* ========================================================================= */ + +#if USE_POSIX_THREADS + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +# if HAVE_PTHREAD_RWLOCK + +# if !defined PTHREAD_RWLOCK_INITIALIZER + +int +glthread_rwlock_init_multithreaded (gl_rwlock_t *lock) +{ + int err; + + err = pthread_rwlock_init (&lock->rwlock, NULL); + if (err != 0) + return err; + lock->initialized = 1; + return 0; +} + +int +glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock) +{ + if (!lock->initialized) + { + int err; + + err = pthread_mutex_lock (&lock->guard); + if (err != 0) + return err; + if (!lock->initialized) + { + err = glthread_rwlock_init_multithreaded (lock); + if (err != 0) + { + pthread_mutex_unlock (&lock->guard); + return err; + } + } + err = pthread_mutex_unlock (&lock->guard); + if (err != 0) + return err; + } + return pthread_rwlock_rdlock (&lock->rwlock); +} + +int +glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock) +{ + if (!lock->initialized) + { + int err; + + err = pthread_mutex_lock (&lock->guard); + if (err != 0) + return err; + if (!lock->initialized) + { + err = glthread_rwlock_init_multithreaded (lock); + if (err != 0) + { + pthread_mutex_unlock (&lock->guard); + return err; + } + } + err = pthread_mutex_unlock (&lock->guard); + if (err != 0) + return err; + } + return pthread_rwlock_wrlock (&lock->rwlock); +} + +int +glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock) +{ + if (!lock->initialized) + return EINVAL; + return pthread_rwlock_unlock (&lock->rwlock); +} + +int +glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock) +{ + int err; + + if (!lock->initialized) + return EINVAL; + err = pthread_rwlock_destroy (&lock->rwlock); + if (err != 0) + return err; + lock->initialized = 0; + return 0; +} + +# endif + +# else + +int +glthread_rwlock_init_multithreaded (gl_rwlock_t *lock) +{ + int err; + + err = pthread_mutex_init (&lock->lock, NULL); + if (err != 0) + return err; + err = pthread_cond_init (&lock->waiting_readers, NULL); + if (err != 0) + return err; + err = pthread_cond_init (&lock->waiting_writers, NULL); + if (err != 0) + return err; + lock->waiting_writers_count = 0; + lock->runcount = 0; + return 0; +} + +int +glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock) +{ + int err; + + err = pthread_mutex_lock (&lock->lock); + if (err != 0) + return err; + /* Test whether only readers are currently running, and whether the runcount + field will not overflow. */ + /* POSIX says: "It is implementation-defined whether the calling thread + acquires the lock when a writer does not hold the lock and there are + writers blocked on the lock." Let's say, no: give the writers a higher + priority. */ + while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) + { + /* This thread has to wait for a while. Enqueue it among the + waiting_readers. */ + err = pthread_cond_wait (&lock->waiting_readers, &lock->lock); + if (err != 0) + { + pthread_mutex_unlock (&lock->lock); + return err; + } + } + lock->runcount++; + return pthread_mutex_unlock (&lock->lock); +} + +int +glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock) +{ + int err; + + err = pthread_mutex_lock (&lock->lock); + if (err != 0) + return err; + /* Test whether no readers or writers are currently running. */ + while (!(lock->runcount == 0)) + { + /* This thread has to wait for a while. Enqueue it among the + waiting_writers. */ + lock->waiting_writers_count++; + err = pthread_cond_wait (&lock->waiting_writers, &lock->lock); + if (err != 0) + { + lock->waiting_writers_count--; + pthread_mutex_unlock (&lock->lock); + return err; + } + lock->waiting_writers_count--; + } + lock->runcount--; /* runcount becomes -1 */ + return pthread_mutex_unlock (&lock->lock); +} + +int +glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock) +{ + int err; + + err = pthread_mutex_lock (&lock->lock); + if (err != 0) + return err; + if (lock->runcount < 0) + { + /* Drop a writer lock. */ + if (!(lock->runcount == -1)) + { + pthread_mutex_unlock (&lock->lock); + return EINVAL; + } + lock->runcount = 0; + } + else + { + /* Drop a reader lock. */ + if (!(lock->runcount > 0)) + { + pthread_mutex_unlock (&lock->lock); + return EINVAL; + } + lock->runcount--; + } + if (lock->runcount == 0) + { + /* POSIX recommends that "write locks shall take precedence over read + locks", to avoid "writer starvation". */ + if (lock->waiting_writers_count > 0) + { + /* Wake up one of the waiting writers. */ + err = pthread_cond_signal (&lock->waiting_writers); + if (err != 0) + { + pthread_mutex_unlock (&lock->lock); + return err; + } + } + else + { + /* Wake up all waiting readers. */ + err = pthread_cond_broadcast (&lock->waiting_readers); + if (err != 0) + { + pthread_mutex_unlock (&lock->lock); + return err; + } + } + } + return pthread_mutex_unlock (&lock->lock); +} + +int +glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock) +{ + int err; + + err = pthread_mutex_destroy (&lock->lock); + if (err != 0) + return err; + err = pthread_cond_destroy (&lock->waiting_readers); + if (err != 0) + return err; + err = pthread_cond_destroy (&lock->waiting_writers); + if (err != 0) + return err; + return 0; +} + +# endif + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +# if HAVE_PTHREAD_MUTEX_RECURSIVE + +# if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP + +int +glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) +{ + pthread_mutexattr_t attributes; + int err; + + err = pthread_mutexattr_init (&attributes); + if (err != 0) + return err; + err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE); + if (err != 0) + { + pthread_mutexattr_destroy (&attributes); + return err; + } + err = pthread_mutex_init (lock, &attributes); + if (err != 0) + { + pthread_mutexattr_destroy (&attributes); + return err; + } + err = pthread_mutexattr_destroy (&attributes); + if (err != 0) + return err; + return 0; +} + +# else + +int +glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) +{ + pthread_mutexattr_t attributes; + int err; + + err = pthread_mutexattr_init (&attributes); + if (err != 0) + return err; + err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE); + if (err != 0) + { + pthread_mutexattr_destroy (&attributes); + return err; + } + err = pthread_mutex_init (&lock->recmutex, &attributes); + if (err != 0) + { + pthread_mutexattr_destroy (&attributes); + return err; + } + err = pthread_mutexattr_destroy (&attributes); + if (err != 0) + return err; + lock->initialized = 1; + return 0; +} + +int +glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock) +{ + if (!lock->initialized) + { + int err; + + err = pthread_mutex_lock (&lock->guard); + if (err != 0) + return err; + if (!lock->initialized) + { + err = glthread_recursive_lock_init_multithreaded (lock); + if (err != 0) + { + pthread_mutex_unlock (&lock->guard); + return err; + } + } + err = pthread_mutex_unlock (&lock->guard); + if (err != 0) + return err; + } + return pthread_mutex_lock (&lock->recmutex); +} + +int +glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock) +{ + if (!lock->initialized) + return EINVAL; + return pthread_mutex_unlock (&lock->recmutex); +} + +int +glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock) +{ + int err; + + if (!lock->initialized) + return EINVAL; + err = pthread_mutex_destroy (&lock->recmutex); + if (err != 0) + return err; + lock->initialized = 0; + return 0; +} + +# endif + +# else + +int +glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) +{ + int err; + + err = pthread_mutex_init (&lock->mutex, NULL); + if (err != 0) + return err; + lock->owner = (pthread_t) 0; + lock->depth = 0; + return 0; +} + +int +glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock) +{ + pthread_t self = pthread_self (); + if (lock->owner != self) + { + int err; + + err = pthread_mutex_lock (&lock->mutex); + if (err != 0) + return err; + lock->owner = self; + } + if (++(lock->depth) == 0) /* wraparound? */ + { + lock->depth--; + return EAGAIN; + } + return 0; +} + +int +glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock) +{ + if (lock->owner != pthread_self ()) + return EPERM; + if (lock->depth == 0) + return EINVAL; + if (--(lock->depth) == 0) + { + lock->owner = (pthread_t) 0; + return pthread_mutex_unlock (&lock->mutex); + } + else + return 0; +} + +int +glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock) +{ + if (lock->owner != (pthread_t) 0) + return EBUSY; + return pthread_mutex_destroy (&lock->mutex); +} + +# endif + +/* -------------------------- gl_once_t datatype -------------------------- */ + +static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT; + +int +glthread_once_singlethreaded (pthread_once_t *once_control) +{ + /* We don't know whether pthread_once_t is an integer type, a floating-point + type, a pointer type, or a structure type. */ + char *firstbyte = (char *)once_control; + if (*firstbyte == *(const char *)&fresh_once) + { + /* First time use of once_control. Invert the first byte. */ + *firstbyte = ~ *(const char *)&fresh_once; + return 1; + } + else + return 0; +} + +#endif + +/* ========================================================================= */ + +#if USE_PTH_THREADS + +/* Use the GNU Pth threads library. */ + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +/* -------------------------- gl_once_t datatype -------------------------- */ + +static void +glthread_once_call (void *arg) +{ + void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; + void (*initfunction) (void) = *gl_once_temp_addr; + initfunction (); +} + +int +glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void)) +{ + void (*temp) (void) = initfunction; + return (!pth_once (once_control, glthread_once_call, &temp) ? errno : 0); +} + +int +glthread_once_singlethreaded (pth_once_t *once_control) +{ + /* We know that pth_once_t is an integer type. */ + if (*once_control == PTH_ONCE_INIT) + { + /* First time use of once_control. Invert the marker. */ + *once_control = ~ PTH_ONCE_INIT; + return 1; + } + else + return 0; +} + +#endif + +/* ========================================================================= */ + +#if USE_SOLARIS_THREADS + +/* Use the old Solaris threads library. */ + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +int +glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) +{ + int err; + + err = mutex_init (&lock->mutex, USYNC_THREAD, NULL); + if (err != 0) + return err; + lock->owner = (thread_t) 0; + lock->depth = 0; + return 0; +} + +int +glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock) +{ + thread_t self = thr_self (); + if (lock->owner != self) + { + int err; + + err = mutex_lock (&lock->mutex); + if (err != 0) + return err; + lock->owner = self; + } + if (++(lock->depth) == 0) /* wraparound? */ + { + lock->depth--; + return EAGAIN; + } + return 0; +} + +int +glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock) +{ + if (lock->owner != thr_self ()) + return EPERM; + if (lock->depth == 0) + return EINVAL; + if (--(lock->depth) == 0) + { + lock->owner = (thread_t) 0; + return mutex_unlock (&lock->mutex); + } + else + return 0; +} + +int +glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock) +{ + if (lock->owner != (thread_t) 0) + return EBUSY; + return mutex_destroy (&lock->mutex); +} + +/* -------------------------- gl_once_t datatype -------------------------- */ + +int +glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void)) +{ + if (!once_control->inited) + { + int err; + + /* Use the mutex to guarantee that if another thread is already calling + the initfunction, this thread waits until it's finished. */ + err = mutex_lock (&once_control->mutex); + if (err != 0) + return err; + if (!once_control->inited) + { + once_control->inited = 1; + initfunction (); + } + return mutex_unlock (&once_control->mutex); + } + else + return 0; +} + +int +glthread_once_singlethreaded (gl_once_t *once_control) +{ + /* We know that gl_once_t contains an integer type. */ + if (!once_control->inited) + { + /* First time use of once_control. Invert the marker. */ + once_control->inited = ~ 0; + return 1; + } + else + return 0; +} + +#endif + +/* ========================================================================= */ + +#if USE_WINDOWS_THREADS + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +void +glthread_lock_init_func (gl_lock_t *lock) +{ + InitializeCriticalSection (&lock->lock); + lock->guard.done = 1; +} + +int +glthread_lock_lock_func (gl_lock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_lock_init (lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + EnterCriticalSection (&lock->lock); + return 0; +} + +int +glthread_lock_unlock_func (gl_lock_t *lock) +{ + if (!lock->guard.done) + return EINVAL; + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glthread_lock_destroy_func (gl_lock_t *lock) +{ + if (!lock->guard.done) + return EINVAL; + DeleteCriticalSection (&lock->lock); + lock->guard.done = 0; + return 0; +} + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +/* In this file, the waitqueues are implemented as circular arrays. */ +#define gl_waitqueue_t gl_carray_waitqueue_t + +static void +gl_waitqueue_init (gl_waitqueue_t *wq) +{ + wq->array = NULL; + wq->count = 0; + wq->alloc = 0; + wq->offset = 0; +} + +/* Enqueues the current thread, represented by an event, in a wait queue. + Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ +static HANDLE +gl_waitqueue_add (gl_waitqueue_t *wq) +{ + HANDLE event; + unsigned int index; + + if (wq->count == wq->alloc) + { + unsigned int new_alloc = 2 * wq->alloc + 1; + HANDLE *new_array = + (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); + if (new_array == NULL) + /* No more memory. */ + return INVALID_HANDLE_VALUE; + /* Now is a good opportunity to rotate the array so that its contents + starts at offset 0. */ + if (wq->offset > 0) + { + unsigned int old_count = wq->count; + unsigned int old_alloc = wq->alloc; + unsigned int old_offset = wq->offset; + unsigned int i; + if (old_offset + old_count > old_alloc) + { + unsigned int limit = old_offset + old_count - old_alloc; + for (i = 0; i < limit; i++) + new_array[old_alloc + i] = new_array[i]; + } + for (i = 0; i < old_count; i++) + new_array[i] = new_array[old_offset + i]; + wq->offset = 0; + } + wq->array = new_array; + wq->alloc = new_alloc; + } + /* Whether the created event is a manual-reset one or an auto-reset one, + does not matter, since we will wait on it only once. */ + event = CreateEvent (NULL, TRUE, FALSE, NULL); + if (event == INVALID_HANDLE_VALUE) + /* No way to allocate an event. */ + return INVALID_HANDLE_VALUE; + index = wq->offset + wq->count; + if (index >= wq->alloc) + index -= wq->alloc; + wq->array[index] = event; + wq->count++; + return event; +} + +/* Notifies the first thread from a wait queue and dequeues it. */ +static void +gl_waitqueue_notify_first (gl_waitqueue_t *wq) +{ + SetEvent (wq->array[wq->offset + 0]); + wq->offset++; + wq->count--; + if (wq->count == 0 || wq->offset == wq->alloc) + wq->offset = 0; +} + +/* Notifies all threads from a wait queue and dequeues them all. */ +static void +gl_waitqueue_notify_all (gl_waitqueue_t *wq) +{ + unsigned int i; + + for (i = 0; i < wq->count; i++) + { + unsigned int index = wq->offset + i; + if (index >= wq->alloc) + index -= wq->alloc; + SetEvent (wq->array[index]); + } + wq->count = 0; + wq->offset = 0; +} + +void +glthread_rwlock_init_func (gl_rwlock_t *lock) +{ + InitializeCriticalSection (&lock->lock); + gl_waitqueue_init (&lock->waiting_readers); + gl_waitqueue_init (&lock->waiting_writers); + lock->runcount = 0; + lock->guard.done = 1; +} + +int +glthread_rwlock_rdlock_func (gl_rwlock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_rwlock_init (lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + EnterCriticalSection (&lock->lock); + /* Test whether only readers are currently running, and whether the runcount + field will not overflow. */ + if (!(lock->runcount + 1 > 0)) + { + /* This thread has to wait for a while. Enqueue it among the + waiting_readers. */ + HANDLE event = gl_waitqueue_add (&lock->waiting_readers); + if (event != INVALID_HANDLE_VALUE) + { + DWORD result; + LeaveCriticalSection (&lock->lock); + /* Wait until another thread signals this event. */ + result = WaitForSingleObject (event, INFINITE); + if (result == WAIT_FAILED || result == WAIT_TIMEOUT) + abort (); + CloseHandle (event); + /* The thread which signalled the event already did the bookkeeping: + removed us from the waiting_readers, incremented lock->runcount. */ + if (!(lock->runcount > 0)) + abort (); + return 0; + } + else + { + /* Allocation failure. Weird. */ + do + { + LeaveCriticalSection (&lock->lock); + Sleep (1); + EnterCriticalSection (&lock->lock); + } + while (!(lock->runcount + 1 > 0)); + } + } + lock->runcount++; + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glthread_rwlock_wrlock_func (gl_rwlock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_rwlock_init (lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + EnterCriticalSection (&lock->lock); + /* Test whether no readers or writers are currently running. */ + if (!(lock->runcount == 0)) + { + /* This thread has to wait for a while. Enqueue it among the + waiting_writers. */ + HANDLE event = gl_waitqueue_add (&lock->waiting_writers); + if (event != INVALID_HANDLE_VALUE) + { + DWORD result; + LeaveCriticalSection (&lock->lock); + /* Wait until another thread signals this event. */ + result = WaitForSingleObject (event, INFINITE); + if (result == WAIT_FAILED || result == WAIT_TIMEOUT) + abort (); + CloseHandle (event); + /* The thread which signalled the event already did the bookkeeping: + removed us from the waiting_writers, set lock->runcount = -1. */ + if (!(lock->runcount == -1)) + abort (); + return 0; + } + else + { + /* Allocation failure. Weird. */ + do + { + LeaveCriticalSection (&lock->lock); + Sleep (1); + EnterCriticalSection (&lock->lock); + } + while (!(lock->runcount == 0)); + } + } + lock->runcount--; /* runcount becomes -1 */ + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glthread_rwlock_unlock_func (gl_rwlock_t *lock) +{ + if (!lock->guard.done) + return EINVAL; + EnterCriticalSection (&lock->lock); + if (lock->runcount < 0) + { + /* Drop a writer lock. */ + if (!(lock->runcount == -1)) + abort (); + lock->runcount = 0; + } + else + { + /* Drop a reader lock. */ + if (!(lock->runcount > 0)) + { + LeaveCriticalSection (&lock->lock); + return EPERM; + } + lock->runcount--; + } + if (lock->runcount == 0) + { + /* POSIX recommends that "write locks shall take precedence over read + locks", to avoid "writer starvation". */ + if (lock->waiting_writers.count > 0) + { + /* Wake up one of the waiting writers. */ + lock->runcount--; + gl_waitqueue_notify_first (&lock->waiting_writers); + } + else + { + /* Wake up all waiting readers. */ + lock->runcount += lock->waiting_readers.count; + gl_waitqueue_notify_all (&lock->waiting_readers); + } + } + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glthread_rwlock_destroy_func (gl_rwlock_t *lock) +{ + if (!lock->guard.done) + return EINVAL; + if (lock->runcount != 0) + return EBUSY; + DeleteCriticalSection (&lock->lock); + if (lock->waiting_readers.array != NULL) + free (lock->waiting_readers.array); + if (lock->waiting_writers.array != NULL) + free (lock->waiting_writers.array); + lock->guard.done = 0; + return 0; +} + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +void +glthread_recursive_lock_init_func (gl_recursive_lock_t *lock) +{ + lock->owner = 0; + lock->depth = 0; + InitializeCriticalSection (&lock->lock); + lock->guard.done = 1; +} + +int +glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glthread_recursive_lock_init (lock); + else + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + { + DWORD self = GetCurrentThreadId (); + if (lock->owner != self) + { + EnterCriticalSection (&lock->lock); + lock->owner = self; + } + if (++(lock->depth) == 0) /* wraparound? */ + { + lock->depth--; + return EAGAIN; + } + } + return 0; +} + +int +glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock) +{ + if (lock->owner != GetCurrentThreadId ()) + return EPERM; + if (lock->depth == 0) + return EINVAL; + if (--(lock->depth) == 0) + { + lock->owner = 0; + LeaveCriticalSection (&lock->lock); + } + return 0; +} + +int +glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock) +{ + if (lock->owner != 0) + return EBUSY; + DeleteCriticalSection (&lock->lock); + lock->guard.done = 0; + return 0; +} + +/* -------------------------- gl_once_t datatype -------------------------- */ + +void +glthread_once_func (gl_once_t *once_control, void (*initfunction) (void)) +{ + if (once_control->inited <= 0) + { + if (InterlockedIncrement (&once_control->started) == 0) + { + /* This thread is the first one to come to this once_control. */ + InitializeCriticalSection (&once_control->lock); + EnterCriticalSection (&once_control->lock); + once_control->inited = 0; + initfunction (); + once_control->inited = 1; + LeaveCriticalSection (&once_control->lock); + } + else + { + /* Undo last operation. */ + InterlockedDecrement (&once_control->started); + /* Some other thread has already started the initialization. + Yield the CPU while waiting for the other thread to finish + initializing and taking the lock. */ + while (once_control->inited < 0) + Sleep (0); + if (once_control->inited <= 0) + { + /* Take the lock. This blocks until the other thread has + finished calling the initfunction. */ + EnterCriticalSection (&once_control->lock); + LeaveCriticalSection (&once_control->lock); + if (!(once_control->inited > 0)) + abort (); + } + } + } +} + +#endif + +/* ========================================================================= */ diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/glthread/lock.h texinfo-5.2.0.dfsg.1/gnulib/lib/glthread/lock.h --- texinfo-5.1.dfsg.1/gnulib/lib/glthread/lock.h 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/glthread/lock.h 2013-09-13 16:53:02.000000000 +0000 @@ -0,0 +1,927 @@ +/* Locking in multithreaded situations. + Copyright (C) 2005-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +/* Written by Bruno Haible , 2005. + Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, + gthr-win32.h. */ + +/* This file contains locking primitives for use with a given thread library. + It does not contain primitives for creating threads or for other + synchronization primitives. + + Normal (non-recursive) locks: + Type: gl_lock_t + Declaration: gl_lock_define(extern, name) + Initializer: gl_lock_define_initialized(, name) + Initialization: gl_lock_init (name); + Taking the lock: gl_lock_lock (name); + Releasing the lock: gl_lock_unlock (name); + De-initialization: gl_lock_destroy (name); + Equivalent functions with control of error handling: + Initialization: err = glthread_lock_init (&name); + Taking the lock: err = glthread_lock_lock (&name); + Releasing the lock: err = glthread_lock_unlock (&name); + De-initialization: err = glthread_lock_destroy (&name); + + Read-Write (non-recursive) locks: + Type: gl_rwlock_t + Declaration: gl_rwlock_define(extern, name) + Initializer: gl_rwlock_define_initialized(, name) + Initialization: gl_rwlock_init (name); + Taking the lock: gl_rwlock_rdlock (name); + gl_rwlock_wrlock (name); + Releasing the lock: gl_rwlock_unlock (name); + De-initialization: gl_rwlock_destroy (name); + Equivalent functions with control of error handling: + Initialization: err = glthread_rwlock_init (&name); + Taking the lock: err = glthread_rwlock_rdlock (&name); + err = glthread_rwlock_wrlock (&name); + Releasing the lock: err = glthread_rwlock_unlock (&name); + De-initialization: err = glthread_rwlock_destroy (&name); + + Recursive locks: + Type: gl_recursive_lock_t + Declaration: gl_recursive_lock_define(extern, name) + Initializer: gl_recursive_lock_define_initialized(, name) + Initialization: gl_recursive_lock_init (name); + Taking the lock: gl_recursive_lock_lock (name); + Releasing the lock: gl_recursive_lock_unlock (name); + De-initialization: gl_recursive_lock_destroy (name); + Equivalent functions with control of error handling: + Initialization: err = glthread_recursive_lock_init (&name); + Taking the lock: err = glthread_recursive_lock_lock (&name); + Releasing the lock: err = glthread_recursive_lock_unlock (&name); + De-initialization: err = glthread_recursive_lock_destroy (&name); + + Once-only execution: + Type: gl_once_t + Initializer: gl_once_define(extern, name) + Execution: gl_once (name, initfunction); + Equivalent functions with control of error handling: + Execution: err = glthread_once (&name, initfunction); +*/ + + +#ifndef _LOCK_H +#define _LOCK_H + +#include +#include + +/* ========================================================================= */ + +#if USE_POSIX_THREADS + +/* Use the POSIX threads library. */ + +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# if PTHREAD_IN_USE_DETECTION_HARD + +/* The pthread_in_use() detection needs to be done at runtime. */ +# define pthread_in_use() \ + glthread_in_use () +extern int glthread_in_use (void); + +# endif + +# if USE_POSIX_THREADS_WEAK + +/* Use weak references to the POSIX threads library. */ + +/* Weak references avoid dragging in external libraries if the other parts + of the program don't use them. Here we use them, because we don't want + every program that uses libintl to depend on libpthread. This assumes + that libpthread would not be loaded after libintl; i.e. if libintl is + loaded first, by an executable that does not depend on libpthread, and + then a module is dynamically loaded that depends on libpthread, libintl + will not be multithread-safe. */ + +/* The way to test at runtime whether libpthread is present is to test + whether a function pointer's value, such as &pthread_mutex_init, is + non-NULL. However, some versions of GCC have a bug through which, in + PIC mode, &foo != NULL always evaluates to true if there is a direct + call to foo(...) in the same function. To avoid this, we test the + address of a function in libpthread that we don't use. */ + +# pragma weak pthread_mutex_init +# pragma weak pthread_mutex_lock +# pragma weak pthread_mutex_unlock +# pragma weak pthread_mutex_destroy +# pragma weak pthread_rwlock_init +# pragma weak pthread_rwlock_rdlock +# pragma weak pthread_rwlock_wrlock +# pragma weak pthread_rwlock_unlock +# pragma weak pthread_rwlock_destroy +# pragma weak pthread_once +# pragma weak pthread_cond_init +# pragma weak pthread_cond_wait +# pragma weak pthread_cond_signal +# pragma weak pthread_cond_broadcast +# pragma weak pthread_cond_destroy +# pragma weak pthread_mutexattr_init +# pragma weak pthread_mutexattr_settype +# pragma weak pthread_mutexattr_destroy +# ifndef pthread_self +# pragma weak pthread_self +# endif + +# if !PTHREAD_IN_USE_DETECTION_HARD +# pragma weak pthread_cancel +# define pthread_in_use() (pthread_cancel != NULL) +# endif + +# else + +# if !PTHREAD_IN_USE_DETECTION_HARD +# define pthread_in_use() 1 +# endif + +# endif + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +typedef pthread_mutex_t gl_lock_t; +# define gl_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS pthread_mutex_t NAME; +# define gl_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer; +# define gl_lock_initializer \ + PTHREAD_MUTEX_INITIALIZER +# define glthread_lock_init(LOCK) \ + (pthread_in_use () ? pthread_mutex_init (LOCK, NULL) : 0) +# define glthread_lock_lock(LOCK) \ + (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0) +# define glthread_lock_unlock(LOCK) \ + (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0) +# define glthread_lock_destroy(LOCK) \ + (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0) + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +# if HAVE_PTHREAD_RWLOCK + +# ifdef PTHREAD_RWLOCK_INITIALIZER + +typedef pthread_rwlock_t gl_rwlock_t; +# define gl_rwlock_define(STORAGECLASS, NAME) \ + STORAGECLASS pthread_rwlock_t NAME; +# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer; +# define gl_rwlock_initializer \ + PTHREAD_RWLOCK_INITIALIZER +# define glthread_rwlock_init(LOCK) \ + (pthread_in_use () ? pthread_rwlock_init (LOCK, NULL) : 0) +# define glthread_rwlock_rdlock(LOCK) \ + (pthread_in_use () ? pthread_rwlock_rdlock (LOCK) : 0) +# define glthread_rwlock_wrlock(LOCK) \ + (pthread_in_use () ? pthread_rwlock_wrlock (LOCK) : 0) +# define glthread_rwlock_unlock(LOCK) \ + (pthread_in_use () ? pthread_rwlock_unlock (LOCK) : 0) +# define glthread_rwlock_destroy(LOCK) \ + (pthread_in_use () ? pthread_rwlock_destroy (LOCK) : 0) + +# else + +typedef struct + { + int initialized; + pthread_mutex_t guard; /* protects the initialization */ + pthread_rwlock_t rwlock; /* read-write lock */ + } + gl_rwlock_t; +# define gl_rwlock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_rwlock_t NAME; +# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; +# define gl_rwlock_initializer \ + { 0, PTHREAD_MUTEX_INITIALIZER } +# define glthread_rwlock_init(LOCK) \ + (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0) +# define glthread_rwlock_rdlock(LOCK) \ + (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0) +# define glthread_rwlock_wrlock(LOCK) \ + (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0) +# define glthread_rwlock_unlock(LOCK) \ + (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0) +# define glthread_rwlock_destroy(LOCK) \ + (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0) +extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock); + +# endif + +# else + +typedef struct + { + pthread_mutex_t lock; /* protects the remaining fields */ + pthread_cond_t waiting_readers; /* waiting readers */ + pthread_cond_t waiting_writers; /* waiting writers */ + unsigned int waiting_writers_count; /* number of waiting writers */ + int runcount; /* number of readers running, or -1 when a writer runs */ + } + gl_rwlock_t; +# define gl_rwlock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_rwlock_t NAME; +# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; +# define gl_rwlock_initializer \ + { PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 } +# define glthread_rwlock_init(LOCK) \ + (pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0) +# define glthread_rwlock_rdlock(LOCK) \ + (pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0) +# define glthread_rwlock_wrlock(LOCK) \ + (pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0) +# define glthread_rwlock_unlock(LOCK) \ + (pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0) +# define glthread_rwlock_destroy(LOCK) \ + (pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0) +extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock); +extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock); + +# endif + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +# if HAVE_PTHREAD_MUTEX_RECURSIVE + +# if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP + +typedef pthread_mutex_t gl_recursive_lock_t; +# define gl_recursive_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS pthread_mutex_t NAME; +# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer; +# ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER +# define gl_recursive_lock_initializer \ + PTHREAD_RECURSIVE_MUTEX_INITIALIZER +# else +# define gl_recursive_lock_initializer \ + PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP +# endif +# define glthread_recursive_lock_init(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_lock(LOCK) \ + (pthread_in_use () ? pthread_mutex_lock (LOCK) : 0) +# define glthread_recursive_lock_unlock(LOCK) \ + (pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0) +# define glthread_recursive_lock_destroy(LOCK) \ + (pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0) +extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); + +# else + +typedef struct + { + pthread_mutex_t recmutex; /* recursive mutex */ + pthread_mutex_t guard; /* protects the initialization */ + int initialized; + } + gl_recursive_lock_t; +# define gl_recursive_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME; +# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +# define gl_recursive_lock_initializer \ + { PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 } +# define glthread_recursive_lock_init(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_lock(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_unlock(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_destroy(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) +extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock); + +# endif + +# else + +/* Old versions of POSIX threads on Solaris did not have recursive locks. + We have to implement them ourselves. */ + +typedef struct + { + pthread_mutex_t mutex; + pthread_t owner; + unsigned long depth; + } + gl_recursive_lock_t; +# define gl_recursive_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME; +# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +# define gl_recursive_lock_initializer \ + { PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 } +# define glthread_recursive_lock_init(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_lock(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_unlock(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_destroy(LOCK) \ + (pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) +extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock); + +# endif + +/* -------------------------- gl_once_t datatype -------------------------- */ + +typedef pthread_once_t gl_once_t; +# define gl_once_define(STORAGECLASS, NAME) \ + STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT; +# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ + (pthread_in_use () \ + ? pthread_once (ONCE_CONTROL, INITFUNCTION) \ + : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) +extern int glthread_once_singlethreaded (pthread_once_t *once_control); + +# ifdef __cplusplus +} +# endif + +#endif + +/* ========================================================================= */ + +#if USE_PTH_THREADS + +/* Use the GNU Pth threads library. */ + +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# if USE_PTH_THREADS_WEAK + +/* Use weak references to the GNU Pth threads library. */ + +# pragma weak pth_mutex_init +# pragma weak pth_mutex_acquire +# pragma weak pth_mutex_release +# pragma weak pth_rwlock_init +# pragma weak pth_rwlock_acquire +# pragma weak pth_rwlock_release +# pragma weak pth_once + +# pragma weak pth_cancel +# define pth_in_use() (pth_cancel != NULL) + +# else + +# define pth_in_use() 1 + +# endif + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +typedef pth_mutex_t gl_lock_t; +# define gl_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS pth_mutex_t NAME; +# define gl_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS pth_mutex_t NAME = gl_lock_initializer; +# define gl_lock_initializer \ + PTH_MUTEX_INIT +# define glthread_lock_init(LOCK) \ + (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0) +# define glthread_lock_lock(LOCK) \ + (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0) +# define glthread_lock_unlock(LOCK) \ + (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0) +# define glthread_lock_destroy(LOCK) \ + ((void)(LOCK), 0) + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +typedef pth_rwlock_t gl_rwlock_t; +# define gl_rwlock_define(STORAGECLASS, NAME) \ + STORAGECLASS pth_rwlock_t NAME; +# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer; +# define gl_rwlock_initializer \ + PTH_RWLOCK_INIT +# define glthread_rwlock_init(LOCK) \ + (pth_in_use () && !pth_rwlock_init (LOCK) ? errno : 0) +# define glthread_rwlock_rdlock(LOCK) \ + (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RD, 0, NULL) ? errno : 0) +# define glthread_rwlock_wrlock(LOCK) \ + (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RW, 0, NULL) ? errno : 0) +# define glthread_rwlock_unlock(LOCK) \ + (pth_in_use () && !pth_rwlock_release (LOCK) ? errno : 0) +# define glthread_rwlock_destroy(LOCK) \ + ((void)(LOCK), 0) + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +/* In Pth, mutexes are recursive by default. */ +typedef pth_mutex_t gl_recursive_lock_t; +# define gl_recursive_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS pth_mutex_t NAME; +# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer; +# define gl_recursive_lock_initializer \ + PTH_MUTEX_INIT +# define glthread_recursive_lock_init(LOCK) \ + (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0) +# define glthread_recursive_lock_lock(LOCK) \ + (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0) +# define glthread_recursive_lock_unlock(LOCK) \ + (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0) +# define glthread_recursive_lock_destroy(LOCK) \ + ((void)(LOCK), 0) + +/* -------------------------- gl_once_t datatype -------------------------- */ + +typedef pth_once_t gl_once_t; +# define gl_once_define(STORAGECLASS, NAME) \ + STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT; +# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ + (pth_in_use () \ + ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \ + : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) +extern int glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void)); +extern int glthread_once_singlethreaded (pth_once_t *once_control); + +# ifdef __cplusplus +} +# endif + +#endif + +/* ========================================================================= */ + +#if USE_SOLARIS_THREADS + +/* Use the old Solaris threads library. */ + +# include +# include + +# ifdef __cplusplus +extern "C" { +# endif + +# if USE_SOLARIS_THREADS_WEAK + +/* Use weak references to the old Solaris threads library. */ + +# pragma weak mutex_init +# pragma weak mutex_lock +# pragma weak mutex_unlock +# pragma weak mutex_destroy +# pragma weak rwlock_init +# pragma weak rw_rdlock +# pragma weak rw_wrlock +# pragma weak rw_unlock +# pragma weak rwlock_destroy +# pragma weak thr_self + +# pragma weak thr_suspend +# define thread_in_use() (thr_suspend != NULL) + +# else + +# define thread_in_use() 1 + +# endif + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +typedef mutex_t gl_lock_t; +# define gl_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS mutex_t NAME; +# define gl_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS mutex_t NAME = gl_lock_initializer; +# define gl_lock_initializer \ + DEFAULTMUTEX +# define glthread_lock_init(LOCK) \ + (thread_in_use () ? mutex_init (LOCK, USYNC_THREAD, NULL) : 0) +# define glthread_lock_lock(LOCK) \ + (thread_in_use () ? mutex_lock (LOCK) : 0) +# define glthread_lock_unlock(LOCK) \ + (thread_in_use () ? mutex_unlock (LOCK) : 0) +# define glthread_lock_destroy(LOCK) \ + (thread_in_use () ? mutex_destroy (LOCK) : 0) + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +typedef rwlock_t gl_rwlock_t; +# define gl_rwlock_define(STORAGECLASS, NAME) \ + STORAGECLASS rwlock_t NAME; +# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS rwlock_t NAME = gl_rwlock_initializer; +# define gl_rwlock_initializer \ + DEFAULTRWLOCK +# define glthread_rwlock_init(LOCK) \ + (thread_in_use () ? rwlock_init (LOCK, USYNC_THREAD, NULL) : 0) +# define glthread_rwlock_rdlock(LOCK) \ + (thread_in_use () ? rw_rdlock (LOCK) : 0) +# define glthread_rwlock_wrlock(LOCK) \ + (thread_in_use () ? rw_wrlock (LOCK) : 0) +# define glthread_rwlock_unlock(LOCK) \ + (thread_in_use () ? rw_unlock (LOCK) : 0) +# define glthread_rwlock_destroy(LOCK) \ + (thread_in_use () ? rwlock_destroy (LOCK) : 0) + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +/* Old Solaris threads did not have recursive locks. + We have to implement them ourselves. */ + +typedef struct + { + mutex_t mutex; + thread_t owner; + unsigned long depth; + } + gl_recursive_lock_t; +# define gl_recursive_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME; +# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +# define gl_recursive_lock_initializer \ + { DEFAULTMUTEX, (thread_t) 0, 0 } +# define glthread_recursive_lock_init(LOCK) \ + (thread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_lock(LOCK) \ + (thread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_unlock(LOCK) \ + (thread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) +# define glthread_recursive_lock_destroy(LOCK) \ + (thread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) +extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock); + +/* -------------------------- gl_once_t datatype -------------------------- */ + +typedef struct + { + volatile int inited; + mutex_t mutex; + } + gl_once_t; +# define gl_once_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; +# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ + (thread_in_use () \ + ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \ + : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) +extern int glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void)); +extern int glthread_once_singlethreaded (gl_once_t *once_control); + +# ifdef __cplusplus +} +# endif + +#endif + +/* ========================================================================= */ + +#if USE_WINDOWS_THREADS + +# define WIN32_LEAN_AND_MEAN /* avoid including junk */ +# include + +# ifdef __cplusplus +extern "C" { +# endif + +/* We can use CRITICAL_SECTION directly, rather than the native Windows Event, + Mutex, Semaphore types, because + - we need only to synchronize inside a single process (address space), + not inter-process locking, + - we don't need to support trylock operations. (TryEnterCriticalSection + does not work on Windows 95/98/ME. Packages that need trylock usually + define their own mutex type.) */ + +/* There is no way to statically initialize a CRITICAL_SECTION. It needs + to be done lazily, once only. For this we need spinlocks. */ + +typedef struct { volatile int done; volatile long started; } gl_spinlock_t; + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +typedef struct + { + gl_spinlock_t guard; /* protects the initialization */ + CRITICAL_SECTION lock; + } + gl_lock_t; +# define gl_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_lock_t NAME; +# define gl_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_lock_t NAME = gl_lock_initializer; +# define gl_lock_initializer \ + { { 0, -1 } } +# define glthread_lock_init(LOCK) \ + (glthread_lock_init_func (LOCK), 0) +# define glthread_lock_lock(LOCK) \ + glthread_lock_lock_func (LOCK) +# define glthread_lock_unlock(LOCK) \ + glthread_lock_unlock_func (LOCK) +# define glthread_lock_destroy(LOCK) \ + glthread_lock_destroy_func (LOCK) +extern void glthread_lock_init_func (gl_lock_t *lock); +extern int glthread_lock_lock_func (gl_lock_t *lock); +extern int glthread_lock_unlock_func (gl_lock_t *lock); +extern int glthread_lock_destroy_func (gl_lock_t *lock); + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +/* It is impossible to implement read-write locks using plain locks, without + introducing an extra thread dedicated to managing read-write locks. + Therefore here we need to use the low-level Event type. */ + +typedef struct + { + HANDLE *array; /* array of waiting threads, each represented by an event */ + unsigned int count; /* number of waiting threads */ + unsigned int alloc; /* length of allocated array */ + unsigned int offset; /* index of first waiting thread in array */ + } + gl_carray_waitqueue_t; +typedef struct + { + gl_spinlock_t guard; /* protects the initialization */ + CRITICAL_SECTION lock; /* protects the remaining fields */ + gl_carray_waitqueue_t waiting_readers; /* waiting readers */ + gl_carray_waitqueue_t waiting_writers; /* waiting writers */ + int runcount; /* number of readers running, or -1 when a writer runs */ + } + gl_rwlock_t; +# define gl_rwlock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_rwlock_t NAME; +# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; +# define gl_rwlock_initializer \ + { { 0, -1 } } +# define glthread_rwlock_init(LOCK) \ + (glthread_rwlock_init_func (LOCK), 0) +# define glthread_rwlock_rdlock(LOCK) \ + glthread_rwlock_rdlock_func (LOCK) +# define glthread_rwlock_wrlock(LOCK) \ + glthread_rwlock_wrlock_func (LOCK) +# define glthread_rwlock_unlock(LOCK) \ + glthread_rwlock_unlock_func (LOCK) +# define glthread_rwlock_destroy(LOCK) \ + glthread_rwlock_destroy_func (LOCK) +extern void glthread_rwlock_init_func (gl_rwlock_t *lock); +extern int glthread_rwlock_rdlock_func (gl_rwlock_t *lock); +extern int glthread_rwlock_wrlock_func (gl_rwlock_t *lock); +extern int glthread_rwlock_unlock_func (gl_rwlock_t *lock); +extern int glthread_rwlock_destroy_func (gl_rwlock_t *lock); + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +/* The native Windows documentation says that CRITICAL_SECTION already + implements a recursive lock. But we need not rely on it: It's easy to + implement a recursive lock without this assumption. */ + +typedef struct + { + gl_spinlock_t guard; /* protects the initialization */ + DWORD owner; + unsigned long depth; + CRITICAL_SECTION lock; + } + gl_recursive_lock_t; +# define gl_recursive_lock_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME; +# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ + STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; +# define gl_recursive_lock_initializer \ + { { 0, -1 }, 0, 0 } +# define glthread_recursive_lock_init(LOCK) \ + (glthread_recursive_lock_init_func (LOCK), 0) +# define glthread_recursive_lock_lock(LOCK) \ + glthread_recursive_lock_lock_func (LOCK) +# define glthread_recursive_lock_unlock(LOCK) \ + glthread_recursive_lock_unlock_func (LOCK) +# define glthread_recursive_lock_destroy(LOCK) \ + glthread_recursive_lock_destroy_func (LOCK) +extern void glthread_recursive_lock_init_func (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock); +extern int glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock); + +/* -------------------------- gl_once_t datatype -------------------------- */ + +typedef struct + { + volatile int inited; + volatile long started; + CRITICAL_SECTION lock; + } + gl_once_t; +# define gl_once_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_once_t NAME = { -1, -1 }; +# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ + (glthread_once_func (ONCE_CONTROL, INITFUNCTION), 0) +extern void glthread_once_func (gl_once_t *once_control, void (*initfunction) (void)); + +# ifdef __cplusplus +} +# endif + +#endif + +/* ========================================================================= */ + +#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS) + +/* Provide dummy implementation if threads are not supported. */ + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +typedef int gl_lock_t; +# define gl_lock_define(STORAGECLASS, NAME) +# define gl_lock_define_initialized(STORAGECLASS, NAME) +# define glthread_lock_init(NAME) 0 +# define glthread_lock_lock(NAME) 0 +# define glthread_lock_unlock(NAME) 0 +# define glthread_lock_destroy(NAME) 0 + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +typedef int gl_rwlock_t; +# define gl_rwlock_define(STORAGECLASS, NAME) +# define gl_rwlock_define_initialized(STORAGECLASS, NAME) +# define glthread_rwlock_init(NAME) 0 +# define glthread_rwlock_rdlock(NAME) 0 +# define glthread_rwlock_wrlock(NAME) 0 +# define glthread_rwlock_unlock(NAME) 0 +# define glthread_rwlock_destroy(NAME) 0 + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +typedef int gl_recursive_lock_t; +# define gl_recursive_lock_define(STORAGECLASS, NAME) +# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) +# define glthread_recursive_lock_init(NAME) 0 +# define glthread_recursive_lock_lock(NAME) 0 +# define glthread_recursive_lock_unlock(NAME) 0 +# define glthread_recursive_lock_destroy(NAME) 0 + +/* -------------------------- gl_once_t datatype -------------------------- */ + +typedef int gl_once_t; +# define gl_once_define(STORAGECLASS, NAME) \ + STORAGECLASS gl_once_t NAME = 0; +# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ + (*(ONCE_CONTROL) == 0 ? (*(ONCE_CONTROL) = ~ 0, INITFUNCTION (), 0) : 0) + +#endif + +/* ========================================================================= */ + +/* Macros with built-in error handling. */ + +/* -------------------------- gl_lock_t datatype -------------------------- */ + +#define gl_lock_init(NAME) \ + do \ + { \ + if (glthread_lock_init (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_lock_lock(NAME) \ + do \ + { \ + if (glthread_lock_lock (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_lock_unlock(NAME) \ + do \ + { \ + if (glthread_lock_unlock (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_lock_destroy(NAME) \ + do \ + { \ + if (glthread_lock_destroy (&NAME)) \ + abort (); \ + } \ + while (0) + +/* ------------------------- gl_rwlock_t datatype ------------------------- */ + +#define gl_rwlock_init(NAME) \ + do \ + { \ + if (glthread_rwlock_init (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_rwlock_rdlock(NAME) \ + do \ + { \ + if (glthread_rwlock_rdlock (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_rwlock_wrlock(NAME) \ + do \ + { \ + if (glthread_rwlock_wrlock (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_rwlock_unlock(NAME) \ + do \ + { \ + if (glthread_rwlock_unlock (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_rwlock_destroy(NAME) \ + do \ + { \ + if (glthread_rwlock_destroy (&NAME)) \ + abort (); \ + } \ + while (0) + +/* --------------------- gl_recursive_lock_t datatype --------------------- */ + +#define gl_recursive_lock_init(NAME) \ + do \ + { \ + if (glthread_recursive_lock_init (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_recursive_lock_lock(NAME) \ + do \ + { \ + if (glthread_recursive_lock_lock (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_recursive_lock_unlock(NAME) \ + do \ + { \ + if (glthread_recursive_lock_unlock (&NAME)) \ + abort (); \ + } \ + while (0) +#define gl_recursive_lock_destroy(NAME) \ + do \ + { \ + if (glthread_recursive_lock_destroy (&NAME)) \ + abort (); \ + } \ + while (0) + +/* -------------------------- gl_once_t datatype -------------------------- */ + +#define gl_once(NAME, INITFUNCTION) \ + do \ + { \ + if (glthread_once (&NAME, INITFUNCTION)) \ + abort (); \ + } \ + while (0) + +/* ========================================================================= */ + +#endif /* _LOCK_H */ diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/glthread/threadlib.c texinfo-5.2.0.dfsg.1/gnulib/lib/glthread/threadlib.c --- texinfo-5.1.dfsg.1/gnulib/lib/glthread/threadlib.c 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/glthread/threadlib.c 2013-09-13 16:53:02.000000000 +0000 @@ -0,0 +1,73 @@ +/* Multithreading primitives. + Copyright (C) 2005-2013 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . */ + +/* Written by Bruno Haible , 2005. */ + +#include + +/* ========================================================================= */ + +#if USE_POSIX_THREADS + +/* Use the POSIX threads library. */ + +# include +# include + +# if PTHREAD_IN_USE_DETECTION_HARD + +/* The function to be executed by a dummy thread. */ +static void * +dummy_thread_func (void *arg) +{ + return arg; +} + +int +glthread_in_use (void) +{ + static int tested; + static int result; /* 1: linked with -lpthread, 0: only with libc */ + + if (!tested) + { + pthread_t thread; + + if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0) + /* Thread creation failed. */ + result = 0; + else + { + /* Thread creation works. */ + void *retval; + if (pthread_join (thread, &retval) != 0) + abort (); + result = 1; + } + tested = 1; + } + return result; +} + +# endif + +#endif + +/* ========================================================================= */ + +/* This declaration is solely to ensure that after preprocessing + this file is never empty. */ +typedef int dummy; diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/intprops.h texinfo-5.2.0.dfsg.1/gnulib/lib/intprops.h --- texinfo-5.1.dfsg.1/gnulib/lib/intprops.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/intprops.h 2013-09-13 16:53:02.000000000 +0000 @@ -89,7 +89,7 @@ /* Return 1 if the __typeof__ keyword works. This could be done by 'configure', but for now it's easier to do it by hand. */ -#if 2 <= __GNUC__ || 0x5110 <= __SUNPRO_C +#if 2 <= __GNUC__ || defined __IBM__TYPEOF__ || 0x5110 <= __SUNPRO_C # define _GL_HAVE___TYPEOF__ 1 #else # define _GL_HAVE___TYPEOF__ 0 diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/localcharset.c texinfo-5.2.0.dfsg.1/gnulib/lib/localcharset.c --- texinfo-5.1.dfsg.1/gnulib/lib/localcharset.c 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/localcharset.c 2013-09-13 16:53:02.000000000 +0000 @@ -65,6 +65,11 @@ # include #endif +/* For MB_CUR_MAX_L */ +#if defined DARWIN7 +# include +#endif + #if ENABLE_RELOCATABLE # include "relocatable.h" #else @@ -545,7 +550,7 @@ #ifdef DARWIN7 /* Mac OS X sets MB_CUR_MAX to 1 when LC_ALL=C, and "UTF-8" (the default codeset) does not work when MB_CUR_MAX is 1. */ - if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX <= 1) + if (strcmp (codeset, "UTF-8") == 0 && MB_CUR_MAX_L (uselocale (NULL)) <= 1) codeset = "ASCII"; #endif diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/malloca.c texinfo-5.2.0.dfsg.1/gnulib/lib/malloca.c --- texinfo-5.1.dfsg.1/gnulib/lib/malloca.c 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/malloca.c 2013-09-13 16:53:03.000000000 +0000 @@ -49,12 +49,18 @@ #define MAGIC_SIZE sizeof (int) /* This is how the header info would look like without any alignment considerations. */ -struct preliminary_header { void *next; char room[MAGIC_SIZE]; }; +struct preliminary_header { void *next; int magic; }; /* But the header's size must be a multiple of sa_alignment_max. */ #define HEADER_SIZE \ (((sizeof (struct preliminary_header) + sa_alignment_max - 1) / sa_alignment_max) * sa_alignment_max) -struct header { void *next; char room[HEADER_SIZE - sizeof (struct preliminary_header) + MAGIC_SIZE]; }; -verify (HEADER_SIZE == sizeof (struct header)); +union header { + void *next; + struct { + char room[HEADER_SIZE - MAGIC_SIZE]; + int word; + } magic; +}; +verify (HEADER_SIZE == sizeof (union header)); /* We make the hash table quite big, so that during lookups the probability of empty hash buckets is quite high. There is no need to make the hash table resizable, because when the hash table gets filled so much that the @@ -74,20 +80,21 @@ if (nplus >= n) { - char *p = (char *) malloc (nplus); + void *p = malloc (nplus); if (p != NULL) { size_t slot; + union header *h = p; - p += HEADER_SIZE; + p = h + 1; /* Put a magic number into the indicator word. */ - ((int *) p)[-1] = MAGIC_NUMBER; + h->magic.word = MAGIC_NUMBER; /* Enter p into the hash table. */ slot = (uintptr_t) p % HASH_TABLE_SIZE; - ((struct header *) (p - HEADER_SIZE))->next = mmalloca_results[slot]; + h->next = mmalloca_results[slot]; mmalloca_results[slot] = p; return p; @@ -123,15 +130,17 @@ void **chain = &mmalloca_results[slot]; for (; *chain != NULL;) { + union header *h = p; if (*chain == p) { /* Found it. Remove it from the hash table and free it. */ - char *p_begin = (char *) p - HEADER_SIZE; - *chain = ((struct header *) p_begin)->next; + union header *p_begin = h - 1; + *chain = p_begin->next; free (p_begin); return; } - chain = &((struct header *) ((char *) *chain - HEADER_SIZE))->next; + h = *chain; + chain = &h[-1].next; } } /* At this point, we know it was not a mmalloca() result. */ diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/malloca.h texinfo-5.2.0.dfsg.1/gnulib/lib/malloca.h --- texinfo-5.1.dfsg.1/gnulib/lib/malloca.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/malloca.h 2013-09-13 16:53:03.000000000 +0000 @@ -92,7 +92,7 @@ /* ------------------- Auxiliary, non-public definitions ------------------- */ /* Determine the alignment of a type at compile time. */ -#if defined __GNUC__ +#if defined __GNUC__ || defined __IBM__ALIGNOF__ # define sa_alignof __alignof__ #elif defined __cplusplus template struct sa_alignof_helper { char __slot1; type __slot2; }; diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/mbchar.h texinfo-5.2.0.dfsg.1/gnulib/lib/mbchar.h --- texinfo-5.1.dfsg.1/gnulib/lib/mbchar.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/mbchar.h 2013-09-13 16:53:03.000000000 +0000 @@ -156,6 +156,9 @@ #include #include +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif _GL_INLINE_HEADER_BEGIN #ifndef MBCHAR_INLINE # define MBCHAR_INLINE _GL_INLINE diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/mbiter.h texinfo-5.2.0.dfsg.1/gnulib/lib/mbiter.h --- texinfo-5.1.dfsg.1/gnulib/lib/mbiter.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/mbiter.h 2013-09-13 16:53:03.000000000 +0000 @@ -97,6 +97,9 @@ #include "mbchar.h" +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif _GL_INLINE_HEADER_BEGIN #ifndef MBITER_INLINE # define MBITER_INLINE _GL_INLINE diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/mbsstr.c texinfo-5.2.0.dfsg.1/gnulib/lib/mbsstr.c --- texinfo-5.1.dfsg.1/gnulib/lib/mbsstr.c 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/mbsstr.c 2013-09-13 16:53:03.000000000 +0000 @@ -45,11 +45,12 @@ size_t *table; /* Allocate room for needle_mbchars and the table. */ - char *memory = (char *) nmalloca (m, sizeof (mbchar_t) + sizeof (size_t)); + void *memory = nmalloca (m, sizeof (mbchar_t) + sizeof (size_t)); + void *table_memory; if (memory == NULL) return false; - needle_mbchars = (mbchar_t *) memory; - table = (size_t *) (memory + m * sizeof (mbchar_t)); + needle_mbchars = memory; + table = table_memory = needle_mbchars + m; /* Fill needle_mbchars. */ { diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/mbuiter.h texinfo-5.2.0.dfsg.1/gnulib/lib/mbuiter.h --- texinfo-5.1.dfsg.1/gnulib/lib/mbuiter.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/mbuiter.h 2013-09-13 16:53:03.000000000 +0000 @@ -106,6 +106,9 @@ #include "mbchar.h" #include "strnlen1.h" +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif _GL_INLINE_HEADER_BEGIN #ifndef MBUITER_INLINE # define MBUITER_INLINE _GL_INLINE diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/msvc-inval.c texinfo-5.2.0.dfsg.1/gnulib/lib/msvc-inval.c --- texinfo-5.1.dfsg.1/gnulib/lib/msvc-inval.c 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/msvc-inval.c 2013-09-13 16:53:03.000000000 +0000 @@ -28,7 +28,7 @@ # if MSVC_INVALID_PARAMETER_HANDLING == DEFAULT_HANDLING -static void cdecl +static void __cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, @@ -45,7 +45,7 @@ # if defined _MSC_VER -static void cdecl +static void __cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, @@ -94,7 +94,7 @@ } } -static void cdecl +static void __cdecl gl_msvc_invalid_parameter_handler (const wchar_t *expression, const wchar_t *function, const wchar_t *file, diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/regcomp.c texinfo-5.2.0.dfsg.1/gnulib/lib/regcomp.c --- texinfo-5.1.dfsg.1/gnulib/lib/regcomp.c 2013-03-03 00:00:52.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/regcomp.c 2013-09-13 16:53:03.000000000 +0000 @@ -292,7 +292,7 @@ #endif static inline void -__attribute ((always_inline)) +__attribute__ ((always_inline)) re_set_fastmap (char *fastmap, bool icase, int ch) { fastmap[ch] = 1; @@ -586,7 +586,7 @@ static const bitset_t utf8_sb_map = { /* Set the first 128 bits. */ -# ifdef __GNUC__ +# if defined __GNUC__ && !defined __STRICT_ANSI__ [0 ... 0x80 / BITSET_WORD_BITS - 1] = BITSET_WORD_MAX # else # if 4 * BITSET_WORD_BITS < ASCII_CHARS @@ -663,7 +663,10 @@ { re_dfa_t *dfa = preg->buffer; if (BE (dfa != NULL, 1)) - free_dfa_content (dfa); + { + lock_fini (dfa->lock); + free_dfa_content (dfa); + } preg->buffer = NULL; preg->allocated = 0; @@ -784,6 +787,8 @@ preg->used = sizeof (re_dfa_t); err = init_dfa (dfa, length); + if (BE (err == REG_NOERROR && lock_init (dfa->lock) != 0, 0)) + err = REG_ESPACE; if (BE (err != REG_NOERROR, 0)) { free_dfa_content (dfa); @@ -797,8 +802,6 @@ strncpy (dfa->re_str, pattern, length + 1); #endif - __libc_lock_init (dfa->lock); - err = re_string_construct (®exp, pattern, length, preg->translate, (syntax & RE_ICASE) != 0, dfa); if (BE (err != REG_NOERROR, 0)) @@ -806,6 +809,7 @@ re_compile_internal_free_return: free_workarea_compile (preg); re_string_destruct (®exp); + lock_fini (dfa->lock); free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; @@ -838,6 +842,7 @@ if (BE (err != REG_NOERROR, 0)) { + lock_fini (dfa->lock); free_dfa_content (dfa); preg->buffer = NULL; preg->allocated = 0; @@ -2839,7 +2844,7 @@ or -1 if not found. */ auto inline int32_t - __attribute ((always_inline)) + __attribute__ ((always_inline)) seek_collating_symbol_entry (const unsigned char *name, size_t name_len) { int32_t elem; @@ -2865,7 +2870,7 @@ Return the value if succeeded, UINT_MAX otherwise. */ auto inline unsigned int - __attribute ((always_inline)) + __attribute__ ((always_inline)) lookup_collation_sequence_value (bracket_elem_t *br_elem) { if (br_elem->type == SB_CHAR) @@ -2933,7 +2938,7 @@ update it. */ auto inline reg_errcode_t - __attribute ((always_inline)) + __attribute__ ((always_inline)) build_range_exp (bitset_t sbcset, re_charset_t *mbcset, int *range_alloc, bracket_elem_t *start_elem, bracket_elem_t *end_elem) { @@ -3014,7 +3019,7 @@ pointer argument since we may update it. */ auto inline reg_errcode_t - __attribute ((always_inline)) + __attribute__ ((always_inline)) build_collating_symbol (bitset_t sbcset, re_charset_t *mbcset, Idx *coll_sym_alloc, const unsigned char *name) { diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/regex_internal.c texinfo-5.2.0.dfsg.1/gnulib/lib/regex_internal.c --- texinfo-5.1.dfsg.1/gnulib/lib/regex_internal.c 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/regex_internal.c 2013-09-13 16:53:03.000000000 +0000 @@ -834,7 +834,7 @@ } static unsigned char -internal_function __attribute ((pure)) +internal_function __attribute__ ((pure)) re_string_peek_byte_case (const re_string_t *pstr, Idx idx) { int ch; @@ -1354,7 +1354,7 @@ Return true if SET1 and SET2 are equivalent. */ static bool -internal_function __attribute ((pure)) +internal_function __attribute__ ((pure)) re_node_set_compare (const re_node_set *set1, const re_node_set *set2) { Idx i; @@ -1369,7 +1369,7 @@ /* Return (idx + 1) if SET contains the element ELEM, return 0 otherwise. */ static Idx -internal_function __attribute ((pure)) +internal_function __attribute__ ((pure)) re_node_set_contains (const re_node_set *set, Idx elem) { __re_size_t idx, right, mid; diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/regex_internal.h texinfo-5.2.0.dfsg.1/gnulib/lib/regex_internal.h --- texinfo-5.1.dfsg.1/gnulib/lib/regex_internal.h 2013-03-03 00:00:52.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/regex_internal.h 2013-09-13 16:53:03.000000000 +0000 @@ -32,12 +32,50 @@ #include #include #include -#if defined _LIBC + +#ifdef _LIBC # include +# define lock_define(name) __libc_lock_define (, name) +# define lock_init(lock) (__libc_lock_init (lock), 0) +# define lock_fini(lock) 0 +# define lock_lock(lock) __libc_lock_lock (lock) +# define lock_unlock(lock) __libc_lock_unlock (lock) +#elif defined GNULIB_LOCK +# include "glthread/lock.h" + /* Use gl_lock_define if empty macro arguments are known to work. + Otherwise, fall back on less-portable substitutes. */ +# if ((defined __GNUC__ && !defined __STRICT_ANSI__) \ + || (defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__)) +# define lock_define(name) gl_lock_define (, name) +# elif USE_POSIX_THREADS +# define lock_define(name) pthread_mutex_t name; +# elif USE_PTH_THREADS +# define lock_define(name) pth_mutex_t name; +# elif USE_SOLARIS_THREADS +# define lock_define(name) mutex_t name; +# elif USE_WINDOWS_THREADS +# define lock_define(name) gl_lock_t name; +# else +# define lock_define(name) +# endif +# define lock_init(lock) glthread_lock_init (&(lock)) +# define lock_fini(lock) glthread_lock_destroy (&(lock)) +# define lock_lock(lock) glthread_lock_lock (&(lock)) +# define lock_unlock(lock) glthread_lock_unlock (&(lock)) +#elif defined GNULIB_PTHREAD +# include +# define lock_define(name) pthread_mutex_t name; +# define lock_init(lock) pthread_mutex_init (&(lock), 0) +# define lock_fini(lock) pthread_mutex_destroy (&(lock)) +# define lock_lock(lock) pthread_mutex_lock (&(lock)) +# define lock_unlock(lock) pthread_mutex_unlock (&(lock)) #else -# define __libc_lock_init(NAME) do { } while (0) -# define __libc_lock_lock(NAME) do { } while (0) -# define __libc_lock_unlock(NAME) do { } while (0) +# define lock_define(name) +# define lock_init(lock) 0 +# define lock_fini(lock) ((void) 0) + /* The 'dfa' avoids an "unused variable 'dfa'" warning from GCC. */ +# define lock_lock(lock) ((void) dfa) +# define lock_unlock(lock) ((void) 0) #endif /* In case that the system doesn't have isblank(). */ @@ -698,9 +736,7 @@ #ifdef DEBUG char* re_str; #endif -#ifdef _LIBC - __libc_lock_define (, lock) -#endif + lock_define (lock) }; #define re_node_set_init_empty(set) memset (set, '\0', sizeof (re_node_set)) diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/regexec.c texinfo-5.2.0.dfsg.1/gnulib/lib/regexec.c --- texinfo-5.1.dfsg.1/gnulib/lib/regexec.c 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/regexec.c 2013-09-13 16:53:03.000000000 +0000 @@ -228,9 +228,7 @@ { reg_errcode_t err; Idx start, length; -#ifdef _LIBC re_dfa_t *dfa = preg->buffer; -#endif if (eflags & ~(REG_NOTBOL | REG_NOTEOL | REG_STARTEND)) return REG_BADPAT; @@ -246,14 +244,14 @@ length = strlen (string); } - __libc_lock_lock (dfa->lock); + lock_lock (dfa->lock); if (preg->no_sub) err = re_search_internal (preg, string, length, start, length, length, 0, NULL, eflags); else err = re_search_internal (preg, string, length, start, length, length, nmatch, pmatch, eflags); - __libc_lock_unlock (dfa->lock); + lock_unlock (dfa->lock); return err != REG_NOERROR; } @@ -421,9 +419,7 @@ Idx nregs; regoff_t rval; int eflags = 0; -#ifdef _LIBC re_dfa_t *dfa = bufp->buffer; -#endif Idx last_start = start + range; /* Check for out-of-range. */ @@ -434,7 +430,7 @@ else if (BE (last_start < 0 || (range < 0 && start <= last_start), 0)) last_start = 0; - __libc_lock_lock (dfa->lock); + lock_lock (dfa->lock); eflags |= (bufp->not_bol) ? REG_NOTBOL : 0; eflags |= (bufp->not_eol) ? REG_NOTEOL : 0; @@ -498,7 +494,7 @@ } re_free (pmatch); out: - __libc_lock_unlock (dfa->lock); + lock_unlock (dfa->lock); return rval; } @@ -1064,7 +1060,7 @@ since initial states may have constraints like "\<", "^", etc.. */ static inline re_dfastate_t * -__attribute ((always_inline)) internal_function +__attribute__ ((always_inline)) internal_function acquire_init_state_context (reg_errcode_t *err, const re_match_context_t *mctx, Idx idx) { diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/sys_time.in.h texinfo-5.2.0.dfsg.1/gnulib/lib/sys_time.in.h --- texinfo-5.1.dfsg.1/gnulib/lib/sys_time.in.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/sys_time.in.h 2013-09-13 16:53:03.000000000 +0000 @@ -24,6 +24,15 @@ #endif @PRAGMA_COLUMNS@ +/* On Cygwin and on many BSDish systems, includes itself + recursively via . + Simply delegate to the system's header in this case; it is a no-op. + Without this extra ifdef, the C++ gettimeofday declaration below + would be a forward declaration in gnulib's nested . */ +#if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_ +# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ +#else + /* The include_next requires a split double-inclusion guard. */ #if @HAVE_SYS_TIME_H@ # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ @@ -200,4 +209,5 @@ #endif #endif /* _@GUARD_PREFIX@_SYS_TIME_H */ +#endif /* _CYGWIN_SYS_TIME_H */ #endif /* _@GUARD_PREFIX@_SYS_TIME_H */ diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/unistd.in.h texinfo-5.2.0.dfsg.1/gnulib/lib/unistd.in.h --- texinfo-5.1.dfsg.1/gnulib/lib/unistd.in.h 2013-03-03 00:00:55.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/unistd.in.h 2013-09-13 16:53:03.000000000 +0000 @@ -61,8 +61,10 @@ /* mingw, MSVC, BeOS, Haiku declare environ in , not in . */ /* Solaris declares getcwd not only in but also in . */ +/* OSF Tru64 Unix cannot see gnulib rpl_strtod when system is + included here. */ /* But avoid namespace pollution on glibc systems. */ -#ifndef __GLIBC__ +#if !defined __GLIBC__ && !defined __osf__ # define __need_system_stdlib_h # include # undef __need_system_stdlib_h @@ -114,6 +116,9 @@ # include #endif +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif _GL_INLINE_HEADER_BEGIN #ifndef _GL_UNISTD_INLINE # define _GL_UNISTD_INLINE _GL_INLINE diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/verify.h texinfo-5.2.0.dfsg.1/gnulib/lib/verify.h --- texinfo-5.1.dfsg.1/gnulib/lib/verify.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/verify.h 2013-09-13 16:53:03.000000000 +0000 @@ -18,7 +18,7 @@ /* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */ #ifndef _GL_VERIFY_H -# define _GL_VERIFY_H +#define _GL_VERIFY_H /* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11. @@ -31,14 +31,24 @@ Use this only with GCC. If we were willing to slow 'configure' down we could also use it with other compilers, but since this affects only the quality of diagnostics, why bother? */ -# if (4 < __GNUC__ || (__GNUC__ == 4 && 6 <= __GNUC_MINOR__)) && !defined __cplusplus -# define _GL_HAVE__STATIC_ASSERT 1 -# endif +#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \ + && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \ + && !defined __cplusplus) +# define _GL_HAVE__STATIC_ASSERT 1 +#endif /* The condition (99 < __GNUC__) is temporary, until we know about the first G++ release that supports static_assert. */ -# if (99 < __GNUC__) && defined __cplusplus -# define _GL_HAVE_STATIC_ASSERT 1 -# endif +#if (99 < __GNUC__) && defined __cplusplus +# define _GL_HAVE_STATIC_ASSERT 1 +#endif + +/* FreeBSD 9.1 , included by and lots of other + system headers, defines a conflicting _Static_assert that is no + better than ours; override it. */ +#ifndef _GL_HAVE_STATIC_ASSERT +# include +# undef _Static_assert +#endif /* Each of these macros verifies that its argument R is nonzero. To be portable, R should be an integer constant expression. Unlike @@ -141,50 +151,50 @@ Use a template type to work around the problem. */ /* Concatenate two preprocessor tokens. */ -# define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) -# define _GL_CONCAT0(x, y) x##y +#define _GL_CONCAT(x, y) _GL_CONCAT0 (x, y) +#define _GL_CONCAT0(x, y) x##y /* _GL_COUNTER is an integer, preferably one that changes each time we use it. Use __COUNTER__ if it works, falling back on __LINE__ otherwise. __LINE__ isn't perfect, but it's better than a constant. */ -# if defined __COUNTER__ && __COUNTER__ != __COUNTER__ -# define _GL_COUNTER __COUNTER__ -# else -# define _GL_COUNTER __LINE__ -# endif +#if defined __COUNTER__ && __COUNTER__ != __COUNTER__ +# define _GL_COUNTER __COUNTER__ +#else +# define _GL_COUNTER __LINE__ +#endif /* Generate a symbol with the given prefix, making it unique if possible. */ -# define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) +#define _GL_GENSYM(prefix) _GL_CONCAT (prefix, _GL_COUNTER) /* Verify requirement R at compile-time, as an integer constant expression that returns 1. If R is false, fail at compile-time, preferably with a diagnostic that includes the string-literal DIAGNOSTIC. */ -# define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \ - (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC))) +#define _GL_VERIFY_TRUE(R, DIAGNOSTIC) \ + (!!sizeof (_GL_VERIFY_TYPE (R, DIAGNOSTIC))) -# ifdef __cplusplus -# if !GNULIB_defined_struct__gl_verify_type +#ifdef __cplusplus +# if !GNULIB_defined_struct__gl_verify_type template struct _gl_verify_type { unsigned int _gl_verify_error_if_negative: w; }; -# define GNULIB_defined_struct__gl_verify_type 1 -# endif -# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ - _gl_verify_type<(R) ? 1 : -1> -# elif defined _GL_HAVE__STATIC_ASSERT -# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ - struct { \ - _Static_assert (R, DIAGNOSTIC); \ - int _gl_dummy; \ - } -# else -# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ - struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; } +# define GNULIB_defined_struct__gl_verify_type 1 # endif +# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ + _gl_verify_type<(R) ? 1 : -1> +#elif defined _GL_HAVE__STATIC_ASSERT +# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ + struct { \ + _Static_assert (R, DIAGNOSTIC); \ + int _gl_dummy; \ + } +#else +# define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ + struct { unsigned int _gl_verify_error_if_negative: (R) ? 1 : -1; } +#endif /* Verify requirement R at compile-time, as a declaration without a trailing ';'. If R is false, fail at compile-time, preferably @@ -193,23 +203,23 @@ Unfortunately, unlike C11, this implementation must appear as an ordinary declaration, and cannot appear inside struct { ... }. */ -# ifdef _GL_HAVE__STATIC_ASSERT -# define _GL_VERIFY _Static_assert -# else -# define _GL_VERIFY(R, DIAGNOSTIC) \ - extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ - [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] -# endif +#ifdef _GL_HAVE__STATIC_ASSERT +# define _GL_VERIFY _Static_assert +#else +# define _GL_VERIFY(R, DIAGNOSTIC) \ + extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ + [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] +#endif /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ -# ifdef _GL_STATIC_ASSERT_H -# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert -# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) -# endif -# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert -# define static_assert _Static_assert /* C11 requires this #define. */ -# endif +#ifdef _GL_STATIC_ASSERT_H +# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert +# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) +# endif +# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert +# define static_assert _Static_assert /* C11 requires this #define. */ # endif +#endif /* @assert.h omit start@ */ @@ -227,18 +237,18 @@ verify_true is obsolescent; please use verify_expr instead. */ -# define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") +#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") /* Verify requirement R at compile-time. Return the value of the expression E. */ -# define verify_expr(R, E) \ - (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) +#define verify_expr(R, E) \ + (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) /* Verify requirement R at compile-time, as a declaration without a trailing ';'. */ -# define verify(R) _GL_VERIFY (R, "verify (" #R ")") +#define verify(R) _GL_VERIFY (R, "verify (" #R ")") /* @assert.h omit end@ */ diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/wctype.in.h texinfo-5.2.0.dfsg.1/gnulib/lib/wctype.in.h --- texinfo-5.1.dfsg.1/gnulib/lib/wctype.in.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/wctype.in.h 2013-09-13 16:53:03.000000000 +0000 @@ -44,6 +44,13 @@ # include #endif +/* mingw has declarations of towupper and towlower in as + well . Include in advance to avoid rpl_ prefix + being added to the declarations. */ +#ifdef __MINGW32__ +# include +#endif + /* Include the original if it exists. BeOS 5 has the functions but no . */ /* The include_next requires a split double-inclusion guard. */ @@ -54,6 +61,9 @@ #ifndef _@GUARD_PREFIX@_WCTYPE_H #define _@GUARD_PREFIX@_WCTYPE_H +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif _GL_INLINE_HEADER_BEGIN #ifndef _GL_WCTYPE_INLINE # define _GL_WCTYPE_INLINE _GL_INLINE diff -Nru texinfo-5.1.dfsg.1/gnulib/lib/xalloc.h texinfo-5.2.0.dfsg.1/gnulib/lib/xalloc.h --- texinfo-5.1.dfsg.1/gnulib/lib/xalloc.h 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/lib/xalloc.h 2013-09-13 16:53:03.000000000 +0000 @@ -22,6 +22,9 @@ #include "xalloc-oversized.h" +#ifndef _GL_INLINE_HEADER_BEGIN + #error "Please include config.h first." +#endif _GL_INLINE_HEADER_BEGIN #ifndef XALLOC_INLINE # define XALLOC_INLINE _GL_INLINE diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/extensions.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/extensions.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/extensions.m4 2013-03-03 00:00:59.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/extensions.m4 2013-09-13 16:53:03.000000000 +0000 @@ -6,7 +6,7 @@ # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS +# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git # Autoconf. Perhaps we can remove this once we can assume Autoconf # 2.70 or later everywhere, but since Autoconf mutates rapidly # enough in this area it's likely we'll need to redefine diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/extern-inline.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/extern-inline.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/extern-inline.m4 2013-03-03 00:00:59.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/extern-inline.m4 2013-09-13 16:53:03.000000000 +0000 @@ -8,30 +8,31 @@ AC_DEFUN([gl_EXTERN_INLINE], [ AH_VERBATIM([extern_inline], -[/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'. - _GL_EXTERN_INLINE is a portable alternative to 'extern inline'. - _GL_INLINE_HEADER_BEGIN contains useful stuff to put - in an include file, before uses of _GL_INLINE. - It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic, - when FOO is an inline function in the header; see - . - _GL_INLINE_HEADER_END contains useful stuff to put - in the same include file, after uses of _GL_INLINE. +[/* Please see the Gnulib manual for how to use these macros. Suppress extern inline with HP-UX cc, as it appears to be broken; see . - Suppress the use of extern inline on Apple's platforms, - as Libc-825.25 (2012-09-19) is incompatible with it; see + Suppress extern inline with Sun C in standards-conformance mode, as it + mishandles inline functions that call each other. E.g., for 'inline void f + (void) { } inline void g (void) { f (); }', c99 incorrectly complains + 'reference to static identifier "f" in extern inline function'. + This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16. + + Suppress the use of extern inline on Apple's platforms, as Libc at least + through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g., . Perhaps Apple will fix this some day. */ #if ((__GNUC__ \ ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ - : 199901L <= __STDC_VERSION__ && !defined __HP_cc) \ + : (199901L <= __STDC_VERSION__ \ + && !defined __HP_cc \ + && !(defined __SUNPRO_C && __STDC__))) \ && !defined __APPLE__) # define _GL_INLINE inline # define _GL_EXTERN_INLINE extern inline -#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__ +#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined __APPLE__) # if __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ # define _GL_INLINE extern inline __attribute__ ((__gnu_inline__)) @@ -51,6 +52,10 @@ # define _GL_INLINE_HEADER_CONST_PRAGMA \ _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"") # endif + /* Suppress GCC's bogus "no previous prototype for 'FOO'" + and "no previous declaration for 'FOO'" diagnostics, + when FOO is an inline function in the header; see + . */ # define _GL_INLINE_HEADER_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \ diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/gnulib-comp.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/gnulib-comp.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/gnulib-comp.m4 2013-03-03 00:01:15.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/gnulib-comp.m4 2013-09-13 16:53:08.000000000 +0000 @@ -66,6 +66,7 @@ # Code from module localcharset: # Code from module locale: # Code from module localeconv: + # Code from module lock: # Code from module lstat: # Code from module malloc-gnu: # Code from module malloc-posix: @@ -120,6 +121,8 @@ # Code from module sys_time: # Code from module sys_types: # Code from module tempname: + # Code from module threadlib: + gl_THREADLIB_EARLY # Code from module time: # Code from module unistd: # Code from module unitypes: @@ -224,6 +227,8 @@ gl_PREREQ_LOCALECONV fi gl_LOCALE_MODULE_INDICATOR([localeconv]) + gl_LOCK + gl_MODULE_INDICATOR([lock]) gl_FUNC_LSTAT if test $REPLACE_LSTAT = 1; then AC_LIBOBJ([lstat]) @@ -385,6 +390,7 @@ gl_SYS_TYPES_H AC_PROG_MKDIR_P gl_FUNC_GEN_TEMPNAME + gl_THREADLIB gl_HEADER_TIME_H gl_UNISTD_H gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h]) @@ -567,6 +573,9 @@ lib/getopt_int.h lib/gettext.h lib/gettimeofday.c + lib/glthread/lock.c + lib/glthread/lock.h + lib/glthread/threadlib.c lib/intprops.h lib/iswblank.c lib/langinfo.in.h diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/lock.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/lock.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/lock.m4 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/lock.m4 2013-09-13 16:53:03.000000000 +0000 @@ -0,0 +1,42 @@ +# lock.m4 serial 13 (gettext-0.18.2) +dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([gl_LOCK], +[ + AC_REQUIRE([gl_THREADLIB]) + if test "$gl_threads_api" = posix; then + # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the + # pthread_rwlock_* functions. + AC_CHECK_TYPE([pthread_rwlock_t], + [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1], + [Define if the POSIX multithreading library has read/write locks.])], + [], + [#include ]) + # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro. + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[#include ]], + [[ +#if __FreeBSD__ == 4 +error "No, in FreeBSD 4.0 recursive mutexes actually don't work." +#elif (defined __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ \ + && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070) +error "No, in Mac OS X < 10.7 recursive mutexes actually don't work." +#else +int x = (int)PTHREAD_MUTEX_RECURSIVE; +return !x; +#endif + ]])], + [AC_DEFINE([HAVE_PTHREAD_MUTEX_RECURSIVE], [1], + [Define if the defines PTHREAD_MUTEX_RECURSIVE.])]) + fi + gl_PREREQ_LOCK +]) + +# Prerequisites of lib/glthread/lock.c. +AC_DEFUN([gl_PREREQ_LOCK], [:]) diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/po.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/po.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/po.m4 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/po.m4 2013-08-18 18:33:15.000000000 +0000 @@ -1,4 +1,4 @@ -# po.m4 serial 17c +# po.m4 serial 21 (gettext-0.18.3) dnl Copyright (C) 1995-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -17,7 +17,7 @@ dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. -AC_PREREQ([2.50]) +AC_PREREQ([2.60]) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], @@ -25,6 +25,7 @@ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl + AC_REQUIRE([AC_PROG_SED])dnl AC_REQUIRE([AM_NLS])dnl dnl Release version of the gettext macros. This is used to ensure that @@ -102,7 +103,7 @@ case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. @@ -227,7 +228,7 @@ changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'` ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/regex.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/regex.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/regex.m4 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/regex.m4 2013-09-13 16:53:04.000000000 +0000 @@ -1,4 +1,4 @@ -# serial 63 +# serial 64 # Copyright (C) 1996-2001, 2003-2013 Free Software Foundation, Inc. # @@ -27,7 +27,7 @@ # following run test, then default to *not* using the included regex.c. # If cross compiling, assume the test would fail and use the included # regex.c. - AC_CHECK_FUNCS_ONCE([alarm]) + AC_CHECK_DECLS_ONCE([alarm]) AC_CACHE_CHECK([for working re_compile_pattern], [gl_cv_func_re_compile_pattern_working], [AC_RUN_IFELSE( @@ -37,7 +37,7 @@ #include #include #include - #if HAVE_ALARM + #if HAVE_DECL_ALARM # include # include #endif @@ -49,7 +49,7 @@ const char *s; struct re_registers regs; -#if HAVE_ALARM +#if HAVE_DECL_ALARM /* Some builds of glibc go into an infinite loop on this test. */ signal (SIGALRM, SIG_DFL); alarm (2); @@ -84,17 +84,28 @@ */ static char const pat[] = "[^x]x"; static char const data[] = - "\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80" - "\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax"; + /* */ + "\xe1\x80\x80" + "\xe1\x80\xbb" + "\xe1\x80\xbd" + "\xe1\x80\x94" + "\xe1\x80\xba" + "\xe1\x80\xaf" + "\xe1\x80\x95" + "\xe1\x80\xba" + "x"; re_set_syntax (0); memset (®ex, 0, sizeof regex); s = re_compile_pattern (pat, sizeof pat - 1, ®ex); if (s) result |= 1; - else if (re_search (®ex, data, sizeof data - 1, - 0, sizeof data - 1, 0) - != 21) - result |= 1; + else + { + i = re_search (®ex, data, sizeof data - 1, + 0, sizeof data - 1, 0); + if (i != 0 && i != 21) + result |= 1; + } } if (! setlocale (LC_ALL, "C")) @@ -255,6 +266,7 @@ AC_REQUIRE([AC_C_RESTRICT]) AC_REQUIRE([AC_TYPE_MBSTATE_T]) AC_REQUIRE([gl_EEMALLOC]) + AC_REQUIRE([gl_GLIBC21]) AC_CHECK_HEADERS([libintl.h]) AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll]) AC_CHECK_DECLS([isblank], [], [], [[#include ]]) diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/sys_types_h.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/sys_types_h.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/sys_types_h.m4 2013-02-19 22:25:29.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/sys_types_h.m4 2013-09-13 16:53:04.000000000 +0000 @@ -1,10 +1,10 @@ -# sys_types_h.m4 serial 4 +# sys_types_h.m4 serial 5 dnl Copyright (C) 2011-2013 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN([gl_SYS_TYPES_H], +AC_DEFUN_ONCE([gl_SYS_TYPES_H], [ AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS]) gl_NEXT_HEADERS([sys/types.h]) diff -Nru texinfo-5.1.dfsg.1/gnulib/m4/threadlib.m4 texinfo-5.2.0.dfsg.1/gnulib/m4/threadlib.m4 --- texinfo-5.1.dfsg.1/gnulib/m4/threadlib.m4 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/gnulib/m4/threadlib.m4 2013-02-19 22:25:29.000000000 +0000 @@ -0,0 +1,371 @@ +# threadlib.m4 serial 10 (gettext-0.18.2) +dnl Copyright (C) 2005-2013 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +dnl gl_THREADLIB +dnl ------------ +dnl Tests for a multithreading library to be used. +dnl If the configure.ac contains a definition of the gl_THREADLIB_DEFAULT_NO +dnl (it must be placed before the invocation of gl_THREADLIB_EARLY!), then the +dnl default is 'no', otherwise it is system dependent. In both cases, the user +dnl can change the choice through the options --enable-threads=choice or +dnl --disable-threads. +dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, +dnl USE_PTH_THREADS, USE_WINDOWS_THREADS +dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use +dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with +dnl libtool). +dnl Sets the variables LIBMULTITHREAD and LTLIBMULTITHREAD similarly, for +dnl programs that really need multithread functionality. The difference +dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak +dnl symbols, typically LIBTHREAD="" whereas LIBMULTITHREAD="-lpthread". +dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for +dnl multithread-safe programs. + +AC_DEFUN([gl_THREADLIB_EARLY], +[ + AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) +]) + +dnl The guts of gl_THREADLIB_EARLY. Needs to be expanded only once. + +AC_DEFUN([gl_THREADLIB_EARLY_BODY], +[ + dnl Ordering constraints: This macro modifies CPPFLAGS in a way that + dnl influences the result of the autoconf tests that test for *_unlocked + dnl declarations, on AIX 5 at least. Therefore it must come early. + AC_BEFORE([$0], [gl_FUNC_GLIBC_UNLOCKED_IO])dnl + AC_BEFORE([$0], [gl_ARGP])dnl + + AC_REQUIRE([AC_CANONICAL_HOST]) + dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems. + dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes + dnl AC_GNU_SOURCE. + m4_ifdef([AC_USE_SYSTEM_EXTENSIONS], + [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])], + [AC_REQUIRE([AC_GNU_SOURCE])]) + dnl Check for multithreading. + m4_ifdef([gl_THREADLIB_DEFAULT_NO], + [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])], + [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) + AC_ARG_ENABLE([threads], +AC_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ +AC_HELP_STRING([--disable-threads], [build without multithread safety])]), + [gl_use_threads=$enableval], + [if test -n "$gl_use_threads_default"; then + gl_use_threads="$gl_use_threads_default" + else +changequote(,)dnl + case "$host_os" in + dnl Disable multithreading by default on OSF/1, because it interferes + dnl with fork()/exec(): When msgexec is linked with -lpthread, its + dnl child process gets an endless segmentation fault inside execvp(). + dnl Disable multithreading by default on Cygwin 1.5.x, because it has + dnl bugs that lead to endless loops or crashes. See + dnl . + osf*) gl_use_threads=no ;; + cygwin*) + case `uname -r` in + 1.[0-5].*) gl_use_threads=no ;; + *) gl_use_threads=yes ;; + esac + ;; + *) gl_use_threads=yes ;; + esac +changequote([,])dnl + fi + ]) + if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then + # For using : + case "$host_os" in + osf*) + # On OSF/1, the compiler needs the flag -D_REENTRANT so that it + # groks . cc also understands the flag -pthread, but + # we don't use it because 1. gcc-2.95 doesn't understand -pthread, + # 2. putting a flag into CPPFLAGS that has an effect on the linker + # causes the AC_LINK_IFELSE test below to succeed unexpectedly, + # leading to wrong values of LIBTHREAD and LTLIBTHREAD. + CPPFLAGS="$CPPFLAGS -D_REENTRANT" + ;; + esac + # Some systems optimize for single-threaded programs by default, and + # need special flags to disable these optimizations. For example, the + # definition of 'errno' in . + case "$host_os" in + aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;; + solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;; + esac + fi +]) + +dnl The guts of gl_THREADLIB. Needs to be expanded only once. + +AC_DEFUN([gl_THREADLIB_BODY], +[ + AC_REQUIRE([gl_THREADLIB_EARLY_BODY]) + gl_threads_api=none + LIBTHREAD= + LTLIBTHREAD= + LIBMULTITHREAD= + LTLIBMULTITHREAD= + if test "$gl_use_threads" != no; then + dnl Check whether the compiler and linker support weak declarations. + AC_CACHE_CHECK([whether imported symbols can be declared weak], + [gl_cv_have_weak], + [gl_cv_have_weak=no + dnl First, test whether the compiler accepts it syntactically. + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[extern void xyzzy (); +#pragma weak xyzzy]], + [[xyzzy();]])], + [gl_cv_have_weak=maybe]) + if test $gl_cv_have_weak = maybe; then + dnl Second, test whether it actually works. On Cygwin 1.7.2, with + dnl gcc 4.3, symbols declared weak always evaluate to the address 0. + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#pragma weak fputs +int main () +{ + return (fputs == NULL); +}]])], + [gl_cv_have_weak=yes], + [gl_cv_have_weak=no], + [dnl When cross-compiling, assume that only ELF platforms support + dnl weak symbols. + AC_EGREP_CPP([Extensible Linking Format], + [#ifdef __ELF__ + Extensible Linking Format + #endif + ], + [gl_cv_have_weak="guessing yes"], + [gl_cv_have_weak="guessing no"]) + ]) + fi + ]) + if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then + # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that + # it groks . It's added above, in gl_THREADLIB_EARLY_BODY. + AC_CHECK_HEADER([pthread.h], + [gl_have_pthread_h=yes], [gl_have_pthread_h=no]) + if test "$gl_have_pthread_h" = yes; then + # Other possible tests: + # -lpthreads (FSU threads, PCthreads) + # -lgthreads + gl_have_pthread= + # Test whether both pthread_mutex_lock and pthread_mutexattr_init exist + # in libc. IRIX 6.5 has the first one in both libc and libpthread, but + # the second one only in libpthread, and lock.c needs it. + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include ]], + [[pthread_mutex_lock((pthread_mutex_t*)0); + pthread_mutexattr_init((pthread_mutexattr_t*)0);]])], + [gl_have_pthread=yes]) + # Test for libpthread by looking for pthread_kill. (Not pthread_self, + # since it is defined as a macro on OSF/1.) + if test -n "$gl_have_pthread"; then + # The program links fine without libpthread. But it may actually + # need to link with libpthread in order to create multiple threads. + AC_CHECK_LIB([pthread], [pthread_kill], + [LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread + # On Solaris and HP-UX, most pthread functions exist also in libc. + # Therefore pthread_in_use() needs to actually try to create a + # thread: pthread_create from libc will fail, whereas + # pthread_create will actually create a thread. + case "$host_os" in + solaris* | hpux*) + AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], + [Define if the pthread_in_use() detection is hard.]) + esac + ]) + else + # Some library is needed. Try libpthread and libc_r. + AC_CHECK_LIB([pthread], [pthread_kill], + [gl_have_pthread=yes + LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread + LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread]) + if test -z "$gl_have_pthread"; then + # For FreeBSD 4. + AC_CHECK_LIB([c_r], [pthread_kill], + [gl_have_pthread=yes + LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r + LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r]) + fi + fi + if test -n "$gl_have_pthread"; then + gl_threads_api=posix + AC_DEFINE([USE_POSIX_THREADS], [1], + [Define if the POSIX multithreading library can be used.]) + if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + AC_DEFINE([USE_POSIX_THREADS_WEAK], [1], + [Define if references to the POSIX multithreading library should be made weak.]) + LIBTHREAD= + LTLIBTHREAD= + fi + fi + fi + fi + fi + if test -z "$gl_have_pthread"; then + if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then + gl_have_solaristhread= + gl_save_LIBS="$LIBS" + LIBS="$LIBS -lthread" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[thr_self();]])], + [gl_have_solaristhread=yes]) + LIBS="$gl_save_LIBS" + if test -n "$gl_have_solaristhread"; then + gl_threads_api=solaris + LIBTHREAD=-lthread + LTLIBTHREAD=-lthread + LIBMULTITHREAD="$LIBTHREAD" + LTLIBMULTITHREAD="$LTLIBTHREAD" + AC_DEFINE([USE_SOLARIS_THREADS], [1], + [Define if the old Solaris multithreading library can be used.]) + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1], + [Define if references to the old Solaris multithreading library should be made weak.]) + LIBTHREAD= + LTLIBTHREAD= + fi + fi + fi + fi + if test "$gl_use_threads" = pth; then + gl_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_LINKFLAGS([pth]) + gl_have_pth= + gl_save_LIBS="$LIBS" + LIBS="$LIBS $LIBPTH" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include ]], [[pth_self();]])], + [gl_have_pth=yes]) + LIBS="$gl_save_LIBS" + if test -n "$gl_have_pth"; then + gl_threads_api=pth + LIBTHREAD="$LIBPTH" + LTLIBTHREAD="$LTLIBPTH" + LIBMULTITHREAD="$LIBTHREAD" + LTLIBMULTITHREAD="$LTLIBTHREAD" + AC_DEFINE([USE_PTH_THREADS], [1], + [Define if the GNU Pth multithreading library can be used.]) + if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + AC_DEFINE([USE_PTH_THREADS_WEAK], [1], + [Define if references to the GNU Pth multithreading library should be made weak.]) + LIBTHREAD= + LTLIBTHREAD= + fi + fi + else + CPPFLAGS="$gl_save_CPPFLAGS" + fi + fi + if test -z "$gl_have_pthread"; then + case "$gl_use_threads" in + yes | windows | win32) # The 'win32' is for backward compatibility. + if { case "$host_os" in + mingw*) true;; + *) false;; + esac + }; then + gl_threads_api=windows + AC_DEFINE([USE_WINDOWS_THREADS], [1], + [Define if the native Windows multithreading API can be used.]) + fi + ;; + esac + fi + fi + AC_MSG_CHECKING([for multithread API to use]) + AC_MSG_RESULT([$gl_threads_api]) + AC_SUBST([LIBTHREAD]) + AC_SUBST([LTLIBTHREAD]) + AC_SUBST([LIBMULTITHREAD]) + AC_SUBST([LTLIBMULTITHREAD]) +]) + +AC_DEFUN([gl_THREADLIB], +[ + AC_REQUIRE([gl_THREADLIB_EARLY]) + AC_REQUIRE([gl_THREADLIB_BODY]) +]) + + +dnl gl_DISABLE_THREADS +dnl ------------------ +dnl Sets the gl_THREADLIB default so that threads are not used by default. +dnl The user can still override it at installation time, by using the +dnl configure option '--enable-threads'. + +AC_DEFUN([gl_DISABLE_THREADS], [ + m4_divert_text([INIT_PREPARE], [gl_use_threads_default=no]) +]) + + +dnl Survey of platforms: +dnl +dnl Platform Available Compiler Supports test-lock +dnl flavours option weak result +dnl --------------- --------- --------- -------- --------- +dnl Linux 2.4/glibc posix -lpthread Y OK +dnl +dnl GNU Hurd/glibc posix +dnl +dnl FreeBSD 5.3 posix -lc_r Y +dnl posix -lkse ? Y +dnl posix -lpthread ? Y +dnl posix -lthr Y +dnl +dnl FreeBSD 5.2 posix -lc_r Y +dnl posix -lkse Y +dnl posix -lthr Y +dnl +dnl FreeBSD 4.0,4.10 posix -lc_r Y OK +dnl +dnl NetBSD 1.6 -- +dnl +dnl OpenBSD 3.4 posix -lpthread Y OK +dnl +dnl Mac OS X 10.[123] posix -lpthread Y OK +dnl +dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK +dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK +dnl +dnl HP-UX 11 posix -lpthread N (cc) OK +dnl Y (gcc) +dnl +dnl IRIX 6.5 posix -lpthread Y 0.5 +dnl +dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK +dnl +dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK +dnl -lpthread (gcc) Y +dnl +dnl Cygwin posix -lpthread Y OK +dnl +dnl Any of the above pth -lpth 0.0 +dnl +dnl Mingw windows N OK +dnl +dnl BeOS 5 -- +dnl +dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is +dnl turned off: +dnl OK if all three tests terminate OK, +dnl 0.5 if the first test terminates OK but the second one loops endlessly, +dnl 0.0 if the first test already loops endlessly. diff -Nru texinfo-5.1.dfsg.1/info/Makefile.am texinfo-5.2.0.dfsg.1/info/Makefile.am --- texinfo-5.1.dfsg.1/info/Makefile.am 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/Makefile.am 2013-04-15 21:39:09.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5255 2013-04-15 21:39:09Z gray $ # Makefile.am for texinfo/info. # # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 @@ -38,7 +38,7 @@ echo-area.c echo-area.h \ filesys.c filesys.h footnotes.c footnotes.h gc.c gc.h \ indices.c indices.h info-utils.c info-utils.h info.c info.h infodoc.c \ - infomap.c infomap.h m-x.c man.c man.h nodemenu.c nodes.c nodes.h \ + infomap.c infomap.h infopath.c m-x.c man.c man.h nodemenu.c nodes.c nodes.h \ search.c search.h session.c session.h signals.c signals.h \ tag.c tag.h termdep.h terminal.c terminal.h tilde.c tilde.h \ variables.c variables.h window.c window.h diff -Nru texinfo-5.1.dfsg.1/info/Makefile.in texinfo-5.2.0.dfsg.1/info/Makefile.in --- texinfo-5.1.dfsg.1/info/Makefile.in 2013-03-12 22:56:43.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,7 @@ @SET_MAKE@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5255 2013-04-15 21:39:09Z gray $ # Makefile.am for texinfo/info. # # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 @@ -29,23 +29,51 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -103,6 +131,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -151,6 +180,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -173,10 +203,11 @@ echo-area.$(OBJEXT) filesys.$(OBJEXT) footnotes.$(OBJEXT) \ gc.$(OBJEXT) indices.$(OBJEXT) info-utils.$(OBJEXT) \ info.$(OBJEXT) infodoc.$(OBJEXT) infomap.$(OBJEXT) \ - m-x.$(OBJEXT) man.$(OBJEXT) nodemenu.$(OBJEXT) nodes.$(OBJEXT) \ - search.$(OBJEXT) session.$(OBJEXT) signals.$(OBJEXT) \ - tag.$(OBJEXT) terminal.$(OBJEXT) tilde.$(OBJEXT) \ - variables.$(OBJEXT) window.$(OBJEXT) + infopath.$(OBJEXT) m-x.$(OBJEXT) man.$(OBJEXT) \ + nodemenu.$(OBJEXT) nodes.$(OBJEXT) search.$(OBJEXT) \ + session.$(OBJEXT) signals.$(OBJEXT) tag.$(OBJEXT) \ + terminal.$(OBJEXT) tilde.$(OBJEXT) variables.$(OBJEXT) \ + window.$(OBJEXT) nodist_ginfo_OBJECTS = doc.$(OBJEXT) ginfo_OBJECTS = $(am_ginfo_OBJECTS) $(nodist_ginfo_OBJECTS) ginfo_LDADD = $(LDADD) @@ -684,8 +715,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -696,7 +731,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -850,6 +888,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -951,7 +990,7 @@ echo-area.c echo-area.h \ filesys.c filesys.h footnotes.c footnotes.h gc.c gc.h \ indices.c indices.h info-utils.c info-utils.h info.c info.h infodoc.c \ - infomap.c infomap.h m-x.c man.c man.h nodemenu.c nodes.c nodes.h \ + infomap.c infomap.h infopath.c m-x.c man.c man.h nodemenu.c nodes.c nodes.h \ search.c search.h session.c session.h signals.c signals.h \ tag.c tag.h termdep.h terminal.c terminal.h tilde.c tilde.h \ variables.c variables.h window.c window.h @@ -1060,12 +1099,15 @@ clean-noinstPROGRAMS: -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + ginfo$(EXEEXT): $(ginfo_OBJECTS) $(ginfo_DEPENDENCIES) $(EXTRA_ginfo_DEPENDENCIES) @rm -f ginfo$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ginfo_OBJECTS) $(ginfo_LDADD) $(LIBS) + infokey$(EXEEXT): $(infokey_OBJECTS) $(infokey_DEPENDENCIES) $(EXTRA_infokey_DEPENDENCIES) @rm -f infokey$(EXEEXT) $(AM_V_CCLD)$(LINK) $(infokey_OBJECTS) $(infokey_LDADD) $(LIBS) + makedoc$(EXEEXT): $(makedoc_OBJECTS) $(makedoc_DEPENDENCIES) $(EXTRA_makedoc_DEPENDENCIES) @rm -f makedoc$(EXEEXT) $(AM_V_CCLD)$(LINK) $(makedoc_OBJECTS) $(makedoc_LDADD) $(LIBS) @@ -1090,6 +1132,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infodoc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infokey.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infomap.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/infopath.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m-x.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/makedoc.Po@am__quote@ @@ -1110,14 +1153,14 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique diff -Nru texinfo-5.1.dfsg.1/info/dir.c texinfo-5.2.0.dfsg.1/info/dir.c --- texinfo-5.1.dfsg.1/info/dir.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/dir.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* dir.c -- how to build a special "dir" node from "localdir" files. - $Id: dir.c 5191 2013-02-23 00:11:18Z karl $ + $Id: dir.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 2004, 2007, - 2008, 2009, 2012 Free Software Foundation, Inc. + Copyright 1993, 1997, 1998, 2004, 2007, 2008, 2009, 2012, + 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "info-utils.h" @@ -95,14 +95,15 @@ with the dir file just found. */ new_dir_file_p (&dir_buffer->finfo); - path_index = update_tags = 0; + update_tags = 0; /* Using each element of the path, check for one of the files in DIRS_TO_ADD. Do not check for "localdir.info.Z" or anything else. Only files explictly named are eligible. This is a design decision. There can be an info file name "localdir.info" which contains information on the setting up of "localdir" files. */ - while ((this_dir = extract_colon_unit (infopath, &path_index))) + for (this_dir = infopath_first (&path_index); this_dir; + this_dir = infopath_next (&path_index)) { register int da_index; char *from_file; diff -Nru texinfo-5.1.dfsg.1/info/display.c texinfo-5.2.0.dfsg.1/info/display.c --- texinfo-5.1.dfsg.1/info/display.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/display.c 2013-08-22 17:58:30.000000000 +0000 @@ -1,7 +1,7 @@ /* display.c -- How to display Info windows. - $Id: display.c 5191 2013-02-23 00:11:18Z karl $ + $Id: display.c 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 1993, 1997, 2003, 2004, 2006, 2007, 2008, 2012 + Copyright 1993, 1997, 2003, 2004, 2006, 2007, 2008, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "display.h" diff -Nru texinfo-5.1.dfsg.1/info/display.h texinfo-5.2.0.dfsg.1/info/display.h --- texinfo-5.1.dfsg.1/info/display.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/display.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,7 @@ /* display.h -- How the display in Info is done. - $Id: display.h 5191 2013-02-23 00:11:18Z karl $ + $Id: display.h 5337 2013-08-22 17:54:06Z karl $ - This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 1997, 2004, 2007, 2008, 2011, 2012 + Copyright 1993, 1997, 2004, 2007, 2008, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -20,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_DISPLAY_H #define INFO_DISPLAY_H diff -Nru texinfo-5.1.dfsg.1/info/doc.h texinfo-5.2.0.dfsg.1/info/doc.h --- texinfo-5.1.dfsg.1/info/doc.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/doc.h 2013-08-22 17:58:30.000000000 +0000 @@ -1,7 +1,7 @@ /* doc.h -- Structures associating function pointers with documentation. - $Id: doc.h 5191 2013-02-23 00:11:18Z karl $ + $Id: doc.h 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 1993, 2001, 2004, 2007, 2011 + Copyright 1993, 2001, 2004, 2007, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #if !defined (DOC_H) #define DOC_H diff -Nru texinfo-5.1.dfsg.1/info/dribble.c texinfo-5.2.0.dfsg.1/info/dribble.c --- texinfo-5.1.dfsg.1/info/dribble.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/dribble.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,8 @@ /* dribble.c -- dribble files for Info. - $Id: dribble.c 5191 2013-02-23 00:11:18Z karl $ + $Id: dribble.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1998, 2004, 2007, 2008 Free Software Foundation, Inc. + Copyright 1993, 1998, 2004, 2007, 2008, 2013 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "dribble.h" diff -Nru texinfo-5.1.dfsg.1/info/dribble.h texinfo-5.2.0.dfsg.1/info/dribble.h --- texinfo-5.1.dfsg.1/info/dribble.h 2013-02-19 22:25:30.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/dribble.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,9 +1,7 @@ -/* dribble.h -- Functions and vars declared in dribble.c. */ +/* dribble.h -- Functions and vars declared in dribble.c. + $Id: dribble.h 5337 2013-08-22 17:54:06Z karl $ -/* This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 2004, 2007 Free Software Foundation, Inc. + Copyright 1993, 2004, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #if !defined (_DRIBBLE_H_) #define _DRIBBLE_H_ diff -Nru texinfo-5.1.dfsg.1/info/echo-area.c texinfo-5.2.0.dfsg.1/info/echo-area.c --- texinfo-5.1.dfsg.1/info/echo-area.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/echo-area.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* echo-area.c -- how to read a line in the echo area. - $Id: echo-area.c 5191 2013-02-23 00:11:18Z karl $ + $Id: echo-area.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 1999, 2001, 2004, 2007, 2008, 2011 + Copyright 1993, 1997, 1998, 1999, 2001, 2004, 2007, 2008, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" @@ -771,8 +771,8 @@ the variable echo_area_completion_items. If there is only one element, it is the only possible completion. */ static REFERENCE **completions_found = NULL; -static int completions_found_index = 0; -static int completions_found_slots = 0; +static size_t completions_found_index = 0; +static size_t completions_found_slots = 0; /* The lowest common denominator found while completing. */ static REFERENCE *LCD_completion; @@ -841,8 +841,8 @@ a default or aborted, and if FORCE is active. */ if (force && line && *line && completions) { - register int i; - + size_t i; + build_completions (); /* If there is only one completion, then make the line be that @@ -934,8 +934,8 @@ } else { - register int i, l; - int limit, iterations, max_label = 0; + size_t i, l; + size_t limit, iterations, max_label = 0; initialize_message_buffer (); printf_to_message_buffer (ngettext ("%d completion:\n", @@ -1028,15 +1028,17 @@ if (calling_window->height > (iterations * 2) && calling_window->height / 2 >= WINDOW_MIN_SIZE) { - int start, pagetop; + int pagetop; #ifdef SPLIT_BEFORE_ACTIVE - int end; + int start, end; #endif active_window = calling_window; /* Perhaps we can scroll this window on redisplay. */ +#ifdef SPLIT_BEFORE_ACTIVE start = calling_window->first_row; +#endif pagetop = calling_window->pagetop; compwin = @@ -1110,7 +1112,8 @@ If there are some, insert the space character and continue. */ if (key == SPC && completions_found_index > 1) { - register int i, offset; + size_t i; + int offset; offset = input_line_end - input_line_beg; @@ -1165,7 +1168,7 @@ static void completions_must_be_rebuilt (void) { - maybe_free (last_completion_request); + free (last_completion_request); last_completion_request = NULL; last_completion_items = NULL; } @@ -1175,7 +1178,8 @@ static void build_completions (void) { - register int i, len; + size_t i; + int len; register REFERENCE *entry; char *request; int informed_of_lengthy_job = 0; @@ -1203,7 +1207,7 @@ return; } - maybe_free (last_completion_request); + free (last_completion_request); last_completion_request = request; last_completion_items = echo_area_completion_items; @@ -1216,7 +1220,7 @@ if (mbsncasecmp (request, entry->label, len) == 0) add_pointer_to_array (entry, completions_found_index, completions_found, completions_found_slots, - 20, REFERENCE *); + 20); if (!informed_of_lengthy_job && completions_found_index > 100) { @@ -1258,7 +1262,7 @@ shortest = j; } - maybe_free (LCD_reference.label); + free (LCD_reference.label); LCD_reference.label = xmalloc (1 + shortest); /* Since both the sorting done inside remove_completion_duplicates and all the comparisons above are case-insensitive, it's @@ -1302,7 +1306,7 @@ static void remove_completion_duplicates (void) { - register int i, j; + size_t i, j; REFERENCE **temp; int newlen; @@ -1343,15 +1347,12 @@ DECLARE_INFO_COMMAND (ea_scroll_completions_window, _("Scroll the completions window")) { WINDOW *compwin; - int old_pagetop; compwin = get_internal_info_window (compwin_name); if (!compwin) compwin = calling_window; - old_pagetop = compwin->pagetop; - /* Let info_scroll_forward () do the work, and print any messages that need to be displayed. */ info_scroll_forward (compwin, count, key); @@ -1395,8 +1396,8 @@ } PUSHED_EA; static PUSHED_EA **pushed_echo_areas = NULL; -static int pushed_echo_areas_index = 0; -static int pushed_echo_areas_slots = 0; +static size_t pushed_echo_areas_index = 0; +static size_t pushed_echo_areas_slots = 0; /* Pushing the echo_area has a side effect of zeroing the completion_items. */ static void @@ -1416,7 +1417,7 @@ pushed->compwin = echo_area_completions_window; add_pointer_to_array (pushed, pushed_echo_areas_index, pushed_echo_areas, - pushed_echo_areas_slots, 4, PUSHED_EA *); + pushed_echo_areas_slots, 4); echo_area_completion_items = NULL; } @@ -1462,7 +1463,7 @@ static int echo_area_stack_contains_completions_p (void) { - register int i; + size_t i; for (i = 0; i < pushed_echo_areas_index; i++) if (pushed_echo_areas[i]->compwin) @@ -1488,13 +1489,12 @@ #ifdef FD_SET struct timeval timer; fd_set readfds; - int ready; FD_ZERO (&readfds); FD_SET (fileno (stdin), &readfds); timer.tv_sec = 2; timer.tv_usec = 0; - ready = select (fileno (stdin) + 1, &readfds, NULL, NULL, &timer); + select (fileno (stdin) + 1, &readfds, NULL, NULL, &timer); #endif /* FD_SET */ } diff -Nru texinfo-5.1.dfsg.1/info/echo-area.h texinfo-5.2.0.dfsg.1/info/echo-area.h --- texinfo-5.1.dfsg.1/info/echo-area.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/echo-area.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,7 @@ /* echo-area.h -- Functions used in reading information from the echo area. - $Id: echo-area.h 5191 2013-02-23 00:11:18Z karl $ + $Id: echo-area.h 5337 2013-08-22 17:54:06Z karl $ - This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 1997, 2004, 2007, 2008, 2011 + Copyright 1993, 1997, 2004, 2007, 2008, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -20,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_ECHO_AREA_H #define INFO_ECHO_AREA_H diff -Nru texinfo-5.1.dfsg.1/info/filesys.c texinfo-5.2.0.dfsg.1/info/filesys.c --- texinfo-5.1.dfsg.1/info/filesys.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/filesys.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* filesys.c -- filesystem specific functions. - $Id: filesys.c 5191 2013-02-23 00:11:18Z karl $ + $Id: filesys.c 5337 2013-08-22 17:54:06Z karl $ Copyright 1993, 1997, 1998, 2000, 2002, 2003, 2004, 2007, 2008, 2009, 2011, - 2012 Free Software Foundation, Inc. + 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -29,10 +29,8 @@ static char *info_file_in_path (char *filename, char *path); static char *lookup_info_filename (char *filename); static char *info_absolute_file (char *fname); -static char *build_infopath_from_path (void); static void remember_info_filename (char *filename, char *expansion); -static void maybe_initialize_infopath (void); typedef struct { @@ -75,13 +73,6 @@ { NULL, NULL } }; -/* The path on which we look for info files. You can initialize this - from the environment variable INFOPATH if there is one, or you can - call info_add_path () to add paths to the beginning or end of it. - You can call zap_infopath () to make the path go away. */ -char *infopath = NULL; -static int infopath_size = 0; - /* Expand the filename in PARTIAL to make a real name for this operating system. This looks in INFO_PATHS in order to find the correct file. If it can't find the file, it returns NULL. */ @@ -94,9 +85,9 @@ int initial_character; char *temp; - filesys_error_number = 0; + debug(1, (_("looking for file \"%s\""), partial)); - maybe_initialize_infopath (); + filesys_error_number = 0; if (partial && (initial_character = *partial)) { @@ -147,7 +138,7 @@ partial = local_temp_filename; } else - temp = info_file_in_path (partial, infopath); + temp = info_file_in_path (partial, infopath ()); if (temp) { @@ -167,31 +158,28 @@ /* Scan the list of directories in PATH looking for FILENAME. If we find one that is a regular file, return it as a new string. Otherwise, return a NULL pointer. */ -static char * -info_file_in_path (char *filename, char *path) +char * +info_file_find_next_in_path (char *filename, char *path, int *diridx) { struct stat finfo; char *temp_dirname; - int statable, dirname_index; + int statable; /* Reject ridiculous cases up front, to prevent infinite recursion later on. E.g., someone might say "info '(.)foo'"... */ if (!*filename || STREQ (filename, ".") || STREQ (filename, "..")) return NULL; - dirname_index = 0; - - while ((temp_dirname = extract_colon_unit (path, &dirname_index))) + while ((temp_dirname = extract_colon_unit (path, diridx))) { register int i, pre_suffix_length; char *temp; + debug(1, (_("looking for file %s in %s"), filename, temp_dirname)); /* Expand a leading tilde if one is present. */ if (*temp_dirname == '~') { - char *expanded_dirname; - - expanded_dirname = tilde_expand_word (temp_dirname); + char *expanded_dirname = tilde_expand_word (temp_dirname); free (temp_dirname); temp_dirname = expanded_dirname; } @@ -218,6 +206,7 @@ { if (S_ISREG (finfo.st_mode)) { + debug(1, (_("found file %s"), temp)); return temp; } else if (S_ISDIR (finfo.st_mode)) @@ -232,6 +221,7 @@ if (newtemp) { free (temp); + debug(1, (_("found file %s"), newtemp)); return newtemp; } } @@ -251,7 +241,10 @@ statable = (stat (temp, &finfo) == 0); if (statable && (S_ISREG (finfo.st_mode))) - return temp; + { + debug(1, (_("found file %s"), temp)); + return temp; + } } } } @@ -260,6 +253,13 @@ return NULL; } +static char * +info_file_in_path (char *filename, char *path) +{ + int i = 0; + return info_file_find_next_in_path (filename, path, &i); +} + /* Assume FNAME is an absolute file name, and check whether it is a regular file. If it is, return it as a new string; otherwise return a NULL pointer. We do it by taking the file name apart @@ -361,204 +361,21 @@ names_and_files[names_and_files_index] = NULL; } -static void -maybe_initialize_infopath (void) -{ - if (!infopath_size) - { - infopath = (char *) - xmalloc (infopath_size = (1 + strlen (DEFAULT_INFOPATH))); - - strcpy (infopath, DEFAULT_INFOPATH); - } -} - -/* For each path element PREFIX/DIR in PATH substitute either - PREFIX/share/info or PREFIX/info if that directory exists. - Avoid duplicates from, e.g., PREFIX/bin and PREFIX/sbin. */ -static char * -build_infopath_from_path (void) -{ - typedef struct path_el - { - struct path_el *next; - char *path; - unsigned int len; - } PATH_EL, *PATH_PTR; - - PATH_EL path_head = { NULL, NULL, 1 }; - PATH_PTR path_prev, path_next; - char *res, *path_from_env, *temp_dirname; - int dirname_index = 0; - struct stat finfo; - - path_from_env = getenv ("PATH"); - - while ((temp_dirname = extract_colon_unit (path_from_env, &dirname_index))) - { - unsigned int i, dir = 0; - - /* Find end of DIRNAME/ (but ignore "/") */ - for (i = 0; temp_dirname[i]; i++) - if (i && IS_SLASH (temp_dirname[i])) - dir = i + 1; - - /* Discard path elements ending with "/", "/.", or "/.." */ - if (!temp_dirname[dir] || STREQ (temp_dirname + dir, ".") || STREQ (temp_dirname + dir, ".")) - dir = 0; - - path_prev = &path_head; - while (dir && (path_next = path_prev->next)) - { - /* Ignore duplicate DIRNAME */ - if (dir == path_next->len && strncmp (temp_dirname, path_next->path, dir) == 0) - dir = 0; - - path_prev = path_next; - } - - if (dir) - { - temp_dirname = xrealloc (temp_dirname, dir + strlen ("share/info") +1); - - /* first try DIRNAME/share/info */ - strcpy (temp_dirname + dir, "share/info"); - if (stat (temp_dirname, &finfo) != 0 || !S_ISDIR (finfo.st_mode)) - { - /* then try DIRNAME/info */ - strcpy (temp_dirname + dir, "info"); - if (stat (temp_dirname, &finfo) != 0 || !S_ISDIR (finfo.st_mode)) - dir = 0; - } - } - - if (dir) - { - path_next = xmalloc (sizeof (PATH_EL)); - path_next->next = NULL; - path_next->path = temp_dirname; - path_next->len = dir; - path_prev->next = path_next; - path_head.len += strlen (temp_dirname) + 1; - } - else - free (temp_dirname); - } - - /* Build the resulting sequence of paths */ - res = xmalloc (path_head.len); - res[0] = '\0'; - - for (path_prev = path_head.next; path_prev; path_prev = path_next) - { - strcat (res, path_prev->path); - if ((path_next = path_prev->next)) - strcat (res, PATH_SEP); - - free (path_prev->path); - free (path_prev); - } - - return res; -} - -/* Add PATH to the list of paths found in INFOPATH. 2nd argument says - whether to put PATH at the front or end of INFOPATH. - Replace one path element "PATH" in PATH by a sequence of - path elements derived from the environment variable PATH. */ void -info_add_path (char *path, int where) +forget_file_names (void) { - int len; - int found = 0; - unsigned int i, j; + int i; - /* Search for "PATH" in PATH */ - for (i = 0; path[i]; i++) + for (i = 0; i < names_and_files_index; i++) { - j = i + strlen ("PATH"); - if (strncmp (path + i, "PATH", strlen ("PATH")) == 0 && - (!path[j] || path[j] == PATH_SEP[0])) - { - found = 1; - break; - } - else - { - /* Advance to next PATH_SEP. */ - while (path[i] && path[i] != PATH_SEP[0]) - i++; - - if (!path[i]) - break; - } + free (names_and_files[i]->filename); + free (names_and_files[i]->expansion); + free (names_and_files[i]); + names_and_files[i] = NULL; } - - if (found) - { - /* Build infopath from the environment variable PATH */ - char *temp = build_infopath_from_path (); - - if (i || path[j]) - { - char *old_path = path; - - /* Splice it into OLD_PATH */ - path = xmalloc (1 + strlen (temp) + strlen (old_path) - strlen ("PATH")); - if (i) - strncpy (path, old_path, i); - strcpy (path + i, temp); - if (old_path[j]) - strcat (path, old_path + j); - - free (temp); - } - else - path = temp; - } - - if (!infopath) - { - infopath = xmalloc (infopath_size = 200 + strlen (path)); - infopath[0] = '\0'; - } - - len = strlen (path) + strlen (infopath); - - if (len + 2 >= infopath_size) - infopath = xrealloc (infopath, (infopath_size += (2 * len) + 2)); - - if (!*infopath) - strcpy (infopath, path); - else if (where == INFOPATH_APPEND) - { - strcat (infopath, PATH_SEP); - strcat (infopath, path); - } - else if (where == INFOPATH_PREPEND) - { - char *temp = xstrdup (infopath); - strcpy (infopath, path); - strcat (infopath, PATH_SEP); - strcat (infopath, temp); - free (temp); - } - - if (found) - free (path); + names_and_files_index = 0; } - -/* Make INFOPATH have absolutely nothing in it. */ -void -zap_infopath (void) -{ - if (infopath) - free (infopath); - - infopath = NULL; - infopath_size = 0; -} - + /* Given a chunk of text and its length, convert all CRLF pairs at every end-of-line into a single Newline character. Return the length of produced text. @@ -645,8 +462,6 @@ files are coming from some Windows system across a network. */ fsize = convert_eols (contents, fsize); - tags_expand (&contents, &fsize); - /* EOL conversion can shrink the text quite a bit. We don't want to waste storage. */ contents = xrealloc (contents, 1 + fsize); diff -Nru texinfo-5.1.dfsg.1/info/filesys.h texinfo-5.2.0.dfsg.1/info/filesys.h --- texinfo-5.1.dfsg.1/info/filesys.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/filesys.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* filesys.h -- external declarations for filesys.c. - $Id: filesys.h 5191 2013-02-23 00:11:18Z karl $ + $Id: filesys.h 5337 2013-08-22 17:54:06Z karl $ - Copyright 1993, 1997, 1998, 2002, 2004, 2005, 2007, 2009, 2012 Free Software - Foundation, Inc. + Copyright 1993, 1997, 1998, 2002, 2004, 2005, 2007, 2009, 2012, 2013 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,24 +25,36 @@ /* The path on which we look for info files. You can initialize this from the environment variable INFOPATH if there is one, or you can call info_add_path () to add paths to the beginning or end of it. */ -extern char *infopath; + +extern char *infopath (); + +/* Initialize INFOPATH */ +void infopath_init (void); /* Make INFOPATH have absolutely nothing in it. */ -extern void zap_infopath (void); +extern void infopath_clear (void); /* Add PATH to the list of paths found in INFOPATH. 2nd argument says whether to put PATH at the front or end of INFOPATH. */ -extern void info_add_path (char *path, int where); +extern void infopath_add (char *path, int where); + +/* Iterate over INFOPATH */ +char *infopath_first (int *idx); +char *infopath_next (int *idx); -/* Defines that are passed along with the pathname to info_add_path (). */ +/* Defines that are passed along with the pathname to infopath_add (). */ #define INFOPATH_PREPEND 0 #define INFOPATH_APPEND 1 +#define INFOPATH_INIT 2 /* Expand the filename in PARTIAL to make a real name for this operating system. This looks in INFO_PATHS in order to find the correct file. If it can't find the file, it returns NULL. */ extern char *info_find_fullpath (char *partial); +/* Forget all cached file names */ +extern void forget_file_names (void); + /* Given a chunk of text and its length, convert all CRLF pairs at the EOLs into a single Newline character. Return the length of produced text. */ @@ -76,6 +88,12 @@ /* Return true if FILENAME is `dir', with a possible compression suffix. */ extern int is_dir_name (char *filename); +/* Scan the list of directories in PATH looking for FILENAME. If we find + one that is a regular file, return it as a new string. Otherwise, return + a NULL pointer. */ +extern char *info_file_find_next_in_path (char *filename, char *path, + int *diridx); + /* The default value of INFOPATH. */ #if !defined (DEFAULT_INFOPATH) # define DEFAULT_INFOPATH ".:PATH:/usr/local/info:/usr/info:/usr/local/lib/info:/usr/lib/info:/usr/local/gnu/info:/usr/local/gnu/lib/info:/usr/gnu/info:/usr/gnu/lib/info:/opt/gnu/info:/usr/share/info:/usr/share/lib/info:/usr/local/share/info:/usr/local/share/lib/info:/usr/gnu/lib/emacs/info:/usr/local/gnu/lib/emacs/info:/usr/local/lib/emacs/info:/usr/local/emacs/info" diff -Nru texinfo-5.1.dfsg.1/info/footnotes.c texinfo-5.2.0.dfsg.1/info/footnotes.c --- texinfo-5.1.dfsg.1/info/footnotes.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/footnotes.c 2013-08-22 17:58:30.000000000 +0000 @@ -1,7 +1,7 @@ /* footnotes.c -- Some functions for manipulating footnotes. - $Id: footnotes.c 5191 2013-02-23 00:11:18Z karl $ + $Id: footnotes.c 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 1993, 1997, 1998, 1999, 2002, 2004, 2007, 2008, 2011 + Copyright 1993, 1997, 1998, 1999, 2002, 2004, 2007, 2008, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" diff -Nru texinfo-5.1.dfsg.1/info/footnotes.h texinfo-5.2.0.dfsg.1/info/footnotes.h --- texinfo-5.1.dfsg.1/info/footnotes.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/footnotes.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* footnotes.h -- Some functions for manipulating footnotes. - $Id: footnotes.h 5191 2013-02-23 00:11:18Z karl $ + $Id: footnotes.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 2002, 2004, 2007 + Copyright 1993, 1997, 1998, 2002, 2004, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_FOOTNOTES_H #define INFO_FOOTNOTES_H diff -Nru texinfo-5.1.dfsg.1/info/gc.c texinfo-5.2.0.dfsg.1/info/gc.c --- texinfo-5.1.dfsg.1/info/gc.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/gc.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,8 @@ /* gc.c -- Functions to remember and garbage collect unused node contents. - $Id: gc.c 5191 2013-02-23 00:11:18Z karl $ + $Id: gc.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 2004, 2007, 2008 Free Software Foundation, Inc. + Copyright 1993, 2004, 2007, 2008, 2013 + Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" @@ -24,8 +25,8 @@ list can be garbage collected when no info window contains a node whose contents member match the pointer. */ static char **gcable_pointers = NULL; -static int gcable_pointers_index = 0; -static int gcable_pointers_slots = 0; +static size_t gcable_pointers_index = 0; +static size_t gcable_pointers_slots = 0; /* Add POINTER to the list of garbage collectible pointers. A pointer is not actually garbage collected until no info window contains a node @@ -35,7 +36,7 @@ { gc_pointers (); add_pointer_to_array (pointer, gcable_pointers_index, gcable_pointers, - gcable_pointers_slots, 10, char *); + gcable_pointers_slots, 10); } /* Grovel the list of info windows and gc-able pointers finding those @@ -43,11 +44,11 @@ void gc_pointers (void) { - register int i, j, k; + size_t i, j, k; INFO_WINDOW *iw; char **new = NULL; - int new_index = 0; - int new_slots = 0; + size_t new_index = 0; + size_t new_slots = 0; if (!info_windows || !gcable_pointers_index) return; @@ -63,8 +64,8 @@ for (k = 0; k < gcable_pointers_index; k++) if (gcable_pointers[k] == node->contents) { - add_pointer_to_array - (node->contents, new_index, new, new_slots, 10, char *); + add_pointer_to_array (node->contents, new_index, new, + new_slots, 10); break; } } diff -Nru texinfo-5.1.dfsg.1/info/gc.h texinfo-5.2.0.dfsg.1/info/gc.h --- texinfo-5.1.dfsg.1/info/gc.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/gc.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,8 @@ /* gc.h -- Functions for garbage collecting unused node contents. - $Id: gc.h 5191 2013-02-23 00:11:18Z karl $ + $Id: gc.h 5337 2013-08-22 17:54:06Z karl $ - This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 1997, 2004, 2007 Free Software Foundation, Inc. + Copyright 1993, 1997, 2004, 2007, 2013 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_GC_H #define INFO_GC_H diff -Nru texinfo-5.1.dfsg.1/info/indices.c texinfo-5.2.0.dfsg.1/info/indices.c --- texinfo-5.1.dfsg.1/info/indices.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/indices.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* indices.c -- deal with an Info file index. - $Id: indices.c 5191 2013-02-23 00:11:18Z karl $ + $Id: indices.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 1999, 2002, 2003, 2004, 2007, 2008, 2011 + Copyright 1993, 1997, 1998, 1999, 2002, 2003, 2004, 2007, 2008, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "indices.h" @@ -51,8 +51,8 @@ /* An array associating index nodenames with index offset ranges. */ static INDEX_NAME_ASSOC **index_nodenames = NULL; -static int index_nodenames_index = 0; -static int index_nodenames_slots = 0; +static size_t index_nodenames_index = 0; +static size_t index_nodenames_slots = 0; /* Add the name of NODE, and the range of the associated index elements (passed in ARRAY) to index_nodenames. */ @@ -77,9 +77,8 @@ assoc->first = 1 + index_nodenames[i]->last; assoc->last = assoc->first + last; } - add_pointer_to_array - (assoc, index_nodenames_index, index_nodenames, index_nodenames_slots, - 10, INDEX_NAME_ASSOC *); + add_pointer_to_array (assoc, index_nodenames_index, index_nodenames, + index_nodenames_slots, 10); } /* Find and return the indices of WINDOW's file. The indices are defined @@ -108,8 +107,8 @@ return NULL; /* Reset globals describing where the index was found. */ - maybe_free (initial_index_filename); - maybe_free (initial_index_nodename); + free (initial_index_filename); + free (initial_index_nodename); initial_index_filename = NULL; initial_index_nodename = NULL; @@ -189,7 +188,7 @@ index_offset = 0; /* The user is selecting a new search string, so flush the old one. */ - maybe_free (index_search); + free (index_search); index_search = NULL; /* If this window's file is not the same as the one that we last built an @@ -416,14 +415,14 @@ /* When looking for substrings, take care not to return previous exact matches. */ for (i = index_offset + dir; (i > -1) && (index_index[i]); i += dir) - if (!index_entry_matches (index_index[i], index_search, search_len) && - string_in_line (index_search, index_index[i]->label) != -1) + if (!index_entry_matches (index_index[i], index_search, search_len)) { - partial = 1; - break; + partial = string_in_line (index_search, index_index[i]->label); + if (partial != -1) + break; } + index_partial = partial > 0; } - index_partial = partial; /* If that failed, print an error. */ if ((i < 0) || (!index_index[i])) @@ -459,7 +458,7 @@ string matched. */ match = xstrdup (index_index[i]->label); - if (partial && show_index_match) + if (partial > 0 && show_index_match) { int k, ls, start, upper; @@ -536,7 +535,7 @@ REFERENCE ** apropos_in_all_indices (char *search_string, int inform) { - register int i, dir_index; + size_t i, dir_index; REFERENCE **all_indices = NULL; REFERENCE **dir_menu = NULL; NODE *dir_node; @@ -636,24 +635,18 @@ if (all_indices) { REFERENCE *entry, **apropos_list = NULL; - int apropos_list_index = 0; - int apropos_list_slots = 0; + size_t apropos_list_index = 0; + size_t apropos_list_slots = 0; for (i = 0; (entry = all_indices[i]); i++) { if (string_in_line (search_string, entry->label) != -1) { - add_pointer_to_array - (entry, apropos_list_index, apropos_list, apropos_list_slots, - 100, REFERENCE *); + add_pointer_to_array (entry, apropos_list_index, apropos_list, + apropos_list_slots, 100); } else - { - maybe_free (entry->label); - maybe_free (entry->filename); - maybe_free (entry->nodename); - free (entry); - } + info_reference_free (entry); } free (all_indices); @@ -810,8 +803,8 @@ FILE_BUFFER *file_buffer; file_buffer = make_file_buffer (); - file_buffer->filename = xstrdup (filename); - file_buffer->fullpath = xstrdup (filename); + file_buffer->filename = filename ? xstrdup (filename) : NULL; + file_buffer->fullpath = filename ? xstrdup (filename) : NULL; file_buffer->finfo.st_size = 0; file_buffer->flags = (N_IsInternal | N_CannotGC); @@ -876,11 +869,10 @@ _("List all matches of a string in the index")) { char *line; - size_t linelen; FILE_BUFFER *fb, *tfb; NODE *node; struct text_buffer text; - int i; + size_t i; size_t cnt, off; fb = file_buffer_of_window (window); @@ -916,7 +908,6 @@ free (line); return; } - linelen = strlen (line); text_buffer_init (&text); text_buffer_printf (&text, _("Index for `%s'"), line); @@ -960,3 +951,58 @@ if (!info_error_was_printed) window_clear_echo_area (); } + +static NODE *allfiles_node; + +NODE * +allfiles_create_node (char *term, REFERENCE **fref) +{ + int i; + struct text_buffer text; + size_t off; + FILE_BUFFER *fb; + + text_buffer_init (&text); + text_buffer_printf (&text, _("File names matching `%s'"), term); + text_buffer_add_char (&text, 0); + off = text.off; + + text_buffer_printf (&text, + "\n\n%c\n%s %s\n\n" + "Info File Index\n" + "***************\n\n" + "File names that match `%s':\n\n" + "* Menu:\n\n", + INFO_COOKIE, + INFO_NODE_LABEL, text.base, term); + + memmove (text.base, text.base + off, text.off - off); + text.off -= off; + + for (i = 0; fref[i]; i++) + { + text_buffer_printf (&text, "* %4i: (%s)", i+1, fref[i]->filename); + if (fref[i]->nodename) + text_buffer_printf (&text, "%s", fref[i]->nodename); + text_buffer_printf (&text, ".\n"); + } + + fb = create_virtindex_file_buffer (NULL, text.base, text.off); + allfiles_node = create_virtindex_node (fb); + + return allfiles_node; +} + +DECLARE_INFO_COMMAND (info_all_files, _("Show all matching files")) +{ + if (!allfiles_node) + { + info_error (_("No file index")); + return; + } + + info_set_node_of_window (1, window, allfiles_node); + + if (!info_error_was_printed) + window_clear_echo_area (); +} diff -Nru texinfo-5.1.dfsg.1/info/indices.h texinfo-5.2.0.dfsg.1/info/indices.h --- texinfo-5.1.dfsg.1/info/indices.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/indices.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,8 @@ /* indices.h -- Functions defined in indices.c. - $Id: indices.h 5191 2013-02-23 00:11:18Z karl $ + $Id: indices.h 5337 2013-08-22 17:54:06Z karl $ - This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 1997, 2004, 2007 Free Software Foundation, Inc. + Copyright 1993, 1997, 2004, 2007, 2013 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_INDICES_H #define INFO_INDICES_H @@ -41,4 +39,6 @@ extern void do_info_index_search (WINDOW *window, int count, char *search_string); extern int index_entry_exists (WINDOW *window, char *string); +NODE *allfiles_create_node (char *term, REFERENCE **fref); + #endif /* not INFO_INDICES_H */ diff -Nru texinfo-5.1.dfsg.1/info/info-utils.c texinfo-5.2.0.dfsg.1/info/info-utils.c --- texinfo-5.1.dfsg.1/info/info-utils.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/info-utils.c 2013-09-19 09:00:48.000000000 +0000 @@ -1,7 +1,7 @@ /* info-utils.c -- miscellanous. - $Id: info-utils.c 5191 2013-02-23 00:11:18Z karl $ + $Id: info-utils.c 5379 2013-09-19 09:00:48Z eliz $ - Copyright (C) 1993, 1998, 2003, 2004, 2007, 2008, 2009, 2011, 2012, + Copyright 1993, 1998, 2003, 2004, 2007, 2008, 2009, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -272,7 +272,7 @@ { SEARCH_BINDING tmp_search; REFERENCE **refs = NULL; - int refs_index = 0, refs_slots = 0; + size_t refs_index = 0, refs_slots = 0; int searching_for_menu_items = 0; long position; @@ -354,8 +354,7 @@ entry->line_number = info_parsed_line_number; } - add_pointer_to_array - (entry, refs_index, refs, refs_slots, 50, REFERENCE *); + add_pointer_to_array (entry, refs_index, refs, refs_slots, 50); } return refs; } @@ -435,6 +434,18 @@ +void +info_reference_free (REFERENCE *ref) +{ + if (ref) + { + free (ref->label); + free (ref->filename); + free (ref->nodename); + free (ref); + } +} + /* Free the data associated with REFERENCES. */ void info_free_references (REFERENCE **references) @@ -445,13 +456,7 @@ if (references) { for (i = 0; references && (entry = references[i]); i++) - { - maybe_free (entry->label); - maybe_free (entry->filename); - maybe_free (entry->nodename); - - free (entry); - } + info_reference_free (entry); free (references); } @@ -874,3 +879,60 @@ va_end (ap); return n; } + +#if defined(__MSDOS__) || defined(__MINGW32__) +/* Cannot use FILENAME_CMP here, since that does not consider forward- + and back-slash characters equal. */ +static int +fncmp (const char *fn1, const char *fn2) +{ + const char *s1 = fn1, *s2 = fn2; + + while (tolower (*s1) == tolower (*s2) + || (IS_SLASH (*s1) && IS_SLASH (*s2))) + { + if (*s1 == 0) + return 0; + s1++; + s2++; + } + + return tolower (*s1) - tolower (*s2); +} +#else +# define fncmp(s,t) strcmp(s,t) +#endif + +struct info_namelist_entry +{ + struct info_namelist_entry *next; + char name[1]; +}; + +int +info_namelist_add (struct info_namelist_entry **ptop, const char *name) +{ + struct info_namelist_entry *p; + + for (p = *ptop; p; p = p->next) + if (fncmp (p->name, name) == 0) + return 1; + + p = xmalloc (sizeof (*p) + strlen (name)); + strcpy (p->name, name); + p->next = *ptop; + *ptop = p; + return 0; +} + +void +info_namelist_free (struct info_namelist_entry *top) +{ + while (top) + { + struct info_namelist_entry *next = top->next; + free (top); + top = next; + } +} + diff -Nru texinfo-5.1.dfsg.1/info/info-utils.h texinfo-5.2.0.dfsg.1/info/info-utils.h --- texinfo-5.1.dfsg.1/info/info-utils.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/info-utils.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* info-utils.h -- Exported functions and variables from info-utils.c. - $Id: info-utils.h 5191 2013-02-23 00:11:18Z karl $ + $Id: info-utils.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1996, 1998, 2002, 2003, 2004, 2007, 2011, 2012 + Copyright 1993, 1996, 1998, 2002, 2003, 2004, 2007, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_UTILS_H #define INFO_UTILS_H @@ -99,6 +99,9 @@ /* Copy an existing reference into new memory. */ extern REFERENCE *info_copy_reference (REFERENCE *src); +/* Free the data associated with a single REF */ +void info_reference_free (REFERENCE *ref); + /* Free the data associated with REFERENCES. */ extern void info_free_references (REFERENCE **references); @@ -166,5 +169,9 @@ #define text_buffer_reset(buf) ((buf)->off = 0) #define text_buffer_base(buf) ((buf)->base) #define text_buffer_off(buf) ((buf)->off) + +struct info_namelist_entry; +int info_namelist_add (struct info_namelist_entry **ptop, const char *name); +void info_namelist_free (struct info_namelist_entry *top); #endif /* not INFO_UTILS_H */ diff -Nru texinfo-5.1.dfsg.1/info/info.c texinfo-5.2.0.dfsg.1/info/info.c --- texinfo-5.1.dfsg.1/info/info.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/info.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* info.c -- Display nodes of Info files in multiple windows. - $Id: info.c 5191 2013-02-23 00:11:18Z karl $ + $Id: info.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + Copyright 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. @@ -58,8 +58,8 @@ /* Array of the names of nodes that the user specified with "--node" on the command line. */ static char **user_nodenames = NULL; -static int user_nodenames_index = 0; -static int user_nodenames_slots = 0; +static size_t user_nodenames_index = 0; +static size_t user_nodenames_slots = 0; /* String specifying the first file to load. This string can only be set by the user specifying "--file" on the command line. */ @@ -80,9 +80,15 @@ /* Non-zero means don't remove ANSI escape sequences. */ int raw_escapes_p = 1; +/* Print/visit all matching documents. */ +static int all_matches_p = 0; + /* Non-zero means print the absolute location of the file to be loaded. */ static int print_where_p = 0; +/* Debugging level */ +unsigned debug_level; + /* Non-zero means don't try to be smart when searching for nodes. */ int strict_node_location_p = 0; @@ -102,7 +108,9 @@ #define RESTORE_OPTION 3 #define IDXSRCH_OPTION 4 static struct option long_options[] = { + { "all", 0, 0, 'a' }, { "apropos", 1, 0, 'k' }, + { "debug", 1, 0, 'x' }, { "directory", 1, 0, 'd' }, { "dribble", 1, 0, DRIBBLE_OPTION }, { "file", 1, 0, 'f' }, @@ -120,6 +128,7 @@ { "strict-node-location", 0, &strict_node_location_p, 1 }, { "subnodes", 0, &dump_subnodes, 1 }, { "usage", 0, 0, 'O' }, + { "variable", 0, 0, 'v' }, { "version", 0, &print_version_p, 1 }, { "vi-keys", 0, &vi_keys_p, 1 }, { "where", 0, &print_where_p, 1 }, @@ -131,9 +140,9 @@ /* String describing the shorthand versions of the long options found above. */ #if defined(__MSDOS__) || defined(__MINGW32__) -static char *short_options = "k:d:n:f:ho:ORswb"; +static char *short_options = "ak:d:n:f:ho:ORsv:wbx:"; #else -static char *short_options = "k:d:n:f:ho:ORws"; +static char *short_options = "ak:d:n:f:ho:ORv:wsx:"; #endif /* When non-zero, the Info window system has been initialized. */ @@ -144,6 +153,350 @@ static void init_messages (void); +static const char * +node_file_name (NODE *node, int dirok) +{ + if (node->parent) + return node->parent; + else if (node->filename + && (dirok || + !is_dir_name (filename_non_directory (node->filename)))) + return node->filename; + return 0; +} + +static int +single_file (char *filename, int argc, char **argv) +{ + NODE *initial_node; /* First node loaded by Info. */ + NODE *new_initial_node, *error_node; + + /* Get the initial Info node. It is either "(dir)Top", or what the user + specifed with values in filename and user_nodenames. */ + initial_node = info_get_node (filename, + user_nodenames ? user_nodenames[0] : 0, + PARSE_NODE_DFLT); + + /* If we couldn't get the initial node, this user is in trouble. */ + if (!initial_node) + { + if (info_recent_file_error) + info_error ("%s", info_recent_file_error); + else + info_error (msg_cant_find_node, + user_nodenames ? user_nodenames[0] : "Top"); + return EXIT_FAILURE; + } + + /* Special cases for when the user specifies multiple nodes. If we + are dumping to an output file, dump all of the nodes specified. + Otherwise, attempt to create enough windows to handle the nodes + that this user wants displayed. */ + if (user_nodenames_index > 1) + { + free (initial_node); + + if (print_where_p) + printf ("%s\n", filename ? filename : "unknown?!"); + else if (user_output_filename) + dump_nodes_to_file (filename, user_nodenames, + user_output_filename, dump_subnodes); + else + begin_multiple_window_info_session (filename, user_nodenames); + + return EXIT_SUCCESS; + } + + /* If there are arguments remaining, they are the names of menu items + in sequential info files starting from the first one loaded. That + file name is either "dir", or the contents of filename if one + was specified. */ + /* If they say info -O info, we want to show them the invocation node + for standalone info; there's nothing useful in info.texi. */ + if (goto_invocation_p && *argv + && mbscasecmp (*argv, "info") == 0) + *argv = "info-stnd"; + + new_initial_node = info_follow_menus (initial_node, argv, &error_node, 0); + + if (new_initial_node && new_initial_node != initial_node) + initial_node = new_initial_node; + + if (print_where_p) + { + const char *name = node_file_name (initial_node, 0); + if (!name) + return EXIT_FAILURE; + printf ("%s\n", name); + return EXIT_SUCCESS; + } + + /* If the user specified that this node should be output, then do that + now. Otherwise, start the Info session with this node. Or act + accordingly if the initial node was not found. */ + if (user_output_filename && !goto_invocation_p) + { + if (error_node) + show_error_node (error_node); + else + dump_node_to_file (initial_node, user_output_filename, + dump_subnodes); + } + else + { + if (error_node) + { + initialize_info_session (initial_node, 1); + show_error_node (error_node); + info_session (); + } + + /* If the user specified `--index-search=STRING' or + --show-options, start the info session in the node + corresponding to what they want. */ + else if (index_search_p || goto_invocation_p) + { + int status = EXIT_SUCCESS; + + initialize_info_session (initial_node, 0); + + if (goto_invocation_p || + index_entry_exists (windows, index_search_string)) + { + terminal_prep_terminal (); + terminal_clear_screen (); + info_last_executed_command = NULL; + + if (index_search_p) + do_info_index_search (windows, 0, index_search_string); + else + { + /* If they said "info --show-options foo bar baz", + the last of the arguments is the program whose + options they want to see. */ + char **p = argv; + char *program; + + if (*p) + { + while (p[1]) + p++; + program = xstrdup (*p); + } + else if (filename) + /* If there's no command-line arguments to + supply the program name, use the Info file + name (sans extension and leading directories) + instead. */ + program = program_name_from_file_name (filename); + else + program = xstrdup (""); + + info_intuit_options_node (windows, initial_node, program); + free (program); + } + + if (user_output_filename) + { + dump_node_to_file (windows->node, user_output_filename, + dump_subnodes); + } + else + info_read_and_dispatch (); + + /* On program exit, leave the cursor at the bottom of the + window, and restore the terminal IO. */ + terminal_goto_xy (0, screenheight - 1); + terminal_clear_to_eol (); + fflush (stdout); + terminal_unprep_terminal (); + } + else + { + fprintf (stderr, _("no index entries found for `%s'\n"), + index_search_string); + status = EXIT_FAILURE; + } + + close_dribble_file (); + return status; + } + else + begin_info_session (initial_node); + } + + return EXIT_SUCCESS; +} + +static char * +dirname (const char *file) +{ + char *p; + size_t len; + + p = strrchr (file, '/'); + if (!p) + return NULL; + len = p - file; + p = xmalloc (len + 1); + memcpy (p, file, len); + p[len] = 0; + return p; +} + +REFERENCE ** +info_find_matching_files (char *filename) +{ + size_t argc = 0; + size_t argn = 0; + REFERENCE **argv = NULL; + int i = 0; + char *p; + + while (1) + { + p = info_file_find_next_in_path (filename, infopath (), &i); + if (argc == argn) + { + if (argn == 0) + argn = 2; + argv = x2nrealloc (argv, &argn, sizeof (argv[0])); + } + if (!p) + { + argv[argc] = NULL; + break; + } + + argv[argc] = xzalloc (sizeof (*argv[0])); + argv[argc]->filename = p; + ++argc; + } + + return argv; +} + +static int +all_files (char *filename, int argc, char **argv) +{ + REFERENCE **fref; + char *fname; + int i, j; + int dirok; + struct info_namelist_entry *nlist = NULL; + int dump_flags = dump_subnodes; + + if (user_filename) + { + fname = user_filename; + dirok = 0; + } + else + { + fname = "dir"; + dirok = 1; + } + + fref = info_find_matching_files (fname); + + for (i = 0; fref[i]; ) + { + NODE *node; + + forget_file_names (); + if (!user_filename) + { + char *p = dirname (fref[i]->filename); + infopath_add (p, INFOPATH_INIT); + free (p); + } + node = info_get_node (fref[i]->filename, + user_nodenames ? user_nodenames[0] : 0, + PARSE_NODE_DFLT); + + if (node) + { + NODE *subnode = info_follow_menus (node, argv, NULL, 1); + if (!subnode) + { + forget_info_file (fref[i]->filename); + node = NULL; + } + else + node = subnode; + } + + if (node) + { + const char *name = node_file_name (node, dirok); + if (!name) + node = NULL; + else + { + free (fref[i]->filename); + fref[i]->filename = xstrdup (name); + } + } + + if (!node) + { + info_reference_free (fref[i]); + for (j = i; (fref[j] = fref[j + 1]); j++); + } + else + { + if (info_namelist_add (&nlist, fref[i]->filename) == 0) + { + if (print_where_p) + printf ("%s\n", fref[i]->filename); + else if (user_output_filename) + { + dump_node_to_file (node, user_output_filename, dump_flags); + dump_flags |= DUMP_APPEND; + } + else + fref[i]->nodename = xstrdup (node->nodename); + forget_info_file (fref[i]->filename); + ++i; + } + else + { + forget_info_file (fref[i]->filename); + info_reference_free (fref[i]); + for (j = i; (fref[j] = fref[j + 1]); j++); + } + } + } + + info_namelist_free (nlist); + + if (print_where_p || user_output_filename) + return EXIT_SUCCESS; + + if (i <= 1) + return single_file (user_filename, argc, argv); + + begin_info_session (allfiles_create_node (argc ? argv[0] : fname, fref)); + return EXIT_SUCCESS; +} + +static void +set_debug_level (const char *arg) +{ + char *p; + long n = strtol (arg, &p, 10); + if (*p) + { + fprintf (stderr, _("invalid number: %s\n"), arg); + exit (EXIT_FAILURE); + } + if (n < 0 || n > UINT_MAX) + debug_level = UINT_MAX; + else + debug_level = n; +} + + /* **************************************************************** */ /* */ /* Main Entry Point to the Info Program */ @@ -154,7 +507,6 @@ main (int argc, char *argv[]) { int getopt_long_index; /* Index returned by getopt_long (). */ - NODE *initial_node; /* First node loaded by Info. */ #ifdef HAVE_SETLOCALE /* Set locale via LC_ALL. */ @@ -168,13 +520,13 @@ #endif init_messages (); - + infopath_init (); while (1) { int option_character; - option_character = getopt_long - (argc, argv, short_options, long_options, &getopt_long_index); + option_character = getopt_long (argc, argv, short_options, long_options, + &getopt_long_index); /* getopt_long returns EOF when there are no more long options. */ if (option_character == EOF) @@ -190,15 +542,19 @@ case 0: break; + case 'a': + all_matches_p = 1; + break; + /* User wants to add a directory. */ case 'd': - info_add_path (optarg, INFOPATH_PREPEND); + infopath_add (optarg, INFOPATH_PREPEND); break; /* User is specifying a particular node. */ case 'n': add_pointer_to_array (optarg, user_nodenames_index, user_nodenames, - user_nodenames_slots, 10, char *); + user_nodenames_slots, 10); break; /* User is specifying a particular Info file. */ @@ -254,7 +610,7 @@ /* User has specified a string to search all indices for. */ case 'k': apropos_p = 1; - maybe_free (apropos_search_string); + free (apropos_search_string); apropos_search_string = xstrdup (optarg); break; @@ -272,10 +628,45 @@ /* User has specified a string to search all indices for. */ case IDXSRCH_OPTION: index_search_p = 1; - maybe_free (index_search_string); + free (index_search_string); index_search_string = xstrdup (optarg); break; + case 'v': + { + char *p; + p = strchr (optarg, '='); + if (!p) + { + info_error (_("malformed variable assignment: %s"), optarg); + exit (EXIT_FAILURE); + } + *p++ = 0; + if (set_variable_to_value (optarg, p)) + { + switch (errno) + { + case ENOENT: + info_error (_("%s: no such variable"), optarg); + break; + + case EINVAL: + info_error (_("value %s is not valid for variable %s"), + p, optarg); + break; + + default: + abort (); + } + exit (EXIT_FAILURE); + } + } + break; + + case 'x': + set_debug_level (optarg); + break; + default: fprintf (stderr, _("Try --help for more information.\n")); exit (EXIT_FAILURE); @@ -291,6 +682,9 @@ dump_subnodes = 1; } + if (dump_subnodes) + dump_subnodes = DUMP_SUBNODES; + /* If the user specified --version, then show the version and exit. */ if (print_version_p) { @@ -311,43 +705,6 @@ exit (EXIT_SUCCESS); } - /* If the user hasn't specified a path for Info files, default it. - Lowest priority is our messy hardwired list in filesys.h. - Then comes the user's INFODIR from the Makefile. - Highest priority is the environment variable, if set. */ - if (!infopath) - { - char *path_from_env = getenv ("INFOPATH"); - - if (path_from_env) - { - unsigned len = strlen (path_from_env); - /* Trailing : on INFOPATH means insert the default path. */ - if (len && path_from_env[len - 1] == PATH_SEP[0]) - { - path_from_env[len - 1] = 0; - info_add_path (DEFAULT_INFOPATH, INFOPATH_PREPEND); - } -#ifdef INFODIR /* from the Makefile */ - info_add_path (INFODIR, INFOPATH_PREPEND); -#endif - info_add_path (path_from_env, INFOPATH_PREPEND); - } - else - { - info_add_path (DEFAULT_INFOPATH, INFOPATH_PREPEND); -#ifdef INFODIR /* from the Makefile */ - info_add_path (INFODIR, INFOPATH_PREPEND); -#endif -#ifdef INFODIR2 /* from the Makefile, too */ -# ifdef INFODIR - if (!STREQ (INFODIR, INFODIR2)) -# endif - info_add_path (INFODIR2, INFOPATH_PREPEND); -#endif - } - } - /* If the user specified a particular filename, add the path of that file to the contents of INFOPATH. */ if (user_filename) @@ -361,171 +718,13 @@ exit (EXIT_SUCCESS); } - /* Get the initial Info node. It is either "(dir)Top", or what the user - specifed with values in user_filename and user_nodenames. */ - initial_node = info_get_node (user_filename, - user_nodenames ? user_nodenames[0] : 0, - PARSE_NODE_DFLT); - - /* If we couldn't get the initial node, this user is in trouble. */ - if (!initial_node) - { - if (info_recent_file_error) - info_error ("%s", info_recent_file_error); - else - info_error (msg_cant_find_node, - user_nodenames ? user_nodenames[0] : "Top"); - exit (EXIT_FAILURE); - } + argc -= optind; + argv += optind; + + if (all_matches_p) + return all_files (user_filename, argc, argv); - /* Special cases for when the user specifies multiple nodes. If we - are dumping to an output file, dump all of the nodes specified. - Otherwise, attempt to create enough windows to handle the nodes - that this user wants displayed. */ - if (user_nodenames_index > 1) - { - free (initial_node); - - if (print_where_p) - printf ("%s\n", user_filename ? user_filename : "unknown?!"); - else if (user_output_filename) - dump_nodes_to_file - (user_filename, user_nodenames, user_output_filename, dump_subnodes); - else - begin_multiple_window_info_session (user_filename, user_nodenames); - - exit (EXIT_SUCCESS); - } - - /* If there are arguments remaining, they are the names of menu items - in sequential info files starting from the first one loaded. That - file name is either "dir", or the contents of user_filename if one - was specified. */ - { - NODE *new_initial_node, *error_node; - - /* If they say info -O info, we want to show them the invocation node - for standalone info; there's nothing useful in info.texi. */ - if (goto_invocation_p && argv[optind] - && mbscasecmp (argv[optind], "info") == 0) - argv[optind] = "info-stnd"; - - new_initial_node = info_follow_menus (initial_node, argv + optind, - &error_node); - - if (new_initial_node && new_initial_node != initial_node) - initial_node = new_initial_node; - - if (print_where_p) - { - if (initial_node->parent) - printf ("%s\n", initial_node->parent); - else if (initial_node->filename - && !is_dir_name (filename_non_directory (initial_node->filename))) - printf ("%s\n", initial_node->filename); - else - exit (EXIT_FAILURE); - exit (EXIT_SUCCESS); - } - - /* If the user specified that this node should be output, then do that - now. Otherwise, start the Info session with this node. Or act - accordingly if the initial node was not found. */ - if (user_output_filename && !goto_invocation_p) - { - if (error_node) - show_error_node (error_node); - else - dump_node_to_file (initial_node, user_output_filename, - dump_subnodes); - } - else - { - if (error_node) - { - initialize_info_session (initial_node, 1); - show_error_node (error_node); - info_session (); - } - - /* If the user specified `--index-search=STRING' or - --show-options, start the info session in the node - corresponding to what they want. */ - else if (index_search_p || goto_invocation_p) - { - int status = EXIT_SUCCESS; - - initialize_info_session (initial_node, 0); - - if (goto_invocation_p - || index_entry_exists (windows, index_search_string)) - { - terminal_prep_terminal (); - terminal_clear_screen (); - info_last_executed_command = NULL; - - if (index_search_p) - do_info_index_search (windows, 0, index_search_string); - else - { - /* If they said "info --show-options foo bar baz", - the last of the arguments is the program whose - options they want to see. */ - char **p = argv + optind; - char *program; - - if (*p) - { - while (p[1]) - p++; - program = xstrdup (*p); - } - else if (user_filename) - /* If there's no command-line arguments to - supply the program name, use the Info file - name (sans extension and leading directories) - instead. */ - program = program_name_from_file_name (user_filename); - else - program = xstrdup (""); - - info_intuit_options_node (windows, initial_node, program); - free (program); - } - - if (user_output_filename) - { - dump_node_to_file (windows->node, user_output_filename, - dump_subnodes); - } - else - info_read_and_dispatch (); - - /* On program exit, leave the cursor at the bottom of the - window, and restore the terminal IO. */ - terminal_goto_xy (0, screenheight - 1); - terminal_clear_to_eol (); - fflush (stdout); - terminal_unprep_terminal (); - } - else - { - fprintf (stderr, _("no index entries found for `%s'\n"), - index_search_string); - status = EXIT_FAILURE; - } - - close_dribble_file (); - exit (status); - } - else - begin_info_session (initial_node); - } - - exit (EXIT_SUCCESS); - } - - return 0; /* Avoid bogus warnings. */ + return single_file (user_filename, argc, argv); } void @@ -544,7 +743,7 @@ temp += 2; } temp[-1] = 0; - info_add_path (directory_name, INFOPATH_PREPEND); + infopath_add (directory_name, INFOPATH_PREPEND); } free (directory_name); @@ -559,6 +758,58 @@ /* Non-zero means ring terminal bell on errors. */ int info_error_rings_bell_p = 1; +static FILE *debug_file; + +static void +close_debugfile (void) +{ + fclose (debug_file); +} + +#define INFODEBUG_FILE "infodebug" + +void +vinfo_debug (const char *format, va_list ap) +{ + FILE *fp; + + if (!debug_file) + { + if (!info_windows_initialized_p || display_inhibited) + fp = stderr; + else + { + debug_file = fopen (INFODEBUG_FILE, "w"); + if (!debug_file) + { + info_error (_("can't open %s: %s"), INFODEBUG_FILE, + strerror (errno)); + exit (EXIT_FAILURE); + } + atexit (close_debugfile); + fp = debug_file; + info_error (_("debugging output diverted to \"%s\""), + INFODEBUG_FILE); + } + } + else + fp = debug_file; + + fprintf (fp, "%s: ", program_name); + vfprintf (fp, format, ap); + fprintf (fp, "\n"); + fflush (stderr); +} + +void +info_debug (const char *format, ...) +{ + va_list ap; + va_start (ap, format); + vinfo_debug (format, ap); + va_end (ap); +} + /* Print AP according to FORMAT. If the window system was initialized, then the message is printed in the echo area. Otherwise, a message is output to stderr. */ @@ -631,21 +882,22 @@ puts (_("\ Options:\n\ + -a, --all use all matching manuals.\n\ -k, --apropos=STRING look up STRING in all indices of all manuals.\n\ -d, --directory=DIR add DIR to INFOPATH.\n\ - --dribble=FILENAME remember user keystrokes in FILENAME.\n\ - -f, --file=FILENAME specify Info file to visit.")); + --dribble=FILE remember user keystrokes in FILENAME.\n\ + -f, --file=MANUAL specify Info manual to visit.")); puts (_("\ -h, --help display this help and exit.\n\ --index-search=STRING go to node pointed by index entry STRING.\n\ -n, --node=NODENAME specify nodes in first visited Info file.\n\ - -o, --output=FILENAME output selected nodes to FILENAME.")); + -o, --output=FILE output selected nodes to FILE.")); puts (_("\ -R, --raw-escapes output \"raw\" ANSI escapes (default).\n\ --no-raw-escapes output escapes as literal text.\n\ - --restore=FILENAME read initial keystrokes from FILENAME.\n\ + --restore=FILE read initial keystrokes from FILE.\n\ -O, --show-options, --usage go to command-line options node.")); #if defined(__MSDOS__) || defined(__MINGW32__) @@ -656,9 +908,11 @@ puts (_("\ --strict-node-location (for debugging) use Info file pointers as-is.\n\ --subnodes recursively output menu items.\n\ + -v, --variable VAR=VALUE assign VALUE to Info variable VAR.\n\ --vi-keys use vi-like and less-like key bindings.\n\ --version display version information and exit.\n\ - -w, --where, --location print physical location of Info file.")); + -w, --where, --location print physical location of Info file.\n\ + -x, --debug=NUMBER set debugging level (-1 for all).\n")); puts (_("\n\ The first non-option argument, if present, is the menu entry to start from;\n\ diff -Nru texinfo-5.1.dfsg.1/info/info.h texinfo-5.2.0.dfsg.1/info/info.h --- texinfo-5.1.dfsg.1/info/info.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/info.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* info.h -- Header file which includes all of the other headers. - $Id: info.h 5191 2013-02-23 00:11:18Z karl $ + $Id: info.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007, 2011 - Free Software Foundation, Inc. + Copyright 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007, 2011, + 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_H #define INFO_H @@ -63,15 +63,19 @@ array where POINTER should be added. GROW is the number of slots to grow ARRAY by, in the case that it needs growing. TYPE is a cast of the type of object stored in ARRAY (e.g., NODE_ENTRY *. */ -#define add_pointer_to_array(pointer, idx, array, slots, grow, type) \ - do { \ - if (idx + 2 >= slots) \ - array = (type *)(xrealloc (array, (slots += grow) * sizeof (type))); \ - array[idx++] = (type)pointer; \ - array[idx] = (type)NULL; \ - } while (0) - -#define maybe_free(x) do { if (x) free (x); } while (0) +#define add_pointer_to_array(pointer, idx, array, slots, minslots) \ + do \ + { \ + if (idx + 2 >= slots) \ + { \ + if (slots == 0) \ + slots = minslots; \ + array = x2nrealloc (array, &slots, sizeof(array[0])); \ + } \ + array[idx++] = pointer; \ + array[idx] = NULL; \ + } \ + while (0) #if !defined (zero_mem) && defined (HAVE_MEMSET) # define zero_mem(mem, length) memset (mem, 0, length) @@ -129,6 +133,19 @@ /* Non-zero means don't try to be smart when searching for nodes. */ extern int strict_node_location_p; +extern unsigned debug_level; + +#define debug(n,c) \ + do \ + { \ + if (debug_level >= (n)) \ + info_debug c; \ + } \ + while (0) + +extern void vinfo_debug (const char *format, va_list ap); +extern void info_debug (const char *format, ...) TEXINFO_PRINTFLIKE(1,2); + /* Print args as per FORMAT. If the window system was initialized, then the message is printed in the echo area. Otherwise, a message is output to stderr. */ @@ -157,10 +174,8 @@ extern const char *msg_cant_make_help; -#if defined(INFOKEY) /* Found in variables.c. */ -extern void set_variable_to_value (char *name, char *value); -#endif /* INFOKEY */ +extern int set_variable_to_value (char *name, char *value); /* Found in m-x.c. */ extern char *read_function_name (const char *prompt, WINDOW *window); diff -Nru texinfo-5.1.dfsg.1/info/infodoc.c texinfo-5.2.0.dfsg.1/info/infodoc.c --- texinfo-5.1.dfsg.1/info/infodoc.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/infodoc.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,9 +1,8 @@ /* infodoc.c -- functions which build documentation nodes. - $Id: infodoc.c 5191 2013-02-23 00:11:18Z karl $ + $Id: infodoc.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2006, - 2007, 2008, 2011 - Free Software Foundation, Inc. + Copyright 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2006, + 2007, 2008, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "funs.h" @@ -310,7 +309,7 @@ printf_to_message_buffer ("---------------------\n"); printf_to_message_buffer (_("The current search path is:\n")); - printf_to_message_buffer ("%s\n", infopath); + printf_to_message_buffer ("%s\n", infopath ()); printf_to_message_buffer ("---------------------\n\n"); printf_to_message_buffer (_("Commands available in Info windows:\n\n")); dump_map_to_message_buffer ("", info_keymap); @@ -358,7 +357,7 @@ if (printed_one_mx) printf_to_message_buffer ("\n"); - maybe_free (exec_keys); + free (exec_keys); #endif /* NAMED_FUNCTIONS */ node = message_buffer_to_node (); @@ -863,7 +862,7 @@ register int i, start, next; static char *result = NULL; - maybe_free (result); + free (result); result = xmalloc (1 + reslen); i = next = start = 0; @@ -1014,7 +1013,7 @@ start++; } - maybe_free (fmt); + free (fmt); } } strcpy (result + next, string + start); diff -Nru texinfo-5.1.dfsg.1/info/infokey.c texinfo-5.2.0.dfsg.1/info/infokey.c --- texinfo-5.1.dfsg.1/info/infokey.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/infokey.c 2013-08-22 17:58:30.000000000 +0000 @@ -1,7 +1,7 @@ /* infokey.c -- compile ~/.infokey to ~/.info. - $Id: infokey.c 5191 2013-02-23 00:11:18Z karl $ + $Id: infokey.c 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, + Copyright 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Andrew Bettison . */ + Originally written by Andrew Bettison. */ #include "info.h" #include "infomap.h" diff -Nru texinfo-5.1.dfsg.1/info/infokey.h texinfo-5.2.0.dfsg.1/info/infokey.h --- texinfo-5.1.dfsg.1/info/infokey.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/infokey.h 2013-08-22 17:58:30.000000000 +0000 @@ -1,7 +1,7 @@ /* infokey.h -- Custom keystroke definition support. - $Id: infokey.h 5191 2013-02-23 00:11:18Z karl $ + $Id: infokey.h 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 1999, 2002, 2007 Free Software Foundation, Inc. + Copyright 1999, 2002, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Andrew Bettison . + Originally written by Andrew Bettison. This design was derived from the "lesskey" system in less 3.4.0. by Mark Nudelman. diff -Nru texinfo-5.1.dfsg.1/info/infomap.c texinfo-5.2.0.dfsg.1/info/infomap.c --- texinfo-5.1.dfsg.1/info/infomap.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/infomap.c 2013-08-22 17:58:30.000000000 +0000 @@ -1,8 +1,8 @@ /* infomap.c -- keymaps for Info. - $Id: infomap.c 5191 2013-02-23 00:11:18Z karl $ + $Id: infomap.c 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007, - 2008, 2011, 2012 Free Software Foundation, Inc. + Copyright 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007, + 2008, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "infomap.h" @@ -55,7 +55,7 @@ keymap[Meta(i)].type = ISFUNC; keymap[Meta(i)].function = #endif /* INFOKEY */ - keymap[i].function = InfoCmd(info_do_lowercase_version); + keymap[i].function = InfoCmd (info_do_lowercase_version); } return keymap; @@ -68,7 +68,7 @@ FUNCTION_KEYSEQ *k; if (map[c].type != ISFUNC) - abort(); + abort (); if (map[c].function == NULL) return NULL; for (k = map[c].function->keys; k; k = k->next) @@ -95,13 +95,13 @@ FUNCTION_KEYSEQ *ks; if (function == NULL || - function == InfoCmd(info_do_lowercase_version) || - function == InfoCmd(ea_insert)) + function == InfoCmd (info_do_lowercase_version) || + function == InfoCmd (ea_insert)) return; - ks = xmalloc (sizeof(FUNCTION_KEYSEQ)); + ks = xmalloc (sizeof (FUNCTION_KEYSEQ)); ks->next = function->keys; ks->map = rootmap; - ks->keyseq = xstrdup(keyseq); + ks->keyseq = xstrdup (keyseq); function->keys = ks; } @@ -113,11 +113,11 @@ FUNCTION_KEYSEQ *k, *kp; if (function == NULL || - function == InfoCmd(info_do_lowercase_version) || - function == InfoCmd(ea_insert)) + function == InfoCmd (info_do_lowercase_version) || + function == InfoCmd (ea_insert)) return; for (kp = NULL, k = function->keys; k; kp = k, k = k->next) - if (k->map == rootmap && strcmp(k->keyseq, keyseq) == 0) + if (k->map == rootmap && strcmp (k->keyseq, keyseq) == 0) break; if (!k) abort (); @@ -152,12 +152,13 @@ #if defined(INFOKEY) ks = find_function_keyseq (map, i, rootmap); if (ks) - add_function_keyseq(map[i].function, ks->keyseq, newroot); + add_function_keyseq (map[i].function, ks->keyseq, newroot); #endif /* INFOKEY */ break; case ISKMAP: - keymap[i].function = (InfoCommand *)keymap_copy_keymap - ((Keymap)map[i].function, rootmap, NULL); + keymap[i].function = + (InfoCommand *)keymap_copy_keymap ((Keymap)map[i].function, + rootmap, NULL); break; } } @@ -184,7 +185,7 @@ { case ISFUNC: #if defined(INFOKEY) - ks = find_function_keyseq(map, i, rootmap); + ks = find_function_keyseq (map, i, rootmap); if (ks) remove_function_keyseq (map[i].function, ks->keyseq, rootmap); #endif /* INFOKEY */ @@ -196,13 +197,13 @@ } } - free(map); + free (map); } /* Conditionally bind key sequence. */ static int keymap_bind_keyseq (Keymap map, - const char *keyseq, KEYMAP_ENTRY *keyentry) + const char *keyseq, KEYMAP_ENTRY *keyentry) { Keymap m = map; const unsigned char *s = (unsigned char *) keyseq; @@ -219,14 +220,13 @@ { case ISFUNC: #if defined(INFOKEY) - ks = find_function_keyseq(m, c, map); + ks = find_function_keyseq (m, c, map); if (ks) remove_function_keyseq (m[c].function, ks->keyseq, map); #else /* !INFOKEY */ - if (!(m[c].function == NULL || ( - m != map && - m[c].function == InfoCmd(info_do_lowercase_version)) - )) + if (!(m[c].function == NULL || + (m != map && + m[c].function == InfoCmd (info_do_lowercase_version)))) return 0; #endif /* !INFOKEY */ @@ -287,583 +287,586 @@ static unsigned char default_emacs_like_info_keys[] = { - 0, /* suppress-default-keybindings flag */ - TAB, NUL, A_info_move_to_next_xref, - LFD, NUL, A_info_select_reference_this_line, - RET, NUL, A_info_select_reference_this_line, - CONTROL('a'), NUL, A_info_beginning_of_line, - CONTROL('b'), NUL, A_info_backward_char, - CONTROL('e'), NUL, A_info_end_of_line, - CONTROL('f'), NUL, A_info_forward_char, - CONTROL('h'), NUL, A_info_get_help_window, - CONTROL('l'), NUL, A_info_redraw_display, - CONTROL('n'), NUL, A_info_next_line, - CONTROL('p'), NUL, A_info_prev_line, - CONTROL('r'), NUL, A_isearch_backward, - CONTROL('s'), NUL, A_isearch_forward, - CONTROL('u'), NUL, A_info_universal_argument, - CONTROL('v'), NUL, A_info_scroll_forward_page_only, - ',', NUL, A_info_next_index_match, - '/', NUL, A_info_search, - '0', NUL, A_info_last_menu_item, - '1', NUL, A_info_menu_digit, - '2', NUL, A_info_menu_digit, - '3', NUL, A_info_menu_digit, - '4', NUL, A_info_menu_digit, - '5', NUL, A_info_menu_digit, - '6', NUL, A_info_menu_digit, - '7', NUL, A_info_menu_digit, - '8', NUL, A_info_menu_digit, - '9', NUL, A_info_menu_digit, - '<', NUL, A_info_first_node, - '>', NUL, A_info_last_node, - '?', NUL, A_info_get_help_window, - '[', NUL, A_info_global_prev_node, - ']', NUL, A_info_global_next_node, - 'b', NUL, A_info_beginning_of_node, - 'd', NUL, A_info_dir_node, - 'e', NUL, A_info_end_of_node, - 'f', NUL, A_info_xref_item, - 'g', NUL, A_info_goto_node, - 'G', NUL, A_info_menu_sequence, - 'h', NUL, A_info_get_help_window, - 'H', NUL, A_info_get_info_help_node, - 'i', NUL, A_info_index_search, - 'I', NUL, A_info_virtual_index, - 'l', NUL, A_info_history_node, - 'm', NUL, A_info_menu_item, - 'n', NUL, A_info_next_node, - 'O', NUL, A_info_goto_invocation_node, - 'p', NUL, A_info_prev_node, - 'r', NUL, A_info_xref_item, - 'R', NUL, A_info_toggle_regexp, - 's', NUL, A_info_search, - 'S', NUL, A_info_search_case_sensitively, - 't', NUL, A_info_top_node, - 'u', NUL, A_info_up_node, - ESC, '0', NUL, A_info_add_digit_to_numeric_arg, - ESC, '1', NUL, A_info_add_digit_to_numeric_arg, - ESC, '2', NUL, A_info_add_digit_to_numeric_arg, - ESC, '3', NUL, A_info_add_digit_to_numeric_arg, - ESC, '4', NUL, A_info_add_digit_to_numeric_arg, - ESC, '5', NUL, A_info_add_digit_to_numeric_arg, - ESC, '6', NUL, A_info_add_digit_to_numeric_arg, - ESC, '7', NUL, A_info_add_digit_to_numeric_arg, - ESC, '8', NUL, A_info_add_digit_to_numeric_arg, - ESC, '9', NUL, A_info_add_digit_to_numeric_arg, - ESC, '-', NUL, A_info_add_digit_to_numeric_arg, - ESC, CONTROL('f'), NUL, A_info_show_footnotes, - ESC, CONTROL('g'), NUL, A_info_abort_key, - ESC, TAB, NUL, A_info_move_to_prev_xref, - ESC, CONTROL('v'), NUL, A_info_scroll_other_window, - ESC, '<', NUL, A_info_beginning_of_node, - ESC, '>', NUL, A_info_end_of_node, - ESC, 'b', NUL, A_info_backward_word, - ESC, 'f', NUL, A_info_forward_word, - ESC, 'r', NUL, A_info_move_to_window_line, - ESC, 'v', NUL, A_info_scroll_backward_page_only, - Meta('0'), NUL, A_info_add_digit_to_numeric_arg, - Meta('1'), NUL, A_info_add_digit_to_numeric_arg, - Meta('2'), NUL, A_info_add_digit_to_numeric_arg, - Meta('3'), NUL, A_info_add_digit_to_numeric_arg, - Meta('4'), NUL, A_info_add_digit_to_numeric_arg, - Meta('5'), NUL, A_info_add_digit_to_numeric_arg, - Meta('6'), NUL, A_info_add_digit_to_numeric_arg, - Meta('7'), NUL, A_info_add_digit_to_numeric_arg, - Meta('8'), NUL, A_info_add_digit_to_numeric_arg, - Meta('9'), NUL, A_info_add_digit_to_numeric_arg, - Meta('-'), NUL, A_info_add_digit_to_numeric_arg, - Meta(CONTROL('f')), NUL, A_info_show_footnotes, - Meta(CONTROL('g')), NUL, A_info_abort_key, - Meta(TAB), NUL, A_info_move_to_prev_xref, - Meta(CONTROL('v')), NUL, A_info_scroll_other_window, - Meta('<'), NUL, A_info_beginning_of_node, - Meta('>'), NUL, A_info_end_of_node, - Meta('b'), NUL, A_info_backward_word, - Meta('f'), NUL, A_info_forward_word, - Meta('r'), NUL, A_info_move_to_window_line, - Meta('v'), NUL, A_info_scroll_backward_page_only, + 0, /* suppress-default-keybindings flag */ + TAB, NUL, A_info_move_to_next_xref, + LFD, NUL, A_info_select_reference_this_line, + RET, NUL, A_info_select_reference_this_line, + CONTROL('a'), NUL, A_info_beginning_of_line, + CONTROL('b'), NUL, A_info_backward_char, + CONTROL('e'), NUL, A_info_end_of_line, + CONTROL('f'), NUL, A_info_forward_char, + CONTROL('h'), NUL, A_info_get_help_window, + CONTROL('l'), NUL, A_info_redraw_display, + CONTROL('p'), NUL, A_info_prev_line, + CONTROL('r'), NUL, A_isearch_backward, + CONTROL('s'), NUL, A_isearch_forward, + CONTROL('u'), NUL, A_info_universal_argument, + CONTROL('v'), NUL, A_info_scroll_forward_page_only, + ',', NUL, A_info_next_index_match, + '/', NUL, A_info_search, + '0', NUL, A_info_last_menu_item, + '1', NUL, A_info_menu_digit, + '2', NUL, A_info_menu_digit, + '3', NUL, A_info_menu_digit, + '4', NUL, A_info_menu_digit, + '5', NUL, A_info_menu_digit, + '6', NUL, A_info_menu_digit, + '7', NUL, A_info_menu_digit, + '8', NUL, A_info_menu_digit, + '9', NUL, A_info_menu_digit, + '<', NUL, A_info_first_node, + '=', NUL, A_info_display_file_info, + '>', NUL, A_info_last_node, + '?', NUL, A_info_get_help_window, + '[', NUL, A_info_global_prev_node, + ']', NUL, A_info_global_next_node, + 'b', NUL, A_info_beginning_of_node, + 'd', NUL, A_info_dir_node, + 'e', NUL, A_info_end_of_node, + 'f', NUL, A_info_xref_item, + 'g', NUL, A_info_goto_node, + 'G', NUL, A_info_menu_sequence, + 'h', NUL, A_info_get_help_window, + 'H', NUL, A_info_get_info_help_node, + 'i', NUL, A_info_index_search, + 'I', NUL, A_info_virtual_index, + 'l', NUL, A_info_history_node, + 'm', NUL, A_info_menu_item, + 'n', NUL, A_info_next_node, + 'O', NUL, A_info_goto_invocation_node, + 'p', NUL, A_info_prev_node, + 'r', NUL, A_info_xref_item, + 'R', NUL, A_info_toggle_regexp, + 's', NUL, A_info_search, + 'S', NUL, A_info_search_case_sensitively, + 't', NUL, A_info_top_node, + 'u', NUL, A_info_up_node, + ESC, '0', NUL, A_info_add_digit_to_numeric_arg, + ESC, '1', NUL, A_info_add_digit_to_numeric_arg, + ESC, '2', NUL, A_info_add_digit_to_numeric_arg, + ESC, '3', NUL, A_info_add_digit_to_numeric_arg, + ESC, '4', NUL, A_info_add_digit_to_numeric_arg, + ESC, '5', NUL, A_info_add_digit_to_numeric_arg, + ESC, '6', NUL, A_info_add_digit_to_numeric_arg, + ESC, '7', NUL, A_info_add_digit_to_numeric_arg, + ESC, '8', NUL, A_info_add_digit_to_numeric_arg, + ESC, '9', NUL, A_info_add_digit_to_numeric_arg, + ESC, '-', NUL, A_info_add_digit_to_numeric_arg, + ESC, CONTROL('f'), NUL, A_info_show_footnotes, + ESC, CONTROL('g'), NUL, A_info_abort_key, + ESC, TAB, NUL, A_info_move_to_prev_xref, + ESC, CONTROL('v'), NUL, A_info_scroll_other_window, + ESC, '<', NUL, A_info_beginning_of_node, + ESC, '>', NUL, A_info_end_of_node, + ESC, 'b', NUL, A_info_backward_word, + ESC, 'f', NUL, A_info_forward_word, + ESC, 'r', NUL, A_info_move_to_window_line, + ESC, 'v', NUL, A_info_scroll_backward_page_only, + Meta('0'), NUL, A_info_add_digit_to_numeric_arg, + Meta('1'), NUL, A_info_add_digit_to_numeric_arg, + Meta('2'), NUL, A_info_add_digit_to_numeric_arg, + Meta('3'), NUL, A_info_add_digit_to_numeric_arg, + Meta('4'), NUL, A_info_add_digit_to_numeric_arg, + Meta('5'), NUL, A_info_add_digit_to_numeric_arg, + Meta('6'), NUL, A_info_add_digit_to_numeric_arg, + Meta('7'), NUL, A_info_add_digit_to_numeric_arg, + Meta('8'), NUL, A_info_add_digit_to_numeric_arg, + Meta('9'), NUL, A_info_add_digit_to_numeric_arg, + Meta('-'), NUL, A_info_add_digit_to_numeric_arg, + Meta(CONTROL('f')), NUL, A_info_show_footnotes, + Meta(CONTROL('g')), NUL, A_info_abort_key, + Meta(TAB), NUL, A_info_move_to_prev_xref, + Meta(CONTROL('v')), NUL, A_info_scroll_other_window, + Meta('<'), NUL, A_info_beginning_of_node, + Meta('>'), NUL, A_info_end_of_node, + Meta('b'), NUL, A_info_backward_word, + Meta('f'), NUL, A_info_forward_word, + Meta('r'), NUL, A_info_move_to_window_line, + Meta('v'), NUL, A_info_scroll_backward_page_only, #if defined (NAMED_FUNCTIONS) - ESC, 'x', NUL, A_info_execute_command, - Meta('x'), NUL, A_info_execute_command, + ESC, 'x', NUL, A_info_execute_command, + Meta('x'), NUL, A_info_execute_command, #endif /* NAMED_FUNCTIONS */ - CONTROL('x'), CONTROL('b'), NUL, A_list_visited_nodes, - CONTROL('x'), CONTROL('c'), NUL, A_info_quit, - CONTROL('x'), CONTROL('f'), NUL, A_info_view_file, - CONTROL('x'), CONTROL('g'), NUL, A_info_abort_key, - CONTROL('x'), CONTROL('v'), NUL, A_info_view_file, - CONTROL('x'), '0', NUL, A_info_delete_window, - CONTROL('x'), '1', NUL, A_info_keep_one_window, - CONTROL('x'), '2', NUL, A_info_split_window, - CONTROL('x'), '^', NUL, A_info_grow_window, - CONTROL('x'), 'b', NUL, A_select_visited_node, - CONTROL('x'), 'k', NUL, A_info_kill_node, - CONTROL('x'), 'n', NUL, A_info_search_next, - CONTROL('x'), 'N', NUL, A_info_search_previous, - CONTROL('x'), 'o', NUL, A_info_next_window, - CONTROL('x'), 't', NUL, A_info_tile_windows, - CONTROL('x'), 'w', NUL, A_info_toggle_wrap, - + CONTROL('x'), CONTROL('b'), NUL, A_list_visited_nodes, + CONTROL('x'), CONTROL('c'), NUL, A_info_quit, + CONTROL('x'), CONTROL('f'), NUL, A_info_view_file, + CONTROL('x'), CONTROL('g'), NUL, A_info_abort_key, + CONTROL('x'), CONTROL('v'), NUL, A_info_view_file, + CONTROL('x'), '0', NUL, A_info_delete_window, + CONTROL('x'), '1', NUL, A_info_keep_one_window, + CONTROL('x'), '2', NUL, A_info_split_window, + CONTROL('x'), '^', NUL, A_info_grow_window, + CONTROL('x'), 'b', NUL, A_select_visited_node, + CONTROL('x'), 'f', NUL, A_info_all_files, + CONTROL('x'), 'k', NUL, A_info_kill_node, + CONTROL('x'), 'n', NUL, A_info_search_next, + CONTROL('x'), 'N', NUL, A_info_search_previous, + CONTROL('x'), 'o', NUL, A_info_next_window, + CONTROL('x'), 't', NUL, A_info_tile_windows, + CONTROL('x'), 'w', NUL, A_info_toggle_wrap, + /* Arrow key bindings for info keymaps. It seems that some terminals do not match their termcap entries, so it's best to just define everything with both of the usual prefixes. */ - SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_backward, - SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_forward, - '\033', 'O', 'A', NUL, A_info_prev_line, - '\033', '[', 'A', NUL, A_info_prev_line, - '\033', 'O', 'B', NUL, A_info_next_line, - '\033', '[', 'B', NUL, A_info_next_line, - SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_forward_char, - '\033', 'O', 'C', NUL, A_info_forward_char, - '\033', '[', 'C', NUL, A_info_forward_char, - SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_backward_char, - '\033', 'O', 'D', NUL, A_info_backward_char, - '\033', '[', 'D', NUL, A_info_backward_char, - SK_ESCAPE, SK_HOME, NUL, A_info_beginning_of_node, - SK_ESCAPE, SK_END, NUL, A_info_end_of_node, - SK_ESCAPE, SK_DELETE, NUL, A_info_scroll_backward, - - ESC, SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_other_window_backward, - ESC, SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_other_window, - ESC, SK_ESCAPE, SK_UP_ARROW, NUL, A_info_prev_line, - ESC, '\033', 'O', 'A', NUL, A_info_prev_line, - ESC, '\033', '[', 'A', NUL, A_info_prev_line, - ESC, SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_next_line, - ESC, '\033', 'O', 'B', NUL, A_info_next_line, - ESC, '\033', '[', 'B', NUL, A_info_next_line, - ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_forward_word, - ESC, '\033', 'O', 'C', NUL, A_info_forward_word, - ESC, '\033', '[', 'C', NUL, A_info_forward_word, - ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_backward_word, - ESC, '\033', 'O', 'D', NUL, A_info_backward_word, - ESC, '\033', '[', 'D', NUL, A_info_backward_word, - - /* We want help to report q, not C-x C-c, etc. */ - 'q', NUL, A_info_quit, - 'x', NUL, A_info_delete_window, - SPC, NUL, A_info_scroll_forward, - DEL, NUL, A_info_scroll_backward, - '{', NUL, A_info_search_previous, - '}', NUL, A_info_search_next, - CONTROL('g'), NUL, A_info_abort_key, - SK_ESCAPE, SK_UP_ARROW, NUL, A_info_prev_line, - SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_next_line, + SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_backward, + SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_forward, + '\033', 'O', 'A', NUL, A_info_prev_line, + '\033', '[', 'A', NUL, A_info_prev_line, + '\033', 'O', 'B', NUL, A_info_next_line, + '\033', '[', 'B', NUL, A_info_next_line, + SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_forward_char, + '\033', 'O', 'C', NUL, A_info_forward_char, + '\033', '[', 'C', NUL, A_info_forward_char, + SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_backward_char, + '\033', 'O', 'D', NUL, A_info_backward_char, + '\033', '[', 'D', NUL, A_info_backward_char, + SK_ESCAPE, SK_HOME, NUL, A_info_beginning_of_node, + SK_ESCAPE, SK_END, NUL, A_info_end_of_node, + SK_ESCAPE, SK_DELETE, NUL, A_info_scroll_backward, + + ESC, SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_other_window_backward, + ESC, SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_other_window, + ESC, SK_ESCAPE, SK_UP_ARROW, NUL, A_info_prev_line, + ESC, '\033', 'O', 'A', NUL, A_info_prev_line, + ESC, '\033', '[', 'A', NUL, A_info_prev_line, + ESC, SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_next_line, + ESC, '\033', 'O', 'B', NUL, A_info_next_line, + ESC, '\033', '[', 'B', NUL, A_info_next_line, + ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_forward_word, + ESC, '\033', 'O', 'C', NUL, A_info_forward_word, + ESC, '\033', '[', 'C', NUL, A_info_forward_word, + ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_backward_word, + ESC, '\033', 'O', 'D', NUL, A_info_backward_word, + ESC, '\033', '[', 'D', NUL, A_info_backward_word, + + /* We want help to report q, not C-x C-c, etc. */ + 'q', NUL, A_info_quit, + 'x', NUL, A_info_delete_window, + SPC, NUL, A_info_scroll_forward, + DEL, NUL, A_info_scroll_backward, + '{', NUL, A_info_search_previous, + '}', NUL, A_info_search_next, + CONTROL('g'), NUL, A_info_abort_key, + SK_ESCAPE, SK_UP_ARROW, NUL, A_info_prev_line, + SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_next_line, }; static unsigned char default_emacs_like_ea_keys[] = { - 0, /* suppress-default-keybindings flag */ - ESC, '0', NUL, A_info_add_digit_to_numeric_arg, - ESC, '1', NUL, A_info_add_digit_to_numeric_arg, - ESC, '2', NUL, A_info_add_digit_to_numeric_arg, - ESC, '3', NUL, A_info_add_digit_to_numeric_arg, - ESC, '4', NUL, A_info_add_digit_to_numeric_arg, - ESC, '5', NUL, A_info_add_digit_to_numeric_arg, - ESC, '6', NUL, A_info_add_digit_to_numeric_arg, - ESC, '7', NUL, A_info_add_digit_to_numeric_arg, - ESC, '8', NUL, A_info_add_digit_to_numeric_arg, - ESC, '9', NUL, A_info_add_digit_to_numeric_arg, - ESC, '-', NUL, A_info_add_digit_to_numeric_arg, - Meta('0'), NUL, A_info_add_digit_to_numeric_arg, - Meta('1'), NUL, A_info_add_digit_to_numeric_arg, - Meta('2'), NUL, A_info_add_digit_to_numeric_arg, - Meta('3'), NUL, A_info_add_digit_to_numeric_arg, - Meta('4'), NUL, A_info_add_digit_to_numeric_arg, - Meta('5'), NUL, A_info_add_digit_to_numeric_arg, - Meta('6'), NUL, A_info_add_digit_to_numeric_arg, - Meta('7'), NUL, A_info_add_digit_to_numeric_arg, - Meta('8'), NUL, A_info_add_digit_to_numeric_arg, - Meta('9'), NUL, A_info_add_digit_to_numeric_arg, - Meta('-'), NUL, A_info_add_digit_to_numeric_arg, - ESC, CONTROL('g'), NUL, A_ea_abort, - ESC, CONTROL('v'), NUL, A_ea_scroll_completions_window, - ESC, 'b', NUL, A_ea_backward_word, - ESC, 'd', NUL, A_ea_kill_word, - ESC, 'f', NUL, A_ea_forward_word, - ESC, 'y', NUL, A_ea_yank_pop, - ESC, '?', NUL, A_ea_possible_completions, - ESC, TAB, NUL, A_ea_tab_insert, - ESC, DEL, NUL, A_ea_backward_kill_word, - Meta(CONTROL('g')), NUL, A_ea_abort, - Meta(CONTROL('v')), NUL, A_ea_scroll_completions_window, - Meta('b'), NUL, A_ea_backward_word, - Meta('d'), NUL, A_ea_kill_word, - Meta('f'), NUL, A_ea_forward_word, - Meta('y'), NUL, A_ea_yank_pop, - Meta('?'), NUL, A_ea_possible_completions, - Meta(TAB), NUL, A_ea_tab_insert, - Meta(DEL), NUL, A_ea_backward_kill_word, - CONTROL('a'), NUL, A_ea_beg_of_line, - CONTROL('b'), NUL, A_ea_backward, - CONTROL('d'), NUL, A_ea_delete, - CONTROL('e'), NUL, A_ea_end_of_line, - CONTROL('f'), NUL, A_ea_forward, - CONTROL('g'), NUL, A_ea_abort, - CONTROL('h'), NUL, A_ea_rubout, + 0, /* suppress-default-keybindings flag */ + ESC, '0', NUL, A_info_add_digit_to_numeric_arg, + ESC, '1', NUL, A_info_add_digit_to_numeric_arg, + ESC, '2', NUL, A_info_add_digit_to_numeric_arg, + ESC, '3', NUL, A_info_add_digit_to_numeric_arg, + ESC, '4', NUL, A_info_add_digit_to_numeric_arg, + ESC, '5', NUL, A_info_add_digit_to_numeric_arg, + ESC, '6', NUL, A_info_add_digit_to_numeric_arg, + ESC, '7', NUL, A_info_add_digit_to_numeric_arg, + ESC, '8', NUL, A_info_add_digit_to_numeric_arg, + ESC, '9', NUL, A_info_add_digit_to_numeric_arg, + ESC, '-', NUL, A_info_add_digit_to_numeric_arg, + Meta('0'), NUL, A_info_add_digit_to_numeric_arg, + Meta('1'), NUL, A_info_add_digit_to_numeric_arg, + Meta('2'), NUL, A_info_add_digit_to_numeric_arg, + Meta('3'), NUL, A_info_add_digit_to_numeric_arg, + Meta('4'), NUL, A_info_add_digit_to_numeric_arg, + Meta('5'), NUL, A_info_add_digit_to_numeric_arg, + Meta('6'), NUL, A_info_add_digit_to_numeric_arg, + Meta('7'), NUL, A_info_add_digit_to_numeric_arg, + Meta('8'), NUL, A_info_add_digit_to_numeric_arg, + Meta('9'), NUL, A_info_add_digit_to_numeric_arg, + Meta('-'), NUL, A_info_add_digit_to_numeric_arg, + ESC, CONTROL('g'), NUL, A_ea_abort, + ESC, CONTROL('v'), NUL, A_ea_scroll_completions_window, + ESC, 'b', NUL, A_ea_backward_word, + ESC, 'd', NUL, A_ea_kill_word, + ESC, 'f', NUL, A_ea_forward_word, + ESC, 'y', NUL, A_ea_yank_pop, + ESC, '?', NUL, A_ea_possible_completions, + ESC, TAB, NUL, A_ea_tab_insert, + ESC, DEL, NUL, A_ea_backward_kill_word, + Meta(CONTROL('g')), NUL, A_ea_abort, + Meta(CONTROL('v')), NUL, A_ea_scroll_completions_window, + Meta('b'), NUL, A_ea_backward_word, + Meta('d'), NUL, A_ea_kill_word, + Meta('f'), NUL, A_ea_forward_word, + Meta('y'), NUL, A_ea_yank_pop, + Meta('?'), NUL, A_ea_possible_completions, + Meta(TAB), NUL, A_ea_tab_insert, + Meta(DEL), NUL, A_ea_backward_kill_word, + CONTROL('a'), NUL, A_ea_beg_of_line, + CONTROL('b'), NUL, A_ea_backward, + CONTROL('d'), NUL, A_ea_delete, + CONTROL('e'), NUL, A_ea_end_of_line, + CONTROL('f'), NUL, A_ea_forward, + CONTROL('g'), NUL, A_ea_abort, + CONTROL('h'), NUL, A_ea_rubout, /* CONTROL('k') */ - SK_ESCAPE, SK_LITERAL, NUL, A_ea_kill_line, - CONTROL('l'), NUL, A_info_redraw_display, - CONTROL('q'), NUL, A_ea_quoted_insert, - CONTROL('t'), NUL, A_ea_transpose_chars, - CONTROL('u'), NUL, A_info_universal_argument, - CONTROL('y'), NUL, A_ea_yank, - LFD, NUL, A_ea_newline, - RET, NUL, A_ea_newline, - SPC, NUL, A_ea_complete, - TAB, NUL, A_ea_complete, - '?', NUL, A_ea_possible_completions, + SK_ESCAPE, SK_LITERAL, NUL, A_ea_kill_line, + CONTROL('l'), NUL, A_info_redraw_display, + CONTROL('q'), NUL, A_ea_quoted_insert, + CONTROL('t'), NUL, A_ea_transpose_chars, + CONTROL('u'), NUL, A_info_universal_argument, + CONTROL('y'), NUL, A_ea_yank, + LFD, NUL, A_ea_newline, + RET, NUL, A_ea_newline, + SPC, NUL, A_ea_complete, + TAB, NUL, A_ea_complete, + '?', NUL, A_ea_possible_completions, #ifdef __MSDOS__ - /* PC users will lynch me if I don't give them their usual DEL - effect... */ - DEL, NUL, A_ea_delete, + /* PC users will lynch me if I don't give them their usual DEL + effect... */ + DEL, NUL, A_ea_delete, #else - DEL, NUL, A_ea_rubout, + DEL, NUL, A_ea_rubout, #endif #if defined (NAMED_FUNCTIONS) /* ESC, 'x', NUL, A_info_execute_command, */ /* Meta('x'), NUL, A_info_execute_command, */ #endif /* NAMED_FUNCTIONS */ - CONTROL('x'), 'o', NUL, A_info_next_window, - CONTROL('x'), DEL, NUL, A_ea_backward_kill_line, + CONTROL('x'), 'o', NUL, A_info_next_window, + CONTROL('x'), DEL, NUL, A_ea_backward_kill_line, /* Arrow key bindings for echo area keymaps. It seems that some terminals do not match their termcap entries, so it's best to just define everything with both of the usual prefixes. */ - SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward, - '\033', 'O', 'C', NUL, A_ea_forward, - '\033', '[', 'C', NUL, A_ea_forward, - SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward, - '\033', 'O', 'D', NUL, A_ea_backward, - '\033', '[', 'D', NUL, A_ea_backward, - ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward_word, - ESC, '\033', 'O', 'C', NUL, A_ea_forward_word, - ESC, '\033', '[', 'C', NUL, A_ea_forward_word, - ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward_word, - ESC, '\033', 'O', 'D', NUL, A_ea_backward_word, - ESC, '\033', '[', 'D', NUL, A_ea_backward_word, + SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward, + '\033', 'O', 'C', NUL, A_ea_forward, + '\033', '[', 'C', NUL, A_ea_forward, + SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward, + '\033', 'O', 'D', NUL, A_ea_backward, + '\033', '[', 'D', NUL, A_ea_backward, + ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward_word, + ESC, '\033', 'O', 'C', NUL, A_ea_forward_word, + ESC, '\033', '[', 'C', NUL, A_ea_forward_word, + ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward_word, + ESC, '\033', 'O', 'D', NUL, A_ea_backward_word, + ESC, '\033', '[', 'D', NUL, A_ea_backward_word, #ifdef __MSDOS__ - SK_ESCAPE, SK_DELETE, NUL, A_ea_delete, + SK_ESCAPE, SK_DELETE, NUL, A_ea_delete, #else - SK_ESCAPE, SK_DELETE, NUL, A_ea_rubout, + SK_ESCAPE, SK_DELETE, NUL, A_ea_rubout, #endif - SK_ESCAPE, SK_HOME, NUL, A_ea_beg_of_line, - SK_ESCAPE, SK_END, NUL, A_ea_end_of_line, - ESC, SK_ESCAPE, SK_DELETE, NUL, A_ea_backward_kill_word, - CONTROL('x'), SK_ESCAPE, SK_DELETE, NUL,A_ea_backward_kill_line, + SK_ESCAPE, SK_HOME, NUL, A_ea_beg_of_line, + SK_ESCAPE, SK_END, NUL, A_ea_end_of_line, + ESC, SK_ESCAPE, SK_DELETE, NUL, A_ea_backward_kill_word, + CONTROL('x'), SK_ESCAPE, SK_DELETE, NUL,A_ea_backward_kill_line, }; static unsigned char default_vi_like_info_keys[] = { - 0, /* suppress-default-keybindings flag */ - '0', NUL, A_info_add_digit_to_numeric_arg, - '1', NUL, A_info_add_digit_to_numeric_arg, - '2', NUL, A_info_add_digit_to_numeric_arg, - '3', NUL, A_info_add_digit_to_numeric_arg, - '4', NUL, A_info_add_digit_to_numeric_arg, - '5', NUL, A_info_add_digit_to_numeric_arg, - '6', NUL, A_info_add_digit_to_numeric_arg, - '7', NUL, A_info_add_digit_to_numeric_arg, - '8', NUL, A_info_add_digit_to_numeric_arg, - '9', NUL, A_info_add_digit_to_numeric_arg, - '-', NUL, A_info_add_digit_to_numeric_arg, - TAB, NUL, A_info_move_to_next_xref, - LFD, NUL, A_info_down_line, - RET, NUL, A_info_down_line, - CONTROL('a'), NUL, A_info_beginning_of_line, - CONTROL('b'), NUL, A_info_scroll_backward_page_only, - CONTROL('d'), NUL, A_info_scroll_half_screen_down, - CONTROL('e'), NUL, A_info_down_line, - CONTROL('f'), NUL, A_info_scroll_forward_page_only, - CONTROL('k'), NUL, A_info_up_line, - CONTROL('l'), NUL, A_info_redraw_display, - CONTROL('n'), NUL, A_info_down_line, - CONTROL('p'), NUL, A_info_up_line, - CONTROL('r'), NUL, A_info_redraw_display, - CONTROL('s'), NUL, A_isearch_forward, - CONTROL('u'), NUL, A_info_scroll_half_screen_up, - CONTROL('v'), NUL, A_info_scroll_forward_page_only, - CONTROL('y'), NUL, A_info_up_line, - ',', NUL, A_info_next_index_match, - '/', NUL, A_info_search, - ESC, '0', NUL, A_info_last_menu_item, - ESC, '1', NUL, A_info_menu_digit, - ESC, '2', NUL, A_info_menu_digit, - ESC, '3', NUL, A_info_menu_digit, - ESC, '4', NUL, A_info_menu_digit, - ESC, '5', NUL, A_info_menu_digit, - ESC, '6', NUL, A_info_menu_digit, - ESC, '7', NUL, A_info_menu_digit, - ESC, '8', NUL, A_info_menu_digit, - ESC, '9', NUL, A_info_menu_digit, - Meta('0'), NUL, A_info_last_menu_item, - Meta('1'), NUL, A_info_menu_digit, - Meta('2'), NUL, A_info_menu_digit, - Meta('3'), NUL, A_info_menu_digit, - Meta('4'), NUL, A_info_menu_digit, - Meta('5'), NUL, A_info_menu_digit, - Meta('6'), NUL, A_info_menu_digit, - Meta('7'), NUL, A_info_menu_digit, - Meta('8'), NUL, A_info_menu_digit, - Meta('9'), NUL, A_info_menu_digit, - '<', NUL, A_info_first_node, - '>', NUL, A_info_last_node, - '?', NUL, A_info_search_backward, - '[', NUL, A_info_global_prev_node, - ']', NUL, A_info_global_next_node, - '\'', NUL, A_info_history_node, - 'b', NUL, A_info_scroll_backward, - 'd', NUL, A_info_scroll_half_screen_down, - 'e', NUL, A_info_down_line, - 'E', NUL, A_info_view_file, - ':', 'e', NUL, A_info_view_file, - 'f', NUL, A_info_scroll_forward_page_only, - 'F', NUL, A_info_scroll_forward_page_only, - 'g', NUL, A_info_first_node, - 'G', NUL, A_info_last_node, - 'h', NUL, A_info_get_help_window, - 'H', NUL, A_info_get_help_window, - 'i', NUL, A_info_index_search, - 'I', NUL, A_info_goto_invocation_node, - 'j', NUL, A_info_next_line, - 'k', NUL, A_info_prev_line, - 'l', NUL, A_info_history_node, - 'm', NUL, A_info_menu_item, - 'n', NUL, A_info_search_next, - 'N', NUL, A_info_search_previous, - 'O', NUL, A_info_goto_invocation_node, - 'p', NUL, A_info_prev_node, - 'Q', NUL, A_info_quit, - ':', 'q', NUL, A_info_quit, - ':', 'Q', NUL, A_info_quit, - 'Z', 'Z', NUL, A_info_quit, - 'r', NUL, A_info_redraw_display, - 'R', NUL, A_info_toggle_regexp, - 's', NUL, A_info_search, - 'S', NUL, A_info_search_case_sensitively, - 't', NUL, A_info_top_node, - 'u', NUL, A_info_scroll_half_screen_up, - 'w', NUL, A_info_scroll_backward_page_only_set_window, - 'y', NUL, A_info_up_line, - 'z', NUL, A_info_scroll_forward_page_only_set_window, - ESC, CONTROL('f'), NUL, A_info_show_footnotes, - ESC, CONTROL('g'), NUL, A_info_abort_key, - ESC, TAB, NUL, A_info_move_to_prev_xref, - ESC, SPC, NUL, A_info_scroll_forward_page_only, - ESC, CONTROL('v'), NUL, A_info_scroll_other_window, - ESC, '<', NUL, A_info_beginning_of_node, - ESC, '>', NUL, A_info_end_of_node, - ESC, '/', NUL, A_info_search, - ESC, '?', NUL, A_info_search_backward, - ESC, 'b', NUL, A_info_beginning_of_node, - ESC, 'd', NUL, A_info_dir_node, - ESC, 'e', NUL, A_info_end_of_node, - ESC, 'f', NUL, A_info_xref_item, - ESC, 'g', NUL, A_info_select_reference_this_line, - ESC, 'h', NUL, A_info_get_info_help_node, - ESC, 'I', NUL, A_info_virtual_index, - ESC, 'm', NUL, A_info_menu_item, - ESC, 'n', NUL, A_info_search, - ESC, 'N', NUL, A_info_search_backward, - ESC, 'r', NUL, A_isearch_backward, - ESC, 's', NUL, A_isearch_forward, - ESC, 't', NUL, A_info_top_node, - ESC, 'v', NUL, A_info_scroll_backward_page_only, + 0, /* suppress-default-keybindings flag */ + '0', NUL, A_info_add_digit_to_numeric_arg, + '1', NUL, A_info_add_digit_to_numeric_arg, + '2', NUL, A_info_add_digit_to_numeric_arg, + '3', NUL, A_info_add_digit_to_numeric_arg, + '4', NUL, A_info_add_digit_to_numeric_arg, + '5', NUL, A_info_add_digit_to_numeric_arg, + '6', NUL, A_info_add_digit_to_numeric_arg, + '7', NUL, A_info_add_digit_to_numeric_arg, + '8', NUL, A_info_add_digit_to_numeric_arg, + '9', NUL, A_info_add_digit_to_numeric_arg, + '-', NUL, A_info_add_digit_to_numeric_arg, + TAB, NUL, A_info_move_to_next_xref, + LFD, NUL, A_info_down_line, + RET, NUL, A_info_down_line, + CONTROL('a'), NUL, A_info_beginning_of_line, + CONTROL('b'), NUL, A_info_scroll_backward_page_only, + CONTROL('c'), NUL, A_info_abort_key, + CONTROL('d'), NUL, A_info_scroll_half_screen_down, + CONTROL('e'), NUL, A_info_down_line, + CONTROL('f'), NUL, A_info_scroll_forward_page_only, + CONTROL('g'), NUL, A_info_display_file_info, + CONTROL('k'), NUL, A_info_up_line, + CONTROL('l'), NUL, A_info_redraw_display, + CONTROL('n'), NUL, A_info_down_line, + CONTROL('p'), NUL, A_info_up_line, + CONTROL('r'), NUL, A_info_redraw_display, + CONTROL('s'), NUL, A_isearch_forward, + CONTROL('u'), NUL, A_info_scroll_half_screen_up, + CONTROL('v'), NUL, A_info_scroll_forward_page_only, + CONTROL('y'), NUL, A_info_up_line, + ',', NUL, A_info_next_index_match, + '/', NUL, A_info_search, + ESC, '0', NUL, A_info_last_menu_item, + ESC, '1', NUL, A_info_menu_digit, + ESC, '2', NUL, A_info_menu_digit, + ESC, '3', NUL, A_info_menu_digit, + ESC, '4', NUL, A_info_menu_digit, + ESC, '5', NUL, A_info_menu_digit, + ESC, '6', NUL, A_info_menu_digit, + ESC, '7', NUL, A_info_menu_digit, + ESC, '8', NUL, A_info_menu_digit, + ESC, '9', NUL, A_info_menu_digit, + Meta('0'), NUL, A_info_last_menu_item, + Meta('1'), NUL, A_info_menu_digit, + Meta('2'), NUL, A_info_menu_digit, + Meta('3'), NUL, A_info_menu_digit, + Meta('4'), NUL, A_info_menu_digit, + Meta('5'), NUL, A_info_menu_digit, + Meta('6'), NUL, A_info_menu_digit, + Meta('7'), NUL, A_info_menu_digit, + Meta('8'), NUL, A_info_menu_digit, + Meta('9'), NUL, A_info_menu_digit, + '<', NUL, A_info_first_node, + '>', NUL, A_info_last_node, + '?', NUL, A_info_search_backward, + '[', NUL, A_info_global_prev_node, + ']', NUL, A_info_global_next_node, + '\'', NUL, A_info_history_node, + 'b', NUL, A_info_scroll_backward, + 'd', NUL, A_info_scroll_half_screen_down, + 'e', NUL, A_info_down_line, + 'E', NUL, A_info_view_file, + ':', 'e', NUL, A_info_view_file, + 'f', NUL, A_info_scroll_forward_page_only, + 'F', NUL, A_info_scroll_forward_page_only, + 'g', NUL, A_info_first_node, + 'G', NUL, A_info_last_node, + 'h', NUL, A_info_get_help_window, + 'H', NUL, A_info_get_help_window, + 'i', NUL, A_info_index_search, + 'I', NUL, A_info_goto_invocation_node, + 'j', NUL, A_info_next_line, + 'k', NUL, A_info_prev_line, + 'l', NUL, A_info_history_node, + 'm', NUL, A_info_menu_item, + 'n', NUL, A_info_search_next, + ':', 'a', NUL, A_info_all_files, + 'N', NUL, A_info_search_previous, + 'O', NUL, A_info_goto_invocation_node, + 'p', NUL, A_info_prev_node, + 'Q', NUL, A_info_quit, + ':', 'q', NUL, A_info_quit, + ':', 'Q', NUL, A_info_quit, + 'Z', 'Z', NUL, A_info_quit, + 'r', NUL, A_info_redraw_display, + 'R', NUL, A_info_toggle_regexp, + 's', NUL, A_info_search, + 'S', NUL, A_info_search_case_sensitively, + 't', NUL, A_info_top_node, + 'u', NUL, A_info_scroll_half_screen_up, + 'w', NUL, A_info_scroll_backward_page_only_set_window, + 'y', NUL, A_info_up_line, + 'z', NUL, A_info_scroll_forward_page_only_set_window, + ESC, CONTROL('f'), NUL, A_info_show_footnotes, + ESC, CONTROL('g'), NUL, A_info_abort_key, + ESC, TAB, NUL, A_info_move_to_prev_xref, + ESC, SPC, NUL, A_info_scroll_forward_page_only, + ESC, CONTROL('v'), NUL, A_info_scroll_other_window, + ESC, '<', NUL, A_info_beginning_of_node, + ESC, '>', NUL, A_info_end_of_node, + ESC, '/', NUL, A_info_search, + ESC, '?', NUL, A_info_search_backward, + ESC, 'b', NUL, A_info_beginning_of_node, + ESC, 'd', NUL, A_info_dir_node, + ESC, 'e', NUL, A_info_end_of_node, + ESC, 'f', NUL, A_info_xref_item, + ESC, 'g', NUL, A_info_select_reference_this_line, + ESC, 'h', NUL, A_info_get_info_help_node, + ESC, 'I', NUL, A_info_virtual_index, + ESC, 'm', NUL, A_info_menu_item, + ESC, 'n', NUL, A_info_search, + ESC, 'N', NUL, A_info_search_backward, + ESC, 'r', NUL, A_isearch_backward, + ESC, 's', NUL, A_isearch_forward, + ESC, 't', NUL, A_info_top_node, + ESC, 'v', NUL, A_info_scroll_backward_page_only, #if defined (NAMED_FUNCTIONS) - ESC, 'x', NUL, A_info_execute_command, - Meta('x'), NUL, A_info_execute_command, + ESC, 'x', NUL, A_info_execute_command, + Meta('x'), NUL, A_info_execute_command, #endif /* NAMED_FUNCTIONS */ - ESC, DEL, NUL, A_info_scroll_other_window_backward, - CONTROL('x'), CONTROL('b'), NUL, A_list_visited_nodes, - CONTROL('x'), CONTROL('c'), NUL, A_info_quit, - CONTROL('x'), CONTROL('f'), NUL, A_info_view_file, - CONTROL('x'), CONTROL('g'), NUL, A_info_abort_key, - CONTROL('x'), CONTROL('v'), NUL, A_info_view_file, - CONTROL('x'), LFD, NUL, A_info_select_reference_this_line, - CONTROL('x'), RET, NUL, A_info_select_reference_this_line, - CONTROL('x'), '0', NUL, A_info_delete_window, - CONTROL('x'), '1', NUL, A_info_keep_one_window, - CONTROL('x'), '2', NUL, A_info_split_window, - CONTROL('x'), '^', NUL, A_info_grow_window, - CONTROL('x'), 'b', NUL, A_select_visited_node, - CONTROL('x'), 'g', NUL, A_info_goto_node, - CONTROL('x'), 'i', NUL, A_info_index_search, - CONTROL('x'), 'I', NUL, A_info_goto_invocation_node, - CONTROL('x'), 'k', NUL, A_info_kill_node, - CONTROL('x'), 'n', NUL, A_info_next_node, - CONTROL('x'), 'o', NUL, A_info_next_window, - CONTROL('x'), 'O', NUL, A_info_goto_invocation_node, - CONTROL('x'), 'p', NUL, A_info_prev_node, - CONTROL('x'), 'r', NUL, A_info_xref_item, - CONTROL('x'), 't', NUL, A_info_tile_windows, - CONTROL('x'), 'u', NUL, A_info_up_node, - CONTROL('x'), 'w', NUL, A_info_toggle_wrap, - CONTROL('x'), ',', NUL, A_info_next_index_match, + ESC, DEL, NUL, A_info_scroll_other_window_backward, + CONTROL('x'), CONTROL('b'), NUL, A_list_visited_nodes, + CONTROL('x'), CONTROL('c'), NUL, A_info_quit, + CONTROL('x'), CONTROL('f'), NUL, A_info_view_file, + CONTROL('x'), CONTROL('g'), NUL, A_info_abort_key, + CONTROL('x'), CONTROL('v'), NUL, A_info_view_file, + CONTROL('x'), LFD, NUL, A_info_select_reference_this_line, + CONTROL('x'), RET, NUL, A_info_select_reference_this_line, + CONTROL('x'), '0', NUL, A_info_delete_window, + CONTROL('x'), '1', NUL, A_info_keep_one_window, + CONTROL('x'), '2', NUL, A_info_split_window, + CONTROL('x'), '^', NUL, A_info_grow_window, + CONTROL('x'), 'b', NUL, A_select_visited_node, + CONTROL('x'), 'g', NUL, A_info_goto_node, + CONTROL('x'), 'i', NUL, A_info_index_search, + CONTROL('x'), 'I', NUL, A_info_goto_invocation_node, + CONTROL('x'), 'k', NUL, A_info_kill_node, + CONTROL('x'), 'n', NUL, A_info_next_node, + CONTROL('x'), 'o', NUL, A_info_next_window, + CONTROL('x'), 'O', NUL, A_info_goto_invocation_node, + CONTROL('x'), 'p', NUL, A_info_prev_node, + CONTROL('x'), 'r', NUL, A_info_xref_item, + CONTROL('x'), 't', NUL, A_info_tile_windows, + CONTROL('x'), 'u', NUL, A_info_up_node, + CONTROL('x'), 'w', NUL, A_info_toggle_wrap, + CONTROL('x'), ',', NUL, A_info_next_index_match, /* Arrow key bindings for info keymaps. It seems that some terminals do not match their termcap entries, so it's best to just define everything with both of the usual prefixes. */ - - SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_backward, - SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_forward, - '\033', 'O', 'A', NUL, A_info_up_line, - '\033', '[', 'A', NUL, A_info_up_line, - '\033', 'O', 'B', NUL, A_info_down_line, - '\033', '[', 'B', NUL, A_info_down_line, - SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_scroll_forward_page_only, - '\033', 'O', 'C', NUL, A_info_scroll_forward_page_only, - '\033', '[', 'C', NUL, A_info_scroll_forward_page_only, - SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_scroll_backward_page_only, - '\033', 'O', 'D', NUL, A_info_scroll_backward_page_only, - '\033', '[', 'D', NUL, A_info_scroll_backward_page_only, - SK_ESCAPE, SK_HOME, NUL, A_info_beginning_of_node, - SK_ESCAPE, SK_END, NUL, A_info_end_of_node, - ESC, SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_other_window, - ESC, SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_other_window_backward, - ESC, SK_ESCAPE, SK_DELETE, NUL, A_info_scroll_other_window_backward, - ESC, SK_ESCAPE, SK_UP_ARROW, NUL, A_info_prev_node, - ESC, '\033', 'O', 'A', NUL, A_info_prev_node, - ESC, '\033', '[', 'A', NUL, A_info_prev_node, - ESC, SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_next_node, - ESC, '\033', 'O', 'B', NUL, A_info_next_node, - ESC, '\033', '[', 'B', NUL, A_info_next_node, - ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_xref_item, - ESC, '\033', 'O', 'C', NUL, A_info_xref_item, - ESC, '\033', '[', 'C', NUL, A_info_xref_item, - ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_beginning_of_node, - ESC, '\033', 'O', 'D', NUL, A_info_beginning_of_node, - ESC, '\033', '[', 'D', NUL, A_info_beginning_of_node, - CONTROL('x'), SK_ESCAPE, SK_DELETE, NUL,A_ea_backward_kill_line, - - /* We want help to report q, not C-x C-c, etc. */ - 'q', NUL, A_info_quit, - 'x', NUL, A_info_delete_window, - SPC, NUL, A_info_scroll_forward, - DEL, NUL, A_info_scroll_backward, - '{', NUL, A_info_search_previous, - '}', NUL, A_info_search_next, - CONTROL('g'), NUL, A_info_abort_key, - SK_ESCAPE, SK_UP_ARROW, NUL, A_info_up_line, - SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_down_line, + + SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_backward, + SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_forward, + '\033', 'O', 'A', NUL, A_info_up_line, + '\033', '[', 'A', NUL, A_info_up_line, + '\033', 'O', 'B', NUL, A_info_down_line, + '\033', '[', 'B', NUL, A_info_down_line, + SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_scroll_forward_page_only, + '\033', 'O', 'C', NUL, A_info_scroll_forward_page_only, + '\033', '[', 'C', NUL, A_info_scroll_forward_page_only, + SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_scroll_backward_page_only, + '\033', 'O', 'D', NUL, A_info_scroll_backward_page_only, + '\033', '[', 'D', NUL, A_info_scroll_backward_page_only, + SK_ESCAPE, SK_HOME, NUL, A_info_beginning_of_node, + SK_ESCAPE, SK_END, NUL, A_info_end_of_node, + ESC, SK_ESCAPE, SK_PAGE_DOWN, NUL, A_info_scroll_other_window, + ESC, SK_ESCAPE, SK_PAGE_UP, NUL, A_info_scroll_other_window_backward, + ESC, SK_ESCAPE, SK_DELETE, NUL, A_info_scroll_other_window_backward, + ESC, SK_ESCAPE, SK_UP_ARROW, NUL, A_info_prev_node, + ESC, '\033', 'O', 'A', NUL, A_info_prev_node, + ESC, '\033', '[', 'A', NUL, A_info_prev_node, + ESC, SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_next_node, + ESC, '\033', 'O', 'B', NUL, A_info_next_node, + ESC, '\033', '[', 'B', NUL, A_info_next_node, + ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_info_xref_item, + ESC, '\033', 'O', 'C', NUL, A_info_xref_item, + ESC, '\033', '[', 'C', NUL, A_info_xref_item, + ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_info_beginning_of_node, + ESC, '\033', 'O', 'D', NUL, A_info_beginning_of_node, + ESC, '\033', '[', 'D', NUL, A_info_beginning_of_node, + CONTROL('x'), SK_ESCAPE, SK_DELETE, NUL,A_ea_backward_kill_line, + + /* We want help to report q, not C-x C-c, etc. */ + 'q', NUL, A_info_quit, + 'x', NUL, A_info_delete_window, + SPC, NUL, A_info_scroll_forward, + DEL, NUL, A_info_scroll_backward, + '{', NUL, A_info_search_previous, + '}', NUL, A_info_search_next, + SK_ESCAPE, SK_UP_ARROW, NUL, A_info_up_line, + SK_ESCAPE, SK_DOWN_ARROW, NUL, A_info_down_line, }; static unsigned char default_vi_like_ea_keys[] = { - 0, /* suppress-default-keybindings flag */ - ESC, '1', NUL, A_info_add_digit_to_numeric_arg, - ESC, '2', NUL, A_info_add_digit_to_numeric_arg, - ESC, '3', NUL, A_info_add_digit_to_numeric_arg, - ESC, '4', NUL, A_info_add_digit_to_numeric_arg, - ESC, '5', NUL, A_info_add_digit_to_numeric_arg, - ESC, '6', NUL, A_info_add_digit_to_numeric_arg, - ESC, '7', NUL, A_info_add_digit_to_numeric_arg, - ESC, '8', NUL, A_info_add_digit_to_numeric_arg, - ESC, '9', NUL, A_info_add_digit_to_numeric_arg, - ESC, '-', NUL, A_info_add_digit_to_numeric_arg, - Meta('1'), NUL, A_info_add_digit_to_numeric_arg, - Meta('2'), NUL, A_info_add_digit_to_numeric_arg, - Meta('3'), NUL, A_info_add_digit_to_numeric_arg, - Meta('4'), NUL, A_info_add_digit_to_numeric_arg, - Meta('5'), NUL, A_info_add_digit_to_numeric_arg, - Meta('6'), NUL, A_info_add_digit_to_numeric_arg, - Meta('7'), NUL, A_info_add_digit_to_numeric_arg, - Meta('8'), NUL, A_info_add_digit_to_numeric_arg, - Meta('9'), NUL, A_info_add_digit_to_numeric_arg, - Meta('-'), NUL, A_info_add_digit_to_numeric_arg, - ESC, CONTROL('g'), NUL, A_ea_abort, - ESC, CONTROL('h'), NUL, A_ea_backward_kill_word, - ESC, CONTROL('v'), NUL, A_ea_scroll_completions_window, - ESC, '0', NUL, A_ea_beg_of_line, - ESC, '$', NUL, A_ea_end_of_line, - ESC, 'b', NUL, A_ea_backward_word, - ESC, 'd', NUL, A_ea_kill_word, - ESC, 'f', NUL, A_ea_forward_word, - ESC, 'h', NUL, A_ea_forward, - ESC, 'l', NUL, A_ea_backward, - ESC, 'w', NUL, A_ea_forward_word, - ESC, 'x', NUL, A_ea_delete, - ESC, 'X', NUL, A_ea_kill_word, - ESC, 'y', NUL, A_ea_yank_pop, - ESC, '?', NUL, A_ea_possible_completions, - ESC, TAB, NUL, A_ea_tab_insert, - ESC, DEL, NUL, A_ea_kill_word, - Meta(CONTROL('g')), NUL, A_ea_abort, - Meta(CONTROL('h')), NUL, A_ea_backward_kill_word, - Meta(CONTROL('v')), NUL, A_ea_scroll_completions_window, - Meta('0'), NUL, A_ea_beg_of_line, - Meta('$'), NUL, A_ea_end_of_line, - Meta('b'), NUL, A_ea_backward_word, - Meta('d'), NUL, A_ea_kill_word, - Meta('f'), NUL, A_ea_forward_word, - Meta('h'), NUL, A_ea_forward, - Meta('l'), NUL, A_ea_backward, - Meta('w'), NUL, A_ea_forward_word, - Meta('x'), NUL, A_ea_delete, - Meta('X'), NUL, A_ea_kill_word, - Meta('y'), NUL, A_ea_yank_pop, - Meta('?'), NUL, A_ea_possible_completions, - Meta(TAB), NUL, A_ea_tab_insert, - Meta(DEL), NUL, A_ea_kill_word, - CONTROL('a'), NUL, A_ea_beg_of_line, - CONTROL('b'), NUL, A_ea_backward, - CONTROL('d'), NUL, A_ea_delete, - CONTROL('e'), NUL, A_ea_end_of_line, - CONTROL('f'), NUL, A_ea_forward, - CONTROL('g'), NUL, A_ea_abort, - CONTROL('h'), NUL, A_ea_rubout, -/* CONTROL('k') */ - SK_ESCAPE, SK_LITERAL, NUL, A_ea_kill_line, - CONTROL('l'), NUL, A_info_redraw_display, - CONTROL('q'), NUL, A_ea_quoted_insert, - CONTROL('t'), NUL, A_ea_transpose_chars, - CONTROL('u'), NUL, A_ea_abort, - CONTROL('v'), NUL, A_ea_quoted_insert, - CONTROL('y'), NUL, A_ea_yank, - LFD, NUL, A_ea_newline, - RET, NUL, A_ea_newline, - SPC, NUL, A_ea_complete, - TAB, NUL, A_ea_complete, - '?', NUL, A_ea_possible_completions, + 0, /* suppress-default-keybindings flag */ + ESC, '1', NUL, A_info_add_digit_to_numeric_arg, + ESC, '2', NUL, A_info_add_digit_to_numeric_arg, + ESC, '3', NUL, A_info_add_digit_to_numeric_arg, + ESC, '4', NUL, A_info_add_digit_to_numeric_arg, + ESC, '5', NUL, A_info_add_digit_to_numeric_arg, + ESC, '6', NUL, A_info_add_digit_to_numeric_arg, + ESC, '7', NUL, A_info_add_digit_to_numeric_arg, + ESC, '8', NUL, A_info_add_digit_to_numeric_arg, + ESC, '9', NUL, A_info_add_digit_to_numeric_arg, + ESC, '-', NUL, A_info_add_digit_to_numeric_arg, + Meta('1'), NUL, A_info_add_digit_to_numeric_arg, + Meta('2'), NUL, A_info_add_digit_to_numeric_arg, + Meta('3'), NUL, A_info_add_digit_to_numeric_arg, + Meta('4'), NUL, A_info_add_digit_to_numeric_arg, + Meta('5'), NUL, A_info_add_digit_to_numeric_arg, + Meta('6'), NUL, A_info_add_digit_to_numeric_arg, + Meta('7'), NUL, A_info_add_digit_to_numeric_arg, + Meta('8'), NUL, A_info_add_digit_to_numeric_arg, + Meta('9'), NUL, A_info_add_digit_to_numeric_arg, + Meta('-'), NUL, A_info_add_digit_to_numeric_arg, + ESC, CONTROL('g'), NUL, A_ea_abort, + ESC, CONTROL('h'), NUL, A_ea_backward_kill_word, + ESC, CONTROL('v'), NUL, A_ea_scroll_completions_window, + ESC, '0', NUL, A_ea_beg_of_line, + ESC, '$', NUL, A_ea_end_of_line, + ESC, 'b', NUL, A_ea_backward_word, + ESC, 'd', NUL, A_ea_kill_word, + ESC, 'f', NUL, A_ea_forward_word, + ESC, 'h', NUL, A_ea_forward, + ESC, 'l', NUL, A_ea_backward, + ESC, 'w', NUL, A_ea_forward_word, + ESC, 'x', NUL, A_ea_delete, + ESC, 'X', NUL, A_ea_kill_word, + ESC, 'y', NUL, A_ea_yank_pop, + ESC, '?', NUL, A_ea_possible_completions, + ESC, TAB, NUL, A_ea_tab_insert, + ESC, DEL, NUL, A_ea_kill_word, + Meta(CONTROL('g')), NUL, A_ea_abort, + Meta(CONTROL('h')), NUL, A_ea_backward_kill_word, + Meta(CONTROL('v')), NUL, A_ea_scroll_completions_window, + Meta('0'), NUL, A_ea_beg_of_line, + Meta('$'), NUL, A_ea_end_of_line, + Meta('b'), NUL, A_ea_backward_word, + Meta('d'), NUL, A_ea_kill_word, + Meta('f'), NUL, A_ea_forward_word, + Meta('h'), NUL, A_ea_forward, + Meta('l'), NUL, A_ea_backward, + Meta('w'), NUL, A_ea_forward_word, + Meta('x'), NUL, A_ea_delete, + Meta('X'), NUL, A_ea_kill_word, + Meta('y'), NUL, A_ea_yank_pop, + Meta('?'), NUL, A_ea_possible_completions, + Meta(TAB), NUL, A_ea_tab_insert, + Meta(DEL), NUL, A_ea_kill_word, + CONTROL('a'), NUL, A_ea_beg_of_line, + CONTROL('b'), NUL, A_ea_backward, + CONTROL('d'), NUL, A_ea_delete, + CONTROL('e'), NUL, A_ea_end_of_line, + CONTROL('f'), NUL, A_ea_forward, + CONTROL('g'), NUL, A_ea_abort, + CONTROL('h'), NUL, A_ea_rubout, + /* CONTROL('k') */ + SK_ESCAPE, SK_LITERAL, NUL, A_ea_kill_line, + CONTROL('l'), NUL, A_info_redraw_display, + CONTROL('q'), NUL, A_ea_quoted_insert, + CONTROL('t'), NUL, A_ea_transpose_chars, + CONTROL('u'), NUL, A_ea_abort, + CONTROL('v'), NUL, A_ea_quoted_insert, + CONTROL('y'), NUL, A_ea_yank, + LFD, NUL, A_ea_newline, + RET, NUL, A_ea_newline, + SPC, NUL, A_ea_complete, + TAB, NUL, A_ea_complete, + '?', NUL, A_ea_possible_completions, #ifdef __MSDOS__ - /* PC users will lynch me if I don't give them their usual DEL - effect... */ - DEL, NUL, A_ea_delete, + /* PC users will lynch me if I don't give them their usual DEL + effect... */ + DEL, NUL, A_ea_delete, #else DEL, NUL, A_ea_rubout, #endif - CONTROL('x'), 'o', NUL, A_info_next_window, - CONTROL('x'), DEL, NUL, A_ea_backward_kill_line, - + CONTROL('x'), 'o', NUL, A_info_next_window, + CONTROL('x'), DEL, NUL, A_ea_backward_kill_line, + /* Arrow key bindings for echo area keymaps. It seems that some terminals do not match their termcap entries, so it's best to just define everything with both of the usual prefixes. */ - SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward, - '\033', 'O', 'C', NUL, A_ea_forward, - '\033', '[', 'C', NUL, A_ea_forward, - SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward, - '\033', 'O', 'D', NUL, A_ea_backward, - '\033', '[', 'D', NUL, A_ea_backward, - SK_ESCAPE, SK_HOME, NUL, A_ea_beg_of_line, - SK_ESCAPE, SK_END, NUL, A_ea_end_of_line, + SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward, + '\033', 'O', 'C', NUL, A_ea_forward, + '\033', '[', 'C', NUL, A_ea_forward, + SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward, + '\033', 'O', 'D', NUL, A_ea_backward, + '\033', '[', 'D', NUL, A_ea_backward, + SK_ESCAPE, SK_HOME, NUL, A_ea_beg_of_line, + SK_ESCAPE, SK_END, NUL, A_ea_end_of_line, #ifdef __MSDOS__ - SK_ESCAPE, SK_DELETE, NUL, A_ea_delete, + SK_ESCAPE, SK_DELETE, NUL, A_ea_delete, #else - SK_DELETE, SK_DELETE, NUL, A_ea_rubout, + SK_DELETE, SK_DELETE, NUL, A_ea_rubout, #endif - ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward_word, - ESC, '\033', 'O', 'C', NUL, A_ea_forward_word, - ESC, '\033', '[', 'C', NUL, A_ea_forward_word, - ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward_word, - ESC, '\033', 'O', 'D', NUL, A_ea_backward_word, - ESC, '\033', '[', 'D', NUL, A_ea_backward_word, - ESC, SK_ESCAPE, SK_DELETE, NUL, A_ea_kill_word, - CONTROL('x'), SK_ESCAPE, SK_DELETE, NUL,A_ea_backward_kill_line, + ESC, SK_ESCAPE, SK_RIGHT_ARROW, NUL, A_ea_forward_word, + ESC, '\033', 'O', 'C', NUL, A_ea_forward_word, + ESC, '\033', '[', 'C', NUL, A_ea_forward_word, + ESC, SK_ESCAPE, SK_LEFT_ARROW, NUL, A_ea_backward_word, + ESC, '\033', 'O', 'D', NUL, A_ea_backward_word, + ESC, '\033', '[', 'D', NUL, A_ea_backward_word, + ESC, SK_ESCAPE, SK_DELETE, NUL, A_ea_kill_word, + CONTROL('x'), SK_ESCAPE, SK_DELETE, NUL,A_ea_backward_kill_line, }; @@ -880,14 +883,14 @@ static unsigned long filesize (int f) { - long pos = lseek(f, 0L, SEEK_CUR); - long sz = -1L; - if (pos != -1L) - { - sz = lseek(f, 0L, SEEK_END); - lseek(f, pos, SEEK_SET); - } - return sz == -1L ? 0L : sz; + long pos = lseek (f, 0L, SEEK_CUR); + long sz = -1L; + if (pos != -1L) + { + sz = lseek (f, 0L, SEEK_END); + lseek (f, pos, SEEK_SET); + } + return sz == -1L ? 0L : sz; } /* Get an integer from a infokey file. @@ -896,13 +899,13 @@ static int getint (unsigned char **sp) { - int n; - - if ( !((*sp)[0] < INFOKEY_RADIX && (*sp)[1] < INFOKEY_RADIX) ) - return -1; - n = (*sp)[0] + (*sp)[1] * INFOKEY_RADIX; - *sp += 2; - return n; + int n; + + if ( !((*sp)[0] < INFOKEY_RADIX && (*sp)[1] < INFOKEY_RADIX) ) + return -1; + n = (*sp)[0] + (*sp)[1] * INFOKEY_RADIX; + *sp += 2; + return n; } @@ -911,138 +914,139 @@ static int fetch_user_maps (void) { - char *filename = NULL; - char *homedir; - int f; - unsigned char *buf; - unsigned long len; - long nread; - unsigned char *p; - int n; - - /* Find and open file. */ - if ((filename = getenv("INFOKEY")) != NULL) - filename = xstrdup(filename); - else if ((homedir = getenv("HOME")) != NULL) - { - filename = xmalloc(strlen(homedir) + 2 + strlen(INFOKEY_FILE)); - strcpy(filename, homedir); - strcat(filename, "/"); - strcat(filename, INFOKEY_FILE); - } + char *filename = NULL; + char *homedir; + int f; + unsigned char *buf; + unsigned long len; + long nread; + unsigned char *p; + int n; + + /* Find and open file. */ + if ((filename = getenv ("INFOKEY")) != NULL) + filename = xstrdup (filename); + else if ((homedir = getenv ("HOME")) != NULL) + { + filename = xmalloc (strlen (homedir) + 2 + strlen (INFOKEY_FILE)); + strcpy (filename, homedir); + strcat (filename, "/"); + strcat (filename, INFOKEY_FILE); + } #if defined(__MSDOS__) || defined(__MINGW32__) - /* Poor baby, she doesn't have a HOME... */ - else - filename = xstrdup(INFOKEY_FILE); /* try current directory */ + /* Poor baby, she doesn't have a HOME... */ + else + filename = xstrdup (INFOKEY_FILE); /* try current directory */ #endif - if (filename == NULL || (f = open(filename, O_RDONLY)) == (-1)) - { - if (filename && errno != ENOENT) - { - info_error("%s", filesys_error_string(filename, errno)); - free(filename); - } - return 0; - } - SET_BINARY (f); - - /* Ensure that the file is a reasonable size. */ - len = filesize(f); - if (len < INFOKEY_NMAGIC + 2 || len > 100 * 1024) - { - /* Bad file (a valid file must have at least 9 chars, and - more than 100 KB is a problem). */ - if (len < INFOKEY_NMAGIC + 2) - info_error(_("Ignoring invalid infokey file `%s' - too small"), - filename); - else - info_error(_("Ignoring invalid infokey file `%s' - too big"), - filename); - close(f); - free(filename); - return 0; - } - - /* Read the file into a buffer. */ - buf = xmalloc((int)len); - nread = read(f, buf, (unsigned int) len); - close(f); - if ((unsigned int) nread != len) - { - info_error(_("Error reading infokey file `%s' - short read"), - filename); - free(buf); - free(filename); - return 0; - } + if (filename == NULL || (f = open (filename, O_RDONLY)) == -1) + { + if (filename && errno != ENOENT) + { + info_error ("%s", filesys_error_string (filename, errno)); + free (filename); + } + return 0; + } + SET_BINARY (f); - /* Check the header, trailer, and version of the file to increase - our confidence that the contents are valid. */ - if ( buf[0] != INFOKEY_MAGIC_S0 - || buf[1] != INFOKEY_MAGIC_S1 - || buf[2] != INFOKEY_MAGIC_S2 - || buf[3] != INFOKEY_MAGIC_S3 - || buf[len - 4] != INFOKEY_MAGIC_E0 - || buf[len - 3] != INFOKEY_MAGIC_E1 - || buf[len - 2] != INFOKEY_MAGIC_E2 - || buf[len - 1] != INFOKEY_MAGIC_E3 - ) - { - info_error(_("Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it"), + /* Ensure that the file is a reasonable size. */ + len = filesize (f); + if (len < INFOKEY_NMAGIC + 2 || len > 100 * 1024) + { + /* Bad file (a valid file must have at least 9 chars, and + more than 100 KB is a problem). */ + if (len < INFOKEY_NMAGIC + 2) + info_error (_("Ignoring invalid infokey file `%s' - too small"), + filename); + else + info_error (_("Ignoring invalid infokey file `%s' - too big"), + filename); + close (f); + free (filename); + return 0; + } + + /* Read the file into a buffer. */ + buf = xmalloc ((int)len); + nread = read (f, buf, (unsigned int) len); + close (f); + if ((unsigned int) nread != len) + { + info_error (_("Error reading infokey file `%s' - short read"), filename); - free(filename); - return 0; - } - if (len < INFOKEY_NMAGIC + strlen(VERSION) + 1 - || strcmp(VERSION, (char *) (buf + 4)) != 0) - { - info_error - (_("Your infokey file `%s' is out of date -- run infokey to update it"), - filename); - free(filename); - return 0; - } - - /* Extract the pieces. */ - for (p = buf + 4 + strlen(VERSION) + 1; - (unsigned int) (p - buf) < len - 4; - p += n) - { - int s = *p++; - - n = getint(&p); - if (n < 0 || (unsigned int) n > len - 4 - (p - buf)) - { - info_error(_("Invalid infokey file `%s' (bad section length) -- run infokey to update it"), - filename); - free(filename); - return 0; - } - - switch (s) - { - case INFOKEY_SECTION_INFO: - user_info_keys = p; - user_info_keys_len = n; - break; - case INFOKEY_SECTION_EA: - user_ea_keys = p; - user_ea_keys_len = n; - break; - case INFOKEY_SECTION_VAR: - user_vars = p; - user_vars_len = n; - break; - default: - info_error(_("Invalid infokey file `%s' (bad section code) -- run infokey to update it"), - filename); - free(filename); - return 0; - } - } - - free(filename); - return 1; + free (buf); + free (filename); + return 0; + } + + /* Check the header, trailer, and version of the file to increase + our confidence that the contents are valid. */ + if (buf[0] != INFOKEY_MAGIC_S0 || + buf[1] != INFOKEY_MAGIC_S1 || + buf[2] != INFOKEY_MAGIC_S2 || + buf[3] != INFOKEY_MAGIC_S3 || + buf[len - 4] != INFOKEY_MAGIC_E0 || + buf[len - 3] != INFOKEY_MAGIC_E1 || + buf[len - 2] != INFOKEY_MAGIC_E2 || + buf[len - 1] != INFOKEY_MAGIC_E3) + { + info_error (_("Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it"), + filename); + free (filename); + return 0; + } + if (len < INFOKEY_NMAGIC + strlen (VERSION) + 1 || + strcmp (VERSION, (char *) (buf + 4)) != 0) + { + info_error (_("Your infokey file `%s' is out of date -- run infokey to update it"), + filename); + free (filename); + return 0; + } + + /* Extract the pieces. */ + for (p = buf + 4 + strlen (VERSION) + 1; + (unsigned int) (p - buf) < len - 4; + p += n) + { + int s = *p++; + + n = getint (&p); + if (n < 0 || (unsigned int) n > len - 4 - (p - buf)) + { + info_error (_("Invalid infokey file `%s' (bad section length) -- run infokey to update it"), + filename); + free (filename); + return 0; + } + + switch (s) + { + case INFOKEY_SECTION_INFO: + user_info_keys = p; + user_info_keys_len = n; + break; + + case INFOKEY_SECTION_EA: + user_ea_keys = p; + user_ea_keys_len = n; + break; + + case INFOKEY_SECTION_VAR: + user_vars = p; + user_vars_len = n; + break; + + default: + info_error (_("Invalid infokey file `%s' (bad section code) -- run infokey to update it"), + filename); + free (filename); + return 0; + } + } + + free (filename); + return 1; } /* Decode special key sequences from the infokey file. Return zero @@ -1050,59 +1054,59 @@ doesn't define. */ static int -decode_keys(unsigned char *src, unsigned int slen, - unsigned char *dst, unsigned int dlen) +decode_keys (unsigned char *src, unsigned int slen, + unsigned char *dst, unsigned int dlen) { - unsigned char *s = src; - unsigned char *d = dst; + unsigned char *s = src; + unsigned char *d = dst; #define To_dst(c) do { \ - if ((unsigned int) (d - dst) < dlen) *d++ = (c); \ + if ((unsigned int) (d - dst) < dlen) *d++ = (c); \ } while (0) - while ((unsigned int) (s - src) < slen) - { - unsigned char c = ISMETA(*s) ? UNMETA(*s) : *s; - - if (c == SK_ESCAPE) - { - char *t; - static char lit[] = { SK_ESCAPE, NUL }; - - switch ((unsigned int) (s + 1 - src) < slen ? s[1] : '\0') - { - case SK_RIGHT_ARROW: t = term_kr; break; - case SK_LEFT_ARROW: t = term_kl; break; - case SK_UP_ARROW: t = term_ku; break; - case SK_DOWN_ARROW: t = term_kd; break; - case SK_PAGE_UP: t = term_kP; break; - case SK_PAGE_DOWN: t = term_kN; break; - case SK_HOME: t = term_kh; break; - case SK_END: t = term_ke; break; - case SK_DELETE: t = term_kx; break; - case SK_INSERT: t = term_ki; break; - case SK_LITERAL: - default: t = lit; break; - } - if (t == NULL) - return 0; - while (*t) - To_dst(ISMETA(*s) ? Meta(*t++) : *t++); - s += 2; - } - else - { - if (ISMETA(*s)) - To_dst(Meta(*s++)); - else - To_dst(*s++); - } - } - - To_dst('\0'); - - return 1; - + while ((unsigned int) (s - src) < slen) + { + unsigned char c = ISMETA (*s) ? UNMETA (*s) : *s; + + if (c == SK_ESCAPE) + { + char *t; + static char lit[] = { SK_ESCAPE, NUL }; + + switch ((unsigned int) (s + 1 - src) < slen ? s[1] : '\0') + { + case SK_RIGHT_ARROW: t = term_kr; break; + case SK_LEFT_ARROW: t = term_kl; break; + case SK_UP_ARROW: t = term_ku; break; + case SK_DOWN_ARROW: t = term_kd; break; + case SK_PAGE_UP: t = term_kP; break; + case SK_PAGE_DOWN: t = term_kN; break; + case SK_HOME: t = term_kh; break; + case SK_END: t = term_ke; break; + case SK_DELETE: t = term_kx; break; + case SK_INSERT: t = term_ki; break; + case SK_LITERAL: + default: t = lit; break; + } + if (t == NULL) + return 0; + while (*t) + To_dst (ISMETA (*s) ? Meta (*t++) : *t++); + s += 2; + } + else + { + if (ISMETA (*s)) + To_dst (Meta (*s++)); + else + To_dst (*s++); + } + } + + To_dst ('\0'); + + return 1; + #undef To_dst } @@ -1110,115 +1114,126 @@ /* Convert an infokey file section to keymap bindings. Return false if the default bindings are to be suppressed. */ static int -section_to_keymaps(Keymap map, unsigned char *table, unsigned int len) +section_to_keymaps (Keymap map, unsigned char *table, unsigned int len) { - int stop; - unsigned char *p; - unsigned char *seq = NULL; - unsigned int seqlen = 0; - enum { getseq, gotseq, getaction } state = getseq; - - stop = len > 0 ? table[0] : 0; - - for (p = table + 1; (unsigned int) (p - table) < len; p++) - { - switch (state) - { - case getseq: - if (*p) - { - seq = p; - state = gotseq; - } - break; - - case gotseq: - if (!*p) - { - seqlen = p - seq; - state = getaction; - } - break; - - case getaction: - { - unsigned int action = *p; - unsigned char keyseq[256]; - KEYMAP_ENTRY ke; - - state = getseq; - /* If decode_keys returns zero, it - means that seq includes keys which - the terminal doesn't support, like - PageDown. In that case, don't bind - the key sequence. */ - if (decode_keys(seq, seqlen, keyseq, - sizeof keyseq)) - { - keyseq[sizeof keyseq - 1] = '\0'; - ke.type = ISFUNC; - ke.function = - action < A_NCOMMANDS - ? &function_doc_array[action] - : NULL; - keymap_bind_keyseq(map, - (const char *) keyseq, &ke); - } - } - break; - } - } - if (state != getseq) - info_error("%s", _("Bad data in infokey file -- some key bindings ignored")); - return !stop; + int stop; + unsigned char *p; + unsigned char *seq = NULL; + unsigned int seqlen = 0; + enum { getseq, gotseq, getaction } state = getseq; + + stop = len > 0 ? table[0] : 0; + + for (p = table + 1; (unsigned int) (p - table) < len; p++) + { + switch (state) + { + case getseq: + if (*p) + { + seq = p; + state = gotseq; + } + break; + + case gotseq: + if (!*p) + { + seqlen = p - seq; + state = getaction; + } + break; + + case getaction: + { + unsigned int action = *p; + unsigned char keyseq[256]; + KEYMAP_ENTRY ke; + + state = getseq; + /* If decode_keys returns zero, it means that seq includes keys + which the terminal doesn't support, like PageDown. In that + case, don't bind the key sequence. */ + if (decode_keys (seq, seqlen, keyseq, sizeof keyseq)) + { + keyseq[sizeof keyseq - 1] = '\0'; + ke.type = ISFUNC; + ke.function = action < A_NCOMMANDS ? + &function_doc_array[action] + : NULL; + keymap_bind_keyseq (map, (const char *) keyseq, &ke); + } + } + break; + } + } + if (state != getseq) + info_error ("%s", _("Bad data in infokey file -- some key bindings ignored")); + return !stop; } /* Convert an infokey file section to variable settings. */ static void -section_to_vars(unsigned char *table, unsigned int len) +section_to_vars (unsigned char *table, unsigned int len) { - enum { getvar, gotvar, getval, gotval } state = getvar; - unsigned char *var = NULL; - unsigned char *val = NULL; - unsigned char *p; - - for (p = table; (unsigned int) (p - table) < len; p++) - { - switch (state) - { - case getvar: - if (*p) - { - var = p; - state = gotvar; - } - break; - - case gotvar: - if (!*p) - state = getval; - break; - - case getval: - if (*p) - { - val = p; - state = gotval; - } - break; - - case gotval: - if (!*p) - { - set_variable_to_value((char *) var, (char *) val); - state = getvar; - } - break; - } - } - if (state != getvar) - info_error("%s", _("Bad data in infokey file -- some var settings ignored")); + enum { getvar, gotvar, getval, gotval } state = getvar; + unsigned char *var = NULL; + unsigned char *val = NULL; + unsigned char *p; + + for (p = table; (unsigned int) (p - table) < len; p++) + { + switch (state) + { + case getvar: + if (*p) + { + var = p; + state = gotvar; + } + break; + + case gotvar: + if (!*p) + state = getval; + break; + + case getval: + if (*p) + { + val = p; + state = gotval; + } + break; + + case gotval: + if (!*p) + { + if (set_variable_to_value ((char *) var, (char *) val)) + { + switch (errno) + { + case ENOENT: + info_error (_("%s: no such variable"), var); + break; + + case EINVAL: + info_error (_("value %s is not valid for variable %s"), + val, var); + break; + + default: + abort (); + } + } + state = getvar; + } + break; + } + } + if (state != getvar) + info_error ("%s", _("Bad data in infokey file -- some var settings ignored")); } void @@ -1237,10 +1252,10 @@ /* Bind the echo area insert routines. */ for (i = 0; i < 256; i++) if (isprint (i)) - echo_area_keymap[i].function = InfoCmd(ea_insert); + echo_area_keymap[i].function = InfoCmd (ea_insert); /* Get user-defined keys and variables. */ - if (fetch_user_maps()) + if (fetch_user_maps ()) { if (user_info_keys_len && user_info_keys[0]) suppress_info_default_bindings = 1; @@ -1253,32 +1268,32 @@ if (vi_keys_p) { if (!suppress_info_default_bindings) - section_to_keymaps(info_keymap, default_vi_like_info_keys, - sizeof(default_vi_like_info_keys)); + section_to_keymaps (info_keymap, default_vi_like_info_keys, + sizeof (default_vi_like_info_keys)); if (!suppress_ea_default_bindings) - section_to_keymaps(echo_area_keymap, default_vi_like_ea_keys, - sizeof(default_vi_like_ea_keys)); + section_to_keymaps (echo_area_keymap, default_vi_like_ea_keys, + sizeof (default_vi_like_ea_keys)); } else { if (!suppress_info_default_bindings) - section_to_keymaps(info_keymap, default_emacs_like_info_keys, - sizeof(default_emacs_like_info_keys)); + section_to_keymaps (info_keymap, default_emacs_like_info_keys, + sizeof (default_emacs_like_info_keys)); if (!suppress_ea_default_bindings) - section_to_keymaps(echo_area_keymap, default_emacs_like_ea_keys, - sizeof(default_emacs_like_ea_keys)); + section_to_keymaps (echo_area_keymap, default_emacs_like_ea_keys, + sizeof (default_emacs_like_ea_keys)); } /* If the user specified custom bindings, apply them on top of the default ones. */ if (user_info_keys_len) - section_to_keymaps(info_keymap, user_info_keys, user_info_keys_len); + section_to_keymaps (info_keymap, user_info_keys, user_info_keys_len); if (user_ea_keys_len) - section_to_keymaps(echo_area_keymap, user_ea_keys, user_ea_keys_len); + section_to_keymaps (echo_area_keymap, user_ea_keys, user_ea_keys_len); if (user_vars_len) - section_to_vars(user_vars, user_vars_len); + section_to_vars (user_vars, user_vars_len); } /* vim: set sw=2 cino={1s>2sn-s^-se-s: */ diff -Nru texinfo-5.1.dfsg.1/info/infomap.h texinfo-5.2.0.dfsg.1/info/infomap.h --- texinfo-5.1.dfsg.1/info/infomap.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/infomap.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* infomap.h -- description of a keymap in Info and related functions. - $Id: infomap.h 5191 2013-02-23 00:11:18Z karl $ + $Id: infomap.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 2001, 2004, 2007 Free Software Foundation, Inc. + Copyright 1993, 2001, 2004, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originaly written by Brian Fox. */ #ifndef INFOMAP_H #define INFOMAP_H diff -Nru texinfo-5.1.dfsg.1/info/infopath.c texinfo-5.2.0.dfsg.1/info/infopath.c --- texinfo-5.1.dfsg.1/info/infopath.c 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/infopath.c 2013-08-22 18:03:00.000000000 +0000 @@ -0,0 +1,336 @@ +/* infopath.c -- INFOPATH handling. + $Id: infopath.c 5339 2013-08-22 18:02:59Z karl $ + + Copyright 1993, 1997, 1998, 2000, 2002, 2003, 2004, 2007, 2008, 2009, 2011, + 2012, 2013 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "info.h" +#include "filesys.h" + +/* The path on which we look for info files. */ +static char *infopath_base = NULL; +/* Allocated size of infopath_base. */ +static int infopath_size = 0; +/* If 1, infopath_base has been modified and needs compaction */ +static int infopath_dirty = 0; + +/* Return a pointer to the next directory in STR (having length LEN). + *IDX points to the offset in STR where to start searching. Return + NULL if *IDX points at or after the trailing null character. Otherwise, + store the length of the returned directory segment into the memory + location pointed to by RETLEN. */ +static char * +nextdir (char *str, int len, int *idx, int *retlen) +{ + int i; + char *ret; + + if (!str || *idx >= len) + return NULL; + + if (*idx > 0) + ++*idx; + ret = str + *idx; + + for (i = *idx; str[i]; i++) + if (str[i] == PATH_SEP[0]) + break; + + *retlen = i - *idx; + *idx = i; + return ret; +} + +/* Compact the INFOPATH value by removing repeated directory entries */ +void +compact_infopath (void) +{ + int i, j, k, l; + int dl, pl; + char *dir, *p; + int chg = 0; + + l = strlen (infopath_base); + for (i = 0; (dir = nextdir (infopath_base, l, &i, &dl)); ) + { + for (j = k = i; (p = nextdir (infopath_base, l, &j, &pl)); k = j) + { + if (pl == dl && memcmp (dir, p, dl) == 0) + { + memmove (infopath_base + k, infopath_base + j, (l - j + 1)); + l -= pl + 1; + chg = 1; + } + } + } + if (chg) + debug(2, ("INFOPATH compacted: %s", infopath_base)); + infopath_dirty = 0; +} + +void +infopath_init () +{ + /* Initialize INFOPATH. + The hardwired default settings (filesy.h) are the lowest priority. + Then comes the user's INFODIR from the Makefile. + Highest priority is the environment variable, if set. */ + char *path_from_env = getenv ("INFOPATH"); + + if (path_from_env) + { + unsigned len = strlen (path_from_env); + /* Trailing : on INFOPATH means insert the default path. */ + if (len && path_from_env[len - 1] == PATH_SEP[0]) + { + path_from_env[len - 1] = 0; + infopath_add (DEFAULT_INFOPATH, INFOPATH_PREPEND); + } +#ifdef INFODIR /* from the Makefile */ + infopath_add (INFODIR, INFOPATH_PREPEND); +#endif + infopath_add (path_from_env, INFOPATH_PREPEND); + } + else + { + infopath_add (DEFAULT_INFOPATH, INFOPATH_PREPEND); +#ifdef INFODIR /* from the Makefile */ + infopath_add (INFODIR, INFOPATH_PREPEND); +#endif +#ifdef INFODIR2 /* from the Makefile, too */ +# ifdef INFODIR + if (!STREQ (INFODIR, INFODIR2)) +# endif + infopath_add (INFODIR2, INFOPATH_PREPEND); +#endif + } +} + +char * +infopath () +{ + if (!infopath_base) + infopath_add (DEFAULT_INFOPATH, INFOPATH_INIT); + if (infopath_dirty) + compact_infopath (); + return infopath_base; +} + +/* Make INFOPATH have absolutely nothing in it. */ +void +infopath_clear (void) +{ + if (infopath_base) + { + infopath_base[0] = 0; + infopath_dirty = 0; + } + debug(2, ("INFOPATH cleared")); +} + +/* For each path element PREFIX/DIR in PATH substitute either + PREFIX/share/info or PREFIX/info if that directory exists. + Avoid duplicates from, e.g., PREFIX/bin and PREFIX/sbin. */ +static char * +build_infopath_from_path (void) +{ + typedef struct path_el + { + struct path_el *next; + char *path; + unsigned int len; + } PATH_EL, *PATH_PTR; + + PATH_EL path_head = { NULL, NULL, 1 }; + PATH_PTR path_prev, path_next; + char *res, *path_from_env, *temp_dirname; + int dirname_index = 0; + struct stat finfo; + + path_from_env = getenv ("PATH"); + + while ((temp_dirname = extract_colon_unit (path_from_env, &dirname_index))) + { + unsigned int i, dir = 0; + + /* Find end of DIRNAME/ (but ignore "/") */ + for (i = 0; temp_dirname[i]; i++) + if (i && IS_SLASH (temp_dirname[i])) + dir = i + 1; + + /* Discard path elements ending with "/", "/.", or "/.." */ + if (!temp_dirname[dir] || STREQ (temp_dirname + dir, ".") || STREQ (temp_dirname + dir, ".")) + dir = 0; + + path_prev = &path_head; + while (dir && (path_next = path_prev->next)) + { + /* Ignore duplicate DIRNAME */ + if (dir == path_next->len && strncmp (temp_dirname, path_next->path, dir) == 0) + dir = 0; + + path_prev = path_next; + } + + if (dir) + { + temp_dirname = xrealloc (temp_dirname, dir + strlen ("share/info") +1); + + /* first try DIRNAME/share/info */ + strcpy (temp_dirname + dir, "share/info"); + if (stat (temp_dirname, &finfo) != 0 || !S_ISDIR (finfo.st_mode)) + { + /* then try DIRNAME/info */ + strcpy (temp_dirname + dir, "info"); + if (stat (temp_dirname, &finfo) != 0 || !S_ISDIR (finfo.st_mode)) + dir = 0; + } + } + + if (dir) + { + path_next = xmalloc (sizeof (PATH_EL)); + path_next->next = NULL; + path_next->path = temp_dirname; + path_next->len = dir; + path_prev->next = path_next; + path_head.len += strlen (temp_dirname) + 1; + } + else + free (temp_dirname); + } + + /* Build the resulting sequence of paths */ + res = xmalloc (path_head.len); + res[0] = '\0'; + + for (path_prev = path_head.next; path_prev; path_prev = path_next) + { + strcat (res, path_prev->path); + if ((path_next = path_prev->next)) + strcat (res, PATH_SEP); + + free (path_prev->path); + free (path_prev); + } + + return res; +} + +/* Add PATH to the list of paths found in INFOPATH. 2nd argument says + whether to put PATH at the front or end of INFOPATH. + Replace one path element "PATH" in PATH by a sequence of + path elements derived from the environment variable PATH. */ +void +infopath_add (char *path, int where) +{ + int len; + int found = 0; + unsigned int i, j; + + /* Search for "PATH" in PATH */ + for (i = 0; path[i]; i++) + { + j = i + strlen ("PATH"); + if (strncmp (path + i, "PATH", strlen ("PATH")) == 0 && + (!path[j] || path[j] == PATH_SEP[0])) + { + found = 1; + break; + } + else + { + /* Advance to next PATH_SEP. */ + while (path[i] && path[i] != PATH_SEP[0]) + i++; + + if (!path[i]) + break; + } + } + + if (found) + { + /* Build infopath from the environment variable PATH */ + char *temp = build_infopath_from_path (); + + if (i || path[j]) + { + char *old_path = path; + + /* Splice it into OLD_PATH */ + path = xmalloc (1 + strlen (temp) + + strlen (old_path) - strlen ("PATH")); + if (i) + strncpy (path, old_path, i); + strcpy (path + i, temp); + if (old_path[j]) + strcat (path, old_path + j); + + free (temp); + } + else + path = temp; + } + + if (where == INFOPATH_INIT) + infopath_clear (); + + if (!infopath_base) + { + infopath_base = xmalloc (infopath_size = 200 + strlen (path)); + infopath_base[0] = '\0'; + } + + len = strlen (path) + strlen (infopath_base); + + if (len + 2 >= infopath_size) + infopath_base = xrealloc (infopath_base, (infopath_size += (2 * len) + 2)); + + if (!*infopath_base || !infopath_base[0]) + strcpy (infopath_base, path); + else if (where == INFOPATH_APPEND) + { + strcat (infopath_base, PATH_SEP); + strcat (infopath_base, path); + } + else if (where == INFOPATH_PREPEND) + { + char *temp = xstrdup (infopath_base); + strcpy (infopath_base, path); + strcat (infopath_base, PATH_SEP); + strcat (infopath_base, temp); + free (temp); + } + infopath_dirty = 1; + debug(2, ("INFOPATH=%s", infopath_base)); + if (found) + free (path); +} + +char * +infopath_next (int *idx) +{ + return extract_colon_unit (infopath_base, idx); +} + +char * +infopath_first (int *idx) +{ + *idx = 0; + return infopath_next (idx); +} diff -Nru texinfo-5.1.dfsg.1/info/key.h texinfo-5.2.0.dfsg.1/info/key.h --- texinfo-5.1.dfsg.1/info/key.h 2013-02-19 22:25:30.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/key.h 2013-08-22 17:58:30.000000000 +0000 @@ -1,9 +1,7 @@ -/* key.h -- Structure associating function names with numeric codes. */ +/* key.h -- Structure associating function names with numeric codes. + $Id: key.h 5338 2013-08-22 17:58:30Z karl $ -/* This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 2007 Free Software Foundation, Inc. + Copyright 1993, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Andrew Bettison */ + Originally written by Andrew Bettison. */ #if !defined (KEY_H) #define KEY_H diff -Nru texinfo-5.1.dfsg.1/info/m-x.c texinfo-5.2.0.dfsg.1/info/m-x.c --- texinfo-5.1.dfsg.1/info/m-x.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/m-x.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* m-x.c -- Meta-x minibuffer reader. - $Id: m-x.c 5191 2013-02-23 00:11:18Z karl $ + $Id: m-x.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 2001, 2002, 2004, 2007, 2008, 2011 - Free Software Foundation, Inc. + Copyright 1993, 1997, 1998, 2001, 2002, 2004, 2007, 2008, 2011, + 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "funs.h" @@ -37,7 +37,7 @@ register int i; char *line; REFERENCE **array = NULL; - int array_index = 0, array_slots = 0; + size_t array_index = 0, array_slots = 0; /* Make an array of REFERENCE which actually contains the names of the functions available in Info. */ @@ -50,8 +50,7 @@ entry->nodename = NULL; entry->filename = NULL; - add_pointer_to_array - (entry, array_index, array, array_slots, 200, REFERENCE *); + add_pointer_to_array (entry, array_index, array, array_slots, 200); } line = info_read_completing_in_echo_area (window, prompt, array); diff -Nru texinfo-5.1.dfsg.1/info/makedoc.c texinfo-5.2.0.dfsg.1/info/makedoc.c --- texinfo-5.1.dfsg.1/info/makedoc.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/makedoc.c 2013-08-22 17:58:30.000000000 +0000 @@ -1,8 +1,8 @@ /* makedoc.c -- make doc.c and funs.h from input files. - $Id: makedoc.c 5191 2013-02-23 00:11:18Z karl $ + $Id: makedoc.c 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007, - 2008, 2012 Free Software Foundation, Inc. + Copyright 1993, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2007, + 2008, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ /* This program grovels the contents of the source files passed as arguments and writes out a file of function pointers and documentation strings, and @@ -42,7 +42,8 @@ "/* doc.c -- Generated structure containing function names and doc strings.", "", " This file was automatically made from various source files with the", - " command `%s'. DO NOT EDIT THIS FILE, only `%s.c'.", + " command `%s'.", + " DO NOT EDIT THIS FILE, only `%s.c'.", NULL }; @@ -96,13 +97,13 @@ char *filename; /* Name of the file containing entries. */ long entrylen; /* Total number of characters in tag block. */ EMACS_TAG **entries; /* Entries found in FILENAME. */ - int entries_index; - int entries_slots; + size_t entries_index; + size_t entries_slots; } EMACS_TAG_BLOCK; EMACS_TAG_BLOCK **emacs_tags = NULL; -int emacs_tags_index = 0; -int emacs_tags_slots = 0; +size_t emacs_tags_index = 0; +size_t emacs_tags_slots = 0; #define DECLARATION_STRING "\nDECLARE_INFO_COMMAND" @@ -243,7 +244,7 @@ static void maybe_dump_tags (FILE *stream) { - register int i; + size_t i; /* Emacs needs its TAGS file to be in Unix text format (i.e., only newline at end of every line, no CR), so when we generate a @@ -254,7 +255,7 @@ /* Print out the information for each block. */ for (i = 0; i < emacs_tags_index; i++) { - register int j; + size_t j; register EMACS_TAG_BLOCK *block; register EMACS_TAG *etag; long block_len; @@ -313,7 +314,7 @@ tag->line = line; tag->char_offset = char_offset; add_pointer_to_array (tag, block->entries_index, block->entries, - block->entries_slots, 50, EMACS_TAG *); + block->entries_slots, 50); } /* Read the file represented by FILENAME into core, and search it for Info @@ -542,7 +543,7 @@ free the memory already allocated to it. */ if (block->entries) add_pointer_to_array (block, emacs_tags_index, emacs_tags, - emacs_tags_slots, 10, EMACS_TAG_BLOCK *); + emacs_tags_slots, 10); else { free (block->filename); diff -Nru texinfo-5.1.dfsg.1/info/man.c texinfo-5.2.0.dfsg.1/info/man.c --- texinfo-5.1.dfsg.1/info/man.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/man.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ -/* man.c: How to read and format man files. - $Id: man.c 5191 2013-02-23 00:11:18Z karl $ +/* man.c: How to read and format man files. + $Id: man.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, - 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc. + Copyright 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005, + 2007, 2008, 2009, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -541,8 +541,8 @@ { SEARCH_BINDING *reference_section; REFERENCE **refs = NULL; - int refs_index = 0; - int refs_slots = 0; + size_t refs_index = 0; + size_t refs_slots = 0; long position; reference_section = find_reference_section (node); @@ -594,8 +594,7 @@ entry->start = start; entry->end = end; - add_pointer_to_array - (entry, refs_index, refs, refs_slots, 10, REFERENCE *); + add_pointer_to_array (entry, refs_index, refs, refs_slots, 10); } reference_section->start = position + 1; @@ -654,12 +653,12 @@ REFERENCE ** manpage_xrefs_in_binding (NODE *node, SEARCH_BINDING *binding) { - register int i; + size_t i; REFERENCE **all_refs = xrefs_of_manpage (node); REFERENCE **brefs = NULL; REFERENCE *entry; - int brefs_index = 0; - int brefs_slots = 0; + size_t brefs_index = 0; + size_t brefs_slots = 0; int start, end; if (!all_refs) @@ -671,17 +670,9 @@ for (i = 0; (entry = all_refs[i]); i++) { if ((entry->start > start) && (entry->end < end)) - { - add_pointer_to_array - (entry, brefs_index, brefs, brefs_slots, 10, REFERENCE *); - } + add_pointer_to_array (entry, brefs_index, brefs, brefs_slots, 10); else - { - maybe_free (entry->label); - maybe_free (entry->filename); - maybe_free (entry->nodename); - free (entry); - } + info_reference_free (entry); } free (all_refs); diff -Nru texinfo-5.1.dfsg.1/info/man.h texinfo-5.2.0.dfsg.1/info/man.h --- texinfo-5.1.dfsg.1/info/man.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/man.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,7 @@ /* man.h: Defines and external function declarations for man.c. - $Id: man.h 5191 2013-02-23 00:11:18Z karl $ + $Id: man.h 5337 2013-08-22 17:54:06Z karl $ - This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 1997, 2004, 2007 Free Software Foundation, Inc. + Copyright 1993, 1997, 2004, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Author: Brian J. Fox (bfox@ai.mit.edu) Sat May 6 16:19:13 1995. */ + Originally written by Brian Fox. */ #ifndef INFO_MAN_H #define INFO_MAN_H diff -Nru texinfo-5.1.dfsg.1/info/nodemenu.c texinfo-5.2.0.dfsg.1/info/nodemenu.c --- texinfo-5.1.dfsg.1/info/nodemenu.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/nodemenu.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* nodemenu.c -- produce a menu of all visited nodes. - $Id: nodemenu.c 5191 2013-02-23 00:11:18Z karl $ + $Id: nodemenu.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 2002, 2003, 2004, 2007, 2008, 2011 - Free Software Foundation, Inc. + Copyright 1993, 1997, 1998, 2002, 2003, 2004, 2007, 2008, 2011, + 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,11 +17,11 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" -NODE * get_visited_nodes (Function *filter_func); +NODE *get_visited_nodes (Function *filter_func); /* Return a line describing the format of a node information line. */ static const char * @@ -132,7 +132,7 @@ INFO_WINDOW *info_win; NODE *node; char **lines = NULL; - int lines_index = 0, lines_slots = 0; + size_t lines_index = 0, lines_slots = 0; if (!info_windows) return NULL; @@ -153,8 +153,7 @@ char *line; line = format_node_info (node); - add_pointer_to_array - (line, lines_index, lines, lines_slots, 20, char *); + add_pointer_to_array (line, lines_index, lines, lines_slots, 20); } } } diff -Nru texinfo-5.1.dfsg.1/info/nodes.c texinfo-5.2.0.dfsg.1/info/nodes.c --- texinfo-5.1.dfsg.1/info/nodes.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/nodes.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* nodes.c -- how to get an Info file and node. - $Id: nodes.c 5191 2013-02-23 00:11:18Z karl $ + $Id: nodes.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1998, 1999, 2000, 2002, 2003, 2004, 2006, 2007, - 2008, 2009, 2011, 2012 Free Software Foundation, Inc. + Copyright 1993, 1998, 1999, 2000, 2002, 2003, 2004, 2006, 2007, + 2008, 2009, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" @@ -25,12 +25,12 @@ #include "search.h" #include "filesys.h" #include "info-utils.h" +#include "tag.h" #if defined (HANDLE_MAN_PAGES) # include "man.h" #endif /* HANDLE_MAN_PAGES */ -static void forget_info_file (char *filename); static void remember_info_file (FILE_BUFFER *file_buffer); static void free_file_buffer_tags (FILE_BUFFER *file_buffer); static void free_info_tag (TAG *tag); @@ -66,7 +66,7 @@ FILE_BUFFER **info_loaded_files = NULL; /* The number of slots currently allocated to LOADED_FILES. */ -int info_loaded_files_slots = 0; +size_t info_loaded_files_slots = 0; /* Public functions for node manipulation. */ @@ -517,7 +517,7 @@ get_nodes_of_info_file (FILE_BUFFER *file_buffer) { long nodestart; - int tags_index = 0; + size_t tags_index = 0; SEARCH_BINDING binding; binding.buffer = file_buffer->contents; @@ -563,6 +563,7 @@ /* Okay, we have isolated the node name, and we know where the node starts. Remember this information. */ entry = xmalloc (sizeof (TAG)); + entry->content_cache = NULL; entry->nodename = xmalloc (1 + (end - start)); strncpy (entry->nodename, nodeline + start, end - start); entry->nodename[end - start] = 0; @@ -584,7 +585,7 @@ /* Add this tag to the array of tag structures in this FILE_BUFFER. */ add_pointer_to_array (entry, tags_index, file_buffer->tags, - file_buffer->tags_slots, 100, TAG *); + file_buffer->tags_slots, 100); } } @@ -613,7 +614,7 @@ int name_offset; SEARCH_BINDING *tmp_search; long position; - int tags_index = 0; + size_t tags_index = 0; tmp_search = copy_binding (buffer_binding); @@ -667,6 +668,7 @@ break; entry = xmalloc (sizeof (TAG)); + entry->content_cache = NULL; /* Find the beginning of the node definition. */ tmp_search->start += name_offset; @@ -696,7 +698,7 @@ /* Add this node structure to the array of node structures in this FILE_BUFFER. */ add_pointer_to_array (entry, tags_index, file_buffer->tags, - file_buffer->tags_slots, 100, TAG *); + file_buffer->tags_slots, 100); } free (tmp_search); } @@ -717,7 +719,7 @@ { int i; SUBFILE **subfiles = NULL; - int subfiles_index = 0, subfiles_slots = 0; + size_t subfiles_index = 0, subfiles_slots = 0; TAG *entry; /* First get the list of tags from the tags table. Then lookup the @@ -749,8 +751,8 @@ subfile->filename[colon - 1] = 0; subfile->first_byte = (long) atol (line + colon); - add_pointer_to_array - (subfile, subfiles_index, subfiles, subfiles_slots, 10, SUBFILE *); + add_pointer_to_array (subfile, subfiles_index, subfiles, + subfiles_slots, 10); while (*line++ != '\n'); } @@ -952,9 +954,8 @@ int i; /* If no tags at all (possibly a misformatted info file), quit. */ - if (!file_buffer->tags) { + if (!file_buffer->tags) return NULL; - } for (i = 0; (tag = file_buffer->tags[i]); i++) if (strcmp (nodename, tag->nodename) == 0) @@ -981,7 +982,12 @@ node->filename = subfile->fullpath; node->parent = NULL; node->nodename = tag->nodename; - node->contents = subfile->contents + tag->nodestart; + + if (tag->content_cache) + node->contents = tag->content_cache; + else + node->contents = subfile->contents + tag->nodestart; + node->display_pos = 0; node->flags = 0; node_set_body_start (node); @@ -1049,6 +1055,12 @@ node_body.end = buff_end - node_body.buffer; node_body.flags = 0; tag->nodelen = get_node_length (&node_body); + /* Expand eventual \b[...\b] constructs in the contents. + If found, update node->contents to point to the resulting + buffer. */ + if (tags_expand (node->contents, tag->nodelen, + &tag->content_cache, &tag->nodelen)) + node->contents = tag->content_cache; node->nodelen = tag->nodelen; } else if (tag->nodelen == 0) /* anchor, return containing node */ @@ -1101,11 +1113,11 @@ ; add_pointer_to_array (file_buffer, i, info_loaded_files, - info_loaded_files_slots, 10, FILE_BUFFER *); + info_loaded_files_slots, 10); } /* Forget the contents, tags table, nodes list, and names of FILENAME. */ -static void +void forget_info_file (char *filename) { int i; @@ -1173,7 +1185,8 @@ free_info_tag (TAG *tag) { free (tag->nodename); - + free (tag->content_cache); + /* We don't free tag->filename, because that filename is part of the subfiles list for the containing FILE_BUFFER. free_info_tags () will free the subfiles when it is appropriate. */ diff -Nru texinfo-5.1.dfsg.1/info/nodes.h texinfo-5.2.0.dfsg.1/info/nodes.h --- texinfo-5.1.dfsg.1/info/nodes.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/nodes.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* nodes.h -- How we represent nodes internally. - $Id: nodes.h 5191 2013-02-23 00:11:18Z karl $ + $Id: nodes.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 2002, 2004, 2007, 2011, 2012 + Copyright 1993, 1997, 1998, 2002, 2004, 2007, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef NODES_H #define NODES_H @@ -89,7 +89,10 @@ char *filename; /* The file where this node can be found. */ char *nodename; /* The node pointed to by this tag. */ long nodestart; /* The offset of the start of this node. */ - long nodelen; /* The length of this node. */ + size_t nodelen; /* The length of this node. */ + char *content_cache; /* Cache of the node contents; used if the + node contents must be preprocessed before + displaying it. */ } TAG; /* The following structure is used to remember information about the contents @@ -107,7 +110,7 @@ size_t filesize; /* The number of bytes this file expands to. */ char **subfiles; /* If non-null, the list of subfiles. */ TAG **tags; /* If non-null, the indirect tags table. */ - int tags_slots; /* Number of slots allocated for TAGS. */ + size_t tags_slots; /* Number of slots allocated for TAGS. */ int flags; /* Various flags. Mimics of N_* flags. */ } FILE_BUFFER; @@ -117,7 +120,7 @@ extern FILE_BUFFER **info_loaded_files; /* The number of slots currently allocated to INFO_LOADED_FILES. */ -extern int info_loaded_files_slots; +extern size_t info_loaded_files_slots; /* Locate the file named by FILENAME, and return the information structure describing this file. The file may appear in our list of loaded files @@ -158,4 +161,6 @@ /* Create a new, empty file buffer. */ extern FILE_BUFFER *make_file_buffer (void); +void forget_info_file (char *filename); + #endif /* not NODES_H */ diff -Nru texinfo-5.1.dfsg.1/info/pcterm.c texinfo-5.2.0.dfsg.1/info/pcterm.c --- texinfo-5.1.dfsg.1/info/pcterm.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/pcterm.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* pcterm.c -- How to handle the PC terminal for Info under MS-DOS/MS-Windows. - $Id: pcterm.c 5191 2013-02-23 00:11:18Z karl $ + $Id: pcterm.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1998, 1999, 2003, 2004, 2007, 2008, 2012 + Copyright 1998, 1999, 2003, 2004, 2007, 2008, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify diff -Nru texinfo-5.1.dfsg.1/info/search.c texinfo-5.2.0.dfsg.1/info/search.c --- texinfo-5.1.dfsg.1/info/search.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/search.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* search.c -- searching large bodies of text. - $Id: search.c 5191 2013-02-23 00:11:18Z karl $ + $Id: search.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 2002, 2004, 2007, 2008, 2009, 2011 + Copyright 1993, 1997, 1998, 2002, 2004, 2007, 2008, 2009, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include diff -Nru texinfo-5.1.dfsg.1/info/search.h texinfo-5.2.0.dfsg.1/info/search.h --- texinfo-5.1.dfsg.1/info/search.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/search.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* search.h -- Structure used to search large bodies of text, with bounds. - $Id: search.h 5191 2013-02-23 00:11:18Z karl $ + $Id: search.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 1998, 2002, 2004, 2007, 2009, 2011 + Copyright 1993, 1997, 1998, 2002, 2004, 2007, 2009, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ /* The search functions take two arguments: diff -Nru texinfo-5.1.dfsg.1/info/session.c texinfo-5.2.0.dfsg.1/info/session.c --- texinfo-5.1.dfsg.1/info/session.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/session.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* session.c -- user windowing interface to Info. - $Id: session.c 5191 2013-02-23 00:11:18Z karl $ + $Id: session.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, - 2004, 2007, 2008, 2009, 2011, 2012 Free Software Foundation, Inc. + Copyright 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004, 2007, 2008, 2009, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "search.h" @@ -64,10 +64,10 @@ INFO_WINDOW **info_windows = NULL; /* Where to add the next window, if we need to add one. */ -static int info_windows_index = 0; +static size_t info_windows_index = 0; /* Number of slots allocated to `info_windows'. */ -static int info_windows_slots = 0; +static size_t info_windows_slots = 0; /* Whether to use regexps or not for search. */ static int use_regex = 1; @@ -188,10 +188,8 @@ info_read_and_dispatch (void) { unsigned char key; - int done; - done = 0; - while (!done && !quit_info_immediately) + for (quit_info_immediately = 0; !quit_info_immediately; ) { int lk = 0; @@ -239,14 +237,9 @@ info_aborted_echo_area) { ea_last_executed_command = NULL; - done = 1; + break; } - - if (info_last_executed_command == (VFunction *) info_quit) - quit_info_immediately = 1; } - else if (info_last_executed_command == (VFunction *) info_quit) - done = 1; } } @@ -373,7 +366,7 @@ info_win->nodes_slots = 0; add_pointer_to_array (info_win, info_windows_index, info_windows, - info_windows_slots, 10, INFO_WINDOW *); + info_windows_slots, 10); } /* If this node, the current pagetop, and the current point are the @@ -416,7 +409,7 @@ static void consistency_check_info_windows (void) { - register int i; + size_t i; for (i = 0; i < info_windows_index; i++) { @@ -436,7 +429,7 @@ void forget_window_and_nodes (WINDOW *window) { - register int i; + size_t i; INFO_WINDOW *info_win = NULL; for (i = 0; info_windows && (info_win = info_windows[i]); i++) @@ -465,8 +458,8 @@ free (info_win->nodes[i]); free (info_win->nodes); - maybe_free (info_win->pagetops); - maybe_free (info_win->points); + free (info_win->pagetops); + free (info_win->points); } free (info_win); @@ -1115,6 +1108,8 @@ /* Controls whether scroll-behavior affects line movement commands */ int cursor_movement_scrolls_p = 1; +int search_skip_screen_p = 0; + /* Choices for the scroll-last-node variable */ char *scroll_last_node_choices[] = { "Stop", "Scroll", "Top", NULL @@ -1783,12 +1778,14 @@ DECLARE_INFO_COMMAND (info_split_window, _("Split the current window")) { WINDOW *split, *old_active; +#if defined (SPLIT_BEFORE_ACTIVE) int pagetop; /* Remember the current pagetop of the window being split. If it doesn't change, we can scroll its contents around after the split. */ pagetop = window->pagetop; - +#endif + /* Make the new window. */ old_active = active_window; active_window = window; @@ -2074,7 +2071,7 @@ node = info_get_node (entry->label, "Top", PARSE_NODE_DFLT); if (!node && info_recent_file_error) { - maybe_free (file_system_error); + free (file_system_error); file_system_error = xstrdup (info_recent_file_error); } } @@ -2088,9 +2085,9 @@ info_error (msg_cant_find_node, nodename); } - maybe_free (file_system_error); - maybe_free (filename); - maybe_free (nodename); + free (file_system_error); + free (filename); + free (nodename); if (node) info_set_node_of_window (1, window, node); @@ -2113,6 +2110,22 @@ info_select_reference (window, &entry); } +static int +info_win_find_node (INFO_WINDOW *win, NODE *node) +{ + int i; + + for (i = win->nodes_index - 1; i >= 0; i--) + { + NODE *p = win->nodes[i]; + + if (strcmp (p->filename, node->filename) == 0 && + strcmp (p->nodename, node->nodename) == 0) + break; + } + return i; +} + /* Given that the values of INFO_PARSED_FILENAME and INFO_PARSED_NODENAME are previously filled, try to get the node represented by them into WINDOW. The node should have been pointed to by the LABEL pointer of @@ -2151,7 +2164,13 @@ info_win = get_info_window_of_window (window); if (info_win) { - info_win->pagetops[info_win->current] = window->pagetop; + if (strcmp (label, "Up") == 0) + { + int i = info_win_find_node (info_win, node); + if (i >= 0) + node->display_pos = info_win->points[i]; + } + info_win->pagetops[info_win->current] = window->pagetop; info_win->points[info_win->current] = window->point; } info_set_node_of_window (1, window, node); @@ -2528,7 +2547,7 @@ /* User aborts, just quit. */ if (!line) { - maybe_free (defentry); + free (defentry); info_free_references (menu); info_abort_key (window, 0, 0); return; @@ -2627,13 +2646,7 @@ } free (line); - if (defentry) - { - free (defentry->label); - maybe_free (defentry->filename); - maybe_free (defentry->nodename); - free (defentry); - } + info_reference_free (defentry); } info_free_references (menu); @@ -2719,8 +2732,8 @@ register int fbi, i; FILE_BUFFER *current; REFERENCE **items = NULL; - int items_index = 0; - int items_slots = 0; + size_t items_index = 0; + size_t items_slots = 0; current = file_buffer_of_window (window); @@ -2738,8 +2751,7 @@ entry->label = xmalloc (4 + strlen (fb->filename)); sprintf (entry->label, "(%s)*", fb->filename); - add_pointer_to_array - (entry, items_index, items, items_slots, 10, REFERENCE *); + add_pointer_to_array (entry, items_index, items, items_slots, 10); if (fb->tags) { @@ -2758,8 +2770,8 @@ fb->filename, fb->tags[i]->nodename); } - add_pointer_to_array - (entry, items_index, items, items_slots, 100, REFERENCE *); + add_pointer_to_array (entry, items_index, items, + items_slots, 100); } } } @@ -2796,7 +2808,8 @@ will be NULL. */ NODE * -info_follow_menus (NODE *initial_node, char **menus, NODE **err_node) +info_follow_menus (NODE *initial_node, char **menus, NODE **err_node, + int strict) { NODE *node = NULL; @@ -2809,6 +2822,8 @@ REFERENCE *entry; char *arg = *menus; /* Remember the name of the menu entry we want. */ + debug (3, ("looking for %s in %s:%s", arg, initial_node->filename, + initial_node->nodename)); /* A leading space is certainly NOT part of a node name. Most probably, they typed a space after the separating comma. The strings in menus[] have their whitespace canonicalized, so @@ -2826,16 +2841,20 @@ realize it. */ if (!menu) { - if (arg == first_arg) + debug (3, ("no menu found")); + if (arg == first_arg && !strict) { node = make_manpage_node (first_arg); if (node) - goto maybe_got_node; + { + debug (3, ("falling back to manpage node")); + goto maybe_got_node; + } } if (err_node) *err_node = format_message_node (_("No menu in node `%s'."), node_printed_rep (initial_node)); - return initial_node; + return strict ? NULL : initial_node; } /* Find the specified menu item. */ @@ -2848,12 +2867,12 @@ int i; int best_guess = -1; + debug (3, ("no entry found: guessing")); for (i = 0; (entry = menu[i]); i++) { if (mbscasecmp (entry->label, arg) == 0) break; - else - if ((best_guess == -1) + else if (!strict && (best_guess == -1) && (mbsncasecmp (entry->label, arg, strlen (arg)) == 0)) best_guess = i; } @@ -2872,6 +2891,8 @@ node = info_get_node (first_arg, NULL, PARSE_NODE_DFLT); if (node) add_file_directory_to_path (first_arg); + else if (strict) + return NULL; else node = make_manpage_node (first_arg); if (node) @@ -2883,7 +2904,7 @@ *err_node = format_message_node (_("No menu item `%s' in node `%s'."), arg, node_printed_rep (initial_node)); - return initial_node; + return strict ? NULL : initial_node; } /* We have found the reference that the user specified. If no @@ -2892,10 +2913,12 @@ entry->filename = xstrdup (initial_node->parent ? initial_node->parent : initial_node->filename); + debug (3, ("entry: %s, %s", entry->filename, entry->nodename)); + /* Try to find this node. */ node = info_get_node (entry->filename, entry->nodename, PARSE_NODE_VERBATIM); - if (!node && arg == first_arg) + if (!strict && !node && arg == first_arg) { node = make_manpage_node (first_arg); if (node) @@ -2911,15 +2934,18 @@ maybe_got_node: if (!node) { + debug (3, ("no matching node found")); if (err_node) *err_node = format_message_node ( _("Unable to find node referenced by `%s' in `%s'."), entry->label, node_printed_rep (initial_node)); info_free_references (menu); - return initial_node; + return strict ? NULL : initial_node; } + debug (3, ("node: %s, %s", node->filename, node->nodename)); + info_free_references (menu); /* Success. Go round the loop again. */ @@ -2999,7 +3025,7 @@ if (!dir_node) info_error (msg_cant_find_node, "Top"); else - node = info_follow_menus (dir_node, nodes, &err_node); + node = info_follow_menus (dir_node, nodes, &err_node, 0); free (nodes); if (err_node) @@ -3253,7 +3279,7 @@ char *nodename; INFO_WINDOW *info_win; REFERENCE **menu = NULL; - int menu_index = 0, menu_slots = 0; + size_t menu_index = 0, menu_slots = 0; char *default_nodename = xstrdup (active_window->node->nodename); char *prompt = xmalloc (strlen (_("Kill node (%s): ")) + strlen (default_nodename)); @@ -3265,8 +3291,7 @@ entry->label = xstrdup (info_win->window->node->nodename); entry->filename = entry->nodename = NULL; - add_pointer_to_array (entry, menu_index, menu, menu_slots, 10, - REFERENCE *); + add_pointer_to_array (entry, menu_index, menu, menu_slots, 10); } nodename = info_read_completing_in_echo_area (window, prompt, menu); @@ -3458,28 +3483,36 @@ /* */ /* **************************************************************** */ -#define VERBOSE_NODE_DUMPING -static void write_node_to_stream (NODE *node, FILE *stream); -static void dump_node_to_stream (char *filename, char *nodename, - FILE *stream, int dump_subnodes); +enum + { + DUMP_SUCCESS, + DUMP_INFO_ERROR, + DUMP_SYS_ERROR + }; + +static int write_node_to_stream (NODE *node, FILE *stream); +static int dump_node_to_stream (char *filename, char *nodename, + FILE *stream, int dump_subnodes); static void initialize_dumping (void); /* Dump the nodes specified by FILENAME and NODENAMES to the file named - in OUTPUT_FILENAME. If DUMP_SUBNODES is non-zero, recursively dump + in OUTPUT_FILENAME. If DUMP_SUBNODES is set, recursively dump the nodes which appear in the menu of each node dumped. */ void dump_nodes_to_file (char *filename, char **nodenames, - char *output_filename, int dump_subnodes) + char *output_filename, int flags) { - register int i; + int i; FILE *output_stream; + + debug (1, (_("writing file %s"), filename)); /* Get the stream to print the nodes to. Special case of an output filename of "-" means to dump the nodes to stdout. */ if (strcmp (output_filename, "-") == 0) output_stream = stdout; else - output_stream = fopen (output_filename, "w"); + output_stream = fopen (output_filename, flags & DUMP_APPEND ? "a" : "w"); if (!output_stream) { @@ -3487,36 +3520,43 @@ return; } - /* Print each node to stream. */ initialize_dumping (); - for (i = 0; nodenames[i]; i++) - dump_node_to_stream (filename, nodenames[i], output_stream, dump_subnodes); + /* Print each node to stream. */ + if (flags & DUMP_APPEND) + fputc ('\f', output_stream); + for (i = 0; nodenames[i]; i++) + { + if (dump_node_to_stream (filename, nodenames[i], output_stream, + flags & DUMP_SUBNODES) == DUMP_SYS_ERROR) + { + info_error (_("error writing to %s: %s"), filename, strerror (errno)); + exit (EXIT_FAILURE); + } + } + if (output_stream != stdout) fclose (output_stream); -#if defined (VERBOSE_NODE_DUMPING) - info_error ("%s", _("Done.")); -#endif /* VERBOSE_NODE_DUMPING */ + debug (1, (_("closing %s"), filename)); } /* A place to remember already dumped nodes. */ -static char **dumped_already = NULL; -static int dumped_already_index = 0; -static int dumped_already_slots = 0; +static struct info_namelist_entry *dumped_already; static void initialize_dumping (void) { - dumped_already_index = 0; + info_namelist_free (dumped_already); + dumped_already = NULL; } /* Get and print the node specified by FILENAME and NODENAME to STREAM. If DUMP_SUBNODES is non-zero, recursively dump the nodes which appear in the menu of each node dumped. */ -static void +static int dump_node_to_stream (char *filename, char *nodename, - FILE *stream, int dump_subnodes) + FILE *stream, int dump_subnodes) { register int i; NODE *node; @@ -3536,25 +3576,21 @@ else info_error (msg_cant_find_node, nodename); } - return; + return DUMP_INFO_ERROR; } /* If we have already dumped this node, don't dump it again. */ - for (i = 0; i < dumped_already_index; i++) - if (strcmp (node->nodename, dumped_already[i]) == 0) - { - free (node); - return; - } - add_pointer_to_array (node->nodename, dumped_already_index, dumped_already, - dumped_already_slots, 50, char *); + if (info_namelist_add (&dumped_already, node->nodename)) + { + free (node); + return DUMP_SUCCESS; + } -#if defined (VERBOSE_NODE_DUMPING) /* Maybe we should print some information about the node being output. */ - info_error (_("Writing node %s..."), node_printed_rep (node)); -#endif /* VERBOSE_NODE_DUMPING */ + debug (1, (_("writing node %s..."), node_printed_rep (node))); - write_node_to_stream (node, stream); + if (write_node_to_stream (node, stream)) + return DUMP_SYS_ERROR; /* If we are dumping subnodes, get the list of menu items in this node, and dump each one recursively. */ @@ -3573,30 +3609,35 @@ /* We don't dump Info files which are different than the current one. */ if (!menu[i]->filename) - dump_node_to_stream - (filename, menu[i]->nodename, stream, dump_subnodes); + if (dump_node_to_stream (filename, menu[i]->nodename, + stream, dump_subnodes) == DUMP_SYS_ERROR) + return DUMP_SYS_ERROR; } info_free_references (menu); } } free (node); + + return DUMP_SUCCESS; } -/* Dump NODE to FILENAME. If DUMP_SUBNODES is non-zero, recursively dump +/* Dump NODE to FILENAME. If DUMP_SUBNODES is set, recursively dump the nodes which appear in the menu of each node dumped. */ void -dump_node_to_file (NODE *node, char *filename, int dump_subnodes) +dump_node_to_file (NODE *node, char *filename, int flags) { FILE *output_stream; char *nodes_filename; + debug (1, (_("writing file %s"), filename)); + /* Get the stream to print this node to. Special case of an output filename of "-" means to dump the nodes to stdout. */ if (strcmp (filename, "-") == 0) output_stream = stdout; else - output_stream = fopen (filename, "w"); + output_stream = fopen (filename, flags & DUMP_APPEND ? "a" : "w"); if (!output_stream) { @@ -3610,15 +3651,23 @@ nodes_filename = node->filename; initialize_dumping (); - dump_node_to_stream - (nodes_filename, node->nodename, output_stream, dump_subnodes); + + if (flags & DUMP_APPEND) + fputc ('\f', output_stream); + fprintf (output_stream, "%s\n", info_find_fullpath (node->filename)); + + if (dump_node_to_stream (nodes_filename, node->nodename, + output_stream, flags & DUMP_SUBNODES) + == DUMP_SYS_ERROR) + { + info_error (_("error writing to %s: %s"), filename, strerror (errno)); + exit (EXIT_FAILURE); + } if (output_stream != stdout) fclose (output_stream); -#if defined (VERBOSE_NODE_DUMPING) - info_error ("%s", _("Done.")); -#endif /* VERBOSE_NODE_DUMPING */ + debug (1, (_("closing file %s"), filename)); } #if !defined (DEFAULT_INFO_PRINT_COMMAND) @@ -3665,10 +3714,8 @@ return; } -#if defined (VERBOSE_NODE_DUMPING) /* Maybe we should print some information about the node being output. */ - info_error (_("Printing node %s..."), node_printed_rep (node)); -#endif /* VERBOSE_NODE_DUMPING */ + debug (1, (_("printing node %s..."), node_printed_rep (node))); write_node_to_stream (node, printer_pipe); if (piping) @@ -3676,15 +3723,13 @@ else fclose (printer_pipe); -#if defined (VERBOSE_NODE_DUMPING) - info_error ("%s", _("Done.")); -#endif /* VERBOSE_NODE_DUMPING */ + debug (1, (_("finished printing node %s"), node_printed_rep (node))); } -static void +static int write_node_to_stream (NODE *node, FILE *stream) { - fwrite (node->contents, 1, node->nodelen, stream); + return fwrite (node->contents, node->nodelen, 1, stream) != 1; } /* **************************************************************** */ @@ -3701,7 +3746,11 @@ static void info_gc_file_buffers (void); static void info_search_1 (WINDOW *window, int count, - unsigned char key, int case_sensitive, int ask_for_string); + unsigned char key, int case_sensitive, + int ask_for_string, long start); +#define DFL_START (-1) /* a special value for the START argument of + info_search_1, meaning to use the default + starting position */ static char *search_string = NULL; static int search_string_size = 0; @@ -4049,14 +4098,14 @@ { last_search_direction = count > 0 ? 1 : -1; last_search_case_sensitive = 1; - info_search_1 (window, count, key, 1, 1); + info_search_1 (window, count, key, 1, 1, DFL_START); } DECLARE_INFO_COMMAND (info_search, _("Read a string and search for it")) { last_search_direction = count > 0 ? 1 : -1; last_search_case_sensitive = 0; - info_search_1 (window, count, key, 0, 1); + info_search_1 (window, count, key, 0, 1, DFL_START); } DECLARE_INFO_COMMAND (info_search_backward, @@ -4064,17 +4113,38 @@ { last_search_direction = count > 0 ? -1 : 1; last_search_case_sensitive = 0; - info_search_1 (window, -count, key, 0, 1); + info_search_1 (window, -count, key, 0, 1, DFL_START); } +/* Common entry point for the search functions. Arguments: + WINDOW The window to search in + COUNT The sign of this argument defines the search + direction (negative for searching backwards); + its absolute value gives number of repetitions. + CASE_SENSITIVE Whether the search is case-sensitive or not. + ASK_FOR_STRING When true, ask for the search string. Otherwise + use the previously supplied one (repeated search). + START Start position for the search. If DFL_START, use + the default start position (see info_search_internal + for details. +*/ static void info_search_1 (WINDOW *window, int count, unsigned char key, - int case_sensitive, int ask_for_string) + int case_sensitive, int ask_for_string, long start) { char *line, *prompt; int result, old_pagetop; int direction; + SEARCH_BINDING bind, *bindp; + if (start == DFL_START) + bindp = NULL; + else + { + bind.start = start; + bindp = &bind; + } + if (count < 0) { direction = -1; @@ -4120,8 +4190,9 @@ if (*line) { if (strlen (line) + 1 > (unsigned int) search_string_size) - search_string = xrealloc - (search_string, (search_string_size += 50 + strlen (line))); + search_string = + xrealloc (search_string, + (search_string_size += 50 + strlen (line))); strcpy (search_string, line); free (line); @@ -4148,7 +4219,7 @@ for (result = 0; result == 0 && count--; ) result = info_search_internal (search_string, active_window, direction, case_sensitive, - NULL); + bindp); if (result != 0 && !info_error_was_printed) info_error ("%s", _("Search failed.")); @@ -4173,9 +4244,20 @@ { if (!last_search_direction) info_error ("%s", _("No previous search string")); + else if (search_skip_screen_p) + { + /* Find window bottom */ + long n = window->height + window->pagetop; + if (n < window->line_count) + n = window->line_starts[n] - window->node->contents; + else + n = window->node->nodelen; + info_search_1 (window, last_search_direction * count, + key, last_search_case_sensitive, 0, n); + } else info_search_1 (window, last_search_direction * count, - key, last_search_case_sensitive, 0); + key, last_search_case_sensitive, 0, DFL_START); } DECLARE_INFO_COMMAND (info_search_previous, @@ -4183,9 +4265,20 @@ { if (!last_search_direction) info_error ("%s", _("No previous search string")); + else if (search_skip_screen_p) + { + /* Find window bottom */ + long n; + + n = window->line_starts[window->pagetop] - window->node->contents - 1; + if (n < 0) + n = 0; + info_search_1 (window, -last_search_direction * count, + key, last_search_case_sensitive, 0, n); + } else info_search_1 (window, -last_search_direction * count, - key, last_search_case_sensitive, 0); + key, last_search_case_sensitive, 0, DFL_START); } /* **************************************************************** */ @@ -4221,8 +4314,8 @@ /* Array of search states. */ static SEARCH_STATE **isearch_states = NULL; -static int isearch_states_index = 0; -static int isearch_states_slots = 0; +static size_t isearch_states_index = 0; +static size_t isearch_states_slots = 0; /* Push the state of this search. */ static void @@ -4237,7 +4330,7 @@ state->failing = failing; add_pointer_to_array (state, isearch_states_index, isearch_states, - isearch_states_slots, 20, SEARCH_STATE *); + isearch_states_slots, 20); } /* Pop the state of this search to WINDOW, SEARCH_INDEX, and DIRECTION. */ @@ -4319,7 +4412,7 @@ p_rep ? p_rep : ""); window_message_in_echo_area ("%s", prompt); - maybe_free (p_rep); + free (p_rep); free (prompt); display_cursor_at_point (active_window); } @@ -4502,7 +4595,7 @@ then push it into pending input. */ if (isearch_string_index && func != (VFunction *) info_abort_key) { - maybe_free (last_isearch_accepted); + free (last_isearch_accepted); last_isearch_accepted = xstrdup (isearch_string); } @@ -4656,8 +4749,9 @@ { for (i = 0; iw->nodes && iw->nodes[i]; i++) { - if ((FILENAME_CMP (fb->fullpath, iw->nodes[i]->filename) == 0) || - (FILENAME_CMP (fb->filename, iw->nodes[i]->filename) == 0)) + if (iw->nodes[i]->filename && + ((FILENAME_CMP (fb->fullpath, iw->nodes[i]->filename) == 0) || + (FILENAME_CMP (fb->filename, iw->nodes[i]->filename) == 0))) { fb_referenced_p = 1; break; @@ -4944,10 +5038,12 @@ set_window_pagetop (window, new_pagetop); } } -/* This command does nothing. It is the fact that a key is bound to it - that has meaning. See the code at the top of info_session (). */ + +/* Exit from info */ DECLARE_INFO_COMMAND (info_quit, _("Quit using Info")) -{} +{ + quit_info_immediately = 1; +} /* **************************************************************** */ @@ -5287,6 +5383,22 @@ key = 0; } } + +DECLARE_INFO_COMMAND (info_display_file_info, + _("Show full file name of node being displayed")) +{ + const char *fname = info_find_fullpath (window->node->filename); + if (fname) + { + int line = window_line_of_point (window); + window_message_in_echo_area ("File name: %s, line %d of %lu (%d%%)", + fname, line, + (unsigned long) window->line_count, + line * 100 / window->line_count); + } + else + window_message_in_echo_area ("Internal node"); +} /* **************************************************************** */ /* */ diff -Nru texinfo-5.1.dfsg.1/info/session.h texinfo-5.2.0.dfsg.1/info/session.h --- texinfo-5.1.dfsg.1/info/session.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/session.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* session.h -- Functions found in session.c. - $Id: session.h 5191 2013-02-23 00:11:18Z karl $ + $Id: session.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1998, 1999, 2001, 2002, 2004, 2007, 2011 + Copyright 1993, 1998, 1999, 2001, 2002, 2004, 2007, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef SESSION_H #define SESSION_H @@ -25,6 +25,8 @@ #include "info.h" #include "dribble.h" +extern int quit_info_immediately; + /* All commands that can be invoked from within info_session () receive arguments in the same way. This simple define declares the header of a function named NAME, with associated documentation DOC. The @@ -93,10 +95,15 @@ extern void info_select_reference (WINDOW *window, REFERENCE *entry); extern int info_any_buffered_input_p (void); extern void print_node (NODE *node); + +#define DUMP_APPEND 0x01 +#define DUMP_SUBNODES 0x02 + extern void dump_node_to_file (NODE *node, char *filename, - int dump_subnodes); + int flags); extern void dump_nodes_to_file (char *filename, char **nodenames, - char *output_filename, int dump_subnodes); + char *output_filename, int flags); + extern char *program_name_from_file_name (char *file_name); /* Do the physical deletion of WINDOW, and forget this window and @@ -197,7 +204,7 @@ extern void info_view_file (WINDOW *window, int count, unsigned char key); extern void info_menu_sequence (WINDOW *window, int count, unsigned char key); extern NODE *info_follow_menus (NODE *initial_node, char **menus, - NODE **err_node); + NODE **err_node, int strict); extern void info_man (WINDOW *window, int count, unsigned char key); extern void list_visited_nodes (WINDOW *window, int count, unsigned char key); extern void select_visited_node (WINDOW *window, int count, unsigned char key); diff -Nru texinfo-5.1.dfsg.1/info/signals.c texinfo-5.2.0.dfsg.1/info/signals.c --- texinfo-5.1.dfsg.1/info/signals.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/signals.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* signals.c -- install and maintain signal handlers. - $Id: signals.c 5191 2013-02-23 00:11:18Z karl $ + $Id: signals.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1994, 1995, 1998, 2002, 2003, 2004, 2007, 2012 + Copyright 1993, 1994, 1995, 1998, 2002, 2003, 2004, 2007, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "signals.h" diff -Nru texinfo-5.1.dfsg.1/info/signals.h texinfo-5.2.0.dfsg.1/info/signals.h --- texinfo-5.1.dfsg.1/info/signals.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/signals.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* signals.h -- header to include system dependent signal definitions. - $Id: signals.h 5191 2013-02-23 00:11:18Z karl $ + $Id: signals.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1994, 1995, 1997, 2002, 2004, 2007 + Copyright 1993, 1994, 1995, 1997, 2002, 2004, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_SIGNALS_H #define INFO_SIGNALS_H diff -Nru texinfo-5.1.dfsg.1/info/tag.c texinfo-5.2.0.dfsg.1/info/tag.c --- texinfo-5.1.dfsg.1/info/tag.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/tag.c 2013-08-22 17:58:30.000000000 +0000 @@ -1,8 +1,8 @@ /* tag.c -- Functions to handle Info tags (that is, the special construct for images, not the "tag table" of starting position.) - $Id: tag.c 5191 2013-02-23 00:11:18Z karl $ + $Id: tag.c 5338 2013-08-22 17:58:30Z karl $ - Copyright (C) 2012, 2013 Free Software Foundation, Inc. + Copyright 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -113,6 +113,8 @@ if (state == state_delim) continue; } + else if (state == state_delim) + state = state_kw; cur_len = mb_len (mbi_cur (iter)); cur_ptr = mbi_cur_ptr (iter); @@ -125,6 +127,8 @@ switch (*cur_ptr) { case '=': + if (state != state_kw) + break; text_buffer_add_char (&tmpbuf, 0); kw = tmpbuf.base; if (!mbi_avail (iter)) @@ -183,6 +187,7 @@ static struct tag_handler tagtab[] = { { "image", 5, tag_image }, + { "index", 5, NULL }, { NULL } }; @@ -197,22 +202,29 @@ return NULL; } -void -tags_expand (char **pbuf, size_t *pbuflen) +/* Expand \b[...\b] constructs in INPUT (of INPUTLEN bytes). If encountered, + put the expanded text into PBUF, store its length in PBUFLEN, and return + 1. Otherwise, don't touch neither of the latter and return 0. */ +int +tags_expand (char *input, size_t inputlen, char **pbuf, size_t *pbuflen) { - char *input = *pbuf; - char *endp = input + *pbuflen; + char *endp = input + inputlen; struct text_buffer outbuf; + int text_buffer_used = 0; char *p; - text_buffer_init (&outbuf); - while ((p = input + strlen (input)) < endp) /* go forward to null */ { if (memcmp(p + 1, "\b[", 2) == 0) /* opening magic? */ { char *q; + if (!text_buffer_used) + { + text_buffer_init (&outbuf); + text_buffer_used = 1; + } + p += 3; q = p + strlen (p); /* forward to next null */ if (memcmp (q + 1, "\b]", 2) == 0) /* closing magic? */ @@ -227,11 +239,8 @@ while (p[len] == ' ' || p[len] == '\t') ++len; /* move past whitespace */ - if (!text_buffer_off (&outbuf)) - text_buffer_add_string (&outbuf, *pbuf, p - *pbuf - 3); - else - text_buffer_add_string (&outbuf, input, p - input - 3); - if (tp->handler (p + len, &outbuf) == 0) + text_buffer_add_string (&outbuf, input, p - input - 3); + if (!tp->handler || tp->handler (p + len, &outbuf) == 0) { input = q + 3; continue; @@ -240,21 +249,21 @@ } } - if (text_buffer_off (&outbuf)) - { - text_buffer_add_string (&outbuf, input, p - input); - } + if (text_buffer_used) + text_buffer_add_string (&outbuf, input, p - input); + input = p + 1; } - if (text_buffer_off (&outbuf)) + if (text_buffer_used && text_buffer_off (&outbuf)) { if (input < endp) text_buffer_add_string (&outbuf, input, endp - input); - free (*pbuf); *pbuflen = text_buffer_off (&outbuf); *pbuf = text_buffer_base (&outbuf); + return 1; } + return 0; } void diff -Nru texinfo-5.1.dfsg.1/info/tag.h texinfo-5.2.0.dfsg.1/info/tag.h --- texinfo-5.1.dfsg.1/info/tag.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/tag.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* tag.c -- Functions to handle Info tags. - $Id: tag.h 5191 2013-02-23 00:11:18Z karl $ + $Id: tag.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 2012 Free Software Foundation, Inc. + Copyright 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ #ifndef TAG_H #define TAG_H -void tags_expand (char **pbuf, size_t *pbuflen); +int tags_expand (char *input, size_t inputlen, char **pbuf, size_t *pbuflen); void handle_tag (char *tag); #endif diff -Nru texinfo-5.1.dfsg.1/info/termdep.h texinfo-5.2.0.dfsg.1/info/termdep.h --- texinfo-5.1.dfsg.1/info/termdep.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/termdep.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* termdep.h -- system things that terminal.c depends on. - $Id: termdep.h 5191 2013-02-23 00:11:18Z karl $ + $Id: termdep.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1996, 1997, 1998, 2001, 2002, 2007, 2012 + Copyright 1993, 1996, 1997, 1998, 2001, 2002, 2007, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_TERMDEP_H #define INFO_TERMDEP_H diff -Nru texinfo-5.1.dfsg.1/info/terminal.c texinfo-5.2.0.dfsg.1/info/terminal.c --- texinfo-5.1.dfsg.1/info/terminal.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/terminal.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,9 @@ /* terminal.c -- how to handle the physical terminal for Info. - $Id: terminal.c 5191 2013-02-23 00:11:18Z karl $ + $Id: terminal.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1996, 1997, 1998, - 1999, 2001, 2002, 2004, 2007, 2008, 2012 Free Software Foundation, Inc. + Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1996, 1997, 1998, + 1999, 2001, 2002, 2004, 2007, 2008, 2012, 2013 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +18,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Originally written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "terminal.h" diff -Nru texinfo-5.1.dfsg.1/info/terminal.h texinfo-5.2.0.dfsg.1/info/terminal.h --- texinfo-5.1.dfsg.1/info/terminal.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/terminal.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* terminal.h -- The external interface to terminal I/O. - $Id: terminal.h 5191 2013-02-23 00:11:18Z karl $ + $Id: terminal.h 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1996, 1997, 2001, 2002, 2004, 2007 + Copyright 1993, 1996, 1997, 2001, 2002, 2004, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally uWritten by Brian Fox. */ #if !defined (TERMINAL_H) #define TERMINAL_H diff -Nru texinfo-5.1.dfsg.1/info/tilde.c texinfo-5.2.0.dfsg.1/info/tilde.c --- texinfo-5.1.dfsg.1/info/tilde.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/tilde.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,8 +1,8 @@ /* tilde.c -- tilde expansion code (~/foo := $HOME/foo). - $Id: tilde.c 5191 2013-02-23 00:11:18Z karl $ + $Id: tilde.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1996, 1998, 1999, - 2002, 2004, 2006, 2007, 2008, 2012 Free Software Foundation, Inc. + Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1996, 1998, 1999, + 2002, 2004, 2006, 2007, 2008, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "tilde.h" @@ -174,7 +174,7 @@ /* Do the work of tilde expansion on FILENAME. FILENAME starts with a tilde. If there is no expansion, call tilde_expansion_failure_hook. */ char * -tilde_expand_word (char *filename) +tilde_expand_word (const char *filename) { char *dirname = filename ? xstrdup (filename) : NULL; diff -Nru texinfo-5.1.dfsg.1/info/tilde.h texinfo-5.2.0.dfsg.1/info/tilde.h --- texinfo-5.1.dfsg.1/info/tilde.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/tilde.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,7 @@ -/* tilde.h: Externally available variables and function in libtilde.a. - $Id: tilde.h 5191 2013-02-23 00:11:18Z karl $ +/* tilde.h: tilde expansion. + $Id: tilde.h 5337 2013-08-22 17:54:06Z karl $ - This file has appeared in prior works by the Free Software Foundation; - thus it carries copyright dates from 1988 through 1993. - - Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 2004, 2007 + Copyright 1988, 1989, 1990, 1991, 1992, 1993, 2004, 2007, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -20,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox (for bash). */ #ifndef TILDE_H #define TILDE_H @@ -48,6 +45,6 @@ /* Do the work of tilde expansion on FILENAME. FILENAME starts with a tilde. If there is no expansion, call tilde_expansion_failure_hook. */ -extern char *tilde_expand_word (char *filename); +extern char *tilde_expand_word (const char *filename); #endif /* not TILDE_H */ diff -Nru texinfo-5.1.dfsg.1/info/variables.c texinfo-5.2.0.dfsg.1/info/variables.c --- texinfo-5.1.dfsg.1/info/variables.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/variables.c 2013-08-22 17:54:06.000000000 +0000 @@ -1,7 +1,7 @@ /* variables.c -- how to manipulate user visible variables in Info. - $Id: variables.c 5191 2013-02-23 00:11:18Z karl $ + $Id: variables.c 5337 2013-08-22 17:54:06Z karl $ - Copyright (C) 1993, 1997, 2001, 2002, 2004, 2007, 2008, 2011 + Copyright 1993, 1997, 2001, 2002, 2004, 2007, 2008, 2011, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #include "info.h" #include "variables.h" @@ -86,6 +86,9 @@ N_("Minimal length of a search string"), &min_search_length, NULL }, + { "search-skip-screen", + N_("Skip current window when searching"), + &search_skip_screen_p, (char **)on_off_choices }, { NULL } }; @@ -163,8 +166,8 @@ { register int i; REFERENCE **array = NULL; - int array_index = 0; - int array_slots = 0; + size_t array_index = 0; + size_t array_slots = 0; for (i = 0; var->choices[i]; i++) { @@ -175,8 +178,7 @@ entry->nodename = NULL; entry->filename = NULL; - add_pointer_to_array - (entry, array_index, array, array_slots, 10, REFERENCE *); + add_pointer_to_array (entry, array_index, array, array_slots, 10); } sprintf (prompt, _("Set %s to value (%s): "), @@ -269,7 +271,7 @@ { register int i; REFERENCE **array = NULL; - int array_index = 0, array_slots = 0; + size_t array_index = 0, array_slots = 0; for (i = 0; info_variables[i].name; i++) { @@ -280,44 +282,52 @@ entry->nodename = NULL; entry->filename = NULL; - add_pointer_to_array - (entry, array_index, array, array_slots, 200, REFERENCE *); + add_pointer_to_array (entry, array_index, array, array_slots, 200); } return array; } -#if defined(INFOKEY) - -void +int set_variable_to_value(char *name, char *value) { - register int i; - - /* Find the variable in our list of variables. */ - for (i = 0; info_variables[i].name; i++) - if (strcmp(info_variables[i].name, name) == 0) - break; - - if (!info_variables[i].name) - return; - - if (info_variables[i].choices) - { - register int j; + register int i; - /* Find the choice in our list of choices. */ - for (j = 0; info_variables[i].choices[j]; j++) - if (strcmp (info_variables[i].choices[j], value) == 0) - break; + /* Find the variable in our list of variables. */ + for (i = 0; info_variables[i].name; i++) + if (strcmp(info_variables[i].name, name) == 0) + break; - if (info_variables[i].choices[j]) - *info_variables[i].value = j; - } - else + if (!info_variables[i].name) + { + errno = ENOENT; + return -1; + } + + if (info_variables[i].choices) + { + register int j; + + /* Find the choice in our list of choices. */ + for (j = 0; info_variables[i].choices[j]; j++) + if (strcmp (info_variables[i].choices[j], value) == 0) + { + *info_variables[i].value = j; + return 0; + } + } + else + { + char *p; + long n = strtol (value, &p, 10); + if (*p == 0 && INT_MIN <= n && n <= INT_MAX) { - *info_variables[i].value = atoi(value); + *info_variables[i].value = n; + return 0; } + } + + errno = EINVAL; + return -1; } -#endif /* INFOKEY */ diff -Nru texinfo-5.1.dfsg.1/info/variables.h texinfo-5.2.0.dfsg.1/info/variables.h --- texinfo-5.1.dfsg.1/info/variables.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/variables.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,8 @@ /* variables.h -- Description of user visible variables in Info. - $Id: variables.h 5191 2013-02-23 00:11:18Z karl $ + $Id: variables.h 5337 2013-08-22 17:54:06Z karl $ - This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 1997, 2004, 2007, 2011 Free Software Foundation, Inc. + Copyright 1993, 1997, 2004, 2007, 2011, 2013 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_VARIABLES_H #define INFO_VARIABLES_H @@ -64,5 +62,6 @@ extern int ISO_Latin_p; extern int scroll_last_node; extern int min_search_length; +extern int search_skip_screen_p; #endif /* not INFO_VARIABLES_H */ diff -Nru texinfo-5.1.dfsg.1/info/window.c texinfo-5.2.0.dfsg.1/info/window.c --- texinfo-5.1.dfsg.1/info/window.c 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/window.c 2013-08-20 19:15:05.000000000 +0000 @@ -1,5 +1,5 @@ /* window.c -- windows in Info. - $Id: window.c 5191 2013-02-23 00:11:18Z karl $ + $Id: window.c 5334 2013-08-20 19:15:05Z gray $ Copyright 1993, 1997, 1998, 2001, 2002, 2003, 2004, 2007, 2008, 2011, 2012, 2013 Free Software Foundation, Inc. @@ -137,8 +137,8 @@ if (!windows->next) { windows->height = 0; - maybe_free (windows->line_starts); - maybe_free (windows->log_line_no); + free (windows->line_starts); + free (windows->log_line_no); windows->line_starts = NULL; windows->line_count = 0; break; @@ -186,7 +186,7 @@ if ((win->width != width) && ((win->flags & W_InhibitMode) == 0)) { win->width = width; - maybe_free (win->modeline); + free (win->modeline); win->modeline = xmalloc (1 + width); } @@ -605,8 +605,8 @@ if (old_pagetop == window->pagetop) display_scroll_line_starts (window, old_pagetop, old_starts, old_lines); - maybe_free (old_starts); - maybe_free (old_xlat); + free (old_starts); + free (old_xlat); } window->flags |= W_UpdateWindow; } @@ -862,8 +862,8 @@ void recalculate_line_starts (WINDOW *window) { - maybe_free (window->line_starts); - maybe_free (window->log_line_no); + free (window->line_starts); + free (window->log_line_no); calculate_line_starts (window); } @@ -1174,7 +1174,7 @@ { if (echo_area_node) { - maybe_free (echo_area_node->contents); + free (echo_area_node->contents); free (echo_area_node); } @@ -1219,8 +1219,8 @@ any existing message. A future call to unmessage_in_echo_area () restores the old contents. */ static NODE **old_echo_area_nodes = NULL; -static int old_echo_area_nodes_index = 0; -static int old_echo_area_nodes_slots = 0; +static size_t old_echo_area_nodes_index = 0; +static size_t old_echo_area_nodes_slots = 0; void message_in_echo_area (const char *format, ...) @@ -1231,7 +1231,7 @@ { add_pointer_to_array (echo_area_node, old_echo_area_nodes_index, old_echo_area_nodes, old_echo_area_nodes_slots, - 4, NODE *); + 4); } echo_area_node = NULL; va_start (ap, format); diff -Nru texinfo-5.1.dfsg.1/info/window.h texinfo-5.2.0.dfsg.1/info/window.h --- texinfo-5.1.dfsg.1/info/window.h 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/info/window.h 2013-08-22 17:54:06.000000000 +0000 @@ -1,10 +1,8 @@ /* window.h -- Structure and flags used in manipulating Info windows. - $Id: window.h 5191 2013-02-23 00:11:18Z karl $ + $Id: window.h 5337 2013-08-22 17:54:06Z karl $ - This file is part of GNU Info, a program for reading online documentation - stored in Info format. - - Copyright (C) 1993, 1997, 2004, 2007, 2011 Free Software Foundation, Inc. + Copyright 1993, 1997, 2004, 2007, 2011 2013 + Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . - Written by Brian Fox (bfox@ai.mit.edu). */ + Originally written by Brian Fox. */ #ifndef INFO_WINDOW_H #define INFO_WINDOW_H @@ -279,14 +277,16 @@ size_t, size_t), void *closure); -void clean_manpage (char *manpage); +extern void clean_manpage (char *manpage); extern void window_compute_line_map (WINDOW *win); -int window_point_to_column (WINDOW *win, long point, long *np); +extern int window_point_to_column (WINDOW *win, long point, long *np); + +extern void window_line_map_init (WINDOW *win); -void window_line_map_init (WINDOW *win); +extern long window_end_of_line (WINDOW *win); -long window_end_of_line (WINDOW *win); +extern size_t window_log_to_phys_line (WINDOW *window, size_t ln); #endif /* not INFO_WINDOW_H */ diff -Nru texinfo-5.1.dfsg.1/install-info/Makefile.in texinfo-5.2.0.dfsg.1/install-info/Makefile.in --- texinfo-5.1.dfsg.1/install-info/Makefile.in 2013-03-12 22:56:43.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/install-info/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -29,23 +29,51 @@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -103,6 +131,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -151,6 +180,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -739,8 +769,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -751,7 +785,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -905,6 +942,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -1081,6 +1119,7 @@ clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + ginstall-info$(EXEEXT): $(ginstall_info_OBJECTS) $(ginstall_info_DEPENDENCIES) $(EXTRA_ginstall_info_DEPENDENCIES) @rm -f ginstall-info$(EXEEXT) $(AM_V_CCLD)$(LINK) $(ginstall_info_OBJECTS) $(ginstall_info_LDADD) $(LIBS) @@ -1133,14 +1172,14 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. @@ -1149,13 +1188,12 @@ # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ diff -Nru texinfo-5.1.dfsg.1/install-info/install-info.c texinfo-5.2.0.dfsg.1/install-info/install-info.c --- texinfo-5.1.dfsg.1/install-info/install-info.c 2013-03-09 02:21:55.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/install-info/install-info.c 2013-08-15 16:07:09.000000000 +0000 @@ -1,5 +1,5 @@ /* install-info -- merge Info directory entries from an Info file. - $Id: install-info.c 5226 2013-03-09 02:21:54Z karl $ + $Id: install-info.c 5313 2013-08-15 16:07:06Z karl $ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013 @@ -630,7 +630,7 @@ fprintf (f, _("This is the file .../info/dir, which contains the\n\ topmost node of the Info hierarchy, called (dir)Top.\n\ The first time you invoke Info you start off looking at this node.\n\ -\x1f\n\ +%c\n\ %s\tThis is the top of the INFO tree\n\ \n\ This (the Directory node) gives a menu of major topics.\n\ @@ -642,9 +642,9 @@ to select it.\n\ \n\ %s\n\ -"), "File: dir,\tNode: Top", /* These keywords must not be translated. */ - "* Menu:" -); +"), /* These keywords must not be translated: */ + '\x1f', "File: dir,\tNode: Top", "* Menu:" + ); if (fclose (f) < 0) pfatal_with_name (dirfile); } diff -Nru texinfo-5.1.dfsg.1/install-info/tests/Makefile.in texinfo-5.2.0.dfsg.1/install-info/tests/Makefile.in --- texinfo-5.1.dfsg.1/install-info/tests/Makefile.in 2013-03-12 22:56:43.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/install-info/tests/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -28,23 +28,51 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -101,6 +129,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -149,6 +178,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -825,8 +855,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -837,7 +871,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -991,6 +1028,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -1353,7 +1391,7 @@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not -# exand to empty, as could happen e.g. with make check TESTS=''. +# expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: diff -Nru texinfo-5.1.dfsg.1/man/Makefile.am texinfo-5.2.0.dfsg.1/man/Makefile.am --- texinfo-5.1.dfsg.1/man/Makefile.am 2013-02-23 00:11:25.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/Makefile.am 2013-03-20 23:05:30.000000000 +0000 @@ -1,4 +1,4 @@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5243 2013-03-20 23:05:29Z karl $ # Makefile.am for texinfo/man. # # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, @@ -42,13 +42,15 @@ MAKEINFO = $(PERL) -I "$(tpdir)" "$(tpdir)"/texi2any.pl # tplibdir = $(tpdir)/maintain/lib -mi_perl5lib = "$(tpdir):$(tplibdir)/libintl-perl/lib:$(tplibdir)/Unicode-EastAsianWidth/lib:$(tplibdir)/Text-Unidecode/lib" +mi_perl5lib_path = "$(tpdir):$(tplibdir)/libintl-perl/lib:$(tplibdir)/Unicode-EastAsianWidth/lib:$(tplibdir)/Text-Unidecode/lib" +mi_perl5lib = PERL5LIB=$(mi_perl5lib_path); export PERL5LIB -# Set up the variables: +# Set up the variables. makeinfo is no longer a .exe(cutable). man_rule_0 = \ - program=`expr '/$@' : '.*/\(.*\)\.1'` \ + exe_ext="$(EXEEXT)" \ + && program=`expr '/$@' : '.*/\(.*\)\.1'` \ && case $$program in \ - makeinfo) dir=tp; PERL5LIB=$(mi_perl5lib); export PERL5LIB;; \ + makeinfo) dir=tp; $(mi_perl5lib); exe_ext="";; \ info*) dir=info; test $$program != info || program=g$$program;; \ *install-info) dir=install-info; program=g$$program;; \ *) dir=util;; esac \ @@ -59,8 +61,8 @@ # make sure the binary is up-to-date and then generate the man page. man_rule_bin = echo "Updating man page $@" \ && $(man_rule_0) \ - && echo cd "$$dir" '&&' $(MAKE) $(AM_MAKEFLAGS) $$program$(EXEEXT) \ - && (cd "$$dir" && $(MAKE) $(AM_MAKEFLAGS) $$program$(EXEEXT)) \ + && echo cd "$$dir" '&&' $(MAKE) $(AM_MAKEFLAGS) $$program$$exe_ext \ + && (cd "$$dir" && $(MAKE) $(AM_MAKEFLAGS) $$program$$exe_ext) \ && echo $(HELP2MAN) --name=\""$$name"\" -I "$$h2m" "$$dir/$$program" -o '$@'\ && $(HELP2MAN) --name="$$name" -I "$$h2m" "$$dir/$$program" -o '$@' diff -Nru texinfo-5.1.dfsg.1/man/Makefile.in texinfo-5.2.0.dfsg.1/man/Makefile.in --- texinfo-5.1.dfsg.1/man/Makefile.in 2013-03-12 22:56:43.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,7 @@ @SET_MAKE@ -# $Id: Makefile.am 5191 2013-02-23 00:11:18Z karl $ +# $Id: Makefile.am 5243 2013-03-20 23:05:29Z karl $ # Makefile.am for texinfo/man. # # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, @@ -28,23 +28,51 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ - test $$am__dry = yes; \ - } + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -104,6 +132,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -152,6 +181,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -655,8 +685,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -667,7 +701,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = $(PERL) -I "$(tpdir)" "$(tpdir)"/texi2any.pl MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -821,6 +858,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ @@ -928,13 +966,15 @@ tpdir = $(top_srcdir)/tp # tplibdir = $(tpdir)/maintain/lib -mi_perl5lib = "$(tpdir):$(tplibdir)/libintl-perl/lib:$(tplibdir)/Unicode-EastAsianWidth/lib:$(tplibdir)/Text-Unidecode/lib" +mi_perl5lib_path = "$(tpdir):$(tplibdir)/libintl-perl/lib:$(tplibdir)/Unicode-EastAsianWidth/lib:$(tplibdir)/Text-Unidecode/lib" +mi_perl5lib = PERL5LIB=$(mi_perl5lib_path); export PERL5LIB -# Set up the variables: +# Set up the variables. makeinfo is no longer a .exe(cutable). man_rule_0 = \ - program=`expr '/$@' : '.*/\(.*\)\.1'` \ + exe_ext="$(EXEEXT)" \ + && program=`expr '/$@' : '.*/\(.*\)\.1'` \ && case $$program in \ - makeinfo) dir=tp; PERL5LIB=$(mi_perl5lib); export PERL5LIB;; \ + makeinfo) dir=tp; $(mi_perl5lib); exe_ext="";; \ info*) dir=info; test $$program != info || program=g$$program;; \ *install-info) dir=install-info; program=g$$program;; \ *) dir=util;; esac \ @@ -946,8 +986,8 @@ # make sure the binary is up-to-date and then generate the man page. man_rule_bin = echo "Updating man page $@" \ && $(man_rule_0) \ - && echo cd "$$dir" '&&' $(MAKE) $(AM_MAKEFLAGS) $$program$(EXEEXT) \ - && (cd "$$dir" && $(MAKE) $(AM_MAKEFLAGS) $$program$(EXEEXT)) \ + && echo cd "$$dir" '&&' $(MAKE) $(AM_MAKEFLAGS) $$program$$exe_ext \ + && (cd "$$dir" && $(MAKE) $(AM_MAKEFLAGS) $$program$$exe_ext) \ && echo $(HELP2MAN) --name=\""$$name"\" -I "$$h2m" "$$dir/$$program" -o '$@'\ && $(HELP2MAN) --name="$$name" -I "$$h2m" "$$dir/$$program" -o '$@' diff -Nru texinfo-5.1.dfsg.1/man/info.1 texinfo-5.2.0.dfsg.1/man/info.1 --- texinfo-5.1.dfsg.1/man/info.1 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/info.1 2013-09-26 23:05:01.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. -.TH INFO "1" "March 2013" "info 5.1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. +.TH INFO "1" "September 2013" "info 5.2" "User Commands" .SH NAME info \- read Info documents .SH SYNOPSIS @@ -9,17 +9,20 @@ Read documentation in Info format. .SH OPTIONS .TP +\fB\-a\fR, \fB\-\-all\fR +use all matching manuals. +.TP \fB\-k\fR, \fB\-\-apropos\fR=\fISTRING\fR look up STRING in all indices of all manuals. .TP \fB\-d\fR, \fB\-\-directory\fR=\fIDIR\fR add DIR to INFOPATH. .TP -\fB\-\-dribble\fR=\fIFILENAME\fR +\fB\-\-dribble\fR=\fIFILE\fR remember user keystrokes in FILENAME. .TP -\fB\-f\fR, \fB\-\-file\fR=\fIFILENAME\fR -specify Info file to visit. +\fB\-f\fR, \fB\-\-file\fR=\fIMANUAL\fR +specify Info manual to visit. .TP \fB\-h\fR, \fB\-\-help\fR display this help and exit. @@ -30,8 +33,8 @@ \fB\-n\fR, \fB\-\-node\fR=\fINODENAME\fR specify nodes in first visited Info file. .TP -\fB\-o\fR, \fB\-\-output\fR=\fIFILENAME\fR -output selected nodes to FILENAME. +\fB\-o\fR, \fB\-\-output\fR=\fIFILE\fR +output selected nodes to FILE. .TP \fB\-R\fR, \fB\-\-raw\-escapes\fR output "raw" ANSI escapes (default). @@ -39,8 +42,8 @@ \fB\-\-no\-raw\-escapes\fR output escapes as literal text. .TP -\fB\-\-restore\fR=\fIFILENAME\fR -read initial keystrokes from FILENAME. +\fB\-\-restore\fR=\fIFILE\fR +read initial keystrokes from FILE. .TP \fB\-O\fR, \fB\-\-show\-options\fR, \fB\-\-usage\fR go to command\-line options node. @@ -51,6 +54,9 @@ \fB\-\-subnodes\fR recursively output menu items. .TP +\fB\-v\fR, \fB\-\-variable\fR VAR=VALUE +assign VALUE to Info variable VAR. +.TP \fB\-\-vi\-keys\fR use vi\-like and less\-like key bindings. .TP @@ -59,6 +65,9 @@ .TP \fB\-w\fR, \fB\-\-where\fR, \fB\-\-location\fR print physical location of Info file. +.TP +\fB\-x\fR, \fB\-\-debug\fR=\fINUMBER\fR +set debugging level (\fB\-1\fR for all). .PP The first non\-option argument, if present, is the menu entry to start from; it is searched for in all `dir' files along INFOPATH. diff -Nru texinfo-5.1.dfsg.1/man/infokey.1 texinfo-5.2.0.dfsg.1/man/infokey.1 --- texinfo-5.1.dfsg.1/man/infokey.1 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/infokey.1 2013-09-26 23:05:01.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. -.TH INFOKEY "1" "March 2013" "infokey 5.1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. +.TH INFOKEY "1" "September 2013" "infokey 5.2" "User Commands" .SH NAME infokey \- compile customizations for Info .SH SYNOPSIS diff -Nru texinfo-5.1.dfsg.1/man/install-info.1 texinfo-5.2.0.dfsg.1/man/install-info.1 --- texinfo-5.1.dfsg.1/man/install-info.1 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/install-info.1 2013-09-26 23:05:00.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. -.TH INSTALL-INFO "1" "March 2013" "install-info 5.1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. +.TH INSTALL-INFO "1" "September 2013" "install-info 5.2" "User Commands" .SH NAME install-info \- update info/dir entries .SH SYNOPSIS diff -Nru texinfo-5.1.dfsg.1/man/makeinfo.1 texinfo-5.2.0.dfsg.1/man/makeinfo.1 --- texinfo-5.1.dfsg.1/man/makeinfo.1 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/makeinfo.1 2013-09-26 23:05:01.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. -.TH MAKEINFO "1" "March 2013" "makeinfo 5.1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. +.TH MAKEINFO "1" "September 2013" "makeinfo 5.2" "User Commands" .SH NAME makeinfo \- translate Texinfo documents .SH SYNOPSIS diff -Nru texinfo-5.1.dfsg.1/man/pod2texi.1 texinfo-5.2.0.dfsg.1/man/pod2texi.1 --- texinfo-5.1.dfsg.1/man/pod2texi.1 2013-03-12 22:49:04.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/pod2texi.1 2013-09-26 22:50:45.000000000 +0000 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.20) +.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== @@ -38,6 +38,8 @@ . ds PI \(*p . ds L" `` . ds R" '' +. ds C` +. ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. @@ -48,17 +50,24 @@ .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" .. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -124,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "POD2TEXI 1" -.TH POD2TEXI 1 "2013-02-22" "perl v5.16.2" "User Contributed Perl Documentation" +.TH POD2TEXI 1 "2013-08-10" "perl v5.18.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -215,7 +224,7 @@ the Free Software Foundation; either version 3 of the License, or (at your option) any later version. .PP -There is \s-1NO\s0 \s-1WARRANTY\s0, to the extent permitted by law. +There is \s-1NO WARRANTY,\s0 to the extent permitted by law. .SH "AUTHOR" .IX Header "AUTHOR" Patrice Dumas . diff -Nru texinfo-5.1.dfsg.1/man/texi2dvi.1 texinfo-5.2.0.dfsg.1/man/texi2dvi.1 --- texinfo-5.1.dfsg.1/man/texi2dvi.1 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/texi2dvi.1 2013-09-26 23:05:01.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. -.TH TEXI2DVI "1" "March 2013" "texi2dvi 5234" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. +.TH TEXI2DVI "1" "September 2013" "texi2dvi 5381" "User Commands" .SH NAME texi2dvi \- convert Texinfo documents to DVI or PDF .SH SYNOPSIS @@ -183,7 +183,7 @@ using \egraphicspath): in that case, use \fB\-I\fR to specify the additional directories to consider. .PP -The values of the BIBTEX, DVIPDF, DVIPS, HEVEA, LATEX, MAKEINDEX, +The values of the BIBER, BIBTEX, DVIPDF, DVIPS, HEVEA, LATEX, MAKEINDEX, MAKEINFO, PDFLATEX, PDFTEX, T4HT, TEX, TEX4HT, TEXINDEX, and THUMBPDF environment variables are used to run those commands, if they are set. .PP diff -Nru texinfo-5.1.dfsg.1/man/texindex.1 texinfo-5.2.0.dfsg.1/man/texindex.1 --- texinfo-5.1.dfsg.1/man/texindex.1 2013-03-12 22:56:56.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/man/texindex.1 2013-09-26 23:05:01.000000000 +0000 @@ -1,5 +1,5 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.41.1. -.TH TEXINDEX "1" "March 2013" "texindex 5.1" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.43.3. +.TH TEXINDEX "1" "September 2013" "texindex 5.2" "User Commands" .SH NAME texindex \- sort Texinfo index files .SH SYNOPSIS diff -Nru texinfo-5.1.dfsg.1/po/ChangeLog texinfo-5.2.0.dfsg.1/po/ChangeLog --- texinfo-5.1.dfsg.1/po/ChangeLog 2013-02-19 22:25:32.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/po/ChangeLog 2013-08-15 16:23:58.000000000 +0000 @@ -1,3 +1,8 @@ +2013-08-15 gettextize + + * Makefile.in.in: Upgrade to gettext-0.18.3. + * Rules-quot: Upgrade to gettext-0.18.3. + 2010-06-24 gettextize * Makefile.in.in: Upgrade to gettext-0.18.1. diff -Nru texinfo-5.1.dfsg.1/po/Makefile.in.in texinfo-5.2.0.dfsg.1/po/Makefile.in.in --- texinfo-5.1.dfsg.1/po/Makefile.in.in 2013-02-19 22:25:32.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/po/Makefile.in.in 2013-08-18 18:33:14.000000000 +0000 @@ -8,13 +8,14 @@ # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # -# Origin: gettext-0.18.2 +# Origin: gettext-0.18.3 GETTEXT_MACRO_VERSION = 0.18 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +SED = @SED@ SHELL = /bin/sh @SET_MAKE@ diff -Nru texinfo-5.1.dfsg.1/po/Makevars texinfo-5.2.0.dfsg.1/po/Makevars --- texinfo-5.1.dfsg.1/po/Makevars 2013-02-19 22:25:32.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/po/Makevars 2013-08-15 16:29:00.000000000 +0000 @@ -65,3 +65,14 @@ # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = +# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt' +# context. Possible values are "yes" and "no". Set this to yes if the +# package uses functions taking also a message context, like pgettext(), or +# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument. +USE_MSGCTXT = no + +# These options get passed to msgmerge. +# Useful options are in particular: +# --previous to keep previous msgids of translated messages, +# --quiet to reduce the verbosity. +MSGMERGE_OPTIONS = diff -Nru texinfo-5.1.dfsg.1/po/POTFILES.in texinfo-5.2.0.dfsg.1/po/POTFILES.in --- texinfo-5.1.dfsg.1/po/POTFILES.in 2013-02-19 22:25:32.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/po/POTFILES.in 2013-09-13 16:54:45.000000000 +0000 @@ -12,6 +12,7 @@ gnulib/lib/regcomp.c gnulib/lib/xalloc-die.c info/echo-area.c +info/filesys.c info/footnotes.c info/footnotes.h info/indices.c diff -Nru texinfo-5.1.dfsg.1/po/Rules-quot texinfo-5.2.0.dfsg.1/po/Rules-quot --- texinfo-5.1.dfsg.1/po/Rules-quot 2013-02-19 22:25:32.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/po/Rules-quot 2013-08-18 18:33:14.000000000 +0000 @@ -20,7 +20,7 @@ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ - if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ + if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) $(SED) -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ Binary files /tmp/yE5psEzN_2/texinfo-5.1.dfsg.1/po/cs.gmo and /tmp/LyEUjI056s/texinfo-5.2.0.dfsg.1/po/cs.gmo differ diff -Nru texinfo-5.1.dfsg.1/po/cs.po texinfo-5.2.0.dfsg.1/po/cs.po --- texinfo-5.1.dfsg.1/po/cs.po 2013-03-12 22:50:06.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/po/cs.po 2013-09-26 22:52:36.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: texinfo 4.0\n" "Report-Msgid-Bugs-To: bug-texinfo@gnu.org\n" -"POT-Creation-Date: 2013-03-12 15:50-0700\n" +"POT-Creation-Date: 2013-09-26 15:52-0700\n" "PO-Revision-Date: 2000-10-31 15:17+01:00\n" "Last-Translator: Vladimir Michl \n" "Language-Team: Czech \n" @@ -152,7 +152,7 @@ msgid "Unmatched ) or \\)" msgstr "Nepárová }" -#: gnulib/lib/regcomp.c:704 +#: gnulib/lib/regcomp.c:707 #, fuzzy msgid "No previous regular expression" msgstr "Není pøedchozí hledaný øetìzec" @@ -162,11 +162,11 @@ msgid "memory exhausted" msgstr "virtuální pamì» vyèerpána" -#: info/echo-area.c:283 info/session.c:985 +#: info/echo-area.c:283 info/session.c:978 msgid "Move forward a character" msgstr "Posun na následující znak" -#: info/echo-area.c:295 info/session.c:1012 +#: info/echo-area.c:295 info/session.c:1005 msgid "Move backward a character" msgstr "Posun na pøedcházející znak" @@ -178,11 +178,11 @@ msgid "Move to the end of this line" msgstr "Pøesun na konec tohoto øádku" -#: info/echo-area.c:320 info/session.c:1044 +#: info/echo-area.c:320 info/session.c:1037 msgid "Move forward a word" msgstr "Posun na následující slovo" -#: info/echo-area.c:360 info/session.c:1068 +#: info/echo-area.c:360 info/session.c:1061 msgid "Move backward a word" msgstr "Posun na pøedcházející slovo" @@ -269,19 +269,34 @@ msgstr[0] "%d doplnìní:\n" msgstr[1] "%d doplnìní:\n" -#: info/echo-area.c:1089 +#: info/echo-area.c:1091 msgid "Insert completion" msgstr "Vlo¾ení doplnìní" -#: info/echo-area.c:1224 +#: info/echo-area.c:1228 #, c-format msgid "Building completions..." msgstr "Hledám doplnìní..." -#: info/echo-area.c:1343 +#: info/echo-area.c:1347 msgid "Scroll the completions window" msgstr "Odrolování obsahu okna s doplnìními" +#: info/filesys.c:88 +#, fuzzy, c-format +msgid "looking for file \"%s\"" +msgstr "Výstupní soubor `%s' nelze vytvoøit." + +#: info/filesys.c:178 +#, fuzzy, c-format +msgid "looking for file %s in %s" +msgstr "Výstupní soubor `%s' nelze vytvoøit." + +#: info/filesys.c:209 info/filesys.c:224 info/filesys.c:245 +#, fuzzy, c-format +msgid "found file %s" +msgstr "Výstupní soubor `%s' nelze vytvoøit." + #: info/footnotes.c:211 msgid "Footnotes could not be displayed" msgstr "Poznámky pod èarou nelze zobrazit" @@ -296,85 +311,85 @@ msgid "---------- Footnotes ----------" msgstr "---------------------\n" -#: info/indices.c:175 +#: info/indices.c:174 msgid "Look up a string in the index for this file" msgstr "Vyhledání øetìzce v rejstøíku tohoto souboru" -#: info/indices.c:203 info/indices.c:893 +#: info/indices.c:202 info/indices.c:885 #, c-format msgid "Finding index entries..." msgstr "Jsou hledány polo¾ky rejstøíku..." -#: info/indices.c:210 +#: info/indices.c:209 #, c-format msgid "No indices found." msgstr "®ádný rejstøík nebyl nalezen." -#: info/indices.c:220 +#: info/indices.c:219 msgid "Index entry: " msgstr "Polo¾ka rejstøíku: " -#: info/indices.c:254 info/indices.c:915 info/session.c:4133 +#: info/indices.c:253 info/indices.c:907 info/session.c:4204 #, c-format msgid "Search string too short" msgstr "" -#: info/indices.c:366 +#: info/indices.c:365 msgid "" "Go to the next matching index item from the last `\\[index-search]' command" msgstr "" "Posun na dal¹í polo¾ku rejstøíku, odpovídající øetìzci z minulého pøíkazu `" "\\[index-search]'" -#: info/indices.c:377 +#: info/indices.c:376 #, c-format msgid "No previous index search string." msgstr "Není zadán øetìzec, který se má vyhledávat v rejstøíku(cích)." -#: info/indices.c:384 +#: info/indices.c:383 #, c-format msgid "No index entries." msgstr "Nejsou polo¾ky rejstøíku." -#: info/indices.c:432 +#: info/indices.c:431 #, fuzzy, c-format msgid "No more index entries containing `%s'." msgstr "Ji¾ není %spolo¾ka rejstøíku, která obsahuje \"%s\"." -#: info/indices.c:433 info/indices.c:951 +#: info/indices.c:432 info/indices.c:942 #, fuzzy, c-format msgid "No index entries containing `%s'." msgstr "Ji¾ není %spolo¾ka rejstøíku, která obsahuje \"%s\"." -#: info/indices.c:445 +#: info/indices.c:444 msgid "CAN'T SEE THIS" msgstr "TOTO NELZE VIDÌT" -#: info/indices.c:481 +#: info/indices.c:480 #, fuzzy, c-format msgid "Found `%s' in %s. (`\\[next-index-match]' tries to find next.)" msgstr "Nalezeno \"%s\" v %s. (`\\[next-index-match]' - hledání dal¹í.)" -#: info/indices.c:612 +#: info/indices.c:611 #, fuzzy, c-format msgid "Scanning indices of `%s'..." msgstr "Prohledávám tyto rejstøíky \"%s\"..." -#: info/indices.c:666 +#: info/indices.c:659 #, c-format msgid "No available info files have `%s' in their indices." msgstr "" -#: info/indices.c:692 +#: info/indices.c:685 msgid "Grovel all known info file's indices for a string and build a menu" msgstr "" "Vyhledání øetìzce ve v¹ech známých rejstøících info souborù a vytvoøení menu" -#: info/indices.c:696 +#: info/indices.c:689 msgid "Index apropos: " msgstr "Hledat v rejstøíku odkaz na:" -#: info/indices.c:724 +#: info/indices.c:717 #, fuzzy, c-format msgid "" "\n" @@ -383,32 +398,71 @@ "\n" "* Menu: Uzly jejich¾ rejstøíky obsahují \"%s\":\n" -#: info/indices.c:876 +#: info/indices.c:869 msgid "List all matches of a string in the index" msgstr "" -#: info/indices.c:899 +#: info/indices.c:891 #, fuzzy, c-format msgid "No index" msgstr "Nejsou polo¾ky rejstøíku." -#: info/indices.c:903 +#: info/indices.c:895 #, fuzzy msgid "Index topic: " msgstr "Hledat v rejstøíku odkaz na:" -#: info/indices.c:922 +#: info/indices.c:913 #, fuzzy, c-format msgid "Index for `%s'" msgstr " pro %s" -#: info/info.c:280 info/infokey.c:892 +#: info/indices.c:966 +#, fuzzy, c-format +msgid "File names matching `%s'" +msgstr "Chybí odpovídající `%cend %s'" + +#: info/indices.c:996 +msgid "Show all matching files" +msgstr "" + +#: info/indices.c:1000 +#, fuzzy, c-format +msgid "No file index" +msgstr "Nejsou polo¾ky rejstøíku." + +#: info/info.c:316 +#, c-format +msgid "no index entries found for `%s'\n" +msgstr "odpovídající polo¾ky rejstøíku nebyly pro `%s' nalezeny\n" + +#: info/info.c:490 +#, c-format +msgid "invalid number: %s\n" +msgstr "" + +#: info/info.c:641 +#, c-format +msgid "malformed variable assignment: %s" +msgstr "" + +#: info/info.c:650 info/infomap.c:1218 +#, fuzzy, c-format +msgid "%s: no such variable" +msgstr "Neznámý pøíkaz `%s'" + +#: info/info.c:654 info/infomap.c:1222 +#, fuzzy, c-format +msgid "value %s is not valid for variable %s" +msgstr "Nastavení hodnoty Info promìnné" + +#: info/info.c:671 info/infokey.c:892 #, c-format msgid "Try --help for more information.\n" msgstr "Více informací mù¾ete získat pomocí pøepínaèe --help.\n" -#: info/info.c:299 info/infokey.c:144 install-info/install-info.c:2163 -#: tp/texi2any.pl:856 util/texindex.c:295 +#: info/info.c:693 info/infokey.c:144 install-info/install-info.c:2163 +#: tp/texi2any.pl:861 util/texindex.c:295 #, c-format, perl-format msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -418,12 +472,17 @@ "There is NO WARRANTY, to the extent permitted by law.\n" msgstr "" -#: info/info.c:513 +#: info/info.c:785 +#, fuzzy, c-format +msgid "can't open %s: %s" +msgstr "Výstup %s pro expanzi makra nelze otevøít" + +#: info/info.c:791 #, c-format -msgid "no index entries found for `%s'\n" -msgstr "odpovídající polo¾ky rejstøíku nebyly pro `%s' nalezeny\n" +msgid "debugging output diverted to \"%s\"" +msgstr "" -#: info/info.c:626 +#: info/info.c:877 #, c-format msgid "" "Usage: %s [OPTION]... [MENU-ITEM...]\n" @@ -431,47 +490,50 @@ "Read documentation in Info format.\n" msgstr "" -#: info/info.c:632 +#: info/info.c:883 msgid "" "Options:\n" +" -a, --all use all matching manuals.\n" " -k, --apropos=STRING look up STRING in all indices of all " "manuals.\n" " -d, --directory=DIR add DIR to INFOPATH.\n" -" --dribble=FILENAME remember user keystrokes in FILENAME.\n" -" -f, --file=FILENAME specify Info file to visit." +" --dribble=FILE remember user keystrokes in FILENAME.\n" +" -f, --file=MANUAL specify Info manual to visit." msgstr "" -#: info/info.c:639 +#: info/info.c:891 msgid "" " -h, --help display this help and exit.\n" " --index-search=STRING go to node pointed by index entry STRING.\n" " -n, --node=NODENAME specify nodes in first visited Info file.\n" -" -o, --output=FILENAME output selected nodes to FILENAME." +" -o, --output=FILE output selected nodes to FILE." msgstr "" -#: info/info.c:645 +#: info/info.c:897 msgid "" " -R, --raw-escapes output \"raw\" ANSI escapes (default).\n" " --no-raw-escapes output escapes as literal text.\n" -" --restore=FILENAME read initial keystrokes from FILENAME.\n" +" --restore=FILE read initial keystrokes from FILE.\n" " -O, --show-options, --usage go to command-line options node." msgstr "" -#: info/info.c:652 +#: info/info.c:904 msgid " -b, --speech-friendly be friendly to speech synthesizers." msgstr "" -#: info/info.c:656 +#: info/info.c:908 msgid "" " --strict-node-location (for debugging) use Info file pointers as-" "is.\n" " --subnodes recursively output menu items.\n" +" -v, --variable VAR=VALUE assign VALUE to Info variable VAR.\n" " --vi-keys use vi-like and less-like key bindings.\n" " --version display version information and exit.\n" -" -w, --where, --location print physical location of Info file." +" -w, --where, --location print physical location of Info file.\n" +" -x, --debug=NUMBER set debugging level (-1 for all).\n" msgstr "" -#: info/info.c:663 +#: info/info.c:917 msgid "" "\n" "The first non-option argument, if present, is the menu entry to start from;\n" @@ -481,13 +543,13 @@ "items relative to the initial node visited." msgstr "" -#: info/info.c:670 +#: info/info.c:924 msgid "" "\n" "For a summary of key bindings, type h within Info." msgstr "" -#: info/info.c:673 +#: info/info.c:927 msgid "" "\n" "Examples:\n" @@ -501,7 +563,7 @@ " info -f ./foo.info show file ./foo.info, not searching dir" msgstr "" -#: info/info.c:684 info/infokey.c:911 util/texindex.c:259 +#: info/info.c:938 info/infokey.c:911 util/texindex.c:259 #, fuzzy msgid "" "\n" @@ -515,362 +577,362 @@ "obecné otázky smìøujte na . Pøipomínky k pøekladu\n" "zasílejte na (èesky).\n" -#: info/info.c:718 +#: info/info.c:972 #, c-format msgid "Cannot find node `%s'." msgstr "Uzel `%s' nelze nalézt." -#: info/info.c:719 +#: info/info.c:973 #, c-format msgid "Cannot find node `(%s)%s'." msgstr "Uzel `(%s)%s' nelze nalézt." -#: info/info.c:720 +#: info/info.c:974 msgid "Cannot find a window!" msgstr "Nelze nalézt okno!" -#: info/info.c:721 +#: info/info.c:975 msgid "Point doesn't appear within this window's node!" msgstr "Bod se nevyskutuje v oknì tohoto uzlu!" -#: info/info.c:722 +#: info/info.c:976 msgid "Cannot delete the last window." msgstr "Poslední okno nelze smazat." -#: info/info.c:723 +#: info/info.c:977 msgid "No menu in this node." msgstr "V tomto uzlu není menu." -#: info/info.c:724 +#: info/info.c:978 msgid "No footnotes in this node." msgstr "V tomto nejsou poznámky pod èarou." -#: info/info.c:725 +#: info/info.c:979 msgid "No cross references in this node." msgstr "V tomto uzlu není køí¾ový odkaz." -#: info/info.c:726 +#: info/info.c:980 #, c-format msgid "No `%s' pointer for this node." msgstr "Pro tento uzel není `%s' ukazatel." -#: info/info.c:727 +#: info/info.c:981 #, c-format msgid "Unknown Info command `%c'; try `?' for help." msgstr "Neznámý Info pøíkaz `%c'; zkuste `?' pro nápovìdu." -#: info/info.c:728 +#: info/info.c:982 #, c-format msgid "Terminal type `%s' is not smart enough to run Info." msgstr "Typ terminálu `%s' není dostateènì inteligentní pro provoz Infa." -#: info/info.c:729 +#: info/info.c:983 msgid "You are already at the last page of this node." msgstr "Ji¾ jste na poslední stránce tohoto uzlu." -#: info/info.c:730 +#: info/info.c:984 msgid "You are already at the first page of this node." msgstr "Ji¾ jste na první stránce tohoto uzlu." -#: info/info.c:731 +#: info/info.c:985 msgid "Only one window." msgstr "Pouze jedno okno." -#: info/info.c:732 +#: info/info.c:986 msgid "Resulting window would be too small." msgstr "Výsledné okno by bylo pøíli¹ malé." -#: info/info.c:733 +#: info/info.c:987 msgid "Not enough room for a help window, please delete a window." msgstr "Není volné místo pro okno nápovìdy, prosím sma¾te nìkteré okno." -#: info/infodoc.c:46 +#: info/infodoc.c:45 msgid "Basic Info command keys\n" msgstr "" -#: info/infodoc.c:48 +#: info/infodoc.c:47 #, fuzzy msgid "\\%-10[quit-help] Close this help window.\n" msgstr " %-10s Ukonèení prohlí¾ení nápovìdy.\n" -#: info/infodoc.c:49 +#: info/infodoc.c:48 #, fuzzy msgid "\\%-10[quit] Quit Info altogether.\n" msgstr " %-10s Celkové ukonèení Infa.\n" -#: info/infodoc.c:50 +#: info/infodoc.c:49 #, fuzzy msgid "\\%-10[get-info-help-node] Invoke the Info tutorial.\n" msgstr " %-10s Vyvolání prùvodce Infem.\n" -#: info/infodoc.c:52 +#: info/infodoc.c:51 #, fuzzy msgid "\\%-10[prev-line] Move up one line.\n" msgstr " %-10s Posun o jeden øádek dozadu.\n" -#: info/infodoc.c:53 +#: info/infodoc.c:52 #, fuzzy msgid "\\%-10[next-line] Move down one line.\n" msgstr " %-10s Posun o jeden øádek dopøedu.\n" -#: info/infodoc.c:54 +#: info/infodoc.c:53 #, fuzzy msgid "\\%-10[scroll-backward] Scroll backward one screenful.\n" msgstr " %-10s Pøedchozí stránka.\n" -#: info/infodoc.c:55 +#: info/infodoc.c:54 #, fuzzy msgid "\\%-10[scroll-forward] Scroll forward one screenful.\n" msgstr " %-10s Následující stránka.\n" -#: info/infodoc.c:56 +#: info/infodoc.c:55 #, fuzzy msgid "\\%-10[beginning-of-node] Go to the beginning of this node.\n" msgstr " %-10s Pøesun na zaèátek aktuálního uzlu.\n" -#: info/infodoc.c:57 +#: info/infodoc.c:56 #, fuzzy msgid "\\%-10[end-of-node] Go to the end of this node.\n" msgstr " %-10s Pøesun na konec tohoto uzlu.\n" -#: info/infodoc.c:59 +#: info/infodoc.c:58 #, fuzzy msgid "\\%-10[move-to-next-xref] Skip to the next hypertext link.\n" msgstr " %-10s Skok na následující hypertextový odkaz v tomto uzlu.\n" -#: info/infodoc.c:60 +#: info/infodoc.c:59 #, fuzzy msgid "" "\\%-10[select-reference-this-line] Follow the hypertext link under the " "cursor.\n" msgstr " %-10s Následování hypertextového odkazu pod kurzorem.\n" -#: info/infodoc.c:61 +#: info/infodoc.c:60 #, fuzzy msgid "\\%-10[history-node] Go back to the last node seen in this window.\n" msgstr " %-10s Pøesun na poslední uzel zobrazený v tomto oknì.\n" -#: info/infodoc.c:63 +#: info/infodoc.c:62 #, fuzzy msgid "\\%-10[global-prev-node] Go to the previous node in the document.\n" msgstr " %-10s Pøesun na \"pøedchozí\" uzel tohoto uzlu.\n" -#: info/infodoc.c:64 +#: info/infodoc.c:63 #, fuzzy msgid "\\%-10[global-next-node] Go to the next node in the document.\n" msgstr " %-10s Pøesun na \"dal¹í\" uzel tohoto uzlu.\n" -#: info/infodoc.c:65 +#: info/infodoc.c:64 #, fuzzy msgid "\\%-10[prev-node] Go to the previous node on this level.\n" msgstr " %-10s Pøesun na \"pøedchozí\" uzel tohoto uzlu.\n" -#: info/infodoc.c:66 +#: info/infodoc.c:65 #, fuzzy msgid "\\%-10[next-node] Go to the next node on this level.\n" msgstr " %-10s Pøesun na \"dal¹í\" uzel tohoto uzlu.\n" -#: info/infodoc.c:67 +#: info/infodoc.c:66 #, fuzzy msgid "\\%-10[up-node] Go up one level.\n" msgstr " %-10s Pøesun \"nahoru\" z aktuálního uzlu.\n" -#: info/infodoc.c:68 +#: info/infodoc.c:67 #, fuzzy msgid "\\%-10[top-node] Go to the top node of this document.\n" msgstr " %-10s Pøesun na konec tohoto uzlu.\n" -#: info/infodoc.c:69 +#: info/infodoc.c:68 #, fuzzy msgid "\\%-10[dir-node] Go to the main `directory' node.\n" msgstr " %-10s Pøesun na konec tohoto uzlu.\n" -#: info/infodoc.c:71 +#: info/infodoc.c:70 #, fuzzy msgid "1...9 Pick the first...ninth item in this node's menu.\n" msgstr " %-10s Výbìr první ... deváté polo¾ky menu uzlu.\n" -#: info/infodoc.c:72 +#: info/infodoc.c:71 #, fuzzy msgid "\\%-10[last-menu-item] Pick the last item in this node's menu.\n" msgstr " %-10s Zobrazení poslední polo¾ky menu uzlu.\n" -#: info/infodoc.c:73 +#: info/infodoc.c:72 #, fuzzy msgid "\\%-10[menu-item] Pick a menu item specified by name.\n" msgstr " %-10s Vybrání polo¾ky menu zadané pomocí názvu.\n" -#: info/infodoc.c:74 +#: info/infodoc.c:73 #, fuzzy msgid "\\%-10[xref-item] Follow a cross reference specified by name.\n" msgstr " %-10s Následování køí¾ového odkazu. Ète název odkazu.\n" -#: info/infodoc.c:75 +#: info/infodoc.c:74 #, fuzzy msgid "\\%-10[goto-node] Go to a node specified by name.\n" msgstr " %-10s Pøesun na uzel zadaný pomocí jména.\n" -#: info/infodoc.c:77 +#: info/infodoc.c:76 #, fuzzy msgid "\\%-10[search] Search forward for a specified string.\n" msgstr " %-10s Hledání zadaného øetìzce v tomto Info souboru.\n" -#: info/infodoc.c:78 +#: info/infodoc.c:77 #, fuzzy msgid "\\%-10[search-previous] Search for previous occurrence.\n" msgstr " %-10s Pøesun na \"pøedchozí\" uzel tohoto uzlu.\n" -#: info/infodoc.c:79 +#: info/infodoc.c:78 #, fuzzy msgid "\\%-10[search-next] Search for next occurrence.\n" msgstr "" " %-10s Hledání zadaného øetìzce v rejstøíku tohoto Info souboru a výbìr\n" -#: info/infodoc.c:80 +#: info/infodoc.c:79 #, fuzzy msgid "" "\\%-10[index-search] Search for a specified string in the index, and\n" " select the node referenced by the first entry found.\n" msgstr " uzlu, na který ukazuje první nalezená polo¾ka.\n" -#: info/infodoc.c:82 +#: info/infodoc.c:81 msgid "\\%-10[virtual-index] Synthesize menu of matching index entries.\n" msgstr "" -#: info/infodoc.c:84 +#: info/infodoc.c:83 #, fuzzy msgid "\\%-10[abort-key] Cancel the current operation.\n" msgstr "Zru¹ení aktuální operace" -#: info/infodoc.c:92 +#: info/infodoc.c:91 #, fuzzy msgid "" "Basic Commands in Info Windows\n" "******************************\n" msgstr "Základní pøíkazy v Info oknech\n" -#: info/infodoc.c:95 +#: info/infodoc.c:94 #, c-format msgid " %-10s Quit this help.\n" msgstr " %-10s Ukonèení prohlí¾ení nápovìdy.\n" -#: info/infodoc.c:96 +#: info/infodoc.c:95 #, c-format msgid " %-10s Quit Info altogether.\n" msgstr " %-10s Celkové ukonèení Infa.\n" -#: info/infodoc.c:97 +#: info/infodoc.c:96 #, c-format msgid " %-10s Invoke the Info tutorial.\n" msgstr " %-10s Vyvolání prùvodce Infem.\n" -#: info/infodoc.c:101 +#: info/infodoc.c:100 #, c-format msgid " %-10s Move to the `next' node of this node.\n" msgstr " %-10s Pøesun na \"dal¹í\" uzel tohoto uzlu.\n" -#: info/infodoc.c:102 +#: info/infodoc.c:101 #, c-format msgid " %-10s Move to the `previous' node of this node.\n" msgstr " %-10s Pøesun na \"pøedchozí\" uzel tohoto uzlu.\n" -#: info/infodoc.c:103 +#: info/infodoc.c:102 #, c-format msgid " %-10s Move `up' from this node.\n" msgstr " %-10s Pøesun \"nahoru\" z aktuálního uzlu.\n" -#: info/infodoc.c:104 +#: info/infodoc.c:103 #, fuzzy, c-format msgid "" " %-10s Pick menu item specified by name.\n" " Picking a menu item causes another node to be selected.\n" msgstr " Vybírání polo¾ky menu zpùsobí zobrazení tohoto uzlu.\n" -#: info/infodoc.c:106 +#: info/infodoc.c:105 #, c-format msgid " %-10s Follow a cross reference. Reads name of reference.\n" msgstr " %-10s Následování køí¾ového odkazu. Ète název odkazu.\n" -#: info/infodoc.c:107 +#: info/infodoc.c:106 #, c-format msgid " %-10s Move to the last node seen in this window.\n" msgstr " %-10s Pøesun na poslední uzel zobrazený v tomto oknì.\n" -#: info/infodoc.c:108 +#: info/infodoc.c:107 #, c-format msgid " %-10s Skip to next hypertext link within this node.\n" msgstr " %-10s Skok na následující hypertextový odkaz v tomto uzlu.\n" -#: info/infodoc.c:109 +#: info/infodoc.c:108 #, c-format msgid " %-10s Follow the hypertext link under cursor.\n" msgstr " %-10s Následování hypertextového odkazu pod kurzorem.\n" -#: info/infodoc.c:110 +#: info/infodoc.c:109 #, c-format msgid " %-10s Move to the `directory' node. Equivalent to `g (DIR)'.\n" msgstr " %-10s Pøesun do `adresáøového' uzlu. Rovnocenné s `g (DIR)'.\n" -#: info/infodoc.c:111 +#: info/infodoc.c:110 #, c-format msgid " %-10s Move to the Top node. Equivalent to `g Top'.\n" msgstr " %-10s Pøesun do nejvy¹¹ího (Top) uzlu. Rovnocenné s `g Top'.\n" -#: info/infodoc.c:113 +#: info/infodoc.c:112 #, fuzzy msgid "" "Moving within a node:\n" "---------------------\n" msgstr "Pøesun uvnitø uzlu:\n" -#: info/infodoc.c:115 +#: info/infodoc.c:114 #, c-format msgid " %-10s Scroll forward a page.\n" msgstr " %-10s Následující stránka.\n" -#: info/infodoc.c:116 +#: info/infodoc.c:115 #, c-format msgid " %-10s Scroll backward a page.\n" msgstr " %-10s Pøedchozí stránka.\n" -#: info/infodoc.c:117 +#: info/infodoc.c:116 #, c-format msgid " %-10s Go to the beginning of this node.\n" msgstr " %-10s Pøesun na zaèátek aktuálního uzlu.\n" -#: info/infodoc.c:118 +#: info/infodoc.c:117 #, c-format msgid " %-10s Go to the end of this node.\n" msgstr " %-10s Pøesun na konec tohoto uzlu.\n" -#: info/infodoc.c:119 +#: info/infodoc.c:118 #, c-format msgid " %-10s Scroll forward 1 line.\n" msgstr " %-10s Posun o jeden øádek dopøedu.\n" -#: info/infodoc.c:120 +#: info/infodoc.c:119 #, c-format msgid " %-10s Scroll backward 1 line.\n" msgstr " %-10s Posun o jeden øádek dozadu.\n" -#: info/infodoc.c:122 +#: info/infodoc.c:121 #, fuzzy msgid "" "Other commands:\n" "---------------\n" msgstr "Dal¹í pøíkazy:\n" -#: info/infodoc.c:124 +#: info/infodoc.c:123 #, fuzzy, c-format msgid " %-10s Pick first...ninth item in node's menu.\n" msgstr " %-10s Výbìr první ... deváté polo¾ky menu uzlu.\n" -#: info/infodoc.c:125 +#: info/infodoc.c:124 #, c-format msgid " %-10s Pick last item in node's menu.\n" msgstr " %-10s Zobrazení poslední polo¾ky menu uzlu.\n" -#: info/infodoc.c:128 +#: info/infodoc.c:127 #, fuzzy, c-format msgid "" " %-10s Search for a specified string in the index entries of this Info\n" @@ -878,14 +940,14 @@ "found.\n" msgstr " uzlu, na který ukazuje první nalezená polo¾ka.\n" -#: info/infodoc.c:130 +#: info/infodoc.c:129 #, fuzzy, c-format msgid "" " %-10s Move to node specified by name.\n" " You may include a filename as well, as in (FILENAME)NODENAME.\n" msgstr " Také mù¾ete zadat jméno souboru ve tvaru (SOUBOR)UZEL.\n" -#: info/infodoc.c:132 +#: info/infodoc.c:131 #, fuzzy, c-format msgid "" " %-10s Search forward for a specified string,\n" @@ -893,7 +955,7 @@ msgstr "" " a zobrazení uzlu, ve kterém je nalezen dal¹í výskyt tohoto øetìzce.\n" -#: info/infodoc.c:134 +#: info/infodoc.c:133 #, fuzzy, c-format msgid "" " %-10s Search backward for a specified string,\n" @@ -901,26 +963,26 @@ msgstr "" " a zobrazení uzlu, ve kterém je nalezen dal¹í výskyt tohoto øetìzce.\n" -#: info/infodoc.c:312 +#: info/infodoc.c:311 #, c-format msgid "The current search path is:\n" msgstr "Aktuální hledací cesta je:\n" -#: info/infodoc.c:315 +#: info/infodoc.c:314 #, c-format msgid "" "Commands available in Info windows:\n" "\n" msgstr "Pøíkazy dostupné v Info oknech:\n" -#: info/infodoc.c:318 +#: info/infodoc.c:317 #, c-format msgid "" "Commands available in the echo area:\n" "\n" msgstr "Pøíkazy dostupné v zobrazovacím poli:\n" -#: info/infodoc.c:339 +#: info/infodoc.c:338 #, fuzzy, c-format msgid "" "The following commands can only be invoked via %s:\n" @@ -929,7 +991,7 @@ "Následující pøíkazy mohou být vykonány pouze pomocí M-x:\n" "\n" -#: info/infodoc.c:343 +#: info/infodoc.c:342 #, fuzzy, c-format msgid "" "The following commands cannot be invoked at all:\n" @@ -938,68 +1000,68 @@ "Následující pøíkazy mohou být vykonány pouze pomocí M-x:\n" "\n" -#: info/infodoc.c:469 +#: info/infodoc.c:468 msgid "Display help message" msgstr "Zobrazení nápovìdy" -#: info/infodoc.c:487 +#: info/infodoc.c:486 msgid "Visit Info node `(info)Help'" msgstr "Zobrazení Info uzlu `(info)Help'" -#: info/infodoc.c:613 +#: info/infodoc.c:612 msgid "Print documentation for KEY" msgstr "Zobrazení dokumentace ke KLÁVESE" -#: info/infodoc.c:625 +#: info/infodoc.c:624 #, c-format msgid "Describe key: %s" msgstr "Popis klávesy: %s" -#: info/infodoc.c:635 +#: info/infodoc.c:634 #, c-format msgid "ESC %s is undefined." msgstr "ESC %s je nedefinováno." -#: info/infodoc.c:651 info/infodoc.c:679 +#: info/infodoc.c:650 info/infodoc.c:678 #, c-format msgid "%s is undefined." msgstr "%s je nedefinováno." -#: info/infodoc.c:700 +#: info/infodoc.c:699 #, c-format msgid "%s is defined to %s." msgstr "Klávesa %s je definována pro pøíkaz %s." -#: info/infodoc.c:1124 +#: info/infodoc.c:1123 msgid "Show what to type to execute a given command" msgstr "Ukázání co napsat pro spu¹tìní daného pøíkazu" -#: info/infodoc.c:1128 +#: info/infodoc.c:1127 msgid "Where is command: " msgstr "Kde je pøíkaz: " -#: info/infodoc.c:1150 +#: info/infodoc.c:1149 #, c-format msgid "`%s' is not on any keys" msgstr "Pøíkaz `%s' není na ¾ádné klávese" -#: info/infodoc.c:1156 +#: info/infodoc.c:1155 #, c-format msgid "%s can only be invoked via %s." msgstr "Pøíkaz %s mù¾e být vyvolán pouze pomocí %s." -#: info/infodoc.c:1160 +#: info/infodoc.c:1159 #, c-format msgid "%s can be invoked via %s." msgstr "Pøíkaz %s mù¾e být vyvolán pomocí %s." -#: info/infodoc.c:1165 +#: info/infodoc.c:1164 #, c-format msgid "There is no function named `%s'" msgstr "Funkce `%s' není známa" # Udìlat patch na podtr¾ení -#: info/infodoc.c:99 +#: info/infodoc.c:98 #, fuzzy msgid "" "Selecting other nodes:\n" @@ -1115,84 +1177,84 @@ " --version display version information and exit.\n" msgstr "" -#: info/infomap.c:956 +#: info/infomap.c:959 #, c-format msgid "Ignoring invalid infokey file `%s' - too small" msgstr "" -#: info/infomap.c:959 +#: info/infomap.c:962 #, c-format msgid "Ignoring invalid infokey file `%s' - too big" msgstr "" -#: info/infomap.c:972 +#: info/infomap.c:975 #, c-format msgid "Error reading infokey file `%s' - short read" msgstr "" -#: info/infomap.c:991 +#: info/infomap.c:993 #, c-format msgid "" "Invalid infokey file `%s' (bad magic numbers) -- run infokey to update it" msgstr "" -#: info/infomap.c:1000 +#: info/infomap.c:1001 #, c-format msgid "Your infokey file `%s' is out of date -- run infokey to update it" msgstr "" -#: info/infomap.c:1016 +#: info/infomap.c:1017 #, c-format msgid "" "Invalid infokey file `%s' (bad section length) -- run infokey to update it" msgstr "" -#: info/infomap.c:1037 +#: info/infomap.c:1041 #, c-format msgid "" "Invalid infokey file `%s' (bad section code) -- run infokey to update it" msgstr "" -#: info/infomap.c:1172 +#: info/infomap.c:1171 msgid "Bad data in infokey file -- some key bindings ignored" msgstr "" -#: info/infomap.c:1221 +#: info/infomap.c:1236 msgid "Bad data in infokey file -- some var settings ignored" msgstr "" -#: info/m-x.c:68 +#: info/m-x.c:67 msgid "Read the name of an Info command and describe it" msgstr "Zadání jména pøíkazu a následné zobrazení jeho popisu" -#: info/m-x.c:72 +#: info/m-x.c:71 msgid "Describe command: " msgstr "Popis pøíkazu: " -#: info/m-x.c:95 +#: info/m-x.c:94 msgid "Read a command name in the echo area and execute it" msgstr "Zadání jména pøíkazu v zobrazovacím poli a jeho vykonání" -#: info/m-x.c:139 +#: info/m-x.c:138 #, c-format msgid "Cannot execute an `echo-area' command here." msgstr "Pøíkaz zobrazovacího pole nelze vykonat zde." -#: info/m-x.c:152 +#: info/m-x.c:151 #, fuzzy, c-format msgid "Undefined command: %s" msgstr "Neznámý pøíkaz `%s'" -#: info/m-x.c:158 +#: info/m-x.c:157 msgid "Set the height of the displayed window" msgstr "Nastavení vý¹ky obrazovky" -#: info/m-x.c:171 +#: info/m-x.c:170 #, c-format msgid "Set screen height to (%d): " msgstr "Vý¹ka obrazovky (%d): " -#: info/makedoc.c:166 info/makedoc.c:174 +#: info/makedoc.c:167 info/makedoc.c:175 #, c-format msgid "" " Source files groveled to make this file include:\n" @@ -1201,7 +1263,7 @@ "Pøi zpracování zdrojového souboru jsou vkládány tyto soubory:\n" "\n" -#: info/makedoc.c:556 +#: info/makedoc.c:557 #, c-format msgid "Couldn't manipulate the file %s.\n" msgstr "Se souborem %s nelze pracovat.\n" @@ -1218,7 +1280,7 @@ " (Soubor)Uzel Øádkù Velikost Soubor\n" " ------------ ----- -------- ------" -#: info/nodemenu.c:201 +#: info/nodemenu.c:200 msgid "" "Here is the menu of nodes you have recently visited.\n" "Select one from this menu, or use `\\[history-node]' in another window.\n" @@ -1226,19 +1288,19 @@ " Zde je seznam uzlù, které jste poslední dobou nav¹tívil. Vyberte jeden\n" "z tohoto menu, nebo u¾ijte `\\[history-node]' v tomto oknì.\n" -#: info/nodemenu.c:221 +#: info/nodemenu.c:220 msgid "Make a window containing a menu of all of the currently visited nodes" msgstr "Vytvoøení okna obsahujícího menu v¹ech aktuálnì nav¹tívených uzlù" -#: info/nodemenu.c:301 +#: info/nodemenu.c:300 msgid "Select a node which has been previously visited in a visible window" msgstr "Zobrazení uzlu, který byl zobrazen pøed tímto" -#: info/nodemenu.c:314 +#: info/nodemenu.c:313 msgid "Select visited node: " msgstr "Vyberte nav¹tívený uzel: " -#: info/nodemenu.c:334 info/session.c:2598 +#: info/nodemenu.c:333 info/session.c:2617 #, c-format msgid "The reference disappeared! (%s)." msgstr "Odkaz se ztratil! (%s)." @@ -1262,516 +1324,541 @@ "Vítejte v programu Info verze %s. Stisknìte \\[get-help-window] pro " "nápovìdu, \\[menu-item] pro polo¾ku menu." -#: info/session.c:628 +#: info/session.c:621 msgid "Move down to the next line" msgstr "Posun dolù na dal¹í øádek" -#: info/session.c:680 +#: info/session.c:673 msgid "Move up to the previous line" msgstr "Posun nahoru na pøedchozí øádek" -#: info/session.c:950 +#: info/session.c:943 msgid "Move to the end of the line" msgstr "Pøesun na konec øádku" -#: info/session.c:961 +#: info/session.c:954 msgid "Move to the start of the line" msgstr "Pøesun na zaèátek øádku" -#: info/session.c:1161 +#: info/session.c:1156 msgid "Next" msgstr "Dal¹í" -#: info/session.c:1177 info/session.c:1301 +#: info/session.c:1172 info/session.c:1296 msgid "No more nodes within this document." msgstr "V tomto dokumentu ji¾ nejsou dal¹í uzly." -#: info/session.c:1326 +#: info/session.c:1321 msgid "No `Prev' for this node." msgstr "Pro tento uzel není pøedchozí uzel." -#: info/session.c:1346 +#: info/session.c:1341 msgid "No `Prev' or `Up' for this node within this document." msgstr "V tomto dokumentu není pro tento uzel pøedchozí nebo vy¹¹í uzel." -#: info/session.c:1407 +#: info/session.c:1402 msgid "Move forwards or down through node structure" msgstr "Pøesun na následující uzel nebo na první ni¾¹í v uzlové struktuøe" -#: info/session.c:1423 +#: info/session.c:1418 msgid "Move backwards or up through node structure" msgstr "Pøesun na pøedchozí uzel nebo na první vy¹¹í v uzlové struktuøe" -#: info/session.c:1524 +#: info/session.c:1519 msgid "Scroll forward in this window" msgstr "Posun o stránku dolù v tomto oknì" -#: info/session.c:1532 +#: info/session.c:1527 msgid "Scroll forward in this window and set default window size" msgstr "Posun dopøedu v tomto oknì a nastavení implicitní velikosti okna" -#: info/session.c:1540 +#: info/session.c:1535 #, fuzzy msgid "Scroll forward in this window staying within node" msgstr "Posun o stránku dolù v tomto oknì" -#: info/session.c:1548 +#: info/session.c:1543 #, fuzzy msgid "" "Scroll forward in this window staying within node and set default window size" msgstr "Posun dopøedu v tomto oknì a nastavení implicitní velikosti okna" -#: info/session.c:1556 +#: info/session.c:1551 msgid "Scroll backward in this window" msgstr "Posun o stránku nahoru v tomto oknì" -#: info/session.c:1564 +#: info/session.c:1559 msgid "Scroll backward in this window and set default window size" msgstr "Posun dozadu v tomto oknì a nastavení implicitní velikosti okna" -#: info/session.c:1573 +#: info/session.c:1568 #, fuzzy msgid "Scroll backward in this window staying within node" msgstr "Posun o stránku nahoru v tomto oknì" -#: info/session.c:1581 +#: info/session.c:1576 #, fuzzy msgid "" "Scroll backward in this window staying within node and set default window " "size" msgstr "Posun dozadu v tomto oknì a nastavení implicitní velikosti okna" -#: info/session.c:1589 +#: info/session.c:1584 msgid "Move to the start of this node" msgstr "Posun na zaèátek tohoto uzlu" -#: info/session.c:1596 +#: info/session.c:1591 msgid "Move to the end of this node" msgstr "Posun na konec tohoto uzlu" -#: info/session.c:1603 +#: info/session.c:1598 msgid "Scroll down by lines" msgstr "Posun dolù po øádcích" -#: info/session.c:1620 +#: info/session.c:1615 msgid "Scroll up by lines" msgstr "Posun nahoru po øádcích" -#: info/session.c:1638 +#: info/session.c:1633 msgid "Scroll down by half screen size" msgstr "Posun dolù o polovinu velikosti obrazovky" -#: info/session.c:1664 +#: info/session.c:1659 msgid "Scroll up by half screen size" msgstr "Posun nahoru o polovinu velikosti obrazovky" -#: info/session.c:1693 +#: info/session.c:1688 msgid "Select the next window" msgstr "Výbìr následujícího okna" -#: info/session.c:1732 +#: info/session.c:1727 msgid "Select the previous window" msgstr "Výbìr pøedchozího okna" -#: info/session.c:1783 +#: info/session.c:1778 msgid "Split the current window" msgstr "Rozdìlení aktuálního okna" -#: info/session.c:1865 +#: info/session.c:1862 msgid "Delete the current window" msgstr "Smazání aktuálního okna" -#: info/session.c:1873 +#: info/session.c:1870 msgid "Cannot delete a permanent window" msgstr "Permanentní okno nelze smazat" -#: info/session.c:1905 +#: info/session.c:1902 msgid "Delete all other windows" msgstr "Smazání v¹ech ostatních oknen" -#: info/session.c:1951 +#: info/session.c:1948 msgid "Scroll the other window" msgstr "Posun druhého okna o stránku dolù" -#: info/session.c:1972 +#: info/session.c:1969 msgid "Scroll the other window backward" msgstr "Posun druhého okna o stránku zpìt" -#: info/session.c:1978 +#: info/session.c:1975 msgid "Grow (or shrink) this window" msgstr "Zmìna velikosti okna" -#: info/session.c:1989 +#: info/session.c:1986 msgid "Divide the available screen space among the visible windows" msgstr "Zvìt¹ení nebo zmen¹ení oken na obrazovce tak, aby byla stejnì velká" -#: info/session.c:1996 +#: info/session.c:1993 msgid "Toggle the state of line wrapping in the current window" msgstr "" "Zmìna stavu zalamování v aktuálním oknì (zapnuto->vypni, vypnuto->zapni)" -#: info/session.c:2003 +#: info/session.c:2000 msgid "Toggle the usage of regular expressions in searches" msgstr "" -#: info/session.c:2007 +#: info/session.c:2004 #, c-format msgid "Using regular expressions for searches." msgstr "" -#: info/session.c:2008 +#: info/session.c:2005 #, c-format msgid "Using literal strings for searches." msgstr "" -#: info/session.c:2178 +#: info/session.c:2197 msgid "Select the Next node" msgstr "Zobrazení následujícího uzlu" -#: info/session.c:2186 +#: info/session.c:2205 msgid "Select the Prev node" msgstr "Zobrazení pøedchozího uzlu" -#: info/session.c:2194 +#: info/session.c:2213 msgid "Select the Up node" msgstr "Zobrazení vy¹¹ího uzlu" -#: info/session.c:2201 +#: info/session.c:2220 msgid "Select the last node in this file" msgstr "Zobrazení posledního uzlu v tomto souboru" -#: info/session.c:2229 info/session.c:2263 +#: info/session.c:2248 info/session.c:2282 msgid "This window has no additional nodes" msgstr "Toto okno nemá více dal¹ích uzlù" -#: info/session.c:2235 +#: info/session.c:2254 msgid "Select the first node in this file" msgstr "Zobrazení prvního uzlu v tomto souboru" -#: info/session.c:2270 +#: info/session.c:2289 msgid "Select the last item in this node's menu" msgstr "Zobrazení poslední polo¾ky menu tohoto uzlu" -#: info/session.c:2276 +#: info/session.c:2295 msgid "Select this menu item" msgstr "Zobrazení této polo¾ky menu" -#: info/session.c:2309 +#: info/session.c:2328 #, fuzzy, c-format msgid "There isn't %d item in this menu." msgid_plural "There aren't %d items in this menu." msgstr[0] "V tomto menu není %d. polo¾ka" msgstr[1] "V tomto menu není %d. polo¾ka" -#: info/session.c:2505 info/session.c:2506 +#: info/session.c:2524 info/session.c:2525 #, c-format msgid "Menu item (%s): " msgstr "Polo¾ka menu (%s): " -#: info/session.c:2509 +#: info/session.c:2528 msgid "Menu item: " msgstr "Polo¾ka menu: " -#: info/session.c:2516 info/session.c:2517 +#: info/session.c:2535 info/session.c:2536 #, c-format msgid "Follow xref (%s): " msgstr "Následování køí¾ového odkazu (%s): " -#: info/session.c:2520 +#: info/session.c:2539 msgid "Follow xref: " msgstr "Následování køí¾ového odkazu: " -#: info/session.c:2647 +#: info/session.c:2660 msgid "Read a menu item and select its node" msgstr "Zadání jména polo¾ky menu a následné zobrazení" -#: info/session.c:2655 +#: info/session.c:2668 msgid "Read a footnote or cross reference and select its node" msgstr "" "Zadání jména poznámky pod èarou nebo køí¾ového odkazu a následné zobrazení" -#: info/session.c:2661 +#: info/session.c:2674 msgid "Move to the start of this node's menu" msgstr "Pøesun na zaèátek menu tohoto uzlu" -#: info/session.c:2683 +#: info/session.c:2696 msgid "Visit as many menu items at once as possible" msgstr "" "Nav¹tívení tolika polo¾ek menu, kolik je mo¾no. Ka¾dá polo¾ka v jiném oknì." -#: info/session.c:2711 +#: info/session.c:2724 msgid "Read a node name and select it" msgstr "Zadání jména uzlu a jeho následné zobrazení" -#: info/session.c:2766 info/session.c:2771 +#: info/session.c:2778 info/session.c:2783 msgid "Goto node: " msgstr "Pøesun na uzel: " -#: info/session.c:2836 +#: info/session.c:2855 #, c-format msgid "No menu in node `%s'." msgstr "V uzlu `%s' není menu." -#: info/session.c:2883 +#: info/session.c:2904 #, c-format msgid "No menu item `%s' in node `%s'." msgstr "Polo¾ka menu `%s' v uzlu `%s' není." -#: info/session.c:2916 +#: info/session.c:2940 #, c-format msgid "Unable to find node referenced by `%s' in `%s'." msgstr "Uzel, na který se odkazuje `%s' v `%s', nelze najít." -#: info/session.c:2966 +#: info/session.c:2992 msgid "Read a list of menus starting from dir and follow them" msgstr "Ètení seznamu menu zaèínajíce v adresáøi a pokraèujíce dále" -#: info/session.c:2968 +#: info/session.c:2994 msgid "Follow menus: " msgstr "Následování menu: " -#: info/session.c:3161 +#: info/session.c:3187 msgid "Find the node describing program invocation" msgstr "Nalezení uzlu popisujícího pøepínaèe programu" -#: info/session.c:3163 +#: info/session.c:3189 #, c-format msgid "Find Invocation node of [%s]: " msgstr "Nalezení uzlu s pøepínaèi programu [%s]: " -#: info/session.c:3201 +#: info/session.c:3227 msgid "Read a manpage reference and select it" msgstr "Zadání jména manuálové stránky a následné zobrazení" -#: info/session.c:3205 +#: info/session.c:3231 msgid "Get Manpage: " msgstr "Manuálová stránka: " -#: info/session.c:3235 +#: info/session.c:3261 msgid "Select the node `Top' in this file" msgstr "Zobrazení nejvy¹¹ího uzlu v tomto souboru" -#: info/session.c:3241 +#: info/session.c:3267 msgid "Select the node `(dir)'" msgstr "Zobrazení uzlu `(dir)'" -#: info/session.c:3258 info/session.c:3260 +#: info/session.c:3284 info/session.c:3286 #, c-format msgid "Kill node (%s): " msgstr "Zru¹ení uzlu (%s): " -#: info/session.c:3312 +#: info/session.c:3337 #, c-format msgid "Cannot kill node `%s'" msgstr "Uzel `%s' nelze zru¹it" -#: info/session.c:3322 +#: info/session.c:3347 msgid "Cannot kill the last node" msgstr "Poslední uzel nelze zru¹it" -#: info/session.c:3408 +#: info/session.c:3433 msgid "Select the most recently selected node" msgstr "Zobrazení poslední dobou nejvíce nav¹tìvovaných uzlù" -#: info/session.c:3414 +#: info/session.c:3439 msgid "Kill this node" msgstr "Zru¹ení tohoto uzlu" -#: info/session.c:3422 +#: info/session.c:3447 msgid "Read the name of a file and select it" msgstr "Zadání jména souboru a jeho následné zobrazení" -#: info/session.c:3426 +#: info/session.c:3451 msgid "Find file: " msgstr "Nalezení souboru: " -#: info/session.c:3443 +#: info/session.c:3468 #, c-format msgid "Cannot find `%s'." msgstr "Nelze najít `%s'." -#: info/session.c:3486 info/session.c:3603 +#: info/session.c:3508 info/session.c:3633 +#, fuzzy, c-format +msgid "writing file %s" +msgstr "Zapisování uzlu %s..." + +#: info/session.c:3519 info/session.c:3644 #, c-format msgid "Could not create output file `%s'." msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: info/session.c:3499 info/session.c:3620 info/session.c:3680 -msgid "Done." -msgstr "Dokonèeno." +#: info/session.c:3533 info/session.c:3663 +#, fuzzy, c-format +msgid "error writing to %s: %s" +msgstr "Výstupní soubor `%s' nelze vytvoøit." + +#: info/session.c:3541 +#, fuzzy, c-format +msgid "closing %s" +msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: info/session.c:3554 -#, c-format -msgid "Writing node %s..." +#: info/session.c:3590 +#, fuzzy, c-format +msgid "writing node %s..." msgstr "Zapisování uzlu %s..." -#: info/session.c:3629 +#: info/session.c:3670 +#, fuzzy, c-format +msgid "closing file %s" +msgstr "Výstupní soubor `%s' nelze vytvoøit." + +#: info/session.c:3678 msgid "Pipe the contents of this node through INFO_PRINT_COMMAND" msgstr "Poslání obsahu tohoto uzlu pøíkazu INFO_PRINT_COMMAND" -#: info/session.c:3664 +#: info/session.c:3713 #, c-format msgid "Cannot open pipe to `%s'." msgstr "Rouru do `%s' nelze otevøít." -#: info/session.c:3670 -#, c-format -msgid "Printing node %s..." +#: info/session.c:3718 +#, fuzzy, c-format +msgid "printing node %s..." +msgstr "Probíhá tisk uzlu %s..." + +#: info/session.c:3726 +#, fuzzy, c-format +msgid "finished printing node %s" msgstr "Probíhá tisk uzlu %s..." -#: info/session.c:3966 +#: info/session.c:4015 msgid "Search continued from the end of the document." msgstr "" -#: info/session.c:3971 +#: info/session.c:4020 #, fuzzy msgid "Search continued from the beginning of the document." msgstr "Smazání v¹eho od zaèátku øádku do kurzoru" -#: info/session.c:3988 +#: info/session.c:4037 #, c-format msgid "Searching subfile %s ..." msgstr "Probíhá hledání podsouboru %s..." -#: info/session.c:4048 +#: info/session.c:4097 msgid "Read a string and search for it case-sensitively" msgstr "Pøeètení øetìzce a jeho vyhledání (zále¾í na velikosti písmen)" -#: info/session.c:4055 +#: info/session.c:4104 msgid "Read a string and search for it" msgstr "Pøeètení øetìzce a jeho vyhledání" -#: info/session.c:4063 +#: info/session.c:4112 msgid "Read a string and search backward for it" msgstr "Pøeètení øetìzce a jeho vyhledání (zpìtné)" -#: info/session.c:4099 info/session.c:4105 +#: info/session.c:4169 info/session.c:4175 #, fuzzy, c-format msgid "%s%s%s [%s]: " msgstr "%s%søetìzce [%s]: " -#: info/session.c:4100 info/session.c:4106 +#: info/session.c:4170 info/session.c:4176 msgid "Regexp search" msgstr "" -#: info/session.c:4101 info/session.c:4107 +#: info/session.c:4171 info/session.c:4177 #, fuzzy msgid " case-sensitively" msgstr " (velikost rozhoduje)" -#: info/session.c:4102 info/session.c:4108 +#: info/session.c:4172 info/session.c:4178 #, fuzzy msgid " backward" msgstr "Zpìtné hledání" -#: info/session.c:4106 +#: info/session.c:4176 msgid "Search" msgstr "Hledání" -#: info/session.c:4154 +#: info/session.c:4225 msgid "Search failed." msgstr "Nebylo nalezeno." -#: info/session.c:4172 +#: info/session.c:4243 msgid "Repeat last search in the same direction" msgstr "Opakování posledního hledání tím samým smìrem" -#: info/session.c:4175 info/session.c:4185 +#: info/session.c:4246 info/session.c:4267 msgid "No previous search string" msgstr "Není pøedchozí hledaný øetìzec" -#: info/session.c:4182 +#: info/session.c:4264 msgid "Repeat last search in the reverse direction" msgstr "Opakování posledního hledání opaèným smìrem" -#: info/session.c:4201 info/session.c:4207 +#: info/session.c:4294 info/session.c:4300 msgid "Search interactively for a string as you type it" msgstr "Vyhledávání zadávaného øetìzce hned pøi zadávání" -#: info/session.c:4287 +#: info/session.c:4380 #, fuzzy msgid "Regexp I-search backward: " msgstr "zpìtné interaktivní hledání: " -#: info/session.c:4288 +#: info/session.c:4381 msgid "I-search backward: " msgstr "zpìtné interaktivní hledání: " -#: info/session.c:4290 +#: info/session.c:4383 #, fuzzy msgid "Regexp I-search: " msgstr "interaktivní hledání: " -#: info/session.c:4291 +#: info/session.c:4384 msgid "I-search: " msgstr "interaktivní hledání: " -#: info/session.c:4316 info/session.c:4318 +#: info/session.c:4409 info/session.c:4411 msgid "Failing " msgstr "Bezvýsledné " -#: info/session.c:4801 +#: info/session.c:4895 msgid "Move to the previous cross reference" msgstr "Pøesun na pøedcházející køí¾ový odkaz" -#: info/session.c:4819 +#: info/session.c:4913 msgid "Move to the next cross reference" msgstr "Pøesun na následující køí¾ový odkaz" -#: info/session.c:4841 +#: info/session.c:4935 msgid "Select reference or menu item appearing on this line" msgstr "Zobrazení odkazu nebo polo¾ky menu, která je na tomto øádku" -#: info/session.c:4864 +#: info/session.c:4958 msgid "Cancel current operation" msgstr "Zru¹ení aktuální operace" -#: info/session.c:4871 +#: info/session.c:4965 msgid "Quit" msgstr "Ukonèení operace" -#: info/session.c:4880 +#: info/session.c:4974 msgid "Move the cursor to a specific line of the window" msgstr "Pøesun kurzoru na zadaný øádek okna" -#: info/session.c:4912 +#: info/session.c:5006 msgid "Redraw the display" msgstr "Pøekreslení obrazovky" -#: info/session.c:4949 +#: info/session.c:5043 msgid "Quit using Info" msgstr "Ukonèení Infa" -#: info/session.c:4962 +#: info/session.c:5058 msgid "Run command bound to this key's lowercase variant" msgstr "" -#: info/session.c:4973 +#: info/session.c:5069 #, c-format msgid "Unknown command (%s)." msgstr "Neznámý pøíkaz (%s)." -#: info/session.c:4976 +#: info/session.c:5072 #, c-format msgid "\"%s\" is invalid" msgstr "Sekvence kláves \"%s\" je neplatná" -#: info/session.c:4977 +#: info/session.c:5073 #, fuzzy, c-format msgid "`%s' is invalid" msgstr "Sekvence kláves \"%s\" je neplatná" -#: info/session.c:5192 +#: info/session.c:5288 msgid "Add this digit to the current numeric argument" msgstr "Pøidání této èíslice do aktuálního èíselného argumentu" -#: info/session.c:5201 +#: info/session.c:5297 msgid "Start (or multiply by 4) the current numeric argument" msgstr "Zaèátek (nebo dìlení ètyømi) aktuálního èíselného argumentu" -#: info/session.c:5216 +#: info/session.c:5312 msgid "Internally used by \\[universal-argument]" msgstr "Vnitønì u¾íváno funkcí \\[universal-argument]" +#: info/session.c:5388 +msgid "Show full file name of node being displayed" +msgstr "" + #: info/tilde.c:361 #, c-format msgid "readline: Out of virtual memory!\n" @@ -1834,28 +1921,32 @@ msgid "Minimal length of a search string" msgstr "" -#: info/variables.c:92 +#: info/variables.c:90 +msgid "Skip current window when searching" +msgstr "" + +#: info/variables.c:95 msgid "Explain the use of a variable" msgstr "Zobrazení popisu promìnné" -#: info/variables.c:98 +#: info/variables.c:101 msgid "Describe variable: " msgstr "Popis promìnné: " -#: info/variables.c:117 +#: info/variables.c:120 msgid "Set the value of an Info variable" msgstr "Nastavení hodnoty Info promìnné" -#: info/variables.c:123 +#: info/variables.c:126 msgid "Set variable: " msgstr "Nastavení promìnné: " -#: info/variables.c:141 +#: info/variables.c:144 #, c-format msgid "Set %s to value (%d): " msgstr "Nastavení promìnné %s na hodnotu (%d): " -#: info/variables.c:182 +#: info/variables.c:184 #, c-format msgid "Set %s to value (%s): " msgstr "Nastavení promìnné %s na hodnotu (%s): " @@ -1985,7 +2076,7 @@ " --version display version information and exit." msgstr "" -#: install-info/install-info.c:603 tp/texi2any.pl:844 +#: install-info/install-info.c:603 tp/texi2any.pl:849 #, fuzzy msgid "" "Email bug reports to bug-texinfo@gnu.org,\n" @@ -2004,7 +2095,7 @@ "This is the file .../info/dir, which contains the\n" "topmost node of the Info hierarchy, called (dir)Top.\n" "The first time you invoke Info you start off looking at this node.\n" -"\n" +"%c\n" "%s\tThis is the top of the INFO tree\n" "\n" " This (the Directory node) gives a menu of major topics.\n" @@ -2103,894 +2194,928 @@ msgid "no entries found for `%s'; nothing deleted" msgstr "pro `%s' nebyly nalezeny ¾ádné polo¾ky" -#: tp/DebugTexinfo/DebugTree.pm:63 tp/Texinfo/Convert/Converter.pm:818 -#: tp/Texinfo/Convert/DocBook.pm:311 tp/Texinfo/Convert/HTML.pm:6511 -#: tp/Texinfo/Convert/HTML.pm:6535 tp/Texinfo/Convert/HTML.pm:6912 -#: tp/Texinfo/Convert/HTML.pm:6970 tp/Texinfo/Convert/HTML.pm:7048 -#: tp/Texinfo/Convert/HTML.pm:7125 tp/Texinfo/Convert/IXIN.pm:293 -#: tp/Texinfo/Convert/Info.pm:93 tp/Texinfo/Convert/Info.pm:191 -#: tp/Texinfo/Convert/Info.pm:217 tp/Texinfo/Convert/Plaintext.pm:490 -#: tp/Texinfo/Convert/TexinfoXML.pm:429 +#: tp/DebugTexinfo/DebugTree.pm:63 tp/Texinfo/Convert/Converter.pm:821 +#: tp/Texinfo/Convert/DocBook.pm:311 tp/Texinfo/Convert/HTML.pm:6528 +#: tp/Texinfo/Convert/HTML.pm:6552 tp/Texinfo/Convert/HTML.pm:6929 +#: tp/Texinfo/Convert/HTML.pm:6987 tp/Texinfo/Convert/HTML.pm:7065 +#: tp/Texinfo/Convert/HTML.pm:7142 tp/Texinfo/Convert/IXIN.pm:293 +#: tp/Texinfo/Convert/Info.pm:96 tp/Texinfo/Convert/Info.pm:200 +#: tp/Texinfo/Convert/Info.pm:226 tp/Texinfo/Convert/Plaintext.pm:503 +#: tp/Texinfo/Convert/TexinfoXML.pm:457 #, fuzzy, perl-format msgid "could not open %s for writing: %s" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Common.pm:850 +#: tp/Texinfo/Common.pm:865 msgid "recursion is always allowed" msgstr "" -#: tp/Texinfo/Common.pm:851 +#: tp/Texinfo/Common.pm:866 msgid "arguments are quoted by default" msgstr "" -#: tp/Texinfo/Common.pm:1050 +#: tp/Texinfo/Common.pm:1065 #, fuzzy, perl-format msgid "%s is not a valid language code" msgstr "%s není platný kód jazyka (podle ISO 639)" -#: tp/Texinfo/Common.pm:1055 +#: tp/Texinfo/Common.pm:1070 #, fuzzy, perl-format msgid "%s is not a valid region code" msgstr "%s není platný kód jazyka (podle ISO 639)" -#: tp/Texinfo/Common.pm:1073 +#: tp/Texinfo/Common.pm:1088 #, fuzzy, perl-format msgid "%s is not a valid split possibility" msgstr "%s není platný kód jazyka (podle ISO 639)" -#: tp/Texinfo/Common.pm:1096 +#: tp/Texinfo/Common.pm:1111 #, fuzzy, perl-format msgid "could not read %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Common.pm:1114 +#: tp/Texinfo/Common.pm:1129 #, fuzzy, perl-format msgid "error on closing @verbatiminclude file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Common.pm:1119 tp/Texinfo/Parser.pm:3170 +#: tp/Texinfo/Common.pm:1134 tp/Texinfo/Parser.pm:3187 #, fuzzy, perl-format msgid "@%s: could not find %s" msgstr "Nelze najít `%s'." -#: tp/Texinfo/Common.pm:1417 +#: tp/Texinfo/Common.pm:1432 #, fuzzy, perl-format msgid "could not open html refs config file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Common.pm:1445 +#: tp/Texinfo/Common.pm:1460 #, fuzzy msgid "missing type" msgstr "%c%s chybìjící uzavírací závorka" -#: tp/Texinfo/Common.pm:1448 +#: tp/Texinfo/Common.pm:1463 #, fuzzy, perl-format msgid "unrecognized type: %s" msgstr "%s: neznámý pøepínaè `--%s'\n" -#: tp/Texinfo/Common.pm:1465 +#: tp/Texinfo/Common.pm:1480 #, fuzzy, perl-format msgid "error on closing html refs config file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Common.pm:1500 +#: tp/Texinfo/Common.pm:1515 msgid "no node to be renamed" msgstr "" -#: tp/Texinfo/Common.pm:1511 +#: tp/Texinfo/Common.pm:1526 msgid "nodes without a new name at the end of file" msgstr "" -#: tp/Texinfo/Common.pm:1521 tp/Texinfo/Parser.pm:840 +#: tp/Texinfo/Common.pm:1536 tp/Texinfo/Parser.pm:842 #, fuzzy, perl-format msgid "could not open %s: %s" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Common.pm:2008 +#: tp/Texinfo/Common.pm:2028 #, perl-format msgid "could not protect hash character in @%s" msgstr "" -#: tp/Texinfo/Convert/Converter.pm:391 tp/Texinfo/Convert/Converter.pm:410 +#: tp/Texinfo/Convert/Converter.pm:394 tp/Texinfo/Convert/Converter.pm:413 #, fuzzy, perl-format msgid "Obsolete variable %s\n" msgstr "Nastavení promìnné: " -#: tp/Texinfo/Convert/Converter.pm:601 +#: tp/Texinfo/Convert/Converter.pm:604 #, fuzzy, perl-format msgid "could not create directories `%s' or `%s': %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/Converter.pm:609 +#: tp/Texinfo/Convert/Converter.pm:612 #, fuzzy, perl-format msgid "could not create directory `%s': %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/DocBook.pm:347 tp/Texinfo/Convert/HTML.pm:6938 -#: tp/Texinfo/Convert/HTML.pm:6996 tp/Texinfo/Convert/IXIN.pm:915 -#: tp/Texinfo/Convert/Info.pm:150 tp/Texinfo/Convert/Info.pm:176 -#: tp/Texinfo/Convert/Info.pm:207 tp/Texinfo/Convert/Info.pm:270 -#: tp/Texinfo/Convert/TexinfoXML.pm:448 tp/Texinfo/Parser.pm:1942 +#: tp/Texinfo/Convert/DocBook.pm:347 tp/Texinfo/Convert/HTML.pm:6955 +#: tp/Texinfo/Convert/HTML.pm:7013 tp/Texinfo/Convert/IXIN.pm:915 +#: tp/Texinfo/Convert/Info.pm:159 tp/Texinfo/Convert/Info.pm:185 +#: tp/Texinfo/Convert/Info.pm:216 tp/Texinfo/Convert/Info.pm:279 +#: tp/Texinfo/Convert/TexinfoXML.pm:476 tp/Texinfo/Parser.pm:1950 #, fuzzy, perl-format msgid "error on closing %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/DocBook.pm:899 +#: tp/Texinfo/Convert/DocBook.pm:923 #, fuzzy, perl-format msgid "@image file `%s' not found, using `%s'" msgstr "soubor `%s' v pøíkazu @image je neèitelný: %s" -#: tp/Texinfo/Convert/HTML.pm:1678 +#: tp/Texinfo/Convert/HTML.pm:1683 #, fuzzy, perl-format msgid "@image file `%s' (for HTML) not found, using `%s'" msgstr "soubor `%s' v pøíkazu @image je neèitelný: %s" -#: tp/Texinfo/Convert/HTML.pm:2347 +#: tp/Texinfo/Convert/HTML.pm:2354 #, perl-format msgid "raw format %s is not converted" msgstr "" -#: tp/Texinfo/Convert/HTML.pm:4816 +#: tp/Texinfo/Convert/HTML.pm:4833 msgid "string not closed in css file" msgstr "" -#: tp/Texinfo/Convert/HTML.pm:4818 +#: tp/Texinfo/Convert/HTML.pm:4835 msgid "--css-include ended in comment" msgstr "" -#: tp/Texinfo/Convert/HTML.pm:4820 +#: tp/Texinfo/Convert/HTML.pm:4837 msgid "@import not finished in css file" msgstr "" -#: tp/Texinfo/Convert/HTML.pm:4846 +#: tp/Texinfo/Convert/HTML.pm:4863 #, fuzzy, perl-format msgid "CSS file %s not found" msgstr "%cend makro nebylo nalezeno" -#: tp/Texinfo/Convert/HTML.pm:4852 +#: tp/Texinfo/Convert/HTML.pm:4869 #, fuzzy, perl-format msgid "could not open --include-file %s: %s" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Convert/HTML.pm:4862 +#: tp/Texinfo/Convert/HTML.pm:4879 #, fuzzy, perl-format msgid "error on closing CSS file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/HTML.pm:5808 tp/Texinfo/Convert/HTML.pm:5812 +#: tp/Texinfo/Convert/HTML.pm:5825 tp/Texinfo/Convert/HTML.pm:5829 #, fuzzy, perl-format msgid "no htmlxref.cnf entry found for `%s'" msgstr "odpovídající polo¾ky rejstøíku nebyly pro `%s' nalezeny\n" -#: tp/Texinfo/Convert/HTML.pm:6506 +#: tp/Texinfo/Convert/HTML.pm:6523 #, fuzzy, perl-format msgid "error on closing frame file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/HTML.pm:6530 +#: tp/Texinfo/Convert/HTML.pm:6547 #, fuzzy, perl-format msgid "error on closing TOC frame file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/HTML.pm:6645 +#: tp/Texinfo/Convert/HTML.pm:6662 #, perl-format msgid "handler %s of stage %s priority %s failed" msgstr "" -#: tp/Texinfo/Convert/HTML.pm:6846 +#: tp/Texinfo/Convert/HTML.pm:6863 msgid "must specify a title with a title command or @top" msgstr "" -#: tp/Texinfo/Convert/HTML.pm:7055 +#: tp/Texinfo/Convert/HTML.pm:7072 #, fuzzy, perl-format msgid "error on closing redirection node file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/HTML.pm:7080 +#: tp/Texinfo/Convert/HTML.pm:7097 #, fuzzy, perl-format msgid "old name for `%s' is a node of the document" msgstr "V tomto dokumentu není pro tento uzel pøedchozí nebo vy¹¹í uzel." -#: tp/Texinfo/Convert/HTML.pm:7086 +#: tp/Texinfo/Convert/HTML.pm:7103 #, fuzzy, perl-format msgid "file empty for renamed node `%s'" msgstr "uzel `%s' - nesmìøuje na nìj ¾ádný odkaz" -#: tp/Texinfo/Convert/HTML.pm:7100 +#: tp/Texinfo/Convert/HTML.pm:7117 #, perl-format msgid "target node (new name for `%s') not in document: %s" msgstr "" -#: tp/Texinfo/Convert/HTML.pm:7132 +#: tp/Texinfo/Convert/HTML.pm:7149 #, fuzzy, perl-format msgid "error on closing renamed node redirection file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/HTML.pm:7170 +#: tp/Texinfo/Convert/HTML.pm:7187 #, fuzzy msgid "empty node name" msgstr "odpovídající polo¾ky rejstøíku nebyly pro `%s' nalezeny\n" -#: tp/Texinfo/Convert/HTML.pm:7172 tp/Texinfo/Parser.pm:3517 +#: tp/Texinfo/Convert/HTML.pm:7189 tp/Texinfo/Parser.pm:3534 #, perl-format msgid "syntax for an external node used for `%s'" msgstr "" -#: tp/Texinfo/Convert/Info.pm:102 +#: tp/Texinfo/Convert/Info.pm:105 #, fuzzy msgid "document without nodes" msgstr "V tomto uzlu není menu." -#: tp/Texinfo/Convert/Info.pm:119 +#: tp/Texinfo/Convert/Info.pm:122 #, fuzzy msgid "document without Top node" msgstr "V tomto uzlu není menu." -#: tp/Texinfo/Convert/Info.pm:160 +#: tp/Texinfo/Convert/Info.pm:169 #, perl-format msgid "rename %s failed: %s" msgstr "" -#: tp/Texinfo/Convert/Info.pm:242 +#: tp/Texinfo/Convert/Info.pm:251 #, perl-format msgid "@%s output more than once: %s" msgstr "" -#: tp/Texinfo/Convert/Info.pm:357 +#: tp/Texinfo/Convert/Info.pm:366 #, fuzzy, perl-format msgid "@%s outside of any node" msgstr "(mimo v¹echny uzly)" -#: tp/Texinfo/Convert/Plaintext.pm:1265 tp/Texinfo/Parser.pm:2549 +#: tp/Texinfo/Convert/Info.pm:406 +#, fuzzy, perl-format +msgid "@node name should not contain `,': %s" +msgstr "Výstup %s pro expanzi makra nelze otevøít" + +#: tp/Texinfo/Convert/Plaintext.pm:1287 tp/Texinfo/Parser.pm:2566 #, fuzzy, perl-format msgid "entry for index `%s' outside of any node" msgstr "Polo¾ka pro rejstøík `%s' je mimo v¹echny uzly" -#: tp/Texinfo/Convert/Plaintext.pm:1378 +#: tp/Texinfo/Convert/Plaintext.pm:1400 #, fuzzy, perl-format msgid "error on closing image text file %s: %s" msgstr "Výstupní soubor `%s' nelze vytvoøit." -#: tp/Texinfo/Convert/Plaintext.pm:1383 +#: tp/Texinfo/Convert/Plaintext.pm:1405 #, perl-format msgid "@image file `%s' unreadable: %s" msgstr "soubor `%s' v pøíkazu @image je neèitelný: %s" -#: tp/Texinfo/Convert/Plaintext.pm:1406 +#: tp/Texinfo/Convert/Plaintext.pm:1428 #, fuzzy, perl-format msgid "could not find @image file `%s.txt' nor alternate text" msgstr "Uzel `%s' nelze nalézt." -#: tp/Texinfo/Convert/Plaintext.pm:1768 +#: tp/Texinfo/Convert/Plaintext.pm:1816 msgid "" "@strong{Note...} produces a spurious cross-reference in Info; reword to " "avoid that" msgstr "" -#: tp/Texinfo/Convert/Plaintext.pm:2000 +#: tp/Texinfo/Convert/Plaintext.pm:2022 +#, perl-format +msgid "@%s cross-reference name should not contain `:'" +msgstr "" + +#: tp/Texinfo/Convert/Plaintext.pm:2039 +#, fuzzy, perl-format +msgid "@%s node name should not contain `%s'" +msgstr "Výstup %s pro expanzi makra nelze otevøít" + +#: tp/Texinfo/Convert/Plaintext.pm:2054 +#, perl-format +msgid "@%s node name should not contain `:'" +msgstr "" + +#: tp/Texinfo/Convert/Plaintext.pm:2077 #, fuzzy, perl-format msgid "`.' or `,' must follow @xref, not %s" msgstr "`.' nebo `,' musí následovat za køí¾ovým odkazem, ale ne za %c" -#: tp/Texinfo/Convert/Plaintext.pm:2003 +#: tp/Texinfo/Convert/Plaintext.pm:2080 #, fuzzy msgid "`.' or `,' must follow @xref" msgstr "`.' nebo `,' musí následovat za køí¾ovým odkazem, ale ne za %c" -#: tp/Texinfo/Parser.pm:824 +#: tp/Texinfo/Convert/Plaintext.pm:2852 +#, fuzzy, perl-format +msgid "menu entry node name should not contain `%s'" +msgstr "©patný argument pro %c%s" + +#: tp/Texinfo/Convert/Plaintext.pm:2859 +msgid "menu entry node name should not contain `:'" +msgstr "" + +#: tp/Texinfo/Convert/Plaintext.pm:2870 +#, fuzzy +msgid "menu entry name should not contain `:'" +msgstr "©patný argument pro %c%s" + +#: tp/Texinfo/Parser.pm:826 #, fuzzy, perl-format msgid "@%s should only appear at beginning or end of document" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:1074 tp/Texinfo/Structuring.pm:588 +#: tp/Texinfo/Parser.pm:1076 tp/Texinfo/Structuring.pm:598 #, perl-format msgid "multiple @%s" msgstr "" -#: tp/Texinfo/Parser.pm:1108 +#: tp/Texinfo/Parser.pm:1110 #, fuzzy, perl-format msgid "bad syntax for @%s argument: %s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:1124 +#: tp/Texinfo/Parser.pm:1126 #, fuzzy, perl-format msgid "bad or empty @%s formal argument: %s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:1133 tp/Texinfo/Parser.pm:4637 -#: tp/Texinfo/Parser.pm:4663 tp/Texinfo/Parser.pm:5337 -#: tp/Texinfo/Parser.pm:5353 tp/Texinfo/Parser.pm:5368 +#: tp/Texinfo/Parser.pm:1135 tp/Texinfo/Parser.pm:4655 +#: tp/Texinfo/Parser.pm:4681 tp/Texinfo/Parser.pm:5403 +#: tp/Texinfo/Parser.pm:5419 tp/Texinfo/Parser.pm:5434 #, perl-format msgid "%c%s requires a name" msgstr "%c%s po¾aduje jméno" -#: tp/Texinfo/Parser.pm:1137 tp/Texinfo/Parser.pm:4640 -#: tp/Texinfo/Parser.pm:4666 tp/Texinfo/Parser.pm:5340 -#: tp/Texinfo/Parser.pm:5356 tp/Texinfo/Parser.pm:5371 +#: tp/Texinfo/Parser.pm:1139 tp/Texinfo/Parser.pm:4658 +#: tp/Texinfo/Parser.pm:4684 tp/Texinfo/Parser.pm:5406 +#: tp/Texinfo/Parser.pm:5422 tp/Texinfo/Parser.pm:5437 #, fuzzy, perl-format msgid "bad name for @%s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:1253 +#: tp/Texinfo/Parser.pm:1257 #, fuzzy, perl-format msgid "@end %s seen before @%s closing brace" msgstr "@menu spatøeno pøed prvním @node, vytvoøen uzel `Top'" -#: tp/Texinfo/Parser.pm:1257 +#: tp/Texinfo/Parser.pm:1261 #, fuzzy, perl-format msgid "@%s seen before @%s closing brace" msgstr "@menu spatøeno pøed prvním @node, vytvoøen uzel `Top'" -#: tp/Texinfo/Parser.pm:1262 +#: tp/Texinfo/Parser.pm:1266 #, perl-format msgid "%c%s missing close brace" msgstr "%c%s chybìjící uzavírací závorka" -#: tp/Texinfo/Parser.pm:1266 +#: tp/Texinfo/Parser.pm:1270 #, fuzzy, perl-format msgid "@%s missing closing delimiter sequence: %s}" msgstr "%c%s chybìjící uzavírací závorka" -#: tp/Texinfo/Parser.pm:1388 +#: tp/Texinfo/Parser.pm:1392 #, fuzzy, perl-format msgid "@itemx should not begin @%s" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:1456 +#: tp/Texinfo/Parser.pm:1460 msgid "@itemx must follow @item" msgstr "" -#: tp/Texinfo/Parser.pm:1624 +#: tp/Texinfo/Parser.pm:1628 #, perl-format msgid "@%s has text but no @item" msgstr "" -#: tp/Texinfo/Parser.pm:1655 +#: tp/Texinfo/Parser.pm:1659 #, perl-format msgid "`@end' expected `%s', but saw `%s'" msgstr "`@end' vy¾aduje `%s', ale vidí `%s'" -#: tp/Texinfo/Parser.pm:1658 +#: tp/Texinfo/Parser.pm:1662 #, fuzzy, perl-format msgid "@%s seen before @end %s" msgstr "@menu spatøeno pøed prvním @node, vytvoøen uzel `Top'" -#: tp/Texinfo/Parser.pm:1662 +#: tp/Texinfo/Parser.pm:1666 #, fuzzy, perl-format msgid "no matching `%cend %s'" msgstr "Chybí odpovídající `%cend %s'" -#: tp/Texinfo/Parser.pm:1688 tp/Texinfo/Parser.pm:4982 -#: tp/Texinfo/Parser.pm:5202 +#: tp/Texinfo/Parser.pm:1692 tp/Texinfo/Parser.pm:5003 +#: tp/Texinfo/Parser.pm:5225 #, fuzzy, perl-format msgid "misplaced %c" msgstr "©patnì umístìný znak %c" -#: tp/Texinfo/Parser.pm:1786 tp/Texinfo/Parser.pm:3129 +#: tp/Texinfo/Parser.pm:1790 tp/Texinfo/Parser.pm:3146 #, fuzzy, perl-format msgid "unmatched `%c%s'" msgstr "Nepárový `%c%s'" -#: tp/Texinfo/Parser.pm:2017 +#: tp/Texinfo/Parser.pm:2025 #, fuzzy, perl-format msgid "macro `%s' called with too many args" msgstr "Makro `%s' volané na øádku %d s pøíli¹ mnoha argumenty" -#: tp/Texinfo/Parser.pm:2039 +#: tp/Texinfo/Parser.pm:2047 #, fuzzy, perl-format msgid "@%s missing close brace" msgstr "%c%s chybìjící uzavírací závorka" -#: tp/Texinfo/Parser.pm:2047 +#: tp/Texinfo/Parser.pm:2055 #, fuzzy, perl-format msgid "macro `%s' declared without argument called with an argument" msgstr "Makro `%s' volané na øádku %d s pøíli¹ mnoha argumenty" -#: tp/Texinfo/Parser.pm:2082 +#: tp/Texinfo/Parser.pm:2090 #, fuzzy, perl-format msgid "\\ in @%s expansion followed `%s' instead of parameter name or \\" msgstr "\\ pøi expanzi makra následováno `%s' místo \\ nebo jména parametru" -#: tp/Texinfo/Parser.pm:2477 +#: tp/Texinfo/Parser.pm:2494 #, fuzzy, perl-format msgid "@%s `%s' previously defined" msgstr "makro `%s' ji¾ bylo definováno" -#: tp/Texinfo/Parser.pm:2482 +#: tp/Texinfo/Parser.pm:2499 #, fuzzy, perl-format msgid "here is the previous definition as @%s" msgstr "zde je pøedchozí definice `%s'" -#: tp/Texinfo/Parser.pm:2843 +#: tp/Texinfo/Parser.pm:2860 #, fuzzy, perl-format msgid "missing name for @%s" msgstr "Chybìjící `}' v argumentu @def" -#: tp/Texinfo/Parser.pm:2848 +#: tp/Texinfo/Parser.pm:2865 #, fuzzy, perl-format msgid "missing category for @%s" msgstr "Chybìjící `}' v argumentu @def" -#: tp/Texinfo/Parser.pm:2900 +#: tp/Texinfo/Parser.pm:2917 #, fuzzy, perl-format msgid "unexpected argument on @%s line: %s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:2916 +#: tp/Texinfo/Parser.pm:2933 #, fuzzy msgid "empty multitable" msgstr "%s: prázdný soubor" -#: tp/Texinfo/Parser.pm:2972 tp/Texinfo/Parser.pm:5450 +#: tp/Texinfo/Parser.pm:2989 tp/Texinfo/Parser.pm:5516 #, fuzzy, perl-format msgid "superfluous argument to @%s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:2978 tp/Texinfo/Parser.pm:5472 -#: tp/Texinfo/Parser.pm:5484 +#: tp/Texinfo/Parser.pm:2995 tp/Texinfo/Parser.pm:5538 +#: tp/Texinfo/Parser.pm:5550 #, fuzzy, perl-format msgid "bad argument to @%s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:2989 +#: tp/Texinfo/Parser.pm:3006 #, perl-format msgid "%s requires an argument: the formatter for %citem" msgstr "%s vy¾aduje argument : formátovaè pro %citem" -#: tp/Texinfo/Parser.pm:2994 +#: tp/Texinfo/Parser.pm:3011 #, perl-format msgid "command @%s not accepting argument in brace should not be on @%s line" msgstr "" -#: tp/Texinfo/Parser.pm:3029 +#: tp/Texinfo/Parser.pm:3046 #, fuzzy, perl-format msgid "accent command `@%s' not allowed as @%s argument" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:3107 tp/Texinfo/Parser.pm:3246 -#: tp/Texinfo/Parser.pm:5443 +#: tp/Texinfo/Parser.pm:3124 tp/Texinfo/Parser.pm:3263 +#: tp/Texinfo/Parser.pm:5509 #, fuzzy, perl-format msgid "@%s missing argument" msgstr "%s: chybí argument jména souboru.\n" -#: tp/Texinfo/Parser.pm:3119 +#: tp/Texinfo/Parser.pm:3136 #, fuzzy, perl-format msgid "unknown @end %s" msgstr "Neznámý rejstøík `%s'" -#: tp/Texinfo/Parser.pm:3141 tp/Texinfo/Parser.pm:3763 +#: tp/Texinfo/Parser.pm:3158 tp/Texinfo/Parser.pm:3780 #, fuzzy, perl-format msgid "superfluous argument to @%s %s: %s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:3146 tp/Texinfo/Parser.pm:5527 -#: tp/Texinfo/Parser.pm:5572 tp/Texinfo/Parser.pm:5601 -#: tp/Texinfo/Parser.pm:5642 tp/Texinfo/Parser.pm:5720 +#: tp/Texinfo/Parser.pm:3163 tp/Texinfo/Parser.pm:5593 +#: tp/Texinfo/Parser.pm:5638 tp/Texinfo/Parser.pm:5667 +#: tp/Texinfo/Parser.pm:5708 tp/Texinfo/Parser.pm:5786 #, fuzzy, perl-format msgid "bad argument to @%s: %s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:3165 +#: tp/Texinfo/Parser.pm:3182 #, fuzzy, perl-format msgid "@%s: could not open %s: %s" msgstr "Nelze najít `%s'." -#: tp/Texinfo/Parser.pm:3177 +#: tp/Texinfo/Parser.pm:3194 #, perl-format msgid "encoding `%s' is not a canonical texinfo encoding" msgstr "" -#: tp/Texinfo/Parser.pm:3186 +#: tp/Texinfo/Parser.pm:3203 #, fuzzy, perl-format msgid "unrecognized encoding name `%s'" msgstr "%s: neznámý pøepínaè `--%s'\n" -#: tp/Texinfo/Parser.pm:3336 +#: tp/Texinfo/Parser.pm:3353 #, perl-format msgid "@%s after the first element" msgstr "" -#: tp/Texinfo/Parser.pm:3343 +#: tp/Texinfo/Parser.pm:3360 #, fuzzy, perl-format msgid "@%s only meaningful on a @multitable line" msgstr "@%s není myslitelné uvnitø `@%s' bloku" -#: tp/Texinfo/Parser.pm:3383 +#: tp/Texinfo/Parser.pm:3400 #, fuzzy, perl-format msgid "@%s should not be associated with @top" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:3395 +#: tp/Texinfo/Parser.pm:3412 #, fuzzy, perl-format msgid "@node precedes @%s, but parts may not be associated with nodes" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:3497 +#: tp/Texinfo/Parser.pm:3514 #, fuzzy, perl-format msgid "empty argument in @%s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:3501 +#: tp/Texinfo/Parser.pm:3518 #, fuzzy, perl-format msgid "empty node name after expansion `%s'" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:3544 +#: tp/Texinfo/Parser.pm:3561 #, fuzzy, perl-format msgid "empty menu entry name in `%s'" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:3552 +#: tp/Texinfo/Parser.pm:3569 #, fuzzy msgid "empty node name in menu entry" msgstr "odpovídající polo¾ky rejstøíku nebyly pro `%s' nalezeny\n" -#: tp/Texinfo/Parser.pm:3625 +#: tp/Texinfo/Parser.pm:3642 #, fuzzy, perl-format msgid "@%s should not appear in @%s" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:3757 +#: tp/Texinfo/Parser.pm:3774 #, fuzzy, perl-format msgid "@end %s should only appear at a line beginning" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:3780 +#: tp/Texinfo/Parser.pm:3797 #, perl-format msgid "macro `%s' previously defined" msgstr "makro `%s' ji¾ bylo definováno" -#: tp/Texinfo/Parser.pm:3783 +#: tp/Texinfo/Parser.pm:3800 #, perl-format msgid "here is the previous definition of `%s'" msgstr "zde je pøedchozí definice `%s'" -#: tp/Texinfo/Parser.pm:3788 +#: tp/Texinfo/Parser.pm:3805 #, perl-format msgid "redefining Texinfo language command: @%s" msgstr "" -#: tp/Texinfo/Parser.pm:3837 +#: tp/Texinfo/Parser.pm:3854 #, perl-format msgid "@%s without associated character" msgstr "" -#: tp/Texinfo/Parser.pm:3899 +#: tp/Texinfo/Parser.pm:3916 #, perl-format msgid "" "@%s defined with zero or more than one argument should be invoked with {}" msgstr "" -#: tp/Texinfo/Parser.pm:3923 +#: tp/Texinfo/Parser.pm:3940 #, perl-format msgid "" "macro call nested too deeply (set MAX_NESTED_MACROS to override; current " "value %d)" msgstr "" -#: tp/Texinfo/Parser.pm:3932 +#: tp/Texinfo/Parser.pm:3949 #, perl-format msgid "recursive call of macro %s is not allowed; use @rmacro if needed" msgstr "" -#: tp/Texinfo/Parser.pm:3988 +#: tp/Texinfo/Parser.pm:4005 #, fuzzy, perl-format msgid "accent command `@%s' must not be followed by whitespace" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:3994 +#: tp/Texinfo/Parser.pm:4011 #, fuzzy, perl-format msgid "use braces to give a command as an argument to @%s" msgstr "Pou¾ijte závorky k zadání pøíkazu jako argumentu @%s" -#: tp/Texinfo/Parser.pm:4007 tp/Texinfo/Parser.pm:5103 +#: tp/Texinfo/Parser.pm:4024 tp/Texinfo/Parser.pm:5124 #, fuzzy, perl-format msgid "%c%s expects `i' or `j' as argument, not `%s'" msgstr "%c%s vy¾aduje `i' nebo `j' jako argument, ne `%c'" -#: tp/Texinfo/Parser.pm:4019 +#: tp/Texinfo/Parser.pm:4036 #, fuzzy, perl-format msgid "accent command `@%s' must not be followed by new line" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:4030 +#: tp/Texinfo/Parser.pm:4047 #, fuzzy, perl-format msgid "@%s expected braces" msgstr "%c%s oèekáváno `{...}'" -#: tp/Texinfo/Parser.pm:4189 +#: tp/Texinfo/Parser.pm:4207 #, perl-format msgid "undefined flag: %s" msgstr "" -#: tp/Texinfo/Parser.pm:4192 +#: tp/Texinfo/Parser.pm:4210 #, fuzzy msgid "bad syntax for @value" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:4199 +#: tp/Texinfo/Parser.pm:4217 #, fuzzy, perl-format msgid "%c%s is obsolete." msgstr "Pøíkaz %c%s je zastaralý" -#: tp/Texinfo/Parser.pm:4202 +#: tp/Texinfo/Parser.pm:4220 #, fuzzy, perl-format msgid "%c%s is obsolete; %s" msgstr "Pøíkaz %c%s je zastaralý" -#: tp/Texinfo/Parser.pm:4211 +#: tp/Texinfo/Parser.pm:4229 #, fuzzy, perl-format msgid "@%s should only appear at a line beginning" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:4302 +#: tp/Texinfo/Parser.pm:4320 #, fuzzy, perl-format msgid "@%s not allowed inside `@%s' block" msgstr "@%s není myslitelné uvnitø `@%s' bloku" -#: tp/Texinfo/Parser.pm:4311 +#: tp/Texinfo/Parser.pm:4329 #, fuzzy, perl-format msgid "@%s should only appear in heading or footing" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:4437 tp/Texinfo/Parser.pm:4454 -#: tp/Texinfo/Parser.pm:4504 +#: tp/Texinfo/Parser.pm:4455 tp/Texinfo/Parser.pm:4472 +#: tp/Texinfo/Parser.pm:4522 #, perl-format msgid "@%s not meaningful inside `@%s' block" msgstr "@%s není myslitelné uvnitø `@%s' bloku" -#: tp/Texinfo/Parser.pm:4464 +#: tp/Texinfo/Parser.pm:4482 #, fuzzy, perl-format msgid "@%s in empty multitable" msgstr "%s: prázdný soubor" -#: tp/Texinfo/Parser.pm:4470 +#: tp/Texinfo/Parser.pm:4488 msgid "@tab before @item" msgstr "" -#: tp/Texinfo/Parser.pm:4473 +#: tp/Texinfo/Parser.pm:4491 #, fuzzy, perl-format msgid "too many columns in multitable item (max %d)" msgstr "Pøíli¹ mnoho sloupcù v multitabulkové polo¾ce (max %d)" -#: tp/Texinfo/Parser.pm:4510 +#: tp/Texinfo/Parser.pm:4528 msgid "ignoring @tab outside of multitable" msgstr "pøíkaz `@tab' ignorován, je mimo multitabulku" -#: tp/Texinfo/Parser.pm:4514 +#: tp/Texinfo/Parser.pm:4532 #, perl-format msgid "@%s outside of table or list" msgstr "" -#: tp/Texinfo/Parser.pm:4549 +#: tp/Texinfo/Parser.pm:4567 #, fuzzy, perl-format msgid "must be after `@%s' to use `@%s'" msgstr "soubor `%s' v pøíkazu @image je neèitelný: %s" -#: tp/Texinfo/Parser.pm:4591 +#: tp/Texinfo/Parser.pm:4609 #, perl-format msgid "@%s not meaningful outside `@titlepage' and `@quotation' environments" msgstr "" -#: tp/Texinfo/Parser.pm:4595 +#: tp/Texinfo/Parser.pm:4613 #, fuzzy msgid "@dircategory after first node" msgstr "@menu spatøeno pøed prvním @node, vytvoøen uzel `Top'" -#: tp/Texinfo/Parser.pm:4760 +#: tp/Texinfo/Parser.pm:4778 #, fuzzy, perl-format msgid "region %s inside region %s is not allowed" msgstr "Poznámka pod èarou definována bez rodièovského uzlu" -#: tp/Texinfo/Parser.pm:4778 +#: tp/Texinfo/Parser.pm:4796 #, fuzzy msgid "@direntry after first node" msgstr "@menu spatøeno pøed prvním @node, vytvoøen uzel `Top'" -#: tp/Texinfo/Parser.pm:4786 +#: tp/Texinfo/Parser.pm:4804 #, fuzzy, perl-format msgid "@%s seen before first @node" msgstr "@menu spatøeno pøed prvním @node, vytvoøen uzel `Top'" -#: tp/Texinfo/Parser.pm:4789 +#: tp/Texinfo/Parser.pm:4807 msgid "" "perhaps your @top node should be wrapped in @ifnottex rather than @ifinfo?" msgstr "" "proto¾e vá¹ uzel @top by mìl být uzavøen v @ifnottex spí¹e ne¾ v @ifinfo?" -#: tp/Texinfo/Parser.pm:4851 +#: tp/Texinfo/Parser.pm:4869 #, fuzzy, perl-format msgid "@%s should only appear in math context" msgstr "Výstup %s pro expanzi makra nelze otevøít" -#: tp/Texinfo/Parser.pm:4859 +#: tp/Texinfo/Parser.pm:4877 #, fuzzy, perl-format msgid "unknown command `%s'" msgstr "Neznámý pøíkaz `%s'" -#: tp/Texinfo/Parser.pm:4869 +#: tp/Texinfo/Parser.pm:4887 #, fuzzy msgid "unexpected @" msgstr "Oèekáváno `%s'" -#: tp/Texinfo/Parser.pm:4898 +#: tp/Texinfo/Parser.pm:4916 #, fuzzy, perl-format msgid "@%s is not meaningful outside `@float' environment" msgstr "@%s není myslitelné uvnitø `@%s' bloku" -#: tp/Texinfo/Parser.pm:4903 +#: tp/Texinfo/Parser.pm:4921 #, perl-format msgid "@%s should be right below `@float'" msgstr "" -#: tp/Texinfo/Parser.pm:4911 +#: tp/Texinfo/Parser.pm:4929 #, perl-format msgid "ignoring multiple @%s" msgstr "" -#: tp/Texinfo/Parser.pm:5027 +#: tp/Texinfo/Parser.pm:5048 #, fuzzy, perl-format msgid "command @%s does not accept arguments" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:5051 +#: tp/Texinfo/Parser.pm:5072 #, fuzzy, perl-format msgid "command @%s missing a node or external manual argument" msgstr "%s: chybí argument jména souboru.\n" -#: tp/Texinfo/Parser.pm:5070 +#: tp/Texinfo/Parser.pm:5091 #, perl-format msgid "in @%s empty cross reference name after expansion `%s'" msgstr "" -#: tp/Texinfo/Parser.pm:5081 +#: tp/Texinfo/Parser.pm:5102 #, perl-format msgid "in @%s empty cross reference title after expansion `%s'" msgstr "" -#: tp/Texinfo/Parser.pm:5094 +#: tp/Texinfo/Parser.pm:5115 msgid "@image missing filename argument" msgstr "pøíkaz @image postrádá jméno souboru" -#: tp/Texinfo/Parser.pm:5124 +#: tp/Texinfo/Parser.pm:5147 #, fuzzy, perl-format msgid "@%s missing first argument" msgstr "%s: chybí argument jména souboru.\n" -#: tp/Texinfo/Parser.pm:5246 +#: tp/Texinfo/Parser.pm:5301 #, fuzzy msgid "superfluous arguments for node" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:5285 +#: tp/Texinfo/Parser.pm:5351 #, fuzzy, perl-format msgid "expected @end %s" msgstr "Oèekáváno `%s'" -#: tp/Texinfo/Parser.pm:5384 +#: tp/Texinfo/Parser.pm:5450 #, fuzzy, perl-format msgid "@%s should only accept a @-command as argument, not `%s'" msgstr "Pou¾ijte závorky k zadání pøíkazu jako argumentu @%s" -#: tp/Texinfo/Parser.pm:5394 +#: tp/Texinfo/Parser.pm:5460 #, fuzzy, perl-format msgid "remaining argument on @%s line: %s" msgstr "©patný argument pro %c%s" -#: tp/Texinfo/Parser.pm:5467 +#: tp/Texinfo/Parser.pm:5533 #, fuzzy, perl-format msgid "environment command %s as argument to @%s" msgstr "Pou¾ijte závorky k zadání pøíkazu jako argumentu @%s" -#: tp/Texinfo/Parser.pm:5489 +#: tp/Texinfo/Parser.pm:5555 #, perl-format msgid "empty @%s" msgstr "" -#: tp/Texinfo/Parser.pm:5497 +#: tp/Texinfo/Parser.pm:5563 #, perl-format msgid "column fraction not a number: %s" msgstr "" -#: tp/Texinfo/Parser.pm:5506 +#: tp/Texinfo/Parser.pm:5572 #, fuzzy, perl-format msgid "@sp arg must be numeric, not `%s'" msgstr "%s: %s argument musí být èíslo ne `%s'.\n" -#: tp/Texinfo/Parser.pm:5515 +#: tp/Texinfo/Parser.pm:5581 #, perl-format msgid "reserved index name %s" msgstr "" -#: tp/Texinfo/Parser.pm:5534 +#: tp/Texinfo/Parser.pm:5600 #, fuzzy, perl-format msgid "unknown source index in @%s: %s" msgstr "Neznámý rejstøík `%s'" -#: tp/Texinfo/Parser.pm:5537 +#: tp/Texinfo/Parser.pm:5603 #, fuzzy, perl-format msgid "unknown destination index in @%s: %s" msgstr "Neznámý rejstøík `%s'" -#: tp/Texinfo/Parser.pm:5567 +#: tp/Texinfo/Parser.pm:5633 #, perl-format msgid "@%s leads to a merging of %s in itself, ignoring" msgstr "" -#: tp/Texinfo/Parser.pm:5580 +#: tp/Texinfo/Parser.pm:5646 #, fuzzy, perl-format msgid "unknown index `%s' in @printindex" msgstr "Neznámý rejstøík `%s' v @printindex" -#: tp/Texinfo/Parser.pm:5586 +#: tp/Texinfo/Parser.pm:5652 #, perl-format msgid "printing an index `%s' merged in another one `%s'" msgstr "" -#: tp/Texinfo/Parser.pm:5594 +#: tp/Texinfo/Parser.pm:5660 #, perl-format msgid "printindex before document beginning: @printindex %s" msgstr "" -#: tp/Texinfo/Parser.pm:5610 +#: tp/Texinfo/Parser.pm:5676 #, fuzzy, perl-format msgid "@%s arg must be `top' or `bottom', not `%s'" msgstr "%s: %s argument musí být èíslo ne `%s'.\n" -#: tp/Texinfo/Parser.pm:5618 +#: tp/Texinfo/Parser.pm:5684 #, perl-format msgid "Only @%s 10 or 11 is supported, not `%s'" msgstr "" -#: tp/Texinfo/Parser.pm:5626 +#: tp/Texinfo/Parser.pm:5692 #, fuzzy, perl-format msgid "@%s arg must be `separate' or `end', not `%s'" msgstr "" "%s: argument k --footnote-style musí být `separate'|`end', ale ne `%s'.\n" -#: tp/Texinfo/Parser.pm:5634 +#: tp/Texinfo/Parser.pm:5700 #, fuzzy, perl-format msgid "@%s arg must be `on', `off' or `odd', not `%s'" msgstr "%s: %s argument musí být èíslo ne `%s'.\n" -#: tp/Texinfo/Parser.pm:5652 tp/Texinfo/Parser.pm:5657 +#: tp/Texinfo/Parser.pm:5718 tp/Texinfo/Parser.pm:5723 #, fuzzy, perl-format msgid "@paragraphindent arg must be numeric/`none'/`asis', not `%s'" msgstr "" "%s: argument pro --paragraph-indent musí být èíslo|`none'|`asis', ale ne `" "%s'.\n" -#: tp/Texinfo/Parser.pm:5665 +#: tp/Texinfo/Parser.pm:5731 #, fuzzy, perl-format msgid "@firstparagraphindent arg must be `none' or `insert', not `%s'" msgstr "" "%s: argument pro --paragraph-indent musí být èíslo|`none'|`asis', ale ne `" "%s'.\n" -#: tp/Texinfo/Parser.pm:5675 +#: tp/Texinfo/Parser.pm:5741 #, fuzzy, perl-format msgid "@exampleindent arg must be numeric/`asis', not `%s'" msgstr "" "%s: argument pro --paragraph-indent musí být èíslo|`none'|`asis', ale ne `" "%s'.\n" -#: tp/Texinfo/Parser.pm:5686 +#: tp/Texinfo/Parser.pm:5752 #, perl-format msgid "expected @%s on or off, not `%s'" msgstr "" -#: tp/Texinfo/Parser.pm:5696 +#: tp/Texinfo/Parser.pm:5762 #, perl-format msgid "@kbdinputstyle arg must be `code'/`example'/`distinct', not `%s'" msgstr "" -#: tp/Texinfo/Parser.pm:5704 +#: tp/Texinfo/Parser.pm:5770 #, fuzzy, perl-format msgid "@allowcodebreaks arg must be `true' or `false', not `%s'" msgstr "" "%s: argument k --footnote-style musí být `separate'|`end', ale ne `%s'.\n" -#: tp/Texinfo/Parser.pm:5712 +#: tp/Texinfo/Parser.pm:5778 #, fuzzy, perl-format msgid "@urefbreakstyle arg must be `after'/`before'/`none', not `%s'" msgstr "" @@ -3011,69 +3136,69 @@ msgid "lowering the section level of @%s appearing after a lower element" msgstr "" -#: tp/Texinfo/Structuring.pm:347 +#: tp/Texinfo/Structuring.pm:357 #, perl-format msgid "no sectioning command associated with @%s" msgstr "" -#: tp/Texinfo/Structuring.pm:538 tp/Texinfo/Structuring.pm:1319 +#: tp/Texinfo/Structuring.pm:548 tp/Texinfo/Structuring.pm:1329 #, fuzzy, perl-format msgid "@%s reference to nonexistent node `%s'" msgstr "%s se odkazuje na neexistující uzel `%s'" -#: tp/Texinfo/Structuring.pm:551 +#: tp/Texinfo/Structuring.pm:561 #, perl-format msgid "@%s entry node name `%s' different from %s name `%s'" msgstr "" -#: tp/Texinfo/Structuring.pm:656 +#: tp/Texinfo/Structuring.pm:666 #, perl-format msgid "unreferenced node `%s'" msgstr "uzel `%s' - nesmìøuje na nìj ¾ádný odkaz" -#: tp/Texinfo/Structuring.pm:702 +#: tp/Texinfo/Structuring.pm:712 #, perl-format msgid "node `%s' is %s for `%s' in sectioning but not in menu" msgstr "" -#: tp/Texinfo/Structuring.pm:709 +#: tp/Texinfo/Structuring.pm:719 #, perl-format msgid "node %s `%s' in menu `%s' and in sectioning `%s' differ" msgstr "" -#: tp/Texinfo/Structuring.pm:727 +#: tp/Texinfo/Structuring.pm:737 #, perl-format msgid "node `%s' is %s for `%s' in menu but not in sectioning" msgstr "" -#: tp/Texinfo/Structuring.pm:781 +#: tp/Texinfo/Structuring.pm:791 #, perl-format msgid "%s pointer `%s' (for node `%s') different from %s name `%s'" msgstr "" -#: tp/Texinfo/Structuring.pm:808 +#: tp/Texinfo/Structuring.pm:818 #, fuzzy, perl-format msgid "%s reference to nonexistent `%s'" msgstr "uzel `%s' - nesmìøuje na nìj ¾ádný odkaz" -#: tp/Texinfo/Structuring.pm:827 +#: tp/Texinfo/Structuring.pm:837 #, fuzzy, perl-format msgid "node `%s' lacks menu item for `%s' despite being its Up target" msgstr "" "Uzel `%s' postrádá polo¾ku menu pro `%s' navzdory tomu, ¾e je jeho vy¹¹ím " "uzlem" -#: tp/Texinfo/Structuring.pm:835 +#: tp/Texinfo/Structuring.pm:845 #, perl-format msgid "for `%s', up in menu `%s' and up `%s' don't match" msgstr "" -#: tp/Texinfo/Structuring.pm:1331 +#: tp/Texinfo/Structuring.pm:1341 #, perl-format msgid "@%s to `%s', different from %s name `%s'" msgstr "" -#: tp/Texinfo/Structuring.pm:1997 +#: tp/Texinfo/Structuring.pm:2007 #, fuzzy, perl-format msgid "empty index key in @%s" msgstr "odpovídající polo¾ky rejstøíku nebyly pro `%s' nalezeny\n" @@ -3239,23 +3364,23 @@ msgid "ignoring unrecognized TEXINFO_OUTPUT_FORMAT value `%s'\n" msgstr "" -#: tp/texi2any.pl:718 +#: tp/texi2any.pl:723 #, fuzzy msgid "Usage: makeinfo [OPTION]... TEXINFO-FILE...\n" msgstr "Pou¾ití: %s [PØEPÍNAÈ]... SOUBOR...\n" -#: tp/texi2any.pl:719 +#: tp/texi2any.pl:724 #, fuzzy msgid " or: texi2any [OPTION]... TEXINFO-FILE...\n" msgstr "Pou¾ití: %s [PØEPÍNAÈ]... SOUBOR...\n" -#: tp/texi2any.pl:721 +#: tp/texi2any.pl:726 msgid "" "Translate Texinfo source documentation to various other formats, by default\n" "Info files suitable for reading online with Emacs or standalone GNU Info.\n" msgstr "" -#: tp/texi2any.pl:724 +#: tp/texi2any.pl:729 #, perl-format msgid "" "General options:\n" @@ -3274,7 +3399,7 @@ " --version display version information and exit.\n" msgstr "" -#: tp/texi2any.pl:739 +#: tp/texi2any.pl:744 msgid "" "Output format selection (default is to produce Info):\n" " --docbook output Docbook XML rather than Info.\n" @@ -3284,7 +3409,7 @@ " --dvi, --dvipdf, --ps, --pdf call texi2dvi to generate given output.\n" msgstr "" -#: tp/texi2any.pl:747 +#: tp/texi2any.pl:752 msgid "" "General output options:\n" " -E, --macro-expand=FILE output macro-expanded source to FILE,\n" @@ -3311,7 +3436,7 @@ " Otherwise, DEST names the output file.\n" msgstr "" -#: tp/texi2any.pl:767 +#: tp/texi2any.pl:772 #, perl-format msgid "" "Options for Info and plain text:\n" @@ -3333,7 +3458,7 @@ " --split-size=NUM split Info files at size NUM (default %d).\n" msgstr "" -#: tp/texi2any.pl:784 +#: tp/texi2any.pl:789 msgid "" "Options for HTML:\n" " --css-include=FILE include FILE in HTML + + + + + + +

U

+ +

S

+
+ + + + + +'; + +$result_converted_errors{'html'}->{'section_below_unnumbered_no_top'} = [ + { + 'error_line' => 'warning: must specify a title with a title command or @top +', + 'text' => 'must specify a title with a title command or @top', + 'type' => 'warning' + } +]; + + +1; diff -Nru texinfo-5.1.dfsg.1/tp/t/results/sectioning/section_chapter_before_top_nodes.pl texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/section_chapter_before_top_nodes.pl --- texinfo-5.1.dfsg.1/tp/t/results/sectioning/section_chapter_before_top_nodes.pl 2013-02-21 00:03:52.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/section_chapter_before_top_nodes.pl 2013-06-25 07:19:34.000000000 +0000 @@ -1052,7 +1052,7 @@

-Next: , Previous: Top, Up: Top  

+Next: , Previous: , Up: Top  

2 chapter

diff -Nru texinfo-5.1.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_info.pl texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_info.pl --- texinfo-5.1.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_info.pl 2013-02-19 22:25:46.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_info.pl 2013-06-25 07:19:34.000000000 +0000 @@ -9412,7 +9412,7 @@

-Next: , Previous: Top, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

1 chapter

@@ -9435,7 +9435,7 @@

-Next: , Previous: chapter, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

unnumbered

@@ -9458,7 +9458,7 @@

-Next: , Previous: unnumbered, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

2 chapter 2

@@ -9503,7 +9503,7 @@

numbered subsection 2

@@ -9512,7 +9512,7 @@

unnumbered subsection2 2

@@ -9521,7 +9521,7 @@

numbered subsection2 2

@@ -9530,7 +9530,7 @@

-Previous: unnumberedsec 2, Up: chapter 2   [Contents]

+Previous: , Up: chapter 2   [Contents]

unnumberedsec 2-1

@@ -9554,7 +9554,7 @@

-Next: , Previous: chapter 2, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

3 chapter 3

@@ -9605,7 +9605,7 @@

numbered subsection 3

@@ -9614,7 +9614,7 @@

unnumbered subsection2 3

@@ -9623,7 +9623,7 @@

numbered subsection2 3

@@ -9632,7 +9632,7 @@

3.1 section 3-1

@@ -9641,7 +9641,7 @@

-Next: , Previous: section 3-1, Up: chapter 3   [Contents]

+Next: , Previous: , Up: chapter 3   [Contents]

unnumberedsec 3-2

@@ -9664,7 +9664,7 @@

3.2 section 3-3

@@ -9687,7 +9687,7 @@

-Previous: section 3-3, Up: chapter 3   [Contents]

+Previous: , Up: chapter 3   [Contents]

unnumberedsec 3-4

@@ -9710,7 +9710,7 @@

-Previous: chapter 3, Up: Top   [Contents]

+Previous: , Up: Top   [Contents]

unnumbered 4

@@ -9753,7 +9753,7 @@

numbered subsection 4

@@ -9762,7 +9762,7 @@

unnumbered subsection2 4

@@ -9771,7 +9771,7 @@

numbered subsection2 4

diff -Nru texinfo-5.1.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl --- texinfo-5.1.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl 2013-02-19 22:25:46.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/section_in_unnumbered_plaintext.pl 2013-06-25 07:19:34.000000000 +0000 @@ -9240,7 +9240,7 @@

-Next: , Previous: Top, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

1 chapter

@@ -9263,7 +9263,7 @@

-Next: , Previous: chapter, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

unnumbered

@@ -9286,7 +9286,7 @@

-Next: , Previous: unnumbered, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

2 chapter 2

@@ -9331,7 +9331,7 @@

numbered subsection 2

@@ -9340,7 +9340,7 @@

unnumbered subsection2 2

@@ -9349,7 +9349,7 @@

numbered subsection2 2

@@ -9358,7 +9358,7 @@

-Previous: unnumberedsec 2, Up: chapter 2   [Contents]

+Previous: , Up: chapter 2   [Contents]

unnumberedsec 2-1

@@ -9382,7 +9382,7 @@

-Next: , Previous: chapter 2, Up: Top   [Contents]

+Next: , Previous: , Up: Top   [Contents]

3 chapter 3

@@ -9433,7 +9433,7 @@

numbered subsection 3

@@ -9442,7 +9442,7 @@

unnumbered subsection2 3

@@ -9451,7 +9451,7 @@

numbered subsection2 3

@@ -9460,7 +9460,7 @@

3.1 section 3-1

@@ -9469,7 +9469,7 @@

-Next: , Previous: section 3-1, Up: chapter 3   [Contents]

+Next: , Previous: , Up: chapter 3   [Contents]

unnumberedsec 3-2

@@ -9492,7 +9492,7 @@

3.2 section 3-3

@@ -9515,7 +9515,7 @@

-Previous: section 3-3, Up: chapter 3   [Contents]

+Previous: , Up: chapter 3   [Contents]

unnumberedsec 3-4

@@ -9538,7 +9538,7 @@

-Previous: chapter 3, Up: Top   [Contents]

+Previous: , Up: Top   [Contents]

unnumbered 4

@@ -9581,7 +9581,7 @@

numbered subsection 4

@@ -9590,7 +9590,7 @@

unnumbered subsection2 4

@@ -9599,7 +9599,7 @@

numbered subsection2 4

diff -Nru texinfo-5.1.dfsg.1/tp/t/results/sectioning/space_in_node.pl texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/space_in_node.pl --- texinfo-5.1.dfsg.1/tp/t/results/sectioning/space_in_node.pl 2013-02-19 22:25:46.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/space_in_node.pl 2013-06-25 07:19:34.000000000 +0000 @@ -837,7 +837,7 @@

-Next: , Previous: Top, Up: Top  

+Next: , Previous: , Up: Top  

Chap first here

@@ -845,7 +845,7 @@

-Next: , Previous: Chap first here, Up: Top  

+Next: , Previous: , Up: Top  

Test title

@@ -853,7 +853,7 @@

-Previous: Test title, Up: Top  

+Previous: , Up: Top  

Last with spaces


diff -Nru texinfo-5.1.dfsg.1/tp/t/results/sectioning/top_node_no_menu_direction.pl texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/top_node_no_menu_direction.pl --- texinfo-5.1.dfsg.1/tp/t/results/sectioning/top_node_no_menu_direction.pl 2013-02-19 22:25:46.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/top_node_no_menu_direction.pl 2013-06-25 07:19:34.000000000 +0000 @@ -625,7 +625,7 @@

-Previous: Top, Up: Top  

+Previous: , Up: Top  

second node


diff -Nru texinfo-5.1.dfsg.1/tp/t/results/sectioning/top_node_up_url.pl texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/top_node_up_url.pl --- texinfo-5.1.dfsg.1/tp/t/results/sectioning/top_node_up_url.pl 2013-02-19 22:25:46.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/top_node_up_url.pl 2013-06-25 07:19:34.000000000 +0000 @@ -652,7 +652,7 @@

-Previous: Top, Up: Top  

+Previous: , Up: Top  

first


diff -Nru texinfo-5.1.dfsg.1/tp/t/results/sectioning/transliterated_split_equivalent_nodes/res_html/a.html texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/transliterated_split_equivalent_nodes/res_html/a.html --- texinfo-5.1.dfsg.1/tp/t/results/sectioning/transliterated_split_equivalent_nodes/res_html/a.html 2013-02-19 22:25:46.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/t/results/sectioning/transliterated_split_equivalent_nodes/res_html/a.html 2013-06-25 07:19:34.000000000 +0000 @@ -12,7 +12,7 @@ - + + + + + + +

title –a

+

formatting subtitle –a

+

subtitle 2 –a

+author1 –a with accents in name Téça
+author2 –a
+

In titlepage +

+

< +> +" +& +’ +‘ +

+

“simple-double–three—four—-”
+code: ``simple-double--three---four----''
+asis: “simple-double–three—four—-”
+strong: “simple-double–three—four—-”
+kbd: ``simple-double--three---four----''
+

+

‘simple-double--three—four—-’
+

+ + + + + +

@"u ü +@"{U} Ü +@~n ñ +@^a â +@’e é +@=o ō +@‘i ì +@’{e} é +@’{@dotless{i}} í +@dotless{i} i +@dotless{j} j +@‘{@=E} Ē` +@l{} ł +@,{@’C} Ć, +@,c ç +@,c@"u çü
+

+

@*
+@ followed by a space +  +@ followed by a tab +  +@ followed by a new line + +@- +@| +@: +@! ! +@? ? +@. . +@@ @ +@} } +@{ { +@/ +

+

foo vs. bar. +colon :And something else. +semi colon ;. +And ? ?. +Now ! !@ +but , , +

+

@TeX TeX +@LaTeX LaTeX +@bullet • +@copyright © +@dots … +@enddots ... +@equiv ≡ +@error error→ +@expansion → +@minus - +@point ∗ +@print -| +@result ⇒ +@today a sunny day +@aa å +@AA Å +@ae æ +@oe œ +@AE Æ +@OE Œ +@o ø +@O Ø +@ss ß +@l ł +@L Ł +@DH Ð +@TH Þ +@dh ð +@th þ +@exclamdown ¡ +@questiondown ¿ +@pounds £ +@registeredsymbol ® +@ordf ª +@ordm º +@comma , +@quotedblleft “ +@quotedblright ” +@quoteleft ‘ +@quoteright ’ +@quotedblbase „ +@quotesinglbase ‚ +@guillemetleft « +@guillemetright » +@guillemotleft « +@guillemotright » +@guilsinglleft ‹ +@guilsinglright › +@textdegree ° +@euro € +@arrow → +@leq ≤ +@geq ≥ +

+

@acronym{--a,an accronym} –a (an accronym) +@acronym{--a} –a +@abbr{@'E--. @comma{}A., @'Etude Autonome } É–. ,A. (Étude Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +@asis{--a} –a +@b{--a} –a +@cite{--a} –a +@code{--a} --a +@command{--a} --a +@ctrl{--a} ^–a +@dfn{--a} –a +@dmn{--a} –a +@email{--a,--b} –b +@email{,--b} –b +@email{--a} --a +@emph{--a} –a +@env{--a} --a +@file{--a} --a +@i{--a} –a +@kbd{--a} --a +@key{--a} --a +@math{--a {\frac{1}{2}} @minus{}} --a {\frac{1}{2}} - +@option{--a} --a +@r{--a} –a +@samp{--a}--a’ +@sc{--a} –A +@strong{--a} –a +@t{--a} --a +@sansserif{--a} –a +@slanted{--a} –a +@titlefont{--a}

–a

+

@indicateurl{--a}--a’ +@uref{--a,--b} –b +@uref{--a} --a +@uref{,--b} –b +@uref{--a,--b,--c} –c +@uref{,--b,--c} –c +@uref{--a,,--c} –c +@uref{,,--c} –c +@url{--a,--b} –b +@url{--a,} --a +@url{,--b} –b +@var{--a} –a +@verb{:--a:} --a +@verb{:a < & @ % " -- b:} a < & @ % " -- b +@w{a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a} a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a +@H{a} a'' +@H{--a} –a'' +@dotaccent{a} ȧ +@dotaccent{--a} –a. +@ringaccent{a} å +@ringaccent{--a} –a* +@tieaccent{a} a[ +@tieaccent{--a} –a[ +@u{a} ă +@u{--a} –a( +@ubaraccent{a} a_ +@ubaraccent{--a} –a_ +@udotaccent{a} ạ +@udotaccent{--a} .–a +@v{a} ǎ +@v{--a} –a< +@,{c} ç +@,{--c} –c, +@ogonek{a} ą +@ogonek{--a} –a; +@footnote{in footnote} 7 +@footnote{in footnote2} 8 +

+

@image{f--ile} f--ile +@image{f--ile,l--i} f--ile +@image{f--ile,,l--e} f--ile +@image{f--ile,,,alt} alt +@image{f--ile,,,,e-d-xt} f--ile +@image{f--ile,aze,az,alt,e--xt} alt +@image{f-ile,aze,,a--lt} a–lt +@image{@file{f--ile}@@@.,aze,az,alt,@file{file ext} e--xt@} alt +

+
+
+ +

@clicksequence{click @click{} A} click → A +After clickstyle ⇒ +@clicksequence{click @click{} A} click ⇒ A +

+
+

A quot—ation +

+ +
+

Note: A Note +

+ +
+

note: A note +

+ +
+

Caution: Caution +

+ +
+

Important: Important +

+ +
+

Tip: a Tip +

+ +
+

Warning: a Warning. +

+ +
+

something é TeX: The something é TeX is here. +

+ +
+

@ at the end of line: A @ at the end of the @quotation line. +

+ +
+

something, other thing: something, other thing +

+ +
+

Note, the note: Note, the note +

+ +
+
+ +
+
+ +
+
+ +
+
+ +
+

A small quot—ation +

+ +
+

Note: A small Note +

+ +
+

something, other thing: something, other thing +

+ +
    +
  • i–temize +
+ +
    +
  • + i–tem + +
+ +
    +
  • b–ullet +
+ +
    +
  • - minu–s +
+ +
    +
  • e–mph item +
+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line +i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
    +
  1. e–numerate +
+ + + + + + +
mu–ltitable headitemanother tab
mu–ltitable itemmultitable tab
mu–ltitable item 2multitable tab 2 +
lone mu–ltitable item
+ + + +
trucbidule
+ +
+
e--xample  some
+   text
+
+ +
+
s--mallexample
+
+ +
+
d–isplay
+
+ +
+
s–malldisplay
+
+ +
+
l--isp
+
+ +
+
s--malllisp
+
+ +
+
f–ormat
+
+ +
+
s–mallformat
+
+ +
+
c--ategory: d--effn_name a--rguments...
+

d–effn +

+ +
+
cate--gory: de--ffn_name ar--guments
+

more args
even more so +def–fn +

+ +
+
fset: i a g
+
+
cmde: truc
+
Command: log trap
+
Command: log trap1
+
Command: log trap2
+
cmde: id ule truc
+
cmde2: id ‘i’ ule truc
+
id ‘i’ ule:
+
:
+
aaa:
+
:
+
:
+
: machin
+
: bidule machin
+
truc: machin
+
truc:
+
truc: followed by a comment
+
truc:
+
:
+
truc: a b c d e f g h i
+
truc: deffnx before end deffn
+
+ +
+
empty: deffn
+
+ +
+
empty: deffn with deffnx
+
empty: deffnx
+
+ +
+
fset: i a g
+
cmde: truc
+

text in def item for second def item +

+ +
+
c--ategory: d--efvr_name
+

d–efvr +

+ +
+
c--ategory: t--ype d--eftypefn_name a--rguments...
+

d–eftypefn +

+ +
+
c--ategory on c--lass: t--ype d--eftypeop_name a--rguments...
+

d–eftypeop +

+ +
+
c--ategory: t--ype d--eftypevr_name
+

d–eftypevr +

+ +
+
c--ategory of c--lass: d--efcv_name
+

d–efcv +

+ +
+
c--ategory on c--lass: d--efop_name a--rguments...
+

d–efop +

+ +
+
c--ategory: d--eftp_name a--ttributes...
+

d–eftp +

+ +
+
Function: d--efun_name a--rguments...
+

d–efun +

+ +
+
Macro: d--efmac_name a--rguments...
+

d–efmac +

+ +
+
Special Form: d--efspec_name a--rguments...
+

d–efspec +

+ +
+
Variable: d--efvar_name argvar argvar1
+

d–efvar +

+ +
+
User Option: d--efopt_name
+

d–efopt +

+ +
+
Function: t--ype d--eftypefun_name a--rguments...
+

d–eftypefun +

+ +
+
Variable: t--ype d--eftypevar_name
+

d–eftypevar +

+ +
+
Instance Variable of c--lass: d--efivar_name
+

d–efivar +

+ +
+
Instance Variable of c--lass: t--ype d--eftypeivar_name
+

d–eftypeivar +

+ +
+
Method on c--lass: d--efmethod_name a--rguments...
+

d–efmethod +

+ +
+
Method on c--lass: t--ype d--eftypemethod_name a--rguments...
+

d–eftypemethod +

+ +

@xref{c---hapter@@, cross r---ef name@@, t---itle@@, file n---ame@@, ma---nual@@} See t—itle@ in ma—nual@. +@ref{chapter, cross ref name, title, file name, manual} title in manual +@pxref{chapter, cross ref name, title, file name, manual} see title in manual +@inforef{chapter, cross ref name, file name} See (file name)cross ref name +

+

@ref{chapter} chapter +@xref{chapter} See section chapter. +@pxref{chapter} see section chapter +@ref{s--ect@comma{}ion} A section +

+

@ref{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in title, a comma@comma{} in file, a @comma{} in manual name } +a comma, in title in a , in manual name +

+

@ref{chapter,cross ref name} cross ref name +@ref{chapter,,title} title +@ref{chapter,,,file name} (file name)chapter +@ref{chapter,,,,manual} ‘chapter’ in manual +@ref{chapter,cross ref name,title,} title +@ref{chapter,cross ref name,,file name} (file name)cross ref name +@ref{chapter,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{chapter,cross ref name,title,file name} (file name)title +@ref{chapter,cross ref name,title,,manual} ‘title’ in manual +@ref{chapter,cross ref name,title, file name, manual} title in manual +@ref{chapter,,title,file name} (file name)title +@ref{chapter,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{chapter,,,file name,manual} chapter in manual +

+ +

@ref{(pman)anode,cross ref name} (pman)cross ref name +@ref{(pman)anode,,title} (pman)title +@ref{(pman)anode,,,file name} (file name)anode +@ref{(pman)anode,,,,manual} anode in manual +@ref{(pman)anode,cross ref name,title,} (pman)title +@ref{(pman)anode,cross ref name,,file name} (file name)cross ref name +@ref{(pman)anode,cross ref name,,,manual} cross ref name in manual +@ref{(pman)anode,cross ref name,title,file name} (file name)title +@ref{(pman)anode,cross ref name,title,,manual} title in manual +@ref{(pman)anode,cross ref name,title, file name, manual} title in manual +@ref{(pman)anode,,title,file name} (file name)title +@ref{(pman)anode,,title,,manual} title in manual +@ref{(pman)anode,,title, file name, manual} title in manual +@ref{(pman)anode,,,file name,manual} anode in manual +

+ +

@inforef{chapter, cross ref name, file name} See (file name)cross ref name +@inforef{chapter} See ‘chapter’ +@inforef{chapter, cross ref name} See ‘cross ref name’ +@inforef{chapter,,file name} See (file name)chapter +@inforef{node, cross ref name, file name} See (file name)cross ref name +@inforef{node} See ‘node’ +@inforef{node, cross ref name} See ‘cross ref name’ +@inforef{node,,file name} See (file name)node +@inforef{chapter, cross ref name, file name, spurious arg} See (file name, spurious arg)cross ref name +

+

@inforef{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in file} +See (a comma, in file)a , in cross +ref +

+ +
+
a
+

l–ine +

+
+ +
+
a + +
+
b + +
+

l–ine +

+
+ +
+
a + +
+
+
+
b + +
+

l–ine +

+
+ +
+

c–artouche +

+ +

g–roupe +

+

f–lushleft +

+

f–lushright +

+
ce–ntered line +
+
\input texinfo @c -*-texinfo-*-
+
+@setfilename simplest.info
+
+@node Top
+
+This is a very simple texi manual @  <>.
+
+@bye
+
+
in verbatim ''
+
+ +html '' + + + +

majorheading

+ + +

chapheading

+ + +

heading

+ + +

subheading

+ + +

subsubheading

+ + +

@acronym{--a,an accronym @comma{} @enddots{}} –a (an accronym , ...) +@abbr{@'E--. @comma{}A., @'Etude--@comma{} @b{Autonome} } É–. ,A. (Étude–, Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +

+

@math{--a@minus{} {\frac{1}{2}}} --a- {\frac{1}{2}} +

+

@image{f-ile,,,alt@verb{:jk _" %}} altjk _" %@ +@image{f--ile,aze,az,@verb{:jk _" %@:} @b{in b "},e--xt} jk _" %@ in b " +@image{file@verb{:jk _" %@:},,,alt@verb{:jk _" %@:}} altjk _" %@ +

+ + + +

Somehow invalid use of @,:
+@, , +
+@,@"u ,ü +

+

Invalid use of @’:
+@’ ' +
+@’@"u 'ü +

+

@dotless{truc} truc +@dotless{ij} ij +@dotless{--a} –a +@dotless{a} a +

+

@TeX, but without brace TeX@# # +

+

@w{--a} –a +

+

@image{,1--xt} +@image{,,2--xt} +@image{,,,3--xt} +

+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
+
fun:
+
truc: machin bidule chose and
+
truc: machin bidule chose and after
+
truc: machin bidule chose and
+
truc: machin bidule chose and and after
+
truc: followed by a comment
+

Various deff lines +

truc: after a deff item
+
+ +

@ref{node} ‘node’ +

+

@ref{,cross ref name} ‘cross ref name’ +@ref{,,title} ‘title’ +@ref{,,,file name} (file name) +@ref{,,,,manual} manual +@ref{node,cross ref name} ‘cross ref name’ +@ref{node,,title} ‘title’ +@ref{node,,,file name} (file name)node +@ref{node,,,,manual} ‘node’ in manual +@ref{node,cross ref name,title,} ‘title’ +@ref{node,cross ref name,,file name} (file name)cross ref name +@ref{node,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{node,cross ref name,title,file name} (file name)title +@ref{node,cross ref name,title,,manual} ‘title’ in manual +@ref{node,cross ref name,title, file name, manual} title in manual +@ref{node,,title,file name} (file name)title +@ref{node,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{node,,title, file name, manual} title in manual +@ref{node,,,file name,manual} node in manual +@ref{,cross ref name,title,} ‘title’ +@ref{,cross ref name,,file name} (file name)cross ref name +@ref{,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{,cross ref name,title,file name} (file name)title +@ref{,cross ref name,title,,manual} ‘title’ in manual +@ref{,cross ref name,title, file name, manual} title in manual +@ref{,,title,file name} (file name)title +@ref{,,title,,manual} ‘title’ in manual +@ref{,,title, file name, manual} title in manual +@ref{,,,file name,manual} manual +

+

@inforef{,cross ref name } See ‘cross ref name’ +@inforef{,,file name} See (file name) +@inforef{,cross ref name, file name} See (file name)cross ref name +@inforef{} +

+ + +

Insercopying in titlepage +

In copying +

+

< +> +" +& +’ +‘ +

+

“simple-double–three—four—-”
+code: ``simple-double--three---four----''
+asis: “simple-double–three—four—-”
+strong: “simple-double–three—four—-”
+kbd: ``simple-double--three---four----''
+

+

‘simple-double--three—four—-’
+

+ + + + + +

@"u ü +@"{U} Ü +@~n ñ +@^a â +@’e é +@=o ō +@‘i ì +@’{e} é +@’{@dotless{i}} í +@dotless{i} i +@dotless{j} j +@‘{@=E} Ē` +@l{} ł +@,{@’C} Ć, +@,c ç +@,c@"u çü
+

+

@*
+@ followed by a space +  +@ followed by a tab +  +@ followed by a new line + +@- +@| +@: +@! ! +@? ? +@. . +@@ @ +@} } +@{ { +@/ +

+

foo vs. bar. +colon :And something else. +semi colon ;. +And ? ?. +Now ! !@ +but , , +

+

@TeX TeX +@LaTeX LaTeX +@bullet • +@copyright © +@dots … +@enddots ... +@equiv ≡ +@error error→ +@expansion → +@minus - +@point ∗ +@print -| +@result ⇒ +@today a sunny day +@aa å +@AA Å +@ae æ +@oe œ +@AE Æ +@OE Œ +@o ø +@O Ø +@ss ß +@l ł +@L Ł +@DH Ð +@TH Þ +@dh ð +@th þ +@exclamdown ¡ +@questiondown ¿ +@pounds £ +@registeredsymbol ® +@ordf ª +@ordm º +@comma , +@quotedblleft “ +@quotedblright ” +@quoteleft ‘ +@quoteright ’ +@quotedblbase „ +@quotesinglbase ‚ +@guillemetleft « +@guillemetright » +@guillemotleft « +@guillemotright » +@guilsinglleft ‹ +@guilsinglright › +@textdegree ° +@euro € +@arrow → +@leq ≤ +@geq ≥ +

+

@acronym{--a,an accronym} –a (an accronym) +@acronym{--a} –a +@abbr{@'E--. @comma{}A., @'Etude Autonome } É–. ,A. (Étude Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +@asis{--a} –a +@b{--a} –a +@cite{--a} –a +@code{--a} --a +@command{--a} --a +@ctrl{--a} ^–a +@dfn{--a} –a +@dmn{--a} –a +@email{--a,--b} –b +@email{,--b} –b +@email{--a} --a +@emph{--a} –a +@env{--a} --a +@file{--a} --a +@i{--a} –a +@kbd{--a} --a +@key{--a} --a +@math{--a {\frac{1}{2}} @minus{}} --a {\frac{1}{2}} - +@option{--a} --a +@r{--a} –a +@samp{--a}--a’ +@sc{--a} –A +@strong{--a} –a +@t{--a} --a +@sansserif{--a} –a +@slanted{--a} –a +@titlefont{--a}

–a

+

@indicateurl{--a}--a’ +@uref{--a,--b} –b +@uref{--a} --a +@uref{,--b} –b +@uref{--a,--b,--c} –c +@uref{,--b,--c} –c +@uref{--a,,--c} –c +@uref{,,--c} –c +@url{--a,--b} –b +@url{--a,} --a +@url{,--b} –b +@var{--a} –a +@verb{:--a:} --a +@verb{:a < & @ % " -- b:} a < & @ % " -- b +@w{a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a} a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a +@H{a} a'' +@H{--a} –a'' +@dotaccent{a} ȧ +@dotaccent{--a} –a. +@ringaccent{a} å +@ringaccent{--a} –a* +@tieaccent{a} a[ +@tieaccent{--a} –a[ +@u{a} ă +@u{--a} –a( +@ubaraccent{a} a_ +@ubaraccent{--a} –a_ +@udotaccent{a} ạ +@udotaccent{--a} .–a +@v{a} ǎ +@v{--a} –a< +@,{c} ç +@,{--c} –c, +@ogonek{a} ą +@ogonek{--a} –a; +@footnote{in footnote} 9 +@footnote{in footnote2} 10 +

+

@image{f--ile} f--ile +@image{f--ile,l--i} f--ile +@image{f--ile,,l--e} f--ile +@image{f--ile,,,alt} alt +@image{f--ile,,,,e-d-xt} f--ile +@image{f--ile,aze,az,alt,e--xt} alt +@image{f-ile,aze,,a--lt} a–lt +@image{@file{f--ile}@@@.,aze,az,alt,@file{file ext} e--xt@} alt +

+
+
+ +

@clicksequence{click @click{} A} click → A +After clickstyle ⇒ +@clicksequence{click @click{} A} click ⇒ A +

+
+

A quot—ation +

+ +
+

Note: A Note +

+ +
+

note: A note +

+ +
+

Caution: Caution +

+ +
+

Important: Important +

+ +
+

Tip: a Tip +

+ +
+

Warning: a Warning. +

+ +
+

something é TeX: The something é TeX is here. +

+ +
+

@ at the end of line: A @ at the end of the @quotation line. +

+ +
+

something, other thing: something, other thing +

+ +
+

Note, the note: Note, the note +

+ +
+
+ +
+
+ +
+
+ +
+
+ +
+

A small quot—ation +

+ +
+

Note: A small Note +

+ +
+

something, other thing: something, other thing +

+ +
    +
  • i–temize +
+ +
    +
  • + i–tem + +
+ +
    +
  • b–ullet +
+ +
    +
  • - minu–s +
+ +
    +
  • e–mph item +
+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line +i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
    +
  1. e–numerate +
+ + + + + + +
mu–ltitable headitemanother tab
mu–ltitable itemmultitable tab
mu–ltitable item 2multitable tab 2 +
lone mu–ltitable item
+ + + +
trucbidule
+ +
+
e--xample  some
+   text
+
+ +
+
s--mallexample
+
+ +
+
d–isplay
+
+ +
+
s–malldisplay
+
+ +
+
l--isp
+
+ +
+
s--malllisp
+
+ +
+
f–ormat
+
+ +
+
s–mallformat
+
+ +
+
c--ategory: d--effn_name a--rguments...
+

d–effn +

+ +
+
cate--gory: de--ffn_name ar--guments
+

more args
even more so +def–fn +

+ +
+
fset: i a g
+
+
cmde: truc
+
Command: log trap
+
Command: log trap1
+
Command: log trap2
+
cmde: id ule truc
+
cmde2: id ‘i’ ule truc
+
id ‘i’ ule:
+
:
+
aaa:
+
:
+
:
+
: machin
+
: bidule machin
+
truc: machin
+
truc:
+
truc: followed by a comment
+
truc:
+
:
+
truc: a b c d e f g h i
+
truc: deffnx before end deffn
+
+ +
+
empty: deffn
+
+ +
+
empty: deffn with deffnx
+
empty: deffnx
+
+ +
+
fset: i a g
+
cmde: truc
+

text in def item for second def item +

+ +
+
c--ategory: d--efvr_name
+

d–efvr +

+ +
+
c--ategory: t--ype d--eftypefn_name a--rguments...
+

d–eftypefn +

+ +
+
c--ategory on c--lass: t--ype d--eftypeop_name a--rguments...
+

d–eftypeop +

+ +
+
c--ategory: t--ype d--eftypevr_name
+

d–eftypevr +

+ +
+
c--ategory of c--lass: d--efcv_name
+

d–efcv +

+ +
+
c--ategory on c--lass: d--efop_name a--rguments...
+

d–efop +

+ +
+
c--ategory: d--eftp_name a--ttributes...
+

d–eftp +

+ +
+
Function: d--efun_name a--rguments...
+

d–efun +

+ +
+
Macro: d--efmac_name a--rguments...
+

d–efmac +

+ +
+
Special Form: d--efspec_name a--rguments...
+

d–efspec +

+ +
+
Variable: d--efvar_name argvar argvar1
+

d–efvar +

+ +
+
User Option: d--efopt_name
+

d–efopt +

+ +
+
Function: t--ype d--eftypefun_name a--rguments...
+

d–eftypefun +

+ +
+
Variable: t--ype d--eftypevar_name
+

d–eftypevar +

+ +
+
Instance Variable of c--lass: d--efivar_name
+

d–efivar +

+ +
+
Instance Variable of c--lass: t--ype d--eftypeivar_name
+

d–eftypeivar +

+ +
+
Method on c--lass: d--efmethod_name a--rguments...
+

d–efmethod +

+ +
+
Method on c--lass: t--ype d--eftypemethod_name a--rguments...
+

d–eftypemethod +

+ +

@xref{c---hapter@@, cross r---ef name@@, t---itle@@, file n---ame@@, ma---nual@@} See t—itle@ in ma—nual@. +@ref{chapter, cross ref name, title, file name, manual} title in manual +@pxref{chapter, cross ref name, title, file name, manual} see title in manual +@inforef{chapter, cross ref name, file name} See (file name)cross ref name +

+

@ref{chapter} chapter +@xref{chapter} See section chapter. +@pxref{chapter} see section chapter +@ref{s--ect@comma{}ion} A section +

+

@ref{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in title, a comma@comma{} in file, a @comma{} in manual name } +a comma, in title in a , in manual name +

+

@ref{chapter,cross ref name} cross ref name +@ref{chapter,,title} title +@ref{chapter,,,file name} (file name)chapter +@ref{chapter,,,,manual} ‘chapter’ in manual +@ref{chapter,cross ref name,title,} title +@ref{chapter,cross ref name,,file name} (file name)cross ref name +@ref{chapter,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{chapter,cross ref name,title,file name} (file name)title +@ref{chapter,cross ref name,title,,manual} ‘title’ in manual +@ref{chapter,cross ref name,title, file name, manual} title in manual +@ref{chapter,,title,file name} (file name)title +@ref{chapter,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{chapter,,,file name,manual} chapter in manual +

+ +

@ref{(pman)anode,cross ref name} (pman)cross ref name +@ref{(pman)anode,,title} (pman)title +@ref{(pman)anode,,,file name} (file name)anode +@ref{(pman)anode,,,,manual} anode in manual +@ref{(pman)anode,cross ref name,title,} (pman)title +@ref{(pman)anode,cross ref name,,file name} (file name)cross ref name +@ref{(pman)anode,cross ref name,,,manual} cross ref name in manual +@ref{(pman)anode,cross ref name,title,file name} (file name)title +@ref{(pman)anode,cross ref name,title,,manual} title in manual +@ref{(pman)anode,cross ref name,title, file name, manual} title in manual +@ref{(pman)anode,,title,file name} (file name)title +@ref{(pman)anode,,title,,manual} title in manual +@ref{(pman)anode,,title, file name, manual} title in manual +@ref{(pman)anode,,,file name,manual} anode in manual +

+ +

@inforef{chapter, cross ref name, file name} See (file name)cross ref name +@inforef{chapter} See ‘chapter’ +@inforef{chapter, cross ref name} See ‘cross ref name’ +@inforef{chapter,,file name} See (file name)chapter +@inforef{node, cross ref name, file name} See (file name)cross ref name +@inforef{node} See ‘node’ +@inforef{node, cross ref name} See ‘cross ref name’ +@inforef{node,,file name} See (file name)node +@inforef{chapter, cross ref name, file name, spurious arg} See (file name, spurious arg)cross ref name +

+

@inforef{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in file} +See (a comma, in file)a , in cross +ref +

+ +
+
a
+

l–ine +

+
+ +
+
a + +
+
b + +
+

l–ine +

+
+ +
+
a + +
+
+
+
b + +
+

l–ine +

+
+ +
+

c–artouche +

+ +

g–roupe +

+

f–lushleft +

+

f–lushright +

+
ce–ntered line +
+
\input texinfo @c -*-texinfo-*-
+
+@setfilename simplest.info
+
+@node Top
+
+This is a very simple texi manual @  <>.
+
+@bye
+
+
in verbatim ''
+
+ +html '' + + + +

majorheading

+ + +

chapheading

+ + +

heading

+ + +

subheading

+ + +

subsubheading

+ + +

@acronym{--a,an accronym @comma{} @enddots{}} –a (an accronym , ...) +@abbr{@'E--. @comma{}A., @'Etude--@comma{} @b{Autonome} } É–. ,A. (Étude–, Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +

+

@math{--a@minus{} {\frac{1}{2}}} --a- {\frac{1}{2}} +

+

@image{f-ile,,,alt@verb{:jk _" %}} altjk _" %@ +@image{f--ile,aze,az,@verb{:jk _" %@:} @b{in b "},e--xt} jk _" %@ in b " +@image{file@verb{:jk _" %@:},,,alt@verb{:jk _" %@:}} altjk _" %@ +

+ + + +

Somehow invalid use of @,:
+@, , +
+@,@"u ,ü +

+

Invalid use of @’:
+@’ ' +
+@’@"u 'ü +

+

@dotless{truc} truc +@dotless{ij} ij +@dotless{--a} –a +@dotless{a} a +

+

@TeX, but without brace TeX@# # +

+

@w{--a} –a +

+

@image{,1--xt} +@image{,,2--xt} +@image{,,,3--xt} +

+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
+
fun:
+
truc: machin bidule chose and
+
truc: machin bidule chose and after
+
truc: machin bidule chose and
+
truc: machin bidule chose and and after
+
truc: followed by a comment
+

Various deff lines +

truc: after a deff item
+
+ +

@ref{node} ‘node’ +

+

@ref{,cross ref name} ‘cross ref name’ +@ref{,,title} ‘title’ +@ref{,,,file name} (file name) +@ref{,,,,manual} manual +@ref{node,cross ref name} ‘cross ref name’ +@ref{node,,title} ‘title’ +@ref{node,,,file name} (file name)node +@ref{node,,,,manual} ‘node’ in manual +@ref{node,cross ref name,title,} ‘title’ +@ref{node,cross ref name,,file name} (file name)cross ref name +@ref{node,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{node,cross ref name,title,file name} (file name)title +@ref{node,cross ref name,title,,manual} ‘title’ in manual +@ref{node,cross ref name,title, file name, manual} title in manual +@ref{node,,title,file name} (file name)title +@ref{node,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{node,,title, file name, manual} title in manual +@ref{node,,,file name,manual} node in manual +@ref{,cross ref name,title,} ‘title’ +@ref{,cross ref name,,file name} (file name)cross ref name +@ref{,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{,cross ref name,title,file name} (file name)title +@ref{,cross ref name,title,,manual} ‘title’ in manual +@ref{,cross ref name,title, file name, manual} title in manual +@ref{,,title,file name} (file name)title +@ref{,,title,,manual} ‘title’ in manual +@ref{,,title, file name, manual} title in manual +@ref{,,,file name,manual} manual +

+

@inforef{,cross ref name } See ‘cross ref name’ +@inforef{,,file name} See (file name) +@inforef{,cross ref name, file name} See (file name)cross ref name +@inforef{} +

+ + +
+ + + + + + + + + +
[ < ][ > ]   [Contents][Index][ ? ]
+ +

Top section

+ + + + + + + + + +

Insertcopying in normal text +

In copying +

+

< +> +" +& +’ +‘ +

+

“simple-double–three—four—-”
+code: ``simple-double--three---four----''
+asis: “simple-double–three—four—-”
+strong: “simple-double–three—four—-”
+kbd: ``simple-double--three---four----''
+

+

‘simple-double--three—four—-’
+

+ + + + + +

@"u ü +@"{U} Ü +@~n ñ +@^a â +@’e é +@=o ō +@‘i ì +@’{e} é +@’{@dotless{i}} í +@dotless{i} i +@dotless{j} j +@‘{@=E} Ē` +@l{} ł +@,{@’C} Ć, +@,c ç +@,c@"u çü
+

+

@*
+@ followed by a space +  +@ followed by a tab +  +@ followed by a new line + +@- +@| +@: +@! ! +@? ? +@. . +@@ @ +@} } +@{ { +@/ +

+

foo vs. bar. +colon :And something else. +semi colon ;. +And ? ?. +Now ! !@ +but , , +

+

@TeX TeX +@LaTeX LaTeX +@bullet • +@copyright © +@dots … +@enddots ... +@equiv ≡ +@error error→ +@expansion → +@minus - +@point ∗ +@print -| +@result ⇒ +@today a sunny day +@aa å +@AA Å +@ae æ +@oe œ +@AE Æ +@OE Œ +@o ø +@O Ø +@ss ß +@l ł +@L Ł +@DH Ð +@TH Þ +@dh ð +@th þ +@exclamdown ¡ +@questiondown ¿ +@pounds £ +@registeredsymbol ® +@ordf ª +@ordm º +@comma , +@quotedblleft “ +@quotedblright ” +@quoteleft ‘ +@quoteright ’ +@quotedblbase „ +@quotesinglbase ‚ +@guillemetleft « +@guillemetright » +@guillemotleft « +@guillemotright » +@guilsinglleft ‹ +@guilsinglright › +@textdegree ° +@euro € +@arrow → +@leq ≤ +@geq ≥ +

+

@acronym{--a,an accronym} –a (an accronym) +@acronym{--a} –a +@abbr{@'E--. @comma{}A., @'Etude Autonome } É–. ,A. (Étude Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +@asis{--a} –a +@b{--a} –a +@cite{--a} –a +@code{--a} --a +@command{--a} --a +@ctrl{--a} ^–a +@dfn{--a} –a +@dmn{--a} –a +@email{--a,--b} –b +@email{,--b} –b +@email{--a} --a +@emph{--a} –a +@env{--a} --a +@file{--a} --a +@i{--a} –a +@kbd{--a} --a +@key{--a} --a +@math{--a {\frac{1}{2}} @minus{}} --a {\frac{1}{2}} - +@option{--a} --a +@r{--a} –a +@samp{--a}--a’ +@sc{--a} –A +@strong{--a} –a +@t{--a} --a +@sansserif{--a} –a +@slanted{--a} –a +@titlefont{--a}

–a

+

@indicateurl{--a}--a’ +@uref{--a,--b} –b +@uref{--a} --a +@uref{,--b} –b +@uref{--a,--b,--c} –c +@uref{,--b,--c} –c +@uref{--a,,--c} –c +@uref{,,--c} –c +@url{--a,--b} –b +@url{--a,} --a +@url{,--b} –b +@var{--a} –a +@verb{:--a:} --a +@verb{:a < & @ % " -- b:} a < & @ % " -- b +@w{a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a} a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a +@H{a} a'' +@H{--a} –a'' +@dotaccent{a} ȧ +@dotaccent{--a} –a. +@ringaccent{a} å +@ringaccent{--a} –a* +@tieaccent{a} a[ +@tieaccent{--a} –a[ +@u{a} ă +@u{--a} –a( +@ubaraccent{a} a_ +@ubaraccent{--a} –a_ +@udotaccent{a} ạ +@udotaccent{--a} .–a +@v{a} ǎ +@v{--a} –a< +@,{c} ç +@,{--c} –c, +@ogonek{a} ą +@ogonek{--a} –a; +@footnote{in footnote} 1 +@footnote{in footnote2} 2 +

+

@image{f--ile} f--ile +@image{f--ile,l--i} f--ile +@image{f--ile,,l--e} f--ile +@image{f--ile,,,alt} alt +@image{f--ile,,,,e-d-xt} f--ile +@image{f--ile,aze,az,alt,e--xt} alt +@image{f-ile,aze,,a--lt} a–lt +@image{@file{f--ile}@@@.,aze,az,alt,@file{file ext} e--xt@} alt +

+
+
+ +

@clicksequence{click @click{} A} click → A +After clickstyle ⇒ +@clicksequence{click @click{} A} click ⇒ A +

+
+

A quot—ation +

+ +
+

Note: A Note +

+ +
+

note: A note +

+ +
+

Caution: Caution +

+ +
+

Important: Important +

+ +
+

Tip: a Tip +

+ +
+

Warning: a Warning. +

+ +
+

something é TeX: The something é TeX is here. +

+ +
+

@ at the end of line: A @ at the end of the @quotation line. +

+ +
+

something, other thing: something, other thing +

+ +
+

Note, the note: Note, the note +

+ +
+
+ +
+
+ +
+
+ +
+
+ +
+

A small quot—ation +

+ +
+

Note: A small Note +

+ +
+

something, other thing: something, other thing +

+ +
    +
  • i–temize +
+ +
    +
  • + i–tem + +
+ +
    +
  • b–ullet +
+ +
    +
  • - minu–s +
+ +
    +
  • e–mph item +
+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line +i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
    +
  1. e–numerate +
+ + + + + + +
mu–ltitable headitemanother tab
mu–ltitable itemmultitable tab
mu–ltitable item 2multitable tab 2 +
lone mu–ltitable item
+ + + +
trucbidule
+ +
+
e--xample  some
+   text
+
+ +
+
s--mallexample
+
+ +
+
d–isplay
+
+ +
+
s–malldisplay
+
+ +
+
l--isp
+
+ +
+
s--malllisp
+
+ +
+
f–ormat
+
+ +
+
s–mallformat
+
+ +
+
c--ategory: d--effn_name a--rguments...
+

d–effn +

+ +
+
cate--gory: de--ffn_name ar--guments
+

more args
even more so +def–fn +

+ +
+
fset: i a g
+
+
cmde: truc
+
Command: log trap
+
Command: log trap1
+
Command: log trap2
+
cmde: id ule truc
+
cmde2: id ‘i’ ule truc
+
id ‘i’ ule:
+
:
+
aaa:
+
:
+
:
+
: machin
+
: bidule machin
+
truc: machin
+
truc:
+
truc: followed by a comment
+
truc:
+
:
+
truc: a b c d e f g h i
+
truc: deffnx before end deffn
+
+ +
+
empty: deffn
+
+ +
+
empty: deffn with deffnx
+
empty: deffnx
+
+ +
+
fset: i a g
+
cmde: truc
+

text in def item for second def item +

+ +
+
c--ategory: d--efvr_name
+

d–efvr +

+ +
+
c--ategory: t--ype d--eftypefn_name a--rguments...
+

d–eftypefn +

+ +
+
c--ategory on c--lass: t--ype d--eftypeop_name a--rguments...
+

d–eftypeop +

+ +
+
c--ategory: t--ype d--eftypevr_name
+

d–eftypevr +

+ +
+
c--ategory of c--lass: d--efcv_name
+

d–efcv +

+ +
+
c--ategory on c--lass: d--efop_name a--rguments...
+

d–efop +

+ +
+
c--ategory: d--eftp_name a--ttributes...
+

d–eftp +

+ +
+
Function: d--efun_name a--rguments...
+

d–efun +

+ +
+
Macro: d--efmac_name a--rguments...
+

d–efmac +

+ +
+
Special Form: d--efspec_name a--rguments...
+

d–efspec +

+ +
+
Variable: d--efvar_name argvar argvar1
+

d–efvar +

+ +
+
User Option: d--efopt_name
+

d–efopt +

+ +
+
Function: t--ype d--eftypefun_name a--rguments...
+

d–eftypefun +

+ +
+
Variable: t--ype d--eftypevar_name
+

d–eftypevar +

+ +
+
Instance Variable of c--lass: d--efivar_name
+

d–efivar +

+ +
+
Instance Variable of c--lass: t--ype d--eftypeivar_name
+

d–eftypeivar +

+ +
+
Method on c--lass: d--efmethod_name a--rguments...
+

d–efmethod +

+ +
+
Method on c--lass: t--ype d--eftypemethod_name a--rguments...
+

d–eftypemethod +

+ +

@xref{c---hapter@@, cross r---ef name@@, t---itle@@, file n---ame@@, ma---nual@@} See t—itle@ in ma—nual@. +@ref{chapter, cross ref name, title, file name, manual} title in manual +@pxref{chapter, cross ref name, title, file name, manual} see title in manual +@inforef{chapter, cross ref name, file name} See (file name)cross ref name +

+

@ref{chapter} chapter +@xref{chapter} See section chapter. +@pxref{chapter} see section chapter +@ref{s--ect@comma{}ion} A section +

+

@ref{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in title, a comma@comma{} in file, a @comma{} in manual name } +a comma, in title in a , in manual name +

+

@ref{chapter,cross ref name} cross ref name +@ref{chapter,,title} title +@ref{chapter,,,file name} (file name)chapter +@ref{chapter,,,,manual} ‘chapter’ in manual +@ref{chapter,cross ref name,title,} title +@ref{chapter,cross ref name,,file name} (file name)cross ref name +@ref{chapter,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{chapter,cross ref name,title,file name} (file name)title +@ref{chapter,cross ref name,title,,manual} ‘title’ in manual +@ref{chapter,cross ref name,title, file name, manual} title in manual +@ref{chapter,,title,file name} (file name)title +@ref{chapter,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{chapter,,,file name,manual} chapter in manual +

+ +

@ref{(pman)anode,cross ref name} (pman)cross ref name +@ref{(pman)anode,,title} (pman)title +@ref{(pman)anode,,,file name} (file name)anode +@ref{(pman)anode,,,,manual} anode in manual +@ref{(pman)anode,cross ref name,title,} (pman)title +@ref{(pman)anode,cross ref name,,file name} (file name)cross ref name +@ref{(pman)anode,cross ref name,,,manual} cross ref name in manual +@ref{(pman)anode,cross ref name,title,file name} (file name)title +@ref{(pman)anode,cross ref name,title,,manual} title in manual +@ref{(pman)anode,cross ref name,title, file name, manual} title in manual +@ref{(pman)anode,,title,file name} (file name)title +@ref{(pman)anode,,title,,manual} title in manual +@ref{(pman)anode,,title, file name, manual} title in manual +@ref{(pman)anode,,,file name,manual} anode in manual +

+ +

@inforef{chapter, cross ref name, file name} See (file name)cross ref name +@inforef{chapter} See ‘chapter’ +@inforef{chapter, cross ref name} See ‘cross ref name’ +@inforef{chapter,,file name} See (file name)chapter +@inforef{node, cross ref name, file name} See (file name)cross ref name +@inforef{node} See ‘node’ +@inforef{node, cross ref name} See ‘cross ref name’ +@inforef{node,,file name} See (file name)node +@inforef{chapter, cross ref name, file name, spurious arg} See (file name, spurious arg)cross ref name +

+

@inforef{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in file} +See (a comma, in file)a , in cross +ref +

+ +
+
a
+

l–ine +

+
+ +
+
a + +
+
b + +
+

l–ine +

+
+ +
+
a + +
+
+
+
b + +
+

l–ine +

+
+ +
+

c–artouche +

+ +

g–roupe +

+

f–lushleft +

+

f–lushright +

+
ce–ntered line +
+
\input texinfo @c -*-texinfo-*-
+
+@setfilename simplest.info
+
+@node Top
+
+This is a very simple texi manual @  <>.
+
+@bye
+
+
in verbatim ''
+
+ +html '' + + + +

majorheading

+ + +

chapheading

+ + +

heading

+ + +

subheading

+ + +

subsubheading

+ + +

@acronym{--a,an accronym @comma{} @enddots{}} –a (an accronym , ...) +@abbr{@'E--. @comma{}A., @'Etude--@comma{} @b{Autonome} } É–. ,A. (Étude–, Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +

+

@math{--a@minus{} {\frac{1}{2}}} --a- {\frac{1}{2}} +

+

@image{f-ile,,,alt@verb{:jk _" %}} altjk _" %@ +@image{f--ile,aze,az,@verb{:jk _" %@:} @b{in b "},e--xt} jk _" %@ in b " +@image{file@verb{:jk _" %@:},,,alt@verb{:jk _" %@:}} altjk _" %@ +

+ + + +

Somehow invalid use of @,:
+@, , +
+@,@"u ,ü +

+

Invalid use of @’:
+@’ ' +
+@’@"u 'ü +

+

@dotless{truc} truc +@dotless{ij} ij +@dotless{--a} –a +@dotless{a} a +

+

@TeX, but without brace TeX@# # +

+

@w{--a} –a +

+

@image{,1--xt} +@image{,,2--xt} +@image{,,,3--xt} +

+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
+
fun:
+
truc: machin bidule chose and
+
truc: machin bidule chose and after
+
truc: machin bidule chose and
+
truc: machin bidule chose and and after
+
truc: followed by a comment
+

Various deff lines +

truc: after a deff item
+
+ +

@ref{node} ‘node’ +

+

@ref{,cross ref name} ‘cross ref name’ +@ref{,,title} ‘title’ +@ref{,,,file name} (file name) +@ref{,,,,manual} manual +@ref{node,cross ref name} ‘cross ref name’ +@ref{node,,title} ‘title’ +@ref{node,,,file name} (file name)node +@ref{node,,,,manual} ‘node’ in manual +@ref{node,cross ref name,title,} ‘title’ +@ref{node,cross ref name,,file name} (file name)cross ref name +@ref{node,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{node,cross ref name,title,file name} (file name)title +@ref{node,cross ref name,title,,manual} ‘title’ in manual +@ref{node,cross ref name,title, file name, manual} title in manual +@ref{node,,title,file name} (file name)title +@ref{node,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{node,,title, file name, manual} title in manual +@ref{node,,,file name,manual} node in manual +@ref{,cross ref name,title,} ‘title’ +@ref{,cross ref name,,file name} (file name)cross ref name +@ref{,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{,cross ref name,title,file name} (file name)title +@ref{,cross ref name,title,,manual} ‘title’ in manual +@ref{,cross ref name,title, file name, manual} title in manual +@ref{,,title,file name} (file name)title +@ref{,,title,,manual} ‘title’ in manual +@ref{,,title, file name, manual} title in manual +@ref{,,,file name,manual} manual +

+

@inforef{,cross ref name } See ‘cross ref name’ +@inforef{,,file name} See (file name) +@inforef{,cross ref name, file name} See (file name)cross ref name +@inforef{} +

+ + + +

Normal text +

+

< +> +" +& +’ +‘ +

+

“simple-double–three—four—-”
+code: ``simple-double--three---four----''
+asis: “simple-double–three—four—-”
+strong: “simple-double–three—four—-”
+kbd: ``simple-double--three---four----''
+

+

‘simple-double--three—four—-’
+

+ + + + + +

@"u ü +@"{U} Ü +@~n ñ +@^a â +@’e é +@=o ō +@‘i ì +@’{e} é +@’{@dotless{i}} í +@dotless{i} i +@dotless{j} j +@‘{@=E} Ē` +@l{} ł +@,{@’C} Ć, +@,c ç +@,c@"u çü
+

+

@*
+@ followed by a space +  +@ followed by a tab +  +@ followed by a new line + +@- +@| +@: +@! ! +@? ? +@. . +@@ @ +@} } +@{ { +@/ +

+

foo vs. bar. +colon :And something else. +semi colon ;. +And ? ?. +Now ! !@ +but , , +

+

@TeX TeX +@LaTeX LaTeX +@bullet • +@copyright © +@dots … +@enddots ... +@equiv ≡ +@error error→ +@expansion → +@minus - +@point ∗ +@print -| +@result ⇒ +@today a sunny day +@aa å +@AA Å +@ae æ +@oe œ +@AE Æ +@OE Œ +@o ø +@O Ø +@ss ß +@l ł +@L Ł +@DH Ð +@TH Þ +@dh ð +@th þ +@exclamdown ¡ +@questiondown ¿ +@pounds £ +@registeredsymbol ® +@ordf ª +@ordm º +@comma , +@quotedblleft “ +@quotedblright ” +@quoteleft ‘ +@quoteright ’ +@quotedblbase „ +@quotesinglbase ‚ +@guillemetleft « +@guillemetright » +@guillemotleft « +@guillemotright » +@guilsinglleft ‹ +@guilsinglright › +@textdegree ° +@euro € +@arrow → +@leq ≤ +@geq ≥ +

+

@acronym{--a,an accronym} –a (an accronym) +@acronym{--a} –a +@abbr{@'E--. @comma{}A., @'Etude Autonome } É–. ,A. (Étude Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +@asis{--a} –a +@b{--a} –a +@cite{--a} –a +@code{--a} --a +@command{--a} --a +@ctrl{--a} ^–a +@dfn{--a} –a +@dmn{--a} –a +@email{--a,--b} –b +@email{,--b} –b +@email{--a} --a +@emph{--a} –a +@env{--a} --a +@file{--a} --a +@i{--a} –a +@kbd{--a} --a +@key{--a} --a +@math{--a {\frac{1}{2}} @minus{}} --a {\frac{1}{2}} - +@option{--a} --a +@r{--a} –a +@samp{--a}--a’ +@sc{--a} –A +@strong{--a} –a +@t{--a} --a +@sansserif{--a} –a +@slanted{--a} –a +@titlefont{--a}

–a

+

@indicateurl{--a}--a’ +@uref{--a,--b} –b +@uref{--a} --a +@uref{,--b} –b +@uref{--a,--b,--c} –c +@uref{,--b,--c} –c +@uref{--a,,--c} –c +@uref{,,--c} –c +@url{--a,--b} –b +@url{--a,} --a +@url{,--b} –b +@var{--a} –a +@verb{:--a:} --a +@verb{:a < & @ % " -- b:} a < & @ % " -- b +@w{a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a} a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a +@H{a} a'' +@H{--a} –a'' +@dotaccent{a} ȧ +@dotaccent{--a} –a. +@ringaccent{a} å +@ringaccent{--a} –a* +@tieaccent{a} a[ +@tieaccent{--a} –a[ +@u{a} ă +@u{--a} –a( +@ubaraccent{a} a_ +@ubaraccent{--a} –a_ +@udotaccent{a} ạ +@udotaccent{--a} .–a +@v{a} ǎ +@v{--a} –a< +@,{c} ç +@,{--c} –c, +@ogonek{a} ą +@ogonek{--a} –a; +@footnote{in footnote} 3 +@footnote{in footnote2} 4 +

+

@image{f--ile} f--ile +@image{f--ile,l--i} f--ile +@image{f--ile,,l--e} f--ile +@image{f--ile,,,alt} alt +@image{f--ile,,,,e-d-xt} f--ile +@image{f--ile,aze,az,alt,e--xt} alt +@image{f-ile,aze,,a--lt} a–lt +@image{@file{f--ile}@@@.,aze,az,alt,@file{file ext} e--xt@} alt +

+
+
+ +

@clicksequence{click @click{} A} click → A +After clickstyle ⇒ +@clicksequence{click @click{} A} click ⇒ A +

+
+

A quot—ation +

+ +
+

Note: A Note +

+ +
+

note: A note +

+ +
+

Caution: Caution +

+ +
+

Important: Important +

+ +
+

Tip: a Tip +

+ +
+

Warning: a Warning. +

+ +
+

something é TeX: The something é TeX is here. +

+ +
+

@ at the end of line: A @ at the end of the @quotation line. +

+ +
+

something, other thing: something, other thing +

+ +
+

Note, the note: Note, the note +

+ +
+
+ +
+
+ +
+
+ +
+
+ +
+

A small quot—ation +

+ +
+

Note: A small Note +

+ +
+

something, other thing: something, other thing +

+ +
    +
  • i–temize +
+ +
    +
  • + i–tem + +
+ +
    +
  • b–ullet +
+ +
    +
  • - minu–s +
+ +
    +
  • e–mph item +
+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line +i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
    +
  1. e–numerate +
+ + + + + + +
mu–ltitable headitemanother tab
mu–ltitable itemmultitable tab
mu–ltitable item 2multitable tab 2 +
lone mu–ltitable item
+ + + +
trucbidule
+ +
+
e--xample  some
+   text
+
+ +
+
s--mallexample
+
+ +
+
d–isplay
+
+ +
+
s–malldisplay
+
+ +
+
l--isp
+
+ +
+
s--malllisp
+
+ +
+
f–ormat
+
+ +
+
s–mallformat
+
+ +
+
c--ategory: d--effn_name a--rguments...
+

d–effn +

+ +
+
cate--gory: de--ffn_name ar--guments
+

more args
even more so +def–fn +

+ +
+
fset: i a g
+
+
cmde: truc
+
Command: log trap
+
Command: log trap1
+
Command: log trap2
+
cmde: id ule truc
+
cmde2: id ‘i’ ule truc
+
id ‘i’ ule:
+
:
+
aaa:
+
:
+
:
+
: machin
+
: bidule machin
+
truc: machin
+
truc:
+
truc: followed by a comment
+
truc:
+
:
+
truc: a b c d e f g h i
+
truc: deffnx before end deffn
+
+ +
+
empty: deffn
+
+ +
+
empty: deffn with deffnx
+
empty: deffnx
+
+ +
+
fset: i a g
+
cmde: truc
+

text in def item for second def item +

+ +
+
c--ategory: d--efvr_name
+

d–efvr +

+ +
+
c--ategory: t--ype d--eftypefn_name a--rguments...
+

d–eftypefn +

+ +
+
c--ategory on c--lass: t--ype d--eftypeop_name a--rguments...
+

d–eftypeop +

+ +
+
c--ategory: t--ype d--eftypevr_name
+

d–eftypevr +

+ +
+
c--ategory of c--lass: d--efcv_name
+

d–efcv +

+ +
+
c--ategory on c--lass: d--efop_name a--rguments...
+

d–efop +

+ +
+
c--ategory: d--eftp_name a--ttributes...
+

d–eftp +

+ +
+
Function: d--efun_name a--rguments...
+

d–efun +

+ +
+
Macro: d--efmac_name a--rguments...
+

d–efmac +

+ +
+
Special Form: d--efspec_name a--rguments...
+

d–efspec +

+ +
+
Variable: d--efvar_name argvar argvar1
+

d–efvar +

+ +
+
User Option: d--efopt_name
+

d–efopt +

+ +
+
Function: t--ype d--eftypefun_name a--rguments...
+

d–eftypefun +

+ +
+
Variable: t--ype d--eftypevar_name
+

d–eftypevar +

+ +
+
Instance Variable of c--lass: d--efivar_name
+

d–efivar +

+ +
+
Instance Variable of c--lass: t--ype d--eftypeivar_name
+

d–eftypeivar +

+ +
+
Method on c--lass: d--efmethod_name a--rguments...
+

d–efmethod +

+ +
+
Method on c--lass: t--ype d--eftypemethod_name a--rguments...
+

d–eftypemethod +

+ +

@xref{c---hapter@@, cross r---ef name@@, t---itle@@, file n---ame@@, ma---nual@@} See t—itle@ in ma—nual@. +@ref{chapter, cross ref name, title, file name, manual} title in manual +@pxref{chapter, cross ref name, title, file name, manual} see title in manual +@inforef{chapter, cross ref name, file name} See (file name)cross ref name +

+

@ref{chapter} chapter +@xref{chapter} See section chapter. +@pxref{chapter} see section chapter +@ref{s--ect@comma{}ion} A section +

+

@ref{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in title, a comma@comma{} in file, a @comma{} in manual name } +a comma, in title in a , in manual name +

+

@ref{chapter,cross ref name} cross ref name +@ref{chapter,,title} title +@ref{chapter,,,file name} (file name)chapter +@ref{chapter,,,,manual} ‘chapter’ in manual +@ref{chapter,cross ref name,title,} title +@ref{chapter,cross ref name,,file name} (file name)cross ref name +@ref{chapter,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{chapter,cross ref name,title,file name} (file name)title +@ref{chapter,cross ref name,title,,manual} ‘title’ in manual +@ref{chapter,cross ref name,title, file name, manual} title in manual +@ref{chapter,,title,file name} (file name)title +@ref{chapter,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{chapter,,,file name,manual} chapter in manual +

+ +

@ref{(pman)anode,cross ref name} (pman)cross ref name +@ref{(pman)anode,,title} (pman)title +@ref{(pman)anode,,,file name} (file name)anode +@ref{(pman)anode,,,,manual} anode in manual +@ref{(pman)anode,cross ref name,title,} (pman)title +@ref{(pman)anode,cross ref name,,file name} (file name)cross ref name +@ref{(pman)anode,cross ref name,,,manual} cross ref name in manual +@ref{(pman)anode,cross ref name,title,file name} (file name)title +@ref{(pman)anode,cross ref name,title,,manual} title in manual +@ref{(pman)anode,cross ref name,title, file name, manual} title in manual +@ref{(pman)anode,,title,file name} (file name)title +@ref{(pman)anode,,title,,manual} title in manual +@ref{(pman)anode,,title, file name, manual} title in manual +@ref{(pman)anode,,,file name,manual} anode in manual +

+ +

@inforef{chapter, cross ref name, file name} See (file name)cross ref name +@inforef{chapter} See ‘chapter’ +@inforef{chapter, cross ref name} See ‘cross ref name’ +@inforef{chapter,,file name} See (file name)chapter +@inforef{node, cross ref name, file name} See (file name)cross ref name +@inforef{node} See ‘node’ +@inforef{node, cross ref name} See ‘cross ref name’ +@inforef{node,,file name} See (file name)node +@inforef{chapter, cross ref name, file name, spurious arg} See (file name, spurious arg)cross ref name +

+

@inforef{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in file} +See (a comma, in file)a , in cross +ref +

+ +
+
a
+

l–ine +

+
+ +
+
a + +
+
b + +
+

l–ine +

+
+ +
+
a + +
+
+
+
b + +
+

l–ine +

+
+ +
+

c–artouche +

+ +

g–roupe +

+

f–lushleft +

+

f–lushright +

+
ce–ntered line +
+
\input texinfo @c -*-texinfo-*-
+
+@setfilename simplest.info
+
+@node Top
+
+This is a very simple texi manual @  <>.
+
+@bye
+
+
in verbatim ''
+
+ +html '' + + + +

majorheading

+ + +

chapheading

+ + +

heading

+ + +

subheading

+ + +

subsubheading

+ + +

@acronym{--a,an accronym @comma{} @enddots{}} –a (an accronym , ...) +@abbr{@'E--. @comma{}A., @'Etude--@comma{} @b{Autonome} } É–. ,A. (Étude–, Autonome) +@abbr{@'E--. @comma{}A.} É–. ,A. +

+

@math{--a@minus{} {\frac{1}{2}}} --a- {\frac{1}{2}} +

+

@image{f-ile,,,alt@verb{:jk _" %}} altjk _" %@ +@image{f--ile,aze,az,@verb{:jk _" %@:} @b{in b "},e--xt} jk _" %@ in b " +@image{file@verb{:jk _" %@:},,,alt@verb{:jk _" %@:}} altjk _" %@ +

+ + + +

Somehow invalid use of @,:
+@, , +
+@,@"u ,ü +

+

Invalid use of @’:
+@’ ' +
+@’@"u 'ü +

+

@dotless{truc} truc +@dotless{ij} ij +@dotless{--a} –a +@dotless{a} a +

+

@TeX, but without brace TeX@# # +

+

@w{--a} –a +

+

@image{,1--xt} +@image{,,2--xt} +@image{,,,3--xt} +

+ +
    +
  • after emph e–mph item +
+ +
    +
  • • a–n itemize line i–tem 1 +
  • • a–n itemize line i–tem 2 +
+ +
+
fun:
+
truc: machin bidule chose and
+
truc: machin bidule chose and after
+
truc: machin bidule chose and
+
truc: machin bidule chose and and after
+
truc: followed by a comment
+

Various deff lines +

truc: after a deff item
+
+ +

@ref{node} ‘node’ +

+

@ref{,cross ref name} ‘cross ref name’ +@ref{,,title} ‘title’ +@ref{,,,file name} (file name) +@ref{,,,,manual} manual +@ref{node,cross ref name} ‘cross ref name’ +@ref{node,,title} ‘title’ +@ref{node,,,file name} (file name)node +@ref{node,,,,manual} ‘node’ in manual +@ref{node,cross ref name,title,} ‘title’ +@ref{node,cross ref name,,file name} (file name)cross ref name +@ref{node,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{node,cross ref name,title,file name} (file name)title +@ref{node,cross ref name,title,,manual} ‘title’ in manual +@ref{node,cross ref name,title, file name, manual} title in manual +@ref{node,,title,file name} (file name)title +@ref{node,,title,,manual} ‘title’ in manual +@ref{chapter,,title, file name, manual} title in manual +@ref{node,,title, file name, manual} title in manual +@ref{node,,,file name,manual} node in manual +@ref{,cross ref name,title,} ‘title’ +@ref{,cross ref name,,file name} (file name)cross ref name +@ref{,cross ref name,,,manual} ‘cross ref name’ in manual +@ref{,cross ref name,title,file name} (file name)title +@ref{,cross ref name,title,,manual} ‘title’ in manual +@ref{,cross ref name,title, file name, manual} title in manual +@ref{,,title,file name} (file name)title +@ref{,,title,,manual} ‘title’ in manual +@ref{,,title, file name, manual} title in manual +@ref{,,,file name,manual} manual +

+

@inforef{,cross ref name } See ‘cross ref name’ +@inforef{,,file name} See (file name) +@inforef{,cross ref name, file name} See (file name)cross ref name +@inforef{} +

+ + +

In example. +

+
+<
+>
+"
+&
+'
+`
+
+``simple-double--three---four----''
+
+code: ``simple-double--three---four----'' 
+
+asis: ``simple-double--three---four----'' 
+
+strong: ``simple-double--three---four----'' 
+
+kbd: ``simple-double--three---four----'' 
+
+
+``simple-double--three---four----''
+
+
+
+@"u ü 
+@"{U} Ü 
+@~n ñ
+@^a â
+@'e é
+@=o ō
+@`i ì
+@'{e} é
+@'{@dotless{i}} í 
+@dotless{i} i
+@dotless{j} j
+@`{@=E} Ē` 
+@l{} ł
+@,{@'C} Ć,
+@,c ç
+@,c@"u çü 
+
+
+@* 
+
+@ followed by a space
+ 
+@ followed by a tab
+ 
+@ followed by a new line
+
+@- 
+@| 
+@: 
+@! !
+@? ?
+@. .
+@@ @
+@} }
+@{ {
+@/ 
+
+foo vs. bar. 
+colon :And something else.
+semi colon ;.
+And ? ?.
+Now ! !@
+but , ,
+
+@TeX TeX
+@LaTeX LaTeX
+@bullet •
+@copyright ©
+@dots …
+@enddots ...
+@equiv ≡
+@error error→
+@expansion →
+@minus -
+@point ∗
+@print -|
+@result ⇒
+@today a sunny day
+@aa å
+@AA Å
+@ae æ
+@oe œ
+@AE Æ
+@OE Œ
+@o ø
+@O Ø
+@ss ß
+@l ł
+@L Ł
+@DH Ð
+@TH Þ
+@dh ð
+@th þ
+@exclamdown ¡
+@questiondown ¿
+@pounds £
+@registeredsymbol ®
+@ordf ª
+@ordm º
+@comma ,
+@quotedblleft “
+@quotedblright ”
+@quoteleft ‘
+@quoteright ’
+@quotedblbase „
+@quotesinglbase ‚
+@guillemetleft «
+@guillemetright »
+@guillemotleft «
+@guillemotright »
+@guilsinglleft ‹
+@guilsinglright ›
+@textdegree °
+@euro €
+@arrow →
+@leq ≤
+@geq ≥
+
+@acronym{--a,an accronym} --a (an accronym)
+@acronym{--a} --a
+@abbr{@'E--. @comma{}A., @'Etude Autonome } É--. ,A. (Étude Autonome)
+@abbr{@'E--. @comma{}A.} É--. ,A.
+@asis{--a} --a
+@b{--a} –a
+@cite{--a} --a
+@code{--a} --a
+@command{--a} --a
+@ctrl{--a} ^--a
+@dfn{--a} --a
+@dmn{--a} --a
+@email{--a,--b} --b
+@email{,--b} --b
+@email{--a} --a
+@emph{--a} --a
+@env{--a} --a
+@file{--a} --a
+@i{--a} –a
+@kbd{--a} --a
+@key{--a} --a
+@math{--a {\frac{1}{2}} @minus{}} --a {\frac{1}{2}} -
+@option{--a} --a
+@r{--a} –a
+@samp{--a}--a’
+@sc{--a} --A
+@strong{--a} --a
+@t{--a} --a
+@sansserif{--a} –a
+@slanted{--a} –a
+@titlefont{--a} 

--a

+@indicateurl{--a}--a’
+@uref{--a,--b} --b
+@uref{--a} --a
+@uref{,--b} --b
+@uref{--a,--b,--c} --c
+@uref{,--b,--c} --c
+@uref{--a,,--c} --c
+@uref{,,--c} --c
+@url{--a,--b} --b
+@url{--a,} --a
+@url{,--b} --b
+@var{--a} --a
+@verb{:--a:} --a
+@verb{:a  < & @ % " --    b:} a  < & @ % " --    b
+@w{a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a} a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a
+@H{a} a''
+@H{--a} --a''
+@dotaccent{a} ȧ
+@dotaccent{--a} --a.
+@ringaccent{a} å
+@ringaccent{--a} --a*
+@tieaccent{a} a[
+@tieaccent{--a} --a[
+@u{a} ă
+@u{--a} --a(
+@ubaraccent{a} a_
+@ubaraccent{--a} --a_
+@udotaccent{a} ạ
+@udotaccent{--a} .--a
+@v{a} ǎ
+@v{--a} --a<
+@,{c} ç
+@,{--c} --c,
+@ogonek{a} ą
+@ogonek{--a} --a;
+@footnote{in footnote} (5)
+@footnote{in footnote2} (6)
+
+@image{f--ile} [ f--ile ]
+@image{f--ile,l--i} [ f--ile ]
+@image{f--ile,,l--e} [ f--ile ]
+@image{f--ile,,,alt} [ alt ]
+@image{f--ile,,,,e-d-xt} [ f--ile ]
+@image{f--ile,aze,az,alt,e--xt} [ alt ]
+@image{f-ile,aze,,a--lt} [ a--lt ]
+@image{@file{f--ile}@@@.,aze,az,alt,@file{file ext} e--xt@} [ alt ]
+
+
+
+
+@clicksequence{click @click{} A} click → A
+After clickstyle ⇒
+@clicksequence{click @click{} A} click ⇒ A
+
+
+
A quot---ation
+
+
+
+
Note: A Note
+
+
+
+
note: A note
+
+
+
+
Caution: Caution
+
+
+
+
Important: Important
+
+
+
+
Tip: a Tip
+
+
+
+
Warning: a Warning.
+
+
+
+
something é TeX: The something é TeX is here.
+
+
+
+
@ at the end of line: A @ at the end of the @quotation line.
+
+
+
+
something, other thing: something, other thing
+
+
+
+
Note, the note: Note, the note
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
A small quot---ation
+
+
+
+
Note: A small Note
+
+
+
+
something, other thing: something, other thing
+
+
+
    +
  • i--temize
    +
+
+
    +
  • +
    i--tem +
    +
+
+
    +
  • b--ullet
    +
+
+
    +
  • -
    minu--s
    +
+
+
    +
  • e--mph item
    +
+
+
    +
  • after emph
    e--mph item
    +
+
+
    +
  • • a–n itemize line
    i--tem 1
    +
  • • a–n itemize line
    i--tem 2
    +
+
+
    +
  1. e--numerate
    +
+
+
+ + + + +
mu--ltitable headitem
another tab
mu--ltitable item
multitable tab
mu--ltitable item 2
multitable tab 2
+
lone mu--ltitable item
+
+
+ +
truc
bidule
+
+
+
e--xample  some
+   text
+
+
+
+
s--mallexample
+
+
+
+
d--isplay
+
+
+
+
s--malldisplay
+
+
+
+
l--isp
+
+
+
+
s--malllisp
+
+
+
+
f--ormat
+
+
+
+
s--mallformat
+
+
+
+
c--ategory: d--effn_name a--rguments...
+
d--effn
+
+
+
+
cate--gory: de--ffn_name ar--guments
+
   more args 
+ even more so
+def--fn
+
+
 
+
+
fset: i a g
+
cmde: truc
+
Command: log trap
+
Command: log trap1
+
Command: log trap2
+
cmde: id ule truc
+
cmde2: id ‘i’ ule truc
+
id ‘i’ ule:
+
:
+
aaa:
+
:
+
:
+
: machin
+
: bidule machin
+
truc: machin
+
truc:
+
truc: followed by a comment
+
truc:
+
:
+
truc: a b c d e f g h i
+
truc: deffnx before end deffn
+
+
+
+
empty: deffn
+
+
+
+
empty: deffn with deffnx
+
empty: deffnx
+
+
+
+
fset: i a g
+
cmde: truc
+
text in def item for second def item
+
+
+
+
c--ategory: d--efvr_name
+
d--efvr
+
+
+
+
c--ategory: t--ype d--eftypefn_name a--rguments...
+
d--eftypefn
+
+
+
+
c--ategory on c--lass: t--ype d--eftypeop_name a--rguments...
+
d--eftypeop
+
+
+
+
c--ategory: t--ype d--eftypevr_name
+
d--eftypevr
+
+
+
+
c--ategory of c--lass: d--efcv_name
+
d--efcv
+
+
+
+
c--ategory on c--lass: d--efop_name a--rguments...
+
d--efop
+
+
+
+
c--ategory: d--eftp_name a--ttributes...
+
d--eftp
+
+
+
+
Function: d--efun_name a--rguments...
+
d--efun
+
+
+
+
Macro: d--efmac_name a--rguments...
+
d--efmac
+
+
+
+
Special Form: d--efspec_name a--rguments...
+
d--efspec
+
+
+
+
Variable: d--efvar_name argvar argvar1
+
d--efvar
+
+
+
+
User Option: d--efopt_name
+
d--efopt
+
+
+
+
Function: t--ype d--eftypefun_name a--rguments...
+
d--eftypefun
+
+
+
+
Variable: t--ype d--eftypevar_name
+
d--eftypevar
+
+
+
+
Instance Variable of c--lass: d--efivar_name
+
d--efivar
+
+
+
+
Instance Variable of c--lass: t--ype d--eftypeivar_name
+
d--eftypeivar
+
+
+
+
Method on c--lass: d--efmethod_name a--rguments...
+
d--efmethod
+
+
+
+
Method on c--lass: t--ype d--eftypemethod_name a--rguments...
+
d--eftypemethod
+
+
+@xref{c---hapter@@, cross r---ef name@@, t---itle@@, file n---ame@@, ma---nual@@} See t---itle@ in ma---nual@.
+@ref{chapter, cross ref name, title, file name, manual} title in manual
+@pxref{chapter, cross ref name, title, file name, manual} see title in manual
+@inforef{chapter, cross ref name, file name} See (file name)cross ref name
+
+@ref{chapter} chapter
+@xref{chapter} See section chapter.
+@pxref{chapter} see section chapter
+@ref{s--ect@comma{}ion} s--ect,ion
+
+@ref{s--ect@comma{}ion, a @comma{} in cross
+ref, a comma@comma{} in title, a comma@comma{} in file, a @comma{} in manual name }
+a comma, in title in a , in manual name
+
+@ref{chapter,cross ref name} cross ref name
+@ref{chapter,,title} title
+@ref{chapter,,,file name} (file name)chapter
+@ref{chapter,,,,manual} `chapter' in manual
+@ref{chapter,cross ref name,title,} title
+@ref{chapter,cross ref name,,file name} (file name)cross ref name
+@ref{chapter,cross ref name,,,manual} `cross ref name' in manual
+@ref{chapter,cross ref name,title,file name} (file name)title
+@ref{chapter,cross ref name,title,,manual} `title' in manual
+@ref{chapter,cross ref name,title, file name, manual} title in manual
+@ref{chapter,,title,file name} (file name)title
+@ref{chapter,,title,,manual} `title' in manual
+@ref{chapter,,title, file name, manual} title in manual
+@ref{chapter,,,file name,manual} chapter in manual
+
+
+@ref{(pman)anode,cross ref name} (pman)cross ref name
+@ref{(pman)anode,,title} (pman)title
+@ref{(pman)anode,,,file name} (file name)anode
+@ref{(pman)anode,,,,manual} anode in manual
+@ref{(pman)anode,cross ref name,title,} (pman)title
+@ref{(pman)anode,cross ref name,,file name} (file name)cross ref name
+@ref{(pman)anode,cross ref name,,,manual} cross ref name in manual
+@ref{(pman)anode,cross ref name,title,file name} (file name)title
+@ref{(pman)anode,cross ref name,title,,manual} title in manual
+@ref{(pman)anode,cross ref name,title, file name, manual} title in manual
+@ref{(pman)anode,,title,file name} (file name)title
+@ref{(pman)anode,,title,,manual} title in manual
+@ref{(pman)anode,,title, file name, manual} title in manual
+@ref{(pman)anode,,,file name,manual} anode in manual
+
+
+@inforef{chapter, cross ref name, file name} See (file name)cross ref name
+@inforef{chapter} See `chapter'
+@inforef{chapter, cross ref name} See `cross ref name'
+@inforef{chapter,,file name} See (file name)chapter
+@inforef{node, cross ref name, file name} See (file name)cross ref name
+@inforef{node} See `node'
+@inforef{node, cross ref name} See `cross ref name'
+@inforef{node,,file name} See (file name)node
+@inforef{chapter, cross ref name, file name, spurious arg} See (file name, spurious arg)cross ref name
+
+@inforef{s--ect@comma{}ion, a @comma{} in cross
+ref, a comma@comma{} in file}
+See (a comma, in file)a , in cross
+ref
+
+
+
+
a
+
l--ine
+
+
+
+
+
a + +
+
b + +
+
l--ine
+
+
+
+
+
a + +
+
+
b + +
+
l--ine
+
+
+
+
+
c--artouche
+
+
+
g--roupe
+
+
f--lushleft
+
+
f--lushright
+
+
ce--ntered line +
+
\input texinfo @c -*-texinfo-*-
+
+@setfilename simplest.info
+
+@node Top
+
+This is a very simple texi manual @  <>.
+
+@bye
+
+
in verbatim ''
+
+
+html ''

+
+
+
+majorheading +
+
+chapheading +
+
+heading +
+
+subheading +
+
+subsubheading +
+
+@acronym{--a,an accronym @comma{} @enddots{}} --a (an accronym , ...)
+@abbr{@'E--. @comma{}A., @'Etude--@comma{} @b{Autonome} } É--. ,A. (Étude--, Autonome)
+@abbr{@'E--. @comma{}A.} É--. ,A.
+
+@math{--a@minus{} {\frac{1}{2}}} --a- {\frac{1}{2}}
+
+@image{f-ile,,,alt@verb{:jk _" %}} [ altjk _" %@ ]
+@image{f--ile,aze,az,@verb{:jk _" %@:} @b{in b "},e--xt} [ jk _" %@ in b " ]
+@image{file@verb{:jk _" %@:},,,alt@verb{:jk _" %@:}} [ altjk _" %@ ]
+
+
+
+
+Somehow invalid use of @,:
+
+@, 
,
+
+
+@,@"u ,ü
+
+Invalid use of @':
+
+@' 
'
+
+
+@'@"u 'ü
+
+@dotless{truc} truc
+@dotless{ij} ij
+@dotless{--a} --a
+@dotless{a} a
+
+@TeX, but without brace TeX@# #
+
+@w{--a} --a
+
+@image{,1--xt} 
+@image{,,2--xt} 
+@image{,,,3--xt} 
+
+
+
    +
  • after emph
    e--mph item
    +
+
+
    +
  • • a–n itemize line
    i--tem 1
    +
  • • a–n itemize line
    i--tem 2
    +
+
+
+
fun:
+
truc: machin bidule chose and
+
truc: machin bidule chose and after
+
truc: machin bidule chose and
+
truc: machin bidule chose and and after
+
truc: followed by a comment
+
Various deff lines
+
truc: after a deff item
+
+
+@ref{node} `node'
+
+@ref{,cross ref name} `cross ref name'
+@ref{,,title} `title'
+@ref{,,,file name} (file name)
+@ref{,,,,manual} manual
+@ref{node,cross ref name} `cross ref name'
+@ref{node,,title} `title'
+@ref{node,,,file name} (file name)node
+@ref{node,,,,manual} `node' in manual
+@ref{node,cross ref name,title,} `title'
+@ref{node,cross ref name,,file name} (file name)cross ref name
+@ref{node,cross ref name,,,manual} `cross ref name' in manual
+@ref{node,cross ref name,title,file name} (file name)title
+@ref{node,cross ref name,title,,manual} `title' in manual
+@ref{node,cross ref name,title, file name, manual} title in manual
+@ref{node,,title,file name} (file name)title
+@ref{node,,title,,manual} `title' in manual
+@ref{chapter,,title, file name, manual} title in manual
+@ref{node,,title, file name, manual} title in manual
+@ref{node,,,file name,manual} node in manual
+@ref{,cross ref name,title,} `title'
+@ref{,cross ref name,,file name} (file name)cross ref name
+@ref{,cross ref name,,,manual} `cross ref name' in manual
+@ref{,cross ref name,title,file name} (file name)title
+@ref{,cross ref name,title,,manual} `title' in manual
+@ref{,cross ref name,title, file name, manual} title in manual
+@ref{,,title,file name} (file name)title
+@ref{,,title,,manual} `title' in manual
+@ref{,,title, file name, manual} title in manual
+@ref{,,,file name,manual} manual
+
+@inforef{,cross ref name } See `cross ref name'
+@inforef{,,file name} See (file name)
+@inforef{,cross ref name, file name} See (file name)cross ref name
+@inforef{} 
+
+

+
+ + + + + + + + + + + + + +

cp +

Jump to:   " +   +- +   +. +   +? +   +
+A +   +I +   +T +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

"
 Top section
 Top section
 Top section
 Top section

-
–option Top section
–option Top section
–option Top section
–option Top section

.
. Top section

?
? Top section

A
a Top section

I
index entry between item and itemx Top section
index entry between item and itemx Top section
index entry between item and itemx Top section
index entry between item and itemx Top section
index entry within deffn Top section
index entry within deffn Top section
index entry within deffn Top section
index entry within deffn Top section
index entry within itemize Top section
index entry within itemize Top section
index entry within itemize Top section
index entry within itemize Top section
index entry within multitable Top section
index entry within multitable Top section
index entry within multitable Top section
index entry within multitable Top section

T
t–ruc Top section
T–ruc Top section

+
Jump to:   " +   +- +   +. +   +? +   +
+A +   +I +   +T +   +
+ +

fn +

Jump to:   - +   +. +   +? +   +` +   +
+A +   +B +   +D +   +F +   +I +   +L +   +M +   +T +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

-
--foption Top section
--foption Top section
--foption Top section
--foption Top section

.
. Top section

?
? Top section

`
`` Top section
`` Top section
`` Top section
`` Top section

A
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
after Top section
after Top section
after Top section
after Top section

B
b Top section
b Top section
b Top section
b Top section
bidule machin Top section
bidule machin Top section
bidule machin Top section
bidule machin Top section

D
d--effn_name Top section
d--effn_name Top section
d--effn_name Top section
d--effn_name Top section
d--efmac_name Top section
d--efmac_name Top section
d--efmac_name Top section
d--efmac_name Top section
d--efmethod_name on c--lass Top section
d--efmethod_name on c--lass Top section
d--efmethod_name on c--lass Top section
d--efmethod_name on c--lass Top section
d--efop_name on c--lass Top section
d--efop_name on c--lass Top section
d--efop_name on c--lass Top section
d--efop_name on c--lass Top section
d--efspec_name Top section
d--efspec_name Top section
d--efspec_name Top section
d--efspec_name Top section
d--eftypefn_name Top section
d--eftypefn_name Top section
d--eftypefn_name Top section
d--eftypefn_name Top section
d--eftypefun_name Top section
d--eftypefun_name Top section
d--eftypefun_name Top section
d--eftypefun_name Top section
d--eftypemethod_name on c--lass Top section
d--eftypemethod_name on c--lass Top section
d--eftypemethod_name on c--lass Top section
d--eftypemethod_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--efun_name Top section
d--efun_name Top section
d--efun_name Top section
d--efun_name Top section
de--ffn_name Top section
de--ffn_name Top section
de--ffn_name Top section
de--ffn_name Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section

F
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section

I
i Top section
i Top section
i Top section
i Top section
i Top section
i Top section
i Top section
i Top section
id ‘i’ ule Top section
id ‘i’ ule Top section
id ‘i’ ule Top section
id ‘i’ ule Top section
id ule Top section
id ule Top section
id ule Top section
id ule Top section

L
log trap Top section
log trap Top section
log trap Top section
log trap Top section
log trap1 Top section
log trap1 Top section
log trap1 Top section
log trap1 Top section
log trap2 Top section
log trap2 Top section
log trap2 Top section
log trap2 Top section

M
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section

T
t--ruc Top section
T--ruc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section

+
Jump to:   - +   +. +   +? +   +` +   +
+A +   +B +   +D +   +F +   +I +   +L +   +M +   +T +   +
+ +

vr +

Jump to:   A +   +B +   +D +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

A
a Top section
a Top section
a Top section
a Top section

B
b Top section
b Top section
b Top section
b Top section

D
d--efcv_name Top section
d--efcv_name Top section
d--efcv_name Top section
d--efcv_name Top section
d--efivar_name of c--lass Top section
d--efivar_name of c--lass Top section
d--efivar_name of c--lass Top section
d--efivar_name of c--lass Top section
d--efopt_name Top section
d--efopt_name Top section
d--efopt_name Top section
d--efopt_name Top section
d--eftypeivar_name of c--lass Top section
d--eftypeivar_name of c--lass Top section
d--eftypeivar_name of c--lass Top section
d--eftypeivar_name of c--lass Top section
d--eftypevar_name Top section
d--eftypevar_name Top section
d--eftypevar_name Top section
d--eftypevar_name Top section
d--eftypevr_name Top section
d--eftypevr_name Top section
d--eftypevr_name Top section
d--eftypevr_name Top section
d--efvar_name Top section
d--efvar_name Top section
d--efvar_name Top section
d--efvar_name Top section
d--efvr_name Top section
d--efvr_name Top section
d--efvr_name Top section
d--efvr_name Top section

+
Jump to:   A +   +B +   +D +   +
+ +

ky +

+

pg +

+

tp +

Jump to:   D +   +
+ + + + + + + + + +
Index Entry  Section

D
d--eftp_name Top section
d--eftp_name Top section
d--eftp_name Top section
d--eftp_name Top section

+
Jump to:   D +   +
+ + + +
+ + + + + + + + + + + + + + + +
[ << ][ < ][ Up ][ > ][ >> ]         [Top][Contents][Index][ ? ]
+ +

1 chapter

+ +

11 +

+
+ +
+ +
+ + + + + + + + + + + + + + + +
[ << ][ < ][ Up ][ > ][ >> ]         [Top][Contents][Index][ ? ]
+ +

1.1 A section

+ + + + + + + +
+ + + + + + + + + + + + + + + +
[ << ][ < ][ Up ][ > ][ >> ]         [Top][Contents][Index][ ? ]
+ +

1.1.1 subsection

+ + + + + + + +
+ + + + + + + + + + + + + + + +
[ << ][ < ][ Up ][ > ][ >> ]         [Top][Contents][Index][ ? ]
+ +

1.1.1.1 subsubsection “simple-double–

+ +
+ + + + + + + + + + + + + + + +
[ << ][ < ][ Up ][ > ][ >> ]         [Top][Contents][Index][ ? ]
+ +

1.1.1.2 three—four—-”

+ +
+ + + + + + + + + + + + + + + +
[ << ][ < ][ Up ][ > ][ >> ]         [Top][Contents][Index][ ? ]
+ +

chapter 2

+ +
Jump to:   " +   +- +   +. +   +? +   +
+A +   +I +   +T +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

"
 Top section
 Top section
 Top section
 Top section

-
–option Top section
–option Top section
–option Top section
–option Top section

.
. Top section

?
? Top section

A
a Top section

I
index entry between item and itemx Top section
index entry between item and itemx Top section
index entry between item and itemx Top section
index entry between item and itemx Top section
index entry within deffn Top section
index entry within deffn Top section
index entry within deffn Top section
index entry within deffn Top section
index entry within itemize Top section
index entry within itemize Top section
index entry within itemize Top section
index entry within itemize Top section
index entry within multitable Top section
index entry within multitable Top section
index entry within multitable Top section
index entry within multitable Top section

T
t–ruc Top section
T–ruc Top section

+
Jump to:   " +   +- +   +. +   +? +   +
+A +   +I +   +T +   +
+
Jump to:   - +   +. +   +? +   +` +   +
+A +   +B +   +D +   +F +   +I +   +L +   +M +   +T +   +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Index Entry  Section

-
--foption Top section
--foption Top section
--foption Top section
--foption Top section

.
. Top section

?
? Top section

`
`` Top section
`` Top section
`` Top section
`` Top section

A
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
a Top section
after Top section
after Top section
after Top section
after Top section

B
b Top section
b Top section
b Top section
b Top section
bidule machin Top section
bidule machin Top section
bidule machin Top section
bidule machin Top section

D
d--effn_name Top section
d--effn_name Top section
d--effn_name Top section
d--effn_name Top section
d--efmac_name Top section
d--efmac_name Top section
d--efmac_name Top section
d--efmac_name Top section
d--efmethod_name on c--lass Top section
d--efmethod_name on c--lass Top section
d--efmethod_name on c--lass Top section
d--efmethod_name on c--lass Top section
d--efop_name on c--lass Top section
d--efop_name on c--lass Top section
d--efop_name on c--lass Top section
d--efop_name on c--lass Top section
d--efspec_name Top section
d--efspec_name Top section
d--efspec_name Top section
d--efspec_name Top section
d--eftypefn_name Top section
d--eftypefn_name Top section
d--eftypefn_name Top section
d--eftypefn_name Top section
d--eftypefun_name Top section
d--eftypefun_name Top section
d--eftypefun_name Top section
d--eftypefun_name Top section
d--eftypemethod_name on c--lass Top section
d--eftypemethod_name on c--lass Top section
d--eftypemethod_name on c--lass Top section
d--eftypemethod_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--eftypeop_name on c--lass Top section
d--efun_name Top section
d--efun_name Top section
d--efun_name Top section
d--efun_name Top section
de--ffn_name Top section
de--ffn_name Top section
de--ffn_name Top section
de--ffn_name Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffn Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section
deffnx Top section

F
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section
followed Top section

I
i Top section
i Top section
i Top section
i Top section
i Top section
i Top section
i Top section
i Top section
id ‘i’ ule Top section
id ‘i’ ule Top section
id ‘i’ ule Top section
id ‘i’ ule Top section
id ule Top section
id ule Top section
id ule Top section
id ule Top section

L
log trap Top section
log trap Top section
log trap Top section
log trap Top section
log trap1 Top section
log trap1 Top section
log trap1 Top section
log trap1 Top section
log trap2 Top section
log trap2 Top section
log trap2 Top section
log trap2 Top section

M
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section
machin Top section

T
t--ruc Top section
T--ruc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section
truc Top section

+
Jump to:   - +   +. +   +? +   +` +   +
+A +   +B +   +D +   +F +   +I +   +L +   +M +   +T +   +
+ +
+ + + + + + +
[Top][Contents][Index][ ? ]
+

Footnotes

+ +

(1)

+

in footnote

+

(2)

+

in footnote2

+

(3)

+

in footnote

+

(4)

+

in footnote2

+

(5)

+

in footnote

+

(6)

+

in footnote2

+

(7)

+

in footnote

+

(8)

+

in footnote2

+

(9)

+

in footnote

+

(10)

+

in footnote2

+

(11)

+

in footnote

+
+ + + + + + +
[Top][Contents][Index][ ? ]
+

Table of Contents

+ + +
+ + + + + + +
[Top][Contents][Index][ ? ]
+

Short Table of Contents

+ + +
+ + + + + + +
[Top][Contents][Index][ ? ]
+

About This Document

+ +

+ This document was generated on a sunny day using texi2any. +

+

+ The buttons in the navigation panels have the following meaning: +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Button Name Go to From 1.2.3 go to
[ << ] FastBackBeginning of this chapter or previous chapter1
[ < ] BackPrevious section in reading order1.2.2
[ Up ] UpUp section1.2
[ > ] ForwardNext section in reading order1.2.4
[ >> ] FastForwardNext chapter2
[Top] TopCover (top) of document  
[Contents] ContentsTable of contents  
[Index] IndexIndex  
[ ? ] AboutAbout (help)  
+ +

+ where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure: +

+ +
    +
  • 1. Section One +
      +
    • 1.1 Subsection One-One +
        +
      • ...
      • +
      +
    • +
    • 1.2 Subsection One-Two +
        +
      • 1.2.1 Subsubsection One-Two-One
      • +
      • 1.2.2 Subsubsection One-Two-Two
      • +
      • 1.2.3 Subsubsection One-Two-Three     + <== Current Position
      • +
      • 1.2.4 Subsubsection One-Two-Four
      • +
      +
    • +
    • 1.3 Subsection One-Three +
        +
      • ...
      • +
      +
    • +
    • 1.4 Subsection One-Four
    • +
    +
  • +
+ +
+

+ This document was generated on a sunny day using texi2any. +

+ + + + diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.2 2013-08-27 21:23:34.000000000 +0000 @@ -1,196 +1,196 @@ -formatting.texi:18: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:18: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:18: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:18: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:18: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:18: @TeX expected braces (possibly involving @mymacro) -formatting.texi:18: unexpected @ (possibly involving @mymacro) -formatting.texi:18: @image missing filename argument (possibly involving @mymacro) -formatting.texi:18: @image missing filename argument (possibly involving @mymacro) -formatting.texi:18: @image missing filename argument (possibly involving @mymacro) -formatting.texi:18: @sp missing argument (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:18: misplaced } (possibly involving @mymacro) -formatting.texi:18: misplaced } (possibly involving @mymacro) -formatting.texi:18: misplaced { (possibly involving @mymacro) -formatting.texi:18: misplaced { (possibly involving @mymacro) -formatting.texi:18: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:18: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:28: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:28: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:28: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:28: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:28: @TeX expected braces (possibly involving @mymacro) -formatting.texi:28: unexpected @ (possibly involving @mymacro) -formatting.texi:28: @image missing filename argument (possibly involving @mymacro) -formatting.texi:28: @image missing filename argument (possibly involving @mymacro) -formatting.texi:28: @image missing filename argument (possibly involving @mymacro) -formatting.texi:28: @sp missing argument (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:28: misplaced } (possibly involving @mymacro) -formatting.texi:28: misplaced } (possibly involving @mymacro) -formatting.texi:28: misplaced { (possibly involving @mymacro) -formatting.texi:28: misplaced { (possibly involving @mymacro) -formatting.texi:28: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:28: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:38: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:38: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:38: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:38: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:38: @TeX expected braces (possibly involving @mymacro) -formatting.texi:38: unexpected @ (possibly involving @mymacro) -formatting.texi:38: @image missing filename argument (possibly involving @mymacro) -formatting.texi:38: @image missing filename argument (possibly involving @mymacro) -formatting.texi:38: @image missing filename argument (possibly involving @mymacro) -formatting.texi:38: @sp missing argument (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:38: misplaced } (possibly involving @mymacro) -formatting.texi:38: misplaced } (possibly involving @mymacro) -formatting.texi:38: misplaced { (possibly involving @mymacro) -formatting.texi:38: misplaced { (possibly involving @mymacro) -formatting.texi:38: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:38: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:42: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:42: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:42: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:42: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:42: @TeX expected braces (possibly involving @mymacro) -formatting.texi:42: unexpected @ (possibly involving @mymacro) -formatting.texi:42: @image missing filename argument (possibly involving @mymacro) -formatting.texi:42: @image missing filename argument (possibly involving @mymacro) -formatting.texi:42: @image missing filename argument (possibly involving @mymacro) -formatting.texi:42: @sp missing argument (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:42: misplaced } (possibly involving @mymacro) -formatting.texi:42: misplaced } (possibly involving @mymacro) -formatting.texi:42: misplaced { (possibly involving @mymacro) -formatting.texi:42: misplaced { (possibly involving @mymacro) -formatting.texi:42: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:42: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:18: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:18: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:18: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:28: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:28: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:28: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:28: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:38: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:38: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:38: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:38: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:42: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:42: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:42: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:42: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting.texi:38: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:38: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting.texi:38: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:38: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting.texi:42: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:42: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting.texi:42: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:42: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting.texi:28: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:28: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting.texi:28: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:28: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting.texi:18: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting.texi:25: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:25: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:25: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:25: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:25: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:25: @TeX expected braces (possibly involving @mymacro) +formatting.texi:25: unexpected @ (possibly involving @mymacro) +formatting.texi:25: @image missing filename argument (possibly involving @mymacro) +formatting.texi:25: @image missing filename argument (possibly involving @mymacro) +formatting.texi:25: @image missing filename argument (possibly involving @mymacro) +formatting.texi:25: @sp missing argument (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:25: misplaced } (possibly involving @mymacro) +formatting.texi:25: misplaced } (possibly involving @mymacro) +formatting.texi:25: misplaced { (possibly involving @mymacro) +formatting.texi:25: misplaced { (possibly involving @mymacro) +formatting.texi:25: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:25: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:35: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:35: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:35: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:35: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:35: @TeX expected braces (possibly involving @mymacro) +formatting.texi:35: unexpected @ (possibly involving @mymacro) +formatting.texi:35: @image missing filename argument (possibly involving @mymacro) +formatting.texi:35: @image missing filename argument (possibly involving @mymacro) +formatting.texi:35: @image missing filename argument (possibly involving @mymacro) +formatting.texi:35: @sp missing argument (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:35: misplaced } (possibly involving @mymacro) +formatting.texi:35: misplaced } (possibly involving @mymacro) +formatting.texi:35: misplaced { (possibly involving @mymacro) +formatting.texi:35: misplaced { (possibly involving @mymacro) +formatting.texi:35: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:35: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:45: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:45: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:45: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:45: @TeX expected braces (possibly involving @mymacro) +formatting.texi:45: unexpected @ (possibly involving @mymacro) +formatting.texi:45: @image missing filename argument (possibly involving @mymacro) +formatting.texi:45: @image missing filename argument (possibly involving @mymacro) +formatting.texi:45: @image missing filename argument (possibly involving @mymacro) +formatting.texi:45: @sp missing argument (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:45: misplaced } (possibly involving @mymacro) +formatting.texi:45: misplaced } (possibly involving @mymacro) +formatting.texi:45: misplaced { (possibly involving @mymacro) +formatting.texi:45: misplaced { (possibly involving @mymacro) +formatting.texi:45: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:49: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:49: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:49: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:49: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:49: @TeX expected braces (possibly involving @mymacro) +formatting.texi:49: unexpected @ (possibly involving @mymacro) +formatting.texi:49: @image missing filename argument (possibly involving @mymacro) +formatting.texi:49: @image missing filename argument (possibly involving @mymacro) +formatting.texi:49: @image missing filename argument (possibly involving @mymacro) +formatting.texi:49: @sp missing argument (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:49: misplaced } (possibly involving @mymacro) +formatting.texi:49: misplaced } (possibly involving @mymacro) +formatting.texi:49: misplaced { (possibly involving @mymacro) +formatting.texi:49: misplaced { (possibly involving @mymacro) +formatting.texi:49: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:49: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:25: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:25: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:25: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:35: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:35: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:35: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:35: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:49: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:49: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:49: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:49: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting.texi:45: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:45: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting.texi:45: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:45: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting.texi:49: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:49: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting.texi:49: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:49: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting.texi:35: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:35: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting.texi:35: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:35: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting.texi:25: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.html texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.html --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.html 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/formatting_fr/formatting.html 2013-08-27 21:23:34.000000000 +0000 @@ -2083,6 +2083,7 @@
+ diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/formatting_utf8_enable_encoding/formatting_utf8.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/formatting_utf8_enable_encoding/formatting_utf8.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/formatting_utf8_enable_encoding/formatting_utf8.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/formatting_utf8_enable_encoding/formatting_utf8.2 2013-08-27 21:23:34.000000000 +0000 @@ -1,197 +1,197 @@ formatting_utf8.texi:4: warning: encoding `utf8' is not a canonical texinfo encoding -formatting_utf8.texi:21: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:21: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:21: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:21: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting_utf8.texi:21: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:21: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting_utf8.texi:21: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting_utf8.texi:21: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting_utf8.texi:21: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting_utf8.texi:21: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting_utf8.texi:21: @TeX expected braces (possibly involving @mymacro) -formatting_utf8.texi:21: unexpected @ (possibly involving @mymacro) -formatting_utf8.texi:21: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:21: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:21: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:21: @sp missing argument (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffn (possibly involving @mymacro) -formatting_utf8.texi:21: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:21: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:21: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:21: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:21: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:21: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:21: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:21: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:21: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:31: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:31: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:31: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting_utf8.texi:31: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:31: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting_utf8.texi:31: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting_utf8.texi:31: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting_utf8.texi:31: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting_utf8.texi:31: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting_utf8.texi:31: @TeX expected braces (possibly involving @mymacro) -formatting_utf8.texi:31: unexpected @ (possibly involving @mymacro) -formatting_utf8.texi:31: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:31: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:31: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:31: @sp missing argument (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffn (possibly involving @mymacro) -formatting_utf8.texi:31: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:31: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:31: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:31: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:31: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting_utf8.texi:31: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:31: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:31: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:31: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:31: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:41: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:41: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:41: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting_utf8.texi:41: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:41: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting_utf8.texi:41: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting_utf8.texi:41: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting_utf8.texi:41: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting_utf8.texi:41: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting_utf8.texi:41: @TeX expected braces (possibly involving @mymacro) -formatting_utf8.texi:41: unexpected @ (possibly involving @mymacro) -formatting_utf8.texi:41: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:41: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:41: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:41: @sp missing argument (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffn (possibly involving @mymacro) -formatting_utf8.texi:41: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:41: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:41: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:41: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:41: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting_utf8.texi:41: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:41: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:41: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:41: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:41: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting_utf8.texi:45: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:45: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting_utf8.texi:45: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting_utf8.texi:45: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting_utf8.texi:45: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting_utf8.texi:45: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting_utf8.texi:45: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting_utf8.texi:45: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting_utf8.texi:45: @TeX expected braces (possibly involving @mymacro) -formatting_utf8.texi:45: unexpected @ (possibly involving @mymacro) -formatting_utf8.texi:45: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:45: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:45: @image missing filename argument (possibly involving @mymacro) -formatting_utf8.texi:45: @sp missing argument (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffn (possibly involving @mymacro) -formatting_utf8.texi:45: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:45: misplaced } (possibly involving @mymacro) -formatting_utf8.texi:45: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:45: misplaced { (possibly involving @mymacro) -formatting_utf8.texi:45: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting_utf8.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:45: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:45: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting_utf8.texi:21: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:21: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:21: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:21: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:31: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:31: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:31: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:31: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:41: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:41: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:41: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:41: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:45: @ref reference to nonexistent node `node' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) -formatting_utf8.texi:21: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:27: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:27: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:27: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting_utf8.texi:27: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:27: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting_utf8.texi:27: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting_utf8.texi:27: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting_utf8.texi:27: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting_utf8.texi:27: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting_utf8.texi:27: @TeX expected braces (possibly involving @mymacro) +formatting_utf8.texi:27: unexpected @ (possibly involving @mymacro) +formatting_utf8.texi:27: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:27: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:27: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:27: @sp missing argument (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffn (possibly involving @mymacro) +formatting_utf8.texi:27: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:27: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:27: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:27: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:27: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:27: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:27: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:27: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:27: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:37: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:37: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:37: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting_utf8.texi:37: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:37: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting_utf8.texi:37: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting_utf8.texi:37: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting_utf8.texi:37: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting_utf8.texi:37: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting_utf8.texi:37: @TeX expected braces (possibly involving @mymacro) +formatting_utf8.texi:37: unexpected @ (possibly involving @mymacro) +formatting_utf8.texi:37: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:37: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:37: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:37: @sp missing argument (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffn (possibly involving @mymacro) +formatting_utf8.texi:37: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:37: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:37: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:37: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:37: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting_utf8.texi:37: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:37: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:37: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:37: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:37: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:47: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:47: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:47: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting_utf8.texi:47: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:47: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting_utf8.texi:47: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting_utf8.texi:47: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting_utf8.texi:47: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting_utf8.texi:47: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting_utf8.texi:47: @TeX expected braces (possibly involving @mymacro) +formatting_utf8.texi:47: unexpected @ (possibly involving @mymacro) +formatting_utf8.texi:47: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:47: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:47: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:47: @sp missing argument (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffn (possibly involving @mymacro) +formatting_utf8.texi:47: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:47: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:47: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:47: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:47: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting_utf8.texi:47: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:47: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:47: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:47: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:47: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:51: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting_utf8.texi:51: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:51: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting_utf8.texi:51: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting_utf8.texi:51: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting_utf8.texi:51: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting_utf8.texi:51: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting_utf8.texi:51: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting_utf8.texi:51: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting_utf8.texi:51: @TeX expected braces (possibly involving @mymacro) +formatting_utf8.texi:51: unexpected @ (possibly involving @mymacro) +formatting_utf8.texi:51: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:51: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:51: @image missing filename argument (possibly involving @mymacro) +formatting_utf8.texi:51: @sp missing argument (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffn (possibly involving @mymacro) +formatting_utf8.texi:51: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:51: misplaced } (possibly involving @mymacro) +formatting_utf8.texi:51: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:51: misplaced { (possibly involving @mymacro) +formatting_utf8.texi:51: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting_utf8.texi:51: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:51: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:51: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:51: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:51: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting_utf8.texi:27: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:27: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:27: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:27: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:37: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:37: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:37: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:37: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:47: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:47: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:47: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:47: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:51: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:51: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:51: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:51: @ref reference to nonexistent node `node' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `f--ile@.' (for HTML) not found, using `f--ile@..file ext e--xt}' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `f-ile' (for HTML) not found, using `f-ile.jpg' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @image file `filejk _" %@' (for HTML) not found, using `filejk _" %@.jpg' (possibly involving @mymacro) diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.2 2013-08-27 21:23:34.000000000 +0000 @@ -1,160 +1,160 @@ -formatting.texi:18: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:18: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:18: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:18: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:18: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:18: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:18: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:18: @TeX expected braces (possibly involving @mymacro) -formatting.texi:18: unexpected @ (possibly involving @mymacro) -formatting.texi:18: @image missing filename argument (possibly involving @mymacro) -formatting.texi:18: @image missing filename argument (possibly involving @mymacro) -formatting.texi:18: @image missing filename argument (possibly involving @mymacro) -formatting.texi:18: @sp missing argument (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:18: misplaced } (possibly involving @mymacro) -formatting.texi:18: misplaced } (possibly involving @mymacro) -formatting.texi:18: misplaced { (possibly involving @mymacro) -formatting.texi:18: misplaced { (possibly involving @mymacro) -formatting.texi:18: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:18: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:18: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:28: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:28: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:28: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:28: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:28: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:28: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:28: @TeX expected braces (possibly involving @mymacro) -formatting.texi:28: unexpected @ (possibly involving @mymacro) -formatting.texi:28: @image missing filename argument (possibly involving @mymacro) -formatting.texi:28: @image missing filename argument (possibly involving @mymacro) -formatting.texi:28: @image missing filename argument (possibly involving @mymacro) -formatting.texi:28: @sp missing argument (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:28: misplaced } (possibly involving @mymacro) -formatting.texi:28: misplaced } (possibly involving @mymacro) -formatting.texi:28: misplaced { (possibly involving @mymacro) -formatting.texi:28: misplaced { (possibly involving @mymacro) -formatting.texi:28: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:28: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:28: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:38: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:38: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:38: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:38: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:38: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:38: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:38: @TeX expected braces (possibly involving @mymacro) -formatting.texi:38: unexpected @ (possibly involving @mymacro) -formatting.texi:38: @image missing filename argument (possibly involving @mymacro) -formatting.texi:38: @image missing filename argument (possibly involving @mymacro) -formatting.texi:38: @image missing filename argument (possibly involving @mymacro) -formatting.texi:38: @sp missing argument (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:38: misplaced } (possibly involving @mymacro) -formatting.texi:38: misplaced } (possibly involving @mymacro) -formatting.texi:38: misplaced { (possibly involving @mymacro) -formatting.texi:38: misplaced { (possibly involving @mymacro) -formatting.texi:38: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:38: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:38: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:42: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: @verb should not appear in @image (possibly involving @mymacro) -formatting.texi:42: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) -formatting.texi:42: use braces to give a command as an argument to @, (possibly involving @mymacro) -formatting.texi:42: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) -formatting.texi:42: use braces to give a command as an argument to @' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) -formatting.texi:42: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) -formatting.texi:42: @TeX expected braces (possibly involving @mymacro) -formatting.texi:42: unexpected @ (possibly involving @mymacro) -formatting.texi:42: @image missing filename argument (possibly involving @mymacro) -formatting.texi:42: @image missing filename argument (possibly involving @mymacro) -formatting.texi:42: @image missing filename argument (possibly involving @mymacro) -formatting.texi:42: @sp missing argument (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffn (possibly involving @mymacro) -formatting.texi:42: misplaced } (possibly involving @mymacro) -formatting.texi:42: misplaced } (possibly involving @mymacro) -formatting.texi:42: misplaced { (possibly involving @mymacro) -formatting.texi:42: misplaced { (possibly involving @mymacro) -formatting.texi:42: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) -formatting.texi:42: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) -formatting.texi:42: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:25: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:25: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:25: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:25: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:25: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:25: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:25: @TeX expected braces (possibly involving @mymacro) +formatting.texi:25: unexpected @ (possibly involving @mymacro) +formatting.texi:25: @image missing filename argument (possibly involving @mymacro) +formatting.texi:25: @image missing filename argument (possibly involving @mymacro) +formatting.texi:25: @image missing filename argument (possibly involving @mymacro) +formatting.texi:25: @sp missing argument (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:25: misplaced } (possibly involving @mymacro) +formatting.texi:25: misplaced } (possibly involving @mymacro) +formatting.texi:25: misplaced { (possibly involving @mymacro) +formatting.texi:25: misplaced { (possibly involving @mymacro) +formatting.texi:25: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:25: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:25: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:35: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:35: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:35: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:35: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:35: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:35: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:35: @TeX expected braces (possibly involving @mymacro) +formatting.texi:35: unexpected @ (possibly involving @mymacro) +formatting.texi:35: @image missing filename argument (possibly involving @mymacro) +formatting.texi:35: @image missing filename argument (possibly involving @mymacro) +formatting.texi:35: @image missing filename argument (possibly involving @mymacro) +formatting.texi:35: @sp missing argument (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:35: misplaced } (possibly involving @mymacro) +formatting.texi:35: misplaced } (possibly involving @mymacro) +formatting.texi:35: misplaced { (possibly involving @mymacro) +formatting.texi:35: misplaced { (possibly involving @mymacro) +formatting.texi:35: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:35: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:35: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:45: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:45: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:45: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:45: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:45: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:45: @TeX expected braces (possibly involving @mymacro) +formatting.texi:45: unexpected @ (possibly involving @mymacro) +formatting.texi:45: @image missing filename argument (possibly involving @mymacro) +formatting.texi:45: @image missing filename argument (possibly involving @mymacro) +formatting.texi:45: @image missing filename argument (possibly involving @mymacro) +formatting.texi:45: @sp missing argument (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:45: misplaced } (possibly involving @mymacro) +formatting.texi:45: misplaced } (possibly involving @mymacro) +formatting.texi:45: misplaced { (possibly involving @mymacro) +formatting.texi:45: misplaced { (possibly involving @mymacro) +formatting.texi:45: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:45: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:49: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: @verb should not appear in @image (possibly involving @mymacro) +formatting.texi:49: warning: accent command `@,' must not be followed by new line (possibly involving @mymacro) +formatting.texi:49: use braces to give a command as an argument to @, (possibly involving @mymacro) +formatting.texi:49: warning: accent command `@'' must not be followed by new line (possibly involving @mymacro) +formatting.texi:49: use braces to give a command as an argument to @' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `truc' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `ij' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `--a' (possibly involving @mymacro) +formatting.texi:49: @dotless expects `i' or `j' as argument, not `a' (possibly involving @mymacro) +formatting.texi:49: @TeX expected braces (possibly involving @mymacro) +formatting.texi:49: unexpected @ (possibly involving @mymacro) +formatting.texi:49: @image missing filename argument (possibly involving @mymacro) +formatting.texi:49: @image missing filename argument (possibly involving @mymacro) +formatting.texi:49: @image missing filename argument (possibly involving @mymacro) +formatting.texi:49: @sp missing argument (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffn (possibly involving @mymacro) +formatting.texi:49: misplaced } (possibly involving @mymacro) +formatting.texi:49: misplaced } (possibly involving @mymacro) +formatting.texi:49: misplaced { (possibly involving @mymacro) +formatting.texi:49: misplaced { (possibly involving @mymacro) +formatting.texi:49: must be after `@deffn' to use `@deffnx' (possibly involving @mymacro) +formatting.texi:49: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @ref missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) +formatting.texi:49: warning: command @inforef missing a node or external manual argument (possibly involving @mymacro) diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.texi texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.texi --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.texi 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser/texi_formatting/formatting.texi 2013-08-27 21:23:34.000000000 +0000 @@ -1,5 +1,12 @@ \input texinfo @c -*-texinfo-*- @setfilename formatting.info + +@dircategory Formatting @'e @code{@@ @TeX{}} test +@direntry +* Truc: (formatting). The GNU documentation truc. +* @code{@@ @'e @equiv{}}: (formatting). ``@asis{--- something}'' + @command{cmd} @`a +@end direntry @node Top @top Top section diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting/formatting.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting/formatting.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting/formatting.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting/formatting.2 2013-09-07 20:10:16.000000000 +0000 @@ -1,44 +1,53 @@ -formatting.texi:18: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:18: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:28: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:28: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:38: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:38: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:42: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:42: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:25: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:25: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:35: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:35: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:49: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:49: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:25: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:25: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:25: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:25: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:45: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:45: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:49: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:49: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:99: warning: @node name should not contain `,': s--ect,ion Binary files /tmp/yE5psEzN_2/texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting/formatting.info and /tmp/LyEUjI056s/texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting/formatting.info differ diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_cr/formatting-cr.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_cr/formatting-cr.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_cr/formatting-cr.2 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_cr/formatting-cr.2 2013-09-07 20:10:16.000000000 +0000 @@ -0,0 +1,65 @@ +formatting-cr.texi:25: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:25: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting-cr.texi:25: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:25: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing category for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:25: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting-cr.texi:25: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting-cr.texi:35: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:35: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting-cr.texi:35: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:35: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing category for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:35: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting-cr.texi:35: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting-cr.texi:45: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting-cr.texi:45: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:45: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting-cr.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting-cr.texi:49: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:49: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting-cr.texi:49: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:49: unknown command ` ' (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing category for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting-cr.texi:49: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting-cr.texi:49: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting-cr.texi:25: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:25: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:25: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:25: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:45: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:45: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:49: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:49: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting-cr.texi:99: warning: @node name should not contain `,': s--ect,ion Binary files /tmp/yE5psEzN_2/texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_cr/formatting.info and /tmp/LyEUjI056s/texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_cr/formatting.info differ diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_fr/formatting.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_fr/formatting.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_fr/formatting.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_fr/formatting.2 2013-09-07 20:10:16.000000000 +0000 @@ -1,44 +1,53 @@ -formatting.texi:18: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:18: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:28: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:28: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:38: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:38: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:42: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:42: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:25: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:25: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:35: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:35: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:49: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:49: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:25: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:25: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:25: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:25: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:45: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:45: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:49: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting.texi:49: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting.texi:99: warning: @node name should not contain `,': s--ect,ion Binary files /tmp/yE5psEzN_2/texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_fr/formatting.info and /tmp/LyEUjI056s/texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_fr/formatting.info differ diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_utf8_enable_encoding/formatting_utf8.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_utf8_enable_encoding/formatting_utf8.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_utf8_enable_encoding/formatting_utf8.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_utf8_enable_encoding/formatting_utf8.2 2013-09-07 20:10:16.000000000 +0000 @@ -1,45 +1,54 @@ formatting_utf8.texi:4: warning: encoding `utf8' is not a canonical texinfo encoding -formatting_utf8.texi:21: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:21: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:21: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting_utf8.texi:31: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:31: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:31: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting_utf8.texi:41: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:41: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:41: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting_utf8.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) -formatting_utf8.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting_utf8.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:27: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:27: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:37: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:37: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:37: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:47: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:47: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing category for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: warning: missing name for @deffnx (possibly involving @mymacro) +formatting_utf8.texi:51: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting_utf8.texi:51: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:27: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:47: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @ref node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:51: warning: @inforef node name should not contain `,' (possibly involving @mymacro) +formatting_utf8.texi:101: warning: @node name should not contain `,': s--ect,ion Binary files /tmp/yE5psEzN_2/texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/formatting_utf8_enable_encoding/formatting_utf8.info and /tmp/LyEUjI056s/texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/formatting_utf8_enable_encoding/formatting_utf8.info differ diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.2 texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.2 --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.2 2013-08-27 21:23:34.000000000 +0000 @@ -1,44 +1,44 @@ -formatting.texi:18: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:18: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:18: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:28: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:28: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:28: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:38: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:38: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:38: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) -formatting.texi:42: warning: @ctrl is obsolete. (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing category for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: warning: missing name for @deffnx (possibly involving @mymacro) -formatting.texi:42: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) -formatting.texi:42: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:25: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:25: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:25: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:35: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:35: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:35: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:45: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:45: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:45: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) +formatting.texi:49: warning: @ctrl is obsolete. (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing category for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: warning: missing name for @deffnx (possibly involving @mymacro) +formatting.texi:49: command @bullet not accepting argument in brace should not be on @table line (possibly involving @mymacro) +formatting.texi:49: command @minus not accepting argument in brace should not be on @ftable line (possibly involving @mymacro) diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.texi texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.texi --- texinfo-5.1.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.texi 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/res_parser_info/texi_formatting/formatting.texi 2013-08-27 21:23:34.000000000 +0000 @@ -1,5 +1,12 @@ \input texinfo @c -*-texinfo-*- @setfilename formatting.info + +@dircategory Formatting @'e @code{@@ @TeX{}} test +@direntry +* Truc: (formatting). The GNU documentation truc. +* @code{@@ @'e @equiv{}}: (formatting). ``@asis{--- something}'' + @command{cmd} @`a +@end direntry @node Top @top Top section diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage/tests-parser.txt texinfo-5.2.0.dfsg.1/tp/tests/coverage/tests-parser.txt --- texinfo-5.1.dfsg.1/tp/tests/coverage/tests-parser.txt 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage/tests-parser.txt 2013-08-27 20:09:31.000000000 +0000 @@ -5,3 +5,4 @@ #formatting_info formatting.texi --info -U texi2html formatting_utf8_enable_encoding formatting_utf8.texi --enable-encoding formatting_fr formatting.texi --document-language fr +formatting_cr formatting-cr.texi diff -Nru texinfo-5.1.dfsg.1/tp/tests/coverage_macro-cr.texi texinfo-5.2.0.dfsg.1/tp/tests/coverage_macro-cr.texi --- texinfo-5.1.dfsg.1/tp/tests/coverage_macro-cr.texi 1970-01-01 00:00:00.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/coverage_macro-cr.texi 2013-08-28 08:19:53.000000000 +0000 @@ -0,0 +1,726 @@ +@macro mymacro + +< +> +" +& +' +` + +``simple-double--three---four----''@* +code: @code{``simple-double--three---four----''} @* +asis: @asis{``simple-double--three---four----''} @* +strong: @strong{``simple-double--three---four----''} @* +kbd: @kbd{``simple-double--three---four----''} @* + +`@w{}`simple-double-@w{}-three---four----'@w{}'@* + +@cindex --option +@cindex `` +@findex `` +@findex --foption + +@@"u @"u +@@"@{U@} @"{U} +@@~n @~n +@@^a @^a +@@'e @'e +@@=o @=o +@@`i @`i +@@'@{e@} @'{e} +@@'@{@@dotless@{i@}@} @'{@dotless{i}} +@@dotless@{i@} @dotless{i} +@@dotless@{j@} @dotless{j} +@@`@{@@=E@} @`{@=E} +@@l@{@} @l{} +@@,@{@@'C@} @,{@'C} +@@,c @,c +@@,c@@"u @,c@"u @* + +@@* @* +@@ followed by a space +@ +@@ followed by a tab +@ +@@ followed by a new line +@ +@code{@@-} @- +@code{@@|} @| +@code{@@:} @: +@code{@@!} @! +@code{@@?} @? +@code{@@.} @. +@code{@@@@} @@ +@code{@@@}} @} +@code{@@@{} @{ +@code{@@/} @/ + +foo vs.@: bar. +colon :@:And something else. +semi colon ;@:. +And ? ?@:. +Now ! !@:@@ +but , ,@: + +@@TeX @TeX{} +@@LaTeX @LaTeX{} +@@bullet @bullet{} +@@copyright @copyright{} +@@dots @dots{} +@@enddots @enddots{} +@@equiv @equiv{} +@@error @error{} +@@expansion @expansion{} +@@minus @minus{} +@@point @point{} +@@print @print{} +@@result @result{} +@@today @today{} +@@aa @aa{} +@@AA @AA{} +@@ae @ae{} +@@oe @oe{} +@@AE @AE{} +@@OE @OE{} +@@o @o{} +@@O @O{} +@@ss @ss{} +@@l @l{} +@@L @L{} +@@DH @DH{} +@@TH @TH{} +@@dh @dh{} +@@th @th{} +@@exclamdown @exclamdown{} +@@questiondown @questiondown{} +@@pounds @pounds{} +@@registeredsymbol @registeredsymbol{} +@@ordf @ordf{} +@@ordm @ordm{} +@@comma @comma{} +@@quotedblleft @quotedblleft{} +@@quotedblright @quotedblright{} +@@quoteleft @quoteleft{} +@@quoteright @quoteright{} +@@quotedblbase @quotedblbase{} +@@quotesinglbase @quotesinglbase{} +@@guillemetleft @guillemetleft{} +@@guillemetright @guillemetright{} +@@guillemotleft @guillemotleft{} +@@guillemotright @guillemotright{} +@@guilsinglleft @guilsinglleft{} +@@guilsinglright @guilsinglright{} +@@textdegree @textdegree{} +@@euro @euro{} +@@arrow @arrow{} +@@leq @leq{} +@@geq @geq{} + +@code{@@acronym@{--a,an accronym@}} @acronym{--a,an accronym} +@code{@@acronym@{--a@}} @acronym{--a} +@code{@@abbr@{@@'E--. @@comma@{@}A., @@'Etude Autonome @}} @abbr{@'E--. @comma{}A., @'Etude Autonome } +@code{@@abbr@{@@'E--. @@comma@{@}A.@}} @abbr{@'E--. @comma{}A.} +@code{@@asis@{--a@}} @asis{--a} +@code{@@b@{--a@}} @b{--a} +@code{@@cite@{--a@}} @cite{--a} +@code{@@code@{--a@}} @code{--a} +@code{@@command@{--a@}} @command{--a} +@code{@@ctrl@{--a@}} @ctrl{--a} +@code{@@dfn@{--a@}} @dfn{--a} +@code{@@dmn@{--a@}} @dmn{--a} +@code{@@email@{--a,--b@}} @email{--a,--b} +@code{@@email@{,--b@}} @email{,--b} +@code{@@email@{--a@}} @email{--a} +@code{@@emph@{--a@}} @emph{--a} +@code{@@env@{--a@}} @env{--a} +@code{@@file@{--a@}} @file{--a} +@code{@@i@{--a@}} @i{--a} +@code{@@kbd@{--a@}} @kbd{--a} +@code{@@key@{--a@}} @key{--a} +@code{@@math@{--a @{\\frac@{1@}@{2@}@} @@minus@{@}@}} @math{--a {\\frac{1}{2}} @minus{}} +@code{@@option@{--a@}} @option{--a} +@code{@@r@{--a@}} @r{--a} +@code{@@samp@{--a@}} @samp{--a} +@code{@@sc@{--a@}} @sc{--a} +@code{@@strong@{--a@}} @strong{--a} +@code{@@t@{--a@}} @t{--a} +@code{@@sansserif@{--a@}} @sansserif{--a} +@code{@@slanted@{--a@}} @slanted{--a} +@code{@@titlefont@{--a@}} @titlefont{--a} +@code{@@indicateurl@{--a@}} @indicateurl{--a} +@code{@@uref@{--a,--b@}} @uref{--a,--b} +@code{@@uref@{--a@}} @uref{--a} +@code{@@uref@{,--b@}} @uref{,--b} +@code{@@uref@{--a,--b,--c@}} @uref{--a,--b,--c} +@code{@@uref@{,--b,--c@}} @uref{,--b,--c} +@code{@@uref@{--a,,--c@}} @uref{--a,,--c} +@code{@@uref@{,,--c@}} @uref{,,--c} +@code{@@url@{--a,--b@}} @url{--a,--b} +@code{@@url@{--a,@}} @url{--a,} +@code{@@url@{,--b@}} @url{,--b} +@code{@@var@{--a@}} @var{--a} +@code{@@verb@{:--a:@}} @verb{:--a:} +@code{@@verb@{:a < & @@ % " -- b:@}} @verb{:a < & @ % " -- b:} +@code{@@w@{a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a@}} @w{a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a} +@code{@@H@{a@}} @H{a} +@code{@@H@{--a@}} @H{--a} +@code{@@dotaccent@{a@}} @dotaccent{a} +@code{@@dotaccent@{--a@}} @dotaccent{--a} +@code{@@ringaccent@{a@}} @ringaccent{a} +@code{@@ringaccent@{--a@}} @ringaccent{--a} +@code{@@tieaccent@{a@}} @tieaccent{a} +@code{@@tieaccent@{--a@}} @tieaccent{--a} +@code{@@u@{a@}} @u{a} +@code{@@u@{--a@}} @u{--a} +@code{@@ubaraccent@{a@}} @ubaraccent{a} +@code{@@ubaraccent@{--a@}} @ubaraccent{--a} +@code{@@udotaccent@{a@}} @udotaccent{a} +@code{@@udotaccent@{--a@}} @udotaccent{--a} +@code{@@v@{a@}} @v{a} +@code{@@v@{--a@}} @v{--a} +@code{@@,@{c@}} @,{c} +@code{@@,@{--c@}} @,{--c} +@ifset texi2html +@code{@@ogonek@{a@}} @ogonek{a} +@code{@@ogonek@{--a@}} @ogonek{--a} +@end ifset +@code{@@footnote@{in footnote@}} @footnote{in footnote} +@code{@@footnote@{in footnote2@}} @footnote{in footnote2} + +@code{@@image@{f--ile@}} @image{f--ile} +@code{@@image@{f--ile,l--i@}} @image{f--ile,l--i} +@code{@@image@{f--ile,,l--e@}} @image{f--ile,,l--e} +@code{@@image@{f--ile,,,alt@}} @image{f--ile,,,alt} +@code{@@image@{f--ile,,,,e-d-xt@}} @image{f--ile,,,,e--xt} +@code{@@image@{f--ile,aze,az,alt,e--xt@}} @image{f--ile,aze,az,alt,e--xt} +@code{@@image@{f-ile,aze,,a--lt@}} @image{f-ile,aze,,a--lt} +@code{@@image@{@@file@{f--ile@}@@@@@@.,aze,az,alt,@@file@{file ext@} e--xt@@@}} @image{@file{f--ile}@@@.,aze,az,alt,@file{file ext} e--xt@}} + +@sp 2 + +@code{@@clicksequence@{click @@click@{@} A@}} @clicksequence{click @click{} A} +@clickstyle @result +After clickstyle @result{} +@code{@@clicksequence@{click @@click@{@} A@}} @clicksequence{click @click{} A} +@clickstyle @arrow + +@quotation +A quot---ation +@end quotation + +@quotation Note +A Note +@end quotation + +@quotation note +A note +@end quotation + +@quotation Caution +Caution +@end quotation + +@quotation Important +Important +@end quotation + +@quotation Tip +a Tip +@end quotation + +@quotation Warning +a Warning. +@end quotation + +@quotation something @'e @TeX{} +The something @'e @TeX{} is here. +@end quotation + +@quotation @@ at the end of line @ +A @@ at the end of the @@quotation line. +@end quotation + +@quotation something, other thing +something, other thing +@end quotation + +@quotation Note, the note +Note, the note +@end quotation + +@quotation +@end quotation + +@quotation Empty +@end quotation + +@quotation @asis{} +@end quotation + +@quotation @* +@end quotation + +@ifset texi2html +@smallquotation +A small quot---ation +@end smallquotation + +@smallquotation Note +A small Note +@end smallquotation + +@smallquotation something, other thing +something, other thing +@end smallquotation +@end ifset + +@itemize +@item i--temize +@end itemize + +@itemize + +@item i--tem + +@end itemize + +@itemize @bullet +@item b--ullet +@end itemize + +@itemize @minus +@item minu--s +@end itemize + +@itemize @emph +@item e--mph item +@end itemize + +@itemize @emph{after emph} +@c comment in itemize +@item e--mph item +@end itemize + +@itemize @bullet{} a--n itemize line +@cindex index entry within itemize +@item i--tem 1 +@item i--tem 2 +@end itemize + +@enumerate +@item e--numerate +@end enumerate + +@multitable @columnfractions 0.4 0.6 +@headitem mu--ltitable headitem @tab another tab +@item mu--ltitable item @tab multitable tab +@c comment in multitable +@item mu--ltitable item 2 @tab multitable tab 2 +@cindex index entry within multitable +@item lone mu--ltitable item +@end multitable + +@multitable {truc} {bidule} +@item truc @tab bidule +@end multitable + +@example +e--xample some + text +@end example + +@smallexample +s--mallexample +@end smallexample + +@display +d--isplay +@end display + +@smalldisplay +s--malldisplay +@end smalldisplay + +@lisp +l--isp +@end lisp + +@smalllisp +s--malllisp +@end smalllisp + +@format +f--ormat +@end format + +@smallformat +s--mallformat +@end smallformat + +@deffn c--ategory d--effn_name a--rguments... +d--effn +@end deffn + +@deffn cate--gory de--ffn_name ar--guments @ + more args @* even more so +def--fn +@end deffn + +@deffn fset @var{i} a g +@cindex index entry within deffn +@deffnx {cmde} truc {} +@deffnx Command {log trap} {} +@deffnx Command { log trap1} {} +@deffnx Command {log trap2 } {} +@deffnx cmde @b{id ule} truc +@deffnx cmde2 @b{id @samp{i} ule} truc +@deffnx @b{id @samp{i} ule} +@deffnx +@deffnx aaa +@deffnx {} {} +@deffnx{} +@deffnx{} machin +@deffnx{} {bidule machin} +@deffnx{truc} machin +@deffnx{truc} { } +@deffnx{truc} followed by a comment +@c comment +@deffnx{truc} +@deffnx{} {} +@deffnx {truc} a b c d e @b{f g} {h i} +@deffnx {truc} deffnx before end deffn +@end deffn + +@deffn empty deffn +@end deffn + +@deffn empty deffn with deffnx +@c comment between deffn and deffnx +@deffnx empty deffnx +@end deffn + +@deffn fset @var{i} a g +@deffnx {cmde} truc {} +@c comment +text in def item for second def item +@end deffn + +@defvr c--ategory d--efvr_name +d--efvr +@end defvr + +@deftypefn c--ategory t--ype d--eftypefn_name a--rguments... +d--eftypefn +@end deftypefn + +@deftypeop c--ategory c--lass t--ype d--eftypeop_name a--rguments... +d--eftypeop +@end deftypeop + +@deftypevr c--ategory t--ype d--eftypevr_name +d--eftypevr +@end deftypevr + +@defcv c--ategory c--lass d--efcv_name +d--efcv +@end defcv + +@defop c--ategory c--lass d--efop_name a--rguments... +d--efop +@end defop + +@deftp c--ategory d--eftp_name a--ttributes... +d--eftp +@end deftp + +@defun d--efun_name a--rguments... +d--efun +@end defun + +@defmac d--efmac_name a--rguments... +d--efmac +@end defmac + +@defspec d--efspec_name a--rguments... +d--efspec +@end defspec + +@defvar d--efvar_name argvar argvar1 +d--efvar +@end defvar + +@defopt d--efopt_name +d--efopt +@end defopt + +@deftypefun t--ype d--eftypefun_name a--rguments... +d--eftypefun +@end deftypefun + +@deftypevar t--ype d--eftypevar_name +d--eftypevar +@end deftypevar + +@defivar c--lass d--efivar_name +d--efivar +@end defivar + +@deftypeivar c--lass t--ype d--eftypeivar_name +d--eftypeivar +@end deftypeivar + +@defmethod c--lass d--efmethod_name a--rguments... +d--efmethod +@end defmethod + +@deftypemethod c--lass t--ype d--eftypemethod_name a--rguments... +d--eftypemethod +@end deftypemethod + +@code{@@xref@{c---hapter@@@@, cross r---ef name@@@@, t---itle@@@@, file n---ame@@@@, ma---nual@@@@@}} @xref{c---hapter@@, cross r---ef name@@, t---itle@@, file n---ame@@, ma---nual@@}. +@code{@@ref@{chapter, cross ref name, title, file name, manual@}} @ref{chapter, cross ref name, title, file name, manual} +@code{@@pxref@{chapter, cross ref name, title, file name, manual@}} @pxref{chapter, cross ref name, title, file name, manual} +@code{@@inforef@{chapter, cross ref name, file name@}} @inforef{chapter, cross ref name, file name} + +@code{@@ref@{chapter@}} @ref{chapter} +@code{@@xref@{chapter@}} @xref{chapter}. +@code{@@pxref@{chapter@}} @pxref{chapter} +@code{@@ref@{s--ect@@comma@{@}ion@}} @ref{s--ect@comma{}ion} + +@code{@@ref@{s--ect@@comma@{@}ion, a @@comma@{@} in cross +ref, a comma@@comma@{@} in title, a comma@@comma@{@} in file, a @@comma@{@} in manual name @}} +@ref{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in title, a comma@comma{} in file, a @comma{} in manual name } + +@code{@@ref@{chapter,cross ref name@}} @ref{chapter,cross ref name} +@code{@@ref@{chapter,,title@}} @ref{chapter,,title} +@code{@@ref@{chapter,,,file name@}} @ref{chapter,,,file name} +@code{@@ref@{chapter,,,,manual@}} @ref{chapter,,,,manual} +@code{@@ref@{chapter,cross ref name,title,@}} @ref{chapter,cross ref name,title,} +@code{@@ref@{chapter,cross ref name,,file name@}} @ref{chapter,cross ref name,,file name} +@code{@@ref@{chapter,cross ref name,,,manual@}} @ref{chapter,cross ref name,,,manual} +@code{@@ref@{chapter,cross ref name,title,file name@}} @ref{chapter,cross ref name,title,file name} +@code{@@ref@{chapter,cross ref name,title,,manual@}} @ref{chapter,cross ref name,title,,manual} +@code{@@ref@{chapter,cross ref name,title, file name, manual@}} @ref{chapter,cross ref name,title, file name, manual} +@code{@@ref@{chapter,,title,file name@}} @ref{chapter,,title,file name} +@code{@@ref@{chapter,,title,,manual@}} @ref{chapter,,title,,manual} +@code{@@ref@{chapter,,title, file name, manual@}} @ref{chapter,,title, file name, manual} +@code{@@ref@{chapter,,,file name,manual@}} @ref{chapter,,,file name,manual} + + +@code{@@ref@{(pman)anode,cross ref name@}} @ref{(pman)anode,cross ref name} +@code{@@ref@{(pman)anode,,title@}} @ref{(pman)anode,,title} +@code{@@ref@{(pman)anode,,,file name@}} @ref{(pman)anode,,,file name} +@code{@@ref@{(pman)anode,,,,manual@}} @ref{(pman)anode,,,,manual} +@code{@@ref@{(pman)anode,cross ref name,title,@}} @ref{(pman)anode,cross ref name,title,} +@code{@@ref@{(pman)anode,cross ref name,,file name@}} @ref{(pman)anode,cross ref name,,file name} +@code{@@ref@{(pman)anode,cross ref name,,,manual@}} @ref{(pman)anode,cross ref name,,,manual} +@code{@@ref@{(pman)anode,cross ref name,title,file name@}} @ref{(pman)anode,cross ref name,title,file name} +@code{@@ref@{(pman)anode,cross ref name,title,,manual@}} @ref{(pman)anode,cross ref name,title,,manual} +@code{@@ref@{(pman)anode,cross ref name,title, file name, manual@}} @ref{(pman)anode,cross ref name,title, file name, manual} +@code{@@ref@{(pman)anode,,title,file name@}} @ref{(pman)anode,,title,file name} +@code{@@ref@{(pman)anode,,title,,manual@}} @ref{(pman)anode,,title,,manual} +@code{@@ref@{(pman)anode,,title, file name, manual@}} @ref{(pman)anode,,title, file name, manual} +@code{@@ref@{(pman)anode,,,file name,manual@}} @ref{(pman)anode,,,file name,manual} + + +@code{@@inforef@{chapter, cross ref name, file name@}} @inforef{chapter, cross ref name, file name} +@code{@@inforef@{chapter@}} @inforef{chapter} +@code{@@inforef@{chapter, cross ref name@}} @inforef{chapter, cross ref name} +@code{@@inforef@{chapter,,file name@}} @inforef{chapter,,file name} +@code{@@inforef@{node, cross ref name, file name@}} @inforef{node, cross ref name, file name} +@code{@@inforef@{node@}} @inforef{node} +@code{@@inforef@{node, cross ref name@}} @inforef{node, cross ref name} +@code{@@inforef@{node,,file name@}} @inforef{node,,file name} +@code{@@inforef@{chapter, cross ref name, file name, spurious arg@}} @inforef{chapter, cross ref name, file name, spurious arg} + +@code{@@inforef@{s--ect@@comma@{@}ion, a @@comma@{@} in cross +ref, a comma@@comma@{@} in file@}} +@inforef{s--ect@comma{}ion, a @comma{} in cross +ref, a comma@comma{} in file} + + +@table @bullet +@c comment in table +@item a +l--ine +@end table + +@vtable @asis +@item a +@c comment between item and itemx +@itemx b +l--ine +@end vtable + +@ftable @minus +@item a +@cindex index entry between item and itemx +@itemx b +l--ine +@end ftable + +@cartouche +c--artouche +@end cartouche + +@group +g--roupe +@end group + +@flushleft +f--lushleft +@end flushleft + +@flushright +f--lushright +@end flushright + +@center ce--ntered line + +@verbatiminclude simplest.texi + +@verbatim +in verbatim '' +@end verbatim + +@xml + xml para '' +@end xml + +@html +html '' +@end html + +@tex +$$\\partial_t \\eta (t) = g(\\eta(t),\\varphi(t))$$ '' +@end tex + +@docbook +docbook '' +@end docbook + +@majorheading majorheading + +@chapheading chapheading + +@heading heading + +@subheading subheading + +@subsubheading subsubheading + +@c makeinfo cannot handle that +@ifset texi2html + +@code{@@acronym@{--a,an accronym @@comma@{@} @@enddots@{@}@}} @acronym{--a,an accronym @comma{} @enddots{}} +@code{@@abbr@{@@'E--. @@comma@{@}A., @@'Etude--@@comma@{@} @@b@{Autonome@} @}} @abbr{@'E--. @comma{}A., @'Etude--@comma{} @b{Autonome} } +@code{@@abbr@{@@'E--. @@comma@{@}A.@}} @abbr{@'E--. @comma{}A.} + +@code{@@math@{--a@@minus@{@} @{\\frac@{1@}@{2@}@}@}} @math{--a@minus{} {\\frac{1}{2}}} + +@code{@@image@{f-ile,,,alt@@verb@{:jk _" %@:@}@}} @image{f-ile,,,alt@verb{:jk _" %@:}} +@code{@@image@{f--ile,aze,az,@@verb@{:jk _" %@@:@} @@b@{in b "@},e--xt@}} @image{f--ile,aze,az,@verb{:jk _" %@:} @b{in b "},e--xt} +@code{@@image@{file@@verb@{:jk _" %@@:@},,,alt@@verb@{:jk _" %@@:@}@}} @image{file@verb{:jk _" %@:},,,alt@verb{:jk _" %@:}} + +@set invalid +@end ifset + + +@c invalid texinfo +@ifset invalid + +Somehow invalid use of @@,:@* +@@, @, +@* +@@,@@"u @,@"u + +Invalid use of @@':@* +@@' @' +@* +@@'@@"u @'@"u + +@c only i or j as arg +@@dotless@{truc@} @dotless{truc} +@@dotless@{ij@} @dotless{ij} +@code{@@dotless@{--a@}} @dotless{--a} +@code{@@dotless@{a@}} @dotless{a} + +@c braces missing +@@TeX, but without brace @TeX + +@c unknown command +@code{@@#} @# + +@c no arg +@code{@@w@{--a@}} @w{--a} + +@c no file +@code{@@image@{,1--xt@}} @image{,1--xt} +@code{@@image@{,,2--xt@}} @image{,,2--xt} +@code{@@image@{,,,3--xt@}} @image{,,,3--xt} + +@sp + +@c braces missing +@itemize @emph after emph +@item e--mph item +@end itemize + +@c braces missing +@itemize @bullet a--n itemize line +@item i--tem 1 +@item i--tem 2 +@end itemize + +@c deffnx after deff lines +@deffn fun +@deffnx truc machin bidule chose and } +@deffnx truc machin bidule chose and } after +@deffnx truc machin bidule chose and { +@deffnx truc machin bidule chose and { and after +@deffnx {truc} followed by a comment +@c comment +Various deff lines +@deffnx {truc} after a deff item +@end deffn + +@c node is non existent, or missing first arg +@code{@@ref@{node@}} @ref{node} + +@code{@@ref@{,cross ref name@}} @ref{,cross ref name} +@code{@@ref@{,,title@}} @ref{,,title} +@code{@@ref@{,,,file name@}} @ref{,,,file name} +@code{@@ref@{,,,,manual@}} @ref{,,,,manual} +@code{@@ref@{node,cross ref name@}} @ref{node,cross ref name} +@code{@@ref@{node,,title@}} @ref{node,,title} +@code{@@ref@{node,,,file name@}} @ref{node,,,file name} +@code{@@ref@{node,,,,manual@}} @ref{node,,,,manual} +@code{@@ref@{node,cross ref name,title,@}} @ref{node,cross ref name,title,} +@code{@@ref@{node,cross ref name,,file name@}} @ref{node,cross ref name,,file name} +@code{@@ref@{node,cross ref name,,,manual@}} @ref{node,cross ref name,,,manual} +@code{@@ref@{node,cross ref name,title,file name@}} @ref{node,cross ref name,title,file name} +@code{@@ref@{node,cross ref name,title,,manual@}} @ref{node,cross ref name,title,,manual} +@code{@@ref@{node,cross ref name,title, file name, manual@}} @ref{node,cross ref name,title, file name, manual} +@code{@@ref@{node,,title,file name@}} @ref{node,,title,file name} +@code{@@ref@{node,,title,,manual@}} @ref{node,,title,,manual} +@code{@@ref@{chapter,,title, file name, manual@}} @ref{chapter,,title, file name, manual} +@code{@@ref@{node,,title, file name, manual@}} @ref{node,,title, file name, manual} +@code{@@ref@{node,,,file name,manual@}} @ref{node,,,file name,manual} +@code{@@ref@{,cross ref name,title,@}} @ref{,cross ref name,title,} +@code{@@ref@{,cross ref name,,file name@}} @ref{,cross ref name,,file name} +@code{@@ref@{,cross ref name,,,manual@}} @ref{,cross ref name,,,manual} +@code{@@ref@{,cross ref name,title,file name@}} @ref{,cross ref name,title,file name} +@code{@@ref@{,cross ref name,title,,manual@}} @ref{,cross ref name,title,,manual} +@code{@@ref@{,cross ref name,title, file name, manual@}} @ref{,cross ref name,title, file name, manual} +@code{@@ref@{,,title,file name@}} @ref{,,title,file name} +@code{@@ref@{,,title,,manual@}} @ref{,,title,,manual} +@code{@@ref@{,,title, file name, manual@}} @ref{,,title, file name, manual} +@code{@@ref@{,,,file name,manual@}} @ref{,,,file name,manual} + +@code{@@inforef@{,cross ref name @}} @inforef{,cross ref name } +@code{@@inforef@{,,file name@}} @inforef{,,file name} +@code{@@inforef@{,cross ref name, file name@}} @inforef{,cross ref name, file name} +@code{@@inforef@{@}} @inforef{} + +@end ifset + +@end macro diff -Nru texinfo-5.1.dfsg.1/tp/tests/formatting/Makefile.in texinfo-5.2.0.dfsg.1/tp/tests/formatting/Makefile.in --- texinfo-5.1.dfsg.1/tp/tests/formatting/Makefile.in 2013-03-12 22:56:44.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/formatting/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -86,6 +114,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -134,6 +163,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -605,8 +635,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -617,7 +651,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -771,6 +808,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ diff -Nru texinfo-5.1.dfsg.1/tp/tests/formatting/res_parser/unknown_nodes_renamed/unknown_nodes_renamed.2 texinfo-5.2.0.dfsg.1/tp/tests/formatting/res_parser/unknown_nodes_renamed/unknown_nodes_renamed.2 --- texinfo-5.1.dfsg.1/tp/tests/formatting/res_parser/unknown_nodes_renamed/unknown_nodes_renamed.2 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/formatting/res_parser/unknown_nodes_renamed/unknown_nodes_renamed.2 2013-08-11 09:12:34.000000000 +0000 @@ -1,2 +1,2 @@ unknown_nodes_renamed.texi: warning: must specify a title with a title command or @top -unknown_nodes_renamed-noderename.cnf:3: warning: target node (new name for `unknown node 2') not in document: renamed as unknow too +unknown_nodes_renamed-noderename.cnf:3: warning: target node (new name for `Unknown node 1') not in document: renamed as unknow too diff -Nru texinfo-5.1.dfsg.1/tp/tests/htmlxref/Makefile.in texinfo-5.2.0.dfsg.1/tp/tests/htmlxref/Makefile.in --- texinfo-5.1.dfsg.1/tp/tests/htmlxref/Makefile.in 2013-03-12 22:56:44.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/htmlxref/Makefile.in 2013-09-26 23:04:45.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -86,6 +114,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -134,6 +163,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -605,8 +635,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -617,7 +651,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -771,6 +808,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ diff -Nru texinfo-5.1.dfsg.1/tp/tests/htmlxref-only_mono/Makefile.in texinfo-5.2.0.dfsg.1/tp/tests/htmlxref-only_mono/Makefile.in --- texinfo-5.1.dfsg.1/tp/tests/htmlxref-only_mono/Makefile.in 2013-03-12 22:56:44.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/htmlxref-only_mono/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -86,6 +114,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -134,6 +163,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -605,8 +635,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -617,7 +651,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -771,6 +808,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ diff -Nru texinfo-5.1.dfsg.1/tp/tests/htmlxref-only_split/Makefile.in texinfo-5.2.0.dfsg.1/tp/tests/htmlxref-only_split/Makefile.in --- texinfo-5.1.dfsg.1/tp/tests/htmlxref-only_split/Makefile.in 2013-03-12 22:56:44.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/htmlxref-only_split/Makefile.in 2013-09-26 23:04:44.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -86,6 +114,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -134,6 +163,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -605,8 +635,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -617,7 +651,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -771,6 +808,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ diff -Nru texinfo-5.1.dfsg.1/tp/tests/indices/Makefile.in texinfo-5.2.0.dfsg.1/tp/tests/indices/Makefile.in --- texinfo-5.1.dfsg.1/tp/tests/indices/Makefile.in 2013-03-12 22:56:44.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/indices/Makefile.in 2013-09-26 23:04:45.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.13.1 from Makefile.am. +# Makefile.in generated by automake 1.14 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2012 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,23 +14,51 @@ @SET_MAKE@ VPATH = @srcdir@ -am__make_dryrun = \ - { \ - am__dry=no; \ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ - *) \ - for am__flg in $$MAKEFLAGS; do \ - case $$am__flg in \ - *=*|--*) ;; \ - *n*) am__dry=yes; break;; \ - esac; \ - done;; \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ esac; \ - test $$am__dry = yes; \ - } + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -86,6 +114,7 @@ $(top_srcdir)/gnulib/m4/locale-zh.m4 \ $(top_srcdir)/gnulib/m4/locale_h.m4 \ $(top_srcdir)/gnulib/m4/localeconv.m4 \ + $(top_srcdir)/gnulib/m4/lock.m4 \ $(top_srcdir)/gnulib/m4/longlong.m4 \ $(top_srcdir)/gnulib/m4/lstat.m4 \ $(top_srcdir)/gnulib/m4/malloc.m4 \ @@ -134,6 +163,7 @@ $(top_srcdir)/gnulib/m4/sys_time_h.m4 \ $(top_srcdir)/gnulib/m4/sys_types_h.m4 \ $(top_srcdir)/gnulib/m4/tempname.m4 \ + $(top_srcdir)/gnulib/m4/threadlib.m4 \ $(top_srcdir)/gnulib/m4/time_h.m4 \ $(top_srcdir)/gnulib/m4/unistd_h.m4 \ $(top_srcdir)/gnulib/m4/warn-on-use.m4 \ @@ -605,8 +635,12 @@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ +LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ +LIBPTH = @LIBPTH@ +LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ +LIBTHREAD = @LIBTHREAD@ LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@ LIBUNISTRING_UNIWIDTH_H = @LIBUNISTRING_UNIWIDTH_H@ LN_S = @LN_S@ @@ -617,7 +651,10 @@ LOCALE_ZH_CN = @LOCALE_ZH_CN@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ +LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ +LTLIBPTH = @LTLIBPTH@ +LTLIBTHREAD = @LTLIBTHREAD@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ @@ -771,6 +808,7 @@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ REPLACE_WRITE = @REPLACE_WRITE@ +SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ diff -Nru texinfo-5.1.dfsg.1/tp/tests/indices/res_parser_info/index_special_region_html/Copying-and-indices.html texinfo-5.2.0.dfsg.1/tp/tests/indices/res_parser_info/index_special_region_html/Copying-and-indices.html --- texinfo-5.1.dfsg.1/tp/tests/indices/res_parser_info/index_special_region_html/Copying-and-indices.html 2013-02-19 22:25:45.000000000 +0000 +++ texinfo-5.2.0.dfsg.1/tp/tests/indices/res_parser_info/index_special_region_html/Copying-and-indices.html 2013-06-25 07:19:34.000000000 +0000 @@ -20,7 +20,7 @@ - +
[ < ]