output.ads, output.adb (Write_Eol): Remove trailing spaces before writing the line.

2007-08-14  Vincent Celier  <celier@adacore.com>

	* output.ads, output.adb (Write_Eol): Remove trailing spaces before
	writing the line.
	(Write_Eol_Keep_Blanks): New procedure to write a line, including
	possible trailing spaces.
	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line

From-SVN: r127456
This commit is contained in:
Vincent Celier 2007-08-14 10:48:45 +02:00 committed by Arnaud Charlet
parent 4993417734
commit b63e38373a
2 changed files with 22 additions and 2 deletions

View File

@ -254,11 +254,28 @@ package body Output is
procedure Write_Eol is
begin
-- Remove any trailing space
while Next_Col > 1 and then Buffer (Next_Col - 1) = ' ' loop
Next_Col := Next_Col - 1;
end loop;
Buffer (Next_Col) := ASCII.LF;
Next_Col := Next_Col + 1;
Flush_Buffer;
end Write_Eol;
---------------------------
-- Write_Eol_Keep_Blanks --
---------------------------
procedure Write_Eol_Keep_Blanks is
begin
Buffer (Next_Col) := ASCII.LF;
Next_Col := Next_Col + 1;
Flush_Buffer;
end Write_Eol_Keep_Blanks;
----------------------
-- Write_Erase_Char --
----------------------

View File

@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@ -95,7 +95,10 @@ package Output is
-- e.g. CR/LF for DOS, or LF for Unix) to the standard output file.
-- This routine also empties the line buffer, actually writing it
-- to the file. Note that Write_Eol is the only routine that causes
-- any actual output to be written.
-- any actual output to be written. Trailing spaces are removed.
procedure Write_Eol_Keep_Blanks;
-- Similar as Write_Eol, except that trailing spaces are not removed
procedure Write_Int (Val : Int);
-- Write an integer value with no leading blanks or zeroes. Negative