]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/keyboard.c (post-command-hook): Extend the docstring
authorArtur Malabarba <bruce.connor.am@gmail.com>
Sun, 25 Oct 2015 14:34:18 +0000 (14:34 +0000)
committerArtur Malabarba <bruce.connor.am@gmail.com>
Sun, 25 Oct 2015 14:39:07 +0000 (14:39 +0000)
Mainly, explain how to use it without hanging Emacs, or giving the
impression that it is hanging.  Also mention `pre-command-hook'.

(pre-command-hook): Mention `post-command-hook'.

src/keyboard.c

index 1a78f6a705ce3f2e816c93d13b9d26d2bb73128d..4ea0f97e77ff46bb5d552e25ca71b3829e6302aa 100644 (file)
@@ -11374,14 +11374,26 @@ Buffer modification stores t in this variable.  */);
               doc: /* Normal hook run before each command is executed.
 If an unhandled error happens in running this hook,
 the function in which the error occurred is unconditionally removed, since
-otherwise the error might happen repeatedly and make Emacs nonfunctional.  */);
+otherwise the error might happen repeatedly and make Emacs nonfunctional.
+
+See also `pre-command-hook'.  */);
   Vpre_command_hook = Qnil;
 
   DEFVAR_LISP ("post-command-hook", Vpost_command_hook,
               doc: /* Normal hook run after each command is executed.
 If an unhandled error happens in running this hook,
 the function in which the error occurred is unconditionally removed, since
-otherwise the error might happen repeatedly and make Emacs nonfunctional.  */);
+otherwise the error might happen repeatedly and make Emacs nonfunctional.
+
+It is usually a bad idea to use this hook for expensive processing.
+If unavoidable, `while-no-input' can be used avoid making Emacs
+unresponsive while the user types.  Furthermore, this hook is run
+before redisplay, so the effect of the executed command won't be
+displayed on the buffer until after the hook has finished (giving the
+impression that Emacs is hanging).  You can call `redisplay' inside
+`while-no-input' to avoid this.
+
+See also `pre-command-hook'.  */);
   Vpost_command_hook = Qnil;
 
 #if 0