From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id +LoWIhMUdWPMlQAAbAwnHQ (envelope-from ) for ; Wed, 16 Nov 2022 17:47:15 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id YMgKIhMUdWOsZAEA9RJhRA (envelope-from ) for ; Wed, 16 Nov 2022 17:47:15 +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 60E3FEACF for ; Wed, 16 Nov 2022 17:47:15 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ovLYr-0000Yj-UE; Wed, 16 Nov 2022 11:47:01 -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 1ovLYh-0000SA-Fn for help-guix@gnu.org; Wed, 16 Nov 2022 11:46:44 -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 1ovLYf-0001U8-2Z for help-guix@gnu.org; Wed, 16 Nov 2022 11:46:43 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 2FDEF240028 for ; Wed, 16 Nov 2022 17:46:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1668617199; bh=zgiySiOcA3GJv6dsr548YMHx0jVqy7Z0VON3DephA6A=; h=From:To:Cc:Subject:Date:From; b=Y3LWb4kbsw8tudxAcvqnbCz3+FX8qd50PDegPG80KfQU16AQoYHGi64Eqn2kqTDh4 Xm9YYBmE45fzXHp738lN3gWlLfcu/pJbj7pZiLa1NwFM5mQax6jl987pz7KeLGTOGX 0Q8cWg4B5ILNLAOX2PfikXjFV/Wq1jSblbWxAN7NA/mcIsgUUMCtlpETKIGrMgZ22p gjcN55YtAFvCqm+uc52kuY4qUQ59r6ncCnuOaWiDXr1WbXowRuHe+mNsZSesKkpUfR Lp+yAZ7Myum5V1QxgOVHE4WsrB69T/uKxZwJudDCQulUfff4noNuAfM0ItGXiDo1sy lfoUG7MJR5cxg== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4NC88G1smDz6tmb; Wed, 16 Nov 2022 17:46:38 +0100 (CET) References: <87wn7vjg8o.fsf@posteo.de> From: Mekeor Melire To: Luis Felipe Cc: Mekeor Melire , help-guix Subject: Re: Emacs and Geiser: Completion for Guix specific code? Date: Wed, 16 Nov 2022 16:41:33 +0000 In-reply-to: Message-ID: <878rka7sv5.fsf@posteo.de> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=mekeor@posteo.de; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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_MED=-2.3, 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=1668617235; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=cIb6hMq4Syccdpd+62/M+ks2fRH8B+8Mno3ZL7Q/tPc=; b=rwyJBu9WhycDl/Vjbcp+jLR7dgvIgOd8qd/3kpgZAlyQ9ODYyvznjMAZ98O3Z/xHRIxmXa bs6ISTL37ZioM6lnJBbGaPhM8aSXImx4q/i3X3++PQ2IjZztzxzQ7LtfGLcUL77BoDtpbF UWiOuLkoaSJ6nRQMtP1jDs11pJrgaO6jbgN8t7KfUc6OsDV55dKlTWHWhlfwjYdaAVOYr8 NF9XUo52krMF5fFMosRBC/6h6VwC8SR4XKX6jQU9o6smOTG3yP29jSmrMLKSVbbtuJqBEX 0o0DVMZ1U6bY8p9ScSHqtvePkJZ3OHvg4RB7ToNzYqFCigjuZN4q0k1FPoo36Q== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1668617235; a=rsa-sha256; cv=none; b=rvJP0LXUYsJREvRmoi43Sz4x4sWRaQjNwM6EPyb3fwxk7NuHnrfKFwv9UseHk7fewB7ZLk CZ5PcKqYDzR6qQpgXKJ2jrawFAy1/rNAF78YW8kqZnX2M7YSUNRSsfRDFIijuxXHQSnyDY QcfajGu6tDkz2rt26eulgowj6hr5/JZtGv5FoFutQ30eRcmi9k279OHQxXsRjBrD5onzc4 kS8OM0p4JDfYzM3tfoo1IAP9p7AxHMbnBISvERY7/dnDEdL9ND9BXAR/E9/e7LKjbkn6zF 8Wdly9t4+rr7G6QRRm8/NiX7RZIN/mxDO1hu/ee/yEb2acTZhJwfjbdCGv1Z4w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.de header.s=2017 header.b=Y3LWb4kb; 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=Y3LWb4kb; 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: 60E3FEACF X-Spam-Score: -3.04 X-Migadu-Scanner: scn1.migadu.com X-TUID: Z8K6Alwv87vh 2022-11-16 / 14:51 / luis.felipe.la@protonmail.com: > Hi Mekeor, Hello Luis Felipe, > On Wednesday, November 16th, 2022 at 11:07, Mekeor Melire wrote: > As far as I know, you can only get completion for symbols defined in other modules and libraries if > > 1. The library is in Guile's load path and > 2. The module import is evaluated > > The first requirement is handled automatically when the library is installed > with Guix. The second one too, if you are typing in a REPL. If you are typing in > a file, it isn't; you have to command the evaluation yourself. For example, in > Guix System, I start Emacs, visit a file, and run geiser-guile. Then, to call > Guix's "package-direct-inputs", I type the following > > (use-modules (guix packages)) > > ;;; C-c C-B to evaluate the buffer and get completion for symbols in (guix packages) > ;;; Then, start typing and press C-M-i. It should complete. > (package-di > > ;;; If you don't evaluate the module imports, completion won't work. > > Does that work for you? Yippie, it works! I just needed to run geiser-eval-buffer, bound to C-c C-b. Now it completes imported identifiers as well, yay! :) Thank you very much. Still, a pity/bummer that it completion does not consider record-fields. E.g. within the (operating-system) record, the completion could know that I want to specify one of the record-fields, rather than suggesting arbitrary identifiers. (Maybe it's because Scheme is not a typed language.) Nevertheless, it's very helpful and nice. Kindly Mekeor