comparison src/extents.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 8c96bdabcaf9
comparison
equal deleted inserted replaced
2499:4c5ee4d2e921 2500:3d8143fc88e1
2018 { 2018 {
2019 case ME_ALL_EXTENTS_CLOSED: start_open = 0, end_open = 0; break; 2019 case ME_ALL_EXTENTS_CLOSED: start_open = 0, end_open = 0; break;
2020 case ME_ALL_EXTENTS_OPEN: start_open = 1, end_open = 1; break; 2020 case ME_ALL_EXTENTS_OPEN: start_open = 1, end_open = 1; break;
2021 case ME_ALL_EXTENTS_CLOSED_OPEN: start_open = 0, end_open = 1; break; 2021 case ME_ALL_EXTENTS_CLOSED_OPEN: start_open = 0, end_open = 1; break;
2022 case ME_ALL_EXTENTS_OPEN_CLOSED: start_open = 1, end_open = 0; break; 2022 case ME_ALL_EXTENTS_OPEN_CLOSED: start_open = 1, end_open = 0; break;
2023 default: abort(); return 0; 2023 default: ABORT(); return 0;
2024 } 2024 }
2025 2025
2026 start = buffer_or_string_bytexpos_to_startind (obj, from, 2026 start = buffer_or_string_bytexpos_to_startind (obj, from,
2027 flags & ME_START_OPEN); 2027 flags & ME_START_OPEN);
2028 end = buffer_or_string_bytexpos_to_endind (obj, to, 2028 end = buffer_or_string_bytexpos_to_endind (obj, to,
2054 retval = start <= exs && exe <= end; break; 2054 retval = start <= exs && exe <= end; break;
2055 case ME_START_OR_END_IN_REGION: 2055 case ME_START_OR_END_IN_REGION:
2056 retval = (start <= exs && exs <= end) || (start <= exe && exe <= end); 2056 retval = (start <= exs && exs <= end) || (start <= exe && exe <= end);
2057 break; 2057 break;
2058 default: 2058 default:
2059 abort(); return 0; 2059 ABORT(); return 0;
2060 } 2060 }
2061 return flags & ME_NEGATE_IN_REGION ? !retval : retval; 2061 return flags & ME_NEGATE_IN_REGION ? !retval : retval;
2062 } 2062 }
2063 2063
2064 struct map_extents_struct 2064 struct map_extents_struct
3159 const char *name = ""; 3159 const char *name = "";
3160 const char *posttitle = ""; 3160 const char *posttitle = "";
3161 Lisp_Object obj2 = Qnil; 3161 Lisp_Object obj2 = Qnil;
3162 3162
3163 /* Destroyed extents have 't' in the object field, causing 3163 /* Destroyed extents have 't' in the object field, causing
3164 extent_object() to abort (maybe). */ 3164 extent_object() to ABORT (maybe). */
3165 if (EXTENT_LIVE_P (XEXTENT (obj))) 3165 if (EXTENT_LIVE_P (XEXTENT (obj)))
3166 obj2 = extent_object (XEXTENT (obj)); 3166 obj2 = extent_object (XEXTENT (obj));
3167 3167
3168 if (NILP (obj2)) 3168 if (NILP (obj2))
3169 title = "no buffer"; 3169 title = "no buffer";
4779 the insertion overlaps any existing extent, something is wrong. 4779 the insertion overlaps any existing extent, something is wrong.
4780 */ 4780 */
4781 #ifdef ERROR_CHECK_EXTENTS 4781 #ifdef ERROR_CHECK_EXTENTS
4782 if (extent_start (extent) > indice && 4782 if (extent_start (extent) > indice &&
4783 extent_start (extent) < indice + closure->length) 4783 extent_start (extent) < indice + closure->length)
4784 abort (); 4784 ABORT ();
4785 if (extent_end (extent) > indice && 4785 if (extent_end (extent) > indice &&
4786 extent_end (extent) < indice + closure->length) 4786 extent_end (extent) < indice + closure->length)
4787 abort (); 4787 ABORT ();
4788 #endif 4788 #endif
4789 4789
4790 /* The extent-adjustment code adjusted the extent's endpoints as if 4790 /* The extent-adjustment code adjusted the extent's endpoints as if
4791 all extents were closed-open -- endpoints at the insertion point 4791 all extents were closed-open -- endpoints at the insertion point
4792 remain unchanged. We need to fix the other kinds of extents: 4792 remain unchanged. We need to fix the other kinds of extents:
5280 case GL_TEXT: return Qtext; 5280 case GL_TEXT: return Qtext;
5281 case GL_OUTSIDE_MARGIN: return Qoutside_margin; 5281 case GL_OUTSIDE_MARGIN: return Qoutside_margin;
5282 case GL_INSIDE_MARGIN: return Qinside_margin; 5282 case GL_INSIDE_MARGIN: return Qinside_margin;
5283 case GL_WHITESPACE: return Qwhitespace; 5283 case GL_WHITESPACE: return Qwhitespace;
5284 default: 5284 default:
5285 abort (); 5285 ABORT ();
5286 return Qnil; /* unreached */ 5286 return Qnil; /* unreached */
5287 } 5287 }
5288 } 5288 }
5289 5289
5290 static glyph_layout 5290 static glyph_layout