From: Štěpán Němec Date: Thu, 29 Aug 2019 17:32:08 +0000 (+0200) Subject: whitespace: Turn long lines regexp into a function (bug#36837) X-Git-Tag: emacs-28.0.90~7814 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1939f7580bd283286dce8be7c99ab5dec1bb0814;p=emacs.git whitespace: Turn long lines regexp into a function (bug#36837) * lisp/whitespace.el (whitespace-color-on): Turn long lines regexp into a function to ensure it uses current 'whitespace-line-column' and 'fill-column' values. (Bug#36837) (whitespace-lines-regexp): New function. --- diff --git a/lisp/whitespace.el b/lisp/whitespace.el index 0137ddcf04f..47434bf3d2e 100644 --- a/lisp/whitespace.el +++ b/lisp/whitespace.el @@ -2067,16 +2067,7 @@ resultant list will be returned." ,@(when (or (memq 'lines whitespace-active-style) (memq 'lines-tail whitespace-active-style)) ;; Show "long" lines. - `((,(let ((line-column (or whitespace-line-column fill-column))) - (format - "^\\([^\t\n]\\{%s\\}\\|[^\t\n]\\{0,%s\\}\t\\)\\{%d\\}%s\\(.+\\)$" - tab-width - (1- tab-width) - (/ line-column tab-width) - (let ((rem (% line-column tab-width))) - (if (zerop rem) - "" - (format ".\\{%d\\}" rem))))) + `((,#'whitespace-lines-regexp ,(if (memq 'lines whitespace-active-style) 0 ; whole line 2) ; line tail @@ -2177,6 +2168,19 @@ resultant list will be returned." (setq status nil))) ;; end of buffer status)) +(defun whitespace-lines-regexp (limit) + (re-search-forward + (let ((line-column (or whitespace-line-column fill-column))) + (format + "^\\([^\t\n]\\{%s\\}\\|[^\t\n]\\{0,%s\\}\t\\)\\{%d\\}%s\\(.+\\)$" + tab-width + (1- tab-width) + (/ line-column tab-width) + (let ((rem (% line-column tab-width))) + (if (zerop rem) + "" + (format ".\\{%d\\}" rem))))) + limit t)) (defun whitespace-empty-at-bob-regexp (limit) "Match spaces at beginning of buffer which do not contain the point at \