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

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.

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.36, cairo version 1.17.8) of 2023-02-06 built on nbook
Repository revision: 907fd1f7ff402f9d226ebb3b891ea5b54fac1d1c
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 
11.0.12101006
System Description: Arch Linux