From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: [PATCH 0/2] emacs: Add "M-x guix-package-from-file. Date: Sun, 8 May 2016 13:51:00 +0300 Message-ID: <1462704662-18972-1-git-send-email-alezost@gmail.com> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36986) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azMIq-0005RA-1W for guix-devel@gnu.org; Sun, 08 May 2016 06:51:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1azMIl-00079d-Pu for guix-devel@gnu.org; Sun, 08 May 2016 06:51:10 -0400 Received: from mail-lf0-x241.google.com ([2a00:1450:4010:c07::241]:36396) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1azMIl-00079X-HB for guix-devel@gnu.org; Sun, 08 May 2016 06:51:07 -0400 Received: by mail-lf0-x241.google.com with SMTP id y84so18084130lfc.3 for ; Sun, 08 May 2016 03:51:07 -0700 (PDT) Received: from localhost.localdomain ([217.107.192.156]) by smtp.gmail.com with ESMTPSA id h16sm4351600lfb.7.2016.05.08.03.51.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 08 May 2016 03:51:05 -0700 (PDT) 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: guix-devel@gnu.org This is to add an Emacs companion of "guix build --file" and "guix package --install-from-file". Patches: [PATCH 1/2] emacs: main: Remove top-level package tables. This patch finally rewrites that part of code in a functional style. Many thanks to Ludovic for past comments on using 'delay' and vhashes. [PATCH 2/2] emacs: Add 'guix-package-from-file' command. And this patch partially breaks the functional style. A new package (from an arbitrary file) must be registered in a table of packages, so that it can be addressed later (for example, if a user would want to install it). So this is done using not very functional 'set!' in 'register-package' procedure (at least it sets a local variable). Is there a better way to write this?