* 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).