2021-08-07 00:13:38

by Stephen Brennan

[permalink] [raw]
Subject: [PATCH] perf script python: fix unintended underline

The text ranging from "subsystem__event_name" to
"raw_syscalls__sys_enter()" is interpreted by asciidoc as a pair of
unconstrained text formatting markers. The result is that the manual
page displayed this text as underlined, and the HTML pages displayed
this text as italicized. Escape the first double-underscore to prevent
this.

https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/

Signed-off-by: Stephen Brennan <[email protected]>
---
tools/perf/Documentation/perf-script-python.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/Documentation/perf-script-python.txt b/tools/perf/Documentation/perf-script-python.txt
index 5e43cfa5ea1e..0250dc61cf98 100644
--- a/tools/perf/Documentation/perf-script-python.txt
+++ b/tools/perf/Documentation/perf-script-python.txt
@@ -167,7 +167,7 @@ below).

Following those are the 'event handler' functions generated one for
every event in the 'perf record' output. The handler functions take
-the form subsystem__event_name, and contain named parameters, one for
+the form subsystem\__event_name, and contain named parameters, one for
each field in the event; in this case, there's only one event,
raw_syscalls__sys_enter(). (see the EVENT HANDLERS section below for
more info on event handlers).
--
2.30.2


2021-08-07 00:15:40

by Paul A. Clarke

[permalink] [raw]
Subject: Re: [PATCH] perf script python: fix unintended underline

On Fri, Aug 06, 2021 at 01:45:01PM -0700, Stephen Brennan wrote:
> The text ranging from "subsystem__event_name" to
> "raw_syscalls__sys_enter()" is interpreted by asciidoc as a pair of
> unconstrained text formatting markers. The result is that the manual
> page displayed this text as underlined, and the HTML pages displayed
> this text as italicized. Escape the first double-underscore to prevent
> this.

I think it would be better to escape the second double-underscore as well,
to prevent the same problem recurring with future changes.

> diff --git a/tools/perf/Documentation/perf-script-python.txt b/tools/perf/Documentation/perf-script-python.txt
> index 5e43cfa5ea1e..0250dc61cf98 100644
> --- a/tools/perf/Documentation/perf-script-python.txt
> +++ b/tools/perf/Documentation/perf-script-python.txt
> @@ -167,7 +167,7 @@ below).
>
> Following those are the 'event handler' functions generated one for
> every event in the 'perf record' output. The handler functions take
> -the form subsystem__event_name, and contain named parameters, one for
> +the form subsystem\__event_name, and contain named parameters, one for
> each field in the event; in this case, there's only one event,
> raw_syscalls__sys_enter(). (see the EVENT HANDLERS section below for

escape this ^ , too.

> more info on event handlers).
> --

PC

2021-08-07 00:17:33

by Stephen Brennan

[permalink] [raw]
Subject: Re: [PATCH] perf script python: fix unintended underline

"Paul A. Clarke" <[email protected]> writes:

> On Fri, Aug 06, 2021 at 01:45:01PM -0700, Stephen Brennan wrote:
>> The text ranging from "subsystem__event_name" to
>> "raw_syscalls__sys_enter()" is interpreted by asciidoc as a pair of
>> unconstrained text formatting markers. The result is that the manual
>> page displayed this text as underlined, and the HTML pages displayed
>> this text as italicized. Escape the first double-underscore to prevent
>> this.
>
> I think it would be better to escape the second double-underscore as well,
> to prevent the same problem recurring with future changes.
>
>> diff --git a/tools/perf/Documentation/perf-script-python.txt b/tools/perf/Documentation/perf-script-python.txt
>> index 5e43cfa5ea1e..0250dc61cf98 100644
>> --- a/tools/perf/Documentation/perf-script-python.txt
>> +++ b/tools/perf/Documentation/perf-script-python.txt
>> @@ -167,7 +167,7 @@ below).
>>
>> Following those are the 'event handler' functions generated one for
>> every event in the 'perf record' output. The handler functions take
>> -the form subsystem__event_name, and contain named parameters, one for
>> +the form subsystem\__event_name, and contain named parameters, one for
>> each field in the event; in this case, there's only one event,
>> raw_syscalls__sys_enter(). (see the EVENT HANDLERS section below for
>
> escape this ^ , too.

I've tried escaping a few combinations of these four underscores.

\__ __ - escaping the first but not the second (as this patch)
produces correct output
\_\_ \_\_ - escaping all underscores results in no underlines, but the
manual page shows "raw_syscalls\_\_sys_enter()" in its
output.
\_\_ __ - escaping the first two results in no underlines, but the
manual page shows "subsystem\_\_event_name"
\__ \__ - escaping the first of each double-underscore results in no
underlines, but the manual page shows
"raw_syscalls\__sys_enter()"

It seems that asciidoc only allows the first in a potential pair to be
escaped? I'll be the first to admit, I know nothing about asciidoc, so I
may have missed something here.

Stephen

>
>> more info on event handlers).
>> --
>
> PC

