* * *
Again, this is only a sampling of some available packages, to give you a sense of the breadth and depth of capabilities that ship with Emacs. The list isn't close to complete even with respect to what's available at this time, and new features are always being added. Your best bet is to explore for yourself using the tools mentioned at the beginning of this appendix. And don't forget to search the Web for nonstandard additions that might be just what you need for your own environment and projects!
Appendix C. Bugs and Bug Fixes
There are no perfect programs. GNU Emacs is very thoroughly debugged, but it is certainly possible to find things that don't work correctly.
The Free Software Foundation (FSF) welcomes problem reports. However, they need to be real problem reports; simple differences of opinion about how something should work are not bugs. If you think that a certain command should work differently, remember that Emacs has been around for a long time and has many users; it can't be changed to satisfy a single user. (On the other hand, in most cases, you could write some Lisp to change it yourself.) In the GNU Emacs Manual, the FSF publishes some excellent guidelines for reporting bugs, which we'll summarize very quickly:
• Before you report a bug, see if it's on the list of known problems. You can view this list by typing C-h C-e.
• You most certainly have a bug if you run into some kind of system error (Emacs dumps core, terminates with a segmentation fault, crashes, hangs, or does something else antisocial).
• When reporting bugs, be as specific as possible. A few commands will help you report exactly what was happening when things went awry. C-h l (for view-lossage) reports the last 100 or so keystrokes you made; M-x open-dribble-file filename saves every keystroke you type in the specified filename.
• The FSF discourages you from trying to interpret bugs in the bug report. "I did thus-and-such and this happened" is useful, particularly if the problem is repeatable; "I think there's a problem with font handling" doesn't give any useful information at all.
• Always report which version of Emacs you are using. The command M-x emacs-version gives you the relevant information.
• Always report the contents of the file you were editing (if it makes a difference), the contents of your .emacs file, which mode you were in, and any Lisp libraries (custom or otherwise) that you have to load in order to create the problem.
We will add one very important guideline:
• Although we have taken every effort to write a book that is accurate, we are far from perfect. With that in mind, please do not cite this book as an authority when reporting a bug. Although we haven't asked, the Free Software Foundation would be completely justified in rejecting any bug reports based on a third-party publication. If you suspect a bug, use the GNU Emacs Manual or the help facility to find out what the command that's giving you trouble is really supposed to do. In doing so, you may find out that this book is incorrect; if you do, please report the problem to booktech@oreilly.com.
If you do have a bug to report, type M-x report-emacs-bug to send it from within Emacs. You'll be prompted for a subject line and dropped into Emacs' interface for sending mail. If mail from Emacs isn't set up properly, you can email emacs-pretest-bug@gnu.org using your preferred mail client. Be sure to include an informative subject line that summarizes the problem.
Appendix D. Online Resources
This appendix includes some helpful Emacs web sites. Some of those listed describe add-on packages for Emacs. In some cases, the sites have been stable for years and are likely to remain that way. In other cases, web sites come and go and URLs change. If you find errors in this list or have suggestions for additions, please email us at booktech@oreilly.com.
Table D-1. Emacs web sites
Table D-1. Emacs web sites
| Web site | URL |
|---|---|
| The Free Software Foundation | http://www.fsf.org/ |
| The official web site for GNU Emacs | http://www.gnu.org/software/emacs/ |
| The GNU General Public License | http://www.gnu.org/copyleft/gpl.html |
| The web site for this book | http://www.oreilly.com/catalog/gnu3/ |
| The very unofficial dotemacs home (great collection of .emacs files to aid you in creating your own) | http://www.dotemacs.de/ |
| Dotfiles.com (includes dot files for other applications as well as Emacs) | http://www.dotfiles.com/ |
| The Emacs Wiki | http://www.emacswiki.org/cgi-bin/wiki/ |
| Emacs Haiku | http://www.dina.dk/~abraham/religion/haiku-2.txt |
| Emacs implementations | http://www.finseth.com/~fin/emacs.html |
| David Wheeler's essay arguing for a GPL-compatible license for open source projects | http://www.dwheeler.com/essays/gpl-compatible.html |
Table D-2. Platform and accessibility-related web sites
Table D-2. Platform and accessibility-related web sites
| Web site | URL |
|---|---|
| FSF's download site for Emacs for Unix and Windows | http://ftp.gnu.org/pub/gnu/emacs/ |
| Andrew Choi's Mac OS X FAQ and build instructions | http://members.shaw.ca/akochoi-emacs/ |
| http://members.shaw.ca/akochoi-emacs/stories/obtaining-andbuilding.html | |
| Alex Rice's Mac OS X build | http://mindlube.com/products/emacs/index.html |
| Fink, a Unix software installer for Mac OS X | http://fink.sourceforge.net/ |
| John Schneider's "Getting Mac OS X.3 toBehave Almost Like My Linux Boxes" | http://www.eecs.wsu.edu/~schneidj/mac-osx-10.3.html |
| Nqmacs, a Windows Emacs binary | http://sourceforge.net/projects/nqmacs/ |
| Cygwin: Unix commands for Windows | http://www.cygwin.com/ |
| Ngai Kim Hoong's page relating to Emacs and Cygwin (even Emacs and Palm Pilots) | http://www.khngai.com/emacs/ |
| Kim Storm's CUA mode | http://www.cua.dk/emacs.html/ |
| Emacspeak (an audio interface to Emacs) | http://emacspeak.sourceforge.net/ |