Any non-null interval means print intervals.
Get rid of var obj1; just use obj.
(print): Never declare OBJ arg as `register'.
Special handling for strings with intervals.
(print_intervals): New function.
Add len>0 as condition for main loop.
Abort if reach a null interval.
(Fset_text_properties): Abort if reach a null interval.
(Ftext_properties_at, Fget_text_property):
Return nil if POS is end of OBJECT.
(add_properties): Use NILP to test result of Fequal.
No longer inline.
(remove_properties): No longer inline.
(set_properties): Total rewrite as function.
(validate_interval_range): Don't alter *begin at end of buffer.
But do search for a position just before the end.
Return null for an empty string.
(validate_interval_range): Allow 0 as position in string.
Add 1 to specified string positions.
(Fprevious_single_property_change): Subtract 1 if object is string.
(Fnext_single_property_change): Likewise.
(Fprevious_property_change, Fnext_property_change): Likewise.
(remove_properties): Call modify_buffer.
(add_properties): Likewise.
(Fadd_text_properties): Pass new arg to add_properties.
(Fremove_text_properties): Likewise.
(add_properties, remove_properties): New arg OBJECT. Record undo info.
(Fput_text_property): New function.
(set_point): Considerable rewrite. Handle intervals both
before and after the old and new point values.
Redo handling of invisible intervals, and of motion hooks.
(textget): New function.
(graft_intervals_into_buffer):
create_root_interval needs Lisp object arg.
Set tree to new root interval.
Don't test TREE_LENGTH if buffer has no intervals.
Rearrange code to copy properties so that it really
does merge the inserted ones into the inherited ones.
(traverse_intervals): Pass `arg' on recursive calls.
(split_interval_left): Use new_length as basis for length of new.
(traverse_intervals): New arg ARG.
functions to scrolbar.el.
* scrollbar.el (scroll-bar-mode, scroll-bar-mode): Here they are.
Make scroll-bar-mode set the {vertical,horizontal}-scrollbars
parameters in default-frame-alist, and modify all extant screens
using the correct parameter names.
number of arguments to unbind_to.
* lread.c (Feval_buffer): Same.
* window.c (Fscroll_other_window): Same.
* window.c (Fset_window_configuration): Pass the proper number of
arguments to Fselect_frame.
the sigchld handler clear *input_available_clear_time.
(wait_reading_process_input): Check for process activity after
setting the timeout and calling set_waiting_for_input.
(sigchld_handler): If the process which has exited is one we care
about, clear *input_available_clear_time.
* process.c (process_send_signal): Use TERMIOS functions in
preference to BSD ioctls. Some systems attempt to provide the BSD
functions for backward compatibility, and get it wrong.