* coding.c (EMIT_ONE_BYTE, EMIT_TWO_BYTES): Use unsigned, not int.
This avoids several warnings with gcc -Wstrict-overflow.
+ (DECODE_COMPOSITION_RULE): If the rule is invalid, goto invalid_code
+ directly, rather than having caller test rule sign. This avoids
+ some unnecessary tests.
+ * composite.h (COMPOSITION_ENCODE_RULE_VALID): New macro.
+ (COMPOSITION_ENCODE_RULE): Arguments now must be valid. This
+ affects only one use, in DECODE_COMPOSITION_RULE, which is changed.
* xfont.c (xfont_text_extents): Remove var that was set but not used.
(xfont_open): Avoid unnecessary tests.