OSDN Git Service

clean codes of tex0.c
authormaqiyuan <maqiyuan@users.sourceforge.jp>
Sat, 8 Feb 2014 08:33:11 +0000 (16:33 +0800)
committermaqiyuan <maqiyuan@users.sourceforge.jp>
Sat, 8 Feb 2014 08:33:11 +0000 (16:33 +0800)
13 files changed:
src/texsourc/itex.c
src/texsourc/local.c
src/texsourc/tex0.c
src/texsourc/tex1.c
src/texsourc/tex2.c
src/texsourc/tex3.c
src/texsourc/tex4.c
src/texsourc/tex5.c
src/texsourc/tex6.c
src/texsourc/tex7.c
src/texsourc/tex8.c
src/texsourc/tex9.c
src/texsourc/texd.h

index cdc9e4e..34ee8c8 100644 (file)
@@ -283,32 +283,28 @@ if (!non_ascii) {
        ;
 /* darn, need to know mem_top, mem_max etc for the following ... */
 #ifdef DEBUG
-  wasmemend = mem_min; 
-/*  waslomax = mem_min;  */
-  waslomax = mem_bot; 
-/*  washimin = mem_max; */
-  washimin = mem_top; 
+  was_mem_end = mem_min; 
+/*  was_lo_max = mem_min;  */
+  was_lo_max = mem_bot; 
+/*  was_hi_min = mem_max; */
+  was_hi_min = mem_top; 
   panicking = false; 
 #endif /* DEBUG */
   nest_ptr = 0; 
   max_nest_stack = 0; 
   mode = 1; 
-  head = mem_top - 1
-  tail = mem_top - 1
+  head = contrib_head
+  tail = contrib_head
   cur_list.aux_field.cint = ignore_depth; 
-  mode_line = 0; 
-/* *********************************************************************** */
-/*  cur_list .lhmfield = 0; */ /* removed in 3.14159 */
-/*  cur_list .rhmfield = 0; */ /* removed in 3.14159 */
-/* *********************************************************************** */
+  mode_line = 0;
   prev_graf = 0; 
   shown_mode = 0; 
   page_contents = 0; 
-  page_tail = mem_top - 2
+  page_tail = page_head
 #ifdef ALLOCATEMAIN
   if (is_initex)                       /* in iniTeX we did already allocate mem [] */
 #endif
-         mem[mem_top - 2].hh.v.RH = 0; 
+         mem[page_head].hh.v.RH = 0; 
 /*  last_glue = 262143L;  */ /* NO! */
   last_glue = empty_flag; 
   last_penalty = 0; 
@@ -459,28 +455,28 @@ if (!non_ascii) {
 
 #ifdef ALLOCATEMAIN
 void initialize_aux (void)
-{/* ??? */
+{
 #ifdef DEBUG
-  wasmemend = mem_min; 
-/*  waslomax = mem_min; */
-  waslomax = mem_bot; 
-/*  washimin = mem_max;  */
-  washimin = mem_top; 
+  was_mem_end = mem_min; 
+/*  was_lo_max = mem_min; */
+  was_lo_max = mem_bot; 
+/*  was_hi_min = mem_max;  */
+  was_hi_min = mem_top; 
   panicking = false; 
 #endif /* DEBUG */
 /*  nest_ptr = 0; */
 /*  max_nest_stack = 0; */
   mode = 1; 
-  head = mem_top - 1
-  tail = mem_top - 1
+  head = contrib_head
+  tail = contrib_head
   cur_list.aux_field.cint = ignore_depth; 
   mode_line = 0; 
   prev_graf = 0; 
 /*  shown_mode = 0;  */
 /*  page_contents = 0;  */
-  page_tail = mem_top - 2
+  page_tail = page_head
   //mem[mem_top - 2].hh.v.RH = 0;
-  link(mem_top-2) = 0;
+  link(page_head) = 0;
 }
 #endif // end of ifdef ALLOCATEMAIN
 
@@ -497,7 +493,7 @@ void line_break_ (integer finalwidowpenalty)
 
 /*  savedbadness = 0; */                               /* 96/Feb/9 */
   pack_begin_line = mode_line; 
-  mem[mem_top - 3].hh.v.RH = link(head); 
+  mem[temp_head].hh.v.RH = link(head); 
   if((tail >= hi_mem_min)) 
   {
     link(tail) = new_penalty(10000); 
@@ -643,11 +639,11 @@ void line_break_ (integer finalwidowpenalty)
     q = get_node(3); 
     mem[q].hh.b0 = 0; 
     mem[q].hh.b1 = 2; 
-    mem[q].hh.v.RH = mem_top - 7
+    mem[q].hh.v.RH = active
     mem[q + 1].hh.v.RH = 0; 
     mem[q + 1].hh.v.LH = prev_graf + 1; 
     mem[q + 2].cint = 0; 
-    mem[mem_top - 7].hh.v.RH = q; 
+    mem[active].hh.v.RH = q; 
     active_width[1] = background[1]; 
     active_width[2] = background[2]; 
     active_width[3] = background[3]; 
@@ -656,14 +652,14 @@ void line_break_ (integer finalwidowpenalty)
     active_width[6] = background[6]; 
 /*     passive:=null; printed_node:=temp_head; pass_number:=0; */
     passive = 0; 
-    printed_node = mem_top - 3
+    printed_node = temp_head
     pass_number = 0; 
     font_in_short_display = 0; 
-    cur_p = mem[mem_top - 3].hh.v.RH; 
+    cur_p = mem[temp_head].hh.v.RH; 
     autobreaking = true; 
     prevp = cur_p; 
 /*  while (cur_p<>null)and(link(active)<>last_active) do */
-    while((cur_p != 0)&&(mem[mem_top - 7].hh.v.RH != mem_top - 7)) 
+    while((cur_p != 0)&&(mem[active].hh.v.RH != active)) 
     {
       if((cur_p >= hi_mem_min)) 
       {
@@ -999,9 +995,9 @@ void line_break_ (integer finalwidowpenalty)
     if(cur_p == 0)
     {
       try_break(-10000, 1); 
-      if(mem[mem_top - 7].hh.v.RH != mem_top - 7)
+      if(mem[active].hh.v.RH != active)
       {
-       r = mem[mem_top - 7].hh.v.RH; 
+       r = mem[active].hh.v.RH; 
        fewest_demerits = 1073741823L; /* 2^30 - 1 */
        do {
            if(mem[r].hh.b0 != 2)
@@ -1011,7 +1007,7 @@ void line_break_ (integer finalwidowpenalty)
            best_bet = r; 
          } 
          r = mem[r].hh.v.RH; 
-       } while(!(r == mem_top - 7)); 
+       } while(!(r == active)); 
        best_line = mem[best_bet + 1].hh.v.LH; 
 /*  if looseness=0 then goto done; */
        if(eqtb[(hash_size + 3182)].cint == 0){
@@ -1022,7 +1018,7 @@ void line_break_ (integer finalwidowpenalty)
        }
        {
 /* r:=link(active); actual_looseness:=0; */
-         r = mem[mem_top - 7].hh.v.RH; 
+         r = mem[active].hh.v.RH; 
          actual_looseness = 0; 
          do {
              if(mem[r].hh.b0 != 2)
@@ -1049,7 +1045,7 @@ void line_break_ (integer finalwidowpenalty)
              } 
            } 
            r = mem[r].hh.v.RH; 
-         } while(!(r == mem_top - 7)); 
+         } while(!(r == active)); 
          best_line = mem[best_bet + 1].hh.v.LH; 
        } 
 /*  if (actual_looseness=looseness)or final_pass then goto done; */
@@ -1062,8 +1058,8 @@ void line_break_ (integer finalwidowpenalty)
        }
       } 
     } 
-    q = mem[mem_top - 7].hh.v.RH; 
-    while(q != mem_top - 7){
+    q = mem[active].hh.v.RH; 
+    while(q != active){
       cur_p = mem[q].hh.v.RH; 
       if(mem[q].hh.b0 == 2)
       free_node(q, 7); 
@@ -1124,8 +1120,8 @@ void line_break_ (integer finalwidowpenalty)
   } 
 #endif /* STAT */
   post_line_break(finalwidowpenalty); 
-  q = mem[mem_top - 7].hh.v.RH; 
-  while(q != mem_top - 7){
+  q = mem[active].hh.v.RH; 
+  while(q != active){
     cur_p = mem[q].hh.v.RH; 
     if(mem[q].hh.b0 == 2)
     free_node(q, 7); 
@@ -2746,23 +2742,23 @@ void do_initex (void)
   } 
 /* info(omit_template) <- end_template_token; p.790 */
 /* @d end_template_token==cs_token_flag+frozen_end_template */
-/*  mem[mem_top - 10].hh.v.LH = 14114;  */
-/*  mem[mem_top - 10].hh.v.LH = 10019 + 4095; */  /* + eqtbextra ? NO */
-/*  mem[mem_top - 10].hh.v.LH = (hash_size + 4614); */
-/*  mem[mem_top - 10].hh.v.LH = (hash_size + 4095 + 519); */
-  mem[mem_top - 10].hh.v.LH = (hash_size + hash_extra + 4095 + 519); 
+/*  mem[omit_template].hh.v.LH = 14114;  */
+/*  mem[omit_template].hh.v.LH = 10019 + 4095; */  /* + eqtbextra ? NO */
+/*  mem[omit_template].hh.v.LH = (hash_size + 4614); */
+/*  mem[omit_template].hh.v.LH = (hash_size + 4095 + 519); */
+  mem[omit_template].hh.v.LH = (hash_size + hash_extra + 4095 + 519); 
 /* link(end_span) <- max_quarterword + 1 p.797 */
-/*  mem[mem_top - 9].hh.v.RH = 256;  */                        /* 94/Apr/4 ? */
-  mem[mem_top - 9].hh.v.RH = max_quarterword + 1;   /* 96/Oct/12 ??? */
+/*  mem[end_span].hh.v.RH = 256;  */                   /* 94/Apr/4 ? */
+  mem[end_span].hh.v.RH = max_quarterword + 1;   /* 96/Oct/12 ??? */
 /* info(end_span) <- null p.797 */
-  mem[mem_top - 9].hh.v.LH = 0; 
+  mem[end_span].hh.v.LH = 0; 
 /* type(last_active) <- hyphenated; p.820 */
-  mem[mem_top - 7].hh.b0 = 1; 
+  mem[active].hh.b0 = 1; 
 /* line_number(last_active) <- max_halfword; p.820 */
 /*  mem[mem_top - 6].hh.v.LH = 262143L;  */
   mem[mem_top - 6].hh.v.LH = empty_flag;       /* max_halfword ? */
 /* subtype(last_active) <- 0; p.820 */
-  mem[mem_top - 7].hh.b1 = 0; 
+  mem[active].hh.b1 = 0; 
 /* subtype(page_ins_head) <- 255; p.981 */
   mem[mem_top].hh.b1 = 255;    /* subtype(page_ins_head) = qi(255)  p.981 */ 
 /* type(page_ins_head) <- split_up; p.981 */
@@ -2770,9 +2766,9 @@ void do_initex (void)
 /* link(page_ins_head) <- page_ins_head; p.981 */
   mem[mem_top].hh.v.RH = mem_top; 
 /* type(page_head) <- glue_node; p. 988 */
-  mem[mem_top - 2].hh.b0 = 10; 
+  mem[page_head].hh.b0 = 10; 
 /* subtype(page_head) <- normal; p. 988 */
-  mem[mem_top - 2].hh.b1 = 0; 
+  mem[page_head].hh.b1 = 0; 
   avail = 0;                                                   /* avail <- null p.164 */
   mem_end = mem_top;                                           /* mem_end <- mem_top */
   hi_mem_min = mem_top - 13;                           /* hi_mem_min <- hi_mem_stat_min */
@@ -3661,7 +3657,7 @@ void new_patterns (void)
     print_esc("patterns");
        help1("All patterns must be given before typesetting begins.");
     error (); 
-    mem[mem_top - 12].hh.v.RH = scan_toks(false, false); 
+    mem[lig_trick].hh.v.RH = scan_toks(false, false); 
     flush_list(def_ref); 
   } 
 } 
