On 29/04/2025 23:57, Bruno Haible via Gnulib discussion list wrote:
The naming of *hash* modules is suboptimal: On one hand, we have the
hash tables and containers:
hash, hash-map, hash-set, linkedhash-map, linkedhash-set,
avltreehash-list, linkedhash-list, rbtreehash-list,
on the other hand the auxiliary modules that only provide hash code
functions:
hash-pjw, hash-pjw-bare, hash-triple, hash-triple-simple
I want to add a new module that defines a hash code for strings,
for hash-map and hash-set. The naming is becoming a problem.
I think it's best to rename the modules that provide hash code functions:
hash-pjw -> hashcode-string
hash-pjw-bare -> hashcode-mem
hash-triple -> hashcode-file-inode
hash-triple-simple -> hashcode-named-file
And the new module will be called
-> hashkey-string
(similar to hashcode-string).
With this, I'm also renaming the .h files accordingly. I'm NOT renaming
the functions.
For modules that are used outside Gnulib, to ease migration, I'm adding
temporary module aliases and .h file aliases that trigger a deprecation
message.
FYI I see these failures in coreutils CI with latest gnulib.
I'll fix it up by moving to the newer API, but you may have
not expected the build failure.
cheers,
Pádraig
src/copy.c: In function 'dest_info_init':
src/copy.c:2026:24: error: 'triple_hash' undeclared (first use in this function)
2026 | triple_hash,
| ^~~~~~~~~~~
src/copy.c:2026:24: note: each undeclared identifier is reported only once for
each function it appears in
src/copy.c:2027:24: error: 'triple_compare' undeclared (first use in this
function)
2027 | triple_compare,
| ^~~~~~~~~~~~~~