From 87e0853c82de6514b1c3d36cf71356d7ce13acb1 Mon Sep 17 00:00:00 2001 From: maqiyuan Date: Tue, 9 Sep 2014 16:55:27 +0800 Subject: [PATCH] version 2.3.0-final. --- src/texsourc/Makefile.linux.gcc | 2 +- src/texsourc/Makefile.macosx.clang | 2 +- src/texsourc/coerce.h | 3 +- src/texsourc/dpx.c | 1 - src/texsourc/itex.c | 9 +- src/texsourc/local.c | 10 +- src/texsourc/openinou.c | 2 +- src/texsourc/tex0.c | 32 ++--- src/texsourc/tex1.c | 20 ++- src/texsourc/tex2.c | 14 +- src/texsourc/tex3.c | 14 +- src/texsourc/tex4.c | 14 +- src/texsourc/tex5.c | 3 +- src/texsourc/tex6.c | 1 - src/texsourc/tex7.c | 2 - src/texsourc/tex8.c | 2 +- src/texsourc/tex9.c | 284 +++++++++++++++++-------------------- src/texsourc/texd.h | 11 +- src/texsourc/utils.c | 1 - src/texsourc/yandytex.c | 37 ++--- src/texsourc/yandytex.h | 1 + 21 files changed, 202 insertions(+), 263 deletions(-) diff --git a/src/texsourc/Makefile.linux.gcc b/src/texsourc/Makefile.linux.gcc index 92c4529..e867526 100644 --- a/src/texsourc/Makefile.linux.gcc +++ b/src/texsourc/Makefile.linux.gcc @@ -8,7 +8,7 @@ # CC = gcc -CFLAGS = -g -c -O2 -Wno-unused-result +CFLAGS = -g -c -O2 LDFLAGS = libdpx.a libpng.a libz.a /home/clerk/dev/extra/lib/libkpathsea.a -lm objects = yandytex.o itex.o openinou.o subroute.o local.o \ diff --git a/src/texsourc/Makefile.macosx.clang b/src/texsourc/Makefile.macosx.clang index 3c44789..9f58356 100644 --- a/src/texsourc/Makefile.macosx.clang +++ b/src/texsourc/Makefile.macosx.clang @@ -7,7 +7,7 @@ # CC = clang -CFLAGS = -g -c -O2 -Wno-unused-result -Wno-dangling-else -I/Users/maqiyuan/dev/extra/include +CFLAGS = -g -c -O2 -I/Users/maqiyuan/dev/extra/include LDFLAGS = /Users/maqiyuan/dev/extra/lib/libkpathsea.a libdpx.a libpng.a libz.a -lm objects = yandytex.o itex.o openinou.o subroute.o local.o \ diff --git a/src/texsourc/coerce.h b/src/texsourc/coerce.h index 2efec95..8622351 100644 --- a/src/texsourc/coerce.h +++ b/src/texsourc/coerce.h @@ -40,8 +40,7 @@ void print_cs_(integer p); #define print_cs(p) print_cs_((integer) (p)) void sprint_cs (pointer p); void print_file_name (integer n, integer a, integer e); -void print_size_(integer s); -#define print_size(s) print_size_((integer) (s)) +void print_size (integer s); void print_write_whatsit_(const char * s, pointer p); #define print_write_whatsit(s, p) print_write_whatsit_((const char *) (s), (pointer) (p)) void jump_out (void); diff --git a/src/texsourc/dpx.c b/src/texsourc/dpx.c index 48b64de..00d9555 100644 --- a/src/texsourc/dpx.c +++ b/src/texsourc/dpx.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "dpx.h" #include "yandytex.h" diff --git a/src/texsourc/itex.c b/src/texsourc/itex.c index 50b0b52..59269c8 100644 --- a/src/texsourc/itex.c +++ b/src/texsourc/itex.c @@ -20,7 +20,6 @@ */ #define EXTERN extern - #include "yandytex.h" #define BEGINFMTCHECKSUM 367403084L @@ -1972,20 +1971,20 @@ void show_frozen (void) { int i; - fprintf(log_file, "\n(%lld fonts frozen in format file:\n", font_ptr); + log_printf("\n(%lld fonts frozen in format file:\n", font_ptr); for (i = 1; i <= font_ptr; i++) { if (i > 1) - fprintf(log_file, ", "); + log_printf(", "); if ((i % 8) == 0) - fprintf(log_file, "\n"); + log_printf("\n"); fwrite(&str_pool[str_start[font_name[i]]], 1, length(font_name[i]), log_file); } - fprintf(log_file, ") "); + log_printf(") "); } int main_program (void) diff --git a/src/texsourc/local.c b/src/texsourc/local.c index 5e7d011..1bfec9a 100644 --- a/src/texsourc/local.c +++ b/src/texsourc/local.c @@ -39,7 +39,7 @@ #endif #if defined (__clang__) -const char * compiler = "Clang/LLVM"; +const char * compiler = "Clang"; #elif defined (__GNUC__) || defined(__GNUG__) const char * compiler = "GCC"; #elif defined (_MSC_VER) @@ -93,7 +93,7 @@ boolean reorder_arg_flag = true; /* put command line flags/arguments first */ void show_usage (void) { printf("\n" - "Useage: yandytex [OPTION]... [+format_file] [tex_file]\n\n" + "Useage: yandytex [OPTION]... [+format_file] [file]\n\n" "--help -? show this usage summary\n" "--initex -i start up as initex (create format file)\n" "--verbose -v be verbose (show implementation version number)\n" @@ -507,7 +507,7 @@ void memory_error (const char * s, int n) { if (log_opened) { - fprintf(log_file, "\n! Unable to allocate %d bytes for %s\n", n, s); + log_printf("\n! Unable to allocate %d bytes for %s\n", n, s); show_maximums(log_file); } @@ -3271,7 +3271,7 @@ void dvi_font_show (internal_font_number f, int suppressname) checksum = (((font_check[f].b0) << 8 | font_check[f].b1) << 8 | font_check[f].b2) << 8 | font_check[f].b3; decode_fourty(checksum, checksumvector); - fprintf(log_file, "encoding: %s..", checksumvector); + log_printf("encoding: %s..", checksumvector); } putc('\n', log_file); @@ -3293,7 +3293,7 @@ void show_font_info (void) fnumtable = (short *) malloc(fcount * sizeof(short)); - fprintf(log_file, "\nUsed %d font%s:\n", fcount, (fcount == 1) ? "" : "s"); + log_printf("\nUsed %d font%s:\n", fcount, (fcount == 1) ? "" : "s"); fcount = 0; diff --git a/src/texsourc/openinou.c b/src/texsourc/openinou.c index c9987b0..1da9949 100644 --- a/src/texsourc/openinou.c +++ b/src/texsourc/openinou.c @@ -248,7 +248,7 @@ boolean open_input (FILE ** f, kpse_file_format_type file_fmt, const char * fope else (void) putc(' ', log_file); - fprintf(log_file, "(%s)", name_of_file + 1); + log_printf("(%s)", name_of_file + 1); file_offset += n + 3; } } diff --git a/src/texsourc/tex0.c b/src/texsourc/tex0.c index 7436584..a2129ed 100644 --- a/src/texsourc/tex0.c +++ b/src/texsourc/tex0.c @@ -180,12 +180,12 @@ void print_ (integer s) } } - new_line_char = nl; /* restore eol */ + new_line_char = nl; return; } } } -/* we get here with s > 256 - i.e. not a single character */ + j = str_start[s]; while (j < str_start[s + 1]) @@ -356,7 +356,7 @@ void print_file_name (integer n, integer a, integer e) slow_print(e); } /* sec 0699 */ -void print_size_ (integer s) +void print_size (integer s) { if (s == 0) print_esc("textfont"); @@ -391,7 +391,7 @@ void jump_out (void) if (trace_flag) puts("EXITING at JUMPOUT"); - if ((history != 0) && (history != 1)) + if ((history != spotless) && (history != warning_issued)) code = 1; else code = 0; @@ -525,7 +525,7 @@ continu: if (last > first + 1) { loc = first + 1; - buffer[first] = 32; + buffer[first] = ' '; } else { @@ -617,7 +617,7 @@ continu: else while (help_ptr > 0) { decr(help_ptr); - print_nl(help_line[help_ptr] == NULL ? "" : help_line[help_ptr]); + print_nl(help_line[help_ptr]); } print_ln(); @@ -884,15 +884,13 @@ void print_current_string (void) void term_input (void) { integer k; - boolean flag; if (!knuth_flag) show_line("\n", 0); update_terminal(); - flag = input_ln(stdin, true); - if (!flag) + if (!input_ln(stdin, true)) { fatal_error("End of file on the terminal!"); return; @@ -1049,8 +1047,8 @@ scaled x_over_n_(scaled x, integer n) } else { - Result = - (integer) ((- (integer) x)/ n); - tex_remainder = - (integer) ((- (integer) x)% n); + Result = - (integer) ((- (integer) x) / n); + tex_remainder = - (integer) ((- (integer) x) % n); } } @@ -1234,6 +1232,7 @@ void show_token_list_(integer p, integer q, integer l) break; } } + p = link(p); } @@ -1245,7 +1244,7 @@ void runaway (void) { pointer p; - if (scanner_status > 1) + if (scanner_status > skipping) { print_nl("Runaway "); @@ -1778,9 +1777,6 @@ done2: was_lo_max = lo_mem_max; was_hi_min = hi_mem_min; } -#endif /* DEBUG */ - -#ifdef DEBUG /* sec 0172 */ void search_mem_(pointer p) { @@ -1972,11 +1968,11 @@ void print_glue_(scaled d, integer order, const char * s) if ((order < normal) || (order > filll)) prints("foul"); - else if (order > 0) + else if (order > normal) { prints("fil"); - while (order > 1) + while (order > fil) { print_char('l'); decr(order); @@ -2186,7 +2182,7 @@ void show_node_list_(integer p) if (cur_length > depth_threshold) { - if (p != 0) /* fixed 94/Mar/23 BUG FIX NOTE: still not fixed in 3.14159 ! */ + if (p != 0) prints(" []"); return; diff --git a/src/texsourc/tex1.c b/src/texsourc/tex1.c index 124948f..14d7d9a 100644 --- a/src/texsourc/tex1.c +++ b/src/texsourc/tex1.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* sec 0198 */ @@ -84,12 +83,14 @@ void flush_node_list_(pointer p) goto done; } break; + case rule_node: { free_node(p, rule_node_size); goto done; } break; + case ins_node: { flush_node_list(ins_ptr(p)); @@ -98,6 +99,7 @@ void flush_node_list_(pointer p) goto done; } break; + case whatsit_node: { switch (subtype(p)) @@ -105,6 +107,7 @@ void flush_node_list_(pointer p) case open_node: free_node(p, open_node_size); break; + case write_node: case special_node: { @@ -113,10 +116,12 @@ void flush_node_list_(pointer p) goto done; } break; + case close_node: case set_language_code: free_node(p, small_node_size); break; + default: { confusion("ext3"); @@ -124,6 +129,7 @@ void flush_node_list_(pointer p) } break; } + goto done; } break; @@ -216,6 +222,7 @@ void flush_node_list_(pointer p) goto done; } break; + case left_noad: case right_noad: { @@ -223,6 +230,7 @@ void flush_node_list_(pointer p) goto done; } break; + case fraction_noad: { flush_node_list(info(numerator(p))); @@ -231,6 +239,7 @@ void flush_node_list_(pointer p) goto done; } break; + default: { confusion("flushing"); @@ -276,12 +285,14 @@ pointer copy_node_list_(pointer p) words = 5; } break; + case rule_node: { r = get_node(rule_node_size); words = rule_node_size; } break; + case ins_node: { r = get_node(ins_node_size); @@ -291,6 +302,7 @@ pointer copy_node_list_(pointer p) words = ins_node_size - 1; } break; + case whatsit_node: switch (subtype(p)) { @@ -2299,7 +2311,7 @@ pointer id_lookup_(integer j, integer l) if (trace_flag) { str_pool[pool_ptr] = '\0'; - printf(" tex1.c incr(cs_count): '%s' ", &str_pool[pool_ptr - l - d]); + printf(" tex1.c cs_count: '%s' ", &str_pool[pool_ptr - l - d]); } #endif } @@ -2391,7 +2403,7 @@ void eq_define_(pointer p, quarterword t, halfword e) else if (cur_level > level_one) eq_save(p, eq_level(p)); - eq_level(p) = (quarterword) cur_level; + eq_level(p) = cur_level; eq_type(p) = t; equiv(p) = e; } @@ -2401,7 +2413,7 @@ void eq_word_define_(pointer p, integer w) if (xeq_level[p] != cur_level) { eq_save(p, xeq_level[p]); - xeq_level[p] = (quarterword) cur_level; + xeq_level[p] = cur_level; } eqtb[p].cint = w; diff --git a/src/texsourc/tex2.c b/src/texsourc/tex2.c index be0ac25..aa44c94 100644 --- a/src/texsourc/tex2.c +++ b/src/texsourc/tex2.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* following bit used to be end of tex1.c */ @@ -500,8 +499,7 @@ void back_input (void) { pointer p; - while ((state == 0) && (loc == 0) && - (index != v_template)) + while ((state == 0) && (loc == 0) && (index != v_template)) { end_token_list(); } @@ -566,7 +564,7 @@ void begin_file_reading (void) incr(in_open); - if (in_open > high_in_open) /* 1999 Jan 17 */ + if (in_open > high_in_open) high_in_open = in_open; push_input(); @@ -588,12 +586,10 @@ void end_file_reading (void) pop_input(); decr(in_open); } -/* called only form tex0.c */ /* sec 0330 */ void clear_for_error_prompt (void) { - while ((state != 0) && (name == 0) && - (input_ptr > 0) && (loc > limit)) + while ((state != 0) && (name == 0) && (input_ptr > 0) && (loc > limit)) end_file_reading(); print_ln(); @@ -1204,7 +1200,7 @@ void expand (void) case fi_or_else: if (cur_chr > if_limit) - if (if_limit == 1) + if (if_limit == if_code) insert_relax(); else { @@ -1853,7 +1849,7 @@ void scan_something_internal (small_number level, boolean negative) } if (negative) - if (cur_val_level >= 2) + if (cur_val_level >= glue_val) { cur_val = new_spec(cur_val); diff --git a/src/texsourc/tex3.c b/src/texsourc/tex3.c index bb2b733..cd79fe3 100644 --- a/src/texsourc/tex3.c +++ b/src/texsourc/tex3.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* sec 0440 */ @@ -442,7 +441,7 @@ not_found: cur_val = xn_over_d(cur_val, num, denom); f = (num * f + 65536L * tex_remainder) / denom; - cur_val = cur_val +(f / 65536L); + cur_val = cur_val + (f / 65536L); f = f % 65536L; done2: @@ -1511,20 +1510,17 @@ void pack_file_name (str_number n, str_number a, str_number e) for (k = name_length + 1; k <= file_name_size; k++) name_of_file[k] = ' '; - name_of_file[file_name_size] = '\0'; /* paranoia */ + name_of_file[file_name_size] = '\0'; { name_of_file [name_length + 1] = '\0'; if (trace_flag) - printf(" pack_file_name `%s' (%lld) ", name_of_file + 1, name_length); + printf(" pack_file_name -> `%s' (%lld) ", name_of_file + 1, name_length); name_of_file [name_length + 1] = ' '; } } -/* Called only from two places tex9.c for format name - specified and default */ -/* for specified format name args are 0, a, b name in buffer[a] --- buffer[b] */ -/* for default args are format_default_length-4, 1, 0 */ /* sec 0523 */ void pack_buffered_name_(small_number n, integer a, integer b) { @@ -1757,7 +1753,7 @@ void open_log_file (void) log_opened = true; { - fprintf(log_file, "%s (%s %s)", banner, application, yandyversion); + log_printf("%s (%s %s)", banner, application, yandyversion); if (format_ident > 0) slow_print(format_ident); @@ -1804,7 +1800,7 @@ void open_log_file (void) { if (format_file != NULL) { - fprintf(log_file, "(%s)\n", format_file); + log_printf("(%s)\n", format_file); free(format_file); format_file = NULL; } diff --git a/src/texsourc/tex4.c b/src/texsourc/tex4.c index 0500e0c..a34d0af 100644 --- a/src/texsourc/tex4.c +++ b/src/texsourc/tex4.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "dpx.h" #include "yandytex.h" @@ -1251,19 +1250,8 @@ done: #endif } void ship_out (pointer p) -{; +{ pdf_ship_out(p); - /* - switch (shipout_flag) - { - case out_dvi_flag: - case out_xdv_flag: - dvi_ship_out_(p); - break; - case out_pdf_flag: - //pdf_ship_out(p); - break; - }*/ } /* sec 0645 */ void scan_spec (group_code c, boolean three_codes) diff --git a/src/texsourc/tex5.c b/src/texsourc/tex5.c index 9f0a36c..474a339 100644 --- a/src/texsourc/tex5.c +++ b/src/texsourc/tex5.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* sec 0715 */ @@ -298,7 +297,7 @@ void make_radical (pointer q) } y = var_delimiter(left_delimiter(q), cur_size, height(x) + depth(x) + clr + default_rule_thickness); - delta = depth(y) -(height(x) + depth(x) + clr); + delta = depth(y) - (height(x) + depth(x) + clr); if (delta > 0) clr = clr + half(delta); diff --git a/src/texsourc/tex6.c b/src/texsourc/tex6.c index f09cbb2..46c5b9e 100644 --- a/src/texsourc/tex6.c +++ b/src/texsourc/tex6.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* sec 0785 */ diff --git a/src/texsourc/tex7.c b/src/texsourc/tex7.c index ac98ec4..1a7a84a 100644 --- a/src/texsourc/tex7.c +++ b/src/texsourc/tex7.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* sec 0994 */ @@ -213,7 +212,6 @@ continu: q = vert_break(ins_ptr(p), w, depth(p)); height(r) = height(r) + best_height_plus_depth; - #ifdef STAT if (tracing_pages > 0) { diff --git a/src/texsourc/tex8.c b/src/texsourc/tex8.c index 58405e9..5db0e92 100644 --- a/src/texsourc/tex8.c +++ b/src/texsourc/tex8.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* sec 1181 */ @@ -1492,6 +1491,7 @@ void handle_right_brace (void) } } break; + default: { confusion("rightbrace"); diff --git a/src/texsourc/tex9.c b/src/texsourc/tex9.c index 2ddd3ce..1635d87 100644 --- a/src/texsourc/tex9.c +++ b/src/texsourc/tex9.c @@ -56,11 +56,9 @@ boolean open_fmt_file (void) else { name_of_file[name_length + 1] = '\0'; - printf("%s (%s);%s\n", "Sorry, I can't find that format", - name_of_file + 1, " will try the default."); + printf("%s (%s);%s\n", "Sorry, I can't find that format", name_of_file + 1, " will try the default."); name_of_file[name_length + 1] = ' '; - printf("(Perhaps your %s environment variable is not set correctly)\n", - "TEXFORMATS"); + printf("(Perhaps your Y&Y TeX's environment variable is not set correctly)\n"); } update_terminal(); @@ -80,7 +78,7 @@ boolean open_fmt_file (void) name_of_file[name_length + 1] = '\0'; printf("%s (%s)!\n", "I can't find the default format file", name_of_file + 1); name_of_file[name_length + 1] = ' '; - printf("(Perhaps your %s environment variable is not set correctly)\n", "TEXFORMATS"); + printf("(Perhaps your Y&Y TeX's environment variable is not set correctly)\n"); } return false; @@ -107,113 +105,113 @@ void close_files_and_terminate (void) if (tracing_stats > 0 || verbose_flag != 0) if (log_opened) { - fprintf(log_file, "%c\n", ' '); - fprintf(log_file, "\n"); - fprintf(log_file, "%s%s\n", "Here is how much of TeX's memory", " you used:"); - fprintf(log_file, "%c%lld%s", ' ', (integer)(str_ptr - init_str_ptr), " string"); + log_printf("%c\n", ' '); + log_printf("\n"); + log_printf("%s%s\n", "Here is how much of TeX's memory", " you used:"); + log_printf("%c%lld%s", ' ', (integer)(str_ptr - init_str_ptr), " string"); if (str_ptr != init_str_ptr + 1) - putc('s', log_file); + wlog_cr(); #ifdef ALLOCATESTRING if (show_current) - fprintf(log_file, "%s%d\n", " out of ", (int)(current_max_strings - init_str_ptr)); + log_printf("%s%d\n", " out of ", (int)(current_max_strings - init_str_ptr)); else #endif - fprintf(log_file, "%s%d\n", " out of ", (int)(max_strings - init_str_ptr)); + log_printf("%s%d\n", " out of ", (int)(max_strings - init_str_ptr)); #ifdef ALLOCATESTRING if (show_current) - fprintf(log_file, "%c%lld%s%lld\n", ' ', (integer)(pool_ptr - init_pool_ptr), " string characters out of ", current_pool_size - init_pool_ptr); + log_printf("%c%lld%s%lld\n", ' ', (integer)(pool_ptr - init_pool_ptr), " string characters out of ", current_pool_size - init_pool_ptr); else #endif - fprintf(log_file, "%c%lld%s%lld\n", ' ', (integer)(pool_ptr - init_pool_ptr), " string characters out of ", pool_size - init_pool_ptr); + log_printf("%c%lld%s%lld\n", ' ', (integer)(pool_ptr - init_pool_ptr), " string characters out of ", pool_size - init_pool_ptr); #ifdef ALLOCATEMAIN if (show_current) - fprintf(log_file, "%c%lld%s%d\n", ' ', (integer)(lo_mem_max - mem_min + mem_end - hi_mem_min + 2), " words of memory out of ", current_mem_size); + log_printf("%c%lld%s%d\n", ' ', (integer)(lo_mem_max - mem_min + mem_end - hi_mem_min + 2), " words of memory out of ", current_mem_size); else #endif - fprintf(log_file, "%c%lld%s%lld\n", ' ', (integer)(lo_mem_max - mem_min + mem_end - hi_mem_min + 2), " words of memory out of ", mem_end + 1 - mem_min); + log_printf("%c%lld%s%lld\n", ' ', (integer)(lo_mem_max - mem_min + mem_end - hi_mem_min + 2), " words of memory out of ", mem_end + 1 - mem_min); - fprintf(log_file, "%c%lld%s%d\n", ' ', (cs_count), " multiletter control sequences out of ", (hash_size + hash_extra)); - fprintf(log_file, "%c%lld%s%lld%s", ' ', (fmem_ptr), " words of font info for ", (font_ptr - font_base), " font"); + log_printf("%c%lld%s%d\n", ' ', (cs_count), " multiletter control sequences out of ", (hash_size + hash_extra)); + log_printf("%c%lld%s%lld%s", ' ', (fmem_ptr), " words of font info for ", (font_ptr - font_base), " font"); if (font_ptr != 1) wlog('s'); #ifdef ALLOCATEFONT if (show_current) - fprintf(log_file, "%s%d%s%d\n", ", out of ", current_font_mem_size, " for ", font_max - font_base); + log_printf("%s%d%s%d\n", ", out of ", current_font_mem_size, " for ", font_max - font_base); else #endif - fprintf(log_file, "%s%lu%s%d\n", ", out of ", font_mem_size, " for ", font_max - font_base); + log_printf("%s%lu%s%d\n", ", out of ", font_mem_size, " for ", font_max - font_base); - fprintf(log_file, "%c%lld%s", ' ', hyph_count, " hyphenation exception"); + log_printf("%c%lld%s", ' ', hyph_count, " hyphenation exception"); if (hyph_count != 1) wlog('s'); - fprintf(log_file, "%s%lld\n", " out of ", hyphen_prime); - fprintf(log_file, " "); - fprintf(log_file, "%d%s", (int) max_in_stack, "i,"); - fprintf(log_file, "%d%s", (int) max_nest_stack, "n,"); - fprintf(log_file, "%d%s", (int) max_param_stack, "p,"); - fprintf(log_file, "%d%s", (int) max_buf_stack + 1, "b,"); - fprintf(log_file, "%d%s", (int) max_save_stack + 6, "s"); - fprintf(log_file, " stack positions out of "); + log_printf("%s%lld\n", " out of ", hyphen_prime); + log_printf(" "); + log_printf("%d%s", (int) max_in_stack, "i,"); + log_printf("%d%s", (int) max_nest_stack, "n,"); + log_printf("%d%s", (int) max_param_stack, "p,"); + log_printf("%d%s", (int) max_buf_stack + 1, "b,"); + log_printf("%d%s", (int) max_save_stack + 6, "s"); + log_printf(" stack positions out of "); #ifdef ALLOCATESAVESTACK if (show_current) - fprintf(log_file, "%d%s", current_stack_size, "i,"); + log_printf("%d%s", current_stack_size, "i,"); else #endif - fprintf(log_file, "%d%s", stack_size, "i,"); + log_printf("%d%s", stack_size, "i,"); #ifdef ALLOCATENESTSTACK if (show_current) - fprintf(log_file, "%d%s", current_nest_size, "n,"); + log_printf("%d%s", current_nest_size, "n,"); else #endif - fprintf(log_file, "%d%s", nest_size, "n,"); + log_printf("%d%s", nest_size, "n,"); #ifdef ALLOCATEPARAMSTACK if (show_current) - fprintf(log_file, "%d%s", current_param_size, "p,"); + log_printf("%d%s", current_param_size, "p,"); else #endif - fprintf(log_file, "%d%s", param_size, "p,"); + log_printf("%d%s", param_size, "p,"); #ifdef ALLOCATEBUFFER if (show_current) - fprintf(log_file, "%d%s", current_buf_size, "b,"); + log_printf("%d%s", current_buf_size, "b,"); else #endif - fprintf(log_file, "%ld%s", buf_size, "b,"); + log_printf("%ld%s", buf_size, "b,"); #ifdef ALLOCATESAVESTACK if (show_current) - fprintf(log_file, "%d%s", current_save_size, "s"); + log_printf("%d%s", current_save_size, "s"); else #endif - fprintf(log_file, "%d%s", save_size, "s"); + log_printf("%d%s", save_size, "s"); - fprintf(log_file, "\n"); + log_printf("\n"); if (!knuth_flag) - fprintf(log_file, " (i = in_stack, n = nest_stack, p = param_stack, b = buf_stack, s = save_stack)\n"); - - if (!knuth_flag) - fprintf(log_file, " %lld inputs open max out of %d\n", high_in_open, max_in_open); + { + log_printf(" (i = in_stack, n = nest_stack, p = param_stack, b = buf_stack, s = save_stack)\n"); + log_printf(" %lld inputs open max out of %d\n", high_in_open, max_in_open); + } if (show_line_break_stats && first_pass_count > 0) { int first_count, second_count, third_count; - fprintf(log_file, "\nSuccess at breaking %d paragraph%s:", first_pass_count, (first_pass_count == 1) ? "" : "s"); + log_printf("\nSuccess at breaking %d paragraph%s:", first_pass_count, (first_pass_count == 1) ? "" : "s"); if (single_line > 0) - fprintf(log_file, "\n %d single line `paragraph%s'", single_line, (single_line == 1) ? "" : "s"); + log_printf("\n %d single line `paragraph%s'", single_line, (single_line == 1) ? "" : "s"); first_count = first_pass_count - single_line - second_pass_count; @@ -224,34 +222,34 @@ void close_files_and_terminate (void) third_count = final_pass_count - paragraph_failed; if (first_pass_count > 0) - fprintf(log_file, "\n %d first pass (\\pretolerance = %lld)", first_pass_count, pretolerance); + log_printf("\n %d first pass (\\pretolerance = %lld)", first_pass_count, pretolerance); if (second_pass_count > 0) - fprintf(log_file, "\n %d second pass (\\tolerance = %lld)", second_pass_count, tolerance); + log_printf("\n %d second pass (\\tolerance = %lld)", second_pass_count, tolerance); if (final_pass_count > 0 || emergency_stretch > 0) - fprintf(log_file, "\n %d third pass (\\emergencystretch = %lgpt)", + log_printf("\n %d third pass (\\emergencystretch = %lgpt)", final_pass_count, (double) emergency_stretch / 65536.0); if (paragraph_failed > 0) - fprintf(log_file, "\n %d failed", paragraph_failed); + log_printf("\n %d failed", paragraph_failed); - putc('\n', log_file); + wlog_cr(); if (overfull_hbox > 0) - fprintf(log_file, "\n %d overfull \\hbox%s", overfull_hbox, (overfull_hbox > 1) ? "es" : ""); + log_printf("\n %d overfull \\hbox%s", overfull_hbox, (overfull_hbox > 1) ? "es" : ""); if (underfull_hbox > 0) - fprintf(log_file, "\n %d underfull \\hbox%s", underfull_hbox, (underfull_hbox > 1) ? "es" : ""); + log_printf("\n %d underfull \\hbox%s", underfull_hbox, (underfull_hbox > 1) ? "es" : ""); if (overfull_vbox > 0) - fprintf(log_file, "\n %d overfull \\vbox%s", overfull_vbox, (overfull_vbox > 1) ? "es" : ""); + log_printf("\n %d overfull \\vbox%s", overfull_vbox, (overfull_vbox > 1) ? "es" : ""); if (underfull_vbox > 0) - fprintf(log_file, "\n %d underfull \\vbox%s", underfull_vbox, (underfull_vbox > 1) ? "es" : ""); + log_printf("\n %d underfull \\vbox%s", underfull_vbox, (underfull_vbox > 1) ? "es" : ""); if (overfull_hbox || underfull_hbox || overfull_vbox || underfull_vbox) - putc('\n', log_file); + wlog_cr(); } } #endif @@ -288,108 +286,101 @@ void close_files_and_terminate (void) b_close(pdf_file); } } - /* - switch (shipout_flag) { - case out_dvi_flag: - case out_xdv_flag: + while (cur_s > -1) + { + if (cur_s > 0) + dvi_out(pop); + else { - while (cur_s > -1) - { - if (cur_s > 0) - dvi_out(pop); - else - { - dvi_out(eop); - incr(total_pages); - } + dvi_out(eop); + incr(total_pages); + } - decr(cur_s); - } - - if (total_pages == 0) - print_nl("No pages of output."); - else - { - dvi_out(post); - dvi_four(last_bop); - last_bop = dvi_offset + dvi_ptr - 5; - dvi_four(25400000L); - dvi_four(473628672L); - prepare_mag(); - dvi_four(mag); - dvi_four(max_v); - dvi_four(max_h); - dvi_out(max_push / 256); - dvi_out(max_push % 256); - - if (total_pages >= 65536) - { - sprintf(log_line, "\nWARNING: page count (dvi_t) in DVI file will be %lld not %lld\n", - (total_pages % 65536), total_pages); + decr(cur_s); + } - if (log_opened) - fputs(log_line, log_file); + if (total_pages == 0) + print_nl("No pages of output."); + else + { + dvi_out(post); + dvi_four(last_bop); + last_bop = dvi_offset + dvi_ptr - 5; + dvi_four(25400000L); + dvi_four(473628672L); + prepare_mag(); + dvi_four(mag); + dvi_four(max_v); + dvi_four(max_h); + dvi_out(max_push / 256); + dvi_out(max_push % 256); + + if (total_pages >= 65536) + { + sprintf(log_line, "\nWARNING: page count (dvi_t) in DVI file will be %lld not %lld\n", + (total_pages % 65536), total_pages); - show_line(log_line, 1); - } + if (log_opened) + fputs(log_line, log_file); - dvi_out((total_pages / 256) % 256); - dvi_out(total_pages % 256); + show_line(log_line, 1); + } - if (show_fonts_used && log_opened) - show_font_info(); + dvi_out((total_pages / 256) % 256); + dvi_out(total_pages % 256); - while (font_ptr > 0) - { - if (font_used[font_ptr]) - dvi_font_def(font_ptr); + if (show_fonts_used && log_opened) + show_font_info(); - decr(font_ptr); - } + while (font_ptr > 0) + { + if (font_used[font_ptr]) + dvi_font_def(font_ptr); - dvi_out(post_post); - dvi_four(last_bop); - dvi_out(id_byte); - k = 4 + ((dvi_buf_size - dvi_ptr) % 4); + decr(font_ptr); + } - while (k > 0) - { - dvi_out(223); - decr(k); - } + dvi_out(post_post); + dvi_four(last_bop); + dvi_out(id_byte); + k = 4 + ((dvi_buf_size - dvi_ptr) % 4); - if (trace_flag) - printf("\ndvi_write %lld", dvi_gone); + while (k > 0) + { + dvi_out(223); + decr(k); + } - if (dvi_limit == half_buf) - write_dvi(half_buf, dvi_buf_size - 1); + if (trace_flag) + printf("\ndvi_write %lld", dvi_gone); - if (dvi_ptr > 0) - write_dvi(0, dvi_ptr - 1); + if (dvi_limit == half_buf) + write_dvi(half_buf, dvi_buf_size - 1); - print_nl("Output written on "); + if (dvi_ptr > 0) + write_dvi(0, dvi_ptr - 1); + + print_nl("Output written on "); - if (full_file_name_flag && dvi_file_name != NULL) - prints(dvi_file_name); - else - slow_print(output_file_name); + if (full_file_name_flag && dvi_file_name != NULL) + prints(dvi_file_name); + else + slow_print(output_file_name); - prints(" ("); - print_int(total_pages); - prints(" page"); + prints(" ("); + print_int(total_pages); + prints(" page"); - if (total_pages != 1) - print_char('s'); + if (total_pages != 1) + print_char('s'); - prints(", "); - print_int(dvi_offset + dvi_ptr); - prints(" bytes)."); - b_close(dvi_file); - } - } - break; + prints(", "); + print_int(dvi_offset + dvi_ptr); + prints(" bytes)."); + b_close(dvi_file); + } } */ if (log_opened) @@ -459,19 +450,7 @@ void debug_help (void) break; case 5: -#ifdef SHORTFONTINFO - print_scaled(font_info[n].sc); - print_char(' '); - print_int(font_info[n].b0); - print_char(':'); - print_int(font_info[n].b1); - print_char(':'); - print_int(font_info[n].b2); - print_char(':'); - print_int(font_info[n].b3); -#else - print_word(font_info[n]); -#endif + print_word(font_info[n]); break; case 6: @@ -488,8 +467,7 @@ void debug_help (void) #ifdef ALLOCATESTRING if (pool_ptr + 32000 > current_pool_size) str_pool = realloc_str_pool (increment_pool_size); -#endif -#ifdef ALLOCATESTRING + depth_threshold = current_pool_size - pool_ptr - 10; #else depth_threshold = pool_size - pool_ptr - 10; diff --git a/src/texsourc/texd.h b/src/texsourc/texd.h index 334b579..e4b4067 100644 --- a/src/texsourc/texd.h +++ b/src/texsourc/texd.h @@ -28,6 +28,9 @@ #pragma warning(disable:4701) // potentially uninitialized local variable 'name' used #pragma warning(disable:4135) // conversion between different integral types #pragma warning(disable:4127) // conditional expression is constant +#else + #pragma GCC diagnostic ignored "-Wunused-result" + #pragma GCC diagnostic ignored "-Wdangling-else" #endif #include @@ -100,14 +103,6 @@ EXTERN int check_fclose (FILE * f); #define wterm_cr() (void) putc('\n', stdout); #define wlog_cr() (void) putc('\n', log_file); -enum -{ - out_dvi_flag = (1 << 0), - out_pdf_flag = (1 << 1), - out_xdv_flag = (1 << 2), - out_dpx_flag = (1 << 3), -}; - EXTERN boolean input_line (FILE * f); #define input_ln(stream, flag) input_line(stream) /* sec 0027 */ diff --git a/src/texsourc/utils.c b/src/texsourc/utils.c index 165661c..a619141 100644 --- a/src/texsourc/utils.c +++ b/src/texsourc/utils.c @@ -18,7 +18,6 @@ */ #define EXTERN extern - #include "yandytex.h" /* sec 0016 */ diff --git a/src/texsourc/yandytex.c b/src/texsourc/yandytex.c index 2006236..9a0400a 100644 --- a/src/texsourc/yandytex.c +++ b/src/texsourc/yandytex.c @@ -103,13 +103,11 @@ void t_open_in (void) for (last = first; buffer[last]; ++last) do_nothing(); - for (--last; last >= first && ISBLANK (buffer[last]) && buffer[last] != '\r'; --last) + for (--last; last >= first && ISBLANK(buffer[last]) && buffer[last] != '\r'; --last) do_nothing(); last++; -/* One more time, this time converting to TeX's internal character - representation. */ /* for command line input in this case */ if (non_ascii) { for (i = first; i < last; i++) @@ -312,13 +310,7 @@ boolean input_line_finish (void) return true; } - -/* Read a line of input into buffer as efficiently as possible (ha ha) - while still looking like Pascal. - We set `last' to `first' and return `false' if we get to eof. - Otherwise, we return `true' and set last = first + - length(line except trailing whitespace). */ - +/* sec 0031 */ boolean input_line (FILE * f) { char * u; /* 1994/July/3 for key_replace */ @@ -416,15 +408,15 @@ boolean input_line (FILE * f) } } - if (return_flag) /* let return terminate line as well as newline */ + if (return_flag) /* let return terminate line as well as newline */ { - if (i == '\r') /* see whether return followed by newline */ + if (i == '\r') /* see whether return followed by newline */ { - i = getc (f); /* in which case throw away the newline */ + i = getc(f); /* in which case throw away the newline */ if (i != '\n') { - ungetc (i, f); + ungetc(i, f); i = '\r'; } /* else buffer[last-1] = (ASCII_code) i; */ @@ -468,10 +460,12 @@ boolean input_line (FILE * f) static char * edit_value = "c:\\yandy\\WinEdt\\WinEdt.exe [Open('%s');SelLine(%d,7)]"; +#ifdef WIN32 static inline int Isspace (char c) { return (c == ' ' || c == '\t'); } +#endif void call_edit (ASCII_code * filename, pool_pointer fnstart, integer fnlength, integer linenumber) { @@ -488,12 +482,12 @@ void call_edit (ASCII_code * filename, pool_pointer fnstart, integer fnlength, i sdone = ddone = 0; filename += fnstart; - /* Close any open input files, since we're going to kill the job. */ + /* Close any open input files, since we're going to kill the job. */ for (i = 1; i <= in_open; i++) #ifdef XeTeX - xfclose (input_file[i]->f, "inputfile"); + xfclose(input_file[i]->f, "inputfile"); #else - xfclose (input_file[i], "inputfile"); + xfclose(input_file[i], "inputfile"); #endif /* Replace the default with the value of the appropriate environment @@ -621,15 +615,6 @@ void call_edit (ASCII_code * filename, pool_pointer fnstart, integer fnlength, i #if !defined (WORDS_BIGENDIAN) && !defined (NO_FMTBASE_SWAP) - -/* We don't REALLY care what `endian' the machine is after all ! */ - -// #ifdef MYDEBUG -// char swapmarkerstring="ERROR: SWAPPING - NOT BigEndian AND NOT NoFmtBaseSwap"; -// #endif - -/* This macro is always invoked as a statement. It assumes a variable - `temp'. */ #define SWAP(x, y) temp = (x); (x) = (y); (y) = temp; diff --git a/src/texsourc/yandytex.h b/src/texsourc/yandytex.h index aadf27c..0b8cc22 100644 --- a/src/texsourc/yandytex.h +++ b/src/texsourc/yandytex.h @@ -851,4 +851,5 @@ extern void print_plus (int i, const char * s); extern void fget (void); extern str_number get_job_name (str_number job); extern void show_font_info (void); +#define log_printf(...) fprintf(log_file, __VA_ARGS__) #endif \ No newline at end of file -- 2.11.0