texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: * tp/Texinfo/ParserNonXS.pm (_end_line), tp/Texin


From: Patrice Dumas
Subject: branch master updated: * tp/Texinfo/ParserNonXS.pm (_end_line), tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line): do not register accent comment without brace as a command_as_argument at all.
Date: Wed, 05 Jan 2022 08:31:40 -0500

This is an automated email from the git hooks/post-receive script.

pertusus pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 039d2a7c19 * tp/Texinfo/ParserNonXS.pm (_end_line), 
tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line): do not register 
accent comment without brace as a command_as_argument at all.
039d2a7c19 is described below

commit 039d2a7c19f2a81fd02a97985fcb871613ac18a6
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Wed Jan 5 14:31:28 2022 +0100

    * tp/Texinfo/ParserNonXS.pm (_end_line),
    tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line): do not
    register accent comment without brace as a command_as_argument at all.
---
 ChangeLog                                          |   6 +
 tp/Texinfo/ParserNonXS.pm                          |  36 +--
 tp/Texinfo/XS/parsetexi/parser.c                   |  34 +--
 tp/t/18itemize.t                                   |   9 +-
 tp/t/22xtable.t                                    |   5 +
 tp/t/results/html_tests/itemize_arguments.pl       |  32 ++-
 .../itemize_arguments/res_html/index.html          |   4 +-
 .../itemize_arguments_enable_encoding.pl           |  32 ++-
 .../res_html/index.html                            |   4 +-
 tp/t/results/itemize/accent_argument.pl            | 159 ++++++++++++-
 tp/t/results/itemize/empty_accent_argument.pl      | 154 +++++++++++-
 tp/t/results/xtable/accent_on_table_line.pl        | 258 ++++++++++++++++++++-
 12 files changed, 676 insertions(+), 57 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4e216f5a93..a50e223eca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2022-01-05  Patrice Dumas  <pertusus@free.fr>
+
+       * tp/Texinfo/ParserNonXS.pm (_end_line),
+       tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line): do not
+       register accent comment without brace as a command_as_argument at all.
+
 2022-01-05  Patrice Dumas  <pertusus@free.fr>
 
        * tp/Texinfo/Convert/HTML.pm (_default_css_string_format_protect_text)
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index d0d1f9f7b7..9c2e2d1e74 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -3042,6 +3042,8 @@ sub _end_line($$$)
           and 
