GNU bug report logs -
#8771
Remove arbitrary 32-bit limit in Emacs hash tables
Previous Next
Reported by: Paul Eggert <eggert <at> cs.ucla.edu>
Date: Tue, 31 May 2011 06:10:03 UTC
Severity: normal
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Currently the Emacs source code uses 'unsigned' for hashes and 'int'
> for hash tables, but on 64-bit hosts hash tables can in principle be
> larger than what can be shoehorned into 32 bits. Here's a proposed patch;
> most of it is pretty straightforward.
Sounds fine to me. Style suggestions (really, nothing more than
suggestions) below.
Stefan
> Remove arbitrary limit of 2**31 entries in hash tables.
> * category.c (hash_get_category_set): Use 'EMACS_UINT' and 'EMACS_INT'
> for hashes and hash indexes, instead of 'unsigned' and 'int'.
> * ccl.c (ccl_driver): Likewise.
> * charset.c (Fdefine_charset_internal): Likewise.
> * charset.h (struct charset.hash_index): Likewise.
> * composite.c (get_composition_id, gstring_lookup_cache):
> (composition_gstring_put_cache): Likewise.
Rather than "Likewise" you can use the following format:
Remove arbitrary limit of 2**31 entries in hash tables.
* category.c (hash_get_category_set):
* ccl.c (ccl_driver):
* charset.c (Fdefine_charset_internal):
* charset.h (struct charset.hash_index):
* composite.c (get_composition_id, gstring_lookup_cache):
(composition_gstring_put_cache): Use 'EMACS_UINT' and 'EMACS_INT'
for hashes and hash indexes, instead of 'unsigned' and 'int'.
And rather than
* composite.c (get_composition_id, gstring_lookup_cache):
(composition_gstring_put_cache): Foobar.
we usually write:
* composite.c (get_composition_id, gstring_lookup_cache)
(composition_gstring_put_cache): Foobar.
This bug report was last modified 13 years and 358 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.