view man/anti.texi @ 73331:f21883dcffa9

Merge from upstream, upto version 5.22. After 5.0: `cperl-add-tags-recurse-noxs-fullpath': new function (for -batch mode) After 5.1: ;; Major edit. Summary of most visible changes: ;; a) Multiple <<HERE per line allowed. ;; b) Handles multiline subroutine declaration headers (with comments). ;; (The exception is `cperl-etags' - but it is not used in the rest ;; of the mode.) ;; c) Fontifies multiline my/our declarations (even with comments, ;; and with legacy `font-lock'). ;; d) Major speedup of syntaxification, both immediate and postponed ;; (3.5x to 15x [for different CPUs and versions of Emacs] on the ;; huge real-life document I tested). ;; e) New bindings, edits to imenu. ;; f) "_" is made into word-char during fontification/syntaxification; ;; some attempts to recognize non-word "_" during other operations too. ;; g) Detect bug in Emacs with `looking-at' inside `narrow' and bulk out. ;; h) autoload some more perldoc-related stuff ;; i) Some new convenience features: ISpell POD/HEREDOCs, narrow-to-HEREDOC ;; j) Attempt to incorporate XEmacs edits which reached me Fine-grained changelog: `cperl-hook-after-change': New configuration variable `cperl-vc-sccs-header': Likewise. `cperl-vc-sccs-header': Likewise. `cperl-vc-header-alist': Default via two preceding variables `cperl-invalid-face': Remove double quoting under XEmacs (still needed under 21.2) `cperl-tips': Update URLs for resources `cperl-problems': Likewise. `cperl-praise': Mention new features New C-c key bindings: for `cperl-find-bad-style', `cperl-pod-spell', `cperl-here-doc-spell', `cperl-narrow-to-here-doc', `cperl-perdoc', `cperl-perldoc-at-point' CPerl Mode menu changes: "Fix style by spaces", "Imenu on Perl Info" moved, new submenu of Tools with Ispell entries and narrowing. `cperl-after-sub-regexp': New defsubst `cperl-imenu--function-name-regexp-perl': Use `cperl-after-sub-regexp', Allows heads up to head4 Allow "package;" `defun-prompt-regexp': Use `cperl-after-sub-regexp', `paren-backwards-message': ??? Something for XEmacs??? `cperl-mode': Never auto-switch abbrev-mode off Try to allow '_' be non-word char Do not use `font-lock-unfontify-region-function' on XEmacs Reset syntax cache on mode start Support multiline facification (even on legacy `font-lock') `cperl-facemenu-add-face-function': ??? Some contributed code ??? `cperl-after-change-function': Since `font-lock' and `lazy-lock' refuse to inform us whether the fontification is due to lazy calling or due to edit to a buffer, install our own hook (controlled by `cperl-hook-after-change') `cperl-electric-pod': =cut may have been recognized as start `cperl-block-p': Moved, updated for attributes `cperl-calculate-indent': Try to allow '_' be non-word char Support subs with attributes `cperl-where-am-i': Queit (?) a warning `cperl-cached-syntax-table' New function `cperl-forward-re': Use `cperl-cached-syntax-table' `cperl-unwind-to-safe': Recognize `syntax-type' property changing in a middle of line `cperl-find-sub-attrs': New function `cperl-find-pods-heres': Allow many <<EOP per line Allow subs with attributes Major speedups (3.5x..15x on a real-life test file nph-proxy.pl) Recognize "extproc " (OS/2) case-folded and only at start /x on s///x with empty replacement was not recognized Better comments `cperl-after-block-p': Remarks on diff with `cperl-block-p' Allow subs with attributes, labels Do not confuse "else::foo" with "else" Minor optimizations... `cperl-after-expr-p': Try to allow '_' be non-word char `cperl-fill-paragraph': Try to detect a major bug in Emacs with `looking-at' inside `narrow' and bulk out if found `cperl-imenu--create-perl-index': Updates for new `cperl-imenu--function-name-regexp-perl' `cperl-outline-level': Likewise. `cperl-init-faces': Allow multiline subroutine headers and my/our declarations, and ones with comments Allow subroutine attributes `cperl-imenu-on-info': Better docstring. `cperl-etags' Rudimentary support for attributes Support for packages and "package;" `cperl-add-tags-recurse-noxs': Better (?) docstring `cperl-add-tags-recurse-noxs-fullpath': Likewise. `cperl-tags-hier-init': Misprint for `fboundp' fixed `cperl-not-bad-style-regexp': Try to allow '_' be non-word char `cperl-perldoc': Add autoload `cperl-perldoc-at-point': Likewise. `cperl-here-doc-spell': New function `cperl-pod-spell': Likewise. `cperl-map-pods-heres': Likewise. `cperl-get-here-doc-region': Likewise. `cperl-font-lock-fontify-region-function': Likewise (backward compatibility for legacy `font-lock') `cperl-font-lock-unfontify-region-function': Fix style `cperl-fontify-syntaxically': Recognize and optimize away deferred calls with no-change. Governed by `cperl-hook-after-change' `cperl-fontify-update': Recognize that syntaxification region can be larger than fontification one. XXXX we leave `cperl-postpone' property, so this is quadratic... `cperl-fontify-update-bad': Temporary placeholder until it is clear how to implement `cperl-fontify-update'. `cperl-time-fontification': New function `attrib-group': New text attribute `multiline': New value: `syntax-type' text attribute After 5.2: `cperl-emulate-lazy-lock': New function `cperl-fontify-syntaxically': Would skip large regions Add `cperl-time-fontification', `cperl-emulate-lazy-lock' to menu Some globals were declared, but uninitialized After 5.3, 5.4: `cperl-facemenu-add-face-function': Add docs, fix U<> Copyright message updated. `cperl-init-faces': Work around a bug in `font-lock'. May slow facification down a bit. Misprint for my|our|local for old `font-lock' "our" was not fontified same as "my|local" Highlight variables after "my" etc even in a middle of an expression Do not facify multiple variables after my etc unless parentheses are present After 5.5, 5.6 `cperl-fontify-syntaxically': after-change hook could reset `cperl-syntax-done-to' to a middle of line; unwind to BOL. After 5.7: `cperl-init-faces': Allow highlighting of local ($/) `cperl-problems-old-emaxen': New variable (for the purpose of DOCSTRING). `cperl-problems': Remove fixed problems. `cperl-find-pods-heres': Recognize #-comments in m##x too Recognize charclasses (unless delimiter is \). `cperl-fontify-syntaxically': Unwinding to safe was done in wrong order `cperl-regexp-scan': Update docs `cperl-beautify-regexp-piece': use information got from regexp scan After 5.8: Major user visible changes: Recognition and fontification of character classes in RExen. Variable indentation of RExen according to groups `cperl-find-pods-heres': Recognize POSIX classes in REx charclasses Fontify REx charclasses in variable-name face Fontify POSIX charclasses in "type" face Fontify unmatched "]" in function-name face Mark first-char of HERE-doc as `front-sticky' Reset `front-sticky' property when needed `cperl-calculate-indent': Indents //x -RExen accordning to parens level `cperl-to-comment-or-eol': Recognize ends of `syntax-type' constructs `cperl-backward-to-noncomment': Recognize stringy `syntax-type' constructs Support `narrow'ed buffers. `cperl-praise': Remove a reservation `cperl-make-indent': New function `cperl-indent-for-comment': Use `cperl-make-indent' `cperl-indent-line': Likewise. `cperl-lineup': Likewise. `cperl-beautify-regexp-piece': Likewise. `cperl-contract-level': Likewise. `cperl-toggle-set-debug-unwind': New function New menu entry for this `fill-paragraph-function': Use when `boundp' `cperl-calculate-indent': Take into account groups when indenting RExen `cperl-to-comment-or-eol': Recognize # which end a string `cperl-modify-syntax-type': Make only syntax-table property non-sticky `cperl-fill-paragraph': Return t: needed for `fill-paragraph-function' `cperl-fontify-syntaxically': More clear debugging message `cperl-pod2man-build-command': XEmacs portability: check `Man-filter-list' `cperl-init-faces': More complicated highlight even on XEmacs (new) Merge cosmetic changes from XEmacs After 5.9: `cperl-1+': Moved to before the first use `cperl-1-': Likewise. After 5.10: This code may lock Emacs hard!!! Use on your own risk! `cperl-font-locking': New internal variable `cperl-beginning-of-property': New function `cperl-calculate-indent': Use `cperl-beginning-of-property' instead of `previous-single-property-change' `cperl-unwind-to-safe': Likewise. `cperl-after-expr-p': Likewise. `cperl-get-here-doc-region': Likewise. `cperl-font-lock-fontify-region-function': Likewise. `cperl-to-comment-or-eol': Do not call `cperl-update-syntaxification' recursively Bound `next-single-property-change' via `point-max' `cperl-unwind-to-safe': Bound likewise `cperl-font-lock-fontify-region-function': Likewise. `cperl-find-pods-heres': Mark as recursive for `cperl-to-comment-or-eol' Initialization of `cperl-font-lock-multiline-start' could be missed if the "main" fontification did not run due to the keyword being already fontified. `cperl-pod-spell': Return t from do-one-chunk function `cperl-map-pods-heres': Stop when the worker returns nil Call `cperl-update-syntaxification' `cperl-get-here-doc-region': Call `cperl-update-syntaxification' `cperl-get-here-doc-delim': Remove unused function After 5.11: The possible lockup of Emacs (introduced in 5.10) fixed `cperl-unwind-to-safe': `cperl-beginning-of-property' won't return nil `cperl-syntaxify-for-menu': New customization variable `cperl-select-this-pod-or-here-doc': New function `cperl-get-here-doc-region': Extra argument Do not adjust pos by 1 New menu entries (Perl/Tools): Selection of current POD or HERE-DOC section (Debugging CPerl:) backtrace on fontification After 5.12: `cperl-cached-syntax-table': use `car-safe' `cperl-forward-re': Remove spurious argument SET-ST Add documentation `cperl-forward-group-in-re': New function `cperl-find-pods-heres': Find and highlight (?{}) blocks in RExen (XXXX Temporary (?) hack is to syntax-mark them as comment) After 5.13: `cperl-string-syntax-table': Make { and } not-grouping (Sometimes they ARE grouping in RExen, but matching them would only confuse in many situations when they are not) `beginning-of-buffer': Replaced two occurences with goto-char... `cperl-calculate-indent': `char-after' could be nil... `cperl-find-pods-heres': REx can start after "[" too Hightlight (??{}) in RExen too `cperl-maybe-white-and-comment-rex': New constant `cperl-white-and-comment-rex': Likewise. XXXX Not very efficient, but hard to make better while keeping 1 group After 5.13: `cperl-find-pods-heres': $foo << identifier() is not a HERE-DOC Likewise for 1 << identifier After 5.14: `cperl-find-pods-heres': Different logic for $foo .= <<EOF etc Error-less condition-case could fail `cperl-font-lock-fontify-region-function': Likewise. `cperl-init-faces': Likewise. After 5.15: `cperl-find-pods-heres': Support property REx-part2 `cperl-calculate-indent': Likewise. Don't special-case REx with non-empty 1st line `cperl-find-pods-heres': In RExen, highlight non-literal backslashes Invert highlighting of charclasses: now the envelop is highlighted Highlight many others 0-length builtins `cperl-praise': Mention indenting and highlight in RExen After 5.15: `cperl-find-pods-heres': Highlight capturing parens in REx After 5.16: `cperl-find-pods-heres': Highlight '|' for alternation Initialize `font-lock-warning-face' if not present `cperl-find-pods-heres': Use `font-lock-warning-face' instead of `font-lock-function-name-face' `cperl-look-at-leading-count': Likewise. `cperl-find-pods-heres': localize `font-lock-variable-name-face' `font-lock-keyword-face' (needed for batch processing) etc Use `font-lock-builtin-face' for builtin in REx Now `font-lock-variable-name-face' is used for interpolated variables Use "talking aliases" for faces inside REx Highlight parts of REx (except in charclasses) according to the syntax and/or semantic Syntax-mark a {}-part of (?{}) as "comment" (it was the ()-part) Better logic to distinguish what is what in REx `cperl-tips-faces': Document REx highlighting `cperl-praise': Mention REx syntax highlight etc. After 5.17: `cperl-find-sub-attrs': Would not always manage to print error message `cperl-find-pods-heres': localize `font-lock-constant-face' After 5.18: `cperl-find-pods-heres': Misprint in REx for parsing REx Very minor optimization `my-cperl-REx-modifiers-face' got quoted Recognize "print $foo <<END" as HERE-doc Put `REx-interpolated' text attribute if needed `cperl-invert-if-unless-modifiers': New function `cperl-backward-to-start-of-expr': Likewise. `cperl-forward-to-end-of-expr': Likewise. `cperl-invert-if-unless': Works in "the opposite way" too Cursor position on return is on the switch-word Indents comments better `REx-interpolated': New text attribute `cperl-next-interpolated-REx': New function `cperl-next-interpolated-REx-0': Likewise. `cperl-next-interpolated-REx-1': Likewise. "\C-c\C-x", "\C-c\C-y", "\C-c\C-v": New keybinding for these functions Perl/Regexp menu: 3 new entries for `cperl-next-interpolated-REx' `cperl-praise': Mention finded interpolated RExen After 5.19: `cperl-init-faces': Highlight %$foo, @$foo too `cperl-short-docs': Better docs for system, exec `cperl-find-pods-heres': Better detect << after print {FH} <<EOF etc. Would not find HERE-doc ended by EOF without NL `cperl-short-docs': Correct not-doubled \-escapes start block: Put some `defvar' for stuff gone from XEmacs After 5.20: initial comment: Extend copyright, fix email address `cperl-indent-comment-at-column-0': New customization variable `cperl-comment-indent': Indentation after $#a would increasy by 1 `cperl-mode': Make `defun-prompt-regexp' grok BEGIN/END etc `cperl-find-pods-heres': Mark CODE of s///e as `syntax-type' `multiline' `cperl-at-end-of-expr': Would fail if @BAR=12 follows after ";" `cperl-init-faces': If `cperl-highlight-variables-indiscriminately' highlight $ in $foo too (UNTESTED) `cperl-set-style': Docstring missed some available styles toplevel: Menubar/Perl/Indent-Styles had FSF, now K&R Change "Current" to "Memorize Current" `cperl-indent-wrt-brace': New customization variable; the default is as for pre-5.2 version `cperl-styles-entries': Keep `cperl-extra-newline-before-brace-multiline' `cperl-style-alist': Likewise. `cperl-fix-line-spacing': Support `cperl-merge-trailing-else' being nil, and `cperl-extra-newline-before-brace' etc being t `cperl-indent-exp': Plans B and C to find continuation blocks even if `cperl-extra-newline-before-brace' is t After 5.21: Improve some docstrings concerning indentation. `cperl-indent-rules-alist': New variable `cperl-sniff-for-indent': New function name (separated from `cperl-calculate-indent') `cperl-calculate-indent': Separated the sniffer and the indenter; uses `cperl-sniff-for-indent' now `cperl-comment-indent': Test for `cperl-indent-comment-at-column-0' was inverted; Support `comment-column' = 0
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 11 Oct 2006 06:47:35 +0000
parents 80778fbed0d1
children abd25d5e5b63 858cb33ae39d
line wrap: on
line source

@c This is part of the Emacs manual.
@c Copyright (C) 2005, 2006 Free Software Foundation, Inc.
@c See file emacs.texi for copying conditions.

@node Antinews, Mac OS, X Resources, Top
@appendix Emacs 21 Antinews

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

@itemize @bullet

@item
The buffer position and line number are now displayed at the end of
the mode line, where they can be more easily seen.

@item
The mode line of the selected window is no longer displayed with a
special face.  All mode lines are created equal.  Meanwhile, you can
use the variable @code{mode-line-inverse-video} to control whether
mode lines are highlighted at all---@code{nil} means don't highlight
them.

@item
Clicking on a link with the left mouse button (@kbd{mouse-1}) will
always set point at the position clicked, instead of following the
link.  If you want to follow the link, use the middle mouse button
(@kbd{mouse-2}).

@item
Emacs is tired of X droppings.  If you drop a file or a piece of text
onto an Emacs window, nothing will happen.

@item
On an xterm, even if you enable Xterm Mouse mode, Emacs provides a
more convincing simulation of a text terminal by not responding to
mouse clicks on the mode line, header line, or display margin.

@item
For simplicity, windows always have fringes.  We wouldn't want to
in-fringe anyone's windows.  Likewise, horizontal scrolling always
works in the same automatic way.

@item
The horizontal-bar cursor shape has been removed.

@item
If command line arguments are given, Emacs will not display a splash
screen, so that you can immediately get on with your editing.  The
command-line option @samp{--no-splash} is therefore obsolete, and has
been removed.

@item
The command line options @samp{--color}, @samp{--fullwidth},
@samp{--fullheight}, @samp{--fullscreen}, @samp{--no-blinking-cursor},
@samp{--no-desktop}, and @samp{-Q} have also been removed.

@item
The @samp{--geometry} option applies only to the initial frame, and
the @samp{-f} option will not read arguments for interactive
functions.

@item
We have standardized on one location for the user init file: the file
named @file{.emacs} in your home directory.  Emacs will not look for
the init file in @file{~/.emacs.d/init.el}.  Similarly, don't try
putting @file{.emacs_SHELL} in @file{~/.emacs.d}; Emacs won't find it.

@item
Emacs will not read @file{~/.abbrev_defs} automatically.  If you want
to load abbrev definitions from a file, you must always do so
explicitly.

@item
When you are logged in as root, all files now give you writable
buffers, reflecting the fact that you can write any files.

@item
The maximum size of buffers and integer variables has been halved.  On
32-bit machines, the maximum buffer size is now 128 megabytes.

@item
An unquoted @samp{$} in a file name is now an error, if the following
name is not recognized as an environment variable.  Thus,
the file name @file{foo$bar} would probably be an error.  Meanwhile,
the @code{setenv} command does not expand @samp{$} at all.

@item
If a single command accumulates too much undo information, Emacs never
discards it.  If Emacs runs out of memory as a result, it will handle
this by crashing.

@item
Many commands have been removed from the menus or rearranged.

@item
The @kbd{C-h} (help) subcommands have been rearranged---especially
those that display specific files.  Type @kbd{C-h C-h} to see a list
of these commands; that will show you what is different.

@item
The @kbd{C-h v} and @kbd{C-h f} commands no longer show a hyperlink to
the C source code, even if it is available.  If you want to find the
source code, grep for it.

@item
The apropos commands will not accept a list of words to match, in
order to encourage you to be more specific.  Also, the user option
@code{apropos-sort-by-scores} has been removed.

@item
The minibuffer prompt is now displayed using the default face.
The colon is enough to show you what part is the prompt.

@item
Minibuffer completion commands always complete the entire minibuffer
contents, just as if you had typed them at the end of the minibuffer,
no matter where point is actually located.

@item
The command @code{backward-kill-sexp} is now bound to @kbd{C-M-delete}
and @kbd{C-M-backspace}.  Be careful when using these key sequences!
It may shut down your X server, or reboot your operating system.

@item
Commands to set the mark at a place away from point, including
@kbd{M-@@}, @kbd{M-h}, etc., don't do anything special when you repeat
them.  In most cases, typing these commands multiple times is
equivalent to typing them once.  @kbd{M-h} ignores numeric arguments.

@item
The user option @code{set-mark-command-repeat-pop} has been removed.

@item
@kbd{C-@key{SPC} C-@key{SPC}} has no special meaning--it just sets the
mark twice.  Neither does @kbd{C-u C-x C-x}, which simply exchanges
point and mark like @kbd{C-x C-x}.

@item
The function @code{sentence-end} has been eliminated in favor of a
more straightforward approach: directly setting the variable
@code{sentence-end}.  For example, to end each sentence with a single
space, use

@lisp
(setq sentence-end "[.?!][]\"')@}]*\\($\\|[ \t]\\)[ \t\n]*")
@end lisp

@item
The variable @code{fill-nobreak-predicate} is no longer customizable,
and it can only hold a single function.

@item
Nobreak spaces and hyphens are displayed just like normal characters,
and the user option @code{nobreak-char-display} has been removed.

@item
@kbd{C-w} in an incremental search always grabs an entire word
into the search string.  More precisely, it grabs text through
the next end of a word.

@item
Yanking now preserves all text properties that were in the killed
text.  The variable @code{yank-excluded-properties} has been removed.

@item
Occur mode, Info mode, and Comint-derived modes now control
fontification in their own way, and @kbd{M-x font-lock-mode} has
nothing to do with it.  To control fontification in Info mode, use the
variable @code{Info-fontify}.

@item
The Grep package has been merged with Compilation mode.  Many
grep-specific commands and user options have thus been eliminated.
Also, @kbd{M-x grep} never tries the GNU grep @samp{-H} option,
and instead silently appends @file{/dev/null} to the command line.

@item
In Dired's @kbd{!} command, @samp{*} and @samp{?} now
cause substitution of the file names wherever they appear---not
only when they are surrounded by whitespace.

@item
When a file is managed with version control, the command @kbd{C-x C-q}
(whose general meaning is to make a buffer read-only or writable) now
does so by checking the file in or out.  Checking the file out makes
the buffer writable; checking it in makes the buffer read-only.

You can still use @kbd{C-x v v} to do these operations if you wish;
its meaning is unchanged.  If you want to control the buffer's
read-only flag without performing any version control operation,
use @kbd{M-x toggle-read-only}.

@item
SGML mode does not handle XML syntax, and does not have indentation
support.

@item
Many Info mode commands have been removed.  Incremental search in Info
searches only the current node.

@item
Many @code{etags} features for customizing parsing using regexps
have been removed.

@item
The Emacs server now runs a small C program called @file{emacsserver},
rather than trying to handle everything in Emacs Lisp.  Now there can
only be one Emacs server running at a time.  The @code{server-mode}
command and @code{server-name} user option have been eliminated.

@item
The @file{emacsclient} program no longer accepts the @samp{--eval} and
@samp{--display} command line options.

@item
The command @code{quail-show-key}, for showing how to input a
character, has been removed.

@item
The default value of @code{keyboard-coding-system} is always
@code{nil}, regardless of your locale settings.  If you want some
other value, set it yourself.

@item
Unicode support and unification between Latin-@var{n} character sets
have been removed.  Cutting and pasting X selections does not support
``extended segments'', so there are certain coding systems it cannot
handle.

@item
The input methods for Emacs are included in a separate distribution
called ``Leim.''  To use this, you must extract the Leim tar file on
top of the Emacs distribution, into the same directory, before you
build Emacs.

@item
The following input methods have been eliminated: belarusian,
bulgarian-bds, bulgarian-phonetic, chinese-sisheng, croatian, dutch,
georgian, latin-alt-postfix, latin-postfix, latin-prefix,
latvian-keyboard, lithuanian-numeric, lithuanian-keyboard,
malayalam-inscript, rfc1345, russian-computer, sgml, slovenian,
tamil-inscript ucs, ukrainian-computer, vietnamese-telex, and welsh.

@item
The following language environments have been eliminated: Belarusian,
Bulgarian, Chinese-EUC-TW, Croatian, French, Georgian, Italian,
Latin-6, Latin-7, Latvian, Lithuanian, Malayalam, Russian, Russian,
Slovenian, Swedish, Tajik, Tamil, UTF-8, Ukrainian, Ukrainian, Welsh,
and Windows-1255.

@item
The @code{code-pages} library, which contained various 8-bit coding
systems, has been removed.

@item
The Kmacro package has been replaced with a simple and elegant
keyboard macro system.  Use @kbd{C-x (} to start a new keyboard macro,
@kbd{C-x )} to end the macro, and @kbd{C-x e} to execute the last
macro.  Use @kbd{M-x name-last-kbd-macro} to name the most recently
defined macro.

@item
Emacs no longer displays your breakpoints in the source buffer, so you
have to remember where you left them.  It can be difficult to inspect
the state of your debugged program from the command line, so Emacs
tries to demonstrate this in the GUD buffer.

@item
The Calc, CUA, Ibuffer, Ido, Password, Printing, Reveal,
Ruler-mode, SES, Table, Tramp, and URL packages have been removed.
The Benchmark, Cfengine, Conf, Dns, Flymake, Python, Thumbs, and
Wdired modes have also been removed.

@item
The Emacs Lisp Reference Manual and the Introduction to Programming in
Emacs Lisp are now distributed separately, not in the Emacs
distribution.

@item
On MS Windows, there is no longer any support for tooltips, images,
sound, different mouse pointer shapes, or pointing devices with more
than 3 buttons.  If you want these features, consider switching to
another operating system.  But even if you don't want these features,
you should still switch---for freedom's sake.

@item
Emacs will not use Unicode for clipboard operations on MS Windows.

@item
To keep up with decreasing computer memory capacity and disk space, many
other functions and files have been eliminated in Emacs 21.4.
@end itemize

@ignore
   arch-tag: 32932bd9-46f5-41b2-8a0e-fb0cc4caeb29
@end ignore