summaryrefslogtreecommitdiff
path: root/doc/lispref/strings.texi
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-03-19 12:29:06 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-03-19 12:29:06 -0700
commite6fd84d2d5ca256797ff210c915a2fa773d4d742 (patch)
treeba2ba64a65705a3259a0ecb66098f834e741fb4b /doc/lispref/strings.texi
parentd86bcedd880b3cb6383641082d406075aa6e70e2 (diff)
parentab0a60a1b334fafc7d805eb44e6069ea314ad486 (diff)
downloademacs-e6fd84d2d5ca256797ff210c915a2fa773d4d742.tar.gz
Merge from origin/emacs-25
ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate... 7e02a47 Index byte-compile-debug 7c1e598 Document `byte-compile-debug' in the ELisp manual 4d81eb4 Document variable `byte-compile-debug' 72ef710 Fix call to debugger on assertion failure ae8264c Call modification hooks in org-src fontify buffers b3139da ; Fix last change in doc/lispref/strings.texi c331f39 Improve documentation of 'format' conversions 9f52f67 Remove stale functions from ert manual c416b14 Fix a typo in Eshell manual 06695a0 ; Fix a typo in ediff-merg.el 954e9e9 Improve documentation of hooks related to saving buffers 9fcab85 Improve documentation of auto-save-visited-file-name 2236c53 fix typo in mailcap-mime-extensions 85a3e4e Fix typos in flymake.el a1ef10e More NEWS checking for admin.el's set-version # Conflicts: # lisp/emacs-lisp/bytecomp.el
Diffstat (limited to 'doc/lispref/strings.texi')
-rw-r--r--doc/lispref/strings.texi35
1 files changed, 23 insertions, 12 deletions
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index cf47db4a814..ae2b31c5418 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -901,17 +901,18 @@ Functions}). Thus, strings are enclosed in @samp{"} characters, and
@item %o
@cindex integer to octal
Replace the specification with the base-eight representation of an
-integer.
+unsigned integer.
@item %d
-Replace the specification with the base-ten representation of an
+Replace the specification with the base-ten representation of a signed
integer.
@item %x
@itemx %X
@cindex integer to hexadecimal
Replace the specification with the base-sixteen representation of an
-integer. @samp{%x} uses lower case and @samp{%X} uses upper case.
+unsigned integer. @samp{%x} uses lower case and @samp{%X} uses upper
+case.
@item %c
Replace the specification with the character which is the value given.
@@ -926,8 +927,12 @@ floating-point number.
@item %g
Replace the specification with notation for a floating-point number,
-using either exponential notation or decimal-point notation, whichever
-is shorter.
+using either exponential notation or decimal-point notation. The
+exponential notation is used if the exponent would be less than -4 or
+greater than or equal to the precision (default: 6). By default,
+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.
@item %%
Replace the specification with a single @samp{%}. This format
@@ -1008,9 +1013,11 @@ both flags are used, @samp{+} takes precedence.
The flag @samp{#} specifies an alternate form which depends on
the format in use. For @samp{%o}, it ensures that the result begins
with a @samp{0}. For @samp{%x} and @samp{%X}, it prefixes the result
-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.
+with @samp{0x} or @samp{0X}. For @samp{%e} and @samp{%f}, the
+@samp{#} flag means include a decimal point even if the precision is
+zero. For @samp{%g}, it always includes a decimal point, and also
+forces any trailing zeros after the decimal point to be left in place
+where they would otherwise be removed.
The flag @samp{0} ensures that the padding consists of @samp{0}
characters instead of spaces. This flag is ignored for non-numerical
@@ -1041,10 +1048,14 @@ ignored.
All the specification characters allow an optional @dfn{precision}
before the character (after the width, if present). The precision is
a decimal-point @samp{.} followed by a digit-string. For the
-floating-point specifications (@samp{%e}, @samp{%f}, @samp{%g}), the
-precision specifies how many decimal places to show; if zero, the
-decimal-point itself is also omitted. For @samp{%s} and @samp{%S},
-the precision truncates the string to the given width, so @samp{%.3s}
+floating-point specifications (@samp{%e} and @samp{%f}), the
+precision specifies how many digits following the decimal point to
+show; if zero, the decimal-point itself is also omitted. For
+@samp{%g}, the precision specifies how many significant digits to show
+(significant digits are the first digit before the decimal point and
+all the digits after it). If the precision of %g is zero or
+unspecified, it is treated as 1. For @samp{%s} and @samp{%S}, the
+precision truncates the string to the given width, so @samp{%.3s}
shows only the first three characters of the representation for
@var{object}. For other specification characters, the effect of
precision is what the local library functions of the @code{printf}