aboutsummaryrefslogtreecommitdiffstats
path: root/etc/FAQ
diff options
context:
space:
mode:
authorRichard M. Stallman1995-05-15 23:23:34 +0000
committerRichard M. Stallman1995-05-15 23:23:34 +0000
commite82f5d65d00161871f0803d63b5d3e09e5494382 (patch)
treeaf93eb60a1fa9aca54bc2e1a046e663fa99b2d44 /etc/FAQ
parent9b4234ae17d01ed919612978e86b03b7aa3f29c3 (diff)
downloademacs-e82f5d65d00161871f0803d63b5d3e09e5494382.tar.gz
emacs-e82f5d65d00161871f0803d63b5d3e09e5494382.zip
New version for Emacs 19.
Diffstat (limited to 'etc/FAQ')
-rw-r--r--etc/FAQ5873
1 files changed, 2262 insertions, 3611 deletions
diff --git a/etc/FAQ b/etc/FAQ
index 3a62145f8d9..0d352f527a6 100644
--- a/etc/FAQ
+++ b/etc/FAQ
@@ -1,59 +1,55 @@
1 GNU Emacs FAQ: Introduction 1 GNU Emacs FAQ: Introduction
2 2
3[To find what has changed, see the "Changes" posting.] 3This is the introduction to a list of frequently asked questions (FAQ)
4 4about GNU Emacs with answers.
5[The FAQ post date slipped big-time this time. Now that school is over 5
6 with and I can get on with the rest of my life, posting should become a 6The FAQ is posted to reduce the noise level in the `gnu.emacs.help'
7 lot more regular. - sbyrnes] 7newsgroup (which is also the `help-gnu-emacs' mailing list) which results
8 8from the repetition of frequently asked questions, wrong answers to these
9This is the introduction to a list of frequently asked questions (FAQ) about 9questions, corrections to the wrong answers, corrections to the
10GNU Emacs with answers. This article contains a listing of the questions; 10corrections, debate, name calling, etc. Also, it serves as a repository of
11subsequent articles contain the questions and answers. 11the canonical "best" answers to these questions. However, if you know a
12 12better answer or even a slight change that improves an answer, please tell
13The FAQ list is posted to reduce the noise level in the `gnu.emacs.help' 13us!
14newsgroup (which is also the `help-gnu-emacs' mailing list) which results from 14
15the repetition of frequently asked questions, wrong answers to these questions, 15If you know the answer to a question in the FAQ list, please reply to the
16corrections to the wrong answers, corrections to the corrections, debate, name
17calling, etc. Also, it serves as a repository of the canonical "best" answers
18to these questions. However, if you know a better answer or even a slight
19change that improves an answer, please tell us!
20
21If you know the answer of a question is in the FAQ list, please reply to the
22question by e-mail instead of posting. Help reduce noise! 16question by e-mail instead of posting. Help reduce noise!
23 17
24The FAQ list is crossposted to `comp.emacs' because some sites do not receive 18The FAQ is crossposted to `comp.emacs' because some sites do not receive
25the `gnu.*' newsgroups. The FAQ list is also crossposted to `news.answers'. 19the `gnu.*' newsgroups. The FAQ is also crossposted to `news.answers'.
26 20
27Please suggest new questions, answers, wording changes, deletions, etc. The 21Full instructions for getting the latest FAQ are in question 22.
28most helpful form for suggestions is a context diff (ie., the output of `diff
29-c'). Include `FAQ' in the subject of messages sent to us about the FAQ list.
30 22
31Please do not send questions to us just because you do not want to disturb a 23It has been so long since the FAQ was last edited and released that the
32lot of people and you think we would know the answer. We do not have time to 24maintainers decided to take a two-step approach. This edition corrects
33answer questions individually. :-( 25many basic inaccuracies in the old FAQ, most of them having to do with ftp
26sites and version numbers. In addition, we have deleted a number of
27questions that are no longer relevant with the release of GNU Emacs 19.
34 28
35Full instructions for getting the latest FAQ are in question 22. Also 29Many questions specific to recent releases of GNU Emacs 19 remain
36see the `Introduction to news.answers' posting in the `news.answers' 30unanswered in this version of the FAQ; the maintainers will spend time over
37newsgroup, or send e-mail to `mail-server@rtfm.mit.edu' with `help' on 31the next month or two adding new questions (and answers), based in no small
38a body line, or use FTP, WAIS, or Prospero to rtfm.mit.edu. [Note: in 32part on the questions that have come across help-gnu-emacs in recent
39Sep 1994, this seems no longer to be true--rms.] 33months.
40 34
41These ideas have already been suggested, but we have not had time to 35There is no diff file for this version of the FAQ, as many things have
42implement them: 36changed since it was last updated.
43 37
44 * A Texinfo version. 38Please suggest new questions, answers, wording changes, deletions, etc.
45 * Marking questions in the table of contents that have been changed 39The most helpful form for suggestions is a context diff (i.e., the output
46 recently. 40of `diff -c'). Include `FAQ' in the subject of messages sent to us about
41the FAQ list.
47 42
48-- 43Please do not send questions to us just because you do not want to disturb
49Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>) 44a lot of people and you think we would know the answer. We do not have
45time to answer questions individually. :-(
50 46
51E-mail lpf@uunet.uu.net for details about the League for Programming Freedom. 47--
48Reuven M. Lerner <reuven@the-tech.mit.edu> and the FAQ team (a full list is
49at the bottom of the FAQ).
52 50
53---------------------------------------------------------------------- 51----------------------------------------------------------------------
54 52
55 GNU Emacs FAQ: Table of Contents
56
57Notation Used in FAQ 53Notation Used in FAQ
58 54
591: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? 551: What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
@@ -64,7 +60,7 @@ Notation Used in FAQ
64 60
65General Questions 61General Questions
66 62
676: What is the LPF and why should I join it? 636: What is the LPF?
687: What is the real legal meaning of the GNU copyleft? 647: What is the real legal meaning of the GNU copyleft?
698: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, 658: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug,
70 comp.emacs, etc.? 66 comp.emacs, etc.?
@@ -90,298 +86,267 @@ Status of Emacs
90 86
9123: Where does the name "Emacs" come from? 8723: Where does the name "Emacs" come from?
9224: What is the latest version of GNU Emacs? 8824: What is the latest version of GNU Emacs?
9325: When will GNU Emacs 19 be available? 8925: What is different about GNU Emacs 19?
9426: What is different about GNU Emacs 19? 90
9527: What variants of GNU Emacs exist? 91Common Things People Want To Do
96 92
97Common Things People Want To Do 9326: How do I set up a .emacs file properly?
98 9427: How do I debug a .emacs file?
9928: How do I set up a .emacs file properly? 9528: How do I make Emacs display the current line (or column) number?
10029: How do I debug a .emacs file? 9629: How do I turn on abbrevs by default just in mode XXX?
10130: How do I make Emacs display the current line (or column) number? 9730: How do I turn on auto-fill mode by default?
10231: How do I turn on Abbrevs by default just in mode XXX? 9831: How do I make Emacs use a certain major mode for certain files?
10332: How do I turn on Auto-Fill mode by default? 9932: How do I search for, delete, or replace unprintable (8-bit or control)
10433: How do I make Emacs use a certain major mode for certain files?
10534: How do I search for, delete, or replace unprintable (8-bit or control)
106 characters? 100 characters?
10735: How can I highlight a region of text in Emacs? 10133: How can I highlight a region of text in Emacs?
10836: How do I control Emacs's case-sensitivity when searching/replacing? 10234: How do I control Emacs's case-sensitivity when searching/replacing?
10937: How do I make Emacs wrap words for me? 10335: How do I make Emacs wrap words for me?
11038: Where can I get a better spelling checker for Emacs? 10436: Where can I get a better spelling checker for Emacs?
11139: How can I spell-check TeX or *roff documents? 10537: How can I spell-check TeX or *roff documents?
11240: How do I change load-path? 10638: How do I change load-path?
11341: How do I use an already running Emacs from another window? 10739: How do I use an already running Emacs from another window?
11442: How do I make Emacs recognize my compiler's funny error messages? 10840: How do I make Emacs recognize my compiler's funny error messages?
11543: How do I indent switch statements like this? 10941: How do I indent switch statements like this?
11644: How can I make Emacs automatically scroll horizontally? 11042: How can I make Emacs automatically scroll horizontally?
11745: How do I make Emacs "typeover" or "overwrite" instead of inserting? 11143: How do I make Emacs "typeover" or "overwrite" instead of inserting?
11846: How do I stop Emacs from beeping on a terminal? 11244: How do I stop Emacs from beeping on a terminal?
11947: How do I turn down the bell volume in Emacs running under X Windows? 11345: How do I turn down the bell volume in Emacs running under X Windows?
12048: How do I tell Emacs to automatically indent a new line to the 11446: How do I tell Emacs to automatically indent a new line to the
121 indentation of the previous line? 115 indentation of the previous line?
12249: How do I show which parenthesis matches the one I'm looking at? 11647: How do I show which parenthesis matches the one I'm looking at?
12350: In C mode, can I show just the lines that will be left after #ifdef 11748: In C mode, can I show just the lines that will be left after #ifdef
124 commands are handled by the compiler? 118 commands are handled by the compiler?
12551: Is there an equivalent to the `.' (dot) command of vi? 11949: Is there an equivalent to the `.' (dot) command of vi?
12652: What are the valid X resource settings (ie., stuff in .Xdefaults)? 12050: What are the valid X resource settings (i.e., stuff in .Xdefaults)?
12753: How do I execute a piece of Emacs Lisp code? 12151: How do I execute a piece of Emacs Lisp code?
12854: How do I change Emacs's idea of the tab character's length? 12252: How do I change Emacs's idea of the tab character's length?
12955: How do I insert `>' at the beginning of every line? 12353: How do I insert `>' at the beginning of every line?
13056: How do I insert `_^H' before each character in a paragraph to get an 12454: How do I insert `_^H' before each character in a paragraph to get an
131 underlined paragraph? 125 underlined paragraph?
13257: How do I repeat a command as many times as possible? 12655: How do I repeat a command as many times as possible?
13358: How do I make Emacs behave like this: when I go up or down, the cursor 12756: How do I make Emacs behave like this: when I go up or down, the cursor
134 should stay in the same column even if the line is too short? 128 should stay in the same column even if the line is too short?
13559: How do I tell Emacs to iconify itself? 12957: How do I tell Emacs to iconify itself?
13660: How do I use regexps (regular expressions) in Emacs? 13058: How do I use regexps (regular expressions) in Emacs?
13761: How do I perform a replace operation across more than one file? 13159: How do I perform a replace operation across more than one file?
13862: Where is the documentation for `etags'? 13260: Where is the documentation for `etags'?
139 133
140Bugs/Problems 134Bugs/Problems
141 135
14263: Does Emacs have problems with files larger than 8 megabytes? 13661: Does Emacs have problems with files larger than 8 megabytes?
14364: Why can't Emacs find files in current directory on startup? 13762: How do I get rid of the ^M junk in my shell buffer?
14465: How do I get rid of the ^M junk in my Shell buffer? 13863: Why do I get `Process shell exited abnormally with code 1'?
14566: Why do I get `Process shell exited abnormally with code 1'? 13964: Where is the termcap/terminfo entry for terminal type `emacs'?
14667: Why can't I cut from Emacs and paste in other X programs? 14065: Why does Emacs spontaneously start displaying `I-search:' and beeping?
14768: Where is the termcap/terminfo entry for terminal type `emacs'? 14166: Why can't Emacs talk to certain hosts (or certain hostnames)?
14869: Why does Emacs spontaneously start displaying `I-search:' and beeping? 14267: Why does Emacs say `Error in init file'?
14970: Why can't Emacs talk to certain hosts (or certain hostnames)? 14368: Why does Emacs ignore my X resources (my .Xdefaults file)?
15071: Why does Emacs say `Error in init file'? 14469: Why does Emacs take 20 seconds to visit a file?
15172: Why does Emacs ignore my X resources (my .Xdefaults file)? 14570: How do I edit a file with a `$' in its name?
15273: Why does Emacs take 20 seconds to visit a file? 14671: Why does shell mode lose track of the shell's current directory?
15374: How do I edit a file with a `$' in its name? 14772: Are there any security risks in GNU Emacs?
15475: Why does Shell mode lose track of the shell's current directory?
15576: Why doesn't my change to load-path work?
15677: Why does the cursor always go to the wrong column when I move up or
157 down one line?
15878: Why does Emacs hang with message `Unknown XMenu error' with X11R4?
15979: Why doesn't display-time show the load average in the mode line
160 anymore?
16180: Why does ispell sometimes ignore the local dictionary?
16281: Why does Ispell treat each line as a single word?
16382: Are there any security risks in GNU Emacs?
164 148
165Difficulties Building/Installing/Porting Emacs 149Difficulties Building/Installing/Porting Emacs
166 150
16783: What should I do if I have trouble building Emacs? 15173: What should I do if I have trouble building Emacs?
16884: How do I stop Emacs from failing when the executable is stripped? 15274: How do I stop Emacs from failing when the executable is stripped?
16985: Why does linking Emacs with -lX11 fail? 15375: Why does linking Emacs with -lX11 fail?
17086: Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1?
171 154
172Finding/Getting Emacs and Related Packages 155Finding/Getting Emacs and Related Packages
173 156
17487: Where can I get GNU Emacs on the net (or by snail mail)? 15776: Where can I get GNU Emacs on the net (or by snail mail)?
17588: How do I find a GNU Emacs Lisp package that does XXX? 15877: How do I find a GNU Emacs Lisp package that does XXX?
17689: Where can I get GNU Emacs Lisp packages that don't come with Emacs? 15978: Where can I get GNU Emacs Lisp packages that don't come with Emacs?
17790: How do I submit code to the Emacs Lisp Archive? 16079: How do I submit code to the Emacs Lisp Archive?
17891: Where can I get other up-to-date GNU stuff? 16180: Where can I get other up-to-date GNU stuff?
17992: Where can I get an Emacs with better mouse and X window support? 16281: What is the difference between GNU Emacs and Epoch?
18093: What is the difference between GNU Emacs and Epoch? 16382: What is the difference between GNU Emacs and XEmacs (formerly "Lucid
18194: What is the difference between GNU Emacs and Lucid GNU Emacs? 164 Emacs")?
18295: Where can I get the "unofficial HP GNU Emacs"? 16583: Where can I get Emacs for my PC running MS-DOS?
18396: Where can I get Emacs for my PC running MS-DOS? 16684: Where can I get Emacs for my PC running Microsoft Windows?
18497: Where can I get Emacs for my PC running Windows? 16785: Where can I get Emacs for my PC running OS/2?
18598: Where can I get Emacs for my PC running OS/2? 16886: Where can I get Emacs for my Atari ST?
18699: Where can I get Emacs for my Atari ST? 16987: Where can I get Emacs for my Amiga?
187100: Where can I get Emacs for my Amiga? 17088: Where can I get Emacs for my Apple computer?
188101: Where can I get Emacs for my Apple computer? 17189: Where do I get Emacs that runs on VMS under DECwindows?
189102: Where can I get Emacs with NeWS support? 17290: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++,
190103: Where do I get Emacs that runs on VMS under DECwindows? 173 Objective C, Pascal, and Awk?
191104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++, 17491: What is the IP address of XXX.YYY.ZZZ?
192 Objective C, Pascal, Awk?
193105: What is the IP address of XXX.YYY.ZZZ?
194 175
195Major Emacs Lisp Packages, Emacs Extensions, and Related Programs 176Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
196 177
197106: VM (View Mail) -- another mail reader within Emacs 17892: VM (View Mail) -- another mail reader within Emacs
198107: Supercite -- mail and news citation package within Emacs 17993: Supercite -- mail and news citation package within Emacs
199108: GNUS -- news reader within Emacs 18094: Gnus -- news reader within Emacs
200109: Calc -- poor man's Mathematica within Emacs 18195: Calc -- poor man's Mathematica within Emacs
201110: Calendar/Diary -- calendar manager within Emacs 18296: Ange-FTP -- transparent FTP access for Emacs's file access routines
202111: Ange-FTP -- transparent FTP access for Emacs's file access routines 18397: VIP -- vi emulation for Emacs
203112: VIP -- vi emulation for Emacs 18498: AUC TeX -- enhanced LaTeX mode with debugging facilities
204113: Dired -- better directory editor for Emacs 18599: Hyperbole -- extensible hypertext management system within Emacs
205114: AUC TeX -- enhanced LaTeX mode with debugging facilities 186100: BBDB -- personal Info Rolodex integrated with mail/news readers
206115: Hyperbole -- extensible hypertext management system within Emacs 187101: Ispell -- spell checker in C with interface for Emacs
207116: Byte Compiler -- enhanced version of Emacs's byte compiler 188102: XEmacs -- alternative Emacs 19 with better X interface; formerly
208117: comint -- hugely enhanced shell mode and other derived modes 189 known as Lucid Emacs or lemacs.
209118: BBDB -- personal info rolodex integrated with mail/news readers 190103: Patch -- program to apply "diffs" for updating files
210119: Ispell -- spell checker in C with interface for Emacs
211120: Epoch -- enhanced GNU Emacs with better X interface
212121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface
213122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines
214123: Freemacs -- a small Emacs for MS-DOS
215124: Patch -- program to apply "diffs" for updating files
216 191
217Changing Key Bindings and Handling Key Binding Problems 192Changing Key Bindings and Handling Key Binding Problems
218 193
219125: How do I bind keys (including function keys) to commands? 194104: How do I bind keys (including function keys) to commands?
220126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? 195105: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
221127: Why doesn't this [terminal or window-system setup] code work in my 196106: Why doesn't this [terminal or window-system setup] code work in my
222 .emacs file, but it works just fine after Emacs starts up? 197 .emacs file, but it works just fine after Emacs starts up?
223128: How do I use function keys under X Windows? 198107: How do I use function keys under X Windows?
224129: How do I tell what characters my function or arrow keys emit? 199108: How do I tell what characters or symbols my function or arrow keys
225130: How do I set the X key "translations" for Emacs? 200 emit?
226131: How do I handle C-s and C-q being used for flow control? 201109: How do I set the X key "translations" for Emacs?
227132: How do I use commands bound to C-s and C-q (or any key) if these keys 202110: How do I handle C-s and C-q being used for flow control?
228 are filtered out? 203111: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered
229133: Why does the `BackSpace' key invoke help? 204 out?
230134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? 205112: Why does the `Backspace' key invoke help?
231135: Why don't the arrow keys work? 206113: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
232136: How do I "swap" two keys? 207114: How do I "swap" two keys?
233137: How do I produce C-XXX with my keyboard? 208115: How do I produce C-XXX with my keyboard?
234138: What if I don't have a Meta key? 209116: What if I don't have a Meta key?
235139: What if I don't have an Escape key? 210117: What if I don't have an Escape key?
236140: How do I type DEL on PC terminal emulators? 211118: Can I make my `Compose Character' key behave like a Meta key?
237141: Can I make my `Compose Character' key behave like a Meta key? 212119: How do I bind a combination of modifier key and function key?
238142: How do I bind a combination of modifier key and function key? 213120: Why doesn't my Meta key work in an xterm window?
239143: Why doesn't my Meta key work in an xterm window? 214121: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
240144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? 215122: Where can I get key bindings to make Emacs emulate WordStar?
241145: Where can I get key bindings to make Emacs emulate WordStar? 216123: Where can I get an XEDIT emulator for Emacs?
242146: Where can I get an XEDIT emulator for Emacs?
243 217
244Using Emacs with Alternate Character Sets 218Using Emacs with Alternate Character Sets
245 219
246147: How do I make Emacs display 8-bit characters? 220124: How do I make Emacs display 8-bit characters?
247148: How do I input 8-bit characters? 221125: How do I input 8-bit characters?
248149: Where can I get an Emacs that can handle kanji characters? 222126: Where can I get an Emacs that can handle kanji characters?
249150: Where can I get an Emacs that can handle Chinese? 223127: Where can I get an Emacs that can handle Chinese?
250151: Where is an Emacs that can handle Semitic (right-to-left) alphabets? 224128: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
251 225
252Mail and News 226Mail and News
253 227
254152: How do I change the included text prefix in mail/news followups? 228129: How do I change the included text prefix in mail/news followups?
255153: How do I save a copy of outgoing mail? 229130: How do I save a copy of outgoing mail?
256154: Why doesn't Emacs expand my aliases when sending mail? 230131: Why doesn't Emacs expand my aliases when sending mail?
257155: Why does RMAIL think all my saved messages are one big message? 231132: Why does Rmail think all my saved messages are one big message?
258156: How can I sort the messages in my RMAIL folder? 232133: How can I sort the messages in my Rmail folder?
259157: Why does RMAIL need to write to /usr/spool/mail? 233134: Why does Rmail need to write to /usr/spool/mail?
260158: How do I recover my mail files after RMAIL munges their format? 234135: How do I recover my mail files after Rmail munges their format?
261159: How do I make Emacs automatically start my mail/news reader? 235136: How do I make Emacs automatically start my mail/news reader?
262160: How do I read news under Emacs? 236137: How do I read news under Emacs?
263161: Why does `rnews' say "No News is good news" when there is news? 237138: Why doesn't Gnus work via NNTP?
264162: Why doesn't GNUS work anymore via NNTP? 238139: How do I view text with embedded underlining (e.g., ClariNews)?
265163: How do I view text with embedded underlining (eg., ClariNews)? 239140: How do I save all the items of a multi-part posting in Gnus?
266164: When I try to post a long article in GNUS (about 10K or longer), I get 240141: Why does Gnus put the subjects in replies beyond the 80th column?
267 the error, "Writing to process: no more processes, nntpd" 241142: How do I make Gnus start up faster?
268165: How do I save all the items of a multi-part posting in GNUS? 242143: How do I catch up all newsgroups in Gnus?
269166: Why does GNUS put the subjects in replies beyond the 80th column? 243144: Why can't I kill in Gnus on the Newsgroups/Keywords/Control line?
270167: Why is GNUS so slow to start up? 244145: How do I get rid of flashing messages in Gnus for slow connections?
271168: How do I catch up all newsgroups in GNUS? 245146: Why is catch up slow in Gnus?
272169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line? 246147: Why does Gnus hang for a long time when posting?
273170: How do I get rid of flashing messages in GNUS for slow connections? 247148: Why don't my news postings in Gnus get past the local machine?
274171: Why is catch up slow in Gnews/GNUS? 248149: Why doesn't Gnus generate the `Lines:' header?
275172: Why does GNUS hang for a long time when posting? 249150: How do I kill all articles in Gnus but those matching a pattern?
276173: Why don't my news postings in GNUS get past the local machine? 250
277174: Why is the GNUS-generated `Date:' header invalid? 251------------------------------------------------------------
278175: Why doesn't GNUS generate the `Lines:' header? 252
279176: Why do I get "Cannot open load file" "nntp" when compiling GNUS? 253If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x
280177: How do I kill all articles in GNUS but those matching a pattern? 254$" to get an overview of just the questions. Then, when you want to look
281 255at the text of the answers, just type "C-x $".
282 256
283 GNU Emacs FAQ: Notation/General/Help/Status 257To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
284 258C-r if that doesn't work, then type ESC to end the search.
285If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to 259
286get an overview of just the questions. Then, when you want to look at the text 260Full instructions for getting the latest FAQ are in question 22, or use
287of the answers, just type "C-x $". 261anonymous FTP to the-tech.mit.edu.
288
289To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if
290that doesn't work, then type ESC to end the search.
291
292A `+' in the 78th column means something was inserted on the line. A `-' means
293something was deleted and a `!' means some combination of insertions and
294deletions occurred.
295
296Full instructions for getting the latest FAQ are in question 22. Also see the
297`Introduction to news.answers' posting in the `news.answers' newsgroup, or send
298e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
299WAIS, or Prospero to rtfm.mit.edu.
300
301
302 262
303Notation Used in FAQ 263Notation Used in FAQ
304 264
305 Skip this section and then come back if you don't understand some of the 265 Skip this section and then come back if you don't understand some of the
306 later answers. 266 later answers.
307 267
3081: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? 2681: What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
309 269
310 C-x means press the `x' key while holding down the Control key. M-x means 270 C-x means press the `x' key while holding down the Control key. M-x
311 press the `x' key while holding down the Meta key. M-C-x means press the 271 means press the `x' key while holding down the Meta key. M-C-x means
312 `x' key while holding down both the Control key and the Meta key. C-M-a 272 press the `x' key while holding down both the Control key and the Meta
313 is a synonym for M-C-a. RET, LFD, DEL, ESC, and TAB respectively refer to 273 key. C-M-a is a synonym for M-C-a. RET, LFD, DEL, ESC, and TAB
314 pressing the Return, Linefeed (aka Newline), Delete, Escape, and Tab keys 274 respectively refer to pressing the Return, Linefeed (aka Newline),
315 and are equivalent to C-m, C-j, C-?, C-[, and C-i. SPC means press the 275 Delete, Escape, and Tab keys and are equivalent to C-m, C-j, C-?, C-[,
316 Space bar. 276 and C-i. SPC means press the Space bar.
317 277
318 I put any key sequence that is longer than one key (and some single-key 278 Key sequences longer than one key (and some single-key sequences) are
319 sequences) inside double quotes or on a line by itself. Any real spaces 279 inside double quotes or on lines by themselves. Any real spaces in such
320 in such a key sequence should be ignored; only SPC really means press the 280 a key sequence should be ignored; only SPC really means press the space
321 space key. 281 key.
322 282
323 The ASCII code sent by C-x (except for C-?) is the value that would be 283 The ASCII code sent by C-x (except for C-?) is the value that would be
324 sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be 284 sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be
325 from 0 to 31. The ASCII code sent by M-x is the sum of 128 and the ASCII 285 from 0 to 31. The ASCII code sent by M-x is the sum of 128 and the ASCII
326 code that would be sent by pressing just the `x' key. Essentially, the 286 code that would be sent by pressing just the `x' key. Essentially, the
327 Control key turns off bits 5 and 6 and the Meta key turns on bit 7. 287 Control key turns off bits 5 and 6 and the Meta key turns on bit 7.
328 288
329 For further information, see `Characters' and `Keys' in the online manual. 289 For further information, see `Characters' and `Keys' in the on-line
330 290 manual.
331 NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a 291
292 NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a
332 "control" key, since 127 has both bits 5 and 6 turned ON. Also, on very 293 "control" key, since 127 has both bits 5 and 6 turned ON. Also, on very
333 few keyboards does Control-? generate ASCII code 127. 294 few keyboards does Control-? generate ASCII code 127.
334 295
3352: What does "M-x command" mean? 2962: What does "M-x command" mean?
336 297
337 "M-x command" means type M-x, then type the name of the command, then 298 "M-x command" means type M-x, then type the name of the command, then
338 type RET. 299 type RET.
339 300
340 M-x (by default) invokes the command `execute-extended-command'. This 301 M-x (by default) invokes the command `execute-extended-command'. This
341 command allows you to run any Emacs command if you can remember the 302 command allows you to run any Emacs command if you can remember the
342 command's name. If you can't remember the command's name, you can type 303 command's name. If you can't remember the command's name, you can type
343 TAB and SPC for completion, and "?" for a list of possibilities. An Emacs 304 TAB and SPC for completion, "?" for a list of possibilities, and M-p and
344 "command" is any "interactive" Emacs function. 305 M-n to see previous commands entered. An Emacs "command" is any
345 306 "interactive" Emacs function.
307
346 NOTE: Your system administrator may have bound other key sequences to 308 NOTE: Your system administrator may have bound other key sequences to
347 invoke execute-extended-command. A function key labeled `Do' is a good 309 invoke execute-extended-command. A function key labeled `Do' is a good
348 candidate for this. 310 candidate for this.
349 311
350 To run non-interactive Emacs functions, see question 53. 312 To run non-interactive Emacs functions, see question 51.
351 313
3523: How do I read topic XXX in the on-line manual? 3143: How do I read topic XXX in the on-line manual?
353 315
354 When I refer you to topic XXX in the on-line manual, you can read this 316 When we refer you to topic XXX in the on-line manual, you can read this
355 manual node inside Emacs (assuming nothing is broken) by typing this: 317 manual node inside Emacs (assuming nothing is broken) by typing this:
356 318
357 C-h i m emacs RET m XXX RET 319 C-h i m emacs RET m XXX RET
358 320
359 This invokes the Info facility. If you don't already know how to use 321 This invokes Info, the GNU hypertext documentation browser. If you don't
360 Info, type "?" from within Info. 322 already know how to use Info, type "?" from within Info.
361 323
362 If I refer you to topic XXX:YYY, you need to type this: 324 If we refer to topic XXX:YYY, type this:
363 325
364 C-h i m emacs RET m XXX RET m YYY RET 326 C-h i m emacs RET m XXX RET m YYY RET
365 327
366 WARNING: Your system administrator may not have installed the Info files, 328 WARNING: Your system administrator may not have installed the Info files,
367 or may have installed them properly. In this case you should complain. 329 or may have installed them improperly. In this case you should complain.
368 330
3694: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? 3314: What do these mean: etc/SERVICE, src/config.h, lisp/default.el?
370 332
371 These are files that come with GNU Emacs. The GNU Emacs distribution is 333 These are files that come with GNU Emacs. The GNU Emacs distribution is
372 divided into subdirectories; the important ones are `etc', `lisp', and 334 divided into subdirectories; the important ones are `etc', `lisp', and
373 `src'. 335 `src'.
374 336
375 If you use GNU Emacs, but don't know where it is kept on your system, 337 If you use GNU Emacs, but don't know where it is kept on your system,
376 start Emacs, then type "C-h v exec-directory RET". The directory name 338 start Emacs, then type "C-h v data-directory RET". The directory name
377 displayed by this will be the full pathname of the installed `etc' 339 displayed by this will be the full pathname of the installed `etc'
378 directory. 340 directory.
379 341
380 Some of these files are available individually via FTP or e-mail, see 342 Some of these files are available individually via FTP or e-mail; see
381 question 20. All are available in the source distribution. 343 question 20. All are available in the source distribution.
382 344
345 WARNING: Your system administrator may have removed the src directory and
346 many files from the etc directory.
347
3835: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? 3485: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL?
384 349
385 FSF == Free Software Foundation 350 FSF == Free Software Foundation
386 LPF == League for Programming Freedom 351 LPF == League for Programming Freedom
387 OSF == Open Software Foundation 352 OSF == Open Software Foundation
@@ -389,1032 +354,827 @@ Notation Used in FAQ
389 RMS == Richard Matthew Stallman 354 RMS == Richard Matthew Stallman
390 FTP == File Transfer Protocol 355 FTP == File Transfer Protocol
391 GPL == GNU General Public Licence 356 GPL == GNU General Public Licence
392 357
393 NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF opposes 358 NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF opposes
394 look-and-feel copyrights and software patents. The FSF aims to make high 359 look-and-feel copyrights and software patents. The FSF aims to make high
395 quality free software available for everyone. The OSF is a commercial 360 quality free software available for everyone. The OSF is a consortium of
396 organization which wants to provide an alternative, standardized version 361 computer vendors which develops commercial software for Unix systems.
397 of Unix not controlled by AT&T. 362
398
399 NOTE: The word "free" in the title of the Free Software Foundation refers 363 NOTE: The word "free" in the title of the Free Software Foundation refers
400 to "freedom", not "zero dollars". Anyone can charge any price for 364 to "freedom," not "zero dollars." Anyone can charge any price for
401 GPL-covered software that they want to. However, in practice, the freedom 365 GPL-covered software that they want to. However, in practice, the
402 enforced by the GPL leads to low prices, because you can always get the 366 freedom enforced by the GPL leads to low prices, because you can always
403 software for less money from someone else, because everyone has the right 367 get the software for less money from someone else, because everyone has
404 to resell or give away GPL-covered software. 368 the right to resell or give away GPL-covered software.
405
406 369
407 370
408General Questions 371General Questions
409 372
4106: What is the LPF and why should I join it? 3736: What is the LPF?
411 374
412 The LPF opposes the expanding danger of software patents and look-and-feel 375 The LPF opposes the expanding danger of software patents and
413 copyrights. To get more information, feel free to contact the LPF via 376 look-and-feel copyrights. To get more information, feel free to contact
414 e-mail or otherwise. {You may also contact me, jbw@cs.bu.edu; I will be 377 the LPF via e-mail or otherwise. You may also contact Joe Wells
415 happy to talk with you about the LPF.} Here is the contact information: 378 <jbw@cs.bu.edu>; he will be happy to talk with you about the LPF.
416 379
417 E-mail address: league@prep.ai.mit.edu 380 You can find more information about the LPF in the file etc/LPF. More
418 Phone number: (617) 243-4091 381 papers describing the LPF's views are available on the Internet and also
419 Postal address:
420 League for Programming Freedom
421 1 Kendall Square, Number 143
422 Post Office Box 9171
423 Cambridge, MA 02139, USA
424
425 Papers describing the LPF's views are available on the internet and also
426 from the LPF: 382 from the LPF:
427 383
428 Anonymous FTP: 384 Anonymous FTP:
429 /prep.ai.mit.edu:/pub/lpf/ 385 /prep.ai.mit.edu:pub/lpf/
430 /archive.cis.ohio-state.edu:pub/lpf/ 386 /archive.cis.ohio-state.edu:pub/lpf/
431 Anonymous UUCP: 387 Anonymous UUCP:
432 osu-cis!~/lpf/* 388 osu-cis!~/lpf/*
433 389
4347: What is the real legal meaning of the GNU copyleft? 3907: What is the real legal meaning of the GNU copyleft?
435 391
436 The real legal meaning of the GNU General Public Licence (copyleft) is 392 The real legal meaning of the GNU General Public Licence (copyleft) will
437 however it is interpreted by a judge. There has never been a copyright 393 only be known if and when a judge rules on its validity and scope. There
438 infringement case involving the GPL to set any precedents. Please take any 394 has never been a copyright infringement case involving the GPL to set any
439 discussion regarding this issue to the newsgroup gnu.misc.discuss, which 395 precedents. Please take any discussion regarding this issue to the
440 was created to hold the extensive flame wars on the subject. 396 newsgroup gnu.misc.discuss, which was created to hold the extensive flame
441 397 wars on the subject.
398
442 RMS writes: 399 RMS writes:
443 400
444 The legal meaning of the GNU copyleft is less important than the spirit, 401 The legal meaning of the GNU copyleft is less important than the
445 which is that Emacs is a free software project and that work pertaining 402 spirit, which is that Emacs is a free software project and that work
446 to Emacs should also be free software. "Free" means that all users have 403 pertaining to Emacs should also be free software. "Free" means that
447 the freedom to study, share, change and improve Emacs. To make sure 404 all users have the freedom to study, share, change and improve Emacs.
448 everyone has this freedom, pass along source code when you distribute 405 To make sure everyone has this freedom, pass along source code when you
449 any version of Emacs or a related program, and give the recipients the 406 distribute any version of Emacs or a related program, and give the
450 same freedom that you enjoyed. 407 recipients the same freedom that you enjoyed.
451 408
4528: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, 4098: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug,
453 comp.emacs, etc.? 410 comp.emacs, etc.?
454 411
455 The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list. 412 The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list.
456 (See question 20 on how to get a copy.) For those which are gatewayed 413 (See question 20 on how to get a copy.) For those which are gatewayed
457 with newsgroups, it lists both the newsgroup name and the mailing list 414 with newsgroups, it lists both the newsgroup name and the mailing list
458 address. 415 address.
459 416
460 comp.emacs is for discussion of Emacs programs in general. This 417 comp.emacs is for discussion of Emacs programs in general. This includes
461 includes GNU Emacs along with various other implementations like JOVE, 418 GNU Emacs along with various other implementations like JOVE, MicroEmacs,
462 MicroEmacs, Freemacs, MG, Unipress, CCA, Epsilon, etc. 419 Freemacs, MG, Unipress, CCA, and Epsilon..
463 420
464 Many people post GNU Emacs questions to comp.emacs because they don't 421 Many people post GNU Emacs questions to comp.emacs because they don't
465 receive any of the gnu.* newsgroups. Arguments have been made both for 422 receive any of the gnu.* newsgroups. Arguments have been made both for
466 and against posting GNU-Emacs-specific material to comp.emacs. You have 423 and against posting GNU-Emacs-specific material to comp.emacs. You have
467 to decide for yourself. 424 to decide for yourself.
468 425
469 Messages advocating "non-free" software are considered unacceptable on any 426 Messages advocating "non-free" software are considered unacceptable on
470 of the gnu.* newsgroups except for gnu.misc.discuss, which was created to 427 any of the gnu.* newsgroups except for gnu.misc.discuss, which was
471 hold the extensive flame-wars on the subject. "non-free" software 428 created to hold the extensive flame-wars on the subject. "non-free"
472 includes any software for which the end user can't freely modify the 429 software includes any software for which the end user can't freely modify
473 source code and exchange enhancements. Be careful to remove the gnu.* 430 the source code and exchange enhancements. Be careful to remove the
474 groups from the `Newsgroups:' line when posting a followup that recommends 431 gnu.* groups from the `Newsgroups:' line when posting a followup that
475 such software. 432 recommends such software.
476 433
477 gnu.emacs.bug is a place where bug reports appear, but avoid posting bug 434 gnu.emacs.bug is a place where bug reports appear, but avoid posting bug
478 reports to this newsgroup, instead see question 10. 435 reports to this newsgroup (see question 10).
479 436
4809: Where can I get old postings to gnu.emacs.help and other GNU groups? 4379: Where can I get old postings to gnu.emacs.help and other GNU groups?
481 438
482 The FSF has maintained archives of all of the GNU mailing lists for many 439 The FSF has maintained archives of all of the GNU mailing lists for many
483 years, although there may be some unintentional gaps in coverage. The 440 years, although there may be some unintentional gaps in coverage. The
484 archive is not particularly well organized or easy to retrieve individual 441 archive is not particularly well organized or easy to retrieve individual
485 postings from, but pretty much everything is there. 442 postings from, but pretty much everything is there. The archive is
486 443 available via anonymous ftp at
487 Anonymous FTP: 444
488 /prep.ai.mit.edu:/pub/gnu/MailingListArchives/ 445 /prep.ai.mit.edu:pub/gnu/MailingListArchives/
489 446
490 There is a WAIS database named `comp.emacs' on wais.oit.unc.edu that
491 makes available the last few days of articles in comp.emacs.
492
49310: Where should I report bugs and other problems with GNU Emacs? 44710: Where should I report bugs and other problems with GNU Emacs?
494 448
495 The correct way to report GNU Emacs bugs is by e-mail to 449 The correct way to report GNU Emacs bugs is by e-mail to
496 bug-gnu-emacs@prep.ai.mit.edu. Anything sent here also appears in the 450 bug-gnu-emacs@prep.ai.mit.edu. Anything sent here also appears in the
497 newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit 451 newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit
498 the bug report. This way a reliable return address is available so you 452 the bug report. This way a reliable return address is available so you
499 can be contacted for further details. 453 can be contacted for further details.
500 454
501 RMS explains: 455 RMS explains:
502 456
503 Sending bug reports to help-gnu-emacs (which has the effect of posting 457 Sending bug reports to help-gnu-emacs (which has the effect of posting
504 on gnu.emacs.help) is undesirable because it takes the time of an 458 on gnu.emacs.help) is undesirable because it takes the time of an
505 unnecessarily large group of people, most of whom are just users and 459 unnecessarily large group of people, most of whom are just users and
506 have no idea how to fix these problem. bug-gnu-emacs reaches a much 460 have no idea how to fix these problem. bug-gnu-emacs reaches a much
507 smaller group of people who are more likely to know what to do and have 461 smaller group of people who are more likely to know what to do and have
508 expressed a wish to receive more messages about Emacs than the others. 462 expressed a wish to receive more messages about Emacs than the others.
509 463
510 However, RMS says there are circumstances when it is okay to post to 464 However, RMS says there are circumstances when it is okay to post to
511 gnu.emacs.help: 465 gnu.emacs.help:
512 466
513 If you have reported a bug and you don't hear about a possible fix, then 467 If you have reported a bug and you don't hear about a possible fix,
514 after a suitable delay (such as a week) it is okay to post on 468 then after a suitable delay (such as a week) it is okay to post on
515 gnu.emacs.help asking if anyone can help you. 469 gnu.emacs.help asking if anyone can help you.
516 470
517 If you are unsure whether you have a bug, RMS describes how to tell: 471 If you are unsure whether you have a bug, RMS describes how to tell:
518 472
519 ... if Emacs crashes, that is a bug. If Emacs gets compilation errors 473 ... if Emacs crashes, that is a bug. If Emacs gets compilation errors
520 while building, that is a bug. If Emacs crashes while building, that is 474 while building, that is a bug. If Emacs crashes while building, that
521 a bug. If Lisp code does not do what the documentation says it does, 475 is a bug. If Lisp code does not do what the documentation says it
522 that is a bug. 476 does, that is a bug.
523 477
52411: How do I unsubscribe to this mailing list? 47811: How do I unsubscribe to this mailing list?
525 479
526 If you are receiving a GNU mailing list named `XXX', you might be able 480 If you are receiving a GNU mailing list named `XXX', you might be able to
527 to unsubscribe to it by sending a request to the address 481 unsubscribe to it by sending a request to the address
528 `XXX-request@prep.ai.mit.edu'. However, this will not work if you are 482 `XXX-request@prep.ai.mit.edu'. However, this will not work if you are
529 not listed on the main mailing list, but instead receive the mail from a 483 not listed on the main mailing list, but instead receive the mail from a
530 distribution point. In that case, you will have to track down at which 484 distribution point. In that case, you will have to track down at which
531 distribution point you are listed. Inspecting the `Received:' headers 485 distribution point you are listed. Inspecting the `Received:' headers on
532 on the mail messages may help, along with liberal use of the `EXPN' or 486 the mail messages may help, along with liberal use of the `EXPN' or
533 `VRFY' sendmail commands through `telnet <site-address> smtp'. Ask your 487 `VRFY' sendmail commands through `telnet <site-address> smtp'. Ask your
534 postmaster for help. 488 postmaster for help.
535 489
53612: What is the current address of the FSF? 49012: What is the current address of the FSF?
537 491
538 E-mail address: gnu@prep.ai.mit.edu 492 E-mail address: gnu@prep.ai.mit.edu
539 Phone number: (617) 876-3296 493 Phone number: (617) 876-3296
540 Postal address: 494 Postal address:
541 Free Software Foundation, Inc. 495 Free Software Foundation, Inc.
542 675 Massachusetts Avenue 496 675 Massachusetts Avenue
543 Cambridge, MA 02139, USA 497 Cambridge, MA 02139, USA
544 498
499 For details on how to order, see the file etc/ORDERS.
545 500
546 501
547On-line Help, Printed Manuals, Other Sources of Help 502On-line Help, Printed Manuals, Other Sources of Help
548 503
54913: I'm just starting GNU Emacs; how do I do basic editing? 50413: I'm just starting GNU Emacs; how do I do basic editing?
550 505
551 Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is 506 Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is how
552 how to enter the help system. 507 to enter the help system.
553 508
554 WARNING: Your system administrator may have changed C-h to act like DEL to 509 WARNING: Your system administrator may have changed C-h to act like DEL
555 deal local keyboards. You can use M-x help-for-help instead to invoke 510 to deal with local keyboards. You can use M-x help-for-help instead to
556 help. To discover what key (if any) invokes help on your system, type 511 invoke help. To discover what key (if any) invokes help on your system,
557 "M-x where-is RET help-for-help RET". This will print a comma-separated 512 type "M-x where-is RET help-for-help RET". This will print a
558 list of key sequences in the echo area. Ignore the last character in each 513 comma-separated list of key sequences in the echo area. Ignore the last
559 key sequence listed. Each of the resulting key sequences invokes help. 514 character in each key sequence listed. Each of the resulting key
560 515 sequences invokes help.
561 NOTE: Emacs's help facility works best if help is invoked by a single key 516
562 whose value should be stored in the variable help-char. Andrew 517 NOTE: Emacs help works best if it is invoked by a single key whose value
563 Arensburger <arensb@kong.gsfc.nasa.gov> wrote a patch that allows the help 518 should be stored in the variable help-char. Andrew Arensburger
564 facility to work properly when invoked by multiple character sequences. 519 <arensb@kong.gsfc.nasa.gov> wrote a patch that allows the help facility
565 520 to work properly when invoked by multiple character sequences.
521
56614: How do I find out how to do something in GNU Emacs? 52214: How do I find out how to do something in GNU Emacs?
567 523
568 There are several methods for finding out how to do things in Emacs. 524 There are several methods for finding out how to do things in Emacs.
569 525
570 * The complete text of the Emacs manual is available online via the Info 526 * The complete text of the Emacs manual is available on-line via the Info
571 hypertext reader. Type "C-h i" to invoke Info. 527 hypertext reader. Type "C-h i" to invoke Info.
572 528
573 * You can order a hardcopy of the manual from the FSF. See question 15. 529 * You can order a hardcopy of the manual from the FSF. See question 15.
574 530
575 * You can get a printed reference card listing commands and keys to invoke 531 * You can get a printed reference card listing commands and keys to
576 them. You can order one from the FSF for $1 (or 10 for $5), or you can 532 invoke them. You can order one from the FSF for $1 (or 10 for $5), or
577 print your own from the etc/refcard.tex file in the Emacs distribution. 533 you can print your own from the etc/refcard.tex or etc/refcard.ps files
578 {Are PostScript versions of this available for FTP?} 534 in the Emacs distribution.
579 535
580 * You can list all of the commands whose names contain a certain word 536 * You can list all of the commands whose names contain a certain word
581 (actually which match a regular expression) using "C-h a" 537 (actually which match a regular expression) using "C-h a" (M-x
582 (M-x command-apropos). 538 command-apropos).
583 539
584 * You can list all of the functions and variables whose names contain a 540 * You can list all of the functions and variables whose names contain a
585 certain word using M-x apropos. 541 certain word using M-x apropos.
586 542
587 * There are many other commands in Emacs for getting help and information. 543 * There are many other commands in Emacs for getting help and
588 To get a list of these commands, type "C-h C-h C-h". 544 information. To get a list of these commands, type "C-h C-h C-h".
589 545
590 NOTE: You may find that command-apropos and apropos are extremely slow
591 on your system. This will be fixed in Emacs 19. If you can't wait that
592 long, there is a fast-apropos.el file available in the Emacs Lisp
593 Archive (see question 89) that contains the fix.
594
59515: How do I get a printed copy of the GNU Emacs manual? 54615: How do I get a printed copy of the GNU Emacs manual?
596 547
597 You can order a printed copy of the GNU Emacs manual from the FSF for 548 You can order a printed copy of the GNU Emacs manual from the FSF. For
598 $20. For 6 or more manuals the price is $13 each. The price may be 549 details see the file etc/ORDERS.
599 tax-deductible as a business expense. 550
600
601 The full TeX source for the manual also comes in the `man' directory of 551 The full TeX source for the manual also comes in the `man' directory of
602 the Emacs distribution, if you're daring enough to try to print out this 552 the Emacs distribution, if you're daring enough to try to print out this
603 300 page manual yourself (see question 18). 553 420 page manual yourself (see question 18).
604 554
605 If you absolutely have to print your own copy, and you don't have TeX, you 555 If you absolutely have to print your own copy, and you don't have TeX,
606 can get a PostScript version via anonymous FTP: 556 you can get a PostScript version via anonymous FTP:
607 557
608 /cs.ubc.ca:pub/archive/gnu/manuals_ps/emacs-18.57.ps.Z ! 558 /ftp.cs.ubc.ca:pub/archive/gnu/manuals_ps/emacs-19.21.ps.gz
609 559
610 which site requests that you please CONFINE ANY MAJOR FTPING TO LATE 560 This site requests that you please CONFINE ANY MAJOR FTPING TO LATE
611 EVENINGS OR EARLY MORNINGS OUR TIME (pacific time zone, GMT-8)). A DVI 561 EVENINGS OR EARLY MORNINGS OUR TIME (Pacific time zone, GMT-8). A DVI
612 version is also available via FTP: 562 version is also available via FTP:
613 563
614 /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.Z 564 /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.gz
615 565
616 If you don't have TeX you can convert the Texinfo sources into 566 and all prep mirrors (See question 80 for a list).
617 {t,n,ps}roff format with the `texi2roff' program, which is available via 567
618 anonymous FTP: 568 A WWW version of the Emacs manual is available on the World-Wide Web at
619 569 URL
620 /archive.cis.ohio-state.edu:pub/gnu/texi2roff/texi2roff.shar.Z 570
621 571 http://asis01.cern.ch/infohtml/emacs/emacs.html
622 See also question 14 for how to view the manual online. 572
623 573 See also question 14 for how to view the manual on-line.
574
62416: Where can I get documentation on GNU Emacs Lisp? 57516: Where can I get documentation on GNU Emacs Lisp?
625 576
626 Within Emacs, you can type "C-h f" to get the documentation for a 577 Within Emacs, you can type "C-h f" to get the documentation for a
627 function, "C-h v" for a variable. 578 function, "C-h v" for a variable.
628 579
629 For more information, obtain the GNU Emacs Lisp Reference Manual for Emacs 580 For more information, obtain the GNU Emacs Lisp Reference Manual.
630 18 under Unix. It is available from the FSF for $50 (or 5 for $200). The 581 Details on ordering it from FSF are in file etc/ORDERS.
631 latest revision available for FTP is edition 1.03 dated 28 January 1991. 582
632 583 For on-line use, a set of pregenerated Info files is available with the
633 For online use, a set of pregenerated Info files is available with the 584 Texinfo source for the Emacs Lisp manual via anonymous FTP at
634 Texinfo source for the Emacs Lisp manual via anonymous FTP: 585
635 586 /prep.ai.mit.edu:pub/gnu/elisp-manual-19-2.3.tar.gz
636 /archive.cis.ohio-state.edu:pub/gnu/emacs/ 587
637 /prep.ai.mit.edu:pub/gnu/elisp-manual-1.03.tar.Z 588 and all prep mirrors (See question 80 for a list).
638 589
639 (You can also create the Info files from the Texinfo source.) See 590 You can also create the Info files from the Texinfo source. See question
640 question 17 for details on how to install these files online. 591 17 for details on how to install these files on-line.
641 592
642 If you are daring enough to try to print this 550 page manual out 593 A WWW version of the Emacs Lisp Reference Manual is available at
643 yourself, for instructions see question 18. 594
644 595 http://www.cs.indiana.edu/usr/local/www/elisp/lispref/elisp_toc.html
645 Also, as a popular USENET saying goes, "Use the Force, Read the Source". 596
646 597 An introduction to Emacs Lisp is available at
598
599 http://www.cs.indiana.edu/usr/local/www/elisp/elisp-intro.html
600
601 Of course, you can also print this 760-page manual yourself. For
602 instructions on how to do this, see question 18.
603
64717: How do I install a piece of Texinfo documentation? 60417: How do I install a piece of Texinfo documentation?
648 605
649 First create Info files from the Texinfo files with the `makeinfo' 606 First, you must turn the Texinfo files into Info files. You may do this
650 program. makeinfo is available as part of the latest Texinfo package: 607 within Emacs, using "M-x texinfo-format-buffer", or with the standalone
651 608 `makeinfo' program, available as part of the latest Texinfo package via
652 /prep.ai.mit.edu:pub/gnu/texinfo-2.14.tar.Z 609 anonymous ftp from:
653 610
611 /prep.ai.mit.edu:pub/gnu/texinfo-3.1.tar.gz
612
613 and all prep mirrors (See question 80 for a list).
614
654 For information about the Texinfo format, read the Texinfo manual which 615 For information about the Texinfo format, read the Texinfo manual which
655 comes with Emacs. This manual also comes installed in Info format, so you 616 comes with Emacs. This manual also comes installed in Info format, so
656 can read it online. 617 you can read it on-line.
657 618
658 Neither texinfo-format-buffer nor the makeinfo program install the 619 Neither texinfo-format-buffer nor makeinfo installs the resulting Info
659 resulting Info files in Emacs's Info tree. To install Info files: 620 files in Emacs's Info tree. To install Info files:
660 621
661 1. Move the files to the `info' directory in the installed Emacs 622 1. Move the files to the `info' directory in the installed Emacs
662 distribution. See question 4 if you don't know where that 623 distribution. See question 4 if you don't know where that is.
663 is. 624
664
665 2. Edit the file info/dir in the installed Emacs distribution, and add a 625 2. Edit the file info/dir in the installed Emacs distribution, and add a
666 line for the top level node in the Info package that you are 626 line for the top level node in the Info package that you are
667 installing. Follow the examples are already in this file. The format 627 installing. Follow the examples already in this file. The format is:
668 is: 628
669
670 * Topic: (relative-pathname). Short description of topic. 629 * Topic: (relative-pathname). Short description of topic.
671 630
672 If you want to install Info files and you don't have the necessary 631 If you want to install Info files and you don't have the necessary
673 privileges, you have several options: 632 privileges, you have several options:
674 633
675 * Info files don't actually need to be installed before being used. You 634 * Info files don't actually need to be installed before being used. You
676 can feed a file name to the Info-goto-node command (invoked by pressing 635 can feed a file name to the Info-goto-node command (invoked by pressing
677 "g" in Info mode) by typing the name of the file in parentheses. This 636 "g" in Info mode) by typing the name of the file in parentheses. This
678 goes to the node named `Top' in that file. For example, to view a Info 637 goes to the node named `Top' in that file. For example, to view a Info
679 file named `XXX' in your home directory, you can type this: 638 file named `XXX' in your home directory, you can type this:
680 639
681 C-h i g (~/XXX) RET 640 C-h i g (~/XXX) RET
682 641
683 * You can create your own Info directory. You can tell Emacs where the 642 * You can create your own Info directory. You can tell Emacs where the
684 Info directory is by setting the value of the variable Info-directory 643 Info directory is by adding its pathname to the value of the variable
685 to its pathname. For example, to use a private Info directory which 644 Info-default-directory-list. For example, to use a private Info
686 is a subdirectory of your home directory named `Info', you could do 645 directory which is a subdirectory of your home directory named `Info',
687 this: 646 you could put this in your .emacs file:
688 647
689 (setq Info-directory (expand-file-name "~/Info")) 648 (setq Info-default-directory-list
690 649 (cons "~/Info" Info-default-directory-list))
691 You will need a top-level Info file named `dir' in this directory. 650
692 You can include the system-wide Info directory in your private Info 651 You will need a top-level Info file named `dir' in this directory which
693 directory with symbolic links or by copying it. 652 has everything the system dir file has in it, except it should list
694 653 only entries for Info files in that directory. You might not need it
695 * You can use an enhanced version of lisp/info.el that handles multiple 654 if all files in this directory were referenced by other `dir' files.
696 Info directories. Then you can more easily use a mix of private and 655 The node lists from all dir files in Info-default-directory-list are
697 shared Info files. Dave Gillespie <daveg@synaptics.com, 656 merged by the Info system.
698 daveg@csvax.cs.caltech.edu> has written one such enhancement and I 657
699 believe there are others. Dave's info.el also handles compressed Info
700 files.
701
702 Anonymous FTP:
703 /archive.cis.ohio-state.edu:modes/info.el.Z
704 /ftp.uu.net:languages/emacs-lisp/modes/info.el.Z !
705
706 According to Jay Bourland <jayb@math.stanford.edu>, a version of Dave's
707 info.el comes with `xinfo' (see question 19).
708
70918: How do I print a Texinfo file? 65818: How do I print a Texinfo file?
710 659
711 NOTE: You can't get nice printed output from Info files; you must still 660 NOTE: You can't get nice printed output from Info files; you must still
712 have the original Texinfo source file for the manual you want to print. 661 have the original Texinfo source file for the manual you want to print.
713 662
714 1. Make sure the first line of the Texinfo file looks like this: 663 1. Make sure the first line of the Texinfo file looks like this:
715 664
716 \input texinfo 665 \input texinfo
717 666
718 You may need to alter `texinfo' to the full pathname of the 667 You may need to alter `texinfo' to the full pathname of the
719 texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy 668 texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy
720 or link it into the current directory). 669 or link it into the current directory).
721 670
722 2. tex XXX.texinfo 671 2. tex XXX.texinfo
723 672
724 3. texindex XXX.?? 673 3. texindex XXX.??
725 674
726 The `texindex' program comes with Emacs as man/texindex.c. 675 The `texindex' program comes with Emacs as man/texindex.c.
727 676
728 4. tex XXX.texinfo 677 4. tex XXX.texinfo
729 678
730 5. Print the DVI file XXX.dvi in the normal way for printing DVI files 679 5. Print the DVI file XXX.dvi in the normal way for printing DVI files at
731 at your site. 680 your site.
732 681
733 To get more general instructions, retrieve the latest Texinfo package 682 To get more general instructions, retrieve the latest Texinfo package
734 mentioned in question 17. 683 mentioned in question 17.
735 684
73619: Can I view Info files without using GNU Emacs? 68519: Can I view Info files without using GNU Emacs?
737 686
738 Yes, the `info', `xinfo', and `ivinfo' programs do this. info uses 687 Yes, the `info', `xinfo', `tkinfo', and `ivinfo' programs do this. Info
739 curses, xinfo uses standard X11 libraries, and ivinfo uses InterViews. 688 uses curses, xinfo uses standard X11 libraries, tkinfo uses Tk/Tcl and
740 You can get info as part of the latest Texinfo package (see question 689 ivinfo uses InterViews. You can get Info as part of the latest Texinfo
741 17). xinfo is available separately: 690 package (see question 17). xinfo is available separately:
742 691
743 /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.Z 692 /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.gz
744 /export.lcs.mit.edu: 693
745 694 and all prep mirrors (See question 80 for a list).
695
746 ivinfo is available in a comp.sources.misc archive or from Tom Horsley 696 ivinfo is available in a comp.sources.misc archive or from Tom Horsley
747 <tom@ssd.csd.harris.com>. For ivinfo, you need Stanford's InterViews C++ 697 <tom@ssd.csd.harris.com>. tkinfo is available by anonymous ftp from:
748 X library, available via anonymous FTP (interviews.stanford.edu). 698
749 699 /ptolemy.eecs.berkeley.edu:pub/misc/tkinfo-0.6.tar.Z
700 /ftp.aud.alcatel.com:tcl/code/tkinfo-0.6.tar.gz
701
702 For ivinfo, you need Stanford's InterViews C++ X library, available via
703 anonymous ftp from interviews.stanford.edu. (A FAQ on InterViews is
704 available at that site in pub/FAQ.)
705
75020: What informational files are available for GNU Emacs? 70620: What informational files are available for GNU Emacs?
751 707
752 This isn't a frequently asked question, but it should be! A variety of 708 This isn't a frequently asked question, but it should be! A variety of
753 informational files about GNU Emacs and relevant aspects of the GNU 709 informational files about GNU Emacs and relevant aspects of the GNU
754 project are available for you to read. 710 project are available for you to read.
755 711
756 The following files are available in the `etc' directory of the GNU 712 The following files are available in the `etc' directory of the GNU Emacs
757 Emacs distribution, and also the latest versions are available 713 distribution, and also the latest versions are available individually via
758 individually via anonymous FTP (prep.ai.mit.edu:/pub/gnu/GNUinfo/): 714 anonymous FTP (prep.ai.mit.edu:pub/gnu/GNUinfo/):
759 715
760 APPLE -- Why the FSF doen't support GNU Emacs on Apple computers 716 APPLE -- Why the FSF doesn't support GNU Emacs on Apple computers
761 DISTRIB -- GNU Emacs Availability Information, 717 DISTRIB -- GNU Emacs Availability Information,
762 including the popular "Free Software Foundation Order Form" 718 including the popular "Free Software Foundation Order Form"
763 FTP -- How to get GNU Software by Internet FTP or by UUCP 719 FTP -- How to get GNU Software by Internet FTP or by UUCP
764 GNU -- The GNU Manifesto 720 GNU -- The GNU Manifesto
765 INTERVIEW -- Richard Stallman discusses his public-domain 721 INTERVIEW -- Richard Stallman discusses his public-domain
766 UNIX-compatible software system 722 UNIX-compatible software system with BYTE editors
767 with BYTE editors
768 MACHINES -- Status of GNU Emacs on Various Machines and Systems 723 MACHINES -- Status of GNU Emacs on Various Machines and Systems
769 MAILINGLISTS -- GNU Project Electronic Mailing Lists 724 MAILINGLISTS -- GNU Project Electronic Mailing Lists
770 SERVICE -- GNU Service Directory 725 SERVICE -- GNU Service Directory
771 SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" 726 SUN-SUPPORT -- including "Using Emacstool with GNU Emacs"
772 727
773 These files are available in the `etc' directory of the GNU Emacs 728 These files are available in the `etc' directory of the GNU Emacs
774 distribution: 729 distribution:
775 730
776 DIFF -- Differences between GNU Emacs and Twenex Emacs
777 CCADIFF -- Differences between GNU Emacs and CCA Emacs
778 GOSDIFF -- Differences between GNU Emacs and Gosling (Unipress??) Emacs
779 COPYING -- GNU Emacs General Public License 731 COPYING -- GNU Emacs General Public License
780 NEWS -- GNU Emacs News, a history of user-visible changes 732 NEWS -- GNU Emacs news, a history of user-visible changes
781 LPF -- Why you should join the League for Programming Freedom 733 LPF -- Why you should join the League for Programming Freedom
782 FAQ -- GNU Emacs Frequently Asked Questions (You're reading it) 734 FAQ -- GNU Emacs Frequently Asked Questions (You're reading it)
783 OPTIONS -- a complete explanation of startup option handling 735
784 736 These files are available via anonymous FTP (prep.ai.mit.edu:pub/gnu/):
785 These files are available via anonymous FTP (prep.ai.mit.edu:/pub/gnu/): 737
786
787 tasks -- GNU Task List 738 tasks -- GNU Task List
788 standards.text -- GNU Coding Standards 739 standards.text -- GNU Coding Standards
789 740
790 In addition, all of the above files are available directly from the FSF 741 In addition, all of the above files are available directly from the FSF
791 via e-mail. Of course, please try to get them from a local source 742 via e-mail. Of course, please try to get them from a local source first
792 first. 743 (See question 80 for a list).
793 744
794 These additional files are available from the FSF via e-mail: 745 These additional files are available from the FSF via e-mail:
795 746
796 * GNU's Bulletin, June, 1991 -- this file includes: 747 * GNU's Bulletin, January 1994
797 GNU'S Who 748 GNU's Who
798 What Is the Free Software Foundation? 749 GNU's Bulletin
799 What Is Copyleft? 750 What Is the Free Software Foundation?
800 A Small Way to Help Free Software 751 What Is Copyleft?
801 GNUs Flashes (important recent developments for project GNU) 752 Donations Translate Into Free Software
802 Free Software Support (and how to get it!) 753 Cygnus Matches Donations!
803 Copyrighted Programming Languages 754 GNUs Flashes
804 AT&T Threatens Users of X Windows (and other software patent threats) 755 What Is the LPF?
805 Project Gutenberg 756 News from the LPF
806 GNU Project Status Report 757 Free Software Support
807 GNU in Japan 758 Project GNU Wish List
808 GNU Wish List 759 Towards a New Strategy of OS Design
809 Help Keep Government Software Free 760 Part 1: A More Usable Approach to OS Design
810 GNU Software Available Now 761 Part 2: A Look at Some of the Hurd's Beasts
811 Contents of the Emacs Tape 762 Second Annual GNU Seminar in Japan
812 Contents of the Compiler Tape 763 GNU and other Free Software in Japan
813 Contents of the X11 Tapes 764 Freely Available Texts
814 VMS Emacs and Compiler Tapes 765 OCEAN Integrated-Circuit Design System
815 GNU Documentation 766 Hundred Acre Consulting Expands
816 How to Get GNU Software 767 Project GNU Status Report
817 Free Software for Microcomputers 768 GNU Documentation
818 GNU Software on Apple computers 769 GNU Software Available Now
819 GNU Software on the Amiga 770 Source Code CD-ROM
820 GNU Software on the Atari 771 Compiler Tools Binaries CD-ROM
821 GNUish MS-DOS project 772 Tape & CD-ROM Subscription Service
822 Freemacs, an Extensible Editor for MS-DOS 773 How to Get GNU Software
823 GNU in Japan 774 The Deluxe Distribution
824 FSF Order Form 775 MS-DOS Distribution
825 Thank GNUs 776 Free Software for Microcomputers
777 FSF T-shirt
778 Thank GNUs
779 Free Software Foundation Order Form
826 * Legal issues about contributing code to GNU 780 * Legal issues about contributing code to GNU
827 * GNU Project Status Report 781 * GNU Project Status Report
828 782
829 A collection of past GNU's Bulletins is available via anonymous FTP: 783 A collection of past GNU's Bulletins is available via anonymous FTP from:
830 784
831 /ftp.funet.fi:pub/gnu/Bulletins/ 785 /ftp.funet.fi:pub/gnu/Bulletins/
832 786
787 The latest bulletin is available on the World-Wide Web at URL:
788
789 http://info.desy.de/gnu/www/gnu_bulletin_9401/gnu_bulletin_9401_toc.html
790
83321: Where can I get help in installing GNU Emacs? 79121: Where can I get help in installing GNU Emacs?
834 792
835 Look in etc/SERVICE for names of companies and individuals who will sell 793 Look in etc/SERVICE for names of companies and individuals who will sell
836 you this type of service. An up-to-date version of the SERVICE file is 794 you this type of service. An up-to-date version of the SERVICE file is
837 available on prep.ai.mit.edu (also see question 20). 795 available on prep.ai.mit.edu (also see question 20).
838 796
797 You might also try the help-gnu-emacs mailing list, which is also known
798 as the gnu.emacs.help newsgroup, although many installation questions can
799 easily be answered by looking at the PROBLEMS file (in the top-level
800 directory when you unpack the Emacs source).
801
83922: Where can I get the latest version of this document (the FAQ list)? 80222: Where can I get the latest version of this document (the FAQ list)?
840 803
841 The GNU Emacs FAQ is available in several ways: 804 The GNU Emacs FAQ is available in several ways:
842 805
843 * Via USENET. If you can read news, the FAQ should be available in your 806 * Via USENET. If you can read news, the FAQ should be available in your
844 news spool, in both the gnu.emacs.help and comp.emacs newsgroups. Every 807 news spool, in both the gnu.emacs.help and comp.emacs newsgroups.
845 news reader of which I know will allow you to read any news article that 808 Every news reader should allow you to read any news article that is
846 is still in the news spool, even if you have read the article before. 809 still in the news spool, even if you have read the article before. You
847 You may need to read the instructions for your news reader to discover 810 may need to read the instructions for your news reader to discover how
848 how to do this. In `rn', this command will do this for you at the 811 to do this. In `rn', this command will do this for you at the article
849 article selection level: 812 selection level:
850 813
851 ?GNU Emacs FAQ?rc:m 814 ?GNU Emacs FAQ?rc:m
852 815
853 In GNUS, you should type "C-u G" from the *Subject* buffer or "C-u SPC" 816 In Gnus, you should type "C-u c-x c-s" from the *Summary* buffer or
854 from the *Newsgroup* buffer to view all articles in a newsgroup. 817 "C-u SPC" from the *Newsgroup* buffer to view all articles in a
855 818 newsgroup.
856 The FAQ articles' message IDs are: 819
857
858 <GNU-Emacs-FAQ-0.1993.05.04.025218@rice.edu> !
859 <GNU-Emacs-FAQ-1.1993.05.04.025218@rice.edu> !
860 <GNU-Emacs-FAQ-2.1993.05.04.025218@rice.edu> !
861 <GNU-Emacs-FAQ-3.1993.05.04.025218@rice.edu> !
862 <GNU-Emacs-FAQ-4.1993.05.04.025218@rice.edu> !
863 <GNU-Emacs-FAQ-5.1993.05.04.025218@rice.edu> !
864
865 If you are viewing this in the GNUS *Article* buffer, you can move point
866 within one of the above message IDs and type "r" to fetch the referenced
867 article. Type "o" in the *Article* buffer to restore the previous
868 contents. If this text is not in the GNUS *Article* buffer, use M-r
869 from the *Subject* buffer instead.
870
871 If the FAQ articles have expired and been deleted from your news spool, 820 If the FAQ articles have expired and been deleted from your news spool,
872 it might (or might not) do some good to complain to your news 821 it might (or might not) do some good to complain to your news
873 administrator, because the most recent FAQ should not expire before 822 administrator, because the most recent FAQ should not expire before for
874 July 3, 1993. ! 823 a while.
875 824
876 * Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP 825 * Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP
877 826 from the-tech.mit.edu, in ~ftp/pub/GNU-Emacs/.
878 /rtfm.mit.edu:pub/usenet/news.answers/GNU-Emacs-FAQ/ part* 827
879
880 * Via e-mail. You can send the following magical incantation in the body
881 of a message to mail-server@rtfm.mit.edu:
882
883 send usenet/news.answers/GNU-Emacs-FAQ/part0
884 send usenet/news.answers/GNU-Emacs-FAQ/part1
885 send usenet/news.answers/GNU-Emacs-FAQ/part2
886 send usenet/news.answers/GNU-Emacs-FAQ/part3
887 send usenet/news.answers/GNU-Emacs-FAQ/part4
888 send usenet/news.answers/GNU-Emacs-FAQ/part5
889
890 * Via WAIS. The GNU Emacs FAQ is available via WAIS indexed on a
891 per-question basis from the `faq' database on bigbird.bu.edu on the
892 non-standard IP port number of 2210. This is probably the best way to
893 find out if there is something in the FAQ related to your question. I
894 use this myself to answer questions I see posted on gnu.emacs.help.
895
896 The articles of the GNU Emacs FAQ are also available from the `usenet'
897 database on rtfm.mit.edu (on the standard IP port: 210), along with a
898 lot of other FAQ articles. However, these are all indexed at the whole
899 article level instead of at the question level. This is a better place
900 to look if you want to fetch the entire FAQ.
901
902 * In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest 828 * In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest
903 available version of the FAQ at the time of release has been part of the 829 available version of the FAQ at the time of release has been part of
904 GNU Emacs distribution as file etc/FAQ. 18.59 is the latest version, 830 the GNU Emacs distribution as file etc/FAQ.
905 and it was released in October 1992. 831
906 832 * Via the World-Wide Web. Point your favorite Web browser (Mosaic, Lynx,
907 * There is an old version of the FAQ list available for FTP in the GNU 833 w3-mode) to one of the following URLs:
908 archives at MIT: 834
909 835 http://www.cis.ohio-state.edu/hypertext/faq/usenet/GNU-Emacs-FAQ/top.html
910 /prep.ai.mit.edu:pub/gnu/GNUinfo/FAQ.emacs 836 http://scwww.ucs.indiana.edu/FAQ/Emacs/
911 837
912 * As the very last resort, you can e-mail a request to 838 * If all goes well, this FAQ should also be available via anonymous ftp
913 gnu-emacs-faq-maintainers@bigbird.bu.edu. Don't do this unless you have 839 and e-mail from rtfm.mit.edu, the main repository for FAQs and other
914 made a serious effort to obtain the FAQ list via one of the methods 840 items posted to news.answers. However, we are omitting explicit
915 listed above. 841 directions on how to retrieve the FAQ from rtfm.mit.edu, since it's
916 842 possible that it won't end up there right away. (We're new at this
843 FAQ-posting business.) Instructions on how to retrieve the FAQ from
844 rtfm.mit.edu should be in the next version of the FAQ.
917 845
846 * As the very last resort, you can e-mail a request to
847 gnu-emacs-faq-maintainers@bigbird.bu.edu. Don't do this unless you
848 have made a serious effort to obtain the FAQ list via one of the
849 methods listed above.
918 850
919Status of Emacs 851Status of Emacs
920 852
92123: Where does the name "Emacs" come from? 85323: Where does the name "Emacs" come from?
922 854
923 Emacs originally was an acronym for Editor MACroS. RMS says he "picked 855 Emacs originally was an acronym for Editor MACroS. RMS says he "picked
924 the name `Emacs' because `E' was not in use as an abbreviation on ITS at 856 the name `Emacs' because `E' was not in use as an abbreviation on ITS at
925 the time.". The first Emacs was a set of macros written in 1976 at MIT by 857 the time." The first Emacs was a set of macros written in 1976 at MIT by
926 RMS for the editor TECO (Text Editor and COrrector (originally Tape Editor 858 RMS for the editor TECO (Text Editor and COrrector (originally Tape
927 and COrrector)) under ITS on a PDP-10. RMS had already extended TECO with 859 Editor and COrrector)) under ITS on a PDP-10. RMS had already extended
928 a "real-time" full screen mode with active keys. Emacs was started by Guy 860 TECO with a "real-time" full screen mode with active keys. Emacs was
929 Steele <gls@think.com> as a project to unify the many divergent TECO 861 started by Guy Steele <gls@think.com> as a project to unify the many
930 command sets and keybindings at MIT. 862 divergent TECO command sets and key bindings at MIT.
931 863
932 Many people have told me that TECO code looks a lot like line noise. See 864 Many people have said that TECO code looks a lot like line noise. See
933 alt.lang.teco if you are interested. I think someone has written a TECO 865 alt.lang.teco if you are interested. Someone has written a TECO
934 implementation in Emacs Lisp. It would be an interesting project to run 866 implementation in Emacs Lisp; it would be an interesting project to run
935 the original TECO Emacs inside of GNU Emacs. 867 the original TECO Emacs inside of GNU Emacs.
936
93724: What is the latest version of GNU Emacs?
938
939 GNU Emacs 18.59 is the current version. Fixes from 18.57 include better
940 mail address parsing, an X visual bell speedup, a call-process
941 enhancement, a regexp matching change, the ability to apply a numeric
942 argument to a self-inserting digit, getting X resource values from the
943 RESOURCE_MANAGER property, more reliable shell mode job control, and a
944 change to copy-keymap. Also, support has been added for many new system
945 types. Fixes from 18.55 include the removal of arbitrary limits on the
946 undo facility.
947
948 According to the January 1992 GNU's Bulletin, "Emacs 18 maintenance
949 continues for simple bug fixes.".
950
951 To visit a file with information about what has changed in recent
952 versions, type "C-h n".
953
95425: When will GNU Emacs 19 be available?
955
956 Richard Stallman recently (February 19, 1993) posted in gnu.emacs.help !
957 the following: !
958 !
959 People should keep in mind that the successor of Emacs 18 does not !
960 come from Lucid. Its is GNU Emacs 19. I still can't say exactly when !
961 public release is going to be, but we are about to start testing at a !
962 number of sites. !
963 !
964 GNU Emacs 19 will support a broad spectrum of machines, like Emacs !
965 18. Ensuring this is the purpose of the testing we are about to do. !
966 !
967 (Please don't volunteer; we have enough pretesters, and if more people !
968 offer, dealing with those messages will slow things down.) !
969 !
970 Once we make sure it is indeed working reliably on various different !
971 systems, we will have a public beta test release. !
972 !
973 Emacs 19 does support adding properties to ranges of text, and using !
974 these to switch fonts. In the future, the Epoch people will help !
975 merge support for variable-width fonts. !
976 !
977 Meanwhile, I have almost finished updating the Emacs Lisp manual. Its !
978 next edition will describe Emacs 19. There will be an announcement !
979 when we know when this edition will be available. !
980
981 Lucid has released Lucid GNU Emacs 19.6, which is based on an early !
982 unreleased version of GNU Emacs 19. This will be similar to Emacs 19 when
983 it finally arrives, but they are not the same. See question 121.
984
985 Work has begun on features for Emacs 20.
986
98726: What is different about GNU Emacs 19?
988
989 From the January 1992 GNU's Bulletin:
990
991 Version 19 will enter beta test late this year. Among its new features
992 are: before and after change hooks, source-level debugging of Emacs Lisp
993 programs, X selection processing (including clipboard selections),
994 scrollbars, support for European character sets, floating point numbers,
995 per-buffer mouse commands, X resource manager interfacing,
996 mouse-tracking, Lisp-level binding of function keys, multiple X windows
997 (`screens' to Emacs), a new input system, and buffer allocation, which
998 uses a new mechanism capable of returning storage to the system when a
999 buffer is killed.
1000
1001 The input stream is now a sequence of Lisp objects, instead of a
1002 sequence of characters. This allows a reasonable representation for
1003 mouse clicks, function keys, menu selections, etc.
1004
1005 Thanks go to Alan Carroll and the people who worked on Epoch for
1006 generating initial feedback to a multi-windowed Emacs, and to Eric
1007 Raymond for help in polishing the Emacs 19 Lisp libraries.
1008
1009 The June 1991 GNU's bulletin had this to say about future plans for Emacs:
1010
1011 Features being considered for later releases of Emacs include:
1012 associating property lists with regions of text in a buffer; multiple
1013 fonts, color, and pixmaps defined by those properties; different
1014 visibility conditions for the regions, and for various windows showing
1015 one buffer; hooks to be run if point or mouse moves outside a certain
1016 range; incrementally saving undo history in a file; static menu bars;
1017 and better pop-up menus.
1018
1019 Mention of this feature disappeared in the January 1992 GNU's bulletin:
1020
1021 Emacs 19 supports two styles of multiple windows, one with a separate
1022 screen for the minibuffer, and another with a minibuffer attached to
1023 each screen.
1024
1025 Mention of these two proposed features disappeared in the January 1991
1026 GNU's bulletin:
1027
1028 * Incremental syntax analysis for various programming languages (Leif).
1029 * A more sophisticated emacsclient/server model, which would provide
1030 network transparent Emacs widget functionality.
1031
103227: What variants of GNU Emacs exist?
1033
1034 * Nemacs (Nihongo Emacs), which can handle Japanese text, is derived from
1035 GNU Emacs 18.55. See question 149.
1036
1037 * Demacs, which can run under MS-DOS on 386 machines, is derived from
1038 Nemacs. See question 122.
1039
1040 * Epoch, which has better X support, is derived from GNU Emacs 18.58.
1041 See question 120 and 92.
1042
1043 * Nepoch (Nihongo Epoch), which can handle Japanese text, is derived from
1044 Epoch.
1045
1046 * Mule (the MULtilingual Enhancement of GNU Emacs) can handle many
1047 character sets simultaneously. It is derived from Emacs 18.58. It is
1048 available for FTP:
1049
1050 /sh.wide.ad.jp:/JAPAN/mule/
1051 /etlport.etl.go.jp:/pub/mule/
1052
1053 * Lucid GNU Emacs is derived from an early unreleased version of GNU Emacs
1054 19. See question 121 and 92.
1055
1056 868
86924: What is the latest version of GNU Emacs?
1057 870
1058 GNU Emacs FAQ: Common Requests/Problems 871 GNU Emacs 19.27 is the current version as of 6 September, 1994.
1059 872
1060If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to 87325: What is different about GNU Emacs 19?
1061get an overview of just the questions. Then, when you want to look at the text
1062of the answers, just type "C-x $".
1063 874
1064To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if 875 To find out what has changed in recent versions, type C-h n (M-x
1065that doesn't work, then type ESC to end the search. 876 view-emacs-news). The oldest changes are at the bottom of the file, so
877 you might want to read it starting there, rather than at the top.
1066 878
1067A `+' in the 78th column means something was inserted on the line. A `-' means 879 The most obvious changes have to do with the user interface -- GNU Emacs
1068something was deleted and a `!' means some combination of insertions and 880 19 is fully X-aware, and provides pull-down menus and scroll bars. Emacs
1069deletions occurred. 881 19 also supports fonts and colors, including context-specific
882 highlighting of source code and other types of buffers.
1070 883
1071Full instructions for getting the latest FAQ are in question 22. Also see the 884 Other changes include a line number mode, which displays the current line
1072`Introduction to news.answers' posting in the `news.answers' newsgroup, or send 885 number in the mode line, and default bindings for arrow and paging keys
1073e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, 886 that work.
1074WAIS, or Prospero to rtfm.mit.edu.
1075 887
888 Lower-level changes include a smarter memory allocation scheme (Emacs now
889 returns memory to the operating system when you kill buffers), a better
890 byte-compiler, and a source-level Emacs Lisp debugger.
1076 891
892 There are also a number of new Lisp packages, ranging from dunnet (an
893 Adventure-like program) to mldrag (allows you to drag the mode line up
894 and down with the mouse buttons) to gud (Grand Unified Debugger mode, for
895 many flavors of debuggers). A number of popular Lisp packages, such as
896 SuperCite and the calendar/diary, are also included.
1077 897
1078Common Things People Want To Do 898Common Things People Want To Do
1079 899
108028: How do I set up a .emacs file properly? 90026: How do I set up a .emacs file properly?
1081 901
1082 See `Init File' in the on-line manual. 902 See `Init File' in the on-line manual.
1083 903
1084 WARNING: In general, new Emacs users should not have .emacs files, because 904 WARNING: In general, new Emacs users should not have .emacs files,
1085 it causes confusing non-standard behavior. Then they send questions to 905 because it causes confusing non-standard behavior. Then they send
1086 help-gnu-emacs asking why Emacs isn't behaving as documented. :-) 906 questions to help-gnu-emacs asking why Emacs isn't behaving as
1087 907 documented. :-)
108829: How do I debug a .emacs file? 908
1089 90927: How do I debug a .emacs file?
1090 First start Emacs with the `-q' command line option. Then, in the 910
1091 *scratch* buffer, type the following: 911 First start Emacs with the `-debug-init' command-line option. This
1092 912 option enables the Emacs Lisp debugger before evaluating your .emacs
1093 (setq debug-on-error t) LFD 913 file, and places you in the debugger if something goes wrong. The top
1094 (load-file "~/.emacs") LFD 914 line in the trace-back buffer will be the error message, and the second
1095 915 or third line of that buffer will display the Lisp code from your .emacs
1096 (Type LFD by pressing C-j.) 916 that caused the problem.
1097 917
1098 If you have an error in your .emacs file, this will invoke the debugger 918 You can also evaluate an individual function or argument to a function in
1099 when the error occurs. If you don't know how to use the debugger do 919 your .emacs file by moving the cursor to the end of the function or
1100 (setq stack-trace-on-error t) instead. 920 argument and typing "C-x C-e" (M-x eval-last-sexp).
1101 921
1102 WARNING: this will not discover errors caused by trying to do something 922 Use "C-h v" (M-x describe-variable) to check the value of variables which
1103 that requires the terminal/window-system initialization code to have 923 you are trying to set or use.
1104 been loaded. See question 127. 924
1105 92528: How do I make Emacs display the current line (or column) number?
110630: How do I make Emacs display the current line (or column) number? 926
1107
1108 To find out what line of the buffer you are on right now, do "M-x 927 To find out what line of the buffer you are on right now, do "M-x
1109 what-line". Use "M-x goto-line" to go to a specific line. To find the 928 what-line". Use "M-x goto-line" to go to a specific line. To find the
1110 current column number, type "M-ESC (current-column)". 929 current column number, type "M-ESC (current-column)".
1111 930
1112 Typing "C-x l" will also tell you what line you are on, provided the 931 If you use these commands often, you might want to bind them to a key.
1113 buffer isn't separated into "pages" with C-l characters. In that case, it 932 See question 104 for instructions on how to do that.
1114 will only tell you what line of the current "page" you are on. WARNING: 933
1115 "C-x l" gives the wrong value when point is at the beginning of a line. 934 Typing "C-x l" (or M-x count-lines-page) will also tell you what line you
1116 935 are on, provided the buffer isn't separated into "pages" with C-l
1117 There is no "correct" way to constantly display the current (or total) 936 characters. In that case, it will only tell you what line of the current
1118 line (or column) number on the mode line in Emacs 18, or to display the 937 "page" you are on.
1119 line numbers next to the lines like vi can. Emacs is not a line-oriented 938
1120 editor, and really has no idea what "lines" of the buffer are displayed in 939 To have Emacs automatically display the current line number of the point
1121 the window. It would require a lot of work at the C code level to make 940 in the mode line, do "M-x line-number-mode". You can also put the form
1122 Emacs keep track of this. It would not be that hard to get the column 941
1123 number, but it would still require changes at the C code level. 942 (setq line-number-mode t)
1124 943
944 in your .emacs file to achieve this whenever you start Emacs. Note that
945 Emacs will not display the line number if the buffer is larger than the
946 value of the variable line-number-display-limit.
947
1125 None of the vi emulation modes provide the `set number' capability of vi 948 None of the vi emulation modes provide the `set number' capability of vi
1126 (as far as I know). 949 (as far as we know).
1127 950
1128 Emacs 19 will probably be able to show the line number on the mode-line, 95129: How do I turn on abbrevs by default just in mode XXX?
1129 but probably very inefficiently. 952
1130
1131 People have written various kludges to display line numbers. One is
1132 `display-line-numbers' by Wayne Mesard <wmesard@tofu.oracle.com,
1133 Mesard@bbn.com>. Look in the Lisp Code Directory. (See question
1134 88.)
1135
113631: How do I turn on Abbrevs by default just in mode XXX?
1137
1138 Put this in your .emacs file: 953 Put this in your .emacs file:
1139 954
1140 (condition-case () 955 (condition-case ()
1141 (read-abbrev-file nil t) 956 (quietly-read-abbrev-file)
1142 (file-error nil)) 957 (file-error nil))
1143 958
1144 (setq XXX-mode-hook 959 (add-hook 'XXX-mode-hook
1145 (function 960 (function
1146 (lambda () 961 (lambda ()
1147 (setq abbrev-mode t)))) 962 (setq abbrev-mode t))))
1148 963
114932: How do I turn on Auto-Fill mode by default? 96430: How do I turn on auto-fill mode by default?
1150 965
1151 To turn on Auto-Fill mode just once for one buffer, use "M-x 966 To turn on auto-fill mode just once for one buffer, use "M-x
1152 auto-fill-mode". To turn it on for every buffer in, for example, Text 967 auto-fill-mode". To turn it on for every buffer in, for example, Text
1153 mode, do this: 968 mode, do this:
1154 969
1155 (setq text-mode-hook 'turn-on-auto-fill) 970 (add-hook 'text-mode-hook 'turn-on-auto-fill)
1156 971
1157 If you want Auto-Fill mode on in all major modes, do this: 972 If you want auto-fill mode on in all major modes, do this:
1158 973
1159 (setq-default auto-fill-hook 'do-auto-fill) 974 (setq-default auto-fill-hook 'do-auto-fill)
1160 975
116133: How do I make Emacs use a certain major mode for certain files? 97631: How do I make Emacs use a certain major mode for certain files?
1162 977
1163 If you want to use XXX mode for all files which end with the extension 978 If you want to use XXX mode for all files which end with the extension
1164 `.YYY', this will do it for you: 979 `.YYY', this will do it for you:
1165 980
1166 (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist)) 981 (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist))
1167 982
1168 Otherwise put this somewhere in the first line of any file you want to 983 Otherwise put this somewhere in the first line of any file you want to
1169 edit in XXX mode: 984 edit in XXX mode:
1170 985
1171 -*-XXX-*- 986 -*-XXX-*-
1172 987
117334: How do I search for, delete, or replace unprintable (8-bit or control) 988 Emacs 19 also includes a new variable, interpreter-mode-alist, that
1174 characters? 989 specifies which mode to use when loading a shell script. (Emacs
1175 990 determines which interpreter you're using by examining the first line of
991 the file.) This feature only applies when the file name doesn't indicate
992 which mode to use. Use "C-h v" (or M-x describe-variable) to learn more
993 about this variable.
994
99532: How do I search for, delete, or replace unprintable (8-bit or control)
996 characters?
997
1176 To search for a single character that appears in the buffer as, for 998 To search for a single character that appears in the buffer as, for
1177 example, `\237', you can type "C-s C-q 2 3 7". (This assumes the value of 999 example, `\237', you can type "C-s C-q 2 3 7". (This assumes the value
1178 search-quote-char is 17 (ie., C-q).) Searching for ALL unprintable 1000 of search-quote-char is 17 (i.e., C-q).) Searching for ALL unprintable
1179 characters is best done with a "regexp" search. The easiest regexp to use 1001 characters is best done with a "regexp" search. The easiest regexp to
1180 for the unprintable chars is the complement of the regexp for the 1002 use for the unprintable chars is the complement of the regexp for the
1181 printable chars. 1003 printable chars.
1182 1004
1183 Regexp for the printable chars: [\t\n\r\f -~] 1005 Regexp for the printable chars: [\t\n\r\f -~]
1184 1006
1185 Regexp for the unprintable chars: [^\t\n\r\f -~] 1007 Regexp for the unprintable chars: [^\t\n\r\f -~]
1186 1008
1187 To type some of these special characters in an interactive argument to 1009 To type some of these special characters in an interactive argument to
1188 isearch-forward-regexp or re-search-forward, you need to use C-q. (`\t', 1010 isearch-forward-regexp or re-search-forward, you need to use C-q. (`\t',
1189 `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.) So, 1011 `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.) So,
1190 to search for unprintable characters using re-search-forward: 1012 to search for unprintable characters using re-search-forward:
1191 1013
1192 M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET 1014 M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET
1193 1015
1194 Using isearch-forward-regexp: 1016 Using isearch-forward-regexp:
1195 1017
1196 M-C-s [^ TAB RET C-q RET C-q C-l SPC -~] 1018 M-C-s [^ TAB RET C-q RET C-q C-l SPC -~]
1197 1019
1198 To delete all unprintable characters, simply use a replace-regexp: 1020 To delete all unprintable characters, simply use replace-regexp:
1199 1021
1200 M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET 1022 M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET
1201 1023
1202 Replacing is similar to the above. {I need to write the text for this 1024 Replacing is similar to the above. To replace all unprintable characters
1203 part of the answer!} 1025 with a colon, use:
1204 1026
1205 Notes: 1027 M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET : RET
1206 1028
1207 * With isearch, you can type RET to get a quoted LFD (not a quoted RET). 1029 NOTE: * You don't need to quote TAB with either isearch or typing
1208 1030 something in the minibuffer.
1209 * You don't need to quote TAB with either isearch or typing something in 1031
1210 the minibuffer. 103233: How can I highlight a region of text in Emacs?
1211 1033
1212 Here are the Emacs Lisp forms of the above regexps: 1034 If you are using a windowing system such as X, you can cause the region
1213 1035 to be highlighted when the mark is active by including
1214 ;; regexp matching all printable characters: 1036
1215 "[\t\n\r\f -~]" 1037 (transient-mark-mode t)
1216 1038
1217 ;; regexp matching all unprintable characters: 1039 in your .emacs. There are also the following packages for content- based
1218 "[^\t\n\r\f -~]" 1040 highlighting:
1219 1041
122035: How can I highlight a region of text in Emacs? 1042 hilit19.el
1221 1043 font-lock.el
1222 There are ways to get highlighting (reverse video, inverse video) in GNU 1044
1223 Emacs 18.59, but either they require patching the C code of Emacs and 104534: How do I control Emacs's case-sensitivity when searching/replacing?
1224 rebuilding, or they are slow and the highlighting disappears if you scroll 1046
1225 or redraw the screen and it can not follow the point. Howard Gayle's
1226 patches for 8-bit output appear to allow highlighting (see question
1227 ^8-bit-output). Another patch for highlighting is by Kenichi Handa
1228 <handa@etl.go.jp>. There is a patch for use with X by Andy Norman
1229 <ange@hplb.hpl.hp.com> (and modified for 18.57 by Matthieu Herrb
1230 <matthieu@laas.fr>), which is available for FTP:
1231
1232 /laas.laas.fr:pub/emacs/patch-X11-18.55
1233 /laas.laas.fr:pub/emacs/patch-X11-18.57
1234
1235 You can highlight regions in a variety of ways in Epoch and Lucid Emacs.
1236 GNU Emacs 19 may not be able to just temporarily highlight a region.
1237
1238 Similar comments apply to displaying text in different fonts, except that
1239 it is even harder.
1240
124136: How do I control Emacs's case-sensitivity when searching/replacing?
1242
1243 For searching, the value of the variable case-fold-search determines 1047 For searching, the value of the variable case-fold-search determines
1244 whether they are case sensitive: 1048 whether they are case sensitive:
1245 1049
1246 (setq case-fold-search nil) ; make searches case sensitive 1050 (setq case-fold-search nil) ; make searches case sensitive
1247 (setq case-fold-search t) ; make searches case insensitive 1051 (setq case-fold-search t) ; make searches case insensitive
1248 1052
1249 Similarly, for replacing the variable case-replace determines whether 1053 Similarly, for replacing the variable case-replace determines whether
1250 replacements preserve case. 1054 replacements preserve case.
1251 1055
1252 To change the case sensitivity just for one major mode, use the major 1056 To change the case sensitivity just for one major mode, use the major
1253 mode's hook. For example: 1057 mode's hook. For example:
1254 1058
1255 (setq XXX-mode-hook 1059 (add-hook 'XXX-mode-hook
1256 (function 1060 (function
1257 (lambda () 1061 (lambda ()
1258 (setq case-fold-search nil)))) 1062 (setq case-fold-search nil))))
1259 1063
126037: How do I make Emacs wrap words for me? 106435: How do I make Emacs wrap words for me?
1261 1065
1262 M-x auto-fill-mode. The default maximum line width is 74, determined by 1066 Use auto-fill mode, activated by typing "M-x auto-fill-mode". The
1263 the variable fill-column. To find how to turn this on automatically see 1067 default maximum line width is 70, determined by the variable fill-column.
1264 question 32. 1068 To learn how to turn this on automatically, see question 30.
1265 1069
126638: Where can I get a better spelling checker for Emacs? 107036: Where can I get a better spelling checker for Emacs?
1267 1071
1268 Use Ispell. See question 119. 1072 Use Ispell. See question 101.
1269 1073
127039: How can I spell-check TeX or *roff documents? 107437: How can I spell-check TeX or *roff documents?
1271 1075
1272 If you want to spell-check TeX or *roff documents with Ispell, you need to 1076 Use Ispell. See question 101. Ispell can handle TeX and *roff
1273 arrange for a filter program that understands how to strip TeX or *roff 1077 documents.
1274 formatting commands to be run. In the TeX distribution, there are several 1078
1275 different programs named `detex', all with incompatible options, and a 107938: How do I change load-path?
1276 very old pair of programs named `detex' and `delatex', which should 1080
1277 probably be avoided. The most useful one for Ispell is `detex' by Daniel
1278 Trinkle. A more recent version is available via FTP:
1279
1280 /arthur.cs.purdue.edu:pub/trinkle/detex-2.4.tar
1281
1282 Raphael Cerf <cerf@clipper.ens.fr> recently released a program for this
1283 named `xetal':
1284
1285 /spi.ens.fr:pub/unix/tex/
1286
1287 There is a program that comes with Unix named `deroff' for stripping
1288 formatting commands from *roff files.
1289
1290 Here is an example of code you can put in a .emacs file to use these
1291 programs:
1292
1293 ;; Based on suggestions by David G. Grubbs <dgg@ksr.com> and Paul Palmer
1294 ;; <palmerp@math.orst.edu>.
1295
1296 ;; Assuming the use of detex 2.3 by Daniel Trinkle:
1297 ;; -w means one word per line.
1298 ;; -n means don't expand \input or \include commands.
1299 ;; -l means force LaTeX mode.
1300
1301 (require 'ispell) ; for the make-variable-buffer-local statements
1302 (setq plain-TeX-mode-hook
1303 (function
1304 (lambda ()
1305 (setq ispell-filter-hook "detex")
1306 (setq ispell-filter-hook-args '("-nw")))))
1307 (setq LaTeX-mode-hook
1308 (function
1309 (lambda ()
1310 (setq ispell-filter-hook "detex")
1311 (setq ispell-filter-hook-args '("-lnw")))))
1312 (setq nroff-mode-hook
1313 (function
1314 (lambda ()
1315 (setq ispell-filter-hook "deroff")
1316 (setq ispell-filter-hook-args '("-w")))))
1317
1318 You will have to adjust the arguments for programs other than Trinkle's
1319 detex or for other versions of deroff. Experiment running the command
1320 from the shell to find the correct options. If you don't have a filter
1321 that knows how to output one word per line, you must pipe its output
1322 through another filter to break up the output.
1323
132440: How do I change load-path?
1325
1326 In general, you should only *add* to the load-path. You can add 1081 In general, you should only *add* to the load-path. You can add
1327 directory /XXX/YYY to the load path like this: 1082 directory /XXX/YYY to the load path like this:
1328 1083
1329 (setq load-path (append load-path '("/XXX/YYY/"))) 1084 (setq load-path (cons "/XXX/YYY/" load-path))
1330 1085
1331 To do this relative to your home directory: 1086 To do this relative to your home directory:
1332 1087
1333 (setq load-path (append load-path (list (expand-file-name "~/YYY/")))) 1088 (setq load-path (cons "~/YYY/" load-path)
1334 1089
133541: How do I use an already running Emacs from another window? 109039: How do I use an already running Emacs from another window?
1336 1091
1337 The `emacsclient' program is for editing a file using an already running 1092 The `emacsclient' program is for editing a file using an already running
1338 Emacs rather than starting up a new Emacs. It does this by sending a 1093 Emacs rather than starting up a new Emacs. It does this by sending a
1339 request to the already running Emacs, which must be expecting the request. 1094 request to the already running Emacs, which must be expecting the
1340 1095 request.
1096
1341 * Setup 1097 * Setup
1342 1098
1343 Emacs must have executed the `server-start' function for emacsclient to 1099 Emacs must have executed the `server-start' function for emacsclient to
1344 work. This can be done either by a command line option: 1100 work. This can be done either by a command line option:
1345 1101
1346 emacs -f server-start 1102 emacs -f server-start
1347 1103
1348 or by invoking server-start from the .emacs file: 1104 or by invoking server-start from the .emacs file:
1349 1105
1350 (if (some conditions are met) (server-start)) 1106 (if (some conditions are met) (server-start))
1351 1107
1352 When this is done, Emacs starts a subprocess running a program called 1108 When this is done, Emacs starts a subprocess running a program called
1353 `server'. `server' creates a Unix domain socket in the user's home 1109 `server'. `server' creates a Unix domain socket in the user's home
1354 directory named `.emacs_server'. 1110 directory named `.emacs_server'.
1355 1111
1356 To get your news reader, mail reader, etc., to invoke emacsclient, try 1112 To get your news reader, mail reader, etc., to invoke emacsclient, try
1357 setting the environment variable EDITOR (or sometimes VISUAL) to the 1113 setting the environment variable EDITOR (or sometimes VISUAL) to the
1358 value `emacsclient'. You may have to specify the full pathname of the 1114 value `emacsclient'. You may have to specify the full pathname of the
1359 emacsclient program instead. Examples: 1115 emacsclient program instead. Examples:
1360 1116
1361 # csh commands: 1117 # csh commands:
1362 setenv EDITOR emacsclient 1118 setenv EDITOR emacsclient
1363 setenv EDITOR /usr/local/emacs/etc/emacsclient # using full pathname 1119 setenv EDITOR /usr/local/emacs/etc/emacsclient # using full pathname
1364 1120
1365 # sh command: 1121 # sh command:
1366 EDITOR=emacsclient export EDITOR 1122 EDITOR=emacsclient ; export EDITOR
1367 1123
1368 * Normal use 1124 * Normal use
1369 1125
1370 When emacsclient is run, it connects to the `.emacs_server' socket and 1126 When emacsclient is run, it connects to the `.emacs_server' socket and
1371 passes its command line options to `server'. When `server' receives 1127 passes its command line options to `server'. When `server' receives
1372 these requests, it sends this information on the the Emacs process, 1128 these requests, it sends this information on the the Emacs process,
1373 which at the next opportunity will visit the files specified. (Line 1129 which at the next opportunity will visit the files specified. (Line
1374 numbers can be specified just like with Emacs.) The user will have to 1130 numbers can be specified just like with Emacs.) The user will have to
1375 switch to the Emacs window by hand. When the user is done editing a 1131 switch to the Emacs window by hand. When the user is done editing a
1376 file, the user can type "C-x #" to indicate this. This will switch to 1132 file, the user can type "C-x #" (or M-x server-edit) to indicate this.
1377 another buffer created at the request of emacsclient if there are any. 1133 If there is another buffer requested by emacsclient, Emacs will switch
1378 When "C-x #" has been invoked on all of the files that the emacsclient 1134 to it; otherwise emacsclient will exit, signaling the calling program
1379 requested to be edited, Emacs will send notification of this to `server' 1135 to continue.
1380 which will pass this on to the emacsclient, which will then exit. 1136
1381 1137 NOTE: `emacsclient' and `server' must be running on machines which
1382 NOTE: `emacsclient' and `server' must be running on machines which share 1138 share the same filesystem for this to work. The pathnames that
1383 the same filesystem for this to work. The pathnames that emacsclient 1139 emacsclient specifies should be correct for the filesystem that the
1384 specifies should be correct for the filesystem that the Emacs process 1140 Emacs process sees. The Emacs process should not be suspended at the
1385 sees. The Emacs process should not be suspended at the time emacsclient 1141 time emacsclient is invoked. emacsclient should either be invoked from
1386 is invoked. emacsclient should either be invoked from another X window or 1142 another X window or from a shell window inside Emacs itself.
1387 from a shell window inside Emacs itself. 1143
1388 1144 There is an enhanced version of emacsclient/server called `gnuserv' by
1389 There is an enhanced version of emacsclient/server called `gnuserv' by 1145 Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp
1390 Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp 1146 Archive. gnuserv uses Internet domain sockets, so it can work across
1391 Archive. gnuserv uses Internet domain sockets, so it can work across most 1147 most network connections. It also supports the execution of arbitrary
1392 network connections. It also supports the execution of arbitrary Emacs 1148 Emacs Lisp forms and also does not require the client program to wait
1393 Lisp forms and also does not require the client program to wait for 1149 for completion. It is available via anonymous FTP (Emacs Lisp Archive:
1394 completion. It is available via anonymous FTP (Emacs Lisp Archive: 1150 packages/gnuserv.shar).
1395 packages/gnuserv.shar). 1151
1396 115240: How do I make Emacs recognize my compiler's funny error messages?
139742: How do I make Emacs recognize my compiler's funny error messages? 1153
1398 1154 The variable compilation-error-regexp-alist helps control how Emacs
1399 Write a program which runs the compiler as a child and filters its output, 1155 parses your compiler output. It is a list of triples of the form:
1400 rearranging as necessary. Install with same name as compiler somewhere in 1156
1401 path. 1157 (REGEXP FILE-IDX LINE-IDX)
1402 1158
1403 Keith Moore <moore@cs.utk.edu> wrote one such for a C compiler under AIX. 1159 where REGEXP, FILE-IDX and LINE-IDX are strings. To help determine what
1404 Available via FTP: 1160 the constituent elements should be, load compile.el and then use
1405 1161
1406 /cs.utk.edu:readonly/aixcc.lex 1162 C-h v compilation-error-regexp-alist RET
1407 1163
1408 Jim Frost <jimf@saber.com> wrote another for the IBM xlc compiler on the 1164 to see the current value. A good idea is to look at compile.el itself as
1409 RS/6000. (I don't know if these are both for the same compiler.) 1165 the comments included for this variable are quite useful -- the regular
1410 Johnathan Vail <vail@tegra.COM> wrote something for a High C compiler 1166 expressions required for your compiler's output may be very close to one
1411 (`hc', which is one of the compilers on the RS/6000, although I think 1167 already provided. Once you have determined the proper regexps, use the
1412 Johnathan wrote his program for hc on a different computer). 1168 following to inform Emacs of your changes:
1413 1169
141443: How do I indent switch statements like this? 1170 (setq compilation-error-regexp-alist
1415 1171 (cons '(REGEXP FILE-IDX LINE-IDX)
1172 compilation-error-regexp-alist))
1173
117441: How do I indent switch statements like this?
1175
1416 Many people want to indent their switch statements like this: 1176 Many people want to indent their switch statements like this:
1417 1177
1418 f() 1178 f()
1419 { 1179 {
1420 switch(x) { 1180 switch(x) {
@@ -1428,1408 +1188,1000 @@ Common Things People Want To Do
1428 x3; 1188 x3;
1429 } 1189 }
1430 } 1190 }
1431 1191
1432 I don't believe there is any way to do this exactly without modifying the 1192 The solution at first appears to be: set c-indent-level to 4 and
1433 Lisp code in c-mode.el. You can set c-indent-level to 4 and 1193 c-label-offset to -2. However, this will give you an indentation spacing
1434 c-label-offset to -2, but this has bad effects elsewhere. {Anyone have a 1194 of four instead of two.
1435 solution?} 1195
1436 1196 The solution is to use cc-mode (available from the Emacs Lisp Archive)
143744: How can I make Emacs automatically scroll horizontally? 1197 and add the following line:
1438 1198
1439 There is no completely correct way of doing this that does not involve 1199 (c-set-offset 'case-label '+)
1440 rewriting all commands or writing your own top-level command loop (not a 1200
1441 completely bad idea). Wayne Mesard <wmesard@pescadero.stanford.edu> has 1201 There appears to be no way to do this with the old c-mode.
1442 written a particularly advanced kludge called `hscroll.el' that checks 1202
1443 once a second to make sure point is visible. 120342: How can I make Emacs automatically scroll horizontally?
1444 1204
144545: How do I make Emacs "typeover" or "overwrite" instead of inserting? 1205 Use hscroll.el by Wayne Mesard <wmesard@esd.sgi.com>.
1446 1206
120743: How do I make Emacs "typeover" or "overwrite" instead of inserting?
1208
1447 M-x overwrite-mode (a minor mode). 1209 M-x overwrite-mode (a minor mode).
1448 1210
144946: How do I stop Emacs from beeping on a terminal? 1211 On some workstations, the "Insert" key toggles insert and overwrite
1450 1212 modes.
1213
121444: How do I stop Emacs from beeping on a terminal?
1215
1451 Martin R. Frank <martin@cc.gatech.edu> writes: 1216 Martin R. Frank <martin@cc.gatech.edu> writes:
1452 1217
1453 Tell Emacs to use the 'visible bell' instead of the audible bell, and 1218 Tell Emacs to use the `visible bell' instead of the audible bell, and
1454 set the visible bell to nothing. 1219 set the visible bell to nothing.
1455 1220
1456 Put this in your TERMCAP environment variable: 1221 Put this in your TERMCAP environment variable:
1457 1222
1458 ... :vb=: ... 1223 ... :vb=: ...
1459 1224
1460 And evaluate this: 1225 And evaluate this:
1461 1226
1462 (setq visible-bell t) 1227 (setq visible-bell t)
1463 1228
146447: How do I turn down the bell volume in Emacs running under X Windows? 122945: How do I turn down the bell volume in Emacs running under X Windows?
1465 1230
1466 Under versions of Emacs before 18.58, the bell volume was annoying loud 1231 You can adjust the bell volume and duration for all programs with the
1467 and difficult to turn off. So upgrading to 18.58 or higher will reduce 1232 shell command xset.
1468 the volume. If you want to turn it off completely, use `xset'. There is 1233
1469 no way to turn the bell off just for Emacs without affecting all other 1234 Invoking xset without any arguments produces some basic information,
1470 programs. 1235 including the following:
1471 1236
1472 Under Epoch you can do: 1237 usage: xset [-display host:dpy] option ...
1473 1238 To turn bell off:
1474 (setq epoch::bell-volume 20) 1239 -b b off b 0
1475 1240 To set bell volume, pitch and duration:
1476 Stu Grossman <grossman@sunburn.stanford.edu> wrote a patch that allows the 1241 b [vol [pitch [dur]]] b on
1477 bell volume to be adjusted from inside Emacs just for Emacs. 1242
1478 124346: How do I tell Emacs to automatically indent a new line to the
147948: How do I tell Emacs to automatically indent a new line to the 1244 indentation of the previous line?
1480 indentation of the previous line? 1245
1481
1482 One solution is Indented Text Mode (M-x indented-text-mode). 1246 One solution is Indented Text Mode (M-x indented-text-mode).
1483 1247
1484 If you have Auto-Fill mode on (a minor mode, see question 32), you can 1248 If you have auto-fill mode on (a minor mode, see question 30), you can
1485 tell Emacs to prefix every line with a certain character sequence, the 1249 tell Emacs to prefix every line with a certain character sequence, the
1486 "fill prefix". Type the prefix at the beginning of a line, position point 1250 "fill prefix." Type the prefix at the beginning of a line, position
1487 after it, and then type "C-x ." (set-fill-prefix) to set the fill prefix. 1251 point after it, and then type "C-x ." (set-fill-prefix) to set the fill
1488 Thereafter, auto-filling will automatically put the fill prefix at the 1252 prefix. Thereafter, auto-filling will automatically put the fill prefix
1489 beginning of new lines, and M-q (fill-paragraph) will maintain any fill 1253 at the beginning of new lines, and M-q (fill-paragraph) will maintain any
1490 prefix when refilling the paragraph. 1254 fill prefix when refilling the paragraph.
1491 1255
1492 NOTE: If you have paragraphs with different levels of indentation, you 1256 NOTE: If you have paragraphs with different levels of indentation, you
1493 will have to set the fill prefix to the correct value each time you move 1257 will have to set the fill prefix to the correct value each time you move
1494 to a new paragraph. To avoid this hassle, try one of the many packages 1258 to a new paragraph. To avoid this hassle, try one of the many packages
1495 available from the Emacs Lisp Archive. Look up `fill' and `indent' in the 1259 available from the Emacs Lisp Archive. Look up `fill' and `indent' in
1496 Lisp Code Directory for guidance. 1260 the Lisp Code Directory for guidance.
1497 1261
149849: How do I show which parenthesis matches the one I'm looking at? 126247: How do I show which parenthesis matches the one I'm looking at?
1499 1263
1500 If you're looking at a right parenthesis (or brace or bracket) you can 1264 GNU Emacs 19 comes with paren.el, which (when loaded) will automatically
1501 delete it and reinsert it. Emacs will blink the cursor on the matching 1265 highlight matching parentheses whenever point (i.e., the cursor) is
1502 parenthesis. 1266 located over one. To load paren automatically, include the line
1503 1267
1504 M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over balanced 1268 (require 'paren)
1505 parentheses, so you can see which parentheses match. (You can train it to 1269
1506 skip over balanced brackets and braces at the same time by modifying the 1270 in your .emacs file.
1507 syntax table.) 1271
1508 1272 Alternatives to paren include:
1509 Here is some Emacs Lisp that will make the % key show the matching 1273
1510 parenthesis, like in vi. In addition, if the cursor isn't over a 1274 * If you're looking at a right parenthesis (or brace or bracket) you can
1511 parenthesis, it simply inserts a % like normal. 1275 delete it and reinsert it. Emacs will blink the cursor on the matching
1512 1276 parenthesis.
1513 ;; By an unknown contributor 1277
1514 1278 * M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over one set
1515 (global-set-key "%" 'match-paren) 1279 of balanced parentheses, so you can see which parentheses match. (You
1516 1280 can train it to skip over balanced brackets and braces at the same time
1517 (defun match-paren (arg) 1281 by modifying the syntax table.)
1518 "Go to the matching parenthesis if on parenthesis otherwise insert %." 1282
1519 (interactive "p") 1283 * Here is some Emacs Lisp that will make the % key show the matching
1520 (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) 1284 parenthesis, like in vi. In addition, if the cursor isn't over a
1521 ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) 1285 parenthesis, it simply inserts a % like normal.
1522 (t (self-insert-command (or arg 1))))) 1286
1523 1287 ;; By an unknown contributor
152450: In C mode, can I show just the lines that will be left after #ifdef 1288
1525 commands are handled by the compiler? 1289 (global-set-key "%" 'match-paren)
1526 1290
1291 (defun match-paren (arg)
1292 "Go to the matching parenthesis if on parenthesis otherwise insert %."
1293 (interactive "p")
1294 (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1))
1295 ((looking-at "\\s\)") (forward-char 1) (backward-list 1))
1296 (t (self-insert-command (or arg 1)))))
1297
129848: In C mode, can I show just the lines that will be left after #ifdef
1299 commands are handled by the compiler?
1300
1527 M-x hide-ifdef-mode. (This is a minor mode.) 1301 M-x hide-ifdef-mode. (This is a minor mode.)
1528 1302
1529 You may have to (load "hideif") first. If you want to do this regularly, 130349: Is there an equivalent to the `.' (dot) command of vi?
1530 put this in your .emacs file: 1304
1531
1532 (autoload 'hide-ifdef-mode "hideif" nil t)
1533
1534 {Yes, I know, this should be in lisp/loaddefs.el already.}
1535
153651: Is there an equivalent to the `.' (dot) command of vi?
1537
1538 (`.' is the redo command in vi. It redoes the last insertion/deletion.) 1305 (`.' is the redo command in vi. It redoes the last insertion/deletion.)
1539 1306
1540 No, not really. 1307 No, not really.
1541 1308
1542 You can type "C-x ESC" (repeat-complex-command) to reinvoke commands that 1309 You can type "C-x ESC ESC" (repeat-complex-command) to reinvoke commands
1543 used the minibuffer to get arguments. In repeat-complex-command you can 1310 that used the minibuffer to get arguments. In repeat-complex-command you
1544 type M-p and M-n to scan through all the different complex commands you've 1311 can type M-p and M-n to scan through all the different complex commands
1545 typed. 1312 you've typed.
1546 1313
1547 To repeat something on each line I recommend using keyboard macros. 1314 To repeat something on each line, use keyboard macros. (See `Keyboard
1548 1315 Macros' in the on-line manual.)
154952: What are the valid X resource settings (ie., stuff in .Xdefaults)? 1316
1550 131750: What are the valid X resource settings (i.e., stuff in .Xdefaults)?
1551 See the Emacs man page, or the etc/OPTIONS file. Ignore the information 1318
1552 in etc/XDOC which is way out of date. 1319 See Emacs man page, or "Resources X" in the on-line manual.
1553 1320
155453: How do I execute a piece of Emacs Lisp code? 1321 You can also use a resource editor, such as editres (for X11R5 and
1555 1322 onwards), to look at the resource names for the menu bar, assuming Emacs
1323 was compiled with the X toolkit.
1324
132551: How do I execute a piece of Emacs Lisp code?
1326
1556 There are a number of ways to execute (called "evaluate") an Emacs Lisp 1327 There are a number of ways to execute (called "evaluate") an Emacs Lisp
1557 "form": 1328 "form":
1558 1329
1559 * If you want it evaluated every time you run Emacs, put it in a file 1330 * If you want it evaluated every time you run Emacs, put it in a file
1560 named `.emacs' in your home directory. 1331 named `.emacs' in your home directory.
1561 1332
1562 * You can type the form in the *scratch* buffer, and then type LFD (or 1333 * You can type the form in the *scratch* buffer, and then type LFD (or
1563 C-j) after it. The result of evaluating the form will be inserted in 1334 C-j) after it. The result of evaluating the form will be inserted in
1564 the buffer. 1335 the buffer.
1565 1336
1566 * In Emacs-Lisp mode, typing M-C-x evaluates a top-level form before or 1337 * In Emacs-Lisp mode, typing M-C-x evaluates a top-level form before or
1567 around point. 1338 around point.
1568 1339
1569 * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately 1340 * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately
1570 before point and prints its value in the echo area. 1341 before point and prints its value in the echo area.
1571 1342
1572 * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in 1343 * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in
1573 the minibuffer which will be evaluated. 1344 the minibuffer which will be evaluated.
1574 1345
1575 * You can use M-x load-file to have Emacs evaluate all the Lisp forms in 1346 * You can use M-x load-file to have Emacs evaluate all the Lisp forms in
1576 a file. (To do this from Lisp use the function `load' instead.) 1347 a file. (To do this from Lisp use the function `load' instead.)
1577 1348
1578 These functions are also used for evaluating Lisp forms: 1349 These functions are also used for evaluating Lisp forms:
1579 1350
1580 load-library, eval-region, eval-current-buffer, require, autoload 1351 load-library, eval-region, eval-current-buffer, require, autoload
1581 1352
158254: How do I change Emacs's idea of the tab character's length? 135352: How do I change Emacs's idea of the tab character's length?
1583 1354
1584 Example: (setq default-tab-width 10). 1355 Set the variable default-tab-width. For example, to set tab stops every
1585 1356 10 characters, insert the following in your .emacs file:
158655: How do I insert `>' at the beginning of every line? 1357
1587 1358 (setq default-tab-width 10)
1359
136053: How do I insert `>' at the beginning of every line?
1361
1588 Type "M-x replace-regexp RET ^ RET > RET". 1362 Type "M-x replace-regexp RET ^ RET > RET".
1589 1363
1590 To do this only in the region, type "C-x n M-x replace-regexp RET ^ RET 1364 To do this only in the region, type "C-x n n M-x replace-regexp RET ^ RET
1591 > RET C-x w". 1365 > RET C-x w".
1592 1366
1593 WARNING: The command narrow-to-region (C-x n) is disabled by default 1367 WARNING: The command narrow-to-region (C-x n n) is disabled by default
1594 because it can be very confusing (ie., "Oh no! Where did my file go?"). 1368 because it can be very confusing (i.e., "Oh no! Where did my file go?").
1595 1369
159656: How do I insert `_^H' before each character in a paragraph to get an 137054: How do I insert `_^H' before each character in a paragraph to get an
1597 underlined paragraph? 1371 underlined paragraph?
1598 1372
1599 M-x underline-region. 1373 M-x underline-region.
1600 1374
160157: How do I repeat a command as many times as possible? 137555: How do I repeat a command as many times as possible?
1602 1376
1603 Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command 1377 Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command
1604 and then type "M-0 C-x e". 1378 and then type "M-0 C-x e".
1605 1379
1606 WARNING: any messages your command prints in the echo area will be 1380 WARNING: any messages your command prints in the echo area will be
1607 suppressed. 1381 suppressed.
1608 1382
160958: How do I make Emacs behave like this: when I go up or down, the cursor 138356: How do I make Emacs behave like this: when I go up or down, the cursor
1610 should stay in the same column even if the line is too short? 1384 should stay in the same column even if the line is too short?
1611 1385
1612 M-x picture-mode. (This is a minor mode, in theory anyway ...) 1386 M-x picture-mode. (This is a minor mode, in theory anyway ...)
1613 1387
161459: How do I tell Emacs to iconify itself? 138857: How do I tell Emacs to iconify itself?
1615 1389
1616 You need to modify C source and recompile. Either that or get Epoch or 1390 "C-z" iconifies Emacs when running in X and suspends Emacs otherwise.
1617 Lucid Emacs instead. Patches have been written by Robert Forsman 1391 See `Misc X' in the on-line manual.
1618 <thoth@reef.cis.ufl.edu> and Johan Vromans <jv@mh.nl> to allow Emacs to 1392
1619 iconify itself and by Matt Wette <mwette@mr-ed.jpl.nasa.gov> and 139358: How do I use regexps (regular expressions) in Emacs?
1620 Manavendra K. Thakur <thakur@zerkalo.harvard.edu> (for 18.57, plus icon 1394
1621 geometry) to allow Emacs to start up iconified. I don't know which of 1395 See `Regexps' in the on-line manual.
1622 these patches work together. 1396
1623
1624 Anonymous FTP:
1625 /csi.jpl.nasa.gov:pub/emax.patch1 (Matt Wette)
1626 /ftp.eu.net:gnu/emacs/FP-Xfun.Z (Johan Vromans)
1627 /ftp.urc.tue.nl:/pub/tex/emacs/FP-Xfun (Johan Vromans)
1628
162960: How do I use regexps (regular expressions) in Emacs?
1630
1631 See `Regexps' in the online manual.
1632
1633 WARNING: The "or" operator is `\|', not `|', and the grouping operators 1397 WARNING: The "or" operator is `\|', not `|', and the grouping operators
1634 are `\(' and `\)'. Also, the string syntax for a backslash is "\\". 1398 are `\(' and `\)'. Also, the string syntax for a backslash is "\\".
1635 Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is 1399 Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is
1636 "xxx\\(foo\\|bar\\)". Notice the duplicated backslashes! 1400 "xxx\\(foo\\|bar\\)". Notice the duplicated backslashes!
1637 1401
1638 WARNING: Unlike in Unix grep, sed, etc., a complement character set 1402 WARNING: Unlike in Unix grep, sed, etc., a complement character set
1639 ([^...]) can match a newline character (LFD aka C-j aka \n), unless 1403 ([^...]) can match a newline character (LFD aka C-j aka \n), unless
1640 newline is mentioned as one of the characters not to match. 1404 newline is mentioned as one of the characters not to match.
1641 1405
1642 WARNING: The character syntax regexps (eg. `\sw') are not meaningful 1406 WARNING: The character syntax regexps (e.g., `\sw') are not meaningful
1643 inside character set regexps (eg. `[aeiou]'). (This is actually typical 1407 inside character set regexps (e.g., `[aeiou]'). (This is actually
1644 for regexp syntax.) 1408 typical for regexp syntax.)
1645 1409
164661: How do I perform a replace operation across more than one file? 141059: How do I perform a replace operation across more than one file?
1647 1411
1648 The "tags" feature of Emacs includes the command tags-query-replace which 1412 The "tags" feature of Emacs includes the command tags-query-replace which
1649 performs a query-replace across all the files mentioned in the TAGS file. 1413 performs a query-replace across all the files mentioned in the TAGS file.
1650 See `Tags:Tags Search' in the online manual. 1414 See `Tags:Tags Search' in the on-line manual.
1651 1415
1652 In addition, Martin Boyer has written a package named global-replace which 1416 In addition, Martin Boyer has written a package named global-replace
1653 will perform a query-replace across all the files mentioned in the 1417 which will perform a query-replace across all the files mentioned in the
1654 *compilation* buffer (usually done after a `grep'), which is available via 1418 *compilation* buffer (usually done after a `grep'), which is available
1655 anonymous FTP: 1419 via anonymous FTP:
1656 1420
1657 /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.Z 1421 /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.z
1658 /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.Z 1422 /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.z
1659 /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.Z 1423 /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.z
1660 1424
166162: Where is the documentation for `etags'? 1425 NOTE: These files are compressed using GNU zip ("gzip"); you can get a
1662 1426 copy from gzip from prep and its mirrors (see question 80).
1663 `etags' takes options just like a prior version of ctags, so your ctags 1427
1664 manual (if any) may be useful. Eoin Woods, in comp.emacs, writes the ! 142860: Where is the documentation for `etags'?
1665 following: ! 1429
1666 ! 1430 The `etags' man page should be in the same place as the `emacs' man page.
1667 From reading the source (!) the way I use it is: ! 1431
1668 ! 1432 Quick command-line switch descriptions are also available. For example,
1669 for f in `find <args>` ! 1433 `etags -H'.
1670 do !
1671 etags -at -f ETAGS $f !
1672 done !
1673 !
1674 The "-t" option means to create tags for typedefs as well as functions. !
1675 The "-a" option tells it to append to the output file. If you have a !
1676 small number of files (up to a few hundred I think) you can use it !
1677 direct as: !
1678 !
1679 etags -f ETAGS file1 file2 file3 ... filen !
1680 !
1681 The option list is: !
1682 !
1683 -f file - Specify the output file name (Default is "TAGS") !
1684 -a - Append to the output file. (Default is to rewrite it) !
1685 -t - Create tags for typedefs (default is just functions) !
1686 -u - Update the output file. Do not re-create it. !
1687 -w - Suppress warnings !
1688 -v - Create vgrind style indexed output (What is vgrind??) !
1689 -x - Create cxref style output (default is Emacs Tags) !
1690 -e - Emacs tags style output (the default the way I !
1691 compile it) !
1692 !
1693 Having got it working, it works fine! !
1694
1695 1434
1696 1435
1697Bugs/Problems 1436Bugs/Problems
1698 1437
169963: Does Emacs have problems with files larger than 8 megabytes? 143861: Does Emacs have problems with files larger than 8 megabytes?
1700 1439
1701 Most installed versions of GNU Emacs will use 24-bit signed integers (and 1440 Most installed versions of GNU Emacs will use 24-bit signed integers (and
1702 24-bit pointers) internally. This limits the file size that Emacs can 1441 24-bit pointers) internally. This limits the file size that Emacs can
1703 handle to 8,388,607 bytes (2^23 - 1). 1442 handle to 8,388,607 bytes (2^23 - 1).
1704 1443
1705 Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two 1444 Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two
1706 lines in src/config.h before compiling Emacs to allow for 26-bit integers 1445 lines in src/config.h before compiling Emacs to allow for 26-bit integers
1707 and pointers (and thus filesizes of up to 33,554,431 bytes): 1446 and pointers (and thus filesizes of up to 33,554,431 bytes):
1708 1447
1709 #define VALBITS 26 1448 #define VALBITS 26
1710 #define GCTYPEBITS 5 1449 #define GCTYPEBITS 5
1711 1450
1712 WARNING: This method may result in `ILLEGAL DATATYPE' and other random 1451 WARNING: This method may result in `ILLEGAL DATATYPE' and other random
1713 errors on some machines. 1452 errors on some machines.
1714 1453
1715 David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why 1454 David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why
1716 Emacs uses 24 bit integers and pointers: 1455 Emacs uses 24 bit integers and pointers:
1717 1456
1718 Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed 1457 Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed
1719 language in the sense that you can put any value of any type into any 1458 language in the sense that you can put any value of any type into any
1720 variable, or return it from a function, and so on. So each value must 1459 variable, or return it from a function, and so on. So each value must
1721 carry a "tag" along with it identifying what kind of thing it is, eg., 1460 carry a "tag" along with it identifying what kind of thing it is, e.g.,
1722 integer, pointer to a list, pointer to an editing buffer, and so on. 1461 integer, pointer to a list, pointer to an editing buffer, and so on.
1723 Emacs uses standard 32-bit integers for data objects, taking the top 8 1462 Emacs uses standard 32-bit integers for data objects, taking the top 8
1724 bits for the tag and the bottom 24 bits for the value. So integers (and 1463 bits for the tag and the bottom 24 bits for the value. So integers
1725 pointers) are somewhat restricted compared to true C integers and 1464 (and pointers) are somewhat restricted compared to true C integers and
1726 pointers. 1465 pointers.
1727 1466
1728 Emacs uses 8-bit tags because that's a little faster on byte-oriented 1467 Emacs uses 8-bit tags because that's a little faster on byte-oriented
1729 machines, but there are only really enough tags to require 6 bits. 1468 machines, but there are only really enough tags to require 6 bits.
1730 1469
173164: Why can't Emacs find files in current directory on startup? 147062: How do I get rid of the ^M junk in my shell buffer?
1732 1471
1733 The PWD bug has been fixed as of GNU Emacs 18.59. Read on if you are 1472 Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them
1734 running an older version of Emacs. 1473 go away. If that doesn't work, you have several options:
1735 1474
1736 Most likely, you have an environment variable named PWD that is set to a
1737 value other than the name of your current directory. This is most
1738 likely caused by using two different shell programs. `ksh' and (some
1739 versions of) `csh' set and maintain the value of the PWD environment
1740 variable, but `sh' doesn't. If you start sh from ksh, change your
1741 current directory inside sh, and then start Emacs from inside sh, PWD
1742 will have the wrong value but Emacs will use this value. An invalid
1743 setting for PWD can also be a problem if you use X Windows and csh on an
1744 RS/6000. See the etc/OPTIONS file for more details.
1745
1746 Perhaps an easier solution is not to use two shells. The `chsh' program
1747 can often be used to change one's default login shell.
1748
1749 You may have PWD set for other reasons. Another possibility is that you
1750 are setting default-directory from your .emacs file.
1751
1752 Here is a fix by Jim Blandy <jimb@occs.cs.oberlin.edu>:
1753
1754 >--- emacs/jjj/emacs-18.58/lisp/startup.el Tue Jan 15 23:19:04 1991
1755 >+++ startup.el Mon Apr 20 00:21:01 1992
1756 >@@ -81,5 +81,7 @@
1757 > ;; In presence of symlinks, switch to cleaner form of default directory.
1758 > (if (and (not (eq system-type 'vax-vms))
1759 >- (getenv "PWD"))
1760 >+ (getenv "PWD")
1761 >+ (equal (nthcdr 10 (file-attributes default-directory))
1762 >+ (nthcdr 10 (file-attributes (getenv "PWD")))))
1763 > (setq default-directory (file-name-as-directory (getenv "PWD"))))
1764 > (unwind-protect
1765
176665: How do I get rid of the ^M junk in my Shell buffer?
1767
1768 For tcsh, put this in your `.cshrc' (or `.tcshrc') file: 1475 For tcsh, put this in your `.cshrc' (or `.tcshrc') file:
1769 1476
1770 if ($?EMACS) then 1477 if ($?EMACS) then
1771 if ("$EMACS" == t) then 1478 if ("$EMACS" == t) then
1772 if ($?tcsh) unset edit 1479 if ($?tcsh) unset edit
1773 stty nl 1480 stty nl
1774 endif 1481 endif
1775 endif 1482 endif
1776 1483
1777 Or put this in your .emacs_tcsh file: 1484 Or put this in your .emacs_tcsh file:
1778 1485
1779 unset edit 1486 unset edit
1780 stty nl 1487 stty nl
1781 1488
1782 Alternatively, use csh in your Shell buffers instead of tcsh. One way 1489 Alternatively, use csh in your shell buffers instead of tcsh. One way
1783 is: 1490 is:
1784 1491
1785 (setq explicit-shell-file-name "/bin/csh") 1492 (setq explicit-shell-file-name "/bin/csh")
1786 1493
1787 and another is to do this in your .cshrc (or .tcshrc) file: 1494 and another is to do this in your .cshrc (or .tcshrc) file:
1788 1495
1789 setenv ESHELL /bin/csh 1496 setenv ESHELL /bin/csh
1790 1497
1791 (You must start Emacs over again with the environment variable properly 1498 (You must start Emacs over again with the environment variable properly
1792 set for this to take effect.) 1499 set for this to take effect.)
1793 1500
179466: Why do I get `Process shell exited abnormally with code 1'? 150163: Why do I get `Process shell exited abnormally with code 1'?
1795 1502
1796 The most likely reason for this message is that the `env' program is not 1503 The most likely reason for this message is that the `env' program is not
1797 properly installed. This program should be compiled (for the correct 1504 properly installed. Compile this program for your architecture, and
1798 architecture!) and installed with execute permission for everyone in 1505 install it with a+x permission in the architecture-dependent Emacs
1799 Emacs's program directory, which is normally /usr/local/emacs/etc. You 1506 program directory. (You can find what this directory is at your site by
1800 can find what this directory is at your site by inspecting the value of 1507 inspecting the value of the variable exec-directory by typing "C-h v
1801 the variable exec-directory by typing "C-h v exec-directory RET". `env' 1508 exec-directory RET".)
1802 should also be for the correct architecture (check using `file' command). 1509
1803 1510 You should also check for other programs named `env' in your path (e.g.,
1804 You should also check for other programs named `env' in your path (eg., 1511 SunOS has a program named /usr/bin/env). We don't understand why this
1805 SunOS has a program named /usr/bin/env). I don't understand why this can 1512 can cause a failure and don't know a general solution for working around
1806 cause a failure and I don't know a general solution for working around the 1513 the problem in this case.
1807 problem in this case. 1514
1808 1515 The `make clean' command will remove `env' and other vital programs, so
1809 The `make clean' command will remove `env' and other vital programs, so be 1516 be careful when using it.
1810 careful when using it. 1517
1811
1812 It has been reported that this sometimes happened when Emacs was started 1518 It has been reported that this sometimes happened when Emacs was started
1813 as an X client from an xterm window (ie. had a controlling tty) but the 1519 as an X client from an xterm window (i.e., had a controlling tty) but the
1814 xterm was later terminated. 1520 xterm was later terminated.
1815 1521
1816 See also etc/PROBLEMS for other possible causes of this message. 1522 See also PROBLEMS (in the top-level directory when you unpack the Emacs
1817 1523 source) for other possible causes of this message.
181867: Why can't I cut from Emacs and paste in other X programs? 1524
1819 152564: Where is the termcap/terminfo entry for terminal type `emacs'?
1820 Emacs stores things you "cut" in the X "cut buffers". It also pastes from 1526
1821 the cut buffer `CUT_BUFFER0'. This is obsolete. Most modern X programs
1822 now expect to work with "selections" instead of cut buffers, although some
1823 like `xterm' will try to use the cut buffers if the selection is null.
1824
1825 Emacs 18.58 contains a "fix" that makes xterm work by default. This
1826 "fix" is that Emacs clears the `PRIMARY' selection when it stores
1827 something in the cut buffer. By making the selection null, xterm will
1828 then fetch from the cut buffer when you try to paste.
1829
1830 For versions of Emacs prior to 18.58, you can make pasting from Emacs into
1831 xterm work with the following X resources:
1832
1833 ! Solution by Thomas Narten, should work under X11R3 and later GNU
1834 ! Emacs only copies to CUT_BUFFER0. xterm by default wants to paste
1835 ! from the PRIMARY selection.
1836 XTerm*VT100.Translations: #override \
1837 ~Meta <Btn2Up>: insert-selection(CUT_BUFFER0,PRIMARY)
1838
1839 You may have problems copying between Emacs and programs other than xterm
1840 that won't store cut text in the cut buffers or look in the cut buffers
1841 for text to paste (for backwards compatibility with obsolete applications
1842 like Emacs :-). The best workaround is to use the `xcutsel' program as an
1843 intermediary.
1844
1845 This problem does not exist for Epoch or Lucid Emacs.
1846
184768: Where is the termcap/terminfo entry for terminal type `emacs'?
1848
1849 The termcap entry for terminal type `emacs' is ordinarily put in the 1527 The termcap entry for terminal type `emacs' is ordinarily put in the
1850 TERMCAP environment variable of subshells. It may help in certain 1528 TERMCAP environment variable of subshells. It may help in certain
1851 situations (eg., using rlogin from shell buffer) to add an entry for 1529 situations (e.g., using rlogin from shell buffer) to add an entry for
1852 `emacs' to the system-wide termcap file. Here is a correct termcap entry 1530 `emacs' to the system-wide termcap file. Here is a correct termcap entry
1853 for `emacs': 1531 for `emacs':
1854 1532
1855 emacs:tc=unknown: 1533 emacs:tc=unknown:
1856 1534
1857 To make a terminfo entry for `emacs', use `tic' or `captoinfo'. You need 1535 To make a terminfo entry for `emacs', use `tic' or `captoinfo'. You need
1858 to generate /usr/lib/terminfo/e/emacs. It may work to simply copy 1536 to generate /usr/lib/terminfo/e/emacs. It may work to simply copy
1859 /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs. 1537 /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs.
1860 1538
1861 Having a termcap/terminfo entry will not enable the use of full screen 1539 Having a termcap/terminfo entry will not enable the use of full screen
1862 programs in shell buffers. Use M-x terminal-emulator for that instead. 1540 programs in shell buffers. Use M-x terminal-emulator for that instead.
1863 1541
1864 A workaround to the problem of missing termcap/terminfo entries is to 1542 A workaround to the problem of missing termcap/terminfo entries is to
1865 change terminal type `emacs' to type `dumb' or `unknown' in your shell 1543 change terminal type `emacs' to type `dumb' or `unknown' in your shell
1866 start up file. `csh' users could put this in their .cshrc files: 1544 start up file. `csh' users could put this in their .cshrc files:
1867 1545
1868 if ("$term" == emacs) set term=dumb 1546 if ("$term" == emacs) set term=dumb
1869 1547
187069: Why does Emacs spontaneously start displaying `I-search:' and beeping? 154865: Why does Emacs spontaneously start displaying `I-search:' and beeping?
1871 1549
1872 Your terminal (or something between your terminal and the computer) is 1550 Your terminal (or something between your terminal and the computer) is
1873 sending C-s and C-q for flow control, and Emacs is receiving these 1551 sending C-s and C-q for flow control, and Emacs is receiving these
1874 characters and interpreting them as commands. (The C-s character normally 1552 characters and interpreting them as commands. (The C-s character
1875 invokes the isearch-forward command.) For possible solutions, see 1553 normally invokes the isearch-forward command.) For possible solutions,
1876 question 131. 1554 see question 110.
1877 1555
187870: Why can't Emacs talk to certain hosts (or certain hostnames)? 155666: Why can't Emacs talk to certain hosts (or certain hostnames)?
1879 1557
1880 The problem may be that Emacs is linked with a wimpier version of 1558 The problem may be that Emacs is linked with a wimpier version of
1881 gethostbyname than the rest of the programs on the machine. This is often 1559 gethostbyname than the rest of the programs on the machine. This is
1882 manifested as a message on startup of `X server not responding. Check 1560 often manifested as a message on startup of `X server not responding.
1883 your DISPLAY environment variable.' or a message of `Unknown host' from 1561 Check your DISPLAY environment variable.' or a message of `Unknown host'
1884 open-network-stream. 1562 from open-network-stream.
1885 1563
1886 On a Sun, this may be because Emacs had to be linked with the static C 1564 On a Sun, this may be because Emacs had to be linked with the static C
1887 library. The version of gethostbyname in the static C library may only 1565 library. The version of gethostbyname in the static C library may only
1888 look in /etc/hosts and the NIS (YP) maps, while the version in the dynamic 1566 look in /etc/hosts and the NIS (YP) maps, while the version in the
1889 C library may be smart enough to check DNS in addition to or instead of 1567 dynamic C library may be smart enough to check DNS in addition to or
1890 NIS. On a Motorola Delta running System V R3.6, the version of 1568 instead of NIS. On a Motorola Delta running System V R3.6, the version
1891 gethosbyname in the standard library works, but the one that works with 1569 of gethostbyname in the standard library works, but the one that works
1892 NIS doesn't (the one you get with -linet). Other operating systems have 1570 with NIS doesn't (the one you get with -linet). Other operating systems
1893 similar problems. 1571 have similar problems.
1894 1572
1895 Try these options: 1573 Try these options:
1896 1574
1897 * Explicitly add the host you want to communicate with to /etc/hosts. 1575 * Explicitly add the host you want to communicate with to /etc/hosts.
1898 1576
1899 * Relink Emacs with this line in src/config.h: 1577 * Relink Emacs with this line in src/config.h:
1900 1578
1901 #define LIBS_SYSTEM -lresolv 1579 #define LIBS_SYSTEM -lresolv
1902 1580
1903 * Replace gethostbyname and friends in libc.a with more useful versions 1581 * Replace gethostbyname and friends in libc.a with more useful versions
1904 such as the ones in libresolv.a. Then relink Emacs. 1582 such as the ones in libresolv.a. Then relink Emacs.
1905 1583
1906 * If you are actually running NIS, make sure that `ypbind' is properly 1584 * If you are actually running NIS, make sure that `ypbind' is properly
1907 told to do DNS lookups with the correct command line switch. 1585 told to do DNS lookups with the correct command line switch.
1908 1586
1909 * Use tcp.el and tcp.c from GNUS. This has the additional advantage that 1587 * Use tcp.el and tcp.c from Gnus. This has the additional advantage that
1910 you can use numeric IP addresses instead of names. open-network-stream 1588 you can use numeric IP addresses instead of names. open-network-stream
1911 currently can't handle numeric addresses. Brian Thomson 1589 currently can't handle numeric addresses. Brian Thomson
1912 <thomson@hub.toronto.edu> has a enhancement to open-network-stream to 1590 <thomson@hub.toronto.edu> has a enhancement to open-network-stream to
1913 allow it to handle numeric addresses. 1591 allow it to handle numeric addresses.
1914 1592
191571: Why does Emacs say `Error in init file'? 159367: Why does Emacs say `Error in init file'?
1916 1594
1917 An error occurred while loading either your .emacs file or the system-wide 1595 An error occurred while loading either your .emacs file or the
1918 lisp/default.el file. For information on how to debug your .emacs file, 1596 system-wide lisp/default.el file. For information on how to debug your
1919 see question 29. 1597 .emacs file, see question 27.
1920 1598
1921 It may be the case that you may need to load some package first, or use a 1599 It may be the case that you may need to load some package first, or use a
1922 hook that will be evaluated after the package is loaded. A common case of 1600 hook that will be evaluated after the package is loaded. A common case
1923 this is explained in question 127. 1601 of this is explained in question 106.
1924 1602
192572: Why does Emacs ignore my X resources (my .Xdefaults file)? 160368: Why does Emacs ignore my X resources (my .Xdefaults file)?
1926 1604
1927 * Try compiling Emacs with the XBACKWARDS macro defined. There is a bug 1605 As of version 19, Emacs searches for X resources in the files specified
1928 in some implementations of XGetDefault, which do not correspond to the 1606 by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment
1929 documentation or the header files. 1607 variables, emulating the functionality provided by programs written using
1930 1608 Xt.
1931 * Make sure you are either using the class name of `Emacs' (oops, 1609
1932 apparently this is buggy in Emacs 18.58!) or the correct instance name. 1610 XFILESEARCHPATH and XUSERFILESEARCHPATH should be a list of file names
1933 The instance name is normally the same as the name of the file Emacs is 1611 separated by colons; XAPPLRESDIR should be a list of directory names
1934 in (ie., the last part of argv[0]), but this can be overridden by -rn 1612 separated by colons.
1935 command line option or the WM_RES_NAME environment variable. 1613
1936 1614 Emacs searches for X resources
1937 WARNING: Reports say using the class name fails in Emacs 18.58. 1615
1938 1616 + specified on the command line, with the `-xrm RESOURCESTRING'
1939 WARNING: The advice the man page gives to use `emacs' is often wrong. 1617 option,
1940 1618 + then in the value of the XENVIRONMENT environment variable,
1941 WARNING: Older versions of Emacs got the class name wrong. 1619 - or if that is unset, in the file named ~/.Xdefaults-HOSTNAME if it
1942 1620 exists
1943 * Emacs currently ignores the -xrm command line argument. 1621 (where HOSTNAME is the hostname of the machine Emacs is running on),
1944 1622 + then in the screen-specific and server-wide resource properties
1945 * Emacs does not yet handle X11R5 screen-specific resources. 1623 provided by the server,
1946 1624 - or if those properties are unset, in the file named ~/.Xdefaults
1947 * Emacs has a bug where it ignores color specifications if running on a 1625 if it exists,
1948 1-bit display (ie. a non-color display). 1626 + then in the files listed in XUSERFILESEARCHPATH,
1949 1627 - or in files named LANG/Emacs in directories listed in XAPPLRESDIR
1950 * I don't think Emacs will use either of the application-specific resource 1628 (where LANG is the value of the LANG environment variable), if
1951 files. Thus these environment variables don't affect it: XAPPLRESDIR, 1629 the LANG environment variable is set,
1952 XUSERFILESEARCHPATH, XFILESEARCHPATH. {Correct?} 1630 - or in files named Emacs in the directories listed in XAPPLRESDIR
1953 1631 - or in ~/LANG/Emacs (if the LANG environment variable is set),
195473: Why does Emacs take 20 seconds to visit a file? 1632 - or in ~/Emacs,
1955 1633 + then in the files listed in XFILESEARCHPATH.
1634
163569: Why does Emacs take 20 seconds to visit a file?
1636
1956 The usual cause is that the master lock file, `!!!SuperLock!!!' has been 1637 The usual cause is that the master lock file, `!!!SuperLock!!!' has been
1957 left in the lock directory somehow. Delete it. 1638 left in the lock directory somehow. Delete it.
1958 1639
1959 Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an 1640 Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an
1960 exclusive create succeeds but returns an error status. This can cause the 1641 exclusive create succeeds but returns an error status. This can cause the
1961 same problem. Since Emacs's file locking doesn't work over NFS anyway, 1642 same problem. Since Emacs's file locking doesn't work over NFS anyway,
1962 the best solution is to recompile Emacs with CLASH_DETECTION undefined. 1643 the best solution is to recompile Emacs with CLASH_DETECTION undefined.
1963 1644
196474: How do I edit a file with a `$' in its name? 164570: How do I edit a file with a `$' in its name?
1965 1646
1966 When entering a filename in the minibuffer, Emacs will attempt to expand 1647 When entering a filename in the minibuffer, Emacs will attempt to expand
1967 a `$' followed by a word as an environment variable. To suppress this 1648 a `$' followed by a word as an environment variable. To suppress this
1968 behavior, type "$$" instead. 1649 behavior, type "$$" instead.
1969
197075: Why does Shell mode lose track of the shell's current directory?
1971
1972 Emacs has no way of knowing when the shell actually changes its directory.
1973 This is an intrinsic limitation of Unix. So it tries to guess by
1974 recognizing `cd' commands. If you type `cd' followed by a directory name
1975 with a variable reference (`cd $HOME/bin') or with a shell metacharacter
1976 (`cd ../lib*'), Emacs will fail to correctly guess the shell's new current
1977 directory. A huge variety of fixes and enhancements to Shell mode for
1978 this problem have been written to handle this problem. Check the Lisp
1979 Code Directory (see question 88).
1980
198176: Why doesn't my change to load-path work?
1982
1983 If you added a directory name containing a tilde (~) to your load-path,
1984 expecting the tilde to be interpreted as your home directory, then you
1985 need to do something like this:
1986
1987 (setq load-path (mapcar 'expand-file-name load-path))
1988
198977: Why does the cursor always go to the wrong column when I move up or
1990 down one line?
1991
1992 You have inadvertently typed "C-x C-n" (set-goal-column) which sets the
1993 "goal column" to the column where the cursor was. To undo this type
1994 "C-u C-x C-n".
1995
1996 If you make this mistake frequently, you might want to unbind or disable
1997 this command by doing one of these two:
1998
1999 (define-key ctl-x-map "\C-n" nil)
2000 (put 'set-goal-column 'disabled t)
2001
200278: Why does Emacs hang with message `Unknown XMenu error' with X11R4?
2003
2004 Many different X errors can produce this message. Here is the solution
2005 to one problem:
2006
2007 X11 Release 4 (and later, including OpenWindows) enforces some conditions
2008 in the X protocol that were previously allowed to pass unnoticed. You
2009 need to put the X11R4 server into X11R3 bug compatibility mode for Emacs's
2010 Xmenu code to work. You can do this with the command `xset bc'.
2011
201279: Why doesn't display-time show the load average in the mode line
2013 anymore?
2014
2015 In GNU Emacs 18.56, a change was made in the display-time code.
2016 Formerly, in version 18.55, Emacs used a program named `loadst' to
2017 notify Emacs of the change in time every minute. loadst also sent Emacs
2018 the system load average if it was installed with sufficient privilege to
2019 get that information (or was on a system where no such privilege was
2020 needed). Emacs then displayed this information in the mode line.
2021
2022 In version 18.56, this code was changed to use a program named `wakeup'.
2023 wakeup doesn't send Emacs any information, it's only purpose is to send
2024 Emacs *something* every minute, thus invoking the filter function in
2025 Emacs once a minute. The filter function in Emacs does all the work of
2026 finding the time, date, and load average. However, getting the load
2027 average requires the privilege to read kernel memory on most systems.
2028 Since giving Emacs this privilege would destroy any security a system
2029 might have, for almost everyone this is not an option. In addition,
2030 Emacs does not have the code built into it to get this information on
2031 the systems which have special system calls for this purpose, even
2032 though loadst had code for this.
2033
2034 The solution I use is to get the files lisp/display-time.el and
2035 etc/loadst.c from version 18.55 and use those with 18.58. (I have heard
2036 a rumor that loadst disappeared because of the legal action Unipress
2037 threatened against IBM.)
2038
2039 WARNING: Do not install Emacs setgid kmem unless you wish to destroy
2040 any security your system might have!!!!!!!!!!
2041
2042 If you are using Emacs 18.55 or earlier, or already using the solution I
2043 describe above, read further:
2044
2045 The most likely cause of the problem is that `loadst' can't read the
2046 special file /dev/kmem. To properly install loadst, it should be either
2047 setuid to the owner of /dev/kmem, or is should be setgid to the group to
2048 which /dev/kmem belongs. In either case, /dev/kmem should be readable by
2049 its owner or its group, respectively. Assuming the existence of a group
2050 named `kmem', here is an example of how to do this:
2051
2052 chgrp kmem /dev/kmem
2053 chmod g+r /dev/kmem
2054 chgrp kmem /usr/local/emacs/etc/loadst
2055 chmod g+s /usr/local/emacs/etc/loadst
2056
2057 Another possibility is that your version of Unix doesn't have the load
2058 average data available in /dev/kmem. Your version of Unix might have a
2059 special system call to retrieve this information (eg., inq_stats under
2060 UMAX), and loadst might not have been enhanced to cope with this.
2061
206280: Why does ispell sometimes ignore the local dictionary?
2063
2064 You need to update the version of Ispell to 2.0.02. (Or you can switch to
2065 version 3.0 which is still in beta-testing.) A patch is available via
2066 anonymous FTP:
2067 1650
2068 /archive.cis.ohio-state.edu:pub/gnu/ispell/patch2.Z 165171: Why does shell mode lose track of the shell's current directory?
2069 1652
2070 You also need to change a line in ispell.el from: 1653 Emacs has no way of knowing when the shell actually changes its
2071 1654 directory. This is an intrinsic limitation of Unix. So it tries to
2072 (defconst ispell-version "2.0.01") ; Check against output of "ispell -v". 1655 guess by recognizing `cd' commands. If you type `cd' followed by a
2073 1656 directory name with a variable reference (`cd $HOME/bin') or with a shell
2074 to: 1657 metacharacter (`cd ../lib*'), Emacs will fail to correctly guess the
2075 1658 shell's new current directory. A huge variety of fixes and enhancements
2076 (defconst ispell-version "2.0.02") ; Check against output of "ispell -v". 1659 to shell mode for this problem have been written to handle this problem.
2077 1660 Check the Lisp Code Directory (see question 77).
207881: Why does Ispell treat each line as a single word? 1661
2079 1662 You can tell Emacs the shell's current directory with the command "M-x
2080 Ispell expects to get its input one word per line. The ispell filter, 1663 dirs".
2081 which is specified by the variables ispell-filter-hook and 1664
2082 ispell-filter-hook-args, should output at most one word per line. 166572: Are there any security risks in GNU Emacs?
2083 1666
208482: Are there any security risks in GNU Emacs?
2085
2086 * the `movemail' incident (No, this is not a risk.) 1667 * the `movemail' incident (No, this is not a risk.)
2087 1668
2088 Cliff Stoll in his book `The Cuckoo's Egg' describes this in chapter 4. 1669 In his book "The Cuckoo's Egg," Cliff Stoll describes this in chapter
2089 The site at LBL had installed the `etc/movemail' program setuid root. 1670 4. The site at LBL had installed the `etc/movemail' program setuid
2090 Since `movemail' had not been designed for this situation, a security 1671 root. (As of version 19, movemail is in your architecture-specific
2091 hole was created and users could get root privileges. 1672 directory; type "C-h v directory RET" to see what it is.) Since
2092 1673 `movemail' had not been designed for this situation, a security hole
2093 `movemail' has since been changed so that even if it is installed setuid 1674 was created and users could get root privileges.
2094 root this security hole will not be a result. 1675
2095 1676 `movemail' has since been changed so that even if it is installed
2096 I have heard unverified reports that the Internet worm took advantage of 1677 setuid root this security hole will not be a result.
2097 this configuration problem. 1678
2098 1679 We have heard unverified reports that the Internet worm took advantage
1680 of this configuration problem.
1681
2099 * the file-local-variable feature (Yes, a risk, but easy to change.) 1682 * the file-local-variable feature (Yes, a risk, but easy to change.)
2100 1683
2101 There is an Emacs feature that allows the setting of local values for 1684 There is an Emacs feature that allows the setting of local values for
2102 variables when editing a file by including specially formatted text near 1685 variables when editing a file by including specially formatted text
2103 the end of the file. This feature also includes the ability to have 1686 near the end of the file. This feature also includes the ability to
2104 arbitrary Emacs Lisp code evaluated when the file is visited. 1687 have arbitrary Emacs Lisp code evaluated when the file is visited.
2105 Obviously, there is a potential for Trojan horses to exploit this 1688 Obviously, there is a potential for Trojan horses to exploit this
2106 feature. 1689 feature.
2107 1690
2108 If you set the variable inhibit-local-variables to a non-nil value, 1691 If you set the variable inhibit-local-variables to a non-nil value,
2109 Emacs will display the special local variable settings of a file that 1692 Emacs will display the special local variable settings of a file that
2110 you visit and ask you if you really want them. This variable is not 1693 you visit and ask you if you really want them. This variable is not
2111 mentioned in the manual. 1694 mentioned in the manual.
2112 1695
2113 It is wise to do this in lisp/site-init.el before building Emacs: 1696 It is wise to do this in lisp/site-init.el before building Emacs:
2114 1697
2115 (setq inhibit-local-variables t) 1698 (setq inhibit-local-variables t)
2116 1699
2117 If Emacs has already been built, the expression can be put in 1700 If Emacs has already been built, the expression can be put in
2118 lisp/default.el instead, or an individual can put it in their own .emacs 1701 lisp/default.el instead, or an individual can put it in their own
2119 file. 1702 .emacs file.
2120 1703
2121 The ability to exploit this feature by sending e-mail to an RMAIL user 1704 The ability to exploit this feature by sending e-mail to an Rmail user
2122 was fixed sometime after Emacs 18.52. However, any new package that 1705 was fixed sometime after Emacs 18.52. However, any new package that
2123 uses find-file or find-file-noselect has to be careful about this. 1706 uses find-file or find-file-noselect has to be careful about this.
2124 1707
2125 For more information, see `File Variables' in the online manual (which, 1708 For more information, see `File Variables' in the on-line manual
2126 incidentally, does not describe how to disable the feature). 1709 (which, incidentally, does not describe how to disable the feature).
2127 1710
2128 There is a new variable in Emacs 18.58 named ignore-local-eval which
2129 turns out to be useless as currently implemented. Ignore it.
2130
2131 * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.) 1711 * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.)
2132 1712
2133 Emacs accepts synthetic X events generated by the SendEvent request as 1713 Emacs accepts synthetic X events generated by the SendEvent request as
2134 though they were regular events. As a result, if you are using the 1714 though they were regular events. As a result, if you are using the
2135 trivial host-based authentication, other users who can open X 1715 trivial host-based authentication, other users who can open X
2136 connections to your X workstation can make your Emacs process do 1716 connections to your X workstation can make your Emacs process do
2137 anything, including run other processes with your privileges. 1717 anything, including run other processes with your privileges.
2138 1718
2139 The only fix for this is to prevent other users from being able to open 1719 The only fix for this is to prevent other users from being able to open
2140 X connections. The standard way to prevent this is to use a real 1720 X connections. The standard way to prevent this is to use a real
2141 authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the 1721 authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the
2142 `xauth' program has any effect, then you are probably using 1722 `xauth' program has any effect, then you are probably using
2143 MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication 1723 MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication
2144 method; ask your system administrator. 1724 method; ask your system administrator.
2145 1725
2146 If real authentication is not a possibility, you may be satisfied by 1726 If real authentication is not a possibility, you may be satisfied by
2147 just allowing hosts access for brief intervals while you start your X 1727 just allowing hosts access for brief intervals while you start your X
2148 programs, then removing the access. This reduces the risk somewhat by 1728 programs, then removing the access. This reduces the risk somewhat by
2149 narrowing the time window when hostile users would have access, but DOES 1729 narrowing the time window when hostile users would have access, but
2150 NOT ELIMINATE THE RISK. 1730 DOES NOT ELIMINATE THE RISK.
2151
2152 Lucid GNU Emacs does not accept synthetic X events unless you set a
2153 variable.
2154
2155 * autosave file permissions (Yes, a risk, hard to work around.)
2156
2157 The file permissions for autosave files are determined solely by the
2158 Emacs process's `umask' value. The permissions of the file being
2159 autosaved are not used. The easiest workaround is to keep sensitive
2160 files in protected directories. Sebastian Kremer has written an
2161 enhanced version of the autosave file name picking code that can avoid
2162 this problem by keeping autosave files in a protected directory. {FTP
2163 information please?} This problem will be fixed in Emacs 19.
2164
2165 1731
2166 1732
2167Difficulties Building/Installing/Porting Emacs 1733Difficulties Building/Installing/Porting Emacs
2168 1734
216983: What should I do if I have trouble building Emacs? 173573: What should I do if I have trouble building Emacs?
2170 1736
2171 First look in the file etc/PROBLEMS to see if there is already a solution 1737 First look in the file PROBLEMS (in the top-level directory when you
2172 for your problem. Next check the FAQ (you're reading it). If you don't 1738 unpack the Emacs source) to see if there is already a solution for your
2173 find a solution, then report your problem via e-mail to 1739 problem. Next check the FAQ (you're reading it). If you don't find a
2174 bug-gnu-emacs@prep.ai.mit.edu. Please do not post it to gnu.emacs.help or 1740 solution, then report your problem via e-mail to
2175 e-mail it to help-gnu-emacs@prep.ai.mit.edu. For further guidelines, see 1741 bug-gnu-emacs@prep.ai.mit.edu. Please do not post it to gnu.emacs.help
2176 question 8. 1742 or e-mail it to help-gnu-emacs@prep.ai.mit.edu. For further guidelines,
2177 1743 see question 8.
217884: How do I stop Emacs from failing when the executable is stripped? 1744
2179 174574: How do I stop Emacs from failing when the executable is stripped?
1746
2180 Don't do that. 1747 Don't do that.
2181 1748
2182 This problem has been reported on SGI Indigo machines running Irix 4.0.* 1749 This problem has been reported on SGI Indigo machines running Irix 4.0.*
2183 and RS/6000 machines. Scott Henry <scotth@hoshi.corp.SGi.COM> posted a 1750 and RS/6000 machines. Scott Henry <scotth@hoshi.corp.SGi.COM> posted a
2184 patch that fixes the problem for Irix. 1751 patch that fixes the problem for Irix.
2185 1752
218685: Why does linking Emacs with -lX11 fail? 175375: Why does linking Emacs with -lX11 fail?
2187 1754
2188 Emacs needs to be linked with the static version of the X11 library, 1755 Emacs needs to be linked with the static version of the X11 library,
2189 libX11.a. This may be missing. 1756 libX11.a. This may be missing.
2190 1757
2191 Under OpenWindows, you may need to use `add_services' to add the 1758 Under OpenWindows, you may need to use `add_services' to add the
2192 `OpenWindows Programmers' optional software category from the CD-ROM. 1759 `OpenWindows Programmers' optional software category from the CD-ROM.
2193 1760
2194 Under HP-UX 8.0, you may need to run `update' again to load the 1761 Under HP-UX 8.0, you may need to run `update' again to load the X11-PRG
2195 X11-PRG `fileset'. This may be missing even if you specified `all 1762 `fileset'. This may be missing even if you specified `all filesets' the
2196 filesets' the first time. If libcurses.a is missing, you may need to load 1763 first time. If libcurses.a is missing, you may need to load the
2197 the `Berkeley Development Option' {???}. 1764 `Berkeley Development Option' {???}.
2198 1765
2199 If you are building the MIT X11 sources, you may need to modify your 1766 If you are building the MIT X11 sources, you may need to modify your
2200 `site.cf' file to get static versions of the libraries. (Info from David 1767 `site.cf' file to get static versions of the libraries. (Info from David
2201 Zuhn <zoo@cygnus.com>.) 1768 Zuhn <zoo@cygnus.com>.)
2202 1769
2203 Other systems may have similar problems. You can always define 1770 Other systems may have similar problems. You can always define
2204 CANNOT_DUMP and link with the shared libraries instead. 1771 CANNOT_DUMP and link with the shared libraries instead.
2205 1772
2206 To get the Xmenu stuff to work, you need to find a copy of MIT's 1773 To get the Xmenu stuff to work, you need to find a copy of MIT's
2207 liboldX.a. 1774 liboldX.a.
2208
220986: Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1?
2210
2211 I had hoped this question would go away after Emacs 18.57 was released,
2212 but people continue to compile 18.55. Easiest solution: upgrade.
2213
2214 This is a result of the SunOS localtime/tzsetwall malloc bug, which was
2215 (finally!) fixed in SunOS 4.1.2. If you actually need the full
2216 explanation, send me e-mail. If you absolutely must compile Emacs 18.55
2217 (eg., you are compiling Nemacs), the easiest workaround was to put
2218 `#define SYSTEM_MALLOC' in src/config.h.
2219
2220 1775
2221 1776
2222 GNU Emacs FAQ: Getting Emacs/Packages 1777Finding/Getting Emacs and Related Packages
2223 1778
2224If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to 177976: Where can I get GNU Emacs on the net (or by snail mail)?
2225get an overview of just the questions. Then, when you want to look at the text
2226of the answers, just type "C-x $".
2227 1780
2228To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if 1781 Look in the files etc/DISTRIB and etc/FTP for information on nearby
2229that doesn't work, then type ESC to end the search. 1782 archive sites and etc/ORDERS for mail orders. If you don't already have
1783 GNU Emacs, see question 20 for how to get these files.
2230 1784
2231A `+' in the 78th column means something was inserted on the line. A `-' means 1785 The latest version is always available via anonymous FTP at MIT:
2232something was deleted and a `!' means some combination of insertions and
2233deletions occurred.
2234 1786
2235Full instructions for getting the latest FAQ are in question 22. Also see the 1787 /prep.ai.mit.edu:pub/gnu/emacs-19.27.tar.gz
2236`Introduction to news.answers' posting in the `news.answers' newsgroup, or send
2237e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
2238WAIS, or Prospero to rtfm.mit.edu.
2239 1788
1789 See question 80 for information on where to get other GNU software.
2240 1790
179177: How do I find a GNU Emacs Lisp package that does XXX?
2241 1792
2242Finding/Getting Emacs and Related Packages 1793 A listing of Emacs Lisp packages, called the Lisp Code Directory, is
1794 being maintained by Dave Brennan <brennan@hal.com>. You can search
1795 through this list to learn if someone has written something that fits
1796 your needs.
1797
1798 This list is file LCD-datafile.Z in the Emacs Lisp Archive (see the next
1799 question for retrieval instructions). The files lispdir.el.Z and
1800 lispdir.doc in the archive contain Lisp code and information to help you
1801 use the list. Once you have installed lispdir.el and LCD-datafile, then
1802 you can use the `M-x lisp-dir-apropos' command to search the listing.
1803 For example, the command `M-x lisp-dir-apropos RET ange-ftp RET' produces
1804 this output:
1805
1806 GNU Emacs Lisp Code Directory Apropos -- "ange-ftp"
1807 "~/" refers to archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/
1808
1809 ange-ftp (4.18) 15-Jul-1992
1810 Andy Norman, <ange@hplb.hpl.hp.com>
1811 ~/packages/ange-ftp.tar.Z
1812 transparent FTP Support for GNU Emacs
1813 auto-save (1.19) 01-May-1992
1814 Sebastian Kremer, <sk@thp.uni-koeln.de>
1815 ~/misc/auto-save.el.Z
1816 Safer autosaving with support for ange-ftp and /tmp
1817 ftp-quik (1.0) 28-Jul-1993
1818 Terrence Brannon, <tb06@pl122f.eecs.lehigh.edu>
1819 ~/modes/ftp-quik.el.Z
1820 Quik access to dired'ing of ange-ftp and normal paths
1821
182278: Where can I get GNU Emacs Lisp packages that don't come with Emacs?
2243 1823
224487: Where can I get GNU Emacs on the net (or by snail mail)?
2245
2246 Look in the files etc/DISTRIB and etc/FTP for information on nearby
2247 archive sites. If you don't already have GNU Emacs, see question 20
2248 for how to get these two files.
2249
2250 The latest version is always available via anonymous FTP at MIT:
2251
2252 /prep.ai.mit.edu:pub/gnu/emacs-18.59.tar.Z
2253
2254 See question 91.
2255
225688: How do I find a GNU Emacs Lisp package that does XXX?
2257
2258 A listing of Emacs Lisp packages, called the Lisp Code Directory, is being
2259 maintained by Dave Brennan <brennan@hal.com> and Dave Sill <de5@ornl.gov>.
2260 You can search through this list to find if someone has written something
2261 that fits your needs.
2262
2263 This list is file LCD-datafile.Z in the Emacs Lisp Archive. (See
2264 question 89 for methods for getting this file.) The files lispdir.el.Z
2265 and lispdir.doc.Z in the archive contain information to help you use the
2266 list. Once you have installed lispdir.el and LCD-datafile, then you can
2267 use the "M-x lisp-dir-apropos" command to look things up in the database.
2268 For example, the command "M-x lisp-dir-apropos RET ange-ftp RET" produces
2269 this (outdated) output:
2270
2271 GNU Emacs Lisp Code Apropos -- "ange-ftp"
2272
2273 ange-ftp (3.112) 91-08-12
2274 Andy Norman, <ange@hplb.hpl.hp.com>
2275 archive.cis.ohio-state.edu:
2276 /pub/gnu/emacs/elisp-archive/as-is/ange-ftp.el.Z
2277 transparent FTP Support for GNU Emacs
2278
227989: Where can I get GNU Emacs Lisp packages that don't come with Emacs?
2280
2281 First, check the Lisp Code Directory to find the name of the package you 1824 First, check the Lisp Code Directory to find the name of the package you
2282 are looking for. (See question 88). Then check local archives and 1825 are looking for (see question 77). Next, check local archives and the
2283 the Emacs Lisp Archive to find a copy of the relevant files. Then, if 1826 Emacs Lisp Archive to find a copy of the relevant files. If you still
2284 you still haven't found it, you can send e-mail to the author asking for 1827 haven't found it, you can send e-mail to the author asking for a copy.
2285 a copy. 1828
2286 1829 You can access the Emacs Lisp Archive via anonymous FTP:
2287 You can access the Emacs Lisp Archive via anonymous FTP: 1830
2288 1831 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/
2289 /archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/ 1832 /ftp.cs.umn.edu:pub/elisp-archive/
2290 1833 /calypso-2.oit.unc.edu:pub/gnu/elisp-archive/
2291 Fetch the file README first. 1834 /ftp.uu.net:packages/gnu/emacs-lisp/
2292 1835 /gatekeeper.dec.com:pub/GNU/elisp-archive/
2293 NOTE: The archive maintainers do not have time to answer individual 1836 /nic.switch.ch:mirror/elisp-archive/
2294 requests for packages or the list of packages in the archive. If you 1837 /ftp.diku.dk:pub/elisp-archive/
2295 cannot use FTP or UUCP to access the archive yourself, try to find a 1838 /quepasa.cs.tu-berlin.de:pub/gnu/elisp/
2296 friend who can, but please don't ask the maintainers. 1839 /faui43.informatik.uni-erlangen.de:pub/gnu/elisp-archive/
2297 1840 /ftp.uni-mainz.de:pub/gnu/elisp-archive/
2298 NOTE: Any files with names ending in `.Z' are compressed, and you should 1841 /nic.funet.fi:pub/gnu/emacs/elisp-archive/
2299 use `binary' mode in FTP to retrieve them. You should also use binary 1842 /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/
2300 mode whenever you retrieve any files with names ending in `.elc'. 1843
2301 1844 Retrieve and read the file README first.
230290: How do I submit code to the Emacs Lisp Archive? 1845
2303 1846 NOTE: * The archive maintainers do not have time to answer individual
2304 Submissions should be mailed to elisp-archive@cis.ohio-state.edu. The 1847 requests for packages or the list of packages in the archive. If
2305 lispdir.el package has a function named submit-lcd-entry which will help 1848 you cannot use FTP or UUCP to access the archive yourself, try to
2306 you with this. Mail messages (submissions) are automatically saved and 1849 find a friend who can, but please don't ask the maintainers.
2307 periodically archived. Urgent mail may be sent directly to Dave Sill 1850
2308 <de5@ornl.gov> or Dave Brennan <brennan@hal.com> or should contain the 1851 * Any files with names ending in `.Z', `.z', or `.gz' are
2309 string `urgent' in the subject. The incoming ftp directory is no longer 1852 compressed, so you should use `binary' mode in FTP to retrieve
2310 available at the request of Ohio State. {Is this still true?} 1853 them. You should also use binary mode whenever you retrieve any
2311 1854 files with names ending in `.elc'.
2312 However, if someone has a submission with multiple files (which would be 1855
2313 archived as a tar file) or binary files, then FTP transfer is preferred 185679: How do I submit code to the Emacs Lisp Archive?
2314 and can be arranged via an anonymous FTP site. This is faster than 1857
2315 uudecoding, unsharing, etc., and re-packaging files. 1858 Guidelines and procedures for submission to the archive can be found in
2316 1859 the file GUIDELINES in the archive directory (see question 78). It
2317 Before submitting anything, please read the file guidelines.Z, which is 1860 covers documentation, copyrights, packaging, submission, and the Lisp
2318 available in the archive. Whenever possible, submissions should contain a 1861 Code Directory Record. Anonymous FTP uploads are not permitted.
2319 complete LCD entry since this helps reduce administrative overhead for the 1862 Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu.
2320 maintainers. You can include an entry in this format: 1863 The lispdir.el package has a function named submit-lcd-entry which will
2321 1864 help you with this.
2322 ;; LCD Archive Entry: 1865
2323 ;; package name|author's name|email address 186680: Where can I get other up-to-date GNU stuff?
2324 ;; |description 1867
2325 ;; |date|version|archive path 1868 The most up-to-date official GNU stuff is normally kept on
2326 1869 prep.ai.mit.edu and is available for anonymous FTP in the pub/gnu
2327 For example: 1870 directory. Read the files etc/DISTRIB and etc/FTP for more information
2328 1871 (see question 20 for retrieval instructions).
2329 ;; LCD Archive Entry: 1872
2330 ;; tex-complete|Sebastian Kremer|sk@thp.Uni-Koeln.DE
2331 ;; |Minibuffer name completion for editing [La]TeX.
2332 ;; |91-03-26|$Revision: 1.5 $|~/packages/tex-complete.el.Z !
2333
2334 Dave Brennan has software which automatically looks for data in this
2335 format. The format is fairly flexible. The entry ends when a line is
2336 reached with a different prefix or the seventh field terminator is
2337 seen.
2338
2339 If you are submitting a multi-file submission you should include a file
2340 named "LCD-entry" which contains the archive entry, instead of placing
2341 it in one or more of the individual files.
2342
234391: Where can I get other up-to-date GNU stuff?
2344
2345 The most up-to-date official GNU stuff is normally kept on prep.ai.mit.edu
2346 and is available for anonymous FTP in the pub/gnu directory. See the
2347 files etc/DISTRIB and etc/FTP for more information. (To get copies of
2348 these files, see question 20.)
2349
2350 The following sites are all mirror images of the GNU distribution area: 1873 The following sites are all mirror images of the GNU distribution area:
2351 1874
2352 /prep.ai.mit.edu:pub/gnu/ 1875 /col.hp.com:mirrors/gnu/
2353 /ftp.uu.net:packages/gnu/ 1876 /ftp.uu.net:packages/gnu/
2354 /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM)
2355 /ftp.win.tue.nl:pub/gnu/ 1877 /ftp.win.tue.nl:pub/gnu/
2356 /utsun.s.u-tokyo.ac.jp:ftpsync/prep/ 1878 /gatekeeper.dec.com:pub/GNU/
2357 /nic.funet.fi:pub/gnu/ 1879 /nic.funet.fi:pub/gnu/
2358 1880 /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM)
1881 /utsun.s.u-tokyo.ac.jp:ftpsync/prep/
1882 /wuarchive.wustl.edu:systems/gnu/
1883
2359 The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu, 1884 The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu,
2360 except that files larger than 1 megabyte {right?} are automatically 1885 except that files larger than one megabyte are split into multiple parts.
2361 split into multiple parts. If you have trouble transferring large 1886 If you have trouble transferring large files, you should try here. A
2362 files, you should try here. A file normally named `XXX' is split into 1887 file normally named `XXX' is split into files XXX-split/part[0-9][0-9],
2363 files XXX-split/part[0-9][0-9], and there will be a file named 1888 and there will be a file named XXX-split/README which contains the list
2364 XXX-split/README which contains the list of parts (especially helpful 1889 of parts (especially helpful when FTP-ing by e-mail), their checksums,
2365 when FTP-ing by e-mail), their checksums, and reassembly instructions. 1890 and reassembly instructions.
2366 Some of the other mirror sites may have the same property. {Can someone 1891
2367 check this out? Thanks!} 189281: What is the difference between Emacs and Epoch?
2368 1893
2369 Information was provided by Lee McLoughlin <lmjm@doc.ic.ac.uk>, Jonathan 1894 Epoch was a modified version of GNU Emacs. It is currently being merged
2370 R. Ferro <jf41+@ANDREW.CMU.EDU>, Arjan de Vet <devet@win.tue.nl>, and 1895 into XEmacs (formerly "Lucid Emacs"), and the Epoch redisplay, now
2371 Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>. 1896 being rewritten, is slated to be merged into Emacs when the rewrite is done.
2372 1897
237392: Where can I get an Emacs with better mouse and X window support? 189882: What is the difference between Emacs and XEmacs (formerly "Lucid
2374 1899 Emacs")?
2375 Emacs 18 has some limited X Window System support, but there are 1900
2376 problems. Emacs 19 will have amazing mouse and window support. Right 1901 XEmacs is a modified version of GNU Emacs.
2377 now, there are Epoch which is derived from GNU Emacs 18.58 and Lucid GNU 1902
2378 Emacs which is derived from an early unreleased version of GNU Emacs 19, 1903 A comparison between the two versions, written by the XEmacs
2379 both of which have greatly improved mouse and window support. See 1904 maintainers, had been included here. Richard Stallman removed it
2380 questions 120 and 121. 1905 from this copy of the FAQ because it was unfair. It was (1)
2381 1906 one-sided, listing only advantages of XEmacs and not advantages of
2382 The HP unofficial GNU Emacs also has nice mouse support. See question 1907 the principal version of Emacs, (2) biased, involving opinions the
2383 95. 1908 FSF doesn't share, and (3) out of date, listing as advantages of
2384 1909 XEmacs features which in fact both versions have.
2385 There are numerous Emacs Lisp packages that have been written to extend 1910
2386 Emacs 18's mouse handling capabilities. Some of these packages also have 191183: Where can I get Emacs for my PC running MS-DOS?
2387 patches to the C code to provide enhanced capabilities. Look up `mouse' 1912
2388 in the Lisp Code Directory (see question 88). 1913 Recent releases of GNU Emacs 19 should compile right out of the box on
2389 1914 PCs with a 386 or better, running MS-DOS 3.0 or later. You will need the
2390 There is a package called BAM (Born Again Menus) which provides menus for 1915 following:
2391 GNU Emacs via an external C program. It does not provide mouse support in 1916
2392 the Emacs window such as scrollbars, cut-and-paste, etc. 1917 Compiler: djgpp version 1,11 maint 4 or later. You can get the latest
2393 1918 version by grabbing everything in the following directory
2394 NOTE: Epoch only works with the X Window System; it works on ordinary 1919 (using anonymous ftp):
2395 terminals by invoking regular GNU Emacs. Lucid Emacs does not currently 1920
2396 work on ordinary terminals, although there are plans to fix this. 1921 oak.oakland.edu:pub/msdos/djdpp
2397 1922
239893: What is the difference between GNU Emacs and Epoch? 1923 Tar: One DOS version of tar is available via anonymous ftp from
2399 1924
2400 Marc Andreessen <marca@ncsa.uiuc.edu> writes: 1925 ftp.urc.tue.nl:pub/unixtools/dos
2401 1926
2402 Epoch is GNU Emacs on steroids: an adaptation of GNU Emacs with lots of 1927 However, not all DOS versions of tar work equally well, so you
2403 additional support for features made possible by the X11 windowing 1928 might have to try others if this one gives you trouble.
2404 system. These features include multiple editing windows, arbitrary 1929
2405 colors and fonts (fixed-width and proportional), selectable zones per 1930 Utilities: chmod, make, mv, sed, rm.
2406 buffer with arbitrary display styles (font, color, underline, stipple, 1931
2407 pixmap), an optional separate minibuffer window, improved keyboard and 1932 All of these utilities are available via anonymous ftp from
2408 mouse handling, full 8-bit character set support, and more. 1933 the site
2409 1934
241094: What is the difference between GNU Emacs and Lucid GNU Emacs? 1935 ftp.iro.umontreal.ca:pub/Internet/gnuish
2411 1936
2412 This information is condensed from the release notice: 1937 You should grab the files futil4ax.zoo (contains chmod.exe,
2413 1938 mv.exe, and rm.exe), sed106ax.zoo (contains sed.exe), and
2414 Lucid GNU Emacs is based on an early version of GNU Emacs version 19 1939 gzip07ax.zoo (contains gzip.exe).
2415 with many enhancements. It currently requires X Windows to run. For 1940
2416 information on where to get Lucid GNU Emacs see 121. X Windows support 1941 The file etc/MSDOS contains some information on the differences between
2417 is greatly enhanced over GNU Emacs version 18, including support for 1942 the Unix and MS-DOS versions of GNU Emacs.
2418 multiple X Windows (a.k.a. screens in Emacs), Zmacs/Lispm style region 1943
2419 highlighting, a customizable, Motif-like menubar, more powerful keymap 1944 If you would prefer not to compile Emacs by yourself, you can get
2420 support (allowing different actions to be associated with Backspace, 1945 binaries for Emacs 19.24 via anonymous ftp from the following two sites:
2421 Control-h, etc.), flexible text attribute (e.g. font, color) support on 1946
2422 regional and screen-local basis through X resources and/or lisp, and 1947 ftp.demon.co.uk:pub/ibmpc/editors/emacs19.24
2423 support for the X11 selection mechanism. Some other features include 1948 ftp.imada.ou.dk:pub/mirrors/msdos/emacs-19.24
2424 run-time computation of the load-path, support for floating point 1949
2425 numbers, native timer support, and sound file support on Sun 1950 You might also be interested in Demacs, which runs under MS-DOS (*not*
2426 SPARCstations. To build Lucid GNU Emacs, an ANSI C compiler (e.g. gcc) 1951 Microsoft Windows; see question 84) on 386- and 486-based PCs. Demacs is
2427 is required. 1952 a port of Nemacs (see question 126), rather than a straight port of GNU
2428 1953 Emacs 18 or 19.
242995: Where can I get the "unofficial HP GNU Emacs"? 1954
2430 1955 Demacs was developed using an MS-DOS version of gcc called djgpp by
2431 The unofficial HP GNU Emacs is available via anonymous FTP: 1956 D. J. Delorie <dj@ctron.com> which can compile and run large programs
2432 1957 under MS-DOS, but not under MS Windows. Demacs was derived from Nemacs
2433 /ee.utah.edu:HUGE/ (PLEASE FTP DURING NON-WORK HOURS!!!) 1958 rather than straight from GNU Emacs. You can get the most recent version
2434 1959 of Demacs via anonymous ftp from ftp.sigmath.osaka-u.ac.jp in
2435 and takes about 35 megabytes of disk space to build. It is useful for 1960 pub/Msdos/Demacs/*.
2436 non-HP machines, but some of the added features will only work under 1961
2437 HP-UX. 1962 For a list of other MS-DOS implementations of Emacs (and Emacs
2438 1963 look-alikes), consult the list of "Emacs implementations and literature,"
2439 You will need to get patches to work with HP-UX 8.0 or on 700 series 1964 available via anonymous ftp from rtfm.mit.edu in pub/usenet/comp.emacs.
2440 machines via e-mail from Darryl Okahata <darrylo@sr.hp.com>. 1965
2441 196684: Where can I get Emacs for my PC running Microsoft Windows?
244296: Where can I get Emacs for my PC running MS-DOS? 1967
2443 1968 There are currently two ports of Emacs that runs under Microsoft Windows:
2444 * Demacs 1969
2445 1970 * Oemacs
2446 For 386 or 486 PCs running MS-DOS, there is a version of GNU Emacs 1971
2447 called Demacs. To get Demacs see question 122. 1972 Current version of Oemacs4.1 is based on Emacs-19.19 and runs in either
2448 1973 MS-DOS or Microsoft Windows. There is rumor that the author Darryl
2449 From the announcement message: 1974 Okahata <darrylo@sr.hp.com> would not update unless there is
2450 1975 demonstrated interest. It is nearly a full porting of GNU Emacs except
2451 Demacs is almost a full set of GNU Emacs but does not support some 1976 that shell-mode does not work due to the limitation of MS-DOS.
2452 features: asynchronous process, locking a file, etc. 1977 Anonymous ftp information:
2453 1978
2454 Demacs provides following DOS specific features: 1979 /oak.oakland.edu:pub/msdos/oemacs/
2455 1980
2456 * File type: text or binary file translation. 1981 * The other uses a proprietary X Windows emulator and therefore
2457 * "8-bit clean" display mode. 1982 the FSF does not think it deserves publicity.
2458 * 8086 software interrupt call by int86 lisp function. 1983
2459 * Machine specific features such as function key support. 198485: Where can I get Emacs for my PC running OS/2?
2460 * File name completion with drive name. 1985
2461 * Child process (suspend-emacs, call-process). 1986 Emacs 19.27 is ported for emx on OS/2 2.0 or 2.1.
2462 * Enhanced dired mode which can work without 'ls.exe'. 1987
2463 1988 Anonymous FTP info:
2464 To our regret `shell-mode' does not work, but `compile' command works 1989
2465 properly. 1990 hobbes.nmsu.edu:os2/2_x/unix/emacs27
2466 1991
2467 Demacs was developed using an MS-DOS version of gcc called djgpp by 199286: Where can I get Emacs for my Atari ST?
2468 D. J. Delorie <dj@ctron.com> which can compile and run large programs 1993
2469 under MS-DOS, but not under MS Windows. Demacs was derived from Nemacs 1994 (does anyone know?)
2470 rather than straight from GNU Emacs. 1995
2471 199687: Where can I get Emacs for my Amiga?
2472 There are a variety of other Emacses for MS-DOS including among them the 1997
2473 following. 1998 Amiga software is available through Aminet, a set of interconnected FTP
2474 1999 sites and other file accessing services for Amiga software. The primary
2475 * Freemacs 2000 sites for Aminet are ftp.wustl.edu (128.252.135.4) and ftp.cdrom.com
2476 2001 (192.153.46.2). In the directory pub/aminet/util/gnu, there are
2477 Russ Nelson <nelson@sun.soe.clarkson.edu>, the author, describes 2002
2478 Freemacs: 2003 a1.26-emacs-bin.lha -- Amiga GNU Emacs V1.26, binaries
2479 2004 a1.26-emacs-src.lha -- Amiga GNU Emacs V1.26, sources
2480 * Freemacs is free, and it was designed from the start to be 2005
2481 programmable. 2006 There are also quite a few Emacs related files/programs. Please search
2482 * Freemacs is the only IBM-PC editor that tries to be like GNU Emacs. 2007 the index of Aminet.
2483 * Freemacs can only edit files less than 64K in length. 2008
2484 * Freemacs doesn't have undo. 2009 We have no access to an Amiga, so please send in your experience and
2485 2010 comments on the implementation.
2486 Carl Witty <cwitty@cs.stanford.edu> reviews Freemacs: 2011
2487 201288: Where can I get Emacs for my Apple computer?
2488 Better is Freemacs, which follows the tradition of ITS and GNU Emacs
2489 by having an full, turing-complete extension language which is
2490 incompatible with everything else. In fact, it's even closer to ITS
2491 Emacs than GNU Emacs is, because Mint (Freemacs' extension language)
2492 is absolutely illegible without weeks of study, much like TECO.
2493
2494 To get Freemacs see question 123.
2495
2496 * MicroEmacs
2497
2498 MicroEmacs is a descendant of Microemacs {originally by Dave Conroy?}.
2499 It is programmable in a BASIC-like language. Many of the keybindings
2500 are different from GNU Emacs. The author is Daniel Lawrence -
2501 <dan@mdbs.uucp, mdbs!dan@ee.ecn.purdue.edu>. The latest version is 3.12 !
2502 and it is available via anonymous FTP:
2503
2504 /midas.mgmt.purdue.edu:dist/uemacs312/ (outside business hours) !
2505 !
2506 Version 3.12 includes Windows and Windows NT versions and a DOS !
2507 protected mode (DMPI) version. !
2508 2013
2509 * JOVE
2510
2511 Another Emacs for small machines is JOVE (Jonathan's Own Version of
2512 Emacs). The latest official version is 4.14. There appears to be a
2513 newer version. People rumored to be working on JOVE include Mark Moraes
2514 <moraes@cs.toronto.edu> and Bill Marsh <bmarsh@cod.nosc.mil>. It is
2515 available via anonymous FTP:
2516
2517 /cs.toronto.edu:/pub/moraes/jove4.14.7.tar.Z
2518
2519 * MG
2520
2521 MG is another descendant of Microemacs. MG used to stand for
2522 MicroGNUEmacs, but now just stands for MG. The look-and-feel of MG is
2523 intended to be close to that of GNU Emacs. It is rumored that MG can
2524 not correctly edit files larger than memory. The current version is
2525 rumored to be 2. There is a version 3 in beta which works on the Amiga.
2526 It is also available via anonymous FTP:
2527
2528 /ftp.white.toronto.edu:pub/mg/
2529 /wuarchive.wustl.edu:/mirrors/unix-c/editors/
2530 /procyon.cis.ksu.edu: (source and executable)
2531
253297: Where can I get Emacs for my PC running Windows?
2533
2534 I believe that no version of GNU Emacs runs under Windows. Pierre Perret
2535 <pap@myths.az05.bull.com> has ported MicroEMACS 3.11c to Windows.
2536
2537 Anonymous FTP:
2538 /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10.zip
2539 /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10s.zip
2540 /ftp.cica.indiana.edu:pub/pc/win3/util/mewri.zip
2541
254298: Where can I get Emacs for my PC running OS/2?
2543
2544 From the OS/2 Programmer's FAQ:
2545
2546 GNU Emacs 18.58 is available. It requires you to have EMX installed
2547 on your machine, but it comes with all the EMX files you will need.
2548 Emacs is available on ftp-os2 in /pub/os2/2.0/gnu/emacs. (If you want
2549 to recompile emacs, you will need the full EMX distribution see
2550 question 1.2.)
2551
2552 The above quote may be out of date. See the latest OS/2 Programmer's FAQ
2553 {perhaps in comp.os.os2.misc?} for the latest news. Anonymous FTP info:
2554
2555 /ftp-os2.nmsu.edu:pub/os2/2.0/gnu/emacs/
2556 ("ftp-os2" was formerly named "hobbes")
2557
2558 Thanks go to Stephen Simpson <simpson@symcom.math.uiuc.edu>, Jonathan
2559 Miller <jem+@andrew.cmu.edu>, Terry Kane <terryk@cc.gatech.edu>, J. D.
2560 Baldwin <baldwin@csservera.usna.navy.mil>, and Ken Bass
2561 <kbass@gmuvax2.gmu.edu>.
2562
256399: Where can I get Emacs for my Atari ST?
2564
2565 Emacs 18.57 is the latest version for TOS. Stefan Mueller-Pfeiffer
2566 <iff327@zam001.zam.kfa-juelich.de> says:
2567
2568 There is also a version for MiNT, the multitasking enhancement for
2569 ATARI's TOS, which behaves almost like EMACS on a "real computer". This
2570 port was done by Erling Henanger <erlingh@idt.unit.no>.
2571
2572 Anonymous FTP:
2573 /atari.archive.umich.edu:atari/gnustuff/tos/ (TOS Emacs 18.57)
2574 /atari.archive.umich.edu:atari/new/mntemacs.zoo (MiNT Emacs)
2575 /cs.uni-sb.de:/pub/atari/emacs/
2576
2577100: Where can I get Emacs for my Amiga?
2578
2579 All of the files are lharc-ed.
2580
2581 Anonymous FTP:
2582 /oes.orst.edu:/pub/almanac/comp/amiga/software/gnuemacs-1.10/
2583
2584 Via e-mail:
2585 To: almanac@oes.orst.edu
2586 body:
2587 mode uuencode
2588 send computer amiga software gnuemacs <file>
2589 <file> is replaced by one of the following:
2590 Required: d1.lzh d2.lzh
2591 Recommended: d3_info.lzh d3_infolisp.lzh
2592 Optional: d3_autoloaded.lzh d3_entertainmentetc.lzh
2593 d3_entertainmentlisp.lzh d4_src.lzh d5_languagelisp.lzh
2594 d5_viclone.lzh d6_gnulibsrc.lzh d6_mailpackage.lzh
2595 d6_mathpackage.lzh d6_misc.lzh d6_textformat.lzh
2596 The `d#' at the beginning of each file is its disk number, which is
2597 referred to by the documentation.
2598
2599101: Where can I get Emacs for my Apple computer?
2600
2601 The FSF is a participant in a boycott of Apple because of Apple's "look 2014 The FSF is a participant in a boycott of Apple because of Apple's "look
2602 and feel" copyright suits. See the file etc/APPLE for more details. 2015 and feel" copyright suits. See the file etc/APPLE for more details.
2603 Because of this boycott, the FSF doesn't include support in GNU software 2016 Because of this boycott, the FSF doesn't include support in GNU software
2604 for Apple computers such as the Macintosh. 2017 for Apple computers such as the Macintosh.
2605 2018
2606 Please don't help people port or develop software for Apple computers. 2019 Please don't help people port or develop software for Apple computers.
2607 2020
2608102: Where can I get Emacs with NeWS support? 202189: Where do I get Emacs that runs on VMS under DECwindows?
2609 2022
2610 Chris Maio's NeWS support package for GNU Emacs is available via anonymous 2023 Version 19.27 has a VMS directory containing installation instructions, a
2611 FTP: 2024 makefile, and various .com files. But according to Richard Levitte
2612 2025 <levitte@e.kth.se>, it does not run out of the box. Even if it does, the
2613 /columbia.edu:pub/ps-emacs.tar.Z 2026 VMSNOTES indicates that the Emacs on VMS is going to have much more
2614 /archive.cis.ohio-state.edu:pub/gnu/emacs/ps-emacs.tar.Z 2027 limited functionality. Richard Levitte has a patched 19.22 that
2615 2028 supposedly has subprocess and networking functionality just as on Unix,
2616 and via e-mail: 2029 with virtually the same lisp interface. The source is available via
2617 2030 anonymous ftp at
2618 To: archive-server@columbia.edu 2031
2619 body: send NeWS emacs-support 2032 ftp.vms.stacken.kth.se:GNU-VMS/Beta/EMACS-19_22-********.TAR-GZ
2620 2033
2621103: Where do I get Emacs that runs on VMS under DECwindows? 2034 where ******** is the release date of the kit. You should also read
2622 2035 http://www.e.kth.se/elev/levitte/gnu/emacs.html for more information.
2623 Hal R. Brand <BRAND@addvax.llnl.gov> is said to have a VMS save set with a 2036
2624 ready-to-run VMS version of Emacs 18.55 for X Windows. It is available 203790: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++,
2625 via anonymous FTP (addvax.llnl.gov). It is possible that the VMS versions 2038 Objective C, Pascal, and Awk?
2626 of Emacs at other sites have X support compiled in. See etc/FTP for 2039
2627 locations. 2040 Most of these modes are now available in standard Emacs distribution. To
2628 2041 get additional modes, look in the Lisp Code Directory (see question 77).
2629 Johan Vromans <jv@mh.nl> writes: 2042 For C++, if you use lisp-dir-apropos, you must specify the pattern like
2630 2043 this:
2631 Getting Emacs to run on VMS with DECwindows requires a number of changes 2044
2632 to the sources. Fortunately this has been done already. Joshua Marantz
2633 <josh@viewlogic.com> did most of the work for Emacs 18.52, and the mods
2634 were ported to 18.55 by Johan Vromans <jv@mh.nl>. Also included is the
2635 handling of DEC's LK201 keyboard. You need to apply the changes to a
2636 fresh Emacs 18.55 distribution on a Unix system, and then you can copy
2637 the sources to VMS to perform the compile/link/build.
2638
2639 The set of changes have been posted a number of times three times the
2640 last 12 months, so they should be widely available.
2641
2642 Richard Levitte <levitte@e.kth.se> tells us that there are patches for
2643 Emacs 18.57, 18.58, and 18.59 available via e-mail: !
2644
2645 To: EMACS-FILESERV@e.kth.se !
2646 body: SEND EMACS-1857-PATCHES
2647 or: SEND EMACS-1858-PATCHES
2648 or: SEND EMACS-1859-PATCHES +
2649 +
2650 or via anonymous ftp at: +
2651 +
2652 /lucy.merrimack.edu:emacs-1859-patches.share +
2653 +
2654 The set of patches weighs in at around 2.7 MB. +
2655
2656104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++,
2657 Objective C, Pascal, Awk?
2658
2659 As usual, look in the Lisp Code Directory (see question 88). For C++,
2660 if you use lisp-dir-apropos, you must specify the pattern like this:
2661
2662 M-x lisp-dir-apropos RET c\+\+ RET 2045 M-x lisp-dir-apropos RET c\+\+ RET
2663 2046
2664105: What is the IP address of XXX.YYY.ZZZ? 2047 Note that Barry Warsaw's cc-mode now works for C, C++, and Objective-C
2665 2048 code. You can get the latest version (4.85, as of this writing) from the
2049 Emacs Lisp Archive.
2050
205191: What is the IP address of XXX.YYY.ZZZ?
2052
2666 If you are at a site with a deficient nameserver, you may need to know 2053 If you are at a site with a deficient nameserver, you may need to know
2667 the IP address of a host to FTP files from it. You can get this 2054 the IP address of a host to FTP files from it. You can get this
2668 information in two ways: 2055 information in two ways:
2669 2056
2670 * By telnet: 2057 * By telnet:
2671 2058
2672 telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101') 2059 telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101')
2673 hname XXX.YYY.ZZZ 2060 @ whois
2674 2061 Whois: host XXX.YYY.ZZZ
2062
2675 * By e-mail: 2063 * By e-mail:
2676 2064
2677 To: service@nic.ddn.mil 2065 To: service@nic.ddn.mil
2678 Subject: host XXX.YYY.ZZZ 2066 Subject: host XXX.YYY.ZZZ
2679 or: whois XXX.YYY.ZZZ 2067 or: whois XXX.YYY.ZZZ
2680 or: help 2068 or: help
2681 2069
2682 or: 2070 or:
2683 2071
2684 To: resolve@cs.widener.edu 2072 To: resolve@cs.widener.edu
2685 body: site XXX.YYY.ZZZ 2073 body: site XXX.YYY.ZZZ
2686
2687 Information from Brendan Kehoe <brendan@cs.widener.edu>.
2688
2689 2074
2075 Information from Brendan Kehoe <brendan@cs.widener.edu>.
2690 2076
2691 2077
2692Major Emacs Lisp Packages, Emacs Extensions, and Related Programs 2078Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
2693 2079
2694 This section lists version numbers, FTP sites, mailing lists, newsgroups, 2080 This section lists version numbers, FTP sites, mailing lists, newsgroups,
2695 and other information for many important packages, extensions, and related 2081 and other information for many important packages, extensions, and
2696 programs. There is some overlap with the Lisp Code Directory, but these 2082 related programs. There is some overlap with the Lisp Code Directory,
2697 entries give more detailed information. 2083 but these entries give more detailed information.
2698 2084
2699 If you know of any other packages that are so substantial that they 2085 If you know of any other packages that are so substantial that they
2700 deserve to be mentioned here, please tell me. Having its own mailing list 2086 deserve to be mentioned here, please let us know. Having its own mailing
2701 or newsgroup or more than half a megabyte of source code are good signs. 2087 list or newsgroup or more than half a megabyte of source code are good
2702 2088 signs.
2703106: VM (View Mail) -- another mail reader within Emacs 2089
2704 209092: VM (View Mail) -- another mail reader within Emacs
2091
2705 Author: Kyle Jones <kyle@uunet.uu.net> 2092 Author: Kyle Jones <kyle@uunet.uu.net>
2706 Latest released version: 4.41 2093 Latest version: 5.72 (beta)
2707 Beta test version: 5.32
2708 Anonymous FTP: 2094 Anonymous FTP:
2709 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/vm-4.41.tar.Z 2095 /ftp.uu.net:networking/mail/vm-5.72beta.tar.gz
2710 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/as-is/timer.shar.Z
2711 /ftp.uu.net:mail/vm-4.41.tar.Z
2712 /ftp.uu.net:mail/vm-5.32beta.tar.Z
2713 Newsgroups and mailing lists: 2096 Newsgroups and mailing lists:
2714 Info-VM: 2097 Info-VM:
2715 gnu.emacs.vm.info 2098 gnu.emacs.vm.info (newsgroup)
2716 info-vm-request@uunet.uu.net (for subscriptions) 2099 info-vm-request@uunet.uu.net (for subscriptions)
2717 info-vm@uunet.uu.net (for submissions) 2100 info-vm@uunet.uu.net (for submissions)
2718 Bug-VM: 2101 Bug-VM:
2719 gnu.emacs.vm.bug 2102 gnu.emacs.vm.bug (newsgroup)
2720 bug-vm-request@uunet.uu.net (for subscriptions) 2103 bug-vm-request@uunet.uu.net (for subscriptions)
2721 bug-vm@uunet.uu.net (for submissions) 2104 bug-vm@uunet.uu.net (for submissions)
2722 2105
2723107: Supercite -- mail and news citation package within Emacs 210693: Supercite -- mail and news citation package within Emacs
2724 2107
2725 Author: Barry Warsaw <bwarsaw@cen.com> 2108 Author: Barry Warsaw <bwarsaw@cen.com>
2109 Latest version: 3.54 (comes with GNU Emacs 19)
2110 3.1 (available from the Emacs Lisp Archive)
2111 Anonymous FTP:
2112 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc3.1.tar.Z
2726 Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions) 2113 Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions)
2727 supercite@anthem.nlm.nih.gov (for submissions) 2114 supercite@anthem.nlm.nih.gov (for submissions)
2728 Latest version: 2.3 !
2729 Anonymous FTP:
2730 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc-2.3.tar.Z !
2731 /ftp.cme.nist.gov:pub/gnu/sc2.3.tar.Z !
2732 Via e-mail:
2733 To: library@cme.nist.gov
2734 Subject: help
2735 NOTE: Superyank is an old version of Supercite. 2115 NOTE: Superyank is an old version of Supercite.
2736 2116
2737108: GNUS -- news reader within Emacs 211794: Gnus -- news reader within Emacs
2738 2118
2739 Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp> 2119 Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp>
2740 Latest official version: 3.13 2120 Latest version: 4.1 (comes with GNU Emacs 19)
2741 Unofficial test version: 3.14.1
2742 Anonymous FTP: 2121 Anonymous FTP:
2743 /aun.uninett.no:pub/gnus-3.14.1.tar.Z - 2122 /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/gnus-4.1.tar.Z
2744 /wnoc-fuk.wide.ad.jp:pub/GNU/etc/gnus-3.14.1.tar.Z 2123 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-4.1.tar.Z
2745 /liasun3.epfl.ch:pub/gnu/emacs/gnus-3.14.1.tar.Z
2746 /aix370.rrz.uni-koeln.de:/pub/gnu/emacs/gnus-3.14.1.tar.Z
2747 /funet.fi:/networking/news/gnus-3.14.1.tar.Z
2748 /src.doc.ic.ac.uk:/gnu/EmacsBits/gnus/gnus-3.14.1.tar.Z
2749 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-3.13.tar.Z
2750 Newsgroups and mailing lists: 2124 Newsgroups and mailing lists:
2751 English-only: 2125 English-only:
2752 gnu.emacs.gnus 2126 gnu.emacs.gnus (newsgroup)
2753 info-gnus-english-request@cis.ohio-state.edu (for subscriptions) 2127 info-gnus-english-request@cis.ohio-state.edu (for subscriptions)
2754 info-gnus-english@cis.ohio-state.edu (for submissions) 2128 info-gnus-english@cis.ohio-state.edu (for submissions)
2755 Japanese (and some English): 2129 Japanese (and some English):
2756 info-gnus-request@flab.fujitsu.co.jp (for subscriptions) 2130 info-gnus-request@flab.fujitsu.co.jp (for subscriptions)
2757 info-gnus@flab.fujitsu.co.jp (for submissions) 2131 info-gnus@flab.fujitsu.co.jp (for submissions)
2758 2132
2759109: Calc -- poor man's Mathematica within Emacs 213395: Calc -- poor man's Mathematica within Emacs
2760 2134
2761 Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> 2135 Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
2762 Latest released version: 2.02 2136 Latest version: 2.02c
2763 Anonymous FTP: 2137 Anonymous FTP:
2764 /csvax.cs.caltech.edu:pub/calc-2.02.tar.Z 2138 /prep.ai.mit.edu:pub/gnu/calc-2.02c.tar.gz
2765 /prep.ai.mit.edu:pub/gnu/calc-2.02.tar.Z 2139 NOTE: Unlike Wolfram Research, Dave has never threatened to sue
2766 NOTE: Unlike Wolfram Research, Dave has never threatened to sue anyone 2140 anyone for having a program with a similar command language to
2767 for having a program with a similar command language to Calc. :-) 2141 Calc. :-)
2768 2142
2769110: Calendar/Diary -- calendar manager within Emacs 214396: Ange-FTP -- transparent FTP access for Emacs's file access routines
2770 2144
2771 Author: Edward M. Reingold <reingold@cs.uiuc.edu>
2772 Latest version: 4.02
2773 Anonymous FTP:
2774 /emr.cs.uiuc.edu:pub/emacs/calendar {???}
2775 Via e-mail:
2776 To: reingold@cs.uiuc.edu
2777 Subject: send-emacs-cal
2778 Put your best internet e-mail address in the body.
2779
2780111: Ange-FTP -- transparent FTP access for Emacs's file access routines
2781
2782 Author: Andy Norman <ange@hplb.hpl.hp.com> 2145 Author: Andy Norman <ange@hplb.hpl.hp.com>
2783 Latest official version: 4.20 2146 Latest version: 1.56 (comes with GNU Emacs 19)
2784 Anonymous FTP: 2147 Anonymous FTP:
2785 /alpha.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.Z
2786 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z 2148 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z
2787 /ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z
2788 Mailing lists: 2149 Mailing lists:
2789 ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions)
2790 Ange-FTP Lovers: 2150 Ange-FTP Lovers:
2151 ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions)
2791 ange-ftp-lovers@anorman.hpl.hp.com (for submissions) 2152 ange-ftp-lovers@anorman.hpl.hp.com (for submissions)
2792 /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives) 2153 /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives)
2793 Ange-FTP Announcements: 2154 Ange-FTP Announcements:
2794 ange-ftp-lovers-announce@anorman.hpl.hp.com 2155 ange-ftp-lovers-announce@anorman.hpl.hp.com
2795 NOTE: now with support for accessing VMS, CMS, and MTS systems 2156 NOTE: now supports VMS, CMS, and MTS ftp servers
2796 2157
2797112: VIP -- vi emulation for Emacs 215897: VIP -- vi emulation for Emacs
2798 2159
2799 Author: Aamod Sane <sane@cs.uiuc.edu> 2160 Author: Aamod Sane <sane@cs.uiuc.edu>
2800 Latest released version: 4.3 2161 Latest version: 4.3
2801 Anonymous FTP: 2162 Anonymous FTP:
2802 /cs.uiuc.edu:pub/vip4.3.tar.Z 2163 /cs.uiuc.edu:pub/vip4.3.tar.Z
2803 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z 2164 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z
2804 NOTE: This version much more closely emulates vi than the one 2165 NOTE: This version much more closely emulates vi than the one
2805 distributed with Emacs. 2166 distributed with Emacs.
2806 2167
2807113: Dired -- better directory editor for Emacs 216898: AUC TeX -- enhanced LaTeX mode with debugging facilities
2808 2169
2809 Author: Sebastian Kremer <sk@thp.uni-koeln.de>
2810 Latest released version: 5.239
2811 Anonymous FTP: /ftp.cs.buffalo.edu:pub/Emacs/diredall.tar.Z
2812 /ftp.uni-koeln.de:pub/gnu/emacs/diredall.tar.Z
2813 NOTE: This is a huge improvement over the Dired distributed with Emacs.
2814 This version will be in Emacs 19.
2815
2816114: AUC TeX -- enhanced LaTeX mode with debugging facilities
2817
2818 Author: Kresten Krab Thorup <krab@iesd.auc.dk> 2170 Author: Kresten Krab Thorup <krab@iesd.auc.dk>
2819 Latest released version: 6.1 {???} 2171 Latest version: 9.1i
2820 Anonymous FTP: 2172 Anonymous FTP:
2821 /iesd.auc.dk:pub/emacs-lisp/auctex_6_1d.tar.Z 2173 /iesd.auc.dk:pub/emacs-lisp/auctex-9.1i.tar.gz
2822 /iesd.auc.dk:pub/emacs-lisp/auctex.tar.Z
2823 Mailing list: 2174 Mailing list:
2824 auc-tex-request@iesd.auc.dk (for subscriptions) 2175 auc-tex-request@iesd.auc.dk (for subscriptions)
2825 auc-tex@iesd.auc.dk (for submissions) 2176 auc-tex@iesd.auc.dk (for submissions)
2826 auc-tex_mgr@iesd.auc.dk (auc-tex development team) 2177 auc-tex_mgr@iesd.auc.dk (auc-tex development team)
2827 2178
2828115: Hyperbole -- extensible hypertext management system within Emacs 217999: Hyperbole -- extensible hypertext management system within Emacs
2829 2180
2830 Author: Bob Weiner <rsw@cs.brown.edu> 2181 Author: Bob Weiner <rsw@cs.brown.edu>
2182 Latest version: 3.15
2831 Anonymous FTP: 2183 Anonymous FTP:
2832 /wilma.cs.brown.edu:pub/hyperbole/ h*.tar.Z 2184 /wilma.cs.brown.edu:pub/hyperbole/h3.15.tar.Z
2833 Mailing lists: 2185 Mailing lists:
2834 hyperbole-announce -- Hyperbole release announcements only. 2186 hyperbole-announce -- Hyperbole release announcements only.
2835 Subscriptions: 2187 Subscriptions:
@@ -2841,1604 +2193,885 @@ Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
2841 Subject: Add <mailbox@domain.name> to hyperbole 2193 Subject: Add <mailbox@domain.name> to hyperbole
2842 Submissions: 2194 Submissions:
2843 hyperbole@cs.brown.edu 2195 hyperbole@cs.brown.edu
2844 NOTE: Any member of the hyperbole mailing list is automatically a 2196 NOTE: Any member of the hyperbole mailing list is automatically a
2845 member of the hyperbole-announce mailing list. 2197 member of the hyperbole-announce mailing list.
2846 NOTE: No .UUCP or ! addresses are allowed on these mailing lists. 2198 NOTE: No .UUCP or ! addresses are allowed on these mailing lists.
2847 2199
2848116: Byte Compiler -- enhanced version of Emacs's byte compiler 2200100: BBDB -- personal Info Rolodex integrated with mail/news readers
2849 2201
2850 Author: Jamie Zawinski <jwz@lucid.com>,
2851 Hallvard B. Furuseth <hallvard@ifi.uio.no>
2852 Anonymous FTP:
2853 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bytecomp.tar.Z
2854 /ftp.uu.net:languages/elisp/packages/bytecomp.tar.Z
2855 /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/bytecomp.tar.Z
2856
2857117: comint -- hugely enhanced shell mode and other derived modes
2858
2859 Author: Olin Shivers <Olin.Shivers@cs.cmu.edu>
2860 Anonymous FTP:
2861 /cs.cmu.edu:/afs/cs.cmu.edu/user/shivers/lib/emacs/
2862 {comint,cmu{tex,shell,scheme,lisp},ml}.el
2863 (anonymous password must contain `@',
2864 cannot cd to intermediate directories)
2865
2866118: BBDB -- personal info rolodex integrated with mail/news readers
2867
2868 Author: Jamie Zawinski <jwz@lucid.com> 2202 Author: Jamie Zawinski <jwz@lucid.com>
2869 Latest released version: 1.47 2203 Latest released version: 1.50
2870 Anonymous FTP: 2204 Anonymous FTP:
2871 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb.tar.Z 2205 /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb-1.50.tar.Z
2872 Mailing list: 2206 Mailing lists:
2873 info-bbdb-request@lucid.com (for subscriptions) 2207 info-bbdb-request@cs.uiuc.edu (for subscriptions)
2874 info-bbdb@lucid.com 2208 info-bbdb@cs.uiuc.edu (for submissions)
2875 bbdb-announce-request@lucid.com (to be informed of new releases) 2209 bbdb-announce-request@cs.uiuc.edu (to be informed of new releases)
2876 Note: BBDB does not work with VM 4. It does work with VM 5, RMAIL, GNUS, 2210 NOTE: BBDB does not work with VM 4. It does work with VM 5,
2877 and MH-E. 2211 Rmail, Gnus, and MH-E.
2878 2212
2879119: Ispell -- spell checker in C with interface for Emacs 2213101: Ispell -- spell checker in C with interface for Emacs
2880 2214
2881 Author: Geoff Kuenning <geoff@itcorp.com> 2215 Author: Geoff Kuenning <geoff@itcorp.com>
2882 Latest released version: 2.0.02 2216 Latest released version: 3.1.08
2883 Beta test version: 3.0 (9 patches)
2884 Anonymous FTP:
2885 /archive.cis.ohio-state.edu:/pub/gnu/ispell/ (version 2.0.02)
2886 /ftp.cs.ucla.edu:/pub/ispell/ (version 3.0, patches, dictionaries)
2887 /argus.math.orst.edu:pub/ispell/ (version 3.0, patches, dictionaries)
2888 /ftp.th-darmstadt.de:pub/dicts/ispell/ (mirror of argus)
2889 NOTE: Do not send mail to Geoff asking him to send you the latest
2890 version of Ispell. He does not have free e-mail.
2891
2892120: Epoch -- enhanced GNU Emacs with better X interface
2893
2894 Latest released version: 4.2
2895 Anonymous FTP: 2217 Anonymous FTP:
2896 /cs.uiuc.edu:pub/epoch-files/epoch/epoch-4.2.tar.Z 2218 Master Sites:
2897 /cs.uiuc.edu:pub/epoch-files/epoch/epoch-diff-4.1-4.2.tar.Z 2219 /ftp.cs.ucla.edu:pub/ispell/ispell-3.1.08.tar.gz
2898 /src.doc.ic.ac.uk:gnu/epoch/ 2220 /ftp.math.orst.edu:pub/ispell/ispell-3.1.08.tar.gz
2899 /aix370.rrz.uni-koeln.de:gnu/emacs/epoch/ 2221 Known Mirror Sites: (only directory names shown)
2900 Newsgroup and mailing lists: 2222 /ftp.th-darmstadt.de:pub/dicts/ispell/
2901 Epoch: 2223 /ftp.nl.net:pub/textproc/ispell/
2902 gnu.emacs.epoch 2224
2903 epoch-request@cs.uiuc.edu (for subscriptions) 2225 NOTE: * Do not ask Geoff to send you the latest version of Ispell.
2904 epoch@cs.uiuc.edu (for submissions) 2226 He does not have free e-mail.
2905 Epoch-Design: 2227
2906 epoch-design-request@cs.uiuc.edu (for subscriptions) 2228 * This Ispell program is distinct from GNU Ispell 4.0. GNU
2907 epoch-design@cs.uiuc.edu (for submissions) 2229 Ispell 4.0 is no longer a supported product.
2908 FAQ list: 2230
2909 Maintainer: Marc Andreessen <marca@ncsa.uiuc.edu> 2231102: XEmacs -- alternative Emacs 19 with better X interface; formerly
2910 Anonymous FTP: 2232 known as Lucid Emacs or lemacs.
2911 /rtfm.mit.edu:pub/usenet/news.answers/epoch-faq 2233
2912 /ftp.ncsa.uiuc.edu:outgoing/marca/epoch/Epoch.FAQ 2234 Primary Maintainer: Chuck Thompson <cthomp@cs.uiuc.edu>
2913 2235 Other Developers: Ben Wing <wing@netcom.com>
2914121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface 2236 Richard Mlynarik <mly@adoc.xerox.com>
2915 2237 Jamie Zawinski <jwz@mcom.com>
2916 Primary Maintainer: Jamie Zawinski <jwz@lucid.com> 2238 Latest released version: 19.11
2917 Other Developers: Eric Benson <eb@lucid.com>
2918 Matthieu Devin <devin@lucid.com>
2919 Harlan Sexton <hbs@lucid.com>
2920 Latest released version: 19.6 !
2921 Anonymous FTP: 2239 Anonymous FTP:
2922 /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.6.tar.Z (source) ! 2240 /ftp.cs.uiuc.edu:pub/xemacs/xemacs-19.11.tar.gz
2923 /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.6-sun4.tar.Z (Sun4binaries) ! 2241 Newsgroup and mailing lists:
2924 Newsgroup and mailing lists: 2242 Bugs:
2925 Bugs: 2243 alt.lucid-emacs.bug
2926 alt.lucid-emacs.bug + 2244 bug-lucid-emacs-request@cs.uiuc.edu (for subscriptions)
2927 bug-lucid-emacs-request@lucid.com (for subscriptions) 2245 bug-lucid-emacs@cs.uiuc.edu (for submissions)
2928 bug-lucid-emacs@lucid.com (for submissions) 2246 Help:
2929 Help: 2247 alt.lucid-emacs.help
2930 alt.lucid-emacs.help + 2248 help-lucid-emacs-request@cs.uiuc.edu (for subscriptions)
2931 help-lucid-emacs-request@lucid.com (for subscriptions) 2249 help-lucid-emacs@cs.uiuc.edu (for submissions)
2932 help-lucid-emacs@lucid.com (for submissions) 2250 NOTE: The XEmacs FAQ is available via the World-Wide Web at URL
2933 2251 http://xemacs.cs.uiuc.edu/.
2934122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines 2252
2935 2253103: Patch -- program to apply "diffs" for updating files
2936 Authors: Manabu Higashida <manabu@sigmath.osaka-u.ac.jp> 2254
2937 HIRANO Satoshi <hirano@tkl.iis.u-tokyo.ac.jp>
2938 Latest released version: 1.2.0
2939 Anonymous FTP:
2940 /utsun.s.u-tokyo.ac.jp:GNU/demacs/ (nearest to U.S.A.)
2941 /ftp.sigmath.osaka-u.ac.jp:pub/Msdos/Demacs/
2942 /wnoc-fuk.wide.ad.jp:pub/msdos/Demacs/
2943 /ftp.3com.com:pub/gnu/msdos/demacs/
2944 /mindseye.berkeley.edu:pub/kanji/demacs/
2945 /ftp.hawaii.edu:pub/editors/demacs.tar.Z
2946 /ftp.math.ksu.edu:pub/pc/demacs/
2947 /wsmr-simtel20.army.mil:pd1:<msdos.demacs> {ange-ftp syntax?}
2948 /ftp.uni-koeln.de:msdos/gnuprogs/dem120e.zip (executables, lisp-code, doc)
2949 (PLEASE USE ONLY OUTSIDE WORKING HOURS!)
2950 /ftp.uni-koeln.de:msdos/gnuprogs/dem120s.zip (sources, diffs)
2951 (PLEASE USE ONLY OUTSIDE WORKING HOURS!)
2952 /ftp.lysator.liu.se:pub/msdos/gnu/emacs/
2953 /mizar.docs.uu.se:pub/gnu/demacs/
2954 /iamsun.unibe.ch:PC/demacs/
2955 /flop.informatik.tu-muenchen.de:outgoing/demacs.tar
2956 /ftp.funet.fi:pub/gnu/emacs/demacs/
2957 /garbo.uwasa.fi:pc/editor/dem120e.zip
2958 /garbo.uwasa.fi:pc/editor/dem120s.zip
2959 /ftp.win.tue.nl:pub/gnu/demacs/
2960 /ugle.unit.no:pub/gnu/Demacs/
2961 {Does anyone know which sites have the Kanji version?}
2962 Via e-mail:
2963 From garbo.uwasa.fi:
2964 To: mailserv@garbo.uwasa.fi
2965 Subject: garbo-request
2966 Body: send pc/editor/dem120e.zip
2967 send pc/editor/dem120s.zip
2968 quit
2969 Downloading:
2970 EXEC-PC (Milwaukee, WI) 414-789-4210 (2400 bps)
2971 in the Mahoney MS-DOS file area in its Editors/wordprocessors
2972 library (F), named GNUEMACS.ZIP
2973 Channel 1 (Cambridge, MA) 617-345-8873 (9600 bps)
2974 in the New Uploads file area, named GNUEMACS.ZIP
2975 NOTE: Use the -d option of [pk]unzip for all .zip archives. Some sites
2976 have Demacs lharc'ed. If you need to find programs to unpack lharc and
2977 zip format archives, Chris Dean <ctdean@talaris.com> points out that you
2978 should see the comp.compression FAQ, available for FTP:
2979 /rtfm.mit.edu:pub/usenet/comp.compression/
2980 Mailing list:
2981 NOTE: There is no mailing list for Demacs. However, there is a list
2982 for DJGPP, which is the environment that Demacs runs in. Many
2983 Demacs problems are actually issues with DJGPP.
2984 DJGPP:
2985 Subscriptions:
2986 To: listserv@sun.soe.clarkson.edu
2987 body: add <your-address> djgpp
2988 or put `help' in the body.
2989 If this fails, mail to djgpp-request@sun.soe.clarkson.edu.
2990 Submissions:
2991 djgpp@sun.soe.clarkson.edu
2992 FAQ list:
2993 Maintainer: Dave Steibel <steibel@cs.umbc.edu>
2994 Anonymous FTP: algol.cs.umbc.edu:pub/demacs/demacs.faq
2995
2996123: Freemacs -- a small Emacs for MS-DOS
2997
2998 Author: Russ Nelson <nelson@sun.soe.clarkson.edu>
2999 Latest released version: 1.6a
3000 Anonymous FTP:
3001 /simtel20.army.mil:PD:<MSDOS.FREEMACS> {ange-ftp syntax?}
3002 /grape.ecs.clarkson.edu:pub/msdos/freemacs/
3003 Via e-mail:
3004 To: archive-server@sun.soe.clarkson.edu
3005 body: help
3006 Via snail mail:
3007 address: Russell Nelson, 11 Grant St., Potsdam, NY 13676
3008 Send $15 copying fee, and specify preferred floppy disk format:
3009 5.25", 360K, or 3.50", 720K
3010 Mailing lists:
3011 Subscriptions:
3012 To: listserv@sun.soe.clarkson.edu
3013 body: add <your-address> <name-of-list>
3014 or put `help' in the body.
3015 List distribution addresses:
3016 freemacs-announce@sun.soe.clarkson.edu
3017 freemacs-help@sun.soe.clarkson.edu
3018 freemacs-workers@sun.soe.clarkson.edu (send bug reports here)
3019
3020124: Patch -- program to apply "diffs" for updating files
3021
3022 Author: Larry Wall <lwall@netlabs.com> 2255 Author: Larry Wall <lwall@netlabs.com>
3023 Latest version: 2.0 patchlevel 12u8 2256 Latest version: 2.1
3024 (This is the version that supports the new unified diff format.) 2257 Anonymous FTP:
3025 Anonymous FTP: 2258 /prep.ai.mit.edu:pub/gnu/patch-2.1.tar.gz
3026 /prep.ai.mit.edu:pub/gnu/patch-2.0.12u8.tar.Z 2259 /ftp.funet.fi:pub/gnu/patch-2.1.tar.gz
3027 /prep.ai.mit.edu:pub/gnu/patch-2.0.12g8.tar.Z (GNU version) 2260 /ftp.uni-stuttgart.de:pub/unix/gnu/patch-2.1.tar.gz
3028 2261 NOTE: See question 80 for other GNU distribution sites.
3029 2262
3030 2263
3031 GNU Emacs FAQ: Keybindings/Output 2264Changing Key Bindings and Handling Key Binding Problems
3032 2265
3033If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to 2266104: How do I bind keys (including function keys) to commands?
3034get an overview of just the questions. Then, when you want to look at the text
3035of the answers, just type "C-x $".
3036 2267
3037To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if 2268 Keys can be bound to commands either interactively or by predefinition
3038that doesn't work, then type ESC to end the search. 2269 (e.g. in the .emacs file). To interactively bind keys for all modes,
2270 type `M-x global-set-key RET KEY CMD RET'; for the current major mode
2271 only, type `M-x local-set-key RET KEY CMD RET' (see the Emacs on-line
2272 documentation for further details).
3039 2273
3040A `+' in the 78th column means something was inserted on the line. A `-' means 2274 To bind keys on starting Emacs or on starting any given mode, you can use
3041something was deleted and a `!' means some combination of insertions and 2275 the following "trick." First bind the key interactively, then
3042deletions occurred. 2276 immediately afterwards type `C-x ESC ESC C-a C-k C-g'. Now, the command
2277 needed to bind the key is in the kill ring and can be yanked into the
2278 .emacs file. If the key binding is global, no changes to the command are
2279 required. For example,
3043 2280
3044Full instructions for getting the latest FAQ are in question 22. Also see the 2281 (global-set-key (quote [f1]) (quote help-for-help))
3045`Introduction to news.answers' posting in the `news.answers' newsgroup, or send
3046e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
3047WAIS, or Prospero to rtfm.mit.edu.
3048 2282
2283 can be place directly into the .emacs file. If the key binding is local,
2284 the command is used in conjunction with the `add-hook' command. For
2285 example, in tex-mode, a local binding might be
3049 2286
2287 (add-hook 'tex-mode-hook
2288 (function (lambda ()
2289 (local-set-key (quote [f1]) (quote help-for-help))))
3050 2290
3051Changing Key Bindings and Handling Key Binding Problems 2291 NOTE: * Control characters in key sequence position of the form yanked
2292 from the kill ring are given in their graphic form - i.e. CTRL is
2293 shown as `^', TAB as a set of spaces (usually 8), etc. You may
2294 want to convert these into their vector or string forms.
2295
2296 * If some prefix key of the character sequence to be bound is
2297 already bound as a complete key, then you must unbind it before
2298 the new binding. For example, if `ESC {' is previously bound:
2299
2300 (global-unset-key [?\e ?{]) ;; or
2301 (local-unset-key [?\e ?{])
2302
2303 * Aside from commands and "lambda lists," a vector or string also
2304 can be bound to a key and thus treated as a macro. For example:
2305
2306 (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or
2307 (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g")
2308
2309 See `Key Bindings' in the Emacs on-line documentation for further
2310 details.
2311
2312105: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
2313
2314 Usually one of two things has happened. In one case, the control
2315 character in the key sequence has been misspecified (e.g. `C-f' used
2316 instead of `\C-f' within a Lisp expression). In the other case, a
2317 "prefix key" in the keystroke sequence you were trying to bind was
2318 already bound as a "complete key." Historically, the `ESC [' prefix was
2319 usually the problem, in which case you should evaluate either of these
2320 forms before attempting to bind the key sequence:
2321
2322 (global-unset-key [?\e ?[]) ;; or
2323 (global-unset-key "\e[")
2324
2325106: Why doesn't this [terminal or window-system setup] code work in my
2326 .emacs file, but it works just fine after Emacs starts up?
2327
2328 During startup, Emacs initializes itself according to a given code/file
2329 order. If some of the code executed in your .emacs file needs to be
2330 postponed until the initial terminal or window-system setup code has been
2331 executed but is not, then you will experience this problem (this
2332 code/file execution order is not enforced after startup).
2333
2334 To postpone the execution of Emacs Lisp code until after terminal or
2335 window-system setup, treat the code as a "lambda list" and set the value
2336 of either the `term-setup-hook' or `window-setup-hook' variable to this
2337 "lambda function." For example,
3052 2338
3053125: How do I bind keys (including function keys) to commands?
3054
3055 1. Find out what character sequence is generated by the keystroke sequence
3056 you wish to bind to a command. See question 129 for how to do this.
3057 Keep in mind that the character sequences generated by a keystroke
3058 sequence varies from one terminal to another. You may also get
3059 different results depending on what type of machine you are running on
3060 (see question 128). For example, these keystrokes may generate these
3061 character sequences:
3062
3063 F1 ---> ESC [ 2 2 4 z
3064 Shift-R10 ---> ESC O t
3065 L7 ---> ESC [ 3 1 ~
3066 Remove ---> C-@
3067
3068 2. Figure out what the Emacs Lisp syntax is for this character sequence.
3069 Inside an Emacs Lisp string, RET, LFD, DEL, ESC, SPC, and TAB are
3070 specified with `\r', `\n', `\C-?', `\e', ` ', and `\t'. C-x is
3071 specified by `\C-x'. M-x is specified the same was as "ESC x".
3072 (Control characters may also be specified as themselves, but I don't
3073 recommend it.) An Emacs Lisp string begins and ends with the double
3074 quote character, `"'. Here are some examples:
3075
3076 ESC [ D ---> "\e[D"
3077 ESC [ 2 2 7 z ---> "\e[227z"
3078 ESC [ 1 8 ~ ---> "\e[18~"
3079 C-M-r ---> "\e\C-r"
3080
3081 3. If some prefix of the character sequence is already bound, you must
3082 unbind it by binding it to `nil'. For example:
3083
3084 (global-set-key "\e[" nil)
3085
3086 4. Pick a command to bind your key sequence to. A command can be a
3087 "symbol" with a function definition, or a "lambda list", or a string
3088 (which is treated as a macro). For example:
3089
3090 (global-set-key "\e[D" 'backward-char)
3091 (global-set-key "\e[227~" "\exgoto-line\r") ; macro
3092
3093 See `Key Bindings' and `Rebinding' in the online manual.
3094
3095 In Emacs 19 (including Lucid Emacs), you can bind function key F24 like
3096 this:
3097
3098 (global-set-key 'f24 'some-command)
3099
3100126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'?
3101
3102 A prefix of the character sequence you were trying to bind was already
3103 bound. Usually, the sequence is "ESC [", in which case you should
3104 evaluate this form first:
3105
3106 (define-key esc-map "[" nil)
3107
3108 NOTE: By default, "ESC [" is bound to backward-paragraph, and if you do
3109 this you will lose this key binding. For most people, this is not a
3110 problem.
3111
3112 See question 125.
3113
3114127: Why doesn't this [terminal or window-system setup] code work in my
3115 .emacs file, but it works just fine after Emacs starts up?
3116
3117 This is because you're trying to do something in your .emacs file that
3118 needs to be postponed until after the terminal/window-system setup code
3119 is loaded. This is a result of the order in which things are done
3120 during the startup of Emacs. For more details see question 135.
3121
3122 In order to postpone the execution of Emacs Lisp code until after the
3123 terminal/window-system setup, set the value of the variable
3124 term-setup-hook or window-setup-hook to be a function which does what
3125 you want.
3126
3127 See etc/OPTIONS for a complete explanation of what Emacs does every time
3128 it is started.
3129
3130 Here is a simple example of how to set term-setup-hook:
3131
3132 (setq term-setup-hook 2339 (setq term-setup-hook
3133 (function 2340 (function
3134 (lambda () 2341 (lambda ()
3135 (cond ((string-match "\\`vt220" (or (getenv "TERM") "")) 2342 (cond ((string-match "\\`vt220" (or (getenv "TERM") ""))
3136 ;; Make vt220's "Do" key behave like M-x: 2343 ;; Make vt220's "Do" key behave like M-x:
3137 (define-key CSI-map "29~" 'execute-extended-command)) 2344 (global-set-key [do] 'execute-extended-command))
3138 )))) 2345 ))))
3139 2346
3140128: How do I use function keys under X Windows? 2347 For information on what Emacs does every time it is started, see the
3141 2348 lisp/startup.el file.
3142 This depends on whether you are running Emacs inside a terminal emulator 2349
3143 window, or whether you are allowing Emacs to create its own X window. 2350107: How do I use function keys under X Windows?
3144 You can tell which you are doing by noticing whether Emacs creates a new 2351
3145 window when you start it. 2352 With Emacs 19, functions keys under X are bound like any other key. See
3146 2353 question 104 for details.
3147 If you are running Emacs inside a terminal emulator window, then it 2354
3148 behaves exactly as it does on any other tty. In this case, for function 2355108: How do I tell what characters or symbols my function or arrow keys
3149 keys to be useful, they must generate character sequences that are sent 2356 emit?
3150 to the programs running inside the window as input. The `xterm' program 2357
3151 has two different sets of character sequences that it generates when 2358 Put the following in your .emacs file and type `M-x see-chars' to use:
3152 function keys are pressed, depending on the sunFunctionKeys X resource 2359
3153 and the -sf and +sf command line options. (To find out what these key 2360 (defun see-chars ()
3154 sequences are, see question 129.) In addition, with xterm, 2361 "Display events received, terminated by a 3-second timeout."
3155 you can override what key sequence a specific function key (or any other 2362 (interactive)
3156 key) will generate with the `translations' resource. This, for example: 2363 (let (chars
3157 2364 (inhibit-quit t))
3158 XTerm.VT100.Translations: #override \ 2365 (message "Enter characters or other events, terminated by a 3-second
3159 <KeyPress>F1: string(0x1b) string("[xyzzy") 2366 timeout.")
3160 2367 (while (not (sit-for 3))
3161 makes the function key F1 generate the character sequence "ESC [xyzzy". 2368 (setq chars (nconc chars (list (read-event)))
3162 2369 quit-flag nil) ; quit-flag might be set by C-g.
3163 On the other hand, if Emacs is managing its own X window, the following 2370 (if (not (input-pending-p))
3164 description applies. Emacs receives `KeyPress' events from the X server 2371 (message "Events received until now: %s..."
3165 when a key is pressed while the keyboard focus is in its window. The 2372 (key-description chars))))
3166 KeyPress event contains an X "keysym" code, which is simply an arbitrary 2373 (message "Events received: %s" (key-description chars))))
3167 number corresponding to the name of the keysym, and information on which 2374
3168 "modifiers" such as `control' and `shift' are active. For example, the 2375 Alternatively, type "C-h c" then the function or arrow keys. The command
3169 `Tab' keysym is 0xff09. (Generally, a key on the keyboard will generate a 2376 will return either a function key symbol or character sequence (see the
3170 keysym whose name is the same as the label on the key, ie. the `Tab' key 2377 Emacs on-line documentation for an explanation). This works for other
3171 will normally generate the `Tab' keysym. This can be changed with the 2378 keys as well.
3172 xmodmap program.) Emacs recognizes all the keysyms that correspond to 2379
3173 standard ASCII characters and internally uses the ASCII character instead. 2380109: How do I set the X key "translations" for Emacs?
3174 2381
3175 (WARNING: I am about to describe a gross, disgusting hack to you, have
3176 your barf bag ready.)
3177
3178 When Emacs receives the X keysym of one of the arrow keys, it behaves
3179 the same as if it had received a letter key with the control modifier
3180 down as follows (this is hard-coded):
3181
3182 Up becomes C-p
3183 Down becomes C-n
3184 Right becomes C-f
3185 Left becomes C-b
3186
3187 The way Emacs treats other keysyms depends on what kind of machine it was
3188 compiled on. The type of the display machine is irrelevant! Function
3189 keys are mapped internally to escape sequences, while other keys are
3190 completely ignored.
3191
3192 1. If compiled on a Sun, Emacs recognizes these X keysyms that
3193 are normally on a Sun keyboard:
3194
3195 F1 through F9
3196 L1 through L10 (same as F11 through F20)
3197 R1 through R15 (same as F21 through F35)
3198 (The keys labelled R8, R10, R12, and R14 usually are mapped to the
3199 X keysyms Up, Left, Right, and Down.)
3200 Break (the `Alternate' key is given this keysym)
3201
3202 These keys work like Sun function keys. When Emacs receives the
3203 keysym, it will internally use character sequences that look like "ESC
3204 [ ### z", where ### is replaced by a number. The character sequences
3205 are identical to those generated by Sun's keyboard under SunView. Any
3206 function key not listed above generates "ESC [ - 1 z".
3207
3208 In order to use these key sequences, they should be bound to commands
3209 using the standard key binding methods, just as if Emacs were running
3210 on a regular terminal.
3211
3212 WARNING: F11 and L1 are the same keysym in X, as are F12 and L2, etc.
3213 {Yes, this is stupid. Complain to the X consortium.}
3214
3215 2. If not compiled on a Sun, the function keys will appear to Emacs in a
3216 way remarkably similar to the keys of a DEC LK201 keyboard (used on
3217 some VT series terminals). These X keysyms will be recognized:
3218
3219 F1 through F20
3220 Help (treated same as F15)
3221 Menu (treated same as F16, is the LK201 `Do' key)
3222 Find
3223 Insert (LK201 `Insert Here' key)
3224 Select
3225 Prior (LK201 `Prev Screen' key *** ONLY IN 18.58 AND LATER ***)
3226 Next (LK201 `Next Screen' key *** ONLY IN 18.58 AND LATER ***)
3227
3228 And finally, the LK201 key labelled `Remove' (or `Delete') is often
3229 mapped to the Delete keysym which generates the DEL character (C-?)
3230 instead of the key sequence given by the LK201 `Remove' key. It may
3231 also be mapped to some other keysym, such as `_Remove', in which case
3232 you can't use it from within Emacs at all.
3233
3234 Each function key will be internally converted to a character sequence
3235 that looks like "ESC [ ## ~", where ## is replaced by a number. The
3236 character sequences are identical to those generated by a LK201
3237 keyboard. Any function key not listed above generates "ESC [ - 1 ~".
3238
3239 For the complete list of the numbers which are generated by the function
3240 keys, look in the file src/x11term.c at the definitions of the function
3241 stringFuncVal.
3242
3243 If you are running Emacs on a Sun machine, even if your X display is
3244 running on a non-Sun machine (eg., an X terminal), you get the setup
3245 described above for Suns. The determining factor is what type of
3246 machine Emacs is running (was compiled) on, not what type of machine
3247 your X display is on.
3248
3249 If you have function keys not listed above on your keyboard, you can use
3250 `xmodmap' to change their keysym assignments to get keys that Emacs will
3251 recognize, but that may screw up other programs.
3252
3253 X resources are not used by Emacs to affect the key sequences generated.
3254 In particular, there are no X key "translations" for Emacs.
3255
3256 If you have function keys not listed above and you don't want to use
3257 xmodmap to change their names, you might want to make a modification to
3258 your Emacs. Johan Vromans <jv@mh.nl> has made available a patch for Emacs
3259 that adds the x-rebind-key function of Epoch to Emacs 18.58. This allows
3260 another layer of key rebinding before Emacs even sees the keys, and in
3261 this layer you can rebind all of the keys and modifier combinations as
3262 well.
3263
3264 Anonymous FTP:
3265 /ftp.eu.net:gnu/emacs/FP-Xfun.Z
3266 /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun
3267
3268 Johan Vromans explains what this buys for you:
3269
3270 After implementing this, all keyboard keys can be configured to send
3271 user definable sequences, eg.,
3272
3273 (x-rebind-key "KP_F1" 0 "\033OP")
3274
3275 This will have the keypad key PF1 send the sequence "ESC O P", just like
3276 an ordinary VT series terminal.
3277
3278129: How do I tell what characters my function or arrow keys emit?
3279
3280 Use this function by Randal L. Schwartz <merlyn@iwarp.intel.com>:
3281
3282 (defun see-chars ()
3283 "Displays characters typed, terminated by a 3-second timeout."
3284 (interactive)
3285 (let ((chars "")
3286 (inhibit-quit t))
3287 (message "Enter characters, terminated by 3-second timeout.")
3288 (while (not (sit-for 3))
3289 (setq chars (concat chars (list (read-char)))
3290 quit-flag nil)) ; quit-flag maybe set by C-g
3291 (message "Characters entered: %s" (key-description chars))))
3292
3293 Alternatively, use the "C-h l" view-lossage command, which will display
3294 the last 100 characters Emacs has seen in its input stream. Kevin
3295 Gallagher <kgallagh@digi.lonestar.org> suggests typing some unique string
3296 like "wxyz", typing the key in question, then typing "C-h l". The
3297 characters that appear between "wxyz" and "C-h l" were generated by the
3298 key.
3299
3300130: How do I set the X key "translations" for Emacs?
3301
3302 Sorry, you can't; there are no "translations" to be set. Emacs is not 2382 Sorry, you can't; there are no "translations" to be set. Emacs is not
3303 written using the Xt library. The only way to affect the behavior of keys 2383 written using the Xt library. The only way to affect the behavior of
3304 within Emacs is through `xmodmap' (outside Emacs) or `define-key' (inside 2384 keys within Emacs is through `xmodmap' (outside Emacs) or `define-key'
3305 Emacs). 2385 (inside Emacs). The `define-key' command should be used in conjunction
3306 2386 with the `function-key-map' map. For instance,
3307131: How do I handle C-s and C-q being used for flow control? 2387
3308 2388 (define-key function-key-map [M-tab] [?\M-\t])
2389
2390 defines the `META TAB' key sequence.
2391
2392110: How do I handle C-s and C-q being used for flow control?
2393
3309 C-s and C-q are used in the XON/XOFF flow control protocol. This screws 2394 C-s and C-q are used in the XON/XOFF flow control protocol. This screws
3310 up Emacs because it binds these characters to commands. Also, by default 2395 up Emacs because it binds these characters to commands. Also, by default
3311 Emacs will not honor them as flow control characters and may overwhelm 2396 Emacs will not honor them as flow control characters and may overwhelm
3312 output buffers. Sometimes, intermediate software using XON/XOFF flow 2397 output buffers. Sometimes, intermediate software using XON/XOFF flow
3313 control will prevent Emacs from ever seeing C-s and C-q. 2398 control will prevent Emacs from ever seeing C-s and C-q.
3314 2399
3315 Possible solutions: 2400 Possible solutions:
3316 2401
3317 * Disable the use of C-s and C-q for flow control. 2402 * Disable the use of C-s and C-q for flow control.
3318 2403
3319 You need to determine what is the cause of the flow control. 2404 You need to determine the cause of the flow control.
3320 2405
3321 * your terminal 2406 * your terminal
3322 2407
3323 Your terminal may use XON/XOFF flow control to have time to display 2408 Your terminal may use XON/XOFF flow control to have time to display
3324 all the characters it receives. For example, VT series terminals do 2409 all the characters it receives. For example, VT series terminals do
3325 this. It may be possible to turn this off from a setup menu. For 2410 this. It may be possible to turn this off from a setup menu. For
3326 example, on a VT220 you may select `No XOFF' in the setup menu. This 2411 example, on a VT220 you may select `No XOFF' in the setup menu. This
3327 is also true for some terminal emulation programs on PCs. 2412 is also true for some terminal emulation programs on PCs.
3328 2413
3329 When you turn off flow control at the terminal, you will also need to 2414 When you turn off flow control at the terminal, you will also need to
3330 turn it off at the other end, which might be at the computer you are 2415 turn it off at the other end, which might be at the computer you are
3331 logged in to or at some terminal server in between. 2416 logged in to or at some terminal server in between.
3332 2417
3333 If you turn off flow control, characters may be lost; using a printer 2418 If you turn off flow control, characters may be lost; using a printer
3334 connected to the terminal may fail. You may be able to get around 2419 connected to the terminal may fail. You may be able to get around
3335 this problem by modifying the `termcap' entry for your terminal to 2420 this problem by modifying the `termcap' entry for your terminal to
3336 include extra NUL padding characters. 2421 include extra NUL padding characters.
3337 2422
3338 * a modem 2423 * a modem
3339 2424
3340 If you are using a dialup connection, the modems may be using XON/XOFF 2425 If you are using a dialup connection, the modems may be using
3341 flow control. I don't know how to get around this. 2426 XON/XOFF flow control. It's not clear how to get around this.
3342 2427
3343 * a router or terminal server 2428 * a router or terminal server
3344 2429
3345 Some network box between the terminal and your computer may be using 2430 Some network box between the terminal and your computer may be using
3346 XON/XOFF flow control. It may be possible to make it use some other 2431 XON/XOFF flow control. It may be possible to make it use some other
3347 kind of flow control. You will probably have to ask your local 2432 kind of flow control. You will probably have to ask your local
3348 network experts for help with this. 2433 network experts for help with this.
3349 2434
3350 * tty and/or pty devices 2435 * tty and/or pty devices
3351 2436
3352 If your connection to Emacs goes through multiple tty and/or pty 2437 If your connection to Emacs goes through multiple tty and/or pty
3353 devices, they may be using XON/XOFF flow control even when it is not 2438 devices, they may be using XON/XOFF flow control even when it is not
3354 necessary. 2439 necessary.
3355 2440
3356 Eirik Fuller <eirik@theory.tn.cornell.edu> writes: 2441 Eirik Fuller <eirik@theory.tn.cornell.edu> writes:
3357 2442
3358 Some versions of `rlogin' (and possibly telnet) do not pass flow 2443 Some versions of `rlogin' (and possibly telnet) do not pass flow
3359 control characters to the remote system to which they connect. On 2444 control characters to the remote system to which they connect. On
3360 such systems, Emacs on the remote system cannot disable flow control 2445 such systems, Emacs on the remote system cannot disable flow
3361 on the local system. Sometimes `rlogin -8' will avoid this problem. 2446 control on the local system. Sometimes `rlogin -8' will avoid this
3362 2447 problem.
2448
3363 One way to cure this is to disable flow control on the local host 2449 One way to cure this is to disable flow control on the local host
3364 (the one running rlogin, not the one running rlogind) using the stty 2450 (the one running rlogin, not the one running rlogind) using the
3365 command, before starting the rlogin process. On many systems, `stty 2451 stty command, before starting the rlogin process. On many systems,
3366 start u stop u' will do this. 2452 `stty start u stop u' will do this.
3367 2453
3368 Some versions of `tcsh' will prevent even this from working. One 2454 Some versions of `tcsh' will prevent even this from working. One
3369 way around this is to start another shell before starting rlogin, 2455 way around this is to start another shell before starting rlogin,
3370 and issue the stty command to disable flow control from that shell. 2456 and issue the stty command to disable flow control from that shell.
3371 2457
3372 Use `stty -ixon' instead of `stty start u stop u' on some systems. 2458 Use `stty -ixon' instead of `stty start u stop u' on some systems.
3373 2459
3374 * Make Emacs speak the XON/XOFF flow control protocol. 2460 * Make Emacs speak the XON/XOFF flow control protocol.
3375 2461
3376 You can make Emacs treat C-s and C-q as flow control characters by 2462 You can make Emacs treat C-s and C-q as flow control characters by
3377 evaluating this form: 2463 evaluating the form
3378 2464
3379 (set-input-mode nil t) 2465 (enable-flow-control)
3380 2466
2467 to unconditionally enable flow control or
2468
2469 (enable-flow-control-on "vt100" "h19")
2470
2471 (using your terminal names instead of "vt100" or "h19") to enable
2472 selectively. These commands will automatically swap `C-s' and `C-q' to
2473 `C-\' and `C-^'. Variables can be used to change the default swap keys
2474 (`flow-control-c-s-replacement' and `flow-control-c-q-replacement').
2475
3381 If you are fixing this for yourself, simply put the form in your .emacs 2476 If you are fixing this for yourself, simply put the form in your .emacs
3382 file. If you are fixing this for your entire site, the best place to 2477 file. If you are fixing this for your entire site, the best place to
3383 put it is unclear. I don't know if this has any effect when used in 2478 put it is in the lisp/site-start.el file. Putting this form in
3384 lisp/site-init.el when building Emacs; I've never tried that. {Can 2479 lisp/default.el has the problem that if the user's .emacs file has an
3385 someone tell me whether it works?} Putting things in users' .emacs files 2480 error, this will prevent lisp/default.el from being loaded and Emacs
3386 has a number of problems. 2481 may be unusable for the user, even for correcting their .emacs file
3387 2482 (unless they're smart enough to move it to another name).
3388 Putting this form in lisp/default.el has the problem that if the user's 2483
3389 .emacs file has an error, this will prevent lisp/default.el from being 2484 For further discussion of this issue, read the file PROBLEMS (in the
3390 loaded and Emacs may be unusable for the user, even for correcting their 2485 top-level directory when you unpack the Emacs source).
3391 .emacs file (unless they're smart enough to move it to another name). A 2486
3392 possible solution is to initially disable C-s and C-q by setting 2487111: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered
3393 keyboard-translate-table in lisp/site-init.el, either with swap-keys 2488 out?
3394 (see question 136) or with the following form: 2489
3395 2490 To bind `C-s' and `C-q', use either `enable-flow-control' or
3396 ;; by Roger Crew <crew@cs.stanford.edu>: 2491 `enable-flow-control-on'. See question 110 for usage and implementation
3397 (setq keyboard-translate-table 2492 details.
3398 "\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-_") 2493
3399 2494 To bind other keys, use `keyboard-translate'. See question 114 for usage
3400 This will at least prevent Emacs from being confused by the flow control 2495 details. To do this for an entire site, you should swap the keys in
3401 characters, even if lisp/default.el cannot be loaded. Then, in 2496 lisp/site-start.el. See question 110 for an explanation of why
3402 lisp/default.el, enable XON/XOFF flow control with set-input-mode. 2497 lisp/default.el should not be used.
3403 2498
3404 For further discussion of this issue, read the file PROBLEMS in the 2499 NOTE: * If you do this for an entire site, the users will be confused by
3405 Emacs distribution. 2500 the disparity between what the documentation says and how Emacs
3406 2501 actually behaves.
3407132: How do I use commands bound to C-s and C-q (or any key) if these keys 2502
3408 are filtered out? 2503112: Why does the `Backspace' key invoke help?
3409 2504
3410 I suggest swapping C-s with C-\ and C-q with C-^: 2505 The `Backspace' key (on most keyboards) generates ASCII code 8. `C-h'
3411 2506 sends the same code. In Emacs by default `C-h' invokes help-command.
3412 (swap-keys ?\C-s ?\C-\\)
3413 (swap-keys ?\C-q ?\C-^)
3414
3415 See question 136 for the implementation of swap-keys. This method
3416 has the advantage that it simultaneously swaps the characters everywhere
3417 throughout Emacs, while just switching the keybindings will miss important
3418 places where the character codes are stored (eg., the search-repeat-char
3419 variable, major mode keymaps, etc.).
3420
3421 To do this for an entire site, you may want to swap the keys in
3422 lisp/default.el. If only some of your users are connecting through
3423 XON/XOFF flow-controlled connections, you will want to do this
3424 conditionally. I suggest pre-swapping them in lisp/site-init.el when
3425 Emacs is built, and then in lisp/default.el, if it is determined to be
3426 safe, they can be reenabled (being careful not to screw up any other key
3427 mappings users might have established using keyboard-translate-table).
3428 See question 131 for an easy way to pre-swap these keys.
3429
3430 WARNING: If you do this for an entire site, the users will be confused by
3431 the disparity between what the documentation says and how Emacs actually
3432 behaves.
3433
3434133: Why does the `BackSpace' key invoke help?
3435
3436 The BackSpace key (on every keyboard I've used) generates ASCII code 8.
3437 C-h sends the same code. In Emacs by default C-h invokes help-command.
3438 This is intended to be easy to remember since the first letter of "help" 2507 This is intended to be easy to remember since the first letter of "help"
3439 is "h". The easiest solution to this problem is to use C-h (and 2508 is "h." The easiest solution to this problem is to use `C-h' (and
3440 BackSpace) for help and DEL (the Delete key) for deleting the previous 2509 Backspace) for help and DEL (the Delete key) for deleting the previous
3441 character. 2510 character.
3442 2511
3443 For many people this solution may be problematic: 2512 For many people this solution may be problematic:
3444 2513
3445 * They normally use BackSpace outside of Emacs for deleting the previous 2514 * They normally use Backspace outside of Emacs for deleting the previous
3446 character typed. This can be solved by making DEL be the command for 2515 character typed. This can be solved by making DEL be the command for
3447 deleting the previous character outside of Emacs. This command will do 2516 deleting the previous character outside of Emacs. This command will do
3448 this on many Unix systems: 2517 this on many Unix systems:
3449 2518
3450 stty erase '^?' 2519 stty erase '^?'
3451 2520
3452 * The person may prefer using the BackSpace key for deleting the previous 2521 * The person may prefer using the Backspace key for deleting the previous
3453 character because it is more conveniently located on their keyboard or 2522 character because it is more conveniently located on their keyboard or
3454 because they don't even have a separate Delete key. In this case, the 2523 because they don't even have a separate Delete key. In this case, the
3455 BackSpace key should be made to behave like Delete. There are several 2524 Backspace key should be made to behave like Delete. There are several
3456 methods. 2525 methods.
3457 2526
3458 * Under X Windows, the easiest solution is to change the BackSpace key 2527 * Some terminals (e.g., VT3## terminals) allow the character generated by
3459 into a Delete key like this: 2528 the Backspace key to be changed from a setup menu.
3460 2529
3461 xmodmap -e "keysym BackSpace = Delete" 2530 * You may be able to get a keyboard that is completely programmable.
3462 2531
3463 * Some terminals (eg., VT3## terminals) allow the character generated by 2532 * Under X or on a dumb terminal, it is possible to swap the Backspace and
3464 the BackSpace key to be changed from a setup menu. 2533 Delete keys inside Emacs:
3465 2534
3466 * You may be able to get a keyboard that is completely programmable. 2535 (keyboard-translate ?\C-h ?\C-?)
3467 2536
3468 * Under X or on a dumb terminal, it is possible to swap the BackSpace 2537 See question 114 for further details of `keyboard-translate'.
3469 and Delete keys inside Emacs: 2538
3470 2539 * Another approach is to switch key bindings and put help on "C-x h"
3471 (swap-keys ?\C-h ?\C-?) 2540 instead:
3472 2541
3473 See question 136 for the implementation of swap-keys. 2542 (global-set-key [?\C-h] 'delete-backward-char)
3474 2543 (global-set-key [?\C-x ?h] 'help-command)
3475 * Another approach is to switch keybindings and put help on "C-x h" 2544 ;; overrides mark-whole-buffer
3476 instead: 2545
3477 2546 Other popular key bindings for help are M-? and "C-x ?".
3478 (global-set-key "\C-h" 'delete-backward-char) 2547
3479 (global-set-key "\C-xh" 'help-command) ; override mark-whole-buffer 2548 NOTE: * Don't try to bind DEL to help-command, because there are many
3480 2549 modes that have local bindings of DEL that will interfere.
3481 Other popular key bindings for help are M-? and "C-x ?". 2550
3482 2551113: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
3483 WARNING: Don't try to bind DEL to help-command, because there are many 2552
3484 modes that have local bindings of DEL that will interfere.
3485
3486134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
3487
3488 Good question! 2553 Good question!
3489 2554
3490135: Why don't the arrow keys work? 2555114: How do I "swap" two keys?
3491 2556
3492 When Emacs starts up, it doesn't know anything about arrow keys at all 2557 In Emacs 19, you can swap two keys (or key sequences) by using the
3493 (except when running under X, see question 128). During the process of 2558 `keyboard-translate' function. For example, to turn `C-h' into DEL and
3494 starting up, Emacs will load a terminal-specific initialization file for 2559 DEL to `C-h', use
3495 your terminal type (as determined by the environment variable TERM), if 2560
3496 one exists. This file has the responsibility for enabling the arrow keys. 2561 (keyboard-translate ?\C-h ?\C-?) ; translate `C-h' to DEL
3497 2562 (keyboard-translate ?\C-? ?\C-h) ; translate DEL to `C-h'.
3498 There are several things that can go wrong: 2563
3499 2564 The first key sequence of the pair after the function identifies what is
3500 1. There is no initialization file for your terminal. 2565 produced by the keyboard; the second, what is matched for in the keymaps.
3501 2566
3502 You can determine this by looking in the lisp/term directory. If your 2567 Keyboard translations are not the same as key bindings in keymaps. Emacs
3503 terminal type (as determined by the TERM environment variable) is 2568 contains numerous keymaps that apply in different situations, but there
3504 xxx-yy-z, then the first of these files in the lisp/term directory will 2569 is only one set of keyboard translations, and it applies to every
3505 be loaded as the terminal-specific initialization file: xxx-yy-z.el, 2570 character that Emacs reads from the terminal. Keyboard translations take
3506 xxx-yy.el, or xxx.el. 2571 place at the lowest level of input processing; the keys that are looked
3507 2572 up in keymaps contain the characters that result from keyboard
3508 There are two major cases of this problem: 2573 translation.
3509 2574
3510 * Your terminal type is very similar to one that has an init file. 2575 Also see `Keyboard Translations' in the on-line manual.
3511 2576
3512 In this case, there are several techniques suggested by Colin Jensen 2577115: How do I produce C-XXX with my keyboard?
3513 <cjensen@ampex.com>, Ben Liblit <Liblit@cs.psu.edu>, and Marc 2578
3514 Auslander <marc@watson.ibm.com>: 2579 On terminals (but not under X), some common "aliases" are:
3515 2580
3516 A. Add a symbolic link in lisp/term for your terminal type that 2581 CTRL-2 or CTRL-SPC for C-@
3517 points to the similar type. For example, you could make VT102 2582 CTRL-6 for C-^
3518 terminals work with this command: 2583 CTRL-7 or CTRL-SHIFT-- for C-_
3519 2584 CTRL-4 for C-\
3520 ln -s vt100.el vt102.el 2585 CTRL-5 for C-]
3521 2586 CTRL-/ for C-?
3522 This fixes things for everyone on the system who uses the terminal 2587
3523 type. 2588 Often other aliases exist; use the `C-h c' command and try `CTRL' with
3524 2589 all of the digits on your keyboard to see what gets generated. You can
3525 B. If you can't do the solution in part A, you can add code to your 2590 also try the `C-h w' command if you know the name of the command.
3526 term-setup-hook that loads the correct file like this: 2591
3527 2592116: What if I don't have a Meta key?
3528 (setq term-setup-hook 2593
3529 (function 2594 Instead of typing "M-a", you can type "ESC a". In fact, Emacs converts
3530 (lambda () 2595 M-a internally into "ESC a" anyway (depending on the value of
3531 (cond ((equal "vt102" (or (getenv "TERM") "")) 2596 meta-prefix-char). Note that you press "Meta" and "a" together, while
3532 (load (concat term-file-prefix "vt100"))) 2597 you press "ESC", release it, and then press "a".
3533 (;; Code for other terminal types goes here ... 2598
3534 ))))) 2599117: What if I don't have an Escape key?
3535 2600
3536 C. If you use `tset' to set your TERM environment variable when you 2601 Type "C-[" instead. This should send ASCII code 27 just like an Escape
3537 login, you can use the `-m' switch to tell tset to use a terminal 2602 key would. "C-3" may also work on some terminal (but not under X). For
3538 type known by Emacs instead of another similar one. For example, 2603 many terminals (notably DEC terminals) "F11" generates the "ESC" key. If
3539 specifying this: 2604 not, the following form can be used bind it:
3540 2605
3541 tset ... -m 'dec-vt220:vt220' ... 2606 (define-key function-key-map [f11] [?\e]) ; F11 is the documented ESC
3542 2607 ; replacement on DEC terminals.
3543 will make tset say you are on a `vt220' instead of a `dec-vt220'. 2608
3544 2609118: Can I make my `Compose Character' key behave like a Meta key?
3545 D. Interactively, you can type "M-x load-library RET term/vt100" to 2610
3546 load the terminal-specific initialization files for VT100
3547 terminals.
3548
3549 * Your terminal type is not similar to one that has an init file.
3550
3551 One can be made for your terminal, or you can just add code to your
3552 own .emacs to handle this problem for yourself. For example, if your
3553 terminal's arrow keys send these character sequences:
3554
3555 Up: ESC [ A
3556 Down: ESC [ B
3557 Right: ESC [ C
3558 Left: ESC [ D
3559
3560 then you can bind these keys to the appropriate commands with code in
3561 your .emacs like this:
3562
3563 (setq term-setup-hook
3564 (function
3565 (lambda ()
3566 (cond ((string-match "\\`xyzzy" (or (getenv "TERM") ""))
3567 ;; First, must unmap the binding for left bracket
3568 (or (keymapp (lookup-key global-map "\e\["))
3569 (define-key global-map "\e\[" nil))
3570 ;; Enable terminal type xyzzy's arrow keys:
3571 (define-key global-map "\e\[A" 'previous-line)
3572 (define-key global-map "\e\[B" 'next-line)
3573 (define-key global-map "\e\[C" 'forward-char)
3574 (define-key global-map "\e\[D" 'backward-char))
3575 ((string-match "\\`abcde" (or (getenv "TERM") ""))
3576 ;; Do something different for terminal type abcde
3577 ;; .....
3578 )))))
3579
3580 NOTE: You may have to restart Emacs to get changes to take effect.
3581
3582 NOTE: Your arrow keys may send sequences beginning with "ESC O" when
3583 Emacs is running, even if they send sequences beginning with "ESC [" at
3584 all other times. This is because Emacs uses any command there may be
3585 in your terminal's termcap entry for putting the terminal into
3586 "Application Keypad Mode". Just map these sequences the same way as
3587 above.
3588
3589 The next two cases are problems even if there is a initialization file for
3590 your terminal type.
3591
3592 2. The initialization file for your terminal doesn't bind arrow keys.
3593
3594 If your terminal type is `xterm', you will have to bind the arrow keys
3595 as in part 1 above, since the xterm.el file doesn't do anything useful.
3596 There may be other terminal types with the same problem.
3597
3598 3. Your terminal's arrow keys send individual control characters.
3599
3600 For example, the arrow keys on an ADM-3 send C-h, C-j, C-k, and C-l.
3601
3602 There is not much Emacs can do in this situation, since all the control
3603 characters except for C-^ and C-\ are already used as Emacs commands.
3604 It may be possible to convince the terminal to send something else when
3605 you press the arrow keys; it is worth investigating.
3606
3607 You have to make the hard choices of how to rebind keys to commands to
3608 make things work the way you want. Another alternative is to start
3609 learning the standard Emacs keybindings for moving point around: C-b,
3610 C-f, C-p, and C-n. Personally, I no longer use the arrow keys when
3611 editing because I have switched keyboards so many times.
3612
3613 4. Your terminal's arrow keys send sequences beginning with "ESC [".
3614
3615 Due to an extremely poor design decision (ie., these sequences are ANSI
3616 standard), none of the the terminal-specific initialization files that
3617 are distributed with Emacs will bind these character sequences to the
3618 appropriate commands by default. (This also applies to any other
3619 function keys which generate character sequences starting with "ESC
3620 [".) This is because it was deemed far more important to preserve the
3621 binding of M-[ to the backward-paragraph command. It appears that this
3622 will change in Emacs 19.
3623
3624 Some of the terminal-specific initialization files that come with Emacs
3625 provide a command enable-arrow-keys that will fix this problem. To get
3626 this automatically invoked, put this in your .emacs:
3627
3628 (setq term-setup-hook
3629 (function
3630 (lambda ()
3631 (if (fboundp 'enable-arrow-keys) (enable-arrow-keys)))))
3632
3633 We put this in our lisp/default.el file, so users don't have to worry
3634 about it:
3635
3636 ;; don't override a user's term-setup-hook
3637 (or term-setup-hook
3638 (setq term-setup-hook
3639 (function
3640 (lambda ()
3641 (and (fboundp 'enable-arrow-keys)
3642 ;; don't override a user key mapping
3643 (eq 'backward-paragraph (lookup-key esc-map "["))
3644 (enable-arrow-keys))))))
3645
3646 If your terminal type is `sun', you should put this in your .emacs
3647 instead (or in addition to the above):
3648
3649 (setq sun-esc-bracket t)
3650
3651 It is possible that the terminal-specific initialization file for your
3652 terminal type was written locally and does not follow the rule
3653 mentioned above. In this case you may need to inspect it to find out
3654 how to enable the arrow keys. (Actually, if it was written locally, it
3655 probably enables the arrow keys by default.)
3656
3657136: How do I "swap" two keys?
3658
3659 When Emacs receives a character, you can make Emacs behave as though it
3660 received another character by setting the value of
3661 keyboard-translate-table. The following Emacs Lisp will do this for you,
3662 allowing you to "swap" keys. After arranging for this Lisp to be
3663 evaluated by Emacs, you can evaluate `(swap-keys ?A ?B)' to swap A and B.
3664
3665 (defun swap-keys (key1 key2)
3666 "Swap keys KEY1 and KEY2 using map-key."
3667 (map-key key1 key2)
3668 (map-key key2 key1))
3669
3670 (defun map-key (from to)
3671 "Make key FROM behave as though key TO was typed instead."
3672 (setq keyboard-translate-table
3673 (concat keyboard-translate-table
3674 (let* ((i (length keyboard-translate-table))
3675 (j from)
3676 (k i)
3677 (str (make-string (max 0 (- j (1- i))) ?X)))
3678 (while (<= k j)
3679 (aset str (- k i) k)
3680 (setq k (1+ k)))
3681 str)))
3682 (aset keyboard-translate-table from to)
3683 (let ((i (1- (length keyboard-translate-table))))
3684 (while (and (>= i 0) (eq (aref keyboard-translate-table i) i))
3685 (setq i (1- i)))
3686 (setq keyboard-translate-table
3687 (if (eq i -1)
3688 nil
3689 (substring keyboard-translate-table 0 (1+ i))))))
3690
3691 NOTE: You must evaluate the definition of these functions before calling
3692 them! For example, list the function definitions before their use in your
3693 .emacs file.
3694
3695 NOTE: These functions take two numbers as arguments. The example above,
3696 `(swap-keys ?A ?B)' is actually `(swap-keys 65 66)', because `?A' is
3697 merely notation for 65, the ASCII value of `A'.
3698
3699 NOTE: These functions only work for single characters. You cannot swap
3700 two multi-character sequences.
3701
3702137: How do I produce C-XXX with my keyboard?
3703
3704 For C-@ and C-^, often you can just type Control-2 and Control-6. For
3705 C-_, you may have to hold down the shift key, typing Control-Shift-Hyphen.
3706 C-@ can often be generated by typing Control-Space. C-@ is often called
3707 the NUL character, and has ASCII value 0. C-_ can often be generated by
3708 typing Control-7 or Control-/. C-? (aka DEL) may be generated by typing
3709 Shift-BackSpace or Control-BackSpace or a key labelled Delete or Del.
3710
3711 Try Control with all of the digits on your keyboard to see what gets
3712 generated.
3713
3714138: What if I don't have a Meta key?
3715
3716 Instead of typing M-a, you can type "ESC a" instead. In fact, Emacs
3717 converts M-a internally into "ESC a" anyway (depending on the value of
3718 meta-prefix-char).
3719
3720139: What if I don't have an Escape key?
3721
3722 Type C-[ instead. This should send ASCII code 27 just like an Escape
3723 key would. Try also C-;.
3724
3725140: How do I type DEL on PC terminal emulators?
3726
3727 Some IBM PC compatibles do not have a key labeled `Del' or `Delete' {is
3728 this true?}. Those that do generally have it in an inconvenient location.
3729 (Also, in some terminal emulators, the `Del' key does not transmit DEL.)
3730 The result is the standard "BackSpace invoking help" problem (see question
3731 133).
3732
3733 The usual solution, suggested by Michael Covington
3734 <mcovingt@aisun1.ai.uga.edu>, is to somehow tell the terminal emulator
3735 program that BackSpace should transmit DEL. Read the program's manual.
3736 Shift-BackSpace or Control-BackSpace may send DEL. The `Del' key may only
3737 send DEL if the NumLock key hasn't been pressed.
3738
3739141: Can I make my `Compose Character' key behave like a Meta key?
3740
3741 On a dumb terminal such as a VT220, no. It is rumored that certain VT220 2611 On a dumb terminal such as a VT220, no. It is rumored that certain VT220
3742 clones could have their Compose key configured this way. If you're using 2612 clones could have their Compose key configured this way. If you're using
3743 X, you might be able to do this with the `xmodmap' program (this is 2613 X, you might be able to do this with the `xmodmap' program.
3744 what I do). 2614
3745 2615119: How do I bind a combination of modifier key and function key?
3746142: How do I bind a combination of modifier key and function key? 2616
3747 2617 With Emacs 19 you can indicate modified function keys in vector format
3748 Unless you're using Emacs under emacstool (or xvetool?), have a working 2618 through multi-prefixing the function key symbol. For example (from the
3749 version of x-rebind-key (see question 128), or are using Emacs 19 (Lucid 2619 Emacs on-line documentation):
3750 Emacs), you can't do this with Emacs alone. 2620
3751 2621 (global-set-key [?\C-x right] 'forward-page)
3752 If you are using emacstool, Emacs sees different character sequences for 2622
3753 the combination of a modifier and a function key from what it sees for the 2623 where "?\C-x" is the Lisp character constant for the character "C-x".
3754 function key alone. See etc/emacstool.1 for more information. Since 2624
3755 Emacs sees different character sequences, you can bind these different 2625 You can use the modifier keys CTRL, META, HYPER, SUPER, ALT and SHIFT
3756 sequences to different commands. 2626 with function keys. To represent these modifiers, prepend the strings
3757 2627 "C-", "M-", "H-", "s-", "A-" and "S-" to the symbol name. Thus, here is
3758 If you are running Emacs inside a terminal emulator window like xterm, you 2628 how to make "Hyper-Meta-RIGHT" move forward a word:
3759 can modify its translation tables to make it generate different character 2629
3760 sequences for the combination of a modifier and a function key. For 2630 (global-set-key [H-M-right] 'forward-word)
3761 example, this X resource setting: 2631
3762 2632 NOTE: * Not all modifiers are permitted in all situations. HYPER, SUPER,
3763 XTerm.VT100.Translations: #override \ 2633 and ALT are available only under X (provided there are such
3764 Shift<KeyPress>F1: string(0x1b) string("[xyzzy") 2634 keys). Non-ASCII keys and mouse events (e.g. "C-=" and
3765 2635 "mouse-1") also fall under this category.
3766 makes Shift-F1 generate the character sequence "ESC [ xyzzy". You can 2636
3767 bind these character sequences in Emacs as normal. Nick Ruprecht 2637 See question 104 for general key binding instructions.
3768 <ruprecht@informatik.uni-freiburg.de> has written an extensive X 2638
3769 translation mapping for xterm that does this. {Does this have an FTP 2639120: Why doesn't my Meta key work in an xterm window?
3770 site?} 2640
3771
3772 If you have x-rebind-key, you can have any arbitrary combination of
3773 modifiers with a key replaced by any sequence of "normal" characters. For
3774 example, this makes Shift-Return behave as though you had typed "C-x C-e"
3775 (example from Jerry Graves):
3776
3777 (x-rebind-key "Return" 'shift "\C-x\C-e")
3778
3779 In Emacs 19 (Lucid Emacs), you can bind Meta-Left-Arrow like this (example
3780 from Jamie Zawinski):
3781
3782 (global-set-key '(meta left) 'backward-word)
3783
3784 With the last two methods, use `xmodmap' and `xev' to discover the keysym
3785 and modifier names.
3786
3787143: Why doesn't my Meta key work in an xterm window?
3788
3789 Try all of these methods before asking for further help: 2641 Try all of these methods before asking for further help:
3790 2642
3791 * You may have big problems using `mwm' as your window manager. {Does 2643 * You may have big problems using `mwm' as your window manager. {Does
3792 anyone know a good generic solution to allow the use of the Meta key in 2644 anyone know a good generic solution to allow the use of the Meta key in
3793 Emacs with mwm?} 2645 Emacs with mwm?}
3794 2646
3795 * For X11R4: Make sure it really is a Meta key. Use `xev' to find out 2647 * For X11: Make sure it really is a Meta key. Use `xev' to find out what
3796 what keysym your Meta key generates. It should be either Meta_L or 2648 keysym your Meta key generates. It should be either Meta_L or Meta_R.
3797 Meta_R. If it isn't, use xmodmap to fix the situation. 2649 If it isn't, use xmodmap to fix the situation.
3798 2650
3799 * Make sure the pty the xterm is using is passing 8 bit characters. 2651 * Make sure the pty the xterm is using is passing 8 bit characters.
3800 `stty -a' (or `stty everything') should show `cs8' somewhere. If it 2652 `stty -a' (or `stty everything') should show `cs8' somewhere. If it
3801 shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix 2653 shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix
3802 it. 2654 it.
3803 2655
3804 * If there is an rlogin connection between the xterm and the Emacs, the 2656 * If there is an rlogin connection between the xterm and the Emacs, the
3805 `-8' argument may need to be given to rlogin to make it pass all 8 2657 `-8' argument may need to be given to rlogin to make it pass all 8 bits
3806 bits of every character. 2658 of every character.
3807 2659
3808 * If the Emacs is running under Ultrix, it is reported that evaluating 2660 * If the Emacs is running under Ultrix, it is reported that evaluating
3809 (set-input-mode t nil) helps. 2661 (set-input-mode t nil) helps.
3810 2662
3811 * If all else fails, you can make xterm generate "ESC W" when you type 2663 * If all else fails, you can make xterm generate "ESC W" when you type
3812 M-W, which is the same conversion Emacs would make if it got the M-W 2664 M-W, which is the same conversion Emacs would make if it got the M-W
3813 anyway. In X11R4, the following resource specification will do this: 2665 anyway. In X11R4, the following resource specification will do this:
3814 2666
3815 XTerm.VT100.EightBitInput: false 2667 XTerm.VT100.EightBitInput: false
3816 2668
3817 (This changes the behavior of the insert-eight-bit action.) 2669 (This changes the behavior of the insert-eight-bit action.)
3818 2670
3819 With older xterms, you can specify this behavior with a translation: 2671 With older xterms, you can specify this behavior with a translation:
3820 2672
3821 XTerm.VT100.Translations: #override \ 2673 XTerm.VT100.Translations: #override \
3822 Meta<KeyPress>: string(0x1b) insert() 2674 Meta<KeyPress>: string(0x1b) insert()
3823 2675
3824 You might have to replace `Meta' with `Alt'. 2676 You might have to replace `Meta' with `Alt'.
3825 2677
3826144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? 2678121: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0?
3827 2679
3828 This is a result of an internationalization extension in X11R4 and the 2680 This is a result of an internationalization extension in X11R4 and the
3829 fact that HP is now using this extension. Emacs assumes that 2681 fact that HP is now using this extension. Emacs assumes that
3830 XLookupString returns the same result regardless of the Meta key state 2682 XLookupString returns the same result regardless of the Meta key state
3831 which is no longer necessarily true. Until Emacs is fixed, the temporary 2683 which is no longer necessarily true. Until Emacs is fixed, the temporary
3832 kludge is to run this command after each time the X server is started but 2684 kludge is to run this command after each time the X server is started but
3833 preferably before any xterm clients are: 2685 preferably before any xterm clients are:
3834 2686
3835 xmodmap -e 'remove mod1 = Mode_switch' 2687 xmodmap -e 'remove mod1 = Mode_switch'
3836 2688
3837 NOTE: This will disable the use of the extra keysyms systemwide, which 2689 NOTE: This will disable the use of the extra keysyms systemwide, which
3838 may be undesirable if you actually intend to use them. 2690 may be undesirable if you actually intend to use them.
3839
3840145: Where can I get key bindings to make Emacs emulate WordStar?
3841
3842 There is a package `wordstar' by Jim Frost <jimf@saber.com> and
3843 `ws-mode.el' by Juergen Nickelsen <nickel@cs.tu-berlin.de>. Check in the
3844 Emacs Lisp Archive (see question 89).
3845
3846146: Where can I get an XEDIT emulator for Emacs?
3847
3848 This question comes up once every couple of months. I have never seen a
3849 positive reply, so I presume no one has ever written one.
3850
3851 2691
2692122: Where can I get key bindings to make Emacs emulate WordStar?
2693
2694 There is a package `wordstar' by Jim Frost <jimf@saber.com> located under
2695 the "misc" directory at the Emacs Lisp Archive.
2696
2697123: Where can I get an XEDIT emulator for Emacs?
2698
2699 This question comes up once every couple of months. Searing for "xedit"
2700 through most recent Lisp Code Directory fails to match any entries.
3852 2701
3853Using Emacs with Alternate Character Sets 2702Using Emacs with Alternate Character Sets
3854 2703
3855147: How do I make Emacs display 8-bit characters? 2704124: How do I make Emacs display 8-bit characters?
3856 2705
3857 There is a patch called the `8-bit ctl-arrow patch' that allows Emacs to 2706 GNU Emacs 19 has built-in support for 8-bit characters. Here is an
3858 display characters with codes from 128 to 255. {The original appears to 2707 excerpt from the `European Display' page of the on-line manual:
3859 have been by Kenneth Cline <cline@proof.ergo.cs.cmu.edu>.} Partially based 2708
3860 on Johan Widen's earlier work, Johan Vromans <jv@mh.nl> has updated this 2709 Some European languages use accented letters and other special symbols.
3861 patch for Emacs 18.58 along with some other 8-bit improvements. 2710 The ISO 8859 Latin-1 character set defines character codes for many
3862 2711 European languages in the range 160 to 255.
3863 Anonymous FTP: 2712
3864 /ftp.eu.net:gnu/emacs/FP-EightBit.Z 2713 Emacs can display those characters according to Latin-1, provided the
3865 /ftp.urc.tue.nl:/pub/tex/emacs/FP-EightBit 2714 terminal or font in use supports them. The `M-x
3866 /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57 2715 standard-display-european' command toggles European character display
3867 /sics.se:archive/emacs-18.55-8bit-diff 2716 mode. With a numeric argument, `M-x standard-display-european' enables
3868 /laas.laas.fr:pub/emacs/patch-8bit-18.55 2717 European character display if and only if the argument is positive.
3869 /laas.laas.fr:pub/emacs/patch-8bit-18.57 2718
3870 2719 Some operating systems let you specify the language you are using by
3871 Via e-mail: 2720 setting a locale. Emacs handles one common special case of this: if
3872 To: mail-server@sics.se 2721 your locale name for character types contains the string `8859-1' or
3873 body: send emacs-18.55-8bit-diff 2722 `88591', Emacs automatically enables European character display mode
3874 2723 when it starts up.
3875 Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive 2724
3876 patch for Emacs 18.59 that allows for 8-bit input and output. 2725125: How do I input 8-bit characters?
3877 2726
3878 Anonymous FTP: 2727 Again, from the `European Display' page of the on-line manual:
3879 /ftp.efd.lth.se:pub/gnu/emacs_8-bit.patch 2728
3880 2729 If you enter non-ASCII ISO Latin-1 characters often, you might find ISO
3881 In the words of the author: 2730 Accents mode convenient. When this minor mode is enabled, the
3882 2731 characters ``', `'', `"', `^', `/' and `~' modify the following letter
3883 With these patches, Emacs becomes fully 8-bit operational. There is 2732 by adding the corresponding diacritical mark to it, if possible. To
3884 support for displaying 8-bit characters, as well as for entering such 2733 enable or disable ISO Accents mode, use the command `M-x
3885 characters from the keyboard. In addition, upcase/lowcase translation 2734 iso-accents-mode'. This command affects only the current buffer.
3886 is supported, accented characters are recognized as "letters" (important 2735
3887 when doing 'forward-word', for example), and text with 8-bit characters 2736 To enter one of those six special characters, type the character,
3888 can be sorted correctly. 2737 followed by a space. Some of those characters have a corresponding
3889 2738 "dead key" accent character in the ISO Latin-1 character set; to enter
3890 A Meta-shift key can still be used, provided that you run in an 2739 that character, type the corresponding ASCII character twice. For
3891 environment where it is possible to distinguish between a character 2740 example, `''' enters the Latin-1 character acute-accent (character code
3892 entered using the Meta-shift key and one entered directly. The diffs 2741 0264).
3893 include patches to make this work under SunView (with emacstool) as 2742
3894 well as under X. If you can't use a Meta-shift key, you have to enter 2743126: Where can I get an Emacs that can handle kanji characters?
3895 Meta-commands with the ESC-prefix. 2744
3896
3897 The most comprehensive patches for 8-bit output are by Howard Gayle
3898 (originally for Emacs 18.55. These patches allow displaying any arbitrary
3899 string for a given 8-bit character (except TAB and C-j). Also supported
3900 is defining the sorting order and the uppercase and lowercase
3901 translations. It is reported that the 8-bit character support in Emacs 19
3902 is largely based on these patches. Thomas Bellman
3903 <Bellman@lysator.liu.se> has updated these patches for Emacs 18.59.
3904
3905 Anonymous FTP:
3906 /sics.se:archive/emacs-gayle.tar.Z (patches for 18.55)
3907 /ftp.lysator.liu.se:pub/emacs/gayle-18.58.diff.tar.Z (patches)
3908 /ftp.lysator.liu.se:pub/emacs/emacs-18.59-gayle.tar.Z (patched Emacs)
3909
3910 Epoch's 8-bit character support is based on Anders Edenbrandt's patches.
3911 Lucid Emacs has the ctl-arrow patch installed. Nemacs displays 8-bit
3912 characters, and it may be useful for displaying the 8-bit ISO-8859
3913 alphabet, but I don't know for sure (see question 149).
3914
3915148: How do I input 8-bit characters?
3916
3917 Minor modes for ISO Latin-1 that allow one to easily input this character
3918 set have been written by several people. Such modes have been written by
3919 Matthieu Herrb <matthieu@laas.fr> (laas.laas.fr:pub/emacs/iso-latin-1.el),
3920 Johan Vromans <jv@mh.nl> {FTP site??}, and Marc Shapiro
3921 <shapiro@sor.inria.fr> {FTP site??}.
3922
3923 These approaches differ from the one taken by Anders Edenbrandt in that
3924 his method uses direct 8-bit input, while these methods use a compose
3925 sequence for 8-bit characters. {I have heard conflicting reports on
3926 whether this results in losing the Meta key. Perhaps this depends on
3927 whether Emacs is running under X. Can someone resolve this?}
3928
3929 Karl Heuer <karl@haddock.ima.isc.com> is said to have a patch to allow
3930 8-bit input. Georg-Wilhelm Koltermann <gwk@crmunich0.cray.com> also has a
3931 patch for either 18.57 or 18.58 that allows 8-bit input.
3932
3933 Epoch comes with a patch that allows it to input 8-bit characters, but it
3934 is not enabled by default. {Is this right?}
3935
3936 Jamie Zawinski says:
3937
3938 Lucid GNU Emacs allows the input of any ISO-8859/1 keysyms that your
3939 keyboard generates (see xmodmap), and contains a package that implements
3940 a DEC/OpenWindows-like "Compose" key for systems which don't have one.
3941
3942149: Where can I get an Emacs that can handle kanji characters?
3943
3944 Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55 2745 Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55
3945 that handles kanji characters. It is available via anonymous FTP: 2746 that handles kanji characters. It is available via anonymous FTP:
3946 2747
3947 /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z 2748 /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z
3948 /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z 2749 /ftp.cs.titech.ac.jp:pub/gnu-rel/nemacs/nemacs-3.3.2.tar.gz
3949 2750
3950 You might also need files for "wnn", a kanji input method 2751 You might also need files for "wnn," a kanji input method
3951 (wnn-4.0.3{-README,.tar.Z} {on which machine?}). You need a terminal (or 2752 (wnn-4.0.3{-README,.tar.Z} {on which machine?}). You need a terminal (or
3952 terminal emulator) that can display text encoded in JIS, Shift-JIS, or EUC 2753 terminal emulator) that can display text encoded in JIS, Shift-JIS, or
3953 (Extended Unix Code), or the ability to run Nemacs as a direct X Window 2754 EUC (Extended Unix Code), or the ability to run Nemacs as a direct X
3954 client. 2755 Windows client.
3955 2756
3956150: Where can I get an Emacs that can handle Chinese? 2757127: Where can I get an Emacs that can handle Chinese?
3957 2758
3958 `cemacs' by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs 2759 Cemacs by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs
3959 18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with 2760 18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with
3960 Cxterm allows using Chinese characters. It is available via anonymous 2761 Cxterm allows using Chinese characters. It is available via anonymous
3961 FTP: 2762 FTP:
3962 2763
3963 /crl.nmsu.edu:pub/chinese/cemacs.tar.Z
3964 /cs.purdue.edu:pub/ygz/cemacs.tar.Z 2764 /cs.purdue.edu:pub/ygz/cemacs.tar.Z
3965 2765
3966 Cxterm is available from the same place: 2766 Cxterm, a patch to Emacs 18.57 that allows you to enter Chinese
3967 2767 characters, is available from the same place:
2768
3968 /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z 2769 /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z
3969 2770
3970151: Where is an Emacs that can handle Semitic (right-to-left) alphabets? 2771128: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
3971 2772
3972 Joel M. Hoffman <joel@wam.umd.edu> writes: 2773 Joel M. Hoffman <joel@wam.umd.edu> writes:
3973 2774
3974 A couple of years ago a wrote a hebrew.el file that allows right-to-left 2775 A couple of years ago a wrote a hebrew.el file that allows
3975 editing of Hebrew. I relied on the hardware to display the Hebrew 2776 right-to-left editing of Hebrew. I relied on the hardware to display
3976 letters, given the right codes, but not for any right-to-left support; 2777 the Hebrew letters, given the right codes, but not for any
3977 the hardware also doesn't have to send any specific char. codes. Emacs 2778 right-to-left support; the hardware also doesn't have to send any
3978 keeps track of when the user is typing Hebrew vs. English. (The VT-* 2779 specific char. codes. Emacs keeps track of when the user is typing
3979 terminals in Israel contain built-in support for Hebrew.) 2780 Hebrew vs. English. (The VT-* terminals in Israel contain built-in
3980 2781 support for Hebrew.)
3981 To get it to work I had to modify only a few lines of GNU Emacs's source 2782
3982 code --- just enough to make it 8-bit clean. 2783 To get it to work I had to modify only a few lines of GNU Emacs's
3983 2784 source code --- just enough to make it 8-bit clean.
2785
3984 [and in a separate message:] 2786 [and in a separate message:]
3985 2787
3986 It doesn't produce time-order ["sefer" format] (I wouldn't recommend 2788 It doesn't produce time-order ["sefer" format] (I wouldn't recommend
3987 trying that with emacs, because converting time-order to screen-order 2789 trying that with Emacs, because converting time-order to screen-order
3988 with arbitrarily long lines is a bit tricky), but I also concocted a 2790 with arbitrarily long lines is a bit tricky), but I also concocted a
3989 quick filter to convert screen-order into time-order. I'll be happy to 2791 quick filter to convert screen-order into time-order. I'll be happy to
3990 send you the requisite files if you want them. If you're using it for 2792 send you the requisite files if you want them. If you're using it for
3991 anything large, however, you'll want something that works better. 2793 anything large, however, you'll want something that works better.
3992 2794
3993 Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like" 2795 Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like"
3994 editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional 2796 editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional
3995 Editor). Ibelbe is written in Turbo Pascal and comes with source code. 2797 Editor). Ibelbe is written in Turbo Pascal and comes with source code.
3996 Here is the description: 2798 Here is the description:
3997 2799
3998 Ibelbe looks like emacs (it even has a minibuffer and filename 2800 Ibelbe looks like Emacs (it even has a minibuffer and filename
3999 completion), and fully supports both right-to-left and left-to-right 2801 completion), and fully supports both right-to-left and left-to-right
4000 editing. Other than an EGA monitor or better, no special hardware is 2802 editing. Other than an EGA monitor or better, no special hardware is
4001 required. You will need an EGA Hebrew font to use Ibelbe with Hebrew. 2803 required. You will need an EGA Hebrew font to use Ibelbe with Hebrew.
4002 2804
4003 Anonymous FTP: 2805 Anonymous FTP:
4004 /israel.nysernet.org:israel/msdos/ibelbe.zip 2806 /israel.nysernet.org:israel/computers/software/msdos/ibelbe.zip
4005 /israel.nysernet.org:israel/msdos/hebfont.zip 2807 /israel.nysernet.org:israel/computers/software/msdos/hebfont.zip
4006 2808
4007 Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written 2809 Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written
4008 patches for Emacs 18.55 and 18.58 that provide Semitic language support 2810 patches for Emacs 18.55 and 18.58 that provide Semitic language support
4009 under X Windows. 2811 under X Windows.
4010
4011 Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by
4012 modifying self-insert-command "for Hebrew input on 7-bit keyboards".
4013
4014 A good suggestion is to query archie for files named with `hebrew'.
4015
4016 GNU Emacs FAQ: Mail and News
4017
4018This portion of the GNU Emacs FAQ list is cross-posted to `gnu.emacs.gnus'
4019because many of the questions herein deal with GNUS. See `gnu.emacs.help' for
4020the rest of the FAQ list.
4021 2812
4022If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to 2813 Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by
4023get an overview of just the questions. Then, when you want to look at the text 2814 modifying self-insert-command "for Hebrew input on 7-bit keyboards."
4024of the answers, just type "C-x $".
4025 2815
4026To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if 2816 A good suggestion is to query archie for files named with `hebrew'.
4027that doesn't work, then type ESC to end the search.
4028 2817
4029A `+' in the 78th column means something was inserted on the line. A `-' means
4030something was deleted and a `!' means some combination of insertions and
4031deletions occurred.
4032 2818
4033Full instructions for getting the latest FAQ are in question 22. Also see the 2819Mail and News
4034`Introduction to news.answers' posting in the `news.answers' newsgroup, or send
4035e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP,
4036WAIS, or Prospero to rtfm.mit.edu.
4037 2820
2821129: How do I change the included text prefix in mail/news followups?
4038 2822
2823 If you read mail with Rmail or news with Gnus, set the variable
2824 mail-yank-prefix. For VM, set vm-included-text-prefix. For mh-e, set
2825 mh-ins-buf-prefix.
4039 2826
4040Mail and News 2827 For fancier control of citations, use Supercite. See question 93.
4041 2828
4042152: How do I change the included text prefix in mail/news followups?
4043
4044 Many people want Emacs to prefix included text with something like ` > '
4045 instead of with three spaces. One way is to change the code of the
4046 function `mail-yank-original' in lisp/sendmail.el that prefixes with
4047 spaces. A more flexible solution is to use Supercite, which provides wide
4048 configurability in how you format included text in replies. See question
4049 107. Both of these solutions work for RMAIL and GNUS.
4050
4051 A related problem is how to prevent Emacs from including various headers 2829 A related problem is how to prevent Emacs from including various headers
4052 of the replied-to message. For this, you should set the value of 2830 of the replied-to message. For this, you should set the value of
4053 mail-yank-ignored-headers, which takes a regexp value. 2831 mail-yank-ignored-headers, which takes a regexp value.
4054 2832
4055153: How do I save a copy of outgoing mail? 2833130: How do I save a copy of outgoing mail?
4056 2834
4057 Two methods: 2835 You can either mail yourself a copy by including a `BCC:' header in the
4058 2836 mail message, or store a copy of the message directly to a file by
4059 1. (setq mail-self-blind t) will result in a `BCC:' header line with your 2837 including an `FCC:' header.
4060 address being added to mail composition buffers. This will cause the 2838
4061 mail system to send a copy of the mail back to you. 2839 If you use standard mail, you can automatically create a `BCC:' to
4062 2840 yourself by putting
4063 2. (setq mail-archive-file-name (expand-file-name "~/outgoing")) will 2841
4064 result in an `FCC:' header line with the pathname of ~/outgoing being 2842 (setq mail-self-blind t)
4065 added to mail composition buffers. When you send the mail, Emacs will 2843
4066 save a copy of the mail in the file ~/outgoing and then strip off the 2844 in your .emacs. You can automatically include an `FCC:' field by putting
4067 `FCC:' line before actually sending. 2845 something like the following in your .emacs file:
4068 2846
4069 WARNING: There is a bug in Emacs 18.58 that prevents mail readers such 2847 (setq mail-archive-file-name (expand-file-name "~/outgoing"))
4070 as RMAIL from reading the saved mail messages individually. See 2848
4071 question 155. 2849 The output file will be in Unix mail format, which can be read directly
4072 2850 by VM, but not always by Rmail. See question 132.
4073 WARNING: If you are visiting the file ~/outgoing at the time you send 2851
4074 the mail, this can cause a variety of horrible problems. Jamie 2852 If you use mh-e add an FCC: or BCC: field to your components file.
4075 Zawinski has written a solution for this. 2853
4076
4077 It does not work to put `set record filename' in the .mailrc file. 2854 It does not work to put `set record filename' in the .mailrc file.
4078 2855
4079154: Why doesn't Emacs expand my aliases when sending mail? 2856131: Why doesn't Emacs expand my aliases when sending mail?
4080 2857
4081 * You must separate multiple addresses in the headers of the mail buffer 2858 * You must separate multiple addresses in the headers of the mail buffer
4082 with commas. This is because Emacs supports RFC822 standard addresses 2859 with commas. This is because Emacs supports RFC822 standard addresses
4083 like this one: 2860 like this one:
4084 2861
4085 To: Willy Smith <wks@xpnsv.lwyrs.com> 2862 To: Willy Smith <wks@xpnsv.lwyrs.com>
4086 2863
4087 However, you do not need to separate addresses with commas in your 2864 However, you do not need to separate addresses with commas in your
4088 .mailrc file. 2865 .mailrc file.
4089 2866
4090 WARNING: Emacs breaks up aliases in the .mailrc file into multiple 2867 WARNING: Emacs breaks up aliases in the .mailrc file into multiple
4091 addresses both on commas and on whitespace, regardless of any use of 2868 addresses both on commas and on whitespace, regardless of any use of
4092 quotes. This is probably a bug. You can get around this by directly 2869 quotes. This is probably a bug. You can get around this by directly
4093 setting the value of mail-aliases. 2870 setting the value of mail-aliases.
4094 2871
4095 * Emacs normally only reads the `.mailrc' file once per session, when you 2872 * Emacs normally only reads the `.mailrc' file once per session, when you
4096 start to compose your first mail message. If you edit .mailrc, you can 2873 start to compose your first mail message. If you edit .mailrc, you can
4097 type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc. 2874 type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc.
4098 (You have to include the parentheses where they are shown!) 2875 (You have to include the parentheses where they are shown!)
4099 2876
4100 * Emacs does not interpret vendor-specific additions to the format of the 2877 * Emacs does not interpret vendor-specific additions to the format of the
4101 .mailrc file such as the `source' command. It also ignores any `set' 2878 .mailrc file such as the `source' command. It also ignores any `set'
4102 commands. The only commands it looks at are `alias' and `group' 2879 commands. The only commands it looks at are `alias' and `group'
4103 commands. 2880 commands.
4104 2881
4105155: Why does RMAIL think all my saved messages are one big message? 2882 * If you like, you can expand mail aliases as abbrevs, as soon as you
4106 2883 type them in. To enable this feature, execute the following:
4107 There is a bug for FCC-ed messages in Emacs 18.58 where it adds a timezone 2884
4108 on the "From " line after the year instead of before the year. (Before it 2885 (add-hook 'mail-setup-hook 'mail-abbrevs-setup)
4109 didn't add the timezone at all.) This is incompatible with the standard 2886
4110 format for the "From " line, and RMAIL in particular can no longer 2887132: Why does Rmail think all my saved messages are one big message?
4111 distinguish between the messages. Karl Berry <karl@cs.umb.edu>, Felix Lee 2888
4112 <flee@cs.psu.edu>, Nick Gianniotis <nico@japan.sbi.com> and many 2889 A file created through the FCC: field in a message is in Unix Mail
4113 others have all posted patches for this. Karl's is the simplest and just 2890 format, not the format that Rmail uses (BABYL format). Rmail will try to
4114 stops Emacs from adding the timezone: 2891 convert a Unix mail file into BABYL format on input, but sometimes it
4115 2892 makes errors. For guaranteed safety, you can make the saved- messages
4116 >*** ./ORIG/sendmail.el Tue Jan 28 16:22:56 1992 2893 file be an inbox for your Rmail file by using the function
4117 >--- ./sendmail.el Thu May 14 18:23:48 1992 2894 set-rmail-inbox-list.
4118 >*************** 2895
4119 >*** 285,287 **** 2896133: How can I sort the messages in my Rmail folder?
4120 > (insert "\nFrom " (user-login-name) " " 2897
4121 >! (current-time-string) " " timezone "\n") 2898 In Rmail, type C-c C-s C-h to get a list of sorting functions and their
4122 > (insert-buffer-substring rmailbuf) 2899 key bindings.
4123 >--- 285,287 ---- 2900
4124 > (insert "\nFrom " (user-login-name) " " 2901134: Why does Rmail need to write to /usr/spool/mail?
4125 >! (current-time-string) "\n") 2902
4126 > (insert-buffer-substring rmailbuf) 2903 This is the behavior of the `movemail' program which Rmail uses. This
4127
4128156: How can I sort the messages in my RMAIL folder?
4129
4130 Use rmailsort.el by Masanobu Umeda.
4131
4132157: Why does RMAIL need to write to /usr/spool/mail?
4133
4134 This is the behavior of the `movemail' program which RMAIL uses. This
4135 indicates that movemail is configured to use lock files. 2904 indicates that movemail is configured to use lock files.
4136 2905
4137 RMS writes: 2906 RMS writes:
4138 2907
4139 Certain systems require lock files to interlock access to mail files. 2908 Certain systems require lock files to interlock access to mail files.
4140 On these systems, movemail must write lock files, or you risk losing 2909 On these systems, movemail must write lock files, or you risk losing
4141 mail. You simply must arrange to let movemail write them. 2910 mail. You simply must arrange to let movemail write them.
4142 2911
4143 Other systems use the flock system call to interlock access. On these 2912 Other systems use the flock system call to interlock access. On these
4144 systems, you should configure movemail to use flock. 2913 systems, you should configure movemail to use flock.
4145 2914
4146158: How do I recover my mail files after RMAIL munges their format? 2915135: How do I recover my mail files after Rmail munges their format?
4147 2916
4148 Users who just want to try RMAIL out to see how it works end up trapped 2917 If you have just done rmail-input on a file and you don't want to save it
4149 using it because saved mail in their `mbox' file has been converted into 2918 in Rmail's format (called BABYL), just kill the buffer (with C-x k).
4150 an incompatible format (BABYL) that only RMAIL understands. RMAIL 2919
4151 provides no obvious way to reverse this transformation. Kyle Jones has 2920 If you typed M-x rmail and it read some messages out of your inbox and
4152 aptly named this "the great Emacs Mail Eating Monster". To convert a mail 2921 you want to put them in a Unix mail file, use C-o on each message.
4153 file back to standard Unix format, there are several methods: 2922
4154 2923 If you want to convert an existing file from BABYL format to Unix mail
4155 * Use the rmail-output ("C-o") command within RMAIL on each message in the 2924 format, use the command M-x unrmail: it will prompt you for the input and
4156 file. First use M-x rmail or M-x rmail-input to visit the RMAIL file in 2925 output file names.
4157 Rmail mode. Type "1 j" to go to the first message. Use the C-o command 2926
4158 to output the message to a Unix format file. Type "n" to go to the next 2927136: How do I make Emacs automatically start my mail/news reader?
4159 message. Repeat. 2928
4160 2929 To start Emacs in Gnus:
4161 * If the file contains hundreds of messages, you may not want to repeat 2930
4162 this for all of them. Instead of the above, after getting to the first
4163 message type this (where "mbox" is the file you want to put the messages
4164 in):
4165
4166 C-x ( C-o mbox RET M-s ^From: RET M-0 C-x )
4167
4168 (The rmail-search command ("M-s") is used instead of just "n" because it
4169 is the only command which will cause an error when it reaches the last
4170 message in the file, which is necessary to terminate the keyboard macro.
4171 This will fail if there are messages in the file that don't have a
4172 `From:' header. This assumes rmail-delete-after-output is nil.)
4173
4174 It is wise to save a copy of the RMAIL file first, in case you make a
4175 mistake.
4176
4177 * There are software packages available for converting files or even
4178 entire directories of BABYL files to standard Unix format. These are
4179 helpful in this situation, but are intended mainly for people who have
4180 used RMAIL for a long time and are converting to some other mail reader.
4181 Lookup `rmail', `vm', and `babyl' in the Emacs Lisp Archive (see
4182 question 89).
4183
4184 You may wish to disable RMAIL to avoid accidentally destroying your mbox
4185 file (I have this in my .emacs):
4186
4187 (put 'rmail 'disabled t) ; avoid mbox destruction
4188
4189159: How do I make Emacs automatically start my mail/news reader?
4190
4191 Example:
4192
4193 emacs -f gnus 2931 emacs -f gnus
4194 2932
4195 Also: 2933 in Rmail:
4196 2934
2935 emacs -f rmail
2936
2937 A more convenient way to start with Gnus:
2938
4197 alias gnus 'emacs -f gnus' 2939 alias gnus 'emacs -f gnus'
4198 2940 gnus
4199 It is probably unwise to automatically start your mail or news reader from 2941
4200 your .emacs file. This would cause problems if you needed to run two 2942 It is probably unwise to automatically start your mail or news reader
4201 copies of Emacs at one time. Also, this would make it difficult for you 2943 from your .emacs file. This would cause problems if you needed to run
4202 to start Emacs quickly when you needed to. 2944 two copies of Emacs at one time. Also, this would make it difficult for
4203 2945 you to start Emacs quickly when you needed to.
4204160: How do I read news under Emacs? 2946
4205 2947137: How do I read news under Emacs?
4206 There are at least three news reading packages that operate inside Emacs. 2948
4207 `rnews' comes with Emacs. GNUS and Gnews come separately. rnews will 2949 Use M-x gnus. It is documented in Info (see question 14).
4208 be replaced by GNUS in Emacs 19. 2950
4209 2951138: Why doesn't Gnus work via NNTP?
4210 rnews works only with a local news spool directory. Both GNUS and Gnews 2952
4211 handle reading news remotely via NNTP in addition to reading from a local
4212 news spool. GNUS supports reading mail stored in MH folders or articles
4213 saved by GNUS.
4214
4215 Gnews is styled after `rn' and seems to work like RMAIL. GNUS feels more
4216 like VM. People have complained that GNUS uses a lot of CPU time (it
4217 does). Some people have complained that Gnews is slower than GNUS.
4218
4219 For more information about GNUS, see question 108.
4220
4221 Gnews was written by Matthew P. Wiener <weemba@libra.wistar.upenn.edu>.
4222 The latest version seems to be 2.0, posted October 3, 1988. Matthew
4223 posted some fixes on October 26, 1988. Gnews does not appear to have been
4224 supported after this date. In particular, it has been reported that Gnews
4225 does not work with Emacs 18.57. There is a newsgroup for Gnews called
4226 gnu.emacs.gnews.
4227
4228161: Why does `rnews' say "No News is good news" when there is news?
4229
4230 rnews doesn't speak NNTP. You may need to use GNUS or Gnews.
4231
4232162: Why doesn't GNUS work anymore via NNTP?
4233
4234 There is a bug in NNTP version 1.5.10, such that when multiple requests 2953 There is a bug in NNTP version 1.5.10, such that when multiple requests
4235 are sent to the NNTP server, the server only handles the first one before 2954 are sent to the NNTP server, the server only handles the first one before
4236 blocking waiting for more input which never comes. NNTP version 1.5.11 2955 blocking waiting for more input which never comes. NNTP version 1.5.11
4237 claims to fix this. 2956 claims to fix this.
4238 2957
4239 You can work around the bug inside Emacs like this: 2958 You can work around the bug inside Emacs like this:
4240 2959
4241 (setq nntp-maximum-request 1) 2960 (setq nntp-maximum-request 1)
4242 2961
4243 I also have a patch for NNTP 1.5.10 by Mike Pelletier
4244 <stealth@engin.umich.edu> that is based on the timeout code that was in
4245 1.5.9. However, please try to upgrade to 1.5.11 first.
4246
4247 You can find out what version of NNTP your news server is running by 2962 You can find out what version of NNTP your news server is running by
4248 telnetting to the NNTP port (usually 119) on the news server machine (ie., 2963 telnetting to the NNTP port (usually 119) on the news server machine
4249 `telnet server-machine 119'). The server should give its version number 2964 (i.e., `telnet server-machine 119'). The server should give its version
4250 in the welcome message. Type `quit' to get out. 2965 number in the welcome message. Type `quit' to get out.
4251 2966
4252163: How do I view text with embedded underlining (eg., ClariNews)? 2967139: How do I view text with embedded underlining (e.g., ClariNews)?
4253 2968
4254 Underlining appears like this: 2969 Underlining appears like this:
4255 2970
4256 _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg 2971 _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg
4257 2972
4258 You can destructively remove underlining with M-x ununderline-region. 2973 You can destructively remove underlining with M-x ununderline-region.
4259 2974
4260 For ClariNews articles, clari-clean.el by David N. Blank-Edelman 2975 For ClariNews articles, clari-clean.el by David N. Blank-Edelman
4261 <dnb@meshugge.media.mit.edu> will remove both underlining and overstriking 2976 <dnb@meshugge.media.mit.edu> will remove both underlining and
4262 automatically. 2977 overstriking automatically. It is available on the Lisp Code Directory
4263 2978 (see question 77).
4264164: When I try to post a long article in GNUS (about 10K or longer), I get 2979
4265 the error, "Writing to process: no more processes, nntpd" 2980140: How do I save all the items of a multi-part posting in Gnus?
4266 2981
4267 Upgrade to Emacs 18.58 or higher. 2982 Use gnus-uu. Type C-c C-v C-h in the Gnus summary buffer to see a list
4268 2983 of available commands.
4269165: How do I save all the items of a multi-part posting in GNUS? 2984
4270 2985141: Why does Gnus put the subjects in replies beyond the 80th column?
4271 Use gnus-mark.el by Jamie Zawinski <jwz@lucid.com>. 2986
4272 2987 This is a feature. If you set gnus-thread-hide-subject to non-nil, Gnus
4273166: Why does GNUS put the subjects in replies beyond the 80th column?
4274
4275 This is a feature. If you set gnus-thread-hide-subject to non-nil, GNUS
4276 will only display the subject of the first posting in a thread, even if 2988 will only display the subject of the first posting in a thread, even if
4277 some of the replies use different subjects. It hides the subjects by 2989 some of the replies use different subjects. It hides the subjects by
4278 putting them past the edge of the window and setting truncate lines to t. 2990 putting them past the edge of the window and setting truncate lines to t.
4279 2991
4280 If your screen looks messed up, then for some reason truncate-lines in 2992 If your screen looks messed up, then for some reason truncate-lines in
4281 your `*Subject*' buffer has been set to nil. It should be set to t. 2993 your `*Subject*' buffer has been set to nil. It should be set to t.
4282 2994
4283 (I have an enhancement to GNUS 3.13 that will make it only hide the subject 2995142: How do I make Gnus start up faster?
4284 of a posting when it is unchanged from the followed-up-to posting. Thus, 2996
4285 you can use the subject hiding feature and still know when someone changes 2997 Remove all the newsgroups in which you have no interest from your .newsrc
4286 the subject. (I have forgotten who originally gave me the idea for this.)) 2998 file by using Gnus's C-k or C-w commands in the `*Newsgroup*' buffer,
4287 2999 perhaps after displaying all newsgroups with the L command.
4288167: Why is GNUS so slow to start up? 3000 Unsubscribing will not speed up Gnus.
4289 3001
4290 GNUS does several things that take quadratic time of the number of 3002143: How do I catch up all newsgroups in Gnus?
4291 newsgroups that are listed in .newsrc. The quick fix for this is to 3003
4292 remove all the newsgroups in which you have no interest from your .newrc
4293 file by using GNUS's C-k command in the `*Newsgroup*' buffer after
4294 displaying all newsgroups with the L command. If you were to directly
4295 edit your .newsrc to remove the newsgroups, GNUS would add them back.
4296
4297 GNUS uses a quadratic algorithm to check for duplicates when the .newsrc
4298 file is newer than the .newsrc.el file (ie., you edited your .newsrc).
4299 GNUS uses a quadratic algorithm to check for new newsgroups every time it
4300 connects to the news server. {There may be other quadratic algorithms
4301 that I am not aware of.}
4302
4303 You can speed up GNUS by using the C-k command in the *Newsgroup* buffer
4304 to remove newsgroups from your .newsrc file.
4305
4306 Of course, GNUS will run faster if you make sure it is byte-compiled.
4307
4308 Felix Lee wrote some enhancements called `gnus-speedups.el' that fix some
4309 of the problems. See the Emacs Lisp Archive.
4310
4311168: How do I catch up all newsgroups in GNUS?
4312
4313 In the `*Newsgroup*' buffer, type the following magical incantation: 3004 In the `*Newsgroup*' buffer, type the following magical incantation:
4314 3005
4315 M-< C-x ( C-@ c y C-u C-@ C-e C-f C-f M-0 C-x ) 3006 M-< C-x ( c y M-0 C-x )
4316 3007
4317 Leave off the "M-<" if you only want to catch up from point to the end of 3008 Leave off the "M-<" if you only want to catch up from point to the end of
4318 the `*Newsgroup' buffer. 3009 the `*Newsgroup' buffer.
4319 3010
4320169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line? 3011144: Why can't I kill in Gnus on the Newsgroups/Keywords/Control line?
4321 3012
4322 GNUS 3.14.1 will complain that the `Newsgroups:', `Keywords:', and 3013 Gnus will complain that the `Newsgroups:', `Keywords:', and `Control:'
4323 `Control:' headers are `Unknown header field's. 3014 headers are `Unknown header field's.
4324 3015
4325 For the `Newsgroups:' header, there is an easy workaround: kill on the 3016 For the `Newsgroups:' header, there is an easy workaround: kill on the
4326 `Xref' header instead, which will be present on any cross-posted article. 3017 `Xref' header instead, which will be present on any cross-posted article
4327 3018 (as long as your site carries the cross-post group).
3019
4328 If you really want to kill on one of these headers, you can do it like 3020 If you really want to kill on one of these headers, you can do it like
4329 this: 3021 this:
4330 3022
4331 (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)") 3023 (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)")
4332 3024
4333 Various people (eg., Greg Holley <holley@acuson.com>) have posted 3025145: How do I get rid of flashing messages in Gnus for slow connections?
4334 solutions to allow more efficient killing on these headers than the 3026
4335 preceding solution. Masanobu Umeda plans to fix this problem. 3027 Set nntp-debug-read to nil.
4336 3028
4337170: How do I get rid of flashing messages in GNUS for slow connections? 3029146: Why is catch up slow in Gnus?
4338 3030
4339 GNUS outputs "NNTP: Reading..." message and then clears them, over and 3031 Because Gnus is marking crosspostings read. You can control this with
4340 over. In version 3.14.1 there is a variable named nntp-debug-read that 3032 the variable gnus-use-cross-reference.
4341 can help. Johan Vromans <jv@mh.nl> wrote a fix. Others have also written 3033
4342 fixes. 3034147: Why does Gnus hang for a long time when posting?
4343 3035
4344171: Why is catch up slow in Gnews/GNUS?
4345
4346 Because GNUS is marking crosspostings read. {I think it should do this at
4347 the time the article is read to spread out the load. Maybe someone will
4348 write the code to do this.}
4349
4350172: Why does GNUS hang for a long time when posting?
4351
4352 David Lawrence <tale@uunet.uu.net> explains: 3036 David Lawrence <tale@uunet.uu.net> explains:
4353 3037
4354 The problem is almost always interaction between NNTP and C News. NNTP 3038 The problem is almost always interaction between NNTP and C News. NNTP
4355 POST asks C News's inews to not background itself but rather hang around 3039 POST asks C News's inews to not background itself but rather hang
4356 and give its exit status so it knows whether the post was successful. 3040 around and give its exit status so it knows whether the post was
4357 (That wait will on some systems not return the exit status of the 3041 successful. (That wait will on some systems not return the exit status
4358 waited for job is a different sort of problem.) It ends up taking a 3042 of the waited for job is a different sort of problem.) It ends up
4359 long time because inews is calling relaynews, which often waits for 3043 taking a long time because inews is calling relaynews, which often
4360 another relaynews to free the lock on the news system so it can file the 3044 waits for another relaynews to free the lock on the news system so it
4361 article. 3045 can file the article.
4362 3046
4363 My preferred solution is to change inews to not call relaynews, but 3047 My preferred solution is to change inews to not call relaynews, but
4364 rather use newsspool. This loses some error-catching functionality, but 3048 rather use newsspool. This loses some error-catching functionality,
4365 is for the most part safe as inews will detect a lot of the errors on 3049 but is for the most part safe as inews will detect a lot of the errors
4366 its own. The C News folks have sped up inews, too, so speed should look 3050 on its own. The C News folks have sped up inews, too, so speed should
4367 better to most folks as that update propagates around. 3051 look better to most folks as that update propagates around.
4368 3052
4369173: Why don't my news postings in GNUS get past the local machine? 3053148: Why don't my news postings in Gnus get past the local machine?
4370 3054
4371 Three possible reasons: local distribution, C News date problem (see 3055 It could be that your Distribution: field is "local" or a synonym, or
4372 question 174, and the path problem. This piece of code may fix the path 3056 your Path: field may be wrong. This piece of code may fix the latter
4373 problem for you: 3057 problem:
4374 3058
4375 (setq gnus-use-generic-path t) 3059 (setq gnus-use-generic-path t)
4376 3060
4377174: Why is the GNUS-generated `Date:' header invalid? 3061149: Why doesn't Gnus generate the `Lines:' header?
4378 3062
4379 GNUS generates `Date:' headers without time zones. C-News's `inews' 3063 The posting software down the line from Gnus often generates a "Lines:"
4380 doesn't replace it with a valid header, but will generate it if not 3064 header so Gnus doesn't have to. If you want it to, just add Lines to the
4381 already there. If it is invalid, the article will not be forwarded 3065 list in gnus-required-headers:
4382 properly. Quick fix: 3066
4383 3067 (add-hook 'gnus-startup-hook
4384 (defun gnus-inews-date () nil) 3068 '(lambda ()
4385 3069 (setq gnus-required-headers (cons 'Lines gnus-required-headers))))
4386 This is not fixed as of GNUS 3.14.1. 3070
4387 3071150: How do I kill all articles in Gnus but those matching a pattern?
4388175: Why doesn't GNUS generate the `Lines:' header? 3072
4389 3073 Example kill file code:
4390 GNUS was written for B news, which would generate the `Lines:' header. C 3074
4391 news doesn't. There is a comment in C news's `inews' that you can
4392 uncomment to enable this functionality. Or you can have GNUS generate the
4393 header, for example:
4394
4395 ;; idea by jbryans@beach.csulb.edu (Jack Bryans)
4396 (defun add-lines-header ()
4397 ;; Count the number of lines in the current posting and insert the
4398 ;; header line Lines into the message.
4399 (save-excursion
4400 (goto-char (point-min))
4401 (if (search-forward "\n\n") ;; ***** I suspect this is wrong *****
4402 (let ((lines (count-lines (point) (point-max))))
4403 (forward-line -1)
4404 (insert-string "Lines: " lines "\n")))))
4405
4406 Mike Williams <mike-w@cs.aukuni.ac.nz> has written something similar.
4407
4408 Ronald Florence <ron@mlfarm.com> has a patch for GNUS that makes it
4409 calculate the `Lines:' header for incoming articles when necessary that
4410 works for sites with local news spools.
4411
4412 David Lawrence <tale@uunet.uu.net> says that GNUS 3.14.1 generates Lines
4413 if gnus-news-system is Cnews.
4414
4415176: Why do I get "Cannot open load file" "nntp" when compiling GNUS?
4416
4417 Specifically, the error message is this:
4418
4419 Error occurred processing gnus.el: File error (("Cannot open load file" "nntp"))
4420
4421 This means that nntp.el is not in Emacs's load-path, which is easy to
4422 happen when compiling using the Makefile.
4423
4424 Easiest solution: set EMACSLOADPATH in Makefile (idea from Glenn Gribble
4425 <glenn@netcom.com>):
4426
4427 EMACSLOADPATH=/usr/local/emacs/lisp:.
4428 ELC= env EMACSLOADPATH=$(EMACSLOADPATH) emacs -batch -f batch-byte-compile
4429
4430 Another solution, in hack.el put this:
4431
4432 (defun gross-hack () (setq load-path (cons "/directory" load-path)))
4433
4434 Then in Makefile:
4435
4436 ELC= emacs -batch -l hack.el -f gross-hack -f batch-byte-compile
4437
4438177: How do I kill all articles in GNUS but those matching a pattern?
4439
4440 Example:
4441
4442 ;; kill everything 3075 ;; kill everything
4443 (gnus-kill "subject" "" nil nil) 3076 (gnus-kill "subject" "" nil nil)
4444 ;; then restore stuff by our favorite poster 3077 ;; then restore stuff by our favorite poster
@@ -4448,23 +3081,41 @@ Mail and News
4448 (if (eq ?X (char-after (save-excursion 3081 (if (eq ?X (char-after (save-excursion
4449 (beginning-of-line 1) 3082 (beginning-of-line 1)
4450 (point)))) 3083 (point))))
4451 (gnus-Subject-clear-mark-forward 1)))) 3084 (gnus-summary-clear-mark-forward 1))))
4452 t) 3085 t)
4453
4454 3086
4455 3087
4456---------------------------------------------------------------------- 3088------------------------------------------------------------
4457Copyright (C) 1990, 1991, 1992 Joseph Brian Wells 3089Slightly modified by Richard Stallman
4458Copyright (C) 1992, 1993 Steven Byrnes 3090Copyright 1994 Reuven M. Lerner
3091Copyright 1992, 1993 Steven Byrnes
3092Copyright 1990, 1991, 1992 Joseph Brian Wells
4459 3093
4460This list of frequently asked questions about GNU Emacs with answers 3094This list of frequently asked questions about GNU Emacs with answers
4461("FAQ") may be translated into other languages, transformed into other 3095("FAQ") may be translated into other languages, transformed into other
4462formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new 3096formats (e.g. Texinfo, Info, WWW, WAIS), and updated with new information.
4463information. The same conditions apply to any derivative of the FAQ as 3097
4464apply to the FAQ itself. Every copy of the FAQ must include this notice 3098The same conditions apply to any derivative of the FAQ as apply to the FAQ
4465or an approved translation, information on who is currently maintaining 3099itself. Every copy of the FAQ must include this notice or an approved
4466the FAQ and how to contact them (including their e-mail address), and 3100translation, information on who is currently maintaining the FAQ and how to
4467information on where the latest version of the FAQ is archived (including 3101contact them (including their e-mail address), and information on where the
4468FTP information). The FAQ may be copied and redistributed under these 3102latest version of the FAQ is archived (including FTP information).
4469conditions, except that the FAQ may not be embedded in a larger literary 3103
4470work unless that work itself allows free copying and redistribution. 3104The FAQ may be copied and redistributed under these conditions, except that
3105the FAQ may not be embedded in a larger literary work unless that work
3106itself allows free copying and redistribution.
3107
3108------------------------------------------------------------
3109
3110Special thanks to members of the FAQ team, who worked hard to ensure that
3111answers were up-to-date:
3112
3113Ethan Bradford <ethanb@u.washington.edu>, Luis Fernandes
3114<elf@eccles.ee.ryerson.ca>, Denby Wong <3dw16@qlink.QueensU.CA>, Yair
3115Friedman <yair@cs.huji.ac.il>, Thi <ttn@netcom.com>, Richard Levitte
3116<levitte@e.kth.se>, "William G. Dubuque" <wgd@martigny.ai.mit.edu>,
3117and Guan-Hsong Hsu <ghsu@relay.nswc.navy.mil>.
3118
3119
3120
3121