aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2013-07-13 13:55:21 +0300
committerEli Zaretskii2013-07-13 13:55:21 +0300
commit1b796d6b24b3a7f56a2dffd8d2bbe9c0559a1b80 (patch)
tree0b58b5b4cc79b0d26209e27d3944997b39d471a0
parentf9a74c4cc26f349abaaa073d4f56a09405a6f8c3 (diff)
downloademacs-1b796d6b24b3a7f56a2dffd8d2bbe9c0559a1b80.tar.gz
emacs-1b796d6b24b3a7f56a2dffd8d2bbe9c0559a1b80.zip
Improve the documentation of prefer-utf-8 and related issues.
lisp/international/mule.el (define-coding-system): Doc fix. etc/NEWS: Document prefer-utf-8 coding-system and the new attributes :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and :prefer-utf-8.
-rw-r--r--etc/ChangeLog6
-rw-r--r--etc/NEWS29
-rw-r--r--lisp/ChangeLog2
-rw-r--r--lisp/international/mule.el24
4 files changed, 49 insertions, 12 deletions
diff --git a/etc/ChangeLog b/etc/ChangeLog
index 84c5941e33f..02b13e12945 100644
--- a/etc/ChangeLog
+++ b/etc/ChangeLog
@@ -1,3 +1,9 @@
12013-07-13 Eli Zaretskii <eliz@gnu.org>
2
3 * NEWS: Document prefer-utf-8 and the new attributes
4 :inhibit-null-byte-detection, :inhibit-iso-escape-detection, and
5 :prefer-utf-8.
6
12013-07-13 Leo Liu <sdl.web@gmail.com> 72013-07-13 Leo Liu <sdl.web@gmail.com>
2 8
3 * NEWS: Mention new value for ido-use-virtual-buffers. 9 * NEWS: Mention new value for ido-use-virtual-buffers.
diff --git a/etc/NEWS b/etc/NEWS
index c3be0dfb9d4..03174a0137f 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -599,6 +599,35 @@ Emacs uses `image-default-frame-delay'.
599*** New functions `image-current-frame' and `image-show-frame' for getting 599*** New functions `image-current-frame' and `image-show-frame' for getting
600and setting the current frame of a multi-frame image. 600and setting the current frame of a multi-frame image.
601 601
602** Changes in encoding and decoding of text
603
604---
605*** New coding-system `prefer-utf-8'.
606This is like `undecided' but prefers UTF-8 on decoding if the text to
607be decoded does not contain any invalid UTF-8 sequences. On encoding,
608any non-ASCII characters are automatically encoded as UTF-8.
609
610---
611*** New attributes of coding-systems whose type is `undecided'.
612Two new attributes, `:inhibit-null-byte-detection' and
613`:inhibit-iso-escape-detection', determine how to detect encoding of
614text that includes null bytes and ISO-2022 escape sequences,
615respectively. Each of these attributes can be either nil, zero, or
616t. If it is t, decoding text ignores null bytes and, respectively,
617ISO-2022 sequences. If it is nil, null bytes cause text to be decoded
618with no-conversion and ISO-2022 sequences cause Emacs to assume the
619text is encoded in one of the ISO-2022 encodings, such as
620iso-2022-7bit. If the value is zero, Emacs consults the variables
621inhibit-null-byte-detection and inhibit-iso-escape-detection, which
622see.
623The new attribute `:prefer-utf-8', if non-nil, causes Emacs to prefer
624UTF-8 encoding and decoding, whenever possible.
625
626These attributes are only meaningful for coding-systems of type
627`undecided'. (The type of a coding-system is determined by its
628`:coding-type' attribute and can be accessed by calling the
629`coding-system-type' function.)
630
602** The function `set-visited-file-modtime' now accepts a 0 or -1 argument 631** The function `set-visited-file-modtime' now accepts a 0 or -1 argument
603with the same interpretation as the returned value of `visited-file-modtime'. 632with the same interpretation as the returned value of `visited-file-modtime'.
604 633
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 4bfc800913a..1c01afd8576 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,7 @@
12013-07-13 Eli Zaretskii <eliz@gnu.org> 12013-07-13 Eli Zaretskii <eliz@gnu.org>
2 2
3 * international/mule.el (define-coding-system): Doc fix.
4
3 * simple.el (default-font-height): Don't call font-info if the 5 * simple.el (default-font-height): Don't call font-info if the
4 frame's default font didn't change since the frame was created. 6 frame's default font didn't change since the frame was created.
5 (Bug#14838) 7 (Bug#14838)
diff --git a/lisp/international/mule.el b/lisp/international/mule.el
index 3577e0e9152..28542835a5f 100644
--- a/lisp/international/mule.el
+++ b/lisp/international/mule.el
@@ -672,7 +672,7 @@ is unsuitable for the top-level media type \"text\".
672 672
673VALUE must be a list of symbols that control the ISO-2022 converter. 673VALUE must be a list of symbols that control the ISO-2022 converter.
674Each must be a member of the list `coding-system-iso-2022-flags' 674Each must be a member of the list `coding-system-iso-2022-flags'
675\(which see). This attribute has a meaning only when `:coding-type' 675\(which see). This attribute is meaningful only when `:coding-type'
676is `iso-2022'. 676is `iso-2022'.
677 677
678`:designation' 678`:designation'
@@ -692,7 +692,7 @@ to GN. If the list contains 96, any charsets whose whose ranges are
69296 long can be designated to GN. If the first element is a charset, 69296 long can be designated to GN. If the first element is a charset,
693that charset is initially designated to GN. 693that charset is initially designated to GN.
694 694
695This attribute has a meaning only when `:coding-type' is `iso-2022'. 695This attribute is meaningful only when `:coding-type' is `iso-2022'.
696 696
697`:bom' 697`:bom'
698 698
@@ -712,7 +712,7 @@ are 0xFF 0xFE, use the cdr part coding system of the value.
712Otherwise, treat them as bytes for a normal character. On encoding, 712Otherwise, treat them as bytes for a normal character. On encoding,
713produce BOM bytes according to the value of `:endian'. 713produce BOM bytes according to the value of `:endian'.
714 714
715This attribute has a meaning only when `:coding-type' is `utf-16' or 715This attribute is meaningful only when `:coding-type' is `utf-16' or
716`utf-8'. 716`utf-8'.
717 717
718`:endian' 718`:endian'
@@ -720,37 +720,37 @@ This attribute has a meaning only when `:coding-type' is `utf-16' or
720VALUE must be `big' or `little' specifying big-endian and 720VALUE must be `big' or `little' specifying big-endian and
721little-endian respectively. The default value is `big'. 721little-endian respectively. The default value is `big'.
722 722
723This attribute has a meaning only when `:coding-type' is `utf-16'. 723This attribute is meaningful only when `:coding-type' is `utf-16'.
724 724
725`:ccl-decoder' 725`:ccl-decoder'
726 726
727VALUE is a symbol representing the registered CCL program used for 727VALUE is a symbol representing the registered CCL program used for
728decoding. This attribute has a meaning only when `:coding-type' is 728decoding. This attribute is meaningful only when `:coding-type' is
729`ccl'. 729`ccl'.
730 730
731`:ccl-encoder' 731`:ccl-encoder'
732 732
733VALUE is a symbol representing the registered CCL program used for 733VALUE is a symbol representing the registered CCL program used for
734encoding. This attribute has a meaning only when `:coding-type' is 734encoding. This attribute is meaningful only when `:coding-type' is
735`ccl'. 735`ccl'.
736 736
737:inhibit-null-byte-detection 737`:inhibit-null-byte-detection'
738 738
739VALUE non-nil means Emacs ignore null bytes on code detection. 739VALUE non-nil means Emacs ignore null bytes on code detection.
740See the variable `inhibit-null-byte-detection'. This attribute 740See the variable `inhibit-null-byte-detection'. This attribute
741has a meaning only when `:coding-type' is `undecided'. 741is meaningful only when `:coding-type' is `undecided'.
742 742
743:inhibit-iso-escape-detection 743`:inhibit-iso-escape-detection'
744 744
745VALUE non-nil means Emacs ignores ISO-2022 escape sequences on 745VALUE non-nil means Emacs ignores ISO-2022 escape sequences on
746code detection. See the variable `inhibit-iso-escape-detection'. 746code detection. See the variable `inhibit-iso-escape-detection'.
747This attribute has a meaning only when `:coding-type' is 747This attribute is meaningful only when `:coding-type' is
748`undecided'. 748`undecided'.
749 749
750:prefer-utf-8 750`:prefer-utf-8'
751 751
752VALUE non-nil means Emacs prefers UTF-8 on code detection for 752VALUE non-nil means Emacs prefers UTF-8 on code detection for
753non-ASCII files. This attribute has a meaning only when 753non-ASCII files. This attribute is meaningful only when
754`:coding-type' is `undecided'." 754`:coding-type' is `undecided'."
755 (let* ((common-attrs (mapcar 'list 755 (let* ((common-attrs (mapcar 'list
756 '(:mnemonic 756 '(:mnemonic