Changes
- Add UTF-8 support, issue #37: cursor movement, deletion, word motion
and wrapped-line redisplay operate on whole glyphs. Display width is
one column per glyph; wide and zero-width (combining) characters are
not yet handled - Recognize more terminal key sequences: Meta+Left/Right, Ctrl/Alt
arrows (\e[1;3C,\e[1;3D), and Home/End in tmux and urxvt - Move-word-forward now stops at the end of the current word
- Ctrl-U now deletes from the cursor to the beginning of the line
rl_attempted_completion_overis now exported ineditline.h- New configure flag
--enable-examplesto build example programs - Remove the incomplete WIN32 support; Windows is not supported
- Add regression test suite, run with
make check, driving the editor
over a pseudo-terminal
Fixes
- Fix #5: don't shell-quote completions from a custom completer; only
built-in filename completion escapes spaces and special characters - Fix #41: add missing includes in the examples
- Fix #66:
write_history()now detects and reportsfprintf()write
errors, e.g. a full disk, instead of silently returning success - Fix #75: build with autoconf 2.72
- Fix
read_history()splitting lines longer than 255 bytes across
history entries and chopping a byte, mid-glyph for UTF-8 - Fix Ctrl-A and Ctrl-E (or Home and End keys) scrolling the screen up
- Fix crash when termcap is used and
cursor_leftis unavailable - Fix buffer overrun detected by AddressSanitizer
- Fix double free in completion handling
- Honor
el_hist_sizeand the default prompt - Fix and consistently use the
rl_set_prompt()API - Make
editline.hself-contained, includestdio.h - Fix
configure --disable-arrow-keysbuild option