comparison src/eval.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 989a7680c221
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
1640 Lisp_Object sig, Lisp_Object data) 1640 Lisp_Object sig, Lisp_Object data)
1641 { 1641 {
1642 #ifdef DEFEND_AGAINST_THROW_RECURSION 1642 #ifdef DEFEND_AGAINST_THROW_RECURSION
1643 /* die if we recurse more than is reasonable */ 1643 /* die if we recurse more than is reasonable */
1644 if (++throw_level > 20) 1644 if (++throw_level > 20)
1645 abort (); 1645 ABORT ();
1646 #endif 1646 #endif
1647 1647
1648 #ifdef ERROR_CHECK_TRAPPING_PROBLEMS 1648 #ifdef ERROR_CHECK_TRAPPING_PROBLEMS
1649 check_proper_critical_section_nonlocal_exit_protection (); 1649 check_proper_critical_section_nonlocal_exit_protection ();
1650 #endif 1650 #endif
2226 if (!initialized) 2226 if (!initialized)
2227 { 2227 {
2228 /* who knows how much has been initialized? Safest bet is 2228 /* who knows how much has been initialized? Safest bet is
2229 just to bomb out immediately. */ 2229 just to bomb out immediately. */
2230 stderr_out ("Error before initialization is complete!\n"); 2230 stderr_out ("Error before initialization is complete!\n");
2231 abort (); 2231 ABORT ();
2232 } 2232 }
2233 2233
2234 assert (!gc_in_progress); 2234 assert (!gc_in_progress);
2235 2235
2236 /* We abort if in_display and we are not protected, as garbage 2236 /* We abort if in_display and we are not protected, as garbage
6542 `critical' causes running Lisp code to abort regardless of `inhibit-quit'. 6542 `critical' causes running Lisp code to abort regardless of `inhibit-quit'.
6543 Normally, you do not need to set this value yourself. It is set to 6543 Normally, you do not need to set this value yourself. It is set to
6544 t each time a Control-G is detected, and to `critical' each time a 6544 t each time a Control-G is detected, and to `critical' each time a
6545 Shift-Control-G is detected. The XEmacs core C code is littered with 6545 Shift-Control-G is detected. The XEmacs core C code is littered with
6546 calls to the QUIT; macro, which check the values of `quit-flag' and 6546 calls to the QUIT; macro, which check the values of `quit-flag' and
6547 `inhibit-quit' and abort (or more accurately, call (signal 'quit)) if 6547 `inhibit-quit' and ABORT (or more accurately, call (signal 'quit)) if
6548 it's correct to do so. 6548 it's correct to do so.
6549 */ ); 6549 */ );
6550 Vquit_flag = Qnil; 6550 Vquit_flag = Qnil;
6551 6551
6552 DEFVAR_LISP ("inhibit-quit", &Vinhibit_quit /* 6552 DEFVAR_LISP ("inhibit-quit", &Vinhibit_quit /*
6605 in the C code), instead of trying to invoke the Lisp debugger (which 6605 in the C code), instead of trying to invoke the Lisp debugger (which
6606 obviously won't work), XEmacs will break out to a C debugger using 6606 obviously won't work), XEmacs will break out to a C debugger using
6607 \(force-debugging-signal t). This is useful because debugging 6607 \(force-debugging-signal t). This is useful because debugging
6608 noninteractive runs of XEmacs is often very difficult, since they typically 6608 noninteractive runs of XEmacs is often very difficult, since they typically
6609 happen as part of sometimes large and complex make suites (e.g. rebuilding 6609 happen as part of sometimes large and complex make suites (e.g. rebuilding
6610 the XEmacs packages). NOTE: This runs abort()!!! (As well as and after 6610 the XEmacs packages). NOTE: This runs ABORT()!!! (As well as and after
6611 executing INT 3 under MS Windows, which should invoke a debugger if it's 6611 executing INT 3 under MS Windows, which should invoke a debugger if it's
6612 active.) This is guaranteed to kill XEmacs! (But in this situation, XEmacs 6612 active.) This is guaranteed to kill XEmacs! (But in this situation, XEmacs
6613 is about to die anyway, and if no debugger is present, this will usefully 6613 is about to die anyway, and if no debugger is present, this will usefully
6614 dump core.) The most useful way to set this flag when debugging 6614 dump core.) The most useful way to set this flag when debugging
6615 noninteractive runs, especially in makefiles, is using the environment 6615 noninteractive runs, especially in makefiles, is using the environment