/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 27, 1992 7:16:33 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: TEditMesaOpsImpl, module: TEditMesaOpsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [3280719399,3183970460] TEditMesaOpsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1, f2;} W3;
typedef struct {word f0, f1, f2, f3, f4, f5, f6, f7;} W8;
typedef struct {W8 f; W4 r;} W12;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
#define SOURCE(p, l) /* source p, l */
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
static void NoName←Q300();
static void TEditMesaOpsImpl←P0();
static void SetSpanMesaLooks←P60();
static void SetMesaLooksOp←P120();
static void Append←P180();
static void DoSet←P240();
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[44];} string4 = {2752556, "\260\007\006\154\145\156\147\164\150\210\241\000\200\177\377\005\004\164\145\170\164\254\206\012\011\155\141\170\114\145\156\147\164\150\210\241\000\200\177\377\243\261\000"};
static struct {unsigned f; char r[12];} string5 = {524300, " keyword\000\000\000"};
static struct {unsigned f; char r[4];} string6 = {131076, ", \000"};
static struct {unsigned f; char r[12];} string7 = {524300, " comment\000\000\000"};
static struct {unsigned f; char r[16];} string8 = {983056, " procedure name"};
static struct {unsigned f; char r[4];} string9 = {65540, ".\000\000"};
static struct {unsigned f; char r[4];} string10 = {65540, "s\000\000"};
static struct {unsigned f; char r[8];} string11 = {327688, "Start\000\000"};
static struct {unsigned f; char r[4];} string12 = {196612, "End"};
static struct {unsigned f; char r[20];} string13 = {1048596, "SetSpanMesaLooks\000\000\000"};
static struct {unsigned f; char r[16];} string14 = {786448, "SetMesaLooks\000\000\000"};
static struct {unsigned f; char r[16];} string15 = {851984, "\257\300\303\213\316\047\300\275\307\210\234\100\164\000\000"};
static struct {unsigned f; char r[8];} string16 = {393222, "\006\001,\004C\377\000"};
static struct {unsigned f; char r[16];} string17 = {851984, "\257\300\255\053\300\023\300\142\135\315\105\100\150\000\000"};
static struct {unsigned f; char r[16];} string18 = {851984, "\257\300\074\270\063\045\300\023\342\016\224\100\150\000\000"};
static struct {unsigned f; char r[16];} string19 = {851984, "\257\300\115\072\344\261\300\127\050\323\372\100\150\000\000"};
static struct {unsigned f; char r[16];} string20 = {851984, "\257\300\332\223\177\020\300\304\076\102\260\100\164\000\000"};
static struct {unsigned f; char r[16];} string21 = {851984, "\257\300\363\223\326\161\300\017\164\046\072\100\150\000\000"};
static struct {unsigned f; char r[16];} string22 = {851984, "\257\300\013\141\323\354\300\341\005\243\127\100\150\000\000"};
static struct {unsigned f; char r[16];} string23 = {851984, "\257\300\146\107\314\260\300\352\117\305\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string24 = {851984, "\257\300\241\200\031\316\300\154\273\372\020\100\150\000\000"};
static struct {unsigned f; char r[16];} string25 = {851984, "\257\300\343\112\327\166\300\041\341\335\211\100\150\000\000"};
static struct {unsigned f; char r[16];} string26 = {851984, "\257\300\042\224\360\026\300\243\254\175\360\100\150\000\000"};
static struct {unsigned f; char r[16];} string27 = {851984, "\257\300\105\114\066\026\300\026\236\332\000\100\150\000\000"};
static struct {unsigned f; char r[16];} string28 = {851984, "\257\300\225\100\062\151\300\362\103\127\127\100\150\000\000"};
static struct {
   word f0[21]; word f21; word f22; word f23; 
   word f24; word f25; word f26[13]; 
   } globalframe = {
   {0}, (word) SetMesaLooksOp←P120, 0, (word) SetSpanMesaLooks←P60, 
   0, (word) TEditMesaOpsImpl←P0, {0}
   };

static void NoName←Q300()
   {
   register ptr gf←c056 =  (ptr) &globalframe;
   word var←c12780;
   (* (( (ptr) gf←c056)+4) ) = (word) XR←GetTypeIndex((word) &string1, 0, (word) &string2);
   (* (( (ptr) gf←c056)+8) ) = (word) XR←GetTypeIndex((word) &string3, 0, (word) &string2);
   (* (( (ptr) gf←c056)+10) ) = (word) XR←GetTypeIndexS((word) (&string4));
   (*  (ptr) (( (bPt) gf←c056)+44) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+8) ), (word) &string5);
   (*  (ptr) (( (bPt) gf←c056)+48) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+8) ), (word) &string6);
   (*  (ptr) (( (bPt) gf←c056)+52) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+8) ), (word) &string7);
   (*  (ptr) (( (bPt) gf←c056)+56) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+8) ), (word) &string8);
   (*  (ptr) (( (bPt) gf←c056)+60) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+8) ), (word) &string9);
   (*  (ptr) (( (bPt) gf←c056)+64) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+8) ), (word) &string10);
   (*  (ptr) (( (bPt) gf←c056)+68) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+4) ), (word) &string11);
   (*  (ptr) (( (bPt) gf←c056)+72) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+4) ), (word) &string12);
   (*  (ptr) (( (bPt) gf←c056)+76) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+8) ), (word) &string13);
   (*  (ptr) (( (bPt) gf←c056)+80) ) = (word) XR←GetRefLiteral((* (( (ptr) gf←c056)+4) ), (word) &string14);
   (void) XR←DeclareGlobalFrame((word) "TEditMesaOpsImpl", &globalframe, (word) XR←GetTypeIndex((word) &string15, 0, (word) &string16)
      , (word) (( (bPt) gf←c056)+100)/* var←c12076 */ );
   var←c12780 = (word) XR←ImportInterface((word) "Convert", (word) XR←GetTypeIndexS((word) (&string17)), 73);
   (* (( (ptr) gf←c056)+34)/* var←c12524 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 68166660);
   var←c12780 = (word) XR←ImportInterface((word) "MessageWindow", (word) XR←GetTypeIndexS((word) (&string18)), 7);
   (* (( (ptr) gf←c056)+33)/* var←c12492 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 524546);
   var←c12780 = (word) XR←ImportInterface((word) "NodeAddrs", (word) XR←GetTypeIndexS((word) (&string19)), 15);
   (* (( (ptr) gf←c056)+36)/* var←c12620 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 524802);
   (void) XR←ImportProcS(var←c12780, 134743810);
   (void) XR←ImportProcS(var←c12780, 786691);
   var←c12780 = (word) XR←ImportInterface((word) "RefText", (word) XR←GetTypeIndexS((word) (&string20)), 26);
   (* (( (ptr) gf←c056)+35)/* var←c12556 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 68158980);
   var←c12780 = (word) XR←ImportInterface((word) "Rope", (word) XR←GetTypeIndexS((word) (&string21)), 43);
   (* (( (ptr) gf←c056)+32)/* var←c12460 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 67903235);
   var←c12780 = (word) XR←ImportInterface((word) "TEditInput", (word) XR←GetTypeIndexS((word) (&string22)), 44);
   (* (( (ptr) gf←c056)+27)/* var←c12108 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 789507);
   var←c12780 = (word) XR←ImportInterface((word) "TEditInputOps", (word) XR←GetTypeIndexS((word) (&string23)), 66);
   (* (( (ptr) gf←c056)+31)/* var←c12396 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 524290);
   var←c12780 = (word) XR←ImportInterface((word) "TEditLocks", (word) XR←GetTypeIndexS((word) (&string24)), 7);
   (* (( (ptr) gf←c056)+29)/* var←c12172 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 262913);
   (void) XR←ImportProcS(var←c12780, 67895299);
   var←c12780 = (word) XR←ImportInterface((word) "TEditSelection", (word) XR←GetTypeIndexS((word) (&string25)), 68);
   (* (( (ptr) gf←c056)+37)/* var←c12748 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 279041);
   (void) XR←ImportProcS(var←c12780, 1316101);
   var←c12780 = (word) XR←ImportInterface((word) "TextNode", (word) XR←GetTypeIndexS((word) (&string26)), 34);
   (* (( (ptr) gf←c056)+28)/* var←c12140 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 67379201);
   (void) XR←ImportProcS(var←c12780, 67372289);
   var←c12780 = (word) XR←ImportInterface((word) "TiogaMesaOps", (word) XR←GetTypeIndexS((word) (&string27)), 2);
   (* (( (ptr) gf←c056)+30)/* var←c12236 */  ) = var←c12780;
   (void) XR←ImportProcS(var←c12780, 202899715);
   var←c12780 = (word) XR←ExportInterface((word) "TEditMesaOps", (word) XR←GetTypeIndexS((word) (&string28)), 2);
   (* (( (ptr) gf←c056)+38)/* var←c12812 */  ) = var←c12780;
   (void) XR←ExportProcS(var←c12780, (word) (( (bPt) gf←c056)+84)/* var←c12012 */ , 134479873);
   (void) XR←ExportProcS(var←c12780, (word) (( (bPt) gf←c056)+92)/* var←c12044 */ , 202637570);
   }

