maxima mode keybinding complaint



>>>>> "Jay" == Jay Belanger <belanger@truman.edu> writes:

    Jay> Raymond Toy <toy@rtp.ericsson.se> writes:

    >> (I wonder if ilisp with some modifications could support
    >> maxima-mode?)

    Jay> I'm not sure what this means.  ilisp is for common lisp, and
    Jay> apparently it takes some doing to get it going for lisp dialects like
    Jay> scheme.  

Just wishful thinking on my part so I don't have to learn yet another
keybinding. :-) Ilisp basically talks to some lisp process which is
not unlike what we are trying to do with maxima.  But if it's very
tightly coupled with Lisp, then it's probably too much work to get
ilisp to work with maxima.


    Jay> I'm not really familiar with ilisp, so some of my comparisons may be
    Jay> off.  But here's what I have.  Ideas?

I've only started using maxima-mode, so I don't have a lot of
experience with it yet.  Of course, the closer it is to ilisp, the
happier I would be, but that's up to you.

Note that ilisp's prefix character is configurable.  I think the
default is C-z.

    Jay> Motion commands     Keybinding   Notes
    Jay> ---------------     ----------   -----
    Jay> End of form         C-cC-e       This is bound to eval-defun in ilisp,
    Jay>                                  which corresponds to send-form.  Use
    Jay>                                  C-cC-e for send-form, and change this
    Jay>                                  to M-e?

M-e means forward-sentence in XEmacs.  I never use this.

    Jay> Beginning of form   C-cC-a       This is unbound in ilisp, but could
    Jay>                                  be changed to M-a to match end of form.

M-a is backward-sentence.  Ilisp uses M-C-a to move to the beginning
of a defun.  M-C-e moves to the end of a defun.  Is that what form
means here?

    Jay> Beginning of sexp   C-c(         This is bound to M-C-b in ilisp.
    Jay>                                  Change to that?

I find M-C-b easier to type, and M-C-b works this way in C/C++ mode, not
just Lisp mode.

    Jay> End of sexp         C-c)         This is bound to M-C-e in ilisp.
    Jay>                                  Change to that?

Likewise.

    Jay> Send buffer          M-C-b        There is no analogue in ilisp,
    Jay>                                   change to C-cC-b to match C-cC-r?
    Jay>                                   (C-cC-b is bound to "switch to lisp
    Jay>                                   buffer"   in ilisp, which has no
    Jay>                                   analogue in maxima mode.)

You mean C-c b?  C-c C-b is an undocumented ilisp-compile-buffer.
This is probably pretty close to send buffer.

Or send buffer would be analogous to selecting a region and doing send
region and therefore not needed, except as a convenience?

    Jay> Send line            M-C-l        There is no analogue in ilisp.  
    Jay>                                   C-cC-l is bound to "load lisp file"
    Jay>                                   in ilisp, for which there is no
    Jay>                                   analogue here.  Change to that?

I think you mean C-c l.  Couldn't this load up a maxima .mc or .lisp
file into the running maxima?

    Jay> Send line, as well  C-RET         There is no analogue in ilisp.  C-RET
    Jay> as any nearby lines               is unbound in ilisp.  Keep?
    Jay> needed to complete
    Jay> form.  Go to next
    Jay> form.

On XEmacs C-RET is bound to 'complete to complete the previous
symbol.  I never use this, so I don't know what it does.

    Jay> Send region, as well M-RET        There is no analogue in ilisp.  M-RET
    Jay> as any nearby lines               is bound to some completion command
    Jay> needed to complete                in ilisp that isn't part of ilisp.
    Jay> form.  Go to next                 Keep?
    Jay> form.

    Jay> Kill Maxima.         M-C-k        There is no analogue in ilisp.  This
    Jay>                                   binding could be removed, and any cleanup
    Jay>                                   could be done when the buffer is
    Jay>                                   killed.

What kind of cleanup would you need to do?  When I use ilisp, I just
kill the lisp buffer.  Ilisp has C-c z to repair the connection
(hopefully) in case things get messed up

    Jay> Completion commands     Keybinding   Notes
    Jay> -------------------     ----------   -----
    Jay> complete symbol         M-TAB        This corresponds with ilisp.
    Jay> (present a buffer
    Jay> with completions)

    Jay> dynamic complete        C-TAB        C-TAB is bury buffer.  Perhaps
    Jay> (cycle through                       another binding is in order.
    Jay> completions)                         Suggestions?  

Hmm, in my ilisp C-tab is complete symbol, same as M-TAB.

    Jay> Commenting commands     Keybinding   Notes
    Jay> -------------------     ----------   -----
    Jay> comment region          C-cC-c       This is bound to C-c; in ilisp.    
    Jay>                                      Change to that?

I think C-c; is also used in other modes to comment a region.

    Jay> insert long comment     C-c;         This would have to change.
    Jay> /*                                   Change to C-c/?
    Jay>   like this.
    Jay> */

    Jay> insert short comment    C-c:         The colon was so it would go
    Jay> /* like this */                      nicely with the semicolon for 
    Jay>                                      the long comment.  Change to C-c*?

In C/C++ mode, this is M-;.  Lisp modes use this to put a ";" to the
right side of a line.

    Jay> Completion help             f12         This is somewhat analogous to
    Jay> (describe functions                     describe-lisp or documentation-lisp, 
    Jay> which begin with word                   which are bound to C-cC-i and C-cC-f
    Jay> at point)                               in ilisp.  Change?

I almost always have this automatic so that when I press a space,
ilisp pops up a window (or uses the modeline) to display information
about the function.

    Jay> Miscellaneous commands     Keybinding   Notes
    Jay> ----------------------     ----------   -----
    Jay> Mark form                  C-cC-f       No analogue in ilisp. Suggestions?

I always use marking and motion commands to mark a s-exp.

Ray