-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathNEWS
130 lines (97 loc) · 3.93 KB
/
NEWS
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
xr version history
==================
Version 2.1
- Elide useless empty strings in translation to xr. For example,
translate ^\(?:\) to bol instead of (seq bol "").
- Better empty string subset/superset check
Version 2.0
- Compatibility break: `xr-lint` and `xr-skip-set-lint` now return a
two-level list of diagnostics, each of which now include an endpoint
and severity field. The diagnostics are grouped so that messages
that apply to the same problem are in the same middle-level list.
- Most warnings are now accompanied by info-level messages that point out
related parts of the input string.
- `xr-lint` and `xr-skip-set-lint` no longer signal errors for invalid
syntax; they are now returned as error-level messages. Other
functions such as `xr` now signal `xr-parse-error` when the input
string contains something that Emacs would not accept.
- Emacs version 27 or later now required
- Further performance improvements
Version 1.25
- Effective repetition of repetition check now always enabled
- Some performance improvements
Version 1.24
- \w and \W are now translated to (syntax word) and (not (syntax word)),
instead of [[:word:]] and [^[:word:]] which are not exact equivalents.
- Repetition operators are now literals after \`. For example,
\`* is now (seq bos "*"), not (* bos), because this is how Emacs works.
- New lint check: find [A-z] (range between upper and lower case)
- New `checks' argument to xr-lint, used to enable these new checks:
- Detect [+-X] and [X-+] (range to/from '+')
- Detect [\\t] etc (escape sequences in character alternative)
- Detect \(:?...\), as a possible typo for \(?:...\)
- Detect a\|b that could be [ab] which is more efficient
- Detect effective repetition of repetition such as \(A+B*\)*
Version 1.23
- Represent explicitly the gap in ranges from ASCII to raw bytes:
"[A-\xbb]" becomes (any "A-\x7f\x80-\xbb") because that is how
Emacs regexps work. This also suppresses some false positives
in `xr-lint' and `xr-skip-set-lint'.
Version 1.22
- More compact distribution
Version 1.21
- Suppress false complaint about (? (+ X))
Version 1.20
- Fix duplication removal in character alternatives, like [aaa]
- All diagnostics are now described in the README file
- Improved anchor conflict checks
Version 1.19
- Added filename-specific checks; new PURPOSE argument to `xr-lint'
- Warn about wrapped subsumption, like \(A*C[AB]*\)+
- Improved scope and accuracy of all subsumption checks
- Warn about anchors in conflict with other expressions, like \(A$\)B
Version 1.18
- Fix test broken in Emacs 26
Version 1.17
- Performance improvements
Version 1.16
- Translate [^\n] into nonl
- Better character class subset/superset analysis
- More accurate repetition subsumption check
- Use text quoting for messages
Version 1.15
- Warn about subsuming repetitions in sequence, like [AB]+A*
Version 1.14
- Warn about repetition of grouped repetition
Version 1.13
- More robust pretty-printing, especially for characters
- Generate (category CHAR) for unknown categories
Version 1.12
- Warn about branch subsumption, like [AB]\|A
Version 1.11
- Warn about repetition of empty-matching expressions
- Detect `-' not first or last in char alternatives or skip-sets
- Stronger ad-hoc [...] check in skip-sets
Version 1.10
- Warn about [[:class:]] in skip-sets
- Warn about two-character ranges like [*-+] in regexps
Version 1.9
- Don't complain about [z-a] and [^z-a] specifically
- Improved skip set checks
Version 1.8
- Improved skip set checks
Version 1.7
- Parse skip-sets, adding `xr-skip-set', `xr-skip-set-pp' and
`xr-skip-set-lint'
- Ad-hoc check for misplaced `]' in regexps
Version 1.6
- Detect duplicated branches like A\|A
Version 1.5
- Add dialect option to `xr' and `xr-pp'
- Negative empty sets, [^z-a], now become `anything'
Version 1.4
- Detect overlap in character alternatives
Version 1.3
- Improved xr-lint warnings
Version 1.2
- `xr-lint' added