@@ -4130,239 +4126,239 @@ void store_fmt_file (void)
 #ifdef INITEX
 void init_prim (void) 
 { 
-  no_new_control_sequence = false; 
-  primitive(373, 75, (hash_size + 782)); /* lineskip */
-  primitive(374, 75, (hash_size + 783)); /* baselineskip */
-  primitive(375, 75, (hash_size + 784)); /* parskip */
-  primitive(376, 75, (hash_size + 785)); /* abovedisplayskip */
-  primitive(377, 75, (hash_size + 786)); /* belowdisplayskip */
-  primitive(378, 75, (hash_size + 787)); /* abovedisplayshortskip */
-  primitive(379, 75, (hash_size + 788)); /* belowdisplayshortskip */
-  primitive(380, 75, (hash_size + 789)); /* leftskip */
-  primitive(381, 75, (hash_size + 790)); /* rightskip */
-  primitive(382, 75, (hash_size + 791)); /* topskip */
-  primitive(383, 75, (hash_size + 792)); /* splittopskip */
-  primitive(384, 75, (hash_size + 793)); /* tabskip */
-  primitive(385, 75, (hash_size + 794)); /* spaceskip */
-  primitive(386, 75, (hash_size + 795)); /* xspaceskip */
-  primitive(387, 75, (hash_size + 796)); /* parfillskip */
-  primitive(388, 76, (hash_size + 797)); /* thinmuskip */
-  primitive(389, 76, (hash_size + 798)); /* medmuskip */
-  primitive(390, 76, (hash_size + 799)); /* thickmuskip */
-  primitive(395, 72, (hash_size + 1313)); /* output */
-  primitive(396, 72, (hash_size + 1314)); /* everypar */
-  primitive(397, 72, (hash_size + 1315)); /* everymath */
-  primitive(398, 72, (hash_size + 1316)); /* everydisplay */
-  primitive(399, 72, (hash_size + 1317)); /* everyhbox */
-  primitive(400, 72, (hash_size + 1318)); /* everyvbox */
-  primitive(401, 72, (hash_size + 1319)); /* everyjob */
-  primitive(402, 72, (hash_size + 1320)); /* everycr */
-  primitive(403, 72, (hash_size + 1321)); /* errhelp */
-  primitive(417, 73, (hash_size + 3163)); /* pretolerance */
-  primitive(418, 73, (hash_size + 3164)); /* tolerance */
-  primitive(419, 73, (hash_size + 3165)); /* linepenalty */
-  primitive(420, 73, (hash_size + 3166)); /* hyphenpenalty */
-  primitive(421, 73, (hash_size + 3167)); /* exhyphenpenalty */
-  primitive(422, 73, (hash_size + 3168)); /* clubpenalty */
-  primitive(423, 73, (hash_size + 3169)); /* widowpenalty */
-  primitive(424, 73, (hash_size + 3170)); /* displaywidowpenalty */
-  primitive(425, 73, (hash_size + 3171)); /* brokenpenalty */
-  primitive(426, 73, (hash_size + 3172)); /* binoppenalty */
-  primitive(427, 73, (hash_size + 3173)); /* relpenalty */
-  primitive(428, 73, (hash_size + 3174)); /* predisplaypenalty */
-  primitive(429, 73, (hash_size + 3175)); /* postdisplaypenalty */
-  primitive(430, 73, (hash_size + 3176)); /* interlinepenalty */
-  primitive(431, 73, (hash_size + 3177)); /* doublehyphendemerits */
-  primitive(432, 73, (hash_size + 3178)); /* finalhyphendemerits */
-  primitive(433, 73, (hash_size + 3179)); /* adjdemerits */
-  primitive(434, 73, (hash_size + 3180)); /* mag */
-  primitive(435, 73, (hash_size + 3181)); /* delimiterfactor */
-  primitive(436, 73, (hash_size + 3182)); /* looseness */
-  primitive(437, 73, (hash_size + 3183)); /* time */
-  primitive(438, 73, (hash_size + 3184)); /* day */
-  primitive(439, 73, (hash_size + 3185)); /* month */
-  primitive(440, 73, (hash_size + 3186)); /* year */
-  primitive(441, 73, (hash_size + 3187)); /* showboxbreadth */
-  primitive(442, 73, (hash_size + 3188)); /* showboxdepth */
-  primitive(443, 73, (hash_size + 3189)); /* hbadness */
-  primitive(444, 73, (hash_size + 3190)); /* vbadness */
-  primitive(445, 73, (hash_size + 3191)); /* pausing */
-  primitive(446, 73, (hash_size + 3192)); /* tracingonline */
-  primitive(447, 73, (hash_size + 3193)); /* tracingmacros */
-  primitive(448, 73, (hash_size + 3194)); /* tracingstats */
-  primitive(449, 73, (hash_size + 3195)); /* tracingparagraphs */
-  primitive(450, 73, (hash_size + 3196)); /* tracingpages */
-  primitive(451, 73, (hash_size + 3197)); /* tracingoutput */
-  primitive(452, 73, (hash_size + 3198)); /* tracinglostchars */
-  primitive(453, 73, (hash_size + 3199)); /* tracingcommands */
-  primitive(454, 73, (hash_size + 3200)); /* tracingrestores */
-  primitive(455, 73, (hash_size + 3201)); /* uchyph */
-  primitive(456, 73, (hash_size + 3202)); /* outputpenalty */
-  primitive(457, 73, (hash_size + 3203)); /* maxdeadcycles */
-  primitive(458, 73, (hash_size + 3204)); /* hangafter */
-  primitive(459, 73, (hash_size + 3205)); /* floatingpenalty */
-  primitive(460, 73, (hash_size + 3206)); /* globaldefs */
-  primitive(461, 73, (hash_size + 3207)); /* fam */
-  primitive(462, 73, (hash_size + 3208)); /* escapechar */
-  primitive(463, 73, (hash_size + 3209)); /* defaulthyphenchar */
-  primitive(464, 73, (hash_size + 3210)); /* defaultskewchar */
-  primitive(465, 73, (hash_size + 3211)); /* endlinechar */
-  primitive(466, 73, (hash_size + 3212)); /* newlinechar */
-  primitive(467, 73, (hash_size + 3213)); /* language */
-  primitive(468, 73, (hash_size + 3214)); /* lefthyphenmin */
-  primitive(469, 73, (hash_size + 3215)); /* righthyphenmin */
-  primitive(470, 73, (hash_size + 3216)); /* holdinginserts */
-  primitive(471, 73, (hash_size + 3217)); /* errorcontextlines */
-  primitive(475, 74, (hash_size + 3730)); /* parindent */
-  primitive(476, 74, (hash_size + 3731)); /* mathsurround */
-  primitive(477, 74, (hash_size + 3732)); /* lineskiplimit */
-  primitive(478, 74, (hash_size + 3733)); /* hsize */
-  primitive(479, 74, (hash_size + 3734)); /* vsize */
-  primitive(480, 74, (hash_size + 3735)); /* maxdepth */
-  primitive(481, 74, (hash_size + 3736)); /* splitmaxdepth */
-  primitive(482, 74, (hash_size + 3737)); /* boxmaxdepth */
-  primitive(483, 74, (hash_size + 3738)); /* hfuzz */
-  primitive(484, 74, (hash_size + 3739)); /* vfuzz */
-  primitive(485, 74, (hash_size + 3740)); /* delimitershortfall */
-  primitive(486, 74, (hash_size + 3741)); /* nulldelimiterspace */
-  primitive(487, 74, (hash_size + 3742)); /* scriptspace */
-  primitive(488, 74, (hash_size + 3743)); /* predisplaysize */
-  primitive(489, 74, (hash_size + 3744)); /* displaywidth */
-  primitive(490, 74, (hash_size + 3745)); /* displayindent */
-  primitive(491, 74, (hash_size + 3746)); /* overfullrule */
-  primitive(492, 74, (hash_size + 3747)); /* hangindent */
-  primitive(493, 74, (hash_size + 3748)); /* hoffset */
-  primitive(494, 74, (hash_size + 3749)); /* voffset */
-  primitive(495, 74, (hash_size + 3750));      /* emergencystretch */
-  primitive(32, 64, 0);        /*   */
-  primitive(47, 44, 0);        /* / */
-  primitive(505, 45, 0);       /* accent */
-  primitive(506, 90, 0);       /* advance */
-  primitive(507, 40, 0);       /* afterassignment */
-  primitive(508, 41, 0);       /* aftergroup */
-  primitive(509, 61, 0);       /* begingroup */
-  primitive(510, 16, 0);       /* char */
-  primitive(501, 107, 0);              /* csname */
-  primitive(511, 15, 0);       /* delimiter */
-  primitive(512, 92, 0);       /* divide */
-  primitive(502, 67, 0);       /* endcsname */
-  primitive(513, 62, 0);       /* endgroup */
+  no_new_control_sequence = false;
+  primitive(373, assign_glue, (hash_size + 782)); /* lineskip */
+  primitive(374, assign_glue, (hash_size + 783)); /* baselineskip */
+  primitive(375, assign_glue, (hash_size + 784)); /* parskip */
+  primitive(376, assign_glue, (hash_size + 785)); /* abovedisplayskip */
+  primitive(377, assign_glue, (hash_size + 786)); /* belowdisplayskip */
+  primitive(378, assign_glue, (hash_size + 787)); /* abovedisplayshortskip */
+  primitive(379, assign_glue, (hash_size + 788)); /* belowdisplayshortskip */
+  primitive(380, assign_glue, (hash_size + 789)); /* leftskip */
+  primitive(381, assign_glue, (hash_size + 790)); /* rightskip */
+  primitive(382, assign_glue, (hash_size + 791)); /* topskip */
+  primitive(383, assign_glue, (hash_size + 792)); /* splittopskip */
+  primitive(384, assign_glue, (hash_size + 793)); /* tabskip */
+  primitive(385, assign_glue, (hash_size + 794)); /* spaceskip */
+  primitive(386, assign_glue, (hash_size + 795)); /* xspaceskip */
+  primitive(387, assign_glue, (hash_size + 796)); /* parfillskip */
+  primitive(388, assign_mu_glue, (hash_size + 797)); /* thinmuskip */
+  primitive(389, assign_mu_glue, (hash_size + 798)); /* medmuskip */
+  primitive(390, assign_mu_glue, (hash_size + 799)); /* thickmuskip */
+  primitive(395, assign_toks, (hash_size + 1313)); /* output */
+  primitive(396, assign_toks, (hash_size + 1314)); /* everypar */
+  primitive(397, assign_toks, (hash_size + 1315)); /* everymath */
+  primitive(398, assign_toks, (hash_size + 1316)); /* everydisplay */
+  primitive(399, assign_toks, (hash_size + 1317)); /* everyhbox */
+  primitive(400, assign_toks, (hash_size + 1318)); /* everyvbox */
+  primitive(401, assign_toks, (hash_size + 1319)); /* everyjob */
+  primitive(402, assign_toks, (hash_size + 1320)); /* everycr */
+  primitive(403, assign_toks, (hash_size + 1321)); /* errhelp */
+  primitive(417, assign_int, (hash_size + 3163)); /* pretolerance */
+  primitive(418, assign_int, (hash_size + 3164)); /* tolerance */
+  primitive(419, assign_int, (hash_size + 3165)); /* linepenalty */
+  primitive(420, assign_int, (hash_size + 3166)); /* hyphenpenalty */
+  primitive(421, assign_int, (hash_size + 3167)); /* exhyphenpenalty */
+  primitive(422, assign_int, (hash_size + 3168)); /* clubpenalty */
+  primitive(423, assign_int, (hash_size + 3169)); /* widowpenalty */
+  primitive(424, assign_int, (hash_size + 3170)); /* displaywidowpenalty */
+  primitive(425, assign_int, (hash_size + 3171)); /* brokenpenalty */
+  primitive(426, assign_int, (hash_size + 3172)); /* binoppenalty */
+  primitive(427, assign_int, (hash_size + 3173)); /* relpenalty */
+  primitive(428, assign_int, (hash_size + 3174)); /* predisplaypenalty */
+  primitive(429, assign_int, (hash_size + 3175)); /* postdisplaypenalty */
+  primitive(430, assign_int, (hash_size + 3176)); /* interlinepenalty */
+  primitive(431, assign_int, (hash_size + 3177)); /* doublehyphendemerits */
+  primitive(432, assign_int, (hash_size + 3178)); /* finalhyphendemerits */
+  primitive(433, assign_int, (hash_size + 3179)); /* adjdemerits */
+  primitive(434, assign_int, (hash_size + 3180)); /* mag */
+  primitive(435, assign_int, (hash_size + 3181)); /* delimiterfactor */
+  primitive(436, assign_int, (hash_size + 3182)); /* looseness */
+  primitive(437, assign_int, (hash_size + 3183)); /* time */
+  primitive(438, assign_int, (hash_size + 3184)); /* day */
+  primitive(439, assign_int, (hash_size + 3185)); /* month */
+  primitive(440, assign_int, (hash_size + 3186)); /* year */
+  primitive(441, assign_int, (hash_size + 3187)); /* showboxbreadth */
+  primitive(442, assign_int, (hash_size + 3188)); /* showboxdepth */
+  primitive(443, assign_int, (hash_size + 3189)); /* hbadness */
+  primitive(444, assign_int, (hash_size + 3190)); /* vbadness */
+  primitive(445, assign_int, (hash_size + 3191)); /* pausing */
+  primitive(446, assign_int, (hash_size + 3192)); /* tracingonline */
+  primitive(447, assign_int, (hash_size + 3193)); /* tracingmacros */
+  primitive(448, assign_int, (hash_size + 3194)); /* tracingstats */
+  primitive(449, assign_int, (hash_size + 3195)); /* tracingparagraphs */
+  primitive(450, assign_int, (hash_size + 3196)); /* tracingpages */
+  primitive(451, assign_int, (hash_size + 3197)); /* tracingoutput */
+  primitive(452, assign_int, (hash_size + 3198)); /* tracinglostchars */
+  primitive(453, assign_int, (hash_size + 3199)); /* tracingcommands */
+  primitive(454, assign_int, (hash_size + 3200)); /* tracingrestores */
+  primitive(455, assign_int, (hash_size + 3201)); /* uchyph */
+  primitive(456, assign_int, (hash_size + 3202)); /* outputpenalty */
+  primitive(457, assign_int, (hash_size + 3203)); /* maxdeadcycles */
+  primitive(458, assign_int, (hash_size + 3204)); /* hangafter */
+  primitive(459, assign_int, (hash_size + 3205)); /* floatingpenalty */
+  primitive(460, assign_int, (hash_size + 3206)); /* globaldefs */
+  primitive(461, assign_int, (hash_size + 3207)); /* fam */
+  primitive(462, assign_int, (hash_size + 3208)); /* escapechar */
+  primitive(463, assign_int, (hash_size + 3209)); /* defaulthyphenchar */
+  primitive(464, assign_int, (hash_size + 3210)); /* defaultskewchar */
+  primitive(465, assign_int, (hash_size + 3211)); /* endlinechar */
+  primitive(466, assign_int, (hash_size + 3212)); /* newlinechar */
+  primitive(467, assign_int, (hash_size + 3213)); /* language */
+  primitive(468, assign_int, (hash_size + 3214)); /* lefthyphenmin */
+  primitive(469, assign_int, (hash_size + 3215)); /* righthyphenmin */
+  primitive(470, assign_int, (hash_size + 3216)); /* holdinginserts */
+  primitive(471, assign_int, (hash_size + 3217)); /* errorcontextlines */
+  primitive(475, assign_dimen, (hash_size + 3730)); /* parindent */
+  primitive(476, assign_dimen, (hash_size + 3731)); /* mathsurround */
+  primitive(477, assign_dimen, (hash_size + 3732)); /* lineskiplimit */
+  primitive(478, assign_dimen, (hash_size + 3733)); /* hsize */
+  primitive(479, assign_dimen, (hash_size + 3734)); /* vsize */
+  primitive(480, assign_dimen, (hash_size + 3735)); /* maxdepth */
+  primitive(481, assign_dimen, (hash_size + 3736)); /* splitmaxdepth */
+  primitive(482, assign_dimen, (hash_size + 3737)); /* boxmaxdepth */
+  primitive(483, assign_dimen, (hash_size + 3738)); /* hfuzz */
+  primitive(484, assign_dimen, (hash_size + 3739)); /* vfuzz */
+  primitive(485, assign_dimen, (hash_size + 3740)); /* delimitershortfall */
+  primitive(486, assign_dimen, (hash_size + 3741)); /* nulldelimiterspace */
+  primitive(487, assign_dimen, (hash_size + 3742)); /* scriptspace */
+  primitive(488, assign_dimen, (hash_size + 3743)); /* predisplaysize */
+  primitive(489, assign_dimen, (hash_size + 3744)); /* displaywidth */
+  primitive(490, assign_dimen, (hash_size + 3745)); /* displayindent */
+  primitive(491, assign_dimen, (hash_size + 3746)); /* overfullrule */
+  primitive(492, assign_dimen, (hash_size + 3747)); /* hangindent */
+  primitive(493, assign_dimen, (hash_size + 3748)); /* hoffset */
+  primitive(494, assign_dimen, (hash_size + 3749)); /* voffset */
+  primitive(495, assign_dimen, (hash_size + 3750));    /* emergencystretch */
+  primitive(32, ex_space, 0);  /*   */
+  primitive(47, ital_corr, 0); /* / */
+  primitive(505, accent, 0);   /* accent */
+  primitive(506, advance, 0);  /* advance */
+  primitive(507, after_assignment, 0); /* afterassignment */
+  primitive(508, after_group, 0);      /* aftergroup */
+  primitive(509, begin_group, 0);      /* begingroup */
+  primitive(510, char_num, 0); /* char */
+  primitive(501, cs_name, 0);          /* csname */
+  primitive(511, delim_num, 0);        /* delimiter */
+  primitive(512, divide, 0);   /* divide */
+  primitive(502, end_cs_name, 0);      /* endcsname */
+  primitive(513, end_group, 0);        /* endgroup */
 /*  hash[(hash_size + 516)].v.RH = 513; */     
   hash[(hash_size + hash_extra + 516)].v.RH = 513;     /* endgroup */
 /*  eqtb[(hash_size + 516)]= eqtb[cur_val]; */
   eqtb[(hash_size + hash_extra + 516)]= eqtb[cur_val]; 
-  primitive(514, 102, 0);              /* expandafter */
-  primitive(515, 88, 0);       /* font */
-  primitive(516, 77, 0);       /* fontdimen */
-  primitive(517, 32, 0);       /* halign */
-  primitive(518, 36, 0);       /* hrule */
-  primitive(519, 39, 0);       /* ignorespaces */
-  primitive(327, 37, 0); /* insert */
-  primitive(348, 18, 0); /* mark */
-  primitive(520, 46, 0);       /* mathaccent */
-  primitive(521, 17, 0);       /* mathchar */
-  primitive(522, 54, 0);       /* mathchoice */
-  primitive(523, 91, 0);       /* multiply */
-  primitive(524, 34, 0);       /* noalign */
-  primitive(525, 65, 0);       /* noboundary */
-  primitive(526, 103, 0);              /* noexpand */
-  primitive(332, 55, 0); /* nonscript */
-  primitive(527, 63, 0);       /* omit */
-  primitive(405, 84, 0);       /* parshape */
-  primitive(528, 42, 0);       /* penalty */
-  primitive(529, 80, 0);       /* prevgraf */
-  primitive(530, 66, 0);       /* radical */
-  primitive(531, 96, 0);       /* read */
-  primitive(532, 0, 256);              /* primitive("relax",relax,256); */
+  primitive(514, expand_after, 0);             /* expandafter */
+  primitive(515, def_font, 0); /* font */
+  primitive(516, assign_font_dimen, 0);        /* fontdimen */
+  primitive(517, halign, 0);   /* halign */
+  primitive(518, hrule, 0);    /* hrule */
+  primitive(519, ignore_spaces, 0);    /* ignorespaces */
+  primitive(327, insert, 0); /* insert */
+  primitive(348, mark, 0); /* mark */
+  primitive(520, math_accent, 0);      /* mathaccent */
+  primitive(521, math_char_num, 0);    /* mathchar */
+  primitive(522, math_choice, 0);      /* mathchoice */
+  primitive(523, multiply, 0); /* multiply */
+  primitive(524, no_align, 0); /* noalign */
+  primitive(525, no_boundary, 0);      /* noboundary */
+  primitive(526, no_expand, 0);                /* noexpand */
+  primitive(332, non_script, 0); /* nonscript */
+  primitive(527, omit, 0);     /* omit */
+  primitive(405, set_shape, 0);        /* parshape */
+  primitive(528, break_penalty, 0);    /* penalty */
+  primitive(529, set_prev_graf, 0);    /* prevgraf */
+  primitive(530, radical, 0);  /* radical */
+  primitive(531, read_to_cs, 0);       /* read */
+  primitive(532, relax, 256);          /* primitive("relax",relax,256); */
 /*  hash[(hash_size + 521)].v.RH = 532; */ 
   hash[(hash_size + hash_extra + 521)].v.RH = 532;  /* read */
 /*  eqtb[(hash_size + 521)]= eqtb[cur_val];  */
   eqtb[(hash_size + hash_extra + 521)]= eqtb[cur_val]; 
-  primitive(533, 98, 0);       /* setbox */
-  primitive(534, 109, 0);              /* the */
-  primitive(404, 71, 0);       /* toks */
-  primitive(349, 38, 0); /* vadjust */
-  primitive(535, 33, 0);       /* valign */
-  primitive(536, 56, 0);       /* vcenter */
-  primitive(537, 35, 0);       /* vrule */
-  primitive(594, 13, 256);     /* par */
+  primitive(533, set_box, 0);  /* setbox */
+  primitive(534, the, 0);              /* the */
+  primitive(404, toks_register, 0);    /* toks */
+  primitive(349, vadjust, 0); /* vadjust */
+  primitive(535, valign, 0);   /* valign */
+  primitive(536, vcenter, 0);  /* vcenter */
+  primitive(537, vrule, 0);    /* vrule */
+  primitive(594, par_end, 256);        /* par */
   par_loc = cur_val; 
   par_token = 4095 + par_loc; 
-  primitive(626, 104, 0);              /* input */
-  primitive(627, 104, 1);              /* endinput */
-  primitive(628, 110, 0);              /* topmark */
-  primitive(629, 110, 1);              /* firstmark */
-  primitive(630, 110, 2);              /* botmark */
-  primitive(631, 110, 3);              /* splitfirstmark */
-  primitive(632, 110, 4);              /* splitbotmark */
-  primitive(473, 89, 0);       /* count */
-  primitive(497, 89, 1);       /* dimen */
-  primitive(392, 89, 2);       /* skip */
-  primitive(393, 89, 3);       /* muskip */
-  primitive(665, 79, 102);     /* spacefactor */
-  primitive(666, 79, 1);       /* prevdepth */
-  primitive(667, 82, 0);       /* dead_cycles */
-  primitive(668, 82, 1);       /* insert_penalties */
-  primitive(669, 83, 1);       /* wd */
-  primitive(670, 83, 3);       /* ht */
-  primitive(671, 83, 2);       /* dp */
-  primitive(672, 70, 0);       /* last_penalty */
-  primitive(673, 70, 1);       /* last_kern */
-  primitive(674, 70, 2);       /* lastskip */
-  primitive(675, 70, 3);       /* inputlineno */
-  primitive(676, 70, 4);       /* badness */
-  primitive(732, 108, 0);              /* number */
-  primitive(733, 108, 1);              /* romannumeral */
-  primitive(734, 108, 2);              /* string */
-  primitive(735, 108, 3);              /* meaning */
-  primitive(736, 108, 4);              /* font_name */
-  primitive(737, 108, 5);              /* job_name */
-  primitive(753, 105, 0);              /* if */
-  primitive(754, 105, 1);              /* ifcat */
-  primitive(755, 105, 2);              /* ifnum */
-  primitive(756, 105, 3);              /* ifdim */
-  primitive(757, 105, 4);              /* ifodd */
-  primitive(758, 105, 5);              /* ifvmode */
-  primitive(759, 105, 6);              /* ifhmode */
-  primitive(760, 105, 7);              /* ifmmode */
-  primitive(761, 105, 8);              /* ifinner */
-  primitive(762, 105, 9);              /* ifvoid */
-  primitive(763, 105, 10);     /* ifhbox */
-  primitive(764, 105, 11);     /* ifvbox */
-  primitive(765, 105, 12);     /* ifx */
-  primitive(766, 105, 13);     /* ifeof */
-  primitive(767, 105, 14);     /* iftrue */
-  primitive(768, 105, 15);     /* iffalse */
-  primitive(769, 105, 16);     /* ifcase */
-  primitive(770, 106, 2);              /* fi */
+  primitive(626, input, 0);            /* input */
+  primitive(627, input, 1);            /* endinput */
+  primitive(628, top_bot_mark, 0);             /* topmark */
+  primitive(629, top_bot_mark, 1);             /* firstmark */
+  primitive(630, top_bot_mark, 2);             /* botmark */
+  primitive(631, top_bot_mark, 3);             /* splitfirstmark */
+  primitive(632, top_bot_mark, 4);             /* splitbotmark */
+  primitive(473, tex_register, 0);     /* count */
+  primitive(497, tex_register, 1);     /* dimen */
+  primitive(392, tex_register, 2);     /* skip */
+  primitive(393, tex_register, 3);     /* muskip */
+  primitive(665, set_aux, 102);        /* spacefactor */
+  primitive(666, set_aux, 1);  /* prevdepth */
+  primitive(667, set_page_int, 0);     /* dead_cycles */
+  primitive(668, set_page_int, 1);     /* insert_penalties */
+  primitive(669, set_box_dimen, 1);    /* wd */
+  primitive(670, set_box_dimen, 3);    /* ht */
+  primitive(671, set_box_dimen, 2);    /* dp */
+  primitive(672, last_item, 0);        /* last_penalty */
+  primitive(673, last_item, 1);        /* last_kern */
+  primitive(674, last_item, 2);        /* lastskip */
+  primitive(675, last_item, 3);        /* inputlineno */
+  primitive(676, last_item, 4);        /* badness */
+  primitive(732, convert, 0);          /* number */
+  primitive(733, convert, 1);          /* romannumeral */
+  primitive(734, convert, 2);          /* string */
+  primitive(735, convert, 3);          /* meaning */
+  primitive(736, convert, 4);          /* font_name */
+  primitive(737, convert, 5);          /* job_name */
+  primitive(753, if_test, 0);          /* if */
+  primitive(754, if_test, 1);          /* ifcat */
+  primitive(755, if_test, 2);          /* ifnum */
+  primitive(756, if_test, 3);          /* ifdim */
+  primitive(757, if_test, 4);          /* ifodd */
+  primitive(758, if_test, 5);          /* ifvmode */
+  primitive(759, if_test, 6);          /* ifhmode */
+  primitive(760, if_test, 7);          /* ifmmode */
+  primitive(761, if_test, 8);          /* ifinner */
+  primitive(762, if_test, 9);          /* ifvoid */
+  primitive(763, if_test, 10); /* ifhbox */
+  primitive(764, if_test, 11); /* ifvbox */
+  primitive(765, if_test, 12); /* ifx */
+  primitive(766, if_test, 13); /* ifeof */
+  primitive(767, if_test, 14); /* iftrue */
+  primitive(768, if_test, 15); /* iffalse */
+  primitive(769, if_test, 16); /* ifcase */
+  primitive(770, fi_or_else, 2);               /* fi */
 /*  hash[(hash_size + 518)].v.RH = 770; */ 
   hash[(hash_size + hash_extra + 518)].v.RH = 770;             /* fi */
 /*  eqtb[(hash_size + 518)]= eqtb[cur_val];  */
   eqtb[(hash_size + hash_extra + 518)]= eqtb[cur_val]; 
-  primitive(771, 106, 4);              /* or */
-  primitive(772, 106, 3);              /* else */
-  primitive(795, 87, 0);               /* nullfont */
+  primitive(771, fi_or_else, 4);               /* or */
+  primitive(772, fi_or_else, 3);               /* else */
+  primitive(795, set_font, 0);         /* nullfont */
 /*  hash[(hash_size + 524)].v.RH = 795; */     /* hash[frozen_null_font] */
   hash[(hash_size + hash_extra + 524)].v.RH = 795;     /* nullfont */
 /*  eqtb[(hash_size + 524)]= eqtb[cur_val];  */
   eqtb[(hash_size + hash_extra + 524)]= eqtb[cur_val]; 
-  primitive(892, 4, 256);              /* span */
+  primitive(892, tab_mark, 256);               /* span */
                  /* primitive("span",tab_mark,span_code); */
-  primitive(893, 5, 257);              /* cr */
+  primitive(893, car_ret, 257);                /* cr */
                  /* primitive("cr",car_ret,cr_code); */
 /*  hash[(hash_size + 515)].v.RH = 893; */     
   hash[(hash_size + hash_extra + 515)].v.RH = 893;             /* cr */
 /*  eqtb[(hash_size + 515)]= eqtb[cur_val];  */
   eqtb[(hash_size + hash_extra + 515)]= eqtb[cur_val]; 
-  primitive(894, 5, 258);                      /* cr cr */
+  primitive(894, car_ret, 258);                        /* cr cr */
 /*  hash[(hash_size + 519)].v.RH = 895;  */
   hash[(hash_size + hash_extra + 519)].v.RH = 895; /* endtemplate */
 /*  hash[(hash_size + 520)].v.RH = 895;  */
   hash[(hash_size + hash_extra + 520)].v.RH = 895; /* endtemplate */
 /*  eqtb[(hash_size + 520)].hh.b0 = 9;  */
   eqtb[(hash_size + hash_extra + 520)].hh.b0 = 9; 
-/*  eqtb[(hash_size + 520)].hh.v.RH = mem_top - 11;  */
-  eqtb[(hash_size + hash_extra + 520)].hh.v.RH = mem_top - 11
+/*  eqtb[(hash_size + 520)].hh.v.RH = null_list;  */
+  eqtb[(hash_size + hash_extra + 520)].hh.v.RH = null_list
 /*  eqtb[(hash_size + 520)].hh.b1 = 1;  */
   eqtb[(hash_size + hash_extra + 520)].hh.b1 = 1; 
 /*  eqtb[(hash_size + 519)]= eqtb[(hash_size + 520)];  */
@@ -4370,136 +4366,136 @@ void init_prim (void)
                eqtb[(hash_size + hash_extra + 520)]; 
 /*  eqtb[(hash_size + 519)].hh.b0 = 115;  */
   eqtb[(hash_size + hash_extra + 519)].hh.b0 = 115; 
-  primitive(964, 81, 0);       /* pagegoal */
-  primitive(965, 81, 1);       /* pagetotal */
-  primitive(966, 81, 2);       /* pagestretch */
-  primitive(967, 81, 3);       /* pagefilstretch */
-  primitive(968, 81, 4);       /* pagefillstretch */
-  primitive(969, 81, 5);       /* pagefilllstretch */
-  primitive(970, 81, 6);       /* pageshrink */
-  primitive(971, 81, 7);       /* pagedepth */
-  primitive(1019, 14, 0);              /* end */
-  primitive(1020, 14, 1);              /* dump */
-  primitive(1021, 26, 4);              /* hskip */
-  primitive(1022, 26, 0);              /* hfil */
-  primitive(1023, 26, 1);              /* hfill */
-  primitive(1024, 26, 2);              /* hss */
-  primitive(1025, 26, 3);              /* hfilneg */
-  primitive(1026, 27, 4);              /* vskip */
-  primitive(1027, 27, 0);              /* vfil */
-  primitive(1028, 27, 1);              /* vfill */
-  primitive(1029, 27, 2);              /* vss */
-  primitive(1030, 27, 3);              /* vfilneg */
-  primitive(333, 28, 5); /* mskip */
-  primitive(337, 29, 1); /* kern */
-  primitive(339, 30, 99); /* mkern */
-  primitive(1048, 21, 1);              /* moveleft */
-  primitive(1049, 21, 0);              /* moveright */
-  primitive(1050, 22, 1);              /* raise */
-  primitive(1051, 22, 0);              /* lower */
-  primitive(406, 20, 0);       /* box */
-  primitive(1052, 20, 1);              /* copy */
-  primitive(1053, 20, 2);              /* lastbox */
-  primitive(959, 20, 3);       /* vsplit */
-  primitive(1054, 20, 4);              /* vtop */
-  primitive(961, 20, 5);       /* vbox */
-  primitive(1055, 20, 106);    /* hbox */
-  primitive(1056, 31, 99);     /* ship_out */
-  primitive(1057, 31, 100);    /* leaders */
-  primitive(1058, 31, 101);    /* cleaders */
-  primitive(1059, 31, 102);    /* xleaders */
-  primitive(1074, 43, 1);              /* indent */
-  primitive(1075, 43, 0);              /* noindent */
-  primitive(1084, 25, 12);     /* unpenalty */
-  primitive(1085, 25, 11);     /* unkern */
-  primitive(1086, 25, 10);     /* unskip */
-  primitive(1087, 23, 0);              /* unhbox */
-  primitive(1088, 23, 1);              /* unhcopy */
-  primitive(1089, 24, 0);              /* unvbox */
-  primitive(1090, 24, 1);              /* unvcopy */
-  primitive(45, 47, 1);                /* - */
-  primitive(346, 47, 0); /* discretionary */
-  primitive(1121, 48, 0);              /* eqno */
-  primitive(1122, 48, 1);              /* leqno */
-  primitive(860, 50, 16);              /* mathord */
-  primitive(861, 50, 17); /* mathop */
-  primitive(862, 50, 18); /* mathbin */
-  primitive(863, 50, 19); /* mathrel */
-  primitive(864, 50, 20); /* mathopen */
-  primitive(865, 50, 21); /* mathclose */
-  primitive(866, 50, 22); /* mathpunct */
-  primitive(867, 50, 23); /* mathinner */
-  primitive(869, 50, 26); /* underline */
-  primitive(868, 50, 27); /* overline */
-  primitive(1123, 51, 0); /* displaylimits */
-  primitive(872, 51, 1); /* limits */
-  primitive(873, 51, 2); /* nolimits */
-  primitive(855, 53, 0); /* displaystyle */
-  primitive(856, 53, 2); /* textstyle */
-  primitive(857, 53, 4); /* scriptstyle */
-  primitive(858, 53, 6); /* scriptscriptstyle */
-  primitive(1141, 52, 0); /* above */
-  primitive(1142, 52, 1); /* over */
-  primitive(1143, 52, 2); /* atop */
-  primitive(1144, 52, 3); /* abovewithdelims */
-  primitive(1145, 52, 4); /* overwithdelims */
-  primitive(1146, 52, 5); /* atopwithdelims */
-  primitive(870, 49, 30); /* left */
-  primitive(871, 49, 31); /* right */
+  primitive(964, set_page_dimen, 0);   /* pagegoal */
+  primitive(965, set_page_dimen, 1);   /* pagetotal */
+  primitive(966, set_page_dimen, 2);   /* pagestretch */
+  primitive(967, set_page_dimen, 3);   /* pagefilstretch */
+  primitive(968, set_page_dimen, 4);   /* pagefillstretch */
+  primitive(969, set_page_dimen, 5);   /* pagefilllstretch */
+  primitive(970, set_page_dimen, 6);   /* pageshrink */
+  primitive(971, set_page_dimen, 7);   /* pagedepth */
+  primitive(1019, end_match, 0);               /* end */
+  primitive(1020, stop, 1);            /* dump */
+  primitive(1021, hskip, 4);           /* hskip */
+  primitive(1022, hskip, 0);           /* hfil */
+  primitive(1023, hskip, 1);           /* hfill */
+  primitive(1024, hskip, 2);           /* hss */
+  primitive(1025, hskip, 3);           /* hfilneg */
+  primitive(1026, vskip, 4);           /* vskip */
+  primitive(1027, vskip, 0);           /* vfil */
+  primitive(1028, vskip, 1);           /* vfill */
+  primitive(1029, vskip, 2);           /* vss */
+  primitive(1030, vskip, 3);           /* vfilneg */
+  primitive(333, mskip, 5); /* mskip */
+  primitive(337, kern, 1); /* kern */
+  primitive(339, mkern, 99); /* mkern */
+  primitive(1048, hmove, 1);           /* moveleft */
+  primitive(1049, hmove, 0);           /* moveright */
+  primitive(1050, vmove, 1);           /* raise */
+  primitive(1051, vmove, 0);           /* lower */
+  primitive(406, make_box, 0); /* box */
+  primitive(1052, make_box, 1);                /* copy */
+  primitive(1053, make_box, 2);                /* lastbox */
+  primitive(959, make_box, 3); /* vsplit */
+  primitive(1054, make_box, 4);                /* vtop */
+  primitive(961, make_box, 5); /* vbox */
+  primitive(1055, make_box, 106);      /* hbox */
+  primitive(1056, leader_ship, 99);    /* ship_out */
+  primitive(1057, leader_ship, 100);   /* leaders */
+  primitive(1058, leader_ship, 101);   /* cleaders */
+  primitive(1059, leader_ship, 102);   /* xleaders */
+  primitive(1074, start_par, 1);               /* indent */
+  primitive(1075, start_par, 0);               /* noindent */
+  primitive(1084, remove_item, 12);    /* unpenalty */
+  primitive(1085, remove_item, 11);    /* unkern */
+  primitive(1086, remove_item, 10);    /* unskip */
+  primitive(1087, un_hbox, 0);         /* unhbox */
+  primitive(1088, un_hbox, 1);         /* unhcopy */
+  primitive(1089, un_vbox, 0);         /* unvbox */
+  primitive(1090, un_vbox, 1);         /* unvcopy */
+  primitive(45, discretionary, 1);             /* - */
+  primitive(346, discretionary, 0); /* discretionary */
+  primitive(1121, eq_no, 0);           /* eqno */
+  primitive(1122, eq_no, 1);           /* leqno */
+  primitive(860, math_comp, 16);               /* mathord */
+  primitive(861, math_comp, 17); /* mathop */
+  primitive(862, math_comp, 18); /* mathbin */
+  primitive(863, math_comp, 19); /* mathrel */
+  primitive(864, math_comp, 20); /* mathopen */
+  primitive(865, math_comp, 21); /* mathclose */
+  primitive(866, math_comp, 22); /* mathpunct */
+  primitive(867, math_comp, 23); /* mathinner */
+  primitive(869, math_comp, 26); /* underline */
+  primitive(868, math_comp, 27); /* overline */
+  primitive(1123, limit_switch, 0); /* displaylimits */
+  primitive(872, limit_switch, 1); /* limits */
+  primitive(873, limit_switch, 2); /* nolimits */
+  primitive(855, math_style, 0); /* displaystyle */
+  primitive(856, math_style, 2); /* textstyle */
+  primitive(857, math_style, 4); /* scriptstyle */
+  primitive(858, math_style, 6); /* scriptscriptstyle */
+  primitive(1141, above, 0); /* above */
+  primitive(1142, above, 1); /* over */
+  primitive(1143, above, 2); /* atop */
+  primitive(1144, above, 3); /* abovewithdelims */
+  primitive(1145, above, 4); /* overwithdelims */
+  primitive(1146, above, 5); /* atopwithdelims */
+  primitive(870, left_right, 30); /* left */
+  primitive(871, left_right, 31); /* right */
 /*  hash[(hash_size + 517)].v.RH = 871;  */
   hash[(hash_size + hash_extra + 517)].v.RH = 871;             /* right */
 /*  eqtb[(hash_size + 517)]= eqtb[cur_val];  */
   eqtb[(hash_size + hash_extra + 517)]= eqtb[cur_val]; 
-  primitive(1165, 93, 1); /* long */
-  primitive(1166, 93, 2); /* outer */
-  primitive(1167, 93, 4); /* global */
-  primitive(1168, 97, 0); /* def */
-  primitive(1169, 97, 1); /* gdef */
-  primitive(1170, 97, 2); /* edef */
-  primitive(1171, 97, 3); /* xdef */
-  primitive(1185, 94, 0); /* let */
-  primitive(1186, 94, 1); /* futurelet */
-  primitive(1187, 95, 0); /* chardef */
-  primitive(1188, 95, 1); /* mathchardef */
-  primitive(1189, 95, 2); /* countdef */
-  primitive(1190, 95, 3); /* dimendef */
-  primitive(1191, 95, 4); /* skipdef */
-  primitive(1192, 95, 5); /* muskipdef */
-  primitive(1193, 95, 6); /* toksdef */
-  primitive(412, 85, (hash_size + 1883)); /* catcode */
-  primitive(416, 85, (hash_size + 2907)); /* mathcode */
-  primitive(413, 85, (hash_size + 2139)); /* lccode */
-  primitive(414, 85, (hash_size + 2395)); /* uccode */
-  primitive(415, 85, (hash_size + 2651)); /* sfcode */
-  primitive(474, 85, (hash_size + 3474)); /* delcode */
-  primitive(409, 86, (hash_size + 1835)); /* textfont */
-  primitive(410, 86, (hash_size + 1851)); /* scriptfont */
-  primitive(411, 86, (hash_size + 1867)); /* scriptscriptfont */
-  primitive(935, 99, 0); /* hyphenation */
-  primitive(947, 99, 1); /* patterns */
-  primitive(1211, 78, 0); /* hyphen_char */
-  primitive(1212, 78, 1); /* skew_char */
-  primitive(272, 100, 0); /* batchmode */
-  primitive(273, 100, 1); /* nonstopmode */
-  primitive(274, 100, 2); /* scrollmode */
-  primitive(1221, 100, 3); /* errorstopmode */
-  primitive(1222, 60, 1); /* openin */
-  primitive(1223, 60, 0); /* closein */
-  primitive(1224, 58, 0); /* message */
-  primitive(1225, 58, 1); /* errmessage */
-  primitive(1231, 57, (hash_size + 2139)); /* lowercase */
-  primitive(1232, 57, (hash_size + 2395)); /* uppercase */
-  primitive(1233, 19, 0); /* show */
-  primitive(1234, 19, 1); /* show_box */
-  primitive(1235, 19, 2); /* showthe */
-  primitive(1236, 19, 3); /* showlists */
-  primitive(1279, 59, 0); /* openout */
-  primitive(591, 59, 1); /* write */
+  primitive(1165, prefix, 1); /* long */
+  primitive(1166, prefix, 2); /* outer */
+  primitive(1167, prefix, 4); /* global */
+  primitive(1168, def, 0); /* def */
+  primitive(1169, def, 1); /* gdef */
+  primitive(1170, def, 2); /* edef */
+  primitive(1171, def, 3); /* xdef */
+  primitive(1185, let, 0); /* let */
+  primitive(1186, let, 1); /* futurelet */
+  primitive(1187, shorthand_def, 0); /* chardef */
+  primitive(1188, shorthand_def, 1); /* mathchardef */
+  primitive(1189, shorthand_def, 2); /* countdef */
+  primitive(1190, shorthand_def, 3); /* dimendef */
+  primitive(1191, shorthand_def, 4); /* skipdef */
+  primitive(1192, shorthand_def, 5); /* muskipdef */
+  primitive(1193, shorthand_def, 6); /* toksdef */
+  primitive(412, def_code, (hash_size + 1883)); /* catcode */
+  primitive(416, def_code, (hash_size + 2907)); /* mathcode */
+  primitive(413, def_code, (hash_size + 2139)); /* lccode */
+  primitive(414, def_code, (hash_size + 2395)); /* uccode */
+  primitive(415, def_code, (hash_size + 2651)); /* sfcode */
+  primitive(474, def_code, (hash_size + 3474)); /* delcode */
+  primitive(409, def_family, (hash_size + 1835)); /* textfont */
+  primitive(410, def_family, (hash_size + 1851)); /* scriptfont */
+  primitive(411, def_family, (hash_size + 1867)); /* scriptscriptfont */
+  primitive(935, hyph_data, 0); /* hyphenation */
+  primitive(947, hyph_data, 1); /* patterns */
+  primitive(1211, assign_font_int, 0); /* hyphen_char */
+  primitive(1212, assign_font_int, 1); /* skew_char */
+  primitive(272, set_interaction, 0); /* batchmode */
+  primitive(273, set_interaction, 1); /* nonstopmode */
+  primitive(274, set_interaction, 2); /* scrollmode */
+  primitive(1221, set_interaction, 3); /* errorstopmode */
+  primitive(1222, in_stream, 1); /* openin */
+  primitive(1223, in_stream, 0); /* closein */
+  primitive(1224, message, 0); /* message */
+  primitive(1225, message, 1); /* errmessage */
+  primitive(1231, case_shift, (hash_size + 2139)); /* lowercase */
+  primitive(1232, case_shift, (hash_size + 2395)); /* uppercase */
+  primitive(1233, xray, 0); /* show */
+  primitive(1234, xray, 1); /* show_box */
+  primitive(1235, xray, 2); /* showthe */
+  primitive(1236, xray, 3); /* showlists */
+  primitive(1279, extension, 0); /* openout */
+  primitive(591, extension, 1); /* write */
   write_loc = cur_val; 
-  primitive(1280, 59, 2);              /* closeout */
-  primitive(1281, 59, 3);              /* special */
-  primitive(1282, 59, 4);              /* immediate */
-  primitive(1283, 59, 5);              /* setlanguage */
+  primitive(1280, extension, 2);               /* closeout */
+  primitive(1281, extension, 3);               /* special */
+  primitive(1282, extension, 4);               /* immediate */
+  primitive(1283, extension, 5);               /* setlanguage */
   no_new_control_sequence = true; 
 } 
 #endif /* INITEX */
index cfe630a..c3760dd 100644 (file)
@@ -247,7 +247,7 @@ void stampcopy (char *s)
 #define MAXCHRS 256
 #define NOTDEF 127
 
