If a write trace is set on a textvariable for a entry widget, an error in this proc will not call bgerror and will be discarder.
The same behaviour occurs on 8.4.13 and 8.5a6
Example script:
trace variable a w tr
proc tr args {error $args}
entry .e -textvariable a
pack .e
# typing in the entry will not give any error, a set on the var will, using after a bgerror will be shown
after 10 {set a 4)
::ttk::entry does call the bgerror