[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 60/352: Lisätään ikuisen silmukan tarkistus funktioon wcheck-pai
From: |
Stefan Monnier |
Subject: |
[elpa] 60/352: Lisätään ikuisen silmukan tarkistus funktioon wcheck-paint-words |
Date: |
Mon, 07 Jul 2014 14:02:02 +0000 |
monnier pushed a commit to branch master
in repository elpa.
commit c23e2ad0609d9ce3ea9fe3ebbafc39f8e51cf0db
Author: Teemu Likonen <address@hidden>
Date: Fri May 22 11:21:14 2009 +0000
Lisätään ikuisen silmukan tarkistus funktioon wcheck-paint-words
---
wcheck-mode.el | 33 +++++++++++++++++++++------------
1 files changed, 21 insertions(+), 12 deletions(-)
diff --git a/wcheck-mode.el b/wcheck-mode.el
index 91aa83e..128fcae 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -733,25 +733,34 @@ syntax table settings defined in LANGUAGE (see
(r-end (wcheck-query-language-data language 'regexp-end t))
(syntax (eval (wcheck-query-language-data language 'syntax t)))
(case-fold-search nil)
- regexp)
+ regexp old-point)
(with-syntax-table syntax
(dolist (word wordlist)
(setq regexp (concat r-start "\\("
(regexp-quote word) "\\)"
- r-end))
+ r-end)
+ old-point 0)
(goto-char w-start)
- (while (re-search-forward regexp w-end t)
- ;; If the point is invisible jump forward to the next
- ;; change of "invisible" text property, else make the
- ;; overlay.
- (if (get-char-property (match-beginning 1) 'invisible buffer)
- (goto-char (next-single-char-property-change
- (match-beginning 1) 'invisible buffer w-end))
- (wcheck-make-overlay language buffer
- (match-beginning 1)
- (match-end 1)))))))))))
+ (catch 'infinite
+ (while (re-search-forward regexp w-end t)
+ (cond ((= (point) old-point)
+ ;; We didn't move forward so break the loop.
+ (throw 'infinite t))
+ ((get-char-property (match-beginning 1)
+ 'invisible buffer)
+ ;; The point is invisible so jump forward to
+ ;; the next change of "invisible" text property
+ (goto-char (next-single-char-property-change
+ (match-beginning 1) 'invisible buffer
+ w-end)))
+ (t
+ ;; Make an overlay
+ (wcheck-make-overlay language buffer
+ (match-beginning 1)
+ (match-end 1))))
+ (setq old-point (point)))))))))))
(defun wcheck-query-language-data (language key &optional default)
- [elpa] 55/352: Päivitetään myös outline-näkyvyyden muuttuessa, (continued)
- [elpa] 55/352: Päivitetään myös outline-näkyvyyden muuttuessa, Stefan Monnier, 2014/07/07
- [elpa] 57/352: Maalataan vain näkyvät tekstialueet, hypätään näkymättömien yli, Stefan Monnier, 2014/07/07
- [elpa] 56/352: Muodostetaan säännöllinen lauseke valmiiksi ennen silmukkaa, Stefan Monnier, 2014/07/07
- [elpa] 53/352: Funktio wcheck-read-words englanniksi, Stefan Monnier, 2014/07/07
- [elpa] 54/352: Poistetaan globaalit koukut ajastimesta riippumatta, Stefan Monnier, 2014/07/07
- [elpa] 59/352: Sallitaan lausekkeen täsmääminen heti edellisen perään, Stefan Monnier, 2014/07/07
- [elpa] 58/352: Funktio wcheck-paint-words englanniksi, Stefan Monnier, 2014/07/07
- [elpa] 63/352: Kutsutaan maalausajastinta useita kertoja peräkkäin, Stefan Monnier, 2014/07/07
- [elpa] 61/352: Lisätään ;;;###autoload -määritykset, Stefan Monnier, 2014/07/07
- [elpa] 62/352: Käsitellään oikein tilanne, jossa joutenoloaika on nolla, Stefan Monnier, 2014/07/07
- [elpa] 60/352: Lisätään ikuisen silmukan tarkistus funktioon wcheck-paint-words,
Stefan Monnier <=
- [elpa] 64/352: Kielellistä hienosäätöä, Stefan Monnier, 2014/07/07
- [elpa] 70/352: Pienennetään wcheck-moden reagointiviivettä, Stefan Monnier, 2014/07/07
- [elpa] 69/352: Minibufferille oma virheilmoitus, Stefan Monnier, 2014/07/07
- [elpa] 65/352: Koodin väliotsikot englanniksi, Stefan Monnier, 2014/07/07
- [elpa] 66/352: Kielenvaihtotoiminnolle oma kielihistoriamuuttuja, Stefan Monnier, 2014/07/07
- [elpa] 68/352: Uusi nimi funktiolle: ...-overlay-word -> ...-changed-overlay, Stefan Monnier, 2014/07/07
- [elpa] 67/352: Loputkin funktioiden kuvaukset ja koodin kommentit englanniksi, Stefan Monnier, 2014/07/07
- [elpa] 71/352: Käytetään muuttujan kuvauksessa symbolia `wcheck-mode', Stefan Monnier, 2014/07/07
- [elpa] 72/352: Ajetaan maalaustoiminto varmuuden vuoksi vielä yhden kerran lisää, Stefan Monnier, 2014/07/07
- [elpa] 73/352: Poistetaan turhat format-funktiot, Stefan Monnier, 2014/07/07