From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id AKNoOkvIdGPRSQEAbAwnHQ (envelope-from ) for ; Wed, 16 Nov 2022 12:23:56 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id WNV/OUvIdGMyWgEAG6o9tA (envelope-from ) for ; Wed, 16 Nov 2022 12:23:55 +0100 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 C52783D560 for ; Wed, 16 Nov 2022 12:23:54 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ovGVq-0000WY-KP; Wed, 16 Nov 2022 06:23:26 -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 ) id 1ovGVo-0000WE-1q for help-guix@gnu.org; Wed, 16 Nov 2022 06:23:24 -0500 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ovGVl-00007n-0l for help-guix@gnu.org; Wed, 16 Nov 2022 06:23:23 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id ABD61240026 for ; Wed, 16 Nov 2022 12:23:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1668597795; bh=Fv3+Ck1kz0mXcXUCyfeOFynnNHDoavmtR0U4KaSindE=; h=From:To:Subject:Date:From; b=VxoLcLc9pBKcbL7uJjSz23yR1QqdGDIoKYe5czjGEwISgNojOaAMEBibRsgOaiSQ7 QYlKe6v7AnLlQ4VDy3jnu011ST7Ue2iiDP97wR28+ELCntR3KxK5GNyR04Z+rD8KYe xGKd5KHuBbrY31OfN1wvPDDgAYBOAA30rZ7gv7hk9XrjiQCKEONtvI9N6NP4h2poTl Eooweix1ewKfAWrckOli9OQ5rmDTyg0MbD25vQMdhWAt8ulIlzMdll+WfiRNClplP2 JWyhi8YBfTRfYSGtQbwi5x5H8Fyz9qV0ku3xjiHunj5D2VGL15UViaV/KWGVxFIr+M U1dlCi7gPCs/g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NC0z44CHSz6tng; Wed, 16 Nov 2022 12:23:12 +0100 (CET) From: Mekeor Melire To: help-guix Subject: Emacs and Geiser: Completion for Guix specific code? Date: Wed, 16 Nov 2022 11:07:13 +0000 Message-ID: <87wn7vjg8o.fsf@posteo.de> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=185.67.36.65; envelope-from=mekeor@posteo.de; helo=mout01.posteo.de 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_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: help-guix-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1668597835; 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=PyIA6cSuJ4oMyocinOa5aj9MexRMr3Dx5RTVUcCh0kM=; b=tjUFiImH6sskWQhlNykXKb6ObtNBkESTfvTdlB6ZQm5HO1C2kKkgpsq5s6BT97JmbvYrS+ MifokeU2iIQDcX7prNkgyNQCscSOTUgYSmQs14jLJ4HV7/S0FVHra1HZLUDqdpYTLucELf TxICN7YoMmWOgbvmirOUIdbuo6/JFxs4RBQFWUwoOeg3gLyJAIFTkswpelDYYyygLsm+6g e60OYvInUNThBF26M9ASsEBi0CRNm9LPluG9Owbl63C1DXWP+E6/d6KOYu5F0DeTJJA9sE CEHqHTzTPdNZxuhcxie7DQpjstbDCpqP7JcA2Awls3uW6FAvsAr2ODTA5Z27ng== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1668597835; a=rsa-sha256; cv=none; b=sUWpQll0ijO6fLAUlMykJygD2KUD90vF2392UczXQdxbaUVDk8tDQaJlJX1iofRQd2hQIT BeoXzYqbNAje8VBiB0qr01s85/VP3HGCbdfsdOD2++Z9ODoWLM9tqk/iUnzTQhZOaKvALY wIeMxJ9uHQanhHBuVh6sU95bOJLZ3gn8AxgY/JDfeTKgRw6mxI/sQyeKtyc56PsSzRzySR jhGGZe3RZz2BwgNXGlcnhKF9uKYzb0j7iWDdXn9yT31qEE40fSh4nXyY8gXZrZFXiUF4Mo O2AenLVlgNOiAmXpTorKggU9kpSK9zYYZ6WrvWn6tMxBbNqNSD0jQoSz1DUgug== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.de header.s=2017 header.b=VxoLcLc9; dmarc=pass (policy=none) header.from=posteo.de; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -3.04 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.de header.s=2017 header.b=VxoLcLc9; dmarc=pass (policy=none) header.from=posteo.de; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: C52783D560 X-Spam-Score: -3.04 X-Migadu-Scanner: scn0.migadu.com X-TUID: BjL6qF9CdOA5 --=-=-= Content-Type: text/plain Hello, when editing a Guix system declaration (system.scm) with GNU Emacs and Geiser (and corfu.el), can I get completion for Guix specific code? Right now, I only get completion suggestions based on generic Guile modules. E.g. completing "(ope" (by pressing C-M-i) does not offer "(operating-system", but only "(open" etc. from module (guile). Is there any way to get completion for the Guix-specific code? You can reproduce the reported behaviour as follows. 1. Save the attached mre.el and mre.scm files somewhere. 2. Modify the path to the Guix repository inside mre.el. 3. Make sure you have these packages installed, e.g. with a guix-shell: guix shell emacs emacs-corfu emacs-corfu-doc emacs-geiser \ emacs-geiser-guile guile 4. Open that directory in a shell, navigate to the saved files, and launch Emacs: emacs -Q -l mre.el 5. In Emacs, open mre.scm, start Geiser with M-x geiser RET, navigate the cursor to "(opeHERE", and press C-M-i (which runs completion-at-point). You'll see that it does not suggest "operating-system". (Even if you have compiled all Guix inside your local clone of its repository.) Kindly Mekeor --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=mre.el (require 'corfu) (setq corfu-auto t corfu-auto-prefix 0 corfu-quit-no-match t) (global-corfu-mode) ;; optional: (require 'corfu-doc) (add-to-list 'corfu-mode-hook #'corfu-doc-mode) (require 'geiser-guile) (with-eval-after-load 'geiser-guile (add-to-list 'geiser-guile-load-path "/home/user/path/to/guix/repository")) --=-=-= Content-Type: text/plain Content-Disposition: inline; filename=mre.scm (use-modules (gnu) (gnu system) (guix utils)) (ope --=-=-=--