diff options
| author | Paul Eggert | 2017-06-03 01:31:04 -0700 |
|---|---|---|
| committer | Paul Eggert | 2017-06-03 01:31:52 -0700 |
| commit | 0147cdd4d96f1eaeef720ee0b89bddd27eaf4233 (patch) | |
| tree | 30e3d37cad364e793b4a34d9c64d08f3244ad1fe | |
| parent | 73635edb43e0e4a31cfe8af41ccb07c32836b148 (diff) | |
| download | emacs-0147cdd4d96f1eaeef720ee0b89bddd27eaf4233.tar.gz emacs-0147cdd4d96f1eaeef720ee0b89bddd27eaf4233.zip | |
Document uniqueness limitation of ‘format’
* doc/lispref/strings.texi (Formatting Strings):
* src/editfns.c (Fformat):
Document that field numbers should be unique within a format.
| -rw-r--r-- | doc/lispref/strings.texi | 7 | ||||
| -rw-r--r-- | src/editfns.c | 7 |
2 files changed, 8 insertions, 6 deletions
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index e80e778bece..f365c80493d 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi | |||
| @@ -965,9 +965,10 @@ extra values to be formatted are ignored. | |||
| 965 | decimal number immediately after the initial @samp{%}, followed by a | 965 | decimal number immediately after the initial @samp{%}, followed by a |
| 966 | literal dollar sign @samp{$}. It causes the format specification to | 966 | literal dollar sign @samp{$}. It causes the format specification to |
| 967 | convert the argument with the given number instead of the next | 967 | convert the argument with the given number instead of the next |
| 968 | argument. Field numbers start at 1. A format can contain either | 968 | argument. Field numbers start at 1. A field number should differ |
| 969 | numbered or unnumbered format specifications but not both, except that | 969 | from the other field numbers in the same format. A format can contain |
| 970 | @samp{%%} can be mixed with numbered specifications. | 970 | either numbered or unnumbered format specifications but not both, |
| 971 | except that @samp{%%} can be mixed with numbered specifications. | ||
| 971 | 972 | ||
| 972 | @example | 973 | @example |
| 973 | (format "%2$s, %3$s, %%, %1$s" "x" "y" "z") | 974 | (format "%2$s, %3$s, %%, %1$s" "x" "y" "z") |
diff --git a/src/editfns.c b/src/editfns.c index 29af25aab4f..a5088b0a1fd 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -3901,9 +3901,10 @@ where field is [0-9]+ followed by a literal dollar "$", flags is | |||
| 3901 | followed by [0-9]+. | 3901 | followed by [0-9]+. |
| 3902 | 3902 | ||
| 3903 | If a %-sequence is numbered with a field with positive value N, the | 3903 | If a %-sequence is numbered with a field with positive value N, the |
| 3904 | Nth argument is substituted instead of the next one. A format can | 3904 | Nth argument is substituted instead of the next one. A field number |
| 3905 | contain either numbered or unnumbered %-sequences but not both, except | 3905 | should differ from the other field numbers in the same format. A |
| 3906 | that %% can be mixed with numbered %-sequences. | 3906 | format can contain either numbered or unnumbered %-sequences but not |
| 3907 | both, except that %% can be mixed with numbered %-sequences. | ||
| 3907 | 3908 | ||
| 3908 | The + flag character inserts a + before any positive number, while a | 3909 | The + flag character inserts a + before any positive number, while a |
| 3909 | space inserts a space before any positive number; these flags only | 3910 | space inserts a space before any positive number; these flags only |