gnu-emacs-sources
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNU ELPA] Relint version 2.0


From: ELPA update
Subject: [GNU ELPA] Relint version 2.0
Date: Sat, 03 Aug 2024 05:03:25 -0400

Version 2.0 of package Relint has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.

Relint describes itself as:

  ===========================
  Elisp regexp mistake finder
  ===========================

More at https://elpa.gnu.org/packages/relint.html

## Summary:

                  relint -- Emacs regexp mistake finder
                  =====================================

  Relint scans Emacs Lisp files for mistakes in regexps, including
  deprecated syntax and bad practice. It also checks the regexp-like
  arguments to the functions skip-chars-forward, skip-chars-backward,
  skip-syntax-forward and skip-syntax-backward.

  * Contents

     - Usage
     - Installation
     - Configuration
     - What the diagnostics mean
     - Suppressing diagnostics
     - How it works
     - Bugs


  * Usage

    - Check a single file:

        M-x relint-file

    - Check all .el files in a directory tree:

        M-x relint-directory

    - Check current buffer:

        M-x relint-current-buffer

    In the *relint* buffer, pressing "g" will re-run the same check.

    - From batch mode:

## Recent NEWS:

                        relint version history
                        ======================


Version 2.0

- Compatibility break: `relint-buffer` now returns a list of `relint-diag`
  objects.  Use the `relint-diag-` accessors for reading their slots.
  Each object now has BEGIN..END ranges instead of just the starting point,
  which allows a user interface to highlight the corresponding part
  of the code buffer in a suitable way.
  There are now the severity levels `error`, `warning` and `info`.

- When running interactively (`relint-directory`, `relint-file` or
  `relint-current-buffer`), the new `relint-buffer-highlight` face is
  used for relevant parts of a string in the `*relint*` buffer.
  This face can be customised or themed by the user.

- In batch mode (`relint-batch`), the new variable `relint-batch-highlight`
  is used to determine how relevant parts of a string are marked in
  the output. The default is to use reverse video for terminal display.
  This variable can be customised by the user.

- Some performance improvements

- Requires xr 2.0 and Emacs 27.1 or later

Version 1.24
- Fix a `next-error' bug
- Some performance improvements

Version 1.23
- New defcustom `relint-xr-checks' that enables optional xr checks.
- Add regexp detection in uses of the treesit API.
- Better backquote expansion inside rx forms.

Version 1.22
- String char escape check now detects \8, \9, and \x without hex digit

Version 1.21
- Check for duplicates in rx or-forms
- Robustness improvements

Version 1.20
- More compact distribution

Version 1.19
- Progress indicator in `relint-directory'
- Some performance improvements
- Fix some false positives in the regexp provenance detector
- Scan assignments to `font-lock-defaults' correctly
- Recognise regexp arguments to functions in the s.el package

Version 1.18
- New check for ineffective backslashes in all strings (not just regexps)
- Warnings emitted in order of their position in file or buffer
- Performance improvements

Version 1.17
- Fixed message display on Emacs 26

Version 1.16
- Suppression comments now use regexp matching of messages
- New filename-specific checks in calls to `directory-files' etc
- Check some keyword arguments (:regexp and :regex)
- Improved rx checks
- `relint-directory' now displays number of files found

Version 1.15
- Improved position accuracy in various lists of regexps
- Check for mistake in rx `any' forms
- `relint-buffer' now also returns severity (warning, error)
- Relint can now also check the *scratch* buffer

Version 1.14
- Added `relint-buffer'
- Report error position inside string literals when possible
- Scan arguments to `search-forward-regexp' and `search-backward-regexp'
- Use text quoting for messages

Version 1.13
- Look in function/macro doc strings to find regexp arguments and
  return values
- Detect binding and mutation of some known regexp variables
- Detect regexps as arguments to `syntax-propertize-rules'
- More font-lock-keywords variables are scanned for regexps
- `relint-batch' no longer outputs a summary if there were no errors

Version 1.12
- Improved detection of regexps in defcustom declarations
- Better suppression of false positives
- Nonzero exit status upon error in `relint-batch'

Version 1.11
- Improved evaluator, now handling limited local variable mutation
- Bug fixes
- Test suite

Version 1.10
- Check arguments to `skip-syntax-forward' and `skip-syntax-backward'
- Add error suppression mechanism

Version 1.9
- Limited tracking of local variables in regexp finding
- Recognise new variable `literal' and `regexp' rx clauses
- Detect more regexps in defcustom declarations
- Requires xr 1.13

Version 1.8
- Updated diagnostics list
- Requires xr 1.12

Version 1.7
- Expanded regexp-generating heuristics
- Some `defalias' are now followed
- All diagnostics are now documented (see README.org)

Version 1.6
- Add `relint-current-buffer'
- Show relative file names in *relint*
- Extended regexp-generating heuristics, warning about suspiciously-named
...
...



reply via email to

[Prev in Thread] Current Thread [Next in Thread]