Mercurial > emacs
comparison etc/NEWS @ 92001:7a6e0dab4698
Merge entries from NEWS.unicode.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 21 Feb 2008 03:35:46 +0000 |
parents | 07b62dd00afa |
children | f60998626e8a |
comparison
equal
deleted
inserted
replaced
92000:501d20267e59 | 92001:7a6e0dab4698 |
---|---|
62 the current $DISPLAY or a tty frame if $DISPLAY is not set. | 62 the current $DISPLAY or a tty frame if $DISPLAY is not set. |
63 | 63 |
64 You can test for the presence of this feature in your Lisp code by | 64 You can test for the presence of this feature in your Lisp code by |
65 testing for the `multi-tty' feature. | 65 testing for the `multi-tty' feature. |
66 | 66 |
67 ** The Emacs character set is now a superset of Unicode. | |
68 (It has about four times the code space, which should be plenty). | |
69 | |
70 The internal encoding used for buffers and strings is now | |
71 Unicode-based and called `utf-8-emacs'. utf-8-emacs is backwards | |
72 compatible with the UTF-8 encoding of Unicode. The `emacs-mule' | |
73 coding system can still read and write data in the old internal encoding. | |
74 | |
75 Since the internal encoding is also used by default for byte-compiled | |
76 files -- i.e. the normal coding system for byte-compiled Lisp files is | |
77 now utf-8-Emacs -- Lisp containing non-ASCII characters which is | |
78 compiled by Emacs 23 can't be read by earlier versions of Emacs. Files | |
79 compiled by Emacs 20, 21, or 22 are loaded correctly as emacs-mule | |
80 (whether or not they contain multibyte characters), which makes loading | |
81 them somewhat slower than Emacs 23-compiled files. Thus it may be worth | |
82 recompiling existing .elc files which don't need to be shared with older | |
83 Emacsen. | |
84 | |
85 ** Emacs now supports local fonts (fonts installed in the same machine | |
86 as Emacs is running) using the freetype and fontconfig libraries. | |
87 On X, antialias support is available via the Xft library. | |
88 Fontconfig-like font names (e.g. monospace-12) are also accepted. | |
89 | |
90 ** There are assorted new coding systems/aliases -- see M-x list-coding-systems. | |
91 | |
92 ** There is a new charset implementation with many new charsets. | |
93 See M-x list-character-sets. New charsets can be defined conveniently | |
94 as tables of unicodes. | |
95 | |
96 The dimension of a charset is now 1, 2, 3, or 4, and the size of each | |
97 dimension is no longer limited to 94 or 96. | |
98 | |
99 A dynamic charset priority list is used to infer the charset of | |
100 characters for display. | |
101 | |
102 ** There are new Chinese-GBK, Chinese-GB18030, Khmer, and TaiViet language | |
103 environments. | |
104 | |
67 ** Emacs now supports the XEmbed specification. | 105 ** Emacs now supports the XEmbed specification. |
68 You can embed Emacs in another application on X11. The new command line option | 106 You can embed Emacs in another application on X11. The new command line option |
69 --parent-id is used to pass the parent window id to Emacs. See | 107 --parent-id is used to pass the parent window id to Emacs. See |
70 http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html | 108 http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html |
71 for details about XEmbed. | 109 for details about XEmbed. |
143 | 181 |
144 ** The new function `emacs-uptime' returns the uptime of an Emacs instance. | 182 ** The new function `emacs-uptime' returns the uptime of an Emacs instance. |
145 | 183 |
146 ** The new function `emacs-init-time' returns the duration of the | 184 ** The new function `emacs-init-time' returns the duration of the |
147 Emacs initialization. | 185 Emacs initialization. |
186 | |
187 ** The minor modes unify-8859-on-encoding-mode, unify-8859-on-decoding-mode | |
188 are obsolete. | |
148 | 189 |
149 | 190 |
150 * Startup Changes in Emacs 23.1 | 191 * Startup Changes in Emacs 23.1 |
151 | 192 |
152 ** New user option `initial-buffer-choice' specifies what to display | 193 ** New user option `initial-buffer-choice' specifies what to display |
261 GnuPG interface which includes GnuPG keyring browser, cryptographic | 302 GnuPG interface which includes GnuPG keyring browser, cryptographic |
262 operations on regions and files, and automatic encryption of *.gpg | 303 operations on regions and files, and automatic encryption of *.gpg |
263 files. See the EasyPG Assistant User's Manual for further details. | 304 files. See the EasyPG Assistant User's Manual for further details. |
264 | 305 |
265 * Changes in Specialized Modes and Packages in Emacs 23.1 | 306 * Changes in Specialized Modes and Packages in Emacs 23.1 |
307 | |
308 ** New minor mode Auto Composition Mode composes characters automatically | |
309 when they are displayed. This mode is globally on by default. | |
266 | 310 |
267 ** ChangeLog now has function bound to C-c C-f that finds the file in | 311 ** ChangeLog now has function bound to C-c C-f that finds the file in |
268 the current log entry. | 312 the current log entry. |
269 | 313 |
270 ** abbrev was rewritten in Elisp and extended with more flexibility. | 314 ** abbrev was rewritten in Elisp and extended with more flexibility. |
476 w32-pass-multimedia-buttons to nil. See the doc string of that variable | 520 w32-pass-multimedia-buttons to nil. See the doc string of that variable |
477 for the list of extra keys that are available. | 521 for the list of extra keys that are available. |
478 | 522 |
479 * Incompatible Lisp Changes in Emacs 23.1 | 523 * Incompatible Lisp Changes in Emacs 23.1 |
480 | 524 |
525 ** The behavior of map-char-table has changed. It may call the | |
526 specified function with a cons (FROM . TO) as a key if characters in | |
527 that range have the same value. | |
528 | |
529 ** The value of the function `charset-id' is now always 0. | |
530 | |
531 ** The functions `register-char-codings' and `coding-system-spec' | |
532 have been removed. | |
533 | |
534 ** Many codepage related functions have been removed. They are: | |
535 cp-make-coding-systems-for-codepage, cp-charset-for-codepage, | |
536 cp-language-for-codepage, cp-offset-for-codepage, | |
537 cp-supported-codepages | |
538 You don't need them anymore because coding systems created by these | |
539 functions are supported from the start now. | |
540 | |
481 +++ | 541 +++ |
482 ** The function `dired-call-process' has been removed. | 542 ** The function `dired-call-process' has been removed. |
483 | 543 |
484 ** The variable `byte-compile-warnings' can now be a list starting with `not', | 544 ** The variable `byte-compile-warnings' can now be a list starting with `not', |
485 meaning to disable the specified warnings. The meaning of this list | 545 meaning to disable the specified warnings. The meaning of this list |
494 | 554 |
495 | 555 |
496 * Lisp Changes in Emacs 23.1 | 556 * Lisp Changes in Emacs 23.1 |
497 | 557 |
498 ** clone-indirect-buffer now runs the clone-indirect-buffer-hook. | 558 ** clone-indirect-buffer now runs the clone-indirect-buffer-hook. |
559 | |
499 ** `beginning-of-defun-function' now takes one argument, the count | 560 ** `beginning-of-defun-function' now takes one argument, the count |
500 given to `beginning-of-defun'. | 561 given to `beginning-of-defun'. |
501 | 562 |
502 ** The variable `inhibit-changing-match-data', if non-nil, prevents the | 563 ** The variable `inhibit-changing-match-data', if non-nil, prevents the |
503 search and match primitives from changing the match data. | 564 search and match primitives from changing the match data. |
504 | 565 |
505 +++ | 566 +++ |
549 | 610 |
550 ** `interprogram-paste-function' can now return one string or a list | 611 ** `interprogram-paste-function' can now return one string or a list |
551 of strings. In the latter case, Emacs puts the second and following | 612 of strings. In the latter case, Emacs puts the second and following |
552 strings on the kill ring. | 613 strings on the kill ring. |
553 | 614 |
615 ** Character code, representation, and charset changes. | |
616 | |
617 The character code space is now 0x0..0x3FFFFF with no gap. | |
618 Characters of code 0x0..0x10FFFF are Unicode characters of the same code points. | |
619 Characters of code 0x3FFF80..0x3FFFFF are raw 8-bit bytes. | |
620 | |
621 Generic characters no longer exist. | |
622 | |
623 In buffer and string, characters are represented by UTF-8 byte | |
624 sequence in a multibyte buffer/string. | |
625 | |
626 The concept of a charset has changed. A single character may belong to | |
627 multiple charsets (e.g. a-grave, U+00E0, belongs to charsets unicode, | |
628 iso-8859-1, iso-8859-3, etc). | |
629 | |
630 *** The new function `characterp' returns t if and only if the argument | |
631 is a character. | |
632 | |
633 *** The new function `max-char' returns the maximum character code | |
634 (currently it is #x3FFFFF). | |
635 | |
636 *** The functions `encode-char' and `decode-char' now accept any character sets. | |
637 | |
638 *** The function `define-charset' now accepts a completely different | |
639 form of arguments (old-style arguments still work). | |
640 | |
641 *** The new function `define-charset-alias' defines an alias of a charset. | |
642 | |
643 *** The value of the function `char-charset' depends on the current | |
644 priorities of charsets. | |
645 | |
646 *** The new function `charset-priority-list' returns the list of | |
647 charsets ordered by priority. | |
648 | |
649 *** The new function `set-charset-priority' sets priorities of charsets. | |
650 | |
651 *** The new function `unibyte-charset' returns the current unibyte | |
652 charset. The unibyte charset determines how unibyte/multibyte | |
653 conversion is done. | |
654 | |
655 *** The new function `set-unibyte-charset' sets the unibyte charset. | |
656 | |
657 *** The new function `unibyte-string' make a unibyte string from bytes. | |
658 | |
659 *** The new function `define-char-code-property' defines a character | |
660 code property. | |
661 | |
662 *** The new function `char-code-property-description' returns the | |
663 description string of a character code property. | |
664 | |
665 *** The function get-char-code-property now accepts many Unicode base | |
666 character properties. They are `name', `general-category', | |
667 `canonical-combining-class', `bidi-class', `decomposition', | |
668 `decimal-digit-value', `digit-value', `numeric-value', `mirrored', | |
669 `old-name', `iso-10646-comment', `uppercase', `lowercase', and | |
670 `titlecase'. | |
671 | |
672 *** The new variable `find-word-boundary-function-table' is a | |
673 char-table of functions to search for a word boundary. | |
674 | |
675 *** The new variable `char-script-table' is a char-table of script names. | |
676 | |
677 *** The new variable `char-width-table' is a char-table of character widths. | |
678 | |
679 *** The new variable `print-charset-text-property' controls how to | |
680 handle `charset' text property on printing a string. | |
681 | |
682 *** The new variable `printable-chars' is a char-table defining if a | |
683 character is printable or not. | |
684 | |
685 *** The functions `modify-syntax-entry' and `modify-category-entry' now | |
686 accepts a cons of characters as the first argument, and modify all | |
687 entries in that range of characters. | |
688 | |
689 *** The functions `char-bytes', `chars-in-region', and `char-valid-p' are | |
690 obsolete. | |
691 | |
692 ** Code conversion changes. | |
693 | |
694 *** The new function `define-coding-system' should be used to define a | |
695 coding system instead of `make-coding-system' (which is now obsolete). | |
696 | |
697 *** The functions `encode-coding-region' and `decode-coding-region' | |
698 have an optional 4th argument to specify where the result of | |
699 conversion should go. | |
700 | |
701 *** The functions `encode-coding-string' and `decode-coding-string' | |
702 have an optional 4th argument specifying a buffer to store the result | |
703 of conversion. | |
704 | |
705 *** The new function `with-coding-priority' executes the body part with | |
706 the specified coding system priority order. | |
707 | |
708 *** The new function `check-coding-systems-region' checks if the text | |
709 in the region is encodable by the specified coding systems. | |
710 | |
711 *** The new function `coding-system-aliases' returns a list of aliases | |
712 of a coding system. | |
713 | |
714 *** The new function `coding-system-charset-list' returns a list of | |
715 charsets supported by a coding system. | |
716 | |
717 *** The new function `coding-system-priority-list' returns a list of | |
718 coding systems ordered by their priorities. | |
719 | |
720 *** The new function `set-coding-system-priority' sets priorities of | |
721 coding systems. | |
722 | |
723 *** The functions `set-coding-priority' and `make-coding-system' are obsolete. | |
724 | |
725 ** There is a new input method, Robin, different from Quail. | |
726 It has three functionalities: | |
727 i) a simple input method (converts an ASCII sequence into a string). | |
728 ii) converts an existing buffer substring into another string | |
729 iii) reverse conversion (each character produced by a | |
730 robin rule can hold the original ASCII sequence as a char-code-property) | |
731 | |
732 *** The new function `robin-define-package' defines a Robin package. | |
733 | |
734 *** The new function `robin-modify-package' modifies an existing Robin package. | |
735 | |
736 *** The new function `robin-use-package' starts using a Robin package | |
737 as an input method. | |
738 | |
739 ** Composition changes. | |
740 | |
741 *** New functions and variables `auto-composition-mode' and | |
742 `global-auto-composition-mode' toggles the new minor mode Auto | |
743 Composition Mode locally and globally. | |
744 | |
745 *** New variable `auto-composition-function' is a function used in | |
746 Auto Composition Mode to compose characters. The default value is the | |
747 function `auto-compose-chars'. | |
748 | |
749 ** Font Backend changes. | |
750 | |
751 *** New frame parameter `font-backend' specifies a list of | |
752 font-backends supported by the frame's graphic device. On X, they are | |
753 currently `x' and `xft'. | |
754 | |
755 *** New function `fontp' checks if the argument is a font-spec or font-entity. | |
756 | |
757 *** New function `font-spec' creates a new font-spec object. | |
758 | |
759 *** New function `font-get' returns a font property value. | |
760 | |
761 *** New function `font-put' sets a font property value. | |
762 | |
763 *** New function `list-fonts' returns a list of font-entities matching | |
764 the given specification. | |
765 | |
766 *** New function `list-families' returns a list of family names of | |
767 available fonts. | |
768 | |
769 *** New function `font-font' returns a font-entity best matching with | |
770 the given specification. | |
771 | |
772 *** New function `font-xlfd-name' returns an XLFD name of a given font | |
773 (font-spec, font-entity, or font-object). | |
774 | |
775 *** New function `clear-font-cache' clears all font caches. | |
776 | |
777 *** The function `set-fontset-font' now accepts a script name as the | |
778 second argument, and has an optional 5th argument to control how to | |
779 set the font. | |
780 | |
554 ** Changes related to multiple tty support. | 781 ** Changes related to multiple tty support. |
555 | 782 |
556 *** $TERM is now set to `dumb' for subprocesses. If you want to know the | 783 *** $TERM is now set to `dumb' for subprocesses. If you want to know the |
557 $TERM inherited by Emacs you will have to look inside initial-environment. | 784 $TERM inherited by Emacs you will have to look inside initial-environment. |
558 | 785 |