TeX in C
Explore TeX with modern c compiler.
error.h
浏览该文件的文档.
1 #pragma once
2 #ifndef INC_ERROR_H
4 #define INC_ERROR_H
5 #include "global.h" // [type] Integer
6 #include "str.h" // [type] StrNumber
7 
17 typedef enum _UserInteractionMode {
22 } UserInteractionMode; // [#73] enum UserInteractionMode
23 
29 typedef enum _ErrorLevel {
30  SPOTLESS = 0,
34 } ErrorLevel; // [#76] enum ErrorLevel
35 
37 // tex only
38 #define help1(x1) set_help(1, x1)
39 #define help2(x1, x2) set_help(2, x1, x2)
40 #define help3(x1, x2, x3) set_help(3, x1, x2, x3)
41 // fonts, tex
42 #define help4(x1, x2, x3, x4) set_help(4, x1, x2, x3, x4)
43 #define help5(x1, x2, x3, x4, x5) set_help(5, x1, x2, x3, x4, x5)
44 // tex only
45 #define help6(x1, x2, x3, x4, x5, x6) set_help(6, x1, x2, x3, x4, x5, x6)
46 
47 
49 #define checkinterrupt() ((interrupt != 0) ? (pause_for_instructions(), 0) : 0) // end group S72x98_P30x37
51 
52 
53 extern UChar interaction;
56 extern ErrorLevel history;
57 extern SChar errorcount;
58 extern StrNumber help_line[6];
59 extern UChar help_ptr;
60 extern Boolean use_err_help;
61 extern Integer interrupt;
63 
64 extern void set_help(SChar k, ...);
65 extern void error_init();
66 extern void error_selector_init();
67 extern void print_err(StrNumber s);
68 extern void print_err_str(Str s);
69 extern void error(void);
70 extern void int_error(Integer n);
71 extern void normalize_selector(void);
72 extern void succumb(void);
73 extern void fatalerror(StrNumber s);
74 extern void overflow(StrNumber s, Integer n);
75 extern void confusion(StrNumber s);
76 extern void pause_for_instructions(void);
77 
78 #endif // INC_ERROR_H
uint_fast32_t StrNumber
Definition: str.h:73
char * Str
real string.
Definition: str.h:75
Boolean deletions_allowed
[#76] is it safe for error to call get_token?
Definition: error.c:30
UChar interaction
[p30#73] current level of interaction.
Definition: error.c:27
SChar errorcount
[#76] the number of scrolled errors since the last paragraph ended.
Definition: error.c:38
Boolean set_box_allowed
[#76] is it safe to do a \setbox assignment?
Definition: error.c:32
void error_init()
[#74, #77, #80, #97] Set initial values of key variables.
Definition: error.c:54
void normalize_selector(void)
[#92] fix selector state just enough to keep running a bit longer.
Definition: error.c:376
void error(void)
[#82]: completes the job of error reporting.
Definition: error.c:113
void succumb(void)
[#93]: prints TEX’s last words before dying.
Definition: error.c:393
ErrorLevel history
[#76] has the source input been clean so far? [SPOTLESS, FATAL_ERROR_STOP]
Definition: error.c:35
void error_selector_init()
[p30#75]: Initialize the print selector based on interaction.
Definition: error.c:70
Boolean use_err_help
[#79] should the errhelp list be shown?
Definition: error.c:45
void fatalerror(StrNumber s)
[#93] prints s, and that’s it.
Definition: error.c:405
void int_error(Integer n)
[#91] error messages end with a parenthesized integer.
Definition: error.c:357
Boolean OK_to_interrupt
[#96] should interrupts be observed?
Definition: error.c:50
Integer interrupt
[#96] should TeX pause for instructions?
Definition: error.c:48
ErrorLevel
[p31#76]: four possible values for the worst level of error that has been detected.
Definition: error.h:29
void set_help(SChar k,...)
Definition: error.c:91
void pause_for_instructions(void)
[#98]
Definition: error.c:464
void print_err(StrNumber s)
Definition: error.c:79
StrNumber help_line[6]
[#79] helps for the next error.
Definition: error.c:41
void print_err_str(Str s)
Definition: error.c:85
UserInteractionMode
[p30#73]: four settings, representing increasing amounts of user interaction.
Definition: error.h:17
void confusion(StrNumber s)
[#95] consistency check violated; s tells where.
Definition: error.c:438
UChar help_ptr
[#79] the number of help lines present.
Definition: error.c:43
void overflow(StrNumber s, Integer n)
[#94] stop due to finiteness.
Definition: error.c:418
@ SPOTLESS
nothing has been amiss yet.
Definition: error.h:30
@ WARNING_ISSUED
begin_diagnostic has been called.
Definition: error.h:31
@ FATAL_ERROR_STOP
termination was premature.
Definition: error.h:33
@ ERROR_MESSAGE_ISSUED
error has been called.
Definition: error.h:32
@ NON_STOP_MODE
omits all stops.
Definition: error.h:19
@ SCROLL_MODE
omits error stops.
Definition: error.h:20
@ BATCH_MODE
omits all stops and omits terminal output.
Definition: error.h:18
@ ERROR_STOP_MODE
stops at every opportunity to interact.
Definition: error.h:21
int64_t Integer
Integer(64) =
Definition: tex_types.h:42
bool Boolean
布尔类型定义
Definition: tex_types.h:11
uint8_t UChar
UChar(8) = [0, 255]
Definition: tex_types.h:38
int8_t SChar
SChar(8) = [−127, +127]
Definition: tex_types.h:40