/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 27, 1992 5:55:10 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: TEditBufferedInputImpl, module: TEditBufferedInputImpl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [4040248180,1506538764] TEditBufferedInputImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef word (*fPt)(); typedef struct {word f0, f1;} W2; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {word f0, f1, f2, f3;} W4; typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8; typedef struct {W8 f; W4 r;} W12; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) static void NoName←Q732(); static void TEditBufferedInputImpl←P0(); static void BufferedInsertChar←P60(); static word NoName←Q792(); static void BufferedInsertText←P120(); static void WaitForInsertToFinish←P180(); static word NoName←Q852(); static void BufferedInputInsertionProcess←P240(); static word NoName←Q912(); static void WaitForCharsToArrive←P504(); static word NoName←Q972(); static void ProcessCharsInBuffer←P564(); static word NoName←Q1032(); static void NoteInsertionDone←P624(); static word NoName←Q1092(); static word MakeEdits←P300(); static void NoName←Q1152(); static void NoName←Q1212(); static void NoName←Q1272(); static void NoName←Q1332(); static void NoName←Q1392(); static void NoName←Q1452(); static word NoName←Q1512(); static struct {unsigned f; char r[44];} string1 = {2752556, "\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261\000"}; static struct {unsigned f; char r[16];} string2 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"}; static struct {unsigned f; char r[4];} string3 = {65537, "\001\000\000"}; static struct {unsigned f; char r[24];} string4 = {1441816, "TEditBufferedInputImpl\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\360\321\113\164\300\131\313\365\014\100\164\000\000"}; static struct {unsigned f; char r[12];} string6 = {720907, "\006\003\100\130\001\100\134\001\100\240\001"}; static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\240\236\274\315\300\111\163\325\023\100\150\000\000"}; static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string9 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"}; static struct {unsigned f; char r[12];} string11 = {1413833833, "tInputOps"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\146\107\314\260\300\352\117\305\000\100\150\000\000"}; static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\241\200\031\316\300\154\273\372\020\100\150\000\000"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\071\221\120\257\300\230\321\322\204\100\150\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"}; static struct { word f0[21]; word f21; word f22[19]; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52[10]; } globalframe = { {0}, 32, {0}, (word) MakeEdits←P300, 0, (word) BufferedInputInsertionProcess←P240, 0, (word) WaitForInsertToFinish←P180, 0, (word) BufferedInsertText←P120, 0, (word) BufferedInsertChar←P60, 0, (word) TEditBufferedInputImpl←P0, {0} }; static void NoName←Q732() { register ptr gf←c099 = (ptr) &globalframe; word var←c13524; (* (( (ptr) gf←c099)+36) ) = (word) XR←GetTypeIndexS((word) (&string1)); (* (( (ptr) gf←c099)+39) ) = (word) XR←GetTypeIndex((word) &string2, 0, (word) &string3); (* (ptr) (( (bPt) gf←c099)+160) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c099)+39) ), (word) &string4); (void) XR←DeclareGlobalFrame((word) "TEditBufferedInputImpl", &globalframe, (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6) , (word) (( (bPt) gf←c099)+204)/* var←c12692 */ ); var←c13524 = (word) XR←ImportInterface((word) "Process", (word) XR←GetTypeIndexS((word) (&string7)), 22); (* (( (ptr) gf←c099)+53)/* var←c12852 */ ) = var←c13524; (void) XR←ImportProcS(var←c13524, 264449); (void) XR←ImportProcS(var←c13524, 526081); (void) XR←ImportProcS(var←c13524, 67371521); (void) XR←ImportProcS(var←c13524, 525570); var←c13524 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string8)), 43); (* (( (ptr) gf←c099)+54)/* var←c12980 */ ) = var←c13524; (void) XR←ImportProcS(var←c13524, 67634434); (void) XR←ImportProcS(var←c13524, 67373569); (void) XR←ImportProcS(var←c13524, 67903235); (void) XR←ImportProcS(var←c13524, 67633666); var←c13524 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string9)), 39); (* (( (ptr) gf←c099)+59)/* var←c13396 */ ) = var←c13524; (void) XR←ImportProcS(var←c13524, 136585481); var←c13524 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string10)), 44); (* (( (ptr) gf←c099)+58)/* var←c13364 */ ) = var←c13524; var←c13524 = (word) XR←ImportInterface((word) &string11, (word) XR←GetTypeIndexS((word) (&string12)), 66); (* (( (ptr) gf←c099)+56)/* var←c13236 */ ) = var←c13524; (void) XR←ImportProcS(var←c13524, 67379713); var←c13524 = (word) XR←ImportInterface((word) "TEditLocks", (word) XR←GetTypeIndexS((word) (&string13)), 7); (* (( (ptr) gf←c099)+57)/* var←c13268 */ ) = var←c13524; (void) XR←ImportProcS(var←c13524, 262913); (void) XR←ImportProcS(var←c13524, 67895299); var←c13524 = (word) XR←ImportInterface((word) "TEditRefresh", (word) XR←GetTypeIndexS((word) (&string14)), 3); (* (( (ptr) gf←c099)+60)/* var←c13492 */ ) = var←c13524; (void) XR←ImportProcS(var←c13524, 786947); var←c13524 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string15)), 68); (* (( (ptr) gf←c099)+55)/* var←c13204 */ ) = var←c13524; (void) XR←ImportProcS(var←c13524, 797186); (void) XR←ImportProcS(var←c13524, 526338); (void) XR←ImportProcS(var←c13524, 134495233); (void) XR←ImportProcS(var←c13524, 67114496); (void) XR←ImportProcS(var←c13524, 266753); (void) XR←ImportProcS(var←c13524, 67386113); (void) XR←ImportProcS(var←c13524, 528642); (void) XR←ImportProcS(var←c13524, 67110400); var←c13524 = (word) XR←ExportInterface((word) &string11, (word) XR←GetTypeIndexS((word) (&string12)), 66); (* (( (ptr) gf←c099)+61)/* var←c13556 */ ) = var←c13524; (void) XR←ExportProcS(var←c13524, (word) (( (bPt) gf←c099)+196)/* var←c12660 */ , 263425); (void) XR←ExportProcS(var←c13524, (word) (( (bPt) gf←c099)+188)/* var←c12628 */ , 263681); (void) XR←ExportProcS(var←c13524, (word) (( (bPt) gf←c099)+180)/* var←c12596 */ , 1792); } static void TEditBufferedInputImpl←P0(formal←c040, formal←c029) word formal←c040; word formal←c029; { register ptr gf←c13588 = (ptr) &globalframe; /* TEditBufferedInputImpl: */ SOURCE(492, 4532) /* moved to installation proc */ SOURCE(1134, 47) { word var←c12724; word var←c12756; word var←c12788; { word idx16; var←c12724 = ( idx16 = (* (( (ptr) gf←c13588)+21)/* bufferMaxlen←v3000 */ ), BCK(idx16, 32768) ); }; var←c12756 = (((var←c12724 + 3) >> 2) << 2); var←c12788 = XR←NewObject((4 + var←c12756), (* (( (ptr) gf←c13588)+36) )); (* (( (hPt) var←c12788)+1) ) = var←c12724; (* (( (ptr) gf←c13588)+22)/* inputBuffer←v3028 */ ) = var←c12788; }; SOURCE(4817, 207) SOURCE(4819, 83) { word var←c12820; { word pd17; pd17 = (* (( (ptr) (* (( (ptr) gf←c13588)+53)/* var←c12852 */ ))+6) ); var←c12820 = (word) ( *( (fPt) ((* (ptr) pd17 ))))(500, pd17); }; { word pd18; pd18 = (* (( (ptr) (* (( (ptr) gf←c13588)+53)/* var←c12852 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd18 ))))((word) (( (bPt) gf←c13588)+96)/* untilTimesOutInALittleWhile←v3084 */ , var←c12820, pd18) ; }; }; SOURCE(4904, 57) { word var←c12884; { word pd19; pd19 = (* (( (ptr) (* (( (ptr) gf←c13588)+53)/* var←c12852 */ ))+6) ); var←c12884 = (word) ( *( (fPt) ((* (ptr) pd19 ))))(50, pd19); }; { word pd20; pd20 = (* (( (ptr) (* (( (ptr) gf←c13588)+53)/* var←c12852 */ ))+9) ); (void) ( *( (fPt) ((* (ptr) pd20 ))))((word) (( (bPt) gf←c13588)+120)/* bufferClear←v3112 */ , var←c12884, pd20); }; }; SOURCE(4970, 52) { W2 var←c12916; { W2 var←c037; word var←c036; var←c036 = XR←ExtensionAlloc(4); { word tmpAddr21; tmpAddr21 = (word) var←c036; (* (ptr) tmpAddr21 ) = ( ((word) (fPt) NoName←Q1512) ); (* (( (ptr) tmpAddr21) + 1) ) = 0; (* (( (ptr) tmpAddr21) + 2) ) = (word) (( (bPt) gf←c13588)+172)/* var←c12564 */ ; (* (( (ptr) tmpAddr21) + 3) ) = 0; }; (void) XR←Fork((word) &var←c037, var←c036); var←c12916 = var←c037; }; { word pd22; pd22 = (* (( (ptr) (* (( (ptr) gf←c13588)+53)/* var←c12852 */ ))+11) ); (void) ( *( (fPt) ((* (ptr) pd22 ))))(var←c12916, pd22); }; }; } static void BufferedInsertChar←P60(formal←c0146) word formal←c0146; { W5 var←c13620; /* declaration of char←v3500 skipped */ register ptr gf←c13652 = (ptr) &globalframe; var←c13620.f4/* char←v3500 */ = formal←c0146; /* BufferedInsertChar: */ SOURCE(1277, 565) (void) (XR←MonitorEntry((word) (( (bPt) gf←c13652)+16)/* LOCK←v2888 */ )); SOURCE(1332, 510) { word var←c0128; var←c0128 = (word) &var←c13620; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q792) ), ( ((word) (fPt) NoName←Q1452) ), var←c0128); }; SOURCE(1277, 565) (void) (XR←MonitorExit((word) (( (bPt) gf←c13652)+16)/* LOCK←v2888 */ )); return; } static word NoName←Q792(formal←c0103) word formal←c0103; { register ptr gf←c0102 = (ptr) &globalframe; SOURCE(1371, 18) { word count←v3780 = 0; SOURCE(1391, 229) lab←L100004: ; if (((* (hPt) (* (( (ptr) gf←c0102)+22)/* inputBuffer←v3028 */ ) ) >= (* (( (ptr) gf←c0102)+21)/* bufferMaxlen←v3000 */ ))) { } else { goto lab←L100002; }; SOURCE(1450, 144) count←v3780 = (count←v3780 + 1); if (( (int)count←v3780 > (int)10)) { SOURCE(1505, 65) { word var←c12948; { word pd23; pd23 = (* (( (ptr) (* (( (ptr) gf←c0102)+54)/* var←c12980 */ ))+35) ); var←c12948 = (word) ( *( (fPt) ((* (ptr) pd23 ))))((* (( (ptr) gf←c0102)+22)/* inputBuffer←v3028 */ ), 0, 32767, pd23); }; { word pd24; pd24 = (* (( (ptr) (* (( (ptr) gf←c0102)+54)/* var←c12980 */ ))+6) ); (* (( (ptr) gf←c0102)+23)/* inputRope←v3056 */ ) = (word) ( *( (fPt) ((* (ptr) pd24 ))))((* (( (ptr) gf←c0102)+23)/* inputRope←v3056 */ ), var←c12948, pd24) ; }; }; SOURCE(1572, 22) (* (hPt) (* (( (ptr) gf←c0102)+22)/* inputBuffer←v3028 */ ) ) = 0; SOURCE(1596, 5) goto lab←L100003; }; SOURCE(1604, 16) (void) (XR←Wait((word) (( (bPt) gf←c0102)+16)/* LOCK←v2888 */ , (word) (( (bPt) gf←c0102)+120)/* bufferClear←v3112 */ )); goto lab←L100004; lab←L100002: ; lab←L100003: ; SOURCE(1690, 38) { word var←c13012; var←c13012 = (* (( (ptr) gf←c0102)+22)/* inputBuffer←v3028 */ ); { word idx25; word limit26; (* ((( (bPt) var←c13012)+4)+( idx25 = (word) (* (hPt) (* (( (ptr) gf←c0102)+22)/* inputBuffer←v3028 */ ) ), limit26 = (word) (* (( (hPt) var←c13012)+1) ), BCK(idx25, limit26) )) ) = (* (( (bPt) formal←c0103)+19) ); }; }; SOURCE(1730, 43) { word idx27; (* (hPt) (* (( (ptr) gf←c0102)+22)/* inputBuffer←v3028 */ ) ) = ( idx27 = (word) ((* (hPt) (* (( (ptr) gf←c0102)+22)/* inputBuffer←v3028 */ ) ) + 1), BCK(idx27, 32768) ); }; SOURCE(1775, 67) if (((* (( (ptr) gf←c0102)+8)/* state←v2916 */ ) == 0)) { SOURCE(1796, 20) (* (( (ptr) gf←c0102)+8)/* state←v2916 */ ) = 1; SOURCE(1818, 24) (void) (XR←Notify((word) (( (bPt) gf←c0102)+36)/* bufferingStarted←v2944 */ )); }; }; return(0); } static void BufferedInsertText←P120(text←v3560) word text←v3560; { register ptr gf←c13684 = (ptr) &globalframe; /* BufferedInsertText: */ SOURCE(1849, 133) SOURCE(1903, 79) { register word n←v3824 = 0; register word noName←c13044; { word pd28; pd28 = (* (( (ptr) (* (( (ptr) gf←c13684)+54)/* var←c12980 */ ))+14) ); noName←c13044 = (word) ( *( (fPt) ((* (ptr) pd28 ))))(text←v3560, pd28); }; if (( (int)n←v3824 >= (int)noName←c13044)) { goto lab←L100005; }; lab←L100008: ; SOURCE(1943, 39) { word var←c13076; { word pd29; pd29 = (* (( (ptr) (* (( (ptr) gf←c13684)+54)/* var←c12980 */ ))+9) ); var←c13076 = (word) ( *( (fPt) ((* (ptr) pd29 ))))(text←v3560, n←v3824, pd29); }; (void) BufferedInsertChar←P60(var←c13076); }; n←v3824 = (n←v3824 + 1); if (( (int)n←v3824 < (int)noName←c13044)) { goto lab←L100008; }; lab←L100005: ; }; } static void WaitForInsertToFinish←P180() { W4 var←c13716; register ptr gf←c13748 = (ptr) &globalframe; /* WaitForInsertToFinish: */ SOURCE(1997, 122) (void) (XR←MonitorEntry((word) (( (bPt) gf←c13748)+16)/* LOCK←v2888 */ )); SOURCE(2042, 77) { word var←c0129; var←c0129 = (word) &var←c13716; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q852) ), ( ((word) (fPt) NoName←Q1392) ), var←c0129); }; SOURCE(1997, 122) (void) (XR←MonitorExit((word) (( (bPt) gf←c13748)+16)/* LOCK←v2888 */ )); return; } static word NoName←Q852(formal←c0107) word formal←c0107; { register ptr gf←c0106 = (ptr) &globalframe; SOURCE(2081, 38) lab←L100013: ; if (((* (( (ptr) gf←c0106)+8)/* state←v2916 */ ) != 0)) { } else { goto lab←L100011; }; SOURCE(2101, 18) (void) (XR←Wait((word) (( (bPt) gf←c0106)+16)/* LOCK←v2888 */ , (word) (( (bPt) gf←c0106)+60)/* insertionDone←v2972 */ )); goto lab←L100013; lab←L100011: ; return(0); } static void BufferedInputInsertionProcess←P240() { W12 var←c13780; register ptr gf←c13812 = (ptr) &globalframe; /* declaration of var←c13108 skipped */ /* declaration of var←c13140 skipped */ /* declaration of var←c13172 skipped */ /* declaration of tSel←v3868 skipped */ /* BufferedInputInsertionProcess: */ SOURCE(2134, 1657) { word tmpAddr30; tmpAddr30 = (word) (( (ptr) &var←c13780)+4)/* var←c13108 */ ; (* (ptr) tmpAddr30 ) = ( ((word) (fPt) NoteInsertionDone←P624) ); (* (( (ptr) tmpAddr30) + 1) ) = 1; }; { word tmpAddr31; tmpAddr31 = (word) (( (ptr) &var←c13780)+6)/* var←c13140 */ ; (* (ptr) tmpAddr31 ) = ( ((word) (fPt) ProcessCharsInBuffer←P564) ); (* (( (ptr) tmpAddr31) + 1) ) = 1; }; { word tmpAddr32; tmpAddr32 = (word) (( (ptr) &var←c13780)+8)/* var←c13172 */ ; (* (ptr) tmpAddr32 ) = ( ((word) (fPt) WaitForCharsToArrive←P504) ); (* (( (ptr) tmpAddr32) + 1) ) = 1; }; SOURCE(2174, 54) { word pd33; pd33 = (* (( (ptr) (* (( (ptr) gf←c13812)+55)/* var←c13204 */ ))+10) ); (* (( (ptr) &var←c13780)+10)/* tSel←v3868 */ ) = (word) ( *( (fPt) ((* (ptr) pd33 ))))(pd33); }; SOURCE(2263, 47) { word pd34; pd34 = (* (( (ptr) (* (( (ptr) gf←c13812)+53)/* var←c12852 */ ))+13) ); (void) ( *( (fPt) ((* (ptr) pd34 ))))(3, pd34); }; SOURCE(2319, 1472) lab←L100016: ; SOURCE(2319, 1472) { word editsOK←v3912 = 0; /* declaration of root←v3940 skipped */ word rootLocked←v3968 = 0; SOURCE(2394, 24) (* (( (ptr) &var←c13780)+11)/* root←v3940 */ ) = 0; SOURCE(3317, 22) (void) WaitForCharsToArrive←P504((word) ((( (bPt) &var←c13780)+32)/* var←c13172 */ )); SOURCE(3341, 57) { word pd35; pd35 = (* (( (ptr) (* (( (ptr) gf←c13812)+55)/* var←c13204 */ ))+21) ); (void) ( *( (fPt) ((* (ptr) pd35 ))))(0, (* (( (ptr) gf←c13812)+40) ), pd35); }; SOURCE(3400, 58) { word pd36; pd36 = (* (( (ptr) (* (( (ptr) gf←c13812)+56)/* var←c13236 */ ))+38) ); editsOK←v3912 = (word) ( *( (fPt) ((* (ptr) pd36 ))))((* (ptr) ((* (( (ptr) (* (( (ptr) gf←c13812)+55)/* var←c13204 */ ))+4) )) ), pd36); }; SOURCE(3479, 72) if ((0 != editsOK←v3912)) { SOURCE(3495, 56) { word pd37; pd37 = (* (( (ptr) (* (( (ptr) gf←c13812)+55)/* var←c13204 */ ))+63) ); (* (( (ptr) &var←c13780)+11)/* root←v3940 */ ) = (word) ( *( (fPt) ((* (ptr) pd37 ))))((* (ptr) ((* (( (ptr) (* (( (ptr) gf←c13812)+55) /* var←c13204 */ ))+4) )) ), pd37); }; }; SOURCE(3553, 90) if (((* (( (ptr) &var←c13780)+11)/* root←v3940 */ ) != 0)) { SOURCE(3572, 52) { word var←c13300; word pd38; pd38 = (* (( (ptr) (* (( (ptr) gf←c13812)+57)/* var←c13268 */ ))+4) ); var←c13300 = (word) ( *( (fPt) ((* (ptr) pd38 ))))((* (( (ptr) &var←c13780)+11)/* root←v3940 */ ), (* (( (ptr) gf←c13812)+40) ), 1, pd38); }; SOURCE(3626, 17) rootLocked←v3968 = 1; }; SOURCE(3648, 34) SOURCE(3648, 34) { word var←c01; { word var←c0130; var←c0130 = (word) &var←c13780; var←c01 = (word) XR←Enable(( ((word) (fPt) NoName←Q912) ), ( ((word) (fPt) NoName←Q1332) ), var←c0130); }; /* removed trivial cond node */ }; SOURCE(3693, 33) { word pd39; pd39 = (* (( (ptr) (* (( (ptr) gf←c13812)+55)/* var←c13204 */ ))+22) ); (void) ( *( (fPt) ((* (ptr) pd39 ))))(0, pd39); }; SOURCE(3728, 42) if ((0 != rootLocked←v3968)) { SOURCE(3747, 23) { word pd40; pd40 = (* (( (ptr) (* (( (ptr) gf←c13812)+57)/* var←c13268 */ ))+7) ); (void) ( *( (fPt) ((* (ptr) pd40 ))))((* ((( (ptr) &var←c13780)+11)/* root←v3940 */ ) ), pd40); }; }; SOURCE(3772, 19) (void) NoteInsertionDone←P624((word) ((( (bPt) &var←c13780)+16)/* var←c13108 */ )); }; goto lab←L100016; } static word NoName←Q912(formal←c0109) word formal←c0109; { SOURCE(3648, 34) (void) ProcessCharsInBuffer←P564((word) ((( (bPt) formal←c0109)+24))); return(0); } static void WaitForCharsToArrive←P504(formal←c13908) word formal←c13908; { W4 var←c13844; register ptr gf←c13876 = (ptr) &globalframe; formal←c13908 = (formal←c13908 - 32); var←c13844.f0 = formal←c13908; /* WaitForCharsToArrive: */ SOURCE(2532, 35) (void) (XR←MonitorEntry((word) (( (bPt) gf←c13876)+16)/* LOCK←v2888 */ )); SOURCE(2569, 105) { word var←c0131; var←c0131 = (word) &var←c13844; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q972) ), ( ((word) (fPt) NoName←Q1272) ), var←c0131); }; SOURCE(2532, 35) (void) (XR←MonitorExit((word) (( (bPt) gf←c13876)+16)/* LOCK←v2888 */ )); return; } static word NoName←Q972(formal←c0113) word formal←c0113; { register ptr gf←c0112 = (ptr) &globalframe; SOURCE(2592, 49) lab←L100025: ; if (((* (( (ptr) gf←c0112)+8)/* state←v2916 */ ) != 1)) { } else { goto lab←L100023; }; SOURCE(2620, 21) (void) (XR←Wait((word) (( (bPt) gf←c0112)+16)/* LOCK←v2888 */ , (word) (( (bPt) gf←c0112)+36)/* bufferingStarted←v2944 */ ) ); goto lab←L100025; lab←L100023: ; SOURCE(2652, 22) (* (( (ptr) gf←c0112)+8)/* state←v2916 */ ) = 2; return(0); } static void ProcessCharsInBuffer←P564(formal←c14004) word formal←c14004; { W4 var←c13940; register ptr gf←c13972 = (ptr) &globalframe; formal←c14004 = (formal←c14004 - 24); var←c13940.f0 = formal←c14004; /* ProcessCharsInBuffer: */ SOURCE(2679, 35) (void) (XR←MonitorEntry((word) (( (bPt) gf←c13972)+16)/* LOCK←v2888 */ )); SOURCE(2716, 376) { word var←c0132; var←c0132 = (word) &var←c13940; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q1032) ), ( ((word) (fPt) NoName←Q1212) ), var←c0132); }; SOURCE(2679, 35) (void) (XR←MonitorExit((word) (( (bPt) gf←c13972)+16)/* LOCK←v2888 */ )); return; } static word NoName←Q1032(formal←c0117) word formal←c0117; { register ptr gf←c0116 = (ptr) &globalframe; SOURCE(2757, 23) (* (( (ptr) gf←c0116)+8)/* state←v2916 */ ) = 3; SOURCE(2782, 283) if (((* (( (ptr) (* (ptr) formal←c0117 ))+11) ) != 0)) { SOURCE(2799, 143) { word caretVisible←v4144; SOURCE(2836, 50) { word pd41; pd41 = (* (( (ptr) (* (( (ptr) gf←c0116)+55)/* var←c13204 */ ))+26) ); caretVisible←v4144 = (word) ( *( (fPt) ((* (ptr) pd41 ))))(pd41); }; SOURCE(2888, 52) lab←L100030: ; if ((word) MakeEdits←P300((* (( (ptr) (* (ptr) formal←c0117 ))+11) ), (* (( (ptr) (* (ptr) formal←c0117 ))+10) ), caretVisible←v4144) ) { } else { goto lab←L100028; }; goto lab←L100030; lab←L100028: ; }; } else { SOURCE(3003, 22) (* (hPt) (* (( (ptr) gf←c0116)+22)/* inputBuffer←v3028 */ ) ) = 0; SOURCE(3027, 15) (* (( (ptr) gf←c0116)+23)/* inputRope←v3056 */ ) = 0; SOURCE(3044, 21) (void) (XR←Broadcast((word) (( (bPt) gf←c0116)+120)/* bufferClear←v3112 */ )); }; SOURCE(3070, 22) (* (( (ptr) gf←c0116)+8)/* state←v2916 */ ) = 4; return(0); } static void NoteInsertionDone←P624(formal←c14100) word formal←c14100; { W4 var←c14036; register ptr gf←c14068 = (ptr) &globalframe; formal←c14100 = (formal←c14100 - 16); var←c14036.f0 = formal←c14100; /* NoteInsertionDone: */ SOURCE(3097, 32) (void) (XR←MonitorEntry((word) (( (bPt) gf←c14068)+16)/* LOCK←v2888 */ )); SOURCE(3131, 141) { word var←c0133; var←c0133 = (word) &var←c14036; (void) (word) XR←Enable(( ((word) (fPt) NoName←Q1092) ), ( ((word) (fPt) NoName←Q1152) ), var←c0133); }; SOURCE(3097, 32) (void) (XR←MonitorExit((word) (( (bPt) gf←c14068)+16)/* LOCK←v2888 */ )); return; } static word NoName←Q1092(formal←c0121) word formal←c0121; { register ptr gf←c0120 = (ptr) &globalframe; SOURCE(3154, 118) { word tc42; if (((* (( (ptr) gf←c0120)+23)/* inputRope←v3056 */ ) == 0)) { tc42 = (word) ((* (hPt) (* (( (ptr) gf←c0120)+22)/* inputBuffer←v3028 */ ) ) == 0); } else { tc42 = (word) 0; }; if (tc42) { SOURCE(3203, 12) (* (( (ptr) gf←c0120)+8)/* state←v2916 */ ) = 0; SOURCE(3217, 23) (void) (XR←Broadcast((word) (( (bPt) gf←c0120)+60)/* insertionDone←v2972 */ )); } else { SOURCE(3251, 21) (* (( (ptr) gf←c0120)+8)/* state←v2916 */ ) = 1; }; }; return(0); } static word MakeEdits←P300(root←v3652, tSel←v3680, caretVisible←v3708) word root←v3652; word tSel←v3680; word caretVisible←v3708; { register ptr gf←c14132 = (ptr) &globalframe; word var←c3752; W2 pos←v4188; /* MakeEdits: */ SOURCE(3806, 997) SOURCE(3922, 75) { word pd43; pd43 = (* (( (ptr) (* (( (ptr) gf←c14132)+55)/* var←c13204 */ ))+64) ); (void) ( *( (fPt) ((* (ptr) pd43 ))))((word) &pos←v4188, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c14132)+55)/* var←c13204 */ ))+4) ) ), pd43); }; SOURCE(3999, 90) { word tc45; if ((root←v3652 == 0)) { goto then044;}; if ((pos←v4188.f0 == 0)) { goto then044;}; if (((* (( (ptr) gf←c14132)+23)/* inputRope←v3056 */ ) == 0)) { tc45 = (word) ((* (hPt) (* (( (ptr) gf←c14132)+22)/* inputBuffer←v3028 */ ) ) == 0); } else { tc45 = (word) 0; }; if (tc45) { then044: ; SOURCE(4076, 13) return(0); }; }; SOURCE(4091, 60) { word pd46; pd46 = (* (( (ptr) (* (( (ptr) gf←c14132)+55)/* var←c13204 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd46 ))))((* (ptr) (* (( (ptr) (* (( (ptr) gf←c14132)+55)/* var←c13204 */ ))+4) ) ), tSel←v3680, pd46) ; }; SOURCE(4153, 171) { W2 var←c13428; { word var←c13332; { word pd47; pd47 = (* (( (ptr) (* (( (ptr) gf←c14132)+54)/* var←c12980 */ ))+35) ); var←c13332 = (word) ( *( (fPt) ((* (ptr) pd47 ))))((* (( (ptr) gf←c14132)+22)/* inputBuffer←v3028 */ ), 0, 32767, pd47) ; }; { word pd48; pd48 = (* (( (ptr) (* (( (ptr) gf←c14132)+59)/* var←c13396 */ ))+37) ); (void) ( *( (fPt) ((* (ptr) pd48 ))))((word) &var←c13428, root←v3652, pos←v4188.f0, pos←v4188.f1, 0, var←c13332 , (* (( (ptr) tSel←v3680)+25) ), 0, 0, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c14132)+58)/* var←c13364 */ ))+6) ) ), pd48) ; }; }; }; SOURCE(4326, 173) if (((* (( (ptr) gf←c14132)+23)/* inputRope←v3056 */ ) != 0)) { SOURCE(4348, 151) { W2 var←c13460; { word pd49; pd49 = (* (( (ptr) (* (( (ptr) gf←c14132)+59)/* var←c13396 */ ))+37) ); (void) ( *( (fPt) ((* (ptr) pd49 ))))((word) &var←c13460, root←v3652, pos←v4188.f0, pos←v4188.f1, 0, (* (( (ptr) gf←c14132)+23) /* inputRope←v3056 */ ) , (* (( (ptr) tSel←v3680)+25) ), 0, 0, (* (ptr) (* (( (ptr) (* (( (ptr) gf←c14132)+58)/* var←c13364 */ ))+6) ) ), pd49) ; }; }; }; SOURCE(4501, 63) { word pd50; pd50 = (* (( (ptr) (* (( (ptr) gf←c14132)+54)/* var←c12980 */ ))+14) ); pos←v4188.f1 = ((pos←v4188.f1 + (* (hPt) (* (( (ptr) gf←c14132)+22)/* inputBuffer←v3028 */ ) )) + (word) ( *( (fPt) ((* (ptr) pd50 )) ))((* ((( (ptr) gf←c14132)+23)/* inputRope←v3056 */ ) ), pd50)); }; SOURCE(4566, 44) { word pd51; pd51 = (* (( (ptr) (* (( (ptr) gf←c14132)+55)/* var←c13204 */ ))+46) ); (void) ( *( (fPt) ((* (ptr) pd51 ))))(tSel←v3680, pos←v4188, pd51); }; SOURCE(4651, 71) if ((0 != caretVisible←v3708)) { SOURCE(4674, 48) { word pd52; pd52 = (* (( (ptr) (* (( (ptr) gf←c14132)+60)/* var←c13492 */ ))+6) ); (void) ( *( (fPt) ((* (ptr) pd52 ))))((* (ptr) tSel←v3680 ), 1, 0, pd52); }; }; SOURCE(4727, 22) (* (hPt) (* (( (ptr) gf←c14132)+22)/* inputBuffer←v3028 */ ) ) = 0; SOURCE(4751, 15) (* (( (ptr) gf←c14132)+23)/* inputRope←v3056 */ ) = 0; SOURCE(4768, 21) (void) (XR←Broadcast((word) (( (bPt) gf←c14132)+120)/* bufferClear←v3112 */ )); SOURCE(4791, 12) return(1); } static void NoName←Q1152(formal←c073, formal←c200020, formal←c200021, formal←c200022, formal←c200023) word formal←c073; word formal←c200020; word formal←c200021; word formal←c200022; word formal←c200023; { register ptr gf←c0123 = (ptr) &globalframe; if ((formal←c200021 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0123)+16)/* LOCK←v2888 */ )); }; (* (ptr) formal←c073 ) = 0; (* (( (ptr) formal←c073)+1) ) = 0; return; } static void NoName←Q1212(formal←c078, formal←c200016, formal←c200017, formal←c200018, formal←c200019) word formal←c078; word formal←c200016; word formal←c200017; word formal←c200018; word formal←c200019; { register ptr gf←c0124 = (ptr) &globalframe; if ((formal←c200017 == XR←Unwind)) { SOURCE(2733, 22) (* (( (ptr) gf←c0124)+8)/* state←v2916 */ ) = 4; (void) (XR←MonitorExit((word) (( (bPt) gf←c0124)+16)/* LOCK←v2888 */ )); }; (* (ptr) formal←c078 ) = 0; (* (( (ptr) formal←c078)+1) ) = 0; return; } static void NoName←Q1272(formal←c083, formal←c200012, formal←c200013, formal←c200014, formal←c200015) word formal←c083; word formal←c200012; word formal←c200013; word formal←c200014; word formal←c200015; { register ptr gf←c0125 = (ptr) &globalframe; if ((formal←c200013 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0125)+16)/* LOCK←v2888 */ )); }; (* (ptr) formal←c083 ) = 0; (* (( (ptr) formal←c083)+1) ) = 0; return; } static void NoName←Q1332(formal←c088, formal←c200008, formal←c200009, formal←c200010, formal←c200011) word formal←c088; word formal←c200008; word formal←c200009; word formal←c200010; word formal←c200011; { if ((formal←c200009 == XR←Aborted)) { SOURCE(3682, 9) (* (ptr) formal←c088 ) = 2; (* (( (ptr) formal←c088)+1) ) = 2; return; }; (* (ptr) formal←c088 ) = 0; (* (( (ptr) formal←c088)+1) ) = 0; return; } static void NoName←Q1392(formal←c093, formal←c200004, formal←c200005, formal←c200006, formal←c200007) word formal←c093; word formal←c200004; word formal←c200005; word formal←c200006; word formal←c200007; { register ptr gf←c0126 = (ptr) &globalframe; if ((formal←c200005 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0126)+16)/* LOCK←v2888 */ )); }; (* (ptr) formal←c093 ) = 0; (* (( (ptr) formal←c093)+1) ) = 0; return; } static void NoName←Q1452(formal←c098, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c098; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c0127 = (ptr) &globalframe; if ((formal←c200001 == XR←Unwind)) { (void) (XR←MonitorExit((word) (( (bPt) gf←c0127)+16)/* LOCK←v2888 */ )); }; (* (ptr) formal←c098 ) = 0; (* (( (ptr) formal←c098)+1) ) = 0; return; } static word NoName←Q1512(formal←c038) word formal←c038; { word var←c039; /* intermediary proc for a FORK, nArgs: 0, nRets: 0 */ var←c039 = (* (( (ptr) formal←c038)+2) ); formal←c038 = XR←ExtensionFree(formal←c038); (void) ( *( (fPt) ((* (ptr) var←c039 ))))(var←c039); return(0); } /* file: TEditBufferedInputImpl, module: TEditBufferedInputImpl, compiled at: February 27, 1992 5:55:09 pm PST */ extern void XR←install←TEditBufferedInputImpl() { NoName←Q732(); } extern void XR←run←TEditBufferedInputImpl() { XR←Start(&globalframe); }