I found if remove first '\n' from the *str,then run emacs will not hang.* *May be it has nothing to do with font-lock, just str parsing ?* (let ((str "#define SLOGE(...)\n ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_ERROR, LOG_TAG,\n change to (let ((str "#define SLOGE(...) ((void)__android_log_buf_print(LOG_ID_SYSTEM, ANDROID_LOG_ERROR, LOG_TAG,\n