On 15-Feb-15, Bram Moolenaar wrote:
> If you have some time, it's always good to have a test that checks the
> problem is fixed.
This did not seem to fit well into any existing test. So I wrote a
test_marks.in, which can also be a place to add more tests for marks.
diff -r eaf81729ef02 src/Makefile
--- a/src/Makefile Tue Feb 10 20:03:46 2015 +0100
+++ b/src/Makefile Tue Feb 17 06:40:57 2015 +0100
@@ -1902,6 +1902,7 @@
test_listlbr \
test_listlbr_utf8 \
test_mapping \
+ test_marks \
test_options \
test_qf_title \
test_signs \
diff -r eaf81729ef02 src/testdir/Make_amiga.mak
--- a/src/testdir/Make_amiga.mak Tue Feb 10 20:03:46 2015 +0100
+++ b/src/testdir/Make_amiga.mak Tue Feb 17 06:40:57 2015 +0100
@@ -48,6 +48,7 @@
test_listlbr.out \
test_listlbr_utf8.out \
test_mapping.out \
+ test_marks.out \
test_nested_function.out \
test_options.out \
test_qf_title.out \
@@ -188,6 +189,7 @@
test_listlbr.out: test_listlbr.in
test_listlbr_utf8.out: test_listlbr_utf8.in
test_mapping.out: test_mapping.in
+test_marks.out: test_marks.in
test_nested_function.out: test_nested_function.in
test_options.out: test_options.in
test_qf_title.out: test_qf_title.in
diff -r eaf81729ef02 src/testdir/Make_dos.mak
--- a/src/testdir/Make_dos.mak Tue Feb 10 20:03:46 2015 +0100
+++ b/src/testdir/Make_dos.mak Tue Feb 17 06:40:57 2015 +0100
@@ -47,6 +47,7 @@
test_listlbr.out \
test_listlbr_utf8.out \
test_mapping.out \
+ test_marks.out \
test_nested_function.out \
test_options.out \
test_qf_title.out \
diff -r eaf81729ef02 src/testdir/Make_ming.mak
--- a/src/testdir/Make_ming.mak Tue Feb 10 20:03:46 2015 +0100
+++ b/src/testdir/Make_ming.mak Tue Feb 17 06:40:57 2015 +0100
@@ -69,6 +69,7 @@
test_listlbr.out \
test_listlbr_utf8.out \
test_mapping.out \
+ test_marks.out \
test_nested_function.out \
test_options.out \
test_qf_title.out \
diff -r eaf81729ef02 src/testdir/Make_os2.mak
--- a/src/testdir/Make_os2.mak Tue Feb 10 20:03:46 2015 +0100
+++ b/src/testdir/Make_os2.mak Tue Feb 17 06:40:57 2015 +0100
@@ -49,6 +49,7 @@
test_listlbr.out \
test_listlbr_utf8.out \
test_mapping.out \
+ test_marks.out \
test_nested_function.out \
test_options.out \
test_qf_title.out \
diff -r eaf81729ef02 src/testdir/Make_vms.mms
--- a/src/testdir/Make_vms.mms Tue Feb 10 20:03:46 2015 +0100
+++ b/src/testdir/Make_vms.mms Tue Feb 17 06:40:57 2015 +0100
@@ -108,6 +108,7 @@
test_listlbr.out \
test_listlbr_utf8.out \
test_mapping.out \
+ test_marks.out \
test_nested_function.out \
test_options.out \
test_qf_title.out \
diff -r eaf81729ef02 src/testdir/Makefile
--- a/src/testdir/Makefile Tue Feb 10 20:03:46 2015 +0100
+++ b/src/testdir/Makefile Tue Feb 17 06:40:57 2015 +0100
@@ -45,6 +45,7 @@
test_listlbr.out \
test_listlbr_utf8.out \
test_mapping.out \
+ test_marks.out \
test_nested_function.out \
test_options.out \
test_qf_title.out \
diff -r eaf81729ef02 src/testdir/test_marks.in
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/testdir/test_marks.in Tue Feb 17 06:40:57 2015 +0100
@@ -0,0 +1,18 @@
+Tests for marks.
+
+STARTTEST
+:so small.vim
+:" test that a deleted mark is restored after delete-undo-redo-undo
+:/^\t/+1
+:set nocp viminfo+=nviminfo
+maddu u
+:let a = string(getpos("'a"))
+:$put ='Mark after delete-undo-redo-undo: '.a
+:/^\t/,$wq! test.out
+ENDTEST
+
+ textline A
+ textline B
+ textline C
+
+Results:
diff -r eaf81729ef02 src/testdir/test_marks.ok
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/testdir/test_marks.ok Tue Feb 17 06:40:57 2015 +0100
@@ -0,0 +1,6 @@
+ textline A
+ textline B
+ textline C
+
+Results:
+Mark after delete-undo-redo-undo: [0, 15, 2, 0]
diff -r eaf81729ef02 src/undo.c
--- a/src/undo.c Tue Feb 10 20:03:46 2015 +0100
+++ b/src/undo.c Tue Feb 17 06:40:57 2015 +0100
@@ -2847,11 +2847,14 @@
* restore marks from before undo/redo
*/
for (i = 0; i < NMARKS; ++i)
+ {
if (curhead->uh_namedm[i].lnum != 0)
- {
curbuf->b_namedm[i] = curhead->uh_namedm[i];
+ if (namedm[i].lnum != 0)
curhead->uh_namedm[i] = namedm[i];
- }
+ else
+ curhead->uh_namedm[i].lnum = 0;
+ }
if (curhead->uh_visual.vi_start.lnum != 0)
{
curbuf->b_visual = curhead->uh_visual;
--
Olaf Dabrunz <oda <at> fctrace.org>
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.