aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorEli Zaretskii2016-12-16 10:49:31 +0200
committerEli Zaretskii2016-12-16 10:49:31 +0200
commitb19fb4995efd7490527400c89becfcf2b6ed4b53 (patch)
treef1dc56e3307602d68cfe8b0c84f080cea4f1f822 /lisp
parent467768f64ee109fe127619e75fee7f3b5de1fec1 (diff)
downloademacs-b19fb4995efd7490527400c89becfcf2b6ed4b53.tar.gz
emacs-b19fb4995efd7490527400c89becfcf2b6ed4b53.zip
Improve documentation of 'define-coding-system'
* lisp/international/mule.el (define-coding-system): Warn against possible infinite recursion in pre-write-conversion and post-read-conversion functions. (Bug#25203)
Diffstat (limited to 'lisp')
-rw-r--r--lisp/international/mule.el13
1 files changed, 11 insertions, 2 deletions
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 21ab7e176d7..08d37b45a3d 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -713,7 +713,11 @@ decoded by the coding system itself and before any functions in
713`after-insert-functions' are called. This function is passed one 713`after-insert-functions' are called. This function is passed one
714argument: the number of characters in the text to convert, with 714argument: the number of characters in the text to convert, with
715point at the start of the text. The function should leave point 715point at the start of the text. The function should leave point
716unchanged, and should return the new character count. 716unchanged, and should return the new character count. Note that
717this function should avoid reading from files or receiving text
718from subprocesses -- anything that could invoke decoding; if it
719must do so, it should bind `coding-system-for-read' to a value
720other than the current coding-system, to avoid infinite recursion.
717 721
718`:pre-write-conversion' 722`:pre-write-conversion'
719 723
@@ -722,7 +726,12 @@ VALUE must be a function to call after all functions in
722called, and before the text is encoded by the coding system 726called, and before the text is encoded by the coding system
723itself. This function should convert the whole text in the 727itself. This function should convert the whole text in the
724current buffer. For backward compatibility, this function is 728current buffer. For backward compatibility, this function is
725passed two arguments which can be ignored. 729passed two arguments which can be ignored. Note that this
730function should avoid writing to files or sending text to
731subprocesses -- anything that could invoke encoding; if it
732must do so, it should bind `coding-system-for-write' to a
733value other than the current coding-system, to avoid infinite
734recursion.
726 735
727`:default-char' 736`:default-char'
728 737