OSDN Git Service

chr_cmd().
[putex/putex.git] / src / texsourc / yandy_macros.h
index faf1017..04d61b1 100644 (file)
@@ -53,6 +53,14 @@ enum
   error_message_issued = 2,
   fatal_error_stop     = 3,
 };
+/* sec 0096 */
+#define check_interrupt()     \
+do                            \
+{                             \
+  if (interrupt != 0)         \
+    pause_for_instructions(); \
+}                             \
+while (0)
 /* sec 0105 */
 #define nx_plux_y(...)   mult_and_add(..., 07777777777L)
 #define mult_integers(a) mult_and_add(a,0,017777777777L)
@@ -416,9 +424,7 @@ enum
 #define frozen_dont_expand            (frozen_control_sequence + 9)        // (hash_size + hash_extra + 523)
 #define frozen_null_font              (frozen_control_sequence + 10)       // (hash_size + hash_extra + 524)
 #define font_id_base                  (frozen_null_font - font_base)       // (hash_size + hash_extra + 524)
-#define undefined_control_sequence    (frozen_null_font + 1025)            // (hash_size + hash_extra + 781) = font_max + 2
-                                                                           // (hash_size + (255 - 1023) + 1025 + 524)
-                                                                           // (hash_size + 781)
+#define undefined_control_sequence    (frozen_null_font + font_max + 2)    // (hash_size + 781)
 #define glue_base                     (undefined_control_sequence + 1)     // (hash_size + 782)
 /* sec 0224 */
 #define line_skip_code                0  // 782
@@ -725,6 +731,14 @@ enum
 #define other_token       06000 // 3072 = 2^8 * other_char
 #define match_token       06400 // 3328 = 2^8 * match
 #define end_match_token   07000 // 3584 = 2^8 * end_match
+/* sec 0298 */
+#define chr_cmd(s)  \
+do                  \
+{                   \
+  print_string(s);  \
+  print(chr_code);  \
+}                   \
+while (0)
 /* sec 0302 */
 #define state cur_input.state_field
 #define index cur_input.index_field
@@ -735,6 +749,8 @@ enum
 #define mid_line    1
 #define skip_blanks 2 + max_char_code // 17
 #define new_line    3 + max_char_code + max_char_code // 33
+/* sec 0304 */
+#define cur_file input_file[index]
 /* sec 0305 */
 #define skipping  1
 #define defining  2
@@ -761,6 +777,14 @@ enum
 #define every_cr_text      13
 #define mark_text          14
 #define write_text         15
+/* sec 0322 */
+#define pop_input()                   \
+do                                    \
+{                                     \
+  decr(input_ptr);                    \
+  cur_input = input_stack[input_ptr]; \
+}                                     \
+while (0)
 /* sec 0323 */
 #define back_list(a) begin_token_list(a, backed_up)
 #define ins_list(a)  begin_token_list(a, inserted)
@@ -774,6 +798,26 @@ enum
   case (a) + sub_mark:   \
   case (a) + letter:     \
   case (a) + other_char
+/* sec 0352 */
+#define is_hex(a) \
+  (((a >= '0') && (a <= '9')) || ((a >= 'a') && (a <= 'f')))
+#define hex_to_cur_chr()                    \
+do                                          \
+{                                           \
+  if (c <= '9')                             \
+    cur_chr = c - '0';                      \
+  else                                      \
+    cur_chr = c - 'a' + 10;                 \
+                                            \
+  if (cc <= '9')                            \
+    cur_chr = 16 * cur_chr + cc - '0';      \
+  else                                      \
+    cur_chr = 16 * cur_chr + cc - 'a' + 10; \
+}                                           \
+while (0)
+/* sec 0360 */
+#define end_line_char_inactive()  \
+  (end_line_char < 0) || (end_line_char > 255)
 /* sec 0358 */
 /* sec 0371 */
 #define store_new_token(a)  \
@@ -1175,6 +1219,14 @@ while (0)
 #define delta_node      2
 /* sec 0823 */
 #define do_all_six(a) a(1); a(2); a(3); a(4); a(5); a(6)
+/* sec 0825 */
+#define check_shrinkage(s)                            \
+do                                                    \
+{                                                     \
+  if ((shrink_order(s) != normal) && (shrink(s) != 0))\
+    s = finite_shrink(s);                             \
+}                                                     \
+while (0)
 /* sec 0829 */
 #define copy_to_cur_active(a) cur_active_width[a] = active_width[a]
 /* sec 0832 */
@@ -1194,6 +1246,18 @@ while (0)
 #define downdate_width(a)     cur_active_width[(a)] = cur_active_width[(a)] - mem[prev_r + (a)].cint
 /* sec 0861 */
 #define update_active(a) active_width[(a)] = active_width[(a)] + mem[r + (a)].cint
+/* sec 0866 */
+#define act_width active_width[1]
+#define kern_break()                                \
+do                                                  \
+{                                                   \
+  if (!is_char_node(link(cur_p)) && auto_breaking)  \
+    if (type(link(cur_p)) == glue_node)             \
+      try_break(0, unhyphenated);                   \
+                                                    \
+  act_width = act_width + width(cur_p);             \
+}                                                   \
+while (0)
 /* sec 0877 */
 #define next_break prev_break
 /* sec 0908 */
@@ -1373,6 +1437,25 @@ while (0)
 #define over_code      1
 #define atop_code      2
 #define delimited_code 3
+/* sec 1214 */
+#define define(p, t, e) \
+do                      \
+{                       \
+  if (a >= 4)           \
+    geq_define(p, t, e);\
+  else                  \
+    eq_define(p, t, e); \
+}                       \
+while (0)
+#define word_define(p, w) \
+do                        \
+{                         \
+  if (a >= 4)             \
+    geq_word_define(p, w);\
+  else                    \
+    eq_word_define(p, w); \
+}                         \
+while (0)
 /* sec 1222 */
 #define char_def_code      0
 #define math_char_def_code 1