Fix void-variable n-reb in re-builder (Bug#40409)
* lisp/emacs-lisp/re-builder.el (reb-while): Take the current value of the counter instead of its name. (reb-mark-non-matching-parenthesis): Bind n-reb to 0 at the start and don't wrongly treat it as dynamicly bound.
This commit is contained in:
parent
452d776a5d
commit
7e78f0d1b2
1 changed files with 8 additions and 9 deletions
|
@ -767,22 +767,21 @@ If SUBEXP is non-nil mark only the corresponding sub-expressions."
|
|||
(reb-mark-non-matching-parenthesis))
|
||||
nil)))
|
||||
|
||||
(defsubst reb-while (limit counter where)
|
||||
(let ((count (symbol-value counter)))
|
||||
(if (= count limit)
|
||||
(progn
|
||||
(message "Reached (while limit=%s, where=%s)" limit where)
|
||||
nil)
|
||||
(set counter (1+ count)))))
|
||||
(defsubst reb-while (limit current where)
|
||||
(if (< current limit)
|
||||
(1+ current)
|
||||
(message "Reached (while limit=%s, where=%s)" limit where)
|
||||
nil))
|
||||
|
||||
(defun reb-mark-non-matching-parenthesis (bound)
|
||||
;; We have a small string, check the whole of it, but wait until
|
||||
;; everything else is fontified.
|
||||
(when (>= bound (point-max))
|
||||
(let (left-pars
|
||||
(let ((n-reb 0)
|
||||
left-pars
|
||||
faces-here)
|
||||
(goto-char (point-min))
|
||||
(while (and (reb-while 100 'n-reb "mark-par")
|
||||
(while (and (setq n-reb (reb-while 100 n-reb "mark-par"))
|
||||
(not (eobp)))
|
||||
(skip-chars-forward "^()")
|
||||
(unless (eobp)
|
||||
|
|
Loading…
Add table
Reference in a new issue