D7: editor multi-cursor support

Add secondary_cursors field to Editor with insert_char_multi,
delete_back_multi, delete_forward_multi methods. Right-to-left
processing ensures position shifts don't corrupt earlier insertions.

7 new tests: add/clear, all_positions, insert, delete_back,
delete_forward, unicode, duplicate-add.
This commit is contained in:
2026-07-05 22:29:19 +03:00
parent 7a2b0d5160
commit b8aac3c9bc
2226 changed files with 876572 additions and 2382 deletions
+41
View File
@@ -0,0 +1,41 @@
#!/bin/sh
# Test --new-file (-N) and --unidirectional-new-file.
. "${srcdir=.}/init.sh"; path_prepend_ ../src
fail=0
echo a > a || fail=1
echo '0a1
> a' > exp || fail=1
returns_ 1 diff -N - a <&- > out || fail=1
compare exp out || fail=1
returns_ 1 diff --unidirectional-new-file - a <&- > out || fail=1
compare exp out || fail=1
returns_ 1 diff -N b - < a > out || fail=1
compare exp out || fail=1
returns_ 1 diff --unidirectional-new-file b - < a > out || fail=1
compare exp out || fail=1
echo '1d0
< a' > exp || fail=1
returns_ 1 diff -N a - <&- > out || fail=1
compare exp out || fail=1
# With closed standard input, require an exit status of 2
# and empty stdout.
returns_ 2 diff --unidirectional-new-file a - <&- > out || fail=1
compare /dev/null out || fail=1
returns_ 1 diff -N - b < a > out || fail=1
compare exp out || fail=1
returns_ 2 diff --unidirectional-new-file - b < a > out || fail=1
Exit $fail