Google
 

Trailing-Edge - PDP-10 Archives - bb-h138f-bm - 7-sources/fputmes.bli
There are 10 other files named fputmes.bli in the archive. Click here to see a list.
 %TITLE 'FPUTMES - format and print a message'
MODULE FPUTMES (				! Format and print a message
		IDENT = '3-002'			! File: FPUTMES.BLI Edit: CJG3002
		) =
BEGIN
!COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1981, 1988.  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 THAT IS NOT SUPPLIED BY DIGITAL.
!
!
!++
! FACILITY:	EDT -- The DEC Standard Editor
!
! ABSTRACT:
!
!	Format and print a message.
!
! ENVIRONMENT:	Runs at any access mode - AST reentrant
!
! AUTHOR: Bob Kushlis, CREATION DATE: March 18, 1979
!
! MODIFIED BY:
!
! 1-001	- Original.  DJS 19-FEB-1981.  This module was created by
!	extracting routine EDT$$FMT_MSG  from module FORMAT.
! 1-002	- Regularize headers.  JBS 05-Mar-1981
! 1-003 - Add some modifications for EXT mode.  SMB 23-Jun-1982
! 1-004 - Add reverse video for EXT mode.  SMB 02-Jul-1982
! 1-005	- Use EDT$$FMT_CRLF instead of EDT$$OUT_FMTBUF.  JBS 05-Jul-1982
! 1-006 - Give a bell and reverse video if we're in change mode.  SMB 22-Jul-1982
! 1-007	- Remember the last message for change mode only if we are reading
!	   the startup file.  JBS 23-Jul-1982
! 1-008 - Set some other flags if we're in change mode.  SMB 28-Jul-1982
! 1-009	- Remove setting EDT$$G_MSGFLG; done in EDT$$FMT_CRLF.  JBS 06-Oct-1982
! 1-010 - Check for a hardcopy terminal before positioning cursor. STS 14-Dec-1983
! 3-001 - Add updates from V3 sources.  GB 13-may-1983
! 3-002 - Fix loss of messages in change mode due to bad literal. CJG 8-Jul-1983
!--

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

REQUIRE 'EDTSRC:TRAROUNAM';

FORWARD ROUTINE
    EDT$$FMT_MSG : NOVALUE;

!
! INCLUDE FILES:
!

REQUIRE 'EDTSRC:EDTREQ';

!
! MACROS:
!
!	NONE
!
! EQUATED SYMBOLS:
!
!	NONE
!
! OWN STORAGE:
!
!	NONE
!
! EXTERNAL REFERENCES:
!
!	In the routine
%SBTTL 'EDT$$FMT_MSG  - format and print a message'

GLOBAL ROUTINE EDT$$FMT_MSG (			! Format and print a message
    MESS_NUM					! Message number
    ) : NOVALUE =

!++
! FUNCTIONAL DESCRIPTION:
!
!	Routine to get text of a message and write it out.
!
! FORMAL PARAMETERS:
!
!  MESS_NUM		The number of the error message to write.
!
! IMPLICIT INPUTS:
!
!	EDIT_MOD
!	QUIET
!	EXT_MOD
!	INP_SRC
!
! IMPLICIT OUTPUTS:
!
!	LASTMSG
!
! ROUTINE VALUE:
!
!	NONE
!
! SIDE EFFECTS:
!
!	Calls EDT$$FMT_CRLF
!
!--

    BEGIN

    EXTERNAL ROUTINE
	EDT$$SC_POSCSIF,
	EDT$$SC_REVID,
	EDT$$SC_NONREVID,
	EDT$$STOP_WKINGMSG,
	EDT$$FMT_LIT,
	EDT$$FMT_CRLF,				! Terminate an output line
	EDT$$MSG_TOSTR;

    EXTERNAL
	TI_TYP,				! type of terminal
	MESSAGE_LINE,			! Change mode message line
	EDIT_MOD,			! Current editing mode
	LASTMSG,				! The last message displayed
	QUIET,				! Are we in quiet mode
	EXT_MOD,				! Are we in EXT mode
	INP_SRC;				! What is the input source?


!+
! If we're in EXT mode, then we're assuming that we got an error here
! and that we want to give a bell.
!-
    EDT$$STOP_WKINGMSG ();

    IF (.EXT_MOD) OR (.EDIT_MOD EQL CHANGE_MODE)
    THEN
	BEGIN
    	IF .TI_TYP NEQ TERM_HCPY
        THEN
    	    BEGIN
	    EDT$$SC_POSCSIF (.MESSAGE_LINE + 1, 0);
	    EDT$$SC_REVID ();
    	    END;

	IF ( NOT .QUIET) THEN EDT$$FMT_LIT (CH$PTR (UPLIT (%STRING (%CHAR (7)))), 1);

	END;

!+
! Save the message number in case it needs to be redisplayed on entering
! change mode.
!-
    IF (.INP_SRC EQL INP_COMMAND) THEN LASTMSG = .MESS_NUM;

    EDT$$MSG_TOSTR (.MESS_NUM);
    EDT$$FMT_CRLF ();
    IF .TI_TYP EQL TERM_VT100 THEN EDT$$SC_NONREVID ();
    END;					! of routine EDT$$FMT_MSG


END
ELUDOM