Google
 

Trailing-Edge - PDP-10 Archives - BB-R775C-BM - sources/scrdelete.bli
There are 10 other files named scrdelete.bli in the archive. Click here to see a list.
 %TITLE 'SCRDELETE - delete lines from the screen'
MODULE SCRDELETE (				! Delete lines from the screen
		IDENT = '3-001'			! File: SCRDELETE.BLI Edit: GB3001
		) =
BEGIN
!
!			  COPYRIGHT (c) 1981, 1985 BY
!	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
!		ALL RIGHTS RESERVED.
!
! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
! ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
! INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
! COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
! OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
! TRANSFERRED.
!
! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
! AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
! CORPORATION.
!
! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
! SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
!

!++
! FACILITY:	EDT -- The DEC Standard Editor
!
! ABSTRACT:
!
!	This module updates the screen when a line terminator
!	has been deleted.
!
! ENVIRONMENT:	Runs at any access mode - AST reentrant
!
! AUTHOR: Bob Kushlis, CREATION DATE: September 8, 1979
!
! MODIFIED BY:
!
! 1-001	- Original.  DJS 12-Feb-1981.  This module was created by
!	extracting the routine EDT$$SC_DELLN  from module SCREEN.
! 1-002	- regularize headers.  JBS 13-Mar-1981
! 1-003	- Update LN_ONSCR  correctly.  JBS 10-Jul-1981
! 1-004	- Improve the comments.  JBS 24-Sep-1981
! 1-005 - Change boundary check to catch LN_NO = 0.  SMB 8-Mar-1982
! 1-006	- Check a new flag for availability of scrolling regions.  JBS 31-Aug-1982
! 1-007 - Modify to use new screen update logic.   SMB 21-Aug-1982
! 1-008 - Modify to use new 48 bit macros. STS 01-oct-1982
! 1-009 - Remove references to L_CUR_SCRLN.  SMB 04-Oct-1982
! 1-010	- Change EDT$$G_SCR_CHGD to EDT$$G_SCR_REBUILD.  JBS 09-Oct-1982
! 1-011 - Clean up the left over globals.  SMB 10-Oct-1982
! 1-012 - Update L_CUR_SCRLN and remove SCR_REBUILD.  SMB 13-Oct-1982
! 1-013	- Don't rebuild the screen after deleting a line.  JBS 23-Oct-1982
! 1-014	- Change the call to EDT$$MRK_LNCHG.  JBS 27-Dec-1982
!--

%SBTTL 'Declarations'
!
! TABLE OF CONTENTS:
!

REQUIRE 'EDTSRC:TRAROUNAM';

FORWARD ROUTINE
    EDT$$SC_DELLN : NOVALUE;

!
! INCLUDE FILES:
!

REQUIRE 'EDTSRC:EDTREQ';

!
! MACROS:
!
!	NONE
!
! EQUATED SYMBOLS:
!
!	NONE
!
! OWN STORAGE:
!
!	NONE
!
! EXTERNAL REFERENCES:
!
!	In the routine
%SBTTL 'EDT$$SC_DELLN  - delete lines from the screen'

GLOBAL ROUTINE EDT$$SC_DELLN 			! Delete lines from the screen
    : NOVALUE =

!++
! FUNCTIONAL DESCRIPTION:
!
!	This routine is called when a line terminator has been deleted.
!	The screen record pointers are updated and the line is marked
!	for delete.
!
! FORMAL PARAMETERS:
!
!  LINES		The number of lines to delete
!
! IMPLICIT INPUTS:
!
!	CUR_BUF
!	SCR_BUF
!
! IMPLICIT OUTPUTS:
!
!	CUR_SCRLN
!
! ROUTINE VALUE:
!
!	NONE
!
! SIDE EFFECTS:
!
!	NONE
!
!--

    BEGIN

    EXTERNAL ROUTINE
	EDT$$CMP_LNO,
	EDT$$MRK_LNCHG : NOVALUE;		! Track line updates

    EXTERNAL
	LNO0,
	CUR_SCRLN : LN_BLOCK,		! Current screen record
	CUR_BUF : REF TBCB_BLOCK,	! The current buffer tbcb.
	SCR_BUF : REF TBCB_BLOCK;	! Current screen buffer

    IF (.SCR_BUF NEQA .CUR_BUF) THEN RETURN;

    EDT$$MRK_LNCHG (SCR_EDIT_DELLN, 0);

    IF (EDT$$CMP_LNO (CUR_BUF [TBCB_CUR_LIN], CUR_SCRLN) LSS 0)	!
    THEN
	SUBLINE (LNO0, CUR_SCRLN, CUR_SCRLN);

    END;					! of routine EDT$$SC_DELLN

!<BLF/PAGE>
END						! of module SCRDELETE

ELUDOM