Subject: bug#77476: [PATCH] Rename various hash functions to avoid clashing with GnuTLS.

From: Eli Zaretskii <[email-masked]>
Date: Thu, 03 Apr 2025 08:25:15 +0300

> Date: Wed, 02 Apr 2025 20:46:03 -0700
> From: "Greg A. Woods" <[email-masked]>
> 
> Rename various hash functions in src/fns.c to facilitate static-linking
> with GnuTLS which includes clashing hash functions from its "gl"
> subdirectory.
> 
> * src/fns.c: et al (hash_string, hash_lookup, hash_lookup_get_hash,
>   hash_put, hash_remove_from_table): Rename with a leading "lisp_" prefix.

Sorry, can you tell more about the rationale?  Why do these clash?  Is
this perhaps a matter of correct function visibility in a library?

And why does Emacs, and not GnuTLS, need to rename its functions?

Also, how come this comes up only now?

In any case, the prefix "lisp_" doesn't sound right to me.  Maybe
"emacs_" or something similar, like just "e".