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 *