0: LSLEditor does not give the same results as Second Life.
Resolution: Use Second Life for the real thing ;-) or sending in some BugReport!!
1: LSLEditor does not parse floats ending in a dot, append a zero.
Example:
float f = 1.;
vector v = <1.,1.,1.>;
Resolution: Use a zero behind the dot.
Example:
float f = 1.0;
vector v = <1.0,1.0,1.0>;
2: LSLEditor accepts global vars on a state body
Example:
default
{
integer i;
touch_start(integer j)
{
}
}
Resolution: Don't use vars on state bodies.
integer i;
default
{
touch_start(integer j)
{
}
}
3: LSLEditor accepts var on for(;;) body
Example:
for(integer i=0;i<10;i++) { ... }
Resolution: Place vars always outside for body
integer i;
for(i=0;i<10;i++) { ... }
4: LSLEditor gives wrong argument when typing, having multiple ','
Example: Placing cursor between "OK" and "Cancel" results in:

Resolution: Use separate vars for lists, vectors and rotations.

5: Some operators do work in LSLEditor, not in SecondLife
Resolution: Don't use '&=' and '|=' operators in your scripts.
6: There are some 'memory-conserve quirks' in SecondLife, they are not in LSLEditor
Example1: gSentence = (gSentence = "") + gSentence + " " + "now.";
Example2: gFruits = (gFruits = []) + gFruits + ["pear"];
There are NO
plans to make them work in LSLEditor. It is not healthy to use them.
If the memory limit for scripts is too small, we all have to complain at the
Lindens!!
The last 'Anomaly' build into LSLEditor was the single-quote feature
of SecondLife.
It is turned off by default, because it makes us no good programmers!!
Here is some screenshot to make myself clear.
7: LSLEditor has this nice feature called 'implicit string operator', it does not work in SecondLife
Example1:
llOwnerSay("Hello "+list);
Example2:
llOwnerSay("Hello "+(integer)i);
However these examples work in LSLEditor, don't get used to it, use (string) casting.
Example1:
llOwnerSay("Hello "+(string)list);
Example2:
llOwnerSay("Hello "+(string)i);
8: Casting in LSLEditor
Cast of Cast works in LSLEditor, but not in SecondLife
float number;
string strA = (string)(integer)number;
Solution, add some extra parenthesis.
float number;
string strA = (string)((integer)number);
9: LSLEditor is Object Oriented, SecondLife is not
Example:
float number = llGetPos().z;
Dont use it in world.
10: LSLEditor evaluates from left to right
Example:
i = 1; intA = ((i == 2) && (i++ == 1)); i = 1; intB = ((i == 2) && (++i == 2)); i = 2; intC = ((i == 1) && (i-- == 2)); i = 2; intD = ((i == 1) && (--i == 1));These 4 integers (intA, intB, intC, intC) will all evaluate as 0 (FALSE)!
11: Special care for URL in llHTTPRequest
In LSLEditor llHTTPRequest accepts URL's containing spaces and other
non-escaped chars.
In SecondLife you have to use: llEscapeURL to make it work.
12: LSLEditor can do nested Lists, SecondLife does not.
list nestedList = [[42], ["a", 3.141]];
Dont use it in world.