From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: [PATCH] emacs: Add completions for '--type' option of 'refresh' popup. Date: Sun, 01 Nov 2015 18:18:54 +0100 Message-ID: <87a8qx4ozl.fsf@gnu.org> References: <87h9layg9i.fsf@gmail.com> <871tcda0us.fsf@gnu.org> <87611mlr33.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36204) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZswHW-0005du-2N for guix-devel@gnu.org; Sun, 01 Nov 2015 12:19:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZswHR-00065h-3X for guix-devel@gnu.org; Sun, 01 Nov 2015 12:19:02 -0500 In-Reply-To: <87611mlr33.fsf@gmail.com> (Alex Kost's message of "Sat, 31 Oct 2015 23:29:20 +0300") 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-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Alex Kost Cc: guix-devel@gnu.org Alex Kost skribis: > Ludovic Court=C3=A8s (2015-10-29 23:14 +0300) wrote: [...] >> You could use #:autoload, but only for =E2=80=98%updaters=E2=80=99 becau= se >> =E2=80=98upstream-updater-name=E2=80=99 is a macro so it needs to be ava= ilable at >> expansion time. > > I looked at (info "(guile) Using Guile Modules") and it has the following: > > An autoload is a good way to put off loading a big module > until it=E2=80=99s really needed, for instance for faster start= up or > if it will only be needed in certain circumstances. > > =E2=80=98@=E2=80=99 can do a similar thing (see Using Guile Mod= ules), but > in that case an =E2=80=98@=E2=80=99 form must be written every = time a binding > from the module is used. > > To me it sounds like =E2=80=98@=E2=80=99 does the same thing as =E2=80=98= #:autoload=E2=80=99, no? I guess I was confused. A simple example confirms what the manual explains: --8<---------------cut here---------------start------------->8--- $ guild compile t.scm wrote `/home/ludo/.cache/guile/ccache/2.0-LE-8-2.0/home/ludo/src/guix/t.scm= .go' $ guile t.scm $ cat t.scm (define (foo) (@ (asdfasdfa) sdfsf)) --8<---------------cut here---------------end--------------->8--- > Also #:autoload should be used inside (define-module ...), but > =E2=80=98guix-main.scm=E2=80=99 does not define a module. Oh, right, I had overlooked that. So yes, you can go ahead with your initial approach. Thanks, and sorry for the confusion! Ludo=E2=80=99.