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.
This commit is contained in:
Štěpán Němec 2019-08-29 19:32:08 +02:00 committed by Noam Postavsky
parent 13a69c829e
commit 1939f7580b

View file

@ -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 \