From: Juri Linkov <juri@linkov.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 55743@debbugs.gnu.org
Subject: bug#55743: 28.1.50; No directory error in comp-run-async-workers
Date: Tue, 31 May 2022 22:49:37 +0300 [thread overview]
Message-ID: <86wne1trce.fsf@mail.linkov.net> (raw)
In-Reply-To: <83wne1h66x.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 31 May 2022 22:07:18 +0300")
>> So here are two problems: why completion sets default-directory to non-existent dir,
>
> That's the real problem.
Oh, I see, it's a known problem. In completion-setup-function:
(base-dir
;; FIXME: This is a bad hack. We try to set the default-directory
;; in the *Completions* buffer so that the relative file names
;; displayed there can be treated as valid file names, independently
;; from the completion context. But this suffers from many problems:
;; - It's not clear when the completions are file names. With some
;; completion tables (e.g. bzr revision specs), the listed
;; completions can mix file names and other things.
;; - It doesn't pay attention to possible quoting.
;; - With fancy completion styles, the code below will not always
;; find the right base directory.
(if minibuffer-completing-file-name
(file-name-as-directory
(expand-file-name
(buffer-substring (minibuffer-prompt-end) (point)))))))
...
(if base-dir (setq default-directory base-dir))
>> and why comp-run-async-workers tries to run a process in such arbitrary invalid dirs.
>
> It is not comp-run-async-workers that does it, it's the low-level
> infrastructure in subroutines of make-process: it makes sure the
> directory in which the process will run is valid, and if it isn't
> signals an error.
Shouldn't native compilation run in the directory where the emacs
source files are located instead of running in the default directory
of an arbitrary buffer that might be invalid?
next prev parent reply other threads:[~2022-05-31 19:49 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-31 17:31 bug#55743: 28.1.50; No directory error in comp-run-async-workers Juri Linkov
2022-05-31 19:07 ` Eli Zaretskii
2022-05-31 19:49 ` Juri Linkov [this message]
2022-06-01 2:33 ` Eli Zaretskii
2022-06-01 6:13 ` Juri Linkov
2022-06-01 11:16 ` Eli Zaretskii
2022-06-01 19:13 ` Juri Linkov
2022-06-01 19:49 ` Eli Zaretskii
2022-06-02 7:40 ` Juri Linkov
2022-06-02 8:02 ` Eli Zaretskii
2022-06-02 8:17 ` Lars Ingebrigtsen
2022-06-02 8:44 ` Eli Zaretskii
2022-06-02 8:51 ` Lars Ingebrigtsen
2022-06-02 10:48 ` Eli Zaretskii
2022-06-03 3:10 ` Lars Ingebrigtsen
2022-06-03 5:55 ` Eli Zaretskii
2022-06-03 8:22 ` Andreas Schwab
2022-06-03 11:43 ` Eli Zaretskii
2022-06-02 8:17 ` Andreas Schwab
2022-06-02 8:45 ` Eli Zaretskii
2022-06-02 17:30 ` Juri Linkov
2022-06-02 19:02 ` Eli Zaretskii
2022-06-03 7:49 ` Juri Linkov
2022-06-03 11:12 ` Eli Zaretskii
2022-06-01 6:10 ` Juri Linkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86wne1trce.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=55743@debbugs.gnu.org \
--cc=eliz@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).