Mercurial > hg > xemacs-beta
comparison src/glyphs.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 | 902d5bd9b75c |
comparison
equal
deleted
inserted
replaced
2499:4c5ee4d2e921 | 2500:3d8143fc88e1 |
---|---|
709 else if (governing_domain == GOVERNING_DOMAIN_FRAME) | 709 else if (governing_domain == GOVERNING_DOMAIN_FRAME) |
710 domain = DOMAIN_FRAME (domain); | 710 domain = DOMAIN_FRAME (domain); |
711 else if (governing_domain == GOVERNING_DOMAIN_DEVICE) | 711 else if (governing_domain == GOVERNING_DOMAIN_DEVICE) |
712 domain = DOMAIN_DEVICE (domain); | 712 domain = DOMAIN_DEVICE (domain); |
713 else | 713 else |
714 abort (); | 714 ABORT (); |
715 | 715 |
716 return domain; | 716 return domain; |
717 } | 717 } |
718 | 718 |
719 Lisp_Object | 719 Lisp_Object |
1085 IMAGE_INSTANCE_SUBWINDOW_ID (ii)); | 1085 IMAGE_INSTANCE_SUBWINDOW_ID (ii)); |
1086 | 1086 |
1087 break; | 1087 break; |
1088 | 1088 |
1089 default: | 1089 default: |
1090 abort (); | 1090 ABORT (); |
1091 } | 1091 } |
1092 | 1092 |
1093 MAYBE_DEVMETH (DOMAIN_XDEVICE (ii->domain), print_image_instance, | 1093 MAYBE_DEVMETH (DOMAIN_XDEVICE (ii->domain), print_image_instance, |
1094 (ii, printcharfun, escapeflag)); | 1094 (ii, printcharfun, escapeflag)); |
1095 write_fmt_string (printcharfun, " 0x%x>", ii->header.uid); | 1095 write_fmt_string (printcharfun, " 0x%x>", ii->header.uid); |
1207 IMAGE_INSTANCE_SUBWINDOW_ID (i2))) | 1207 IMAGE_INSTANCE_SUBWINDOW_ID (i2))) |
1208 return 0; | 1208 return 0; |
1209 break; | 1209 break; |
1210 | 1210 |
1211 default: | 1211 default: |
1212 abort (); | 1212 ABORT (); |
1213 } | 1213 } |
1214 | 1214 |
1215 return DEVMETH_OR_GIVEN (DOMAIN_XDEVICE (i1->domain), | 1215 return DEVMETH_OR_GIVEN (DOMAIN_XDEVICE (i1->domain), |
1216 image_instance_equal, (i1, i2, depth), 1); | 1216 image_instance_equal, (i1, i2, depth), 1); |
1217 } | 1217 } |
1286 case IMAGE_SUBWINDOW: | 1286 case IMAGE_SUBWINDOW: |
1287 hash = HASH2 (hash, (EMACS_INT) IMAGE_INSTANCE_SUBWINDOW_ID (i)); | 1287 hash = HASH2 (hash, (EMACS_INT) IMAGE_INSTANCE_SUBWINDOW_ID (i)); |
1288 break; | 1288 break; |
1289 | 1289 |
1290 default: | 1290 default: |
1291 abort (); | 1291 ABORT (); |
1292 } | 1292 } |
1293 | 1293 |
1294 return HASH2 (hash, DEVMETH_OR_GIVEN | 1294 return HASH2 (hash, DEVMETH_OR_GIVEN |
1295 (XDEVICE (image_instance_device (obj)), | 1295 (XDEVICE (image_instance_device (obj)), |
1296 image_instance_hash, (i, depth), | 1296 image_instance_hash, (i, depth), |
1371 case IMAGE_COLOR_PIXMAP: return Qcolor_pixmap; | 1371 case IMAGE_COLOR_PIXMAP: return Qcolor_pixmap; |
1372 case IMAGE_POINTER: return Qpointer; | 1372 case IMAGE_POINTER: return Qpointer; |
1373 case IMAGE_SUBWINDOW: return Qsubwindow; | 1373 case IMAGE_SUBWINDOW: return Qsubwindow; |
1374 case IMAGE_WIDGET: return Qwidget; | 1374 case IMAGE_WIDGET: return Qwidget; |
1375 default: | 1375 default: |
1376 abort (); | 1376 ABORT (); |
1377 } | 1377 } |
1378 | 1378 |
1379 return Qnil; /* not reached */ | 1379 return Qnil; /* not reached */ |
1380 } | 1380 } |
1381 | 1381 |
2297 Lisp_Object UNUSED (pointer_fg), | 2297 Lisp_Object UNUSED (pointer_fg), |
2298 Lisp_Object UNUSED (pointer_bg), | 2298 Lisp_Object UNUSED (pointer_bg), |
2299 int UNUSED (dest_mask), Lisp_Object UNUSED (domain)) | 2299 int UNUSED (dest_mask), Lisp_Object UNUSED (domain)) |
2300 { | 2300 { |
2301 /* handled specially in image_instantiate */ | 2301 /* handled specially in image_instantiate */ |
2302 abort (); | 2302 ABORT (); |
2303 } | 2303 } |
2304 | 2304 |
2305 | 2305 |
2306 /**************************************************************************** | 2306 /**************************************************************************** |
2307 * string * | 2307 * string * |
3335 Fgethash (hash_key, | 3335 Fgethash (hash_key, |
3336 XWINDOW (governing_domain)->subwindow_instance_cache, | 3336 XWINDOW (governing_domain)->subwindow_instance_cache, |
3337 Qunbound); | 3337 Qunbound); |
3338 } | 3338 } |
3339 else | 3339 else |
3340 abort (); /* We're not allowed anything else currently. */ | 3340 ABORT (); /* We're not allowed anything else currently. */ |
3341 | 3341 |
3342 /* If we don't have an instance at this point then create | 3342 /* If we don't have an instance at this point then create |
3343 one. */ | 3343 one. */ |
3344 if (UNBOUNDP (instance)) | 3344 if (UNBOUNDP (instance)) |
3345 { | 3345 { |
3412 #endif | 3412 #endif |
3413 ERROR_CHECK_IMAGE_INSTANCE (instance); | 3413 ERROR_CHECK_IMAGE_INSTANCE (instance); |
3414 RETURN_UNGCPRO (instance); | 3414 RETURN_UNGCPRO (instance); |
3415 } | 3415 } |
3416 | 3416 |
3417 abort (); | 3417 ABORT (); |
3418 return Qnil; /* not reached */ | 3418 return Qnil; /* not reached */ |
3419 } | 3419 } |
3420 | 3420 |
3421 /* Validate an image instantiator. */ | 3421 /* Validate an image instantiator. */ |
3422 | 3422 |
3808 XIMAGE_SPECIFIER_ALLOWED (g->image) = | 3808 XIMAGE_SPECIFIER_ALLOWED (g->image) = |
3809 IMAGE_NOTHING_MASK | IMAGE_MONO_PIXMAP_MASK | 3809 IMAGE_NOTHING_MASK | IMAGE_MONO_PIXMAP_MASK |
3810 | IMAGE_COLOR_PIXMAP_MASK; | 3810 | IMAGE_COLOR_PIXMAP_MASK; |
3811 break; | 3811 break; |
3812 default: | 3812 default: |
3813 abort (); | 3813 ABORT (); |
3814 } | 3814 } |
3815 | 3815 |
3816 /* I think Fmake_specifier can GC. I think set_specifier_fallback can GC. */ | 3816 /* I think Fmake_specifier can GC. I think set_specifier_fallback can GC. */ |
3817 /* We're getting enough reports of odd behavior in this area it seems */ | 3817 /* We're getting enough reports of odd behavior in this area it seems */ |
3818 /* best to GCPRO everything. */ | 3818 /* best to GCPRO everything. */ |
3933 (glyph)) | 3933 (glyph)) |
3934 { | 3934 { |
3935 CHECK_GLYPH (glyph); | 3935 CHECK_GLYPH (glyph); |
3936 switch (XGLYPH_TYPE (glyph)) | 3936 switch (XGLYPH_TYPE (glyph)) |
3937 { | 3937 { |
3938 default: abort (); | 3938 default: ABORT (); |
3939 case GLYPH_BUFFER: return Qbuffer; | 3939 case GLYPH_BUFFER: return Qbuffer; |
3940 case GLYPH_POINTER: return Qpointer; | 3940 case GLYPH_POINTER: return Qpointer; |
3941 case GLYPH_ICON: return Qicon; | 3941 case GLYPH_ICON: return Qicon; |
3942 } | 3942 } |
3943 } | 3943 } |
5016 return gotit; | 5016 return gotit; |
5017 else | 5017 else |
5018 continue; | 5018 continue; |
5019 } | 5019 } |
5020 else | 5020 else |
5021 abort (); | 5021 ABORT (); |
5022 } | 5022 } |
5023 } | 5023 } |
5024 | 5024 |
5025 /**************************************************************************** | 5025 /**************************************************************************** |
5026 * timeouts for animated glyphs * | 5026 * timeouts for animated glyphs * |