-void read_xchr_sub (FILE *input)
+void read_xchr_sub (FILE *pinput)
 {
   char buffer[PATH_MAX];
   int k, from, to, count = 0;
@@ -256,18 +256,18 @@ void read_xchr_sub (FILE *input)
 #ifdef USEMEMSET
   memset (xchr, NOTDEF, MAXCHRS);           /* mark unused */
 #else
-  for (k = 0; k < MAXCHRS; k++) xchr[k]= -1;  */  /* mark unused */
+  for (k = 0; k < MAXCHRS; k++) xchr[k]= -1; /* mark unused */
 #endif
 #ifdef USEMEMSET
   memset (xord, NOTDEF, MAXCHRS);           /* mark unused */
 #else
-  for (k = 0; k < MAXCHRS; k++) xord[k]= -1;  */  /* mark unused */
+  for (k = 0; k < MAXCHRS; k++) xord[k]= -1;  /* mark unused */
 #endif
 
 #ifdef ALLOCATEBUFFER
-  while (fgets(buffer, current_buf_size, input) != NULL) 
+  while (fgets(buffer, current_buf_size, pinput) != NULL) 
 #else
-  while (fgets(buffer, sizeof(buffer), input) != NULL)
+  while (fgets(buffer, sizeof(buffer), pinput) != NULL)
 #endif
   {
     if (*buffer == '%' || *buffer == ';' || *buffer == '\n') continue;
@@ -316,7 +316,7 @@ void read_xchr_sub (FILE *input)
 
 char *replacement[MAXCHRS];     /* pointers to replacement strings */
 
-void read_repl_sub (FILE *input)
+void read_repl_sub (FILE *pinput)
 {
   int k, n, m, chrs;
   char buffer[PATH_MAX];
@@ -330,7 +330,7 @@ void read_repl_sub (FILE *input)
   for (k = 0; k < MAXCHRS; k++) replacement[k] = NULL; 
 #endif
 
-  while (fgets(buffer, PATH_MAX, input) != NULL) {
+  while (fgets(buffer, PATH_MAX, pinput) != NULL) {
     if (*buffer == '%' || *buffer == ';' || *buffer == '\n') continue;
     if ((m = sscanf (buffer, "%d%n %s", &chrs, &n, &charname)) == 0)
       continue; 
@@ -384,7 +384,7 @@ void read_repl_sub (FILE *input)
 
 int read_xchr_file (char *filename, int flag, char *argv[])
 {
-  FILE *input;
+  FILE *pinput;
   char infile[PATH_MAX];
   char *s;
 
@@ -400,9 +400,9 @@ int read_xchr_file (char *filename, int flag, char *argv[])
     sprintf(log_line, "Trying %s\n", infile);
     show_line(log_line, 0);
   }
-  if (share_flag == 0) input = fopen (infile, "r");
-  else input = _fsopen (infile, "r", share_flag);    /* 94/July/12 */
-  if (input == NULL) {
+  if (share_flag == 0) pinput = fopen (infile, "r");
+  else pinput = _fsopen (infile, "r", share_flag);    /* 94/July/12 */
+  if (pinput == NULL) {
     if (strrchr(infile, '.') == NULL) {
       if (flag == 0) strcat(infile, ".map");
       else strcat(infile, ".key");
@@ -410,11 +410,11 @@ int read_xchr_file (char *filename, int flag, char *argv[])
         sprintf(log_line, "Trying %s\n", infile);
         show_line(log_line, 0);
       }
-      if (share_flag == 0) input = fopen (infile, "r");
-      else input = _fsopen (infile, "r", share_flag);  /* 94/July/12 */
+      if (share_flag == 0) pinput = fopen (infile, "r");
+      else pinput = _fsopen (infile, "r", share_flag);  /* 94/July/12 */
     }
   }
-  if (input == NULL) {
+  if (pinput == NULL) {
 /*    strcpy (infile, gargv[0]); */   /* try TeX program path */
     strcpy (infile, argv[0]);     /* try TeX program path */
     if ((s = strrchr (infile, '\\')) != NULL) *(s+1) = '\0';
@@ -425,9 +425,9 @@ int read_xchr_file (char *filename, int flag, char *argv[])
       sprintf(log_line, "Trying %s\n", infile);
       show_line(log_line, 0);
     }
-    if (share_flag == 0) input = fopen (infile, "r");
-    else input = _fsopen (infile, "r", share_flag);    /* 94/July/12 */
-    if (input == NULL) {
+    if (share_flag == 0) pinput = fopen (infile, "r");
+    else pinput = _fsopen (infile, "r", share_flag);    /* 94/July/12 */
+    if (pinput == NULL) {
       if (strchr(infile, '.') == NULL) {
         if (flag == 0) strcat(infile, ".map");
         else strcat(infile, ".key");
@@ -435,12 +435,12 @@ int read_xchr_file (char *filename, int flag, char *argv[])
           sprintf(log_line, "Trying %s\n", infile);
           show_line(log_line, 0);
         }
-        if (share_flag == 0) input = fopen (infile, "r");
-        else input = _fsopen (infile, "r", share_flag); /* 94/July/12 */
+        if (share_flag == 0) pinput = fopen (infile, "r");
+        else pinput = _fsopen (infile, "r", share_flag); /* 94/July/12 */
       }
     }
   }
-  if (input == NULL) {          /* 97/July/31 */
+  if (pinput == NULL) {          /* 97/July/31 */
 /*    strcpy (infile, gargv[0]); */   /* try TeX program path\keyboard */
     strcpy (infile, argv[0]);     /* try TeX program path */
     if ((s = strrchr (infile, '\\')) != NULL) *(s+1) = '\0';
@@ -452,9 +452,9 @@ int read_xchr_file (char *filename, int flag, char *argv[])
       sprintf(log_line, "Trying %s\n", infile);
       show_line(log_line, 0);
     }
-    if (share_flag == 0) input = fopen (infile, "r");
-    else input = _fsopen (infile, "r", share_flag);
-    if (input == NULL) {
+    if (share_flag == 0) pinput = fopen (infile, "r");
+    else pinput = _fsopen (infile, "r", share_flag);
+    if (pinput == NULL) {
       if (strchr(infile, '.') == NULL) {
         if (flag == 0) strcat(infile, ".map");
         else strcat(infile, ".key");
@@ -462,13 +462,13 @@ int read_xchr_file (char *filename, int flag, char *argv[])
           sprintf(log_line, "Trying %s\n", infile);
           show_line(log_line, 0);
         }
-        if (share_flag == 0) input = fopen (infile, "r");
-        else input = _fsopen (infile, "r", share_flag);
+        if (share_flag == 0) pinput = fopen (infile, "r");
+        else pinput = _fsopen (infile, "r", share_flag);
       }
     }
   }
 /*  Note: can't look in TeX source file dir, since that is not known yet */
-  if (input == NULL) {
+  if (pinput == NULL) {
     sprintf(log_line, "ERROR: Sorry, cannot find %s file %s",
         flag ? " xchr[]" : "key mapping", filename);
     show_line(log_line, 1);
@@ -477,11 +477,11 @@ int read_xchr_file (char *filename, int flag, char *argv[])
   }
 
   if (flag == 0)
-    read_xchr_sub (input);
+    read_xchr_sub (pinput);
   else
-    read_repl_sub (input);
+    read_repl_sub (pinput);
 
-  (void) fclose (input);
+  (void) fclose (pinput);
   return 1;
 }
 
@@ -2193,7 +2193,7 @@ bool setupdviwindo (void)
 { /* set up full file name for dviwindo.ini */
   char dviwindoini[PATH_MAX];
   char line[PATH_MAX];
-  FILE *input;
+  FILE *pinput;
   char *windir;
   int em = strlen(envsection);
   int wm = strlen(wndsection);
@@ -2224,10 +2224,10 @@ bool setupdviwindo (void)
   if (*dviwindoini != '\0') {
     dviwindo = xstrdup(dviwindoini);    /* avoid PATH_MAX string */
 /*    check whether dviwindo.ini actually has [Environment] section */
-    if (share_flag == 0) input = fopen(dviwindo, "r");
-    else input = _fsopen(dviwindo, "r", share_flag);
-    if (input != NULL) {
-      while (fgets (line, sizeof(line), input) != NULL) {
+    if (share_flag == 0) pinput = fopen(dviwindo, "r");
+    else pinput = _fsopen(dviwindo, "r", share_flag);
+    if (pinput != NULL) {
+      while (fgets (line, sizeof(line), pinput) != NULL) {
         if (*line == ';') continue;
         if (*line == '\n') continue;
         if (*line == '[') {
@@ -2257,12 +2257,12 @@ bool setupdviwindo (void)
         }
       }
       if (envflag) {
-        (void) fclose(input); 
+        (void) fclose(pinput); 
         return true;
       }
       if (trace_flag)
         show_line("Failed to find [Environment]", 1); /* DEBUGGING */
-      (void) fclose(input);
+      (void) fclose(pinput);
     }
     else if (trace_flag) perrormod(dviwindo);  /* DEBUGGING */
     strcpy(dviwindo, ""); /* failed, for one reason or another */
@@ -2280,7 +2280,7 @@ char *lastname=NULL, *lastvalue=NULL;
 char *grabenv (char *varname)
 {
   char line[PATH_MAX];
-  FILE *input;
+  FILE *pinput;
   char *s;
   int m, n;
 /*  int m = strlen(envsection); */
@@ -2308,19 +2308,19 @@ char *grabenv (char *varname)
     else return xstrdup(s);       /* make safe 98/Jan/31 */
   }
 
-  if (share_flag == 0) input = fopen(dviwindo, "r");
-  else input = _fsopen(dviwindo, "r", share_flag);
+  if (share_flag == 0) pinput = fopen(dviwindo, "r");
+  else pinput = _fsopen(dviwindo, "r", share_flag);
 
-  if (input != NULL) {
+  if (pinput != NULL) {
     m = strlen(envsection);
 /*    search for [Environment] section */ /* should be case insensitive */
-    while (fgets (line, sizeof(line), input) != NULL) {
+    while (fgets (line, sizeof(line), pinput) != NULL) {
       if (*line == ';') continue;
       if (*line == '\n') continue;
       if (_strnicmp(line, envsection, m) == 0) {  /* 98/Jan/31 */
 /*        search for varname=... */ /* should be case sensitive ? */
         n = strlen(varname);
-        while (fgets (line, sizeof(line), input) != NULL) {
+        while (fgets (line, sizeof(line), pinput) != NULL) {
           if (*line == ';') continue;
           if (*line == '[') break;
 /*          if (*line == '\n') break; */  /* ??? */
@@ -2328,7 +2328,7 @@ char *grabenv (char *varname)
 /*          if (strncmp(line, varname, n) == 0 && */
           if (_strnicmp(line, varname, n) == 0 &&
             *(line+n) == '=') { /* found it ? */
-              (void) fclose (input);
+              (void) fclose (pinput);
 /*              flush trailing white space */
               s = line + strlen(line) - 1;
               while (*s <= ' ' && s > line) *s-- = '\0';
@@ -2347,7 +2347,7 @@ char *grabenv (char *varname)
 /*        break; */ /* ? not found in designated section */    
       }       /* end of search for [Environment] section */
     }
-    (void) fclose (input);
+    (void) fclose (pinput);
   }           /* end of if fopen */
   s = getenv(varname);    /* failed, so try and get from environment */
 /*  if (s != NULL) return s;  */
@@ -2625,7 +2625,7 @@ char *yytexcmd="YANDYTEX.CMD";    /* name of command line file */
 /* can this be reentered ? */
 
 /* supply extension if none */
-void extension (char *fname, char *ext)
+void yy_extension (char *fname, char *ext)
 {
   char *s, *t;
     if ((s = strrchr(fname, '.')) == NULL ||
@@ -2667,7 +2667,7 @@ int read_commands (char *filename)
 
 /*  Try first in current directory (or use full name as specified) */
   strcpy(commandfile, filename);
-  extension(commandfile, "cmd");
+  yy_extension(commandfile, "cmd");
   if (share_flag == 0)
          command = fopen(commandfile, "r");
   else
@@ -2678,7 +2678,7 @@ int read_commands (char *filename)
 /*    don't need fancy footwork, since programpath non-empty */
     strcat(commandfile, "\\");
     strcat(commandfile, filename);
-    extension(commandfile, "cmd");
+    yy_extension(commandfile, "cmd");
     if (share_flag == 0)
                command = fopen(commandfile, "r");
     else
index 6e61aac..63114e3 100644 (file)
@@ -32,9 +32,10 @@ static void winerror (char * message)
 void print_err (const char * s)
 {
   if (interaction == error_stop_mode);
-  print_nl("! ");
+    print_nl("! ");
   print_string(s);
 }
+
 void tex_help (unsigned int n, ...)
 {
   unsigned int i;
@@ -43,7 +44,7 @@ void tex_help (unsigned int n, ...)
   if (n > 6) n = 6;
   help_ptr = n;
   va_start(help_arg, n);
-  for (i = 0; i <= n - 1; i++)
+  for (i = n - 1; i > n - 1; --i)
     help_line[i] = va_arg(help_arg, char *);
   va_end(help_arg);
 }
@@ -51,132 +52,133 @@ void tex_help (unsigned int n, ...)
 
 // print newline
 /* sec 0058 */
-void print_ln(void)
-{ 
-   switch(selector){
-     case term_and_log:
-     {
-       show_char('\n');
-       term_offset = 0; 
-       (void) putc ('\n',  log_file);
-       file_offset = 0; 
-     } 
-     break; 
-     case log_only:
-     {
-       (void) putc ('\n',  log_file);
-       file_offset = 0; 
-     } 
-     break; 
-     case term_only:
-     {
-       show_char('\n');
-       term_offset = 0; 
-     } 
-     break; 
-     case no_print: 
-     case pseudo: 
-     case new_string: ; 
-       break; 
-     default: 
-       (void) putc ('\n',  write_file[selector]);
-       break; 
-  } 
-} 
-/* sec 0059 */
-void print_char_(ASCII_code s)
-{/* 10 */ 
-    if(s == eqtb[(hash_size + 3212)].cint)
-    if(selector < pseudo){
-      print_ln (); 
-      return; 
-    } 
-  switch(selector){
+void print_ln (void)
+{
+  switch (selector) {
     case term_and_log:
-    {
-      (void) show_char(Xchr(s));
-      incr(term_offset); 
-      (void) putc(Xchr(s),  log_file);
-      incr(file_offset); 
-      if(term_offset == max_print_line){
+      {
         show_char('\n');
-        term_offset = 0; 
-      } 
-      if(file_offset == max_print_line){
+        term_offset = 0;
+        (void) putc ('\n', log_file);
+        file_offset = 0;
+      }
+      break;
+    case log_only:
+      {
         (void) putc ('\n',  log_file);
-        file_offset = 0; 
-      } 
-    } 
-    break; 
+        file_offset = 0;
+      }
+      break;
+    case term_only:
+      {
+        show_char('\n');
+        term_offset = 0;
+      }
+      break;
+    case no_print:
+    case pseudo:
+    case new_string:
+      ;
+      break;
+    default:
+      (void) putc ('\n', write_file[selector]);
+      break;
+  }
+}
+/* sec 0059 */
+void print_char_ (ASCII_code s)
+{
+  if(s == eqtb[(hash_size + 3212)].cint)
+    if (selector < pseudo) {
+      print_ln ();
+      return;
+    }
+  switch (selector) {
+    case term_and_log:
+      {
+        (void) show_char(Xchr(s));
+        incr(term_offset);
+        (void) putc(Xchr(s), log_file);
+        incr(file_offset);
+        if (term_offset == max_print_line) {
+          show_char('\n');
+          term_offset = 0;
+        }
+        if (file_offset == max_print_line) {
+          (void) putc ('\n', log_file);
+          file_offset = 0;
+        }
+      }
+      break;
     case log_only:
-    {
-      (void) putc(Xchr(s),  log_file);
-      incr(file_offset); 
-      if(file_offset == max_print_line)print_ln (); 
-    } 
-    break; 
+      {
+        (void) putc(Xchr(s), log_file);
+        incr(file_offset);
+        if (file_offset == max_print_line) print_ln ();
+      }
+      break;
     case term_only:
-    {
-      (void) show_char(Xchr(s));
-      incr(term_offset); 
-      if(term_offset == max_print_line)print_ln (); 
-    } 
-    break; 
-    case no_print: 
-      ; 
-      break; 
-    case pseudo: 
+      {
+        (void) show_char(Xchr(s));
+        incr(term_offset); 
+        if (term_offset == max_print_line) print_ln ();
+      }
+      break;
+    case no_print:
+      ;
+      break;
+    case pseudo:
       if(tally < trick_count)
-        trick_buf[tally % error_line]= s; 
-      break; 
-    case new_string: 
-    {
-/* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
+        trick_buf[tally % error_line]= s;
+      break;
+    case new_string:
+      {
 #ifdef ALLOCATESTRING
-      if(pool_ptr + 1 > current_pool_size)  { 
-        str_pool = realloc_str_pool (increment_pool_size);  /* 94/Jan/24 */
-      }
-      if(pool_ptr < current_pool_size)          /* 94/Jan/24 */
+        if (pool_ptr + 1 > current_pool_size) {
+          str_pool = realloc_str_pool (increment_pool_size);
+        }
+        if (pool_ptr < current_pool_size) {
+          str_pool[pool_ptr]= s;
+          incr(pool_ptr);
+        }
 #else
-/* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-        if(pool_ptr < pool_size)
+        if (pool_ptr < pool_size) {
+          str_pool[pool_ptr]= s;
+          incr(pool_ptr);
+        }
 #endif
-        {
-          str_pool[pool_ptr]= s; 
-          incr(pool_ptr); 
-        } 
-    } 
-    break; 
+      }
+      break; 
     default: 
-      (void) putc(Xchr(s),  write_file[selector]);
+      (void) putc(Xchr(s), write_file[selector]);
       break; 
-  } /* end of switch(selector) */
-  incr(tally); 
-} 
+  }
+  incr(tally);
+}
 /* sec 0059 */
 /* This could be made more efficient using fputs ? ... bkph */
-void print_(integer s)
-{/* 10 */ 
-    pool_pointer j; 
-  integer nl; 
-  if(s >= str_ptr)  s = 259;        /* ??? */
-  else if(s < 256)
-    if(s < 0) s = 259;        /* ??? */
+void print_ (integer s)
+{
+  pool_pointer j;
+  integer nl;
+  if (s >= str_ptr) s = 259; /* ??? */
+  else if (s < 256)
+    if (s < 0) s = 259; /* ??? */
     else {
-      if(selector > pseudo){
-        print_char(s); 
-        return; 
-      } 
-      if((s == eqtb[(hash_size + 3212)].cint)) 
-        if(selector < 20){
-          print_ln (); 
-          return; 
-        } 
+      if (selector > pseudo){
+        print_char(s);
+        return;
+      }
+      if ((s == eqtb[(hash_size + 3212)].cint))
+        if (selector < 20) {
+          print_ln ();
+          return;
+        }
       nl = eqtb[(hash_size + 3212)].cint; /* save eol */
       eqtb[(hash_size + 3212)].cint = -1; 
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-/*      if (!show_in_hex && s < 256)  */      /* show control chars also ?? */
-      if (! show_in_hex && s < 256 && s >= 32) {      /* 94/Jan/26 */
+/*    if (!show_in_hex && s < 256)  */      /* show control chars also ?? */
+      if (!show_in_hex && s < 256 && s >= 32) {      /* 94/Jan/26 */
 /*        following added 1996/Jan/20 */
         if (show_in_dos && s > 127) {     /* translate ANSI to DOS 850 */
           if (wintodos[s-128] > 0) print_char (wintodos[s-128]);
@@ -187,10 +189,8 @@ void print_(integer s)
               incr(j); 
             } 
           }
-        }
-        else print_char(s);       /* don't translate to hex */
-      }
-      else {                  /* not just a character */
+        } else print_char(s);       /* don't translate to hex */
+      } else {                  /* not just a character */
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
         j = str_start[s]; 
         while(j < str_start[s + 1]){
@@ -210,120 +210,115 @@ void print_(integer s)
 } 
 void print_string_ (unsigned char *s)
 {
-  // 2000 Jun 18
   while (*s > 0) print_char(*s++);
 }
 /* sec 0060 */
 // print string number s from string pool by calling print_
-void slow_print_(integer s)
-{ 
-  pool_pointer j; 
-  if((s >= str_ptr)||(s < 256)) print(s); 
+void slow_print_ (integer s)
+{
+  pool_pointer j;
+  if ((s >= str_ptr) || (s < 256)) print(s);
   else {
-    j = str_start[s]; 
-    while(j < str_start[s + 1]){
-//      if (str_pool[j]>= 128) print(str_pool[j]-128); // debugging only
-//      if (str_pool[j]== 0) print(36); // debugging only
-      print(str_pool[j]); 
-      incr(j); 
-    } 
-  } 
-} 
+    j = str_start[s];
+    while (j < str_start[s + 1]) {
+//    if (str_pool[j]>= 128) print(str_pool[j]-128); // debugging only
+//    if (str_pool[j]== 0) print(36); // debugging only
+      print(str_pool[j]);
+      incr(j);
+    }
+  }
+}
 /* sec 0062 */
 // print newline followed by string number s (unless at start of line)
-void print_nl_(char * s)
-{ 
-   if(((term_offset > 0) && (odd(selector)))||
-    ((file_offset > 0) && (selector >= log_only)))
-       print_ln (); 
-  print_string(s); 
-} 
+void print_nl_ (char * s)
+{
+  if (((term_offset > 0) && (odd(selector))) ||
+      ((file_offset > 0) && (selector >= log_only)))
+    print_ln ();
+  print_string(s);
+}
 /* sec 0063 */
 // print string number s preceded by escape character
-void print_esc_(char * s)
-{ 
-  integer c; 
-  c = eqtb[(hash_size + 3208)].cint; 
+void print_esc_ (char * s)
+{
+  integer c;
+  c = eqtb[(hash_size + 3208)].cint;
   if(c >= 0)
-    if(c < 256) print(c); 
-  //slow_print(s); 
+    if(c < 256) print(c);
+  //slow_print(s);
   print_string(s);
 } 
 /* sec 0064 */
-void print_the_digs_(eight_bits k)
-{ 
-  while(k > 0){
-    decr(k); 
+void print_the_digs_ (eight_bits k)
+{
+  while (k > 0) {
+    decr(k);
     if(dig[k]< 10)
-      print_char(48 + dig[k]); 
+      print_char('0' + dig[k]);
     else
-         print_char(55 + dig[k]); 
-  } 
-} 
+      print_char('A' + dig[k]);
+  }
+}
 /* sec 0065 */
-void print_int_(integer n)
+void print_int_ (integer n)
 {
-  char k; 
-  integer m; 
-  k = 0; 
-  if(n < 0)
-  {
-    print_char(45);     /* - */
+  char k;
+  integer m;
+  k = 0;
+  if (n < 0) {
+    print_char('-');
     if(n > -100000000L)
-    n = - (integer) n; 
+      n = - (integer) n;
     else {
-      m = -1 - n; 
-      n = m / 10; 
-      m =(m % 10)+ 1; 
-      k = 1; 
+      m = -1 - n;
+      n = m / 10;
+      m =(m % 10)+ 1;
+      k = 1;
       if(m < 10)
-/*      dig[0]= m; */     /* keep compiler happy */
-      dig[0]= (char) m; 
+        dig[0]= (char) m;
       else {
-      dig[0]= 0; 
-      incr(n); 
-      } 
-    } 
-  } 
+        dig[0]= 0;
+        incr(n);
+      }
+    }
+  }
   do {
-/*    dig[k]= n % 10;  */   /* keep compiler happy */
-    dig[k]= (char) (n % 10); 
-    n = n / 10; 
-    incr(k); 
-  } while(!(n == 0)); 
-  print_the_digs(k); 
-} 
+    dig[k]= (char) (n % 10);
+    n = n / 10;
+    incr(k);
+  } while(!(n == 0));
+  print_the_digs(k);
+}
 /* sec 0262 */
-void print_cs_(integer p)
-{ 
-  if(p < 514)       /* if p < hash_base then ... p.262 */
-  if(p >= 257)        /* if p > single_base then ... p.262 */
-  if(p == 513)        /* if p = null_cs then ... p.262 */
+void print_cs_ (integer p)
+{
+  if (p < 514)       /* if p < hash_base then ... p.262 */
+  if (p >= 257)        /* if p > single_base then ... p.262 */
+  if (p == 513)        /* if p = null_cs then ... p.262 */
   {
     print_esc("csname");
     print_esc("endcsname");
-       print_char(' ');
-  } 
-  else {
+    print_char(' ');
+  } else {
     //print_esc(p - 257);   /* p - single_base */
-         print_esc("");print(p - 257);
+    print_esc("");print(p - 257);
 /*  if cat_code(p - single_base) = letter then ... p.262 */
     if(eqtb[(hash_size + 1883) + p - 257].hh.v.RH == 11)
     print_char(' ');
   } 
-  else if(p < 1)
+  else if (p < 1)
     print_esc("IMPOSSIBLE.");
   else print(p - 1); 
-  else if(p >= (hash_size + 781)) /* undefined_control_sequence */
+  else if (p >= (hash_size + 781)) /* undefined_control_sequence */
     print_esc("IMPOSSIBLE.");
-  else if((hash[p].v.RH >= str_ptr)) 
+  else if ((hash[p].v.RH >= str_ptr)) 
     print_esc("NONEXISTENT.");
   else {
     //print_esc(hash[p].v.RH); 
-         print_esc(""); print(hash[p].v.RH);
+    print_esc(""); print(hash[p].v.RH);
     print_char(32);     /*    */
-  } 
-} 
+  }
+}
 /* sec 0263 */
 void sprint_cs_(halfword p)
 { 
@@ -334,12 +329,12 @@ void sprint_cs_(halfword p)
     //print_esc(p - 257); /* print (p - single_base); */
   {print_esc(""); print(p-257);}
   else {
-    print_esc("csname");     /*  */
-    print_esc("endcsname");     /*  */
+    print_esc("csname");
+    print_esc("endcsname");
   } 
   else //print_esc(hash[p].v.RH); 
   {
-         print_esc(""); print(hash[p].v.RH);
+    print_esc(""); print(hash[p].v.RH);
   }
 } 
 /* sec 0518 */
@@ -370,12 +365,12 @@ void print_size_(integer s)
 void print_write_whatsit_(str_number s, halfword p)
 {
   //print_esc(s); 
-       print_esc(""); print(s);
-  if(mem[p + 1].hh.v.LH < 16)
+  print_esc(""); print(s);
+  if (mem[p + 1].hh.v.LH < 16)
     print_int(mem[p + 1].hh.v.LH); 
-  else if(mem[p + 1].hh.v.LH == 16)
-    print_char(42);   /* * */
-  else print_char(45);    /* - */
+  else if (mem[p + 1].hh.v.LH == 16)
+    print_char('*');
+  else print_char('-');
 } 
 #ifdef DEBUG
 #endif /* DEBUG */
@@ -390,7 +385,7 @@ void jump_out (void)
 #ifndef _WINDOWS
     fflush(stdout); 
 #endif
-    ready_already = 0; 
+    ready_already = 0;
 
     if (trace_flag) show_line("EXITING at JUMPOUT\n", 0);
 
@@ -400,8 +395,10 @@ void jump_out (void)
 
 //    abort_flag++;       // TURN OFF THE POWER ???
 
-    if((history != 0)&&(history != 1))  code = 1;
-    else code = 0;
+    if ((history != 0) && (history != 1))
+      code = 1;
+    else
+      code = 0;
     uexit(code); 
 //    longjmp(jumpbuffer, code+1);
   }
@@ -409,40 +406,39 @@ void jump_out (void)
 /* sec 0082 */
 // deal with error by asking for user response 0-9, D, E, H, I, X, Q, R, S
 // NOTE: this may JUMPOUT either via X, or because of too many errors
-void error(void)
+void error (void)
 {/* 22 10 */ 
   ASCII_code c; 
   integer s1, s2, s3, s4; 
-  if(history < 2) history = 2;
+  if (history < 2) history = 2;
 
-  print_char(46);   /* . */
-  show_context (); 
+  print_char('.');
+  show_context();
 
-  if(interaction == 3)
-    while(true){
+  if (interaction == 3)
+    while (true) {
 lab22:          /* loop */
-      clear_for_error_prompt (); 
+      clear_for_error_prompt ();
       {
-        ; 
+        ;
         print_string("? ");
-        term_input(264, help_ptr); 
+        term_input(264, help_ptr);
       } 
-      if(last == first)return;    // no input
+      if (last == first) return;    // no input
       c = buffer[first];        // analyze first letter typed
       if(c >= 97)           // uppercase letter first
-/*        c = c - 32;  */       /* keep compiler happy */
         c = (unsigned char) (c - 32); 
-      switch(c){
-        case 48 :       /* 0 */
-        case 49 :       /* 1 */
-        case 50 : 
-        case 51 : 
-        case 52 : 
-        case 53 : 
-        case 54 : 
-        case 55 : 
-        case 56 : 
-        case 57 :       /* 9 */
+      switch (c) {
+        case '0':
+        case '1':
+        case '2':
+        case '3':
+        case '4':
+        case '5':
+        case '6':
+        case '7':
+        case '8':
+        case '9':
           if(deletions_allowed) {
             s1 = cur_tok; 
             s2 = cur_cmd; 
@@ -450,93 +446,90 @@ lab22:          /* loop */
             s4 = align_state; 
             align_state = 1000000L; 
             OK_to_interrupt = false; 
-            if((last > first + 1)&&(buffer[first + 1]>= 48)&&
-              (buffer[first + 1]<= 57)) 
+            if ((last > first + 1) && (buffer[first + 1]>= 48) && (buffer[first + 1]<= 57))
               c = (unsigned char) (c * 10 + buffer[first + 1]- 48 * 11); 
-            else c = (unsigned char) (c - 48);
-            while(c > 0){
-              get_token (); 
-              decr(c); 
-            } 
-            cur_tok = s1; 
-            cur_cmd = s2; 
-            cur_chr = s3; 
-            align_state = s4; 
+            else
+              c = (unsigned char) (c - 48);
+            while (c > 0) {
+              get_token ();
+              decr(c);
+            }
+            cur_tok = s1;
+            cur_cmd = s2;
+            cur_chr = s3;
+            align_state = s4;
             OK_to_interrupt = true;
-                       help2("I have just deleted some text, as you asked.",
-                               "You can now delete more, or insert, or whatever.");
-            show_context (); 
+            help2("I have just deleted some text, as you asked.",
+                "You can now delete more, or insert, or whatever.");
+            show_context ();
             goto lab22;     /* loop again */
           } 
           break; 
           ;
 #ifdef DEBUG
-        case 68 :     /* D */
-        {
-          debug_help (); 
-          goto lab22;       /* loop again */
-        } 
-        break; 
+        case 'D':
+          {
+            debug_help ();
+            goto lab22;       /* loop again */
+          }
+          break; 
 #endif /* DEBUG */
-        case 69 :     /* E */
-          if(base_ptr > 0){
-            edit_name_start = str_start[input_stack[base_ptr].name_field]; 
-            edit_name_length = str_start[input_stack[base_ptr].name_field + 1]- 
-                     str_start[input_stack[base_ptr].name_field]; 
-            edit_line = line; 
+        case 'E':
+          if (base_ptr > 0) {
+            edit_name_start = str_start[input_stack[base_ptr].name_field];
+            edit_name_length = str_start[input_stack[base_ptr].name_field + 1] 
+              str_start[input_stack[base_ptr].name_field];
+            edit_line = line;
             jump_out();
 //            return;     // can drop through now 99/Oct/20
-          } 
-          break; 
-        case 72 :     /* H */
-        {
-          if(use_err_help)
+          }
+          break;
+        case 'H':
           {
-            give_err_help (); 
-            use_err_help = false; 
-          } 
-          else {
-            if(help_ptr == 0)
-                               help2("Sorry, I don't know how to help in this situation.",
-                               "Maybe you should try asking a human?");
-            do {
-              decr(help_ptr); 
-              //print(help_line[help_ptr]);
-              print_string(help_line[help_ptr]);
-              print_ln (); 
-            } while(!(help_ptr == 0)); 
+            if (use_err_help)
+            {
+              give_err_help ();
+              use_err_help = false;
+            } else {
+              if (help_ptr == 0)
+                help2("Sorry, I don't know how to help in this situation.",
+                    "Maybe you should try asking a human?");
+              do {
+                decr(help_ptr); 
+                print_string(help_line[help_ptr]);
+                print_ln ();
+              } while (!(help_ptr == 0));
+            }
+            help4("Sorry, I already gave what help I could...",
+                "Maybe you should try asking a human?",
+                "An error might have occurred before I noticed any problems.",
+                "``If all else fails, read the instructions.''");
+            goto lab22; /* loop again */
           }
-                 help4("Sorry, I already gave what help I could...",
-                         "Maybe you should try asking a human?",
-                         "An error might have occurred before I noticed any problems.",
-                         "``If all else fails, read the instructions.''");
-          goto lab22; /* loop again */
-        } 
-        break; 
-        case 73 :     /* I */
-        {
-          begin_file_reading (); 
-          if(last > first + 1)
+          break;
+        case 'I':
           {
-            cur_input.loc_field = first + 1; 
-            buffer[first]= 32; 
-          } 
-          else {
+            begin_file_reading ();
+            if (last > first + 1)
             {
-              ; 
-              print_string("insert>");
-              term_input(276, 0); 
-            } 
-            cur_input.loc_field = first; 
-          } 
-          first = last; 
-          cur_input.limit_field = last - 1; 
-          return; 
-        } 
-        break; 
-        case 81 :     /* Q, R, S */
-        case 82 : 
-        case 83 : 
+              cur_input.loc_field = first + 1;
+              buffer[first]= 32;
+            } else {
+              {
+                ;
+                print_string("insert>");
+                term_input(276, 0);
+              }
+              cur_input.loc_field = first;
+            }
+            first = last;
+            cur_input.limit_field = last - 1;
+            return;
+          }
+          break;
+        case 'Q':
+        case 'R':
+        case 'S':
         {
           error_count = 0; 
           interaction = 0 + c - 81; /* Q = 0, R = 1, S = 2, T = 3 */
@@ -636,66 +629,64 @@ void overflow_(char * s, integer n)
   help2("If you really absolutely need more capacity,",
       "you can ask a wizard to enlarge me."); 
   if (! knuth_flag) {   /*  Additional comments 98/Jan/5 */
-    //if (s == 945 && n == trie_size) {
-       if (!strcmp(s, "pattern memory") && n == trie_size) {
+    if (!strcmp(s, "pattern memory") && n == trie_size) {
       sprintf(log_line, "\n  (Maybe use -h=... on command line in ini-TeX)\n");
       show_line(log_line, 0);
-    }
-    //else if (s == 942 && n == hyphen_prime) {
-    else if (!strcmp(s, "exception dictionary") && n == hyphen_prime) {
+    } else if (!strcmp(s, "exception dictionary") && n == hyphen_prime) {
       sprintf(log_line, "\n  (Maybe use -e=... on command line in ini-TeX)\n");
       show_line(log_line, 0);
     }
   }
-  if (interaction == 3) interaction = 2; 
-  if(log_opened){
+  if (interaction == 3)
+    interaction = 2;
+  if (log_opened) {
     error ();
   }
   ;
 #ifdef DEBUG
-    if(interaction > 0)debug_help (); 
-#endif /* DEBUG */
-  history = 3; 
+  if (interaction > 0)
+    debug_help ();
+#endif
+  history = 3;
   jump_out();
-//  return;     // can drop through now 99/Oct/20   
 }
 /* sec 0095 */
 void confusion_(str_number s)
 {
   normalize_selector (); 
-  if(history < 2) {
+  if (history < 2) {
     print_err("This can't happen(");
     print(s); 
     print_char(41); /*)*/
     help1("I'm broken. Please show this to someone who can fix can fix");
-  } 
-  else {
+  } else {
     print_err("I can't go on meeting you like this");
     help2("One of your faux pas seems to have wounded me deeply...",
         "in fact, I'm barely conscious. Please fix it and try again.");
-  } 
+  }
   {
-    if(interaction == 3)interaction = 2; 
-    if(log_opened){
-      error ();
+    if (interaction == 3)
+      interaction = 2;
+    if (log_opened) {
+      error();
     }
     ;
 #ifdef DEBUG
-    if(interaction > 0)debug_help (); 
-#endif /* DEBUG */
-    history = 3; 
+    if (interaction > 0)
+      debug_help();
+#endif
+    history = 3;
     jump_out();
-//    return;     // can drop through now 99/Oct/20   
-  } 
-} 
+  }
+}
 /* sec 0037 */
 bool init_terminal (void) 
 {/* 10 */
   register bool Result; 
   int flag;
-  t_open_in (); 
+  t_open_in(); 
 
-  if(last > first)  {
+  if (last > first) {
     cur_input.loc_field = first; 
     while((cur_input.loc_field < last) && (buffer[cur_input.loc_field]== ' '))
       incr(cur_input.loc_field);    // step over initial white space
@@ -709,161 +700,155 @@ bool init_terminal (void)
   while(true){
     ; 
 #ifdef _WINDOWS
-    flag = ConsoleInput("**", "Please type a file name or a control sequence\r\n(or ^z to exit)",
-              (char *) &buffer[first]);
+    flag = ConsoleInput("**", "Please type a file name or a control sequence\r\n(or ^z to exit)", (char *) &buffer[first]);
     last = first + strlen((char *) &buffer[first]); /* -1 ? */
 //    may need to be more elaborate see input_line in texmf.c
 #else
-    (void) fputs("**", stdout);     /* ** PROMPT */
+    (void) fputs("**", stdout);
     fflush(stdout); 
     flag = input_ln(stdin, true);
 #endif
     if(! flag){
       show_char('\n');
-      show_line("! End of file on the terminal... why?\n", 1); 
-      Result = false; 
-      return Result; 
-    } 
+      show_line("! End of file on the terminal... why?\n", 1);
+      Result = false;
+      return Result;
+    }
 
-    cur_input.loc_field = first; 
-    while((cur_input.loc_field < last)&&
-        (buffer[cur_input.loc_field]== ' '))
+    cur_input.loc_field = first;
+    while ((cur_input.loc_field < last) && (buffer[cur_input.loc_field]== ' '))
       incr(cur_input.loc_field);    // step over intial white space
-    if(cur_input.loc_field < last){
-      Result = true; 
+    if (cur_input.loc_field < last) {
+      Result = true;
       return Result;    // there is an input file name
     } 
-    sprintf(log_line, "%s\n",  "Please type the name of your input file."); 
+    sprintf(log_line, "%s\n", "Please type the name of your input file.");
     show_line(log_line, 1);
   }
-//  return Result; 
-} 
+}
 /* sec 0043 */
 // Make string from str_start[str_ptr]to pool_ptr
-str_number make_string (void) 
+str_number make_string (void)
 {
   register str_number Result; 
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
 #ifdef ALLOCATESTRING
-  if(str_ptr == current_max_strings)
+  if (str_ptr == current_max_strings)
     str_start = realloc_str_start(increment_max_strings);
-  if(str_ptr == current_max_strings){       /* 94/Jan/24 */
-//    printf("**********MAKESTRING**********");   // debugging only
+  if (str_ptr == current_max_strings) {
+//  printf("**********MAKESTRING**********");   // debugging only
     overflow("number of strings", current_max_strings - init_str_ptr); /* 97/Mar/9 */
     return 0;     // abort_flag set
   }
 #else
-/* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-  if(str_ptr == max_strings){
+  if (str_ptr == max_strings) {
     overflow("number of strings", max_strings - init_str_ptr); /* number of strings */
     return 0;     // abort_flag set
   }
 #endif
   incr(str_ptr); 
-  str_start[str_ptr] = pool_ptr; 
-  Result = str_ptr - 1; 
-  return Result; 
+  str_start[str_ptr] = pool_ptr;
+  Result = str_ptr - 1;
+  return Result;
 } 
 /* sec 0044 */
-bool str_eq_buf_(str_number s, integer k)
-{/* 45 */
-  register bool Result; 
-  pool_pointer j; 
-  bool result; 
-  j = str_start[s]; 
-  while(j < str_start[s + 1]) {      
-    if(str_pool[j]!= buffer[k])
+bool str_eq_buf_ (str_number s, integer k)
+{
+  register bool Result;
+  pool_pointer j;
+  bool result;
+  j = str_start[s];
+  while (j < str_start[s + 1]) {
+    if (str_pool[j]!= buffer[k])
     {
-      result = false; 
-      goto lab45; 
+      result = false;
+      goto lab45;
     } 
-    incr(j); 
-    incr(k); 
+    incr(j);
+    incr(k);
   } 
-  result = true; 
-  lab45: Result = result; 
+  result = true;
+lab45: Result = result;
   return Result; 
 } 
 /* sec 0045 */
-bool str_eq_str_(str_number s, str_number t)
-{/* 45 */
-  register bool Result; 
-  pool_pointer j, k; 
-  bool result; 
-  result = false; 
-  if((str_start[s + 1]- str_start[s])!=(str_start[t + 1]- 
-  str_start[t])) 
-  goto lab45; 
-  j = str_start[s]; 
-  k = str_start[t]; 
-  while(j < str_start[s + 1]){
-    if(str_pool[j]!= str_pool[k])
-    goto lab45; 
-    incr(j); 
-    incr(k); 
-  } 
-  result = true; 
-  lab45: Result = result; 
-  return Result; 
-} 
+bool str_eq_str_ (str_number s, str_number t)
+{
+  register bool Result;
+  pool_pointer j, k;
+  bool result;
+  result = false;
+  if ((str_start[s + 1] - str_start[s]) != (str_start[t + 1] - str_start[t]))
+    goto lab45;
+  j = str_start[s];
+  k = str_start[t];
+  while (j < str_start[s + 1]) {
+    if (str_pool[j] != str_pool[k])
+      goto lab45;
+    incr(j);
+    incr(k);
+  }
+  result = true;
+  lab45: Result = result;
+  return Result;
+}
 /* sec 0066 */
 void print_two_(integer n)
 { 
-  n = abs(n) % 100; 
-  print_char(48 +(n / 10)); 
-  print_char(48 +(n % 10)); 
+  n = abs(n) % 100;
+  print_char('0' + (n / 10));
+  print_char('0' + (n % 10));
 } 
 /* sec 0067 */
 void print_hex_(integer n)
 {
-  char k; 
-  k = 0; 
-  print_char(34);   /* " */
+  char k;
+  k = 0;
+  print_char('"');
   do {
-    dig[k]= (unsigned char) (n % 16);  
-    n = n / 16; 
-    incr(k); 
-  } while(!(n == 0)); 
-  print_the_digs(k); 
-} 
+    dig[k] = (unsigned char) (n % 16);
+    n = n / 16;
+    incr(k);
+  } while (!(n == 0));
+  print_the_digs(k);
+}
 /* sec 0069 */
 void print_roman_int_(integer n)
-{/* 10 */
-  pool_pointer j, k; 
-  nonnegative_integer u, v; 
+{
+  pool_pointer j, k;
+  nonnegative_integer u, v;
   j = str_start[260]; /*  m2d5c2l5x2v5i */
-  v = 1000; 
-  while(true){
-    while(n >= v){
-      print_char(str_pool[j]); 
-      n = n - v; 
+  v = 1000;
+  while (true) {
+    while (n >= v) {
+      print_char(str_pool[j]);
+      n = n - v;
     } 
-    if(n <= 0)
-    return; 
-    k = j + 2; 
-    u = v /(str_pool[k - 1]- 48); 
-    if(str_pool[k - 1]== 50)
+    if (n <= 0)
+      return;
+    k = j + 2;
+    u = v / (str_pool[k - 1]- 48);
+    if (str_pool[k - 1]== 50)
     {
-      k = k + 2; 
-      u = u /(str_pool[k - 1]- 48); 
-    } 
-    if(n + u >= v)
+      k = k + 2;
+      u = u / (str_pool[k - 1]- 48);
+    }
+    if (n + u >= v)
     {
-      print_char(str_pool[k]); 
-      n = n + u; 
-    } 
-    else {
-      j = j + 2; 
-      v = v /(str_pool[j - 1]- 48); 
-    } 
-  } 
-} 
+      print_char(str_pool[k]);
+      n = n + u;
+    } else {
+      j = j + 2;
+      v = v / (str_pool[j - 1]- 48);
+    }
+  }
+}
 /* sec 0070 */
-void print_current_string(void)
+void print_current_string (void)
 {
   pool_pointer j;
   j = str_start[str_ptr];
-  while(j < pool_ptr) {
+  while (j < pool_ptr) {
     print_char(str_pool[j]);
     incr(j);
   }
@@ -872,16 +857,16 @@ void print_current_string(void)
 int stringlength (int str_ptr)
 {
   int nstart, nnext;
-  nstart = str_start[ str_ptr];
-  nnext = str_start[ str_ptr + 1];
+  nstart = str_start[str_ptr];
+  nnext = str_start[str_ptr + 1];
   return (nnext - nstart) + 2;
 }
 
 char * add_string (char *s, int str_ptr)
 {
   int nstart, nnext, n;
-  nstart = str_start[ str_ptr];
-  nnext = str_start[ str_ptr + 1];
+  nstart = str_start[str_ptr];
+  nnext = str_start[str_ptr + 1];
   n = nnext - nstart;
   memcpy(s, &str_pool[nstart], n);
   s += n;
@@ -897,12 +882,13 @@ int addextrahelp=1;
 
 char * make_up_help_string (int nhelplines)
 {
-  char *helpstring, *s;
+  char * helpstring, *s;
   int k, nlen=0;
   
 //  get length of help for this specific message
   for (k = nhelplines-1; k >= 0; k--) {
-    nlen += stringlength(help_line[k]);
+    //nlen += stringlength(help_line[k]);
+    nlen += strlen(help_line[k]);
   }
   nlen += 2;    // for blank line separator
   if (addextrahelp) {
@@ -931,7 +917,7 @@ char * make_up_help_string (int nhelplines)
   return helpstring;
 }
 
-char * make_up_query_string (int promptstr) 
+char * make_up_query_string (int promptstr)
 {
   char *querystr;
   int nstart, nnext, n;
@@ -944,7 +930,7 @@ char * make_up_query_string (int promptstr)
   memcpy(s, &str_pool[nstart], n);  
   s += n;
   *s = '\0';
-  return querystr;  
+  return querystr;
 }
 
 // abort_flag set if input_line / ConsoleInput returns non-zero
@@ -956,8 +942,8 @@ void term_input (int promptstr, int nhelplines)
 { 
   integer k;
   int flag;
-  char *helpstring = NULL;
-  char *querystring = NULL;
+  char * helpstring = NULL;
+  char * querystring = NULL;
 //  if (nhelplines != 0) {
 //    helpstring = make_up_help_string (nhelplines);
 //    printf(helpstring);
@@ -1027,423 +1013,412 @@ void term_input (int promptstr, int nhelplines)
   print_ln (); 
   incr(selector);     // reset selector again
 #endif
-} 
-
-void int_error_ (integer n) 
+}
+/* sec 0091 */
+void int_error_ (integer n)
 {
   print_string(" (");
-  print_int(n); 
-  print_char(41); /*)*/
-  error(); 
-} 
-
-void normalize_selector (void) 
+  print_int(n);
+  print_char(')');
+  error();
+}
+/* sec 0092 */
+void normalize_selector (void)
 {
   if (log_opened)
     selector = 19;
   else
     selector = 17;
   if (job_name == 0)
-    open_log_file ();
+    open_log_file();
   if (interaction == 0)
     decr(selector);
 }
-
-void pause_for_instructions (void) 
+/* sec 0098 */
+void pause_for_instructions (void)
 {
    if (OK_to_interrupt) {
-    interaction = 3; 
-    if((selector == 18)||(selector == 16))
+    interaction = 3;
+    if ((selector == 18)||(selector == 16))
       incr(selector);
     print_err("Interruption");
     help3("You rang?",
         "Try to insert some instructions for me (e.g.,`I\\showlists'),",
         "unless you just want to quit by typing `X'.");
-    deletions_allowed = false; 
-    error (); 
-    deletions_allowed = true; 
-    interrupt = 0; 
-  } 
-} 
-
+    deletions_allowed = false;
+    error ();
+    deletions_allowed = true;
+    interrupt = 0;
+  }
+}
+/* sec 0100 */
 integer half_(integer x)
 {
   register integer Result;
-  if(odd(x)) 
-  Result =(x + 1)/ 2; 
-  else Result = x / 2; 
-  return Result; 
-} 
-
+  if (odd(x))
+  Result =(x + 1)/ 2;
+  else Result = x / 2;
+  return Result;
+}
+/* sec 0102 */
 scaled round_decimals_(small_number k)
 {
-  register scaled Result; 
-  integer a; 
-  a = 0; 
-  while(k > 0){
-    decr(k); 
-    a =(a + dig[k]* 131072L)/ 10; /* 2^17 */
-  } 
-  Result =(a + 1)/ 2; 
-  return Result; 
-} 
-
+  register scaled Result;
+  integer a;
+  a = 0;
+  while (k > 0) {
+    decr(k);
+    a = (a + dig[k]* 131072L) / 10; /* 2^17 */
+  }
+  Result =(a + 1)/ 2;
+  return Result;
+}
+/* sec 0103 */
 /* This has some minor speedup changes - no real advantage probably ... */
 void print_scaled_(scaled s)
 { 
   scaled delta;
-  if(s < 0)
+  if (s < 0)
   {
-    print_char(45);           /* '-' */
-    s = - (integer) s; 
-  } 
-  print_int(s / 65536L); 
-  print_char(46);           /* '.' */
-  s = 10 *(s % 65536L)+ 5; 
-  delta = 10; 
+    print_char('-');
+    s = - (integer) s;
+  }
+  print_int(s / 65536L);
+  print_char('.');
+  s = 10 * (s % 65536L) + 5;
+  delta = 10;
   do {
-      if(delta > 65536L)
-    s = s - 17232;              /* 2^15 - 50000 - rounding */
-    print_char(48 +(s / 65536L));   /* '0' + */
-    s = 10 *(s % 65536L); 
-    delta = delta * 10; 
-  } while(!(s <= delta)); 
-} 
-
+    if (delta > 65536L)
+      s = s - 17232; /* 2^15 - 50000 - rounding */
+    print_char('0' + (s / 65536L));
+    s = 10 * (s % 65536L);
+    delta = delta * 10;
+  } while (!(s <= delta));
+}
+/* sec 0105 */
 scaled mult_and_add_(integer n, scaled x, scaled y, scaled maxanswer)
 {
   register scaled Result;
-  if(n < 0)
+  if (n < 0)
   {
-    x = - (integer) x; 
-    n = - (integer) n; 
-  } 
-  if(n == 0)
-  Result = y; 
-  else if(((x <=(maxanswer - y)/ n)&&(- (integer) x <=(maxanswer + y)/ n)))
-  Result = n * x + y; 
+    x = - (integer) x;
+    n = - (integer) n;
+  }
+  if (n == 0)
+    Result = y;
+  else if(((x <= (maxanswer - y) / n) && (- (integer) x <= (maxanswer + y) / n)))
+    Result = n * x + y; 
   else {
-    arith_error = true; 
-    Result = 0; 
-  } 
-  return Result; 
-} 
-
+    arith_error = true;
+    Result = 0;
+  }
+  return Result;
+}
+/* sec 0106 */
 scaled x_over_n_(scaled x, integer n)
 {
-  register scaled Result; 
-  bool negative; 
-  negative = false; 
-  if(n == 0)
+  register scaled Result;
+  bool negative;
+  negative = false;
+  if (n == 0)
   {
-    arith_error = true; 
-    Result = 0; 
-    tex_remainder = x; 
-  } 
-  else {
-      
-    if(n < 0)
+    arith_error = true;
+    Result = 0;
+    tex_remainder = x;
+  } else {
+    if (n < 0)
     {
-      x = - (integer) x; 
-      n = - (integer) n; 
-      negative = true; 
-    } 
-    if(x >= 0)
+      x = - (integer) x;
+      n = - (integer) n;
+      negative = true;
+    }
+    if (x >= 0)
     {
-      Result = x / n; 
-      tex_remainder = x % n; 
-    } 
-    else {
-  
-      Result = - (integer)((- (integer) x)/ n); 
-      tex_remainder = - (integer)((- (integer) x)% n); 
-    } 
-  } 
-  if(negative)
-  tex_remainder = - (integer) tex_remainder; 
-  return Result; 
-} 
-
+      Result = x / n;
+      tex_remainder = x % n;
+    } else {
+      Result = - (integer) ((- (integer) x)/ n);
+      tex_remainder = - (integer) ((- (integer) x)% n);
+    }
+  }
+  if (negative)
+    tex_remainder = - (integer) tex_remainder;
+  return Result;
+}
+/* sec 0107 */
 scaled xn_over_d_(scaled x, integer n, integer d)
 {
-  register scaled Result; 
-  bool positive; 
-  nonnegative_integer t, u, v; 
-  if(x >= 0)
-  positive = true; 
+  register scaled Result;
+  bool positive;
+  nonnegative_integer t, u, v;
+  if (x >= 0)
+    positive = true; 
   else {
-      
-    x = - (integer) x; 
-    positive = false; 
-  } 
+    x = - (integer) x;
+    positive = false;
+  }
 /*  t =(x % 32768L)* n;  */
-  t =(x & 32767L)* n; 
+  t =(x & 32767L) * n;
 /*  u =(x / 32768L)* n +(t / 32768L);  */
-  u =(x >> 15)* n +(t >> 15); 
+  u =(x >> 15) * n + (t >> 15); 
 /*  v =(u % d)* 32768L +(t % 32768L);  */
-  v =((u % d)<< 15)+(t & 32767L); 
-  if(u / d >= 32768L)
-  arith_error = true; 
+  v =((u % d) << 15) + (t & 32767L); 
+  if (u / d >= 32768L)
+    arith_error = true; 
 /*  else u = 32768L *(u / d)+(v / d);  */ 
-  else u =((u / d)<< 15)+(v / d); 
-  if(positive)
+  else u =((u / d) << 15) + (v / d); 
+  if (positive)
   {
-    Result = u; 
-    tex_remainder = v % d; 
-  } 
-  else {
-      
-    Result = - (integer) u; 
-    tex_remainder = - (integer)(v % d); 
-  } 
-  return Result; 
-} 
-
+    Result = u;
+    tex_remainder = v % d;
+  } else {
+    Result = - (integer) u;
+    tex_remainder = - (integer)(v % d);
+  }
+  return Result;
+}
+/* sec 0108 */
 halfword badness_(scaled t, scaled s)
 {
   register halfword Result;
-  integer r; 
-  if(t == 0)
-  Result = 0; 
-  else if(s <= 0)
-  Result = 10000; 
-  else {
-    if(t <= 7230584L)
-    r =(t * 297)/ s; 
-    else if(s >= 1663497L)
-    r = t /(s / 297); 
-    else r = t; 
-    if(r > 1290)
+  integer r;
+  if (t == 0)
+    Result = 0; 
+  else if (s <= 0)
     Result = 10000; 
+  else {
+    if (t <= 7230584L)
+      r = (t * 297) / s; 
+    else if (s >= 1663497L)
+      r = t / (s / 297);
+    else
+      r = t;
+    if (r > 1290)
+      Result = 10000; 
 /*    safe to assume that r is positive ? */
 /*    else Result =(r * r * r + 131072L)/ 262144L;  */
-    else Result =(r * r * r + 131072L)>> 18;  /* 2^17 */
-  } 
-  return Result; 
-} 
+    else Result = (r * r * r + 131072L) >> 18;  /* 2^17 */
+  }
+  return Result;
+}
 
 #ifdef DEBUG
 void print_word_(memory_word w)
 { 
   print_int(w.cint); 
-  print_char(32);     /*   */
+  print_char(' ');
   print_scaled(w.cint); 
-  print_char(32);     /*   */
-  print_scaled(round(65536L * w.gr)); 
-  print_ln (); 
-  print_int(w.hh.v.LH); 
-  print_char(61);     /* = */
-  print_int(w.hh.b0); 
-  print_char(58);     /* : */
-  print_int(w.hh.b1); 
-  print_char(59);     /*; */
-  print_int(w.hh.v.RH); 
-  print_char(32);     /*   */
+  print_char(' ');
+  print_scaled(round(65536L * w.gr));
+  print_ln ();
+  print_int(w.hh.v.LH);
+  print_char('=');
+  print_int(w.hh.b0);
+  print_char(':');
+  print_int(w.hh.b1);
+  print_char(';');
+  print_int(w.hh.v.RH);
+  print_char(' ');
   print_int(w.qqqq.b0); 
-  print_char(58);     /* : */
+  print_char(':');
   print_int(w.qqqq.b1); 
-  print_char(58);     /* : */
+  print_char(':');
   print_int(w.qqqq.b2); 
-  print_char(58);     /* : */
-  print_int(w.qqqq.b3); 
+  print_char(':');
+  print_int(w.qqqq.b3);
 } 
-
 /* need this version only if SHORTFONTINFO defined */
-
 void zprintfword(fmemoryword w)
 {
   print_int(w.cint);
-  print_char(32);      /*   */
-  print_scaled(w.cint); 
-  print_char(32);     /*   */
-  print_scaled(round(65536L * w.gr)); 
-  print_ln (); 
-  print_int(w.hh.v.LH); 
-  print_char(61);     /* = */
-  print_int(w.hh.b0); 
-  print_char(58);     /* : */
-  print_int(w .hh.b1); 
-  print_char(59);     /*; */
-  print_int(w.hh.v.RH); 
-  print_char(32);     /*   */
-  print_int(w.qqqq.b0); 
-  print_char(58);     /* : */
-  print_int(w.qqqq.b1); 
-  print_char(58);     /* : */
-  print_int(w.qqqq.b2); 
-  print_char(58);     /* : */
-  print_int(w.qqqq.b3); 
-} 
-#endif /* DEBUG */
+  print_char(' ');
+  print_scaled(w.cint);
+  print_char(' ');
+  print_scaled(round(65536L * w.gr));
+  print_ln ();
+  print_int(w.hh.v.LH);
+  print_char('=');
+  print_int(w.hh.b0);
+  print_char(':');
+  print_int(w .hh.b1);
+  print_char(';');
+  print_int(w.hh.v.RH);
+  print_char(' ');
+  print_int(w.qqqq.b0);
+  print_char(':');
+  print_int(w.qqqq.b1);
+  print_char(':');
+  print_int(w.qqqq.b2);
+  print_char(':');
+  print_int(w.qqqq.b3);
+}
+#endif
 
 void show_token_list_(integer p, integer q, integer l)
