Unfortunately that change causes the emacs-26 build to fail for me: make[1]: Entering directory '/home/eggert/src/gnu/emacs/emacs-26-sc/src' CC character.o In file included from character.c:34:0: character.c: In function ‘char_width’: lisp.h:1682:11: error: ‘c’ may be used uninitialized in this function [-Werror=maybe-uninitialized] ? ((a) + (unsigned) 0) op ((b) + (unsigned) 0) \ ^ character.c:292:10: note: ‘c’ was declared here int c; ^ cc1: all warnings being treated as errors Makefile:376: recipe for target 'character.o' failed Although the attached patch fixes this and presumably speeds up the code a bit when optimized, is this the right thing to do? I have not looked into the code carefully.