diff mbox series

[03/18] texi2pod: parse @include directives outside "@c man" blocks

Message ID 20200226113034.6741-4-pbonzini@redhat.com
State New
Headers show
Series None | expand

Commit Message

Paolo Bonzini Feb. 26, 2020, 11:30 a.m. UTC
This enables splitting the huge qemu-doc.texi file and keeping parallel
Texinfo and rST versions of the documentation.  texi2pod is not going to
live much longer and hardly anyone cares about its upstream status,
so the temporary fork should be acceptable.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 scripts/texi2pod.pl | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

Comments

Peter Maydell Feb. 27, 2020, 11:13 a.m. UTC | #1
On Wed, 26 Feb 2020 at 11:30, Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> This enables splitting the huge qemu-doc.texi file and keeping parallel
> Texinfo and rST versions of the documentation.  texi2pod is not going to
> live much longer and hardly anyone cares about its upstream status,
> so the temporary fork should be acceptable.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  scripts/texi2pod.pl | 36 ++++++++++++++++++------------------
>  1 file changed, 18 insertions(+), 18 deletions(-)
>
> diff --git a/scripts/texi2pod.pl b/scripts/texi2pod.pl
> index 839b7917cf..8bfc6f6f4c 100755
> --- a/scripts/texi2pod.pl
> +++ b/scripts/texi2pod.pl
> @@ -143,6 +143,24 @@ while(<$inf>) {
>         next;
>      };
>
> +    # Single line command handlers.
> +
> +    /^\@include\s+(.+)$/ and do {
> +       push @instack, $inf;
> +       $inf = gensym();
> +       $file = postprocess($1);
> +
> +       # Try cwd and $ibase, then explicit -I paths.
> +       $done = 0;
> +       foreach $path ("", $ibase, @ipath) {
> +           $mypath = $file;
> +           $mypath = $path . "/" . $mypath if ($path ne "");
> +           open($inf, "<" . $mypath) and ($done = 1, last);
> +       }
> +       die "cannot find $file" if !$done;
> +       next;
> +    };
> +
>      next unless $output;
>
>      # Discard comments.  (Can't do it above, because then we'd never see
> @@ -242,24 +260,6 @@ while(<$inf>) {
>         s/>/&GT;/g;
>      }
>
> -    # Single line command handlers.
> -
> -    /^\@include\s+(.+)$/ and do {
> -       push @instack, $inf;
> -       $inf = gensym();
> -       $file = postprocess($1);
> -
> -       # Try cwd and $ibase, then explicit -I paths.
> -       $done = 0;
> -       foreach $path ("", $ibase, @ipath) {
> -           $mypath = $file;
> -           $mypath = $path . "/" . $mypath if ($path ne "");
> -           open($inf, "<" . $mypath) and ($done = 1, last);
> -       }
> -       die "cannot find $file" if !$done;
> -       next;
> -    };
> -
>      /^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/
>         and $_ = "\n=head2 $1\n";
>      /^\@subsection\s+(.+)$/

This changes the semantics subtly -- we now honour @include
even if it's found inside an @ignore..@end ignore comment
block, for instance. But as you say this script isn't going
to be around much longer, so we can just avoid doing that
sort of thing.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
diff mbox series

Patch

diff --git a/scripts/texi2pod.pl b/scripts/texi2pod.pl
index 839b7917cf..8bfc6f6f4c 100755
--- a/scripts/texi2pod.pl
+++ b/scripts/texi2pod.pl
@@ -143,6 +143,24 @@  while(<$inf>) {
 	next;
     };
 
+    # Single line command handlers.
+
+    /^\@include\s+(.+)$/ and do {
+	push @instack, $inf;
+	$inf = gensym();
+	$file = postprocess($1);
+
+	# Try cwd and $ibase, then explicit -I paths.
+	$done = 0;
+	foreach $path ("", $ibase, @ipath) {
+	    $mypath = $file;
+	    $mypath = $path . "/" . $mypath if ($path ne "");
+	    open($inf, "<" . $mypath) and ($done = 1, last);
+	}
+	die "cannot find $file" if !$done;
+	next;
+    };
+
     next unless $output;
 
     # Discard comments.  (Can't do it above, because then we'd never see
@@ -242,24 +260,6 @@  while(<$inf>) {
 	s/>/&GT;/g;
     }
 
-    # Single line command handlers.
-
-    /^\@include\s+(.+)$/ and do {
-	push @instack, $inf;
-	$inf = gensym();
-	$file = postprocess($1);
-
-	# Try cwd and $ibase, then explicit -I paths.
-	$done = 0;
-	foreach $path ("", $ibase, @ipath) {
-	    $mypath = $file;
-	    $mypath = $path . "/" . $mypath if ($path ne "");
-	    open($inf, "<" . $mypath) and ($done = 1, last);
-	}
-	die "cannot find $file" if !$done;
-	next;
-    };
-
     /^\@(?:section|unnumbered|unnumberedsec|center)\s+(.+)$/
 	and $_ = "\n=head2 $1\n";
     /^\@subsection\s+(.+)$/