* excess bolding in html
@ 2020-10-30 3:17 Randy Dunlap
2020-10-30 7:37 ` Mauro Carvalho Chehab
0 siblings, 1 reply; 8+ messages in thread
From: Randy Dunlap @ 2020-10-30 3:17 UTC (permalink / raw)
To: linux-doc@vger.kernel.org, Jonathan Corbet, Mauro Carvalho Chehab
Hi,
I have noticed a few cases of excess bolding in generated html (seen in both
Firefox and Opera web browsers).
(1) https://www.kernel.org/doc/html/latest/kernel-hacking/locking.html#futex-api-reference
In the description of struct hrtimer_sleeper * futex_setup_timer:
Both the Return line and the next following line are all bold, while the third (final)
line is not bold (as expected):
Return
Initialized hrtimer_sleeper structure or NULL if no timeout
value given
(2) https://www.kernel.org/doc/html/latest/filesystems/api-summary.html
In the description of int seq_open():
Both the Note line and the following line are all bold, while the final line
is not bold (as expected):
Note
seq_open() will allocate a struct seq_file and store its
pointer in file->private_data. This pointer should not be modified.
I looked at scripts/kernel-doc briefly but did not see where this is
happening, so if anyone out there wants a small project to fix,
please go for it.
--
~Randy
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: excess bolding in html 2020-10-30 3:17 excess bolding in html Randy Dunlap @ 2020-10-30 7:37 ` Mauro Carvalho Chehab 2020-10-30 11:31 ` Matthew Wilcox 0 siblings, 1 reply; 8+ messages in thread From: Mauro Carvalho Chehab @ 2020-10-30 7:37 UTC (permalink / raw) To: Randy Dunlap; +Cc: linux-doc@vger.kernel.org, Jonathan Corbet Hi Randy, Em Thu, 29 Oct 2020 20:17:34 -0700 Randy Dunlap <rdunlap@infradead.org> escreveu: > Hi, > > I have noticed a few cases of excess bolding in generated html (seen in both > Firefox and Opera web browsers). > > (1) https://www.kernel.org/doc/html/latest/kernel-hacking/locking.html#futex-api-reference > > In the description of struct hrtimer_sleeper * futex_setup_timer: > > Both the Return line and the next following line are all bold, while the third (final) > line is not bold (as expected): > > Return > > Initialized hrtimer_sleeper structure or NULL if no timeout > value given The problem is related to the indentation of "value given". With ReST, this causes the first line to be print in bold. The reason for that is that a common practice to describe arguments on texts is to use this: foo Does foo things bar Does bar things Without this feature at ReST, the above would need to be: **foo** Does foo things **bar** Does bar things Which is more polluted with symbols, on text mode. - Just changing the kernel-doc markup at kernel/futex.c: /** * futex_setup_timer - set up the sleeping hrtimer. * @time: ptr to the given timeout value * @timeout: the hrtimer_sleeper structure to be set up * @flags: futex flags * @range_ns: optional range in ns * * Return: Initialized hrtimer_sleeper structure or NULL if no timeout * value given */ To: ... * Return: * * Initialized hrtimer_sleeper structure or NULL if no timeout * value given */ Should fix it. > > (2) https://www.kernel.org/doc/html/latest/filesystems/api-summary.html > > In the description of int seq_open(): > > Both the Note line and the following line are all bold, while the final line > is not bold (as expected): > > Note > > seq_open() will allocate a struct seq_file and store its > pointer in file->private_data. This pointer should not be modified. > > > > I looked at scripts/kernel-doc briefly but did not see where this is > happening, so if anyone out there wants a small project to fix, > please go for it. We can't make kernel-doc ignore alignments, as otherwise other things will break, as several kernel-doc markups use indents for some things (like supporting literal-blocks). So, such kind of fixes need to be done at the kernel-doc markups. In this very specific case, though, I guess, some regex could be used to convert things like: * Foo: some multiline * description into something like: * Foo: * * some multiline * description or: * Foo: * * some multiline * description kernel-doc uses this regex to match "Return": my $doc_sect = $doc_com . '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)\s*:(.*)'; I guess something could be added after this: if (/$doc_sect/i) { # case insensitive for supported section names $newsection = $1; $newcontents = $2; in order do to the replacement. Maybe something like this (untested): if (/$doc_sect/i) { # case insensitive for supported section names $newsection = $1; $newcontents = $2; my $spaces = $newsection; $spaces =~ s/\S/ /; $newcontents = $spaces . $newcontents; Would do the trick. Thanks, Mauro ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: excess bolding in html 2020-10-30 7:37 ` Mauro Carvalho Chehab @ 2020-10-30 11:31 ` Matthew Wilcox 2020-10-30 12:28 ` Markus Heiser 0 siblings, 1 reply; 8+ messages in thread From: Matthew Wilcox @ 2020-10-30 11:31 UTC (permalink / raw) To: Mauro Carvalho Chehab Cc: Randy Dunlap, linux-doc@vger.kernel.org, Jonathan Corbet On Fri, Oct 30, 2020 at 08:37:48AM +0100, Mauro Carvalho Chehab wrote: > Just changing the kernel-doc markup at kernel/futex.c: > > /** > * futex_setup_timer - set up the sleeping hrtimer. > * @time: ptr to the given timeout value > * @timeout: the hrtimer_sleeper structure to be set up > * @flags: futex flags > * @range_ns: optional range in ns > * > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout > * value given > */ > > To: > > ... > * Return: > * > * Initialized hrtimer_sleeper structure or NULL if no timeout > * value given > */ > > Should fix it. Or just remove the indent. * Return: Initialized hrtimer_sleeper structure or NULL if no timeout * value given. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: excess bolding in html 2020-10-30 11:31 ` Matthew Wilcox @ 2020-10-30 12:28 ` Markus Heiser 2020-10-30 12:53 ` Matthew Wilcox 0 siblings, 1 reply; 8+ messages in thread From: Markus Heiser @ 2020-10-30 12:28 UTC (permalink / raw) To: Matthew Wilcox, Mauro Carvalho Chehab Cc: Randy Dunlap, linux-doc@vger.kernel.org, Jonathan Corbet Am 30.10.20 um 12:31 schrieb Matthew Wilcox: > On Fri, Oct 30, 2020 at 08:37:48AM +0100, Mauro Carvalho Chehab wrote: >> Just changing the kernel-doc markup at kernel/futex.c: >> >> /** >> * futex_setup_timer - set up the sleeping hrtimer. >> * @time: ptr to the given timeout value >> * @timeout: the hrtimer_sleeper structure to be set up >> * @flags: futex flags >> * @range_ns: optional range in ns >> * >> * Return: Initialized hrtimer_sleeper structure or NULL if no timeout >> * value given >> */ >> >> To: >> >> ... >> * Return: >> * >> * Initialized hrtimer_sleeper structure or NULL if no timeout >> * value given >> */ >> >> Should fix it. > > Or just remove the indent. > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout > * value given. To add my 2 cent: The return value should be described in a dedicated section named "Return:", like shown im Mauro's example (compare [1]). For on-liners I think it is OK to use the short form (compare [2]). [1] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values [2] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#function-documentation -- Markus -- ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: excess bolding in html 2020-10-30 12:28 ` Markus Heiser @ 2020-10-30 12:53 ` Matthew Wilcox 2020-10-30 14:00 ` Mauro Carvalho Chehab 0 siblings, 1 reply; 8+ messages in thread From: Matthew Wilcox @ 2020-10-30 12:53 UTC (permalink / raw) To: Markus Heiser Cc: Mauro Carvalho Chehab, Randy Dunlap, linux-doc@vger.kernel.org, Jonathan Corbet On Fri, Oct 30, 2020 at 01:28:59PM +0100, Markus Heiser wrote: > Am 30.10.20 um 12:31 schrieb Matthew Wilcox: > > On Fri, Oct 30, 2020 at 08:37:48AM +0100, Mauro Carvalho Chehab wrote: > > > Just changing the kernel-doc markup at kernel/futex.c: > > > > > > /** > > > * futex_setup_timer - set up the sleeping hrtimer. > > > * @time: ptr to the given timeout value > > > * @timeout: the hrtimer_sleeper structure to be set up > > > * @flags: futex flags > > > * @range_ns: optional range in ns > > > * > > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout > > > * value given > > > */ > > > > > > To: > > > > > > ... > > > * Return: > > > * > > > * Initialized hrtimer_sleeper structure or NULL if no timeout > > > * value given > > > */ > > > > > > Should fix it. > > > > Or just remove the indent. > > > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout > > * value given. > > To add my 2 cent: > > The return value should be described in a dedicated section > named "Return:", like shown im Mauro's example (compare [1]). > > For on-liners I think it is OK to use the short form (compare [2]). > > [1] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values > [2] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#function-documentation Right. I'm saying that Mauro's suggestion is overly verbose and removing the whitespace is the solution least likely to bring down the Wrath of peterz. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: excess bolding in html 2020-10-30 12:53 ` Matthew Wilcox @ 2020-10-30 14:00 ` Mauro Carvalho Chehab 2020-10-30 14:19 ` [PATCH RFC] scripts: kernel-doc: better handle spaces after section markups Mauro Carvalho Chehab 2020-10-30 17:30 ` excess bolding in html Randy Dunlap 0 siblings, 2 replies; 8+ messages in thread From: Mauro Carvalho Chehab @ 2020-10-30 14:00 UTC (permalink / raw) To: Matthew Wilcox Cc: Markus Heiser, Randy Dunlap, linux-doc@vger.kernel.org, Jonathan Corbet Em Fri, 30 Oct 2020 12:53:13 +0000 Matthew Wilcox <willy@infradead.org> escreveu: > On Fri, Oct 30, 2020 at 01:28:59PM +0100, Markus Heiser wrote: > > Am 30.10.20 um 12:31 schrieb Matthew Wilcox: > > > On Fri, Oct 30, 2020 at 08:37:48AM +0100, Mauro Carvalho Chehab wrote: > > > > Just changing the kernel-doc markup at kernel/futex.c: > > > > > > > > /** > > > > * futex_setup_timer - set up the sleeping hrtimer. > > > > * @time: ptr to the given timeout value > > > > * @timeout: the hrtimer_sleeper structure to be set up > > > > * @flags: futex flags > > > > * @range_ns: optional range in ns > > > > * > > > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout > > > > * value given > > > > */ > > > > > > > > To: > > > > > > > > ... > > > > * Return: > > > > * > > > > * Initialized hrtimer_sleeper structure or NULL if no timeout > > > > * value given > > > > */ > > > > > > > > Should fix it. > > > > > > Or just remove the indent. > > > > > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout > > > * value given. > > > > To add my 2 cent: > > > > The return value should be described in a dedicated section > > named "Return:", like shown im Mauro's example (compare [1]). > > > > For on-liners I think it is OK to use the short form (compare [2]). > > > > [1] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values > > [2] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#function-documentation Yeah, I would use myself something like: Return: foo only for single-line returns, using: Return: foo bar for multi-line ones. - Anyway, I tried the enclosed patch. With that, it should now recognize kernel-doc markups with: * Return: Initialized hrtimer_sleeper structure or NULL if no timeout * value given And: * Returns: 0 on success, -ENOSPC if no suitable hole is found, -EINTR if * asked to wait for eviction and interrupted. */ (this example came from drivers/gpu/drm/i915/i915_gem_gtt.c) I only did a fast check here, in order to verify if it won't be producing additional warnings. I didn't check the html output. Just the resulting ReST from kernel-doc and the "make htmldocs" warnings. PS.: This handles only "Note(s)" and "Return(s)" sections. Description and @var: are already handled using a different logic elsewhere. This could likely be generalized, but more work (and tests) are required. Thanks, Mauro [PATCH] scripts: kernel-doc: better handle spaces after section markups Better handle things like: * Return: foo * description Suggested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> diff --git a/scripts/kernel-doc b/scripts/kernel-doc index f699cf05d409..a91a2420cccf 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -389,7 +389,7 @@ my $doc_com_body = '\s*\* ?'; my $doc_decl = $doc_com . '(\w+)'; # @params and a strictly limited set of supported section names my $doc_sect = $doc_com . - '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)\s*:(.*)'; + '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)(\s*:)(.*)'; my $doc_content = $doc_com_body . '(.*)'; my $doc_block = $doc_com . 'DOC:\s*(.*)?'; my $doc_inline_start = '^\s*/\*\*\s*$'; @@ -865,8 +865,21 @@ sub output_highlight_rst { my $in_literal = 0; my $litprefix; my $block = ""; + my $spaces = ""; + my $first = 1; foreach $line (split "\n",$input) { + if ($first) { + $spaces = $1 if ($line =~ (m/^(\s+)/)); + $first = 0; + } + + if ($spaces ne "") { + if (!($line =~ s/^$spaces//)) { + $spaces = ""; + } + } + # # If we're in a literal block, see if we should drop out # of it. Otherwise pass the line straight through unmunged. @@ -2135,8 +2148,9 @@ sub process_body($$) { } if (/$doc_sect/i) { # case insensitive for supported section names + my $spaces = "$1$2"; $newsection = $1; - $newcontents = $2; + $newcontents = $3; # map the supported section names to the canonical names if ($newsection =~ m/^description$/i) { @@ -2161,11 +2175,20 @@ sub process_body($$) { $in_doc_sect = 1; $state = STATE_BODY; - $contents = $newcontents; $new_start_line = $.; - while (substr($contents, 0, 1) eq " ") { - $contents = substr($contents, 1); + + if ($newsection =~ m/(return|note)/i) { + $spaces =~ s/\S/ /g; + $newcontents = $spaces . $newcontents; + $newcontents =~ s/^\s+$//; + $contents = $newcontents; + } else { + $contents = $newcontents; + while (substr($newcontents, 0, 1) eq " ") { + $newcontents = substr($newcontents, 1); + } } + if ($contents ne "") { $contents .= "\n"; } ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH RFC] scripts: kernel-doc: better handle spaces after section markups 2020-10-30 14:00 ` Mauro Carvalho Chehab @ 2020-10-30 14:19 ` Mauro Carvalho Chehab 2020-10-30 17:30 ` excess bolding in html Randy Dunlap 1 sibling, 0 replies; 8+ messages in thread From: Mauro Carvalho Chehab @ 2020-10-30 14:19 UTC (permalink / raw) To: Linux Doc Mailing List Cc: Mauro Carvalho Chehab, Jonathan Corbet, linux-kernel, Randy Dunlap Better handle things like: * Return: foo * description Suggested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> --- I already posted this as part of a reply to Randy/Matthew. As said there, I only did a fast check here, in order to verify if it won't be producing additional warnings. I didn't check the html output. Just the resulting ReST from kernel-doc and the "make htmldocs" warnings. Yet, let me post in separate, just in case someone has enough time/bandwidth to test if this is working properly and it is not causing regressions. Feel free to either use, modify or drop it ;-) scripts/kernel-doc | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/scripts/kernel-doc b/scripts/kernel-doc index f699cf05d409..a91a2420cccf 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -389,7 +389,7 @@ my $doc_com_body = '\s*\* ?'; my $doc_decl = $doc_com . '(\w+)'; # @params and a strictly limited set of supported section names my $doc_sect = $doc_com . - '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)\s*:(.*)'; + '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)(\s*:)(.*)'; my $doc_content = $doc_com_body . '(.*)'; my $doc_block = $doc_com . 'DOC:\s*(.*)?'; my $doc_inline_start = '^\s*/\*\*\s*$'; @@ -865,8 +865,21 @@ sub output_highlight_rst { my $in_literal = 0; my $litprefix; my $block = ""; + my $spaces = ""; + my $first = 1; foreach $line (split "\n",$input) { + if ($first) { + $spaces = $1 if ($line =~ (m/^(\s+)/)); + $first = 0; + } + + if ($spaces ne "") { + if (!($line =~ s/^$spaces//)) { + $spaces = ""; + } + } + # # If we're in a literal block, see if we should drop out # of it. Otherwise pass the line straight through unmunged. @@ -2135,8 +2148,9 @@ sub process_body($$) { } if (/$doc_sect/i) { # case insensitive for supported section names + my $spaces = "$1$2"; $newsection = $1; - $newcontents = $2; + $newcontents = $3; # map the supported section names to the canonical names if ($newsection =~ m/^description$/i) { @@ -2161,11 +2175,20 @@ sub process_body($$) { $in_doc_sect = 1; $state = STATE_BODY; - $contents = $newcontents; $new_start_line = $.; - while (substr($contents, 0, 1) eq " ") { - $contents = substr($contents, 1); + + if ($newsection =~ m/(return|note)/i) { + $spaces =~ s/\S/ /g; + $newcontents = $spaces . $newcontents; + $newcontents =~ s/^\s+$//; + $contents = $newcontents; + } else { + $contents = $newcontents; + while (substr($newcontents, 0, 1) eq " ") { + $newcontents = substr($newcontents, 1); + } } + if ($contents ne "") { $contents .= "\n"; } -- 2.26.2 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: excess bolding in html 2020-10-30 14:00 ` Mauro Carvalho Chehab 2020-10-30 14:19 ` [PATCH RFC] scripts: kernel-doc: better handle spaces after section markups Mauro Carvalho Chehab @ 2020-10-30 17:30 ` Randy Dunlap 1 sibling, 0 replies; 8+ messages in thread From: Randy Dunlap @ 2020-10-30 17:30 UTC (permalink / raw) To: Mauro Carvalho Chehab, Matthew Wilcox Cc: Markus Heiser, linux-doc@vger.kernel.org, Jonathan Corbet Hi Mauro, Thanks for the patch. On 10/30/20 7:00 AM, Mauro Carvalho Chehab wrote: > Em Fri, 30 Oct 2020 12:53:13 +0000 > Matthew Wilcox <willy@infradead.org> escreveu: > >> On Fri, Oct 30, 2020 at 01:28:59PM +0100, Markus Heiser wrote: >>> Am 30.10.20 um 12:31 schrieb Matthew Wilcox: >>>> On Fri, Oct 30, 2020 at 08:37:48AM +0100, Mauro Carvalho Chehab wrote: >>>>> Just changing the kernel-doc markup at kernel/futex.c: >>>>> >>>>> /** >>>>> * futex_setup_timer - set up the sleeping hrtimer. >>>>> * @time: ptr to the given timeout value >>>>> * @timeout: the hrtimer_sleeper structure to be set up >>>>> * @flags: futex flags >>>>> * @range_ns: optional range in ns >>>>> * >>>>> * Return: Initialized hrtimer_sleeper structure or NULL if no timeout >>>>> * value given >>>>> */ >>>>> >>>>> To: >>>>> >>>>> ... >>>>> * Return: >>>>> * >>>>> * Initialized hrtimer_sleeper structure or NULL if no timeout >>>>> * value given >>>>> */ >>>>> >>>>> Should fix it. >>>> >>>> Or just remove the indent. >>>> >>>> * Return: Initialized hrtimer_sleeper structure or NULL if no timeout >>>> * value given. >>> >>> To add my 2 cent: >>> >>> The return value should be described in a dedicated section >>> named "Return:", like shown im Mauro's example (compare [1]). >>> >>> For on-liners I think it is OK to use the short form (compare [2]). >>> >>> [1] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values >>> [2] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#function-documentation > > Yeah, I would use myself something like: > > Return: foo > > only for single-line returns, using: > > Return: > > foo > bar > > for multi-line ones. > > - > > Anyway, I tried the enclosed patch. With that, it should now recognize > kernel-doc markups with: > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout > * value given > > And: > > * Returns: 0 on success, -ENOSPC if no suitable hole is found, -EINTR if > * asked to wait for eviction and interrupted. > */ > (this example came from drivers/gpu/drm/i915/i915_gem_gtt.c) > > I only did a fast check here, in order to verify if it won't be > producing additional warnings. I didn't check the html output. > Just the resulting ReST from kernel-doc and the "make htmldocs" warnings. > > PS.: This handles only "Note(s)" and "Return(s)" sections. > Description and @var: are already handled using a different > logic elsewhere. > > This could likely be generalized, but more work (and tests) > are required. > > Thanks, > Mauro I can confirm that the bolding in struct hrtimer_sleeper * futex_setup_timer() is fixed after applying this patch. OTOH, the bolding for int seq_open() remains as it was previously. The only way that I could eliminate it was a small source file patch: --- fs/seq_file.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- linux-next-20201030.orig/fs/seq_file.c +++ linux-next-20201030/fs/seq_file.c @@ -47,7 +47,9 @@ static void *seq_buf_alloc(unsigned long * ERR_PTR(error). In the end of sequence they return %NULL. ->show() * returns 0 in case of success and negative number in case of error. * Returning SEQ_SKIP means "discard this element and move on". - * Note: seq_open() will allocate a struct seq_file and store its + * + * Note: + * seq_open() will allocate a struct seq_file and store its * pointer in @file->private_data. This pointer should not be modified. */ int seq_open(struct file *file, const struct seq_operations *op) > [PATCH] scripts: kernel-doc: better handle spaces after section markups > > Better handle things like: > > * Return: foo > * description > > Suggested-by: Randy Dunlap <rdunlap@infradead.org> > Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> > > diff --git a/scripts/kernel-doc b/scripts/kernel-doc > index f699cf05d409..a91a2420cccf 100755 > --- a/scripts/kernel-doc > +++ b/scripts/kernel-doc > @@ -389,7 +389,7 @@ my $doc_com_body = '\s*\* ?'; > my $doc_decl = $doc_com . '(\w+)'; > # @params and a strictly limited set of supported section names > my $doc_sect = $doc_com . > - '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)\s*:(.*)'; > + '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)(\s*:)(.*)'; > my $doc_content = $doc_com_body . '(.*)'; > my $doc_block = $doc_com . 'DOC:\s*(.*)?'; > my $doc_inline_start = '^\s*/\*\*\s*$'; > @@ -865,8 +865,21 @@ sub output_highlight_rst { > my $in_literal = 0; > my $litprefix; > my $block = ""; > + my $spaces = ""; > + my $first = 1; > > foreach $line (split "\n",$input) { > + if ($first) { > + $spaces = $1 if ($line =~ (m/^(\s+)/)); > + $first = 0; > + } > + > + if ($spaces ne "") { > + if (!($line =~ s/^$spaces//)) { > + $spaces = ""; > + } > + } > + > # > # If we're in a literal block, see if we should drop out > # of it. Otherwise pass the line straight through unmunged. > @@ -2135,8 +2148,9 @@ sub process_body($$) { > } > > if (/$doc_sect/i) { # case insensitive for supported section names > + my $spaces = "$1$2"; > $newsection = $1; > - $newcontents = $2; > + $newcontents = $3; > > # map the supported section names to the canonical names > if ($newsection =~ m/^description$/i) { > @@ -2161,11 +2175,20 @@ sub process_body($$) { > > $in_doc_sect = 1; > $state = STATE_BODY; > - $contents = $newcontents; > $new_start_line = $.; > - while (substr($contents, 0, 1) eq " ") { > - $contents = substr($contents, 1); > + > + if ($newsection =~ m/(return|note)/i) { > + $spaces =~ s/\S/ /g; > + $newcontents = $spaces . $newcontents; > + $newcontents =~ s/^\s+$//; > + $contents = $newcontents; > + } else { > + $contents = $newcontents; > + while (substr($newcontents, 0, 1) eq " ") { > + $newcontents = substr($newcontents, 1); > + } > } > + > if ($contents ne "") { > $contents .= "\n"; > } > > -- ~Randy ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-10-30 17:30 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-10-30 3:17 excess bolding in html Randy Dunlap 2020-10-30 7:37 ` Mauro Carvalho Chehab 2020-10-30 11:31 ` Matthew Wilcox 2020-10-30 12:28 ` Markus Heiser 2020-10-30 12:53 ` Matthew Wilcox 2020-10-30 14:00 ` Mauro Carvalho Chehab 2020-10-30 14:19 ` [PATCH RFC] scripts: kernel-doc: better handle spaces after section markups Mauro Carvalho Chehab 2020-10-30 17:30 ` excess bolding in html Randy Dunlap
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.