\begindata{text822, 0}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/cftI:M200Udb4gS042>;
          Mon,  3 May 1993 12:04:40 -0400 (EDT)
Received: from andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.UftI91W00UdZQQA055>;
          Mon,  3 May 1993 12:03:31 -0400 (EDT)
If-Type-Unsupported: send
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q001/QF.UftI3tK00UdbQf6U52>;
          Mon,  3 May 1993 11:57:47 -0400 (EDT)
Received: from thumper.bellcore.com by po3.andrew.cmu.edu (5.54/3.15) id <AA11007@X> for info-andrew+; Mon, 3 May 93 11:57:20 EDT
Received: from greenbush.bellcore.com by thumper.bellcore.com (4.1/4.7)
	id <AA08653> for info-andrew+@andrew.cmu.edu; Mon, 3 May 93 11:57:15 EDT
Received: by greenbush.bellcore.com (4.1/4.7)
	id <AA13430> for info-andrew+@andrew.cmu.edu; Mon, 3 May 93 11:57:27 EDT
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.greenbush.galaxy.sun4.41
          via MS.5.6.greenbush.galaxy.sun4_41;
          Mon,  3 May 1993 11:57:26 -0400 (EDT)
Message-Id: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
Date: Mon,  3 May 1993 11:57:26 -0400 (EDT)
From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
To: info-andrew+@andrew.cmu.edu
Subject: Andrew oddity

Why is it that when I tell twm to redisplay all windows (f.refresh) all
the windows EXCEPT the Andrew windows get redrawn, but I have to
explicitly type ^L to each Andrew window?  -- Nathaniel
\enddata{text822, 0}
\begindata{text822, 1819}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/8ftJvcW00Woi1PJE9D>;
          Mon,  3 May 1993 14:05:29 -0400 (EDT)
Received: from atk.itc.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr20/rr2b/.Outgoing/QF.oftJuDi00WoiFBhUcc>;
          Mon,  3 May 1993 14:04:00 -0400 (EDT)
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;
          Mon,  3 May 1993 14:03:59 -0400 (EDT)
Message-ID: <4ftJuD_00WoiFBhUVr@andrew.cmu.edu>
Date: Mon,  3 May 1993 14:03:59 -0400 (EDT)
From: Robert Andrew Ryan <rr2b+@andrew.cmu.edu>
X-Andrew-Message-Size: 632+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: Andrew oddity
In-Reply-To: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
References: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>

\begindata{text,538773440}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from internet.other.info-andrew: 3-May-93 Andrew 
oddity Nathaniel Borenstein@thu (193*)}


\quotation{Why is it that when I tell twm to redisplay all windows 
(f.refresh) all the windows EXCEPT the Andrew windows get redrawn, but I 
have to explicitly type ^L to each Andrew window?  -- Nathaniel

}
It's because ATK uses backing store.  Alas, few if any window managers 
bother to really make sure the windows redraw.  (Say by sending an expose 
event to all the windows.)   You could try turning off backing store with 
the preference *.UseBackingStore: no.  (I don't recommend it though, text 
redraw is fairly painful for example...)


-Rob

\enddata{text,538773440}

\enddata{text822, 1819}
\begindata{text822, 3766}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/wftJzDu00hYtMujU8n>;
          Mon,  3 May 1993 14:09:20 -0400 (EDT)
Received: from carnot.itc.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr3/dba/.Outgoing/QF.oftJwrq00hYtQQ80hC>;
          Mon,  3 May 1993 14:06:48 -0400 (EDT)
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;
          Mon,  3 May 1993 14:06:45 -0400 (EDT)
Message-ID: <0ftJwpG00hYtAQ80Vh@andrew.cmu.edu>
Date: Mon,  3 May 1993 14:06:45 -0400 (EDT)
From: David Anderson <dba+@andrew.cmu.edu>
X-Andrew-Message-Size: 400+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Nathaniel Borenstein <nsb@thumper.bellcore.com>
Subject: Re: Andrew oddity
CC: Info-Andrew <info-andrew+@andrew.cmu.edu>
In-Reply-To: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
References: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>

\begindata{text,539520524}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from internet.other.info-andrew: 3-May-93 Andrew 
oddity Nathaniel Borenstein@thu (193*)}


\quotation{Why is it that when I tell twm to redisplay all windows 
(f.refresh) all

}\quotation{the windows EXCEPT the Andrew windows get redrawn, but I have 
to

}\quotation{explicitly type ^L to each Andrew window?  -- Nathaniel

}
Because ATK applications use backing store (and twm doesn't force such apps 
to redraw themselves).


--david

\enddata{text,539520524}

\enddata{text822, 3766}
\begindata{text822, 5557}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/IftKksS00UdaEcI056>;
          Mon,  3 May 1993 15:02:16 -0400 (EDT)
Received: from andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q001/QF.AftKj5C00UdZMhjE5b>;
          Mon,  3 May 1993 15:00:21 -0400 (EDT)
If-Type-Unsupported: send
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q003/QF.8ftKhgq00Udb5EqE4d>;
          Mon,  3 May 1993 14:59:02 -0400 (EDT)
Received: from thumper.bellcore.com by po3.andrew.cmu.edu (5.54/3.15) id <AA20681@X> for info-andrew+; Mon, 3 May 93 14:58:30 EDT
Received: from guppylake (guppylake.bellcore.com) by thumper.bellcore.com (4.1/4.7)
	id <AA24428> for dba+@andrew.cmu.edu; Mon, 3 May 93 14:58:23 EDT
Received: by guppylake (4.1/4.7)
	id <AA02692> for info-andrew+@andrew.cmu.edu; Mon, 3 May 93 14:58:54 EDT
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.guppylake.noname.sun4.41
          via MS.5.6.guppylake.noname.sun4_41;
          Mon,  3 May 1993 14:58:53 -0400 (EDT)
Message-Id: <MftKhhe0aG42Q9k8VM@thumper.bellcore.com>
Date: Mon,  3 May 1993 14:58:53 -0400 (EDT)
From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
X-Andrew-Message-Size: 450+0
Mime-Version: 1.0
Content-Type: text/richtext; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
To: David Anderson <dba+@andrew.cmu.edu>
Subject: Re: Andrew oddity
Cc: Info-Andrew <info-andrew+@andrew.cmu.edu>
In-Reply-To: <0ftJwpG00hYtAQ80Vh@andrew.cmu.edu>
References: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
	<0ftJwpG00hYtAQ80Vh@andrew.cmu.edu>

<bold><excerpt>Excerpts from mail: 3-May-93 Re: Andrew oddity David Anderson@a=
ndrew.cm (400+0)</excerpt></bold><nl>
<nl>
<excerpt>Because ATK applications use backing store (and twm doesn't force suc=
h apps to redraw themselves).<nl>
</excerpt><nl>
OK, that's a good answer, up to a point.  Now it sounds like a twm bug rather =
than an Andrew bug.  Why doesn't twm do this?  The fact that they're using bac=
king store doesn't mean they can't ever get their display clobbered, e.g. by a=
 console message....  -- Nathaniel<nl>
\enddata{text822, 5557}
\begindata{text822, 7986}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/MftLGni00hYt8qo04I>;
          Mon,  3 May 1993 15:38:28 -0400 (EDT)
If-Type-Unsupported: send
Received: from carnot.itc.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr3/dba/.Outgoing/QF.cftLFNa00hYtIQ83dC>;
          Mon,  3 May 1993 15:36:58 -0400 (EDT)
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;
          Mon,  3 May 1993 15:36:54 -0400 (EDT)
Message-ID: <YftLFKO00hYt4Q83Rq@andrew.cmu.edu>
Date: Mon,  3 May 1993 15:36:54 -0400 (EDT)
From: David Anderson <dba+@andrew.cmu.edu>
X-Andrew-Message-Size: 1004+0
Content-Type: X-BE2; 12
To: Nathaniel Borenstein <nsb@thumper.bellcore.com>
Subject: Re: Andrew oddity
CC: Info-Andrew <info-andrew+@andrew.cmu.edu>
In-Reply-To: <MftKhhe0aG42Q9k8VM@thumper.bellcore.com>
References: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
	<0ftJwpG00hYtAQ80Vh@andrew.cmu.edu>
	<MftKhhe0aG42Q9k8VM@thumper.bellcore.com>

\begindata{text,539520524}
\textdsversion{12}
\template{messages}
What twm effectively does is to mark every window as damaged, in a way that 
causes the X server to refresh them from backing store (if any), or to 
redraw them (if not). You're right: this doesn't always clean up the 
display because in some cases the spooj finds its way into the backing 
store. The reason twm hasn't been fixed is probably because backing store 
is only very rarely used -- this is another one of those cases where ATK is 
an oddball (but for good reasons).


(BTW, whether or not console messages screw up the backing store depends on 
the implementation. Whizzy servers don't back up all/any of the uncovered 
pixels until they become covered, which does allow console messages to wind 
up in the backing store -- but I'm not sure that all servers use this 
optimization. I remember a time when completely uncovered windows had no 
off-screen buffer, but once they were the least bit obscured they went to 
full off-screen buffering. I've since lost track of what the MIT server 
does.)


--david

\enddata{text,539520524}

\enddata{text822, 7986}
\begindata{text822, 10413}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/0ftLYiG00UdZMnCU5=>;
          Mon,  3 May 1993 15:57:36 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q001/QF.MftLXn200UdbRQ004d>;
          Mon,  3 May 1993 15:56:40 -0400 (EDT)
If-Type-Unsupported: send
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.YftLSeq00UdbBOxU4V>;
          Mon,  3 May 1993 15:51:07 -0400 (EDT)
Received: from thumper.bellcore.com by po3.andrew.cmu.edu (5.54/3.15) id <AA23262@X> for info-andrew+; Mon, 3 May 93 15:50:42 EDT
Received: from guppylake (guppylake.bellcore.com) by thumper.bellcore.com (4.1/4.7)
	id <AA01166> for dba+@andrew.cmu.edu; Mon, 3 May 93 15:50:33 EDT
Received: by guppylake (4.1/4.7)
	id <AA02742> for info-andrew+@andrew.cmu.edu; Mon, 3 May 93 15:51:04 EDT
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.guppylake.noname.sun4.41
          via MS.5.6.guppylake.noname.sun4_41;
          Mon,  3 May 1993 15:51:03 -0400 (EDT)
Message-Id: <oftLSbS0aG4289kC0V@thumper.bellcore.com>
Date: Mon,  3 May 1993 15:51:03 -0400 (EDT)
From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
To: David Anderson <dba+@andrew.cmu.edu>
Subject: Re: Andrew oddity
Cc: Info-Andrew <info-andrew+@andrew.cmu.edu>
In-Reply-To: <YftLFKO00hYt4Q83Rq@andrew.cmu.edu>
References: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
	<0ftJwpG00hYtAQ80Vh@andrew.cmu.edu>
	<MftKhhe0aG42Q9k8VM@thumper.bellcore.com>
	<YftLFKO00hYt4Q83Rq@andrew.cmu.edu>

Sigh.  Sounds like there's no easy fix.  Oh, well....

Or is there a way to turn off the use of backing store, perchance?

\enddata{text822, 10413}
\begindata{text822, 12440}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/MftLrvC00hYtAsrU98>;
          Mon,  3 May 1993 16:18:03 -0400 (EDT)
Received: from carnot.itc.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr3/dba/.Outgoing/QF.cftLqiu00hYt8Q84x9>;
          Mon,  3 May 1993 16:16:47 -0400 (EDT)
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;
          Mon,  3 May 1993 16:16:44 -0400 (EDT)