$accent_commands{$current->{'extra'}->{'command_as_argument'}->{'cmdname'}}
           and ($current->{'cmdname'} eq 'itemize'
                or $item_line_commands{$current->{'cmdname'}})) {
+        # this can only happen to an accent command with brace, if without
+        # brace it is not set as command_as_argument to begin with.
         $self->_command_warn($current, $line_nr,
               __("accent command `\@%s' not allowed as \@%s argument"),
               $current->{'extra'}->{'command_as_argument'}->{'cmdname'},
@@ -4032,19 +4034,16 @@ sub _parse_texi($$$)
       } elsif ($current->{'cmdname'}
             and defined($brace_commands{$current->{'cmdname'}})
             and !$open_brace) {
-        # special case for @-command as argument of @itemize or @*table.
-        if (_command_with_command_as_argument($current->{'parent'})) {
-          print STDERR "FOR PARENT 
\@$current->{'parent'}->{'parent'}->{'cmdname'} command_as_argument 
$current->{'cmdname'}\n" if ($self->{'DEBUG'});
-          $current->{'type'} = 'command_as_argument' if (!$current->{'type'});
-          $current->{'parent'}->{'parent'}->{'extra'}->{'command_as_argument'} 
-            = $current;
-          if ($current->{'cmdname'} eq 'kbd'
-              and _kbd_formatted_as_code($self, 
$current->{'parent'}->{'parent'})) {
-            
$current->{'parent'}->{'parent'}->{'extra'}->{'command_as_argument_kbd_code'} = 
1;
-          }
-          $current = $current->{'parent'};
         # now accent commands
-        } elsif ($accent_commands{$current->{'cmdname'}}) {
+        if ($accent_commands{$current->{'cmdname'}}) {
+          # we should only warn for empty accent command.  However, it is
+          # already incorrect and warned just below, depending on the case
+          #if (_command_with_command_as_argument($current->{'parent'})) {
+          #  $self->_command_warn($current, $line_nr,
+          #    __("accent command `\@%s' not allowed as \@%s argument"),
+          #    $current->{'cmdname'},
+          #    $current->{'parent'}->{'parent'}->{'cmdname'});
+          #}
           if ($line =~ /^[^\S\r\n]/) {
             if ($current->{'cmdname'} =~ /^[a-zA-Z]/) {
               $line =~ s/^([^\S\r\n]+)//;
@@ -4062,7 +4061,7 @@ sub _parse_texi($$$)
               __("use braces to give a command as an argument to \@%s"),
                 $current->{'cmdname'}), $line_nr);
             $current = $current->{'parent'};
-          } elsif ($line =~ s/^(.)//o) {
+          } elsif ($line =~ s/^(.)//) {
             print STDERR "ACCENT \@$current->{'cmdname'}\n" 
               if ($self->{'DEBUG'});
             my $following_arg = {'type' => 'following_arg',
@@ -4088,6 +4087,17 @@ sub _parse_texi($$$)
             $current = $current->{'parent'};
           }
           next;
+        # special case for @-command as argument of @itemize or @*table.
+        } elsif (_command_with_command_as_argument($current->{'parent'})) {
+          print STDERR "FOR PARENT 
\@$current->{'parent'}->{'parent'}->{'cmdname'} command_as_argument 
$current->{'cmdname'}\n" if ($self->{'DEBUG'});
+          $current->{'type'} = 'command_as_argument' if (!$current->{'type'});
+          $current->{'parent'}->{'parent'}->{'extra'}->{'command_as_argument'} 
+            = $current;
+          if ($current->{'cmdname'} eq 'kbd'
+              and _kbd_formatted_as_code($self, 
$current->{'parent'}->{'parent'})) {
+            
$current->{'parent'}->{'parent'}->{'extra'}->{'command_as_argument_kbd_code'} = 
1;
+          }
+          $current = $current->{'parent'};
         } else {
           # ignore space after a braced @-command like TeX does
           if ($self->{'IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME'}
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index f5b05ab70d..e03a5fd441 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -1450,23 +1450,7 @@ superfluous_arg:
      command container. */
   else if (command_flags(current) & CF_brace && *line != '{')
     {
-      if (command_with_command_as_argument (current->parent))
-        {
-          debug ("FOR PARENT @%s command_as_argument @%s",
-                 command_name(current->parent->parent->cmd),
-                 command_name(current->cmd));
-          if (!current->type)
-            current->type = ET_command_as_argument;
-          add_extra_element (current->parent->parent, 
-                                 "command_as_argument", current);
-          if (current->cmd == CM_kbd
-              && kbd_formatted_as_code(current->parent->parent)) {
-            add_extra_integer (current->parent->parent,
-                               "command_as_argument_kbd_code", 1);
-          }
-          current = current->parent;
-        }
-      else if (command_flags(current) & CF_accent)
+      if (command_flags(current) & CF_accent)
         {
           if (strchr (whitespace_chars_except_newline, *line))
             {
@@ -1537,6 +1521,22 @@ superfluous_arg:
             }
           goto funexit;
         }
+      else if (command_with_command_as_argument (current->parent))
+        {
+          debug ("FOR PARENT @%s command_as_argument @%s",
+                 command_name(current->parent->parent->cmd),
+                 command_name(current->cmd));
+          if (!current->type)
+            current->type = ET_command_as_argument;
+          add_extra_element (current->parent->parent, 
+                                 "command_as_argument", current);
+          if (current->cmd == CM_kbd
+              && kbd_formatted_as_code(current->parent->parent)) {
+            add_extra_integer (current->parent->parent,
+                               "command_as_argument_kbd_code", 1);
+          }
+          current = current->parent;
+        }
       else
         {
           if (conf.ignore_space_after_braced_command_name)
diff --git a/tp/t/18itemize.t b/tp/t/18itemize.t
index f362f976ef..0b94feb525 100644
--- a/tp/t/18itemize.t
+++ b/tp/t/18itemize.t
@@ -12,7 +12,6 @@ my @test_cases = (
 @item @option{--target=} target platform on which the program is processed.
 @end itemize
 '],
-# unclear that these are valid constructs...
 ['empty_accent_argument',
 '@itemize @~@comment
 @item item
@@ -21,11 +20,19 @@ my @test_cases = (
 @itemize @~
 @item item
 @end itemize
+
+@itemize @~{}
+@item item
+@end itemize
 '],
 ['accent_argument',
 '@itemize @~e
 @item item
 @end itemize
+
+@itemize @~{e}
+@item item
+@end itemize
 '],
 ['comment_first_on_itemize_line',
 '@itemize @c comment on itemize line
diff --git a/tp/t/22xtable.t b/tp/t/22xtable.t
index 2d8095fa31..062d73cea3 100644
--- a/tp/t/22xtable.t
+++ b/tp/t/22xtable.t
@@ -11,6 +11,11 @@ my @test_cases = (
 @item first item
 @item no at-command @code{code}
 @end table
+
+@table @~{}
+@item acc brace first item
+@item no at-command @code{code acc brace}
+@end table
 '],
 ['definfoenclose_on_table_line',
 '@definfoenclose phi,:,:
diff --git a/tp/t/results/html_tests/itemize_arguments.pl 
b/tp/t/results/html_tests/itemize_arguments.pl
index b555e9ac46..803cd637fb 100644
--- a/tp/t/results/html_tests/itemize_arguments.pl
+++ b/tp/t/results/html_tests/itemize_arguments.pl
@@ -1804,6 +1804,18 @@ $result_trees{'itemize_arguments'} = {
             {
               'contents' => [
                 {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'e'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'following_arg'
+                    }
+                  ],
                   'cmdname' => '^',
                   'contents' => [],
                   'line_nr' => {
@@ -1815,7 +1827,7 @@ $result_trees{'itemize_arguments'} = {
                 },
                 {
                   'parent' => {},
-                  'text' => 'e '
+                  'text' => ' '
                 },
                 {
                   'args' => [
@@ -2017,6 +2029,18 @@ $result_trees{'itemize_arguments'} = {
             {
               'contents' => [
                 {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'E'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'following_arg'
+                    }
+                  ],
                   'cmdname' => '^',
                   'contents' => [],
                   'line_nr' => {
@@ -2028,7 +2052,7 @@ $result_trees{'itemize_arguments'} = {
                 },
                 {
                   'parent' => {},
-                  'text' => 'E '
+                  'text' => ' '
                 },
                 {
                   'args' => [
@@ -4751,6 +4775,8 @@ 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[28]{'contents'}[1]
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[28]{'extra'}{'end_command'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[28]{'contents'}[1];
 $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[28]{'parent'} = 
$result_trees{'itemize_arguments'}{'contents'}[0];
 $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[29]{'parent'} = 
$result_trees{'itemize_arguments'}{'contents'}[0];
+$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0];
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0];
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0];
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0];
@@ -4778,6 +4804,8 @@ 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'contents'}[1]
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'extra'}{'end_command'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'contents'}[1];
 $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[30]{'parent'} = 
$result_trees{'itemize_arguments'}{'contents'}[0];
 $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[31]{'parent'} = 
$result_trees{'itemize_arguments'}{'contents'}[0];
+$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0];
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0];
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0];
 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0];
diff --git a/tp/t/results/html_tests/itemize_arguments/res_html/index.html 
b/tp/t/results/html_tests/itemize_arguments/res_html/index.html
index 41b135233e..e7c8018515 100644
--- a/tp/t/results/html_tests/itemize_arguments/res_html/index.html
+++ b/tp/t/results/html_tests/itemize_arguments/res_html/index.html
@@ -108,11 +108,11 @@ ul.no-bullet {list-style: none}
 <li>item dots <small class="enddots">...</small> a
 </li></ul>
 
-<ul style="list-style-type: '\0302 e \00CA '">
+<ul style="list-style-type: '\00EA  \00CA '">
 <li>item e &ecirc; <small>&Ecirc;</small>
 </li></ul>
 
-<ul style="list-style-type: '\0302 E \00CA '">
+<ul style="list-style-type: '\00CA  \00CA '">
 <li>item E &Ecirc; <small>&Ecirc;</small>
 </li></ul>
 
diff --git a/tp/t/results/html_tests/itemize_arguments_enable_encoding.pl 
b/tp/t/results/html_tests/itemize_arguments_enable_encoding.pl
index 3b8c42e616..cba0f1eed7 100644
--- a/tp/t/results/html_tests/itemize_arguments_enable_encoding.pl
+++ b/tp/t/results/html_tests/itemize_arguments_enable_encoding.pl
@@ -1804,6 +1804,18 @@ $result_trees{'itemize_arguments_enable_encoding'} = {
             {
               'contents' => [
                 {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'e'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'following_arg'
+                    }
+                  ],
                   'cmdname' => '^',
                   'contents' => [],
                   'line_nr' => {
@@ -1815,7 +1827,7 @@ $result_trees{'itemize_arguments_enable_encoding'} = {
                 },
                 {
                   'parent' => {},
-                  'text' => 'e '
+                  'text' => ' '
                 },
                 {
                   'args' => [
@@ -2017,6 +2029,18 @@ $result_trees{'itemize_arguments_enable_encoding'} = {
             {
               'contents' => [
                 {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'E'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'following_arg'
+                    }
+                  ],
                   'cmdname' => '^',
                   'contents' => [],
                   'line_nr' => {
@@ -2028,7 +2052,7 @@ $result_trees{'itemize_arguments_enable_encoding'} = {
                 },
                 {
                   'parent' => {},
-                  'text' => 'E '
+                  'text' => ' '
                 },
                 {
                   'args' => [
@@ -4751,6 +4775,8 @@ 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[28
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[28]{'extra'}{'end_command'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[28]{'contents'}[1];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[28]{'parent'}
 = $result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[29]{'parent'}
 = $result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0];
+$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0];
@@ -4778,6 +4804,8 @@ 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'extra'}{'end_command'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'contents'}[1];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[30]{'parent'}
 = $result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[31]{'parent'}
 = $result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0];
+$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0];
 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'itemize_arguments_enable_encoding'}{'contents'}[0]{'contents'}[32]{'args'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0];
diff --git 
a/tp/t/results/html_tests/itemize_arguments_enable_encoding/res_html/index.html 
b/tp/t/results/html_tests/itemize_arguments_enable_encoding/res_html/index.html
index f8e3fb4930..b2e1f45158 100644
--- 
a/tp/t/results/html_tests/itemize_arguments_enable_encoding/res_html/index.html
+++ 
b/tp/t/results/html_tests/itemize_arguments_enable_encoding/res_html/index.html
@@ -108,11 +108,11 @@ ul.no-bullet {list-style: none}
 <li>item dots <small class="enddots">...</small> a
 </li></ul>
 
-<ul style="list-style-type: '̂e Ê'">
+<ul style="list-style-type: 'ê Ê'">
 <li>item e ê <small>Ê</small>
 </li></ul>
 
-<ul style="list-style-type: '̂E Ê'">
+<ul style="list-style-type: 'Ê Ê'">
 <li>item E Ê <small>Ê</small>
 </li></ul>
 
diff --git a/tp/t/results/itemize/accent_argument.pl 
b/tp/t/results/itemize/accent_argument.pl
index 3f439659e9..faf810f63d 100644
--- a/tp/t/results/itemize/accent_argument.pl
+++ b/tp/t/results/itemize/accent_argument.pl
@@ -14,6 +14,18 @@ $result_trees{'accent_argument'} = {
             {
               'contents' => [
                 {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'e'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'following_arg'
+                    }
+                  ],
                   'cmdname' => '~',
                   'contents' => [],
                   'line_nr' => {
@@ -22,10 +34,6 @@ $result_trees{'accent_argument'} = {
                     'macro' => ''
                   },
                   'parent' => {}
-                },
-                {
-                  'parent' => {},
-                  'text' => 'e'
                 }
               ],
               'extra' => {
@@ -105,6 +113,117 @@ $result_trees{'accent_argument'} = {
             'macro' => ''
           },
           'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [
+                        {
+                          'parent' => {},
+                          'text' => 'e'
+                        }
+                      ],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => '~',
+                  'contents' => [],
+                  'line_nr' => {
+                    'file_name' => '',
+                    'line_nr' => 5,
+                    'macro' => ''
+                  },
+                  'parent' => {}
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'itemize',
+          'contents' => [
+            {
+              'cmdname' => 'item',
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'item
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'extra' => {
+                'item_number' => 1,
+                'spaces_before_argument' => ' '
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 6,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'itemize'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command_argument' => 'itemize',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'itemize'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 7,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'end_command' => {},
+            'spaces_before_argument' => ' '
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 5,
+            'macro' => ''
+          },
+          'parent' => {}
         }
       ],
       'parent' => {},
@@ -113,8 +232,9 @@ $result_trees{'accent_argument'} = {
   ],
   'type' => 'document_root'
 };
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0];
 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0];
-$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0];
 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0];
 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[0];
@@ -124,15 +244,34 @@ 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'a
 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0];
 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'extra'}{'end_command'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'contents'}[1];
 $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[0]{'parent'} = 
$result_trees{'accent_argument'}{'contents'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[1]{'parent'} = 
$result_trees{'accent_argument'}{'contents'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'extra'}{'end_command'}
 = 
$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
+$result_trees{'accent_argument'}{'contents'}[0]{'contents'}[2]{'parent'} = 
$result_trees{'accent_argument'}{'contents'}[0];
 $result_trees{'accent_argument'}{'contents'}[0]{'parent'} = 
$result_trees{'accent_argument'};
 
 $result_texis{'accent_argument'} = '@itemize @~e
 @item item
 @end itemize
+
+@itemize @~{e}
+@item item
+@end itemize
 ';
 
 
 $result_texts{'accent_argument'} = 'item
+
+item
 ';
 
 $result_errors{'accent_argument'} = [];
@@ -142,11 +281,17 @@ $result_floats{'accent_argument'} = {};
 
 
 
-$result_converted{'plaintext'}->{'accent_argument'} = '   ̃e item
+$result_converted{'plaintext'}->{'accent_argument'} = '   ẽ item
+
+   ẽ item
 ';
 
 
-$result_converted{'html_text'}->{'accent_argument'} = '<ul 
style="list-style-type: \'\\0303 e\'">
+$result_converted{'html_text'}->{'accent_argument'} = '<ul 
style="list-style-type: \'\\1EBD \'">
+<li>item
+</li></ul>
+
+<ul style="list-style-type: \'\\1EBD \'">
 <li>item
 </li></ul>
 ';
diff --git a/tp/t/results/itemize/empty_accent_argument.pl 
b/tp/t/results/itemize/empty_accent_argument.pl
index d6b48d1368..2dd84e8751 100644
--- a/tp/t/results/itemize/empty_accent_argument.pl
+++ b/tp/t/results/itemize/empty_accent_argument.pl
@@ -21,8 +21,7 @@ $result_trees{'empty_accent_argument'} = {
                     'line_nr' => 1,
                     'macro' => ''
                   },
-                  'parent' => {},
-                  'type' => 'command_as_argument'
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -137,8 +136,7 @@ $result_trees{'empty_accent_argument'} = {
                     'line_nr' => 5,
                     'macro' => ''
                   },
-                  'parent' => {},
-                  'type' => 'command_as_argument'
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -218,6 +216,113 @@ $result_trees{'empty_accent_argument'} = {
             'macro' => ''
           },
           'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => '~',
+                  'contents' => [],
+                  'line_nr' => {
+                    'file_name' => '',
+                    'line_nr' => 9,
+                    'macro' => ''
+                  },
+                  'parent' => {},
+                  'type' => 'command_as_argument'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'itemize',
+          'contents' => [
+            {
+              'cmdname' => 'item',
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'item
+'
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'paragraph'
+                }
+              ],
+              'extra' => {
+                'item_number' => 1,
+                'spaces_before_argument' => ' '
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 10,
+                'macro' => ''
+              },
+              'parent' => {}
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'itemize'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command_argument' => 'itemize',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'itemize'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 11,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'end_command' => {},
+            'spaces_before_argument' => ' '
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 9,
+            'macro' => ''
+          },
+          'parent' => {}
         }
       ],
       'parent' => {},
@@ -249,6 +354,18 @@ 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}
 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[2];
 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[2]{'extra'}{'end_command'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
 $result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'empty_accent_argument'}{'contents'}[0];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[3]{'parent'} 
= $result_trees{'empty_accent_argument'}{'contents'}[0];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'args'}[0];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'args'}[0]{'parent'}
 = $result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'contents'}[0];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[0];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[0]{'parent'}
 = $result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[1]{'parent'}
 = $result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'extra'}{'end_command'}
 = 
$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'contents'}[1];
+$result_trees{'empty_accent_argument'}{'contents'}[0]{'contents'}[4]{'parent'} 
= $result_trees{'empty_accent_argument'}{'contents'}[0];
 $result_trees{'empty_accent_argument'}{'contents'}[0]{'parent'} = 
$result_trees{'empty_accent_argument'};
 
 $result_texis{'empty_accent_argument'} = '@itemize @~@comment
@@ -258,30 +375,45 @@ $result_texis{'empty_accent_argument'} = '@itemize 
@~@comment
 @itemize @~
 @item item
 @end itemize
+
+@itemize @~{}
+@item item
+@end itemize
 ';
 
 
 $result_texts{'empty_accent_argument'} = 'item
 
+item
+
 item
 ';
 
 $result_errors{'empty_accent_argument'} = [
   {
-    'error_line' => ':1: warning: accent command `@~\' not allowed as @itemize 
argument
+    'error_line' => ':1: use braces to give a command as an argument to @~
 ',
     'file_name' => '',
     'line_nr' => 1,
     'macro' => '',
-    'text' => 'accent command `@~\' not allowed as @itemize argument',
-    'type' => 'warning'
+    'text' => 'use braces to give a command as an argument to @~',
+    'type' => 'error'
   },
   {
-    'error_line' => ':5: warning: accent command `@~\' not allowed as @itemize 
argument
+    'error_line' => ':5: warning: accent command `@~\' must not be followed by 
new line
 ',
     'file_name' => '',
     'line_nr' => 5,
     'macro' => '',
+    'text' => 'accent command `@~\' must not be followed by new line',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':9: warning: accent command `@~\' not allowed as @itemize 
argument
+',
+    'file_name' => '',
+    'line_nr' => 9,
+    'macro' => '',
     'text' => 'accent command `@~\' not allowed as @itemize argument',
     'type' => 'warning'
   }
@@ -295,6 +427,8 @@ $result_floats{'empty_accent_argument'} = {};
 $result_converted{'plaintext'}->{'empty_accent_argument'} = '   ̃  item
 
    ̃  item
+
+   ̃  item
 ';
 
 
@@ -302,6 +436,10 @@ $result_converted{'html_text'}->{'empty_accent_argument'} 
= '<ul style="list-sty
 <li>item
 </li></ul>
 
+<ul style="list-style-type: \'\\0303 \'">
+<li>item
+</li></ul>
+
 <ul style="list-style-type: \'\\0303 \'">
 <li>item
 </li></ul>
diff --git a/tp/t/results/xtable/accent_on_table_line.pl 
b/tp/t/results/xtable/accent_on_table_line.pl
index 7e8944ed87..f817c17644 100644
--- a/tp/t/results/xtable/accent_on_table_line.pl
+++ b/tp/t/results/xtable/accent_on_table_line.pl
@@ -27,8 +27,7 @@ $result_trees{'accent_on_table_line'} = {
                     'line_nr' => 1,
                     'macro' => ''
                   },
-                  'parent' => {},
-                  'type' => 'command_as_argument'
+                  'parent' => {}
                 }
               ],
               'extra' => {
@@ -185,6 +184,196 @@ $result_trees{'accent_on_table_line'} = {
             'macro' => ''
           },
           'parent' => {}
+        },
+        {
+          'parent' => {},
+          'text' => '
+',
+          'type' => 'empty_line'
+        },
+        {
+          'args' => [
+            {
+              'cmdname' => 'asis',
+              'contents' => [],
+              'parent' => {},
+              'type' => 'command_as_argument_inserted'
+            },
+            {
+              'contents' => [
+                {
+                  'args' => [
+                    {
+                      'contents' => [],
+                      'parent' => {},
+                      'type' => 'brace_command_arg'
+                    }
+                  ],
+                  'cmdname' => '~',
+                  'contents' => [],
+                  'line_nr' => {
+                    'file_name' => '',
+                    'line_nr' => 6,
+                    'macro' => ''
+                  },
+                  'parent' => {},
+                  'type' => 'command_as_argument'
+                }
+              ],
+              'extra' => {
+                'spaces_after_argument' => '
+'
+              },
+              'parent' => {},
+              'type' => 'block_line_arg'
+            }
+          ],
+          'cmdname' => 'table',
+          'contents' => [
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'acc brace first item'
+                            }
+                          ],
+                          'extra' => {
+                            'spaces_after_argument' => '
+'
+                          },
+                          'parent' => {},
+                          'type' => 'line_arg'
+                        }
+                      ],
+                      'cmdname' => 'item',
+                      'extra' => {
+                        'spaces_before_argument' => ' '
+                      },
+                      'line_nr' => {
+                        'file_name' => '',
+                        'line_nr' => 7,
+                        'macro' => ''
+                      },
+                      'parent' => {}
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'table_term'
+                }
+              ],
+              'parent' => {},
+              'type' => 'table_entry'
+            },
+            {
+              'contents' => [
+                {
+                  'contents' => [
+                    {
+                      'args' => [
+                        {
+                          'contents' => [
+                            {
+                              'parent' => {},
+                              'text' => 'no at-command '
+                            },
+                            {
+                              'args' => [
+                                {
+                                  'contents' => [
+                                    {
+                                      'parent' => {},
+                                      'text' => 'code acc brace'
+                                    }
+                                  ],
+                                  'parent' => {},
+                                  'type' => 'brace_command_arg'
+                                }
+                              ],
+                              'cmdname' => 'code',
+                              'contents' => [],
+                              'line_nr' => {
+                                'file_name' => '',
+                                'line_nr' => 8,
+                                'macro' => ''
+                              },
+                              'parent' => {}
+                            }
+                          ],
+                          'extra' => {
+                            'spaces_after_argument' => '
+'
+                          },
+                          'parent' => {},
+                          'type' => 'line_arg'
+                        }
+                      ],
+                      'cmdname' => 'item',
+                      'extra' => {
+                        'spaces_before_argument' => ' '
+                      },
+                      'line_nr' => {
+                        'file_name' => '',
+                        'line_nr' => 8,
+                        'macro' => ''
+                      },
+                      'parent' => {}
+                    }
+                  ],
+                  'parent' => {},
+                  'type' => 'table_term'
+                }
+              ],
+              'parent' => {},
+              'type' => 'table_entry'
+            },
+            {
+              'args' => [
+                {
+                  'contents' => [
+                    {
+                      'parent' => {},
+                      'text' => 'table'
+                    }
+                  ],
+                  'extra' => {
+                    'spaces_after_argument' => '
+'
+                  },
+                  'parent' => {},
+                  'type' => 'line_arg'
+                }
+              ],
+              'cmdname' => 'end',
+              'extra' => {
+                'command_argument' => 'table',
+                'spaces_before_argument' => ' ',
+                'text_arg' => 'table'
+              },
+              'line_nr' => {
+                'file_name' => '',
+                'line_nr' => 9,
+                'macro' => ''
+              },
+              'parent' => {}
+            }
+          ],
+          'extra' => {
+            'command_as_argument' => {},
+            'end_command' => {},
+            'spaces_before_argument' => ' '
+          },
+          'line_nr' => {
+            'file_name' => '',
+            'line_nr' => 6,
+            'macro' => ''
+          },
+          'parent' => {}
         }
       ],
       'parent' => {},
