2008/05/03: use render-strings for highlighted regions. 2008/04/02: fix read-only warnings to seem less junky (e.g. catch the buffer.ReadOnlyError exception and write a graceful message everywhere applicable). 2008/03/18: finish arg documentation and review method documentation 2008/03/16: pdb/gdb/perldb buffer integration error/stack-trace buffer 2007/10/20: Tags for matching should be allowed to be multi-character, and should be a list of data/type pairs (rather than several lists). 2007/08/11: Instead of storing method state in the method objects (for mode callback stuff), we should probably store it in the buffer. AMENDED (2007/10/21): we should probably just store the entire mode in the buffer, rather than storing all this junk piecemeal. 2007/07/19: The minibuffer should be able to expand to become multi-line if the prompt/input string becomes too long. 2007/07/17: It would be nice to be able to toggle various lexing rules on/off, so that for instance text mode could make spell checking optional, or optionally highlight URLs/emails/etc. AMENDED (2008/03/20): in the case of spell-checking and other non-standard rules, we can do this with state variables in the mode. 2007/07/15: Vertical split would be awesome. Also, need more fine-grained controls for even horizontally split windows. 2007/07/15: Rename "lexing" to "parsing" since really we have moved way beyond a simple lexing/tokenization strategy.