+I'd like to have the window title area display the full directory/name
+of the current buffer file and not just the name.
+
+Add the following line to your @file{init.el}:
+
+@lisp
+(setq frame-title-format "%S: %f")
+@end lisp
+
+A more sophisticated title might be:
+
+@lisp
+(setq frame-title-format
+ '("%S: " (buffer-file-name "%f"
+ (dired-directory dired-directory "%b"))))
+@end lisp
+
+That is, use the file name, or the dired-directory, or the buffer name.
+
+@node Q5.0.5, Q5.0.6, Q5.0.4, External Subsystems
+@unnumberedsubsec Q5.0.5: @samp{xemacs -name junk} doesn't work?
+
+When I run @samp{xterm -name junk}, I get an xterm whose class name
+according to xprop, is @samp{junk}. This is the way it's supposed to
+work, I think. When I run @samp{xemacs -name junk} the class name is
+not set to @samp{junk}. It's still @samp{emacs}. What does
+@samp{xemacs -name} really do? The reason I ask is that my window
+manager (fvwm) will make a window sticky and I use XEmacs to read my
+mail. I want that XEmacs window to be sticky, without having to use the
+window manager's function to set the window sticky. What gives?
+
+@samp{xemacs -name} sets the application name for the program (that is,
+the thing which normally comes from @samp{argv[0]}). Using @samp{-name}
+is the same as making a copy of the executable with that new name. The
+@code{WM_CLASS} property on each frame is set to the frame-name, and the
+application-class. So, if you did @samp{xemacs -name FOO} and then
+created a frame named @var{BAR}, you'd get an X window with WM_CLASS =
+@code{( "BAR", "Emacs")}. However, the resource hierarchy for this
+widget would be:
+
+@example
+Name: FOO .shell .container .BAR
+Class: Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
+@end example
+
+instead of the default
+
+@example
+Name: xemacs.shell .container .emacs
+Class: Emacs .TopLevelEmacsShell.EmacsManager.EmacsFrame
+@end example
+
+
+It is arguable that the first element of WM_CLASS should be set to the
+application-name instead of the frame-name, but I think that's less
+flexible, since it does not give you the ability to have multiple frames
+with different WM_CLASS properties. Another possibility would be for
+the default frame name to come from the application name instead of
+simply being @samp{emacs}. However, at this point, making that change
+would be troublesome: it would mean that many users would have to make
+yet another change to their resource files (since the default frame name
+would suddenly change from @samp{emacs} to @samp{xemacs}, or whatever
+the executable happened to be named), so we'd rather avoid it.
+
+To make a frame with a particular name use:
+
+@lisp
+(make-frame '((name . "the-name")))
+@end lisp
+
+@node Q5.0.6, Q5.1.1, Q5.0.5, External Subsystems
+@unnumberedsubsec Q5.0.6: @samp{-iconic} doesn't work.
+
+When I start up XEmacs using @samp{-iconic} it doesn't work right.
+Using @samp{-unmapped} on the command line, and setting the
+@code{initiallyUnmapped} X Resource don't seem to help much either...
+
+@email{ben@@xemacs.org, Ben Wing} writes:
+
+@quotation
+Ugh, this stuff is such an incredible mess that I've about given up
+getting it to work. The principal problem is numerous window-manager
+bugs...
+@end quotation
+
+@unnumberedsec 5.1: Microsoft Windows
+
+@node Q5.1.1, Q5.1.2, Q5.0.6, External Subsystems
+@unnumberedsubsec Q5.1.1: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
+
+In his flavor of Emacs 20, Richard Stallman has renamed all the @samp{win32-*}
+symbols to @samp{w32-*}. Does XEmacs do the same?
+
+We consider such a move counter-productive, thus we do not use the
+@samp{w32} prefix. (His rather questionable justification was that he
+did not consider Windows to be a "winning" platform.) However, the name
+@samp{Win32} is not particularly descriptive outside the Windows world,
+and using just @samp{windows-} would be too generic. So we chose a
+compromise, the prefix @samp{mswindows-} for Windows-related variables
+and functions.
+
+Thus all the XEmacs variables and functions directly related to either
+the Windows GUI or OS are prefixed @samp{mswindows-} (except for a
+couple of debugging variables, prefixed @samp{debug-mswindows-}). From
+an architectural perspective, however, we believe that this is mostly a
+non-issue because there should be a very small number of
+window-systems-specific variables anyway. Whenever possible, we try to
+provide generic interfaces that apply to all window systems.
+
+@c not true:
+@c The user variables
+@c that share functionality with existing NT Emacs variables are be named
+@c with our convention, but we provide the GNU Emacs names as
+@c compatibility aliases.
+
+@node Q5.1.2, Q5.2.1, Q5.1.1, External Subsystems
+@unnumberedsubsec Q5.1.2: How do I get Windows Explorer to associate a file type with XEmacs?
+
+@unnumberedsubsubsec Associating a new file type with XEmacs.
+
+In Explorer select @samp{View->Options->File Types}, press @samp{[New
+Type...]} and fill in the dialog box, e.g.:
+
+@example
+ Description of type: Emacs Lisp source
+ Associated extension: el
+ Content Type (MIME): text/plain
+@end example
+
+then press @samp{[New...]} and fill in the @samp{Action} dialog box as
+follows:
+
+@example
+ Action:
+ Open
+
+ Application used to perform action:
+ D:\Full\path\for\xemacs.exe "%1"
+
+ [x] Use DDE
+
+ DDE Message:
+ open("%1")
+
+ Application:
+ <leave blank>
+
+ DDE Application Not Running:
+ <leave blank>
+
+ Topic:
+ <leave blank>
+@end example
+
+@unnumberedsubsubsec Associating an existing file type with XEmacs.
+
+In Explorer select @samp{View->Options->File Types}. Click on the file
+type in the list and press @samp{[Edit...]}. If the file type already
+has an @samp{Open} action, double click on it and fill in the
+@samp{Action} dialog box as described above; otherwise create a new
+action.
+
+If the file type has more than one action listed, you probably want to
+make the @samp{Open} action that you just edited the default by clicking on
+it and pressing @samp{Set Default}.
+
+Note for Windows 2000 users: Under Windows 2000, get to @samp{File Types}
+using @samp{Control Panel->Folder Options->File Types}.
+
+@unnumberedsec 5.2: Printing
+
+@node Q5.2.1, Q5.2.2, Q5.1.2, External Subsystems
+@unnumberedsubsec Q5.2.1: What do I need to change to make printing work?
+
+For regular printing there are two variables that can be customized.
+
+@table @code
+@item lpr-command
+This should be set to a command that takes standard input and sends
+it to a printer. Something like:
+
+@lisp
+(setq lpr-command "lp")
+@end lisp
+
+@item lpr-switches
+This should be set to a list that contains whatever the print command
+requires to do its job. Something like:
+
+@lisp
+(setq lpr-switches '("-depson"))
+@end lisp
+@end table
+
+For postscript printing there are three analogous variables to
+customize.
+
+@table @code
+@item ps-lpr-command
+This should be set to a command that takes postscript on standard input
+and directs it to a postscript printer.
+
+@item ps-lpr-switches
+This should be set to a list of switches required for
+@code{ps-lpr-command} to do its job.
+
+@item ps-print-color-p
+This boolean variable should be set @code{t} if printing will be done in
+color, otherwise it should be set to @code{nil}.
+@end table
+
+NOTE: It is an undocumented limitation in XEmacs that postscript
+printing (the @code{Pretty Print Buffer} menu item) @strong{requires} a
+window system environment. It cannot be used outside of X11.
+
+@node Q5.2.2, Q5.2.3, Q5.2.1, External Subsystems
+@unnumberedsubsec Q5.2.2: How can I print WYSIWYG a font-locked buffer?
+
+Font-lock looks nice. How can I print (WYSIWYG) the highlighted
+document?
+
+The package @code{ps-print}, which is now included with XEmacs, provides
+the ability to do this. The source code contains complete instructions
+on its use, in
+@file{$prefix/lib/xemacs/xemacs-packages/lisp/ps-print/ps-print.el},
+being the default location of an installed ps-print package.
+
+@node Q5.2.3, Q5.2.4, Q5.2.2, External Subsystems
+@unnumberedsubsec Q5.2.3: Getting @kbd{M-x lpr} to work with postscript printer.
+
+My printer is a Postscript printer and @code{lpr} only works for
+Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x
+lpr-buffer} to work?
+
+Put something like this in your @file{init.el}:
+
+@lisp
+(setq lpr-command "a2ps")
+(setq lpr-switches '("-p" "-1"))
+@end lisp
+
+If you don't use a2ps to convert ASCII to postscript (why not, it's
+free?), replace with the command you do use. Note also that some
+versions of a2ps require a @samp{-Pprinter} to ensure spooling.
+
+@node Q5.2.4, Q5.3.1, Q5.2.3, External Subsystems
+@unnumberedsubsec Q5.2.4: Can you print under MS Windows?
+
+As of 21.4, printing works on Windows, using simply
+@samp{File->Print BUFFER...}, and can be configured with
+@samp{File->Page Setup...}.
+
+Prior to 21.4, there is no built-in support, but there are some clever
+hacks out there. If you know how, please let us know and we'll put it
+here.
+
+@unnumberedsec 5.3: Sound
+
+@node Q5.3.1, Q5.3.2, Q5.2.4, External Subsystems
+@unnumberedsubsec Q5.3.1: How do I turn off the sound?
+
+Add the following line to your @file{init.el}:
+
+@lisp
+(setq bell-volume 0)
+(setq sound-alist nil)
+@end lisp
+
+That will make your XEmacs totally silent---even the default ding sound
+(TTY beep on TTY-s) will be gone.
+
+You can also change these with Customize. Select from the
+@code{Options} menu @code{Advanced
+(Customize)->Emacs->Environment->Sound->Sound...} or type @kbd{M-x
+customize @key{RET} sound @key{RET}}.
+
+
+@node Q5.3.2, Q5.3.3, Q5.3.1, External Subsystems
+@unnumberedsubsec Q5.3.2: How do I get funky sounds instead of a boring beep?
+
+Make sure your XEmacs was compiled with sound support, and then put this
+in your @file{init.el}:
+
+@lisp
+(load-default-sounds)
+@end lisp
+
+@node Q5.3.3, Q5.3.4, Q5.3.2, External Subsystems
+@unnumberedsubsec Q5.3.3: What are NAS and ESD (EsounD)?
+
+@dfn{Network Audio System} (NAS) is a client-server sound library for X.
+
+@uref{http://radscan.com/nas.html}.
+
+To build XEmacs with it, use the @file{configure} flag
+@samp{--with-sound=nas} (@samp{--enable-sound=nas} in 21.5 or later).
+
+@dfn{Enlightened Sound Daemon} (ESD or EsounD) is yet another sound system.
+
+@uref{http://www.tux.org/~ricdude/EsounD.html}.
+
+To build XEmacs with it, use the @file{configure} flag
+@samp{--with-sound=esd} (@samp{--enable-sound=esd} in 21.5 or later).
+
+You can specify support for both with a flag like
+@samp{--with-sound=nas,esd} (@samp{--enable-sound=nas,esd} in 21.5 or
+later).
+
+@node Q5.3.4, Q5.4.1, Q5.3.3, External Subsystems
+@unnumberedsubsec Q5.3.4: Sunsite sounds don't play.
+
+I'm having some trouble with sounds I've downloaded from sunsite. They
+play when I run them through @code{showaudio} or cat them directly to
+@file{/dev/audio}, but XEmacs refuses to play them.
+
+@email{gutschk@@uni-muenster.de, Markus Gutschke} writes:
+
+@quotation
+[Many of] These files have an (erroneous) 24byte header that tells about
+the format that they have been recorded in. If you cat them to
+@file{/dev/audio}, the header will be ignored and the default behavior
+for /dev/audio will be used. This happens to be 8kHz uLaw. It is
+probably possible to fix the header by piping through @code{sox} and
+passing explicit parameters for specifying the sampling format; you then
+need to perform a 'null' conversion from SunAudio to SunAudio.
+@end quotation
+
+@unnumberedsec 5.4: Running an Interior Shell, Invoking Subprocesses
+
+@node Q5.4.1, Q5.4.2, Q5.3.4, External Subsystems
+@unnumberedsubsec Q5.4.1: What is an interior shell?
+
+#### Write me.
+
+@node Q5.4.2, Q5.4.3, Q5.4.1, External Subsystems
+@unnumberedsubsec Q5.4.2: How do I start up a second shell buffer?
+
+In the @code{*shell*} buffer:
+
+@lisp
+M-x rename-buffer @key{RET} *shell-1* @key{RET}
+M-x shell RET
+@end lisp
+
+This will then start a second shell. The key is that no buffer named
+@samp{*shell*} can exist. It might be preferable to use @kbd{M-x
+rename-uniquely} to rename the @code{*shell*} buffer instead of @kbd{M-x
+rename-buffer}.
+
+Alternately, you can set the variable @code{shell-multiple-shells}.
+If the value of this variable is non-nil, each time shell mode is invoked,
+a new shell is made
+
+@node Q5.4.3, Q5.4.4, Q5.4.2, External Subsystems
+@unnumberedsubsec Q5.4.3: Telnet from shell filters too much
+
+I'm using the Emacs @kbd{M-x shell} function, and I would like to invoke
+and use a telnet session within it. Everything works fine except that
+now all @samp{^M}'s are filtered out by Emacs. Fixes?
+
+Use @kbd{M-x rsh} or @kbd{M-x telnet} to open remote sessions rather
+than doing rsh or telnet within the local shell buffer. You can also
+use @kbd{M-x ssh} to open secure remote session if you have @code{ssh}
+installed.
+
+@node Q5.4.4, Q5.4.5, Q5.4.3, External Subsystems
+@unnumberedsubsec Q5.4.4: Strange things are happening in Shell Mode.
+
+Sometimes (i.e. it's not repeatable, and I can't work out why it
+happens) when I'm typing into shell mode, I hit return and only a
+portion of the command is given to the shell, and a blank prompt is
+returned. If I hit return again, the rest of the previous command is
+given to the shell.
+
+@email{martin@@xemacs.org, Martin Buchholz} writes:
+
+@quotation
+There is a known problem with interaction between @code{csh} and the
+@code{filec} option and XEmacs. You should add the following to your
+@file{.cshrc}:
+
+@example
+if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec
+@end example
+@end quotation
+
+@node Q5.4.5, Q5.4.6, Q5.4.4, External Subsystems
+@unnumberedsubsec Q5.4.5: XEmacs complains "No such file or directory, diff"
+
+or "ispell" or other commands that seem related to whatever you just
+tried to do (M-x ediff or M-$, for example).
+
+There are a large number of common (in the sense that "everyone has
+these, they really do") Unix utilities that are not provided with
+XEmacs. The GNU Project's implementations are available for Windows in
+the the Cygwin distribution (@uref{http://www.cygwin.com/}), which also
+provides a complete Unix emulation environment (and thus makes ports of
+Unix utilities nearly trivial). Another implementation is that from
+MinGW (@uref{http://www.mingw.org/msys.shtml}). If you know of others,
+please let us know!
+
+@node Q5.4.6, Q5.5.1, Q5.4.5, External Subsystems
+@unnumberedsubsec Q5.4.6: Cygwin error "fork_copy: linked dll/bss pass 0 failed"
+
+If you are getting an error like
+
+@example
+17797832 [main] bash 3468 fork_copy: linked dll/bss pass 0 failed,
+0x675000..0x6756A0, done 0, windows pid 2708, Win 32 error 487
+bash: fork: resource temporarily unavailable
+@end example
+
+when trying to run bash using @kbd{M-x shell}, then you need to rebase
+your Cygwin DLL's. This is a known problem with Cygwin. To fix:
+
+@enumerate
+@item
+Download the @file{rebase} utility from Cygwin setup (it's under
+@samp{System}).
+@item
+Kill @strong{all} of your Cygwin processes, including all of your
+shells and all background processes. Use @code{ps -a} to list all the
+processes you need to kill.
+@item
+From a DOS prompt, run @file{ash} (@strong{not} @file{bash},
+@file{tcsh} or @file{zsh}). Do not try to be clever and @code{exec
+/bin/ash} from your last shell; it won't work.
+@item
+Type @code{/bin/rebaseall -v}.
+@end enumerate
+
+The problem should now be fixed -- at least, until you install another
+Cygwin package with DLL's, in which case you may have to repeat the
+procedure.
+
+@unnumberedsec 5.5: Multiple Device Support
+
+@node Q5.5.1, Q5.5.2, Q5.4.6, External Subsystems
+@unnumberedsubsec Q5.5.1: How do I open a frame on another screen of my multi-headed display?
+
+Use the command @kbd{M-x make-frame-on-display}. This command is also
+on the File menu in the menubar.
+
+The command @code{make-frame-on-tty} also exists, which will establish a
+connection to any tty-like device. Opening the TTY devices should be
+left to @code{gnuclient}, though.
+
+@node Q5.5.2, Q5.5.3, Q5.5.1, External Subsystems
+@unnumberedsubsec Q5.5.2: Can I really connect to a running XEmacs after calling up over a modem? How?
+
+Yes. Use @code{gnuclient -nw}.
+
+Also see @ref{Q5.5.3, How do I disable gnuserv from opening a new frame?}.
+
+@node Q5.5.3, Q5.5.4, Q5.5.2, External Subsystems
+@unnumberedsubsec Q5.5.3: How do I disable gnuserv from opening a new frame?
+
+If you set the @code{gnuserv-frame} variable to the frame that should be
+used to display buffers that are pulled up, a new frame will not be
+created. For example, you could put
+
+@lisp
+(setq gnuserv-frame (selected-frame))
+@end lisp
+
+early on in your @file{init.el}, to ensure that the first frame created
+is the one used for your gnuserv buffers.
+
+There is an option to set the gnuserv target to the current frame. See
+@code{Options->Display->"Other Window" Location->Make Current Frame Gnuserv Target}
+
+You can also change this with Customize. Select from the
+@code{Options} menu @code{Advanced
+(Customize)->Emacs->Environment->Gnuserv->Gnuserv Frame...} or type
+@kbd{M-x customize @key{RET} gnuserv @key{RET}}.
+
+
+@node Q5.5.4, Q5.5.5, Q5.5.3, External Subsystems
+@unnumberedsubsec Q5.5.4: How do I start gnuserv so that each subsequent XEmacs is a client?
+
+Put the following in your @file{init.el} file to start the server:
+
+@lisp
+(gnuserv-start)
+@end lisp
+
+Start your first XEmacs as usual. After that, you can do:
+
+@example
+gnuclient randomfilename
+@end example
+
+from the command line to get your existing XEmacs process to open a new
+frame and visit randomfilename in that window. When you're done editing
+randomfilename, hit @kbd{C-x #} to kill the buffer and get rid of the
+frame.
+
+See also man page of gnuclient.
+
+@node Q5.5.5, , Q5.5.4, External Subsystems
+@unnumberedsubsec Q5.5.5: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
+
+@email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes:
+@quotation
+Here is one of the solutions, we have this in a script called
+@file{etc/editclient.sh}.
+@example
+ #!/bin/sh
+ if gnuclient -batch -eval t >/dev/null 2>&1
+ then
+ exec gnuclient $@{1+"$@@"@}
+ else
+ xemacs -unmapped -f gnuserv-start &
+ until gnuclient -batch -eval t >/dev/null 2>&1
+ do
+ sleep 1
+ done
+ exec gnuclient $@{1+"$@@"@}
+ fi
+@end example
+
+Note that there is a known problem when running XEmacs and 'gnuclient
+-nw' on the same TTY.
+@end quotation
+
+@node Internet, Advanced, External Subsystems, Top
+@unnumbered 6 Connecting to the Internet
+
+This is part 6 of the XEmacs Frequently Asked Questions list. This
+section is devoted connecting to the Internet.
+
+@menu
+6.0: General Mail and News
+* Q6.0.1:: What are the various packages for reading mail?
+* Q6.0.2:: How can I send mail?
+* Q6.0.3:: How do I get my outgoing mail archived?
+* Q6.0.4:: How can I read and/or compose MIME messages?
+* Q6.0.5:: How do I customize the From line?
+* Q6.0.6:: How do I get my MUA to filter mail for me?
+* Q6.0.7:: Remote mail reading with an MUA.
+* Q6.0.8:: An MUA gets an error incorporating new mail.
+* Q6.0.9:: Why isn't @file{movemail} working?
+* Q6.0.10:: How do I make my MUA display graphical smilies?
+* Q6.0.11:: How can I get those oh-so-neat X-Face lines?
+
+6.1: Reading Mail with VM
+* Q6.1.1:: How do I set up VM to retrieve mail from a remote site using POP?
+* Q6.1.2:: How can I get VM to automatically check for new mail?
+* Q6.1.3:: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
+* Q6.1.4:: Is there a mailing list or FAQ for VM?
+* Q6.1.5:: How do I make VM stay in a single frame?
+* Q6.1.6:: Customization of VM not covered in the manual, or here.
+
+6.2: Reading Netnews and Mail with Gnus
+* Q6.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
+* Q6.2.2:: How do I make Gnus stay within a single frame?
+
+6.3: FTP Access
+* Q6.3.1:: Can I edit files on other hosts?
+* Q6.3.2:: What is EFS?
+
+6.4: Web Browsing with W3
+* Q6.4.1:: What is W3?
+* Q6.4.2:: How do I run W3 from behind a firewall?
+* Q6.4.3:: Is it true that W3 supports style sheets and tables?
+@end menu
+
+@unnumberedsec 6.0: General Mail and News
+
+@node Q6.0.1, Q6.0.2, Internet, Internet
+@unnumberedsubsec Q6.0.1: What are the various packages for reading mail?
+
+#### Write me.
+
+@node Q6.0.2, Q6.0.3, Q6.0.1, Internet
+@unnumberedsubsec Q6.0.2: How can I send mail?
+
+Under Unix and Mac OS X, the @samp{sendmail} package is normally used
+for this.
+#### Write me.
+
+Under Windows, you need to use @samp{smtpmail}, which communicates
+directly with the mail server, as there is no @file{sendmail} program
+running. To get it working, use code like the following in your
+@file{init.el} file:
+
+@lisp
+ ;; Get mail working under Windows.
+ (setq message-send-mail-function 'smtpmail-send-it) ; for message/Gnus
+ (setq send-mail-function 'smtpmail-send-it) ; for C-x m, etc.
+ ;; the following ensures that mail problems can be debugged: it logs a trace
+ ;; of the SMTP conversation to *trace of SMTP session to <somewhere>*.
+ (setq smtpmail-debug-info t)
+ ;; Substitute your info here.
+ ;(setq user-mail-address "ben@@xemacs.org")
+ ;(setq user-full-name "Ben Wing")
+ ;(setq smtpmail-default-smtp-server "smtp.myserver.myisp.com")
+ ;; The following two aren't completely necessary but may help.
+ ;(setq smtpmail-local-domain "666.com")
+ ;(setq smtpmail-sendto-domain "666.com")
+ ;; If your SMTP server requires a username/password to authenticate, as
+ ;; many do nowadays, set them like this:
+ ;(setq smtpmail-auth-credentials ; or use ~/.authinfo
+ ; '(("smtp.myserver.myisp.com" 25 "USER@@SOMEWHERE" "PASSWORD")))
+
+ ;; Other possibilities for getting smtpmail to work:
+ ;;
+ ;; If for some reason you need to authenticate using the STARTTLS protocol
+ ;; (don't look into this unless you know what it is), use
+ ;; (setq smtpmail-starttls-credentials
+ ;; '(("YOUR SMTP HOST" 25 "~/.my_smtp_tls.key" "~/.my_smtp_tls.cert")))
+ ;; Requires external program
+ ;; ftp://ftp.opaopa.org/pub/elisp/starttls-*.tar.gz.
+ ;; See http://www.ietf.org/rfc/rfc2246.txt,
+ ;; http://www.ietf.org/rfc/rfc2487.txt
+@end lisp
+
+The lines you need to care about are those that set
+@code{user-mail-address}, @code{user-full-name},
+@code{smtpmail-default-smtp-server}, and
+@code{smtpmail-auth-credentials}. You need to set these with,
+respectively, your email address, your full name, the SMTP server you
+use for outgoing mail, and the username and password you need to log
+in to your SMTP server. (If for some reason your SMTP server doesn't
+require logging in to send mail, don't uncomment this last line.)
+
+The other settings may be useful in specific cases, but you should know what
+you're doing before enabling them.
+
+@node Q6.0.3, Q6.0.4, Q6.0.2, Internet
+@unnumberedsubsec Q6.0.3: How do I get my outgoing mail archived?
+
+@lisp
+(setq mail-archive-file-name "~/outbox")
+@end lisp
+
+@node Q6.0.4, Q6.0.5, Q6.0.3, Internet
+@unnumberedsubsec Q6.0.4: How can I read and/or compose MIME messages?
+
+VM, MH-E and GNUS support MIME natively. Other MUAs may or may not
+have MIME support; refer to their documentation and other resources,
+such as web pages and mailing lists. Packages like SEMI/WEMI may be
+useful in connection with MUAs like mew and Wanderlust.
+
+@node Q6.0.5, Q6.0.6, Q6.0.4, Internet
+@unnumberedsubsec Q6.0.5: How do I customize the From line?
+
+How do I change the @samp{From:} line? I have set gnus-user-from-line
+to
+@example
+Gail Gurman <gail.gurman@@sybase.com>
+@end example
+@noindent , but XEmacs Gnus doesn't use
+it. [This should apply to all MUA's. --ed] Instead it uses
+@example
+Gail Mara Gurman @email{gailg@@deall}
+@end example
+@noindent and then complains
+that it's incorrect. Also, as you perhaps can see, my Message-ID is
+screwy. How can I change that?
+
+@email{larsi@@ifi.uio.no, Lars Magne Ingebrigtsen} writes:
+
+@quotation
+Set @code{user-mail-address} to @samp{gail.gurman@@sybase.com} or
+@code{mail-host-address} to @samp{sybase.com}.
+@end quotation
+
+@node Q6.0.6, Q6.0.7, Q6.0.5, Internet
+@unnumberedsubsec Q6.0.6: How do I get my MUA to filter mail for me?
+
+One possibility is to use procmail to split your mail before it gets to
+the MUA. I prefer this personally, since there are many strange and
+wonderful things one can do with procmail. Procmail may be found at
+@uref{http://www.procmail.org/}.
+
+Also see the Mail Filtering FAQ at:
+@iftex
+@*
+@end iftex
+@uref{http://www.faqs.org/faqs/mail/filtering-faq/}.
+
+@node Q6.0.7, Q6.0.8, Q6.0.6, Internet
+@unnumberedsubsec Q6.0.7: Remote mail reading with an MUA.
+
+My mailbox lives at the office on a big honkin server. My regular INBOX
+lives on my honkin desktop machine. I now can PPP to the office from
+home which is far from honking... I'd like to be able to read mail at
+home without storing it here and I'd like to use xemacs and the MUA at
+home... Is there a recommended setup?
+
+@email{nuspl@@nvwls.cc.purdue.edu, Joseph J. Nuspl Jr.} writes:
+
+@quotation
+There are several ways to do this.
+
+@enumerate
+@item
+Set your display to your home machine and run dxpc or one of the other X
+compressors.
+
+@item
+NFS mount your desktop machine on your home machine and modify your pop
+command on your home machine to rsh to your desktop machine and actually
+do the pop get's.
+
+@item
+Run a POP server on your desktop machine as well and do a sort of two
+tiered POP get.
+@end enumerate
+@end quotation
+
+@email{wmperry@@monolith.spry.com, William Perry} adds:
+
+@quotation
+Or you could run a pop script periodically on your desktop machine, and
+just use ange-ftp or NFS to get to your mailbox. I used to do this all
+the time back at IU.
+@end quotation
+
+@node Q6.0.8, Q6.0.9, Q6.0.7, Internet
+@unnumberedsubsec Q6.0.8: An MUA gets an error incorporating new mail.
+
+rmail and VM, and probably other MUA's as well, get new mail from
+your mailbox (called @file{/var/mail/$USER} or @file{/var/spool/mail/$USER}
+or something similar) using a program called @code{movemail}.
+This program interlocks with @code{/bin/mail} using the protocol
+defined by @code{/bin/mail}.
+
+There are various different protocols in general use, which you need to
+specify using the @samp{--mail-locking} option
+(@samp{--with-mail-locking} in 21.5 or later) to @file{configure}:
+
+@table @samp
+@item lockf
+POSIX file locking with @code{lockf()}
+@item flock
+BSD file locking with @code{flock()}
+@item dot
+To manipulate mail file @file{foo}, first create file @file{foo.lock}
+@item locking
+Use @code{locking()}, Microsoft's renamed @code{flock()}
+@item mmdf
+Use @code{lk_open()} and @code{lk_close()} as defined by the Multi-channel
+Memo Distribution Facility
+@item pop
+Retrieve mail using POP (the Post Office Protocol). This is the
+default for Cygwin/MinGW.
+@end table
+
+@strong{IF YOU DON'T USE THE FORM OF INTERLOCKING THAT IS NORMAL ON YOUR
+SYSTEM, YOU CAN LOSE MAIL!}
+
+Usually the value is correctly determined automatically:
+@file{configure} tries to detect the method in use, and defaults exist
+on systems for which this doesn't work.
+
+However, if you run into problems incorporating new mail, it may be
+because an incorrect method is being used.
+
+If your system uses the lock file protocol, and permissions are set
+so that ordinary users cannot write lock files in the mail spool
+directory, you may need to make @file{movemail} setgid to a
+suitable group such as @samp{mail}. You can use these commands (as
+root):
+
+@example
+chgrp mail movemail
+chmod 2755 movemail
+@end example
+
+If you are using the @samp{pop} locking method, @file{movemail} must
+be setuid root.
+
+Installation normally copies movemail from the build directory to an
+installation directory which is usually under @file{/usr/local/lib}.
+The installed copy of @file{movemail} is usually in the directory
+@file{/usr/local/lib/xemacs-VERSION/TARGET} (for example,
+@file{/usr/local/lib/xemacs-21.4.15/i686-pc-cygwin}). You must change
+the group and mode of the installed copy; changing the group and mode
+of the build directory copy is ineffective.
+
+@node Q6.0.9, Q6.0.10, Q6.0.8, Internet
+@unnumberedsubsec Q6.0.9: Why isn't @file{movemail} working?
+
+@xref{Q6.0.8}.
+
+Note also that older versions of Mozilla came with a @file{movemail}
+program that is @strong{not} compatible with XEmacs. Do not use it.
+Always use the @file{movemail} installed with your XEmacs. Failure to
+do so can result in lost mail.
+
+@node Q6.0.10, Q6.0.11, Q6.0.9, Internet
+@unnumberedsubsec Q6.0.10: How do I make my MUA display graphical smilies?
+For mh-e use the following:
+
+@lisp
+(add-hook 'mh-show-mode-hook '(lambda ()
+ (smiley-region (point-min)
+ (point-max))))
+@end lisp
+
+@email{bill@@carpenter.ORG, WJCarpenter} writes:
+For VM use the following:
+@lisp
+ (autoload 'smiley-region "smiley" nil t)
+ (add-hook 'vm-select-message-hook
+ '(lambda ()
+ (smiley-region (point-min)
+ (point-max))))
+@end lisp
+
+For tm use the following:
+@lisp
+(autoload 'smiley-buffer "smiley" nil t)
+(add-hook 'mime-viewer/plain-text-preview-hook 'smiley-buffer)
+@end lisp
+
+@node Q6.0.11, Q6.1.1, Q6.0.10, Internet
+@unnumberedsubsec Q6.0.11: How can I get those oh-so-neat X-Face lines?
+
+Firstly there is an ftp site which describes X-faces and has the
+associated tools mentioned below, at
+@uref{http://ftp.cs.indiana.edu/pub/faces/}.
+
+Then the steps are
+
+@enumerate
+@item
+Create 48x48x1 bitmap with your favorite tool
+
+@item
+Convert to "icon" format using one of xbm2ikon, pbmtoicon, etc.,
+and then compile the face.
+
+@item
+@example
+cat file.xbm | xbm2ikon |compface > file.face
+@end example
+
+@item
+Then be sure to quote things that are necessary for emacs strings:
+
+@example
+cat ./file.face | sed 's/\\/\\\\/g'
+@iftex
+\ @*
+@end iftex
+| sed 's/\"/\\\"/g' > ./file.face.quoted
+@end example
+
+@item
+Then set up emacs to include the file as a mail header - there were a
+couple of suggestions here---either something like:
+
+@lisp
+(setq mail-default-headers
+ "X-Face: @email{Ugly looking text string here}")
+@end lisp
+
+Or, alternatively, as:
+
+@lisp
+(defun mail-insert-x-face ()
+ (save-excursion
+ (goto-char (point-min))
+ (search-forward mail-header-separator)
+ (beginning-of-line)
+ (insert "X-Face:")
+ (insert-file-contents "~/.face")))
+
+(add-hook 'mail-setup-hook 'mail-insert-x-face)
+@end lisp
+@end enumerate
+
+However, 2 things might be wrong:
+
+Some versions of pbmtoicon produces some header lines that is not
+expected by the version of compface that I grabbed. So I found I had to
+include a @code{tail +3} in the pipeline like this:
+
+@example
+cat file.xbm | xbm2ikon | tail +3 |compface > file.face
+@end example
+
+Some people have also found that if one uses the @code{(insert-file)}
+method, one should NOT quote the face string using the sed script .
+
+It might also be helpful to use @email{stig@@hackvan.com, Stig's} script
+xbm2face (included in the compface distribution at XEmacs.org) to do the
+conversion.
+
+Contributors for this item:
+
+Paul Emsley,
+Ricardo Marek,
+Amir J. Katz,
+Glen McCort,
+Heinz Uphoff,
+Peter Arius,
+Paul Harrison, and
+Vegard Vesterheim
+
+@unnumberedsec 6.1: Reading Mail with VM
+
+@node Q6.1.1, Q6.1.2, Q6.0.11, Internet
+@unnumberedsubsec Q6.1.1: How do I set up VM to retrieve mail from a remote site using POP?
+
+Use @code{vm-spool-files}, like this for example:
+
+@lisp
+(setq vm-spool-files '("/var/spool/mail/wing"
+ "netcom23.netcom.com:110:pass:wing:MYPASS"))
+@end lisp
+
+Of course substitute your actual password for MYPASS.
+
+@node Q6.1.2, Q6.1.3, Q6.1.1, Internet
+@unnumberedsubsec Q6.1.2: How can I get VM to automatically check for new mail?
+
+@email{turner@@lanl.gov, John Turner} writes:
+
+@quotation
+Use the following:
+
+@lisp
+(setq vm-auto-get-new-mail 60)
+@end lisp
+@end quotation
+
+@node Q6.1.3, Q6.1.4, Q6.1.2, Internet
+@unnumberedsubsec Q6.1.3: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
+
+Set @code{vm-reply-ignored-addresses} to a list, like
+
+@lisp
+(setq vm-reply-ignored-addresses
+ '("wing@@nuspl@@nvwls.cc.purdue.edu,netcom[0-9]*.netcom.com"
+ "wing@@netcom.com" "wing@@xemacs.org"))
+@end lisp
+
+Note that each string is a regular expression.
+
+@node Q6.1.4, Q6.1.5, Q6.1.3, Internet
+@unnumberedsubsec Q6.1.4: Is there a mailing list or FAQ for VM?
+
+A FAQ for VM exists at @uref{http://www.wonderworks.com/vm/FAQ.html}.
+
+VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
+
+@node Q6.1.5, Q6.1.6, Q6.1.4, Internet
+@unnumberedsubsec Q6.1.5: How do I make VM stay in a single frame?
+
+John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes:
+
+@quotation
+@lisp
+ ; Don't use multiple frames
+(setq vm-frame-per-composition nil)
+(setq vm-frame-per-folder nil)
+(setq vm-frame-per-edit nil)
+(setq vm-frame-per-summary nil)
+@end lisp
+@end quotation
+
+@node Q6.1.6, Q6.2.1, Q6.1.5, Internet
+@unnumberedsubsec Q6.1.6: Customization of VM not covered in the manual, or here.
+
+@email{boffi@@hp735.stru.polimi.it, giacomo boffi} writes:
+
+@quotation
+The meta-answer is to look into the file @file{vm-vars.el}, in the vm
+directory of the lisp library.
+
+@file{vm-vars.el} contains, initializes and carefully describes, with
+examples of usage, the plethora of user options that @emph{fully}
+control VM's behavior.
+
+Enter vm-vars, @code{forward-search} for toolbar, find the variables
+that control the toolbar placement, appearance, existence, copy to your
+@file{init.el} or @file{.vm} and modify according to the
+detailed instructions.
+
+The above also applies to all the various features of VM: search for
+some keywords, maybe the first you conjure isn't appropriate, find the
+appropriate variables, copy and experiment.
+@end quotation
+
+@unnumberedsec 6.2: Reading Netnews and Mail with Gnus
+
+@node Q6.2.1, Q6.2.2, Q6.1.6, Internet
+@unnumberedsubsec Q6.2.1: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
+
+The Gnus numbering issues are not meant for mere mortals to know them.
+If you feel you @emph{must} enter the muddy waters of Gnus, visit the
+excellent FAQ, maintained by Justin Sheehy, at:
+
+@example
+@uref{http://my.gnus.org/FAQ/}
+@end example
+
+See also Gnus home page
+@example
+@uref{http://www.gnus.org/}
+@end example
+
+@node Q6.2.2, Q6.3.1, Q6.2.1, Internet
+@unnumberedsubsec Q6.2.2: How do I make Gnus stay within a single frame?
+
+The toolbar code to start Gnus opens the new frame---and it's a feature
+rather than a bug. If you don't like it, but would still like to click
+on the seemly icon, use the following code:
+
+@lisp
+(defun toolbar-news ()
+ (gnus))
+@end lisp
+
+It will redefine the callback function of the icon to just call
+@code{gnus}, without all the fancy frame stuff.
+
+@unnumberedsec 6.3: FTP Access
+
+@node Q6.3.1, Q6.3.2, Q6.2.2, Internet
+@unnumberedsubsec Q6.3.1: Can I edit files on other hosts?
+
+Yes. Of course XEmacs can use any network file system (such as NFS or
+Windows file sharing) you have available, and includes some
+optimizations and safety features appropriate to those environments.
+
+It is also possible to transparently edit files via FTP, ssh, or rsh. That
+is, XEmacs makes a local copy using the transport in the background, and
+automatically refreshes the remote original from that copy when you save
+it. XEmacs also is capable of doing file system manipulations like
+creating and removing directories and files. The FTP interface is
+provided by the standard @samp{efs} package @ref{Top, EFS, , efs}. The
+ssh/rsh interface is provided by the optional @samp{tramp} package
+@ref{Top, TRAMP, , tramp}.
+
+@node Q6.3.2, Q6.4.1, Q6.3.1, Internet
+@unnumberedsubsec Q6.3.2: What is EFS?
+
+#### Write me.
+
+@unnumberedsec 6.4: Web Browsing with W3
+
+@node Q6.4.1, Q6.4.2, Q6.3.2, Internet
+@unnumberedsubsec Q6.4.1: What is W3?
+
+W3 is an advanced graphical browser written in Emacs lisp that runs on
+XEmacs. It has full support for cascaded style sheets, and more...
+
+It has a home web page at
+@uref{http://www.cs.indiana.edu/elisp/w3/docs.html}.
+
+@node Q6.4.2, Q6.4.3, Q6.4.1, Internet
+@unnumberedsubsec Q6.4.2: How do I run W3 from behind a firewall?
+
+There is a long, well-written, detailed section in the W3 manual that
+describes how to do this. Look in the section entitled "Firewalls".
+
+@node Q6.4.3, , Q6.4.2, Internet
+@unnumberedsubsec Q6.4.3: Is it true that W3 supports style sheets and tables?
+
+Yes, and much more. W3, as distributed with the latest XEmacs is a
+full-featured web browser.
+
+@node Advanced, Other Packages, Internet, Top
+@unnumbered 7 Advanced Customization Using XEmacs Lisp
+
+This is part 7 of the XEmacs Frequently Asked Questions list. This
+section is devoted to advanced customization using XEmacs Lisp.
+
+@menu
+7.0: Emacs Lisp and @file{init.el}
+* Q7.0.1:: What version of Emacs am I running?
+* Q7.0.2:: How can I evaluate Emacs-Lisp expressions?
+* Q7.0.3:: @code{(setq tab-width 6)} behaves oddly.
+* Q7.0.4:: How can I add directories to the @code{load-path}?
+* Q7.0.5:: How to check if a lisp function is defined?
+* Q7.0.6:: Can I force the output of @code{(face-list)} to a buffer?
+
+7.1: Emacs Lisp Programming Techniques
+* Q7.1.1:: What is the difference in key sequences between XEmacs and GNU Emacs?
+* Q7.1.2:: Can I generate "fake" keyboard events?
+* Q7.1.3:: Could you explain @code{read-kbd-macro} in more detail?
+* Q7.1.4:: What is the performance hit of @code{let}?
+* Q7.1.5:: What is the recommended use of @code{setq}?
+* Q7.1.6:: What is the typical misuse of @code{setq}?
+* Q7.1.7:: I like the @code{do} form of cl, does it slow things down?
+* Q7.1.8:: I like recursion, does it slow things down?
+* Q7.1.9:: How do I put a glyph as annotation in a buffer?
+* Q7.1.10:: @code{map-extents} won't traverse all of my extents!
+* Q7.1.11:: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
+
+7.2: Mathematics
+* Q7.2.1:: What are bignums, ratios, and bigfloats in Lisp?
+* Q7.2.2:: XEmacs segfaults when I use very big numbers!
+* Q7.2.3:: Bignums are really slow!
+* Q7.2.4:: Equal bignums don't compare as equal! What gives?
+@end menu
+
+@unnumberedsec 7.0: Emacs Lisp and @file{init.el}
+
+@node Q7.0.1, Q7.0.2, Advanced, Advanced
+@unnumberedsubsec Q7.0.1: What version of Emacs am I running?
+
+How can @file{init.el} determine which of the family of
+Emacsen I am using?
+
+To determine if you are currently running GNU Emacs 18, GNU Emacs 19,
+XEmacs 19, XEmacs 20, or Epoch, and use appropriate code, check out the
+example given in @file{etc/sample.init.el} (@file{etc/sample.emacs} in
+XEmacs versions prior to 21.4). There are other nifty things in there
+as well!
+
+For all new code, all you really need to do is:
+
+@lisp
+(defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
+@end lisp
+
+@node Q7.0.2, Q7.0.3, Q7.0.1, Advanced
+@unnumberedsubsec Q7.0.2: How can I evaluate Emacs-Lisp expressions?
+
+I know I can evaluate Elisp expressions from @code{*scratch*} buffer
+with @kbd{C-j} after the expression. How do I do it from another
+buffer?
+
+Press @kbd{M-:} (the default binding of @code{eval-expression}), and
+enter the expression to the minibuffer.
+
+@node Q7.0.3, Q7.0.4, Q7.0.2, Advanced
+@unnumberedsubsec Q7.0.3: @code{(setq tab-width 6)} behaves oddly.
+
+If you put @code{(setq tab-width 6)} in your
+@file{init.el} file it does not work! Is there a reason
+for this? If you do it at the EVAL prompt it works fine!! How strange.
+
+Use @code{setq-default} instead, since @code{tab-width} is
+all-buffer-local.
+
+@node Q7.0.4, Q7.0.5, Q7.0.3, Advanced
+@unnumberedsubsec Q7.0.4: How can I add directories to the @code{load-path}?
+
+Here are two ways to do that, one that puts your directories at the
+front of the load-path, the other at the end:
+
+@lisp
+;;; Add things at the beginning of the load-path, do not add
+;;; duplicate directories:
+(pushnew "bar" load-path :test 'equal)
+
+(pushnew "foo" load-path :test 'equal)
+
+;;; Add things at the end, unconditionally
+(setq load-path (nconc load-path '("foo" "bar")))
+@end lisp
+
+@email{keithh@@nortel.ca, keith (k.p.) hanlan} writes:
+
+@quotation
+To add directories using Unix shell metacharacters use
+@file{expand-file-name} like this:
+
+@lisp
+(push (expand-file-name "~keithh/.emacsdir") load-path)
+@end lisp
+@end quotation
+
+@node Q7.0.5, Q7.0.6, Q7.0.4, Advanced
+@unnumberedsubsec Q7.0.5: How to check if a lisp function is defined?
+
+Use the following elisp:
+
+@lisp
+(fboundp 'foo)
+@end lisp