
Quoting Nikodemus Siivola (nikodemus@random-state.net):
I made some steps in this direction.
http://gitorious.org/~nikodemus/hemlock/nikodemus-hemlock/commits/defcommand...
Thanks for working on this.
Basically:
1. Existing DEFCOMMAND forms work just like they used to, and append -COMMAND to names to avoid need for wholesale renaming.
2. (defcommand ("My Foo" my-foo) ...) uses MY-FOO as the function name.
That's a good transition strategy at least. As long as we aren't switching over completely, we don't benefit from M-. on command names as written, but I guess that's okay for now. One thing to keep in mind though is that sometimes we need to find command function names from the command. The two function I can find which currently rely on the -command suffix are: - edit-command-definition M-. replacement for command names and - find-command-for-prepl-normally which makes it possible to run commands like CL-USER> ,start-slave-process or CL-USER> ,dired "/etc" in the repl. How would be fix them on the branch?
3. DEFCOMMAND also accepts empty lambda-lists, taking them to mean (&OPTIONAL #:PREFIX). IMO this leads to easier to read command when they don't use prefix arguments.
I also went over some exiting commands and made them use the new-style naming: FORWARD-CHARACTER, BEGINNING-OF-BUFFER, etc.
Nice. d.