Subject: bug#48150: breaking gmp

From: Zefram <[email-masked]>
Date: Sun, 2 May 2021 02:14:46 +0100

With Guile 2.2.6:

$ guile-2.2 -c '(ash 1 (ash 1 37))'
gmp: overflow in mpz type
zsh: abort      guile-2.2 -c '(ash 1 (ash 1 37))'
$

For shift distances of (ash 1 63) or greater Guile cleanly signals an
exception indicating the overflow.  The above treatment of a range of
smaller (but still stupidly large) shift distances is less than awesome.
It would be preferable for Guile to know gmp's limits and cleanly signal
an exception, rather than exceed those limits in a way that terminates
the process outright.

-zefram