2021-08-07 00:22:25

by Paul A. Clarke

[permalink] [raw]
Subject: Re: [PATCH] perf script python: fix unintended underline

On Fri, Aug 06, 2021 at 02:28:13PM -0700, Stephen Brennan wrote:
> "Paul A. Clarke" <[email protected]> writes:
> > On Fri, Aug 06, 2021 at 01:45:01PM -0700, Stephen Brennan wrote:
> >> The text ranging from "subsystem__event_name" to
> >> "raw_syscalls__sys_enter()" is interpreted by asciidoc as a pair of
> >> unconstrained text formatting markers. The result is that the manual
> >> page displayed this text as underlined, and the HTML pages displayed
> >> this text as italicized. Escape the first double-underscore to prevent
> >> this.
> >
> > I think it would be better to escape the second double-underscore as well,
> > to prevent the same problem recurring with future changes.
> >
> >> diff --git a/tools/perf/Documentation/perf-script-python.txt b/tools/perf/Documentation/perf-script-python.txt
> >> index 5e43cfa5ea1e..0250dc61cf98 100644
> >> --- a/tools/perf/Documentation/perf-script-python.txt
> >> +++ b/tools/perf/Documentation/perf-script-python.txt
> >> @@ -167,7 +167,7 @@ below).
> >>
> >> Following those are the 'event handler' functions generated one for
> >> every event in the 'perf record' output. The handler functions take
> >> -the form subsystem__event_name, and contain named parameters, one for
> >> +the form subsystem\__event_name, and contain named parameters, one for
> >> each field in the event; in this case, there's only one event,
> >> raw_syscalls__sys_enter(). (see the EVENT HANDLERS section below for
> >
> > escape this ^ , too.
>
> I've tried escaping a few combinations of these four underscores.
>
> \__ __ - escaping the first but not the second (as this patch)
> produces correct output
> \_\_ \_\_ - escaping all underscores results in no underlines, but the
> manual page shows "raw_syscalls\_\_sys_enter()" in its
> output.
> \_\_ __ - escaping the first two results in no underlines, but the
> manual page shows "subsystem\_\_event_name"
> \__ \__ - escaping the first of each double-underscore results in no
> underlines, but the manual page shows
> "raw_syscalls\__sys_enter()"
>
> It seems that asciidoc only allows the first in a potential pair to be
> escaped? I'll be the first to admit, I know nothing about asciidoc, so I
> may have missed something here.

Ugh. Thanks for trying. I thought it would be easy, but that probably shows
I know even less about asciidoc. :-/

PC

2021-08-09 21:59:59

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf script python: fix unintended underline

Em Fri, Aug 06, 2021 at 01:45:01PM -0700, Stephen Brennan escreveu:
> The text ranging from "subsystem__event_name" to
> "raw_syscalls__sys_enter()" is interpreted by asciidoc as a pair of
> unconstrained text formatting markers. The result is that the manual
> page displayed this text as underlined, and the HTML pages displayed
> this text as italicized. Escape the first double-underscore to prevent
> this.
>
> https://docs.asciidoctor.org/asciidoc/latest/syntax-quick-reference/

Thanks, applied.

- Arnaldo


> Signed-off-by: Stephen Brennan <[email protected]>
> ---
> tools/perf/Documentation/perf-script-python.txt | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/Documentation/perf-script-python.txt b/tools/perf/Documentation/perf-script-python.txt
> index 5e43cfa5ea1e..0250dc61cf98 100644
> --- a/tools/perf/Documentation/perf-script-python.txt
> +++ b/tools/perf/Documentation/perf-script-python.txt
> @@ -167,7 +167,7 @@ below).
>
> Following those are the 'event handler' functions generated one for
> every event in the 'perf record' output. The handler functions take
> -the form subsystem__event_name, and contain named parameters, one for
> +the form subsystem\__event_name, and contain named parameters, one for
> each field in the event; in this case, there's only one event,
> raw_syscalls__sys_enter(). (see the EVENT HANDLERS section below for
> more info on event handlers).
> --
> 2.30.2
>

--

- Arnaldo