/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */ /* time: February 27, 1992 7:05:37 pm PST */ /* C2C version: October 16, 1990 (native) */ /* ref-counting: off */ /* file: TEditDisplay2Impl, module: TEditDisplay2Impl */ /* switches: bcfhklnouw */ #include <cedar/InstallationSupport.h> #include <cedar/CedarExtra.h> static char versionStamp[] = "@(#)mob←version [420396262,1576743929] TEditDisplay2Impl"; 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, f5, f6, f7;} W8; typedef struct {W8 f; word r;} W9; typedef W9 *W9Pt; typedef W2 *W2Pt; typedef struct {unsigned f:1, u2:7;} * P1x0b; typedef struct {word f0, f1, f2, f3, f4;} W5; typedef struct {W8 f; W5 r;} W13; typedef struct {word f0, f1, f2, f3;} W4; typedef W4 *W4Pt; typedef struct {word f0, f1, f2, f3, f4, f5;} W6; typedef struct {W8 f; W6 r;} W14; typedef struct {word f0, f1, f2;} W3; typedef struct {W8 f; W3 r;} W11; typedef struct {unsigned u1:7, f:1;} * P1x7b; typedef struct {unsigned u1:8, f:24;} * P24x8w; #define SOURCE(p, l) /* source p, l */ #define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) ) #define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i ) #define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) ) #define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) ) static void NoName←Q3300(); static void TEditDisplay2Impl←P0(); static void SetNewVersion←P60(); static void EstablishLine←P120(); static void UndoChangeViewer←P180(); static word AlreadySaved←P240(); static void SaveViewerPos←P300(); static void UpdateAfterTextEdit←P360(); static void Update←P1536(); static word LineContainsPreviousBlank←P1596(); static void InvalidateSpan←P420(); static void InvalidateLinesInSpan←P1848(); static word NoName←Q3360(); static void InvalidateChildren←P480(); static void InvalidateBranch←P540(); static void InvalidateBranchAndNext←P600(); static void UpdateStartPos←P660(); static void UpdateViewerStartPos←P2004(); static void InvalidateDest←P720(); static void InvalidateDestLine←P2112(); static word NoName←Q3420(); static word NoName←Q3480(); static word FirstLevelParent←P780(); static word SpanIsBranches←P840(); static void SpanFromNodes←P900(); static word ViewerFromNode←P960(); static void NotifyBeforeEdit←P1020(); static void NotifyAfterEdit←P1080(); static void Init←P1140(); static void NoName←Q3540(); static void NoName←Q3600(); static void NoName←Q3660(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\164\000\000"}; static struct {unsigned f; char r[16];} string2 = {851981, "\006\005\000\001\004\001\054\001\070\001\100\114\001\000\000"}; static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\113\175\243\331\300\252\247\212\133\100\164\000\000"}; static struct {unsigned f; char r[36];} string4 = {2162721, "\006\014\000\001\060\001\064\001\070\001\074\001\100\100\001\100\124\001\100\130\001\100\134\001\100\140\001\100\144\001\100\150\001\000\000"}; static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\315\326\221\074\300\013\016\175\231\100\200\000\000"}; static struct {unsigned f; char r[20];} string6 = {1048592, "\007\000\040\007\004\101\342\004\036\004\012\014\004\006\016\016\000\000\000"}; static struct {unsigned f; char r[4];} string7 = {131076, "\216\251\000"}; static struct {unsigned f; char r[4];} string8 = {65537, "\001\000\000"}; static struct {unsigned f; char r[8];} string9 = {458760, "Visible"}; static struct {unsigned f; char r[16];} string10 = {851984, "\257\300\031\016\274\346\300\135\373\063\371\100\164\000\000"}; static struct {unsigned f; char r[4];} string11 = {131074, "\003\022\000"}; static struct {unsigned f; char r[16];} string12 = {851984, "\257\300\314\212\213\004\300\112\342\014\072\100\164\000\000"}; static struct {unsigned f; char r[16];} string13 = {851984, "\257\300\315\326\221\074\300\013\016\175\231\100\150\000\000"}; static struct {unsigned f; char r[16];} string14 = {851984, "\257\300\234\060\361\073\300\103\025\207\123\100\150\000\000"}; static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"}; static struct {unsigned f; char r[16];} string16 = {851984, "\257\300\366\233\214\046\300\233\036\213\260\100\150\000\000"}; static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\150\000\000"}; static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"}; static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"}; static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"}; static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"}; static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\173\025\006\177\300\073\326\146\175\100\150\000\000"}; static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"}; static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\320\263\152\354\300\340\215\053\236\100\150\000\000"}; static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\302\136\246\312\300\076\314\360\376\100\150\000\000"}; static struct {unsigned f; char r[24];} string26 = {1376280, "\211\011\010\105\166\145\156\164\122\145\160\300\302\136\246\312\300\076\314\360\376\000\000"}; static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\173\025\006\177\300\073\326\146\175\100\164\000\000"}; static struct { word f0[8]; word f8; word f9[10]; word f19; word f20; word f21; word f22; word f23; word f24; word f25; word f26; word f27; word f28; word f29; word f30; word f31; word f32; word f33; word f34; word f35; word f36; word f37; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58[15]; } globalframe = { {0}, 20, {0}, (word) Init←P1140, 0, (word) NotifyAfterEdit←P1080, 0, (word) NotifyBeforeEdit←P1020, 0, (word) ViewerFromNode←P960, 0, (word) SpanFromNodes←P900, 0, (word) SpanIsBranches←P840, 0, (word) FirstLevelParent←P780, 0, (word) InvalidateDest←P720, 0, (word) UpdateStartPos←P660, 0, (word) InvalidateBranchAndNext←P600, 0, (word) InvalidateBranch←P540, 0, (word) InvalidateChildren←P480, 0, (word) InvalidateSpan←P420, 0, (word) UpdateAfterTextEdit←P360, 0, (word) SaveViewerPos←P300, 0, (word) AlreadySaved←P240, 0, (word) UndoChangeViewer←P180, 0, (word) EstablishLine←P120, 0, (word) SetNewVersion←P60, 0, (word) TEditDisplay2Impl←P0, {0} }; static void NoName←Q3300() { register ptr gf←c0247 = (ptr) &globalframe; word var←c25816; (* (( (ptr) gf←c0247)+10) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2); (* (( (ptr) gf←c0247)+12) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string4); (* (( (ptr) gf←c0247)+13) ) = (word) XR←GetTypeIndex((word) &string5, 0, (word) &string6); (* (( (ptr) gf←c0247)+15) ) = (word) XR←GetTypeIndex((word) &string7, 0, (word) &string8); (* (ptr) (( (bPt) gf←c0247)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0247)+15) ), (word) &string9); (void) XR←DeclareGlobalFrame((word) "TEditDisplay2Impl", &globalframe, (word) XR←GetTypeIndex((word) &string10, 0, (word) &string11) , (word) (( (bPt) gf←c0247)+228)/* var←c23768 */ ); var←c25816 = (word) XR←ImportInterface((word) "CharOps", (word) XR←GetTypeIndexS((word) (&string12)), 14); (* (( (ptr) gf←c0247)+64)/* var←c24504 */ ) = var←c25816; var←c25816 = (word) XR←ImportInterface((word) "EditNotify", (word) XR←GetTypeIndexS((word) (&string13)), 3); (* (( (ptr) gf←c0247)+70)/* var←c25784 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 1048580); var←c25816 = (word) XR←ImportInterface((word) "NodeProps", (word) XR←GetTypeIndexS((word) (&string14)), 28); (* (( (ptr) gf←c0247)+69)/* var←c25560 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 67639554); var←c25816 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string15)), 43); (* (( (ptr) gf←c0247)+62)/* var←c24248 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 67634434); var←c25816 = (word) XR←ImportInterface((word) "RopeReader", (word) XR←GetTypeIndexS((word) (&string16)), 25); (* (( (ptr) gf←c0247)+63)/* var←c24344 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 268033); (void) XR←ImportProcS(var←c25816, 67636482); (void) XR←ImportProcS(var←c25816, 67114496); var←c25816 = (word) XR←ImportInterface((word) "TEditDocument", (word) XR←GetTypeIndexS((word) (&string17)), 6); (* (( (ptr) gf←c0247)+68)/* var←c25400 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 67372289); var←c25816 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string18)), 44); (* (( (ptr) gf←c0247)+60)/* var←c23960 */ ) = var←c25816; var←c25816 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string19)), 68); (* (( (ptr) gf←c0247)+65)/* var←c24568 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 135275779); (void) XR←ImportProcS(var←c25816, 269755394); var←c25816 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string20)), 39); (* (( (ptr) gf←c0247)+67)/* var←c24824 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 67371521); var←c25816 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string21)), 34); (* (( (ptr) gf←c0247)+66)/* var←c24728 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 67372289); (void) XR←ImportProcS(var←c25816, 67372545); (void) XR←ImportProcS(var←c25816, 135007491); (void) XR←ImportProcS(var←c25816, 67372033); (void) XR←ImportProcS(var←c25816, 67374081); (void) XR←ImportProcS(var←c25816, 67373569); (void) XR←ImportProcS(var←c25816, 134481921); (void) XR←ImportProcS(var←c25816, 67376641); (void) XR←ImportProcS(var←c25816, 134485761); (void) XR←ImportProcS(var←c25816, 67377153); var←c25816 = (word) XR←ImportInterface((word) "UndoEvent", (word) XR←GetTypeIndexS((word) (&string22)), 5); (* (( (ptr) gf←c0247)+61)/* var←c24056 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 786691); var←c25816 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string23)), 43); (* (( (ptr) gf←c0247)+59)/* var←c23832 */ ) = var←c25816; (void) XR←ImportProcS(var←c25816, 269569); var←c25816 = (word) XR←ExportInterface((word) "TEditDisplay", (word) XR←GetTypeIndexS((word) (&string24)), 4); (* (( (ptr) gf←c0247)+71)/* var←c25848 */ ) = var←c25816; (void) XR←ExportProcS(var←c25816, (word) (( (bPt) gf←c0247)+212)/* var←c23704 */ , 1048579); (void) XR←ExportProcS(var←c25816, (word) (( (bPt) gf←c0247)+172)/* var←c23544 */ , 2097413); (void) XR←ExportProcS(var←c25816, (word) (( (bPt) gf←c0247)+164)/* var←c23512 */ , 524802); (void) XR←ExportProcS(var←c25816, (word) (( (bPt) gf←c0247)+156)/* var←c23480 */ , 525058); var←c25816 = (word) XR←ExportInterface((word) "Tioga", (word) XR←GetTypeIndexS((word) (&string25)), 1); (* (( (ptr) gf←c0247)+72)/* var←c25880 */ ) = var←c25816; (void) XR←ExportType((word) "EventRep", (word) XR←GetTypeIndexS((word) (&string26)), (word) XR←GetTypeIndex((word) &string27, 0, (word) &string8) ); } static void TEditDisplay2Impl←P0(formal←c050, formal←c049) word formal←c050; word formal←c049; { /* TEditDisplay2Impl: */ SOURCE(743, 11446) /* moved to installation proc */ SOURCE(12183, 6) (void) Init←P1140(); } static void SetNewVersion←P60(viewer←v3948) word viewer←v3948; { register ptr gf←c25912 = (ptr) &globalframe; /* SetNewVersion: */ SOURCE(1126, 189) SOURCE(1167, 148) if ((viewer←v3948 != 0)) { SOURCE(1188, 127) { word var←c23800; var←c23800 = (* (( (ptr) viewer←v3948)+26) ); if ((var←c23800 == 0)) { goto lab←L100000; }; if (((* (( (ptr) gf←c25912)+10) ) == XR←GetReferentType(var←c23800))) { { word tdd←v5912; tdd←v5912 = var←c23800; SOURCE(1259, 56) if (((* (( (ptr) tdd←v5912)+11) ) == 0)) { SOURCE(1284, 31) { word pd28; if ( ( ( ! ((* (( (bPt) viewer←v3948)+76) ) & 04)) ? ! ((* (( (bPt) viewer←v3948)+76) ) & 02) : 0 ) ) { pd28 = (* (( (ptr) (* (( (ptr) gf←c25912)+59)/* var←c23832 */ ))+33) ); (void) ( *( (fPt) ((* (ptr) pd28 ))))(viewer←v3948, pd28); }; }; }; }; } else { lab←L100000: ; }; }; }; } static void EstablishLine←P120(tdd←v4008, newLine←v4036, position←v4064) word tdd←v4008; W2 newLine←v4036; word position←v4064; { register ptr gf←c25944 = (ptr) &globalframe; word lines←v5956; /* EstablishLine: */ SOURCE(1341, 6726) (void) (XR←MonitorEntry((word) (( (bPt) gf←c25944)+16)/* LOCK←v3168 */ )); SOURCE(1465, 46) lines←v5956 = (* (( (ptr) tdd←v4008)+1) ); SOURCE(1513, 6554) if ((lines←v5956 != 0)) { SOURCE(1535, 6532) { word limit29; (* (W2Pt) (( (W9Pt) (( (ptr) lines←v5956)+3))+( limit29 = (* (( (ptr) lines←v5956)+2) ), BCK(position←v4064, limit29) )) ) = newLine←v4036; }; SOURCE(1566, 6501) { word limit30; ((P1x0b) (( (bPt) (( (W9Pt) (( (bPt) lines←v5956)+12))+( limit30 = (* (( (ptr) lines←v5956)+2) ), BCK(position←v4064, limit30) ))) + 8))->f = 0; }; }; SOURCE(1341, 6726) (void) (XR←MonitorExit((word) (( (bPt) gf←c25944)+16)/* LOCK←v3168 */ )); return; } static void UndoChangeViewer←P180(undoRef←v4124, currentEvent←v4152) word undoRef←v4124; word currentEvent←v4152; { register ptr gf←c25976 = (ptr) &globalframe; /* UndoChangeViewer: */ SOURCE(1604, 6463) SOURCE(1674, 6393) { word var←c23864; var←c23864 = undoRef←v4124; if ((var←c23864 == 0)) { goto lab←L100001; }; if (((* (ptr) var←c23864 ) == 6)) { { word x←v6000; x←v6000 = var←c23864; SOURCE(1729, 297) { word v←v6056; SOURCE(1731, 26) v←v6056 = XR←Narrow((* (( (ptr) x←v6000)+1) ), (* (( (ptr) gf←c25976)+12) )); SOURCE(1759, 6308) if ((v←v6056 != 0)) { SOURCE(1775, 6292) { word var←c23896; var←c23896 = (* (( (ptr) v←v6056)+26) ); if ((var←c23896 == 0)) { goto lab←L100002; }; if (((* (( (ptr) gf←c25976)+10) ) == XR←GetReferentType(var←c23896))) { { word tdd←v6100; tdd←v6100 = var←c23896; SOURCE(1841, 6226) if ((0 == (word) AlreadySaved←P240(v←v6056))) { SOURCE(1869, 110) /*1*/ { /*1*/ word lines←v6144; SOURCE(1871, 46) /*1*/ lines←v6144 = (* (( (ptr) tdd←v6100)+1) ); SOURCE(1919, 6148) /*1*/ if ((lines←v6144 != 0)) { SOURCE(1939, 6128) /*1*/ { /*1*/ word var←c23928; /*1*/ W2 var←c0281; /*1*/ { /*1*/ word limit31; /*1*/ var←c23928 = (* (( (ptr) tdd←v6100)+1) ); /*1*/ var←c0281 = (* (W2Pt) (( (W9Pt) (( (ptr) var←c23928)+3))+( /*1*/ limit31 = (* (( (ptr) var←c23928)+2) ), /*1*/ BCK(0, limit31) /*1*/ )) ); /*1*/ }; /*1*/ (void) SaveViewerPos←P300(v←v6056, var←c0281); /*1*/ }; /*1*/ }; /*1*/ }; /*1*/ }; SOURCE(1982, 6085) (void) EstablishLine←P120(tdd←v6100, (* (W2Pt) (( (ptr) x←v6000)+2) ), 0); }; } else { lab←L100002: ; }; }; }; }; }; } else { lab←L100001: ; }; }; } static word AlreadySaved←P240(v←v4224) word v←v4224; { register ptr gf←c26008 = (ptr) &globalframe; word var←c4268; word k←v6188; /* AlreadySaved: */ SOURCE(2068, 365) SOURCE(2118, 23) k←v6188 = (* (( (ptr) gf←c26008)+8)/* maxSearchDepth←v3420 */ ); SOURCE(2143, 51) if (((* (ptr) (* (( (ptr) (* (( (ptr) gf←c26008)+60)/* var←c23960 */ ))+6) ) ) == 0)) { SOURCE(2181, 13) return(1); }; SOURCE(2196, 206) { register word l←v6232; l←v6232 = (* (ptr) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c26008)+60)/* var←c23960 */ ))+6) ) ) ); lab←L100006: ; if ((l←v6232 != 0)) { } else { goto lab←L100003; }; SOURCE(2281, 88) { word var←c23992; var←c23992 = (* (( (ptr) l←v6232)+2) ); if ((var←c23992 == 0)) { goto lab←L100007; }; if (((* (ptr) var←c23992 ) == 6)) { { word x←v6276; x←v6276 = var←c23992; SOURCE(2338, 31) if (((* (( (ptr) x←v6276)+1) ) == v←v4224)) { SOURCE(2357, 12) return(1); }; }; } else { lab←L100007: ; }; }; SOURCE(2380, 22) k←v6188 = SGNCK((k←v6188 - 1)); if ((k←v6188 == 0)) { SOURCE(2402, 4) goto lab←L100004; }; l←v6232 = (* (ptr) l←v6232 ); goto lab←L100006; lab←L100003: ; lab←L100004: ; }; SOURCE(2417, 16) return(0); } static void SaveViewerPos←P300(viewer←v4328, oldLine←v4356) word viewer←v4328; W2 oldLine←v4356; { register ptr gf←c26040 = (ptr) &globalframe; word notify←v6332; /* SaveViewerPos: */ SOURCE(2437, 5630) SOURCE(2503, 58) notify←v6332 = XR←NewObject(16, (* (( (ptr) gf←c26040)+13) )); (* (ptr) notify←v6332 ) = 6; SOURCE(2563, 5504) (* (ptr) notify←v6332 ) = 6; (* (( (ptr) notify←v6332)+1) ) = viewer←v4328; (* (W2Pt) (( (ptr) notify←v6332)+2) ) = oldLine←v4356; SOURCE(2606, 67) { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf←c26040)+61)/* var←c24056 */ ))+5) ); (void) ( *( (fPt) ((* (ptr) pd32 ))))((* (ptr) (* (( (ptr) (* (( (ptr) gf←c26040)+60)/* var←c23960 */ ))+6) ) ), (word) ( ( (bPt) gf←c26040)+204)/* var←c23672 */ , notify←v6332, pd32); }; } static void UpdateAfterTextEdit←P360(viewer←v4416, formal←c0298, formal←c0299, formal←c0300, oldlen←v4528, oldrope←v4556) word viewer←v4416; word formal←c0298; word formal←c0299; word formal←c0300; word oldlen←v4528; word oldrope←v4556; { W13 var←c26072; /* declaration of text←v4444 skipped */ /* declaration of start←v4472 skipped */ /* declaration of newlen←v4500 skipped */ /* declaration of var←c24088 skipped */ /* declaration of var←c24120 skipped */ /* declaration of delta←v6388 skipped */ /* declaration of end←v6416 skipped */ (* (( (ptr) &var←c26072)+4)/* text←v4444 */ ) = formal←c0298; (* (( (ptr) &var←c26072)+5)/* start←v4472 */ ) = formal←c0299; (* (( (ptr) &var←c26072)+6)/* newlen←v4500 */ ) = formal←c0300; /* UpdateAfterTextEdit: */ SOURCE(2677, 5390) { word tmpAddr33; tmpAddr33 = (word) (( (ptr) &var←c26072)+7)/* var←c24088 */ ; (* (ptr) tmpAddr33 ) = ( ((word) (fPt) LineContainsPreviousBlank←P1596) ); (* (( (ptr) tmpAddr33) + 1) ) = 1; }; { word tmpAddr34; tmpAddr34 = (word) (( (ptr) &var←c26072)+9)/* var←c24120 */ ; (* (ptr) tmpAddr34 ) = ( ((word) (fPt) Update←P1536) ); (* (( (ptr) tmpAddr34) + 1) ) = 1; }; SOURCE(2785, 26) (* (( (ptr) &var←c26072)+11)/* delta←v6388 */ ) = ((* (( (ptr) &var←c26072)+6)/* newlen←v4500 */ ) - oldlen←v4528); SOURCE(2813, 23) (* (( (ptr) &var←c26072)+12)/* end←v6416 */ ) = ((* (( (ptr) &var←c26072)+5)/* start←v4472 */ ) + oldlen←v4528); SOURCE(4292, 14) (void) Update←P1536(viewer←v4416, (word) (( (bPt) &var←c26072)+36)/* var←c24120 */ ); SOURCE(4308, 74) { register word v←v6708; v←v6708 = (* (( (ptr) viewer←v4416)+21) ); lab←L100011: ; if ( ( (v←v6708 != 0) ? (v←v6708 != viewer←v4416) : 0 ) ) { } else { goto lab←L100008; }; SOURCE(4373, 9) (void) Update←P1536(v←v6708, (word) (( (bPt) &var←c26072)+36)/* var←c24120 */ ); v←v6708 = (* (( (ptr) v←v6708)+21) ); goto lab←L100011; lab←L100008: ; }; } static void Update←P1536(v←v6548, formal←c26136) word v←v6548; word formal←c26136; { register ptr gf←c26104 = (ptr) &globalframe; word tdd←v6752; word lines←v6780; formal←c26136 = (formal←c26136 - 36); /* Update: */ SOURCE(2838, 5229) SOURCE(2867, 53) tdd←v6752 = XR←Narrow((* (( (ptr) v←v6548)+26) ), (* (( (ptr) gf←c26104)+10) )); SOURCE(2922, 46) lines←v6780 = (* (( (ptr) tdd←v6752)+1) ); SOURCE(2970, 24) if ((tdd←v6752 == 0)) { SOURCE(2988, 6) return; }; SOURCE(2996, 16) (void) SetNewVersion←P60(v←v6548); SOURCE(3014, 5053) if ((0 == (word) AlreadySaved←P240(v←v6548))) { SOURCE(3042, 5025) { word limit35; (void) SaveViewerPos←P300(v←v6548, (* (W2Pt) (( (W9Pt) (( (ptr) lines←v6780)+3))+( limit35 = (* (( (ptr) lines←v6780)+2) ), BCK(0, limit35) )) )); }; }; SOURCE(3101, 4966) { register word n←v6824; n←v6824 = (* (ptr) lines←v6780 ); if (( (int)0 > (int)n←v6824)) { goto lab←L100012; }; lab←L100015: ; SOURCE(3153, 4914) { word limit36; if (((* (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( limit36 = (* (( (ptr) lines←v6780)+2) ), BCK(n←v6824, limit36) )) ) == (* (( (ptr) formal←c26136)+4) ))) { SOURCE(3186, 579) { word where←v6868; SOURCE(3188, 31) { word limit37; where←v6868 = (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( limit37 = (* (( (ptr) lines←v6780)+2) ), BCK(n←v6824, limit37) )))+1) ); }; SOURCE(3221, 4846) { word tc38; word limit39; word x40; word limit41; word x42; word x43; if ((int)(* (( (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( limit39 = (* (( (ptr) lines←v6780)+2) ), BCK(n←v6824, limit39) )))+2) )<0) { tc38 = (word) ( (int)(x40 = (* (( (ptr) formal←c26136)+5) ), MAX((int)(word), where←v6868, x40)) <= (int)(x42 = (where←v6868 + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( /*1*/ limit41 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(n←v6824, limit41) /*1*/ )))+5) )), x43 = (* (( (ptr) formal←c26136)+12) ), MIN((int)(word), x42, x43))); } else { tc38 = (word) 0; }; if (tc38) { SOURCE(3301, 4766) { word limit44; ((P1x0b) (( (bPt) (( (W9Pt) (( (bPt) lines←v6780)+12))+( /*1*/ limit44 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(n←v6824, limit44) /*1*/ ))) + 8))->f = 0; }; }; }; SOURCE(3325, 4742) { word var←c24152; word var←c24184; word var←c0282; word var←c24216; word var←c24280; word var←c24312; var←c24152 = where←v6868; if (( (int)var←c24152 <= (int)(* (( (ptr) formal←c26136)+5) ))) { SOURCE(3357, 4710) { word tc45; word tc46; word tc47; word tc48; word tc49; word limit51; word limit52; if (( (int)n←v6824 > (int)0)) { { /*1*/ word limit50; /*1*/ var←c24184 = (n←v6824 - 1); /*1*/ var←c0282 = (* (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( /*1*/ limit50 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(var←c24184, limit50) /*1*/ )) ); /*1*/ }; tc49 = (word) (var←c0282 == (* (( (ptr) formal←c26136)+4) )); } else { tc49 = (word) 0; }; if (tc49) { var←c24216 = (n←v6824 - 1); tc48 = (word) (((unsigned)(* (( (bPt) (( (W9Pt) (( (ptr) lines←v6780)+3))+( /*1*/ limit51 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(var←c24216, limit51) /*1*/ )))+8) ) << 24) >> 31); } else { tc48 = (word) 0; }; if (tc48) { tc47 = (word) ! ((int)(* (( (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( /*1*/ limit52 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(n←v6824, limit52) /*1*/ )))+2) )<0); } else { tc47 = (word) 0; }; if (tc47) { { /*1*/ word pd53; /*1*/ pd53 = (* (( (ptr) (* (( (ptr) gf←c26104)+62)/* var←c24248 */ ))+9) ); /*1*/ var←c24280 = (word) ( *( (fPt) ((* (ptr) pd53 ))))((* (( (ptr) (* (( (ptr) formal←c26136)+4) ))+3) ), (where←v6868 - 1), pd53) /*1*/ ; /*1*/ }; tc46 = (word) (0 == ( ((var←c24280 == 13) || (var←c24280 == 10)) ? 1 : 0 ) ); } else { tc46 = (word) 0; }; if (tc46) { tc45 = (word) (0 == (word) LineContainsPreviousBlank←P1596(n←v6824, lines←v6780, (word) (( (bPt) formal←c26136)+28))); } else { tc45 = (word) 0; }; if (tc45) { SOURCE(3588, 4479) { /*1*/ word limit54; /*1*/ var←c24312 = (n←v6824 - 1); /*1*/ ((P1x0b) (( (bPt) (( (W9Pt) (( (ptr) lines←v6780)+3))+( /*1*/ limit54 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(var←c24312, limit54) /*1*/ ))) + 8))->f = 0; /*1*/ }; }; }; } else { if (( (int)var←c24152 >= (int)(* (( (ptr) formal←c26136)+12) ))) { SOURCE(3630, 4437) { word limit55; (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( /*1*/ limit55 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(n←v6824, limit55) /*1*/ )))+1) ) = (where←v6868 + (* (( (ptr) formal←c26136)+11) )); }; } else { SOURCE(3677, 4390) if (( (int)n←v6824 == (int)0)) { SOURCE(3691, 4376) { /*1*/ word limit56; /*1*/ word x57; /*1*/ (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6780)+3))+( /*1*/ limit56 = (* (( (ptr) lines←v6780)+2) ), /*1*/ BCK(0, limit56) /*1*/ )))+1) ) = (x57 = ((* (( (ptr) formal←c26136)+5) ) + (* (( (ptr) formal←c26136)+6) )), /*1*/ MIN((int)(word), where←v6868, x57)); /*1*/ }; SOURCE(3738, 21) (* (( (ptr) tdd←v6752)+5) ) = 1; }; }; }; }; }; }; }; if (( (int)0 >= (int)n←v6824)) { goto lab←L100012; }; n←v6824 = (n←v6824 - 1); goto lab←L100015; lab←L100012: ; }; } static word LineContainsPreviousBlank←P1596(n←v6608, lines←v6636, formal←c26200) word n←v6608; word lines←v6636; word formal←c26200; { register ptr gf←c26168 = (ptr) &globalframe; word yes←v6680; word rdr←v6912 = 0; word lineStart←v6940; word searchEnd←v6968; formal←c26200 = (formal←c26200 - 28); /* LineContainsPreviousBlank: */ SOURCE(3780, 4287) SOURCE(3902, 35) { word limit58; lineStart←v6940 = (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6636)+3))+( limit58 = (* (( (ptr) lines←v6636)+2) ), BCK(n←v6608, limit58) )))+1) ); }; SOURCE(3939, 54) { word limit59; word x60; word x61; searchEnd←v6968 = (x60 = (lineStart←v6940 + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6636)+3))+( limit59 = (* (( (ptr) lines←v6636)+2) ), BCK(n←v6608, limit59) )))+5) )), x61 = (* (( (ptr) formal←c26200)+5) ), MIN((int)(word), x60, x61)); }; SOURCE(3995, 39) if (( (int)lineStart←v6940 >= (int)(* (( (ptr) formal←c26200)+5) ))) { SOURCE(4020, 14) return(0); }; SOURCE(4036, 4031) { word pd62; pd62 = (* (( (ptr) (* (( (ptr) gf←c26168)+63)/* var←c24344 */ ))+26) ); rdr←v6912 = (word) ( *( (fPt) ((* (ptr) pd62 ))))(pd62); }; SOURCE(4070, 11) yes←v6680 = 0; SOURCE(4083, 49) { word reader←v23004; word rope←v23032; word var←c24376; word rope←v12452; reader←v23004 = rdr←v6912; rope←v23032 = (* (( (ptr) (* (( (ptr) formal←c26200)+4) ))+3) ); { word tc63; rope←v12452 = 0; var←c24376 = (* (( (ptr) reader←v23004)+2) ); if (((var←c24376 == rope←v23032) )) { tc63 = (word) ( (int)((* (( (ptr) reader←v23004)+3) ) + (* (( (ptr) reader←v23004)+1) )) == (int)lineStart←v6940); } else { tc63 = (word) 0; }; if (tc63) { goto lab←L100017; }; }; (* (( (ptr) reader←v23004)+2) ) = rope←v23032; (* (( (ptr) reader←v23004)+1) ) = 0; (* (hPt) (* (ptr) reader←v23004 ) ) = 0; (* (( (ptr) reader←v23004)+3) ) = lineStart←v6940; lab←L100017: ; }; SOURCE(4134, 3933) { register word i←v7012; word var←c24408; word c←v23112; i←v7012 = lineStart←v6940; lab←L100021: ; if (( (int)i←v7012 != (int)searchEnd←v6968)) { } else { goto lab←L100018; }; SOURCE(4183, 3884) { word text←v11416; word i←v11504; text←v11416 = (* (ptr) rdr←v6912 ); i←v11504 = (* (( (ptr) rdr←v6912)+1) ); { word pd65; if ((i←v11504 < (* (hPt) text←v11416 ))) { (* (( (ptr) rdr←v6912)+1) ) = (i←v11504 + 1); { word limit64; c←v23112 = (word) (* ((( (bPt) text←v11416)+4)+( limit64 = (word) (* (( (hPt) text←v11416)+1) ), BCK(i←v11504, limit64) )) ); }; } else { pd65 = (* (( (ptr) (* (( (ptr) gf←c26168)+63)/* var←c24344 */ ))+17) ); c←v23112 = (word) ( *( (fPt) ((* (ptr) pd65 ))))(rdr←v6912, 0, pd65); }; }; }; var←c24408 = ((word) (* (( (bPt) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c26168)+64)/* var←c24504 */ ))+4) ) ))+c←v23112) ) == 1); if (((0 != var←c24408) )) { SOURCE(4228, 10) yes←v6680 = 1; SOURCE(4240, 5) goto lab←L100019; }; i←v7012 = (i←v7012 + 1); goto lab←L100021; lab←L100018: ; lab←L100019: ; }; SOURCE(4257, 32) { word pd66; pd66 = (* (( (ptr) (* (( (ptr) gf←c26168)+63)/* var←c24344 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd66 ))))(rdr←v6912, pd66); }; SOURCE(3780, 4287) return(yes←v6680); } static void InvalidateSpan←P420(viewer←v4616, formal←c0301, formal←c0302, formal←c0303, formal←c0304) word viewer←v4616; W4 formal←c0301; word formal←c0302; word formal←c0303; word formal←c0304; { W13 var←c26232; /* declaration of span←v4644 skipped */ /* declaration of errorFlag←v4672 skipped */ /* declaration of movingOut←v4700 skipped */ /* declaration of unnesting←v4728 skipped */ /* declaration of var←c24536 skipped */ (* (W4Pt) (( (ptr) &var←c26232)+4)/* span←v4644 */ ) = formal←c0301; (* (( (ptr) &var←c26232)+8)/* errorFlag←v4672 */ ) = formal←c0302; (* (( (ptr) &var←c26232)+9)/* movingOut←v4700 */ ) = formal←c0303; (* (( (ptr) &var←c26232)+10)/* unnesting←v4728 */ ) = formal←c0304; /* InvalidateSpan: */ SOURCE(4397, 3670) { word tmpAddr67; tmpAddr67 = (word) (( (ptr) &var←c26232)+11)/* var←c24536 */ ; (* (ptr) tmpAddr67 ) = ( ((word) (fPt) InvalidateLinesInSpan←P1848) ); (* (( (ptr) tmpAddr67) + 1) ) = 1; }; SOURCE(5763, 29) (void) InvalidateLinesInSpan←P1848(viewer←v4616, (word) (( (bPt) &var←c26232)+44)/* var←c24536 */ ); SOURCE(5794, 89) { register word v←v7160; v←v7160 = (* (( (ptr) viewer←v4616)+21) ); lab←L100027: ; if ( ( (v←v7160 != 0) ? (v←v7160 != viewer←v4616) : 0 ) ) { } else { goto lab←L100024; }; SOURCE(5859, 24) (void) InvalidateLinesInSpan←P1848(v←v7160, (word) (( (bPt) &var←c26232)+44)/* var←c24536 */ ); v←v7160 = (* (( (ptr) v←v7160)+21) ); goto lab←L100027; lab←L100024: ; }; } static void InvalidateLinesInSpan←P1848(formal←c0305, formal←c26328) word formal←c0305; word formal←c26328; { W14 var←c26264; /* declaration of v←v7132 skipped */ register ptr gf←c26296 = (ptr) &globalframe; /* declaration of start←v7204 skipped */ /* declaration of end←v7232 skipped */ /* declaration of startClipped←v7260 skipped */ /* declaration of endClipped←v7288 skipped */ word tdd←v7316; word lines←v7344; formal←c26328 = (formal←c26328 - 44); (* (( (ptr) &var←c26264)+4)/* v←v7132 */ ) = formal←c0305; (* (ptr) &var←c26264 ) = formal←c26328; /* InvalidateLinesInSpan: */ SOURCE(4524, 3543) SOURCE(4621, 53) tdd←v7316 = XR←Narrow((* (( (ptr) (* (( (ptr) &var←c26264)+4)/* v←v7132 */ ))+26) ), (* (( (ptr) gf←c26296)+10) )); SOURCE(4676, 46) lines←v7344 = (* (( (ptr) tdd←v7316)+1) ); SOURCE(4724, 3343) if ( ( (0 != (* (( (ptr) tdd←v7316)+7) )) ? (0 != (* (( (ptr) tdd←v7316)+8) )) : 0 ) ) { SOURCE(4763, 9) (* (( (ptr) &var←c26264)+5)/* start←v7204 */ ) = 0; SOURCE(4774, 19) (* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) = 2147483647; SOURCE(4795, 35) (* (( (ptr) &var←c26264)+8)/* endClipped←v7288 */ ) = 0; (* (( (ptr) &var←c26264)+7)/* startClipped←v7260 */ ) = 0; } else { SOURCE(4837, 3230) SOURCE(4837, 3230) { W4 var←c24600; { /* declaration of var←c01 skipped */ (* (( (ptr) &var←c26264)+9)/* var←c01 */ ) = (* (( (ptr) (* (( (ptr) gf←c26296)+65)/* var←c24568 */ ))+40) ); { /* declaration of var←c02 skipped */ { word var←c03; { word var←c0283; var←c0283 = (word) &var←c26264; var←c03 = (word) XR←Enable(( ((word) (fPt) NoName←Q3360) ), ( ((word) (fPt) NoName←Q3660) ), var←c0283); }; if ((var←c03 == 2)) { goto lab←L100029; }; }; var←c24600 = (* (W4Pt) (( (ptr) &var←c26264)+10)/* var←c02 */ ); }; }; (* (( (ptr) &var←c26264)+8)/* endClipped←v7288 */ ) = var←c24600.f3; (* (( (ptr) &var←c26264)+7)/* startClipped←v7260 */ ) = var←c24600.f2; (* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) = var←c24600.f1; (* (( (ptr) &var←c26264)+5)/* start←v7204 */ ) = var←c24600.f0; }; lab←L100029: ; }; SOURCE(5112, 22) if (( (int)(* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) < (int)0)) { SOURCE(5128, 6) return; }; SOURCE(5150, 2917) if (( (int)(* (( (ptr) &var←c26264)+5)/* start←v7204 */ ) == (int)2147483647)) { SOURCE(5180, 2887) { word tc69; word idx70; word limit71; word idx72; word limit73; word idx74; word limit75; if ( ( (0 != (* (( (ptr) formal←c26328)+10) )) ? ((* (( (ptr) tdd←v7316)+2) ) < 1023) : 0 ) ) { goto then068;}; if (((* (ptr) (( (W9Pt) (( (ptr) lines←v7344)+3))+( idx70 = (* (ptr) lines←v7344 ), limit71 = (* (( (ptr) lines←v7344)+2) ), BCK(idx70, limit71) )) ) == (* (( (ptr) formal←c26328)+4) ))) { tc69 = (word) ( (int)((* (( (ptr) (( (W9Pt) (( (ptr) lines←v7344)+3))+( idx72 = (* (ptr) lines←v7344 ), limit73 = (* (( (ptr) lines←v7344)+2) ), BCK(idx72, limit73) )))+1) ) + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v7344)+3))+( idx74 = (* (ptr) lines←v7344 ), limit75 = (* (( (ptr) lines←v7344)+2) ), BCK(idx74, limit75) )))+5) )) == (int)(* (( (ptr) formal←c26328)+5) )); } else { tc69 = (word) 0; }; if (tc69) { then068: ; SOURCE(5380, 50) (* (( (ptr) &var←c26264)+5)/* start←v7204 */ ) = (* (ptr) lines←v7344 ); } else { SOURCE(5430, 6) return; }; }; }; SOURCE(5438, 27) if (( (int)(* (( (ptr) &var←c26264)+5)/* start←v7204 */ ) < (int)0)) { SOURCE(5456, 9) (* (( (ptr) &var←c26264)+5)/* start←v7204 */ ) = 0; }; SOURCE(5490, 148) if (( (int)(* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) == (int)2147483647)) { SOURCE(5518, 55) (* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) = (* (ptr) (* (( (ptr) tdd←v7316)+1) ) ); } else { SOURCE(5573, 65) if ( ( (0 != (* (( (ptr) &var←c26264)+8)/* endClipped←v7288 */ )) ? ( ( (int)(* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) > (int)(* ( ( (ptr) &var←c26264)+5)/* start←v7204 */ )) ? 1 : (0 == (* (( (ptr) formal←c26328)+10) )) ) : 0 ) ) { SOURCE(5627, 11) (* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) = ((* (( (ptr) &var←c26264)+6)/* end←v7232 */ ) - 1); }; }; SOURCE(5640, 2427) { register word n←v7388; register word noName←c24632; word var←c24664; n←v7388 = (* (( (ptr) &var←c26264)+5)/* start←v7204 */ ); noName←c24632 = (* (( (ptr) &var←c26264)+6)/* end←v7232 */ ); if (( (int)n←v7388 > (int)noName←c24632)) { goto lab←L100032; }; lab←L100035: ; SOURCE(5674, 2393) { word limit76; var←c24664 = (* (( (ptr) tdd←v7316)+1) ); ((P1x0b) (( (bPt) (( (W9Pt) (( (ptr) var←c24664)+3))+( limit76 = (* (( (ptr) var←c24664)+2) ), BCK(n←v7388, limit76) ))) + 8))->f = 0; }; if (( (int)n←v7388 >= (int)noName←c24632)) { goto lab←L100032; }; n←v7388 = (n←v7388 + 1); goto lab←L100035; lab←L100032: ; }; SOURCE(5721, 39) if ((0 != (* (( (ptr) formal←c26328)+9) ))) { SOURCE(5739, 21) (* (( (ptr) tdd←v7316)+7) ) = 1; }; } static word NoName←Q3360(formal←c0259) word formal←c0259; { SOURCE(4837, 3230) { word pd77; pd77 = (* (( (ptr) formal←c0259)+9) ); (void) ( *( (fPt) ((* (ptr) pd77 ))))((word) (( (bPt) formal←c0259)+40), (* (( (ptr) formal←c0259)+4) ), (* (W4Pt) (( (ptr) (* (ptr) formal←c0259 ))+4) ), pd77); }; return(0); } static void InvalidateChildren←P480(viewer←v4788, node←v4816) word viewer←v4788; word node←v4816; { register ptr gf←c26360 = (ptr) &globalframe; word child←v7432 = 0; W4 span←v7460; /* InvalidateChildren: */ SOURCE(5898, 2169) SOURCE(5976, 16) span←v7460.f0 = 0; span←v7460.f1 = (word) -1; span←v7460.f2 = 0; span←v7460.f3 = (word) -1; SOURCE(5994, 2073) { word pd78; pd78 = (* (( (ptr) (* (( (ptr) gf←c26360)+66)/* var←c24728 */ ))+28) ); child←v7432 = (word) ( *( (fPt) ((* (ptr) pd78 ))))(node←v4816, pd78); }; if ((child←v7432 == 0)) { SOURCE(6042, 6) return; }; SOURCE(6050, 2017) span←v7460.f0 = child←v7432; span←v7460.f1 = 0; { word pd79; pd79 = (* (( (ptr) (* (( (ptr) gf←c26360)+66)/* var←c24728 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd79 ))))((word) (( (bPt) &span←v7460)+8), node←v4816, pd79); }; SOURCE(6101, 30) (void) InvalidateSpan←P420(viewer←v4788, span←v7460, 1, 0, 0); } static void InvalidateBranch←P540(viewer←v4876, node←v4904) word viewer←v4876; word node←v4904; { register ptr gf←c26392 = (ptr) &globalframe; W4 span←v7504; /* InvalidateBranch: */ SOURCE(6135, 1932) SOURCE(6198, 60) span←v7504.f0 = node←v4904; span←v7504.f1 = 0; { word pd80; pd80 = (* (( (ptr) (* (( (ptr) gf←c26392)+66)/* var←c24728 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd80 ))))((word) (( (bPt) &span←v7504)+8), node←v4904, pd80); }; SOURCE(6260, 30) (void) InvalidateSpan←P420(viewer←v4876, span←v7504, 1, 0, 0); } static void InvalidateBranchAndNext←P600(viewer←v4964, node←v4992) word viewer←v4964; word node←v4992; { register ptr gf←c26424 = (ptr) &globalframe; word last←v7548; word next←v7576; W2 var←c0144; word end←v7604; W4 span←v7632; /* InvalidateBranchAndNext: */ SOURCE(6294, 1773) SOURCE(6357, 38) { word pd81; pd81 = (* (( (ptr) (* (( (ptr) gf←c26424)+66)/* var←c24728 */ ))+26) ); last←v7548 = (word) ( *( (fPt) ((* (ptr) pd81 ))))(node←v4992, pd81); }; SOURCE(6397, 38) { word pd82; pd82 = (* (( (ptr) (* (( (ptr) gf←c26424)+66)/* var←c24728 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd82 ))))((word) &var←c0144, last←v7548, pd82); }; next←v7576 = var←c0144.f0; SOURCE(6437, 43) end←v7604 = ( (next←v7576 == 0) ? last←v7548 : next←v7576 ) ; SOURCE(6482, 57) span←v7632.f0 = node←v4992; span←v7632.f1 = 0; span←v7632.f2 = end←v7604; { word pd83; pd83 = (* (( (ptr) (* (( (ptr) gf←c26424)+67)/* var←c24824 */ ))+6) ); span←v7632.f3 = (word) ( *( (fPt) ((* (ptr) pd83 ))))(end←v7604, pd83); }; SOURCE(6541, 30) (void) InvalidateSpan←P420(viewer←v4964, span←v7632, 1, 0, 0); } static void UpdateStartPos←P660(viewer←v5052, formal←c0306, last←v5108) word viewer←v5052; word formal←c0306; word last←v5108; { W8 var←c26456; /* declaration of first←v5080 skipped */ register ptr gf←c26488 = (ptr) &globalframe; /* declaration of var←c24856 skipped */ /* declaration of next←v7676 skipped */ var←c26456.f4/* first←v5080 */ = formal←c0306; /* UpdateStartPos: */ SOURCE(6575, 1492) { word tmpAddr84; tmpAddr84 = (word) (( (ptr) &var←c26456)+5)/* var←c24856 */ ; (* (ptr) tmpAddr84 ) = ( ((word) (fPt) UpdateViewerStartPos←P2004) ); (* (( (ptr) tmpAddr84) + 1) ) = 1; }; SOURCE(6636, 39) { word pd85; pd85 = (* (( (ptr) (* (( (ptr) gf←c26488)+66)/* var←c24728 */ ))+14) ); var←c26456.f7/* next←v7676 */ = (word) ( *( (fPt) ((* (ptr) pd85 ))))(last←v5108, pd85); }; SOURCE(7038, 28) (void) UpdateViewerStartPos←P2004(viewer←v5052, (word) (( (bPt) &var←c26456)+20)/* var←c24856 */ ); SOURCE(7068, 88) { register word v←v7808; v←v7808 = (* (( (ptr) viewer←v5052)+21) ); lab←L100039: ; if ( ( (v←v7808 != 0) ? (v←v7808 != viewer←v5052) : 0 ) ) { } else { goto lab←L100036; }; SOURCE(7133, 23) (void) UpdateViewerStartPos←P2004(v←v7808, (word) (( (bPt) &var←c26456)+20)/* var←c24856 */ ); v←v7808 = (* (( (ptr) v←v7808)+21) ); goto lab←L100039; lab←L100036: ; }; } static void UpdateViewerStartPos←P2004(v←v7780, formal←c26552) word v←v7780; word formal←c26552; { register ptr gf←c26520 = (ptr) &globalframe; word tdd←v7852; word lines←v7880 = 0; formal←c26552 = (formal←c26552 - 20); /* UpdateViewerStartPos: */ SOURCE(6677, 1390) SOURCE(6720, 53) tdd←v7852 = XR←Narrow((* (( (ptr) v←v7780)+26) ), (* (( (ptr) gf←c26520)+10) )); SOURCE(6807, 24) if ((tdd←v7852 == 0)) { SOURCE(6825, 6) return; }; SOURCE(6833, 21) lines←v7880 = (* (( (ptr) tdd←v7852)+1) ); SOURCE(6856, 1211) { word limit86; if (((* (ptr) (( (W9Pt) (( (ptr) lines←v7880)+3))+( limit86 = (* (( (ptr) lines←v7880)+2) ), BCK(0, limit86) )) ) != (* (( (ptr) formal←c26552)+7) ))) { SOURCE(6889, 6) return; }; }; SOURCE(6897, 1170) if ((0 == (word) AlreadySaved←P240(v←v7780))) { SOURCE(6925, 1142) { word limit87; (void) SaveViewerPos←P300(v←v7780, (* (W2Pt) (( (W9Pt) (( (ptr) lines←v7880)+3))+( limit87 = (* (( (ptr) lines←v7880)+2) ), BCK(0, limit87) )) )); }; }; SOURCE(6984, 1083) { word var←c24888; { word limit88; var←c24888 = (word) (( (W9Pt) (( (bPt) lines←v7880)+12))+( limit88 = (* (( (ptr) lines←v7880)+2) ), BCK(0, limit88) )); }; (* (ptr) var←c24888 ) = (* (( (ptr) formal←c26552)+4) ); (* (( (ptr) var←c24888)+1) ) = 0; }; SOURCE(7011, 1056) { word limit89; ((P1x0b) (( (bPt) (( (W9Pt) (( (bPt) lines←v7880)+12))+( limit89 = (* (( (ptr) lines←v7880)+2) ), BCK(0, limit89) ))) + 8))->f = 0; }; } static void InvalidateDest←P720(viewer←v5168, node←v5196, formal←c0307, formal←c0308) word viewer←v5168; word node←v5196; word formal←c0307; word formal←c0308; { W8 var←c26584; /* declaration of movingIn←v5224 skipped */ /* declaration of afterDest←v5252 skipped */ register ptr gf←c26616 = (ptr) &globalframe; /* declaration of var←c24920 skipped */ W2 pos←v7952; var←c26584.f4/* movingIn←v5224 */ = formal←c0307; var←c26584.f5/* afterDest←v5252 */ = formal←c0308; /* InvalidateDest: */ SOURCE(7171, 1452) { word tmpAddr90; tmpAddr90 = (word) (( (ptr) &var←c26584)+6)/* var←c24920 */ ; (* (ptr) tmpAddr90 ) = ( ((word) (fPt) InvalidateDestLine←P2112) ); (* (( (ptr) tmpAddr90) + 1) ) = 1; }; SOURCE(8422, 75) pos←v7952.f0 = node←v5196; { word pd91; if ((0 != var←c26584.f5/* afterDest←v5252 */ )) { pd91 = (* (( (ptr) (* (( (ptr) gf←c26616)+67)/* var←c24824 */ ))+6) ); pos←v7952.f1 = (word) ( *( (fPt) ((* (ptr) pd91 ))))(node←v5196, pd91); } else { pos←v7952.f1 = 0; }; }; SOURCE(8499, 31) (void) InvalidateDestLine←P2112(viewer←v5168, pos←v7952, (word) (( (bPt) &var←c26584)+24)/* var←c24920 */ ); SOURCE(8532, 91) { register word v←v8084; v←v8084 = (* (( (ptr) viewer←v5168)+21) ); lab←L100043: ; if ( ( (v←v8084 != 0) ? (v←v8084 != viewer←v5168) : 0 ) ) { } else { goto lab←L100040; }; SOURCE(8597, 26) (void) InvalidateDestLine←P2112(v←v8084, pos←v7952, (word) (( (bPt) &var←c26584)+24)/* var←c24920 */ ); v←v8084 = (* (( (ptr) v←v8084)+21) ); goto lab←L100043; lab←L100040: ; }; } static void InvalidateDestLine←P2112(formal←c0309, formal←c0310, formal←c26712) word formal←c0309; W2 formal←c0310; word formal←c26712; { W11 var←c26648; /* declaration of v←v8028 skipped */ /* declaration of dest←v8056 skipped */ register ptr gf←c26680 = (ptr) &globalframe; word line←v8128; word clipped←v8156 = 0; /* declaration of failed←v8184 skipped */ formal←c26712 = (formal←c26712 - 24); (* (( (ptr) &var←c26648)+4)/* v←v8028 */ ) = formal←c0309; (* (W2Pt) (( (ptr) &var←c26648)+5)/* dest←v8056 */ ) = formal←c0310; (* (ptr) &var←c26648 ) = formal←c26712; /* InvalidateDestLine: */ SOURCE(7252, 1153) SOURCE(7330, 30) (* (( (ptr) &var←c26648)+7)/* failed←v8184 */ ) = 0; SOURCE(7362, 1043) { word var←c24984; var←c24984 = (* (( (ptr) (* (( (ptr) &var←c26648)+4)/* v←v8028 */ ))+26) ); if ((var←c24984 == 0)) { goto lab←L100044; }; if (((* (( (ptr) gf←c26680)+10) ) == XR←GetReferentType(var←c24984))) { { word tdd←v8228; tdd←v8228 = var←c24984; { word var←c25112; SOURCE(7428, 35) if ((0 != (* (( (ptr) formal←c26712)+4) ))) { SOURCE(7445, 18) (* (( (ptr) tdd←v8228)+8) ) = 1; }; SOURCE(7513, 554) SOURCE(7513, 554) { W2 var←c25016; { /* declaration of var←c04 skipped */ (* (( (ptr) &var←c26648)+8)/* var←c04 */ ) = (* (( (ptr) (* (( (ptr) gf←c26680)+65)/* var←c24568 */ ))+41) ); { /* declaration of var←c05 skipped */ { word var←c06; { /*1*/ word var←c0284; /*1*/ var←c0284 = (word) &var←c26648; /*1*/ var←c06 = (word) XR←Enable(( ((word) (fPt) NoName←Q3480) ), ( ((word) (fPt) NoName←Q3600) ), var←c0284); /*1*/ }; if ((var←c06 == 3)) { /*1*/ goto lab←L100046; /*1*/ }; }; var←c25016 = (* (W2Pt) (( (ptr) &var←c26648)+9)/* var←c05 */ ); }; }; clipped←v8156 = var←c25016.f1; line←v8128 = var←c25016.f0; }; lab←L100046: ; SOURCE(7635, 432) if ( ( (0 != (* (( (ptr) &var←c26648)+7)/* failed←v8184 */ )) ? ((* (( (ptr) tdd←v8228)+2) ) < 1023) : 0 ) ) { SOURCE(7692, 395) { word n←v8272; word delta←v8300; SOURCE(7694, 19) n←v8272 = (* (( (ptr) &var←c26648)+5) ); SOURCE(7715, 49) { word pd92; pd92 = (* (( (ptr) (* (( (ptr) gf←c26680)+66)/* var←c24728 */ ))+16) ); delta←v8300 = ((word) ( *( (fPt) ((* (ptr) pd92 ))))(n←v8272, pd92) - (* (( (ptr) tdd←v8228)+2) )); }; SOURCE(7766, 301) if (( (int)delta←v8300 > (int)0)) { { W2 var←c0176; SOURCE(7786, 281) { /*1*/ register word i←v8344 = 0; /*1*/ register word noName←c25048; /*1*/ noName←c25048 = delta←v8300; /*1*/ if (( (int)i←v8344 >= (int)noName←c25048)) { /*1*/ goto lab←L100049; /*1*/ }; /*1*/ lab←L100052: ; SOURCE(7818, 249) /*1*/ { /*1*/ word pd93; /*1*/ pd93 = (* (( (ptr) (* (( (ptr) gf←c26680)+66)/* var←c24728 */ ))+8) ); /*1*/ n←v8272 = (word) ( *( (fPt) ((* (ptr) pd93 ))))(n←v8272, pd93); /*1*/ }; /*1*/ i←v8344 = (i←v8344 + 1); /*1*/ if (( (int)i←v8344 < (int)noName←c25048)) { /*1*/ goto lab←L100052; /*1*/ }; /*1*/ lab←L100049: ; /*1*/ }; SOURCE(7851, 216) { /*1*/ word pd94; /*1*/ pd94 = (* (( (ptr) (* (( (ptr) gf←c26680)+66)/* var←c24728 */ ))+17) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd94 ))))((word) &var←c0176, n←v8272, (* (( (ptr) tdd←v8228)+2) ), 0, pd94); /*1*/ }; n←v8272 = var←c0176.f0; SOURCE(7901, 166) if ((n←v8272 != 0)) { SOURCE(7919, 148) /*1*/ (* (( (ptr) &var←c26648)+5) ) = n←v8272; /*1*/ (* (( (ptr) &var←c26648)+6) ) = 0; SOURCE(7934, 26) /*1*/ (* (( (ptr) &var←c26648)+7)/* failed←v8184 */ ) = 0; /*1*/ (* (( (ptr) formal←c26712)+5) ) = 0; SOURCE(7962, 105) SOURCE(7962, 105) /*1*/ { /*1*/ W2 var←c25080; /*1*/ { /*1*/ /* declaration of var←c07 skipped */ /*1*/ (* (( (ptr) &var←c26648)+8)/* var←c07 */ ) = (* (( (ptr) (* (( (ptr) gf←c26680)+65)/* var←c24568 */ ))+41) ); /*1*/ { /*1*/ /* declaration of var←c08 skipped */ /*1*/ { /*1*/ word var←c09; /*1*/ { /*1*/ word var←c0285; /*1*/ var←c0285 = (word) &var←c26648; /*1*/ var←c09 = (word) XR←Enable(( ((word) (fPt) NoName←Q3420) ), ( ((word) (fPt) NoName←Q3540) ), var←c0285); /*1*/ }; /*1*/ if ((var←c09 == 4)) { /*1*/ goto lab←L100054; /*1*/ }; /*1*/ }; /*1*/ var←c25080 = (* (W2Pt) (( (ptr) &var←c26648)+9)/* var←c08 */ ); /*1*/ }; /*1*/ }; /*1*/ clipped←v8156 = var←c25080.f1; /*1*/ line←v8128 = var←c25080.f0; /*1*/ }; /*1*/ lab←L100054: ; /*1*/ }; }; }; }; }; SOURCE(8090, 33) if ((0 != (* (( (ptr) &var←c26648)+7)/* failed←v8184 */ )) || ( (int)line←v8128 < (int)0)) { SOURCE(8117, 6) return; }; SOURCE(8140, 147) if (( (int)line←v8128 == (int)2147483647)) { SOURCE(8200, 87) if (((* (( (ptr) tdd←v8228)+2) ) < 1023)) { SOURCE(8246, 35) line←v8128 = (* (ptr) (* (( (ptr) tdd←v8228)+1) ) ); } else { SOURCE(8281, 6) return; }; }; SOURCE(8289, 81) if ( ( ( (0 != (* (( (ptr) formal←c26712)+5) )) ? (0 == clipped←v8156) : 0 ) ? ( (int)line←v8128 < (int)(* (ptr) (* ( ( (ptr) tdd←v8228)+1) ) )) : 0 ) ) { SOURCE(8357, 13) line←v8128 = (line←v8128 + 1); }; SOURCE(8372, 33) { word limit95; var←c25112 = (* (( (ptr) tdd←v8228)+1) ); ((P1x0b) (( (bPt) (( (W9Pt) (( (ptr) var←c25112)+3))+( limit95 = (* (( (ptr) var←c25112)+2) ), BCK(line←v8128, limit95) ))) + 8))->f = 0; }; }; }; } else { lab←L100044: ; }; }; } static word NoName←Q3420(formal←c0269) word formal←c0269; { SOURCE(7962, 105) { word pd96; pd96 = (* (( (ptr) formal←c0269)+8) ); (void) ( *( (fPt) ((* (ptr) pd96 ))))((word) (( (bPt) formal←c0269)+36), (* (( (ptr) formal←c0269)+4) ), (* (W2Pt) (( (ptr) formal←c0269)+5) ), 0, pd96); }; return(0); } static word NoName←Q3480(formal←c0270) word formal←c0270; { SOURCE(7513, 554) { word pd97; pd97 = (* (( (ptr) formal←c0270)+8) ); (void) ( *( (fPt) ((* (ptr) pd97 ))))((word) (( (bPt) formal←c0270)+36), (* (( (ptr) formal←c0270)+4) ), (* (W2Pt) (( (ptr) formal←c0270)+5) ), 0, pd97); }; return(0); } static word FirstLevelParent←P780(node←v5312) word node←v5312; { register ptr gf←c26744 = (ptr) &globalframe; word var←c5356; word prev1←v8388 = 0; word prev2←v8416 = 0; /* FirstLevelParent: */ SOURCE(8639, 171) SOURCE(8714, 69) lab←L100059: ; if ((node←v5312 != 0)) { } else { goto lab←L100057; }; SOURCE(8732, 13) prev2←v8416 = prev1←v8388; SOURCE(8747, 36) { word var←c25144; var←c25144 = node←v5312; prev1←v8388 = node←v5312; { word pd98; pd98 = (* (( (ptr) (* (( (ptr) gf←c26744)+66)/* var←c24728 */ ))+8) ); node←v5312 = (word) ( *( (fPt) ((* (ptr) pd98 ))))(var←c25144, pd98); }; }; goto lab←L100059; lab←L100057: ; SOURCE(8794, 16) return(prev2←v8416); } static word SpanIsBranches←P840(first←v5416, last←v5444) word first←v5416; word last←v5444; { register ptr gf←c26776 = (ptr) &globalframe; word var←c5488; word parent←v8460; word n←v8488; /* SpanIsBranches: */ SOURCE(8814, 349) SOURCE(8874, 37) { word pd99; pd99 = (* (( (ptr) (* (( (ptr) gf←c26776)+66)/* var←c24728 */ ))+8) ); parent←v8460 = (word) ( *( (fPt) ((* (ptr) pd99 ))))(first←v5416, pd99); }; SOURCE(8913, 14) n←v8488 = last←v5444; SOURCE(8929, 51) { word pd100; pd100 = (* (( (ptr) (* (( (ptr) gf←c26776)+66)/* var←c24728 */ ))+28) ); if (((word) ( *( (fPt) ((* (ptr) pd100 ))))(n←v8488, pd100) != 0)) { SOURCE(8966, 14) return(0); }; }; SOURCE(8982, 154) lab←L100062: ; SOURCE(8985, 60) { word var←c25208; { word pd101; pd101 = (* (( (ptr) (* (( (ptr) gf←c26776)+66)/* var←c24728 */ ))+8) ); n←v8488 = (word) ( *( (fPt) ((* (ptr) pd101 ))))(n←v8488, pd101); }; var←c25208 = n←v8488; if ((var←c25208 == parent←v8460)) { SOURCE(9032, 13) return(1); } else { if ((var←c25208 == 0)) { SOURCE(9054, 4) goto lab←L100061; }; }; }; SOURCE(9069, 67) { word pd102; pd102 = (* (( (ptr) (* (( (ptr) gf←c26776)+66)/* var←c24728 */ ))+10) ); if (((word) ( *( (fPt) ((* (ptr) pd102 ))))(n←v8488, pd102) != 0)) { SOURCE(9100, 36) { word pd103; pd103 = (* (( (ptr) (* (( (ptr) gf←c26776)+66)/* var←c24728 */ ))+8) ); return(((word) ( *( (fPt) ((* (ptr) pd103 ))))(n←v8488, pd103) == parent←v8460)); }; }; }; goto lab←L100062; lab←L100061: ; SOURCE(9147, 16) return(0); } static void SpanFromNodes←P900(formal←c0198, first←v5548, last←v5576) word formal←c0198; word first←v5548; word last←v5576; { register ptr gf←c26808 = (ptr) &globalframe; W4 var←c5620; /* SpanFromNodes: */ SOURCE(9167, 127) SOURCE(9232, 62) { W4 var←c25304; { W4 var←c25272; var←c25272.f0 = first←v5548; var←c25272.f1 = 0; var←c25272.f2 = last←v5576; { word pd104; word x105; pd104 = (* (( (ptr) (* (( (ptr) gf←c26808)+67)/* var←c24824 */ ))+6) ); var←c25272.f3 = ((x105 = (word) ( *( (fPt) ((* (ptr) pd104 ))))(last←v5576, pd104), MAX((int)(word), x105, 1)) - 1); }; var←c25304 = var←c25272; }; var←c5620 = var←c25304; /* removed tail goto */ }; (* (W4Pt) formal←c0198 ) = var←c5620; return; } static word ViewerFromNode←P960(node←v5680) word node←v5680; { register ptr gf←c26840 = (ptr) &globalframe; word var←c5724; /* ViewerFromNode: */ SOURCE(9298, 144) SOURCE(9353, 28) if ((node←v5680 == 0)) { SOURCE(9370, 11) return(0); }; SOURCE(9383, 59) { word var←c25368; { word pd106; pd106 = (* (( (ptr) (* (( (ptr) gf←c26840)+66)/* var←c24728 */ ))+9) ); var←c25368 = (word) ( *( (fPt) ((* (ptr) pd106 ))))(node←v5680, pd106); }; { word pd107; pd107 = (* (( (ptr) (* (( (ptr) gf←c26840)+68)/* var←c25400 */ ))+9) ); return((word) ( *( (fPt) ((* (ptr) pd107 ))))(var←c25368, pd107)); }; }; } static void NotifyBeforeEdit←P1020(change←v5784) word change←v5784; { register ptr gf←c26872 = (ptr) &globalframe; word viewer←v8532 = 0; W4 span←v8560; /* NotifyBeforeEdit: */ SOURCE(9448, 1122) SOURCE(9521, 16) span←v8560.f0 = 0; span←v8560.f1 = (word) -1; span←v8560.f2 = 0; span←v8560.f3 = (word) -1; SOURCE(9539, 993) { word var←c25464; var←c25464 = change←v5784; if ((var←c25464 == 0)) { goto lab←L100064; }; { word var←c25592; var←c25592 = (* (ptr) var←c25464 ); switch (var←c25592) { case 4: { word x←v8604; x←v8604 = var←c25464; SOURCE(9603, 53) viewer←v8532 = (word) ViewerFromNode←P960((* ((( (ptr) x←v8604)+1)) )); if ((viewer←v8532 == 0)) { SOURCE(9650, 6) return; }; SOURCE(9658, 37) (void) SpanFromNodes←P900((word) &span←v8560, (* (( (ptr) x←v8604)+1) ), (* (( (ptr) x←v8604)+2) )); SOURCE(9697, 103) if ((0 == (word) SpanIsBranches←P840((* (( (ptr) x←v8604)+1) ), (* (( (ptr) x←v8604)+2) )))) { SOURCE(9741, 59) { word var←c25496; var←c25496 = (word) FirstLevelParent←P780((* ((( (ptr) x←v8604)+2)) )); { word pd108; pd108 = (* (( (ptr) (* (( (ptr) gf←c26872)+66)/* var←c24728 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd108 ))))((word) (( (bPt) &span←v8560)+8), var←c25496, pd108); }; }; }; SOURCE(9802, 57) (void) InvalidateSpan←P420(viewer←v8532, span←v8560, 1, 0, ( (int)(* (( (ptr) x←v8604)+3) ) < (int)0)); }; break; case 3: { word x←v8660; x←v8660 = var←c25464; SOURCE(9902, 287) viewer←v8532 = (word) ViewerFromNode←P960((* ((( (ptr) x←v8660)+2)) )); if ((viewer←v8532 != 0)) { SOURCE(9951, 238) { word branches←v8716; SOURCE(9953, 48) branches←v8716 = (word) SpanIsBranches←P840((* (( (ptr) x←v8660)+2) ), (* (( (ptr) x←v8660)+3) )); SOURCE(10003, 37) (void) SpanFromNodes←P900((word) &span←v8560, (* (( (ptr) x←v8660)+2) ), (* (( (ptr) x←v8660)+3) )); SOURCE(10042, 80) if ((0 == branches←v8716)) { SOURCE(10063, 59) { /*1*/ word var←c25528; /*1*/ var←c25528 = (word) FirstLevelParent←P780((* ((( (ptr) x←v8660)+3)) )); /*1*/ { /*1*/ word pd109; /*1*/ pd109 = (* (( (ptr) (* (( (ptr) gf←c26872)+66)/* var←c24728 */ ))+27) ); /*1*/ (void) ( *( (fPt) ((* (ptr) pd109 ))))((word) (( (bPt) &span←v8560)+8), var←c25528, pd109); /*1*/ }; /*1*/ }; }; SOURCE(10124, 40) (void) InvalidateSpan←P420(viewer←v8532, span←v8560, 1, 1, 0); SOURCE(10166, 23) (void) SetNewVersion←P60(viewer←v8532); }; }; SOURCE(10192, 34) ((P1x7b) (( (bPt) (* (( (ptr) x←v8660)+4) )) + 36))->f = 1; ((P1x7b) (( (bPt) (* (( (ptr) x←v8660)+1) )) + 36))->f = 1; SOURCE(10228, 52) viewer←v8532 = (word) ViewerFromNode←P960((* ((( (ptr) x←v8660)+1)) )); if ((viewer←v8532 == 0)) { SOURCE(10274, 6) return; }; SOURCE(10282, 51) (void) InvalidateDest←P720(viewer←v8532, (* (( (ptr) x←v8660)+1) ), 1, (* (( (ptr) x←v8660)+6) )); }; break; case 1: { word x←v8760; x←v8760 = var←c25464; SOURCE(10377, 19) ((P1x7b) (( (bPt) (* (( (ptr) x←v8760)+1) )) + 36))->f = 1; SOURCE(10398, 52) viewer←v8532 = (word) ViewerFromNode←P960((* ((( (ptr) x←v8760)+1)) )); if ((viewer←v8532 == 0)) { SOURCE(10444, 6) return; }; SOURCE(10452, 80) { word pd110; pd110 = (* (( (ptr) (* (( (ptr) gf←c26872)+69)/* var←c25560 */ ))+29) ); if ((0 != (word) ( *( (fPt) ((* (ptr) pd110 ))))((* (( (ptr) x←v8760)+2) ), (* (( (ptr) gf←c26872)+18) ), pd110))) { SOURCE(10493, 39) (void) InvalidateBranchAndNext←P600(viewer←v8532, (* (( (ptr) x←v8760)+1) )); }; }; }; break; default: lab←L100064: ; break; }; }; }; SOURCE(10549, 21) (void) SetNewVersion←P60(viewer←v8532); } static void NotifyAfterEdit←P1080(change←v5856) word change←v5856; { register ptr gf←c26904 = (ptr) &globalframe; word viewer←v8816 = 0; W4 span←v8844; /* NotifyAfterEdit: */ SOURCE(10576, 1081) SOURCE(10648, 16) span←v8844.f0 = 0; span←v8844.f1 = (word) -1; span←v8844.f2 = 0; span←v8844.f3 = (word) -1; SOURCE(10666, 991) { word var←c25656; var←c25656 = change←v5856; if ((var←c25656 == 0)) { goto lab←L100065; }; { word var←c25752; var←c25752 = (* (ptr) var←c25656 ); switch (var←c25752) { case 0: { word x←v8888; x←v8888 = var←c25656; SOURCE(10731, 19) ((P1x7b) (( (bPt) (* (( (ptr) x←v8888)+1) )) + 36))->f = 1; SOURCE(10752, 52) viewer←v8816 = (word) ViewerFromNode←P960((* ((( (ptr) x←v8888)+1)) )); if ((viewer←v8816 == 0)) { SOURCE(10798, 6) return; }; SOURCE(10806, 77) (void) UpdateAfterTextEdit←P360(viewer←v8816, (* (( (ptr) x←v8888)+1) ), (* (( (ptr) x←v8888)+2) ), (* (( (ptr) x←v8888)+3) ), (* (( (ptr) x←v8888)+4) ), (* (( (ptr) x←v8888)+5) )); }; break; case 5: { word x←v8944; x←v8944 = var←c25656; SOURCE(10926, 428) { W4 span←v9000; word child←v9028 = 0; SOURCE(10928, 16) span←v9000.f0 = 0; span←v9000.f1 = (word) -1; span←v9000.f2 = 0; span←v9000.f3 = (word) -1; SOURCE(10959, 31) ((P1x7b) (( (bPt) (* (( (ptr) x←v8944)+2) )) + 36))->f = 1; ((P24x8w) (( (ptr) (* (( (ptr) x←v8944)+1) )) + 9))->f = 1; SOURCE(10992, 52) viewer←v8816 = (word) ViewerFromNode←P960((* ((( (ptr) x←v8944)+2)) )); if ((viewer←v8816 == 0)) { SOURCE(11038, 6) return; }; SOURCE(11046, 21) (void) SetNewVersion←P60(viewer←v8816); SOURCE(11069, 43) (void) InvalidateDest←P720(viewer←v8816, (* (( (ptr) x←v8944)+2) ), 0, 1); SOURCE(11114, 238) { word pd111; pd111 = (* (( (ptr) (* (( (ptr) gf←c26904)+66)/* var←c24728 */ ))+28) ); child←v9028 = (word) ( *( (fPt) ((* (ptr) pd111 ))))((* ((( (ptr) x←v8944)+1)) ), pd111); }; if ((child←v9028 != 0)) { SOURCE(11232, 50) span←v9000.f0 = child←v9028; span←v9000.f1 = 0; { word pd112; pd112 = (* (( (ptr) (* (( (ptr) gf←c26904)+66)/* var←c24728 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd112 ))))((word) (( (bPt) &span←v9000)+8), (* (( (ptr) x←v8944)+1) ), pd112); }; SOURCE(11284, 28) (void) InvalidateSpan←P420(viewer←v8816, span←v9000, 1, 0, 0); SOURCE(11314, 38) (void) UpdateStartPos←P660(viewer←v8816, (* (( (ptr) x←v8944)+1) ), (* (( (ptr) x←v8944)+1) )); }; }; }; break; case 3: { word x←v9072; x←v9072 = var←c25656; SOURCE(11397, 52) viewer←v8816 = (word) ViewerFromNode←P960((* ((( (ptr) x←v9072)+1)) )); if ((viewer←v8816 == 0)) { SOURCE(11443, 6) return; }; SOURCE(11451, 39) (void) UpdateStartPos←P660(viewer←v8816, (* (( (ptr) x←v9072)+2) ), (* (( (ptr) x←v9072)+3) )); SOURCE(11492, 46) if ((0 != (word) SpanIsBranches←P840((* (( (ptr) x←v9072)+2) ), (* (( (ptr) x←v9072)+3) )))) { SOURCE(11532, 6) return; }; SOURCE(11540, 24) span←v8844.f0 = (* (( (ptr) x←v9072)+1) ); span←v8844.f1 = 0; SOURCE(11566, 59) { word var←c25720; var←c25720 = (word) FirstLevelParent←P780((* ((( (ptr) x←v9072)+3)) )); { word pd113; pd113 = (* (( (ptr) (* (( (ptr) gf←c26904)+66)/* var←c24728 */ ))+27) ); (void) ( *( (fPt) ((* (ptr) pd113 ))))((word) (( (bPt) &span←v8844)+8), var←c25720, pd113); }; }; SOURCE(11627, 30) (void) InvalidateSpan←P420(viewer←v8816, span←v8844, 1, 0, 0); }; break; default: lab←L100065: ; break; }; }; }; } static void Init←P1140() { register ptr gf←c26936 = (ptr) &globalframe; word beforeEditChanges←v9128 = 127; word afterEditChanges←v9156 = 0; /* Init: */ SOURCE(11673, 504) SOURCE(11794, 39) beforeEditChanges←v9128 = (beforeEditChanges←v9128 & 4294967231) | (((0)) << 6); SOURCE(11835, 40) beforeEditChanges←v9128 = (beforeEditChanges←v9128 & 4294967293) | (((0)) << 1); SOURCE(11877, 92) { word pd114; pd114 = (* (( (ptr) (* (( (ptr) gf←c26936)+70)/* var←c25784 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd114 ))))((word) (( (bPt) gf←c26936)+92)/* var←c23224 */ , 0, 1, beforeEditChanges←v9128, pd114) ; }; SOURCE(11971, 36) afterEditChanges←v9156 = (afterEditChanges←v9156 & 4294967287) | (((1)) << 3); SOURCE(12009, 38) afterEditChanges←v9156 = (afterEditChanges←v9156 & 4294967293) | (((1)) << 1); SOURCE(12049, 37) afterEditChanges←v9156 = (afterEditChanges←v9156 & 4294967231) | (((1)) << 6); SOURCE(12088, 89) { word pd115; pd115 = (* (( (ptr) (* (( (ptr) gf←c26936)+70)/* var←c25784 */ ))+4) ); (void) ( *( (fPt) ((* (ptr) pd115 ))))((word) (( (bPt) gf←c26936)+84)/* var←c23192 */ , 1, 1, afterEditChanges←v9156, pd115) ; }; } static void NoName←Q3540(formal←c0236, formal←c200008, formal←c200009, formal←c200010, formal←c200011) word formal←c0236; word formal←c200008; word formal←c200009; word formal←c200010; word formal←c200011; { register ptr gf←c0278 = (ptr) &globalframe; if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0278)+65)/* var←c24568 */ ))+39) ))) { SOURCE(8054, 13) (* (( (ptr) formal←c200008)+7) ) = 1; SOURCE(8069, 9) (* (ptr) formal←c0236 ) = 2; (* (( (ptr) formal←c0236)+1) ) = 4; return; }; (* (ptr) formal←c0236 ) = 0; (* (( (ptr) formal←c0236)+1) ) = 0; return; } static void NoName←Q3600(formal←c0241, formal←c200004, formal←c200005, formal←c200006, formal←c200007) word formal←c0241; word formal←c200004; word formal←c200005; word formal←c200006; word formal←c200007; { register ptr gf←c0279 = (ptr) &globalframe; if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0279)+65)/* var←c24568 */ ))+39) ))) { SOURCE(7606, 13) (* (( (ptr) formal←c200004)+7) ) = 1; SOURCE(7621, 9) (* (ptr) formal←c0241 ) = 2; (* (( (ptr) formal←c0241)+1) ) = 3; return; }; (* (ptr) formal←c0241 ) = 0; (* (( (ptr) formal←c0241)+1) ) = 0; return; } static void NoName←Q3660(formal←c0246, formal←c200000, formal←c200001, formal←c200002, formal←c200003) word formal←c0246; word formal←c200000; word formal←c200001; word formal←c200002; word formal←c200003; { register ptr gf←c0280 = (ptr) &globalframe; if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0280)+65)/* var←c24568 */ ))+39) ))) { SOURCE(4954, 19) (* (( (ptr) formal←c200000)+6) ) = 2147483647; SOURCE(4975, 33) (* (( (ptr) formal←c200000)+8) ) = 0; (* (( (ptr) formal←c200000)+7) ) = 0; SOURCE(5010, 85) if ((0 != (* (( (ptr) (* (ptr) formal←c200000 ))+8) ))) { (* (( (ptr) formal←c200000)+5) ) = 0; } else { (* (( (ptr) formal←c200000)+5) ) = 2147483647; }; SOURCE(5097, 10) (* (ptr) formal←c0246 ) = 2; (* (( (ptr) formal←c0246)+1) ) = 2; return; }; (* (ptr) formal←c0246 ) = 0; (* (( (ptr) formal←c0246)+1) ) = 0; return; } /* file: TEditDisplay2Impl, module: TEditDisplay2Impl, compiled at: February 27, 1992 7:05:36 pm PST */ extern void XR←install←TEditDisplay2Impl() { NoName←Q3300(); } extern void XR←run←TEditDisplay2Impl() { XR←Start(&globalframe); }