Only refresh editor val when something actually changed.

We only need to reflect changes from any hooks if something actually
changed. This makes the scrolling effect less annoying, but not fully
solved.