*DECK S$PUTLN 
          PROC S$PUTLN(LINE$);
#**       S$PUTLN -  PUTS A LINE OUT TO INTERACTIVE USER               #
#                                                                      #
#     CALLING SEQUENCE-                                                #
#         S$PUTLN(LINE$):                                              #
#                                                                      #
#     GIVEN-                                                           #
#         LINE$ = ONE LINE CONSISTING OF A CHARACTER COUNT AND A STRING#
#                 OF CHARACTERS OR A STRING OF CHARACTERS WITH A       #
#                 TERMINATOR OF SOME KIND.                             #
#     DOES-                                                            #
#         PUTS A LINE OUT TO THE INTERACTIVE USER                      #
  
          BEGIN 
          ITEM  WORD         C(10);    # 10-CHAR WORD PUT TO TERMINAL  #
  
          DEF  COM           #CONTROL NOLIST;#; 
          DEF  ENDCOM        #CONTROL LIST;#; 
  
#LINE$#   COM   # LINE MADE UP OF LINES IN QUERY$ THAT IS P/OUT TO USER#
  
          ARRAY LINE$ [1:1] S(9); 
              BEGIN 
              ITEM LINE$LINE     C(1, 0,80);     # LEFT-JUSTIFIED LINE #
              ITEM LINE$LENGTH   I(0,30,30);     # LENGTH IN CHARACTERS#
              END 
  
#LINE$#   ENDCOM
  
          XREF
              PROC  S$PUTWD;           # PUTS A WORD TO THE TERMINAL   #
  
          ITEM  I            I;        # SCRATCH VARIABLE              #
          ITEM  J            I;        # SCRATCH VARIABLE              #
          ITEM  L            I;        # SCRATCH VARIABLE              #
  
CONTROL DISJOINT; 
  
CONTROL INERT;
  
CONTROL EJECT;
  
  
          FOR I=LINE$LENGTH STEP -1 UNTIL 0 DO
              C<I+1,1>LINE$LINE = C<I,1>LINE$LINE;
          C<0,1>LINE$LINE = " ";
          LINE$LENGTH = LINE$LENGTH + 1;
  
          I = LINE$LENGTH-1;
          FOR I=I WHILE C<I,1>LINE$LINE EQ " "
           AND I GQ 0  DO 
              I = I -1; 
          FOR J=10 STEP 10 WHILE J LQ I  DO 
              BEGIN 
              WORD = C<J-10,10>LINE$LINE; 
              S$PUTWD(WORD);
              END 
          L = I - J + 11; 
          IF L LS 9  THEN 
              BEGIN 
              B<0,60>WORD = 0;
              IF L NQ 0  THEN 
                  C<0,L>WORD = C<J-10,L>LINE$LINE;
              S$PUTWD(WORD);
              END 
          ELSE
              BEGIN 
              WORD = " "; 
              C<0,L>WORD = C<J-10,L>LINE$LINE;
              S$PUTWD(WORD);
              S$PUTWD(0); 
              END 
          END # S$PUTLN # 
          TERM
