Subject: bug#6756: 23.2; `describe-function' describing functions that aren't

From: MON KEY <[email-masked]>
Date: Thu, 29 Jul 2010 13:22:22 -0400

When called interactively `describe-function' incorrectly completes on
non-existent functions with symbol-names suffixed with a `*' and
returns documentation for an equivalent non-suffixed version of
symbol-name (assuming it exists).

e.g. if the user enters "gensym*" at the `completing-read' prompt by
`describe-function' its return value is the documentation for symbol
`gensym'.

At first glance this would appear to be a DWIM type feature.
However,  I would argue that it is a bug  because:

 a) the completing-read arg PREDICATE is `fboundp' and REQUIRE-MATCH
    is t;

 b) the `*' suffixed symbol is not (neccesarily) `fboundp';

 c) the `*' suffixed symbol may not match;

 d) When there is no equivalent non `*' suffixed symbol
    `completing-read' returns "No match" e.g. if the user enters
    "blub*" at the `completing-read' and neither "blub*" nor "blub"
    are `fboundp';

 e) If the user enters any other equivalently suffixed symbol
    `completing-read' returns "No match" e.g. when the user enters the
    suffixed symbol names "gensym!", "gensym^", "gensym+", etc.  at
    the `completing-read' and none of these are `fboundp'

Note, in the examples above "gensym" is used as the base symbol-name
but this happens just as well for non CL fncns, e.g.  if the user
enters "describe-function*" at the `completing-read' prompt by
`describe-function' the return value is the documentation for symbol
`describe-function'.

Behaviour verified with 23.2 with emacs -Q

--
/s_P\