Why Rewriting Emacs Is Hard

Table of Contents 1. Rolling your own string types 1.1. Lossless file editing 1.2. More universal than Unicode 2. Bringing your own string libraries 2.1. Case tables 2.2. Regexp 2.3. Any encoding you want 3. Buffers are more than buffers 3.1. Trees are everywhere 3.2. Strings into buffers into strings 3.3. More on gap buffers 4. Summarizing There have been quite a few attempts to re-implement…