]> git.eshelyaron.com Git - emacs.git/commitdiff
Check list tail properly in x-begin-drag
authorPo Lu <luangruo@yahoo.com>
Sun, 20 Mar 2022 04:51:46 +0000 (12:51 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 20 Mar 2022 04:51:46 +0000 (12:51 +0800)
* src/xfns.c (Fx_begin_drag): Check that TARGETS is actually a
proper list.
* src/xterm.c (x_dnd_update_state): Remove debugging code.

src/xfns.c
src/xterm.c

index b5d0b2c54e89e72b59560c60d28728d6dc34629d..9d30f2adee14aae4ec36af23964dff0e4924f322 100644 (file)
@@ -6620,10 +6620,11 @@ instead.  */)
   int ntargets = 0;
   char *target_names[2048];
   Atom *target_atoms;
-  Lisp_Object lval;
+  Lisp_Object lval, original;
   Atom xaction;
 
   CHECK_LIST (targets);
+  original = targets;
 
   for (; CONSP (targets); targets = XCDR (targets))
     {
@@ -6638,6 +6639,8 @@ instead.  */)
        error ("Too many targets");
     }
 
+  CHECK_LIST_END (targets, original);
+
   if (NILP (action) || EQ (action, QXdndActionCopy))
     xaction = FRAME_DISPLAY_INFO (f)->Xatom_XdndActionCopy;
   else if (EQ (action, QXdndActionMove))
index 3e7b51e4db3f6c7cfb5b6472b95343f02e956c10..01840569fef441f47711a6312e1fc22ab188ed08 100644 (file)
@@ -10606,8 +10606,6 @@ x_dnd_update_state (struct x_display_info *dpyinfo)
   unsigned int dummy_mask;
   Window dummy, dummy_child, target;
 
-  puts ("us");
-
   if (XQueryPointer (dpyinfo->display,
                     dpyinfo->root_window,
                     &dummy, &dummy_child,