* x-dnd.el (x-dnd-handle-moz-url, x-dnd-insert-utf16-text): Use
utf-16le on little endian machines and utf-16be otherwise.
This commit is contained in:
parent
78cfc6adfc
commit
bcfa9925a6
2 changed files with 14 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-04-02 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* x-dnd.el (x-dnd-handle-moz-url, x-dnd-insert-utf16-text): Use
|
||||
utf-16le on little endian machines and utf-16be otherwise.
|
||||
|
||||
2004-04-02 David Kastrup <dak@gnu.org>
|
||||
|
||||
* net/browse-url.el (browse-url-generic): Use call-process
|
||||
|
|
|
@ -336,7 +336,12 @@ WINDOW is the window where the drop happened. ACTION is ignored.
|
|||
DATA is the moz-url, which is formatted as two strings separated by \r\n.
|
||||
The first string is the URL, the second string is the title of that URL.
|
||||
DATA is encoded in utf-16. Decode the URL and call `x-dnd-handle-uri-list'."
|
||||
(let* ((string (decode-coding-string data 'utf-16le)) ;; ALWAYS LE???
|
||||
;; 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
|
||||
;; 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))
|
||||
|
@ -351,7 +356,9 @@ TEXT is the text as a string, WINDOW is the window where the drop happened."
|
|||
(defun x-dnd-insert-utf16-text (window action text)
|
||||
"Decode the UTF-16 text and insert it at point.
|
||||
TEXT is the text as a string, WINDOW is the window where the drop happened."
|
||||
(x-dnd-insert-text window action (decode-coding-string text 'utf-16le)))
|
||||
;; See comment in x-dnd-handle-moz-url about coding.
|
||||
(let ((coding (if (eq (byteorder) ?B) 'utf-16be 'utf-16le)))
|
||||
(x-dnd-insert-text window action (decode-coding-string text coding))))
|
||||
|
||||
(defun x-dnd-insert-ctext (window action text)
|
||||
"Decode the compound text and insert it at point.
|
||||
|
|
Loading…
Add table
Reference in a new issue