Euphoria Ticket #236: pixel() is Not Supported Op Code?

This program:

pixel( 10, {1,2} ) 

gives this output:

c:\test_vm\testing.exw:2 
Unsupported Op Code   
 
 
Global & Local Variables 

Should this be something more like "error resolving the following reference..."?

Details

Type: Bug Report Severity: Normal Category: Interpreter
Assigned To: jeremy Status: Fixed Reported Release: 3531
Fixed in SVN #: 3643 View VCS: 3643 Milestone: 4.0.0RC1

1. Comment by DerekParnell Oct 24, 2010

Maybe we should be flagging deprecated and unsupported opcodes in the front end tables so the parser can detect this.

2. Comment by jimcbrown Oct 24, 2010

Seeing that pixel() is no longer deprecated but outright unsupported, perhaps the name should no longer be reserved as a builtin. Then the front-end would act accordingly, and treat pixel() the same as it would foo() or randomnamehere().

Obviously, if someone creates a .il file with 3.1.1's shroud of an Eu program that uses pixel() or other unsupported routines, and then runs that .il file with a 4.0 backend, then this is the correct error message to give out.

3. Comment by euphoric Oct 24, 2010

Right, "pixel" should no longer be reserved as a builtin.

4. Comment by jimcbrown Oct 28, 2010

Getting the right error message is fairly straightforward.

Just comment out the get_pixel and pixel entries in keylist.e, and then the parser will not know they are builtins anymore.

Incidently, on Linux, calling get_pixel() or pixel() causes a machine level exception.

5. Comment by jeremy Oct 28, 2010

Op codes totally removed. Machine func vars were changed to M_REUSE_1 and M_REUSE_2 as not to leave blanks that get forgotten about.

get_pixel() was also removed.

Search



Quick Links

User menu

Not signed in.

Misc Menu