Package list texinfo / 15eb269
New upstream version 6.2.0.dfsg.1 Norbert Preining 5 years ago
1225 changed file(s) with 47747 addition(s) and 58748 deletion(s). Raw diff Collapse all Expand all
0 2016-09-10 Gavin Smith <gavinsmith0123@gmail.com>
1
2 6.2 release.
3 * configure.ac, NEWS, util/texi2dvi, util/texi2pdf,
4 doc/refcard/txirefcard.tex, texindex/texindex.awk:
5 Version number.
6 * tp/Texinfo: Update version numbers in modules.
7 * po, po_document: Synch with translationproject.org and run
8 "make update_po".
9 * build-aux/texinfo.tex: Update from doc/texinfo.tex.
10
11 2016-09-07 Gavin Smith <gavinsmith0123@gmail.com>
12
13 * pretest 6.1.92
14
15 2016-09-07 Gavin Smith <gavinsmith0123@gmail.com>
16
17 * README-hacking: Add note about checking svn checkout is
18 up-to-date.
19
20 2016-09-05 Gavin Smith <gavinsmith0123@gmail.com>
21
22 * pretest 6.1.91
23
24 2016-09-05 Gavin Smith <gavinsmith0123@gmail.com>
25
26 * po, po_document: Synch with translationproject.org and run
27 "make update_po".
28
29 2016-09-03 Gavin Smith <gavinsmith0123@gmail.com>
30
31 * README-hacking: Mention LINGUAS files and "svn status .".
32
33 2016-09-03 Gavin Smith <gavinsmith0123@gmail.com>
34
35 * tp/tests/htmlxref-only_mono/test_scripts,
36 * tp/tests/htmlxref-only_split/test_scripts,
37 * tp/tests/htmlxref/test_scripts:
38 Remove unused directories.
39
40 2016-09-03 Gavin Smith <gavinsmith0123@gmail.com>
41
42 * info/window.c (window_make_modeline): Do not make modeline
43 depend on whether preprocess_nodes_p is set.
44
45 2016-09-03 Gavin Smith <gavinsmith0123@gmail.com>
46
47 * info/info-utils.c (scan_reference_target): Remove code that
48 altered the line number of an index entry if
49 preprocess_nodes_p=1, because this is is independent of whether
50 the first line of the node is displayed or not.
51
52 2016-09-03 Gavin Smith <gavinsmith0123@gmail.com>
53
54 * po/el.po: Commit file.
55 * po/LINGUAS: List el.
56
57 2016-09-03 Gavin Smith <gavinsmith0123@gmail.com>
58
59 * po_document/LINGUAS: List ca, de, el, hr, pt, pt_BR.
60
61 2016-08-30 Gavin Smith <gavinsmith0123@gmail.com>
62
63 * tp/Texinfo/Convert/XSParagraph: Run gnulib-tool --add-import.
64 * (top-level): Run gnulib-tool --add-import.
65
66 2016-08-28 Emanuele Giaquinta <emanuele.giaquinta@gmail.com> (tiny change)
67
68 * util/texi2dvi (cleanup): Fix cleanup for "clean" build mode.
69 Bug introduced on 2016-05-03.
70
71 2016-08-16 Gavin Smith <gavinsmith0123@gmail.com>
72
73 * doc/texinfo.tex (\entry): Disable output of marks for whole
74 entry, instead of just for the page number. This is intended to
75 prevent an infinite loop in \ourunvbox when @uref is used in an
76 index entry (reported by Karl Berry for latex refman manual).
77
78 2016-08-14 Gavin Smith <gavinsmith0123@gmail.com>
79
80 * README-hacking: Mention gnulib import in XSParagraph subdirectory.
81
82 2016-08-13 Gavin Smith <gavinsmith0123@gmail.com>
83
84 * pretest 6.1.90
85
86 2016-08-13 Gavin Smith <gavinsmith0123@gmail.com>
87
88 * doc/texinfo-tex-test.texi (Document encoding): Test glyph
89 commands in section title.
90
91 2016-08-09 Gavin Smith <gavinsmith0123@gmail.com>
92
93 * doc/texinfo.tex (\indexnofonts): Eat the {} following glyph
94 commands, and add definitions for \atchar, \lbracechar and
95 \rbracechar.
96 (\definedummies): Add dummy for @atchar.
97 * doc/texinfo-tex-test.texi (Document encoding): Test some glyph
98 commands in section title.
99
100 2016-08-09 Gavin Smith <gavinsmith0123@gmail.com>
101
102 * doc/texinfo.tex (\balancecolumns): When making bottoms of the
103 two columns flush, use \unskip to remove glue from bottom of
104 columns. Remove code which ignored glue at the bottom of
105 columns when balancing columns, because this glue was there to
106 help to break before an index initial.
107
108 * doc/texinfo-tex-test.texi
109 (Final page initial at top of both columns): New example of
110 index formatting.
111 (Short indices): Add text saying what to look at for short
112 indices.
113 (\commenceindex, \finishindex): Move use of \smallfonts in order
114 not to cancel the change to \baselineskip done in
115 \begindoublecolumns.
116
117 2016-08-08 Masamichi Hosoda <trueroad@trueroad.jp>
118
119 * doc/texinfo.tex (\setpdfdestname): New macro for XeTeX.
120 (\pdfdestname): Escaped PDF destination name
121 is set by \setpdfdestname.
122 (\setpdfoutlinetext): New macro for XeTeX.
123 (\pdfoutlinetext): Converted and escaped outline text
124 is set by \setpdfoutlinetext.
125 (\pdfmkdest): Use \setpdfdestname.
126 (\dopdfoutline): Use \setpdfdestname and \setpdfoutlinetext.
127 (\xrefX): Use \setpdfdestname.
128
129 2016-08-08 Masamichi Hosoda <trueroad@trueroad.jp>
130
131 * doc/texinfo.tex (\setpdfdestname): New macro for pdfTeX and LuaTeX.
132 (\pdfdestname): Escaped PDF destination name
133 is set by \setpdfdestname.
134 (\setpdfoutlinetext): New macro for pdfTeX and LuaTeX.
135 (\pdfoutlinetext): Converted and escaped outline text
136 is set by \setpdfoutlinetext.
137 (\pdfmkdest): Use \setpdfdestname.
138 (\dopdfoutline): Use \setpdfdestname and \setpdfoutlinetext.
139 (\xrefX): Use \setpdfdestname.
140
141 2016-08-07 Masamichi Hosoda <trueroad@trueroad.jp>
142
143 * doc/texinfo.tex (\pdfescapestrutfsixteen):
144 Rename from \pdfescapestring for LuaTeX.
145 (PDFescstr): New Lua function.
146 (\pdfescapestring): New macro for LuaTeX.
147 (\txiescapepdfutfsixteen): New macro.
148 (\dopdfoutline): LuaTeX:
149 Use UTF-8 encodings instead of UTF-16 for PDF destination names.
150
151 2016-08-06 Gavin Smith <gavinsmith0123@gmail.com>
152
153 * doc/texinfo.tex (\doublecolumntopgap, \pagesofar)
154 (\begindoublecolumns): Remove use of \doublecolumntopgap
155 dimension.
156 (\begindoublecolumns): Don't touch \topskip or alter \vsize
157 other than doubling it.
158 (\balancecolumns): Use a different height for boxes when
159 splitting double column material roughly in two.
160 * doc/texinfo-tex-test.texi (Final page of index hard to balance):
161 Update so that test works properly.
162
163 2016-08-06 Gavin Smith <gavinsmith0123@gmail.com>
164
165 * doc/texinfo.tex (\entry): Remove stretch added before entry
166 here.
167 (\begindoublecolumns): Put stretch into \baselineskip, so it can
168 appear between the lines of a multi-line entry as well as
169 between entries. This results in more even line spacing.
170 (\indexwidowpenalty): Remove \unskip, because the glue it
171 removed isn't there anymore.
172 (\balancecolumns): Use \leftskip instead of indenting lines with
173 \parshape (which is equivalent to using \moveright), because
174 this is lost when the box is taken apart with \lastbox.
175 Change comment about use of \parshape. Do not set \hangindent
176 either.
177 (\ourunvbox): New macro to take apart a vbox with \lastbox and
178 re-add the boxes to the current vertical list.
179 (\insertindexentrybox): Use it to add the text of the index entry
180 to the current vertical list.
181 (\entrylinedepth): Remove \dimen.
182
183 2016-08-05 Masamichi Hosoda <trueroad@trueroad.jp>
184
185 * doc/texinfo.tex (\pdfmkdest, \dopdfoutline, \xrefX):
186 Change the method of destination name switching
187 Unicode or ASCII for pdfTeX and LuaTeX.
188
189 2016-08-04 Masamichi Hosoda <trueroad@trueroad.jp>
190
191 * doc/texinfo.tex (\iftxiuseunicodedestname):
192 Add initializing for pdfTeX and LuaTeX.
193
194 2016-08-04 Masamichi Hosoda <trueroad@trueroad.jp>
195
196 * doc/texinfo.tex (\pdfmkdest, \dopdfoutline, \xrefX):
197 Change the method of destination name switching
198 Unicode or ASCII for XeTeX.
199
200 2016-08-03 Gavin Smith <gavinsmith0123@gmail.com>
201
202 * doc/texinfo-tex-test.texi (Test of index widow elimination):
203 New test.
204 * doc/texinfo-tex-test.WIDOWs: Add file used in test.
205
206 2016-08-03 Gavin Smith <gavinsmith0123@gmail.com>
207
208 * doc/texinfo.tex (\indexdummies): Put "{}" after use of
209 \lbracechar and \rbracechar in index in order to avoid
210 whitespace following a @{ or @} command in an index being lost
211 when the index file is read back in.
212
213 2016-08-03 Gavin Smith <gavinsmith0123@gmail.com>
214
215 * doc/texinfo.tex (\balancecolumns) <right-hand column higher>:
216 Use height of right-hand column to avoid possibly overlapping
217 following text.
218 (\indexwidowpenalty): Rename from \indexwidowpenalty.
219 (\documentencoding): Change the spelling of a word in a message.
220
221 2016-08-03 Masamichi Hosoda <trueroad@trueroad.jp>
222
223 * doc/texinfo.tex (\pdfmkdest):
224 Fix LuaTeX PDF destination names.
225 LuaTeX can handle Unicode characters for destination names.
226 So pass through Unicode characters for LuaTeX.
227
228 2016-08-03 Masamichi Hosoda <trueroad@trueroad.jp>
229
230 * doc/texinfo.tex (\xref):
231 Fix pdfTeX PDF destination names.
232 In order to replace Unicode characters with ASCII,
233 it is necessary that \edef\pdfxrefdest{#1} is
234 before \turnoffactive.
235
236 2016-08-03 Masamichi Hosoda <trueroad@trueroad.jp>
237
238 * doc/texinfo.tex (\documentencoding):
239 Add warning for XeTeX with non-UTF-8 encodings.
240
241 2016-08-03 Masamichi Hosoda <trueroad@trueroad.jp>
242
243 * doc/texinfo.tex (\xref):
244 Fix XeTeX PDF destination names when \txiuseunicodedestnamefalse.
245 In order to replace Unicode characters with ASCII,
246 it is necessary that \edef\pdfxrefdest{#1} is
247 before \turnoffactive.
248
249 2016-08-02 Masamichi Hosoda <trueroad@trueroad.jp>
250
251 * doc/texinfo.tex (\urlcolor, \linkcolor, \endlink):
252 Fix XeTeX PDF color support
253 by copying from the definition for pdfTeX.
254
255 2016-08-01 Gavin Smith <gavinsmith0123@gmail.com>
256
257 * tp/Texinfo/Parser.pm (_end_line) <"misc text" commands>:
258 Convert @@, @} and @{ commands, so there is a way to include
259 these characters in filenames. (Previously this was done by the
260 Texinfo::Convert::Text module.)
261
262 2016-08-01 Masamichi Hosoda <trueroad@trueroad.jp>
263
264 * doc/texinfo.tex
265 (\rgbDarkRed, \rgbBlack, \setcolor, \maincolor, \thiscolor)
266 (\lastcolordefs, \makefootline, \makeheadline):
267 Copy from the definition for pdfTeX.
268 (\pdfsetcolor): Add XeTeX PDF color support.
269
270 2016-07-31 Gavin Smith <gavinsmith0123@gmail.com>
271
272 * doc/texinfo.tex (\balancecolumns): Reduce height limit for
273 splitting the final double-column material. Remove glue from
274 bottom of both left and right columns when comparing heights.
275 Compare heights of columns differently. When not making the
276 bottoms of the two columns flush, use the obtained height of the
277 taller left column for the height of both columns. (Otherwise,
278 an overful column box could overlap material below.) An example
279 of broken formatting due to this was reported in the AucTeX manual
280 by Arash Esbati.
281 Change some comments and edit for clarity.
282
283 2016-07-31 Gavin Smith <gavinsmith0123@gmail.com>
284
285 * doc/Makefile.am (TXI_XLATE): Add txi-ja.tex.
286 (EXTRA_DIST): Add texinfo-ja.tex and short-sample-ja.tex.
287
288 2016-07-31 Gavin Smith <gavinsmith0123@gmail.com>
289
290 * doc/texinfo.tex (\printindex): Set catcode of @ to 12 instead
291 of 11 so that e.g. "\@math" is not viewed all as one control
292 sequence when it should begin with the control letter "\@".
293
294 2016-07-30 Gavin Smith <gavinsmith0123@gmail.com>
295
296 * doc/refcard/txicmdcheck: Ignore @setcontentsaftertitlepage.
297 * doc/refcard/txivarcheck: Ignore HTMLXREF.
298 * doc/texinfo.texi (Customization Variables for @-Commands): Remove
299 @setcontentsaftertitlepage.
300
301 2016-07-30 Gavin Smith <gavinsmith0123@gmail.com>
302
303 * doc/texinfo-tex-test.texi (Test of @synindex): Add section.
304
305 2016-07-30 Gavin Smith <gavinsmith0123@gmail.com>
306
307 Remove --javascript-ref option, because nobody is using it.
308
309 * tp/texi2any.pl ($result_options): Remove option
310 --javascript-ref.
311 ($cmdline_options): Remove value 'JAVASCRIPT_REFS'.
312 * tp/Texinfo/Convert/HTML.pm
313 (default_javascript_lines): Remove function.
314 (%default_formatting_references): Remove 'javascript_lines'.
315 (output): Don't call default_javascript_lines.
316 (_file_header_informations): Don't use 'JAVASCRIPT_LINES' conf
317 value.
318 (_default_begin_file, default_node_redirection_page): Don't
319 include lines referring to a JavaScript file in the file header.
320 * tp/Texinfo/Common.pm (@variable_string_settables): Remove
321 'JAVASCRIPT_LINES'.
322 (@variable_other_settables): Remove 'JAVASCRIPT_REFS'.
323
324 2016-07-30 Gavin Smith <gavinsmith0123@gmail.com>
325
326 * tp/Texinfo/Common.pm (%block_commands, %block_item_commands)
327 (%item_line_commands): Remove 'ktable'.
328 (%command_index): Remove 'ktable'.
329 * tp/Texinfo/Parser.pm (module documentation part): Remove @ktable.
330 * tp/Texinfo/Convert/HTML.pm (%default_commands_conversion):
331 Remove conversion for @ktable.
332 (_convert_before_item_type): Add 'ktable' to a condition.
333 * tp/Texinfo/Convert/Plaintext.pm (%item_indent_format_length):
334 Remove 'ktable'.
335 * tp/t/22xtable.t (ktable): Remove test.
336
337 @ktable is being removed because nobody wants it anymore.
338
339 2016-07-30 Gavin Smith <gavinsmith0123@gmail.com>
340
341 * NEWS: Remove @ktable.
342 * doc/texinfo.texi (Command List) <@asis, @ktable>: Remove
343 @ktable.
344 (@ftable @vtable): Remove mention of @ktable.
345
346 2016-07-30 Gavin Smith <gavinsmith0123@gmail.com>
347
348 * doc/texinfo.tex (\ktable): Remove.
349
350 2016-07-30 Gavin Smith <gavinsmith0123@gmail.com>
351
352 * doc/texinfo.tex (\dosynindex): Call \requireopenindexfile so
353 that we copy a working file descriptor for the index. Remove code
354 that closes the file for the index getting redefined. Fixes
355 broken @synindex and @syncodeindex commands, reported by
356 Ralph Schleicher.
357
358 2016-07-28 Masamichi Hosoda <trueroad@trueroad.jp>
359
360 * doc/texinfo.tex
361 (\pdfdest, \dopdfoutline, \pdflink, \xrefX):
362 Fix XeTeX PDF destination name for consistent with pdfTeX.
363
364 2016-07-27 Masamichi Hosoda <trueroad@trueroad.jp>
365
366 * doc/texinfo.tex:
367 Improve some Unicode and XeTeX, LuaTeX related comments
368 by Werner Lemberg's suggestion.
369
370 2016-07-23 Gavin Smith <gavinsmith0123@gmail.com>
371
372 * doc/texinfo.tex (\indexdummies): Use \definedummyletter\@
373 instead of outputting "@@" as "@" in index file.
374 (\mylbrace, \myrbrace): Remove out-of-date comment.
375 (\rbracecmd, \lbracecmd, \rbraceatcmd, \lbraceatcmd):
376 Remove unused macros.
377 (\atdummies): Use \definedummyletter for \{ and \} instead of
378 using \lbraceatcmd and \rbraceatcmd.
379 (\atdummies, \indexdummies): Use \definedummyletter for
380 \(SPACE).
381
382 * doc/texinfo-tex-test.texi (Test of macros with @ in index):
383 New test.
384
385 2016-07-20 Masamichi Hosoda <trueroad@trueroad.jp>
386
387 * doc/texinfo.tex:
388 Add XeTeX `dvipdfmx:config' special
389 for avoiding PDF destination name replacement.
390
391 2016-07-20 Masamichi Hosoda <trueroad@trueroad.jp>
392
393 * doc/texinfo.tex (\pdfdest):
394 Fix XeTeX PDF destination.
395
396 2016-07-18 Gavin Smith <gavinsmith0123@gmail.com>
397
398 * tp/Texinfo/Parser.pm (_parse_texi) <misc commands>: Add
399 condition on call to _register_global_command.
400
401 2016-07-17 Gavin Smith <gavinsmith0123@gmail.com>
402
403 * tp/Texinfo/Parser.pm (_parse_texi) <root commands>: Initialize
404 contents here, so it will always be set.
405 (_end_line) <root commands>: Don't set contents here.
406
407 2016-07-17 Gavin Smith <gavinsmith0123@gmail.com>
408
409 * info/indices.c (apropos_in_all_indices): Only free file buffer
410 if we had to load it. Otherwise the file buffer could still be
411 referenced. Fixes crash reported by "mtsio@cryptolab.net".
412 * info/nodes.c (check_loaded_file): Function split out from
413 info_find_file.
414
415 2016-07-16 Gavin Smith <gavinsmith0123@gmail.com>
416
417 * dco/texinfo-tex-test.texi (Test of auxiliary files): Add test
418 of macro used in index entry.
419
420 2016-07-16 Gavin Smith <gavinsmith0123@gmail.com>
421
422 * doc/texinfo.tex (\macrolist, \addtomacrolist, \unmacro): Store
423 list of macros with "\commondummyword" instead of
424 "\definedummyword", so that we remove the macro when writing an
425 index sort key. Otherwise, texindex can produce a broken sorted
426 index file. This fixes bug introduced on 2016-05-28, when the
427 macros used in \commondummiesnofonts were changed.
428
429 2016-07-16 Gavin Smith <gavinsmith0123@gmail.com>
430
431 * doc/texinfo.tex (\ktable): Add to implement @ktable, following
432 pattern of \ftable and \vtable.
433
434 2016-07-16 Gavin Smith <gavinsmith0123@gmail.com>
435
436 * info/dir.c (build_dir_node): Save contents of dir node. This
437 avoids a memory leak when hide-node-references=On due to
438 scan_node_contents overwriting node->contents.
439
440 2016-07-16 Gavin Smith <gavinsmith0123@gmail.com>
441
442 * info/t/dir-merge.sh: New test.
443
444 2016-07-14 Gavin Smith <gavinsmith0123@gmail.com>
445
446 * doc/texinfo.texi (Command List) <@copying>: Correctly say
447 to end with "@end copying". Reported by Daniel Birket.
448
449 2016-07-12 Gavin Smith <gavinsmith0123@gmail.com>
450
451 * doc/texinfo.tex (\defmacro): Remove separate code for
452 recursive and non-recursive macros, because the code is
453 identical now (except possibly for macros of more than 9
454 arguments).
455
456 2016-07-11 Brandon Invergo <brandon@gnu.org>
457
458 * util/htmlxref.cnf (gnat_ugn_unw, gnat_ugn): Change manual name
459 and location.
460
461 2016-07-10 Gavin Smith <gavinsmith0123@gmail.com>
462
463 * info/info-utils.c (forward_to_info_syntax): Avoid reading past
464 end of string. Report by Hanno Böck.
465
466 2016-07-10 Gavin Smith <gavinsmith0123@gmail.com>
467
468 * NEWS: Mention @ktable.
469 * doc/texinfo.texi (Command List) <@asis, @ktable>: Mention
470 @ktable.
471 (@ftable @vtable): Change section heading to "@ftable, @vtable
472 and @ktable". Keep node name the same. Add index entry for
473 @ktable. Mention @ktable throughout. Delete some unnecessary
474 words.
475
476 2016-07-10 Gavin Smith <gavinsmith0123@gmail.com>
477
478 * tp/Texinfo/Common.pm (%block_commands, %block_item_commands)
479 (%item_line_commands): Add 'ktable'.
480 (%command_index): Add 'ktable'.
481 * tp/Texinfo/Parser.pm (module documentation part): Mention
482 @ktable and small grammar changes.
483 * tp/Texinfo/Convert/HTML.pm (%default_commands_conversion):
484 Add conversion for @ktable.
485 (_convert_before_item_type): Add 'ktable' to a condition.
486 * tp/Texinfo/Convert/Plaintext.pm (%item_indent_format_length):
487 Add 'ktable'.
488 * tp/t/22xtable.t (ktable): New test.
489
490 @ktable requested by Robert Weiner, following pattern of @vtable
491 and @ftable.
492
493 2016-07-09 Gavin Smith <gavinsmith0123@gmail.com>
494
495 * tp/Texinfo/Convert/Texinfo.pm: Remove commented-out debugging
496 statements.
497
498 2016-07-09 Gavin Smith <gavinsmith0123@gmail.com>
499
500 * NEWS, doc/texinfo.texi (Conditional Commands) <@errormsg>:
501 Update to reflect fact that @-commands inside @errormsg is no
502 longer supported.
503 * NEWS: Move a news item to the right place.
504
505 2016-07-09 Gavin Smith <gavinsmith0123@gmail.com>
506
507 * tp/Texinfo/Parser.pm (_parse_texi) <@errormsg, @U>: Don't use
508 Texinfo::Convert::Text::convert to get argument, because the
509 dependence on Texinfo::Convert::Text is a significant
510 complication.
511 (top level): Remove "use Texinfo::Convert::Text" directive.
512 (%default_valid_nestings): Don't allow anything inside @errormsg
513 or @U.
514 (__): Remove commented-out definition of '__' sub.
515 (parser): Remove commented-out loop printing values.
516
517 2016-07-05 Gavin Smith <gavinsmith0123@gmail.com>
518
519 * tp/Texinfo/Convert/Plaintext.pm: Add "use" directive for
520 Texinfo::Convert::NodeNameNormalization instead of relying on
521 this module being pulled in indirectly.
522
523 2016-07-05 Gavin Smith <gavinsmith0123@gmail.com>
524
525 * tp/Texinfo/Parser.pm: Remove comment referring to
526 'raw_formats_stack'.
527 (_parse_texi): Add debugging statement if the condition in an
528 inline command is missing.
529
530 2016-06-26 Gavin Smith <gavinsmith0123@gmail.com>
531
532 * tp/Texinfo/Parser.pm (_parse_texi, _register_global_command)
533 (_register_label, _enter_index_entry, _end_line)
534 (_parse_line_command_args, _parse_special_misc_commands): Remove
535 uses of _ignore_global_commands. Remove some commented-out
536 lines of code.
537 (parser, simple_parser): Remove reference to
538 $self->{'expanded_formats_stack'}.
539 (_ignore_global_commands): Removed.
540
541 2016-06-26 Gavin Smith <gavinsmith0123@gmail.com>
542
543 * tp/Texinfo/Parser.pm (_parse_texi): For raw block commands
544 (like @tex) and raw inline commands (@inlinefmt), skip over the
545 part of the conditional that isn't expanded, instead of parsing
546 it as usual and using a stack of expanded conditionals. Add a
547 dummy argument to the parse tree for the skipped-over argument.
548 This will mean that there is no use for the
549 _ignore_global_commands function. This change is intended to
550 make implementation of the parser module in C easier, and should
551 also make the Perl module itself simpler.
552
553 (_close_current, _close_commands): Do not refer to
554 $self->{'expanded_formats_stack'}.
555
556 (_ignore_global_commands): Always return 0.
557
558 2016-06-25 Gavin Smith <gavinsmith0123@gmail.com>
559
560 * tp/t/test_utils.pl (set_converter_option_defaults): Set
561 default expanded formats hash for converter even if this was
562 given in the parser options. This helps to make the parser
563 options and converter options separate.
564
565 (test) If expanded formats not defined in the parser options,
566 expand all of the formats except 'tex'.
567
568 * t/16raw.t,
569 * t/50value.t,
570 * t/55conditionals.t,
571 * t/57invalid_nestings.t,
572 * t/60macro.t,
573 * t/converters_tests.t,
574 * t/html_tests.t,
575 * t/plaintext_tests.t:
576 Add 'expanded_formats' configuration values where required to
577 minimize changes to the results of the tests.
578
579 2016-06-19 Gavin Smith <gavinsmith0123@gmail.com>
580
581 * tp/Texinfo/Parser.pm (_end_line, _parse_texi): Remove some
582 commented-out code.
583
584 2016-06-19 Gavin Smith <gavinsmith0123@gmail.com>
585
586 * tp/Texinfo/Parser.pm (_parse_texi) <@value>: Don't handle
587 arrays or hashes as values any more. These used to be used for
588 string translation.
589
590 2016-06-18 Gavin Smith <gavinsmith0123@gmail.com>
591
592 * doc/texinfo-tex-test.texi (Final page of index hard to balance):
593 Add section testing the problematic situation reported by Robert
594 Weiner.
595
596 2016-06-18 Gavin Smith <gavinsmith0123@gmail.com>
597
598 * doc/texinfo-tex-test.texi (Test of characters in section title):
599 New section testing characters in a section title.
600
601 2016-06-18 Gavin Smith <gavinsmith0123@gmail.com>
602
603 * doc/texinfo.tex (\balancecolumns): If the left column is
604 longer than the page height, split the last double column
605 material roughly in half. Otherwise, a blank page could appear
606 before the last page of an index. Blank page in index reported
607 by Robert Weiner.
608
609 2016-06-14 Gavin Smith <gavinsmith0123@gmail.com>
610
611 * tp/Texinfo/Parser.pm (_parse_texi) <@U>: Change the error
612 message given when argument exceeds size of integer. (This is
613 for consistency with the C implementation which may have a
614 different size of integer.)
615
616 2016-06-14 Gavin Smith <gavinsmith0123@gmail.com>
617
618 * tp/Texinfo/Parser.pm (_parse_texi) <closed raw block command>:
619 Do not call _start_empty_line_after_command, and add an
620 'empty_line_after_command' element. This led to an inconsistent
621 meaning for the 'spaces_after_command' extra value, and an
622 existing extra value could be overwritten, for example for a
623 @verbatim block, where the 'spaces_after_command' could be
624 immediately after the '@verbatim' line, or after the entire
625 block.
626
627 2016-06-13 Vincent Belaïche <vincentb1@users.sourceforge.net>
628
629 * util/texi2dvi (run_tex): Inline function listing unusual
630 characters and pass through literal backslash-newline sequence
631 to sed by use of single quotes. Also, pass input file as a
632 separate argument for the benefit of MSYS path conversion.
633
634 2016-06-12 Gavin Smith <gavinsmith0123@gmail.com>
635
636 * tp/Texinfo/Parser.pm (_print_tree),
637 * tp/Texinfo/Common.pm (print_tree): Move implementation
638 to Common.pm.
639
640 2016-06-12 Gavin Smith <gavinsmith0123@gmail.com>
641
642 * tp/Texinfo/Convert/NodeNameNormalization.pm: Remove
643 commented-out code.
644
645 2016-06-11 Gavin Smith <gavinsmith0123@gmail.com>
646
647 * tp/Texinfo/Parser.pm (_end_line) <@end, @include>
648 <@documentencoding, @documentlanguage>: Do not call
649 Texinfo::Convert::Text::convert to get the argument to the
650 command. Instead, call _trim_spaces_comment_from_content to
651 find the element containing the text for the command. Give an
652 error message if there are excessive elements in the argument
653 (e.g. @-commands).
654
655 This has the consequence that @@ can no longer be used to
656 refer to an @-sign in an @include command (similarly for "@ "
657 for " ", and some other @-commands).
658
659 2016-06-11 Gavin Smith <gavinsmith0123@gmail.com>
660
661 * doc/texinfo.texi (@setfilename): Fix typo.
662
663 2016-06-09 Gavin Smith <gavinsmith0123@gmail.com>
664
665 * tp/Texinfo/Convert/TextContent.pm: Remove commented-out and
666 disabled code.
667
668 2016-06-09 Gavin Smith <gavinsmith0123@gmail.com>
669
670 * doc/texinfo-text-test.texi (@set and @value): Add a chapter
671 for tests of @set and @value. Add a test of a value in an index
672 entry which is only defined after the index entry.
673
674 2016-06-09 Gavin Smith <gavinsmith0123@gmail.com>
675
676 * README-hacking: Remove line referring to "parsetexi"
677 subdirectory.
678
679 2016-06-09 Gavin Smith <gavinsmith0123@gmail.com>
680
681 * tp/Texinfo/Structuring.pm (nodes_tree): Refer to
682 Texinfo::Common::parse_node_manual instead of
683 Texinfo::Parser::_parse_node_manual.
684 * tp/t/test_utils.pl (cmp_trimmed): Put module name "Test::Deep"
685 in front of function "cmp_deeply" which comes from it.
686
687 2016-06-07 Gavin Smith <gavinsmith0123@gmail.com>
688
689 * doc/texinfo.tex (\dopdfoutline): For display string for PDF
690 bookmark, check if encoding is Latin-1, and if so, call
691 \passthroughcharstrue.
692
693 2016-06-07 Gavin Smith <gavinsmith0123@gmail.com>
694
695 * doc/texinfo.tex (\pdfmkdest): Call \passthroughcharsfalse in
696 order to use ASCII approximations in destination names.
697
698 2016-06-07 Gavin Smith <gavinsmith0123@gmail.com>
699
700 * doc/texinfo.tex (\txiescapepdf) <\pdfescapestring not defined>:
701 Completely expand argument, as is done in the other case.
702
703 2016-06-04 Gavin Smith <gavinsmith0123@gmail.com>
704
705 * util/texi2dvi (run_tex): Use \ followed by newline instead of
706 "\n" in replacement text of 'sed' 's' command. Problem with
707 some versions of sed reported by Vincent Belaïche.
708
709 2016-06-03 Gavin Smith <gavinsmith0123@gmail.com>
710
711 * doc/texinfo.tex (\UTFviiiLoop): Add a missing % character in
712 definition of non-initial bytes in UTF-8 sequences.
713 (\DeclareUnicodeCharacterUTFviii): Move definition of
714 \UTFviiiTwoOctets (and others) out of this macro and rename
715 them. Add more comments.
716
717 2016-06-01 Gavin Smith <gavinsmith0123@gmail.com>
718
719 * util/texi2dvi (run_tex): Only check for certain unusual
720 characters in the filename, using 'sed'. (Suggestion from
721 Vincent Belaïche.) Loop through any that occurred and change the
722 catcode to 12 within a TeX group.
723
724 2016-05-30 Gavin Smith <gavinsmith0123@gmail.com>
725
726 * util/texi2dvi (cd_dir): Check if argument is absolute, and if
727 so, make all the path variables absolute. Fix test of whether a
728 variable is absolute or not. Absolute path given to --build-dir
729 broken reported by Daniel Gerbert.
730 (cd_orig): If cdd_prefix is empty, don't try to remove it.
731
732 2016-05-29 Gavin Smith <gavinsmith0123@gmail.com>
733
734 * tp/t/test-utils.pl (@avoided_keys_tree): Don't compare
735 'remaining_args' values. This is for the XS module, which
736 doesn't output them.
737
738 2016-05-29 Gavin Smith <gavinsmith0123@gmail.com>
739
740 * tp/Texinfo/Parser.pm (_parse_macro_command_line): Order of
741 error messages changed.
742
743 2016-05-29 Gavin Smith <gavinsmith0123@gmail.com>
744
745 * tp/Texinfo/Parser.pm (_parse_texi) <@acronym, @abbr>: Don't
746 set 'explained_commands' hash or 'explanation_contents' extra
747 value on elements.
748 * tp/Texinfo/Convert/HTML.pm (_convert_explained_command): Move
749 the code for keeping track of previous acronym explanations
750 here.
751
752 2016-05-28 Gavin Smith <gavinsmith0123@gmail.com>
753
754 * tp/Texinfo/Parser.pm (_parse_texi) <@novalidate>,
755 * texi2any.pl <option processing>,
756 * tp/Texinfo/Structuring.pm (nodes_tree)
757 (associate_internal_references),
758 * tp/Texinfo/Common.pm (%default_parser_state_configuration):
759 Use $self->{'info'}->{'novalidate'} instead of
760 $self->{'novalidate'}. Delete some commented-out code.
761
762 2016-05-28 Gavin Smith <gavinsmith0123@gmail.com>
763
764 * doc/texinfo.tex (\indexnofontsvalue): New definition for a
765 @value when expanded in an index entry sort key.
766 (\indexnofonts): Call it.
767 (\dummyvalue): If @value is undefined, pass through an
768 unexpanded @value command to the auxiliary file.
769
770 2016-05-28 Gavin Smith <gavinsmith0123@gmail.com>
771
772 * doc/texinfo.tex (\commondummies): Move definitions of
773 \definedummyword, \definedummyletter, \definedummyaccent out of
774 \commondummies. Reorder a comment to put content about control
775 words next to content about \definedummyword. Rename this macro
776 \definedummies, to reduce confusion with \commondummiesnofonts.
777
778 (\commondummiesnofonts): Use different names for the parameters.
779 Add a comment saying what is listed here.
780
781 2016-05-26 Gavin Smith <gavinsmith0123@gmail.com>
782
783 * doc/texinfo-tex-test.texi (Test of auxiliary files): Note
784 where cross-references should definitely work. Add section
785 testing `-' and `_' in a @value.
786
787 2016-05-26 Gavin Smith <gavinsmith0123@gmail.com>
788
789 * doc/texinfo.tex (\setref): Give \value a definition to match
790 those in \xrdef, \refx and \xrefX, to fix @value in
791 cross-reference targets.
792
793 2016-05-26 Gavin Smith <gavinsmith0123@gmail.com>
794
795 * doc/texinfo.tex (\dummyvalue): New definition of @value for
796 writing to auxiliary files. Expand the @value at the time of
797 writing, reversing change on 2016-05-07.
798 (\commondummies): Use \dummyvalue definition for @value.
799 Files using @value's in section titles broken when value was
800 @set after the table of contents, reported by Paul Eggert.
801
802 2016-05-24 Gavin Smith <gavinsmith0123@gmail.com>
803
804 * tp/Texinfo/Parser.pm (_abort_empty_line): Look for a
805 'spaces_after_command' empty extra value on the parent element
806 as well to stop an 'empty_line_after_command' element lingering.
807
808 2016-05-22 Gavin Smith <gavinsmith0123@gmail.com>
809
810 * tp/Texinfo/Parser.pm (_parse_texi) <@definfoenclose command>:
811 Don't overwrite any 'extra' values, such as 'invalid_nesting'.
812
813 2016-05-22 Gavin Smith <gavinsmith0123@gmail.com>
814
815 * NEWS: Update with news since 6.1 release.
816
817 2016-05-22 Ingo Feinerer <feinerer@logic.at> (tiny change)
818
819 * util/texi2dvi (run_tex, make_openout_test): Use parentheses
820 around "eval" command in order not to exit prematurely due to
821 "set -e" with ksh under OpenBSD.
822
823 2016-05-08 Gavin Smith <gavinsmith0123@gmail.com>
824
825 * tp/Texinfo/Parser.pm (_parse_texi) <@abbr and @acronym>: Don't
826 set 'normalized' values on elements. Remove commented-out code.
827 (module documentation): Don't document that a list of the
828 elements is kept in $self->{'explained_commands'}.
829
830 2016-05-08 Gavin Smith <gavinsmith0123@gmail.com>
831
832 * tp/Texinfo/Structuring.pm (associate_internal_references):
833 Avoid adding an undefined 'label' value under certain
834 circumstances.
835
836 2016-05-08 Gavin Smith <gavinsmith0123@gmail.com>
837
838 * tp/Texinfo/Parser.pm (_abort_empty_line): Remove a
839 'spaces_after_command' empty extra value, just as an empty
840 'spaces_before_argument' value is removed. This stops an
841 'empty_line_after_command' element lingering as an extra value.
842
843 2016-05-07 John Collins <jcc8@psu.edu> (tiny change)
844
845 * doc/texinfo.tex (\typeout): New macro defined like in LaTeX for
846 ensuring message are identical in format as those output by
847 latex/pdflatex.
848 (\requireopenindexfile): \typeout trace Writing index file.
849 (\printindex) \typeout trace No file.
850
851 2016-05-07 Gavin Smith <gavinsmith0123@gmail.com>
852
853 * doc/texinfo.tex (\mylbrace, \myrbrace): Avoid use of \ecfont,
854 because the user may not have it installed. Use \lbrace and
855 \rbrace from plain TeX instead.
856 * doc/texinfo-tex-test.texi (Test of non-alphanumeric characters):
857 New section.
858
859 2016-05-07 Gavin Smith <gavinsmith0123@gmail.com>
860
861 * doc/texinfo.tex (\commondummies): Define \value as a dummy.
862 Do not call \makevalueexpandable.
863 (\xrdef, \refx, \xrefX): Give \value a definition so we can get
864 rid of it when making a control sequence name for a
865 cross-reference target. Comments changed.
866
867 * doc/texinfo-tex-test.texi (Test of auxiliary files): New
868 section testing uses of @value in index entries and anchors.
869
870 2016-05-07 Masamichi Hosoda <trueroad@trueroad.jp>
871
872 * doc/texinfo-ja.tex (\writetocentry):
873 Fix XeTeX PDF link page number duplicates.
874 For XeTeX, change \pdfmakepagedesttrue timing to after TOC writing.
875
876 2016-05-06 Masamichi Hosoda <trueroad@trueroad.jp>
877
878 * doc/texinfo-ja.tex: New File.
879 Japanese texinfo.tex loader.
880 Some CJK packages are necessary to load before texinfo.tex.
881 * doc/txi-ja.tex: New File.
882 Japanese translations and font definitions for texinfo.tex.
883 * doc/short-sample-ja.tex: New File.
884 Short sample of Japanese Texinfo support files.
885
886 2016-05-05 Vincent Belaïche <vincentb1@users.sourceforge.net>, and
887 Gavin Smith <gavinsmith0123@gmail.com>
888
889 * util/texi2dvi (make_tex_cmd): Remove use of 'catcode_special'
890 variable for filenames containing a tilde. Do not append
891 "\input" to the command-line to TeX.
892 (run_tex): Check whether the filename contains a funny character
893 like a tilde. If so, change the TeX category codes of some
894 characters within a group, and use \expandafter to input a file
895 outside of the group. Append \input to the command-line.
896
897 (option parsing): Make -~ do nothing.
898 (make_openout_test): Don't refer to 'catcode_special' variable.
899
900 2016-05-04 Gavin Smith <gavinsmith0123@gmail.com>
901
902 * util/texi2dvi (cd_orig, cd_dir): Use SED variable instead of
903 sed directly.
904
905 2016-05-03 Gavin Smith <gavinsmith0123@gmail.com>
906
907 * util/texi2dvi (usage): Change wording of documentation of
908 --mostly-clean option.
909 (input_file_name_decode): Remove unused 'in_dir_abs' variable.
910 (cd_orig): Don't use ${VAR#WORD} feature because it doesn't
911 exist in some older shells. Use sed instead.
912 (cd_dir): Don't use \+ feature of sed because it is said not to
913 be portable.
914 (move_to_dest): Remove commented-out echo line.
915
916 2016-05-03 Gavin Smith <gavinsmith0123@gmail.com>
917
918 * util/texi2dvi (cd_dir): New function, to change directory
919 while updating variables containing paths.
920 (cd_orig): Reverse the changes to these variables made in cd_dir.
921
922 (run_tex_suite, make_openout_test): Use 'cd_dir' instead of
923 'cd'.
924
925 (input_file_name_decode, main program loop): Don't change
926 variables t2ddir, in_dir to be absolute. This could cause
927 problems passing filenames to TeX if the absolute path to the
928 input file contained a space or another unusual character.
929 (Problem found following report by Stephen Dawson.)
930
931 (run_tex) [--tidy]: Remove code that uses a symbolic link to the
932 file being processed. This meant that --command didn't work
933 along with --tidy due to the path to the file with the inserted
934 commands being overridden. It is less necessary when absolute
935 paths aren't used. (Problem found following report by
936 Guo Yixuan).
937
938 (cleanup): Refer to 'clean' and 'tidy' variables instead of
939 'build_mode'. (No functional change.)
940 (compile): Change a comment.
941
942 2016-05-01 Gavin Smith <gavinsmith0123@gmail.com>
943
944 * util/texi2dvi (usage): Streamline help message. Don't mention
945 option '-@' (but don't touch the implementation of this option
946 to avoid breaking anything). Don't mention pdftexi2dvi or
947 --dvipdf in the summary. Don't mention --silent as a synonym
948 for --quiet, and don't mention --texinfo for --command. Move
949 mention of @setfilename next to --command. Remove mention of
950 AUC-TeX. Only mention -E for --expand, and not -e.
951
952 2016-04-25 Theodore Ts'o <tytso@mit.edu> (tiny change)
953
954 * util/texi2dvi (make_tex_cmd): Check whether 'catcode_special'
955 variable is equal to 'false' instead of 'maybe', so it doesn't
956 get set to 'false' on the second round when the variable has the
957 value 'true'. Otherwise it breaks if the path to the file
958 contains a tilde.
959
960 2016-04-25 Gavin Smith <gavinsmith0123@gmail.com>
961
962 * util/texi2dvi (make_openout_test): Place double quotes around
963 expansion of shell variable to be more resilient in case path to
964 file contains spaces. Problem reported by Stephen H. Dawson.
965
966 2016-04-24 Gavin Smith <gavinsmith0123@gmail.com>
967
968 * tp/Texinfo/Parser.pm (_expand_macro_body, _parse_texi):
969 Place 'args_index' hash as a value in the elements of
970 $self->{'macro'}, instead of being stored as an 'extra' value.
971 This change is because the 'arg_index' hash is not used outside
972 of Parser.pm.
973
974 2016-04-24 Gavin Smith <gavinsmith0123@gmail.com>
975
976 * tp/Texinfo/Parser.pm (_expand_macro_arguments)
977 (_expand_macro_body, _end_line <insertcopying>, parse_texi):
978 Make $self->{'macros'} hash contain hashes which refer to the
979 elements that define the macro with the 'element' key, instead
980 of containing the elements themselves. Define 'macrobody' on
981 the elements of $self->{'macros'}, instead of defining it as an
982 'extra' value. This change is because the 'macrobody' is not
983 used outside of Parser.pm.
984
985 2016-04-14 Gavin Smith <gavinsmith0123@gmail.com>
986
987 * tp/Texinfo/Parser.pm (_end_line),
988 * tp/Texinfo/Structuring.pm (number_floats): Set
989 $float->{'extra'}->{'float_section'} instead of
990 $float->{'float_section'}, where $float is a @float element.
991
992 2016-04-14 Gavin Smith <gavinsmith0123@gmail.com>
993
994 * tp/Texinfo/Parser.pm (_next_bracketed_or_word): Don't set
995 parent field on created bracketed_def_content element.
996
997 2016-04-14 Gavin Smith <gavinsmith0123@gmail.com>
998
999 * doc/texinfo.tex (\scanmacro): Set catcode of @ to 0 so that
1000 @-commands in macro expansions aren't printed literally in an
1001 index, where \ is the escape character.
1002 (\tex, \printindex): Don't set \escapechar.
1003 Broken formatting reported by Christophe Rhodes and Norbert Preining.
1004
1005 2016-04-09 Gavin Smith <gavinsmith0123@gmail.com>
1006
1007 * tp/Texinfo/Parser.pm (_parse_node_manual): Move implementation
1008 of function to tp/Texinfo/Common.pm.
1009
1010 2016-04-09 Gavin Smith <gavinsmith0123@gmail.com>
1011
1012 Reduce references to Texinfo::Parser module.
1013
1014 * tp/Texinfo/Parser.pm (_parse_def): Remove commented-out code.
1015 * tp/Texinfo/Convert/HTML.pm: Refer to
1016 Texinfo::Common::_print_current instead of
1017 Texinfo::Parser::_print_current.
1018 (command_filename, _convert_key_command)
1019 (_convert_indicateurl_command, _convert_ctrl_command)
1020 (_convert_titlefont_command, _convert_style_command)
1021 (_convert_float_command): Remove commented-out code.
1022 * tp/Texinfo/Parser.pm (_parse_node_manual): Add a comment.
1023
1024 * tp/Texinfo/Convert/Converter.pm (_bug_message),
1025 * tp/Texinfo/Convert/DocBook.pm (_convert),
1026 * tp/Texinfo/Convert/TexinfoXML.pm (_convert):
1027 Refer to Texinfo::Common::_print_current instead of
1028 Texinfo::Parser::_print_current.
1029
1030 2016-04-09 Gavin Smith <gavinsmith0123@gmail.com>
1031
1032 * tp/Texinfo/Common.pm (%index_names): Don't set a 'prefix'
1033 array on each member.
1034 (%command_index_prefix): Replace with a new variable called
1035 %command_index.
1036 (definition_category, %index_type_def): Update.
1037
1038 * tp/Texinfo/Parser.pm (%command_index_prefix, %command_index): Update.
1039 (_enter_index_entry, _register_index_commands): Don't use
1040 $self->{'prefix_to_index_name'}. Don't set 'index_prefix' on
1041 index entry record.
1042 (_end_line) <def commands>,
1043 (_end_line) <@item, @itemx>,
1044 (_parse_texi) <@ifcommanddefined>,
1045 (parser, simple_parser): Use %command_index instead of
1046 %command_index_prefix.
1047 (_register_index_commmands): Don't use 'prefix' array on index
1048 record. Inline into calling sites.
1049
1050 2016-04-09 Gavin Smith <gavinsmith0123@gmail.com>
1051
1052 * tp/Texinfo/Parser.pm (parse_texi_file, _parse_texi): Set
1053 'parent' field on created elements in the main tree.
1054
1055 2016-04-09 Gavin Smith <gavinsmith0123@gmail.com>
1056
1057 * tp/Texinfo/Parser.pm (_parse_texi) <brace commands>: Define
1058 'contents' for all brace commands again (changed on 2016-03-28).
1059 (_end_line) <@itemize, @table>: Add 'contents' for @asis and
1060 @bullet elements.
1061
1062 2016-04-03 Gavin Smith <gavinsmith0123@gmail.com>
1063
1064 * tp/Texinfo/Parser.pm (_parse_line_command_args) <@exampleindent>:
1065 Don't permit trailing text after a numeric argument.
1066
1067 2016-04-03 Gavin Smith <gavinsmith0123@gmail.com>
1068
1069 * tp/Texinfo/Parser.pm: Use "closing brace" instead of "close
1070 brace" in messages, and use "the beginning of a line" instead of
1071 "a line beginning".
1072
1073 2016-04-03 Gavin Smith <gavinsmith0123@gmail.com>
1074
1075 * tp/Texinfo/Parser.pm (_end_line) <@multitable prototypes>: Don't
1076 set parent field for created 'bracketed_multitable_prototype'
1077 element.
1078
1079 2016-04-03 Gavin Smith <gavinsmith0123@gmail.com>
1080
1081 * tp/Texinfo/Parser.pm (_end_line) <@multitable prototypes>: Don't
1082 save a 'prototypes_line' extra value for the multitable element.
1083 * tp/Texinfo/Convert/TexinfoXML.pm (_convert) <@multitable>:
1084 Reconstruct the information that was in 'prototypes_line'.
1085
1086 2016-03-29 Masamichi Hosoda <trueroad@trueroad.jp>
1087
1088 * doc/texinfo.tex (\skipspaces, \getfilename):
1089 Copy from the definition for pdfTeX.
1090 (\xrefX): Add XeTeX @xref PDF link support.
1091
1092 2016-03-29 Masamichi Hosoda <trueroad@trueroad.jp>
1093
1094 * doc/texinfo.tex (\pdfmkdest, \dopdfoutline):
1095 Add \txiescapepdf for XeTeX.
1096
1097 2016-03-28 Gavin Smith <gavinsmith0123@gmail.com>
1098
1099 * tp/Texinfo/Parser.pm (_node_extra_to_texi): Move to
1100 tp/Texinfo/Convert/Texinfo.pm and rename 'node_extra_to_texi'.
1101
1102 2016-03-28 Gavin Smith <gavinsmith0123@gmail.com>
1103
1104 * tp/Texinfo/Parser.pm (_abort_empty_line): Check if
1105 'spaces_before_argument' extra value needs to be removed from
1106 parent as well as from current element.
1107
1108 2016-03-28 Gavin Smith <gavinsmith0123@gmail.com>
1109
1110 * tp/Texinfo/Parser.pm (parse_texi): Always set parent on
1111 element of type 'empty_spaces_before_argument'.
1112
1113 2016-03-28 Gavin Smith <gavinsmith0123@gmail.com>
1114
1115 * tp/Texinfo/Parser.pm (%keep_line_nr_brace_commands): Keep line
1116 number for all brace commands.
1117 (_parse_texi) <open brace separator>: Don't save line number
1118 here.
1119
1120 2016-03-28 Gavin Smith <gavinsmith0123@gmail.com>
1121
1122 * tp/Texinfo/Parser.pm (_parse_texi) <commands with commands as
1123 arguments>: Don't remove 'contents'.
1124
1125 2016-03-28 Gavin Smith <gavinsmith0123@gmail.com>
1126
1127 * tp/Texinfo/Parser.pm (%keep_line_nr_brace_commands): Add
1128 accent commands, so that the line number always recorded for
1129 accent commands (previously only done if the accent command took
1130 an argument in braces).
1131 (_parse_texi) <brace commands>: Never define 'contents' for an
1132 accent command.
1133
1134 2016-03-27 Gavin Smith <gavinsmith0123@gmail.com>
1135
1136 * tp/Texinfo/Convert/HTML.pm: Add line
1137 "use Texinfo::Convert::NodeNameNormalization" instead of relying
1138 on module being pulled in indirectly.
1139
1140 2016-03-27 Gavin Smith <gavinsmith0123@gmail.com>
1141
1142 * parsetexi, tp/parsetexi: Move subdirectory in preparation for
1143 integration into texi2any as an XS module.
1144
1145 2016-03-26 Gavin Smith <gavinsmith0123@gmail.com>
1146
1147 * tp/Texinfo/Report.pm (_subsititue, _substitute_element_array):
1148 New functions.
1149 (gdt): Only pass @value's to parser if they are simple strings.
1150 before running parser. This will be necessary when we use the
1151 XS parser, which we can't pass complex Perl data structures to.
1152 Call _substitute afterwards on the resulting tree to fill in
1153 @value's.
1154 * tp/Texinfo/Parser.pm (_parse_texi) <undefined @value>: Call
1155 _abort_empty_line as is done for the other cases. Add a comment
1156 explaining when we'll get an undefined @value.
1157 * tp/t: Update reference test results. No empty elements ("{}")
1158 after value subsititutions any more. Empty line elements before
1159 unknown values removed.
1160
1161 2016-03-26 Gavin Smith <gavinsmith0123@gmail.com>
1162
1163 * tp/Texinfo/Convert/XSParagraph/configure.ac (lookup_perl_flags):
1164 Remove AC_DEFUN and use lookup_perl_conf instead. Processing of
1165 flags broken if one of them took an argument, e.g. '-arch'.
1166 Broken build for Darwin reported by Jack Howart.
1167
1168 2016-03-23 Masamichi Hosoda <trueroad@trueroad.jp>
1169
1170 * doc/texinfo.tex (\internalpagesizes):
1171 Add XeTeX PDF paper size support.
1172
1173 2016-03-23 Masamichi Hosoda <trueroad@trueroad.jp>
1174
1175 * doc/texinfo.tex (\urefbreakfinish):
1176 Add XeTeX \urefurlonlylinktrue support.
1177
1178 2016-03-23 Masamichi Hosoda <trueroad@trueroad.jp>
1179
1180 * doc/texinfo.tex (\email, \doemail):
1181 Copy from the definition for pdfTeX.
1182 Add XeTeX @email support.
1183
1184 2016-03-23 Masamichi Hosoda <trueroad@trueroad.jp>
1185
1186 * doc/texinfo.tex (\pdfgettoks, \pdfaddtokens, \adn, \poptoks)
1187 (\maketoks, \makelink, \pdflink, \done):
1188 Copy from the definition for pdfTeX and modify for XeTeX.
1189 Add XeTeX PDF table of contents page number link support.
1190
1191 2016-03-22 Masamichi Hosoda <trueroad@trueroad.jp>
1192
1193 * doc/texinfo.tex (\pdfurl, \endlink):
1194 Copy from the definition for pdfTeX and modify for XeTeX.
1195 Add XeTeX PDF URL link support.
1196
1197 2016-03-22 Masamichi Hosoda <trueroad@trueroad.jp>
1198
1199 * doc/texinfo.tex (\iftxiuseunicodedestname): New switch.
1200 (\pdfmkdest, \dopdfoutline, \pdfmakeoutlines):
1201 Add XeTeX Unicode PDF destination name support.
1202
1203 2016-03-21 Gavin Smith <gavinsmith0123@gmail.com>
1204
1205 * doc/texinfo.tex (\scanexp): Simply call \scanmacro instead of
1206 expanding argument with \edef.
1207 (\Efloat) <xref label for @float>: Don't call \scanexp. Remove
1208 a comment. Change some tabs to spaces.
1209 * doc/test-texinfo-tex-texi.tex (Copying and captions): New
1210 section testing @float and @copying.
1211
1212 Broken Unicode character in @copying reported by Masamichi
1213 Hosoda.
1214
1215 2016-03-21 Masamichi Hosoda <trueroad@trueroad.jp>
1216
1217 * doc/texinfo.tex: Combine sections with XeTeX support.
1218
1219 2016-03-21 Masamichi Hosoda <trueroad@trueroad.jp>
1220
1221 * doc/texinfo.tex (\ifxeteximgpdf): Remove.
1222 (\doxeteximage): Improve XeTeX @image support.
1223
1224 2016-03-21 Thomas Klausner <tk@giga.or.at> (tiny change)
1225
1226 * tp/Texinfo/Convert/XSParagraph/xspara.c (xspara_add_text):
1227 Do not call text_append_n with (size_t)-1. Fix typos.
1228
1229 2016-03-20 Masamichi Hosoda <trueroad@trueroad.jp>
1230
1231 * doc/texinfo.tex (\ifpassthroughchars):
1232 Remove duplicated definition.
1233
1234 2016-03-07 Karl Berry <karl@freefriends.org>
1235
1236 * util/texi2dvi (version): add +dev, since the release has happened.
1237
1238 2016-03-06 Gavin Smith <gavinsmith0123@gmail.com>
1239
1240 Control expansion of non-ASCII bytes with a conditional.
1241
1242 * doc/texinfo.tex (\gdefchar): New macro. If
1243 \ifpassthroughchars, output a token with catcode "other" for
1244 each byte instead of expanding into the TeX code to display the
1245 character.
1246 (\latonechardefs, \lattwochardefs): Use \gdefchar instead of
1247 \gdef.
1248 (definitions for bytes in UTF-8 sequences): Check value of
1249 \ifpassthroughchars, and if true, output a token with catcode
1250 "other". Give definitions for bytes that could appear after the
1251 first in a UTF-8 sequence. Use \gdef instead of \xdef when
1252 using \UTFviiLoop. Add some comments.
1253
1254 (\passthroughcharacters): Remove macro, and replace uses of it
1255 with "\passthroughcharstrue".
1256 (\nonasciistringdefs): Remove.
1257
1258 (\setcharscatcodeothernonglobal): Remove.
1259 (\nativeunicodecharscatcodeothernonglobal): Remove.
1260 (\scanctxt): Replace use of \setcharscatcodeothernonglobal with
1261 \passthroughcharstrue.
1262 (\setupdatafile): Don't call \setcharscatcodeothernonglobal.
1263 (The existing call appeared not to do anything because it took
1264 place within a group.)
1265
1266 2016-03-05 Gavin Smith <gavinsmith0123@gmail.com>
1267
1268 * doc/texinfo-tex-test.texi: Add example with a closing brace
1269 following an empty macro argument. Update remark about what is
1270 expected for space trimming from macro arguments.
1271
1272 2016-03-05 Gavin Smith <gavinsmith0123@gmail.com>
1273
1274 * doc/texinfo.tex (\defmacro): Don't attempt to strip spaces at
1275 the start of the argument to a macro taking only one argument.
1276 This could lead to an error ("Argument of @gobblespaces has an
1277 extra }") for an empty argmuent. Reported by Norbert Preining
1278 for ESS manual.
1279 (\gobblespaces): Removed.
1280 (\parsemargdef, \scanmacro, \defmacro): Put "\xeatspaces" in
1281 body of macro, instead of "\processmacroarg". For
1282 single-argument macros, make it disappear instead of letting it
1283 equal to \eatspaces.
1284
1285 2016-03-04 Gavin Smith <gavinsmith0123@gmail.com>
1286
1287 * info/infokey.c (compile): Check if key sequence was defined as
1288 "invalid" in infokey file, and if so, record it by saving a
1289 pointer to a null InfoCommand structure. Broken handling of
1290 "invalid" reported by Ken Brown.
1291
1292 2016-03-04 Gavin Smith <gavinsmith0123@gmail.com>
1293
1294 * util/dir-example,
1295 * install-info/install-info.c (ensure_dirfile_exists): Update
1296 message in dir node.
1297
1298 2015-03-04 Ken Brown <kbrown@cornell.edu>
1299
1300 * info/dir.c (build_dir_node): Update message in dir node to
1301 account for change in binding for '?' key, and use 'H' instead.
1302
1303 2016-02-27 Vincent Belaïche <vincentb1@users.sourceforge.net>
1304
1305 * util/texi2dvi (make_openout_test): make compilation of openout
1306 test in batch mode with using batch variable, rather than taking
1307 input from /dev/null, so that there is no clash with --batch
1308 command line option.
1309
1310 2016-02-27 Gavin Smith <gavinsmith0123@gmail.com>
1311
1312 * tp/tests/long-tests.sh,
1313 * tp/tests/tex_html_tests.sh,
1314 * tp/tests/parser_base_tests: Remove unused scripts for running
1315 tests.
1316
1317 2016-02-27 Gavin Smith <gavinsmith0123@gmail.com>
1318
1319 * po/Makevars, po_document/Makevars (DIST_DEPENDS_ON_UPDATE_PO): Set
1320 to "no" to prevent "make distcheck" or "make dist" dirtying the
1321 output of "svn diff".
1322
1323 2016-02-27 Gavin Smith <gavinsmith0123@gmail.com>
1324
1325 * tp/tests/htmlxref/Makefile.am,
1326 * tp/tests/htmlxref-only_mono/Makefile.am,
1327 * tp/tests/htmlxref-only_split/Makefile.am: Remove unused rules.
1328 Don't use Makefile.onetst (no longer created) to say what to
1329 distribute.
1330
1331 2016-02-27 Gavin Smith <gavinsmith0123@gmail.com>
1332
1333 * tp/Texinfo/Common.pm (@variable_string_settables): New
1334 customization variable HTMLXREF.
1335 * tp/texi2any.pl: If HTMLXREF given on the command line, use it
1336 as the location of the htmlxref.cnf file.
1337 * tp/Texinfo/Common.pm (parse_htmlxref_files): Move function to
1338 tp/Texinfo/Convert/HTML.pm.
1339
1340 * tp/tests/htmlxref/tests-parser.txt,
1341 * tp/tests/htmlxref-only_mono/tests-parser.txt,
1342 * tp/tests/htmlxref-only_split/tests-parser.txt:
1343 Set HTMLXREF customization variable.
1344
1345 * tp/tests/htmlxref/Makefile.am:
1346 tp/tests/Makefile.am: Don't build in htmlxref, htmlxref-only_mono,
1347 htmlxref-only_split directories using a recursive make. Run the
1348 tests in those directories the same way that all of the others
1349 are, except many_input_files.
1350
1351 * tp/tests/README: Remove section on subdirectories.
1352
1353 2016-02-27 Gavin Smith <gavinsmith0123@gmail.com>
1354
1355 * info/info-utils.c (info_get_menu_entry_by_label): Always check
1356 case-insensitively, so that manpages are not preferred to a
1357 case-insensitive dir match when invoking. Problem reported by
1358 Vincent Lefevre.
1359
1360 2016-02-24 Vincent Belaïche <vincentb1@users.sourceforge.net>
1361
1362 * util/texi2dvi (filter_files): Ensure that this function does not
1363 make any non zero return status when the list of new xref files is
1364 empty. Otherwise that causes a prematurate exit of calling
1365 function, notably run_index. Remember texi2dvi is running under
1366 set -e regime.
1367
1368 2016-02-22 Masamichi Hosoda <trueroad@trueroad.jp>
1369
1370 * doc/texinfo.tex: Fix PDF outline cmap for XeTeX.
1371
1372 2016-02-21 Gavin Smith <gavinsmith0123@gmail.com>
1373
1374 * tp/tests/contents/tests-parser.txt: Remove tests
1375 'double_contents_setcontentsaftertitlepage',
1376 'double_contents_setcontentsaftertitlepage_inline',
1377 'double_contents_setcontentsaftertitlepage_book',
1378 'double_contents_setcontentsaftertitlepage_book_chapter', and
1379 'double_contents_setcontentsaftertitlepage_book_info'.
1380
1381 2016-02-21 Gavin Smith <gavinsmith0123@gmail.com>
1382
1383 * tp/t/test_utils.pl (test): When using an out_ directory (like
1384 out_info or out_html), delete its contents to prevent test
1385 failures from left-over files.
1386
1387 2016-02-21 Gavin Smith <gavinsmith0123@gmail.com>
1388
1389 * tp/Texinfo/Common.pm (%misc_commands): Move
1390 'setcontentsaftertitlepage' and 'setshortcontentsaftertitlepage'
1391 to obsolete section.
1392 (%deprecated_commands): Add these two commands.
1393
1394 * tp/Texinfo/Common.pm (%document_settable_unique_at_commands):
1395 Remove these two commands.
1396 * tp/Texinfo/Convert/Converter.pm (converter): Remove handling
1397 of these two commands.
1398
1399 * tp/Texinfo/Convert/HTML.pm (@informative_global_commands):
1400 Remove these two commands.
1401 * tp/Texinfo/Convert/Plaintext.pm (@informative_global_commands):
1402 Remove these two commands.
1403 (_convert) <sectioning commands, @contents, @shortcontents>:
1404 Remove handling of these two commands.
1405 (_prepare_special_element, _prepare_contents_elements)
1406 (_convert_informative_command): Remove handling of these two
1407 commands.
1408 (_contents_short_contents_in_title): Removed.
1409
1410 * tp/t/30sectioning.t (setcontentsaftertitlepage)
1411 (setshortcontentsaftertitlepage): Remove tests.
1412 (section_in_unnumbered_plaintext, section_in_unnumbered_info): Remove
1413 use of @setcontentsaftertitlepage in tests.
1414
1415 2016-02-20 Gavin Smith <gavinsmith0123@gmail.com>
1416
1417 * doc/texinfo.tex (\setchapterstyle): Remove implementation.
1418 (Obsolete since at least 3.8 release, September 1996).
1419
1420 2016-02-20 Gavin Smith <gavinsmith0123@gmail.com>
1421
1422 * doc/texinfo.tex (\setcontentsaftertitlepage)
1423 (\setshortcontentsaftertitlepage): Replace definitions with a
1424 message saying that these aren't Texinfo commands any more.
1425 (\Etitlepage): Remove handling of @setcontentsaftertitlepage.
1426 and @setshortcontentsaftertitlepage.
1427 (Karl Berry, bug-texinfo 2016-02-03).
1428
1429 * doc/texinfo.texi (@-Command Details, Obsolete @-Commands): New
1430 section node of appendix.
1431 (Obsolete @-Commands): Add @setcontentsaftertitlepage and
1432 @setshortcontentsaftertitlepage.
1433 (Command List): Remove the same.
1434 (Contents): Move information about @setcontentsaftertitlepage
1435 and @setshortcontentsaftertitlepage to appendix.
1436
1437 NB not done in texi2any yet.
1438
1439 2016-02-20 Gavin Smith <gavinsmith0123@gmail.com>
1440
1441 * info/info.c (get_initial_file): Handle --file option here
1442 instead of in 'main', as well as handling invocation as "info
1443 '(FILE)NODE'", and the full path to FILE as the "initial file". Use
1444 "dir" as the last resort for the initial file. Don't add a node to the
1445 list of nodes to load.
1446 (add_initial_nodes): Add "Top" node to list of nodes to load if no
1447 others are given. Remove error message for initial_file undefined.
1448 (main): Handle --where option separately for --all given and not given.
1449 * info/session.c (info_follow_menus): Free initial node if following
1450 menus strictly and a menu entry is dangling.
1451 * info/t/node-no-file.sh: Change expected error message.
1452
1453 This is so that "info --output -" outputs the dir node, as used to
1454 happen. Vincent Lefevre reported that it doesn't happen for
1455 Texinfo 6.1.
1456
1457 2016-02-15 Gavin Smith <gavinsmith0123@gmail.com>
1458
1459 * doc/texinfo.tex (\setchapterstyle, \headings, \setchapternewpage)
1460 (\everyheadingmarks, \everyfootingmarks): Define with
1461 \parseargdef to read argument on the line instead of delimiting
1462 the argument with a space. This is necessary in case newlines
1463 are active, which is the case at the very start of the file due
1464 to the definitions in \enablebackslashhack. Broken
1465 @setchapternewpage reported by Norbert Preining.
1466 (\enablebackslashhack): Turn off special meanings after two
1467 active newlines instead of after three, and add comments to
1468 explain what is going on.
1469
1470 2016-02-15 Masamichi Hosoda <trueroad@trueroad.jp>
1471
1472 * doc/texinfo.tex: Add LuaTeX PDF outline Unicode strings
1473 support.
1474 (UTF16oct): New Lua function.
1475 (\pdfescapestring): New macro.
1476 (\dopdfoutline): Add Unicode support for LuaTeX.
1477
1478 2016-02-15 Masamichi Hosoda <trueroad@trueroad.jp>
1479
1480 * doc/texinfo.tex: Add LuaTeX >= 0.85 support.
1481 (\txipagewidth): Rename from \pagewidth.
1482 (\txipageheight): Rename from \pageheight.
1483 (\pdfdest, \pdfoutput, \pdfliteral, \pdfcatalog, \pdftexversion)
1484 (\pdfximage, \pdfrefximage, \pdflastximage, \pdfendlink, \pdfoutline)
1485 (\pdfstartlink, \pdffontattr, \pdfobj, \pdflastobj)
1486 (\pdfpagewidth, \pdfpageheight, \pdfhorigin, \pdfvorigin):
1487 Definitions for LuaTeX.
1488
1489 2016-02-15 Masamichi Hosoda <trueroad@trueroad.jp>
1490
1491 * doc/texinfo.tex: Fix PDF outline cmap for XeTeX.
1492
1493 2016-02-14 Gavin Smith <gavinsmith0123@gmail.com>
1494
1495 * tp/Texinfo/Convert/TexinfoXML.pm (output): Add a comment.
1496
1497 2016-02-14 Gavin Smith <gavinsmith0123@gmail.com>
1498
1499 * doc/texinfo.texi (Tips): Add missing word "to".
1500
1501 2016-02-14 Gavin Smith <gavinsmith0123@gmail.com>
1502
1503 * tp/Texinfo/Structuring.pm (split_by_node): Add a comment.
1504 * tp/Texinfo/Convert/HTML.pm (_prepare_elements, output)
1505 (_convert_contents, _protect_space, _convert)
1506 (_convert_element_type): Add some comments and blank lines in
1507 source. Remove some commented-out lines of code. Add some
1508 capital letters in comments.
1509 (%ignored_types): Remove commented-out variable.
1510 (%default_types_conversion): Add a comment.
1511
1512 2016-02-13 Gavin Smith <gavinsmith0123@gmail.com>
1513
1514 * info/session.c (dump_nodes_to_file): Argument changed from
1515 flags argument to a simple Boolean to say whether to dump
1516 subnodes.
1517 * info/session.h (DUMP_SUBNODES): Remove definition.
1518
1519 2016-02-13 Gavin Smith <gavinsmith0123@gmail.com>
1520
1521 * info/nodes.h, info/echo-area.h, info/filesys.h, info/window.h,
1522 info/indices.h, info/info-utils.h, info/search.h, info/session.h,
1523 info/variables.h: Remove unnecessary "extern" modifier for
1524 function declarations.
1525
1526 * info/window.h: Remove declaration of removed function
1527 'process_node_text'.
1528
1529 2016-02-13 Gavin Smith <gavinsmith0123@gmail.com>
1530
1531 * info/window.c (calculate_line_starts): Only look in first line
1532 of node for Info keywords.
1533
1534 2016-02-13 Gavin Smith <gavinsmith0123@gmail.com>
1535
1536 * info/info-utils.c (nodeline_print): Move to info/window.c.
1537 (parse_top_node_line): Remove code altering start of node
1538 depending on value of nodeline_print.
1539 * info/window.c (calculate_line_starts): Use nodeline variable
1540 to decide where to start displaying the node.
1541 (window_line_of_point): Comments changed.
1542
1543 2016-02-13 Gavin Smith <gavinsmith0123@gmail.com>
1544
1545 * info/nodes.c (info_node_of_tag_ext): Don't save a pointer into
1546 the file buffer in the tag table, because it could continue
1547 after the file buffer was garbage collected. Change the logic
1548 around so that the NODE field of the TAG structure is
1549 initialized from the NODE object we return, instead of vice versa.
1550 * info/nodes.h (FILE_BUFFER, TAG): Comments changed.
1551 * info/t/search-split-after-index.sh: New test.
1552
1553 2016-02-13 Gavin Smith <gavinsmith0123@gmail.com>
1554
1555 * doc/texinfo.texi (Customization Variables and Options): Move
1556 @vindex commands after @item, so that the index entries refer to
1557 the right row of the @multitable.
1558
1559 2016-02-13 Gavin Smith <gavinsmith0123@gmail.com>
1560
1561 Implement --javascript-ref option, suggested by Per Bothner.
1562
1563 * tp/texi2any.pl ($result_options): New option --javascript-ref.
1564 ($cmdline_options): New value 'JAVASCRIPT_REFS'.
1565 * tp/Texinfo/Convert/HTML.pm
1566 (default_javascript_lines): New function.
1567 (%default_formatting_references): Add 'javascript_lines', and
1568 comment changed.
1569 (output): Call default_javascript_lines (indirectly).
1570 (_file_header_informations): Look at and return
1571 'JAVASCRIPT_LINES' conf value. Callers updated.
1572 (_default_begin_file, default_node_redirection_page): Include
1573 lines referring to a JavaScript file in the file header.
1574 * tp/Texinfo/Common.pm (@variable_string_settables): Add
1575 'JAVASCRIPT_LINES'.
1576 (@variable_other_settables): Add 'JAVASCRIPT_REFS'.
1577
1578 2016-02-09 Karl Berry <karl@freefriends.org>
1579
1580 * doc/texinfo.texi (Output Formats) <XML>: explicitly mention that
1581 web browsers cannot display our XML output, but just give an error.
1582
1583 2016-02-09 Masamichi Hosoda <trueroad@trueroad.jp>
1584
1585 * doc/texinfo.tex: Fix XeTeX PDF outline support.
1586 (\dopdfoutline): Add braces.
1587
1588 2016-02-08 Masamichi Hosoda <trueroad@trueroad.jp>
1589
1590 * doc/texinfo.tex:
1591 Native Unicode replace switching instead of re-definition.
1592
1593 (\ifpassthroughchars): New switch.
1594 (\DeclareUnicodeCharacterNative):
1595 Integrate \DeclareUnicodeCharacterNativeThru.
1596 Add capable to switch replace / pass-through characters.
1597 (\DeclareUnicodeCharacterNativeThru): Remove.
1598 (\nativeunicodechardefsthru): Remove.
1599 (\passthroughcharacters):
1600 Use switch instead of \nativeunicodechardefsthru.
1601
1602 2016-02-08 Masamichi Hosoda <trueroad@trueroad.jp>
1603
1604 * doc/texinfo.tex:
1605 Improve XeTeX PDF outline support.
1606 (\pdfmkdest): Add \indexnofonts and \makevalueexpandable.
1607 (\dopdfoutline): Add \turnoffactive.
1608 (\pdfmakeoutlines): Add some comments. Use \let instead of \def.
1609
1610 2016-02-07 Masamichi Hosoda <trueroad@trueroad.jp>
1611
1612 * doc/texinfo.tex (\unicodechardefs): Comment out end of lines
1613 to prevent extra space at the start of the page when native
1614 Unicode support is used.
1615
1616 2016-02-07 Masamichi Hosoda <trueroad@trueroad.jp>
1617
1618 * doc/texinfo.tex:
1619 Add PDF outline support for XeTeX.
1620 (\pdfdest): set destination.
1621 (\pdfmkdest): set destination.
1622 (\dopdfoutline): make outline element.
1623 (\pdfmakeoutlines): make PDF outline.
1624
1625 2016-02-07 Gavin Smith <gavinsmith0123@gmail.com>
1626
1627 * doc/texinfo.tex (\throughcharactersdefs): Rename to
1628 \passthroughcharacters, and change comment.
1629 (\nonasciistringdefs): Change comment.
1630 (\documentencoding) <UTF-8>: Change comment.
1631 (\DeclareUnicodeCharacterUTFviii): Change comment.
1632 (\nativeunicodechardefsthru, \DeclareUnicodeCharacterNativeThru):
1633 Change comment, and move definition.
1634 (\DeclareUnicodeCharacterNativeAtU): Change comment, and move
1635 definition.
1636 (\setcharscatcodeothernonglobal): Comment changed.
1637 (\DeclareUnicodeCharacterNative): Move definition.
1638
1639 2016-02-07 Masamichi Hosoda <trueroad@trueroad.jp>
1640
1641 * doc/texinfo.tex:
1642 Add native Unicode support for XeTeX and LuaTex.
1643
1644 (\iftxinativeunicodecapable): New switch.
1645 (\iftxiusebytewiseio): New switch.
1646
1647 (\setbytewiseio): Set I/O by bytes instead of UTF-8 sequence
1648 for XeTeX and LuaTex non-UTF-8 (byte-wise) encodings.
1649
1650 (\documentencoding): Remove input by bytes settings for XeTeX.
1651 Add I/O by bytes settings for single-byte encodings.
1652 Add native Unicode settings for UTF-8 encoding.
1653
1654 (\U): Any Unicode characters can be used by native Unicode.
1655
1656 (\DeclareUnicodeCharacterUTFviii): Rename from
1657 \DeclareUnicodeCharacter.
1658 (\DeclareUnicodeCharacterNative): For native Unicode,
1659 Definition macro to replace the Unicode character.
1660 (\DeclareUnicodeCharacterNativeThru): For native Unicode,
1661 Definition macro not to replace (through) the Unicode character.
1662 (\DeclareUnicodeCharacterNativeAtU): For native Unicode,
1663 Definition macro that is used by @U command.
1664 (\DeclareUnicodeCharacterNativeOther): For native Unicode,
1665 Definition macro that is set catcode other non global.
1666
1667 (\unicodechardefs): Rename from \utfeightchardefs.
1668 (\utfeightchardefs): UTF-8 byte sequence definitions (replacing and
1669 @U command). It makes the setting that replace UTF-8 byte sequence.
1670 (\nativeunicodechardefs): Native Unicode character replacing
1671 definitions. It makes the setting that replace the Unicode characters.
1672 (\nativeunicodechardefsthru): Native Unicode character ``through''
1673 definitions. It makes the setting that does not replace
1674 the Unicode characters.
1675 (\nativeunicodechardefsatu): Native Unicode @U command definitions.
1676 (\nativeunicodecharscatcodeothernonglobal):
1677 Native Unicode catcode other non global definitions.
1678 (\setcharscatcodeothernonglobal):
1679 Catcode (non-ascii or native Unicode) are set to other non global.
1680
1681 (\throughcharactersdefs): Character ``through'' definitions.
1682 It makes the setting that does not replace the characters.
1683
1684 2016-02-06 Gavin Smith <gavinsmith0123@gmail.com>
1685
1686 * configure.ac: Update version to 6.1dev.
1687
1688 2016-02-06 Eli Zaretskii <eliz@gnu.org>
1689
1690 * tp/Texinfo/Convert/XSParagraph/xspara.c (popen, pclose)
1691 [_WIN32]: Redefine to their non-Posix counterparts _popen and
1692 _pclose, to countermand Perl redirections in XSUB.h.
1693
01694 2016-02-06 Gavin Smith <gavinsmith0123@gmail.com>
11695
21696 6.1 release.
133133 $(top_srcdir)/gnulib/m4/glibc21.m4 \
134134 $(top_srcdir)/gnulib/m4/gnulib-common.m4 \
135135 $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
136 $(top_srcdir)/gnulib/m4/hard-locale.m4 \
136137 $(top_srcdir)/gnulib/m4/iconv.m4 \
137138 $(top_srcdir)/gnulib/m4/include_next.m4 \
138139 $(top_srcdir)/gnulib/m4/intlmacosx.m4 \
292293 COPYING ChangeLog INSTALL NEWS README TODO build-aux/ar-lib \
293294 build-aux/compile build-aux/config.guess \
294295 build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
295 build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \
296 build-aux/missing build-aux/texinfo.tex
296 build-aux/install-sh build-aux/mdate-sh build-aux/missing \
297 build-aux/texinfo.tex
297298 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
298299 distdir = $(PACKAGE)-$(VERSION)
299300 top_distdir = $(distdir)
0 $Id: NEWS 6991 2016-02-06 12:16:13Z gavin $
0 $Id: NEWS 7281 2016-07-30 18:55:22Z gavin $
11 This NEWS file records noteworthy changes, very tersely.
22 See the manual for detailed information.
33
1010 notice and this notice are preserved.
1111
1212 -------------------------------------------------------------------------------
13 6.2 (10 September 2016)
14
15 * Language:
16 . The commands `@setcontentsaftertitlepage' and
17 `@setshortcontentsaftertitlepage' have been removed.
18 . @-commands are no longer supported within `@errormsg'.
19
20 * texinfo.tex:
21 . For a couple of characters (opening and closing braces), use glyphs
22 from the standard TeX math fonts instead of using EC fonts which are
23 less likely to be installed.
24 . Use of user-defined macros in the text of an index entry is more
25 reliable when the text contains Texinfo @-commands.
26 . @synindex and @syncodeindex have been fixed (broken in the last
27 release).
28 . Support added for native UTF-8 support with XeTeX and LuaTeX.
29 . Support of PDF output with XeTeX improved.
30 . You can use a new file doc/texinfo-ja.tex for Texinfo documents in
31 Japanese. doc/short-sample-ja.tex is a sample document. New
32 support file doc/txi-ja.tex for Japanese.
33
34 * texi2any:
35 . Fix handling of compiler options when building Perl extension modules.
36
37 * texi2dvi:
38 . Can now process files whose absolute paths contain space characters,
39 as long a relative path to the file is given. Better support of
40 files with unusual characters in their names.
41 . No longer exits prematurely in some circumstances (due to the script
42 running under "set -e").
43 . Bug fixed which made the `--command' and `--tidy' options
44 incompatible.
45
46 * info:
47 . Handling of "invalid" value in infokey file fixed.
48
49
50
1351 6.1 (06 February 2016)
1452
1553 * Language:
121121 $(top_srcdir)/gnulib/m4/glibc21.m4 \
122122 $(top_srcdir)/gnulib/m4/gnulib-common.m4 \
123123 $(top_srcdir)/gnulib/m4/gnulib-comp.m4 \
124 $(top_srcdir)/gnulib/m4/hard-locale.m4 \
124125 $(top_srcdir)/gnulib/m4/iconv.m4 \
125126 $(top_srcdir)/gnulib/m4/include_next.m4 \
126127 $(top_srcdir)/gnulib/m4/intlmacosx.m4 \
0 $Id: README-hacking 6990 2016-02-06 10:53:11Z gavin $
0 $Id: README-hacking 7349 2016-09-07 06:55:18Z gavin $
11 This file describes the development environment for Texinfo.
22
33 Copyright 2002, 2003, 2005, 2006, 2007, 2008, 2010, 2011, 2012, 2013,
8585
8686 makeinfo/ - Implementation of makeinfo in C, distributed before version 5.0
8787 texi2html/ - Perl program to generate HTML from Texinfo, superseded by texi2any
88 parsetexi/ - Incomplete reimplementation of Texinfo::Parser in C
8988
9089
9190
150149 - First checks:
151150 Ensure texinfo.tex, texi2dvi, and htmlxref.cnf are updated on ftp.gnu.org.
152151 Ensure TXI_XLATE in doc/Makefile.am matches actual file list.
152 Check that LINGUAS under po and po_document match actual file list.
153 Have a look at the output of "svn status ." to check for files that
154 should be tracked in SVN or ignored.
153155 Check that TEXINFO_DTD_VERSION has been updated to the next version in
154156 configure.ac if the DTD has been modified since the last release.
155157 See comments in configure.ac, and run (at the top level) make dtd-check.
156158 Check "make ccheck" and "make vcheck" work in "doc/refcard".
157159 Check "dist-xz" is in the option list in configure.ac (often removed
158160 for speed when testing).
161 Update copyright years in many files for release; best to grep -r for
162 the previous year. See also ChangeLog entries for "copyright years".
163 No need (though it's ok) to change every source file at once, just the
164 ones relevant to --version calls, etc., such as texindex.awk and info.c.
159165 make po-check # update po/POTFILES.in as needed
160 gnulib-tool --add-import # for pretest
166
167 # Under the top level, and also under tp/Texinfo/Convert/XSParagraph, which
168 # uses a separate gnulib import.
169 gnulib-tool --add-import
170
161171 util/srclist-txi # for pretest, to sync files with other sources
162172
163173 - Official releases only:
174 version and date in NEWS.
164175 version number in texi2dvi, texi2pdf, txirefcard.tex.
165 version and date in NEWS.
166176 (cd tp && ./maintain/change_perl_modules_version.sh auto)
167177 -- this updates all the version numbers in the Perl modules
168178 sync texi2html/test/ results with tp/.
180190 texinfo_document
181191 followed by copying updated translation files to po/ and po_document/.
182192 pod2man Pod-Simple-Texinfo/pod2texi.pl >man/pod2texi.1 # until we fix deps
193
194 check that the svn checkout is up-to-date (run "svnversion" and "svn update")
183195 make
184196 make update-po # both po and po_document needed, build a dist first
185197 make -C doc wwwdoc-build # and -install for official (and eventual commit)
250262
251263 # Official releases only: ... update texinfo at tug.org
252264 # (contact root@tug.org):
253 prev=5.2
254 ver=6.0
265 prev=6.0
266 ver=6.1
255267 cd ~ftp/tex
256268 rm -rf texinfo-$prev*
257269 cp ~/texinfo-$ver.tar.{gz,xz} .
12291229 m4_include([gnulib/m4/glibc21.m4])
12301230 m4_include([gnulib/m4/gnulib-common.m4])
12311231 m4_include([gnulib/m4/gnulib-comp.m4])
1232 m4_include([gnulib/m4/hard-locale.m4])
12321233 m4_include([gnulib/m4/iconv.m4])
12331234 m4_include([gnulib/m4/include_next.m4])
12341235 m4_include([gnulib/m4/intlmacosx.m4])
11 # Output a system dependent set of variables, describing how to set the
22 # run time search path of shared libraries in an executable.
33 #
4 # Copyright 1996-2015 Free Software Foundation, Inc.
4 # Copyright 1996-2016 Free Software Foundation, Inc.
55 # Taken from GNU libtool, 2001
66 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
77 #
+0
-9655
build-aux/ltmain.sh less more
0
1 # libtool (GNU libtool) 2.4.2
2 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
3
4 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
5 # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
6 # This is free software; see the source for copying conditions. There is NO
7 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8
9 # GNU Libtool is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
13 #
14 # As a special exception to the GNU General Public License,
15 # if you distribute this file as part of a program or library that
16 # is built using GNU Libtool, you may include this file under the
17 # same distribution terms that you use for the rest of that program.
18 #
19 # GNU Libtool is distributed in the hope that it will be useful, but
20 # WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 # General Public License for more details.
23 #
24 # You should have received a copy of the GNU General Public License
25 # along with GNU Libtool; see the file COPYING. If not, a copy
26 # can be downloaded from http://www.gnu.org/licenses/gpl.html,
27 # or obtained by writing to the Free Software Foundation, Inc.,
28 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29
30 # Usage: $progname [OPTION]... [MODE-ARG]...
31 #
32 # Provide generalized library-building support services.
33 #
34 # --config show all configuration variables
35 # --debug enable verbose shell tracing
36 # -n, --dry-run display commands without modifying any files
37 # --features display basic configuration information and exit
38 # --mode=MODE use operation mode MODE
39 # --preserve-dup-deps don't remove duplicate dependency libraries
40 # --quiet, --silent don't print informational messages
41 # --no-quiet, --no-silent
42 # print informational messages (default)
43 # --no-warn don't display warning messages
44 # --tag=TAG use configuration variables from tag TAG
45 # -v, --verbose print more informational messages than default
46 # --no-verbose don't print the extra informational messages
47 # --version print version information
48 # -h, --help, --help-all print short, long, or detailed help message
49 #
50 # MODE must be one of the following:
51 #
52 # clean remove files from the build directory
53 # compile compile a source file into a libtool object
54 # execute automatically set library path, then run a program
55 # finish complete the installation of libtool libraries
56 # install install libraries or executables
57 # link create a library or an executable
58 # uninstall remove libraries from an installed directory
59 #
60 # MODE-ARGS vary depending on the MODE. When passed as first option,
61 # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
62 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
63 #
64 # When reporting a bug, please describe a test case to reproduce it and
65 # include the following information:
66 #
67 # host-triplet: $host
68 # shell: $SHELL
69 # compiler: $LTCC
70 # compiler flags: $LTCFLAGS
71 # linker: $LD (gnu? $with_gnu_ld)
72 # $progname: (GNU libtool) 2.4.2
73 # automake: $automake_version
74 # autoconf: $autoconf_version
75 #
76 # Report bugs to <bug-libtool@gnu.org>.
77 # GNU libtool home page: <http://www.gnu.org/software/libtool/>.
78 # General help using GNU software: <http://www.gnu.org/gethelp/>.
79
80 PROGRAM=libtool
81 PACKAGE=libtool
82 VERSION=2.4.2
83 TIMESTAMP=""
84 package_revision=1.3337
85
86 # Be Bourne compatible
87 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
88 emulate sh
89 NULLCMD=:
90 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
91 # is contrary to our usage. Disable this feature.
92 alias -g '${1+"$@"}'='"$@"'
93 setopt NO_GLOB_SUBST
94 else
95 case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
96 fi
97 BIN_SH=xpg4; export BIN_SH # for Tru64
98 DUALCASE=1; export DUALCASE # for MKS sh
99
100 # A function that is used when there is no print builtin or printf.
101 func_fallback_echo ()
102 {
103 eval 'cat <<_LTECHO_EOF
104 $1
105 _LTECHO_EOF'
106 }
107
108 # NLS nuisances: We save the old values to restore during execute mode.
109 lt_user_locale=
110 lt_safe_locale=
111 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
112 do
113 eval "if test \"\${$lt_var+set}\" = set; then
114 save_$lt_var=\$$lt_var
115 $lt_var=C
116 export $lt_var
117 lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
118 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
119 fi"
120 done
121 LC_ALL=C
122 LANGUAGE=C
123 export LANGUAGE LC_ALL
124
125 $lt_unset CDPATH
126
127
128 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
129 # is ksh but when the shell is invoked as "sh" and the current value of
130 # the _XPG environment variable is not equal to 1 (one), the special
131 # positional parameter $0, within a function call, is the name of the
132 # function.
133 progpath="$0"
134
135
136
137 : ${CP="cp -f"}
138 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
139 : ${MAKE="make"}
140 : ${MKDIR="mkdir"}
141 : ${MV="mv -f"}
142 : ${RM="rm -f"}
143 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
144 : ${Xsed="$SED -e 1s/^X//"}
145
146 # Global variables:
147 EXIT_SUCCESS=0
148 EXIT_FAILURE=1
149 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
150 EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
151
152 exit_status=$EXIT_SUCCESS
153
154 # Make sure IFS has a sensible default
155 lt_nl='
156 '
157 IFS=" $lt_nl"
158
159 dirname="s,/[^/]*$,,"
160 basename="s,^.*/,,"
161
162 # func_dirname file append nondir_replacement
163 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
164 # otherwise set result to NONDIR_REPLACEMENT.
165 func_dirname ()
166 {
167 func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
168 if test "X$func_dirname_result" = "X${1}"; then
169 func_dirname_result="${3}"
170 else
171 func_dirname_result="$func_dirname_result${2}"
172 fi
173 } # func_dirname may be replaced by extended shell implementation
174
175
176 # func_basename file
177 func_basename ()
178 {
179 func_basename_result=`$ECHO "${1}" | $SED "$basename"`
180 } # func_basename may be replaced by extended shell implementation
181
182
183 # func_dirname_and_basename file append nondir_replacement
184 # perform func_basename and func_dirname in a single function
185 # call:
186 # dirname: Compute the dirname of FILE. If nonempty,
187 # add APPEND to the result, otherwise set result
188 # to NONDIR_REPLACEMENT.
189 # value returned in "$func_dirname_result"
190 # basename: Compute filename of FILE.
191 # value retuned in "$func_basename_result"
192 # Implementation must be kept synchronized with func_dirname
193 # and func_basename. For efficiency, we do not delegate to
194 # those functions but instead duplicate the functionality here.
195 func_dirname_and_basename ()
196 {
197 # Extract subdirectory from the argument.
198 func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
199 if test "X$func_dirname_result" = "X${1}"; then
200 func_dirname_result="${3}"
201 else
202 func_dirname_result="$func_dirname_result${2}"
203 fi
204 func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
205 } # func_dirname_and_basename may be replaced by extended shell implementation
206
207
208 # func_stripname prefix suffix name
209 # strip PREFIX and SUFFIX off of NAME.
210 # PREFIX and SUFFIX must not contain globbing or regex special
211 # characters, hashes, percent signs, but SUFFIX may contain a leading
212 # dot (in which case that matches only a dot).
213 # func_strip_suffix prefix name
214 func_stripname ()
215 {
216 case ${2} in
217 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
218 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
219 esac
220 } # func_stripname may be replaced by extended shell implementation
221
222
223 # These SED scripts presuppose an absolute path with a trailing slash.
224 pathcar='s,^/\([^/]*\).*$,\1,'
225 pathcdr='s,^/[^/]*,,'
226 removedotparts=':dotsl
227 s@/\./@/@g
228 t dotsl
229 s,/\.$,/,'
230 collapseslashes='s@/\{1,\}@/@g'
231 finalslash='s,/*$,/,'
232
233 # func_normal_abspath PATH
234 # Remove doubled-up and trailing slashes, "." path components,
235 # and cancel out any ".." path components in PATH after making
236 # it an absolute path.
237 # value returned in "$func_normal_abspath_result"
238 func_normal_abspath ()
239 {
240 # Start from root dir and reassemble the path.
241 func_normal_abspath_result=
242 func_normal_abspath_tpath=$1
243 func_normal_abspath_altnamespace=
244 case $func_normal_abspath_tpath in
245 "")
246 # Empty path, that just means $cwd.
247 func_stripname '' '/' "`pwd`"
248 func_normal_abspath_result=$func_stripname_result
249 return
250 ;;
251 # The next three entries are used to spot a run of precisely
252 # two leading slashes without using negated character classes;
253 # we take advantage of case's first-match behaviour.
254 ///*)
255 # Unusual form of absolute path, do nothing.
256 ;;
257 //*)
258 # Not necessarily an ordinary path; POSIX reserves leading '//'
259 # and for example Cygwin uses it to access remote file shares
260 # over CIFS/SMB, so we conserve a leading double slash if found.
261 func_normal_abspath_altnamespace=/
262 ;;
263 /*)
264 # Absolute path, do nothing.
265 ;;
266 *)
267 # Relative path, prepend $cwd.
268 func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
269 ;;
270 esac
271 # Cancel out all the simple stuff to save iterations. We also want
272 # the path to end with a slash for ease of parsing, so make sure
273 # there is one (and only one) here.
274 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
275 -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
276 while :; do
277 # Processed it all yet?
278 if test "$func_normal_abspath_tpath" = / ; then
279 # If we ascended to the root using ".." the result may be empty now.
280 if test -z "$func_normal_abspath_result" ; then
281 func_normal_abspath_result=/
282 fi
283 break
284 fi
285 func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
286 -e "$pathcar"`
287 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
288 -e "$pathcdr"`
289 # Figure out what to do with it
290 case $func_normal_abspath_tcomponent in
291 "")
292 # Trailing empty path component, ignore it.
293 ;;
294 ..)
295 # Parent dir; strip last assembled component from result.
296 func_dirname "$func_normal_abspath_result"
297 func_normal_abspath_result=$func_dirname_result
298 ;;
299 *)
300 # Actual path component, append it.
301 func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
302 ;;
303 esac
304 done
305 # Restore leading double-slash if one was found on entry.
306 func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
307 }
308
309 # func_relative_path SRCDIR DSTDIR
310 # generates a relative path from SRCDIR to DSTDIR, with a trailing
311 # slash if non-empty, suitable for immediately appending a filename
312 # without needing to append a separator.
313 # value returned in "$func_relative_path_result"
314 func_relative_path ()
315 {
316 func_relative_path_result=
317 func_normal_abspath "$1"
318 func_relative_path_tlibdir=$func_normal_abspath_result
319 func_normal_abspath "$2"
320 func_relative_path_tbindir=$func_normal_abspath_result
321
322 # Ascend the tree starting from libdir
323 while :; do
324 # check if we have found a prefix of bindir
325 case $func_relative_path_tbindir in
326 $func_relative_path_tlibdir)
327 # found an exact match
328 func_relative_path_tcancelled=
329 break
330 ;;
331 $func_relative_path_tlibdir*)
332 # found a matching prefix
333 func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
334 func_relative_path_tcancelled=$func_stripname_result
335 if test -z "$func_relative_path_result"; then
336 func_relative_path_result=.
337 fi
338 break
339 ;;
340 *)
341 func_dirname $func_relative_path_tlibdir
342 func_relative_path_tlibdir=${func_dirname_result}
343 if test "x$func_relative_path_tlibdir" = x ; then
344 # Have to descend all the way to the root!
345 func_relative_path_result=../$func_relative_path_result
346 func_relative_path_tcancelled=$func_relative_path_tbindir
347 break
348 fi
349 func_relative_path_result=../$func_relative_path_result
350 ;;
351 esac
352 done
353
354 # Now calculate path; take care to avoid doubling-up slashes.
355 func_stripname '' '/' "$func_relative_path_result"
356 func_relative_path_result=$func_stripname_result
357 func_stripname '/' '/' "$func_relative_path_tcancelled"
358 if test "x$func_stripname_result" != x ; then
359 func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
360 fi
361
362 # Normalisation. If bindir is libdir, return empty string,
363 # else relative path ending with a slash; either way, target
364 # file name can be directly appended.
365 if test ! -z "$func_relative_path_result"; then
366 func_stripname './' '' "$func_relative_path_result/"
367 func_relative_path_result=$func_stripname_result
368 fi
369 }
370
371 # The name of this program:
372 func_dirname_and_basename "$progpath"
373 progname=$func_basename_result
374
375 # Make sure we have an absolute path for reexecution:
376 case $progpath in
377 [\\/]*|[A-Za-z]:\\*) ;;
378 *[\\/]*)
379 progdir=$func_dirname_result
380 progdir=`cd "$progdir" && pwd`
381 progpath="$progdir/$progname"
382 ;;
383 *)
384 save_IFS="$IFS"
385 IFS=${PATH_SEPARATOR-:}
386 for progdir in $PATH; do
387 IFS="$save_IFS"
388 test -x "$progdir/$progname" && break
389 done
390 IFS="$save_IFS"
391 test -n "$progdir" || progdir=`pwd`
392 progpath="$progdir/$progname"
393 ;;
394 esac
395
396 # Sed substitution that helps us do robust quoting. It backslashifies
397 # metacharacters that are still active within double-quoted strings.
398 Xsed="${SED}"' -e 1s/^X//'
399 sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
400
401 # Same as above, but do not quote variable references.
402 double_quote_subst='s/\(["`\\]\)/\\\1/g'
403
404 # Sed substitution that turns a string into a regex matching for the
405 # string literally.
406 sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
407
408 # Sed substitution that converts a w32 file name or path
409 # which contains forward slashes, into one that contains
410 # (escaped) backslashes. A very naive implementation.
411 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
412
413 # Re-`\' parameter expansions in output of double_quote_subst that were
414 # `\'-ed in input to the same. If an odd number of `\' preceded a '$'
415 # in input to double_quote_subst, that '$' was protected from expansion.
416 # Since each input `\' is now two `\'s, look for any number of runs of
417 # four `\'s followed by two `\'s and then a '$'. `\' that '$'.
418 bs='\\'
419 bs2='\\\\'
420 bs4='\\\\\\\\'
421 dollar='\$'
422 sed_double_backslash="\
423 s/$bs4/&\\
424 /g
425 s/^$bs2$dollar/$bs&/
426 s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
427 s/\n//g"
428
429 # Standard options:
430 opt_dry_run=false
431 opt_help=false
432 opt_quiet=false
433 opt_verbose=false
434 opt_warning=:
435
436 # func_echo arg...
437 # Echo program name prefixed message, along with the current mode
438 # name if it has been set yet.
439 func_echo ()
440 {
441 $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
442 }
443
444 # func_verbose arg...
445 # Echo program name prefixed message in verbose mode only.
446 func_verbose ()
447 {
448 $opt_verbose && func_echo ${1+"$@"}
449
450 # A bug in bash halts the script if the last line of a function
451 # fails when set -e is in force, so we need another command to
452 # work around that:
453 :
454 }
455
456 # func_echo_all arg...
457 # Invoke $ECHO with all args, space-separated.
458 func_echo_all ()
459 {
460 $ECHO "$*"
461 }
462
463 # func_error arg...
464 # Echo program name prefixed message to standard error.
465 func_error ()
466 {
467 $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
468 }
469
470 # func_warning arg...
471 # Echo program name prefixed warning message to standard error.
472 func_warning ()
473 {
474 $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
475
476 # bash bug again:
477 :
478 }
479
480 # func_fatal_error arg...
481 # Echo program name prefixed message to standard error, and exit.
482 func_fatal_error ()
483 {
484 func_error ${1+"$@"}
485 exit $EXIT_FAILURE
486 }
487
488 # func_fatal_help arg...
489 # Echo program name prefixed message to standard error, followed by
490 # a help hint, and exit.
491 func_fatal_help ()
492 {
493 func_error ${1+"$@"}
494 func_fatal_error "$help"
495 }
496 help="Try \`$progname --help' for more information." ## default
497
498
499 # func_grep expression filename
500 # Check whether EXPRESSION matches any line of FILENAME, without output.
501 func_grep ()
502 {
503 $GREP "$1" "$2" >/dev/null 2>&1
504 }
505
506
507 # func_mkdir_p directory-path
508 # Make sure the entire path to DIRECTORY-PATH is available.
509 func_mkdir_p ()
510 {
511 my_directory_path="$1"
512 my_dir_list=
513
514 if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
515
516 # Protect directory names starting with `-'
517 case $my_directory_path in
518 -*) my_directory_path="./$my_directory_path" ;;
519 esac
520
521 # While some portion of DIR does not yet exist...
522 while test ! -d "$my_directory_path"; do
523 # ...make a list in topmost first order. Use a colon delimited
524 # list incase some portion of path contains whitespace.
525 my_dir_list="$my_directory_path:$my_dir_list"
526
527 # If the last portion added has no slash in it, the list is done
528 case $my_directory_path in */*) ;; *) break ;; esac
529
530 # ...otherwise throw away the child directory and loop
531 my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
532 done
533 my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
534
535 save_mkdir_p_IFS="$IFS"; IFS=':'
536 for my_dir in $my_dir_list; do
537 IFS="$save_mkdir_p_IFS"
538 # mkdir can fail with a `File exist' error if two processes
539 # try to create one of the directories concurrently. Don't
540 # stop in that case!
541 $MKDIR "$my_dir" 2>/dev/null || :
542 done
543 IFS="$save_mkdir_p_IFS"
544
545 # Bail out if we (or some other process) failed to create a directory.
546 test -d "$my_directory_path" || \
547 func_fatal_error "Failed to create \`$1'"
548 fi
549 }
550
551
552 # func_mktempdir [string]
553 # Make a temporary directory that won't clash with other running
554 # libtool processes, and avoids race conditions if possible. If
555 # given, STRING is the basename for that directory.
556 func_mktempdir ()
557 {
558 my_template="${TMPDIR-/tmp}/${1-$progname}"
559
560 if test "$opt_dry_run" = ":"; then
561 # Return a directory name, but don't create it in dry-run mode
562 my_tmpdir="${my_template}-$$"
563 else
564
565 # If mktemp works, use that first and foremost
566 my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
567
568 if test ! -d "$my_tmpdir"; then
569 # Failing that, at least try and use $RANDOM to avoid a race
570 my_tmpdir="${my_template}-${RANDOM-0}$$"
571
572 save_mktempdir_umask=`umask`
573 umask 0077
574 $MKDIR "$my_tmpdir"
575 umask $save_mktempdir_umask
576 fi
577
578 # If we're not in dry-run mode, bomb out on failure
579 test -d "$my_tmpdir" || \
580 func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
581 fi
582
583 $ECHO "$my_tmpdir"
584 }
585
586
587 # func_quote_for_eval arg
588 # Aesthetically quote ARG to be evaled later.
589 # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
590 # is double-quoted, suitable for a subsequent eval, whereas
591 # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
592 # which are still active within double quotes backslashified.
593 func_quote_for_eval ()
594 {
595 case $1 in
596 *[\\\`\"\$]*)
597 func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
598 *)
599 func_quote_for_eval_unquoted_result="$1" ;;
600 esac
601
602 case $func_quote_for_eval_unquoted_result in
603 # Double-quote args containing shell metacharacters to delay
604 # word splitting, command substitution and and variable
605 # expansion for a subsequent eval.
606 # Many Bourne shells cannot handle close brackets correctly
607 # in scan sets, so we specify it separately.
608 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
609 func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
610 ;;
611 *)
612 func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
613 esac
614 }
615
616
617 # func_quote_for_expand arg
618 # Aesthetically quote ARG to be evaled later; same as above,
619 # but do not quote variable references.
620 func_quote_for_expand ()
621 {
622 case $1 in
623 *[\\\`\"]*)
624 my_arg=`$ECHO "$1" | $SED \
625 -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
626 *)
627 my_arg="$1" ;;
628 esac
629
630 case $my_arg in
631 # Double-quote args containing shell metacharacters to delay
632 # word splitting and command substitution for a subsequent eval.
633 # Many Bourne shells cannot handle close brackets correctly
634 # in scan sets, so we specify it separately.
635 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
636 my_arg="\"$my_arg\""
637 ;;
638 esac
639
640 func_quote_for_expand_result="$my_arg"
641 }
642
643
644 # func_show_eval cmd [fail_exp]
645 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
646 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
647 # is given, then evaluate it.
648 func_show_eval ()
649 {
650 my_cmd="$1"
651 my_fail_exp="${2-:}"
652
653 ${opt_silent-false} || {
654 func_quote_for_expand "$my_cmd"
655 eval "func_echo $func_quote_for_expand_result"
656 }
657
658 if ${opt_dry_run-false}; then :; else
659 eval "$my_cmd"
660 my_status=$?
661 if test "$my_status" -eq 0; then :; else
662 eval "(exit $my_status); $my_fail_exp"
663 fi
664 fi
665 }
666
667
668 # func_show_eval_locale cmd [fail_exp]
669 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
670 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
671 # is given, then evaluate it. Use the saved locale for evaluation.
672 func_show_eval_locale ()
673 {
674 my_cmd="$1"
675 my_fail_exp="${2-:}"
676
677 ${opt_silent-false} || {
678 func_quote_for_expand "$my_cmd"
679 eval "func_echo $func_quote_for_expand_result"
680 }
681
682 if ${opt_dry_run-false}; then :; else
683 eval "$lt_user_locale
684 $my_cmd"
685 my_status=$?
686 eval "$lt_safe_locale"
687 if test "$my_status" -eq 0; then :; else
688 eval "(exit $my_status); $my_fail_exp"
689 fi
690 fi
691 }
692
693 # func_tr_sh
694 # Turn $1 into a string suitable for a shell variable name.
695 # Result is stored in $func_tr_sh_result. All characters
696 # not in the set a-zA-Z0-9_ are replaced with '_'. Further,
697 # if $1 begins with a digit, a '_' is prepended as well.
698 func_tr_sh ()
699 {
700 case $1 in
701 [0-9]* | *[!a-zA-Z0-9_]*)
702 func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
703 ;;
704 * )
705 func_tr_sh_result=$1
706 ;;
707 esac
708 }
709
710
711 # func_version
712 # Echo version message to standard output and exit.
713 func_version ()
714 {
715 $opt_debug
716
717 $SED -n '/(C)/!b go
718 :more
719 /\./!{
720 N
721 s/\n# / /
722 b more
723 }
724 :go
725 /^# '$PROGRAM' (GNU /,/# warranty; / {
726 s/^# //
727 s/^# *$//
728 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
729 p
730 }' < "$progpath"
731 exit $?
732 }
733
734 # func_usage
735 # Echo short help message to standard output and exit.
736 func_usage ()
737 {
738 $opt_debug
739
740 $SED -n '/^# Usage:/,/^# *.*--help/ {
741 s/^# //
742 s/^# *$//
743 s/\$progname/'$progname'/
744 p
745 }' < "$progpath"
746 echo
747 $ECHO "run \`$progname --help | more' for full usage"
748 exit $?
749 }
750
751 # func_help [NOEXIT]
752 # Echo long help message to standard output and exit,
753 # unless 'noexit' is passed as argument.
754 func_help ()
755 {
756 $opt_debug
757
758 $SED -n '/^# Usage:/,/# Report bugs to/ {
759 :print
760 s/^# //
761 s/^# *$//
762 s*\$progname*'$progname'*
763 s*\$host*'"$host"'*
764 s*\$SHELL*'"$SHELL"'*
765 s*\$LTCC*'"$LTCC"'*
766 s*\$LTCFLAGS*'"$LTCFLAGS"'*
767 s*\$LD*'"$LD"'*
768 s/\$with_gnu_ld/'"$with_gnu_ld"'/
769 s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
770 s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
771 p
772 d
773 }
774 /^# .* home page:/b print
775 /^# General help using/b print
776 ' < "$progpath"
777 ret=$?
778 if test -z "$1"; then
779 exit $ret
780 fi
781 }
782
783 # func_missing_arg argname
784 # Echo program name prefixed message to standard error and set global
785 # exit_cmd.
786 func_missing_arg ()
787 {
788 $opt_debug
789
790 func_error "missing argument for $1."
791 exit_cmd=exit
792 }
793
794
795 # func_split_short_opt shortopt
796 # Set func_split_short_opt_name and func_split_short_opt_arg shell
797 # variables after splitting SHORTOPT after the 2nd character.
798 func_split_short_opt ()
799 {
800 my_sed_short_opt='1s/^\(..\).*$/\1/;q'
801 my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
802
803 func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
804 func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
805 } # func_split_short_opt may be replaced by extended shell implementation
806
807
808 # func_split_long_opt longopt
809 # Set func_split_long_opt_name and func_split_long_opt_arg shell
810 # variables after splitting LONGOPT at the `=' sign.
811 func_split_long_opt ()
812 {
813 my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
814 my_sed_long_arg='1s/^--[^=]*=//'
815
816 func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
817 func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
818 } # func_split_long_opt may be replaced by extended shell implementation
819
820 exit_cmd=:
821
822
823
824
825
826 magic="%%%MAGIC variable%%%"
827 magic_exe="%%%MAGIC EXE variable%%%"
828
829 # Global variables.
830 nonopt=
831 preserve_args=
832 lo2o="s/\\.lo\$/.${objext}/"
833 o2lo="s/\\.${objext}\$/.lo/"
834 extracted_archives=
835 extracted_serial=0
836
837 # If this variable is set in any of the actions, the command in it
838 # will be execed at the end. This prevents here-documents from being
839 # left over by shells.
840 exec_cmd=
841
842 # func_append var value
843 # Append VALUE to the end of shell variable VAR.
844 func_append ()
845 {
846 eval "${1}=\$${1}\${2}"
847 } # func_append may be replaced by extended shell implementation
848
849 # func_append_quoted var value
850 # Quote VALUE and append to the end of shell variable VAR, separated
851 # by a space.
852 func_append_quoted ()
853 {
854 func_quote_for_eval "${2}"
855 eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
856 } # func_append_quoted may be replaced by extended shell implementation
857
858
859 # func_arith arithmetic-term...
860 func_arith ()
861 {
862 func_arith_result=`expr "${@}"`
863 } # func_arith may be replaced by extended shell implementation
864
865
866 # func_len string
867 # STRING may not start with a hyphen.
868 func_len ()
869 {
870 func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
871 } # func_len may be replaced by extended shell implementation
872
873
874 # func_lo2o object
875 func_lo2o ()
876 {
877 func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
878 } # func_lo2o may be replaced by extended shell implementation
879
880
881 # func_xform libobj-or-source
882 func_xform ()
883 {
884 func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
885 } # func_xform may be replaced by extended shell implementation
886
887
888 # func_fatal_configuration arg...
889 # Echo program name prefixed message to standard error, followed by
890 # a configuration failure hint, and exit.
891 func_fatal_configuration ()
892 {
893 func_error ${1+"$@"}
894 func_error "See the $PACKAGE documentation for more information."
895 func_fatal_error "Fatal configuration error."
896 }
897
898
899 # func_config
900 # Display the configuration for all the tags in this script.
901 func_config ()
902 {
903 re_begincf='^# ### BEGIN LIBTOOL'
904 re_endcf='^# ### END LIBTOOL'
905
906 # Default configuration.
907 $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
908
909 # Now print the configurations for the tags.
910 for tagname in $taglist; do
911 $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
912 done
913
914 exit $?
915 }
916
917 # func_features
918 # Display the features supported by this script.
919 func_features ()
920 {
921 echo "host: $host"
922 if test "$build_libtool_libs" = yes; then
923 echo "enable shared libraries"
924 else
925 echo "disable shared libraries"
926 fi
927 if test "$build_old_libs" = yes; then
928 echo "enable static libraries"
929 else
930 echo "disable static libraries"
931 fi
932
933 exit $?
934 }
935
936 # func_enable_tag tagname
937 # Verify that TAGNAME is valid, and either flag an error and exit, or
938 # enable the TAGNAME tag. We also add TAGNAME to the global $taglist
939 # variable here.
940 func_enable_tag ()
941 {
942 # Global variable:
943 tagname="$1"
944
945 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
946 re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
947 sed_extractcf="/$re_begincf/,/$re_endcf/p"
948
949 # Validate tagname.
950 case $tagname in
951 *[!-_A-Za-z0-9,/]*)
952 func_fatal_error "invalid tag name: $tagname"
953 ;;
954 esac
955
956 # Don't test for the "default" C tag, as we know it's
957 # there but not specially marked.
958 case $tagname in
959 CC) ;;
960 *)
961 if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
962 taglist="$taglist $tagname"
963
964 # Evaluate the configuration. Be careful to quote the path
965 # and the sed script, to avoid splitting on whitespace, but
966 # also don't use non-portable quotes within backquotes within
967 # quotes we have to do it in 2 steps:
968 extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
969 eval "$extractedcf"
970 else
971 func_error "ignoring unknown tag $tagname"
972 fi
973 ;;
974 esac
975 }
976
977 # func_check_version_match
978 # Ensure that we are using m4 macros, and libtool script from the same
979 # release of libtool.
980 func_check_version_match ()
981 {
982 if test "$package_revision" != "$macro_revision"; then
983 if test "$VERSION" != "$macro_version"; then
984 if test -z "$macro_version"; then
985 cat >&2 <<_LT_EOF
986 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
987 $progname: definition of this LT_INIT comes from an older release.
988 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
989 $progname: and run autoconf again.
990 _LT_EOF
991 else
992 cat >&2 <<_LT_EOF
993 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
994 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
995 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
996 $progname: and run autoconf again.
997 _LT_EOF
998 fi
999 else
1000 cat >&2 <<_LT_EOF
1001 $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
1002 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
1003 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
1004 $progname: of $PACKAGE $VERSION and run autoconf again.
1005 _LT_EOF
1006 fi
1007
1008 exit $EXIT_MISMATCH
1009 fi
1010 }
1011
1012
1013 # Shorthand for --mode=foo, only valid as the first argument
1014 case $1 in
1015 clean|clea|cle|cl)
1016 shift; set dummy --mode clean ${1+"$@"}; shift
1017 ;;
1018 compile|compil|compi|comp|com|co|c)
1019 shift; set dummy --mode compile ${1+"$@"}; shift
1020 ;;
1021 execute|execut|execu|exec|exe|ex|e)
1022 shift; set dummy --mode execute ${1+"$@"}; shift
1023 ;;
1024 finish|finis|fini|fin|fi|f)
1025 shift; set dummy --mode finish ${1+"$@"}; shift
1026 ;;
1027 install|instal|insta|inst|ins|in|i)
1028 shift; set dummy --mode install ${1+"$@"}; shift
1029 ;;
1030 link|lin|li|l)
1031 shift; set dummy --mode link ${1+"$@"}; shift
1032 ;;
1033 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
1034 shift; set dummy --mode uninstall ${1+"$@"}; shift
1035 ;;
1036 esac
1037
1038
1039
1040 # Option defaults:
1041 opt_debug=:
1042 opt_dry_run=false
1043 opt_config=false
1044 opt_preserve_dup_deps=false
1045 opt_features=false
1046 opt_finish=false
1047 opt_help=false
1048 opt_help_all=false
1049 opt_silent=:
1050 opt_warning=:
1051 opt_verbose=:
1052 opt_silent=false
1053 opt_verbose=false
1054
1055
1056 # Parse options once, thoroughly. This comes as soon as possible in the
1057 # script to make things like `--version' happen as quickly as we can.
1058 {
1059 # this just eases exit handling
1060 while test $# -gt 0; do
1061 opt="$1"
1062 shift
1063 case $opt in
1064 --debug|-x) opt_debug='set -x'
1065 func_echo "enabling shell trace mode"
1066 $opt_debug
1067 ;;
1068 --dry-run|--dryrun|-n)
1069 opt_dry_run=:
1070 ;;
1071 --config)
1072 opt_config=:
1073 func_config
1074 ;;
1075 --dlopen|-dlopen)
1076 optarg="$1"
1077 opt_dlopen="${opt_dlopen+$opt_dlopen
1078 }$optarg"
1079 shift
1080 ;;
1081 --preserve-dup-deps)
1082 opt_preserve_dup_deps=:
1083 ;;
1084 --features)
1085 opt_features=:
1086 func_features
1087 ;;
1088 --finish)
1089 opt_finish=:
1090 set dummy --mode finish ${1+"$@"}; shift
1091 ;;
1092 --help)
1093 opt_help=:
1094 ;;
1095 --help-all)
1096 opt_help_all=:
1097 opt_help=': help-all'
1098 ;;
1099 --mode)
1100 test $# = 0 && func_missing_arg $opt && break
1101 optarg="$1"
1102 opt_mode="$optarg"
1103 case $optarg in
1104 # Valid mode arguments:
1105 clean|compile|execute|finish|install|link|relink|uninstall) ;;
1106
1107 # Catch anything else as an error
1108 *) func_error "invalid argument for $opt"
1109 exit_cmd=exit
1110 break
1111 ;;
1112 esac
1113 shift
1114 ;;
1115 --no-silent|--no-quiet)
1116 opt_silent=false
1117 func_append preserve_args " $opt"
1118 ;;
1119 --no-warning|--no-warn)
1120 opt_warning=false
1121 func_append preserve_args " $opt"
1122 ;;
1123 --no-verbose)
1124 opt_verbose=false
1125 func_append preserve_args " $opt"
1126 ;;
1127 --silent|--quiet)
1128 opt_silent=:
1129 func_append preserve_args " $opt"
1130 opt_verbose=false
1131 ;;
1132 --verbose|-v)
1133 opt_verbose=:
1134 func_append preserve_args " $opt"
1135 opt_silent=false
1136 ;;
1137 --tag)
1138 test $# = 0 && func_missing_arg $opt && break
1139 optarg="$1"
1140 opt_tag="$optarg"
1141 func_append preserve_args " $opt $optarg"
1142 func_enable_tag "$optarg"
1143 shift
1144 ;;
1145
1146 -\?|-h) func_usage ;;
1147 --help) func_help ;;
1148 --version) func_version ;;
1149
1150 # Separate optargs to long options:
1151 --*=*)
1152 func_split_long_opt "$opt"
1153 set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
1154 shift
1155 ;;
1156
1157 # Separate non-argument short options:
1158 -\?*|-h*|-n*|-v*)
1159 func_split_short_opt "$opt"
1160 set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
1161 shift
1162 ;;
1163
1164 --) break ;;
1165 -*) func_fatal_help "unrecognized option \`$opt'" ;;
1166 *) set dummy "$opt" ${1+"$@"}; shift; break ;;
1167 esac
1168 done
1169
1170 # Validate options:
1171
1172 # save first non-option argument
1173 if test "$#" -gt 0; then
1174 nonopt="$opt"
1175 shift
1176 fi
1177
1178 # preserve --debug
1179 test "$opt_debug" = : || func_append preserve_args " --debug"
1180
1181 case $host in
1182 *cygwin* | *mingw* | *pw32* | *cegcc*)
1183 # don't eliminate duplications in $postdeps and $predeps
1184 opt_duplicate_compiler_generated_deps=:
1185 ;;
1186 *)
1187 opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
1188 ;;
1189 esac
1190
1191 $opt_help || {
1192 # Sanity checks first:
1193 func_check_version_match
1194
1195 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
1196 func_fatal_configuration "not configured to build any kind of library"
1197 fi
1198
1199 # Darwin sucks
1200 eval std_shrext=\"$shrext_cmds\"
1201
1202 # Only execute mode is allowed to have -dlopen flags.
1203 if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
1204 func_error "unrecognized option \`-dlopen'"
1205 $ECHO "$help" 1>&2
1206 exit $EXIT_FAILURE
1207 fi
1208
1209 # Change the help message to a mode-specific one.
1210 generic_help="$help"
1211 help="Try \`$progname --help --mode=$opt_mode' for more information."
1212 }
1213
1214
1215 # Bail if the options were screwed
1216 $exit_cmd $EXIT_FAILURE
1217 }
1218
1219
1220
1221
1222 ## ----------- ##
1223 ## Main. ##
1224 ## ----------- ##
1225
1226 # func_lalib_p file
1227 # True iff FILE is a libtool `.la' library or `.lo' object file.
1228 # This function is only a basic sanity check; it will hardly flush out
1229 # determined imposters.
1230 func_lalib_p ()
1231 {
1232 test -f "$1" &&
1233 $SED -e 4q "$1" 2>/dev/null \
1234 | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
1235 }
1236
1237 # func_lalib_unsafe_p file
1238 # True iff FILE is a libtool `.la' library or `.lo' object file.
1239 # This function implements the same check as func_lalib_p without
1240 # resorting to external programs. To this end, it redirects stdin and
1241 # closes it afterwards, without saving the original file descriptor.
1242 # As a safety measure, use it only where a negative result would be
1243 # fatal anyway. Works if `file' does not exist.
1244 func_lalib_unsafe_p ()
1245 {
1246 lalib_p=no
1247 if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
1248 for lalib_p_l in 1 2 3 4
1249 do
1250 read lalib_p_line
1251 case "$lalib_p_line" in
1252 \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
1253 esac
1254 done
1255 exec 0<&5 5<&-
1256 fi
1257 test "$lalib_p" = yes
1258 }
1259
1260 # func_ltwrapper_script_p file
1261 # True iff FILE is a libtool wrapper script
1262 # This function is only a basic sanity check; it will hardly flush out
1263 # determined imposters.
1264 func_ltwrapper_script_p ()
1265 {
1266 func_lalib_p "$1"
1267 }
1268
1269 # func_ltwrapper_executable_p file
1270 # True iff FILE is a libtool wrapper executable
1271 # This function is only a basic sanity check; it will hardly flush out
1272 # determined imposters.
1273 func_ltwrapper_executable_p ()
1274 {
1275 func_ltwrapper_exec_suffix=
1276 case $1 in
1277 *.exe) ;;
1278 *) func_ltwrapper_exec_suffix=.exe ;;
1279 esac
1280 $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
1281 }
1282
1283 # func_ltwrapper_scriptname file
1284 # Assumes file is an ltwrapper_executable
1285 # uses $file to determine the appropriate filename for a
1286 # temporary ltwrapper_script.
1287 func_ltwrapper_scriptname ()
1288 {
1289 func_dirname_and_basename "$1" "" "."
1290 func_stripname '' '.exe' "$func_basename_result"
1291 func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
1292 }
1293
1294 # func_ltwrapper_p file
1295 # True iff FILE is a libtool wrapper script or wrapper executable
1296 # This function is only a basic sanity check; it will hardly flush out
1297 # determined imposters.
1298 func_ltwrapper_p ()
1299 {
1300 func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
1301 }
1302
1303
1304 # func_execute_cmds commands fail_cmd
1305 # Execute tilde-delimited COMMANDS.
1306 # If FAIL_CMD is given, eval that upon failure.
1307 # FAIL_CMD may read-access the current command in variable CMD!
1308 func_execute_cmds ()
1309 {
1310 $opt_debug
1311 save_ifs=$IFS; IFS='~'
1312 for cmd in $1; do
1313 IFS=$save_ifs
1314 eval cmd=\"$cmd\"
1315 func_show_eval "$cmd" "${2-:}"
1316 done
1317 IFS=$save_ifs
1318 }
1319
1320
1321 # func_source file
1322 # Source FILE, adding directory component if necessary.
1323 # Note that it is not necessary on cygwin/mingw to append a dot to
1324 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
1325 # behavior happens only for exec(3), not for open(2)! Also, sourcing
1326 # `FILE.' does not work on cygwin managed mounts.
1327 func_source ()
1328 {
1329 $opt_debug
1330 case $1 in
1331 */* | *\\*) . "$1" ;;
1332 *) . "./$1" ;;
1333 esac
1334 }
1335
1336
1337 # func_resolve_sysroot PATH
1338 # Replace a leading = in PATH with a sysroot. Store the result into
1339 # func_resolve_sysroot_result
1340 func_resolve_sysroot ()
1341 {
1342 func_resolve_sysroot_result=$1
1343 case $func_resolve_sysroot_result in
1344 =*)
1345 func_stripname '=' '' "$func_resolve_sysroot_result"
1346 func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
1347 ;;
1348 esac
1349 }
1350
1351 # func_replace_sysroot PATH
1352 # If PATH begins with the sysroot, replace it with = and
1353 # store the result into func_replace_sysroot_result.
1354 func_replace_sysroot ()
1355 {
1356 case "$lt_sysroot:$1" in
1357 ?*:"$lt_sysroot"*)
1358 func_stripname "$lt_sysroot" '' "$1"
1359 func_replace_sysroot_result="=$func_stripname_result"
1360 ;;
1361 *)
1362 # Including no sysroot.
1363 func_replace_sysroot_result=$1
1364 ;;
1365 esac
1366 }
1367
1368 # func_infer_tag arg
1369 # Infer tagged configuration to use if any are available and
1370 # if one wasn't chosen via the "--tag" command line option.
1371 # Only attempt this if the compiler in the base compile
1372 # command doesn't match the default compiler.
1373 # arg is usually of the form 'gcc ...'
1374 func_infer_tag ()
1375 {
1376 $opt_debug
1377 if test -n "$available_tags" && test -z "$tagname"; then
1378 CC_quoted=
1379 for arg in $CC; do
1380 func_append_quoted CC_quoted "$arg"
1381 done
1382 CC_expanded=`func_echo_all $CC`
1383 CC_quoted_expanded=`func_echo_all $CC_quoted`
1384 case $@ in
1385 # Blanks in the command may have been stripped by the calling shell,
1386 # but not from the CC environment variable when configure was run.
1387 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1388 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
1389 # Blanks at the start of $base_compile will cause this to fail
1390 # if we don't check for them as well.
1391 *)
1392 for z in $available_tags; do
1393 if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
1394 # Evaluate the configuration.
1395 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
1396 CC_quoted=
1397 for arg in $CC; do
1398 # Double-quote args containing other shell metacharacters.
1399 func_append_quoted CC_quoted "$arg"
1400 done
1401 CC_expanded=`func_echo_all $CC`
1402 CC_quoted_expanded=`func_echo_all $CC_quoted`
1403 case "$@ " in
1404 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1405 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
1406 # The compiler in the base compile command matches
1407 # the one in the tagged configuration.
1408 # Assume this is the tagged configuration we want.
1409 tagname=$z
1410 break
1411 ;;
1412 esac
1413 fi
1414 done
1415 # If $tagname still isn't set, then no tagged configuration
1416 # was found and let the user know that the "--tag" command
1417 # line option must be used.
1418 if test -z "$tagname"; then
1419 func_echo "unable to infer tagged configuration"
1420 func_fatal_error "specify a tag with \`--tag'"
1421 # else
1422 # func_verbose "using $tagname tagged configuration"
1423 fi
1424 ;;
1425 esac
1426 fi
1427 }
1428
1429
1430
1431 # func_write_libtool_object output_name pic_name nonpic_name
1432 # Create a libtool object file (analogous to a ".la" file),
1433 # but don't create it if we're doing a dry run.
1434 func_write_libtool_object ()
1435 {
1436 write_libobj=${1}
1437 if test "$build_libtool_libs" = yes; then
1438 write_lobj=\'${2}\'
1439 else
1440 write_lobj=none
1441 fi
1442
1443 if test "$build_old_libs" = yes; then
1444 write_oldobj=\'${3}\'
1445 else
1446 write_oldobj=none
1447 fi
1448
1449 $opt_dry_run || {
1450 cat >${write_libobj}T <<EOF
1451 # $write_libobj - a libtool object file
1452 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
1453 #
1454 # Please DO NOT delete this file!
1455 # It is necessary for linking the library.
1456
1457 # Name of the PIC object.
1458 pic_object=$write_lobj
1459
1460 # Name of the non-PIC object
1461 non_pic_object=$write_oldobj
1462
1463 EOF
1464 $MV "${write_libobj}T" "${write_libobj}"
1465 }
1466 }
1467
1468
1469 ##################################################
1470 # FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
1471 ##################################################
1472
1473 # func_convert_core_file_wine_to_w32 ARG
1474 # Helper function used by file name conversion functions when $build is *nix,
1475 # and $host is mingw, cygwin, or some other w32 environment. Relies on a
1476 # correctly configured wine environment available, with the winepath program
1477 # in $build's $PATH.
1478 #
1479 # ARG is the $build file name to be converted to w32 format.
1480 # Result is available in $func_convert_core_file_wine_to_w32_result, and will
1481 # be empty on error (or when ARG is empty)
1482 func_convert_core_file_wine_to_w32 ()
1483 {
1484 $opt_debug
1485 func_convert_core_file_wine_to_w32_result="$1"
1486 if test -n "$1"; then
1487 # Unfortunately, winepath does not exit with a non-zero error code, so we
1488 # are forced to check the contents of stdout. On the other hand, if the
1489 # command is not found, the shell will set an exit code of 127 and print
1490 # *an error message* to stdout. So we must check for both error code of
1491 # zero AND non-empty stdout, which explains the odd construction:
1492 func_convert_core_file