R 1.1.1 on Windows, but I think this is widespread.
Using either
par(cex=0.5)
plot(1:10)
identify(1:10)
or
plot(1:10)
identify(1:10, cex=0.5)
ignores the cex setting. The root cause is that par(cex=0.5)
alters cexbase for the device but sets cex=1.0, and the internal
text plotting routines use cex and not cexbase.
The obvious fix is to set cex to cexbase in do_identify. However,
if this is fixed, there is another problem, The offset of the label
is related to the cex in use for the label, and not for the symbol.
So
plot(1:10, type="n")
points(1:10, cex=5)
identify(1:10)
is not sensible in placing the labels. That may be hard to anticipate,
but
plot(1:10)
identify(1:10, cex=0.5)
needs to use cex=1 not cex=0.5 for the adjustment. Perhaps identify is
trying too hard, and should give the user more control over the precise
position of the label (as S-PLUS does).