# HG changeset patch # User Bram Moolenaar # Date 1665948606 -7200 # Node ID ac9464a32606bf1f9536939bf0c66e7128c108f6 # Parent b313ec8b150cf1b7f2309b2402715bbd68c31794 patch 9.0.0776: MSVC can't have field name "small" Commit: https://github.com/vim/vim/commit/9d8620b519a84983bc8c24cb6c302f4d6b55a6c0 Author: Bram Moolenaar Date: Sun Oct 16 20:24:16 2022 +0100 patch 9.0.0776: MSVC can't have field name "small" Problem: MSVC can't have field name "small". Solution: Rename small to smallfont. diff --git a/src/libvterm/include/vterm.h b/src/libvterm/include/vterm.h --- a/src/libvterm/include/vterm.h +++ b/src/libvterm/include/vterm.h @@ -528,7 +528,7 @@ typedef struct { unsigned int font : 4; /* 0 to 9 */ unsigned int dwl : 1; /* On a DECDWL or DECDHL line */ unsigned int dhl : 2; /* On a DECDHL line (1=top 2=bottom) */ - unsigned int small : 1; + unsigned int smallfont : 1; unsigned int baseline : 2; } VTermScreenCellAttrs; diff --git a/src/libvterm/src/pen.c b/src/libvterm/src/pen.c --- a/src/libvterm/src/pen.c +++ b/src/libvterm/src/pen.c @@ -181,7 +181,7 @@ INTERNAL void vterm_state_resetpen(VTerm state->pen.conceal = 0; setpenattr_bool(state, VTERM_ATTR_CONCEAL, 0); state->pen.strike = 0; setpenattr_bool(state, VTERM_ATTR_STRIKE, 0); state->pen.font = 0; setpenattr_int (state, VTERM_ATTR_FONT, 0); - state->pen.small = 0; setpenattr_bool(state, VTERM_ATTR_SMALL, 0); + state->pen.smallfont = 0; setpenattr_bool(state, VTERM_ATTR_SMALL, 0); state->pen.baseline = 0; setpenattr_int (state, VTERM_ATTR_BASELINE, 0); state->pen.fg = state->default_fg; setpenattr_col(state, VTERM_ATTR_FOREGROUND, state->default_fg); @@ -204,7 +204,7 @@ INTERNAL void vterm_state_savepen(VTermS setpenattr_bool(state, VTERM_ATTR_CONCEAL, state->pen.conceal); setpenattr_bool(state, VTERM_ATTR_STRIKE, state->pen.strike); setpenattr_int (state, VTERM_ATTR_FONT, state->pen.font); - setpenattr_bool(state, VTERM_ATTR_SMALL, state->pen.small); + setpenattr_bool(state, VTERM_ATTR_SMALL, state->pen.smallfont); setpenattr_int (state, VTERM_ATTR_BASELINE, state->pen.baseline); setpenattr_col( state, VTERM_ATTR_FOREGROUND, state->pen.fg); @@ -454,12 +454,12 @@ INTERNAL void vterm_state_setpen(VTermSt case 73: // Superscript case 74: // Subscript case 75: // Superscript/subscript off - state->pen.small = (arg != 75); + state->pen.smallfont = (arg != 75); state->pen.baseline = (arg == 73) ? VTERM_BASELINE_RAISE : (arg == 74) ? VTERM_BASELINE_LOWER : VTERM_BASELINE_NORMAL; - setpenattr_bool(state, VTERM_ATTR_SMALL, state->pen.small); + setpenattr_bool(state, VTERM_ATTR_SMALL, state->pen.smallfont); setpenattr_int (state, VTERM_ATTR_BASELINE, state->pen.baseline); break; @@ -560,7 +560,7 @@ INTERNAL int vterm_state_getpen(VTermSta argi = vterm_state_getpen_color(&state->pen.bg, argi, args, FALSE); - if(state->pen.small) { + if(state->pen.smallfont) { if(state->pen.baseline == VTERM_BASELINE_RAISE) args[argi++] = 73; else if(state->pen.baseline == VTERM_BASELINE_LOWER) @@ -614,7 +614,7 @@ int vterm_state_get_penattr(const VTermS return 1; case VTERM_ATTR_SMALL: - val->boolean = state->pen.small; + val->boolean = state->pen.smallfont; return 1; case VTERM_ATTR_BASELINE: diff --git a/src/libvterm/src/rect.h b/src/libvterm/src/rect.h --- a/src/libvterm/src/rect.h +++ b/src/libvterm/src/rect.h @@ -35,13 +35,13 @@ static int rect_equal(VTermRect *a, VTer (a->end_col == b->end_col); } -/* True if small is contained entirely within big */ -static int rect_contains(VTermRect *big, VTermRect *small) +/* True if smallrect is contained entirely within big */ +static int rect_contains(VTermRect *big, VTermRect *smallrect) { - if(small->start_row < big->start_row) return 0; - if(small->start_col < big->start_col) return 0; - if(small->end_row > big->end_row) return 0; - if(small->end_col > big->end_col) return 0; + if(smallrect->start_row < big->start_row) return 0; + if(smallrect->start_col < big->start_col) return 0; + if(smallrect->end_row > big->end_row) return 0; + if(smallrect->end_col > big->end_col) return 0; return 1; } diff --git a/src/libvterm/src/screen.c b/src/libvterm/src/screen.c --- a/src/libvterm/src/screen.c +++ b/src/libvterm/src/screen.c @@ -26,7 +26,7 @@ typedef struct unsigned int conceal : 1; unsigned int strike : 1; unsigned int font : 4; /* 0 to 9 */ - unsigned int small : 1; + unsigned int smallfont : 1; unsigned int baseline : 2; /* Extra state storage that isn't strictly pen-related */ @@ -446,7 +446,7 @@ static int setpenattr(VTermAttr attr, VT screen->pen.bg = val->color; return 1; case VTERM_ATTR_SMALL: - screen->pen.small = val->boolean; + screen->pen.smallfont = val->boolean; return 1; case VTERM_ATTR_BASELINE: screen->pen.baseline = val->number; @@ -700,7 +700,7 @@ static void resize_buffer(VTermScreen *s dst->pen.conceal = src->attrs.conceal; dst->pen.strike = src->attrs.strike; dst->pen.font = src->attrs.font; - dst->pen.small = src->attrs.small; + dst->pen.smallfont = src->attrs.smallfont; dst->pen.baseline = src->attrs.baseline; dst->pen.fg = src->fg; @@ -1014,7 +1014,7 @@ int vterm_screen_get_cell(const VTermScr cell->attrs.conceal = intcell->pen.conceal; cell->attrs.strike = intcell->pen.strike; cell->attrs.font = intcell->pen.font; - cell->attrs.small = intcell->pen.small; + cell->attrs.smallfont = intcell->pen.smallfont; cell->attrs.baseline = intcell->pen.baseline; cell->attrs.dwl = intcell->pen.dwl; @@ -1158,7 +1158,7 @@ static int attrs_differ(VTermAttrMask at return 1; if((attrs & VTERM_ATTR_BACKGROUND_MASK) && !vterm_color_is_equal(&a->pen.bg, &b->pen.bg)) return 1; - if((attrs & VTERM_ATTR_SMALL_MASK) && (a->pen.small != b->pen.small)) + if((attrs & VTERM_ATTR_SMALL_MASK) && (a->pen.smallfont != b->pen.smallfont)) return 1; if((attrs & VTERM_ATTR_BASELINE_MASK) && (a->pen.baseline != b->pen.baseline)) return 1; diff --git a/src/libvterm/src/vterm_internal.h b/src/libvterm/src/vterm_internal.h --- a/src/libvterm/src/vterm_internal.h +++ b/src/libvterm/src/vterm_internal.h @@ -60,7 +60,7 @@ struct VTermPen unsigned int conceal:1; unsigned int strike:1; unsigned int font:4; /* To store 0-9 */ - unsigned int small:1; + unsigned int smallfont:1; unsigned int baseline:2; }; diff --git a/src/libvterm/t/harness.c b/src/libvterm/t/harness.c --- a/src/libvterm/t/harness.c +++ b/src/libvterm/t/harness.c @@ -410,7 +410,7 @@ static struct { int conceal; int strike; int font; - int small; + int smallfont; int baseline; VTermColor foreground; VTermColor background; @@ -443,7 +443,7 @@ static int state_setpenattr(VTermAttr at state_pen.font = val->number; break; case VTERM_ATTR_SMALL: - state_pen.small = val->boolean; + state_pen.smallfont = val->boolean; break; case VTERM_ATTR_BASELINE: state_pen.baseline = val->number; @@ -1015,11 +1015,11 @@ int main(int argc UNUSED, char **argv UN } else if(streq(linep, "small")) { vterm_state_get_penattr(state, VTERM_ATTR_SMALL, &val); - if(val.boolean != state_pen.small) + if(val.boolean != state_pen.smallfont) printf("! pen small mismatch; state=%s, event=%s\n", - BOOLSTR(val.boolean), BOOLSTR(state_pen.small)); + BOOLSTR(val.boolean), BOOLSTR(state_pen.smallfont)); else - printf("%s\n", BOOLSTR(state_pen.small)); + printf("%s\n", BOOLSTR(state_pen.smallfont)); } else if(streq(linep, "baseline")) { vterm_state_get_penattr(state, VTERM_ATTR_BASELINE, &val); @@ -1160,7 +1160,7 @@ int main(int argc UNUSED, char **argv UN if(cell.attrs.blink) printf("K"); if(cell.attrs.reverse) printf("R"); if(cell.attrs.font) printf("F%d", cell.attrs.font); - if(cell.attrs.small) printf("S"); + if(cell.attrs.smallfont) printf("S"); if(cell.attrs.baseline) printf( cell.attrs.baseline == VTERM_BASELINE_RAISE ? "^" : "_"); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 776, +/**/ 775, /**/ 774,