Commit 83a96c08 authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

Warn against using `length' to compute display width of a string.

 doc/lispref/strings.texi (String Basics):
 doc/lispref/sequences.texi (Sequence Functions): Mention that `length' is
 not appropriate for computing the string width on display; add a
 cross-reference to the description of `string-width'.  (Bug#10978)
parent b9e501de
2012-03-10 Eli Zaretskii <eliz@gnu.org>
* strings.texi (String Basics):
* sequences.texi (Sequence Functions): Mention that `length' is
not appropriate for computing the string width on display; add a
cross-reference to the description of `string-width'. (Bug#10978)
* eval.texi (Autoloading): Minor change of wording.
2012-03-10 Chong Yidong <cyd@gnu.org>
......
......@@ -108,6 +108,11 @@ Emacs character code.
@noindent
See also @code{string-bytes}, in @ref{Text Representations}.
If you need to compute the width of a string on display, you should
use @code{string-width} (@pxref{Width}), not @code{length}, since
@code{length} only counts the number of characters, but does not
account for the display width of each character.
@defun elt sequence index
@cindex elements of sequences
This function returns the element of @var{sequence} indexed by
......
......@@ -51,7 +51,9 @@ C are terminated by a character with @acronym{ASCII} code 0.)
operate on them with the general array and sequence functions.
(@xref{Sequences Arrays Vectors}.) For example, you can access or
change individual characters in a string using the functions @code{aref}
and @code{aset} (@pxref{Array Functions}).
and @code{aset} (@pxref{Array Functions}). However, note that
@code{length} should @emph{not} be used for computing the width of a
string on display; use @code{string-width} (@pxref{Width}) instead.
There are two text representations for non-@acronym{ASCII} characters in
Emacs strings (and in buffers): unibyte and multibyte (@pxref{Text
......
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