this message shows up on Emacs startup. what does it mean and how to get rid of it?

Source file ‘c:/Users/jcao/AppData/Local/emacs-26.1-x86_64/share/emacs/26.1/lisp/progmodes/python.el’ newer than byte-compiled file

btw, my setting folder is C:\Users\...\AppData\Roaming\.emacs.d and I recently made some changes there.


In general, such a message appears when a user modifies a Lisp file after it has been byte-compiled. There might be as many as three types of files relating to the same library; e.g., python.el.gz (compressed archive), python.el (flat text file) and python.elc (byte-compiled file). Perhaps a user visits a library to look at how a function or variable is defined (e.g., with find-library, find-function, find-variable, find-face, etc.) and inadvertently modifies and saves the file.

If the modifications to the library are desired, then go ahead and re-byte-compile the file with M-x byte-compile-file and type in the absolute path to the file. Another way to accomplish this is to visit the directory in dired-mode, place the cursor on the file to be byte-compiled, and press the capital letter "B" which is bound to dired-do-byte-compile.

If the modifications to the library are not desired, then restore the original *.el file by extracting a new one from the zipped archive, or obtaining the original from the source files used to build the executable. If the *.el file is newer than the *.elc file, then re-byte-compile as indicated above.

There are other likely reasons such a inadvertently touching the file with something like the touch command ... if no revisions to the file, then just re-byte-compile as indicated above.

| improve this answer | |
  • Thanks @lawlist for your help! – YiC Feb 12 at 18:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.