(vc-comment-to-change-log): Merged in the remainder of jimb's last
[emacs.git] / etc / FAQ
blobdf0ad197070ff7ef954b46de47d5578ca915c926
1                        GNU Emacs FAQ: Introduction
3 [To find what has changed, see the "Changes" posting.]
5 [Joe Wells (me) has quit as FAQ coordinator.  Steven Byrnes is taking over this
6  responsibility.  Let's give him a big round of applause!  More volunteers are
7  still needed to help by taking charge of a section of the FAQ list.  Send
8  e-mail if you are interested. - jbw]
10 [First, I'd like to thank Joe for all of the work he's done on the FAQ to
11  date.  Second: due to a hectic schedule, getting up to speed with
12  maintaining the FAQ, and trying to fix up some loose ends, this release of
13  the FAQ is coming out a bit late.  (Ok, a lot late. :)  I hope to get
14  another release, fixing up some lose ends, by the end of the month. 
15  - sbyrnes]
17 This is the introduction to a list of frequently asked questions (FAQ) about
18 GNU Emacs with answers.  This article contains a listing of the questions;
19 subsequent articles contain the questions and answers.
21 The FAQ list is posted to reduce the noise level in the `gnu.emacs.help'
22 newsgroup (which is also the `help-gnu-emacs' mailing list) which results from
23 the repetition of frequently asked questions, wrong answers to these questions,
24 corrections to the wrong answers, corrections to the corrections, debate, name
25 calling, etc.  Also, it serves as a repository of the canonical "best" answers
26 to these questions.  However, if you know a better answer or even a slight
27 change that improves an answer, please tell us!
29 If you know the answer of a question is in the FAQ list, please reply to the
30 question by e-mail instead of posting.  Help reduce noise!
32 The FAQ list is crossposted to `comp.emacs' because some sites do not receive
33 the `gnu.*' newsgroups.  The FAQ list is also crossposted to `news.answers'.
35 Please suggest new questions, answers, wording changes, deletions, etc.  The
36 most helpful form for suggestions is a context diff (ie., the output of `diff
37 -c').  Include `FAQ' in the subject of messages sent to us about the FAQ list.
39 Please do not send questions to us just because you do not want to disturb a
40 lot of people and you think we would know the answer.  We do not have time to
41 answer questions individually.  :-(
43 Full instructions for getting the latest FAQ are in question 22.  Also see the
44 `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
45 e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
46 WAIS, or Prospero to rtfm.mit.edu.
48 These ideas have already been suggested, but we have not had time to
49 implement them:
51   * A Texinfo version.
52   * Marking questions in the table of contents that have been changed
53     recently.
55 -- 
56 Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>)
58 E-mail lpf@uunet.uu.net for details about the League for Programming Freedom.
60 ----------------------------------------------------------------------
62                      GNU Emacs FAQ: Table of Contents
64 Notation Used in FAQ
66 1:   What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
67 2:   What does "M-x command" mean?
68 3:   How do I read topic XXX in the on-line manual?
69 4:   What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
70 5:   What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
72 General Questions
74 6:   What is the LPF and why should I join it?
75 7:   What is the real legal meaning of the GNU copyleft?
76 8:   What are appropriate messages for gnu.emacs.help, gnu.emacs.bug,
77      comp.emacs, etc.?
78 9:   Where can I get old postings to gnu.emacs.help and other GNU groups?
79 10:  Where should I report bugs and other problems with GNU Emacs?
80 11:  How do I unsubscribe to this mailing list?
81 12:  What is the current address of the FSF?
83 On-line Help, Printed Manuals, Other Sources of Help
85 13:  I'm just starting GNU Emacs; how do I do basic editing?
86 14:  How do I find out how to do something in GNU Emacs?
87 15:  How do I get a printed copy of the GNU Emacs manual?
88 16:  Where can I get documentation on GNU Emacs Lisp?
89 17:  How do I install a piece of Texinfo documentation?
90 18:  How do I print a Texinfo file?
91 19:  Can I view Info files without using GNU Emacs?
92 20:  What informational files are available for GNU Emacs?
93 21:  Where can I get help in installing GNU Emacs?
94 22:  Where can I get the latest version of this document (the FAQ list)?
96 Status of Emacs
98 23:  Where does the name "Emacs" come from?
99 24:  What is the latest version of GNU Emacs?
100 25:  When will GNU Emacs 19 be available?
101 26:  What is different about GNU Emacs 19?
102 27:  What variants of GNU Emacs exist?
104 Common Things People Want To Do
106 28:  How do I set up a .emacs file properly?
107 29:  How do I debug a .emacs file?
108 30:  How do I make Emacs display the current line (or column) number?
109 31:  How do I turn on Abbrevs by default just in mode XXX?
110 32:  How do I turn on Auto-Fill mode by default?
111 33:  How do I make Emacs use a certain major mode for certain files?
112 34:  How do I search for, delete, or replace unprintable (8-bit or control)
113      characters?
114 35:  How can I highlight a region of text in Emacs?
115 36:  How do I control Emacs's case-sensitivity when searching/replacing?
116 37:  How do I make Emacs wrap words for me?
117 38:  Where can I get a better spelling checker for Emacs?
118 39:  How can I spell-check TeX or *roff documents?
119 40:  How do I change load-path?
120 41:  How do I use an already running Emacs from another window?
121 42:  How do I make Emacs recognize my compiler's funny error messages?
122 43:  How do I indent switch statements like this?
123 44:  How can I make Emacs automatically scroll horizontally?
124 45:  How do I make Emacs "typeover" or "overwrite" instead of inserting?
125 46:  How do I stop Emacs from beeping on a terminal?
126 47:  How do I turn down the bell volume in Emacs running under X Windows?
127 48:  How do I tell Emacs to automatically indent a new line to the
128      indentation of the previous line?
129 49:  How do I show which parenthesis matches the one I'm looking at?
130 50:  In C mode, can I show just the lines that will be left after #ifdef
131      commands are handled by the compiler?
132 51:  Is there an equivalent to the `.' (dot) command of vi?
133 52:  What are the valid X resource settings (ie., stuff in .Xdefaults)?
134 53:  How do I execute a piece of Emacs Lisp code?
135 54:  How do I change Emacs's idea of the tab character's length?
136 55:  How do I insert `>' at the beginning of every line?
137 56:  How do I insert `_^H' before each character in a paragraph to get an
138      underlined paragraph?
139 57:  How do I repeat a command as many times as possible?
140 58:  How do I make Emacs behave like this: when I go up or down, the cursor
141      should stay in the same column even if the line is too short?
142 59:  How do I tell Emacs to iconify itself?
143 60:  How do I use regexps (regular expressions) in Emacs?
144 61:  How do I perform a replace operation across more than one file?
145 62:  Where is the documentation for `etags'?
147 Bugs/Problems
149 63:  Does Emacs have problems with files larger than 8 megabytes?
150 64:  Why can't Emacs find files in current directory on startup?
151 65:  How do I get rid of the ^M junk in my Shell buffer?
152 66:  Why do I get `Process shell exited abnormally with code 1'?
153 67:  Why can't I cut from Emacs and paste in other X programs?
154 68:  Where is the termcap/terminfo entry for terminal type `emacs'?
155 69:  Why does Emacs spontaneously start displaying `I-search:' and beeping?
156 70:  Why can't Emacs talk to certain hosts (or certain hostnames)?
157 71:  Why does Emacs say `Error in init file'?
158 72:  Why does Emacs ignore my X resources (my .Xdefaults file)?
159 73:  Why does Emacs take 20 seconds to visit a file?
160 74:  How do I edit a file with a `$' in its name?
161 75:  Why does Shell mode lose track of the shell's current directory?
162 76:  Why doesn't my change to load-path work?
163 77:  Why does the cursor always go to the wrong column when I move up or
164      down one line?
165 78:  Why does Emacs hang with message `Unknown XMenu error' with X11R4?
166 79:  Why doesn't display-time show the load average in the mode line
167      anymore?
168 80:  Why does ispell sometimes ignore the local dictionary?
169 81:  Why does Ispell treat each line as a single word?
170 82:  Are there any security risks in GNU Emacs?
172 Difficulties Building/Installing/Porting Emacs
174 83:  What should I do if I have trouble building Emacs?
175 84:  How do I stop Emacs from failing when the executable is stripped?
176 85:  Why does linking Emacs with -lX11 fail?
177 86:  Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1?
179 Finding/Getting Emacs and Related Packages
181 87:  Where can I get GNU Emacs on the net (or by snail mail)?
182 88:  How do I find a GNU Emacs Lisp package that does XXX?
183 89:  Where can I get GNU Emacs Lisp packages that don't come with Emacs?
184 90:  How do I submit code to the Emacs Lisp Archive?
185 91:  Where can I get other up-to-date GNU stuff?
186 92:  Where can I get an Emacs with better mouse and X window support?
187 93:  What is the difference between GNU Emacs and Epoch?
188 94:  What is the difference between GNU Emacs and Lucid GNU Emacs?
189 95:  Where can I get the "unofficial HP GNU Emacs"?
190 96:  Where can I get Emacs for my PC running MS-DOS?
191 97:  Where can I get Emacs for my PC running Windows?
192 98:  Where can I get Emacs for my PC running OS/2?
193 99:  Where can I get Emacs for my Atari ST?
194 100: Where can I get Emacs for my Amiga?
195 101: Where can I get Emacs for my Apple computer?
196 102: Where can I get Emacs with NeWS support?
197 103: Where do I get Emacs that runs on VMS under DECwindows?
198 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++,
199      Objective C, Pascal, Awk?
200 105: What is the IP address of XXX.YYY.ZZZ?
202 Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
204 106: VM (View Mail) -- another mail reader within Emacs
205 107: Supercite -- mail and news citation package within Emacs
206 108: GNUS -- news reader within Emacs
207 109: Calc -- poor man's Mathematica within Emacs
208 110: Calendar/Diary -- calendar manager within Emacs
209 111: Ange-FTP -- transparent FTP access for Emacs's file access routines
210 112: VIP -- vi emulation for Emacs
211 113: Dired -- better directory editor for Emacs
212 114: AUC TeX -- enhanced LaTeX mode with debugging facilities
213 115: Hyperbole -- extensible hypertext management system within Emacs
214 116: Byte Compiler -- enhanced version of Emacs's byte compiler
215 117: comint -- hugely enhanced shell mode and other derived modes
216 118: BBDB -- personal info rolodex integrated with mail/news readers
217 119: Ispell -- spell checker in C with interface for Emacs
218 120: Epoch -- enhanced GNU Emacs with better X interface
219 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface
220 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines
221 123: Freemacs -- a small Emacs for MS-DOS
222 124: Patch -- program to apply "diffs" for updating files
224 Changing Key Bindings and Handling Key Binding Problems
226 125: How do I bind keys (including function keys) to commands?
227 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
228 127: Why doesn't this [terminal or window-system setup] code work in my
229      .emacs file, but it works just fine after Emacs starts up?
230 128: How do I use function keys under X Windows?
231 129: How do I tell what characters my function or arrow keys emit?
232 130: How do I set the X key "translations" for Emacs?
233 131: How do I handle C-s and C-q being used for flow control?
234 132: How do I use commands bound to C-s and C-q (or any key) if these keys
235      are filtered out?
236 133: Why does the `BackSpace' key invoke help?
237 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
238 135: Why don't the arrow keys work?
239 136: How do I "swap" two keys?
240 137: How do I produce C-XXX with my keyboard?
241 138: What if I don't have a Meta key?
242 139: What if I don't have an Escape key?
243 140: How do I type DEL on PC terminal emulators?
244 141: Can I make my `Compose Character' key behave like a Meta key?
245 142: How do I bind a combination of modifier key and function key?
246 143: Why doesn't my Meta key work in an xterm window?
247 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
248 145: Where can I get key bindings to make Emacs emulate WordStar?
249 146: Where can I get an XEDIT emulator for Emacs?
251 Using Emacs with Alternate Character Sets
253 147: How do I make Emacs display 8-bit characters?
254 148: How do I input 8-bit characters?
255 149: Where can I get an Emacs that can handle kanji characters?
256 150: Where can I get an Emacs that can handle Chinese?
257 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
259 Mail and News
261 152: How do I change the included text prefix in mail/news followups?
262 153: How do I save a copy of outgoing mail?
263 154: Why doesn't Emacs expand my aliases when sending mail?
264 155: Why does RMAIL think all my saved messages are one big message?
265 156: How can I sort the messages in my RMAIL folder?
266 157: Why does RMAIL need to write to /usr/spool/mail?
267 158: How do I recover my mail files after RMAIL munges their format?
268 159: How do I make Emacs automatically start my mail/news reader?
269 160: How do I read news under Emacs?
270 161: Why does `rnews' say "No News is good news" when there is news?
271 162: Why doesn't GNUS work anymore via NNTP?
272 163: How do I view text with embedded underlining (eg., ClariNews)?
273 164: When I try to post a long article in GNUS (about 10K or longer), I get
274      the error, "Writing to process: no more processes, nntpd"
275 165: How do I save all the items of a multi-part posting in GNUS?
276 166: Why does GNUS put the subjects in replies beyond the 80th column?
277 167: Why is GNUS so slow to start up?
278 168: How do I catch up all newsgroups in GNUS?
279 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line?
280 170: How do I get rid of flashing messages in GNUS for slow connections?
281 171: Why is catch up slow in Gnews/GNUS?
282 172: Why does GNUS hang for a long time when posting?
283 173: Why don't my news postings in GNUS get past the local machine?
284 174: Why is the GNUS-generated `Date:' header invalid?
285 175: Why doesn't GNUS generate the `Lines:' header?
286 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS?
287 177: How do I kill all articles in GNUS but those matching a pattern?
290 ----------------------------------------------------------------------
291 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells
292 Copyright (C) 1992, 1993 Steven Byrnes
294 This list of frequently asked questions about GNU Emacs with answers
295 ("FAQ") may be translated into other languages, transformed into other
296 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new
297 information.  The same conditions apply to any derivative of the FAQ as
298 apply to the FAQ itself.  Every copy of the FAQ must include this notice
299 or an approved translation, information on who is currently maintaining
300 the FAQ and how to contact them (including their e-mail address), and
301 information on where the latest version of the FAQ is archived (including
302 FTP information).  The FAQ may be copied and redistributed under these
303 conditions, except that the FAQ may not be embedded in a larger literary
304 work unless that work itself allows free copying and redistribution.
306                        GNU Emacs FAQ: Introduction
308 [To find what has changed, see the "Changes" posting.]
310 [Joe Wells (me) has quit as FAQ coordinator.  Steven Byrnes is taking over this
311  responsibility.  Let's give him a big round of applause!  More volunteers are
312  still needed to help by taking charge of a section of the FAQ list.  Send
313  e-mail if you are interested. - jbw]
315 [First, I'd like to thank Joe for all of the work he's done on the FAQ to
316  date.  Second: due to a hectic schedule, getting up to speed with
317  maintaining the FAQ, and trying to fix up some loose ends, this release of
318  the FAQ is coming out a bit late.  (Ok, a lot late. :)  I hope to get
319  another release, fixing up some lose ends, by the end of the month. 
320  - sbyrnes]
322 This is the introduction to a list of frequently asked questions (FAQ) about
323 GNU Emacs with answers.  This article contains a listing of the questions;
324 subsequent articles contain the questions and answers.
326 The FAQ list is posted to reduce the noise level in the `gnu.emacs.help'
327 newsgroup (which is also the `help-gnu-emacs' mailing list) which results from
328 the repetition of frequently asked questions, wrong answers to these questions,
329 corrections to the wrong answers, corrections to the corrections, debate, name
330 calling, etc.  Also, it serves as a repository of the canonical "best" answers
331 to these questions.  However, if you know a better answer or even a slight
332 change that improves an answer, please tell us!
334 If you know the answer of a question is in the FAQ list, please reply to the
335 question by e-mail instead of posting.  Help reduce noise!
337 The FAQ list is crossposted to `comp.emacs' because some sites do not receive
338 the `gnu.*' newsgroups.  The FAQ list is also crossposted to `news.answers'.
340 Please suggest new questions, answers, wording changes, deletions, etc.  The
341 most helpful form for suggestions is a context diff (ie., the output of `diff
342 -c').  Include `FAQ' in the subject of messages sent to us about the FAQ list.
344 Please do not send questions to us just because you do not want to disturb a
345 lot of people and you think we would know the answer.  We do not have time to
346 answer questions individually.  :-(
348 Full instructions for getting the latest FAQ are in question 22.  Also see the
349 `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
350 e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
351 WAIS, or Prospero to rtfm.mit.edu.
353 These ideas have already been suggested, but we have not had time to
354 implement them:
356   * A Texinfo version.
357   * Marking questions in the table of contents that have been changed
358     recently.
360 -- 
361 Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>)
363 E-mail lpf@uunet.uu.net for details about the League for Programming Freedom.
365 ----------------------------------------------------------------------
367                      GNU Emacs FAQ: Table of Contents
369 Notation Used in FAQ
371 1:   What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
372 2:   What does "M-x command" mean?
373 3:   How do I read topic XXX in the on-line manual?
374 4:   What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
375 5:   What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
377 General Questions
379 6:   What is the LPF and why should I join it?
380 7:   What is the real legal meaning of the GNU copyleft?
381 8:   What are appropriate messages for gnu.emacs.help, gnu.emacs.bug,
382      comp.emacs, etc.?
383 9:   Where can I get old postings to gnu.emacs.help and other GNU groups?
384 10:  Where should I report bugs and other problems with GNU Emacs?
385 11:  How do I unsubscribe to this mailing list?
386 12:  What is the current address of the FSF?
388 On-line Help, Printed Manuals, Other Sources of Help
390 13:  I'm just starting GNU Emacs; how do I do basic editing?
391 14:  How do I find out how to do something in GNU Emacs?
392 15:  How do I get a printed copy of the GNU Emacs manual?
393 16:  Where can I get documentation on GNU Emacs Lisp?
394 17:  How do I install a piece of Texinfo documentation?
395 18:  How do I print a Texinfo file?
396 19:  Can I view Info files without using GNU Emacs?
397 20:  What informational files are available for GNU Emacs?
398 21:  Where can I get help in installing GNU Emacs?
399 22:  Where can I get the latest version of this document (the FAQ list)?
401 Status of Emacs
403 23:  Where does the name "Emacs" come from?
404 24:  What is the latest version of GNU Emacs?
405 25:  When will GNU Emacs 19 be available?
406 26:  What is different about GNU Emacs 19?
407 27:  What variants of GNU Emacs exist?
409 Common Things People Want To Do
411 28:  How do I set up a .emacs file properly?
412 29:  How do I debug a .emacs file?
413 30:  How do I make Emacs display the current line (or column) number?
414 31:  How do I turn on Abbrevs by default just in mode XXX?
415 32:  How do I turn on Auto-Fill mode by default?
416 33:  How do I make Emacs use a certain major mode for certain files?
417 34:  How do I search for, delete, or replace unprintable (8-bit or control)
418      characters?
419 35:  How can I highlight a region of text in Emacs?
420 36:  How do I control Emacs's case-sensitivity when searching/replacing?
421 37:  How do I make Emacs wrap words for me?
422 38:  Where can I get a better spelling checker for Emacs?
423 39:  How can I spell-check TeX or *roff documents?
424 40:  How do I change load-path?
425 41:  How do I use an already running Emacs from another window?
426 42:  How do I make Emacs recognize my compiler's funny error messages?
427 43:  How do I indent switch statements like this?
428 44:  How can I make Emacs automatically scroll horizontally?
429 45:  How do I make Emacs "typeover" or "overwrite" instead of inserting?
430 46:  How do I stop Emacs from beeping on a terminal?
431 47:  How do I turn down the bell volume in Emacs running under X Windows?
432 48:  How do I tell Emacs to automatically indent a new line to the
433      indentation of the previous line?
434 49:  How do I show which parenthesis matches the one I'm looking at?
435 50:  In C mode, can I show just the lines that will be left after #ifdef
436      commands are handled by the compiler?
437 51:  Is there an equivalent to the `.' (dot) command of vi?
438 52:  What are the valid X resource settings (ie., stuff in .Xdefaults)?
439 53:  How do I execute a piece of Emacs Lisp code?
440 54:  How do I change Emacs's idea of the tab character's length?
441 55:  How do I insert `>' at the beginning of every line?
442 56:  How do I insert `_^H' before each character in a paragraph to get an
443      underlined paragraph?
444 57:  How do I repeat a command as many times as possible?
445 58:  How do I make Emacs behave like this: when I go up or down, the cursor
446      should stay in the same column even if the line is too short?
447 59:  How do I tell Emacs to iconify itself?
448 60:  How do I use regexps (regular expressions) in Emacs?
449 61:  How do I perform a replace operation across more than one file?
450 62:  Where is the documentation for `etags'?
452 Bugs/Problems
454 63:  Does Emacs have problems with files larger than 8 megabytes?
455 64:  Why can't Emacs find files in current directory on startup?
456 65:  How do I get rid of the ^M junk in my Shell buffer?
457 66:  Why do I get `Process shell exited abnormally with code 1'?
458 67:  Why can't I cut from Emacs and paste in other X programs?
459 68:  Where is the termcap/terminfo entry for terminal type `emacs'?
460 69:  Why does Emacs spontaneously start displaying `I-search:' and beeping?
461 70:  Why can't Emacs talk to certain hosts (or certain hostnames)?
462 71:  Why does Emacs say `Error in init file'?
463 72:  Why does Emacs ignore my X resources (my .Xdefaults file)?
464 73:  Why does Emacs take 20 seconds to visit a file?
465 74:  How do I edit a file with a `$' in its name?
466 75:  Why does Shell mode lose track of the shell's current directory?
467 76:  Why doesn't my change to load-path work?
468 77:  Why does the cursor always go to the wrong column when I move up or
469      down one line?
470 78:  Why does Emacs hang with message `Unknown XMenu error' with X11R4?
471 79:  Why doesn't display-time show the load average in the mode line
472      anymore?
473 80:  Why does ispell sometimes ignore the local dictionary?
474 81:  Why does Ispell treat each line as a single word?
475 82:  Are there any security risks in GNU Emacs?
477 Difficulties Building/Installing/Porting Emacs
479 83:  What should I do if I have trouble building Emacs?
480 84:  How do I stop Emacs from failing when the executable is stripped?
481 85:  Why does linking Emacs with -lX11 fail?
482 86:  Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1?
484 Finding/Getting Emacs and Related Packages
486 87:  Where can I get GNU Emacs on the net (or by snail mail)?
487 88:  How do I find a GNU Emacs Lisp package that does XXX?
488 89:  Where can I get GNU Emacs Lisp packages that don't come with Emacs?
489 90:  How do I submit code to the Emacs Lisp Archive?
490 91:  Where can I get other up-to-date GNU stuff?
491 92:  Where can I get an Emacs with better mouse and X window support?
492 93:  What is the difference between GNU Emacs and Epoch?
493 94:  What is the difference between GNU Emacs and Lucid GNU Emacs?
494 95:  Where can I get the "unofficial HP GNU Emacs"?
495 96:  Where can I get Emacs for my PC running MS-DOS?
496 97:  Where can I get Emacs for my PC running Windows?
497 98:  Where can I get Emacs for my PC running OS/2?
498 99:  Where can I get Emacs for my Atari ST?
499 100: Where can I get Emacs for my Amiga?
500 101: Where can I get Emacs for my Apple computer?
501 102: Where can I get Emacs with NeWS support?
502 103: Where do I get Emacs that runs on VMS under DECwindows?
503 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++,
504      Objective C, Pascal, Awk?
505 105: What is the IP address of XXX.YYY.ZZZ?
507 Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
509 106: VM (View Mail) -- another mail reader within Emacs
510 107: Supercite -- mail and news citation package within Emacs
511 108: GNUS -- news reader within Emacs
512 109: Calc -- poor man's Mathematica within Emacs
513 110: Calendar/Diary -- calendar manager within Emacs
514 111: Ange-FTP -- transparent FTP access for Emacs's file access routines
515 112: VIP -- vi emulation for Emacs
516 113: Dired -- better directory editor for Emacs
517 114: AUC TeX -- enhanced LaTeX mode with debugging facilities
518 115: Hyperbole -- extensible hypertext management system within Emacs
519 116: Byte Compiler -- enhanced version of Emacs's byte compiler
520 117: comint -- hugely enhanced shell mode and other derived modes
521 118: BBDB -- personal info rolodex integrated with mail/news readers
522 119: Ispell -- spell checker in C with interface for Emacs
523 120: Epoch -- enhanced GNU Emacs with better X interface
524 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface
525 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines
526 123: Freemacs -- a small Emacs for MS-DOS
527 124: Patch -- program to apply "diffs" for updating files
529 Changing Key Bindings and Handling Key Binding Problems
531 125: How do I bind keys (including function keys) to commands?
532 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
533 127: Why doesn't this [terminal or window-system setup] code work in my
534      .emacs file, but it works just fine after Emacs starts up?
535 128: How do I use function keys under X Windows?
536 129: How do I tell what characters my function or arrow keys emit?
537 130: How do I set the X key "translations" for Emacs?
538 131: How do I handle C-s and C-q being used for flow control?
539 132: How do I use commands bound to C-s and C-q (or any key) if these keys
540      are filtered out?
541 133: Why does the `BackSpace' key invoke help?
542 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
543 135: Why don't the arrow keys work?
544 136: How do I "swap" two keys?
545 137: How do I produce C-XXX with my keyboard?
546 138: What if I don't have a Meta key?
547 139: What if I don't have an Escape key?
548 140: How do I type DEL on PC terminal emulators?
549 141: Can I make my `Compose Character' key behave like a Meta key?
550 142: How do I bind a combination of modifier key and function key?
551 143: Why doesn't my Meta key work in an xterm window?
552 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
553 145: Where can I get key bindings to make Emacs emulate WordStar?
554 146: Where can I get an XEDIT emulator for Emacs?
556 Using Emacs with Alternate Character Sets
558 147: How do I make Emacs display 8-bit characters?
559 148: How do I input 8-bit characters?
560 149: Where can I get an Emacs that can handle kanji characters?
561 150: Where can I get an Emacs that can handle Chinese?
562 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
564 Mail and News
566 152: How do I change the included text prefix in mail/news followups?
567 153: How do I save a copy of outgoing mail?
568 154: Why doesn't Emacs expand my aliases when sending mail?
569 155: Why does RMAIL think all my saved messages are one big message?
570 156: How can I sort the messages in my RMAIL folder?
571 157: Why does RMAIL need to write to /usr/spool/mail?
572 158: How do I recover my mail files after RMAIL munges their format?
573 159: How do I make Emacs automatically start my mail/news reader?
574 160: How do I read news under Emacs?
575 161: Why does `rnews' say "No News is good news" when there is news?
576 162: Why doesn't GNUS work anymore via NNTP?
577 163: How do I view text with embedded underlining (eg., ClariNews)?
578 164: When I try to post a long article in GNUS (about 10K or longer), I get
579      the error, "Writing to process: no more processes, nntpd"
580 165: How do I save all the items of a multi-part posting in GNUS?
581 166: Why does GNUS put the subjects in replies beyond the 80th column?
582 167: Why is GNUS so slow to start up?
583 168: How do I catch up all newsgroups in GNUS?
584 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line?
585 170: How do I get rid of flashing messages in GNUS for slow connections?
586 171: Why is catch up slow in Gnews/GNUS?
587 172: Why does GNUS hang for a long time when posting?
588 173: Why don't my news postings in GNUS get past the local machine?
589 174: Why is the GNUS-generated `Date:' header invalid?
590 175: Why doesn't GNUS generate the `Lines:' header?
591 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS?
592 177: How do I kill all articles in GNUS but those matching a pattern?
595 ----------------------------------------------------------------------
596 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells
597 Copyright (C) 1992, 1993 Steven Byrnes
599 This list of frequently asked questions about GNU Emacs with answers
600 ("FAQ") may be translated into other languages, transformed into other
601 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new
602 information.  The same conditions apply to any derivative of the FAQ as
603 apply to the FAQ itself.  Every copy of the FAQ must include this notice
604 or an approved translation, information on who is currently maintaining
605 the FAQ and how to contact them (including their e-mail address), and
606 information on where the latest version of the FAQ is archived (including
607 FTP information).  The FAQ may be copied and redistributed under these
608 conditions, except that the FAQ may not be embedded in a larger literary
609 work unless that work itself allows free copying and redistribution.
612                GNU Emacs FAQ: Notation/General/Help/Status
614 If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
615 get an overview of just the questions.  Then, when you want to look at the text
616 of the answers, just type "C-x $".
618 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
619 that doesn't work, then type ESC to end the search.
621 A `+' in the 78th column means something was inserted on the line.  A `-' means
622 something was deleted and a `!' means some combination of insertions and
623 deletions occurred.
625 Full instructions for getting the latest FAQ are in question 22.  Also see the
626 `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
627 e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
628 WAIS, or Prospero to rtfm.mit.edu.
632 Notation Used in FAQ
634   Skip this section and then come back if you don't understand some of the
635   later answers.
636   
637 1:   What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
638   
639   C-x means press the `x' key while holding down the Control key.  M-x means
640   press the `x' key while holding down the Meta key.  M-C-x means press the
641   `x' key while holding down both the Control key and the Meta key.  C-M-a
642   is a synonym for M-C-a.  RET, LFD, DEL, ESC, and TAB respectively refer to
643   pressing the Return, Linefeed (aka Newline), Delete, Escape, and Tab keys
644   and are equivalent to C-m, C-j, C-?, C-[, and C-i.  SPC means press the
645   Space bar.
646   
647   I put any key sequence that is longer than one key (and some single-key
648   sequences) inside double quotes or on a line by itself.  Any real spaces
649   in such a key sequence should be ignored; only SPC really means press the
650   space key.
651   
652   The ASCII code sent by C-x (except for C-?) is the value that would be
653   sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be
654   from 0 to 31.  The ASCII code sent by M-x is the sum of 128 and the ASCII
655   code that would be sent by pressing just the `x' key.  Essentially, the
656   Control key turns off bits 5 and 6 and the Meta key turns on bit 7.
657   
658   For further information, see `Characters' and `Keys' in the online manual.
659   
660   NOTE: C-? (aka DEL) is ASCII code 127.  It is a misnomer to call C-? a
661   "control" key, since 127 has both bits 5 and 6 turned ON.  Also, on very
662   few keyboards does Control-? generate ASCII code 127.
663   
664 2:   What does "M-x command" mean?
665   
666   "M-x command" means type M-x, then type the name of the command, then
667   type RET.
668   
669   M-x (by default) invokes the command `execute-extended-command'.  This
670   command allows you to run any Emacs command if you can remember the
671   command's name.  If you can't remember the command's name, you can type
672   TAB and SPC for completion, and "?" for a list of possibilities.  An Emacs
673   "command" is any "interactive" Emacs function.
674   
675   NOTE: Your system administrator may have bound other key sequences to
676   invoke execute-extended-command.  A function key labeled `Do' is a good
677   candidate for this.
678   
679   To run non-interactive Emacs functions, see question 53.
680   
681 3:   How do I read topic XXX in the on-line manual?
682   
683   When I refer you to topic XXX in the on-line manual, you can read this
684   manual node inside Emacs (assuming nothing is broken) by typing this:
685   
686     C-h i m emacs RET m XXX RET
687   
688   This invokes the Info facility.  If you don't already know how to use
689   Info, type "?" from within Info.
690   
691   If I refer you to topic XXX:YYY, you need to type this:
692   
693     C-h i m emacs RET m XXX RET m YYY RET
694   
695   WARNING: Your system administrator may not have installed the Info files,
696   or may have installed them properly.  In this case you should complain.
697   
698 4:   What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
699   
700   These are files that come with GNU Emacs.  The GNU Emacs distribution is
701   divided into subdirectories; the important ones are `etc', `lisp', and
702   `src'.
703   
704   If you use GNU Emacs, but don't know where it is kept on your system,
705   start Emacs, then type "C-h v exec-directory RET".  The directory name
706   displayed by this will be the full pathname of the installed `etc'
707   directory.
708   
709   Some of these files are available individually via FTP or e-mail, see
710   question 20.  All are available in the source distribution.
711   
712 5:   What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
713   
714   FSF == Free Software Foundation
715   LPF == League for Programming Freedom
716   OSF == Open Software Foundation
717   GNU == GNU's Not Unix
718   RMS == Richard Matthew Stallman
719   FTP == File Transfer Protocol
720   GPL == GNU General Public Licence
721   
722   NOTE: Avoid confusing the FSF, the LPF, and the OSF.  The LPF opposes
723   look-and-feel copyrights and software patents.  The FSF aims to make high
724   quality free software available for everyone.  The OSF is a commercial
725   organization which wants to provide an alternative, standardized version
726   of Unix not controlled by AT&T.
727   
728   NOTE: The word "free" in the title of the Free Software Foundation refers
729   to "freedom", not "zero dollars".  Anyone can charge any price for
730   GPL-covered software that they want to.  However, in practice, the freedom
731   enforced by the GPL leads to low prices, because you can always get the
732   software for less money from someone else, because everyone has the right
733   to resell or give away GPL-covered software.
734   
737 General Questions
739 6:   What is the LPF and why should I join it?
740   
741   The LPF opposes the expanding danger of software patents and look-and-feel
742   copyrights.  To get more information, feel free to contact the LPF via
743   e-mail or otherwise.  {You may also contact me, jbw@cs.bu.edu; I will be
744   happy to talk with you about the LPF.}  Here is the contact information:
745   
746     E-mail address: league@prep.ai.mit.edu
747     Phone number: (617) 243-4091
748     Postal address:
749       League for Programming Freedom
750       1 Kendall Square, Number 143
751       Post Office Box 9171
752       Cambridge, MA 02139, USA
753   
754   Papers describing the LPF's views are available on the internet and also
755   from the LPF:
756   
757     Anonymous FTP:
758       /prep.ai.mit.edu:/pub/lpf/
759       /archive.cis.ohio-state.edu:pub/lpf/
760     Anonymous UUCP:
761       osu-cis!~/lpf/*
762   
763 7:   What is the real legal meaning of the GNU copyleft?
764   
765   The real legal meaning of the GNU General Public Licence (copyleft) is
766   however it is interpreted by a judge.  There has never been a copyright
767   infringment case involving the GPL to set any precedents.  Please take any
768   discussion regarding this issue to the newsgroup gnu.misc.discuss, which
769   was created to hold the extensive flame wars on the subject.
770   
771   RMS writes:
772   
773     The legal meaning of the GNU copyleft is less important than the spirit,
774     which is that Emacs is a free software project and that work pertaining
775     to Emacs should also be free software.  "Free" means that all users have
776     the freedom to study, share, change and improve Emacs.  To make sure
777     everyone has this freedom, pass along source code when you distribute
778     any version of Emacs or a related program, and give the recipients the
779     same freedom that you enjoyed.
780   
781 8:   What are appropriate messages for gnu.emacs.help, gnu.emacs.bug,
782  comp.emacs, etc.?
783   
784   The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list.
785   (See question 20 on how to get a copy.)  For those which are gatewayed
786   with newsgroups, it lists both the newsgroup name and the mailing list
787   address.
788   
789   comp.emacs is for discussion of Emacs programs in general.  This
790   includes GNU Emacs along with various other implementations like JOVE,
791   MicroEmacs, Freemacs, MG, Unipress, CCA, Epsilon, etc.
792   
793   Many people post GNU Emacs questions to comp.emacs because they don't
794   receive any of the gnu.* newsgroups.  Arguments have been made both for
795   and against posting GNU-Emacs-specific material to comp.emacs.  You have
796   to decide for yourself.
797   
798   Messages advocating "non-free" software are considered unacceptable on any
799   of the gnu.* newsgroups except for gnu.misc.discuss, which was created to
800   hold the extensive flame-wars on the subject.  "non-free" software
801   includes any software for which the end user can't freely modify the
802   source code and exchange enhancements.  Be careful to remove the gnu.*
803   groups from the `Newsgroups:' line when posting a followup that recommends
804   such software.
805   
806   gnu.emacs.bug is a place where bug reports appear, but avoid posting bug
807   reports to this newsgroup, instead see question 10.
808   
809 9:   Where can I get old postings to gnu.emacs.help and other GNU groups?
810   
811   The FSF has maintained archives of all of the GNU mailing lists for many
812   years, although there may be some unintentional gaps in coverage.  The
813   archive is not particularly well organized or easy to retrieve individual
814   postings from, but pretty much everything is there.
815   
816     Anonymous FTP:
817       /prep.ai.mit.edu:/pub/gnu/MailingListArchives/                         !
818                                                                              !
819   There is a WAIS database named `comp.emacs' on wais.oit.unc.edu that       !
820   makes available the last few days of articles in comp.emacs.               !
821   
822 10:  Where should I report bugs and other problems with GNU Emacs?
823   
824   The correct way to report GNU Emacs bugs is by e-mail to
825   bug-gnu-emacs@prep.ai.mit.edu.  Anything sent here also appears in the
826   newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit
827   the bug report.  This way a reliable return address is available so you
828   can be contacted for further details.
829   
830   RMS explains:
831   
832     Sending bug reports to help-gnu-emacs (which has the effect of posting
833     on gnu.emacs.help) is undesirable because it takes the time of an
834     unnecessarily large group of people, most of whom are just users and
835     have no idea how to fix these problem.  bug-gnu-emacs reaches a much
836     smaller group of people who are more likely to know what to do and have
837     expressed a wish to receive more messages about Emacs than the others.
838   
839   However, RMS says there are circumstances when it is okay to post to
840   gnu.emacs.help:
841   
842     If you have reported a bug and you don't hear about a possible fix, then
843     after a suitable delay (such as a week) it is okay to post on
844     gnu.emacs.help asking if anyone can help you.
845   
846   If you are unsure whether you have a bug, RMS describes how to tell:
847   
848     ... if Emacs crashes, that is a bug.  If Emacs gets compilation errors
849     while building, that is a bug.  If Emacs crashes while building, that is
850     a bug.  If Lisp code does not do what the documentation says it does,
851     that is a bug.
852   
853 11:  How do I unsubscribe to this mailing list?
854   
855   If you are receiving a GNU mailing list named `XXX', you might be able
856   to unsubscribe to it by sending a request to the address
857   `XXX-request@prep.ai.mit.edu'.  However, this will not work if you are
858   not listed on the main mailing list, but instead recieve the mail from a
859   distribution point.  In that case, you will have to track down at which
860   distribution point you are listed.  Inspecting the `Received:' headers
861   on the mail messages may help, along with liberal use of the `EXPN' or
862   `VRFY' sendmail commands through `telnet <site-address> smtp'.  Ask your
863   postmaster for help.
864   
865 12:  What is the current address of the FSF?
866   
867   E-mail address: gnu@prep.ai.mit.edu
868   Phone number: (617) 876-3296
869   Postal address:
870     Free Software Foundation, Inc.
871     675 Massachusetts Avenue
872     Cambridge, MA 02139, USA
873   
876 On-line Help, Printed Manuals, Other Sources of Help
878 13:  I'm just starting GNU Emacs; how do I do basic editing?
879   
880   Type "C-h t" to invoke the self-paced tutorial.  Typing just C-h is
881   how to enter the help system.
882   
883   WARNING: Your system administrator may have changed C-h to act like DEL to
884   deal local keyboards.  You can use M-x help-for-help instead to invoke
885   help.  To discover what key (if any) invokes help on your system, type
886   "M-x where-is RET help-for-help RET".  This will print a comma-separated
887   list of key sequences in the echo area.  Ignore the last character in each
888   key sequence listed.  Each of the resulting key sequences invokes help.
889   
890   NOTE: Emacs's help facility works best if help is invoked by a single key
891   whose value should be stored in the variable help-char.  Andrew
892   Arensburger <arensb@kong.gsfc.nasa.gov> wrote a patch that allows the help
893   facility to work properly when invoked by multiple character sequences.
894   
895 14:  How do I find out how to do something in GNU Emacs?
896   
897   There are several methods for finding out how to do things in Emacs.
898   
899   * The complete text of the Emacs manual is available online via the Info
900     hypertext reader.  Type "C-h i" to invoke Info.
901   
902   * You can order a hardcopy of the manual from the FSF.  See question 15.
903   
904   * You can get a printed reference card listing commands and keys to invoke
905     them.  You can order one from the FSF for $1 (or 10 for $5), or you can
906     print your own from the etc/refcard.tex file in the Emacs distribution.
907     {Are PostScript versions of this available for FTP?}
908   
909   * You can list all of the commands whose names contain a certain word
910     (actually which match a regular expression) using "C-h a"
911     (M-x command-apropos).
912   
913   * You can list all of the functions and variables whose names contain a
914     certain word using M-x apropos.
915   
916   * There are many other commands in Emacs for getting help and information.
917     To get a list of these commands, type "C-h C-h C-h".
918   
919   NOTE: You may find that command-apropos and apropos are extremely slow
920   on your system.  This will be fixed in Emacs 19.  If you can't wait that
921   long, there is a fast-apropos.el file available in the Emacs Lisp
922   Archive (see question 89) that contains the fix.
923   
924 15:  How do I get a printed copy of the GNU Emacs manual?
925   
926   You can order a printed copy of the GNU Emacs manual from the FSF for
927   $20.  For 6 or more manuals the price is $13 each.  The price may be
928   tax-deductible as a business expense.
929   
930   The full TeX source for the manual also comes in the `man' directory of
931   the Emacs distribution, if you're daring enough to try to print out this
932   300 page manual yourself (see question 18).
933   
934   If you absolutely have to print your own copy, and you don't have TeX, you
935   can get a PostScript version via anonymous FTP:
936   
937     /cs.ubc.ca:src/gnu/manuals_ps/emacs-18.57.ps.Z
938   
939   which site requests that you please CONFINE ANY MAJOR FTPING TO LATE
940   EVENINGS OR EARLY MORNINGS OUR TIME (pacific time zone, GMT-8)).  A DVI
941   version is also available via FTP:
942   
943     /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.Z
944   
945   If you don't have TeX you can convert the Texinfo sources into
946   {t,n,ps}roff format with the `texi2roff' program, which is available via
947   anonymous FTP:
948   
949     /archive.cis.ohio-state.edu:pub/gnu/texi2roff/texi2roff.shar.Z
950   
951   See also question 14 for how to view the manual online.
952   
953 16:  Where can I get documentation on GNU Emacs Lisp?
954   
955   Within Emacs, you can type "C-h f" to get the documentation for a
956   function, "C-h v" for a variable.
957   
958   For more information, obtain the GNU Emacs Lisp Reference Manual for Emacs
959   18 under Unix.  It is available from the FSF for $50 (or 5 for $200).  The
960   latest revision available for FTP is edition 1.03 dated 28 January 1991.
961   
962   For online use, a set of pregenerated Info files is available with the
963   Texinfo source for the Emacs Lisp manual via anonymous FTP:
964   
965     /archive.cis.ohio-state.edu:pub/gnu/emacs/
966     /prep.ai.mit.edu:pub/gnu/elisp-manual-1.03.tar.Z
967   
968   (You can also create the Info files from the Texinfo source.)  See
969   question 17 for details on how to install these files online.
970   
971   If you are daring enough to try to print this 550 page manual out
972   yourself, for instructions see question 18.
973   
974   Also, as a popular USENET saying goes, "Use the Force, Read the Source".
975   
976 17:  How do I install a piece of Texinfo documentation?
977   
978   First create Info files from the Texinfo files with the `makeinfo'
979   program.  makeinfo is available as part of the latest Texinfo package:
980   
981     /prep.ai.mit.edu:pub/gnu/texinfo-2.14.tar.Z
982   
983   For information about the Texinfo format, read the Texinfo manual which
984   comes with Emacs.  This manual also comes installed in Info format, so you
985   can read it online.
986   
987   Neither texinfo-format-buffer nor the makeinfo program install the
988   resulting Info files in Emacs's Info tree.  To install Info files:
989   
990   1. Move the files to the `info' directory in the installed Emacs
991      distribution.  See question 4 if you don't know where that
992      is.
993   
994   2. Edit the file info/dir in the installed Emacs distribution, and add a
995      line for the top level node in the Info package that you are
996      installing.  Follow the examples are already in this file.  The format
997      is:
998   
999        * Topic: (relative-pathname).  Short description of topic.
1000   
1001   If you want to install Info files and you don't have the necessary
1002   privileges, you have several options:
1003   
1004   * Info files don't actually need to be installed before being used.  You
1005     can feed a file name to the Info-goto-node command (invoked by pressing
1006     "g" in Info mode) by typing the name of the file in parentheses.  This
1007     goes to the node named `Top' in that file.  For example, to view a Info
1008     file named `XXX' in your home directory, you can type this:
1009   
1010       C-h i g (~/XXX) RET
1011   
1012   * You can create your own Info directory.  You can tell Emacs where the
1013     Info directory is by setting the value of the variable Info-directory
1014     to its pathname.  For example, to use a private Info directory which
1015     is a subdirectory of your home directory named `Info', you could do
1016     this:
1017   
1018       (setq Info-directory (expand-file-name "~/Info"))
1019   
1020     You will need a top-level Info file named `dir' in this directory.
1021     You can include the system-wide Info directory in your private Info
1022     directory with symbolic links or by copying it.
1023   
1024   * You can use an enhanced version of lisp/info.el that handles multiple
1025     Info directories.  Then you can more easily use a mix of private and
1026     shared Info files.  Dave Gillespie <daveg@synaptics.com,
1027     daveg@csvax.cs.caltech.edu> has written one such enhancement and I
1028     believe there are others.  Dave's info.el also handles compressed Info
1029     files.
1030   
1031     Anonymous FTP:
1032       /archive.cis.ohio-state.edu:modes/info.el.Z
1033       /cs.umn.edu:pub/gnu/emacs/info.el.Z
1034   
1035     According to Jay Bourland <jayb@math.stanford.edu>, a version of Dave's
1036     info.el comes with `xinfo' (see question 19).
1037   
1038 18:  How do I print a Texinfo file?
1039   
1040   NOTE: You can't get nice printed output from Info files; you must still
1041   have the original Texinfo source file for the manual you want to print.
1042   
1043   1. Make sure the first line of the Texinfo file looks like this:
1044   
1045        \input texinfo
1046   
1047      You may need to alter `texinfo' to the full pathname of the
1048      texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy
1049      or link it into the current directory).
1050   
1051   2. tex XXX.texinfo
1052   
1053   3. texindex XXX.??
1054   
1055      The `texindex' program comes with Emacs as man/texindex.c.
1056   
1057   4. tex XXX.texinfo
1058   
1059   5. Print the DVI file XXX.dvi in the normal way for printing DVI files
1060      at your site.
1061   
1062   To get more general instructions, retrieve the latest Texinfo package
1063   mentioned in question 17.
1064   
1065 19:  Can I view Info files without using GNU Emacs?
1066   
1067   Yes, the `info', `xinfo', and `ivinfo' programs do this.  info uses
1068   curses, xinfo uses standard X11 libraries, and ivinfo uses InterViews.
1069   You can get info as part of the latest Texinfo package (see question
1070   17).  xinfo is available separately:
1071   
1072     /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.Z
1073     /export.lcs.mit.edu:
1074   
1075   ivinfo is available in a comp.sources.misc archive or from Tom Horsley
1076   <tom@ssd.csd.harris.com>.  For ivinfo, you need Stanford's InterViews C++
1077   X library, available via anonymous FTP (interviews.stanford.edu).
1078   
1079 20:  What informational files are available for GNU Emacs?
1080   
1081   This isn't a frequently asked question, but it should be!  A variety of
1082   informational files about GNU Emacs and relevant aspects of the GNU
1083   project are available for you to read.
1084   
1085   The following files are available in the `etc' directory of the GNU
1086   Emacs distribution, and also the latest versions are available
1087   individually via anonymous FTP (prep.ai.mit.edu:/pub/gnu/GNUinfo/):
1088   
1089     APPLE -- Why the FSF doen't support GNU Emacs on Apple computers
1090     DISTRIB -- GNU Emacs Availability Information,
1091       including the popular "Free Software Foundation Order Form"
1092     FTP -- How to get GNU Software by Internet FTP or by UUCP
1093     GNU -- The GNU Manifesto
1094     INTERVIEW -- Richard Stallman discusses his public-domain
1095                        UNIX-compatible software system
1096                               with BYTE editors
1097     MACHINES -- Status of GNU Emacs on Various Machines and Systems
1098     MAILINGLISTS -- GNU Project Electronic Mailing Lists
1099     SERVICE -- GNU Service Directory
1100     SUN-SUPPORT -- including "Using Emacstool with GNU Emacs"
1101   
1102   These files are available in the `etc' directory of the GNU Emacs
1103   distribution:
1104   
1105     DIFF -- Differences between GNU Emacs and Twenex Emacs
1106     CCADIFF -- Differences between GNU Emacs and CCA Emacs
1107     GOSDIFF -- Differences between GNU Emacs and Gosling (Unipress??) Emacs
1108     COPYING -- GNU Emacs General Public License
1109     NEWS -- GNU Emacs News, a history of user-visible changes
1110     LPF -- Why you should join the League for Programming Freedom
1111     FAQ -- GNU Emacs Frequently Asked Questions (You're reading it)
1112     OPTIONS -- a complete explanation of startup option handling
1113   
1114   These files are available via anonymous FTP (prep.ai.mit.edu:/pub/gnu/):
1115   
1116     tasks -- GNU Task List
1117     standards.text -- GNU Coding Standards
1118   
1119   In addition, all of the above files are available directly from the FSF
1120   via e-mail.  Of course, please try to get them from a local source
1121   first.
1122   
1123   These additional files are available from the FSF via e-mail:
1124   
1125   * GNU's Bulletin, June, 1991 -- this file includes:
1126       GNU'S Who
1127       What Is the Free Software Foundation?
1128       What Is Copyleft?
1129       A Small Way to Help Free Software
1130       GNUs Flashes (important recent developments for project GNU)
1131       Free Software Support (and how to get it!)
1132       Copyrighted Programming Languages
1133       AT&T Threatens Users of X Windows (and other software patent threats)
1134       Project Gutenberg
1135       GNU Project Status Report
1136       GNU in Japan
1137       GNU Wish List
1138       Help Keep Government Software Free
1139       GNU Software Available Now
1140         Contents of the Emacs Tape
1141         Contents of the Compiler Tape
1142         Contents of the X11 Tapes
1143         VMS Emacs and Compiler Tapes
1144       GNU Documentation
1145       How to Get GNU Software
1146       Free Software for Microcomputers
1147         GNU Software on Apple computers
1148         GNU Software on the Amiga
1149         GNU Software on the Atari
1150         GNUish MS-DOS project
1151         Freemacs, an Extensible Editor for MS-DOS
1152       GNU in Japan
1153       FSF Order Form
1154       Thank GNUs
1155   * Legal issues about contributing code to GNU
1156   * GNU Project Status Report
1157   
1158   A collection of past GNU's Bulletins is available via anonymous FTP:
1159   
1160     /ftp.funet.fi:pub/gnu/Bulletins/
1161   
1162 21:  Where can I get help in installing GNU Emacs?
1163   
1164   Look in etc/SERVICE for names of companies and individuals who will sell
1165   you this type of service.  An up-to-date version of the SERVICE file is
1166   available on prep.ai.mit.edu (also see question 20).
1167   
1168 22:  Where can I get the latest version of this document (the FAQ list)?
1169   
1170   The GNU Emacs FAQ is available in several ways:
1171   
1172   * Via USENET.  If you can read news, the FAQ should be available in your
1173     news spool, in both the gnu.emacs.help and comp.emacs newsgroups.  Every
1174     news reader of which I know will allow you to read any news article that
1175     is still in the news spool, even if you have read the article before.
1176     You may need to read the instructions for your news reader to discover
1177     how to do this.  In `rn', this command will do this for you at the
1178     article selection level:
1179   
1180       ?GNU Emacs FAQ?rc:m
1181   
1182     In GNUS, you should type "C-u G" from the *Subject* buffer or "C-u SPC"
1183     from the *Newsgroup* buffer to view all articles in a newsgroup.
1184   
1185     The FAQ articles' message IDs are:
1186   
1187       <GNU-Emacs-FAQ-0.1993.01.05.171933@rice.edu>                           !
1188       <GNU-Emacs-FAQ-1.1993.01.05.171933@rice.edu>                           !
1189       <GNU-Emacs-FAQ-2.1993.01.05.171933@rice.edu>                           !
1190       <GNU-Emacs-FAQ-3.1993.01.05.171933@rice.edu>                           !
1191       <GNU-Emacs-FAQ-4.1993.01.05.171933@rice.edu>                           !
1192       <GNU-Emacs-FAQ-5.1993.01.05.171933@rice.edu>                           !
1193   
1194     If you are viewing this in the GNUS *Article* buffer, you can move point
1195     within one of the above message IDs and type "r" to fetch the referenced
1196     article.  Type "o" in the *Article* buffer to restore the previous
1197     contents.  If this text is not in the GNUS *Article* buffer, use M-r
1198     from the *Subject* buffer instead.
1199   
1200     If the FAQ articles have expired and been deleted from your news spool,
1201     it might (or might not) do some good to complain to your news
1202     administrator, because the most recent FAQ should not expire before
1203     March 6, 1993.                                                           !
1204   
1205   * Via anonymous FTP.  You can fetch the FAQ articles via anonymous FTP
1206   
1207       /rtfm.mit.edu:pub/usenet/news.answers/GNU-Emacs-FAQ/ part*
1208   
1209   * Via e-mail.  You can send the following magical incantation in the body
1210     of a message to mail-server@rtfm.mit.edu:
1211   
1212       send usenet/news.answers/GNU-Emacs-FAQ/part0
1213       send usenet/news.answers/GNU-Emacs-FAQ/part1
1214       send usenet/news.answers/GNU-Emacs-FAQ/part2
1215       send usenet/news.answers/GNU-Emacs-FAQ/part3
1216       send usenet/news.answers/GNU-Emacs-FAQ/part4
1217       send usenet/news.answers/GNU-Emacs-FAQ/part5
1218   
1219   * Via WAIS.  The GNU Emacs FAQ is available via WAIS indexed on a
1220     per-question basis from the `faq' database on bigbird.bu.edu on the
1221     non-standard IP port number of 2210.  This is probably the best way to
1222     find out if there is something in the FAQ related to your question.  I
1223     use this myself to answer questions I see posted on gnu.emacs.help.
1224   
1225     The articles of the GNU Emacs FAQ are also available from the `usenet'
1226     database on rtfm.mit.edu (on the standard IP port: 210), along with a
1227     lot of other FAQ articles.  However, these are all indexed at the whole
1228     article level instead of at the question level.  This is a better place
1229     to look if you want to fetch the entire FAQ.
1230   
1231   * In the GNU Emacs distribution.  Since GNU Emacs 18.56, the latest
1232     available version of the FAQ at the time of release has been part of the
1233     GNU Emacs distribution as file etc/FAQ.  18.59 is the latest version,    !
1234     and it was released in October 1992.                                     !
1235   
1236   * There is an old version of the FAQ list available for FTP in the GNU
1237     archives at MIT:
1238   
1239       /prep.ai.mit.edu:pub/gnu/GNUinfo/FAQ.emacs
1240   
1241   * As the very last resort, you can e-mail a request to
1242     gnu-emacs-faq-maintainers@bigbird.bu.edu.  Don't do this unless you have
1243     made a serious effort to obtain the FAQ list via one of the methods
1244     listed above.
1245   
1248 Status of Emacs
1250 23:  Where does the name "Emacs" come from?
1251   
1252   Emacs originally was an acronym for Editor MACroS.  RMS says he "picked
1253   the name `Emacs' because `E' was not in use as an abbreviation on ITS at
1254   the time.".  The first Emacs was a set of macros written in 1976 at MIT by
1255   RMS for the editor TECO (Text Editor and COrrector (originally Tape Editor
1256   and COrrector)) under ITS on a PDP-10.  RMS had already extended TECO with
1257   a "real-time" full screen mode with active keys.  Emacs was started by Guy
1258   Steele <gls@think.com> as a project to unify the many divergent TECO
1259   command sets and keybindings at MIT.
1260   
1261   Many people have told me that TECO code looks a lot like line noise.  See
1262   alt.lang.teco if you are interested.  I think someone has written a TECO
1263   implementation in Emacs Lisp.  It would be an interesting project to run
1264   the original TECO Emacs inside of GNU Emacs.
1265   
1266 24:  What is the latest version of GNU Emacs?
1267   
1268   GNU Emacs 18.59 is the current version.  Fixes from 18.57 include better   !
1269   mail address parsing, an X visual bell speedup, a call-process
1270   enhancement, a regexp matching change, the ability to apply a numeric
1271   argument to a self-inserting digit, getting X resource values from the
1272   RESOURCE_MANAGER property, more reliable shell mode job control, and a
1273   change to copy-keymap.  Also, support has been added for many new system
1274   types.  Fixes from 18.55 include the removal of arbitrary limits on the
1275   undo facility.
1276   
1277   According to the January 1992 GNU's Bulletin, "Emacs 18 maintenance
1278   continues for simple bug fixes.".
1279   
1280   To visit a file with information about what has changed in recent
1281   versions, type "C-h n".
1282   
1283 25:  When will GNU Emacs 19 be available?
1284   
1285   There are strong indications that Emacs 19 will be available in 1992.  The
1286   FSF has recently gone through a spate of copyright disclaimer checking,
1287   which is a good sign.
1288   
1289   Lucid has released Lucid GNU Emacs 19.3, which is based on an early        !
1290   unreleased version of GNU Emacs 19.  This will be similar to Emacs 19 when
1291   it finally arrives, but they are not the same.  See question 121.
1292   
1293   Work has begun on features for Emacs 20.
1294   
1295 26:  What is different about GNU Emacs 19?
1296   
1297   From the January 1992 GNU's Bulletin:
1298   
1299     Version 19 will enter beta test late this year.  Among its new features
1300     are: before and after change hooks, source-level debugging of Emacs Lisp
1301     programs, X selection processing (including clipboard selections),
1302     scrollbars, support for European character sets, floating point numbers,
1303     per-buffer mouse commands, X resource manager interfacing,
1304     mouse-tracking, Lisp-level binding of function keys, multiple X windows
1305     (`screens' to Emacs), a new input system, and buffer allocation, which
1306     uses a new mechanism capable of returning storage to the system when a
1307     buffer is killed.
1308   
1309     The input stream is now a sequence of Lisp objects, instead of a
1310     sequence of characters.  This allows a reasonable representation for
1311     mouse clicks, function keys, menu selections, etc.
1312   
1313     Thanks go to Alan Carroll and the people who worked on Epoch for
1314     generating initial feedback to a multi-windowed Emacs, and to Eric
1315     Raymond for help in polishing the Emacs 19 Lisp libraries.
1316   
1317   The June 1991 GNU's bulletin had this to say about future plans for Emacs:
1318   
1319     Features being considered for later releases of Emacs include:
1320     associating property lists with regions of text in a buffer; multiple
1321     fonts, color, and pixmaps defined by those properties; different
1322     visibility conditions for the regions, and for various windows showing
1323     one buffer; hooks to be run if point or mouse moves outside a certain
1324     range; incrementally saving undo history in a file; static menu bars;
1325     and better pop-up menus.
1326   
1327   Mention of this feature disappeared in the January 1992 GNU's bulletin:
1328   
1329     Emacs 19 supports two styles of multiple windows, one with a separate
1330     screen for the minibuffer, and another with a minibuffer attached to
1331     each screen.
1332   
1333   Mention of these two proposed features disappeared in the January 1991
1334   GNU's bulletin:
1335   
1336   * Incremental syntax analysis for various programming languages (Leif).
1337   * A more sophisticated emacsclient/server model, which would provide
1338     network transparent Emacs widget functionality.
1339   
1340 27:  What variants of GNU Emacs exist?
1341   
1342   * Nemacs (Nihongo Emacs), which can handle Japanese text, is derived from
1343     GNU Emacs 18.55.  See question 149.
1344   
1345   * Demacs, which can run under MS-DOS on 386 machines, is derived from
1346     Nemacs.  See question 122.
1347   
1348   * Epoch, which has better X support, is derived from GNU Emacs 18.58.
1349     See question 120 and 92.
1350   
1351   * Nepoch (Nihongo Epoch), which can handle Japanese text, is derived from
1352     Epoch.
1353   
1354   * Mule (the MULtilingual Enhancement of GNU Emacs) can handle many
1355     character sets simultaneously.  It is derived from Emacs 18.58.  It is
1356     available for FTP:
1357   
1358       /sh.wide.ad.jp:/JAPAN/mule/
1359       /etlport.etl.go.jp:/pub/mule/
1360   
1361   * Lucid GNU Emacs is derived from an early unreleased version of GNU Emacs
1362     19.  See question 121 and 92.
1363   
1366 ----------------------------------------------------------------------       +
1367 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells                            +
1368 Copyright (C) 1992, 1993 Steven Byrnes                                       +
1369                                                                              +
1370 This list of frequently asked questions about GNU Emacs with answers         +
1371 ("FAQ") may be translated into other languages, transformed into other       +
1372 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new          +
1373 information.  The same conditions apply to any derivative of the FAQ as      +
1374 apply to the FAQ itself.  Every copy of the FAQ must include this notice     +
1375 or an approved translation, information on who is currently maintaining      +
1376 the FAQ and how to contact them (including their e-mail address), and        +
1377 information on where the latest version of the FAQ is archived (including    +
1378 FTP information).  The FAQ may be copied and redistributed under these       +
1379 conditions, except that the FAQ may not be embedded in a larger literary     +
1380 work unless that work itself allows free copying and redistribution.         +
1383                  GNU Emacs FAQ: Common Requests/Problems
1385 If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
1386 get an overview of just the questions.  Then, when you want to look at the text
1387 of the answers, just type "C-x $".
1389 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
1390 that doesn't work, then type ESC to end the search.
1392 A `+' in the 78th column means something was inserted on the line.  A `-' means
1393 something was deleted and a `!' means some combination of insertions and
1394 deletions occurred.
1396 Full instructions for getting the latest FAQ are in question 22.  Also see the
1397 `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
1398 e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
1399 WAIS, or Prospero to rtfm.mit.edu.
1403 Common Things People Want To Do 
1405 28:  How do I set up a .emacs file properly?
1406   
1407   See `Init File' in the on-line manual.
1408   
1409   WARNING: In general, new Emacs users should not have .emacs files, because
1410   it causes confusing non-standard behavior.  Then they send questions to
1411   help-gnu-emacs asking why Emacs isn't behaving as documented.  :-)
1412   
1413 29:  How do I debug a .emacs file?
1414   
1415   First start Emacs with the `-q' command line option.  Then, in the
1416   *scratch* buffer, type the following:
1417   
1418     (setq debug-on-error t) LFD
1419     (load-file "~/.emacs") LFD
1420   
1421   (Type LFD by pressing C-j.)
1422   
1423   If you have an error in your .emacs file, this will invoke the debugger
1424   when the error occurs.  If you don't know how to use the debugger do
1425   (setq stack-trace-on-error t) instead.
1426   
1427   WARNING: this will not discover errors caused by trying to do something
1428   that requires the terminal/window-system initialization code to have
1429   been loaded.  See question 127.
1430   
1431 30:  How do I make Emacs display the current line (or column) number?
1432   
1433   To find out what line of the buffer you are on right now, do "M-x
1434   what-line".  Use "M-x goto-line" to go to a specific line.  To find the
1435   current column number, type "M-ESC (current-column)".
1436   
1437   Typing "C-x l" will also tell you what line you are on, provided the
1438   buffer isn't separated into "pages" with C-l characters.  In that case, it
1439   will only tell you what line of the current "page" you are on.  WARNING:
1440   "C-x l" gives the wrong value when point is at the beginning of a line.
1441   
1442   There is no "correct" way to constantly display the current (or total)
1443   line (or column) number on the mode line in Emacs 18, or to display the
1444   line numbers next to the lines like vi can.  Emacs is not a line-oriented
1445   editor, and really has no idea what "lines" of the buffer are displayed in
1446   the window.  It would require a lot of work at the C code level to make
1447   Emacs keep track of this.  It would not be that hard to get the column
1448   number, but it would still require changes at the C code level.
1449   
1450   None of the vi emulation modes provide the `set number' capability of vi
1451   (as far as I know).
1452   
1453   Emacs 19 will probably be able to show the line number on the mode-line,
1454   but probably very inefficiently.
1455   
1456   People have written various kludges to display line numbers.  One is
1457   `display-line-numbers' by Wayne Mesard <wmesard@tofu.oracle.com,
1458   Mesard@bbn.com>.  Look in the Lisp Code Directory.  (See question
1459   88.)
1460   
1461 31:  How do I turn on Abbrevs by default just in mode XXX?
1462   
1463   Put this in your .emacs file:
1464   
1465     (condition-case ()
1466         (read-abbrev-file nil t)
1467       (file-error nil))
1468   
1469     (setq XXX-mode-hook
1470           (function
1471            (lambda ()
1472              (setq abbrev-mode t))))
1473   
1474 32:  How do I turn on Auto-Fill mode by default?
1475   
1476   To turn on Auto-Fill mode just once for one buffer, use "M-x
1477   auto-fill-mode".  To turn it on for every buffer in, for example, Text
1478   mode, do this:
1479   
1480     (setq text-mode-hook 'turn-on-auto-fill)
1481   
1482   If you want Auto-Fill mode on in all major modes, do this:
1483   
1484     (setq-default auto-fill-hook 'do-auto-fill)
1485   
1486 33:  How do I make Emacs use a certain major mode for certain files?
1487   
1488   If you want to use XXX mode for all files which end with the extension
1489   `.YYY', this will do it for you:
1490   
1491     (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist))
1492   
1493   Otherwise put this somewhere in the first line of any file you want to
1494   edit in XXX mode:
1495   
1496     -*-XXX-*-
1497   
1498 34:  How do I search for, delete, or replace unprintable (8-bit or control)
1499  characters?
1500   
1501   To search for a single character that appears in the buffer as, for
1502   example, `\237', you can type "C-s C-q 2 3 7".  (This assumes the value of
1503   search-quote-char is 17 (ie., C-q).)  Searching for ALL unprintable
1504   characters is best done with a "regexp" search.  The easiest regexp to use
1505   for the unprintable chars is the complement of the regexp for the
1506   printable chars.
1507   
1508   Regexp for the printable chars: [\t\n\r\f -~]
1509   
1510   Regexp for the unprintable chars: [^\t\n\r\f -~]
1511   
1512   To type some of these special characters in an interactive argument to
1513   isearch-forward-regexp or re-search-forward, you need to use C-q.  (`\t',
1514   `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.)  So,
1515   to search for unprintable characters using re-search-forward:
1516   
1517     M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET
1518   
1519   Using isearch-forward-regexp:
1520   
1521     M-C-s [^ TAB RET C-q RET C-q C-l SPC -~]
1522   
1523   To delete all unprintable characters, simply use a replace-regexp:
1524   
1525     M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET
1526   
1527   Replacing is similar to the above.  {I need to write the text for this
1528   part of the answer!}
1529   
1530   Notes:
1531   
1532   * With isearch, you can type RET to get a quoted LFD (not a quoted RET).
1533   
1534   * You don't need to quote TAB with either isearch or typing something in
1535     the minibuffer.
1536   
1537   Here are the Emacs Lisp forms of the above regexps:
1538   
1539     ;; regexp matching all printable characters:
1540     "[\t\n\r\f -~]"
1541   
1542     ;; regexp matching all unprintable characters:
1543     "[^\t\n\r\f -~]"
1544   
1545 35:  How can I highlight a region of text in Emacs?
1546   
1547   There are ways to get highlighting (reverse video, inverse video) in GNU
1548   Emacs 18.59, but either they require patching the C code of Emacs and      !
1549   rebuilding, or they are slow and the highlighting disappears if you scroll
1550   or redraw the screen and it can not follow the point.  Howard Gayle's
1551   patches for 8-bit output appear to allow highlighting (see question
1552   ^8-bit-output).  Another patch for highlighting is by Kenichi Handa
1553   <handa@etl.go.jp>.  There is a patch for use with X by Andy Norman
1554   <ange@hplb.hpl.hp.com> (and modified for 18.57 by Matthieu Herrb
1555   <matthieu@laas.fr>), which is available for FTP:
1556   
1557     /laas.laas.fr:pub/emacs/patch-X11-18.55                                  !
1558     /laas.laas.fr:pub/emacs/patch-X11-18.57                                  !
1559   
1560   You can highlight regions in a variety of ways in Epoch and Lucid Emacs.
1561   GNU Emacs 19 may not be able to just temporarily highlight a region.
1562   
1563   Similar comments apply to displaying text in different fonts, except that
1564   it is even harder.
1565   
1566 36:  How do I control Emacs's case-sensitivity when searching/replacing?
1567     
1568   For searching, the value of the variable case-fold-search determines
1569   whether they are case sensitive:
1570   
1571     (setq case-fold-search nil) ; make searches case sensitive
1572     (setq case-fold-search t)   ; make searches case insensitive
1573   
1574   Similarly, for replacing the variable case-replace determines whether
1575   replacements preserve case.
1576   
1577   To change the case sensitivity just for one major mode, use the major
1578   mode's hook.  For example:
1579   
1580     (setq XXX-mode-hook
1581           (function
1582            (lambda ()
1583              (setq case-fold-search nil))))
1584   
1585 37:  How do I make Emacs wrap words for me?
1586   
1587   M-x auto-fill-mode.  The default maximum line width is 74, determined by
1588   the variable fill-column.  To find how to turn this on automatically see
1589   question 32.
1590   
1591 38:  Where can I get a better spelling checker for Emacs?
1592   
1593   Use Ispell.  See question 119.
1594   
1595 39:  How can I spell-check TeX or *roff documents?
1596   
1597   If you want to spell-check TeX or *roff documents with Ispell, you need to
1598   arrange for a filter program that understands how to strip TeX or *roff
1599   formatting commands to be run.  In the TeX distribution, there are several
1600   different programs named `detex', all with incompatible options, and a
1601   very old pair of programs named `detex' and `delatex', which should
1602   probably be avoided.  The most useful one for Ispell is `detex' by Daniel
1603   Trinkle.  A more recent version is available via FTP:
1604   
1605     /arthur.cs.purdue.edu:pub/trinkle/detex-2.4.tar                          !
1606   
1607   Raphael Cerf <cerf@clipper.ens.fr> recently released a program for this
1608   named `xetal':
1609   
1610     /spi.ens.fr:pub/unix/tex/
1611   
1612   There is a program that comes with Unix named `deroff' for stripping
1613   formatting commands from *roff files.
1614   
1615   Here is an example of code you can put in a .emacs file to use these
1616   programs:
1617   
1618     ;; Based on suggestions by David G. Grubbs <dgg@ksr.com> and Paul Palmer
1619     ;; <palmerp@math.orst.edu>.
1620   
1621     ;; Assuming the use of detex 2.3 by Daniel Trinkle:
1622     ;; -w means one word per line.
1623     ;; -n means don't expand \input or \include commands.
1624     ;; -l means force LaTeX mode.
1625   
1626     (require 'ispell) ; for the make-variable-buffer-local statements
1627     (setq plain-TeX-mode-hook
1628           (function
1629            (lambda ()
1630              (setq ispell-filter-hook "detex")
1631              (setq ispell-filter-hook-args '("-nw")))))
1632     (setq LaTeX-mode-hook
1633           (function
1634            (lambda ()
1635              (setq ispell-filter-hook "detex")
1636              (setq ispell-filter-hook-args '("-lnw")))))
1637     (setq nroff-mode-hook
1638           (function
1639            (lambda ()
1640              (setq ispell-filter-hook "deroff")
1641              (setq ispell-filter-hook-args '("-w")))))
1642   
1643   You will have to adjust the arguments for programs other than Trinkle's
1644   detex or for other versions of deroff.  Experiment running the command
1645   from the shell to find the correct options.  If you don't have a filter
1646   that knows how to output one word per line, you must pipe its output
1647   through another filter to break up the output.
1648   
1649 40:  How do I change load-path?
1650   
1651   In general, you should only *add* to the load-path.  You can add
1652   directory /XXX/YYY to the load path like this:
1653   
1654     (setq load-path (append load-path '("/XXX/YYY/")))
1655   
1656   To do this relative to your home directory:
1657   
1658     (setq load-path (append load-path (list (expand-file-name "~/YYY/"))))
1659   
1660 41:  How do I use an already running Emacs from another window?
1661   
1662   The `emacsclient' program is for editing a file using an already running
1663   Emacs rather than starting up a new Emacs.  It does this by sending a
1664   request to the already running Emacs, which must be expecting the request.
1665   
1666   * Setup
1667   
1668     Emacs must have executed the `server-start' function for emacsclient to
1669     work.  This can be done either by a command line option:
1670   
1671       emacs -f server-start
1672   
1673     or by invoking server-start from the .emacs file:
1674   
1675       (if (some conditions are met) (server-start))
1676   
1677     When this is done, Emacs starts a subprocess running a program called
1678     `server'.  `server' creates a Unix domain socket in the user's home
1679     directory named `.emacs_server'.
1680   
1681     To get your news reader, mail reader, etc., to invoke emacsclient, try
1682     setting the environment variable EDITOR (or sometimes VISUAL) to the
1683     value `emacsclient'.  You may have to specify the full pathname of the
1684     emacsclient program instead.  Examples:
1685   
1686       # csh commands:
1687       setenv EDITOR emacsclient
1688       setenv EDITOR /usr/local/emacs/etc/emacsclient  # using full pathname
1689   
1690       # sh command:
1691       EDITOR=emacsclient export EDITOR
1692   
1693   * Normal use
1694   
1695     When emacsclient is run, it connects to the `.emacs_server' socket and
1696     passes its command line options to `server'.  When `server' receives
1697     these requests, it sends this information on the the Emacs process,
1698     which at the next opportunity will visit the files specified.  (Line
1699     numbers can be specified just like with Emacs.)  The user will have to
1700     switch to the Emacs window by hand.  When the user is done editing a
1701     file, the user can type "C-x #" to indicate this.  This will switch to
1702     another buffer created at the request of emacsclient if there are any.
1703     When "C-x #" has been invoked on all of the files that the emacsclient
1704     requested to be edited, Emacs will send notification of this to `server'
1705     which will pass this on to the emacsclient, which will then exit.
1706   
1707   NOTE: `emacsclient' and `server' must be running on machines which share
1708   the same filesystem for this to work.  The pathnames that emacsclient
1709   specifies should be correct for the filesystem that the Emacs process
1710   sees.  The Emacs process should not be suspended at the time emacsclient
1711   is invoked.  emacsclient should either be invoked from another X window or
1712   from a shell window inside Emacs itself.
1713   
1714   There is an enhanced version of emacsclient/server called `gnuserv' by
1715   Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp
1716   Archive.  gnuserv uses Internet domain sockets, so it can work across most
1717   network connections.  It also supports the execution of arbitrary Emacs
1718   Lisp forms and also does not require the client program to wait for
1719   completion.  It is available via anonymous FTP (Emacs Lisp Archive:
1720   packages/gnuserv.shar).
1721   
1722 42:  How do I make Emacs recognize my compiler's funny error messages?
1723   
1724   Write a program which runs the compiler as a child and filters its output,
1725   rearranging as necessary.  Install with same name as compiler somewhere in
1726   path.
1727   
1728   Keith Moore <moore@cs.utk.edu> wrote one such for a C compiler under AIX.
1729   Available via FTP:
1730   
1731     /cs.utk.edu:readonly/aixcc.lex
1732   
1733   Jim Frost <jimf@saber.com> wrote another for the IBM xlc compiler on the
1734   RS/6000.  (I don't know if these are both for the same compiler.)
1735   Johnathan Vail <vail@tegra.COM> wrote something for a High C compiler
1736   (`hc', which is one of the compilers on the RS/6000, although I think
1737   Johnathan wrote his program for hc on a different computer).
1738   
1739 43:  How do I indent switch statements like this?
1740   
1741   Many people want to indent their switch statements like this:
1742   
1743     f()
1744     {
1745       switch(x) {
1746         case A:
1747           x1;
1748           break;
1749         case B:
1750           x2;
1751           break;
1752         default:
1753           x3;
1754       }
1755     }
1756   
1757   I don't believe there is any way to do this exactly without modifying the
1758   Lisp code in c-mode.el.  You can set c-indent-level to 4 and
1759   c-label-offset to -2, but this has bad effects elsewhere.  {Anyone have a
1760   solution?}
1761   
1762 44:  How can I make Emacs automatically scroll horizontally?
1763   
1764   There is no completely correct way of doing this that does not involve
1765   rewriting all commands or writing your own top-level command loop (not a
1766   completely bad idea).  Wayne Mesard <wmesard@pescadero.stanford.edu> has
1767   written a particularly advanced kludge called `hscroll.el' that checks
1768   once a second to make sure point is visible.
1769   
1770 45:  How do I make Emacs "typeover" or "overwrite" instead of inserting?
1771   
1772   M-x overwrite-mode (a minor mode).
1773   
1774 46:  How do I stop Emacs from beeping on a terminal?
1775   
1776   Martin R. Frank <martin@cc.gatech.edu> writes:
1777   
1778     Tell Emacs to use the 'visible bell' instead of the audible bell, and
1779     set the visible bell to nothing.
1780   
1781     Put this in your TERMCAP environment variable:
1782   
1783       ... :vb=: ...                       
1784   
1785     And evaluate this:
1786   
1787       (setq visible-bell t)
1788   
1789 47:  How do I turn down the bell volume in Emacs running under X Windows?
1790   
1791   Under versions of Emacs before 18.58, the bell volume was annoying loud
1792   and difficult to turn off.  So upgrading to 18.58 or higher will reduce    +
1793   the volume.  If you want to turn it off completely, use `xset'.  There is
1794   no way to turn the bell off just for Emacs without affecting all other
1795   programs.
1796   
1797   Under Epoch you can do:
1798   
1799     (setq epoch::bell-volume 20)
1800   
1801   Stu Grossman <grossman@sunburn.stanford.edu> wrote a patch that allows the
1802   bell volume to be adjusted from inside Emacs just for Emacs.
1803   
1804 48:  How do I tell Emacs to automatically indent a new line to the
1805  indentation of the previous line?
1806   
1807   One solution is Indented Text Mode (M-x indented-text-mode).
1808   
1809   If you have Auto-Fill mode on (a minor mode, see question 32), you can
1810   tell Emacs to prefix every line with a certain character sequence, the
1811   "fill prefix".  Type the prefix at the beginning of a line, position point
1812   after it, and then type "C-x ." (set-fill-prefix) to set the fill prefix.
1813   Thereafter, auto-filling will automatically put the fill prefix at the
1814   beginning of new lines, and M-q (fill-paragraph) will maintain any fill
1815   prefix when refilling the paragraph.
1816   
1817   NOTE: If you have paragraphs with different levels of indentation, you
1818   will have to set the fill prefix to the correct value each time you move
1819   to a new paragraph.  To avoid this hassle, try one of the many packages
1820   available from the Emacs Lisp Archive.  Look up `fill' and `indent' in the
1821   Lisp Code Directory for guidance.
1822   
1823 49:  How do I show which parenthesis matches the one I'm looking at?
1824   
1825   If you're looking at a right parenthesis (or brace or bracket) you can
1826   delete it and reinsert it.  Emacs will blink the cursor on the matching
1827   parenthesis.
1828   
1829   M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over balanced
1830   parentheses, so you can see which parentheses match.  (You can train it to
1831   skip over balanced brackets and braces at the same time by modifying the
1832   syntax table.)
1833   
1834   Here is some Emacs Lisp that will make the % key show the matching
1835   parenthesis, like in vi.  In addition, if the cursor isn't over a
1836   parenthesis, it simply inserts a % like normal.
1837   
1838     ;; By an unknown contributor
1839   
1840     (global-set-key "%" 'match-paren)
1841   
1842     (defun match-paren (arg)
1843       "Go to the matching parenthesis if on parenthesis otherwise insert %."
1844       (interactive "p")
1845       (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1))
1846             ((looking-at "\\s\)") (forward-char 1) (backward-list 1))
1847             (t (self-insert-command (or arg 1)))))
1848   
1849 50:  In C mode, can I show just the lines that will be left after #ifdef
1850  commands are handled by the compiler?
1851   
1852   M-x hide-ifdef-mode.  (This is a minor mode.)
1853   
1854   You may have to (load "hideif") first.  If you want to do this regularly,
1855   put this in your .emacs file:
1856   
1857     (autoload 'hide-ifdef-mode "hideif" nil t)
1858   
1859   {Yes, I know, this should be in lisp/loaddefs.el already.}
1860   
1861 51:  Is there an equivalent to the `.' (dot) command of vi?
1862   
1863   (`.' is the redo command in vi.  It redoes the last insertion/deletion.)
1864   
1865   No, not really.
1866   
1867   You can type "C-x ESC" (repeat-complex-command) to reinvoke commands that
1868   used the minibuffer to get arguments.  In repeat-complex-command you can
1869   type M-p and M-n to scan through all the different complex commands you've
1870   typed.
1871   
1872   To repeat something on each line I recommend using keyboard macros.
1873   
1874 52:  What are the valid X resource settings (ie., stuff in .Xdefaults)?
1875   
1876   See the Emacs man page, or the etc/OPTIONS file.  Ignore the information
1877   in etc/XDOC which is way out of date.
1878   
1879 53:  How do I execute a piece of Emacs Lisp code?
1880   
1881   There are a number of ways to execute (called "evaluate") an Emacs Lisp
1882   "form":
1883   
1884   * If you want it evaluated every time you run Emacs, put it in a file
1885     named `.emacs' in your home directory.
1886   
1887   * You can type the form in the *scratch* buffer, and then type LFD (or
1888     C-j) after it.  The result of evaluating the form will be inserted in
1889     the buffer.
1890   
1891   * In Emacs-Lisp mode, typing M-C-x evaluates a top-level form before or
1892     around point.
1893   
1894   * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately
1895     before point and prints its value in the echo area.
1896   
1897   * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in
1898     the minibuffer which will be evaluated.
1899   
1900   * You can use M-x load-file to have Emacs evaluate all the Lisp forms in
1901     a file.  (To do this from Lisp use the function `load' instead.)
1902   
1903   These functions are also used for evaluating Lisp forms:
1904   
1905     load-library, eval-region, eval-current-buffer, require, autoload
1906   
1907 54:  How do I change Emacs's idea of the tab character's length?
1908   
1909   Example: (setq default-tab-width 10).
1910   
1911 55:  How do I insert `>' at the beginning of every line?
1912   
1913   Type "M-x replace-regexp RET ^ RET > RET".
1914   
1915   To do this only in the region, type "C-x n M-x replace-regexp RET ^ RET
1916   > RET C-x w".
1917   
1918   WARNING: The command narrow-to-region (C-x n) is disabled by default
1919   because it can be very confusing (ie., "Oh no!  Where did my file go?").
1920   
1921 56:  How do I insert `_^H' before each character in a paragraph to get an
1922  underlined paragraph?
1923   
1924   M-x underline-region.
1925   
1926 57:  How do I repeat a command as many times as possible?
1927   
1928   Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command
1929   and then type "M-0 C-x e".
1930   
1931   WARNING: any messages your command prints in the echo area will be
1932   suppressed.
1933   
1934 58:  How do I make Emacs behave like this: when I go up or down, the cursor
1935  should stay in the same column even if the line is too short?
1936   
1937   M-x picture-mode.  (This is a minor mode, in theory anyway ...)
1938   
1939 59:  How do I tell Emacs to iconify itself?
1940   
1941   You need to modify C source and recompile.  Either that or get Epoch or
1942   Lucid Emacs instead.  Patches have been written by Robert Forsman
1943   <thoth@reef.cis.ufl.edu> and Johan Vromans <jv@mh.nl> to allow Emacs to
1944   iconify itself and by Matt Wette <mwette@mr-ed.jpl.nasa.gov> and
1945   Manavendra K. Thakur <thakur@zerkalo.harvard.edu> (for 18.57, plus icon
1946   geometry) to allow Emacs to start up iconified.  I don't know which of
1947   these patches work together.
1948   
1949   Anonymous FTP:
1950     /csi.jpl.nasa.gov:pub/emax.patch1  (Matt Wette)                          !
1951     /ftp.eu.net:gnu/emacs/FP-Xfun.Z  (Johan Vromans)
1952     /ftp.urc.tue.nl:/pub/tex/emacs/FP-Xfun  (Johan Vromans)                  +
1953   
1954 60:  How do I use regexps (regular expressions) in Emacs?
1955   
1956   See `Regexps' in the online manual.
1957   
1958   WARNING: The "or" operator is `\|', not `|', and the grouping operators
1959   are `\(' and `\)'.  Also, the string syntax for a backslash is "\\".
1960   Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is
1961   "xxx\\(foo\\|bar\\)".  Notice the duplicated backslashes!
1962   
1963   WARNING: Unlike in Unix grep, sed, etc., a complement character set
1964   ([^...])  can match a newline character (LFD aka C-j aka \n), unless
1965   newline is mentioned as one of the characters not to match.
1966   
1967   WARNING: The character syntax regexps (eg. `\sw') are not meaningful
1968   inside character set regexps (eg. `[aeiou]').  (This is actually typical
1969   for regexp syntax.)
1970   
1971 61:  How do I perform a replace operation across more than one file?
1972   
1973   The "tags" feature of Emacs includes the command tags-query-replace which
1974   performs a query-replace across all the files mentioned in the TAGS file.
1975   See `Tags:Tags Search' in the online manual.
1976   
1977   In addition, Martin Boyer has written a package named global-replace which
1978   will perform a query-replace across all the files mentioned in the
1979   *compilation* buffer (usually done after a `grep'), which is available via
1980   anonymous FTP:
1981   
1982     /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.Z
1983     /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.Z
1984     /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.Z
1985   
1986 62:  Where is the documentation for `etags'?
1987   
1988   `etags' takes options just like a prior version of ctags, so your ctags
1989   manual (if any) may be useful.  {Can someone send me the details on this?}
1990   
1993 Bugs/Problems
1995 63:  Does Emacs have problems with files larger than 8 megabytes?
1996   
1997   Most installed versions of GNU Emacs will use 24-bit signed integers (and
1998   24-bit pointers) internally.  This limits the file size that Emacs can
1999   handle to 8,388,607 bytes (2^23 - 1).
2000   
2001   Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two
2002   lines in src/config.h before compiling Emacs to allow for 26-bit integers
2003   and pointers (and thus filesizes of up to 33,554,431 bytes):
2004   
2005     #define VALBITS 26
2006     #define GCTYPEBITS 5
2007   
2008   WARNING: This method may result in `ILLEGAL DATATYPE' and other random
2009   errors on some machines.
2010   
2011   David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why
2012   Emacs uses 24 bit integers and pointers:
2013   
2014     Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed
2015     language in the sense that you can put any value of any type into any
2016     variable, or return it from a function, and so on.  So each value must
2017     carry a "tag" along with it identifying what kind of thing it is, eg.,
2018     integer, pointer to a list, pointer to an editing buffer, and so on.
2019     Emacs uses standard 32-bit integers for data objects, taking the top 8
2020     bits for the tag and the bottom 24 bits for the value.  So integers (and
2021     pointers) are somewhat restricted compared to true C integers and
2022     pointers.
2023   
2024     Emacs uses 8-bit tags because that's a little faster on byte-oriented
2025     machines, but there are only really enough tags to require 6 bits.
2026   
2027 64:  Why can't Emacs find files in current directory on startup?
2028   
2029   The PWD bug has been fixed as of GNU Emacs 18.59.  Read on if you are      +
2030   running an older version of Emacs.                                         +
2032   Most likely, you have an environment variable named PWD that is set to a
2033   value other than the name of your current directory.  This is most
2034   likely caused by using two different shell programs.  `ksh' and (some
2035   versions of) `csh' set and maintain the value of the PWD environment
2036   variable, but `sh' doesn't.  If you start sh from ksh, change your
2037   current directory inside sh, and then start Emacs from inside sh, PWD
2038   will have the wrong value but Emacs will use this value.  An invalid       +
2039   setting for PWD can also be a problem if you use X Windows and csh on an   +
2040   RS/6000.  See the etc/OPTIONS file for more details.                       +
2041   
2042   Perhaps an easier solution is not to use two shells.  The `chsh' program
2043   can often be used to change one's default login shell.
2044   
2045   You may have PWD set for other reasons.  Another possibility is that you
2046   are setting default-directory from your .emacs file.
2047   
2048   Here is a fix by Jim Blandy <jimb@occs.cs.oberlin.edu>:
2049   
2050     >--- emacs/jjj/emacs-18.58/lisp/startup.el  Tue Jan 15 23:19:04 1991
2051     >+++ startup.el     Mon Apr 20 00:21:01 1992
2052     >@@ -81,5 +81,7 @@
2053     >     ;; In presence of symlinks, switch to cleaner form of default directory.
2054     >     (if (and (not (eq system-type 'vax-vms))
2055     >-       (getenv "PWD"))
2056     >+       (getenv "PWD")
2057     >+       (equal (nthcdr 10 (file-attributes default-directory))
2058     >+              (nthcdr 10 (file-attributes (getenv "PWD")))))
2059     >   (setq default-directory (file-name-as-directory (getenv "PWD"))))
2060     >     (unwind-protect
2061   
2062 65:  How do I get rid of the ^M junk in my Shell buffer?
2063   
2064   For tcsh, put this in your `.cshrc' (or `.tcshrc') file:
2065   
2066     if ($?EMACS) then
2067         if ("$EMACS" == t) then
2068             if ($?tcsh) unset edit
2069             stty nl
2070         endif
2071     endif
2072   
2073   Or put this in your .emacs_tcsh file:
2074   
2075     unset edit
2076     stty nl
2077   
2078   Alternatively, use csh in your Shell buffers instead of tcsh.  One way
2079   is:
2080   
2081     (setq explicit-shell-file-name "/bin/csh") 
2082   
2083   and another is to do this in your .cshrc (or .tcshrc) file:
2084   
2085     setenv ESHELL /bin/csh
2086   
2087   (You must start Emacs over again with the environment variable properly
2088   set for this to take effect.)
2089   
2090 66:  Why do I get `Process shell exited abnormally with code 1'?
2091   
2092   The most likely reason for this message is that the `env' program is not
2093   properly installed.  This program should be compiled (for the correct
2094   architecture!) and installed with execute permission for everyone in
2095   Emacs's program directory, which is normally /usr/local/emacs/etc.  You
2096   can find what this directory is at your site by inspecting the value of
2097   the variable exec-directory by typing "C-h v exec-directory RET".  `env'
2098   should also be for the correct architecture (check using `file' command).
2099   
2100   You should also check for other programs named `env' in your path (eg.,
2101   SunOS has a program named /usr/bin/env).  I don't understand why this can
2102   cause a failure and I don't know a general solution for working around the
2103   problem in this case.
2104   
2105   The `make clean' command will remove `env' and other vital programs, so be
2106   careful when using it.
2107   
2108   It has been reported that this sometimes happened when Emacs was started
2109   as an X client from an xterm window (ie. had a controlling tty) but the
2110   xterm was later terminated.
2111   
2112   See also etc/PROBLEMS for other possible causes of this message.
2113   
2114 67:  Why can't I cut from Emacs and paste in other X programs?
2115   
2116   Emacs stores things you "cut" in the X "cut buffers".  It also pastes from
2117   the cut buffer `CUT_BUFFER0'.  This is obsolete.  Most modern X programs
2118   now expect to work with "selections" instead of cut buffers, although some
2119   like `xterm' will try to use the cut buffers if the selection is null.
2120   
2121   Emacs 18.58 contains a "fix" that makes xterm work by default.  This
2122   "fix" is that Emacs clears the `PRIMARY' selection when it stores
2123   something in the cut buffer.  By making the selection null, xterm will
2124   then fetch from the cut buffer when you try to paste.
2125   
2126   For versions of Emacs prior to 18.58, you can make pasting from Emacs into
2127   xterm work with the following X resources:
2128   
2129     ! Solution by Thomas Narten, should work under X11R3 and later GNU
2130     ! Emacs only copies to CUT_BUFFER0.  xterm by default wants to paste
2131     ! from the PRIMARY selection.
2132     XTerm*VT100.Translations: #override \
2133         ~Meta <Btn2Up>: insert-selection(CUT_BUFFER0,PRIMARY)
2134   
2135   You may have problems copying between Emacs and programs other than xterm
2136   that won't store cut text in the cut buffers or look in the cut buffers
2137   for text to paste (for backwards compatibility with obsolete applications
2138   like Emacs :-).  The best workaround is to use the `xcutsel' program as an
2139   intermediary.
2140   
2141   This problem does not exist for Epoch or Lucid Emacs.
2142   
2143 68:  Where is the termcap/terminfo entry for terminal type `emacs'?
2144   
2145   The termcap entry for terminal type `emacs' is ordinarily put in the
2146   TERMCAP environment variable of subshells.  It may help in certain
2147   situations (eg., using rlogin from shell buffer) to add an entry for
2148   `emacs' to the system-wide termcap file.  Here is a correct termcap entry
2149   for `emacs':
2150   
2151     emacs:tc=unknown:
2152   
2153   To make a terminfo entry for `emacs', use `tic' or `captoinfo'.  You need
2154   to generate /usr/lib/terminfo/e/emacs.  It may work to simply copy
2155   /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs.
2156   
2157   Having a termcap/terminfo entry will not enable the use of full screen
2158   programs in shell buffers.  Use M-x terminal-emulator for that instead.
2159   
2160   A workaround to the problem of missing termcap/terminfo entries is to
2161   change terminal type `emacs' to type `dumb' or `unknown' in your shell
2162   start up file.  `csh' users could put this in their .cshrc files:
2163   
2164     if ("$term" == emacs) set term=dumb
2165   
2166 69:  Why does Emacs spontaneously start displaying `I-search:' and beeping?
2167   
2168   Your terminal (or something between your terminal and the computer) is
2169   sending C-s and C-q for flow control, and Emacs is receiving these
2170   characters and interpreting them as commands.  (The C-s character normally
2171   invokes the isearch-forward command.)  For possible solutions, see
2172   question 131.
2173   
2174 70:  Why can't Emacs talk to certain hosts (or certain hostnames)?
2175   
2176   The problem may be that Emacs is linked with a wimpier version of
2177   gethostbyname than the rest of the programs on the machine.  This is often
2178   manifested as a message on startup of `X server not responding.  Check
2179   your DISPLAY environment variable.' or a message of `Unknown host' from
2180   open-network-stream.
2181   
2182   On a Sun, this may be because Emacs had to be linked with the static C
2183   library.  The version of gethostbyname in the static C library may only
2184   look in /etc/hosts and the NIS (YP) maps, while the version in the dynamic
2185   C library may be smart enough to check DNS in addition to or instead of
2186   NIS.  On a Motorola Delta running System V R3.6, the version of
2187   gethosbyname in the standard library works, but the one that works with
2188   NIS doesn't (the one you get with -linet).  Other operating systems have
2189   similar problems.
2190   
2191   Try these options:
2192   
2193   * Explicitly add the host you want to communicate with to /etc/hosts.
2194   
2195   * Relink Emacs with this line in src/config.h:
2196   
2197       #define LIBS_SYSTEM -lresolv
2198   
2199   * Replace gethostbyname and friends in libc.a with more useful versions
2200     such as the ones in libresolv.a.  Then relink Emacs.
2201   
2202   * If you are actually running NIS, make sure that `ypbind' is properly
2203     told to do DNS lookups with the correct command line switch.
2204   
2205   * Use tcp.el and tcp.c from GNUS.  This has the additional advantage that
2206     you can use numeric IP addresses instead of names.  open-network-stream
2207     currently can't handle numeric addresses.  Brian Thomson
2208     <thomson@hub.toronto.edu> has a enhancement to open-network-stream to
2209     allow it to handle numeric addresses.
2210   
2211 71:  Why does Emacs say `Error in init file'?
2212   
2213   An error occurred while loading either your .emacs file or the system-wide
2214   lisp/default.el file.  For information on how to debug your .emacs file,
2215   see question 29.
2216   
2217   It may be the case that you may need to load some package first, or use a
2218   hook that will be evaluated after the package is loaded.  A common case of
2219   this is explained in question 127.
2220   
2221 72:  Why does Emacs ignore my X resources (my .Xdefaults file)?
2222   
2223   * Try compiling Emacs with the XBACKWARDS macro defined.  There is a bug
2224     in some implementations of XGetDefault, which do not correspond to the
2225     documentation or the header files.
2226   
2227   * Make sure you are either using the class name of `Emacs' (oops,
2228     apparently this is buggy in Emacs 18.58!) or the correct instance name.
2229     The instance name is normally the same as the name of the file Emacs is
2230     in (ie., the last part of argv[0]), but this can be overridden by -rn
2231     command line option or the WM_RES_NAME environment variable.
2232   
2233     WARNING: Reports say using the class name fails in Emacs 18.58.
2234   
2235     WARNING: The advice the man page gives to use `emacs' is often wrong.
2236   
2237     WARNING: Older versions of Emacs got the class name wrong.
2238   
2239   * Emacs currently ignores the -xrm command line argument.
2240   
2241   * Emacs does not yet handle X11R5 screen-specific resources.
2242   
2243   * Emacs has a bug where it ignores color specifications if running on a
2244     1-bit display (ie. a non-color display).
2245   
2246   * I don't think Emacs will use either of the application-specific resource
2247     files.  Thus these environment variables don't affect it: XAPPLRESDIR,
2248     XUSERFILESEARCHPATH, XFILESEARCHPATH.  {Correct?}
2249   
2250 73:  Why does Emacs take 20 seconds to visit a file?
2251   
2252   The usual cause is that the master lock file, `!!!SuperLock!!!' has been
2253   left in the lock directory somehow.  Delete it.
2254   
2255   Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an
2256   exclusive create succeeds but returns an error status.  This can cause the
2257   same problem.  Since Emacs's file locking doesn't work over NFS anyway,
2258   the best solution is to recompile Emacs with CLASH_DETECTION undefined.
2259   
2260 74:  How do I edit a file with a `$' in its name?
2261   
2262   When entering a filename in the minibuffer, Emacs will attempt to expand
2263   a `$' followed by a word as an environment variable.  To suppress this
2264   behavior, type "$$" instead.
2265   
2266 75:  Why does Shell mode lose track of the shell's current directory?
2267   
2268   Emacs has no way of knowing when the shell actually changes its directory.
2269   This is an intrinsic limitation of Unix.  So it tries to guess by
2270   recognizing `cd' commands.  If you type `cd' followed by a directory name
2271   with a variable reference (`cd $HOME/bin') or with a shell metacharacter
2272   (`cd ../lib*'), Emacs will fail to correctly guess the shell's new current
2273   directory.  A huge variety of fixes and enhancements to Shell mode for
2274   this problem have been written to handle this problem.  Check the Lisp
2275   Code Directory (see question 88).
2276   
2277 76:  Why doesn't my change to load-path work?
2278   
2279   If you added a directory name containing a tilde (~) to your load-path,
2280   expecting the tilde to be interpreted as your home directory, then you
2281   need to do something like this:
2282   
2283     (setq load-path (mapcar 'expand-file-name load-path))
2284   
2285 77:  Why does the cursor always go to the wrong column when I move up or
2286  down one line?
2287   
2288   You have inadvertently typed "C-x C-n" (set-goal-column) which sets the
2289   "goal column" to the column where the cursor was.  To undo this type
2290   "C-u C-x C-n".
2291   
2292   If you make this mistake frequently, you might want to unbind or disable
2293   this command by doing one of these two:
2294   
2295     (define-key ctl-x-map "\C-n" nil)
2296     (put 'set-goal-column 'disabled t)
2297   
2298 78:  Why does Emacs hang with message `Unknown XMenu error' with X11R4?
2299   
2300   Many different X errors can produce this message.  Here is the solution
2301   to one problem:
2302   
2303   X11 Release 4 (and later, including OpenWindows) enforces some conditions
2304   in the X protocol that were previously allowed to pass unnoticed.  You
2305   need to put the X11R4 server into X11R3 bug compatibility mode for Emacs's
2306   Xmenu code to work.  You can do this with the command `xset bc'.
2307   
2308 79:  Why doesn't display-time show the load average in the mode line
2309  anymore?
2310   
2311   In GNU Emacs 18.56, a change was made in the display-time code.
2312   Formerly, in version 18.55, Emacs used a program named `loadst' to
2313   notify Emacs of the change in time every minute.  loadst also sent Emacs
2314   the system load average if it was installed with sufficient privilege to
2315   get that information (or was on a system where no such privilege was
2316   needed).  Emacs then displayed this information in the mode line.
2317   
2318   In version 18.56, this code was changed to use a program named `wakeup'.
2319   wakeup doesn't send Emacs any information, it's only purpose is to send
2320   Emacs *something* every minute, thus invoking the filter function in
2321   Emacs once a minute.  The filter function in Emacs does all the work of
2322   finding the time, date, and load average.  However, getting the load
2323   average requires the privilege to read kernel memory on most systems.
2324   Since giving Emacs this privilege would destroy any security a system
2325   might have, for almost everyone this is not an option.  In addition,
2326   Emacs does not have the code built into it to get this information on
2327   the systems which have special system calls for this purpose, even
2328   though loadst had code for this.
2329   
2330   The solution I use is to get the files lisp/display-time.el and
2331   etc/loadst.c from version 18.55 and use those with 18.58.  (I have heard
2332   a rumor that loadst disappeared because of the legal action Unipress
2333   threatened against IBM.)
2334   
2335   WARNING:  Do not install Emacs setgid kmem unless you wish to destroy
2336   any security your system might have!!!!!!!!!!
2337   
2338   If you are using Emacs 18.55 or earlier, or already using the solution I
2339   describe above, read further:
2340   
2341   The most likely cause of the problem is that `loadst' can't read the
2342   special file /dev/kmem.  To properly install loadst, it should be either
2343   setuid to the owner of /dev/kmem, or is should be setgid to the group to
2344   which /dev/kmem belongs.  In either case, /dev/kmem should be readable by
2345   its owner or its group, respectively.  Assuming the existence of a group
2346   named `kmem', here is an example of how to do this:
2347   
2348     chgrp kmem /dev/kmem
2349     chmod g+r /dev/kmem
2350     chgrp kmem /usr/local/emacs/etc/loadst
2351     chmod g+s /usr/local/emacs/etc/loadst
2352   
2353   Another possibility is that your version of Unix doesn't have the load
2354   average data available in /dev/kmem.  Your version of Unix might have a
2355   special system call to retrieve this information (eg., inq_stats under
2356   UMAX), and loadst might not have been enhanced to cope with this.
2357   
2358 80:  Why does ispell sometimes ignore the local dictionary?
2359   
2360   You need to update the version of Ispell to 2.0.02.  (Or you can switch to
2361   version 3.0 which is still in beta-testing.)  A patch is available via
2362   anonymous FTP:
2364     /archive.cis.ohio-state.edu:pub/gnu/ispell/patch2.Z
2365   
2366   You also need to change a line in ispell.el from:
2367   
2368     (defconst ispell-version "2.0.01") ; Check against output of "ispell -v".
2369   
2370   to:
2371   
2372     (defconst ispell-version "2.0.02") ; Check against output of "ispell -v".
2373   
2374 81:  Why does Ispell treat each line as a single word?
2375   
2376   Ispell expects to get its input one word per line.  The ispell filter,
2377   which is specified by the variables ispell-filter-hook and
2378   ispell-filter-hook-args, should output at most one word per line.
2379   
2380 82:  Are there any security risks in GNU Emacs?
2381   
2382   * the `movemail' incident (No, this is not a risk.)
2383   
2384     Cliff Stoll in his book `The Cuckoo's Egg' describes this in chapter 4.
2385     The site at LBL had installed the `etc/movemail' program setuid root.
2386     Since `movemail' had not been designed for this situation, a security
2387     hole was created and users could get root priveleges.
2388   
2389     `movemail' has since been changed so that even if it is installed setuid
2390     root this security hole will not be a result.
2391   
2392     I have heard unverified reports that the Internet worm took advantage of
2393     this configuration problem.
2394   
2395   * the file-local-variable feature (Yes, a risk, but easy to change.)
2396   
2397     There is an Emacs feature that allows the setting of local values for
2398     variables when editing a file by including specially formatted text near
2399     the end of the file.  This feature also includes the ability to have
2400     arbitrary Emacs Lisp code evaluated when the file is visited.
2401     Obviously, there is a potential for Trojan horses to exploit this
2402     feature.
2403   
2404     If you set the variable inhibit-local-variables to a non-nil value,
2405     Emacs will display the special local variable settings of a file that
2406     you visit and ask you if you really want them.  This variable is not
2407     mentioned in the manual.
2408   
2409     It is wise to do this in lisp/site-init.el before building Emacs:
2410   
2411       (setq inhibit-local-variables t)
2412   
2413     If Emacs has already been built, the expression can be put in
2414     lisp/default.el instead, or an individual can put it in their own .emacs
2415     file.
2416   
2417     The ability to exploit this feature by sending e-mail to an RMAIL user
2418     was fixed sometime after Emacs 18.52.  However, any new package that
2419     uses find-file or find-file-noselect has to be careful about this.
2420   
2421     For more information, see `File Variables' in the online manual (which,
2422     incidentally, does not describe how to disable the feature).
2423   
2424     There is a new variable in Emacs 18.58 named ignore-local-eval which
2425     turns out to be useless as currently implemented.  Ignore it.
2426   
2427   * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.)
2428   
2429     Emacs accepts synthetic X events generated by the SendEvent request as
2430     though they were regular events.  As a result, if you are using the
2431     trivial host-based authentication, other users who can open X
2432     connections to your X workstatation can make your Emacs process do
2433     anything, including run other processes with your priveleges.
2434   
2435     The only fix for this is to prevent other users from being able to open
2436     X connections.  The standard way to prevent this is to use a real
2437     authentication mechanism, such as MIT-MAGIC-COOKIE-1.  If using the
2438     `xauth' program has any effect, then you are probably using
2439     MIT-MAGIC-COOKIE-1.  Your site may be using a superior authentication
2440     method; ask your system administrator.
2441   
2442     If real authentication is not a possibility, you may be satisfied by
2443     just allowing hosts access for brief intervals while you start your X
2444     programs, then removing the access.  This reduces the risk somewhat by
2445     narrowing the time window when hostile users would have access, but DOES
2446     NOT ELIMINATE THE RISK.
2447   
2448     Lucid GNU Emacs does not accept synthetic X events unless you set a
2449     variable.
2450   
2451   * autosave file permissions (Yes, a risk, hard to work around.)
2452   
2453     The file permissions for autosave files are determined solely by the
2454     Emacs process's `umask' value.  The permissions of the file being
2455     autosaved are not used.  The easiest workaround is to keep sensitive
2456     files in protected directories.  Sebastian Kremer has written an
2457     enhanced version of the autosave file name picking code that can avoid
2458     this problem by keeping autosave files in a protected directory.  {FTP
2459     information please?}  This problem will be fixed in Emacs 19.
2460   
2463 Difficulties Building/Installing/Porting Emacs
2465 83:  What should I do if I have trouble building Emacs?
2466   
2467   First look in the file etc/PROBLEMS to see if there is already a solution
2468   for your problem.  Next check the FAQ (you're reading it).  If you don't
2469   find a solution, then report your problem via e-mail to
2470   bug-gnu-emacs@prep.ai.mit.edu.  Please do not post it to gnu.emacs.help or
2471   e-mail it to help-gnu-emacs@prep.ai.mit.edu.  For further guidelines, see
2472   question 8.
2473   
2474 84:  How do I stop Emacs from failing when the executable is stripped?
2475   
2476   Don't do that.
2477   
2478   This problem has been reported on SGI Indigo machines running Irix 4.0.*
2479   and RS/6000 machines.  Scott Henry <scotth@hoshi.corp.SGi.COM> posted a
2480   patch that fixes the problem for Irix.
2481   
2482 85:  Why does linking Emacs with -lX11 fail?
2483   
2484   Emacs needs to be linked with the static version of the X11 library,
2485   libX11.a.  This may be missing.
2486   
2487   Under OpenWindows, you may need to use `add_services' to add the
2488   `OpenWindows Programmers' optional software category from the CD-ROM.
2489   
2490   Under HP-UX 8.0, you may need to run `update' again to load the
2491   X11-PRG `fileset'.  This may be missing even if you specified `all
2492   filesets' the first time.  If libcurses.a is missing, you may need to load
2493   the `Berkeley Development Option' {???}.
2494   
2495   If you are building the MIT X11 sources, you may need to modify your
2496   `site.cf' file to get static versions of the libraries.  (Info from David
2497   Zuhn <zoo@cygnus.com>.)
2498   
2499   Other systems may have similar problems.  You can always define
2500   CANNOT_DUMP and link with the shared libraries instead.
2501   
2502   To get the Xmenu stuff to work, you need to find a copy of MIT's
2503   liboldX.a.
2504   
2505 86:  Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1?
2506   
2507   I had hoped this question would go away after Emacs 18.57 was released,
2508   but people continue to compile 18.55.  Easiest solution: upgrade.
2509   
2510   This is a result of the SunOS localtime/tzsetwall malloc bug, which was
2511   (finally!) fixed in SunOS 4.1.2.  If you actually need the full
2512   explanation, send me e-mail.  If you absolutely must compile Emacs 18.55
2513   (eg., you are compiling Nemacs), the easiest workaround was to put
2514   `#define SYSTEM_MALLOC' in src/config.h.
2515   
2518 ----------------------------------------------------------------------       +
2519 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells                            +
2520 Copyright (C) 1992, 1993 Steven Byrnes                                       +
2521                                                                              +
2522 This list of frequently asked questions about GNU Emacs with answers         +
2523 ("FAQ") may be translated into other languages, transformed into other       +
2524 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new          +
2525 information.  The same conditions apply to any derivative of the FAQ as      +
2526 apply to the FAQ itself.  Every copy of the FAQ must include this notice     +
2527 or an approved translation, information on who is currently maintaining      +
2528 the FAQ and how to contact them (including their e-mail address), and        +
2529 information on where the latest version of the FAQ is archived (including    +
2530 FTP information).  The FAQ may be copied and redistributed under these       +
2531 conditions, except that the FAQ may not be embedded in a larger literary     +
2532 work unless that work itself allows free copying and redistribution.         +
2535                   GNU Emacs FAQ: Getting Emacs/Packages
2537 If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
2538 get an overview of just the questions.  Then, when you want to look at the text
2539 of the answers, just type "C-x $".
2541 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
2542 that doesn't work, then type ESC to end the search.
2544 A `+' in the 78th column means something was inserted on the line.  A `-' means
2545 something was deleted and a `!' means some combination of insertions and
2546 deletions occurred.
2548 Full instructions for getting the latest FAQ are in question 22.  Also see the
2549 `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
2550 e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
2551 WAIS, or Prospero to rtfm.mit.edu.
2555 Finding/Getting Emacs and Related Packages
2557 87:  Where can I get GNU Emacs on the net (or by snail mail)?
2558   
2559   Look in the files etc/DISTRIB and etc/FTP for information on nearby
2560   archive sites.  If you don't already have GNU Emacs, see question 20
2561   for how to get these two files.
2562   
2563   The latest version is always available via anonymous FTP at MIT:
2564   
2565     /prep.ai.mit.edu:pub/gnu/emacs-18.59.tar.Z                               !
2566   
2567   See question 91.
2568   
2569 88:  How do I find a GNU Emacs Lisp package that does XXX?
2570   
2571   A listing of Emacs Lisp packages, called the Lisp Code Directory, is being
2572   maintained by Dave Brennan <brennan@hal.com> and Dave Sill <de5@ornl.gov>.
2573   You can search through this list to find if someone has written something
2574   that fits your needs.
2575   
2576   This list is file LCD-datafile.Z in the Emacs Lisp Archive.  (See
2577   question 89 for methods for getting this file.)  The files lispdir.el.Z
2578   and lispdir.doc.Z in the archive contain information to help you use the
2579   list.  Once you have installed lispdir.el and LCD-datafile, then you can
2580   use the "M-x lisp-dir-apropos" command to look things up in the database.
2581   For example, the command "M-x lisp-dir-apropos RET ange-ftp RET" produces
2582   this (outdated) output:
2583   
2584                     GNU Emacs Lisp Code Apropos -- "ange-ftp"
2585   
2586     ange-ftp (3.112)  91-08-12
2587       Andy Norman, <ange@hplb.hpl.hp.com>
2588       archive.cis.ohio-state.edu:
2589         /pub/gnu/emacs/elisp-archive/as-is/ange-ftp.el.Z
2590       transparent FTP Support for GNU Emacs
2591   
2592 89:  Where can I get GNU Emacs Lisp packages that don't come with Emacs?
2593   
2594   First, check the Lisp Code Directory to find the name of the package you
2595   are looking for.  (See question 88).  Then check local archives and
2596   the Emacs Lisp Archive to find a copy of the relevant files.  Then, if
2597   you still haven't found it, you can send e-mail to the author asking for
2598   a copy.
2599   
2600   You can access the Emacs Lisp Archive via anonymous FTP:
2601   
2602     /archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/
2603   
2604   Fetch the file README first.
2605   
2606   NOTE: The archive maintainers do not have time to answer individual
2607   requests for packages or the list of packages in the archive.  If you
2608   cannot use FTP or UUCP to access the archive yourself, try to find a
2609   friend who can, but please don't ask the maintainers.
2610   
2611   NOTE: Any files with names ending in `.Z' are compressed, and you should
2612   use `binary' mode in FTP to retrieve them.  You should also use binary
2613   mode whenever you retrieve any files with names ending in `.elc'.
2614   
2615 90:  How do I submit code to the Emacs Lisp Archive?
2616   
2617   Submissions should be mailed to elisp-archive@cis.ohio-state.edu.  The
2618   lispdir.el package has a function named submit-lcd-entry which will help
2619   you with this.  Mail messages (submissions) are automatically saved and
2620   periodically archived.  Urgent mail may be sent directly to Dave Sill
2621   <de5@ornl.gov> or Dave Brennan <brennan@hal.com> or should contain the
2622   string `urgent' in the subject.  The incoming ftp directory is no longer
2623   available at the request of Ohio State.  {Is this still true?}
2624   
2625   However, if someone has a submission with multiple files (which would be
2626   archived as a tar file) or binary files, then FTP transfer is preferred
2627   and can be arranged via an anonymous FTP site.  This is faster than
2628   uudecoding, unsharing, etc., and re-packaging files.
2629   
2630   Before submitting anything, please read the file guidelines.Z, which is
2631   available in the archive.  Whenever possible, submissions should contain a
2632   complete LCD entry since this helps reduce administrative overhead for the
2633   maintainers.  You can include an entry in this format:
2634   
2635     ;; LCD Archive Entry:
2636     ;; package name|author's name|email address
2637     ;; |description
2638     ;; |date|version|archive path
2639   
2640   For example:
2641   
2642     ;; LCD Archive Entry:
2643     ;; tex-complete|Sebastian Kremer|sk@thp.Uni-Koeln.DE
2644     ;; |Minibuffer name completion for editing [La]TeX.
2645     ;; |91-03-26|$Revision: 19.4 $|~/packages/tex-complete.el.Z              !
2646   
2647   Dave Brennan has software which automatically looks for data in this
2648   format.  The format is fairly flexible.  The entry ends when a line is
2649   reached with a different prefix or the seventh field terminator is
2650   seen.
2651   
2652   If you are submitting a multi-file submission you should include a file
2653   named "LCD-entry" which contains the archive entry, instead of placing
2654   it in one or more of the individual files.
2655   
2656 91:  Where can I get other up-to-date GNU stuff?
2657   
2658   The most up-to-date official GNU stuff is normally kept on prep.ai.mit.edu
2659   and is available for anonymous FTP in the pub/gnu directory.  See the
2660   files etc/DISTRIB and etc/FTP for more information.  (To get copies of
2661   these files, see question 20.)
2662   
2663   The following sites are all mirror images of the GNU distribution area:
2664   
2665     /prep.ai.mit.edu:pub/gnu/
2666     /ftp.uu.net:packages/gnu/
2667     /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM)
2668     /ftp.win.tue.nl:pub/gnu/
2669     /utsun.s.u-tokyo.ac.jp:ftpsync/prep/
2670     /nic.funet.fi:pub/gnu/
2671   
2672   The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu,
2673   except that files larger than 1 megabyte {right?} are automatically
2674   split into multiple parts.  If you have trouble transferring large
2675   files, you should try here.  A file normally named `XXX' is split into
2676   files XXX-split/part[0-9][0-9], and there will be a file named
2677   XXX-split/README which contains the list of parts (especially helpful
2678   when FTP-ing by e-mail), their checksums, and reassembly instructions.
2679   Some of the other mirror sites may have the same property.  {Can someone
2680   check this out?  Thanks!}
2681   
2682   Information was provided by Lee McLoughlin <lmjm@doc.ic.ac.uk>, Jonathan
2683   R. Ferro <jf41+@ANDREW.CMU.EDU>, Arjan de Vet <devet@win.tue.nl>, and
2684   Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>.
2685   
2686 92:  Where can I get an Emacs with better mouse and X window support?
2687   
2688   Emacs 18 has some limited X Window System support, but there are
2689   problems.  Emacs 19 will have amazing mouse and window support.  Right
2690   now, there are Epoch which is derived from GNU Emacs 18.58 and Lucid GNU
2691   Emacs which is derived from an early unreleased version of GNU Emacs 19,
2692   both of which have greatly improved mouse and window support.  See
2693   questions 120 and 121.
2694   
2695   The HP unofficial GNU Emacs also has nice mouse support.  See question
2696   95.
2697   
2698   There are numerous Emacs Lisp packages that have been written to extend
2699   Emacs 18's mouse handling capabilities.  Some of these packages also have
2700   patches to the C code to provide enhanced capabilities.  Look up `mouse'
2701   in the Lisp Code Directory (see question 88).
2702   
2703   There is a package called BAM (Born Again Menus) which provides menus for
2704   GNU Emacs via an external C program.  It does not provide mouse support in
2705   the Emacs window such as scrollbars, cut-and-paste, etc.
2706   
2707   NOTE: Epoch only works with the X Window System; it works on ordinary
2708   terminals by invoking regular GNU Emacs.  Lucid Emacs does not currently
2709   work on ordinary terminals, although there are plans to fix this.
2710   
2711 93:  What is the difference between GNU Emacs and Epoch?
2712   
2713   Marc Andreessen <marca@ncsa.uiuc.edu> writes:
2714   
2715     Epoch is GNU Emacs on steroids: an adaptation of GNU Emacs with lots of
2716     additional support for features made possible by the X11 windowing
2717     system.  These features include multiple editing windows, arbitrary
2718     colors and fonts (fixed-width and proportional), selectable zones per
2719     buffer with arbitrary display styles (font, color, underline, stipple,
2720     pixmap), an optional separate minibuffer window, improved keyboard and
2721     mouse handling, full 8-bit character set support, and more.
2722   
2723 94:  What is the difference between GNU Emacs and Lucid GNU Emacs?
2724   
2725   This information is condensed from the release notice:
2726   
2727     Lucid GNU Emacs is based on an early version of GNU Emacs version 19
2728     with many enhancements.  It currently requires X Windows to run.  For
2729     information on where to get Lucid GNU Emacs see 121.  X Windows support
2730     is greatly enhanced over GNU Emacs version 18, including support for
2731     multiple X Windows (a.k.a. screens in Emacs), Zmacs/Lispm style region
2732     highlighting, a customizable, Motif-like menubar, more powerful keymap
2733     support (allowing different actions to be associated with Backspace,
2734     Control-h, etc.), flexible text attribute (e.g. font, color) support on
2735     regional and screen-local basis through X resources and/or lisp, and
2736     support for the X11 selection mechanism.  Some other features include
2737     run-time computation of the load-path, support for floating point
2738     numbers, native timer support, and sound file support on Sun
2739     SPARCstations.  To build Lucid GNU Emacs, an ANSI C compiler (e.g. gcc)
2740     is required.
2741   
2742 95:  Where can I get the "unofficial HP GNU Emacs"?
2743   
2744   The unofficial HP GNU Emacs is available via anonymous FTP:
2745   
2746     /ee.utah.edu:HUGE/  (PLEASE FTP DURING NON-WORK HOURS!!!)                -
2747   
2748   and takes about 35 megabytes of disk space to build.  It is useful for
2749   non-HP machines, but some of the added features will only work under
2750   HP-UX.
2751   
2752   You will need to get patches to work with HP-UX 8.0 or on 700 series
2753   machines via e-mail from Darryl Okahata <darrylo@sr.hp.com>.
2754   
2755 96:  Where can I get Emacs for my PC running MS-DOS?
2756   
2757   * Demacs
2758   
2759     For 386 or 486 PCs running MS-DOS, there is a version of GNU Emacs
2760     called Demacs.  To get Demacs see question 122.
2761   
2762     From the announcement message:
2763   
2764       Demacs is almost a full set of GNU Emacs but does not support some
2765       features: asynchronous process, locking a file, etc.
2766   
2767       Demacs provides following DOS specific features:
2768   
2769         * File type: text or binary file translation.
2770         * "8-bit clean" display mode.
2771         * 8086 software interrupt call by int86 lisp function.
2772         * Machine specific features such as function key support.
2773         * File name completion with drive name.
2774         * Child process (suspend-emacs, call-process).
2775         * Enhanced dired mode which can work without 'ls.exe'.
2776   
2777       To our regret `shell-mode' does not work, but `compile' command works
2778       properly.
2779   
2780     Demacs was developed using an MS-DOS version of gcc called djgpp by
2781     D. J. Delorie <dj@ctron.com> which can compile and run large programs
2782     under MS-DOS, but not under MS Windows.  Demacs was derived from Nemacs
2783     rather than straight from GNU Emacs.
2784   
2785   There are a variety of other Emacses for MS-DOS including among them the
2786   following.
2787   
2788   * Freemacs
2789   
2790     Russ Nelson <nelson@sun.soe.clarkson.edu>, the author, describes
2791     Freemacs:
2792   
2793       * Freemacs is free, and it was designed from the start to be
2794         programmable.
2795       * Freemacs is the only IBM-PC editor that tries to be like GNU Emacs.
2796       * Freemacs can only edit files less than 64K in length.
2797       * Freemacs doesn't have undo.
2798   
2799     Carl Witty <cwitty@cs.stanford.edu> reviews Freemacs:
2800   
2801       Better is Freemacs, which follows the tradition of ITS and GNU Emacs
2802       by having an full, turing-complete extension language which is
2803       incompatible with everything else.  In fact, it's even closer to ITS
2804       Emacs than GNU Emacs is, because Mint (Freemacs' extension language)
2805       is absolutely illegible without weeks of study, much like TECO.
2806   
2807     To get Freemacs see question 123.
2808   
2809   * MicroEmacs
2810   
2811     MicroEmacs is a descendant of Microemacs {originally by Dave Conroy?}.
2812     It is programmable in a BASIC-like language.  Many of the keybindings
2813     are different from GNU Emacs.  It is rumored that MicroEmacs can not
2814     correctly edit files larger than memory.  The author is Daniel Lawrence
2815     <dan@mdbs.uucp, mdbs!dan@ee.ecn.purdue.edu>.  The latest version is 3.11 !
2816     and it is available via anonymous FTP:
2817   
2818       /wuarchive.wustl.edu:/mirrors/msdos/uemacs/                            !
2820   * JOVE
2821   
2822     Another Emacs for small machines is JOVE (Jonathan's Own Version of
2823     Emacs).  The latest official version is 4.14.  There appears to be a
2824     newer version.  People rumored to be working on JOVE include Mark Moraes
2825     <moraes@cs.toronto.edu> and Bill Marsh <bmarsh@cod.nosc.mil>.  It is
2826     available via anonymous FTP:
2827   
2828       /cs.toronto.edu:/pub/moraes/jove4.14.7.tar.Z                           !
2829   
2830   * MG
2831   
2832     MG is another descendant of Microemacs.  MG used to stand for
2833     MicroGNUEmacs, but now just stands for MG.  The look-and-feel of MG is
2834     intended to be close to that of GNU Emacs.  It is rumored that MG can
2835     not correctly edit files larger than memory.  The current version is
2836     rumored to be 2.  There is a version 3 in beta which works on the Amiga.
2837     It is also available via anonymous FTP:
2838   
2839       /ftp.white.toronto.edu:pub/mg/
2840       /wuarchive.wustl.edu:/mirrors/unix-c/editors/
2841       /procyon.cis.ksu.edu:  (source and executable)
2842   
2843 97:  Where can I get Emacs for my PC running Windows?
2844   
2845   I believe that no version of GNU Emacs runs under Windows.  Pierre Perret
2846   <pap@myths.az05.bull.com> has ported MicroEMACS 3.11c to Windows.
2847   
2848   Anonymous FTP:
2849     /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10.zip
2850     /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10s.zip
2851     /ftp.cica.indiana.edu:pub/pc/win3/util/mewri.zip
2852   
2853 98:  Where can I get Emacs for my PC running OS/2?
2854   
2855   From the OS/2 Programmer's FAQ:
2856   
2857     GNU Emacs 18.58 is available.  It requires you to have EMX installed
2858     on your machine, but it comes with all the EMX files you will need.
2859     Emacs is available on ftp-os2 in /pub/os2/2.0/gnu/emacs.  (If you want
2860     to recompile emacs, you will need the full EMX distribution see
2861     question 1.2.)
2862   
2863   The above quote may be out of date.  See the latest OS/2 Programmer's FAQ
2864   {perhaps in comp.os.os2.misc?} for the latest news.  Anonymous FTP info:
2865   
2866     /ftp-os2.nmsu.edu:pub/os2/2.0/gnu/emacs/
2867       ("ftp-os2" was formerly named "hobbes")
2868   
2869   Thanks go to Stephen Simpson <simpson@symcom.math.uiuc.edu>, Jonathan
2870   Miller <jem+@andrew.cmu.edu>, Terry Kane <terryk@cc.gatech.edu>, J. D.
2871   Baldwin <baldwin@csservera.usna.navy.mil>, and Ken Bass
2872   <kbass@gmuvax2.gmu.edu>.
2873   
2874 99:  Where can I get Emacs for my Atari ST?
2875   
2876   Emacs 18.57 is the latest version for TOS.  Stefan Mueller-Pfeiffer
2877   <iff327@zam001.zam.kfa-juelich.de> says:
2878   
2879     There is also a version for MiNT, the multitasking enhancement for
2880     ATARI's TOS, which behaves almost like EMACS on a "real computer".  This
2881     port was done by Erling Henanger <erlingh@idt.unit.no>.
2882   
2883   Anonymous FTP:
2884     /atari.archive.umich.edu:atari/gnustuff/tos/  (TOS Emacs 18.57)
2885     /atari.archive.umich.edu:atari/new/mntemacs.zoo  (MiNT Emacs)
2886     /cs.uni-sb.de:/pub/atari/emacs/
2887   
2888 100: Where can I get Emacs for my Amiga?
2889   
2890   All of the files are lharc-ed.
2891   
2892   Anonymous FTP:
2893     /oes.orst.edu:/pub/almanac/comp/amiga/software/gnuemacs-1.10/
2894   
2895   Via e-mail:
2896     To: almanac@oes.orst.edu
2897     body:
2898       mode uuencode
2899       send computer amiga software gnuemacs <file>
2900     <file> is replaced by one of the following:
2901       Required: d1.lzh d2.lzh
2902       Recommended: d3_info.lzh d3_infolisp.lzh
2903       Optional: d3_autoloaded.lzh d3_entertainmentetc.lzh
2904         d3_entertainmentlisp.lzh d4_src.lzh d5_languagelisp.lzh
2905         d5_viclone.lzh d6_gnulibsrc.lzh d6_mailpackage.lzh
2906         d6_mathpackage.lzh d6_misc.lzh d6_textformat.lzh
2907     The `d#' at the beginning of each file is its disk number, which is
2908     referred to by the documentation.
2909   
2910 101: Where can I get Emacs for my Apple computer?
2911   
2912   The FSF is a participant in a boycott of Apple because of Apple's "look
2913   and feel" copyright suits.  See the file etc/APPLE for more details.
2914   Because of this boycott, the FSF doesn't include support in GNU software
2915   for Apple computers such as the Macintosh.
2916   
2917   Please don't help people port or develop software for Apple computers.
2918   
2919 102: Where can I get Emacs with NeWS support?
2920   
2921   Chris Maio's NeWS support package for GNU Emacs is available via anonymous
2922   FTP:
2923   
2924     /columbia.edu:pub/ps-emacs.tar.Z
2925     /archive.cis.ohio-state.edu:pub/gnu/emacs/ps-emacs.tar.Z
2926   
2927   and via e-mail:
2928   
2929     To: archive-server@columbia.edu
2930     body: send NeWS emacs-support
2931   
2932 103: Where do I get Emacs that runs on VMS under DECwindows?
2933   
2934   Hal R. Brand <BRAND@addvax.llnl.gov> is said to have a VMS save set with a
2935   ready-to-run VMS version of Emacs 18.55 for X Windows.  It is available
2936   via anonymous FTP (addvax.llnl.gov).  It is possible that the VMS versions
2937   of Emacs at other sites have X support compiled in.  See etc/FTP for
2938   locations.
2939   
2940   Johan Vromans <jv@mh.nl> writes:
2941   
2942     Getting Emacs to run on VMS with DECwindows requires a number of changes
2943     to the sources. Fortunately this has been done already.  Joshua Marantz
2944     <josh@viewlogic.com> did most of the work for Emacs 18.52, and the mods
2945     were ported to 18.55 by Johan Vromans <jv@mh.nl>. Also included is the
2946     handling of DEC's LK201 keyboard.  You need to apply the changes to a
2947     fresh Emacs 18.55 distribution on a Unix system, and then you can copy
2948     the sources to VMS to perform the compile/link/build.
2949   
2950     The set of changes have been posted a number of times three times the
2951     last 12 months, so they should be widely available.
2952   
2953   Richard Levitte <levitte@e.kth.se> tells us that there are patches for
2954   Emacs 18.57 and 18.58 available via e-mail:
2955   
2956     To: fileserv@ttt.kth.se
2957     body: SEND EMACS-1857-PATCHES
2958       or: SEND EMACS-1858-PATCHES
2959   
2960 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++,
2961  Objective C, Pascal, Awk?
2962   
2963   As usual, look in the Lisp Code Directory (see question 88).  For C++,
2964   if you use lisp-dir-apropos, you must specify the pattern like this:
2965   
2966     M-x lisp-dir-apropos RET c\+\+ RET
2967   
2968 105: What is the IP address of XXX.YYY.ZZZ?
2969   
2970   If you are at a site with a deficient nameserver, you may need to know
2971   the IP address of a host to FTP files from it.  You can get this
2972   information in two ways:
2973   
2974   * By telnet:
2975   
2976       telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101')
2977       hname XXX.YYY.ZZZ
2978   
2979   * By e-mail:
2980   
2981       To: service@nic.ddn.mil
2982       Subject: host XXX.YYY.ZZZ
2983            or: whois XXX.YYY.ZZZ
2984            or: help
2985   
2986     or:
2987   
2988       To: resolve@cs.widener.edu
2989       body: site XXX.YYY.ZZZ
2990   
2991     Information from Brendan Kehoe <brendan@cs.widener.edu>.
2992   
2996 Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
2998   This section lists version numbers, FTP sites, mailing lists, newsgroups,
2999   and other information for many important packages, extensions, and related
3000   programs.  There is some overlap with the Lisp Code Directory, but these
3001   entries give more detailed information.
3002   
3003   If you know of any other packages that are so substantial that they
3004   deserve to be mentioned here, please tell me.  Having its own mailing list
3005   or newsgroup or more than half a megabyte of source code are good signs.
3006   
3007 106: VM (View Mail) -- another mail reader within Emacs
3008   
3009   Author: Kyle Jones <kyle@uunet.uu.net>
3010   Latest released version: 4.41
3011   Beta test version: 5.32
3012   Anonymous FTP:
3013     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/vm-4.41.tar.Z
3014     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/as-is/timer.shar.Z
3015     /ftp.uu.net:mail/vm-4.41.tar.Z
3016     /ftp.uu.net:mail/vm-5.32beta.tar.Z
3017   Newsgroups and mailing lists:
3018     Info-VM:
3019       gnu.emacs.vm.info
3020       info-vm-request@uunet.uu.net (for subscriptions)
3021       info-vm@uunet.uu.net (for submissions)
3022     Bug-VM:
3023       gnu.emacs.vm.bug
3024       bug-vm-request@uunet.uu.net (for subscriptions)
3025       bug-vm@uunet.uu.net (for submissions)
3026   
3027 107: Supercite -- mail and news citation package within Emacs
3028   
3029   Author: Barry Warsaw <bwarsaw@cen.com>
3030   Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions)
3031                 supercite@anthem.nlm.nih.gov (for submissions)
3032   Latest version: 2.2
3033   Anonymous FTP:
3034     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc-2.2.tar.Z
3035     /ftp.cme.nist.gov:pub/gnu/sc2.2.tar.Z
3036   Via e-mail:
3037     To: library@cme.nist.gov
3038     Subject: help
3039   NOTE: Superyank is an old version of Supercite.
3040   
3041 108: GNUS -- news reader within Emacs
3042   
3043   Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp>
3044   Latest official version: 3.13
3045   Unofficial test version: 3.14.1
3046   Anonymous FTP:
3047     /cs.umn.edu:pub/gnu/emacs/gnus-3.14.1.tar.Z.
3048     /aun.uninett.no:pub/gnus-3.14.1.tar.Z
3049     /wnoc-fuk.wide.ad.jp:pub/GNU/etc/gnus-3.14.1.tar.Z
3050     /liasun3.epfl.ch:pub/gnu/emacs/gnus-3.14.1.tar.Z
3051     /aix370.rrz.uni-koeln.de:/pub/gnu/emacs/gnus-3.14.1.tar.Z
3052     /funet.fi:/networking/news/gnus-3.14.1.tar.Z
3053     /src.doc.ic.ac.uk:/gnu/EmacsBits/gnus/gnus-3.14.1.tar.Z
3054     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-3.13.tar.Z
3055   Newsgroups and mailing lists:
3056     English-only:    
3057       gnu.emacs.gnus
3058       info-gnus-english-request@cis.ohio-state.edu (for subscriptions)
3059       info-gnus-english@cis.ohio-state.edu (for submissions)
3060     Japanese (and some English):
3061       info-gnus-request@flab.fujitsu.co.jp (for subscriptions)
3062       info-gnus@flab.fujitsu.co.jp (for submissions)
3063   
3064 109: Calc -- poor man's Mathematica within Emacs
3065   
3066   Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
3067   Latest released version: 2.02
3068   Anonymous FTP:
3069     /csvax.cs.caltech.edu:pub/calc-2.02.tar.Z
3070     /prep.ai.mit.edu:pub/gnu/calc-2.02.tar.Z
3071   NOTE: Unlike Wolfram Research, Dave has never threatened to sue anyone
3072     for having a program with a similar command language to Calc.  :-)
3073   
3074 110: Calendar/Diary -- calendar manager within Emacs
3075   
3076   Author: Edward M. Reingold <reingold@cs.uiuc.edu>
3077   Latest version: 4.02
3078   Anonymous FTP:
3079     /emr.cs.uiuc.edu:pub/emacs/calendar {???}
3080   Via e-mail:
3081     To: reingold@cs.uiuc.edu
3082     Subject: send-emacs-cal
3083     Put your best internet e-mail address in the body.
3084   
3085 111: Ange-FTP -- transparent FTP access for Emacs's file access routines
3086   
3087   Author: Andy Norman <ange@hplb.hpl.hp.com>
3088   Latest official version: 4.20
3089   Anonymous FTP:
3090     /alpha.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.Z
3091     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z
3092     /ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z                          +
3093   Mailing lists:
3094     ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions)
3095     Ange-FTP Lovers:
3096       ange-ftp-lovers@anorman.hpl.hp.com (for submissions)
3097       /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives)
3098     Ange-FTP Announcements:
3099       ange-ftp-lovers-announce@anorman.hpl.hp.com
3100   NOTE: now with support for accessing VMS, CMS, and MTS systems
3101   
3102 112: VIP -- vi emulation for Emacs
3103   
3104   Author: Aamod Sane <sane@cs.uiuc.edu>
3105   Latest released version: 4.3
3106   Anonymous FTP:
3107     /cs.uiuc.edu:pub/vip4.3.tar.Z
3108     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z
3109   NOTE: This version much more closely emulates vi than the one
3110     distributed with Emacs.
3111   
3112 113: Dired -- better directory editor for Emacs
3113   
3114   Author: Sebastian Kremer <sk@thp.uni-koeln.de>
3115   Latest released version: 5.239
3116   Anonymous FTP: /ftp.cs.buffalo.edu:pub/Emacs/diredall.tar.Z
3117                  /ftp.uni-koeln.de:pub/gnu/emacs/diredall.tar.Z
3118   NOTE: This is a huge improvement over the Dired distributed with Emacs.
3119     This version will be in Emacs 19.
3120   
3121 114: AUC TeX -- enhanced LaTeX mode with debugging facilities
3122   
3123   Author: Kresten Krab Thorup <krab@iesd.auc.dk>
3124   Latest released version: 6.1 {???}
3125   Anonymous FTP:
3126     /iesd.auc.dk:pub/emacs-lisp/auctex_6_1d.tar.Z                            !
3127     /iesd.auc.dk:pub/emacs-lisp/auctex.tar.Z                                 !
3128   Mailing list:
3129     auc-tex-request@iesd.auc.dk (for subscriptions)
3130     auc-tex@iesd.auc.dk (for submissions)
3131     auc-tex_mgr@iesd.auc.dk (auc-tex development team)
3132   
3133 115: Hyperbole -- extensible hypertext management system within Emacs
3134   
3135   Author: Bob Weiner <rsw@cs.brown.edu>
3136   Anonymous FTP:
3137     /wilma.cs.brown.edu:pub/hyperbole/ h*.tar.Z
3138   Mailing lists:
3139     hyperbole-announce -- Hyperbole release announcements only.
3140       Subscriptions:
3141         To: hyperbole-request@cs.brown.edu
3142         Subject: Add <mailbox@domain.name> to hyperbole-announce
3143     hyperbole -- Hyperbole discussion.
3144       Subscriptions:
3145         To: hyperbole-request@cs.brown.edu
3146         Subject: Add <mailbox@domain.name> to hyperbole
3147       Submissions:
3148         hyperbole@cs.brown.edu
3149       NOTE: Any member of the hyperbole mailing list is automatically a
3150         member of the hyperbole-announce mailing list.
3151     NOTE: No .UUCP or ! addresses are allowed on these mailing lists.
3152   
3153 116: Byte Compiler -- enhanced version of Emacs's byte compiler
3154   
3155   Author: Jamie Zawinski <jwz@lucid.com>,
3156           Hallvard B. Furuseth <hallvard@ifi.uio.no>
3157   Anonymous FTP:
3158     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bytecomp.tar.Z
3159     /ftp.uu.net:languages/elisp/packages/bytecomp.tar.Z
3160     /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/bytecomp.tar.Z
3161   
3162 117: comint -- hugely enhanced shell mode and other derived modes
3163   
3164   Author: Olin Shivers <Olin.Shivers@cs.cmu.edu>
3165   Anonymous FTP:
3166     /cs.cmu.edu:/afs/cs.cmu.edu/user/shivers/lib/emacs/
3167       {comint,cmu{tex,shell,scheme,lisp},ml}.el
3168       (anonymous password must contain `@',
3169        cannot cd to intermediate directories)
3170   
3171 118: BBDB -- personal info rolodex integrated with mail/news readers
3172   
3173   Author: Jamie Zawinski <jwz@lucid.com>
3174   Latest released version: 1.47
3175   Anonymous FTP:
3176     /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb.tar.Z
3177   Mailing list:
3178     info-bbdb-request@lucid.com (for subscriptions)
3179     info-bbdb@lucid.com
3180     bbdb-announce-request@lucid.com (to be informed of new releases)
3181   Note: BBDB does not work with VM 4.  It does work with VM 5, RMAIL, GNUS,
3182     and MH-E.
3183   
3184 119: Ispell -- spell checker in C with interface for Emacs
3185   
3186   Author: Geoff Kuenning <geoff@itcorp.com>
3187   Latest released version: 2.0.02
3188   Beta test version: 3.0 (9 patches)
3189   Anonymous FTP:
3190     /archive.cis.ohio-state.edu:/pub/gnu/ispell/ (version 2.0.02)
3191     /ftp.cs.ucla.edu:/pub/ispell/ (version 3.0, patches, dictionaries)
3192     /argus.math.orst.edu:pub/ispell/ (version 3.0, patches, dictionaries) 
3193     /ftp.th-darmstadt.de:pub/dicts/ispell/ (mirror of argus)
3194   NOTE: Do not send mail to Geoff asking him to send you the latest
3195     version of Ispell.  He does not have free e-mail.
3196   
3197 120: Epoch -- enhanced GNU Emacs with better X interface
3198   
3199   Latest released version: 4.2
3200   Anonymous FTP:
3201     /cs.uiuc.edu:pub/epoch-files/epoch/epoch-4.2.tar.Z
3202     /cs.uiuc.edu:pub/epoch-files/epoch/epoch-diff-4.1-4.2.tar.Z
3203     /src.doc.ic.ac.uk:gnu/epoch/
3204     /aix370.rrz.uni-koeln.de:gnu/emacs/epoch/
3205   Newsgroup and mailing lists:
3206     Epoch:
3207       gnu.emacs.epoch
3208       epoch-request@cs.uiuc.edu (for subscriptions)
3209       epoch@cs.uiuc.edu (for submissions)
3210     Epoch-Design:
3211       epoch-design-request@cs.uiuc.edu (for subscriptions)
3212       epoch-design@cs.uiuc.edu (for submissions)
3213   FAQ list:
3214     Maintainer: Marc Andreessen <marca@ncsa.uiuc.edu>
3215     Anonymous FTP:
3216       /rtfm.mit.edu:pub/usenet/news.answers/epoch-faq
3217       /ftp.ncsa.uiuc.edu:outgoing/marca/epoch/Epoch.FAQ
3218   
3219 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface
3220   
3221   Primary Maintainer: Jamie Zawinski <jwz@lucid.com>
3222   Other Developers: Eric Benson <eb@lucid.com>
3223                     Matthieu Devin <devin@lucid.com>
3224                     Harlan Sexton <hbs@lucid.com>
3225   Latest released version: 19.3
3226   Anonymous FTP:
3227     /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.3.tar.Z  (source)
3228     /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.3-sun4.tar.Z (Sun4binaries)
3229   Newsgroup and mailing lists:
3230     Bugs:
3231       bug-lucid-emacs-request@lucid.com (for subscriptions)
3232       bug-lucid-emacs@lucid.com (for submissions)
3233     Help:
3234       help-lucid-emacs-request@lucid.com (for subscriptions)
3235       help-lucid-emacs@lucid.com (for submissions)
3236   
3237 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines
3238   
3239   Authors: Manabu Higashida <manabu@sigmath.osaka-u.ac.jp>
3240            HIRANO Satoshi <hirano@tkl.iis.u-tokyo.ac.jp>
3241   Latest released version: 1.2.0
3242   Anonymous FTP:
3243     /utsun.s.u-tokyo.ac.jp:GNU/demacs/ (nearest to U.S.A.)
3244     /ftp.sigmath.osaka-u.ac.jp:pub/Msdos/Demacs/
3245     /wnoc-fuk.wide.ad.jp:pub/msdos/Demacs/
3246     /ftp.3com.com:pub/gnu/msdos/demacs/
3247     /mindseye.berkeley.edu:pub/kanji/demacs/
3248     /ftp.hawaii.edu:pub/editors/demacs.tar.Z
3249     /ftp.math.ksu.edu:pub/pc/demacs/
3250     /wsmr-simtel20.army.mil:pd1:<msdos.demacs> {ange-ftp syntax?}
3251     /ftp.uni-koeln.de:msdos/gnuprogs/dem120e.zip (executables, lisp-code, doc)
3252       (PLEASE USE ONLY OUTSIDE WORKING HOURS!)
3253     /ftp.uni-koeln.de:msdos/gnuprogs/dem120s.zip (sources, diffs)
3254       (PLEASE USE ONLY OUTSIDE WORKING HOURS!)
3255     /ftp.lysator.liu.se:pub/msdos/gnu/emacs/
3256     /mizar.docs.uu.se:pub/gnu/demacs/
3257     /iamsun.unibe.ch:PC/demacs/
3258     /flop.informatik.tu-muenchen.de:outgoing/demacs.tar
3259     /ftp.funet.fi:pub/gnu/emacs/demacs/
3260     /garbo.uwasa.fi:pc/editor/dem120e.zip
3261     /garbo.uwasa.fi:pc/editor/dem120s.zip
3262     /ftp.win.tue.nl:pub/gnu/demacs/
3263     /ugle.unit.no:pub/gnu/Demacs/
3264     {Does anyone know which sites have the Kanji version?}
3265   Via e-mail:
3266     From garbo.uwasa.fi:
3267       To: mailserv@garbo.uwasa.fi
3268       Subject: garbo-request
3269       Body: send pc/editor/dem120e.zip
3270             send pc/editor/dem120s.zip
3271             quit
3272   Downloading:
3273     EXEC-PC (Milwaukee, WI) 414-789-4210 (2400 bps)
3274       in the Mahoney MS-DOS file area in its Editors/wordprocessors
3275       library (F), named GNUEMACS.ZIP
3276     Channel 1 (Cambridge, MA) 617-345-8873 (9600 bps)
3277       in the New Uploads file area, named GNUEMACS.ZIP
3278   NOTE: Use the -d option of [pk]unzip for all .zip archives.  Some sites
3279     have Demacs lharc'ed.  If you need to find programs to unpack lharc and
3280     zip format archives, Chris Dean <ctdean@talaris.com> points out that you
3281     should see the comp.compression FAQ, available for FTP:
3282        /rtfm.mit.edu:pub/usenet/comp.compression/
3283   Mailing list:
3284     NOTE: There is no mailing list for Demacs.  However, there is a list
3285       for DJGPP, which is the environment that Demacs runs in.  Many
3286       Demacs problems are actually issues with DJGPP.
3287     DJGPP:
3288       Subscriptions:
3289         To: listserv@sun.soe.clarkson.edu
3290         body: add <your-address> djgpp
3291         or put `help' in the body.
3292         If this fails, mail to djgpp-request@sun.soe.clarkson.edu.
3293       Submissions:
3294         djgpp@sun.soe.clarkson.edu
3295   FAQ list:
3296     Maintainer: Dave Steibel <steibel@cs.umbc.edu>
3297     Anonymous FTP: algol.cs.umbc.edu:pub/demacs/demacs.faq
3298   
3299 123: Freemacs -- a small Emacs for MS-DOS
3300   
3301   Author: Russ Nelson <nelson@sun.soe.clarkson.edu>
3302   Latest released version: 1.6a
3303   Anonymous FTP:
3304     /simtel20.army.mil:PD:<MSDOS.FREEMACS> {ange-ftp syntax?}
3305     /grape.ecs.clarkson.edu:pub/msdos/freemacs/
3306   Via e-mail:
3307     To: archive-server@sun.soe.clarkson.edu
3308     body: help
3309   Via snail mail:
3310     address: Russell Nelson, 11 Grant St., Potsdam, NY 13676
3311     Send $15 copying fee, and specify preferred floppy disk format:
3312       5.25", 360K, or 3.50", 720K
3313   Mailing lists: 
3314     Subscriptions:
3315       To: listserv@sun.soe.clarkson.edu
3316       body: add <your-address> <name-of-list>
3317       or put `help' in the body.
3318     List distribution addresses:
3319       freemacs-announce@sun.soe.clarkson.edu
3320       freemacs-help@sun.soe.clarkson.edu
3321       freemacs-workers@sun.soe.clarkson.edu (send bug reports here)
3322   
3323 124: Patch -- program to apply "diffs" for updating files
3324   
3325   Author: Larry Wall <lwall@netlabs.com>
3326   Latest version: 2.0 patchlevel 12u8
3327     (This is the version that supports the new unified diff format.)
3328   Anonymous FTP:
3329     /prep.ai.mit.edu:pub/gnu/patch-2.0.12u8.tar.Z
3330     /prep.ai.mit.edu:pub/gnu/patch-2.0.12g8.tar.Z  (GNU version)
3331   
3334 ----------------------------------------------------------------------       +
3335 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells                            +
3336 Copyright (C) 1992, 1993 Steven Byrnes                                       +
3337                                                                              +
3338 This list of frequently asked questions about GNU Emacs with answers         +
3339 ("FAQ") may be translated into other languages, transformed into other       +
3340 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new          +
3341 information.  The same conditions apply to any derivative of the FAQ as      +
3342 apply to the FAQ itself.  Every copy of the FAQ must include this notice     +
3343 or an approved translation, information on who is currently maintaining      +
3344 the FAQ and how to contact them (including their e-mail address), and        +
3345 information on where the latest version of the FAQ is archived (including    +
3346 FTP information).  The FAQ may be copied and redistributed under these       +
3347 conditions, except that the FAQ may not be embedded in a larger literary     +
3348 work unless that work itself allows free copying and redistribution.         +
3351                     GNU Emacs FAQ: Keybindings/Output
3353 If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
3354 get an overview of just the questions.  Then, when you want to look at the text
3355 of the answers, just type "C-x $".
3357 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
3358 that doesn't work, then type ESC to end the search.
3360 A `+' in the 78th column means something was inserted on the line.  A `-' means
3361 something was deleted and a `!' means some combination of insertions and
3362 deletions occurred.
3364 Full instructions for getting the latest FAQ are in question 22.  Also see the
3365 `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
3366 e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
3367 WAIS, or Prospero to rtfm.mit.edu.
3371 Changing Key Bindings and Handling Key Binding Problems
3373 125: How do I bind keys (including function keys) to commands?
3374   
3375   1. Find out what character sequence is generated by the keystroke sequence
3376      you wish to bind to a command.  See question 129 for how to do this.
3377      Keep in mind that the character sequences generated by a keystroke
3378      sequence varies from one terminal to another.  You may also get
3379      different results depending on what type of machine you are running on
3380      (see question 128).  For example, these keystrokes may generate these
3381      character sequences:
3382   
3383        F1        ---> ESC [ 2 2 4 z
3384        Shift-R10 ---> ESC O t
3385        L7        ---> ESC [ 3 1 ~
3386        Remove    ---> C-@
3387   
3388   2. Figure out what the Emacs Lisp syntax is for this character sequence.
3389      Inside an Emacs Lisp string, RET, LFD, DEL, ESC, SPC, and TAB are
3390      specified with `\r', `\n', `\C-?', `\e', ` ', and `\t'.  C-x is
3391      specified by `\C-x'.  M-x is specified the same was as "ESC x".
3392      (Control characters may also be specified as themselves, but I don't
3393      recommend it.)  An Emacs Lisp string begins and ends with the double
3394      quote character, `"'.  Here are some examples:
3395   
3396        ESC [ D       ---> "\e[D"
3397        ESC [ 2 2 7 z ---> "\e[227z"
3398        ESC [ 1 8 ~   ---> "\e[18~"
3399        C-M-r         ---> "\e\C-r"
3400   
3401   3. If some prefix of the character sequence is already bound, you must
3402      unbind it by binding it to `nil'.  For example:
3403   
3404        (global-set-key "\e[" nil)
3405   
3406   4. Pick a command to bind your key sequence to.  A command can be a
3407      "symbol" with a function definition, or a "lambda list", or a string
3408      (which is treated as a macro).  For example:
3409   
3410        (global-set-key "\e[D" 'backward-char)
3411        (global-set-key "\e[227~" "\exgoto-line\r") ; macro
3412   
3413   See `Key Bindings' and `Rebinding' in the online manual.
3414   
3415   In Emacs 19 (including Lucid Emacs), you can bind function key F24 like
3416   this:
3417   
3418     (global-set-key 'f24 'some-command)
3419   
3420 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
3421   
3422   A prefix of the character sequence you were trying to bind was already
3423   bound.  Usually, the sequence is "ESC [", in which case you should
3424   evaluate this form first:
3425   
3426     (define-key esc-map "[" nil)
3427   
3428   NOTE: By default, "ESC [" is bound to backward-paragraph, and if you do
3429   this you will lose this key binding.  For most people, this is not a
3430   problem.
3431   
3432   See question 125.
3433   
3434 127: Why doesn't this [terminal or window-system setup] code work in my
3435  .emacs file, but it works just fine after Emacs starts up?
3436   
3437   This is because you're trying to do something in your .emacs file that
3438   needs to be postponed until after the terminal/window-system setup code
3439   is loaded.  This is a result of the order in which things are done
3440   during the startup of Emacs.  For more details see question 135.
3441   
3442   In order to postpone the execution of Emacs Lisp code until after the
3443   terminal/window-system setup, set the value of the variable
3444   term-setup-hook or window-setup-hook to be a function which does what
3445   you want.
3446   
3447   See etc/OPTIONS for a complete explanation of what Emacs does every time
3448   it is started.
3449   
3450   Here is a simple example of how to set term-setup-hook:
3451   
3452     (setq term-setup-hook
3453           (function
3454            (lambda ()
3455              (cond ((string-match "\\`vt220" (or (getenv "TERM") ""))
3456                     ;; Make vt220's "Do" key behave like M-x:
3457                     (define-key CSI-map "29~" 'execute-extended-command))
3458                    ))))
3459   
3460 128: How do I use function keys under X Windows?
3461   
3462   This depends on whether you are running Emacs inside a terminal emulator
3463   window, or whether you are allowing Emacs to create its own X window.
3464   You can tell which you are doing by noticing whether Emacs creates a new
3465   window when you start it.
3466   
3467   If you are running Emacs inside a terminal emulator window, then it
3468   behaves exactly as it does on any other tty.  In this case, for function
3469   keys to be useful, they must generate character sequences that are sent
3470   to the programs running inside the window as input.  The `xterm' program
3471   has two different sets of character sequences that it generates when
3472   function keys are pressed, depending on the sunFunctionKeys X resource
3473   and the -sf and +sf command line options.  (To find out what these key
3474   sequences are, see question 129.)  In addition, with xterm,
3475   you can override what key sequence a specific function key (or any other
3476   key) will generate with the `translations' resource.  This, for example:
3477   
3478     XTerm.VT100.Translations: #override \
3479       <KeyPress>F1: string(0x1b) string("[xyzzy")
3480   
3481   makes the function key F1 generate the character sequence "ESC [xyzzy".
3482   
3483   On the other hand, if Emacs is managing its own X window, the following
3484   description applies.  Emacs receives `KeyPress' events from the X server
3485   when a key is pressed while the keyboard focus is in its window.  The
3486   KeyPress event contains an X "keysym" code, which is simply an arbitrary
3487   number corresponding to the name of the keysym, and information on which
3488   "modifiers" such as `control' and `shift' are active.  For example, the
3489   `Tab' keysym is 0xff09.  (Generally, a key on the keyboard will generate a
3490   keysym whose name is the same as the label on the key, ie. the `Tab' key
3491   will normally generate the `Tab' keysym.  This can be changed with the
3492   xmodmap program.)  Emacs recognizes all the keysyms that correspond to
3493   standard ASCII characters and internally uses the ASCII character instead.
3494   
3495   (WARNING: I am about to describe a gross, disgusting hack to you, have
3496   your barf bag ready.)
3497   
3498   When Emacs receives the X keysym of one of the arrow keys, it behaves
3499   the same as if it had received a letter key with the control modifier
3500   down as follows (this is hard-coded):
3501   
3502     Up    becomes C-p
3503     Down  becomes C-n
3504     Right becomes C-f
3505     Left  becomes C-b
3506   
3507   The way Emacs treats other keysyms depends on what kind of machine it was
3508   compiled on.  The type of the display machine is irrelevant!  Function
3509   keys are mapped internally to escape sequences, while other keys are
3510   completely ignored.
3511   
3512   1. If compiled on a Sun, Emacs recognizes these X keysyms that
3513      are normally on a Sun keyboard:
3514   
3515        F1 through F9
3516        L1 through L10 (same as F11 through F20)
3517        R1 through R15 (same as F21 through F35)
3518          (The keys labelled R8, R10, R12, and R14 usually are mapped to the
3519           X keysyms Up, Left, Right, and Down.)
3520        Break (the `Alternate' key is given this keysym)
3521   
3522      These keys work like Sun function keys.  When Emacs recieves the
3523      keysym, it will internally use character sequences that look like "ESC
3524      [ ### z", where ### is replaced by a number.  The character sequences
3525      are identical to those generated by Sun's keyboard under SunView.  Any
3526      function key not listed above generates "ESC [ - 1 z".
3527   
3528      In order to use these key sequences, they should be bound to commands
3529      using the standard key binding methods, just as if Emacs were running
3530      on a regular terminal.
3531   
3532      WARNING: F11 and L1 are the same keysym in X, as are F12 and L2, etc.
3533      {Yes, this is stupid.  Complain to the X consortium.}
3534   
3535   2. If not compiled on a Sun, the function keys will appear to Emacs in a
3536      way remarkably similar to the keys of a DEC LK201 keyboard (used on
3537      some VT series terminals).  These X keysyms will be recognized:
3538   
3539        F1 through F20
3540        Help (treated same as F15)
3541        Menu (treated same as F16, is the LK201 `Do' key)
3542        Find
3543        Insert (LK201 `Insert Here' key)
3544        Select
3545        Prior (LK201 `Prev Screen' key *** ONLY IN 18.58 AND LATER ***)
3546        Next (LK201 `Next Screen' key *** ONLY IN 18.58 AND LATER ***)
3547   
3548      And finally, the LK201 key labelled `Remove' (or `Delete') is often
3549      mapped to the Delete keysym which generates the DEL character (C-?)
3550      instead of the key sequence given by the LK201 `Remove' key.  It may
3551      also be mapped to some other keysym, such as `_Remove', in which case
3552      you can't use it from within Emacs at all.
3553   
3554      Each function key will be internally converted to a character sequence
3555      that looks like "ESC [ ## ~", where ## is replaced by a number.  The
3556      character sequences are identical to those generated by a LK201
3557      keyboard.  Any function key not listed above generates "ESC [ - 1 ~".
3558   
3559   For the complete list of the numbers which are generated by the function
3560   keys, look in the file src/x11term.c at the definitions of the function
3561   stringFuncVal.
3562   
3563   If you are running Emacs on a Sun machine, even if your X display is
3564   running on a non-Sun machine (eg., an X terminal), you get the setup
3565   described above for Suns.  The determining factor is what type of
3566   machine Emacs is running (was compiled) on, not what type of machine
3567   your X display is on.
3568   
3569   If you have function keys not listed above on your keyboard, you can use
3570   `xmodmap' to change their keysym assignments to get keys that Emacs will
3571   recognize, but that may screw up other programs.
3572   
3573   X resources are not used by Emacs to affect the key sequences generated.
3574   In particular, there are no X key "translations" for Emacs.
3575   
3576   If you have function keys not listed above and you don't want to use
3577   xmodmap to change their names, you might want to make a modification to
3578   your Emacs.  Johan Vromans <jv@mh.nl> has made available a patch for Emacs
3579   that adds the x-rebind-key function of Epoch to Emacs 18.58.  This allows
3580   another layer of key rebinding before Emacs even sees the keys, and in
3581   this layer you can rebind all of the keys and modifier combinations as
3582   well.
3583   
3584   Anonymous FTP:
3585     /ftp.eu.net:gnu/emacs/FP-Xfun.Z
3586     /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun
3587   
3588   Johan Vromans explains what this buys for you:
3589   
3590     After implementing this, all keyboard keys can be configured to send
3591     user definable sequences, eg.,
3592   
3593       (x-rebind-key "KP_F1" 0 "\033OP")
3594   
3595     This will have the keypad key PF1 send the sequence "ESC O P", just like
3596     an ordinary VT series terminal.
3597   
3598 129: How do I tell what characters my function or arrow keys emit?
3599   
3600   Use this function by Randal L. Schwartz <merlyn@iwarp.intel.com>:
3601   
3602     (defun see-chars ()
3603       "Displays characters typed, terminated by a 3-second timeout."
3604       (interactive)
3605       (let ((chars "")
3606             (inhibit-quit t))
3607         (message "Enter characters, terminated by 3-second timeout.")
3608         (while (not (sit-for 3))
3609           (setq chars (concat chars (list (read-char)))
3610                 quit-flag nil))         ; quit-flag maybe set by C-g
3611         (message "Characters entered: %s" (key-description chars))))
3612   
3613   Alternatively, use the "C-h l" view-lossage command, which will display
3614   the last 100 characters Emacs has seen in its input stream.  Kevin
3615   Gallagher <kgallagh@digi.lonestar.org> suggests typing some unique string
3616   like "wxyz", typing the key in question, then typing "C-h l".  The
3617   characters that appear between "wxyz" and "C-h l" were generated by the
3618   key.
3619   
3620 130: How do I set the X key "translations" for Emacs?
3621   
3622   Sorry, you can't; there are no "translations" to be set.  Emacs is not
3623   written using the Xt library.  The only way to affect the behavior of keys
3624   within Emacs is through `xmodmap' (outside Emacs) or `define-key' (inside
3625   Emacs).
3626   
3627 131: How do I handle C-s and C-q being used for flow control?
3628   
3629   C-s and C-q are used in the XON/XOFF flow control protocol.  This screws
3630   up Emacs because it binds these characters to commands.  Also, by default
3631   Emacs will not honor them as flow control characters and may overwhelm
3632   output buffers.  Sometimes, intermediate software using XON/XOFF flow
3633   control will prevent Emacs from ever seeing C-s and C-q.
3634   
3635   Possible solutions:
3636   
3637   * Disable the use of C-s and C-q for flow control.
3638   
3639     You need to determine what is the cause of the flow control.
3640   
3641     * your terminal
3642   
3643       Your terminal may use XON/XOFF flow control to have time to display
3644       all the characters it receives.  For example, VT series terminals do
3645       this.  It may be possible to turn this off from a setup menu.  For
3646       example, on a VT220 you may select `No XOFF' in the setup menu.  This
3647       is also true for some terminal emulation programs on PCs.
3648   
3649       When you turn off flow control at the terminal, you will also need to
3650       turn it off at the other end, which might be at the computer you are
3651       logged in to or at some terminal server in between.
3652   
3653       If you turn off flow control, characters may be lost; using a printer
3654       connected to the terminal may fail.  You may be able to get around
3655       this problem by modifying the `termcap' entry for your terminal to
3656       include extra NUL padding characters. 
3657   
3658     * a modem
3659   
3660       If you are using a dialup connection, the modems may be using XON/XOFF
3661       flow control.  I don't know how to get around this.
3662   
3663     * a router or terminal server
3664   
3665       Some network box between the terminal and your computer may be using
3666       XON/XOFF flow control.  It may be possible to make it use some other
3667       kind of flow control.  You will probably have to ask your local
3668       network experts for help with this.
3669   
3670     * tty and/or pty devices
3671   
3672       If your connection to Emacs goes through multiple tty and/or pty
3673       devices, they may be using XON/XOFF flow control even when it is not
3674       necessary.
3675   
3676       Eirik Fuller <eirik@theory.tn.cornell.edu> writes:
3677   
3678         Some versions of `rlogin' (and possibly telnet) do not pass flow
3679         control characters to the remote system to which they connect.  On
3680         such systems, Emacs on the remote system cannot disable flow control
3681         on the local system.  Sometimes `rlogin -8' will avoid this problem.
3682   
3683         One way to cure this is to disable flow control on the local host
3684         (the one running rlogin, not the one running rlogind) using the stty
3685         command, before starting the rlogin process.  On many systems, `stty
3686         start u stop u' will do this.
3687   
3688         Some versions of `tcsh' will prevent even this from working.  One
3689         way around this is to start another shell before starting rlogin,
3690         and issue the stty command to disable flow control from that shell.
3691   
3692       Use `stty -ixon' instead of `stty start u stop u' on some systems.
3693   
3694   * Make Emacs speak the XON/XOFF flow control protocol.
3695   
3696     You can make Emacs treat C-s and C-q as flow control characters by
3697     evaluating this form:
3698   
3699       (set-input-mode nil t)
3700   
3701     If you are fixing this for yourself, simply put the form in your .emacs
3702     file.  If you are fixing this for your entire site, the best place to
3703     put it is unclear.  I don't know if this has any effect when used in
3704     lisp/site-init.el when building Emacs; I've never tried that.  {Can
3705     someone tell me whether it works?}  Putting things in users' .emacs files
3706     has a number of problems.
3707   
3708     Putting this form in lisp/default.el has the problem that if the user's
3709     .emacs file has an error, this will prevent lisp/default.el from being
3710     loaded and Emacs may be unusable for the user, even for correcting their
3711     .emacs file (unless they're smart enough to move it to another name).  A
3712     possible solution is to initially disable C-s and C-q by setting
3713     keyboard-translate-table in lisp/site-init.el, either with swap-keys
3714     (see question 136) or with the following form:
3715   
3716       ;; by Roger Crew <crew@cs.stanford.edu>:
3717       (setq keyboard-translate-table
3718             "\C-@\C-a\C-b\C-c\C-d\C-e\C-f\C-g\C-h\C-i\C-j\C-k\C-l\C-m\C-n\C-o\C-p\C-^\C-r\C-\\\C-t\C-u\C-v\C-w\C-x\C-y\C-z\C-[\C-s\C-]\C-q\C-_")
3719   
3720     This will at least prevent Emacs from being confused by the flow control
3721     characters, even if lisp/default.el cannot be loaded.  Then, in
3722     lisp/default.el, enable XON/XOFF flow control with set-input-mode.
3723   
3724   For further discussion of this issue, read the file PROBLEMS in the
3725   Emacs distribution.
3726   
3727 132: How do I use commands bound to C-s and C-q (or any key) if these keys
3728  are filtered out?
3729   
3730   I suggest swapping C-s with C-\ and C-q with C-^:
3731   
3732     (swap-keys ?\C-s ?\C-\\)
3733     (swap-keys ?\C-q ?\C-^)
3734   
3735   See question 136 for the implementation of swap-keys.  This method
3736   has the advantage that it simultaneously swaps the characters everywhere
3737   throughout Emacs, while just switching the keybindings will miss important
3738   places where the character codes are stored (eg., the search-repeat-char
3739   variable, major mode keymaps, etc.).
3740   
3741   To do this for an entire site, you may want to swap the keys in
3742   lisp/default.el.  If only some of your users are connecting through
3743   XON/XOFF flow-controlled connections, you will want to do this
3744   conditionally.  I suggest pre-swapping them in lisp/site-init.el when
3745   Emacs is built, and then in lisp/default.el, if it is determined to be
3746   safe, they can be reenabled (being careful not to screw up any other key
3747   mappings users might have established using keyboard-translate-table).
3748   See question 131 for an easy way to pre-swap these keys.
3749   
3750   WARNING: If you do this for an entire site, the users will be confused by
3751   the disparity between what the documentation says and how Emacs actually
3752   behaves.
3753   
3754 133: Why does the `BackSpace' key invoke help?
3755   
3756   The BackSpace key (on every keyboard I've used) generates ASCII code 8.
3757   C-h sends the same code.  In Emacs by default C-h invokes help-command.
3758   This is intended to be easy to remember since the first letter of "help"
3759   is "h".  The easiest solution to this problem is to use C-h (and
3760   BackSpace) for help and DEL (the Delete key) for deleting the previous
3761   character.
3762   
3763   For many people this solution may be problematic:
3764   
3765   * They normally use BackSpace outside of Emacs for deleting the previous
3766     character typed.  This can be solved by making DEL be the command for
3767     deleting the previous character outside of Emacs.  This command will do
3768     this on many Unix systems:
3769   
3770       stty erase '^?'
3771   
3772   * The person may prefer using the BackSpace key for deleting the previous
3773     character because it is more conveniently located on their keyboard or
3774     because they don't even have a separate Delete key.  In this case, the
3775     BackSpace key should be made to behave like Delete.  There are several
3776     methods.
3777   
3778     * Under X Windows, the easiest solution is to change the BackSpace key
3779       into a Delete key like this:
3780   
3781         xmodmap -e "keysym BackSpace = Delete"
3782   
3783     * Some terminals (eg., VT3## terminals) allow the character generated by
3784       the BackSpace key to be changed from a setup menu.
3785   
3786     * You may be able to get a keyboard that is completely programmable.
3787   
3788     * Under X or on a dumb terminal, it is possible to swap the BackSpace
3789       and Delete keys inside Emacs:
3790   
3791         (swap-keys ?\C-h ?\C-?)
3792   
3793       See question 136 for the implementation of swap-keys.
3794   
3795     * Another approach is to switch keybindings and put help on "C-x h"
3796       instead:
3797   
3798         (global-set-key "\C-h" 'delete-backward-char)
3799         (global-set-key "\C-xh" 'help-command) ; override mark-whole-buffer
3800   
3801       Other popular key bindings for help are M-? and "C-x ?".
3802   
3803       WARNING: Don't try to bind DEL to help-command, because there are many
3804       modes that have local bindings of DEL that will interfere.
3805   
3806 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
3807   
3808   Good question!
3809   
3810 135: Why don't the arrow keys work?
3811   
3812   When Emacs starts up, it doesn't know anything about arrow keys at all
3813   (except when running under X, see question 128).  During the process of
3814   starting up, Emacs will load a terminal-specific initialization file for
3815   your terminal type (as determined by the environment variable TERM), if
3816   one exists.  This file has the responsibility for enabling the arrow keys.
3817   
3818   There are several things that can go wrong:
3819   
3820   1. There is no initialization file for your terminal.
3821   
3822      You can determine this by looking in the lisp/term directory.  If your
3823      terminal type (as determined by the TERM environment variable) is
3824      xxx-yy-z, then the first of these files in the lisp/term directory will
3825      be loaded as the terminal-specific initialization file: xxx-yy-z.el,
3826      xxx-yy.el, or xxx.el.
3827   
3828      There are two major cases of this problem:
3829   
3830      * Your terminal type is very similar to one that has an init file.
3831   
3832        In this case, there are several techniques suggested by Colin Jensen
3833        <cjensen@ampex.com>, Ben Liblit <Liblit@cs.psu.edu>, and Marc
3834        Auslander <marc@watson.ibm.com>:
3835   
3836        A. Add a symbolic link in lisp/term for your terminal type that
3837           points to the similar type.  For example, you could make VT102
3838           terminals work with this command:
3839   
3840             ln -s vt100.el vt102.el
3841   
3842           This fixes things for everyone on the system who uses the terminal
3843           type.
3844   
3845        B. If you can't do the solution in part A, you can add code to your
3846           term-setup-hook that loads the correct file like this:
3847   
3848             (setq term-setup-hook
3849                   (function
3850                    (lambda ()
3851                      (cond ((equal "vt102" (or (getenv "TERM") ""))
3852                             (load (concat term-file-prefix "vt100")))
3853                            (;; Code for other terminal types goes here ...
3854                             )))))
3855   
3856        C. If you use `tset' to set your TERM environment variable when you
3857           login, you can use the `-m' switch to tell tset to use a terminal
3858           type known by Emacs instead of another similar one.  For example,
3859           specifying this:
3860   
3861             tset ... -m 'dec-vt220:vt220' ...
3862   
3863           will make tset say you are on a `vt220' instead of a `dec-vt220'.
3864   
3865        D. Interactively, you can type "M-x load-library RET term/vt100" to
3866           load the terminal-specific initialization files for VT100
3867           terminals.
3868   
3869      * Your terminal type is not similar to one that has an init file.
3870   
3871        One can be made for your terminal, or you can just add code to your
3872        own .emacs to handle this problem for yourself.  For example, if your
3873        terminal's arrow keys send these character sequences:
3874   
3875          Up:    ESC [ A
3876          Down:  ESC [ B
3877          Right: ESC [ C
3878          Left:  ESC [ D
3879   
3880        then you can bind these keys to the appropriate commands with code in
3881        your .emacs like this:
3882   
3883          (setq term-setup-hook
3884                (function
3885                 (lambda ()
3886                   (cond ((string-match "\\`xyzzy" (or (getenv "TERM") ""))
3887                          ;; First, must unmap the binding for left bracket
3888                          (or (keymapp (lookup-key global-map "\e\["))
3889                              (define-key global-map "\e\[" nil))
3890                          ;; Enable terminal type xyzzy's arrow keys:
3891                          (define-key global-map "\e\[A" 'previous-line)
3892                          (define-key global-map "\e\[B" 'next-line)
3893                          (define-key global-map "\e\[C" 'forward-char)
3894                          (define-key global-map "\e\[D" 'backward-char))
3895                         ((string-match "\\`abcde" (or (getenv "TERM") ""))
3896                          ;; Do something different for terminal type abcde
3897                          ;; .....
3898                          )))))
3899   
3900      NOTE: You may have to restart Emacs to get changes to take effect.
3901   
3902      NOTE: Your arrow keys may send sequences beginning with "ESC O" when
3903      Emacs is running, even if they send sequences beginning with "ESC [" at
3904      all other times.  This is because Emacs uses any command there may be
3905      in your terminal's termcap entry for putting the terminal into
3906      "Application Keypad Mode".  Just map these sequences the same way as
3907      above.
3908   
3909   The next two cases are problems even if there is a initialization file for
3910   your terminal type.
3911   
3912   2. The initialization file for your terminal doesn't bind arrow keys.
3913   
3914      If your terminal type is `xterm', you will have to bind the arrow keys
3915      as in part 1 above, since the xterm.el file doesn't do anything useful.
3916      There may be other terminal types with the same problem.
3917   
3918   3. Your terminal's arrow keys send individual control characters.
3919   
3920      For example, the arrow keys on an ADM-3 send C-h, C-j, C-k, and C-l.
3921   
3922      There is not much Emacs can do in this situation, since all the control
3923      characters except for C-^ and C-\ are already used as Emacs commands.
3924      It may be possible to convince the terminal to send something else when
3925      you press the arrow keys; it is worth investigating.
3926   
3927      You have to make the hard choices of how to rebind keys to commands to
3928      make things work the way you want.  Another alternative is to start
3929      learning the standard Emacs keybindings for moving point around: C-b,
3930      C-f, C-p, and C-n.  Personally, I no longer use the arrow keys when
3931      editing because I have switched keyboards so many times.
3932   
3933   4. Your terminal's arrow keys send sequences beginning with "ESC [".
3934   
3935      Due to an extremely poor design decision (ie., these sequences are ANSI
3936      standard), none of the the terminal-specific initialization files that
3937      are distributed with Emacs will bind these character sequences to the
3938      appropriate commands by default.  (This also applies to any other
3939      function keys which generate character sequences starting with "ESC
3940      [".)  This is because it was deemed far more important to preserve the
3941      binding of M-[ to the backward-paragraph command.  It appears that this
3942      will change in Emacs 19.
3943   
3944      Some of the terminal-specific initialization files that come with Emacs
3945      provide a command enable-arrow-keys that will fix this problem.  To get
3946      this automatically invoked, put this in your .emacs:
3947   
3948        (setq term-setup-hook
3949              (function
3950               (lambda ()
3951                 (if (fboundp 'enable-arrow-keys) (enable-arrow-keys)))))
3952   
3953      We put this in our lisp/default.el file, so users don't have to worry
3954      about it:
3955   
3956        ;; don't override a user's term-setup-hook
3957        (or term-setup-hook
3958            (setq term-setup-hook
3959                  (function
3960                   (lambda ()
3961                     (and (fboundp 'enable-arrow-keys)
3962                          ;; don't override a user key mapping
3963                          (eq 'backward-paragraph (lookup-key esc-map "["))
3964                          (enable-arrow-keys))))))
3965   
3966      If your terminal type is `sun', you should put this in your .emacs
3967      instead (or in addition to the above):
3968   
3969        (setq sun-esc-bracket t)
3970   
3971      It is possible that the terminal-specific initialization file for your
3972      terminal type was written locally and does not follow the rule
3973      mentioned above.  In this case you may need to inspect it to find out
3974      how to enable the arrow keys.  (Actually, if it was written locally, it
3975      probably enables the arrow keys by default.)
3976   
3977 136: How do I "swap" two keys?
3978   
3979   When Emacs receives a character, you can make Emacs behave as though it
3980   received another character by setting the value of
3981   keyboard-translate-table.  The following Emacs Lisp will do this for you,
3982   allowing you to "swap" keys.  After arranging for this Lisp to be
3983   evaluated by Emacs, you can evaluate `(swap-keys ?A ?B)' to swap A and B.
3984   
3985     (defun swap-keys (key1 key2)
3986       "Swap keys KEY1 and KEY2 using map-key."
3987       (map-key key1 key2)
3988       (map-key key2 key1))
3989   
3990     (defun map-key (from to)
3991       "Make key FROM behave as though key TO was typed instead."
3992       (setq keyboard-translate-table
3993             (concat keyboard-translate-table
3994                     (let* ((i (length keyboard-translate-table))
3995                            (j from)
3996                            (k i)
3997                            (str (make-string (max 0 (- j (1- i))) ?X)))
3998                       (while (<= k j)
3999                         (aset str (- k i) k)
4000                         (setq k (1+ k)))
4001                       str)))
4002       (aset keyboard-translate-table from to)
4003       (let ((i (1- (length keyboard-translate-table))))
4004         (while (and (>= i 0) (eq (aref keyboard-translate-table i) i))
4005           (setq i (1- i)))
4006         (setq keyboard-translate-table
4007               (if (eq i -1)
4008                   nil
4009                 (substring keyboard-translate-table 0 (1+ i))))))
4010   
4011   NOTE: You must evaluate the definition of these functions before calling
4012   them!  For example, list the function definitions before their use in your
4013   .emacs file.
4014   
4015   NOTE: These functions take two numbers as arguments.  The example above,
4016   `(swap-keys ?A ?B)' is actually `(swap-keys 65 66)', because `?A' is
4017   merely notation for 65, the ASCII value of `A'.
4018   
4019   NOTE: These functions only work for single characters.  You cannot swap
4020   two multi-character sequences.
4021   
4022 137: How do I produce C-XXX with my keyboard?
4023   
4024   For C-@ and C-^, often you can just type Control-2 and Control-6.  For
4025   C-_, you may have to hold down the shift key, typing Control-Shift-Hyphen.
4026   C-@ can often be generated by typing Control-Space.  C-@ is often called
4027   the NUL character, and has ASCII value 0.  C-_ can often be generated by
4028   typing Control-7 or Control-/.  C-? (aka DEL) may be generated by typing
4029   Shift-BackSpace or Control-BackSpace or a key labelled Delete or Del.
4030   
4031   Try Control with all of the digits on your keyboard to see what gets
4032   generated.
4033   
4034 138: What if I don't have a Meta key?
4035   
4036   Instead of typing M-a, you can type "ESC a" instead.  In fact, Emacs
4037   converts M-a internally into "ESC a" anyway (depending on the value of
4038   meta-prefix-char).
4039   
4040 139: What if I don't have an Escape key?
4041   
4042   Type C-[ instead.  This should send ASCII code 27 just like an Escape
4043   key would.  Try also C-;.
4044   
4045 140: How do I type DEL on PC terminal emulators?
4046   
4047   Some IBM PC compatibles do not have a key labeled `Del' or `Delete' {is
4048   this true?}.  Those that do generally have it in an inconvenient location.
4049   (Also, in some terminal emulators, the `Del' key does not transmit DEL.)
4050   The result is the standard "BackSpace invoking help" problem (see question
4051   133).
4052   
4053   The usual solution, suggested by Michael Covington
4054   <mcovingt@aisun1.ai.uga.edu>, is to somehow tell the terminal emulator
4055   program that BackSpace should transmit DEL.  Read the program's manual.
4056   Shift-BackSpace or Control-BackSpace may send DEL.  The `Del' key may only
4057   send DEL if the NumLock key hasn't been pressed.
4058   
4059 141: Can I make my `Compose Character' key behave like a Meta key?
4060   
4061   On a dumb terminal such as a VT220, no.  It is rumored that certain VT220
4062   clones could have their Compose key configured this way.  If you're using
4063   X, you might be able to do this with the `xmodmap' program (this is
4064   what I do).
4065   
4066 142: How do I bind a combination of modifier key and function key?
4067   
4068   Unless you're using Emacs under emacstool (or xvetool?), have a working
4069   version of x-rebind-key (see question 128), or are using Emacs 19 (Lucid
4070   Emacs), you can't do this with Emacs alone.
4071   
4072   If you are using emacstool, Emacs sees different character sequences for
4073   the combination of a modifier and a function key from what it sees for the
4074   function key alone.  See etc/emacstool.1 for more information.  Since
4075   Emacs sees different character sequences, you can bind these different
4076   sequences to different commands.
4077   
4078   If you are running Emacs inside a terminal emulator window like xterm, you
4079   can modify its translation tables to make it generate different character
4080   sequences for the combination of a modifier and a function key.  For
4081   example, this X resource setting:
4082   
4083     XTerm.VT100.Translations: #override \
4084       Shift<KeyPress>F1: string(0x1b) string("[xyzzy")
4085   
4086   makes Shift-F1 generate the character sequence "ESC [ xyzzy".  You can
4087   bind these character sequences in Emacs as normal.  Nick Ruprecht
4088   <ruprecht@informatik.uni-freiburg.de> has written an extensive X
4089   translation mapping for xterm that does this.  {Does this have an FTP
4090   site?}
4091   
4092   If you have x-rebind-key, you can have any arbitrary combination of
4093   modifiers with a key replaced by any sequence of "normal" characters.  For
4094   example, this makes Shift-Return behave as though you had typed "C-x C-e"
4095   (example from Jerry Graves):
4096   
4097     (x-rebind-key "Return" 'shift "\C-x\C-e")
4098   
4099   In Emacs 19 (Lucid Emacs), you can bind Meta-Left-Arrow like this (example
4100   from Jamie Zawinski):
4101   
4102     (global-set-key '(meta left) 'backward-word)
4103   
4104   With the last two methods, use `xmodmap' and `xev' to discover the keysym
4105   and modifier names.
4106   
4107 143: Why doesn't my Meta key work in an xterm window?
4108   
4109   Try all of these methods before asking for further help:
4110   
4111   * You may have big problems using `mwm' as your window manager.  {Does
4112     anyone know a good generic solution to allow the use of the Meta key in
4113     Emacs with mwm?}
4114   
4115   * For X11R4: Make sure it really is a Meta key.  Use `xev' to find out
4116     what keysym your Meta key generates.  It should be either Meta_L or
4117     Meta_R.  If it isn't, use xmodmap to fix the situation.
4118   
4119   * Make sure the pty the xterm is using is passing 8 bit characters.
4120     `stty -a' (or `stty everything') should show `cs8' somewhere.  If it
4121     shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix
4122     it.
4123   
4124   * If there is an rlogin connection between the xterm and the Emacs, the
4125     `-8' argument may need to be given to rlogin to make it pass all 8
4126     bits of every character.
4127   
4128   * If the Emacs is running under Ultrix, it is reported that evaluating
4129     (set-input-mode t nil) helps.
4130   
4131   * If all else fails, you can make xterm generate "ESC W" when you type
4132     M-W, which is the same conversion Emacs would make if it got the M-W
4133     anyway.  In X11R4, the following resource specification will do this:
4134   
4135       XTerm.VT100.EightBitInput: false
4136   
4137     (This changes the behavior of the insert-eight-bit action.)
4138   
4139     With older xterms, you can specify this behavior with a translation:
4140   
4141       XTerm.VT100.Translations: #override \
4142         Meta<KeyPress>: string(0x1b) insert()
4143   
4144     You might have to replace `Meta' with `Alt'.
4145   
4146 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
4147   
4148   This is a result of an internationalization extension in X11R4 and the
4149   fact that HP is now using this extension.  Emacs assumes that
4150   XLookupString returns the same result regardless of the Meta key state
4151   which is no longer necessarily true.  Until Emacs is fixed, the temporary
4152   kludge is to run this command after each time the X server is started but
4153   preferably before any xterm clients are:
4154   
4155     xmodmap -e 'remove mod1 = Mode_switch'
4156   
4157   NOTE:  This will disable the use of the extra keysyms systemwide, which
4158   may be undesirable if you actually intend to use them.
4159   
4160 145: Where can I get key bindings to make Emacs emulate WordStar?
4161   
4162   There is a package `wordstar' by Jim Frost <jimf@saber.com> and
4163   `ws-mode.el' by Juergen Nickelsen <nickel@cs.tu-berlin.de>.  Check in the
4164   Emacs Lisp Archive (see question 89).
4165   
4166 146: Where can I get an XEDIT emulator for Emacs?
4167   
4168   This question comes up once every couple of months.  I have never seen a
4169   positive reply, so I presume no one has ever written one.
4170   
4173 Using Emacs with Alternate Character Sets
4175 147: How do I make Emacs display 8-bit characters?
4176   
4177   There is a patch called the `8-bit ctl-arrow patch' that allows Emacs to
4178   display characters with codes from 128 to 255.  {The original appears to
4179   have been by Kenneth Cline <cline@proof.ergo.cs.cmu.edu>.} Partially based
4180   on Johan Widen's earlier work, Johan Vromans <jv@mh.nl> has updated this
4181   patch for Emacs 18.58 along with some other 8-bit improvements.
4182   
4183   Anonymous FTP:
4184     /ftp.eu.net:gnu/emacs/FP-EightBit.Z
4185     /ftp.urc.tue.nl:/pub/tex/emacs/FP-EightBit                               +
4186     /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57
4187     /sics.se:archive/emacs-18.55-8bit-diff
4188     /laas.laas.fr:pub/emacs/patch-8bit-18.55
4189     /laas.laas.fr:pub/emacs/patch-8bit-18.57
4190   
4191   Via e-mail:
4192     To: mail-server@sics.se
4193     body: send emacs-18.55-8bit-diff
4194   
4195   Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive
4196   patch for Emacs 18.59 that allows for 8-bit input and output.              !
4197   
4198   Anonymous FTP:
4199     /ftp.efd.lth.se:pub/gnu/emacs_8-bit.patch                                !
4200                                                                              !
4201   In the words of the author:                                                !
4202                                                                              !
4203     With these patches, Emacs becomes fully 8-bit operational.  There is     !
4204     support for displaying 8-bit characters, as well as for entering such    !
4205     characters from the keyboard.  In addition, upcase/lowcase tranlatsion   !
4206     is supported, accented characters are recognized as "letters" (important !
4207     when doing 'forward-word', for example), and text with 8-bit characters  !
4208     can be sorted correctly.                                                 !
4209                                                                              !
4210     A Meta-shift key can still be used, provided that you run in an          !
4211     environment where it is possible to distinguish between a character      !
4212     entered using the Meta-shift key and one entered directly. The diffs     !
4213     include patches to make this work under SunView (with emacstool) as      !
4214     well as under X.  If you can't use a Meta-shift key, you have to enter   !
4215     Meta-commands with the ESC-prefix.                                       !
4217   The most comprehensive patches for 8-bit output are by Howard Gayle
4218   (originally for Emacs 18.55.  These patches allow displaying any arbitrary
4219   string for a given 8-bit character (except TAB and C-j).  Also supported
4220   is defining the sorting order and the uppercase and lowercase
4221   translations.  It is reported that the 8-bit character support in Emacs 19
4222   is largely based on these patches.  Thomas Bellman
4223   <Bellman@lysator.liu.se> has updated these patches for Emacs 18.59.        !
4224   
4225   Anonymous FTP:
4226     /sics.se:archive/emacs-gayle.tar.Z  (patches for 18.55)
4227     /ftp.lysator.liu.se:pub/emacs/gayle-18.58.diff.tar.Z  (patches)          !
4228     /ftp.lysator.liu.se:pub/emacs/emacs-18.59-gayle.tar.Z  (patched Emacs)   !
4229   
4230   Epoch's 8-bit character support is based on Anders Edenbrandt's patches.   !
4231   Lucid Emacs has the ctl-arrow patch installed.  Nemacs displays 8-bit
4232   characters, and it may be useful for displaying the 8-bit ISO-8859
4233   alphabet, but I don't know for sure (see question 149).
4234   
4235 148: How do I input 8-bit characters?
4236   
4237   Minor modes for ISO Latin-1 that allow one to easily input this character
4238   set have been written by several people.  Such modes have been written by
4239   Matthieu Herrb <matthieu@laas.fr> (laas.laas.fr:pub/emacs/iso-latin-1.el),
4240   Johan Vromans <jv@mh.nl> {FTP site??}, and Marc Shapiro
4241   <shapiro@sor.inria.fr> {FTP site??}.
4242   
4243   These approaches differ from the one taken by Anders Edenbrandt in that
4244   his method uses direct 8-bit input, while these methods use a compose
4245   sequence for 8-bit characters.  {I have heard conflicting reports on
4246   whether this results in losing the Meta key.  Perhaps this depends on
4247   whether Emacs is running under X.  Can someone resolve this?}
4248   
4249   Karl Heuer <karl@haddock.ima.isc.com> is said to have a patch to allow
4250   8-bit input.  Georg-Wilhelm Koltermann <gwk@crmunich0.cray.com> also has a
4251   patch for either 18.57 or 18.58 that allows 8-bit input.
4252   
4253   Epoch comes with a patch that allows it to input 8-bit characters, but it
4254   is not enabled by default.  {Is this right?}
4255   
4256   Jamie Zawinski says:
4257   
4258     Lucid GNU Emacs allows the input of any ISO-8859/1 keysyms that your
4259     keyboard generates (see xmodmap), and contains a package that implements
4260     a DEC/OpenWindows-like "Compose" key for systems which don't have one.
4261   
4262 149: Where can I get an Emacs that can handle kanji characters?
4263   
4264   Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55
4265   that handles kanji characters.  It is available via anonymous FTP:
4266   
4267     /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z
4268     /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z                    -
4269   
4270   You might also need files for "wnn", a kanji input method
4271   (wnn-4.0.3{-README,.tar.Z} {on which machine?}).  You need a terminal (or
4272   terminal emulator) that can display text encoded in JIS, Shift-JIS, or EUC
4273   (Extended Unix Code), or the ability to run Nemacs as a direct X Window
4274   client.
4275   
4276 150: Where can I get an Emacs that can handle Chinese?
4277   
4278   `cemacs' by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs
4279   18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with
4280   Cxterm allows using Chinese characters.  It is available via anonymous
4281   FTP:
4282   
4283     /crl.nmsu.edu:pub/chinese/cemacs.tar.Z
4284     /cs.purdue.edu:pub/ygz/cemacs.tar.Z
4285   
4286   Cxterm is available from the same place:
4287   
4288     /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z
4289   
4290 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
4291   
4292   Joel M. Hoffman <joel@wam.umd.edu> writes:
4293   
4294     A couple of years ago a wrote a hebrew.el file that allows right-to-left
4295     editing of Hebrew.  I relied on the hardware to display the Hebrew
4296     letters, given the right codes, but not for any right-to-left support;
4297     the hardware also doesn't have to send any specific char. codes.  Emacs
4298     keeps track of when the user is typing Hebrew vs. English.  (The VT-*
4299     terminals in Israel contain built-in support for Hebrew.)
4300   
4301     To get it to work I had to modify only a few lines of GNU Emacs's source
4302     code --- just enough to make it 8-bit clean.
4303   
4304     [and in a separate message:]
4305   
4306     It doesn't produce time-order ["sefer" format] (I wouldn't recommend
4307     trying that with emacs, because converting time-order to screen-order
4308     with arbitrarily long lines is a bit tricky), but I also concocted a
4309     quick filter to convert screen-order into time-order.  I'll be happy to
4310     send you the requisite files if you want them.  If you're using it for
4311     anything large, however, you'll want something that works better.
4312   
4313   Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like"
4314   editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional
4315   Editor).  Ibelbe is written in Turbo Pascal and comes with source code.
4316   Here is the description:
4317   
4318     Ibelbe looks like emacs (it even has a minibuffer and filename
4319     completion), and fully supports both right-to-left and left-to-right
4320     editing.  Other than an EGA monitor or better, no special hardware is
4321     required.  You will need an EGA Hebrew font to use Ibelbe with Hebrew.
4322   
4323   Anonymous FTP:
4324     /israel.nysernet.org:israel/msdos/ibelbe.zip
4325     /israel.nysernet.org:israel/msdos/hebfont.zip
4326   
4327   Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written
4328   patches for Emacs 18.55 and 18.58 that provide Semitic language support
4329   under X Windows.
4330   
4331   Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by
4332   modifying self-insert-command "for Hebrew input on 7-bit keyboards".
4333   
4334   A good suggestion is to query archie for files named with `hebrew'.
4335   
4338 ----------------------------------------------------------------------       +
4339 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells                            +
4340 Copyright (C) 1992, 1993 Steven Byrnes                                       +
4341                                                                              +
4342 This list of frequently asked questions about GNU Emacs with answers         +
4343 ("FAQ") may be translated into other languages, transformed into other       +
4344 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new          +
4345 information.  The same conditions apply to any derivative of the FAQ as      +
4346 apply to the FAQ itself.  Every copy of the FAQ must include this notice     +
4347 or an approved translation, information on who is currently maintaining      +
4348 the FAQ and how to contact them (including their e-mail address), and        +
4349 information on where the latest version of the FAQ is archived (including    +
4350 FTP information).  The FAQ may be copied and redistributed under these       +
4351 conditions, except that the FAQ may not be embedded in a larger literary     +
4352 work unless that work itself allows free copying and redistribution.         +
4355                        GNU Emacs FAQ: Mail and News
4357 This portion of the GNU Emacs FAQ list is cross-posted to `gnu.emacs.gnus'
4358 because many of the questions herein deal with GNUS.  See `gnu.emacs.help' for
4359 the rest of the FAQ list.
4361 If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to
4362 get an overview of just the questions.  Then, when you want to look at the text
4363 of the answers, just type "C-x $".
4365 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
4366 that doesn't work, then type ESC to end the search.
4368 A `+' in the 78th column means something was inserted on the line.  A `-' means
4369 something was deleted and a `!' means some combination of insertions and
4370 deletions occurred.
4372 Full instructions for getting the latest FAQ are in question 22.  Also see the
4373 `Introduction to news.answers' posting in the `news.answers' newsgroup, or send
4374 e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
4375 WAIS, or Prospero to rtfm.mit.edu.
4379 Mail and News
4381 152: How do I change the included text prefix in mail/news followups?
4382   
4383   Many people want Emacs to prefix included text with something like ` > '
4384   instead of with three spaces.  One way is to change the code of the
4385   function `mail-yank-original' in lisp/sendmail.el that prefixes with
4386   spaces.  A more flexible solution is to use Supercite, which provides wide
4387   configurability in how you format included text in replies.  See question
4388   107.  Both of these solutions work for RMAIL and GNUS.
4389   
4390   A related problem is how to prevent Emacs from including various headers
4391   of the replied-to message.  For this, you should set the value of
4392   mail-yank-ignored-headers, which takes a regexp value.
4393   
4394 153: How do I save a copy of outgoing mail?
4395   
4396   Two methods:
4397   
4398   1. (setq mail-self-blind t) will result in a `BCC:' header line with your
4399      address being added to mail composition buffers.  This will cause the
4400      mail system to send a copy of the mail back to you.
4401   
4402   2. (setq mail-archive-file-name (expand-file-name "~/outgoing")) will
4403      result in an `FCC:' header line with the pathname of ~/outgoing being
4404      added to mail composition buffers.  When you send the mail, Emacs will
4405      save a copy of the mail in the file ~/outgoing and then strip off the
4406      `FCC:' line before actually sending.
4407   
4408      WARNING: There is a bug in Emacs 18.58 that prevents mail readers such
4409      as RMAIL from reading the saved mail messages individually.  See
4410      question 155.
4411   
4412      WARNING: If you are visiting the file ~/outgoing at the time you send
4413      the mail, this can cause a variety of horrible problems.  Jamie
4414      Zawinski has written a solution for this.
4415   
4416   It does not work to put `set record filename' in the .mailrc file.
4417   
4418 154: Why doesn't Emacs expand my aliases when sending mail?
4419   
4420   * You must separate multiple addresses in the headers of the mail buffer
4421     with commas.  This is because Emacs supports RFC822 standard addresses
4422     like this one:
4423   
4424       To: Willy Smith <wks@xpnsv.lwyrs.com>
4425   
4426     However, you do not need to separate addresses with commas in your
4427     .mailrc file.
4428   
4429     WARNING: Emacs breaks up aliases in the .mailrc file into multiple
4430     addresses both on commas and on whitespace, regardless of any use of
4431     quotes.  This is probably a bug.  You can get around this by directly
4432     setting the value of mail-aliases.
4433   
4434   * Emacs normally only reads the `.mailrc' file once per session, when you
4435     start to compose your first mail message.  If you edit .mailrc, you can
4436     type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc.
4437     (You have to include the parentheses where they are shown!)
4438   
4439   * Emacs does not interpret vendor-specific additions to the format of the
4440     .mailrc file such as the `source' command.  It also ignores any `set'
4441     commands.  The only commands it looks at are `alias' and `group'
4442     commands.
4443   
4444 155: Why does RMAIL think all my saved messages are one big message?
4445   
4446   There is a bug for FCC-ed messages in Emacs 18.58 where it adds a timezone
4447   on the "From " line after the year instead of before the year.  (Before it
4448   didn't add the timezone at all.)  This is incompatible with the standard
4449   format for the "From " line, and RMAIL in particular can no longer
4450   distinguish between the messages.  Karl Berry <karl@cs.umb.edu>, Felix Lee
4451   <flee@cs.psu.edu>, Nick Gianniotis <nico@japan.sbi.com> and many
4452   others have all posted patches for this.  Karl's is the simplest and just
4453   stops Emacs from adding the timezone:
4454   
4455     >*** ./ORIG/sendmail.el     Tue Jan 28 16:22:56 1992
4456     >--- ./sendmail.el  Thu May 14 18:23:48 1992
4457     >***************
4458     >*** 285,287 ****
4459     >        (insert "\nFrom " (user-login-name) " "
4460     >!        (current-time-string) " " timezone "\n")
4461     >        (insert-buffer-substring rmailbuf)
4462     >--- 285,287 ----
4463     >        (insert "\nFrom " (user-login-name) " "
4464     >!        (current-time-string) "\n")
4465     >        (insert-buffer-substring rmailbuf)
4466   
4467 156: How can I sort the messages in my RMAIL folder?
4468   
4469   Use rmailsort.el by Masanobu Umeda.
4470   
4471 157: Why does RMAIL need to write to /usr/spool/mail?
4472   
4473   This is the behavior of the `movemail' program which RMAIL uses.  This
4474   indicates that movemail is configured to use lock files.
4475   
4476   RMS writes:
4477   
4478     Certain systems require lock files to interlock access to mail files.
4479     On these systems, movemail must write lock files, or you risk losing
4480     mail.  You simply must arrange to let movemail write them.
4481   
4482     Other systems use the flock system call to interlock access.  On these
4483     systems, you should configure movemail to use flock.
4484   
4485 158: How do I recover my mail files after RMAIL munges their format?
4486   
4487   Users who just want to try RMAIL out to see how it works end up trapped
4488   using it because saved mail in their `mbox' file has been converted into
4489   an incompatible format (BABYL) that only RMAIL understands.  RMAIL
4490   provides no obvious way to reverse this transformation.  Kyle Jones has
4491   aptly named this "the great Emacs Mail Eating Monster".  To convert a mail
4492   file back to standard Unix format, there are several methods:
4493   
4494   * Use the rmail-output ("C-o") command within RMAIL on each message in the
4495     file.  First use M-x rmail or M-x rmail-input to visit the RMAIL file in
4496     Rmail mode.  Type "1 j" to go to the first message.  Use the C-o command
4497     to output the message to a Unix format file.  Type "n" to go to the next
4498     message.  Repeat.
4499   
4500   * If the file contains hundreds of messages, you may not want to repeat
4501     this for all of them.  Instead of the above, after getting to the first
4502     message type this (where "mbox" is the file you want to put the messages
4503     in):
4504   
4505       C-x ( C-o mbox RET M-s ^From: RET M-0 C-x )
4506   
4507     (The rmail-search command ("M-s") is used instead of just "n" because it
4508     is the only command which will cause an error when it reaches the last
4509     message in the file, which is necessary to terminate the keyboard macro.
4510     This will fail if there are messages in the file that don't have a
4511     `From:' header.  This assumes rmail-delete-after-output is nil.)
4512   
4513     It is wise to save a copy of the RMAIL file first, in case you make a
4514     mistake.
4515   
4516   * There are software packages available for converting files or even
4517     entire directories of BABYL files to standard Unix format.  These are
4518     helpful in this situation, but are intended mainly for people who have
4519     used RMAIL for a long time and are converting to some other mail reader.
4520     Lookup `rmail', `vm', and `babyl' in the Emacs Lisp Archive (see
4521     question 89).
4522   
4523   You may wish to disable RMAIL to avoid accidentally destroying your mbox
4524   file (I have this in my .emacs):
4525   
4526     (put 'rmail 'disabled t)            ; avoid mbox destruction
4527   
4528 159: How do I make Emacs automatically start my mail/news reader?
4529   
4530   Example:
4531   
4532     emacs -f gnus
4533   
4534   Also:
4535   
4536     alias gnus 'emacs -f gnus'
4537   
4538   It is probably unwise to automatically start your mail or news reader from
4539   your .emacs file.  This would cause problems if you needed to run two
4540   copies of Emacs at one time.  Also, this would make it difficult for you
4541   to start Emacs quickly when you needed to.
4542   
4543 160: How do I read news under Emacs?
4544   
4545   There are at least three news reading packages that operate inside Emacs.
4546   `rnews' comes with Emacs.  GNUS and Gnews come separately.  rnews will
4547   be replaced by GNUS in Emacs 19.
4548   
4549   rnews works only with a local news spool directory.  Both GNUS and Gnews
4550   handle reading news remotely via NNTP in addition to reading from a local
4551   news spool.  GNUS supports reading mail stored in MH folders or articles
4552   saved by GNUS.
4553   
4554   Gnews is styled after `rn' and seems to work like RMAIL.  GNUS feels more
4555   like VM.  People have complained that GNUS uses a lot of CPU time (it
4556   does).  Some people have complained that Gnews is slower than GNUS.
4557   
4558   For more information about GNUS, see question 108.
4559   
4560   Gnews was written by Matthew P. Wiener <weemba@libra.wistar.upenn.edu>.
4561   The latest version seems to be 2.0, posted October 3, 1988.  Matthew
4562   posted some fixes on October 26, 1988.  Gnews does not appear to have been
4563   supported after this date.  In particular, it has been reported that Gnews
4564   does not work with Emacs 18.57.  There is a newsgroup for Gnews called
4565   gnu.emacs.gnews.
4566   
4567 161: Why does `rnews' say "No News is good news" when there is news?
4568   
4569   rnews doesn't speak NNTP.  You may need to use GNUS or Gnews.
4570   
4571 162: Why doesn't GNUS work anymore via NNTP?
4572   
4573   There is a bug in NNTP version 1.5.10, such that when multiple requests
4574   are sent to the NNTP server, the server only handles the first one before
4575   blocking waiting for more input which never comes.  NNTP version 1.5.11
4576   claims to fix this.
4577   
4578   You can work around the bug inside Emacs like this:
4579   
4580     (setq nntp-maximum-request 1)
4581   
4582   I also have a patch for NNTP 1.5.10 by Mike Pelletier
4583   <stealth@engin.umich.edu> that is based on the timeout code that was in
4584   1.5.9.  However, please try to upgrade to 1.5.11 first.
4585   
4586   You can find out what version of NNTP your news server is running by
4587   telnetting to the NNTP port (usually 119) on the news server machine (ie.,
4588   `telnet server-machine 119').  The server should give its version number
4589   in the welcome message.  Type `quit' to get out.
4590   
4591 163: How do I view text with embedded underlining (eg., ClariNews)?
4592   
4593   Underlining appears like this:
4594   
4595     _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg
4596   
4597   You can destructively remove underlining with M-x ununderline-region.
4598   
4599   For ClariNews articles, clari-clean.el by David N. Blank-Edelman
4600   <dnb@meshugge.media.mit.edu> will remove both underlining and overstriking
4601   automatically.
4602   
4603 164: When I try to post a long article in GNUS (about 10K or longer), I get
4604  the error, "Writing to process: no more processes, nntpd"
4605   
4606   Upgrade to Emacs 18.58 or higher.                                          +
4607   
4608 165: How do I save all the items of a multi-part posting in GNUS?
4609   
4610   Use gnus-mark.el by Jamie Zawinski <jwz@lucid.com>.
4611   
4612 166: Why does GNUS put the subjects in replies beyond the 80th column?
4613   
4614   This is a feature.  If you set gnus-thread-hide-subject to non-nil, GNUS
4615   will only display the subject of the first posting in a thread, even if
4616   some of the replies use different subjects.  It hides the subjects by
4617   putting them past the edge of the window and setting truncate lines to t.
4618   
4619   If your screen looks messed up, then for some reason truncate-lines in
4620   your `*Subject*' buffer has been set to nil.  It should be set to t.
4621   
4622   (I have an enhancement to GNUS 3.13 that will make it only hide the subject
4623   of a posting when it is unchanged from the followed-up-to posting.  Thus,
4624   you can use the subject hiding feature and still know when someone changes
4625   the subject.  (I have forgotten who originally gave me the idea for this.))
4626   
4627 167: Why is GNUS so slow to start up?
4628   
4629   GNUS does several things that take quadratic time of the number of
4630   newsgroups that are listed in .newsrc.  The quick fix for this is to
4631   remove all the newsgroups in which you have no interest from your .newrc
4632   file by using GNUS's C-k command in the `*Newsgroup*' buffer after
4633   displaying all newsgroups with the L command.  If you were to directly
4634   edit your .newsrc to remove the newsgroups, GNUS would add them back.
4635   
4636   GNUS uses a quadratic algorithm to check for duplicates when the .newsrc
4637   file is newer than the .newsrc.el file (ie., you edited your .newsrc).
4638   GNUS uses a quadratic algorithm to check for new newsgroups every time it
4639   connects to the news server.  {There may be other quadratic algorithms
4640   that I am not aware of.}
4641   
4642   You can speed up GNUS by using the C-k command in the *Newsgroup* buffer
4643   to remove newsgroups from your .newsrc file.
4644   
4645   Of course, GNUS will run faster if you make sure it is byte-compiled.
4646   
4647   Felix Lee wrote some enhancements called `gnus-speedups.el' that fix some
4648   of the problems.  See the Emacs Lisp Archive.
4649   
4650 168: How do I catch up all newsgroups in GNUS?
4651   
4652   In the `*Newsgroup*' buffer, type the following magical incantation:
4653   
4654     M-< C-x ( C-@ c y C-u C-@ C-e C-f C-f M-0 C-x )
4655   
4656   Leave off the "M-<" if you only want to catch up from point to the end of
4657   the `*Newsgroup' buffer.
4658   
4659 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line?
4660   
4661   GNUS 3.14.1 will complain that the `Newsgroups:', `Keywords:', and
4662   `Control:' headers are `Unknown header field's.
4663   
4664   For the `Newsgroups:' header, there is an easy workaround: kill on the
4665   `Xref' header instead, which will be present on any cross-posted article.
4666   
4667   If you really want to kill on one of these headers, you can do it like
4668   this:
4669   
4670     (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)")
4671   
4672   Various people (eg., Greg Holley <holley@acuson.com>) have posted
4673   solutions to allow more efficient killing on these headers than the
4674   preceding solution.  Masanobu Umeda plans to fix this problem.
4675   
4676 170: How do I get rid of flashing messages in GNUS for slow connections?
4677   
4678   GNUS outputs "NNTP: Reading..." message and then clears them, over and
4679   over.  In version 3.14.1 there is a variable named nntp-debug-read that
4680   can help.  Johan Vromans <jv@mh.nl> wrote a fix.  Others have also written
4681   fixes.
4682   
4683 171: Why is catch up slow in Gnews/GNUS?
4684   
4685   Because GNUS is marking crosspostings read.  {I think it should do this at
4686   the time the article is read to spread out the load.  Maybe someone will
4687   write the code to do this.}
4688   
4689 172: Why does GNUS hang for a long time when posting?
4690   
4691   David Lawrence <tale@uunet.uu.net> explains:
4692   
4693     The problem is almost always interaction between NNTP and C News.  NNTP
4694     POST asks C News's inews to not background itself but rather hang around
4695     and give its exit status so it knows whether the post was successful.
4696     (That wait will on some systems not return the exit status of the
4697     waited for job is a different sort of problem.)  It ends up taking a
4698     long time because inews is calling relaynews, which often waits for
4699     another relaynews to free the lock on the news system so it can file the
4700     article.
4701   
4702     My preferred solution is to change inews to not call relaynews, but
4703     rather use newsspool.  This loses some error-catching functionality, but
4704     is for the most part safe as inews will detect a lot of the errors on
4705     its own.  The C News folks have sped up inews, too, so speed should look
4706     better to most folks as that update propagates around.
4707   
4708 173: Why don't my news postings in GNUS get past the local machine?
4709   
4710   Three possible reasons: local distribution, C News date problem (see
4711   question 174, and the path problem.  This piece of code may fix the path
4712   problem for you:
4713   
4714     (setq gnus-use-generic-path t)
4715   
4716 174: Why is the GNUS-generated `Date:' header invalid?
4717   
4718   GNUS generates `Date:' headers without time zones.  C-News's `inews'
4719   doesn't replace it with a valid header, but will generate it if not
4720   already there.  If it is invalid, the article will not be forwarded
4721   properly.  Quick fix:
4722   
4723     (defun gnus-inews-date () nil)
4724   
4725   This is not fixed as of GNUS 3.14.1.                                       !
4726   
4727 175: Why doesn't GNUS generate the `Lines:' header?
4728   
4729   GNUS was written for B news, which would generate the `Lines:' header.  C
4730   news doesn't.  There is a comment in C news's `inews' that you can
4731   uncomment to enable this functionality.  Or you can have GNUS generate the
4732   header, for example:
4733   
4734     ;; idea by jbryans@beach.csulb.edu (Jack Bryans)
4735     (defun add-lines-header ()
4736       ;; Count the number of lines in the current posting and insert the
4737       ;; header line Lines into the message.
4738       (save-excursion
4739         (goto-char (point-min))
4740         (if (search-forward "\n\n") ;; ***** I suspect this is wrong *****
4741           (let ((lines (count-lines (point) (point-max))))
4742             (forward-line -1)
4743             (insert-string "Lines: " lines "\n")))))
4744   
4745   Mike Williams <mike-w@cs.aukuni.ac.nz> has written something similar.
4746   
4747   Ronald Florence <ron@mlfarm.com> has a patch for GNUS that makes it
4748   calculate the `Lines:' header for incoming articles when necessary that
4749   works for sites with local news spools.
4750   
4751   David Lawrence <tale@uunet.uu.net> says that GNUS 3.14.1 generates Lines
4752   if gnus-news-system is Cnews.
4753   
4754 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS?
4755   
4756   Specifically, the error message is this:
4757   
4758     Error occurred processing gnus.el: File error (("Cannot open load file" "nntp"))
4759   
4760   This means that nntp.el is not in Emacs's load-path, which is easy to
4761   happen when compiling using the Makefile.
4762   
4763   Easiest solution: set EMACSLOADPATH in Makefile (idea from Glenn Gribble
4764   <glenn@netcom.com>):
4765   
4766     EMACSLOADPATH=/usr/local/emacs/lisp:.
4767     ELC= env EMACSLOADPATH=$(EMACSLOADPATH) emacs -batch -f batch-byte-compile
4768   
4769   Another solution, in hack.el put this:
4770   
4771     (defun gross-hack () (setq load-path (cons "/directory" load-path)))
4772   
4773   Then in Makefile:
4774   
4775     ELC= emacs -batch -l hack.el -f gross-hack -f batch-byte-compile
4776   
4777 177: How do I kill all articles in GNUS but those matching a pattern?
4778   
4779   Example:
4780   
4781     ;; kill everything
4782     (gnus-kill "subject" "" nil nil)
4783     ;; then restore stuff by our favorite poster
4784     (gnus-kill "from" "good-guy"
4785                (function
4786                 (lambda ()
4787                   (if (eq ?X (char-after (save-excursion
4788                                            (beginning-of-line 1)
4789                                            (point))))
4790                       (gnus-Subject-clear-mark-forward 1))))
4791                t)
4792   
4795 ----------------------------------------------------------------------       +
4796 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells                            +
4797 Copyright (C) 1992, 1993 Steven Byrnes                                       +
4798                                                                              +
4799 This list of frequently asked questions about GNU Emacs with answers         +
4800 ("FAQ") may be translated into other languages, transformed into other       +
4801 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new          +
4802 information.  The same conditions apply to any derivative of the FAQ as      +
4803 apply to the FAQ itself.  Every copy of the FAQ must include this notice     +
4804 or an approved translation, information on who is currently maintaining      +
4805 the FAQ and how to contact them (including their e-mail address), and        +
4806 information on where the latest version of the FAQ is archived (including    +
4807 FTP information).  The FAQ may be copied and redistributed under these       +
4808 conditions, except that the FAQ may not be embedded in a larger literary     +
4809 work unless that work itself allows free copying and redistribution.         +
4812                           GNU Emacs FAQ: Changes
4814 The latest version of the GNU Emacs FAQ has changed from the previous version.
4815 This article shows the changed text.  The contents of this article are from the
4816 output of `diff -wu2'.  Since the question numbers are generated automatically
4817 and can change, these are stripped from both versions before comparing them.
4818 After generating the differences for each part, they were concatenated and then
4819 edited to remove as much noise as possible.  You can't use this as a patch.
4821 -- 
4822 Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>)
4824 E-mail lpf@uunet.uu.net for details about the League for Programming Freedom.
4826 ----------------------------------------------------------------------
4829 @@ -225,9 +225,8 @@
4830    
4831      Anonymous FTP:
4832 -      /prep.ai.mit.edu:/pub/gnu/emacs/MailingListArchives/
4833 +      /prep.ai.mit.edu:/pub/gnu/MailingListArchives/
4834    
4835 -  {There was a WAIS database named `comp-emacs' on lambada.oit.unc.edu that
4836 -  makes available the last 10 days of articles in comp.emacs.  It appears to
4837 -  have died.  Anyone know if it moved?}
4838 +  There is a WAIS database named `comp.emacs' on wais.oit.unc.edu that
4839 +  makes available the last few days of articles in comp.emacs.
4840    
4841  QQQ: Where should I report bugs and other problems with GNU Emacs?
4843 @@ -612,5 +611,5 @@
4844      it might (or might not) do some good to complain to your news
4845      administrator, because the most recent FAQ should not expire before
4846 -    November 21, 1992.
4847 +    March 6, 1993.
4848    
4849    * Via anonymous FTP.  You can fetch the FAQ articles via anonymous FTP
4850 @@ -642,6 +641,6 @@
4851    * In the GNU Emacs distribution.  Since GNU Emacs 18.56, the latest
4852      available version of the FAQ at the time of release has been part of the
4853 -    GNU Emacs distribution as file etc/FAQ.  18.58 is the latest version,
4854 -    and it was released in February 1992.
4855 +    GNU Emacs distribution as file etc/FAQ.  18.59 is the latest version,
4856 +    and it was released in October 1992.
4857    
4858    * There is an old version of the FAQ list available for FTP in the GNU
4859 @@ -677,5 +676,5 @@
4860  QQQ: What is the latest version of GNU Emacs?
4861    
4862 -  GNU Emacs 18.58 is the current version.  Fixes from 18.57 include better
4863 +  GNU Emacs 18.59 is the current version.  Fixes from 18.57 include better
4864    mail address parsing, an X visual bell speedup, a call-process
4865    enhancement, a regexp matching change, the ability to apply a numeric
4866 @@ -698,5 +697,5 @@
4867    which is a good sign.
4868    
4869 -  Lucid has released Lucid GNU Emacs 19.2, which is based on an early
4870 +  Lucid has released Lucid GNU Emacs 19.3, which is based on an early
4871    unreleased version of GNU Emacs 19.  This will be similar to Emacs 19 when
4872    it finally arrives, but they are not the same.  See question QQQ.
4874 @@ -185,5 +185,5 @@
4875    
4876    There are ways to get highlighting (reverse video, inverse video) in GNU
4877 -  Emacs 18.58, but either they require patching the C code of Emacs and
4878 +  Emacs 18.59, but either they require patching the C code of Emacs and
4879    rebuilding, or they are slow and the highlighting disappears if you scroll
4880    or redraw the screen and it can not follow the point.  Howard Gayle's
4881 @@ -194,5 +194,6 @@
4882    <matthieu@laas.fr>), which is available for FTP:
4883    
4884 -    /laas.laas.fr:pub/emacs/patch-X11-18.5{5,7}
4885 +    /laas.laas.fr:pub/emacs/patch-X11-18.55
4886 +    /laas.laas.fr:pub/emacs/patch-X11-18.57
4887    
4888    You can highlight regions in a variety of ways in Epoch and Lucid Emacs.
4889 @@ -241,5 +242,5 @@
4890    Trinkle.  A more recent version is available via FTP:
4891    
4892 -    /arthur.cs.purdue.edu:pub/trinkle/detex-2.3.tar.Z
4893 +    /arthur.cs.purdue.edu:pub/trinkle/detex-2.4.tar
4894    
4895    Raphael Cerf <cerf@clipper.ens.fr> recently released a program for this
4896 @@ -428,7 +429,8 @@
4897    
4898    Under versions of Emacs before 18.58, the bell volume was annoying loud
4899 -  and difficult to turn off.  So upgrading to 18.58 will reduce the volume.
4900 -  If you want to turn it off completely, use `xset'.  There is no way to
4901 -  turn the bell off just for Emacs without affecting all other programs.
4902 +  and difficult to turn off.  So upgrading to 18.58 or higher will reduce
4903 +  the volume.  If you want to turn it off completely, use `xset'.  There is
4904 +  no way to turn the bell off just for Emacs without affecting all other
4905 +  programs.
4906    
4907    Under Epoch you can do:
4908 @@ -585,7 +587,7 @@
4909    
4910    Anonymous FTP:
4911 -    /csi.jpl.nasa.gov:pub/emacs.patch1  (Matt Wette)
4912 +    /csi.jpl.nasa.gov:pub/emax.patch1  (Matt Wette)
4913      /ftp.eu.net:gnu/emacs/FP-Xfun.Z  (Johan Vromans)
4914 -    /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun  (Johan Vromans)
4915 +    /ftp.urc.tue.nl:/pub/tex/emacs/FP-Xfun  (Johan Vromans)
4916    
4917  QQQ: How do I use regexps (regular expressions) in Emacs?
4918 @@ -664,4 +666,7 @@
4919  QQQ: Why can't Emacs find files in current directory on startup?
4920    
4921 +  The PWD bug has been fixed as of GNU Emacs 18.59.  Read on if you are
4922 +  running an older version of Emacs.
4924    Most likely, you have an environment variable named PWD that is set to a
4925    value other than the name of your current directory.  This is most
4926 @@ -670,6 +675,7 @@
4927    variable, but `sh' doesn't.  If you start sh from ksh, change your
4928    current directory inside sh, and then start Emacs from inside sh, PWD
4929 -  will have the wrong value but Emacs will use this value.  See the
4930 -  etc/OPTIONS file for more details.
4931 +  will have the wrong value but Emacs will use this value.  An invalid
4932 +  setting for PWD can also be a problem if you use X Windows and csh on an
4933 +  RS/6000.  See the etc/OPTIONS file for more details.
4934    
4935    Perhaps an easier solution is not to use two shells.  The `chsh' program
4937 @@ -50,5 +50,5 @@
4938    The latest version is always available via anonymous FTP at MIT:
4939    
4940 -    /prep.ai.mit.edu:pub/gnu/emacs-18.58.tar.Z
4941 +    /prep.ai.mit.edu:pub/gnu/emacs-18.59.tar.Z
4942    
4943    See question QQQ.
4944 @@ -130,5 +130,5 @@
4945      ;; tex-complete|Sebastian Kremer|sk@thp.Uni-Koeln.DE
4946      ;; |Minibuffer name completion for editing [La]TeX.
4947 -    ;; |91-03-26|$Revision: 1.12 $|~/packages/tex-complete.el.Z
4948 +    ;; |91-03-26|$Revision: 19.4 $|~/packages/tex-complete.el.Z
4949    
4950    Dave Brennan has software which automatically looks for data in this
4951 @@ -231,5 +231,4 @@
4952    The unofficial HP GNU Emacs is available via anonymous FTP:
4953    
4954 -    /me10.lbl.gov:pub/interex/HUGE/
4955      /ee.utah.edu:HUGE/  (PLEASE FTP DURING NON-WORK HOURS!!!)
4956    
4957 @@ -301,13 +300,9 @@
4958      are different from GNU Emacs.  It is rumored that MicroEmacs can not
4959      correctly edit files larger than memory.  The author is Daniel Lawrence
4960 -    <dan@mdbs.uucp, dan@midas.mgmt.purdue.edu, nwd@j.cc.purdue.edu>.  The
4961 -    latest version is 3.10 and it is available via anonymous FTP:
4962 +    <dan@mdbs.uucp, mdbs!dan@ee.ecn.purdue.edu>.  The latest version is 3.11
4963 +    and it is available via anonymous FTP:
4964    
4965 -      /midas.mgmt.purdue.edu:  (non-working hours only)
4966 -      /durer.cme.nist.gov:
4967 -      /wuarchive.wustl.edu:/mirrors/msdos/memacs/
4968 +      /wuarchive.wustl.edu:/mirrors/msdos/uemacs/
4969    
4970 -    Version 3.11 is in beta test.
4971 -  
4972    * JOVE
4973    
4974 @@ -318,7 +313,5 @@
4975      available via anonymous FTP:
4976    
4977 -      /cs.rochester.edu:/pub/jove.tar.4.14.Z
4978 -      /cs.toronto.edu:/pub/moraes/jove4.14.3.tar.Z
4979 -      /ftp.uu.net:
4980 +      /cs.toronto.edu:/pub/moraes/jove4.14.7.tar.Z
4981    
4982    * MG
4983 @@ -584,5 +577,5 @@
4984      /alpha.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.Z
4985      /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z
4986 -    ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z
4987 +    /ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z
4988    Mailing lists:
4989      ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions)
4990 @@ -618,6 +611,6 @@
4991    Latest released version: 6.1 {???}
4992    Anonymous FTP:
4993 -    /iesd.auc.dk:pub/emacs-lisp/auctex_5_6e.tar.Z  {wrong}
4994 -    /iesd.auc.dk:pub/emacs-lisp/auc-tex.tar.Z
4995 +    /iesd.auc.dk:pub/emacs-lisp/auctex_6_1d.tar.Z
4996 +    /iesd.auc.dk:pub/emacs-lisp/auctex.tar.Z
4997    Mailing list:
4998      auc-tex-request@iesd.auc.dk (for subscriptions)
5000 @@ -854,5 +854,5 @@
5001    Anonymous FTP:
5002      /ftp.eu.net:gnu/emacs/FP-EightBit.Z
5003 -    /ftp.urc.tue.nl:pub/tex/emacs/FP-EightBit
5004 +    /ftp.urc.tue.nl:/pub/tex/emacs/FP-EightBit
5005      /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57
5006      /sics.se:archive/emacs-18.55-8bit-diff
5007 @@ -865,10 +865,25 @@
5008    
5009    Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive
5010 -  patch for Emacs 18.57 that allows for 8-bit input and output.
5011 +  patch for Emacs 18.59 that allows for 8-bit input and output.
5012    
5013    Anonymous FTP:
5014 -    /sics.se:archive/emacs-8bit-diff-lth
5015 -    /gatekeeper.dec.com:pub/GNU/DS-emacs-18.57-8bit-diff-lth
5016 +    /ftp.efd.lth.se:pub/gnu/emacs_8-bit.patch
5017    
5018 +  In the words of the author:
5020 +    With these patches, Emacs becomes fully 8-bit operational.  There is
5021 +    support for displaying 8-bit characters, as well as for entering such
5022 +    characters from the keyboard.  In addition, upcase/lowcase tranlatsion
5023 +    is supported, accented characters are recognized as "letters" (important
5024 +    when doing 'forward-word', for example), and text with 8-bit characters
5025 +    can be sorted correctly.
5027 +    A Meta-shift key can still be used, provided that you run in an
5028 +    environment where it is possible to distinguish between a character
5029 +    entered using the Meta-shift key and one entered directly. The diffs
5030 +    include patches to make this work under SunView (with emacstool) as
5031 +    well as under X.  If you can't use a Meta-shift key, you have to enter
5032 +    Meta-commands with the ESC-prefix.
5034    The most comprehensive patches for 8-bit output are by Howard Gayle
5035    (originally for Emacs 18.55.  These patches allow displaying any arbitrary
5036 @@ -877,15 +892,15 @@
5037    translations.  It is reported that the 8-bit character support in Emacs 19
5038    is largely based on these patches.  Thomas Bellman
5039 -  <Bellman@lysator.liu.se> has updated these patches for Emacs 18.57.
5040 +  <Bellman@lysator.liu.se> has updated these patches for Emacs 18.59.
5041    
5042    Anonymous FTP:
5043      /sics.se:archive/emacs-gayle.tar.Z  (patches for 18.55)
5044 -    /ftp.lysator.liu.se:pub/emacs/gayle-18.57.diff.tar.Z  (patches)
5045 -    /ftp.lysator.liu.se:pub/emacs/emacs-18.57-gayle.tar.Z  (patched Emacs)
5046 +    /ftp.lysator.liu.se:pub/emacs/gayle-18.58.diff.tar.Z  (patches)
5047 +    /ftp.lysator.liu.se:pub/emacs/emacs-18.59-gayle.tar.Z  (patched Emacs)
5048    
5049 -  I am not sure if Epoch can display 8-bit characters as is.  Lucid Emacs
5050 -  has the ctl-arrow patch installed.  Nemacs displays 8-bit characters, and
5051 -  it may be useful for displaying the 8-bit ISO-8859 alphabet, but I don't
5052 -  know for sure (see question QQQ).
5053 +  Epoch's 8-bit character support is based on Anders Edenbrandt's patches.
5054 +  Lucid Emacs has the ctl-arrow patch installed.  Nemacs displays 8-bit
5055 +  characters, and it may be useful for displaying the 8-bit ISO-8859
5056 +  alphabet, but I don't know for sure (see question QQQ).
5057    
5058  QQQ: How do I input 8-bit characters?
5059 @@ -922,5 +937,4 @@
5060    
5061      /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z
5062 -    /uhccux.uhcc.hawaii.edu:editors/Nemacs-3.3.2/
5063      /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z
5065 @@ -271,5 +271,5 @@
5066   the error, "Writing to process: no more processes, nntpd"
5067    
5068 -  Upgrade to Emacs 18.58.
5069 +  Upgrade to Emacs 18.58 or higher.
5070    
5071  QQQ: How do I save all the items of a multi-part posting in GNUS?
5072 @@ -390,6 +390,5 @@
5073      (defun gnus-inews-date () nil)
5074    
5075 -  I think this is fixed in GNUS 3.14.1 if you set gnus-news-system {?} to
5076 -  Cnews.
5077 +  This is not fixed as of GNUS 3.14.1.
5078    
5079  QQQ: Why doesn't GNUS generate the `Lines:' header?
5080 ----------------------------------------------------------------------
5081 Copyright (C) 1990, 1991, 1992 Joseph Brian Wells
5082 Copyright (C) 1992, 1993 Steven Byrnes
5084 This list of frequently asked questions about GNU Emacs with answers
5085 ("FAQ") may be translated into other languages, transformed into other
5086 formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new
5087 information.  The same conditions apply to any derivative of the FAQ as
5088 apply to the FAQ itself.  Every copy of the FAQ must include this notice
5089 or an approved translation, information on who is currently maintaining
5090 the FAQ and how to contact them (including their e-mail address), and
5091 information on where the latest version of the FAQ is archived (including
5092 FTP information).  The FAQ may be copied and redistributed under these
5093 conditions, except that the FAQ may not be embedded in a larger literary
5094 work unless that work itself allows free copying and redistribution.