When using mono:
"list bList = "c" + aList + "d";"
to create a new list, it will add the string to the old list as well if the string come before the old list. I hve provided code below that reproduces the bug.
in the above example aList will equal ["c", <original values of list>] insted of staying the same, and if you use it as:
"list bList = ["c"] + aList + ["d"];" will work fine as it should though. This example also works fine under the old scripting engine
-----------------------------------------------------------------------------------------------------------------------------------
list aList = ["a", "b"];
default
{
state_entry()
{
}
touch_start(integer total_number)
{
llOwnerSay(llDumpList2String(aList, ";"));
list bList = "c" + aList + "d";
llOwnerSay(llDumpList2String(bList, ";"));
llOwnerSay(llDumpList2String(aList, ";"));
}
}
Result (in Mono):
[23:19] VWR8868: a;b
[23:19] VWR8868: c;a;b;d
[23:19] VWR8868: c;a;b
Result (in LSL):
[23:20] VWR8868: a;b
[23:20] VWR8868: c;a;b;d
[23:20] VWR8868: a;b
Raising priority