Screen 0 not modified     
 0 \ Copy und Convey                                        19Nov87
 1                                                                 
 2 Dieses File enthaelt Definitionen, die urspruenglich im Kern    
 3 enthalten waren. Sie sind jetzt ausgelagert worden, um den Kern 
 4 klein zu halten.                                                
 5                                                                 
 6 copy      kopiert einen Screen                                  
 7                                                                 
 8 convey    kopiert einen Bereich von Screens                     
 9                                                                 
10                                                                 
11                                                                 
12                                                                 
13                                                                 
14                                                                 
15                                                                 
Screen 1 not modified     
 0 \ moving blocks                                20Oct86   19Nov87
 1 | : full? ( -- flag )  prev  BEGIN @ dup @ 0= UNTIL  6 + @ 0< ; 
 2 | : fromblock ( blk -- adr )   fromfile @ (block ;              
 3 | : (copy ( from to -- )                                        
 4      dup isfile@  core? IF  prev @ emptybuf  THEN               
 5                   full? IF  save-buffers  THEN                  
 6      offset @ +   isfile@ rot  fromblock 6 - 2!  update ;       
 7 | : blkmove ( from to quan --) save-buffers >r                  
 8      over r@ + over u> >r 2dup u< r> and                        
 9      IF    r@ r@ d+ r> 0 ?DO  -1 -2 d+ 2dup (copy  LOOP         
10      ELSE  r> 0 ?DO 2dup (copy 1 1 d+ LOOP THEN                 
11      save-buffers 2drop ;                                       
12                                                                 
13 : copy ( from to --)         1 blkmove ;                        
14 : convey ( [blk1 blk2] [to.blk --)                              
15    swap 1+ 2 pick - dup  0> not Abort" Nein !" blkmove ;        