Message-ID: <kftLqgO00hYtAQ84ki@andrew.cmu.edu>
Date: Mon,  3 May 1993 16:16:44 -0400 (EDT)
From: David Anderson <dba+@andrew.cmu.edu>
X-Andrew-Message-Size: 112+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Nathaniel Borenstein <nsb@thumper.bellcore.com>
Subject: Re: Andrew oddity
CC: Info-Andrew <info-andrew+@andrew.cmu.edu>
In-Reply-To: <oftLSbS0aG4289kC0V@thumper.bellcore.com>
References: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
	<0ftJwpG00hYtAQ80Vh@andrew.cmu.edu>
	<MftKhhe0aG42Q9k8VM@thumper.bellcore.com>
	<YftLFKO00hYt4Q83Rq@andrew.cmu.edu>
	<oftLSbS0aG4289kC0V@thumper.bellcore.com>

\begindata{text,539520524}
\textdsversion{12}
\template{messages}
\indent{\italic{Or is there a way to turn off the use of backing store, 
perchance?

}}
Of course!


	*.usebackingstore: no


--david

\enddata{text,539520524}

\enddata{text822, 12440}
\begindata{text822, 14063}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/wftQGda00Udd1o0048>;
          Mon,  3 May 1993 21:19:37 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q000/QF.YftQDLC00Udb8Ghk5k>;
          Mon,  3 May 1993 21:16:07 -0400 (EDT)
Received: from alpha.xerox.com by po3.andrew.cmu.edu (5.54/3.15) id <AA04786@X> for info-andrew+; Mon, 3 May 93 21:15:59 EDT
Received: from holmes.parc.xerox.com ([13.1.100.162]) by alpha.xerox.com with SMTP id <11651>; Mon, 3 May 1993 18:15:38 PDT
Received: by holmes.parc.xerox.com id <16134>; Mon, 3 May 1993 18:15:29 -0700
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;
          Mon,  3 May 1993 18:15:21 -0700 (PDT)
Message-Id: <sftQCdIB0KGW43jG9z@holmes.parc.xerox.com>
Date: 	Mon, 3 May 1993 18:15:21 PDT
Sender: Bill Janssen <janssen@parc.xerox.com>
From: Bill Janssen <janssen@parc.xerox.com>
To: David Anderson <dba+@andrew.cmu.edu>,
        Nathaniel Borenstein <nsb@thumper.bellcore.com>
Subject: Re: Andrew oddity
Cc: Info-Andrew <info-andrew+@andrew.cmu.edu>
In-Reply-To: <oftLSbS0aG4289kC0V@thumper.bellcore.com>
References: <cftI3aO0M2Yt4oEXUX@thumper.bellcore.com>
	<0ftJwpG00hYtAQ80Vh@andrew.cmu.edu>
	<MftKhhe0aG42Q9k8VM@thumper.bellcore.com>
	<YftLFKO00hYt4Q83Rq@andrew.cmu.edu>
	<oftLSbS0aG4289kC0V@thumper.bellcore.com>

Excerpts from ext.andrew: 3-May-93 Re: Andrew oddity Nathaniel
Borenstein@thu (124*)

> Sigh.  Sounds like there's no easy fix.  Oh, well....

> Or is there a way to turn off the use of backing store, perchance?

Wouldn't it be nicer to fix twm, and send the changes back to the X
Consortium?  Backing store is pretty nice to reduce context switching...

In X11R5/src/clients/twm/menus.c, there's the following:

        case F_REFRESH:
        {
            XSetWindowAttributes attributes;
            unsigned long valuemask;

            valuemask = (CWBackPixel | CWBackingStore | CWSaveUnder);
            attributes.background_pixel = Scr->Black;
            attributes.backing_store = NotUseful;
            attributes.save_under = False;
            w = XCreateWindow (dpy, Scr->Root, 0, 0,
                               (unsigned int) Scr->MyDisplayWidth,
                               (unsigned int) Scr->MyDisplayHeight,
                               (unsigned int) 0,
                               CopyFromParent, (unsigned int) CopyFromParent,
                               (Visual *) CopyFromParent, valuemask,
                               &attributes);
            XMapWindow (dpy, w);
            XDestroyWindow (dpy, w);
            XFlush (dpy);
        }
        break;

        case F_WINREFRESH:
        if (DeferExecution(context, func, Scr->SelectCursor))
            return TRUE;

        if (context == C_ICON && tmp_win->icon_w)
            w = XCreateSimpleWindow(dpy, tmp_win->icon_w,
                0, 0, 9999, 9999, 0, Scr->Black, Scr->Black);
        else
            w = XCreateSimpleWindow(dpy, tmp_win->frame,
                0, 0, 9999, 9999, 0, Scr->Black, Scr->Black);

        XMapWindow(dpy, w);
        XDestroyWindow(dpy, w);
        XFlush(dpy);
        break;

Why not change it to do what you want (Rob suggests explicitly sending
an expose event to the client (which may not work with clients like
xterm that don't accept client events, I think, whereas the current
trick of creating, mapping, and unmapping a window over the window to be
refreshed *will* work))?

Bill
\enddata{text822, 14063}
\begindata{text822, 17924}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/kftbMR:00Udb0Hbk5g>;
          Tue,  4 May 1993 09:56:45 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.EftbFGi00UdbQHYE5b>;
          Tue,  4 May 1993 09:49:09 -0400 (EDT)
Received: from chx400.switch.ch by po3.andrew.cmu.edu (5.54/3.15) id <AA04976@X> for info-andrew; Tue, 4 May 93 09:48:39 EDT
X400-Received: by mta chx400.switch.ch in /PRMD=switch/ADMD=arcom/C=CH/;
               Relayed; Tue, 4 May 1993 15:47:50 +0200
X400-Received: by /PRMD=switch/ADMD=arcom/C=ch/; Relayed;
               Tue, 4 May 1993 15:47:23 +0200
X400-Received: by /PRMD=switch/ADMD=arcom/C=ch/; Relayed;
               Tue, 4 May 1993 15:47:06 +0200
Date: Tue, 4 May 1993 15:47:06 +0200
X400-Originator: wilde@komsys.tik.ethz.ch
X400-Recipients: info-andrew@andrew.cmu.edu
X400-Mts-Identifier: [/PRMD=switch/ADMD=arcom/C=ch/;930504154706]
X400-Content-Type: P2-1984 (2)
Content-Identifier: 704
From: Erik Wilde <wilde@komsys.tik.ethz.ch>
Message-Id: <704*/S=wilde/OU=komsys/OU=tik/O=ethz/PRMD=SWITCH/ADMD=ARCOM/C=CH/@MHS>
To: "Andrew Mailing List at CMU" <info-andrew@andrew.cmu.edu>
Subject: Andrew on SPARC

Hello,
I have a problem installing Andrew on SPARC 10 workstations running
SunOS 4.1.3. The installation process successfully completed, but
every Andrew application that I start dies just after coming up. I
can see the window and text within it (for example, when I start
help, I can see the help text), but just after displaying the text,
the window disappears. Any suggestions or help? Thanks in advance,

Erik Wilde (wilde@tik.ethz.ch)
  Swiss Federal Institute of Technology   (ETH Zuerich)
  Laboratory of Computer Engineering and Networks (TIK)
  ETH-Zentrum, ETZ G61.2, CH - 8092 Zuerich
  Phone: +41-1-254-7009  Fax: +41-1-251-2504
\enddata{text822, 17924}
\begindata{text822, 20085}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/YfuYDMS00Udb43Ik96>;
          Fri,  7 May 1993 07:11:20 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.4fuYD:600UdbM3IU4F>;
          Fri,  7 May 1993 07:11:08 -0400 (EDT)
ReSent-Message-ID: <Added.wfuYD9i00Udb43IE9O@andrew.cmu.edu>
Received: from neptun.kapsch.co.at by po3.andrew.cmu.edu (5.54/3.15) id <AA00845@X> for info-andrew+; Fri, 7 May 93 07:10:53 EDT
Return-Path:   @neptun.kapsch.co.at:fodatec@harare.kapsch.co.at
Resent-Date:   Fri, 7 May 1993 13:10 +0200
Received: from harare.kapsch.co.at [148.198.10.5] by neptun.kapsch.co.at
           with SMTP-OpenVMS via TCP/IP; Fri, 7 May 1993 13:10 +0200
Received: by harare.kapsch.co.at (4.1/SMI-4.1)
	id AA02327; Fri, 7 May 93 13:09:42 +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;
          Fri,  7 May 1993 13:09:41 +0200 (MET DST)
Message-Id: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
Date: Fri,  7 May 1993 13:09:41 +0200 (MET DST)
From: Fodatec Project <fodatec@harare.kapsch.co.at>
X-Andrew-Message-Size: 1120+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: info-andrew+@andrew.cmu.edu
Subject: C++ Converters

\begindata{text,1495960}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from info-andrew: 30-Apr-93 The Andrew View V. 2 
No. 1 Wilfred.Hansen@cs.cmu.ed (36375+1)}


\quotation{At present the Consortium staff is working full time on conversion 
of the source code to C++.

}
I hope the C++ feature 'private' is not used in the ATK conversion to C++. C++ 
'private' is questionable from OO point of view. It limits reusability of a 
class, since private features are not inherited. One of the reasons why you 
often cannot subclass an ATK class, is because there is no override access to 
things in .c file of the superior class. You achieve the same if you use 
'private' in C++. 


Another issue, *\bold{all}* features should be virtual in OO environment to 
enable dynamic binding.

\quotation{Other class procedures are made static...

}What is the reason of making some class procedures not virtual ?


It is truism to say that C++ only will not make any system object oriented 
(this is even not easy with C++). So beware of losing the possibility to make 
ATK truly object oriented. This is probably the only and last chance for the 
toolkit to become so.


Good luck with the conversion!


-Kazio Zielinski

fodatec@kapsch.co.at\
\enddata{text,1495960}

\enddata{text822, 20085}
\begindata{text822, 22971}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/IfubaIa00Uda8E9k8x>;
          Fri,  7 May 1993 11:00:36 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q001/QF.0fubZeC00UdbEP=05A>;
          Fri,  7 May 1993 10:59:57 -0400 (EDT)
Received: from vnet.IBM.COM by po3.andrew.cmu.edu (5.54/3.15) id <AA06924@X> for info-andrew+; Fri, 7 May 93 10:59:34 EDT
Received: from RCHLAND by vnet.IBM.COM (IBM VM SMTP V2R2) with BSMTP id 5678;
   Fri, 07 May 93 10:58:25 EDT
Reply-To: "Blair Wyman" <wyman@vnet.IBM.COM>
Received: by po1 (AIX 3.2/UCB 5.64/4.7) id <AA20245> for info-andrew+@andrew.cmu.edu; Fri, 7 May 1993 09:58:07 -0500
Received: via switchmail; Fri,  7 May 1993 09:58:06 -0500 (CDT)
Received: from julia.rchland.ibm.com via qmail
          ID </afs/rchland.ibm.com/service/mailqs/q000/QF.8fubXmk91JR:0iS09z>;
          Fri,  7 May 1993 09:57:55 -0500 (CDT)
Received: from julia.rchland.ibm.com via qmail
          ID </afs/rchland.ibm.com/usr1/blair/.Outgoing/QF.IfubXlo91JR:14pQEp>;
          Fri,  7 May 1993 09:57:53 -0500 (CDT)
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.julia.rchland.ibm.com.rs.aix32
          via MS.5.6.julia.rchland.ibm.com.rs_aix32;
          Fri,  7 May 1993 09:57:53 -0500 (CDT)
