patch 9.1.0716: resetting setcellwidth() doesn't update the screen

Commit: 
https://github.com/vim/vim/commit/539e9b571ae2a80dfa8a42eb132ad9f65f0bbcbc
Author: Ken Takata <ken...@csc.jp>
Date:   Thu Sep 5 17:19:34 2024 +0200

    patch 9.1.0716: resetting setcellwidth() doesn't update the screen
    
    Problem:  resetting setcellwidth() doesn't update the screen
    Solution: Redraw after clearing the cellwidth table (Ken Takata)
    
    closes: #15628
    
    Signed-off-by: Ken Takata <ken...@csc.jp>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/mbyte.c b/src/mbyte.c
index d8c47acdd..fa67032a6 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -5644,7 +5644,7 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
        // Clearing the table.
        VIM_CLEAR(cw_table);
        cw_table_size = 0;
-       return;
+       goto done;
     }
 
     ptrs = ALLOC_MULT(listitem_T *, l->lv_len);
@@ -5756,6 +5756,7 @@ f_setcellwidths(typval_T *argvars, typval_T *rettv UNUSED)
     }
 
     vim_free(cw_table_save);
+done:
     changed_window_setting_all();
     redraw_all_later(UPD_CLEAR);
 }
diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim
index 0f46240db..0314fcdfd 100644
--- a/src/testdir/test_utf8.vim
+++ b/src/testdir/test_utf8.vim
@@ -228,6 +228,9 @@ func Test_setcellwidths()
     call setcellwidths([[0x2103, 0x2103, 2]])
     redraw
     call assert_equal(19, wincol())
+    call setcellwidths([])
+    redraw
+    call assert_equal((aw == 'single') ? 10 : 19, wincol())
   endfor
   set ambiwidth& isprint&
 
diff --git a/src/version.c b/src/version.c
index 536c1fb03..80da0e30a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    716,
 /**/
     715,
 /**/

-- 
-- 
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 vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1smEQz-00DjWm-Du%40256bit.org.

Raspunde prin e-mail lui