-{/* 10 */
-  integer m, c; 
-  ASCII_code matchchr; 
-  ASCII_code n; 
-  matchchr = 35; 
-  n = 48; 
-  tally = 0; 
+{
+  integer m, c;
+  ASCII_code matchchr;
+  ASCII_code n;
+  matchchr = 35;
+  n = 48;
+  tally = 0;
 /* while (p<>null) and (tally<l) do l.6239 */
-  while((p != 0)&&(tally < l)) {
-      
-    if(p == q)
+  while ((p != 0) && (tally < l)) {
+    if (p == q)
     {
-      first_count = tally; 
-      trick_count = tally + 1 + error_line - half_error_line; 
-      if(trick_count < error_line)
-      trick_count = error_line; 
-    } 
-    if((p < hi_mem_min)||(p > mem_end)) 
+      first_count = tally;
+      trick_count = tally + 1 + error_line - half_error_line;
+      if (trick_count < error_line)
+        trick_count = error_line;
+    }
+    if ((p < hi_mem_min) || (p > mem_end))
     {
-      print_esc("CLOBBERED."); /*  */
-      return; 
-    } 
-    if(mem[p].hh.v.LH >= 4095)
-    print_cs(mem[p].hh.v.LH - 4095); 
-    else {
-  
-      m = mem[p].hh.v.LH / 256; 
-/*      m = mem[p].hh.v.LH >> 8;  */
-      c = mem[p].hh.v.LH % 256; 
-/*      c = mem[p].hh.v.LH & 255;  */
-      if(mem[p].hh.v.LH < 0)
-      print_esc("BAD.");     /*  */
-      else switch(m)
-      {case 1 : 
-      case 2 : 
-      case 3 : 
-      case 4 : 
-      case 7 : 
-      case 8 : 
-      case 10 : 
-      case 11 : 
-      case 12 : 
-  print(c); 
-  break; 
-      case 6 : 
-  {
-    print(c); 
-    print(c); 
-  } 
-  break; 
-      case 5 : 
-  {
-    print(matchchr); 
-    if(c <= 9)
-    print_char(c + 48); 
+      print_esc("CLOBBERED.");
+      return;
+    }
+    if (mem[p].hh.v.LH >= 4095)
+      print_cs(mem[p].hh.v.LH - 4095);
     else {
-      print_char(33);   /* ! */
-      return; 
-    } 
-  } 
-  break; 
-      case 13 : 
-  {
-/*    matchchr =  c; */   /* keep compiler happy */
-    matchchr = (ASCII_code) c; 
-    print(c); 
-    incr(n); 
-    print_char(n); 
-    if(n > 57)
-      return; 
-  } 
-  break; 
-      case 14 : 
-  print_string("->");
-  break; 
-  default: 
-  print_esc("BAD. ");
-  break; 
-      } 
-    } 
+      m = mem[p].hh.v.LH / 256;
+      c = mem[p].hh.v.LH % 256;
+      if (mem[p].hh.v.LH < 0)
+        print_esc("BAD.");
+      else
+        switch (m)
+        {
+          case 1:
+          case 2:
+          case 3:
+          case 4:
+          case 7:
+          case 8:
+          case 10:
+          case 11:
+          case 12:
+            print(c);
+            break;
+          case 6:
+            {
+              print(c);
+              print(c);
+            }
+            break;
+          case 5:
+            {
+              print(matchchr);
+              if (c <= 9)
+                print_char(c + '0');
+              else {
+                print_char('!');
+                return;
+              }
+            }
+            break;
+          case 13:
+            {
+              matchchr = (ASCII_code) c;
+              print(c);
+              incr(n);
+              print_char(n);
+              if (n > 57)
+                return;
+            }
+            break;
+          case 14:
+            print_string("->");
+            break;
+          default:
+            print_esc("BAD. ");
+            break;
+        }
+    }
     p = mem[p].hh.v.RH; 
   } 
 /* if p<>null then print_esc("ETC."); l.6244 */
