Emacs 22 Antinews
*****************

For those users who live backwards in time, here is information about downgrading to Emacs version 22.3.  We hope you will enjoy the greater simplicity that results from the absence of many Emacs EMACSVER features.

Old Lisp Features in Emacs 22
=============================

  * The internal character representation in Emacs is no longer Unicode-based; it is known as emacs-mule.  This representation can handle several different variants of the same character, each one belonging to its own script.  It marks each character with its script, to better discern them from one another.

  * The functionp function now returns t for special forms.

  * The ^ interactive spec code has been removed, together with the function handle-shift-selection and the variable this-command-keys-shift-translated.  Shift-translated keys are no longer treated specially, making Emacs' handling of keybindings that much more consistent.

  * The interactive-form symbol property is no longer recognized. Once you supply a function with an interactive form, the only way to change it is to redefine the function.

  * Emacs no longer creates temporarily-active regions by giving the variable transient-mark-mode values of the form (only . OLDVAR).  Instead, it uses a more slightly more complicated scheme: setting transient-mark-mode to only enables Transient Mark mode for the following command only, during which the value of transient-mark-mode is set to identity; if it is still identity at the end of the command, Transient Mark mode is disabled.

  * Many minibuffer functions, such as read-file-name and minibuffer-complete, have been rewritten in C.  The completion code has been considerably simplified; for instance, the completion style cannot be changed via completion-styles-alist, and completing-read no longer recognizes the special values confirm-only and confirm-after-completion for its REQUIRE-MATCH argument.

  * Explicitly numbered groups in regular expressions are no longer supported.

  * Faces can no longer be remapped.

  * Fonts are no longer represented using a special set of ``font'' data types.  Lisp programs may only specify fonts by name, as strings following the XLFD (X logical font descriptor) format.

  * Display terminals are no longer represented using a ``terminal'' data type.  This data type is not necessary, because Emacs can no longer display on graphical and text-only terminals simultaneously.  For the same reason, the window-system variable is no longer frame-local, and the window-system function has been removed.

  * The functions list-system-processes and process-attributes have been removed.  To get information about system processes, call an external program, such as ps.

  * Variables can now be both buffer-local and frame-local; buffer-local bindings take precedence over frame-local bindings.

  * Windows no longer have parameters.

  * The function locate-user-emacs-file and the variable user-emacs-directory have been removed.  Programs can instead use hard-coded values pointing to ~/.emacs.d.

  * vertical-motion can no longer be told to move to a specific column; it always puts point on the first column of a line.

  * Emacs no longer recognizes the permanent-local-hook property of local hook functions.

  * The ignore-errors macro has been moved into the cl package.

  * The mode-name variable now accepts only string values, and cannot take the form of a mode-line construct.

  * Several keymap have been eliminated: input-decode-map, local-function-key-map, search-map, multi-query-replace-map, and minibuffer-local-shell-command-map.

  * Many functions have been removed, including emacs-init-time, emacs-uptime, buffer-swap-text, use-region-p and region-active-p, start-file-process, process-lines, image-refresh, match-substitute-replacement, word-search-forward-lax, and word-search-backward-lax.

  * Many variables have been removed, including read-circle, before-init-time and after-init-time, generate-autoload-cookie, file-local-variables-alist, replace-search-function and replace-re-search-function, inhibit-changing-match-data, wrap-prefix and line-prefix,