Thanks for your points about "code edit region" (CER). I'm very familiar with it, and have both explored it in some detail when it was first released, but also play with it at every new release. It really does not solve "a lot of" what I'm talking about, as you say. From the items I mention (correct me if I'm wrong?) it provides some syntax highlighting and automated spacing. But even that comes at a great usability cost.
The core problem is that CERs are not properly integrated into the 1d worksheet at all:
- add a new "code edit region" (CER) via Alt-i, e, and start typing... you can't. You have to grab your mouse and click inside the code window... or move cursor with up then down arrow. (I could imagine this point could be fixed?). Once you're within a code window, you can't easily delete it (the way you get rid of a standard 1d input cell with ctrl+delete), you have to do more gymnastics where you get your CER border "highlighted" first.
- CER are treated very differently from standard 1d input cells. You can't just 'enter' through them to run them... in fact they are skipped if you do that(!). You could use tab to get them selected, and then run/execute them with ctrl-e. This alone makes it *completely* impractical to use as replacement for standard 1d input (which I think you were implying). Imagine having all or most of your 1d cells replaced with CERs... now you can't easily re-run portions of your worksheet by pressing enter a few times, but carefully navigate around with tab/shift-tab/enter/ctrl-e combinations.
- Not sure if this is still true, but a coupe of versions ago, when you added many CERs, the worksheet would become very sluggish.
You may then say that you could use CER for larger code chunks, but that misses the argument I was trying to make in my original post - i.e I was proposing that *all* 1d input should have these nice features I outline. From my experience, much of maple interactive use cases consists of small code input cells that the user plays with.
So to reiterate my point related to input from the previous post: it would be great if standard 1d math input cells, had syntax highliting, could respect code strcture and space tings automatically (tab iniside if, etc).. and support keyboard navigation/editing (move curosor up/down/left/right, delete last word, go to start/end of line, etc). Ideally the keyboard navigation should be configurable, but even starting with (maybe optinal) emacs key bindings would be great, and should not be hard to implement for basic things.
Also for these larger code chunks you actually might be better off using a real editor, which will be much more feature rich anyway, and just use "read blah.mpl" instead (of course there are some drawbacks associated with that too). This is what I resort to doing.
... of course maybe I missed what you meant? or am not familiar with some CER functionality that you have in mind?