1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

* Do not check eln timestamp as superseded by source hashing (bug#43532)

* src/lread.c (maybe_swap_for_eln): Remove eln file timestamp
	check given is now unnecessary.
	(openp): Update for new 'maybe_swap_for_eln' signature.
This commit is contained in:
Andrea Corallo 2020-10-15 12:32:58 +02:00
parent f8505fd3d4
commit 03dfa83dc3

View file

@ -1589,7 +1589,7 @@ directories, make sure the PREDICATE function returns `dir-ok' for them. */)
If found replace the content of FILENAME and FD. */
static void
maybe_swap_for_eln (Lisp_Object *filename, int *fd, struct timespec mtime)
maybe_swap_for_eln (Lisp_Object *filename, int *fd)
{
#ifdef HAVE_NATIVE_COMP
struct stat eln_st;
@ -1621,19 +1621,13 @@ maybe_swap_for_eln (Lisp_Object *filename, int *fd, struct timespec mtime)
emacs_close (eln_fd);
else
{
struct timespec eln_mtime = get_stat_mtime (&eln_st);
if (timespec_cmp (eln_mtime, mtime) > 0)
{
*filename = eln_name;
emacs_close (*fd);
*fd = eln_fd;
/* Store the eln -> el relation. */
Fputhash (Ffile_name_nondirectory (eln_name),
src_name, Vcomp_eln_to_el_h);
return;
}
else
emacs_close (eln_fd);
*filename = eln_name;
emacs_close (*fd);
*fd = eln_fd;
/* Store the eln -> el relation. */
Fputhash (Ffile_name_nondirectory (eln_name),
src_name, Vcomp_eln_to_el_h);
return;
}
}
}
@ -1878,7 +1872,7 @@ openp (Lisp_Object path, Lisp_Object str, Lisp_Object suffixes,
}
else
{
maybe_swap_for_eln (&string, &fd, get_stat_mtime (&st));
maybe_swap_for_eln (&string, &fd);
/* We succeeded; return this descriptor and filename. */
if (storeptr)
*storeptr = string;
@ -1890,7 +1884,7 @@ openp (Lisp_Object path, Lisp_Object str, Lisp_Object suffixes,
/* No more suffixes. Return the newest. */
if (0 <= save_fd && ! CONSP (XCDR (tail)))
{
maybe_swap_for_eln (&save_string, &save_fd, save_mtime);
maybe_swap_for_eln (&save_string, &save_fd);
if (storeptr)
*storeptr = save_string;
SAFE_FREE ();