Hello!

I have just pushed the first functional version of our new
(optionally termcap(5)-based) M(ailx)-L(ine)-E(ditor) which
replaces the N(ail)-C(ommand)-L(ine) that i had implemented in
i think July 2013 after some funky messages on nail-devel@.
The MLE…

  · works truly correctly with double-width characters (sufficient
    C library support provided).

    It does not support BIDIrectional text.  For true BIDI support
    we need massive changes under the surface, and that is far
    beyond even v15.0.  All Arabic or Hebrew speaking people: i am
    really sorry.  If i live long enough we hopefully get there,
    but it will take a long time.

  · no longer directly uses the terminal buffer.  Whereas the NCL
    directly edited the input buffer of the terminal, and
    therefore was subject to the maximum input line length of the
    terminal, the MLE uses a detached buffer.
    
    E.g., whereas the NCL almost certainly printed nothing but
    "echo [ERR_TOO_LONG]" after typing "? echo /usr/bin/<TAB>" the
    MLE no longer imposes a real limit (it is 2 GB).
    Yes, we still use the BSD Mail-style "tabulator"-expansion.

  · paints line content by using termcap(5) commands, if
    termcap(5) support is available.

  · WANT_TABEXPAND is gone.  It is always compiled in.

Things yet TODO, and other notes:

  · «Recursive commands» temporarily won't work.  E.g., typing ^O
    will temporarily not call `dp'.  This will come back to life
    in the following weeks.

  · Don't use a prompt which uses colour sequences for a while.
    I will reimplement *prompt* handling and introduce a new \[ ..
    \] sequence that most of you surely now from bash(1) etc., and
    which has to be placed around all *prompt* characters which
    shouldn't be counted when detecting the required field width
    for *prompt*.

  · *colour-terms*, *line-editor-cursor-right* etc. is all gone.
    Colours and termcap(5) sequences are deduced from termcap(5),
    or from the new *termcap* variable.
    In general reading the manual sections "On terminal and line
    editor" and "Coloured display" might be a good idea.

  · The MLE will gain some paint optimizations.  It yet always
    repaints the visible line content, and does so much too often.

  · There is not yet a ^V command as is known from vim(1), e.g.
    "^V HEXNUMBER" shall insert the corresponding Unicode
    character, if that is usable in the current locale.
    When that happens we will also support tabulators.

Have fun and Ciao!

--steffen

------------------------------------------------------------------------------
__________________________________
[email protected]

Reply via email to