Euphoria
Ticket #236:
pixel() is Not Supported Op Code?
-
Reported by
euphoric
Oct 22, 2010
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
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.