Hi, Philip!
PCREPARTIAL documentation says:
If there are at least two slots in the offsets vector when a partial match is returned, the first slot is set to the offset of the earliest character that was inspected.
Some time ago there was no PCRE_INFO_MAXLOOKBEHIND parameter in PCRE. In those days PCRE only keeps offset of the earliest character that was inspected to help main application to decide what part of current segment is needed to keep (
http://www.exim.org/lurker/message/20090905.102602.086262ae.en.html).
Then the influence of lookbehind assertions was discovered. Thus "the offset of the earliest character that was inspected" can't longer satisfy. Thereat PCRE_INFO_MAXLOOKBEHIND was born to give appropriate instrument to main application.
But another thing was not take into consideration: PCRE_INFO_MAXLOOKBEHIND is suitable to correspond with last bumpalong offset, not with offset of the earliest character that was inspected. The former is unsuitable now.
So I propose to return in ovector's first slot the last bumpalong offset.
PS Finding English words is very hard for me due to my bad English. Sorry if I can't deliver my point of view clearly enough.
Thanx.