Hello community, here is the log from the commit of package vis for openSUSE:Factory checked in at 2020-12-09 22:21:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vis (Old) and /work/SRC/openSUSE:Factory/.vis.new.2328 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vis" Wed Dec 9 22:21:48 2020 rev:5 rq:854112 version:0.7 Changes: -------- --- /work/SRC/openSUSE:Factory/vis/vis.changes 2020-06-15 20:32:05.342706999 +0200 +++ /work/SRC/openSUSE:Factory/.vis.new.2328/vis.changes 2020-12-09 22:21:49.771700217 +0100 @@ -1,0 +2,42 @@ +Tue Dec 8 18:42:07 UTC 2020 - Matej Cepl <[email protected]> + +- Update to the released version 0.7: + This is mostly a bug fix release with fixes for a few cases of + undefined behavior and preliminary work for experimentation with + different core text management data structures and general editor + architecture. + - fix UB in core text management data structure + - text refactoring, splitting out reusable text iterator and I/O + components + - new *at() variants taking directory descriptor for file load/save + API + - more efficient initial file read, avoiding spurious syscalls and + copy + - text API cleanups, const correctness improvements + - increased test coverage for core text data structure + - support for Lua 5.4 + - Lua API improvements: vis.mark, vis.register, vis.win.file.modified + - and support for terminal CSI events + - NetBSD support + - new :set ignorecase option to search case independently + - new visual mode mapping <C-a> to select all matching selections + - fix mappings involving non-leading <C-c> + - minor file detection fixes for racket, node.js modules, Typescript + and liliypond + - new lexers for Zig, meson build system, Mikrotik RouterOS scripts, + Gemini + - improved inner word text object and its use for <C-n> in normal mode + - improved <C-n> behavior in visual mode + - removed ie, ae inner/outer entire text object, use :, as shorthand + for :0,$ + - removed pairwise selection combinators z>, z<, z-, z+, z&, z| + - remove ~ as alias for g~ + - use ~ instead of ! for selection complement + - remove special key and window related aliases + - vis-open(1) adds a trailing slash to indicate folders + - add primary clipboard support to vis-clipboard(1) + - support wayland clipboard using wl-clipboard(1) + - new Makefile targets: distclean, testclean + + +------------------------------------------------------------------- Old: ---- vis-0.6.tar.gz vis-test-0.4.tar.gz New: ---- vis-0.7.tar.gz vis-test-0.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vis.spec ++++++ --- /var/tmp/diff_new_pack.aoUpdE/_old 2020-12-09 22:21:50.343700797 +0100 +++ /var/tmp/diff_new_pack.aoUpdE/_new 2020-12-09 22:21:50.347700801 +0100 @@ -16,9 +16,9 @@ # -%define test_version 0.4 +%define test_version 0.5 Name: vis -Version: 0.6 +Version: 0.7 Release: 0 Summary: An editor combining the strengths of both vi(m) and sam License: ISC ++++++ vis-0.6.tar.gz -> vis-0.7.tar.gz ++++++ ++++ 5283 lines of diff (skipped) ++++++ vis-test-0.4.tar.gz -> vis-test-0.5.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/core/Makefile new/vis-test-0.5/core/Makefile --- old/vis-test-0.4/core/Makefile 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/core/Makefile 2020-11-19 08:45:46.000000000 +0100 @@ -14,7 +14,7 @@ @echo Generating ccan configuration header @${CC} ccan-config.c -o ccan-config && ./ccan-config > config.h -text-test: config.h text-test.c ../../text.c ../../text-util.c ../../text-motions.c ../../text-objects.c ../../text-regex.c +text-test: config.h text-test.c ../../text.c ../../text-common.c ../../text-io.c ../../text-iterator.c ../../text-util.c ../../text-motions.c ../../text-objects.c ../../text-regex.c ../../array.c @echo Compiling $@ binary @${CC} ${CFLAGS} ${CFLAGS_STD} ${CFLAGS_LIBC} ${CFLAGS_EXTRA} ${filter %.c, $^} ${SRC} ${LDFLAGS} -o $@ @@ -58,6 +58,7 @@ clean: @echo cleaning @rm -f ccan-config config.h + @rm -f data symlink hardlink @rm -f $(ALL) @rm -f *.gcov *.gcda *.gcno @rm -f *.valgrind diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/core/array-test.c new/vis-test-0.5/core/array-test.c --- old/vis-test-0.4/core/array-test.c 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/core/array-test.c 2020-11-19 08:45:46.000000000 +0100 @@ -6,7 +6,7 @@ #include <errno.h> #include "tap.h" #include "array.h" -#include "../../util.h" +#include "util.h" typedef struct { char key[64]; @@ -26,6 +26,8 @@ ok(array_length(&arr) == 0, "Initialization"); ok(!array_set(&arr, 0, NULL) && errno == EINVAL, "Set with invalid index"); ok(array_get(&arr, 0) == NULL && errno == EINVAL, "Get with invalid index"); + ok(array_peek(&arr) == NULL && array_length(&arr) == 0, "Peek empty array"); + ok(array_pop(&arr) == NULL && array_length(&arr) == 0, "Pop empty array"); for (size_t i = 0; i < len; i++) { int *v; @@ -46,6 +48,11 @@ "Get array element: %zu = %d", i, *v); } + int *v; + ok((v = array_peek(&arr)) && *v == values[0] && array_length(&arr) == len, "Peek populated array"); + ok((v = array_pop(&arr)) && *v == values[0] && array_length(&arr) == len-1, "Pop populated array"); + ok((v = array_peek(&arr)) && *v == values[1] && array_length(&arr) == len-1, "Peek after pop"); + array_clear(&arr); ok(array_length(&arr) == 0 && array_get(&arr, 0) == NULL && errno == EINVAL, "Clear"); @@ -63,8 +70,6 @@ ok(!array_remove(&arr, array_length(&arr)) && errno == EINVAL, "Remove past end of array"); - int *v; - size_t len_before = array_length(&arr); ok(array_remove(&arr, 2) && array_length(&arr) == len_before-1 && (v = array_get(&arr, 0)) && *v == values[0] && diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/core/tap.h new/vis-test-0.5/core/tap.h --- old/vis-test-0.4/core/tap.h 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/core/tap.h 2020-11-19 08:45:46.000000000 +0100 @@ -16,7 +16,7 @@ bool _e = (e); \ printf("%sok %d - ", _e ? "" : "not ", ++test_count); \ printf(__VA_ARGS__); \ - puts(""); \ + printf("\n"); \ if (!_e) { \ failures++; \ printf(" Failed test (%s:%s() at line %d)\n", __FILE__, __func__, __LINE__); \ @@ -32,10 +32,24 @@ while (_n--) { \ printf("ok %d # skip ", ++test_count); \ printf(__VA_ARGS__); \ - puts(""); \ + printf("\n"); \ } \ } while (0) +#include <time.h> +time_t time(time_t *p) +{ + static time_t value; + value++; + if (p) *p = value; + return value; +} + +long labs(long v) +{ + return v > 0 ? v : -v; +} + #else #include <ccan/tap/tap.h> #define TIS_INTERPRETER 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/core/text-test.c new/vis-test-0.5/core/text-test.c --- old/vis-test-0.4/core/text-test.c 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/core/text-test.c 2020-11-19 08:45:46.000000000 +0100 @@ -132,16 +132,24 @@ TEXT_SAVE_INPLACE, }; - for (size_t i = 0; i < LENGTH(save_method); i++) { - snprintf(buf, sizeof buf, "Hello World: %zu\n", i); - txt = text_load(NULL); - ok(txt && insert(txt, 0, buf) && compare(txt, buf), "Preparing to save (method %zu)", i); - ok(txt && text_save_method(txt, filename, save_method[i]), "Text save (method %zu)", i); - text_free(txt); - - txt = text_load(filename); - ok(txt && compare(txt, buf), "Verify save (method %zu)", i); - text_free(txt); + for (size_t l = 0; l < LENGTH(load_method); l++) { + for (size_t s = 0; s < LENGTH(save_method); s++) { +#ifdef __CYGWIN__ + if (load_method[l] == TEXT_LOAD_MMAP && save_method[s] == TEXT_SAVE_INPLACE) + continue; +#endif + snprintf(buf, sizeof buf, "Hello World: (%zu, %zu)\n", l, s); + txt = text_load_method(filename, load_method[l]); + ok(txt, "Load (%zu, %zu)", l, s); + ok(txt && text_delete(txt, 0, text_size(txt)) && isempty(txt), "Empty (%zu, %zu)", l, s); + ok(txt && insert(txt, 0, buf) && compare(txt, buf), "Preparing to save (%zu, %zu)", l, s); + ok(txt && text_save_method(txt, filename, save_method[s]), "Text save (%zu, %zu)", l, s); + text_free(txt); + + txt = text_load(filename); + ok(txt && compare(txt, buf), "Verify save (%zu, %zu)", l, s); + text_free(txt); + } } int (*creation[])(const char*, const char*) = { symlink, link }; @@ -194,6 +202,10 @@ ok(text_iterator_byte_get(&it, &b) && b == '\0' && text_iterator_valid(&it), "Accessing iterator after moving back from beyond start of file"); + ok(text_state(txt) > 0, "State on empty file"); + ok(text_undo(txt) == EPOS && isempty(txt), "Undo on empty file"); + ok(text_redo(txt) == EPOS && isempty(txt), "Redo on empty file"); + char data[] = "a\nb\nc\n"; size_t data_len = strlen(data); ok(insert(txt, 0, data), "Inserting new lines"); @@ -250,10 +262,10 @@ ok(text_undo(txt) != EPOS && compare(txt, "123456789"), "Undo 1"); ok(text_undo(txt) != EPOS && compare(txt, "123456"), "Undo 2"); ok(text_undo(txt) != EPOS && compare(txt, "12346"), "Undo 3"); - ok(text_undo(txt) != EPOS && compare(txt, "123"), "Undo 3"); + ok(text_undo(txt) != EPOS && compare(txt, "123"), "Undo 4"); ok(text_undo(txt) != EPOS && compare(txt, "13"), "Undo 5"); ok(text_undo(txt) != EPOS && compare(txt, "3"), "Undo 6"); - ok(text_undo(txt) != EPOS && compare(txt, ""), "Undo 6"); + ok(text_undo(txt) != EPOS && compare(txt, ""), "Undo 7"); ok(text_redo(txt) != EPOS && compare(txt, "3"), "Redo 1"); ok(text_redo(txt) != EPOS && compare(txt, "13"), "Redo 2"); ok(text_redo(txt) != EPOS && compare(txt, "123"), "Redo 3"); @@ -261,6 +273,20 @@ ok(text_redo(txt) != EPOS && compare(txt, "123456"), "Redo 5"); ok(text_redo(txt) != EPOS && compare(txt, "123456789"), "Redo 6"); ok(text_redo(txt) != EPOS && compare(txt, "1234567890"), "Redo 7"); + ok(text_earlier(txt) != EPOS && compare(txt, "123456789"), "Earlier 1"); + ok(text_earlier(txt) != EPOS && compare(txt, "123456"), "Earlier 2"); + ok(text_earlier(txt) != EPOS && compare(txt, "12346"), "Earlier 3"); + ok(text_earlier(txt) != EPOS && compare(txt, "123"), "Earlier 4"); + ok(text_earlier(txt) != EPOS && compare(txt, "13"), "Earlier 5"); + ok(text_earlier(txt) != EPOS && compare(txt, "3"), "Earlier 6"); + ok(text_earlier(txt) != EPOS && compare(txt, ""), "Earlier 7"); + ok(text_later(txt) != EPOS && compare(txt, "3"), "Later 1"); + ok(text_later(txt) != EPOS && compare(txt, "13"), "Later 2"); + ok(text_later(txt) != EPOS && compare(txt, "123"), "Later 3"); + ok(text_later(txt) != EPOS && compare(txt, "12346"), "Later 4"); + ok(text_later(txt) != EPOS && compare(txt, "123456"), "Later 5"); + ok(text_later(txt) != EPOS && compare(txt, "123456789"), "Later 6"); + ok(text_later(txt) != EPOS && compare(txt, "1234567890"), "Later 7"); /* test regular deletion (i.e. with multiple pieces) */ ok(text_delete(txt, 8, 2) && compare(txt, "12345678"), "Deleting midway start"); @@ -303,6 +329,74 @@ ok(text_mark_get(txt, mof) == pos+delta, "Mark restored"); text_undo(txt); } + + text_snapshot(txt); + + /* Test branching of the revision tree: + * + * 0 -- 1 -- 2 -- 3 + * \ + * `-- 4 -- 5 -- 6 -- 7 + */ + typedef struct { + time_t state; + char data[8]; + } Rev; + + Rev revs[8]; + size_t rev = 0; + + for (size_t i = 0; i < LENGTH(revs)/2; i++) { + snprintf(revs[i].data, sizeof revs[i].data, "%zu", i); + ok(text_delete(txt, 0, text_size(txt)) && text_size(txt) == 0, "Delete everything %zu", i); + ok(insert(txt, 0, revs[i].data) && compare(txt, revs[i].data), "Creating state %zu", i); + revs[i].state = text_state(txt); + text_snapshot(txt); + rev = i; + } + + for (size_t i = 0; i < LENGTH(revs)/4; i++) { + rev--; + ok(text_undo(txt) != EPOS && compare(txt, revs[rev].data), "Undo to state %zu", rev); + } + + for (size_t i = LENGTH(revs)/2; i < LENGTH(revs); i++) { + snprintf(revs[i].data, sizeof revs[i].data, "%zu", i); + ok(text_delete(txt, 0, text_size(txt)) && text_size(txt) == 0, "Delete everything %zu", i); + ok(insert(txt, 0, revs[i].data) && compare(txt, revs[i].data), "Creating state %zu", i); + revs[i].state = text_state(txt); + text_snapshot(txt); + rev++; + } + + while (rev > 0) { + text_undo(txt); + rev--; + } + + ok(compare(txt, revs[0].data), "Undo along main branch to state 0"); + + for (size_t i = 1; i < LENGTH(revs); i++) { + ok(text_later(txt) != EPOS && compare(txt, revs[i].data), "Advance to state %zu", i); + } + + for (size_t i = 0; i < LENGTH(revs); i++) { + time_t state = revs[i].state; + ok(text_restore(txt, state) != EPOS && text_state(txt) == state, "Restore state %zu", i); + } + + for (size_t i = LENGTH(revs)-1; i > 0; i--) { + ok(text_earlier(txt) != EPOS && compare(txt, revs[i-1].data), "Revert to state %zu", i-1); + } + + for (size_t i = 1; i < LENGTH(revs)/2; i++) { + text_redo(txt); + } + + rev = LENGTH(revs)/2-1; + ok(compare(txt, revs[rev].data), "Redo along main branch to state %zu", rev); + ok(text_redo(txt) == EPOS, "End of main branch"); + text_free(txt); return exit_status(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/fuzz/Makefile new/vis-test-0.5/fuzz/Makefile --- old/vis-test-0.4/fuzz/Makefile 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/fuzz/Makefile 2020-11-19 08:45:46.000000000 +0100 @@ -4,7 +4,7 @@ CC = afl-gcc CFLAGS += -I. -I../.. -DBUFFER_SIZE=4 -DBLOCK_SIZE=4 -TEXT_SRC = ../../text.c ../../text-util.c ../../text-motions.c ../../text-objects.c ../../text-regex.c +TEXT_SRC = ../../text.c ../../text-common.c ../../text-io.c ../../text-iterator.c ../../text-util.c ../../text-motions.c ../../text-objects.c ../../text-regex.c ../../array.c test: $(ALL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/fuzz/text-fuzzer.c new/vis-test-0.5/fuzz/text-fuzzer.c --- old/vis-test-0.4/fuzz/text-fuzzer.c 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/fuzz/text-fuzzer.c 2020-11-19 08:45:46.000000000 +0100 @@ -5,6 +5,7 @@ #include <errno.h> #include <stdio.h> #include <unistd.h> +#include <inttypes.h> #include "fuzzer.h" #include "text.h" #include "text-util.h" @@ -18,6 +19,132 @@ static Mark mark = EMARK; +static char data[BUFSIZ]; + +static uint64_t bench(void) { + struct timespec ts; + + if (clock_gettime(CLOCK_MONOTONIC, &ts) == 0) + return (uint64_t)(ts.tv_sec * 1000000 + ts.tv_nsec / 1000); + else + return 0; +} + +static size_t pos_start(Text *txt) { + return 0; +} + +static size_t pos_middle(Text *txt) { + return text_size(txt) / 2; +} + +static size_t pos_end(Text *txt) { + return text_size(txt); +} + +static size_t pos_random(Text *txt) { + return rand() % (text_size(txt) + 1); +} + +static size_t pos_prev(Text *txt) { + static size_t pos = EPOS; + size_t max = text_size(txt); + if (pos > max) + pos = max; + return pos-- % (max + 1); +} + +static size_t pos_next(Text *txt) { + static size_t pos = 0; + return pos++ % (text_size(txt) + 1); +} + +static size_t pos_stripe(Text *txt) { + static size_t pos = 0; + return pos+=1024 % (text_size(txt) + 1); +} + +static enum CmdStatus bench_insert(Text *txt, size_t pos, const char *cmd) { + return text_insert(txt, pos, data, sizeof data); +} + +static enum CmdStatus bench_delete(Text *txt, size_t pos, const char *cmd) { + return text_delete(txt, pos, 1); +} + +static enum CmdStatus bench_replace(Text *txt, size_t pos, const char *cmd) { + text_delete(txt, pos, 1); + text_insert(txt, pos, "-", 1); + return CMD_OK; +} + +static enum CmdStatus bench_mark(Text *txt, size_t pos, const char *cmd) { + Mark mark = text_mark_set(txt, pos); + if (mark == EMARK) + return CMD_FAIL; + if (text_mark_get(txt, mark) != pos) + return CMD_FAIL; + return CMD_OK; +} + +static enum CmdStatus cmd_bench(Text *txt, const char *cmd) { + + static enum CmdStatus (*bench_cmd[])(Text*, size_t, const char*) = { + ['i'] = bench_insert, + ['d'] = bench_delete, + ['r'] = bench_replace, + ['m'] = bench_mark, + }; + + static size_t (*bench_pos[])(Text*) = { + ['^'] = pos_start, + ['|'] = pos_middle, + ['$'] = pos_end, + ['%'] = pos_random, + ['-'] = pos_prev, + ['+'] = pos_next, + ['~'] = pos_stripe, + }; + + if (!data[0]) { + // make `p` command output more readable + int len = snprintf(data, sizeof data, "[ ... %zu bytes ... ]\n", sizeof data); + memset(data+len, '\r', sizeof(data) - len); + } + + const char *params = cmd; + while (*params == ' ') + params++; + + size_t idx_cmd = params[0]; + if (idx_cmd >= LENGTH(bench_cmd) || !bench_cmd[idx_cmd]) { + puts("Invalid bench command"); + return CMD_ERR; + } + + for (params++; *params == ' '; params++); + + size_t idx_pos = params[0]; + if (idx_pos >= LENGTH(bench_pos) || !bench_pos[idx_pos]) { + puts("Invalid bench position"); + return CMD_ERR; + } + + size_t iter = 1; + sscanf(params+1, "%zu\n", &iter); + + for (size_t i = 1; i <= iter; i++) { + size_t pos = bench_pos[idx_pos](txt); + uint64_t s = bench(); + enum CmdStatus ret = bench_cmd[idx_cmd](txt, pos, NULL); + uint64_t e = bench(); + if (ret != CMD_OK) + return ret; + printf("%zu: %" PRIu64 "us\n", i, e-s); + } + return CMD_OK; +} + static enum CmdStatus cmd_insert(Text *txt, const char *cmd) { char data[BUFSIZ]; size_t pos; @@ -94,16 +221,37 @@ return rem == 0; } +static enum CmdStatus cmd_info(Text *txt, const char *cmd) { +#ifdef text_info + TextInfo info = text_info(txt); + printf("meta data: %zu\nblocks: %zu\ndata: %zu\nrevisions: %zu\n" + "changes: %zu\nchanges total: %zu\npieces: %zu\npieces total: %zu\n", + info.metadata, info.blocks, info.data, info.revisions, + info.changes, info.changes_total, info.pieces, info.pieces_total); +#endif + return CMD_OK; +} + +static enum CmdStatus cmd_dump(Text *txt, const char *cmd) { +#ifdef text_dump + text_dump(txt, stdout); +#endif + return CMD_OK; +} + static enum CmdStatus cmd_quit(Text *txt, const char *cmd) { return CMD_QUIT; } static Cmd commands[] = { + ['%'] = cmd_info, + ['@'] = cmd_dump, ['-'] = cmd_earlier, ['+'] = cmd_later, ['?'] = cmd_mark_get, ['='] = cmd_mark_set, ['#'] = cmd_size, + ['b'] = cmd_bench, ['d'] = cmd_delete, ['i'] = cmd_insert, ['p'] = cmd_print, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/sam/errors/filter.cmd new/vis-test-0.5/sam/errors/filter.cmd --- old/vis-test-0.4/sam/errors/filter.cmd 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/sam/errors/filter.cmd 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -1 | tr a-z A-Z && false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/sam/errors/filter.in new/vis-test-0.5/sam/errors/filter.in --- old/vis-test-0.4/sam/errors/filter.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/sam/errors/filter.in 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -Filter command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/sam/errors/filter.ref new/vis-test-0.5/sam/errors/filter.ref --- old/vis-test-0.4/sam/errors/filter.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/sam/errors/filter.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -Filter command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/sam/errors/pipe-in.cmd new/vis-test-0.5/sam/errors/pipe-in.cmd --- old/vis-test-0.4/sam/errors/pipe-in.cmd 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/sam/errors/pipe-in.cmd 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -1 < echo FAILED && false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/sam/errors/pipe-in.in new/vis-test-0.5/sam/errors/pipe-in.in --- old/vis-test-0.4/sam/errors/pipe-in.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/sam/errors/pipe-in.in 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -Pipe in command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/sam/errors/pipe-in.ref new/vis-test-0.5/sam/errors/pipe-in.ref --- old/vis-test-0.4/sam/errors/pipe-in.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/sam/errors/pipe-in.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -Pipe in command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/sam/test.sh new/vis-test-0.5/sam/test.sh --- old/vis-test-0.4/sam/test.sh 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/sam/test.sh 2020-11-19 08:45:46.000000000 +0100 @@ -3,6 +3,8 @@ NL=' ' +export LANG="en_US.UTF-8" + export VIS_PATH=. [ -z "$VIS" ] && VIS="../../vis" [ -z "$SAM" ] && SAM="sam" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vim/operators/swap/swap.in new/vis-test-0.5/vim/operators/swap/swap.in --- old/vis-test-0.4/vim/operators/swap/swap.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vim/operators/swap/swap.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -abc -abc -abc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vim/operators/swap/swap.keys new/vis-test-0.5/vim/operators/swap/swap.keys --- old/vis-test-0.4/vim/operators/swap/swap.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vim/operators/swap/swap.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -V~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vim/test.sh new/vis-test-0.5/vim/test.sh --- old/vis-test-0.4/vim/test.sh 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vim/test.sh 2020-11-19 08:45:46.000000000 +0100 @@ -10,6 +10,7 @@ TESTS_OK=0 TESTS_SKIP=0 +export LANG="en_US.UTF-8" export VIS_PATH=. if type "$VIM" >/dev/null 2>&1; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vim/text-objects/words-symbols.in new/vis-test-0.5/vim/text-objects/words-symbols.in --- old/vis-test-0.4/vim/text-objects/words-symbols.in 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vim/text-objects/words-symbols.in 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1,14 @@ +spaces: # +tabs: # +start: #== +middle: =#= +end: ==# +start: #bc +middle: a#b +end: ab# +start: ># < +middle: > # < +end: > #< +start: (_) +middle: (o_o) +end: (Oo_) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vim/text-objects/words-symbols.keys new/vis-test-0.5/vim/text-objects/words-symbols.keys --- old/vis-test-0.4/vim/text-objects/words-symbols.keys 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vim/text-objects/words-symbols.keys 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1,19 @@ +/#<Enter> +ciw|<Escape> +n. +n. +n. +n. +n. +n. +n. +nr<Space> +ciw|<Escape> +nr<Space> +ciw|<Escape> +nr<Space> +ciw|<Escape> +/_<Enter> +. +n. +n. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/errors/filter.in new/vis-test-0.5/vis/errors/filter.in --- old/vis-test-0.4/vis/errors/filter.in 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vis/errors/filter.in 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1 @@ +Filter command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/errors/filter.keys new/vis-test-0.5/vis/errors/filter.keys --- old/vis-test-0.4/vis/errors/filter.keys 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vis/errors/filter.keys 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1 @@ +:1 | tr a-z A-Z && false<Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/errors/filter.ref new/vis-test-0.5/vis/errors/filter.ref --- old/vis-test-0.4/vis/errors/filter.ref 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vis/errors/filter.ref 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1 @@ +Filter command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/errors/pipe-in.in new/vis-test-0.5/vis/errors/pipe-in.in --- old/vis-test-0.4/vis/errors/pipe-in.in 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vis/errors/pipe-in.in 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1 @@ +Pipe in command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/errors/pipe-in.keys new/vis-test-0.5/vis/errors/pipe-in.keys --- old/vis-test-0.4/vis/errors/pipe-in.keys 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vis/errors/pipe-in.keys 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1 @@ +:1 < echo FAILED && false<Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/errors/pipe-in.ref new/vis-test-0.5/vis/errors/pipe-in.ref --- old/vis-test-0.4/vis/errors/pipe-in.ref 1970-01-01 01:00:00.000000000 +0100 +++ new/vis-test-0.5/vis/errors/pipe-in.ref 2020-11-19 08:45:46.000000000 +0100 @@ -0,0 +1 @@ +Pipe in command failed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-intersect.in new/vis-test-0.5/vis/selections/combine-intersect.in --- old/vis-test-0.4/vis/selections/combine-intersect.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-intersect.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-intersect.keys new/vis-test-0.5/vis/selections/combine-intersect.keys --- old/vis-test-0.4/vis/selections/combine-intersect.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-intersect.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -:x/.*/ x/.$/ <Enter> -m <Escape><Escape> -:x/.*/ x/^./ <Enter> -z& -:i/|/ <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-intersect.ref new/vis-test-0.5/vis/selections/combine-intersect.ref --- old/vis-test-0.4/vis/selections/combine-intersect.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-intersect.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -|100 -101 -102 -103 -104 -105 -106 -107 -108 -109 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-leftmost.in new/vis-test-0.5/vis/selections/combine-leftmost.in --- old/vis-test-0.4/vis/selections/combine-leftmost.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-leftmost.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-leftmost.keys new/vis-test-0.5/vis/selections/combine-leftmost.keys --- old/vis-test-0.4/vis/selections/combine-leftmost.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-leftmost.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -:x/.*/ x/^./ <Enter> -m <Escape><Escape> -:x/.*/ x/.$/ <Enter> -z< -:{ i/[/ a/]/ } <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-leftmost.ref new/vis-test-0.5/vis/selections/combine-leftmost.ref --- old/vis-test-0.4/vis/selections/combine-leftmost.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-leftmost.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -[1]00 -[1]01 -[1]02 -[1]03 -[1]04 -[1]05 -[1]06 -[1]07 -[1]08 -[1]09 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-longer.in new/vis-test-0.5/vis/selections/combine-longer.in --- old/vis-test-0.4/vis/selections/combine-longer.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-longer.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-longer.keys new/vis-test-0.5/vis/selections/combine-longer.keys --- old/vis-test-0.4/vis/selections/combine-longer.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-longer.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -:x/.*/ x/./ g2 <Enter> -m <Escape><Escape> -:x/.*/ <Enter> -z+ -:{ i/[/ a/]/ } <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-longer.ref new/vis-test-0.5/vis/selections/combine-longer.ref --- old/vis-test-0.4/vis/selections/combine-longer.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-longer.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -[100] -[101] -[102] -[103] -[104] -[105] -[106] -[107] -[108] -[109] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-rightmost.in new/vis-test-0.5/vis/selections/combine-rightmost.in --- old/vis-test-0.4/vis/selections/combine-rightmost.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-rightmost.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-rightmost.keys new/vis-test-0.5/vis/selections/combine-rightmost.keys --- old/vis-test-0.4/vis/selections/combine-rightmost.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-rightmost.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -:x/.*/ x/^./ <Enter> -m <Escape><Escape> -:x/.*/ x/.$/ <Enter> -z> -:{ i/[/ a/]/ } <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-rightmost.ref new/vis-test-0.5/vis/selections/combine-rightmost.ref --- old/vis-test-0.4/vis/selections/combine-rightmost.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-rightmost.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -10[0] -10[1] -10[2] -10[3] -10[4] -10[5] -10[6] -10[7] -10[8] -10[9] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-shorter.in new/vis-test-0.5/vis/selections/combine-shorter.in --- old/vis-test-0.4/vis/selections/combine-shorter.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-shorter.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-shorter.keys new/vis-test-0.5/vis/selections/combine-shorter.keys --- old/vis-test-0.4/vis/selections/combine-shorter.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-shorter.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -:x/.*/ x/./ g2 <Enter> -m <Escape><Escape> -:x/.*/ <Enter> -z- -:{ i/[/ a/]/ } <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-shorter.ref new/vis-test-0.5/vis/selections/combine-shorter.ref --- old/vis-test-0.4/vis/selections/combine-shorter.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-shorter.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -1[0]0 -1[0]1 -1[0]2 -1[0]3 -1[0]4 -1[0]5 -1[0]6 -1[0]7 -1[0]8 -1[0]9 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-union.in new/vis-test-0.5/vis/selections/combine-union.in --- old/vis-test-0.4/vis/selections/combine-union.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-union.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-union.keys new/vis-test-0.5/vis/selections/combine-union.keys --- old/vis-test-0.4/vis/selections/combine-union.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-union.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -:x/.*/ x/^./ <Enter> -m <Escape><Escape> -:x/.*/ x/.$/ <Enter> -z| -:{ i/[/ a/]/ } <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/combine-union.ref new/vis-test-0.5/vis/selections/combine-union.ref --- old/vis-test-0.4/vis/selections/combine-union.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/combine-union.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -[100] -[101] -[102] -[103] -[104] -[105] -[106] -[107] -[108] -[109] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/complement-whole.keys new/vis-test-0.5/vis/selections/complement-whole.keys --- old/vis-test-0.4/vis/selections/complement-whole.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/complement-whole.keys 2020-11-19 08:45:46.000000000 +0100 @@ -1,3 +1,3 @@ :x <Enter> -! +~ :i/|/ <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/selections/complement.keys new/vis-test-0.5/vis/selections/complement.keys --- old/vis-test-0.4/vis/selections/complement.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/selections/complement.keys 2020-11-19 08:45:46.000000000 +0100 @@ -1,4 +1,4 @@ :x/.*/ x/./ g2 <Enter> -! +~ :y/\n/ <Enter> :v-1 { i/[/ a/]/ } <Enter> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/text-objects/entire.in new/vis-test-0.5/vis/text-objects/entire.in --- old/vis-test-0.4/vis/text-objects/entire.in 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/text-objects/entire.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ - - Heading - ------- - - 1. first - - 2. second - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/text-objects/entire.keys new/vis-test-0.5/vis/text-objects/entire.keys --- old/vis-test-0.4/vis/text-objects/entire.keys 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/text-objects/entire.keys 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ ->ie diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vis-test-0.4/vis/text-objects/entire.ref new/vis-test-0.5/vis/text-objects/entire.ref --- old/vis-test-0.4/vis/text-objects/entire.ref 2020-05-30 08:08:53.000000000 +0200 +++ new/vis-test-0.5/vis/text-objects/entire.ref 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ - - Heading - ------- - - 1. first - - 2. second - _______________________________________________ openSUSE Commits mailing list -- [email protected] To unsubscribe, email [email protected] List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/[email protected]
