On 05/18/22 12:04, Richard W.M. Jones wrote:
On Wed, May 18, 2022 at 08:49:29AM +0200, Laszlo Ersek wrote:
> Remove any space characters that directly precede a newline character.
>
> Bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=1938954
> Signed-off-by: Laszlo Ersek <lersek(a)redhat.com>
> ---
>
> Notes:
> I've verified in the rendered HTMLs that this whitespace stripping does
> not break up indented blocks into smaller blocks -- the formatter keeps
> runs of indented lines coalesced into indented blocks.
This isn't what I expected at all, but I also checked the HTML and it
seems what you're saying is correct. I wonder if this behaviour has
changed in POD ..? For completeness I also looked at the roff output
and that groups everything into a single .Vb/.Ve section as well.
This is true at least as far back as RHEL 7
(perl-podlators-2.5.1-3.el7.noarch)
I'm also wondering if there's a way to express "separate but adjacent"
verbatim sections. This led me to the sources where I found that the
rules for verbatim paragraphs are a lot more complicated than I
thought I knew. Any paragraph that begins with a space is verbatim,
even if following lines are not indented, eg:
This is
a verbatim paragraph
And the spec (perlpodspec(1)) says that adjacent verbatim paragraphs
must be run together.
I cannot find a way to do "separate but adjacent". eg. this does not work:
=begin verbatim
Para 1
=end verbatim
=begin verbatim
Para 2
=end verbatim
It ends up as a single verbatim section.
> docs/virt-v2v-hacking.pod | 2 +-
> docs/virt-v2v-input-vmware.pod | 10 ++++----
> docs/virt-v2v.pod | 24 ++++++++++----------
> 3 files changed, 18 insertions(+), 18 deletions(-)
>
> diff --git a/docs/virt-v2v-hacking.pod b/docs/virt-v2v-hacking.pod
> index 29b73fb6c3f8..da5e640d9c92 100644
> --- a/docs/virt-v2v-hacking.pod
> +++ b/docs/virt-v2v-hacking.pod
> @@ -1,6 +1,6 @@
> =head1 NAME
>
> -virt-v2v-hacking -
> +virt-v2v-hacking -
>
> =head1 DESCRIPTION
(This man page really needs a complete rewrite.)
> diff --git a/docs/virt-v2v-input-vmware.pod b/docs/virt-v2v-input-vmware.pod
> index ab2d28e41ff2..4f4af2a9d804 100644
> --- a/docs/virt-v2v-input-vmware.pod
> +++ b/docs/virt-v2v-input-vmware.pod
> @@ -278,7 +278,7 @@ to list the guests on the server:
>
> $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi' list --all
> Enter root's password for
vcenter.example.com: ***
> -
> +
> Id Name State
> ----------------------------------------------------
> - Fedora 20 shut off
> @@ -506,7 +506,7 @@ like this:
>
> $ virsh -c 'vpx://root@vcenter.example.com/Datacenter/esxi' list --all
> Enter root's password for
vcenter.example.com: ***
> -
> +
> Id Name State
> ----------------------------------------------------
> - Fedora 20 shut off
> @@ -575,17 +575,17 @@ Enable (check) the following objects:
> Datastore:
> - Browse datastore
> - Low level file operations
> -
> +
> Sessions:
> - Validate session
> -
> +
> Virtual Machine:
> Interaction:
> - Guest operating system management by VIX API
> Provisioning:
> - Allow disk access
> - Allow read-only disk access
> -
> +
> Cryptographic operations:
> - Decrypt
> - Direct Access
> diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
> index d627734b0dc3..8849aae86394 100644
> --- a/docs/virt-v2v.pod
> +++ b/docs/virt-v2v.pod
> @@ -830,23 +830,23 @@ installed. For some older Linux distributions, this means
installing
> a kernel from the table below:
>
> RHEL 3 (Does not apply, as there was no Xen PV kernel)
> -
> +
> RHEL 4 i686 with > 10GB of RAM: install 'kernel-hugemem'
> i686 SMP: install 'kernel-smp'
> other i686: install 'kernel'
> x86-64 SMP with > 8 CPUs: install 'kernel-largesmp'
> x86-64 SMP: install 'kernel-smp'
> other x86-64: install 'kernel'
> -
> +
> RHEL 5 i686: install 'kernel-PAE'
> x86-64: install 'kernel'
> -
> +
> SLES 10 i586 with > 10GB of RAM: install 'kernel-bigsmp'
> i586 SMP: install 'kernel-smp'
> other i586: install 'kernel-default'
> x86-64 SMP: install 'kernel-smp'
> other x86-64: install 'kernel-default'
> -
> +
> SLES 11+ i586: install 'kernel-pae'
> x86-64: install 'kernel-default'
>
> @@ -868,27 +868,27 @@ packages are installed I<before> conversion, by
consulting the table
> below.
>
> RHEL 3 No virtio drivers are available
> -
> +
> RHEL 4 kernel >= 2.5.9-89.EL
> lvm2 >= 2.02.42-5.el4
> device-mapper >= 1.02.28-2.el4
> selinux-policy-targeted >= 1.17.30-2.152.el4
> policycoreutils >= 1.18.1-4.13
> -
> +
> RHEL 5 kernel >= 2.6.18-128.el5
> lvm2 >= 2.02.40-6.el5
> selinux-policy-targeted >= 2.4.6-203.el5
> -
> +
> RHEL 6+ All versions support virtio
> -
> +
> Fedora All versions support virtio
> -
> +
> SLES 11+ All versions support virtio
> -
> +
> SLES 10 kernel >= 2.6.16.60-0.85.1
> -
> +
> OpenSUSE 11+ All versions support virtio
> -
> +
> OpenSUSE 10 kernel >= 2.6.25.5-1.1
>
> Debian 6+ All versions support virtio
> --
We have this whitespace absolutely everywhere, so I wonder if we
actually want to do this, even if it appears to be a correct
transformation.
I'm OK to drop this patch. The reason I've submitted it is:
It is now muscle-memory for me to invoke my NEdit macro for stripping
space-at-EOL. Git considers space-at-EOL a source code wart, and some
text editors even auto-strip space-at-EOL, so I've grown to just prevent
git from complaining, and manually but routinely strip space-at-EOL
before saving the file I'm editing.
Now, when the file I'm editing has preexistent space-at-EOL, that turns
into a second-level annoyance: "git diff" and friends think I intend to
change the *old* source code like that as well. To get rid of that
misunderstanding, I actually tend to collect the space-at-EOL removals
for *old* code into separate patches (with "git add -p"), post and merge
them, and then focus on the real stuff subsequently. The point being
that unjustified space-at-EOL should not / would not be reintroduced
ever after.
You are right that we have space-at-EOL in very many POD files (I had
noticed :) per the above); I figured I'd test the waters with this patch
first! :)
Thanks
Laszlo