texlive[51590] Build/source/utils/lacheck: lacheck version 1.29

commits+karl at tug.org commits+karl at tug.org
Tue Jul 9 17:26:51 CEST 2019


Revision: 51590
          http://tug.org/svn/texlive?view=revision&revision=51590
Author:   karl
Date:     2019-07-09 17:26:51 +0200 (Tue, 09 Jul 2019)
Log Message:
-----------
lacheck version 1.29

Modified Paths:
--------------
    trunk/Build/source/utils/lacheck/ChangeLog
    trunk/Build/source/utils/lacheck/configure
    trunk/Build/source/utils/lacheck/configure.ac
    trunk/Build/source/utils/lacheck/lacheck.c
    trunk/Build/source/utils/lacheck/lacheck.l
    trunk/Build/source/utils/lacheck/lacheck.man

Modified: trunk/Build/source/utils/lacheck/ChangeLog
===================================================================
--- trunk/Build/source/utils/lacheck/ChangeLog	2019-07-09 03:36:40 UTC (rev 51589)
+++ trunk/Build/source/utils/lacheck/ChangeLog	2019-07-09 15:26:51 UTC (rev 51590)
@@ -1,3 +1,11 @@
+2019-07-09  Karl Berry  <karl at freefriends.org>
+
+	* configure.ac (lacheck_version): 1.29.
+	* lacheck.man: wording.
+	* lacheck.l (print_version),
+	(print_help): new fns.
+	(main): rearrange parsing to support --help and --version.
+
 2019-07-08  Karl Berry  <karl at freefriends.org>
 
 	* lacheck.l: separate patterns for handling \def and \newcommand.

Modified: trunk/Build/source/utils/lacheck/configure
===================================================================
--- trunk/Build/source/utils/lacheck/configure	2019-07-09 03:36:40 UTC (rev 51589)
+++ trunk/Build/source/utils/lacheck/configure	2019-07-09 15:26:51 UTC (rev 51590)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for LaCheck (TeX Live) 1.28.
+# Generated by GNU Autoconf 2.69 for LaCheck (TeX Live) 1.29.
 #
 # Report bugs to <tex-k at tug.org>.
 #
@@ -579,8 +579,8 @@
 # Identity of this package.
 PACKAGE_NAME='LaCheck (TeX Live)'
 PACKAGE_TARNAME='lacheck--tex-live-'
-PACKAGE_VERSION='1.28'
-PACKAGE_STRING='LaCheck (TeX Live) 1.28'
+PACKAGE_VERSION='1.29'
+PACKAGE_STRING='LaCheck (TeX Live) 1.29'
 PACKAGE_BUGREPORT='tex-k at tug.org'
 PACKAGE_URL=''
 
