Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watnot!watmath!clyde!rutgers!mit-eddie!uw-beaver!ubc-vision!ubc-cs!manis From: manis@ubc-cs.UUCP Newsgroups: comp.emacs,comp.sys.atari.st Subject: Re: uEmacs38b Fixes for ATARI ST Message-ID: <970@ubc-cs.UUCP> Date: Tue, 7-Apr-87 13:06:43 EST Article-I.D.: ubc-cs.970 Posted: Tue Apr 7 13:06:43 1987 Date-Received: Sat, 11-Apr-87 04:56:02 EST References: <48200001@tub.UUCP> <273@xios.XIOS.UUCP> <611@batcomputer.tn.cornell.edu> Reply-To: manis@ubc-cs.UUCP (Vincent Manis) Organization: UBC Department of Computer Science Lines: 31 Xref: utgpu comp.emacs:759 comp.sys.atari.st:2597 In article <611@batcomputer.tn.cornell.edu> braner@tcgould.tn.cornell.edu.UUCP (braner) writes: >(C experts hit 'j' now!) Sorry, Moshe. >I would strongly recommend using the WORD, etc macros when _you_ write >C code to simplify porting later! At least, use WORD when you access >OS data-structures that are 16-bits wide, and use LONG when you need >more than 16 bits. No!!!! The correct way to achieve portability is via typedef, e.g., typedef int lineno, column_no; typedef long bufferindex; This way, anyone porting your code changes the type definitions (in a header file), and then recompiles. The use of meaningful type names makes code clearer, and someone porting to a different system has the choice of changing the type or accepting a limitation in maximum size (which might be appropriate on a Z80 or something else on which longs are too inefficient). ----- Vincent Manis {seismo,uw-beaver}!ubc-vision!ubc-cs!manis Dept. of Computer Science manis@cs.ubc.cdn Univ. of British Columbia manis%ubc.csnet@csnet-relay.arpa Vancouver, B.C. V6T 1W5 manis@ubc.csnet (604) 228-6770 or 228-3061 "BASIC is the Computer Science equivalent of 'Scientific Creationism'."