Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!unirot!mg From: mg@unirot.UUCP (Mike Gallaher) Newsgroups: comp.emacs Subject: Re: Summary: Which Emacs? Message-ID: <173@unirot.UUCP> Date: Wed, 26-Nov-86 18:56:08 EST Article-I.D.: unirot.173 Posted: Wed Nov 26 18:56:08 1986 Date-Received: Wed, 26-Nov-86 22:08:29 EST References: <1081@ndmce.uucp> <4120002@hpscda.HP.COM> Organization: The Soup Kitchen Lines: 62 Summary: vive la difference, or at least learn to live with it In article <4120002@hpscda.HP.COM>, aland@hpscda.HP.COM (Alan Davis) writes: > I have to disagree with Mike on this one. I use an HP9000 series 500 > machine. I know it has an unconventional (to be nice) architecture, > but we still don't have a working 2.10 version of Unipress Emacs. Actually, the flame level in my message was a bit too intense (especially since the person hadn't even mentioned HP machines!). In general, HPUX is one of the nicest Unix ports around -- the documentation is quite simply the best I've seen for such a system, and the 9000/300 (68000-based workstations) is one of the most complete, consistent, and likeable Unix systems I've worked on (and we get to see quite a few of them). However, I have spent many hours of my life compensating for the differences between HPUX on the 500 and on everything else that also claims to be Unix System V. (There are more "special case" conditionals in the Emacs code for the 500 than for any other machine...) When I wrote that flame I had just wrestled with the following differences: - the file system is neither berkeley or v7/SysV, so the bsd directory emulator didn't work until I taught it how. (HP does supply its own BSD directory emulation, but it wasn't documented for the 500, at least that I could find). - The tty driver does not support VMIN/VTIME. This *is* documented, but it depends on which hardware interface you have, which is not easy to detect (even by looking at the box!). - There are bugs in the linker which keep it from loading certain library modules. (I pointed these out to the HP support people.) - the linker does not support etext, so we had to use the HP-supplied malloc (no big deal; you just can't ask for memory usage statistics from inside Emacs). I'm still working on the following, though we have workarounds for them: - Signals (in particular SIGCHLD) don't seem to work quite the way they do on System V. - Named pipes (fifos) don't seem to work quite the way they do on System V. It wasn't simply a matter of moving code that worked perfectly on the 300 over to the 500 and typing 'make', but given the differences in architecture that's not surprising. I will say that those things that weren't outright bugs were indeed documented if you know where to look. Now that the 9000/500 peculiarities have been accounted for, we shouldn't have these problems in porting future versions (I hope!). > I continue to use 2.01, but find it's habit of 'help'ing me by > destroying my nice windows to be most annoying. Conclusion: > Unipress works on VAX-like systems, but the source assumes things > like decreasing stack (won't work on series 500 or pyramid). No, V2.10 (which doesn't eat windows) works on Goulds, Pyramids, IBM-PC/RTs, 3b{2,5,20}, Amdahls, 68k, NS32k, as well as Vaxen. It does work on the 500 now, too. (We did get fixes from HP, probably from Alan, in fact, for the stack-growth-direction dependency, but I thought they'd been in for at least a year.) The code does not depend on word size, pointer size, word alignment, byte order, direction of stack growth, being able to take *NULL, or on the presence of "p&p6" at location zero. The only machine we utterly failed to port to was the Perq, which has gained a number of other fans (are you out there, utzoo!henry?). That was quite a while ago; we might even be able to do the Perq these days. Mike Gallaher Emacs Hacker Boss Unipress Software