guard against recursion when responding to changes in editor content