[comp.sys.mac.hypercard] Can one now rename "Home"

lasj@vax5.cit.cornell.edu (05/29/91)

Whilst fiddling with sys 7.0 and HC2.1, I discovered that I could re-name the
home stack to "FOO-was home" or anything else. Double-clicking the HyperCard
application, stack "FOO-was home" or any other stack results in the dialog:

"Where is Home?".

Selecting "FOO-was home" >chooses that stack as the home stack<, instaed of
resulting in the dialog "Couldn't find Home", thence quitting HyperCard.

Selecting another stack, then typing Command-H brings me back to (you guessed
it) "FOO-was home".

It would seem that the "Home" stack no longer has to be named "Home" in order
to function as a "Home" stack (unless, of course, I'm doing something
"wrong"!).

What a concept...

I try to follow this group closely but, so far have yet to hear anyone else
comment about this ... did I miss something? Is this a new feature? If someone
on the HC team is thinking "Ooops, that's a bug to fix!", may I submit to you,
"That's not a bug - that's a feature!", and a great one at that !

Thanks,

Larry Slack

jkc@Apple.COM (John Kevin Calhoun) (05/29/91)

In article <1991May29.074501.5095@vax5.cit.cornell.edu>
lasj@vax5.cit.cornell.edu writes:
>It would seem that the "Home" stack no longer has to be named "Home" in order
>to function as a "Home" stack (unless, of course, I'm doing something
>"wrong"!).
>
>Is this a new feature? If someone on the HC team is thinking "Ooops, that's
>a bug to fix!", may I submit to you, "That's not a bug - that's a feature!",
>and a great one at that !

No, no one here is saying "ooops" -- it was done intentionally.

HyperCard 2.x is a lot smarter about the Mac file system than 1.x was.
This feature is just a part of it.

Kevin Calhoun
jkc@apple.com

jamesth@microsoft.UUCP (James THIELE) (05/31/91)

In article <53440@apple.Apple.COM| jkc@Apple.COM (John Kevin Calhoun) writes:
|
|In article <1991May29.074501.5095@vax5.cit.cornell.edu>
|lasj@vax5.cit.cornell.edu writes:
|>It would seem that the "Home" stack no longer has to be named "Home" in order
|>to function as a "Home" stack (unless, of course, I'm doing something
|>"wrong"!).
|>
|>Is this a new feature? If someone on the HC team is thinking "Ooops, that's
|>a bug to fix!", may I submit to you, "That's not a bug - that's a feature!",
|>and a great one at that !
|
|No, no one here is saying "ooops" -- it was done intentionally.
|
|HyperCard 2.x is a lot smarter about the Mac file system than 1.x was.
|This feature is just a part of it.
|
|Kevin Calhoun
|jkc@apple.com

So what are the other parts of HC 2.x's newfound file system smarts?

James Thiele
microsoft!jamesth

jkc@Apple.COM (John Kevin Calhoun) (06/02/91)

In article <1991May30.143908.1@gsbacd.uchicago.edu>
gft_robert@gsbacd.uchicago.edu (opcode ranger) writes:
>OK, I'll bite: under HC 2.1, how does HC know which stack is "Home"
>(doesn't have to be named 'Home' anymore)?

The Home stack still needs to be called "Home" (actually, whatever's in
the relevant string resource) for HyperCard to find it automatically on
launch.  But if HC can't find a Home stack, you can select any stack from
the Standard File dialog as your Home stack for that session.  Next time
you launch HyperCard, it won't remember, so it's not really that big a deal.
But it's better than 1.x, which would quit to the Finder if you picked a
stack from the Standard File dialog that wasn't named "Home".

In article <72664@microsoft.UUCP> jamesth@microsoft.UUCP (James THIELE) writes:
>In article <53440@apple.Apple.COM| jkc@Apple.COM (Kevin Calhoun) writes:
>>HyperCard 2.x is a lot smarter about the Mac file system than 1.x was.
>>This feature is just a part of it.
>
>So what are the other parts of HC 2.x's newfound file system smarts?

I've been waiting since we shipped 2.0 for someone to ask me this question.
:-)

1) In a scripting language such as HyperTalk, the only way to refer to
files is by string -- but a full pathname is not necessarily a unique
name for a file.  For example, you can have two floppy disks named
"Untitled" on your desktop at the same time, both with files named "Fred"
in their root directories.  The File Manager, prior to System 7.0, doesn't
give an application much help with this kind of situation -- if you ask
it to resolve the pathname "Untitled:Fred", it always gives you the "Fred"
that's on the first disk that was mounted.  Well, suppose the "Fred" on
the first disk is a MacWrite document, and the one on the second disk is
a HyperCard stack, and the user says 'go stack "Untitled:Fred"'.  What's
to be done?  HyperCard 1.x won't be able to open the stack.

