[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 2bdb2cd: Document that {en, de}code-coding-string preserve match
From: |
Mattias Engdegård |
Subject: |
master 2bdb2cd: Document that {en, de}code-coding-string preserve match data |
Date: |
Thu, 28 May 2020 10:59:04 -0400 (EDT) |
branch: master
commit 2bdb2cd10d08a1d9c9a187c7d967fdc64b8e6743
Author: Mattias Engdegård <mattiase@acm.org>
Commit: Mattias Engdegård <mattiase@acm.org>
Document that {en,de}code-coding-string preserve match data
* lisp/international/mule.el (define-coding-system):
Require :pre-write-conversion and :post-read-conversion functions
to leave the match data untouched.
* src/coding.c (Fdecode_coding_string, Fencode_coding_string):
Document functions as match-data-preserving.
Suggested by Stefan Monnier (see bug#41445).
---
lisp/international/mule.el | 25 +++++++++++++------------
src/coding.c | 4 ++--
2 files changed, 15 insertions(+), 14 deletions(-)
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 72e8cad..df71205 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -769,11 +769,12 @@ decoded by the coding system itself and before any
functions in
`after-insert-functions' are called. This function is passed one
argument: the number of characters in the text to convert, with
point at the start of the text. The function should leave point
-unchanged, and should return the new character count. Note that
-this function should avoid reading from files or receiving text
-from subprocesses -- anything that could invoke decoding; if it
-must do so, it should bind `coding-system-for-read' to a value
-other than the current coding-system, to avoid infinite recursion.
+and the match data unchanged, and should return the new character
+count. Note that this function should avoid reading from files
+or receiving text from subprocesses -- anything that could invoke
+decoding; if it must do so, it should bind
+`coding-system-for-read' to a value other than the current
+coding-system, to avoid infinite recursion.
`:pre-write-conversion'
@@ -781,13 +782,13 @@ VALUE must be a function to call after all functions in
`write-region-annotate-functions' and `buffer-file-format' are
called, and before the text is encoded by the coding system
itself. This function should convert the whole text in the
-current buffer. For backward compatibility, this function is
-passed two arguments which can be ignored. Note that this
-function should avoid writing to files or sending text to
-subprocesses -- anything that could invoke encoding; if it
-must do so, it should bind `coding-system-for-write' to a
-value other than the current coding-system, to avoid infinite
-recursion.
+current buffer, and leave the match data unchanged. For backward
+compatibility, this function is passed two arguments which can be
+ignored. Note that this function should avoid writing to files
+or sending text to subprocesses -- anything that could invoke
+encoding; if it must do so, it should bind
+`coding-system-for-write' to a value other than the current
+coding-system, to avoid infinite recursion.
`:default-char'
diff --git a/src/coding.c b/src/coding.c
index 34f36d5..071124b 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -10395,7 +10395,7 @@ representation of the decoded text.
This function sets `last-coding-system-used' to the precise coding system
used (which may be different from CODING-SYSTEM if CODING-SYSTEM is
-not fully specified.) */)
+not fully specified.) The function does not change the match data. */)
(Lisp_Object string, Lisp_Object coding_system, Lisp_Object nocopy,
Lisp_Object buffer)
{
return code_convert_string (string, coding_system, buffer,
@@ -10415,7 +10415,7 @@ case, the return value is the length of the encoded
text.
This function sets `last-coding-system-used' to the precise coding system
used (which may be different from CODING-SYSTEM if CODING-SYSTEM is
-not fully specified.) */)
+not fully specified.) The function does not change the match data. */)
(Lisp_Object string, Lisp_Object coding_system, Lisp_Object nocopy,
Lisp_Object buffer)
{
return code_convert_string (string, coding_system, buffer,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 2bdb2cd: Document that {en, de}code-coding-string preserve match data,
Mattias Engdegård <=