Subject: bug#62004: 30.0.50; comp-run-async-workers failure when default-directory deleted

From: Eli Zaretskii <[email-masked]>
Date: Mon, 06 Mar 2023 18:49:09 +0200

> From: No Wayman <[email-masked]>
> Date: Mon, 06 Mar 2023 10:48:58 -0500
> 
> 
> A corner case I've recently run into with comp-run-async-workers:
> 
> 1. create a non-empty elisp file at /tmp/dir/test.el
> 2. visit /tmp/dir/test.el
> 3. delete /tmp/dir/
> 4. from within the test.el buffer `M-x 
> emacs-lisp-native-compile-and-load`
> 
> The process will fail with:
> 
> > /tmp/dir/test.el: Opening input file, No such file or directory, 
> > /tmp/dir/test.el
> 
> A similar edge case is accounted for when the buffer has no 
> associated file.
> e.g. attempting emacs-lisp-native-compile-and-load from the 
> *scratch* buffer results in the user error: 
> 
> > The buffer must be saved in a file first.
> 
> Perhaps a similar check should be made in the case described 
> above.

That's not the same check: the latter checks whether the buffer visits
a file, which in the former case is true.

I'm not sure we should do anything here: after all, the error message
tells what's wrong quite clearly.  Andrea, WDYT?