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.