Function: x-dnd-xm-read-targets
x-dnd-xm-read-targets is a byte-compiled function defined in
x-dnd.el.gz.
Signature
(x-dnd-xm-read-targets FRAME WINDOW SELECTION)
Documentation
Read targets of SELECTION on FRAME from the targets table.
WINDOW should be the drag-and-drop operation's initiator. Return a vector of atoms containing the selection targets.
Source Code
;; Defined in /usr/src/emacs/lisp/x-dnd.el.gz
(defun x-dnd-xm-read-targets (frame window selection)
"Read targets of SELECTION on FRAME from the targets table.
WINDOW should be the drag-and-drop operation's initiator.
Return a vector of atoms containing the selection targets."
(let* ((targets-table (x-dnd-xm-read-targets-table frame))
(initiator-info (x-window-property selection frame
"_MOTIF_DRAG_INITIATOR_INFO"
window nil nil))
(byte-order (aref initiator-info 0))
(idx (x-dnd-get-motif-value initiator-info
2 2 byte-order))
(vector (aref targets-table idx))
(i 0))
(prog1 vector
(while (< i (length vector))
(aset vector i
(intern (x-get-atom-name (aref vector i))))
(setq i (1+ i))))))