Sentence object stops at non-spaced colons?

There seems to be something wrong with inner (<a-i>s) or outer (<a-a>) sentence selection in Kakoune. The sentence object stops at colons even when not followed by a space. For example, positioning the cursor on the letter, w in one.two.three and typing <a-i>s will select two., as if it were a sentence – which obviously it is not.

Could anyone on the list confirm? I am using the Kakoune binary available on Debian testing/unstable.

This happens to me as well. Sentences are harder than you think, since there may be truncated words that feature space after dot, like “Good day, Ms. Smith.”

Emacs by default expects that each sentence ends with two spaces after the dot

Yes, of course, there is the two-space (US) versus one-space convention after the dot that ends a sentence. If we follow some of the conventions in the US, dot + space may signal an abbreviation rather than sentence end.

But the problem here is that Kakoune stops at dot, even at dot + nonspace, which cannot be a sentence ending and cannot be an abbreviation either (even on the US convention). This just seems wrong to me. The stopping regex should not be:

[.;:!?]

but rather:

[.;:!?]\s

(where the space may be horizontal or vertical).

(By the way, the choice of end-of-sentence characters might be a Kakoune option worth considering; some users may want to exclude the semi-colon, for example – but this is another issue).

Addendum:

Actually, dot + space can also signal the end of an abbreviation (rather than sentence ending) in French, Spanish, Portuguese, etc. So stopping at dot + space will sometimes catch abbreviations rather than sentence endings, but this is better than stopping any dot, which catches a) sentence endings, b) abbreviations, c) the initial dot of ... [what we should catch is the last of the 3 dots, the one before the space], and d) any word with dots inside, such as email adresses and many standard functions in the R statistical language, etc.

2 Likes