Message-Id: <AfubXlI91JR_14pQ4p@rchland.ibm.com>
Date: Fri,  7 May 1993 09:57:53 -0500 (CDT)
From: Blair Wyman <blair+@rchland.ibm.com>
X-Andrew-Message-Size: 1317+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: info-andrew+@andrew.cmu.edu
Subject: Re: C++ Converters
In-Reply-To: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>

\begindata{text,539449600}
\textdsversion{12}
\template{messages}
\define{global
}
\excerptedcaption{Excerpts from ext.misc.info-andrew: 7-May-93 C++
Converters Fodatec Project@harare.k (1120+0)}


\quotation{I hope the C++ feature 'private' is not used in the ATK
conversion to C++. C++ 'private' is questionable from OO point of view. It
limits reusability of a class, since private features are not inherited.
One of the reasons why you often cannot subclass an ATK class, is because
there is no override access to things in .c file of the superior class. You
achieve the same if you use 'private' in C++.

}
\quotation{Another issue, *\bold{all}* features should be virtual in OO
environment to enable dynamic binding.

}
Wow, this user's Smalltalk heritage comes shining through...  I sincerely
hope that \bold{all} the relevant features of C++ are used where
appropriate -- \bold{private} included.  I just completed 6 weeks of the
best C++ instruction on the planet, I wouldn't try to do C++ without\bold{
private }or static procedure binding.


With the decision to go with C++ come all of its attendant advantages and
shortcomings -- but C++ makes a crummy Smalltalk.  As someone once said
\quotation{"I knew Smalltalk personally, and C++ --\bold{ you're no
Smalltalk}"}


Just my $0.02 worth.


\typewriter{\smaller{  ___   _             Blair Wyman      TieLine:
 553-2891

 ( /_)  /  _  ' _     IBM Rochester    Internet: wyman@vnet.ibm.com

__/__)_/_<_/_/_/_'    RCHLAND(BLAIR)   BITNET:   wyman@vnet

}}\enddata{text,539449600}

\enddata{text822, 22971}
\begindata{text822, 26493}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/wfuc8om00Woi9eJE8d>;
          Fri,  7 May 1993 11:37:25 -0400 (EDT)
Received: from atk.itc.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr20/rr2b/.Outgoing/QF.ofuc6ZS00WoiBYokoI>;
          Fri,  7 May 1993 11:35:03 -0400 (EDT)
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;
          Fri,  7 May 1993 11:35:00 -0400 (EDT)
Message-ID: <8fuc6YK00Woi1Yokg4@andrew.cmu.edu>
Date: Fri,  7 May 1993 11:35:00 -0400 (EDT)
From: Robert Andrew Ryan <rr2b+@andrew.cmu.edu>
X-Andrew-Message-Size: 2831+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: C++ Converters
In-Reply-To: <AfubXlI91JR_14pQ4p@rchland.ibm.com>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<AfubXlI91JR_14pQ4p@rchland.ibm.com>

\begindata{text,538919952}
\textdsversion{12}
\template{messages}
\define{bold
menu:[Font~1,Bold~10]
attr:[FontFace Bold Int Set]}
\define{quotation
menu:[Region~4,Quotation~10]
attr:[LeftMargin LeftMargin Inch 32768]
attr:[RightMargin RightMargin Inch 32768]
attr:[FontFace Italic Int Set]}
\excerptedcaption{Excerpts from internet.other.info-andrew: 7-May-93 C++ 
Converters Fodatec Project@harare.k (1120+0)}


