[smart op] do not try to modify readonly text