Mercurial > hg > xemacs-beta
comparison src/text.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 | ab71ad6ff3dd |
children | e01408ac6580 |
comparison
equal
deleted
inserted
replaced
2499:4c5ee4d2e921 | 2500:3d8143fc88e1 |
---|---|
2707 size = 1; | 2707 size = 1; |
2708 } | 2708 } |
2709 } | 2709 } |
2710 #ifdef ERROR_CHECK_TEXT | 2710 #ifdef ERROR_CHECK_TEXT |
2711 else if (x >= bufmin) | 2711 else if (x >= bufmin) |
2712 abort (); | 2712 ABORT (); |
2713 #endif | 2713 #endif |
2714 else | 2714 else |
2715 { | 2715 { |
2716 Charbpos diffmin = bufmin - x; | 2716 Charbpos diffmin = bufmin - x; |
2717 Charbpos diffpt = BUF_PT (buf) - x; | 2717 Charbpos diffpt = BUF_PT (buf) - x; |
3200 size = 1; | 3200 size = 1; |
3201 } | 3201 } |
3202 } | 3202 } |
3203 #ifdef ERROR_CHECK_TEXT | 3203 #ifdef ERROR_CHECK_TEXT |
3204 else if (x >= bytmin) | 3204 else if (x >= bytmin) |
3205 abort (); | 3205 ABORT (); |
3206 #endif | 3206 #endif |
3207 else | 3207 else |
3208 { | 3208 { |
3209 Bytebpos diffmin = bytmin - x; | 3209 Bytebpos diffmin = bytmin - x; |
3210 Bytebpos diffpt = BYTE_BUF_PT (buf) - x; | 3210 Bytebpos diffpt = BYTE_BUF_PT (buf) - x; |
4490 function called, then the other one called, then the copy functions | 4490 function called, then the other one called, then the copy functions |
4491 called). To handle this, we keep a list of active data, indexed by the | 4491 called). To handle this, we keep a list of active data, indexed by the |
4492 src expression. (We use the stringize operator to avoid evaluating the | 4492 src expression. (We use the stringize operator to avoid evaluating the |
4493 expression multiple times.) If the caller uses the exact same src | 4493 expression multiple times.) If the caller uses the exact same src |
4494 expression twice in two converter calls in the same subexpression, we | 4494 expression twice in two converter calls in the same subexpression, we |
4495 will lose, but at least we can check for this and abort(). We could | 4495 will lose, but at least we can check for this and ABORT(). We could |
4496 conceivably try to index on other parameters as well, but there is not | 4496 conceivably try to index on other parameters as well, but there is not |
4497 really any point. */ | 4497 really any point. */ |
4498 | 4498 |
4499 alloca_convert_vals_dynarr *active_alloca_convert; | 4499 alloca_convert_vals_dynarr *active_alloca_convert; |
4500 | 4500 |
4571 TO_EXTERNAL_FORMAT (LISP_STRING, VOID_TO_LISP (src), | 4571 TO_EXTERNAL_FORMAT (LISP_STRING, VOID_TO_LISP (src), |
4572 MALLOC, (*dst, *dst_size), codesys); | 4572 MALLOC, (*dst, *dst_size), codesys); |
4573 break; | 4573 break; |
4574 | 4574 |
4575 default: | 4575 default: |
4576 abort (); | 4576 ABORT (); |
4577 } | 4577 } |
4578 | 4578 |
4579 /* The size is always + 2 because we have double zero-termination at the | 4579 /* The size is always + 2 because we have double zero-termination at the |
4580 end of all data (for Unicode-correctness). */ | 4580 end of all data (for Unicode-correctness). */ |
4581 *dst_size += 2; | 4581 *dst_size += 2; |