patch 9.1.1574: Dead code in mbyte.c

Commit: 
https://github.com/vim/vim/commit/b2013396d47d03309eb9e280c1e3f41b15b971f7
Author: Damien Lejay <dam...@lejay.be>
Date:   Mon Jul 21 20:25:33 2025 +0200

    patch 9.1.1574: Dead code in mbyte.c
    
    Problem:  Dead code in mbyte.c
    Solution: Delete the dead wcwidth()/iswprint() code
              (Damien Lejay)
    
    These library calls have been disabled since patch 6.2.446 (2002) due to
    display issues with Hebrew. They are also non-portable: wcwidth() is a
    POSIX function and not available on MSVC or other non-POSIX platforms.
    Keeping this code path adds complexity without benefit.
    
    closes: #17811
    
    Signed-off-by: Damien Lejay <dam...@lejay.be>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/mbyte.c b/src/mbyte.c
index cc8d628ed..325527725 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -120,14 +120,6 @@
 # include <wchar.h>
 #endif
 
-#if 0
-// This has been disabled, because several people reported problems with the
-// wcwidth() and iswprint() library functions, esp. for Hebrew.
-# ifdef __STDC_ISO_10646__
-#  define USE_WCHAR_FUNCTIONS
-# endif
-#endif
-
 static int dbcs_char2len(int c);
 static int dbcs_char2bytes(int c, char_u *buf);
 static int dbcs_ptr2len(char_u *p);
@@ -1593,11 +1585,7 @@ utf_char2cells(int c)
 #ifdef FEAT_EVAL
     // Use the value from setcellwidths() at 0x80 and higher, unless the
     // character is not printable.
-    if (c >= 0x80 &&
-# ifdef USE_WCHAR_FUNCTIONS
-           wcwidth(c) >= 1 &&
-# endif
-           vim_isprintc(c))
+    if (c >= 0x80 && vim_isprintc(c))
     {
        int n = cw_value(c);
        if (n != 0)
@@ -1607,25 +1595,10 @@ utf_char2cells(int c)
 
     if (c >= 0x100)
     {
-#ifdef USE_WCHAR_FUNCTIONS
-       int     n;
-
-       /*
-        * Assume the library function wcwidth() works better than our own
-        * stuff.  It should return 1 for ambiguous width chars!
-        */
-       n = wcwidth(c);
-
-       if (n < 0)
-           return 6;           // unprintable, displays <xxxx>
-       if (n > 1)
-           return n;
-#else
        if (!utf_printable(c))
            return 6;           // unprintable, displays <xxxx>
        if (intable(doublewidth, sizeof(doublewidth), c))
            return 2;
-#endif
        if (p_emoji && intable(emoji_wide, sizeof(emoji_wide), c))
            return 2;
     }
@@ -2712,12 +2685,6 @@ utf_iscomposing(int c)
     int
 utf_printable(int c)
 {
-#ifdef USE_WCHAR_FUNCTIONS
-    /*
-     * Assume the iswprint() library function works better than our own stuff.
-     */
-    return iswprint(c);
-#else
     // Sorted list of non-overlapping intervals.
     // 0xd800-0xdfff is reserved for UTF-16, actually illegal.
     static struct interval nonprint[] =
@@ -2728,7 +2695,6 @@ utf_printable(int c)
     };
 
     return !intable(nonprint, sizeof(nonprint), c);
-#endif
 }
 
 // Sorted list of non-overlapping intervals of all Emoji characters,
diff --git a/src/version.c b/src/version.c
index 251b4decb..f90728701 100644
--- a/src/version.c
+++ b/src/version.c
@@ -719,6 +719,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1574,
 /**/
     1573,
 /**/

-- 
-- 
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 visit 
https://groups.google.com/d/msgid/vim_dev/E1udvH4-0024h8-6Z%40256bit.org.

Raspunde prin e-mail lui