[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/relint 350a9e4 7/8: Extend regexp-generating heuristics
From: |
Mattias Engdeg�rd |
Subject: |
[elpa] externals/relint 350a9e4 7/8: Extend regexp-generating heuristics |
Date: |
Mon, 1 Apr 2019 08:53:38 -0400 (EDT) |
branch: externals/relint
commit 350a9e4e90d4747ca8538a3332868b4b7a943ab6
Author: Mattias Engdegård <address@hidden>
Commit: Mattias Engdegård <address@hidden>
Extend regexp-generating heuristics
Recognise more standard regexp-returning functions, several
standard regexp variables, and look at variable names to determine
whether they are likely to contain regexps.
---
relint.el | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/relint.el b/relint.el
index e6d1586..343112a 100644
--- a/relint.el
+++ b/relint.el
@@ -706,16 +706,29 @@
re (format "%s (%s)" name rule-name) file pos path)))))
(relint--get-list form file pos path)))
-;; List of known regexp-generating functions used in EXPR.
+;; List of regexp-generating functions and variables used in EXPR.
;; EXPANDED is a list of expanded functions, to prevent recursion.
(defun relint--regexp-generators (expr expanded)
(cond
((symbolp expr)
- (let ((def (assq expr relint--variables)))
- (and def (relint--regexp-generators (cdr def) expanded))))
+ (and (not (memq expr '(nil t)))
+ (let ((def (assq expr relint--variables)))
+ (if def
+ (relint--regexp-generators (cdr def) expanded)
+ (and (or (memq expr '(page-delimiter paragraph-separate
+ paragraph-start sentence-end))
+ ;; This is guesswork, but effective.
+ (string-match-p
+ (rx (or (seq bos (or "regexp" "regex"))
+ (or "-regexp" "-regex" "-re"))
+ eos)
+ (symbol-name expr)))
+ (list expr))))))
((atom expr) nil)
((memq (car expr) '(regexp-quote regexp-opt regexp-opt-charset
- rx rx-to-string wildcard-to-regexp))
+ rx rx-to-string wildcard-to-regexp read-regexp
+ char-fold-to-regexp find-tag-default-as-regexp
+ find-tag-default-as-symbol-regexp sentence-end))
(list (car expr)))
((memq (car expr) '(looking-at re-search-forward re-search-backward
string-match string-match-p looking-back looking-at-p))
- [elpa] externals/relint updated (ee70350 -> fdfb2d7), Mattias Engdeg�rd, 2019/04/01
- [elpa] externals/relint f9e4d20 2/8: More messages and updates when running interactively, Mattias Engdeg�rd, 2019/04/01
- [elpa] externals/relint 4145e3f 3/8: Drop -patterns and -pattern-list as variable suffixes, Mattias Engdeg�rd, 2019/04/01
- [elpa] externals/relint 41831f4 1/8: Add several cl-seq and other functions, and simplify., Mattias Engdeg�rd, 2019/04/01
- [elpa] externals/relint 98bbb44 4/8: Documentation updates, Mattias Engdeg�rd, 2019/04/01
- [elpa] externals/relint eabac3b 5/8: Add memql as a safe function, Mattias Engdeg�rd, 2019/04/01
- [elpa] externals/relint 350a9e4 7/8: Extend regexp-generating heuristics,
Mattias Engdeg�rd <=
- [elpa] externals/relint fdfb2d7 8/8: Increment version to 1.7; add News section, Mattias Engdeg�rd, 2019/04/01
- [elpa] externals/relint cff253a 6/8: Add relint-current-buffer, Mattias Engdeg�rd, 2019/04/01