miyamuko/xml-http-request — Issue #5: xhr-(get|post)-asyncで:keyにxhr-response-textとか指定してると:onabortの起動時にこける
Author: miyamuko
Created: 2012-01-11 10:16:57+00:00
State: open
Labels: defect

via http://twitter.com/#!/Yubeshi/status/156738257021968384

### 再現コード

```lisp
(let ((xhr (xhr:xhr-get-async "http://www.google.co.jp"
:key 'xhr:xhr-response-text
:onabort #'(lambda (&rest args)
(msgbox "~S" args)))))
(xhr:xhr-abort xhr))
```

### エラー

```
>CALL STACK 9: (ole-getprop # :responseText)
>CALL STACK 8: (system:*byte-code ...)
>CALL STACK 7: (xml-http-request::%response-text #)
>CALL STACK 6: (system:*byte-code ...)
>CALL STACK 5: (xml-http-request:xhr-response-text #S(xml-http-request::http-request uri "http://www.google.co.jp" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class "Msxml2.XMLHTTP" aborted-p t) method "GET" header-hash # data ""))
>CALL STACK 4: (system:*byte-code ...)
>CALL STACK 3: (xml-http-request::fire-event ((:abort . #)) :abort xml-http-request:xhr-response-text #S(xml-http-request::http-request uri "http://www.google.co.jp" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class "Msxml2.XMLHTTP" aborted-p t) method "GET" header-hash # data ""))
>CALL STACK 2: (system:*byte-code ...)
>CALL STACK 1: (xml-http-request::xhr-event-dispatch)
例外が発生しました。 : :responseText

>CALL STACK 11: (system:*throw-error #S(simple-warning format-string "abortハンドラの実行中にエラーが発生しました
simple-error: 例外が発生しました。 : :responseText
URL: http://www.google.co.jp
#S(xml-http-request::http-request uri \"http://www.google.co.jp\" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class \"Msxml2.XMLHTTP\" aborted-p t) method \"GET\" header-hash # data \"\")" format-arguments nil))
>CALL STACK 10: (system:*byte-code ...)
>CALL STACK 9: (lisp::*error "abortハンドラの実行中にエラーが発生しました
simple-error: 例外が発生しました。 : :responseText
URL: http://www.google.co.jp
#S(xml-http-request::http-request uri \"http://www.google.co.jp\" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class \"Msxml2.XMLHTTP\" aborted-p t) method \"GET\" header-hash # data \"\")" nil simple-warning)
>CALL STACK 8: (system:*byte-code ...)
>CALL STACK 7: (warn "abortハンドラの実行中にエラーが発生しました
simple-error: 例外が発生しました。 : :responseText
URL: http://www.google.co.jp
#S(xml-http-request::http-request uri \"http://www.google.co.jp\" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class \"Msxml2.XMLHTTP\" aborted-p t) method \"GET\" header-hash # data \"\")")
>CALL STACK 6: (system:*byte-code ...)
>CALL STACK 5: (xml-http-request::process-error #S(xml-http-request::http-request uri "http://www.google.co.jp" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class "Msxml2.XMLHTTP" aborted-p t) method "GET" header-hash # data "") #S(simple-error format-string 例外が発生しました。 format-arguments :responseText) "~Aハンドラの実行中にエラーが発生しました" :abort)
>CALL STACK 4: (system:*byte-code ...)
>CALL STACK 3: (xml-http-request::fire-event ((:abort . #)) :abort xml-http-request:xhr-response-text #S(xml-http-request::http-request uri "http://www.google.co.jp" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class "Msxml2.XMLHTTP" aborted-p t) method "GET" header-hash # data ""))
>CALL STACK 2: (system:*byte-code ...)
>CALL STACK 1: (xml-http-request::xhr-event-dispatch)
abortハンドラの実行中にエラーが発生しました
simple-error: 例外が発生しました。 : :responseText
URL: http://www.google.co.jp
#S(xml-http-request::http-request uri "http://www.google.co.jp" xmlhttp #S(xml-http-request::xmlhttp oledata # progid :xmlhttp progid-class "Msxml2.XMLHTTP" aborted-p t) method "GET" header-hash # data "")
```