This looks like it's due to a bug fix and is correct behavior - we used to
allow None + "abc" but we've fixed the issue and it now throws an exception
as expected.

Note CallTarget0 is no longer used by IronPython at all.  We keep it around
though for backwards compatibility because people seem to like it :)

But I would generally recommend using Func<object> instead.

> -----Original Message-----
> From: [email protected] [mailto:users-
> [email protected]] On Behalf Of Davy Mitchell
> Sent: Thursday, July 23, 2009 11:29 AM
> To: Discussion of IronPython
> Subject: [IronPython] IP B2 Issue
>
> Hi Guys,
>
> Don't have much time to look into this right now but thought I would
> share it right away as it seems low level :-)
> Changes to CallTarget0?
>
> I was just running DIE on PY and it was capturing output from a script
> in the usual manner when...
>
>
> Unhandled Exception: Unhandled Exception:
> Microsoft.Scripting.ArgumentTypeExcept
> ion: unsupported operand type(s) for +: 'NoneType' and 'str'
>    at CallSite.Target(Closure , CallSite , Object , String )
>    at
> Microsoft.Scripting.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallS
> ite
>  site, T0 arg0, T1 arg1)
>    at
> IronPython.Runtime.Binding.PythonBinaryOperationBinder.StringAdd(CallSi
> te
> site, Object self, String other)
>    at ProcessOutputHandler$300(Closure , PythonFunction , Object ,
> Object , Obje
> ct )
>    at IronPython.Runtime.PythonFunction.FunctionCaller`3.Call3(CallSite
> site, Co
> deContext context, Object func, T0 arg0, T1 arg1, T2 arg2)
>    at CallSite.Target(Closure , CallSite , Object , Object ,
> DataReceivedEventAr
> gs )
>    at _Scripting_(Object[] , Object , DataReceivedEventArgs )
>    at System.Diagnostics.Process.OutputReadNotifyUser(String data)
>    at System.Diagnostics.AsyncStreamReader.FlushMessageQueue()
>    at System.Diagnostics.AsyncStreamReader.ReadBuffer(IAsyncResult ar)
>    at
> System.Runtime.Remoting.Messaging.AsyncResult.SyncProcessMessage(IMessa
> ge
> msg)
>    at
> System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(
> IMe
> ssage msg, IMessageSink replySink)
>    at
> System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.DoAsyncCall()
>    at
> System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack
> (Ob
> ject o)
>    at
> System.Threading._ThreadPoolWaitCallback.WaitCallback_Context(Object
> state
> )
>    at System.Threading.ExecutionContext.Run(ExecutionContext
> executionContext, C
> ontextCallback callback, Object state)
>    at
> System.Threading._ThreadPoolWaitCallback.PerformWaitCallbackInternal(_T
> hre
> adPoolWaitCallback tpWaitCallBack)
>    at
> System.Threading._ThreadPoolWaitCallback.PerformWaitCallback(Object
> state)
>
> --
>   Davy Stuff  - http://daftspaniel.blogspot.com
>   Geeky Stuff  - http://daftpython.blogspot.com
>   Davy's Ironpython Editor -
> http://code.google.com/p/davysironpythoneditor/
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to