tiger-speech 0.7.6 — a real regex engine, and Tiger unchanged
A shared-host release. Tiger sounds exactly as it did — that is the headline, and it was checked rather than assumed.
This add-on and leopard-speech run the same engine host, so they ship together. Nearly everything in 0.6.0 over there is Leopard's: Tiger's MacinTalk 3.3 does not have the tuning parameters that release is about — it has no __cfstring section at all — and Tiger's dictionary uses flat tables where Leopard's uses regular expressions.
So the honest summary of this release for Tiger users is: nothing changes, and here is the proof. Fred, Cellos and Vicki were rendered before and after across three texts, including one built from the constructs the new code touches. All nine renders are byte-identical, hash for hash. The 49 automated tests pass.
What is actually in it
- A real regular-expression engine, contributed by Brandon (@serrebi) — a backtracking POSIX ERE matcher with a bounded step budget, replacing a reader that understood one shape of pattern. Tiger's dictionary compiles no patterns, so this is inert here and transformative on Leopard. It comes with
tiger_host --regex-check, 115 cases. - The engine's tuning parameters can be answered. Leopard's engine asks for 283 named settings and was told nothing; it can now be told something. Tiger asks for none of them, so this cannot reach it — which is why the setting is keyed by name rather than applied globally.
docs/engine-tunables.md— all 283 names with their addresses, what the phrasing ones appear to govern, andtools/cfstrings.pyto regenerate the list from an engine you extracted yourself.
Why ship it at all, then
Because the host binary is the same file. A driver and a host that disagree about the protocol is the one failure this project has decided to design out, so they move together and say so. If you are happy with 0.7.5, nothing here will change your day; upgrade at your leisure.
Getting the engine
Unchanged: nothing of Apple's ships here. You supply your own Tiger install, and the add-on reads the engine and voices from wherever you extracted them.