Commit 65c6c6b6 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

(Formatting Strings): Warn against arbitrary strings as first arg to `format'.

parent 6f64cebf
2006-08-04 Eli Zaretskii <>
* strings.texi (Formatting Strings): Warn against arbitrary
strings as first arg to `format'.
2006-07-31 Thien-Thi Nguyen <>
* text.texi (Clickable Text): Mention `help-echo' text property.
......@@ -701,7 +701,6 @@ arguments @var{objects} are the computed values to be formatted.
The characters in @var{string}, other than the format specifications,
are copied directly into the output; if they have text properties,
these are copied into the output also.
@end defun
@cindex @samp{%} in format
......@@ -719,6 +718,17 @@ For example:
@end group
@end example
Since @code{format} interprets @samp{%} characters as format
specifications, you should @emph{never} pass an arbitrary string as
the first argument. This is particularly true when the string is
generated by some Lisp code. Unless the string is @emph{known} to
never include any @samp{%} characters, pass @code{"%s"}, described
below, as the first argument, and the string as the second, like this:
(format "%s" @var{arbitrary-string})
@end example
If @var{string} contains more than one format specification, the
format specifications correspond to successive values from
@var{objects}. Thus, the first format specification in @var{string}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment