home *** CD-ROM | disk | FTP | other *** search
- % This function sorts a region of lines of the form:
- % keyname
- % text...
- % delimeter string
- % keyname
- % text...
- % delimeter string
-
- define sort_region_internal (line_break_str, delim)
- {
- check_region (0);
- narrow ();
-
- bob ();
-
- do
- {
- push_mark ();
- !if (bol_fsearch (delim)) eob ();
- narrow ();
- ERROR_BLOCK
- {
- widen(); widen ();
- }
-
- bob ();
- while (eol(), not(eobp()))
- {
- del (); insert (line_break_str);
- }
- widen ();
- }
- while (down (1));
-
- bob ();
- push_mark ();
- eob ();
- goto_column (32);
-
- ERROR_BLOCK
- {
- variable len = strlen (line_break_str);
- bob ();
- while (fsearch (line_break_str))
- {
- deln (len); newline ();
- }
- widen ();
- }
-
- sort ();
- EXECUTE_ERROR_BLOCK;
- }
-