-  if(p != 0)
-    print_esc("ETC.");     /*  */
-} 
-
-void runaway (void) 
+  if (p != 0)
+    print_esc("ETC.");
+}
+/* sec 0306 */
+void runaway (void)
 {
-  halfword p; 
-  if(scanner_status > 1)
+  halfword p;
+  if (scanner_status > 1)
   {
-    print_nl("Runaway ");        /*  */
-    switch(scanner_status)
-    {case 2 : 
-      {
-  print_string("definition");
-  p = def_ref; 
-      } 
-      break; 
-    case 3 : 
-      {
-  print_string("argument");
-  p = mem_top - 3; 
-      } 
-      break; 
-    case 4 : 
-      {
-  print_string("preamble");
-  p = mem_top - 4; 
-      } 
-      break; 
-    case 5 : 
-      {
-  print_string("text");
-  p = def_ref; 
-      } 
-      break; 
-    } 
-    print_char(63);       /* ? */
-    print_ln (); 
+    print_nl("Runaway ");
+    switch (scanner_status)
+    {
+      case 2:
+        {
+          print_string("definition");
+          p = def_ref;
+        }
+        break;
+      case 3:
+        {
+          print_string("argument");
+          p = temp_head;
+        }
+        break;
+      case 4:
+        {
+          print_string("preamble");
+          p = hold_head;
+        }
+        break;
+      case 5:
+        {
+          print_string("text");
+          p = def_ref;
+        }
+        break;
+    }
+    print_char('?');
+    print_ln ();
 /*  p may be used without being initialized -- OK */
     show_token_list(mem[p].hh.v.RH, 0, error_line - 10); 
-  } 
-} 
-
+  }
+}
+/* sec 0120 */
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-/* first try list of available nodes (avail != NULL) */
-/* then see if can go upwards (mem_end < mem_max) */
-/* then see if can go downwards (hi_mem_min > lo_mem_max) */
-/* if not, extend memory at the top and grab from there --- new */
-/* else fail ! */ /* paragraph 120 */
+/* first try list of available nodes (avail != NULL)                   */
+/* then see if can go upwards (mem_end < mem_max)                      */
+/* then see if can go downwards (hi_mem_min > lo_mem_max)              */
+/* if not, extend memory at the top and grab from there --- new        */
+/* else fail ! paragraph 120                                           */
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-halfword get_avail (void) 
+halfword get_avail (void)
 {
-  register halfword Result; 
-  halfword p; 
-  p = avail; 
-  if(p != 0)                /* while p<>null do */
-  avail = mem[avail].hh.v.RH; 
-  else if(mem_end < mem_max)        /* mem_end + 1 < mem_max ? NO */
+  register halfword Result;
+  halfword p;
+  p = avail;
+  if (p != 0) /* while p<>null do */
+    avail = link(avail);
+  else if (mem_end < mem_max) /* mem_end + 1 < mem_max ? NO */
   {
-    incr(mem_end); 
-    p = mem_end; 
-  } 
-  else { 
-    decr(hi_mem_min); 
-    p = hi_mem_min; 
+    incr(mem_end);
+    p = mem_end;
+  } else {
+    decr(hi_mem_min);
+    p = hi_mem_min;
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-    if(hi_mem_min <= lo_mem_max){   /* have we run out in middle ? */
-    incr(hi_mem_min);       /* undo the change */
+    if (hi_mem_min <= lo_mem_max) {   /* have we run out in middle ? */
+      incr(hi_mem_min);       /* undo the change */
 /*    realloc_main (0, mem_top/2); */ /* extend main memory at hi end */
-    mem = realloc_main (0, mem_top/2);  /* zzzaa = zmem = mem */
-    if (mem == NULL) {
-      return 0;
-    }
+      mem = realloc_main (0, mem_top / 2);  /* zzzaa = zmem = mem */
+      if (mem == NULL) {
+        return 0;
+      }
 /* presumably now mem_end < mem_max - but need test in case allocation fails */
-    if (mem_end >= mem_max)    {
-      runaway (); 
-      overflow("main memory size", mem_max + 1 - mem_min); /* main memory size */
-      return 0;           // abort_flag set
-    } 
-    incr(mem_end);        /* then grab from new area */
-    p = mem_end;          /* 1993/Dec/14 */
-  }
+      if (mem_end >= mem_max) {
+        runaway ();
+        overflow("main memory size", mem_max + 1 - mem_min); /* main memory size */
+        return 0;           // abort_flag set
+      }
+      incr(mem_end);        /* then grab from new area */
+      p = mem_end;          /* 1993/Dec/14 */
+    }
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-  } 
+  }
   mem[p].hh.v.RH = 0;       /* link(p) = null !!! */
   ;
 #ifdef STAT
@@ -1452,113 +1427,107 @@ halfword get_avail (void)
   Result = p; 
   return Result; 
 } 
-
+/* sec 0123 */
 void flush_list_(halfword p)          /* paragraph 123 */
 { 
   halfword q, r; 
-  if(p != 0)              /* null !!! */
+  if (p != 0)              /* null !!! */
   {
-    r = p; 
+    r = p;
     do {
-  q = r; 
-      r = mem[r].hh.v.RH; 
-  ;
+      q = r;
+      r = link(r);
+      ;
 #ifdef STAT
-      decr(dyn_used); 
+      decr(dyn_used);
 #endif /* STAT */
-    } while(!(r == 0));     /* r != null */
-    mem[q].hh.v.RH = avail; 
-    avail = p; 
-  } 
-} 
-
-halfword get_node_(integer s) 
-{/* 40 10 20 */
-  register halfword Result; 
-  halfword p; 
-  halfword q; 
-  integer r; 
-  integer t; 
-  lab20: p = rover; 
+    } while (!(r == 0));     /* r != null */
+    link(q) = avail;
+    avail = p;
+  }
+}
+/* sec 0125 */
+halfword get_node_(integer s)
+{
+  register halfword Result;
+  halfword p;
+  halfword q;
+  integer r;
+  integer t;
+lab20: p = rover;
   do {
-      q = p + mem[p].hh.v.LH; 
+      q = p + mem[p].hh.v.LH;
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
 /*    while((mem[q].hh.v.RH == 262143L)) { */ /* NO! */
-    while((mem[q].hh.v.RH == empty_flag)) {
+      while ((mem[q].hh.v.RH == empty_flag)) {
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-
-    if (q == 0) {
+        if (q == 0) {
 /* should never happen, since this field is reference count for zeroglue */
-    }  /* debugging code 93/DEC/15 */ /* eventually remove */
-
+        }  /* debugging code 93/DEC/15 */ /* eventually remove */
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-      t = mem[q + 1].hh.v.RH; 
-      if(q == rover)
-      rover = t; 
-      mem[t + 1].hh.v.LH = mem[q + 1].hh.v.LH; 
-      mem[mem[q + 1].hh.v.LH + 1].hh.v.RH = t; 
-      q = q + mem[q].hh.v.LH; 
-    } 
-    r = q - s; 
-    if(r > toint(p + 1)) 
-    {
-      mem[p].hh.v.LH = r - p; 
-      rover = p; 
-      goto lab40; 
-    } 
-    if(r == p)
-    if(mem[p + 1].hh.v.RH != p)
-    {
-      rover = mem[p + 1].hh.v.RH; 
-      t = mem[p + 1].hh.v.LH; 
-      mem[rover + 1].hh.v.LH = t; 
-      mem[t + 1].hh.v.RH = rover; 
-      goto lab40; 
-    } 
-    mem[p].hh.v.LH = q - p; 
-    p = mem[p + 1].hh.v.RH; 
-  } while(!(p == rover)); 
-  if(s == 1073741824L)    /* 2^30 - special case - merge adjacent */
+        t = mem[q + 1].hh.v.RH;
+        if (q == rover)
+          rover = t;
+        mem[t + 1].hh.v.LH = mem[q + 1].hh.v.LH;
+        mem[mem[q + 1].hh.v.LH + 1].hh.v.RH = t;
+        q = q + mem[q].hh.v.LH;
+      }
+      r = q - s;
+      if (r > toint(p + 1)) 
+      {
+        mem[p].hh.v.LH = r - p;
+        rover = p;
+        goto lab40;
+      }
+      if (r == p)
+        if (mem[p + 1].hh.v.RH != p)
+        {
+          rover = mem[p + 1].hh.v.RH;
+          t = mem[p + 1].hh.v.LH;
+          mem[rover + 1].hh.v.LH = t;
+          mem[t + 1].hh.v.RH = rover;
+          goto lab40;
+        }
+      mem[p].hh.v.LH = q - p;
+      p = mem[p + 1].hh.v.RH;
+  } while (!(p == rover));
+  if (s == 1073741824L)    /* 2^30 - special case - merge adjacent */
   {
-/*    Result = 262143L;  */ /* NO ! */
-    Result = empty_flag; 
+    Result = empty_flag;
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-  if (trace_flag) show_line("Merged adjacent multi-word nodes\n", 0);
+    if (trace_flag)
+      show_line("Merged adjacent multi-word nodes\n", 0);
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
-    return Result; 
-  } 
+    return Result;
+  }
 /*  maybe try downward epxansion first instead ? */
-  if(lo_mem_max + 2 < hi_mem_min)
-
+  if (lo_mem_max + 2 < hi_mem_min)
 /*  if(lo_mem_max + 2 <= 262143L) */  /* NO! */
-  if(lo_mem_max + 2 <= mem_bot + max_halfword)  /* silly ? flush 93/Dec/16 */
-
-  {
+    if(lo_mem_max + 2 <= mem_bot + max_halfword)  /* silly ? flush 93/Dec/16 */
+    {
 /*    if(hi_mem_min - lo_mem_max >= 1998) */
-    if(hi_mem_min - lo_mem_max >= (block_size + block_size - 2))
+      if (hi_mem_min - lo_mem_max >= (block_size + block_size - 2))
 /*    t = lo_mem_max + 1000;  */
-    t = lo_mem_max + block_size; 
-    else t = lo_mem_max + 1 +(hi_mem_min - lo_mem_max)/ 2; 
-    p = mem[rover + 1].hh.v.LH; 
-    q = lo_mem_max; 
-    mem[p + 1].hh.v.RH = q; 
-    mem[rover + 1].hh.v.LH = q; 
-
+        t = lo_mem_max + block_size;
+      else
+        t = lo_mem_max + 1 +(hi_mem_min - lo_mem_max) / 2;
+      p = mem[rover + 1].hh.v.LH;
+      q = lo_mem_max;
+      mem[p + 1].hh.v.RH = q;
+      mem[rover + 1].hh.v.LH = q;
 /*    if(t > 262143L)   t = 262143L;  */ /* NO! */
-    if(t > mem_bot + max_halfword)
-    t = mem_bot + max_halfword;     /* silly ? flush 93/Dec/16 */
-
-    mem[q + 1].hh.v.RH = rover; 
-    mem[q + 1].hh.v.LH = p; 
-/*    mem[q].hh.v.RH = 262143L; */ /* NO! */
-    mem[q].hh.v.RH = empty_flag; 
-    mem[q].hh.v.LH = t - lo_mem_max; /* block size */
-    lo_mem_max = t; 
-    mem[lo_mem_max].hh.v.RH = 0; 
-    mem[lo_mem_max].hh.v.LH = 0; 
-    rover = q; 
-    goto lab20; 
-  } 
+      if (t > mem_bot + max_halfword)
+        t = mem_bot + max_halfword;     /* silly ? flush 93/Dec/16 */
+      mem[q + 1].hh.v.RH = rover;
+      mem[q + 1].hh.v.LH = p;
+      mem[q].hh.v.RH = empty_flag;
+      mem[q].hh.v.LH = t - lo_mem_max; /* block size */
+      lo_mem_max = t;
+      mem[lo_mem_max].hh.v.RH = 0;
+      mem[lo_mem_max].hh.v.LH = 0;
+      rover = q;
+      goto lab20;
+    }
 /*  overflow("main memory size", mem_max + 1 - mem_min);  */ /* what used to happen! */
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
 /* we've run out of space in the middle for variable length blocks */
@@ -1600,15 +1569,14 @@ halfword get_node_(integer s)
 
 void free_node_(halfword p, halfword s)
 { 
-  halfword q; 
-  mem[p].hh.v.LH = s; 
-/*  mem[p].hh.v.RH = 262143L;  */ /* NO! */
-  mem[p].hh.v.RH = empty_flag; 
-  q = mem[rover + 1].hh.v.LH; 
-  mem[p + 1].hh.v.LH = q; 
-  mem[p + 1].hh.v.RH = rover; 
-  mem[rover + 1].hh.v.LH = p; 
-  mem[q + 1].hh.v.RH = p; 
+  halfword q;
+  mem[p].hh.v.LH = s;
+  mem[p].hh.v.RH = empty_flag;
+  q = mem[rover + 1].hh.v.LH;
+  mem[p + 1].hh.v.LH = q;
+  mem[p + 1].hh.v.RH = rover;
+  mem[rover + 1].hh.v.LH = p;
+  mem[q + 1].hh.v.RH = p;
   ;
 #ifdef STAT
   var_used = var_used - s; 
@@ -1617,21 +1585,21 @@ void free_node_(halfword p, halfword s)
 
 halfword new_null_box (void) 
 {
-  register halfword Result; 
+  register halfword Result;
   halfword p; 
-  p = get_node(7); 
-  mem[p].hh.b0 = 0; 
-  mem[p].hh.b1 = 0; 
-  mem[p + 1].cint = 0; 
-  mem[p + 2].cint = 0; 
-  mem[p + 3].cint = 0; 
-  mem[p + 4].cint = 0; 
-  mem[p + 5].hh.v.RH = 0; 
-  mem[p + 5].hh.b0 = 0; 
-  mem[p + 5].hh.b1 = 0; 
-  mem[p + 6].gr = 0.0; 
-  Result = p; 
-  return Result; 
+  p = get_node(7);
+  mem[p].hh.b0 = 0;
+  mem[p].hh.b1 = 0;
+  mem[p + 1].cint = 0;
+  mem[p + 2].cint = 0;
+  mem[p + 3].cint = 0;
+  mem[p + 4].cint = 0;
+  mem[p + 5].hh.v.RH = 0;
+  mem[p + 5].hh.b0 = 0;
+  mem[p + 5].hh.b1 = 0;
+  mem[p + 6].gr = 0.0;
+  Result = p;
+  return Result;
 } 
 
 // @ A new rule node is delivered by the |new_rule| function. It
@@ -1794,41 +1762,49 @@ void check_mem_(bool printlocs)
 {/* 31 32 */  
   halfword p, q; 
   bool clobbered; 
-  {register integer for_end; p = mem_min; for_end = lo_mem_max; if(p <= 
-  for_end) do 
-    freearr[p]= false; 
-  while(p++ < for_end); } 
-  {register integer for_end; p = hi_mem_min; for_end = mem_end; if(p <= 
-  for_end) do 
-    freearr[p]= false; 
-  while(p++ < for_end); } 
-  p = avail; 
-  q = 0; 
-  clobbered = false; 
-  while(p != 0){    /* while p<>null do */
-    if((p > mem_end)||(p < hi_mem_min)) 
-    clobbered = true; 
-    else if(freearr[p])
-    clobbered = true; 
-    if(clobbered)
+  {
+    register integer for_end;
+    p = mem_min;
+    for_end = lo_mem_max;
+    if(p <= for_end) do 
+      freearr[p]= false;
+    while (p++ < for_end);
+  }
+  {
+    register integer for_end;
+    p = hi_mem_min;
+    for_end = mem_end;
+    if(p <= for_end) do
+      freearr[p]= false;
+    while (p++ < for_end);
+  }
+  p = avail;
+  q = 0;
+  clobbered = false;
+  while (p != 0) {    /* while p<>null do */
+    if ((p > mem_end) || (p < hi_mem_min))
+      clobbered = true;
+    else if (freearr[p])
+      clobbered = true;
+    if (clobbered)
     {
-      print_nl("AVAIL list clobbered at ");    /*  */
-      print_int(q); 
-      goto lab31; 
-    } 
-    freearr[p]= true; 
-    q = p; 
-    p = mem[q].hh.v.RH; 
-  } 
-  lab31:; 
-  p = rover; 
+      print_nl("AVAIL list clobbered at ");
+      print_int(q);
+      goto lab31;
+    }
+    freearr[p] = true;
+    q = p;
+    p = mem[q].hh.v.RH;
+  }
+lab31:;
+  p = rover;
   q = 0;        /* q:=null */
-  clobbered = false; 
+  clobbered = false;
   do {
-      if((p >= lo_mem_max)||(p < mem_min)) 
-    clobbered = true; 
-    else if((mem[p + 1].hh.v.RH >= lo_mem_max)||(mem[p + 1].hh.v.RH < mem_min)) 
-    clobbered = true; 
+      if ((p >= lo_mem_max) || (p < mem_min))
+        clobbered = true;
+      else if ((mem[p + 1].hh.v.RH >= lo_mem_max) || (mem[p + 1].hh.v.RH < mem_min))
+        clobbered = true;
 /*    else if(!((mem[p].hh.v.RH == 262143L)) ||(mem[p].hh *//*NO!*/
     else if(!((mem[p].hh.v.RH == empty_flag)) ||
         (mem[p].hh .v.LH < 2) || 
@@ -1837,364 +1813,396 @@ void check_mem_(bool printlocs)
       clobbered = true;
     if(clobbered)
     {
-      print_nl("Double-AVAIL list clobbered at ");    /*  */
-      print_int(q); 
-      goto lab32; 
+      print_nl("Double-AVAIL list clobbered at ");
+      print_int(q);
+      goto lab32;
     } 
-    {register integer for_end; q = p; for_end = p + mem[p].hh.v.LH - 1 
- ; if(q <= for_end) do 
+    {
+      register integer for_end;
+      q = p;
+      for_end = p + mem[p].hh.v.LH - 1;
+      if (q <= for_end) do 
       {
-  if(freearr[q])
-  {
-    print_nl("Doubly free location at ");    /*  */
-    print_int(q); 
-    goto lab32; 
-  } 
-  freearr[q]= true; 
-      } 
-    while(q++ < for_end); } 
-    q = p; 
-    p = mem[p + 1].hh.v.RH; 
-  } while(!(p == rover)); 
-  lab32:; 
-  p = mem_min; 
-  while(p <= lo_mem_max){sss      
-/*    if((mem[p].hh.v.RH == 262143L))  */ /* NO! */
+        if (freearr[q])
+        {
+          print_nl("Doubly free location at ");
+          print_int(q);
+          goto lab32;
+        }
+        freearr[q]= true;
+      } while (q++ < for_end);
+    }
+    q = p;
+    p = mem[p + 1].hh.v.RH;
+  } while (!(p == rover));
+lab32:;
+  p = mem_min;
+  while (p <= lo_mem_max) {
     if((mem[p].hh.v.RH == empty_flag)) 
     {
-      print_nl("Bad flag at ");      /*  */
-      print_int(p); 
-    } 
-    while((p <= lo_mem_max)&& ! freearr[p])incr(p); 
-    while((p <= lo_mem_max)&& freearr[p])incr(p); 
-  } 
-  if(printlocs)
+      print_nl("Bad flag at ");
+      print_int(p);
+    }
+    while ((p <= lo_mem_max) && !freearr[p]) incr(p);
+    while ((p <= lo_mem_max) && freearr[p]) incr(p);
+  }
+  if (printlocs)
   {
-    print_nl("New busy locs:");      /*  */
-    {register integer for_end; p = mem_min; for_end = lo_mem_max; if(p <= 
-    for_end) do 
-      if(! freearr[p]&&((p > waslomax)|| wasfree[p])) 
-      {
-  print_char(32);     /*   */
-  print_int(p); 
-      } 
-    while(p++ < for_end); } 
-    {register integer for_end; p = hi_mem_min; for_end = mem_end; if(p <= 
-    for_end) do 
-      if(! freearr[p]&&((p < washimin)||(p > wasmemend)|| 
-      wasfree[p])) 
-      {
-  print_char(32);     /*   */
-  print_int(p); 
-      } 
-    while(p++ < for_end); } 
+    print_nl("New busy locs:");
+    {
+      register integer for_end;
+      p = mem_min;
+      for_end = lo_mem_max;
+      if(p <= for_end) do
+        if (!freearr[p] && ((p > was_lo_max) || wasfree[p]))
+        {
+          print_char(' ');
+          print_int(p);
+        } while (p++ < for_end);
+    }
+    {
+      register integer for_end;
+      p = hi_mem_min;
+      for_end = mem_end;
+      if (p <= for_end) do
+        if (!freearr[p] && ((p < was_hi_min) || (p > was_mem_end) || wasfree[p]))
+        {
+          print_char(' ');
+          print_int(p);
+        } while (p++ < for_end);
+    }
   } 
-  {register integer for_end; p = mem_min; for_end = lo_mem_max; if(p <= 
-  for_end) do 
-    wasfree[p]= freearr[p]; 
-  while(p++ < for_end); } 
-  {register integer for_end; p = hi_mem_min; for_end = mem_end; if(p <= 
-  for_end) do 
-    wasfree[p]= freearr[p]; 
-  while(p++ < for_end); } 
-  wasmemend = mem_end; 
-  waslomax = lo_mem_max; 
-  washimin = hi_mem_min; 
-} 
+  {
+    register integer for_end;
+    p = mem_min;
+    for_end = lo_mem_max;
+    if(p <= for_end) do
+      wasfree[p]= freearr[p];
+    while (p++ < for_end);
+  }
+  {
+    register integer for_end;
+    p = hi_mem_min;
+    for_end = mem_end;
+    if(p <= for_end) do
+      wasfree[p] = freearr[p];
+    while (p++ < for_end);
+  }
+  was_mem_end = mem_end;
+  was_lo_max = lo_mem_max;
+  was_hi_min = hi_mem_min;
+}
 #endif /* DEBUG */
 
 #ifdef DEBUG
 void search_mem_(halfword p)
 {
   integer q; 
-  {register integer for_end; q = mem_min; for_end = lo_mem_max; if(q <= 
-  for_end) do 
+  {
+    register integer for_end;
+    q = mem_min;
+    for_end = lo_mem_max;
+    if(q <= for_end) do
     {
-      if(mem[q].hh.v.RH == p)
+      if (link(q) == p)
       {
-  print_nl("LINK(");  /* */
-  print_int(q); 
-  print_char(41); /*)*/
-      } 
-      if(mem[q].hh.v.LH == p)
+        print_nl("LINK(");
+        print_int(q);
+        print_char(')');
+      }
+      if (info(q) == p)
       {
-  print_nl("INFO(");  /* */
-  print_int(q); 
-  print_char(41); /*)*/
-      } 
-    } 
-  while(q++ < for_end); } 
-  {register integer for_end; q = hi_mem_min; for_end = mem_end; if(q <= 
-  for_end) do 
+        print_nl("INFO(");
+        print_int(q);
+        print_char(')');
+      }
+    } while (q++ < for_end);
+  }
+  {
+    register integer for_end;
+    q = hi_mem_min;
+    for_end = mem_end;
+    if (q <= for_end) do
     {
-      if(mem[q].hh.v.RH == p)
+      if(link(q) == p)
       {
-  print_nl("LINK(");  /* */
-  print_int(q); 
-  print_char(41); /*)*/
-      } 
-      if(mem[q].hh.v.LH == p)
+        print_nl("LINK(");
+        print_int(q);
+        print_char(')');
+      }
+      if (info(q) == p)
       {
-  print_nl("INFO(");  /* */
-  print_int(q); 
-  print_char(41); /*)*/
-      } 
-    } 
-  while(q++ < for_end); } 
-  {register integer for_end; q = 1; for_end = (hash_size + 1833); if(q <= for_end) do 
+        print_nl("INFO(");
+        print_int(q);
+        print_char(')');
+      }
+    } while (q++ < for_end);
+  }
+  {
+    register integer for_end;
+    q = 1;
+    for_end = (hash_size + 1833);
+    if (q <= for_end) do
     {
       if(eqtb[q].hh.v.RH == p)
       {
-  print_nl("EQUIV(");    /* */
-  print_int(q); 
-  print_char(41);   /*)*/
-      } 
-    } 
-  while(q++ < for_end); } 
-  if(save_ptr > 0)
-  {register integer for_end; q = 0; for_end = save_ptr - 1; if(q <= 
-  for_end) do 
+        print_nl("EQUIV(");
+        print_int(q);
+        print_char(')');
+      }
+    } while(q++ < for_end);
+  }
+  if (save_ptr > 0)
+  {
+    register integer for_end;
+    q = 0;
+    for_end = save_ptr - 1;
+    if(q <= for_end) do 
     {
-      if(save_stack[q].hh.v.RH == p)
+      if (save_stack[q].hh.v.RH == p)
       {
-  print_nl("SAVE(");      /* */
-  print_int(q); 
-  print_char(41);     /*)*/
-      } 
-    } 
-  while(q++ < for_end); } 
+        print_nl("SAVE(");
+        print_int(q);
+        print_char(41);
+      }
+    } while (q++ < for_end);
+  }
 /*  {register integer for_end; q = 0; for_end = 607; if(q <= for_end) do */
