Mark Harig idirectscm@aim.com writes:
Index: slime/ChangeLog diff -u slime/ChangeLog:1.2057 slime/ChangeLog:1.2061 --- slime/ChangeLog:1.2057 Mon Apr 5 23:05:25 2010 +++ slime/ChangeLog Mon Apr 12 14:51:10 2010 @@ -1,3 +1,19 @@ +2010-04-12 Helmut Eller heller@common-lisp.net
- slime.el (slime-doc-bindings): Restore key for slime-apropos.
Here is a patch for 'doc/slime.texi', revision 1.100, that reverts the documentation for `C-c C-d a' and `C-c C-d A' to match your reversion of the key bindings.
Any ideas where I can place key bindings for slime-autodoc-manually? C-c C-d A doesn't look convenient.
C-c C-d s (for "signature") would be free. slime-describe-function and slime-describe-symbol could probably be merged into one command to free up C-c C-d f.
Looking over the key bindings for SLIME documentation commands, I would select C-c C-d m for `slime-autodoc-manually'. There is not a single rule for deciding this, and so it doesn't matter much if you do not choose the same key binding as my suggestion (that is, you wouldn't be breaking a convention).
Here are the "rules" that are being used:
Use the first letter of the third word in the function name:
`slime-describe-function' is mapped to C-c C-d f `slime-apropos-package' is mapped to C-c C-d p
Use the first letter of the second word in the function name:
`slime-apropos' is mapped to C-c C-d a `slime-describe-symbol' is mapped to C-c C-d d `slime-hyperspec-lookup' is mapped to C-c C-d h
Use a character suggested by Common Lisp usage:
`hyperspec-lookup-format' is mapped to C-c C-d ~ `hyperspec-lookup-reader-macro' is mapped to C-c C-d #
Use a non-mnemonic, but-as-yet-unused letter:
`slime-apropos-all' is mapped to C-c C-d z
So, because there is no single convention, my suggestion is that SLIME not create yet more "rules" but attempt to conform to one of the ones used already (preferably not rule 4, except as a last resort).
There's
`slime-echo-arglist' in slime.el (currently not interactive), `slime-arglist' in contrib/slime-autodoc.el `slime-autodoc-manually' in contrib/slime-autodoc.el.
They're all there pretty much for the same thing.
I suggest:
a) make `slime-echo-arglist' interactive.
b) get rid of `slime-arglist', and `slime-autodoc-manually'
use the mechanism of `slime-echo-arglist-function' instead. If possible---see below.
c) bind `slime-echo-arglist' to `C-c C-d e'
It may be somehwat tricky to massage the interplay between background autodoc, and explicit autodoc (via `slime-space', or `slime-echo-arglist') to the desired behaviour:
If an arglist is displayed already, and the user explicitly calls `C-c C-d e', the whole (that is untrimmed) arglist should get displayed.
However that should probably not happen with SPC.
I don't have the time, but Stas may be able to cook it.
-T.