[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14054: completing against a hash-table doesn't work as documented
From: |
Jonas Bernoulli |
Subject: |
bug#14054: completing against a hash-table doesn't work as documented |
Date: |
Tue, 26 Mar 2013 03:55:51 +0100 |
User-agent: |
mu4e 0.9.9.5-dev6; emacs 24.3.1 |
`completing-read's doc-strings sais I should read `try-completion's
(and `all-completions's) doc-string for details on COLLECTION.
`try-completion's doc-string sais:
> If COLLECTION is a hash-table, all the keys that are strings or
> symbols are the possible completions.
(1) To my this implies that all other keys are simply ignored, as it
doesn't say that all keys _have to by_ strings or symbols.
However using e.g. a vector or number as key causes a
`wrong-type-argument' error in `test-completion'.
(2) It explicity sais that a key can be a symbol.
However this causes the same error:
(let ((ht (make-hash-table)))
(puthash 'key 'val ht)
(test-completion "input" ht))
I tried using hash-tables created with all three predefined hash-table
tests `eq', `eql', and `equal; none worked.
Note that depending on the "order" of elements in the hash-table no
error is raised by `test-completion' if a string key "before" the first
non-string key matches:
no error
(let ((ht (make-hash-table)))
(puthash "first" 'val ht)
(puthash 'second 'val ht)
(test-completion "first" ht))
error
(let ((ht (make-hash-table)))
(puthash 'first 'val ht)
(puthash "second" 'val ht)
(test-completion "second" ht))
I have tried with 23.4, 24.2, 24.3, and 24.3.50; they all behave the
this way.
- bug#14054: completing against a hash-table doesn't work as documented,
Jonas Bernoulli <=