[Oberon]  Newlines and Carriage-Returns
    Andreas Pirklbauer 
    andreas_pirklbauer at yahoo.com
       
    Sat Jan  5 21:51:30 CET 2019
    
    
  
   > If anyone is curious it can be found at: 
   > https://github.com/io-core/technotes/blob/master/technote001.md
   >
   > Texts.Mod
   >   in PROCEDURE Scan use  WHILE (ch = " ") OR (ch = TAB) OR (ch = NL) OR (ch = CR) DO
   >   in PROCEDURE Scan use  IF (ch = NL) OR (ch = CR) THEN INC(S.line) END ;
For procedure Texts.Scan it is actually slightly better to use the following code for the WHILE loop instead:
     WHILE ~S.eot & (ch <= " ") DO
Reason: This code will *not* hang the system if an EOT is encountered in the file before any of
the characters in the WHILE condition.. for example with a file which consists *just* of an EOT.
This “bug” was already fixed at one point at www.projectoberon.com, but now the old version is back.
    
    
More information about the Oberon
mailing list