emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making 'eq' == 'eql' in bignum branch


From: Alan Mackenzie
Subject: Re: Making 'eq' == 'eql' in bignum branch
Date: Sun, 26 Aug 2018 20:19:47 +0000
User-agent: Mutt/1.10.1 (2018-07-13)

Hello, Paul.

On Sat, Aug 25, 2018 at 16:27:20 -0700, Paul Eggert wrote:

[ .... ]

> * Several modules assumes that buffer sizes fits into fixnums. This
> assumption is correct for Emacs master, though it will become dubious
> if we change Emacs to support buffer sizes greater than
> most-positive-fixnum. The affected modules are emacs-lisp/syntax.el,
> org/org-list.el, progmodes/cc-engine.el, progmodes/js.el, and
> simple.el.

I'm trying to imagine a buffer whose size won't fit into a fixnum, on a
64-bit machine.  most-positive-fixnum is close to 2^61.  Imagine
scrolling through a 2^61 byte buffer.

Let's imagine it has an average line length of 64 bytes, in a window 64
lines deep, and auto-repeat is at 16 screens per second.  That's 2^(6+6+4)
characters per second scroll rate, i.e. 2^16.

So the number of seconds it would take would be 2^(61 - 16) = 2^45.

2^45 seconds = 2^45 / 86400 / 365.25 years, this being a little over 1.1
million years.  Holding the PageDown key down for this length of time
would get a little tedious.

Surely, at least for 64-bit systems, expecting buffer sizes ever to
exceed fixnums, is somewhat unrealistic.  Is anybody seriously going to
be editing a 540 Mbyte buffer on a 32-bit system nowadays?

Surely the assumption of buffer sizes being fixnums is realistic and
harmless.

-- 
Alan Mackenzie (Nuremberg, Germany).



reply via email to

[Prev in Thread] Current Thread [Next in Thread]