separate (Tracker.Report_Generator)
procedure Print_Comments is
    ----------------------------------------------------------------------
    --|
    --|  NAME:  PRINT_COMMENTS
    --|
    --|  OVERVIEW:
    --|    This procedure asks for the name of the comments file and copies
    --|    the contents of the comments file to the tracker report file.
    --|
    --|  EXCEPTIONS HANDLED:
    --|    none
    --|
    --|  HISTORY:
    --|    written by   May Lee   March 1985
    --|
    ----------------------------------------------------------------------

    A_Char : Character := ' ';  -- y or n
    Dotted_Line : String (1 .. 132) := (others => '=');

begin
    -- determine if a comments file exists
    Put_Line (" Do you have a comments file that you would ");
    Put_Line (" like to include? ");
    Put (" [Y or N, default=N] :  ");

    if End_Of_Line then
        -- default = n
        Skip_Line;
    else
        Get (A_Char);
        Skip_Line;

        if A_Char = 'y' or A_Char = 'Y' then
            Put ("Please enter the name of the comments file : ");
            Get_Line (Comments_Filename, Filename_Lngth);
            New_Line;
            Open (Comments_File, In_File, Comments_Filename, "");

            -- print heading to report file
            New_Page (Report_File);
            Set_Col (Report_File, 58);
            Put_Line (Report_File, "TRACKER COMMENTS");
            Put_Line (Report_File, Dotted_Line);

            -- copy the comments file to the report file
            while not End_Of_File (Comments_File) loop
                Get_Line (Comments_File, Line, Line_Lngth);
                Put_Line (Report_File, Line (1 .. Line_Lngth));
            end loop;

            Close (Comments_File);
        end if;
    end if;
exception
    when Name_Error =>
        Put (" Error opening ");
        Put (Comments_Filename (1 .. Filename_Lngth));
        New_Line;
        Put_Line (" File does not exist. ");
        delay 1.5;
        raise;
    when others =>
        Put (" Error opening ");
        Put (Comments_Filename (1 .. Filename_Lngth));
        New_Line;
        Put_Line (" File does not exist. ");
        delay 1.5;
        raise Name_Error;
end Print_Comments;