]> code.delx.au - gnu-emacs/commitdiff
Merge from trunk.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 2 Jun 2011 08:25:28 +0000 (01:25 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 2 Jun 2011 08:25:28 +0000 (01:25 -0700)
1  2 
ChangeLog
src/ChangeLog
src/alloc.c
src/lisp.h
src/minibuf.c

diff --cc ChangeLog
index 15d60a55706e24a5f4a231c95616fef51b4adbfe,c0e5329964ee9c96ee8c8d19b18573ea4c72d93d..76bd252b1eaf28e6c898f722e4f7470035faaa2c
+++ b/ChangeLog
@@@ -1,12 -1,9 +1,16 @@@
+ 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+       * lib/allocator.h, lib/careadlinkat.c: Merge from gnulib.
  2011-05-30  Paul Eggert  <eggert@cs.ucla.edu>
  
 +      Malloc failure behavior now depends on size of allocation.
 +      * lib/allocator.h (struct allocator.die): New size arg.
 +      * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
 +      If the actual problem is an ssize_t limitation, not a size_t or
 +      malloc failure, fail with errno == ENAMETOOLONG instead of calling
 +      'die'.  (Bug#8762)
 +
        Use 'inline', not 'INLINE'.
        * configure.in (INLINE): Remove.
  
diff --cc src/ChangeLog
index 6d642cb063d90079e0ac2c64346d48d55c4cb5b7,703976e47004f5f11e35011d80a577702aaa9e9c..7d372e0448ad1959c602076dd61a0a8b8ee4dcb7
+ 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
+       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.
+       * emacs.c (__malloc_initialize_hook): Mark as EXTERNALLY_VISIBLE.
+ 2011-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
+       * minibuf.c (get_minibuffer, read_minibuf_unwind):
+       Call minibuffer-inactive-mode.
+ 2011-05-31  Juanma Barranquero  <lekktu@gmail.com>
+       * makefile.w32-in ($(BLD)/data.$(O), $(BLD)/editfns.$(O)):
+       Update dependencies.
+ 2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
+       * data.c (init_data): Remove code for UTS, this system is not
+       supported anymore.
+ 2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
+       Don't force ./temacs to start in terminal mode.
+       * frame.c (make_initial_frame): Initialize faces in all cases, not
+       only when CANNOT_DUMP is defined.
+       * dispnew.c (init_display): Remove CANNOT_DUMP condition.
+ 2011-05-31  Dan Nicolaescu  <dann@ics.uci.edu>
+       * dispnew.c (add_window_display_history): Use const for the string
+       pointer.  Remove declaration, not needed.
  2011-05-31  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.
 +
        Use 'inline', not 'INLINE'.
        <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00914.html>
        * alloc.c, fontset.c (INLINE): Remove.
diff --cc src/alloc.c
Simple merge
diff --cc src/lisp.h
Simple merge
diff --cc src/minibuf.c
Simple merge