@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}.
-
-@cindex Supported systems
-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.
+Font Lock mode, auto-compression mode, and file name shadow mode are now
+enabled by default. On graphics displays it is now possible to follow
+links with @kbd{mouse-1}, and the modeline of the selected window is now
+highlighted. Window fringes are now customizable. The minibuffer
+prompt is now displayed in a distinct face.
+
+Emacs now reads abbrev definitions automatically at startup. The
+maximum size of buffers has been doubled and is now 256M on 32-bit
+machines. Grep mode is now separate from Compilation mode and has many
+new specific options and commands.
+
+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 now stored
+in a macro ring, and can be debugged and edited interactively.
+
+The GUD (Grand Unified Debugger) package can now be used with a full
+graphical user interface to the debugger which provides many features
+found in traditional development environments, making it easy to
+manipulate breakpoints, add watch points, display the call stack, etc.
+Breakpoints are now displayed in the source buffer.
@cindex GTK+ Toolkit
@cindex Drag-and-drop
operation on X. Mouse wheel support is now enabled by default.
@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 and URL, as well as IDO, CUA, rcirc, ERC, conf-mode, python-mode,
+table, tumme, SES, ruler, Flymake, Org, PGG, wdired, t-mouse, longlines,
+dns-mode, savehist, Password, Printing, Reveal, etc.
+
+@cindex Multilingual Environment
+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 environment have also been added: 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.
+
+@cindex Supported systems
+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 Documentation
@cindex Emacs Lisp Manual
In addition, Emacs 22 now includes the Emacs Lisp Reference Manual
(@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro.
+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
@chapter 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}:
@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.
@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}.
* 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