Browse Source

* accept #26 as eof in iso mode, resolves #35136

git-svn-id: trunk@43801 -
florian 5 years ago
parent
commit
7032c80041
3 changed files with 18 additions and 1 deletions
  1. 1 0
      .gitattributes
  2. 1 1
      rtl/inc/iso7185.pp
  3. 16 0
      tests/webtbs/tw35136.pp

+ 1 - 0
.gitattributes

@@ -17838,6 +17838,7 @@ tests/webtbs/tw35027.pp svneol=native#text/pascal
 tests/webtbs/tw35028.pp svneol=native#text/pascal
 tests/webtbs/tw35028.pp svneol=native#text/pascal
 tests/webtbs/tw3504.pp svneol=native#text/plain
 tests/webtbs/tw3504.pp svneol=native#text/plain
 tests/webtbs/tw3506.pp svneol=native#text/plain
 tests/webtbs/tw3506.pp svneol=native#text/plain
+tests/webtbs/tw35136.pp svneol=native#text/pascal
 tests/webtbs/tw35139.pp svneol=native#text/plain
 tests/webtbs/tw35139.pp svneol=native#text/plain
 tests/webtbs/tw35139a.pp svneol=native#text/plain
 tests/webtbs/tw35139a.pp svneol=native#text/plain
 tests/webtbs/tw35149.pp svneol=native#text/plain
 tests/webtbs/tw35149.pp svneol=native#text/plain

+ 1 - 1
rtl/inc/iso7185.pp

@@ -144,7 +144,7 @@ unit iso7185;
         else
         else
           begin
           begin
             OldCtrlZMarksEof:=CtrlZMarksEOF;
             OldCtrlZMarksEof:=CtrlZMarksEOF;
-            CtrlZMarksEof:=false;
+            CtrlZMarksEof:=true;
             Eof:=System.Eof(t);
             Eof:=System.Eof(t);
             CtrlZMarksEof:=OldCtrlZMarksEOF;
             CtrlZMarksEof:=OldCtrlZMarksEOF;
           end;
           end;

+ 16 - 0
tests/webtbs/tw35136.pp

@@ -0,0 +1,16 @@
+{ %opt=-Miso }
+program p;
+var f: text;
+begin
+    rewrite(f);
+    f^ := 'a';
+    put(f);
+    reset(f);
+    if eof(f) then writeln('premature eof');
+    writeln(f^);
+    if eof(f) then writeln('premature eof');
+    writeln(f^);
+    if eof(f) then writeln('premature eof');
+    get(f);
+    if eof(f) then writeln('eof correctly set') else begin writeln('eof should be set, but isn''t'); halt(1); end;
+end.