;;; x-dnd.el --- drag and drop support for X -*- coding: utf-8 -*-
-;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
-;; Free Software Foundation, Inc.
+;; Copyright (C) 2004-2011 Free Software Foundation, Inc.
;; Author: Jan Djärv <jan.h.d@swipnet.se>
;; Maintainer: FSF
"Return the state in `x-dnd-current-state' for a frame or window."
(cdr (x-dnd-get-state-cons-for-frame frame-or-window)))
-(defun x-dnd-default-test-function (window action types)
+(defun x-dnd-default-test-function (_window _action types)
"The default test function for drag and drop.
WINDOW is where the mouse is when this function is called. It may be
a frame if the mouse is over the menu bar, scroll bar or tool bar.
DATA is encoded in utf-16. Decode the URL and call `x-dnd-handle-uri-list'."
;; Mozilla and applications based on it (Galeon for example) uses
;; text/unicode, but it is impossible to tell if it is le or be. Use what
- ;; the machine Emacs runs on use. This looses if dropping between machines
+ ;; the machine Emacs runs on use. This loses if dropping between machines
;; with different endian, but it is the best we can do.
(let* ((coding (if (eq (byteorder) ?B) 'utf-16be 'utf-16le))
(string (decode-coding-string data coding))
(strings (split-string string "[\r\n]" t))
;; Can one drop more than one moz-url ?? Assume not.
- (url (car strings))
- (title (car (cdr strings))))
+ (url (car strings)))
(x-dnd-handle-uri-list window action url)))
(defun x-dnd-insert-utf8-text (window action text)
(declare-function x-window-property "xfns.c"
(prop &optional frame type source delete-p vector-ret-p))
-(defun x-dnd-handle-old-kde (event frame window message format data)
+(defun x-dnd-handle-old-kde (_event frame window _message _format _data)
"Open the files in a KDE 1.x drop."
(let ((values (x-window-property "DndSelection" frame nil 0 t)))
(x-dnd-handle-uri-list window 'private
(declare-function x-get-selection-internal "xselect.c"
(selection-symbol target-type &optional time-stamp))
-(defun x-dnd-handle-xdnd (event frame window message format data)
+(defun x-dnd-handle-xdnd (event frame window message _format data)
"Receive one XDND event (client message) and send the appropriate reply.
EVENT is the client message. FRAME is where the mouse is now.
WINDOW is the window within FRAME where the mouse is now.
(x-get-atom-name (aref data 4))))))))
((equal "XdndPosition" message)
- (let* ((x (car (aref data 2)))
- (y (cdr (aref data 2)))
- (action (x-get-atom-name (aref data 4)))
+ (let* ((action (x-get-atom-name (aref data 4)))
(dnd-source (aref data 0))
- (dnd-time (aref data 3))
(action-type (x-dnd-maybe-call-test-function
window
(cdr (assoc action x-dnd-xdnd-to-action))))
(x-get-selection-internal
'XdndSelection
(intern (x-dnd-current-type window)))))
- success action ret-action)
+ success action)
(setq action (if value
(condition-case info
nil))))
(setq success (if action 1 0))
- (setq ret-action
- (if (eq success 1)
- (or (car (rassoc action x-dnd-xdnd-to-action))
- "XdndActionPrivate")
- 0))
(x-send-client-message
frame dnd-source frame "XdndFinished" 32
(2 . private)) ; Motif does not have private, so use copy for private.
"Mapping from number to operation for Motif DND.")
-(defun x-dnd-handle-motif (event frame window message-atom format data)
+(defun x-dnd-handle-motif (event frame window message-atom _format data)
(let* ((message-type (cdr (assoc (aref data 0) x-dnd-motif-message-types)))
(source-byteorder (aref data 1))
(my-byteorder (byteorder))
(provide 'x-dnd)
-;; arch-tag: b621fb7e-50da-4323-850b-5fc71ae64621
;;; x-dnd.el ends here