From: YAMAMOTO Mitsuharu Date: Thu, 5 Jan 2006 08:13:11 +0000 (+0000) Subject: (mac-ae-parameter): Don't coerce data if it is X-Git-Tag: emacs-pretest-22.0.90~4881 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a149e872d416485eab5ef61ae878cebfa10b83a8;p=emacs.git (mac-ae-parameter): Don't coerce data if it is already of desired type. (mac-ae-list): Coerce parameter to "list" type. (mac-dispatch-apple-event): Replace cadr part of event with a dummy position so that event-start returns it. --- diff --git a/lisp/term/mac-win.el b/lisp/term/mac-win.el index 159a9da2cc3..bef495ab616 100644 --- a/lisp/term/mac-win.el +++ b/lisp/term/mac-win.el @@ -1381,7 +1381,7 @@ in `selection-converter-alist', which see." (put 'core-event 'mac-apple-event-class "aevt") ; kCoreEventClass (put 'internet-event 'mac-apple-event-class "GURL") ; kAEInternetEventClass -;;; Event IDs +;;; Event IDs ;; kCoreEventClass (put 'open-application 'mac-apple-event-id "oapp") ; kAEOpenApplication (put 'reopen-application 'mac-apple-event-id "rapp") ; kAEReopenApplication @@ -1409,14 +1409,14 @@ in `selection-converter-alist', which see." (error "Not an Apple event: %S" ae) (let ((type-data (cdr (assoc keyword (cdr ae)))) data) - (when (and type type-data) + (when (and type type-data (not (equal type (car type-data)))) (setq data (mac-coerce-ae-data (car type-data) (cdr type-data) type)) (setq type-data (if data (cons type data) nil))) type-data))) (defun mac-ae-list (ae &optional keyword type) (or keyword (setq keyword "----")) ;; Direct object. - (let ((desc (mac-ae-parameter ae keyword))) + (let ((desc (mac-ae-parameter ae keyword "list"))) (cond ((null desc) nil) ((not (equal (car desc) "list")) @@ -1588,6 +1588,9 @@ Currently the `mailto' scheme is supported." (setq service-message (intern (decode-coding-string service-message 'utf-8))) (setq binding (lookup-key binding (vector service-message)))) + ;; Replace (cadr event) with a dummy position so that event-start + ;; returns it. + (setcar (cdr event) (list (selected-window) (point) '(0 . 0) 0)) (call-interactively binding))) (global-set-key [mac-apple-event] 'mac-dispatch-apple-event)