Commit b350bdf2 authored by Chong Yidong's avatar Chong Yidong
Browse files

Rearrange items, and delete some duplicates.

parent 97e71655
...@@ -173,6 +173,10 @@ selection dialog instead of an Emacs pop-up menu. ...@@ -173,6 +173,10 @@ selection dialog instead of an Emacs pop-up menu.
*** The font setting chosen by "Set Default Font" is saved if the *** The font setting chosen by "Set Default Font" is saved if the
"Save Options" item is used. "Save Options" item is used.
*** The Tools menu contains a new Encryption/Decryption submenu.
This contains commands provided by EasyPG, the newly-included
interface to GnuPG (see New Modes and Packages).
*** The Options menu contains a new entry to turn on Longlines mode. *** The Options menu contains a new entry to turn on Longlines mode.
** Mode-line changes ** Mode-line changes
...@@ -238,7 +242,8 @@ new multi-tty support (see `Improved X Window System support' above). ...@@ -238,7 +242,8 @@ new multi-tty support (see `Improved X Window System support' above).
+++ +++
*** mark-even-if-inactive now defaults to t *** mark-even-if-inactive now defaults to t
+++ +++
*** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without activating it. *** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without
activating it.
+++ +++
*** When Transient Mark mode is on, M-q now fills the region if the *** When Transient Mark mode is on, M-q now fills the region if the
region is active. Otherwise, it fills the current paragraph. region is active. Otherwise, it fills the current paragraph.
...@@ -306,12 +311,9 @@ history element containing the search string becomes the current. ...@@ -306,12 +311,9 @@ history element containing the search string becomes the current.
** Face changes ** Face changes
*** The new function `face-all-attributes' returns an alist describing *** S-down-mouse-1 now pops up a menu for changing the font and text
all the basic attributes of a given face. size of the default face in the current buffer. The face is changed
via face remapping (see below).
*** S-down-mouse-1 now pops up a menu for changing the default font
and text size of the default face in the current buffer. The face is
changed via face remapping (see below).
*** FIXME face-remap *** FIXME face-remap
...@@ -322,8 +324,8 @@ makes the new region into the primary selection (for interaction with ...@@ -322,8 +324,8 @@ makes the new region into the primary selection (for interaction with
other window applications). If you enable this, you might want to other window applications). If you enable this, you might want to
bind `mouse-yank-primary' to Mouse-2. bind `mouse-yank-primary' to Mouse-2.
*** You can disable kill ring commands from accessing the primary selection *** You can disable kill ring commands from accessing the primary
by setting `x-select-enable-primary' to nil. selection by setting `x-select-enable-primary' to nil.
** Completion changes ** Completion changes
...@@ -335,9 +337,9 @@ completion style. ...@@ -335,9 +337,9 @@ completion style.
*** The new command `minibuffer-force-complete' chooses one of the *** The new command `minibuffer-force-complete' chooses one of the
possible completions, rather than stopping at the common prefix. possible completions, rather than stopping at the common prefix.
*** `completion-auto-help' can be set to `lazy' to list the completions only *** `completion-auto-help' can be set to `lazy' to list the
if you repeat the completion. This was already supported in completions only if you repeat the completion. This was already
`partial-completion-mode'. supported in `partial-completion-mode'.
** Continuation lines can be wrapped at word boundaries ** Continuation lines can be wrapped at word boundaries
(word-wrapping) instead of the right window edge. The new per-buffer (word-wrapping) instead of the right window edge. The new per-buffer
...@@ -354,12 +356,6 @@ lines are truncated. The default has been changed to 30. ...@@ -354,12 +356,6 @@ lines are truncated. The default has been changed to 30.
*** The new command balance-windows-area balances windows both *** The new command balance-windows-area balances windows both
vertically and horizontally. vertically and horizontally.
** Continuation lines can be wrapped at word boundaries
(word-wrapping) instead of the right window edge. The new per-buffer
variable `word-wrap', if non-nil turns on word-wrapping. Word
wrapping does not take place if continuation lines are not shown,
e.g. if truncate-lines is non-nil.
** Miscellaneous changes: ** Miscellaneous changes:
*** New keymap `search-map' bound to `M-s' provides global bindings *** New keymap `search-map' bound to `M-s' provides global bindings
...@@ -389,8 +385,8 @@ run processes remotely. ...@@ -389,8 +385,8 @@ run processes remotely.
*** The new command kill-matching-buffers kills buffers whose name *** The new command kill-matching-buffers kills buffers whose name
matches a regexp. matches a regexp.
*** The new commands `pp-macroexpand-expression' and `pp-macroexpand-last-sexp' *** The new commands `pp-macroexpand-expression' and
pretty-print macro expansions. `pp-macroexpand-last-sexp' pretty-print macro expansions.
* New Modes and Packages in Emacs 23.1 * New Modes and Packages in Emacs 23.1
...@@ -406,28 +402,20 @@ It uses `auto-composition-function' (default `auto-compose-chars'). ...@@ -406,28 +402,20 @@ It uses `auto-composition-function' (default `auto-compose-chars').
** bug-reference.el provides clickable links to bug reports. ** bug-reference.el provides clickable links to bug reports.
** copyright.el adds utilities for specifying copyright holders' names. ** copyright.el provides utilities for updating copyright notices in files.
*** Only copyright lines with holders matching copyright-names-regexp
will be considered for update.
*** The Copyright package looks for copyright at the end of the buffer
if `copyright-at-end-flag' is non-nil (change-log-mode sets this).
** dbus.el provides D-Bus language bindings. ** dbus.el provides D-Bus language bindings.
D-Bus is an inter-process communication mechanism for applications D-Bus is an inter-process communication mechanism for applications
residing on the same host, based on messages. See the manual for residing on the same host. See the manual for details.
details.
** Doc View Mode supports viewing of PDF, PostScript and DVI documents ** Doc View Mode allows viewing of PDF, PostScript and DVI documents.
inside an Emacs buffer. It works by converting the document to a set One can also search for a regular expression in the document. For
of PNG images first. One can also search for a regular expression in details, see the commentary in doc-view.el.
the document. The commentary in doc-view.el explains its usage.
** EasyPG is an all-in-one GnuPG interface. ** EasyPG provides an interface to the GNU Privacy Guard (GnuPG).
It includes GnuPG keyring browser, cryptographic operations on regions It includes a GnuPG keyring browser, cryptographic operations on
and files, and automatic encryption of *.gpg files. For details, see regions and files, and automatic encryption of *.gpg files. For
the EasyPG Assistant User's Manual. details, see the EasyPG Assistant User's Manual.
** json.el is a library for parsing and generating JSON ** json.el is a library for parsing and generating JSON
(JavaScript Object Notation), a lightweight data-interchange format. (JavaScript Object Notation), a lightweight data-interchange format.
...@@ -820,35 +808,22 @@ for the list of extra keys that are available. ...@@ -820,35 +808,22 @@ for the list of extra keys that are available.
* Incompatible Lisp Changes in Emacs 23.1 * Incompatible Lisp Changes in Emacs 23.1
** Variables cannot be both buffer-local and frame-local any more. ** Variables cannot be both buffer-local and frame-local any more.
** The argument DEFAULT of minibuffer input functions `read-from-minibuffer',
`read-string', `completing-read', `read-buffer', `read-command',
`read-variable' now can be a list of default values. The elements of
this list are available for inserting to the minibuffer with `M-n'.
If the user enters empty input, the first element is used as the default.
** `functionp' returns nil for special forms. ** `functionp' returns nil for special forms.
I.e., it only returns t for objects that can be passed to `funcall'. I.e., it only returns t for objects that can be passed to `funcall'.
+++
** The multibyteness of process filters is determined by the coding-system
used for decoding. The functions `process-filter-multibyte-p' and
`set-process-filter-multibyte' are obsolete.
** The behavior of map-char-table has changed. It may call the ** 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 specified function with a cons (FROM . TO) as a key if characters in
that range have the same value. that range have the same value.
** The value of the function `charset-id' is now always 0. ** Process changes
+++
** The functions `register-char-codings' and `coding-system-spec' *** The function `dired-call-process' has been removed.
have been removed.
** The cpXXX coding systems are now supported automatically. The
functions cp-...-codepage, which you had to use in Emacs 22 to enable
support for these coding systems, have been deleted.
+++ +++
** The function `dired-call-process' has been removed. *** The multibyteness of process filters is now determined by the
coding-system used for decoding. The functions
`process-filter-multibyte-p' and `set-process-filter-multibyte' are
obsolete.
** The variable `byte-compile-warnings' can now be a list starting with `not', ** The variable `byte-compile-warnings' can now be a list starting with `not',
meaning to disable the specified warnings. The meaning of this list meaning to disable the specified warnings. The meaning of this list
...@@ -861,167 +836,188 @@ checking/manipulating elements directly, use the new functions ...@@ -861,167 +836,188 @@ checking/manipulating elements directly, use the new functions
** `mode-name' is no longer guaranteed to be a string. ** `mode-name' is no longer guaranteed to be a string.
Use `(format-mode-line mode-name)' to ensure a string value. Use `(format-mode-line mode-name)' to ensure a string value.
** The following features have been removed. They were used for ** Internationalization changes
*** The value of the function `charset-id' is now always 0.
*** The functions `register-char-codings' and `coding-system-spec'
have been removed.
*** The cpXXX coding systems are now supported automatically.
The functions cp-...-codepage, which you had to use in Emacs 22 to
enable support for these coding systems, have been deleted.
*** The following features have been removed. They were used for
displaying various scripts with specific fonts, and are no longer displaying various scripts with specific fonts, and are no longer
needed now that OpenType font support is available: needed now that OpenType font support is available:
*** `devanagari' and `devan-util', and all associated devanagari-* and **** `devanagari' and `devan-util', and all associated devanagari-* and
dev-* functions and variables (formerly used for Devanagari script). dev-* functions and variables (formerly used for Devanagari script).
*** `kannada' and `knd-util', and all associated kannada-* and knd-* **** `kannada' and `knd-util', and all associated kannada-* and knd-*
functions and variables (formerly used for Kannada script). functions and variables (formerly used for Kannada script).
*** `malayalam' and `mlm-util', and all associated malayalam-* and **** `malayalam' and `mlm-util', and all associated malayalam-* and
mlm-* functions and variables (formerly used for Malayalam script). mlm-* functions and variables (formerly used for Malayalam script).
*** `tamil' and `tml-util, and all associated tamil-* and tml-* **** `tamil' and `tml-util, and all associated tamil-* and tml-*
functions and variables (formerly used for Tamil script). functions and variables (formerly used for Tamil script).
* Lisp Changes in Emacs 23.1 * Lisp Changes in Emacs 23.1
** bookmark provides `bookmark-make-record-function' so special major modes +++
like Info can teach bookmark.el how to save&restore the relevant data. ** New variable `user-emacs-directory'.
Use this instead of "~/.emacs.d".
** The new variable next-error-recenter specifies how next-error should ** If a local hook function has a non-nil `permanent-local-hook'
recenter the visited source file. Its value can be a number (for example, property, `kill-all-local-variables' does not remove it from the local
0 for top line, -1 for bottom line), or nil for no recentering. value of the hook variable; it remains even if you change major modes.
** Emacs session information ** `frame-inherited-parameters' lets new frames inherit parameters from
the selected frame.
*** The new variables `before-init-time' and `after-init-time' record the ** New keymap `input-decode-map' overrides like key-translation-map, but
value of `current-time' before and after Emacs loads the init files. applies before function-key-map. Also it is terminal-local contrary to
key-translation-map. Terminal-specific key-sequences are generally added to
this map rather than to function-key-map now.
*** The new function `emacs-uptime' returns the uptime of an Emacs instance. ** `ignore-errors' is now a standard macro (does not require the CL package).
*** The new function `emacs-init-time' returns the duration of the ** `interprogram-paste-function' can now return one string or a list
Emacs initialization. of strings. In the latter case, Emacs puts the second and following
strings on the kill ring.
** The new function `format-seconds' converts a number of seconds into a +++
readable string of days, hours, etc. ** In `condition-case', a handler can specify "let the debugger run first".
You do this by writing `debug' in the list of conditions to be handled,
like this:
** set-file-modes is now interactive and can take the mode value in (condition-case nil
symbolic notation thanks to auxiliary functions. (foo bar)
((debug error) nil))
** If you set find-file-confirm-nonexistent-file to t, then C-x C-f ** clone-indirect-buffer now runs the clone-indirect-buffer-hook.
requires confirmation before opening a non-existent file.
** Built-in functions (subr) can now have an interactive specification ** `beginning-of-defun-function' now takes one argument, the count
that is not a prompt string. If the `intspec' parameter of a `DEFUN' given to `beginning-of-defun'.
starts with a `(', the string is evaluated as a Lisp form.
** Changes affecting display-buffer +++
*** New value nil for split-height-threshold inhibits vertical splitting ** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED.
unless there's no other window. IDENTIFICATION specifies which part of the remote identifier has to be
*** New option split-width-threshold controls horizontal splitting. returned. With CONNECTED passed non-nil, it is checked whether a
*** A window can be split horizontally even when it's not full-width. remote connection has been established already.
*** New option split-window-preferred-function can be set to a function
to override the default splitting mechanism of display-buffer.
** The variable window-point-insertion-type determines the insertion-type ** The new macro `declare-function' suppresses compiler warnings about
of the marker used for window-point. undefined functions.
** minibuffer-local-must-match-filename-map is now named ** Changes to interactive function handling
minibuffer-local-filename-must-match-map.
** `all-completions' may now return the base size in the last cdr. *** The new interactive spec code ^ says to first call
Since this means the returned list is not properly nil-terminated, this handle-shift-selection if shift-select-mode is non-nil, before reading
is an incompatible change and is thus enabled by the new variable the command arguments. This is used for shift-selection (see above).
completion-all-completions-with-base-size.
** New function `apply-partially' for curried application. *** Built-in functions can now have an interactive specification that
is not a prompt string. If the `intspec' parameter of a `DEFUN'
starts with a `(', the string is evaluated as a Lisp form.
** `fill-forward-paragraph-function' specifies which function the filling *** The interactive-form of a function can be added post-facto via the
code should use to find paragraph boundaries. `interactive-form' symbol property. Mostly useful to add complex
interactive forms to subroutines.
** The variable `this-command-keys-shift-translated' is non-nil if the ** Region changes
key sequence invoking the current command was found by
shift-translation.
** The new interactive spec code ^ says to first call *** Commands should use `use-region-p' to test whether there is
handle-shift-selection if shift-select-mode is non-nil, before reading an active region that they should operate on.
the command arguments.
** When deleting a terminal, the special hook `delete-terminal-functions' *** `region-active-p' returns non-nil when Transient Mark mode is
is run. enabled and there is an active region. This is NOT the best function
to use to test whether a command should operate on the region instead
of the usual behavior -- for that, use `use-region-p'.
** The `read-shell-command' function does what its name says, with completion. *** If a command sets `transient-mark-mode' to (only . OLDVAL), that
It uses the minibuffer-local-shell-command-map for that. means to activate transient-mark-mode temporarily, until the next
unshifted point motion command or mark deactivation. Afterwards,
reset transient-mark-mode to the value OLDVAL. The values `only' and
`identity', introduced in Emacs 22, are now deprecated.
** The `buffer-swap-text' function can swap the text between two buffers. ** Emacs session information
This can be useful for modes such as tar-mode, archive-mode, RMAIL.
** `clear-image-cache' can be told to flush only images of a specific file. *** The new variables `before-init-time' and `after-init-time' record the
value of `current-time' before and after Emacs loads the init files.
** clone-indirect-buffer now runs the clone-indirect-buffer-hook. *** The new function `emacs-uptime' returns the uptime of an Emacs instance.
** `beginning-of-defun-function' now takes one argument, the count *** The new function `emacs-init-time' returns the duration of the
given to `beginning-of-defun'. Emacs initialization.
** The variable `inhibit-changing-match-data', if non-nil, prevents the ** Changes affecting display-buffer
search and match primitives from changing the match data.
+++ *** New value nil for split-height-threshold inhibits vertical splitting
** New function `match-substitute-replacement' returns the result of unless there's no other window.
`replace-match' without actually using it in the buffer.
** The new variable `replace-search-function' determines the function *** New option split-width-threshold controls horizontal splitting.
to use for searching in query-replace and replace-string.
** The new variable `replace-re-search-function' determines the *** A window can be split horizontally even when it's not full-width.
function to use for searching in `query-replace-regexp',
`replace-regexp', + `query-replace-regexp-eval', and
`map-query-replace-regexp'.
** If a local hook function has a non-nil `permanent-local-hook' *** New option split-window-preferred-function can be set to a function
property, then `kill-all-local-variables' does not remove it from to override the default splitting mechanism of display-buffer.
the local value of the hook variable. This means it remains
even if you change major modes.
** Minibuffer and completion changes
+++ +++
** A list of default values can be specified for the DEFAULT argument of *** A list of default values can be specified for the DEFAULT argument of
functions `read-from-minibuffer', `read-string', `read-command', functions `read-from-minibuffer', `read-string', `read-command',
`read-variable', `read-buffer', `completing-read'. Elements of this list `read-variable', `read-buffer', `completing-read'. Elements of this list
are available for inserting into the minibuffer by typing `M-n'. are available for inserting into the minibuffer by typing `M-n'.
For empty input these functions return the first element of this list. For empty input these functions return the first element of this list.
** `custom-note-var-changed' tells Custom to treat the change in a certain *** minibuffer-local-must-match-filename-map is now named
variable as having been made within Custom. minibuffer-local-filename-must-match-map.
** `frame-inherited-parameters' lets new frames inherit parameters from *** `all-completions' may now return the base size in the last cdr.
the selected frame. Since this means the returned list is not properly nil-terminated, this
is an incompatible change and is thus enabled by the new variable
completion-all-completions-with-base-size.
** Commands should use `use-region-p' to test whether there is *** The `require-match' argument to `completing-read' accepts a new value
an active region that they should operate on. `confirm-only'.
** `region-active-p' returns non-nil when Transient Mark mode ** Search and replacement changes
is enabled and there is an active region. This is NOT the best function +++
to use to test whether a command should operate on the region instead *** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly.
of the usual behavior -- for that, use `use-region-p'. +++
*** New function `match-substitute-replacement' returns the result of
`replace-match' without actually using it in the buffer.
** If a command sets `transient-mark-mode' to (only . OLDVAL), that *** The new variable `replace-search-function' determines the function
means to activate transient-mark-mode temporarily, until the next to use for searching in query-replace and replace-string.
unshifted point motion command or mark deactivation. Afterwards,
reset transient-mark-mode to the value OLDVAL. The values `only' and
`identity', introduced in Emacs 22, are now deprecated.
** New keymap `input-decode-map' overrides like key-translation-map, but *** The new variable `replace-re-search-function' determines the
applies before function-key-map. Also it is terminal-local contrary to function to use for searching in `query-replace-regexp',
key-translation-map. Terminal-specific key-sequences are generally added to `replace-regexp', `query-replace-regexp-eval', and
this map rather than to function-key-map now. `map-query-replace-regexp'.
** The new macro `declare-function' suppresses compiler warnings about *** The variable `inhibit-changing-match-data', if non-nil, prevents
undefined functions. The new `check-declare' package verifies that such the search and match primitives from changing the match data.
statements are accurate (i.e. the functions are actually defined in
the specified files).
** `ignore-errors' is now a standard macro (does not require the CL package). ** File handling changes
** The new function `read-color' reads a color name using the minibuffer. *** set-file-modes is now interactive and can take the mode value in
symbolic notation thanks to auxiliary functions.
** `interprogram-paste-function' can now return one string or a list *** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
of strings. In the latter case, Emacs puts the second and following requires confirmation before opening a non-existent file.
strings on the kill ring.
** Process changes
+++
*** The new function `start-file-process' is similar to `start-process',
but obeys file handlers. The file handler is chosen based on
`default-directory'. The functions `start-file-process-shell-command'
and `process-file-shell-command' are also new; they call internally
`start-file-process' and `process-file', respectively.
*** The new function `process-lines' executes an external program and
returns its output as a list of lines.
** Character code, representation, and charset changes. ** Character code, representation, and charset changes.
...@@ -1031,42 +1027,21 @@ Characters of code 0x3FFF80..0x3FFFFF are raw 8-bit bytes. ...@@ -1031,42 +1027,21 @@ Characters of code 0x3FFF80..0x3FFFFF are raw 8-bit bytes.
Generic characters no longer exist. Generic characters no longer exist.
In buffer and string, characters are represented by UTF-8 byte In buffers and strings, characters are represented by UTF-8 byte
sequence in a multibyte buffer/string. sequences 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. This replaces `char-valid-p', which is now obsolete.
*** The new function `max-char' returns the maximum character code The concept of a charset has changed. A single character may belong
(currently it is #x3FFFFF). to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets
unicode, iso-8859-1, iso-8859-3, etc).
*** The functions `encode-char' and `decode-char' now accept any character sets. *** The functions `encode-char' and `decode-char' now accept any character sets.
*** The function `define-charset' now accepts a completely different *** The function `define-charset' now accepts a completely different
form of arguments (old-style arguments still work). 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 *** The value of the function `char-charset' depends on the current
priorities of charsets. 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-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 *** The function get-char-code-property now accepts many Unicode base
character properties. They are `name', `general-category', character properties. They are `name', `general-category',
`canonical-combining-class', `bidi-class', `decomposition', `canonical-combining-class', `bidi-class', `decomposition',
...@@ -1074,24 +1049,46 @@ character properties. They are `name', `general-category', ...@@ -1074,24 +1049,46 @@ character properties. They are `name', `general-category',
`old-name', `iso-10646-comment', `uppercase', `lowercase', and `old-name', `iso-10646-comment', `uppercase', `lowercase', and
`titlecase'. `titlecase'.
*** The new variable `find-word-boundary-function-table' is a *** The functions `modify-syntax-entry' and `modify-category-entry' now
char-table of functions to search for a word boundary. accept a cons of characters as the first argument, and modify all
entries in that range of characters.
*** The new variable `char-script-table' is a char-table of script names. +++
*** `translation-table-for-input' is now obsolete.
*** The new variable `char-width-table' is a char-table of character widths. *** New functions:
*** The new variable `print-charset-text-property' controls how to **** `characterp' returns t if and only if the argument is a character.
handle `charset' text property on printing a string. This replaces `char-valid-p', which is now obsolete.
*** The new variable `printable-chars' is a char-table defining if a **** `max-char' returns the maximum character code (currently #x3FFFFF).
character is printable or not.
*** The functions `modify-syntax-entry' and `modify-category-entry' now **** `define-charset-alias' defines an alias of a charset.
accepts a cons of characters as the first argument, and modify all
entries in that range of characters. **** `set-charset-priority' sets priorities of charsets.
+++
*** `translation-table-for-input' is now obsolete. **** `charset-priority-list' returns a prioritized list of charsets.
**** `unibyte-string' makes a unibyte string from bytes.
**** `define-char-code-property' defines a character code property.
**** `char-code-property-description' returns the description string of
a character code property.
*** New variables:
**** `find-word-boundary-function-table' is a char-table of functions to
search for a word boundary.
**** `char-script-table' is a char-table of script names.
**** `char-width-table' is a char-table of character widths.
**** `print-charset-text-property' controls how to handle `charset' text
property on printing a string.
**** `printable-chars' is a char-table of printable characters.
** Code conversion changes ** Code conversion changes
...@@ -1106,25 +1103,25 @@ conversion should go. ...@@ -1106,25 +1103,25 @@ conversion should go.
have an optional 4th argument specifying a buffer to store the result have an optional 4th argument specifying a buffer to store the result
of conversion. of conversion.
*** The new function `with-coding-priority' executes the body part with *** The functions `set-coding-priority' and `make-coding-system' are obsolete.