neisen@umn-cs.UUCP (Joel Neisen) (03/29/84)
We have recently acquired a Diablo terminal, and are trying to use it on the 4.2 spooling system. Most of the time everything works just fine. However, when we use the -T450 option in 'nroff', nroff will use the ECS-LF to do negative line feeds, and generate CR-LF for new lines. The problem is that when the tty port is in CRMOD, the header and stuff from print work just fine. But the tty driver converts ESC-LF to ECS-CR-LF, which is not what we want. However, when we do not use CRMOD, then the header, and non-nroff'ed things get messed up. Surely other sites must have encountered the same problem, Diablo is after all a fairly popular terminal. I could change tab450.c in nroff, and create a new spooler filter to handle nroff output differently, but I find it hard to believe that the distributed source will not work as is. Has anyone else already solved this problem ?? If so I sure would appreciate any information. Thanks in advance. Joel Neisen DICOMED Corp. ..we13!dicomed!joel ..ihnp4!stolaf!umn-cs!dicomed!joel
henry@utzoo.UUCP (Henry Spencer) (04/01/84)
The problem is that for many printers, the 450-likes included, nroff wants to talk *directly* to the terminal so that it can do ioctls to turn things like CRMOD on and off. The code as distributed works, but by trying to run it through a spooler you are breaking it. The simplest solution is to change tab450.c so that a reverse linefeed is done by two reverse half-line motions in sequence, which eliminates the problem with a newline appearing in the middle of a magic sequence and thus eliminates the need to fiddle with CRMOD. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry