first element in the array that is matched by match(item, cdata)==True.
- added WMArrayFirst(), WMArrayLast(), WMArrayNext() and WMArrayPrevious()
functions and also WM_ITERATE_ARRAY() and WM_ETARETI_ARRAY() macros, to make
interfaces to WMBag and WMArray similar and to make life a little simpler
when iterating through all elements of an array.
- replaced bags with arrays wherever appropriate. This will improve
performance a bit.
- replaced some recursive code with iterative code in WINGs/selection.c
- some code cleanup is src/
WMConnection code. do call by yourself wsyserrorwithcode() passing
WCErrorCode, whenever a call don't return the expected value, and
WCErrorCode > 0. If WCErrorCode==0 that is not an system error,
condition, so don't call wsyserrorwithcode() in that case.
- added some assertions where appropriate
connection survives or not an exec* family call. By default all
connections created by WINGs, set the socket to be closed on an exec*
call. Use the function if you need the reverse.