[slime-devel] Daily ChangeLog diff

Tobias C. Rittweiler tcr at freebits.de
Thu Apr 15 09:22:43 UTC 2010


Mark Harig <idirectscm at 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 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).

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.






More information about the slime-devel mailing list