* Basic keys::
* Extended commands::
* On-line manual::
-* Filename conventions::
+* File-name conventions::
* Common acronyms::
@end menu
The ASCII code sent by @kbd{C-x} (except for @kbd{C-?}) is the value
that would be sent by pressing just @key{x} minus 96 (or 64 for
-uppercase @key{X}) and will be from 0 to 31. On Unix and GNU/Linux
+upper-case @key{X}) and will be from 0 to 31. On Unix and GNU/Linux
terminals, the ASCII code sent by @kbd{M-x} is the sum of 128 and the
ASCII code that would be sent by pressing just @key{x}. Essentially,
@key{Control} turns off bits 5 and 6 and @key{Meta} turns on bit
@kbd{C-?} a ``control'' key, since 127 has both bits 5 and 6 turned ON.
Also, on very few keyboards does @kbd{C-?} generate ASCII code 127.
-@inforef{Characters, Characters, emacs}, and @inforef{Keys, Keys, emacs},
-for more information. (@xref{On-line manual}, for more information about
-Info.)
+@inforef{Text Characters, Text Characters, emacs}, and @inforef{Keys,
+Keys, emacs}, for more information. (@xref{On-line manual}, for more
+information about Info.)
@node Extended commands, On-line manual, Basic keys, FAQ notation
@section What does @file{M-x @var{command}} mean?
If you need to run non-interactive Emacs functions, see @ref{Evaluating
Emacs Lisp code}.
-@node On-line manual, Filename conventions, Extended commands, FAQ notation
+@node On-line manual, File-name conventions, Extended commands, FAQ notation
@section How do I read topic XXX in the on-line manual?
@cindex On-line manual, reading topics in
@cindex Reading topics in the on-line manual
@xref{Getting a printed manual}, if you would like a paper copy of the
Emacs manual.
-@node Filename conventions, Common acronyms, On-line manual, FAQ notation
+@node File-name conventions, Common acronyms, On-line manual, FAQ notation
@section What are @file{etc/SERVICE}, @file{src/config.h}, and @file{lisp/default.el}?
-@cindex Filename conventions
-@cindex Conventions for filenames
+@cindex File-name conventions
+@cindex Conventions for file names
@cindex Directories and files that come with Emacs
These are files that come with Emacs. The Emacs distribution is divided
Some of these files are available individually via FTP or e-mail; see
@ref{Informational files for Emacs}. They all are available in the
source distribution. Many of the files in the @file{etc} directory are
-also available via the Emacs "@samp{Help} menu, or by typing @kbd{C-h ?}
+also available via the Emacs @samp{Help} menu, or by typing @kbd{C-h ?}
(@kbd{M-x help-for-help}).
Your system administrator may have removed the @file{src} directory and
many files from the @file{etc} directory.
-@node Common acronyms, , Filename conventions, FAQ notation
+@node Common acronyms, , File-name conventions, FAQ notation
@section What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
@cindex FSF, definition of
@cindex LPF, definition of
@enumerate
@item
Move the files to the @file{info} directory in the installed Emacs
-distribution. @xref{Filename conventions}, if you don't know where that
+distribution. @xref{File-name conventions}, if you don't know where that
is.
@item
example, to view a Info file named @file{@var{info-file}} in your home
directory, you can type this:
-@lisp
-C-h i g (~/@var{info-file}) @key{RET}
-@end lisp
+@example
+@kbd{C-h i g (~/@var{info-file}) @key{RET}}
+@end example
@item
You can create your own Info directory. You can tell Emacs where that
are available for you to read.
The following files are available in the @file{etc} directory of the
-Emacs distribution (see @ref{Filename conventions}, if you're not sure
+Emacs distribution (see @ref{File-name conventions}, if you're not sure
where that is).
@table @file
@ref{Problems building Emacs}, or @ref{Linking with -lX11 fails}, if you
have problems with the installation.
-The file @file{etc/SERVICE} (see @ref{Filename conventions}, if you're
+The file @file{etc/SERVICE} (see @ref{File-name conventions}, if you're
not sure where that is) lists companies and individuals willing to sell
you help in installing or using Emacs. An up-to-date version this file
is available on @samp{ftp.gnu.org} (@pxref{Informational files for
@item
In the Emacs distribution. Since Emacs 18.56, the FAQ at the time
-of release has been part of the Emacs distribution as
-@file{man/faq.texi} (@pxref{Filename conventions}).
+of release has been part of the Emacs distribution as either
+@file{etc/FAQ} or @file{man/faq.texi} (@pxref{File-name conventions}).
@item
Via the World Wide Web. A hypertext version is available at
@cindex Why Emacs?
For some not-so-serious alternative reasons for Emacs to have that
-name, check out the file @file{etc/JOKES} (@pxref{Filename
+name, check out the file @file{etc/JOKES} (@pxref{File-name
conventions}).
@node Latest version of Emacs, New in Emacs 20, Origin of the term Emacs, Status of Emacs
the scroll bars), a configurable and extensible toolbar, tooltips
(a.k.a.@: balloon help), and other niceties.
-@cindex Colors on character terminals
+@cindex Colors on text-only terminals
@cindex TTY colors
-In addition, Emacs 21 supports faces on character terminals. This means
+In addition, Emacs 21 supports faces on text-only terminals. This means
that you can now have colors when you run Emacs on a GNU/Linux console
and on @code{xterm} with @kbd{emacs -nw}.
* Debugging a customization file::
* Colors on a TTY::
* Displaying the current line or column::
-* Displaying the current filename in the titlebar::
+* Displaying the current file name in the titlebar::
* Turning on abbrevs by default::
* Turning on auto-fill by default::
* Associating modes with files::
* Using an already running Emacs process::
* Compiler error messages::
* Indenting switch statements::
+* Customizing C and C++ indentation::
* Horizontal scrolling::
* Overwrite mode::
* Turning off beeping::
@cindex Console, colors
As of Emacs 21.1, colors and faces are supported in non-windowed mode,
-i.e.@: on Unix and GNU/Linux character terminals and consoles, and when
+i.e.@: on Unix and GNU/Linux text-only terminals and consoles, and when
invoked as @samp{emacs -nw} on X and MS-Windows. (Colors and faces were
supported in the MS-DOS port since Emacs 19.29.) Emacs automatically
detects color support at startup and uses it if available. If you think
Use @kbd{C-h v} (@kbd{M-x describe-variable}) to check the value of
variables which you are trying to set or use.
-@node Displaying the current line or column, Displaying the current filename in the titlebar, Debugging a customization file, Common requests
+@node Displaying the current line or column, Displaying the current file name in the titlebar, Debugging a customization file, Common requests
@section How do I make Emacs display the current line (or column) number?
@cindex @code{line-number-mode}
@cindex Displaying the current line or column
None of the @code{vi} emulation modes provide the ``set number''
capability of @code{vi} (as far as we know).
-@node Displaying the current filename in the titlebar, Turning on abbrevs by default, Displaying the current line or column, Common requests
-@section How can I modify the titlebar to contain the current filename?
-@cindex Titlebar, displaying the current filename in
-@cindex Filename, displaying in the titlebar
+@node Displaying the current file name in the titlebar, Turning on abbrevs by default, Displaying the current line or column, Common requests
+@section How can I modify the titlebar to contain the current file name?
+@cindex Titlebar, displaying the current file name in
+@cindex File name, displaying in the titlebar
@cindex @code{frame-title-format}
The contents of an Emacs frame's titlebar is controlled by the variable
By default, the titlebar for a frame does contain the name of the buffer
currently being visited, except if there is a single frame. In such a
-case, the titlebar contains the name of the user and the machine at
-which Emacs was invoked. This is done by setting
+case, the titlebar contains Emacs invocation name and the name of the
+machine at which Emacs was invoked. This is done by setting
@code{frame-title-format} to the default value of
@lisp
(setq frame-title-format "%b")
@end lisp
-@node Turning on abbrevs by default, Turning on auto-fill by default, Displaying the current filename in the titlebar, Common requests
+@node Turning on abbrevs by default, Turning on auto-fill by default, Displaying the current file name in the titlebar, Common requests
@section How do I turn on abbrevs by default just in mode @var{mymode}?
@cindex Abbrevs, turning on by default
Using @code{isearch-forward-regexp}:
-@kbd{M-C-s [^ @key{TAB} @key{RET} C-q @key{RET} C-q C-l @key{SPC} -~]}
+@kbd{M-C-s [^ @key{TAB} @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~]}
To delete all unprintable characters, simply use replace-regexp:
@cindex @code{transient-mark-mode}
@cindex Region, highlighting a
-If you are using a windowing system such as X, you can cause the region
-to be highlighted when the mark is active by including
+You can cause the region to be highlighted when the mark is active by
+including
@lisp
(transient-mark-mode t)
@end lisp
+@noindent
in your @file{.emacs} file. (Also see @ref{Turning on syntax
highlighting}.)
@end lisp
When this is done, Emacs starts a subprocess running a program called
-@samp{server}. @samp{server} creates a Unix domain socket. The socket
-is either named @file{.emacs_server}, in the user's home directory,
-or @file{esrv-@var{user-id}-@var{system-name}}, in the @file{/tmp}
+@samp{emacsserver}. @samp{emacsserver} creates a Unix domain socket.
+The socket is either named @file{.emacs_server}, in the user's home directory,
+or @file{esrv-@var{userid}-@var{systemname}}, in the @file{/tmp}
directory, depending on how @samp{emacsserver} was compiled.
To get your news reader, mail reader, etc., to invoke
@samp{emacsclient} specifies should be correct for the filesystem that
the Emacs process sees. The Emacs process should not be suspended at
the time @samp{emacsclient} is invoked. On Unix and GNU/Linux systems,
-@samp{emacsclient} should either be invoked from another X window or
-from a shell window inside Emacs itself.
+@samp{emacsclient} should either be invoked from another X window, or
+from a shell window inside Emacs itself, or from another interactive
+session, e.g., by means of a @code{screen} program.
@cindex @code{gnuserv}
There is an enhanced version of @samp{emacsclient}/server called
compilation-error-regexp-alist))
@end lisp
-@node Indenting switch statements, Horizontal scrolling, Compiler error messages, Common requests
+@node Indenting switch statements, Customizing C and C++ indentation, Compiler error messages, Common requests
@section How do I change the indentation for @code{switch}?
@cindex @code{switch}, indenting
@cindex Indenting of @code{switch}
There appears to be no way to do this with the old @code{c-mode}.
-@node Horizontal scrolling, Overwrite mode, Indenting switch statements, Common requests
+@node Customizing C and C++ indentation, Horizontal scrolling, Indenting switch statements, Common requests
+@section How to customize indentation in C, C@t{++}, and Java buffers?
+@cindex Indentation, how to customize
+@cindex Customize indentation
+
+The Emacs @code{cc-mode} features an interactive procedure for
+customizing the indentation style, which is fully explained in the
+@cite{CC Mode} manual that is part of the Emacs distribution, see
+@ref{Customizing Indentation, , Customization Indentation, ccmode,
+The CC Mode Manual}. Here's a short summary of the procedure:
+
+@enumerate
+@item
+Go to the beginning of the first line where you don't like the
+indentation and type @kbd{C-c C-o}. Emacs will prompt you for the
+syntactic symbol; type @key{RET} to accept the default it suggests.
+
+@item
+Emacs now prompts for the offset of this syntactic symbol, showing the
+default (the current definition) inside parentheses. You can choose
+one of these:
+
+@table @code
+@item 0
+No extra indentation.
+@item +
+Indent one basic offset.
+@item -
+Outdent one basic offset.
+@item ++
+Indent two basic offsets
+@item --
+Outdent two basic offsets.
+@item *
+Indent half basic offset.
+@item /
+Outdent half basic offset.
+@end table
+
+@item
+After choosing one of these symbols, type @kbd{C-c C-q} to reindent
+the line or the block according to what you just specified.
+
+@item
+If you don't like the result, go back to step 1. Otherwise, add the
+following line to your @file{.emacs}:
+
+@lisp
+(c-set-offset '@var{syntactic-symbol} @var{offset})
+@end lisp
+
+@noindent
+where @var{syntactic-symbol} is the name Emacs shows in the minibuffer
+when you type @kbd{C-c C-o} at the beginning of the line, and
+@var{offset} is one of the indentation symbols listed above (@code{+},
+@code{/}, @code{0}, etc.) that you've chosen during the interactive
+procedure.
+
+@item
+Go to the next line whose indentation is not to your liking and repeat
+the process there.
+@end enumerate
+
+It is recommended to put all the resulting @code{(c-set-offset ...)}
+customizations inside a C mode hook, like this:
+
+@lisp
+(defun my-c-mode-hook ()
+ (c-set-offset ...)
+ (c-set-offset ...))
+(add-hook 'c-mode-hook 'my-c-mode-hook)
+@end lisp
+
+@noindent
+Using @code{c-mode-hook} avoids the need to put a @w{@code{(require
+'cc-mode)}} into your @file{.emacs} file, because @code{c-set-offset}
+might be unavailable when @code{cc-mode} is not loaded.
+
+Note that @code{c-mode-hook} runs for C source files only; use
+@code{c++-mode-hook} for C@t{++} sources, @code{java-mode-hook} for
+Java sources, etc. If you want the same customizations to be in
+effect in @emph{all} languages supported by @code{cc-mode}, use
+@code{c-mode-common-hook}.
+
+@node Horizontal scrolling, Overwrite mode, Customizing C and C++ indentation, Common requests
@section How can I make Emacs automatically scroll horizontally?
@cindex @code{hscroll-mode}
@cindex Horizontal scrolling
To do this to an entire buffer, type @kbd{M-< M-x replace-regexp
@key{RET} ^ @key{RET} > @key{RET}}.
-To do this to a region, use @code{string-rectangle} (@kbd{C-x r t}).
+To do this to a region, use @code{string-insert-rectangle}.
Set the mark (@kbd{C-@key{SPC}}) at the beginning of the first line you
want to prefix, move the cursor to last line to be prefixed, and type
-@kbd{C-x r t > @key{RET}}. To do this for the whole buffer, type
-@kbd{C-x h C-x r t > @key{RET}}.
+@kbd{M-x string-insert-rectangle @key{RET}}. To do this for the whole
+buffer, type @kbd{C-x h M-x string-insert-rectangle @key{RET}}.
If you are trying to prefix a yanked mail message with @samp{>}, you
might want to set the variable @code{mail-yank-prefix}. Better yet, use
More detailed information---and more examples of how to create and
modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under
-``Keymaps''. (@xref{Emacs Lisp documentation}, for information on this
-manual.)
+``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
@section How do I delete menus and menu options?
* Problems with very large files::
* ^M in the shell buffer::
* Shell process exits abnormally::
+* Problems with Shell Mode on MS-Windows::
* Termcap/Terminfo entries for Emacs::
* Spontaneous entry into isearch-mode::
* Problems talking to certain hosts::
(setenv "ESHELL" "/bin/csh")
@end lisp
+The above solutions try to prevent the shell from producing the
+@samp{^M} characters in the first place. If this is not possible
+(e.g., if you use a Windows shell), you can get Emacs to remove these
+characters from the buffer by adding this to your @file{.emacs} init
+file:
+
+@smalllisp
+(add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m)
+@end smalllisp
+
On a related note: If your shell is echoing your input line in the shell
buffer, you might want to try the following command in your shell
start-up file:
stty -icrnl -onlcr -echo susp ^Z
@end example
-@node Shell process exits abnormally, Termcap/Terminfo entries for Emacs, ^M in the shell buffer, Bugs and problems
+@node Shell process exits abnormally, Problems with Shell Mode on MS-Windows, ^M in the shell buffer, Bugs and problems
@section Why do I get "Process shell exited abnormally with code 1"?
@cindex Abnormal exits from @code{shell-mode}
@cindex @code{shell-mode} exits
as an X client from an xterm window (i.e., had a controlling tty) but the
xterm was later terminated.
-See also @samp{PROBLEMS} (in the top-level directory when you unpack the
-Emacs source) for other possible causes of this message.
+See also @samp{PROBLEMS} (in the @file{etc} subdirectory of the
+top-level directory when you unpack the Emacs source) for other
+possible causes of this message.
-@node Termcap/Terminfo entries for Emacs, Spontaneous entry into isearch-mode, Shell process exits abnormally, Bugs and problems
+@node Problems with Shell Mode on MS-Windows, Termcap/Terminfo entries for Emacs, Shell process exits abnormally, Bugs and problems
+@section Why do I get an error message when I try to run @kbd{M-x shell}?
+
+@cindex Shell Mode, and MS-Windows
+@cindex @code{explicit-shell-file-name}
+On MS-Windows, this might happen because Emacs tries to look for the
+shell in a wrong place. The default file name @file{/bin/sh} is
+usually incorrect for non-Unix systems. If you know where your shell
+executable is, set the variable @code{explicit-shell-file-name} in
+your @file{.emacs} file to point to its full file name, like this:
+
+@lisp
+(setq explicit-shell-file-name "d:/shells/bash.exe")
+@end lisp
+
+If you don't know what shell does Emacs use, try the @kbd{M-!}
+command; if that works, put the following line into your
+@file{.emacs}:
+
+@lisp
+(setq explicit-shell-file-name shell-file-name)
+@end lisp
+
+@cindex Antivirus programs, and Shell Mode
+Some people have trouble with Shell Mode because of intrusive
+antivirus software; disabling the resident antivirus program solves
+the problems in those cases.
+
+@node Termcap/Terminfo entries for Emacs, Spontaneous entry into isearch-mode, Problems with Shell Mode on MS-Windows, Bugs and problems
@section Where is the termcap/terminfo entry for terminal type "emacs"?
@cindex Termcap
@cindex Terminfo
@node Editing files with $ in the name, Shell mode loses the current directory, Emacs takes a long time to visit files, Bugs and problems
@section How do I edit a file with a @samp{$} in its name?
@cindex Editing files with @samp{$} in the name
-@cindex @samp{$} in filenames
-@cindex Filenames containing @samp{$}, editing
+@cindex @samp{$} in file names
+@cindex File names containing @samp{$}, editing
-When entering a filename in the minibuffer, Emacs will attempt to expand
+When entering a file name in the minibuffer, Emacs will attempt to expand
a @samp{$} followed by a word as an environment variable. To suppress
this behavior, type @kbd{$$} instead.
@cindex Problems building Emacs
@cindex Errors when building Emacs
-First look in the file @file{PROBLEMS} (in the top-level directory when
-you unpack the Emacs source) to see if there is already a solution for
-your problem. Next, look for other questions in this FAQ that have to
-do with Emacs installation and compilation problems.
+First look in the file @file{etc/PROBLEMS} (where you unpack the Emacs
+source) to see if there is already a solution for your problem. Next,
+look for other questions in this FAQ that have to do with Emacs
+installation and compilation problems.
If you'd like to have someone look at your problem and help solve it,
see @ref{Help installing Emacs}.
If you cannot find a solution in the documentation, send a message to
@email{bug-gnu-emacs@@gnu.org}.
-Please do not post it to @uref{news:gnu.emacs.help} or send e-mail to
+Please don't post it to @uref{news:gnu.emacs.help} or send e-mail to
@email{help-gnu-emacs@@gnu.org}. For further guidelines, see
@ref{Guidelines for newsgroup postings} and @ref{Reporting bugs}.
It is also possible that the package is on your system, but has not been
loaded. To see which packages are available for loading, look through
-your computer's lisp directory (@pxref{Filename conventions}). The Lisp
-source to most most packages contains a short description of how they
+your computer's lisp directory (@pxref{File-name conventions}). The Lisp
+source to most packages contains a short description of how they
should be loaded, invoked, and configured---so before you use or
modify a Lisp package, see if the author has provided any hints in the
source code.
@item Compiler
DJGPP version 1.12 maint 1 or later. Djgpp 2.0 or later is
recommended, since 1.x is very old an unmaintained. Djgpp 2 supports
-long filenames on Windows 9X/ME/2K.
+long file names on Windows 9X/ME/2K.
You can get the latest release of DJGPP by retrieving all of
the files in
@end table
-The files @file{INSTALL} (near its end) and @file{PROBLEMS} in the
-top-level directory of the Emacs source contains some additional
-information regarding Emacs under MS-DOS.
+The files @file{INSTALL} (near its end) and @file{etc/PROBLEMS} in the
+directory of the Emacs sources contains some additional information
+regarding Emacs under MS-DOS.
For a list of other MS-DOS implementations of Emacs (and Emacs
look-alikes), consult the list of "Emacs implementations and literature,"
@node Emacs for Windows, Emacs for OS/2, Emacs for MS-DOS, Finding Emacs and related packages
@section Where can I get Emacs for Microsoft Windows
@cindex FAQ for NT Emacs
+@cindex Emacs for MS-Windows
@cindex Microsoft Windows, Emacs for
-@cindex Windows NT and Windows 2K, Emacs for
-@cindex Windows 95, 98, and ME, Emacs for
+@cindex Windows 9X, ME, NT, 2K, and CE, Emacs for
For information on Emacs for Windows 95 and NT, read the FAQ produced by
@email{voelker@@cs.washington.edu, Geoff Voelker}, available at
@xref{Emacs for MS-DOS}, for Windows 3.1.
+A port of Emacs 20.7 for Windows CE, based on NTEmacs, is available at
+
+@uref{http://www.rainer-keuchel.de/software.html}
+
+@noindent
+This port was done by @email{coyxc@@rainer-keuchel.de, Rainer Keuchel},
+and supports all Emacs features except async subprocesses and menus.
+You will need MSVC 6.0 and a Windows CE SDK to build this port.
+
@node Emacs for OS/2, Emacs for Atari ST, Emacs for Windows, Finding Emacs and related packages
@section Where can I get Emacs for my PC running OS/2?
@cindex OS/2, Emacs for
If you are fixing this for yourself, simply put the form in your
@file{.emacs} file. If you are fixing this for your entire site, the
-best place to put it is in the @file{lisp/site-start.el} file. Putting
-this form in @file{lisp/default.el} has the problem that if the user's
-@file{.emacs} file has an error, this will prevent
-@file{lisp/default.el} from being loaded and Emacs may be unusable for
-the user, even for correcting their @file{.emacs} file (unless they're
+best place to put it is in the @file{site-lisp/site-start.el} file.
+(Here @file{site-lisp} is actually a subdirectory of your Emacs
+installation directory, typically @file{/usr/local/share/emacs}.)
+Putting this form in @file{site-lisp/default.el} has the problem that
+if the user's @file{.emacs} file has an error, this will prevent
+@file{default.el} from being loaded and Emacs may be unusable for the
+user, even for correcting their @file{.emacs} file (unless they're
smart enough to move it to another name).
@code{enable-flow-control} can be invoked interactively as well:
or @code{enable-flow-control-on}. @xref{Handling C-s and C-q with flow
control}, for usage and implementation details.
-To bind other keys, use @code{keyboard-translate}. @xref{Swapping keys},
-for usage details. To do this for an entire site, you should swap the
-keys in @file{lisp/site-start.el}. @xref{Handling C-s and C-q with flow
-control}, for an explanation of why @file{lisp/default.el} should not be
-used.
+To bind other keys, use @code{keyboard-translate}. @xref{Swapping
+keys}, for usage details. To do this for an entire site, you should
+swap the keys in @file{site-lisp/site-start.el}. @xref{Handling C-s
+and C-q with flow control}, for an explanation of why
+@file{site-lisp/default.el} should not be used.
@itemize @bullet
Not all modifiers are permitted in all situations. @key{Hyper},
@key{Super}, and @key{Alt} are not available on Unix character
terminals. Non-ASCII keys and mouse events (e.g. @kbd{C-=} and
-@kbd{mouse-1}) also fall under this category.
+@kbd{Mouse-1}) also fall under this category.
@end itemize
@item
For X11: Make sure it really is a @key{Meta} key. Use @code{xev} to
find out what keysym your @key{Meta} key generates. It should be either
-@key{Meta}_L or @key{Meta}_R. If it isn't, use @file{xmodmap} to fix
+@code{Meta_L} or @code{Meta_R}. If it isn't, use @file{xmodmap} to fix
the situation.
@item
@cindex Eight-bit characters, displaying
@inforef{Single-Byte Character Support, Single-byte Character Set
-Support, emacs}. On a Unix, when Emacs runs on a character terminal
+Support, emacs}. On a Unix, when Emacs runs on a text-only terminal
display or is invoked with @samp{emacs -nw}, you typically need to use
@code{set-terminal-coding-system} to tell Emacs what the terminal can
display, even after setting the language environment; otherwise
@c FIXME: Should we mention Ehud Karni's package?
@file{hebrew.el} requires a Hebrew screen font, but no other hardware support.
-Joel has a screen font for PCs running MS-DOS and Linux.
+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.