Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ukma!rutgers!aramis.rutgers.edu!lightning.rutgers.edu!weinrich From: weinrich@lightning.rutgers.edu (Timothy M. Weinrich) Newsgroups: comp.sys.xerox Subject: Problems reading newlines (non-transportable files) Message-ID: Date: 8 Mar 89 21:03:47 GMT Organization: Rutgers Univ., New Brunswick, N.J. Lines: 32 Cc: weinrich, aisupport@xerox.com I have 2 Xerox Lisp machines. One is an 1109 and is connected to a Unix fileserver. The other is an 1108 and is not connected to any fileserver. I have a couple of files on the fileserver which were produced in Emacs, but which will load into the 1109 just fine. (One has Interlisp source, and is loaded via il:load, the other is a clisp file, and is loaded via xcl:load.) Recently I copied these files onto floppies and tried to load them into the 1108. They will not load. I get an error concerning having hit the end of file. A bit of probing has strongly implied that the loaders are failing to recognize the newlines in the file. Our fileserver uses ^J (Ascii 10) as a newline, so that is what appears on the floppy, but at least the clisp window (xcl:load) seems to believe that ^M (Ascii 13) is the newline. (I suspect that il:load makes the same assumption.) My conjecture is that Lisp decides what the newline character is depending on where it is reading the file from. So, a file on Unix with ^J as a newline will load just fine, but the identical file on a floppy will not load. Has anyone else had similar problems? Am I correct about the cause? Does anyone know of a clean way to fix it? I would prefer to avoid putting these files into Makefile format if I can help it. Twinerik