	SUBROUTINE SCR_DELW(D_WORD,DW_LEN)
C	---- DELETE A WORD, D_WORD SAVES THE DELETED WORD FOR A 
C	----	POSSIBLE UN-DELETE WORD
	CHARACTER*80 D_WORD
	INTEGER DW_LEN
	INCLUDE 'SCREEN.FOR'
	LOGICAL*1 FOUND_SPACE
C
	FOUND_SPACE = .FALSE.
	DO I=0,79
	  IF(ICOL+I.GT.80 .OR. .NOT.LOGSCREEN(ILIN,ICOL+I))GOTO 10

	  IF (.NOT.FOUND_SPACE) THEN
		IF (CHRSCREEN(ILIN)(ICOL+I:ICOL+I) .EQ. ' ') THEN
			ISPACE = ICOL+I
			FOUND_SPACE = .TRUE.
		ENDIF

	  ENDIF

	  D_WORD(I+1:I+1)=CHRSCREEN(ILIN)(ICOL+I:ICOL+I)
	ENDDO

C	---- REMOVE CURRENT WORD FROM ICOL TO ISPACE, PAD WITH BLANKS
10	IF (.NOT.FOUND_SPACE) THEN
C		---- IF NO SPACE, DEL TO EOL
		CHRSCREEN(ILIN)(ICOL:ICOL+I-1) = ' '

	ELSE
C		---- DEL CURRENT WORD, DEL THE SPACE IF WE CAN
		IF (LOGSCREEN(ILIN,ISPACE+1)) ISPACE = ISPACE+1
		CHRSCREEN(ILIN)(ICOL:ICOL+I-1)=
     &			  CHRSCREEN(ILIN)(ISPACE:ICOL+I-1)//' '

	ENDIF
C
	DW_LEN=I+1
	ISTAT=LIB$PUT_SCREEN(CHRSCREEN(ILIN)(ICOL:ICOL+I),
     &			ILIN,ICOL,IBOLD)
		IF(.NOT.ISTAT)CALL LIB$STOP(%VAL(ISTAT))
	ISTAT=LIB$SET_CURSOR(ILIN,ICOL)
		IF(.NOT.ISTAT)CALL LIB$STOP(%VAL(ISTAT))

	RETURN
	END