Now, with System 7.0's Personal FileShare, more people will have more
volumes on their desktop than ever before, and this kind of problem will
occur with greater frequency.  But not in HyperCard 2.x -- in general,
HyperCard 2.x will exhaust all possibilities before giving up on finding
the file you specify.  It has no problem opening stack Fred, under either
System 6.x or 7.0.

2) Even though Apple introduced the Hierarchical File System (HFS) with
the Macintosh Plus over five years ago, people are still concerned about
whether System 7.0 will work with their old MFS disks.  Well, don't bother
trying to use them with HyperCard 1.x -- it has a bug that prevents it
from opening stacks on MFS disks.  I was annoyed by this back when I was
working at Dartmouth, and I submitted a fairly petulant bug report about
it to HYPERBUG$applelink.apple.com.  Sure enough, it came back to haunt
me -- I was responsible for fixing it for 2.0.

3) HyperCard 1.x there are two limits on the number of directories in
which you can open stacks.  First, it has to open a "working directory"
for each directory in which it opens a stack.  These working direcories
remain open until HC quits.  Because there's a limit on the number of
working directories you can have open at once, you eventually won't be
able to open stacks in additional directories.  Second, HyperCard 1.x
remembers the pathnames of the directories in which it opens stacks in a
data structure that's limited to 32K.  Once that 32K is full of pathnames,
you won't be able to open a stack that's in a directory you haven't
visited before.  These limitations come into play with large systems of
stacks.  

Since 1987, when HC 1.0 came out, it has become well-known among Macintosh
programmers that using working directories and full pathnames is not the
right way to do things, but in 1989 someone still had to dig deep into
HyperCard and change everything.  It was a classic "dirty job".  It
wasn't easy, and if it was done well hardly anyone would know about it,
unless they were told.  We were lucky on the HyperCard 2.0 team to have
people who were willing to do such "dirty jobs".  Those limitations, as
well as others I won't mention here, are now gone, and many more things
in HyperCard just work the way they should.  No glitz, no glamour --
they just work.


Kevin Calhoun
jkc@apple.com

michael@psych.toronto.edu (Michael Gemar) (06/04/91)

In article <53560@apple.Apple.COM> jkc@Apple.COM (John Kevin Calhoun) writes:
>
> [lots of nifty info about file handling and path management in Hypercard 2.#
  deleted]

Kevin, with all this neato keen path handling, is there *any* way to set
up defaut directories for "ask file" and "answer file" to use?  I have been
desperately seeking a way of doing this, to streamline a stack for novice
users...

- michael

jkc@Apple.COM (John Kevin Calhoun) (06/04/91)

In article <1991Jun4.025351.15538@psych.toronto.edu> michael@psych.toronto.edu
(Michael Gemar) writes:
>                                            ...is there *any* way to set
>up defaut directories for "ask file" and "answer file" to use?  I have been
>desperately seeking a way of doing this, to streamline a stack for novice
>users...

Yes, but it requires an XCMD.  In brief, all you have to do to set the
current directory for Standard File is to write the right stuff to two
low memory locations.  I believe that such an XCMD already exists -- but
I can't remember where I saw it.  Does anyone have such a thing?

Kevin Calhoun
jkc@apple.com

vanover@bcsaic.UUCP (Jann VanOver) (06/08/91)

In article <53615@apple.Apple.COM> jkc@Apple.COM (John Kevin Calhoun) writes:
>
>In article <1991Jun4.025351.15538@psych.toronto.edu> michael@psych.toronto.edu
>(Michael Gemar) writes:
>>                                            ...is there *any* way to set
>>up defaut directories for "ask file" and "answer file" to use?  I have been
>>desperately seeking a way of doing this, to streamline a stack for novice
>>users...
>
>Yes, but it requires an XCMD.  In brief, all you have to do to set the
>current directory for Standard File is to write the right stuff to two
>low memory locations.  I believe that such an XCMD already exists -- but
>I can't remember where I saw it.  Does anyone have such a thing?
>
>Kevin Calhoun
>jkc@apple.com

Yes - I there's an XFCN that does this in the Support Tools
eXternals stack from Apple.  The XFCN "SetDefaultDir" is described as
"An XFCN to change the default directory to any specified path."

I THINK I got this stack from sumex, but may have gotten it from Apple's
d e v e l o p magazine.  Can anyone give a more positive pointer for
people who need this XFCN?

Thank's for the question, Michael, and for the clue to the answer, Kevin!

Jann "HyperHacker" VanOver
vanover@atc.boeing.com

jhs@hutcs.hut.fi (Juho Nikkola) (06/11/91)

In article 

>Yes, but it requires an XCMD.  In brief, all you have to do to set the
>current directory for Standard File is to write the right stuff to two
>low memory locations.  I believe that such an XCMD already exists -- but
>I can't remember where I saw it.  Does anyone have such a thing?
>
>Kevin Calhoun

Yes, I do. I found it from isca.uiowa.edu, stack named 
'Support Tools eXternals v.1.2.5', 
path /mac/infomac/card/xcmd/support-externals-125.sea


Juho