Skip to main content
edited tags
Link
Drew
  • 79.1k
  • 10
  • 123
  • 257
Source Link

Stop Emacs from updating display

Sometimes a function will make the display blink and stutter, due do things happening in the background while the function is running (visiting other buffers etc). Does anyone know if there's a function, or another way, to tell Emacs not to redisplay during the course of an sexp? I'm searching for something like this:

(defun my-automatic-todo ()
  (interactive)
  (no-redisplay
   (let ((org-capture-entry
          `("z" "Automatic todo" entry (file ,my-todo-file)
            ,(format "* TODO %s" (my-get-todo-text-function))
            :immediate-finish t)))
     (org-capture))))

In the example above, no-redisplay would run the body without updating the display (and probably update the display when exiting the body). The no-redisplay function doesn't exist though.