static void TEditMesaOpsImpl←P0(formal←c020, formal←c019)
   word formal←c020;
   word formal←c019;
   {
   register ptr gf←c12844 =  (ptr) &globalframe;
   /* TEditMesaOpsImpl: */ 
SOURCE(537, 2259)
SOURCE(2739, 57)
   {
      word pd29;
      pd29 = (* (( (ptr) (* (( (ptr) gf←c12844)+27)/* var←c12108 */  ))+16) );
      (void) ( *( (fPt) ((*  (ptr) pd29 ))))((* (( (ptr) gf←c12844)+20) ), (word) (( (bPt) gf←c12844)+84)/* var←c12012 */ , 0, pd29)
      ;
      };
   }

static void SetSpanMesaLooks←P60(formal←c030, span←v3220, event←v3248)
   word formal←c030;
   W4 span←v3220;
   word event←v3248;
   {
   register ptr gf←c12876 =  (ptr) &globalframe;
   word procs←v3292;
   word comments←v3320;
   word keywords←v3348;
   word root←v3376;
   /* SetSpanMesaLooks: */ 
SOURCE(760, 342)
SOURCE(874, 49)
   {
      word pd30;
      pd30 = (* (( (ptr) (* (( (ptr) gf←c12876)+28)/* var←c12140 */  ))+9) );
      root←v3376 = (word) ( *( (fPt) ((*  (ptr) pd30 ))))(span←v3220.f0, pd30);
      };
SOURCE(925, 46)
   {
      word var←c12204;
      word pd31;
      pd31 = (* (( (ptr) (* (( (ptr) gf←c12876)+29)/* var←c12172 */  ))+4) );
      var←c12204 = (word) ( *( (fPt) ((*  (ptr) pd31 ))))(root←v3376, (* (( (ptr) gf←c12876)+19) ), 1, pd31);
      };
SOURCE(973, 104)
   {
      W3 var←c12268;
      {
         word pd32;
         pd32 = (* (( (ptr) (* (( (ptr) gf←c12876)+30)/* var←c12236 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd32 ))))((word) &var←c12268, root←v3376, span←v3220, event←v3248, pd32);
         };
      keywords←v3348 = var←c12268.f2;
      comments←v3320 = var←c12268.f1;
      procs←v3292 = var←c12268.f0;
      };
SOURCE(1079, 23)
   {
      word pd33;
      pd33 = (* (( (ptr) (* (( (ptr) gf←c12876)+29)/* var←c12172 */  ))+7) );
      (void) ( *( (fPt) ((*  (ptr) pd33 ))))(root←v3376, pd33);
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c030 ) = procs←v3292;
   (* (( (ptr) formal←c030)+1) ) = comments←v3320;
   (* (( (ptr) formal←c030)+2) ) = keywords←v3348;
   return;
   }

static void SetMesaLooksOp←P120(formal←c041, viewer←v8652)
   word formal←c041;
   word viewer←v8652;
   {
   W12 var←c12908;
   register ptr gf←c12940 =  (ptr) &globalframe;
   word recordAtom←v8696;
   word quit←v8724;
   /* declaration of var←c12300 skipped */ 
   /* declaration of var←c12332 skipped */ 
   /* declaration of procs←v3420 skipped */ 
   /* declaration of comments←v3448 skipped */ 
   /* declaration of keywords←v3476 skipped */ 
   /* declaration of msg←v3504 skipped */ 
   /* SetMesaLooksOp: */ 
SOURCE(1108, 1625)
   {
      word tmpAddr34;
      tmpAddr34 = (word) (( (ptr) &var←c12908)+4)/* var←c12300 */ ;
      (*  (ptr) tmpAddr34 ) = ( ((word)  (fPt) DoSet←P240) );
      (* (( (ptr) tmpAddr34) + 1) ) = 1;
      };
   {
      word tmpAddr35;
      tmpAddr35 = (word) (( (ptr) &var←c12908)+6)/* var←c12332 */ ;
      (*  (ptr) tmpAddr35 ) = ( ((word)  (fPt) Append←P180) );
      (* (( (ptr) tmpAddr35) + 1) ) = 1;
      };
SOURCE(1108, 1625)
   recordAtom←v8696 = 1;
SOURCE(1108, 1625)
   quit←v8724 = 0;
SOURCE(1158, 34)
   (* (( (ptr) &var←c12908)+8)/* procs←v3420 */  ) = 0;
   (* (( (ptr) &var←c12908)+9)/* comments←v3448 */  ) = 0;
   (* (( (ptr) &var←c12908)+10)/* keywords←v3476 */  ) = 0;
SOURCE(1194, 29)
   (* (( (ptr) &var←c12908)+11)/* msg←v3504 */  ) = XR←NewObject(44, (* (( (ptr) gf←c12940)+10) ));
   (* (( (hPt) (* (( (ptr) &var←c12908)+11)/* msg←v3504 */  ))+1) ) = 40;
SOURCE(2537, 34)
   {
      word pd36;
      pd36 = (* (( (ptr) (* (( (ptr) gf←c12940)+31)/* var←c12396 */  ))+4) );
      (void) ( *( (fPt) ((*  (ptr) pd36 ))))((word) (( (bPt) &var←c12908)+16)/* var←c12300 */ , 1, pd36);
      };
SOURCE(2573, 34)
   (void) Append←P180((* (( (ptr) &var←c12908)+10)/* keywords←v3476 */  ), (* (( (ptr) gf←c12940)+11) ), (* (( (ptr) gf←c12940)+12)
       ), (word) (( (bPt) &var←c12908)+24)/* var←c12332 */ );
SOURCE(2609, 34)
   (void) Append←P180((* (( (ptr) &var←c12908)+9)/* comments←v3448 */  ), (* (( (ptr) gf←c12940)+13) ), (* (( (ptr) gf←c12940)+12)
       ), (word) (( (bPt) &var←c12908)+24)/* var←c12332 */ );
SOURCE(2645, 37)
   (void) Append←P180((* (( (ptr) &var←c12908)+8)/* procs←v3420 */  ), (* (( (ptr) gf←c12940)+14) ), (* (( (ptr) gf←c12940)+15)
       ), (word) (( (bPt) &var←c12908)+24)/* var←c12332 */ );
SOURCE(2684, 49)
   {
      word var←c12428;
      {
         word pd37;
         pd37 = (* (( (ptr) (* (( (ptr) gf←c12940)+32)/* var←c12460 */  ))+35) );
         var←c12428 = (word) ( *( (fPt) ((*  (ptr) pd37 ))))((* (( (ptr) &var←c12908)+11)/* msg←v3504 */  ), 0, 32767, pd37);
         };
      {
         word pd38;
         pd38 = (* (( (ptr) (* (( (ptr) gf←c12940)+33)/* var←c12492 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd38 ))))(var←c12428, 1, pd38);
         };
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c041 ) = recordAtom←v8696;
   (* (( (ptr) formal←c041)+1) ) = quit←v8724;
   return;
   }

static void Append←P180(value←v3648, what←v3676, dlm←v3704, formal←c13004)
   word value←v3648;
   word what←v3676;
   word dlm←v3704;
   word formal←c13004;
   {
   register ptr gf←c12972 =  (ptr) &globalframe;
   formal←c13004 = (formal←c13004 - 24);
   /* Append: */ 
SOURCE(1225, 215)
SOURCE(1278, 35)
   {
      word pd39;
      pd39 = (* (( (ptr) (* (( (ptr) gf←c12972)+34)/* var←c12524 */  ))+40) );
      (* (( (ptr) formal←c13004)+11) ) = (word) ( *( (fPt) ((*  (ptr) pd39 ))))((* (( (ptr) formal←c13004)+11) ), value←v3648, 8, 1, pd39)
      ;
      };
SOURCE(1315, 35)
   {
      word pd40;
      pd40 = (* (( (ptr) (* (( (ptr) gf←c12972)+35)/* var←c12556 */  ))+10) );
      (* (( (ptr) formal←c13004)+11) ) = (word) ( *( (fPt) ((*  (ptr) pd40 ))))((* (( (ptr) formal←c13004)+11) ), what←v3676, 0, 32767, pd40)
      ;
      };
SOURCE(1352, 52)
   if (( (int)value←v3648 !=  (int)1)) {
SOURCE(1370, 34)
      {
         word pd41;
         pd41 = (* (( (ptr) (* (( (ptr) gf←c12972)+35)/* var←c12556 */  ))+10) );
         (* (( (ptr) formal←c13004)+11) ) = (word) ( *( (fPt) ((*  (ptr) pd41 ))))((* (( (ptr) formal←c13004)+11) ), (* (( (ptr) gf←c12972)+16)
             ), 0, 32767, pd41);
         };
      };
SOURCE(1406, 34)
   {
      word pd42;
      pd42 = (* (( (ptr) (* (( (ptr) gf←c12972)+35)/* var←c12556 */  ))+10) );
      (* (( (ptr) formal←c13004)+11) ) = (word) ( *( (fPt) ((*  (ptr) pd42 ))))((* (( (ptr) formal←c13004)+11) ), dlm←v3704, 0, 32767, pd42)
      ;
      };
   }

static void DoSet←P240(root←v3764, tSel←v3792, formal←c13068)
   word root←v3764;
   word tSel←v3792;
   word formal←c13068;
   {
   register ptr gf←c13036 =  (ptr) &globalframe;
   W4 span←v3820;
   word firstText←v3848;
   word lastText←v3876;
   formal←c13068 = (formal←c13068 - 16);
   /* DoSet: */ 
SOURCE(1445, 1087)
SOURCE(1511, 49)
   (*  (W2Pt) &span←v3820 ) = (*  (W2Pt) (( (ptr) tSel←v3792)+2) );
   (*  (W2Pt) (( (ptr) &span←v3820)+2) ) = (*  (W2Pt) (( (ptr) tSel←v3792)+11) );
SOURCE(1562, 43)
   firstText←v3848 = (* (( (ptr) tSel←v3792)+2) );
SOURCE(1607, 40)
   lastText←v3876 = (* (( (ptr) tSel←v3792)+11) );
SOURCE(1649, 86)
   if ((firstText←v3848 != 0)) {
SOURCE(1673, 62)
      {
         word pd43;
         pd43 = (* (( (ptr) (* (( (ptr) gf←c13036)+36)/* var←c12620 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd43 ))))(firstText←v3848, (* (( (ptr) gf←c13036)+17) ), (* (( (ptr) tSel←v3792)+3) ), pd43)
         ;
         };
      };
SOURCE(1737, 82)
   if ((lastText←v3876 != 0)) {
SOURCE(1760, 59)
      {
         word pd44;
         pd44 = (* (( (ptr) (* (( (ptr) gf←c13036)+36)/* var←c12620 */  ))+5) );
         (void) ( *( (fPt) ((*  (ptr) pd44 ))))(lastText←v3876, (* (( (ptr) gf←c13036)+18) ), ((* (( (ptr) tSel←v3792)+12) ) + 1), pd44)
         ;
         };
      };
SOURCE(1821, 162)
   if (((* (( (ptr) tSel←v3792)+22) ) == 0) ||  ( ((* (( (ptr) tSel←v3792)+22) ) == 1) ? XR←EqualWords((( (ptr) tSel←v3792)+2)
      , (( (ptr) tSel←v3792)+11), 2) : 0 ) ) {
SOURCE(1913, 20)
      span←v3820.f1 = 0;
SOURCE(1935, 48)
      {
         word pd45;
         pd45 = (* (( (ptr) (* (( (ptr) gf←c13036)+28)/* var←c12140 */  ))+36) );
         span←v3820.f3 = (word) ( *( (fPt) ((*  (ptr) pd45 ))))(span←v3820.f2, pd45);
         };
      };
SOURCE(1986, 77)
   {
      W3 var←c12652;
      (void) SetSpanMesaLooks←P60((word) &var←c12652, span←v3820, (*  (ptr) (* (( (ptr) (* (( (ptr) gf←c13036)+27)/* var←c12108 */  ))+6)
          ) ));
      (* (( (ptr) formal←c13068)+10) ) = var←c12652.f2;
      (* (( (ptr) formal←c13068)+9) ) = var←c12652.f1;
      (* (( (ptr) formal←c13068)+8) ) = var←c12652.f0;
      };
SOURCE(2065, 122)
   {
      word var←c12684;
      W2 var←c053;
      if ((firstText←v3848 == 0)) {
         var←c12684 =  (word) -1;
         }
      else {
         {
            word pd46;
            pd46 = (* (( (ptr) (* (( (ptr) gf←c13036)+36)/* var←c12620 */  ))+11) );
            (void) ( *( (fPt) ((*  (ptr) pd46 ))))((word) &var←c053, firstText←v3848, (* (( (ptr) gf←c13036)+17) ), pd46);
            };
         var←c12684 = var←c053.f1;
         };
      (* (( (ptr) tSel←v3792)+2) ) = firstText←v3848;
      (* (( (ptr) tSel←v3792)+3) ) = var←c12684;
      };
SOURCE(2189, 129)
   {
      word var←c12716;
      if ((lastText←v3876 == 0)) {
         var←c12716 =  (word) -1;
         }
      else {
         {
            W2 var←c055;
            word var←c064;
            {
               word pd47;
               pd47 = (* (( (ptr) (* (( (ptr) gf←c13036)+36)/* var←c12620 */  ))+11) );
               (void) ( *( (fPt) ((*  (ptr) pd47 ))))((word) &var←c055, lastText←v3876, (* (( (ptr) gf←c13036)+18) ), pd47);
               };
            var←c064 = var←c055.f1;
            var←c12716 = ((MAX((int)(word), var←c064, 1)) - 1);
            };
         };
      (* (( (ptr) tSel←v3792)+11) ) = lastText←v3876;
      (* (( (ptr) tSel←v3792)+12) ) = var←c12716;
      };
SOURCE(2320, 62)
   if ((firstText←v3848 != 0)) {
SOURCE(2342, 40)
      {
         word pd48;
         pd48 = (* (( (ptr) (* (( (ptr) gf←c13036)+36)/* var←c12620 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd48 ))))(firstText←v3848, (* (( (ptr) gf←c13036)+17) ), pd48);
         };
      };
SOURCE(2384, 58)
   if ((lastText←v3876 != 0)) {
SOURCE(2405, 37)
      {
         word pd49;
         pd49 = (* (( (ptr) (* (( (ptr) gf←c13036)+36)/* var←c12620 */  ))+6) );
         (void) ( *( (fPt) ((*  (ptr) pd49 ))))(lastText←v3876, (* (( (ptr) gf←c13036)+18) ), pd49);
         };
      };
SOURCE(2444, 39)
   {
      word pd50;
      pd50 = (* (( (ptr) (* (( (ptr) gf←c13036)+37)/* var←c12748 */  ))+25) );
      (void) ( *( (fPt) ((*  (ptr) pd50 ))))(tSel←v3792, 0, 0, 0, 1, pd50);
      };
SOURCE(2485, 47)
   {
      word pd51;
      pd51 = (* (( (ptr) (* (( (ptr) gf←c13036)+37)/* var←c12748 */  ))+70) );
      (void) ( *( (fPt) ((*  (ptr) pd51 ))))((*  (ptr) ((* (( (ptr) (* (( (ptr) gf←c13036)+37)/* var←c12748 */  ))+4) )) ), pd51)
      ;
      };
   }

/* file: TEditMesaOpsImpl, module: TEditMesaOpsImpl, compiled at: February 27, 1992 7:16:32 pm PST */ 
extern void XR←install←TEditMesaOpsImpl() {
   NoName←Q300();
   }
extern void XR←run←TEditMesaOpsImpl() { XR←Start(&globalframe); }