# This one cannot replace with an emoji because either the emoji is not
# selected at all ("neither"), or it is selected in both the `value` and `end`

`substr2_ctl<-`(emo.1, 4, 4, value = emo.0, type = "width", round = "stop")

`substr2_ctl<-`(emo.1, 4, 4, value = emo.0, type = "width", round = "neither")

`substr2_ctl<-`(emo.1, 4, 4, value = "#", type = "width")

# But we can replace with a regular 1-width character

`substr2_ctl<-`(emo.1, 4, 5, value = emo.0, type = "width")

# Or an emoji if it its fully in 'value'

# Test scooching where we fill in from back

`substr2_ctl<-`(x, 2, 4, value = emo.0, type = "width")

`substr2_ctl<-`(x, 2, 4, value = emo.0, type = "width", round = "stop")

`substr2_ctl<-`(x, 2, 5, value = emo.0, type = "width")

`substr2_ctl<-`(emo.1, 3, 4, value = emo.0, type = "width", round = "both")

`substr2_ctl<-`(emo.1, 4, 4, value = emo.0, type = "width", round = "both")

substr2_ctl(x, starts, stops, type = "width") <- b

# Replace in the middle of three emojis in a row (or should be five or more
# complexity).

emo.3 <- rep(paste0("👧🏿🧔🏿", emo.0), length(starts))

substr2_ctl(x0, starts, ends, type = "width") <- emo.4

substr2_ctl(x1, starts, ends, type = "width", round = "stop") <- emo.4

# Can't reduce size of replacement to fit

`substr2_ctl<-`(emo.7, 3, 3, type = "width", round = "stop", 
    value = emo.7a)

`substr2_ctl<-`(emo.7, 3, 3, type = "width", round = "stop", 
    value = "##")

`substr2_ctl<-`(emo.7a, 2, 1, type = "width", round = "both", 
    value = emo.7a)