comparison etc/FAQ @ 24073:633699bb2aae

Currently-posted version.
author Dave Love <fx@gnu.org>
date Thu, 14 Jan 1999 20:25:55 +0000
parents d36d3bab8291
children 96a0e2b175a7
comparison
equal deleted inserted replaced
24072:749d25833f30 24073:633699bb2aae
1 GNU Emacs FAQ: Introduction 1 GNU Emacs FAQ: Introduction
2 2
3 This is the introduction to a list of frequently asked questions (FAQ) 3 This is the introduction to a list of frequently asked questions (FAQ)
4 about GNU Emacs 20 with answers. Some of the answers are not valid for GNU 4 about GNU Emacs 20 with answers. Some of the answers are not valid for GNU
5 Emacs 18 or 19. 5 Emacs 18 or 19.
6
7 [This version has been somewhat edited from the last-posted version
8 (as of early December 1998) for inclusion in the Emacs distribution.]
9 6
10 The FAQ is posted (in five parts) to reduce the noise level in the 7 The FAQ is posted (in five parts) to reduce the noise level in the
11 gnu.emacs.help newsgroup (which is also the help-gnu-emacs mailing list) 8 gnu.emacs.help newsgroup (which is also the help-gnu-emacs mailing list)
12 which results from the repetition of frequently asked questions, wrong 9 which results from the repetition of frequently asked questions, wrong
13 answers to these questions, corrections to the wrong answers, corrections 10 answers to these questions, corrections to the wrong answers, corrections
132 65: How do I delete menus and menu options? 129 65: How do I delete menus and menu options?
133 66: How do I turn on syntax highlighting? 130 66: How do I turn on syntax highlighting?
134 67: How can I force Emacs to scroll only one line when I move past the 131 67: How can I force Emacs to scroll only one line when I move past the
135 bottom of the screen? 132 bottom of the screen?
136 68: How can I replace highlighted text with what I type? 133 68: How can I replace highlighted text with what I type?
137 69: How can I edit MS-DOS-style text files using Emacs? 134 69: How can I edit MS-DOS files using Emacs?
138 70: How can I tell Emacs to fill paragraphs with a single space after 135 70: How can I tell Emacs to fill paragraphs with a single space after
139 each period? 136 each period?
140 137
141 Bugs/Problems 138 Bugs/Problems
142 139
169 91: How do I submit code to the Emacs Lisp Archive? 166 91: How do I submit code to the Emacs Lisp Archive?
170 92: Where can I get other up-to-date GNU stuff? 167 92: Where can I get other up-to-date GNU stuff?
171 93: What is the difference between Emacs and XEmacs (formerly "Lucid 168 93: What is the difference between Emacs and XEmacs (formerly "Lucid
172 Emacs")? 169 Emacs")?
173 94: Where can I get Emacs for my PC running MS-DOS? 170 94: Where can I get Emacs for my PC running MS-DOS?
174 95: Where can I get Emacs for Microsoft Windows, Windows 9x, or Windows 171 95: Where can I get Emacs for Microsoft Windows, Windows '95, or Windows
175 NT? 172 NT?
176 96: Where can I get Emacs for my PC running OS/2? 173 96: Where can I get Emacs for my PC running OS/2?
177 97: Where can I get Emacs for my Atari ST? 174 97: Where can I get Emacs for my Atari ST?
178 98: Where can I get Emacs for my Amiga? 175 98: Where can I get Emacs for my Amiga?
179 99: Where can I get Emacs for NeXTSTEP? 176 99: Where can I get Emacs for NeXTSTEP?
184 103: What is the IP address of XXX.YYY.ZZZ? 181 103: What is the IP address of XXX.YYY.ZZZ?
185 182
186 Major Emacs Lisp Packages, Emacs Extensions, and Related Programs 183 Major Emacs Lisp Packages, Emacs Extensions, and Related Programs
187 184
188 104: VM (View Mail) -- another mail reader within Emacs, with MIME support 185 104: VM (View Mail) -- another mail reader within Emacs, with MIME support
189 105: SuperCite -- mail and news citation package within Emacs 186 105: Supercite -- mail and news citation package within Emacs
190 106: Calc -- poor man's Mathematica within Emacs 187 106: Calc -- poor man's Mathematica within Emacs
191 107: VIPER -- vi emulation for Emacs 188 107: VIPER -- vi emulation for Emacs
192 108: AUC TeX -- enhanced LaTeX mode with debugging facilities 189 108: AUC TeX -- enhanced LaTeX mode with debugging facilities
193 109: BBDB -- personal Info Rolodex integrated with mail/news readers 190 109: BBDB -- personal Info Rolodex integrated with mail/news readers
194 110: Ispell -- spell checker in C with interface for Emacs 191 110: Ispell -- spell checker in C with interface for Emacs
195 111: W3-mode -- A World Wide Web browser inside of Emacs 192 111: W3-mode -- A World Wide Web browser inside of Emacs
196 112: EDB -- Database program for Emacs; replaces forms editing modes 193 112: EDB -- Database program for Emacs; replaces forms editing modes
197 113: Mailcrypt -- PGP interface within Emacs mail and news 194 113: Mailcrypt -- PGP interface within Emacs mail and news
198 114: Patch -- program to apply "diffs" for updating files 195 114: JDE -- Development environment for Java programming
196 115: Patch -- program to apply "diffs" for updating files
199 197
200 Changing Key Bindings and Handling Key Binding Problems 198 Changing Key Bindings and Handling Key Binding Problems
201 199
202 115: How do I bind keys (including function keys) to commands? 200 116: How do I bind keys (including function keys) to commands?
203 116: Why does Emacs say "Key sequence XXX uses invalid prefix characters"? 201 117: Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
204 117: Why doesn't this [terminal or window-system setup] code work in my 202 118: Why doesn't this [terminal or window-system setup] code work in my
205 .emacs file, but it works just fine after Emacs starts up? 203 .emacs file, but it works just fine after Emacs starts up?
206 118: How do I use function keys under X Windows? 204 119: How do I use function keys under X Windows?
207 119: How do I tell what characters or symbols my function or arrow keys 205 120: How do I tell what characters or symbols my function or arrow keys
208 emit? 206 emit?
209 120: How do I set the X key "translations" for Emacs? 207 121: How do I set the X key "translations" for Emacs?
210 121: How do I handle C-s and C-q being used for flow control? 208 122: How do I handle C-s and C-q being used for flow control?
211 122: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered 209 123: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered
212 out? 210 out?
213 123: Why does the "Backspace" key invoke help? 211 124: Why does the "Backspace" key invoke help?
214 124: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? 212 125: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
215 125: How do I "swap" two keys? 213 126: How do I "swap" two keys?
216 126: How do I produce C-XXX with my keyboard? 214 127: How do I produce C-XXX with my keyboard?
217 127: What if I don't have a Meta key? 215 128: What if I don't have a Meta key?
218 128: What if I don't have an Escape key? 216 129: What if I don't have an Escape key?
219 129: Can I make my "Compose Character" key behave like a Meta key? 217 130: Can I make my "Compose Character" key behave like a Meta key?
220 130: How do I bind a combination of modifier key and function key? 218 131: How do I bind a combination of modifier key and function key?
221 131: Why doesn't my Meta key work in an xterm window? 219 132: Why doesn't my Meta key work in an xterm window?
222 132: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0 220 133: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0
223 and 9.x? 221 and 9.x?
224 222
225 Using Emacs with Alternate Character Sets 223 Using Emacs with Alternate Character Sets
226 224
227 133: How do I make Emacs display 8-bit characters? 225 134: How do I make Emacs display 8-bit characters?
228 134: How do I input 8-bit characters? 226 135: How do I input 8-bit characters?
229 135: Where can I get an Emacs that handles kanji, Chinese, or other 227 136: Where can I get an Emacs that handles kanji, Chinese, or other
230 character sets? 228 character sets?
231 136: Where is an Emacs that can handle Semitic (right-to-left) alphabets? 229 137: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
232 230
233 Mail and News 231 Mail and News
234 232
235 137: How do I change the included text prefix in mail/news followups? 233 138: How do I change the included text prefix in mail/news followups?
236 138: How do I save a copy of outgoing mail? 234 139: How do I save a copy of outgoing mail?
237 139: Why doesn't Emacs expand my aliases when sending mail? 235 140: Why doesn't Emacs expand my aliases when sending mail?
238 140: Why does Rmail think all my saved messages are one big message? 236 141: Why does Rmail think all my saved messages are one big message?
239 141: How can I sort the messages in my Rmail folder? 237 142: How can I sort the messages in my Rmail folder?
240 142: Why does Rmail need to write to /usr/spool/mail? 238 143: Why does Rmail need to write to /usr/spool/mail?
241 143: How do I recover my mail files after Rmail munges their format? 239 144: How do I recover my mail files after Rmail munges their format?
242 144: How can I force Rmail to reply to the sender of a message, but not the 240 145: How can I force Rmail to reply to the sender of a message, but not the
243 other recipients? 241 other recipients?
244 145: How can I get my favorite Emacs mail package to support MIME? 242 146: How can I get my favorite Emacs mail package to support MIME?
245 146: How do I make Emacs automatically start my mail/news reader? 243 147: How do I make Emacs automatically start my mail/news reader?
246 147: How do I read news under Emacs? 244 148: How do I read news under Emacs?
247 148: Why doesn't Gnus work via NNTP? 245 149: Why doesn't Gnus work via NNTP?
248 149: How do I view news articles with embedded underlining (e.g., 246 150: How do I view news articles with embedded underlining (e.g.,
249 ClariNews)? 247 ClariNews)?
250 150: How do I save all the items of a multi-part posting in Gnus? 248 151: How do I save all the items of a multi-part posting in Gnus?
251 151: How do I make Gnus start up faster? 249 152: How do I make Gnus start up faster?
252 152: How do I catch up all newsgroups in Gnus? 250 153: How do I catch up all newsgroups in Gnus?
253 153: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control 251 154: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control
254 headers? 252 headers?
255 154: How do I get rid of flashing messages in Gnus for slow connections? 253 155: How do I get rid of flashing messages in Gnus for slow connections?
256 155: Why is catch up slow in Gnus? 254 156: Why is catch up slow in Gnus?
257 156: Why does Gnus hang for a long time when posting? 255 157: Why does Gnus hang for a long time when posting?
258 157: Where can I find out more about Gnus? 256 158: Where can I find out more about Gnus?
259 257
260 ------------------------------------------------------------ 258 ------------------------------------------------------------
261 259
262 If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x 260 If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x
263 $" to get an overview of just the questions. Then, when you want to look 261 $" to get an overview of just the questions. Then, when you want to look
264 at the text of the answers, just type "C-x $". 262 at the text of the answers, just type "C-x $".
265 263
266 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a 264 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
267 C-r if that doesn't work. Type RET to end the search. 265 C-r if that doesn't work. Type RET to end the search.
268 266
269 If you have a web browser and the browse-url package configured for 267 If you have w3-mode installed (see question 111), you can visit ftp and
270 it, you can visit ftp and HTTP uniform resource locators (URLs) by 268 HTTP uniform resource locators (URLs) by placing the cursor on the URL and
271 placing the cursor on the URL and typing M-x browse-url-at-point. 269 typing M-x w3-follow-url-at-point.
272 270
273 The FAQ is posted in five parts; if you are missing a section or would 271 The FAQ is posted in five parts; if you are missing a section or would
274 prefer to read the FAQ in a single file, see question 22. 272 prefer to read the FAQ in a single file, see question 22.
275 273
276 ------------------------------------------------------------ 274 ------------------------------------------------------------
277 Time-stamp: <1998-09-18 14:41:10 reuven> 275 Time-stamp: <1998-11-15 12:37:16 reuven>
278 276
279 277
280 Notation Used in FAQ 278 Notation Used in FAQ
281 279
282 Skip this section and then come back if you don't understand some of the 280 Skip this section and then come back if you don't understand some of the
285 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? 283 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.?
286 284
287 C-x: press the `x' key while holding down the Control key 285 C-x: press the `x' key while holding down the Control key
288 286
289 M-x: press the `x' key while holding down the Meta key (if your computer 287 M-x: press the `x' key while holding down the Meta key (if your computer
290 doesn't have a Meta key, see question 127) 288 doesn't have a Meta key, see question 128)
291 289
292 M-C-x: press the `x' key while holding down both Control and Meta 290 M-C-x: press the `x' key while holding down both Control and Meta
293 C-M-x: a synonym for the above 291 C-M-x: a synonym for the above
294 292
295 LFD: Linefeed or Newline; same as C-j 293 LFD: Linefeed or Newline; same as C-j
296 RET: Return, sometimes marked Enter; same as C-m 294 RET: Return, sometimes marked Enter; same as C-m
297 DEL: Delete, usually not the same as Backspace; same as C-? (See 295 DEL: Delete, usually not the same as Backspace; same as C-? (See
298 question 123 if deleting invokes Emacs help) 296 question 124 if deleting invokes Emacs help)
299 ESC: Escape; same as C-[ 297 ESC: Escape; same as C-[
300 TAB: Tab; same as C-i 298 TAB: Tab; same as C-i
301 SPC: Space bar 299 SPC: Space bar
302 300
303 Key sequences longer than one key (and some single-key sequences) are 301 Key sequences longer than one key (and some single-key sequences) are
471 years, although there may be some unintentional gaps in coverage. The 469 years, although there may be some unintentional gaps in coverage. The
472 archive is not particularly well organized or easy to retrieve individual 470 archive is not particularly well organized or easy to retrieve individual
473 postings from, but pretty much everything is there. The latest archives 471 postings from, but pretty much everything is there. The latest archives
474 are available at 472 are available at
475 473
476 ftp://gnudist.gnu.org/pub/gnu/MailingListArchives/current 474 ftp://ftp.gnu.org/pub/gnu/MailingListArchives/current
477 475
478 Web-based Usenet search services, such as DejaNews, also archive the 476 Web-based Usenet search services, such as DejaNews, also archive the
479 gnu.* groups. You can reach DejaNews at 477 gnu.* groups. You can reach DejaNews at
480 478
481 http://www.dejanews.com 479 http://www.dejanews.com
629 627
630 The Emacs Lisp Reference Manual is also available on-line, in Info 628 The Emacs Lisp Reference Manual is also available on-line, in Info
631 format. Texinfo source for the manual (along with pregenerated Info 629 format. Texinfo source for the manual (along with pregenerated Info
632 files) is available at 630 files) is available at
633 631
634 ftp://gnudist.gnu.org/pub/gnu/elisp-manual-20-2.5.tar.gz 632 ftp://ftp.gnu.org/pub/gnu/elisp-manual-20-2.5.tar.gz
635 633
636 and all mirrors of gnudist.gnu.org (See question 92 for a list). See 634 and all mirrors of ftp.gnu.org (See question 92 for a list). See
637 question 17 if you want to install the Info files, or question 18 if you 635 question 17 if you want to install the Info files, or question 18 if you
638 want to use the Texinfo source to print the manual yourself. 636 want to use the Texinfo source to print the manual yourself.
639 637
640 WWW versions of the Emacs Lisp Reference Manual are available at 638 WWW versions of the Emacs Lisp Reference Manual are available at
641 639
646 644
647 First, you must turn the Texinfo files into Info files. You may do this 645 First, you must turn the Texinfo files into Info files. You may do this
648 using the stand-alone "makeinfo" program, available as part of the latest 646 using the stand-alone "makeinfo" program, available as part of the latest
649 Texinfo package at 647 Texinfo package at
650 648
651 ftp://gnudist.gnu.org/pub/gnu/texinfo-3.12.tar.gz 649 ftp://ftp.gnu.org/pub/gnu/texinfo-3.12.tar.gz
652 650
653 and all mirrors of gnudist.gnu.org (see question 92 for a list). 651 and all mirrors of ftp.gnu.org (see question 92 for a list).
654 652
655 For information about the Texinfo format, read the Texinfo manual which 653 For information about the Texinfo format, read the Texinfo manual which
656 comes with Emacs. This manual also comes installed in Info format, so 654 comes with Emacs. This manual also comes installed in Info format, so
657 you can read it on-line. 655 you can read it on-line.
658 656
665 2. Edit the file info/dir in the installed Emacs distribution, and add a 663 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 664 line for the top level node in the Info package that you are
667 installing. Follow the examples already in this file. The format is: 665 installing. Follow the examples already in this file. The format is:
668 666
669 * Topic: (relative-pathname). Short description of topic. 667 * Topic: (relative-pathname). Short description of topic.
670
671 If (as it should have done) the Texinfo file used the @direntry
672 command, you can run the "install-info" command from the current
673 Texinfo distribution to do this automatically -- see the example in
674 the top-level Makefile in the Emacs source.
675 668
676 If you want to install Info files and you don't have the necessary 669 If you want to install Info files and you don't have the necessary
677 privileges, you have several options: 670 privileges, you have several options:
678 671
679 * Info files don't actually need to be installed before being used. You 672 * Info files don't actually need to be installed before being used. You
725 718
726 5. Print the DVI file XXX.dvi in the normal way for printing DVI files at 719 5. Print the DVI file XXX.dvi in the normal way for printing DVI files at
727 your site. 720 your site.
728 721
729 To get more general instructions, retrieve the latest Texinfo package 722 To get more general instructions, retrieve the latest Texinfo package
730 mentioned in question 17. The "texi2dvi" command from it will perform 723 mentioned in question 17.
731 the above steps 1 to 4 for you.
732 724
733 19: Can I view Info files without using Emacs? 725 19: Can I view Info files without using Emacs?
734 726
735 Yes. Here are some alternative programs: 727 Yes. Here are some alternative programs:
736 728
738 Texinfo package. See question 17 for details. 730 Texinfo package. See question 17 for details.
739 731
740 * Xinfo, a stand-alone version of the Info program that runs under X 732 * Xinfo, a stand-alone version of the Info program that runs under X
741 Windows. You can get it at 733 Windows. You can get it at
742 734
743 ftp://gnudist.gnu.org/pub/gnu/xinfo-1.01.01.tar.gz 735 ftp://ftp.gnu.org/pub/gnu/xinfo-1.01.01.tar.gz
744 736
745 and all mirrors of gnudist.gnu.org (See question 92 for a list). 737 and all mirrors of ftp.gnu.org (See question 92 for a list).
746 738
747 * Tkinfo, an Info viewer that runs under X Windows and uses Tcl/Tk. You 739 * Tkinfo, an Info viewer that runs under X Windows and uses Tcl/Tk. You
748 can get Tkinfo at 740 can get Tkinfo at
749 741
750 http://math-www.uni-paderborn.de/~axel/tkinfo/ 742 http://math-www.uni-paderborn.de/~axel/tkinfo/
768 UNIX-compatible software system with BYTE editors 760 UNIX-compatible software system with BYTE editors
769 LPF -- Why you should join the League for Programming Freedom 761 LPF -- Why you should join the League for Programming Freedom
770 MACHINES -- Status of Emacs on Various Machines and Systems 762 MACHINES -- Status of Emacs on Various Machines and Systems
771 MAILINGLISTS -- GNU Project Electronic Mailing Lists 763 MAILINGLISTS -- GNU Project Electronic Mailing Lists
772 NEWS -- Emacs news, a history of user-visible changes 764 NEWS -- Emacs news, a history of user-visible changes
773 PROBLEMS -- Known problems with building and running Emacs in various
774 situations, often with workarounds.
775 SERVICE -- GNU Service Directory 765 SERVICE -- GNU Service Directory
776 SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" 766 SUN-SUPPORT -- including "Using Emacstool with GNU Emacs"
777 767
778 Latest versions of some of the above files are also available at 768 Latest versions of the above files also available at
779 769
780 ftp://gnudist.gnu.org/pub/gnu/GNUinfo/ 770 ftp://ftp.gnu.org/pub/gnu/GNUinfo/
781 771
782 More GNU information, including back issues of the "GNU's Bulletin", are at 772 More GNU information, including back issues of the "GNU's Bulletin", are at
783 773
784 http://www.gnu.org/bulletins/bulletins.html 774 http://www.gnu.org/bulletins/bulletins.html
785 http://www.cs.pdx.edu/~trent/gnu/gnu.html 775 http://www.cs.pdx.edu/~trent/gnu/gnu.html
789 See question 84 for some basic installation hints, and question 83 if you 779 See question 84 for some basic installation hints, and question 83 if you
790 have problems with the installation. 780 have problems with the installation.
791 781
792 The file etc/SERVICE (see question 4 if you're not sure where that is) 782 The file etc/SERVICE (see question 4 if you're not sure where that is)
793 lists companies and individuals willing to sell you help in installing or 783 lists companies and individuals willing to sell you help in installing or
794 using Emacs. An up-to-date version this file is available on gnudist.gnu.org 784 using Emacs. An up-to-date version this file is available on ftp.gnu.org
795 (see question 20). 785 (see question 20).
796 786
797 22: Where can I get the latest version of this document (the FAQ list)? 787 22: Where can I get the latest version of this document (the FAQ list)?
798 788
799 The Emacs FAQ is available in several ways: 789 The Emacs FAQ is available in several ways:
819 If the FAQ articles have expired and been deleted from your news spool, 809 If the FAQ articles have expired and been deleted from your news spool,
820 it might (or might not) do some good to complain to your news 810 it might (or might not) do some good to complain to your news
821 administrator, because the most recent FAQ should not expire for a 811 administrator, because the most recent FAQ should not expire for a
822 while. 812 while.
823 813
824 * Via anonymous FTP. You can always fetch the latest FAQ at 814 * Via HTTP or FTP. You can always fetch the latest FAQ at
825 815
826 ftp://ftp.lerner.co.il/pub/emacs/faq.txt 816 http://www.lerner.co.il/emacs/
827 ftp://ftp.lerner.co.il/pub/emacs/faq.gz 817
828 818 and
829 http://ftp.lerner.co.il/emacs/faq.txt 819
830 http://ftp.lerner.co.il/emacs/faq.gz 820 ftp://ftp.lerner.co.il/pub/emacs/
831 821
832 * In the Emacs distribution. Since Emacs 18.56, the FAQ at the time of 822 * In the Emacs distribution. Since Emacs 18.56, the FAQ at the time of
833 release has been part of the Emacs distribution as etc/FAQ (see 823 release has been part of the Emacs distribution as etc/FAQ (see
834 question 4). 824 question 4).
835 825
888 For some not-so-serious alternative reasons for Emacs to have that name, 878 For some not-so-serious alternative reasons for Emacs to have that name,
889 check out etc/JOKES (see question 4). 879 check out etc/JOKES (see question 4).
890 880
891 24: What is the latest version of Emacs? 881 24: What is the latest version of Emacs?
892 882
893 Emacs 20.4 is the current version as of this writing. 883 Emacs 20.3 is the current version as of this writing.
894 884
895 25: What is different about Emacs 20? 885 25: What is different about Emacs 20?
896 886
897 To find out what has changed in recent versions, type C-h n (M-x 887 To find out what has changed in recent versions, type C-h n (M-x
898 view-emacs-news). The oldest changes are at the bottom of the file, so 888 view-emacs-news). The oldest changes are at the bottom of the file, so
907 of MULE code for languages that use non-Latin characters, the "customize" 897 of MULE code for languages that use non-Latin characters, the "customize"
908 facility for modifying variables without having to use Lisp, and 898 facility for modifying variables without having to use Lisp, and
909 automatic conversion of files from Macintosh, Microsoft, and Unix 899 automatic conversion of files from Macintosh, Microsoft, and Unix
910 platforms. 900 platforms.
911 901
912 Many Lisp packages have been updated and enhanced for Emacs 20. 902 A number of older Lisp packages, such as Gnus, Supercite and the
903 calendar/diary, have been updated and enhanced to work with Emacs 20, and
904 are now included with the standard distribution.
913 905
914 906
915 Common Things People Want To Do 907 Common Things People Want To Do
916 908
917 26: How do I set up a .emacs file properly? 909 26: How do I set up a .emacs file properly?
922 because it causes confusing non-standard behavior. Then they send 914 because it causes confusing non-standard behavior. Then they send
923 questions to help-gnu-emacs asking why Emacs isn't behaving as 915 questions to help-gnu-emacs asking why Emacs isn't behaving as
924 documented. :-) 916 documented. :-)
925 917
926 Emacs 20 includes the new "customize" facility, which can be invoked 918 Emacs 20 includes the new "customize" facility, which can be invoked
927 using M-x customize RET or via the Help menu. This allows users who are 919 using M-x customize RET. This allows users who are unfamiliar with Emacs
928 unfamiliar with Emacs Lisp to modify their .emacs files in a relatively 920 Lisp to modify their .emacs files in a relatively straightforward way,
929 straightforward way, using menus rather than Lisp code. While all the 921 using menus rather than Lisp code. Not all packages support Customize as
930 packages included with Emacs (are meant to) support Customize now, 922 of this writing, but the number is growing fairly steadily.
931 packages from other sources may not.
932 923
933 While Customize might indeed make it easier to configure Emacs, consider 924 While Customize might indeed make it easier to configure Emacs, consider
934 taking a bit of time to learn Emacs Lisp and modifying your .emacs 925 taking a bit of time to learn Emacs Lisp and modifying your .emacs
935 directly. Simple configuration options are described rather completely in 926 directly. Simple configuration options are described rather completely in
936 the "Init File" section of the on-line manual, for users interested in 927 the "Init File" section of the on-line manual, for users interested in
945 buffer will display the Lisp code from your .emacs file that caused the 936 buffer will display the Lisp code from your .emacs file that caused the
946 problem. 937 problem.
947 938
948 You can also evaluate an individual function or argument to a function in 939 You can also evaluate an individual function or argument to a function in
949 your .emacs file by moving the cursor to the end of the function or 940 your .emacs file by moving the cursor to the end of the function or
950 argument and typing "C-x C-e" (M-x eval-last-sexp). "C-M-x" (M-x 941 argument and typing "C-x C-e" (M-x eval-last-sexp).
951 eval-defun) is particularly useful for re-evaluating "defvar" and
952 "customize" forms.
953 942
954 Use "C-h v" (M-x describe-variable) to check the value of variables which 943 Use "C-h v" (M-x describe-variable) to check the value of variables which
955 you are trying to set or use. 944 you are trying to set or use.
956 945
957 28: How do I make Emacs display the current line (or column) number? 946 28: How do I make Emacs display the current line (or column) number?
958 947
959 To toggle having Emacs automatically display the current line number of the 948 To have Emacs automatically display the current line number of the point
960 point in the mode line, do "M-x line-number-mode". (This option is on by 949 in the mode line, do "M-x line-number-mode". You can also put the form
961 default.) Note that Emacs will not display the line number if the buffer is 950
962 larger than the value of the variable line-number-display-limit. 951 (setq line-number-mode t)
952
953 in your .emacs file to achieve this whenever you start Emacs. Note that
954 Emacs will not display the line number if the buffer is larger than the
955 value of the variable line-number-display-limit.
963 956
964 As of Emacs 20, you can similarly display the current column with "M-x 957 As of Emacs 20, you can similarly display the current column with "M-x
965 column-number-mode", by putting the form 958 column-number-mode", or by putting the form
966 959
967 (setq column-number-mode t) 960 (setq column-number-mode t)
968 961
969 in your .emacs file or by using Customize. 962 in your .emacs file.
970 963
971 The "%c" format specifier in the variable mode-line-format will insert 964 The "%c" format specifier in the variable mode-line-format will insert
972 the current column's value into the mode line. See the documentation for 965 the current column's value into the mode line. See the documentation for
973 mode-line-format (using "C-h v mode-line-format RET") for more 966 mode-line-format (using "C-h v mode-line-format RET") for more
974 information on how to set and use this variable. 967 information on how to set and use this variable.
976 Users of all Emacs versions can display the current column using Per 969 Users of all Emacs versions can display the current column using Per
977 Abrahamsen's <abraham@iesd.auc.dk> "column" package. See question 90 for 970 Abrahamsen's <abraham@iesd.auc.dk> "column" package. See question 90 for
978 instructions on how to get it. 971 instructions on how to get it.
979 972
980 None of the vi emulation modes provide the "set number" capability of vi 973 None of the vi emulation modes provide the "set number" capability of vi
981 (as far as we know) but Kyle Jones's setnu.el package implements such a 974 (as far as we know).
982 feature.
983 975
984 29: How can I modify the titlebar to contain the current filename? 976 29: How can I modify the titlebar to contain the current filename?
985 977
986 The contains of an Emacs frame's titlebar is controlled by the variable 978 The contains of an Emacs frame's titlebar is controlled by the variable
987 frame-title-format, which has the same structure as the variable 979 frame-title-format, which has the same structure as the variable
1009 (condition-case () 1001 (condition-case ()
1010 (quietly-read-abbrev-file) 1002 (quietly-read-abbrev-file)
1011 (file-error nil)) 1003 (file-error nil))
1012 1004
1013 (add-hook 'XXX-mode-hook 1005 (add-hook 'XXX-mode-hook
1014 (lambda () 1006 (function
1015 (setq abbrev-mode t))) 1007 (lambda ()
1008 (setq abbrev-mode t))))
1016 1009
1017 31: How do I turn on auto-fill mode by default? 1010 31: How do I turn on auto-fill mode by default?
1018 1011
1019 To turn on auto-fill mode just once for one buffer, use "M-x 1012 To turn on auto-fill mode just once for one buffer, use "M-x
1020 auto-fill-mode". 1013 auto-fill-mode".
1023 for that mode. For example, to turn on auto-fill mode for all text 1016 for that mode. For example, to turn on auto-fill mode for all text
1024 buffers, including the following in your .emacs file: 1017 buffers, including the following in your .emacs file:
1025 1018
1026 (add-hook 'text-mode-hook 'turn-on-auto-fill) 1019 (add-hook 'text-mode-hook 'turn-on-auto-fill)
1027 1020
1028 You can also do this via the Help -> Options menu, which runs the command
1029 toggle-text-mode-auto-fill.
1030
1031 If you want auto-fill mode on in all major modes, do this: 1021 If you want auto-fill mode on in all major modes, do this:
1032 1022
1033 (setq-default auto-fill-function 'do-auto-fill) 1023 (setq-default auto-fill-function 'do-auto-fill)
1034 1024
1035 32: How do I make Emacs use a certain major mode for certain files? 1025 32: How do I make Emacs use a certain major mode for certain files?
1036 1026
1037 If you want to use XXX mode for all files which end with the extension 1027 If you want to use XXX mode for all files which end with the extension
1038 ".YYY", this will do it for you: 1028 ".YYY", this will do it for you:
1039 1029
1040 (add-to-list 'auto-mode-alist '("\\.YYY\\'" . XXX-mode)) 1030 (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist))
1041 1031
1042 Otherwise put this somewhere in the first line of any file you want to 1032 Otherwise put this somewhere in the first line of any file you want to
1043 edit in XXX mode (in the second line, if the first line begins with 1033 edit in XXX mode (in the second line, if the first line begins with
1044 "#!"): 1034 "#!"):
1045 1035
1093 If you are using a windowing system such as X, you can cause the region 1083 If you are using a windowing system such as X, you can cause the region
1094 to be highlighted when the mark is active by including 1084 to be highlighted when the mark is active by including
1095 1085
1096 (transient-mark-mode t) 1086 (transient-mark-mode t)
1097 1087
1098 in your .emacs file, using Customize or via the Help->Options menu. 1088 in your .emacs file. (Also see question 66.)
1099 (Also see question 66.)
1100 1089
1101 35: How do I control Emacs's case-sensitivity when searching/replacing? 1090 35: How do I control Emacs's case-sensitivity when searching/replacing?
1102 1091
1103 For searching, the value of the variable case-fold-search determines 1092 For searching, the value of the variable case-fold-search determines
1104 whether they are case sensitive: 1093 whether they are case sensitive:
1105 1094
1106 (setq case-fold-search nil) ; make searches case sensitive 1095 (setq case-fold-search nil) ; make searches case sensitive
1107 (setq case-fold-search t) ; make searches case insensitive 1096 (setq case-fold-search t) ; make searches case insensitive
1108 1097
1109 To change this or similar variables during an Emacs session, use 1098 Similarly, for replacing the variable case-replace determines whether
1110 M-x set-variable.
1111
1112 Similarly, for replacing, the variable case-replace determines whether
1113 replacements preserve case. 1099 replacements preserve case.
1114 1100
1115 To change the case sensitivity just for one major mode, use the major 1101 To change the case sensitivity just for one major mode, use the major
1116 mode's hook. For example: 1102 mode's hook. For example:
1117 1103
1118 (add-hook 'XXX-mode-hook 1104 (add-hook 'XXX-mode-hook
1119 (lambda () 1105 (function
1120 (setq case-fold-search nil))) 1106 (lambda ()
1107 (setq case-fold-search nil))))
1121 1108
1122 36: How do I make Emacs wrap words for me? 1109 36: How do I make Emacs wrap words for me?
1123 1110
1124 Use auto-fill mode, activated by typing "M-x auto-fill-mode". The 1111 Use auto-fill mode, activated by typing "M-x auto-fill-mode". The
1125 default maximum line width is 70, determined by the variable fill-column. 1112 default maximum line width is 70, determined by the variable fill-column.
1206 execution of arbitrary Emacs Lisp forms and does not require the client 1193 execution of arbitrary Emacs Lisp forms and does not require the client
1207 program to wait for completion. 1194 program to wait for completion.
1208 1195
1209 The alpha version of an enhanced version of gnuserv is available at 1196 The alpha version of an enhanced version of gnuserv is available at
1210 1197
1211 ftp://ftp.splode.com/pub/users/friedman/packages/fgnuserv-1.0.tar.gz 1198 ftp://ftp.wellfleet.com/netman/psmith/emacs/gnuserv-2.1alpha.tar.gz
1212 1199
1213 41: How do I make Emacs recognize my compiler's funny error messages? 1200 41: How do I make Emacs recognize my compiler's funny error messages?
1214 1201
1215 The variable compilation-error-regexp-alist helps control how Emacs 1202 The variable compilation-error-regexp-alist helps control how Emacs
1216 parses your compiler output. It is a list of triples of the form: 1203 parses your compiler output. It is a list of triples of the form:
1226 the comments included for this variable are quite useful -- the regular 1213 the comments included for this variable are quite useful -- the regular
1227 expressions required for your compiler's output may be very close to one 1214 expressions required for your compiler's output may be very close to one
1228 already provided. Once you have determined the proper regexps, use the 1215 already provided. Once you have determined the proper regexps, use the
1229 following to inform Emacs of your changes: 1216 following to inform Emacs of your changes:
1230 1217
1231 (add-to-list 'compilation-error-regexp-alist 1218 (setq compilation-error-regexp-alist
1232 '(REGEXP FILE-IDX LINE-IDX)) 1219 (cons '(REGEXP FILE-IDX LINE-IDX)
1233 1220 compilation-error-regexp-alist))
1234 42: How do I indent C switch statements like this? 1221
1222 42: How do I indent switch statements like this?
1235 1223
1236 Many people want to indent their switch statements like this: 1224 Many people want to indent their switch statements like this:
1237 1225
1238 f() 1226 f()
1239 { 1227 {
1281 1269
1282 M-x overwrite-mode (a minor mode). This toggles overwrite-mode on and 1270 M-x overwrite-mode (a minor mode). This toggles overwrite-mode on and
1283 off, so exiting from overwrite-mode is as easy as another M-x 1271 off, so exiting from overwrite-mode is as easy as another M-x
1284 overwrite-mode. 1272 overwrite-mode.
1285 1273
1286 On some systems the "Insert" key toggles overwrite-mode on and off. 1274 On some workstations, the "Insert" key toggles overwrite-mode on and off.
1287 1275
1288 45: How do I stop Emacs from beeping on a terminal? 1276 45: How do I stop Emacs from beeping on a terminal?
1289 1277
1290 Martin R. Frank <martin@cc.gatech.edu> writes: 1278 Martin R. Frank <martin@cc.gatech.edu> writes:
1291 1279
1298 ... :vb=: ... 1286 ... :vb=: ...
1299 1287
1300 And evaluate the following Lisp form: 1288 And evaluate the following Lisp form:
1301 1289
1302 (setq visible-bell t) 1290 (setq visible-bell t)
1303
1304 There is also a way to turn off _all_ effects of a bell, by defining
1305 a custom `ring-bell-function' that does nothing.
1306 1291
1307 46: How do I turn down the bell volume in Emacs running under X Windows? 1292 46: How do I turn down the bell volume in Emacs running under X Windows?
1308 1293
1309 You can adjust the bell volume and duration for all programs with the 1294 You can adjust the bell volume and duration for all programs with the
1310 shell command xset. 1295 shell command xset.
1319 b [vol [pitch [dur]]] b on 1304 b [vol [pitch [dur]]] b on
1320 1305
1321 47: How do I tell Emacs to automatically indent a new line to the 1306 47: How do I tell Emacs to automatically indent a new line to the
1322 indentation of the previous line? 1307 indentation of the previous line?
1323 1308
1324 Such behavior is automatic in text mode in Emacs 20. From the NEWS file 1309 Such behavior is automatic in Emacs 20. From the NEWS file for Emacs
1325 for Emacs 20.2: 1310 20.2:
1326 1311
1327 ** In Text mode, now only blank lines separate paragraphs. This makes 1312 ** In Text mode, now only blank lines separate paragraphs. This makes
1328 it possible to get the full benefit of Adaptive Fill mode in Text mode, 1313 it possible to get the full benefit of Adaptive Fill mode in Text mode,
1329 and other modes derived from it (such as Mail mode). TAB in Text mode 1314 and other modes derived from it (such as Mail mode). TAB in Text mode
1330 now runs the command indent-relative; this makes a practical difference 1315 now runs the command indent-relative; this makes a practical difference
1357 cursor) is located over one. To load paren automatically, include the 1342 cursor) is located over one. To load paren automatically, include the
1358 line 1343 line
1359 1344
1360 (require 'paren) 1345 (require 'paren)
1361 1346
1362 in your .emacs file. As of version 20.1, you must instead call 1347 in your .emacs file. Alan Shutko <shutkoa@ugsolutions.com> reports that
1363 show-paren-mode in your .emacs file: 1348 as of version 20.1, you must also call show-paren-mode in your .emacs
1349 file:
1364 1350
1365 (show-paren-mode 1) 1351 (show-paren-mode 1)
1366
1367 and the "require" is redundant.
1368 1352
1369 The "customize" facility will let you turn on show-paren-mode. Use M-x 1353 The "customize" facility will let you turn on show-paren-mode. Use M-x
1370 customize-group RET paren-showing RET. From within customize, you can 1354 customize-group RET paren-showing RET. From within customize, you can
1371 also go directly to the "paren-showing" group. 1355 also go directly to the "paren-showing" group.
1372 1356
1381 can train it to skip over balanced brackets and braces at the same time 1365 can train it to skip over balanced brackets and braces at the same time
1382 by modifying the syntax table.) 1366 by modifying the syntax table.)
1383 1367
1384 * Here is some Emacs Lisp that will make the % key show the matching 1368 * Here is some Emacs Lisp that will make the % key show the matching
1385 parenthesis, like in vi. In addition, if the cursor isn't over a 1369 parenthesis, like in vi. In addition, if the cursor isn't over a
1386 parenthesis, it simply inserts a % like normal. (`Parenthesis' actually 1370 parenthesis, it simply inserts a % like normal.
1387 includes and character with `open' or `close' syntax, which usually means
1388 "()[]{}".)
1389 1371
1390 ;; By an unknown contributor 1372 ;; By an unknown contributor
1391 1373
1392 (global-set-key "%" 'match-paren) 1374 (global-set-key "%" 'match-paren)
1393 1375
1406 1388
1407 50: Is there an equivalent to the `.' (dot) command of vi? 1389 50: Is there an equivalent to the `.' (dot) command of vi?
1408 1390
1409 (`.' is the redo command in vi. It redoes the last insertion/deletion.) 1391 (`.' is the redo command in vi. It redoes the last insertion/deletion.)
1410 1392
1411 In Emacs 20.3 and later, use the C-x z ("repeat") command to repeat `simple 1393 The next version of
1412 commands'. 1394
1413 1395 No, not really, because Emacs doesn't have a special insertion mode.
1414 Otherwise you can type "C-x ESC ESC" (repeat-complex-command) to reinvoke 1396
1415 commands that used the minibuffer to get arguments. In 1397 You can type "C-x ESC ESC" (repeat-complex-command) to reinvoke commands
1416 repeat-complex-command you can type M-p and M-n to scan through all the 1398 that used the minibuffer to get arguments. In repeat-complex-command you
1417 different complex commands you've typed. 1399 can type M-p and M-n to scan through all the different complex commands
1400 you've typed.
1418 1401
1419 To repeat a set of commands, use keyboard macros. (See "Keyboard Macros" 1402 To repeat a set of commands, use keyboard macros. (See "Keyboard Macros"
1420 in the on-line manual.) 1403 in the on-line manual.)
1421 1404
1422 VIPER, which comes with Emacs, emulates vi, including `.'. (See question 1405 If you're really desperate for the `.' command, use VIPER, which comes
1423 107.) 1406 with Emacs, and which appears to support it. (See question 107.)
1424 1407
1425 51: What are the valid X resource settings (i.e., stuff in .Xdefaults)? 1408 51: What are the valid X resource settings (i.e., stuff in .Xdefaults)?
1426 1409
1427 See Emacs man page, or "Resources X" in the on-line manual. 1410 See Emacs man page, or "Resources X" in the on-line manual.
1428 1411
1478 RET". 1461 RET".
1479 1462
1480 To do this to a region, use "string-rectangle" ("C-x r t"). Set the mark 1463 To do this to a region, use "string-rectangle" ("C-x r t"). Set the mark
1481 (`C-SPC') at the beginning of the first line you want to prefix, move the 1464 (`C-SPC') at the beginning of the first line you want to prefix, move the
1482 cursor to last line to be prefixed, and type "C-x r t > RET". To do this 1465 cursor to last line to be prefixed, and type "C-x r t > RET". To do this
1483 for the whole buffer, type "C-x h C-x r t > RET". In Emacs 20.3 and 1466 for the whole buffer, type "C-x h C-x r t > RET".
1484 later, this will affect only the current region if Transient Mark mode is
1485 on (see NEWS via C-h N).
1486 1467
1487 If you are trying to prefix a yanked mail message with '>', you might 1468 If you are trying to prefix a yanked mail message with '>', you might
1488 want to set the variable mail-yank-prefix. Better yet, get the SuperCite 1469 want to set the variable mail-yank-prefix. Better yet, get the Supercite
1489 package (see question 105), which provides flexible citation for yanked 1470 package (see question 105), which provides flexible citation for yanked
1490 mail and news messages. 1471 mail and news messages.
1491 1472
1492 55: How do I insert "_^H" before each character in a region to get an 1473 55: How do I insert "_^H" before each character in a region to get an
1493 underlined paragraph? 1474 underlined paragraph?
1542 command dired-do-query-replace, which allows users to replace regular 1523 command dired-do-query-replace, which allows users to replace regular
1543 expressions in multiple files. 1524 expressions in multiple files.
1544 1525
1545 61: Where is the documentation for "etags"? 1526 61: Where is the documentation for "etags"?
1546 1527
1547 "etags" is documented in the Tags node of the Emacs manual. The "etags" 1528 The "etags" man page should be in the same place as the "emacs" man page.
1548 man page should be in the same place as the "emacs" man page.
1549 1529
1550 Quick command-line switch descriptions are also available. For example, 1530 Quick command-line switch descriptions are also available. For example,
1551 "etags -H". 1531 "etags -H".
1552 1532
1553 62: How do I disable backup files? 1533 62: How do I disable backup files?
1567 1547
1568 (setq initial-dired-omit-files-p t) 1548 (setq initial-dired-omit-files-p t)
1569 1549
1570 If you're tired of seeing backup files whenever you do an "ls" at the 1550 If you're tired of seeing backup files whenever you do an "ls" at the
1571 Unix shell, try GNU ls with the "-B" option. GNU ls is part of the GNU 1551 Unix shell, try GNU ls with the "-B" option. GNU ls is part of the GNU
1572 fileutils package, available at mirrors of gnudist.gnu.org (see question 92). 1552 fileutils package, available at mirrors of ftp.gnu.org (see question 92).
1573 1553
1574 To disable or change how backups are made, see "Backup Names" in the 1554 To disable or change how backups are made, see "Backup Names" in the
1575 on-line manual. 1555 on-line manual.
1576 1556
1577 63: How do I disable auto-save-mode? 1557 63: How do I disable auto-save-mode?
1656 To move a menu option from one position to another, simply evaluate 1636 To move a menu option from one position to another, simply evaluate
1657 define-key-after with the appropriate final argument. 1637 define-key-after with the appropriate final argument.
1658 1638
1659 More detailed information -- and more examples of how to create and 1639 More detailed information -- and more examples of how to create and
1660 modify menu options -- are in the Emacs Lisp Reference Manual, under 1640 modify menu options -- are in the Emacs Lisp Reference Manual, under
1661 "Menu Keymaps." (See question 16 for information on this manual.) 1641 "Keymaps." (See question 16 for information on this manual.)
1662
1663 Note that Emacs 20.3 introduced a better (`extended') format for menu
1664 items, described in the NEWS file and the Lisp Manual. The "easymenu"
1665 package provides support for defining menus conveniently with some
1666 portability amongst Emacs versions.
1667 1642
1668 65: How do I delete menus and menu options? 1643 65: How do I delete menus and menu options?
1669 1644
1670 The simplest way to remove a menu is to set its keymap to nil. For 1645 The simplest way to remove a menu is to set its keymap to nil. For
1671 example, to delete the "Words" menu (from question 64), use: 1646 example, to delete the "Words" menu (from question 64), use:
1692 1667
1693 To turn font-lock mode on within an existing buffer, use "M-x 1668 To turn font-lock mode on within an existing buffer, use "M-x
1694 font-lock-mode RET". 1669 font-lock-mode RET".
1695 1670
1696 To automatically invoke font-lock mode when a particular major mode is 1671 To automatically invoke font-lock mode when a particular major mode is
1697 invoked, set the major mode's hook or define font-lock-global-modes as a 1672 invoked, set the major mode's hook. For example, to fontify all c-mode
1698 list with the mode name as an element. For example, to fontify all 1673 buffers, add the following to your .emacs file:
1699 c-mode buffers, add the following to your .emacs file:
1700 1674
1701 (add-hook 'c-mode-hook 'turn-on-font-lock) 1675 (add-hook 'c-mode-hook 'turn-on-font-lock)
1702 1676
1703 To automatically invoke font-lock mode for all major modes, you can turn 1677 To automatically invoke font-lock mode for all major modes, you can turn
1704 on global-font-lock mode by including the following line in your .emacs 1678 on global-font-lock mode by including the following line in your .emacs
1705 file (or use Custom): 1679 file:
1706 1680
1707 (global-font-lock-mode 1) 1681 (global-font-lock-mode 1)
1708 1682
1709 This instructs Emacs to turn on font-lock mode in those buffers for which 1683 This instructs Emacs to turn on font-lock mode in those buffers for which
1710 a font-lock mode definition has been provided (in the variable 1684 a font-lock mode definition has been provided (in the variable
1711 font-lock-global-modes or via the variable font-lock-defaults-alist). If 1685 font-lock-global-modes). If you edit a file in pie-ala-mode, and no
1712 you edit a file in pie-ala-mode, and no font-lock definitions have been 1686 font-lock definitions have been provided for pie-ala files, then the
1713 provided for pie-ala files, then the above setting will have no effect on 1687 above setting will have no effect on that particular buffer.
1714 that particular buffer.
1715 1688
1716 Highlighting with font-lock mode can take quite a while, and thus 1689 Highlighting with font-lock mode can take quite a while, and thus
1717 different levels of decoration are available, from slight to gaudy. To 1690 different levels of decoration are available, from slight to gaudy. To
1718 control how decorated your buffers should become, set the value of 1691 control how decorated your buffers should become, set the value of
1719 font-lock-maximum-decoration in your .emacs file, with a nil value 1692 font-lock-maximum-decoration in your .emacs file, with a nil value
1738 1711
1739 Also see the documentation for the function font-lock-mode, available by 1712 Also see the documentation for the function font-lock-mode, available by
1740 typing C-h f font-lock-mode ("M-x describe-function RET font-lock-mode 1713 typing C-h f font-lock-mode ("M-x describe-function RET font-lock-mode
1741 RET"). 1714 RET").
1742 1715
1743 For more information on font-lock mode, particularly adding new patterns, 1716 For more information on font-lock mode, take a look at the font-lock mode
1744 see the Lisp Reference Manual and the commentary in the source 1717 FAQ, maintained by Jari Aalto <jari.aalto@ntc.nokia.com> at
1745 font-lock.el, which you can find in Emacs 20 (if it is installed) using, 1718
1746 say, M-x find-function font-lock-mode. 1719 ftp://cs.uta.fi/pub/ssjaaa/ema-font.gui
1747 1720
1748 To print buffers with the faces (i.e., colors and fonts) intact, use 1721 To print buffers with the faces (i.e., colors and fonts) intact, use
1749 "M-x ps-print-buffer-with-faces" or "M-x ps-print-region-with-faces". 1722 "M-x ps-print-buffer-with-faces" or "M-x ps-print-region-with-faces".
1750 1723
1751 67: How can I force Emacs to scroll only one line when I move past the 1724 67: How can I force Emacs to scroll only one line when I move past the
1771 When OFF, typed text is just inserted at point. 1744 When OFF, typed text is just inserted at point.
1772 1745
1773 This mode also allows you to delete (not kill) the highlighted region by 1746 This mode also allows you to delete (not kill) the highlighted region by
1774 pressing DEL. 1747 pressing DEL.
1775 1748
1776 69: How can I edit MS-DOS-style text files using Emacs? 1749 69: How can I edit MS-DOS files using Emacs?
1777 1750
1778 As of Emacs 20, detection and handling of MS-DOS (and Windows) files is 1751 As of Emacs 20, detection and handling of MS-DOS (and Windows) files is
1779 performed transparently. You can open an MS-DOS file on a Unix system 1752 performed transparently. You can open MS-DOS files on a Unix system, edit
1780 (and vice versa), edit it, and save it without having to worry about the 1753 it, and save it without having to worry about the file format.
1781 file format. To save it with a different end-of-line convention use
1782 C-x RET c to specify a new coding system such as undecided-unix.
1783 1754
1784 When editing an MS-DOS style file, a backslash (\) will appear in the 1755 When editing an MS-DOS style file, a backslash (\) will appear in the
1785 mode line. 1756 mode line.
1786 1757
1787 You can avoid translation of the end-of-line conventions either by 1758 If you are running an earlier version of Emacs, get crypt++ from the
1788 visiting a file using M-x find-file-literally or by setting the variable 1759 Emacs Lisp Archive (see question 90). Among other things, crypt++
1789 inhibit-eol-conversion to t.
1790
1791 If you are running an earlier version of Emacs, get crypt++ from
1792 ftp://ftp.cs.umb.edu/pub/misc/crypt++.el. Among other things, crypt++
1793 transparently modifies MS-DOS files as they are loaded and saved, 1760 transparently modifies MS-DOS files as they are loaded and saved,
1794 allowing you to ignore the different conventions that Unix and MS-DOS 1761 allowing you to ignore the different conventions that Unix and MS-DOS
1795 have for delineating the end of a line. 1762 have for delineating the end of a line.
1796 1763
1797 70: How can I tell Emacs to fill paragraphs with a single space after 1764 70: How can I tell Emacs to fill paragraphs with a single space after
1800 Ulrich Mueller <ulm@vsnhd1.cern.ch> suggests adding the following two 1767 Ulrich Mueller <ulm@vsnhd1.cern.ch> suggests adding the following two
1801 lines to your .emacs file: 1768 lines to your .emacs file:
1802 1769
1803 (setq sentence-end "[.?!][]\"')}]*\\($\\|[ \t]\\)[ \t\n]*") 1770 (setq sentence-end "[.?!][]\"')}]*\\($\\|[ \t]\\)[ \t\n]*")
1804 (setq sentence-end-double-space nil) 1771 (setq sentence-end-double-space nil)
1805
1806 See "Sentences" in the online manual.
1807 1772
1808 1773
1809 Bugs/Problems 1774 Bugs/Problems
1810 1775
1811 71: Does Emacs have problems with files larger than 8 megabytes? 1776 71: Does Emacs have problems with files larger than 8 megabytes?
1841 pointers. 1806 pointers.
1842 1807
1843 72: How do I get rid of ^M or echoed commands in my shell buffer? 1808 72: How do I get rid of ^M or echoed commands in my shell buffer?
1844 1809
1845 Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them 1810 Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them
1846 go away. You might add this function to comint-output-filter-functions: 1811 go away. If that doesn't work, you have several options:
1847
1848 (add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m)
1849
1850 If that doesn't work, you have several options:
1851 1812
1852 For tcsh, put this in your .cshrc (or .tcshrc) file: 1813 For tcsh, put this in your .cshrc (or .tcshrc) file:
1853 1814
1854 if ($?EMACS) then 1815 if ($?EMACS) then
1855 if ("$EMACS" == t) then 1816 if ("$EMACS" == t) then
1898 You should also check for other programs named "env" in your path (e.g., 1859 You should also check for other programs named "env" in your path (e.g.,
1899 SunOS has a program named /usr/bin/env). We don't understand why this 1860 SunOS has a program named /usr/bin/env). We don't understand why this
1900 can cause a failure and don't know a general solution for working around 1861 can cause a failure and don't know a general solution for working around
1901 the problem in this case. 1862 the problem in this case.
1902 1863
1864 The "make clean" command will remove "env" and other vital programs, so
1865 be careful when using it.
1866
1903 It has been reported that this sometimes happened when Emacs was started 1867 It has been reported that this sometimes happened when Emacs was started
1904 as an X client from an xterm window (i.e., had a controlling tty) but the 1868 as an X client from an xterm window (i.e., had a controlling tty) but the
1905 xterm was later terminated. 1869 xterm was later terminated.
1906 1870
1907 See also etc/PROBLEMS for other possible causes of this message. 1871 See also PROBLEMS (in the top-level directory when you unpack the Emacs
1872 source) for other possible causes of this message.
1908 1873
1909 74: Where is the termcap/terminfo entry for terminal type "emacs"? 1874 74: Where is the termcap/terminfo entry for terminal type "emacs"?
1910 1875
1911 The termcap entry for terminal type "emacs" is ordinarily put in the 1876 The termcap entry for terminal type "emacs" is ordinarily put in the
1912 TERMCAP environment variable of subshells. It may help in certain 1877 TERMCAP environment variable of subshells. It may help in certain
1933 1898
1934 Your terminal (or something between your terminal and the computer) is 1899 Your terminal (or something between your terminal and the computer) is
1935 sending C-s and C-q for flow control, and Emacs is receiving these 1900 sending C-s and C-q for flow control, and Emacs is receiving these
1936 characters and interpreting them as commands. (The C-s character 1901 characters and interpreting them as commands. (The C-s character
1937 normally invokes the isearch-forward command.) For possible solutions, 1902 normally invokes the isearch-forward command.) For possible solutions,
1938 see question 121. 1903 see question 122.
1939 1904
1940 76: Why can't Emacs talk to certain hosts (or certain hostnames)? 1905 76: Why can't Emacs talk to certain hosts (or certain hostnames)?
1941 1906
1942 The problem may be that Emacs is linked with a wimpier version of 1907 The problem may be that Emacs is linked with a wimpier version of
1943 gethostbyname than the rest of the programs on the machine. This is 1908 gethostbyname than the rest of the programs on the machine. This is
1974 system-wide lisp/default.el file. For information on how to debug your 1939 system-wide lisp/default.el file. For information on how to debug your
1975 .emacs file, see question 27. 1940 .emacs file, see question 27.
1976 1941
1977 It may be the case that you need to load some package first, or use a 1942 It may be the case that you need to load some package first, or use a
1978 hook that will be evaluated after the package is loaded. A common case 1943 hook that will be evaluated after the package is loaded. A common case
1979 of this is explained in question 117. 1944 of this is explained in question 118.
1980 1945
1981 78: Why does Emacs ignore my X resources (my .Xdefaults file)? 1946 78: Why does Emacs ignore my X resources (my .Xdefaults file)?
1982 1947
1983 As of version 19, Emacs searches for X resources in the files specified 1948 As of version 19, Emacs searches for X resources in the files specified
1984 by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment 1949 by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment
2154 2119
2155 For Unix and Unix-like systems, the easiest way is often to compile it 2120 For Unix and Unix-like systems, the easiest way is often to compile it
2156 from scratch. You will need: 2121 from scratch. You will need:
2157 2122
2158 * Emacs sources. See question 92 for a list of ftp sites that make them 2123 * Emacs sources. See question 92 for a list of ftp sites that make them
2159 available. On gnudist.gnu.org, the main GNU distribution site, sources are 2124 available. On ftp.gnu.org, the main GNU distribution site, sources are
2160 available at 2125 available at
2161 2126
2162 ftp://gnudist.gnu.org/pub/gnu/emacs-20.4.tar.gz 2127 ftp://ftp.gnu.org/pub/gnu/emacs-20.3.tar.gz
2163 2128
2164 The above will obviously change as new versions of Emacs come out. For 2129 The above will obviously change as new versions of Emacs come out. For
2165 instance, when Emacs 20.5 is released, it will most probably be 2130 instance, when Emacs 20.4 is released, it will most probably be
2166 available at 2131 available at
2167 2132
2168 ftp://gnudist.gnu.org/pub/gnu/emacs-20.5.tar.gz 2133 ftp://ftp.gnu.org/pub/gnu/emacs-20.4.tar.gz
2169 2134
2170 Again, you should use one of the mirror sites in question 92 (and 2135 Again, you should use one of the mirror sites in question 92 (and
2171 adjust the URL accordingly) so as to reduce load on gnudist.gnu.org. 2136 adjust the URL accordingly) so as to reduce load on ftp.gnu.org.
2172 2137
2173 * Gzip, the GNU compression utility. You can get gzip via anonymous ftp 2138 * Gzip, the GNU compression utility. You can get gzip via anonymous ftp
2174 at mirrors of gnudist.gnu.org sites; it should compile and install without 2139 at mirrors of ftp.gnu.org sites; it should compile and install without
2175 much trouble on most systems. Once you have retrieved the Emacs 2140 much trouble on most systems. Once you have retrieved the Emacs
2176 sources, you will probably be able to uncompress them with the command 2141 sources, you will probably be able to uncompress them with the command
2177 2142
2178 gunzip --verbose emacs-20.4.tar.gz 2143 gunzip --verbose emacs-20.3.tar.gz
2179 2144
2180 changing the Emacs version (20.4), as necessary. Once gunzip has 2145 changing the Emacs version (20.3), as necessary. Once gunzip has
2181 finished doing its job, a file by the name of "emacs-20.4.tar" should 2146 finished doing its job, a file by the name of "emacs-20.3.tar" should
2182 be in your build directory. 2147 be in your build directory.
2183 2148
2184 * Tar, the "tape archiving" program, which moves multiple files into and 2149 * Tar, the "tape archiving" program, which moves multiple files into and
2185 out of archive files, or "tarfiles." All of the files comprising the 2150 out of archive files, or "tarfiles." All of the files comprising the
2186 Emacs source come in a single tarfile, and must be extracted using tar 2151 Emacs source come in a single tarfile, and must be extracted using tar
2187 before you can build Emacs. Typically, the extraction command would 2152 before you can build Emacs. Typically, the extraction command would
2188 look like 2153 look like
2189 2154
2190 tar -xvvf emacs-20.4.tar 2155 tar -xvvf emacs-20.3.tar
2191 2156
2192 The `x' indicates that we want to extract files from this tarfile, the 2157 The `x' indicates that we want to extract files from this tarfile, the
2193 two `v's force verbose output, and the `f' tells tar to use a disk 2158 two `v's force verbose output, and the `f' tells tar to use a disk
2194 file, rather than one on tape. 2159 file, rather than one on tape.
2195 2160
2196 If you're using GNU tar (available at mirrors of gnudist.gnu.org), you can 2161 If you're using GNU tar (available at mirrors of ftp.gnu.org), you can
2197 combine this step and the previous one by using the command 2162 combine this step and the previous one by using the command
2198 2163
2199 tar -zxvvf emacs-20.4.tar.gz 2164 tar -zxvvf emacs-20.3.tar.gz
2200 2165
2201 The additional `z' at the beginning of the options list tells GNU tar 2166 The additional `z' at the beginning of the options list tells GNU tar
2202 to uncompress the file with gunzip before extracting the tarfile's 2167 to uncompress the file with gunzip before extracting the tarfile's
2203 components. 2168 components.
2204 2169
2205 At this point, the Emacs sources (all 25+ megabytes of them) should be 2170 At this point, the Emacs sources (all 25+ megabytes of them) should be
2206 sitting in a directory called "emacs-20.4". On most common Unix and 2171 sitting in a directory called "emacs-20.3". On most common Unix and
2207 Unix-like systems, you should be able to compile Emacs (with X Windows 2172 Unix-like systems, you should be able to compile Emacs (with X Windows
2208 support) with the following commands: 2173 support) with the following commands:
2209 2174
2210 cd emacs-20.4 [ change directory to emacs-20.4 ] 2175 cd emacs-20.3 [ change directory to emacs-20.3 ]
2211 ./configure [ configure Emacs for your particular system ] 2176 ./configure [ configure Emacs for your particular system ]
2212 make [ use Makefile to build components, then Emacs ] 2177 make [ use Makefile to build components, then Emacs ]
2213 2178
2214 If the "make" completes successfully, the odds are fairly good that the 2179 If the "make" completes successfully, the odds are fairly good that the
2215 build has gone well. (See question 86 if you weren't successful.) 2180 build has gone well. (See question 86 if you weren't successful.)
2216 2181
2217 To install Emacs in its default directories of /usr/local/bin (binaries), 2182 To install Emacs in its default directories of /usr/local/bin (binaries),
2218 /usr/local/share/emacs/20.xx (Lisp code and support files), 2183 /usr/local/share/emacs/20.xx (Lisp code and support files), and
2219 /usr/local/libexec/CONFIGURATION/emacs/VERSION (executable files to be
2220 run by Emacs rather than users), /usr/local/man/man1 (man pages) and
2221 /usr/local/info (Info documentation), become the super-user and type 2184 /usr/local/info (Info documentation), become the super-user and type
2222 2185
2223 make install 2186 make install
2224 2187
2225 Note that "make install" will overwrite /usr/local/bin/emacs and any 2188 Note that "make install" will overwrite /usr/local/bin/emacs and any
2231 85: How do I update Emacs to the latest version? 2194 85: How do I update Emacs to the latest version?
2232 2195
2233 Follow the instructions in question 84. 2196 Follow the instructions in question 84.
2234 2197
2235 Emacs places nearly everything in version-specific directories (e.g., 2198 Emacs places nearly everything in version-specific directories (e.g.,
2236 /usr/local/share/emacs/20.4), so the only files that can be overwritten 2199 /usr/local/share/emacs/20.3), so the only files that can be overwritten
2237 when installing a new release are /usr/local/bin/emacs and the Emacs Info 2200 when installing a new release are /usr/local/bin/emacs and the Emacs Info
2238 documentation in /usr/local/info. Back up these files before you install 2201 documentation in /usr/local/info. Back up these files before you install
2239 a new release, and you shouldn't have too much trouble. 2202 a new release, and you shouldn't have too much trouble.
2240 2203
2241 86: What should I do if I have trouble building Emacs? 2204 86: What should I do if I have trouble building Emacs?
2298 First of all, you should check to make sure that the package isn't 2261 First of all, you should check to make sure that the package isn't
2299 already available. For example, typing "M-x apropos RET wordstar RET" 2262 already available. For example, typing "M-x apropos RET wordstar RET"
2300 lists all functions and variables containing the string "wordstar". 2263 lists all functions and variables containing the string "wordstar".
2301 2264
2302 It is also possible that the package is on your system, but has not been 2265 It is also possible that the package is on your system, but has not been
2303 loaded. To see which packages are available for loading, look through your 2266 loaded. To see which packages are available for loading, look through
2304 computer's lisp directory (see question 4) or use the Finder (C-h p) to 2267 your computer's lisp directory (see question 4). The Lisp source to most
2305 search under keywords. The Lisp source to most packages contains a 2268 most packages contains a short description of how they should be loaded,
2306 short description of how they should be loaded, invoked, and configured -- 2269 invoked, and configured -- so before you use or modify a Lisp package,
2307 so before you use or modify a Lisp package, see if the author has provided 2270 see if the author has provided any hints in the source code.
2308 any hints in the source code.
2309 2271
2310 If a package does not come with Emacs, check the Lisp Code Directory, 2272 If a package does not come with Emacs, check the Lisp Code Directory,
2311 maintained by Dave Brennan <brennan@hal.com>. The directory is contained 2273 maintained by Dave Brennan <brennan@hal.com>. The directory is contained
2312 in the file LCD-datafile.Z, available from the Emacs Lisp Archive (see 2274 in the file LCD-datafile.Z, available from the Emacs Lisp Archive (see
2313 question 90), and is accessed using the "lispdir" package, available from 2275 question 90), and is accessed using the "lispdir" package, available from
2318 Once you have installed lispdir.el and LCD-datafile, you can use "M-x 2280 Once you have installed lispdir.el and LCD-datafile, you can use "M-x
2319 lisp-dir-apropos" to search the listing. For example, "M-x 2281 lisp-dir-apropos" to search the listing. For example, "M-x
2320 lisp-dir-apropos RET ange-ftp RET" produces this output: 2282 lisp-dir-apropos RET ange-ftp RET" produces this output:
2321 2283
2322 GNU Emacs Lisp Code Directory Apropos -- "ange-ftp" 2284 GNU Emacs Lisp Code Directory Apropos -- "ange-ftp"
2323 "~/" refers to ftp.cs.ohio-state.edu:pub/gnu/emacs/elisp-archive/ 2285 "~/" refers to archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/
2324 2286
2325 ange-ftp (4.18) 15-Jul-1992 2287 ange-ftp (4.18) 15-Jul-1992
2326 Andy Norman, <ange@hplb.hpl.hp.com> 2288 Andy Norman, <ange@hplb.hpl.hp.com>
2327 ~/packages/ange-ftp.tar.Z 2289 ~/packages/ange-ftp.tar.Z
2328 transparent FTP Support for GNU Emacs 2290 transparent FTP Support for GNU Emacs
2355 If you find Emacs Lisp code that doesn't appear in the LCD, please submit 2317 If you find Emacs Lisp code that doesn't appear in the LCD, please submit
2356 a copy to the LCD (see question 91). 2318 a copy to the LCD (see question 91).
2357 2319
2358 You can access the Emacs Lisp Archive at the following sites: 2320 You can access the Emacs Lisp Archive at the following sites:
2359 2321
2360 ftp://ftp.cs.ohio-state.edu/pub/gnu/emacs/elisp-archive/ 2322 ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/
2361 ftp://calypso-2.oit.unc.edu/pub/gnu/elisp-archive/ 2323 ftp://calypso-2.oit.unc.edu/pub/gnu/elisp-archive/
2362 ftp://faui43.informatik.uni-erlangen.de/pub/gnu/elisp-archive/ 2324 ftp://faui43.informatik.uni-erlangen.de/pub/gnu/elisp-archive/
2363 ftp://ftp.cs.umn.edu/pub/elisp-archive/ 2325 ftp://ftp.cs.umn.edu/pub/elisp-archive/
2364 ftp://ftp.diku.dk/pub/elisp-archive/ 2326 ftp://ftp.diku.dk/pub/elisp-archive/
2365 ftp://ftp.uni-mainz.de/pub/gnu/elisp-archive/ 2327 ftp://ftp.uni-mainz.de/pub/gnu/elisp-archive/
2380 * Any files with names ending in ".Z", ".z", or ".gz" are 2342 * Any files with names ending in ".Z", ".z", or ".gz" are
2381 compressed, so you should use "binary" mode in FTP to retrieve 2343 compressed, so you should use "binary" mode in FTP to retrieve
2382 them. You should also use binary mode whenever you retrieve any 2344 them. You should also use binary mode whenever you retrieve any
2383 files with names ending in ".elc". 2345 files with names ending in ".elc".
2384 2346
2385 Note that the archive is apparently not being maintained at the time of
2386 writing; a volunteer to take on the task would be welcome.
2387
2388 Packages which have been posted to gnu.emacs.sources should be locatable
2389 via a service like Dejanews.
2390
2391 91: How do I submit code to the Emacs Lisp Archive? 2347 91: How do I submit code to the Emacs Lisp Archive?
2392 2348
2393 Guidelines and procedures for submission to the archive can be found in 2349 Guidelines and procedures for submission to the archive can be found in
2394 the file GUIDELINES in the archive directory (see question 90). It 2350 the file GUIDELINES in the archive directory (see question 90). It
2395 covers documentation, copyrights, packaging, submission, and the Lisp 2351 covers documentation, copyrights, packaging, submission, and the Lisp
2396 Code Directory Record. Anonymous FTP uploads are not permitted. 2352 Code Directory Record. Anonymous FTP uploads are not permitted.
2397 Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu. 2353 Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu.
2398 The lispdir.el package has a function named submit-lcd-entry which will 2354 The lispdir.el package has a function named submit-lcd-entry which will
2399 help you with this. 2355 help you with this.
2400 2356
2401 See question 90 regarding non-maintenance of the archive.
2402
2403 92: Where can I get other up-to-date GNU stuff? 2357 92: Where can I get other up-to-date GNU stuff?
2404 2358
2405 The most up-to-date official GNU software is normally kept on 2359 The most up-to-date official GNU software is normally kept on
2406 gnudist.gnu.org and is available at 2360 ftp.gnu.org and is available at
2407 2361
2408 ftp://gnudist.gnu.org/pub/gnu 2362 ftp://ftp.gnu.org/pub/gnu
2409 2363
2410 Read the files etc/DISTRIB and etc/FTP for more information. 2364 Read the files etc/DISTRIB and etc/FTP for more information.
2411 2365
2412 The following sites are all mirror images of the GNU distribution area: 2366 The following sites are all mirror images of the GNU distribution area:
2413 2367
2455 ftp://labrea.stanford.edu/pub/gnu, 2409 ftp://labrea.stanford.edu/pub/gnu,
2456 ftp://mrcnext.cso.uiuc.edu/pub/gnu, 2410 ftp://mrcnext.cso.uiuc.edu/pub/gnu,
2457 ftp://vixen.cso.uiuc.edu/gnu, 2411 ftp://vixen.cso.uiuc.edu/gnu,
2458 ftp://wuarchive.wustl.edu/systems/gnu 2412 ftp://wuarchive.wustl.edu/systems/gnu
2459 2413
2460 The directory at ftp.uu.net is a mirror of gnudist.gnu.org except that files 2414 The directory at ftp.uu.net is a mirror of ftp.gnu.org except that files
2461 larger than one megabyte are split into multiple parts. If you have 2415 larger than one megabyte are split into multiple parts. If you have
2462 trouble transferring large files, you should try that site. A file 2416 trouble transferring large files, you should try that site. A file
2463 normally named "XXX" is split into files XXX-split/part[0-9][0-9], and 2417 normally named "XXX" is split into files XXX-split/part[0-9][0-9], and
2464 there will be a file named XXX-split/README which contains the list of 2418 there will be a file named XXX-split/README which contains the list of
2465 parts (especially helpful when FTP-ing by e-mail), their checksums, and 2419 parts (especially helpful when FTP-ing by e-mail), their checksums, and
2466 reassembly instructions. 2420 reassembly instructions.
2467 2421
2468 93: What is the difference between Emacs and XEmacs (formerly "Lucid 2422 93: What is the difference between Emacs and XEmacs (formerly "Lucid
2469 Emacs")? 2423 Emacs")?
2470 2424
2471 XEmacs is a modified version of GNU Emacs. 2425 First of all, they're both GNU Emacs. XEmacs is just as much a later
2472 2426 version of GNU Emacs as the FSF-distributed version. This FAQ refers to
2473 This FAQ refers to the latest version to be distributed by the FSF 2427 the latest version to be distributed by the FSF as "Emacs," partly
2474 as "Emacs," partly because the XEmacs maintainers now refer to their 2428 because the XEmacs maintainers now refer to their product using the
2475 product using the "XEmacs" name, and partly because there isn't any 2429 "XEmacs" name, and partly because there isn't any accurate way to
2476 accurate way to differentiate between the two without getting mired 2430 differentiate between the two without getting mired in paragraphs of
2477 in paragraphs of legalese and history. 2431 legalese and history.
2478 2432
2479 XEmacs, which began life as Lucid Emacs, is based on an early version of 2433 XEmacs, which began life as Lucid Emacs, is based on an early version of
2480 Emacs 19 and Epoch, an X-aware version of Emacs 18. 2434 Emacs 19 and Epoch, an X-aware version of Emacs 18.
2481 2435
2482 Emacs (i.e., the version distributed by the FSF) has a larger installed 2436 Emacs (i.e., the version distributed by the FSF) has a larger installed
2483 base and now always contains the MULE multilingual facilities. XEmacs 2437 base, while XEmacs can do some clever tricks with X Windows, such as
2484 can do some clever tricks with X Windows, such as putting arbitrary 2438 putting arbitrary graphics in a buffer. Emacs and XEmacs each come with
2485 graphics in a buffer; similar facilities have been implemented for Emacs, 2439 Lisp packages that are lacking in the other; RMS says that the FSF would
2486 which will be integrated after version 20.4. Emacs and XEmacs each come 2440 include more packages that come with XEmacs, but that the XEmacs
2487 with some Lisp packages that are lacking or more up-to-date in the other; 2441 maintainers don't always keep track of the authors of contributed code,
2488 RMS says that the FSF would include more packages that come with XEmacs, 2442 which makes it impossible for the FSF to have certain legal papers
2489 but that the XEmacs maintainers don't always keep track of the authors of 2443 signed. (Without these legal papers, the FSF will not distribute Lisp
2490 contributed code, which makes it impossible for the FSF to have certain 2444 packages with Emacs.)
2491 legal papers signed. (Without these legal papers, the FSF will not 2445
2492 distribute Lisp packages with Emacs.) The two versions have some 2446 Many XEmacs features have found their way into recent versions of Emacs,
2493 significant differences at the Lisp programming level. 2447 and more features can be expected in the future, but there are still many
2448 differences between the two.
2449
2450 The latest version of XEmacs as of this writing is 20.4; you can get it
2451 at
2452
2453 ftp://ftp.xemacs.org/pub/xemacs/xemacs-20.4.tar.gz
2454
2455 More information about XEmacs, including a list of frequently asked
2456 questions (FAQ), is available at
2457
2458 http://www.xemacs.org/
2494 2459
2495 94: Where can I get Emacs for my PC running MS-DOS? 2460 94: Where can I get Emacs for my PC running MS-DOS?
2496 2461
2497 A pre-built binary distribution of Emacs is available from the Simtel 2462 A pre-built binary distribution of Emacs is available from the Simtel
2498 archives. This version works under MS-DOS and Windows (3.x, 9x, and NT) and 2463 archives. This version apparently works under MS-DOS and Windows (3.x,
2499 supports long file names under Windows 9x. More information is available 2464 95, and NT) and supports long file names. More information is availble
2500 from: 2465 from:
2501 2466
2502 ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/emacs.README 2467 ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/emacs.README
2503 2468
2504 And the binary itself is available in the files 2469 And the binary itself is available in the files
2513 Zaretskii <eliz@is.elta.co.il> and Darrel Hankerson 2478 Zaretskii <eliz@is.elta.co.il> and Darrel Hankerson
2514 <hankedr@dms.auburn.edu>, you will need the following: 2479 <hankedr@dms.auburn.edu>, you will need the following:
2515 2480
2516 Compiler: djgpp version 1.12 maint 1 or later. Djgpp 2.0 or later is 2481 Compiler: djgpp version 1.12 maint 1 or later. Djgpp 2.0 or later is
2517 recommended, since 1.x is being phased out. Djgpp 2 supports 2482 recommended, since 1.x is being phased out. Djgpp 2 supports
2518 long filenames under Windows 9x. 2483 long filenames under Windows 95.
2519 2484
2520 You can get the latest release of djgpp by retrieving 2485 You can get the latest release of djgpp by retrieving
2521 all of the files in 2486 all of the files in
2522 2487
2523 ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp 2488 ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp
2537 2502
2538 16-bit utilities can be found in GNUish: 2503 16-bit utilities can be found in GNUish:
2539 2504
2540 ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish 2505 ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish
2541 2506
2542 The files INSTALL and etc/PROBLEMS in the Emacs source contains some 2507 The files INSTALL and PROBLEMS in the top-level directory of the Emacs
2543 additional information regarding Emacs under MS-DOS. 2508 source contains some additional information regarding Emacs under MS-DOS.
2544 2509
2545 For a list of other MS-DOS implementations of Emacs (and Emacs 2510 For a list of other MS-DOS implementations of Emacs (and Emacs
2546 look-alikes), consult the list of "Emacs implementations and literature," 2511 look-alikes), consult the list of "Emacs implementations and literature,"
2547 available at 2512 available at
2548 2513
2549 ftp://rtfm.mit.edu/pub/usenet/comp.emacs/ 2514 ftp://rtfm.mit.edu/pub/usenet/comp.emacs/
2550 2515
2551 Note that while many of these programs look similar to Emacs, they often 2516 Note that while many of these programs look similar to Emacs, they often
2552 lack certain features, particularly as the Emacs Lisp extension language. 2517 lack certain features, such as the Emacs Lisp extension language.
2553 2518
2554 95: Where can I get Emacs for Microsoft Windows, Windows 9x, or Windows 2519 95: Where can I get Emacs for Microsoft Windows, Windows '95, or Windows
2555 NT? 2520 NT?
2556 2521
2557 GNU Emacs has been fully ported to Windows NT and Windows 95/98. 2522 For information on Emacs for Windows 95 and NT, read the FAQ produced by
2558 If you have MSVC 4.0 or greater, then you can compile GNU Emacs 2523 Geoff Voelker <voelker@cs.washington.edu>, available at
2559 directly from the source distribution. First read the file
2560 nt/README, and then the file nt/INSTALL, for step by step
2561 instructions on how to compile and install GNU Emacs on your system.
2562
2563 You can also download precompiled distributions of GNU Emacs from:
2564
2565 ftp://ftp.cs.washington.edu/pub/ntemacs
2566
2567 If you need the gunzip and tar utilities for unpacking distributions,
2568 you can download precompiled versions from:
2569
2570 ftp://ftp.cs.washington.edu/pub/ntemacs/utilities
2571
2572 For more information on configuring your favorite package to run with
2573 GNU Emacs on Windows NT/95/98, see the following FAQ:
2574 2524
2575 http://www.cs.washington.edu/homes/voelker/ntemacs.html 2525 http://www.cs.washington.edu/homes/voelker/ntemacs.html
2576 ftp://ftp.cs.washington.edu/pub/ntemacs/docs/ntemacs.html 2526
2577 2527 For Windows 3.1, see question 94.
2578 If you are running Windows 3.11, and if you compile GNU Emacs for MSDOS
2579 with the tools listed in the previous question, it will run under
2580 Microsoft Windows in a DOS box.
2581 2528
2582 96: Where can I get Emacs for my PC running OS/2? 2529 96: Where can I get Emacs for my PC running OS/2?
2583 2530
2584 Emacs 19.33 is ported for emx on OS/2 2.0 or 2.1, and is available at: 2531 Emacs 19.33 is ported for emx on OS/2 2.0 or 2.1, and is available at:
2585 2532
2609 menus, and multiple frames. You can get it from 2556 menus, and multiple frames. You can get it from
2610 2557
2611 ftp://next-ftp.peak.org/pub/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz 2558 ftp://next-ftp.peak.org/pub/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz
2612 2559
2613 100: Where can I get Emacs for my Apple computer? 2560 100: Where can I get Emacs for my Apple computer?
2614
2615
2616 There used to be a boycott of Apple because of its "look and feel"
2617 lawsuit. The lawsuit failed, and the boycott is over.
2618 Currently the GNU project treats Apple like other computer companies.
2619
2620 Since the Mac operating system is very different from Unix and GNU,
2621 support for it would be a big job. And this job would be tangential
2622 to the GNU project's goals. Meanwhile, we don't have the resources
2623 to do all we want to do on supporting Emacs for GNU-like systems.
2624 So if we had to do work on support for the Macintosh, that would
2625 directly harm the GNU project.
2626
2627 Of course, the same is true for MSDOS and Windows NT. We decided to
2628 incorporate support for those systems because the code was very modular,
2629 because volunteers not only wrote all the code but also investigate
2630 all the bugs reported on those systems, and because we hoped that we
2631 will be able to raise funds for GNU using these versions, and in this
2632 way these ports will make up for the effort that they took. (We still
2633 hope so, but it has not happened yet.)
2634 2561
2635 An unofficial port of GNU Emacs 18.59 to the Macintosh is available at a 2562 An unofficial port of GNU Emacs 18.59 to the Macintosh is available at a
2636 number of ftp sites, the home being 2563 number of ftp sites, the home being
2637 2564
2638 ftp://ftp.cs.cornell.edu/pub/parmet/Emacs-1.17.sit.bin 2565 ftp://ftp.cs.cornell.edu/pub/parmet/Emacs-1.17.sit.bin
2668 2595
2669 103: What is the IP address of XXX.YYY.ZZZ? 2596 103: What is the IP address of XXX.YYY.ZZZ?
2670 2597
2671 If you are on a Unix machine, try using the "nslookup" command, included 2598 If you are on a Unix machine, try using the "nslookup" command, included
2672 in the Berkeley BIND package. For example, to find the IP address of 2599 in the Berkeley BIND package. For example, to find the IP address of
2673 "gnudist.gnu.org", you would type 2600 "ftp.gnu.org", you would type
2674 2601
2675 nslookup gnudist.gnu.org 2602 nslookup ftp.gnu.org
2676 2603
2677 Your computer should then provide the IP address of that computer. 2604 Your computer should then provide the IP address of that computer.
2678 2605
2679 If your site's nameserver is deficient, you can use IP addresses to FTP 2606 If your site's nameserver is deficient, you can use IP addresses to FTP
2680 files. You can get this information by 2607 files. You can get this information by
2709 bug-vm@uunet.uu.net (for submissions) 2636 bug-vm@uunet.uu.net (for submissions)
2710 NOTE: VM 6 is not guaranteed to work under Emacs 20 (although many people 2637 NOTE: VM 6 is not guaranteed to work under Emacs 20 (although many people
2711 seem to use it without too much trouble). Users of Emacs 20 might prefer 2638 seem to use it without too much trouble). Users of Emacs 20 might prefer
2712 to use VM 5.97, available from the same FTP site. 2639 to use VM 5.97, available from the same FTP site.
2713 2640
2714 105: SuperCite -- mail and news citation package within Emacs 2641 105: Supercite -- mail and news citation package within Emacs
2715 2642
2716 Author: Barry Warsaw <bwarsaw@cen.com> 2643 Author: Barry Warsaw <bwarsaw@cen.com>
2717 Latest version: 3.1 (comes with Emacs 20) 2644 Latest version: 3.1 (comes with Emacs 20)
2718 Anonymous FTP: 2645
2719 ftp://ftp.python.org/pub/emacs/sc3.1.tar.gz 2646 World Wide Web:
2647 http://www.python.org/emacs/supercite.tar.gz
2720 Mailing list: 2648 Mailing list:
2721 supercite-request@merlin.cnri.reston.va.us (for subscriptions) 2649 supercite-request@python.org (for subscriptions)
2722 supercite@merlin.cnri.reston.va.us (for submissions) 2650 supercite@python.org (for submissions)
2723 NOTE: Superyank is an old version of SuperCite. 2651 NOTE: Superyank is an old version of Supercite.
2724 2652
2725 106: Calc -- poor man's Mathematica within Emacs 2653 106: Calc -- poor man's Mathematica within Emacs
2726 2654
2727 Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> 2655 Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
2728 Latest version: 2.02f 2656 Latest version: 2.02f
2729 Anonymous FTP: 2657 Anonymous FTP:
2730 ftp://gnudist.gnu.org/pub/gnu/calc-2.02f.tar.gz 2658 ftp://ftp.gnu.org/pub/gnu/calc-2.02f.tar.gz
2731 NOTE: Unlike Wolfram Research, Dave has never threatened to sue 2659 NOTE: Unlike Wolfram Research, Dave has never threatened to sue
2732 anyone for having a program with a similar command language to 2660 anyone for having a program with a similar command language to
2733 Calc. :-) 2661 Calc. :-)
2734 2662
2735 107: VIPER -- vi emulation for Emacs 2663 107: VIPER -- vi emulation for Emacs
2744 better than the one distributed with Emacs: 2672 better than the one distributed with Emacs:
2745 2673
2746 Author: Aamod Sane <sane@cs.uiuc.edu> 2674 Author: Aamod Sane <sane@cs.uiuc.edu>
2747 Latest version: 4.3 2675 Latest version: 4.3
2748 Anonymous FTP: 2676 Anonymous FTP:
2749 ftp://ftp.cs.ohio-state.edu/pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z 2677 ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z
2750 2678
2751 108: AUC TeX -- enhanced LaTeX mode with debugging facilities 2679 108: AUC TeX -- enhanced LaTeX mode with debugging facilities
2752 2680
2753 Authors: Kresten Krab Thorup <krab@iesd.auc.dk> 2681 Authors: Kresten Krab Thorup <krab@iesd.auc.dk>
2754 and Per Abrahamsen <abraham@iesd.auc.dk> 2682 and Per Abrahamsen <abraham@iesd.auc.dk>
2813 113: Mailcrypt -- PGP interface within Emacs mail and news 2741 113: Mailcrypt -- PGP interface within Emacs mail and news
2814 2742
2815 Authors: Patrick J. LoPresti <patl@lcs.mit.edu> and 2743 Authors: Patrick J. LoPresti <patl@lcs.mit.edu> and
2816 Jin S. Choi <jin@atype.com> 2744 Jin S. Choi <jin@atype.com>
2817 Maintainer: Len Budney <lbudney@pobox.com> 2745 Maintainer: Len Budney <lbudney@pobox.com>
2818 Latest version: 3.5b6 2746 Latest version: 3.4
2819 Anonymous FTP: 2747 Anonymous FTP:
2820 http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5b6.tar.gz 2748 http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5b6.tar.gz
2821 World Wide Web: 2749 World Wide Web:
2822 http://www.nb.net/~lbudney/linux/software/mailcrypt.html 2750 http://www.nb.net/~lbudney/linux/software/mailcrypt.html
2823 2751
2824 114: Patch -- program to apply "diffs" for updating files 2752 114: JDE -- Development environment for Java programming
2753
2754 Author: Paul Kinnucan <paulk@mathworks.com>
2755 Mailing list: jde-subscribe@sunsite.auc.dk
2756 Latest version: 2.1.1
2757 World Wide Web: http://sunsite.auc.dk/jde/
2758
2759 115: Patch -- program to apply "diffs" for updating files
2825 2760
2826 Author: Larry Wall <lwall@wall.org> (with GNU modifications) 2761 Author: Larry Wall <lwall@wall.org> (with GNU modifications)
2827 Latest version: 2.5 2762 Latest version: 2.5
2828 Anonymous FTP: See question 92 2763 Anonymous FTP: See question 92
2829 2764
2830 2765
2831 Changing Key Bindings and Handling Key Binding Problems 2766 Changing Key Bindings and Handling Key Binding Problems
2832 2767
2833 115: How do I bind keys (including function keys) to commands? 2768 116: How do I bind keys (including function keys) to commands?
2834 2769
2835 Keys can be bound to commands either interactively or in your .emacs 2770 Keys can be bound to commands either interactively or in your .emacs
2836 file. To interactively bind keys for all modes, type 2771 file. To interactively bind keys for all modes, type
2837 2772
2838 M-x global-set-key RET KEY CMD RET 2773 M-x global-set-key RET KEY CMD RET
2847 following "trick": First bind the key interactively, then immediately 2782 following "trick": First bind the key interactively, then immediately
2848 type "C-x ESC ESC C-a C-k C-g". Now, the command needed to bind the key 2783 type "C-x ESC ESC C-a C-k C-g". Now, the command needed to bind the key
2849 is in the kill ring, and can be yanked into your .emacs file. If the key 2784 is in the kill ring, and can be yanked into your .emacs file. If the key
2850 binding is global, no changes to the command are required. For example, 2785 binding is global, no changes to the command are required. For example,
2851 2786
2852 (global-set-key [f1] 'help-for-help) 2787 (global-set-key (quote [f1]) (quote help-for-help))
2853 2788
2854 can be placed directly into the .emacs file. If the key binding is 2789 can be placed directly into the .emacs file. If the key binding is
2855 local, the command is used in conjunction with the "add-hook" command. 2790 local, the command is used in conjunction with the "add-hook" command.
2856 For example, in tex-mode, a local binding might be 2791 For example, in tex-mode, a local binding might be
2857 2792
2858 (add-hook 'tex-mode-hook 2793 (add-hook 'tex-mode-hook
2859 (lambda () 2794 (function (lambda ()
2860 (local-set-key [f1] 'help-for-help))) 2795 (local-set-key (quote [f1]) (quote help-for-help))))
2861 2796
2862 NOTE: * Control characters in key sequences, in the form yanked from the 2797 NOTE: * Control characters in key sequences, in the form yanked from the
2863 kill ring are given in their graphic form -- i.e., CTRL is shown 2798 kill ring are given in their graphic form -- i.e., CTRL is shown
2864 as `^', TAB as a set of spaces (usually 8), etc. You may want to 2799 as `^', TAB as a set of spaces (usually 8), etc. You may want to
2865 convert these into their vector or string forms. 2800 convert these into their vector or string forms.
2875 can be bound to a key and thus treated as a macro. For example: 2810 can be bound to a key and thus treated as a macro. For example:
2876 2811
2877 (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or 2812 (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or
2878 (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g") 2813 (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g")
2879 2814
2880 * The "kbd" macro is convenient for converting a key description in 2815 117: Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
2881 the form used in documentation or printed by C-h c (except that
2882 function key symbols must be enclosed in angle brackets). For
2883 example:
2884
2885 (global-set-key (kbd "<f1>") 'help-for-help)
2886 (global-set-key (kbd "C-h") 'help-for-help)
2887 (local-set-key (kbd "DEL") 'scroll-down)
2888
2889 116: Why does Emacs say "Key sequence XXX uses invalid prefix characters"?
2890 2816
2891 Usually, one of two things has happened. In one case, the control 2817 Usually, one of two things has happened. In one case, the control
2892 character in the key sequence has been misspecified (e.g. "C-f" used 2818 character in the key sequence has been misspecified (e.g. "C-f" used
2893 instead of "\C-f" within a Lisp expression). In the other case, a 2819 instead of "\C-f" within a Lisp expression). In the other case, a
2894 "prefix key" in the keystroke sequence you were trying to bind was 2820 "prefix key" in the keystroke sequence you were trying to bind was
2897 forms before attempting to bind the key sequence: 2823 forms before attempting to bind the key sequence:
2898 2824
2899 (global-unset-key [?\e ?[]) ;; or 2825 (global-unset-key [?\e ?[]) ;; or
2900 (global-unset-key "\e[") 2826 (global-unset-key "\e[")
2901 2827
2902 117: Why doesn't this [terminal or window-system setup] code work in my 2828 118: Why doesn't this [terminal or window-system setup] code work in my
2903 .emacs file, but it works just fine after Emacs starts up? 2829 .emacs file, but it works just fine after Emacs starts up?
2904 2830
2905 During startup, Emacs initializes itself according to a given code/file 2831 During startup, Emacs initializes itself according to a given code/file
2906 order. If some of the code executed in your .emacs file needs to be 2832 order. If some of the code executed in your .emacs file needs to be
2907 postponed until the initial terminal or window-system setup code has been 2833 postponed until the initial terminal or window-system setup code has been
2919 (cond ((string-match "\\`vt220" (or (getenv "TERM") "")) 2845 (cond ((string-match "\\`vt220" (or (getenv "TERM") ""))
2920 ;; Make vt220's "Do" key behave like M-x: 2846 ;; Make vt220's "Do" key behave like M-x:
2921 (global-set-key [do] 'execute-extended-command)) 2847 (global-set-key [do] 'execute-extended-command))
2922 )))) 2848 ))))
2923 2849
2924 For information on what Emacs does every time it is started, see 2850 For information on what Emacs does every time it is started, see the
2925 "Starting Up Emacs" in the Lisp Reference Manual. 2851 lisp/startup.el file.
2926 2852
2927 118: How do I use function keys under X Windows? 2853 119: How do I use function keys under X Windows?
2928 2854
2929 With Emacs 19, functions keys under X are bound like any other key. See 2855 With Emacs 19, functions keys under X are bound like any other key. See
2930 question 115 for details. 2856 question 116 for details.
2931 2857
2932 119: How do I tell what characters or symbols my function or arrow keys 2858 120: How do I tell what characters or symbols my function or arrow keys
2933 emit? 2859 emit?
2934 2860
2935 Type "C-h c" then the function or arrow keys. The command will return 2861 Type "C-h c" then the function or arrow keys. The command will return
2936 either a function key symbol or character sequence (see the Emacs on-line 2862 either a function key symbol or character sequence (see the Emacs on-line
2937 documentation for an explanation). This works for other keys as well. 2863 documentation for an explanation). This works for other keys as well.
2938 2864
2939 120: How do I set the X key "translations" for Emacs? 2865 121: How do I set the X key "translations" for Emacs?
2940 2866
2941 Emacs is not written using the Xt library by default, so there are no 2867 Emacs is not written using the Xt library by default, so there are no
2942 "translations" to be set. (We aren't sure how to set such translations 2868 "translations" to be set. (We aren't sure how to set such translations
2943 if you do build Emacs with Xt; please let us know if you've done this!) 2869 if you do build Emacs with Xt; please let us know if you've done this!)
2944 2870
2949 2875
2950 (define-key function-key-map [M-tab] [?\M-\t]) 2876 (define-key function-key-map [M-tab] [?\M-\t])
2951 2877
2952 defines the "M-TAB" key sequence. 2878 defines the "M-TAB" key sequence.
2953 2879
2954 121: How do I handle C-s and C-q being used for flow control? 2880 122: How do I handle C-s and C-q being used for flow control?
2955 2881
2956 C-s and C-q are used in the XON/XOFF flow control protocol. This messes 2882 C-s and C-q are used in the XON/XOFF flow control protocol. This messes
2957 things up when you're using Emacs, because Emacs binds these keys to 2883 things up when you're using Emacs, because Emacs binds these keys to
2958 commands by default. Because Emacs won't honor them as flow control 2884 commands by default. Because Emacs won't honor them as flow control
2959 characters, too many of these characters are not passed on and overwhelm 2885 characters, too many of these characters are not passed on and overwhelm
3045 (unless they're smart enough to move it to another name). 2971 (unless they're smart enough to move it to another name).
3046 2972
3047 For further discussion of this issue, read the file PROBLEMS (in the 2973 For further discussion of this issue, read the file PROBLEMS (in the
3048 top-level directory when you unpack the Emacs source). 2974 top-level directory when you unpack the Emacs source).
3049 2975
3050 122: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered 2976 123: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered
3051 out? 2977 out?
3052 2978
3053 To bind `C-s' and `C-q', use either "enable-flow-control" or 2979 To bind `C-s' and `C-q', use either "enable-flow-control" or
3054 "enable-flow-control-on". See question 121 for usage and implementation 2980 "enable-flow-control-on". See question 122 for usage and implementation
3055 details. 2981 details.
3056 2982
3057 To bind other keys, use "keyboard-translate". See question 125 for usage 2983 To bind other keys, use "keyboard-translate". See question 126 for usage
3058 details. To do this for an entire site, you should swap the keys in 2984 details. To do this for an entire site, you should swap the keys in
3059 lisp/site-start.el. See question 121 for an explanation of why 2985 lisp/site-start.el. See question 122 for an explanation of why
3060 lisp/default.el should not be used. 2986 lisp/default.el should not be used.
3061 2987
3062 NOTE: * If you do this for an entire site, the users will be confused by 2988 NOTE: * If you do this for an entire site, the users will be confused by
3063 the disparity between what the documentation says and how Emacs 2989 the disparity between what the documentation says and how Emacs
3064 actually behaves. 2990 actually behaves.
3065 2991
3066 123: Why does the "Backspace" key invoke help? 2992 124: Why does the "Backspace" key invoke help?
3067 2993
3068 The "Backspace" key (on most keyboards) generates ASCII code 8. `C-h' 2994 The "Backspace" key (on most keyboards) generates ASCII code 8. `C-h'
3069 sends the same code. In Emacs by default `C-h' invokes help-command. 2995 sends the same code. In Emacs by default `C-h' invokes help-command.
3070 This is intended to be easy to remember since the first letter of "help" 2996 This is intended to be easy to remember since the first letter of "help"
3071 is `h'. The easiest solution to this problem is to use `C-h' (and 2997 is `h'. The easiest solution to this problem is to use `C-h' (and
3095 * Under X or on a dumb terminal, it is possible to swap the Backspace and 3021 * Under X or on a dumb terminal, it is possible to swap the Backspace and
3096 Delete keys inside Emacs: 3022 Delete keys inside Emacs:
3097 3023
3098 (keyboard-translate ?\C-h ?\C-?) 3024 (keyboard-translate ?\C-h ?\C-?)
3099 3025
3100 See question 125 for further details of "keyboard-translate". 3026 See question 126 for further details of "keyboard-translate".
3101 3027
3102 * Another approach is to switch key bindings and put help on "C-x h" 3028 * Another approach is to switch key bindings and put help on "C-x h"
3103 instead: 3029 instead:
3104 3030
3105 (global-set-key "\C-h" 'delete-backward-char) 3031 (global-set-key "\C-h" 'delete-backward-char)
3108 Other popular key bindings for help are M-? and "C-x ?". 3034 Other popular key bindings for help are M-? and "C-x ?".
3109 3035
3110 NOTE: * Don't try to bind DEL to help-command, because there are many 3036 NOTE: * Don't try to bind DEL to help-command, because there are many
3111 modes that have local bindings of DEL that will interfere. 3037 modes that have local bindings of DEL that will interfere.
3112 3038
3113 124: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? 3039 125: Why doesn't Emacs look at the stty settings for Backspace vs. Delete?
3114 3040
3115 Good question! 3041 Good question!
3116 3042
3117 125: How do I "swap" two keys? 3043 126: How do I "swap" two keys?
3118 3044
3119 In Emacs 19, you can swap two keys (or key sequences) by using the 3045 In Emacs 19, you can swap two keys (or key sequences) by using the
3120 "keyboard-translate" function. For example, to turn `C-h' into DEL and 3046 "keyboard-translate" function. For example, to turn `C-h' into DEL and
3121 DEL to `C-h', use 3047 DEL to `C-h', use
3122 3048
3134 up in keymaps contain the characters that result from keyboard 3060 up in keymaps contain the characters that result from keyboard
3135 translation. 3061 translation.
3136 3062
3137 Also see "Keyboard Translations" in the on-line manual. 3063 Also see "Keyboard Translations" in the on-line manual.
3138 3064
3139 126: How do I produce C-XXX with my keyboard? 3065 127: How do I produce C-XXX with my keyboard?
3140 3066
3141 On terminals (but not under X), some common "aliases" are: 3067 On terminals (but not under X), some common "aliases" are:
3142 3068
3143 C-2 or C-SPC for C-@ 3069 C-2 or C-SPC for C-@
3144 C-6 for C-^ 3070 C-6 for C-^
3149 3075
3150 Often other aliases exist; use the "C-h c" command and try `CTRL' with 3076 Often other aliases exist; use the "C-h c" command and try `CTRL' with
3151 all of the digits on your keyboard to see what gets generated. You can 3077 all of the digits on your keyboard to see what gets generated. You can
3152 also try the "C-h w" command if you know the name of the command. 3078 also try the "C-h w" command if you know the name of the command.
3153 3079
3154 127: What if I don't have a Meta key? 3080 128: What if I don't have a Meta key?
3155 3081
3156 Instead of typing "M-a", you can type "ESC a". In fact, Emacs converts 3082 Instead of typing "M-a", you can type "ESC a". In fact, Emacs converts
3157 M-a internally into "ESC a" anyway (depending on the value of 3083 M-a internally into "ESC a" anyway (depending on the value of
3158 meta-prefix-char). Note that you press "Meta" and `a' together, while 3084 meta-prefix-char). Note that you press "Meta" and `a' together, while
3159 you press `ESC', release it, and then press `a'. 3085 you press `ESC', release it, and then press `a'.
3160 3086
3161 128: What if I don't have an Escape key? 3087 129: What if I don't have an Escape key?
3162 3088
3163 Type `C-[' instead. This should send ASCII code 27 just like an Escape 3089 Type `C-[' instead. This should send ASCII code 27 just like an Escape
3164 key would. `C-3' may also work on some terminal (but not under X). For 3090 key would. `C-3' may also work on some terminal (but not under X). For
3165 many terminals (notably DEC terminals) `F11' generates ESC. If not, the 3091 many terminals (notably DEC terminals) `F11' generates ESC. If not, the
3166 following form can be used to bind it: 3092 following form can be used to bind it:
3167 3093
3168 (define-key function-key-map [f11] [?\e]) ; F11 is the documented ESC 3094 (define-key function-key-map [f11] [?\e]) ; F11 is the documented ESC
3169 ; replacement on DEC terminals. 3095 ; replacement on DEC terminals.
3170 3096
3171 129: Can I make my "Compose Character" key behave like a Meta key? 3097 130: Can I make my "Compose Character" key behave like a Meta key?
3172 3098
3173 On a dumb terminal such as a VT220, no. It is rumored that certain VT220 3099 On a dumb terminal such as a VT220, no. It is rumored that certain VT220
3174 clones could have their Compose key configured this way. If you're using 3100 clones could have their Compose key configured this way. If you're using
3175 X, you might be able to do this with the "xmodmap" program. 3101 X, you might be able to do this with the "xmodmap" program.
3176 3102
3177 130: How do I bind a combination of modifier key and function key? 3103 131: How do I bind a combination of modifier key and function key?
3178 3104
3179 With Emacs 19 you can represent modified function keys in vector format 3105 With Emacs 19 you can represent modified function keys in vector format
3180 by adding prefixes to the function key symbol. For example (from the 3106 by adding prefixes to the function key symbol. For example (from the
3181 on-line documentation): 3107 on-line documentation):
3182 3108
3189 "C-", "M-", "H-", "s-", "A-", and "S-" to the symbol name. Here is how 3115 "C-", "M-", "H-", "s-", "A-", and "S-" to the symbol name. Here is how
3190 to make "Hyper-Meta-RIGHT" move forward a word: 3116 to make "Hyper-Meta-RIGHT" move forward a word:
3191 3117
3192 (global-set-key [H-M-right] 'forward-word) 3118 (global-set-key [H-M-right] 'forward-word)
3193 3119
3194 In recent Emacs versions this may also be written as:
3195
3196 (global-set-key [(hyper meta right)] 'forward-word)
3197
3198 NOTE: * Not all modifiers are permitted in all situations. Hyper, Super, 3120 NOTE: * Not all modifiers are permitted in all situations. Hyper, Super,
3199 and Alt are available only under X (provided there are such 3121 and Alt are available only under X (provided there are such
3200 keys). Non-ASCII keys and mouse events (e.g. "C-=" and 3122 keys). Non-ASCII keys and mouse events (e.g. "C-=" and
3201 "mouse-1") also fall under this category. 3123 "mouse-1") also fall under this category.
3202 3124
3203 See question 115 for general key binding instructions. 3125 See question 116 for general key binding instructions.
3204 3126
3205 131: Why doesn't my Meta key work in an xterm window? 3127 132: Why doesn't my Meta key work in an xterm window?
3206 3128
3207 Try all of these methods before asking for further help: 3129 Try all of these methods before asking for further help:
3208 3130
3209 * You may have big problems using "mwm" as your window manager. {Does 3131 * You may have big problems using "mwm" as your window manager. {Does
3210 anyone know a good generic solution to allow the use of the Meta key in 3132 anyone know a good generic solution to allow the use of the Meta key in
3239 XTerm.VT100.Translations: #override \ 3161 XTerm.VT100.Translations: #override \
3240 Meta<KeyPress>: string(0x1b) insert() 3162 Meta<KeyPress>: string(0x1b) insert()
3241 3163
3242 You might have to replace "Meta" with "Alt". 3164 You might have to replace "Meta" with "Alt".
3243 3165
3244 132: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0 3166 133: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0
3245 and 9.x? 3167 and 9.x?
3246 3168
3247 This is a result of an internationalization extension in X11R4 and the 3169 This is a result of an internationalization extension in X11R4 and the
3248 fact that HP is now using this extension. Emacs assumes that 3170 fact that HP is now using this extension. Emacs assumes that
3249 XLookupString returns the same result regardless of the Meta key state 3171 XLookupString returns the same result regardless of the Meta key state
3257 may be undesirable if you actually intend to use them. 3179 may be undesirable if you actually intend to use them.
3258 3180
3259 3181
3260 Using Emacs with Alternate Character Sets 3182 Using Emacs with Alternate Character Sets
3261 3183
3262 133: How do I make Emacs display 8-bit characters? 3184 134: How do I make Emacs display 8-bit characters?
3263 3185
3264 Emacs 19 introduced built-in support for 8-bit characters. Emacs 20 can 3186 Emacs 19 has built-in support for 8-bit characters. Here is an excerpt
3265 operate similarly in Unibyte mode or else in Multibyte mode. See the 3187 from the "European Display" page of the on-line manual:
3266 "International" node in the online manual, specifically "Single-Byte 3188
3267 European Support". 3189 Some European languages use accented letters and other special symbols.
3268 3190 The ISO 8859 Latin-1 character set defines character codes for many
3269 134: How do I input 8-bit characters? 3191 European languages in the range 160 to 255.
3270 3192
3271 Again, see the "International" node of the on-line manual. 3193 Emacs can display those characters according to Latin-1, provided the
3272 3194 terminal or font in use supports them. The "M-x
3273 135: Where can I get an Emacs that handles kanji, Chinese, or other 3195 standard-display-european" command toggles European character display
3196 mode. With a numeric argument, "M-x standard-display-european" enables
3197 European character display if and only if the argument is positive.
3198
3199 Some operating systems let you specify the language you are using by
3200 setting a locale. Emacs handles one common special case of this: if
3201 your locale name for character types contains the string "8859-1" or
3202 "88591", Emacs automatically enables European character display mode
3203 when it starts up.
3204
3205 135: How do I input 8-bit characters?
3206
3207 Again, from the "European Display" page of the on-line manual:
3208
3209 If you enter non-ASCII ISO Latin-1 characters often, you might find ISO
3210 Accents mode convenient. When this minor mode is enabled, the
3211 characters ``', `'', `"', `^', `/' and `~' modify the following letter
3212 by adding the corresponding diacritical mark to it, if possible. To
3213 enable or disable ISO Accents mode, use the command "M-x
3214 iso-accents-mode". This command affects only the current buffer.
3215
3216 To enter one of those six special characters, type the character,
3217 followed by a space. Some of those characters have a corresponding
3218 "dead key" accent character in the ISO Latin-1 character set; to enter
3219 that character, type the corresponding ASCII character twice. For
3220 example, `''' enters the Latin-1 character acute-accent (character code
3221 0264).
3222
3223 136: Where can I get an Emacs that handles kanji, Chinese, or other
3274 character sets? 3224 character sets?
3275 3225
3276 Emacs 20 now includes many of the features of MULE, the Multilingual 3226 Emacs 20 now includes many of the features of MULE, the Multilingual
3277 Enhancement of Emacs. See question 84 for information on where to find 3227 Enhancement of Emacs. See question 84 for information on where to find
3278 and download Emacs. 3228 and download Emacs.
3279 3229
3280 The original MULE is available at 3230 The original MULE is available at
3281 3231
3282 ftp://sh.wide.ad.jp/JAPAN/mule/mule-19.33-delta.tar.gz 3232 ftp://sh.wide.ad.jp/JAPAN/mule/mule-19.33-delta.tar.gz
3283 3233
3284 136: Where is an Emacs that can handle Semitic (right-to-left) alphabets? 3234 137: Where is an Emacs that can handle Semitic (right-to-left) alphabets?
3285 3235
3286 Emacs 20 supports Hebrew characters (ISO 8859-8), but does not yet 3236 Emacs 20 supports Hebrew characters (ISO 8859-8), but does not yet
3287 support right-to-left character entry. 3237 support right-to-left character entry.
3288 3238
3289 Joel M. Hoffman <joel@exc.com> has written a Lisp package called 3239 Joel M. Hoffman <joel@exc.com> has written a Lisp package called
3298 ftp sites in Israel may also have the necessary files. 3248 ftp sites in Israel may also have the necessary files.
3299 3249
3300 3250
3301 Mail and News 3251 Mail and News
3302 3252
3303 137: How do I change the included text prefix in mail/news followups? 3253 138: How do I change the included text prefix in mail/news followups?
3304 3254
3305 If you read mail with Rmail or news with Gnus, set the variable 3255 If you read mail with Rmail or news with Gnus, set the variable
3306 mail-yank-prefix. For VM, set vm-included-text-prefix. For mh-e, set 3256 mail-yank-prefix. For VM, set vm-included-text-prefix. For mh-e, set
3307 mh-ins-buf-prefix. 3257 mh-ins-buf-prefix.
3308 3258
3309 For fancier control of citations, use SuperCite. See question 105. 3259 For fancier control of citations, use Supercite. See question 105.
3310 3260
3311 To prevent Emacs from including various headers of the replied-to 3261 To prevent Emacs from including various headers of the replied-to
3312 message, set the value of mail-yank-ignored-headers to an appropriate 3262 message, set the value of mail-yank-ignored-headers to an appropriate
3313 regexp. 3263 regexp.
3314 3264
3315 138: How do I save a copy of outgoing mail? 3265 139: How do I save a copy of outgoing mail?
3316 3266
3317 You can either mail yourself a copy by including a "BCC:" header in the 3267 You can either mail yourself a copy by including a "BCC:" header in the
3318 mail message, or store a copy of the message directly to a file by 3268 mail message, or store a copy of the message directly to a file by
3319 including an "FCC:" header. 3269 including an "FCC:" header.
3320 3270
3327 putting something like the following in your .emacs file: 3277 putting something like the following in your .emacs file:
3328 3278
3329 (setq mail-archive-file-name (expand-file-name "~/outgoing")) 3279 (setq mail-archive-file-name (expand-file-name "~/outgoing"))
3330 3280
3331 The output file will be in Unix mail format, which can be read directly 3281 The output file will be in Unix mail format, which can be read directly
3332 by VM, but not always by Rmail. See question 140. 3282 by VM, but not always by Rmail. See question 141.
3333
3334 For Gnus, see the `Archived Messages node of the Gnus manual.
3335 3283
3336 If you use mh-e, add an "FCC:" or "BCC:" field to your components file. 3284 If you use mh-e, add an "FCC:" or "BCC:" field to your components file.
3337 3285
3338 It does not work to put "set record filename" in the .mailrc file. 3286 It does not work to put "set record filename" in the .mailrc file.
3339 3287
3340 139: Why doesn't Emacs expand my aliases when sending mail? 3288 140: Why doesn't Emacs expand my aliases when sending mail?
3341 3289
3342 * You must separate multiple addresses in the headers of the mail buffer 3290 * You must separate multiple addresses in the headers of the mail buffer
3343 with commas. This is because Emacs supports RFC822 standard addresses 3291 with commas. This is because Emacs supports RFC822 standard addresses
3344 like this one: 3292 like this one:
3345 3293
3362 Note that the aliases are expanded automatically only after you type 3310 Note that the aliases are expanded automatically only after you type
3363 RET or a punctuation character (e.g. `,'). You can force their 3311 RET or a punctuation character (e.g. `,'). You can force their
3364 expansion by moving point to the end of the alias and typing "C-x a e" 3312 expansion by moving point to the end of the alias and typing "C-x a e"
3365 (M-x expand-abbrev). 3313 (M-x expand-abbrev).
3366 3314
3367 140: Why does Rmail think all my saved messages are one big message? 3315 141: Why does Rmail think all my saved messages are one big message?
3368 3316
3369 A file created through the FCC: field in a message is in Unix mail 3317 A file created through the FCC: field in a message is in Unix mail
3370 format, not the format that Rmail uses (BABYL format). Rmail will try to 3318 format, not the format that Rmail uses (BABYL format). Rmail will try to
3371 convert a Unix mail file into BABYL format on input, but sometimes it 3319 convert a Unix mail file into BABYL format on input, but sometimes it
3372 makes errors. For guaranteed safety, you can make the saved-messages 3320 makes errors. For guaranteed safety, you can make the saved-messages
3373 file be an inbox for your Rmail file by using the function 3321 file be an inbox for your Rmail file by using the function
3374 set-rmail-inbox-list. 3322 set-rmail-inbox-list.
3375 3323
3376 141: How can I sort the messages in my Rmail folder? 3324 142: How can I sort the messages in my Rmail folder?
3377 3325
3378 In Rmail, type "C-c C-s C-h" to get a list of sorting functions and their 3326 In Rmail, type "C-c C-s C-h" to get a list of sorting functions and their
3379 key bindings. 3327 key bindings.
3380 3328
3381 142: Why does Rmail need to write to /usr/spool/mail? 3329 143: Why does Rmail need to write to /usr/spool/mail?
3382 3330
3383 This is the behavior of the "movemail" program which Rmail uses. This 3331 This is the behavior of the "movemail" program which Rmail uses. This
3384 indicates that movemail is configured to use lock files. 3332 indicates that movemail is configured to use lock files.
3385 3333
3386 RMS writes: 3334 RMS writes:
3390 mail. You simply must arrange to let movemail write them. 3338 mail. You simply must arrange to let movemail write them.
3391 3339
3392 Other systems use the flock system call to interlock access. On these 3340 Other systems use the flock system call to interlock access. On these
3393 systems, you should configure movemail to use flock. 3341 systems, you should configure movemail to use flock.
3394 3342
3395 143: How do I recover my mail files after Rmail munges their format? 3343 144: How do I recover my mail files after Rmail munges their format?
3396 3344
3397 If you have just done rmail-input on a file and you don't want to save it 3345 If you have just done rmail-input on a file and you don't want to save it
3398 in Rmail's format (called BABYL), just kill the buffer (with C-x k). 3346 in Rmail's format (called BABYL), just kill the buffer (with C-x k).
3399 3347
3400 If you typed M-x rmail and it read some messages out of your inbox and 3348 If you typed M-x rmail and it read some messages out of your inbox and
3402 3350
3403 If you want to convert an existing file from BABYL format to Unix mail 3351 If you want to convert an existing file from BABYL format to Unix mail
3404 format, use the command M-x unrmail: it will prompt you for the input and 3352 format, use the command M-x unrmail: it will prompt you for the input and
3405 output file names. 3353 output file names.
3406 3354
3407 144: How can I force Rmail to reply to the sender of a message, but not the 3355 145: How can I force Rmail to reply to the sender of a message, but not the
3408 other recipients? 3356 other recipients?
3409 3357
3410 Ron Isaacson <isaacson@seas.upenn.edu> says: When you hit "r" to reply in 3358 Ron Isaacson <isaacson@seas.upenn.edu> says: When you hit "r" to reply in
3411 Rmail, by default it CCs all of the original recipients (everyone on the 3359 Rmail, by default it CCs all of the original recipients (everyone on the
3412 original "To" and "CC" lists). With a prefix argument (i.e., typing "C-u" 3360 original "To" and "CC" lists). With a prefix argument (i.e., typing "C-u"
3422 (add-hook 'rmail-mode-hook 3370 (add-hook 'rmail-mode-hook
3423 '(lambda () 3371 '(lambda ()
3424 (define-key rmail-mode-map "r" 'rmail-reply-t) 3372 (define-key rmail-mode-map "r" 'rmail-reply-t)
3425 (define-key rmail-mode-map "R" 'rmail-reply))) 3373 (define-key rmail-mode-map "R" 'rmail-reply)))
3426 3374
3427 145: How can I get my favorite Emacs mail package to support MIME? 3375 146: How can I get my favorite Emacs mail package to support MIME?
3428 3376
3429 Look at the Emacs MIME FAQ, maintained by MacDonald Hall Jackson 3377 Look at the Emacs MIME FAQ, maintained by MacDonald Hall Jackson
3430 <trey@cs.berkeley.edu> at 3378 <trey@cs.berkeley.edu> at
3431 3379
3432 http://bmrc.berkeley.edu/~trey/emacs/mime.html 3380 http://bmrc.berkeley.edu/~trey/emacs/mime.html
3433 3381
3434 Version 6.x of VM supports MIME. See question 104. 3382 Version 6.x of VM supports MIME. See question 104.
3435 3383
3436 MIME support has been added in the development version of Gnus which will 3384 147: How do I make Emacs automatically start my mail/news reader?
3437 be included with a future version of Emacs.
3438
3439 146: How do I make Emacs automatically start my mail/news reader?
3440 3385
3441 To start Emacs in Gnus: 3386 To start Emacs in Gnus:
3442 3387
3443 emacs -f gnus 3388 emacs -f gnus
3444 3389
3454 It is probably unwise to automatically start your mail or news reader 3399 It is probably unwise to automatically start your mail or news reader
3455 from your .emacs file. This would cause problems if you needed to run 3400 from your .emacs file. This would cause problems if you needed to run
3456 two copies of Emacs at one time. Also, this would make it difficult for 3401 two copies of Emacs at one time. Also, this would make it difficult for
3457 you to start Emacs quickly when you needed to. 3402 you to start Emacs quickly when you needed to.
3458 3403
3459 147: How do I read news under Emacs? 3404 148: How do I read news under Emacs?
3460 3405
3461 Use M-x gnus. It is documented in Info (see question 14). 3406 Use M-x gnus. It is documented in Info (see question 14).
3462 3407
3463 148: Why doesn't Gnus work via NNTP? 3408 149: Why doesn't Gnus work via NNTP?
3464 3409
3465 There is a bug in NNTP version 1.5.10, such that when multiple requests 3410 There is a bug in NNTP version 1.5.10, such that when multiple requests
3466 are sent to the NNTP server, the server only handles the first one before 3411 are sent to the NNTP server, the server only handles the first one before
3467 blocking waiting for more input which never comes. NNTP version 1.5.11 3412 blocking waiting for more input which never comes. NNTP version 1.5.11
3468 claims to fix this. 3413 claims to fix this.
3476 (i.e., "telnet server-machine 119"). The server should give its version 3421 (i.e., "telnet server-machine 119"). The server should give its version
3477 number in the welcome message. Type "quit" to get out. 3422 number in the welcome message. Type "quit" to get out.
3478 3423
3479 Also see question 75 in this FAQ for some additional ideas. 3424 Also see question 75 in this FAQ for some additional ideas.
3480 3425
3481 149: How do I view news articles with embedded underlining (e.g., 3426 150: How do I view news articles with embedded underlining (e.g.,
3482 ClariNews)? 3427 ClariNews)?
3483 3428
3484 Underlining appears like this: 3429 Underlining appears like this:
3485 3430
3486 _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg 3431 _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg
3487 3432
3488 Use Gnus' "Overstrike" function from the Article -> Washing menu (or type 3433 Per Abrahamsen <amanda@iesd.auc.dk> suggests using the following code,
3489 "W o"). You can do this for all articles with: 3434 which uses the underline face to turn such text into true underlining:
3490 3435
3491 (add-hook 'gnus-article-prepare-hook 'gnus-article-treat-overstrike) 3436 (defun gnus-article-prepare-overstrike ()
3437 ;; Prepare article for overstrike commands.
3438 (save-excursion
3439 (set-buffer gnus-article-buffer)
3440 (let ((buffer-read-only nil))
3441 (goto-char (point-min))
3442 (while (search-forward "\b" nil t)
3443 (let ((next (following-char))
3444 (previous (char-after (- (point) 2))))
3445 (cond ((eq next previous)
3446 (delete-region (- (point) 2) (point))
3447 (put-text-property (point) (1+ (point))
3448 'face 'bold))
3449 ((eq next ?_)
3450 (delete-region (1- (point)) (1+ (point)))
3451 (put-text-property (1- (point)) (point)
3452 'face 'underline))
3453 ((eq previous ?_)
3454 (delete-region (- (point) 2) (point))
3455 (put-text-property (point) (1+ (point))
3456 'face 'underline))))))))
3457
3458 (add-hook 'gnus-article-prepare-hook 'gnus-article-prepare-overstrike)
3492 3459
3493 If you prefer to do away with underlining altogether, you can 3460 If you prefer to do away with underlining altogether, you can
3494 destructively remove it with M-x ununderline-region; do this 3461 destructively remove it with M-x ununderline-region; do this
3495 automatically via 3462 automatically via
3496 3463
3497 (add-hook 'gnus-article-prepare-hook 3464 (add-hook 'gnus-article-prepare-hook
3498 (lambda () (ununderline-region (point-min) (point-max)))) 3465 '(lambda () (ununderline-region (point-min) (point-max))))
3499 3466
3500 See the Gnus manual for more information about this and similar methods 3467 151: How do I save all the items of a multi-part posting in Gnus?
3501 for treating article contents.
3502
3503 150: How do I save all the items of a multi-part posting in Gnus?
3504 3468
3505 Use gnus-uu. Type C-c C-v C-h in the Gnus summary buffer to see a list 3469 Use gnus-uu. Type C-c C-v C-h in the Gnus summary buffer to see a list
3506 of available commands. 3470 of available commands.
3507 3471
3508 151: How do I make Gnus start up faster? 3472 152: How do I make Gnus start up faster?
3509 3473
3510 From the Gnus FAQ (see question 157): 3474 From the Gnus FAQ (see question 158):
3511 3475
3512 Pranav Kumar Tiwari <pktiwari@eos.ncsu.edu> writes: I posted the same 3476 Pranav Kumar Tiwari <pktiwari@eos.ncsu.edu> writes: I posted the same
3513 query recently and I got an answer to it. I am going to repeat the 3477 query recently and I got an answer to it. I am going to repeat the
3514 answer. What you need is a newer version of gnus, version 5.0.4+. I am 3478 answer. What you need is a newer version of gnus, version 5.0.4+. I am
3515 using 5.0.12 and it works fine with me with the following settings: 3479 using 5.0.12 and it works fine with me with the following settings:
3517 (setq gnus-check-new-newsgroups nil 3481 (setq gnus-check-new-newsgroups nil
3518 gnus-read-active-file 'some 3482 gnus-read-active-file 'some
3519 gnus-nov-is-evil nil 3483 gnus-nov-is-evil nil
3520 gnus-select-method '(nntp gnus-nntp-server)) 3484 gnus-select-method '(nntp gnus-nntp-server))
3521 3485
3522 152: How do I catch up all newsgroups in Gnus? 3486 153: How do I catch up all newsgroups in Gnus?
3523 3487
3524 In the "*Newsgroup*" buffer, type the following magical incantation: 3488 In the "*Newsgroup*" buffer, type the following magical incantation:
3525 3489
3526 M-< C-x ( c y C-x ) M-0 C-x e 3490 M-< C-x ( c y C-x ) M-0 C-x e
3527 3491
3528 Leave off the "M-<" if you only want to catch up from point to the end of 3492 Leave off the "M-<" if you only want to catch up from point to the end of
3529 the "*Newsgroup" buffer. 3493 the "*Newsgroup" buffer.
3530 3494
3531 153: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control 3495 154: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control
3532 headers? 3496 headers?
3533 3497
3534 Gnus will complain that the "Newsgroups:", "Keywords:", and "Control:" 3498 Gnus will complain that the "Newsgroups:", "Keywords:", and "Control:"
3535 headers are "Unknown header" fields. 3499 headers are "Unknown header" fields.
3536 3500
3541 If you really want to kill on one of these headers, you can do it like 3505 If you really want to kill on one of these headers, you can do it like
3542 this: 3506 this:
3543 3507
3544 (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)") 3508 (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)")
3545 3509
3546 154: How do I get rid of flashing messages in Gnus for slow connections? 3510 155: How do I get rid of flashing messages in Gnus for slow connections?
3547 3511
3548 Set nntp-debug-read to nil. 3512 Set nntp-debug-read to nil.
3549 3513
3550 155: Why is catch up slow in Gnus? 3514 156: Why is catch up slow in Gnus?
3551 3515
3552 Because Gnus is marking crosspostings read. You can control this with 3516 Because Gnus is marking crosspostings read. You can control this with
3553 the variable gnus-use-cross-reference. 3517 the variable gnus-use-cross-reference.
3554 3518
3555 156: Why does Gnus hang for a long time when posting? 3519 157: Why does Gnus hang for a long time when posting?
3556 3520
3557 David Lawrence <tale@uunet.uu.net> explains: 3521 David Lawrence <tale@uunet.uu.net> explains:
3558 3522
3559 The problem is almost always interaction between NNTP and C News. NNTP 3523 The problem is almost always interaction between NNTP and C News. NNTP
3560 POST asks C News's inews to not background itself but rather hang 3524 POST asks C News's inews to not background itself but rather hang
3569 rather use newsspool. This loses some error-catching functionality, 3533 rather use newsspool. This loses some error-catching functionality,
3570 but is for the most part safe as inews will detect a lot of the errors 3534 but is for the most part safe as inews will detect a lot of the errors
3571 on its own. The C News folks have sped up inews, too, so speed should 3535 on its own. The C News folks have sped up inews, too, so speed should
3572 look better to most folks as that update propagates around. 3536 look better to most folks as that update propagates around.
3573 3537
3574 157: Where can I find out more about Gnus? 3538 158: Where can I find out more about Gnus?
3575 3539
3576 Visit http://www.gnus.org/, which has a pointer to the current Gnus FAQ and 3540 Look for the Gnus FAQ, available at
3577 more information. The relevant newsgroup is gnu.emacs.gnus. 3541
3542 http://www.miranova.com/~steve/gnus-faq.html
3578 3543
3579 ------------------------------------------------------------ 3544 ------------------------------------------------------------
3580 Modified, with permission, for the Emacs 20.4 distribution by Dave Love.
3581
3582 Copyright 1994-1998 Reuven M. Lerner 3545 Copyright 1994-1998 Reuven M. Lerner
3583 Copyright 1992-1993 Steven Byrnes 3546 Copyright 1992-1993 Steven Byrnes
3584 Copyright 1990-1992 Joseph Brian Wells 3547 Copyright 1990-1992 Joseph Brian Wells
3585 3548
3586 This list of frequently asked questions about GNU Emacs with answers 3549 This list of frequently asked questions about GNU Emacs with answers