While building on Mac OS X, this code in src/callproc.c (line 1582ish): #ifdef HAVE_NS if (data_dir == 0) data_dir == ns_etc_directory () != 0; #endif gives a warning: cc -c -Demacs -I. -I. -I../lib -I../lib -MMD -MF deps/callproc.d -MP -Wno-switch -Wno-tautological-constant-out-of-range-compare -Wno-pointer-sign -g3 -O2 callproc.c callproc.c:1582:14: warning: comparison between pointer and integer ('int' and 'const char *') data_dir == ns_etc_directory () != 0; ~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~ callproc.c:1582:37: warning: inequality comparison result unused [-Wunused-comparison] data_dir == ns_etc_directory () != 0; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ 2 warnings generated. Maybe s/==/=/ ? Looks like it was added in bzr r117829 (the huge alloca() patch). -David