(redisplay_window): Update region_showing field.
(display_text_line): Set region_showing to t if will show one.
(mark_window_display_accurate): Set region_showing fields.
(redisplay_window): Update region_showing field.
(display_text_line): Set region_showing to t if will show one.
(redisplay, redisplay_window): Don't use the cursor-motion
special-case code if the region is or was highlighted.
(display_text_line): Pass those args,
describing the region if the mark is transient and active.
(display_menu_bar): Update FRAME_MENU_BAR_ITEMS here.
* Makefile.in (srcdir, VPATH): Get this value from the top-level
Makefile.
(xmakefile): Use ${srcdir} to find the files from which we produce
xmakefile. Edit the values for srcdir and VPATH into xmakefile.
* ymakefile (srcdir, VPATH): New definitions for the Makefile
to edit.
(ALL_CFLAGS): Remove `-Is' and `-Im'; add `-I${srcdir}', and
`-I.'.
(emacs): Adjust dumping commands to deal with a separate source
directory.
(${etc}DOC): Pass `-d ${srcdir}' to make-docfile, to tell it where
to find the source files.
(prefix-args): Find the source code in ${srcdir}.
BUFFER argument has been omitted, put it in the current buffer,
for symmetry with move-marker.
* buffer.c (Fdelete_overlay): Make the overlay's markers point
nowhere, not at 1. Do this after calling redisplay_region, so
that code knows what section has changed.
face specified by the glyph under it.
* xterm.c (dumpglyphs): Move the underline up a row. I dislike
the way X addresses pixels. Quickdraw is much nicer.
* xterm.c (dumpglyphs): Pass the proper arguments to intern_face.
* xterm.c (dumpglyphs): Don't increment left twice.
traverse sortvec, not overlay_vec; the latter isn't the one we
sorted.
* xfaces.c (intern_face): If the face has a GC, but it's not the
default or modeline face, abort. Nothing but those two faces
should have a GC *and* be passed to intern_face.
(compute_char_face, compute_glyph_face): After copying
the frame's default face into face, to use as a base case for
calculation, set the `gc' member to zero; that way we don't have
things lying around that look like display faces but aren't.
* xfaces.c (intern_frame_face): When copying the new face into the
frame's face array, remember that the number of bytes to copy is
sizeof (*new_face), not sizeof (new_face).
* xfaces.c (compute_char_face): Assume that W is displaying the
current buffer. Abort if it isn't.
than the current one.
* insdel.c (modify_region): New argument BUFFER. Select that
buffer while we prepare for the modification, and switch back when
we're done.
* textprop.c (add_properties, remove_properties): Pass
the buffer being modified as the first argument to modify_region.
* editfns.c (Fsubst_char_in_region, Ftranslate_region): Pass the
current_buffer as the first argument to modify_region.
* casefiddle.c (casify_region): Same.
(OVERLAYP): New predicate.
(CHECK_OVERLAY): New type-checker.
(Qoverlayp): New extern declaration.
* buffer.c (Foverlayp): New function.
(Qoverlayp): New atom.
(overlays_at, recenter_overlay_lists): Abort if we encounter an
invalid overlay.
(syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
(Fdelete_overlay): Set the overlay's markers to point nowhere.
Use CHECK_OVERLAY instead of signalling a special error.
(Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
signalling a special error.
(Foverlay_get): Use CHECK_OVERLAY.
* fns.c (internal_equal): Define this for overlays.
* buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
* print.c (print): Give overlays their own print syntax.
* alloc.c (mark_object): Treat overlays like conses.
(OVERLAYP): New predicate.
(CHECK_OVERLAY): New type-checker.
(Qoverlayp): New extern declaration.
* buffer.c (Foverlayp): New function.
(Qoverlayp): New atom.
(overlays_at, recenter_overlay_lists): Abort if we encounter an
invalid overlay.
(syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
(Fdelete_overlay): Set the overlay's markers to point nowhere.
Use CHECK_OVERLAY instead of signalling a special error.
(Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
signalling a special error.
(Foverlay_get): Use CHECK_OVERLAY.
* fns.c (internal_equal): Define this for overlays.
* buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
* print.c (print): Give overlays their own print syntax.
* alloc.c (mark_object): Treat overlays like conses.
* lisp.h (FLOATP): Define this appropriately when LISP_FLOAT_TYPE
is not defined.
(OVERLAYP): New predicate.
(CHECK_OVERLAY): New type-checker.
(Qoverlayp): New extern declaration.
* buffer.c (Foverlayp): New function.
(Qoverlayp): New atom.
(overlays_at, recenter_overlay_lists): Abort if we encounter an
invalid overlay.
(syms_of_buffer): defsubr Soverlayp; initialize Qoverlayp.
(Fdelete_overlay): Set the overlay's markers to point nowhere.
Use CHECK_OVERLAY instead of signalling a special error.
(Fmove_overlay, Foverlay_put): Use CHECK_OVERLAY instead of
signalling a special error.
(Foverlay_get): Use CHECK_OVERLAY.
* fns.c (internal_equal): Define this for overlays.
* buffer.h (OVERLAY_VALID): Define in terms of OVERLAYP.
* print.c (print): Give overlays their own print syntax.
* alloc.c (mark_object): Treat overlays like conses.
* buffer.c (Foverlay_get): Return Qnil if the requested property
is missing from the property list.
make callers correct.
* xfaces.c (compute_char_face): Notice the next property change
location correctly.
* xfaces.c (face_name_id_number): Return 0 (the default face) if
the name is undefined.
* xfaces.c (Fset_face_attribute_internal): Do nothing unless FRAME
is an X frame.
(display_text_line): Initialize current_face to zero. Apply it
to characters as we write them to the display matrix.
(display_string): Pass the new argument to copy_rope.
* xdisp.c (display_text_line): Handle the locations of face
changes properly.
Duplicate the short MAKE_GLYPH loop after the main loop.
If no display table, do obey selective_display_ellipses.
(copy_part_of_rope): Arg FROM is now Lisp_Object *.
macro here; that's x-specific. Just don't pass the second
argument.
* xfaces.c (compute_glyph_face): Remove the BASIC_FACE argument;
use F's default face.
on HAVE_X_WINDOWS macro. Perhaps this isn't the best approach,
but it'll do for now.
* xdisp.c (display_text_line): We can't use the FRAME_DEFAULT_FACE
macro here; that's x-specific. Just don't pass the second
argument.
* xfaces.c (compute_glyph_face): Remove the BASIC_FACE argument;
use F's default face.