-  {register integer for_end; q = 0; for_end = hyphen_prime; if(q <= for_end) do 
+  {
+    register integer for_end;
+    q = 0;
+    for_end = hyphen_prime;
+    if (q <= for_end) do 
     {
-      if(hyph_list[q]== p)
+      if (hyph_list[q]== p)
       {
-  print_nl("HYPH(");
-  print_int(q); 
-  print_char(41);     /*)*/
-      } 
-    } 
-  while(q++ < for_end); } 
-} 
+        print_nl("HYPH(");
+        print_int(q);
+        print_char(')');
+      }
+    } while(q++ < for_end);
+  }
+}
 #endif /* DEBUG */
 
 void short_display_(integer p)
 {
   integer n; 
 /*  while(p > mem_min){ */
-  while(p != 0){      /* want p != null here bkph 93/Dec/15 !!! */
+  while (p != 0) {      /* want p != null here bkph 93/Dec/15 !!! */
                 /* NOTE: still not fixed in 3.14159 ! */
-     if((p >= hi_mem_min))  /* is_char_node(p) */
+     if ((p >= hi_mem_min))  /* is_char_node(p) */
+     {
+       if (p <= mem_end)
+       {
+         if (mem[p].hh.b0 != font_in_short_display) /* font(p) */
+         {
+           if ((mem[p].hh.b0 > font_max)) 
+             print_char('*');
+/*    else print_esc(hash[(hash_size + 524) + mem[p].hh.b0].v.RH); */
+           else //print_esc(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH);
+           {print_esc("");print(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH);}
+/* 96/Jan/10 */
+           print_char(' ');
+           font_in_short_display = mem[p].hh.b0;
+         }
+         print(mem[p].hh.b1);          /* character(p) */
+       }
+    } else switch (mem[p].hh.b0)
     {
-      if(p <= mem_end)
-      {
-  if(mem[p].hh.b0 != font_in_short_display) /* font(p) */
-  {
-    if((mem[p].hh.b0 > font_max)) 
-    print_char(42);   /* * */
+      case 0:
+      case 1:
+      case 3:
+      case 8:
+      case 4:
+      case 5:
+      case 13:
+        print_string("[]");
+        break;
+      case 2:
+        print_char('|');
+        break;
+      case 10:
+        if (mem[p + 1].hh.v.LH != 0)
+          print_char(' ');
+        break;
+      case 9:
+        print_char('$');
+        break;
+      case 6:
+        short_display(mem[p + 1].hh.v.RH);
+        break;
+      case 7:
+        {
+          short_display(mem[p + 1].hh.v.LH);
+          short_display(mem[p + 1].hh.v.RH);
+          n = mem[p].hh.b1;
+          while (n > 0) {
+            if(link(p) != 0) /* if link(p)<>null then */
+              p = mem[p].hh.v.RH;
+            decr(n);
+          }
+        }
+        break;
+      default:
+        ;
+        break;
+    }
+    p = mem[p].hh.v.RH;
+  }
+}
+
+void print_font_and_char_ (integer p)
+{
+  if (p > mem_end)
+    print_esc("CLOBBERED.");
+  else {
+    if((mem[p].hh.b0 > font_max)) /* font(p) */
+      print_char(42);   /* * */
 /*    else print_esc(hash[(hash_size + 524) + mem[p].hh.b0].v.RH); */
-    else //print_esc(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH);
-    {print_esc("");print(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH);}
-                            /* 96/Jan/10 */
-    print_char(32);   /*   */
-    font_in_short_display = mem[p].hh.b0; 
-  } 
-  print(mem[p].hh.b1);          /* character(p) */
-      } 
-    } 
-    else switch(mem[p].hh.b0)
-    {case 0 : 
-    case 1 : 
-    case 3 : 
-    case 8 : 
-    case 4 : 
-    case 5 : 
-    case 13 : 
-      print_string("[]");
-      break; 
-    case 2 : 
-      print_char(124);  /* | */
-      break; 
-    case 10 : 
-      if(mem[p + 1].hh.v.LH != 0)
-      print_char(32); /*   */
-      break; 
-    case 9 : 
-      print_char(36); /* $ */
-      break; 
-    case 6 : 
-      short_display(mem[p + 1].hh.v.RH); 
-      break; 
-    case 7 : 
-      {
-  short_display(mem[p + 1].hh.v.LH); 
-  short_display(mem[p + 1].hh.v.RH); 
-  n = mem[p].hh.b1; 
-  while(n > 0){
-    if(mem[p].hh.v.RH != 0) /* if link(p)<>null then */
-    p = mem[p].hh.v.RH; 
-    decr(n); 
-  } 
-      } 
-      break; 
-      default: 
-   ; 
-      break; 
-    } 
-    p = mem[p].hh.v.RH; 
-  } 
-} 
-
-void print_font_and_char_ (integer p)
-{
-  if(p > mem_end)
-    print_esc("CLOBBERED.");
-  else {
-    if((mem[p].hh.b0 > font_max)) /* font(p) */
-      print_char(42);   /* * */
-/*    else print_esc(hash[(hash_size + 524) + mem[p].hh.b0].v.RH); */
-    else
-      //print_esc(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH); /* 96/Jan/10 */
-      {print_esc("");print(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH);}
-    print_char(32);   /*   */
-    print(mem[p].hh.b1);      /* character(p) */
+    else
+      //print_esc(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH); /* 96/Jan/10 */
+      {print_esc("");print(hash[(hash_size + hash_extra + 524) + mem[p].hh.b0].v.RH);}
+    print_char(' ');
+    print(mem[p].hh.b1);      /* character(p) */
   } 
 } 
 
 void print_mark_ (integer p)
 { 
-  print_char(123);    /* { */
-  if((p < hi_mem_min)||(p > mem_end)) 
+  print_char('{');
+  if ((p < hi_mem_min)||(p > mem_end))
     print_esc("CLOBBERED.");
-  else show_token_list(mem[p].hh.v.RH, 0, max_print_line - 10); 
-  print_char(125);    /* } */
+  else
+    show_token_list(mem[p].hh.v.RH, 0, max_print_line - 10);
+  print_char('}');
 } 
 
 void print_rule_dimen_ (scaled d)
 {
-  if((d == -1073741824L)) /* - 2^30 */
-    print_char(42);   /* * */
+  if ((d == -1073741824L)) /* - 2^30 */
+    print_char('*');
   else
-    print_scaled(d); 
-} 
+    print_scaled(d);
+}
 
 void print_glue_(scaled d, integer order, str_number s)
 {
   print_scaled(d); 
-  if((order < 0)||(order > 3)) 
+  if ((order < 0)||(order > 3))
     print_string("foul");
-  else if(order > 0)
+  else if (order > 0)
   {
     print_string("fil");
-    while(order > 1){
-      print_char(108); /* l */
-      decr(order); 
-    } 
-  } 
-  else if(s != 0)
-  print(s);
-} 
+    while (order > 1) {
+      print_char('l');
+      decr(order);
+    }
+  } else if(s != 0)
+    print(s);
+}
 
 void print_spec_(integer p, str_number s)
 {
-  if((p < mem_min)||(p >= lo_mem_max)) 
-  print_char(42);   /* * */
+  if ((p < mem_min)||(p >= lo_mem_max)) 
+    print_char('*');
   else {
-    print_scaled(mem[p + 1].cint); 
-    if(s != 0)
-    print(s); 
-    if(mem[p + 2].cint != 0)
+    print_scaled(mem[p + 1].cint);
+    if (s != 0)
+      print(s);
+    if (mem[p + 2].cint != 0)
     {
       print_string("plus");
-      print_glue(mem[p + 2].cint, mem[p].hh.b0, s); 
-    } 
-    if(mem[p + 3].cint != 0)
+      print_glue(mem[p + 2].cint, mem[p].hh.b0, s);
+    }
+    if (mem[p + 3].cint != 0)
     {
       print_string("minus");
-      print_glue(mem[p + 3].cint, mem[p].hh.b1, s); 
-    } 
-  } 
-} 
+      print_glue(mem[p + 3].cint, mem[p].hh.b1, s);
+    }
+  }
+}
 
 void print_fam_and_char_(halfword p)
-{ 
+{
   print_esc("fam");
-  print_int(mem[p].hh.b0); 
-  print_char(32);     /*    */
-  print(mem[p].hh.b1); 
-} 
+  print_int(mem[p].hh.b0);
+  print_char(' ');
+  print(mem[p].hh.b1);
+}
 
 void print_delimiter_(halfword p)
 {
-  integer a; 
-  a = mem[p].qqqq.b0 * 256 + mem[p].qqqq.b1; 
-  a = a * 4096 + mem[p].qqqq.b2 * 256 + mem[p].qqqq.b3; 
-  if(a < 0)
-  print_int(a); 
-  else print_hex(a); 
+  integer a;
+  a = mem[p].qqqq.b0 * 256 + mem[p].qqqq.b1;
+  a = a * 4096 + mem[p].qqqq.b2 * 256 + mem[p].qqqq.b3;
+  if (a < 0)
+    print_int(a);
+  else
+    print_hex(a);
 } 
 
 void print_subsidiary_data_(halfword p, ASCII_code c)
 {
-  if((pool_ptr - str_start[str_ptr]) >= depth_threshold)
+  if ((pool_ptr - str_start[str_ptr]) >= depth_threshold)
   {
-    if(mem[p].hh.v.RH != 0)
-    print_string("[]");
-  } 
-  else {
+    if (mem[p].hh.v.RH != 0)
+      print_string("[]");
+  } else {
     {
-      str_pool[pool_ptr]= c; 
-      incr(pool_ptr); 
-    } 
-    temp_ptr = p; 
-    switch(mem[p].hh.v.RH)
-    {case 1 : 
-      {
-  print_ln (); 
-  print_current_string (); 
-  print_fam_and_char(p); 
-      } 
-      break; 
-    case 2 : 
-      show_info (); 
-      break; 
-    case 3 : 
-      if(mem[p].hh.v.LH == 0)
-      {
-  print_ln (); 
-  print_current_string (); 
-  print_string("{}");
-      } 
-      else show_info (); 
-      break; 
-      default: 
-   ; 
-      break; 
-    } 
-    decr(pool_ptr); 
-  } 
-} 
+      str_pool[pool_ptr]= c;
+      incr(pool_ptr);
+    }
+    temp_ptr = p;
+    switch (mem[p].hh.v.RH)
+    {
+      case 1:
+        {
+          print_ln ();
+          print_current_string ();
+          print_fam_and_char(p);
+        }
+        break;
+      case 2:
+        show_info ();
+        break;
+      case 3:
+        if (mem[p].hh.v.LH == 0)
+        {
+          print_ln ();
+          print_current_string ();
+          print_string("{}");
+        } else show_info ();
+        break;
+      default:
+        ;
+        break;
+    }
+    decr(pool_ptr);
+  }
+}
 /* sec 0694 */
 void print_style_(integer c)
 {
-  switch(c / 2)
+  switch (c / 2)
   {
- case 0 : 
-    print_esc("displaystyle");
-    break; 
-  case 1 : 
-    print_esc("textstyle");
-    break; 
-  case 2 : 
-    print_esc("scriptstyle");
-    break; 
-  case 3 : 
-    print_esc("scriptscriptstyle");
-    break; 
-    default: 
-    print_string("Unknown style!");
-    break; 
-  } 
-} 
+    case 0:
+      print_esc("displaystyle");
+      break;
+    case 1:
+      print_esc("textstyle");
+      break;
+    case 2:
+      print_esc("scriptstyle");
+      break;
+    case 3:
+      print_esc("scriptscriptstyle");
+      break;
+    default:
+      print_string("Unknown style!");
+      break;
+  }
+}
 /* sec 0225 */
 void print_skip_param_(integer n)
 {
@@ -2265,7 +2273,7 @@ void show_node_list_(integer p)
   integer n; 
   real g; 
 /* begin if cur_length>depth_threshold then */
-  if((pool_ptr - str_start[str_ptr])> depth_threshold)
+  if ((pool_ptr - str_start[str_ptr]) > depth_threshold)
   {
 /*    if(p > 0) */  /* was p>null !!! line 3662 in tex.web */
     if(p != 0)    /* fixed 94/Mar/23 BUG FIX */
@@ -2279,440 +2287,434 @@ void show_node_list_(integer p)
                 /* NOTE: still not fixed in 3.14159 ! */
     print_ln (); 
     print_current_string (); 
-    if(p > mem_end)
+    if (p > mem_end)
     {
       print_string("Bad link, display aborted.");
-      return; 
-    } 
-    incr(n); 
-    if(n > breadth_max)
+      return;
+    }
+    incr(n);
+    if (n > breadth_max)
     {
       print_string("etc.");
-      return; 
-    } 
-    if((p >= hi_mem_min)) 
-    print_font_and_char(p); 
-    else switch(mem[p].hh.b0)
-    {case 0 : 
-    case 1 : 
-    case 13 : 
-      {
-  if(mem[p].hh.b0 == 0)
-    print_esc("h");
-  else if(mem[p].hh.b0 == 1)
-    print_esc("v");
-  else print_esc("unset");
-  print_string("box(");
-  print_scaled(mem[p + 3].cint); 
-  print_char(43);     /* + */
-  print_scaled(mem[p + 2].cint); 
-  print_string(", shifted ");
-  print_scaled(mem[p + 1].cint); 
-  if(mem[p].hh.b0 == 13)
-  {
-    if(mem[p].hh.b1 != 0)
-    {
-      print_string(" (");
-      print_int(mem[p].hh.b1 + 1); 
-      print_string(" columns)");
-    } 
-    if(mem[p + 6].cint != 0)
-    {
-      print_string(", stretch");
-      print_glue(mem[p + 6].cint, mem[p + 5].hh.b1, 0); 
-    } 
-    if(mem[p + 4].cint != 0)
-    {
-      print_string(", shrink");
-      print_glue(mem[p + 4].cint, mem[p + 5].hh.b0, 0); 
-    } 
-  } 
-  else {
-      
-    g = mem[p + 6].gr; 
-    if((g != 0.0)&&(mem[p + 5].hh.b0 != 0)) 
-    {
-      print_string(", glue set");
-      if(mem[p + 5].hh.b0 == 2)
-      print_string("- ");
-      if(fabs(g)> 20000.0)
-      {
-        if(g > 0.0)
-        print_char(62); /* '>' */
-        else print_string("< -");
-        print_glue(20000 * 65536L, mem[p + 5].hh.b1, 0); 
-      } 
-      else print_glue(round(65536L * g), mem[p + 5].hh.b1, 0)
-   ; 
-    } 
-    if(mem[p + 4].cint != 0)
-    {
-      print_string("shifted");
-      print_scaled(mem[p + 4].cint); 
-    } 
-  } 
-  {
-    {
-      str_pool[pool_ptr]= 46; 
-      incr(pool_ptr); 
-    } 
-    show_node_list(mem[p + 5].hh.v.RH); 
-    decr(pool_ptr); 
-  } 
-      } 
-      break; 
-    case 2 : 
-      {
-  print_esc("rule(");
-  print_rule_dimen(mem[p + 3].cint); 
-  print_char(43); /* '+' */
-  print_rule_dimen(mem[p + 2].cint); 
-  print_string(")x");
-  print_rule_dimen(mem[p + 1].cint); 
-      } 
-      break; 
-    case 3 : 
-      {
-  print_esc("insert");
-  print_int(mem[p].hh.b1); 
-  print_string(",natural size ");
-  print_scaled(mem[p + 3].cint); 
-  print_string("; split(");
-  print_spec(mem[p + 4].hh.v.RH, 0); 
-  print_char(44); /* ',' */
-  print_scaled(mem[p + 2].cint); 
-  print_string("(; float cost");
-  print_int(mem[p + 1].cint); 
-  {
-    {
-      str_pool[pool_ptr]= 46; 
-      incr(pool_ptr); 
-    } 
-    show_node_list(mem[p + 4].hh.v.LH); 
-    decr(pool_ptr); 
-  } 
-      } 
-      break; 
-    case 8 : 
-      switch(mem[p].hh.b1)
-      {case 0 : 
-  {
-    print_write_whatsit(1279, p);   /* debug # (-1 to exit): */
-    print_char(61); /* = */
-    print_file_name(mem[p + 1].hh.v.RH, mem[p + 2].hh.v.LH, 
-    mem[p + 2].hh.v.RH); 
-  } 
-  break; 
-      case 1 : 
-  {
-    print_write_whatsit(591, p);  /* write */
-    print_mark(mem[p + 1].hh.v.RH); 
-  } 
-  break; 
-      case 2 : 
-  print_write_whatsit(1280, p); /* closeout */
-  break; 
-      case 3 : 
-  {
-    print_esc("special");
-    print_mark(mem[p + 1].hh.v.RH); 
-  } 
-  break; 
-      case 4 : 
-  {
-    print_esc("setlanguage");
-    print_int(mem[p + 1].hh.v.RH); 
-    print_string(" (hyphenmin");
-    print_int(mem[p + 1].hh.b0); 
-    print_char(44);   /*, */
-    print_int(mem[p + 1].hh.b1); 
-    print_char(41);   /*)*/
-  } 
-  break; 
-  default: 
-  print_string("whatsit");
-  break; 
-      } 
-      break; 
-    case 10 : 
-      if(mem[p].hh.b1 >= 100)
-      {
-  print_esc("");
-  if(mem[p].hh.b1 == 101)
-  print_char(99); /* c */
-  else if(mem[p].hh.b1 == 102)
-  print_char(120); /* x */
-  print_string("leaders ");
-  print_spec(mem[p + 1].hh.v.LH, 0); 
-  {
-    {
-      str_pool[pool_ptr]= 46; 
-      incr(pool_ptr); 
-    } 
-    show_node_list(mem[p + 1].hh.v.RH); 
-    decr(pool_ptr); 
-  } 
-      } 
-      else {
-    
-  print_esc("glue");
-  if(mem[p].hh.b1 != 0)
-  {
-    print_char(40); /*(*/
-    if(mem[p].hh.b1 < 98)
-      print_skip_param(mem[p].hh.b1 - 1); 
-    else if(mem[p].hh.b1 == 98)
-      print_esc("nonscript");
-    else print_esc("mskip");
-    print_char(41); /*)*/
-  } 
-  if(mem[p].hh.b1 != 98)
-  {
-    print_char(32); /*   */
-    if(mem[p].hh.b1 < 98)
-    print_spec(mem[p + 1].hh.v.LH, 0); 
-    else print_spec(mem[p + 1].hh.v.LH, 334); /* mu */
-  } 
-      } 
-      break; 
-    case 11 : 
-      if(mem[p].hh.b1 != 99)
-      {
-  print_esc("kern");
-  if(mem[p].hh.b1 != 0)
-  print_char(32);   /*   */
-  print_scaled(mem[p + 1].cint); 
-  if(mem[p].hh.b1 == 2)
-  print_string(" (for accent)");
-      } 
-      else {
-  print_esc("mkern");
-  print_scaled(mem[p + 1].cint); 
-  print_string("mu");
-      } 
-      break; 
-    case 9 : 
-      {
-  print_esc("math");
-  if(mem[p].hh.b1 == 0)
-    print_string("on");
-  else print_string("off");
-  if(mem[p + 1].cint != 0)
-  {
-    print_string(", surrounded");
-    print_scaled(mem[p + 1].cint); 
-  } 
-      } 
-      break; 
-    case 6 : 
-      {
-  print_font_and_char(p + 1); 
-  print_string("(ligature");
-  if(mem[p].hh.b1 > 1)
-  print_char(124); /* | */
-  font_in_short_display = mem[p + 1].hh.b0; 
-  short_display(mem[p + 1].hh.v.RH); 
-  if(odd(mem[p].hh.b1)) 
-  print_char(124); /* | */
-  print_char(41); /*)*/
-      } 
-      break; 
-    case 12 : 
-      {
-  print_esc("penalty ");
-  print_int(mem[p + 1].cint); 
-      } 
-      break; 
-    case 7 : 
-      {
-  print_esc("discretionary");
-  if(mem[p].hh.b1 > 0)
-  {
-    print_string(" replacing ");
-    print_int(mem[p].hh.b1); 
-  } 
-  {
-    {
-      str_pool[pool_ptr]= 46; 
-      incr(pool_ptr); 
-    } 
-    show_node_list(mem[p + 1].hh.v.LH); 
-    decr(pool_ptr); 
-  } 
-  {
-    str_pool[pool_ptr]= 124; 
-    incr(pool_ptr); 
-  } 
-  show_node_list(mem[p + 1].hh.v.RH); 
-  decr(pool_ptr); 
-      } 
-      break; 
-    case 4 : 
-      {
-  print_esc("mark");
-  print_mark(mem[p + 1].cint); 
-      } 
-      break; 
-    case 5 : 
-      {
-  print_esc("vadjust");
-  {
-    {
-      str_pool[pool_ptr]= 46; 
-      incr(pool_ptr); 
-    } 
-    show_node_list(mem[p + 1].cint); 
-    decr(pool_ptr); 
-  } 
-      } 
-      break; 
-    case 14 : 
-      print_style(mem[p].hh.b1); 
-      break; 
-    case 15 : 
-      {
-  print_esc("mathchoice");
-  {
-    str_pool[pool_ptr]= 68; 
-    incr(pool_ptr); 
-  } 
-  show_node_list(mem[p + 1].hh.v.LH); 
-  decr(pool_ptr); 
-  {
-    str_pool[pool_ptr]= 84; 
-    incr(pool_ptr); 
-  } 
-  show_node_list(mem[p + 1].hh.v.RH); 
-  decr(pool_ptr); 
-  {
-    str_pool[pool_ptr]= 83; 
-    incr(pool_ptr); 
-  } 
-  show_node_list(mem[p + 2].hh.v.LH); 
-  decr(pool_ptr); 
-  {
-    str_pool[pool_ptr]= 115; 
-    incr(pool_ptr); 
-  } 
-  show_node_list(mem[p + 2].hh.v.RH); 
-  decr(pool_ptr); 
-      } 
-      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(mem[p].hh.b0)
-  {case 16 : 
-    print_esc("mathord");
-    break; 
-  case 17 : 
-    print_esc("mathop");
-    break; 
-  case 18 : 
-    print_esc("mathbin");
-    break; 
-  case 19 : 
-    print_esc("mathrel");
-    break; 
-  case 20 : 
-    print_esc("mathopen");
-    break; 
-  case 21 : 
-    print_esc("mathclose");
-    break; 
-  case 22 : 
-    print_esc("mathpunct");
-    break; 
-  case 23 : 
-    print_esc("mathinner");
-    break; 
-  case 27 : 
-    print_esc("overline");
-    break; 
-  case 26 : 
-    print_esc("underline");
-    break; 
-  case 29 : 
-    print_esc("vcenter");
-    break; 
-  case 24 : 
-    {
-      print_esc("radical");
-      print_delimiter(p + 4); 
-    } 
-    break; 
-  case 28 : 
-    {
-      print_esc("accent");
-      print_fam_and_char(p + 4); 
-    } 
-    break; 
-  case 30 : 
-    {
-      print_esc("left");
-      print_delimiter(p + 1); 
-    } 
-    break; 
-  case 31 : 
+      return;
+    }
+    if ((p >= hi_mem_min))
+      print_font_and_char(p);
+    else switch (mem[p].hh.b0)
     {
-      print_esc("right");
-      print_delimiter(p + 1); 
-    } 
-    break; 
-  } 
-  if(mem[p].hh.b1 != 0)
-  if(mem[p].hh.b1 == 1)
-    print_esc("limits");
-  else print_esc("nolimits");
-  if(mem[p].hh.b0 < 30)
-  print_subsidiary_data(p + 1, 46); 
-  print_subsidiary_data(p + 2, 94); 
-  print_subsidiary_data(p + 3, 95); 
-      } 
-      break; 
-    case 25 : 
-      {
-  print_esc("fraction");
-  if(mem[p + 1].cint == 1073741824L)  /* 2^30 */
-  print_string("= default");
-  else print_scaled(mem[p + 1].cint); 
-  if((mem[p + 4].qqqq.b0 != 0)||(mem[p + 4].qqqq.b1 != 
-  0)||(mem[p + 4].qqqq.b2 != 0)||(mem[p + 4].qqqq.b3 
-  != 0)) 
-  {
-    print_string(", left");
-    print_delimiter(p + 4); 
-  } 
-  if((mem[p + 5].qqqq.b0 != 0)||(mem[p + 5].qqqq.b1 != 
-  0)||(mem[p + 5].qqqq.b2 != 0)||(mem[p + 5].qqqq.b3 
-  != 0)) 
-  {
-    print_string(", right");
-    print_delimiter(p + 5); 
-  } 
-  print_subsidiary_data(p + 2, 92); 
-  print_subsidiary_data(p + 3, 47); 
-      } 
-      break; 
-      default: 
-      print_string("Unknown node type!");
-      break; 
-    } 
-    p = mem[p].hh.v.RH; 
+      case 0:
+      case 1:
+      case 13:
+        {
+          if (mem[p].hh.b0 == 0)
+            print_esc("h");
+          else if (mem[p].hh.b0 == 1)
+            print_esc("v");
+          else print_esc("unset");
+          print_string("box(");
+          print_scaled(mem[p + 3].cint);
+          print_char('+');
+          print_scaled(mem[p + 2].cint);
+          print_string(", shifted ");
+          print_scaled(mem[p + 1].cint);
+          if (mem[p].hh.b0 == 13)
+          {
+            if (mem[p].hh.b1 != 0)
+            {
+              print_string(" (");
+              print_int(mem[p].hh.b1 + 1);
+              print_string(" columns)");
+            }
+            if (mem[p + 6].cint != 0)
+            {
+              print_string(", stretch");
+              print_glue(mem[p + 6].cint, mem[p + 5].hh.b1, 0);
+            }
+            if (mem[p + 4].cint != 0)
+            {
+              print_string(", shrink");
+              print_glue(mem[p + 4].cint, mem[p + 5].hh.b0, 0);
+            }
+          } else {
+            g = mem[p + 6].gr;
+            if ((g != 0.0)&&(mem[p + 5].hh.b0 != 0))
+            {
+              print_string(", glue set");
+              if (mem[p + 5].hh.b0 == 2)
+                print_string("- ");
+              if (fabs(g)> 20000.0)
+              {
+                if (g > 0.0)
+                  print_char('>');
+                else
+                  print_string("< -");
+                print_glue(20000 * 65536L, mem[p + 5].hh.b1, 0);
+              } else print_glue(round(65536L * g), mem[p + 5].hh.b1, 0);
+            }
+            if (mem[p + 4].cint != 0)
+            {
+              print_string("shifted");
+              print_scaled(mem[p + 4].cint);
+            }
+          }
+          {
+            {
+              str_pool[pool_ptr]= 46;
+              incr(pool_ptr);
+            }
+            show_node_list(mem[p + 5].hh.v.RH);
+            decr(pool_ptr);
+          }
+        }
+        break;
+      case 2:
+        {
+          print_esc("rule(");
+          print_rule_dimen(mem[p + 3].cint);
+          print_char('+');
+          print_rule_dimen(mem[p + 2].cint);
+          print_string(")x");
+          print_rule_dimen(mem[p + 1].cint);
+        }
+        break;
+      case 3:
+        {
+          print_esc("insert");
+          print_int(mem[p].hh.b1);
+          print_string(",natural size ");
+          print_scaled(mem[p + 3].cint);
+          print_string("; split(");
+          print_spec(mem[p + 4].hh.v.RH, 0);
+          print_char(',');
+          print_scaled(mem[p + 2].cint);
+          print_string("(; float cost");
+          print_int(mem[p + 1].cint);
+          {
+            {
+              str_pool[pool_ptr]= 46;
+              incr(pool_ptr);
+            }
+            show_node_list(mem[p + 4].hh.v.LH);
+            decr(pool_ptr);
+          }
+        }
+        break;
+      case 8:
+        switch (mem[p].hh.b1)
+        {
+          case 0:
+            {
+              print_write_whatsit(1279, p);   /* debug # (-1 to exit): */
+              print_char('=');
+              print_file_name(mem[p + 1].hh.v.RH, mem[p + 2].hh.v.LH, mem[p + 2].hh.v.RH);
+            }
+            break;
+          case 1:
+            {
+              print_write_whatsit(591, p);  /* write */
+              print_mark(mem[p + 1].hh.v.RH);
+            }
+            break;
+          case 2:
+            print_write_whatsit(1280, p); /* closeout */
+            break;
+          case 3:
+            {
+              print_esc("special");
+              print_mark(mem[p + 1].hh.v.RH);
+            }
+            break;
+          case 4:
+            {
+              print_esc("setlanguage");
+              print_int(mem[p + 1].hh.v.RH);
+              print_string(" (hyphenmin");
+              print_int(mem[p + 1].hh.b0);
+              print_char(',');
+              print_int(mem[p + 1].hh.b1);
+              print_char(')');
+            }
+            break;
+          default:
+            print_string("whatsit");
+            break;
+        }
+        break;
+      case 10:
+        if (mem[p].hh.b1 >= 100)
+        {
+          print_esc("");
+          if (mem[p].hh.b1 == 101)
+            print_char('c');
+          else if (mem[p].hh.b1 == 102)
+            print_char('x');
+          print_string("leaders ");
+          print_spec(mem[p + 1].hh.v.LH, 0);
+          {
+            {
+              str_pool[pool_ptr]= 46;
+              incr(pool_ptr);
+            }
+            show_node_list(mem[p + 1].hh.v.RH);
+            decr(pool_ptr);
+          }
+        } else {
+          print_esc("glue");
+          if (mem[p].hh.b1 != 0)
+          {
+            print_char('(');
+            if (mem[p].hh.b1 < 98)
+              print_skip_param(mem[p].hh.b1 - 1);
+            else if (mem[p].hh.b1 == 98)
+              print_esc("nonscript");
+            else print_esc("mskip");
+            print_char(')');
+          }
+          if (mem[p].hh.b1 != 98)
+          {
+            print_char(' ');
+            if (mem[p].hh.b1 < 98)
+              print_spec(mem[p + 1].hh.v.LH, 0);
+            else
+              print_spec(mem[p + 1].hh.v.LH, 334); /* mu */
+          }
+        }
+        break;
+      case 11:
+        if (mem[p].hh.b1 != 99)
+        {
+          print_esc("kern");
+          if (mem[p].hh.b1 != 0)
+            print_char(' ');
+          print_scaled(mem[p + 1].cint);
+          if (mem[p].hh.b1 == 2)
+            print_string(" (for accent)");
+        } else {
+          print_esc("mkern");
+          print_scaled(mem[p + 1].cint);
+          print_string("mu");
+        }
+        break;
+      case 9:
+        {
+          print_esc("math");
+          if (mem[p].hh.b1 == 0)
+            print_string("on");
+          else print_string("off");
+          if (mem[p + 1].cint != 0)
+          {
+            print_string(", surrounded");
+            print_scaled(mem[p + 1].cint);
+          }
+        }
+        break;
+      case 6:
+        {
+          print_font_and_char(p + 1);
+          print_string("(ligature");
+          if (mem[p].hh.b1 > 1)
+            print_char('|');
+          font_in_short_display = mem[p + 1].hh.b0; 
+          short_display(mem[p + 1].hh.v.RH);
+          if (odd(mem[p].hh.b1))
+            print_char('|');
+          print_char(')');
+        }
+        break;
+      case 12:
+        {
+          print_esc("penalty ");
+          print_int(mem[p + 1].cint);
+        }
+        break;
+      case 7:
+        {
+          print_esc("discretionary");
+          if (mem[p].hh.b1 > 0)
+          {
+            print_string(" replacing ");
+            print_int(mem[p].hh.b1);
+          }
+          {
+            {
+              str_pool[pool_ptr]= 46;
+              incr(pool_ptr);
+            }
+            show_node_list(mem[p + 1].hh.v.LH);
+            decr(pool_ptr);
+          }
+          {
+            str_pool[pool_ptr]= 124;
+            incr(pool_ptr);
+          }
+          show_node_list(mem[p + 1].hh.v.RH);
+          decr(pool_ptr);
+        }
+        break;
+      case 4:
+        {
+          print_esc("mark");
+          print_mark(mem[p + 1].cint);
+        }
+        break;
+      case 5:
+        {
+          print_esc("vadjust");
+          {
+            {
+              str_pool[pool_ptr]= 46;
+              incr(pool_ptr);
+            }
+            show_node_list(mem[p + 1].cint);
+            decr(pool_ptr);
+          }
+        }
+        break;
+      case 14:
+        print_style(mem[p].hh.b1);
+        break;
+      case 15:
+        {
+          print_esc("mathchoice");
+          {
+            str_pool[pool_ptr]= 68;
+            incr(pool_ptr);
+          }
+          show_node_list(mem[p + 1].hh.v.LH);
+          decr(pool_ptr);
+          {
+            str_pool[pool_ptr]= 84;
+            incr(pool_ptr);
+          }
+          show_node_list(mem[p + 1].hh.v.RH);
+          decr(pool_ptr);
+          {
+            str_pool[pool_ptr]= 83;
+            incr(pool_ptr);
+          }
+          show_node_list(mem[p + 2].hh.v.LH);
+          decr(pool_ptr);
+          {
+            str_pool[pool_ptr]= 115;
+            incr(pool_ptr);
+          } 
+          show_node_list(mem[p + 2].hh.v.RH); 
+          decr(pool_ptr); 
+        } 
+        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 (mem[p].hh.b0)
+          {
+            case 16:
+              print_esc("mathord");
+              break;
+            case 17:
+              print_esc("mathop");
+              break;
+            case 18:
+              print_esc("mathbin");
+              break;
+            case 19:
+              print_esc("mathrel");
+              break;
+            case 20:
+              print_esc("mathopen");
+              break;
+            case 21:
+              print_esc("mathclose");
+              break;
+            case 22:
+              print_esc("mathpunct");
+              break;
+            case 23:
+              print_esc("mathinner");
+              break;
+            case 27:
+              print_esc("overline");
+              break;
+            case 26:
+              print_esc("underline");
+              break;
+            case 29:
+              print_esc("vcenter");
+              break;
+            case 24:
+              {
+                print_esc("radical");
+                print_delimiter(p + 4);
+              }
+              break;
+            case 28:
+              {
+                print_esc("accent");
+                print_fam_and_char(p + 4);
+              }
+              break;
+            case 30:
+              {
+                print_esc("left");
+                print_delimiter(p + 1);
+              }
+              break;
+            case 31:
+              {
+                print_esc("right");
+                print_delimiter(p + 1);
+              }
+              break;
+          } 
+          if (mem[p].hh.b1 != 0)
+            if (mem[p].hh.b1 == 1)
+              print_esc("limits");
+            else print_esc("nolimits");
+          if (mem[p].hh.b0 < 30)
+            print_subsidiary_data(p + 1, 46);
+          print_subsidiary_data(p + 2, 94);
+          print_subsidiary_data(p + 3, 95);
+        }
+        break;
+      case 25:
+        {
+          print_esc("fraction");
+          if (mem[p + 1].cint == 1073741824L)  /* 2^30 */
+            print_string("= default");
+          else print_scaled(mem[p + 1].cint); 
+          if ((mem[p + 4].qqqq.b0 != 0) || (mem[p + 4].qqqq.b1 != 0) ||
+              (mem[p + 4].qqqq.b2 != 0) || (mem[p + 4].qqqq.b3 != 0))
+          {
+            print_string(", left");
+            print_delimiter(p + 4);
+          }
+          if ((mem[p + 5].qqqq.b0 != 0) || (mem[p + 5].qqqq.b1 != 0) ||
+              (mem[p + 5].qqqq.b2 != 0)||(mem[p + 5].qqqq.b3 != 0))
+          {
+            print_string(", right");
+            print_delimiter(p + 5);
+          }
+          print_subsidiary_data(p + 2, 92);
+          print_subsidiary_data(p + 3, 47);
+        }
+        break;
+      default:
+        print_string("Unknown node type!");
+        break;
+    }
+    p = mem[p].hh.v.RH;
   } 
 } 
