aboutsummaryrefslogtreecommitdiffstats
path: root/src/casefiddle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/casefiddle.c')
-rw-r--r--src/casefiddle.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/casefiddle.c b/src/casefiddle.c
index ae60d2c8dd5..6387c4bc845 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -52,6 +52,12 @@ casify_object (flag, obj)
52 | CHAR_SHIFT | CHAR_CTL | CHAR_META); 52 | CHAR_SHIFT | CHAR_CTL | CHAR_META);
53 int flags = XINT (obj) & flagbits; 53 int flags = XINT (obj) & flagbits;
54 54
55 /* If the character has higher bits set
56 above the flags, return it unchanged.
57 It is not a real character. */
58 if ((unsigned) XFASTINT (obj) > (unsigned) flagbits)
59 return obj;
60
55 c = DOWNCASE (XFASTINT (obj) & ~flagbits); 61 c = DOWNCASE (XFASTINT (obj) & ~flagbits);
56 if (inword) 62 if (inword)
57 XSETFASTINT (obj, c | flags); 63 XSETFASTINT (obj, c | flags);