Mercurial > emacs
changeset 92001:7a6e0dab4698
Merge entries from NEWS.unicode.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 21 Feb 2008 03:35:46 +0000 |
parents | 501d20267e59 |
children | cfa9e2f5d094 |
files | etc/NEWS |
diffstat | 1 files changed, 228 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/etc/NEWS Thu Feb 21 03:35:31 2008 +0000 +++ b/etc/NEWS Thu Feb 21 03:35:46 2008 +0000 @@ -64,6 +64,44 @@ You can test for the presence of this feature in your Lisp code by testing for the `multi-tty' feature. +** The Emacs character set is now a superset of Unicode. +(It has about four times the code space, which should be plenty). + +The internal encoding used for buffers and strings is now +Unicode-based and called `utf-8-emacs'. utf-8-emacs is backwards +compatible with the UTF-8 encoding of Unicode. The `emacs-mule' +coding system can still read and write data in the old internal encoding. + +Since the internal encoding is also used by default for byte-compiled +files -- i.e. the normal coding system for byte-compiled Lisp files is +now utf-8-Emacs -- Lisp containing non-ASCII characters which is +compiled by Emacs 23 can't be read by earlier versions of Emacs. Files +compiled by Emacs 20, 21, or 22 are loaded correctly as emacs-mule +(whether or not they contain multibyte characters), which makes loading +them somewhat slower than Emacs 23-compiled files. Thus it may be worth +recompiling existing .elc files which don't need to be shared with older +Emacsen. + +** Emacs now supports local fonts (fonts installed in the same machine +as Emacs is running) using the freetype and fontconfig libraries. +On X, antialias support is available via the Xft library. +Fontconfig-like font names (e.g. monospace-12) are also accepted. + +** There are assorted new coding systems/aliases -- see M-x list-coding-systems. + +** There is a new charset implementation with many new charsets. +See M-x list-character-sets. New charsets can be defined conveniently +as tables of unicodes. + +The dimension of a charset is now 1, 2, 3, or 4, and the size of each +dimension is no longer limited to 94 or 96. + +A dynamic charset priority list is used to infer the charset of +characters for display. + +** There are new Chinese-GBK, Chinese-GB18030, Khmer, and TaiViet language +environments. + ** Emacs now supports the XEmbed specification. You can embed Emacs in another application on X11. The new command line option --parent-id is used to pass the parent window id to Emacs. See @@ -146,6 +184,9 @@ ** The new function `emacs-init-time' returns the duration of the Emacs initialization. +** The minor modes unify-8859-on-encoding-mode, unify-8859-on-decoding-mode +are obsolete. + * Startup Changes in Emacs 23.1 @@ -264,6 +305,9 @@ * Changes in Specialized Modes and Packages in Emacs 23.1 +** New minor mode Auto Composition Mode composes characters automatically +when they are displayed. This mode is globally on by default. + ** ChangeLog now has function bound to C-c C-f that finds the file in the current log entry. @@ -478,6 +522,22 @@ * Incompatible Lisp Changes in Emacs 23.1 +** The behavior of map-char-table has changed. It may call the +specified function with a cons (FROM . TO) as a key if characters in +that range have the same value. + +** The value of the function `charset-id' is now always 0. + +** The functions `register-char-codings' and `coding-system-spec' +have been removed. + +** Many codepage related functions have been removed. They are: + cp-make-coding-systems-for-codepage, cp-charset-for-codepage, + cp-language-for-codepage, cp-offset-for-codepage, + cp-supported-codepages +You don't need them anymore because coding systems created by these +functions are supported from the start now. + +++ ** The function `dired-call-process' has been removed. @@ -496,8 +556,9 @@ * Lisp Changes in Emacs 23.1 ** clone-indirect-buffer now runs the clone-indirect-buffer-hook. + ** `beginning-of-defun-function' now takes one argument, the count - given to `beginning-of-defun'. + given to `beginning-of-defun'. ** The variable `inhibit-changing-match-data', if non-nil, prevents the search and match primitives from changing the match data. @@ -551,6 +612,172 @@ of strings. In the latter case, Emacs puts the second and following strings on the kill ring. +** Character code, representation, and charset changes. + +The character code space is now 0x0..0x3FFFFF with no gap. +Characters of code 0x0..0x10FFFF are Unicode characters of the same code points. +Characters of code 0x3FFF80..0x3FFFFF are raw 8-bit bytes. + +Generic characters no longer exist. + +In buffer and string, characters are represented by UTF-8 byte +sequence in a multibyte buffer/string. + +The concept of a charset has changed. A single character may belong to +multiple charsets (e.g. a-grave, U+00E0, belongs to charsets unicode, +iso-8859-1, iso-8859-3, etc). + +*** The new function `characterp' returns t if and only if the argument +is a character. + +*** The new function `max-char' returns the maximum character code +(currently it is #x3FFFFF). + +*** The functions `encode-char' and `decode-char' now accept any character sets. + +*** The function `define-charset' now accepts a completely different +form of arguments (old-style arguments still work). + +*** The new function `define-charset-alias' defines an alias of a charset. + +*** The value of the function `char-charset' depends on the current +priorities of charsets. + +*** The new function `charset-priority-list' returns the list of +charsets ordered by priority. + +*** The new function `set-charset-priority' sets priorities of charsets. + +*** The new function `unibyte-charset' returns the current unibyte +charset. The unibyte charset determines how unibyte/multibyte +conversion is done. + +*** The new function `set-unibyte-charset' sets the unibyte charset. + +*** The new function `unibyte-string' make a unibyte string from bytes. + +*** The new function `define-char-code-property' defines a character +code property. + +*** The new function `char-code-property-description' returns the +description string of a character code property. + +*** The function get-char-code-property now accepts many Unicode base +character properties. They are `name', `general-category', +`canonical-combining-class', `bidi-class', `decomposition', +`decimal-digit-value', `digit-value', `numeric-value', `mirrored', +`old-name', `iso-10646-comment', `uppercase', `lowercase', and +`titlecase'. + +*** The new variable `find-word-boundary-function-table' is a +char-table of functions to search for a word boundary. + +*** The new variable `char-script-table' is a char-table of script names. + +*** The new variable `char-width-table' is a char-table of character widths. + +*** The new variable `print-charset-text-property' controls how to +handle `charset' text property on printing a string. + +*** The new variable `printable-chars' is a char-table defining if a +character is printable or not. + +*** The functions `modify-syntax-entry' and `modify-category-entry' now +accepts a cons of characters as the first argument, and modify all +entries in that range of characters. + +*** The functions `char-bytes', `chars-in-region', and `char-valid-p' are +obsolete. + +** Code conversion changes. + +*** The new function `define-coding-system' should be used to define a +coding system instead of `make-coding-system' (which is now obsolete). + +*** The functions `encode-coding-region' and `decode-coding-region' +have an optional 4th argument to specify where the result of +conversion should go. + +*** The functions `encode-coding-string' and `decode-coding-string' +have an optional 4th argument specifying a buffer to store the result +of conversion. + +*** The new function `with-coding-priority' executes the body part with +the specified coding system priority order. + +*** The new function `check-coding-systems-region' checks if the text +in the region is encodable by the specified coding systems. + +*** The new function `coding-system-aliases' returns a list of aliases +of a coding system. + +*** The new function `coding-system-charset-list' returns a list of +charsets supported by a coding system. + +*** The new function `coding-system-priority-list' returns a list of +coding systems ordered by their priorities. + +*** The new function `set-coding-system-priority' sets priorities of +coding systems. + +*** The functions `set-coding-priority' and `make-coding-system' are obsolete. + +** There is a new input method, Robin, different from Quail. +It has three functionalities: + i) a simple input method (converts an ASCII sequence into a string). +ii) converts an existing buffer substring into another string +iii) reverse conversion (each character produced by a +robin rule can hold the original ASCII sequence as a char-code-property) + +*** The new function `robin-define-package' defines a Robin package. + +*** The new function `robin-modify-package' modifies an existing Robin package. + +*** The new function `robin-use-package' starts using a Robin package +as an input method. + +** Composition changes. + +*** New functions and variables `auto-composition-mode' and +`global-auto-composition-mode' toggles the new minor mode Auto +Composition Mode locally and globally. + +*** New variable `auto-composition-function' is a function used in +Auto Composition Mode to compose characters. The default value is the +function `auto-compose-chars'. + +** Font Backend changes. + +*** New frame parameter `font-backend' specifies a list of +font-backends supported by the frame's graphic device. On X, they are +currently `x' and `xft'. + +*** New function `fontp' checks if the argument is a font-spec or font-entity. + +*** New function `font-spec' creates a new font-spec object. + +*** New function `font-get' returns a font property value. + +*** New function `font-put' sets a font property value. + +*** New function `list-fonts' returns a list of font-entities matching +the given specification. + +*** New function `list-families' returns a list of family names of +available fonts. + +*** New function `font-font' returns a font-entity best matching with +the given specification. + +*** New function `font-xlfd-name' returns an XLFD name of a given font +(font-spec, font-entity, or font-object). + +*** New function `clear-font-cache' clears all font caches. + +*** The function `set-fontset-font' now accepts a script name as the +second argument, and has an optional 5th argument to control how to +set the font. + ** Changes related to multiple tty support. *** $TERM is now set to `dumb' for subprocesses. If you want to know the