-
 /* NOTE: 262143L should be empty_flag */
index 4d8ce36..7c81e72 100644 (file)
@@ -488,12 +488,12 @@ void show_activities (void)
       print_string(" (\\output routine)");
       if(p == 0)
       {
-  if(mem_top - 2 != page_tail)
+  if(page_head != page_tail)
   {
     print_nl("### current page:");
     if(output_active)
       print_string(" (held over for next output)");
-    show_box(mem[mem_top - 2].hh.v.RH); 
+    show_box(mem[page_head].hh.v.RH); 
     if(page_contents > 0)
     {
       print_nl("total height ");
@@ -515,7 +515,7 @@ void show_activities (void)
         print_scaled(t); 
         if(mem[r].hh.b0 == 1)
         {
-    q = mem_top - 2
+    q = page_head
     t = 0; 
     do {
         q = mem[q].hh.v.RH; 
@@ -532,7 +532,7 @@ void show_activities (void)
     } 
   } 
 /*  if link(contrib_head)<>null then l.4393 */
-  if(mem[mem_top - 1].hh.v.RH != 0)
+  if(mem[contrib_head].hh.v.RH != 0)
   print_nl(" (\\output routine)");
       } 
       show_box(mem[nest[p].head_field].hh.v.RH); 
index 71bbf19..32dea09 100644 (file)
@@ -798,14 +798,14 @@ void macro_call (void)
     if(long_state >= 113)
     long_state = long_state - 2; 
     do {
-  mem[mem_top - 3].hh.v.RH = 0; /* repeat link(temp_head):=null; */
+  mem[temp_head].hh.v.RH = 0; /* repeat link(temp_head):=null; */
       if((mem[r].hh.v.LH > 3583)||(mem[r].hh.v.LH < 3328)) 
       s = 0; /* s:=null l.7984 */
       else {
   matchchr = mem[r].hh.v.LH - 3328; 
   s = mem[r].hh.v.RH; 
   r = s; 
-  p = mem_top - 3
+  p = temp_head
   m = 0; 
       } 
       lab22: get_token (); 
@@ -878,7 +878,7 @@ void macro_call (void)
         "My plan is to forget the whole thing and hope for the best."); 
     back_error (); 
   } 
-  pstack[n]= mem[mem_top - 3].hh.v.RH; 
+  pstack[n]= mem[temp_head].hh.v.RH; 
   align_state = align_state - unbalance; 
   {
     register integer for_end; 
@@ -929,7 +929,7 @@ void macro_call (void)
             "My plan is to forget the whole thing and hope for the best.");
         back_error (); 
       } 
