[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/relint 09ef3df 05/21: Describe the new xr wrapped subsu
From: |
Mattias Engdegård |
Subject: |
[elpa] externals/relint 09ef3df 05/21: Describe the new xr wrapped subsumption warning |
Date: |
Sun, 3 May 2020 11:13:35 -0400 (EDT) |
branch: externals/relint
commit 09ef3dfa9c31317bf508ab18eb0d8f1e31c0b568
Author: Mattias Engdegård <address@hidden>
Commit: Mattias Engdegård <address@hidden>
Describe the new xr wrapped subsumption warning
---
README | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/README b/README
index 944e665..3ca9499 100644
--- a/README
+++ b/README
@@ -122,6 +122,17 @@ skip-syntax-backward.
so the a* could be removed without changing the meaning of the
regexp.
+ - First/last item in repetition subsumes last/first item (wrapped)
+
+ The first and last items in a repeated sequence, being effectively
+ adjacent, match a superset or subset of each other, which makes
+ for an unexpected inefficiency. For example, \(?:a*c[ab]+\)* can
+ be seen as a*c[ab]+a*c[ab]+... where the [ab]+a* in the middle is
+ a slow way of writing [ab]+ which is made worse by the outer
+ repetition. The general remedy is to move the subsumed item out of
+ the repeated sequence, resulting in a*\(?:c[ab]+\)* in the example
+ above.
+
- Uncounted repetition
The construct A\{,\} repeats A zero or more times which was
- [elpa] externals/relint updated (83e677d -> a001a05), Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 96e26a5 02/21: Check keyword arguments :regexp and :regex, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint ba7b747 01/21: Display the number of files found in relint-directory, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint b694c09 07/21: Check split ASCII-raw ranges in rx correctly, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 12a2b0f 08/21: Use regexp in suppression comments, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 9259a5c 03/21: Check some :value parameters in defcustom :type clauses, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint ac75b62 04/21: Check rx-to-string, and the 'regexp' and 'eval' subforms, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 09ef3df 05/21: Describe the new xr wrapped subsumption warning,
Mattias Engdegård <=
- [elpa] externals/relint eb178d5 06/21: Check assignments to imenu-generic-expression, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 2eba4d7 09/21: Describe new bol/eol/eos warnings, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint cf2a2ae 14/21: Do file-specific checks on arguments to known functions, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint f6d0fed 15/21: Describe the new file-specific warnings, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 1bf7f25 13/21: Check auto-mode-alist with file-specific checks, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 4fcc322 16/21: Delay call to file-relative-name until needed, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 326cfe2 11/21: Check calls to directory-files(-and-attributes), Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 5d3f78d 19/21: Update xr messages ("repetition" changed to "option"), Mattias Engdegård, 2020/05/03
- [elpa] externals/relint a50ed0b 20/21: Don't escape printable chars in rx warnings, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint cdd65ae 10/21: Add section about how relint works, Mattias Engdegård, 2020/05/03