aboutsummaryrefslogtreecommitdiffstats
path: root/src/xterm.c
diff options
context:
space:
mode:
authorStefan Monnier2012-11-08 14:12:23 -0500
committerStefan Monnier2012-11-08 14:12:23 -0500
commitb7432bb20f48902994bee522bea15acdb0c0e209 (patch)
tree940e242625e16ade096c4144d728c56107aa7005 /src/xterm.c
parent880027430c5580abf612a82273bd49b75b9fb73c (diff)
downloademacs-b7432bb20f48902994bee522bea15acdb0c0e209.tar.gz
emacs-b7432bb20f48902994bee522bea15acdb0c0e209.zip
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/xterm.c')
-rw-r--r--src/xterm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xterm.c b/src/xterm.c
index 4dd1dee0f75..f89fbabaecc 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10868,10 +10868,10 @@ default is nil, which is the same as `super'. */);
10868 10868
10869 DEFVAR_LISP ("x-keysym-table", Vx_keysym_table, 10869 DEFVAR_LISP ("x-keysym-table", Vx_keysym_table,
10870 doc: /* Hash table of character codes indexed by X keysym codes. */); 10870 doc: /* Hash table of character codes indexed by X keysym codes. */);
10871 Vx_keysym_table = make_hash_table (Qeql, make_number (900), 10871 Vx_keysym_table = make_hash_table (hashtest_eql, make_number (900),
10872 make_float (DEFAULT_REHASH_SIZE), 10872 make_float (DEFAULT_REHASH_SIZE),
10873 make_float (DEFAULT_REHASH_THRESHOLD), 10873 make_float (DEFAULT_REHASH_THRESHOLD),
10874 Qnil, Qnil, Qnil); 10874 Qnil);
10875} 10875}
10876 10876
10877#endif /* HAVE_X_WINDOWS */ 10877#endif /* HAVE_X_WINDOWS */