These are all the interesting changes from wily 0.13.41 to 0.13.42 done by tommy Pettersson . Please let me know if you run into trouble with any of these changes. if you have a philosophical disagreement with any of the fixes also let me know, and i will try to resolve it. thank you tommy. and thanks to derek peschel for bugging me about configs. thank you to all those who have sent fixes in the past, some of which is in this new version. i appreciate the help. ---- changes --- Configs for 9libs and wily-9libs have been brought up-to-date to allow 9libs compilation under Mac OS-X. The most complicated change is with reading utf8. Multibyte utf sequences could get split and generate two invalid runes instead of one valid. This could happen both on file reads, if the file was larger then the temporary read buffer, and on output events from external processes. Wily sometimes missed to warn about nulls when reading large files. Nulls are now replaced with invalid runes on file reads. Wily will also warn about both nulls and (real) invalid runes when reading a file. It was possible to enter a null rune into the text buffer with the Alt-X combination, which now yields an invalid rune. Fonts with 65536 chars made wily crash. Unnecessary redrawing (flicker) has been reduced in several ways. One patch is from Bill Trost and fixes flicker in directory windows. There were some ways to crash wily by selecting a reversed range (from right to left) with mouse or keyboard. All these now just revert the range and proceed normally. Many bugs made wily crash while trying to draw the screen, and others just trashed it. I've fixed a heap of them, but there are surely some more left. I've used one patch from Sam Holden that avoids division by zero when making a dir listing. I've used one patch from Thomas Nordin that stops some ugly scrolling. I've used one patch from Peter Canning that renders scrollbars correctly even with very many lines in the text buffer. Fixes include: no disappearing borders, no extra spaces around anchors, don't trash anchors and process names in tag lines, no faulty autoindenting on non-ascii letters, no extra newline with autoindent, don't garbage tag line when switching font. Another source of crashes was casting of pointers to bools and bool comparisons where bools really are integers. Some conditions would randomly give the wrong answer and cause unexpected behaviors. CapsLock did not work with XFree86 version 4, but a solid workaround that catches this is now in place. A renamed file buffer gets its new name as backup name when Put. Text buffers for new files allocated twice as much memory as needed (in addition to the extra gap space for inserting more text). The text search was broken in a couple of ways, but only one of them could actually happen, and it was very very unlikely to be used (-/,/). Minor fixes: use dir tools in dir windows, use expanded dir path for window destination column hash (Bill Trost), reset errno before calling diag() (suggested by Elliott Hughes), don't optimize away some wanted mouse button events.