]> code.delx.au - gnu-emacs/commitdiff
Minor fixes for signed vs unsigned integers.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 3 Jun 2011 18:11:17 +0000 (11:11 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 3 Jun 2011 18:11:17 +0000 (11:11 -0700)
* character.h (MAYBE_UNIFY_CHAR):
* charset.c (maybe_unify_char):
* keyboard.c (read_char, reorder_modifiers):
XINT -> XFASTINT, since the integer must be nonnegative.
* ftfont.c (ftfont_spec_pattern):
* keymap.c (access_keymap, silly_event_symbol_error):
XUINT -> XFASTINT, since the integer must be nonnegative.
(Fsingle_key_description, preferred_sequence_p): XUINT -> XINT,
since it makes no difference and we prefer signed.
* keyboard.c (record_char): Use XUINT when all the neighbors do.
(access_keymap): NATNUMP -> INTEGERP, since the integer must be
nonnegative.

1  2 
src/ChangeLog
src/charset.c

diff --cc src/ChangeLog
index 45d8e38738ad9bda21b7be305e61ce6ec3af7d4b,6e12a97d6411a0c57ff241bb424d7554a7108254..431bd2acdb54853d2d8d25f736085e89ce72388f
@@@ -1,66 -1,19 +1,82 @@@
 -2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
++2011-06-03  Paul Eggert  <eggert@cs.ucla.edu>
+       Minor fixes for signed vs unsigned integers.
+       * character.h (MAYBE_UNIFY_CHAR):
+       * charset.c (maybe_unify_char):
+       * keyboard.c (read_char, reorder_modifiers):
+       XINT -> XFASTINT, since the integer must be nonnegative.
+       * ftfont.c (ftfont_spec_pattern):
+       * keymap.c (access_keymap, silly_event_symbol_error):
+       XUINT -> XFASTINT, since the integer must be nonnegative.
+       (Fsingle_key_description, preferred_sequence_p): XUINT -> XINT,
+       since it makes no difference and we prefer signed.
+       * keyboard.c (record_char): Use XUINT when all the neighbors do.
+       (access_keymap): NATNUMP -> INTEGERP, since the integer must be
+       nonnegative.
 +2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 +
 +      Malloc failure behavior now depends on size of allocation.
 +      * alloc.c (buffer_memory_full, memory_full): New arg NBYTES.
 +      * lisp.h: Change signatures accordingly.
 +      * alloc.c, buffer.c, editfns.c, menu.c, minibuf.c, xterm.c:
 +      All callers changed.  (Bug#8762)
 +
 +      * gnutls.c: Use Emacs's memory allocators.
 +      Without this change, the gnutls library would invoke malloc etc.
 +      directly, which causes problems on non-SYNC_INPUT hosts, and which
 +      runs afoul of improving memory_full behavior.  (Bug#8761)
 +      (fn_gnutls_global_set_mem_functions): New macro or function pointer.
 +      (emacs_gnutls_global_init): Use it to specify xmalloc, xrealloc,
 +      xfree instead of the default malloc, realloc, free.
 +      (Fgnutls_boot): No need to check for memory allocation failure,
 +      since xmalloc does that for us.
 +
 +      Remove arbitrary limit of 2**31 entries in hash tables.  (Bug#8771)
 +      * 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):
 +      * composite.h (struct composition.hash_index):
 +      * dispextern.h (struct image.hash):
 +      * fns.c (next_almost_prime, larger_vector, cmpfn_eql)
 +      (cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
 +      (hashfn_equal, hashfn_user_defined, make_hash_table)
 +      (maybe_resize_hash_table, hash_lookup, hash_put)
 +      (hash_remove_from_table, hash_clear, sweep_weak_table, SXHASH_COMBINE)
 +      (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector)
 +      (Fsxhash, Fgethash, Fputhash, Fmaphash):
 +      * image.c (make_image, search_image_cache, lookup_image)
 +      (xpm_put_color_table_h):
 +      * lisp.h (struct Lisp_Hash_Table):
 +      * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
 +      * print.c (print):  Use 'EMACS_UINT' and 'EMACS_INT'
 +      for hashes and hash indexes, instead of 'unsigned' and 'int'.
 +      * alloc.c (allocate_vectorlike):
 +      Check for overflow in vector size calculations.
 +      * ccl.c (ccl_driver):
 +      Check for overflow when converting EMACS_INT to int.
 +      * fns.c, image.c: Remove unnecessary static decls that would otherwise
 +      need to be updated by these changes.
 +      * fns.c (make_hash_table, maybe_resize_hash_table):
 +      Check for integer overflow with large hash tables.
 +      (make_hash_table, maybe_resize_hash_table, Fmake_hash_table):
 +      Prefer the faster XFLOAT_DATA to XFLOATINT where either will do.
 +      (SXHASH_REDUCE): New macro.
 +      (sxhash_string, sxhash_list, sxhash_vector, sxhash_bool_vector):
 +      Use it instead of discarding useful hash info with large hash values.
 +      (sxhash_float): New function.
 +      (sxhash): Use it.  No more need for "& INTMASK" due to above changes.
 +      * lisp.h (FIXNUM_BITS): New macro, useful for SXHASH_REDUCE etc.
 +      (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM, INTMASK):
 +      Rewrite to use FIXNUM_BITS, as this simplifies things.
 +      (next_almost_prime, larger_vector, sxhash, hash_lookup, hash_put):
 +      Adjust signatures to match updated version of code.
 +      (consing_since_gc): Now EMACS_INT, since a single hash table can
 +      use more than INT_MAX bytes.
 +
  2011-06-01  Dan Nicolaescu  <dann@ics.uci.edu>
  
        Make it possible to build with GCC-4.6+ -O2 -flto.
diff --cc src/charset.c
Simple merge