home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / jed098-4.zip / JED / LIB / SORTMISC.SL < prev    next >
Text File  |  1997-02-01  |  815b  |  52 lines

  1. % This function sorts a region of lines of the form:
  2. %    keyname
  3. %     text...
  4. %    delimeter string
  5. %    keyname
  6. %     text...
  7. %    delimeter string
  8.  
  9. define sort_region_internal (line_break_str, delim)
  10. {
  11.    check_region (0);
  12.    narrow (); 
  13.    
  14.    bob ();
  15.  
  16.    do
  17.      {
  18.     push_mark ();
  19.     !if (bol_fsearch (delim)) eob ();
  20.     narrow ();
  21.     ERROR_BLOCK
  22.       {
  23.          widen(); widen ();
  24.       }
  25.     
  26.     bob ();
  27.     while (eol(), not(eobp()))
  28.       {
  29.          del (); insert (line_break_str);
  30.       }
  31.     widen ();
  32.      }
  33.    while (down_1 ());
  34.    
  35.    mark_buffer ();
  36.    goto_column (32);
  37.    
  38.    ERROR_BLOCK
  39.      {
  40.     variable len = strlen (line_break_str);
  41.     bob ();
  42.     while (fsearch (line_break_str)) 
  43.       {
  44.          deln (len); newline ();
  45.       }
  46.     widen ();
  47.      }
  48.    
  49.    sort ();
  50.    EXECUTE_ERROR_BLOCK;
  51. }
  52.