Path: utzoo!utgpu!watmath!clyde!att!rutgers!apple!dan
From: dan@Apple.COM (Dan Allen)
Newsgroups: comp.sys.mac.hypercard
Subject: Official Programmer's Notes for HyperCard 1.2.2
Message-ID: <21563@apple.Apple.COM>
Date: 2 Dec 88 21:49:34 GMT
Distribution: comp.sys.mac.hypercard,comp.sys.mac.programmers
Organization: Apple Computer Inc, Cupertino, CA
Lines: 290
Apple recently released version 1.2.2 of HyperCard. It is a maintenance
release with a number of bug fixes, better support for foreign languages, and
a few small enhancements. All current HyperCard owners can obtain a free
upgrade by bringing their original disk to an authorized Apple dealer. In
addition, the Berkeley Macintosh Users Group also is authorized to distribute
this latest version to current HyperCard owners. They can be contacted at:
BMUG
1442A Walnut Street #2
Berkeley, CA 94709.
These notes contain information of interest to stack designers and programmers
that are not covered in the general HyperCard Version 1.2.2 Release Notes
stack. Briefly, HyperCard 1.2.2 includes the following:
* Improved support for display and printing of Japanese, Arabic and other
non-Roman languages
* Improvements in handling sound (in conjunction with Sound Manager fixes
in System 6.0.2)
* Overall improved robustness in low memory situations
* Parameters returned by HyperCard's Find command have been enriched and
are more accurate
* A variety of bug fixes
NOTE: Developers who plan to license and ship HyperCard with their products
outside the United States should use version z1.2.2, which contains a special
resource for handling non-U.S. date, currency and other number formats.
Contact Apple Software Licensing for details on distributing HyperCard with
third party products.
Enhancements:
------------------------------------------------------------------------------
*** Pasting fields with the Shift key down
------------------------------------------------------------------------------
If the Shift key is pressed while pasting a field, HyperCard 1.2.2 will paste
the field AND put the text of the copied or cut field into it.
Whether pasting a field into a card or background, text for the current card
will be put into the pasted field. Copying and pasting a field with the
Shift key can be done in a HyperTalk handler as follows:
on mouseUp
select cd fld 1
doMenu "Copy Field"
go next card
type "V" with commandKey,shiftKey -- paste it with the shiftKey down
choose browse tool
end mouseUp
NOTE: The doMenu command cannot be used to shift-paste a field as it takes
only one argument
------------------------------------------------------------------------------
*** Placing a Paint graphic while drawing
------------------------------------------------------------------------------
HyperCard 1.2.2 allows rectangles, ovals, and regular polygons be placed (by
sliding them around the screen) while they are being created.
With the rectangle, round rectangle, oval, or regular polygon tool chosen the
user drags the mouse to stretch out the shape. Without releasing the mouse
button, pressing the Command key will stop stretching, and allow sliding the
graphic. Releasing the Command key resumes stretching.
This capability is only available while the user is working with the painting
tools, keyboard and mouse directly; it cannot be programmed in a HyperTalk
handler.
------------------------------------------------------------------------------
*** Faster navigation
------------------------------------------------------------------------------
Going to the previous card for a specified background is faster. For
example:
on mouseUp
go to previous card of bkgnd "Foo"
end mouseUp
------------------------------------------------------------------------------
Support for Foreign Languages:
------------------------------------------------------------------------------
*** Right justified and right-to-left text
HyperCard 1.2.2 correctly frames (draws the box around) text found by
HyperCard's Find commands when text is left, center or right justified, and
when operating in languages which read right-to-left.
Reset Paint will use right justification for Paint text if right-to-left text
has been set by the Script Manager. This restores the defaults to what would
be expected on a Kanji, Arabic or Hebrew language system.
*** Printing
HyperCard 1.2.2 will print Kanji characters in high quality mode on the
ImageWriter II and ImageWriter LQ printers.
HyperCard 1.2.2 uses the default font set by the Script Manager for printing
reports.
------------------------------------------------------------------------------
Bug Fixes:
------------------------------------------------------------------------------
*** Behavior in low memory conditions
HyperCard 1.2.2 has a fix for the operating system Scrap Manager to help it
when memory is running low. When cutting or copying a HyperCard object or
graphic under low memory conditions (i.e. as would be created by repeated
copying and pasting on a 1 MB system), HyperCard could sometimes receive a
corrupted copy of the object when it was pasted by a user or HyperTalk
handler. This bad copy could cause the system to hang or corrupt the
HyperCard stack being used. This fix, along with several smaller ones, make
HyperCard 1.2.2 much more robust when running on a 1 Megabyte Macintosh, or in
a small partition under MultiFinder.
*** Appending Scripts
Sometimes when memory was running low the beginning of a stack script was lost
when another handler attempted to append something to the end of the script.
This has been fixed.
*** Sound on 1 Megabyte systems, Mac Plus and SE
System 6.0.2 fixed a number of small problems with recent releases of the
Macintosh Sound Manager. HyperCard 1.2.2 has a fix for gaining and releasing
the sound channel which supports desk accessories, modal dialogs or other
software that use sounds. This eliminated known sound problems including
system hangs and occasional clicks and pops on the Macintosh Plus and SE, and
provides better handling of synthesized and digitized sounds in general.
*** The "Find" command
Getting parameters for a Find command is now fully implemented, so HyperCard
1.2.2 returns more information when asked for "the params". These
improvements allow stack designers to intercept a Find command, examine it in
detail, then modify, terminate, execute or override it inside a handler.
HyperCard 1.2.2 returns the string to be found with quotes (which can be
important for conditional HyperTalk statements to multi-word searches), and
also returns a complete field expression, instead of just "".
For example, if the command:
find whole "My Name" in bkgnd fld "Foo"
were intercepted by the handler:
on Find
send the params to HyperCard
if the result is empty then exit find
lock screen
push card
go to stack "server:Address"
send the params to HyperCard -- search in this stack too
if the result is empty then exit find
pop card -- return to original stack
end Find
inquiring about "the params" would return the following literal results:
find whole My Name in -- for version 1.2.1 and earlier
find whole "My Name" in bkgnd field 2 -- for version 1.2.2
NOTE: If the Find command contains a field name (e.g. bkgnd fld "Foo"),
HyperCard converts the name into the field number (e.g. bkgnd field 2).
A simpler command like:
find "My Name"
would return:
find 0 My Name -- for version 1.2.1 and earlier
find normal "My Name" -- for version 1.2.2
NOTE: In simple Find commands, version 1.2.2 returns "normal" in the second
item (instead of "0"), indicating the Find command was not followed by
modifiers like "whole" or "string".
*** Closing open fields at the start of a Find command
HyperCard now closes the currently open field (one where there is a flashing
cursor) when a search is initiated via the Find command. This should
eliminate situations where Find would return an invalid result.
*** Sending the Choose message
In earlier versions, when the user clicked on a tool in the tool windoid,
HyperCard did not send the Choose message. Now it does. This is useful when
a designer wants to figure out which tool the user has chosen from the
palette. For example:
on choose what,whichTool
if what is "tool" and whichTool is "7" then beep
-- beep when the brush tool is chosen
pass choose -- do it
end choose
NOTE: The Choose message passes the word "tool" and a number, not a tool
name.
*** Scrolling fields
The scrollbar is now updated after cutting or deleting text from a scrolling
field, so the field can now be scrolled back to the top with the mouse after
cutting or deleting text from the bottom .
Text Arrows now update the scrollbar and scroll setting properly. Previous
versions did not update the scrollbar when text arrows were used to scroll up
and down the field.
*** Painting tools with hidden pictures
If the picture is hidden you can no longer get "marching ants" by double-
clicking the selection tool.
If the picture is hidden you can no longer set an insertion point by choosing
the text tool and clicking the mouse.
*** Typing in locked stacks
A bug in HyperCard 1.2.1 allowed users to type carriage returns into fields
in a locked stack, even though the userModify property was set to false. This
has been fixed.
*** Working with custom FOND resources
A bug allowed a custom FOND attached to a stack to be purged, but a Font
Manager global still referred to it. This could corrupt HyperCard's heap; it
has been fixed.
*** Font substitution with the ImageWriter LQ
If the 3x fonts for the ImageWriter LQ are available, HyperCard will now use
them.
*** Going to other stacks while deleting a card
Earlier versions of HyperCard would result in an Unexpected Error #1250 or
#1260 if a user (via a script) left the stack in a delete or openCard handler.
This has been fixed.
*** Copying the selection
Earlier versions of HyperCard accidentally copied the entire text of a source
container when a handler requested that the selection (highlighted text) be
put after the contents of a destination container. Version 1.2.2 fixes this.
*** the diskSpace
The diskSpace property now returns the correct available diskspace when it's
more than 32 megabytes.
*** Visual effects on "E-Machines" type large monitors
Visual effects now work with monitors which change low memory screen globals.
*** Flush mouseUp event before sending the mouseUp message
When a button was clicked on and the message was sent prior to the event being
removed from the queue, XCMDs were getting confused by the extra event. This
is fixed.
*** Suspend/Resume
In some sublaunch situations where the user had to find the application with
Standard File, a bug resulted in weird looking screens on return to HyperCard.
This has been fixed.