diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-11-08 14:12:23 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2012-11-08 14:12:23 -0500 |
commit | b7432bb20f48902994bee522bea15acdb0c0e209 (patch) | |
tree | 940e242625e16ade096c4144d728c56107aa7005 /src/emacs.c | |
parent | 880027430c5580abf612a82273bd49b75b9fb73c (diff) | |
download | emacs-b7432bb20f48902994bee522bea15acdb0c0e209.tar.gz |
Use ad-hoc comparison function for the profiler's hash-tables.
* src/profiler.c (Qprofiler_backtrace_equal, hashtest_profiler): New vars.
(make_log): Use them.
(handle_profiler_signal): Don't inhibit quit any longer since we don't
call Fequal any more.
(Ffunction_equal): New function.
(cmpfn_profiler, hashfn_profiler): New functions.
(syms_of_profiler): Initialize them.
* src/lisp.h (struct hash_table_test): New struct.
(struct Lisp_Hash_Table): Use it.
* src/alloc.c (mark_object): Mark hash_table_test fields of hash tables.
* src/fns.c (make_hash_table): Take a struct to describe the test.
(cmpfn_eql, cmpfn_equal, cmpfn_user_defined, hashfn_eq, hashfn_eql)
(hashfn_equal, hashfn_user_defined): Adjust to new calling convention.
(hash_lookup, hash_remove_from_table): Move assertion checking of
hashfn result here. Check hash-equality before calling cmpfn.
(Fmake_hash_table): Adjust call to make_hash_table.
(hashtest_eq, hashtest_eql, hashtest_equal): New structs.
(syms_of_fns): Initialize them.
* src/emacs.c (main): Move syms_of_fns earlier.
* src/xterm.c (syms_of_xterm):
* src/category.c (hash_get_category_set): Adjust call to make_hash_table.
* src/print.c (print_object): Adjust to new hash-table struct.
* src/composite.c (composition_gstring_put_cache): Adjust to new hashfn.
Diffstat (limited to 'src/emacs.c')
-rw-r--r-- | src/emacs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/emacs.c b/src/emacs.c index f12713b9628..fee9c332c55 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1154,6 +1154,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem /* Called before syms_of_fileio, because it sets up Qerror_condition. */ syms_of_data (); + syms_of_fns (); /* Before syms_of_charset which uses hashtables. */ syms_of_fileio (); /* Before syms_of_coding to initialize Vgc_cons_threshold. */ syms_of_alloc (); @@ -1165,7 +1166,7 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem init_window_once (); /* Init the window system. */ #ifdef HAVE_WINDOW_SYSTEM - init_fringe_once (); /* Swap bitmaps if necessary. */ + init_fringe_once (); /* Swap bitmaps if necessary. */ #endif /* HAVE_WINDOW_SYSTEM */ } @@ -1348,7 +1349,6 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem syms_of_lread (); syms_of_print (); syms_of_eval (); - syms_of_fns (); syms_of_floatfns (); syms_of_buffer (); |