comparison src/elhash.c @ 2500:3d8143fc88e1

[xemacs-hg @ 2005-01-24 23:33:30 by ben] get working with VC7 config.inc.samp: Declare OPTIONAL_LIBRARY_DIR as root of library directories. Redo all graphics library defaults to mirror the versions and directories in the current binary aux distribution on xemacs web site. Enable TIFF and COMPFACE by default since you can now compile with them and binary libs are provided. xemacs.mak: Put our own directories first in case of conflict (e.g. config.h in compface). xemacs.mak: Use MSVCRT to avoid link problems. s/windowsnt.h: bytecode.c, print.c: Add casts to avoid warning. compiler.h: Add MSC_VERSION and include definitions of DOESNT_RETURN and friends here, like for GCC. Need different definitions for VC7 and VC6. s/windowsnt.h: Remove stuff moved to compiler.h. Disable warning 4646 ("function declared with __declspec(noreturn) has non-void return type") on VC7 since lots of Lisp primitives trigger this and there is no easy way to kludge around the warning. glyphs-eimage.c: Some really nasty hacks to allow TIFF and JPEG to both be compiled. #### The better solution is to move the TIFF and JPEG code to different files. glyphs-msw.c: Define __STDC__ to avoid problems with compface.h. intl-auto-encap-win32.c, intl-auto-encap-win32.h, intl-encap-win32.c, syswindows.h: Those wankers at Microsoft cannot leave well enough alone. Various functions change parameter types semi-randomly between VC6 and VC7, so we need to include our own versions that can handle both kinds with appropriate casting. EmacsFrame.c, EmacsShell-sub.c, EmacsShell.c, alloc.c, alloca.c, buffer.c, bytecode.c, charset.h, chartab.c, cm.c, console-stream.c, console.c, data.c, debug.h, device-msw.c, device-tty.c, device-x.c, doprnt.c, dumper.c, dynarr.c, elhash.c, emacs.c, eval.c, event-Xt.c, event-gtk.c, event-msw.c, event-stream.c, events.c, extents.c, faces.c, file-coding.c, fileio.c, fns.c, font-lock.c, frame-gtk.c, frame-x.c, frame.c, free-hook.c, gccache-gtk.c, glyphs-eimage.c, glyphs-gtk.c, glyphs-msw.c, glyphs-x.c, glyphs.c, gtk-glue.c, gutter.c, input-method-xlib.c, insdel.c, intl-win32.c, keymap.c, lisp.h, lread.c, lstream.c, macros.c, malloc.c, menubar-gtk.c, menubar-msw.c, menubar-x.c, mule-coding.c, native-gtk-toolbar.c, number.c, objects-msw.c, objects.c, print.c, process-nt.c, process-unix.c, process.c, ralloc.c, rangetab.c, redisplay-gtk.c, redisplay-msw.c, redisplay-output.c, redisplay-tty.c, redisplay-x.c, redisplay.c, regex.c, scrollbar-gtk.c, scrollbar-x.c, search.c, select-x.c, signal.c, specifier.c, specifier.h, strftime.c, sunplay.c, symbols.c, sysdep.c, sysproc.h, text.c, text.h, toolbar-common.c, toolbar-msw.c, toolbar.c, ui-gtk.c, unexnt.c, unicode.c, win32.c, window.c, xgccache.c, s/windowsnt.h: abort() -> ABORT(). Eliminate preprocessor games with abort() since it creates huge problems in VC7, solvable only by including massive amounts of files in every compile (and not worth it).
author ben
date Mon, 24 Jan 2005 23:34:34 +0000
parents ab71ad6ff3dd
children 9f70af3ac939
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
372 else if (ht->test_function == lisp_object_equal_equal) 372 else if (ht->test_function == lisp_object_equal_equal)
373 write_c_string (printcharfun, " test equal"); 373 write_c_string (printcharfun, " test equal");
374 else if (ht->test_function == lisp_object_eql_equal) 374 else if (ht->test_function == lisp_object_eql_equal)
375 DO_NOTHING; 375 DO_NOTHING;
376 else 376 else
377 abort (); 377 ABORT ();
378 378
379 if (ht->count || !print_readably) 379 if (ht->count || !print_readably)
380 { 380 {
381 if (print_readably) 381 if (print_readably)
382 write_fmt_string (printcharfun, " size %ld", (long) ht->count); 382 write_fmt_string (printcharfun, " size %ld", (long) ht->count);
531 test_function = lisp_object_equal_equal; 531 test_function = lisp_object_equal_equal;
532 hash_function = lisp_object_equal_hash; 532 hash_function = lisp_object_equal_hash;
533 break; 533 break;
534 534
535 default: 535 default:
536 abort (); 536 ABORT ();
537 } 537 }
538 538
539 return make_general_lisp_hash_table (hash_function, test_function, 539 return make_general_lisp_hash_table (hash_function, test_function,
540 size, rehash_size, rehash_threshold, 540 size, rehash_size, rehash_threshold,
541 weakness); 541 weakness);
796 else if (EQ (key, Qrehash_threshold)) rehash_threshold = value; 796 else if (EQ (key, Qrehash_threshold)) rehash_threshold = value;
797 else if (EQ (key, Qweakness)) weakness = value; 797 else if (EQ (key, Qweakness)) weakness = value;
798 else if (EQ (key, Qdata)) data = value; 798 else if (EQ (key, Qdata)) data = value;
799 else if (EQ (key, Qtype))/*obsolete*/ weakness = value; 799 else if (EQ (key, Qtype))/*obsolete*/ weakness = value;
800 else 800 else
801 abort (); 801 ABORT ();
802 } 802 }
803 803
804 /* Create the hash table. */ 804 /* Create the hash table. */
805 hash_table = make_standard_lisp_hash_table 805 hash_table = make_standard_lisp_hash_table
806 (decode_hash_table_test (test), 806 (decode_hash_table_test (test),