Hi all: When editing a file in Emacs and switching git branches, sometimes a file will be removed but Emacs won't detect it. Unlike modified files it will ask me to revert, deleted files are not. Is it intentional? After a while I found this behavior exists from the very beginning trace back to 1991-01-14 RMS's original code in filelock.c, function "lockfile": { register Lisp_Object subject_buf = Fget_file_buffer (fn); if (!NULL (subject_buf) && NULL (Fverify_visited_file_modtime (subject_buf)) && !NULL (Ffile_exists_p (fn))) /// <<<<<< HERE <<<<<<<<< call1 (intern ("ask-user-about-supersession-threat"), fn); } It then later changed by Jim Blandy on 1992-01-13 to change "NULL" to "NILP": if (!NILP (subject_buf) && NILP (Fverify_visited_file_modtime (subject_buf)) && !NILP (Ffile_exists_p (fn))) /// <<<<<<< HERE <<<<<<<<< call1 (intern ("ask-user-about-supersession-threat"), fn); Should we now consider remove the last condition "&& !NILP (Ffile_exists_p (fn))" to make Emacs able to detect file deletion? Thanks. -- Best regards, Luke Lee