Note

The wasCircularListRemove function takes as input a circular list and an element and then removes an element from the list and returns the list. An example call is the following:

list a = [ 1, 2, 3, 4, 5 ];
a = wasCircularListRemove(a, [1]);

after which the contents of the list a will be:

2 3 4 5

Code

///////////////////////////////////////////////////////////////////////////
//  Copyright (C) Wizardry and Steamworks 2014 - License: GNU GPLv3      //
///////////////////////////////////////////////////////////////////////////
list wasCircularListRemove(list input, list node) {
    integer i = llListFindList(input, node);
    if(i == -1) return input;
    return llDeleteSubList(input, i, i);
}