Subject: Re: bug#26837: Wrong file in "autoloading failed to define" error

From: Glenn Morris <[email-masked]>
Date: Mon, 08 May 2017 20:04:56 -0400

Am I mistaken in the following patch to fix this, or has load not been
moving an already present file to the start of load-history since c 2005?

--- a/src/lread.c
+++ b/src/lread.c
@@ -1885,7 +1885,7 @@ PREDICATE can also be an integer to pass to the faccessat(2) function,
       /* On the first cycle, we can easily test here
 	 whether we are reading the whole buffer.  */
       if (b && first_sexp)
-	whole_buffer = (PT == BEG && ZV == Z);
+	whole_buffer = (BUF_PT (b) == BUF_BEG (b) && BUF_ZV (b) == BUF_Z (b));
 
       instream = stream;
     read_next: