[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 52/352: Uusi tapa lukea tekstiä ikkunasta
From: |
Stefan Monnier |
Subject: |
[elpa] 52/352: Uusi tapa lukea tekstiä ikkunasta |
Date: |
Mon, 07 Jul 2014 14:01:57 +0000 |
monnier pushed a commit to branch master
in repository elpa.
commit 7e4dbd71606efa7f41cc1616f613159833fc39f5
Author: Teemu Likonen <address@hidden>
Date: Fri May 22 11:16:00 2009 +0000
Uusi tapa lukea tekstiä ikkunasta
Aiempi toteutus luki ikkunassa näkyviä merkkijonoja "visuaalisesti" ja
rivi kerrallaan. Toiminnan tarkoituksena on hypätä näkymättömien
tekstialueiden yli. Uusi toteutus toimii matalammalla tasolla. Se ei lue
tekstiä visuaalisesti riveittäin, mutta tutkimalla text-properties- ja
overlay-tietoja se hyppää näkymättömien tekstialueiden yli.
---
wcheck-mode.el | 30 +++++++++++++++++-------------
1 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/wcheck-mode.el b/wcheck-mode.el
index 5a0aa57..790e8f7 100644
--- a/wcheck-mode.el
+++ b/wcheck-mode.el
@@ -656,25 +656,29 @@ oikeanlaiset."
(wcheck-query-language-data language 'regexp-end t)))
(syntax (eval (wcheck-query-language-data language 'syntax t)))
+ (w-start (window-start window))
(w-end (window-end window 'update))
+ (buffer (window-buffer window))
(discard (wcheck-query-language-data language 'regexp-discard t))
(case-fold-search nil)
words)
- (move-to-window-line 0)
- (beginning-of-line)
+
(with-syntax-table syntax
- (while (< (point) w-end)
- (while (re-search-forward regexp (line-end-position) t)
- (when (or (equal discard "")
- (not (string-match discard
- (match-string-no-properties 1))))
- (add-to-list 'words
- (match-string-no-properties 1)
- 'append))
- (goto-char (1+ (point))))
- (end-of-line)
- (vertical-motion 1)))
+ (goto-char w-start)
+ (while (re-search-forward regexp w-end t)
+ (cond ((get-char-property (match-beginning 1)
+ 'invisible buffer)
+ (goto-char (next-single-char-property-change
+ (match-beginning 1) 'invisible buffer w-end)))
+
+ ((or (equal discard "")
+ (not (string-match discard
+ (match-string-no-properties 1))))
+ (add-to-list 'words
+ (match-string-no-properties 1)
+ 'append)
+ (goto-char (1+ (point)))))))
words)))))
- [elpa] 39/352: Funktion wcheck-change-language kuvaus englanniksi, (continued)
- [elpa] 39/352: Funktion wcheck-change-language kuvaus englanniksi, Stefan Monnier, 2014/07/07
- [elpa] 40/352: Muutetaan oletuskielen tunnistusta varmatoimisemmaksi, Stefan Monnier, 2014/07/07
- [elpa] 41/352: Poistetaan customizesta vaatimus, että ohjelman täytyy olla olemassa, Stefan Monnier, 2014/07/07
- [elpa] 37/352: Lisätään muuttujan wcheck-language-date esimerkkiin regexp-discard, Stefan Monnier, 2014/07/07
- [elpa] 43/352: Englanninkielinen kuvaus ja koodin kommentit funktiolle wcheck-mode, Stefan Monnier, 2014/07/07
- [elpa] 48/352: Siirretään oikolukupyyntölistan muokkaus aiemmaksi, Stefan Monnier, 2014/07/07
- [elpa] 46/352: Tehdään maalausajastimesta nimetty funktio (ei lambda), Stefan Monnier, 2014/07/07
- [elpa] 50/352: Käännetään ajastinfunktiot englanniksi, Stefan Monnier, 2014/07/07
- [elpa] 44/352: Lisätään asennusohjeet wcheck-mode.el-tiedoston alkuun, Stefan Monnier, 2014/07/07
- [elpa] 42/352: Tehdään oletuskielestä customize-muuttuja, Stefan Monnier, 2014/07/07
- [elpa] 52/352: Uusi tapa lukea tekstiä ikkunasta,
Stefan Monnier <=
- [elpa] 49/352: Siirretään maalauspyyntölistan muokkaus aiemmaksi, Stefan Monnier, 2014/07/07
- [elpa] 45/352: Tarkistetaan prosessi funktion wcheck-program-executable-p avulla, Stefan Monnier, 2014/07/07
- [elpa] 47/352: Muutetaan funktion nimeä: wcheck-timer-event -> wcheck-timer-read-event, Stefan Monnier, 2014/07/07
- [elpa] 51/352: Lasketaan uuden ajastimen käynnistysviive edellisestä eteenpäin, Stefan Monnier, 2014/07/07
- [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