diff --git a/app/src/processing/app/syntax/JEditTextArea.java b/app/src/processing/app/syntax/JEditTextArea.java
index 5ff98c478..49cc203c3 100644
--- a/app/src/processing/app/syntax/JEditTextArea.java
+++ b/app/src/processing/app/syntax/JEditTextArea.java
@@ -1400,11 +1400,30 @@ public class JEditTextArea extends JComponent
* just as we're doing by drawing individual characters in the
* TextAreaPainter class.
*
+ * #447,
* #226,
* #194,
* and Sam's 103
*/
+ static int getTabbedTextWidth(Segment s,
+ FontMetrics metrics, int x,
+ TabExpander e, int startOffset) {
+ int nextX = x;
+ char[] txt = s.array;
+ int txtOffset = s.offset;
+ int n = s.offset + s.count;
+
+ for (int i = txtOffset; i < n; i++) {
+ if (txt[i] == '\t' && e != null) {
+ nextX = (int) e.nextTabStop(nextX, startOffset + i - txtOffset);
+ continue;
+ }
+ nextX += metrics.charWidth(txt[i]);
+ }
+ return nextX - x;
+ }
+/*
static int getTabbedTextWidth(Segment s,
FontMetrics metrics, int x,
TabExpander e, int startOffset) {
@@ -1457,6 +1476,7 @@ public class JEditTextArea extends JComponent
// return (int) (nextX - x); // nextX was a float, this was returning a float [fry 220128]
return nextX - x;
}
+*/
protected void setNewSelectionWord( int line, int offset )