]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/keyboard.c: Copy last tool-bar change to tab-bar.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 21 Feb 2020 15:50:08 +0000 (10:50 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 21 Feb 2020 15:50:08 +0000 (10:50 -0500)
(make_lispy_event) <TAB_BAR_EVENT>: Make event with proper location info.

* src/xdisp.c (handle_tab_bar_click, tty_handle_tab_bar_click): Don't
emit dummy "prefix" event.

src/keyboard.c
src/xdisp.c

index 913a4d344b2a3f12f0dd660edeaac4cb32803e3e..9ce168c6dd0f74118c1ac3585767d1c407f709d3 100644 (file)
@@ -5998,20 +5998,13 @@ make_lispy_event (struct input_event *event)
       return list2 (Qselect_window, list1 (event->frame_or_window));
 
     case TAB_BAR_EVENT:
-      if (EQ (event->arg, event->frame_or_window))
-       /* This is the prefix key.  We translate this to
-          `(tab_bar)' because the code in keyboard.c for tab bar
-          events, which we use, relies on this.  */
-       return list1 (Qtab_bar);
-      else if (SYMBOLP (event->arg))
-       return apply_modifiers (event->modifiers, event->arg);
-      return event->arg;
-
     case TOOL_BAR_EVENT:
       {
        Lisp_Object res = event->arg;
+       Lisp_Object location
+         = event->kind == TAB_BAR_EVENT ? Qtab_bar : Qtool_bar;
        if (SYMBOLP (res)) res = apply_modifiers (event->modifiers, res);
-       return list2 (res, list2 (event->frame_or_window, Qtool_bar));
+       return list2 (res, list2 (event->frame_or_window, location));
       }
 
     case USER_SIGNAL_EVENT:
index 682399f13e7bb97ff001de0712d459405d5b95d9..c2aa314c1adb6fb9fc6f50b0659f94f1f3a98905 100644 (file)
@@ -13356,11 +13356,6 @@ handle_tab_bar_click (struct frame *f, int x, int y, bool down_p,
       key = AREF (f->tab_bar_items, prop_idx + TAB_BAR_ITEM_KEY);
 
       XSETFRAME (frame, f);
-      event.kind = TAB_BAR_EVENT;
-      event.frame_or_window = frame;
-      event.arg = frame;
-      kbd_buffer_store_event (&event);
-
       event.kind = TAB_BAR_EVENT;
       event.frame_or_window = frame;
       event.arg = key;
@@ -13536,11 +13531,6 @@ tty_handle_tab_bar_click (struct frame *f, int x, int y, bool down_p,
 
       event->code = 0;
       XSETFRAME (frame, f);
-      event->kind = TAB_BAR_EVENT;
-      event->frame_or_window = frame;
-      event->arg = frame;
-      kbd_buffer_store_event (event);
-
       event->kind = TAB_BAR_EVENT;
       event->frame_or_window = frame;
       event->arg = key;