GNU bug report logs - #29847
[PATCH] import: pypi: Stay in the REPL if fail to get a source

Previous Next

Package: guix-patches;

Reported by: Oleg Pykhalov <go.wigust <at> gmail.com>

Date: Mon, 25 Dec 2017 13:49:02 UTC

Severity: normal

Tags: patch

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: tracker <at> debbugs.gnu.org
Subject: bug#29847: closed ([PATCH] import: pypi: Stay in the REPL if fail
 to get a source)
Date: Mon, 02 Apr 2018 16:17:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 02 Apr 2018 18:16:23 +0200
with message-id <87h8otfuso.fsf <at> gnu.org>
and subject line Re: [bug#29847] [PATCH] import: pypi: Stay in the REPL if fail to get a source
has caused the debbugs.gnu.org bug report #29847,
regarding [PATCH] import: pypi: Stay in the REPL if fail to get a source
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
29847: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29847
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Oleg Pykhalov <go.wigust <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] import: pypi: Stay in the REPL if fail to get a source
Date: Mon, 25 Dec 2017 16:46:21 +0300
[Message part 3 (text/plain, inline)]
Hello Guix,

If pypi->guix-package fails to get a source release, could we return
false instead of killing a running Guile REPL session?

[0001-import-pypi-Stay-in-the-REPL-if-fail-to-get-a-source.patch (text/x-patch, attachment)]
[Message part 5 (text/plain, inline)]
Thanks,
Oleg.
[signature.asc (application/pgp-signature, inline)]
[Message part 7 (message/rfc822, inline)]
From: ludo <at> gnu.org (Ludovic Courtès)
To: Oleg Pykhalov <go.wigust <at> gmail.com>
Cc: 29847-done <at> debbugs.gnu.org
Subject: Re: [bug#29847] [PATCH] import: pypi: Stay in the REPL if fail to get
 a source
Date: Mon, 02 Apr 2018 18:16:23 +0200
Hi Oleg,

Oleg Pykhalov <go.wigust <at> gmail.com> skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> Ping!
>>
>> ludo <at> gnu.org (Ludovic Courtès) skribis:
>>
>>> OK for the patch, but please simply replace ‘leave’ with ‘warning’.
>
> I think the patch is no longer needed, because ‘pypi->guix-package’
> returns false (‘#f’) and REPL survives if a package doesn't exist:
>
> scheme@(guix import pypi)> (pypi->guix-package "psutil")
>
> Starting download of /tmp/guix-file.9Q8PGN
> From https://pypi.python.org/packages/e2/e1/600326635f97fee89bf8426fef14c5c29f4849c79f68fd79f433d8c1bd96/psutil-5.4.3.tar.gz...
>  …4.3.tar.gz  403KiB                  1.6MiB/s 00:00 [##################] 100.0%
>
> Starting download of /tmp/guix-file.Vn9nDZ
> From https://pypi.python.org/packages/e5/cc/6dd427e738a8db6d0b66525856da43d2ef12c4c19269863927f7cf0e2aaf/psutil-5.4.3-cp27-none-win32.whl...
>  …7-none-win32.whl  216KiB            1.3MiB/s 00:00 [##################] 100.0%
> $3 = (package (name "python-psutil") #; more fields here)
> scheme@(guix import pypi)> (pypi->guix-package "psutils") ; ‘psutils’ doesn't exist in ‘pypi’
> $4 = #f
>
> WDYT?

Indeed it should no longer be needed.

>> Note that at the REPL you can always do:
>>
>>   (catch 'quit (lambda () …) (const #f))
>
> Thank you!  Based on this I wrote a macro:
>
>    (define-macro (try function)
>     `(catch 'quit (lambda () ,function) (const #f)))
>
> but I don't know how to make it available after invoking ‘guile’ in
> Bash.  Putting the macro in ‘~/.guile’ doesn't help unfortunately.

I just tried and it works for me.  Note that ~/.guile is only read when
starting an interactive Guile (a REPL), not when starting guile to run a
program.

Thanks,
Ludo’.


This bug report was last modified 7 years and 56 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.