[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
branch master updated: * tp/Texinfo/Convert/DocBook.pm (_convert), tp/Te
From: |
Patrice Dumas |
Subject: |
branch master updated: * tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm (_convert_balanced_braces_type), tp/Texinfo/Convert/LaTeX.pm (_convert), tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo), tp/Texinfo/Convert/TexinfoMarkup.pm (_convert), tp/Texinfo/Convert/Text.pm (_convert), tp/Texinfo/Convert/TextContent.pm (_convert), tp/Texinfo/ParserNonXS.pm (_close_current, _handle_open_brace) (_handle_close_brace), tp/Texinfo/XS/parsetexi/close.c (cl [...] |
Date: |
Sat, 11 Mar 2023 04:53:13 -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 ddac21959c * tp/Texinfo/Convert/DocBook.pm (_convert),
tp/Texinfo/Convert/HTML.pm (_convert_balanced_braces_type),
tp/Texinfo/Convert/LaTeX.pm (_convert), tp/Texinfo/Convert/Plaintext.pm
(_convert), tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo),
tp/Texinfo/Convert/TexinfoMarkup.pm (_convert), tp/Texinfo/Convert/Text.pm
(_convert), tp/Texinfo/Convert/TextContent.pm (_convert),
tp/Texinfo/ParserNonXS.pm (_close_current, _handle_open_brace)
(_handle_close_brace), tp/Texinfo/XS/ [...]
ddac21959c is described below
commit ddac21959c74aa427fe68fc67e720129f4343852
Author: Patrice Dumas <pertusus@free.fr>
AuthorDate: Sat Mar 11 10:53:01 2023 +0100
* tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm
(_convert_balanced_braces_type), tp/Texinfo/Convert/LaTeX.pm
(_convert), tp/Texinfo/Convert/Plaintext.pm (_convert),
tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo),
tp/Texinfo/Convert/TexinfoMarkup.pm (_convert),
tp/Texinfo/Convert/Text.pm (_convert),
tp/Texinfo/Convert/TextContent.pm (_convert),
tp/Texinfo/ParserNonXS.pm (_close_current, _handle_open_brace)
(_handle_close_brace), tp/Texinfo/XS/parsetexi/close.c
(close_current), tp/Texinfo/XS/parsetexi/convert.c
(convert_to_texinfo_internal), tp/Texinfo/XS/parsetexi/separator.c
(handle_open_brace, handle_close_brace): put braces associated to the
balanced_braces type in the contents of the container, as text.
* tp/Texinfo/ParserNonXS.pm (_handle_close_brace),
tp/Texinfo/XS/parsetexi/separator.c (handle_close_brace): abort empty
line and close paragraph in brace_command_context commands only if the
current container is actually a paragraph.
* tp/t/03coverage_braces.t, tp/Makefile.tres: add
empty_line_in_braces_in_math and
empty_line_in_braces_in_math_at_begin_line tests.
---
ChangeLog | 25 ++++++++
tp/Makefile.tres | 2 +
tp/Texinfo/Convert/DocBook.pm | 3 -
tp/Texinfo/Convert/HTML.pm | 2 +-
tp/Texinfo/Convert/LaTeX.pm | 4 --
tp/Texinfo/Convert/NodeNameNormalization.pm | 2 -
tp/Texinfo/Convert/Plaintext.pm | 6 --
tp/Texinfo/Convert/Texinfo.pm | 6 +-
tp/Texinfo/Convert/TexinfoMarkup.pm | 2 -
tp/Texinfo/Convert/Text.pm | 10 ++-
tp/Texinfo/Convert/TextContent.pm | 2 -
tp/Texinfo/ParserNonXS.pm | 71 +++++++++++++++-------
tp/Texinfo/XS/parsetexi/close.c | 13 +++-
tp/Texinfo/XS/parsetexi/convert.c | 6 +-
tp/Texinfo/XS/parsetexi/parser.c | 4 +-
tp/Texinfo/XS/parsetexi/separator.c | 22 +++++--
tp/t/03coverage_braces.t | 11 ++++
tp/t/results/converters_tests/inline.pl | 18 ++++--
tp/t/results/converters_tests/inline_expand_tex.pl | 7 ++-
.../results/converters_tests/raw_block_commands.pl | 4 +-
.../raw_block_commands_expand_tex.pl | 4 +-
tp/t/results/coverage/displaymath.pl | 21 +++++--
tp/t/results/coverage/math.pl | 21 +++++--
.../math_bracketed_inside_not_closed.pl | 4 +-
.../coverage_braces/math_bracketed_not_closed.pl | 7 ++-
.../math_bracketed_not_closed_next_line.pl | 5 +-
tp/t/results/html_tests/mathjax_with_texinfo.pl | 7 ++-
.../mathjax_with_texinfo_enable_encoding.pl | 7 ++-
.../html_tests/mathjax_with_texinfo_html_text.pl | 7 ++-
.../mathjax_with_texinfo_no_convert_to_latex.pl | 7 ++-
tp/t/results/invalid_nestings/section_in_math.pl | 5 +-
.../titlepage_with_commands_classical.pl | 4 +-
.../plaintext_tests/lone_braces_in_inlineraw.pl | 2 +-
tp/t/results/raw/displaymath.pl | 8 +--
.../raw/second_level_lone_braces_in_html.pl | 7 ++-
tp/t/results/xml_tests/commands_and_spaces.pl | 2 +-
36 files changed, 225 insertions(+), 113 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 23f43b6391..a714d8120e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2023-03-11 Patrice Dumas <pertusus@free.fr>
+
+ * tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm
+ (_convert_balanced_braces_type), tp/Texinfo/Convert/LaTeX.pm
+ (_convert), tp/Texinfo/Convert/Plaintext.pm (_convert),
+ tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo),
+ tp/Texinfo/Convert/TexinfoMarkup.pm (_convert),
+ tp/Texinfo/Convert/Text.pm (_convert),
+ tp/Texinfo/Convert/TextContent.pm (_convert),
+ tp/Texinfo/ParserNonXS.pm (_close_current, _handle_open_brace)
+ (_handle_close_brace), tp/Texinfo/XS/parsetexi/close.c
+ (close_current), tp/Texinfo/XS/parsetexi/convert.c
+ (convert_to_texinfo_internal), tp/Texinfo/XS/parsetexi/separator.c
+ (handle_open_brace, handle_close_brace): put braces associated to the
+ balanced_braces type in the contents of the container, as text.
+
+ * tp/Texinfo/ParserNonXS.pm (_handle_close_brace),
+ tp/Texinfo/XS/parsetexi/separator.c (handle_close_brace): abort empty
+ line and close paragraph in brace_command_context commands only if the
+ current container is actually a paragraph.
+
+ * tp/t/03coverage_braces.t, tp/Makefile.tres: add
+ empty_line_in_braces_in_math and
+ empty_line_in_braces_in_math_at_begin_line tests.
+
2023-03-10 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm
diff --git a/tp/Makefile.tres b/tp/Makefile.tres
index 251a505add..151ac048af 100644
--- a/tp/Makefile.tres
+++ b/tp/Makefile.tres
@@ -363,6 +363,8 @@ test_files_generated_list =
$(test_tap_files_generated_list) \
t/results/coverage_braces/empty_commands.pl \
t/results/coverage_braces/empty_images.pl \
t/results/coverage_braces/empty_line_in_anchor.pl \
+ t/results/coverage_braces/empty_line_in_braces_in_math.pl \
+ t/results/coverage_braces/empty_line_in_braces_in_math_at_begin_line.pl \
t/results/coverage_braces/empty_line_in_email.pl \
t/results/coverage_braces/empty_line_in_math.pl \
t/results/coverage_braces/empty_ref.pl \
diff --git a/tp/Texinfo/Convert/DocBook.pm b/tp/Texinfo/Convert/DocBook.pm
index 27774f00fb..3e274a6832 100644
--- a/tp/Texinfo/Convert/DocBook.pm
+++ b/tp/Texinfo/Convert/DocBook.pm
@@ -1714,9 +1714,6 @@ sub _convert($$;$)
}
}
- $result = '{'.$result.'}'
- if ($element->{'type'} and $element->{'type'} eq 'balanced_braces');
-
foreach my $format_element (@close_format_elements) {
$result .= "</$format_element>";
}
diff --git a/tp/Texinfo/Convert/HTML.pm b/tp/Texinfo/Convert/HTML.pm
index 7e0650d8fc..d1f2746791 100644
--- a/tp/Texinfo/Convert/HTML.pm
+++ b/tp/Texinfo/Convert/HTML.pm
@@ -6233,7 +6233,7 @@ sub _convert_balanced_braces_type($$$$) {
my $element = shift;
my $content = shift;
- return '{'.$content.'}';
+ return $content;
}
$default_types_conversion{'balanced_braces'} = \&_convert_balanced_braces_type;
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 0946e41414..5dd3ba4435 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -4204,8 +4204,6 @@ sub _convert($$)
$result .= _open_preformatted($self, $element);
} elsif ($element->{'type'} eq '_dot_not_end_sentence') {
$self->{'formatting_context'}->[-1]->{'dot_not_end_sentence'} += 1;
- } elsif ($element->{'type'} eq 'balanced_braces') {
- $result .= _protect_text($self, '{');
}
}
@@ -4240,8 +4238,6 @@ sub _convert($$)
} elsif ($type eq 'table_term') {
$result .= '}}]'."\n";
pop @{$self->{'formatting_context'}->[-1]->{'nr_table_items_context'}};
- } elsif ($type eq 'balanced_braces') {
- $result .= _protect_text($self, '}');
} elsif ($type eq 'preformatted') {
$result .= _close_preformatted($self, $element);
} elsif ($type eq 'before_item') {
diff --git a/tp/Texinfo/Convert/NodeNameNormalization.pm
b/tp/Texinfo/Convert/NodeNameNormalization.pm
index 874567bcdc..31d6dd1ffc 100644
--- a/tp/Texinfo/Convert/NodeNameNormalization.pm
+++ b/tp/Texinfo/Convert/NodeNameNormalization.pm
@@ -320,8 +320,6 @@ sub _convert($)
$result .= _convert($content);
}
}
- $result = '{'.$result.'}'
- if ($element->{'type'} and $element->{'type'} eq 'balanced_braces');
return $result;
}
diff --git a/tp/Texinfo/Convert/Plaintext.pm b/tp/Texinfo/Convert/Plaintext.pm
index 00ec556055..3198e3d2a4 100644
--- a/tp/Texinfo/Convert/Plaintext.pm
+++ b/tp/Texinfo/Convert/Plaintext.pm
@@ -3406,9 +3406,6 @@ sub _convert($$)
_open_code($formatter);
} elsif ($element->{'type'} eq '_stop_upper_case') {
push @{$formatter->{'upper_case_stack'}}, {};
- } elsif ($element->{'type'} eq 'balanced_braces') {
- $result .= _count_added($self, $formatter->{'container'},
- add_text($formatter->{'container'}, '{'));
}
}
@@ -3441,9 +3438,6 @@ sub _convert($$)
_close_code($formatter);
} elsif ($element->{'type'} eq '_stop_upper_case') {
pop @{$formatter->{'upper_case_stack'}};
- } elsif ($element->{'type'} eq 'balanced_braces') {
- $result .= _count_added($self, $formatter->{'container'},
- add_text($formatter->{'container'}, '}'));
} elsif ($element->{'type'} eq 'row') {
my @cell_beginnings;
my @cell_lines;
diff --git a/tp/Texinfo/Convert/Texinfo.pm b/tp/Texinfo/Convert/Texinfo.pm
index ba8ca47118..9ab8c463fe 100644
--- a/tp/Texinfo/Convert/Texinfo.pm
+++ b/tp/Texinfo/Convert/Texinfo.pm
@@ -130,8 +130,7 @@ sub convert_to_texinfo($)
$result .= _expand_cmd_args_to_texi($element);
}
if ($element->{'type'}
- and ($element->{'type'} eq 'balanced_braces'
- or $element->{'type'} eq 'bracketed_arg')) {
+ and $element->{'type'} eq 'bracketed_arg') {
$result .= '{';
if ($element->{'info'}
and $element->{'info'}->{'spaces_before_argument'}) {
@@ -150,8 +149,7 @@ sub convert_to_texinfo($)
$result .= convert_to_texinfo($element->{'info'}->{'comment_at_end'})
}
$result .= '}' if ($element->{'type'}
- and ($element->{'type'} eq 'balanced_braces'
- or $element->{'type'} eq 'bracketed_arg'));
+ and $element->{'type'} eq 'bracketed_arg');
}
return $result;
}
diff --git a/tp/Texinfo/Convert/TexinfoMarkup.pm
b/tp/Texinfo/Convert/TexinfoMarkup.pm
index bece8ffc72..ae34856918 100644
--- a/tp/Texinfo/Convert/TexinfoMarkup.pm
+++ b/tp/Texinfo/Convert/TexinfoMarkup.pm
@@ -1572,8 +1572,6 @@ sub _convert($$;$)
.= $self->txi_markup_close_element($type_elements{$element->{'type'}});
}
}
- $result = '{'.$result.'}'
- if ($element->{'type'} and $element->{'type'} eq 'balanced_braces');
foreach my $format_element (@close_format_elements) {
$result .= $self->txi_markup_close_element($format_element);
diff --git a/tp/Texinfo/Convert/Text.pm b/tp/Texinfo/Convert/Text.pm
index 0abb81bce7..071fd54b29 100644
--- a/tp/Texinfo/Convert/Text.pm
+++ b/tp/Texinfo/Convert/Text.pm
@@ -665,12 +665,10 @@ sub _convert($;$)
$options->{'_raw_state'}-- if ($in_raw);
$options->{'_code_state'}-- if ($in_code);
}
- if ($element->{'type'} and $element->{'type'} eq 'balanced_braces') {
- $result = '{'.$result.'}';
- } elsif ($element->{'type'} and $element->{'type'} eq 'menu_entry'
- and (!$element->{'parent'}->{'type'}
- or ($element->{'parent'}->{'type'} ne 'preformatted'
- and $element->{'parent'}->{'type'} ne 'rawpreformatted')))
{
+ if ($element->{'type'} and $element->{'type'} eq 'menu_entry'
+ and (!$element->{'parent'}->{'type'}
+ or ($element->{'parent'}->{'type'} ne 'preformatted'
+ and $element->{'parent'}->{'type'} ne 'rawpreformatted'))) {
chomp($result);
$result .= "\n";
}
diff --git a/tp/Texinfo/Convert/TextContent.pm
b/tp/Texinfo/Convert/TextContent.pm
index 202354f7a9..5d525bd850 100644
--- a/tp/Texinfo/Convert/TextContent.pm
+++ b/tp/Texinfo/Convert/TextContent.pm
@@ -171,8 +171,6 @@ sub _convert($$)
$result .= _convert($self, $content);
}
}
- $result = '{'.$result.'}'
- if ($element->{'type'} and $element->{'type'} eq 'balanced_braces');
if ($element->{'type'} and $element->{'type'} eq 'line_arg') {
$result .= "\n";
diff --git a/tp/Texinfo/ParserNonXS.pm b/tp/Texinfo/ParserNonXS.pm
index 382ad6152d..35bd8420f1 100644
--- a/tp/Texinfo/ParserNonXS.pm
+++ b/tp/Texinfo/ParserNonXS.pm
@@ -2048,10 +2048,17 @@ sub _close_current($$$;$$)
or $current->{'type'} eq 'bracketed_arg') {
# unclosed bracketed
$self->_command_error($current, $source_info, __("misplaced {"));
- if ($current->{'contents'}
- and $current->{'contents'}->[0]->{'type'}
- and $current->{'contents'}->[0]->{'type'}
- eq 'internal_spaces_before_argument') {
+ if ($current->{'type'} eq 'balanced_braces') {
+ # We prefer adding an element to merging because we may
+ # be at the end of the document after an empty line we
+ # do not want to modify
+ #$current = _merge_text($self, $current, '}');
+ my $close_brace = {'text' => '}', 'parent' => $current};
+ push @{$current->{'contents'}}, $close_brace;
+ } elsif ($current->{'contents'}
+ and $current->{'contents'}->[0]->{'type'}
+ and $current->{'contents'}->[0]->{'type'}
+ eq 'internal_spaces_before_argument') {
# remove spaces element from tree and update extra values
_abort_empty_line($self, $current);
}
@@ -2196,17 +2203,17 @@ sub _merge_text {
delete $transfer_marks_element->{'source_marks'};
}
# Append text
- $merged_to->{'text'} .= $text;
print STDERR "MERGED TEXT: $text|||in "
.Texinfo::Common::debug_print_element($merged_to)
." last of: ".Texinfo::Common::debug_print_element($current)."\n"
if ($self->{'DEBUG'});
+ $merged_to->{'text'} .= $text;
} else {
my $new_element = { 'text' => $text, 'parent' => $current };
_transfer_source_marks($transfer_marks_element, $new_element)
if ($transfer_marks_element);
push @{$current->{'contents'}}, $new_element;
- print STDERR "NEW TEXT: $text|||\n" if ($self->{'DEBUG'});
+ print STDERR "NEW TEXT (merge): $text|||\n" if ($self->{'DEBUG'});
}
return $current;
}
@@ -2704,7 +2711,9 @@ sub _abort_empty_line {
my $spaces_element = $current->{'contents'}->[-1];
- print STDERR "ABORT EMPTY "
+ print STDERR "ABORT EMPTY in "
+ .Texinfo::Common::debug_print_element($current)."(p:".
+ (!$no_paragraph_contexts{$self->_top_context()} ? 1 : 0)."): "
.$spaces_element->{'type'}
." additional text |$additional_spaces|,"
." current |$spaces_element->{'text'}|\n"
@@ -4175,7 +4184,9 @@ sub _end_line($$$)
if ($current->{'contents'} and @{$current->{'contents'}}
and $current->{'contents'}->[-1]->{'type'}
and $current->{'contents'}->[-1]->{'type'} eq 'empty_line') {
- print STDERR "END EMPTY LINE\n" if ($self->{'DEBUG'});
+ print STDERR "END EMPTY LINE in "
+ . Texinfo::Common::debug_print_element($current)."\n"
+ if ($self->{'DEBUG'});
if ($current->{'type'} and $current->{'type'} eq 'paragraph') {
# Remove empty_line element.
my $empty_line = _pop_element_from_contents($self, $current);
@@ -5686,22 +5697,27 @@ sub _handle_open_brace($$$$)
} elsif ($current->{'type'}
and $current->{'type'} eq 'rawpreformatted') {
# this can happen in an expanded rawpreformatted
+ # FIXME use _merge_text?
_abort_empty_line($self, $current);
push @{$current->{'contents'}}, {'text' => '{',
'parent' => $current };
print STDERR "LONE OPEN BRACE in rawpreformatted\n"
if ($self->{'DEBUG'});
- # matching braces accepted in a rawpreformatted or math or ignored
- # code. Note that for rawpreformatted, it can only happen
- # within an @-command as { do not start a bracketed as seen just above.
+ # matching braces accepted in a rawpreformatted, inline raw or
+ # math. Note that for rawpreformatted, it can only happen
+ # within an @-command as { is simply added as seen just above.
} elsif ($self->_top_context() eq 'ct_math'
or $self->_top_context() eq 'ct_rawpreformatted'
or $self->_top_context() eq 'ct_inlineraw') {
_abort_empty_line($self, $current);
- push @{$current->{'contents'}},
- { 'type' => 'balanced_braces',
- 'parent' => $current, 'source_info' => $source_info };
- $current = $current->{'contents'}->[-1];
+ my $balanced_braces = {'type' => 'balanced_braces',
+ 'contents' => [],
+ 'parent' => $current,
+ 'source_info' => $source_info};
+ push @{$current->{'contents'}}, $balanced_braces;
+ $current = $balanced_braces;
+ my $open_brace = {'text' => '{', 'parent' => $current};
+ push @{$current->{'contents'}}, $open_brace;
print STDERR "BALANCED BRACES in math/rawpreformatted/inlineraw\n"
if ($self->{'DEBUG'});
} else {
@@ -5717,18 +5733,27 @@ sub _handle_close_brace($$$)
my $current = shift;
my $source_info = shift;
+ print STDERR "CLOSE BRACE\n" if ($self->{'DEBUG'});
# For footnote and caption closing, when there is a paragraph inside.
# This makes the brace command the parent element.
if ($current->{'parent'} and $current->{'parent'}->{'type'}
- and $current->{'parent'}->{'type'} eq 'brace_command_context') {
- _abort_empty_line($self, $current);
- $current = _end_paragraph($self, $current, $source_info);
+ and $current->{'parent'}->{'type'} eq 'brace_command_context'
+ and $current->{'type'} eq 'paragraph') {
+ _abort_empty_line($self, $current);
+ print STDERR "IN BRACE_COMMAND_CONTEXT "
+ .Texinfo::Common::debug_print_element($current, 1)."\n"
+ if ($self->{'DEBUG'});
+ $current = _end_paragraph($self, $current, $source_info);
}
if ($current->{'type'}
and ($current->{'type'} eq 'balanced_braces'
or $current->{'type'} eq 'bracketed_arg')) {
- _abort_empty_line($self, $current);
+ if ($current->{'type'} eq 'balanced_braces') {
+ $current = _merge_text($self, $current, '}');
+ } else {
+ _abort_empty_line($self, $current);
+ }
$current = $current->{'parent'};
} elsif ($current->{'parent'}
and $current->{'parent'}->{'cmdname'}
@@ -8219,10 +8244,10 @@ The types of container element are the following:
=item balanced_braces
-Special type containing content in balanced braces in the context
-where they are valid, and where balanced braces need to be collected
-to know when a top-level brace command is closed. In C<@math>, in raw
-output format brace commands and within brace @-commands in raw output
+Special type containing balanced braces content (braces included)
+in the context where they are valid, and where balanced braces need to
+be collected to know when a top-level brace command is closed. In C<@math>,
+in raw output format brace commands and within brace @-commands in raw output
format block commands.
=item before_item
diff --git a/tp/Texinfo/XS/parsetexi/close.c b/tp/Texinfo/XS/parsetexi/close.c
index 0db29cf7e4..dd7da4aa8d 100644
--- a/tp/Texinfo/XS/parsetexi/close.c
+++ b/tp/Texinfo/XS/parsetexi/close.c
@@ -427,7 +427,18 @@ close_current (ELEMENT *current,
case ET_balanced_braces:
case ET_bracketed_arg:
command_error (current, "misplaced {");
- if (current->contents.number > 0
+ if (current->type == ET_balanced_braces)
+ {
+ /* We prefer adding an element to merging because we may
+ be at the end of the document after an empty line we
+ do not want to modify */
+ /* current = merge_text (current, "}", 0); */
+ ELEMENT *close_brace = new_element (ET_NONE);
+ text_append (&close_brace->text, "}");
+ add_to_element_contents (current, close_brace);
+
+ }
+ else if (current->contents.number > 0
&& current->contents.list[0]->type
== ET_internal_spaces_before_argument)
{
diff --git a/tp/Texinfo/XS/parsetexi/convert.c
b/tp/Texinfo/XS/parsetexi/convert.c
index 1daf2bda1c..b720c27fb8 100644
--- a/tp/Texinfo/XS/parsetexi/convert.c
+++ b/tp/Texinfo/XS/parsetexi/convert.c
@@ -175,8 +175,7 @@ convert_to_texinfo_internal (ELEMENT *e, TEXT *result)
expand_cmd_args_to_texi (e, result);
}
- if (e->type == ET_balanced_braces
- || e->type == ET_bracketed_arg)
+ if (e->type == ET_bracketed_arg)
{
KEY_PAIR *k;
ADD("{");
@@ -199,8 +198,7 @@ convert_to_texinfo_internal (ELEMENT *e, TEXT *result)
if (k)
convert_to_texinfo_internal ((ELEMENT *)k->value, result);
- if (e->type == ET_balanced_braces
- || e->type == ET_bracketed_arg)
+ if (e->type == ET_bracketed_arg)
ADD("}");
}
diff --git a/tp/Texinfo/XS/parsetexi/parser.c b/tp/Texinfo/XS/parsetexi/parser.c
index 55c166f02c..7429b37303 100644
--- a/tp/Texinfo/XS/parsetexi/parser.c
+++ b/tp/Texinfo/XS/parsetexi/parser.c
@@ -701,8 +701,8 @@ merge_text (ELEMENT *current, char *text, ELEMENT
*transfer_marks_element)
transfer_marks_element->source_mark_list.number = 0;
}
/* Append text */
- text_append (&last_child->text, text);
debug ("MERGED TEXT: %s|||", text);
+ text_append (&last_child->text, text);
}
else
{
@@ -711,7 +711,7 @@ merge_text (ELEMENT *current, char *text, ELEMENT
*transfer_marks_element)
transfer_source_marks (transfer_marks_element, e);
text_append (&e->text, text);
add_to_element_contents (current, e);
- debug ("NEW TEXT: %s|||", text);
+ debug ("NEW TEXT (merge): %s|||", text);
}
return current;
diff --git a/tp/Texinfo/XS/parsetexi/separator.c
b/tp/Texinfo/XS/parsetexi/separator.c
index 11df10ef7b..83022eea23 100644
--- a/tp/Texinfo/XS/parsetexi/separator.c
+++ b/tp/Texinfo/XS/parsetexi/separator.c
@@ -192,16 +192,23 @@ handle_open_brace (ELEMENT *current, char **line_inout)
text_append (&e->text, "{");
add_to_element_contents (current, e);
}
+ /* matching braces accepted in a rawpreformatted, inline raw or
+ math. Note that for rawpreformatted, it can only happen
+ within an @-command as { is simply added as seen just above.
+ */
else if (current_context() == ct_math
|| current_context() == ct_rawpreformatted
|| current_context() == ct_inlineraw)
{
ELEMENT *b = new_element (ET_balanced_braces);
+ ELEMENT *open_brace = new_element (ET_NONE);
abort_empty_line (¤t, NULL);
b->source_info = current_source_info;
add_to_element_contents (current, b);
current = b;
- debug ("BRACKETED in math");
+ text_append (&open_brace->text, "{");
+ add_to_element_contents (current, open_brace);
+ debug ("BALANCED BRACES in math/rawpreformatted/inlineraw");
}
else
{
@@ -236,9 +243,12 @@ handle_close_brace (ELEMENT *current, char **line_inout)
{
char *line = *line_inout;
+ debug ("CLOSE BRACE");
+
/* For footnote and caption closing, when there is a paragraph inside.
This makes the brace command the parent element. */
- if (current->parent && current->parent->type == ET_brace_command_context)
+ if (current->parent && current->parent->type == ET_brace_command_context
+ && current->type == ET_paragraph)
{
abort_empty_line (¤t, NULL);
current = end_paragraph (current, 0, 0);
@@ -247,8 +257,10 @@ handle_close_brace (ELEMENT *current, char **line_inout)
if (current->type == ET_balanced_braces
|| current->type == ET_bracketed_arg)
{
- /* Used in @math */
- abort_empty_line (¤t, NULL);
+ if (current->type == ET_balanced_braces)
+ current = merge_text (current, "}", 0);
+ else
+ abort_empty_line (¤t, NULL);
current = current->parent;
goto funexit;
}
@@ -537,7 +549,7 @@ handle_close_brace (ELEMENT *current, char **line_inout)
line_error ("misplaced }");
goto funexit;
}
-
+
funexit:
*line_inout = line;
return current;
diff --git a/tp/t/03coverage_braces.t b/tp/t/03coverage_braces.t
index 003b273de9..b422291b56 100644
--- a/tp/t/03coverage_braces.t
+++ b/tp/t/03coverage_braces.t
@@ -336,6 +336,17 @@ b}'],
'],
['math_leading_trailing_spaces','@math{ a = b }'],
+['empty_line_in_braces_in_math',
+'@math{a{bb
+
+c}d}'],
+['empty_line_in_braces_in_math_at_begin_line',
+'@math{a
+
+{b
+
+} c
+}'],
['unknown_command_with_braces',
'Unknown thing @thing{}
diff --git a/tp/t/results/converters_tests/inline.pl
b/tp/t/results/converters_tests/inline.pl
index 146018e82d..9371d87585 100644
--- a/tp/t/results/converters_tests/inline.pl
+++ b/tp/t/results/converters_tests/inline.pl
@@ -228,7 +228,7 @@ $result_trees{'inline'} = {
{
'contents' => [
{
- 'text' => 'a < b '
+ 'text' => '{a < b '
},
{
'args' => [
@@ -240,7 +240,7 @@ $result_trees{'inline'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
@@ -260,6 +260,9 @@ $result_trees{'inline'} = {
'line_nr' => 7,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
@@ -272,7 +275,7 @@ $result_trees{'inline'} = {
{
'contents' => [
{
- 'text' => 'b'
+ 'text' => '{b}'
}
],
'source_info' => {
@@ -543,7 +546,7 @@ $result_trees{'inline'} = {
{
'contents' => [
{
- 'text' => 'a < b '
+ 'text' => '{a < b '
},
{
'args' => [
@@ -555,7 +558,7 @@ $result_trees{'inline'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
@@ -575,6 +578,9 @@ $result_trees{'inline'} = {
'line_nr' => 15,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
@@ -587,7 +593,7 @@ $result_trees{'inline'} = {
{
'contents' => [
{
- 'text' => 'b'
+ 'text' => '{b}'
}
],
'source_info' => {
diff --git a/tp/t/results/converters_tests/inline_expand_tex.pl
b/tp/t/results/converters_tests/inline_expand_tex.pl
index 7bc001cd18..fbd92f920d 100644
--- a/tp/t/results/converters_tests/inline_expand_tex.pl
+++ b/tp/t/results/converters_tests/inline_expand_tex.pl
@@ -412,7 +412,7 @@ $result_trees{'inline_expand_tex'} = {
{
'contents' => [
{
- 'text' => 'a < b '
+ 'text' => '{a < b '
},
{
'args' => [
@@ -424,7 +424,7 @@ $result_trees{'inline_expand_tex'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
@@ -444,6 +444,9 @@ $result_trees{'inline_expand_tex'} = {
'line_nr' => 14,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/converters_tests/raw_block_commands.pl
b/tp/t/results/converters_tests/raw_block_commands.pl
index 90b3801dad..98f7d9073a 100644
--- a/tp/t/results/converters_tests/raw_block_commands.pl
+++ b/tp/t/results/converters_tests/raw_block_commands.pl
@@ -256,7 +256,7 @@ $result_trees{'raw_block_commands'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
@@ -360,7 +360,7 @@ $result_trees{'raw_block_commands'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
diff --git a/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl
b/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl
index 5280e81242..3591a55c87 100644
--- a/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl
+++ b/tp/t/results/converters_tests/raw_block_commands_expand_tex.pl
@@ -256,7 +256,7 @@ $result_trees{'raw_block_commands_expand_tex'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
@@ -360,7 +360,7 @@ $result_trees{'raw_block_commands_expand_tex'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
diff --git a/tp/t/results/coverage/displaymath.pl
b/tp/t/results/coverage/displaymath.pl
index 8e2b2e6029..c23409abbb 100644
--- a/tp/t/results/coverage/displaymath.pl
+++ b/tp/t/results/coverage/displaymath.pl
@@ -38,7 +38,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => 'x^i'
+ 'text' => '{x^i}'
}
],
'source_info' => {
@@ -54,7 +54,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => '\\tan y'
+ 'text' => '{\\tan y}'
}
],
'source_info' => {
@@ -277,6 +277,9 @@ $result_trees{'displaymath'} = {
},
{
'contents' => [
+ {
+ 'text' => '{'
+ },
{
'args' => [
{
@@ -287,7 +290,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
@@ -307,6 +310,9 @@ $result_trees{'displaymath'} = {
'line_nr' => 13,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
@@ -328,7 +334,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => 'i'
+ 'text' => '{i}'
}
],
'source_info' => {
@@ -341,12 +347,12 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => '\\underline'
+ 'text' => '{\\underline'
},
{
'contents' => [
{
- 'text' => 'f'
+ 'text' => '{f}'
}
],
'source_info' => {
@@ -355,6 +361,9 @@ $result_trees{'displaymath'} = {
'macro' => ''
},
'type' => 'balanced_braces'
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/coverage/math.pl b/tp/t/results/coverage/math.pl
index e6d96867ee..61a7337c27 100644
--- a/tp/t/results/coverage/math.pl
+++ b/tp/t/results/coverage/math.pl
@@ -25,7 +25,7 @@ $result_trees{'math'} = {
{
'contents' => [
{
- 'text' => 'x^i'
+ 'text' => '{x^i}'
}
],
'source_info' => {
@@ -41,7 +41,7 @@ $result_trees{'math'} = {
{
'contents' => [
{
- 'text' => '\\tan y'
+ 'text' => '{\\tan y}'
}
],
'source_info' => {
@@ -188,6 +188,9 @@ $result_trees{'math'} = {
},
{
'contents' => [
+ {
+ 'text' => '{'
+ },
{
'args' => [
{
@@ -198,7 +201,7 @@ $result_trees{'math'} = {
{
'contents' => [
{
- 'text' => ' code '
+ 'text' => '{ code }'
}
],
'source_info' => {
@@ -218,6 +221,9 @@ $result_trees{'math'} = {
'line_nr' => 8,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
@@ -239,7 +245,7 @@ $result_trees{'math'} = {
{
'contents' => [
{
- 'text' => 'i'
+ 'text' => '{i}'
}
],
'source_info' => {
@@ -252,12 +258,12 @@ $result_trees{'math'} = {
{
'contents' => [
{
- 'text' => '\\underline'
+ 'text' => '{\\underline'
},
{
'contents' => [
{
- 'text' => 'f'
+ 'text' => '{f}'
}
],
'source_info' => {
@@ -266,6 +272,9 @@ $result_trees{'math'} = {
'macro' => ''
},
'type' => 'balanced_braces'
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl
b/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl
index 41ef477738..892cb9434b 100644
--- a/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl
+++ b/tp/t/results/coverage_braces/math_bracketed_inside_not_closed.pl
@@ -18,7 +18,7 @@ $result_trees{'math_bracketed_inside_not_closed'} = {
{
'contents' => [
{
- 'text' => 'x^i'
+ 'text' => '{x^i}'
}
],
'source_info' => {
@@ -34,7 +34,7 @@ $result_trees{'math_bracketed_inside_not_closed'} = {
{
'contents' => [
{
- 'text' => '\\tan'
+ 'text' => '{\\tan}'
}
],
'source_info' => {
diff --git a/tp/t/results/coverage_braces/math_bracketed_not_closed.pl
b/tp/t/results/coverage_braces/math_bracketed_not_closed.pl
index 62febbe4e3..4ea20db681 100644
--- a/tp/t/results/coverage_braces/math_bracketed_not_closed.pl
+++ b/tp/t/results/coverage_braces/math_bracketed_not_closed.pl
@@ -18,7 +18,7 @@ $result_trees{'math_bracketed_not_closed'} = {
{
'contents' => [
{
- 'text' => 'x^i'
+ 'text' => '{x^i}'
}
],
'source_info' => {
@@ -34,7 +34,10 @@ $result_trees{'math_bracketed_not_closed'} = {
{
'contents' => [
{
- 'text' => '\\tan '
+ 'text' => '{\\tan '
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git
a/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl
b/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl
index 63c55383ce..18e7a06c5b 100644
--- a/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl
+++ b/tp/t/results/coverage_braces/math_bracketed_not_closed_next_line.pl
@@ -21,13 +21,16 @@ $result_trees{'math_bracketed_not_closed_next_line'} = {
{
'contents' => [
{
- 'text' => '
+ 'text' => '{
'
},
{
'text' => '
',
'type' => 'empty_line'
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/html_tests/mathjax_with_texinfo.pl
b/tp/t/results/html_tests/mathjax_with_texinfo.pl
index 0a0754f300..7d99770550 100644
--- a/tp/t/results/html_tests/mathjax_with_texinfo.pl
+++ b/tp/t/results/html_tests/mathjax_with_texinfo.pl
@@ -36,7 +36,7 @@ $result_trees{'mathjax_with_texinfo'} = {
{
'contents' => [
{
- 'text' => '\\xi'
+ 'text' => '{\\xi}'
}
],
'source_info' => {
@@ -49,7 +49,7 @@ $result_trees{'mathjax_with_texinfo'} = {
{
'contents' => [
{
- 'text' => 'phi '
+ 'text' => '{phi '
},
{
'args' => [
@@ -63,6 +63,9 @@ $result_trees{'mathjax_with_texinfo'} = {
'line_nr' => 2,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/html_tests/mathjax_with_texinfo_enable_encoding.pl
b/tp/t/results/html_tests/mathjax_with_texinfo_enable_encoding.pl
index 33c000b1a7..752f4734f9 100644
--- a/tp/t/results/html_tests/mathjax_with_texinfo_enable_encoding.pl
+++ b/tp/t/results/html_tests/mathjax_with_texinfo_enable_encoding.pl
@@ -40,7 +40,7 @@ $result_trees{'mathjax_with_texinfo_enable_encoding'} = {
{
'contents' => [
{
- 'text' => '\\xi'
+ 'text' => '{\\xi}'
}
],
'source_info' => {
@@ -53,7 +53,7 @@ $result_trees{'mathjax_with_texinfo_enable_encoding'} = {
{
'contents' => [
{
- 'text' => 'phi '
+ 'text' => '{phi '
},
{
'args' => [
@@ -67,6 +67,9 @@ $result_trees{'mathjax_with_texinfo_enable_encoding'} = {
'line_nr' => 2,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
b/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
index defd52de28..d236e05b07 100644
--- a/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
+++ b/tp/t/results/html_tests/mathjax_with_texinfo_html_text.pl
@@ -36,7 +36,7 @@ $result_trees{'mathjax_with_texinfo_html_text'} = {
{
'contents' => [
{
- 'text' => '\\xi'
+ 'text' => '{\\xi}'
}
],
'source_info' => {
@@ -49,7 +49,7 @@ $result_trees{'mathjax_with_texinfo_html_text'} = {
{
'contents' => [
{
- 'text' => 'phi '
+ 'text' => '{phi '
},
{
'args' => [
@@ -63,6 +63,9 @@ $result_trees{'mathjax_with_texinfo_html_text'} = {
'line_nr' => 2,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git
a/tp/t/results/html_tests/mathjax_with_texinfo_no_convert_to_latex.pl
b/tp/t/results/html_tests/mathjax_with_texinfo_no_convert_to_latex.pl
index ef80a952da..d7460a2a22 100644
--- a/tp/t/results/html_tests/mathjax_with_texinfo_no_convert_to_latex.pl
+++ b/tp/t/results/html_tests/mathjax_with_texinfo_no_convert_to_latex.pl
@@ -36,7 +36,7 @@ $result_trees{'mathjax_with_texinfo_no_convert_to_latex'} = {
{
'contents' => [
{
- 'text' => '\\xi'
+ 'text' => '{\\xi}'
}
],
'source_info' => {
@@ -49,7 +49,7 @@ $result_trees{'mathjax_with_texinfo_no_convert_to_latex'} = {
{
'contents' => [
{
- 'text' => 'phi '
+ 'text' => '{phi '
},
{
'args' => [
@@ -63,6 +63,9 @@ $result_trees{'mathjax_with_texinfo_no_convert_to_latex'} = {
'line_nr' => 2,
'macro' => ''
}
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/invalid_nestings/section_in_math.pl
b/tp/t/results/invalid_nestings/section_in_math.pl
index c6886173f6..e9dd2fe70f 100644
--- a/tp/t/results/invalid_nestings/section_in_math.pl
+++ b/tp/t/results/invalid_nestings/section_in_math.pl
@@ -29,13 +29,16 @@ $result_trees{'section_in_math'} = {
{
'contents' => [
{
- 'text' => 'x^2
+ 'text' => '{x^2
'
},
{
'text' => '
',
'type' => 'empty_line'
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
diff --git a/tp/t/results/latex_tests/titlepage_with_commands_classical.pl
b/tp/t/results/latex_tests/titlepage_with_commands_classical.pl
index 57d4247a17..2c0c58f960 100644
--- a/tp/t/results/latex_tests/titlepage_with_commands_classical.pl
+++ b/tp/t/results/latex_tests/titlepage_with_commands_classical.pl
@@ -299,7 +299,7 @@ $result_trees{'titlepage_with_commands_classical'} = {
{
'contents' => [
{
- 'text' => 'a'
+ 'text' => '{a}'
}
],
'source_info' => {
@@ -312,7 +312,7 @@ $result_trees{'titlepage_with_commands_classical'} = {
{
'contents' => [
{
- 'text' => 'b'
+ 'text' => '{b}'
}
],
'source_info' => {
diff --git a/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl
b/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl
index e5fe75d97c..8306bd2a87 100644
--- a/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl
+++ b/tp/t/results/plaintext_tests/lone_braces_in_inlineraw.pl
@@ -26,7 +26,7 @@ $result_trees{'lone_braces_in_inlineraw'} = {
{
'contents' => [
{
- 'text' => 'truc'
+ 'text' => '{truc}'
}
],
'source_info' => {
diff --git a/tp/t/results/raw/displaymath.pl b/tp/t/results/raw/displaymath.pl
index f0e2512971..3111817204 100644
--- a/tp/t/results/raw/displaymath.pl
+++ b/tp/t/results/raw/displaymath.pl
@@ -29,7 +29,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => '\\nabla\\cdot'
+ 'text' => '{\\nabla\\cdot}'
}
],
'source_info' => {
@@ -45,7 +45,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => '\\partial D'
+ 'text' => '{\\partial D}'
}
],
'source_info' => {
@@ -132,7 +132,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => '\\nabla\\cdot'
+ 'text' => '{\\nabla\\cdot}'
}
],
'source_info' => {
@@ -148,7 +148,7 @@ $result_trees{'displaymath'} = {
{
'contents' => [
{
- 'text' => '\\partial D'
+ 'text' => '{\\partial D}'
}
],
'source_info' => {
diff --git a/tp/t/results/raw/second_level_lone_braces_in_html.pl
b/tp/t/results/raw/second_level_lone_braces_in_html.pl
index b9c01f94cf..cd8c785100 100644
--- a/tp/t/results/raw/second_level_lone_braces_in_html.pl
+++ b/tp/t/results/raw/second_level_lone_braces_in_html.pl
@@ -35,8 +35,11 @@ $result_trees{'second_level_lone_braces_in_html'} = {
{
'contents' => [
{
- 'text' => '
+ 'text' => '{
'
+ },
+ {
+ 'text' => '}'
}
],
'source_info' => {
@@ -138,7 +141,7 @@ $result_trees{'second_level_lone_braces_in_html'} = {
{
'contents' => [
{
- 'text' => 'c d'
+ 'text' => '{c d}'
}
],
'source_info' => {
diff --git a/tp/t/results/xml_tests/commands_and_spaces.pl
b/tp/t/results/xml_tests/commands_and_spaces.pl
index 4d13e34235..1bf8cb94be 100644
--- a/tp/t/results/xml_tests/commands_and_spaces.pl
+++ b/tp/t/results/xml_tests/commands_and_spaces.pl
@@ -1347,7 +1347,7 @@ $result_trees{'commands_and_spaces'} = {
{
'contents' => [
{
- 'text' => ' a, b'
+ 'text' => '{ a, b}'
}
],
'source_info' => {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- branch master updated: * tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm (_convert_balanced_braces_type), tp/Texinfo/Convert/LaTeX.pm (_convert), tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo), tp/Texinfo/Convert/TexinfoMarkup.pm (_convert), tp/Texinfo/Convert/Text.pm (_convert), tp/Texinfo/Convert/TextContent.pm (_convert), tp/Texinfo/ParserNonXS.pm (_close_current, _handle_open_brace) (_handle_close_brace), tp/Texinfo/XS/parsetexi/close.c (cl [...],
Patrice Dumas <=
- Prev by Date:
branch master updated: * tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm (_convert_balanced_braces_type), tp/Texinfo/Convert/LaTeX.pm (_convert), tp/Texinfo/Convert/NodeNameNormalization.pm (_convert), tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo), tp/Texinfo/Convert/TexinfoMarkup.pm (_convert), tp/Texinfo/Convert/Text.pm (_convert), tp/Texinfo/Convert/TextContent.pm (_convert), tp/Texinfo/ParserNonXS.pm (_close_current, _handle_open_brace) (_ [...]
- Next by Date:
branch master updated: * tp/Texinfo/ParserNonXS.pm (_handle_open_brace), tp/Texinfo/XS/parsetexi/separator.c (handle_open_brace): right in a rawpreformatted, use merge_text to merge an opening brace to the preceding text, if any.
- Previous by thread:
branch master updated: * tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm (_convert_balanced_braces_type), tp/Texinfo/Convert/LaTeX.pm (_convert), tp/Texinfo/Convert/NodeNameNormalization.pm (_convert), tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Convert/Texinfo.pm (convert_to_texinfo), tp/Texinfo/Convert/TexinfoMarkup.pm (_convert), tp/Texinfo/Convert/Text.pm (_convert), tp/Texinfo/Convert/TextContent.pm (_convert), tp/Texinfo/ParserNonXS.pm (_close_current, _handle_open_brace) (_ [...]
- Next by thread:
branch master updated: * tp/Texinfo/ParserNonXS.pm (_handle_open_brace), tp/Texinfo/XS/parsetexi/separator.c (handle_open_brace): right in a rawpreformatted, use merge_text to merge an opening brace to the preceding text, if any.
- Index(es):