Mercurial > emacs
annotate etc/NEWS.unicode @ 91776:01d2b6c9032f
Add many doc strings.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 11 Feb 2008 17:35:37 +0000 |
parents | f7875f77b416 |
children | 90d244118a64 |
rev | line source |
---|---|
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
1 GNU Emacs NEWS -- history of user-visible changes. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
2 |
91080 | 3 Copyright (C) 2007 Free Software Foundation, Inc. |
4 Copyright (C) 2007 | |
5 National Institute of Advanced Industrial Science and Technology (AIST) | |
6 Registration Number H14PRO021 | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
7 See the end of the file for license conditions. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
8 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
9 Please send Emacs bug reports to bug-gnu-emacs@gnu.org. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
10 If possible, use M-x report-emacs-bug. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
11 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
12 This file is about changes in the Emacs "unicode" branch. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
13 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
14 |
91080 | 15 * Changes in Emacs Unicode |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
16 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
17 ** The Emacs character set is now a superset of Unicode. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
18 (It has about four times the code space, which should be plenty). |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
19 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
20 The internal encoding used for buffers and strings is now |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
21 Unicode-based and called `utf-8-emacs'. utf-8-emacs is backwards |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
22 compatible with the UTF-8 encoding of Unicode. The `emacs-mule' |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
23 coding system can still read and write data in the old internal |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
24 encoding. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
25 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
26 Since the internal encoding is also used by default for byte-compiled |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
27 files -- i.e. the normal coding system for byte-compiled Lisp files is |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
28 now utf-8-Emacs -- Lisp containing non-ASCII characters which is |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
29 compiled by Emacs 23 can't be read by earlier versions of Emacs. Files |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
30 compiled by Emacs 20, 21, or 22 are loaded correctly as emacs-mule |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
31 (whether or not they contain multibyte characters), which makes loading |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
32 them somewhat slower than Emacs 23-compiled files. Thus it may be worth |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
33 recompiling existing .elc files which don't need to be shared with older |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
34 Emacsen. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
35 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
36 ** There are assorted new coding systems/aliases -- see |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
37 M-x list-coding-systems. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
38 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
39 ** New charset implementation with many new charsets. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
40 See M-x list-character-sets. New charsets can be defined conveniently |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
41 as tables of unicodes. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
42 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
43 The dimension of a charset is now 0, 1, 2, or 3, and the size of each |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
44 dimension is no longer limited to 94 or 96. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
45 |
91080 | 46 A dynamic charset priority list is used to infer the charset of |
47 characters for display. | |
48 | |
49 ** New minor mode Auto Composition Mode composes characters automatically | |
50 when they are displayed. This mode is globally on by default. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
51 |
91080 | 52 ** Emacs now supports local fonts (fonts installed in the same machine |
53 as Emacs is running) by freetype and fontconfig libraries. On X, they | |
54 are drived via Xft library with antialias support. Fontconfig-like | |
55 font names (e.g. monospace-12) are also accepted. | |
56 | |
57 ** New language environments Chinese-GBK, Chinese-GB18030, and | |
58 TaiViet. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
59 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
60 ** The following facilities are obsolete: |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
61 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
62 Minor modes: unify-8859-on-encoding-mode, unify-8859-on-decoding-mode |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
63 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
64 |
91080 | 65 * Lisp changes in Emacs Unicode |
66 | |
67 ** Character code, representation, and charset changes. | |
68 | |
69 Now character code space is 0x0..0x3FFFFF with no gap. Among them, | |
70 characters of code 0x0..0x10FFFF are Unicode characters of the same | |
71 code points. Characters of code 0x3FFF80..0x3FFFFF are raw 8-bit | |
72 bytes. | |
73 | |
74 Generic characters no longer exist. | |
75 | |
76 In buffer and string, characters are represented by UTF-8 byte | |
77 sequence in a multibyte buffer/string. | |
78 | |
79 The concept of charset is changed. A single character may belong to | |
80 multiple charset (e.g. a-grave (U+00E0) belongs to charsets unicode, | |
81 iso-8859-1, iso-8859-3, and etc). | |
82 | |
83 *** The new function `characterp' returns t if and only if the argument | |
84 is a character. | |
85 | |
86 *** The new function `max-char' returns the maximum character code | |
87 (currently it is #x3FFFFF). | |
88 | |
89 *** The function `encode-char' and `decode-char' now accepts any | |
90 character sets. | |
91 | |
92 *** The function `define-charset' now accepts completely different | |
93 form of argments (old-style arguments still works). | |
94 | |
95 *** The new function `define-charset-alias' defines an alias of a | |
96 charset. | |
97 | |
98 *** The value of the function `char-charset' depends of the current | |
99 priorities of charsets. | |
100 | |
101 *** The new function `charset-priority-list' returns the list of | |
102 charsets ordered by priority. | |
103 | |
104 *** The new function `set-charset-priority' sets pliorities of | |
105 charsets. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
106 |
91080 | 107 *** The new function `unibyte-charset' returns the current unibyte |
108 charset. The unibyte charset determins how unibyte/multibyte | |
109 conversion is done. | |
110 | |
111 *** The new function `set-unibyte-charset' sets the unibyte charset. | |
112 | |
113 *** The new function `unibyte-string' make a unibyte string from | |
114 bytes. | |
115 | |
116 ** Code conversion changes | |
117 | |
118 *** The new function `define-coding-system' should be used to define a | |
119 coding system instead of `make-coding-system' (which is obsolete now). | |
120 | |
121 *** The functions `encode-coding-region' and `decode-coding-region' | |
122 have the optional 4th argument to specify where the result of | |
123 conversion should go. | |
124 | |
125 *** The functions `encode-coding-string' and `decode-coding-string' | |
126 have the optional 4th argument specifying a buffer to store the result | |
127 of conversion. | |
128 | |
129 *** The new fuction `with-coding-priority' executs the body part with | |
130 the specified coding system priority order. | |
131 | |
132 *** The new function `check-coding-systems-region' checks if the text | |
133 in the region is encodable by the specified coding systems. | |
134 | |
135 *** The new function `coding-system-aliases' returns a list of aliases | |
136 of a coding system. | |
137 | |
138 *** The new function `coding-system-charset-list' returns a list of | |
139 charsets supported by a coding system. | |
140 | |
141 *** The new funciton `coding-system-priority-list' returns a list of | |
142 coding systems ordered by their priorities. | |
143 | |
144 *** Thew new function `set-coding-system-priority' sets priorities of | |
145 coding systems. | |
146 | |
147 ** Composition changes | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
148 |
91080 | 149 *** New functions and variables `auto-composition-mode' and |
150 `global-auto-composition-mode' toggles the new minor mode Auto | |
151 Composition Mode locally and globally. | |
152 | |
153 *** New variable `auto-composition-function' is a function used in | |
154 Auto Composition Mode to compose characters. The default value is the | |
155 function `auto-compose-chars'. | |
156 | |
157 ** Font Backend changes. | |
158 | |
159 *** New frame parameter `font-backend' specifies a list of | |
160 font-backends supported by the frame's graphic device. On X, they are | |
161 currently `x' and `xft'. | |
162 | |
163 *** New function `fontp' checks if the argument is a font-spec | |
164 or font-entity. | |
165 | |
166 *** New function `font-spec' creates a new font-spec object. | |
167 | |
168 *** New function `font-get' returns a font property value. | |
169 | |
170 *** New function `font-put' sets a font property value. | |
171 | |
172 *** New function `list-fonts' returns a list of font-entities matching | |
173 with the give specificaiton. | |
174 | |
175 *** New function `list-families' returns a list family names of | |
176 available fonts. | |
177 | |
178 *** New function `font-font' returns a font-entity best matching with | |
179 the given specification. | |
180 | |
181 *** New function `font-xlfd-name' returns an XLFD name of a give font | |
182 (font-spec, font-entity, or font-object). | |
183 | |
184 *** New function `clear-font-cache' clears all font caches. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
185 |
91080 | 186 ** The function get-char-code-property now accepts many Unicode base |
187 character properties. They are `name', `general-category', | |
188 `canonical-combining-class', `bidi-class', `decomposition', | |
189 `decimal-digit-value', `digit-value', `numeric-value', `mirrord', | |
190 `old-name', `iso-10646-comment', `uppercase', `lowercase', and | |
191 `titlecase'. | |
192 | |
193 ** Thew new function `define-char-code-property' defines a character | |
194 code property. | |
195 | |
196 ** The new function `char-code-property-description' returns the | |
197 description string of a cahracter code property. | |
198 | |
199 *** The new variable `find-word-boundary-function-table' is a | |
200 char-table of functions to search for a word boundary. | |
201 | |
202 *** The new variable `char-script-table' is a char-table of script | |
203 names. | |
204 | |
205 *** The new variable `char-width-table' is a char-table of character | |
206 widths. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
207 |
91080 | 208 *** The new variable `print-charset-text-property' controls how to |
209 handle `charset' text property on printing a string. | |
210 | |
211 *** Thew new variable `printable-chars' is a char-table defining if a | |
212 character is printable or not. | |
213 | |
214 *** The new function `robin-define-package' defines a Robin package | |
215 which is an input method system different from Quail. | |
216 | |
217 *** The new function `robin-modify-package' modifies an existing Robin | |
218 package. | |
219 | |
220 *** The new function `robin-use-package' start using a Robin package | |
221 as an input method. | |
222 | |
223 ** The functions `modify-syntax-entry' and `modify-category-entry' now | |
224 accepts a cons of characters as the first argument, and modify all | |
225 entries in that range of characters. | |
226 | |
227 ** The function `set-fontset-font' now accepts a script name as the | |
228 second argument, and has the optional 5th argument to control how to | |
229 set the font. | |
230 | |
231 ** The functions `char-bytes', `chars-in-region', `set-coding-priority', | |
232 , `make-coding-system', and `char-valid-p' are now obsolete. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
233 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
234 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
235 * Incompatible Lisp changes |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
236 |
91080 | 237 ** The behavior of map-char-table has changed. It may call the |
238 specified function with a cons (FROM . TO) as a key if characters in | |
239 that range has the same value. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
240 |
91080 | 241 ** The value of the function `charset-id' is now always 0. |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
242 |
91080 | 243 ** The functions `register-char-codings' and `coding-system-spec' are |
244 deleted. | |
90852
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
245 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
246 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
247 ---------------------------------------------------------------------- |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
248 This file is part of GNU Emacs. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
249 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
250 GNU Emacs is free software; you can redistribute it and/or modify |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
251 it under the terms of the GNU General Public License as published by |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
252 the Free Software Foundation; either version 2, or (at your option) |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
253 any later version. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
254 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
255 GNU Emacs is distributed in the hope that it will be useful, |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
256 but WITHOUT ANY WARRANTY; without even the implied warranty of |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
257 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
258 GNU General Public License for more details. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
259 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
260 You should have received a copy of the GNU General Public License |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
261 along with GNU Emacs; see the file COPYING. If not, write to the |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
262 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
263 Boston, MA 02110-1301, USA. |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
264 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
265 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
266 Local variables: |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
267 mode: outline |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
268 paragraph-separate: "[ ]*$" |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
269 end: |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
270 |
7004567d576d
Move NEWS entries for unicode branch into etc/NEWS.unicode
Miles Bader <miles@gnu.org>
parents:
diff
changeset
|
271 arch-tag: e21801b9-0724-4cda-8c07-7d60bf3db3fd |