Hello, I was just checking the new release candidate for compatability with my builtin and noticed that assoc arrays are now automatically rehashed on insertion.
I knew this day would come :-) I had been (ab)using the fact that if you created the array with assoc_create(1), the order of elements would be maintained. This is because you were effectively creating a linked list rather than a hash table. I expect the answer is "too bad", but it would be nice if the rehashing could be toggled with a flag in the HASH_TABLE, rather than based on the HASH_CREATE parameter, what do you think? I'm aware not many people use native builtins, my code is here, it allows you to use native libraries in bash scripts: https://github.com/taviso/ctypes.sh The reason I need assocs that maintain order is so that you can manipulate and access C structures in bash. For example, if you had a struct stat, you might want to echo ${stat[st_mtim.tv_sec]}. This currently works with ctypes.sh, but I think it might not be possible if there's no way to disable automatic rehashing. Also, I noticed the definition of ARRAY is now ABI incompatible with builtins from previous versions because a new member (lastref) was added in the middle (rather than at the end). Tavis. -- ---------------------------- $ finger tav...@sdf.org ----------------------------------------------