Mercurial > emacs
diff lisp/term/mac-win.el @ 59189:60ffced08532
* term/mac-win.el: Require x-dnd.
(mac-drag-n-drop): Sync with W32 version. Use x-dnd.el functions.
* macfns.c (install_window_handler): Modify extern to return OSErr
value.
(mac_window): Handle return value of install_window_handler.
* macterm.c (reflect_byte): Remove function.
(mac_create_bitmap_from_bitmap_data): Don't call it. Lookup table
instead.
(mac_do_font_lists): Simplify calculation of the longest
nonspecial string.
[TARGET_API_MAC_CARBON] (init_mac_drag_n_drop): Remove function
and declaration.
(mac_initialize) [TARGET_API_MAC_CARBON]: Don't call it.
[TARGET_API_MAC_CARBON] (mac_do_track_drag): New function and
declaration.
(install_window_handler): Return OSErr value.
(install_window_handler) [TARGET_API_MAC_CARBON]: Register
handlers for tracking/receiving drag-and-drop items.
(do_ae_open_documents): Generate unibyte strings for filenames.
[TARGET_API_MAC_CARBON] (mac_do_receive_drag): Likewise. Reject
only non-filename items. Set event modifiers. Set return value.
author | Steven Tamm <steventamm@mac.com> |
---|---|
date | Wed, 29 Dec 2004 17:25:02 +0000 |
parents | 8d9ea622c741 |
children | d6563f85d9e5 |
line wrap: on
line diff
--- a/lisp/term/mac-win.el Wed Dec 29 16:01:49 2004 +0000 +++ b/lisp/term/mac-win.el Wed Dec 29 17:25:02 2004 +0000 @@ -76,7 +76,7 @@ ;;(require 'select) (require 'menu-bar) (require 'fontset) -;;(require 'x-dnd) +(require 'x-dnd) (defvar x-invocation-args) @@ -1564,7 +1564,7 @@ (mouse-wheel-mode 1) (defun mac-drag-n-drop (event) - "Edit the files listed in the drag-n-drop event.\n\ + "Edit the files listed in the drag-n-drop EVENT. Switch to a buffer editing the last file dropped." (interactive "e") (save-excursion @@ -1577,16 +1577,11 @@ (y (cdr coords))) (if (and (> x 0) (> y 0)) (set-frame-selected-window nil window)) - (mapcar - '(lambda (file) - (find-file - (decode-coding-string - file - (or file-name-coding-system - default-file-name-coding-system)))) - (car (cdr (cdr event))))) - (raise-frame) - (recenter))) + (mapcar (lambda (file-name) + (x-dnd-handle-one-url window 'private + (concat "file:" file-name))) + (car (cdr (cdr event))))) + (raise-frame))) (global-set-key [drag-n-drop] 'mac-drag-n-drop)