I am wondering if the following is a bug or proper behavior?
It seems that one cannot color a binary white image if it is linear rather than sRGB
This works:
convert -size 100x100 xc:white -fill red -opaque white 2tmp1.jpg

These do not:
convert -size 100x100 xc:"gray(255)" -fill red -opaque white 2tmp2.jpg

convert -size 100x100 xc:"gray(255)" -fill red -opaque "gray(255)" 2tmp3.jpg

But this works:
convert -size 100x100 xc:"gray(255)" -set colorspace sRGB -fill red -opaque white 2tmp4.jpg

And so does this:
convert -size 100x100 xc:"gray(255)" -set colorspace RGB -fill red -opaque white 2tmp5.jpg

So it seems to work only if the image and the colors are in the same colorspace. So is this now just a color management issue?