@@ -215,26 +404,76 @@ 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[0]{'contents'}[
 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'command_as_argument'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[0]{'args'}[0];
 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[0]{'extra'}{'end_command'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[0]{'contents'}[2];
 $result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[0]{'parent'} 
= $result_trees{'accent_on_table_line'}{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[1]{'parent'} 
= $result_trees{'accent_on_table_line'}{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'args'}[0]{'parent'}
 = $result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'args'}[1];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'args'}[1]{'parent'}
 = $result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[0]{'parent'}
 = $result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[1]{'parent'}
 = $result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'contents'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'args'}[0]{'parent'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[2]{'parent'}
 = $result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'extra'}{'command_as_argument'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'args'}[0];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'extra'}{'end_command'}
 = 
$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'contents'}[2];
+$result_trees{'accent_on_table_line'}{'contents'}[0]{'contents'}[2]{'parent'} 
= $result_trees{'accent_on_table_line'}{'contents'}[0];
 $result_trees{'accent_on_table_line'}{'contents'}[0]{'parent'} = 
$result_trees{'accent_on_table_line'};
 
 $result_texis{'accent_on_table_line'} = '@table @~
 @item first item
 @item no at-command @code{code}
 @end table
+
+@table @~{}
+@item acc brace first item
+@item no at-command @code{code acc brace}
+@end table
 ';
 
 
 $result_texts{'accent_on_table_line'} = 'first item
 no at-command code
