(init_intervals, make_interval,
mark_interval, mark_interval_tree): New functions conditionally
defined.
(make_uninit_string): Call INITIALIZE_INTERVAL.
(INIT_INTERVALS, UNMARK_BALANCE_INTERVALS, MARK_INTERVAL_TREE):
New macros, conditionally defined.
(mark_object): Call MARK_INTERVAL_TREE in case Lisp_String.
(gc_sweep): If text properties are in use, place all unmarked
intervals on the free list. Call UNMARK_BALANCE_INTERVALS on
`buffer->intervals' when unmarking `buffer'.
(compact_strings): Include INTERVAL_PTR_SIZE in calculation for
target of bcopy when relocating strings.
(init_alloc_once): Call INIT_INTERVALS.
(make_pure_string): Include INTERVAL_PTR_SIZE in calculation of
`size'.
looking-at call doesn't clobber its value when we want to use it to back up
before the error we discard.
Make sure compilation-error-list is at least two elts long before checking
its first two elts for being in the same file.
and TEMP_SET_PT are function calls.
Similarly for BUF_SET_PT and BUF_TEMP_SET_PT.
Added DECLARE_INTERVALS to buffer structure to conditionally
compile an interval tree into it..
just because we restored its configuration.
* window.c (Fset_window_configuration): Don't forget to set the
frame's selected window when we can't call Fselect_window.
modifier bits denote meta keys.
(x_find_modifier_meanings): New function, to set x_meta_mod_mask.
(x_convert_modifiers): Use that.
(x_term_init): Call x_find_modifier_meanings.
* xterm.c (XTread_socket): Pass PropertyNotify events from the
root window to x_invalidate_cut_buffer_cache.
(x_term_init): Call x_watch_cut_buffer_cache here.
interface to the cut buffer now.
(NUM_CUT_BUFFERS, cut_buffer_atom, cut_buffer_value,
cut_buffer_cached, cut_buffer_just_set): New variables.
(Fx_own_selection, Fx_selection_value): Dike out the code to
handle CUT_BUFFER0 requests.
(Fx_get_cut_buffer, Fx_set_cut_buffer, x_watch_cut_buffer_cache,
x_invalidate_cut_buffer_cache): New functions.
(syms_of_xselect): Don't bother to initialize Qcut_buffer0.
Initialize and staticpro cut_buffer_value, and defsubr
Sx_get_cut_buffer and Sx_set_cut_buffer.
* xterm.c (XTread_socket): Pass PropertyNotify events from the
root window to x_invalidate_cut_buffer_cache.
(x_term_init): Call x_watch_cut_buffer_cache here.
pain in the neck to staticpro, into a vector, which is easier.
(read_char, Frecent_keys): Access recent_keys as a lisp vector,
not a C array.
(init_keyboard): Set recent_keys to be a vector, and staticpro
it.