* 7300.h [__GNUC__]: #define HAVE_ALLOCA.
[not __GNUC__]: #define SWITCH_ENUM_BUG, C_ALLOCA, and STACK_DIRECTION.
(HAVE_SYSVIPC, USE_UTIME): #define these.
(memmove): We don't have this; call safe_bcopy.
(CRT0_COMPILE): #define this, so we always use the system's cc.
* config.h.in: Add #undefs for HAVE_MKDIR and HAVE_RMDIR, for
configure to edit.
* sysdep.c [not HAVE_MKDIR] (mkdir): New function, taken from tar,
for use on systems lacking the mkdir function.
[not HAVE_RMDIR] (rmdir): New function, taken from tar, for use on
systems lacking the rmdir function.
* ymakefile (crt0.o): Replace the compiler and switches with the
symbol CRT0_COMPILE.
(CRT0_COMPILE): If the system and machine description files have
left this undefined, then define it to do the same as the old
crt0.o rule used to.
configure to edit.
* sysdep.c [not HAVE_MKDIR] (mkdir): New function, taken from tar,
for use on systems lacking the mkdir function.
[not HAVE_RMDIR] (rmdir): New function, taken from tar, for use on
systems lacking the rmdir function.
(last_mouse_x, last_mouse_y): Likewise.
(button_down_time): Replaces button_up_time.
(make_lispy_event): Set button_down_time.
Detect and report double-down and double-drag events.
(apply_modifiers_uncached): Put `double' or `triple' first.
(read_key_sequence): Convert unbound double-drag/down to drag/down.
between two unlike intervals via merge_properties_sticky.
(merge_properties_sticky): New function.
(graft_intervals_into_buffer): Leave handling of `sticky'-ness to
adjust_intervals_for_insertion, then merge properties of the
inserted text onto the old ones.
(textget_direct): New function.
(set_point): Fix calculating of fromprev.
(verify_interval_modification): Check for `read-only' property
and take its `sticky'-ness into account.
(set_point): Ignore `invisible' property unless property value is `hidden'.
(property_change_reply_identifier): Renamed from ...-tick.
(struct prop_location): Field `identifier' renamed from `tick'.
Various functions changed accordingly.
(x_handle_selection_request): Delete local struct var `reply'.
(wait_for_property_change_unwind): New function.
(wait_for_property_change): Add unwind protect.
(wait_for_property_change): Eventually time out with error.
(x_reply_selection_request): XFlushQueue and UNBLOCK_INPUT
before calling wait_for_property_change.
(x_get_window_property): Simplify input blocking/unblocking.
Don't delete the property here.
(receive_incremental_selection): Delete property here.
Call XSelectInput to enable and disable PropertyChangeMask.
(x_get_window_property_as_lisp_data): And here.
(BSTRING): #define this iff HAVE_BCOPY is #defined here. Ignore what
the system-description files say. They don't always make fine
enough distinctions between systems, and sometimes the bcopy
routines are available only with X windows.