From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2 Subject: Re: guix-edit shows "Autodoc not available..." w/ 2 REPLs Date: Wed, 13 Jul 2016 20:12:47 -0400 Message-ID: References: <86furgyzxt.fsf@gmail.com> <87oa63nudn.fsf@gmail.com> <87k2gqo9rl.fsf@gmail.com> 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]:39997) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bNUJP-0004zU-2Y for help-guix@gnu.org; Wed, 13 Jul 2016 20:15:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bNUJK-0002UP-LB for help-guix@gnu.org; Wed, 13 Jul 2016 20:15:29 -0400 Received: from plane.gmane.org ([80.91.229.3]:52103) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bNUJK-0002Tx-92 for help-guix@gnu.org; Wed, 13 Jul 2016 20:15:26 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1bNUJC-0005tm-M9 for help-guix@gnu.org; Thu, 14 Jul 2016 02:15:18 +0200 Received: from c-73-167-118-254.hsd1.ma.comcast.net ([73.167.118.254]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 14 Jul 2016 02:15:13 +0200 Received: from myglc2 by c-73-167-118-254.hsd1.ma.comcast.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 14 Jul 2016 02:15:13 +0200 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org Alex Kost writes: > myglc2 (2016-07-12 17:22 +0300) wrote: > >> Alex Kost writes: >> >>> myglc2 (2016-07-11 18:09 +0300) wrote: >>> >>>> Running guix/debian ... >>>> >>>> When I do 'M-x guix-edit RET screen RET' I get ... >>>> >>>> "Autodoc not available (No Geiser REPL for this buffer (try M-x run-geiser))" >>> >>> Ouch, I've just answered you on #guix (using sneek). >> >> Thanks, sorry I missed your IRC response. I'm not familiar with >> sneek. Can you provide a reference? > > Just join #guix and say hello. Sneek (the bot) will send you my answer. Thank you. >>> This error is harmless. It comes from Geiser and happens when you work >>> with any scheme file and did not start Geiser REPL. >>> >>> Guix REPL is used only by "M-x guix-..." commands (to show/install >>> packages, open package files, etc.). Guix REPL does not interfere with >>> a usual editing of scheme files. I mean "M-x guix-edit ..." just opens >>> a scheme file with the package definition, and that's it. If you need a >>> Geiser REPL (but it's unlikely you need it) while working with this >>> file, you can start it with C-c C-z. >> >> I was thinking autodoc might help me understand guix/guile. No? > > Probably. I think Geiser is a big helper if you work with Scheme in > Emacs. > >> I am trying to get all the bells and whistles working. In search of a >> more perfect setup, I switched back to GuixSD, so comments below relate >> to GuixSD. Now, when I 'M-x guix-edit RET screen' & 'M-x run-geiser' I >> get auto doc works and I see these buffers: >> >> MR Name Size Mode Filename/Process >> -- ---- ---- ---- ---------------- >> * * Guile REPL * 635 REPL (Guile REPL<1> run) > > This is the Geiser REPL that you started manually. It can be helful > when you work with scheme files. See the Geiser manual :-) > >> * *Guix REPL* 312 REPL (Guile REPL run) >> * *Guix Internal ... 312 REPL (*Guix Internal REPL* > > These REPLs are started automatically when you run one of "M-x guix..." > command. They are used to get various info (on packages, generations, > licenses), to install packages, etc. They are not intended to be used > as general Guile REPLs. There is a reason why there are 2 REPLs instead > of a single one (if you are interested you may "M-x find-library > guix-backend" and read the starting commentary). Although it would > probably be better to hide the "internal" repl to make it less confusing > for users. > >> Can you comment on whom/what each of these REPLs is used by/for? >> >> If I want to use a REPL, which one should I use? > > The Geiser one (by default it is called "* Guile REPL *"). Actually, > you are free to do whatever you want (I do whatever I want all the > time). > >> Would it make sense to add this info to the doc? > > Sorry, what info do you mean? I mean add an explanation along the lines of what your wrote above to the documentation. Maybe in a background or how it works section. >>> BTW, if you don't want to use Geiser at all, you can disable it with >>> (setq geiser-mode-auto-p nil). With this setting, scheme files will not >>> enable 'geiser-mode', so you will not see that autodoc error anymore. >> >> OK, but I am going in the other direction, trying to get '8.3 The >> Perfect Setup' working. Right now, unless I manually start the 3rd REPL, >> these commands: ‘C-c . u’ ‘C-c . b’, ‘C-c . s’, ‘C-c . l’, all produce >> 'or: Geiser REPL not found' in *Messages*. >> >> Is this normal? > > Yes, because the Geiser REPL is not started. These commands are > additions to the Geiser functionality, they work only when you have a > running Geiser REPL. The same will happen with usual Geiser commands, > like 'C-x C-e' or 'M-.'. > >> If so, would it be a helpful enhancement if guix-emacs started the 3rd >> REPL automatically? > > No! This relates to a usual editing of .scm files. When you open .scm > file, the Geiser REPL is not started automatically, and it shouldn't! I > think this would be a malicious behavior. I don't understand why this would be malicious. Could you explain? > It's up to a user to decide how (s)he wants to edit his/her files (in > this case: with or without a help of Geiser). Agreed. But I would prefer for Guix by default to start the REPL and provide a way for me to disable this behavior if I like ;-) In general, I think it would be better for commands like 'C-c . l' to work instead of: beeping and giving the message "or: Geiser REPL not found". Such messages tend to give the first impression that something is not working properly :-( In general, if there are commands that don't work in a vanilla install, the doc should indicate that they don't work without additional setup/action, what that setup/action is, and what a user sees if that setup/action has not been done. But, as far as possible, I think you should try to make everything work in a vanilla install, even if it means setting some Guix options in a way that a power user will not prefer. This way it will be a power user changing an option and seeing a message like "or: Geiser REPL not found" and he/she will be able to figure it out ;-)