patch 9.0.1686: undotree() only works for the current buffer
Problem: undotree() only works for the current buffer
Solution: Add an optional "buffer number" parameter to undotree(). If
omitted, use the current buffer for backwards compatibility.
closes: #4001
closes: #12292
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Devin J. Pohly <djpohly@gmail.com>
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 34f76d6..e74b397 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -707,7 +707,7 @@
type({expr}) Number type of value {expr}
typename({expr}) String representation of the type of {expr}
undofile({name}) String undo file name for {name}
-undotree() List undo file tree
+undotree([{buf}]) List undo file tree for buffer {buf}
uniq({list} [, {func} [, {dict}]])
List remove adjacent duplicates from a list
utf16idx({string}, {idx} [, {countcc} [, {charidx}]])
@@ -10073,9 +10073,10 @@
Can also be used as a |method|: >
GetFilename()->undofile()
-undotree() *undotree()*
- Return the current state of the undo tree in a dictionary with
- the following items:
+undotree([{buf}]) *undotree()*
+ Return the current state of the undo tree for the current
+ buffer, or for a specific buffer if {buf} is given. The
+ result is a dictionary with the following items:
"seq_last" The highest undo sequence number used.
"seq_cur" The sequence number of the current position in
the undo tree. This differs from "seq_last"
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 60903f9..93c19b5 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -5535,7 +5535,6 @@
- Undo history wrong when ":next file" re-uses a buffer. (#5426) ex_next()
should pass flag to do_argfile(), then to do_ecmd(). Is there a test for
this?
-- Add buffer argument to undotree(). (#4001)
- Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
- Undo message is not always properly displayed. Patch by Ken Takata, 2013
oct 3. Doesn't work properly according to Yukihiro Nakadaira.
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 2d6792a..2112fbb 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1373,7 +1373,7 @@
libcallnr() idem, returning a number
undofile() get the name of the undo file
- undotree() return the state of the undo tree
+ undotree() return the state of the undo tree for a buffer
shiftwidth() effective value of 'shiftwidth'