[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[8191] implement @& and @ampchar{}
From: |
gavinsmith0123 |
Subject: |
[8191] implement @& and @ampchar{} |
Date: |
Fri, 21 Sep 2018 18:02:12 -0400 (EDT) |
Revision: 8191
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=8191
Author: gavin
Date: 2018-09-21 18:02:12 -0400 (Fri, 21 Sep 2018)
Log Message:
-----------
implement @& and @ampchar{}
Modified Paths:
--------------
trunk/ChangeLog
trunk/NEWS
trunk/configure.ac
trunk/doc/texinfo.tex
trunk/doc/texinfo.texi
trunk/tp/Texinfo/Common.pm
trunk/tp/Texinfo/Convert/Converter.pm
trunk/tp/Texinfo/Convert/HTML.pm
trunk/tp/Texinfo/Convert/TexinfoXML.pm
trunk/tp/Texinfo/Convert/Text.pm
trunk/tp/Texinfo/Convert/Unicode.pm
trunk/tp/Texinfo/Parser.pm
trunk/tp/Texinfo/XS/misc.c
trunk/tp/t/19def.t
trunk/util/texinfo.dtd
Added Paths:
-----------
trunk/tp/t/results/def/ampchar.pl
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/ChangeLog 2018-09-21 22:02:12 UTC (rev 8191)
@@ -1,5 +1,31 @@
2018-09-21 Gavin Smith <address@hidden>
+ * tp/Texinfo/Common.pm (%no_brace_commands): Add '&'.
+ (%brace_commands): Add 'ampchar'.
+ * tp/Texinfo/Convert/Converter.pm
+ (%defaul_xml_commands_formatting): Add 'ampchar'.
+ * tp/Texinfo/Convert/TexinfoXML.pm (%commands_formatting): Add
+ '&', 'ampchar'.
+ * tp/Texinfo/Convert/Text.pm (%text_brace_no_arg_commands): Add
+ 'ampchar'.
+ * tp/Texinfo/Convert/Unicode.pm (%unicode_map): Add 'ampchar'.
+ * tp/Texinfo/XS/misc.c (parse_texi_regex),
+ * tp/Texinfo/Parser.pm (_parse_texi_regex): Include & as a
+ single letter command.
+
+ * tp/t/19def.t (ampchar): New test.
+
+ * util/texinfo.dtd: Add 'ampchar'.
+ * configure.ac (TEXINFO_DTD_VERSION): Increase to '6.4dev'.
+
+ * doc/texinfo.tex (\ampchar): Define.
+
+ * doc/texinfo.texi (Inserting an Ampersand): New section.
+
+ * NEWS: Mention @&, @ampchar{}.
+
+2018-09-21 Gavin Smith <address@hidden>
+
* tp/Texinfo/Parser.pm (_parse_texi):
Do not set a 'spaces_after_command_elt' value.
(_abort_empty_line): Do not clear a 'spaces_before_argument_elt'
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/NEWS 2018-09-21 22:02:12 UTC (rev 8191)
@@ -4,7 +4,7 @@
Copyright 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,
- 2013, 2014, 2015, 2016, 2017 Free Software Foundation, Inc.
+ 2013, 2014, 2015, 2016, 2017, 2018 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -12,6 +12,10 @@
------------------------------------------------------------------------------
+* Language:
+ . New commands @&, @ampchar{}.
+
+
6.5 (12 September 2017)
* info:
. some bugs fixed:
Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/configure.ac 2018-09-21 22:02:12 UTC (rev 8191)
@@ -2,7 +2,7 @@
# $Id$
#
# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-# 2012, 2013, 2014, 2015, 2016, 2017 Free Software Foundation, Inc.
+# 2012, 2013, 2014, 2015, 2016, 2017, 2018 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
@@ -18,7 +18,7 @@
AC_CONFIG_AUX_DIR([build-aux])
dnl tar-ustar because we have long filenames for some test files.
dnl parallel-tests as recommended by stefano.
-AM_INIT_AUTOMAKE([1.14 dist-xz
+AM_INIT_AUTOMAKE([1.14
info-in-builddir parallel-tests readme-alpha tar-ustar])
# Where to generate output; srcdir location.
@@ -35,7 +35,7 @@
# 3. It may be kept as is in case there were no change in the DTD
# between releases. This is rare, but has happened.
#
-TEXINFO_DTD_VERSION=6.4
+TEXINFO_DTD_VERSION=6.4dev
AC_SUBST([TEXINFO_DTD_VERSION])
# Conditional texi2html support.
Modified: trunk/doc/texinfo.tex
===================================================================
--- trunk/doc/texinfo.tex 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/doc/texinfo.tex 2018-09-21 22:02:12 UTC (rev 8191)
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2018-06-02.09}
+\def\texinfoversion{2018-09-21.20}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -8004,6 +8004,7 @@
\gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
\gdef\magicamp{\let&=\amprm}
}
+\let\ampchar\&
\newcount\parencount
Modified: trunk/doc/texinfo.texi
===================================================================
--- trunk/doc/texinfo.texi 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/doc/texinfo.texi 2018-09-21 22:02:12 UTC (rev 8191)
@@ -418,7 +418,7 @@
Special Insertions
-* Special Characters:: Inserting @@ @address@hidden , \ #
+* Special Characters:: Inserting @@ @address@hidden , \ # &
* Inserting Quote Characters:: Inserting left and right quotes, in code.
* Inserting Space:: Inserting the right amount of whitespace.
* Inserting Accents:: Inserting accents and special characters.
@@ -430,7 +430,7 @@
expansion of macros, errors, etc.
* Inserting Unicode:: Inserting a Unicode character by code point.
-Special Characters: Inserting @@ @address@hidden , \ #
+Special Characters: Inserting @@ @address@hidden , \ # &
* Inserting an Atsign:: @code{@@@@}, @code{@@address@hidden@}}.
* Inserting Braces:: @code{@@@{ @@@}}, @code{@@l address@hidden@}}.
@@ -437,6 +437,7 @@
* Inserting a Comma:: , and @code{@@address@hidden@}}.
* Inserting a Backslash:: \ and @code{@@address@hidden@}}.
* Inserting a Hashsign:: # and @code{@@address@hidden@}}.
+* Inserting an Ampersand:: & and @code{@@address@hidden@}}.
Inserting Space
@@ -9466,7 +9467,7 @@
These are:
@itemize @bullet
address@hidden The Texinfo special characters: @samp{@@ @address@hidden , \ #}.
address@hidden The Texinfo special characters: @samp{@@ @address@hidden , \ #
&}.
@item Whitespace within and around a sentence.
@item Accents.
@item Dots and bullets.
@@ -9481,7 +9482,7 @@
@end iftex
@menu
-* Special Characters:: Inserting @@ @address@hidden , \ #
+* Special Characters:: Inserting @@ @address@hidden , \ # &
* Inserting Quote Characters:: Inserting left and right quotes, in code.
* Inserting Space:: Inserting the right amount of whitespace.
* Inserting Accents:: Inserting accents and special characters.
@@ -9496,7 +9497,7 @@
@node Special Characters
address@hidden Special Characters: Inserting @@ @address@hidden , \ #
address@hidden Special Characters: Inserting @@ @address@hidden , \ # &
@anchor{Braces address@hidden previous names for this node
@anchor{Atsign Braces Comma}
@cindex Special characters, inserting
@@ -9507,8 +9508,8 @@
put an @samp{@@} in front of these characters to prevent Texinfo from
misinterpreting them. Alphabetic commands are also provided.
-The other characters (comma, backslash, hash) are special only in
-restricted contexts, as explained in the respective sections.
+The other characters (comma, backslash, hash, ampersand) are special
+only in restricted contexts, as explained in the respective sections.
@menu
* Inserting an Atsign:: @code{@@@@}, @code{@@address@hidden@}}.
@@ -9516,6 +9517,7 @@
* Inserting a Comma:: , and @code{@@address@hidden@}}.
* Inserting a Backslash:: \ and @code{@@address@hidden@}}.
* Inserting a Hashsign:: # and @code{@@address@hidden@}}.
+* Inserting an Ampersand:: & and @code{@@address@hidden@}}.
@end menu
@@ -9661,6 +9663,57 @@
is no need for it anywhere except this unusual case.
address@hidden Inserting an Ampersand
address@hidden Inserting `&' with @code{@@&} and @code{@@address@hidden@}}
+
address@hidden address@hidden@} @r{(literal @samp{&})}
address@hidden Inserting &
address@hidden Ampersand, inserting
+
+Ordinarily, an ampersand `&' is a normal character in Texinfo that can be
+simply typed in your input where you need it. The result is to
+typeset the ampersand character.
+
+However, the ampersand character has a special meaning in Texinfo in
+just one restricted context. In the argument to a definition command
+(@pxref{Definition Commands}), Emacs Lisp keywords beginning with
+ampersands are recognized and typeset specially. @xref{A Sample
+Function Description,,, elisp, GNU Emacs Lisp Reference Manual}.
+For example:
+
address@hidden
+@@defun foo integer1 &optional integer2 &rest integers
+@@address@hidden@} described here.
+@@end defun
address@hidden example
+
address@hidden leads to the output
+
address@hidden foo integer1 &optional integer2 &rest integers
address@hidden described here.
address@hidden defun
+
+So, in order to typeset an ampersand in such a context (for example, in
+documentation of a C++ function taking a reference as a parameter),
+it's necessary to use @code{@@&} or some other construct.
+Here's an example:
+
address@hidden
+@@deftypefn Function int foo (@@address@hidden std::vector<int>@@&@} bar)
+Documentation of @@address@hidden@}.
+@@end deftypefn
address@hidden example
+
address@hidden This gives the output
+
address@hidden Function int foo (@code{const std::vector<int>@&} bar)
+Documentation of @code{foo}.
address@hidden deftypefn
+
+Although @samp{@@&} and @samp{@@address@hidden@}} can be used nearly
+anywhere, there is no need for them anywhere except this unusual case.
+
+
@node Inserting Quote Characters
@section Inserting Quote Characters
Modified: trunk/tp/Texinfo/Common.pm
===================================================================
--- trunk/tp/Texinfo/Common.pm 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/tp/Texinfo/Common.pm 2018-09-21 22:02:12 UTC (rev 8191)
@@ -377,6 +377,7 @@
'@', '@',
'}', '}',
'{', '{',
+ '&', '&',
'\\', '\\', # should only appear in math
);
@@ -566,6 +567,7 @@
'minus','point','print','result','today',
'exclamdown','questiondown','pounds','ordf','ordm',
'atchar', 'lbracechar', 'rbracechar', 'backslashchar', 'hashchar', 'comma',
+ 'ampchar',
'euro', 'geq','leq','tie','textdegree','click',
'quotedblleft','quotedblright','quoteleft','quoteright','quotedblbase',
'quotesinglbase','guillemetleft','guillemetright','guillemotleft',
Modified: trunk/tp/Texinfo/Convert/Converter.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Converter.pm 2018-09-21 18:34:13 UTC (rev
8190)
+++ trunk/tp/Texinfo/Convert/Converter.pm 2018-09-21 22:02:12 UTC (rev
8191)
@@ -1463,6 +1463,7 @@
'ordm' => 'º',
'comma' => ',',
'atchar' => '@',
+ 'ampchar' => '&',
'lbracechar' => '{',
'rbracechar' => '}',
'backslashchar' => '\\',
@@ -1491,6 +1492,8 @@
= $Texinfo::Common::no_brace_commands{$no_brace_command};
}
+$default_xml_commands_formatting{'normal'}->{'&'} = '&';
+
sub xml_comment($$)
{
my $self = shift;
Modified: trunk/tp/Texinfo/Convert/HTML.pm
===================================================================
--- trunk/tp/Texinfo/Convert/HTML.pm 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/tp/Texinfo/Convert/HTML.pm 2018-09-21 22:02:12 UTC (rev 8191)
@@ -4811,7 +4811,7 @@
and
!$self->_use_entity_is_entity($default_commands_formatting{$context}->{$command}))
{
$self->{'commands_formatting'}->{$context}->{$command}
= Texinfo::Convert::Unicode::unicode_for_brace_no_arg_command(
- $command, $self->get_conf('OUTPUT_ENCODING_NAME'))
+ $command, $self->get_conf('OUTPUT_ENCODING_NAME'));
} else {
$self->{'commands_formatting'}->{$context}->{$command}
= $default_commands_formatting{$context}->{$command};
Modified: trunk/tp/Texinfo/Convert/TexinfoXML.pm
===================================================================
--- trunk/tp/Texinfo/Convert/TexinfoXML.pm 2018-09-21 18:34:13 UTC (rev
8190)
+++ trunk/tp/Texinfo/Convert/TexinfoXML.pm 2018-09-21 22:02:12 UTC (rev
8191)
@@ -86,6 +86,7 @@
'@' => 'arobase',
'{' => 'lbrace',
'}' => 'rbrace',
+ '&' => 'amp',
'\\' => 'backslash', # should only appear in math
'TeX' => 'tex',
@@ -108,6 +109,7 @@
'today' => ['today'],
'comma' => 'comma',
'atchar' => 'atchar',
+ 'ampchar' => 'ampchar',
'lbracechar' => 'lbracechar',
'rbracechar' => 'rbracechar',
'backslashchar' => 'backslashchar',
Modified: trunk/tp/Texinfo/Convert/Text.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Text.pm 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/tp/Texinfo/Convert/Text.pm 2018-09-21 22:02:12 UTC (rev 8191)
@@ -113,6 +113,7 @@
'ordm' => 'o',
'comma' => ',',
'atchar' => '@',
+ 'ampchar' => '&',
'lbracechar' => '{',
'rbracechar' => '}',
'backslashchar' => '\\',
Modified: trunk/tp/Texinfo/Convert/Unicode.pm
===================================================================
--- trunk/tp/Texinfo/Convert/Unicode.pm 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/tp/Texinfo/Convert/Unicode.pm 2018-09-21 22:02:12 UTC (rev 8191)
@@ -522,6 +522,7 @@
'ordm' => '00BA',
'comma' => '002C',
'atchar' => '0040',
+ 'ampchar' => '0026',
'lbracechar' => '007B',
'rbracechar' => '007D',
'backslashchar' => '005C',
Modified: trunk/tp/Texinfo/Parser.pm
===================================================================
--- trunk/tp/Texinfo/Parser.pm 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/tp/Texinfo/Parser.pm 2018-09-21 22:02:12 UTC (rev 8191)
@@ -3533,7 +3533,7 @@
= ($line =~ /^\@([[:alnum:]][[:alnum:]-]*)
|^(\{)
|^(\*)
- |^\@(["'address@hidden,\.!\? \t\n\*\-\^`=:\|\/\\])
+ |^\@(["'~\@&\}\{,\.!\? \t\n\*\-\^`=:\|\/\\])
|^([{}@,:\t.\f])
|^([^{}@,:\t.\n\f]+)
/x);
Modified: trunk/tp/Texinfo/XS/misc.c
===================================================================
--- trunk/tp/Texinfo/XS/misc.c 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/tp/Texinfo/XS/misc.c 2018-09-21 22:02:12 UTC (rev 8191)
@@ -590,7 +590,7 @@
}
else if (*text == '@'
- && text[1] && strchr ("([\"'address@hidden,.!?"
+ && text[1] && strchr ("([\"'~@&}{,.!?"
" \t\n"
"*-^`=:|/\\",
text[1]))
Modified: trunk/tp/t/19def.t
===================================================================
--- trunk/tp/t/19def.t 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/tp/t/19def.t 2018-09-21 22:02:12 UTC (rev 8191)
@@ -508,7 +508,13 @@
'@deffn truc bidule machin
@deffnx truc chose args
@defvar type1 var bidule
-']
+'],
+['ampchar',
+'@defop {Constructor} a b (@code{const std::vector<int>@&})
address@hidden defop
+& @& @ampchar{} @{ @} @@
+',
+{'test_formats' => ['plaintext', 'html', 'xml', 'docbook']}],
);
my @test_printindex = ();
Added: trunk/tp/t/results/def/ampchar.pl
===================================================================
--- trunk/tp/t/results/def/ampchar.pl (rev 0)
+++ trunk/tp/t/results/def/ampchar.pl 2018-09-21 22:02:12 UTC (rev 8191)
@@ -0,0 +1,415 @@
+use vars qw(%result_texis %result_texts %result_trees %result_errors
+ %result_indices %result_sectioning %result_nodes %result_menus
+ %result_floats %result_converted %result_converted_errors
+ %result_elements %result_directions_text);
+
+use utf8;
+
+$result_trees{'ampchar'} = {
+ 'contents' => [
+ {
+ 'cmdname' => 'defop',
+ 'contents' => [
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'Constructor'
+ }
+ ],
+ 'extra' => {
+ 'def_role' => 'category'
+ },
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => ''
+ },
+ 'parent' => {},
+ 'type' => 'bracketed_def_content'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'class'
+ },
+ 'text' => 'a'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'name'
+ },
+ 'text' => 'b'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'parent' => {},
+ 'text' => ' ',
+ 'type' => 'spaces'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'parent' => {},
+ 'text' => '(',
+ 'type' => 'delimiter'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'const std::vector<int>'
+ },
+ {
+ 'cmdname' => '&',
+ 'parent' => {}
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'code',
+ 'contents' => [],
+ 'extra' => {
+ 'def_role' => 'arg'
+ },
+ 'line_nr' => {},
+ 'parent' => {}
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'delimiter'
+ },
+ 'parent' => {},
+ 'text' => ')',
+ 'type' => 'delimiter'
+ },
+ {
+ 'extra' => {
+ 'def_role' => 'spaces'
+ },
+ 'parent' => {},
+ 'text' => '
+',
+ 'type' => 'spaces_at_end'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'block_line_arg'
+ }
+ ],
+ 'extra' => {
+ 'def_command' => 'defop',
+ 'def_parsed_hash' => {
+ 'category' => {},
+ 'class' => {},
+ 'name' => {}
+ },
+ 'index_entry' => {
+ 'command' => {},
+ 'content' => [
+ {},
+ {
+ 'text' => ' on '
+ },
+ {}
+ ],
+ 'content_normalized' => [
+ {},
+ {
+ 'text' => ' on '
+ },
+ {}
+ ],
+ 'in_code' => 1,
+ 'index_at_command' => 'defop',
+ 'index_name' => 'fn',
+ 'index_type_command' => 'defop',
+ 'key' => 'b on a',
+ 'number' => 1
+ },
+ 'original_def_cmdname' => 'defop'
+ },
+ 'line_nr' => {},
+ 'parent' => {},
+ 'type' => 'def_line'
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => 'defop'
+ }
+ ],
+ 'extra' => {
+ 'spaces_after_argument' => '
+'
+ },
+ 'parent' => {},
+ 'type' => 'misc_line_arg'
+ }
+ ],
+ 'cmdname' => 'end',
+ 'extra' => {
+ 'command_argument' => 'defop',
+ 'spaces_before_argument' => ' ',
+ 'text_arg' => 'defop'
+ },
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 2,
+ 'macro' => ''
+ },
+ 'parent' => {}
+ }
+ ],
+ 'extra' => {
+ 'end_command' => {},
+ 'spaces_before_argument' => ' '
+ },
+ 'line_nr' => {},
+ 'parent' => {}
+ },
+ {
+ 'contents' => [
+ {
+ 'parent' => {},
+ 'text' => '& '
+ },
+ {
+ 'cmdname' => '&',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' '
+ },
+ {
+ 'args' => [
+ {
+ 'contents' => [],
+ 'parent' => {},
+ 'type' => 'brace_command_arg'
+ }
+ ],
+ 'cmdname' => 'ampchar',
+ 'contents' => [],
+ 'line_nr' => {
+ 'file_name' => '',
+ 'line_nr' => 3,
+ 'macro' => ''
+ },
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' '
+ },
+ {
+ 'cmdname' => '{',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' '
+ },
+ {
+ 'cmdname' => '}',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => ' '
+ },
+ {
+ 'cmdname' => '@',
+ 'parent' => {}
+ },
+ {
+ 'parent' => {},
+ 'text' => '
+'
+ }
+ ],
+ 'parent' => {},
+ 'type' => 'paragraph'
+ }
+ ],
+ 'type' => 'text_root'
+};
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[3]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[5]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[6]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'args'}[0]{'contents'}[0]{'parent'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'args'}[0]{'contents'}[1]{'parent'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'args'}[0]{'parent'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'line_nr'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'line_nr'};
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[7]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[8]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[9]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'} =
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'category'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'class'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'def_parsed_hash'}{'name'}
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'command'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'content'}[0]
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'content'}[2]
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[0]
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[4];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'extra'}{'index_entry'}{'content_normalized'}[2]
=
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[2];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'line_nr'} =
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'line_nr'};
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'parent'} =
$result_trees{'ampchar'}{'contents'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
= $result_trees{'ampchar'}{'contents'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} =
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[0]{'contents'}[1]{'parent'} =
$result_trees{'ampchar'}{'contents'}[0];
+$result_trees{'ampchar'}{'contents'}[0]{'extra'}{'end_command'} =
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[0]{'line_nr'} =
$result_trees{'ampchar'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'line_nr'};
+$result_trees{'ampchar'}{'contents'}[0]{'parent'} = $result_trees{'ampchar'};
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[0]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[1]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[2]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[3]{'args'}[0]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1]{'contents'}[3];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[3]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[4]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[5]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[6]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[7]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[8]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[9]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'contents'}[10]{'parent'} =
$result_trees{'ampchar'}{'contents'}[1];
+$result_trees{'ampchar'}{'contents'}[1]{'parent'} = $result_trees{'ampchar'};
+
+$result_texis{'ampchar'} = '@defop {Constructor} a b (@code{const
std::vector<int>@&})
address@hidden defop
+& @& @ampchar{} @{ @} @@
+';
+
+
+$result_texts{'ampchar'} = 'Constructor on a: b (const std::vector<int>&)
+& & & { } @
+';
+
+$result_errors{'ampchar'} = [
+ {
+ 'error_line' => ':1: warning: entry for index `fn\' outside of any node
+',
+ 'file_name' => '',
+ 'line_nr' => 1,
+ 'macro' => '',
+ 'text' => 'entry for index `fn\' outside of any node',
+ 'type' => 'warning'
+ }
+];
+
+
+
+$result_converted{'plaintext'}->{'ampchar'} = ' -- Constructor on a: b
(\'const std::vector<int>&\')
+ & & & { } @
+';
+
+
+$result_converted{'html'}->{'ampchar'} = '<!DOCTYPE html PUBLIC "-//W3C//DTD
HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Created by texinfo, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Untitled Document</title>
+
+<meta name="description" content="Untitled Document">
+<meta name="keywords" content="Untitled Document">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.indentedblock {margin-right: 0em}
+blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
+blockquote.smallquotation {font-size: smaller}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+div.smalldisplay {margin-left: 3.2em}
+div.smallexample {margin-left: 3.2em}
+div.smalllisp {margin-left: 3.2em}
+kbd {font-style: oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: inherit; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: inherit; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.nolinebreak {white-space: nowrap}
+span.roman {font-family: initial; font-weight: normal}
+span.sansserif {font-family: sans-serif; font-weight: normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en">
+<dl>
+<dt><a name="index-b-on-a"></a>Constructor on a: <strong>b</strong>
<em>(<code>const std::vector<int>&</code>)</em></dt>
+</dl>
+<p>& & & { } @
+</p>
+
+
+</body>
+</html>
+';
+
+$result_converted_errors{'html'}->{'ampchar'} = [
+ {
+ 'error_line' => 'warning: must specify a title with a title command or @top
+',
+ 'text' => 'must specify a title with a title command or @top',
+ 'type' => 'warning'
+ }
+];
+
+
+
+$result_converted{'xml'}->{'ampchar'} = '<defop spaces=" " endspaces="
"><definitionterm><indexterm index="fn" number="1">b on
a</indexterm><defcategory bracketed="on">Constructor</defcategory>
<defclass>a</defclass> <defoperation>b</defoperation>
<defdelimiter>(</defdelimiter><defparam><code>const
std::vector<int>&</code></defparam><defdelimiter>)</defdelimiter></definitionterm>
+</defop>
+<para>& & &char; { } &arobase;
+</para>';
+
+
+$result_converted{'docbook'}->{'ampchar'} = '<synopsis><indexterm
role="fn"><primary>b on a</primary></indexterm><phrase
role="category"><emphasis role="bold">Constructor</emphasis>:</phrase>
<ooclass><classname>a</classname></ooclass> <methodname>b</methodname>
(<replaceable>const std::vector<int>&</replaceable>)</synopsis>
+<para>& & & { } @
+</para>';
+
+1;
Modified: trunk/util/texinfo.dtd
===================================================================
--- trunk/util/texinfo.dtd 2018-09-21 18:34:13 UTC (rev 8190)
+++ trunk/util/texinfo.dtd 2018-09-21 22:02:12 UTC (rev 8191)
@@ -2,7 +2,7 @@
Document Type Definition for Texinfo XML output (the '-'-xml option).
Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
- 2011, 2012, 2013, 2014, 2015, 2016 Free Software Foundation, Inc.
+ 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -1311,6 +1311,7 @@
<!ENTITY rbrace "}">
<!ENTITY comma ",">
<!ENTITY atchar "@">
+<!ENTITY ampchar "&">
<!ENTITY lbracechar "{">
<!ENTITY rbracechar "}">
<!ENTITY backslashchar "\\">
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [8191] implement @& and @ampchar{},
gavinsmith0123 <=