GNU bug report logs - #65030
30.0.50; Check keyword args of make-process

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Thu, 3 Aug 2023 06:49:01 UTC

Severity: normal

Found in version 30.0.50

Full log


Message #23 received at 65030 <at> debbugs.gnu.org (full text, mbox):

From: Mattias Engdegård <mattiase <at> acm.org>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 65030 <at> debbugs.gnu.org, eller.helmut <at> gmail.com,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#65030: 30.0.50; Check keyword args of make-process
Date: Tue, 8 Aug 2023 11:16:07 +0200
8 aug. 2023 kl. 10.52 skrev Robert Pluim <rpluim <at> gmail.com>:

> I donʼt think any of the `make-process' keywords accept keywords as
> values, but missing values tends to cause catastrophic failure, so I
> donʼt think itʼs that common a mistake.

No, the usefulness of good compiler warnings goes far beyond that. A determined programmer may eventually get something working despite an error-prone API, but decent diagnostics will speed up the process manifold by pointing out mistakes before the code is even run. (With flymake/flycheck, even faster.)

>    Mattias> The main objection is that `make-process`, due to its design, is often
>    Mattias> called indirectly using `apply` which would not trigger the
>    Mattias> application of this compiler macro, so perhaps we should improve the
>    Mattias> error handling of Fmake_process instead.
> 
> As long as that improvement results in warnings for mistakes such as
> misspelled keywords, rather than errors.

Of course not. Incorrect arguments detected at run-time should elicit errors, as they do now.
The point being that for something as complex as make-process they should be more helpful than just `wrong-type-argument`.





This bug report was last modified 1 year and 316 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.