\begindata{text822, 0} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Mon, 1 Mar 1993 12:01:46 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Mon, 1 Mar 1993 11:59:13 -0500 (EST) Received: from vnet.ibm.com by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Mon, 1 Mar 93 11:58:50 EST Received: from RCHLAND by vnet.ibm.com (IBM VM SMTP V2R2) with BSMTP id 9739; Mon, 01 Mar 93 11:55:20 EST Reply-To: "Jay Schmidgall" Received: by po1.rchland.ibm.com (5.51/4.7) id for info-andrew+@andrew.cmu.edu; Mon, 1 Mar 93 10:31:43 CST Received: via switchmail; Mon, 1 Mar 1993 10:31:40 -0600 (CST) Received: from ghostwind.rchland.ibm.com via qmail ID ; Mon, 1 Mar 1993 10:00:04 -0600 (CST) Received: from ghostwind.rchland.ibm.com via qmail ID ; Mon, 1 Mar 1993 10:00:02 -0600 (CST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.ghostwind.rchland.ibm.com.rs.aix32 via MS.5.6.ghostwind.rchland.ibm.com.rs_aix32; Mon, 1 Mar 1993 10:00:01 -0600 (CST) Message-Id: <8fYXA1091JbtFZH1pk@rchland.ibm.com> Date: Mon, 1 Mar 1993 10:00:01 -0600 (CST) From: Jay Schmidgall To: info-andrew+@andrew.cmu.edu Subject: Re: We're porting ATK to Linux. Cc: richb@rkbhome.jti.com, tytso@athena.mit.edu In-Reply-To: References: Excerpts from ext.misc.info-andrew: 28-Feb-93 We're porting ATK to Linux. Bill Cattey@athena.mit.e (320*) > At home, with a friend who has a '486 box, I'm doing a port of ATK to > Linux. Does anybody have any preliminary work on this they could share? > Of CRUCIAL interest is: "How does the Linux Shared Library stuff work?" > Does it (Please God) use the standard SysV dlopen? You might get a lot better information if you posted to comp.os.linux, or perhaps asked Linus himself (he could probably at least direct you to the proper people). I recall seeing at least one post over in c.o.l about someone porting ATK; you might find some people over there with work in progress. : jay \enddata{text822, 0} \begindata{text822, 2654} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po3.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 02:54:39 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Tue, 2 Mar 1993 02:51:22 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Tue, 2 Mar 93 02:51:16 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA20288; Mon, 1 Mar 93 23:39:36 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 1 Mar 93 09:42:24 GMT From: pipex!bnr.co.uk!uknet!liv!lucs!stuart@uunet.uu.net (Stuart Mac Glashan) Organization: Computer Science, Liverpool University Subject: Feedback From CMU Message-Id: Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu Hello, we're involved in writing a book on software reuse and as part of this book we'd like to cover simple software documentation retrieval systems as examples of the basic principles involved in this aspect of reuse. Obviously we've done the UNIX(tm) man command but we'd like to do the Andrew Help system and explain all the advantages it offers. The best way to do this would be to include screen dumps of the system in operation. Getting the dumps is technically not a problem, but we would like to know from whom do we need permission to use them ? (Assuming that we can.) Thanks in advance \enddata{text822, 2654} \begindata{text822, 4621} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po2.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 15:04:07 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Tue, 2 Mar 1993 15:01:24 -0500 (EST) Received: from LOAN1.SP.CS.CMU.EDU by po3.andrew.cmu.edu (5.54/3.15) id for wjh+; Tue, 2 Mar 93 15:01:07 EST Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.LOAN1.SP.CS.CMU.EDU.sun4.mach via MS.5.6.LOAN1.SP.CS.CMU.EDU.sun4_mach; Tue, 2 Mar 1993 14:59:59 -0500 (EST) Message-Id: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> Date: Tue, 2 Mar 1993 14:59:59 -0500 (EST) From: Wilfred.Hansen@cs.cmu.edu To: Info-Andrew Subject: C++ Conversion If anyone has a convincing argument about why we should NOT proceed with conversion of AUIS to C++, now would be a good time to come forward. Barring unforeseen arguments, we are planning to proceed with conversion to C++ in the near future, hoping to be done by the end of the year. Fred Hansen \enddata{text822, 4621} \begindata{text822, 6016} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 15:26:24 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Tue, 2 Mar 1993 15:20:42 -0500 (EST) Received: from njitgw.njit.edu by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Tue, 2 Mar 93 15:20:22 EST Received: by njitgw.njit.edu (5.57/Ultrix3.0-C) id AA27293; Tue, 2 Mar 93 15:20:11 -0500 Received: by des.njit.edu (4.1/SMI-4.1) id AA03036; Tue, 2 Mar 93 15:20:12 EST Date: Tue, 2 Mar 93 15:20:12 EST From: juneja@des.njit.edu (himanshu juneja) Message-Id: <9303022020.AA03036@des.njit.edu> To: info-andrew+@andrew.cmu.edu Hi We are trying to use help as a centralized aid for all the Engg. Softwares in Our labs. Everything looks good except for one problem, that is there is no facility for providing multiple levels i.e. you only can have one main menu level thru programs and overview windows. To get around this problem without rewriting the code we thought of a solution like this popup #help -new second level in the alias file, this woks ok except that it gives an annoying message sorry no help available on popup and then brings the next window, in fact this message comes up for any program run from help.aliases file with #command mode, is this a bug in help or one can get around this ? also the documentation I found on help was Maint.doc and various .help file for help program. Is there more documentation on help and is there any update to Maint.doc (last update 11/89) ? Himanshu Juneja Graduate Assistant, Engg. Labs New Jersey Inst. of Tech., Newark, NJ \enddata{text822, 6016} \begindata{text822, 8020} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po3.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 16:50:20 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Tue, 2 Mar 1993 16:48:39 -0500 (EST) Received: from LOAN1.SP.CS.CMU.EDU by po3.andrew.cmu.edu (5.54/3.15) id for wjh+; Tue, 2 Mar 93 16:48:18 EST Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.LOAN1.SP.CS.CMU.EDU.sun4.mach via MS.5.6.LOAN1.SP.CS.CMU.EDU.sun4_mach; Tue, 2 Mar 1993 16:47:29 -0500 (EST) Message-Id: <8fYxLlO00gpmA3cKFF@cs.cmu.edu> Date: Tue, 2 Mar 1993 16:47:29 -0500 (EST) From: Wilfred.Hansen@cs.cmu.edu To: Info-Andrew Subject: Visual Programming There is a Visual Programming conference coming up in the Fall. It seems to me that ATK is ideal for building Visual Sublanguages in that ATK offers mechanisms for embedding objects into text. The underlying text would be the program itself and embedded objects would serve as portions of the program written in visual sublanguages. In other words, it may be better to write programs in a mixture of text and graphics. Question: Has anyone implemented any visual programming facilities in ATK? They could be embeddable sublanguages as proposed above or could be entire visual languages. For example, a flow chart language ro a data flow language. Some examples I have come up with: a) srctext Programs created with srctext may now contain objects inside comments. This is not actually visual programming, but does make prettier programs. (the programs can be subsequently editted with other editors, but the objects withint the comments are unintelligible.) b) macros The new macro creation facility offers programming-by-example, which is a category of visual programming. The user first does a sequence of operations and then has then converted to a macro in Ness code where they can be editted further. c) ADEW ADEW and its "Arbcon" offer visual rogramming to create the visible user interface for programs. d) Pattern specification When pattern specifications are implemented for Ness, there will eventually be a picture form of such patterns. The ocassional user can create and edit the pattern in its picture form while power user can program in the corresponding textual form. If you know of other examples of visual programming tools or experiments with AUIS, I would be glad to hear from you. Perhaps we can work on joint or coordinated papers for the conference. Fred Hansen \enddata{text822, 8020} \begindata{text822, 10930} Return-path: X-Andrew-Authenticated-as: 8158;andrew.cmu.edu;David Anderson Received: from carnot.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 16:56:35 -0500 (EST) If-Type-Unsupported: send Received: from carnot.itc.cmu.edu via qmail ID ; Tue, 2 Mar 1993 16:53:47 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.carnot.itc.cmu.edu.rs.aix31 via MS.5.6.carnot.itc.cmu.edu.rs_aix31; Tue, 2 Mar 1993 16:53:43 -0500 (EST) Message-ID: Date: Tue, 2 Mar 1993 16:53:43 -0500 (EST) From: David Anderson X-Andrew-Message-Size: 400+0 Content-Type: X-BE2; 12 To: Wilfred.Hansen@cs.cmu.edu Subject: Re: C++ Conversion CC: Info-Andrew In-Reply-To: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> \begindata{text,539253508} \textdsversion{12} \template{messages} An alternative large project that might have greater payoff would be to port ATK to Windows NT (and OLE 2.0). Creating a free or essentially free, high-function toolkit in that environment could prove to be a strategically brilliant maneuver that would keep ATK alive into the next millenium. (ATK, the undead toolkit!) Of course, this is only an alternative if you can't afford to do both. --david \enddata{text,539253508} \enddata{text822, 10930} \begindata{text822, 12624} Return-path: X-Andrew-Authenticated-as: 1447;andrew.cmu.edu;Gary Keim Received: from rascal.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 18:11:28 -0500 (EST) If-Type-Unsupported: send Received: from rascal.andrew.cmu.edu via qmail ID ; Tue, 2 Mar 1993 18:10:49 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.rascal.andrew.cmu.edu.rs.aix31 via MS.5.6.rascal.andrew.cmu.edu.rs_aix31; Tue, 2 Mar 1993 18:10:49 -0500 (EST) Message-ID: <8fYyZtS00Woh59QVoD@andrew.cmu.edu> Date: Tue, 2 Mar 1993 18:10:49 -0500 (EST) From: Gary Keim X-Andrew-Message-Size: 851+0 Content-Type: X-BE2; 12 To: Info-Andrew Subject: Re: help command aliases In-Reply-To: <9303022020.AA03036@des.njit.edu> References: <9303022020.AA03036@des.njit.edu> \begindata{text,538817356} \textdsversion{12} \template{messages} \define{function } \define{keyword } \define{comment } \excerptedcaption{Excerpts from misc: 2-Mar-93 himanshu juneja@des.njit (960)} \quotation{To get around this problem without rewriting the code we thought of a solution like this: }\quotation{ popup #help -new second level }\quotation{ in the alias file, this works ok except that it gives an annoying message 'sorry no help available on popup' and then brings the next window, in fact this message comes up for any program run from help.aliases file with #command mode, is this a bug in help or one can get around this ? } It's both a bug and something that you can easily get around if you have access to the sources. Remove the following set of lines from andrew/atk/help/src/help.c : \function{help_GetHelpOn(): } \keyword{else} \{ code = 0; \comment{/* either c->cur was NULL or code was already 0 */} \} .... and then reinstall in that directory: % make install That should shut it up! Gary Keim Andrew Consortium \enddata{text,538817356} \enddata{text822, 12624} \begindata{text822, 14911} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 20:25:32 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Tue, 2 Mar 1993 20:23:41 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Tue, 2 Mar 93 20:23:28 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA01045; Tue, 2 Mar 93 17:09:37 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 1 Mar 93 23:51:54 GMT From: agate!howland.reston.ans.net!usc!news.service.uci.edu!gordius!gordius!johnk@ucbvax.Berkeley.EDU (John Kalucki) Organization: Gordian; Costa Mesa, CA Subject: MH -> Mesages? Message-Id: <1993Mar1.235154.27923@gordian.com> Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu Sorry if this is a FAQ. I haven't been keeping up with things here and I've just recently managed to bring up Messages from the binary distribution. My user base has quite a few messages in mh/xmh format. These messages are numbered sequentially (1 2 3 4, etc) in each folder. I'd like to be able to move these over to Messages and have all of the dates show up correctly. I've tried copying them over to the appropriate .MESSAGES directory and running CUI RECONSTRUCT and it hasn't worked. First I used option 2 (parse by date), which changed the 'ls -l' date to the correct date, but Messages showed the date to be that of the copy date (today). I then tried option 1 on these correctly dated files (time stamp on the raw files), and the date still showed today in messages. The curious thing is what decode_id shows: decode_id YfYdovQ00k00J4WYF= ``YfYdovQ00k00J4WYF='': generated 1 Mar 1993 at 15:33:15 PST from [0.3.0.0], pid 17546, ctr (mod 256) of 68. Any clues on how to convert fairly massive numbers of old mh/xmh files over to Messages? I've converted mh/xmh files to umpteen different mail systems, I hope I don't get shown up by Messages! -John Kalucki johnk@gordian.com \enddata{text822, 14911} \begindata{text822, 17432} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 2 Mar 1993 20:40:39 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Tue, 2 Mar 1993 20:38:56 -0500 (EST) Received: from alpha.xerox.com by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Tue, 2 Mar 93 20:38:41 EST Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <11815>; Tue, 2 Mar 1993 17:38:22 PST Received: by holmes.parc.xerox.com id <16134>; Tue, 2 Mar 1993 17:38:11 -0800 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.holmes.parc.xerox.com.sun4.41 via MS.5.6.holmes.parc.xerox.com.sun4_41; Tue, 2 Mar 1993 17:38:06 -0800 (PST) Message-Id: Date: Tue, 2 Mar 1993 17:38:06 PST Sender: Bill Janssen From: Bill Janssen X-Andrew-Message-Size: 310+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Wilfred.Hansen@cs.cmu.edu, David Anderson Subject: Re: C++ Conversion Cc: Info-Andrew In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> \begindata{text,2357272} \textdsversion{12} \template{messages} \define{global } \excerptedcaption{Excerpts from ext.andrew: 2-Mar-93 Re: C++ Conversion David Anderson@andrew.cm (400+0)} \quotation{Creating a free or essentially free, high-function toolkit in that environment could prove to be a strategically brilliant maneuver } Of course, that's what many of us thought about the port to the X Window System... Bill \enddata{text,2357272} \enddata{text822, 17432} \begindata{text822, 19533} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 3 Mar 1993 05:56:19 -0500 (EST) Received: from andrew.cmu.edu via qmail ID ; Wed, 3 Mar 1993 05:54:40 -0500 (EST) If-Type-Unsupported: send Received: from po5.andrew.cmu.edu via qmail ID ; Wed, 3 Mar 1993 05:47:34 -0500 (EST) Received: from lune.csc.liv.ac.uk by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Wed, 3 Mar 93 05:47:16 EST Received: from ind.csc.liv.ac.uk by lune.csc.liv.ac.uk with SMTP (16.8/LUCS-1.3) id AA15080; Wed, 3 Mar 93 10:47:02 GMT Received: by ind.csc.liv.ac.uk id AA20667; Wed, 3 Mar 93 10:47:01 GMT Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.indus.HP9000.710 via MS.5.6.indus.hp800; Wed, 3 Mar 1993 10:46:59 +0000 (GMT) Message-Id: Date: Wed, 3 Mar 1993 10:46:59 +0000 (GMT) From: Martin Beer Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII To: Info-Andrew Subject: Re: C++ Conversion Cc: diaper@compsci.liverpool.ac.uk, rada@compsci.liverpool.ac.uk In-Reply-To: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> Excerpts from Andrew: 2-Mar-93 C++ Conversion Wilfred.Hansen@edu.cmu.c (299) > If anyone has a convincing argument about why we should NOT proceed with > conversion of AUIS to C++, now would be a good time to come forward. > Barring unforeseen arguments, we are planning to proceed with conversion > to C++ in the near future, hoping to be done by the end of the year. > Fred Hansen I will very much welcome conversion to C++. This will considerably reduce the "intellectual overload" of students starting to develop systems in Andrew. They currently have to learn a lot about the development environment, which they would already be familiar with from other courses, if the they were working in C++. Also, I am under a lot of pressure to develop multimedia systems that are portable between workstations and PCs (I have just helped prepare a large grant proposal which required this). There are already good C++ development environments on PCs which make full use of the multimedia facilities of Windows. Developing our systems in C++ would allow us to develop that portability. I wait with baited breath. Cheers Martin Dr. Martin Beer, Department of Computer Science, Telephone 051-794-3672 University of Liverpool, Fax: 051-794-3715 Chadwick Tower, P.O. Box 147, EMail mdb@uk.ac.liverpool.compsci LIVERPOOL. L69 3BX. United Kingdom. \enddata{text822, 19533} \begindata{text822, 22603} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 3 Mar 1993 10:39:40 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Wed, 3 Mar 1993 10:38:42 -0500 (EST) If-Type-Unsupported: send Received: from po3.andrew.cmu.edu via qmail ID ; Wed, 3 Mar 1993 10:35:55 -0500 (EST) Received: from thumper.bellcore.com by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew; Wed, 3 Mar 93 10:35:43 EST Received: from greenbush.bellcore.com by thumper.bellcore.com (4.1/4.7) id for info-andrew@andrew.cmu.edu; Wed, 3 Mar 93 10:35:41 EST Received: by greenbush.bellcore.com (4.1/4.7) id for info-andrew@andrew.cmu.edu; Wed, 3 Mar 93 10:35:39 EST Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.greenbush.galaxy.sun4.41 via MS.5.6.greenbush.galaxy.sun4_41; Wed, 3 Mar 1993 10:35:34 -0500 (EST) Message-Id: Date: Wed, 3 Mar 1993 10:35:34 -0500 (EST) From: Nathaniel Borenstein Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII To: info-andrew@andrew.cmu.edu Subject: Re: MH -> Mesages? In-Reply-To: <1993Mar1.235154.27923@gordian.com> References: <1993Mar1.235154.27923@gordian.com> I think you're getting bitten by some recently-added code that tries to be a bit too clever when it does the reconstruction. The following sounds stupid, but might fix the problem: 1. Create a new empty message folder "foobar". 2. Copy the .MS_MsgDir file from the foobar folder into the folder you want to reconstruct, thus overwriting its own .MS_MsgDir. 3. Reconstruct using option #2. I think this should work. The problem, I think, is code that tries to salvage apparently-undamaged information from the old version of the .MS_MsgDir file. -- NB \enddata{text822, 22603} \begindata{text822, 24901} Return-path: X-Andrew-Authenticated-as: 91;andrew.cmu.edu;Tom Neuendorffer Received: from highland.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 11:18:45 -0500 (EST) Received: from highland.itc.cmu.edu via qmail ID ; Thu, 4 Mar 1993 11:15:48 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.highland.itc.cmu.edu.rs.aix31 via MS.5.6.highland.itc.cmu.edu.rs_aix31; Thu, 4 Mar 1993 11:15:47 -0500 (EST) Message-ID: Date: Thu, 4 Mar 1993 11:15:47 -0500 (EST) From: Tom Neuendorffer X-Andrew-Message-Size: 1844+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: wjh+@andrew.cmu.edu Subject: Re: C++ Conversion CC: Info-Andrew In-Reply-To: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> \begindata{text,538879432} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from internet.other.info-andrew: 2-Mar-93 C++ Conversion Wilfred.Hansen@cs.cmu.ed (298)} \quotation{If anyone has a convincing argument about why we should NOT proceed with }\quotation{conversion of AUIS to C++, now would be a good time to come forward. } Fred, I appreciate your posting this question to the newsgroup, but for the responses to be meaningful, I believe that you need to make a post including all of the current beliefs regarding the costs and benefits of this conversion. The following questions have been brought up in the years that this has been debated, how do your plans for conversion address them? 1. Will we have to give up the benefits of dynamic loading? What will be the scenario for those creating new insets? Will it become much more difficult to test them and share them with others? Will platforms that don't support shared libraries be stuck with large, inflexible binaries? What will change even on those platforms that do support shared libraries? How do you plan to handle the object initialization problem? 2. Will AUIS programmers have to program in C++? Will class continue to work, or will all existing code have to be ported? 3. Will some specific C++ compiler have to be running on all AUIS platforms? Will it need to be modified? 4. Will C++ programmers be coding to the object-oriented paradigm that they are used to? The answers to these questions will make all the difference in answering the question of whether this conversion should be attempted. I personally agree with David that a port to NT has greater potential benefits. AUIS was designed to be window system independent, and I know of no system that currently allows a programmer to write code that will run on both X and NT. This plus the availability of all of the AUIS applications could open up a very large potential market. Tom N. \enddata{text,538879432} \enddata{text822, 24901} \begindata{text822, 28113} Return-path: X-Andrew-Authenticated-as: 5904;andrew.cmu.edu;Robert Andrew Ryan Received: from atk.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 12:15:44 -0500 (EST) Received: from atk.itc.cmu.edu via qmail ID ; Thu, 4 Mar 1993 12:13:25 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.atk.itc.cmu.edu.rs.aix31 via MS.5.6.atk.itc.cmu.edu.rs_aix31; Thu, 4 Mar 1993 12:13:23 -0500 (EST) Message-ID: Date: Thu, 4 Mar 1993 12:13:23 -0500 (EST) From: Robert Andrew Ryan X-Andrew-Message-Size: 5058+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Info-Andrew Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> \begindata{text,538860348} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{ The following questions have been brought up in the years that this has been debated, how do your plans for conversion address them? } First it should be noted, that whatever the technical merits/de-merits are, we really have little to no choice... If we don't follow the money ATK will die. \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{1. Will we have to give up the benefits of dynamic loading?} The current plan is to attempt to re-organize the system to make it easier for the maximum possible flexibility for systems without dynamic loading support. Supporting dynamic loading under C++ with the combination of OS dependencies, machine dependencies, and compiler dependencies may become infeasible. In all likelihood we will provide dynamic loading for some combinations of OS, machine and compiler. However, our first priority is to get the system up and running under C++, with or without dynamic loading, or shared libraries. \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{What will be the scenario for those creating new insets? } The primary changes will be the language (obviously), and potentially the testing phase. If dynamic loading is available the testing will be basically the same as it currently is. If shared libraries are available there will probably be a small main program provided which the new inset can be linked against, and one or more shared libraries containing the rest of the toolkit. Otherwise a complete runapp type binary will have to be compiled. \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{How do you plan to handle the object initialization problem? } What object initialization problem? The problem of initialization of global variables under C++ with shared libraries? We will have to rely on compiler vendors/suppliers to solve this, and/or provide a solution for g++ and contribute it to the FSF. \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{2. Will AUIS programmers have to program in C++? } Only the C++ version of the toolkit will be supported. Achieving binary compatibility between Class-C code and C++ code for any significant number of compilers would be infeasible. We plan to have a conversion process that is as automatic as possible. It may be feasible to have the conversion occur as part of the build process. There will be no "class" program in the new toolkit, any code which uses classes and wishes to interface to the C++ ATK will have to be converted to C++ one way or another. \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{3. Will some specific C++ compiler have to be running on all AUIS platforms? Will it need to be modified? } For the base situation of no shared libraries and no dynamic linking any C++ compiler should suffice. Dynamic loading and shared library issues will need to be resolved at least on a compiler by compiler basis (if not compiler/OS/machine...), or punted. We expect that no compiler modifications will be needed in any case. \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{4. Will C++ programmers be coding to the object-oriented paradigm that they are used to? } The set of conventions chosen for ATK C++ code is a hopefully minimal set which will allow run-time type identification/comparison, and the creation of a type of object by name. C++ programmers should be completely comfortable programming in whatever style they wish. Except inasmuch as any toolkit will impose some paradigms on programmers... (for example observable notification, triggers, view/data separation.) \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{The answers to these questions will make all the difference in answering the question of whether this conversion should be attempted. } The question has been answered in the affirmative by our members. \excerptedcaption{Excerpts from internet.other.info-andrew: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer (1844+0)} \quotation{I personally agree with David that a port to NT has greater potential benefits. AUIS was designed to be window system independent, and I know of no system that currently allows a programmer to write code that will run on both X and NT. This plus the availability of all of the AUIS applications could open up a very large potential market. } I view the NT port as an orthogonal issue. (Aside from the fact that it would be fool-hardy to attempt both the C++ conversion and the NT port concurrently with our current resources.) The theory of ATK is that only the Interaction Manager, Window System, and Graphic layers need to be modified for a port to a new window system. This will be as true after the C++ port as it is today. -Rob Ryan Andrew Consortium \enddata{text,538860348} \enddata{text822, 28113} \begindata{text822, 34833} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 13:47:22 -0500 (EST) Received: from po4.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 13:46:05 -0500 (EST) If-Type-Unsupported: send Received: from po3.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 13:40:40 -0500 (EST) Received: from LOAN1.SP.CS.CMU.EDU by po3.andrew.cmu.edu (5.54/3.15) id for wjh+; Thu, 4 Mar 93 13:39:28 EST Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.LOAN1.SP.CS.CMU.EDU.sun4.mach via MS.5.6.LOAN1.SP.CS.CMU.EDU.sun4_mach; Thu, 4 Mar 1993 13:38:42 -0500 (EST) Message-Id: Date: Thu, 4 Mar 1993 13:38:42 -0500 (EST) From: Wilfred.Hansen@cs.cmu.edu X-Andrew-Message-Size: 1781+0 Content-Type: X-BE2; 12 To: Info-Andrew Subject: Re: C++ Conversion Cc: Tom Neuendorffer In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> \begindata{text,8150144} \textdsversion{12} \template{messages} \define{quotation menu:[Region~4,Quotation~10] attr:[LeftMargin LeftMargin Inch 32768] attr:[RightMargin RightMargin Inch 32768] attr:[FontFace Italic Int Set]} \define{excerptedcaption attr:[LeftMargin LeftMargin Inch 32768] attr:[RightMargin RightMargin Inch 32768] attr:[FontFace Bold Int Set] attr:[FontFace Italic Int Set]} The C++ conversion report I posted here last month may not have answered all questions. For instance: \excerptedcaption{Excerpts from mail: 4-Mar-93 Re: C++ Conversion Tom Neuendorffer@andrew. (1844+0)} \quotation{ 1. Will we have to give up the benefits of dynamic loading? What will be the scenario for those creating new insets? Will it become much more difficult to test them and share them with others? Will platforms that don't support shared libraries be stuck with large, inflexible binaries? What will change even on those platforms that do support shared libraries? How do you plan to handle the object initialization problem? } It is our fervent desire to continue using some variation of the current dynamic loading mechanism. At the least, we expect to have dynamic loading based on shared libraries. \quotation{2. Will AUIS programmers have to program in C++? Will class continue to work, or will all existing code have to be ported? } Existing code will have to be ported. The Consortium will make available the tools that we use for our conversion, but considerable hand-tweaking will be needed. \quotation{3. Will some specific C++ compiler have to be running on all AUIS platforms? Will it need to be modified? } We plan to build the system under g++ as a sort of least comon denominator. We will try to make sure it also compiles under C++ from AT&T. \quotation{4. Will C++ programmers be coding to the object-oriented paradigm that they are used to? } ATK objects will become C++ objects. However, there will be a few conventions that need to be followed to enable participation in the ATK world. \quotation{The answers to these questions will make all the difference in answering the question of whether this conversion should be attempted. } Does anyone want to argue against the C++ effort on the basis of these answers? \enddata{text,8150144} \enddata{text822, 34833} \begindata{text822, 38668} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 14:57:19 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 14:53:55 -0500 (EST) Received: from alpha.xerox.com by po3.andrew.cmu.edu (5.54/3.15) id for rr2b+; Thu, 4 Mar 93 14:53:45 EST Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <11614>; Thu, 4 Mar 1993 11:53:26 PST Received: by holmes.parc.xerox.com id <16134>; Thu, 4 Mar 1993 11:53:22 -0800 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.holmes.parc.xerox.com.sun4.41 via MS.5.6.holmes.parc.xerox.com.sun4_41; Thu, 4 Mar 1993 11:53:20 -0800 (PST) Message-Id: Date: Thu, 4 Mar 1993 11:53:20 PST Sender: Bill Janssen From: Bill Janssen To: Info-Andrew , Robert Andrew Ryan Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> Excerpts from ext.andrew: 4-Mar-93 Re: C++ Conversion Robert Andrew Ryan@andre (5058+0) >> 3. Will some specific C++ compiler have to be running on all AUIS >> platforms? Will it need to be modified? > For the base situation of no shared libraries and no dynamic linking any > C++ compiler should suffice. This can get a bit difficult. For example, I have four C++ compilers for the SparcStation here, and none of them support templates or exceptions. In particular, G++ is widely regarded as one of the least standard (though nice) implementations. Things get particularly difficult if > C++ programmers should be completely comfortable programming in whatever > style they wish. This makes adding garbage collection to Andrew (which I've successfully done with CLASS), pretty much infeasible. Ah, well... have a nice life. Bill \enddata{text822, 38668} \begindata{text822, 41092} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 14:57:37 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 14:55:45 -0500 (EST) Received: from alpha.xerox.com by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew; Thu, 4 Mar 93 14:55:20 EST Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <11641>; Thu, 4 Mar 1993 11:54:55 PST Received: by holmes.parc.xerox.com id <16134>; Thu, 4 Mar 1993 11:54:52 -0800 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.holmes.parc.xerox.com.sun4.41 via MS.5.6.holmes.parc.xerox.com.sun4_41; Thu, 4 Mar 1993 11:54:48 -0800 (PST) Message-Id: Date: Thu, 4 Mar 1993 11:54:48 PST Sender: Bill Janssen From: Bill Janssen To: info-andrew@andrew.cmu.edu Subject: HTML version of text? Has anyone written HTML support for ATK yet (presumably htmltext?). (HTML is the markup system used for the WorldWideWeb project.) Bill \enddata{text822, 41092} \begindata{text822, 42588} Return-path: X-Andrew-Authenticated-as: 5904;andrew.cmu.edu;Robert Andrew Ryan Received: from atk.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 15:10:57 -0500 (EST) Received: from atk.itc.cmu.edu via qmail ID ; Thu, 4 Mar 1993 15:10:11 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.atk.itc.cmu.edu.rs.aix31 via MS.5.6.atk.itc.cmu.edu.rs_aix31; Thu, 4 Mar 1993 15:10:10 -0500 (EST) Message-ID: Date: Thu, 4 Mar 1993 15:10:10 -0500 (EST) From: Robert Andrew Ryan X-Andrew-Message-Size: 1602+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Info-Andrew , Bill Janssen Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> \begindata{text,538873460} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from mail: 4-Mar-93 Re: C++ Conversion Bill Janssen@parc.xerox. (842)} \quotation{Excerpts from ext.andrew: 4-Mar-93 Re: C++ Conversion Robert Andrew }\quotation{Ryan@andre (5058+0) } \quotation{>> 3. Will some specific C++ compiler have to be running on all AUIS }\quotation{>> platforms? Will it need to be modified? } \quotation{> For the base situation of no shared libraries and no dynamic linking any }\quotation{> C++ compiler should suffice. } \quotation{This can get a bit difficult. For example, I have four C++ compilers }\quotation{for the SparcStation here, and none of them support templates or }\quotation{exceptions. In particular, G++ is widely regarded as one of the least }\quotation{standard (though nice) implementations. } True, but we believe that the base ATK C++ port will be sufficiently mundane that the toolkit itself will work with any of the available compilers. We hope to provide hooks to allow exceptions to be used for failed constructors in the base code, but this will be a compile time option. Initially we will have no need for templates. \excerptedcaption{Excerpts from mail: 4-Mar-93 Re: C++ Conversion Bill Janssen@parc.xerox. (842)} \quotation{Things get particularly difficult if } \quotation{> C++ programmers should be completely comfortable programming in whatever }\quotation{> style they wish. } \quotation{This makes adding garbage collection to Andrew (which I've successfully }\quotation{done with CLASS), pretty much infeasible. } True, but one of the biggest arguments for the move to C++ is attempting to minimize the learning curve for programmers starting to write with ATK. Can you comment on what restrictions or conventions might be needed for ATK to provide garbage collection under C++? -Rob Ryan Andrew Consortium \enddata{text,538873460} \enddata{text822, 42588} \begindata{text822, 45875} Return-path: X-Andrew-Authenticated-as: 5904;andrew.cmu.edu;Robert Andrew Ryan Received: from atk.itc.cmu.edu via trymail for +dist+/afs/andrew.cmu.edu/usr13/wjh/dlists/mts.dl@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr13/wjh/dlists/mts.dl) ID ; Thu, 4 Mar 1993 16:17:03 -0500 (EST) Received: from atk.itc.cmu.edu via qmail ID ; Thu, 4 Mar 1993 16:16:53 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.atk.itc.cmu.edu.rs.aix31 via MS.5.6.atk.itc.cmu.edu.rs_aix31; Thu, 4 Mar 1993 16:16:52 -0500 (EST) Message-ID: Date: Thu, 4 Mar 1993 16:16:52 -0500 (EST) From: Robert Andrew Ryan X-Andrew-Message-Size: 505+4 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="Interpart.Boundary.IfZb73y00WoiRVXpYt" To: +dist+/afs/andrew.cmu.edu/usr13/wjh/dlists/mts.dl@andrew.cmu.edu Subject: C++ conversion files > THIS IS A MESSAGE IN 'MIME' FORMAT. Your mail reader does not support MIME. > Please read the first section, which is plain text, and ignore the rest. --Interpart.Boundary.IfZb73y00WoiRVXpYt Content-type: text/plain; charset=US-ASCII [An Andrew ToolKit view (a hyperlink) was included here, but could not be displayed.] (Describes how a C++ programmer will program with a C++ ATK.) [An Andrew ToolKit view (a hyperlink) was included here, but could not be displayed.](Describes the tasks which the converter program must do.) [An Andrew ToolKit view (a hyperlink) was included here, but could not be displayed.](Describes the basic goals driving the design of the conventions and the converter.) [An Andrew ToolKit view (a hyperlink) was included here, but could not be displayed.] (Describes the tasks which we need to do to make a C++ version of ATK, and provide the promised demo at the annual meeting.) (These files are in ~rr2b/work/proposals.) I'd like to have a meeting before the regular meeting Monday, or perhaps 11am Tuesday? (It'll probably be ~1hr or less.) -Rob --Interpart.Boundary.IfZb73y00WoiRVXpYt Content-Type: multipart/mixed; boundary="Alternative.Boundary.IfZb73y00WoiBVXpU:" --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: application/andrew-inset \begindata{link,538959496} Datastream version: 3 /afs/cs.cmu.edu/user/rr2b/work/proposals/C++Conventions 0 0 \begindata{link,538959496} Datastream version: 2 C++Conventions 2 black white \enddata{link,538959496} \enddata{link,538959496} --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: text/richtext; charset=US-ASCII Content-Transfer-Encoding: quoted-printable (Describes how a C++ programmer will program with a C++ ATK.) --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: application/andrew-inset \begindata{link,539207432} Datastream version: 3 /afs/cs.cmu.edu/project/atk-sm-X5-rs-nonafs/obj/andrew/atk/basics/\ x/C++Converter 0 0 \begindata{link,539207432} Datastream version: 2 C++Converter 2 black white \enddata{link,539207432} \enddata{link,539207432} --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: text/richtext; charset=US-ASCII Content-Transfer-Encoding: quoted-printable (Describes the tasks which the converter program must do.) --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: application/andrew-inset \begindata{link,539206664} Datastream version: 3 /afs/cs.cmu.edu/user/rr2b/work/proposals/C++Goals 0 0 \begindata{link,539206664} Datastream version: 2 C++Goals 2 black white \enddata{link,539206664} \enddata{link,539206664} --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: text/richtext; charset=US-ASCII Content-Transfer-Encoding: quoted-printable (Describes the basic goals driving the design of the conventions and the converter.) --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: application/andrew-inset \begindata{link,539206536} Datastream version: 3 /afs/cs.cmu.edu/user/rr2b/work/proposals/C++Tasks 0 0 \begindata{link,539206536} Datastream version: 2 C++Tasks 2 black white \enddata{link,539206536} \enddata{link,539206536} --Alternative.Boundary.IfZb73y00WoiBVXpU: Content-type: text/richtext; charset=US-ASCII Content-Transfer-Encoding: quoted-printable (Describes the tasks which we need to do to make a C++ version of ATK, and provide the promised demo at the annual meeting.) (These files are in ~rr2b/work/proposals.) I'd like to have a meeting before the regular meeting Monday, or perhaps 11am Tuesday? (It'll probably be ~1hr or less.) -Rob --Alternative.Boundary.IfZb73y00WoiBVXpU:-- --Interpart.Boundary.IfZb73y00WoiRVXpYt-- \enddata{text822, 45875} \begindata{text822, 50699} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po2.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 16:52:18 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 16:49:38 -0500 (EST) Received: from sadye.emba.uvm.edu by po5.andrew.cmu.edu (5.54/3.15) id for rr2b+; Thu, 4 Mar 93 16:49:29 EST Received: by sadye.emba.uvm.edu id AA09930 (5.65/6.02); Thu, 4 Mar 93 16:49:09 -0500 Date: Thu, 4 Mar 93 16:49:09 -0500 From: Garrett.Wollman@UVM.EDU Message-Id: <9303042149.AA09930@sadye.emba.uvm.edu> To: Robert Andrew Ryan Cc: Bill Janssen , Info-Andrew Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> < said: > True, but one of the biggest arguments for the move to C++ is > attempting to minimize the learning curve for programmers starting > to write with ATK. Can you comment on what restrictions or > conventions might be needed for ATK to provide garbage collection > under C++? I would point out that G++ already has minimal support for at least *someone's* garbage-collector. I would draw your attention to the `-fgc' option of cc1plus, implemented by `cp-gc.c' in the version that I have. The header says: /* Garbage collection primitives for GNU C++. Copyright (C) 1992 Free Software Foundation, Inc. Contributed by Michael Tiemann (tiemann@cygnus.com) So I would recommend asking him about it. -GAWollman -- Garrett A. Wollman | Shashish is simple, it's discreet, it's brief. ... wollman@emba.uvm.edu | Shashish is the bonding of hearts in spite of distance. uvm-gen!wollman | It is a bond more powerful than absence. We like people UVM disagrees. | who like Shashish. - Claude McKenzie + Florent Vollant \enddata{text822, 50699} \begindata{text822, 53168} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 18:18:13 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 18:17:11 -0500 (EST) Received: from alpha.xerox.com by po3.andrew.cmu.edu (5.54/3.15) id for rr2b+; Thu, 4 Mar 93 18:17:05 EST Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <12032>; Thu, 4 Mar 1993 15:15:30 PST Received: by holmes.parc.xerox.com id <16134>; Thu, 4 Mar 1993 15:15:20 -0800 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.holmes.parc.xerox.com.sun4.41 via MS.5.6.holmes.parc.xerox.com.sun4_41; Thu, 4 Mar 1993 15:15:19 -0800 (PST) Message-Id: <4fZcq7IB0KGWA2qUpd@holmes.parc.xerox.com> Date: Thu, 4 Mar 1993 15:15:19 PST Sender: Bill Janssen From: Bill Janssen X-Andrew-Message-Size: 668+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Info-Andrew , Bill Janssen , Robert Andrew Ryan Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> \begindata{text,3211776} \textdsversion{12} \template{messages} \define{global } \excerptedcaption{Excerpts from direct: 4-Mar-93 Re: C++ Conversion Robert Andrew Ryan@andre (1602+0)} \quotation{Can you comment on what restrictions or conventions might be needed for ATK to provide garbage collection under C++? } Take a look at John Ellis's paper, ftp://parcftp.parc.xerox.com/transient/ellis/gc.ps, for details on how to safely compile and use C++ with GC. For a simple conservative GC which integrates with ATK, in about a one-line-of-code modification to overhead/class/machdep/*/doload.c (for registration of dynamically loaded modules), and another one-line mod to class_Init() (to initialize the GC), get the file ftp://parcftp.parc.xerox.com/pub/russell/gc.tar.Z. Bill \enddata{text,3211776} \enddata{text822, 53168} \begindata{text822, 55774} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 19:49:52 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 19:47:59 -0500 (EST) Received: from nkosi.well.sf.ca.us by po3.andrew.cmu.edu (5.54/3.15) id for rr2b+; Thu, 4 Mar 93 19:47:32 EST Received: from well.sf.ca.us by nkosi.well.sf.ca.us (5.65c/SMI-4.1/nkosi-930216-1) id AA03331; Thu, 4 Mar 1993 16:46:27 -0800 Received: by well.sf.ca.us (5.65c/SMI-4.1/well-930216-1) id AA07473; Thu, 4 Mar 1993 16:45:43 -0800 Received: from zindigo by z-code.com (4.1/NBN-16/ZC-7) id AA12834; Thu, 4 Mar 93 16:17:57 PST Received: by zindigo (920330.SGI/920502.SGI) for @z-code.z-code.com:parc.xerox.com!janssen id AA08813; Thu, 4 Mar 93 16:23:25 -0800 From: bobg@zindigo.z-code.com (Bob Glickstein) Message-Id: <9303041623.ZM8811@zindigo.z-code.com> Date: Thu, 4 Mar 1993 16:23:24 -0800 In-Reply-To: Robert Andrew Ryan "Re: C++ Conversion" (Mar 4, 3:10pm) References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> Organization: Z-Code Software Corp., Marin County, CA Reply-To: Bob Glickstein X-Face: =($SY|/2Odk(K$UOYYH88u8x@sP9c'l[^RZwSi<=~B9w.bD}Xueurgex5p1D:0')q.qr8iC%%|X5/3)Fyw-_/+i2V29(;~Rgf.@|7qE,<,cz_3V)c1OZ\yZj'f:QRM=9EqQ?\v&apsKCVfLuQ$46j!B,WJ"~/,A-+KjI;0j7ymyLC5j3gBm} X-Mailer: Z-Mail (2.1.3 26jan93) To: Robert Andrew Ryan , Info-Andrew , Bill Janssen Subject: Re: C++ Conversion On Mar 4, 3:10pm, Robert Andrew Ryan wrote: > Excerpts from mail: 4-Mar-93 Re: C++ Conversion Bill > Janssen@parc.xerox. (842) > > Excerpts from ext.andrew: 4-Mar-93 Re: C++ Conversion Robert > > Andrew Ryan@andre (5058+0) > > > C++ programmers should be completely comfortable programming in > > > whatever style they wish. > > > This makes adding garbage collection to Andrew (which I've > > successfully done with CLASS), pretty much infeasible. > > True, but one of the biggest arguments for the move to C++ is > attempting to minimize the learning curve for programmers starting > to write with ATK. You think there's less overhead in learning C++ than there is in learning Class? The learning curve associated with the Class language in particular is tiny. The difficulty comes in understanding the interactions among all the view and im methods and classprocedures, which are poorly documented. This problem will still exist in C++: What's the difference between view_Update and view_WantUpdate? What's the meaning of view_ReceiveFocus, view_LoseFocus, and view_WantFocus? Why is there an application_Start *and* an application_Run? How do you use keymaps, keystates, and keyrecs? How do you post menus? The overhead is in the AUIS *classes*, not in Class. This problem cannot be addressed with the choice of a language. Keep Class around for the reasons Tom Neuendorffer outlined, and because the Consortium has better ways to spend its time, and because Class is a nice, minimal, sufficient O-O enabler. Stop the spread of C++, the evil antilanguage. -- Bob Glickstein Z-Code Software Corp. 4340 Redwood Highway Suite B-50 San Rafael, CA 94903 (415) 499-8649 \enddata{text822, 55774} \begindata{text822, 59579} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 20:01:22 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Thu, 4 Mar 1993 20:00:59 -0500 (EST) Received: from alpha.xerox.com by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Thu, 4 Mar 93 20:00:49 EST Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <11699>; Thu, 4 Mar 1993 17:00:19 PST Received: by holmes.parc.xerox.com id <16134>; Thu, 4 Mar 1993 17:00:13 -0800 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.holmes.parc.xerox.com.sun4.41 via MS.5.6.holmes.parc.xerox.com.sun4_41; Thu, 4 Mar 1993 17:00:09 -0800 (PST) Message-Id: Date: Thu, 4 Mar 1993 17:00:09 PST Sender: Bill Janssen From: Bill Janssen X-Andrew-Message-Size: 329+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Robert Andrew Ryan , Info-Andrew , Bill Janssen , Bob Glickstein Subject: Re: C++ Conversion In-Reply-To: <9303041623.ZM8811@zindigo.z-code.com> References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> <9303041623.ZM8811@zindigo.z-code.com> \begindata{text,3211776} \textdsversion{12} \template{messages} \define{global } \excerptedcaption{Excerpts from direct: 4-Mar-93 Re: C++ Conversion Bob Glickstein@zindigo.z (1690)} \quotation{The learning curve associated with the Class language in particular is }\quotation{tiny. The difficulty comes in understanding the interactions among }\quotation{all the view and im methods and classprocedures, which are poorly }\quotation{documented. } Bob is exactly right. Bill \enddata{text,3211776} \enddata{text822, 59579} \begindata{text822, 61982} Return-path: X-Andrew-Authenticated-as: 5904;andrew.cmu.edu;Robert Andrew Ryan Received: from atk.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 4 Mar 1993 22:28:21 -0500 (EST) Received: from atk.itc.cmu.edu via qmail ID ; Thu, 4 Mar 1993 22:27:18 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.atk.itc.cmu.edu.rs.aix31 via MS.5.6.atk.itc.cmu.edu.rs_aix31; Thu, 4 Mar 1993 22:27:16 -0500 (EST) Message-ID: Date: Thu, 4 Mar 1993 22:27:16 -0500 (EST) From: Robert Andrew Ryan To: Info-Andrew , Bill Janssen , Bob Glickstein Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> <9303041623.ZM8811@zindigo.z-code.com> Excerpts from mail: 4-Mar-93 Re: C++ Conversion Bob Glickstein@zindigo.z (1689) > You think there's less overhead in learning C++ than there is in learning Class? The point isn't that the overhead in learning Class, it is that in theory programmers will have learned, or will need to learn C++ anyway. So whatever gain there is in avoiding duplication of effort... Excerpts from mail: 4-Mar-93 Re: C++ Conversion Bob Glickstein@zindigo.z (1689) > The difficulty comes in understanding the interactions among > all the view and im methods and classprocedures, which are poorly > documented. No argument here. The entire system can be described as byzantine... I have hopes that significant efforts can be made soon after the conversion to simplify and document ATK programming. (Particularly in the areas of keybindings, menus, and mouse events which should indeed all be unified.) Excerpts from mail: 4-Mar-93 Re: C++ Conversion Bob Glickstein@zindigo.z (1689) > This problem cannot be addressed with the choice of a language. Keep > Class around for the reasons Tom Neuendorffer outlined, and because the > Consortium has better ways to spend its time, and because Class is a > nice, > minimal, sufficient O-O enabler. I am beginning to believe that a reasonably close approximation of Class code could be made to compile automatically against a C++ ATK. (The primary requirement would be the use of ANSI style function definitions, the code could be made to look to the compiler like C++ code via yet more macro magic.) I am less sure whether this would be of any utility. The code would need to be munged to do the prototyping certainly, and include files would be an issue as well. (unless we stay with .ih files which would seem unreasonable.) And yes, I realize this is not what you intended... -Rob Ryan Andrew Consortium \enddata{text822, 61982} \begindata{text822, 65260} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Fri, 5 Mar 1993 09:43:31 -0500 (EST) Received: from po2.andrew.cmu.edu via qmail ID ; Fri, 5 Mar 1993 09:42:58 -0500 (EST) If-Type-Unsupported: send Received: from po3.andrew.cmu.edu via qmail ID ; Fri, 5 Mar 1993 09:40:50 -0500 (EST) Received: from ben.uknet.ac.uk by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew; Fri, 5 Mar 93 09:40:36 EST Received: from eros.uknet.ac.uk by ben.uknet.ac.uk via UKIP with SMTP (PP) id ; Fri, 5 Mar 1993 14:39:45 +0000 Received: from abekrd.co.uk by eros.uknet.ac.uk with UUCP id <5110-0@eros.uknet.ac.uk>; Fri, 5 Mar 1993 14:39:07 +0000 Received: from ebony.abekrd.co.uk by abekrd.abekrd.co.uk; Fri, 5 Mar 93 12:19:26 GMT From: Gary Bartlett Message-Id: <8845.9303051219@ebony.abekrd.co.uk> Subject: Interfacing sendmail delivery to Messages To: info-andrew@andrew.cmu.edu Date: Fri, 5 Mar 1993 12:19:24 +0000 (GMT) X-Organisation: Abekas Video Systems Ltd, Reading, UK X-Mailer: ELM [version 2.4 PL20] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 2644 To Andrew Gurus everywhere, Sorry for being so thick, but can someone help me to setup Messages so that it works with our system arrangement. I'm new to Andrew but fairly au fait with X and sendmail. I have compiled up Andrew from the X11R5 contrib tapes under X11R5 on a Sparc workstation (Sun OS 4.1.3). We use sendmail to deliver mail to /usr/spool/mail/ on a main mail machine which is NFS mounted on to each workstation. This must be a fairly normal situation, I would think. As far as I can remember, I setup the configuration files to not use AMS delivery, so that Messages should look in /usr/spool/mail. But when I try to run Messages and there is something in /usr/spool/mail for me, I always get an error saying that mail extraction failed (it actually says that extraction from ~/Mailbox failed, but it IS actually looking in /usr/spool/mail). The error box says: Messages in /users/garyb/Mailbox could not be properly read and delivered (0 successes, 0 failures (0 locked, 0 in progress)) Also, at the bottom, I see: Error: 'set hold' in .mailrc or Mail.rc prevents consuming mail (in internal parameter check in ConvertOldStyleIncomingMail) And why does it create a ~/Mailbox directory even if it is not actually using this? Is this a locking problem? Permissions are: drwxrwxrwt 2 root tty 512 Mar 5 11:53 /usr/spool/mail -rw------- 1 garyb software 5235 Dec 22 12:22 /usr/spool/mail/garyb [pause whilst trying something] Hmm, I've just located the Mail.rc file that sets 'hold' - it's a standard system file. I added unset hold to my local .mailrc and Messages now works as expected, although it still insists on recreating a ~/Mailbox directory. Although my problem is now fixed, I'd appreciate if anyone can let me know what's actually happening here - I didn't see any reference to the 'set hold' problem anywhere. What do other people do about reading mail from within messages? Manu thanks, Gary ------------------------------------------------------------------------------- Gary Bartlett, Abekas Video Systems, 12 Portman Rd, Reading, Berks, RG3 1EA. UK ------------------------------------------------------------------------------- NET: Gary.Bartlett@abekrd.co.uk PHONE: +44 734 585421 UUCP: ...!uunet!mcsun!uknet!abekrd!Gary.Bartlett FAX: +44 734 567904 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DES Public: 5a9a5d35a2f745ddd8cce89707d3fe671c136aec90b0da037c182630e911eb9e ------------------------------------------------------------------------------- \enddata{text822, 65260} \begindata{text822, 69612} Return-path: X-Andrew-Authenticated-as: 1447;andrew.cmu.edu;Gary Keim Received: from rascal.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Fri, 5 Mar 1993 13:52:20 -0500 (EST) If-Type-Unsupported: send Received: from rascal.andrew.cmu.edu via qmail ID ; Fri, 5 Mar 1993 13:50:49 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.rascal.andrew.cmu.edu.rs.aix31 via MS.5.6.rascal.andrew.cmu.edu.rs_aix31; Fri, 5 Mar 1993 13:50:48 -0500 (EST) Message-ID: Date: Fri, 5 Mar 1993 13:50:48 -0500 (EST) From: Gary Keim X-Andrew-Message-Size: 1351+0 Content-Type: X-BE2; 12 To: Info-Andrew Subject: Re: Interfacing sendmail delivery to Messages In-Reply-To: <8845.9303051219@ebony.abekrd.co.uk> References: <8845.9303051219@ebony.abekrd.co.uk> \begindata{text,539033620} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from misc: 5-Mar-93 Interfacing sendmail delive.. Gary Bartlett@abekrd.co. (2645*)} \quotation{As far as I can remember, I setup the configuration files to not use AMS }\quotation{delivery, so that Messages should look in /usr/spool/mail. But when I }\quotation{try to run Messages and there is something in /usr/spool/mail for me, I }\quotation{always get an error saying that mail extraction failed (it actually says }\quotation{that extraction from ~/Mailbox failed, but it IS actually looking in }\quotation{/usr/spool/mail). The error box says: } \quotation{ Messages in /users/garyb/Mailbox could not be properly read }\quotation{ and delivered (0 successes, 0 failures (0 locked, 0 in progress)) }\quotation{ }The following comes from the FAQ document, which can be located via anon-ftp from emsworth.andrew.cmu.edu (128.2.45.40): \section{Messages/Mail} \subsection{M1. How can I instruct \italic{messages} to use /usr/spool/mail for mail drop? } \leftindent{Although the following lines are in /usr/andrew/etc/AndrewSetup: \leftindent{AMS_NonAMSDelivery: yes AMS_MailBoxPrefix: /usr/spool/mail } Messages says, "/usr/user/Mailbox" could not be properly read and delivered (0 success, 0 failure)". \quotation{ } You should create a file $HOME/.mailrc and put in this line: \leftindent{unset hold} WARNING: Once you start reading mail with \italic{messages}, you incoming mail will be stored within directories maintained by \italic{messages}. It is possible to return to other mail handling systems, but it may not be easy. }\enddata{text,539033620} \enddata{text822, 69612} \begindata{text822, 72525} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 9 Mar 1993 16:25:22 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Tue, 9 Mar 1993 16:20:25 -0500 (EST) Received: from Athena.MIT.EDU (ATHENA-AS-WELL.MIT.EDU) by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Tue, 9 Mar 93 16:20:17 EST Received: from OGLALA.MIT.EDU by Athena.MIT.EDU with SMTP id AA18369; Tue, 9 Mar 93 16:20:14 EST Received: by oglala (5.57/4.7) id AA16440; Tue, 9 Mar 93 16:20:12 -0500 Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.oglala.pmax.ul4 via MS.5.6.oglala.pmax_ul4; Tue, 9 Mar 1993 16:20:12 -0500 (EST) Message-Id: Date: Tue, 9 Mar 1993 16:20:12 -0500 (EST) From: Bill Cattey To: info-andrew+@andrew.cmu.edu Subject: Anyone doing Duplex printing with EZ? The last time I sent an EZ document to our duplex printer, the first page of the table of contents came out on the back of the last page of the document. I think my users would prefer not to have to hand-photocopy the table of contents into appropriate pages. I know that there is code in tmac.atk to transpose left and right header and footer components during duplex printing. I could not find any code that knows when to appropriately eject a page when doing index and toc. Has anyone added this? -wdc \enddata{text822, 72525} \begindata{text822, 74326} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po2.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 9 Mar 1993 17:03:39 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Tue, 9 Mar 1993 16:54:09 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Tue, 9 Mar 93 16:53:39 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA02009; Tue, 9 Mar 93 13:37:03 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 9 Mar 93 01:06:37 GMT From: auspex-gw!guy@uunet.uu.net (Guy Harris) Organization: Auspex Systems, Santa Clara Subject: Re: Gotta drop the alloca include hack from platform.tmpl for Solaris 2. Message-Id: <17216@auspex-gw.auspex.com> References: Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu >1. Sun is the primary party at fault here. > >They are to be PUBLICLY FLOGGED for sending out an incompatible set of C >libraries on a new version of the operating system without a way to identify >that state PRE-DEFINED in the C system: IE a VERSION NUMBER in the C >preprocessor, or in a .h file. Err, I'd say the primary party at fault here are the folks who decided that the ATK build process has to automagically figure out, without human intervention, what kind of box it's running on. I'd say it's time to shoot that notion in the head, as there is *no* guarantee that it'll work forever. ATK should require that somebody edit some particular file to specify the platform (OS version, CPU type, etc.) for which the build is being done, or have some "build_atk" script that does it for you when given the platform type as an argument, or something. However, if people insist on preserving that "automatically figure out the platform type" hack until the bitter end, here's a suggestion as to how to figure out whether you're building under SunOS 5.x or under an earlier release - it may hold off the bitter end for a little while.... (But remember, ideally there won't *be* a "Solaris 2.x" port of ATK - there'll be a *SPARC SVR4* port, and an *x86 SVR4 port*, and so on, which will, ideally, work on all SVR4-derived OSes on the architecture in question. It may not be possible to figure out that the machine is a SPARC machine running SVR4 with one such hack, if it's to work under Solaris 2.x *and* other SVR4 SPARC ports - yes, there do exist other ones....) From: imp@boulder.parcplace.com (Warner Losh) Newsgroups: comp.unix.solaris Subject: How to tell SunOS 4.x from SunOS 5.x Message-ID: Date: 24 Feb 93 05:03:34 GMT Organization: ParcPlace Boulder A few days ago, someone asked how to tell SunOS 4.x and SunOS 5.x apart w/o -DSolaris or something like that on the command line. I can't seem to find the orignal post, but here's one way you could do it. It is based on a trick I saw in the PTYDRIVER.MAR sources on VMS that allowed it to run on VMS 4.x or 5.x. on SunOS 5.x has DIOC defined, while the 4.x version doesn't. So you could do something like: #ifdef sun #include #ifdef DIOC #define SunOS_5 #else #define SunOS_4 #endif #endif Warner -- Warner Losh imp@boulder.parcplace.COM ParcPlace Boulder I've almost finished my brute force solution to subtlety. \enddata{text822, 74326} \begindata{text822, 78145} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 9 Mar 1993 22:24:52 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Tue, 9 Mar 1993 22:22:10 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Tue, 9 Mar 93 22:22:02 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA12692; Tue, 9 Mar 93 19:15:26 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 4 Mar 93 22:56:43 GMT From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!cs.utexas.edu!convex!siemens!aad@ucbvax.Berkeley.EDU (Anthony A. Datri) Organization: Siemens Weyland-Yutani Subject: Re: C++ Conversion Message-Id: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu> Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu >If anyone has a convincing argument about why we should NOT proceed with >conversion of AUIS to C++, now would be a good time to come forward. If g++ doesn't work for a platform, or won't build with g++ on a platform, this will make useless to many. What's with this "AUIS" stuff? Gotta change the name every couple of years? -- ======================================================================8--< \enddata{text822, 78145} \begindata{text822, 79965} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Tue, 9 Mar 1993 22:25:44 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Tue, 9 Mar 1993 22:22:31 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Tue, 9 Mar 93 22:22:25 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA12716; Tue, 9 Mar 93 19:16:02 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 5 Mar 93 21:27:39 GMT From: cis.ohio-state.edu!zaphod.mps.ohio-state.edu!uwm.edu!cs.utexas.edu!convex!siemens!aad@ucbvax.Berkeley.EDU (Anthony A. Datri) Organization: Siemens Weyland-Yutani Subject: Re: C++ Conversion Message-Id: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu>, Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu >1. Will we have to give up the benefits of dynamic loading? Do we have any now? Even under SunOS 4.1x, runapp's about a meg in size. >difficult to test them and share them with others? Will platforms that >don't support shared libraries be stuck with large, inflexible binaries? Unless I'm missing something, we're still not using the X libraries dyamically: <=>lovecraft<=>ldd !$ ldd /usr/andrew/bin/runapp /usr/andrew/lib/libclass.a -ldl.1 => /usr/lib/libdl.so.1.0 -lc.1 => /usr/lib/libc.so.1.8.2 >3. Will some specific C++ compiler have to be running on all AUIS >platforms? Will it need to be modified? That's my biggest concern. -- ======================================================================8--< \enddata{text822, 79965} \begindata{text822, 82123} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 06:57:19 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Wed, 10 Mar 1993 06:53:16 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Wed, 10 Mar 93 06:53:11 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA03658; Wed, 10 Mar 93 03:38:39 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 9 Mar 93 09:06:53 GMT From: adobe!usenet@decwrl.dec.com (Zalman Stern) Organization: Adobe Systems Incorporated Subject: Re: C++ Conversion Message-Id: <1993Mar9.090653.17916@adobe.com> References: Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu Bob G. basically hit it right on. I work with MacApp 3.0 (yet another abandoned toolkit/framework/software-toxic-waste-dump). Its in C++ (converted from the Object-Pascal scriptures). Most of us spend a fair bit of time bitching C++ and reminiscing about how great programming in C was. Many programmers here drop into my cube to ask C++ questions 'cause I seem to be one of the few willing to puzzle out what the ARM (Annotated Reference Manual, the draft ANSI standard for C++) says. They usually end up very surprised to learn the "truth" about C++. (E.g. I've had at least five people ask me how to call a super method in C++. How do you plan to do it in ATK?) C++ portability is an interesting proposition. There are a number of bugs in the various C++ compilers we deal with. (Larger than in a comparable set of C compilers.) xlC on the RS/6000 is supposed to be one of the strictest C++ compilers and closest to the ARM . I'd suggest making sure your code compiles there. Now something (even a minimal something) that ran on NT, the Mac, and UNIX would be very useful (like we would pay money for it). (How many commercial packages are shipping using ATK? MacApp has a handful, Adobe PhotoShop being the only significant one.) This like so many issues in ATK's past is coming down to the people with taste vs. the bozos. I long ago gave it up as a lost battle. As Bill said, "Have a nice life." Of course its not like all copies of the class based ATK are going to disappear :-) -- Zalman Stern zalman@adobe.com (415) 962 3824 Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900 "...And I didn't even need pants!!"--Dilbert on The Net (by Scott Adams) \enddata{text822, 82123} \begindata{text822, 85153} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po2.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 08:13:27 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Wed, 10 Mar 1993 08:08:10 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Wed, 10 Mar 93 08:08:05 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA07822; Wed, 10 Mar 93 04:55:20 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 7 Mar 93 23:46:55 GMT From: siemens!aad@princeton.edu (Anthony A. Datri) Organization: Siemens Weyland-Yutani Subject: Re: Interfacing sendmail delivery to Messages Message-Id: References: <8845.9303051219@ebony.abekrd.co.uk> Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu >Sparc workstation (Sun OS 4.1.3). We use sendmail to deliver mail to >/usr/spool/mail/ on a main mail machine which is NFS mounted on >to each workstation. This must be a fairly normal situation, I would >think. True enough, and a fairly dangerous one due to locking issues. I minimized these by writing a filter that would dump its input into a uniquely-named file in ~/Mailbox, which was NFS-mounted to the machine where I was running messages. I had .forward pipe through this filter. Probably an even more secure way would be to have the filter write into a different directory, then atomically rename the file into ~/Mailbox. I think Nathanial Borenstein wrote a program something like this called "eatmail" which may be in the contrib section of the ATK distribution. >As far as I can remember, I setup the configuration files to not use AMS >delivery, so that Messages should look in /usr/spool/mail. I believe that the contents of /usr/spool/mail/user are actually copied into ~/Mailbox, then read from there. I don't bother with this any more, though, because I now receive my mail directly on a machine that can run Messages, and thus can flock. In the past my mail and home directory were on a Convex machine, where I didn't have a complete, modern ATK port. I dread the day when I'll have to run SunOS 5.x and thus will be at the mercy of lockf(). (Sun decided that we didn't need reliable file locking any more, and removed flock().) -- ======================================================================8--< \enddata{text822, 85153} \begindata{text822, 88037} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 10:24:16 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Wed, 10 Mar 1993 10:20:47 -0500 (EST) Received: from netmail.austin.ibm.com by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Wed, 10 Mar 93 10:20:35 EST Received: from lynn.austin.ibm.com by netmail.austin.ibm.com (AIX 3.1/UCB 5.61/gw.0.7) for info-andrew@andrew.cmu.edu at andrew.cmu.edu id AA54539; Wed, 10 Mar 93 09:20:33 -0600 Received: by lynn.austin.ibm.com (AIX 3.1/UCB 5.61/4.03-client-2.4) for info-andrew@andrew.cmu.edu at austin.ibm.com; id AA14346; Wed, 10 Mar 93 09:20:31 -0600 Message-Id: <9303101520.AA14346@lynn.austin.ibm.com> To: info-andrew@andrew.cmu.edu Subject: Re: C++ Conversion In-Reply-To: (Your message of 09 Mar 93 09:06:53 GMT.) <1993Mar9.090653.17916@adobe.com> Date: Wed, 10 Mar 93 09:20:31 -0600 From: Tracy Wells > Now something (even a minimal something) that ran on NT, the Mac, and UNIX > would be very useful (like we would pay money for it). (How many commercial > packages are shipping using ATK? MacApp has a handful, Adobe PhotoShop being > the only significant one.) I'm not sure what it's based on now, but I know the initial version of InfoExplorer on the RISC System/6000 was built on top of ATK. We got lots of positive feedback about the graphical version of InfoExplorer. > Zalman Stern zalman@adobe.com (415) 962 3824 -------- Tracy Wells Porter internal: tlwells@lynn.austin.ibm.com external: tlwells@austin.ibm.com My opinions are my own, not necessarily IBM's! \enddata{text822, 88037} \begindata{text822, 90112} Return-path: X-Andrew-Authenticated-as: 602;andrew.cmu.edu;Adam Stoller Received: from commander.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 10:33:28 -0500 (EST) If-Type-Unsupported: send Received: from commander.itc.cmu.edu via qmail ID ; Wed, 10 Mar 1993 10:30:38 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.commander.itc.cmu.edu.rs.aix31 via MS.5.6.commander.itc.cmu.edu.rs_aix31; Wed, 10 Mar 1993 10:30:37 -0500 (EST) Message-ID: <4fbUaRi00guRO5GX05@andrew.cmu.edu> Date: Wed, 10 Mar 1993 10:30:37 -0500 (EST) From: Adam Stoller X-Andrew-Message-Size: 719+0 Content-Type: X-BE2; 12 To: Info-Andrew Subject: fcomp change ? \begindata{text,538784976} \textdsversion{12} \template{messages} \description{Version: typescript (Version 7.2, ATK 5.2.1.rs_aix31.beta.2.10) ProcEntry: fcomp-possible-completions Problem: the character '.' now seems to get interpreted as a directory rather than as the initial character of the search string. I used to be able to type the following in typescript ([?] == fcomp-possible-completions binding): } \example{\smaller{\smaller{> ~/.[?] }}} and I would get something like: \example{\smaller{\smaller{.AMS.flames .AMS.flames.~1~ .AMS.prof .AMS.prof.LOCK .AMS.prof.OLD .AMS.prof.OLDR .AMS_aliases .MESSAGES/ }}}[etc.] now I get: \example{\smaller{\smaller{ghoti}}} Was this an intentional change? Is there any way to get the old behavior back? Am I the only one who noticed this? (PS: some of these functions don't appear to be documented in the tsckeys.help file) --fish \enddata{text,538784976} \enddata{text822, 90112} \begindata{text822, 92132} Return-path: X-Andrew-Authenticated-as: 91;andrew.cmu.edu;Tom Neuendorffer Received: from highland.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 12:29:41 -0500 (EST) Received: from highland.itc.cmu.edu via qmail ID ; Wed, 10 Mar 1993 12:25:59 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.highland.itc.cmu.edu.rs.aix31 via MS.5.6.highland.itc.cmu.edu.rs_aix31; Wed, 10 Mar 1993 12:25:59 -0500 (EST) Message-ID: <0fbWGb600hYSMkDsdy@andrew.cmu.edu> Date: Wed, 10 Mar 1993 12:25:59 -0500 (EST) From: Tom Neuendorffer X-Andrew-Message-Size: 1487+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Info-Andrew Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu>, \begindata{text,538879432} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from internet.other.info-andrew: 5-Mar-93 Re: C++ Conversion Anthony A. Datri@ucbvax. (747)} \quotation{>1. Will we have to give up the benefits of dynamic loading? } \quotation{Do we have any now? Even under SunOS 4.1x, runapp's about a meg in size. } Still less than emacs :>. \quotation{>difficult to test them and share them with others? Will platforms that }\quotation{>don't support shared libraries be stuck with large, inflexible binaries? } \quotation{Unless I'm missing something, we're still not using the X libraries dyamically: } The idea behind runapp was to have a static loaded base that would contain most of the utilities needed for the text editor and many of the other classes. Very early on, we were able to dynamically load the window system support code (either X or Wm), but it wasn't clear how well this code was being shared on some systems (this was before the advent of shared libraries) . What is or isn't statically loaded into runapp is easily changed by modifying statload.c in the apps directory. The advantages of dynamic loading include: \leftindent{1. Existing applications can bring in new and unexpected insets as needed. 2. One large binary supports multiple applications. 3. Avoiding huge binaries (a statically loaded \italic{messages} including all of the insets would be MASSIVE) 4. Avoiding long link times when compiling new applications. 5. Users can write applications, insets and C-based extensions that will extend the installed binaries, without having to compile and save their own versions. } Tom \enddata{text,538879432} \enddata{text822, 92132} \begindata{text822, 95075} Return-path: X-Andrew-Authenticated-as: 8158;andrew.cmu.edu;David Anderson Received: from carnot.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 14:23:13 -0500 (EST) Received: from carnot.itc.cmu.edu via qmail ID ; Wed, 10 Mar 1993 14:22:12 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.carnot.itc.cmu.edu.rs.aix31 via MS.5.6.carnot.itc.cmu.edu.rs_aix31; Wed, 10 Mar 1993 14:22:11 -0500 (EST) Message-ID: Date: Wed, 10 Mar 1993 14:22:11 -0500 (EST) From: David Anderson X-Andrew-Message-Size: 782+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Info-Andrew Subject: Re: C++ Conversion In-Reply-To: <0fbWGb600hYSMkDsdy@andrew.cmu.edu> References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu>, <0fbWGb600hYSMkDsdy@andrew.cmu.edu> \begindata{text,539033388} \textdsversion{12} \template{messages} \define{italic menu:[Font~1,Italic~11] attr:[FontFace Italic Int Set]} \define{leftindent menu:[Region~4,LeftIndent~21] attr:[LeftMargin LeftMargin Inch 32768]} I've heard that doing ATK development with shared libraries has basically the same advantages as dynamic loading, but I've never really tried it. Can someone who has done both comment? \excerptedcaption{Excerpts from internet.other.info-andrew: 10-Mar-93 Re: C++ Conversion Tom Neuendorffer (1487+0)} \quotation{The advantages of dynamic loading include: }\leftindent{\quotation{1. Existing applications can bring in new and unexpected insets as needed. }\quotation{2. One large binary supports multiple applications. }\quotation{3. Avoiding huge binaries (a statically loaded \italic{messages} including all of the insets would be MASSIVE) }\quotation{4. Avoiding long link times when compiling new applications. }\quotation{5. Users can write applications, insets and C-based extensions that will extend the installed binaries, without having to compile and save their own versions. } }\enddata{text,539033388} \enddata{text822, 95075} \begindata{text822, 97507} Return-path: X-Andrew-Authenticated-as: 1210;alw.nih.gov;Bob Dew Received: from kirin.dcrt.nih.gov via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl@andrew.cmu.edu) ID ; Wed, 10 Mar 1993 17:45:51 -0500 (EST) Received: from kirin.dcrt.nih.gov via qmail ID ; Wed, 10 Mar 1993 17:44:39 -0500 (EST) If-Type-Unsupported: send Received: from kirin.dcrt.nih.gov via qmail ID ; Wed, 10 Mar 1993 17:41:41 -0500 (EST) Received: from dude.dcrt.nih.gov via qmail ID ; Wed, 10 Mar 1993 17:40:39 -0500 (EST) Received: from dude.dcrt.nih.gov via qmail ID ; Wed, 10 Mar 1993 17:40:28 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.dude.dcrt.nih.gov.sun4c.411 via MS.5.6.dude.dcrt.nih.gov.sun4_41; Wed, 10 Mar 1993 17:40:27 -0500 (EST) Message-ID: Date: Wed, 10 Mar 1993 17:40:27 -0500 (EST) From: Bob Dew X-Andrew-Message-Size: 1521+0 Content-Type: X-BE2; 12 To: Info-Andrew Subject: Re: C++ Conversion In-Reply-To: <1993Mar9.090653.17916@adobe.com> References: <1993Mar9.090653.17916@adobe.com> \begindata{text,1570664} \textdsversion{12} \template{messages} I'm surprised to see the many references to NT in this discussion, as if it were a foregone conclusion that NT alone, or by-and-large is going to drive the future PC market place. Users and application developers serious about interoperability issues probably won't find NT wildly exciting--NT, after all, is a single-user, proprietary-based operating system with dismally poor means of interoperating with non-NT systems and platforms. I think its inappropriate even to consider NT as a perspective platform on which to port ATK, as ATK is largely based upon the open system functionality that UNIX, X-Windows, AFS and TCP/IP provides in cross-architecture application development. NT, in sharp contrast, is primarily a stand-alone operating system that achieves limited network access to other NT clients and servers via proprietary-based protocols. FTP, SMTP, bsd sockets and RPCs, among other traditionally open system features, are not fully implemented under NT, making NT's usefulness (and desirability) in a heterogeneous network somewhat dubious. (In defense of NT, I saw it demo'ed at Interop today. Its slick-looking. But bring up a simple question of, say, Internet mail, or DCE compatibility, and its slickness begins to look very PC-like). I'd really like to see more Mac and PC involvement in ATK development. Perhaps USL's SVR4.2 will provide some viable solutions to PC, Mac and UNIX system integration under AUIS, but NT likely will not. Bob Dew National Institutes of Health Bethesda, MD \enddata{text,1570664} \enddata{text822, 97507} \begindata{text822, 100888} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 18:24:40 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Wed, 10 Mar 1993 18:21:47 -0500 (EST) Received: from vnet.ibm.com by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Wed, 10 Mar 93 18:21:35 EST Received: from RCHLAND by vnet.ibm.com (IBM VM SMTP V2R2) with BSMTP id 1318; Wed, 10 Mar 93 18:19:17 EST Reply-To: "Todd Inglett" Received: by PO1 (AIX 3.2/UCB 5.64/4.7) id for info-andrew+@andrew.cmu.edu; Wed, 10 Mar 1993 17:05:43 -0600 Received: via switchmail; Wed, 10 Mar 1993 17:05:43 -0600 (CST) Received: from q.rchland.ibm.com via qmail ID ; Wed, 10 Mar 1993 17:05:21 -0600 (CST) Received: from q.rchland.ibm.com via qmail ID ; Wed, 10 Mar 1993 17:05:19 -0600 (CST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.q.rchland.ibm.com.rs.aix32 via MS.5.6.q.rchland.ibm.com.rs_aix32; Wed, 10 Mar 1993 17:05:18 -0600 (CST) Message-Id: Date: Wed, 10 Mar 1993 17:05:18 -0600 (CST) From: Todd Inglett X-Andrew-Message-Size: 1783+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Info-Andrew Subject: Re: C++ Conversion In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu>, <0fbWGb600hYSMkDsdy@andrew.cmu.edu> \begindata{text,538904832} \textdsversion{12} \template{messages} \define{italic menu:[Font~1,Italic~11] attr:[FontFace Italic Int Set]} \define{quotation menu:[Region~4,Quotation~10] attr:[LeftMargin LeftMargin Inch 32768] attr:[RightMargin RightMargin Inch 32768] attr:[FontFace Italic Int Set]} \define{excerptedcaption attr:[LeftMargin LeftMargin Inch 32768] attr:[RightMargin RightMargin Inch 32768] attr:[FontFace Bold Int Set] attr:[FontFace Italic Int Set]} \define{leftindent menu:[Region~4,LeftIndent~21] attr:[LeftMargin LeftMargin Inch 32768]} \excerptedcaption{Excerpts from ext.misc.info-andrew: 10-Mar-93 Re: C++ Conversion David Anderson@andrew.cm (782+0)} \quotation{I've heard that doing ATK development with shared libraries has basically the same advantages as dynamic loading, but I've never really tried it. Can someone who has done both comment? } Shared libraries can be used to reduce the physical binary size on disk and in physical memory (obviously). On some platforms (most I would hope) it also reduces long link times because the library has been pre-linked (internal symbols need not be resolved) and little if any code needs to be copied into the executable. I recall on AIX that trivial Motif apps took about 40-50 seconds to link w/o shared libs and only 3-4 seconds with shared libs. However, as Tom points out, dynamic loading can be used to \italic{extend} applications. Sure, features can be added to a shared library without relinking the apps, but you can't change the interface--and you can't really add new code to the library without modifying the app to call it (otherwise it will go unused in old apps). It would be possible for an app to query the shared library for names of functions/classes/whatever that can be called...but this ``query'' function must be regenerated anytime something is added to the shared library. Not really difficult, but the only way to extend the app is to add to \italic{existing} shared libraries that were originally linked with the app. In order to add additional libraries, a user would have to link his own version of the app. I don't think this would be acceptible for app users, but probably ok for developers provided the main app is trivial (like runapp). BTW, I have gotten full ATK-style dynamic loading to work with C++ on AIX, but there are still some details to iron out. -todd inglett \enddata{text,538904832} \enddata{text822, 100888} \begindata{text822, 105425} Return-path: X-Andrew-Authenticated-as: 1447;andrew.cmu.edu;Gary Keim Received: from rascal.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 10 Mar 1993 18:56:11 -0500 (EST) If-Type-Unsupported: send Received: from rascal.andrew.cmu.edu via qmail ID ; Wed, 10 Mar 1993 18:55:27 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.rascal.andrew.cmu.edu.rs.aix31 via MS.5.6.rascal.andrew.cmu.edu.rs_aix31; Wed, 10 Mar 1993 18:55:26 -0500 (EST) Message-ID: Date: Wed, 10 Mar 1993 18:55:26 -0500 (EST) From: Gary Keim X-Andrew-Message-Size: 725+0 Content-Type: X-BE2; 12 To: Info-Andrew Subject: Re: C++ Conversion In-Reply-To: References: <1993Mar9.090653.17916@adobe.com> \begindata{text,538977948} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from misc: 10-Mar-93 Re: C++ Conversion Bob Dew@alw.nih.gov (1521+0)} \quotation{I'm surprised to see the many references to NT in this discussion, as if it were a foregone conclusion that NT alone, or by-and-large is going to drive the future PC market place. } I'm of the opinion that the best strategic direction to take is for AUIS to get into the PC arena in a bigger way -- Linux, Mach, and SCO Unix, for example. People are excited about the kind of Unix box they can have for the money given that Linux and others are freely available (not to mention that they can also run DOS apps at the same time). I also believe that C++ is also correct, and that g++ is proper because it's nonproprietary and widely available. \enddata{text,538977948} \enddata{text822, 105425} \begindata{text822, 107520} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 11 Mar 1993 06:48:43 -0500 (EST) Received: from po2.andrew.cmu.edu via qmail ID ; Thu, 11 Mar 1993 06:46:12 -0500 (EST) Received: from thumper.bellcore.com by po2.andrew.cmu.edu (5.54/3.15) id for dba+; Thu, 11 Mar 93 06:46:04 EST Received: from greenbush.bellcore.com by thumper.bellcore.com (4.1/4.7) id for info-andrew+@andrew.cmu.edu; Thu, 11 Mar 93 06:44:47 EST Received: by greenbush.bellcore.com (4.1/4.7) id for dba+@andrew.cmu.edu; Thu, 11 Mar 93 06:44:46 EST Received: from cui.2.0.CUILIB.3.45.SNAP.NOT.LINKED.greenbush.galaxy.sun4.41 via MS.5.6.greenbush.galaxy.sun4_41; Thu, 11 Mar 1993 06:44:44 -0500 (EST) Message-Id: Date: Thu, 11 Mar 1993 06:44:44 -0500 (EST) From: Nathaniel Borenstein To: Info-Andrew , David Anderson Subject: Re: C++ Conversion Cc: In-Reply-To: References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu>, <0fbWGb600hYSMkDsdy@andrew.cmu.edu> Shared libraries give you the effect of dynamic loading, but not dynamic binding. In particular, the ability to do ESC TAB for a newly-created inset would probably be lot harder to do without ATK-style dynamic loading, though there is probably a way to hack it together by putting each new inset in a shared library of its own, with a name derived from the inset name. I'm still not sure how all the details would work, though. On the other hand, although that's a neat feature, how often do people really create a new inset, anyway? If you have to recompile your main program (e.g. runapp) each time a new inset is created, but NOT when the inset is recompiled, that will probably suffice. And that should be pretty easy with shared libraries. On the related debate, my two cents are as follows: I don't think the switch to C++ will help Andrew one bit in the marketplace. I think porting to more widely available platforms, and making BINARY versions widely available on those platforms, will help immensely. As to the choice of platforms, I'd vote for Univel, SCO, and Macmach support before NT. Even if NT succeeds, most Microsoft users will be using Windows -- NT is for the upper end f their market. If you aren't going to bite the bullet and do a full Windows port, NT won't buy you much, I predict. -- Nathaniel \enddata{text822, 107520} \begindata{text822, 110529} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 11 Mar 1993 08:19:27 -0500 (EST) Received: from po2.andrew.cmu.edu via qmail ID ; Thu, 11 Mar 1993 08:15:26 -0500 (EST) Received: from vnet.ibm.com by po2.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Thu, 11 Mar 93 08:15:20 EST Received: from RCHLAND by vnet.ibm.com (IBM VM SMTP V2R2) with BSMTP id 0662; Thu, 11 Mar 93 08:10:59 EST Reply-To: "Jay Schmidgall" Received: by PO1 (AIX 3.2/UCB 5.64/4.7) id for info-andrew+@andrew.cmu.edu; Thu, 11 Mar 1993 07:11:18 -0600 Received: via switchmail; Thu, 11 Mar 1993 07:11:18 -0600 (CST) Received: from ghostwind.rchland.ibm.com via qmail ID ; Thu, 11 Mar 1993 07:11:04 -0600 (CST) Received: from ghostwind.rchland.ibm.com via qmail ID ; Thu, 11 Mar 1993 07:11:03 -0600 (CST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.ghostwind.rchland.ibm.com.rs.aix32 via MS.5.6.ghostwind.rchland.ibm.com.rs_aix32; Thu, 11 Mar 1993 07:11:02 -0600 (CST) Message-Id: Date: Thu, 11 Mar 1993 07:11:02 -0600 (CST) From: Jay Schmidgall To: Info-Andrew Subject: Re: C++ Conversion In-Reply-To: References: <1993Mar9.090653.17916@adobe.com> Excerpts from ext.misc.info-andrew: 10-Mar-93 Re: C++ Conversion Gary Keim@andrew.cmu.edu (725+0) > to get into the PC arena in a bigger way -- Linux, Mach, and SCO Unix, > for example. People are excited about the kind of Unix box they can > have for the money given that Linux and others are freely available (not to Yes, please. I await with bated breath the Linux port of ATK. I think making ATK available on Linux would greatly increase its exposure to potential application developers, and quite likely we'd start to see some ATK based apps available for anon ftp soon thereafter. : jay \enddata{text822, 110529} \begindata{text822, 113157} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 11 Mar 1993 14:47:14 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Thu, 11 Mar 1993 14:43:50 -0500 (EST) Received: from omnigate.clarkson.edu by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew; Thu, 11 Mar 93 14:43:32 EST Received: from sun.mcs.clarkson.edu by omnigate.clarkson.edu with SMTP (PP) id <09710-0@omnigate.clarkson.edu>; Thu, 11 Mar 1993 14:34:29 -0500 Received: from left.mcs.clarkson.edu by sun.mcs.clarkson.edu (4.1/SMI-4.1) id AA21984; Thu, 11 Mar 93 14:32:44 EST Date: Thu, 11 Mar 93 14:32:44 EST From: glasserj@sun.mcs.clarkson.edu (Joshua D. Glasser) Message-Id: <9303111932.AA21984@sun.mcs.clarkson.edu> Received: by left.mcs.clarkson.edu (4.1/SMI-4.1) id AA04790; Thu, 11 Mar 93 14:31:19 EST To: info-andrew@andrew.cmu.edu Subject: Information Sought About: ANDREW on 486 based machines. Reply-To: glasserj@sun.mcs.clarkson.edu I've just picked up a Cornell System's 486(dx2-66) PC running (DEL system 5 release 4) UNIX, I am looking into running ANDREW on it, and I've got some ANDREW on the 486 based machines questions. How is the 386 code on the 486? Is there a 486 version or patches that make 386 ANDREW work better on the 486? How much RAM do you need(should you have) to run ANDREW? Is 16 meg good? How much disk space does ANDREW take up? Is there room to run UNIX and ANDREW on a 210mb disk? Are there any "gotcha's" I should know about with respect to ANDREW on the 486? Please reply to me by direct email. Thank you very much, Joshua ---------------------------------------------------------------------------- ) ( Joshua D. Glasser /(_ _)\ CU Box #5817 )^\\_\-=-/_//^( Department of Mathematics and Computer Science /o (@)/.\(@) o\ Clarkson University \/ ^__ ^ __^ \/ Potsdam, New York 13699-5817 \|\VVV/|/ \\AAA// Office: (315) 268- 6686 Fax: (315) 268-6670 \~~~/ ))|(( Internet: glasserj@sun.mcs.clarkson.edu \enddata{text822, 113157} \begindata{text822, 115662} Return-path: X-Andrew-Authenticated-as: 8158;andrew.cmu.edu;David Anderson Received: from carnot.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 11 Mar 1993 15:15:51 -0500 (EST) If-Type-Unsupported: send Received: from carnot.itc.cmu.edu via qmail ID ; Thu, 11 Mar 1993 15:14:55 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.carnot.itc.cmu.edu.rs.aix31 via MS.5.6.carnot.itc.cmu.edu.rs_aix31; Thu, 11 Mar 1993 15:14:52 -0500 (EST) Message-ID: Date: Thu, 11 Mar 1993 15:14:52 -0500 (EST) From: David Anderson X-Andrew-Message-Size: 747+0 Content-Type: X-BE2; 12 To: glasserj@sun.mcs.clarkson.edu Subject: Re: Information Sought About: ANDREW on 486 based machines. CC: Info-Andrew In-Reply-To: <9303111932.AA21984@sun.mcs.clarkson.edu> References: <9303111932.AA21984@sun.mcs.clarkson.edu> \begindata{text,538950252} \textdsversion{12} \template{messages} The 386 code works fine on a 486. There are no patches for the 486. I'm not sure if there is an unrealized opporunity for improvement here -- I doubt it could make much difference. The little bit of assembly language code doesn't do all that much. 16 meg is fine under Mach 3.0. I once *built* (and then ran) ATK on a 386 60-meg laptop running Mach and X11, but that was very tricky. I had to build it in stages, and then throw away the sources to the parts that were done. 210meg should be ok, though you may find yourself wishing for more room. It largely depends on how much space SVR4 leaves you. I'm not aware of any gotchas for the 486, but DEL system 5 release 4 may be a problem. I haven't heard that ATK is running there yet. --david \enddata{text,538950252} \enddata{text822, 115662} \begindata{text822, 117776} Return-path: X-Andrew-Authenticated-as: 241;andrew.cmu.edu;David W. Mattis Received: from cressant.itc.cmu.edu via trymail ID ; Fri, 12 Mar 1993 13:15:46 -0500 (EST) Received: from cressant.itc.cmu.edu via qmail ID ; Fri, 12 Mar 1993 13:15:45 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.cressant.itc.cmu.edu.rs.aix31 via MS.5.6.cressant.itc.cmu.edu.rs_aix31; Fri, 12 Mar 1993 13:15:44 -0500 (EST) Message-ID: Date: Fri, 12 Mar 1993 13:15:44 -0500 (EST) From: "David W. Mattis" X-Andrew-Message-Size: 221+0 Content-Type: X-BE2; 12 If-Type-Unsupported: alter To: Susan Straub Subject: \begindata{text,538841200} \textdsversion{12} \template{messages} Susan, I have tried to get in touch with Ricky Houghton to ask him questions about your 6000, but has had no luck. I am not going to be by today, since without the answers I need, there is little that I can do. -dwm- \enddata{text,538841200} \enddata{text822, 117776} \begindata{text822, 119046} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po3.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Sat, 13 Mar 1993 02:50:16 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Sat, 13 Mar 1993 02:47:01 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Sat, 13 Mar 93 02:46:53 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA12679; Fri, 12 Mar 93 23:33:43 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 9 Mar 93 21:29:07 GMT From: rr2b+@andrew.cmu.edu (Robert Andrew Ryan) Organization: School of Computer Science, Carnegie Mellon, Pittsburgh, PA Subject: Re: C++ Conversion Message-Id: References: Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu Excerpts from netnews.comp.soft-sys.andrew: 9-Mar-93 Re: C++ Conversion Zalman Stern@adobe.com (1734) > (E.g. I've had at least five people ask me how to call a super method > in C++. How do you plan to do it in ATK?) See the little demo program after my signature. The way it has to be done will make it harder to "re-parent" classes, but with support for multiple inheritance there is no longer necessarily a single "super" class... In general I believe that ATK programming in C++ will not be significantly more annoying than the current Class-C implementation. Excerpts from netnews.comp.soft-sys.andrew: 9-Mar-93 Re: C++ Conversion Zalman Stern@adobe.com (1734) > C++ portability is an interesting proposition. There are a number of > bugs in the various C++ compilers we deal with. (Larger than in a > comparable set of C compilers.) xlC on the RS/6000 is supposed to be > one of the strictest C++ compilers and closest to the ARM . I'd suggest making sure your code compiles there. xlC++ will certainly be used on the converted sources, and we will fix any problems which arise... Excerpts from netnews.comp.soft-sys.andrew: 9-Mar-93 Re: C++ Conversion Zalman Stern@adobe.com (1734) How many commercial packages are shipping using ATK? To the best of my knowledge there is one. Not terribly impressive I agree. -Rob Ryan Andrew Consortium #include class A { public: virtual void Bar() { printf("A....\n"); } }; class B : public A{ public: virtual void Bar() { printf("B....\n"); printf("calling super class Bar() (twice)...\n"); A::Bar(); this->A::Bar(); printf("called super class Bar()\n"); } }; main() { B f; f.Bar(); f.A::Bar(); } \enddata{text822, 119046} \begindata{text822, 122103} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po3.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Sun, 14 Mar 1993 02:18:54 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Sun, 14 Mar 1993 02:17:23 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Sun, 14 Mar 93 02:17:16 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA20299; Sat, 13 Mar 93 23:07:44 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 10 Mar 93 21:42:01 GMT From: siemens!aad@princeton.edu (Anthony A. Datri) Organization: Siemens Weyland-Yutani Subject: Re: C++ Conversion Message-Id: References: , Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu >The point isn't that the overhead in learning Class, it is that in >theory programmers will have learned, or will need to learn C++ anyway. I wouldn't assume that. Not everyone is jumping on AT&T's bandwagon. I used to work for a Unix vendor whose C++ product was (so I was told) basically a repackaging of the AT&T stuff because so few customers wanted it. -- ======================================================================8--< \enddata{text822, 122103} \begindata{text822, 123900} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Sun, 14 Mar 1993 11:39:06 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Sun, 14 Mar 1993 11:34:05 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Sun, 14 Mar 93 11:34:00 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA08845; Sun, 14 Mar 93 08:28:44 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 13 Mar 93 02:43:16 GMT From: auspex-gw!guy@uunet.uu.net (Guy Harris) Organization: Auspex Systems, Santa Clara Subject: Re: C++ Conversion Message-Id: <17250@auspex-gw.auspex.com> References: , <1993Mar9.090653.17916@adobe.com>, Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu >How many commercial packages are shipping using ATK? > >To the best of my knowledge there is one. Not terribly impressive I agree. Should Clarity's Rapport be considered to be using ATK or not? They started with ATK code, but a lot of it is Very Different: it uses its own oddball binary format for files, rather than ATK datastream format; when I asked, they indicated that you can't just drop some ATK inset into it; etc.. \enddata{text822, 123900} \begindata{text822, 125714} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po3.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Sun, 14 Mar 1993 12:21:13 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Sun, 14 Mar 1993 12:18:30 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Sun, 14 Mar 93 12:18:19 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA09960; Sun, 14 Mar 93 09:04:28 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 13 Mar 93 06:07:28 GMT From: adobe!usenet@decwrl.dec.com (Zalman Stern) Organization: Adobe Systems Incorporated Subject: Re: C++ Conversion Message-Id: <1993Mar13.060728.26023@adobe.com> References: Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu In article Rob Ryan writes: > Excerpts from netnews.comp.soft-sys.andrew: 9-Mar-93 Re: C++ Conversion > Zalman Stern@adobe.com (1734) > > > (E.g. I've had at least five people ask me how to call a super method > > in C++. How do you plan to do it in ATK?) > > See the little demo program after my signature. The way it has to be > done will make it harder to "re-parent" classes, but with support for > multiple inheritance there is no longer necessarily a single "super" > class... > [...] > #include > > class A { > public: > virtual void Bar() { > printf("A....\n"); > } > }; > > class B : public A{ > public: > virtual void Bar() { > printf("B....\n"); > printf("calling super class Bar() (twice)...\n"); > A::Bar(); > this->A::Bar(); > printf("called super class Bar()\n"); > } > }; > > main() { > B f; > f.Bar(); > f.A::Bar(); > } Have you thought about using class scoped typedefs to introduce a name for the superclass? That is putting something like "typedef A super;" or "typedef A super_B;" in class B. Apple's C++ product supports a keyword "inherited" for classes that derive from class PascalObject (you don't want to know...). Hence we use the name "INHERITED" which is implemented either by class typedef's or #define's. (Some versions of cfront don't properly implement class scoped typedef's apparently.) -- Zalman Stern zalman@adobe.com (415) 962 3824 Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900 "...And I didn't even need pants!!"--Dilbert on The Net (by Scott Adams) \enddata{text822, 125714} \begindata{text822, 128673} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Sun, 14 Mar 1993 13:36:57 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Sun, 14 Mar 1993 13:34:17 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Sun, 14 Mar 93 13:33:59 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA12302; Sun, 14 Mar 93 10:18:30 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 13 Mar 93 06:27:38 GMT From: adobe!usenet@decwrl.dec.com (Zalman Stern) Organization: Adobe Systems Incorporated Subject: Re: dynamic loading (Was: C++ Conversion) Message-Id: <1993Mar13.062738.26977@adobe.com> References: <0fbWGb600hYSMkDsdy@andrew.cmu.edu> Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu The solution on reasonable systems is to have ATK itself be a shared library (or shared libraries). That should cleanly integrate with existing build tools and provide the best use of memory. As to dynamic loading, most interesting programs on personal computers have "plugin" interfaces to add significant functionality to the software. Much like insets, though the protocols tend to be less general and better developed. (The inset protocol is very high level and does nothing specific. ATK has not developed many specific extension protocols.) In the UNIX world, software often uses pipes and exec'ed processes to add functionality. While this is fairly simple to program, it forces everything into a relatively slow byte stream model of operation. Complex stuff doesn't seem to happen. (Most pipe protocols are based on textual input and output.) Either that, or people just recompile the software everytime they want to add something. (Which is a pain and completely untenable for commercial software. Even many UNIX kernels have evolved beyond this.) One of the best engineered pieces of software I've seen in a long time is Adobe Premiere. (A video editing and production application for the Mac.) Its entirely based on loadable plugin modules. There are a number of message passing protocols that these modules use to talk to each other. There is a core app that loads everything and handles registering of the modules. Its surprisingly easy to add new functionality and the modular design makes it a joy to work with. And its even written in straight ANSI-C with "object oriented discipline." ATK could have been a lot more like that, but it isn't. (And it probably never will be.) -- Zalman Stern zalman@adobe.com (415) 962 3824 Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900 "...And I didn't even need pants!!"--Dilbert on The Net (by Scott Adams) \enddata{text822, 128673} \begindata{text822, 131953} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Sun, 14 Mar 1993 23:07:22 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Sun, 14 Mar 1993 23:05:00 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Sun, 14 Mar 93 23:04:38 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA00493; Sun, 14 Mar 93 19:54:23 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 13 Mar 93 02:40:09 GMT From: auspex-gw!guy@uunet.uu.net (Guy Harris) Organization: Auspex Systems, Santa Clara Subject: Re: C++ Conversion Message-Id: <17249@auspex-gw.auspex.com> References: <0fYvmzm00gpmQ3cHA_@cs.cmu.edu>, , Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu >>1. Will we have to give up the benefits of dynamic loading? > >Do we have any now? Ability to add a new inset without having to recompile ATK in its entirety? >>difficult to test them and share them with others? Will platforms that >>don't support shared libraries be stuck with large, inflexible binaries? > >Unless I'm missing something, we're still not using the X libraries >dyamically: > ><=>lovecraft<=>ldd !$ >ldd /usr/andrew/bin/runapp > /usr/andrew/lib/libclass.a > -ldl.1 => /usr/lib/libdl.so.1.0 > -lc.1 => /usr/lib/libc.so.1.8.2 bootme$ ldd /usr/andrew/bin/runapp /usr/andrew/lib/libclass.a -lX11.4 => /usr/openwin/lib/libX11.so.4.3 -ldl.1 => /usr/lib/libdl.so.1.0 -lc.1 => /usr/lib/libc.so.1.8 Of course, I'm not using the "atk/apps/Imakefile" that was distributed with ATK 5.1.... I'd submitted this patch before, and I think it got into one version of ATK, but disappeared from a later version; I think it should go in and stay in at this point.... *** Imakefile.dist Wed Mar 18 13:19:19 1992 --- Imakefile Tue Jun 16 23:38:39 1992 *************** *** 33,41 **** --- 33,46 ---- #endif /* X11_ENV */ #else /* _IBMR2 */ CLASSLIB = ${BASEDIR}/lib/libclass.a + #ifdef LIBDL_ENV + X11LIBS = ${BASEDIR}/lib/libcmenu.a + SYSLIBS = -lm -lX11 + #else /* LIBDL_ENV */ X11LIBS = ${BASEDIR}/lib/libcmenu.a \ ${XLIBDIR}/libX11.a SYSLIBS = -lm + #endif /* LIBDL_ENV */ #endif /* _IBMR2 */ OTHERLIBS = ${WMLIB} \ \enddata{text822, 131953} \begindata{text822, 134820} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po3.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 17 Mar 1993 11:57:17 -0500 (EST) Received: from po2.andrew.cmu.edu via qmail ID ; Wed, 17 Mar 1993 11:52:43 -0500 (EST) Received: from motgate.mot.com by po2.andrew.cmu.edu (5.54/3.15) id for info-andrew; Wed, 17 Mar 93 11:52:32 EST Received: from pobox.mot.com ([129.188.137.100]) by motgate.mot.com with SMTP (5.65c/IDA-1.4.4/MOT-2.12 for ) id AA23663; Wed, 17 Mar 1993 10:51:53 -0600 Received: from fwase65.fwrdc.rtsg.mot.com ([160.2.100.87]) by pobox.mot.com with SMTP (5.65c/IDA-1.4.4/MOT-2.12 for ) id AA15575; Wed, 17 Mar 1993 10:51:46 -0600 Received: by fwase65.fwrdc.rtsg.mot.com (5.65b/msm-1.47) id AA01592; Wed, 17 Mar 93 10:51:24 -0600 From: kgallo@mailbox.fwrdc.rtsg.mot.com (Kevin Gallo) Message-Id: <9303171651.AA01592@fwase65.fwrdc.rtsg.mot.com> Subject: Problem on non-AMS system To: info-andrew@andrew.cmu.edu Date: Wed, 17 Mar 93 10:51:17 CST X-Mailer: ELM [version 2.3 PL11] I have compiled the andrew source for the HP 400 series computers. They are the same as the 300 series and so I used all the 300 series options and had no major problems. I have gotten all of the major applications like ez, raster, bush, typescript and such to work. I am having trouble getting messages to recognize that I am not using AMS and so getting it to look in /usr/spool/mail. I have followed the FAQ and the SetUp.ref manual but it still seems not to work. I created a file in /etc/AndrewSetup with the following settings: Venus: no AMS_NonAMSDelivery: yes AMS_MailBoxPrefix: /usr/spool/mail ThisDomain: fwans00.fwrdc.rtsg.mot.com ThisDomainSuffix: fwrdc.rtsg.mot.com ThisDomainWPDirectory: /usr/service/wp AMS_LocalMailSystemExists: yes Print.NonAndrew: yes AMS_NonViceHost: yes AMS_UsersAreGrownups: yes LocalBboardRoot: /usr/local/andrew/.MESSAGES AMS_ValidateDestHosts: no PostmasterMailbox: /Mailbox NNTPhost: 129.188.137.103 AMS_CheckAddressInSeparatingFrom: no AMS_CheckDateInSeparatingFrom: no AMS_AllowColonInSeparatingFrom: no Do you know why it may be dieing on me? Kevin _/ _/ | Kevin Gallo | _/_/_/_/ _/ _/ | Software Engineer | _/ _/_/ | Motorola | _/ _/_/ _/ _/ | e-mail: kgallo@fwrdc.rtsg.mot.com | _/ _/ _/ _/ | phone : (817) 232-6503 | _/_/_/_/ \enddata{text822, 134820} \begindata{text822, 137691} Return-path: X-Andrew-Authenticated-as: 8779;andrew.cmu.edu;Andrew C. Plotkin Received: from orac.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 17 Mar 1993 13:03:28 -0500 (EST) Received: from orac.andrew.cmu.edu via qmail ID ; Wed, 17 Mar 1993 12:59:34 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.orac.andrew.cmu.edu.pmax.ul4 via MS.5.6.orac.andrew.cmu.edu.pmax_ul4; Wed, 17 Mar 1993 12:59:34 -0500 (EST) ReSent-Message-ID: ReSent-Date: Wed, 17 Mar 1993 12:59:34 -0500 (EST) ReSent-From: "Andrew C. Plotkin" ReSent-To: Info-Andrew Return-path: Message-Id: <9303171757.AA04474@a.cs.uiuc.edu> To: ap1i+@andrew.cmu.edu Subject: Andrew process as UI server? Date: Wed, 17 Mar 93 11:57:45 CST From: kendrat@cs.uiuc.edu Hi- We are constructing tools for collaborative software, and are now evaluating Andrew's possible contribution. I want to use an Andrew process as a user interaction server for a client process QUESTION 1: Is this already available? QUESTION 2: If not, can you criticize this partial solution: It is easy enough for the client to send a datastream to the server via im_AddFileHandler, and the object is constructed and viewed through a new frame. Embedded ness scripts can call a simple Andrew class to send messages back to the client. (Such as when a "DONE" button is pressed.) Employing new insets is easy - the Andrew code does not change, and the client just needs to generate a new datastream. QUESTION 3: How can I avoid constructing and parsing ad-hoc messages, one for each method that I want available to the client? For instance, I need to split an lset and put in a new button, AFTER the object has been constructed in the Andrew process. The Andrew Class programmer has lsetview_HSplit and buttonV_new, etc. (I expect the client-accessible objects to be referenced through names supplied by the client. Like "room-reservation-form-1". Upon construction, the Andrew process can use a dictionary to map the name to the object.) Mark Kendrat m-kendrat@uiuc.edu Grad student, Advanced Collaborative Systems Lab University of Illinois at Urbana-Champaign \enddata{text822, 137691} \begindata{text822, 140288} X-Andrew-Authenticated-As: 469;andrew.cmu.edu;Craig F. Everhart Return-path: X-Andrew-Authenticated-as: 1312;transarc.com;Craig Everhart Received: from sybil.transarc.com via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl@andrew.cmu.edu) ID ; Wed, 17 Mar 1993 13:16:37 -0500 (EST) If-Type-Unsupported: send Received: from sybil.transarc.com via qmail ID ; Wed, 17 Mar 1993 13:12:48 -0500 (EST) Received: from Messages.7.14.N.CUILIB.3.45.SNAP.NOT.LINKED.sybil.transarc.com.sun4.40 via MS.5.6.sybil.transarc.com.sun4_40; Wed, 17 Mar 1993 13:12:45 -0500 (EST) Message-ID: Date: Wed, 17 Mar 1993 13:12:45 -0500 (EST) From: Craig_Everhart@transarc.com X-Andrew-Message-Size: 605+0 Content-Type: X-BE2; 12 To: Info-Andrew , kgallo@fwrdc.rtsg.mot.com (Kevin Gallo) Subject: Re: Problem on non-AMS system In-Reply-To: <9303171651.AA01592@fwase65.fwrdc.rtsg.mot.com> References: <9303171651.AA01592@fwase65.fwrdc.rtsg.mot.com> \begindata{text,3532160} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from internet.other.info-andrew: 17-Mar-93 Problem on non-AMS system Kevin Gallo@mailbox.fwrd (1403)} \quotation{I am having trouble getting messages to }\quotation{recognize that I am not using AMS and so getting it to look in }\quotation{/usr/spool/mail. I have followed the FAQ and the SetUp.ref manual but }\quotation{it still seems not to work. } \excerptedcaption{Excerpts from internet.other.info-andrew: 17-Mar-93 Problem on non-AMS system Kevin Gallo@mailbox.fwrd (1403)} \quotation{Do you know why it may be dieing on me? } The obvious question: what does it do? What kind of behavior *are* you seeing? Does it dump core and quit? Print any messages? Craig \enddata{text,3532160} \enddata{text822, 140288} \begindata{text822, 142478} Return-path: X-Andrew-Authenticated-as: 1312;transarc.com;Craig Everhart Received: from transarc.com via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 17 Mar 1993 14:37:55 -0500 (EST) Received: from transarc.com via qmail ID ; Wed, 17 Mar 1993 14:36:35 -0500 (EST) Received: from sybil.transarc.com via qmail ID ; Wed, 17 Mar 1993 14:34:07 -0500 (EST) Received: from sybil.transarc.com via qmail ID ; Wed, 17 Mar 1993 14:33:55 -0500 (EST) Received: from Messages.7.14.N.CUILIB.3.45.SNAP.NOT.LINKED.sybil.transarc.com.sun4.40 via MS.5.6.sybil.transarc.com.sun4_40; Wed, 17 Mar 1993 14:33:52 -0500 (EST) ReSent-Message-ID: ReSent-Date: Wed, 17 Mar 1993 14:33:52 -0500 (EST) ReSent-From: Craig_Everhart@transarc.com ReSent-To: Info-Andrew Return-path: <@motgate.mot.com:kgallo@mailbox.fwrdc.rtsg.mot.com> From: kgallo@mailbox.fwrdc.rtsg.mot.com (Kevin Gallo) Message-Id: <9303171909.AA01742@fwase65.fwrdc.rtsg.mot.com> Subject: Re: Problem on non-AMS system To: Craig_Everhart@transarc.com Date: Wed, 17 Mar 93 13:09:51 CST In-Reply-To: ; from "Craig_Everhart@transarc.com" at Mar 17, 93 1:12 pm X-Mailer: ELM [version 2.3 PL11] > Excerpts from internet.other.info-andrew: 17-Mar-93 Problem on non-AMS > system Kevin Gallo@mailbox.fwrd (1403) > > > I am having trouble getting messages to > > recognize that I am not using AMS and so getting it to look in > > /usr/spool/mail. I have followed the FAQ and the SetUp.ref manual but > > it still seems not to work. > > Excerpts from internet.other.info-andrew: 17-Mar-93 Problem on non-AMS > system Kevin Gallo@mailbox.fwrd (1403) > > > Do you know why it may be dieing on me? > > The obvious question: what does it do? What kind of behavior *are* you > seeing? Does it dump core and quit? Print any messages? > > Craig "dieing" probably was not the correct word. It simply reads my mail from ~/Mailbox. It also does not show any netnews bboards. When I do a "Read Mail", it prints "Looking for mail in ~/Mailbox". It then shows my mail folder. I tried an expose all but that also does not show any of the bboards from the NNTP server. Kevin Gallo _/ _/ | Kevin Gallo | _/_/_/_/ _/ _/ | Software Engineer | _/ _/_/ | Motorola | _/ _/_/ _/ _/ | e-mail: kgallo@fwrdc.rtsg.mot.com | _/ _/ _/ _/ | phone : (817) 232-6503 | _/_/_/_/ \enddata{text822, 142478} \begindata{text822, 145487} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po3.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 17 Mar 1993 18:52:07 -0500 (EST) Received: from po3.andrew.cmu.edu via qmail ID ; Wed, 17 Mar 1993 18:51:17 -0500 (EST) Received: from alpha.xerox.com by po3.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Wed, 17 Mar 93 18:50:56 EST Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <11809>; Wed, 17 Mar 1993 15:50:21 PST Received: by holmes.parc.xerox.com id <16134>; Wed, 17 Mar 1993 15:50:11 -0800 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.holmes.parc.xerox.com.sun4.41 via MS.5.6.holmes.parc.xerox.com.sun4_41; Wed, 17 Mar 1993 15:50:07 -0800 (PST) Message-Id: <4fdvYjsB0KGWA2Lck1@holmes.parc.xerox.com> Date: Wed, 17 Mar 1993 15:50:07 PST Sender: Bill Janssen From: Bill Janssen X-Andrew-Message-Size: 19210+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: ap1i+@andrew.cmu.edu, Info-Andrew , kendrat@cs.uiuc.edu Subject: Re: Andrew process as UI server? In-Reply-To: <9303171757.AA04474@a.cs.uiuc.edu> References: <9303171757.AA04474@a.cs.uiuc.edu> \begindata{text,1545456} \textdsversion{12} \template{messages} \define{global } Frank Halasz and I did this about 5 years ago in a project called DELI at MCC. (Unfortunately, the legal ownership of the resulting code is split between at least 9 companies, so it's unlikely to ever be released.) We had a Lisp window system that needed a good text editor, and didn't want to write it ourself, so we used ATK's instead. Worked OK. We connected to the ATK server from Lisp, via a TCP connection, and told it "Turn X window 8234987 on display somehost:0.0 into a text editor", and the ATK system would instantiate a text and a textview, with the textview appearing on the window (I had to hack atk/basics/x/xim.c a little to add the ability to turn an existing X window into an ATK im). We had a remote editor protocol which the Lisp system and the ATK server used to communicate. This allowed us to use ATK as the text editor for our Lisp system, and use ATK text widgets as widgets in our Lisp window system. (We also implemented this editing protocol for a multi-window version of GNU Emacs which we developed (with Stallman's help)). We then wrote an ATK inset which supported an X window which completely covered the inset. We extended our ATK server to allow Lisp windows to be placed in ATK text, via this inset. The user would insert an instance of the inset, and the initialization code for the insetview would, after creating the its X window, contact the Lisp process and tell Lisp to manage the X window (in terms of handling input and expose events; the inset managed the size and location of the X window). This allowed us to use Lisp widgets inside our ATK text windows. There was a method on the dataobject of the X window inset which cached a persistent object reference to the CLOS object managing the window, so that the datastream in the editor window could be saved to a file in the normal ATK manner, and re-read later in a different instantiation of EZ, say, which caused the new editor to establish links to a Lisp server and re-instantiate the Lisp objects to manage the internal window of the ATK X window inset! The biggest problem was, as with most distributed systems, robustness. If the ATK server goes down, how do you reinstantiate it, and recover its internal state? How do you provide stable storage for such a UI server? Since the server is single-threaded, what if some operation blocks? There were also some problems with the ATK internals. One which I believe is still a problem is finding out when a view is unmapped (so that, in the case of the X window widget, one can unmap the window covering the view). Another was the necessity to add the code to xim to allow it to take over an existing window, rather than creating its own (actually a very small amount of code in xim.c, basically adding a method xim_PreciseCreateWindow(), which took a whole list of window parameters (might as well list them: host, display, screen, left, top, width, height, border_width, parent_window_id, window_id. These days I would also add override_redirect and initially_visible)), but was very similar to xim_CreateWindow()). Another was a bug in the refresh code for im's, which didn't filter out duplicate refresh requests. Here's the code for the last version of PreciseCreateWindow I wrote (from the X11R4 Andrew release). It probably has to be updated to work with the ATK 5.x release. \literal{\typewriter{\smaller{\smaller{\smaller{xim__PreciseCreateWindow (self, host, display, screen, precisex, precisey, width, height, borderwidth, parentid, windowid) struct xim *self; char *host; int display, screen; int precisex, precisey, width, height, borderwidth; unsigned long parentid, windowid; \{ Display *xDisplay; Window newWindow; int i; int Xfileno; char * xhost; static int doSynch = 0; XSetWindowAttributes windowAttributes; struct mouseStatus *tmouse; XSizeHints xsh; int left, top; boolean GeometrySize, GeometryPosition; static char *PriorSpec = NULL; /* see if we have installed the error handler yet and performed special mappings */ if (FirstTimeThrough) \{ FirstTimeThrough = FALSE; /* Setup error handler */ XSetErrorHandler((XErrorHandler)XErrorsToConsole); \} /* ensure that 'host' points to a host name */ if (host == NULL || *host == '\\0') /* no host supplied, simluate what XOpenDisplay will do so that we can cache the host name for later reuse */ host = (defaultServerHost != NULL) ? defaultServerHost : environ_Get("DISPLAY"); if (host == NULL) host = "unix:0.0"; /* copy host to be xhost. Append ":0 if needed */ if (index(host, ':') == 0) \{ char buf[100]; sprintf (buf, "%s:%d.%d", host, display, screen); xhost = malloc(strlen(buf) + 1); strcpy (xhost, buf); \} else \{ xhost = malloc(strlen(host)+1); strcpy(xhost, host); \} for (host = xhost; *host; host++) if (isupper(*host)) *host = tolower(*host); /* XXX probably ought to canonicalize the hostname to the "official" name */ /* See if we already opened a display for this host */ xDisplay = NULL; for (i = 0; i < xWindowCtr; i++) \{ if (strcmp(windowList[i].host, xhost) == 0) \{ xDisplay = windowList[i].display; break; \} \} if ((!xDisplay) && ((xDisplay = XOpenDisplay(xhost)) == NULL)) \{ printf("Could not open the X display \\"%s\\"; this program will not run without a window system.\\n", xhost); return FALSE; \} if (wmchangestate == NULL) wmchangestate = XInternAtom(xDisplay, "WM_CHANGE_STATE", TRUE); xim_EstablishConsole(xhost); (void) XSynchronize(xDisplay,doSynch); GeometrySize = FALSE; GeometryPosition = FALSE; if (geometrySpec != NULL) \{ int mask, x, y;unsigned int width, height; mask = XParseGeometry(geometrySpec, &x, &y, &width, &height); if (mask & (XValue | YValue)) \{ GeometryPosition = TRUE; if (mask & XValue) preferedLeft = (mask & XNegative) ? x - 1 : x; if (mask & YValue) preferedTop = (mask & YNegative) ? y - 1 : y; \} if (mask & (WidthValue | HeightValue)) \{ GeometrySize = TRUE; if (mask & WidthValue) preferedWidth = width; if (mask & HeightValue) preferedHeight = height; \} \} if (precisex >= 0) preferedLeft = precisex; if (precisey >= 0) preferedTop = precisey; if (width >= 0) preferedWidth = width; if (height >= 0) preferedHeight = height; if (preferedWidth<=0) \{ errprintf(im_GetProgramName(),ERR_WARNING,0,0, "window of width %d requested for %X; using 91 instead", preferedWidth, self); preferedWidth = 91; \} if (preferedHeight<=0) \{ errprintf(im_GetProgramName(),ERR_WARNING,0,0, "window of height %d requested for %X; using 20 instead", preferedHeight, self); preferedHeight = 20; \} if (preferedLeft < 0) left = DisplayWidth(xDisplay, DefaultScreen(xDisplay)) + preferedLeft - preferedWidth; else left = preferedLeft; if (preferedTop < 0) top = DisplayHeight(xDisplay, DefaultScreen(xDisplay)) + preferedTop - preferedHeight; else top = preferedTop; if (PriorSpec != NULL && PriorSpec == geometrySpec) \{ /* (compare addresses) */ /* another window for same specification. Use increments, if any. Otherwise use PPosition to try to get rubberbanding. */ CurrTopIncr += TopIncrement; CurrLeftIncr += LeftIncrement; left += CurrLeftIncr; top += CurrTopIncr; if (TopIncrement == 0 && LeftIncrement == 0) \{ /* if the window would appear at the same place, we try to get rubberbanding of position */ GeometryPosition = FALSE; top = 0; left = 0; /* these cause twm (R3) to rubberband */ \} \} else \{ /* new specification. use it. */ CurrTopIncr = 0; CurrLeftIncr = 0; PriorSpec = geometrySpec; \} if (windowid == 0) \{ newWindow = XCreateSimpleWindow(xDisplay, (parentid == 0) ? RootWindow(xDisplay, DefaultScreen(xDisplay)) : parentid, left, top, preferedWidth, preferedHeight, /* border width if no window manager present: */ (borderwidth < 0) ? 2 : borderwidth, BlackPixel(xDisplay, DefaultScreen(xDisplay)), WhitePixel(xDisplay, DefaultScreen(xDisplay))); \} else \{ newWindow = windowid; \} /* (This really should be a fake "insertgraphic" into its own graphic to guarantee that all graphic state exists alike for all views.) */ xim2window(self)= newWindow; xim2display(self) = xDisplay; xim2screen(self) = DefaultScreen(xDisplay); xim2valid(self) = TRUE; if (useBackingStore) \{ windowAttributes.backing_store = WhenMapped; XChangeWindowAttributes(xDisplay, newWindow, CWBackingStore, &windowAttributes); \} /* Note: we assume default values of ForgetGravity to guarantee that any window reconfiguration will generate an exposure event, thereby eliminating the need to capture or select for configure events */ \{ char *foregroundColor; char *backgroundColor; long status; XColor desiredColor; XColor exactColor; graphic_GetDefaultColors(&foregroundColor, &backgroundColor); if (foregroundColor != NULL) \{ status = XAllocNamedColor(xDisplay, DefaultColormap(xDisplay, DefaultScreen(xDisplay)), foregroundColor, &desiredColor, &exactColor); if (status) \{ XSetWindowBorder(xDisplay, newWindow, desiredColor.pixel); \} \} self->backgroundPixel = WhitePixel(xDisplay, DefaultScreen(xDisplay)); if (backgroundColor != NULL) \{ status = XAllocNamedColor(xDisplay, DefaultColormap(xDisplay, DefaultScreen(xDisplay)), backgroundColor, &desiredColor, &exactColor); if (status) \{ XSetWindowBackground(xDisplay, newWindow, desiredColor.pixel); self->backgroundPixel = desiredColor.pixel; \} \} \} /* Register our newly created window with whatever window manager is running (if any) */ XSelectInput(xDisplay, newWindow, STANDARDEVENTMASK); Xfileno = ConnectionNumber(xDisplay); /* Have we got a new display? If so, then set up display specific state appropriately */ for (i = 0; i < xWindowCtr; i++) \{ if (windowList[i].display == xDisplay) \{ break; \} \} if (i == xWindowCtr) \{ static struct keybinding \{ KeySym key; char *binding; \} keybindings[] = \{ XK_Home, "\\033H", /* esc H */ XK_Left, "\\033D", /* esc D */ XK_Up, "\\033A", /* esc A */ XK_Right, "\\033C", /* esc C */ XK_Down, "\\033B", /* esc B */ XK_Prior, "\\033G", /* esc G */ XK_Next, "\\033E", /* esc E */ XK_End, "\\033F", /* esc F */ XK_Begin, "\\001", /* control A */ #if 0 XK_Insert, "\\033", /* esc */ XK_Delete, "\\004", /* control D */ #endif /* 0 */ /* give unique mappings to every key - CCH */ /* mind you, these are damn non-standard they should be ESC-digit-digit-digit-letter -wjh */ XK_F1, "\\033S", /* esc S */ XK_F2, "\\033T", /* esc T */ XK_F3, "\\033U", /* esc U */ XK_F4, "\\033V", /* esc V */ XK_F5, "\\033W", /* esc W */ XK_F6, "\\033P", /* esc P */ XK_F7, "\\033Q", /* esc Q */ XK_F8, "\\033R", /* esc R */ XK_F9, "\\033Y", /* esc Y */ XK_F10, "\\033<", /* esc < */ XK_F11, "\\033[", /* esc [ */ XK_F12, "\\033,", /* esc , */ XK_L1, "\\033E", /* esc E */ XK_L2, "\\033F", /* esc F */ XK_L3, "\\033G", /* esc G */ XK_L4, "\\033H", /* esc H */ XK_L5, "\\033I", /* esc I */ XK_L6, "\\033J", /* esc J */ XK_L7, "\\033K", /* esc K */ XK_L8, "\\033L", /* esc L */ XK_L9, "\\033M", /* esc M */ XK_L10, "\\033N", /* esc N */ XK_R1, "\\033O", /* esc O */ XK_R2, "\\033X", /* esc X */ XK_R3, "\\033Z", /* esc Z */ XK_R4, "\\033-", /* esc - */ XK_R5, "\\033=", /* esc = */ XK_R6, "\\033+", /* esc + */ XK_R7, "\\033/", /* esc / */ XK_R8, "\\033A", /* esc A */ XK_R9, "\\033*", /* esc * */ XK_R10, "\\033D", /* esc D */ XK_R11, "\\033&", /* esc & */ XK_R12, "\\033C", /* esc C */ XK_R13, "\\033:", /* esc : */ XK_R14, "\\033B", /* esc B */ XK_R15, "\\033;", /* esc ; */ #ifdef notdef /* the old stuff mapped multiple keys to same code */ XK_F1, "\\033S", /* esc S */ XK_L1, "\\033S", /* esc S */ XK_R1, "\\033S", /* esc S */ XK_F2, "\\033T", /* esc T */ XK_L2, "\\033T", /* esc T */ XK_R2, "\\033T", /* esc T */ XK_F3, "\\033U", /* esc U */ XK_L3, "\\033U", /* esc U */ XK_R3, "\\033U", /* esc U */ XK_F4, "\\033V", /* esc V */ XK_L4, "\\033V", /* esc V */ XK_R4, "\\033V", /* esc V */ XK_F5, "\\033W", /* esc W */ XK_L5, "\\033W", /* esc W */ XK_R5, "\\033W", /* esc W */ XK_F6, "\\033P", /* esc P */ XK_L6, "\\033P", /* esc P */ XK_R6, "\\033P", /* esc P */ XK_F7, "\\033Q", /* esc Q */ XK_L7, "\\033Q", /* esc Q */ XK_R7, "\\033Q", /* esc Q */ XK_F8, "\\033R", /* esc R */ XK_L8, "\\033R", /* esc R */ XK_R8, "\\033R", /* esc R */ XK_F9, "\\033Y", /* esc Y */ XK_L9, "\\033Y", /* esc Y */ XK_R9, "\\033Y", /* esc Y */ XK_F10, "\\033<", /* esc < */ XK_L10, "\\033<", /* esc < */ XK_R10, "\\033<", /* esc < */ XK_F11, "\\033[", /* esc [ */ XK_R11, "\\033[", /* esc [ */ XK_F12, "\\033,", /* esc , */ XK_R12, "\\033,", /* esc , */ #endif /* notdef */ \}; struct keybinding *thisBinding; /* New display (might) require a new font path */ xim_AddAndrewFontPath(xDisplay); for (thisBinding = keybindings; thisBinding < keybindings + sizeof(keybindings) / sizeof(struct keybinding); thisBinding++) XRebindKeysym(xDisplay, thisBinding->key, NULL, 0, (unsigned char *)thisBinding->binding, 2); /* New display, so see if someone has bothered to define the cut buffers yet! */ if (xim_ATK == NULL) \{ xim_ATK = XInternAtom(xDisplay, "ATK", FALSE); xim_INCOMING = XInternAtom(xDisplay, "INCOMING", FALSE); xim_TARGETS = XInternAtom(xDisplay, "TARGETS", FALSE); xim_TIMESTAMP = XInternAtom(xDisplay, "TIMESTAMP", FALSE); xim_MULTIPLE = XInternAtom(xDisplay, "MULTIPLE", FALSE); xim_TEXT = XInternAtom(xDisplay, "TEXT", FALSE); xim_INCR = XInternAtom(xDisplay, "INCR", FALSE); xim_CLIPBOARD = XInternAtom(xDisplay, "CLIPBOARD", FALSE); xim_LENGTH = XInternAtom(xDisplay, "LENGTH", FALSE); \} for (i=0;i<8;i++) \{ Atom RetAtom; int RetFormat; unsigned long RetNumItems; unsigned long RetBytesAfter; unsigned char * RetData = NULL; static Atom n_to_atom[8] = \{ XA_CUT_BUFFER0, XA_CUT_BUFFER1, XA_CUT_BUFFER2, XA_CUT_BUFFER3, XA_CUT_BUFFER4, XA_CUT_BUFFER5, XA_CUT_BUFFER6, XA_CUT_BUFFER7\}; (void) XGetWindowProperty(xDisplay, RootWindow(xDisplay, DefaultScreen(xDisplay)), n_to_atom[i], 0L, 0L, False, /* I'll take any kind of cut buffer!*/ AnyPropertyType, &RetAtom, &RetFormat, &RetNumItems, &RetBytesAfter, &RetData); if (RetAtom == None) XStoreBuffer(xDisplay, (char *)&RetNumItems, 0, i); if (RetData) XFree(RetData); \} /* set up the mouseStatus structure for the new display */ tmouse = (struct mouseStatus *)malloc(sizeof(struct mouseStatus)); tmouse->next = Mice; tmouse->display = xDisplay; tmouse->lasttime = CurrentTime; tmouse->state = msAllUp; Mice = tmouse; self->MouseFacts = tmouse; \} else \{ /* find the proper entry in Mice for this display and set self->MouseFacts */ for (tmouse = Mice; tmouse->display != xDisplay; tmouse = tmouse->next) \{\} self->MouseFacts = tmouse; \} /* See if have a new file descriptor to select on */ for (i = 0; i < xWindowCtr; i++) \{ if (windowList[i].Xfileno == Xfileno) \{ windowList[i].count += 1; break; \} \} if (i == xWindowCtr) \{ if (numberOfWindowFiles == 0) \{ numberOfWindowFiles = 2; windowList = (struct xwindowfiles *) malloc(2 * sizeof(struct xwindowfiles)); \} else if (xWindowCtr == numberOfWindowFiles) \{ numberOfWindowFiles *= 2; windowList = (struct xwindowfiles *)realloc(windowList, numberOfWindowFiles * sizeof(struct xwindowfiles)); \} windowList[i].Xfileno = Xfileno; windowList[i].count = 1; windowList[i].display = xDisplay; windowList[i].host = xhost; xWindowCtr += 1; self->Xfileno = Xfileno; /* new display, establish a top-level window as group leader for WM_COMMAND and so on */ windowList[i].leader = XCreateSimpleWindow (xDisplay, RootWindow(xDisplay, DefaultScreen(xDisplay)), 0, 0, 1, 1, 0, BlackPixel(xDisplay, DefaultScreen(xDisplay)), WhitePixel(xDisplay, DefaultScreen(xDisplay))); \} self->groupLeader = windowList[i].leader; /* Include all window header information */ SetWMProperties(self, TRUE); /* set size hints ASSUMPTION: if dimensions were set with im_SetDimensions it was done by the program but if set with im_SetGeometrySpec it was by the user The latest ICCCM says that the x,y,width,height values in the hints are ignored, but twm still uses them as of June, 1989. */ if (setDimensions || GeometrySize || GeometryPosition) \{ xsh.flags = PMinSize | PMaxSize | ((GeometrySize) ? USSize : (setDimensions) ? PSize : 0) | ((GeometryPosition) ? USPosition : (setDimensions) ? PPosition : 0); xsh.x = left; xsh.y = top; xsh.width = preferedWidth; xsh.height = preferedHeight; xsh.min_width = (preferedWidth < 91) ? preferedWidth : 91; xsh.min_height = (preferedHeight < 20) ? preferedHeight : 20; xsh.max_width = DisplayWidth(xDisplay, DefaultScreen(xDisplay)); xsh.max_height = DisplayHeight(xDisplay, DefaultScreen(xDisplay)); XSetNormalHints(xDisplay, newWindow, &xsh); \} else \{\} /* no size hints if none set */ xsh.flags = (PSize | PPosition | PMinSize | PMaxSize); xsh.x = 6; xsh.y = 6; xsh.width = DisplayWidth(xDisplay, DefaultScreen(xDisplay)) - 12; xsh.height = DisplayHeight(xDisplay, DefaultScreen(xDisplay)) - 12; xsh.min_width = preferedWidth; xsh.min_height = preferedHeight; xsh.max_width = DisplayWidth(xDisplay, DefaultScreen(xDisplay)); xsh.max_height = DisplayHeight(xDisplay, DefaultScreen(xDisplay)); XSetZoomHints(xDisplay, newWindow, &xsh); point_SetPt(&xim_GetDrawable(self)->physicalOrigin, 0, 0); /* Bring the process cursor situation up to date, i.e., if a process cursor is outstanding, make sure this new window picks it up */ updateGlobalCursors(self); im_SetLastUsed(self); return TRUE; \} boolean xim__CreateWindow (self, host) struct xim *self; char *host; \{ return (xim_PreciseCreateWindow (self, host, 0, 0, -1, -1, -1, -1, -1, 0, 0)); \} }}}}}\enddata{text,1545456} \enddata{text822, 145487} \begindata{text822, 167146} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Fri, 19 Mar 1993 00:03:35 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Fri, 19 Mar 1993 00:01:49 -0500 (EST) Received: from Athena.MIT.EDU (ATHENA-AS-WELL.MIT.EDU) by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew+; Fri, 19 Mar 93 00:01:44 EST Received: from OGLALA.MIT.EDU by Athena.MIT.EDU with SMTP id AA17489; Fri, 19 Mar 93 00:01:39 EST Received: by oglala (5.57/4.7) id AA15467; Fri, 19 Mar 93 00:01:37 -0500 Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.oglala.pmax.ul4 via MS.5.6.oglala.pmax_ul4; Fri, 19 Mar 1993 00:01:37 -0500 (EST) Message-Id: <0feJClQGf047Avhpog@athena.mit.edu> Date: Fri, 19 Mar 1993 00:01:37 -0500 (EST) From: Bill Cattey To: info-andrew+@andrew.cmu.edu Subject: Proposal: doload API change. Cc: vrt@Athena.MIT.EDU There are 28 implementations of doload. I need to squeeze a TINY bit of change into the System V version: dlclose requires a handle on the dlopen'ed object to do its work. There is a routine doload_free that is commented out in all versions. The comments say that there may come a time when it is enabled. How about now? The SunOS 4.1 version of doload creates a bogus chunk of malloc'ed memory to point at through the bp pointer so that class.c and doindex.c can later free it. This same version sets Len to 1. The comments say that losing bp and Len are no big deal. We at MIT made an incompatible version of doload() with a sixth argument which was the handle to pass to dlclose. We enabled doload_free, and passed in the handle. Proposal: 1. replace free(base) /* base gets the bp cookie either containing the base pointer, or bogus crud depending on the platform */ in class.c and doindex.c with doload_free. 2. enable doload_free to call free(bp) on most platforms. 3. on System V platforms, have doload_free call dlclose(bp). RISK: the void *textbase in the classinfo structure, will not always be containing a valid textbase. (This is the PRESENT situation under Sun OS 4.1.) It will, on System V platforms, contain this handle and call it textbase. NAUGHTY! Question: Should classinfo.textbase become a union? Should the doload api change more radically? IE Should there really be a 6th arg to doload, and should this cookie be added to the classinfo struct, and should this cookie be passed in to doload_free? NOTE: If we do add the 6th arg, then the 27 other implementations of doload will additionally have to pass back NULL, and doload_free will perhaps have to take two args, the base (which the System V version and Sun OS 4.1 versions may be able to get away with not creating) and the cookie, which will be either freed, dlclosed, or ignored. Philosophy: Is it better to: continue not to implement doload_free? implement doload_free but not change the args to doload? implement doload_free, and keep the classinfo struct conceptually pure? ---- At this point, the doload_free routine is turning out to be useful only for finding bugs in the Solaris 2 version of dlclose! I may find myself ending up on the side of "don't implement any change". -wdc \enddata{text822, 167146} \begindata{text822, 170750} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 24 Mar 1993 12:00:04 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Wed, 24 Mar 1993 11:55:18 -0500 (EST) Received: from ucbvax.Berkeley.EDU by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Wed, 24 Mar 93 11:55:08 EST Received: by ucbvax.Berkeley.EDU (5.63/1.43) id AA03904; Wed, 24 Mar 93 08:52:58 -0800 Received: from USENET by ucbvax.Berkeley.EDU with netnews for info-andrew@andrew.cmu.edu (info-andrew@andrew.cmu.edu) (contact usenet@ucbvax.Berkeley.EDU if you have questions) Date: 20 Mar 93 01:07:00 GMT From: adobe!usenet@decwrl.dec.com (Zalman Stern) Organization: Adobe Systems Incorporated Subject: Re: Proposal: doload API change. Message-Id: <1993Mar20.010700.25671@adobe.com> References: <0feJClQGf047Avhpog@athena.mit.edu> Sender: info-andrew-request@andrew.cmu.edu To: info-andrew@andrew.cmu.edu Doload should return a single opaque module handle. You should be able to pass this handle to a routine called doload_getinfo which will return info like the starting address and length of that module or an error. (I'd prefer a simple interface that takes a pointer to a structure, but you could do something as hairy as returning attribute-value lists if you wanted to.) You should also be able to pass the handle to doload_free to unload the module. (Note on MIPS like platforms, doload_free could try to free up global pool space if you felt like writing a little code. Not sure if it would be worthwhile though.) The textaddress and length are only used for debugging as I recall. (I.e. to print out text addresses for use in gdb's add-file crud.) In theory they could also be used for profiling but that would probably require other work. One could probably fix all 28 versions of doload in an hour. Its not a major change. Just do it. -- Zalman Stern zalman@adobe.com (415) 962 3824 Adobe Systems, 1585 Charleston Rd., POB 7900, Mountain View, CA 94039-7900 "...And I didn't even need pants!!"--Dilbert on The Net (by Scott Adams) \enddata{text822, 170750} \begindata{text822, 173246} Return-path: X-Andrew-Authenticated-as: 38;andrew.cmu.edu;Susan Straub Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 24 Mar 1993 22:56:44 -0500 (EST) Received: from po2.andrew.cmu.edu via qmail ID ; Wed, 24 Mar 1993 22:56:20 -0500 (EST) If-Type-Unsupported: send Received: from andrew.cmu.edu via qmail ID ; Wed, 24 Mar 1993 22:54:44 -0500 (EST) Received: from sushi.andrew.cmu.edu via qmail ID ; Wed, 24 Mar 1993 22:52:41 -0500 (EST) Received: from sushi.andrew.cmu.edu via qmail ID ; Wed, 24 Mar 1993 22:52:36 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.sushi.andrew.cmu.edu.rt.aos4 via MS.5.6.sushi.andrew.cmu.edu.rt_aos4; Wed, 24 Mar 1993 22:52:25 -0500 (EST) Message-ID: Date: Wed, 24 Mar 1993 22:52:25 -0500 (EST) From: Susan Straub X-Andrew-Message-Size: 2165+1 Content-Type: X-BE2; 12 To: Info-Andrew Subject: Registration Form for Conference \begindata{text,271487328} \textdsversion{12} \template{default} \define{global attr:[FontSize ConstantFontSize Point 12]} \define{itemize menu:[Region~4,Itemize~31] attr:[LeftMargin LeftMargin Inch 32768]} \define{enumerate menu:[Region~4,Enumerate~30] attr:[LeftMargin LeftMargin Inch 32768]} \define{programexample menu:[Region~4,ProgramExample~13] attr:[LeftMargin LeftMargin Inch 32768] attr:[Justification LeftJustified Point 0] attr:[FontFace FixedFace Int Set] attr:[FontFamily AndyType Int 0]} \define{excerptedcaption attr:[LeftMargin LeftMargin Inch 32768] attr:[RightMargin RightMargin Inch 32768] attr:[FontFace Bold Int Set] attr:[FontFace Italic Int Set]} \define{literal menu:[Region~4,Literal~62] attr:[Flags PassThru Int Set]} \define{black menu:[Color,Black] attr:['color' 'Black']} \define{red menu:[Color,Red] attr:['color' 'Red']} \define{green menu:[Color,Green] attr:['color' 'Green']} \define{blue menu:[Color,Blue] attr:['color' 'Blue']} \define{magenta menu:[Color,Magenta] attr:['color' 'Magenta']} \define{cyan menu:[Color,Cyan] attr:['color' 'Cyan']} \define{yellow menu:[Color,Yellow] attr:['color' 'Yellow']} \center{\italic{\bold{\bigger{ Registration Information }} } \bold{\bigger{1993 Andrew Tutorial and Technical Conference }}} \bold{When: } \indent{Thursday and Friday, June 24 and 25, 1993 } \bold{Where:} \indent{ Carnegie Mellon University in Pittsburgh, Pennsylvania. } \bold{Sponsor:}\indent{ Andrew Consortium of CMU's School of Computer Science. } \bold{Schedule:} \indent{The Tutorial will be held on Thursday, followed by dinner and the Annual Meeting. The Conference proper will be on Friday. All Conference attendees are welcome at the Annual Meeting. } \indent{\italic{Wednesday, June 23 } \indent{Check-in: After 4:00 PM Informal Reception: 7:30 PM } \italic{Thursday, June 24} \indent{Tutorial: 9:00 AM - 5:00 PM Check-in: After 4:00 PM Conference Dinner: 6:30 PM Annual Meeting: 8:00 PM } \italic{Friday, June 25} \indent{ }\indent{Technical Conference: 9:00 AM - 5:00 PM } }\bold{Cost:} \leftindent{ Tutorial fee \italic{includes breaks, lunch and tutorial materials}: $100 Conference fee \italic{includes conference dinner, breaks and proceedings: }$100 Rooms \italic{in student housing: } $50 / night } Housing is tight around the campus area, so please register soon. If you prefer to stay in off-campus housing, please contact us for suggestions. Mary Anne Cowden will be handling registration. You can contact her by email, mc8b+@andrew.cmu.edu, or by phone, (412) 268-6710. \begindata{bp,271664928} \enddata{bp,271664928} \view{bpv,271664928,1,0,0} Please complete the attached form and return it to: Mary Anne Cowden Andrew Consortium Technical Conference Carnegie Mellon University Smith Hall 106 5000 Forbes Avenue Pittsburgh, PA 15213-3890 <- cut along here -> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \italic{\center{\bold{\bigger{Registration Form}}}} Name: ______________________________________________ Address: ______________________________________________ ______________________________________________ Organization: ______________________________________________ Email: ______________________________________________ Phone: ______________________________________________ Tutorial $ ___________ $100 Conference $ ___________ $100 Housing $ ___________ $50/night TOTAL ENCLOSED $ ___________ \center{\italic{Please make checks payable to Carnegie Mellon University. }} \enddata{text,271487328} \enddata{text822, 173246} \begindata{text822, 178596} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 25 Mar 1993 03:11:36 -0500 (EST) Received: from po2.andrew.cmu.edu via qmail ID ; Thu, 25 Mar 1993 03:10:26 -0500 (EST) Received: from alpha.xerox.com by po2.andrew.cmu.edu (5.54/3.15) id for info-andrew; Thu, 25 Mar 93 03:10:18 EST Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <11549>; Thu, 25 Mar 1993 00:06:43 PST Received: by holmes.parc.xerox.com id <16134>; Thu, 25 Mar 1993 00:06:31 -0800 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.holmes.parc.xerox.com.sun4.41 via MS.5.6.holmes.parc.xerox.com.sun4_41; Thu, 25 Mar 1993 00:06:21 -0800 (PST) Message-Id: Date: Thu, 25 Mar 1993 00:06:21 PST Sender: Bill Janssen From: Bill Janssen X-Andrew-Message-Size: 993+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send Reply-To: hammer.wbst129@xerox.com To: info-andrew@andrew.cmu.edu Subject: Andrew question on SunOS Cc: hammer.wbst129@xerox.com \begindata{text,1817792} \textdsversion{12} \template{messages} Can anyone help this fledgling Android? \quotation{I am into the make and most everything is going okay until things get into the src/runtime directory. In here, something calls $ANDREWDIR/bin/doindex. This returns with the following error: doindex: indexing xxx.do ... dlopen: stub interception failed This causes a core dump and the make Fatal errors and quits. Running make again causes it to skip the doindex on this file (xxx.do exists, so make assumes that it is done with that file and moves on to the next one. I have read the man pages on dlopen, and understand that no more. I have no docs on Andrew (save README and INSTALL) and this is the first time I have used it. I tried ...andrew/bin/help but got the dlopen error here also! It may be that I really haven't "installed" andrew, I simply mounted a filesystem off the net that had it. I don't know what it would take to mount it locally, } \quotation{uname gives the following info: hardware: sun4c OS release: 4.1.1 OS version: 3 } Bill \enddata{text,1817792} \enddata{text822, 178596} \begindata{text822, 181226} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po5.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Thu, 25 Mar 1993 08:50:53 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Thu, 25 Mar 1993 08:49:55 -0500 (EST) Received: from research.att.com by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Thu, 25 Mar 93 08:49:35 EST Received: by inet; Thu Mar 25 08:47 EST 1993 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.fugue.sun4.41 via MS.5.6.fugue.sun4_41; Thu, 25 Mar 1993 08:46:59 -0500 (EST) Message-Id: Date: Thu, 25 Mar 1993 08:46:59 -0500 (EST) From: Chip Christian X-Andrew-Message-Size: 1184+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: info-andrew@andrew.cmu.edu, hammer.wbst129@xerox.com Subject: Re: Andrew question on SunOS Cc: hammer.wbst129@xerox.com In-Reply-To: References: \begindata{text,1525776} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from andrew: 25-Mar-93 Andrew question on SunOS Bill Janssen@parc.xerox. (993+0)} \quotation{Can anyone help this fledgling Android? } \quotation{\quotation{I am into the make and most everything is going okay until things get into }\quotation{the src/runtime directory. In here, something calls $ANDREWDIR/bin/doindex. }\quotation{This returns with the following error: } \quotation{ doindex: indexing xxx.do ... dlopen: stub interception failed } \quotation{This causes a core dump and the make Fatal errors and quits. Running make }\quotation{again causes it to skip the doindex on this file (xxx.do exists, so make }\quotation{assumes that it is done with that file and moves on to the next one. } \quotation{I have read the man pages on dlopen, and understand that no more. I have no }\quotation{docs on Andrew (save README and INSTALL) and this is the first time I have }\quotation{used it. I tried ...andrew/bin/help but got the dlopen error here also! It }\quotation{may be that I really haven't "installed" andrew, I simply mounted a filesystem }\quotation{off the net that had it. I don't know what it would take to mount it locally, }} \quotation{\quotation{uname gives the following info: } \quotation{ hardware: sun4c }\quotation{ OS release: 4.1.1 }\quotation{ OS version: 3 }} \quotation{Bill } I've seen that error when someone's got /lib ahead (instead) of /usr/lib in their LD_LIBRARY_PATH.\ \enddata{text,1525776} \enddata{text822, 181226} \begindata{text822, 184162} Return-path: X-Andrew-Authenticated-as: 23052;andrew.cmu.edu;Daniel C. Wang Received: from unix8.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Mon, 29 Mar 1993 00:55:33 -0500 (EST) Received: from unix8.andrew.cmu.edu via qmail ID ; Mon, 29 Mar 1993 00:50:50 -0500 (EST) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.unix8.andrew.cmu.edu.pmax.ul4 via MS.5.6.unix8.andrew.cmu.edu.pmax_ul4; Mon, 29 Mar 1993 00:50:49 -0500 (EST) Message-ID: Date: Mon, 29 Mar 1993 00:50:49 -0500 (EST) From: "Daniel C. Wang" To: Info-Andrew Subject: EZ -> TeX Just wondering but has anyone though of comming up with an EZ -> TeX filter. This I think would be a great asset, since TeX hackers can do their basic editing with EZ and not have to worry about matching delimiters, and take the general tedium of having to type all the \begin{foo} \end{foo}, and making sure things match. Afterwards if you don't like the way it looks you can take the TeX code and fiddle with it yourself. The raw data stream of ATK is very TeX like, so I guess the developers of EZ had TeX on their mind. I notice a lot of the EZ commands do have their TeX counter parts. Perhaps a Scrtxt could be used to create a new TeX inset that would correctly parse some baisc TeX commands like {\tt } and {\bf } and do the right thing. \enddata{text822, 184162} \begindata{text822, 185924} Return-path: X-Andrew-Authenticated-as: 602;andrew.cmu.edu;Adam Stoller Received: from commander.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Mon, 29 Mar 1993 08:53:11 -0500 (EST) If-Type-Unsupported: send Received: from commander.itc.cmu.edu via qmail ID ; Mon, 29 Mar 1993 08:48:55 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.commander.itc.cmu.edu.rs.aix31 via MS.5.6.commander.itc.cmu.edu.rs_aix31; Mon, 29 Mar 1993 08:48:54 -0500 (EST) Message-ID: Date: Mon, 29 Mar 1993 08:48:54 -0500 (EST) From: Adam Stoller X-Andrew-Message-Size: 435+0 Content-Type: X-BE2; 12 To: Info-Andrew Subject: Re: EZ -> TeX In-Reply-To: References: \begindata{text,539223172} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from internet.other.info-andrew: 29-Mar-93 EZ -> TeX Daniel C. Wang (752)} \quotation{The raw data stream of ATK is very TeX like, so I guess the developers of EZ had TeX on their mind. } buzzzzzzzzz - Thanks for playing, but I'm afraid you're wrong. :-) The raw data stream of ATK originated from the datastream for SCRIBE - (which uses things like @begin(environment), @b(word), etc.). Its resemblence to TeX is coincidental. --fish \enddata{text,539223172} \enddata{text822, 185924} \begindata{text822, 187673} Return-path: X-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail Received: from po4.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 31 Mar 1993 03:44:21 -0500 (EST) Received: from po5.andrew.cmu.edu via qmail ID ; Wed, 31 Mar 1993 03:37:45 -0500 (EST) ReSent-Message-ID: Received: from neptun.kapsch.co.at ([148.198.8.4]) by po5.andrew.cmu.edu (5.54/3.15) id for info-andrew; Wed, 31 Mar 93 03:37:14 EST Return-Path: @neptun.kapsch.co.at:fodatec@harare.kapsch.co.at Resent-Date: Wed, 31 Mar 1993 10:37 UT Received: from harare.kapsch.co.at [148.198.10.5] by neptun.kapsch.co.at with SMTP-VMS via TCP/IP; Wed, 31 Mar 1993 10:36 UT Received: by harare.kapsch.co.at (4.1/SMI-4.1) id AA11887; Wed, 31 Mar 93 10:36:06 +0200 Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.harare.kapsch.co.at.sun4.41 via MS.5.6.harare.kapsch.co.at.sun4_41; Wed, 31 Mar 1993 10:36:06 +0200 (MET DST) Message-Id: Date: Wed, 31 Mar 1993 10:36:06 +0200 (MET DST) From: Fodatec Project To: info-andrew@andrew.cmu.edu Subject: data sharing between instances We found out, that global variables are shared between all instances of a class. This can lead to unpredictable errors when eg. two windows of the same application run. We suppose that variables declaired locally and static in a function behave the same way. Is this true? When yes, where is the difference to local variables not declaired static? Christian.Sodomka@kapsch.co.at \enddata{text822, 187673} \begindata{text822, 189606} Return-path: X-Andrew-Authenticated-as: 5904;andrew.cmu.edu;Robert Andrew Ryan Received: from atk.itc.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl) ID ; Wed, 31 Mar 1993 11:44:26 -0500 (EST) Received: from atk.itc.cmu.edu via qmail ID ; Wed, 31 Mar 1993 11:43:03 -0500 (EST) Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.atk.itc.cmu.edu.rs.aix31 via MS.5.6.atk.itc.cmu.edu.rs_aix31; Wed, 31 Mar 1993 11:43:02 -0500 (EST) Message-ID: Date: Wed, 31 Mar 1993 11:43:02 -0500 (EST) From: Robert Andrew Ryan X-Andrew-Message-Size: 1427+0 Content-Type: X-BE2; 12 If-Type-Unsupported: send To: Info-Andrew Subject: Re: data sharing between instances CC: bb+org.itc.atk.ia-trail@andrew.cmu.edu In-Reply-To: References: \begindata{text,539277280} \textdsversion{12} \template{messages} \excerptedcaption{Excerpts from internet.other.info-andrew: 31-Mar-93 data sharing between instances Fodatec Project@harare.k (381)} \quotation{We found out, that global variables are shared between all instances of a class. This can lead to unpredictable errors when eg. two windows of the same application run. } The only data that is kept on a per-instance basis is the data listed in the class itself. Data declared in C files is kept per-process. Is this not what you're seeing? The code for a class is dynamically loaded only once, so there can be only one copy of any data declared there. \excerptedcaption{Excerpts from internet.other.info-andrew: 31-Mar-93 data sharing between instances Fodatec Project@harare.k (381)} \quotation{We suppose that variables declaired locally and static in a function }\quotation{behave the same way. }\quotation{Is this true? }\quotation{When yes, where is the difference to local variables not declaired static? } Yes, the only distinction between global and static variables in a .c file for a class is whether other .c files for the same class can see the variable. Also, if you link the class statically (ie into runapp) any other statically linked classes could refer to global data in it. In general it is best to declare data which doesn't need to be referenced in other source files as static. Data which does need to be referenced elsewhere should have a reasonably unique name. (for example ClassNameVarName, or ClassName_VarName.) -Rob Ryan Andrew Consortium \enddata{text,539277280} \enddata{text822, 189606}