2572c2572
<   %else %if dx_flags&(name+indirect) = 0 %or dx_flags&ext # 0 {temp}
---
>   %else
2574,2581d2573
<   %else %if free&a0b<<3 # 0
<     plant(move,x,a0+3)
<     plant(jsr,0,a0+3+indir)
<     forget(a0+3)
<   %else
<     plant(move,x,tempd(a7,-4))
<     plantlit(move,16_4EF9,tempd(a7,-6))
<     plant(jsr,0,lablim)
2763c2755
< %integer sp,stage,maxq,awkward
---
> %integer sp,stage,maxq
2768,2771d2759
< !Stage 0 (forward):
< !Stage 0 (returning):
< !Stage 1 (forward):
< !Stage 1 (returning):
2776,2803c2764
<   r = darg_reg&15
<   s = size(darg_type)
<   %if darg_flags&proc # 0 %start
<     s = 0
<     %if awkward # 0 %start
<       f = v;  f = f-ad %if f >= explim
<       dv == dict(f)
<       %if dv_flags&(ext+spec) # ext+spec %start
<       !non-external to (maybe) external
<         eval parlist(darg_link,q) %and %return %if stage # 0
<         %if dv_flags&(name+indirect) # 0 %then plant(move,f,prea7) -
<         %else plant(pea,0,f)
<         plantlit(move+2<<8,16_4EF9,prea7)  {JMP entry}
<         plant(move,mb,prea7)
<         plantlit(move+2<<8,16_287C,prea7)  {MOVE #xxxx,mb}
<         extend stack(12)
<         s = c_sp
<         eval parlist(darg_link,q)
<         %if darg_val > 0 %start
<           plant(pea,0,temp(c_mode,s))
<         %else
<           plant(lea,temp(c_mode,s),r+d0)
<           free = free&(\(d0b<<r))
<         %finish
<         %return
<       %finish
<     %finish
<   %finish
---
>   r = darg_reg&15;  s = size(darg_type)
2871,2872c2832
<   awkward = 0
<   awkward = 1 %and push(mb) %if dx_flags&proc2 # 0 %c
---
>   push(mb) %if dx_flags&proc2 # 0 %c
2884c2844,2845
<   pop(mb) %if awkward # 0
---
>   pop(mb) %if dx_flags&proc2 # 0 %c
>            %and (dx_flags&ext = 0 %or dx_flags&spec # 0)
5923a5885
> %record(identinfo)%name dp
5928c5890
<   item = hp_hlink
---
>   headitem = hp_hlink
5930,5933c5892,5895
<     report(internerr,0,6) %and %signal fail %if item <= 0
<     ditem == dict(item)
<     %exit %if string(ditem_text+char0) = string(hp_text+char0)
<     item = ditem_hlink
---
>     report(internerr,0,6) %and %signal fail %if headitem <= 0
>     dp == dict(headitem)
>     %exit %if string(dp_text+char0) = string(hp_text+char0)
>     headitem = dp_hlink
5935c5897
<   headitem = item;  pact = headitem;  hp == ditem
---
>   pact = headitem;  hp == dp
5936a5899
>   arg = darg_link;  darg == dict(arg)
7802c7765
<     decl_flags = decl_flags!spec %if a(keyspec)
---
>     decl_flags = decl_flags+spec %if a(keyspec)
7806c7769
<       decl_mode = ownmode;  decl_flags = decl_flags!spec
---
>       decl_mode = ownmode;  decl_flags = decl_flags+(spec+indirect)
7813c7776
<   %if decl_flags&ext # 0 %and a(keyalias) %start
---
>   %if a(keyalias) %start
