From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: question regarding substitute* and #t Date: Wed, 24 Jan 2018 08:28:06 -0500 Message-ID: <87h8rbtmhl.fsf@netris.org> References: <20180124010802.18874.3012@vcs0.savannah.gnu.org> <20180124010803.590AF2068F@vcs0.savannah.gnu.org> <874lnbzck5.fsf_-_@netris.org> <87372v8ndd.fsf_-_@igalia.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60773) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eeL6X-00074H-KD for guix-devel@gnu.org; Wed, 24 Jan 2018 08:28:42 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eeL6U-0006uc-Ff for guix-devel@gnu.org; Wed, 24 Jan 2018 08:28:41 -0500 Received: from world.peace.net ([50.252.239.5]:40754) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eeL6U-0006tZ-B3 for guix-devel@gnu.org; Wed, 24 Jan 2018 08:28:38 -0500 In-Reply-To: <87372v8ndd.fsf_-_@igalia.com> (Andy Wingo's message of "Wed, 24 Jan 2018 13:14:38 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Andy Wingo Cc: guix-devel@gnu.org Hi Andy, Andy Wingo writes: > On Wed 24 Jan 2018 13:06, Mark H Weaver writes: > >> + ;; Install to the right directory >> + (substitute* '("Makefile" >> + "Qsci/Makefile") >> + (("\\$\\(INSTALL_ROOT\\)/gnu/store/[^/]+") >> + (assoc-ref outputs "out"))) >> + #t))))) > > I guess once we switch over all instances of "system" and "system*" to > use invoke, does that mean we will also be able to remove these > vestigial "#t" returns? After we switch to using 'invoke' everywhere, or more precisely, after we arrange to never return #false from any phase or snippet, then there should be one more step before removing the vestigial #true returns: we should change the code that calls phases or snippets to ignore the value(s) returned by those procedures. When that is done, then the #t's will truly be vestigial. Does that make sense? Mark