* [patch] Document '%F' format specifier
@ 2023-01-19 2:43 Paul Pluzhnikov
2023-01-23 16:42 ` Siddhesh Poyarekar
0 siblings, 1 reply; 6+ messages in thread
From: Paul Pluzhnikov @ 2023-01-19 2:43 UTC (permalink / raw)
To: GLIBC Devel
The '%F' specifier was implemented in commit 6c46718f9f0 on
2000-08-23, but remains undocumented in the manual.
https://stackoverflow.com/questions/75157669/format-specifier-f-missing-from-glibcs-documentation
Fix that.
--
Paul Pluzhnikov
diff --git a/manual/stdio.texi b/manual/stdio.texi
index f6319a4b8a..4f28646dd3 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1845,8 +1845,9 @@ Print an integer as an unsigned hexadecimal
number. @samp{%x} uses
lower-case letters and @samp{%X} uses upper-case. @xref{Integer
Conversions}, for details.
-@item @samp{%f}
+@item @samp{%f}, @samp{%F}
Print a floating-point number in normal (fixed-point) notation.
+@samp{%f} uses lower-case letters and @samp{%F} uses upper-case.
@xref{Floating-Point Conversions}, for details.
@item @samp{%e}, @samp{%E}
@@ -2073,11 +2074,11 @@ various format options, using the template string:
@subsection Floating-Point Conversions
This section discusses the conversion specifications for floating-point
-numbers: the @samp{%f}, @samp{%e}, @samp{%E}, @samp{%g}, and @samp{%G}
-conversions.
+numbers: the @samp{%f}, @samp{%F}, @samp{%e}, @samp{%E}, @samp{%g}, and
+@samp{%G} conversions.
-The @samp{%f} conversion prints its argument in fixed-point notation,
-producing output of the form
+The @samp{%f} and @samp{%F} conversions print their argument in fixed-point
+notation, producing output of the form
@w{[@code{-}]@var{ddd}@code{.}@var{ddd}},
where the number of digits following the decimal point is controlled
by the precision you specify.
@@ -2123,7 +2124,7 @@ If the value to be printed represents infinity
or a NaN, the output is
@w{[@code{-}]@code{inf}} or @code{nan} respectively if the conversion
specifier is @samp{%a}, @samp{%e}, @samp{%f}, or @samp{%g} and it is
@w{[@code{-}]@code{INF}} or @code{NAN} respectively if the conversion is
-@samp{%A}, @samp{%E}, or @samp{%G}. On some implementations, a NaN
+@samp{%A}, @samp{%E}, @samp{%F} or @samp{%G}. On some implementations, a NaN
may result in longer output with information about the payload of the
NaN; ISO C2X defines a macro @code{_PRINTF_NAN_LEN_MAX} giving the
maximum length of such output.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch] Document '%F' format specifier
2023-01-19 2:43 [patch] Document '%F' format specifier Paul Pluzhnikov
@ 2023-01-23 16:42 ` Siddhesh Poyarekar
2023-01-24 17:49 ` Paul Pluzhnikov
0 siblings, 1 reply; 6+ messages in thread
From: Siddhesh Poyarekar @ 2023-01-23 16:42 UTC (permalink / raw)
To: Paul Pluzhnikov, GLIBC Devel
On 2023-01-18 21:43, Paul Pluzhnikov via Libc-alpha wrote:
> The '%F' specifier was implemented in commit 6c46718f9f0 on
> 2000-08-23, but remains undocumented in the manual.
> https://stackoverflow.com/questions/75157669/format-specifier-f-missing-from-glibcs-documentation
>
> Fix that.
>
The patch fails to apply on master. Also, the specifier needs to be
mentioned in the Floating-Point Conversions section alongside %f
wherever applicable. Other than the first line that mentions all format
specifiers, there are lines like:
The @samp{%g} and @samp{%G} conversions print the argument in the style
of @samp{%e} or @samp{%E} (respectively) if the exponent would be less
than -4 or greater than or equal to the precision; otherwise they use
the @samp{%f} style.
where I think mentioning @samp{%F} would be useful. i.e. wherever the
lower and upper options are mention together, do the same for %f too.
Please also review other sections in stdio.texi that mention %f and add
%F wherever applicable, e.g. input conversions.
Thanks,
Sid
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch] Document '%F' format specifier
2023-01-23 16:42 ` Siddhesh Poyarekar
@ 2023-01-24 17:49 ` Paul Pluzhnikov
2023-01-24 21:32 ` Siddhesh Poyarekar
0 siblings, 1 reply; 6+ messages in thread
From: Paul Pluzhnikov @ 2023-01-24 17:49 UTC (permalink / raw)
To: Siddhesh Poyarekar; +Cc: GLIBC Devel
[-- Attachment #1: Type: text/plain, Size: 687 bytes --]
On Mon, Jan 23, 2023 at 8:42 AM Siddhesh Poyarekar <siddhesh@gotplt.org> wrote:
>
> On 2023-01-18 21:43, Paul Pluzhnikov via Libc-alpha wrote:
> > The '%F' specifier was implemented in commit 6c46718f9f0 on
> > 2000-08-23, but remains undocumented in the manual.
> > https://stackoverflow.com/questions/75157669/format-specifier-f-missing-from-glibcs-documentation
> >
> > Fix that.
> >
>
> The patch fails to apply on master.
Sorry about that -- I've attached a revised patch.
> Please also review other sections in stdio.texi that mention %f and add
> %F wherever applicable, e.g. input conversions.
I think I got all the instances of '%f' updated now.
Thanks,
--
Paul Pluzhnikov
[-- Attachment #2: glibc-manual-stdio-20230124.txt --]
[-- Type: text/plain, Size: 4024 bytes --]
diff --git a/manual/stdio.texi b/manual/stdio.texi
index f6319a4b8a..2aba957873 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1845,8 +1845,9 @@ Print an integer as an unsigned hexadecimal number. @samp{%x} uses
lower-case letters and @samp{%X} uses upper-case. @xref{Integer
Conversions}, for details.
-@item @samp{%f}
+@item @samp{%f}, @samp{%F}
Print a floating-point number in normal (fixed-point) notation.
+@samp{%f} uses lower-case letters and @samp{%F} uses upper-case.
@xref{Floating-Point Conversions}, for details.
@item @samp{%e}, @samp{%E}
@@ -2073,11 +2074,11 @@ various format options, using the template string:
@subsection Floating-Point Conversions
This section discusses the conversion specifications for floating-point
-numbers: the @samp{%f}, @samp{%e}, @samp{%E}, @samp{%g}, and @samp{%G}
-conversions.
+numbers: the @samp{%f}, @samp{%F}, @samp{%e}, @samp{%E}, @samp{%g}, and
+@samp{%G} conversions.
-The @samp{%f} conversion prints its argument in fixed-point notation,
-producing output of the form
+The @samp{%f} and @samp{%F} conversions print their argument in fixed-point
+notation, producing output of the form
@w{[@code{-}]@var{ddd}@code{.}@var{ddd}},
where the number of digits following the decimal point is controlled
by the precision you specify.
@@ -2093,7 +2094,7 @@ the precision. The exponent always contains at least two digits. The
The @samp{%g} and @samp{%G} conversions print the argument in the style
of @samp{%e} or @samp{%E} (respectively) if the exponent would be less
than -4 or greater than or equal to the precision; otherwise they use
-the @samp{%f} style. A precision of @code{0}, is taken as 1.
+the @samp{%f} of @same{%F} style. A precision of @code{0}, is taken as 1.
Trailing zeros are removed from the fractional portion of the result and
a decimal-point character appears only if it is followed by a digit.
@@ -2123,7 +2124,7 @@ If the value to be printed represents infinity or a NaN, the output is
@w{[@code{-}]@code{inf}} or @code{nan} respectively if the conversion
specifier is @samp{%a}, @samp{%e}, @samp{%f}, or @samp{%g} and it is
@w{[@code{-}]@code{INF}} or @code{NAN} respectively if the conversion is
-@samp{%A}, @samp{%E}, or @samp{%G}. On some implementations, a NaN
+@samp{%A}, @samp{%E}, @samp{%F} or @samp{%G}. On some implementations, a NaN
may result in longer output with information about the payload of the
NaN; ISO C2X defines a macro @code{_PRINTF_NAN_LEN_MAX} giving the
maximum length of such output.
@@ -2162,8 +2163,8 @@ specified.
@end table
The precision specifies how many digits follow the decimal-point
-character for the @samp{%f}, @samp{%e}, and @samp{%E} conversions. For
-these conversions, the default precision is @code{6}. If the precision
+character for the @samp{%f}, @samp{%F}, @samp{%e}, and @samp{%E} conversions.
+For these conversions, the default precision is @code{6}. If the precision
is explicitly @code{0}, this suppresses the decimal point character
entirely. For the @samp{%g} and @samp{%G} conversions, the precision
specifies how many significant digits to print. Significant digits are
@@ -3535,7 +3536,7 @@ Matches an unsigned integer written in decimal radix.
Matches an unsigned integer written in hexadecimal radix.
@xref{Numeric Input Conversions}.
-@item @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%G}
+@item @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%F}, @samp{%G}
Matches an optionally signed floating-point number. @xref{Numeric Input
Conversions}.
@@ -3691,7 +3692,7 @@ Specifies that the argument is a @code{size_t *}.
This modifier was introduced in @w{ISO C99}.
@end table
-All of the @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, and @samp{%G}
+All of the @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%F} and @samp{%G}
input conversions are interchangeable. They all match an optionally
signed floating point number, in the same syntax as for the
@code{strtod} function (@pxref{Parsing of Floats}).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch] Document '%F' format specifier
2023-01-24 17:49 ` Paul Pluzhnikov
@ 2023-01-24 21:32 ` Siddhesh Poyarekar
2023-01-24 22:20 ` Paul Pluzhnikov
0 siblings, 1 reply; 6+ messages in thread
From: Siddhesh Poyarekar @ 2023-01-24 21:32 UTC (permalink / raw)
To: Paul Pluzhnikov; +Cc: GLIBC Devel
On 2023-01-24 12:49, Paul Pluzhnikov wrote:
> On Mon, Jan 23, 2023 at 8:42 AM Siddhesh Poyarekar <siddhesh@gotplt.org> wrote:
>>
>> On 2023-01-18 21:43, Paul Pluzhnikov via Libc-alpha wrote:
>>> The '%F' specifier was implemented in commit 6c46718f9f0 on
>>> 2000-08-23, but remains undocumented in the manual.
>>> https://stackoverflow.com/questions/75157669/format-specifier-f-missing-from-glibcs-documentation
>>>
>>> Fix that.
>>>
>>
>> The patch fails to apply on master.
>
> Sorry about that -- I've attached a revised patch.
>
>> Please also review other sections in stdio.texi that mention %f and add
>> %F wherever applicable, e.g. input conversions.
>
> I think I got all the instances of '%f' updated now.
>
> Thanks,
Just one nit, please send an update with that (see below) and I'll add a
Reviewed-by.
> diff --git a/manual/stdio.texi b/manual/stdio.texi
> index f6319a4b8a..2aba957873 100644
> --- a/manual/stdio.texi
> +++ b/manual/stdio.texi
> @@ -1845,8 +1845,9 @@ Print an integer as an unsigned hexadecimal number. @samp{%x} uses
> lower-case letters and @samp{%X} uses upper-case. @xref{Integer
> Conversions}, for details.
>
> -@item @samp{%f}
> +@item @samp{%f}, @samp{%F}
> Print a floating-point number in normal (fixed-point) notation.
> +@samp{%f} uses lower-case letters and @samp{%F} uses upper-case.
> @xref{Floating-Point Conversions}, for details.
>
> @item @samp{%e}, @samp{%E}
> @@ -2073,11 +2074,11 @@ various format options, using the template string:
> @subsection Floating-Point Conversions
>
> This section discusses the conversion specifications for floating-point
> -numbers: the @samp{%f}, @samp{%e}, @samp{%E}, @samp{%g}, and @samp{%G}
> -conversions.
> +numbers: the @samp{%f}, @samp{%F}, @samp{%e}, @samp{%E}, @samp{%g}, and
> +@samp{%G} conversions.
>
> -The @samp{%f} conversion prints its argument in fixed-point notation,
> -producing output of the form
> +The @samp{%f} and @samp{%F} conversions print their argument in fixed-point
> +notation, producing output of the form
> @w{[@code{-}]@var{ddd}@code{.}@var{ddd}},
> where the number of digits following the decimal point is controlled
> by the precision you specify.
> @@ -2093,7 +2094,7 @@ the precision. The exponent always contains at least two digits. The
> The @samp{%g} and @samp{%G} conversions print the argument in the style
> of @samp{%e} or @samp{%E} (respectively) if the exponent would be less
> than -4 or greater than or equal to the precision; otherwise they use
> -the @samp{%f} style. A precision of @code{0}, is taken as 1.
> +the @samp{%f} of @same{%F} style. A precision of @code{0}, is taken as 1.
or @samp{%F}
> Trailing zeros are removed from the fractional portion of the result and
> a decimal-point character appears only if it is followed by a digit.
>
> @@ -2123,7 +2124,7 @@ If the value to be printed represents infinity or a NaN, the output is
> @w{[@code{-}]@code{inf}} or @code{nan} respectively if the conversion
> specifier is @samp{%a}, @samp{%e}, @samp{%f}, or @samp{%g} and it is
> @w{[@code{-}]@code{INF}} or @code{NAN} respectively if the conversion is
> -@samp{%A}, @samp{%E}, or @samp{%G}. On some implementations, a NaN
> +@samp{%A}, @samp{%E}, @samp{%F} or @samp{%G}. On some implementations, a NaN
> may result in longer output with information about the payload of the
> NaN; ISO C2X defines a macro @code{_PRINTF_NAN_LEN_MAX} giving the
> maximum length of such output.
> @@ -2162,8 +2163,8 @@ specified.
> @end table
>
> The precision specifies how many digits follow the decimal-point
> -character for the @samp{%f}, @samp{%e}, and @samp{%E} conversions. For
> -these conversions, the default precision is @code{6}. If the precision
> +character for the @samp{%f}, @samp{%F}, @samp{%e}, and @samp{%E} conversions.
> +For these conversions, the default precision is @code{6}. If the precision
> is explicitly @code{0}, this suppresses the decimal point character
> entirely. For the @samp{%g} and @samp{%G} conversions, the precision
> specifies how many significant digits to print. Significant digits are
> @@ -3535,7 +3536,7 @@ Matches an unsigned integer written in decimal radix.
> Matches an unsigned integer written in hexadecimal radix.
> @xref{Numeric Input Conversions}.
>
> -@item @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%G}
> +@item @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%F}, @samp{%G}
> Matches an optionally signed floating-point number. @xref{Numeric Input
> Conversions}.
>
> @@ -3691,7 +3692,7 @@ Specifies that the argument is a @code{size_t *}.
> This modifier was introduced in @w{ISO C99}.
> @end table
>
> -All of the @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, and @samp{%G}
> +All of the @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%F} and @samp{%G}
> input conversions are interchangeable. They all match an optionally
> signed floating point number, in the same syntax as for the
> @code{strtod} function (@pxref{Parsing of Floats}).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch] Document '%F' format specifier
2023-01-24 21:32 ` Siddhesh Poyarekar
@ 2023-01-24 22:20 ` Paul Pluzhnikov
2023-01-24 23:31 ` Siddhesh Poyarekar
0 siblings, 1 reply; 6+ messages in thread
From: Paul Pluzhnikov @ 2023-01-24 22:20 UTC (permalink / raw)
To: Siddhesh Poyarekar; +Cc: GLIBC Devel
[-- Attachment #1: Type: text/plain, Size: 445 bytes --]
On Tue, Jan 24, 2023 at 1:32 PM Siddhesh Poyarekar <siddhesh@gotplt.org> wrote:
> > -the @samp{%f} style. A precision of @code{0}, is taken as 1.
> > +the @samp{%f} of @same{%F} style. A precision of @code{0}, is taken as 1.
>
> or @samp{%F}
Two typos in a row :-(
Done (attached).
I should still have commit-after-approval rights (I think).
Just to confirm, it looks like ChangeLog has finally been abandoned?
Thanks,
--
Paul Pluzhnikov
[-- Attachment #2: glibc-manual-stdio-20230124a.txt --]
[-- Type: text/plain, Size: 4024 bytes --]
diff --git a/manual/stdio.texi b/manual/stdio.texi
index f6319a4b8a..d7eab1843a 100644
--- a/manual/stdio.texi
+++ b/manual/stdio.texi
@@ -1845,8 +1845,9 @@ Print an integer as an unsigned hexadecimal number. @samp{%x} uses
lower-case letters and @samp{%X} uses upper-case. @xref{Integer
Conversions}, for details.
-@item @samp{%f}
+@item @samp{%f}, @samp{%F}
Print a floating-point number in normal (fixed-point) notation.
+@samp{%f} uses lower-case letters and @samp{%F} uses upper-case.
@xref{Floating-Point Conversions}, for details.
@item @samp{%e}, @samp{%E}
@@ -2073,11 +2074,11 @@ various format options, using the template string:
@subsection Floating-Point Conversions
This section discusses the conversion specifications for floating-point
-numbers: the @samp{%f}, @samp{%e}, @samp{%E}, @samp{%g}, and @samp{%G}
-conversions.
+numbers: the @samp{%f}, @samp{%F}, @samp{%e}, @samp{%E}, @samp{%g}, and
+@samp{%G} conversions.
-The @samp{%f} conversion prints its argument in fixed-point notation,
-producing output of the form
+The @samp{%f} and @samp{%F} conversions print their argument in fixed-point
+notation, producing output of the form
@w{[@code{-}]@var{ddd}@code{.}@var{ddd}},
where the number of digits following the decimal point is controlled
by the precision you specify.
@@ -2093,7 +2094,7 @@ the precision. The exponent always contains at least two digits. The
The @samp{%g} and @samp{%G} conversions print the argument in the style
of @samp{%e} or @samp{%E} (respectively) if the exponent would be less
than -4 or greater than or equal to the precision; otherwise they use
-the @samp{%f} style. A precision of @code{0}, is taken as 1.
+the @samp{%f} or @samp{%F} style. A precision of @code{0}, is taken as 1.
Trailing zeros are removed from the fractional portion of the result and
a decimal-point character appears only if it is followed by a digit.
@@ -2123,7 +2124,7 @@ If the value to be printed represents infinity or a NaN, the output is
@w{[@code{-}]@code{inf}} or @code{nan} respectively if the conversion
specifier is @samp{%a}, @samp{%e}, @samp{%f}, or @samp{%g} and it is
@w{[@code{-}]@code{INF}} or @code{NAN} respectively if the conversion is
-@samp{%A}, @samp{%E}, or @samp{%G}. On some implementations, a NaN
+@samp{%A}, @samp{%E}, @samp{%F} or @samp{%G}. On some implementations, a NaN
may result in longer output with information about the payload of the
NaN; ISO C2X defines a macro @code{_PRINTF_NAN_LEN_MAX} giving the
maximum length of such output.
@@ -2162,8 +2163,8 @@ specified.
@end table
The precision specifies how many digits follow the decimal-point
-character for the @samp{%f}, @samp{%e}, and @samp{%E} conversions. For
-these conversions, the default precision is @code{6}. If the precision
+character for the @samp{%f}, @samp{%F}, @samp{%e}, and @samp{%E} conversions.
+For these conversions, the default precision is @code{6}. If the precision
is explicitly @code{0}, this suppresses the decimal point character
entirely. For the @samp{%g} and @samp{%G} conversions, the precision
specifies how many significant digits to print. Significant digits are
@@ -3535,7 +3536,7 @@ Matches an unsigned integer written in decimal radix.
Matches an unsigned integer written in hexadecimal radix.
@xref{Numeric Input Conversions}.
-@item @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%G}
+@item @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%F}, @samp{%G}
Matches an optionally signed floating-point number. @xref{Numeric Input
Conversions}.
@@ -3691,7 +3692,7 @@ Specifies that the argument is a @code{size_t *}.
This modifier was introduced in @w{ISO C99}.
@end table
-All of the @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, and @samp{%G}
+All of the @samp{%e}, @samp{%f}, @samp{%g}, @samp{%E}, @samp{%F} and @samp{%G}
input conversions are interchangeable. They all match an optionally
signed floating point number, in the same syntax as for the
@code{strtod} function (@pxref{Parsing of Floats}).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [patch] Document '%F' format specifier
2023-01-24 22:20 ` Paul Pluzhnikov
@ 2023-01-24 23:31 ` Siddhesh Poyarekar
0 siblings, 0 replies; 6+ messages in thread
From: Siddhesh Poyarekar @ 2023-01-24 23:31 UTC (permalink / raw)
To: Paul Pluzhnikov; +Cc: GLIBC Devel
On 2023-01-24 17:20, Paul Pluzhnikov wrote:
> On Tue, Jan 24, 2023 at 1:32 PM Siddhesh Poyarekar <siddhesh@gotplt.org> wrote:
>
>>> -the @samp{%f} style. A precision of @code{0}, is taken as 1.
>>> +the @samp{%f} of @same{%F} style. A precision of @code{0}, is taken as 1.
>>
>> or @samp{%F}
>
> Two typos in a row :-(
> Done (attached).
LGTM.
Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
> I should still have commit-after-approval rights (I think).
> Just to confirm, it looks like ChangeLog has finally been abandoned?
Right, no need for ChangeLog. Unfortunately however, since you replied
with the patch (and did not do a git-send-email), patchwork[1] didn't
pick this latest one up. We like to have a 1:1 match for commits with
patchwork but it's not enforced yet.
This won't affect your ability to push the patch but please make sure
you have a coherent git commit message (your original message is fine)
with the Reviewed-by line above when you push. If you send your patch
afresh as [committed] with git-send-email, we'll have a proper patchwork
record too.
Thanks,
Sid
[1]
https://patchwork.sourceware.org/project/glibc/patch/CALoOobNE_v1z7WM5Js8-zpbuiFRr37Si0gCk13=wN2yBwDge_g@mail.gmail.com/
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-01-24 23:31 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-19 2:43 [patch] Document '%F' format specifier Paul Pluzhnikov
2023-01-23 16:42 ` Siddhesh Poyarekar
2023-01-24 17:49 ` Paul Pluzhnikov
2023-01-24 21:32 ` Siddhesh Poyarekar
2023-01-24 22:20 ` Paul Pluzhnikov
2023-01-24 23:31 ` Siddhesh Poyarekar
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 read-only IMAP folder(s) and NNTP newsgroup(s).