  				(drawDrag || (caretBlinkState && caretVisibleState))) {
  				bool canDrawBlockCaret = true;
  				bool drawBlockCaret = false;
-@@ -1663,7 +1663,8 @@
+@@ -1660,7 +1660,8 @@
  				if (xposCaret > 0)
  					caretWidthOffset = 0.51f;	// Move back so overlaps both character cells.
  				xposCaret += xStart;

 #define CARETSTYLE_INS_MASK 0xF
 #define CARETSTYLE_BLOCK_AFTER 0x100
 #define SCI_SETCARETSTYLE 2512
diff -r b800ec7cc345 -r 64286148d3fd include/Scintilla.iface
--- a/include/Scintilla.iface	Fri Oct 22 11:26:03 2021 +1100
+++ b/include/Scintilla.iface	Fri Oct 22 15:58:17 2021 +1100
@@ -2489,6 +2489,7 @@
 val CARETSTYLE_BLOCK=2
 val CARETSTYLE_OVERSTRIKE_BAR=0

 	const CaretStyle caretStyle = caret.style & CaretStyle::InsMask;
 	return (caretStyle <= CaretStyle::Block) ? static_cast<CaretShape>(caretStyle) : CaretShape::line;
 }
diff -r beeb51d2c645 src/ViewStyle.h
--- a/src/ViewStyle.h	Wed Sep 29 10:29:58 2021 +1000
+++ b/src/ViewStyle.h	Sun Oct 24 11:02:34 2021 -0400
@@ -235,9 +235,9 @@
 
 	enum class CaretShape { invisible, line, block, bar };
