unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Diego Nicola Barbato <dnbarbato@posteo.de>
Cc: 39412@debbugs.gnu.org
Subject: [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems.
Date: Tue, 4 Feb 2020 13:14:24 +0200	[thread overview]
Message-ID: <20200204111424.GE19864@E5400> (raw)
In-Reply-To: <20200204094351.18671-1-dnbarbato@posteo.de>

[-- Attachment #1: Type: text/plain, Size: 2578 bytes --]

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   <efraim@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  parent reply	other threads:[~2020-02-04 11:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-04  9:43 [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Diego Nicola Barbato
2020-02-04  9:49 ` [bug#39412] [PATCH 1/2] gnu: Add emacs-wide-int Diego Nicola Barbato
2020-02-04  9:49 ` [bug#39412] [PATCH 2/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Diego Nicola Barbato
2020-02-04 11:14 ` Efraim Flashner [this message]
2020-03-26 13:15   ` [bug#39412] [PATCH 0/2] " Diego Nicola Barbato
2020-03-26 13:17     ` [bug#39412] [PATCH v2 1/3] gnu: Add emacs-wide-int Diego Nicola Barbato
2020-03-26 13:17     ` [bug#39412] [PATCH v2 2/3] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Diego Nicola Barbato
2020-03-26 13:18     ` [bug#39412] [PATCH v2 3/3] gnu: emacs-telega: Test Emacs environment on startup Diego Nicola Barbato
2020-04-28 14:04     ` [bug#39412] [PATCH 0/2] gnu: emacs-telega: Build with emacs-wide-int on 32-bit systems Diego Nicola Barbato
2020-04-28 17:46       ` bug#39412: " Efraim Flashner
2020-04-28 20:27         ` [bug#39412] " Diego Nicola Barbato

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200204111424.GE19864@E5400 \
    --to=efraim@flashner.co.il \
    --cc=39412@debbugs.gnu.org \
    --cc=dnbarbato@posteo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).