-;;; x-dnd.el --- drag and drop support for X.
+;;; x-dnd.el --- drag and drop support for X -*- coding: utf-8 -*-
-;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009
+;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
;; Free Software Foundation, Inc.
-;; Author: Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
+;; Author: Jan Djรคrv <jan.h.d@swipnet.se>
;; Maintainer: FSF
;; Keywords: window, drag, drop
+;; Package: emacs
;; This file is part of GNU Emacs.
:group 'x)
(defcustom x-dnd-known-types
+ (mapcar 'purecopy
'("text/uri-list"
"text/x-moz-url"
"_NETSCAPE_URL"
"COMPOUND_TEXT"
"STRING"
"TEXT"
- )
+ ))
"The types accepted by default for dropped data.
The types are chosen in the order they appear in the list."
:version "22.1"
(let ((buffer (when (window-live-p window)
(window-buffer window)))
(current-state (x-dnd-get-state-for-frame window)))
- (when (or (not (equal buffer (aref current-state 0)))
- (not (equal window (aref current-state 1)))
- (not (equal action (aref current-state 3))))
- (save-excursion
+ (unless (and (equal buffer (aref current-state 0))
+ (equal window (aref current-state 1))
+ (equal action (aref current-state 3)))
+ (save-current-buffer
(when buffer (set-buffer buffer))
(let* ((action-type (funcall x-dnd-test-function
window
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))
(provide 'x-dnd)
-;; arch-tag: b621fb7e-50da-4323-850b-5fc71ae64621
;;; x-dnd.el ends here