function updater (h, ~)
  #keyboard;
  persistent updating = false;
  if (! updating)
    units  = get (h, "units");
    updating = true;
    unwind_protect
      disp updating
      set (h, "units", "points", "units", units)
      #pause (0.01);
    unwind_protect_cleanup
      ## pause (0.01) # process events
      updating = false;
    end_unwind_protect
  endif
endfunction

