ags@s.cc.purdue.edu (Dave Seaman) (02/17/89)
Given the declarations var ff : text; v : char; The statement read(ff,v) is supposed to be exactly equivalent to v := ff^; get(ff) as stated in 6.9.1(b) of the American Pascal Standard and also in Chapter 17, paragraph 9.4.1.1 (page 310) of Think's Lightspeed Pascal User Manual. The implementation in Lightspeed Pascal 2.0 for the Macintosh, however, is broken. The statement turns out to have the same effect as v := ff^; if not eoln(ff) then get(ff) which means that on a nontrivial file you can read forever. Even Turbo Pascal 1.1 manages to get this one right! (I have cross-posted this to comp.lang.pascal because (a) it is not in any way Macintosh-related, and (b) to remind the people who keep posting MS-DOS-specific questions to that group that there is another world out there.) -- Dave Seaman ags@j.cc.purdue.edu
siegel@endor.harvard.edu (Rich Siegel) (02/19/89)
Thanks for the report; this isn't the first, but there will be a fix in the librares in the near future... R. Rich Siegel Staff Software Developer THINK Technologies Division, Symantec Corp. Internet: siegel@endor.harvard.edu UUCP: ..harvard!endor!siegel Phone: (617) 275-4800 x305