comparison src/lisp.h @ 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 b87570db038f
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
1042 1042
1043 #ifdef USE_ASSERTIONS 1043 #ifdef USE_ASSERTIONS
1044 /* Highly dubious kludge */ 1044 /* Highly dubious kludge */
1045 /* (thanks, Jamie, I feel better now -- ben) */ 1045 /* (thanks, Jamie, I feel better now -- ben) */
1046 MODULE_API void assert_failed (const Ascbyte *, int, const Ascbyte *); 1046 MODULE_API void assert_failed (const Ascbyte *, int, const Ascbyte *);
1047 # define abort() (assert_failed (__FILE__, __LINE__, "abort()")) 1047 # define ABORT() (assert_failed (__FILE__, __LINE__, "ABORT()"))
1048 # define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x)) 1048 # define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x))
1049 # define assert_with_message(x, msg) \ 1049 # define assert_with_message(x, msg) \
1050 ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, msg)) 1050 ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, msg))
1051 # define assert_at_line(x, file, line) \ 1051 # define assert_at_line(x, file, line) \
1052 ((x) ? (void) 0 : assert_failed (file, line, #x)) 1052 ((x) ? (void) 0 : assert_failed (file, line, #x))
1053 #else 1053 #else
1054 # ifdef DEBUG_XEMACS 1054 # ifdef DEBUG_XEMACS
1055 # define assert(x) ((x) ? (void) 0 : (void) abort ()) 1055 # define assert(x) ((x) ? (void) 0 : (void) ABORT ())
1056 # define assert_with_message(x, msg) ((x) ? (void) 0 : (void) abort ()) 1056 # define assert_with_message(x, msg) ((x) ? (void) 0 : (void) ABORT ())
1057 # define assert_at_line(x, file, line) assert (x) 1057 # define assert_at_line(x, file, line) assert (x)
1058 # else 1058 # else
1059 # define assert(x) ((void) 0) 1059 # define assert(x) ((void) 0)
1060 # define assert_with_message(x, msg) 1060 # define assert_with_message(x, msg)
1061 # define assert_at_line(x, file, line) assert (x) 1061 # define assert_at_line(x, file, line) assert (x)
1981 ; \ 1981 ; \
1982 } while (0) 1982 } while (0)
1983 1983
1984 /* For a list that's known to be in valid list format, where we may 1984 /* For a list that's known to be in valid list format, where we may
1985 be deleting the current element out of the list -- 1985 be deleting the current element out of the list --
1986 will abort() if the list is not in valid format */ 1986 will ABORT() if the list is not in valid format */
1987 #define LIST_LOOP_DELETING(consvar, nextconsvar, list) \ 1987 #define LIST_LOOP_DELETING(consvar, nextconsvar, list) \
1988 for (consvar = list; \ 1988 for (consvar = list; \
1989 !NILP (consvar) ? (nextconsvar = XCDR (consvar), 1) :0; \ 1989 !NILP (consvar) ? (nextconsvar = XCDR (consvar), 1) :0; \
1990 consvar = nextconsvar) 1990 consvar = nextconsvar)
1991 1991
2540 #define MARKERP(x) RECORDP (x, marker) 2540 #define MARKERP(x) RECORDP (x, marker)
2541 #define CHECK_MARKER(x) CHECK_RECORD (x, marker) 2541 #define CHECK_MARKER(x) CHECK_RECORD (x, marker)
2542 #define CONCHECK_MARKER(x) CONCHECK_RECORD (x, marker) 2542 #define CONCHECK_MARKER(x) CONCHECK_RECORD (x, marker)
2543 2543
2544 /* The second check was looking for GCed markers still in use */ 2544 /* The second check was looking for GCed markers still in use */
2545 /* if (INTP (XMARKER (x)->lheader.next.v)) abort (); */ 2545 /* if (INTP (XMARKER (x)->lheader.next.v)) ABORT (); */
2546 2546
2547 #define marker_next(m) ((m)->next) 2547 #define marker_next(m) ((m)->next)
2548 #define marker_prev(m) ((m)->prev) 2548 #define marker_prev(m) ((m)->prev)
2549 2549
2550 /*------------------------------- char ---------------------------------*/ 2550 /*------------------------------- char ---------------------------------*/