@c -*-texinfo-*-@c This is part of the GNU Emacs Lisp Reference Manual.@c Copyright (C) 1999, 2002, 2003, 2004, 2005, 2006, 2007, 2008,@c 2009, 2010 Free Software Foundation, Inc.@c See the file elisp.texi for copying conditions.@c This node must have no pointers.@node Antinews, GNU Free Documentation License, System Interface, Top@appendix Emacs 22 Antinews@c Update the elisp.texi, vol1.texi, vol2.texi Antinews menu entries@c with the above version number.For those users who live backwards in time, here is information aboutdowngrading to Emacs version 22.3. We hope you will enjoy the greatersimplicity that results from the absence of many Emacs @value{EMACSVER}features.@section Old Lisp Features in Emacs 22@itemize @bullet@itemThe internal character representation used by Emacs is not longerbased on Unicode. In this representation, called @code{emacs-mule},each character belongs to one and only one script. Emacs makes noattempt to distinguish between ``similar'' characters occurring indifferent scripts.@itemThe @code{^} interactive spec code, the function@code{handle-shift-selection}, and the variable@code{this-command-keys-shift-translated} have all been removed.Shift-translated keys are no longer treated specially, making Emacs'handling of keybindings much more consistent.@itemTemporarily-active regions are not created by giving the variable@code{transient-mark-mode} values of the form @code{(only. @var{oldvar})}. We instead use a more complicated scheme:setting @code{transient-mark-mode} to @code{only} enables TransientMark mode for the following command only, during which the value of@code{transient-mark-mode} is set to @code{identity}; if it is still@code{identity} at the end of the command, Transient Mark mode isdisabled.@itemMany minibuffer functions, such as @code{read-file-name} and@code{minibuffer-complete}, have been rewritten in C for greaterspeed. The completion code has been considerably simplified; thecompletion style can no longer be changed via@code{completion-styles-alist}, and @code{completing-read} no longerrecognizes the special values @code{confirm-only} and@code{confirm-after-completion} for its @var{require-match} argument.@itemEmacs no longer supports explicitly-numbered groups in regularexpressions.@itemThe @code{permanent-local-hook} function property has no specialmeaning.@itemThe @code{functionp} function now returns @code{t} for special forms.@itemThe @code{interactive-form} symbol property has no special meaning.Once you supply a function with an interactive form, the only way tochange it is to redefine the function.@itemThe @code{ignore-errors} macro has been moved into the @code{cl}package.@itemVariables can now be both buffer-local and frame-local; buffer-localbindings take precedence over frame-local bindings.@itemFaces can no longer be remapped.@itemLisp programs now specify fonts by their names, which are stringsfollowing the XLFD (X logical font descriptor) format. Fonts are nolonger represented using a special set of ``font'' data types. Thevarious functions that act on these data types, such as @code{fontp},@code{font-spec}, and @code{list-fonts}, have all been deleted.@itemEmacs does not recognize the @code{FontBackend} X resource and the@code{font-backend} frame parameter. On the X Window System, fontsare always drawn using the X core font driver.@itemDisplay terminals are no longer represented using a ``terminal'' datatype; this is not necessary, because we have removed the ability todisplay on graphical and text-only terminals simultaneously. For thesame reason, the @code{window-system} variable is no longerframe-local, and the @code{window-system} function has been removed.@itemThe functions @code{list-system-processes} and@code{process-attributes} have been removed. To get information aboutsystem processes, call an external program, such as @command{ps}.@itemThe function @code{locate-user-emacs-file} and the variable@code{user-emacs-directory} have been removed. Instead, usehard-coded values pointing to @file{~/.emacs.d}.@item@code{vertical-motion} can no longer be told to move to a specificcolumn; it always puts point on the first column of a line.@itemWindows no longer have parameters.@itemThe @code{display-buffer} function has been rewritten in C. Itswindow-splitting heuristics are a little less sophisticated, and alittle less documented. Window-splitting is handled internally,instead of using @code{split-window-preferred-function} (which hasbeen removed). Windows are never split horizontally; the variable@code{split-width-threshold} has been removed.@itemThe @code{mode-name} variable now accepts only string values, andcannot take the form of a mode-line construct.@itemThe behavior of @code{map-char-table} has changed. It calls themapping function for every single character in the table, instead ofusing cons cells to represent contiguous character code ranges.@itemSeveral keymaps have been eliminated: @code{input-decode-map},@code{local-function-key-map}, @code{search-map},@code{multi-query-replace-map}, and@code{minibuffer-local-shell-command-map}.@itemMany functions have been removed, including: @code{buffer-swap-text},@code{emacs-init-time}, @code{emacs-uptime}, @code{use-region-p},@code{region-active-p}, @code{start-file-process},@code{process-lines}, @code{image-refresh},@code{match-substitute-replacement}, @code{word-search-forward-lax},and @code{word-search-backward-lax}.@itemMany variables have been removed, including @code{read-circle},@code{after-init-time} and @code{before-init-time},@code{generate-autoload-cookie}, @code{file-local-variables-alist},@code{replace-search-function} and @code{replace-re-search-function},@code{inhibit-changing-match-data}, @code{wrap-prefix}, and@code{line-prefix},@end itemize@ignore arch-tag: 1d0ef137-2bad-430e-ae8e-d820d569b5a6@end ignore