+
+acc brace first item
+no at-command code acc brace
 ';
 
 $result_errors{'accent_on_table_line'} = [
   {
-    'error_line' => ':1: warning: accent command `@~\' not allowed as @table 
argument
+    'error_line' => ':1: warning: accent command `@~\' must not be followed by 
new line
+',
+    'file_name' => '',
+    'line_nr' => 1,
+    'macro' => '',
+    'text' => 'accent command `@~\' must not be followed by new line',
+    'type' => 'warning'
+  },
+  {
+    'error_line' => ':1: table requires an argument: the formatter for @item
 ',
     'file_name' => '',
     'line_nr' => 1,
     'macro' => '',
+    'text' => 'table requires an argument: the formatter for @item',
+    'type' => 'error'
+  },
+  {
+    'error_line' => ':6: warning: accent command `@~\' not allowed as @table 
argument
+',
+    'file_name' => '',
+    'line_nr' => 6,
+    'macro' => '',
     'text' => 'accent command `@~\' not allowed as @table argument',
     'type' => 'warning'
   }
@@ -247,6 +486,9 @@ $result_floats{'accent_on_table_line'} = {};
 
 $result_converted{'plaintext'}->{'accent_on_table_line'} = 'first item
 no at-command ‘code’
+
+acc brace first item
+no at-command ‘code acc brace’
 ';
 
 
@@ -254,6 +496,11 @@ $result_converted{'html_text'}->{'accent_on_table_line'} = 
'<dl>
 <dt>first item</dt>
 <dt>no at-command <code>code</code></dt>
 </dl>
+
+<dl>
+<dt>acc brace first item</dt>
+<dt>no at-command <code>code acc brace</code></dt>
+</dl>
 ';
 
 
@@ -261,6 +508,11 @@ $result_converted{'xml'}->{'accent_on_table_line'} = 
'<table commandarg="asis" s
 <tableentry><tableterm><item spaces=" "><itemformat command="asis">first 
item</itemformat></item>
 </tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat 
command="asis">no at-command <code>code</code></itemformat></item>
 </tableterm></tableentry></table>
+
+<table commandarg="asis" spaces=" " endspaces=" ">
+<tableentry><tableterm><item spaces=" "><itemformat command="asis">acc brace 
first item</itemformat></item>
+</tableterm></tableentry><tableentry><tableterm><item spaces=" "><itemformat 
command="asis">no at-command <code>code acc brace</code></itemformat></item>
+</tableterm></tableentry></table>
 ';
 
 1;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]