or because the drop was rejected. The drop occurs when all mouse
buttons are released on top of an X window other than @var{frame} (the
@dfn{drop target}), or any X window if @var{allow-current-frame} is
-non-@code{nil}.
+non-@code{nil}. If no mouse buttons are held down when the
+drag-and-drop operation begins, this function may immediately return
+@code{nil}.
@var{targets} is a list of strings describing selection targets, much
like the @var{data-type} argument to @code{gui-get-selection}, that
If ALLOW-CURRENT-FRAME is not specified or nil, then the drop target
is allowed to be FRAME. Otherwise, no action will be taken if the
-mouse buttons are released on top of FRAME. */)
+mouse buttons are released on top of FRAME.
+
+This function will sometimes return immediately if no mouse buttons
+are currently held down, and should only be called in situations where
+it is known that some are being held down down, such as immediately
+after a `down-mouse-1' event. */)
(Lisp_Object targets, Lisp_Object action, Lisp_Object frame,
Lisp_Object return_frame, Lisp_Object allow_current_frame)
{