* alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
xterm.c, xterm.h: Terminology changed.
* xterm.c (x_window_to_scrollbar, x_scrollbar_expose,
x_scrollbar_handle_click, x_scrollbar_note_movement): Remember
that these can be called during GC; we have to ignore mark bits.
* lisp.h (GC_NILP, GC_EQ): New macros to help with that.
unrequest_sigio in "#ifdef SIGIO" clauses; these are not defined
Use the term `scroll bar', instead of `scrollbar'.
* alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
xterm.c, xterm.h: Terminology changed.
* alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
xterm.c, xterm.h: Terminology changed.
* xterm.c (x_window_to_scrollbar, x_scrollbar_expose,
x_scrollbar_handle_click, x_scrollbar_note_movement): Remember
that these can be called during GC; we have to ignore mark bits.
* lisp.h (GC_NILP, GC_EQ): New macros to help with that.
* lisp.h (RETURN_UNGCPRO): Remove "do ... while (0)" wrapper
around macro.
* alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
xterm.c, xterm.h: Terminology changed.
Don't generate switch-frame events by checking Vlast_event_frame;
use a separate variable for that bookkeeping. In order to
generate them properly, we may need to fiddle with it.
* keyboard.c (internal_last_event_frame): New variable.
(command_loop_1): Check internal_last_event_frame, not
Vlast_event_frame.
(read_char, kbd_buffer_store_event): Set both Vlast_event_frame and
internal_last_event_frame.
(kbd_buffer_get_event): Check internal_last_event_frame to decide
whether to generate a switch-frame event. Set Vlast_event_frame
after each event.
(init_keyboard): Initialize both Vlast_event_frame and
internal_last_event_frame.
* keyboard.h (internal_last_event_frame): Add extern declaration
for this.
* frame.c (Vlast_event_frame): Remove external declaration for
this.
(Fselect_frame): Set internal_last_event_frame to Qnil to force a
switch-frame event, not Vlast_event_frame; the latter is supposed
to convey information to the user.
Vlast_event_frame in a "#ifdef MULTI_FRAME" clause.
Use the term `scroll bar', instead of `scrollbar'.
* alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h,
lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c,
xterm.c, xterm.h: Terminology changed.
Don't generate switch-frame events by checking Vlast_event_frame;
use a separate variable for that bookkeeping. In order to
generate them properly, we may need to fiddle with it.
* keyboard.c (internal_last_event_frame): New variable.
(command_loop_1): Check internal_last_event_frame, not
Vlast_event_frame.
(read_char, kbd_buffer_store_event): Set both Vlast_event_frame and
internal_last_event_frame.
(kbd_buffer_get_event): Check internal_last_event_frame to decide
whether to generate a switch-frame event. Set Vlast_event_frame
after each event.
(init_keyboard): Initialize both Vlast_event_frame and
internal_last_event_frame.
* keyboard.h (internal_last_event_frame): Add extern declaration
for this.
* frame.c (Vlast_event_frame): Remove external declaration for
this.
(Fselect_frame): Set internal_last_event_frame to Qnil to force a
switch-frame event, not Vlast_event_frame; the latter is supposed
to convey information to the user.
* keyboard.c (syms_of_keyboard): Doc fix for unread_command_events.
match the data field of strings.
* data.c (Fstring_to_number): Just skip tabs and spaces; don't use
the <ctype.h> macros. The <ctype.h> stuff apparently varies from
locale to locale more than we'd like. Don't include <ctype.h>.
* buffer.c (syms_of_buffer): Add the extra argument to the
commented-out DEFVAR_PER_BUFFER for `mode-line-format', so
make-docfile will find the docstring properly.
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.
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.
HAVE_TERMIO.
* keyboard.c (echo_char): Apply XINT to c before passing it to
push_key_description.
* keyboard.c (recursive_edit_1, command_loop_1): Pass the proper
number of arguments to unbind_to.
* lread.c (Feval_buffer): Same.
* window.c (Fscroll_other_window): Same.
* keyboard.c (command_loop_1): Apply XINT to c before passing it
to internal_self_insert and direct_output_for_insert.
* keyboard.c (make_lispy_movement): Rename the variable `part'
declared in the block handling scrollbar movement to `part_sym',
to avoid potential conflicts with the argument named `part'.
Apparently the semantics of expressions like this are unclear.
* keyboard.c (Fread_key_sequence): Backslash the newlines in this
docstring.
* textprop.c (Fget_text_property): Same.