Mercurial > emacs
comparison src/casefiddle.c @ 55743:4f33fa491183
(casify_object): Return OBJ unchanged if not real char.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 22 May 2004 22:19:28 +0000 |
parents | 695cf19ef79e |
children | 5407da499273 |
comparison
equal
deleted
inserted
replaced
55742:a5ccd5ee3c52 | 55743:4f33fa491183 |
---|---|
49 if (INTEGERP (obj)) | 49 if (INTEGERP (obj)) |
50 { | 50 { |
51 int flagbits = (CHAR_ALT | CHAR_SUPER | CHAR_HYPER | 51 int flagbits = (CHAR_ALT | CHAR_SUPER | CHAR_HYPER |
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 | |
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; | |
54 | 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); |
58 else if (c == (XFASTINT (obj) & ~flagbits)) | 64 else if (c == (XFASTINT (obj) & ~flagbits)) |