[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>.

From: Ludovic Courtès
Subject: [bug#29745] [PATCH 0/3] Disallow phase returning <unspecified>.
Date: Sun, 17 Dec 2017 17:55:15 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux)


Arun Isaac <address@hidden> skribis:

> Patch 1 modifies gnu-build-system to explicitly check the return value of each
> phase for an unspecified value, and if found consider that phase to have
> failed.
> Patch 2 fixes several phases in gnu-build-system by making them return #t
> instead of an unspecified value.
> Patch 3 fixes the phases in several packages to return #t instead of an
> unspecified value. I was testing patch 1, by trying to build bash. In doing
> so, I found that the custom phases of many packages were not properly
> returning #t, and fixed all those packages. No doubt, there are many more
> packages that need fixing.
> Arun Isaac (3):
>   build: gnu-build-system: Disallow phase returning <unspecified>.
>   build: gnu-build-system: Return #t from phases.
>   gnu: Return #t from phases.

Even though I think it’s a good idea to explicitly return a Boolean
value from build phases for clarity, I’m reluctant to patch 1.  My
objection is that it ends up defining a notion of “true” that’s
different from that of Scheme (in Scheme, #f is the only false value;
everything else is true, including “the unspecified value”—see
“Disjointness of types” in the R5RS.)

Patches 2 and 3 LGTM.

However, ‘core-updates’ is supposedly frozen right now (I’m Cc’ing
Marius who is the de facto ‘core-updates’ manager :-)).  So perhaps we
should hold on until the next ‘core-updates’ is open.

What do people think?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]