From a9ab721e7fdbedd15e520f74c9c90154a8c36669 Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Sun, 3 Jul 2011 15:02:43 +0200 Subject: [PATCH] Clarify what the "-" and "0" flags mean in the `format' function (bug#6659). --- doc/lispref/ChangeLog | 3 +++ doc/lispref/strings.texi | 14 ++++++++------ src/ChangeLog | 4 ++++ src/editfns.c | 3 ++- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f96ecc30c5..f2206cd78e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,8 @@ 2011-07-03 Lars Magne Ingebrigtsen + * strings.texi (Formatting Strings): Clarify what the "-" and "0" + flags mean (bug#6659). + * functions.texi (What Is a Function): Document the autoload object (bug#6496). diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 05ac40e90c..2b8911277c 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -856,14 +856,16 @@ with @samp{0x} or @samp{0X}. For @samp{%e}, @samp{%f}, and @samp{%g}, the @samp{#} flag means include a decimal point even if the precision is zero. + The flag @samp{0} ensures that the padding consists of @samp{0} +characters instead of spaces. This flag is ignored for non-numerical +specification characters like @samp{%s}, @samp{%S} and @samp{%c}. +These specification characters accept the @samp{0} flag, but still pad +with @emph{spaces}. + The flag @samp{-} causes the padding inserted by the width specifier, if any, to be inserted on the right rather than the left. -The flag @samp{0} ensures that the padding consists of @samp{0} -characters instead of spaces, inserted on the left. These flags are -ignored for specification characters for which they do not make sense: -@samp{%s}, @samp{%S} and @samp{%c} accept the @samp{0} flag, but still -pad with @emph{spaces} on the left. If both @samp{-} and @samp{0} are -present and valid, @samp{-} takes precedence. +If both @samp{-} and @samp{0} are present, the @samp{0} flag is +ignored. @example @group diff --git a/src/ChangeLog b/src/ChangeLog index d77a246a50..ad5b9c41c3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2011-07-03 Lars Magne Ingebrigtsen + + * editfns.c (Fformat): Clarify the - and 0 flags (bug#6659). + 2011-07-03 Paul Eggert * xsettings.c (SYSTEM_FONT): Define only when used. diff --git a/src/editfns.c b/src/editfns.c index 5328b714b0..c470c9be98 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -3557,7 +3557,8 @@ The width specifier supplies a lower limit for the length of the printed representation. The padding, if any, normally goes on the left, but it goes on the right if the - flag is present. The padding character is normally a space, but it is 0 if the 0 flag is present. -The - flag takes precedence over the 0 flag. +The 0 flag is ignored if the - flag is present, or the format sequence +is something other than %d, %e, %f, and %g. For %e, %f, and %g sequences, the number after the "." in the precision specifier says how many decimal places to show; if zero, the -- 2.20.1