@@ -1235,7 +1235,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures LaCheck (TeX Live) 1.28 to adapt to many kinds of systems.
+\`configure' configures LaCheck (TeX Live) 1.29 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1302,7 +1302,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of LaCheck (TeX Live) 1.28:";;
+     short | recursive ) echo "Configuration of LaCheck (TeX Live) 1.29:";;
    esac
   cat <<\_ACEOF
 
@@ -1398,7 +1398,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-LaCheck (TeX Live) configure 1.28
+LaCheck (TeX Live) configure 1.29
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1499,7 +1499,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by LaCheck (TeX Live) $as_me 1.28, which was
+It was created by LaCheck (TeX Live) $as_me 1.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3423,7 +3423,7 @@
 
 # Define the identity of the package.
  PACKAGE='lacheck--tex-live-'
- VERSION='1.28'
+ VERSION='1.29'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -3786,7 +3786,7 @@
 
 ac_config_headers="$ac_config_headers config.h"
 
-REV=1.28
+REV=1.29
 
 
 ac_config_files="$ac_config_files Makefile lacheck.1:lacheck.man"
@@ -4326,7 +4326,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by LaCheck (TeX Live) $as_me 1.28, which was
+This file was extended by LaCheck (TeX Live) $as_me 1.29, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4392,7 +4392,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-LaCheck (TeX Live) config.status 1.28
+LaCheck (TeX Live) config.status 1.29
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/utils/lacheck/configure.ac
===================================================================
--- trunk/Build/source/utils/lacheck/configure.ac	2019-07-09 03:36:40 UTC (rev 51589)
+++ trunk/Build/source/utils/lacheck/configure.ac	2019-07-09 15:26:51 UTC (rev 51590)
@@ -1,12 +1,14 @@
+dnl $Id$
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl   Copyright (C) 2009-2014 Peter Breitenlohner <tex-live at tug.org>
+dnl   Copyright 2015-2019 Karl Berry <tex-live at tug.org>
+dnl   Copyright 2009-2014 Peter Breitenlohner <tex-live at tug.org>
 dnl
 dnl   This file is free software; the copyright holder
 dnl   gives unlimited permission to copy and/or distribute it,
 dnl   with or without modifications, as long as this notice is preserved.
 dnl
-m4_define([lacheck_version], [1.28])
+m4_define([lacheck_version], [1.29])dnl duplicated in lacheck.l, sorry
 AC_INIT([LaCheck (TeX Live)], lacheck_version, [tex-k at tug.org])
 AC_PREREQ([2.65])
 AC_CONFIG_SRCDIR([lacheck.l])

Modified: trunk/Build/source/utils/lacheck/lacheck.c
===================================================================
--- trunk/Build/source/utils/lacheck/lacheck.c	2019-07-09 03:36:40 UTC (rev 51589)
+++ trunk/Build/source/utils/lacheck/lacheck.c	2019-07-09 15:26:51 UTC (rev 51590)
@@ -1996,7 +1996,7 @@
 #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 @@
  * 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 at sunsite.auc.dk.
- * 
  * original Revision: 1.26 $
  * Author          : Kresten Krab Thorup
  * Created On      : Sun May 26 18:11:58 1991
@@ -2027,7 +2025,7 @@
  * 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 at esemetz.ese-metz.fr>.
@@ -2114,7 +2112,7 @@
  * 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 @@
 
 
 
-#line 2191 "../../../utils/lacheck/lacheck.c"
+#line 2189 "../../../utils/lacheck/lacheck.c"
 
 #define INITIAL 0
 #define B_ENVIRONMENT 1
@@ -2426,10 +2424,10 @@
 		}
 
 	{
-#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 @@
 	{ /* 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_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_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_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_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_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_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_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_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_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_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_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 @@
 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 @@
 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 @@
 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,12 +2796,12 @@
   */
 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); }
@@ -2810,22 +2808,22 @@
 	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); }
@@ -2832,12 +2830,12 @@
 	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_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_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 @@
 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 @@
 (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_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_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_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_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_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_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_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_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_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 @@
 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_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_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_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_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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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 @@
 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_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 @@
 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_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_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_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_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 @@
 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_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 @@
 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_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 @@
 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_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 @@
 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 @@
 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 @@
 	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,9 +4417,32 @@
 
 #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 at tug.org.\n");
+}
+
 int main(int argc, char *argv[])
 {
     /* allocate initial stacks */
@@ -4432,11 +4453,18 @@
 	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 @@
     }
     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);
 }

Modified: trunk/Build/source/utils/lacheck/lacheck.l
===================================================================
--- trunk/Build/source/utils/lacheck/lacheck.l	2019-07-09 03:36:40 UTC (rev 51589)
+++ trunk/Build/source/utils/lacheck/lacheck.l	2019-07-09 15:26:51 UTC (rev 51590)
@@ -19,8 +19,6 @@
  * 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 at sunsite.auc.dk.
- * 
  * original Revision: 1.26 $
  * Author          : Kresten Krab Thorup
  * Created On      : Sun May 26 18:11:58 1991
@@ -29,7 +27,7 @@
  * 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 at esemetz.ese-metz.fr>.
@@ -782,6 +780,29 @@
 
 . { ; }
 %%
+static void print_version (void)
+{
+	printf("%s (TeX Live) %s\n", PROGNAME, "1.29");
+	puts("$Id$");
+	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 at tug.org.\n");
+}
+
 int main(int argc, char *argv[])
 {
     /* allocate initial stacks */
@@ -792,11 +813,18 @@
 	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]);
@@ -827,19 +855,9 @@
     }
     else
     {
-	printf("\n* %s *\n\n",PROGNAME);
-	printf("\t...a consistency checker for LaTeX documents.\n");
-	printf("$Id$\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);
 }

Modified: trunk/Build/source/utils/lacheck/lacheck.man
===================================================================
--- trunk/Build/source/utils/lacheck/lacheck.man	2019-07-09 03:36:40 UTC (rev 51589)
+++ trunk/Build/source/utils/lacheck/lacheck.man	2019-07-09 15:26:51 UTC (rev 51590)
@@ -1,6 +1,6 @@
-.TH "LaCheck" "1" "2015-01-10" "Release @REV@"
+.TH "LaCheck" "1" "2019-07-09" "Release @REV@ (TeX Live)"
 .SH NAME
-lacheck - A consistency checker for LaTeX documents.
+lacheck - a consistency checker for LaTeX documents
 .SH SYNOPSIS
 .B lacheck 
 .IR filename [ \fB.tex\fP ]
@@ -46,8 +46,7 @@
 Files with suffix \`.sty\' are omitted, as they probably will cause
 LaCheck to crash.
 .LP 
-LaCheck may be invoked from within Emacs(1) using compile:
-
+LaCheck may be invoked from within emacs(1) using M-x compile.
 To run:  
 .B "M-x compile RET lacheck RET"
 , and then 
@@ -83,10 +82,9 @@
 \' error may also occur, if the following sentence begins with a
 lowercase letter.
 .LP
-A mismatch error may cause more to follow, due to the chosen
-algorithm. In such cases just correct the
-.I "first"
-error and run LaCheck again
+A mismatch error may cause more to follow, due to the lack of good
+error recovery. In such cases, just correct the first
+error and run LaCheck again.
 .LP
 Braces, environments and math mode must be balanced within a file.
 .LP
@@ -104,4 +102,4 @@
 should be directed to the maintainers; please email tex-live at tug.org.
 .SH AUTHOR
 Kresten Krab Thorup with modifications by Per Abrahamsen.
-Currently maintained as part of TeX Live (http://tug.org/texlive).
+Currently maintained as part of TeX Live (https://tug.org/texlive).



More information about the tex-live-commits mailing list