Mercurial > hg > xemacs-beta
comparison lisp/mule/make-coding-system.el @ 4777:c69aeb86b2a3
Serialise non-default hash table rehash thresholds correctly; use this.
src/ChangeLog addition:
2009-12-17 Aidan Kehoe <kehoea@parhasard.net>
* elhash.c (HASH_TABLE_DEFAULT_REHASH_THRESHOLD):
New macro, giving a default value for a hash table's rehash
threshold given its size and test function.
(print_hash_table): Print the hash table's rehash threshold if it
has a non-default value. Ditto for its rehash size.
(Fmake_hash_table): Supply the keyword arguments in a format
understood by #'function-arglist.
lisp/ChangeLog addition:
2009-12-17 Aidan Kehoe <kehoea@parhasard.net>
* mule/make-coding-system.el
(fixed-width-create-decode-encode-tables):
Use a rehash threshold of 0.999 for this hash table, now that hash
table rehash thresholds are serialised correctly; these hash
tables will never be resized, and it's not even that important
that they are *that* fast, for most of the coding systems they're
used a minority of the time.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Thu, 17 Dec 2009 13:50:45 +0000 |
parents | dc3c2f298857 |
children | c673987f5f3d |
comparison
equal
deleted
inserted
replaced
4776:73e8632018ad | 4777:c69aeb86b2a3 |
---|---|
320 characters with UCS code points; DECODE-TABLE will be a 256-element | 320 characters with UCS code points; DECODE-TABLE will be a 256-element |
321 vector, and ENCODE-TABLE will be a hash table mapping from 256 numbers | 321 vector, and ENCODE-TABLE will be a hash table mapping from 256 numbers |
322 to 256 distinct characters." | 322 to 256 distinct characters." |
323 (check-argument-type #'listp unicode-map) | 323 (check-argument-type #'listp unicode-map) |
324 (let ((decode-table (make-vector 256 nil)) | 324 (let ((decode-table (make-vector 256 nil)) |
325 (encode-table (make-hash-table :size 256)) | 325 (encode-table (make-hash-table :size 256 :rehash-threshold 0.999)) |
326 (private-use-start (encode-char fixed-width-private-use-start 'ucs)) | 326 (private-use-start (encode-char fixed-width-private-use-start 'ucs)) |
327 (invalid-sequence-code-point-start | 327 (invalid-sequence-code-point-start |
328 (eval-when-compile | 328 (eval-when-compile |
329 (char-to-unicode | 329 (char-to-unicode |
330 (aref (decode-coding-string "\xd8\x00\x00\x00" 'utf-16-be) 3)))) | 330 (aref (decode-coding-string "\xd8\x00\x00\x00" 'utf-16-be) 3)))) |