/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation. All rights reserved. */
/* time: July 9, 1992 4:11:34 pm PDT */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: TEditScrollingImpl, module: TEditScrollingImpl */
/* switches: bcfhklnouw */
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1066791163,3110400853] TEditScrollingImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1;} W2;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {word f0, f1, f2, f3, f4, f5, f6;} W7;
typedef struct {W8 f; W7 r;} W15;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3, f4, f5;} W6;
typedef W2 *W2Pt;
typedef struct {word f0, f1, f2;} W3;
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 struct {W8 f; W4 r;} W12;
typedef struct {W8 f; word r;} W9;
typedef W9 *W9Pt;
typedef struct {W8 f; W3 r;} W11;
typedef struct {W8 f; W2 r;} W10;
#define SOURCE(p, l) /* source p, l */
#define MAX(cast, x, y) ( ( cast x) > ( cast y) ? (x) : (y) )
#define IOP2(op, x, y) ( (word) ((x) op (y)) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define MIN(cast, x, y) ( ( cast x) < ( cast y) ? (x) : (y) )
static void NoName←Q2556();
static void TEditScrollingImpl←P0();
static void BackUp←P60();
static void IncrBackUp←P480();
static void ScrollTEditDocument←P120();
static void inner←P828();
static word NoName←Q2616();
static word NoName←Q2676();
static word NoName←Q2736();
static void ScrollToPosition←P180();
static void inner←P1272();
static word OnScreen←P240();
static void AutoScroll←P300();
static void inner←P1524();
static word TryToGlitch←P1584();
static word NextNode←P1740();
static void LockAndDoIt←P360();
static void withViewer←P1800();
static word NoName←Q2796();
static word NoName←Q2856();
static void DoPaint←P420();
static void NoName←Q2916();
static void NoName←Q2976();
static void NoName←Q3036();
static void NoName←Q3096();
static void NoName←Q3156();
static struct {unsigned f; char r[4];} string1 = {131076, "\216\251\000"};
static struct {unsigned f; char r[4];} string2 = {65537, "\001\000\000"};
static struct {unsigned f; char r[16];} string3 = {917520, "\216\257\300\363\223\326\161\300\017\164\046\072\104\350\000"};
static struct {unsigned f; char r[20];} string4 = {1179668, "\260\006\005\146\151\162\163\164\242\005\004\162\145\163\164\214\242\261\000"};
static struct {unsigned f; char r[4];} string5 = {131074, "\003\001\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\343\357\262\137\300\144\166\356\317\100\164\000\000"};
static struct {unsigned f; char r[16];} string7 = {851981, "\006\005\000\001\004\001\054\001\070\001\100\114\001\000\000"};
static struct {unsigned f; char r[16];} string8 = {851984, "\257\300\174\107\267\236\300\027\127\205\140\100\164\000\000"};
static struct {unsigned f; char r[12];} string9 = {655372, "ScrollDown\000"};
static struct {unsigned f; char r[8];} string10 = {327688, "Thumb\000\000"};
static struct {unsigned f; char r[16];} string11 = {851984, "ScrollDoPaint\000\000"};
static struct {unsigned f; char r[8];} string12 = {393224, "PTioga\000"};
static struct {unsigned f; char r[12];} string13 = {524300, "ScrollUp\000\000\000"};
static struct {unsigned f; char r[8];} string14 = {327688, "Print\000\000"};
static struct {unsigned f; char r[8];} string15 = {393224, "Scroll\000"};
static struct {unsigned f; char r[12];} string16 = {589836, "StyleKind\000\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\077\225\360\373\300\271\144\363\125\100\164\000\000"};
static struct {unsigned f; char r[8];} string18 = {393222, "\006\0014\004@\377\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\006<7[\300;CV\364@h\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\167\317\044\003\300\277\140\004\026\100\150\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\375\366\273\111\300\156\046\321\053\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\366\233\214\046\300\233\036\213\260\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\320\263\152\354\300\340\215\053\236\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\353\351\362\137\300\156\374\044\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\241\200\031\316\300\154\273\372\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\351\360\047\051\300\272\273\201\332\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300R-\356\251\300YX]$@h\000\000"};
static struct {unsigned f; char r[16];} string29 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string30 = {851984, "\257\300\174\107\267\236\300\027\127\205\140\100\150\000\000"};
static struct {unsigned f; char r[16];} string31 = {851984, "\257\300\261\010\310\246\300\337\340\027\051\100\150\000\000"};
static struct {unsigned f; char r[16];} string32 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string33 = {851984, "\257\300\312\253\314\243\300\267\126\271\104\100\150\000\000"};
static struct {unsigned f; char r[16];} string34 = {851984, "\257\300\254\253\350\355\300\233\126\335\104\100\150\000\000"};
static struct {unsigned f; char r[16];} string35 = {851984, "\257\300\354\332\367\333\300\361\203\205\173\100\150\000\000"};
static struct {unsigned f; char r[16];} string36 = {851984, "\257\300\255\037\131\057\300\313\250\372\104\100\150\000\000"};
static struct {
word f0[21]; 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[19];
} globalframe = {
{0}, (word) DoPaint←P420, 0, (word) LockAndDoIt←P360,
0, (word) AutoScroll←P300, 0, (word) OnScreen←P240,
0, (word) ScrollToPosition←P180, 0, (word) ScrollTEditDocument←P120,
0, (word) BackUp←P60, 0, (word) TEditScrollingImpl←P0,
{0}
};
static void NoName←Q2556()
{
register ptr gf←c0284 = (ptr) &globalframe;
word var←c29748;
(* (( (ptr) gf←c0284)+5) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
(* (( (ptr) gf←c0284)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
(* (( (ptr) gf←c0284)+9) ) = (word) XR←GetTypeIndex((word) &string4, 0, (word) &string5);
(* (( (ptr) gf←c0284)+11) ) = (word) XR←GetTypeIndex((word) &string6, 0, (word) &string7);
(* (( (ptr) gf←c0284)+12) ) = (word) XR←GetTypeIndexS((word) (&string8));
(* (ptr) (( (bPt) gf←c0284)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+5) ), (word) &string9);
(* (ptr) (( (bPt) gf←c0284)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+5) ), (word) &string10);
(* (ptr) (( (bPt) gf←c0284)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+5) ), (word) &string11);
(* (ptr) (( (bPt) gf←c0284)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+5) ), (word) &string12);
(* (ptr) (( (bPt) gf←c0284)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+5) ), (word) &string13);
(* (ptr) (( (bPt) gf←c0284)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+5) ), (word) &string14);
(* (ptr) (( (bPt) gf←c0284)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+8) ), (word) &string15);
(* (ptr) (( (bPt) gf←c0284)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c0284)+5) ), (word) &string16);
(void) XR←DeclareGlobalFrame((word) "TEditScrollingImpl", &globalframe, (word) XR←GetTypeIndex((word) &string17, 0, (word) &string18)
, (word) (( (bPt) gf←c0284)+140)/* var←c27188 */ );
var←c29748 = (word) XR←ImportInterface((word) "CodeTimer", (word) XR←GetTypeIndexS((word) (&string19)), 21);
(* (( (ptr) gf←c0284)+47)/* var←c28436 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 526850);
(void) XR←ImportProcS(var←c29748, 526338);
var←c29748 = (word) XR←ImportInterface((word) "NodeStyle", (word) XR←GetTypeIndexS((word) (&string20)), 41);
(* (( (ptr) gf←c0284)+40)/* var←c27348 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 67635458);
var←c29748 = (word) XR←ImportInterface((word) "NodeStyleOps", (word) XR←GetTypeIndexS((word) (&string21)), 23);
(* (( (ptr) gf←c0284)+39)/* var←c27316 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 262913);
(void) XR←ImportProcS(var←c29748, 789251);
(void) XR←ImportProcS(var←c29748, 67109376);
var←c29748 = (word) XR←ImportInterface((word) "RopeReader", (word) XR←GetTypeIndexS((word) (&string22)), 25);
(* (( (ptr) gf←c0284)+38)/* var←c27284 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 67636482);
(void) XR←ImportProcS(var←c29748, 268033);
(void) XR←ImportProcS(var←c29748, 67114496);
var←c29748 = (word) XR←ImportInterface((word) "TEditDisplay", (word) XR←GetTypeIndexS((word) (&string23)), 4);
(* (( (ptr) gf←c0284)+45)/* var←c28276 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 1048579);
var←c29748 = (word) XR←ImportInterface((word) "TEditFormat", (word) XR←GetTypeIndexS((word) (&string24)), 17);
(* (( (ptr) gf←c0284)+43)/* var←c27956 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 263937);
(void) XR←ImportProcS(var←c29748, 1573126);
(void) XR←ImportProcS(var←c29748, 67110400);
var←c29748 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string25)), 44);
(* (( (ptr) gf←c0284)+48)/* var←c28500 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 67379969);
var←c29748 = (word) XR←ImportInterface((word) "TEditLocks", (word) XR←GetTypeIndexS((word) (&string26)), 7);
(* (( (ptr) gf←c0284)+52)/* var←c29652 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 263425);
(void) XR←ImportProcS(var←c29748, 68420613);
var←c29748 = (word) XR←ImportInterface((word) "TEditOps", (word) XR←GetTypeIndexS((word) (&string27)), 12);
(* (( (ptr) gf←c0284)+49)/* var←c28596 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 263681);
var←c29748 = (word) XR←ImportInterface((word) "TEditProfile", (word) XR←GetTypeIndexS((word) (&string28)), 19);
(* (( (ptr) gf←c0284)+50)/* var←c29076 */ ) = var←c29748;
var←c29748 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string29)), 68);
(* (( (ptr) gf←c0284)+46)/* var←c28404 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 134495233);
var←c29748 = (word) XR←ImportInterface((word) "TEditTouchup", (word) XR←GetTypeIndexS((word) (&string30)), 6);
(* (( (ptr) gf←c0284)+44)/* var←c28180 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 263425);
(void) XR←ImportProcS(var←c29748, 67633922);
var←c29748 = (word) XR←ImportInterface((word) "TextEdit", (word) XR←GetTypeIndexS((word) (&string31)), 39);
(* (( (ptr) gf←c0284)+42)/* var←c27572 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 67633154);
(void) XR←ImportProcS(var←c29748, 67371521);
var←c29748 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string32)), 34);
(* (( (ptr) gf←c0284)+41)/* var←c27444 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 67372289);
(void) XR←ImportProcS(var←c29748, 134481921);
(void) XR←ImportProcS(var←c29748, 67372033);
(void) XR←ImportProcS(var←c29748, 67374081);
(void) XR←ImportProcS(var←c29748, 135532292);
(void) XR←ImportProcS(var←c29748, 68686084);
(void) XR←ImportProcS(var←c29748, 67373569);
(void) XR←ImportProcS(var←c29748, 135007491);
(void) XR←ImportProcS(var←c29748, 67377153);
(void) XR←ImportProcS(var←c29748, 134485761);
(void) XR←ImportProcS(var←c29748, 201853186);
(void) XR←ImportProcS(var←c29748, 202378756);
var←c29748 = (word) XR←ImportInterface((word) "ViewerForkers", (word) XR←GetTypeIndexS((word) (&string33)), 2);
(* (( (ptr) gf←c0284)+53)/* var←c29716 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 1310725);
var←c29748 = (word) XR←ImportInterface((word) "ViewerLocks", (word) XR←GetTypeIndexS((word) (&string34)), 9);
(* (( (ptr) gf←c0284)+51)/* var←c29588 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 524290);
var←c29748 = (word) XR←ImportInterface((word) "ViewerOps", (word) XR←GetTypeIndexS((word) (&string35)), 43);
(* (( (ptr) gf←c0284)+37)/* var←c27252 */ ) = var←c29748;
(void) XR←ImportProcS(var←c29748, 1051652);
(void) XR←ImportProcS(var←c29748, 67639554);
var←c29748 = (word) XR←ExportInterface((word) "TEditScrolling", (word) XR←GetTypeIndexS((word) (&string36)), 3);
(* (( (ptr) gf←c0284)+54)/* var←c29780 */ ) = var←c29748;
(void) XR←ExportProcS(var←c29748, (word) (( (bPt) gf←c0284)+124)/* var←c27124 */ , 135528453);
(void) XR←ExportProcS(var←c29748, (word) (( (bPt) gf←c0284)+116)/* var←c27092 */ , 1048835);
(void) XR←ExportProcS(var←c29748, (word) (( (bPt) gf←c0284)+100)/* var←c27028 */ , 1049092);
}
static void TEditScrollingImpl←P0(formal←c044, formal←c043)
word formal←c044;
word formal←c043;
{
/* TEditScrollingImpl: */
}
static void BackUp←P60(formal←c070, formal←c0341, tdd←v3920, pos←v3948, goal←v3976)
word formal←c070;
word formal←c0341;
word tdd←v3920;
W2 pos←v3948;
word goal←v3976;
{
W15 var←c29812;
/* declaration of viewer←v3892 skipped */
register ptr gf←c29844 = (ptr) &globalframe;
W2 newPos←v4020;
word lines←v4048;
word totalLeading←v4076;
word topIndent←v4104;
/* declaration of var←c27220 skipped */
/* declaration of kind←v4832 skipped */
/* declaration of maxLevel←v4860 skipped */
/* declaration of parent←v4888 skipped */
/* declaration of level←v4916 skipped */
/* declaration of levelClipping←v4944 skipped */
/* declaration of rdr←v5000 skipped */
/* declaration of style←v5028 skipped */
/* declaration of styleNode←v5056 skipped */
word remainder←v5084;
word dy←v5112 = 2147483647;
word topLeading←v5140 = 0;
(* (( (ptr) &var←c29812)+4)/* viewer←v3892 */ ) = formal←c0341;
/* BackUp: */
SOURCE(713, 4314)
{
word tmpAddr37;
tmpAddr37 = (word) (( (ptr) &var←c29812)+5)/* var←c27220 */ ;
(* (ptr) tmpAddr37 ) = ( ((word) (fPt) IncrBackUp←P480) );
(* (( (ptr) tmpAddr37) + 1) ) = 1;
};
SOURCE(713, 4314)
newPos←v4020.f0 = 0;
newPos←v4020.f1 = 0;
SOURCE(887, 103)
{
word tc38;
word pd39;
pd39 = (* (( (ptr) (* (( (ptr) gf←c29844)+37)/* var←c27252 */ ))+29) );
if (((word) ( *( (fPt) ((* (ptr) pd39 ))))((* (( (ptr) &var←c29812)+4)/* viewer←v3892 */ ), (* (( (ptr) gf←c29844)+20) ), pd39)
== (* (( (ptr) gf←c29844)+18) ))) {
tc38 = (word) 1;
}
else {
tc38 = (word) 0;
};
(* (( (ptr) &var←c29812)+7)/* kind←v4832 */ ) = tc38;
};
SOURCE(992, 33)
(* (( (ptr) &var←c29812)+8)/* maxLevel←v4860 */ ) = (* (( (ptr) tdd←v3920)+2) );
SOURCE(1027, 20)
(* (( (ptr) &var←c29812)+9)/* parent←v4888 */ ) = 0;
SOURCE(1049, 18)
(* (( (ptr) &var←c29812)+10)/* level←v4916 */ ) = 0;
SOURCE(1108, 54)
(* (( (ptr) &var←c29812)+11)/* levelClipping←v4944 */ ) = ( (int)(* (( (ptr) &var←c29812)+8)/* maxLevel←v4860 */ ) < (int)1023);
SOURCE(4135, 48)
{
word pd40;
pd40 = (* (( (ptr) (* (( (ptr) gf←c29844)+38)/* var←c27284 */ ))+26) );
(* (( (ptr) &var←c29812)+12)/* rdr←v5000 */ ) = (word) ( *( (fPt) ((* (ptr) pd40 ))))(pd40);
};
SOURCE(4185, 43)
{
word pd41;
pd41 = (* (( (ptr) (* (( (ptr) gf←c29844)+39)/* var←c27316 */ ))+6) );
(* (( (ptr) &var←c29812)+13)/* style←v5028 */ ) = (word) ( *( (fPt) ((* (ptr) pd41 ))))(pd41);
};
SOURCE(4230, 23)
(* (( (ptr) &var←c29812)+14)/* styleNode←v5056 */ ) = 0;
SOURCE(4255, 25)
remainder←v5084 = goal←v3976;
SOURCE(4337, 116)
if (( (int)pos←v3948.f1 == (int)0)) {
SOURCE(4359, 44)
{
word pd42;
pd42 = (* (( (ptr) (* (( (ptr) gf←c29844)+39)/* var←c27316 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd42 ))))((* (( (ptr) &var←c29812)+13)/* style←v5028 */ ), pos←v3948.f0, (* (( (ptr) &var←c29812)+7)
/* kind←v4832 */ ), pd42);
};
SOURCE(4405, 48)
{
word pd43;
pd43 = (* (( (ptr) (* (( (ptr) gf←c29844)+40)/* var←c27348 */ ))+13) );
topLeading←v5140 = (word) ( *( (fPt) ((* (ptr) pd43 ))))((* (( (ptr) &var←c29812)+13)/* style←v5028 */ ), 25, pd43);
};
};
SOURCE(4459, 12)
newPos←v4020 = pos←v3948;
SOURCE(4473, 36)
topIndent←v4104 = 0;
totalLeading←v4076 = 0;
lines←v4048 = 0;
SOURCE(4511, 448)
lab←L100003: ;
if (( (int)remainder←v5084 > (int)0)) {
}
else {
goto lab←L100001;
};
{
word leading←v5456;
word newLines←v5484;
word newTopIndent←v5512;
SOURCE(4575, 97)
{
W6 var←c27380;
(void) IncrBackUp←P480((word) &var←c27380, newPos←v4020, remainder←v5084, topLeading←v5140, (word) (( (bPt) &var←c29812)+20)
/* var←c27220 */ );
topLeading←v5140 = var←c27380.f5;
newTopIndent←v5512 = var←c27380.f4;
newLines←v5484 = var←c27380.f3;
leading←v5456 = var←c27380.f2;
newPos←v4020 = (* (W2Pt) &var←c27380 );
};
SOURCE(4674, 22)
if (( (int)newLines←v5484 <= (int)0)) {
SOURCE(4696, 4)
goto lab←L100002;
};
SOURCE(4759, 35)
totalLeading←v4076 = (totalLeading←v4076 + leading←v5456);
SOURCE(4796, 22)
lines←v4048 = (lines←v4048 + newLines←v5484);
SOURCE(4820, 24)
topIndent←v4104 = newTopIndent←v5512;
SOURCE(4846, 39)
if (( (int)(totalLeading←v4076 + topIndent←v4104) >= (int)goal←v3976)) {
SOURCE(4885, 4)
goto lab←L100002;
};
SOURCE(4928, 31)
remainder←v5084 = (remainder←v5084 - leading←v5456);
};
goto lab←L100003;
lab←L100001: ;
lab←L100002: ;
SOURCE(4971, 24)
{
word pd44;
pd44 = (* (( (ptr) (* (( (ptr) gf←c29844)+39)/* var←c27316 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd44 ))))((* ((( (ptr) &var←c29812)+13)/* style←v5028 */ ) ), pd44);
};
SOURCE(4997, 30)
{
word pd45;
pd45 = (* (( (ptr) (* (( (ptr) gf←c29844)+38)/* var←c27284 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd45 ))))((* ((( (ptr) &var←c29812)+12)/* rdr←v5000 */ ) ), pd45);
};
/* removed tail goto */
(* (W2Pt) formal←c070 ) = newPos←v4020;
(* (( (ptr) formal←c070)+2) ) = lines←v4048;
(* (( (ptr) formal←c070)+3) ) = totalLeading←v4076;
(* (( (ptr) formal←c070)+4) ) = topIndent←v4104;
return;
}
static void IncrBackUp←P480(formal←c0119, pos←v5216, goal←v5244, prevTopLeading←v5272, formal←c29908)
word formal←c0119;
W2 pos←v5216;
word goal←v5244;
word prevTopLeading←v5272;
word formal←c29908;
{
register ptr gf←c29876 = (ptr) &globalframe;
W2 prev←v5316;
word totalLeading←v5344;
word lines←v5372;
word topIndent←v5400;
word topLeading←v5428;
W2 tPos←v5556;
word leading←v5584;
word bottomLeading←v5612;
word lastBreak←v5640;
word breakList←v5668 = 0;
word textNode←v5696 = 0;
word where←v5724;
word endOffset←v5752;
word size←v5780;
word lineInfo←v5808 = 0;
formal←c29908 = (formal←c29908 - 20);
/* IncrBackUp: */
SOURCE(1165, 2964)
SOURCE(1165, 2964)
prev←v5316.f0 = 0;
prev←v5316.f1 = 0;
SOURCE(1329, 23)
tPos←v5556.f0 = 0;
tPos←v5556.f1 = 0;
SOURCE(1589, 485)
if (( (int)pos←v5216.f1 == (int)0)) {
SOURCE(1609, 356)
lab←L100007: ;
SOURCE(1609, 356)
{
word tempNode←v5936 = 0;
SOURCE(1636, 177)
if ((0 != (* (( (ptr) formal←c29908)+11) ))) {
SOURCE(1658, 93)
{
W3 var←c27476;
{
word pd46;
pd46 = (* (( (ptr) (* (( (ptr) gf←c29876)+41)/* var←c27444 */ ))+18) );
(void) ( *( (fPt) ((* (ptr) pd46 ))))((word) &var←c27476, pos←v5216.f0, (* (( (ptr) formal←c29908)+8) ), (* (( (ptr) formal←c29908)+9)
), (* (( (ptr) formal←c29908)+10) ), pd46);
};
(* (( (ptr) formal←c29908)+10) ) = var←c27476.f2;
(* (( (ptr) formal←c29908)+9) ) = var←c27476.f1;
tempNode←v5936 = var←c27476.f0;
};
}
else {
SOURCE(1751, 62)
{
W3 var←c27508;
{
word pd47;
pd47 = (* (( (ptr) (* (( (ptr) gf←c29876)+41)/* var←c27444 */ ))+13) );
(void) ( *( (fPt) ((* (ptr) pd47 ))))((word) &var←c27508, pos←v5216.f0, (* (( (ptr) formal←c29908)+9) ), pd47);
};
(* (( (ptr) formal←c29908)+9) ) = var←c27508.f1;
tempNode←v5936 = var←c27508.f0;
};
};
SOURCE(1815, 58)
if ((tempNode←v5936 == 0) || ((* (( (ptr) formal←c29908)+9) ) == 0)) {
SOURCE(1850, 23)
prev←v5316 = pos←v5216;
totalLeading←v5344 = 0;
lines←v5372 = 0;
topIndent←v5400 = 0;
topLeading←v5428 = 0;
goto lab←L100004;
};
SOURCE(1875, 34)
textNode←v5696 = tempNode←v5936;
if ((tempNode←v5936 == 0)) {
SOURCE(1909, 4)
goto lab←L100007;
};
SOURCE(1915, 50)
{
word var←c27540;
{
word pd48;
pd48 = (* (( (ptr) (* (( (ptr) gf←c29876)+42)/* var←c27572 */ ))+6) );
var←c27540 = (word) ( *( (fPt) ((* (ptr) pd48 ))))(textNode←v5696, pd48);
};
where←v5724 = var←c27540;
endOffset←v5752 = var←c27540;
size←v5780 = var←c27540;
};
SOURCE(1967, 4)
goto lab←L100006;
};
/* c2c skipped dead code */
lab←L100006: ;
}
else {
SOURCE(1988, 19)
textNode←v5696 = pos←v5216.f0;
SOURCE(2009, 30)
{
word pd49;
pd49 = (* (( (ptr) (* (( (ptr) gf←c29876)+42)/* var←c27572 */ ))+6) );
size←v5780 = (word) ( *( (fPt) ((* (ptr) pd49 ))))(textNode←v5696, pd49);
};
SOURCE(2041, 33)
{
word var←c27604;
var←c27604 = (pos←v5216.f1 - 1);
where←v5724 = var←c27604;
endOffset←v5752 = var←c27604;
};
};
SOURCE(2078, 331)
if (( (int)where←v5724 < (int)IOP2( * , (int)4, (int)(MAX((int)(word), 12, goal←v5244))))) {
SOURCE(2109, 58)
where←v5724 = 0;
}
else {
SOURCE(2167, 269)
{
word stop←v5980;
word var←c0315;
SOURCE(2169, 42)
stop←v5980 = (MAX((int)(word), 0, (where←v5724 - 5000)));
SOURCE(2249, 49)
{
word reader←v26844;
word rope←v26872;
word index←v26900;
word var←c27636;
word rope←v13768;
reader←v26844 = (* (( (ptr) formal←c29908)+12) );
rope←v26872 = (* (( (ptr) textNode←v5696)+3) );
index←v26900 = where←v5724;
{
word tc50;
rope←v13768 = 0;
var←c27636 = (* (( (ptr) reader←v26844)+2) );
if (((var←c27636 == rope←v26872)
)) {
tc50 = (word) ( (int)((* (( (ptr) reader←v26844)+3) ) + (* (( (ptr) reader←v26844)+1) )) == (int)index←v26900);
}
else {
tc50 = (word) 0;
};
if (tc50) {
goto lab←L100009;
};
};
(* (( (ptr) reader←v26844)+2) ) = rope←v26872;
(* (( (ptr) reader←v26844)+1) ) = 0;
(* (hPt) (* (ptr) reader←v26844 ) ) = 0;
(* (( (ptr) reader←v26844)+3) ) = index←v26900;
lab←L100009: ;
};
SOURCE(2300, 109)
lab←L100012: ;
where←v5724 = (where←v5724 - 1);
var←c0315 = where←v5724;
if (( (int)var←c0315 > (int)stop←v5980)) {
}
else {
goto lab←L100010;
};
SOURCE(2333, 76)
{
word var←c27828;
{
word var←c27668;
word reader←v26796;
reader←v26796 = (* (( (ptr) formal←c29908)+12) );
{
word i←v14476;
i←v14476 = (* (( (ptr) reader←v26796)+1) );
{
word pd52;
if ((i←v14476 > 0)) {
{
word var←c27732;
word var←c27764;
var←c27732 = SGNCK((i←v14476 - 1));
(* (( (ptr) reader←v26796)+1) ) = var←c27732;
var←c27764 = (* (ptr) reader←v26796 );
{
/*1*/ word limit51;
/*1*/ var←c27668 = (word) (* ((( (bPt) var←c27764)+4)+(
/*1*/ limit51 = (word) (* (( (hPt) var←c27764)+1) ),
/*1*/ BCK(var←c27732, limit51)
/*1*/ )) );
/*1*/ };
};
}
else {
pd52 = (* (( (ptr) (* (( (ptr) gf←c29876)+38)/* var←c27284 */ ))+17) );
var←c27668 = (word) ( *( (fPt) ((* (ptr) pd52 ))))(reader←v26796, 1, pd52);
};
};
};
var←c27828 = var←c27668;
};
if ((var←c27828 == 13) || (var←c27828 == 10)) {
SOURCE(2394, 15)
where←v5724 = (where←v5724 + 1);
SOURCE(2411, 4)
goto lab←L100011;
};
};
goto lab←L100012;
lab←L100010: ;
lab←L100011: ;
};
};
SOURCE(2440, 85)
if (((* (( (ptr) formal←c29908)+14) ) != textNode←v5696)) {
SOURCE(2469, 56)
{
word var←c27860;
var←c27860 = textNode←v5696;
(* (( (ptr) formal←c29908)+14) ) = textNode←v5696;
{
word pd53;
pd53 = (* (( (ptr) (* (( (ptr) gf←c29876)+39)/* var←c27316 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd53 ))))((* (( (ptr) formal←c29908)+13) ), var←c27860, (* (( (ptr) formal←c29908)+7) ), pd53)
;
};
};
};
SOURCE(2528, 42)
{
word pd54;
pd54 = (* (( (ptr) (* (( (ptr) gf←c29876)+40)/* var←c27348 */ ))+13) );
leading←v5584 = (word) ( *( (fPt) ((* (ptr) pd54 ))))((* (( (ptr) formal←c29908)+13) ), 22, pd54);
};
SOURCE(2572, 77)
{
word pd55;
if (( (int)where←v5724 == (int)0)) {
pd55 = (* (( (ptr) (* (( (ptr) gf←c29876)+40)/* var←c27348 */ ))+13) );
topLeading←v5428 = (word) ( *( (fPt) ((* (ptr) pd55 ))))((* (( (ptr) formal←c29908)+13) ), 25, pd55);
}
else {
topLeading←v5428 = leading←v5584;
};
};
SOURCE(2651, 131)
{
word var←c27924;
{
word pd56;
word x57;
if ((pos←v5216.f0 == textNode←v5696)) {
var←c27924 = leading←v5584;
}
else {
pd56 = (* (( (ptr) (* (( (ptr) gf←c29876)+40)/* var←c27348 */ ))+13) );
var←c27924 = (x57 = (word) ( *( (fPt) ((* (ptr) pd56 ))))((* (( (ptr) formal←c29908)+13) ), 28, pd56),
MAX((int)(word), prevTopLeading←v5272, x57));
};
};
totalLeading←v5344 = var←c27924;
bottomLeading←v5612 = var←c27924;
};
SOURCE(2784, 46)
{
word pd58;
pd58 = (* (( (ptr) (* (( (ptr) gf←c29876)+40)/* var←c27348 */ ))+13) );
topIndent←v5400 = (word) ( *( (fPt) ((* (ptr) pd58 ))))((* (( (ptr) formal←c29908)+13) ), 19, pd58);
};
SOURCE(2879, 66)
if (( (int)where←v5724 == (int)size←v5780)) {
SOURCE(2900, 9)
lines←v5372 = 1;
SOURCE(2911, 24)
prev←v5316.f0 = textNode←v5696;
prev←v5316.f1 = where←v5724;
SOURCE(2937, 8)
goto lab←L100004;
};
SOURCE(2948, 24)
tPos←v5556.f0 = textNode←v5696;
tPos←v5556.f1 = where←v5724;
SOURCE(2974, 9)
lines←v5372 = 0;
SOURCE(2985, 33)
{
word pd59;
pd59 = (* (( (ptr) (* (( (ptr) gf←c29876)+43)/* var←c27956 */ ))+10) );
lineInfo←v5808 = (word) ( *( (fPt) ((* (ptr) pd59 ))))(pd59);
};
SOURCE(3020, 388)
lab←L100016: ;
SOURCE(3023, 22)
lastBreak←v5640 = tPos←v5556.f1;
SOURCE(3047, 140)
{
word var←c27988;
{
word var←c28020;
word int←v26748;
int←v26748 = (* (( (ptr) (* (( (ptr) formal←c29908)+4) ))+7) );
var←c28020 = (int←v26748 << 16);
var←c27988 = var←c28020;
};
{
word pd60;
pd60 = (* (( (ptr) (* (( (ptr) gf←c29876)+43)/* var←c27956 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd60 ))))(lineInfo←v5808, tPos←v5556.f0, tPos←v5556.f1, (* (( (ptr) formal←c29908)+13) ), var←c27988, 0, pd60)
;
};
};
SOURCE(3189, 23)
tPos←v5556 = (* (W2Pt) (( (ptr) lineInfo←v5808)+7) );
SOURCE(3214, 53)
if (( (int)lines←v5372 > (int)0)) {
SOURCE(3232, 35)
totalLeading←v5344 = (totalLeading←v5344 + leading←v5584);
};
SOURCE(3269, 15)
lines←v5372 = (lines←v5372 + 1);
SOURCE(3286, 52)
if ((tPos←v5556.f0 != textNode←v5696) || ( (int)tPos←v5556.f1 >= (int)endOffset←v5752)) {
SOURCE(3338, 4)
goto lab←L100015;
};
SOURCE(3344, 64)
if (( (int)lastBreak←v5640 != (int)where←v5724)) {
SOURCE(3370, 38)
{
word var←c28084;
var←c28084 = XR←NewObject(8, (* (( (ptr) gf←c29876)+9) ));
(* (ptr) var←c28084 ) = lastBreak←v5640;
(* (( (ptr) var←c28084)+1) ) = breakList←v5668;
breakList←v5668 = var←c28084;
};
};
goto lab←L100016;
lab←L100015: ;
SOURCE(3419, 18)
{
word pd61;
pd61 = (* (( (ptr) (* (( (ptr) gf←c29876)+43)/* var←c27956 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd61 ))))(lineInfo←v5808, pd61);
};
SOURCE(3439, 14)
lineInfo←v5808 = 0;
SOURCE(3456, 623)
if ( ( ( (int)(totalLeading←v5344 + topIndent←v5400) >= (int)goal←v5244) ? ( (int)leading←v5584 > (int)0) : 0 ) ) {
SOURCE(3511, 590)
{
word discardLines←v6024;
SOURCE(3513, 61)
discardLines←v6024 = IOP2( / , (int)((totalLeading←v5344 + topIndent←v5400) - goal←v5244), (int)leading←v5584);
SOURCE(3594, 485)
{
word var←c28116;
var←c28116 = discardLines←v6024;
if (( (int)var←c28116 <= (int)0)) {
}
else {
if (( (int)var←c28116 >= (int)(lines←v5372 - 1))) {
SOURCE(3691, 17)
where←v5724 = lastBreak←v5640;
SOURCE(3710, 9)
lines←v5372 = 1;
SOURCE(3721, 29)
totalLeading←v5344 = bottomLeading←v5612;
}
else {
SOURCE(3766, 332)
{
word count←v6068;
SOURCE(3827, 26)
lines←v5372 = (lines←v5372 - discardLines←v6024);
SOURCE(3855, 15)
count←v6068 = (lines←v5372 - 1);
SOURCE(3919, 48)
totalLeading←v5344 = (totalLeading←v5344 - IOP2( * , (int)discardLines←v6024, (int)leading←v5584));
SOURCE(3969, 110)
{
register word list←v6112;
list←v6112 = breakList←v5668;
lab←L100021: ;
SOURCE(4029, 50)
count←v6068 = (count←v6068 - 1);
if (( (int)count←v6068 == (int)0)) {
SOURCE(4061, 18)
where←v5724 = (* (ptr) list←v6112 );
SOURCE(4081, 5)
goto lab←L100019;
};
list←v6112 = (* (( (ptr) list←v6112)+1) );
goto lab←L100021;
lab←L100019: ;
};
};
};
};
};
};
};
SOURCE(4105, 24)
prev←v5316.f0 = textNode←v5696;
prev←v5316.f1 = where←v5724;
/* removed tail goto */
lab←L100004: ;
(* (W2Pt) formal←c0119 ) = prev←v5316;
(* (( (ptr) formal←c0119)+2) ) = totalLeading←v5344;
(* (( (ptr) formal←c0119)+3) ) = lines←v5372;
(* (( (ptr) formal←c0119)+4) ) = topIndent←v5400;
(* (( (ptr) formal←c0119)+5) ) = topLeading←v5428;
return;
}
static void ScrollTEditDocument←P120(formal←c0128, formal←c0342, formal←c0343, formal←c0344, formal←c0345, formal←c0346)
word formal←c0128;
word formal←c0342;
word formal←c0343;
word formal←c0344;
word formal←c0345;
word formal←c0346;
{
W13 var←c29940;
/* declaration of self←v10244 skipped */
/* declaration of op←v10272 skipped */
/* declaration of amount←v10300 skipped */
/* declaration of shift←v10328 skipped */
/* declaration of control←v10356 skipped */
/* declaration of top←v10400 skipped */
/* declaration of bottom←v10428 skipped */
/* declaration of var←c28148 skipped */
(* (( (ptr) &var←c29940)+4)/* self←v10244 */ ) = formal←c0342;
(* (( (ptr) &var←c29940)+5)/* op←v10272 */ ) = formal←c0343;
(* (( (ptr) &var←c29940)+6)/* amount←v10300 */ ) = formal←c0344;
(* (( (ptr) &var←c29940)+7)/* shift←v10328 */ ) = formal←c0345;
(* (( (ptr) &var←c29940)+8)/* control←v10356 */ ) = formal←c0346;
/* ScrollTEditDocument: */
SOURCE(5033, 3803)
{
word tmpAddr62;
tmpAddr62 = (word) (( (ptr) &var←c29940)+11)/* var←c28148 */ ;
(* (ptr) tmpAddr62 ) = ( ((word) (fPt) inner←P828) );
(* (( (ptr) tmpAddr62) + 1) ) = 1;
};
SOURCE(5033, 3803)
(* (( (ptr) &var←c29940)+9)/* top←v10400 */ ) = 2147483647;
SOURCE(5033, 3803)
(* (( (ptr) &var←c29940)+10)/* bottom←v10428 */ ) = 2147483647;
SOURCE(8800, 36)
(void) LockAndDoIt←P360((word) (( (bPt) &var←c29940)+44)/* var←c28148 */ , (* (( (ptr) &var←c29940)+4)/* self←v10244 */ ), 0, 0)
;
/* removed tail goto */
(* (ptr) formal←c0128 ) = (* (( (ptr) &var←c29940)+9)/* top←v10400 */ );
(* (( (ptr) formal←c0128)+1) ) = (* (( (ptr) &var←c29940)+10)/* bottom←v10428 */ );
return;
}
static void inner←P828(tdd←v6316, formal←c30036)
word tdd←v6316;
word formal←c30036;
{
W12 var←c29972;
register ptr gf←c30004 = (ptr) &globalframe;
word lines←v6344;
/* declaration of topLine←v6372 skipped */
word paintOp←v6400;
word iconic←v6428;
word levelChange←v6456 = 0;
formal←c30036 = (formal←c30036 - 44);
(* (ptr) &var←c29972 ) = formal←c30036;
/* inner: */
SOURCE(5090, 3701)
SOURCE(5131, 46)
lines←v6344 = (* (( (ptr) tdd←v6316)+1) );
SOURCE(5179, 41)
{
word limit63;
(* (W2Pt) (( (ptr) &var←c29972)+4)/* topLine←v6372 */ ) = (* (W2Pt) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
limit63 = (* (( (ptr) lines←v6344)+2) ),
BCK(0, limit63)
)) );
};
SOURCE(5222, 39)
paintOp←v6400 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30004)+44)/* var←c28180 */ ))+5) ) );
SOURCE(5263, 26)
iconic←v6428 = (((unsigned)(* (( (bPt) (* (( (ptr) formal←c30036)+4) ))+76) ) << 27) >> 31);
SOURCE(5319, 248)
if ((* (( (bPt) (* (( (ptr) formal←c30036)+4) ))+76) ) & 020) {
SOURCE(5341, 168)
{
word var←c28212;
var←c28212 = (* (( (ptr) formal←c30036)+5) );
switch (var←c28212) {
case 1:
SOURCE(5362, 68)
{
W2 var←c28244;
{
word pd64;
pd64 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd64 ))))((word) &var←c28244, (* (ptr) tdd←v6316 ), pd64);
};
{
word pd65;
pd65 = (* (( (ptr) (* (( (ptr) gf←c30004)+45)/* var←c28276 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd65 ))))(tdd←v6316, var←c28244, 0, pd65);
};
};
break;
case 2:
SOURCE(5440, 69)
{
word var←c28308;
{
word pd66;
pd66 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+28) );
var←c28308 = (word) ( *( (fPt) ((* (ptr) pd66 ))))((* (ptr) (tdd←v6316) ), pd66);
};
{
W2 var←c28340;
var←c28340.f0 = var←c28308;
var←c28340.f1 = 0;
{
word pd67;
pd67 = (* (( (ptr) (* (( (ptr) gf←c30004)+45)/* var←c28276 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd67 ))))(tdd←v6316, var←c28340, 0, pd67);
};
};
};
break;
case 3:
break;
case 0:
break;
default:
SOURCE(5552, 5)
(void) XR←RaiseUnnamedError();
break;
};
};
SOURCE(5559, 8)
return;
};
SOURCE(5571, 2973)
{
word var←c28372;
var←c28372 = (* (( (ptr) formal←c30036)+5) );
switch (var←c28372) {
case 1:
SOURCE(5593, 1114)
{
word line←v6512 = 0;
word newLevel←v6540;
word sSel←v6568;
word doingSecondarySelect←v6596;
SOURCE(5633, 51)
sSel←v6568 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30004)+46)/* var←c28404 */ ))+5) ) );
SOURCE(5686, 61)
doingSecondarySelect←v6596 = ( (sSel←v6568 != 0) ? ((* (ptr) sSel←v6568 ) != 0) : 0 ) ;
SOURCE(5749, 38)
{
word pd68;
pd68 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd68 ))))((* (( (ptr) gf←c30004)+17) ), (* (( (ptr) gf←c30004)+16) ), pd68);
};
SOURCE(5789, 558)
if ( ( ( (int)(* (( (ptr) formal←c30036)+6) ) > (int)0) ? ( (int)(* (ptr) lines←v6344 ) == (int)0) : 0 ) ) {
SOURCE(5833, 317)
{
word limit69;
if ((( (((unsigned)(* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit69 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(0, limit69)
/*1*/ )))+2) ) << 1) >> 1) ) == 0)) {
SOURCE(5860, 236)
{
word next←v6640 = 0;
word maxLevel←v6668;
W2 var←c0147;
SOURCE(5882, 33)
maxLevel←v6668 = (* (( (ptr) tdd←v6316)+2) );
SOURCE(5917, 137)
{
/*1*/ word pd71;
/*1*/ if (( (int)maxLevel←v6668 < (int)1023)) {
/*1*/ {
/*1*/ word pd70;
/*1*/ pd70 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+17) );
/*1*/ (void) ( *( (fPt) ((* (ptr) pd70 ))))((word) &var←c0147, (* (( (ptr) &var←c29972)+4) ), maxLevel←v6668, 0, pd70);
/*1*/ };
/*1*/ next←v6640 = var←c0147.f0;
/*1*/ }
/*1*/ else {
/*1*/ pd71 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+14) );
/*1*/ next←v6640 = (word) ( *( (fPt) ((* (ptr) pd71 ))))((* ((( (ptr) &var←c29972)+4)) ), pd71);
/*1*/ };
/*1*/ };
SOURCE(6056, 38)
if ((next←v6640 != 0)) {
SOURCE(6075, 19)
/*1*/ (* (( (ptr) &var←c29972)+4) ) = next←v6640;
/*1*/ (* (( (ptr) &var←c29972)+5) ) = 0;
/*1*/ };
};
}
else {
SOURCE(6103, 47)
{
word limit72;
(* (( (ptr) &var←c29972)+5) ) = ((* (( (ptr) &var←c29972)+5) ) + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit72 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(0, limit72)
/*1*/ )))+5) ));
};
};
};
}
else {
{
word var←c28468;
word var←c0316;
SOURCE(6159, 135)
lab←L100025: ;
{
word tc73;
word limit74;
word limit75;
if (( (int)((* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit74 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(line←v6512, limit74)
/*1*/ )))+6) ) + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit75 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(line←v6512, limit75)
/*1*/ )))+4) )) < (int)(* (( (ptr) formal←c30036)+6) ))) {
{
/*1*/ word limit76;
/*1*/ var←c28468 = (line←v6512 + 1);
/*1*/ var←c0316 = (* (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit76 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(var←c28468, limit76)
/*1*/ )) );
/*1*/ };
tc73 = (word) (var←c0316 != 0);
}
else {
tc73 = (word) 0;
};
if (tc73) {
}
else {
goto lab←L100023;
};
};
SOURCE(6248, 13)
line←v6512 = (line←v6512 + 1);
SOURCE(6263, 31)
if (( (int)line←v6512 >= (int)(* (ptr) lines←v6344 ))) {
SOURCE(6294, 4)
goto lab←L100024;
};
goto lab←L100025;
lab←L100023: ;
lab←L100024: ;
SOURCE(6320, 27)
{
word limit77;
(* (W2Pt) (( (ptr) &var←c29972)+4)/* topLine←v6372 */ ) = (* (W2Pt) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit77 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(line←v6512, limit77)
/*1*/ )) );
};
};
};
SOURCE(6350, 219)
{
word pd79;
word x80;
if ((0 != doingSecondarySelect←v6596)) {
newLevel←v6540 = (* (( (ptr) tdd←v6316)+2) );
goto endif078;
};
if (((0 != (* (( (ptr) formal←c30036)+8) )) && (0 != (* (( (ptr) formal←c30036)+7) )))) {
newLevel←v6540 = 1;
goto endif078;
};
if ((0 != (* (( (ptr) formal←c30036)+8) ))) {
newLevel←v6540 = 1023;
goto endif078;
};
if ((0 != (* (( (ptr) formal←c30036)+7) ))) {
pd79 = (* (( (ptr) (* (( (ptr) gf←c30004)+48)/* var←c28500 */ ))+39) );
newLevel←v6540 = (x80 = ((word) ( *( (fPt) ((* (ptr) pd79 ))))(tdd←v6316, pd79) + 1),
MIN((int)(word), 1023, x80));
goto endif078;
};
newLevel←v6540 = (* (( (ptr) tdd←v6316)+2) );
goto endif078;
endif078: ;
};
SOURCE(6584, 79)
if (( (int)newLevel←v6540 != (int)(* (( (ptr) tdd←v6316)+2) ))) {
SOURCE(6619, 24)
(* (( (ptr) tdd←v6316)+2) ) = BCK(newLevel←v6540, 1024);
SOURCE(6645, 18)
levelChange←v6456 = 1;
};
SOURCE(6668, 37)
{
word pd81;
pd81 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd81 ))))((* (( (ptr) gf←c30004)+17) ), (* (( (ptr) gf←c30004)+16) ), pd81);
};
};
break;
case 2:
SOURCE(6719, 437)
{
word numLines←v6712;
word totalLeading←v6740;
word topIndent←v6768;
SOURCE(6765, 40)
{
word pd82;
pd82 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd82 ))))((* (( (ptr) gf←c30004)+13) ), (* (( (ptr) gf←c30004)+16) ), pd82);
};
SOURCE(6807, 104)
{
W5 var←c28532;
{
word x83;
word limit84;
word x85;
(void) BackUp←P60((word) &var←c28532, (* (( (ptr) formal←c30036)+4) ), tdd←v6316, (* (W2Pt) (( (ptr) &var←c29972)+4)/* topLine←v6372 */ ), (
x83 = (* (( (ptr) formal←c30036)+6) ),
x85 = (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit84 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(0, limit84)
/*1*/ )))+6) ),
MAX((int)(word), x83, x85)));
};
topIndent←v6768 = var←c28532.f4;
totalLeading←v6740 = var←c28532.f3;
numLines←v6712 = var←c28532.f2;
(* (W2Pt) (( (ptr) &var←c29972)+4)/* topLine←v6372 */ ) = (* (W2Pt) &var←c28532 );
};
SOURCE(6913, 199)
{
word limit86;
if ( ! XR←EqualWords((( (ptr) &var←c29972)+4)/* topLine←v6372 */ , (( (W9Pt) (( (ptr) lines←v6344)+3))+(
limit86 = (* (( (ptr) lines←v6344)+2) ),
BCK(0, limit86)
)), 2)) {
SOURCE(6944, 168)
{
word op←v6812;
SOURCE(6946, 74)
op←v6812 = XR←NewObject(8, (* (( (ptr) gf←c30004)+12) ));
SOURCE(7022, 19)
(* (ptr) op←v6812 ) = numLines←v6712;
SOURCE(7043, 53)
{
word limit87;
(* (( (ptr) op←v6812)+1) ) = ((topIndent←v6768 + totalLeading←v6740) - (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit87 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(0, limit87)
/*1*/ )))+6) ));
};
SOURCE(7098, 14)
paintOp←v6400 = op←v6812;
};
};
};
SOURCE(7115, 39)
{
word pd88;
pd88 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd88 ))))((* (( (ptr) gf←c30004)+13) ), (* (( (ptr) gf←c30004)+16) ), pd88);
};
};
break;
case 3:
SOURCE(7169, 685)
{
W2 loc1←v6868;
SOURCE(7171, 60)
{
word pd89;
pd89 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+28) );
loc1←v6868.f0 = (word) ( *( (fPt) ((* (ptr) pd89 ))))((* (ptr) (tdd←v6316) ), pd89);
};
loc1←v6868.f1 = 0;
SOURCE(7233, 35)
{
word pd90;
pd90 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd90 ))))((* (( (ptr) gf←c30004)+14) ), (* (( (ptr) gf←c30004)+16) ), pd90);
};
SOURCE(7270, 38)
{
word pd91;
pd91 = (* (( (ptr) (* (( (ptr) gf←c30004)+49)/* var←c28596 */ ))+10) );
(void) ( *( (fPt) ((* (ptr) pd91 ))))((* ((( (ptr) formal←c30036)+4)) ), pd91);
};
SOURCE(7310, 495)
if (( (int)(* (( (ptr) formal←c30036)+6) ) < (int)5)) {
SOURCE(7329, 41)
(void) ScrollToPosition←P180((* (( (ptr) formal←c30036)+4) ), loc1←v6868, 0);
}
else {
SOURCE(7370, 437)
{
W2 loc2←v6912;
word totalChars←v6940;
W2 pos←v6968;
SOURCE(7372, 58)
{
word pd92;
pd92 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd92 ))))((word) &loc2←v6912, (* (ptr) tdd←v6316 ), pd92);
};
SOURCE(7432, 48)
{
word pd93;
pd93 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+21) );
totalChars←v6940 = (word) ( *( (fPt) ((* (ptr) pd93 ))))(loc1←v6868, loc2←v6912, 1, 0, pd93);
};
SOURCE(7482, 76)
{
word pd94;
pd94 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+19) );
(void) ( *( (fPt) ((* (ptr) pd94 ))))((word) &pos←v6968, loc1←v6868, IOP2( / , (int)IOP2( * , (int)totalChars←v6940, (int)(* (
/*1*/ ( (ptr) formal←c30036)+6) )), (int)100), 1, 0, pd94);
};
SOURCE(7560, 197)
if (((* (( (ptr) tdd←v6316)+2) ) < 1023)) {
SOURCE(7606, 162)
{
word delta←v7012;
SOURCE(7608, 55)
{
/*1*/ word pd95;
/*1*/ pd95 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+16) );
/*1*/ delta←v7012 = ((word) ( *( (fPt) ((* (ptr) pd95 ))))(pos←v6968.f0, pd95) - (* (( (ptr) tdd←v6316)+2) ));
/*1*/ };
SOURCE(7665, 92)
{
/*1*/ register word noName←c28628 = 0;
/*1*/ if (( (int)noName←c28628 >= (int)delta←v7012)) {
/*1*/ goto lab←L100026;
/*1*/ };
/*1*/ lab←L100029: ;
SOURCE(7722, 35)
/*1*/ {
/*1*/ word var←c28692;
/*1*/ {
/*1*/ word pd96;
/*1*/ pd96 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+8) );
/*1*/ var←c28692 = (word) ( *( (fPt) ((* (ptr) pd96 ))))(pos←v6968.f0, pd96);
/*1*/ };
/*1*/ pos←v6968.f0 = var←c28692;
/*1*/ pos←v6968.f1 = 0;
/*1*/ };
/*1*/ noName←c28628 = (noName←c28628 + 1);
/*1*/ if (( (int)noName←c28628 < (int)delta←v7012)) {
/*1*/ goto lab←L100029;
/*1*/ };
/*1*/ lab←L100026: ;
/*1*/ };
};
};
SOURCE(7771, 34)
(void) ScrollToPosition←P180((* (( (ptr) formal←c30036)+4) ), pos←v6968, 0);
};
};
SOURCE(7810, 34)
{
word pd97;
pd97 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd97 ))))((* (( (ptr) gf←c30004)+14) ), (* (( (ptr) gf←c30004)+16) ), pd97);
};
SOURCE(7846, 6)
return;
};
case 0:
SOURCE(7867, 677)
SOURCE(7869, 45)
{
word toTop←v7056;
word toBottom←v7084;
word toEnd←v7112;
word totalChars←v7140;
word t←v7168;
word b←v7196;
word ll←v7224;
SOURCE(7916, 28)
ll←v7224 = (* (ptr) lines←v6344 );
SOURCE(7946, 93)
{
word var←c28724;
{
word pd98;
pd98 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+28) );
var←c28724 = (word) ( *( (fPt) ((* (ptr) pd98 ))))((* (ptr) (tdd←v6316) ), pd98);
};
{
/* declaration of var←c01 skipped */
/* declaration of var←c02 skipped */
(* (( (ptr) &var←c29972)+6) ) = var←c28724;
(* (( (ptr) &var←c29972)+7) ) = 0;
(* (( (ptr) &var←c29972)+8)/* var←c02 */ ) = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+21) );
{
/* declaration of var←c03 skipped */
{
word var←c04;
{
/*1*/ word var←c0317;
/*1*/ var←c0317 = (word) &var←c29972;
/*1*/ var←c04 = (word) XR←Enable(( ((word) (fPt) NoName←Q2736) ), ( ((word) (fPt) NoName←Q3156) ), var←c0317);
/*1*/ };
if ((var←c04 == 2)) {
/*1*/ goto lab←L100030;
/*1*/ };
};
toTop←v7056 = (* (( (ptr) &var←c29972)+9)/* var←c03 */ );
};
};
};
SOURCE(8051, 120)
{
/* declaration of var←c05 skipped */
/* declaration of var←c06 skipped */
{
W2 var←c28788;
{
word limit99;
var←c28788.f0 = (* (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit99 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(ll←v7224, limit99)
/*1*/ )) );
};
{
word limit100;
word limit101;
var←c28788.f1 = ((* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit100 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(ll←v7224, limit100)
/*1*/ )))+1) ) + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit101 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(ll←v7224, limit101)
/*1*/ )))+5) ));
};
(* (W2Pt) (( (ptr) &var←c29972)+6)/* var←c05 */ ) = var←c28788;
};
(* (( (ptr) &var←c29972)+8)/* var←c06 */ ) = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+21) );
{
/* declaration of var←c07 skipped */
{
word var←c08;
{
word var←c0318;
var←c0318 = (word) &var←c29972;
var←c08 = (word) XR←Enable(( ((word) (fPt) NoName←Q2676) ), ( ((word) (fPt) NoName←Q3096) ), var←c0318);
};
if ((var←c08 == 2)) {
goto lab←L100030;
};
};
toBottom←v7084 = (* (( (ptr) &var←c29972)+9)/* var←c07 */ );
};
};
SOURCE(8183, 144)
{
/* declaration of var←c28820 skipped */
{
word pd102;
pd102 = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd102 ))))((word) (( (bPt) &var←c29972)+24)/* var←c28820 */ , (* (ptr) tdd←v6316 ), pd102);
};
{
/* declaration of var←c09 skipped */
/* declaration of var←c010 skipped */
{
W2 var←c28852;
{
word limit103;
var←c28852.f0 = (* (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit103 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(ll←v7224, limit103)
/*1*/ )) );
};
{
word limit104;
word limit105;
var←c28852.f1 = (((* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit104 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(ll←v7224, limit104)
/*1*/ )))+1) ) + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v6344)+3))+(
/*1*/ limit105 = (* (( (ptr) lines←v6344)+2) ),
/*1*/ BCK(ll←v7224, limit105)
/*1*/ )))+5) )) - 1);
};
(* (W2Pt) (( (ptr) &var←c29972)+8)/* var←c09 */ ) = var←c28852;
};
(* (( (ptr) &var←c29972)+10)/* var←c010 */ ) = (* (( (ptr) (* (( (ptr) gf←c30004)+41)/* var←c27444 */ ))+21) );
{
/* declaration of var←c011 skipped */
{
word var←c012;
{
/*1*/ word var←c0319;
/*1*/ var←c0319 = (word) &var←c29972;
/*1*/ var←c012 = (word) XR←Enable(( ((word) (fPt) NoName←Q2616) ), ( ((word) (fPt) NoName←Q3036) ), var←c0319);
/*1*/ };
if ((var←c012 == 2)) {
/*1*/ goto lab←L100030;
/*1*/ };
};
toEnd←v7112 = (* (( (ptr) &var←c29972)+11)/* var←c011 */ );
};
};
};
SOURCE(8339, 33)
totalChars←v7140 = ((toTop←v7056 + toBottom←v7084) + toEnd←v7112);
SOURCE(8374, 43)
if (( (int)totalChars←v7140 <= (int)0)) {
SOURCE(8397, 12)
(* (( (ptr) formal←c30036)+10) ) = 100;
SOURCE(8411, 6)
return;
};
SOURCE(8420, 33)
{
word x106;
t←v7168 = (x106 = IOP2( / , (int)IOP2( * , (int)100, (int)toTop←v7056), (int)totalChars←v7140),
MIN((int)(word), 98, x106));
};
SOURCE(8455, 45)
{
word x107;
b←v7196 = (x107 = IOP2( / , (int)IOP2( * , (int)100, (int)(toTop←v7056 + toBottom←v7084)), (int)totalChars←v7140),
MAX((int)(word), (t←v7168 + 2), x107));
};
SOURCE(8502, 7)
(* (( (ptr) formal←c30036)+9) ) = t←v7168;
SOURCE(8511, 10)
(* (( (ptr) formal←c30036)+10) ) = b←v7196;
};
goto lab←L100037;
lab←L100030: ;
SOURCE(8536, 6)
return;
lab←L100037: ;
break;
};
};
SOURCE(8558, 233)
{
word limit108;
if ( ! XR←EqualWords((( (ptr) &var←c29972)+4)/* topLine←v6372 */ , (( (W9Pt) (( (ptr) lines←v6344)+3))+(
limit108 = (* (( (ptr) lines←v6344)+2) ),
BCK(0, limit108)
)), 2) || (0 != levelChange←v6456)) {
SOURCE(8606, 43)
{
word pd109;
pd109 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd109 ))))((* (( (ptr) gf←c30004)+15) ), (* (( (ptr) gf←c30004)+16) ), pd109);
};
SOURCE(8651, 43)
{
word pd110;
pd110 = (* (( (ptr) (* (( (ptr) gf←c30004)+45)/* var←c28276 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd110 ))))(tdd←v6316, (* (W2Pt) (( (ptr) &var←c29972)+4)/* topLine←v6372 */ ), 0, pd110);
};
SOURCE(8696, 51)
(void) DoPaint←P420((* (( (ptr) formal←c30036)+4) ), ( (0 != levelChange←v6456) ? 0 : paintOp←v6400 ) );
SOURCE(8749, 42)
{
word pd111;
pd111 = (* (( (ptr) (* (( (ptr) gf←c30004)+47)/* var←c28436 */ ))+14) );
(void) ( *( (fPt) ((* (ptr) pd111 ))))((* (( (ptr) gf←c30004)+15) ), (* (( (ptr) gf←c30004)+16) ), pd111);
};
};
};
}
static word NoName←Q2616(formal←c0290)
word formal←c0290;
{
SOURCE(8183, 144)
{
word pd112;
pd112 = (* (( (ptr) formal←c0290)+10) );
(* (( (ptr) formal←c0290)+11) ) = (word) ( *( (fPt) ((* (ptr) pd112 ))))((* (W2Pt) (( (ptr) formal←c0290)+8) ), (* (W2Pt) (
( (ptr) formal←c0290)+6) ), 1, 0, pd112);
};
return(0);
}
static word NoName←Q2676(formal←c0291)
word formal←c0291;
{
SOURCE(8051, 120)
{
word pd113;
pd113 = (* (( (ptr) formal←c0291)+8) );
(* (( (ptr) formal←c0291)+9) ) = (word) ( *( (fPt) ((* (ptr) pd113 ))))((* (W2Pt) (( (ptr) formal←c0291)+4) ), (* (W2Pt) (
( (ptr) formal←c0291)+6) ), 1, 0, pd113);
};
return(0);
}
static word NoName←Q2736(formal←c0292)
word formal←c0292;
{
SOURCE(7946, 93)
{
word pd114;
pd114 = (* (( (ptr) formal←c0292)+8) );
(* (( (ptr) formal←c0292)+9) ) = (word) ( *( (fPt) ((* (ptr) pd114 ))))((* (W2Pt) (( (ptr) formal←c0292)+6) ), (* (W2Pt) (
( (ptr) formal←c0292)+4) ), 1, 0, pd114);
};
return(0);
}
static void ScrollToPosition←P180(formal←c0347, formal←c0348, formal←c0349)
word formal←c0347;
W2 formal←c0348;
word formal←c0349;
{
W11 var←c30068;
/* declaration of viewer←v4164 skipped */
/* declaration of pos←v4192 skipped */
/* declaration of offset←v4220 skipped */
register ptr gf←c30100 = (ptr) &globalframe;
/* declaration of var←c28884 skipped */
/* declaration of kind←v7268 skipped */
(* (( (ptr) &var←c30068)+4)/* viewer←v4164 */ ) = formal←c0347;
(* (W2Pt) (( (ptr) &var←c30068)+5)/* pos←v4192 */ ) = formal←c0348;
(* (( (ptr) &var←c30068)+7)/* offset←v4220 */ ) = formal←c0349;
/* ScrollToPosition: */
SOURCE(8842, 1875)
{
word tmpAddr115;
tmpAddr115 = (word) (( (ptr) &var←c30068)+8)/* var←c28884 */ ;
(* (ptr) tmpAddr115 ) = ( ((word) (fPt) inner←P1272) );
(* (( (ptr) tmpAddr115) + 1) ) = 1;
};
SOURCE(8931, 103)
{
word tc116;
word pd117;
pd117 = (* (( (ptr) (* (( (ptr) gf←c30100)+37)/* var←c27252 */ ))+29) );
if (((word) ( *( (fPt) ((* (ptr) pd117 ))))((* (( (ptr) &var←c30068)+4)/* viewer←v4164 */ ), (* (( (ptr) gf←c30100)+20)
), pd117) == (* (( (ptr) gf←c30100)+18) ))) {
tc116 = (word) 1;
}
else {
tc116 = (word) 0;
};
(* (( (ptr) &var←c30068)+10)/* kind←v7268 */ ) = tc116;
};
SOURCE(10656, 61)
if (((* (( (ptr) &var←c30068)+5) ) != 0)) {
SOURCE(10679, 38)
(void) LockAndDoIt←P360((word) (( (bPt) &var←c30068)+32)/* var←c28884 */ , (* (( (ptr) &var←c30068)+4)/* viewer←v4164 */ ), 0, 0)
;
};
}
static void inner←P1272(tdd←v7372, formal←c30164)
word tdd←v7372;
word formal←c30164;
{
register ptr gf←c30132 = (ptr) &globalframe;
word node←v7400;
word where←v7428;
word start←v7456;
word lines←v7484;
word repaint←v7512 = 0;
W2 topLine←v7540;
word style←v7568;
word lineInfo←v7596 = 0;
word backStop←v7624;
formal←c30164 = (formal←c30164 - 32);
/* inner: */
SOURCE(9036, 1612)
SOURCE(9077, 37)
node←v7400 = (* (( (ptr) formal←c30164)+5) );
SOURCE(9116, 58)
{
word x118;
word pd119;
word x120;
word x121;
pd119 = (* (( (ptr) (* (( (ptr) gf←c30132)+42)/* var←c27572 */ ))+6) );
where←v7428 = (x121 = (x118 = (* (( (ptr) formal←c30164)+6) ),
x120 = ((word) ( *( (fPt) ((* (ptr) pd119 ))))(node←v7400, pd119) - 1),
MIN((int)(word), x118, x120)),
MAX((int)(word), 0, x121));
};
SOURCE(9176, 18)
start←v7456 = where←v7428;
SOURCE(9196, 46)
lines←v7484 = (* (( (ptr) tdd←v7372)+1) );
SOURCE(9267, 26)
topLine←v7540.f0 = 0;
topLine←v7540.f1 = 0;
SOURCE(9295, 43)
{
word pd122;
pd122 = (* (( (ptr) (* (( (ptr) gf←c30132)+39)/* var←c27316 */ ))+6) );
style←v7568 = (word) ( *( (fPt) ((* (ptr) pd122 ))))(pd122);
};
SOURCE(9372, 33)
backStop←v7624 = (MAX((int)(word), 0, (where←v7428 - 300)));
SOURCE(9461, 142)
{
word tc123;
word pd124;
if (((* (( (ptr) tdd←v7372)+2) ) < 1023)) {
pd124 = (* (( (ptr) (* (( (ptr) gf←c30132)+41)/* var←c27444 */ ))+16) );
tc123 = (word) ( (int)(* (( (ptr) tdd←v7372)+2) ) < (int)(word) ( *( (fPt) ((* (ptr) pd124 ))))(node←v7400, pd124));
}
else {
tc123 = (word) 0;
};
if (tc123) {
SOURCE(9550, 14)
repaint←v7512 = 1;
SOURCE(9566, 37)
(* (( (ptr) tdd←v7372)+2) ) = 1023;
};
};
SOURCE(9640, 151)
lab←L100040: ;
if (( (int)start←v7456 > (int)backStop←v7624)) {
}
else {
goto lab←L100038;
};
SOURCE(9665, 126)
{
word var←c28948;
{
word pd125;
pd125 = (* (( (ptr) (* (( (ptr) gf←c30132)+42)/* var←c27572 */ ))+4) );
var←c28948 = (word) ( *( (fPt) ((* (ptr) pd125 ))))(node←v7400, (start←v7456 - 1), pd125);
};
if ((var←c28948 == 13) || (var←c28948 == 10)) {
SOURCE(9757, 4)
goto lab←L100039;
}
else {
SOURCE(9774, 17)
start←v7456 = (start←v7456 - 1);
};
};
goto lab←L100040;
lab←L100038: ;
lab←L100039: ;
SOURCE(9803, 23)
topLine←v7540.f0 = node←v7400;
topLine←v7540.f1 = start←v7456;
SOURCE(9828, 48)
{
word pd126;
pd126 = (* (( (ptr) (* (( (ptr) gf←c30132)+39)/* var←c27316 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd126 ))))(style←v7568, topLine←v7540.f0, (* (( (ptr) formal←c30164)+10) ), pd126);
};
SOURCE(9878, 33)
{
word pd127;
pd127 = (* (( (ptr) (* (( (ptr) gf←c30132)+43)/* var←c27956 */ ))+10) );
lineInfo←v7596 = (word) ( *( (fPt) ((* (ptr) pd127 ))))(pd127);
};
SOURCE(9913, 324)
lab←L100043: ;
SOURCE(9916, 146)
{
word var←c28980;
{
word var←c29012;
word int←v26700;
int←v26700 = (* (( (ptr) (* (( (ptr) formal←c30164)+4) ))+7) );
var←c29012 = (int←v26700 << 16);
var←c28980 = var←c29012;
};
{
word pd128;
pd128 = (* (( (ptr) (* (( (ptr) gf←c30132)+43)/* var←c27956 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd128 ))))(lineInfo←v7596, topLine←v7540.f0, topLine←v7540.f1, style←v7568, var←c28980, 0, pd128)
;
};
};
SOURCE(10064, 95)
if ((((* (( (ptr) lineInfo←v7596)+7) ) != node←v7400) || ( (int)(* (( (ptr) lineInfo←v7596)+8) ) > (int)where←v7428)) || XR←EqualWords(
(( (ptr) lineInfo←v7596)+7), &topLine←v7540, 2)) {
SOURCE(10159, 4)
goto lab←L100042;
};
SOURCE(10165, 26)
topLine←v7540 = (* (W2Pt) (( (ptr) lineInfo←v7596)+7) );
SOURCE(10193, 44)
if (( (int)(topLine←v7540.f1 + (* (( (ptr) lineInfo←v7596)+14) )) > (int)where←v7428)) {
SOURCE(10237, 4)
goto lab←L100042;
};
goto lab←L100043;
lab←L100042: ;
SOURCE(10253, 176)
if ((0 != (* (( (ptr) formal←c30164)+7) ))) {
SOURCE(10268, 163)
{
word goal←v7668;
W5 var←c0197;
SOURCE(10270, 79)
{
word pd129;
pd129 = (* (( (ptr) (* (( (ptr) gf←c30132)+40)/* var←c27348 */ ))+13) );
goal←v7668 = IOP2( * , (int)(word) ( *( (fPt) ((* (ptr) pd129 ))))(style←v7568, 22, pd129), (int)(* (ptr) (* (( (ptr) (* (
( (ptr) gf←c30132)+50)/* var←c29076 */ ))+15) ) ));
};
SOURCE(10351, 78)
if (( (int)IOP2( * , (int)goal←v7668, (int)2) < (int)(* (( (ptr) (* (( (ptr) formal←c30164)+4) ))+8) ))) {
SOURCE(10378, 51)
(void) BackUp←P60((word) &var←c0197, (* (( (ptr) formal←c30164)+4) ), tdd←v7372, topLine←v7540, goal←v7668);
topLine←v7540 = (* (W2Pt) &var←c0197 );
};
};
};
SOURCE(10434, 18)
{
word pd130;
pd130 = (* (( (ptr) (* (( (ptr) gf←c30132)+43)/* var←c27956 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd130 ))))(lineInfo←v7596, pd130);
};
SOURCE(10454, 14)
lineInfo←v7596 = 0;
SOURCE(10470, 24)
{
word pd131;
pd131 = (* (( (ptr) (* (( (ptr) gf←c30132)+39)/* var←c27316 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd131 ))))(style←v7568, pd131);
};
SOURCE(10497, 151)
{
word limit133;
if ((0 != repaint←v7512)) { goto then0132;};
if ( ! XR←EqualWords(&topLine←v7540, (( (W9Pt) (( (ptr) lines←v7484)+3))+(
limit133 = (* (( (ptr) lines←v7484)+2) ),
BCK(0, limit133)
)), 2)) {
then0132: ;
SOURCE(10541, 43)
{
word pd134;
pd134 = (* (( (ptr) (* (( (ptr) gf←c30132)+45)/* var←c28276 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd134 ))))(tdd←v7372, topLine←v7540, 0, pd134);
};
SOURCE(10586, 62)
(void) DoPaint←P420((* (( (ptr) formal←c30164)+4) ), ( (0 != repaint←v7512) ? 0 : (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30132)+44)
/* var←c28180 */ ))+5) ) ) ) );
};
};
}
static word OnScreen←P240(viewer←v4280, point←v4308)
word viewer←v4280;
W2 point←v4308;
{
register ptr gf←c30196 = (ptr) &globalframe;
word var←c4352;
/* OnScreen: */
SOURCE(10723, 910)
SOURCE(10800, 55)
if ((viewer←v4280 == 0) || (point←v4308.f0 == 0)) {
SOURCE(10841, 14)
return(0);
};
SOURCE(10857, 56)
if ((* (( (bPt) viewer←v4280)+77) ) & 0100 || (* (( (bPt) viewer←v4280)+76) ) & 020) {
SOURCE(10899, 14)
return(0);
};
SOURCE(10915, 690)
{
word var←c29108;
var←c29108 = (* (( (ptr) viewer←v4280)+26) );
if ((var←c29108 == 0)) {
goto lab←L100045;
};
if (((* (( (ptr) gf←c30196)+11) ) == XR←GetReferentType(var←c29108))) {
{
word tdd←v7712;
tdd←v7712 = var←c29108;
SOURCE(10970, 637)
{
word lines←v7756;
word found←v7784 = 0;
SOURCE(10972, 46)
lines←v7756 = (* (( (ptr) tdd←v7712)+1) );
SOURCE(11041, 547)
if ( ( (lines←v7756 != 0) ? ( (int)(* (ptr) lines←v7756 ) >= (int)0) : 0 ) ) {
SOURCE(11085, 503)
SOURCE(11087, 39)
{
W2 first←v7828;
W2 last←v7856;
word each←v7884;
SOURCE(11087, 39)
{
word limit135;
first←v7828 = (* (W2Pt) (( (W9Pt) (( (ptr) lines←v7756)+3))+(
/*1*/ limit135 = (* (( (ptr) lines←v7756)+2) ),
/*1*/ BCK(0, limit135)
/*1*/ )) );
};
SOURCE(11128, 51)
{
word idx136;
word limit137;
last←v7856 = (* (W2Pt) (( (W9Pt) (( (ptr) lines←v7756)+3))+(
/*1*/ idx136 = (* (ptr) lines←v7756 ),
/*1*/ limit137 = (* (( (ptr) lines←v7756)+2) ),
/*1*/ BCK(idx136, limit137)
/*1*/ )) );
};
SOURCE(11181, 31)
each←v7884 = first←v7828.f0;
SOURCE(11214, 54)
{
word idx138;
word limit139;
last←v7856.f1 = (last←v7856.f1 + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v7756)+3))+(
/*1*/ idx138 = (* (ptr) lines←v7756 ),
/*1*/ limit139 = (* (( (ptr) lines←v7756)+2) ),
/*1*/ BCK(idx138, limit139)
/*1*/ )))+5) ));
};
SOURCE(11270, 62)
if ( ( (point←v4308.f0 == first←v7828.f0) ? ( (int)point←v4308.f1 < (int)first←v7828.f1) : 0 ) ) {
SOURCE(11332, 14)
goto lab←L100046;
};
SOURCE(11348, 60)
if ( ( (point←v4308.f0 == last←v7856.f0) ? ( (int)point←v4308.f1 > (int)last←v7856.f1) : 0 ) ) {
SOURCE(11408, 14)
goto lab←L100046;
};
SOURCE(11424, 131)
lab←L100049: ;
if ((each←v7884 != 0)) {
}
else {
goto lab←L100047;
};
{
W2 var←c0208;
SOURCE(11444, 39)
if ((each←v7884 == point←v4308.f0)) {
SOURCE(11471, 12)
found←v7784 = 1;
SOURCE(11485, 4)
goto lab←L100048;
};
SOURCE(11492, 25)
if ((each←v7884 == last←v7856.f0)) {
SOURCE(11517, 4)
goto lab←L100048;
};
SOURCE(11523, 32)
{
word pd140;
pd140 = (* (( (ptr) (* (( (ptr) gf←c30196)+41)/* var←c27444 */ ))+12) );
(void) ( *( (fPt) ((* (ptr) pd140 ))))((word) &var←c0208, each←v7884, pd140);
};
each←v7884 = var←c0208.f0;
};
goto lab←L100049;
lab←L100047: ;
lab←L100048: ;
};
goto lab←L100050;
lab←L100046: ;
lab←L100050: ;
};
SOURCE(11591, 14)
return(found←v7784);
};
};
}
else {
lab←L100045: ;
};
};
SOURCE(11619, 14)
return(0);
}
static void AutoScroll←P300(formal←c0350, formal←c0351, formal←c0352, id←v4496)
word formal←c0350;
word formal←c0351;
word formal←c0352;
word id←v4496;
{
W11 var←c30228;
/* declaration of viewer←v4412 skipped */
/* declaration of tryToGlitch←v4440 skipped */
/* declaration of toEndOfDoc←v4468 skipped */
register ptr gf←c30260 = (ptr) &globalframe;
/* declaration of var←c29140 skipped */
/* declaration of kind←v7928 skipped */
/* declaration of sel←v7956 skipped */
(* (( (ptr) &var←c30228)+4)/* viewer←v4412 */ ) = formal←c0350;
(* (( (ptr) &var←c30228)+5)/* tryToGlitch←v4440 */ ) = formal←c0351;
(* (( (ptr) &var←c30228)+6)/* toEndOfDoc←v4468 */ ) = formal←c0352;
/* AutoScroll: */
SOURCE(11639, 3366)
{
word tmpAddr141;
tmpAddr141 = (word) (( (ptr) &var←c30228)+7)/* var←c29140 */ ;
(* (ptr) tmpAddr141 ) = ( ((word) (fPt) inner←P1524) );
(* (( (ptr) tmpAddr141) + 1) ) = 1;
};
SOURCE(11752, 103)
{
word tc142;
word pd143;
pd143 = (* (( (ptr) (* (( (ptr) gf←c30260)+37)/* var←c27252 */ ))+29) );
if (((word) ( *( (fPt) ((* (ptr) pd143 ))))((* (( (ptr) &var←c30228)+4)/* viewer←v4412 */ ), (* (( (ptr) gf←c30260)+20)
), pd143) == (* (( (ptr) gf←c30260)+18) ))) {
tc142 = (word) 1;
}
else {
tc142 = (word) 0;
};
(* (( (ptr) &var←c30228)+9)/* kind←v7928 */ ) = tc142;
};
SOURCE(11857, 161)
{
word var←c29172;
var←c29172 = id←v4496;
switch (var←c29172) {
case 0:
(* (( (ptr) &var←c30228)+10)/* sel←v7956 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30260)+46)/* var←c28404 */ ))+4) ) );
break;
case 1:
(* (( (ptr) &var←c30228)+10)/* sel←v7956 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30260)+46)/* var←c28404 */ ))+5) ) );
break;
case 2:
(* (( (ptr) &var←c30228)+10)/* sel←v7956 */ ) = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30260)+46)/* var←c28404 */ ))+6) ) );
break;
default:
(* (( (ptr) &var←c30228)+10)/* sel←v7956 */ ) = (
XR←RaiseUnnamedError(), 0
);
break;
};
};
SOURCE(14911, 54)
if (((* (( (ptr) &var←c30228)+4)/* viewer←v4412 */ ) == 0)) {
SOURCE(14930, 35)
(* (( (ptr) &var←c30228)+4)/* viewer←v4412 */ ) = (* (ptr) (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30260)+46)/* var←c28404 */ ))+4)
) ) );
};
SOURCE(14968, 37)
(void) LockAndDoIt←P360((word) (( (bPt) &var←c30228)+28)/* var←c29140 */ , (* (( (ptr) &var←c30228)+4)/* viewer←v4412 */ ), (* (
( (ptr) &var←c30228)+10)/* sel←v7956 */ ), 1);
}
static void inner←P1524(formal←c0353, formal←c30356)
word formal←c0353;
word formal←c30356;
{
W10 var←c30292;
/* declaration of tdd←v8060 skipped */
register ptr gf←c30324 = (ptr) &globalframe;
/* declaration of var←c29204 skipped */
/* declaration of lines←v8088 skipped */
/* declaration of goal←v8116 skipped */
word glitchOK←v8144 = 0;
formal←c30356 = (formal←c30356 - 28);
(* (( (ptr) &var←c30292)+4)/* tdd←v8060 */ ) = formal←c0353;
(* (ptr) &var←c30292 ) = formal←c30356;
/* inner: */
SOURCE(12020, 2884)
{
word tmpAddr144;
tmpAddr144 = (word) (( (ptr) &var←c30292)+5)/* var←c29204 */ ;
(* (ptr) tmpAddr144 ) = ( ((word) (fPt) TryToGlitch←P1584) );
(* (( (ptr) tmpAddr144) + 1) ) = 1;
};
SOURCE(12061, 46)
(* (( (ptr) &var←c30292)+7)/* lines←v8088 */ ) = (* (( (ptr) (* (( (ptr) &var←c30292)+4)/* tdd←v8060 */ ))+1) );
SOURCE(12109, 34)
(* (( (ptr) &var←c30292)+8) ) = 0;
(* (( (ptr) &var←c30292)+9) ) = 0;
if ((0 != (* (( (ptr) formal←c30356)+6) ))) {
SOURCE(14037, 300)
{
word lines←v8276;
SOURCE(14039, 46)
lines←v8276 = (* (( (ptr) (* (( (ptr) &var←c30292)+4)/* tdd←v8060 */ ))+1) );
SOURCE(14087, 60)
{
word var←c29268;
{
word pd145;
pd145 = (* (( (ptr) (* (( (ptr) gf←c30324)+41)/* var←c27444 */ ))+28) );
var←c29268 = (word) ( *( (fPt) ((* (ptr) pd145 ))))((* (ptr) ((* (( (ptr) &var←c30292)+4)/* tdd←v8060 */ )) ), pd145);
};
{
word pd146;
pd146 = (* (( (ptr) (* (( (ptr) gf←c30324)+41)/* var←c27444 */ ))+27) );
(void) ( *( (fPt) ((* (ptr) pd146 ))))((word) (( (bPt) &var←c30292)+32)/* goal←v8116 */ , var←c29268, pd146);
};
};
SOURCE(14149, 89)
{
word idx147;
word limit148;
word idx149;
word limit150;
if (( (int)((* (( (ptr) (( (W9Pt) (( (ptr) lines←v8276)+3))+(
idx147 = (* (ptr) lines←v8276 ),
limit148 = (* (( (ptr) lines←v8276)+2) ),
BCK(idx147, limit148)
)))+1) ) + (* (( (ptr) (( (W9Pt) (( (ptr) lines←v8276)+3))+(
idx149 = (* (ptr) lines←v8276 ),
limit150 = (* (( (ptr) lines←v8276)+2) ),
BCK(idx149, limit150)
)))+5) )) >= (int)(* (( (ptr) &var←c30292)+9) ))) {
SOURCE(14232, 6)
return;
};
};
SOURCE(14240, 25)
(* (( (ptr) &var←c30292)+9) ) = ((* (( (ptr) &var←c30292)+9) ) - 1);
SOURCE(14291, 44)
if ((0 != (* (( (ptr) formal←c30356)+5) ))) {
SOURCE(14311, 24)
glitchOK←v8144 = (word) TryToGlitch←P1584((word) ((( (bPt) &var←c30292)+20)/* var←c29204 */ ));
};
};
}
else {
if (((* (ptr) (* (( (ptr) formal←c30356)+10) ) ) != (* (( (ptr) formal←c30356)+4) ))) {
}
else {
SOURCE(14378, 442)
{
W9 selPoint←v8320;
word clipped←v8348;
SOURCE(14380, 92)
{
word tcp151;
if (((* (( (ptr) (* (( (ptr) formal←c30356)+10) ))+24) ) == 0)) {
tcp151 = (word) (( (ptr) (* (( (ptr) formal←c30356)+10) ))+2);
}
else {
tcp151 = (word) (( (ptr) (* (( (ptr) formal←c30356)+10) ))+11);
};
selPoint←v8320 = (* (W9Pt) tcp151 );
};
SOURCE(14474, 32)
clipped←v8348 = (* (( (ptr) &selPoint←v8320)+7) );
SOURCE(14508, 60)
if ( ( (0 == clipped←v8348) ? (0 != (word) OnScreen←P240((* (( (ptr) formal←c30356)+4) ), (* (W2Pt) (( (ptr) (* (( (ptr) formal←c30356)+10)
))+11) ))) : 0 ) ) {
SOURCE(14562, 6)
return;
};
SOURCE(14570, 41)
{
word pd152;
pd152 = (* (( (ptr) (* (( (ptr) gf←c30324)+46)/* var←c28404 */ ))+64) );
(void) ( *( (fPt) ((* (ptr) pd152 ))))((word) (( (bPt) &var←c30292)+32)/* goal←v8116 */ , (* (( (ptr) formal←c30356)+10)
), pd152);
};
SOURCE(14613, 50)
{
word pd153;
pd153 = (* (( (ptr) (* (( (ptr) gf←c30324)+41)/* var←c27444 */ ))+9) );
if (((word) ( *( (fPt) ((* (ptr) pd153 ))))((* ((( (ptr) &var←c30292)+8)) ), pd153) != (* (ptr) (* (( (ptr) &var←c30292)+4)
/* tdd←v8060 */ ) ))) {
SOURCE(14657, 6)
return;
};
};
SOURCE(14665, 71)
if ( ( ((* (( (ptr) (* (( (ptr) formal←c30356)+10) ))+24) ) == 0) ? ( (int)(* (( (ptr) &var←c30292)+9) ) > (int)0) : 0 ) ) {
SOURCE(14711, 25)
(* (( (ptr) &var←c30292)+9) ) = ((* (( (ptr) &var←c30292)+9) ) - 1);
};
SOURCE(14738, 80)
if ( ( ( (0 == clipped←v8348) ? (0 != (* (( (ptr) formal←c30356)+5) )) : 0 ) ? ( (int)(* (( (ptr) &selPoint←v8320)+2) ) > (int)0) : 0 ) ) {
SOURCE(14794, 24)
glitchOK←v8144 = (word) TryToGlitch←P1584((word) ((( (bPt) &var←c30292)+20)/* var←c29204 */ ));
};
};
};
};
SOURCE(14827, 77)
if ( ( (0 == glitchOK←v8144) ? ((* (( (ptr) &var←c30292)+8) ) != 0) : 0 ) ) {
SOURCE(14868, 36)
(void) ScrollToPosition←P180((* (( (ptr) formal←c30356)+4) ), (* (W2Pt) (( (ptr) &var←c30292)+8)/* goal←v8116 */ ), 1);
};
}
static word TryToGlitch←P1584(formal←c30452)
word formal←c30452;
{
W6 var←c30388;
register ptr gf←c30420 = (ptr) &globalframe;
word success←v8248;
/* declaration of var←c29300 skipped */
word glitchLines←v8392;
word tryLines←v8420;
W2 newPos←v8448;
word style←v8476 = 0;
word lineInfo←v8504 = 0;
word lineCount←v8532 = 0;
W2 pos←v8560;
word foundNode←v8588;
formal←c30452 = (formal←c30452 - 20);
var←c30388.f0 = formal←c30452;
/* TryToGlitch: */
SOURCE(12170, 1825)
{
word tmpAddr154;
tmpAddr154 = (word) (( (ptr) &var←c30388)+4)/* var←c29300 */ ;
(* (ptr) tmpAddr154 ) = ( ((word) (fPt) NextNode←P1740) );
(* (( (ptr) tmpAddr154) + 1) ) = 1;
};
SOURCE(12170, 1825)
success←v8248 = 0;
SOURCE(12224, 85)
{
word x155;
word x156;
word x157;
glitchLines←v8392 = (x156 = (x155 = IOP2( / , (int)(* (ptr) (* (( (ptr) formal←c30452)+7) ) ), (int)2),
MAX((int)(word), x155, 1)),
x157 = (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30420)+50)/* var←c29076 */ ))+16) ) ),
MIN((int)(word), x156, x157));
};
SOURCE(12311, 56)
{
word x158;
tryLines←v8420 = (x158 = (IOP2( / , (int)(* (ptr) (* (( (ptr) formal←c30452)+7) ) ), (int)2) - glitchLines←v8392),
MAX((int)(word), x158, 2));
};
SOURCE(12400, 25)
newPos←v8448.f0 = 0;
newPos←v8448.f1 = 0;
SOURCE(12505, 50)
{
word idx159;
word limit160;
pos←v8560 = (* (W2Pt) (( (W9Pt) (( (ptr) (* (( (ptr) formal←c30452)+7) ))+3))+(
idx159 = (* (ptr) (* (( (ptr) formal←c30452)+7) ) ),
limit160 = (* (( (ptr) (* (( (ptr) formal←c30452)+7) ))+2) ),
BCK(idx159, limit160)
)) );
};
SOURCE(12780, 60)
if (( (int)(* (ptr) (* (( (ptr) (* (( (ptr) gf←c30420)+50)/* var←c29076 */ ))+16) ) ) <= (int)0)) {
SOURCE(12825, 15)
return(1);
};
SOURCE(12844, 15)
success←v8248 = 0;
SOURCE(12861, 28)
{
word pd161;
pd161 = (* (( (ptr) (* (( (ptr) gf←c30420)+39)/* var←c27316 */ ))+6) );
style←v8476 = (word) ( *( (fPt) ((* (ptr) pd161 ))))(pd161);
};
SOURCE(12891, 217)
{
word idx162;
word limit163;
if ((( (((unsigned)(* (( (ptr) (( (W9Pt) (( (ptr) (* (( (ptr) formal←c30452)+7) ))+3))+(
idx162 = (* (ptr) (* (( (ptr) formal←c30452)+7) ) ),
limit163 = (* (( (ptr) (* (( (ptr) formal←c30452)+7) ))+2) ),
BCK(idx162, limit163)
)))+2) ) << 1) >> 1) ) == 0)) {
SOURCE(12933, 50)
{
word idx164;
word limit165;
pos←v8560.f0 = (word) NextNode←P1740((* (ptr) (( (W9Pt) (( (ptr) (* (( (ptr) formal←c30452)+7) ))+3))+(
idx164 = (* (ptr) (* (( (ptr) formal←c30452)+7) ) ),
limit165 = (* (( (ptr) (* (( (ptr) formal←c30452)+7) ))+2) ),
BCK(idx164, limit165)
)) ), (word) (( (bPt) &var←c30388)+16)/* var←c29300 */ );
};
pos←v8560.f1 = 0;
SOURCE(12985, 64)
if ((pos←v8560.f0 == 0)) {
SOURCE(13008, 24)
{
word pd166;
pd166 = (* (( (ptr) (* (( (ptr) gf←c30420)+39)/* var←c27316 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd166 ))))(style←v8476, pd166);
};
SOURCE(13034, 15)
return(0);
};
}
else {
SOURCE(13058, 50)
{
word idx167;
word limit168;
pos←v8560.f1 = (pos←v8560.f1 + (* (( (ptr) (( (W9Pt) (( (ptr) (* (( (ptr) formal←c30452)+7) ))+3))+(
idx167 = (* (ptr) (* (( (ptr) formal←c30452)+7) ) ),
limit168 = (* (( (ptr) (* (( (ptr) formal←c30452)+7) ))+2) ),
BCK(idx167, limit168)
)))+5) ));
};
};
};
SOURCE(13110, 30)
foundNode←v8588 = (pos←v8560.f0 == (* (( (ptr) formal←c30452)+8) ));
SOURCE(13142, 44)
{
word pd169;
pd169 = (* (( (ptr) (* (( (ptr) gf←c30420)+39)/* var←c27316 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd169 ))))(style←v8476, pos←v8560.f0, (* (( (ptr) (* (ptr) formal←c30452 ))+9) ), pd169);
};
SOURCE(13188, 33)
{
word pd170;
pd170 = (* (( (ptr) (* (( (ptr) gf←c30420)+43)/* var←c27956 */ ))+10) );
lineInfo←v8504 = (word) ( *( (fPt) ((* (ptr) pd170 ))))(pd170);
};
SOURCE(13223, 574)
{
register word noName←c29364 = 0;
register word noName←c29396;
{
word x171;
noName←c29396 = (x171 = ((* (ptr) (* (( (ptr) formal←c30452)+7) ) ) - glitchLines←v8392),
MIN((int)(word), tryLines←v8420, x171));
};
if (( (int)noName←c29364 >= (int)noName←c29396)) {
goto lab←L100051;
};
lab←L100054: ;
SOURCE(13281, 83)
if ((pos←v8560.f0 == 0)) {
SOURCE(13304, 24)
{
word pd172;
pd172 = (* (( (ptr) (* (( (ptr) gf←c30420)+39)/* var←c27316 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd172 ))))(style←v8476, pd172);
};
SOURCE(13330, 18)
{
word pd173;
pd173 = (* (( (ptr) (* (( (ptr) gf←c30420)+43)/* var←c27956 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd173 ))))(lineInfo←v8504, pd173);
};
SOURCE(13350, 14)
return(0);
};
SOURCE(13369, 138)
{
word var←c29428;
{
word var←c29460;
word int←v26652;
int←v26652 = (* (( (ptr) (* (( (ptr) (* (ptr) formal←c30452 ))+4) ))+7) );
var←c29460 = (int←v26652 << 16);
var←c29428 = var←c29460;
};
{
word pd174;
pd174 = (* (( (ptr) (* (( (ptr) gf←c30420)+43)/* var←c27956 */ ))+5) );
(void) ( *( (fPt) ((* (ptr) pd174 ))))(lineInfo←v8504, pos←v8560.f0, pos←v8560.f1, style←v8476, var←c29428, 0, pd174);
};
};
SOURCE(13509, 25)
newPos←v8448 = (* (W2Pt) (( (ptr) lineInfo←v8504)+7) );
SOURCE(13536, 46)
if ((newPos←v8448.f0 == (* (( (ptr) formal←c30452)+8) ))) {
SOURCE(13566, 16)
foundNode←v8588 = 1;
};
SOURCE(13584, 89)
if ( ( (0 != foundNode←v8588) ? ( (newPos←v8448.f0 != (* (( (ptr) formal←c30452)+8) )) ? 1 : ( (int)newPos←v8448.f1 > (int)(* (
( (ptr) formal←c30452)+9) )) ) : 0 ) ) {
SOURCE(13659, 14)
success←v8248 = 1;
SOURCE(13675, 4)
goto lab←L100052;
};
SOURCE(13682, 23)
lineCount←v8532 = (lineCount←v8532 + 1);
SOURCE(13707, 76)
if ((newPos←v8448.f0 != pos←v8560.f0)) {
SOURCE(13736, 47)
{
word pd175;
pd175 = (* (( (ptr) (* (( (ptr) gf←c30420)+39)/* var←c27316 */ ))+15) );
(void) ( *( (fPt) ((* (ptr) pd175 ))))(style←v8476, newPos←v8448.f0, (* (( (ptr) (* (ptr) formal←c30452 ))+9) ), pd175)
;
};
};
SOURCE(13785, 12)
pos←v8560 = newPos←v8448;
noName←c29364 = (noName←c29364 + 1);
if (( (int)noName←c29364 < (int)noName←c29396)) {
goto lab←L100054;
};
lab←L100051: ;
lab←L100052: ;
};
SOURCE(13808, 24)
{
word pd176;
pd176 = (* (( (ptr) (* (( (ptr) gf←c30420)+39)/* var←c27316 */ ))+7) );
(void) ( *( (fPt) ((* (ptr) pd176 ))))(style←v8476, pd176);
};
SOURCE(13834, 18)
{
word pd177;
pd177 = (* (( (ptr) (* (( (ptr) gf←c30420)+43)/* var←c27956 */ ))+11) );
(void) ( *( (fPt) ((* (ptr) pd177 ))))(lineInfo←v8504, pd177);
};
SOURCE(13854, 14)
lineInfo←v8504 = 0;
SOURCE(13870, 125)
if ((0 != success←v8248)) {
SOURCE(13888, 68)
{
word var←c29524;
W2 var←c0320;
{
word limit178;
var←c29524 = (lineCount←v8532 + glitchLines←v8392);
var←c0320 = (* (W2Pt) (( (W9Pt) (( (ptr) (* (( (ptr) formal←c30452)+7) ))+3))+(
limit178 = (* (( (ptr) (* (( (ptr) formal←c30452)+7) ))+2) ),
BCK(var←c29524, limit178)
)) );
};
{
word pd179;
pd179 = (* (( (ptr) (* (( (ptr) gf←c30420)+45)/* var←c28276 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd179 ))))((* (( (ptr) formal←c30452)+4) ), var←c0320, 0, pd179);
};
};
SOURCE(13958, 37)
(void) DoPaint←P420((* (( (ptr) (* (ptr) formal←c30452 ))+4) ), (* (ptr) (* (( (ptr) (* (( (ptr) gf←c30420)+44)/* var←c28180 */ ))+5)
) ));
};
SOURCE(12170, 1825)
return(success←v8248);
}
static word NextNode←P1740(node←v8692, formal←c30516)
word node←v8692;
word formal←c30516;
{
register ptr gf←c30484 = (ptr) &globalframe;
word next←v8736;
W2 var←c0246;
formal←c30516 = (formal←c30516 - 16);
/* NextNode: */
SOURCE(12574, 202)
SOURCE(12574, 202)
next←v8736 = 0;
SOURCE(12643, 133)
{
word pd181;
if (((* (( (ptr) (* (( (ptr) (* (ptr) formal←c30516 ))+4) ))+2) ) < 1023)) {
{
word pd180;
pd180 = (* (( (ptr) (* (( (ptr) gf←c30484)+41)/* var←c27444 */ ))+17) );
(void) ( *( (fPt) ((* (ptr) pd180 ))))((word) &var←c0246, node←v8692, (* (( (ptr) (* (( (ptr) (* (ptr) formal←c30516 ))+4)
))+2) ), 0, pd180);
};
next←v8736 = var←c0246.f0;
}
else {
pd181 = (* (( (ptr) (* (( (ptr) gf←c30484)+41)/* var←c27444 */ ))+14) );
next←v8736 = (word) ( *( (fPt) ((* (ptr) pd181 ))))(node←v8692, pd181);
};
};
SOURCE(12574, 202)
return(next←v8736);
}
static void LockAndDoIt←P360(formal←c0354, formal←c0355, formal←c0356, formal←c0357)
word formal←c0354;
word formal←c0355;
word formal←c0356;
word formal←c0357;
{
W10 var←c30548;
/* declaration of inner←v4556 skipped */
/* declaration of viewer←v4584 skipped */
/* declaration of sel←v4612 skipped */
/* declaration of ignoreIcon←v4640 skipped */
register ptr gf←c30580 = (ptr) &globalframe;
/* declaration of var←c29556 skipped */
(* (( (ptr) &var←c30548)+4)/* inner←v4556 */ ) = formal←c0354;
(* (( (ptr) &var←c30548)+5)/* viewer←v4584 */ ) = formal←c0355;
(* (( (ptr) &var←c30548)+6)/* sel←v4612 */ ) = formal←c0356;
(* (( (ptr) &var←c30548)+7)/* ignoreIcon←v4640 */ ) = formal←c0357;
/* LockAndDoIt: */
SOURCE(15012, 994)
{
word tmpAddr182;
tmpAddr182 = (word) (( (ptr) &var←c30548)+8)/* var←c29556 */ ;
(* (ptr) tmpAddr182 ) = ( ((word) (fPt) withViewer←P1800) );
(* (( (ptr) tmpAddr182) + 1) ) = 1;
};
SOURCE(15837, 72)
if ((((* (( (ptr) &var←c30548)+5)/* viewer←v4584 */ ) == 0) || (* (( (bPt) (* (( (ptr) &var←c30548)+5)/* viewer←v4584 */ ))+77)
) & 0100) || (* (( (bPt) (* (( (ptr) &var←c30548)+5)/* viewer←v4584 */ ))+77) ) & 02) {
SOURCE(15903, 6)
return;
};
SOURCE(15911, 43)
if ( ( (0 != (* (( (ptr) &var←c30548)+7)/* ignoreIcon←v4640 */ )) ? (((unsigned)(* (( (bPt) (* (( (ptr) &var←c30548)+5)/* viewer←v4584 */ ))+76)
) << 27) >> 31) : 0 ) ) {
SOURCE(15948, 6)
return;
};
SOURCE(15956, 50)
{
word pd183;
pd183 = (* (( (ptr) (* (( (ptr) gf←c30580)+51)/* var←c29588 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd183 ))))((word) (( (bPt) &var←c30548)+32)/* var←c29556 */ , (* (( (ptr) &var←c30548)+5)/* viewer←v4584 */ ), pd183)
;
};
}
static void withViewer←P1800(formal←c30676)
word formal←c30676;
{
W5 var←c30612;
register ptr gf←c30644 = (ptr) &globalframe;
/* declaration of tdd←v8824 skipped */
formal←c30676 = (formal←c30676 - 32);
var←c30612.f0 = formal←c30676;
/* withViewer: */
SOURCE(15150, 679)
SOURCE(15171, 28)
var←c30612.f4/* tdd←v8824 */ = 0;
SOURCE(15201, 72)
if ((((* (( (ptr) formal←c30676)+5) ) == 0) || (* (( (bPt) (* (( (ptr) formal←c30676)+5) ))+77) ) & 0100) || (* (( (bPt) (* (
( (ptr) formal←c30676)+5) ))+77) ) & 02) {
SOURCE(15267, 6)
return;
};
SOURCE(15275, 43)
if ( ( (0 != (* (( (ptr) formal←c30676)+7) )) ? (((unsigned)(* (( (bPt) (* (( (ptr) formal←c30676)+5) ))+76) ) << 27) >> 31) : 0 ) ) {
SOURCE(15312, 6)
return;
};
SOURCE(15320, 56)
if ( ( ((* (( (ptr) formal←c30676)+6) ) != 0) ? ((* (( (ptr) formal←c30676)+5) ) == (* (ptr) (* (( (ptr) formal←c30676)+6)
) )) : 0 ) ) {
SOURCE(15362, 14)
var←c30612.f4/* tdd←v8824 */ = (* (( (ptr) (* (( (ptr) formal←c30676)+6) ))+1) );
};
SOURCE(15378, 84)
if ((var←c30612.f4/* tdd←v8824 */ == 0)) {
SOURCE(15396, 66)
{
word var←c29620;
var←c29620 = (* (( (ptr) (* (( (ptr) formal←c30676)+5) ))+26) );
if ((var←c29620 == 0)) {
goto lab←L100056;
};
if (((* (( (ptr) gf←c30644)+11) ) == XR←GetReferentType(var←c29620))) {
{
word vtdd←v8868;
vtdd←v8868 = var←c29620;
SOURCE(15452, 10)
var←c30612.f4/* tdd←v8824 */ = vtdd←v8868;
};
}
else {
lab←L100056: ;
};
};
};
SOURCE(15473, 24)
if ((var←c30612.f4/* tdd←v8824 */ == 0)) {
SOURCE(15491, 6)
return;
};
SOURCE(15499, 330)
if ((* (( (bPt) (* (( (ptr) formal←c30676)+5) ))+76) ) & 020) {
SOURCE(15523, 44)
{
word var←c29684;
word pd184;
pd184 = (* (( (ptr) (* (( (ptr) gf←c30644)+52)/* var←c29652 */ ))+8) );
var←c29684 = (word) ( *( (fPt) ((* (ptr) pd184 ))))(var←c30612.f4/* tdd←v8824 */ , (* (( (ptr) gf←c30644)+19) ), 1, 0, 0, pd184)
;
};
SOURCE(15569, 54)
{
word var←c0321;
var←c0321 = (word) &var←c30612;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2856) ), ( ((word) (fPt) NoName←Q2976) ), var←c0321);
};
SOURCE(15625, 31)
{
word pd185;
pd185 = (* (( (ptr) (* (( (ptr) gf←c30644)+52)/* var←c29652 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd185 ))))(var←c30612.f4/* tdd←v8824 */ , pd185);
};
}
else {
SOURCE(15667, 63)
{
word pd186;
pd186 = (* (( (ptr) (* (( (ptr) gf←c30644)+44)/* var←c28180 */ ))+7) );
if ((0 == (word) ( *( (fPt) ((* (ptr) pd186 ))))(var←c30612.f4/* tdd←v8824 */ , (* (( (ptr) gf←c30644)+19) ), pd186))) {
SOURCE(15724, 6)
return;
};
};
SOURCE(15732, 59)
{
word var←c0322;
var←c0322 = (word) &var←c30612;
(void) (word) XR←Enable(( ((word) (fPt) NoName←Q2796) ), ( ((word) (fPt) NoName←Q2916) ), var←c0322);
};
SOURCE(15793, 36)
{
word pd187;
pd187 = (* (( (ptr) (* (( (ptr) gf←c30644)+44)/* var←c28180 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd187 ))))(var←c30612.f4/* tdd←v8824 */ , pd187);
};
};
}
static word NoName←Q2796(formal←c0307)
word formal←c0307;
{
SOURCE(15732, 59)
{
word pd188;
pd188 = (* (( (ptr) (* (ptr) formal←c0307 ))+4) );
(void) ( *( (fPt) ((* (ptr) pd188 ))))((* ((( (ptr) formal←c0307)+4)) ), pd188);
};
return(0);
}
static word NoName←Q2856(formal←c0308)
word formal←c0308;
{
SOURCE(15569, 54)
{
word pd189;
pd189 = (* (( (ptr) (* (ptr) formal←c0308 ))+4) );
(void) ( *( (fPt) ((* (ptr) pd189 ))))((* ((( (ptr) formal←c0308)+4)) ), pd189);
};
return(0);
}
static void DoPaint←P420(viewer←v4760, op←v4788)
word viewer←v4760;
word op←v4788;
{
register ptr gf←c30708 = (ptr) &globalframe;
word clearClient←v8912;
/* DoPaint: */
SOURCE(16012, 315)
SOURCE(16062, 28)
clearClient←v8912 = (op←v4788 == 0);
SOURCE(16092, 235)
if ((0 != (* (( (ptr) gf←c30708)+4)/* forkPaints←v3616 */ ))) {
SOURCE(16111, 122)
{
word pd190;
pd190 = (* (( (ptr) (* (( (ptr) gf←c30708)+53)/* var←c29716 */ ))+4) );
(void) ( *( (fPt) ((* (ptr) pd190 ))))(viewer←v4760, 1, clearClient←v8912, op←v4788, 1, pd190);
};
}
else {
SOURCE(16233, 94)
{
word pd191;
pd191 = (* (( (ptr) (* (( (ptr) gf←c30708)+37)/* var←c27252 */ ))+16) );
(void) ( *( (fPt) ((* (ptr) pd191 ))))(viewer←v4760, 1, clearClient←v8912, op←v4788, pd191);
};
};
}
static void NoName←Q2916(formal←c0263, formal←c200016, formal←c200017, formal←c200018, formal←c200019)
word formal←c0263;
word formal←c200016;
word formal←c200017;
word formal←c200018;
word formal←c200019;
{
register ptr gf←c0310 = (ptr) &globalframe;
if ((formal←c200017 == XR←Unwind)) {
SOURCE(15754, 37)
{
word pd192;
pd192 = (* (( (ptr) (* (( (ptr) gf←c0310)+44)/* var←c28180 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd192 ))))((* ((( (ptr) formal←c200016)+4)) ), pd192);
};
};
(* (ptr) formal←c0263 ) = 0;
(* (( (ptr) formal←c0263)+1) ) = 0;
return;
}
static void NoName←Q2976(formal←c0268, formal←c200012, formal←c200013, formal←c200014, formal←c200015)
word formal←c0268;
word formal←c200012;
word formal←c200013;
word formal←c200014;
word formal←c200015;
{
register ptr gf←c0311 = (ptr) &globalframe;
if ((formal←c200013 == XR←Unwind)) {
SOURCE(15591, 32)
{
word pd193;
pd193 = (* (( (ptr) (* (( (ptr) gf←c0311)+52)/* var←c29652 */ ))+9) );
(void) ( *( (fPt) ((* (ptr) pd193 ))))((* ((( (ptr) formal←c200012)+4)) ), pd193);
};
};
(* (ptr) formal←c0268 ) = 0;
(* (( (ptr) formal←c0268)+1) ) = 0;
return;
}
static void NoName←Q3036(formal←c0273, formal←c200008, formal←c200009, formal←c200010, formal←c200011)
word formal←c0273;
word formal←c200008;
word formal←c200009;
word formal←c200010;
word formal←c200011;
{
register ptr gf←c0312 = (ptr) &globalframe;
if ((formal←c200009 == (* (( (ptr) (* (( (ptr) gf←c0312)+41)/* var←c27444 */ ))+22) ))) {
SOURCE(8327, 10)
(* (ptr) formal←c0273 ) = 2;
(* (( (ptr) formal←c0273)+1) ) = 2;
return;
};
(* (ptr) formal←c0273 ) = 0;
(* (( (ptr) formal←c0273)+1) ) = 0;
return;
}
static void NoName←Q3096(formal←c0278, formal←c200004, formal←c200005, formal←c200006, formal←c200007)
word formal←c0278;
word formal←c200004;
word formal←c200005;
word formal←c200006;
word formal←c200007;
{
register ptr gf←c0313 = (ptr) &globalframe;
if ((formal←c200005 == (* (( (ptr) (* (( (ptr) gf←c0313)+41)/* var←c27444 */ ))+22) ))) {
SOURCE(8171, 10)
(* (ptr) formal←c0278 ) = 2;
(* (( (ptr) formal←c0278)+1) ) = 2;
return;
};
(* (ptr) formal←c0278 ) = 0;
(* (( (ptr) formal←c0278)+1) ) = 0;
return;
}
static void NoName←Q3156(formal←c0283, formal←c200000, formal←c200001, formal←c200002, formal←c200003)
word formal←c0283;
word formal←c200000;
word formal←c200001;
word formal←c200002;
word formal←c200003;
{
register ptr gf←c0314 = (ptr) &globalframe;
if ((formal←c200001 == (* (( (ptr) (* (( (ptr) gf←c0314)+41)/* var←c27444 */ ))+22) ))) {
SOURCE(8039, 10)
(* (ptr) formal←c0283 ) = 2;
(* (( (ptr) formal←c0283)+1) ) = 2;
return;
};
(* (ptr) formal←c0283 ) = 0;
(* (( (ptr) formal←c0283)+1) ) = 0;
return;
}
/* file: TEditScrollingImpl, module: TEditScrollingImpl, compiled at: July 9, 1992 4:11:32 pm PDT */
extern void XR←install←TEditScrollingImpl() {
NoName←Q2556();
}
extern void XR←run←TEditScrollingImpl() { XR←Start(&globalframe); }