changeset 110416:0abc226eaa66

* lispref/text.texi (Special Properties): Clarify when modification-hooks run.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 18 Sep 2010 17:50:06 +0200
parents 5bbd74302c45
children 8a3552ec7934
files doc/lispref/ChangeLog doc/lispref/text.texi
diffstat 2 files changed, 14 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/doc/lispref/ChangeLog	Sat Sep 18 16:23:29 2010 +0200
+++ b/doc/lispref/ChangeLog	Sat Sep 18 17:50:06 2010 +0200
@@ -1,3 +1,7 @@
+2010-09-18  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* text.texi (Special Properties): Clarify when modification-hooks run.
+
 2010-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* syntax.texi (Syntax Flags): Document new `c' flag.
--- a/doc/lispref/text.texi	Sat Sep 18 16:23:29 2010 +0200
+++ b/doc/lispref/text.texi	Sat Sep 18 17:50:06 2010 +0200
@@ -3230,12 +3230,16 @@
 @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