comparison src/signal.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 ecf1ebac70d8
children cc24b630b1d6
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
256 } 256 }
257 257
258 /* If alarm() gets called when polling isn't disabled, it will mess up 258 /* If alarm() gets called when polling isn't disabled, it will mess up
259 the asynchronous timeouts, and then C-g checking won't work again. 259 the asynchronous timeouts, and then C-g checking won't work again.
260 Some libraries call alarm() directly, so we override the standard 260 Some libraries call alarm() directly, so we override the standard
261 library's alarm() and abort() if the caller of the library function 261 library's alarm() and ABORT() if the caller of the library function
262 didn't wrap in stop_interrupts()/start_interrupts(). 262 didn't wrap in stop_interrupts()/start_interrupts().
263 263
264 NOTE: We could potentially avoid the need to wrap by adding a 264 NOTE: We could potentially avoid the need to wrap by adding a
265 one-shot timeout to simulate the alarm(), smashing our signal 265 one-shot timeout to simulate the alarm(), smashing our signal
266 handler back into place, and calling the library function when the 266 handler back into place, and calling the library function when the
309 switch (kind) 309 switch (kind)
310 { 310 {
311 case ITIMER_REAL: return setitimer (ITIMER_REAL, itnew, itold); 311 case ITIMER_REAL: return setitimer (ITIMER_REAL, itnew, itold);
312 case ITIMER_VIRTUAL: return setitimer (ITIMER_VIRTUAL, itnew, itold); 312 case ITIMER_VIRTUAL: return setitimer (ITIMER_VIRTUAL, itnew, itold);
313 case ITIMER_PROF: return setitimer (ITIMER_PROF, itnew, itold); 313 case ITIMER_PROF: return setitimer (ITIMER_PROF, itnew, itold);
314 default: abort (); return 0; 314 default: ABORT (); return 0;
315 } 315 }
316 #endif 316 #endif
317 } 317 }
318 318
319 #endif /* HAVE_SETITIMER */ 319 #endif /* HAVE_SETITIMER */
612 Fdo_auto_save (Qnil, Qnil); 612 Fdo_auto_save (Qnil, Qnil);
613 while (c != '\n') 613 while (c != '\n')
614 c = getc (stdin); 614 c = getc (stdin);
615 stdout_out ("Abort (and dump core)? (y or n) "); 615 stdout_out ("Abort (and dump core)? (y or n) ");
616 if (((c = getc (stdin)) & ~040) == 'Y') 616 if (((c = getc (stdin)) & ~040) == 'Y')
617 abort (); 617 ABORT ();
618 while (c != '\n') 618 while (c != '\n')
619 c = getc (stdin); 619 c = getc (stdin);
620 stdout_out ("Continuing...\n"); 620 stdout_out ("Continuing...\n");
621 reinit_initial_console (); 621 reinit_initial_console ();
622 MARK_FRAME_CHANGED (XFRAME (DEVICE_SELECTED_FRAME 622 MARK_FRAME_CHANGED (XFRAME (DEVICE_SELECTED_FRAME