# HG changeset patch # User Jim Blandy # Date 730392224 0 # Node ID 06ecd9e51ca0425d47a9f3c76158b96af14dfc90 # Parent ac5e559a819aa20c9357ed360a9e3f344228ee22 * keyboard.c (init_keyboard): Recognize HAVE_TERMIOS as well as 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. diff -r ac5e559a819a -r 06ecd9e51ca0 src/keyboard.c --- a/src/keyboard.c Mon Feb 22 14:42:38 1993 +0000 +++ b/src/keyboard.c Mon Feb 22 14:43:44 1993 +0000 @@ -452,7 +452,7 @@ if (ptr - echobuf > sizeof echobuf - 6) return; - ptr = push_key_description (c, ptr); + ptr = push_key_description (XINT (c), ptr); } else if (XTYPE (c) == Lisp_Symbol) { @@ -581,8 +581,7 @@ if (EQ (val, Qt)) Fsignal (Qquit, Qnil); - unbind_to (count); - return Qnil; + return unbind_to (count, Qnil); } /* When an auto-save happens, record the "time", and don't do again soon. */ @@ -863,7 +862,7 @@ int count = specpdl_ptr - specpdl; specbind (Qinhibit_quit, Qt); Fsit_for (make_number (2), Qnil, Qnil); - unbind_to (count); + unbind_to (count, Qnil); echo_area_glyphs = 0; no_direct = 1; @@ -1003,7 +1002,7 @@ || !EQ (current_buffer->selective_display, Qnil) || detect_input_pending () || !NILP (Vexecuting_macro); - if (internal_self_insert (c, 0)) + if (internal_self_insert (XINT (c), 0)) { lose = 1; nonundocount = 0; @@ -1015,7 +1014,7 @@ = window_display_table (XWINDOW (selected_window)); if (dp == 0 || XTYPE (dp->contents[c]) != Lisp_String) - no_redisplay = direct_output_for_insert (c); + no_redisplay = direct_output_for_insert (XINT (c)); else if (XSTRING (dp->contents[c])->size == sizeof (GLYPH)) no_redisplay = @@ -2029,14 +2028,14 @@ /* Is it a scrollbar movement? */ if (frame && ! NILP (bar_window)) { - Lisp_Object part = *scrollbar_parts[(int) part]; + Lisp_Object part_sym = *scrollbar_parts[(int) part]; return Fcons (Qscrollbar_movement, (Fcons (Fcons (bar_window, Fcons (Qvertical_scrollbar, Fcons (Fcons (x, y), Fcons (make_number (time), - Fcons (part, + Fcons (part_sym, Qnil))))), Qnil))); } @@ -3466,30 +3465,29 @@ Second (optional) arg CONTINUE-ECHO, if non-nil, means this key echos\n\ as a continuation of the previous key.\n\ \n\ - -A C-g typed while in this function is treated like any other character, -and `quit-flag' is not set. - -If the key sequence starts with a mouse click, then the sequence is read -using the keymaps of the buffer of the window clicked in, not the buffer -of the selected window as normal. - -`read-key-sequence' drops unbound button-down events, since you normally -only care about the click or drag events which follow them. If a drag -event is unbound, but the corresponding click event would be bound, -`read-key-sequence' turns the drag event into a click event at the -drag's starting position. This means that you don't have to distinguish -between click and drag events unless you want to. - -`read-key-sequence' prefixes mouse events on mode lines, the vertical -lines separating windows, and scrollbars with imaginary keys -`mode-line', `vertical-line', and `vertical-scrollbar'. - -If the user switches frames in the middle of a key sequence, the -frame-switch event is put off until after the current key sequence. - -`read-key-sequence' checks `function-key-map' for function key -sequences, where they wouldn't conflict with ordinary bindings. See +A C-g typed while in this function is treated like any other character,\n\ +and `quit-flag' is not set.\n\ +\n\ +If the key sequence starts with a mouse click, then the sequence is read\n\ +using the keymaps of the buffer of the window clicked in, not the buffer\n\ +of the selected window as normal.\n\ +\n\ +`read-key-sequence' drops unbound button-down events, since you normally\n\ +only care about the click or drag events which follow them. If a drag\n\ +event is unbound, but the corresponding click event would be bound,\n\ +`read-key-sequence' turns the drag event into a click event at the\n\ +drag's starting position. This means that you don't have to distinguish\n\ +between click and drag events unless you want to.\n\ +\n\ +`read-key-sequence' prefixes mouse events on mode lines, the vertical\n\ +lines separating windows, and scrollbars with imaginary keys\n\ +`mode-line', `vertical-line', and `vertical-scrollbar'.\n\ +\n\ +If the user switches frames in the middle of a key sequence, the\n\ +frame-switch event is put off until after the current key sequence.\n\ +\n\ +`read-key-sequence' checks `function-key-map' for function key\n\ +sequences, where they wouldn't conflict with ordinary bindings. See\n\ `function-key-map' for more details.") (prompt, continue_echo) Lisp_Object prompt, continue_echo; @@ -4085,7 +4083,7 @@ if (!noninteractive) { signal (SIGINT, interrupt_signal); -#ifdef HAVE_TERMIO +#if defined (HAVE_TERMIO) || defined (HAVE_TERMIOS) /* For systems with SysV TERMIO, C-g is set up for both SIGINT and SIGQUIT and we can't tell which one it will give us. */ signal (SIGQUIT, interrupt_signal);