anchor.diff:  ---------------------------------------------------------------}
   {$i xpc.inc}
   program mn;
  -uses ll, li, fs, stri, num, cw, crt, buf;
  -+uses ll, li, fs, stri, num, cw, crt, buf, ui, kbd, cli;
   
     type
       editor = class
         buf : buf.buffer;
         x, y, h, w : integer;
         topline, position : buf.buffer.cursor;
  +      led : ui.zinput;  // led = Line EDitor
         constructor create;
         function load( path : string ) : boolean;
         procedure show;
  
positive.code:     cur := self.buf.make_cursor;
      cur.move_to( self.topline );
      repeat
        show_nums;
        show_highlight;
  
        if cur.value.inheritsfrom( li.strnode ) then
          show_line( li.strnode( cur.value ).str );
  
        inc( ypos )
      until ( ypos = self.h ) or ( not cur.move_next );
      while ypos < self.h do begin
  
negative.code:   procedure editor.arrowdown;
      var screenline : word;
    begin
      li.strnode(self.position.value).str := led.value;
      if self.position.move_next then
        begin
          assert( self.topline.index <= self.position.index );
  