Appends length chars from s starting at index from

var b = new Buffer
b.append_substring("abcde", 1, 2)
assert b == "bc"
b.append_substring("vwxyz", 2, 3)
assert b == "bcxyz"
b.append_substring("ABCDE", 4, 300)
assert b == "bcxyzE"
b.append_substring("VWXYZ", 400, 1)
assert b == "bcxyzE"

Property definitions

core $ Buffer :: append_substring
	# Appends `length` chars from `s` starting at index `from`
	#
	# ~~~
	# var b = new Buffer
	# b.append_substring("abcde", 1, 2)
	# assert b == "bc"
	# b.append_substring("vwxyz", 2, 3)
	# assert b == "bcxyz"
	# b.append_substring("ABCDE", 4, 300)
	# assert b == "bcxyzE"
	# b.append_substring("VWXYZ", 400, 1)
	# assert b == "bcxyzE"
	# ~~~
	fun append_substring(s: Text, from, length: Int) do
		if from < 0 then
			length += from
			from = 0
		end
		var ln = s.length
		if (length + from) > ln then length = ln - from
		if length <= 0 then return
		append_substring_impl(s, from, length)
	end
lib/core/text/abstract_text.nit:1690,2--1712,4