[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 95eaf45: Save match data in flymake-diag-region (bug#29193)
From: |
João Távora |
Subject: |
master 95eaf45: Save match data in flymake-diag-region (bug#29193) |
Date: |
Fri, 18 Dec 2020 06:30:04 -0500 (EST) |
branch: master
commit 95eaf45ddfd6ea639c1d31ff7627c48601f74594
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>
Save match data in flymake-diag-region (bug#29193)
* lisp/progmodes/flymake.el (flymake-diag-region): Move
save-match-data up.
---
lisp/progmodes/flymake.el | 68 +++++++++++++++++++++++------------------------
1 file changed, 34 insertions(+), 34 deletions(-)
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index da026da..dfb4f18 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -418,40 +418,40 @@ region is invalid."
(let ((line (min (max line 1)
(line-number-at-pos (point-max) 'absolute))))
(save-excursion
- (goto-char (point-min))
- (forward-line (1- line))
- (cl-flet ((fallback-bol
- ()
- (back-to-indentation)
- (if (eobp)
- (line-beginning-position 0)
- (point)))
- (fallback-eol
- (beg)
- (progn
- (end-of-line)
- (skip-chars-backward " \t\f\n" beg)
- (if (eq (point) beg)
- (line-beginning-position 2)
- (point)))))
- (if (and col (cl-plusp col))
- (let* ((beg (progn (forward-char (1- col))
- (point)))
- (sexp-end (or (ignore-errors (end-of-thing 'sexp))
- (save-match-data
- (ignore-errors (end-of-thing
'symbol)))))
- (end (or (and sexp-end
- (not (= sexp-end beg))
- sexp-end)
- (and (< (goto-char (1+ beg)) (point-max))
- (point)))))
- (if end
- (cons beg end)
- (cons (setq beg (fallback-bol))
- (fallback-eol beg))))
- (let* ((beg (fallback-bol))
- (end (fallback-eol beg)))
- (cons beg end)))))))
+ (save-match-data
+ (goto-char (point-min))
+ (forward-line (1- line))
+ (cl-flet ((fallback-bol
+ ()
+ (back-to-indentation)
+ (if (eobp)
+ (line-beginning-position 0)
+ (point)))
+ (fallback-eol
+ (beg)
+ (progn
+ (end-of-line)
+ (skip-chars-backward " \t\f\n" beg)
+ (if (eq (point) beg)
+ (line-beginning-position 2)
+ (point)))))
+ (if (and col (cl-plusp col))
+ (let* ((beg (progn (forward-char (1- col))
+ (point)))
+ (sexp-end (or (ignore-errors (end-of-thing 'sexp))
+ (ignore-errors (end-of-thing
'symbol))))
+ (end (or (and sexp-end
+ (not (= sexp-end beg))
+ sexp-end)
+ (and (< (goto-char (1+ beg)) (point-max))
+ (point)))))
+ (if end
+ (cons beg end)
+ (cons (setq beg (fallback-bol))
+ (fallback-eol beg))))
+ (let* ((beg (fallback-bol))
+ (end (fallback-eol beg)))
+ (cons beg end))))))))
(error (flymake-log :warning "Invalid region line=%s col=%s" line col)
nil)))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 95eaf45: Save match data in flymake-diag-region (bug#29193),
João Távora <=