Subject: Re: [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems.

From: Efraim Flashner <[email-masked]>
Date: Tue, 4 Feb 2020 13:14:24 +0200

I'll start by saying I'm not a user of emacs or of emacs-telega.

On Tue, Feb 04, 2020 at 10:43:51AM +0100, Diego Nicola Barbato wrote:
> Hi Guix,
> 
> Telega requires wide Emacs integers (62-bit), so it checks whether
> `most-positive-fixnum' is equal to 2305843009213693951.  Due to a
> performance penalty [0] wide Emacs integers have to be explicitly
> enabled on 32-bit architectures.  Because of this `emacs-telega'
> currently fails to build on armhf-linux and i686-linux.

I assume it actually needs '--with-wide-ints' and that patching out the
check wouldn't actually fix the problem.

> The following two patches fix this by first adding a variant of
> `emacs' with wide ints enabled and then using this `emacs-wide-int'
> instead of `emacs' to build `emacs-telega' on 32-bit systems.
> 
> I am not completely happy with this solution, because wide ints are
> not required to build Telega but to run it: A user installing
> `emacs-telega' alongside "vanilla" `emacs' on a 32-bit machine will be
> greeted with cryptic parse errors when trying to run Telega.  Would it
> be enough to mention that `emacs-telega' has to be installed alongside
> `emacs-wide-int' on 32-bit systems in the description?

I don't like this plan so much. It means relying on the users to read
the description which is something I normally only do when I don't know
what package I'm looking for.

> I have chosen this approach over building the regular Emacs package
> with the "--with-wide-ints" flag because I do not think the
> performance penalty is justified.  What do others think?

10-30% performance penalty across the board in emacs is pretty severe for
one package. Otherwise that would've been my suggestion.

> In the long run it should be possible to drop this workaround once
> Emacs 27, which introduces bignums, is released.  With those Telega
> should work on 32-bit Emacs without wide ints.

Do we know how long it may be before Emacs 27 is out? If it's not that
long I wonder if it'd be better for it to be unbuildable on 32-bit
systems than to make it installable but unusable without changing other
installed packages.

> 
> Regards,
> 
> Diego
> 
> [0]: Emacs' configure.ac file talks about a 10% to 30% slowdown of the
> Lisp interpreter and a larger memory footprint.

Thank you for looking into this!

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted