summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-10-17 14:51:36 +0100
committerBram Moolenaar <Bram@vim.org>2022-10-17 14:51:36 +0100
commite6a16e9950111adfcfdb85261b3d5a8c13f1d533 (patch)
treef141728d6063ba98710cba6ae009e0ab96be176f
parenta1a46da87d91cfbf46866627b3e66a757145e8c3 (diff)
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.h2
-rw-r--r--src/libvterm/src/pen.c12
-rw-r--r--src/libvterm/src/rect.h12
-rw-r--r--src/libvterm/src/screen.c10
-rw-r--r--src/libvterm/src/vterm_internal.h2
-rw-r--r--src/libvterm/t/harness.c12
-rw-r--r--src/os_win32.h4
-rw-r--r--src/version.c2
8 files changed, 31 insertions, 25 deletions
diff --git a/src/libvterm/include/vterm.h b/src/libvterm/include/vterm.h
index 85fb8e519f..e5887c8714 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 03c7568c0b..1c6cd4e488 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 5cbf75afcf..2114f24c1b 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 ecaadb8839..069306ab95 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 d43eaa8f54..0e389d0b26 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 859503f63f..d12c1205ad 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 3cc0f472a5..7f9ee8d09c 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 947f6531e4..8d690ca4b6 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,