summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/tex/errors.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/tex/errors.h')
-rw-r--r--Build/source/texk/web2c/luatexdir/tex/errors.h102
1 files changed, 102 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/luatexdir/tex/errors.h b/Build/source/texk/web2c/luatexdir/tex/errors.h
new file mode 100644
index 00000000000..2d55e31aa75
--- /dev/null
+++ b/Build/source/texk/web2c/luatexdir/tex/errors.h
@@ -0,0 +1,102 @@
+/* errors.h
+
+ Copyright 2009 Taco Hoekwater <taco@luatex.org>
+
+ This file is part of LuaTeX.
+
+ LuaTeX is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at your
+ option) any later version.
+
+ LuaTeX is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with LuaTeX; if not, see <http://www.gnu.org/licenses/>. */
+
+/* $Id: errors.h 3385 2010-01-26 05:45:55Z taco $ */
+
+#ifndef ERRORS_H
+# define ERRORS_H
+
+/*
+The global variable |interaction| has four settings, representing increasing
+amounts of user interaction:
+*/
+
+typedef enum {
+ batch_mode = 0, /* omits all stops and omits terminal output */
+ nonstop_mode = 1, /* omits all stops */
+ scroll_mode = 2, /* omits error stops */
+ error_stop_mode = 3, /* stops at every opportunity to interact */
+ unspecified_mode = 4, /* extra value for command-line switch */
+} interaction_settings;
+
+extern int interaction; /* current level of interaction */
+extern int interactionoption; /* set from command line */
+extern const char *last_error;
+
+extern void initialize_errors(void);
+extern void print_err(const char *s);
+
+extern void fixup_selector(boolean log_opened);
+
+extern boolean deletions_allowed;
+extern boolean set_box_allowed;
+extern int history;
+extern int error_count;
+extern int interrupt;
+extern boolean OK_to_interrupt;
+
+typedef enum {
+ spotless = 0, /* |history| value when nothing has been amiss yet */
+ warning_issued = 1, /* |history| value when |begin_diagnostic| has been called */
+ error_message_issued = 2, /* |history| value when |error| has been called */
+ fatal_error_stop = 3, /* |history| value when termination was premature */
+} error_states;
+
+extern const char *help_line[7]; /* helps for the next |error| */
+extern boolean use_err_help; /* should the |err_help| list be shown? */
+
+/* these macros are just temporary, until everything is in C */
+
+# define hlp1(A) help_line[0]=A
+# define hlp2(A,B) help_line[1]=A; hlp1(B)
+# define hlp3(A,B,C) help_line[2]=A; hlp2(B,C)
+# define hlp4(A,B,C,D) help_line[3]=A; hlp3(B,C,D)
+# define hlp5(A,B,C,D,E) help_line[4]=A; hlp4(B,C,D,E)
+# define hlp6(A,B,C,D,E,F) help_line[5]=A; hlp5(B,C,D,E,F)
+
+# define help0() help_line[0]=NULL /* sometimes there might be no help */
+# define help1(A) do { help_line[1]=NULL; hlp1(A); } while (0)
+# define help2(A,B) do { help_line[2]=NULL; hlp2(B,A); } while (0)
+# define help3(A,B,C) do { help_line[3]=NULL; hlp3(C,B,A); } while (0)
+# define help4(A,B,C,D) do { help_line[4]=NULL; hlp4(D,C,B,A); } while (0)
+# define help5(A,B,C,D,E) do { help_line[5]=NULL; hlp5(E,D,C,B,A); } while (0)
+# define help6(A,B,C,D,E,F) do { help_line[6]=NULL; hlp6(F,E,D,C,B,A); } while (0)
+
+extern void do_final_end(void);
+extern void jump_out(void);
+extern void error(void);
+extern void int_error(int n);
+extern void normalize_selector(void);
+extern void succumb(void);
+extern void fatal_error(const char *s);
+extern void lua_norm_error(const char *s);
+extern void lua_fatal_error(const char *s);
+extern void overflow(const char *s, unsigned int n);
+extern void confusion(const char *s);
+extern void check_interrupt(void);
+extern void pause_for_instructions(void);
+
+extern void tex_error(const char *msg, const char **hlp);
+
+extern void back_error(void);
+extern void ins_error(void);
+
+extern void char_warning(internal_font_number f, int c);
+
+#endif