diff --git a/doc/ext_ffi_semantics.html b/doc/ext_ffi_semantics.html
index aff7e162..ab394742 100644
--- a/doc/ext_ffi_semantics.html
+++ b/doc/ext_ffi_semantics.html
@@ -461,8 +461,8 @@ when a single initializer is given. Otherwise they are treated like
regular arrays.
Aggregate types (arrays and structs) accept either a single
-table initializer or a flat list of initializers.
-Byte arrays can be initialized with a Lua string, too.
+table initializer or a flat list of
+initializers.
The elements of an array are initialized, starting at index zero.
If a single initializer is given for an array, it's repeated for all
@@ -470,6 +470,10 @@ remaining elements. This doesn't happen if two or more initializers
are given: all remaining uninitialized elements are filled with zero
bytes.
+Byte arrays may also be initialized with a Lua string. This copies
+the whole string plus a terminating zero-byte. The copy stops early only
+if the array has a known, fixed size.
+
The fields of a struct are initialized in the order of
their declaration. Uninitialized fields are filled with zero
bytes.