Each function in this list should be written to look at text in the
current buffer, but should not modify it in any way. The buffer will
-contain undecoded text of parts of the file. Each function should
-take one argument, @var{size}, which tells it how many characters to
-look at, starting from point. If the function succeeds in determining
-a coding system for the file, it should return that coding system.
-Otherwise, it should return @code{nil}.
+contain the text of parts of the file. Each function should take one
+argument, @var{size}, which tells it how many characters to look at,
+starting from point. If the function succeeds in determining a coding
+system for the file, it should return that coding system. Otherwise,
+it should return @code{nil}.
+
+The functions in this list could be called either when the file is
+visited and Emacs wants to decode its contents, and/or when the file's
+buffer is about to be saved and Emacs wants to determine how to encode
+its contents.
If a file has a @samp{coding:} tag, that takes precedence, so these
functions won't be called.
Each function in this list should be written to operate on the
current buffer, but should not modify it in any way. The buffer
-will contain undecoded text of parts of the file. Each function
+will contain the text of parts of the file. Each function
should take one argument, SIZE, which says how many characters
-\(starting from point) it should look at.
+\(starting from point) it should look at. The function might be
+called both when the file is visited and Emacs wants to decode
+its contents, and when the file's buffer is about to be saved
+and Emacs wants to determine how to encode its contents.
If one of these functions succeeds in determining a coding
system, it should return that coding system. Otherwise, it