diff options
| author | Jim Blandy | 1992-08-14 02:29:49 +0000 |
|---|---|---|
| committer | Jim Blandy | 1992-08-14 02:29:49 +0000 |
| commit | 3e51c7b7e590773175f56b36cdda73155f839653 (patch) | |
| tree | 80bdc584df60de3a78c44820192076caf9da7d7a /src | |
| parent | ce4e9d43a44f46ff1f0f4c693dd1aa1bc1a4b74c (diff) | |
| download | emacs-3e51c7b7e590773175f56b36cdda73155f839653.tar.gz emacs-3e51c7b7e590773175f56b36cdda73155f839653.zip | |
* keyboard.c (Fexecute_mouse_event): dyked-out function deleted.
We're not going to use this mouse interface.
(Vmouse_window, Vmouse_event, Vmouse_event_function,
Vmouse_left_hook, Vmap_frame_hook, Vunmap_frame_hook,
Vmouse_motion_handler): Variables deleted; they were to be used by
Fexecute_mouse_event.
(syms_of_keyboard): Same.
(command_loop_1): Remove dyked-out code to support
Fexecute_mouse_event.
(read_char): Same.
* keyboard.c (Vlast_event_frame): Don't define this window if
MULTI_FRAME is not #defined.
(syms_of_keyboard): Same.
(kbd_buffer_store_event): Don't try to work with Vlast_event_frame
if MULTI_FRAME is not #defined.
(kbd_buffer_get_event): Same.
* keyboard.c (Fdiscard_input): Removed dyked-out code from when
unread_command_char's quiescent value was -1, not nil.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 226 |
1 files changed, 15 insertions, 211 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 1f00144b95c..914721e4894 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -180,35 +180,14 @@ Lisp_Object last_command; | |||
| 180 | instead of the actual command. */ | 180 | instead of the actual command. */ |
| 181 | Lisp_Object this_command; | 181 | Lisp_Object this_command; |
| 182 | 182 | ||
| 183 | #ifndef HAVE_X11 | 183 | #ifdef MULTI_FRAME |
| 184 | /* Window of last mouse click. */ | ||
| 185 | extern Lisp_Object Vmouse_window; | ||
| 186 | |||
| 187 | /* List containing details of last mouse click. */ | ||
| 188 | extern Lisp_Object Vmouse_event; | ||
| 189 | #endif /* defined HAVE_X11 */ | ||
| 190 | |||
| 191 | /* Hook to call on each mouse event after running its definition. */ | ||
| 192 | Lisp_Object Vmouse_event_function; | ||
| 193 | |||
| 194 | /* Hook to call when mouse leaves frame. */ | ||
| 195 | Lisp_Object Vmouse_left_hook; | ||
| 196 | |||
| 197 | /* Hook to call when a frame is mapped. */ | ||
| 198 | Lisp_Object Vmap_frame_hook; | ||
| 199 | |||
| 200 | /* Hook to call when a frame is unmapped. */ | ||
| 201 | Lisp_Object Vunmap_frame_hook; | ||
| 202 | |||
| 203 | /* Handler for non-grabbed (no keys depressed) mouse motion. */ | ||
| 204 | Lisp_Object Vmouse_motion_handler; | ||
| 205 | |||
| 206 | /* The frame in which the last input event occurred. | 184 | /* The frame in which the last input event occurred. |
| 207 | command_loop_1 will select this frame before running the | 185 | command_loop_1 will select this frame before running the |
| 208 | command bound to an event sequence, and read_key_sequence will | 186 | command bound to an event sequence, and read_key_sequence will |
| 209 | toss the existing prefix if the user starts typing at a | 187 | toss the existing prefix if the user starts typing at a |
| 210 | new frame. */ | 188 | new frame. */ |
| 211 | Lisp_Object Vlast_event_frame; | 189 | Lisp_Object Vlast_event_frame; |
| 190 | #endif | ||
| 212 | 191 | ||
| 213 | /* The timestamp of the last input event we received from the X server. | 192 | /* The timestamp of the last input event we received from the X server. |
| 214 | X Windows wants this for selection ownership. */ | 193 | X Windows wants this for selection ownership. */ |
| @@ -849,39 +828,6 @@ command_loop_1 () | |||
| 849 | if (i == 0) /* End of file -- happens only in */ | 828 | if (i == 0) /* End of file -- happens only in */ |
| 850 | return Qnil; /* a kbd macro, at the end. */ | 829 | return Qnil; /* a kbd macro, at the end. */ |
| 851 | 830 | ||
| 852 | #if 0 | ||
| 853 | #ifdef HAVE_X_WINDOWS | ||
| 854 | if (FRAME_X_P (selected_frame)) | ||
| 855 | { | ||
| 856 | if (i == -1) /* Mouse event */ | ||
| 857 | { | ||
| 858 | nonundocount = 0; | ||
| 859 | if (NILP (Vprefix_arg) && NILP (Vexecuting_macro) && | ||
| 860 | !EQ (minibuf_window, selected_window)) | ||
| 861 | Fundo_boundary (); | ||
| 862 | |||
| 863 | if (defining_kbd_macro) | ||
| 864 | { | ||
| 865 | /* Be nice if this worked... */ | ||
| 866 | } | ||
| 867 | Fexecute_mouse_event (read_key_sequence_cmd); | ||
| 868 | no_redisplay = 0; | ||
| 869 | goto directly_done; | ||
| 870 | } | ||
| 871 | |||
| 872 | if (i == -2) /* Lisp Symbol */ | ||
| 873 | { | ||
| 874 | nonundocount = 0; | ||
| 875 | if (NILP (Vprefix_arg) && NILP (Vexecuting_macro) && | ||
| 876 | !EQ (minibuf_window, selected_window)) | ||
| 877 | Fundo_boundary (); | ||
| 878 | |||
| 879 | goto directly_done; | ||
| 880 | } | ||
| 881 | } | ||
| 882 | #endif /* HAVE_X_WINDOWS */ | ||
| 883 | #endif | ||
| 884 | |||
| 885 | last_command_char = keybuf[i - 1]; | 831 | last_command_char = keybuf[i - 1]; |
| 886 | 832 | ||
| 887 | cmd = read_key_sequence_cmd; | 833 | cmd = read_key_sequence_cmd; |
| @@ -1119,15 +1065,6 @@ read_char (commandflag) | |||
| 1119 | c = unread_command_char; | 1065 | c = unread_command_char; |
| 1120 | unread_command_char = Qnil; | 1066 | unread_command_char = Qnil; |
| 1121 | 1067 | ||
| 1122 | #if 0 /* We're not handling mouse keys specially anymore. */ | ||
| 1123 | if (!EQ (XTYPE (obj), Lisp_Int)) /* Mouse thing */ | ||
| 1124 | { | ||
| 1125 | num_input_chars++; | ||
| 1126 | last_input_char = 0; | ||
| 1127 | return obj; | ||
| 1128 | } | ||
| 1129 | #endif | ||
| 1130 | |||
| 1131 | if (this_command_key_count == 0) | 1068 | if (this_command_key_count == 0) |
| 1132 | goto reread_first; | 1069 | goto reread_first; |
| 1133 | else | 1070 | else |
| @@ -1246,16 +1183,6 @@ read_char (commandflag) | |||
| 1246 | if (NILP (c)) | 1183 | if (NILP (c)) |
| 1247 | abort (); /* Don't think this can happen. */ | 1184 | abort (); /* Don't think this can happen. */ |
| 1248 | 1185 | ||
| 1249 | #if 0 /* I think that all the different kinds of events should be | ||
| 1250 | handled together now... */ | ||
| 1251 | if (XTYPE (c) != Lisp_Int) | ||
| 1252 | { | ||
| 1253 | start_polling (); | ||
| 1254 | return c; | ||
| 1255 | } | ||
| 1256 | c = XINT (obj); | ||
| 1257 | #endif | ||
| 1258 | |||
| 1259 | /* Terminate Emacs in batch mode if at eof. */ | 1186 | /* Terminate Emacs in batch mode if at eof. */ |
| 1260 | if (noninteractive && c < 0) | 1187 | if (noninteractive && c < 0) |
| 1261 | Fkill_emacs (make_number (1)); | 1188 | Fkill_emacs (make_number (1)); |
| @@ -1486,12 +1413,16 @@ kbd_buffer_store_event (event) | |||
| 1486 | if (c == quit_char | 1413 | if (c == quit_char |
| 1487 | || ((c == (0200 | quit_char)) && !meta_key)) | 1414 | || ((c == (0200 | quit_char)) && !meta_key)) |
| 1488 | { | 1415 | { |
| 1416 | extern SIGTYPE interrupt_signal (); | ||
| 1417 | |||
| 1418 | #ifdef MULTI_FRAME | ||
| 1489 | /* If this results in a quit_char being returned to Emacs as | 1419 | /* If this results in a quit_char being returned to Emacs as |
| 1490 | input, set last-event-frame properly. If this doesn't | 1420 | input, set last-event-frame properly. If this doesn't |
| 1491 | get returned to Emacs as an event, the next event read | 1421 | get returned to Emacs as an event, the next event read |
| 1492 | will set Vlast_event_frame again, so this is safe to do. */ | 1422 | will set Vlast_event_frame again, so this is safe to do. */ |
| 1493 | extern SIGTYPE interrupt_signal (); | ||
| 1494 | Vlast_event_frame = FRAME_FOCUS_FRAME (event->frame); | 1423 | Vlast_event_frame = FRAME_FOCUS_FRAME (event->frame); |
| 1424 | #endif | ||
| 1425 | |||
| 1495 | last_event_timestamp = event->timestamp; | 1426 | last_event_timestamp = event->timestamp; |
| 1496 | interrupt_signal (); | 1427 | interrupt_signal (); |
| 1497 | return; | 1428 | return; |
| @@ -1614,7 +1545,11 @@ kbd_buffer_get_event () | |||
| 1614 | member now, before we return this event. */ | 1545 | member now, before we return this event. */ |
| 1615 | kbd_fetch_ptr->frame = | 1546 | kbd_fetch_ptr->frame = |
| 1616 | XFRAME (FRAME_FOCUS_FRAME (kbd_fetch_ptr->frame)); | 1547 | XFRAME (FRAME_FOCUS_FRAME (kbd_fetch_ptr->frame)); |
| 1548 | |||
| 1549 | #ifdef MULTI_FRAME | ||
| 1617 | XSET (Vlast_event_frame, Lisp_Frame, kbd_fetch_ptr->frame); | 1550 | XSET (Vlast_event_frame, Lisp_Frame, kbd_fetch_ptr->frame); |
| 1551 | #endif | ||
| 1552 | |||
| 1618 | last_event_timestamp = kbd_fetch_ptr->timestamp; | 1553 | last_event_timestamp = kbd_fetch_ptr->timestamp; |
| 1619 | obj = make_lispy_event (kbd_fetch_ptr); | 1554 | obj = make_lispy_event (kbd_fetch_ptr); |
| 1620 | kbd_fetch_ptr->kind = no_event; | 1555 | kbd_fetch_ptr->kind = no_event; |
| @@ -1629,7 +1564,9 @@ kbd_buffer_get_event () | |||
| 1629 | unsigned long time; | 1564 | unsigned long time; |
| 1630 | 1565 | ||
| 1631 | (*mouse_position_hook) (&frame, &x, &y, &time); | 1566 | (*mouse_position_hook) (&frame, &x, &y, &time); |
| 1567 | #ifdef MULTI_FRAME | ||
| 1632 | XSET (Vlast_event_frame, Lisp_Frame, frame); | 1568 | XSET (Vlast_event_frame, Lisp_Frame, frame); |
| 1569 | #endif | ||
| 1633 | 1570 | ||
| 1634 | obj = make_lispy_movement (frame, x, y, time); | 1571 | obj = make_lispy_movement (frame, x, y, time); |
| 1635 | } | 1572 | } |
| @@ -2879,111 +2816,6 @@ Otherwise, that is done only if an arg is read using the minibuffer.") | |||
| 2879 | return Qnil; | 2816 | return Qnil; |
| 2880 | } | 2817 | } |
| 2881 | 2818 | ||
| 2882 | #if 0 | ||
| 2883 | DEFUN ("execute-mouse-event", Fexecute_mouse_event, Sexecute_mouse_event, | ||
| 2884 | 1, 1, 0, | ||
| 2885 | "Execute the definition of the mouse-click event EVENT.\n\ | ||
| 2886 | The handler function is found by looking the event's key sequence up\n\ | ||
| 2887 | in the buffer's local mouse map and in `global-mouse-map'.\n\ | ||
| 2888 | \n\ | ||
| 2889 | After running the handler, call the value of `mouse-event-function'\n\ | ||
| 2890 | with EVENT as arg.") | ||
| 2891 | (event) | ||
| 2892 | Lisp_Object event; | ||
| 2893 | { | ||
| 2894 | Lisp_Object tem; | ||
| 2895 | Lisp_Object mouse_cmd; | ||
| 2896 | Lisp_Object keyseq, window, frame_part, pos, time; | ||
| 2897 | |||
| 2898 | #ifndef HAVE_X11 | ||
| 2899 | Vmouse_event = event; | ||
| 2900 | #endif | ||
| 2901 | |||
| 2902 | if (EQ (event, Qnil)) | ||
| 2903 | { | ||
| 2904 | bitch_at_user (); | ||
| 2905 | return Qnil; | ||
| 2906 | } | ||
| 2907 | |||
| 2908 | CHECK_CONS (event, 0); | ||
| 2909 | pos = Fcar (event); | ||
| 2910 | window = Fcar (Fcdr (event)); | ||
| 2911 | frame_part = Fcar (Fcdr (Fcdr (event))); | ||
| 2912 | keyseq = Fcar (Fcdr (Fcdr (Fcdr (event)))); | ||
| 2913 | time = Fcar (Fcdr (Fcdr (Fcdr (Fcdr (event))))); | ||
| 2914 | CHECK_STRING (keyseq, 0); | ||
| 2915 | CHECK_WINDOW (window, 0); | ||
| 2916 | |||
| 2917 | /* Look up KEYSEQ in the buffer's local mouse map, then in global one. */ | ||
| 2918 | |||
| 2919 | mouse_cmd = Qnil; | ||
| 2920 | |||
| 2921 | if (!NILP (XWINDOW (window)->buffer)) | ||
| 2922 | { | ||
| 2923 | Lisp_Object local_map; | ||
| 2924 | |||
| 2925 | local_map = XBUFFER (XWINDOW (window)->buffer)->mouse_map; | ||
| 2926 | tem = Fkeymapp (local_map); | ||
| 2927 | if (!NILP (tem)) | ||
| 2928 | mouse_cmd = Flookup_key (local_map, keyseq); | ||
| 2929 | /* A number as value means the key is too long; treat as undefined. */ | ||
| 2930 | if (XTYPE (mouse_cmd) == Lisp_Int) | ||
| 2931 | mouse_cmd = Qnil; | ||
| 2932 | } | ||
| 2933 | |||
| 2934 | tem = Fkeymapp (Vglobal_mouse_map); | ||
| 2935 | if (NILP (mouse_cmd) && !NILP (tem)) | ||
| 2936 | mouse_cmd = Flookup_key (Vglobal_mouse_map, keyseq); | ||
| 2937 | if (XTYPE (mouse_cmd) == Lisp_Int) | ||
| 2938 | mouse_cmd = Qnil; | ||
| 2939 | |||
| 2940 | if (NILP (mouse_cmd)) | ||
| 2941 | { | ||
| 2942 | /* This button/shift combination is not defined. | ||
| 2943 | If it is a button-down event, ring the bell. */ | ||
| 2944 | #ifdef HAVE_X11 | ||
| 2945 | if (XSTRING (keyseq)->data[XSTRING (keyseq)->size - 1] & 0x18 == 0) | ||
| 2946 | #else | ||
| 2947 | if (XSTRING (keyseq)->data[XSTRING (keyseq)->size - 1] & 4 == 0) | ||
| 2948 | #endif | ||
| 2949 | bitch_at_user (); | ||
| 2950 | } | ||
| 2951 | else | ||
| 2952 | { | ||
| 2953 | FRAME_PTR f = XFRAME (WINDOW_FRAME (XWINDOW (window))); | ||
| 2954 | |||
| 2955 | #ifndef HAVE_X11 | ||
| 2956 | Vmouse_window = f->selected_window; | ||
| 2957 | #endif /* HAVE_X11 */ | ||
| 2958 | /* It's defined; call the definition. */ | ||
| 2959 | Vprefix_arg = Qnil; | ||
| 2960 | if (!NILP (frame_part)) | ||
| 2961 | { | ||
| 2962 | /* For a scroll-bar click, set the prefix arg | ||
| 2963 | to the number of lines down from the top the click was. | ||
| 2964 | Many scroll commands want to scroll by this many lines. */ | ||
| 2965 | Lisp_Object position; | ||
| 2966 | Lisp_Object length; | ||
| 2967 | Lisp_Object offset; | ||
| 2968 | |||
| 2969 | position = Fcar (pos); | ||
| 2970 | length = Fcar (Fcdr (pos)); | ||
| 2971 | offset = Fcar (Fcdr (Fcdr (pos))); | ||
| 2972 | |||
| 2973 | if (XINT (length) != 0) | ||
| 2974 | XSET (Vprefix_arg, Lisp_Int, | ||
| 2975 | (FRAME_HEIGHT (f) * (XINT (position) + XINT (offset)) | ||
| 2976 | / (XINT (length) + 2 * XINT (offset)))); | ||
| 2977 | } | ||
| 2978 | Fcommand_execute (mouse_cmd, Qnil); | ||
| 2979 | } | ||
| 2980 | |||
| 2981 | if (!NILP (Vmouse_event_function)) /* Not `event' so no need for GCPRO */ | ||
| 2982 | call1 (Vmouse_event_function, Vmouse_event); | ||
| 2983 | return Qnil; | ||
| 2984 | } | ||
| 2985 | #endif | ||
| 2986 | |||
| 2987 | DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_command, | 2819 | DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_command, |
| 2988 | 1, 1, "P", | 2820 | 1, 1, "P", |
| 2989 | "Read function name, then read its arguments and call it.") | 2821 | "Read function name, then read its arguments and call it.") |
| @@ -3149,9 +2981,6 @@ Also cancel any kbd macro being defined.") | |||
| 3149 | defining_kbd_macro = 0; | 2981 | defining_kbd_macro = 0; |
| 3150 | update_mode_lines++; | 2982 | update_mode_lines++; |
| 3151 | 2983 | ||
| 3152 | #if 0 | ||
| 3153 | unread_command_char = make_number (-1); | ||
| 3154 | #endif | ||
| 3155 | unread_command_char = Qnil; | 2984 | unread_command_char = Qnil; |
| 3156 | 2985 | ||
| 3157 | discard_tty_input (); | 2986 | discard_tty_input (); |
| @@ -3392,9 +3221,6 @@ quit_throw_to_read_char () | |||
| 3392 | clear_waiting_for_input (); | 3221 | clear_waiting_for_input (); |
| 3393 | input_pending = 0; | 3222 | input_pending = 0; |
| 3394 | 3223 | ||
| 3395 | #if 0 | ||
| 3396 | unread_command_char = make_number (-1); | ||
| 3397 | #endif | ||
| 3398 | unread_command_char = Qnil; | 3224 | unread_command_char = Qnil; |
| 3399 | 3225 | ||
| 3400 | _longjmp (getcjmp, 1); | 3226 | _longjmp (getcjmp, 1); |
| @@ -3647,9 +3473,11 @@ Polling is automatically disabled in all other cases."); | |||
| 3647 | "*Number of complete keys read from the keyboard so far."); | 3473 | "*Number of complete keys read from the keyboard so far."); |
| 3648 | num_input_keys = 0; | 3474 | num_input_keys = 0; |
| 3649 | 3475 | ||
| 3476 | #ifdef MULTI_FRAME | ||
| 3650 | DEFVAR_LISP ("last-event-frame", &Vlast_event_frame, | 3477 | DEFVAR_LISP ("last-event-frame", &Vlast_event_frame, |
| 3651 | "*The frame in which the most recently read event occurred."); | 3478 | "*The frame in which the most recently read event occurred."); |
| 3652 | Vlast_event_frame = Qnil; | 3479 | Vlast_event_frame = Qnil; |
| 3480 | #endif | ||
| 3653 | 3481 | ||
| 3654 | DEFVAR_LISP ("help-char", &help_char, | 3482 | DEFVAR_LISP ("help-char", &help_char, |
| 3655 | "Character to recognize as meaning Help.\n\ | 3483 | "Character to recognize as meaning Help.\n\ |
| @@ -3674,30 +3502,6 @@ Each character is looked up in this string and the contents used instead.\n\ | |||
| 3674 | If string is of length N, character codes N and up are untranslated."); | 3502 | If string is of length N, character codes N and up are untranslated."); |
| 3675 | Vkeyboard_translate_table = Qnil; | 3503 | Vkeyboard_translate_table = Qnil; |
| 3676 | 3504 | ||
| 3677 | #ifdef HAVE_X_WINDOWS | ||
| 3678 | DEFVAR_LISP ("mouse-event-function", &Vmouse_event_function, | ||
| 3679 | "Function to call for each mouse event, after the event's definition.\n\ | ||
| 3680 | Called, if non-nil, with one argument, which is the event-list.\n\ | ||
| 3681 | See the variable `mouse-event' for the format of this list."); | ||
| 3682 | Vmouse_event_function = Qnil; | ||
| 3683 | |||
| 3684 | DEFVAR_LISP ("mouse-left-hook", &Vmouse_left_hook, | ||
| 3685 | "Function to call when mouse leaves window. No arguments."); | ||
| 3686 | Vmouse_left_hook = Qnil; | ||
| 3687 | |||
| 3688 | DEFVAR_LISP ("map-frame-hook", &Vmap_frame_hook, | ||
| 3689 | "Function to call when frame is mapped. No arguments."); | ||
| 3690 | Vmap_frame_hook = Qnil; | ||
| 3691 | |||
| 3692 | DEFVAR_LISP ("unmap-frame-hook", &Vunmap_frame_hook, | ||
| 3693 | "Function to call when frame is unmapped. No arguments."); | ||
| 3694 | Vunmap_frame_hook = Qnil; | ||
| 3695 | |||
| 3696 | DEFVAR_LISP ("mouse-motion-handler", &Vmouse_motion_handler, | ||
| 3697 | "Handler for motion events. No arguments."); | ||
| 3698 | Vmouse_motion_handler = Qnil; | ||
| 3699 | #endif | ||
| 3700 | |||
| 3701 | DEFVAR_BOOL ("menu-prompting", &menu_prompting, | 3505 | DEFVAR_BOOL ("menu-prompting", &menu_prompting, |
| 3702 | "Non-nil means prompt with menus in echo area when appropriate.\n\ | 3506 | "Non-nil means prompt with menus in echo area when appropriate.\n\ |
| 3703 | This is done when reading from a keymap that has a prompt string,\n\ | 3507 | This is done when reading from a keymap that has a prompt string,\n\ |