@c appreciate a notice if you do).
@copying
-Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006 Free
-Software Foundation, Inc.@*
+Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007
+Free Software Foundation, Inc.@*
Copyright 1994,1995,1996,1997,1998,1999,2000 Reuven M. Lerner@*
Copyright 1992,1993 Steven Byrnes@*
Copyright 1990,1991,1992 Joseph Brian Wells@*
@item
You can get a printed reference card listing commands and keys to
invoke them. You can order one from the FSF for $1 (or 10 for $5),
-or you can print your own from the @file{etc/refcard.tex} or
-@file{etc/refcard.ps} files in the Emacs distribution. Beginning with
-version 21.1, the Emacs distribution comes with translations of the
-reference card into several languages; look for files named
-@file{etc/@var{lang}-refcard.*}, where @var{lang} is a two-letter code
-of the language. For example, the German version of the reference card
-is in the files @file{etc/de-refcard.tex} and @file{etc/de-refcard.ps}.
+or you can print your own from the @file{etc/refcards/refcard.tex} or
+@file{etc/refcards/refcard.ps} files in the Emacs distribution.
+Beginning with version 21.1, the Emacs distribution comes with
+translations of the reference card into several languages; look for
+files named @file{etc/refcards/@var{lang}-refcard.*}, where @var{lang}
+is a two-letter code of the language. For example, the German version
+of the reference card is in the files @file{etc/refcards/de-refcard.tex}
+and @file{etc/recards/de-refcard.ps}.
@item
There are many other commands in Emacs for getting help and
@cindex Differences between Emacs 21 and Emacs 22
@cindex Emacs 22, new features in
@cindex Recently introduced features
-
-@c FIXME: Improve this node before the 22.1 release.
@cindex Default features
-Font-lock mode, auto-compression mode, and file name shadow mode are now
-enabled by default. It is now possible to follow links with
-@kbd{mouse-1}.
+
+@itemize
+@cindex GTK+ Toolkit
+@cindex Drag-and-drop
+@item
+Emacs can be built with GTK+ widgets, and supports drag-and-drop
+operation on X.
@cindex Supported systems
-Emacs 22 features support for GNU/Linux systems on S390 and X86-64
+@item
+Emacs 22 features support for GNU/Linux systems on S390 and x86-64
machines, as well as support for the Mac OS X and Cygwin operating
systems.
-@cindex GTK+ Toolkit
-@cindex Drag-and-drop
+@item
+The native MS-Windows, Mac OS 9 and Mac OS X builds include full support
+for images, toolbar, and tooltips.
+
+@item
+Font Lock mode, Auto Compression mode, and File Name Shadow Mode are
+enabled by default.
+
+@item
+The maximum size of buffers has been doubled and is 256M on 32-bit
+machines.
+
+@item
+Links can be followed with @kbd{mouse-1}, in addition to @kbd{mouse-2}.
+
@cindex Mouse wheel
-Emacs can now be built with GTK+ widgets, and supports drag-and-drop
-operation on X. Mouse wheel support is now enabled by default.
+@item
+Mouse wheel support is enabled by default.
+
+@item
+Window fringes are customizable.
+
+@item
+The mode line of the selected window is now highlighted.
+
+@item
+The minibuffer prompt is displayed in a distinct face.
+
+@item
+Abbrev definitions are read automatically at startup.
+@item
+Grep mode is separate from Compilation mode and has many new options and
+commands specific to grep.
+
+@item
+The original Emacs macro system has been replaced by the new Kmacro
+package, which provides many new commands and features and a simple
+interface that uses the function keys F3 and F4. Macros are stored in a
+macro ring, and can be debugged and edited interactively.
+
+@item
+The Grand Unified Debugger (GUD) can be used with a full graphical user
+interface to GDB; this provides many features found in traditional
+development environments, making it easy to manipulate breakpoints, add
+watch points, display the call stack, etc. Breakpoints are visually
+indicated in the source buffer.
+
+@item
@cindex New modes
-Many new modes and packages have been included in Emacs, such as Leim,
-Calc, Tramp and URL, as well as IDO, CUA, rcirc, ERC, conf-mode,
-python-mode, table, tumme, SES, ruler, Flymake, Org, PGG, etc.
+Many new modes and packages have been included in Emacs, such as Calc,
+TRAMP, URL, IDO, CUA, ERC, rcirc, Table, Image-Dired, SES, Ruler, Org,
+PGG, Flymake, Password, Printing, Reveal, wdired, t-mouse, longlines,
+savehist, Conf mode, Python mode, DNS mode, etc.
+
+@cindex Multilingual Environment
+@item
+Leim is now part of Emacs. Unicode support has been much improved, and
+the following input methods have been added: 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.
+
+The following language environments have also been added: Belarusian,
+Bulgarian, Chinese-EUC-TW, Croatian, French, Georgian, Italian, Latin-6,
+Latin-7, Latvian, Lithuanian, Malayalam, Russian, Slovenian, Swedish,
+Tajik, Tamil, UTF-8, Ukrainian, Welsh, and Windows-1255.
@cindex Documentation
@cindex Emacs Lisp Manual
+@item
In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
(@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro.
+@end itemize
+
+Many other changes have been made in Emacs 22, use @kbd{C-h n} to get a
+full list.
@c ------------------------------------------------------------
@node Common requests, Bugs and problems, Status of Emacs, Top
* Editing MS-DOS files::
* Filling paragraphs with a single space::
* Escape sequences in shell output::
+* Fullscreen mode on MS-Windows::
@end menu
@node Setting up a customization file, Using Customize, Common requests, Common requests
number if the buffer's size in bytes is larger than the value of the
variable @code{line-number-display-limit}.
-As of Emacs 20, you can similarly display the current column with
+You can similarly display the current column with
@kbd{M-x column-number-mode}, or by putting the form
@lisp
More detailed information---and more examples of how to create and
modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under
-``Menu Keymaps''. (@xref{Emacs Lisp documentation}, for information on
+``Menu Keymaps.'' (@xref{Emacs Lisp documentation}, for information on
this manual.)
@node Deleting menus and menu options, Turning on syntax highlighting, Modifying pull-down menus, Common requests
Customize the @code{scroll-conservatively} variable with @kbd{M-x
customize-variable @key{RET} scroll-conservatively @key{RET}} and set it
to a large value like, say, 10000. For an explanation of what this
-means, @inforef{Scrolling, Scrolling, emacs}.
+means, @inforef{Auto Scrolling, Auto Scrolling, emacs}.
Alternatively, use the following Lisp form in your @file{.emacs}:
(setq sentence-end-double-space nil)
@end lisp
-@node Escape sequences in shell output, , Filling paragraphs with a single space, Common requests
+@node Escape sequences in shell output, Fullscreen mode on MS-Windows, Filling paragraphs with a single space, Common requests
@section Why these strange escape sequences from @code{ls} from the Shell mode?
@cindex Escape sequences in @code{ls} output
@cindex @code{ls} in Shell mode
@item
Make the alias conditioned on the @code{EMACS} variable in the
environment. When Emacs runs a subsidiary shell, it exports the
-@code{EMACS} variable with the value @code{t} to that shell. You can
+@code{EMACS} variable to that shell, with value equal to the absolute
+file name of Emacs. You can
unalias @code{ls} when that happens, thus limiting the alias to your
interactive sessions.
later), which converts these ANSI escape sequences into colors.
@end itemize
+@node Fullscreen mode on MS-Windows, , Escape sequences in shell output, Common requests
+@section How can I start Emacs in fullscreen mode on MS-Windows?
+@cindex Maximize frame
+@cindex Fullscreen mode
+
+Use the function @code{w32-send-sys-command}. For example, you can
+put the following in your @file{.emacs} file:
+
+@lisp
+(add-hook 'term-setup-hook
+ #'(lambda () (w32-send-sys-command ?\xF030)))
+@end lisp
+
+To avoid the slightly distracting visual effect of Emacs starting with
+its default frame size and then growing to fullscreen, you can add an
+@samp{Emacs.Geometry} entry to the Windows registry settings (see
+@pxref{(emacs)X Resources}).
+
+To compute the correct values for width and height, first maximize the
+Emacs frame and then evaluate @code{(frame-height)} and
+@code{(frame-width)} with @kbd{M-:}.
+
@c ------------------------------------------------------------
@node Bugs and problems, Compiling and installing Emacs, Common requests, Top
@chapter Bugs and problems
@example
if ($?EMACS) then
- if ("$EMACS" == t) then
+ if ("$EMACS" =~ /*) then
if ($?tcsh) unset edit
stty nl
endif
endif
@end example
-Or put this in your @file{.emacs_tcsh} file:
+Or put this in your @file{.emacs_tcsh} or @file{~/.emacs.d/init_tcsh.sh} file:
@example
unset edit
Obviously, there is a potential for Trojan horses to exploit this
feature.
-Emacs 18 allowed this feature by default; users could disable it by
-setting the variable @code{inhibit-local-variables} to a non-@code{nil} value.
-
-As of Emacs 19, Emacs has a list of local variables that create a
-security risk. If a file tries to set one of them, it asks the user to
-confirm whether the variables should be set. You can also tell Emacs
-whether to allow the evaluation of Emacs Lisp code found at the bottom
-of files by setting the variable @code{enable-local-eval}.
+As of Emacs 22, Emacs has a list of local variables that are known to
+be safe to set. If a file tries to set any variable outside this
+list, it asks the user to confirm whether the variables should be set.
+You can also tell Emacs whether to allow the evaluation of Emacs Lisp
+code found at the bottom of files by setting the variable
+@code{enable-local-eval}.
For more information, @inforef{File Variables, File Variables, emacs}.
``OpenWindows Programmers'' optional software category from the CD-ROM.
On HP-UX 8.0, you may need to run @code{update} again to load the
-X11-PRG ``fileset''. This may be missing even if you specified ``all
+X11-PRG ``fileset.'' This may be missing even if you specified ``all
filesets'' the first time. If @file{libcurses.a} is missing, you may
need to load the ``Berkeley Development Option.''
Or send reports to @email{bug-vm@@wonderworks.com}
@end table
-VM 7 works well with Emacs 21. Older versions of VM suitable for use
-with older versions of Emacs are available from
+VM 7 works well with Emacs 21 and Emacs 22. Older versions of VM
+suitable for use with older versions of Emacs are available from
@uref{ftp://ftp.wonderworks.com/pub/vm/, the same FTP site}.
@email{dak@@gnu.org, David Kastrup}
@item Latest version
-11.82
+11.84
@item Distribution
@uref{ftp://ftp.gnu.org/pub/gnu/auctex/}
* Inputting eight-bit characters::
* Kanji and Chinese characters::
* Right-to-left alphabets::
+* How to add fonts::
@end menu
@node Emacs does not display 8-bit characters, Inputting eight-bit characters, Alternate character sets, Alternate character sets
Enhancement to Emacs. @xref{Installing Emacs}, for information on where
to find and download the latest version of Emacs.
-@node Right-to-left alphabets, , Kanji and Chinese characters, Alternate character sets
+@node Right-to-left alphabets, How to add fonts, Kanji and Chinese characters, Alternate character sets
@section Where is an Emacs that can handle Semitic (right-to-left) alphabets?
@cindex Right-to-left alphabets
@cindex Hebrew, handling with Emacs
@file{hebrew.el} requires a Hebrew screen font, but no other hardware support.
Joel has a screen font for PCs running MS-DOS or GNU/Linux.
-You might also try to query archie for files named with @file{hebrew};
-several ftp sites in Israel may also have the necessary files.
+You might also try querying @code{archie} for files named with
+@file{hebrew}; several ftp sites in Israel may also have the necessary
+files.
+
+@node How to add fonts, , Right-to-left alphabets, Alternate character sets
+@section How do I add fonts for use with Emacs?
+@cindex add fonts for use with Emacs
+@cindex intlfonts
+
+First, download and install the BDF font files and any auxiliary
+packages they need. The GNU Intlfonts distribution can be found on
+@uref{http://directory.fsf.org/localization/intlfonts.html, the GNU
+Software Directory Web site}.
+
+Next, if you are on X Window system, issue the following two commands
+from the shell's prompt:
+
+@example
+ xset +fp /usr/local/share/emacs/fonts
+ xset fp rehash
+@end example
+
+@noindent
+(Modify the first command if you installed the fonts in a directory
+that is not @file{/usr/local/share/emacs/fonts}.) You also need to
+arrange for these two commands to run whenever you log in, e.g., by
+adding them to your window-system startup file, such as
+@file{~/.xsessionrc} or @file{~/.gnomerc}.
+
+Now, add the following line to your @file{~/.emacs} init file:
+
+@lisp
+ (add-to-list 'bdf-directory-list "/usr/share/emacs/fonts/bdf")
+@end lisp
+
+@noindent
+(Again, modify the file name if you installed the fonts elsewhere.)
+
+Finally, if you wish to use the installed fonts with @code{ps-print},
+add the following line to your @file{~/.emacs}:
+
+@lisp
+ (setq ps-multibyte-buffer 'bdf-font-except-latin)
+@end lisp
+
+A few additional steps are necessary for MS-Windows; they are listed
+below.
+
+First, make sure @emph{all} the directories with BDF font files are
+mentioned in @code{bdf-directory-list}. On Unix and GNU/Linux
+systems, one normally runs @kbd{make install} to install the BDF fonts
+in the same directory. By contrast, Windows users typically don't run
+the Intlfonts installation command, but unpack the distribution in
+some directory, which leaves the BDF fonts in its subdirectories. For
+example, assume that you unpacked Intlfonts in @file{C:/Intlfonts};
+then you should set @code{bdf-directory-list} as follows:
+
+@lisp
+ (setq bdf-directory-list
+ '("C:/Intlfonts/Asian"
+ "C:/Intlfonts/Chinese" "C:/Intlfonts/Chinese.X"
+ "C:/Intlfonts/Chinese.BIG" "C:/Intlfonts/Ethiopic"
+ "C:/Intlfonts/European" "C:/Intlfonts/European.BIG"
+ "C:/Intlfonts/Japanese" "C:/Intlfonts/Japanese.X"
+ "C:/Intlfonts/Japanese.BIG" "C:/Intlfonts/Korean.X"
+ "C:/Intlfonts/Misc"))
+@end lisp
+
+@cindex @code{w32-bdf-filename-alist}
+@cindex @code{w32-find-bdf-fonts}
+Next, you need to set up the variable @code{w32-bdf-filename-alist} to
+an alist of the BDF fonts and their corresponding file names.
+Assuming you have set @code{bdf-directory-list} to name all the
+directories with the BDF font files, the following Lisp snippet will
+set up @code{w32-bdf-filename-alist}:
+
+@lisp
+ (setq w32-bdf-filename-alist
+ (w32-find-bdf-fonts bdf-directory-list))
+@end lisp
+
+Now, create fontsets for the BDF fonts:
+
+@lisp
+ (create-fontset-from-fontset-spec
+ "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf,
+ japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*,
+ katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
+ latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*,
+ japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*,
+ thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1,
+ lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1,
+ tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1,
+ ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode,
+ tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0")
+@end lisp
+
+Many of the international bdf fonts from Intlfonts are type 0, and
+therefore need to be added to font-encoding-alist:
+
+@lisp
+ (setq font-encoding-alist
+ (append '(("MuleTibetan-0" (tibetan . 0))
+ ("GB2312" (chinese-gb2312 . 0))
+ ("JISX0208" (japanese-jisx0208 . 0))
+ ("JISX0212" (japanese-jisx0212 . 0))
+ ("VISCII" (vietnamese-viscii-lower . 0))
+ ("KSC5601" (korean-ksc5601 . 0))
+ ("MuleArabic-0" (arabic-digit . 0))
+ ("MuleArabic-1" (arabic-1-column . 0))
+ ("MuleArabic-2" (arabic-2-column . 0)))
+ font-encoding-alist))
+@end lisp
+
+You can now use the Emacs font menu to select the @samp{bdf: 16-dot medium}
+fontset, or you can select it by setting the default font in your
+@file{~/.emacs}:
+
+@lisp
+ (set-default-font "fontset-bdf")
+@end lisp
+
@c ------------------------------------------------------------
@node Mail and news, Concept index, Alternate character sets, Top