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:
- Existing DEFCOMMAND forms work just like they used to, and append
-COMMAND to names to avoid need for wholesale renaming.
- (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?
- 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.