Index: src/natools-string_slices.adb ================================================================== --- src/natools-string_slices.adb +++ src/natools-string_slices.adb @@ -30,13 +30,14 @@ end Is_In; function Is_Subrange (Sample, Reference : String_Range) return Boolean is begin - return Sample.First >= Reference.First - and then Sample.First + Sample.Length - <= Reference.First + Reference.Length; + return Sample.Length = 0 + or else (Sample.First >= Reference.First + and then Sample.First + Sample.Length + <= Reference.First + Reference.Length); end Is_Subrange; function Last (Self : String_Range) return Natural is begin