[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/relint cdd65ae 10/21: Add section about how relint work
From: |
Mattias Engdegård |
Subject: |
[elpa] externals/relint cdd65ae 10/21: Add section about how relint works |
Date: |
Sun, 3 May 2020 11:13:36 -0400 (EDT) |
branch: externals/relint
commit cdd65ae90343eec0774a86741d8104a524b1aad8
Author: Mattias Engdegård <address@hidden>
Commit: Mattias Engdegård <address@hidden>
Add section about how relint works
---
README | 36 +++++++++++++++++++++++++++++++-----
1 file changed, 31 insertions(+), 5 deletions(-)
diff --git a/README b/README
index 777d9d0..f816349 100644
--- a/README
+++ b/README
@@ -36,6 +36,7 @@ skip-syntax-backward.
which returns a list of diagnostics.
+
* Installation
From GNU ELPA (https://elpa.gnu.org/packages/relint.html):
@@ -45,6 +46,7 @@ skip-syntax-backward.
Relint requires the package xr (https://elpa.gnu.org/packages/xr.html);
it will be installed automatically.
+
* What the diagnostics mean
- Unescaped literal 'X'
@@ -268,6 +270,7 @@ skip-syntax-backward.
A string argument to skip-syntax-forward or skip-syntax-backward
is empty or "^", neither of which makes sense.
+
* Suppressing diagnostics
While relint has been designed to avoid false positives, there may
@@ -284,11 +287,34 @@ skip-syntax-backward.
comment lines can precede a line of code to eliminate several
complaints on the same line.
+
+* How it works
+
+ Relint uses a combination of ad-hoc rules to locate regexps:
+
+ - Arguments to standard functions taking regexps as arguments,
+ such as re-search-forward, or to user-defined functions
+ whose arguments have regexp-sounding names (like 'regexp')
+
+ - Values of variables believed to be a regexp from their name
+ (ending in '-regexp', for instance), from their doc string,
+ or from their type (for defcustom forms)
+
+ - Assignment to certain standard variables, such as page-delimiter
+
+ It will then try to evaluate expressions statically as far as
+ possible, to arrive at strings which can be analysed. The regexp
+ analysis is done by the xr library.
+
+ This means that if relint complains about something that isn't
+ actually a regexp, some names in your code may be misleading.
+
+
* Bugs
- The recognition of regexps is done by ad-hoc rules; the simplistic
- method employed means that many errors will go undetected.
+ The simplistic method employed means that many errors will go
+ undetected, but false warnings are usually rare.
- Still, if you believe that a flawed regexp could have been
- discovered but wasn't, please report it as a bug. Reports of false
- positives and crashes are of course equally welcome.
+ If you believe that an error could have been discovered but wasn't,
+ or that an unwarranted complaint could be avoided, please report it
+ as a bug.
- [elpa] externals/relint 09ef3df 05/21: Describe the new xr wrapped subsumption warning, (continued)
- [elpa] externals/relint 09ef3df 05/21: Describe the new xr wrapped subsumption warning, Mattias Engdegård, 2020/05/03
- [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 <=
- [elpa] externals/relint 636e172 12/21: Add filename-specific checks (unused so far), Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 008fad0 17/21: Repair relint-current-buffer after thunking file parameter, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint 8f49686 18/21: Move file-specific checks to xr, Mattias Engdegård, 2020/05/03
- [elpa] externals/relint a001a05 21/21: Increment version to 1.16, Mattias Engdegård, 2020/05/03