maxima-el: feature suggests



On FRI, 8 DEC 2006, Jay Belanger wrote:

> Leo <sdl.web at gmail.com> writes:
> ...
>> I would like to propose two features for discussion. They are both for
>> the interactive mode.
>>
>> 1. readonly input prompt.
>
> comint-mode, which inferior-maxima-mode is based on, has an option for
> a readonly prompt.  The only reason inferior-maxima-mode doesn't use
> it is because the option is off by default.  It'd be easy to turn this
> on for maxima.

Indeed. This can be easily customized.

To enable it for just inferior-maxima-mode:
(add-hook 'inferior-maxima-mode-hook
	  (lambda ()
	    (set (make-local-variable 'comint-prompt-read-only) t)))

>> 2. Better help system.
>>
>>    For example if I type in "? plot2d" and choose 0, a long text will
>>    be printed out on the buffer. And it is not very easy to read and
>>    navigate.
>>
>>    I'd suggest help to be put in a separate buffer and a few
>>    keybindings defined for easy navigation.
>
> It'd be easy to have maxima-el check for an input of the form "? xxx",
> strip off the "?", and then call something like maxima-apropos on
> xxx.  (Try `M-x maxima-apropos' and then type "plot2d" at the prompt.)
> Unfortunately, maxima-apropos isn't quite the same a "?..."; 
> maxima-apropos checks the index of the Maxima manual for the "..."
> string, it looks as if "? ..." will check for "..." in chapter titles
> also. 

The help system is odd and inefficient. Some of the changes might have
to be done in maxima itself. I checked a few .lisp files that come with
maxima and most of the functions don't have doc strings.

BTW, I just notice a few conflicting keybindings in maxima-el. For
example, C-c C-h, in Emacs 22 and later, would provide the user a list
of key-bindings that starts with C-c. Thus bind C-c C-h to something
else is not a good idea. How about making all the bindings related to
documentation start with C-c C-d such that

    C-c C-d d -> maxima-describe
    C-c C-d a -> maxima-apropos
    C-c C-d h -> maxima-help
           ......
>
> Jay

-- 
Leo