patch 9.1.2052: Compile error when disabling linebreak feature

Commit: 
https://github.com/vim/vim/commit/a5b19603e4f3ca4340b215bc2e133f02e013cca9
Author: Matthias Rader <[email protected]>
Date:   Tue Jan 6 09:58:04 2026 +0000

    patch 9.1.2052: Compile error when disabling linebreak feature
    
    Problem:  Compile error when disabling linebreak feature
    Solution: Adjust ifdefs (Matthias Rader)
    
    When compiling with all features except for linebreak, there were some
    compiler errors. By slightly modifying some preprocessor conditions,
    compiling without the linebreak feature should work as expected.
    
    closes: #19068
    
    Signed-off-by: Matthias Rader <[email protected]>
    Signed-off-by: Christian Brabandt <[email protected]>

diff --git a/src/charset.c b/src/charset.c
index 829ad3720..74c5913ee 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -773,7 +773,7 @@ chartabsize(char_u *p, colnr_T col)
     RET_WIN_BUF_CHARTABSIZE(curwin, curbuf, p, col)
 }
 
-#if defined(FEAT_LINEBREAK)
+#if defined(FEAT_LINEBREAK) || defined(FEAT_PROP_POPUP)
     int
 win_chartabsize(win_T *wp, char_u *p, colnr_T col)
 {
@@ -1226,11 +1226,11 @@ win_lbr_chartabsize(
     win_T      *wp = cts->cts_win;
 #if defined(FEAT_PROP_POPUP) || defined(FEAT_LINEBREAK)
     char_u     *line = cts->cts_line; // start of the line
+    int                size;
 #endif
     char_u     *s = cts->cts_ptr;
     colnr_T    vcol = cts->cts_vcol;
 #ifdef FEAT_LINEBREAK
-    int                size;
     int                mb_added = 0;
     int                n;
     char_u     *sbr;
@@ -1269,20 +1269,23 @@ win_lbr_chartabsize(
      * First get the normal size, without 'linebreak' or text properties
      */
     size = win_chartabsize(wp, s, vcol);
+# ifdef FEAT_LINEBREAK
     if (*s == NUL)
     {
        // 1 cell for EOL list char (if present), as opposed to the two cell ^@
        // for a NUL character in the text.
        size = has_lcs_eol ? 1 : 0;
     }
-# ifdef FEAT_LINEBREAK
+
     int is_doublewidth = has_mbyte && size == 2 && MB_BYTE2LEN(*s) > 1;
 # endif
 
 # ifdef FEAT_PROP_POPUP
     if (cts->cts_has_prop_with_text)
     {
+#  ifdef FEAT_LINEBREAK
        int         tab_size = size;
+#  endif
        int         charlen = *s == NUL ? 1 : mb_ptr2len(s);
        int         i;
        int         col = (int)(s - line);
@@ -1338,6 +1341,7 @@ win_lbr_chartabsize(
                    else
                        size += cells;
                    cts->cts_start_incl = tp->tp_flags & TP_FLAG_START_INCL;
+#  ifdef FEAT_LINEBREAK
                    if (*s == TAB)
                    {
                        // tab size changes because of the inserted text
@@ -1345,6 +1349,7 @@ win_lbr_chartabsize(
                        tab_size = win_chartabsize(wp, s, vcol + size);
                        size += tab_size;
                    }
+#  endif
                    if (tp->tp_col == MAXCOL && (tp->tp_flags
                                & (TP_FLAG_ALIGN_ABOVE | TP_FLAG_ALIGN_BELOW)))
                        // count extra line for property above/below
@@ -1520,8 +1525,8 @@ win_lbr_chartabsize(
 #  ifdef FEAT_PROP_POPUP
     size += cts->cts_first_char;
 #  endif
-    return size;
 # endif
+    return size;
 #endif
 }
 
diff --git a/src/drawline.c b/src/drawline.c
index 5ad45c6c3..59d725d2a 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1755,7 +1755,7 @@ win_line(
     }
 #endif
 
-#if defined(FEAT_LINEBREAK) || defined(FEAT_PROP_POPUP)
+#if defined(FEAT_LINEBREAK) && defined(FEAT_PROP_POPUP)
     colnr_T vcol_first_char = 0;
     if (wp->w_p_lbr && number_only == 0)
     {
@@ -2775,7 +2775,9 @@ win_line(
                }
 
                wlv.extra_for_textprop = FALSE;
+# ifdef FEAT_LINEBREAK
                in_linebreak = FALSE;
+# endif
            }
 #endif
        }
diff --git a/src/optionstr.c b/src/optionstr.c
index 84f973442..153d2baa3 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -4035,6 +4035,7 @@ did_set_signcolumn(optset_T *args)
 {
     char_u     **varp = (char_u **)args->os_varp;
 
+#if defined(FEAT_LINEBREAK)
     if (check_opt_strings(*varp, p_scl_values, FALSE) != OK)
        return e_invalid_argument;
     // When changing the 'signcolumn' to or from 'number', recompute the
@@ -4043,6 +4044,7 @@ did_set_signcolumn(optset_T *args)
                || (*curwin->w_p_scl == 'n' && *(curwin->w_p_scl + 1) =='u'))
            && (curwin->w_p_nu || curwin->w_p_rnu))
        curwin->w_nrwidth_line_count = 0;
+#endif
 
     return NULL;
 }
diff --git a/src/sign.c b/src/sign.c
index 550bb25af..c90856812 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -1159,6 +1159,7 @@ sign_list_by_name(char_u *name)
 static void
 may_force_numberwidth_recompute(buf_T *buf, int unplace)
 {
+# if defined(FEAT_LINEBREAK)
     tabpage_T *tp = NULL;
     win_T *wp = NULL;
 
@@ -1169,6 +1170,7 @@ may_force_numberwidth_recompute(buf_T *buf, int unplace)
             (*wp->w_p_scl == 'n' && *(wp->w_p_scl + 1) == 'u'))
             wp->w_nrwidth_line_count = 0;
     }
+# endif
 }
 
 /*
diff --git a/src/version.c b/src/version.c
index ce0ef75de..f904ac16d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    2052,
 /**/
     2051,
 /**/

-- 
-- 
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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1vd3rF-00Gjb7-OB%40256bit.org.

Raspunde prin e-mail lui