Out-of-datedness .elc check is merely a file test

* src/fileio.c (file_test_errno): Now extern.
* src/lread.c (Fload): Use file_test_errno instead,
since this is really just a file test (the attributes
are not given to the user).
This commit is contained in:
Paul Eggert 2019-09-18 05:17:03 -07:00
parent 98586c2fe6
commit 9597ee68d9
4 changed files with 4 additions and 3 deletions

View file

@ -2009,7 +2009,7 @@ longer defaults to 'buffer-file-name'.
** File metadata primitives now signal an error if I/O, access, or
other serious errors prevent them from determining the result.
Formerly, these functions often (though not always) returned nil.
For example, if the directory /etc/firewalld is not searchable,
For example, if searching /etc/firewalld results in an I/O error,
(file-symlink-p "/etc/firewalld/firewalld.conf") now signals an error
instead of returning nil, because file-symlink-p cannot determine
whether a symbolic link exists there. These functions still behave as

View file

@ -265,7 +265,7 @@ file_attribute_errno (Lisp_Object file, int err)
enum { PICKY_EACCES = false };
#endif
static Lisp_Object
Lisp_Object
file_test_errno (Lisp_Object file, int err)
{
if (!PICKY_EACCES && err == EACCES)

View file

@ -4315,6 +4315,7 @@ extern AVOID report_file_errno (const char *, Lisp_Object, int);
extern AVOID report_file_error (const char *, Lisp_Object);
extern AVOID report_file_notify_error (const char *, Lisp_Object);
extern Lisp_Object file_attribute_errno (Lisp_Object, int);
extern Lisp_Object file_test_errno (Lisp_Object, int);
extern bool internal_delete_file (Lisp_Object);
extern Lisp_Object check_emacs_readlinkat (int, Lisp_Object, char const *);
extern bool file_directory_p (Lisp_Object);

View file

@ -1358,7 +1358,7 @@ Return t if the file exists and loads successfully. */)
make_fixnum (-1));
}
if (result != 0)
file_attribute_errno (found, err);
file_test_errno (found, err);
else if (timespec_cmp (get_stat_mtime (&s1),
get_stat_mtime (&s2))
< 0)