\quotation{I hope the C++ feature 'private' is not used in the ATK 
conversion to C++. C++ 'private' is questionable from OO point of view.

}
I can't agree here, but private is not being used in the initial port. 
 (For a very practical reason:  there is no practical way to automatically 
decide what should be private.  Or at least I couldn't think of one...)


\excerptedcaption{Excerpts from internet.other.info-andrew: 7-May-93 C++ 
Converters Fodatec Project@harare.k (1120+0)}


\quotation{Another issue, *\bold{all}* features should be virtual in OO 
environment to enable dynamic binding.

}
Again, I can't really agree, but all ATK methods are virtual in C++. 
 (except macromethods... Again it would be impratical to auomatically 
decide what can/should be virtual without breaking existing code in the 
conversion.  Enough code breaks in the conversion process anyway. :-( 
 though in general it is compile time breakage.)


\excerptedcaption{Excerpts from internet.other.info-andrew: 7-May-93 C++ 
Converters Fodatec Project@harare.k (1120+0)}


\quotation{\quotation{Other class procedures are made static...

}}\quotation{What is the reason of making some class procedures not virtual 
?

}
The semantics of ATK classprocedures are most closely matched by static 
member functions in C++.  This is because classprocedure don't require an 
object to act on, whereas plain non-static member functions in C++ require 
a 'this' to apply them.  (Note this is a case where the many meanings of 
static may be confusing the issue, the class procedures do NOT have static 
LINKAGE, their linkage is global.)


\excerptedcaption{Excerpts from internet.other.info-andrew: 7-May-93 C++ 
Converters Fodatec Project@harare.k (1120+0)}


\quotation{It is truism to say that C++ only will not make any system 
object oriented (this is even not easy with C++). So beware of losing the 
possibility to make ATK truly object oriented. This is probably the only 
and last chance for the toolkit to become so.

}
You won't find any very large collection of programmers who agree on what 
object oriented programming is....


Our hope is to make ATK a desirable alternative for people wishing to 
delevop GUI programs in an X environment with a C++ API.  (ewww.... 3 
acronyms, I'm sorry...)


To achieve this I believe we need to get the conversion done as quickly as 
possible and get on with enhancing the capabilities and facilities of ATK. 
 (Particularly a re-usable widget set, instead of N widget sets which never 
seem to be quite general enough... and some kind of screen layout manager, 
be it WYSIWYG or not...)


The majority of andrew/atk/* has been converted.  An automatic conversion 
process has been developed, but nevertheless nearly every source file will 
require some hand tweaking.  (If only to avoid !$%$#%^ compiler bugs in g++ 
or cfront.)


-Rob Ryan

C++ Conversion Guru

Andrew Consortium

\enddata{text,538919952}

\enddata{text822, 26493}
\begindata{text822, 31064}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/ofucJ3200WoiBcQ08z>;
          Fri,  7 May 1993 11:50:27 -0400 (EDT)
Received: from atk.itc.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr20/rr2b/.Outgoing/QF.UfucIGu00WoiBYolV5>;
          Fri,  7 May 1993 11:49:39 -0400 (EDT)
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;
          Fri,  7 May 1993 11:49:38 -0400 (EDT)
Message-ID: <8fucIGK00Woi1YolMl@andrew.cmu.edu>
Date: Fri,  7 May 1993 11:49:38 -0400 (EDT)
From: Robert Andrew Ryan <rr2b+@andrew.cmu.edu>
X-Andrew-Message-Size: 869+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: C++ Converters
In-Reply-To: <AfubXlI91JR_14pQ4p@rchland.ibm.com>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<AfubXlI91JR_14pQ4p@rchland.ibm.com>

\begindata{text,538919952}
\textdsversion{12}
\template{messages}
\define{bold
menu:[Font~1,Bold~10]
attr:[FontFace Bold Int Set]}
\excerptedcaption{Excerpts from internet.other.info-andrew: 7-May-93 Re: 
C++ Converters Blair Wyman@rchland.ibm. (1317+0)}


\quotation{ I sincerely hope that \bold{all} the relevant features of C++ 
are used where appropriate -- \bold{private} included. 

}
I agree in principle, however, for existing code I don't think we can 
afford the time it would take to consider each class and decide which 
features it could/should use.  Hopefully as time goes on new classes will 
be written is a more C++ aware fashion.  It should be noted however that in 
order to maintain the widest possible availability ATK should not use 
features that aren't fully supported by common C++ compilers. 
 (Unfortunately I believe this includes cfront 2.1.)  (One particular 
feature whose use I had to back out was class-scoped typedefs...)


Of course what we would like to do would be to start from scratch and write 
ATK in C++ :-)


-Rob



\enddata{text,538919952}

\enddata{text822, 31064}
\begindata{text822, 33366}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/kfvVpwu00UdbAnQk9k>;
          Mon, 10 May 1993 05:16:45 -0400 (EDT)
Received: from po5.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.gfvVpOG00UddJ6BU5e>;
          Mon, 10 May 1993 05:16:12 -0400 (EDT)
ReSent-Message-ID: <Added.MfvVpNq00Udd16BE8R@andrew.cmu.edu>
Received: from neptun.kapsch.co.at by po5.andrew.cmu.edu (5.54/3.15) id <AA17969@X> for info-andrew+; Mon, 10 May 93 05:15:58 EDT
Return-Path:   @neptun.kapsch.co.at:fodatec@harare.kapsch.co.at
Resent-Date:   Mon, 10 May 1993 11:15 +0200
Received: from harare.kapsch.co.at [148.198.10.5] by neptun.kapsch.co.at
           with SMTP-OpenVMS via TCP/IP; Mon, 10 May 1993 11:15 +0200
Received: by harare.kapsch.co.at (4.1/SMI-4.1)
	id AA08016; Mon, 10 May 93 11:15:29 +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;
          Mon, 10 May 1993 11:15:29 +0200 (MET DST)
Message-Id: <sfvVolSIlUc50RhUcY@harare.kapsch.co.at>
Date: Mon, 10 May 1993 11:15:29 +0200 (MET DST)
From: Fodatec Project <fodatec@harare.kapsch.co.at>
X-Andrew-Message-Size: 1131+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: info-andrew+@andrew.cmu.edu, "Blair Wyman" <wyman@vnet.ibm.com>
Subject: Re: C++ Converters
In-Reply-To: <AfubXlI91JR_14pQ4p@rchland.ibm.com>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<AfubXlI91JR_14pQ4p@rchland.ibm.com>

\begindata{text,1430560}
\textdsversion{12}
\template{messages}
The only argument for using C++ \bold{private} feature seems to be that 
someone has "just completed 6 weeks of the best C++ instruction on the 
planet". Any other reasons ?


Robert Ryan claims \bold{static binding} is appropriate for class procedures. 
One could ask if class procedures are necessary but they are already there. At 
least all methods should be virtual and it seems they will.


Blair, I agree C++ is no Smalltalk (as everyone will agree Ada is no Prolog 
:-)) but my point was to be just very carefull in using 'dangerous' features, 
i.e. those you will hardly find theoretical motivation for.


\excerptedcaption{Excerpts from info-andrew: 7-May-93 Re: C++ Converters 
Robert Andrew Ryan@andre (2831+0)}


\quotation{there is no practical way to automatically decide what should be 
private.  Or at least I couldn't think of one.

}
In current ATK all features in .c file not defined in .ch file are like C++ 
private, i.e. not inheritable to subordinate classes. Rather than private they 
should be protected (in C++ terms). How are you converting them to C++ 
(static/virtual, private/protected)?


-Kazio Zielinski

fodatec@kapsch.co.at


\smaller{PS. Blair, have a look at Eiffel.\
}\enddata{text,1430560}

\enddata{text822, 33366}
\begindata{text822, 36452}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/Afvb:oW00UddMQ1k9m>;
          Mon, 10 May 1993 11:20:22 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q003/QF.ofvb:E600UdbIXp04w>;
          Mon, 10 May 1993 11:19:47 -0400 (EDT)
Received: from vnet.IBM.COM by po3.andrew.cmu.edu (5.54/3.15) id <AA09146@X> for info-andrew+; Mon, 10 May 93 11:19:13 EDT
Received: from RCHLAND by vnet.IBM.COM (IBM VM SMTP V2R2) with BSMTP id 1778;
   Mon, 10 May 93 11:18:08 EDT
Reply-To: "Blair Wyman" <wyman@vnet.IBM.COM>
Received: by po1 (AIX 3.2/UCB 5.64/4.7) id <AA30313> for info-andrew+@andrew.cmu.edu; Mon, 10 May 1993 09:59:38 -0500
Received: via switchmail; Mon, 10 May 1993 09:59:37 -0500 (CDT)
Received: from julia.rchland.ibm.com via qmail
          ID </afs/rchland.ibm.com/service/mailqs/q000/QF.8fvarJ091JR:0iS0BG>;
          Mon, 10 May 1993 09:59:33 -0500 (CDT)
Received: from julia.rchland.ibm.com via qmail
          ID </afs/rchland.ibm.com/usr1/blair/.Outgoing/QF.QfvarEY91JR:54pRAZ>;
          Mon, 10 May 1993 09:59:28 -0500 (CDT)
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.julia.rchland.ibm.com.rs.aix32
          via MS.5.6.julia.rchland.ibm.com.rs_aix32;
          Mon, 10 May 1993 09:59:25 -0500 (CDT)
Message-Id: <QfvarBg91JR_14pR07@rchland.ibm.com>
Date: Mon, 10 May 1993 09:59:25 -0500 (CDT)
From: Blair Wyman <blair+@rchland.ibm.com>
X-Andrew-Message-Size: 1658+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: info-andrew+@andrew.cmu.edu, "Blair Wyman" <wyman@vnet.IBM.COM>
Subject: Re: C++ Converters
In-Reply-To: <sfvVolSIlUc50RhUcY@harare.kapsch.co.at>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<AfubXlI91JR_14pQ4p@rchland.ibm.com>
	<sfvVolSIlUc50RhUcY@harare.kapsch.co.at>

\begindata{text,539449600}
\textdsversion{12}
\template{messages}
\define{global
}
\excerptedcaption{Excerpts from ext.misc.info-andrew: 10-May-93 Re: C++
Converters Fodatec Project@harare.k (1131+0)}


\quotation{The only argument for using C++ \bold{private} feature seems to
be that someone has "just completed 6 weeks of the best C++ instruction on
the planet". Any other reasons ?

}
How about 'encapsulation?'  If a derived class can munge around in the
belly of its base class, the base class can never change the arrangement of
its internal organs.  And hey, even after \bigger{\bold{6 whole weeks}} I
don't \bold{always} get it right the first time...*8-)  So, if I don't want
derived classes to ever depend on the way I arrange my bits, then by jingo
I'll just not show them around.  Potential problem solved/avoided.


In a similar vein, \bold{private} comes in handy when copy construction or
assignment make no sense for a class.  Making the copy constructor and
assignment operator\bold{ private }prevents their misuse.


\quotation{[...] my point was to be just very carefull in using 'dangerous'
features, i.e. those you will hardly find theoretical motivation for.

}
IMHO, using\bold{ private} to hide is inherently \bold{less }'dangerous'
than saying "nothing should ever be hidden."


\quotation{PS. Blair, have a look at Eiffel.

}
The travel budget is a little light right now.  I can't afford the
cycles...


And, from a theoretical standpoint, I wouldn't even consider any language
that has C as it's intermediate representation. ;-)


-blair

wyman@vnet.ibm.com

\smaller{The opinions expressed herein are strictly my own, and do not
reflect those of IBM.}

\typewriter{\smaller{  ___   _             Blair Wyman      TieLine:
 553-2891

 ( /_)  /  _  ' _     IBM Rochester    Internet: wyman@vnet.ibm.com

__/__)_/_<_/_/_/_'    RCHLAND(BLAIR)   BITNET:   wyman@vnet

}}\enddata{text,539449600}

\enddata{text822, 36452}
\begindata{text822, 40470}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/AfvbQD200WoiJFAU92>;
          Mon, 10 May 1993 11:38:55 -0400 (EDT)
Received: from atk.itc.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr20/rr2b/.Outgoing/QF.wfvbOVq00Woi5Ov1VM>;
          Mon, 10 May 1993 11:37:06 -0400 (EDT)
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;
          Mon, 10 May 1993 11:37:05 -0400 (EDT)
Message-ID: <sfvbOVK00Woi1Ov1Np@andrew.cmu.edu>
Date: Mon, 10 May 1993 11:37:05 -0400 (EDT)
From: Robert Andrew Ryan <rr2b+@andrew.cmu.edu>
X-Andrew-Message-Size: 2125+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: C++ Converters
In-Reply-To: <sfvVolSIlUc50RhUcY@harare.kapsch.co.at>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<AfubXlI91JR_14pQ4p@rchland.ibm.com>
	<sfvVolSIlUc50RhUcY@harare.kapsch.co.at>

\begindata{text,538978404}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from internet.other.info-andrew: 10-May-93 Re: 
C++ Converters Fodatec Project@harare.k (1131+0)}


\quotation{In current ATK all features in .c file not defined in .ch file 
are like C++ private, i.e. not inheritable to subordinate classes. Rather 
than private they should be protected (in C++ terms). How are you 
converting them to C++ (static/virtual, private/protected)?

}
Functions which are not class procedures, methods, or class macros are 
simply converted to C++ syntax, they do not become part of the class 
definition in the conversion.  Also under ATK they don't really correspond 
to private in C++, since there is no "friend" access.  They are just 
"invisible" to subclasses.


It might be worthwhile to convert classes to have more of their 
implementation be part of the class definition under C++, but doing so 
indiscriminately would be worse than not at all.  (Remember, the manual 
work in the conversion process is basically type fixes and compiler bug 
workarounds.)


In general ATK code converted to C++ code is still basically ATK code, with 
all the assumptions and influences that implies.  For example under C++ it 
is far easier to subclass than with the ATK class system.  (No need for two 
extra files...)  Rocks for enumeration functions, proctable functions, 
etc... are still long, or char *, or void * (converting them all to void * 
turned out to have a nasty tendency to provoke a ripple effect where more 
and more code had to be changed).  


I share your concern with the lack of useful inheritance interfaces in many 
ATK classes, indeed this is a very important issue in any OOP library.  I 
believe however that our first priority must be to allow new code to be 
developed in C++ as soon as possible.  Currently I hope we will be able to 
have an beta/alpha release of the C++ ATK distribution this fall.  The 
first few releases will no doubt be a mess as we deal with all the 
different combinations of compiler, OS, header files for all the machine 
types.  (And doubtless support for some machines will have to be dropped 
without testers available to port the new code.)


-Rob Ryan

Andrew Consortium







\enddata{text,538978404}

\enddata{text822, 40470}
\begindata{text822, 44015}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/gfvcolO00UddMfsk5y>;
          Mon, 10 May 1993 13:13:22 -0400 (EDT)
Received: from po2.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q003/QF.4fvcmbC00Uda0MZU4S>;
          Mon, 10 May 1993 13:11:04 -0400 (EDT)
Received: from sadye.emba.uvm.edu by po2.andrew.cmu.edu (5.54/3.15) id <AA06289@X> for info-andrew+; Mon, 10 May 93 13:10:58 EDT
Received: by sadye.emba.uvm.edu id AA28141
  (5.65/6.02); Mon, 10 May 93 13:10:53 -0400
Date: Mon, 10 May 93 13:10:53 -0400
From: Garrett.Wollman@UVM.EDU
Message-Id: <9305101710.AA28141@sadye.emba.uvm.edu>
To: "Blair Wyman" <wyman@vnet.ibm.com>
Cc: info-andrew+@andrew.cmu.edu
Subject: Re: C++ Converters
In-Reply-To: <QfvarBg91JR_14pR07@rchland.ibm.com>
References: <AfubXlI91JR_14pQ4p@rchland.ibm.com>
	<IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<QfvarBg91JR_14pR07@rchland.ibm.com>
	<sfvVolSIlUc50RhUcY@harare.kapsch.co.at>

<<On Mon, 10 May 1993 09:59:25 -0500 (CDT), Blair Wyman <blair+@rchland.ibm.com> said:

> How about 'encapsulation?'  If a derived class can munge around in the
> belly of its base class, the base class can never change the arrangement of
> its internal organs.  And hey, even after \bigger{\bold{6 whole weeks}} I
> don't \bold{always} get it right the first time...*8-)  So, if I don't want
> derived classes to ever depend on the way I arrange my bits, then by jingo
> I'll just not show them around.  Potential problem solved/avoided.

InterViews does this nicely.  In the InterViews code, (almost) /no/
data members are ever made public; they are all either private or
protected, with accessor functions just like O-O fans would expect.
The way it seems to be arranged is fairly sensible... If a given class
doesn't make sense without certain data members (e.g., size and
position indicators for a scrollbar), then those members are declared
protected in an appropriate base class.  Otherwise, they are private.

Somewhere in /interviews.stanford.edu:/pub there is an explanation of
why these design choices were made.

-GAWollman

Disclaimer: I don't use InterViews---it won't compile on my system
because of IBM's 64k limit on TOC size.

--
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, 44015}
\begindata{text822, 46831}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/4fvdB6W00UdbR0Xk9r>;
          Mon, 10 May 1993 13:39:22 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.Efvd=OW00Udb10CE4s>;
          Mon, 10 May 1993 13:37:32 -0400 (EDT)
ReSent-Message-ID: <Added.Ifvd=Li00Udb50AE91@andrew.cmu.edu>
Received: from neptun.kapsch.co.at by po3.andrew.cmu.edu (5.54/3.15) id <AA16404@X> for info-andrew+; Mon, 10 May 93 13:36:52 EDT
Return-Path:   @neptun.kapsch.co.at:fodatec@harare.kapsch.co.at
Resent-Date:   Mon, 10 May 1993 19:36 +0200
Received: from harare.kapsch.co.at [148.198.10.5] by neptun.kapsch.co.at
           with SMTP-OpenVMS via TCP/IP; Mon, 10 May 1993 19:36 +0200
Received: by harare.kapsch.co.at (4.1/SMI-4.1)
	id AA22063; Mon, 10 May 93 19:36:32 +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;
          Mon, 10 May 1993 19:36:32 +0200 (MET DST)
Message-Id: <cfvd_UGIlUc5FJwktp@harare.kapsch.co.at>
Date: Mon, 10 May 1993 19:36:32 +0200 (MET DST)
From: Fodatec Project <fodatec@harare.kapsch.co.at>
X-Andrew-Message-Size: 2457+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: info-andrew+@andrew.cmu.edu, "Blair Wyman" <wyman@vnet.ibm.com>,
        "Blair Wyman" <wyman@vnet.ibm.com>
Subject: Re: C++ Converters
In-Reply-To: <QfvarBg91JR_14pR07@rchland.ibm.com>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<AfubXlI91JR_14pQ4p@rchland.ibm.com>
	<sfvVolSIlUc50RhUcY@harare.kapsch.co.at>
	<QfvarBg91JR_14pR07@rchland.ibm.com>

\begindata{text,1553336}
\textdsversion{12}
\template{messages}
I watched the discussion about C++ with interest.

I must admit, that I have the same ideas about OOP like my college.

Of course there is alway a possibility to program in the same old manner 
someone learned - you can code procedural in LISP too. But I think OOP is 
something new and we should not treat it like some poor old pepped up 
 procedural language.


\excerptedcaption{Excerpts from info-andrew: 10-May-93 Re: C++ Converters 
Blair Wyman@rchland.ibm. (1658+0)}


\quotation{How about 'encapsulation?'  If a derived class can munge around in 
the belly of its base class, the base class can never change the arrangement 
of its internal organs. }


You have to be aware that you never can alter a base class from within a 
derived class. An inherited class is always something new, like a copy plus 
extension. If you don't want the extensions get control of the basic code you 
will probably prevent reuse at all. The inheritance tree will not become very 
deep because everybody tends to use classes and not inherits them. So you will 
probably produce much coupling between classes. Someone who can't access a 
varible because it is private will probably produce some different class and 
not inherit.He then codes this variable with all its methods again, but some 
parts he will use from the similar class.

So here we have two things not intended to be OOP:  recoding and coupling 
between classes.

If you take a  careful look at ATK you will see that all this things happened 
here. This has many reasions. One obvious is the lack of the class precompiler 
to produce data inheritance. Some data is coded "private", in some sort of 
Smalltalk class variables. If you like to have access to these data it is in 
first case hard to make and in the second even impossible, even though the 
only this you wanted is to have a look at the data. If you are lucky someone 
wrote a capsule around (like get.. and set..). But what differs set.. this 
from assignment?

At first sight the old wisdom of hiding information from procedural language 
is applicable for OOP too.But I don't think so. Here we have other concepts, 
which run against this idea. And if you program like this in object oriented 
languages you will never get some good class system but a even worse 
 procedural library.

PS. As far as I know there are already some eiffel systems on the market, that 
don't precompile to C. Besides that : C++ in former days was as well nothing 
else than a precompiler to C !


Christian.Sodomka@kapsch.co.at\
\enddata{text,1553336}

\enddata{text822, 46831}
\begindata{text822, 51362}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/QfvpuB600UdbQZVk9R>;
          Tue, 11 May 1993 04:06:39 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.YfvptOi00UdbEZSU5y>;
          Tue, 11 May 1993 04:05:46 -0400 (EDT)
ReSent-Message-ID: <Added.YfvptO200Udb4ZS082@andrew.cmu.edu>
Received: from neptun.kapsch.co.at by po3.andrew.cmu.edu (5.54/3.15) id <AA09567@X> for info-andrew+; Tue, 11 May 93 04:05:26 EDT
Return-Path:   @neptun.kapsch.co.at:fodatec@harare.kapsch.co.at
Resent-Date:   Tue, 11 May 1993 10:04 +0200
Received: from harare.kapsch.co.at [148.198.10.5] by neptun.kapsch.co.at
           with SMTP-OpenVMS via TCP/IP; Tue, 11 May 1993 10:04 +0200
Received: by harare.kapsch.co.at (4.1/SMI-4.1)
	id AA22452; Tue, 11 May 93 10:04:41 +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;
          Tue, 11 May 1993 10:04:40 +0200 (MET DST)
Message-Id: <QfvpsMuIlUc51LMV8q@harare.kapsch.co.at>
Date: Tue, 11 May 1993 10:04:40 +0200 (MET DST)
From: Fodatec Project <fodatec@harare.kapsch.co.at>
X-Andrew-Message-Size: 2462+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: info-andrew+@andrew.cmu.edu, "Blair Wyman" <wyman@vnet.ibm.com>
Subject: Re: C++ Converters
In-Reply-To: <QfvarBg91JR_14pR07@rchland.ibm.com>
References: <IfuYBpuIlUc59mPUZ5@harare.kapsch.co.at>
	<AfubXlI91JR_14pQ4p@rchland.ibm.com>
	<sfvVolSIlUc50RhUcY@harare.kapsch.co.at>
	<QfvarBg91JR_14pR07@rchland.ibm.com>

\begindata{text,1394208}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from info-andrew: 10-May-93 Re: C++ Converters 
Blair Wyman@rchland.ibm. (1658+0)}


\quotation{How about 'encapsulation?'  If a derived class can munge around in 
the belly of its base class, the base class can never change the arrangement 
of its internal organs.  And hey, even after \bigger{\bold{6 whole weeks}} I 
don't \bold{always} get it right the first time...*8-)  So, if I don't want 
derived classes to ever depend on the way I arrange my bits, then by jingo 
I'll just not show them around.  Potential problem solved/avoided.

}

Thank you for the explanation. I still think there is a confusion about 
"derived class can munge around in the belly of its base class". The derived 
class can never change anything in the base class itself. Everything it 
changes becomes effective only for that derived class. So munging is done on 
the subclass' responsibility.

You can rearrange 'bits' of your base class as long as you don't change 
features it has. If you have to change features of a class it is a redesign 
problem of your software system with all consequences to the derived classes.

Concerning encapsulation, it is realized by 'public'. Only exported features 
can be accessed by users of a class. To make some features not accessible to 
subclasses you already must know all classes which will be derived from it. It 
is not always the case, especially not for toolkits, as ATK. What happens then 
? Rather than reuse the existing one by subclassing it and then 
accessing/overriding some feature which is unfortunately private (or hidden in 
the implementation file), you have to write a new class. Of course you copy 
the existing code, rename the class and subsequently make your changes. 
Reusing by copying. Horrible.

Conclusion: "nothing should ever be hidden" to derived classes, not to users 
of a class.


\excerptedcaption{Excerpts from info-andrew: 10-May-93 Re: C++ Converters 
Robert Andrew Ryan@andre (2125+0)}


\quotation{Functions which are not class procedures, methods, or class macros 
are simply converted to C++ syntax, they do not become part of the class 
definition in the conversion.  Also under ATK they don't really correspond to 
private in C++, since there is no "friend" access.  They are just "invisible" 
to subclasses.

}
Sigh. What happens if you make them all class members protected or protected 
virtual ?

C++ "friend" access is really not very OO. Is it used in the conversion ?


-Kazio Zielinski

fodatec@kapsch.co.at


\smaller{PS. Blair, come on, I really wasn't referring to Eiffel tower in 
Paris.

}\enddata{text,1394208}

\enddata{text822, 51362}
\begindata{text822, 55919}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/QfvwNd200UddMQVk8U>;
          Tue, 11 May 1993 11:29:45 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q003/QF.EfvwMPe00UdbAYGU5B>;
          Tue, 11 May 1993 11:28:28 -0400 (EDT)
Received: from vnet.IBM.COM by po3.andrew.cmu.edu (5.54/3.15) id <AA09267@X> for info-andrew+; Tue, 11 May 93 11:28:10 EDT
Received: from RCHLAND by vnet.IBM.COM (IBM VM SMTP V2R2) with BSMTP id 7635;
   Tue, 11 May 93 11:27:06 EDT
Reply-To: "Blair Wyman" <wyman@vnet.IBM.COM>
Received: by po1 (AIX 3.2/UCB 5.64/4.7) id <AA32976> for info-andrew+@andrew.cmu.edu; Tue, 11 May 1993 10:26:05 -0500
Received: via switchmail; Tue, 11 May 1993 10:26:04 -0500 (CDT)
Received: from julia.rchland.ibm.com via qmail
          ID </afs/rchland.ibm.com/service/mailqs/q000/QF.YfvwK6w91JR:AiS0IU>;
          Tue, 11 May 1993 10:25:59 -0500 (CDT)
Received: from julia.rchland.ibm.com via qmail
          ID </afs/rchland.ibm.com/usr1/blair/.Outgoing/QF.gfvwJq891JR:94pFAG>;
          Tue, 11 May 1993 10:25:42 -0500 (CDT)
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.julia.rchland.ibm.com.rs.aix32
          via MS.5.6.julia.rchland.ibm.com.rs_aix32;
          Tue, 11 May 1993 10:25:30 -0500 (CDT)
Message-Id: <0fvwJeI91JR_F4pF1I@rchland.ibm.com>
Date: Tue, 11 May 1993 10:25:30 -0500 (CDT)
From: Blair Wyman <blair+@rchland.ibm.com>
X-Andrew-Message-Size: 4503+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: info-andrew+@andrew.cmu.edu, "Blair Wyman" <wyman@vnet.IBM.COM>
Subject: Re: C++ Converters

\begindata{text,540394240}
\textdsversion{12}
\template{messages}
\define{smaller
menu:[Font~1,Smaller~21]
attr:[FontSize PreviousFontSize Point -2]}
\define{global
}
\excerptedcaption{Excerpts from ext.misc.info-andrew: 11-May-93 Re: C++
Converters Fodatec Project@harare.k (2462+0)}

\quotation{C++ "friend" access is really not very OO. Is it used in the
conversion ?

}I sure \bold{hope} they use "friend" where appropriate, since it is just a
part of the notion of building an encapsulation barrier.  After all, a
class and its friends \bold{are} the encapsulation unit, wouldn't you say?


\excerptedcaption{Excerpts from ext.misc.info-andrew: 11-May-93 Re: C++
Converters Fodatec Project@harare.k (2462+0)}

\quotation{I still think there is a confusion about "derived class can
munge around in the belly of its base class".

}The 'munging in the belly' stuff is saying simply that a derived class can
become dependent on implementation details which are really \italic{none of
its business}, unless it is actively prevented with \bold{private}.  Say
you have a base class that contains a sequence of items.  If you need the
(heaven forbid) address of one of the items in the sequence, and the
sequence is implemented as an array, you'll probably just go in and munge
in the belly with\typewriter{ &a[i] }and be done with it.  Now, however,
the base class can never change what should really have been strictly its
own business -- the implementation of the sequence.  Bummer, no?  And all
it would've taken to avoid that inflexibility would've been a little tiny
button.  What a shame...


\excerptedcaption{Excerpts from ext.misc.info-andrew: 11-May-93 Re: C++
Converters Fodatec Project@harare.k (2462+0)}

\quotation{To make some features not accessible to subclasses you already
must know all classes which will be derived from it.

}No, you just know what aspects of \bold{your} class a potential subclass
has no business being concerned about.


And I agree that it is the rare case indeed that a member function should
not be virtual.  Theoretically, there is no such thing as a 'leaf class,'
but you can't spread theory on your toast and sprinkle cinnamon onto it.


\excerptedcaption{Excerpts from ext.misc.info-andrew: 10-May-93 Re: C++
Converters Fodatec Project@harare.k (2457+0)}

\quotation{I think OOP is something new and we should not treat it like
some poor old pepped up  procedural language.}

You're preaching to the choir.  I'd just add that C++ is something
wonderful in its own right, and that we should not treat it like Smalltalk.


\excerptedcaption{Excerpts from ext.misc.info-andrew: 10-May-93 Re: C++
Converters Fodatec Project@harare.k (2457+0)}

\quotation{Someone who can't access a varible because it is private will
probably produce some different class and not inherit.}

Well, if it is really something wrong with the base class -- that it
should've put some additional button on its skin -- then bite the bullet
and fix the base class.  But a more likely scenario is that the derivation
itself was ill-advised.


\excerptedcaption{Excerpts from ext.misc.info-andrew: 10-May-93 Re: C++
Converters Fodatec Project@harare.k (2457+0)}

\quotation{At first sight the old wisdom of hiding information from
procedural language is applicable for OOP too.  But I don't think so. Here
we have other concepts, which run against this idea. }

You have concepts that support building inappropriate dependencies on
implementation details?  Next thing you know you'll be depending on an
8-bit byte! *8-)


We can't just discard the lessons learned in the structured revolution.
 I've got no qualms about about providing\italic{ information }to anyone
who wants it...  \bold{it's just that I'll make them go through a button on
my skin to get it }-- a button I've\bold{ chosen }to put there.  I will NOT
just allow them to reach among my viscera and yank the data out
willy-nilly.  For instance, if you give out addressability to a contained
class, you blew it.  You can never again be sure that someone hasn't cached
that address and will run through their wild pointer to trash the heap
forever.  Amen.


Inheritance shouldn't be used 'just because it's there' -- but rather only
when the derived class \bold{is-a-kind-of} the base class.  A bag of
oranges \bold{is-\underline{not}-a-kind-of}  a bag of fruit.  Conformance,
contravariance, rah-rah-rah.  Disagree with that and I'm wasting my breath.


-blair

\smaller{Opinions expressed are not those of IBM.


\smaller{\quotation{PS. Blair, come on, I really wasn't referring to Eiffel
tower in Paris.

}}'Not being able to afford the cycles' was a jab at the run-time
performance of Eiffel, not a statement of my relative poverty\smaller{
(although poverty is the one thing I always have plenty of :)}


\quotation{Besides that : C++ in former days was as well nothing else than
a precompiler to C !}

I'm going to have to stop trying to be funny.  (\italic{Trying} is the
operative word there.)  It was an attempt at irony when I said...  oh,
never mind.


}\enddata{text,540394240}

\enddata{text822, 55919}
\begindata{text822, 62898}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/EfvxLgu00Udd4Yuk5J>;
          Tue, 11 May 1993 12:35:57 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q000/QF.YfvxIiq00Udb0j9E5P>;
          Tue, 11 May 1993 12:32:48 -0400 (EDT)
Received: from chx400.switch.ch by po3.andrew.cmu.edu (5.54/3.15) id <AA12062@X> for info-andrew; Tue, 11 May 93 12:32:35 EDT
X400-Received: by mta chx400.switch.ch in /PRMD=switch/ADMD=arcom/C=CH/;
               Relayed; Tue, 11 May 1993 18:22:30 +0200
X400-Received: by /PRMD=switch/ADMD=arcom/C=ch/; Relayed;
               Tue, 11 May 1993 18:22:10 +0200
X400-Received: by /PRMD=switch/ADMD=arcom/C=ch/; Relayed;
               Tue, 11 May 1993 18:22:05 +0200
Date: Tue, 11 May 1993 18:22:05 +0200
X400-Originator: wilde@komsys.tik.ethz.ch
X400-Recipients: info-andrew@andrew.cmu.edu
X400-Mts-Identifier: [/PRMD=switch/ADMD=arcom/C=ch/;930511182205]
X400-Content-Type: P2-1984 (2)
Content-Identifier: 747
From: Erik Wilde <wilde@komsys.tik.ethz.ch>
Message-Id: <747*/S=wilde/OU=komsys/OU=tik/O=ethz/PRMD=SWITCH/ADMD=ARCOM/C=CH/@MHS>
To: "Andrew Mailing List at CMU" <info-andrew@andrew.cmu.edu>
Subject: OpenWindows crashes Andrew clients

Hello,
I have a question about Andrew and OpenWindows 3.0. I have installed
Andrew on our Sparc SunOS 4.1.3 cluster and it works fine, when I use
MacX or the MIT X11R5 X Server as displays, but whenever I use my
local X Server (OpenWindows 3.0), the application window shows up and
then disappeares with a segmentation fault. It's the same behaviour
for all Andrew clients, so this must be a general problem of Andrew
working with this special server. Does anybody have had similar
problems or effects? Maybe it's just a configuration problem, but I
cannot find it. Thankful for every hint,

Erik Wilde (wilde@tik.ethz.ch)
  Swiss Federal Institute of Technology   (ETH Zuerich)
  Laboratory of Computer Engineering and Networks (TIK)
  ETH-Zentrum, ETZ G61.2, CH - 8092 Zuerich
  Phone: +41-1-254-7009  Fax: +41-1-251-2504
\enddata{text822, 62898}
\begindata{text822, 65266}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/gfwIDaC00UdbB3NE57>;
          Wed, 12 May 1993 14:37:26 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.YfwI:eO00UdbJ3004N>;
          Wed, 12 May 1993 14:32:13 -0400 (EDT)
Received: from LOAN1.SP.CS.CMU.EDU by po3.andrew.cmu.edu (5.54/3.15) id <AA17147@X> for wjh+; Wed, 12 May 93 14:32:04 EDT
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;
          Wed, 12 May 1993 14:31:10 -0400 (EDT)
Message-Id: <ofwI9ie00gpm8L17sG@cs.cmu.edu>
Date: Wed, 12 May 1993 14:31:10 -0400 (EDT)
From: Wilfred.Hansen@cs.cmu.edu
To: Info-Andrew <info-andrew+@ANDREW.CMU.EDU>
Subject: Visit to Europe

My paper "Andrew as a Multiparadigm Environment for Visual Languages"
has been accepted for presentation at the Visual Languages symposium in
Bergen, Norway, 24-27 August.

After the symposium, I can visit a few sites in Europe to find out what
people are doing with the Andrew User Interface System and what needs
they may have.  As part of a visit, I would be prepared to give a talk
such as a discussion of future plans for Andrew or conversion of Andrew
applications to C++.  If you are interested in having me visit, please
send me email.  To make my travels financially feasible, the consortium
asks that your site contribute toward local expenses and travel from the
previous site.  (I prefer train travel if we can keep distances
reasonable.)

Fred Hansen
Director, Andrew Consortium
\enddata{text822, 65266}
\begindata{text822, 67159}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/AfwxrG200WohB7qk9j>;
          Fri, 14 May 1993 13:58:42 -0400 (EDT)
Received: from rascal.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr13/gk5g/.Outgoing/QF.8fwxoEW00Woh8oMWJT>;
          Fri, 14 May 1993 13:55:28 -0400 (EDT)
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.rascal.andrew.cmu.edu.rs.aix32
          via MS.5.6.rascal.andrew.cmu.edu.rs_aix31;
          Fri, 14 May 1993 13:55:28 -0400 (EDT)
Message-ID: <4fwxoEG00WohIoMWBE@andrew.cmu.edu>
Date: Fri, 14 May 1993 13:55:28 -0400 (EDT)
From: Gary Keim <gk5g+@andrew.cmu.edu>
X-Andrew-Message-Size: 980+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: Can't get AMS aliases to work for groups
In-Reply-To: <Added.Yfwa6hG00Ui348WE4Y@andrew.cmu.edu>
References: <Added.Yfwa6hG00Ui348WE4Y@andrew.cmu.edu>

\begindata{text,538669784}
\textdsversion{12}
\template{messages}
\define{bb+org.itc.atk.ia-trail@andrew.cmu.edu
}
\define{added.yfwa6hg00ui348we4y@andrew.cmu.edu
}
I tried to reply directly but I had problems with your return address. 
-Gary


\bb+org.itc.atk.ia-trail@andrew.cmu.edu{\
\added.yfwa6hg00ui348we4y@andrew.cmu.edu{\
\added.yfwa6hg00ui348we4y@andrew.cmu.edu{You appear to have sent me a 
message in MIME format but there was no MIME-Version header so my mail 
reader (messages) didn't grok it:


\bold{\quotation{Excerpts from misc: 13-May-93 Re: Can't get AMS aliases 
t.. Kevin Rigotti@relay.MOD. (1486)}}


\quotation{Yes, I have an aliases file that says:<nl>

<smaller><fixed><smaller><smaller><nl>

# External People<nl>

}

\bold{\quotation{Excerpts from misc: 13-May-93 Re: Can't get AMS aliases 
t.. Kevin Rigotti@relay.MOD. (1486)}}


\quotation{# External Organisations<nl>

group pats cm,ep,bvd,ms,mlg,pe,gcd,kdr,sct<nl>

}
There is no \italic{group} keyword.  Just have a line like this:


\typewriter{pats cm, ep, bvd, ms, mlg, pe, .....

}
You didn't leave a single space after the commas in the list.  The help 
file specifies that this must be done:


From the ms-aliases help file:


\quotation{The addresses for the alias "group" are separated by a comma and 
a space.


}I just tested this to make sure it works and it does.


-Gary Keim

Andrew Consortium

}}}\enddata{text,538669784}

\enddata{text822, 67159}
\begindata{text822, 69795}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
X-Andrew-Authenticated-as: 2971;andrew.cmu.edu;John Gardiner Myers
Received: from hogtown.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl)
          ID </afs/andrew.cmu.edu/usr22/susan/Mailbox/MfwycTW00WBwJolU4e>;
          Fri, 14 May 1993 14:51:11 -0400 (EDT)
Received: from hogtown.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr7/jm36/.Outgoing/QF.wfwybmK00WBwNnmXk5>;
          Fri, 14 May 1993 14:50:26 -0400 (EDT)
Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.hogtown.andrew.cmu.edu.sun4c.411
          via MS.5.6.hogtown.andrew.cmu.edu.sun4c_411;
          Fri, 14 May 1993 14:50:20 -0400 (EDT)
Message-ID: <Ufwybga00WBw9nmXZ2@andrew.cmu.edu>
Date: Fri, 14 May 1993 14:50:20 -0400 (EDT)
From: John Gardiner Myers <jgm+@CMU.EDU>
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: MIME-Version
In-Reply-To: <4fwxoEG00WohIoMWBE@andrew.cmu.edu>
References: <Added.Yfwa6hG00Ui348WE4Y@andrew.cmu.edu>
	<4fwxoEG00WohIoMWBE@andrew.cmu.edu>
Beak: Is

Gary Keim <gk5g+@andrew.cmu.edu> writes:
> You appear to have sent me a message in MIME format but there was no
> MIME-Version header so my mail reader (messages) didn't grok it:

Huh?  This sounds like a bug in your version of messages.  The
MIME-Version: header is completely useless and should be ignored.
It's absence is certainly no reason to ignore a perfectly valid
Content-Type: header.

				_.John
\enddata{text822, 69795}
\begindata{text822, 71369}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/EfwyvbW0ts1d53N051>;
          Fri, 14 May 1993 15:11:35 -0400 (EDT)
Received: from kirin.dcrt.nih.gov via qmail
          ID </afs/alw.nih.gov/service/mailqs/q2/QF.EfwyrkW0ts1dB3DE4S>;
          Fri, 14 May 1993 15:07:28 -0400 (EDT)
If-Type-Unsupported: send
Received: from kirin.dcrt.nih.gov via qmail
          ID </afs/alw.nih.gov/service/mailqs/q2/QF.MfwyrDy0ts1dB3BE4b>;
          Fri, 14 May 1993 15:06:56 -0400 (EDT)
Received: from dude.dcrt.nih.gov via qmail
          ID </afs/alw.nih.gov/service/mailqs/q2/QF.ofwypaq0ts4jI1FVR0>;
          Fri, 14 May 1993 15:05:11 -0400 (EDT)
Received: from dude.dcrt.nih.gov via qmail
          ID </afs/alw.nih.gov/dcrt/rdew/.Outgoing/QF.4fwypR:0ts4jE4FaFl>;
          Fri, 14 May 1993 15:05:01 -0400 (EDT)
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;
          Fri, 14 May 1993 15:05:00 -0400 (EDT)
Message-ID: <wfwypQq0ts4jA4Fa9b@alw.nih.gov>
Date: Fri, 14 May 1993 15:05:00 -0400 (EDT)
From: Bob Dew <rdew+@alw.nih.gov>
X-Andrew-Message-Size: 676+0
Content-Type: X-BE2; 12
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: MIME-Version
In-Reply-To: <Ufwybga00WBw9nmXZ2@andrew.cmu.edu>
References: <Added.Yfwa6hG00Ui348WE4Y@andrew.cmu.edu>
	<4fwxoEG00WohIoMWBE@andrew.cmu.edu>
	<Ufwybga00WBw9nmXZ2@andrew.cmu.edu>

\begindata{text,7164256}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from mail: 14-May-93 MIME-Version John Gardiner 
Myers@CMU. (407)}


\quotation{Gary Keim <gk5g+@andrew.cmu.edu> writes:

}\quotation{> You appear to have sent me a message in MIME format but there 
was no

}\quotation{> MIME-Version header so my mail reader (messages) didn't grok it:

}
\quotation{Huh?  This sounds like a bug in your version of messages.  The

}\quotation{MIME-Version: header is completely useless and should be ignored.

}\quotation{It's absence is certainly no reason to ignore a perfectly valid

}\quotation{Content-Type: header.

}
\quotation{				_.John

}

I believe Mime-Version and Content-Type headers ae required for all 
MIME-compliant mail messages.  The version header simply indicates indicates 
that the message complies with RFC 1341.


-Bob

\enddata{text,7164256}

\enddata{text822, 71369}
\begindata{text822, 74065}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/YfwzGJi00WohB7sk9=>;
          Fri, 14 May 1993 15:35:49 -0400 (EDT)
Received: from rascal.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr13/gk5g/.Outgoing/QF.wfwzEuO00WohIoMXIj>;
          Fri, 14 May 1993 15:34:18 -0400 (EDT)
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.rascal.andrew.cmu.edu.rs.aix32
          via MS.5.6.rascal.andrew.cmu.edu.rs_aix31;
          Fri, 14 May 1993 15:34:18 -0400 (EDT)
Message-ID: <ofwzEuK00WohEoMXAI@andrew.cmu.edu>
Date: Fri, 14 May 1993 15:34:18 -0400 (EDT)
From: Gary Keim <gk5g+@andrew.cmu.edu>
X-Andrew-Message-Size: 1156+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: MIME-Version
In-Reply-To: <wfwypQq0ts4jA4Fa9b@alw.nih.gov>
References: <Added.Yfwa6hG00Ui348WE4Y@andrew.cmu.edu>
	<4fwxoEG00WohIoMWBE@andrew.cmu.edu>
	<Ufwybga00WBw9nmXZ2@andrew.cmu.edu>
	<wfwypQq0ts4jA4Fa9b@alw.nih.gov>

\begindata{text,538669784}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from misc: 14-May-93 Re: MIME-Version Bob 
Dew@alw.nih.gov (676+0)}


