From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Subject: [PATCH 0/6] Error reporting and hints for missing modules Date: Wed, 8 Nov 2017 14:09:15 +0100 Message-ID: <20171108130921.25202-1-ludo@gnu.org> References: <87zi7xwvso.fsf_-_@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:55030) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eCQ6v-0006Wn-On for guix-devel@gnu.org; Wed, 08 Nov 2017 08:09:47 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eCQ6u-0004QH-RJ for guix-devel@gnu.org; Wed, 08 Nov 2017 08:09:41 -0500 In-Reply-To: <87zi7xwvso.fsf_-_@gnu.org> 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 Hi! Here’s an improved version that supports hints (with Texinfo markup and i18n) and error reporting with source location info. Hints try to make suggestions. If you write: (use-package-modules qemu) You’ll get: configuration.scm:7:0: error: module (gnu packages qemu) not found hint: Did you mean `(use-package-modules virtualization)'? If you write: (use-service-modules openssh) You get: configuration.scm:9:0: error: module (gnu services openssh) not found hint: Did you mean `(use-service-modules ssh)'? The “did you mean” hints are based on exact matches on the package or service names. We could go as far as doing inexact searches akin to what “guix package -s” and “guix system search” do, but maybe that’s overkill given that the suggestions could be wrong. Anyway, I think that’s already an improvement and we can always refine it later. Thoughts? Ludo’. Ludovic Courtès (6): ui: Introduce (guix i18n). ui: Define and honor '&error-location' and '&fix-hint' conditions. services: 'fold-service-types' honors its seed. services: 'fold-service-types' includes (gnu services). services: Add 'lookup-service-types'. gnu: Improve error reporting of the use-.*modules macros. Makefile.am | 1 + gnu.scm | 100 ++++++++++++++++++++++++++++++++++++++++++++++++--- gnu/services.scm | 20 +++++++++-- guix/i18n.scm | 51 ++++++++++++++++++++++++++ guix/ui.scm | 50 ++++++++++++-------------- guix/utils.scm | 17 +++++++++ po/guix/POTFILES.in | 1 + tests/guix-system.sh | 28 +++++++++++++++ tests/services.scm | 10 +++++- 9 files changed, 243 insertions(+), 35 deletions(-) create mode 100644 guix/i18n.scm -- 2.15.0