diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-10-17 14:51:36 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-10-17 14:51:36 +0100 |
commit | e6a16e9950111adfcfdb85261b3d5a8c13f1d533 (patch) | |
tree | f141728d6063ba98710cba6ae009e0ab96be176f | |
parent | a1a46da87d91cfbf46866627b3e66a757145e8c3 (diff) | |
download | vim-git-e6a16e9950111adfcfdb85261b3d5a8c13f1d533.tar.gz |
patch 9.0.0781: workaround to rename "small" to "smallfont" is clumsyv9.0.0781
Problem: Workaround to rename "small" to "smallfont" is clumsy.
Solution: Undefine "small" after including windows.h. (Ken Takata)
-rw-r--r-- | src/libvterm/include/vterm.h | 2 | ||||
-rw-r--r-- | src/libvterm/src/pen.c | 12 | ||||
-rw-r--r-- | src/libvterm/src/rect.h | 12 | ||||
-rw-r--r-- | src/libvterm/src/screen.c | 10 | ||||
-rw-r--r-- | src/libvterm/src/vterm_internal.h | 2 | ||||
-rw-r--r-- | src/libvterm/t/harness.c | 12 | ||||
-rw-r--r-- | src/os_win32.h | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
8 files changed, 31 insertions, 25 deletions
diff --git a/src/libvterm/include/vterm.h b/src/libvterm/include/vterm.h index 85fb8e519..e5887c871 100644 --- 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 smallfont : 1; + unsigned int small : 1; unsigned int baseline : 2; } VTermScreenCellAttrs; diff --git a/src/libvterm/src/pen.c b/src/libvterm/src/pen.c index 03c7568c0..1c6cd4e48 100644 --- a/src/libvterm/src/pen.c +++ b/src/libvterm/src/pen.c @@ -181,7 +181,7 @@ INTERNAL void vterm_state_resetpen(VTermState *state) 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.smallfont = 0; setpenattr_bool(state, VTERM_ATTR_SMALL, 0); + state->pen.small = 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(VTermState *state, int save) 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.smallfont); + setpenattr_bool(state, VTERM_ATTR_SMALL, state->pen.small); 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(VTermState *state, const long args[], int argco case 73: // Superscript case 74: // Subscript case 75: // Superscript/subscript off - state->pen.smallfont = (arg != 75); + state->pen.small = (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.smallfont); + setpenattr_bool(state, VTERM_ATTR_SMALL, state->pen.small); setpenattr_int (state, VTERM_ATTR_BASELINE, state->pen.baseline); break; @@ -560,7 +560,7 @@ INTERNAL int vterm_state_getpen(VTermState *state, long args[], int argcount UNU argi = vterm_state_getpen_color(&state->pen.bg, argi, args, FALSE); - if(state->pen.smallfont) { + if(state->pen.small) { 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 VTermState *state, VTermAttr attr, VTermValue return 1; case VTERM_ATTR_SMALL: - val->boolean = state->pen.smallfont; + val->boolean = state->pen.small; return 1; case VTERM_ATTR_BASELINE: diff --git a/src/libvterm/src/rect.h b/src/libvterm/src/rect.h index 5cbf75afc..2114f24c1 100644 --- a/src/libvterm/src/rect.h +++ b/src/libvterm/src/rect.h @@ -35,13 +35,13 @@ static int rect_equal(VTermRect *a, VTermRect *b) (a->end_col == b->end_col); } -/* True if smallrect is contained entirely within big */ -static int rect_contains(VTermRect *big, VTermRect *smallrect) +/* True if small is contained entirely within big */ +static int rect_contains(VTermRect *big, VTermRect *small) { - 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; + 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; return 1; } diff --git a/src/libvterm/src/screen.c b/src/libvterm/src/screen.c index ecaadb883..069306ab9 100644 --- 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 smallfont : 1; + unsigned int small : 1; unsigned int baseline : 2; /* Extra state storage that isn't strictly pen-related */ @@ -446,7 +446,7 @@ static int setpenattr(VTermAttr attr, VTermValue *val, void *user) screen->pen.bg = val->color; return 1; case VTERM_ATTR_SMALL: - screen->pen.smallfont = val->boolean; + screen->pen.small = val->boolean; return 1; case VTERM_ATTR_BASELINE: screen->pen.baseline = val->number; @@ -700,7 +700,7 @@ static void resize_buffer(VTermScreen *screen, int bufidx, int new_rows, int new dst->pen.conceal = src->attrs.conceal; dst->pen.strike = src->attrs.strike; dst->pen.font = src->attrs.font; - dst->pen.smallfont = src->attrs.smallfont; + dst->pen.small = src->attrs.small; dst->pen.baseline = src->attrs.baseline; dst->pen.fg = src->fg; @@ -1014,7 +1014,7 @@ int vterm_screen_get_cell(const VTermScreen *screen, VTermPos pos, VTermScreenCe cell->attrs.conceal = intcell->pen.conceal; cell->attrs.strike = intcell->pen.strike; cell->attrs.font = intcell->pen.font; - cell->attrs.smallfont = intcell->pen.smallfont; + cell->attrs.small = intcell->pen.small; cell->attrs.baseline = intcell->pen.baseline; cell->attrs.dwl = intcell->pen.dwl; @@ -1158,7 +1158,7 @@ static int attrs_differ(VTermAttrMask attrs, ScreenCell *a, ScreenCell *b) 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.smallfont != b->pen.smallfont)) + if((attrs & VTERM_ATTR_SMALL_MASK) && (a->pen.small != b->pen.small)) 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 index d43eaa8f5..0e389d0b2 100644 --- 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 smallfont:1; + unsigned int small:1; unsigned int baseline:2; }; diff --git a/src/libvterm/t/harness.c b/src/libvterm/t/harness.c index 859503f63..d12c1205a 100644 --- 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 smallfont; + int small; int baseline; VTermColor foreground; VTermColor background; @@ -443,7 +443,7 @@ static int state_setpenattr(VTermAttr attr, VTermValue *val, void *user UNUSED) state_pen.font = val->number; break; case VTERM_ATTR_SMALL: - state_pen.smallfont = val->boolean; + state_pen.small = val->boolean; break; case VTERM_ATTR_BASELINE: state_pen.baseline = val->number; @@ -1015,11 +1015,11 @@ int main(int argc UNUSED, char **argv UNUSED) } else if(streq(linep, "small")) { vterm_state_get_penattr(state, VTERM_ATTR_SMALL, &val); - if(val.boolean != state_pen.smallfont) + if(val.boolean != state_pen.small) printf("! pen small mismatch; state=%s, event=%s\n", - BOOLSTR(val.boolean), BOOLSTR(state_pen.smallfont)); + BOOLSTR(val.boolean), BOOLSTR(state_pen.small)); else - printf("%s\n", BOOLSTR(state_pen.smallfont)); + printf("%s\n", BOOLSTR(state_pen.small)); } 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 UNUSED) 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.smallfont) printf("S"); + if(cell.attrs.small) printf("S"); if(cell.attrs.baseline) printf( cell.attrs.baseline == VTERM_BASELINE_RAISE ? "^" : "_"); diff --git a/src/os_win32.h b/src/os_win32.h index 3cc0f472a..7f9ee8d09 100644 --- a/src/os_win32.h +++ b/src/os_win32.h @@ -86,6 +86,10 @@ #endif #ifndef PROTO # include <windows.h> + +// Weird: rpcndr.h defines "small" to "char", which causes trouble +#undef small + # ifndef SM_CXPADDEDBORDER # define SM_CXPADDEDBORDER 92 # endif diff --git a/src/version.c b/src/version.c index 947f6531e..8d690ca4b 100644 --- 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 */ /**/ + 781, +/**/ 780, /**/ 779, |