Mercurial > hg > xemacs-beta
comparison src/gccache-gtk.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 | 91d4c8c65a0f |
children | de9952d2ed18 |
comparison
equal
deleted
inserted
replaced
2499:4c5ee4d2e921 | 2500:3d8143fc88e1 |
---|---|
158 gc_cache_lookup (struct gc_cache *cache, GdkGCValues *gcv, unsigned long mask) | 158 gc_cache_lookup (struct gc_cache *cache, GdkGCValues *gcv, unsigned long mask) |
159 { | 159 { |
160 struct gc_cache_cell *cell, *next, *prev; | 160 struct gc_cache_cell *cell, *next, *prev; |
161 struct gcv_and_mask gcvm; | 161 struct gcv_and_mask gcvm; |
162 | 162 |
163 if ((!!cache->head) != (!!cache->tail)) abort (); | 163 if ((!!cache->head) != (!!cache->tail)) ABORT (); |
164 if (cache->head && (cache->head->prev || cache->tail->next)) abort (); | 164 if (cache->head && (cache->head->prev || cache->tail->next)) ABORT (); |
165 | 165 |
166 /* Gdk does not have the equivalent of 'None' for the clip_mask, so | 166 /* Gdk does not have the equivalent of 'None' for the clip_mask, so |
167 we need to check it carefully, or gdk_gc_new_with_values will | 167 we need to check it carefully, or gdk_gc_new_with_values will |
168 coredump */ | 168 coredump */ |
169 if ((mask & GDK_GC_CLIP_MASK) && !gcv->clip_mask) | 169 if ((mask & GDK_GC_CLIP_MASK) && !gcv->clip_mask) |
214 if (cache->head == cell) cache->head = next; | 214 if (cache->head == cell) cache->head = next; |
215 cell->next = 0; | 215 cell->next = 0; |
216 cell->prev = cache->tail; | 216 cell->prev = cache->tail; |
217 cache->tail->next = cell; | 217 cache->tail->next = cell; |
218 cache->tail = cell; | 218 cache->tail = cell; |
219 if (cache->head == cell) abort (); | 219 if (cache->head == cell) ABORT (); |
220 if (cell->next) abort (); | 220 if (cell->next) ABORT (); |
221 if (cache->head->prev) abort (); | 221 if (cache->head->prev) ABORT (); |
222 if (cache->tail->next) abort (); | 222 if (cache->tail->next) ABORT (); |
223 return cell->gc; | 223 return cell->gc; |
224 } | 224 } |
225 | 225 |
226 /* else, cache miss. */ | 226 /* else, cache miss. */ |
227 | 227 |
239 #ifdef GCCACHE_HASH | 239 #ifdef GCCACHE_HASH |
240 remhash (&cell->gcvm, cache->table); | 240 remhash (&cell->gcvm, cache->table); |
241 #endif | 241 #endif |
242 } | 242 } |
243 else if (cache->size > GC_CACHE_SIZE) | 243 else if (cache->size > GC_CACHE_SIZE) |
244 abort (); | 244 ABORT (); |
245 else | 245 else |
246 { | 246 { |
247 /* Allocate a new cell (don't put it in the list or table yet). */ | 247 /* Allocate a new cell (don't put it in the list or table yet). */ |
248 cell = xnew (struct gc_cache_cell); | 248 cell = xnew (struct gc_cache_cell); |
249 cache->size++; | 249 cache->size++; |