summaryrefslogtreecommitdiff
path: root/lang/modula-3-lib/files/patch-bn
diff options
context:
space:
mode:
Diffstat (limited to 'lang/modula-3-lib/files/patch-bn')
-rw-r--r--lang/modula-3-lib/files/patch-bn24
1 files changed, 24 insertions, 0 deletions
diff --git a/lang/modula-3-lib/files/patch-bn b/lang/modula-3-lib/files/patch-bn
new file mode 100644
index 000000000000..5d015c1ee017
--- /dev/null
+++ b/lang/modula-3-lib/files/patch-bn
@@ -0,0 +1,24 @@
+This fixes a bug which can result in a value out of range error if the
+cursor is at the beginning of a TextPort and the DeleteToStartOfLine
+procedure is invoked.
+
+This patch has been sent to SRC.
+
+Index: m3/vbtkit/src/etext/TextPortClass.m3
+--- TextPortClass.m3- Mon Jan 30 14:34:34 1995
++++ TextPortClass.m3 Thu May 8 17:20:58 1997
+@@ -271,8 +271,12 @@
+ left := MTextUnit.StartOfLine (v.vtext.mtext, here);
+ BEGIN
+ IF here = left THEN
+- (* We're already at the start of line; delete one char. *)
+- RETURN v.replace (here - 1, here, "")
++ (* Already at the start of line; delete preceding newline if any. *)
++ IF here > 0 THEN
++ RETURN v.replace (here - 1, here, "")
++ ELSE
++ RETURN NotFound
++ END
+ ELSE
+ RETURN v.replace (left, here, "")
+ END