1. 31 May, 2011 8 commits
    • Paul Eggert's avatar
      Remove arbitrary limit of 2**31 entries in hash tables. · 0de4bb68
      Paul Eggert authored
      * 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.
      * composite.h (struct composition.hash_index): Likewise.
      * dispextern.h (struct image.hash): Likewise.
      * 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): Likewise.
      * image.c (make_image, search_image_cache, lookup_image):
      (xpm_put_color_table_h): Likewise.
      * lisp.h (struct Lisp_Hash_Table): Likewise, for 'count', 'cmpfn',
      and 'hashfn' members.
      * minibuf.c (Ftry_completion, Fall_completions, Ftest_completion):
      Likewise.
      * print.c (print): Likewise.
      * 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.
      0de4bb68
    • Paul Eggert's avatar
      * ccl.c: Improve comment. (Bug#8751) · b9627cfb
      Paul Eggert authored
      b9627cfb
    • Paul Eggert's avatar
      Use 'inline', not 'INLINE'. · eefc9486
      Paul Eggert authored
      [ChangeLog]
      * configure.in (INLINE): Remove.
      [lib-src/ChangeLog]
      * etags.c (hash): Now inline unconditionally.
      * make-docfile.c (put_char): inline, not INLINE.
      [nt/ChangeLog]
      * config.nt (INLINE): Remove.
      [src/ChangeLog]
      <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00914.html>
      * alloc.c, fontset.c (INLINE): Remove.
      * alloc.c, bidi.c, charset.c, coding.c, dispnew.c, fns.c, image.c:
      * intervals.c, keyboard.c, process.c, syntax.c, textprop.c, w32term.c:
      * xdisp.c, xfaces.c, xterm.c: Replace all uses of INLINE with inline.
      * gmalloc.c (register_heapinfo): Use inline unconditionally.
      * lisp.h (LISP_MAKE_RVALUE): Use inline, not __inline__.
      eefc9486
    • Paul Eggert's avatar
      Merge from trunk. · aa1a7eb8
      Paul Eggert authored
      aa1a7eb8
    • Paul Eggert's avatar
      Merge from trunk. · 333d54da
      Paul Eggert authored
      333d54da
    • Dan Nicolaescu's avatar
      Make it possible to run ./temacs. · 738db178
      Dan Nicolaescu authored
      * callproc.c (set_initial_environment): Remove CANNOT_DUMP code,
      syms_of_callproc does the same thing.  Remove test for
      "initialized", do it in the caller.
      * emacs.c (main): Avoid calling set_initial_environment when dumping.
      738db178
    • Stefan Monnier's avatar
      * lisp/minibuffer.el: Add metadata method to completion tables. · 620c53a6
      Stefan Monnier authored
      (completion-category-overrides): New defcustom.
      (completion-metadata, completion--field-metadata)
      (completion-metadata-get, completion--styles)
      (completion--cycle-threshold): New functions.
      (completion-try-completion, completion-all-completions):
      Add `metadata' argument to choose completion-styles.
      (completion--do-completion): Use metadata to choose cycling.
      (completion-all-sorted-completions): Use metadata for sorting.
      Remove :completion-cycle-penalty which is not needed any more.
      (completion--try-word-completion): Add `metadata' argument.
      (minibuffer-completion-help): Check metadata for annotation function
      and sorting.
      (completion-file-name-table): Return `category' metadata.
      (minibuffer-completing-file-name): Make obsolete.
      * lisp/simple.el (minibuffer-completing-symbol): Make obsolete.
      * lisp/icomplete.el (icomplete-completions): Pass new `metadata' param to
      completion-try-completion.
      * src/minibuf.c (Finternal_complete_buffer): Return `category' metadata.
      (read_minibuf): Use get_minibuffer.
      (syms_of_minibuf): Use DEFSYM.
      (Qmetadata): New var.
      * src/data.c (Qbuffer): Don't make it static.
      (syms_of_data): Use DEFSYM.
      620c53a6
    • Paul Eggert's avatar
      * ccl.c (CCL_CODE_RANGE): Allow negative numbers. (Bug#8751) · e003a292
      Paul Eggert authored
      (CCL_CODE_MIN): New macro.
      e003a292
  2. 30 May, 2011 11 commits
  3. 29 May, 2011 15 commits
  4. 28 May, 2011 6 commits