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,
      |                        ^~~~~~~~~~~~~~



Reply via email to