tildify.el: Rewrite `tildify-region' and co., add foreach function.
authorMichal Nazarewicz <mina86@mina86.com>
Thu, 5 Jun 2014 14:42:07 +0000 (16:42 +0200)
committerMichal Nazarewicz <mina86@mina86.com>
Thu, 5 Jun 2014 14:42:07 +0000 (16:42 +0200)
commit03d7d160c3c7f31f1fee84b1bdcd252a8cec7b99
treea173a51f3eee0e4ab48b6770961819a95ebb9af1
parentdf344ab435c04aea5bb9261e6d2c349ab8f4fcea
tildify.el: Rewrite `tildify-region' and co., add foreach function.

* lisp/textmodes/tildify.el (tildify-foreach-region-outside-env): New
function which calls a callback on portions of the buffer that are
outside of ignored environments.
(tildify-build-regexp): Remove function since it is now
incorporated in `tildify-foreach-region-outside-env' where it is
optimised and simplified by the use of `mapconcat'.
(tildify-tildify): Return number of substitutions made so that…
(tildify-count): …can be removed.
(tildify-find-env): Accept a new PAIRS argument which was
previously looked up in `tildify-ignored-environments-alist' each
time the function was called.  With this change, the lookup is
performed only once in `tildify-foreach-region-outside-env'.
(tildify-region): Greatly simplify the function since now most of
the work is done by `tildify-foreach-region-outside-env'.
(tildify-mode-alist): Simplify slightly by avoiding if and setq
and instead using or.

* tests/automated/tildify-tests.el (tildify-test-find-env-end-re-bug)
(tildify-test-find-env-group-index-bug): Update to support new
signature of the `tildify-foreach-region-outside-env' function.
Namely, it now takes pairs as an argument instead of looking it up in
`tildify-ignored-environments-alist'.
lisp/ChangeLog
lisp/textmodes/tildify.el
test/ChangeLog
test/automated/tildify-tests.el