|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Mon Aug 28, 2006 1:27 pm
[1.07] Incomplete function syntax crashes |
I've sent a report, but since noticed it in a number more commands.
#say %time
throws an error
#say %time()
shows the time
#say %eval
throws an error
#say %eval()
shows nothing (as it should)
#say %float
throws an error
#say %float()
shows 0
I expect it's similar with most other functions where their arguments aren't specified correctly. |
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;)
Last edited by Guinn on Tue Sep 26, 2006 11:32 pm; edited 1 time in total |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Aug 30, 2006 7:16 pm |
When you access %time you are accessing a system *VARIABLE* called %time. When you access %time() you are accessing a system *FUNCTION* called %time. There are some variables and functions with the same name (like %char).
So, it is correct to throw an error when you try to call a function with no arguments.
In the case of %time, I can probably add something so that it returns a reasonable result as a variable. But with %eval and %float it makes no sense to use them without arguments, so the error is correct. |
|
|
|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Wed Aug 30, 2006 9:03 pm |
I meant that CMUD crashes
|
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Aug 30, 2006 9:10 pm |
Oh! I thought it was just reporting a syntax error ;) OK, definitely send a crash dump on that and I'll get it fixed.
|
|
|
|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Tue Sep 26, 2006 11:32 pm |
bump - tested in 1.07 and still broken (originally reported in 1.05). I sent another bug report
|
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 27, 2006 1:40 am |
Give me the exact commands you are typing. I just tried this:
Code: |
#SHOW %time
#SHOW %eval |
and they both worked fine (at least in 1.08) |
|
|
|
Guinn Wizard
Joined: 03 Mar 2001 Posts: 1127 Location: London
|
Posted: Wed Sep 27, 2006 8:55 am |
#SHOW %time
works fine, shows the time
#SHOW %eval(0)
works fine, shows 0
#SHOW %eval()
crashes CMUD
#SHOW %eval
crashes CMUD
#SHOW %eval(0
errors with unmatched parenthesis - as it should, so the parser isn't knackered on my install
I've sent the bug reports again with a newly created .pkg file, just incase the one I was using previously was corrupted
Maybe if someone else with 1.07 could test and verify if it's just me |
|
_________________ CMUD Pro, Windows Vista x64
Core2 Q6600, 4GB RAM, GeForce 8800GT
Because you need it for text... ;) |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Sep 27, 2006 5:09 pm |
OK, looks like this is fixed in 1.08. I downloaded and installed 1.07 myself and reproduced your results on 1.07. But on 1.08 they all work as expected. Looks like this was related to some of the parser problems I fixed yesterday.
|
|
|
|
|
|