0

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.

YiC
  • 115
  • 1
  • 8

1 Answers1

1

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.

lawlist
  • 19,106
  • 5
  • 38
  • 120