Hi,

I'm wondering why sometimes there exist informative error messages but it doesn't seem easy to catch them. Here's a concrete (and real-world-inspired) use case:

? m = feval("haha")
haha: function not found

That's exactly the right error message! However, now I try to retrieve that programmatically:

? catch m = feval("haha")
? eval errmsg($error)
Datenfehler # ( = data error)

This is much less useful. Could the precise message be pushed through to the error? Hm, I guess there aren't that many formally encoded error types...

And BTW, here's a different and a little ironic example:

? m = I(2,3,4)
I: zuviele Argumente    # (= too many arguments)
? catch m = I(2,3,4)
I: zuviele Argumente
? eval errmsg($error)
Befehl hat zu wenige Argumente # (= command with too *few* arguments)

So there's a nice contradiction... In addition, I see that even the line with 'catch' does print out the error, whereas I expected it to be silent in that case, no?

(I also thought that maybe my German translation was simply wrong and switched to English. I still got "Command has insufficient arguments" for the errmsg.)

This is with the March 30th snapshot on Win10.

thanks

sven