Package: texinfo Version: 5.2.0.dfsg.1-2 Severity: important Tags: patch Hello,
In new versions of texinfo, the behaviour of makeinfo -D option changed so that the -D "variable value" no longer works. eg. $ cat test.texi @value{var1} $ # older version (4.13) $ makeinfo -v -D 'var1 foo' -o test.info test.texi makeinfo (GNU texinfo) 4.13 Making info file `test.info' from `test.texi'. $ cat test.info This is test.info, produced by makeinfo version 4.13 from test.texi. foo $ # new version of makeinfo (5.2) $ makeinfo -v -D 'var1 foo' -o test.info test.texi test.texi:1: warning: undefined flag: var1 Output file test.info test.texi: warning: document without nodes gyx@miz:~/bugs.d.o/texinfo$ cat test.info This is test.info, produced by makeinfo version 5.2 from test.texi. {No value for 'var1'} Tag Table: End Tag Table $ A patch is attached that could hopefully fix this bug. (However, I didn't check the old implementation's source for the exact semantics of "-D".) Cheers, GUO Yixuan -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (990, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.11-1-amd64 (SMP w/4 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash Versions of packages texinfo depends on: ii libc6 2.17-93 ii libintl-perl 1.23-1 ii libtext-unidecode-perl 0.04-2 ii libxml-libxml-perl 2.0107+dfsg-1 texinfo recommends no packages. Versions of packages texinfo suggests: pn texinfo-doc-nonfree <none> pn texlive-base <none> pn texlive-generic-recommended <none> pn texlive-latex-base <none>
--- a/tp/texi2any.pl +++ b/tp/texi2any.pl @@ -924,7 +924,15 @@ There is NO WARRANTY, to the extent perm document_warn($message); } }, - 'D=s' => sub {$parser_default_options->{'values'}->{$_[1]} = 1;}, + 'D=s' => sub { + my $var = $_[1]; + my @field = split /\s+/, $var; + if (@field == 1) { + $parser_default_options->{'values'}->{$var} = 1; + } else { + $parser_default_options->{'values'}->{$field[0]} = $field[1]; + } + }, 'U=s' => sub {delete $parser_default_options->{'values'}->{$_[1]};}, 'init-file=s' => sub { locate_and_load_init_file($_[1], [ @conf_dirs, @program_init_dirs ]);