Newsgroups: rec.arts.int-fiction
Path: nntp.gmd.de!news.ruhr-uni-bochum.de!news.rwth-aachen.de!news-koe1.dfn.de!news-han1.dfn.de!news-ham1.dfn.de!news-ber1.dfn.de!fu-berlin.de!informatik.tu-muenchen.de!main.Germany.EU.net!EU.net!news.sprintlink.net!news-peer.sprintlink.net!howland.erols.net!swrinde!news.uh.edu!news.sfasu.edu!not-for-mail
From: chidder@fred.aurora.edu
Subject: {INFORM} The bug to end all bugs (spoilers)
Message-ID: <32948710.1CCE@fred.aurora.edu>
Date: Thu, 21 Nov 1996 16:45:04 +0000
X-Mailer: Mozilla 2.01 (Macintosh; I; PPC)
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Lines: 401

Hi! Boy, I've broken the compiler but good on this one.  Im working on
the PowerMac Inform 6.05 with the 6/2 libraries(all compiled and working 
nicely, cause they compile source code from gmd.de).  When I attempt to 
compile the following code <very long, sorry>:

> Switches v5;
> Constant Story "SHOPPING";
> Constant Headline "^An Interactive Trip^Copyright 1996 Robert M. Camisa";
> 
> Include "parser";
> Include "verblib";
> Include "grammar";
> 
> [ Initialise;
>     location=corridor;
>     print "^^^^^^^    YAWN!!!!! Shopping with your girlfriend is sooooooo \
>            boring!  Frankly, the only reason you agreed to this trip was \
>            the promise of a fashion show when you got home.  But this is \
>            getting ridiculous- she went in the fitting room with only three \
>            outfits, and that was over an hour ago.  Maybe you should go \
>            check on her- that is if you can get the fitting room clerk \
>            (A large, dour looking East German woman) to let you in.  \
>            Glancing at Helga(Yes, that's the name on her nametag), and \
>            putting on your best smile, you step forward to give it a \
>            shot. . .^^^^^^";
> ];
> 
> [ XyzzySub; "You hear a hollow voice over the mall speaker: 'Paging \
>               Crowther and Woods.  Crowther and Woods, please report \
>               to the mall office.'";
> ];
> 
> Verb "xyzzy" *  ->Xyzzy;
> 
> Object corridor "Outside the fitting rooms"
>  has   light,
>  with  name "corridor",
>        description "This is a long corridor running north, to the \
>          forbbiden territory(well, forbidden to you anyway) of the \
>          ladies fitting room, and south to the saftey and relative \
>          sanity of the ladies-wear deaprtment.  Its painted a yucky \
>          gunmetal gray, giving the place a military-type feel.  \
>          The feeling is enhanced by a large counter halfway down the \
>          corrdior designed to keep unathorized people from acessing the \
>          fitting room.  Yes, this means you.  Some chairs are along one \
>          wall, but trust me, they're extremely uncomfortable.",
>        s_to ladies_wear,
>        n_to [;
>        if (corridor has helga)
>          print "Helga swiftly moves to bar your entry.  See, I told you \
>          it was forbidden.";
>          else print "You take advantage of the confusion and sneak into \
>               the dressing room.";
>               return fitting_room;
>              ];
>        
> 
> Object counter "counter" corridor
> has scenery,
> with name "gray" "counter" "checkpoint",
>      description "Its a large gray, military counter designed to \
>      restrict acess to the fitting room.  It's fairly intimidating- \
>      the phrase 'Checkpoint Charlie' comes to mind.";
> 
> Object chair "chair" corridor
>  with  name "uncomfortable" "chair" "chairs",
>        description "The chairs are molded from plastic and are the same \
>          gunmetal gray as the walls.  They really don't look very \
>          comfortable.  In fact, you're getting uncomfortable just \
>          looking at them.",
>   has  static concealed enterable supporter,
>  with  before [;
>         LookUnder:
>           if (quarter has concealed) {
>            "You can see a shiny quarter stuck to the bottom of the chair \
>             with a nasty wad of gum.";
>                                      }
>         Enter:
>           if (self hasnt general)    {
>             give self general;
>             "You sit down, and immediatley wish you hadn't.  Well, don't \
>              expect sympathy from me; I did warn you.  If you insist on \
>              disregarding my warnings I cannot be held responsible for the \
>              consequences.  Oh, and something fell from the seat on to \
>              the floor.";
>             give quarter ~concealed;
>                                       }
>                  ];
> 
> Object quarter "A shiny new quarter" corridor 
>  with  name "shiny" "new" "quarter",
>        description "It's a shiny new quarter! You can retire now!",
>   has  concealed,
>  with  before [;
>         Take: if (self has concealed) {
>                give self ~concealed;
>                move self to player;
>                 "You pry the quarter off the gum, wincing slightly at \
>                   the wet, sticky, slimy feel of the gum wad.";
>                
>                                        }
>                move self to player;"Taken.";  
>               ];
> 
> Object helga "Helga, the saleslady" corridor
> has animate female,
> with name "clerk" "lady" "saleslady" "helga",
>      initial "Helga stands here, ever-vigilant, to guard the integrity \
>      of the womans dressing room.",
>      description "Helga is a towering giant of a woman.  She stands well \
>      over your height, looking down on you in an intimidating fashion.  She \
>      is dressed in a military skirt and jacket; on which the nametag reading \
>      Hi, my name is Helga(complete with smiley face sticker) seems rather, \
>      well, odd.  Her has is pulled back into a severe ponytail, and while \
>      appears older than the women you usually date, you might find her \
>      attractive, if only she'd stop scowling all the time.",
>     life [;
>       Ask: switch(second)
>         { 'woman','girlfriend','love,','sex','date':
>            "Helga blushes and bats her eyes at you. Yikes! I think she \
>              misunderstood the question.";
>           'room','fitting','dressing':
>            "Helga smacks her palms down hard on the table. No MALES allowed. \
>             She seems pretty definite on the subject.";
>           'fuck','shit','damn','piss':
>            "She crosses her arms, and I dont blame her.  Using such language \
>             to a lady- even if she did win the gold medal in the hammer \
>             throw for East Germany.";
>           'security','tag','job','child':
>             "She looks at you. No One violates secuirty in my store.";
>          }
>             "She shrugs. 'Not my job to know about that.'";
>       Tell: switch (second)
>             { 'woman','girlfriend','love','sex','date':
>                "Helga looks at you sweetly, then blushes.  I think she \
>                  wants you!";
>               'child','brat','little','kid':
>                "Her eyes narrow.  Children are theives. Well, when the \
>                 alarm goes off, I'll be ready.";
>               'tag': "~Theyre shouldnt be any loose tags floating around \
>                   who knows what a '-she spits the word 'civilian might do \
>                   with one.";
>             }
>              "She listens politely, but without any real interest.";
>       Attack, Kiss: {
>             deadflag=1;
>             "Helga grabs you and shoves you into a closet until closing \
>              time, when she smuggles you back to her house.  You spend \
>              the rest of your life as Helga's sex slave, and while it does \
>              have its compensations(that uniform hid a hell of a body), you \
>              always wonder what happened to your true love.";
>                      }
>       ThrowAt: {
>        It bounces off. She didnt even feel it.; move noun to location;
>                         }
>       Show,Give:
>          if (noun==tag)
>           { remove tag;
>              "Helga pockets the tag.  Someone is going to lose their job \
>               over this, she scowls.  Brrr, I wouldnt want to be on her bad \
>               side.";
>           }
>           "Her eyes narrow.  'Trying to bribe me, eh?'";
>          ];
> 
> Object ladies_wear "The ladies wear department"
>  has light,
>  with name "ladies" "wear" "ladies-wear" "department", 
>       description "This is the ladies wear department of Sheers, \
>       the local department store.  There are racks of clothing, most \
>       of it designed by people you never heard of.  Stepford salespeople \
>       wander around assisting those customers who can't cope with the wide \
>       selection of designs and colors.  Or just those that don't seem cheery \
>       enough.  You can see the fitting room to the north, and the children's \
>       department to the west.",
>       n_to corridor ,
>       w_to kids_wear;
> 
> Object rack "clothing rack" ladies_wear
>  has scenery,
>  with name "clothing" "rack" "racks",
>       description "Racks and racks of clothing with signs advertising 50 \
>       perecent off.  As you look, you begin to think the sign refers to the \
>       amount of material, because as the prices go up, the amount of material \
>       in the clothing goes down.  Though in a few cases, that's not necessarily \
>       a bad thing.";
>  
> 
> Object tag "security tag" ladies_wear
>  with name "security" "tag",
>      initial "A security tag sits here, apparently discarded.",
>      description "A small metal security tag, designed to prevent people \
>                    from removing objects from the mall without paying.";
> 
>                     
> 
> Object kids_wear "The Children's wear Department"
>  has light,
>  with name "childrens" "wear" "department",
>       description "This is the kiddie section of Sheers.  There are all \
>       sorts of kiddie outfits here.  Its not really of much interest to \
>       you, becasue while you love kids, your girlfriend insists on waiting \
>       a few more years before she'll even discuss the subject. Now to the \
>       west is the electronic's section, back east is ladie's wear, and the \
>       mall is to north after passing through the secuirty system.",
>      w_to electronics, e_to ladies_wear, 
>      n_to "You dont really want to leave the store without your \
>            girlfriend.  That would not only be rude, it would seriously \
>            hurt your chances later tonight, if you know what I mean *nudge* \
>            *wink* ";
> 
> nearby security "security system"
>  has scenery,
>  with name "security" "system", 
>       description "You know those cool security grids they have in movies? \
>       You know, the ones where they show the complete skeletal xray? \
>       Well, this is nothing like that.  Picture instead three tall columns \
>       (looking rather like a cheezy version of the monolith from 2001) \
>       spaced about 6 feet apart.";
> 
> Object kid "child" kids_wear
>  has animate ~female,
>  with name "little" "kid" "brat",
>       initial "A child is here running his remote control car in and out of \
>       the security system while his mom shops.",
>       description "A small child of indterminate gender, he or she is \
>       dressed in loose fitting overalls, and wears a baseball cap, \
>       predictably turned backwards.  He or she(you have to fight a \
>       growing urge to use the word it) has a remote control.  It doesn't \
>       take a large mental leap to connect it with the toy car darting in \
>       and out of the security consoles.",
> life [;
>    Ask: if (noun==car) {
>         "The child's love of his car overcomes his distrust of strangers, \
>          and he or she deluges you with details you really had no interest \
>          in, such as its realistic enginer sounds and working trunk.";
>                          }
>          "My Mommy says not to talk to strangers.";
>    Tell: "My Mommy says not to talk to strangers.";
>    Attack, Kiss: 
>     deadflag=1;
>     "As you move towards the child, he screams, and several large security \
>      people immediatley leap on you compressing your spine and shattering \
>      several of your bones.  You spend the first several years of your \
>      prison term (for attempted kidnapping) recuperating, and spend the \
>      rest wondering just what happened to your girlfriend.";
>     Show: switch(second)
>          {
>           'quarter', 'money':
>            "The child looks at you suspiscously. 'Mommy says never to \
>              take money from strangers.";
>            'candy','gumball', 'gum', 'jawbreaker':
>             "The child's eyes go wide.  MMMMM!!!  Mommy says I shouldn't \
>              take candy. . .but thats all wrapped so it should be ok.";
>           }
>            "The child yawns, un-interested.";
>      Give: if (noun==candy)
>             {
>              give car general;
>             "The child promptly abandons the car and attacks the candy. \
>              'Gee Thanks!'";
>               }
>              "The child refuses to take anything from a stranger.  Good for \
>               him.  Far too many perverted wierdos these days.";
>      ];
> 
> Object car "a radio-controlled car" kids_wear
>  with name "radio" "controlled" "car" "toy",
>      initial "A child's radio controlled car is here.",
>      description "This is a small radio controlled car.  It looks like \
>      its modeled after a famous racecar, but nver having been a big \
>      racing fan, you cant tell.  It appears to have all the features \
>      a regular car has, including headlights and an openable and closeable \
>      trunk.",
>      before [;
>       Take: if (self hasnt general) {
>        "The child looks at you and yells: MINE!. You back off.";rtrue; 
>                                      }
>        "You pick up the car while the child is busy with the candy.";
>        move self to player;
>      Drop: if (tag in trunk) {
>        "You drop the car, and the child immediatley starts playing with \
>         it again.  However, as soon as he zooms it out between two posts \
>         of the security system the alarm goes off in an ear-splitting wail.\
>         ^^Helga comes in: 'Where is the the theif?^^  Soon spotting the \
>         problem, she grabs the kid and his mother and hauls them off \
>         to the mall office- 'You have some expaning to do.'";
>         remove helga;
>         remove child;
>         remove car;
>                               }
>         "Dropped.";move self to location;
>              ];
> 
> nearby trunk "trunk"
>  has scenery container ~open,
>  with name "trunk",
>       description "The trunk of the car.  Its really very small. You might \
>       be able to get something small in it.",
>       before [;
>       Insert:
>        if (noun==tag) {
>        move tag to self;You pop the tag in the trunk. It just fits.";
>                      }
>         "You wont be able to get that in there.";
>       LetGo:
>        "Nope, the tags wedged in there nice and tight, and you only bruise \
>         your fingers trying to retrieve it.";
>              ];
> 
>    Object electronics "The Electronics Department"
>    has light,
>    with name "electronics" "department",
>         description "Ah the sweet smell of ozone, the hum of electricity \
>         the electronics department.  Its filled with overpriced toys you \
>         dont need, and frankly, wouldnt know how to operate, but God you \
>         love it here.  You could stay here for hours, but that'd bore me \
>         so pick a direction: east back to kids wear, north to the mall \
>         or south to the pet department.",
>        e_to kids_wear,
>        n_to "You dont want to leave the mall without your girlfriend. That \
>              would be rude, and you pride yourself on being a perfect \
>              gentleman.";
>  
> Object gum_machine "gumball machine" electronics
>  has container static transparent,
>  with name "machine" "dispenser" "gumball",
>       description "A super sophisticated machine stands here-NOT! This is \
>       an old fashioned, if gigantic gumball machine.  Its fire engine red \
>       with a single mechanism(consisting of a slot and a handle).  You \
>       breifly wonder how such a low tech machine wound up being in the \
>       high-tech department, but shrug it off.";
> 
> nearby slot "slot"
>  has container scenery,
>  with name "slot",
>       description "A quarter-sized slot",
>  before [;
>   Insert: if (noun~=quarter) {
>     "Its too big to fit in there.( Now theres a complaint you haven't heard \
>      before)";               }
>         ];
> 
> Object handle "handle" gum_machine
>  has scenery,
>  with name "metal" "handle",
>       description "A metal handle.( Look, I know its not Proust, but \
>       what do you expect.  Its just a metal handle for Pete's sake.)",
>  before [;
>   Turn:
>    if (quarter in slot) {
>    remove quarter;
>    move candy to player;
>    "The last gumball rolls around and around down a plastic spiral inside \
>     the glass dome of the machine.  When it reaches the end, its flipped \
>     up into midair and held in the grip of lasers for a moment, while a \
>     flat computer voice announces 'Steralization in progress'.  A moment \
>     after that, it's heatsealed in transparent, sanitized plastic, and \
>     beamed into your waiting hands.  I guess that explains why the \
>     machines in the electronics department allright.";
>                          }
>    "It wont turn unless you put money in it, you cheapskate!";
>           ];
> 
> Object candy "a brightly striped jawbreaker" gum_machine
>  has edible,
>  with name "candy" "gum" "gumball" "jawbreaker",
>       description "Its a brightly colored jawbreaker.  Your teeth ache \
>       even to look at it.",
>  after [;
>  Eat: {
>        remove self;
>        deadflag=1;
>        "OW!!! OW!!! OWW!! You bite into the candy, and immediatley break \
>        your jaw(Well, why do you THINK they are called jaw-breakers?)  You \
>        have to be rushed to the dentist for severe pain.  A bond strikes \
>        up bewteewn you and his assistant. You date, eventually marry and \
>        grow old.  Your thoughts wander back to this day from time to time, \
>        and you wonder what ever happened to the woman who went in the \
>        dressing room.  Sadly, you die never knowing.";
>       }
>        ];
> 
> Object fitting_room "The fitting room"
> has light,
>  with name "fitting", "room",
>       description "To be added later";
> 
> End;
> 
  the system crashes and shuts down! "Sorry, a systems error occured".  
So, I reproduce the entire code here in the hopes of finding out what 
happened.  And hey, if you want to fix any of the other bugs as you go 
along, well, I wont object <g>.

  The only clue I have is that when I opened up the file on the disc, 
the word Processor I was using (Word 6.0.1) opened the file it opened it 
twice. Two files of the name shopping.inf -(recovered)

Clueless as ever,
Chidder

