]> git.eshelyaron.com Git - emacs.git/commitdiff
Don't pretend that hash-table-size is useful
authorMattias Engdegård <mattiase@acm.org>
Sat, 30 Dec 2023 14:54:32 +0000 (15:54 +0100)
committerMattias Engdegård <mattiase@acm.org>
Sat, 13 Jan 2024 19:50:39 +0000 (20:50 +0100)
* lisp/emacs-lisp/shortdoc.el (hash-table): Remove hash-table-size entry.
* doc/lispref/hash.texi (Other Hash):
* src/fns.c (Fhash_table_size): Make it clear that hash-table-size is
probably not worth using.

doc/lispref/hash.texi
lisp/emacs-lisp/shortdoc.el
src/fns.c

index ff9d1799a6050fbeae54d7ae607b416b68e69fd6..aeaeab27fc0b4a8b38b07b0aaa0b6b545b0c0b63 100644 (file)
@@ -386,5 +386,6 @@ This returns the rehash threshold of @var{table}.
 @end defun
 
 @defun hash-table-size table
-This returns the current nominal size of @var{table}.
+This returns the current allocation size of @var{table}.  Since hash table
+allocation is managed automatically, this is rarely of interest.
 @end defun
index 17cbf6b2d313cc9e638b7ba7cf7b16fa762788fa..a6a49c72f74ebb303fecce018bbca0e8909ec3b9 100644 (file)
@@ -572,10 +572,7 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
    :result-string "#s(hash-table ...)")
   (hash-table-count
    :no-eval (hash-table-count table)
-   :eg-result 15)
-  (hash-table-size
-   :no-eval (hash-table-size table)
-   :eg-result 65))
+   :eg-result 15))
 
 (define-short-documentation-group list
   "Making Lists"
index 3765fc74967f861fe1a7682198c67bdf1cb7c5dc..70288590e24358f43d4b5e1661f7f6727e6d7703 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -5518,10 +5518,14 @@ DEFUN ("hash-table-rehash-threshold", Fhash_table_rehash_threshold,
 
 
 DEFUN ("hash-table-size", Fhash_table_size, Shash_table_size, 1, 1, 0,
-       doc: /* Return the size of TABLE.
-The size can be used as an argument to `make-hash-table' to create
-a hash table than can hold as many elements as TABLE holds
-without need for resizing.  */)
+       doc: /* Return the current allocation size of TABLE.
+
+This is probably not the function that you are looking for.  To get the
+number of entries in a table, use `hash-table-count' instead.
+
+The returned value is the number of entries that TABLE can currently
+hold without growing, but since hash tables grow automatically, this
+number is rarely of interest.  */)
   (Lisp_Object table)
 {
   struct Lisp_Hash_Table *h = check_hash_table (table);