\quotation{I believe Mime-Version and Content-Type headers ae required for 
all MIME-compliant mail messages.  The version header simply indicates 
indicates that the message complies with RFC 1341.

}
From BodyFormats.ez:


\leftindent{Therefore, this document defines a new header field, 
"MIME-Version", which is to be used to declare the version of the Internet 
message body format standard in use.


Messages composed in accordance with this document MUST include such a 
header field, with the following verbatim text:


\typewriter{MIME-Version: }\typewriter{1.0}


The presence of this header field is an assertion that the message has been 
composed in compliance with this document.


Since it is possible that a future document might extend the message format 
standard again, a formal BNF is given for the content of the MIME-Version 
field:


\typewriter{MIME-Version := text

}
Thus, future format specifiers, which might replace or extend "1.0", are 
(minimally) constrained by the definition of "text", which appears in RFC 
822.


Note that the MIME-Version header field is required at the top level of a 
message.

}
-Gary Keim

Andrew Consortium

\enddata{text,538669784}

\enddata{text822, 74065}
\begindata{text822, 76709}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
X-Andrew-Authenticated-as: 2971;andrew.cmu.edu;John Gardiner Myers
Received: from hogtown.andrew.cmu.edu via trymail for info-andrew+@andrew.cmu.edu (->+dist+/afs/andrew.cmu.edu/usr0/ak99/dists/info-andrew-nostrip.dl)
          ID </afs/andrew.cmu.edu/usr22/susan/Mailbox/ofx0Q:200WBwE5vk43>;
          Fri, 14 May 1993 16:54:34 -0400 (EDT)
