Package list texinfo / 7386b4e
Imported Upstream version 6.1.0.dfsg.1 Norbert Preining 5 years ago
1163 changed file(s) with 19631 addition(s) and 19296 deletion(s). Raw diff Collapse all Expand all
0 2016-02-06 Gavin Smith <gavinsmith0123@gmail.com>
1
2 6.1 release.
3 * configure.ac, NEWS, util/texi2dvi, util/texi2pdf,
4 doc/refcard/txirefcard.tex, texindex/texindex.awk,
5 texindex/texindex.in: Version number.
6 * build-aux/texinfo.tex: Update from doc/texinfo.tex.
7
8 2016-02-06 Gavin Smith <gavinsmith0123@gmail.com>
9
10 * README-hacking: Update notes about making a release. Move
11 "make po-check" line. Remove "rm ti.texi" for updating texindex
12 version. Move gnulib-tool --add-import and util/srclist-txi,
13 and say what the latter is for. Move "official releases only"
14 section only so that the "make distcheck" line above can be the
15 final command to produce the release tarball. Move upload
16 instructions after this command. Move instructions about
17 tagging source tree. Combine instructions about checking DTD.
18
19 2016-02-06 Gavin Smith <gavinsmith0123@gmail.com>
20
21 * doc/texinfo-tex-test.texi,
22 * doc/Makefile.am,
23 * doc/info-stnd.texi,
24 * Makefile.am,
25 * info/Makefile.am: 2016.
26
27 2016-02-06 Gavin Smith <gavinsmith0123@gmail.com>
28
29 * doc/texinfo.texi: Change "cross reference" to "cross-reference"
30 throughout.
31
32 2016-02-06 Gavin Smith <gavinsmith0123@gmail.com>
33
34 * NEWS: Mention that behaviour is unchanged for comma or full
35 stop following closing brace of @xref command. Text from Karl Berry.
36 * NEWS: Change word 'makeinfo' to 'texi2any'.
37 * doc/texinfo.texi (Cross Reference Parts): Mention how to avoid
38 an unwanted comma after the cross-reference when processing with
39 TeX.
40
41 * NEWS, doc/texinfo.texi (Cross Reference Parts): Move example
42 of comma insertion. Suggestion from Karl Berry.
43
44 2016-02-05 Gavin Smith <gavinsmith0123@gmail.com>
45
46 * doc/texinfo.tex (\xrefX): Check for some commands following
47 the closing brace of an @xref command which add space.
48 Suggestion from Karl Berry.
49
50 * doc/texinfo-tex-test.texi (Cross-references): Add examples
51 with tab, newline, @SPACE, @TAB, @NL, @*, and @: following
52 @xref.
53
54 2016-02-05 Gavin Smith <gavinsmith0123@gmail.com>
55
56 * doc/texinfo.texi (@inforef): Remove statement saying that
57 @inforef must be followed by a comma or a full stop. Reported
58 by Karl Berry.
59
60 2016-02-05 Masamichi Hosoda <trueroad@trueroad.jp>
61
62 * doc/texinfo.tex (\doxeteximage):
63 @image support for XeTeX.
64 (\image): @image support for XeTeX.
65
66 2016-02-02 Gavin Smith <gavinsmith0123@gmail.com>
67
68 * NEWS: Move NEWS about XS earlier and mention that pure Perl
69 modules can still be used by default. Suggestion from Karl Berry.
70
71 2016-02-02 Gavin Smith <gavinsmith0123@gmail.com>
72
73 * configure.ac: Add "(XS)" after "Perl extension" in message to
74 make it easier to find in configure output. Repeat message
75 after output from trying to build and run an extension module so
76 it's clear what 'yes' or 'no' refers to. Possible confusion
77 reported by Karl Berry.
78
79 2016-02-02 Gavin Smith <gavinsmith0123@gmail.com>
80
81 * doc/texinfo.tex (\chapmacro): Allow this macro to occur inside
82 \titlepage, in case \setcontentsaftertitlepage is used. Report
83 of error message from Akim Demaille.
84
85 2016-02-02 Gavin Smith <gavinsmith0123@gmail.com>
86
87 * doc/texinfo.tex (\xrefX): Don't expand a control sequence
88 following \if. Report of possible problem from Karl Berry.
89
90 2016-02-01 Gavin Smith <gavinsmith0123@gmail.com>
91
92 * doc/texinfo.tex (\xrefX): Add a comma after the page number
93 only if the cross-reference command is followed by a space,
94 instead of listing possible punctuation characters. Suggestion
95 from Karl Berry.
96
97 2016-02-01 Gavin Smith <gavinsmith0123@gmail.com>
98
99 * doc/texinfo.tex (\indexnofonts): Add % after \} and \{ because
100 spaces are not skipped there.
101
102 2016-01-31 Gavin Smith <gavinsmith0123@gmail.com>
103
104 6.0.93 pretest.
105
106 * configure.ac: 6.0.93 pretest.
107
108 2016-01-31 Gavin Smith <gavinsmith0123@gmail.com>
109
110 * doc/texinfo.tex (\utfeightchardefs): Comment out empty lines
111 to prevent an end of paragraph. Reported by Masamichi Hosoda.
112
113 2016-01-31 Gavin Smith <gavinsmith0123@gmail.com>
114
115 * info/pseudotty.c: Call fpathconf to get value to disable a
116 special character in the termios structure.
117
118 2016-01-30 Gavin Smith <gavinsmith0123@gmail.com>
119
120 * info/t/replace-viewed.sh: Skip test if no process could be
121 found, because it may not have started properly.
122
123 2016-01-30 Gavin Smith <gavinsmith0123@gmail.com>
124
125 * info/t/Init-inter.inc: Remove line accidentally added on 2016-01-13.
126
127 2016-01-30 Gavin Smith <gavinsmith0123@gmail.com>
128
129 * info/session.c (gc_file_buffers_and_nodes): Don't free file
130 buffers corresponding to files that aren't there any more,
131 because a node may still refer to them.
132 * info/nodes.c (forget_info_file): Overwrite filename of field
133 with empty string to avoid a memory leak.
134
135 2016-01-30 Gavin Smith <gavinsmith0123@gmail.com>
136
137 * info/nodes.c (info_node_of_tag_ext): Check that references for
138 node haven't already been initialized before calling
139 scan_node_contents, to prevent a memory leak if a node from a
140 previously garbage collected file is loaded again.
141
142 2016-01-25 Gavin Smith <gavinsmith0123@gmail.com>
143
144 * tp/Texinfo/Convert/XSParagraph/configure.ac: Clear cache
145 variable with 'unset'.
146
147 2016-01-23 Gavin Smith <gavinsmith0123@gmail.com>
148
149 * tp/Texinfo/Convert/Paragraph.pm: Check if using Windows, and
150 if so, bypass 'locale -a' check for a UTF-8 locale.
151
152 2016-01-23 Karl Berry <karl@freefriends.org>
153
154 * contrib/perldoc-all/GNUmakefile (install): no need for grep,
155 since we don't install the split HTML any more.
156 ($(texi_pod_doc_incl)): mention failure to get uniprops et al.
157
158 2016-01-23 Gavin Smith <gavinsmith0123@gmail.com>
159
160 * tp/Texinfo/Convert/XSParagraph/lib,
161 * tp/Texinfo/Convert/XSParagraph/m4: Add gnulib module 'getline'.
162
163 * tp/Texinfo/Convert/XSParagraph/Makefile.am (AM_CPPFLAGS):
164 Change to right path to include directories.
165
166 2016-01-23 Gavin Smith <gavinsmith0123@gmail.com>
167
168 * tp/Texinfo/Convert/Paragraph.pm: Add a check for a UTF-8
169 locale in output of "locale -a". Change 'stand-alone' to
170 'standalone' in a string. Remove some commented-out code.
171 * tp/Texinfo/Convert/XSParagraph/xspara.c (xspara_init): If we
172 fail to set a UTF-8 locale by other means, look at the output of
173 "locale -a" and use the first line of output with "UTF-8" in it
174 as the name of the locale to use. Failure when no UTF-8 locale
175 could be set reported by Kiyoshi Kanazawa.
176
177 2016-01-23 Gavin Smith <gavinsmith0123@gmail.com>
178
179 * NEWS: Move note about @copying next to the news for the
180 release it was added in (Texinfo 4.2, April 2002).
181
182 2016-01-22 Gavin Smith <gavinsmith0123@gmail.com>
183
184 * tp/Texinfo/Convert/HTML.pm (_protect_space_codebreak): Rename
185 to '_protect_space'. Remove check for 'allowcodebreaks', as
186 this led to broken URL's and a broken <title>. Report from
187 Padraig Brady via Karl Berry.
188 (%css_map): Remove CSS style for 'span.nocodebreak'.
189
190 2016-01-20 Gavin Smith <gavinsmith0123@gmail.com>
191
192 * doc/texinfo.tex (\xrefX): Move and edit a comment.
193
194 2016-01-20 Gavin Smith <gavinsmith0123@gmail.com>
195
196 * doc/texinfo.tex (\indexnofonts): Replace definitions of @{ and
197 @} so that \indexnofonts can be used for constructing a control
198 sequence name with \csname, as is done in \xrefX. Give them
199 different values in order not to cause problems should two xref
200 names differ only by replacing @{ with @}.
201 (\dosubindwrite): Override definitions of @{ and @} set in
202 \indexnofonts to their previous definitions in \indexnofonts.
203 @{ in xref broken reported by Karl Berry.
204
205 2016-01-17 Gavin Smith <gavinsmith0123@gmail.com>
206
207 6.0.92 pretest.
208
209 * configure.ac, README, NEWS: 2016.
210 * configure.ac: 6.0.92 pretest.
211
212 2016-01-15 Gavin Smith <gavinsmith0123@gmail.com>
213
214 * tp/Texinfo/Convert/XSParagraph/configure.ac: Get Perl conf
215 value 'ccdlflags' for flags for linking the extension.
216
217 2016-01-15 Gavin Smith <gavinsmith0123@gmail.com>
218
219 * tp/Texinfo/Convert/XSParagraph/TestXS.pm: Re-add line for
220 debugging output, for better trouble-shooting.
221
222 2016-01-15 Gavin Smith <gavinsmith0123@gmail.com>
223
224 * tp/tests/README: Add example of how to update long tests.
225
226 2016-01-15 Gavin Smith <gavinsmith0123@gmail.com>
227
228 * tp/Texinfo/Convert/XSParagraph/configure.ac: Get 'libperl'
229 Perl config value, and transform it into a -l flag for libtool.
230 * tp/Texinfo/Convert/XSParagraph/Makefile.am (AM_LDFLAGS): Use
231 this flag along with -L$(PERL_INC).
232
233 2016-01-15 Gavin Smith <gavinsmith0123@gmail.com>
234
235 * doc/texinfo.texi (Info Format Specification): Mention that
236 keywords in Info format should be read case-insensitively.
237 Suggestion for manual from Karl Berry.
238 Move disclaimer about actual practice to the end of the node.
239
240 2016-01-13 Gavin Smith <gavinsmith0123@gmail.com>
241
242 * tp/Texinfo/Convert/XSParagraph/configure.ac: Move check for
243 xsubpp to before gl_INIT, in order not to waste time running the
244 gnulib checks if the extension isn't going to be built anyway.
245
246 2016-01-13 Gavin Smith <gavinsmith0123@gmail.com>
247
248 * info/t/Init-inter.inc (synch_with_program): Remove function.
249 * info/t/c-u-m-x-scroll-forward.sh,
250 * info/t/inc-sea-forward.sh,
251 * info/t/inc-sea-history.sh,
252 * info/t/inc-sea-insensitive.sh,
253 * info/t/inc-sea-forward-nonregex.sh,
254 * info/t/gc-split.sh: Don't call it. It could lead to an
255 infinite loop if the program had already exited, and also slowed
256 down the tests.
257 * info/pseudotty.c: Call tcsetattr to turn off special
258 characters like C-u and C-s.
259
260 2016-01-11 Gavin Smith <gavinsmith0123@gmail.com>
261
262 * tp/Texinfo/Convert/XSParagraph/configure.ac: Print error if
263 "xsubpp" program is not found. This avoids an attempt to later
264 execute a "typemap" program when $(XSUBPP) -typemap is done.
265
266 2016-01-11 Gavin Smith <gavinsmith0123@gmail.com>
267
268 * doc/texinfo.tex: For LuaTeX, output bytes instead of UTF-8
269 multi-byte characters. Add comment to say this is a problem
270 with XeTeX which we haven't fixed. Problem under LuaTeX and
271 XeTeX reported by Masamichi Hosoda.
272
273 2016-01-09 Gavin Smith <gavinsmith0123@gmail.com>
274
275 * gnulib: Run gnulib-tool --add-import, omitting the "mkstemp"
276 module which isn't used any where (possibly used in texindex.c,
277 which isn't distributed any more).
278
279 * gnulib: Run gnulib-tool --add-import, omitting "memmem".
280
281 2016-01-07 Masamichi Hosoda <trueroad@trueroad.jp> (tiny change)
282
283 * doc/texinfo.tex: For XeTeX, fix input by bytes instead of
284 by UTF-8 codepoints. Settings for subsequent files to be read.
285 (\documentencoding): Settings for the document root file.
286
287 2016-01-06 Gavin Smith <gavinsmith0123@gmail.com>
288
289 * tp/Texinfo/Convert/XSParagraph/Makefile.am (install-data-hook):
290 Remove TestXS module files after they are installed.
291
292 2016-01-06 Gavin Smith <gavinsmith0123@gmail.com>
293
294 * tp/Texinfo/Convert/HTML.pm (_convert_preformatted_type): Add an
295 extra newline after a <pre> tag if the contents begins with a
296 newline.
297
298 2016-01-06 Gavin Smith <gavinsmith0123@gmail.com>
299
300 * tp/t/README,
301 * tp/tests/README: 2016 in copyright dates.
302
303 2016-01-04 Gavin Smith <gavinsmith0123@gmail.com>
304
305 * doc/texinfo.tex (\enableemergencynewline): New macro.
306 (\fixbackslash): Use it, in order to give newline a default
307 active definition.
308
309 2016-01-04 Gavin Smith <gavinsmith0123@gmail.com>
310
311 * doc/texinfo.tex, NEWS: For XeTeX and LuaTeX, use input by
312 bytes instead of by UTF-8 codepoints. Documents encoded in
313 UTF-8 reported broken by Werner Lemberg.
314
315 2016-01-04 Gavin Smith <gavinsmith0123@gmail.com>
316
317 * tp/Texinfo/Convert/HTML.pm (%css_map): Use 'font-family: initial'
318 instead of 'font-family: serif' for @r. Suggestion from Karl Berry.
319
320 2016-01-03 Gavin Smith <gavinsmith0123@gmail.com>
321
322 * INSTALL: Some words about XS.
323 * README-hacking: Words about translation updates.
324
325 2016-01-03 Gavin Smith <gavinsmith0123@gmail.com>
326
327 * tp/Makefile.am,
328 * tp/Texinfo/Convert/XSParagraph/Makefile.am,
329 * tp/texi2any.pl: Replace uses of pkglibexecdir with pkglibdir.
330 Modules installed under pkglibexecdir weren't being found due
331 not being substituted by configure script. Reported by
332 Andreas Schwab. Probably related to AC_SUBST in 'gl_CONFIGMAKE'
333 in 'configmake' gnulib module overriding the default definition.
334
335 2016-01-02 Gavin Smith <gavinsmith0123@gmail.com>
336
337 * info/info-utils.c (copy_converting): Don't check whether a
338 value of type size_t is negative in loop condition, because
339 size_t is unsigned. Always loop instead.
340
341 2016-01-02 Gavin Smith <gavinsmith0123@gmail.com>
342
343 * info/terminal.c (term_mm, terminal_has_meta_p): Remove unused
344 variables.
345 * info/terminal.c (terminal_initialize_terminal),
346 * info/pcterm.c (pc_initialize_terminal): Don't refer to removed
347 variables.
348
349 2016-01-02 Gavin Smith <gavinsmith0123@gmail.com>
350
351 * doc/texinfo.texi (Node Menu Illustration): Change "copy of
352 diagram" to "diagram".
353
354 2016-01-02 Gavin Smith <gavinsmith0123@gmail.com>
355
356 * tp/tests/run_parser_all.sh: Run sed on file logging standard
357 error of program to account for variant output under MS-Windows,
358 reported by Eli Zaretskii.
359
360 2016-01-01 Gavin Smith <gavinsmith0123@gmail.com>
361
362 * tp/Texinfo/Convert/XSParagraph/text.c (text_destroy): New
363 function.
364 * tp/Texinfo/Convert/XSParagraph/xspara.c (xspara_add_text): Use
365 it instead of calling free directly, because free may have been
366 redirected to Perl's version.
367
368 2016-01-01 Gavin Smith <gavinsmith0123@gmail.com>
369
370 * tp/Texinfo/Convert/XSParagraph/xspara.c (xspara_new): Don't
371 call free on TEXT objects, but reuse the storage. Attempt at
372 fixing 'Freed to wrong pool' error reported by Eli Zaretskii.
373
374 2016-01-01 Eli Zaretskii <eliz@gnu.org>
375
376 * tp/Texinfo/Convert/XSParagraph/xspara.c (mbrtowc): Don't try to
377 convert more bytes than a single UTF-8 sequence at the beginning
378 of the argument string: otherwise MultiByteToWideChar fails.
379
380 2016-01-01 Karl Berry <karl@gnu.org>
381
382 * makeinfo/README,
383 * tp/Texinfo/Convert/Converter.pm,
384 * util/dir-example,
385 * build-aux/texinfo.tex: sync.
386
387 * info/dir.c,
388 * info/echo-area.h,
389 * info/filesys.c,
390 * info/indices.c,
391 * info/indices.h,
392 * info/info-utils.h,
393 * info/infodoc.c,
394 * info/infomap.c,
395 * info/nodemenu.c,
396 * info/search.c,
397 * info/search.h,
398 * info/session.h,
399 * info/termdep.h,
400 * info/window.h,
401 * system.h,
402
403 * Pod-Simple-Texinfo/pod2texi.pl,
404 * doc/refcard/txirefcard.tex,
405 * doc/texinfo.texi,
406 * info/info.c,
407 * install-info/install-info.c,
408 * texindex/ti.twjr,
409 * tp/maintain/regenerate_cmd_tests.sh,
410 * tp/maintain/regenerate_docstr.sh,
411 * tp/maintain/regenerate_file_lists.pl,
412 * tp/maintain/template.pod,
413 * tp/texi2any.pl,
414 * util/pdftexi2dvi,
415 * util/texi-elements-by-size,
416 * util/texi2dvi,
417 * util/texi2pdf,
418 * util/texindex.bat: 2016.
419
420 2016-01-01 Gavin Smith <gavinsmith0123@gmail.com>
421
422 * tp/Texinfo/Convert/XSParagraph/Makefile.am: Remove out-of-date
423 comment at start of file and add copyright notice.
424 * tp/Texinfo/Convert/XSParagraph/configure.ac: Add copyright
425 notice.
426
427 2016-01-01 Gavin Smith <gavinsmith0123@gmail.com>
428
429 * tp/Texinfo/Convert/XSParagraph/Makefile.am
430 (XSParagraph_la_LDFLAGS, TestXS_la_LDFLAGS): Add -no-undefined flag,
431 for MS-Windows. Report from Eli Zaretskii.
432
433 2016-01-01 Gavin Smith <gavinsmith0123@gmail.com>
434
435 * tp/Texinfo/Convert/XSParagraph/xspara.c (xspara_add_text)
436 (xspara__add_next): Supply third argument to mbrtowc to say how
437 many bytes are left. Same for second argument to mbrlen.
438 Suggestion from Eli Zaretskii.
439
440 2016-01-01 Gavin Smith <gavinsmith0123@gmail.com>
441
442 * tp/tests/run_parser_all.sh: Remove TEXINFO_XS=omit line.
443 * tp/tests/coverage/tests-parser.txt: Skip
444 formatting_utf8_enable_encoding test.
445
446 2015-12-30 Gavin Smith <gavinsmith0123@gmail.com>
447
448 * tp/tests/run_parser_all.sh: Set TEXINFO_XS=omit to avoid failure
449 in test_scripts/coverage_formatting_utf8_enable_encoding.sh.
450
0451 2015-12-27 Gavin Smith <gavinsmith0123@gmail.com>
1452
2453 * pretest 6.0.91.
1729317744 * doc/texinfo.tex (\initial): when breaking the column before the
1729417745 initial, allow for some space at the bottom of the column, so
1729517746 the baselineskip is preserved (more or less).
17296 Don't give negative penalty, it encouradges creating of underfull
17747 Don't give negative penalty, it encourages creating of underfull
1729717748 columns with stretched baselineskip.
1729817749 At the end, the \nobreak should be before \vskip, not after it.
1729917750
2186522316
2186622317
2186722318 Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
21868 2013, 2014, 2015
22319 2013, 2014, 2015, 2016
2186922320 Free Software Foundation, Inc.
2187022321
2187122322 Copying and distribution of this file, with or without modification,
0 $Id: INSTALL 6124 2015-02-13 20:22:54Z gavin $
0 $Id: INSTALL 6918 2016-01-03 21:27:43Z gavin $
11 INSTALL file for texinfo.
22
33 Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
44 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010, 2011, 2013, 2014,
5 2015
5 2015, 2016
66 Free Software Foundation, Inc.
77
88 Copying and distribution of this file, with or without modification,
2727 For that, run configure --disable-install-warnings, or set
2828 enable_install_warnings=no in the environment.
2929
30 * The `makeinfo' program is a Perl program that can use extension
31 modules, known as XS modules. The configure script will attempt to
32 detect whether such modules can be built and loaded on your
33 installation. If you want to disable the use of XS modules, you can
34 give the --disable-perl-xs flag to `configure'; likewise, to use them
35 without checking, give the --enable-perl-xs flag. Some of the
36 environment variables listed in the output of `./configure --help' may
37 be of use for building the XS modules.
38 After building the program, the use of XS modules can be
39 controlled with the `TEXINFO_XS' environment variable, which may be
40 useful for troubleshooting. Set TEXINFO_XS=debug to print some
41 information as the modules are looked for and loaded, TEXINFO=omit to
42 disable their use, and TEXINFO_XS=required to force their use.
43
3044 * For instructions on compiling this distribution with DJGPP tools
3145 for MS-DOS and MS-Windows, see the file djgpp/README.
3246
0 # $Id: Makefile.am 6305 2015-06-03 22:29:56Z karl $
0 # $Id: Makefile.am 6989 2016-02-06 10:38:22Z gavin $
11 # Makefile.am for texinfo.
22 # Process this file with automake to produce Makefile.in in all directories.
33 #
44 # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
5 # 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
5 # 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
66 #
77 # This file is free software; as a special exception the author gives
88 # unlimited permission to copy and/or distribute it, with or without
1313
1414 @SET_MAKE@
1515
16 # $Id: Makefile.am 6305 2015-06-03 22:29:56Z karl $
16 # $Id: Makefile.am 6989 2016-02-06 10:38:22Z gavin $
1717 # Makefile.am for texinfo.
1818 # Process this file with automake to produce Makefile.in in all directories.
1919 #
2020 # Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
21 # 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
21 # 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
2222 #
2323 # This file is free software; as a special exception the author gives
2424 # unlimited permission to copy and/or distribute it, with or without
127127 $(top_srcdir)/gnulib/m4/extensions.m4 \
128128 $(top_srcdir)/gnulib/m4/extern-inline.m4 \
129129 $(top_srcdir)/gnulib/m4/fcntl-o.m4 \
130 $(top_srcdir)/gnulib/m4/fcntl_h.m4 \
131130 $(top_srcdir)/gnulib/m4/float_h.m4 \
132131 $(top_srcdir)/gnulib/m4/getopt.m4 \
133132 $(top_srcdir)/gnulib/m4/gettext.m4 \
134 $(top_srcdir)/gnulib/m4/gettimeofday.m4 \
135133 $(top_srcdir)/gnulib/m4/glibc21.m4 \
136134 $(top_srcdir)/gnulib/m4/gnulib-common.m4 \
137135 $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
142140 $(top_srcdir)/gnulib/m4/inttypes_h.m4 \
143141 $(top_srcdir)/gnulib/m4/iswblank.m4 \
144142 $(top_srcdir)/gnulib/m4/langinfo_h.m4 \
145 $(top_srcdir)/gnulib/m4/largefile.m4 \
146143 $(top_srcdir)/gnulib/m4/lib-ld.m4 \
147144 $(top_srcdir)/gnulib/m4/lib-link.m4 \
148145 $(top_srcdir)/gnulib/m4/lib-prefix.m4 \
155152 $(top_srcdir)/gnulib/m4/localeconv.m4 \
156153 $(top_srcdir)/gnulib/m4/lock.m4 \
157154 $(top_srcdir)/gnulib/m4/longlong.m4 \
158 $(top_srcdir)/gnulib/m4/lstat.m4 \
159155 $(top_srcdir)/gnulib/m4/malloc.m4 \
160156 $(top_srcdir)/gnulib/m4/malloca.m4 \
161157 $(top_srcdir)/gnulib/m4/mbchar.m4 \
167163 $(top_srcdir)/gnulib/m4/mbswidth.m4 \
168164 $(top_srcdir)/gnulib/m4/mbtowc.m4 \
169165 $(top_srcdir)/gnulib/m4/memchr.m4 \
170 $(top_srcdir)/gnulib/m4/memmem.m4 \
171166 $(top_srcdir)/gnulib/m4/mempcpy.m4 \
172167 $(top_srcdir)/gnulib/m4/memrchr.m4 \
173 $(top_srcdir)/gnulib/m4/mkstemp.m4 \
174168 $(top_srcdir)/gnulib/m4/mmap-anon.m4 \
175169 $(top_srcdir)/gnulib/m4/msvc-inval.m4 \
176170 $(top_srcdir)/gnulib/m4/msvc-nothrow.m4 \
180174 $(top_srcdir)/gnulib/m4/nocrash.m4 \
181175 $(top_srcdir)/gnulib/m4/off_t.m4 \
182176 $(top_srcdir)/gnulib/m4/onceonly.m4 \
183 $(top_srcdir)/gnulib/m4/pathmax.m4 \
184177 $(top_srcdir)/gnulib/m4/po.m4 \
185178 $(top_srcdir)/gnulib/m4/printf.m4 \
186179 $(top_srcdir)/gnulib/m4/progtest.m4 \
187180 $(top_srcdir)/gnulib/m4/regex.m4 \
188 $(top_srcdir)/gnulib/m4/secure_getenv.m4 \
189181 $(top_srcdir)/gnulib/m4/size_max.m4 \
190182 $(top_srcdir)/gnulib/m4/ssize_t.m4 \
191 $(top_srcdir)/gnulib/m4/stat.m4 \
192183 $(top_srcdir)/gnulib/m4/stdarg.m4 \
193184 $(top_srcdir)/gnulib/m4/stdbool.m4 \
194185 $(top_srcdir)/gnulib/m4/stddef_h.m4 \
207198 $(top_srcdir)/gnulib/m4/strnlen.m4 \
208199 $(top_srcdir)/gnulib/m4/strstr.m4 \
209200 $(top_srcdir)/gnulib/m4/sys_socket_h.m4 \
210 $(top_srcdir)/gnulib/m4/sys_stat_h.m4 \
211 $(top_srcdir)/gnulib/m4/sys_time_h.m4 \
212201 $(top_srcdir)/gnulib/m4/sys_types_h.m4 \
213 $(top_srcdir)/gnulib/m4/tempname.m4 \
214202 $(top_srcdir)/gnulib/m4/threadlib.m4 \
215 $(top_srcdir)/gnulib/m4/time_h.m4 \
216203 $(top_srcdir)/gnulib/m4/unistd_h.m4 \
217204 $(top_srcdir)/gnulib/m4/vasnprintf.m4 \
218205 $(top_srcdir)/gnulib/m4/vasprintf.m4 \
302289 $(top_srcdir)/build-aux/missing \
303290 $(top_srcdir)/build-aux/tap-driver.sh \
304291 $(top_srcdir)/tp/Texinfo/ModulePath.pm.in ABOUT-NLS AUTHORS \
305 COPYING ChangeLog INSTALL NEWS README README-alpha TODO \
306 build-aux/ar-lib build-aux/compile build-aux/config.guess \
292 COPYING ChangeLog INSTALL NEWS README TODO build-aux/ar-lib \
293 build-aux/compile build-aux/config.guess \
307294 build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
308295 build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \
309296 build-aux/missing build-aux/texinfo.tex
412399 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
413400 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
414401 GNULIB_FCHDIR = @GNULIB_FCHDIR@
415 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
416402 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
417403 GNULIB_FCLOSE = @GNULIB_FCLOSE@
418 GNULIB_FCNTL = @GNULIB_FCNTL@
419404 GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
420405 GNULIB_FDOPEN = @GNULIB_FDOPEN@
421406 GNULIB_FFLUSH = @GNULIB_FFLUSH@
435420 GNULIB_FSCANF = @GNULIB_FSCANF@
436421 GNULIB_FSEEK = @GNULIB_FSEEK@
437422 GNULIB_FSEEKO = @GNULIB_FSEEKO@
438 GNULIB_FSTAT = @GNULIB_FSTAT@
439 GNULIB_FSTATAT = @GNULIB_FSTATAT@
440423 GNULIB_FSYNC = @GNULIB_FSYNC@
441424 GNULIB_FTELL = @GNULIB_FTELL@
442425 GNULIB_FTELLO = @GNULIB_FTELLO@
443426 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
444 GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
445427 GNULIB_FWRITE = @GNULIB_FWRITE@
446428 GNULIB_GETC = @GNULIB_GETC@
447429 GNULIB_GETCHAR = @GNULIB_GETCHAR@
457439 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
458440 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
459441 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
460 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
461442 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
462443 GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
463444 GNULIB_GRANTPT = @GNULIB_GRANTPT@
465446 GNULIB_ISATTY = @GNULIB_ISATTY@
466447 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
467448 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
468 GNULIB_LCHMOD = @GNULIB_LCHMOD@
469449 GNULIB_LCHOWN = @GNULIB_LCHOWN@
470450 GNULIB_LINK = @GNULIB_LINK@
471451 GNULIB_LINKAT = @GNULIB_LINKAT@
472452 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
473453 GNULIB_LSEEK = @GNULIB_LSEEK@
474 GNULIB_LSTAT = @GNULIB_LSTAT@
475454 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
476455 GNULIB_MBRLEN = @GNULIB_MBRLEN@
477456 GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
497476 GNULIB_MEMMEM = @GNULIB_MEMMEM@
498477 GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
499478 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
500 GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
501479 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
502 GNULIB_MKFIFO = @GNULIB_MKFIFO@
503 GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
504 GNULIB_MKNOD = @GNULIB_MKNOD@
505 GNULIB_MKNODAT = @GNULIB_MKNODAT@
506480 GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
507481 GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
508482 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
509483 GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
510 GNULIB_MKTIME = @GNULIB_MKTIME@
511 GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
512484 GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
513 GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
514485 GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
515486 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
516 GNULIB_OPEN = @GNULIB_OPEN@
517 GNULIB_OPENAT = @GNULIB_OPENAT@
518487 GNULIB_PCLOSE = @GNULIB_PCLOSE@
519488 GNULIB_PERROR = @GNULIB_PERROR@
520489 GNULIB_PIPE = @GNULIB_PIPE@
553522 GNULIB_SLEEP = @GNULIB_SLEEP@
554523 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
555524 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
556 GNULIB_STAT = @GNULIB_STAT@
557525 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
558526 GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
559527 GNULIB_STPCPY = @GNULIB_STPCPY@
567535 GNULIB_STRNDUP = @GNULIB_STRNDUP@
568536 GNULIB_STRNLEN = @GNULIB_STRNLEN@
569537 GNULIB_STRPBRK = @GNULIB_STRPBRK@
570 GNULIB_STRPTIME = @GNULIB_STRPTIME@
571538 GNULIB_STRSEP = @GNULIB_STRSEP@
572539 GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
573540 GNULIB_STRSTR = @GNULIB_STRSTR@
579546 GNULIB_SYMLINK = @GNULIB_SYMLINK@
580547 GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
581548 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
582 GNULIB_TIMEGM = @GNULIB_TIMEGM@
583 GNULIB_TIME_R = @GNULIB_TIME_R@
584 GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
585549 GNULIB_TMPFILE = @GNULIB_TMPFILE@
586550 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
587551 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
592556 GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
593557 GNULIB_UNSETENV = @GNULIB_UNSETENV@
594558 GNULIB_USLEEP = @GNULIB_USLEEP@
595 GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
596559 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
597560 GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
598561 GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
659622 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
660623 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
661624 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
662 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
663625 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
664626 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
665627 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
685647 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
686648 HAVE_FACCESSAT = @HAVE_FACCESSAT@
687649 HAVE_FCHDIR = @HAVE_FCHDIR@
688 HAVE_FCHMODAT = @HAVE_FCHMODAT@
689650 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
690 HAVE_FCNTL = @HAVE_FCNTL@
691651 HAVE_FDATASYNC = @HAVE_FDATASYNC@
692652 HAVE_FEATURES_H = @HAVE_FEATURES_H@
693653 HAVE_FFS = @HAVE_FFS@
694654 HAVE_FFSL = @HAVE_FFSL@
695655 HAVE_FFSLL = @HAVE_FFSLL@
696656 HAVE_FSEEKO = @HAVE_FSEEKO@
697 HAVE_FSTATAT = @HAVE_FSTATAT@
698657 HAVE_FSYNC = @HAVE_FSYNC@
699658 HAVE_FTELLO = @HAVE_FTELLO@
700659 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
701 HAVE_FUTIMENS = @HAVE_FUTIMENS@
702660 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
703661 HAVE_GETGROUPS = @HAVE_GETGROUPS@
704662 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
706664 HAVE_GETOPT_H = @HAVE_GETOPT_H@
707665 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
708666 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
709 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
710667 HAVE_GRANTPT = @HAVE_GRANTPT@
711668 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
712669 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
717674 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
718675 HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
719676 HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
720 HAVE_LCHMOD = @HAVE_LCHMOD@
721677 HAVE_LCHOWN = @HAVE_LCHOWN@
722678 HAVE_LINK = @HAVE_LINK@
723679 HAVE_LINKAT = @HAVE_LINKAT@
724680 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
725 HAVE_LSTAT = @HAVE_LSTAT@
726681 HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
727682 HAVE_MBRLEN = @HAVE_MBRLEN@
728683 HAVE_MBRTOWC = @HAVE_MBRTOWC@
732687 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
733688 HAVE_MEMCHR = @HAVE_MEMCHR@
734689 HAVE_MEMPCPY = @HAVE_MEMPCPY@
735 HAVE_MKDIRAT = @HAVE_MKDIRAT@
736690 HAVE_MKDTEMP = @HAVE_MKDTEMP@
737 HAVE_MKFIFO = @HAVE_MKFIFO@
738 HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
739 HAVE_MKNOD = @HAVE_MKNOD@
740 HAVE_MKNODAT = @HAVE_MKNODAT@
741691 HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
742692 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
743693 HAVE_MKSTEMP = @HAVE_MKSTEMP@
744694 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
745695 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
746 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
747696 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
748 HAVE_OPENAT = @HAVE_OPENAT@
749697 HAVE_OS_H = @HAVE_OS_H@
750698 HAVE_PCLOSE = @HAVE_PCLOSE@
751699 HAVE_PIPE = @HAVE_PIPE@
780728 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
781729 HAVE_STRINGS_H = @HAVE_STRINGS_H@
782730 HAVE_STRPBRK = @HAVE_STRPBRK@
783 HAVE_STRPTIME = @HAVE_STRPTIME@
784731 HAVE_STRSEP = @HAVE_STRSEP@
785732 HAVE_STRTOD = @HAVE_STRTOD@
786733 HAVE_STRTOLL = @HAVE_STRTOLL@
787734 HAVE_STRTOULL = @HAVE_STRTOULL@
788735 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
789 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
790736 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
791737 HAVE_SYMLINK = @HAVE_SYMLINK@
792738 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
794740 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
795741 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
796742 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
797 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
798743 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
799 HAVE_TIMEGM = @HAVE_TIMEGM@
800 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
801744 HAVE_UNISTD_H = @HAVE_UNISTD_H@
802745 HAVE_UNLINKAT = @HAVE_UNLINKAT@
803746 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
804747 HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
805748 HAVE_USLEEP = @HAVE_USLEEP@
806 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
807749 HAVE_VASPRINTF = @HAVE_VASPRINTF@
808750 HAVE_VDPRINTF = @HAVE_VDPRINTF@
809751 HAVE_WCHAR_H = @HAVE_WCHAR_H@
889831 MSGFMT_015 = @MSGFMT_015@
890832 MSGMERGE = @MSGMERGE@
891833 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
892 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
893834 NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
894835 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
895836 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
901842 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
902843 NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
903844 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
904 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
905 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
906845 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
907 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
908846 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
909847 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
910848 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
911849 NEXT_ERRNO_H = @NEXT_ERRNO_H@
912 NEXT_FCNTL_H = @NEXT_FCNTL_H@
913850 NEXT_FLOAT_H = @NEXT_FLOAT_H@
914851 NEXT_GETOPT_H = @NEXT_GETOPT_H@
915852 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
921858 NEXT_STDLIB_H = @NEXT_STDLIB_H@
922859 NEXT_STRINGS_H = @NEXT_STRINGS_H@
923860 NEXT_STRING_H = @NEXT_STRING_H@
924 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
925 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
926861 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
927 NEXT_TIME_H = @NEXT_TIME_H@
928862 NEXT_UNISTD_H = @NEXT_UNISTD_H@
929863 NEXT_WCHAR_H = @NEXT_WCHAR_H@
930864 NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
946880 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
947881 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
948882 PROVE = @PROVE@
949 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
950883 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
951884 RANLIB = @RANLIB@
952885 REPLACE_BTOWC = @REPLACE_BTOWC@
960893 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
961894 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
962895 REPLACE_FCLOSE = @REPLACE_FCLOSE@
963 REPLACE_FCNTL = @REPLACE_FCNTL@
964896 REPLACE_FDOPEN = @REPLACE_FDOPEN@
965897 REPLACE_FFLUSH = @REPLACE_FFLUSH@
966898 REPLACE_FOPEN = @REPLACE_FOPEN@
969901 REPLACE_FREOPEN = @REPLACE_FREOPEN@
970902 REPLACE_FSEEK = @REPLACE_FSEEK@
971903 REPLACE_FSEEKO = @REPLACE_FSEEKO@
972 REPLACE_FSTAT = @REPLACE_FSTAT@
973 REPLACE_FSTATAT = @REPLACE_FSTATAT@
974904 REPLACE_FTELL = @REPLACE_FTELL@
975905 REPLACE_FTELLO = @REPLACE_FTELLO@
976906 REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
977 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
978907 REPLACE_GETCWD = @REPLACE_GETCWD@
979908 REPLACE_GETDELIM = @REPLACE_GETDELIM@
980909 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
983912 REPLACE_GETLINE = @REPLACE_GETLINE@
984913 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
985914 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
986 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
987 REPLACE_GMTIME = @REPLACE_GMTIME@
988915 REPLACE_ISATTY = @REPLACE_ISATTY@
989916 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
990917 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
993920 REPLACE_LINK = @REPLACE_LINK@
994921 REPLACE_LINKAT = @REPLACE_LINKAT@
995922 REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
996 REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
997 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
998923 REPLACE_LSEEK = @REPLACE_LSEEK@
999 REPLACE_LSTAT = @REPLACE_LSTAT@
1000924 REPLACE_MALLOC = @REPLACE_MALLOC@
1001925 REPLACE_MBRLEN = @REPLACE_MBRLEN@
1002926 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
1007931 REPLACE_MBTOWC = @REPLACE_MBTOWC@
1008932 REPLACE_MEMCHR = @REPLACE_MEMCHR@
1009933 REPLACE_MEMMEM = @REPLACE_MEMMEM@
1010 REPLACE_MKDIR = @REPLACE_MKDIR@
1011 REPLACE_MKFIFO = @REPLACE_MKFIFO@
1012 REPLACE_MKNOD = @REPLACE_MKNOD@
1013934 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
1014 REPLACE_MKTIME = @REPLACE_MKTIME@
1015 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
1016935 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
1017936 REPLACE_NULL = @REPLACE_NULL@
1018937 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
1019 REPLACE_OPEN = @REPLACE_OPEN@
1020 REPLACE_OPENAT = @REPLACE_OPENAT@
1021938 REPLACE_PERROR = @REPLACE_PERROR@
1022939 REPLACE_POPEN = @REPLACE_POPEN@
1023940 REPLACE_PREAD = @REPLACE_PREAD@
1042959 REPLACE_SLEEP = @REPLACE_SLEEP@
1043960 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
1044961 REPLACE_SPRINTF = @REPLACE_SPRINTF@
1045 REPLACE_STAT = @REPLACE_STAT@
1046962 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
1047963 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
1048964 REPLACE_STPNCPY = @REPLACE_STPNCPY@
1059975 REPLACE_STRTOD = @REPLACE_STRTOD@
1060976 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
1061977 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
1062 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
1063978 REPLACE_SYMLINK = @REPLACE_SYMLINK@
1064979 REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
1065 REPLACE_TIMEGM = @REPLACE_TIMEGM@
1066980 REPLACE_TMPFILE = @REPLACE_TMPFILE@
1067981 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
1068982 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
1070984 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
1071985 REPLACE_UNSETENV = @REPLACE_UNSETENV@
1072986 REPLACE_USLEEP = @REPLACE_USLEEP@
1073 REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
1074987 REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
1075988 REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
1076989 REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
10951008 STDDEF_H = @STDDEF_H@
10961009 STDINT_H = @STDINT_H@
10971010 STRIP = @STRIP@
1098 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
10991011 TERMLIBS = @TERMLIBS@
11001012 TEXINFO_DTD_VERSION = @TEXINFO_DTD_VERSION@
1101 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
11021013 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
1103 UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
11041014 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
11051015 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
11061016 USE_EXTERNAL_EASTASIANWIDTH = @USE_EXTERNAL_EASTASIANWIDTH@
11111021 VERSION = @VERSION@
11121022 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
11131023 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
1114 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
11151024 WINT_T_SUFFIX = @WINT_T_SUFFIX@
11161025 XGETTEXT = @XGETTEXT@
11171026 XGETTEXT_015 = @XGETTEXT_015@
+64
-60
NEWS less more
0 $Id: NEWS 6882 2015-12-20 12:57:21Z gavin $
0 $Id: NEWS 6991 2016-02-06 12:16:13Z gavin $
11 This NEWS file records noteworthy changes, very tersely.
22 See the manual for detailed information.
33
44 Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
55 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
6 2013, 2014, 2015 Free Software Foundation, Inc.
6 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
77
88 Copying and distribution of this file, with or without modification,
99 are permitted in any medium without royalty provided the copyright
1010 notice and this notice are preserved.
1111
12 *** NEWS FOR ALL AUTHORS OF TEXINFO MANUALS ***
13
14 As of version 4.2, Texinfo has a command @copying to define the
15 copyright and copying permissions for a manual. If you haven't already,
16 please switch to using it in your next release, because the historical
17 method of doing copyright permissions using @ifinfo failed to output
18 copyright information in the HTML (or XML) formats. The manual has
19 detailed explanations and examples. For convenience, here's a url to
20 one of the relevant sections:
21 http://www.gnu.org/software/texinfo/manual/texinfo/html_node/Document-Permissions.html
22
2312 -------------------------------------------------------------------------------
24 * Language:
25 . You can now optionally miss out the @menu from nodes with other
26 nodes below them in the document structure. If you use
27 "@validatemenus off" near the start of a Texinfo file,
28 makeinfo will, where needed, create a menu for nodes lacking one
29 given explicitly.
13 6.1 (06 February 2016)
14
15 * Language:
16 . You can now omit the @menu from nodes with other nodes below them in
17 the document structure. If you use "@validatemenus off" near the
18 start of a Texinfo file, makeinfo will, where needed, create a menu
19 for nodes lacking one given explicitly.
3020 . An @setfilename line is no longer required at the start of a
3121 Texinfo file. (Be aware, though, that some other tools may require
3222 it, for example Automake.)
3323 . For processing with TeX, a comma is automatically provided following
34 a @ref command when needed to separate the page number from
35 following text, so you don't need to add one yourself. This gives
36 you the choice of whether to have a comma there in Info or HTML
37 output. For example "@xref{Another Section} for more information"
38 produces "See Another Section, page NN, for more information" in the
39 printed output, and "*Note Another Section:: for more information"
40 in the Info output.
24 a cross-reference command (such as @xref) when needed to separate
25 the page number from following text, so you don't need to add one
26 yourself. See the `Parts of a Cross Reference' node in the manual
27 for details. Behavior when followed by punctuation, as always
28 recommended previously, is unchanged.
29
30 * texi2any:
31 . Some Perl modules have been rewritten in C to increase speed.
32 If Perl extensions can be created, they are used by default;
33 otherwise the pure Perl implementations are still used.
34 Disable at build time with "configure --disable-perl-xs". The
35 environment variable TEXINFO_XS controls how they are used by
36 texi2any.
37 . Quotation marks are left out for node names and index entries in
38 Info output where they would have been produced by commands such
39 as @file or @option.
40 . New customization variable INFO_SPECIAL_CHARS_QUOTE to allow use of
41 a quoting mechanism for problematic constructs in Info output, for
42 example node names containing colons or commas.
43 . Commands like @heading are affected by @lowersections and @raisesections
44 again, as was the case before Texinfo 5.0.
4145
4246 * texinfo.tex:
43 . You may explicity specify a sort key for an index entry by preceding
47 . You may explicitly specify a sort key for an index entry by preceding
4448 the text of the entry with the @sortas commmand with the sort key
4549 desired as a braced argument. Additionally, you may choose to
4650 ignore all occurences of the characters \, @, <, and - using new
5660 . The default indices (cp, ky and so on) now don't get a file opened
5761 for them unless they are actually used. This reduces the number of
5862 files that a run of TeX produces, and also allows for a greater
59 number of user-defined indices, as you will not bump into TeX's limit
60 of 16 open files at once so soon.
63 number of user-defined indices, because you will not bump into TeX's
64 limit of 16 open files at once so soon.
6165 . For initials in indices that are non-alphanumeric characters (for
6266 example, backslash, or braces), avoid use of a typewriter font.
6367 This gives a more consistent appearance.
6771 can extend slightly into the margin instead of being broken across
6872 two lines, and text is split more evenly across lines. Reduce
6973 chance of an orphaned index entry appearing at the top of a column.
70
71 * texi2dvi
72 . Support of getting output files using the `-recorder' option to TeX,
73 to try to support more TeX engines.
74
75 * makeinfo
76 . Some Perl modules have been rewritten in C to increase speed.
77 Disable at build time with "configure --disable-perl-xs". The
78 environment variable `TEXINFO_XS' controls how they are used by
79 makeinfo.
80 . Quotation marks are left out for node names and index entries in
81 Info output where they would have been produced by commands such
82 as @file or @option.
83 . New customization variable INFO_SPECIAL_CHARS_QUOTE to allow use of
84 a quoting mechanism for problematic constructs in Info output, for
85 example node names containing colons or commas.
86 . Commands like @heading are affected by @lowersections and @raisesections
87 again, as was the case before Texinfo 5.0.
88
89 * info
74 . Support character encodings beyond ASCII for XeTeX and LuaTeX by
75 reading file input byte-by-byte.
76
77 * texi2dvi:
78 . Support for determining the output files using the `-recorder'
79 option to TeX, to help to support more TeX engines.
80
81 * info:
9082 . New user variables `link-style', `active-link-style', and
9183 `match-style' enable customization of how cross-references and search
9284 matches are highlighted.
9385 . By default only the node pointers are displayed at the top of a node.
9486 Customize this with the `nodeline' variable.
95 . New command M-x tree-search to search all subnodes of a node
87 . New command M-x tree-search to search all subnodes of a node.
9688 . Now tries to find referenced manuals in the same directory as the
9789 current file first, before looking in search path. Customize this
9890 with new variable `follow-strategy'.
111103 is 0. This value meant to wait forever in the last release, but now
112104 it means that the next byte must be available immediately.
113105
114 * Miscellaneous
115 . The `info.info' file is no longer distributed with Texinfo.
116
117 * Distribution:
118 . automake-1.15, gettext-0.19.6
106 * Documentation:
107 . The `info.info' file (and `info.texi' source) is no longer
108 distributed with Texinfo. Now this manual is only in Emacs.
109
110 * Distribution:
111 . automake-1.15, gettext-0.19.6.
119112
120113
121114 6.0 (26 June 2015)
731724 . gettext 0.11.5, autoconf 2.54, automake 1.7.1.
732725
733726
727 *** NEWS FOR ALL AUTHORS OF TEXINFO MANUALS ***
728
729 As of version 4.2, Texinfo has a command @copying to define the
730 copyright and copying permissions for a manual. If you haven't already,
731 please switch to using it in your next release, because the historical
732 method of doing copyright permissions using @ifinfo failed to output
733 copyright information in the HTML (or XML) formats. The manual has
734 detailed explanations and examples. For convenience, here's a url to
735 one of the relevant sections:
736 http://www.gnu.org/software/texinfo/manual/texinfo/html_node/Document-Permissions.html
737
734738 4.2 (1 April 2002)
735739 * Language:
736740 . new command @copying to define copying permissions. See above.
10751079 * Cleaner built in documentation, and documentation functions.
10761080
10771081 Use:
1078 o `M-x describe-variable' to read a variable's documenation
1082 o `M-x describe-variable' to read a variable's documentation
10791083 o `M-x describe-key' to find out what a particular keystroke does.
10801084 o `M-x describe-function' to read a function's documentation.
10811085 o `M-x where-is' to find out what keys invoke a particular function.
11311135 * When scrolling with C-v, C-M-v, or M-v, only "Page Only" scrolling
11321136 will happen.
11331137
1134 * Continous scrolling (along with `]' (info-global-next) and `['
1138 * Continuous scrolling (along with `]' (info-global-next) and `['
11351139 (info-global-prev) works better. `]' and `[' accept numeric
11361140 arguments, moving that many nodes in that case.
11371141
11641168 "Next Only" causes the Next or Prev node to
11651169 be selected when you scroll past the bottom
11661170 or top of a node. "Continous" moves
1167 linearly through the files hierchichal
1171 linearly through the files hierarchical
11681172 structure.
11691173
11701174 `scroll-step' 0 Controls how scrolling is done for you when
11921196 * "configure" script now shipped with Info.
11931197 * New function "set-variable" allows users to set various variables.
11941198 * User-settable behaviour on end or beginning of node scrolling. This
1195 supercedes the SPC and DEL changes in 2.3 beta.
1199 supersedes the SPC and DEL changes in 2.3 beta.
11961200
11971201 ________________________________________
11981202 This release of Info is version 2.4 beta.
12151219 * Screen height changes made quite robust.
12161220 * Interactive function "set-screen-height" implements user height changes.
12171221 * Scrolling on some terminals is faster now.
1218 * C-l with numeric arguement is fixed.
1222 * C-l with numeric argument is fixed.
12191223
12201224 ----------------------------------------
12211225 This release of Info is version 2.2 beta.
115115 $(top_srcdir)/gnulib/m4/extensions.m4 \
116116 $(top_srcdir)/gnulib/m4/extern-inline.m4 \
117117 $(top_srcdir)/gnulib/m4/fcntl-o.m4 \
118 $(top_srcdir)/gnulib/m4/fcntl_h.m4 \
119118 $(top_srcdir)/gnulib/m4/float_h.m4 \
120119 $(top_srcdir)/gnulib/m4/getopt.m4 \
121120 $(top_srcdir)/gnulib/m4/gettext.m4 \
122 $(top_srcdir)/gnulib/m4/gettimeofday.m4 \
123121 $(top_srcdir)/gnulib/m4/glibc21.m4 \
124122 $(top_srcdir)/gnulib/m4/gnulib-common.m4 \
125123 $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
130128 $(top_srcdir)/gnulib/m4/inttypes_h.m4 \
131129 $(top_srcdir)/gnulib/m4/iswblank.m4 \
132130 $(top_srcdir)/gnulib/m4/langinfo_h.m4 \
133 $(top_srcdir)/gnulib/m4/largefile.m4 \
134131 $(top_srcdir)/gnulib/m4/lib-ld.m4 \
135132 $(top_srcdir)/gnulib/m4/lib-link.m4 \
136133 $(top_srcdir)/gnulib/m4/lib-prefix.m4 \
143140 $(top_srcdir)/gnulib/m4/localeconv.m4 \
144141 $(top_srcdir)/gnulib/m4/lock.m4 \
145142 $(top_srcdir)/gnulib/m4/longlong.m4 \
146 $(top_srcdir)/gnulib/m4/lstat.m4 \
147143 $(top_srcdir)/gnulib/m4/malloc.m4 \
148144 $(top_srcdir)/gnulib/m4/malloca.m4 \
149145 $(top_srcdir)/gnulib/m4/mbchar.m4 \
155151 $(top_srcdir)/gnulib/m4/mbswidth.m4 \
156152 $(top_srcdir)/gnulib/m4/mbtowc.m4 \
157153 $(top_srcdir)/gnulib/m4/memchr.m4 \
158 $(top_srcdir)/gnulib/m4/memmem.m4 \
159154 $(top_srcdir)/gnulib/m4/mempcpy.m4 \
160155 $(top_srcdir)/gnulib/m4/memrchr.m4 \
161 $(top_srcdir)/gnulib/m4/mkstemp.m4 \
162156 $(top_srcdir)/gnulib/m4/mmap-anon.m4 \
163157 $(top_srcdir)/gnulib/m4/msvc-inval.m4 \
164158 $(top_srcdir)/gnulib/m4/msvc-nothrow.m4 \
168162 $(top_srcdir)/gnulib/m4/nocrash.m4 \
169163 $(top_srcdir)/gnulib/m4/off_t.m4 \
170164 $(top_srcdir)/gnulib/m4/onceonly.m4 \
171 $(top_srcdir)/gnulib/m4/pathmax.m4 \
172165 $(top_srcdir)/gnulib/m4/po.m4 \
173166 $(top_srcdir)/gnulib/m4/printf.m4 \
174167 $(top_srcdir)/gnulib/m4/progtest.m4 \
175168 $(top_srcdir)/gnulib/m4/regex.m4 \
176 $(top_srcdir)/gnulib/m4/secure_getenv.m4 \
177169 $(top_srcdir)/gnulib/m4/size_max.m4 \
178170 $(top_srcdir)/gnulib/m4/ssize_t.m4 \
179 $(top_srcdir)/gnulib/m4/stat.m4 \
180171 $(top_srcdir)/gnulib/m4/stdarg.m4 \
181172 $(top_srcdir)/gnulib/m4/stdbool.m4 \
182173 $(top_srcdir)/gnulib/m4/stddef_h.m4 \
195186 $(top_srcdir)/gnulib/m4/strnlen.m4 \
196187 $(top_srcdir)/gnulib/m4/strstr.m4 \
197188 $(top_srcdir)/gnulib/m4/sys_socket_h.m4 \
198 $(top_srcdir)/gnulib/m4/sys_stat_h.m4 \
199 $(top_srcdir)/gnulib/m4/sys_time_h.m4 \
200189 $(top_srcdir)/gnulib/m4/sys_types_h.m4 \
201 $(top_srcdir)/gnulib/m4/tempname.m4 \
202190 $(top_srcdir)/gnulib/m4/threadlib.m4 \
203 $(top_srcdir)/gnulib/m4/time_h.m4 \
204191 $(top_srcdir)/gnulib/m4/unistd_h.m4 \
205192 $(top_srcdir)/gnulib/m4/vasnprintf.m4 \
206193 $(top_srcdir)/gnulib/m4/vasprintf.m4 \
514501 GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
515502 GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
516503 GNULIB_FCHDIR = @GNULIB_FCHDIR@
517 GNULIB_FCHMODAT = @GNULIB_FCHMODAT@
518504 GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
519505 GNULIB_FCLOSE = @GNULIB_FCLOSE@
520 GNULIB_FCNTL = @GNULIB_FCNTL@
521506 GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
522507 GNULIB_FDOPEN = @GNULIB_FDOPEN@
523508 GNULIB_FFLUSH = @GNULIB_FFLUSH@
537522 GNULIB_FSCANF = @GNULIB_FSCANF@
538523 GNULIB_FSEEK = @GNULIB_FSEEK@
539524 GNULIB_FSEEKO = @GNULIB_FSEEKO@
540 GNULIB_FSTAT = @GNULIB_FSTAT@
541 GNULIB_FSTATAT = @GNULIB_FSTATAT@
542525 GNULIB_FSYNC = @GNULIB_FSYNC@
543526 GNULIB_FTELL = @GNULIB_FTELL@
544527 GNULIB_FTELLO = @GNULIB_FTELLO@
545528 GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
546 GNULIB_FUTIMENS = @GNULIB_FUTIMENS@
547529 GNULIB_FWRITE = @GNULIB_FWRITE@
548530 GNULIB_GETC = @GNULIB_GETC@
549531 GNULIB_GETCHAR = @GNULIB_GETCHAR@
559541 GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
560542 GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
561543 GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
562 GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
563544 GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
564545 GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
565546 GNULIB_GRANTPT = @GNULIB_GRANTPT@
567548 GNULIB_ISATTY = @GNULIB_ISATTY@
568549 GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
569550 GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
570 GNULIB_LCHMOD = @GNULIB_LCHMOD@
571551 GNULIB_LCHOWN = @GNULIB_LCHOWN@
572552 GNULIB_LINK = @GNULIB_LINK@
573553 GNULIB_LINKAT = @GNULIB_LINKAT@
574554 GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
575555 GNULIB_LSEEK = @GNULIB_LSEEK@
576 GNULIB_LSTAT = @GNULIB_LSTAT@
577556 GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
578557 GNULIB_MBRLEN = @GNULIB_MBRLEN@
579558 GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
599578 GNULIB_MEMMEM = @GNULIB_MEMMEM@
600579 GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
601580 GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
602 GNULIB_MKDIRAT = @GNULIB_MKDIRAT@
603581 GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
604 GNULIB_MKFIFO = @GNULIB_MKFIFO@
605 GNULIB_MKFIFOAT = @GNULIB_MKFIFOAT@
606 GNULIB_MKNOD = @GNULIB_MKNOD@
607 GNULIB_MKNODAT = @GNULIB_MKNODAT@
608582 GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
609583 GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
610584 GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
611585 GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
612 GNULIB_MKTIME = @GNULIB_MKTIME@
613 GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
614586 GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
615 GNULIB_NONBLOCKING = @GNULIB_NONBLOCKING@
616587 GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
617588 GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
618 GNULIB_OPEN = @GNULIB_OPEN@
619 GNULIB_OPENAT = @GNULIB_OPENAT@
620589 GNULIB_PCLOSE = @GNULIB_PCLOSE@
621590 GNULIB_PERROR = @GNULIB_PERROR@
622591 GNULIB_PIPE = @GNULIB_PIPE@
655624 GNULIB_SLEEP = @GNULIB_SLEEP@
656625 GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
657626 GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
658 GNULIB_STAT = @GNULIB_STAT@
659627 GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
660628 GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
661629 GNULIB_STPCPY = @GNULIB_STPCPY@
669637 GNULIB_STRNDUP = @GNULIB_STRNDUP@
670638 GNULIB_STRNLEN = @GNULIB_STRNLEN@
671639 GNULIB_STRPBRK = @GNULIB_STRPBRK@
672 GNULIB_STRPTIME = @GNULIB_STRPTIME@
673640 GNULIB_STRSEP = @GNULIB_STRSEP@
674641 GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
675642 GNULIB_STRSTR = @GNULIB_STRSTR@
681648 GNULIB_SYMLINK = @GNULIB_SYMLINK@
682649 GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
683650 GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
684 GNULIB_TIMEGM = @GNULIB_TIMEGM@
685 GNULIB_TIME_R = @GNULIB_TIME_R@
686 GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
687651 GNULIB_TMPFILE = @GNULIB_TMPFILE@
688652 GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
689653 GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
694658 GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
695659 GNULIB_UNSETENV = @GNULIB_UNSETENV@
696660 GNULIB_USLEEP = @GNULIB_USLEEP@
697 GNULIB_UTIMENSAT = @GNULIB_UTIMENSAT@
698661 GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
699662 GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
700663 GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
761724 HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
762725 HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
763726 HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
764 HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
765727 HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
766728 HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
767729 HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
787749 HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
788750 HAVE_FACCESSAT = @HAVE_FACCESSAT@
789751 HAVE_FCHDIR = @HAVE_FCHDIR@
790 HAVE_FCHMODAT = @HAVE_FCHMODAT@
791752 HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
792 HAVE_FCNTL = @HAVE_FCNTL@
793753 HAVE_FDATASYNC = @HAVE_FDATASYNC@
794754 HAVE_FEATURES_H = @HAVE_FEATURES_H@
795755 HAVE_FFS = @HAVE_FFS@
796756 HAVE_FFSL = @HAVE_FFSL@
797757 HAVE_FFSLL = @HAVE_FFSLL@
798758 HAVE_FSEEKO = @HAVE_FSEEKO@
799 HAVE_FSTATAT = @HAVE_FSTATAT@
800759 HAVE_FSYNC = @HAVE_FSYNC@
801760 HAVE_FTELLO = @HAVE_FTELLO@
802761 HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
803 HAVE_FUTIMENS = @HAVE_FUTIMENS@
804762 HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
805763 HAVE_GETGROUPS = @HAVE_GETGROUPS@
806764 HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
808766 HAVE_GETOPT_H = @HAVE_GETOPT_H@
809767 HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
810768 HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
811 HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
812769 HAVE_GRANTPT = @HAVE_GRANTPT@
813770 HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
814771 HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
819776 HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
820777 HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
821778 HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
822 HAVE_LCHMOD = @HAVE_LCHMOD@
823779 HAVE_LCHOWN = @HAVE_LCHOWN@
824780 HAVE_LINK = @HAVE_LINK@
825781 HAVE_LINKAT = @HAVE_LINKAT@
826782 HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
827 HAVE_LSTAT = @HAVE_LSTAT@
828783 HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
829784 HAVE_MBRLEN = @HAVE_MBRLEN@
830785 HAVE_MBRTOWC = @HAVE_MBRTOWC@
834789 HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
835790 HAVE_MEMCHR = @HAVE_MEMCHR@
836791 HAVE_MEMPCPY = @HAVE_MEMPCPY@
837 HAVE_MKDIRAT = @HAVE_MKDIRAT@
838792 HAVE_MKDTEMP = @HAVE_MKDTEMP@
839 HAVE_MKFIFO = @HAVE_MKFIFO@
840 HAVE_MKFIFOAT = @HAVE_MKFIFOAT@
841 HAVE_MKNOD = @HAVE_MKNOD@
842 HAVE_MKNODAT = @HAVE_MKNODAT@
843793 HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
844794 HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
845795 HAVE_MKSTEMP = @HAVE_MKSTEMP@
846796 HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
847797 HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
848 HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
849798 HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
850 HAVE_OPENAT = @HAVE_OPENAT@
851799 HAVE_OS_H = @HAVE_OS_H@
852800 HAVE_PCLOSE = @HAVE_PCLOSE@
853801 HAVE_PIPE = @HAVE_PIPE@
882830 HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
883831 HAVE_STRINGS_H = @HAVE_STRINGS_H@
884832 HAVE_STRPBRK = @HAVE_STRPBRK@
885 HAVE_STRPTIME = @HAVE_STRPTIME@
886833 HAVE_STRSEP = @HAVE_STRSEP@
887834 HAVE_STRTOD = @HAVE_STRTOD@
888835 HAVE_STRTOLL = @HAVE_STRTOLL@
889836 HAVE_STRTOULL = @HAVE_STRTOULL@
890837 HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
891 HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
892838 HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
893839 HAVE_SYMLINK = @HAVE_SYMLINK@
894840 HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
896842 HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
897843 HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
898844 HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
899 HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
900845 HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
901 HAVE_TIMEGM = @HAVE_TIMEGM@
902 HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
903846 HAVE_UNISTD_H = @HAVE_UNISTD_H@
904847 HAVE_UNLINKAT = @HAVE_UNLINKAT@
905848 HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
906849 HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
907850 HAVE_USLEEP = @HAVE_USLEEP@
908 HAVE_UTIMENSAT = @HAVE_UTIMENSAT@
909851 HAVE_VASPRINTF = @HAVE_VASPRINTF@
910852 HAVE_VDPRINTF = @HAVE_VDPRINTF@
911853 HAVE_WCHAR_H = @HAVE_WCHAR_H@
991933 MSGFMT_015 = @MSGFMT_015@
992934 MSGMERGE = @MSGMERGE@
993935 NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
994 NEXT_AS_FIRST_DIRECTIVE_FCNTL_H = @NEXT_AS_FIRST_DIRECTIVE_FCNTL_H@
995936 NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
996937 NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
997938 NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
1003944 NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
1004945 NEXT_AS_FIRST_DIRECTIVE_STRINGS_H = @NEXT_AS_FIRST_DIRECTIVE_STRINGS_H@
1005946 NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
1006 NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H@
1007 NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
1008947 NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
1009 NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
1010948 NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
1011949 NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
1012950 NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
1013951 NEXT_ERRNO_H = @NEXT_ERRNO_H@
1014 NEXT_FCNTL_H = @NEXT_FCNTL_H@
1015952 NEXT_FLOAT_H = @NEXT_FLOAT_H@
1016953 NEXT_GETOPT_H = @NEXT_GETOPT_H@
1017954 NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
1023960 NEXT_STDLIB_H = @NEXT_STDLIB_H@
1024961 NEXT_STRINGS_H = @NEXT_STRINGS_H@
1025962 NEXT_STRING_H = @NEXT_STRING_H@
1026 NEXT_SYS_STAT_H = @NEXT_SYS_STAT_H@
1027 NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
1028963 NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
1029 NEXT_TIME_H = @NEXT_TIME_H@
1030964 NEXT_UNISTD_H = @NEXT_UNISTD_H@
1031965 NEXT_WCHAR_H = @NEXT_WCHAR_H@
1032966 NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
1048982 PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
1049983 PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
1050984 PROVE = @PROVE@
1051 PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
1052985 PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
1053986 RANLIB = @RANLIB@
1054987 REPLACE_BTOWC = @REPLACE_BTOWC@
1062995 REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
1063996 REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
1064997 REPLACE_FCLOSE = @REPLACE_FCLOSE@
1065 REPLACE_FCNTL = @REPLACE_FCNTL@
1066998 REPLACE_FDOPEN = @REPLACE_FDOPEN@
1067999 REPLACE_FFLUSH = @REPLACE_FFLUSH@
10681000 REPLACE_FOPEN = @REPLACE_FOPEN@
10711003 REPLACE_FREOPEN = @REPLACE_FREOPEN@
10721004 REPLACE_FSEEK = @REPLACE_FSEEK@
10731005 REPLACE_FSEEKO = @REPLACE_FSEEKO@
1074 REPLACE_FSTAT = @REPLACE_FSTAT@
1075 REPLACE_FSTATAT = @REPLACE_FSTATAT@
10761006 REPLACE_FTELL = @REPLACE_FTELL@
10771007 REPLACE_FTELLO = @REPLACE_FTELLO@
10781008 REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
1079 REPLACE_FUTIMENS = @REPLACE_FUTIMENS@
10801009 REPLACE_GETCWD = @REPLACE_GETCWD@
10811010 REPLACE_GETDELIM = @REPLACE_GETDELIM@
10821011 REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
10851014 REPLACE_GETLINE = @REPLACE_GETLINE@
10861015 REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
10871016 REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
1088 REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
1089 REPLACE_GMTIME = @REPLACE_GMTIME@
10901017 REPLACE_ISATTY = @REPLACE_ISATTY@
10911018 REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
10921019 REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
10951022 REPLACE_LINK = @REPLACE_LINK@
10961023 REPLACE_LINKAT = @REPLACE_LINKAT@
10971024 REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
1098 REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
1099 REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
11001025 REPLACE_LSEEK = @REPLACE_LSEEK@
1101 REPLACE_LSTAT = @REPLACE_LSTAT@
11021026 REPLACE_MALLOC = @REPLACE_MALLOC@
11031027 REPLACE_MBRLEN = @REPLACE_MBRLEN@
11041028 REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
11091033 REPLACE_MBTOWC = @REPLACE_MBTOWC@
11101034 REPLACE_MEMCHR = @REPLACE_MEMCHR@
11111035 REPLACE_MEMMEM = @REPLACE_MEMMEM@
1112 REPLACE_MKDIR = @REPLACE_MKDIR@
1113 REPLACE_MKFIFO = @REPLACE_MKFIFO@
1114 REPLACE_MKNOD = @REPLACE_MKNOD@
11151036 REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
1116 REPLACE_MKTIME = @REPLACE_MKTIME@
1117 REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
11181037 REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
11191038 REPLACE_NULL = @REPLACE_NULL@
11201039 REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
1121 REPLACE_OPEN = @REPLACE_OPEN@
1122 REPLACE_OPENAT = @REPLACE_OPENAT@
11231040 REPLACE_PERROR = @REPLACE_PERROR@
11241041 REPLACE_POPEN = @REPLACE_POPEN@
11251042 REPLACE_PREAD = @REPLACE_PREAD@
11441061 REPLACE_SLEEP = @REPLACE_SLEEP@
11451062 REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
11461063 REPLACE_SPRINTF = @REPLACE_SPRINTF@
1147 REPLACE_STAT = @REPLACE_STAT@
11481064 REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
11491065 REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
11501066 REPLACE_STPNCPY = @REPLACE_STPNCPY@
11611077 REPLACE_STRTOD = @REPLACE_STRTOD@
11621078 REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
11631079 REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
1164 REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
11651080 REPLACE_SYMLINK = @REPLACE_SYMLINK@
11661081 REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
1167 REPLACE_TIMEGM = @REPLACE_TIMEGM@
11681082 REPLACE_TMPFILE = @REPLACE_TMPFILE@
11691083 REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
11701084 REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
11721086 REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
11731087 REPLACE_UNSETENV = @REPLACE_UNSETENV@
11741088 REPLACE_USLEEP = @REPLACE_USLEEP@
1175 REPLACE_UTIMENSAT = @REPLACE_UTIMENSAT@
11761089 REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
11771090 REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
11781091 REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
11971110 STDDEF_H = @STDDEF_H@
11981111 STDINT_H = @STDINT_H@
11991112 STRIP = @STRIP@
1200 SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
12011113 TERMLIBS = @TERMLIBS@
12021114 TEXINFO_DTD_VERSION = @TEXINFO_DTD_VERSION@
1203 TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
12041115 UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
1205 UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
12061116 UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
12071117 UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
12081118 USE_EXTERNAL_EASTASIANWIDTH = @USE_EXTERNAL_EASTASIANWIDTH@
12131123 VERSION = @VERSION@
12141124 WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
12151125 WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
1216 WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
12171126 WINT_T_SUFFIX = @WINT_T_SUFFIX@
12181127 XGETTEXT = @XGETTEXT@
12191128 XGETTEXT_015 = @XGETTEXT_015@
00 #! /usr/bin/env perl
1 # $Id: pod2texi.pl 6014 2015-01-01 19:32:00Z karl $
1 # $Id: pod2texi.pl 6906 2016-01-01 18:33:45Z karl $
22 # pod2texi -- convert Pod to Texinfo.
3 # Copyright 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
3 # Copyright 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
44 #
55 # This program is free software; you can redistribute it and/or modify
66 # it under the terms of the GNU General Public License as published by
155155 printf __("Copyright (C) %s Free Software Foundation, Inc.
156156 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
157157 This is free software: you are free to change and redistribute it.
158 There is NO WARRANTY, to the extent permitted by law.\n"), "2015";
158 There is NO WARRANTY, to the extent permitted by law.\n"), "2016";
159159 exit 0;},
160160 'base-level=s' => sub {
161161 if ($_[1] =~ /^[0-4]$/) {
596596
597597 =head1 COPYRIGHT
598598
599 Copyright 2015 Free Software Foundation, Inc.
599 Copyright 2016 Free Software Foundation, Inc.
600600
601601 This program is free software; you can redistribute it and/or modify
602602 it under the terms of the GNU General Public License as published by
0 $Id: README 6252 2015-05-06 17:37:57Z karl $
0 $Id: README 6951 2016-01-20 19:57:18Z gavin $
11 This is the README file for the GNU Texinfo distribution. Texinfo is
22 the preferred documentation format for GNU software.
33
44 Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
5 2002, 2003, 2004, 2009, 2010, 2011, 2012, 2013, 2014, 2015
5 2002, 2003, 2004, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
66 Free Software Foundation, Inc.
77
88 Copying and distribution of this file, with or without modification,
+0
-27
README-alpha less more
0 $Id: README-alpha 6124 2015-02-13 20:22:54Z gavin $
1 This is the README-alpha file for GNU Texinfo.
2
3 Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
4 2001, 2002, 2003, 2004, 2005, 2011, 2012, 2014, 2015
5 Free Software Foundation, Inc.
6
7 Copying and distribution of this file, with or without modification,
8 are permitted in any medium without royalty provided the copyright
9 notice and this notice are preserved.
10
11 This is a test release!
12
13 The latest test release (if any) is available at
14 ftp://alpha.gnu.org/gnu/texinfo/
15
16 Please email comments and problem reports to bug-texinfo@gnu.org. You
17 are welcome to join that mailing list; to do so, please visit
18 http://lists.gnu.org/mailman/listinfo/bug-texinfo. (There is no
19 dedicated mailing list for pretests any more.)
20
21 If you see a problem in this release that you've already reported, feel
22 free to re-report it -- it's good to get a reminder. If you sent a
23 patch for a previous release, and you haven't received any feedback
24 about it, please do re-send it, it likely got lost.
25
26 For development environment information, see README-hacking.
0 $Id: README-hacking 6878 2015-12-19 17:02:37Z gavin $
0 $Id: README-hacking 6990 2016-02-06 10:53:11Z gavin $
11 This file describes the development environment for Texinfo.
22
33 Copyright 2002, 2003, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013,
4 2014, 2015 Free Software Foundation, Inc.
4 2014, 2015, 2016 Free Software Foundation, Inc.
55
66 Copying and distribution of this file, with or without modification,
77 are permitted in any medium without royalty provided the copyright
152152 Ensure TXI_XLATE in doc/Makefile.am matches actual file list.
153153 Check that TEXINFO_DTD_VERSION has been updated to the next version in
154154 configure.ac if the DTD has been modified since the last release.
155 See comments in configure.ac, and run (at the top level) make dtd-check.
155156 Check "make ccheck" and "make vcheck" work in "doc/refcard".
156157 Check "dist-xz" is in the option list in configure.ac (often removed
157158 for speed when testing).
158
159 - Changes to sources:
160 update version in configure.ac, notice in ChangeLog.
161 check that texindex version is updated properly
162 (rm ti.texi texindex.awk ; make)
159 make po-check # update po/POTFILES.in as needed
163160 gnulib-tool --add-import # for pretest
164 util/srclist-txi # for pretest
165 pod2man Pod-Simple-Texinfo/pod2texi.pl >man/pod2texi.1 # until we fix deps
166 make
167 make po-check # update po/POTFILES.in as needed
168 make update-po # both po and po_document needed, build a dist first
169 make -C doc wwwdoc-build # and -install for official (and eventual commit)
170 make long-checks # distcheck does not do this
171 (export MALLOC_CHECK_=2; make distcheck) # repeat until clean
172 svn commit # when clean, then distcheck to be sure
161 util/srclist-txi # for pretest, to sync files with other sources
173162
174163 - Official releases only:
175164 version number in texi2dvi, texi2pdf, txirefcard.tex.
181170 ensure building standalone modules for CPAN still works.
182171 make V=1 pdf and fix underfull/overfull boxes.
183172
184 # ... dtd version check:
185 TEXINFO_DTD_VERSION should already have been updated to $ver in
186 configure.ac if it was needed, but check again. See comments in
187 configure.ac, and run (at the top level) make dtd-check.
173 - Changes to sources:
174 update version in configure.ac, notice in ChangeLog.
175 check that texindex version is updated properly
176 (rm texindex.awk ; make)
177 Check that translations have been updated, e.g.:
178 rsync -Lrtzv translationproject.org::tp/latest/texinfo/ texinfo
179 rsync -Lrtzv translationproject.org::tp/latest/texinfo_document/ \
180 texinfo_document
181 followed by copying updated translation files to po/ and po_document/.
182 pod2man Pod-Simple-Texinfo/pod2texi.pl >man/pod2texi.1 # until we fix deps
183 make
184 make update-po # both po and po_document needed, build a dist first
185 make -C doc wwwdoc-build # and -install for official (and eventual commit)
186 make long-checks # distcheck does not do this
187 (export MALLOC_CHECK_=2; make distcheck) # repeat until clean
188 svn commit # when clean, then distcheck to be sure
189
190 - To do the actual upload:
191 pkg=texinfo
192 ver=6.0
193
194 then do one of:
195 gnupload --to alpha.gnu.org:$pkg $pkg-$ver.tar.xz #pretest
196 gnupload --to ftp.gnu.org:$pkg $pkg-$ver.tar.{gz,xz} *.diff.xz #official
197 Use --user option if not using default key
198 texinfo.tex and texi2dvi should already be up to date, but check. Use
199 gnupload --replace --to ftp.gnu.org:texinfo texi2dvi
200
201 # Official releases only: tag source tree (use your own username before @):
202 svn copy -r 6363 -m'texinfo_6_0 tag based on r6363' \
203 svn+ssh://gavin@svn.savannah.gnu.org/texinfo/trunk \
204 svn+ssh://gavin@svn.savannah.gnu.org/texinfo/tags/texinfo_6_0
205 [for karl: /srv/svn/texinfo]
188206
189207 # ... set up dtd directory on web pages:
190208 cd $HOME/gnu/www/texinfo/dtd # or wherever webpages checkout is
211229 rm -rf texinfo-$ver texinfo-$prev
212230 ro texinfo-*$ver*
213231
214 - To do the actual upload:
232 - To save in local archives:
215233 pkg=texinfo
216234 ver=6.0
217235
218 then do one of:
219 gnupload --to alpha.gnu.org:$pkg $pkg-$ver.tar.xz #pretest
220 gnupload --to ftp.gnu.org:$pkg $pkg-$ver.tar.{gz,xz} *.diff.xz #official
221 Use --user option if not using default key
222 texinfo.tex and texi2dvi should already be up to date, but check. Use
223 gnupload --replace --to ftp.gnu.org:texinfo texi2dvi
224
225 and the corresponding, to save in local archives:
226236 mv -v $pkg-$ver.tar.xz* $misc/archive/$pkg/alpha/ #pretest
227237 mv -v $pkg-$ver.tar.{gz,xz}* *.diff.xz $misc/archive/$pkg/prod/ #official
228238
238248 followed by cvs rm -f. Likewise, check for added files with
239249 cvs -qn update, followed by cvs add. When done, run cvs commit.
240250
241 # Official releases only: tag source tree (use your own username before @):
242 svn copy -r 6363 -m'texinfo_6_0 tag based on r6363' \
243 svn+ssh://gavin@svn.savannah.gnu.org/texinfo/trunk \
244 svn+ssh://gavin@svn.savannah.gnu.org/texinfo/tags/texinfo_6_0
245 [for karl: /srv/svn/texinfo]
246
247251 # Official releases only: ... update texinfo at tug.org
248252 # (contact root@tug.org):
249253 prev=5.2
12231223 m4_include([gnulib/m4/extensions.m4])
12241224 m4_include([gnulib/m4/extern-inline.m4])
12251225 m4_include([gnulib/m4/fcntl-o.m4])
1226 m4_include([gnulib/m4/fcntl_h.m4])
12271226 m4_include([gnulib/m4/float_h.m4])
12281227 m4_include([gnulib/m4/getopt.m4])
12291228 m4_include([gnulib/m4/gettext.m4])
1230 m4_include([gnulib/m4/gettimeofday.m4])
12311229 m4_include([gnulib/m4/glibc21.m4])
12321230 m4_include([gnulib/m4/gnulib-common.m4])
12331231 m4_include([gnulib/m4/gnulib-comp.m4])
12381236 m4_include([gnulib/m4/inttypes_h.m4])
12391237 m4_include([gnulib/m4/iswblank.m4])
12401238 m4_include([gnulib/m4/langinfo_h.m4])
1241 m4_include([gnulib/m4/largefile.m4])
12421239 m4_include([gnulib/m4/lib-ld.m4])
12431240 m4_include([gnulib/m4/lib-link.m4])
12441241 m4_include([gnulib/m4/lib-prefix.m4])
12511248 m4_include([gnulib/m4/localeconv.m4])
12521249 m4_include([gnulib/m4/lock.m4])
12531250 m4_include([gnulib/m4/longlong.m4])
1254 m4_include([gnulib/m4/lstat.m4])
12551251 m4_include([gnulib/m4/malloc.m4])
12561252 m4_include([gnulib/m4/malloca.m4])
12571253 m4_include([gnulib/m4/mbchar.m4])
12631259 m4_include([gnulib/m4/mbswidth.m4])
12641260 m4_include([gnulib/m4/mbtowc.m4])
12651261 m4_include([gnulib/m4/memchr.m4])
1266 m4_include([gnulib/m4/memmem.m4])
12671262 m4_include([gnulib/m4/mempcpy.m4])
12681263 m4_include([gnulib/m4/memrchr.m4])
1269 m4_include([gnulib/m4/mkstemp.m4])
12701264 m4_include([gnulib/m4/mmap-anon.m4])
12711265 m4_include([gnulib/m4/msvc-inval.m4])
12721266 m4_include([gnulib/m4/msvc-nothrow.m4])
12761270 m4_include([gnulib/m4/nocrash.m4])
12771271 m4_include([gnulib/m4/off_t.m4])
12781272 m4_include([gnulib/m4/onceonly.m4])
1279 m4_include([gnulib/m4/pathmax.m4])
12801273 m4_include([gnulib/m4/po.m4])
12811274 m4_include([gnulib/m4/printf.m4])
12821275 m4_include([gnulib/m4/progtest.m4])
12831276 m4_include([gnulib/m4/regex.m4])
1284 m4_include([gnulib/m4/secure_getenv.m4])
12851277 m4_include([gnulib/m4/size_max.m4])
12861278 m4_include([gnulib/m4/ssize_t.m4])
1287 m4_include([gnulib/m4/stat.m4])
12881279 m4_include([gnulib/m4/stdarg.m4])
12891280 m4_include([gnulib/m4/stdbool.m4])
12901281 m4_include([gnulib/m4/stddef_h.m4])
13031294 m4_include([gnulib/m4/strnlen.m4])
13041295 m4_include([gnulib/m4/strstr.m4])
13051296 m4_include([gnulib/m4/sys_socket_h.m4])
1306 m4_include([gnulib/m4/sys_stat_h.m4])
1307 m4_include([gnulib/m4/sys_time_h.m4])
13081297 m4_include([gnulib/m4/sys_types_h.m4])
1309 m4_include([gnulib/m4/tempname.m4])
13101298 m4_include([gnulib/m4/threadlib.m4])
1311 m4_include([gnulib/m4/time_h.m4])
13121299 m4_include([gnulib/m4/unistd_h.m4])
13131300 m4_include([gnulib/m4/vasnprintf.m4])
13141301 m4_include([gnulib/m4/vasprintf.m4])
22 % Load plain if necessary, i.e., if running under initex.
33 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
44 %
5 \def\texinfoversion{2015-07-01.07}
5 \def\texinfoversion{2016-02-05.07}
66 %
77 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
88 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
9 % 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
9 % 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
1010 % Free Software Foundation, Inc.
1111 %
1212 % This texinfo.tex file is free software: you can redistribute it and/or
157157 \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
158158 \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
159159
160 % Since the category of space is not known, we have to be careful.
161 \chardef\spacecat = 10
162 \def\spaceisspace{\catcode`\ =\spacecat}
163
164 % sometimes characters are active, so we need control sequences.
165 \chardef\ampChar = `\&
166 \chardef\colonChar = `\:
167 \chardef\commaChar = `\,
160 % Give the space character the catcode for a space.
161 \def\spaceisspace{\catcode`\ =10\relax}
162
168163 \chardef\dashChar = `\-
169 \chardef\dotChar = `\.
170 \chardef\exclamChar= `\!
171 \chardef\hashChar = `\#
172 \chardef\lquoteChar= `\`
173 \chardef\questChar = `\?
174 \chardef\rquoteChar= `\'
175 \chardef\semiChar = `\;
176164 \chardef\slashChar = `\/
177165 \chardef\underChar = `\_
178166
194182 stand-alone strong-est time-stamp time-stamps which-ever white-space
195183 wide-spread wrap-around
196184 }
197
198 % Margin to add to right of even pages, to left of odd pages.
199 \newdimen\bindingoffset
200 \newdimen\normaloffset
201 \newdimen\pagewidth \newdimen\pageheight
202
203 % For a final copy, take out the rectangles
204 % that mark overfull boxes (in case you have decided
205 % that the text looks ok even though it passes the margin).
206 %
207 \def\finalout{\overfullrule=0pt }
208185
209186 % Sometimes it is convenient to have everything in the transcript file
210187 % and nothing on the terminal. We don't just call \tracingall here,
250227 \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
251228 \removelastskip\penalty-200\bigskip\fi\fi}
252229
230 % Output routine
231 %
232
233 % For a final copy, take out the rectangles
234 % that mark overfull boxes (in case you have decided
235 % that the text looks ok even though it passes the margin).
236 %
237 \def\finalout{\overfullrule=0pt }
238
253239 % Do @cropmarks to get crop marks.
254240 %
255241 \newif\ifcropmarks
272258 %
273259 % Another complication is to let the user choose whether \thischapter
274260 % (\thissection) refers to the chapter (section) in effect at the top
275 % of a page, or that at the bottom of a page. The solution is
276 % described on page 260 of The TeXbook. It involves outputting two
277 % marks for the sectioning macros, one before the section break, and
278 % one after. I won't pretend I can describe this better than DEK...
279 %
261 % of a page, or that at the bottom of a page.
262
263 % \domark is called twice inside \chapmacro, to add one
264 % mark before the section break, and one after.
265 % In the second call \prevchapterdefs is the same as \lastchapterdefs,
266 % and \prevsectiondefs is the same as \lastsectiondefs.
267 % Then if the page is not broken at the mark, some of the previous
268 % section appears on the page, and we can get the name of this section
269 % from \firstmark for @everyheadingmarks top.
270 % @everyheadingmarks bottom uses \botmark.
271 %
272 % See page 260 of The TeXbook.
280273 \def\domark{%
281274 \toks0=\expandafter{\lastchapterdefs}%
282275 \toks2=\expandafter{\lastsectiondefs}%
284277 \toks6=\expandafter{\prevsectiondefs}%
285278 \toks8=\expandafter{\lastcolordefs}%
286279 \mark{%
287 \the\toks0 \the\toks2 % 0: top marks (\last...)
288 \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...)
280 \the\toks0 \the\toks2 % 0: marks for @everyheadingmarks top
281 \noexpand\or \the\toks4 \the\toks6 % 1: for @everyheadingmarks bottom
289282 \noexpand\else \the\toks8 % 2: color marks
290283 }%
291284 }
285
286 % \gettopheadingmarks, \getbottomheadingmarks,
287 % \getcolormarks - extract needed part of mark.
288 %
292289 % \topmark doesn't work for the very first chapter (after the title
293290 % page or the contents), so we use \firstmark there -- this gets us
294291 % the mark with the chapter defs, unless the user sneaks in, e.g.,
309306 \def\prevsectiondefs{}
310307 \def\lastcolordefs{}
311308
309 % Margin to add to right of even pages, to left of odd pages.
310 \newdimen\bindingoffset
311 \newdimen\normaloffset
312 \newdimen\pagewidth \newdimen\pageheight
313
312314 % Main output routine.
315 %
313316 \chardef\PAGE = 255
314317 \output = {\onepageout{\pagecontents\PAGE}}
315318
316319 \newbox\headlinebox
317320 \newbox\footlinebox
318321
319 % \onepageout takes a vbox as an argument. Note that \pagecontents
320 % does insertions, but you have to call it yourself.
322 % \onepageout takes a vbox as an argument.
323 % \shipout a vbox for a single page, adding an optional header, footer,
324 % cropmarks, and footnote. This also causes index entries for this page
325 % to be written to the auxiliary files.
326 %
321327 \def\onepageout#1{%
322328 \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
323329 %
324330 \ifodd\pageno \advance\hoffset by \bindingoffset
325331 \else \advance\hoffset by -\bindingoffset\fi
326332 %
333 % Common context changes for both heading and footing.
327334 % Do this outside of the \shipout so @code etc. will be expanded in
328335 % the headline as they should be, not taken literally (outputting ''code).
329336 \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars}
330337 %
338 % Retrieve the information for the headings from the marks in the page,
339 % and call Plain TeX's \makeheadline and \makefootline, which use the
340 % values in \headline and \footline.
341 %
342 % This is used to check if we are on the first page of a chapter.
343 \ifcase1\topmark\fi
344 \let\prevchaptername\thischaptername
345 \ifcase0\firstmark\fi
346 \let\curchaptername\thischaptername
347 %
331348 \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
349 \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
350 %
351 \ifx\curchaptername\prevchaptername
352 \let\thischapterheading\thischapter
353 \else
354 % \thischapterheading is the same as \thischapter except it is blank
355 % for the first page of a chapter. This is to prevent the chapter name
356 % being shown twice.
357 \def\thischapterheading{}%
358 \fi
359 %
332360 \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
333 %
334 \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
335361 \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}%
336362 %
337363 {%
364 % Set context for writing to auxiliary files like index files.
338365 % Have to do this stuff outside the \shipout because we want it to
339366 % take effect in \write's, yet the group defined by the \vbox ends
340367 % before the \shipout runs.
343370 \normalturnoffactive % \ in index entries must not stay \, e.g., if
344371 % the page break happens to be in the middle of an example.
345372 % We don't want .vr (or whatever) entries like this:
346 % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
373 % \entry{{\indexbackslash }acronym}{32}{\code {\acronym}}
347374 % "\acronym" won't work when it's read back in;
348375 % it needs to be
349 % {\code {{\tt \backslashcurfont }acronym}
376 % {\code {{\backslashcurfont }acronym}
350377 \shipout\vbox{%
351378 % Do this early so pdf references go to the beginning of the page.
352379 \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
404431
405432 \newinsert\margin \dimen\margin=\maxdimen
406433
434 % Main part of page, including any footnotes
407435 \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
408436 {\catcode`\@ =11
409437 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
426454 \def\nsbot{\vbox
427455 {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
428456
457
458 % Argument parsing
459
429460 % Parse an argument, then pass it to #1. The argument is the rest of
430461 % the input line (except we remove a trailing comment). #1 should be a
431462 % macro which expects an ordinary undelimited TeX argument.
463 % For example, \def\foo{\parsearg\fooxxx}.
432464 %
433465 \def\parsearg{\parseargusing{}}
434466 \def\parseargusing#1#2{%
447479 }%
448480 }
449481
450 % First remove any @comment, then any @c comment.
482 % First remove any @comment, then any @c comment. Also remove a @texinfoc
483 % comment (see \scanmacro for details). Pass the result on to \argcheckspaces.
451484 \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
452 \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
485 \def\argremovec#1\c#2\ArgTerm{\argremovetexinfoc #1\texinfoc\ArgTerm}
486 \def\argremovetexinfoc#1\texinfoc#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
453487
454488 % Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
455489 %
484518 %
485519 \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
486520
521
522 % \parseargdef - define a command taking an argument on the line
523 %
487524 % \parseargdef\foo{...}
488525 % is roughly equivalent to
489526 % \def\foo{\parsearg\Xfoo}
490527 % \def\Xfoo#1{...}
491 %
492 % Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
493 % favourite TeX trick. --kasal, 16nov03
494
495528 \def\parseargdef#1{%
496529 \expandafter \doparseargdef \csname\string#1\endcsname #1%
497530 }
681714 \endgraf % Not \par, as it may have been set to \lisppar.
682715 \global\dimen1 = \prevdepth
683716 \egroup % End the \vtop.
717 \addgroupbox
718 \prevdepth = \dimen1
719 \checkinserts
720 }
721
722 \def\addgroupbox{
684723 % \dimen0 is the vertical size of the group's box.
685724 \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
686725 % \dimen2 is how much space is left on the page (more or less).
693732 \fi
694733 \fi
695734 \box\groupbox
696 \prevdepth = \dimen1
697 \checkinserts
698 }
735 }
736
699737 %
700738 % TeX puts in an \escapechar (i.e., `@') at the beginning of the help
701739 % message, so this ends up printing `@group can only ...'.
938976 % @c is the same as @comment
939977 % @ignore ... @end ignore is another way to write a comment
940978 %
941 \def\comment{\begingroup \catcode`\^^M=\other%
979 \def\comment{\begingroup \catcode`\^^M=\active%
980 \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other\commentxxx}%
981
982 {\catcode`\^^M=\active%
983 \gdef\commentxxx#1^^M{\endgroup%
984 \futurelet\nexttoken\commentxxxx}%
985 \gdef\commentxxxx{\ifx\nexttoken\aftermacro\expandafter\comment\fi}%
986 }
987
988 \def\c{\begingroup \catcode`\^^M=\active%
942989 \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
943 \commentxxx}
944 {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
945 %
946 \let\c=\comment
990 \cxxx}
991 {\catcode`\^^M=\active \gdef\cxxx#1^^M{\endgroup}}
992 % See comment in \scanmacro about why the definitions of @c and @comment differ
947993
948994 % @paragraphindent NCHARS
949995 % We'll use ems for NCHARS, close enough.
10291075 % @refill is a no-op.
10301076 \let\refill=\relax
10311077
1032 % If working on a large document in chapters, it is convenient to
1033 % be able to disable indexing, cross-referencing, and contents, for test runs.
1034 % This is done with @novalidate (before @setfilename).
1035 %
1036 \newif\iflinks \linkstrue % by default we want the aux files.
1037 \let\novalidate = \linksfalse
1038
1039 % @setfilename is done at the beginning of every texinfo file.
1040 % So open here the files we need to have open while reading the input.
1041 % This makes it possible to make a .fmt file for texinfo.
1042 \def\setfilename{%
1043 \fixbackslash % Turn off hack to swallow `\input texinfo'.
1044 \iflinks
1045 \tryauxfile
1046 % Open the new aux file. TeX will close it automatically at exit.
1047 \immediate\openout\auxfile=\jobname.aux
1048 \fi % \openindices needs to do some work in any case.
1049 \openindices
1050 \let\setfilename=\comment % Ignore extra @setfilename cmds.
1051 %
1052 % If texinfo.cnf is present on the system, read it.
1053 % Useful for site-wide @afourpaper, etc.
1054 \openin 1 texinfo.cnf
1055 \ifeof 1 \else \input texinfo.cnf \fi
1056 \closein 1
1057 %
1058 \comment % Ignore the actual filename.
1059 }
1060
1061 % Called from \setfilename.
1062 %
1063 \def\openindices{%
1064 \newindex{cp}%
1065 \newcodeindex{fn}%
1066 \newcodeindex{vr}%
1067 \newcodeindex{tp}%
1068 \newcodeindex{ky}%
1069 \newcodeindex{pg}%
1070 }
1078 % @setfilename INFO-FILENAME - ignored
1079 \let\setfilename=\comment
10711080
10721081 % @bye.
10731082 \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
10851094 \newtoks\toksC
10861095 \newtoks\toksD
10871096 \newbox\boxA
1097 \newbox\boxB
10881098 \newcount\countA
10891099 \newif\ifpdf
10901100 \newif\ifpdfmakepagedest
11421152 \def\rgbDarkRed{0.50 0.09 0.12}
11431153 \def\rgbBlack{0 0 0}
11441154 %
1145 % k sets the color for filling (usual text, etc.);
1146 % K sets the color for stroking (thin rules, e.g., normal _'s).
1155 % rg sets the color for filling (usual text, etc.);
1156 % RG sets the color for stroking (thin rules, e.g., normal _'s).
11471157 \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
11481158 %
11491159 % Set color, and create a mark which defines \thiscolor accordingly,
14381448 \let\pdfmakeoutlines = \relax
14391449 \fi % \ifx\pdfoutput
14401450
1451 %
1452 % @image support for XeTeX
1453 %
1454 \newif\ifxeteximgpdf
1455 \ifx\XeTeXrevision\thisisundefined
1456 \else
1457 %
1458 % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
1459 \def\doxeteximage#1#2#3{%
1460 \def\xeteximagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
1461 \def\xeteximageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
1462 %
1463 % XeTeX (and the PDF format) support .pdf, .png, .jpg (among
1464 % others). Let's try in that order, PDF first since if
1465 % someone has a scalable image, presumably better to use that than a
1466 % bitmap.
1467 \let\xeteximgext=\empty
1468 \xeteximgpdffalse
1469 \begingroup
1470 \openin 1 #1.pdf \ifeof 1
1471 \openin 1 #1.PDF \ifeof 1
1472 \openin 1 #1.png \ifeof 1
1473 \openin 1 #1.jpg \ifeof 1
1474 \openin 1 #1.jpeg \ifeof 1
1475 \openin 1 #1.JPG \ifeof 1
1476 \errmessage{Could not find image file #1 for XeTeX}%
1477 \else \gdef\xeteximgext{JPG}%
1478 \fi
1479 \else \gdef\xeteximgext{jpeg}%
1480 \fi
1481 \else \gdef\xeteximgext{jpg}%
1482 \fi
1483 \else \gdef\xeteximgext{png}%
1484 \fi
1485 \else \gdef\xeteximgext{PDF} \global\xeteximgpdftrue%
1486 \fi
1487 \else \gdef\xeteximgext{pdf} \global\xeteximgpdftrue%
1488 \fi
1489 \closein 1
1490 \endgroup
1491 %
1492 \ifxeteximgpdf
1493 \XeTeXpdffile "#1".\xeteximgext ""
1494 \else
1495 \XeTeXpicfile "#1".\xeteximgext ""
1496 \fi
1497 \ifdim \wd0 >0pt width \xeteximagewidth \fi
1498 \ifdim \wd2 >0pt height \xeteximageheight \fi \relax
1499 }
1500 \fi
14411501
14421502 \message{fonts,}
14431503
18211881 % A few fonts for @defun names and args.
18221882 \setfont\defbf\bfshape{10}{\magstep1}{OT1}
18231883 \setfont\deftt\ttshape{10}{\magstep1}{OT1TT}
1884 \setfont\defsl\slshape{10}{\magstep1}{OT1TT}
18241885 \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
1825 \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
1886 \def\df{\let\tentt=\deftt \let\tenbf = \defbf
1887 \let\tenttsl=\defttsl \let\tensl=\defsl \bf}
18261888
18271889 % Fonts for indices, footnotes, small examples (9pt).
18281890 \def\smallnominalsize{9pt}
18831945 % Section fonts (14.4pt).
18841946 \def\secnominalsize{14pt}
18851947 \setfont\secrm\rmbshape{12}{\magstep1}{OT1}
1948 \setfont\secrmnotbold\rmshape{12}{\magstep1}{OT1}
18861949 \setfont\secit\itbshape{10}{\magstep2}{OT1IT}
18871950 \setfont\secsl\slbshape{10}{\magstep2}{OT1}
18881951 \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
19522015 % A few fonts for @defun names and args.
19532016 \setfont\defbf\bfshape{10}{\magstephalf}{OT1}
19542017 \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT}
2018 \setfont\defsl\slshape{10}{\magstephalf}{OT1TT}
19552019 \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
1956 \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
2020 \def\df{\let\tentt=\deftt \let\tenbf = \defbf
2021 \let\tensl=\defsl \let\tenttsl=\defttsl \bf}
19572022
19582023 % Fonts for indices, footnotes, small examples (9pt).
19592024 \def\smallnominalsize{9pt}
24242489 %
24252490 \catcode`@=11
24262491 \def\plainfrenchspacing{%
2427 \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
2428 \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
2492 \sfcode`\.=\@m \sfcode`\?=\@m \sfcode`\!=\@m
2493 \sfcode`\:=\@m \sfcode`\;=\@m \sfcode`\,=\@m
24292494 \def\endofsentencespacefactor{1000}% for @. and friends
24302495 }
24312496 \def\plainnonfrenchspacing{%
26132678
26142679 % Allow line breaks around only a few characters (only).
26152680 \def\urefcatcodes{%
2616 \catcode\ampChar=\active \catcode\dotChar=\active
2617 \catcode\hashChar=\active \catcode\questChar=\active
2618 \catcode\slashChar=\active
2681 \catcode`\&=\active \catcode`\.=\active
2682 \catcode`\#=\active \catcode`\?=\active
2683 \catcode`\/=\active
26192684 }
26202685 {
26212686 \urefcatcodes
27722837 %
27732838 \def\dmn#1{\thinspace #1}
27742839
2775 % @l was never documented to mean ``switch to the Lisp font'',
2776 % and it is not used as such in any manual I can find. We need it for
2777 % Polish suppressed-l. --karl, 22sep96.
2778 %\def\l#1{{\li #1}\null}
2779
27802840 % @acronym for "FBI", "NATO", and the like.
27812841 % We print this one point size smaller, since it's intended for
27822842 % all-uppercase.
28292889 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
28302890 %
28312891 \def\math{%
2832 \tex
2833 \mathunderscore
2834 \let\\ = \mathbackslash
2835 \mathactive
2836 % make the texinfo accent commands work in math mode
2837 \let\"=\ddot
2838 \let\'=\acute
2839 \let\==\bar
2840 \let\^=\hat
2841 \let\`=\grave
2842 \let\u=\breve
2843 \let\v=\check
2844 \let\~=\tilde
2845 \let\dotaccent=\dot
2846 % have to provide another name for sup operator
2847 \let\mathopsup=\sup
2848 $\finishmath
2892 \ifmmode\else % only go into math if not in math mode already
2893 \tex
2894 \mathunderscore
2895 \let\\ = \mathbackslash
2896 \mathactive
2897 % make the texinfo accent commands work in math mode
2898 \let\"=\ddot
2899 \let\'=\acute
2900 \let\==\bar
2901 \let\^=\hat
2902 \let\`=\grave
2903 \let\u=\breve
2904 \let\v=\check
2905 \let\~=\tilde
2906 \let\dotaccent=\dot
2907 % have to provide another name for sup operator
2908 \let\mathopsup=\sup
2909 $\expandafter\finishmath\fi
28492910 }
28502911 \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
28512912
28792940 %
28802941 \def\sup{\ifmmode \expandafter\ptexsp \else \expandafter\finishsup\fi}
28812942 \def\finishsup#1{$\ptexsp{\hbox{\selectfonts\lllsize #1}}$}%
2882
2883 % ctrl is no longer a Texinfo command, but leave this definition for fun.
2884 \def\ctrl #1{{\tt \rawbackslash \hat}#1}
28852943
28862944 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
28872945 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
33903448 \newtoks\evenfootline % footline on even pages
33913449 \newtoks\oddfootline % footline on odd pages
33923450
3393 % Now make TeX use those variables
3451 % Now make \makeheadline and \makefootline in Plain TeX use those variables
33943452 \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
33953453 \else \the\evenheadline \fi}}
33963454 \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
34463504 % @everyheadingmarks
34473505 % @everyfootingmarks
34483506
3507 % These define \getoddheadingmarks, \getevenheadingmarks,
3508 % \getoddfootingmarks, and \getevenfootingmarks, each to one of
3509 % \gettopheadingmarks, \getbottomheadingmarks.
3510 %
34493511 \def\evenheadingmarks{\headingmarks{even}{heading}}
34503512 \def\oddheadingmarks{\headingmarks{odd}{heading}}
34513513 \def\evenfootingmarks{\headingmarks{even}{footing}}
34933555 \global\evenfootline={\hfil}
34943556 \global\oddfootline={\hfil}
34953557 \global\evenheadline={\line{\folio\hfil\thistitle}}
3496 \global\oddheadline={\line{\thischapter\hfil\folio}}
3558 \global\oddheadline={\line{\thischapterheading\hfil\folio}}
34973559 \global\let\contentsalignmacro = \chapoddpage
34983560 }
34993561 \let\contentsalignmacro = \chappager
35043566 \global\pageno=1
35053567 \global\evenfootline={\hfil}
35063568 \global\oddfootline={\hfil}
3507 \global\evenheadline={\line{\thischapter\hfil\folio}}
3508 \global\oddheadline={\line{\thischapter\hfil\folio}}
3569 \global\evenheadline={\line{\thischapterheading\hfil\folio}}
3570 \global\oddheadline={\line{\thischapterheading\hfil\folio}}
35093571 \global\let\contentsalignmacro = \chappager
35103572 }
35113573 \def\HEADINGSon{\HEADINGSdouble}
35163578 \global\evenfootline={\hfil}
35173579 \global\oddfootline={\hfil}
35183580 \global\evenheadline={\line{\folio\hfil\thistitle}}
3519 \global\oddheadline={\line{\thischapter\hfil\folio}}
3581 \global\oddheadline={\line{\thischapterheading\hfil\folio}}
35203582 \global\let\contentsalignmacro = \chapoddpage
35213583 }
35223584
35243586 \def\HEADINGSsinglex{%
35253587 \global\evenfootline={\hfil}
35263588 \global\oddfootline={\hfil}
3527 \global\evenheadline={\line{\thischapter\hfil\folio}}
3528 \global\oddheadline={\line{\thischapter\hfil\folio}}
3589 \global\evenheadline={\line{\thischapterheading\hfil\folio}}
3590 \global\oddheadline={\line{\thischapterheading\hfil\folio}}
35293591 \global\let\contentsalignmacro = \chappager
35303592 }
35313593
37353797 \noindent
37363798 \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
37373799 %
3738 \vadjust{\penalty 1200}}% not good to break after first line of item.
3800 \ifinner\else
3801 \vadjust{\penalty 1200}% not good to break after first line of item.
3802 \fi
3803 % We can be in inner vertical mode in a footnote, although an
3804 % @itemize looks awful there.
3805 }%
37393806 \flushcr
37403807 }
37413808
43574424 % except not \outer, so it can be used within macros and \if's.
43584425 \edef\newwrite{\makecsname{ptexnewwrite}}
43594426
4360 % \newindex {foo} defines an index named foo.
4361 % It automatically defines \fooindex such that
4362 % \fooindex ...rest of line... puts an entry in the index foo.
4363 % It also defines \fooindfile to be the number of the output channel for
4364 % the file that accumulates this index. The file's extension is foo.
4427 % \newindex {foo} defines an index named IX.
4428 % It automatically defines \IXindex such that
4429 % \IXindex ...rest of line... puts an entry in the index IX.
4430 % It also defines \IXindfile to be the number of the output channel for
4431 % the file that accumulates this index. The file's extension is IX.
43654432 % The name of an index should be no more than 2 characters long
43664433 % for the sake of vms.
43674434 %
43684435 \def\newindex#1{%
4369 \iflinks
4370 \expandafter\newwrite \csname#1indfile\endcsname
4371 \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
4372 \fi
4436 \expandafter\chardef\csname#1indfile\endcsname=0
43734437 \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
43744438 \noexpand\doindex{#1}}
43754439 }
43834447 \def\defcodeindex{\parsearg\newcodeindex}
43844448 %
43854449 \def\newcodeindex#1{%
4386 \iflinks
4387 \expandafter\newwrite \csname#1indfile\endcsname
4388 \openout \csname#1indfile\endcsname \jobname.#1
4389 \fi
4450 \expandafter\chardef\csname#1indfile\endcsname=0
43904451 \expandafter\xdef\csname#1index\endcsname{%
43914452 \noexpand\docodeindex{#1}}%
43924453 }
4454
4455 % The default indices:
4456 \newindex{cp}% concepts,
4457 \newcodeindex{fn}% functions,
4458 \newcodeindex{vr}% variables,
4459 \newcodeindex{tp}% types,
4460 \newcodeindex{ky}% keys
4461 \newcodeindex{pg}% and programs.
43934462
43944463
43954464 % @synindex foo bar makes index foo feed into index bar.
44194488 \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
44204489 }
44214490
4422 % Define \doindex, the driver for all \fooindex macros.
4491 % Define \doindex, the driver for all index macros.
44234492 % Argument #1 is generated by the calling \fooindex macro,
4424 % and it is "foo", the name of the index.
4425
4426 % \doindex just uses \parsearg; it calls \doind for the actual work.
4427 % This is because \doind is more useful to call from other macros.
4428
4429 % There is also \dosubind {index}{topic}{subtopic}
4430 % which makes an entry in a two-level index such as the operation index.
4431
4432 \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
4433 \def\singleindexer #1{\doind{\indexname}{#1}}
4493 % and it the two-letter name of the index.
4494
4495 \def\doindex#1{\edef\indexname{#1}\parsearg\doindexxxx}
4496 \def\doindexxxx #1{\doind{\indexname}{#1}}
44344497
44354498 % like the previous two, but they put @code around the argument.
4436 \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
4437 \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
4438
4439 % Take care of Texinfo commands that can appear in an index entry.
4440 % Since there are some commands we want to expand, and others we don't,
4441 % we have to laboriously prevent expansion for those that we don't.
4499 \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
4500 \def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}}
4501
4502 % Used when writing an index entry out to an index file, to prevent
4503 % expansion of Texinfo commands that can appear in an index entry.
44424504 %
44434505 \def\indexdummies{%
44444506 \escapechar = `\\ % use backslash in output files.
44534515 % should use @lbracechar and @rbracechar?
44544516 \def\{{{\tt\char123}}%
44554517 \def\}{{\tt\char125}}%
4456 %
4457 % I don't entirely understand this, but when an index entry is
4458 % generated from a macro call, the \endinput which \scanmacro inserts
4459 % causes processing to be prematurely terminated. This is,
4460 % apparently, because \indexsorttmp is fully expanded, and \endinput
4461 % is an expandable command. The redefinition below makes \endinput
4462 % disappear altogether for that purpose -- although logging shows that
4463 % processing continues to some further point. On the other hand, it
4464 % seems \endinput does not hurt in the printed index arg, since that
4465 % is still getting written without apparent harm.
4466 %
4467 % Sample source (mac-idx3.tex, reported by Graham Percival to
4468 % help-texinfo, 22may06):
4469 % @macro funindex {WORD}
4470 % @findex xyz
4471 % @end macro
4472 % ...
4473 % @funindex commtest
4474 % This is not enough to reproduce the bug, but it gives the flavor.
4475 %
4476 % Sample whatsit resulting:
4477 % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
4478 %
4479 % So:
4480 \let\endinput = \empty
44814518 %
44824519 % Do the redefinitions.
44834520 \commondummies
46074644 }
46084645
46094646 % \commondummiesnofonts: common to \commondummies and \indexnofonts.
4647 % Define \definedumyletter, \definedummyaccent and \definedummyword before
4648 % using.
46104649 %
46114650 \def\commondummiesnofonts{%
46124651 % Control letters and accents.
46754714 \definedummyword\verb
46764715 \definedummyword\w
46774716 \definedummyword\xref
4678 %
4679 % Consider:
4680 % @macro mkind{arg1,arg2}
4681 % @cindex \arg2\
4682 % @end macro
4683 % @mkind{foo, bar}
4684 % The space after the comma will end up in the temporary definition
4685 % that we make for arg2 (see \parsemargdef ff.). We want all this to be
4686 % expanded for the sake of the index, so we end up just seeing "bar".
4687 \let\xeatspaces = \eatspaces
46884717 }
46894718
46904719 % For testing: output @{ and @} in index sort strings as \{ and \}.
46914720 \newif\ifusebracesinindexes
4721
4722 \let\indexlbrace\relax
4723 \let\indexrbrace\relax
4724
4725 {\catcode`\@=0
4726 \catcode`\\=13
4727 @gdef@backslashdisappear{@def\{}}
4728 }
4729
4730 {
4731 \catcode`\<=13
4732 \catcode`\-=13
4733 \catcode`\`=13
4734 \gdef\indexnonalnumdisappear{%
4735 \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax\else
4736 % @set txiindexlquoteignore makes us ignore left quotes in the sort term.
4737 % (Introduced for FSFS 2nd ed.)
4738 \let`=\empty
4739 \fi
4740 %
4741 \expandafter\ifx\csname SETtxiindexbackslashignore\endcsname\relax\else
4742 \backslashdisappear
4743 \fi
4744 %
4745 \expandafter\ifx\csname SETtxiindexhyphenignore\endcsname\relax\else
4746 \def-{}%
4747 \fi
4748 \expandafter\ifx\csname SETtxiindexlessthanignore\endcsname\relax\else
4749 \def<{}%
4750 \fi
4751 \expandafter\ifx\csname SETtxiindexatsignignore\endcsname\relax\else
4752 \def\@{}%
4753 \fi
4754 }
4755
4756 \gdef\indexnonalnumreappear{%
4757 \useindexbackslash
4758 \let-\normaldash
4759 \let<\normalless
4760 \def\@{@}%
4761 }
4762 }
4763
46924764
46934765 % \indexnofonts is used when outputting the strings to sort the index
46944766 % by, and when constructing control sequence names. It eliminates all
47024774 \def\definedummyletter##1{\let##1\empty}%
47034775 % All control words become @asis by default; overrides below.
47044776 \let\definedummyword\definedummyaccent
4705 %
47064777 \commondummiesnofonts
47074778 %
47084779 % Don't no-op \tt, since it isn't a user-level command
47154786 \def\_{\normalunderscore}%
47164787 \def\-{}% @- shouldn't affect sorting
47174788 %
4718 % Unfortunately, texindex is not prepared to handle braces in the
4719 % content at all. So for index sorting, we map @{ and @} to strings
4720 % starting with |, since that ASCII character is between ASCII { and }.
4721 \ifusebracesinindexes
4722 \def\lbracechar{\lbracecmd}%
4723 \def\rbracechar{\rbracecmd}%
4724 \else
4725 \def\lbracechar{|a}%
4726 \def\rbracechar{|b}%
4727 \fi
4728 \let\{=\lbracechar
4729 \let\}=\rbracechar
4730 %
4789 \uccode`\1=`\{ \uppercase{\def\{{1}}%
4790 \uccode`\1=`\} \uppercase{\def\}{1}}%
4791 \let\lbracechar\{%
4792 \let\rbracechar\}%
47314793 %
47324794 % Non-English letters.
47334795 \def\AA{AA}%
47364798 \def\L{L}%
47374799 \def\OE{OE}%
47384800 \def\O{O}%
4739 \def\TH{ZZZ}%
4801 \def\TH{TH}%
47404802 \def\aa{aa}%
47414803 \def\ae{ae}%
47424804 \def\dh{dzz}%
47484810 \def\o{o}%
47494811 \def\questiondown{?}%
47504812 \def\ss{ss}%
4751 \def\th{zzz}%
4813 \def\th{th}%
47524814 %
47534815 \def\LaTeX{LaTeX}%
47544816 \def\TeX{TeX}%
47854847 \def\result{=>}%
47864848 \def\textdegree{o}%
47874849 %
4788 \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
4789 \else \indexlquoteignore \fi
4790 %
47914850 % We need to get rid of all macros, leaving only the arguments (if present).
47924851 % Of course this is not nearly correct, but it is the best we can do for now.
47934852 % makeinfo does not expand macros in the argument to @deffn, which ends up
48014860 \macrolist
48024861 }
48034862
4804 % Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
4805 % ignore left quotes in the sort term.
4806 {\catcode`\`=\active
4807 \gdef\indexlquoteignore{\let`=\empty}}
4808
4809 \let\indexbackslash=0 %overridden during \printindex.
4863
48104864 \let\SETmarginindex=\relax % put index entries in margin (undocumented)?
48114865
48124866 % Most index entries go through here, but \dosubind is the general case.
48134867 % #1 is the index name, #2 is the entry text.
48144868 \def\doind#1#2{\dosubind{#1}{#2}{}}
48154869
4816 % Workhorse for all \fooindexes.
4870 % There is also \dosubind {index}{topic}{subtopic}
4871 % which makes an entry in a two-level index such as the operation index.
4872 % TODO: Two-level index? Operation index?
4873
4874 % Workhorse for all indexes.
48174875 % #1 is name of index, #2 is stuff to put there, #3 is subentry --
48184876 % empty if called from \doind, as we usually are (the main exception
48194877 % is with most defuns, which call us directly).
48214879 \def\dosubind#1#2#3{%
48224880 \iflinks
48234881 {%
4882 \requireopenindexfile{#1}%
48244883 % Store the main index entry text (including the third arg).
48254884 \toks0 = {#2}%
48264885 % If third arg is present, precede it with a space.
48364895 \fi
48374896 }
48384897
4839 % Write the entry in \toks0 to the index file:
4898 % Check if an index file has been opened, and if not, open it.
4899 \def\requireopenindexfile#1{%
4900 \ifnum\csname #1indfile\endcsname=0
4901 \expandafter\newwrite \csname#1indfile\endcsname
4902 \edef\suffix{#1}%
4903 % A .fls suffix would conflict with the file extension for the output
4904 % of -recorder, so use .f1s instead.
4905 \ifx\suffix\indexisfl\def\suffix{f1}\fi
4906 % Open the file
4907 \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
4908 % Using \immediate here prevents an object entering into the current box,
4909 % which could confound checks such as those in \safewhatsit for preceding
4910 % skips.
4911 \fi}
4912 \def\indexisfl{fl}
4913
4914 % Output \ as {\indexbackslash}, because \ is an escape character in
4915 % the index files.
4916 \let\indexbackslash=\relax
4917 {\catcode`\@=0 \catcode`\\=\active
4918 @gdef@useindexbackslash{@def\{{@indexbackslash}}}
4919 }
4920
4921 % Definition for writing index entry text.
4922 \def\sortas#1{\ignorespaces}%
4923
4924 % Definition for writing index entry sort key. Should occur at the at
4925 % the beginning of the index entry, like
4926 % @cindex @sortas{september} \september
4927 % The \ignorespaces takes care of following space, but there's no way
4928 % to remove space before it.
4929 {
4930 \catcode`\-=13
4931 \gdef\indexwritesortas{%
4932 \begingroup
4933 \indexnonalnumreappear
4934 \indexwritesortasxxx}
4935 \gdef\indexwritesortasxxx#1{%
4936 \xdef\indexsortkey{#1}\endgroup}
4937 }
4938
4939
4940 % Write the entry in \toks0 to the index file.
48404941 %
48414942 \def\dosubindwrite{%
48424943 % Put the index entry in the margin if desired.
48464947 %
48474948 % Remember, we are within a group.
48484949 \indexdummies % Must do this here, since \bf, etc expand at this stage
4849 \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
4850 % so it will be output as is; and it will print as backslash.
4851 %
4852 % Process the index entry with all font commands turned off, to
4853 % get the string to sort by.
4950 \useindexbackslash % \indexbackslash isn't defined now so it will be output
4951 % as is; and it will print as backslash.
4952 % The braces around \indexbrace are recognized by texindex.
4953 %
4954 % Get the string to sort by, by processing the index entry with all
4955 % font commands turned off.
48544956 {\indexnofonts
4855 \edef\temp{\the\toks0}% need full expansion
4856 \xdef\indexsorttmp{\temp}%
4957 \def\lbracechar{{\indexlbrace}}%
4958 \def\rbracechar{{\indexrbrace}}%
4959 \let\{=\lbracechar
4960 \let\}=\rbracechar
4961 \indexnonalnumdisappear
4962 \xdef\indexsortkey{}%
4963 \let\sortas=\indexwritesortas
4964 \edef\temp{\the\toks0}%
4965 \setbox\dummybox = \hbox{\temp}% Make sure to execute any \sortas
4966 \ifx\indexsortkey\empty
4967 \xdef\indexsortkey{\temp}%
4968 \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi
4969 \fi
48574970 }%
48584971 %
48594972 % Set up the complete index entry, with both the sort key and
48634976 % sorted result.
48644977 \edef\temp{%
48654978 \write\writeto{%
4866 \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
4979 \string\entry{\indexsortkey}{\noexpand\folio}{\the\toks0}}%
48674980 }%
48684981 \temp
48694982 }
4983 \newbox\dummybox % used above
48704984
48714985 % Take care of unwanted page breaks/skips around a whatsit:
48724986 %
49925106 % as its first line, TeX doesn't complain about mismatched braces
49935107 % (because it thinks @} is a control sequence).
49945108 \catcode`\@ = 11
4995 \openin 1 \jobname.#1s
5109 % See comment in \requireopenindexfile.
5110 \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi
5111 \openin 1 \jobname.\indexname s
49965112 \ifeof 1
49975113 % \enddoublecolumns gets confused if there is no text in the index,
49985114 % and it loses the chapter title and the aux file entries for the
50005116 % there is some text.
50015117 \putwordIndexNonexistent
50025118 \else
5119 \catcode`\\ = 0
5120 \escapechar = `\\
50035121 %
50045122 % If the index file exists but is empty, then \openin leaves \ifeof
50055123 % false. We have to make TeX try to read something from the file, so
50065124 % it can discover if there is anything in it.
5007 \read 1 to \temp
5125 \read 1 to \thisline
50085126 \ifeof 1
50095127 \putwordIndexIsEmpty
50105128 \else
50115129 % Index files are almost Texinfo source, but we use \ as the escape
50125130 % character. It would be better to use @, but that's too big a change
50135131 % to make right now.
5014 \def\indexbackslash{\backslashcurfont}%
5015 \catcode`\\ = 0
5016 \escapechar = `\\
5132 \def\indexbackslash{\ttbackslash}%
5133 \let\indexlbrace\{ % Likewise, set these sequences for braces
5134 \let\indexrbrace\} % used in the sort key.
50175135 \begindoublecolumns
5018 \input \jobname.#1s
5136 \let\entryorphanpenalty=\indexorphanpenalty
5137 %
5138 % Read input from the index file line by line.
5139 \loopdo
5140 \ifeof1
5141 \let\firsttoken\relax
5142 \else
5143 \read 1 to \nextline
5144 \edef\act{\gdef\noexpand\firsttoken{\getfirsttoken\nextline}}%
5145 \act
5146 \fi
5147 \thisline
5148 %
5149 \ifeof1\else
5150 \let\thisline\nextline
5151 \repeat
5152 %%
50195153 \enddoublecolumns
50205154 \fi
50215155 \fi
50225156 \closein 1
50235157 \endgroup}
50245158
5159 \def\getfirsttoken#1{\expandafter\getfirsttokenx#1\endfirsttoken}
5160 \long\def\getfirsttokenx#1#2\endfirsttoken{\noexpand#1}
5161
5162 \def\loopdo#1\repeat{\def\body{#1}\loopdoxxx}
5163 \def\loopdoxxx{\let\next=\relax\body\let\next=\loopdoxxx\fi\next}
5164
50255165 % These macros are used by the sorted index file itself.
50265166 % Change them to control the appearance of the index.
50275167
5028 \def\initial#1{{%
5029 % Some minor font changes for the special characters.
5030 \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
5031 %
5168 {\catcode`\/=13 \catcode`\-=13 \catcode`\^=13 \catcode`\~=13 \catcode`\_=13
5169 \catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13
5170 \catcode`\$=3
5171 \gdef\initialglyphs{%
5172 % Some changes for non-alphabetic characters. Using the glyphs from the
5173 % math fonts looks more consistent than the typewriter font used elsewhere
5174 % for these characters.
5175 \def\indexbackslash{\math{\backslash}}%
5176 \let\\=\indexbackslash
5177 %
5178 % Can't get bold backslash so don't use bold forward slash
5179 \catcode`\/=13
5180 \def/{{\secrmnotbold \normalslash}}%
5181 \def-{{\normaldash\normaldash}}% en dash `--'
5182 \def^{{\chapbf \normalcaret}}%
5183 \def~{{\chapbf \normaltilde}}%
5184 \def\_{%
5185 \leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }%
5186 \def|{$\vert$}%
5187 \def<{$\less$}%
5188 \def>{$\gtr$}%
5189 \def+{$\normalplus$}%
5190 }}
5191
5192 \def\initial{%
5193 \bgroup
5194 \initialglyphs
5195 \initialx
5196 }
5197
5198 \def\initialx#1{%
50325199 % Remove any glue we may have, we'll be inserting our own.
50335200 \removelastskip
50345201 %
50355202 % We like breaks before the index initials, so insert a bonus.
5203 % The glue before the bonus allows a little bit of space at the
5204 % bottom of a column to reduce an increase in inter-line spacing.
50365205 \nobreak
5037 \vskip 0pt plus 3\baselineskip
5038 \penalty 0
5039 \vskip 0pt plus -3\baselineskip
5206 \vskip 0pt plus 5\baselineskip
5207 \penalty -300
5208 \vskip 0pt plus -5\baselineskip
50405209 %
50415210 % Typeset the initial. Making this add up to a whole number of
50425211 % baselineskips increases the chance of the dots lining up from column
50445213 % we need before each entry, but it's better.
50455214 %
50465215 % No shrink because it confuses \balancecolumns.
5047 \vskip 1.67\baselineskip plus .5\baselineskip
5048 \leftline{\secbf #1}%
5216 \vskip 1.67\baselineskip plus 1\baselineskip
5217 \leftline{\secfonts \kern-0.05em \secbf #1}%
5218 % \secfonts is inside the argument of \leftline so that the change of
5219 % \baselineskip will not affect any glue inserted before the vbox that
5220 % \leftline creates.
50495221 % Do our best not to break after the initial.
50505222 \nobreak
50515223 \vskip .33\baselineskip plus .1\baselineskip
5052 }}
5224 \egroup % \initialglyphs
5225 }
5226
5227 \newdimen\entryrightmargin
5228 \entryrightmargin=0pt
50535229
50545230 % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
50555231 % then page number (#2) flushed to the right margin. It is used for index
50565232 % and table of contents entries. The paragraph is indented by \leftskip.
50575233 %
5058 % A straightforward implementation would start like this:
5059 % \def\entry#1#2{...
5060 % But this freezes the catcodes in the argument, and can cause problems to
5061 % @code, which sets - active. This problem was fixed by a kludge---
5062 % ``-'' was active throughout whole index, but this isn't really right.
5063 % The right solution is to prevent \entry from swallowing the whole text.
5064 % --kasal, 21nov03
50655234 \def\entry{%
50665235 \begingroup
50675236 %
50695238 % affect previous text.
50705239 \par
50715240 %
5072 % Do not fill out the last line with white space.
5073 \parfillskip = 0in
5074 %
50755241 % No extra space above this paragraph.
50765242 \parskip = 0in
5077 %
5078 % Do not prefer a separate line ending with a hyphen to fewer lines.
5079 \finalhyphendemerits = 0
5080 %
5081 % \hangindent is only relevant when the entry text and page number
5082 % don't both fit on one line. In that case, bob suggests starting the
5083 % dots pretty far over on the line. Unfortunately, a large
5084 % indentation looks wrong when the entry text itself is broken across
5085 % lines. So we use a small indentation and put up with long leaders.
5086 %
5087 % \hangafter is reset to 1 (which is the value we want) at the start
5088 % of each paragraph, so we need not do anything with that.
5089 \hangindent = 2em
5090 %
5091 % When the entry text needs to be broken, just fill out the first line
5092 % with blank space.
5093 \rightskip = 0pt plus1fil
5094 %
5095 % A bit of stretch before each entry for the benefit of balancing
5096 % columns.
5097 \vskip 0pt plus1pt
50985243 %
50995244 % When reading the text of entry, convert explicit line breaks
51005245 % from @* into spaces. The user might give these in long section
51015246 % titles, for instance.
51025247 \def\*{\unskip\space\ignorespaces}%
5103 \def\entrybreak{\hfil\break}%
5248 \def\entrybreak{\hfil\break}% An undocumented command
5249 %
5250 % A bit of stretch before each entry for the benefit of balancing
5251 % columns.
5252 \vskip 0pt plus0.5pt
51045253 %
51055254 % Swallow the left brace of the text (first parameter):
51065255 \afterassignment\doentry
51085257 }
51095258 \def\entrybreak{\unskip\space\ignorespaces}%
51105259 \def\doentry{%
5260 % Save the text of the entry
5261 \global\setbox\boxA=\hbox\bgroup
51115262 \bgroup % Instead of the swallowed brace.
51125263 \noindent
51135264 \aftergroup\finishentry
51145265 % And now comes the text of the entry.
5115 }
5116 \def\finishentry#1{%
5266 % Not absorbing as a macro argument reduces the chance of problems
5267 % with catcodes occurring.
5268 }
5269 {\catcode`\@=11
5270 \gdef\finishentry#1{%
5271 \egroup % end box A
5272 \dimen@ = \wd\boxA % Length of text of entry
5273 \global\setbox\boxA=\hbox\bgroup\unhbox\boxA
51175274 % #1 is the page number.
51185275 %
5119 % The following is kludged to not output a line of dots in the index if
5120 % there are no page numbers. The next person who breaks this will be
5121 % cursed by a Unix daemon.
5122 \setbox\boxA = \hbox{#1}%
5123 \ifdim\wd\boxA = 0pt
5124 \ %
5276 % Get the width of the page numbers, and only use
5277 % leaders if they are present.
5278 \global\setbox\boxB = \hbox{#1}%
5279 \ifdim\wd\boxB = 0pt
5280 \null\nobreak\hfill\ %
51255281 \else
51265282 %
5127 % If we must, put the page number on a line of its own, and fill out
5128 % this line with blank space. (The \hfil is overwhelmed with the
5129 % fill leaders glue in \indexdotfill if the page number does fit.)
5130 \hfil\penalty50
51315283 \null\nobreak\indexdotfill % Have leaders before the page number.
51325284 %
5133 % The `\ ' here is removed by the implicit \unskip that TeX does as
5134 % part of (the primitive) \par. Without it, a spurious underfull
5135 % \hbox ensues.
51365285 \ifpdf
5137 \pdfgettoks#1.%
5138 \ \the\toksA
5286 \pdfgettoks#1.%
5287 \bgroup\let\domark\relax
5288 \hskip\skip\thinshrinkable\the\toksA
5289 \egroup
5290 % The redefinion of \domark stops marks being added in \pdflink to
5291 % preserve coloured links across page boundaries. Otherwise the marks
5292 % would get in the way of \lastbox in \insertindexentrybox.
51395293 \else
5140 \ #1%
5294 \hskip\skip\thinshrinkable #1%
51415295 \fi
51425296 \fi
5143 \par
5297 \egroup % end \boxA
5298 \ifdim\wd\boxB = 0pt
5299 \global\setbox\entryindexbox=\vbox{\unhbox\boxA}%
5300 \else
5301 \global\setbox\entryindexbox=\vbox\bgroup
5302 \prevdepth=\entrylinedepth
5303 \noindent
5304 % We want the text of the entries to be aligned to the left, and the
5305 % page numbers to be aligned to the right.
5306 %
5307 \advance\leftskip by 0pt plus 1fil
5308 \advance\leftskip by 0pt plus -1fill
5309 \rightskip = 0pt plus -1fil
5310 \advance\rightskip by 0pt plus 1fill
5311 % Cause last line, which could consist of page numbers on their own
5312 % if the list of page numbers is long, to be aligned to the right.
5313 \parfillskip=0pt plus -1fill
5314 %
5315 \hangindent=1em
5316 %
5317 \advance\rightskip by \entryrightmargin
5318 % Determine how far we can stretch into the margin.
5319 % This allows, e.g., "Appendix H GNU Free Documentation License" to
5320 % fit on one line in @letterpaper format.
5321 \ifdim\entryrightmargin>2.1em
5322 \dimen@i=2.1em
5323 \else
5324 \dimen@i=0em
5325 \fi
5326 \advance \parfillskip by 0pt minus 1\dimen@i
5327 %
5328 \dimen@ii = \hsize
5329 \advance\dimen@ii by -1\leftskip
5330 \advance\dimen@ii by -1\entryrightmargin
5331 \advance\dimen@ii by 1\dimen@i
5332 \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line
5333 \ifdim\dimen@ > 0.8\dimen@ii % due to long index text
5334 \dimen@ = 0.7\dimen@ % Try to split the text roughly evenly
5335 \dimen@ii = \hsize
5336 \advance \dimen@ii by -1em
5337 \ifnum\dimen@>\dimen@ii
5338 % If the entry is too long, use the whole line
5339 \dimen@ = \dimen@ii
5340 \fi
5341 \advance\leftskip by 0pt plus 1fill % ragged right
5342 \advance \dimen@ by 1\rightskip
5343 \parshape = 2 0pt \dimen@ 1em \dimen@ii
5344 % Ideally we'd add a finite glue at the end of the first line only, but
5345 % TeX doesn't seem to provide a way to do such a thing.
5346 \fi\fi
5347 \unhbox\boxA
5348 %
5349 % Do not prefer a separate line ending with a hyphen to fewer lines.
5350 \finalhyphendemerits = 0
5351 %
5352 % Word spacing - no stretch
5353 \spaceskip=\fontdimen2\font minus \fontdimen4\font
5354 %
5355 \linepenalty=1000 % Discourage line breaks.
5356 \hyphenpenalty=5000 % Discourage hyphenation.
5357 %
5358 \par % format the paragraph
5359 \egroup % The \vbox
5360 \fi
51445361 \endgroup
5362 % delay text of entry until after penalty
5363 \bgroup\aftergroup\insertindexentrybox
5364 \entryorphanpenalty
5365 }}
5366
5367 \newskip\thinshrinkable
5368 \skip\thinshrinkable=.15em minus .15em
5369
5370 \newbox\entryindexbox
5371 \def\insertindexentrybox{%
5372 \copy\entryindexbox
5373 % The following gets the depth of the last box. This is for even
5374 % line spacing when entries span several lines.
5375 \setbox\dummybox\vbox{%
5376 \unvbox\entryindexbox
5377 \nointerlineskip
5378 \lastbox
5379 \global\entrylinedepth=\prevdepth
5380 }%
5381 % Note that we couldn't simply \unvbox\entryindexbox followed by
5382 % \nointerlineskip\lastbox to remove the last box and then reinstate it,
5383 % because this resets how far the box has been \moveleft'ed to 0. \unvbox
5384 % doesn't affect \prevdepth either.
5385 }
5386 \newdimen\entrylinedepth
5387
5388 % Default is no penalty
5389 \let\entryorphanpenalty\egroup
5390
5391 % Used from \printindex. \firsttoken should be the first token
5392 % after the \entry. If it's not another \entry, we are at the last
5393 % line of a group of index entries, so insert a penalty to discourage
5394 % orphaned index entries.
5395 \long\def\indexorphanpenalty{%
5396 \def\isentry{\entry}%
5397 \ifx\firsttoken\isentry
5398 \else
5399 \unskip\penalty 9000
5400 % The \unskip here stops breaking before the glue. It relies on the
5401 % \vskip above being there, otherwise there is an error
5402 % "You can't use `\unskip' in vertical mode". There has to be glue
5403 % in the current vertical list that hasn't been added to the
5404 % "current page". See Chapter 24 of the TeXbook. This contradicts
5405 % Section 8.3.7 in "TeX by Topic," though.
5406 \fi
5407 \egroup % now comes the box added with \aftergroup
51455408 }
51465409
51475410 % Like plain.tex's \dotfill, except uses up at least 1 em.
5411 % The filll stretch here overpowers both the fil and fill stretch to push
5412 % the page number to the right.
51485413 \def\indexdotfill{\cleaders
5149 \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
5414 \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1filll}
5415
51505416
51515417 \def\primary #1{\line{#1\hfil}}
51525418
51685434 % Define two-column mode, which we use to typeset indexes.
51695435 % Adapted from the TeXbook, page 416, which is to say,
51705436 % the manmac.tex format used to print the TeXbook itself.
5171 \catcode`\@=11
5437 \catcode`\@=11 % private names
51725438
51735439 \newbox\partialpage
51745440 \newdimen\doublecolumnhsize
5441 \newdimen\doublecolumntopgap
5442 \doublecolumntopgap = 0pt
5443
5444 % Use inside an output routine to save \topmark and \firstmark
5445 \def\savemarks{%
5446 \global\savedtopmark=\expandafter{\topmark }%
5447 \global\savedfirstmark=\expandafter{\firstmark }%
5448 }
5449 \newtoks\savedtopmark
5450 \newtoks\savedfirstmark
5451
5452 % Set \topmark and \firstmark for next time \output runs.
5453 % Can't be run from withinside \output (because any material
5454 % added while an output routine is active, including
5455 % penalties, is saved for after it finishes). The page so far
5456 % should be empty, otherwise what's on it will be thrown away.
5457 \def\restoremarks{%
5458 \mark{\the\savedtopmark}%
5459 \bgroup\output = {%
5460 \setbox\dummybox=\box\PAGE
5461 }abc\eject\egroup
5462 % "abc" because output routine doesn't fire for a completely empty page.
5463 \mark{\the\savedfirstmark}%
5464 }
51755465
51765466 \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
5467 % If not much space left on page, start a new page.
5468 \ifdim\pagetotal>0.8\vsize\vfill\eject\fi
5469 %
51775470 % Grab any single-column material above us.
51785471 \output = {%
51795472 %
51935486 \unvbox\PAGE
51945487 \kern-\topskip \kern\baselineskip
51955488 }%
5489 \savemarks
51965490 }%
51975491 \eject % run that output routine to set \partialpage
5492 \restoremarks
5493 %
5494 % We recover the two marks that the last output routine saved in order
5495 % to propagate the information in marks added around a chapter heading,
5496 % which could be otherwise be lost by the time the final page is output.
5497 %
51985498 %
51995499 % Use the double-column output routine for subsequent pages.
52005500 \output = {\doublecolumnout}%
52225522 %
52235523 % Double the \vsize as well. (We don't need a separate register here,
52245524 % since nobody clobbers \vsize.)
5525 \global\doublecolumntopgap = \topskip
5526 \global\advance\doublecolumntopgap by -1\baselineskip
5527 \advance\vsize by -1\doublecolumntopgap
52255528 \vsize = 2\vsize
5529 \topskip=0pt
5530 \global\entrylinedepth=0pt\relax
52265531 }
52275532
52285533 % The double-column output routine for all double-column pages except
5229 % the last.
5534 % the last, which is done by \balancecolumns.
52305535 %
52315536 \def\doublecolumnout{%
5537 %
52325538 \splittopskip=\topskip \splitmaxdepth=\maxdepth
52335539 % Get the available space for the double columns -- the normal
52345540 % (undoubled) page height minus any material left over from the
52515557 %
52525558 \hsize = \doublecolumnhsize
52535559 \wd0=\hsize \wd2=\hsize
5254 \hbox to\pagewidth{\box0\hfil\box2}%
5255 }
5256 %
5257 % All done with double columns.
5560 \vbox{%
5561 \vskip\doublecolumntopgap
5562 \hbox to\pagewidth{\box0\hfil\box2}}%
5563 }
5564
5565
5566 % Finished with with double columns.
52585567 \def\enddoublecolumns{%
52595568 % The following penalty ensures that the page builder is exercised
52605569 % _before_ we change the output routine. This is necessary in the
52855594 \penalty0
52865595 %
52875596 \output = {%
5288 % Split the last of the double-column material. Leave it on the
5289 % current page, no automatic page break.
5597 % Split the last of the double-column material.
5598 \savemarks
52905599 \balancecolumns
52915600 %
5292 % If we end up splitting too much material for the current page,
5293 % though, there will be another page break right after this \output
5294 % invocation ends. Having called \balancecolumns once, we do not
5601 % Having called \balancecolumns once, we do not
52955602 % want to call it again. Therefore, reset \output to its normal
5296 % definition right away. (We hope \balancecolumns will never be
5297 % called on to balance too much material, but if it is, this makes
5298 % the output somewhat more palatable.)
5603 % definition right away.
52995604 \global\output = {\onepageout{\pagecontents\PAGE}}%
53005605 }%
53015606 \eject
53025607 \endgroup % started in \begindoublecolumns
5608 \restoremarks
5609 % Leave the double-column material on the current page, no automatic
5610 % page break.
5611 \box\balancedcolumns
53035612 %