[slime-devel] Daily ChangeLog diff

Mark Harig idirectscm at aim.com
Thu Apr 15 05:11:40 UTC 2010

> >
> >> 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 at 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:

1. 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

2. 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

3. 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 #

4. 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).

Perhaps at some future date the key bindings can be more normalized
around the function names, possibly by renaming some of the functions
slightly.  I don't think it would be too hard to get all but the
"hyperspec-loookup" functions renamed so that they fit under rule #1.
(This can get out of hand, though, and have the key bindings "tail"
wagging the function names "dog.")

More information about the slime-devel mailing list