patch 9.1.0059: No event triggered before creating a window
Problem: No event is triggered before creating a window.
(Sergey Vlasov)
Solution: Add the WinNewPre event (Sergey Vlasov)
fixes: #10635
closes: #12761
Signed-off-by: Sergey Vlasov <sergey@vlasov.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 1641361..5f9f51e 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 9.1. Last change: 2024 Jan 23
+*autocmd.txt* For Vim version 9.1. Last change: 2024 Jan 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -381,6 +381,7 @@
|CursorMoved| the cursor was moved in Normal mode
|CursorMovedI| the cursor was moved in Insert mode
+|WinNewPre| before creating a new window
|WinNew| after creating a new window
|TabNew| after creating a new tab page
|WinClosed| after closing a window
@@ -1390,6 +1391,18 @@
WinLeave autocommands (but not for ":new").
Not used for ":qa" or ":q" when exiting Vim.
+ *WinNewPre*
+WinNewPre Before creating a new window. Triggered
+ before commands that modify window layout by
+ creating a split or new tab page. Not done for
+ the first window, when Vim has just started.
+ It is not allowed to modify window layout
+ while executing commands for the WinNewPre
+ event.
+ Most useful to store current window layout
+ and compare it with the new layout after the
+ Window has been created.
+
*WinNew*
WinNew When a new window was created. Not done for
the first window, when Vim has just started.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 9a89916..ee6c0a9 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5785,6 +5785,7 @@
WinEnter autocmd.txt /*WinEnter*
WinLeave autocmd.txt /*WinLeave*
WinNew autocmd.txt /*WinNew*
+WinNewPre autocmd.txt /*WinNewPre*
WinResized autocmd.txt /*WinResized*
WinResized-event windows.txt /*WinResized-event*
WinScrolled autocmd.txt /*WinScrolled*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index c29ac2e..bb58597 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -4667,7 +4667,6 @@
Autocommands:
-9 Add WinNewPre - before creating a new window. #10635
9 When triggering WinNew provide the window ID somehow. #10633
9 Rework the code from FEAT_OSFILETYPE for autocmd-osfiletypes to use
'filetype'. Only for when the current buffer is known.