Received: from hogtown.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/usr7/jm36/.Outgoing/QF.4fx0PGC00WBwNnmbl1>;
          Fri, 14 May 1993 16:53:38 -0400 (EDT)
Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.hogtown.andrew.cmu.edu.sun4c.411
          via MS.5.6.hogtown.andrew.cmu.edu.sun4c_411;
          Fri, 14 May 1993 16:53:29 -0400 (EDT)
Message-ID: <Efx0P9C00WBw9nmbYd@andrew.cmu.edu>
Date: Fri, 14 May 1993 16:53:29 -0400 (EDT)
From: John Gardiner Myers <jgm+@CMU.EDU>
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: Re: MIME-Version
In-Reply-To: <ofwzEuK00WohEoMXAI@andrew.cmu.edu>
References: <Added.Yfwa6hG00Ui348WE4Y@andrew.cmu.edu>
	<4fwxoEG00WohIoMWBE@andrew.cmu.edu>
	<Ufwybga00WBw9nmXZ2@andrew.cmu.edu>
	<wfwypQq0ts4jA4Fa9b@alw.nih.gov>
	<ofwzEuK00WohEoMXAI@andrew.cmu.edu>
Beak: is Not

RFC 1341 does state that mime composers are required to create a
MIME-Version: header, however it says nothing about allowing a
MIME-reader to ignore a perfectly-formed Content-Type: header when the
MIME-Version is not present.

				_.John
