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

Previous Next

Package: guix-patches;

Reported by: Diego Nicola Barbato <dnbarbato <at> posteo.de>

Date: Tue, 4 Feb 2020 09:45:02 UTC

Severity: normal

Tags: patch

Done: Efraim Flashner <efraim <at> flashner.co.il>

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: Efraim Flashner <efraim <at> flashner.co.il>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#39412: closed ([PATCH 0/2] gnu: emacs-telega: Build with
 emacs-wide-int on 32-bit systems.)
Date: Tue, 28 Apr 2020 17:48:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 28 Apr 2020 20:46:17 +0300
with message-id <20200428174617.GV5243 <at> E5400>
and subject line Re: [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems.
has caused the debbugs.gnu.org bug report #39412,
regarding [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems.
to be marked as done.

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


-- 
39412: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=39412
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: guix-patches <at> gnu.org
Cc: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Subject: [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit
 systems.
Date: Tue,  4 Feb 2020 10:43:51 +0100
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.

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 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?

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.

Regards,

Diego

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

Diego Nicola Barbato (2):
  gnu: Add emacs-wide-int.
  gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems.

 gnu/packages/emacs-xyz.scm |  7 ++++++-
 gnu/packages/emacs.scm     | 11 +++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

-- 
2.25.0



[Message part 3 (message/rfc822, inline)]
From: Efraim Flashner <efraim <at> flashner.co.il>
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 39412-done <at> debbugs.gnu.org
Subject: Re: [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with
 emacs-wide-int on 32-bit systems.
Date: Tue, 28 Apr 2020 20:46:17 +0300
[Message part 4 (text/plain, inline)]
Looks good. patch pushed!


-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 5 years and 22 days ago.

Previous Next


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