c Subroutine to shift LINE to left after current item has been scanned
c deletes blanks between that point and first non-blank character
c Performs no operation if current item is EOL (binary 0)

c Sets return arguments pointing to first and last non-blank characters

	subroutine shrink (iskip, ifnbr, lnbr)
c
	include 'comdtc.inc/nolist'

	byte ll, work(10)

	ifnb = 0
	lnb = 0

	do i = 1, 10
	    ll = line(i)
	    if (ll .ne. 0) then
		work(i) = ll
	    else
		work(i) = 26
	    end if
	end do

	type 99, '0', work, iskip
 99	format (11a1, ': ', 4i3)

	if (line(1) .eq. 0) go to 999	! Exit immediately

	ix = iskip + 1			! start looking
	do while ((ix .le. icmln) .and. (line(ix) .ne. 0))
	if (line(ix) .gt. ' ') go to 10	! Found something
	ix = ix + 1
	end do

	line(1) = 0			! Flag end, no copy
	go to 999

 10	ifnb = 1
	lnb = 1

	Do i = 1, icmln-ix

	    ll = line(ix)
	    line(i) = ll
	    if (ll .eq. 0) go to 999	! Stop at EOL
	    if (ll .gt. ' ') lnb = i
	    ix = ix + 1

	end do

	line(min0(lnb+1, icmln)) = 0	! Flag EOL if not found

 999	ifnbr = ifnb			! Set return values
	lnbr = lnb

	do i = 1, 10
	    ll = line(i)
	    if (ll .ne. 0) then
		work(i) = ll
	    else
		work(i) = 26
	    end if
	end do

	type 99, ' ', work, ifnb, lnb

	end
