texinfo-commits
[Top][All Lists]
Advanced

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

branch master updated: * tp/Texinfo/Convert/LaTeX.pm (_convert) <@verb>:


From: Gavin D. Smith
Subject: branch master updated: * tp/Texinfo/Convert/LaTeX.pm (_convert) <@verb>: Output line break for newline in @verb argument.
Date: Sun, 08 Jan 2023 13:17:02 -0500

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

gavin pushed a commit to branch master
in repository texinfo.

The following commit(s) were added to refs/heads/master by this push:
     new 49661b5fcf * tp/Texinfo/Convert/LaTeX.pm (_convert) <@verb>: Output 
line break for newline in @verb argument.
49661b5fcf is described below

commit 49661b5fcff0a61c99ea5e92a82f352d1cda2265
Author: Gavin Smith <gavinsmith0123@gmail.com>
AuthorDate: Sun Jan 8 18:16:54 2023 +0000

    * tp/Texinfo/Convert/LaTeX.pm (_convert) <@verb>:
    Output line break for newline in @verb argument.
---
 ChangeLog                                        |  7 +++++-
 tp/Texinfo/Convert/LaTeX.pm                      | 30 ++++++++++++++----------
 tp/t/results/coverage_braces/empty_commands.pl   |  2 +-
 tp/t/results/latex_tests/verb.pl                 |  3 ++-
 tp/t/results/latex_tests/verb/res_latex/verb.tex |  3 ++-
 5 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b812dfe8cd..52809003cf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-01-08  Gavin Smith  <gavinsmith0123@gmail.com>
+
+       * tp/Texinfo/Convert/LaTeX.pm (_convert) <@verb>:
+       Output line break for newline in @verb argument.
+
 2023-01-08  Gavin Smith  <gavinsmith0123@gmail.com>
 
        @set txicodequoteundirected and @set txicodequotebacktick by default
@@ -5,7 +10,7 @@
        * doc/texinfo.tex: Turn on "@set txicodequoteundirected" and
        "@set txicodequotebacktick" by default.
        (\codequoteleft, \codequoteright): Access glyphs by hexadecimal
-       index rather octal so to match comment.
+       index rather than octal so to match comment.
        * doc/texinfo.tex (Inserting Quote Characters): Update.  Make
        text appropriate for all output formats by limiting sample output.
        * NEWS: Mention.
diff --git a/tp/Texinfo/Convert/LaTeX.pm b/tp/Texinfo/Convert/LaTeX.pm
index 553d92b9d9..7357377923 100644
--- a/tp/Texinfo/Convert/LaTeX.pm
+++ b/tp/Texinfo/Convert/LaTeX.pm
@@ -2866,29 +2866,35 @@ sub _convert($$)
       #   It is not reliable to use @verb inside other Texinfo constructs
       my $delim = $element->{'info'}->{'delimiter'};
       my $contents = '';
+      my @lines;
 
       push @{$self->{'formatting_context'}->[-1]->{'text_context'}}, 'ctx_raw';
       if ($element->{'args'}) {
         $contents = _convert($self, $element->{'args'}->[0]);
-        $contents =~ s/\n/ /;
+        @lines = split /\n/, $contents, -1;
       }
       my $old_context
          = pop @{$self->{'formatting_context'}->[-1]->{'text_context'}};
       die if ($old_context ne 'ctx_raw');
 
-      # Check delimiter is not in contents.  If it is, try other characters.
-      for my $char ($delim, '|', '!', ':', '@') {
-        if (index($contents, $char) == -1) {
-          $result .= "\\verb$char$contents$char";
-          return $result;
+      my @lines_out;
+    LINE:
+      for my $line (@lines) {
+        # Check delimiter is not in contents.  If it is, try other characters.
+        for my $char ($delim, '|', '!', ':', '@') {
+          if (index($line, $char) == -1) {
+            push @lines_out, "\\verb$char$line$char";
+            next LINE;
+          }
         }
+        $self->line_warn($self,
+           sprintf(__("\\verb delimiter `%s' (for LaTeX) used in text `%s'"),
+                      $delim, $line),
+           $element->{'source_info'});
+        push @lines_out, "\\verb$delim$delim";
       }
-      $self->line_warn($self,
-         sprintf(__("\\verb delimiter `%s' (for LaTeX) used in text `%s'"),
-                    $delim, $contents),
-         $element->{'source_info'});
-      return "\\verb$delim$delim";
-
+      $result .= join "\\\\\n", @lines_out;
+      return $result;
     } elsif ($cmdname eq 'image') {
       if (defined($element->{'args'}->[0])
           and $element->{'args'}->[0]->{'contents'}
diff --git a/tp/t/results/coverage_braces/empty_commands.pl 
b/tp/t/results/coverage_braces/empty_commands.pl
index 75e77927a5..a1979e40b4 100644
--- a/tp/t/results/coverage_braces/empty_commands.pl
+++ b/tp/t/results/coverage_braces/empty_commands.pl
@@ -224,7 +224,7 @@ $result_converted{'html_text'}->{'empty_commands'} = '
 
 $result_converted{'latex_text'}->{'empty_commands'} = '
 
-   \\texttt{}\\footnote{} \\~{}  \\verb;;
+   \\texttt{}\\footnote{} \\~{}  
 ';
 
 1;
diff --git a/tp/t/results/latex_tests/verb.pl b/tp/t/results/latex_tests/verb.pl
index 3f376ba2d1..8a73cd1574 100644
--- a/tp/t/results/latex_tests/verb.pl
+++ b/tp/t/results/latex_tests/verb.pl
@@ -197,7 +197,8 @@ $result_converted{'latex_text'}->{'verb'} = 
'\\begin{document}
 
 \\verb|a!a|
 
-\\verb!a b!
+\\verb!a!\\\\
+\\verb!b!
 
 \\verb%%
 ';
diff --git a/tp/t/results/latex_tests/verb/res_latex/verb.tex 
b/tp/t/results/latex_tests/verb/res_latex/verb.tex
index 048961c7ca..7e88af922d 100644
--- a/tp/t/results/latex_tests/verb/res_latex/verb.tex
+++ b/tp/t/results/latex_tests/verb/res_latex/verb.tex
@@ -46,7 +46,8 @@
 
 \verb|a!a|
 
-\verb!a b!
+\verb!a!\\
+\verb!b!
 
 \verb%%
 \end{document}



reply via email to

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