# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2021-11-07 12:11+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:5 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/lispref/hash.texi:6 #, no-wrap msgid "Hash Tables" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:7 #, no-wrap msgid "hash tables" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:8 #, no-wrap msgid "lookup tables" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:13 msgid "" "A hash table is a very fast kind of lookup table, somewhat like an alist " "(@pxref{Association Lists}) in that it maps keys to corresponding values. " "It differs from an alist in these ways:" msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:21 msgid "" "Lookup in a hash table is extremely fast for large tables---in fact, the " "time required is essentially @emph{independent} of how many elements are " "stored in the table. For smaller tables (a few tens of elements) alists " "may still be faster because hash tables have a more-or-less constant " "overhead." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:24 msgid "The correspondences in a hash table are in no particular order." msgstr "" #. type: itemize #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:28 msgid "" "There is no way to share structure between two hash tables, the way two " "alists can share a common tail." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:38 msgid "" "Emacs Lisp provides a general-purpose hash table data type, along with a " "series of functions for operating on them. Hash tables have a special " "printed representation, which consists of @samp{#s} followed by a list " "specifying the hash table properties and contents. @xref{Creating Hash}. " "(Hash notation, the initial @samp{#} character used in the printed " "representations of objects with no read representation, has nothing to do " "with hash tables. @xref{Printed Representation}.)" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:42 msgid "" "Obarrays are also a kind of hash table, but they are a different type of " "object and are used only for recording interned symbols (@pxref{Creating " "Symbols})." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/lispref/hash.texi:50 #, no-wrap msgid "Creating Hash" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 msgid "Functions to create hash tables." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/lispref/hash.texi:187 #, no-wrap msgid "Hash Access" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 msgid "Reading and writing the hash table contents." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/lispref/hash.texi:236 #, no-wrap msgid "Defining Hash" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 msgid "Defining new comparison methods." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/lispref/hash.texi:351 #, no-wrap msgid "Other Hash" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:48 msgid "Miscellaneous." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:51 #, no-wrap msgid "Creating Hash Tables" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:52 #, no-wrap msgid "creating hash tables" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:56 msgid "The principal function for creating a hash table is @code{make-hash-table}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:57 #, no-wrap msgid "make-hash-table &rest keyword-args" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:62 msgid "" "This function creates a new hash table according to the specified " "arguments. The arguments should consist of alternating keywords (particular " "symbols recognized specially) and values corresponding to them." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:65 msgid "" "Several keywords make sense in @code{make-hash-table}, but the only two that " "you really need to know about are @code{:test} and @code{:weakness}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:67 #, no-wrap msgid ":test @var{test}" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:71 msgid "" "This specifies the method of key lookup for this hash table. The default is " "@code{eql}; @code{eq} and @code{equal} are other alternatives:" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:73 #, no-wrap msgid "eql" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:78 msgid "" "Keys which are numbers are the same if they are @code{equal}, that is, if " "they are equal in value and either both are integers or both are floating " "point; otherwise, two distinct objects are never the same." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:79 #, no-wrap msgid "eq" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:81 msgid "Any two distinct Lisp objects are different as keys." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:82 #, no-wrap msgid "equal" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:85 msgid "" "Two Lisp objects are the same, as keys, if they are equal according to " "@code{equal}." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:89 msgid "" "You can use @code{define-hash-table-test} (@pxref{Defining Hash}) to define " "additional possibilities for @var{test}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:90 #, no-wrap msgid ":weakness @var{weak}" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:93 msgid "" "The weakness of a hash table specifies whether the presence of a key or " "value in the hash table preserves it from garbage collection." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:101 msgid "" "The value, @var{weak}, must be one of @code{nil}, @code{key}, @code{value}, " "@code{key-or-value}, @code{key-and-value}, or @code{t} which is an alias for " "@code{key-and-value}. If @var{weak} is @code{key} then the hash table does " "not prevent its keys from being collected as garbage (if they are not " "referenced anywhere else); if a particular key does get collected, the " "corresponding association is removed from the hash table." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:106 msgid "" "If @var{weak} is @code{value}, then the hash table does not prevent values " "from being collected as garbage (if they are not referenced anywhere else); " "if a particular value does get collected, the corresponding association is " "removed from the hash table." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:112 msgid "" "If @var{weak} is @code{key-and-value} or @code{t}, both the key and the " "value must be live in order to preserve the association. Thus, the hash " "table does not protect either keys or values from garbage collection; if " "either one is collected as garbage, that removes the association." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:117 msgid "" "If @var{weak} is @code{key-or-value}, either the key or the value can " "preserve the association. Thus, associations are removed from the hash " "table when both their key and value would be collected as garbage (if not " "for references from weak hash tables)." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:120 msgid "" "The default for @var{weak} is @code{nil}, so that all keys and values " "referenced in the hash table are preserved from garbage collection." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:121 #, no-wrap msgid ":size @var{size}" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:127 msgid "" "This specifies a hint for how many associations you plan to store in the " "hash table. If you know the approximate number, you can make things a " "little more efficient by specifying it this way. If you specify too small a " "size, the hash table will grow automatically when necessary, but doing that " "takes some extra time." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:129 msgid "The default size is 65." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:130 #, no-wrap msgid ":rehash-size @var{rehash-size}" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:134 msgid "" "When you add an association to a hash table and the table is full, it grows " "automatically. This value specifies how to make the hash table larger, at " "that time." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:140 msgid "" "If @var{rehash-size} is an integer, it should be positive, and the hash " "table grows by adding approximately that much to the nominal size. If " "@var{rehash-size} is floating point, it had better be greater than 1, and " "the hash table grows by multiplying the old size by approximately that " "number." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:142 msgid "The default value is 1.5." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:143 #, no-wrap msgid ":rehash-threshold @var{threshold}" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:150 msgid "" "This specifies the criterion for when the hash table is full (so it should " "be made larger). The value, @var{threshold}, should be a positive " "floating-point number, no greater than 1. The hash table is full whenever " "the actual number of entries exceeds the nominal size multiplied by an " "approximation to this value. The default for @var{threshold} is 0.8125." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:160 msgid "" "You can also create a hash table using the printed representation for hash " "tables. The Lisp reader can read this printed representation, provided each " "element in the specified hash table has a valid read syntax (@pxref{Printed " "Representation}). For instance, the following specifies a hash table " "containing the keys @code{key1} and @code{key2} (both symbols) associated " "with @code{val1} (a symbol) and @code{300} (a number) respectively." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:163 #, no-wrap msgid "#s(hash-table size 30 data (key1 val1 key2 300))\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:169 msgid "" "Note, however, that when using this in Emacs Lisp code, it's undefined " "whether this creates a new hash table or not. If you want to create a new " "hash table, you should always use @code{make-hash-table} " "(@pxref{Self-Evaluating Forms})." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:182 msgid "" "The printed representation for a hash table consists of @samp{#s} followed " "by a list beginning with @samp{hash-table}. The rest of the list should " "consist of zero or more property-value pairs specifying the hash table's " "properties and initial contents. The properties and values are read " "literally. Valid property names are @code{size}, @code{test}, " "@code{weakness}, @code{rehash-size}, @code{rehash-threshold}, and " "@code{data}. The @code{data} property should be a list of key-value pairs " "for the initial contents; the other properties have the same meanings as the " "matching @code{make-hash-table} keywords (@code{:size}, @code{:test}, etc.), " "described above." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:186 msgid "" "Note that you cannot specify a hash table whose initial contents include " "objects that have no read syntax, such as buffers and frames. Such objects " "may be added to the hash table after it is created." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:188 #, no-wrap msgid "Hash Table Access" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:189 #, no-wrap msgid "accessing hash tables" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:190 #, no-wrap msgid "hash table access" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:196 msgid "" "This section describes the functions for accessing and storing associations " "in a hash table. In general, any Lisp object can be used as a hash key, " "unless the comparison method imposes limits. Any Lisp object can also be " "used as the value." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:197 #, no-wrap msgid "gethash key table &optional default" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:201 msgid "" "This function looks up @var{key} in @var{table}, and returns its associated " "@var{value}---or @var{default}, if @var{key} has no association in " "@var{table}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:203 #, no-wrap msgid "puthash key value table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:207 msgid "" "This function enters an association for @var{key} in @var{table}, with value " "@var{value}. If @var{key} already has an association in @var{table}, " "@var{value} replaces the old associated value." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:209 #, no-wrap msgid "remhash key table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:213 msgid "" "This function removes the association for @var{key} from @var{table}, if " "there is one. If @var{key} has no association, @code{remhash} does nothing." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:217 msgid "" "@b{Common Lisp note:} In Common Lisp, @code{remhash} returns non-@code{nil} " "if it actually removed an association and @code{nil} otherwise. In Emacs " "Lisp, @code{remhash} always returns @code{nil}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:219 #, no-wrap msgid "clrhash table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:223 msgid "" "This function removes all the associations from hash table @var{table}, so " "that it becomes empty. This is also called @dfn{clearing} the hash table." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:226 msgid "" "@b{Common Lisp note:} In Common Lisp, @code{clrhash} returns the empty " "@var{table}. In Emacs Lisp, it returns @code{nil}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:228 #, no-wrap msgid "maphash function table" msgstr "" #. type: anchor{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:234 msgid "Definition of maphash" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:234 msgid "" "This function calls @var{function} once for each of the associations in " "@var{table}. The function @var{function} should accept two arguments---a " "@var{key} listed in @var{table}, and its associated @var{value}. " "@code{maphash} returns @code{nil}." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:237 #, no-wrap msgid "Defining Hash Comparisons" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:238 #, no-wrap msgid "hash code" msgstr "" #. type: cindex #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:239 #, no-wrap msgid "define hash comparisons" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:244 msgid "" "You can define new methods of key lookup by means of " "@code{define-hash-table-test}. In order to use this feature, you need to " "understand how hash tables work, and what a @dfn{hash code} means." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:251 msgid "" "You can think of a hash table conceptually as a large array of many slots, " "each capable of holding one association. To look up a key, @code{gethash} " "first computes an integer, the hash code, from the key. It can reduce this " "integer modulo the length of the array, to produce an index in the array. " "Then it looks in that slot, and if necessary in other nearby slots, to see " "if it has found the key being sought." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:260 msgid "" "Thus, to define a new method of key lookup, you need to specify both a " "function to compute the hash code from a key, and a function to compare two " "keys directly. The two functions should be consistent with each other: that " "is, two keys' hash codes should be the same if the keys compare as equal. " "Also, since the two functions can be called at any time (such as by the " "garbage collector), the functions should be free of side effects and should " "return quickly, and their behavior should depend on only on properties of " "the keys that do not change." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:261 #, no-wrap msgid "define-hash-table-test name test-fn hash-fn" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:263 msgid "This function defines a new hash table test, named @var{name}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:268 msgid "" "After defining @var{name} in this way, you can use it as the @var{test} " "argument in @code{make-hash-table}. When you do that, the hash table will " "use @var{test-fn} to compare key values, and @var{hash-fn} to compute a hash " "code from a key value." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:271 msgid "" "The function @var{test-fn} should accept two arguments, two keys, and return " "non-@code{nil} if they are considered the same." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:276 msgid "" "The function @var{hash-fn} should accept one argument, a key, and return an " "integer that is the hash code of that key. For good results, the function " "should use the whole range of fixnums for hash codes, including negative " "fixnums." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:280 msgid "" "The specified functions are stored in the property list of @var{name} under " "the property @code{hash-table-test}; the property value's form is " "@code{(@var{test-fn} @var{hash-fn})}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:282 #, no-wrap msgid "sxhash-equal obj" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:286 msgid "" "This function returns a hash code for Lisp object @var{obj}. This is an " "integer that reflects the contents of @var{obj} and the other Lisp objects " "it points to." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:290 msgid "" "If two objects @var{obj1} and @var{obj2} are @code{equal}, then " "@code{(sxhash-equal @var{obj1})} and @code{(sxhash-equal @var{obj2})} are " "the same integer." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:295 msgid "" "If the two objects are not @code{equal}, the values returned by " "@code{sxhash-equal} are usually different, but not always; once in a rare " "while, by luck, you will encounter two distinct-looking objects that give " "the same result from @code{sxhash-equal}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:299 msgid "" "@b{Common Lisp note:} In Common Lisp a similar function is called " "@code{sxhash}. Emacs provides this name as a compatibility alias for " "@code{sxhash-equal}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:301 #, no-wrap msgid "sxhash-eq obj" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:304 msgid "" "This function returns a hash code for Lisp object @var{obj}. Its result " "reflects identity of @var{obj}, but not its contents." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:308 msgid "" "If two objects @var{obj1} and @var{obj2} are @code{eq}, then " "@code{(sxhash-eq @var{obj1})} and @code{(sxhash-eq @var{obj2})} are the same " "integer." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:310 #, no-wrap msgid "sxhash-eql obj" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:315 msgid "" "This function returns a hash code for Lisp object @var{obj} suitable for " "@code{eql} comparison. I.e. it reflects identity of @var{obj} except for " "the case where the object is a bignum or a float number, in which case a " "hash code is generated for the value." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:319 msgid "" "If two objects @var{obj1} and @var{obj2} are @code{eql}, then " "@code{(sxhash-eql @var{obj1})} and @code{(sxhash-eql @var{obj2})} are the " "same integer." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:323 msgid "" "This example creates a hash table whose keys are strings that are compared " "case-insensitively." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:329 #, no-wrap msgid "" "(defun case-fold-string= (a b)\n" " (eq t (compare-strings a nil nil b nil nil t)))\n" "(defun case-fold-string-hash (a)\n" " (sxhash-equal (upcase a)))\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:332 #, no-wrap msgid "" "(define-hash-table-test 'case-fold\n" " 'case-fold-string= 'case-fold-string-hash)\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:334 #, no-wrap msgid "(make-hash-table :test 'case-fold)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:339 msgid "" "Here is how you could define a hash table test equivalent to the predefined " "test value @code{equal}. The keys can be any Lisp object, and equal-looking " "objects are considered the same key." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:342 #, no-wrap msgid "" "(define-hash-table-test 'contents-hash 'equal 'sxhash-equal)\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:344 #, no-wrap msgid "(make-hash-table :test 'contents-hash)\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:350 msgid "" "Lisp programs should @emph{not} rely on hash codes being preserved between " "Emacs sessions, as the implementation of the hash functions uses some " "details of the object storage that can change between sessions and between " "different architectures." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:352 #, no-wrap msgid "Other Hash Table Functions" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:355 msgid "Here are some other functions for working with hash tables." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:356 #, no-wrap msgid "hash-table-p table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:358 msgid "This returns non-@code{nil} if @var{table} is a hash table object." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:360 #, no-wrap msgid "copy-hash-table table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:363 msgid "" "This function creates and returns a copy of @var{table}. Only the table " "itself is copied---the keys and values are shared." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:365 #, no-wrap msgid "hash-table-count table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:367 msgid "This function returns the actual number of entries in @var{table}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:369 #, no-wrap msgid "hash-table-test table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:373 msgid "" "This returns the @var{test} value that was given when @var{table} was " "created, to specify how to hash and compare keys. See " "@code{make-hash-table} (@pxref{Creating Hash})." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:375 #, no-wrap msgid "hash-table-weakness table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:378 msgid "" "This function returns the @var{weak} value that was specified for hash table " "@var{table}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:380 #, no-wrap msgid "hash-table-rehash-size table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:382 msgid "This returns the rehash size of @var{table}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:384 #, no-wrap msgid "hash-table-rehash-threshold table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:386 msgid "This returns the rehash threshold of @var{table}." msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:388 #, no-wrap msgid "hash-table-size table" msgstr "" #. type: defun #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/lispref/hash.texi:390 msgid "This returns the current nominal size of @var{table}." msgstr ""