\enddata{text822, 76709}
\begindata{text822, 78232}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/MfxajxK00UdbI8s058>;
          Sun, 16 May 1993 12:29:49 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.wfxajaC00UdbI8qk5H>;
          Sun, 16 May 1993 12:29:26 -0400 (EDT)
If-Type-Unsupported: send
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.YfxahyO00UdbI8oU4f>;
          Sun, 16 May 1993 12:27:44 -0400 (EDT)
Received: from thumper.bellcore.com by po3.andrew.cmu.edu (5.54/3.15) id <AA02249@X> for info-andrew+; Sun, 16 May 93 12:27:33 EDT
Received: from greenbush.bellcore.com by thumper.bellcore.com (4.1/4.7)
	id <AA19440> for info-andrew+@andrew.cmu.edu; Sun, 16 May 93 12:27:31 EDT
Received: by greenbush.bellcore.com (4.1/4.7)
	id <AA00722> for info-andrew+@andrew.cmu.edu; Sun, 16 May 93 12:27:48 EDT
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.greenbush.galaxy.sun4.41
          via MS.5.6.greenbush.galaxy.sun4_41;
          Sun, 16 May 1993 12:27:47 -0400 (EDT)
Message-Id: <Qfxai320M2Yt82hrhF@thumper.bellcore.com>
Date: Sun, 16 May 1993 12:27:47 -0400 (EDT)
From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
X-Andrew-Message-Size: 733+0
Mime-Version: 1.0
Content-Type: text/richtext; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
To: info-andrew+@andrew.cmu.edu
Subject: Re: MIME-Version

<bold><excerpt>Excerpts from mail: 15-May-93 Today's misc digest Digestifier@?=
?? (13197*)</excerpt></bold><nl>
<nl>
<excerpt>RFC 1341 does state that mime composers are required to create a<nl>
MIME-Version: header, however it says nothing about allowing a<nl>
MIME-reader to ignore a perfectly-formed Content-Type: header when the<nl>
MIME-Version is not present.<nl>
</excerpt><nl>
Yeah, this is a judgement call.  If you get content-type but not MIME-version,=
 it might or might not be MIME.  While either is a reasonable default, you pro=
bably want an easy way for the user to go either way.  Messages already has "s=
how raw body" to use if you assume it is MIME but isn't; if the default assump=
tion in this case will be that it is not MIME, you probably want a menu item t=
o use if you want to see it as MIME...
\enddata{text822, 78232}
\begindata{text822, 80777}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
X-Andrew-Authenticated-as: 7274;pitt.edu;Jeffrey J. Carpenter
Received: from pitt.edu via trymail
          ID </afs/andrew.cmu.edu/usr22/susan/Mailbox/MfyNLZ62ATvvIVbE5b>;
          Tue, 18 May 1993 22:05:25 -0400 (EDT)
Received: from sea-green.cis.pitt.edu via qmail
          ID </afs/pitt.edu/service/mailqs/q4/QF.IfyNKxO2ATtmQtpE5X>;
          Tue, 18 May 1993 22:04:45 -0400 (EDT)
Received: from sea-green.cis.pitt.edu via qmail
          ID </afs/pitt.edu/usr0/jjc/.Outgoing/QF.ofyNErW2ATtmI29qkA>;
          Tue, 18 May 1993 21:58:15 -0400 (EDT)
Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.sea.green.cis.pitt.edu.pmax.3
          via MS.5.6.sea-green.cis.pitt.edu.pmax_3;
          Tue, 18 May 1993 21:58:15 -0400 (EDT)
Message-ID: <gfyNErG2ATtmE29qdQ@pitt.edu>
Date: Tue, 18 May 1993 21:58:15 -0400 (EDT)
From: "Jeffrey J. Carpenter" <jjc+@pitt.edu>
X-Andrew-Message-Size: 851+0
Content-Type: X-BE2; 12
If-Type-Unsupported: send
To: Info-Andrew <info-andrew+@andrew.cmu.edu>
Subject: White Pages problem

\begindata{text,17133656}
\textdsversion{12}
\template{messages}
Hello,


We have about 30,000 entries in our password file (and thus our white pages). 
 We recently added about 1400 accounts that had the first two letters of the 
