mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-28 13:52:37 +00:00
189 lines
7.4 KiB
Plaintext
189 lines
7.4 KiB
Plaintext
|
TextEdit Release Notes
|
|||
|
First created on: 6/23/92 1:45:16 PM
|
|||
|
|
|||
|
----------------------------------------------------------•----------------------------------------------------------
|
|||
|
|
|||
|
6/23/92 1:45:25 PM
|
|||
|
|
|||
|
File: ScriptEqu.a,52
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Interfaces∫AIncludes∫
|
|||
|
|
|||
|
File: International.r,26
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Toolbox∫ScriptMgr∫
|
|||
|
|
|||
|
File: TextEdit.a,45
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
File: TextEditPatchIIciROM.a,46
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
Radar bug: #1029263
|
|||
|
|
|||
|
> Release notes for this change:
|
|||
|
|
|||
|
<csd> Now determining whether to synchronize the font and keyboard for unstyled text by
|
|||
|
checking the script’s ‘itlb’ flags word. A new bit has been defined ‘smsfSynchUnstyledTE’; the
|
|||
|
default is 0 which means do not synchronize and 1 (obviously) means synchronize. This allows
|
|||
|
each script system to determine when they want to synchronize their keyboard and font, and it
|
|||
|
removes the special casing script knowledge from TextEdit.
|
|||
|
|
|||
|
The script systems that currently want to synchronize include:
|
|||
|
Roman, Cyrillic, Arabic, Hebrew
|
|||
|
|
|||
|
The script systems that currently do NOT want to synchronize include:
|
|||
|
Eastern European (Hungarian, Czechoslovakia, Poland), Thai, Japanese, Korean, Chinese, Korean
|
|||
|
|
|||
|
|
|||
|
> What was tested:
|
|||
|
|
|||
|
Using TeachText and MacDraw 1.9.5, I tested if the keyboard synchronized to the font. I modified
|
|||
|
the Roman and Hebrew ‘itlb’ to be set correctly (for synchronization) and then I tested on a system
|
|||
|
that included Roman, Hebrew, Thai and Japanese. I made each of these the system script using
|
|||
|
ScriptSwitcher and the expected synchronization behavior was exhibited.
|
|||
|
|
|||
|
|
|||
|
----------------------------------------------------------•----------------------------------------------------------
|
|||
|
7/7/92 3:18:22 PM
|
|||
|
|
|||
|
File: TextEdit.a,46
|
|||
|
Owner: Peter Edberg
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
File: TextEditPatchIIciROM.a,47
|
|||
|
Owner: Peter Edberg
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
Radar bug: #1030684
|
|||
|
|
|||
|
> Release notes for this change:
|
|||
|
|
|||
|
TEGetPoint failed in unstyled multiline text if a R->L script was present because in this
|
|||
|
case DoMeasure measured from the beginning of the text buffer, not the beginning of the
|
|||
|
current line. The result returned by TEGetPoint for characters in lines after the first
|
|||
|
would have the correct vertical coordinate, but the horizontal coordinate would be to the
|
|||
|
right of the end of the line. This caused problems for the underline in the SWM window if
|
|||
|
there were multiple lines in the window and Arabic or Hebrew were installed. This problem
|
|||
|
also showed up with Yishai’s TEGetPoint test tool based on TESample.
|
|||
|
|
|||
|
Fixed DoMeasure to correctly measure from the beginning of the current line (same 3 line
|
|||
|
fix in two different files)
|
|||
|
|
|||
|
> What was tested:
|
|||
|
|
|||
|
Created TEInit with fix; tested it in Cube-E b8 with WorldScript I a14 and WorldScript II
|
|||
|
a20, with Japanese primary. Tested SWM, and also used Yishai’s TEGetPoint test tool;
|
|||
|
problem fixed according to both tests.
|
|||
|
----------------------------------------------------------•----------------------------------------------------------
|
|||
|
7/8/92 1:07:01 AM
|
|||
|
|
|||
|
File: TextEdit.a,47
|
|||
|
Owner: Peter Edberg
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
File: TextEditPatchIIciROM.a,48
|
|||
|
Owner: Peter Edberg
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
Radar bug: #1035214
|
|||
|
|
|||
|
> Release notes for this change:
|
|||
|
|
|||
|
Styled TextEdit was crashing with R->L scripts when the number of style runs on a line
|
|||
|
went beyond 10. One way to see this in PlayText was to type a line of Hebrew or Arabic
|
|||
|
text with spaces, and then begin changing spaces to Roman (in a Roman font). Changing a
|
|||
|
space would create 2 new style runs; after the fifth space or so, TextEdit would crash.
|
|||
|
|
|||
|
The TextEdit DoSearch routine allocates a handle for a format order array if the number
|
|||
|
of style runs goes beyond 10, and sets a low-memory flag in ExpandMem to indicate that it
|
|||
|
has done so. The handle is saved in its stack frame. However, some paths through DoSearch
|
|||
|
do not exit through the routine that is supposed to check the flag, and if it is set,
|
|||
|
dispose of the handle and clear the flag. This has two consequences: (1) the handle is
|
|||
|
orphaned, and (2) the flag is not reset. Since the flag is not reset, subsequent TextEdit
|
|||
|
calls will assume that a valid handle exists in their stack frame, even though one may
|
|||
|
not have been allocated; if they try to do something with the handle (whose value will be
|
|||
|
just be uninitialized garbage on the stack frame), they could crash.
|
|||
|
|
|||
|
For non-IIci-ROM CPUs, this was fixed by making DoSearch always exit through a routine
|
|||
|
that disposes of the handle if the flag is set (and then clears the flag). For IIci ROMs,
|
|||
|
the same fix would have required a large and risky patch. So, for IIci ROM CPUs, DoText
|
|||
|
was changed to always clear the low-mem flag. This prevents the crash, but does not solve
|
|||
|
the orphaned handle problem. Oh, well.
|
|||
|
|
|||
|
Many thanks to Chris Derossi and Hani Abdelazim for their debugging efforts.
|
|||
|
|
|||
|
> What was tested:
|
|||
|
|
|||
|
A TEinit containing this fix was tested on a IIci with Hebrew and a II with Arabic. Using
|
|||
|
PlayText documents that previously could be used to cause the problem, we were not able
|
|||
|
to cause it with the fixed version of TextEdit.
|
|||
|
----------------------------------------------------------•----------------------------------------------------------
|
|||
|
7/15/92 8:18:44 PM
|
|||
|
|
|||
|
File: ToolUtils.a,25
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Interfaces∫AIncludes∫
|
|||
|
|
|||
|
File: TextEdit.h,22
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Interfaces∫CIncludes∫
|
|||
|
|
|||
|
File: TextEdit.p,19
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Interfaces∫PInterfaces∫
|
|||
|
|
|||
|
File: TextEditPriv.a,16
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Internal∫Asm∫
|
|||
|
|
|||
|
File: TextEdit.a,49
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
File: TextEditPatchIIciROM.a,50
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
Radar bug: ##
|
|||
|
|
|||
|
> Release notes for this change:
|
|||
|
|
|||
|
Move DoText selectors from the private interface file TextEditPriv.a to the public
|
|||
|
interface files so the whole darn world can use the selectors instead of hard-coded
|
|||
|
constants! Renamed teMark to teHighlight and teLoc to teCaret.
|
|||
|
|
|||
|
> What was tested:
|
|||
|
|
|||
|
No testing necessary since just changed the names.
|
|||
|
----------------------------------------------------------•----------------------------------------------------------
|
|||
|
8/11/92 6:57:15 PM
|
|||
|
|
|||
|
File: TextEdit.a,50
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
File: TextEditPatchIIciROM.a,51
|
|||
|
Owner: Susan M. Bartalo
|
|||
|
Project: MainProj∫Toolbox∫TextEdit∫
|
|||
|
|
|||
|
Radar bug: #1036481
|
|||
|
|
|||
|
> Release notes for this change:
|
|||
|
|
|||
|
Remove font and keyboard synchronization for Roman-only systems. It’s unnecessary and it
|
|||
|
slows down the system! (God only knows that TextEdit doesn’t need to be any slower!!!!)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
> What was tested:
|
|||
|
|
|||
|
Used TeachText on a Roman-only system to backspace across some characters and made sure
|
|||
|
that KeyScript and FlushEvents are not called. This verifies that the keyboard layout is
|
|||
|
not being changed to correspond to the font. Also verified that these calls are still
|
|||
|
made for a non-Roman primary script system so that font and keyboard synchronization are
|
|||
|
still occurring.
|
|||
|
----------------------------------------------------------•----------------------------------------------------------
|