aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
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 {