comparison src/event-stream.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 6fa9919a9a0b
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
1299 lisp_number_to_milliseconds (resignal, 0)); 1299 lisp_number_to_milliseconds (resignal, 0));
1300 int id; 1300 int id;
1301 Lisp_Object lid; 1301 Lisp_Object lid;
1302 id = event_stream_generate_wakeup (msecs, msecs2, function, object, 0); 1302 id = event_stream_generate_wakeup (msecs, msecs2, function, object, 0);
1303 lid = make_int (id); 1303 lid = make_int (id);
1304 if (id != XINT (lid)) abort (); 1304 if (id != XINT (lid)) ABORT ();
1305 return lid; 1305 return lid;
1306 } 1306 }
1307 1307
1308 DEFUN ("disable-timeout", Fdisable_timeout, 1, 1, 0, /* 1308 DEFUN ("disable-timeout", Fdisable_timeout, 1, 1, 0, /*
1309 Disable a timeout from signalling any more. 1309 Disable a timeout from signalling any more.
1378 lisp_number_to_milliseconds (resignal, 0)); 1378 lisp_number_to_milliseconds (resignal, 0));
1379 int id; 1379 int id;
1380 Lisp_Object lid; 1380 Lisp_Object lid;
1381 id = event_stream_generate_wakeup (msecs, msecs2, function, object, 1); 1381 id = event_stream_generate_wakeup (msecs, msecs2, function, object, 1);
1382 lid = make_int (id); 1382 lid = make_int (id);
1383 if (id != XINT (lid)) abort (); 1383 if (id != XINT (lid)) ABORT ();
1384 return lid; 1384 return lid;
1385 } 1385 }
1386 1386
1387 DEFUN ("disable-async-timeout", Fdisable_async_timeout, 1, 1, 0, /* 1387 DEFUN ("disable-async-timeout", Fdisable_async_timeout, 1, 1, 0, /*
1388 Disable an asynchronous timeout from signalling any more. 1388 Disable an asynchronous timeout from signalling any more.
3079 } 3079 }
3080 case magic_event: 3080 case magic_event:
3081 event_stream_handle_magic_event (XEVENT (event)); 3081 event_stream_handle_magic_event (XEVENT (event));
3082 goto done; 3082 goto done;
3083 default: 3083 default:
3084 abort (); 3084 ABORT ();
3085 } 3085 }
3086 3086
3087 done: 3087 done:
3088 PROFILE_RECORD_EXITING_SECTION (QSexecute_internal_event); 3088 PROFILE_RECORD_EXITING_SECTION (QSexecute_internal_event);
3089 } 3089 }
3589 for (i = 0, j = start; i < nkeys; i++) 3589 for (i = 0, j = start; i < nkeys; i++)
3590 { 3590 {
3591 Lisp_Object e = XVECTOR_DATA (Vrecent_keys_ring)[j]; 3591 Lisp_Object e = XVECTOR_DATA (Vrecent_keys_ring)[j];
3592 3592
3593 if (NILP (e)) 3593 if (NILP (e))
3594 abort (); 3594 ABORT ();
3595 XVECTOR_DATA (val)[i] = Fcopy_event (e, Qnil); 3595 XVECTOR_DATA (val)[i] = Fcopy_event (e, Qnil);
3596 if (++j >= recent_keys_ring_size) 3596 if (++j >= recent_keys_ring_size)
3597 j = 0; 3597 j = 0;
3598 } 3598 }
3599 UNGCPRO; 3599 UNGCPRO;
3733 || XEVENT_TYPE (event) == button_release_event 3733 || XEVENT_TYPE (event) == button_release_event
3734 || XEVENT_TYPE (event) == misc_user_event)) 3734 || XEVENT_TYPE (event) == misc_user_event))
3735 { 3735 {
3736 if (!n) 3736 if (!n)
3737 { 3737 {
3738 /* must copy to avoid an abort() in next_event_internal() */ 3738 /* must copy to avoid an ABORT() in next_event_internal() */
3739 if (!NILP (XEVENT_NEXT (event))) 3739 if (!NILP (XEVENT_NEXT (event)))
3740 return Fcopy_event (event, Qnil); 3740 return Fcopy_event (event, Qnil);
3741 else 3741 else
3742 return event; 3742 return event;
3743 } 3743 }
3866 else if (EVENT_TYPE (e) == button_press_event 3866 else if (EVENT_TYPE (e) == button_press_event
3867 || EVENT_TYPE (e) == button_release_event) 3867 || EVENT_TYPE (e) == button_release_event)
3868 SET_EVENT_BUTTON_MODIFIERS (e, EVENT_BUTTON_MODIFIERS (e) | 3868 SET_EVENT_BUTTON_MODIFIERS (e, EVENT_BUTTON_MODIFIERS (e) |
3869 XEMACS_MOD_META); 3869 XEMACS_MOD_META);
3870 else 3870 else
3871 abort (); 3871 ABORT ();
3872 3872
3873 { 3873 {
3874 int tckn = event_chain_count (Vthis_command_keys); 3874 int tckn = event_chain_count (Vthis_command_keys);
3875 if (tckn >= 2) 3875 if (tckn >= 2)
3876 /* ??? very strange if it's < 2. */ 3876 /* ??? very strange if it's < 2. */