aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2001-07-13 09:30:21 +0000
committerGerd Moellmann2001-07-13 09:30:21 +0000
commitea9dd0918aad62a102f3493b05dd16b965c2bb8b (patch)
tree752c746fa24fe59c19d786161d6c5c05c41784fe /src
parent176c92e68fcb0d692cb085f641d0fd6a3833c4ab (diff)
downloademacs-ea9dd0918aad62a102f3493b05dd16b965c2bb8b.tar.gz
emacs-ea9dd0918aad62a102f3493b05dd16b965c2bb8b.zip
(get_next_display_element): Use CHAR_STRING_NO_SIGNAL
instead of CHAR_STRING which can signal an error.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index fb148ee8200..ba9e08dba49 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -4227,7 +4227,22 @@ get_next_display_element (it)
4227 if (SINGLE_BYTE_CHAR_P (it->c)) 4227 if (SINGLE_BYTE_CHAR_P (it->c))
4228 str[0] = it->c, len = 1; 4228 str[0] = it->c, len = 1;
4229 else 4229 else
4230 len = CHAR_STRING (it->c, str); 4230 {
4231 len = CHAR_STRING_NO_SIGNAL (it->c, str);
4232 if (len < 0)
4233 {
4234 /* It's an invalid character, which
4235 shouldn't happen actually, but due to
4236 bugs it may happen. Let's print the char
4237 as is, there's not much meaningful we can
4238 do with it. */
4239 str[0] = it->c;
4240 str[1] = it->c >> 8;
4241 str[2] = it->c >> 16;
4242 str[3] = it->c >> 24;
4243 len = 4;
4244 }
4245 }
4231 4246
4232 for (i = 0; i < len; i++) 4247 for (i = 0; i < len; i++)
4233 { 4248 {