#include "externs.h"

void F105_shownodelist (p)
/******************/
register int /* was T32_halfword */ p;
{
  register float   g;
  register long int   n;
  register T37_memoryword memhelp;
  register long help;
  register int shelp;

  if ((poolptr - strstart[strptr]) > depththreshold)
  {
    if (p > ((int)(-32768)))
      F17_print (184);
    return;
  }
  n = 0;
  while (p > ((int)(-32768)))
  {
    F15_println ();
    F62_printcurrentstring ();
    if (p > memend)
    {
      F17_print (185);
      return;
    }
    n++;
    if (n > breadthmax)
    {
      F17_print (186);
      return;
    }
    if (p >= himemmin)
      F94_printfontandchar (p);
    else
    {
      memhelp = mem[p - C2_memmin];
      switch (memhelp._TAG._TAG3.hh._TAG._TAG2.b0)
      {
	case 0: 
	case 1: 
	case 13: 
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b0 == 0)
	    F20_printesc (104);
	  else
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b0 == 1)
	      F20_printesc (118);
	    else
	      F20_printesc (188);
	  F17_print (189);
	  F67_printscaled (mem[p + 3 - C2_memmin]._TAG._TAG1._int);
	  F16_printchar ((char)43);
	  F67_printscaled (mem[p + 2 - C2_memmin]._TAG._TAG1._int);
	  F17_print (190);
	  F67_printscaled (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b0 == 13)
	  {
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 != (-128))
	    {
	      F17_print (156);
	      F22_printint ((long)memhelp._TAG._TAG3.hh._TAG._TAG2.b1 + 129);
	      F17_print (192);
	    }
	    if ((help = mem[p + 6 - C2_memmin]._TAG._TAG1._int) != 0L)
	    {
	      F17_print (193);
	      F97_printglue (help, mem[p + 5 - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1, 0);
	    }
	    if ((help = mem[p + 4 - C2_memmin]._TAG._TAG1._int) != 0L)
	    {
	      F17_print (194);
	      F97_printglue (help, mem[p + 5 - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0, 0);
	    }
	  }
	  else
	  {
	    if ((mem[p + 6 - C2_memmin]._TAG._TAG1._int != 0) && ((shelp = mem[p + 5 - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0) != 0))
	    {
	      g = mem[p + 6 - C2_memmin]._TAG._TAG2.gr;
	      F17_print (195);
	      if (shelp == 2)
		F17_print (196);
	      if ((g > 20000.0) || (g < -20000.0))
	      {
		if (g > 0.0)
		  F16_printchar ((char)62);
		else
		  F17_print (197);
		F97_printglue (1310720000, mem[p + 5 - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1, 0);
	      }
	      else
	      {
		F97_printglue (ROUND(g * 65536.0), mem[p + 5 - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1, 0);
	      }
	    }
	    if ((help = mem[p + 4 - C2_memmin]._TAG._TAG1._int) != 0L)
	    {
	      F17_print (191);
	      F67_printscaled (help);
	    }
	  }
	  strpool[poolptr++] = 46;
	  F105_shownodelist (mem[p + 5 - C2_memmin]._TAG._TAG3.hh.rh);
	  poolptr--;
	  break;
	case 2: 
	  F20_printesc (198);
	  F96_printruledimen (mem[p + 3 - C2_memmin]._TAG._TAG1._int);
	  F16_printchar ((char)43);
	  F96_printruledimen (mem[p + 2 - C2_memmin]._TAG._TAG1._int);
	  F17_print (190);
	  F96_printruledimen (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  break;
	case 3: 
	  F20_printesc (199);
	  F22_printint ((long)memhelp._TAG._TAG3.hh._TAG._TAG2.b1 + 128);
	  F17_print (200);
	  F67_printscaled (mem[p + 3 - C2_memmin]._TAG._TAG1._int);
	  F17_print (201);
	  F98_printspec ((long)mem[p + 4 - C2_memmin]._TAG._TAG3.hh.rh, 0);
	  F16_printchar ((char)44);
	  F67_printscaled (mem[p + 2 - C2_memmin]._TAG._TAG1._int);
	  F17_print (202);
	  F22_printint (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  strpool[poolptr++] = 46;
	  F105_shownodelist (mem[p + 4 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh);
	  poolptr--;
	  break;
	case 8: 
	  switch (memhelp._TAG._TAG3.hh._TAG._TAG2.b1)
	  {
	    case 0: 
	      F27_printwritewhatsit (1129, p);
	      F16_printchar ((char)61);
	      F25_printfilename (mem[p + 1 - C2_memmin]._TAG._TAG3.hh.rh, mem[p + 2 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh, mem[p + 2 - C2_memmin]._TAG._TAG3.hh.rh);
	      break;
	    case 1: 
	      F27_printwritewhatsit (453, p);
	      F95_printmark ((long)mem[p + 1 - C2_memmin]._TAG._TAG3.hh.rh);
	      break;
	    case 2: 
	      F27_printwritewhatsit (1130, p);
	      break;
	    case 3: 
	      F20_printesc (1131);
	      F95_printmark ((long)mem[p + 1 - C2_memmin]._TAG._TAG3.hh.rh);
	      break;
	    default: 
	      F17_print (1135);
	      break;
	  }
	  break;
	case 10: 
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 >= 100)
	  {
	    F20_printesc (207);
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 == 101)
	      F16_printchar ((char)99);
	    else
	      if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 == 102)
		F16_printchar ((char)120);
	    F17_print (208);
	    F98_printspec ((long)mem[p + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh, 0);
	    strpool[poolptr++] = 46;
	    F105_shownodelist (mem[p + 1 - C2_memmin]._TAG._TAG3.hh.rh);
	    poolptr--;
	  }
	  else
	  {
	    F20_printesc (203);
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 != 0)
	    {
	      F16_printchar ((char)40);
	      if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 < 98)
		F104_printskipparam ((int)memhelp._TAG._TAG3.hh._TAG._TAG2.b1 - 1);
	      else
		if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 == 98)
		  F20_printesc (204);
		else
		  F20_printesc (205);
	      F16_printchar ((char)41);
	    }
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 != 98)
	    {
	      F16_printchar ((char)32);
	      if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 < 98)
		F98_printspec ((long)mem[p + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh, 0);
	      else
		F98_printspec ((long)mem[p + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh, 206);
	    }
	  }
	  break;
	case 11: 
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 != 99)
	  {
	    F20_printesc (209);
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 != 0)
	      F16_printchar ((char)32);
	    F67_printscaled (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 == 2)
	      F17_print (210);
	  }
	  else
	  {
	    F20_printesc (211);
	    F67_printscaled (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	    F17_print (206);
	  }
	  break;
	case 9: 
	  F20_printesc (212);
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 == 0)
	    F17_print (213);
	  else
	    F17_print (214);
	  if (mem[p + 1 - C2_memmin]._TAG._TAG1._int != 0)
	  {
	    F17_print (215);
	    F67_printscaled (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  }
	  break;
	case 6: 
	  F94_printfontandchar (p + 1);
	  F17_print (216);
	  fontinshortdisplay = mem[p + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0;
	  F93_shortdisplay (mem[p + 1 - C2_memmin]._TAG._TAG3.hh.rh);
	  F16_printchar ((char)41);
	  break;
	case 12: 
	  F20_printesc (217);
	  F22_printint (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  break;
	case 7: 
	  F20_printesc (218);
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 > 0)
	  {
	    F17_print (219);
	    F22_printint ((long)memhelp._TAG._TAG3.hh._TAG._TAG2.b1);
	  }
	  strpool[poolptr++] = 46;
	  F105_shownodelist (mem[p + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh);
	  strpool[poolptr-1] = 124;
	  F105_shownodelist (mem[p + 1 - C2_memmin]._TAG._TAG3.hh.rh);
	  poolptr--;
	  break;
	case 4: 
	  F20_printesc (220);
	  F95_printmark (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  break;
	case 5: 
	  F20_printesc (221);
	  strpool[poolptr++] = 46;
	  F105_shownodelist ((int)mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  poolptr--;
	  break;
	case 14: 
	  F103_printstyle ((int)memhelp._TAG._TAG3.hh._TAG._TAG2.b1);
	  break;
	case 15: 
	  F20_printesc (385);
	  strpool[poolptr++] = 68;
	  F105_shownodelist (mem[p + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh);
	  strpool[poolptr-1] = 84;
	  F105_shownodelist (mem[p + 1 - C2_memmin]._TAG._TAG3.hh.rh);
	  strpool[poolptr-1] = 83;
	  F105_shownodelist (mem[p + 2 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh);
	  strpool[poolptr-1] = 115;
	  F105_shownodelist (mem[p + 2 - C2_memmin]._TAG._TAG3.hh.rh);
	  poolptr--;
	  break;
	case 16: 
	case 17: 
	case 18: 
	case 19: 
	case 20: 
	case 21: 
	case 22: 
	case 23: 
	case 24: 
	case 27: 
	case 26: 
	case 29: 
	case 28: 
	case 30: 
	case 31: 
	  switch (memhelp._TAG._TAG3.hh._TAG._TAG2.b0)
	  {
	    case 16: 
	      F20_printesc (719);
	      break;
	    case 17: 
	      F20_printesc (720);
	      break;
	    case 18: 
	      F20_printesc (721);
	      break;
	    case 19: 
	      F20_printesc (722);
	      break;
	    case 20: 
	      F20_printesc (723);
	      break;
	    case 21: 
	      F20_printesc (724);
	      break;
	    case 22: 
	      F20_printesc (725);
	      break;
	    case 23: 
	      F20_printesc (726);
	      break;
	    case 27: 
	      F20_printesc (727);
	      break;
	    case 26: 
	      F20_printesc (728);
	      break;
	    case 29: 
	      F20_printesc (398);
	      break;
	    case 24: 
	      F20_printesc (392);
	      F100_printdelimiter (p + 4);
	      break;
	    case 28: 
	      F20_printesc (368);
	      F99_printfamandchar (p + 4);
	      break;
	    case 30: 
	      F20_printesc (729);
	      F100_printdelimiter (p + 1);
	      break;
	    case 31: 
	      F20_printesc (730);
	      F100_printdelimiter (p + 1);
	      break;
	  }
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 != 0)
	    if (memhelp._TAG._TAG3.hh._TAG._TAG2.b1 == 1)
	      F20_printesc (731);
	    else
	      F20_printesc (732);
	  if (memhelp._TAG._TAG3.hh._TAG._TAG2.b0 < 30)
	    F102_printsubsidiarydata (p + 1, (char)46);
	  F102_printsubsidiarydata (p + 2, (char)94);
	  F102_printsubsidiarydata (p + 3, (char)95);
	  break;
	case 25: 
	  F20_printesc (733);
	  if (mem[p + 1 - C2_memmin]._TAG._TAG1._int == 1073741824)
	    F17_print (734);
	  else
	    F67_printscaled (mem[p + 1 - C2_memmin]._TAG._TAG1._int);
	  memhelp = mem[p + 4 - C2_memmin];
	  if ((((memhelp._TAG._TAG4.qqqq.b0 != 0) || (memhelp._TAG._TAG4.qqqq.b1 != (-128))) || (memhelp._TAG._TAG4.qqqq.b2 != 0)) || (memhelp._TAG._TAG4.qqqq.b3 != (-128)))
	  {
	    F17_print (735);
	    F100_printdelimiter (p + 4);
	  }
	  memhelp = mem[p + 5 - C2_memmin];
	  if ((((memhelp._TAG._TAG4.qqqq.b0 != 0) || (memhelp._TAG._TAG4.qqqq.b1 != (-128))) || (memhelp._TAG._TAG4.qqqq.b2 != 0)) || (memhelp._TAG._TAG4.qqqq.b3 != (-128)))
	  {
	    F17_print (736);
	    F100_printdelimiter (p + 5);
	  }
	  F102_printsubsidiarydata (p + 2, (char)92);
	  F102_printsubsidiarydata (p + 3, (char)47);
	  break;
	default: 
	  F17_print (187);
	  break;
      }
    }
    p = mem[p - C2_memmin]._TAG._TAG3.hh.rh;
  }
}

void F106_showbox (p)
/*************/
register int /* was T32_halfword */ p;
{
  depththreshold = eqtb[5292]._TAG._TAG1._int;
  breadthmax = eqtb[5291]._TAG._TAG1._int;
  if (breadthmax <= 0)
    breadthmax = 5;
  if ((poolptr + depththreshold) >= C15_poolsize)
    depththreshold = (C15_poolsize - poolptr) - 1;
  F105_shownodelist (p);
  F15_println ();
}

void F107_deletetokenref (p)
/********************/
register int /* was T32_halfword */ p;
{
  if (mem[p - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh == ((int)(-32768)))
    F76_flushlist (p);
  else
    mem[p - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh--;
}

void F108_deleteglueref (p)
/*******************/
register int /* was T32_halfword */ p;
{
  if (mem[p - C2_memmin]._TAG._TAG3.hh.rh == ((int)(-32768)))
    F78_freenode (p, 4);
  else
    mem[p - C2_memmin]._TAG._TAG3.hh.rh--;
}

void F109_flushnodelist (p)
/*******************/
register int /* was T32_halfword */ p;
{
  register int /* was T32_halfword */ q;
  register int shelp;
#ifdef M_XENIX
  T37_memoryword huge *memptr;
#else
  register T37_memoryword *memptr;
#endif

  while (p != ((int)(-32768)))
  {
    memptr = &mem[p - C2_memmin];
    q = memptr->_TAG._TAG3.hh.rh;
    if (p >= himemmin)
    {
      memptr->_TAG._TAG3.hh.rh = avail;
      avail = p;
# if defined(INITEX) || defined(TRIPTEX)
      dynused--;
# endif
    }
    else
    {
      switch (memptr->_TAG._TAG3.hh._TAG._TAG2.b0)
      {
	case 0: 
	case 1: 
	case 13: 
	  F109_flushnodelist ((memptr+5)->_TAG._TAG3.hh.rh);
	  F78_freenode (p, 7);
	  goto _30;
	  break;
	case 2: 
	  F78_freenode (p, 4);
	  goto _30;
	  break;
	case 3: 
	  F109_flushnodelist ((memptr+4)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  F108_deleteglueref ((memptr+4)->_TAG._TAG3.hh.rh);
	  F78_freenode (p, 5);
	  goto _30;
	  break;
	case 8: 
	  switch (memptr->_TAG._TAG3.hh._TAG._TAG2.b1)
	  {
	    case 0: 
	      F78_freenode (p, 3);
	      break;
	    case 1: 
	    case 3: 
	      F107_deletetokenref ((memptr+1)->_TAG._TAG3.hh.rh);
	      F78_freenode (p, 2);
	      goto _30;
	      break;
	    case 2: 
	      F78_freenode (p, 2);
	      break;
	    default: 
	      F42_confusion (1137);
	      break;
	  }
	  goto _30;
	  break;
	case 10: 
	  shelp = (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh;
	  if (mem[shelp - C2_memmin]._TAG._TAG3.hh.rh == ((int)(-32768)))
	    F78_freenode (shelp, 4);
	  else
	    mem[shelp - C2_memmin]._TAG._TAG3.hh.rh--;
	  {
	    register int shelp;
	    if ((shelp=(memptr+1)->_TAG._TAG3.hh.rh) != ((int)(-32768)))
	      F109_flushnodelist (shelp);
	  }
	  break;
	case 9: 
	case 11: 
	case 12: 
	  break;
	case 6: 
	  F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh.rh);
	  break;
	case 4: 
	  F107_deletetokenref ((int)((memptr+1)->_TAG._TAG1._int));
	  break;
	case 7: 
	  F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh.rh);
	  break;
	case 5: 
	  F109_flushnodelist ((int)((memptr+1)->_TAG._TAG1._int));
	  break;
	case 14: 
	  F78_freenode (p, 3);
	  goto _30;
	  break;
	case 15: 
	  F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh.rh);
	  F109_flushnodelist ((memptr+2)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  F109_flushnodelist ((memptr+2)->_TAG._TAG3.hh.rh);
	  F78_freenode (p, 3);
	  goto _30;
	  break;
	case 16: 
	case 17: 
	case 18: 
	case 19: 
	case 20: 
	case 21: 
	case 22: 
	case 23: 
	case 24: 
	case 27: 
	case 26: 
	case 29: 
	case 28: 
	  if ((memptr+1)->_TAG._TAG3.hh.rh >= 2)
	    F109_flushnodelist ((memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  if ((memptr+2)->_TAG._TAG3.hh.rh >= 2)
	    F109_flushnodelist ((memptr+2)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  if ((memptr+3)->_TAG._TAG3.hh.rh >= 2)
	    F109_flushnodelist ((memptr+3)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  if (memptr->_TAG._TAG3.hh._TAG._TAG2.b0 == 24)
	    F78_freenode (p, 5);
	  else
	    if (memptr->_TAG._TAG3.hh._TAG._TAG2.b0 == 28)
	      F78_freenode (p, 5);
	    else
	      F78_freenode (p, 4);
	  goto _30;
	  break;
	case 30: 
	case 31: 
	  F78_freenode (p, 4);
	  goto _30;
	  break;
	case 25: 
	  F109_flushnodelist ((memptr+2)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  F109_flushnodelist ((memptr+3)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  F78_freenode (p, 6);
	  goto _30;
	  break;
	default: 
	  F42_confusion (222);
	  break;
      }
      F78_freenode (p, 2);
  _30: ;
    }
    p = q;
  }
}

int /* was T32_halfword */ F110_copynodelist (p)
/*******************************/
register int /* was T32_halfword */ p;
{
#ifdef M_XENIX
  T37_memoryword huge *memptr, huge *memptr1;
#else
  register T37_memoryword *memptr,*memptr1;
#endif
  register int /* was T32_halfword */ h;
  register int /* was T32_halfword */ q;
  register int /* was T32_halfword */ r;
  register int   words;

  h = F75_getavail ();
  q = h;
  while (p != ((int)(-32768)))
  {
    words = 1;
    if (p >= himemmin)
      r = F75_getavail ();
    else
    {
      memptr = &mem[p - C2_memmin];
      switch (memptr->_TAG._TAG3.hh._TAG._TAG2.b0)
      {
	case 0: 
	case 1: 
	case 13: 
	  r = F77_getnode (7L);
	  memptr1 = &mem[r + 5 - C2_memmin];
	  *(memptr1+1) = *(memptr + 6);
	  *memptr1 = *(memptr + 5);
	  memptr1->_TAG._TAG3.hh.rh = F110_copynodelist ((memptr+5)->_TAG._TAG3.hh.rh);
	  words = 5;
	  break;
	case 2: 
	  r = F77_getnode (4L);
	  words = 4;
	  break;
	case 3: 
	  r = F77_getnode (5L);
	  memptr1 = &mem[r + 4 - C2_memmin];
	  *memptr1 = *(memptr+4);
	  {
	    register int shelp;
	    shelp = (memptr+4)->_TAG._TAG3.hh.rh;
	    mem[shelp - C2_memmin]._TAG._TAG3.hh.rh++;
	  }
	  memptr1->_TAG._TAG3.hh._TAG._TAG1.lh = F110_copynodelist ((memptr+4)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  words = 4;
	  break;
	case 8: 
	  switch (memptr->_TAG._TAG3.hh._TAG._TAG2.b1)
	  {
	    case 0: 
	      r = F77_getnode (3L);
	      words = 3;
	      break;
	    case 1: 
	    case 3: 
	      r = F77_getnode (2L);
	      {
		register int shelp;
		shelp = (memptr+1)->_TAG._TAG3.hh.rh;
		mem[shelp - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh++;
	      }
	      words = 2;
	      break;
	    case 2: 
	      r = F77_getnode (2L);
	      words = 2;
	      break;
	    default: 
	      F42_confusion (1136);
	      break;
	  }
	  break;
	case 10: 
	  r = F77_getnode (2L);
	  {
	    register int shelp;
	    shelp = (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh;
	    mem[shelp - C2_memmin]._TAG._TAG3.hh.rh++;
	  }
	  memptr1 = &mem[r + 1 - C2_memmin];
	  memptr1->_TAG._TAG3.hh._TAG._TAG1.lh = (memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh;
	  memptr1->_TAG._TAG3.hh.rh = F110_copynodelist ((memptr+1)->_TAG._TAG3.hh.rh);
	  break;
	case 11: 
	case 9: 
	case 12: 
	  r = F77_getnode (2L);
	  words = 2;
	  break;
	case 6: 
	  r = F77_getnode (2L);
	  memptr1 = &mem[r + 1 - C2_memmin];
	  *memptr1 = *(memptr+1);
	  memptr1->_TAG._TAG3.hh.rh = F110_copynodelist ((memptr+1)->_TAG._TAG3.hh.rh);
	  break;
	case 7: 
	  r = F77_getnode (2L);
	  memptr1 = &mem[r + 1 - C2_memmin];
	  memptr1->_TAG._TAG3.hh._TAG._TAG1.lh = F110_copynodelist ((memptr+1)->_TAG._TAG3.hh._TAG._TAG1.lh);
	  memptr1->_TAG._TAG3.hh.rh = F110_copynodelist ((memptr+1)->_TAG._TAG3.hh.rh);
	  break;
	case 4: 
	  r = F77_getnode (2L);
	  {
	    register int shelp;
	    shelp = (memptr+1)->_TAG._TAG1._int;
	    mem[shelp - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh++;
	  }
	  words = 2;
	  break;
	case 5: 
	  r = F77_getnode (2L);
	  mem[r + 1 - C2_memmin]._TAG._TAG1._int = F110_copynodelist ((int)((memptr+1)->_TAG._TAG1._int));
	  break;
	default: 
	  F42_confusion (223);
	  break;
      }
    }
    while (words > 0)
    {
      words--;
      mem[r + words - C2_memmin]=mem[p + words - C2_memmin];
    }
    mem[q - C2_memmin]._TAG._TAG3.hh.rh = r;
    q = r;
    p = mem[p - C2_memmin]._TAG._TAG3.hh.rh;
  }
  mem[q - C2_memmin]._TAG._TAG3.hh.rh = (int)(-32768);
  memptr = &mem[h - C2_memmin];
  q = memptr->_TAG._TAG3.hh.rh;
  memptr->_TAG._TAG3.hh.rh = avail;
  avail = h;
# if defined(INITEX) || defined(TRIPTEX)
  dynused--;
# endif
  return(q);
}

void F111_printmode (m)
/***************/
register int   m;
{
  if (m > 0)
    switch (m / 100)
    {
      case 0: 
	F17_print (224);
	break;
      case 1: 
	F17_print (225);
	break;
      case 2: 
	F17_print (226);
	break;
    }
  else
    if (m == 0)
      F17_print (227);
    else
      switch ((-m) / 100)
      {
	case 0: 
	  F17_print (228);
	  break;
	case 1: 
	  F17_print (229);
	  break;
	case 2: 
	  F17_print (212);
	  break;
      }
  F17_print (230);
}

void F112_pushnest ()
/*************/
{
  if (nestptr > maxneststack)
  {
    maxneststack = nestptr;
    if (nestptr == C12_nestsize)
      F41_overflow (231, (long)C12_nestsize);
  }
  nest[nestptr++]=curlist;
  curlist.headfield = F75_getavail ();
  curlist.tailfield = curlist.headfield;
  curlist.pgfield = 0;
  curlist.mlfield = line;
}

void F113_popnest ()
/************/
{
  mem[curlist.headfield - C2_memmin]._TAG._TAG3.hh.rh = avail;
  avail = curlist.headfield;
# if defined(INITEX) || defined(TRIPTEX)
  dynused--;
# endif
  nestptr--;
  curlist=nest[nestptr];
}

void F115_showactivities ()
/*******************/
{
  register int   p;
  register int /* was T32_halfword */ r;
  register long int   a;
  register int   m;
  register int /* was T32_halfword */ q;
  register long int   t;

  nest[nestptr]=curlist;
  F19_printnl (207);
  F15_println ();
  for (p = nestptr; p >= 0; p--)
  {
    m = nest[p].modefield;
    a = nest[p].auxfield;
    F19_printnl (232);
    F111_printmode (m);
    F17_print (233);
    F22_printint (LABS (nest[p].mlfield));
    if (nest[p].mlfield < 0)
      F17_print (234);
    if (p == 0)
    {
# ifdef TRIPTEX
      if (2998 != pagetail)
# else
      if (29998 != pagetail)
# endif
      {
	F19_printnl (828);
	if (outputactive)
	  F17_print (829);
	F106_showbox (m29998->_TAG._TAG3.hh.rh);
	if (pagecontents > 0)
	{
	  F19_printnl (830);
	  F114_printtotals ();
	  F19_printnl (831);
	  F67_printscaled (pagesofar[0]);
	  r = m30000->_TAG._TAG3.hh.rh;
# ifdef TRIPTEX
	  while (r != 3000)
# else
	  while (r != 30000)
# endif
	  {
	    F15_println ();
	    F20_printesc (199);
	    t = mem[r - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1 + 128;
	    F22_printint ((long)t);
	    F17_print (832);
	    t = (mem[r + 3 - C2_memmin]._TAG._TAG1._int / 1000) * eqtb[5317 + t]._TAG._TAG1._int;
	    F67_printscaled (t);
	    if (mem[r - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 == 1)
	    {
# ifdef TRIPTEX
	      q = 2998;
# else
	      q = 29998;
# endif
	      t = 0;
	      do
	      {
		q = mem[q - C2_memmin]._TAG._TAG3.hh.rh;
		if ((mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b0 == 3) && (mem[q - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1 == mem[r - C2_memmin]._TAG._TAG3.hh._TAG._TAG2.b1))
		  t++;
	      }
	      while (q != mem[r + 1 - C2_memmin]._TAG._TAG3.hh._TAG._TAG1.lh);
	      F17_print (833);
	      F22_printint ((long)t);
	      F17_print (834);
	    }
	    r = mem[r - C2_memmin]._TAG._TAG3.hh.rh;
	  }
	}
      }
      if (m29999->_TAG._TAG3.hh.rh != ((int)(-32768)))
	F19_printnl (235);
    }
    F106_showbox (mem[nest[p].headfield - C2_memmin]._TAG._TAG3.hh.rh);
    switch (ABS (m) / 100)
    {
      case 0: 
	F19_printnl (236);
	if (a <= (-65536000))
	  F17_print (237);
	else
	  F67_printscaled (a);
	if (nest[p].pgfield != 0)
	{
	  F17_print (238);
	  F22_printint ((long)nest[p].pgfield);
	  F17_print (239);
	  if (nest[p].pgfield != 1)
	    F16_printchar ((char)115);
	}
	break;
      case 1: 
	F19_printnl (240);
	F22_printint ((long)a);
	break;
      case 2: 
	if (a != ((int)(-32768)))
	{
	  F17_print (241);
	  F106_showbox ((int)a);
	}
	break;
    }
  }
}

void F116_printparam (n)
/****************/
int   n;
{
  if ((n >=0) && (n < 50))
    F20_printesc(286 + n);
  else
    F17_print (336);
}

void F118_begindiagnostic ()
/********************/
{
  oldsetting = selector;
  if ((eqtb[5296]._TAG._TAG1._int <= 0) && (selector == 19))
  {
    selector--;
    if (history == 0)
      history = 1;
  }
}

void F119_enddiagnostic (blankline)
/***************************/
BOOLEAN blankline;
{
  F19_printnl (207);
  if (blankline)
    F15_println ();
  selector = oldsetting;
}

void F120_printlengthparam (n)
/**********************/
int   n;
{
  if ((n >= 0) && (n < 20))
    F20_printesc(339 + n);
  else
    F17_print (359);
}

void F121_printcmdchr (cmd, chrcode)
/***************************/
T31_quarterword cmd;
register int /* was T32_halfword */ chrcode;
{
  switch (cmd)
  {
    case 1: 
      F17_print (416);
      F60_printascii (chrcode);
      break;
    case 2: 
      F17_print (417);
      F60_printascii (chrcode);
      break;
    case 3: 
      F17_print (418);
      F60_printascii (chrcode);
      break;
    case 6: 
      F17_print (419);
      F60_printascii (chrcode);
      break;
    case 7: 
      F17_print (420);
      F60_printascii (chrcode);
      break;
    case 8: 
      F17_print (421);
      F60_printascii (chrcode);
      break;
    case 9: 
      F17_print (422);
      break;
    case 10: 
      F17_print (423);
      F60_printascii (chrcode);
      break;
    case 11: 
      F17_print (424);
      F60_printascii (chrcode);
      break;
    case 12: 
      F17_print (425);
      F60_printascii (chrcode);
      break;
    case 74: 
    case 75: 
      if (chrcode < 3544)
	F104_printskipparam (chrcode - 3526);
      else
	if (chrcode < 3800)
	{
	  F20_printesc (261);
	  F22_printint ((long)chrcode - 3544);
	}
	else
	{
	  F20_printesc (262);
	  F22_printint ((long)chrcode - 3800);
	}
      break;
    case 71: 
      if (chrcode >= 4066)
      {
	F20_printesc (273);
	F22_printint ((long)chrcode - 4066);
      }
      else
	switch (chrcode)
	{
	  case 4057: 
	    F20_printesc (264);
	    break;
	  case 4058: 
	    F20_printesc (265);
	    break;
	  case 4059: 
	    F20_printesc (266);
	    break;
	  case 4060: 
	    F20_printesc (267);
	    break;
	  case 4061: 
	    F20_printesc (268);
	    break;
	  case 4062: 
	    F20_printesc (269);
	    break;
	  case 4063: 
	    F20_printesc (270);
	    break;
	  case 4064: 
	    F20_printesc (271);
	    break;
	  default: 
	    F20_printesc (272);
	    break;
	}
      break;
    case 72: 
      if (chrcode < 5317)
	F116_printparam (chrcode - 5267);
      else
      {
	F20_printesc (337);
	F22_printint ((long)chrcode - 5317);
      }
      break;
    case 73: 
      if (chrcode < 5721)
	F120_printlengthparam (chrcode - 5701);
      else
      {
	F20_printesc (360);
	F22_printint ((long)chrcode - 5721);
      }
      break;
    case 45: 
      F20_printesc (368);
      break;
    case 89: 
      F20_printesc (369);
      break;
    case 40: 
      F20_printesc (370);
      break;
    case 41: 
      F20_printesc (371);
      break;
    case 76: 
      F20_printesc (379);
      break;
    case 61: 
      F20_printesc (372);
      break;
    case 42: 
      F20_printesc (390);
      break;
    case 16: 
      F20_printesc (373);
      break;
    case 106: 
      F20_printesc (364);
      break;
    case 87: 
      F20_printesc (378);
      break;
    case 15: 
      F20_printesc (374);
      break;
    case 91: 
      F20_printesc (375);
      break;
    case 66: 
      F20_printesc (365);
      break;
    case 62: 
      F20_printesc (376);
      break;
    case 64: 
      F20_printesc (32);
      break;
    case 101: 
      F20_printesc (377);
      break;
    case 32: 
      F20_printesc (380);
      break;
    case 36: 
      F20_printesc (381);
      break;
    case 39: 
      F20_printesc (382);
      break;
    case 37: 
      F20_printesc (199);
      break;
    case 44: 
      F20_printesc (47);
      break;
    case 18: 
      F20_printesc (220);
      break;
    case 46: 
      F20_printesc (383);
      break;
    case 17: 
      F20_printesc (384);
      break;
    case 54: 
      F20_printesc (385);
      break;
    case 90: 
      F20_printesc (386);
      break;
    case 34: 
      F20_printesc (387);
      break;
    case 102: 
      F20_printesc (388);
      break;
    case 55: 
      F20_printesc (204);
      break;
    case 63: 
      F20_printesc (389);
      break;
    case 65: 
      F20_printesc (392);
      break;
    case 95: 
      F20_printesc (393);
      break;
    case 0: 
      F20_printesc (394);
      break;
    case 97: 
      F20_printesc (395);
      break;
    case 79: 
      F20_printesc (391);
      break;
    case 83: 
      F20_printesc (274);
      break;
    case 108: 
      F20_printesc (396);
      break;
    case 70: 
      F20_printesc (273);
      break;
    case 38: 
      F20_printesc (221);
      break;
    case 33: 
      F20_printesc (397);
      break;
    case 56: 
      F20_printesc (398);
      break;
    case 35: 
      F20_printesc (399);
      break;
    case 13: 
      F20_printesc (455);
      break;
    case 103: 
      if (chrcode == 0)
	F20_printesc (487);
      else
	F20_printesc (488);
      break;
    case 109: 
      switch (chrcode)
      {
	case 1: 
	  F20_printesc (490);
	  break;
	case 2: 
	  F20_printesc (491);
	  break;
	case 3: 
	  F20_printesc (492);
	  break;
	case 4: 
	  F20_printesc (493);
	  break;
	default: 
	  F20_printesc (489);
	  break;
      }
      break;
    case 88: 
      if (chrcode == 0)
	F20_printesc (337);
      else
	if (chrcode == 1)
	  F20_printesc (360);
	else
	  if (chrcode == 2)
	    F20_printesc (261);
	  else
	    F20_printesc (262);
      break;
    case 78: 
      if (chrcode == 1)
	F20_printesc (527);
      else
	F20_printesc (526);
      break;
    case 81: 
      if (chrcode == 0)
	F20_printesc (528);
      else
	F20_printesc (529);
      break;
    case 82: 
      if (chrcode == 1)
	F20_printesc (530);
      else
	if (chrcode == 3)
	  F20_printesc (531);
	else
	  F20_printesc (532);
      break;
    case 69: 
      if (chrcode == 0)
	F20_printesc (533);
      else
	if (chrcode == 1)
	  F20_printesc (534);
	else
	  F20_printesc (535);
      break;
    case 107: 
      switch (chrcode)
      {
	case 0: 
	  F20_printesc (592);
	  break;
	case 1: 
	  F20_printesc (593);
	  break;
	case 2: 
	  F20_printesc (594);
	  break;
	case 3: 
	  F20_printesc (595);
	  break;
	case 4: 
	  F20_printesc (596);
	  break;
	default: 
	  F20_printesc (597);
	  break;
      }
      break;
    case 104: 
      switch (chrcode)
      {
	case 1: 
	  F20_printesc (614);
	  break;
	case 2: 
	  F20_printesc (615);
	  break;
	case 3: 
	  F20_printesc (616);
	  break;
	case 4: 
	  F20_printesc (617);
	  break;
	case 5: 
	  F20_printesc (618);
	  break;
	case 6: 
	  F20_printesc (619);
	  break;
	case 7: 
	  F20_printesc (620);
	  break;
	case 8: 
	  F20_printesc (621);
	  break;
	case 9: 
	  F20_printesc (622);
	  break;
	case 10: 
	  F20_printesc (623);
	  break;
	case 11: 
	  F20_printesc (624);
	  break;
	case 12: 
	  F20_printesc (625);
	  break;
	case 13: 
	  F20_printesc (626);
	  break;
	case 14: 
	  F20_printesc (627);
	  break;
	case 15: 
	  F20_printesc (628);
	  break;
	case 16: 
	  F20_printesc (629);
	  break;
	default: 
	  F20_printesc (613);
	  break;
      }
      break;
    case 105: 
      if (chrcode == 2)
	F20_printesc (630);
      else
	if (chrcode == 4)
	  F20_printesc (631);
	else
	  F20_printesc (632);
      break;
    case 4: 
      if (chrcode == 128)
	F20_printesc (751);
      else
      {
	F17_print (755);
	F60_printascii (chrcode);
      }
      break;
    case 5: 
      if (chrcode == 129)
	F20_printesc (752);
      else
	F20_printesc (753);
      break;
    case 80: 
      switch (chrcode)
      {
	case 0: 
	  F20_printesc (818);
	  break;
	case 1: 
	  F20_printesc (819);
	  break;
	case 2: 
	  F20_printesc (820);
	  break;
	case 3: 
	  F20_printesc (821);
	  break;
	case 4: 
	  F20_printesc (822);
	  break;
	case 5: 
	  F20_printesc (823);
	  break;
	case 6: 
	  F20_printesc (824);
	  break;
	default: 
	  F20_printesc (825);
	  break;
      }
      break;
    case 14: 
      if (chrcode == 1)
	F20_printesc (874);
      else
	F20_printesc (873);
      break;
    case 26: 
      switch (chrcode)
      {
	case 4: 
	  F20_printesc (875);
	  break;
	case 0: 
	  F20_printesc (876);
	  break;
	case 1: 
	  F20_printesc (877);
	  break;
	case 2: 
	  F20_printesc (878);
	  break;
	default: 
	  F20_printesc (879);
	  break;
      }
      break;
    case 27: 
      switch (chrcode)
      {
	case 4: 
	  F20_printesc (880);
	  break;
	case 0: 
	  F20_printesc (881);
	  break;
	case 1: 
	  F20_printesc (882);
	  break;
	case 2: 
	  F20_printesc (883);
	  break;
	default: 
	  F20_printesc (884);
	  break;
      }
      break;
    case 28: 
      F20_printesc (205);
      break;
    case 29: 
      F20_printesc (209);
      break;
    case 30: 
      F20_printesc (211);
      break;
    case 21: 
      if (chrcode == 1)
	F20_printesc (902);
      else
	F20_printesc (903);
      break;
    case 22: 
      if (chrcode == 1)
	F20_printesc (904);
      else
	F20_printesc (905);
      break;
    case 20: 
      switch (chrcode)
      {
	case 0: 
	  F20_printesc (275);
	  break;
	case 1: 
	  F20_printesc (906);
	  break;
	case 2: 
	  F20_printesc (907);
	  break;
	case 3: 
	  F20_printesc (813);
	  break;
	case 4: 
	  F20_printesc (908);
	  break;
	case 5: 
	  F20_printesc (815);
	  break;
	default: 
	  F20_printesc (909);
	  break;
      }
      break;
    case 31: 
      if (chrcode == 100)
	F20_printesc (911);
      else
	if (chrcode == 101)
	  F20_printesc (912);
	else
	  if (chrcode == 102)
	    F20_printesc (913);
	  else
	    F20_printesc (910);
      break;
    case 43: 
      if (chrcode == 0)
	F20_printesc (929);
      else
	F20_printesc (928);
      break;
    case 25: 
      if (chrcode == 10)
	F20_printesc (940);
      else
	if (chrcode == 11)
	  F20_printesc (939);
	else
	  F20_printesc (938);
      break;
    case 23: 
      if (chrcode == 1)
	F20_printesc (942);
      else
	F20_printesc (941);
      break;
    case 24: 
      if (chrcode == 1)
	F20_printesc (944);
      else
	F20_printesc (943);
      break;
    case 47: 
      if (chrcode == 1)
	F20_printesc (45);
      else
	F20_printesc (218);
      break;
    case 48: 
      if (chrcode == 1)
	F20_printesc (976);
      else
	F20_printesc (975);
      break;
    case 50: 
      switch (chrcode)
      {
	case 16: 
	  F20_printesc (719);
	  break;
	case 17: 
	  F20_printesc (720);
	  break;
	case 18: 
	  F20_printesc (721);
	  break;
	case 19: 
	  F20_printesc (722);
	  break;
	case 20: 
	  F20_printesc (723);
	  break;
	case 21: 
	  F20_printesc (724);
	  break;
	case 22: 
	  F20_printesc (725);
	  break;
	case 23: 
	  F20_printesc (726);
	  break;
	case 26: 
	  F20_printesc (728);
	  break;
	default: 
	  F20_printesc (727);
	  break;
      }
      break;
    case 51: 
      if (chrcode == 1)
	F20_printesc (731);
      else
	if (chrcode == 2)
	  F20_printesc (732);
	else
	  F20_printesc (977);
      break;
    case 53: 
      F103_printstyle (chrcode);
      break;
    case 52: 
      switch (chrcode)
      {
	case 1: 
	  F20_printesc (996);
	  break;
	case 2: 
	  F20_printesc (997);
	  break;
	case 3: 
	  F20_printesc (998);
	  break;
	case 4: 
	  F20_printesc (999);
	  break;
	case 5: 
	  F20_printesc (1000);
	  break;
	default: 
	  F20_printesc (995);
	  break;
      }
      break;
    case 49: 
      if (chrcode == 30)
	F20_printesc (729);
      else
	F20_printesc (730);
      break;
    case 92: 
      if (chrcode == 1)
	F20_printesc (1019);
      else
	if (chrcode == 2)
	  F20_printesc (1020);
	else
	  F20_printesc (1021);
      break;
    case 96: 
      if (chrcode == 0)
	F20_printesc (1022);
      else
	if (chrcode == 1)
	  F20_printesc (1023);
	else
	  if (chrcode == 2)
	    F20_printesc (1024);
	  else
	    F20_printesc (1025);
      break;
    case 93: 
      if (chrcode != 0)
	F20_printesc (1040);
      else
	F20_printesc (1039);
      break;
    case 94: 
      switch (chrcode)
      {
	case 0: 
	  F20_printesc (1041);
	  break;
	case 1: 
	  F20_printesc (1042);
	  break;
	case 2: 
	  F20_printesc (1043);
	  break;
	case 3: 
	  F20_printesc (1044);
	  break;
	case 4: 
	  F20_printesc (1045);
	  break;
	case 5: 
	  F20_printesc (1046);
	  break;
	default: 
	  F20_printesc (1047);
	  break;
      }
      break;
    case 67: 
      {
	F20_printesc (373);
	F59_printhex ((long)chrcode);
      }
      break;
    case 68: 
      {
	F20_printesc (384);
	F59_printhex ((long)chrcode);
      }
      break;
    case 84: 
      switch (chrcode)
      {
	case 4627 : F20_printesc (281);
		    break;
	case 5139 : F20_printesc (285);
		    break;
	case 4755 : F20_printesc (282);
		    break;
	case 4883 : F20_printesc (283);
		    break;
	case 5011 : F20_printesc (284);
		    break;
	default : F20_printesc (338);
		  break;
      }
      break;
    case 85: 
      F26_printsize (chrcode - 4579);
      break;
    case 98: 
      if (chrcode == 1)
	F20_printesc (803);
      else
	F20_printesc (793);
      break;
    case 77: 
      if (chrcode == 0)
	F20_printesc (1063);
      else
	F20_printesc (1064);
      break;
    case 86: 
      F17_print (1072);
      F17_print (fontname[chrcode]);
      if (fontsize[chrcode] != fontdsize[chrcode])
      {
	F17_print (598);
	F67_printscaled (fontsize[chrcode]);
	F17_print (263);
      }
      break;
    case 99: 
      switch (chrcode)
      {
	case 0: 
	  F20_printesc (144);
	  break;
	case 1: 
	  F20_printesc (145);
	  break;
	case 2: 
	  F20_printesc (146);
	  break;
	default: 
	  F20_printesc (1073);
	  break;
      }
      break;
    case 60: 
      if (chrcode == 0)
	F20_printesc (1075);
      else
	F20_printesc (1074);
      break;
    case 58: 
      if (chrcode == 0)
	F20_printesc (1076);
      else
	F20_printesc (1077);
      break;
    case 57: 
      if (chrcode == 4755)
	F20_printesc (1083);
      else
	F20_printesc (1084);
      break;
    case 19: 
      switch (chrcode)
      {
	case 1: 
	  F20_printesc (1086);
	  break;
	case 2: 
	  F20_printesc (1087);
	  break;
	case 3: 
	  F20_printesc (1088);
	  break;
	default: 
	  F20_printesc (1085);
	  break;
      }
      break;
    case 100: 
      F17_print (1095);
      break;
    case 110: 
      F17_print (1096);
      break;
    case 111: 
      F20_printesc (1097);
      break;
    case 112: 
      F20_printesc (1098);
      break;
    case 113: 
      F20_printesc (1019);
      F20_printesc (1098);
      break;
    case 114: 
      F20_printesc (1099);
      break;
    case 59: 
      switch (chrcode)
      {
	case 0: 
	  F20_printesc (1129);
	  break;
	case 1: 
	  F20_printesc (453);
	  break;
	case 2: 
	  F20_printesc (1130);
	  break;
	case 3: 
	  F20_printesc (1131);
	  break;
	case 4: 
	  F20_printesc (1132);
	  break;
	default: 
	  F17_print (1133);
	  break;
      }
      break;
    default: 
      F17_print (426);
      break;
  }
}
