From: Stefan Monnier Date: Sat, 18 Sep 2010 15:50:06 +0000 (+0200) Subject: * lispref/text.texi (Special Properties): Clarify when modification-hooks run. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~47^2~90 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f816790bfbda2b22bd6b6b317549a15a65edd560;p=emacs.git * lispref/text.texi (Special Properties): Clarify when modification-hooks run. --- diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e3df5fab9e9..ec065e9ce76 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2010-09-18 Stefan Monnier + + * text.texi (Special Properties): Clarify when modification-hooks run. + 2010-09-11 Stefan Monnier * syntax.texi (Syntax Flags): Document new `c' flag. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index ff4e65d299f..04e1e714133 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -3230,12 +3230,16 @@ the @code{line-prefix} variable). @xref{Truncation}. @cindex hooks for changing a character @kindex modification-hooks @r{(text property)} If a character has the property @code{modification-hooks}, then its -value should be a list of functions; modifying that character calls all -of those functions. Each function receives two arguments: the beginning -and end of the part of the buffer being modified. Note that if a -particular modification hook function appears on several characters -being modified by a single primitive, you can't predict how many times -the function will be called. +value should be a list of functions; modifying that character calls +all of those functions before the actual modification. Each function +receives two arguments: the beginning and end of the part of the +buffer being modified. Note that if a particular modification hook +function appears on several characters being modified by a single +primitive, you can't predict how many times the function will +be called. +Furthermore, insertion will not modify any existing character, so this +hook will only be run when removing some characters, replacing them +with others, or changing their text-properties. If these functions modify the buffer, they should bind @code{inhibit-modification-hooks} to @code{t} around doing so, to