summaryrefslogtreecommitdiff
path: root/support/chktex/NEWS
blob: b73fdf828efae5268370db459988069b6f3b0b83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
Development of ChkTeX is now in a maintainance mode.  All versions
1.6.x are essentially bug fixes.  Version 1.7 added some new features.

1.7.9 (2024-04-26), released by Ivan Andrus <darthandrus@gmail.com>

  * Spell check chktexrc.in
  * Check SeenSpace instead of the previous character #65570
  * Treat silent macros as space for the purposes of interword spacing #65500
  * Mark a regex as being PCRE only #65033
  * Fix typo in rule message #64810

1.7.8 (2022-10-17), released by Ivan Andrus <darthandrus@gmail.com>

  * Fix some packaging issues for CTAN

1.7.7 (2022-10-17), released by Ivan Andrus <darthandrus@gmail.com>

  * Fix false positives
    * Fix overzealous warning of x between numbers #60184
    * Handle nested mathmode e.g. \ensuremath #60197
    * Add many citation commands from biblatex #56608
    * Add support for breqn package #62631
    * WipeArg on \graphicspath #47593
    * WipeArg on LuaTeX macros which contain lua code #53146
    * Add \itshape to Silent section https://tex.stackexchange.com/questions/627808/why-does-chktex-complain-when-there-is-a-space-after-itshape-but-not-when-bfse
    * Make QuoteStyle warnings work with end of sentence punctuation #53494
    * When checking for inter-word spacing, ignore certain punctuation #54751, #53347
    * Allow \frenchspacing to turn off warning 13 (intersentence spacing)
    * Don't warn about space before a parenthesis at the beginning of the line if the previous line ended with a comment (and no space) #109479
    * Make exit status 2 or 3 (not 1) when warnings or errors are found.  Some callers expected a return value of 1 to mean an internal error. #53129

  * Fix many bugs
    * Make ChkTeX process longer lines, especially on Windows.  This doesn't fix the problem entirely, but it should amerliorate it to a large extent.
    * Make file suppressions only apply to the file they are in.  This allows putting all the "badness" into one file. #57809
    * Add check to make sure input is a regular file and not a directory #56520
    * Add support for relative paths in sub directories #53494
    * Manage ConTeXt environments separately from LaTeX environments #51179
    * Change argument order to avoid undefined behavior in va_start()

  * New warnings and features
    * Add regex for unescaped optional arguments inside optional arguments #56657
    * Support RC settings on the command line #56486
    * Warn about phrases that match DashExcpt _except_ for the hyphens #58886
    * Add CmdSpaceStyle option to Ignore spacing problems after commands #60809, #60380
    * Add support for finding chktexrc files in XDG locations #61405
    * Add new warning when ChkTeX gets confused about mathmode

  * Improved documentation
    * Make chktexrc somewhat literate and creating ChkTeXRC.tex as well.
    * Make "keywords" link to the appropriate chktexrc variable documentation
    * Add note about chktexrc and link to documentation in the help message #50004 #61179
    * Indicate that debug is a bit field instead of a level

1.7.6 (2016-09-09), released by Ivan Andrus <darthandrus@gmail.com>

  * Properly copy and free strings.  This caused incorrect file
      reporting in some cases #49000
  * Add "verbatim" commands and environments from tipa #46734
  * Avoid infinite loop when a regex matches an empty string
  * Fix crash on invalid regular expression
  * Add warnings for $$...$$ and $...$ #47044
  * Update the banner to reflect current bug reporting contacts

1.7.5 (2015-12-07), released by Ivan Andrus <darthandrus@gmail.com>

  * Track whether the previous line ended in a comment #45980
  * Add a few source code environments to VerbEnvir
  * Don't show long line warning if the last line doesn't have a newline #46539
  * Fix deweb's handling of file names #46043,#46042
  * Use the exit status to indicate warnings were found #45979
  * Consider OS X a UNIX

1.7.4 (2015-04-11), released by Ivan Andrus <darthandrus@gmail.com>

  * Fixed undefined behavior (patch from TeXLive)

1.7.3 (2015-04-09), released by Ivan Andrus <darthandrus@gmail.com>

  * Fixed memory leaks and a crashing bug #42813
  * Added ConTeXt \start... \stop... tracking #44517
  * Added DashExcpt list for exceptions to dash rules #42237
  * Support \cite with two optional arguments (biblatex) #44413
  * Removed warning about using \dots instead of .. #40731
      This incorrectly warns about relative paths
  * Removed check for intro since it's common in file names #43013
  * Turn off warning 19 by default #44226
      Warning 19 is about Latin-1 quotes, but gives false positives
      for some utf-8 characters.

1.7.2 (2013-04-17), released by Ivan Andrus <darthandrus@gmail.com>

  * Fixed display bug on platforms where sizeof(int) != sizeof(regoff_t)
  * Warn that .. should be \dots like lacheck does
  * Fixed warnings under clang
  * Incorporated several build related patches from TeX Live