-      pstack[n]= mem[mem_top - 3].hh.v.RH; 
+      pstack[n]= mem[temp_head].hh.v.RH; 
       align_state = align_state - unbalance; 
       {
       register integer for_end; 
@@ -996,7 +996,7 @@ void macro_call (void)
       goto lab22; 
       lab40: if(s != 0)
       {
-  if((m == 1)&&(mem[p].hh.v.LH < 768)&&(p != mem_top - 3 
+  if((m == 1)&&(mem[p].hh.v.LH < 768)&&(p != temp_head 
   ))
   {
     mem[rbraceptr].hh.v.RH = 0; /* rbraceptr may be used without ... */
@@ -1008,7 +1008,7 @@ void macro_call (void)
       decr(dyn_used); 
 #endif /* STAT */
     } 
-    p = mem[mem_top - 3].hh.v.RH; 
+    p = mem[temp_head].hh.v.RH; 
     pstack[n]= mem[p].hh.v.RH; 
     {
       mem[p].hh.v.RH = avail; 
@@ -1019,7 +1019,7 @@ void macro_call (void)
 #endif /* STAT */
     } 
   } 
-  else pstack[n]= mem[mem_top - 3].hh.v.RH; 
+  else pstack[n]= mem[temp_head].hh.v.RH; 
   incr(n); 
   if(eqtb[(hash_size + 3193)].cint > 0)
   {
@@ -2295,7 +2295,7 @@ lab20:
     cur_cmd = mem[cur_align + 5].hh.v.LH; 
     mem[cur_align + 5].hh.v.LH = cur_chr; 
     if(cur_cmd == 63)
-    begin_token_list(mem_top - 10, 2); 
+    begin_token_list(omit_template, 2); 
     else begin_token_list(mem[cur_align + 2].cint, 2); 
     align_state = 1000000L; 
     goto lab20; 
index 689ab9d..4914bbd 100644 (file)
@@ -527,7 +527,7 @@ halfword str_toks_(pool_pointer b)
   }
 #endif
   } 
-  p = mem_top - 3
+  p = temp_head
   mem[p].hh.v.RH = 0;   /* link(p):=null l.9135 */
   k = b; 
   while(k < pool_ptr){
@@ -570,7 +570,7 @@ halfword the_toks (void)
   scan_something_internal(5, false); 
   if(cur_val_level >= 4)
   {
-    p = mem_top - 3
+    p = temp_head
     mem[p].hh.v.RH = 0; 
     if(cur_val_level == 4)
     {
@@ -643,8 +643,8 @@ halfword the_toks (void)
 } 
 void ins_the_toks (void) 
 { 
-  mem[mem_top - 12].hh.v.RH = the_toks (); 
-  begin_token_list(mem[mem_top - 3].hh.v.RH, 4); 
+  mem[lig_trick].hh.v.RH = the_toks (); 
+  begin_token_list(mem[temp_head].hh.v.RH, 4); 
 } 
 void conv_toks (void) 
 { 
@@ -710,8 +710,8 @@ void conv_toks (void)
     break; 
   } 
   selector = old_setting; 
-  mem[mem_top - 12].hh.v.RH = str_toks(b); 
-  begin_token_list(mem[mem_top - 3].hh.v.RH, 4); 
+  mem[lig_trick].hh.v.RH = str_toks(b); 
+  begin_token_list(mem[temp_head].hh.v.RH, 4); 
 } 
 halfword scan_toks_(bool macrodef, bool xpand)
 {/* 40 30 31 32 */ register halfword Result;
@@ -817,9 +817,9 @@ halfword scan_toks_(bool macrodef, bool xpand)
         
     q = the_toks (); 
 /*     if link(temp_head)<>null then l.9376 */
-    if(mem[mem_top - 3].hh.v.RH != 0)
+    if(mem[temp_head].hh.v.RH != 0)
     {
-      mem[p].hh.v.RH = mem[mem_top - 3].hh.v.RH; 
+      mem[p].hh.v.RH = mem[temp_head].hh.v.RH; 
       p = q; 
     } 
   } 
index 8567d8a..4cff681 100644 (file)
@@ -1017,9 +1017,9 @@ void hlist_out (void)
       break; 
     case 6 : 
       {
-  mem[mem_top - 12]= mem[p + 1]; 
-  mem[mem_top - 12].hh.v.RH = mem[p].hh.v.RH; 
-  p = mem_top - 12
+  mem[lig_trick]= mem[p + 1]; 
+  mem[lig_trick].hh.v.RH = mem[p].hh.v.RH; 
+  p = lig_trick
   goto lab21; 
       } 
       break; 
@@ -1630,9 +1630,9 @@ halfword hpack_(halfword p, scaled w, small_number m)
   break; 
       case 6 : 
   {
-    mem[mem_top - 12]= mem[p + 1]; 
-    mem[mem_top - 12].hh.v.RH = mem[p].hh.v.RH; 
-    p = mem_top - 12
+    mem[lig_trick]= mem[p + 1]; 
+    mem[lig_trick].hh.v.RH = mem[p].hh.v.RH; 
+    p = lig_trick
     goto lab21; 
   } 
   break; 
index d2e5163..4fe2870 100644 (file)
@@ -151,7 +151,7 @@ halfword clean_box_(halfword p, small_number s)
   cur_style = s; 
   mlist_penalties = false; 
   mlist_to_hlist (); 
-  q = mem[mem_top - 3].hh.v.RH; 
+  q = mem[temp_head].hh.v.RH; 
   cur_style = savestyle; 
   {
     if(cur_style < 4)
@@ -858,7 +858,7 @@ void mlist_to_hlist (void)
     cur_mu = x_over_n(font_info[6 + param_base[eqtb[(hash_size + 1837) + cur_size]
    .hh.v.RH]].cint, 18); 
   } 
-  p = hpack(mem[mem_top - 3].hh.v.RH, 0, 1); 
+  p = hpack(mem[temp_head].hh.v.RH, 0, 1); 
       } 
       break; 
       default: 
@@ -886,7 +886,7 @@ void mlist_to_hlist (void)
   }
   if(rtype == 18)
   mem[r].hh.b0 = 16; 
-  p = mem_top - 3
+  p = temp_head
   mem[p].hh.v.RH = 0; 
   q = mlist; 
   rtype = 0; 
@@ -1057,7 +1057,7 @@ void push_alignment (void)
   p = get_node(5); 
   mem[p].hh.v.RH = align_ptr; 
   mem[p].hh.v.LH = cur_align; 
-  mem[p + 1].hh.v.LH = mem[mem_top - 8].hh.v.RH; 
+  mem[p + 1].hh.v.LH = mem[align_head].hh.v.RH; 
   mem[p + 1].hh.v.RH = cur_span; 
   mem[p + 2].cint = cur_loop; 
   mem[p + 3].cint = align_state; 
@@ -1083,7 +1083,7 @@ void pop_alignment (void)
   align_state = mem[p + 3].cint; 
   cur_loop = mem[p + 2].cint; 
   cur_span = mem[p + 1].hh.v.RH; 
-  mem[mem_top - 8].hh.v.RH = mem[p + 1].hh.v.LH; 
+  mem[align_head].hh.v.RH = mem[p + 1].hh.v.LH; 
   cur_align = mem[p].hh.v.LH; 
   align_ptr = mem[p].hh.v.RH; 
   free_node(p, 5); 
@@ -1143,8 +1143,8 @@ void init_align (void)
 /*    long to short ... */
   mode = - (integer) mode; 
   scan_spec(6, false); 
-  mem[mem_top - 8].hh.v.RH = 0; 
-  cur_align = mem_top - 8
+  mem[align_head].hh.v.RH = 0; 
+  cur_align = align_head
   cur_loop = 0; 
   scanner_status = 4; 
   warning_index = savecsptr; 
@@ -1154,14 +1154,14 @@ void init_align (void)
     cur_align = mem[cur_align].hh.v.RH; 
     if(cur_cmd == 5)
     goto lab30; 
-    p = mem_top - 4
+    p = hold_head
     mem[p].hh.v.RH = 0; 
     while(true){
       get_preamble_token(); 
       if(cur_cmd == 6)
       goto lab31; 
       if((cur_cmd <= 5)&&(cur_cmd >= 4)&&(align_state == -1000000L)) 
-      if((p == mem_top - 4)&&(cur_loop == 0)&&(cur_cmd == 4)) 
+      if((p == hold_head)&&(cur_loop == 0)&&(cur_cmd == 4)) 
       cur_loop = cur_align; 
       else {
     print_err("Missing # inserted in alignment preamble");
@@ -1171,7 +1171,7 @@ void init_align (void)
   back_error (); 
   goto lab31; 
       } 
-      else if((cur_cmd != 10)||(p != mem_top - 4)) 
+      else if((cur_cmd != 10)||(p != hold_head)) 
       {
   mem[p].hh.v.RH = get_avail (); 
   p = mem[p].hh.v.RH; 
@@ -1181,10 +1181,10 @@ void init_align (void)
     lab31:; 
     mem[cur_align].hh.v.RH = new_null_box (); 
     cur_align = mem[cur_align].hh.v.RH; 
-    mem[cur_align].hh.v.LH = mem_top - 9
+    mem[cur_align].hh.v.LH = end_span
     mem[cur_align + 1].cint = -1073741824L;  /* - 2^30 */
-    mem[cur_align + 3].cint = mem[mem_top - 4].hh.v.RH; 
-    p = mem_top - 4
+    mem[cur_align + 3].cint = mem[hold_head].hh.v.RH; 
+    p = hold_head
     mem[p].hh.v.RH = 0; 
     while(true){
 lab22:
@@ -1209,7 +1209,7 @@ lab22:
 /*    mem[p].hh.v.LH = (hash_size + 4614);  */
 /*    mem[p].hh.v.LH = (hash_size + 4095 + 519);  */
     mem[p].hh.v.LH = (hash_size + hash_extra + 4095 + 519); /* 96/Jan/10 */
-    mem[cur_align + 2].cint = mem[mem_top - 4].hh.v.RH; 
+    mem[cur_align + 2].cint = mem[hold_head].hh.v.RH; 
   } 
   lab30: scanner_status = 0; 
   new_save_level(6); 
@@ -1238,12 +1238,12 @@ void init_row (void)
   space_factor = 0; 
   else cur_list.aux_field.cint = 0; 
   {
-    mem[tail].hh.v.RH = new_glue(mem[mem[mem_top - 8]
+    mem[tail].hh.v.RH = new_glue(mem[mem[align_head]
    .hh.v.RH + 1].hh.v.LH); 
     tail = mem[tail].hh.v.RH; 
   } 
   mem[tail].hh.b1 = 12; 
-  cur_align = mem[mem[mem_top - 8].hh.v.RH].hh.v.RH; 
+  cur_align = mem[mem[align_head].hh.v.RH].hh.v.RH; 
   cur_tail = cur_head; 
   init_span(cur_align); 
 } 
@@ -1311,7 +1311,7 @@ void fin_align (void)
   if(nest[nest_ptr - 1].mode_field == 203)
   o = eqtb[(hash_size + 3745)].cint; 
   else o = 0; 
-  q = mem[mem[mem_top - 8].hh.v.RH].hh.v.RH; 
+  q = mem[mem[align_head].hh.v.RH].hh.v.RH; 
   do {
       flush_list(mem[q + 3].cint); 
     flush_list(mem[q + 2].cint); 
@@ -1328,12 +1328,12 @@ void fin_align (void)
   mem[r + 1].hh.v.LH = 0; 
       } 
     } 
-    if(mem[q].hh.v.LH != mem_top - 9)
+    if(mem[q].hh.v.LH != end_span)
     {
       t = mem[q + 1].cint + mem[mem[mem[q].hh.v.RH + 1].hh 
      .v.LH + 1].cint; 
       r = mem[q].hh.v.LH; 
-      s = mem_top - 9
+      s = end_span
       mem[s].hh.v.LH = p; 
       n = 1; 
       do {
@@ -1358,7 +1358,7 @@ void fin_align (void)
     free_node(r, 2); 
   } 
   r = u; 
-      } while(!(r == mem_top - 9)); 
+      } while(!(r == end_span)); 
     } 
     mem[q].hh.b0 = 13; 
     mem[q].hh.b1 = 0; 
@@ -1376,21 +1376,21 @@ void fin_align (void)
   {
     rulesave = eqtb[(hash_size + 3746)].cint; 
     eqtb[(hash_size + 3746)].cint = 0; 
-    p = hpack(mem[mem_top - 8].hh.v.RH, save_stack[save_ptr + 1].cint 
+    p = hpack(mem[align_head].hh.v.RH, save_stack[save_ptr + 1].cint 
    , save_stack[save_ptr + 0].cint); 
     eqtb[(hash_size + 3746)].cint = rulesave; 
   } 
   else {
       
-    q = mem[mem[mem_top - 8].hh.v.RH].hh.v.RH; 
+    q = mem[mem[align_head].hh.v.RH].hh.v.RH; 
     do {
   mem[q + 3].cint = mem[q + 1].cint; 
       mem[q + 1].cint = 0; 
       q = mem[mem[q].hh.v.RH].hh.v.RH; 
     } while(!(q == 0)); 
-    p = vpackage(mem[mem_top - 8].hh.v.RH, save_stack[save_ptr + 1]
+    p = vpackage(mem[align_head].hh.v.RH, save_stack[save_ptr + 1]
    .cint, save_stack[save_ptr + 0].cint, 1073741823L);  /* 2^30 - 1 */
-    q = mem[mem[mem_top - 8].hh.v.RH].hh.v.RH; 
+    q = mem[mem[align_head].hh.v.RH].hh.v.RH; 
     do {
   mem[q + 1].cint = mem[q + 3].cint; 
       mem[q + 3].cint = 0; 
@@ -1425,7 +1425,7 @@ void fin_align (void)
     n = mem[r].hh.b1; 
   t = mem[s + 1].cint; 
   w = t; 
-  u = mem_top - 4
+  u = hold_head
   while(n > 0){
       
     decr(n); 
@@ -1523,10 +1523,10 @@ void fin_align (void)
     mem[r].hh.b0 = 1; 
   } 
   mem[r + 4].cint = 0; 
-  if(u != mem_top - 4)
+  if(u != hold_head)
   {
     mem[u].hh.v.RH = mem[r].hh.v.RH; 
-    mem[r].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
+    mem[r].hh.v.RH = mem[hold_head].hh.v.RH; 
     r = u; 
   } 
   r = mem[mem[r].hh.v.RH].hh.v.RH; 
@@ -1653,10 +1653,10 @@ bool fin_col (void)
 /*  compiler optimization does not refresh `mem' loaded in registers ? */
     mem[q].hh.v.RH = new_null_box (); 
     p = mem[q].hh.v.RH; 
-    mem[p].hh.v.LH = mem_top - 9
+    mem[p].hh.v.LH = end_span
     mem[p + 1].cint = -1073741824L;  /* - 2^30 */
     cur_loop = mem[cur_loop].hh.v.RH; 
-    q = mem_top - 4
+    q = hold_head
     r = mem[cur_loop + 3].cint; 
     while(r != 0){
   
@@ -1666,8 +1666,8 @@ bool fin_col (void)
       r = mem[r].hh.v.RH; 
     } 
     mem[q].hh.v.RH = 0; 
-    mem[p + 3].cint = mem[mem_top - 4].hh.v.RH; 
-    q = mem_top - 4
+    mem[p + 3].cint = mem[hold_head].hh.v.RH; 
+    q = hold_head
     r = mem[cur_loop + 2].cint; 
     while(r != 0){
   
@@ -1677,7 +1677,7 @@ bool fin_col (void)
       r = mem[r].hh.v.RH; 
     } 
     mem[q].hh.v.RH = 0; 
-    mem[p + 2].cint = mem[mem_top - 4].hh.v.RH; 
+    mem[p + 2].cint = mem[hold_head].hh.v.RH; 
     cur_loop = mem[cur_loop].hh.v.RH; 
     mem[p].hh.v.RH = new_glue(mem[cur_loop + 1].hh.v.LH); 
   } 
index 1f32a6d..86d271f 100644 (file)
@@ -90,7 +90,7 @@ void try_break_ (integer pi,small_number breaktype)
   goto lab10; 
   else pi = -10000; 
   nobreakyet = true; 
-  prevr = mem_top - 7
+  prevr = active
   oldl = 0; 
   cur_active_width[1]= active_width[1]; 
   cur_active_width[2]= active_width[2]; 
@@ -117,7 +117,7 @@ void try_break_ (integer pi,small_number breaktype)
       if(l > oldl)
       {
   if((minimum_demerits < 1073741823L)&&  /* 2^30 - 1 */
-    ((oldl != easyline)||(r == mem_top - 7)))
+    ((oldl != easyline)||(r == active)))
   {
     if(nobreakyet)
     {
@@ -262,7 +262,7 @@ void try_break_ (integer pi,small_number breaktype)
       mem[prevr + 6].cint = mem[prevr + 6].cint - cur_active_width 
      [6]+ break_width[6]; 
     } 
-    else if(prevr == mem_top - 7)
+    else if(prevr == active)
     {
       active_width[1]= break_width[1]; 
       active_width[2]= break_width[2]; 
@@ -344,7 +344,7 @@ void try_break_ (integer pi,small_number breaktype)
       } 
     while(fitclass++ < for_end); } 
     minimum_demerits = 1073741823L; /* 2^30 - 1 */
-    if(r != mem_top - 7)
+    if(r != active)
     {
       q = get_node(7); 
       mem[q].hh.v.RH = r; 
@@ -361,7 +361,7 @@ void try_break_ (integer pi,small_number breaktype)
       prevr = q; 
     } 
   } 
-  if(r == mem_top - 7)
+  if(r == active)
   goto lab10; 
   if(l > easyline)
   {
@@ -418,7 +418,7 @@ void try_break_ (integer pi,small_number breaktype)
       if((b > 10000)||(pi == -10000)) 
       {
   if(final_pass &&(minimum_demerits == 1073741823L)&&  /* 2^30 - 1 */
-    (mem[r].hh.v.RH == mem_top - 7)&&(prevr == mem_top - 7)) 
+    (mem[r].hh.v.RH == active)&&(prevr == active)) 
   artificialdemerits = true; 
   else if(b > threshold)
   goto lab60; 
@@ -512,9 +512,9 @@ void try_break_ (integer pi,small_number breaktype)
       goto lab22; 
       lab60: mem[prevr].hh.v.RH = mem[r].hh.v.RH; 
       free_node(r, 3); 
-      if(prevr == mem_top - 7)
+      if(prevr == active)
       {
-  r = mem[mem_top - 7].hh.v.RH; 
+  r = mem[active].hh.v.RH; 
   if(mem[r].hh.b0 == 2)
   {
     active_width[1]= active_width[1]+ mem[r + 1].cint; 
@@ -529,14 +529,14 @@ void try_break_ (integer pi,small_number breaktype)
     cur_active_width[4]= active_width[4]; 
     cur_active_width[5]= active_width[5]; 
     cur_active_width[6]= active_width[6]; 
-    mem[mem_top - 7].hh.v.RH = mem[r].hh.v.RH; 
+    mem[active].hh.v.RH = mem[r].hh.v.RH; 
     free_node(r, 7); 
   } 
       } 
       else if(mem[prevr].hh.b0 == 2)
       {
   r = mem[prevr].hh.v.RH; 
-  if(r == mem_top - 7)
+  if(r == active)
   {
     cur_active_width[1]= cur_active_width[1]- mem[prevr + 1]
    .cint; 
@@ -550,7 +550,7 @@ void try_break_ (integer pi,small_number breaktype)
    .cint; 
     cur_active_width[6]= cur_active_width[6]- mem[prevr + 6]
    .cint; 
-    mem[prevprevr].hh.v.RH = mem_top - 7; /* prevprevr may be used ... */
+    mem[prevprevr].hh.v.RH = active; /* prevprevr may be used ... */
     free_node(prevr, 7); 
     prevr = prevprevr; 
   } 
@@ -675,7 +675,7 @@ void post_line_break_(integer finalwidowpenalty)
     } 
     else {
   
-      q = mem_top - 3
+      q = temp_head
       while(mem[q].hh.v.RH != 0)q = mem[q].hh.v.RH; 
     } 
     r = new_param_glue(8); 
@@ -685,8 +685,8 @@ void post_line_break_(integer finalwidowpenalty)
     lab30:; 
     r = mem[q].hh.v.RH; 
     mem[q].hh.v.RH = 0; 
-    q = mem[mem_top - 3].hh.v.RH; 
-    mem[mem_top - 3].hh.v.RH = r; 
+    q = mem[temp_head].hh.v.RH; 
+    mem[temp_head].hh.v.RH = r; 
     if(eqtb[(hash_size + 789)].hh.v.RH != 0)
     {
       r = new_param_glue(7); 
@@ -708,14 +708,14 @@ void post_line_break_(integer finalwidowpenalty)
       curwidth = mem[eqtb[(hash_size + 1312)].hh.v.RH + 2 * curline].cint; 
       curindent = mem[eqtb[(hash_size + 1312)].hh.v.RH + 2 * curline - 1].cint; 
     } 
-    adjust_tail = mem_top - 5
+    adjust_tail = adjust_head
     just_box = hpack(q, curwidth, 0); 
     mem[just_box + 4].cint = curindent; 
     append_to_vlist(just_box); 
 /* if adjust_head<>adjust_tail then l.17346 */
-    if(mem_top - 5 != adjust_tail)
+    if(adjust_head != adjust_tail)
     {
-      mem[tail].hh.v.RH = mem[mem_top - 5].hh.v.RH; 
+      mem[tail].hh.v.RH = mem[adjust_head].hh.v.RH; 
       tail = adjust_tail; 
     } 
     adjust_tail = 0; /* adjust_tail:=null */
@@ -740,7 +740,7 @@ void post_line_break_(integer finalwidowpenalty)
     if(cur_p != 0)
     if(! postdiscbreak)
     {
-      r = mem_top - 3
+      r = temp_head
       while(true){
   q = mem[r].hh.v.RH; 
   if(q == mem[cur_p + 1].hh.v.RH)
@@ -755,15 +755,15 @@ void post_line_break_(integer finalwidowpenalty)
   goto lab31; 
   r = q; 
       } 
-      lab31: if(r != mem_top - 3)
+      lab31: if(r != temp_head)
       {
   mem[r].hh.v.RH = 0; 
-  flush_node_list(mem[mem_top - 3].hh.v.RH); 
-  mem[mem_top - 3].hh.v.RH = q; 
+  flush_node_list(mem[temp_head].hh.v.RH); 
+  mem[temp_head].hh.v.RH = q; 
       } 
     } 
   } while(!(cur_p == 0)); 
-  if((curline != best_line)||(mem[mem_top - 3].hh.v.RH != 0)) {
+  if((curline != best_line)||(mem[temp_head].hh.v.RH != 0)) {
     confusion(933);   /* disc2 */
     return;       // abort_flag set
   }
@@ -780,9 +780,9 @@ small_number reconstitute_(small_number j, small_number n, halfword bchar, halfw
   scaled w; 
   font_index k; 
   hyphen_passed = 0;            /* paragraph 907 ? */
-  t = mem_top - 4
+  t = hold_head
   w = 0; 
-  mem[mem_top - 4].hh.v.RH = 0; 
+  mem[hold_head].hh.v.RH = 0; 
   cur_l = hu[j]; 
   cur_q = t; 
   if(j == 0)
@@ -1263,7 +1263,7 @@ void hyphenate (void)
     j = reconstitute(j, hn, bchar, hyf_char)+ 1; 
     if(hyphen_passed == 0)
     {
-      mem[s].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
+      mem[s].hh.v.RH = mem[hold_head].hh.v.RH; 
 /*      while(mem[s].hh.v.RH > 0)*/ /* 94/Mar/22 */
       while(mem[s].hh.v.RH != 0)    /* l.17903 */
       s = mem[s].hh.v.RH; 
@@ -1271,13 +1271,13 @@ void hyphenate (void)
       {
   l = j; 
   hyphen_passed = j - 1; 
-  mem[mem_top - 4].hh.v.RH = 0; /* link(hold_head):=null; */
+  mem[hold_head].hh.v.RH = 0; /* link(hold_head):=null; */
       } 
     } 
     if(hyphen_passed > 0)
     do {
   r = get_node(2); 
-      mem[r].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
+      mem[r].hh.v.RH = mem[hold_head].hh.v.RH; 
       mem[r].hh.b0 = 7; 
       majortail = r; 
       rcount = 0; 
@@ -1313,13 +1313,13 @@ void hyphenate (void)
 /*  begin l:=reconstitute(l,i,font_bchar[hf],non_char)+1; l.17948 */
   l = reconstitute(l, i, font_bchar[hf], 256)+ 1; 
 /*  if link(hold_head)>null then l.17949 */
-/*  if(mem[mem_top - 4].hh.v.RH > 0)*/  /* 94/Mar/22 */
-  if(mem[mem_top - 4].hh.v.RH != 0) /* BUG FIX ??? */
+/*  if(mem[hold_head].hh.v.RH > 0)*/  /* 94/Mar/22 */
+  if(mem[hold_head].hh.v.RH != 0) /* BUG FIX ??? */
   {
     if(minortail == 0)/*      if minor_tail=null then */
-    mem[r + 1].hh.v.LH = mem[mem_top - 4].hh.v.RH; 
-    else mem[minortail].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
-    minortail = mem[mem_top - 4].hh.v.RH; 
+    mem[r + 1].hh.v.LH = mem[hold_head].hh.v.RH; 
+    else mem[minortail].hh.v.RH = mem[hold_head].hh.v.RH; 
+    minortail = mem[hold_head].hh.v.RH; 
 /*    while link(minor_tail)>null do minor_tail:=link(minor_tail); l.17953 */
 /*    while(mem[minortail].hh.v.RH > 0)*/ /* 94/Mar/22 */
     while(mem[minortail].hh.v.RH != 0)  /* BUG FIX */
@@ -1356,13 +1356,13 @@ void hyphenate (void)
       cloc = 0; 
     } 
 /*   if link(hold_head)>null then l. l.17973 */
-/*    if(mem[mem_top - 4].hh.v.RH > 0)  */    /* 94/Mar/22 ??? */
-    if(mem[mem_top - 4].hh.v.RH != 0)     /* BUG FIX */
+/*    if(mem[hold_head].hh.v.RH > 0)  */    /* 94/Mar/22 ??? */
+    if(mem[hold_head].hh.v.RH != 0)     /* BUG FIX */
     {
       if(minortail == 0)/*     begin if minor_tail=null then */
-      mem[r + 1].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
-      else mem[minortail].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
-      minortail = mem[mem_top - 4].hh.v.RH; 
+      mem[r + 1].hh.v.RH = mem[hold_head].hh.v.RH; 
+      else mem[minortail].hh.v.RH = mem[hold_head].hh.v.RH; 
+      minortail = mem[hold_head].hh.v.RH; 
 /*     while link(minor_tail)>null do minor_tail:=link(minor_tail); l.17977 */
 /*      while(mem[minortail].hh.v.RH > 0)*/ /* 94/Mar/22 */
       while(mem[minortail].hh.v.RH != 0)    /* ??? */
@@ -1372,7 +1372,7 @@ void hyphenate (void)
   while(l > j){
       
     j = reconstitute(j, hn, bchar, 256)+ 1; 
-    mem[majortail].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
+    mem[majortail].hh.v.RH = mem[hold_head].hh.v.RH; 
 /* while link(major_tail)>null do advance_major_tail; l.17987 */
 /*    while(mem[majortail].hh.v.RH > 0){ */ /* 94/Mar/22 */
     while(mem[majortail].hh.v.RH != 0){   /* ??? */
@@ -1394,7 +1394,7 @@ void hyphenate (void)
       } 
       s = majortail; 
       hyphen_passed = j - 1; 
-      mem[mem_top - 4].hh.v.RH = 0;  /* link(hold_head):=null; */
+      mem[hold_head].hh.v.RH = 0;  /* link(hold_head):=null; */
     } while(!(! odd(hyf[j - 1]))); 
   } while(!(j > hn)); 
   mem[s].hh.v.RH = q; 
@@ -1571,8 +1571,8 @@ halfword prune_page_top_(halfword p)
 {register halfword Result;
   halfword prevp; 
   halfword q; 
-  prevp = mem_top - 3
-  mem[mem_top - 3].hh.v.RH = p; 
+  prevp = temp_head
+  mem[temp_head].hh.v.RH = p; 
 /* while p<>null do l.18803 */
   while(p != 0)switch(mem[p].hh.b0)
   {case 0 : 
@@ -1615,7 +1615,7 @@ halfword prune_page_top_(halfword p)
     }
     break; 
   } 
-  Result = mem[mem_top - 3].hh.v.RH; 
+  Result = mem[temp_head].hh.v.RH; 
   return Result; 
 } 
 halfword vert_break_(halfword p, scaled h, scaled d)
@@ -1953,9 +1953,9 @@ void fire_up_(halfword c)
       r = mem[r].hh.v.RH; 
     } 
   } 
-  q = mem_top - 4
+  q = hold_head
   mem[q].hh.v.RH = 0; 
-  prevp = mem_top - 2
+  prevp = page_head
   p = mem[prevp].hh.v.RH; 
   while(p != best_page_break){
       
@@ -2043,19 +2043,19 @@ void fire_up_(halfword c)
   eqtb[(hash_size + 792)].hh.v.RH = savesplittopskip; 
   if(p != 0)    /* if p<>null then l.19730 */
   {
-    if(mem[mem_top - 1].hh.v.RH == 0)/* if link(contrib_head)=null then */
+    if(mem[contrib_head].hh.v.RH == 0)/* if link(contrib_head)=null then */
     if(nest_ptr == 0)
     tail = page_tail; 
     else nest[0].tail_field = page_tail; 
-    mem[page_tail].hh.v.RH = mem[mem_top - 1].hh.v.RH; 
-    mem[mem_top - 1].hh.v.RH = p; 
+    mem[page_tail].hh.v.RH = mem[contrib_head].hh.v.RH; 
+    mem[contrib_head].hh.v.RH = p; 
     mem[prevp].hh.v.RH = 0; /*   link(prev_p):=null; */
   } 
   savevbadness = eqtb[(hash_size + 3190)].cint; 
   eqtb[(hash_size + 3190)].cint = 10000; 
   savevfuzz = eqtb[(hash_size + 3739)].cint; 
   eqtb[(hash_size + 3739)].cint = 1073741823L;  /* 2^30 - 1 */
-  eqtb[(hash_size + 1833)].hh.v.RH = vpackage(mem[mem_top - 2].hh.v.RH, 
+  eqtb[(hash_size + 1833)].hh.v.RH = vpackage(mem[page_head].hh.v.RH, 
   best_size, 0, page_max_depth); 
   eqtb[(hash_size + 3190)].cint = savevbadness; 
   eqtb[(hash_size + 3739)].cint = savevfuzz; 
@@ -2063,17 +2063,17 @@ void fire_up_(halfword c)
   if(last_glue != empty_flag)
   delete_glue_ref(last_glue); 
   page_contents = 0; 
-  page_tail = mem_top - 2
-  mem[mem_top - 2].hh.v.RH = 0; 
+  page_tail = page_head
+  mem[page_head].hh.v.RH = 0; 
 /*  last_glue = 262143L;  */
   last_glue = empty_flag; 
   last_penalty = 0; 
   last_kern = 0; 
   page_so_far[7]= 0; 
   page_max_depth = 0; 
-  if(q != mem_top - 4)
+  if(q != hold_head)
   {
-    mem[mem_top - 2].hh.v.RH = mem[mem_top - 4].hh.v.RH; 
+    mem[page_head].hh.v.RH = mem[hold_head].hh.v.RH; 
     page_tail = q; 
   } 
   r = mem[mem_top].hh.v.RH; 
@@ -2116,16 +2116,16 @@ void fire_up_(halfword c)
     return; 
   } 
   {
-    if(mem[mem_top - 2].hh.v.RH != 0)
+    if(mem[page_head].hh.v.RH != 0)
     {
-      if(mem[mem_top - 1].hh.v.RH == 0)
+      if(mem[contrib_head].hh.v.RH == 0)
       if(nest_ptr == 0)
       tail = page_tail; 
       else nest[0].tail_field = page_tail; 
-      else mem[page_tail].hh.v.RH = mem[mem_top - 1].hh.v.RH; 
-      mem[mem_top - 1].hh.v.RH = mem[mem_top - 2].hh.v.RH; 
-      mem[mem_top - 2].hh.v.RH = 0; 
-      page_tail = mem_top - 2
+      else mem[page_tail].hh.v.RH = mem[contrib_head].hh.v.RH; 
+      mem[contrib_head].hh.v.RH = mem[page_head].hh.v.RH; 
+      mem[page_head].hh.v.RH = 0; 
+      page_tail = page_head
     } 
     ship_out(eqtb[(hash_size + 1833)].hh.v.RH);
     eqtb[(hash_size + 1833)].hh.v.RH = 0; 
index 0ef0551..77f096b 100644 (file)
@@ -35,10 +35,10 @@ void build_page (void)
   scaled delta, h, w; 
 
 /* begin if (link(contrib_head)=null)or output_active then return; l.19351 */
-  if((mem[mem_top - 1].hh.v.RH == 0)|| output_active)
+  if((mem[contrib_head].hh.v.RH == 0)|| output_active)
     return; 
   do {
-      lab22: p = mem[mem_top - 1].hh.v.RH; 
+      lab22: p = mem[contrib_head].hh.v.RH; 
 /*    if(last_glue != 262143L) */
     if(last_glue != empty_flag)
       delete_glue_ref(last_glue);
@@ -75,7 +75,7 @@ void build_page (void)
           else
             mem[temp_ptr + 1].cint = 0;
           mem[q].hh.v.RH = p;
-          mem[mem_top - 1].hh.v.RH = q;
+          mem[contrib_head].hh.v.RH = q;
           goto lab22;
       } 
       else {
@@ -326,17 +326,17 @@ void build_page (void)
     } 
     mem[page_tail].hh.v.RH = p; 
     page_tail = p; 
-    mem[mem_top - 1].hh.v.RH = mem[p].hh.v.RH; 
+    mem[contrib_head].hh.v.RH = mem[p].hh.v.RH; 
     mem[p].hh.v.RH = 0; 
     goto lab30; 
-    lab31: mem[mem_top - 1].hh.v.RH = mem[p].hh.v.RH; 
+    lab31: mem[contrib_head].hh.v.RH = mem[p].hh.v.RH; 
     mem[p].hh.v.RH = 0; 
     flush_node_list(p); 
     lab30:; 
-  } while(!(mem[mem_top - 1].hh.v.RH == 0)); 
+  } while(!(mem[contrib_head].hh.v.RH == 0)); 
   if(nest_ptr == 0)
-  tail = mem_top - 1
-  else nest[0].tail_field = mem_top - 1
+  tail = contrib_head
+  else nest[0].tail_field = contrib_head
 } 
 /* sec 1043 */
 void app_space (void) 
@@ -416,7 +416,7 @@ bool its_all_over (void)
   register bool Result; 
   if(privileged ())
   {
-    if((mem_top - 2 == page_tail) && (head == cur_list.tail_field) && (dead_cycles == 0)) 
+    if((page_head == page_tail) && (head == cur_list.tail_field) && (dead_cycles == 0)) 
     {
       Result = true; 
       return(Result); 
@@ -504,7 +504,7 @@ void off_save (void)
       
     back_input (); 
     p = get_avail (); 
-    mem[mem_top - 3].hh.v.RH = p; 
+    mem[temp_head].hh.v.RH = p; 
        print_err("Missing ");
     switch(cur_group)
     {case 14 : 
@@ -540,7 +540,7 @@ void off_save (void)
       break; 
     } 
     print_string(" inserted");
-    begin_token_list(mem[mem_top - 3].hh.v.RH, 4);
+    begin_token_list(mem[temp_head].hh.v.RH, 4);
        help5("I've inserted something that you may have forgotten.",
                "(See the <inserted text> above.)",
                "With luck, this will get me unwedged. But if you",
@@ -601,9 +601,9 @@ void box_end_(integer boxcontext)
   append_to_vlist(cur_box); 
   if(adjust_tail != 0)
   {
-    if(mem_top - 5 != adjust_tail)
+    if(adjust_head != adjust_tail)
     {
-      mem[tail].hh.v.RH = mem[mem_top - 5].hh 
+      mem[tail].hh.v.RH = mem[adjust_head].hh 
      .v.RH; 
       tail = adjust_tail; 
     } 
@@ -1391,9 +1391,9 @@ void init_math (void)
     break; 
   case 6 : 
     {
-      mem[mem_top - 12]= mem[p + 1]; 
-      mem[mem_top - 12].hh.v.RH = mem[p].hh.v.RH; 
-      p = mem_top - 12
+      mem[lig_trick]= mem[p + 1]; 
+      mem[lig_trick].hh.v.RH = mem[p].hh.v.RH; 
+      p = lig_trick
       goto lab21; 
     } 
     break; 
index 21999fa..cee697f 100644 (file)
@@ -35,8 +35,8 @@ void math_fraction (void)
   {
     if(c >= 3)
     {
-      scan_delimiter(mem_top - 12, false); 
-      scan_delimiter(mem_top - 12, false); 
+      scan_delimiter(lig_trick, false); 
+      scan_delimiter(lig_trick, false); 
     } 
     if(c % 3 == 0)
     scan_dimen(false, false, false);
@@ -90,7 +90,7 @@ void math_left_right (void)
   {
     if(cur_group == 15)
     {
-      scan_delimiter(mem_top - 12, false);
+      scan_delimiter(lig_trick, false);
          print_err("Extra "); 
       print_esc("right");
          help1("I'm ignoring a \\right that had no matching \\left."); 
@@ -187,7 +187,7 @@ void after_math (void)
     cur_style = 2; 
     mlist_penalties = false; 
     mlist_to_hlist (); 
-    a = hpack(mem[mem_top - 3].hh.v.RH, 0, 1); 
+    a = hpack(mem[temp_head].hh.v.RH, 0, 1); 
     unsave (); 
     decr(save_ptr); 
     if(save_stack[save_ptr + 0].cint == 1)
@@ -232,7 +232,7 @@ void after_math (void)
     cur_style = 2; 
     mlist_penalties =(mode > 0); 
     mlist_to_hlist (); 
-    mem[tail].hh.v.RH = mem[mem_top - 3].hh.v.RH; 
+    mem[tail].hh.v.RH = mem[temp_head].hh.v.RH; 
     while(mem[tail].hh.v.RH != 0)tail = 
     mem[tail].hh.v.RH; 
     {
@@ -259,8 +259,8 @@ void after_math (void)
     cur_style = 0; 
     mlist_penalties = false; 
     mlist_to_hlist (); 
-    p = mem[mem_top - 3].hh.v.RH; 
-    adjust_tail = mem_top - 5
+    p = mem[temp_head].hh.v.RH; 
+    adjust_tail = adjust_head
     b = hpack(p, 0, 1); 
     p = mem[b + 5].hh.v.RH; 
     t = adjust_tail; 
@@ -365,9 +365,9 @@ void after_math (void)
       append_to_vlist(a); 
       g2 = 0; 
     } 
-    if(t != mem_top - 5)
+    if(t != adjust_head)
     {
-      mem[tail].hh.v.RH = mem[mem_top - 5].hh.v.RH; 
+      mem[tail].hh.v.RH = mem[adjust_head].hh.v.RH; 
       tail = t; 
     } 
     {
@@ -930,7 +930,7 @@ void issue_message (void)
   char c; 
   str_number s; 
   c = cur_chr; 
-  mem[mem_top - 12].hh.v.RH = scan_toks(false, true); 
+  mem[lig_trick].hh.v.RH = scan_toks(false, true); 
   old_setting = selector; 
   selector = 21; 
   token_show(def_ref); 
@@ -1065,8 +1065,8 @@ void show_whatever (void)
       if(interaction == 3)
    ; 
       print_nl(" > "); /*  */
-      token_show(mem_top - 3); 
-      flush_list(mem[mem_top - 3].hh.v.RH); 
+      token_show(temp_head); 
+      flush_list(mem[temp_head].hh.v.RH); 
       goto lab50; 
     } 
     break; 
@@ -1255,7 +1255,7 @@ void handle_right_brace (void)
     break; 
   case 3 : 
     {
-      adjust_tail = mem_top - 5
+      adjust_tail = adjust_head
       package(0); 
     } 
     break; 
@@ -1348,14 +1348,14 @@ void handle_right_brace (void)
   mem[page_tail].hh.v.RH = mem[head].hh.v.RH; 
   page_tail = tail; 
       } 
-      if(mem[mem_top - 2].hh.v.RH != 0)
+      if(mem[page_head].hh.v.RH != 0)
       {
-  if(mem[mem_top - 1].hh.v.RH == 0)
+  if(mem[contrib_head].hh.v.RH == 0)
   nest[0].tail_field = page_tail; 
-  mem[page_tail].hh.v.RH = mem[mem_top - 1].hh.v.RH; 
-  mem[mem_top - 1].hh.v.RH = mem[mem_top - 2].hh.v.RH; 
-  mem[mem_top - 2].hh.v.RH = 0; 
-  page_tail = mem_top - 2
+  mem[page_tail].hh.v.RH = mem[contrib_head].hh.v.RH; 
+  mem[contrib_head].hh.v.RH = mem[page_head].hh.v.RH; 
+  mem[page_head].hh.v.RH = 0; 
+  page_tail = page_head
       } 
       pop_nest (); 
       build_page (); 
index 5e0601b..8c4212b 100644 (file)
@@ -132,10 +132,10 @@ void close_files_and_terminate (void)
   integer k; 
 
   if (closed_already++) {
-    show_line("CLOSEDFILESANDTERMINATED ALREADY ", 0);
+    show_line("close_files_and_terminated already ", 0);
     return;     // sanity check
   }
-  if (trace_flag) show_line("\nCLOSEFILESANDTERMINATE ", 0);
+  if (trace_flag) show_line("\nclose_files_and_terminate ", 0);
 //  close all open files
   {
     register integer for_end; 
@@ -153,7 +153,6 @@ void close_files_and_terminate (void)
 /* if tracing_stats>0 then @<Output statistics about this job@>; */
 /*  if(eqtb[(hash_size + 3194)].cint > 0) */
   if(eqtb[(hash_size + 3194)].cint > 0 ||
-/*     trace_flag != 0) *//* 93/Nov/30 - bkph */
      verbose_flag != 0)  /* 93/Nov/30 - bkph */
   if(log_opened) {
 /*   used to output paragraph breaking statistics here */
@@ -384,33 +383,35 @@ void close_files_and_terminate (void)
 /* *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** */
     if(dvi_limit == half_buf)writedvi(half_buf, dvi_buf_size - 1); 
     if(dvi_ptr > 0)writedvi(0, dvi_ptr - 1); 
-    print_nl("Output written on ");   /*  */
-  if (full_file_name_flag && dvi_file_name != NULL) 
-    print_char_string((unsigned char *)dvi_file_name);
-  else slow_print(output_file_name); 
+    print_nl("Output written on ");
+       if (full_file_name_flag && dvi_file_name != NULL) 
+               print_char_string((unsigned char *) dvi_file_name);
+       else
+               slow_print(output_file_name); 
     print_string(" (");
     print_int(total_pages); 
     print_string(" page");
-    if(total_pages != 1) print_char(115);   /* s */
+    if (total_pages != 1) print_char('s');
     print_string(", ");
     print_int(dvi_offset + dvi_ptr); 
-    print_string("bytes).");
+    print_string(" bytes).");
     b_close(dvi_file); 
   } 
   if(log_opened) {
-    (void) putc ('\n',  log_file);
+    (void) putc ('\n', log_file);
     (void) a_close(log_file); 
     selector = selector - 2; 
     if(selector == 17) {
-    print_nl("Transcript written on ");  /*   */
-    if (full_file_name_flag && log_file_name != NULL) 
-      print_char_string((unsigned char *)log_file_name);
-    else slow_print(texmf_log_name); 
-    print_char(46);  /* . */
+    print_nl("Transcript written on ");
+    if (full_file_name_flag && log_file_name != NULL)
+               print_char_string((unsigned char *) log_file_name);
+    else
+               slow_print(texmf_log_name); 
+    print_char('.');
     } 
   } 
   print_ln (); 
-  if((edit_name_start != 0)&&(interaction > 0)) {
+  if ((edit_name_start != 0) && (interaction > 0)) {
     call_edit(str_pool, edit_name_start, edit_name_length, edit_line);
   }
 } /* end of close_files_and_terminate */
@@ -420,7 +421,6 @@ void debug_help (void)
 {/* 888 10 */ 
   integer k, l, m, n; 
   while(true){
-      
  ; 
     print_nl(" debug # (-1 to exit):");  /*  */
 #ifndef _WINDOWS
index fd3014b..abd090c 100644 (file)
@@ -508,7 +508,7 @@ EXTERN char
   zzzac[mem_max - mem_bot + 1]; 
 #endif
 
-EXTERN halfword wasmemend, waslomax, washimin; 
+EXTERN halfword was_mem_end, was_lo_max, was_hi_min; 
 EXTERN bool panicking; 
 #endif /* DEBUG */
 
@@ -1394,6 +1394,156 @@ char *unixify (char *);       /* in pathsrch.c bkph */
 #define float_cost(a)    mem[a + 1].cint
 #define ins_ptr(a)       info(a + 4)
 #define split_top_ptr(a) link(a + 4)
+/* sec 0162 */
+#define contrib_head  mem_top - 1
+#define page_head     mem_top - 2
+#define temp_head     mem_top - 3
+#define hold_head     mem_top - 4
+#define adjust_head   mem_top - 5
+#define active        mem_top - 7
+#define align_head    mem_top - 8
+#define end_span      mem_top - 9
+#define omit_template mem_top - 10
+#define null_list     mem_top - 11
+#define lig_trick     mem_top - 12
+/* sec 0207 */
+#define escape 0
+#define relax 0
+#define left_brace 1
+#define right_brace 2
+#define math_shift 3
+#define tab_mark 4
+#define car_ret 5
+#define out_param 5
+#define mac_param 6
+#define sup_mark 7
+#define sub_mark 8
+#define ignore 9
+#define endv 9
+#define spacer 10
+#define letter 11
+#define other_char 12
+#define active_char 13
+#define par_end 13
+#define match 13
+#define comment 14
+#define end_match 14
+#define stop 14
+#define invalid_char 15
+#define delim_num 15
+#define max_char_code 15
+/* sec 0208 */
+#define char_num 16
+#define math_char_num 17
+#define mark 18
+#define xray 19
+#define make_box 20
+#define hmove 21
+#define vmove 22
+#define un_hbox 23
+#define un_vbox 24
+#define remove_item 25
+#define hskip 26
+#define vskip 27
+#define mskip 28
+#define kern 29
+#define mkern 30
+#define leader_ship 31
+#define halign 32
+#define valign 33
+#define no_align 34
+#define vrule 35
+#define hrule 36
+#define insert 37
+#define vadjust 38
+#define ignore_spaces 39
+#define after_assignment 40
+#define after_group 41
+#define break_penalty 42
+#define start_par 43
+#define ital_corr 44
+#define accent 45
+#define math_accent 46
+#define discretionary 47
+#define eq_no 48
+#define left_right 49
+#define math_comp 50
+#define limit_switch 51
+#define above 52
+#define math_style 53
+#define math_choice 54
+#define non_script 55
+#define vcenter 56
+#define case_shift 57
+#define message 58
+#define extension 59
+#define in_stream 60
+#define begin_group 61
+#define end_group 62
+#define omit 63
+#define ex_space 64
+#define no_boundary 65
+#define radical 66
+#define end_cs_name 67
+#define min_internal 68
+#define char_given 68
+#define math_given 69
+#define last_item 70
+#define max_non_prefixed_command 70
+/* sec 0209 */
+#define toks_register 71
+#define assign_toks 72
+#define assign_int 73
+#define assign_dimen 74
+#define assign_glue 75
+#define assign_mu_glue 76
+#define assign_font_dimen 77
+#define assign_font_int 78
+#define set_aux 79
+#define set_prev_graf 80
+#define set_page_dimen 81
+#define set_page_int 82
+#define set_box_dimen 83
+#define set_shape 84
+#define def_code 85
+#define def_family 86
+#define set_font 87
+#define def_font 88
+#define tex_register 89
+#define max_internal 89
+#define advance 90
+#define multiply 91
+#define divide 92
+#define prefix 93
+#define let 94
+#define shorthand_def 95
+#define read_to_cs 96
+#define def 97
+#define set_box 98
+#define hyph_data 99
+#define set_interaction 100
+#define max_command 100
+/* sec 0210 */
+#define undefined_cs max_command + 1
+#define expand_after max_command + 2
+#define no_expand max_command + 3
+#define input max_command + 4
+#define if_test max_command + 5
+#define fi_or_else max_command + 6
+#define cs_name max_command + 7
+#define convert max_command + 8
+#define the max_command + 9
+#define top_bot_mark max_command + 10
+#define call max_command + 11
+#define long_call max_command + 12
+#define outer_call max_command + 13
+#define long_outer_call max_command + 14
+#define end_template max_command + 15
+#define dont_expand max_command + 16
+#define glue_ref max_command + 17
+#define shape_ref max_command + 18
+#define box_ref max_command + 19 
+#define data max_command + 20
 /* sec 0212 */
 #define ignore_depth -65536000L
 /* sec 0213 */