X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=ew-scan-u.el;h=92c240fac41c6d37c3688e8ef2e4a6e82d03b778;hb=d0f10b946e5ff78d869d16245a00a19e987aa13e;hp=04137c25d4323a46eef70209205efd5d5606a7b2;hpb=02131d141680f10cbd54eebf4b3fa726b0dea7a3;p=elisp%2Fflim.git diff --git a/ew-scan-u.el b/ew-scan-u.el index 04137c2..92c240f 100644 --- a/ew-scan-u.el +++ b/ew-scan-u.el @@ -8,28 +8,38 @@ `(let ((res (ew-make-anchor col str)) (p 0) (q (length str)) - r) + r + type) (while (< p q) (setq r p) - (,scan - str p q - ([" \t"] (ew-add-frag res r p 'ew:us-wsp-tok)) - (((* [^ " \t\r"]) (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"])) (* ?\r) - (?\r ?\n [" \t"])) - (when (< r (- p 3)) - (ew-add-frag res r (- p 3) 'ew:us-texts-tok) - (setq r (- p 3))) - (ew-add-frag res r p 'ew:us-fold-tok)) - (((* [^ " \t\r"]) (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"])) (* ?\r) - (?\r ?\n [^ " \t"])) - (when (< r (- p 3)) - (ew-add-frag res r (- p 3) 'ew:us-texts-tok) - (setq r (- p 3))) - (ew-add-frag res r (setq p q) 'ew:err-tok)) - (((* [^ " \t\r"]) (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"])) (* ?\r)) - (if (< r p) - (ew-add-frag res r p 'ew:us-texts-tok) - (ew-add-frag res r (setq p q) 'ew:err-tok))))) + (setq + type + (,scan + str p q + ([" \t"] 'ew:us-wsp) + (((* [^ " \t\r"]) + (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"])) + (* ?\r) + (?\r ?\n [" \t"])) + (when (< r (- p 3)) + (ew-add-frag res r (- p 3) 'ew:us-texts) + (setq r (- p 3))) + 'ew:us-fold) + (((* [^ " \t\r"]) + (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"])) + (* ?\r) + (?\r ?\n [^ " \t"])) + (when (< r (- p 3)) + (ew-add-frag res r (- p 3) 'ew:us-texts) + (setq r (- p 3))) + (setq p q) 'ew:*err*) + (((* [^ " \t\r"]) + (* (+ ?\r) [^ " \t\r\n"] (* [^ " \t\r"])) + (* ?\r)) + (if (< r p) + 'ew:us-texts + (progn (setq p q) 'ew:*err*))))) + (ew-add-frag res r p type)) (ew-terminate res) res))