]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fmakehash): Take one argument, test, make all the
authorGerd Moellmann <gerd@gnu.org>
Tue, 7 Sep 1999 14:48:55 +0000 (14:48 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 7 Sep 1999 14:48:55 +0000 (14:48 +0000)
rest keyword arguments.

src/fns.c

index 8cbb30b6420df4cdc29deb0d993c73f08719a1b3..8c5120397888598d21b9731f2cc2d0359fd5fdb0 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -4315,16 +4315,12 @@ Optional first argument TEST specifies how to compare keys in\n\
 the table.  Predefined tests are `eq', `eql', and `equal'.  Default\n\
 is `eql'.  New tests can be defined with `define-hash-table-test'.\n\
 \n\
-Optional second argument SIZE is a hint to the implementation as\n\
-to how many elements will be put in the table.  Default is 65.\n\
-\n\
-Optional third argument WEAKNESS must be one of nil, t, `key',\n\
- or `value'.  Default is nil.  Elements of weak hash tables\n\
-are removed when their key, value or both are otherwise unreferenced.\n\
-\n\
 The rest of the optional arguments are keyword/value pairs.  The\n\
 following are recognized:\n\
 \n\
+:SIZE SIZE -- A hint as to how many elements will be put in the table.
+Default is 65.\n\
+\n\
 :REHASH-SIZE REHASH-SIZE - Indicates how to expand the table when\n\
 it fills up.  If REHASH-SIZE is an integer, add that many space.\n\
 If it is a float, it must be > 1.0, and the new size is computed by\n\
@@ -4332,7 +4328,12 @@ multiplying the old size with that factor.  Default is 1.5.\n\
 \n\
 :REHASH-THRESHOLD THRESHOLD -- THRESHOLD must a float > 0, and <= 1.0.\n\
 Resize the hash table when ratio of the number of entries in the table.\n\
-Default is 0.8.")
+Default is 0.8.\n\
+\n\
+:WEAKNESS WEAK -- WEAK must be one of nil, t, `key', or `value'.\n\
+If WEAK is not nil, the table returned is a weak table.  Key/value\n\
+pairs are removed from a weak hash table when their key, value or both\n\
+(WEAK t) are otherwise unreferenced.  Default is nil.")
   (nargs, args)
      int nargs;
      Lisp_Object *args;
@@ -4346,29 +4347,13 @@ Default is 0.8.")
   if (SYMBOLP (args[i])
       && !EQ (args[i], QCrehash_size)
       && !EQ (args[i], QCrehash_threshold)
-      && !EQ (args[i], QCweakness))
+      && !EQ (args[i], QCweakness)
+      && !EQ (args[i], QCsize))
     {
       args2[j++] = QCtest;
       args2[j++] = args[i++];
     }
 
-  /* Recognize SIZE argument.  */
-  if (INTEGERP (args[i]))
-    {
-      args2[j++] = QCsize;
-      args2[j++] = args[i++];
-    }
-
-  /* Recognize WEAKNESS argument.  */
-  if (EQ (args[i], Qt)
-      || NILP (args[i])
-      || EQ (args[i], Qkey)
-      || EQ (args[i], Qvalue))
-    {
-      args2[j++] = QCweakness;
-      args2[j++] = args[i++];
-    }
-
   /* Copy remaining arguments.  */
   while (i < nargs)
     args2[j++] = args[i++];