1.7.1 (2012-08-22), released by Ivan Andrus <darthandrus@gmail.com>

  * Improvements for TeX Live and CTAN
  * Fixed bug when checking for interword spacing
  * Added warning when a file has lines that are too long which can cause problems
  * Added ability to suppress user regular expression warnings by "naming" them
  * Added ability to suppress warnings for the rest of the file
  * Allow using PCRE or POSIX ERE or neither (at configure time).
      Regular expressions can be marked as PCRE or POSIX only.
  * Allow () to specify an optional argument in WipeArg to support \cmidrule[](){}
  * Allow regular expressions for Silent keyword, specified in [] for "case insensitive"
  * Added warning about \hline and vertical rules in tabular environments
  * I changed user warnings to be post WipeArg (like they were pre
      1.7.0).  I had changed them in 1.7.0 to be pre WipeArg so that I
      could match things like \label{...}, but this caused many false
      positives by matching in comments, etc.

1.7.0 (2012-05-28), released by Ivan Andrus <darthandrus@gmail.com>

  * Added support for user defined regular expression based warnings
  * Added support for macros like \ensuremath and \text
  * Added support for suppressing messages on a single line

1.6.6 (2012-04-07), released by Ivan Andrus <darthandrus@gmail.com>

  * Fixed some memory issues
  * Do not increase line number when the line was very long
  * Some fixes for TexLive

1.6.5 (??), released by Jean-Marc Lasgouttes <lasgouttes@lyx.org>

  * Fix bug where ChkTeX generates a warning about missing space before
    parenthesis when the parenthesis is at start of line.
  * Update ChkTeX.tex.in to use proper LaTeX2e markup.
  * Update the build machinery a bit.

1.6.4 (2007-10-20), released by Baruch Even

  * For some reason 1.6.3 did not include all the changes it was supposed to
    have, this release should fix it. One such issue is the MacOS X
    compilation.
  * Include some updates to the default chktexrc from Jean-Marc Lasgouttes.

1.6.3, released by Baruch Even

  * Support DESTDIR for installation to help distributions.
  * Apply old standing patch from Jean-Marc Lasgouttes to compile outside the
    directory.
  * Enable compilation on MacOS X.
  * Fix various coding issues.


Original versions from Jens T. Berger Thielemann:
=================================================

Modifications and additions since v1.6:

  * Improved the build system
  * Better fixes for memory access errors

Modifications and additions since v1.5:

  * Fixed a crash when running from emacs
  * Fixed a crash when checking our own manual
  * Added \verb* support

Modifications and additions since v1.4:

 ** New warnings

  * No space or similar in front/after parenthesis.
  * Demands a consistent quote style.
  * Double spaces in input which will not be rendered as one.
  * Punctuation malplaced regarding to math mode.
  * Warns about TeX primitives.
  * Space in front of footnotes.
  * Bogus \left and \right commands.

 ** Program

  * The abbreviation recognizer has (for the last time?) been
    redesigned. We now produce far less false warnings, catch more
    cases and do all this faster than before. Seems like a win. Done
    much of the same with the italic correction detection part,
    too.
  * Some bugs have been silently fixed. Hot spots in the program have
    been optimized; in certain cases this in fact doubles the speed!
  * Along with this goes more code elegance and utilization of macro
    processing and the C language. Take a look at Resource.[ch].

  * It's possible to specify separate output-formats depending on
    whether you are sending the output to a file/pipe or to a
    terminal.

  * Column positions are finally correct; we now expand tabs
    correctly.
  * ChkTeX will now recursively search for \input'ed
    files, both in the document and on the commandline. See the
    chktexrc file for more info.
  * The debug switch is now more intelligent; if you wish to hack
    a bit on ChkTeX for yourself, it is possible to produce
    selective debugging output. The feature can also be disabled
    altogether.
  * MS-DOS and OS/2 version of the program is now more flexible
    and well-behaved, thanks to Gerd Boehm.
  * You may now say -wall to make all messages warnings, and
    turn them on.
  * Uses termcap on UNIX boxes; this should ensure that -v2
    (or more precisely: %i and %I works regardless to
    what terminal you are using.

 ** Resource file

  * You may now specify both case-sensitive and case-insensitive user
    patterns in the chktexrc file. In addition; it is now possible to
    reset/clear lists.
  * You can now specify how many optional or required arguments
    WIPEARG should wipe; it also behaves somewhat more intelligently
    when the arguments stretch over multiple lines.
  * Global files will be read in addition to local ones. The searching
    order has also been reversed in order to make this more
    intelligent.

 ** Other

  * The documentation has been polished and should now be easier
    to use in practical situations.
  * check target in Makefile, so you can check that the installation
    succeeded. In fact, the Makefile has been enhanced in several other
    ways too, amongst other it is now GNU conforming.
  * deweb is now documented; you may say "man deweb" to get a few
    words of advice. The support script (chkweb) does now behave as the
    remaining package (accepting stdin input and flags).
  * I've written an Emacs hack which magically adds ChkTeX to the list
    of AUC-TeX commands; thus making the use of the program even more
    trivial. For those of you who don't wish to mess with Emacs, I've
    included a trivial lacheck <-> ChkTeX interface. This means that you
    now can use ChkTeX just as easily as lacheck when you're running
    AUC-TeX.
  * Added an ARexx script which lets ChkTeX talk to VBrowse, the
    message browser of Volker Barthelmann's freely distributable ANSI
    C compiler. The browser itself is available on Aminet as
    dev/c/vbcc.lha.