summaryrefslogtreecommitdiff
path: root/Build/source/utils/lacheck/lacheck.c
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-07-09 15:26:51 +0000
committerKarl Berry <karl@freefriends.org>2019-07-09 15:26:51 +0000
commit4f76b8e7fd6c1fa04a268a17da4b72992062dc21 (patch)
tree4608095ee0e0511a56cc2257723fb45ccee1c15e /Build/source/utils/lacheck/lacheck.c
parentcbe7df17b4ffe818fb34affcd1fae8ece6e0d778 (diff)
lacheck version 1.29
git-svn-id: svn://tug.org/texlive/trunk@51590 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/lacheck/lacheck.c')
-rw-r--r--Build/source/utils/lacheck/lacheck.c250
1 files changed, 134 insertions, 116 deletions
diff --git a/Build/source/utils/lacheck/lacheck.c b/Build/source/utils/lacheck/lacheck.c
index b1544e6ff0c..452f582c4f7 100644
--- a/Build/source/utils/lacheck/lacheck.c
+++ b/Build/source/utils/lacheck/lacheck.c
@@ -1996,7 +1996,7 @@ goto find_rule; \
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
#line 1 "../../../utils/lacheck/lacheck.l"
-/* $Id$
+/* $Id: lacheck.l 51585 2019-07-08 22:23:38Z karl $
*
* lacheck.lex - A consistency checker checker for LaTeX documents
*
@@ -2017,8 +2017,6 @@ char *yytext;
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
- * Please send bugs, suggestions, and queries to auc-tex_mgr@sunsite.auc.dk.
- *
* original Revision: 1.26 $
* Author : Kresten Krab Thorup
* Created On : Sun May 26 18:11:58 1991
@@ -2027,7 +2025,7 @@ char *yytext;
* 08-Jul-2019 Karl Berry
* Separate patterns for \def vs. \newcommand. Report from Zayd Hammoudeh,
* https://tug.org/pipermail/tex-live/2019-January/043083.html.
- * Update version number, contact info.
+ * Update version number (now 1.29), contact info.
* 07-Mar-1998 Per Abrahamsen
* Added return to yywrap. Patch by Fabrice POPINEAU
* <popineau@esemetz.ese-metz.fr>.
@@ -2114,7 +2112,7 @@ char *yytext;
* 26-May-1991 Kresten Krab Thorup
* Initial distribution version.
*/
-#line 123 "../../../utils/lacheck/lacheck.l"
+#line 121 "../../../utils/lacheck/lacheck.l"
#include <stdio.h>
#include <string.h>
@@ -2187,7 +2185,7 @@ int def_count = 0;
-#line 2191 "../../../utils/lacheck/lacheck.c"
+#line 2189 "../../../utils/lacheck/lacheck.c"
#define INITIAL 0
#define B_ENVIRONMENT 1
@@ -2426,10 +2424,10 @@ YY_DECL
}
{
-#line 238 "../../../utils/lacheck/lacheck.l"
+#line 236 "../../../utils/lacheck/lacheck.l"
-#line 2433 "../../../utils/lacheck/lacheck.c"
+#line 2431 "../../../utils/lacheck/lacheck.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -2512,45 +2510,45 @@ do_action: /* This label is used only to access EOF actions. */
{ /* beginning of action switch */
case 1:
YY_RULE_SETUP
-#line 240 "../../../utils/lacheck/lacheck.l"
+#line 238 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 242 "../../../utils/lacheck/lacheck.l"
+#line 240 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 3:
/* rule 3 can match eol */
YY_RULE_SETUP
-#line 244 "../../../utils/lacheck/lacheck.l"
+#line 242 "../../../utils/lacheck/lacheck.l"
{ line_count++; }
YY_BREAK
case 4:
/* rule 4 can match eol */
YY_RULE_SETUP
-#line 246 "../../../utils/lacheck/lacheck.l"
+#line 244 "../../../utils/lacheck/lacheck.l"
{ line_count++; }
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 248 "../../../utils/lacheck/lacheck.l"
+#line 246 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 250 "../../../utils/lacheck/lacheck.l"
+#line 248 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 252 "../../../utils/lacheck/lacheck.l"
+#line 250 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 8:
/* rule 8 can match eol */
YY_RULE_SETUP
-#line 254 "../../../utils/lacheck/lacheck.l"
+#line 252 "../../../utils/lacheck/lacheck.l"
{
if (CG_TYPE != 4 && CG_TYPE != 5) {
if (!(CG_TYPE == 2 && strstr(CG_NAME, "array"))) {
@@ -2565,12 +2563,12 @@ YY_RULE_SETUP
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 266 "../../../utils/lacheck/lacheck.l"
+#line 264 "../../../utils/lacheck/lacheck.l"
{ push( "{", 0, line_count);}
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 268 "../../../utils/lacheck/lacheck.l"
+#line 266 "../../../utils/lacheck/lacheck.l"
{
{
int italic = CG_ITALIC;
@@ -2583,12 +2581,12 @@ YY_RULE_SETUP
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 278 "../../../utils/lacheck/lacheck.l"
+#line 276 "../../../utils/lacheck/lacheck.l"
{ g_checkend(0); }
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 280 "../../../utils/lacheck/lacheck.l"
+#line 278 "../../../utils/lacheck/lacheck.l"
{
{
if (!CG_ITALIC)
@@ -2602,7 +2600,7 @@ YY_RULE_SETUP
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 291 "../../../utils/lacheck/lacheck.l"
+#line 289 "../../../utils/lacheck/lacheck.l"
{
{
if (CG_ITALIC)
@@ -2621,7 +2619,7 @@ YY_LINENO_REWIND_TO(yy_cp - 2);
(yy_c_buf_p) = yy_cp -= 2;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 302 "../../../utils/lacheck/lacheck.l"
+#line 300 "../../../utils/lacheck/lacheck.l"
{
{
linecount();
@@ -2640,7 +2638,7 @@ YY_LINENO_REWIND_TO(yy_cp - 2);
(yy_c_buf_p) = yy_cp -= 2;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 313 "../../../utils/lacheck/lacheck.l"
+#line 311 "../../../utils/lacheck/lacheck.l"
{
{
linecount();
@@ -2654,17 +2652,17 @@ YY_RULE_SETUP
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 324 "../../../utils/lacheck/lacheck.l"
+#line 322 "../../../utils/lacheck/lacheck.l"
{ BEGIN(INITIAL); }
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 326 "../../../utils/lacheck/lacheck.l"
+#line 324 "../../../utils/lacheck/lacheck.l"
{ BEGIN(ICOR); }
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 328 "../../../utils/lacheck/lacheck.l"
+#line 326 "../../../utils/lacheck/lacheck.l"
{
{
printf("\"%s\", line %d: double \\/ found \"%s\"\n",
@@ -2680,7 +2678,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 336 "../../../utils/lacheck/lacheck.l"
+#line 334 "../../../utils/lacheck/lacheck.l"
{ CG_ITALIC = 1; }
YY_BREAK
case 20:
@@ -2690,7 +2688,7 @@ YY_LINENO_REWIND_TO(yy_bp + 12);
(yy_c_buf_p) = yy_cp = yy_bp + 12;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 338 "../../../utils/lacheck/lacheck.l"
+#line 336 "../../../utils/lacheck/lacheck.l"
{
{
if(CG_ITALIC)
@@ -2707,7 +2705,7 @@ YY_LINENO_REWIND_TO(yy_bp + 12);
(yy_c_buf_p) = yy_cp = yy_bp + 12;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 347 "../../../utils/lacheck/lacheck.l"
+#line 345 "../../../utils/lacheck/lacheck.l"
{ CG_ITALIC = 0; }
YY_BREAK
case 22:
@@ -2717,7 +2715,7 @@ YY_LINENO_REWIND_TO(yy_bp + 3);
(yy_c_buf_p) = yy_cp = yy_bp + 3;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 349 "../../../utils/lacheck/lacheck.l"
+#line 347 "../../../utils/lacheck/lacheck.l"
{
{
if(CG_ITALIC)
@@ -2734,12 +2732,12 @@ YY_LINENO_REWIND_TO(yy_bp + 3);
(yy_c_buf_p) = yy_cp = yy_bp + 3;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 358 "../../../utils/lacheck/lacheck.l"
+#line 356 "../../../utils/lacheck/lacheck.l"
{ CG_ITALIC = !CG_ITALIC; }
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 360 "../../../utils/lacheck/lacheck.l"
+#line 358 "../../../utils/lacheck/lacheck.l"
{
{
printf("\"%s\", line %d: do not use \\/ before \"%s\"\n",
@@ -2751,17 +2749,17 @@ YY_RULE_SETUP
case 25:
/* rule 25 can match eol */
YY_RULE_SETUP
-#line 368 "../../../utils/lacheck/lacheck.l"
+#line 366 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 370 "../../../utils/lacheck/lacheck.l"
+#line 368 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 372 "../../../utils/lacheck/lacheck.l"
+#line 370 "../../../utils/lacheck/lacheck.l"
{
{
unput(yytext[0]);
@@ -2776,7 +2774,7 @@ YY_RULE_SETUP
case 28:
/* rule 28 can match eol */
YY_RULE_SETUP
-#line 383 "../../../utils/lacheck/lacheck.l"
+#line 381 "../../../utils/lacheck/lacheck.l"
BEGIN(DEF);
YY_BREAK
/* \newcommand{\foo}{...} or \newcommand\foo{...}
@@ -2790,7 +2788,7 @@ BEGIN(DEF);
case 29:
/* rule 29 can match eol */
YY_RULE_SETUP
-#line 393 "../../../utils/lacheck/lacheck.l"
+#line 391 "../../../utils/lacheck/lacheck.l"
BEGIN(DEF);
YY_BREAK
/* Pre-2019 rule was (see test-def.tex):
@@ -2798,46 +2796,46 @@ BEGIN(DEF);
*/
case 30:
YY_RULE_SETUP
-#line 399 "../../../utils/lacheck/lacheck.l"
+#line 397 "../../../utils/lacheck/lacheck.l"
{ ++def_count; }
YY_BREAK
case 31:
YY_RULE_SETUP
-#line 401 "../../../utils/lacheck/lacheck.l"
+#line 399 "../../../utils/lacheck/lacheck.l"
{ --def_count;
if(def_count == 0)
BEGIN(INITIAL); }
YY_BREAK
case 32:
YY_RULE_SETUP
-#line 405 "../../../utils/lacheck/lacheck.l"
+#line 403 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 33:
YY_RULE_SETUP
-#line 407 "../../../utils/lacheck/lacheck.l"
+#line 405 "../../../utils/lacheck/lacheck.l"
BEGIN(ENV_DEF);
YY_BREAK
case 34:
YY_RULE_SETUP
-#line 409 "../../../utils/lacheck/lacheck.l"
+#line 407 "../../../utils/lacheck/lacheck.l"
{ ++def_count; }
YY_BREAK
case 35:
YY_RULE_SETUP
-#line 411 "../../../utils/lacheck/lacheck.l"
+#line 409 "../../../utils/lacheck/lacheck.l"
{ --def_count;
if(def_count == 0)
BEGIN(DEF); }
YY_BREAK
case 36:
YY_RULE_SETUP
-#line 415 "../../../utils/lacheck/lacheck.l"
+#line 413 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 37:
YY_RULE_SETUP
-#line 417 "../../../utils/lacheck/lacheck.l"
+#line 415 "../../../utils/lacheck/lacheck.l"
{
if(CG_TYPE == 4 || CG_TYPE == 5)
print_bad_match(yytext,4);
@@ -2848,12 +2846,12 @@ YY_RULE_SETUP
YY_BREAK
case 38:
YY_RULE_SETUP
-#line 425 "../../../utils/lacheck/lacheck.l"
+#line 423 "../../../utils/lacheck/lacheck.l"
{ g_checkend(4); }
YY_BREAK
case 39:
YY_RULE_SETUP
-#line 427 "../../../utils/lacheck/lacheck.l"
+#line 425 "../../../utils/lacheck/lacheck.l"
{
if(CG_TYPE == 4 || CG_TYPE == 5)
print_bad_match(yytext,5);
@@ -2864,12 +2862,12 @@ YY_RULE_SETUP
YY_BREAK
case 40:
YY_RULE_SETUP
-#line 436 "../../../utils/lacheck/lacheck.l"
+#line 434 "../../../utils/lacheck/lacheck.l"
{ g_checkend(5); BEGIN(AFTER_DISPLAY);}
YY_BREAK
case 41:
YY_RULE_SETUP
-#line 438 "../../../utils/lacheck/lacheck.l"
+#line 436 "../../../utils/lacheck/lacheck.l"
{
printf( "\"%s\", line %d: punctuation mark \"%s\" should be placed before end of displaymath\n",
@@ -2881,7 +2879,7 @@ YY_RULE_SETUP
case 42:
/* rule 42 can match eol */
YY_RULE_SETUP
-#line 446 "../../../utils/lacheck/lacheck.l"
+#line 444 "../../../utils/lacheck/lacheck.l"
{ unput(yytext[0]); BEGIN(INITIAL); }
YY_BREAK
case 43:
@@ -2889,7 +2887,7 @@ case 43:
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 448 "../../../utils/lacheck/lacheck.l"
+#line 446 "../../../utils/lacheck/lacheck.l"
{ if (CG_TYPE == 4)
{
printf( "\"%s\", line %d: punctuation mark \"%s\" should be placed after end of math mode\n",
@@ -2900,7 +2898,7 @@ YY_RULE_SETUP
YY_BREAK
case 44:
YY_RULE_SETUP
-#line 456 "../../../utils/lacheck/lacheck.l"
+#line 454 "../../../utils/lacheck/lacheck.l"
{
if(CG_TYPE == 5)
@@ -2918,7 +2916,7 @@ YY_RULE_SETUP
YY_BREAK
case 45:
YY_RULE_SETUP
-#line 472 "../../../utils/lacheck/lacheck.l"
+#line 470 "../../../utils/lacheck/lacheck.l"
{
if(CG_TYPE == 4)
@@ -2942,7 +2940,7 @@ YY_LINENO_REWIND_TO(yy_bp + 11);
(yy_c_buf_p) = yy_cp = yy_bp + 11;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 488 "../../../utils/lacheck/lacheck.l"
+#line 486 "../../../utils/lacheck/lacheck.l"
{
{
push("\\begingroup", 1, line_count);
@@ -2955,7 +2953,7 @@ YY_LINENO_REWIND_TO(yy_bp + 9);
(yy_c_buf_p) = yy_cp = yy_bp + 9;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 494 "../../../utils/lacheck/lacheck.l"
+#line 492 "../../../utils/lacheck/lacheck.l"
{
{
g_checkend(1);
@@ -2963,7 +2961,7 @@ YY_RULE_SETUP
YY_BREAK
case 48:
YY_RULE_SETUP
-#line 500 "../../../utils/lacheck/lacheck.l"
+#line 498 "../../../utils/lacheck/lacheck.l"
{ BEGIN(B_ENVIRONMENT); }
YY_BREAK
case 49:
@@ -2973,7 +2971,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 502 "../../../utils/lacheck/lacheck.l"
+#line 500 "../../../utils/lacheck/lacheck.l"
{
{
@@ -2984,7 +2982,7 @@ YY_RULE_SETUP
YY_BREAK
case 50:
YY_RULE_SETUP
-#line 510 "../../../utils/lacheck/lacheck.l"
+#line 508 "../../../utils/lacheck/lacheck.l"
{
{
if (strcmp( yytext, "verbatim" ) == 0 )
@@ -3011,12 +3009,12 @@ YY_RULE_SETUP
YY_BREAK
case 51:
YY_RULE_SETUP
-#line 534 "../../../utils/lacheck/lacheck.l"
+#line 532 "../../../utils/lacheck/lacheck.l"
{ BEGIN(INITIAL); }
YY_BREAK
case 52:
YY_RULE_SETUP
-#line 536 "../../../utils/lacheck/lacheck.l"
+#line 534 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: TAB character in verbatim environment\n",
file_name, line_count) ;
@@ -3025,18 +3023,18 @@ YY_RULE_SETUP
YY_BREAK
case 53:
YY_RULE_SETUP
-#line 542 "../../../utils/lacheck/lacheck.l"
+#line 540 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 54:
/* rule 54 can match eol */
YY_RULE_SETUP
-#line 544 "../../../utils/lacheck/lacheck.l"
+#line 542 "../../../utils/lacheck/lacheck.l"
{ ++line_count; }
YY_BREAK
case 55:
YY_RULE_SETUP
-#line 547 "../../../utils/lacheck/lacheck.l"
+#line 545 "../../../utils/lacheck/lacheck.l"
{
verb_char = yytext[yyleng-1];
BEGIN(VERB);
@@ -3045,7 +3043,7 @@ YY_RULE_SETUP
case 56:
/* rule 56 can match eol */
YY_RULE_SETUP
-#line 552 "../../../utils/lacheck/lacheck.l"
+#line 550 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: \\verb should not contain end of line characters\n",
file_name, line_count) ;
@@ -3054,7 +3052,7 @@ YY_RULE_SETUP
YY_BREAK
case 57:
YY_RULE_SETUP
-#line 558 "../../../utils/lacheck/lacheck.l"
+#line 556 "../../../utils/lacheck/lacheck.l"
{
if ( *yytext == verb_char )
BEGIN(INITIAL);
@@ -3062,7 +3060,7 @@ YY_RULE_SETUP
YY_BREAK
case 58:
YY_RULE_SETUP
-#line 564 "../../../utils/lacheck/lacheck.l"
+#line 562 "../../../utils/lacheck/lacheck.l"
{ BEGIN(E_ENVIRONMENT); }
YY_BREAK
case 59:
@@ -3072,7 +3070,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 566 "../../../utils/lacheck/lacheck.l"
+#line 564 "../../../utils/lacheck/lacheck.l"
{
{
printf("\"%s\", line %d: {argument} missing for \\end\n",
@@ -3082,7 +3080,7 @@ YY_RULE_SETUP
YY_BREAK
case 60:
YY_RULE_SETUP
-#line 574 "../../../utils/lacheck/lacheck.l"
+#line 572 "../../../utils/lacheck/lacheck.l"
{
{
e_checkend(2, yytext);
@@ -3094,7 +3092,7 @@ YY_RULE_SETUP
case 61:
/* rule 61 can match eol */
YY_RULE_SETUP
-#line 583 "../../../utils/lacheck/lacheck.l"
+#line 581 "../../../utils/lacheck/lacheck.l"
{
{
linecount();
@@ -3107,7 +3105,7 @@ YY_RULE_SETUP
case 62:
/* rule 62 can match eol */
YY_RULE_SETUP
-#line 592 "../../../utils/lacheck/lacheck.l"
+#line 590 "../../../utils/lacheck/lacheck.l"
{
{
printf( "\"%s\", line %d: missing `\\ ' after \"%s\"\n",
@@ -3119,7 +3117,7 @@ YY_RULE_SETUP
case 63:
/* rule 63 can match eol */
YY_RULE_SETUP
-#line 600 "../../../utils/lacheck/lacheck.l"
+#line 598 "../../../utils/lacheck/lacheck.l"
{
{
linecount();
@@ -3132,7 +3130,7 @@ YY_RULE_SETUP
case 64:
/* rule 64 can match eol */
YY_RULE_SETUP
-#line 609 "../../../utils/lacheck/lacheck.l"
+#line 607 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: double space at \"%s\"\n",
@@ -3145,7 +3143,7 @@ YY_RULE_SETUP
case 65:
/* rule 65 can match eol */
YY_RULE_SETUP
-#line 618 "../../../utils/lacheck/lacheck.l"
+#line 616 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: \\ldots should be \\cdots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3156,7 +3154,7 @@ YY_RULE_SETUP
case 66:
/* rule 66 can match eol */
YY_RULE_SETUP
-#line 625 "../../../utils/lacheck/lacheck.l"
+#line 623 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: \\cdots should be \\ldots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3168,7 +3166,7 @@ YY_RULE_SETUP
case 67:
/* rule 67 can match eol */
YY_RULE_SETUP
-#line 633 "../../../utils/lacheck/lacheck.l"
+#line 631 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: Dots should be \\cdots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3179,7 +3177,7 @@ YY_RULE_SETUP
case 68:
/* rule 68 can match eol */
YY_RULE_SETUP
-#line 640 "../../../utils/lacheck/lacheck.l"
+#line 638 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: Dots should be \\ldots in \"%s\"\n",
file_name, line_count, yytext);
@@ -3190,7 +3188,7 @@ YY_RULE_SETUP
YY_BREAK
case 69:
YY_RULE_SETUP
-#line 649 "../../../utils/lacheck/lacheck.l"
+#line 647 "../../../utils/lacheck/lacheck.l"
{
printf("\"%s\", line %d: Dots should be ellipsis \"%s\"\n",
file_name, line_count, yytext);
@@ -3201,7 +3199,7 @@ YY_RULE_SETUP
case 70:
/* rule 70 can match eol */
YY_RULE_SETUP
-#line 656 "../../../utils/lacheck/lacheck.l"
+#line 654 "../../../utils/lacheck/lacheck.l"
{
linecount();
printf("\"%s\", line %d: bad character in label \"%s\", see C.10.2\n",
@@ -3215,7 +3213,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 662 "../../../utils/lacheck/lacheck.l"
+#line 660 "../../../utils/lacheck/lacheck.l"
{
linecount();
BEGIN(INITIAL);
@@ -3228,7 +3226,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 667 "../../../utils/lacheck/lacheck.l"
+#line 665 "../../../utils/lacheck/lacheck.l"
{
linecount();
printf("\"%s\", line %d: perhaps you should insert a `~' before \"%s\"\n",
@@ -3243,7 +3241,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 674 "../../../utils/lacheck/lacheck.l"
+#line 672 "../../../utils/lacheck/lacheck.l"
{
linecount();
printf("\"%s\", line %d: whitespace before footnote in \"%s\"\n",
@@ -3258,7 +3256,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1);
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 682 "../../../utils/lacheck/lacheck.l"
+#line 680 "../../../utils/lacheck/lacheck.l"
{
{
printf("\"%s\", line %d: Don't use \"%s\" in LaTeX documents\n",
@@ -3269,19 +3267,19 @@ YY_RULE_SETUP
case 75:
/* rule 75 can match eol */
YY_RULE_SETUP
-#line 689 "../../../utils/lacheck/lacheck.l"
+#line 687 "../../../utils/lacheck/lacheck.l"
{ linecount() ;}
YY_BREAK
case 76:
/* rule 76 can match eol */
YY_RULE_SETUP
-#line 690 "../../../utils/lacheck/lacheck.l"
+#line 688 "../../../utils/lacheck/lacheck.l"
{ linecount(); }
YY_BREAK
case 77:
/* rule 77 can match eol */
YY_RULE_SETUP
-#line 692 "../../../utils/lacheck/lacheck.l"
+#line 690 "../../../utils/lacheck/lacheck.l"
{
{
linecount();
@@ -3294,7 +3292,7 @@ YY_RULE_SETUP
YY_BREAK
case 78:
YY_RULE_SETUP
-#line 702 "../../../utils/lacheck/lacheck.l"
+#line 700 "../../../utils/lacheck/lacheck.l"
{
{
printf("\"%s\", line %d: Do not use @ in LaTeX macro names. \"%s\"\n",
@@ -3305,7 +3303,7 @@ YY_RULE_SETUP
case 79:
/* rule 79 can match eol */
YY_RULE_SETUP
-#line 709 "../../../utils/lacheck/lacheck.l"
+#line 707 "../../../utils/lacheck/lacheck.l"
{
{
linecount();
@@ -3317,7 +3315,7 @@ YY_RULE_SETUP
YY_BREAK
case 80:
YY_RULE_SETUP
-#line 718 "../../../utils/lacheck/lacheck.l"
+#line 716 "../../../utils/lacheck/lacheck.l"
{
{
printf("\"%s\", line %d: Use ' to end quotation, not ` \"%s\"\n",
@@ -3329,7 +3327,7 @@ YY_RULE_SETUP
case 81:
/* rule 81 can match eol */
YY_RULE_SETUP
-#line 727 "../../../utils/lacheck/lacheck.l"
+#line 725 "../../../utils/lacheck/lacheck.l"
{
{
printf("\"%s\", line %d: Whitespace before punctation mark in \"%s\"\n",
@@ -3341,28 +3339,28 @@ YY_RULE_SETUP
YY_BREAK
case 82:
YY_RULE_SETUP
-#line 736 "../../../utils/lacheck/lacheck.l"
+#line 734 "../../../utils/lacheck/lacheck.l"
{ BEGIN(COMMENT); }
YY_BREAK
case 83:
/* rule 83 can match eol */
YY_RULE_SETUP
-#line 738 "../../../utils/lacheck/lacheck.l"
+#line 736 "../../../utils/lacheck/lacheck.l"
{ BEGIN(INITIAL); ++line_count; }
YY_BREAK
case 84:
YY_RULE_SETUP
-#line 740 "../../../utils/lacheck/lacheck.l"
+#line 738 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 85:
YY_RULE_SETUP
-#line 743 "../../../utils/lacheck/lacheck.l"
+#line 741 "../../../utils/lacheck/lacheck.l"
{ BEGIN(INCLUDE); }
YY_BREAK
case 86:
YY_RULE_SETUP
-#line 745 "../../../utils/lacheck/lacheck.l"
+#line 743 "../../../utils/lacheck/lacheck.l"
{
{
if ( strstr(yytext,".sty") == NULL )
@@ -3387,7 +3385,7 @@ case 87:
YY_LINENO_REWIND_TO(yy_bp + 9);
(yy_c_buf_p) = yy_cp = yy_bp + 9;
YY_DO_BEFORE_ACTION; /* set up yytext again */
-#line 764 "../../../utils/lacheck/lacheck.l"
+#line 762 "../../../utils/lacheck/lacheck.l"
YY_RULE_SETUP
case YY_STATE_EOF(INITIAL):
YY_RULE_SETUP
@@ -3414,7 +3412,7 @@ YY_RULE_SETUP
case YY_STATE_EOF(ICOR):
YY_RULE_SETUP
case YY_STATE_EOF(GETICOR):
-#line 764 "../../../utils/lacheck/lacheck.l"
+#line 762 "../../../utils/lacheck/lacheck.l"
{
if (--istackp < 0)
yyterminate();
@@ -3435,15 +3433,15 @@ case YY_STATE_EOF(GETICOR):
YY_BREAK
case 88:
YY_RULE_SETUP
-#line 783 "../../../utils/lacheck/lacheck.l"
+#line 781 "../../../utils/lacheck/lacheck.l"
{ ; }
YY_BREAK
case 89:
YY_RULE_SETUP
-#line 784 "../../../utils/lacheck/lacheck.l"
+#line 782 "../../../utils/lacheck/lacheck.l"
ECHO;
YY_BREAK
-#line 3447 "../../../utils/lacheck/lacheck.c"
+#line 3445 "../../../utils/lacheck/lacheck.c"
case YY_END_OF_BUFFER:
{
@@ -4419,8 +4417,31 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 784 "../../../utils/lacheck/lacheck.l"
+#line 782 "../../../utils/lacheck/lacheck.l"
+
+static void print_version (void)
+{
+ printf("%s (TeX Live) %s\n", PROGNAME, "1.29");
+ puts("$Id: lacheck.l 51585 2019-07-08 22:23:38Z karl $");
+ printf("License GPLv1+: GNU GPL version 1 or later");
+ puts(" <https://gnu.org/licenses/gpl.html>.");
+ puts("This is free software: you are free to change and redistribute it.");
+ puts("There is NO WARRANTY, to the extent permitted by law.");
+ puts("Written by Kresten Krab Thorup and Per Abrahamsen.");
+}
+
+static void print_help (void)
+{
+ printf("Usage: lacheck FILENAME[.tex]\n");
+ printf("A consistency checker for LaTeX documents.\n\n");
+ printf("Document context is displayed in \"double quotes\".\n");
+ printf("All messages are only warnings!\n");
+ printf("Your document may be right even though LaCheck says");
+ printf(" otherwise.\n\n");
+ print_version();
+ printf("\nEmail bug reports to tex-live@tug.org.\n");
+}
int main(int argc, char *argv[])
{
@@ -4432,11 +4453,18 @@ int main(int argc, char *argv[])
exit(3);
}
- if(argc > 1)
+ if (argc == 2)
{
+ if (strcmp(argv[1], "--help") == 0) {
+ print_help();
+ exit(0);
+ } else if (strcmp(argv[1], "--version") == 0) {
+ print_version();
+ exit(0);
+ }
if ( (file_name = (char*) malloc(strlen(argv[1]) + 5)) == NULL ) {
- fprintf(stderr, "%s: out of memory\n", PROGNAME);
- exit(3);
+ fprintf(stderr, "%s: out of memory\n", PROGNAME);
+ exit(3);
}
strcpy(file_name, argv[1]);
@@ -4467,19 +4495,9 @@ int main(int argc, char *argv[])
}
else
{
- printf("\n* %s *\n\n",PROGNAME);
- printf("\t...a consistency checker for LaTeX documents.\n");
- printf("$Id: lacheck.lex,v 1.26 1998/03/07 07:46:45 abraham Exp $\n\n");
-
- printf("Usage:\n\tlacheck filename[.tex] <return>\n\n\n");
-
- printf("\tFrom within Emacs:\n\n");
- printf("\tM-x compile RET lacheck filename[.tex] RET\n\n");
- printf("\tUse C-x ` to step through the messages.\n\n");
- printf("\n\tThe found context is displayed in \"double quotes\"\n\n");
- printf("Remark:\n\tAll messages are only warnings!\n\n");
- printf("\tYour document may be right even though LaCheck says ");
- printf("something else.\n\n");
+ printf("Usage: lacheck FILENAME[.tex]\n");
+ printf("Try 'lacheck --help' for more information.\n");
+ exit(1);
}
return(0);
}