diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 57d4af8..e9f35e4 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 9.1.  Last change: 2024 Nov 24
+*options.txt*	For Vim version 9.1.  Last change: 2024 Nov 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7870,6 +7870,7 @@
 	All fields except the {item} are optional.  A single percent sign can
 	be given as "%%".
 
+							*stl-%!*
 	When the option starts with "%!" then it is used as an expression,
 	evaluated and the result is used as the option value.  Example: >
 		:set statusline=%!MyStatusLine()
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f339880..68465cc 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -10222,6 +10222,7 @@
 static-tag	tagsrch.txt	/*static-tag*
 status-line	windows.txt	/*status-line*
 statusmsg-variable	eval.txt	/*statusmsg-variable*
+stl-%!	options.txt	/*stl-%!*
 stl-%{	options.txt	/*stl-%{*
 str2float()	builtin.txt	/*str2float()*
 str2list()	builtin.txt	/*str2list()*
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index 10e13f8..04d1a92 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.1.  Last change: 2024 Nov 14
+*version9.txt*  For Vim version 9.1.  Last change: 2024 Nov 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -41607,6 +41607,8 @@
   started via |:Tutor|
 - improve the |vimtutor| and add a second chapter for more advanced tips
 - allow to pass local Vim script variables to python interpreter |py3eval()|
+- |getwininfo()| now also returns the "leftcol" property for a window
+- 'rulerformat' now supports the |stl-%!| item
 
 							*added-9.2*
 Added ~
diff --git a/src/optionstr.c b/src/optionstr.c
index 7c589e9..d7cb38a 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -3330,7 +3330,12 @@
 	if (wid && *s == '(' && (errmsg = check_stl_option(p_ruf)) == NULL)
 	    ru_wid = wid;
 	else
-	    errmsg = check_stl_option(p_ruf);
+	{
+	    // Validate the flags in 'rulerformat' only if it doesn't point to
+	    // a custom function ("%!" flag).
+	    if ((*varp)[1] != '!')
+		errmsg = check_stl_option(p_ruf);
+	}
     }
     // check 'statusline' or 'tabline' only if it doesn't start with "%!"
     else if (rulerformat || s[0] != '%' || s[1] != '!')
diff --git a/src/testdir/dumps/Test_rulerformat_function.dump b/src/testdir/dumps/Test_rulerformat_function.dump
new file mode 100644
index 0000000..a93fd32
--- /dev/null
+++ b/src/testdir/dumps/Test_rulerformat_function.dump
@@ -0,0 +1,2 @@
+> +0&#ffffff0@39
+@22|1|0|,|2|0| @8|3|0|%| 
diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim
index 9aec012..2fbce74 100644
--- a/src/testdir/test_cmdline.vim
+++ b/src/testdir/test_cmdline.vim
@@ -3867,6 +3867,27 @@
   call StopVimInTerminal(buf)
 endfunc
 
+" Test for using "%!" in 'rulerformat' to use a function
+func Test_rulerformat_function()
+  CheckScreendump
+
+  let lines =<< trim END
+    func TestRulerFn()
+      return '10,20%=30%%'
+    endfunc
+  END
+  call writefile(lines, 'Xrulerformat_function', 'D')
+
+  let buf = RunVimInTerminal('-S Xrulerformat_function', #{rows: 2, cols: 40})
+  call term_sendkeys(buf, ":set ruler rulerformat=%!TestRulerFn()\<CR>")
+  call term_sendkeys(buf, ":redraw!\<CR>")
+  call term_wait(buf)
+  call VerifyScreenDump(buf, 'Test_rulerformat_function', {})
+
+  " clean up
+  call StopVimInTerminal(buf)
+endfunc
+
 func Test_getcompletion_usercmd()
   command! -nargs=* -complete=command TestCompletion echo <q-args>
 
diff --git a/src/version.c b/src/version.c
index 2416ad1..243e348 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    890,
+/**/
     889,
 /**/
     888,
