From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id CIl6OjBSTmearQAA62LTzQ:P1 (envelope-from ) for ; Tue, 03 Dec 2024 00:34:57 +0000 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id CIl6OjBSTmearQAA62LTzQ (envelope-from ) for ; Tue, 03 Dec 2024 01:34:57 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=wolfsden.cz header.s=mail header.b=AkRtJYKZ; dkim=pass header.d=wolfsden.cz header.s=mail header.b=GGE6mkpi; dmarc=pass (policy=none) header.from=wolfsden.cz; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1733186096; a=rsa-sha256; cv=none; b=Dg+arNiW20tFutJgfXfomTqcpHhTwDpXZUTR3awLJEosqj0Uzrxy7RUujZx4uuhEDsTaUG 5VTuwcs6YVHs9mz00T8QcIiUhfTnWF5XcvT2CMlpw0TVshQuNc9KfKeKWFv10YzN0v+0Ph IkmGdXo1S99DVVSjFWKe+DM/15B0vZRP0bCUC5Wb2wM99uUyoOawbLGhvsp8bxyQZp6/yt TdUJOw0GOVLuvqepLOBFReHENs1RYgjTb8JKluqXRV7kxik6WVVVSx7sE/ZgXVg9qsEZkH XvcnMYccZcGW59aaUUb5QsYwkc2t6d9eO691PMqJOSxbocg5BlRE0cH4oFRkUg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=wolfsden.cz header.s=mail header.b=AkRtJYKZ; dkim=pass header.d=wolfsden.cz header.s=mail header.b=GGE6mkpi; dmarc=pass (policy=none) header.from=wolfsden.cz; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1733186096; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=0D1Otrn4UfCUoyd5tx8Uw+ZZYADYAJZzy3IpO6pwXfo=; b=jNGuICwP2RitxfFUbSRQ2S54x3xLaMzEKf3piRPWPDoCLcaHrL9g6ZX3BN7C4eM+ZTF3Uf fG9B+pbBzy+0QopYPcsREtxTOATvvSv8cYTREA41LxdISe+U8OLCu7D3/0K9reZ/HZPH5E Ud5wCALvnRly21oUNsii0328fXQLIuaw9ohWZ0mQ8jGQTu2WiQ4qy2CNsX6eNO7Mkexf4E cLWqg0OvEAWEBf7ptvUctXHGVA2Q29hzse8UzpmaoUzDSTyssLgC7PRTIfjwhyEdd/0RoF qY7wOGzzrwonkXrIMGr42Zg3AJqpdO/Wy7ZcXqG2eRSvYk4ImkTdjlxCM17t2A== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A59BF87C3D for ; Tue, 03 Dec 2024 01:34:56 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tIGs8-0006ah-7R; Mon, 02 Dec 2024 19:34:36 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <~@wolfsden.cz>) id 1tIGs7-0006aO-5e for guix-devel@gnu.org; Mon, 02 Dec 2024 19:34:35 -0500 Received: from wolfsden.cz ([37.205.8.62]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <~@wolfsden.cz>) id 1tIGs4-0007k7-WC for guix-devel@gnu.org; Mon, 02 Dec 2024 19:34:34 -0500 Received: by wolfsden.cz (Postfix, from userid 104) id 712D1325DD7; Tue, 3 Dec 2024 00:34:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1733186070; bh=1BmvZnkYN51UF/n3H0qCPpfA1oI4hBesbQ9cow6ELtU=; h=From:To:Subject:Date; b=AkRtJYKZXRdJ7r6xvfj+aKjBVjeUVeuydoeR3gHls5h93hGnLHuewR72lttRyYG7V b15lyi3NC90SSoUK1AqThDcVgb9E/GSmXISgnhAKUQFMSKXGTcRG4lvHJDGL9VMJrT MMj2I7XE4LU6VWyd9SNrc5TXlit8ZlzRH5mpdDklcRPMnAoYn4T+BamC0kdvRxm0sP qQjcaiSzsBTYOdwMi716giTojuGWTT5ADq/sf5SEIoaxjC+ItyU0N0BznDW6nzBMZS 1ruzArFqvpKtqwLZMaqnm1i/4zYYmckB3hzMqujEzFBSCospgDdqhOTvthVcGj0ckQ QFofm4lMUUCC7EbyohU32RvkK7SMoLjh0qmMKUx1x8AMtI0JAH2fT7cgzK6d3YohLs CPRE8+0MwKKXupBvF5ZdyeVZQtYKN2G39/74TQTQRODO5ueqnY3vfR6ROE3/zazo2H QLK9NtVjALRaM7rwPONLDhbctH4/adzuwyxT+fqfae3qCSflWNWOvsQ7bNpe9j/i03 /QHLqM6ZGcNO8gjXKjI1oqBsX3zFvOw3s7VRMFJfc6b+pjJCazFhbsDYrTw8hIh2DN MEa37mywT0rTPAo1QTLElTFrcCHjJuEPnI53MTLFDwKoX9UmuPdoWOpDdy8IWfWLqG uPYHY5OswU/sisH8KuaL/Bkk= Received: from localhost (unknown [128.0.188.242]) by wolfsden.cz (Postfix) with ESMTPSA id E4021326343 for ; Tue, 3 Dec 2024 00:34:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1733186069; bh=1BmvZnkYN51UF/n3H0qCPpfA1oI4hBesbQ9cow6ELtU=; h=From:To:Subject:Date; b=GGE6mkpithEAY2VRPGLv+X4qrE/DdH2SKEPlMyZxt1VxAC8R34PMXc/4Ez1qgcxwc rqGbVXQRXmQw7dlGkNAqk00MM0GO15ClyzJpyzMS/lDjuz+IateH0cN2O9/O9IHl8Q khyHHtDo3sUgZ3vIAkgqSL5qVjxlAZ+J7bbnYDAwhkv+rVKWUHQ99tHKkl6B1UFvns QFdMYmeftCQGDAN3KmdYQ8rZcyifj7IurQRTrms8sQrqBpmJ864Wa3wFkcm/MJzQwb OswuNs73aW6eBloHrmRY+cmirgXOIliTV6UJMBW8CRsfKax5czMIwT3NW6N4jEEB2k /RKUb+S1PCjAjDxvSYaT65YvV3jsuqn9dxStQNXNdsI8QGsNJzt41YfIMY0ORCelyI 8JqOgakWOajHQt/KeiE72ee4HGcJrI/zkx0T8IJcTAVQLrgUxdVGwQIuOlqJGdsSFx w7ZKy0mofxMSjEmN/dnpIzYiiBY3WTg2w+ex1lVyy8JjQlQn3kzKRwx0u8itgGIJ15 nke5GLzEqcjs+YkO+dVey8Xu3SD2qLLt0rSnHRZonsPRzMq2hpoERoE/tyIxitgeLf HbjFXWDHxZH0GBPYSpKsL6KZfElQ+33PGg2acmN8DImqBtJ+94FrMp8VNt7gpxoUyV FAZ38x46QMi0LTY1uLDUnuc4= From: Tomas Volf <~@wolfsden.cz> To: guix-devel@gnu.org Subject: Regarding the vertical alignment in the record definitions Mail-Followup-To: guix-devel@gnu.org Date: Tue, 03 Dec 2024 01:34:29 +0100 Message-ID: <87frn538q2.fsf@wolfsden.cz> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=37.205.8.62; envelope-from=~@wolfsden.cz; helo=wolfsden.cz X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -8.02 X-Spam-Score: -8.02 X-Migadu-Queue-Id: A59BF87C3D X-Migadu-Scanner: mx10.migadu.com X-TUID: r/NBDLBYC9HZ --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Hello Guix, I would like to bring up for debate the convention the project has of vertically aligning the record definitions. While I agree it lead to visually pleasing code, I also leads to significantly bloated diffs. While some amount of noise in diffs is expected in any lisp language (the trailing `)'), the vertical aligning makes it worse. It (in my opinion) complicates both reviewing and re-basing (due to merge conflicts). For example, take this patch I sent today. It adds *a single field* to the record. However the patch (that someone needs to review and make sure is correct) looks like this: =2D-8<---------------cut here---------------start------------->8--- @@ -1246,44 +1247,49 @@ (define-deprecated (agetty-service config) (define-record-type* mingetty-configuration make-mingetty-configuration mingetty-configuration? =2D (mingetty mingetty-configuration-mingetty ;file-like =2D (default mingetty)) =2D (tty mingetty-configuration-tty) ;string =2D (auto-login mingetty-configuration-auto-login ;string | #f =2D (default #f)) =2D (login-program mingetty-configuration-login-program ;gexp =2D (default #f)) =2D (login-pause? mingetty-configuration-login-pause? ;Boolean =2D (default #f)) =2D (clear-on-logout? mingetty-configuration-clear-on-logout? ;Boolean =2D (default #t)) =2D (delay mingetty-configuration-delay ;Integer | #f =2D (default #f)) =2D (print-issue mingetty-configuration-print-issue ;Boolean | Symbol =2D (default #t)) =2D (print-hostname mingetty-configuration-print-hostname ;Boolean | Sym= bol =2D (default #t)) =2D (nice mingetty-configuration-nice ;Integer | #f =2D (default #f)) =2D (chdir mingetty-configuration-chdir ;String | #f =2D (default #f)) =2D (chroot mingetty-configuration-chroot ;String | #f =2D (default #f))) + (mingetty mingetty-configuration-mingetty ;file-like + (default mingetty)) + (tty mingetty-configuration-tty) ;string + (auto-login mingetty-configuration-auto-login ;string | #f + (default #f)) + (login-program mingetty-configuration-login-program ;gexp + (default #f)) + (login-pause? mingetty-configuration-login-pause? ;Boolean + (default #f)) + (clear-on-logout? mingetty-configuration-clear-on-logout? ;Boolean + (default #t)) + (delay mingetty-configuration-delay ;Integer | #f + (default #f)) + (print-issue mingetty-configuration-print-issue ;Boolean | Symb= ol + (default #t)) + (print-hostname mingetty-configuration-print-hostname ;Boolean | S= ymbol + (default #t)) + (nice mingetty-configuration-nice ;Integer | #f + (default #f)) + (chdir mingetty-configuration-chdir ;String | #f + (default #f)) + (chroot mingetty-configuration-chroot ;String | #f + (default #f)) + (shepherd-requirement mingetty-configuration-shepherd-requirement + ;; Since the login prompt shows the host name, wait + ;; for the 'host-name' service to be done. Also w= ait + ;; for udev essentially so that the tty text is not + ;; lost in the middle of kernel messages (XXX). + (default '( user-processes host-name udev + virtual-terminal)))) =2D-8<---------------cut here---------------end--------------->8--- But it could have look like this: =2D-8<---------------cut here---------------start------------->8--- @@ -1268,23 +1269,27 @@ (define-record-type* (working-directory mingetty-configuration-working-directory ;String | #f (default #f)) (root-directory mingetty-configuration-root-directory ;String | #f =2D (default #f))) + (default #f)) + (shepherd-requirement mingetty-configuration-shepherd-requirement + ;; Since the login prompt shows the host name, wait + ;; for the 'host-name' service to be done. Also w= ait + ;; for udev essentially so that the tty text is not + ;; lost in the middle of kernel messages (XXX). + (default '( user-processes host-name udev + virtual-terminal)))) =2D-8<---------------cut here---------------end--------------->8--- I would like to hear what people who review lot of patches think about this. Does it make your life worse? Does it not matter? Or does it even help you in some way? Thank you for your time and have a nice day, Tomas =2D-=20 There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJCBAEBCgAsFiEEt4NJs4wUfTYpiGikL7/ufbZ/wakFAmdOUhUOHH5Ad29sZnNk ZW4uY3oACgkQL7/ufbZ/wanZghAAl3Za7c7TPCATx7kCcxjscGNcxzTfUSVagPDH +x0TzDu9LtAIo47mokjxOjHyAvUdhsjXIr2tI6qf1DsnBTZMg10+yStcbMiXosJK +AGQ0MWDMyKPH/6lPKMY1j7aYiOs5r+ebjA3yD3nPd47KYP0pNqJpKYS+TX70hsz uLZi13OfJQFVu5kuqTkEvMcjYqQPguXhGybyliECQdKh1r5///2iAS4FhgH/zZ56 3UpcF80wOowwnP67izS65QIErRPdPJwkEjLiQ1CJ3uPouJelEvpcJYrx96uiqbUF nZ/fQ6RhYnMSH7GanWdjmLLlDXgIMVQBVFZWMsKIJPpzJG6ym/xt4arUci8F5POE 0xnticWdE9OQYnOSuz+rPXaDikQoS1EDfc1375kNAKa/LprardB84iga7PCuYdHv PVgchb93mhOb09YdagkdeFyQ1EyxOD0UaTXyFSuM4fsOzYlr7Ar/qxYi//de6CQD xQMMZkHJCO2/XSRvNwaDoMqjOBjBTFk56SWpmwVizES9vgdtpYPuurLSosakxaqc VeiAFg7uhKKCtaon0zQ+1eKifDk0xoQbTtynw34wDSbQugvmRWRK+fMzG0ZhBVEW /nfjKB9nO7VloW7SZkHTIllDYww9H+nL8VQWqd5LHlOobAqnbRIS/Rh+RCT2Efmy D6rY138= =UYdJ -----END PGP SIGNATURE----- --=-=-=--