username be "pa" (please don't ask why).


Ever since these have been added, we have run into a problem updating the 
white pages.  After makeboth tries to insert some number of these, it fails 
with the error:


\example{Can't bt_Search for ``a"t'': B-tree file is damaged

}
This happens both when we applied these new accounts to an existing white 
pages database and also when we build one from from scratch.


I assume that this is being caused by something in the btree routines in 
overhead/util/lib, and have just started looking at the code.


Any ideas on this?  Are these "pa" accounts seriously unbalancing the tree?


I can make the full log files available if anyone wants to see them.



	jeff

\enddata{text,17133656}

\enddata{text822, 80777}
\begindata{text822, 82874}
X-Andrew-Authenticated-As: 469;andrew.cmu.edu;Craig F. Everhart
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
X-Andrew-Authenticated-as: 1312;transarc.com;Craig Everhart
Received: from craig.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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/0fyZi0P0Bww3RAok5U>;
          Wed, 19 May 1993 12:08:33 -0400 (EDT)
If-Type-Unsupported: send
Received: from craig.transarc.com via qmail
          ID </afs/transarc.com/usr/cfe/.Outgoing/QF.YfyZcuX0Bww39Ak11U>;
          Wed, 19 May 1993 12:03:06 -0400 (EDT)
Received: from Messages.7.14.N.CUILIB.3.45.SNAP.NOT.LINKED.craig.transarc.com.pmax.3
          via MS.5.6.craig.transarc.com.pmax_3;
          Wed, 19 May 1993 12:03:04 -0400 (EDT)
Message-ID: <QfyZcs70Bww39Ak0oz@transarc.com>
Date: Wed, 19 May 1993 12:03:04 -0400 (EDT)
From: Craig_Everhart@transarc.com
X-Andrew-Message-Size: 979+0
Content-Type: X-BE2; 12
To: Info-Andrew <info-andrew+@andrew.cmu.edu>,
    "Jeffrey J. Carpenter" <jjc+@pitt.edu>
Subject: Re: White Pages problem
In-Reply-To: <gfyNErG2ATtmE29qdQ@pitt.edu>
References: <gfyNErG2ATtmE29qdQ@pitt.edu>

\begindata{text,18849676}
\textdsversion{12}
\template{messages}
\excerptedcaption{Excerpts from internet.other.info-andrew: 18-May-93 White 
Pages problem Jeffrey Carpenter@pitt.e (851+0)}


\example{\quotation{Can't bt_Search for ``a"t'': B-tree file is damaged

}}
Unfortunately, no, this is a first.  Certainly the error is being generated by 
the b-tree routines, though that error code is a little bit of a catchall.


Clearly, you've gone pretty far in trying to debug this, if you've rebuilt 
your 30000-entry WP from scratch already.  I can think of two avenues to try:

\leftindent{(a) ensure that all the WP keys are unique:

\leftindent{- no two passwd entries with the same first four pw_name 
characters and the same pw_uid field

- no two wpadd entries with the same first three $ID field characters and the 
same $SI/$NI numbers}

(b) set breakpoints at every explicit reference to bterr_BTreeDamaged in all 
the places where bt_Search might return it: bt_Search itself, b_ScanNode. 
 That will at least tell you what the specific complaint is.

}
I can offer some remote help, but not a huge amount.


		Craig

\enddata{text,18849676}

\enddata{text822, 82874}
\begindata{text822, 85366}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/QfyzNxG00Ui3ARnk4u>;
          Thu, 20 May 1993 17:22:05 -0400 (EDT)
Received: from po5.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.ofyzNGi00UddBH6k5A>;
          Thu, 20 May 1993 17:21:23 -0400 (EDT)
If-Type-Unsupported: send
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q003/QF.MfyzK=m00UdbBIcU5:>;
          Thu, 20 May 1993 17:18:12 -0400 (EDT)
Received: from CANTVA.CANTERBURY.AC.NZ by po3.andrew.cmu.edu (5.54/3.15) id <AA21652@X> for info-andrew; Thu, 20 May 93 17:17:44 EDT
Received: from cantsc.canterbury.ac.nz by csc.canterbury.ac.nz (PMDF #2553 ) id
 <01GYFKAYLAXS9ZQYCB@csc.canterbury.ac.nz>; Fri, 21 May 1993 09:17:37 +1200
Received: by cantsc.canterbury.ac.nz (4.1/SMI-4.1) id AA12512; Fri,
 21 May 93 09:17:34 NZS
Received: from
 Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.cantsc.canterbury.ac.nz.sun4.41 via
 MS.5.6.cantsc.canterbury.ac.nz.sun4_41; Fri, 21 May 1993 09:17:33 +1200 (NZST)
Date: 21 May 1993 09:17:33 +1200 (NZST)
From: Jason Haar <j.haar@csc.canterbury.ac.nz>
Subject: sendmail and Mailbox
To: info-andrew@andrew.cmu.edu
Message-Id: <sfyzJhq4hFs60kpEYg@cantsc.canterbury.ac.nz>
X-Envelope-To: info-andrew@andrew.cmu.edu
Mime-Version: 1.0
Content-Type: text/richtext; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable
X-Andrew-Message-Size: 653+0
X-Mailer: ATK messages 8.5
X-Contact: phone: +64 3 364-2336, fax: +64 3 364-2332
Organisation: CSC, University of Canterbury, Christchurch, New Zealand.

<nl>
Hi,<nl>
<nl>
When <bold>messages </bold>first starts up, I gather it reads the /var/spool/m=
ail/<lt>userid> file (for sendmail), chops up all the messages into separate f=
iles, and writes them to $HOME/Mailbox. After that, the mail is in it's own me=
ssages environment, and messages then fiddles with it and moves it to $HOME/.M=
ESSAGES...<nl>
<nl>
Am I right in assuming that the initial filenames in Mailbox can be anything, =
and that no index file is required? I'd like to use procmail to manipulate my =
incoming mail so that it's already lying around in Mailbox before I do a "<italic>Check New Messages"</italic> command (I want to hack the headers aroun=
d before the MUA sees them).<nl>
<nl>
Cheers<nl>
<nl>
Jason Haar
\enddata{text822, 85366}
\begindata{text822, 87992}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/QfzC:3K00UddEFtk4M>;
          Fri, 21 May 1993 10:09:07 -0400 (EDT)
Received: from po2.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q000/QF.4fzC8Ei00UdaEClE5G>;
          Fri, 21 May 1993 10:07:13 -0400 (EDT)
If-Type-Unsupported: send
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q001/QF.IfzC4B:00UdbIAEE5A>;
          Fri, 21 May 1993 10:02:56 -0400 (EDT)
Received: from thumper.bellcore.com by po3.andrew.cmu.edu (5.54/3.15) id <AA03132@X> for info-andrew+; Fri, 21 May 93 10:02:48 EDT
Received: from greenbush.bellcore.com by thumper.bellcore.com (4.1/4.7)
	id <AA03269> for info-andrew+@andrew.cmu.edu; Fri, 21 May 93 10:02:42 EDT
Received: by greenbush.bellcore.com (4.1/4.7)
	id <AA12743> for info-andrew+@andrew.cmu.edu; Fri, 21 May 93 10:03:01 EDT
Received: from Messages.8.5.N.CUILIB.3.45.SNAP.NOT.LINKED.greenbush.galaxy.sun4.41
          via MS.5.6.greenbush.galaxy.sun4_41;
          Fri, 21 May 1993 10:02:58 -0400 (EDT)
Message-Id: <gfzC4Gi0M2YtIl6VkM@thumper.bellcore.com>
Date: Fri, 21 May 1993 10:02:58 -0400 (EDT)
From: Nathaniel Borenstein <nsb@thumper.bellcore.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
To: Jason Haar <j.haar@cantva.canterbury.ac.nz>
Subject: Re: sendmail and Mailbox
Cc: info-andrew+@andrew.cmu.edu
In-Reply-To: <sfyzJhq4hFs60kpEYg@cantsc.canterbury.ac.nz>
References: <sfyzJhq4hFs60kpEYg@cantsc.canterbury.ac.nz>

Excerpts from mail: 21-May-93 sendmail and Mailbox Jason
Haar@cantva.canter (653+0)

> Am I right in assuming that the initial filenames in Mailbox can be
anything, and that no index file is required?

Absolutely.  Just try to generate it uniquely to avoid overwriting other
files!  There's a utility program $ANDREWDIR/etc/ams_genid that is
perfect for this purpose.....
\enddata{text822, 87992}
\begindata{text822, 90179}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/cg0Rz9y00UdbA8rkgu>;
          Tue, 25 May 1993 04:58:50 -0400 (EDT)
Received: from po3.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q002/QF.Mg0Rwem00UdbA8q05S>;
          Tue, 25 May 1993 04:56:14 -0400 (EDT)
Received: from chx400.switch.ch by po3.andrew.cmu.edu (5.54/3.15) id <AA02259@X> for info-andrew+; Tue, 25 May 93 04:56:06 EDT
X400-Received: by mta chx400.switch.ch in /PRMD=switch/ADMD=arcom/C=CH/;
               Relayed; Tue, 25 May 1993 10:55:35 +0200
X400-Received: by /PRMD=switch/ADMD=arcom/C=ch/; Relayed;
               Tue, 25 May 1993 10:55:19 +0200
X400-Received: by /PRMD=switch/ADMD=arcom/C=ch/; Relayed;
               Tue, 25 May 1993 10:55:13 +0200
Date: Tue, 25 May 1993 10:55:13 +0200
X400-Originator: kuenzler@komsys.tik.ethz.ch
X400-Recipients: info-andrew+@andrew.cmu.edu
X400-Mts-Identifier: [/PRMD=switch/ADMD=arcom/C=ch/;930525105513]
X400-Content-Type: P2-1984 (2)
Content-Identifier: 24
From: Urs Kuenzler <kuenzler@komsys.tik.ethz.ch>
Message-Id: <24*/S=kuenzler/OU=komsys/OU=tik/O=ethz/PRMD=SWITCH/ADMD=ARCOM/C=CH/@MHS>
To: Andrew Mailing List <info-andrew+@andrew.cmu.edu>
Subject: ATK5.1 & MacX problem

Hello,

I'm using ATK 5.1 and MacX 1.2 as display server. As soon as I try loading
a complex document (such as the ADEW-RefMan or arb) into ez, my MacX
crashes. From time to time it crashes while loading the document and
in other situations it keeps running for 5 seconds or even for some
minutes.
MacX seems to crash somewhere when doing memory management. It gets
5 MB and it never seems to run out of memory. I just get an "unimplemented
instruction" trap and have to reboot my Mac.
The same MacX did run without any major problem before we upgraded to
ATK 5.1, no other X-client caused my MacX to crash and ATK 5.1 does not
cause our sun workstations to crash either.
Does anybody know this problem or something similar. Maybe this is a
known behaviour.

Thanks
Urs K"unzler (ukuenzle@iiic.ethz.ch)
\enddata{text822, 90179}
\begindata{text822, 92516}
Return-path: <atkbb+Bad-Addresses@andrew.cmu.edu>
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 </afs/andrew.cmu.edu/usr22/susan/Mailbox/Ig1Zi0600UddAt80gd>;
          Fri, 28 May 1993 14:35:44 -0400 (EDT)
Received: from po5.andrew.cmu.edu via qmail
          ID </afs/andrew.cmu.edu/service/mailqs/q000/QF.Ag1ZdsS00Udd0t4U5m>;
          Fri, 28 May 1993 14:31:23 -0400 (EDT)
Received: from mcenroe.cs.unc.edu by po5.andrew.cmu.edu (5.54/3.15) id <AA14602@X> for info-andrew+; Fri, 28 May 93 14:31:08 EDT
Received: from menges by mcenroe.cs.unc.edu (5.65/UNC_08_21_92)
	id AA02821; Fri, 28 May 93 14:31:04 -0400
Received: by menges.cs.unc.edu (5.65/UNC_02-28-90)
	id AA03639; Fri, 28 May 93 14:31:02 -0400
Received: from Messages.7.15.N.CUILIB.3.45.SNAP.NOT.LINKED.menges.cs.unc.edu.pmax.ul4
          via MS.5.6.menges.cs.unc.edu.pmax_ul4;
          Fri, 28 May 1993 14:30:58 -0400 (EDT)
Message-Id: <4g1ZdWGM0c16E3FmII@menges.cs.unc.edu>
Date: Fri, 28 May 1993 14:30:58 -0400 (EDT)
From: John Menges <menges@cs.unc.edu>
To: info-andrew+@andrew.cmu.edu
Subject: Re: Shadow Colors
In-Reply-To: <wfT2DnC00Woi8T9ENs@andrew.cmu.edu>
References: <wfT2DnC00Woi8T9ENs@andrew.cmu.edu>

Excerpts from info-andrew: 12-Feb-93 Shadow Colors Robert Andrew
Ryan@andre (744+0)

> I am currently working on centralizing and improving the code which
> chooses shadow colors for the menubar, the popup menus, scrollbars, and
> all non-pushbutton buttons.

> I'm curious whether or not there is any strong feeling as to whether I
> should provide a preference to get the old behavior, and if so, what the
> default value should be.

> The main improvement provided by the new code is that the interior of
> the button is always the same color as the background, and only the
> background color is used in computing the top and bottom shadows. 
> Another benefit is that the code will be part of it's own library, so
> the choices can be kept consistent between the various pieces of ATK
> which now have 3d-type effects.

> -Rob Ryan
> Andrew Consortium


Thank you, thank you, thank you for doing this!!!  I use dark
backgrounds & light foregrounds, so by default all raised/lowered areas
are switched.  I've been able to fix a lot of it by setting
{Dialog,Scroll}Foreground to black and {Dialog,Scroll}Background to
white, but I've never found a way to fix, e.g, the On/Off buttons in
message options.  Is there a preferance I can use to fix these until
your updates are available?  If not, can you suggest a quick code fix?
\enddata{text822, 92516}
