#define EXTERN extern
#include "texd.h"
void giveerrhelp ( )
{giveerrhelp_regmem
tokenshow ( eqtb [ 10821 ] .hh .v.RH ) ;
}
boolean openfmtfile ( )
{/* 40 10 */ register boolean Result; openfmtfile_regmem
integer j ;
j = curinput .locfield ;
if ( buffer [ curinput .locfield ] == 38 )
{
incr ( curinput .locfield ) ;
j = curinput .locfield ;
buffer [ last ] = 32 ;
while ( buffer [ j ] != 32 ) incr ( j ) ;
packbufferedname ( 0 , curinput .locfield , j - 1 ) ;
if ( wopenin ( fmtfile ) )
goto lab40 ;
(void) fprintf( stdout , "%s%s\n", "Sorry, I can't find that format;" , " will try the default." ) ;
flush ( stdout ) ;
}
packbufferedname ( formatdefaultlength - 4 , 1 , 0 ) ;
if ( ! wopenin ( fmtfile ) )
{
;
(void) fprintf( stdout , "%s\n", "I can't find the default format file!" ) ;
Result = false ;
return(Result) ;
}
lab40: curinput .locfield = j ;
Result = true ;
return(Result) ;
}
void closefilesandterminate ( )
{closefilesandterminate_regmem
integer k ;
{register integer for_end; k = 0 ; for_end = 15 ; if ( k <= for_end) do
if ( writeopen [ k ] )
aclose ( writefile [ k ] ) ;
while ( k++ < for_end ) ; }
{register integer for_end; hsii = 1 ; for_end = FILENAMESIZE ; if ( hsii <=
for_end) do
{
nameoffile [ hsii ] = ' ' ;
}
while ( hsii++ < for_end ) ; }
hsij = strstart [ jobname ] ;
hsii = 1 ;
while ( hsij < strstart [ jobname + 1 ] ) {
nameoffile [ hsii ] = xchr [ strpool [ hsij ] ] ;
hsij = hsij + 1 ;
hsii = hsii + 1 ;
}
nameoffile [ hsii ] = '.' ;
nameoffile [ hsii + 1 ] = 'm' ;
nameoffile [ hsii + 2 ] = 'e' ;
nameoffile [ hsii + 3 ] = 'm' ;
if ( ! aopenout ( hsmem ) )
{
(void) fprintf( stdout , "%s\n", " =iSi=> cant a_open_out " ) ;
wjob () ;
(void) Fputs( stdout , ".mem " ) ;
(void) putc('\n', stdout );
}
else {
while ( mdm != nil ) {
if ( inuse ( mdm ->w12 , mdm ->l1 , mdb ) )
{
if ( isidebug == 1 )
{
(void) Fputs( stdout , " =iSi=> writing to " ) ;
wjob () ;
(void) Fputs( stdout , ".mem: " ) ;
writewt ( mdm ->w12 , mdm ->l1 , mdm ->tr1 ) ;
(void) putc('\n', stdout );
}
(void) fprintf( hsmem , " %ld\n", (long)mdm ->l1 ) ;
{register integer for_end; k = 1 ; for_end = mdm ->l1 ; if ( k <=
for_end) do
{
(void) fprintf( hsmem , " %ld", (long)mdm ->w12 [ k ] ) ;
}
while ( k++ < for_end ) ; }
(void) putc('\n', hsmem );
{register integer for_end; k = 1 ; for_end = mdm ->l1 ; if ( k <=
for_end) do
{
(void) fprintf( hsmem , " %ld", (long)mdm ->tr1 [ k ] ) ;
}
while ( k++ < for_end ) ; }
(void) putc('\n', hsmem );
if ( mdm ->neu1 )
{
(void) putc( Xchr ( 116 ) , hsmem );
(void) putc('\n', hsmem );
mdleintragen ( mdm ->w12 , mdm ->l1 , mdl ) ;
}
else {
(void) putc( Xchr ( 102 ) , hsmem );
(void) putc('\n', hsmem );
}
}
else {
if ( isidebug == 1 )
{
(void) Fputs( stdout , " =iSi=> " ) ;
wwort ( mdm ->w12 , mdm ->l1 ) ;
(void) Fputs( stdout , " not in use" ) ;
(void) putc('\n', stdout );
}
}
mdm = mdm ->li ;
}
aclose ( hsmem ) ;
}
{register integer for_end; hsii = 1 ; for_end = FILENAMESIZE ; if ( hsii <=
for_end) do
{
nameoffile [ hsii ] = ' ' ;
}
while ( hsii++ < for_end ) ; }
hsij = strstart [ jobname ] ;
hsii = 1 ;
while ( hsij < strstart [ jobname + 1 ] ) {
nameoffile [ hsii ] = xchr [ strpool [ hsij ] ] ;
hsij = hsij + 1 ;
hsii = hsii + 1 ;
}
nameoffile [ hsii ] = '.' ;
nameoffile [ hsii + 1 ] = 'l' ;
nameoffile [ hsii + 2 ] = 'e' ;
nameoffile [ hsii + 3 ] = 'x' ;
if ( ! aopenout ( hslex ) )
(void) fprintf( stdout , "%s\n", " =iSi=> cant open hslex" ) ;
else {
while ( mdl != nil ) {
if ( isidebug == 1 )
{
(void) Fputs( stdout , " =iSi=> writing to " ) ;
wjob () ;
(void) Fputs( stdout , ".lex: " ) ;
wwort ( mdl ->w12 , mdl ->l1 ) ;
(void) putc('\n', stdout );
}
(void) putc( Xchr ( mdl ->l1 ) , hslex );
{register integer for_end; k = 1 ; for_end = mdl ->l1 ; if ( k <=
for_end) do
{
if ( mdl ->w12 [ k ] <= 26 )
{
(void) putc( Xchr ( mdl ->w12 [ k ] + 96 ) , hslex );
}
else {
if ( mdl ->w12 [ k ] == 27 )
{
(void) Fputs( hslex , "\"a" ) ;
}
else if ( mdl ->w12 [ k ] == 28 )
{
(void) Fputs( hslex , "\"o" ) ;
}
else if ( mdl ->w12 [ k ] == 29 )
{
(void) Fputs( hslex , "\"u" ) ;
}
else if ( mdl ->w12 [ k ] == 30 )
{
(void) Fputs( hslex , "\"s" ) ;
}
else {
(void) putc( '-' , hslex );
}
}
}
while ( k++ < for_end ) ; }
(void) putc('\n', hslex );
mdl = mdl ->li ;
}
aclose ( hslex ) ;
}
{register integer for_end; hsii = 1 ; for_end = FILENAMESIZE ; if ( hsii <=
for_end) do
{
nameoffile [ hsii ] = ' ' ;
}
while ( hsii++ < for_end ) ; }
hsij = strstart [ jobname ] ;
hsii = 1 ;
while ( hsij < strstart [ jobname + 1 ] ) {
nameoffile [ hsii ] = xchr [ strpool [ hsij ] ] ;
hsij = hsij + 1 ;
hsii = hsii + 1 ;
}
nameoffile [ hsii ] = '.' ;
nameoffile [ hsii + 1 ] = 'e' ;
nameoffile [ hsii + 2 ] = 'd' ;
nameoffile [ hsii + 3 ] = 't' ;
if ( ! aopenout ( hsedt ) )
(void) fprintf( stdout , "%s\n", " =iSi=> cant open hsedt" ) ;
else {
while ( mde != nil ) {
if ( isidebug == 1 )
{
(void) Fputs( stdout , " =iSi=> writing to " ) ;
wjob () ;
(void) Fputs( stdout , ".edt: " ) ;
wwort ( mde ->w12 , mde ->l1 ) ;
(void) putc('\n', stdout );
}
{register integer for_end; k = 1 ; for_end = mde ->l1 ; if ( k <=
for_end) do
{
if ( mde ->w12 [ k ] <= 26 )
{
(void) putc( Xchr ( mde ->w12 [ k ] + 96 ) , hsedt );
}
else {
if ( mde ->w12 [ k ] == 27 )
{
(void) Fputs( hsedt , "\"a" ) ;
}
else if ( mde ->w12 [ k ] == 28 )
{
(void) Fputs( hsedt , "\"o" ) ;
}
else if ( mde ->w12 [ k ] == 29 )
{
(void) Fputs( hsedt , "\"u" ) ;
}
else if ( mde ->w12 [ k ] == 30 )
{
(void) Fputs( hsedt , "\"s" ) ;
}
else {
(void) Fputs( hsedt , "--" ) ;
}
}
}
while ( k++ < for_end ) ; }
(void) putc('\n', hsedt );
mde = mde ->li ;
}
aclose ( hsedt ) ;
}
;
#ifdef STAT
if ( eqtb [ 12694 ] .cint > 0 )
if ( logopened )
{
(void) fprintf( logfile , "%c\n", ' ' ) ;
(void) fprintf( logfile , "%s%s\n", "Here is how much of TeX's memory" , " you used:" ) ;
(void) fprintf( logfile , "%c%ld%s", ' ' , (long)strptr - initstrptr , " string" ) ;
if ( strptr != initstrptr + 1 )
(void) putc( 's' , logfile );
(void) fprintf( logfile , "%s%ld\n", " out of " , (long)maxstrings - initstrptr ) ;
(void) fprintf( logfile , "%c%ld%s%ld\n", ' ' , (long)poolptr - initpoolptr , " string characters out of " , (long)poolsize - initpoolptr ) ;
(void) fprintf( logfile , "%c%ld%s%ld\n", ' ' , (long)lomemmax - memmin + memend - himemmin + 2 , " words of memory out of " , (long)memend + 1 - memmin ) ;
(void) fprintf( logfile , "%c%ld%s%ld\n", ' ' , (long)cscount , " multiletter control sequences out of " , (long)9500 ) ;
(void) fprintf( logfile , "%c%ld%s%ld%s", ' ' , (long)fmemptr , " words of font info for " , (long)fontptr - 0 , " font" ) ;
if ( fontptr != 1 )
(void) putc( 's' , logfile );
(void) fprintf( logfile , "%s%ld%s%ld\n", ", out of " , (long)fontmemsize , " for " , (long)fontmax - 0 ) ;
(void) fprintf( logfile , "%c%ld%s", ' ' , (long)hyphcount , " hyphenation exception" ) ;
if ( hyphcount != 1 )
(void) putc( 's' , logfile );
(void) fprintf( logfile , "%s%ld\n", " out of " , (long)607 ) ;
(void) fprintf( logfile , "%c%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%s%ld%c\n", ' ' , (long)maxinstack , "i," , (long)maxneststack , "n," , (long)maxparamstack , "p," , (long)maxbufstack + 1 , "b," , (long)maxsavestack + 6 , "s stack positions out of " , (long)stacksize , "i," , (long)nestsize , "n," , (long)paramsize , "p," , (long)bufsize , "b," , (long)savesize , 's' ) ;
}
#endif /* STAT */
while ( curs > -1 ) {
if ( curs > 0 )
{
dvibuf [ dviptr ] = 142 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
else {
{
dvibuf [ dviptr ] = 140 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
incr ( totalpages ) ;
}
decr ( curs ) ;
}
if ( totalpages == 0 )
printnl ( 833 ) ;
else {
{
dvibuf [ dviptr ] = 248 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
dvifour ( lastbop ) ;
lastbop = dvioffset + dviptr - 5 ;
dvifour ( 25400000L ) ;
dvifour ( 473628672L ) ;
preparemag () ;
dvifour ( eqtb [ 12680 ] .cint ) ;
dvifour ( maxv ) ;
dvifour ( maxh ) ;
{
dvibuf [ dviptr ] = maxpush / 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
{
dvibuf [ dviptr ] = maxpush % 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
{
dvibuf [ dviptr ] = ( totalpages / 256 ) % 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
{
dvibuf [ dviptr ] = totalpages % 256 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
while ( fontptr > 0 ) {
if ( fontused [ fontptr ] )
dvifontdef ( fontptr ) ;
decr ( fontptr ) ;
}
{
dvibuf [ dviptr ] = 249 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
dvifour ( lastbop ) ;
{
dvibuf [ dviptr ] = 2 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
k = 4 + ( ( dvibufsize - dviptr ) % 4 ) ;
while ( k > 0 ) {
{
dvibuf [ dviptr ] = 223 ;
incr ( dviptr ) ;
if ( dviptr == dvilimit )
dviswap () ;
}
decr ( k ) ;
}
if ( dvilimit == halfbuf )
writedvi ( halfbuf , dvibufsize - 1 ) ;
if ( dviptr > 0 )
writedvi ( 0 , dviptr - 1 ) ;
printnl ( 834 ) ;
print ( outputfilename ) ;
print ( 284 ) ;
printint ( totalpages ) ;
print ( 835 ) ;
if ( totalpages != 1 )
printchar ( 115 ) ;
print ( 836 ) ;
printint ( dvioffset + dviptr ) ;
print ( 837 ) ;
bclose ( dvifile ) ;
}
if ( logopened )
{
(void) putc('\n', logfile );
aclose ( logfile ) ;
selector = selector - 2 ;
if ( selector == 17 )
{
printnl ( 1268 ) ;
print ( logname ) ;
printchar ( 46 ) ;
}
}
println () ;
if ( ( editnamestart != 0 ) && ( interaction > 0 ) )
calledit ( strpool , editnamestart , editnamelength , editline ) ;
}
#ifdef DEBUG
void debughelp ( )
{/* 888 10 */ debughelp_regmem
integer k, l, m, n ;
while ( true ) {
;
printnl ( 1277 ) ;
flush ( stdout ) ;
read ( stdin , m ) ;
if ( m < 0 )
return ;
else if ( m == 0 )
dumpcore () ;
else {
read ( stdin , n ) ;
switch ( m )
{case 1 :
printword ( mem [ n ] ) ;
break ;
case 2 :
printint ( mem [ n ] .hh .v.LH ) ;
break ;
case 3 :
printint ( mem [ n ] .hh .v.RH ) ;
break ;
case 4 :
printword ( eqtb [ n ] ) ;
break ;
case 5 :
printword ( fontinfo [ n ] ) ;
break ;
case 6 :
printword ( savestack [ n ] ) ;
break ;
case 7 :
showbox ( n ) ;
break ;
case 8 :
{
breadthmax = 10000 ;
depththreshold = poolsize - poolptr - 10 ;
shownodelist ( n ) ;
}
break ;
case 9 :
showtokenlist ( n , 0 , 1000 ) ;
break ;
case 10 :
print ( n ) ;
break ;
case 11 :
checkmem ( n > 0 ) ;
break ;
case 12 :
searchmem ( n ) ;
break ;
case 13 :
{
read ( stdin , l ) ;
printcmdchr ( n , l ) ;
}
break ;
case 14 :
{register integer for_end; k = 0 ; for_end = n ; if ( k <= for_end)
do
print ( buffer [ k ] ) ;
while ( k++ < for_end ) ; }
break ;
case 15 :
{
fontinshortdisplay = 0 ;
shortdisplay ( n ) ;
}
break ;
case 16 :
panicking = ! panicking ;
break ;
default:
print ( 63 ) ;
break ;
}
}
}
}
#endif /* DEBUG */