diff options
| author | Dave Love | 1998-12-14 18:49:34 +0000 |
|---|---|---|
| committer | Dave Love | 1998-12-14 18:49:34 +0000 |
| commit | 096d416ffbd900829c8b1880ea89989e51d26691 (patch) | |
| tree | fd63f545a6a26c0a993fb3e5e01b2fd5ac708adb /etc | |
| parent | 3654a3512aec852a7f9637ac52b0a387b1f1ae4b (diff) | |
| download | emacs-096d416ffbd900829c8b1880ea89989e51d26691.tar.gz emacs-096d416ffbd900829c8b1880ea89989e51d26691.zip | |
Somewhat edited copy of the most recently posted version.
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/FAQ | 3349 |
1 files changed, 1895 insertions, 1454 deletions
| @@ -1,51 +1,46 @@ | |||
| 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 with answers. | 4 | about GNU Emacs 20 with answers. Some of the answers are not valid for GNU |
| 5 | Emacs 18 or 19. | ||
| 5 | 6 | ||
| 6 | The FAQ is posted to reduce the noise level in the `gnu.emacs.help' | 7 | [This version has been somewhat edited from the last-posted version |
| 7 | newsgroup (which is also the `help-gnu-emacs' mailing list) which results | 8 | (as of early December 1998) for inclusion in the Emacs distribution.] |
| 8 | from the repetition of frequently asked questions, wrong answers to these | 9 | |
| 9 | questions, corrections to the wrong answers, corrections to the | 10 | The FAQ is posted (in five parts) to reduce the noise level in the |
| 10 | corrections, debate, name calling, etc. Also, it serves as a repository of | 11 | gnu.emacs.help newsgroup (which is also the help-gnu-emacs mailing list) |
| 11 | the canonical "best" answers to these questions. However, if you know a | 12 | which results from the repetition of frequently asked questions, wrong |
| 12 | better answer or even a slight change that improves an answer, please tell | 13 | answers to these questions, corrections to the wrong answers, corrections |
| 13 | us! | 14 | to the corrections, debate, name calling, and generally unproductive use of |
| 15 | the mailing list. Also, it serves as a repository of the canonical "best" | ||
| 16 | answers to these questions. However, if you know a better answer or even a | ||
| 17 | slight change that improves an answer, please tell us! | ||
| 14 | 18 | ||
| 15 | If you know the answer to a question in the FAQ list, please reply to the | 19 | If you know the answer to a question in the FAQ list, please reply to the |
| 16 | question by e-mail instead of posting. Help reduce noise! | 20 | question by e-mail instead of posting. Help reduce noise! |
| 17 | 21 | ||
| 18 | The FAQ is crossposted to `comp.emacs' because some sites do not receive | 22 | The FAQ is crossposted to comp.emacs because some sites do not receive the |
| 19 | the `gnu.*' newsgroups. The FAQ is also crossposted to `news.answers'. | 23 | gnu.* newsgroups. The FAQ is also crossposted to news.answers. |
| 20 | 24 | ||
| 21 | Full instructions for getting the latest FAQ are in question 22. | 25 | Full instructions for getting the latest FAQ are in question 22. |
| 22 | 26 | ||
| 23 | It has been so long since the FAQ was last edited and released that the | 27 | A diff file between the last version of the FAQ and this one should have |
| 24 | maintainers decided to take a two-step approach. This edition corrects | 28 | been posted along with the FAQ. If you did not receive the diff file, you |
| 25 | many basic inaccuracies in the old FAQ, most of them having to do with ftp | 29 | can get it at |
| 26 | sites and version numbers. In addition, we have deleted a number of | ||
| 27 | questions that are no longer relevant with the release of GNU Emacs 19. | ||
| 28 | |||
| 29 | Many questions specific to recent releases of GNU Emacs 19 remain | ||
| 30 | unanswered in this version of the FAQ; the maintainers will spend time over | ||
| 31 | the next month or two adding new questions (and answers), based in no small | ||
| 32 | part on the questions that have come across help-gnu-emacs in recent | ||
| 33 | months. | ||
| 34 | 30 | ||
| 35 | There is no diff file for this version of the FAQ, as many things have | 31 | ftp://the-tech.mit.edu/pub/GNU-Emacs/faq-diffs |
| 36 | changed since it was last updated. | ||
| 37 | 32 | ||
| 38 | Please suggest new questions, answers, wording changes, deletions, etc. | 33 | Please suggest new questions, answers, wording changes, and deletions by |
| 39 | The most helpful form for suggestions is a context diff (i.e., the output | 34 | sending mail to emacs-faq@lerner.co.il. The most helpful form for |
| 40 | of `diff -c'). Include `FAQ' in the subject of messages sent to us about | 35 | suggestions is a context diff (i.e., the output of `diff -c'). Include |
| 41 | the FAQ list. | 36 | "FAQ" in the subject of messages about the FAQ list. |
| 42 | 37 | ||
| 43 | Please do not send questions to us just because you do not want to disturb | 38 | Please do not send questions to us just because you do not want to disturb |
| 44 | a lot of people and you think we would know the answer. We do not have | 39 | a lot of people and you think we would know the answer. We do not have |
| 45 | time to answer questions individually. :-( | 40 | time to answer questions individually. :-( |
| 46 | 41 | ||
| 47 | -- | 42 | -- |
| 48 | Reuven M. Lerner <reuven@the-tech.mit.edu> and the FAQ team (a full list is | 43 | Reuven M. Lerner <reuven@lerner.co.il> and the FAQ team (a full list is |
| 49 | at the bottom of the FAQ). | 44 | at the bottom of the FAQ). |
| 50 | 45 | ||
| 51 | ---------------------------------------------------------------------- | 46 | ---------------------------------------------------------------------- |
| @@ -65,188 +60,202 @@ General Questions | |||
| 65 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, | 60 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, |
| 66 | comp.emacs, etc.? | 61 | comp.emacs, etc.? |
| 67 | 9: Where can I get old postings to gnu.emacs.help and other GNU groups? | 62 | 9: Where can I get old postings to gnu.emacs.help and other GNU groups? |
| 68 | 10: Where should I report bugs and other problems with GNU Emacs? | 63 | 10: Where should I report bugs and other problems with Emacs? |
| 69 | 11: How do I unsubscribe to this mailing list? | 64 | 11: How do I unsubscribe from this mailing list? |
| 70 | 12: What is the current address of the FSF? | 65 | 12: What is the current address of the FSF? |
| 71 | 66 | ||
| 72 | On-line Help, Printed Manuals, Other Sources of Help | 67 | On-line Help, Printed Manuals, Other Sources of Help |
| 73 | 68 | ||
| 74 | 13: I'm just starting GNU Emacs; how do I do basic editing? | 69 | 13: I'm just starting Emacs; how do I do basic editing? |
| 75 | 14: How do I find out how to do something in GNU Emacs? | 70 | 14: How do I find out how to do something in Emacs? |
| 76 | 15: How do I get a printed copy of the GNU Emacs manual? | 71 | 15: How do I get a printed copy of the Emacs manual? |
| 77 | 16: Where can I get documentation on GNU Emacs Lisp? | 72 | 16: Where can I get documentation on Emacs Lisp? |
| 78 | 17: How do I install a piece of Texinfo documentation? | 73 | 17: How do I install a piece of Texinfo documentation? |
| 79 | 18: How do I print a Texinfo file? | 74 | 18: How do I print a Texinfo file? |
| 80 | 19: Can I view Info files without using GNU Emacs? | 75 | 19: Can I view Info files without using Emacs? |
| 81 | 20: What informational files are available for GNU Emacs? | 76 | 20: What informational files are available for Emacs? |
| 82 | 21: Where can I get help in installing GNU Emacs? | 77 | 21: Where can I get help in installing Emacs? |
| 83 | 22: Where can I get the latest version of this document (the FAQ list)? | 78 | 22: Where can I get the latest version of this document (the FAQ list)? |
| 84 | 79 | ||
| 85 | Status of Emacs | 80 | Status of Emacs |
| 86 | 81 | ||
| 87 | 23: Where does the name "Emacs" come from? | 82 | 23: Where does the name "Emacs" come from? |
| 88 | 24: What is the latest version of GNU Emacs? | 83 | 24: What is the latest version of Emacs? |
| 89 | 25: What is different about GNU Emacs 19? | 84 | 25: What is different about Emacs 20? |
| 90 | 85 | ||
| 91 | Common Things People Want To Do | 86 | Common Things People Want To Do |
| 92 | 87 | ||
| 93 | 26: How do I set up a .emacs file properly? | 88 | 26: How do I set up a .emacs file properly? |
| 94 | 27: How do I debug a .emacs file? | 89 | 27: How do I debug a .emacs file? |
| 95 | 28: How do I make Emacs display the current line (or column) number? | 90 | 28: How do I make Emacs display the current line (or column) number? |
| 96 | 29: How do I turn on abbrevs by default just in mode XXX? | 91 | 29: How can I modify the titlebar to contain the current filename? |
| 97 | 30: How do I turn on auto-fill mode by default? | 92 | 30: How do I turn on abbrevs by default just in mode XXX? |
| 98 | 31: How do I make Emacs use a certain major mode for certain files? | 93 | 31: How do I turn on auto-fill mode by default? |
| 99 | 32: How do I search for, delete, or replace unprintable (8-bit or control) | 94 | 32: How do I make Emacs use a certain major mode for certain files? |
| 95 | 33: How do I search for, delete, or replace unprintable (8-bit or control) | ||
| 100 | characters? | 96 | characters? |
| 101 | 33: How can I highlight a region of text in Emacs? | 97 | 34: How can I highlight a region of text in Emacs? |
| 102 | 34: How do I control Emacs's case-sensitivity when searching/replacing? | 98 | 35: How do I control Emacs's case-sensitivity when searching/replacing? |
| 103 | 35: How do I make Emacs wrap words for me? | 99 | 36: How do I make Emacs wrap words for me? |
| 104 | 36: Where can I get a better spelling checker for Emacs? | 100 | 37: Where can I get a better spelling checker for Emacs? |
| 105 | 37: How can I spell-check TeX or *roff documents? | 101 | 38: How can I spell-check TeX or *roff documents? |
| 106 | 38: How do I change load-path? | 102 | 39: How do I change load-path? |
| 107 | 39: How do I use an already running Emacs from another window? | 103 | 40: How do I use an already running Emacs from another window? |
| 108 | 40: How do I make Emacs recognize my compiler's funny error messages? | 104 | 41: How do I make Emacs recognize my compiler's funny error messages? |
| 109 | 41: How do I indent switch statements like this? | 105 | 42: How do I indent switch statements like this? |
| 110 | 42: How can I make Emacs automatically scroll horizontally? | 106 | 43: How can I make Emacs automatically scroll horizontally? |
| 111 | 43: How do I make Emacs "typeover" or "overwrite" instead of inserting? | 107 | 44: How do I make Emacs "typeover" or "overwrite" instead of inserting? |
| 112 | 44: How do I stop Emacs from beeping on a terminal? | 108 | 45: How do I stop Emacs from beeping on a terminal? |
| 113 | 45: How do I turn down the bell volume in Emacs running under X Windows? | 109 | 46: How do I turn down the bell volume in Emacs running under X Windows? |
| 114 | 46: How do I tell Emacs to automatically indent a new line to the | 110 | 47: How do I tell Emacs to automatically indent a new line to the |
| 115 | indentation of the previous line? | 111 | indentation of the previous line? |
| 116 | 47: How do I show which parenthesis matches the one I'm looking at? | 112 | 48: How do I show which parenthesis matches the one I'm looking at? |
| 117 | 48: In C mode, can I show just the lines that will be left after #ifdef | 113 | 49: In C mode, can I show just the lines that will be left after #ifdef |
| 118 | commands are handled by the compiler? | 114 | commands are handled by the compiler? |
| 119 | 49: Is there an equivalent to the `.' (dot) command of vi? | 115 | 50: Is there an equivalent to the `.' (dot) command of vi? |
| 120 | 50: What are the valid X resource settings (i.e., stuff in .Xdefaults)? | 116 | 51: What are the valid X resource settings (i.e., stuff in .Xdefaults)? |
| 121 | 51: How do I execute a piece of Emacs Lisp code? | 117 | 52: How do I execute ("evaluate") a piece of Emacs Lisp code? |
| 122 | 52: How do I change Emacs's idea of the tab character's length? | 118 | 53: How do I change Emacs's idea of the tab character's length? |
| 123 | 53: How do I insert `>' at the beginning of every line? | 119 | 54: How do I insert `>' at the beginning of every line? |
| 124 | 54: How do I insert `_^H' before each character in a paragraph to get an | 120 | 55: How do I insert "_^H" before each character in a region to get an |
| 125 | underlined paragraph? | 121 | underlined paragraph? |
| 126 | 55: How do I repeat a command as many times as possible? | 122 | 56: How do I repeat a command as many times as possible? |
| 127 | 56: How do I make Emacs behave like this: when I go up or down, the cursor | 123 | 57: How do I make Emacs behave like this: when I go up or down, the cursor |
| 128 | should stay in the same column even if the line is too short? | 124 | should stay in the same column even if the line is too short? |
| 129 | 57: How do I tell Emacs to iconify itself? | 125 | 58: How do I tell Emacs to iconify itself? |
| 130 | 58: How do I use regexps (regular expressions) in Emacs? | 126 | 59: How do I use regexps (regular expressions) in Emacs? |
| 131 | 59: How do I perform a replace operation across more than one file? | 127 | 60: How do I perform a replace operation across more than one file? |
| 132 | 60: Where is the documentation for `etags'? | 128 | 61: Where is the documentation for "etags"? |
| 129 | 62: How do I disable backup files? | ||
| 130 | 63: How do I disable auto-save-mode? | ||
| 131 | 64: How can I create or modify new pull-down menu options? | ||
| 132 | 65: How do I delete menus and menu options? | ||
| 133 | 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 | ||
| 135 | bottom of the screen? | ||
| 136 | 68: How can I replace highlighted text with what I type? | ||
| 137 | 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 | ||
| 139 | each period? | ||
| 133 | 140 | ||
| 134 | Bugs/Problems | 141 | Bugs/Problems |
| 135 | 142 | ||
| 136 | 61: Does Emacs have problems with files larger than 8 megabytes? | 143 | 71: Does Emacs have problems with files larger than 8 megabytes? |
| 137 | 62: How do I get rid of the ^M junk in my shell buffer? | 144 | 72: How do I get rid of ^M or echoed commands in my shell buffer? |
| 138 | 63: Why do I get `Process shell exited abnormally with code 1'? | 145 | 73: Why do I get "Process shell exited abnormally with code 1"? |
| 139 | 64: Where is the termcap/terminfo entry for terminal type `emacs'? | 146 | 74: Where is the termcap/terminfo entry for terminal type "emacs"? |
| 140 | 65: Why does Emacs spontaneously start displaying `I-search:' and beeping? | 147 | 75: Why does Emacs spontaneously start displaying "I-search:" and beeping? |
| 141 | 66: Why can't Emacs talk to certain hosts (or certain hostnames)? | 148 | 76: Why can't Emacs talk to certain hosts (or certain hostnames)? |
| 142 | 67: Why does Emacs say `Error in init file'? | 149 | 77: Why does Emacs say "Error in init file"? |
| 143 | 68: Why does Emacs ignore my X resources (my .Xdefaults file)? | 150 | 78: Why does Emacs ignore my X resources (my .Xdefaults file)? |
| 144 | 69: Why does Emacs take 20 seconds to visit a file? | 151 | 79: Why does Emacs take 20 seconds to visit a file? |
| 145 | 70: How do I edit a file with a `$' in its name? | 152 | 80: How do I edit a file with a `$' in its name? |
| 146 | 71: Why does shell mode lose track of the shell's current directory? | 153 | 81: Why does shell mode lose track of the shell's current directory? |
| 147 | 72: Are there any security risks in GNU Emacs? | 154 | 82: Are there any security risks in Emacs? |
| 155 | 83: Dired says, "no file on this line" when I try to do something. | ||
| 148 | 156 | ||
| 149 | Difficulties Building/Installing/Porting Emacs | 157 | Difficulties Building/Installing/Porting Emacs |
| 150 | 158 | ||
| 151 | 73: What should I do if I have trouble building Emacs? | 159 | 84: How do I install Emacs? |
| 152 | 74: How do I stop Emacs from failing when the executable is stripped? | 160 | 85: How do I update Emacs to the latest version? |
| 153 | 75: Why does linking Emacs with -lX11 fail? | 161 | 86: What should I do if I have trouble building Emacs? |
| 162 | 87: Why does linking Emacs with -lX11 fail? | ||
| 154 | 163 | ||
| 155 | Finding/Getting Emacs and Related Packages | 164 | Finding/Getting Emacs and Related Packages |
| 156 | 165 | ||
| 157 | 76: Where can I get GNU Emacs on the net (or by snail mail)? | 166 | 88: Where can I get Emacs on the net (or by snail mail)? |
| 158 | 77: How do I find a GNU Emacs Lisp package that does XXX? | 167 | 89: How do I find a Emacs Lisp package that does XXX? |
| 159 | 78: Where can I get GNU Emacs Lisp packages that don't come with Emacs? | 168 | 90: Where can I get Emacs Lisp packages that don't come with Emacs? |
| 160 | 79: How do I submit code to the Emacs Lisp Archive? | 169 | 91: How do I submit code to the Emacs Lisp Archive? |
| 161 | 80: Where can I get other up-to-date GNU stuff? | 170 | 92: Where can I get other up-to-date GNU stuff? |
| 162 | 81: What is the difference between GNU Emacs and Epoch? | 171 | 93: What is the difference between Emacs and XEmacs (formerly "Lucid |
| 163 | 82: What is the difference between GNU Emacs and XEmacs (formerly "Lucid | 172 | Emacs")? |
| 164 | Emacs")? | 173 | 94: Where can I get Emacs for my PC running MS-DOS? |
| 165 | 83: Where can I get Emacs for my PC running MS-DOS? | 174 | 95: Where can I get Emacs for Microsoft Windows, Windows '95, or Windows |
| 166 | 84: Where can I get Emacs for my PC running Microsoft Windows? | 175 | NT? |
| 167 | 85: Where can I get Emacs for my PC running OS/2? | 176 | 96: Where can I get Emacs for my PC running OS/2? |
| 168 | 86: Where can I get Emacs for my Atari ST? | 177 | 97: Where can I get Emacs for my Atari ST? |
| 169 | 87: Where can I get Emacs for my Amiga? | 178 | 98: Where can I get Emacs for my Amiga? |
| 170 | 88: Where can I get Emacs for my Apple computer? | 179 | 99: Where can I get Emacs for NeXTSTEP? |
| 171 | 89: Where do I get Emacs that runs on VMS under DECwindows? | 180 | 100: Where can I get Emacs for my Apple computer? |
| 172 | 90: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++, | 181 | 101: Where do I get Emacs that runs on VMS under DECwindows? |
| 173 | Objective C, Pascal, and Awk? | 182 | 102: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++, |
| 174 | 91: What is the IP address of XXX.YYY.ZZZ? | 183 | Objective-C, Pascal, Java, and Awk? |
| 184 | 103: What is the IP address of XXX.YYY.ZZZ? | ||
| 175 | 185 | ||
| 176 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs | 186 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs |
| 177 | 187 | ||
| 178 | 92: VM (View Mail) -- another mail reader within Emacs | 188 | 104: VM (View Mail) -- another mail reader within Emacs, with MIME support |
| 179 | 93: Supercite -- mail and news citation package within Emacs | 189 | 105: SuperCite -- mail and news citation package within Emacs |
| 180 | 94: Gnus -- news reader within Emacs | 190 | 106: Calc -- poor man's Mathematica within Emacs |
| 181 | 95: Calc -- poor man's Mathematica within Emacs | 191 | 107: VIPER -- vi emulation for Emacs |
| 182 | 96: Ange-FTP -- transparent FTP access for Emacs's file access routines | 192 | 108: AUC TeX -- enhanced LaTeX mode with debugging facilities |
| 183 | 97: VIP -- vi emulation for Emacs | 193 | 109: BBDB -- personal Info Rolodex integrated with mail/news readers |
| 184 | 98: AUC TeX -- enhanced LaTeX mode with debugging facilities | 194 | 110: Ispell -- spell checker in C with interface for Emacs |
| 185 | 99: Hyperbole -- extensible hypertext management system within Emacs | 195 | 111: W3-mode -- A World Wide Web browser inside of Emacs |
| 186 | 100: BBDB -- personal Info Rolodex integrated with mail/news readers | 196 | 112: EDB -- Database program for Emacs; replaces forms editing modes |
| 187 | 101: Ispell -- spell checker in C with interface for Emacs | 197 | 113: Mailcrypt -- PGP interface within Emacs mail and news |
| 188 | 102: XEmacs -- alternative Emacs 19 with better X interface; formerly | 198 | 114: Patch -- program to apply "diffs" for updating files |
| 189 | known as Lucid Emacs or lemacs. | ||
| 190 | 103: Patch -- program to apply "diffs" for updating files | ||
| 191 | 199 | ||
| 192 | Changing Key Bindings and Handling Key Binding Problems | 200 | Changing Key Bindings and Handling Key Binding Problems |
| 193 | 201 | ||
| 194 | 104: How do I bind keys (including function keys) to commands? | 202 | 115: How do I bind keys (including function keys) to commands? |
| 195 | 105: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | 203 | 116: Why does Emacs say "Key sequence XXX uses invalid prefix characters"? |
| 196 | 106: Why doesn't this [terminal or window-system setup] code work in my | 204 | 117: Why doesn't this [terminal or window-system setup] code work in my |
| 197 | .emacs file, but it works just fine after Emacs starts up? | 205 | .emacs file, but it works just fine after Emacs starts up? |
| 198 | 107: How do I use function keys under X Windows? | 206 | 118: How do I use function keys under X Windows? |
| 199 | 108: How do I tell what characters or symbols my function or arrow keys | 207 | 119: How do I tell what characters or symbols my function or arrow keys |
| 200 | emit? | 208 | emit? |
| 201 | 109: How do I set the X key "translations" for Emacs? | 209 | 120: How do I set the X key "translations" for Emacs? |
| 202 | 110: How do I handle C-s and C-q being used for flow control? | 210 | 121: How do I handle C-s and C-q being used for flow control? |
| 203 | 111: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered | 211 | 122: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered |
| 204 | out? | 212 | out? |
| 205 | 112: Why does the `Backspace' key invoke help? | 213 | 123: Why does the "Backspace" key invoke help? |
| 206 | 113: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? | 214 | 124: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? |
| 207 | 114: How do I "swap" two keys? | 215 | 125: How do I "swap" two keys? |
| 208 | 115: How do I produce C-XXX with my keyboard? | 216 | 126: How do I produce C-XXX with my keyboard? |
| 209 | 116: What if I don't have a Meta key? | 217 | 127: What if I don't have a Meta key? |
| 210 | 117: What if I don't have an Escape key? | 218 | 128: What if I don't have an Escape key? |
| 211 | 118: Can I make my `Compose Character' key behave like a Meta key? | 219 | 129: Can I make my "Compose Character" key behave like a Meta key? |
| 212 | 119: How do I bind a combination of modifier key and function key? | 220 | 130: How do I bind a combination of modifier key and function key? |
| 213 | 120: Why doesn't my Meta key work in an xterm window? | 221 | 131: Why doesn't my Meta key work in an xterm window? |
| 214 | 121: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? | 222 | 132: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0 |
| 215 | 122: Where can I get key bindings to make Emacs emulate WordStar? | 223 | and 9.x? |
| 216 | 123: Where can I get an XEDIT emulator for Emacs? | ||
| 217 | 224 | ||
| 218 | Using Emacs with Alternate Character Sets | 225 | Using Emacs with Alternate Character Sets |
| 219 | 226 | ||
| 220 | 124: How do I make Emacs display 8-bit characters? | 227 | 133: How do I make Emacs display 8-bit characters? |
| 221 | 125: How do I input 8-bit characters? | 228 | 134: How do I input 8-bit characters? |
| 222 | 126: Where can I get an Emacs that can handle kanji characters? | 229 | 135: Where can I get an Emacs that handles kanji, Chinese, or other |
| 223 | 127: Where can I get an Emacs that can handle Chinese? | 230 | character sets? |
| 224 | 128: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | 231 | 136: Where is an Emacs that can handle Semitic (right-to-left) alphabets? |
| 225 | 232 | ||
| 226 | Mail and News | 233 | Mail and News |
| 227 | 234 | ||
| 228 | 129: How do I change the included text prefix in mail/news followups? | 235 | 137: How do I change the included text prefix in mail/news followups? |
| 229 | 130: How do I save a copy of outgoing mail? | 236 | 138: How do I save a copy of outgoing mail? |
| 230 | 131: Why doesn't Emacs expand my aliases when sending mail? | 237 | 139: Why doesn't Emacs expand my aliases when sending mail? |
| 231 | 132: Why does Rmail think all my saved messages are one big message? | 238 | 140: Why does Rmail think all my saved messages are one big message? |
| 232 | 133: How can I sort the messages in my Rmail folder? | 239 | 141: How can I sort the messages in my Rmail folder? |
| 233 | 134: Why does Rmail need to write to /usr/spool/mail? | 240 | 142: Why does Rmail need to write to /usr/spool/mail? |
| 234 | 135: How do I recover my mail files after Rmail munges their format? | 241 | 143: How do I recover my mail files after Rmail munges their format? |
| 235 | 136: How do I make Emacs automatically start my mail/news reader? | 242 | 144: How can I force Rmail to reply to the sender of a message, but not the |
| 236 | 137: How do I read news under Emacs? | 243 | other recipients? |
| 237 | 138: Why doesn't Gnus work via NNTP? | 244 | 145: How can I get my favorite Emacs mail package to support MIME? |
| 238 | 139: How do I view text with embedded underlining (e.g., ClariNews)? | 245 | 146: How do I make Emacs automatically start my mail/news reader? |
| 239 | 140: How do I save all the items of a multi-part posting in Gnus? | 246 | 147: How do I read news under Emacs? |
| 240 | 141: Why does Gnus put the subjects in replies beyond the 80th column? | 247 | 148: Why doesn't Gnus work via NNTP? |
| 241 | 142: How do I make Gnus start up faster? | 248 | 149: How do I view news articles with embedded underlining (e.g., |
| 242 | 143: How do I catch up all newsgroups in Gnus? | 249 | ClariNews)? |
| 243 | 144: Why can't I kill in Gnus on the Newsgroups/Keywords/Control line? | 250 | 150: How do I save all the items of a multi-part posting in Gnus? |
| 244 | 145: How do I get rid of flashing messages in Gnus for slow connections? | 251 | 151: How do I make Gnus start up faster? |
| 245 | 146: Why is catch up slow in Gnus? | 252 | 152: How do I catch up all newsgroups in Gnus? |
| 246 | 147: Why does Gnus hang for a long time when posting? | 253 | 153: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control |
| 247 | 148: Why don't my news postings in Gnus get past the local machine? | 254 | headers? |
| 248 | 149: Why doesn't Gnus generate the `Lines:' header? | 255 | 154: How do I get rid of flashing messages in Gnus for slow connections? |
| 249 | 150: How do I kill all articles in Gnus but those matching a pattern? | 256 | 155: Why is catch up slow in Gnus? |
| 257 | 156: Why does Gnus hang for a long time when posting? | ||
| 258 | 157: Where can I find out more about Gnus? | ||
| 250 | 259 | ||
| 251 | ------------------------------------------------------------ | 260 | ------------------------------------------------------------ |
| 252 | 261 | ||
| @@ -255,10 +264,18 @@ $" to get an overview of just the questions. Then, when you want to look | |||
| 255 | at the text of the answers, just type "C-x $". | 264 | at the text of the answers, just type "C-x $". |
| 256 | 265 | ||
| 257 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a | 266 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a |
| 258 | C-r if that doesn't work, then type ESC to end the search. | 267 | C-r if that doesn't work. Type RET to end the search. |
| 268 | |||
| 269 | If you have a web browser and the browse-url package configured for | ||
| 270 | it, you can visit ftp and HTTP uniform resource locators (URLs) by | ||
| 271 | placing the cursor on the URL and typing M-x browse-url-at-point. | ||
| 272 | |||
| 273 | 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. | ||
| 275 | |||
| 276 | ------------------------------------------------------------ | ||
| 277 | Time-stamp: <1998-09-18 14:41:10 reuven> | ||
| 259 | 278 | ||
| 260 | Full instructions for getting the latest FAQ are in question 22, or use | ||
| 261 | anonymous FTP to the-tech.mit.edu. | ||
| 262 | 279 | ||
| 263 | Notation Used in FAQ | 280 | Notation Used in FAQ |
| 264 | 281 | ||
| @@ -267,13 +284,21 @@ Notation Used in FAQ | |||
| 267 | 284 | ||
| 268 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? | 285 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? |
| 269 | 286 | ||
| 270 | C-x means press the `x' key while holding down the Control key. M-x | 287 | C-x: press the `x' key while holding down the Control key |
| 271 | means press the `x' key while holding down the Meta key. M-C-x means | 288 | |
| 272 | press the `x' key while holding down both the Control key and the Meta | 289 | M-x: press the `x' key while holding down the Meta key (if your computer |
| 273 | key. C-M-a is a synonym for M-C-a. RET, LFD, DEL, ESC, and TAB | 290 | doesn't have a Meta key, see question 127) |
| 274 | respectively refer to pressing the Return, Linefeed (aka Newline), | 291 | |
| 275 | Delete, Escape, and Tab keys and are equivalent to C-m, C-j, C-?, C-[, | 292 | M-C-x: press the `x' key while holding down both Control and Meta |
| 276 | and C-i. SPC means press the Space bar. | 293 | C-M-x: a synonym for the above |
| 294 | |||
| 295 | LFD: Linefeed or Newline; same as C-j | ||
| 296 | RET: Return, sometimes marked Enter; same as C-m | ||
| 297 | DEL: Delete, usually not the same as Backspace; same as C-? (See | ||
| 298 | question 123 if deleting invokes Emacs help) | ||
| 299 | ESC: Escape; same as C-[ | ||
| 300 | TAB: Tab; same as C-i | ||
| 301 | SPC: Space bar | ||
| 277 | 302 | ||
| 278 | Key sequences longer than one key (and some single-key sequences) are | 303 | Key sequences longer than one key (and some single-key sequences) are |
| 279 | inside double quotes or on lines by themselves. Any real spaces in such | 304 | inside double quotes or on lines by themselves. Any real spaces in such |
| @@ -286,22 +311,22 @@ Notation Used in FAQ | |||
| 286 | code that would be sent by pressing just the `x' key. Essentially, the | 311 | code that would be sent by pressing just the `x' key. Essentially, the |
| 287 | Control key turns off bits 5 and 6 and the Meta key turns on bit 7. | 312 | Control key turns off bits 5 and 6 and the Meta key turns on bit 7. |
| 288 | 313 | ||
| 289 | For further information, see `Characters' and `Keys' in the on-line | ||
| 290 | manual. | ||
| 291 | |||
| 292 | NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a | 314 | NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a |
| 293 | "control" key, since 127 has both bits 5 and 6 turned ON. Also, on very | 315 | "control" key, since 127 has both bits 5 and 6 turned ON. Also, on very |
| 294 | few keyboards does Control-? generate ASCII code 127. | 316 | few keyboards does C-? generate ASCII code 127. |
| 317 | |||
| 318 | For further information, see "Characters" and "Keys" in the on-line | ||
| 319 | manual. (See question 3 if you don't know how.) | ||
| 295 | 320 | ||
| 296 | 2: What does "M-x command" mean? | 321 | 2: What does "M-x command" mean? |
| 297 | 322 | ||
| 298 | "M-x command" means type M-x, then type the name of the command, then | 323 | "M-x command" means type M-x, then type the name of the command, then |
| 299 | type RET. | 324 | type RET. (See question 1 if you're not sure what "M-x" and "RET" mean.) |
| 300 | 325 | ||
| 301 | M-x (by default) invokes the command `execute-extended-command'. This | 326 | M-x (by default) invokes the command "execute-extended-command". This |
| 302 | command allows you to run any Emacs command if you can remember the | 327 | command allows you to run any Emacs command if you can remember the |
| 303 | command's name. If you can't remember the command's name, you can type | 328 | command's name. If you can't remember the command's name, you can type |
| 304 | TAB and SPC for completion, "?" for a list of possibilities, and M-p and | 329 | TAB and SPC for completion, `?' for a list of possibilities, and M-p and |
| 305 | M-n to see previous commands entered. An Emacs "command" is any | 330 | M-n to see previous commands entered. An Emacs "command" is any |
| 306 | "interactive" Emacs function. | 331 | "interactive" Emacs function. |
| 307 | 332 | ||
| @@ -309,7 +334,7 @@ Notation Used in FAQ | |||
| 309 | invoke execute-extended-command. A function key labeled `Do' is a good | 334 | invoke execute-extended-command. A function key labeled `Do' is a good |
| 310 | candidate for this. | 335 | candidate for this. |
| 311 | 336 | ||
| 312 | To run non-interactive Emacs functions, see question 51. | 337 | To run non-interactive Emacs functions, see question 52. |
| 313 | 338 | ||
| 314 | 3: How do I read topic XXX in the on-line manual? | 339 | 3: How do I read topic XXX in the on-line manual? |
| 315 | 340 | ||
| @@ -319,7 +344,7 @@ Notation Used in FAQ | |||
| 319 | C-h i m emacs RET m XXX RET | 344 | C-h i m emacs RET m XXX RET |
| 320 | 345 | ||
| 321 | This invokes Info, the GNU hypertext documentation browser. If you don't | 346 | This invokes Info, the GNU hypertext documentation browser. If you don't |
| 322 | already know how to use Info, type "?" from within Info. | 347 | already know how to use Info, type `?' from within Info. |
| 323 | 348 | ||
| 324 | If we refer to topic XXX:YYY, type this: | 349 | If we refer to topic XXX:YYY, type this: |
| 325 | 350 | ||
| @@ -328,19 +353,29 @@ Notation Used in FAQ | |||
| 328 | WARNING: Your system administrator may not have installed the Info files, | 353 | WARNING: Your system administrator may not have installed the Info files, |
| 329 | or may have installed them improperly. In this case you should complain. | 354 | or may have installed them improperly. In this case you should complain. |
| 330 | 355 | ||
| 356 | See question 15 if you would like a paper copy of the Emacs manual. | ||
| 357 | |||
| 331 | 4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? | 358 | 4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? |
| 332 | 359 | ||
| 333 | These are files that come with GNU Emacs. The GNU Emacs distribution is | 360 | These are files that come with Emacs. The Emacs distribution is divided |
| 334 | divided into subdirectories; the important ones are `etc', `lisp', and | 361 | into subdirectories; the important ones are "etc", "lisp", and "src". |
| 335 | `src'. | ||
| 336 | 362 | ||
| 337 | If you use GNU Emacs, but don't know where it is kept on your system, | 363 | If you use Emacs, but don't know where it is kept on your system, start |
| 338 | start Emacs, then type "C-h v data-directory RET". The directory name | 364 | Emacs, then type "C-h v data-directory RET". The directory name |
| 339 | displayed by this will be the full pathname of the installed `etc' | 365 | displayed by this will be the full pathname of the installed "etc" |
| 340 | directory. | 366 | directory. |
| 341 | 367 | ||
| 368 | The location of your Info directory (i.e., where on-line documentation is | ||
| 369 | stored) is kept in the variable Info-default-directory-list. Use "C-h v | ||
| 370 | Info-default-directory-list RET" to see the contents of this variable, | ||
| 371 | which will be a list of directory names. The last directory in that list | ||
| 372 | is probably where most Info files are stored. By default, Info | ||
| 373 | documentation is placed in /usr/local/info. | ||
| 374 | |||
| 342 | Some of these files are available individually via FTP or e-mail; see | 375 | Some of these files are available individually via FTP or e-mail; see |
| 343 | question 20. All are available in the source distribution. | 376 | question 20. All are available in the source distribution. Many of the |
| 377 | files in the "etc" directory are also available via the Emacs "help" | ||
| 378 | menu, or by typing "C-h ?" (M-x help-for-help). | ||
| 344 | 379 | ||
| 345 | WARNING: Your system administrator may have removed the src directory and | 380 | WARNING: Your system administrator may have removed the src directory and |
| 346 | many files from the etc directory. | 381 | many files from the etc directory. |
| @@ -353,7 +388,7 @@ Notation Used in FAQ | |||
| 353 | GNU == GNU's Not Unix | 388 | GNU == GNU's Not Unix |
| 354 | RMS == Richard Matthew Stallman | 389 | RMS == Richard Matthew Stallman |
| 355 | FTP == File Transfer Protocol | 390 | FTP == File Transfer Protocol |
| 356 | GPL == GNU General Public Licence | 391 | GPL == GNU General Public License |
| 357 | 392 | ||
| 358 | NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF opposes | 393 | NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF opposes |
| 359 | look-and-feel copyrights and software patents. The FSF aims to make high | 394 | look-and-feel copyrights and software patents. The FSF aims to make high |
| @@ -381,15 +416,11 @@ General Questions | |||
| 381 | papers describing the LPF's views are available on the Internet and also | 416 | papers describing the LPF's views are available on the Internet and also |
| 382 | from the LPF: | 417 | from the LPF: |
| 383 | 418 | ||
| 384 | Anonymous FTP: | 419 | http://lpf.ai.mit.edu/ |
| 385 | /prep.ai.mit.edu:pub/lpf/ | ||
| 386 | /archive.cis.ohio-state.edu:pub/lpf/ | ||
| 387 | Anonymous UUCP: | ||
| 388 | osu-cis!~/lpf/* | ||
| 389 | 420 | ||
| 390 | 7: What is the real legal meaning of the GNU copyleft? | 421 | 7: What is the real legal meaning of the GNU copyleft? |
| 391 | 422 | ||
| 392 | The real legal meaning of the GNU General Public Licence (copyleft) will | 423 | The real legal meaning of the GNU General Public License (copyleft) will |
| 393 | only be known if and when a judge rules on its validity and scope. There | 424 | only be known if and when a judge rules on its validity and scope. There |
| 394 | has never been a copyright infringement case involving the GPL to set any | 425 | has never been a copyright infringement case involving the GPL to set any |
| 395 | precedents. Please take any discussion regarding this issue to the | 426 | precedents. Please take any discussion regarding this issue to the |
| @@ -410,25 +441,25 @@ General Questions | |||
| 410 | comp.emacs, etc.? | 441 | comp.emacs, etc.? |
| 411 | 442 | ||
| 412 | The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list. | 443 | The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list. |
| 413 | (See question 20 on how to get a copy.) For those which are gatewayed | 444 | (See question 20 if you want a copy of the file.) For those lists which |
| 414 | with newsgroups, it lists both the newsgroup name and the mailing list | 445 | are gatewayed with newsgroups, it lists both the newsgroup name and the |
| 415 | address. | 446 | mailing list address. |
| 416 | 447 | ||
| 417 | comp.emacs is for discussion of Emacs programs in general. This includes | 448 | comp.emacs is for discussion of Emacs programs in general. This includes |
| 418 | GNU Emacs along with various other implementations like JOVE, MicroEmacs, | 449 | Emacs along with various other implementations, such as JOVE, MicroEmacs, |
| 419 | Freemacs, MG, Unipress, CCA, and Epsilon.. | 450 | Freemacs, MG, Unipress, CCA, and Epsilon. |
| 420 | 451 | ||
| 421 | Many people post GNU Emacs questions to comp.emacs because they don't | 452 | Many people post Emacs questions to comp.emacs because they don't receive |
| 422 | receive any of the gnu.* newsgroups. Arguments have been made both for | 453 | any of the gnu.* newsgroups. Arguments have been made both for and |
| 423 | and against posting GNU-Emacs-specific material to comp.emacs. You have | 454 | against posting GNU-Emacs-specific material to comp.emacs. You have to |
| 424 | to decide for yourself. | 455 | decide for yourself. |
| 425 | 456 | ||
| 426 | Messages advocating "non-free" software are considered unacceptable on | 457 | Messages advocating "non-free" software are considered unacceptable on |
| 427 | any of the gnu.* newsgroups except for gnu.misc.discuss, which was | 458 | any of the gnu.* newsgroups except for gnu.misc.discuss, which was |
| 428 | created to hold the extensive flame-wars on the subject. "non-free" | 459 | created to hold the extensive flame-wars on the subject. "Non-free" |
| 429 | software includes any software for which the end user can't freely modify | 460 | software includes any software for which the end user can't freely modify |
| 430 | the source code and exchange enhancements. Be careful to remove the | 461 | the source code and exchange enhancements. Be careful to remove the |
| 431 | gnu.* groups from the `Newsgroups:' line when posting a followup that | 462 | gnu.* groups from the "Newsgroups:" line when posting a followup that |
| 432 | recommends such software. | 463 | recommends such software. |
| 433 | 464 | ||
| 434 | gnu.emacs.bug is a place where bug reports appear, but avoid posting bug | 465 | gnu.emacs.bug is a place where bug reports appear, but avoid posting bug |
| @@ -439,20 +470,30 @@ General Questions | |||
| 439 | The FSF has maintained archives of all of the GNU mailing lists for many | 470 | The FSF has maintained archives of all of the GNU mailing lists for many |
| 440 | years, although there may be some unintentional gaps in coverage. The | 471 | years, although there may be some unintentional gaps in coverage. The |
| 441 | archive is not particularly well organized or easy to retrieve individual | 472 | archive is not particularly well organized or easy to retrieve individual |
| 442 | postings from, but pretty much everything is there. The archive is | 473 | postings from, but pretty much everything is there. The latest archives |
| 443 | available via anonymous ftp at | 474 | are available at |
| 475 | |||
| 476 | ftp://ftp.gnu.org/pub/gnu/MailingListArchives/current | ||
| 477 | |||
| 478 | Web-based Usenet search services, such as DejaNews, also archive the | ||
| 479 | gnu.* groups. You can reach DejaNews at | ||
| 444 | 480 | ||
| 445 | /prep.ai.mit.edu:pub/gnu/MailingListArchives/ | 481 | http://www.dejanews.com |
| 446 | 482 | ||
| 447 | 10: Where should I report bugs and other problems with GNU Emacs? | 483 | 10: Where should I report bugs and other problems with Emacs? |
| 448 | 484 | ||
| 449 | The correct way to report GNU Emacs bugs is by e-mail to | 485 | The correct way to report Emacs bugs is by e-mail to |
| 450 | bug-gnu-emacs@prep.ai.mit.edu. Anything sent here also appears in the | 486 | bug-gnu-emacs@gnu.org. Anything sent here also appears in the |
| 451 | newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit | 487 | newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit |
| 452 | the bug report. This way a reliable return address is available so you | 488 | the bug report. This ensures a reliable return address so you can be |
| 453 | can be contacted for further details. | 489 | contacted for further details. |
| 454 | 490 | ||
| 455 | RMS explains: | 491 | Be sure to read the "Bugs" section of the Emacs manual before reporting a |
| 492 | bug to bug-gnu-emacs! The manual describes in detail how to submit a | ||
| 493 | useful bug report. (See question 3 if you don't know how to read the | ||
| 494 | manual.) | ||
| 495 | |||
| 496 | RMS says: | ||
| 456 | 497 | ||
| 457 | Sending bug reports to help-gnu-emacs (which has the effect of posting | 498 | Sending bug reports to help-gnu-emacs (which has the effect of posting |
| 458 | on gnu.emacs.help) is undesirable because it takes the time of an | 499 | on gnu.emacs.help) is undesirable because it takes the time of an |
| @@ -468,45 +509,51 @@ General Questions | |||
| 468 | then after a suitable delay (such as a week) it is okay to post on | 509 | then after a suitable delay (such as a week) it is okay to post on |
| 469 | gnu.emacs.help asking if anyone can help you. | 510 | gnu.emacs.help asking if anyone can help you. |
| 470 | 511 | ||
| 471 | If you are unsure whether you have a bug, RMS describes how to tell: | 512 | If you are unsure whether you have found a bug, consider the following |
| 513 | non-exhaustive list, courtesy of RMS: | ||
| 472 | 514 | ||
| 473 | ... if Emacs crashes, that is a bug. If Emacs gets compilation errors | 515 | If Emacs crashes, that is a bug. If Emacs gets compilation errors |
| 474 | while building, that is a bug. If Emacs crashes while building, that | 516 | while building, that is a bug. If Emacs crashes while building, that |
| 475 | is a bug. If Lisp code does not do what the documentation says it | 517 | is a bug. If Lisp code does not do what the documentation says it |
| 476 | does, that is a bug. | 518 | does, that is a bug. |
| 477 | 519 | ||
| 478 | 11: How do I unsubscribe to this mailing list? | 520 | 11: How do I unsubscribe from this mailing list? |
| 479 | 521 | ||
| 480 | If you are receiving a GNU mailing list named `XXX', you might be able to | 522 | If you are receiving a GNU mailing list named "XXX", you might be able to |
| 481 | unsubscribe to it by sending a request to the address | 523 | unsubscribe from it by sending a request to the address |
| 482 | `XXX-request@prep.ai.mit.edu'. However, this will not work if you are | 524 | <XXX-request@gnu.org>. However, this will not work if you are |
| 483 | not listed on the main mailing list, but instead receive the mail from a | 525 | not listed on the main mailing list, but instead receive the mail from a |
| 484 | distribution point. In that case, you will have to track down at which | 526 | distribution point. In that case, you will have to track down at which |
| 485 | distribution point you are listed. Inspecting the `Received:' headers on | 527 | distribution point you are listed. Inspecting the "Received:" headers on |
| 486 | the mail messages may help, along with liberal use of the `EXPN' or | 528 | the mail messages may help, along with liberal use of the "EXPN" or |
| 487 | `VRFY' sendmail commands through `telnet <site-address> smtp'. Ask your | 529 | "VRFY" sendmail commands through "telnet <site-address> smtp". Ask your |
| 488 | postmaster for help. | 530 | postmaster for help. |
| 489 | 531 | ||
| 490 | 12: What is the current address of the FSF? | 532 | 12: What is the current address of the FSF? |
| 491 | 533 | ||
| 492 | E-mail address: gnu@prep.ai.mit.edu | 534 | E-mail: gnu@gnu.org |
| 493 | Phone number: (617) 542-5942 | 535 | Telephone: +1-617-542-5942 |
| 536 | Fax: +1-617-542-2652 | ||
| 537 | World Wide Web: http://www.gnu.org/ | ||
| 538 | |||
| 494 | Postal address: | 539 | Postal address: |
| 495 | Free Software Foundation, Inc. | 540 | Free Software Foundation |
| 496 | 59 Temple Place - Suite 330 | 541 | 59 Temple Place - Suite 330 |
| 497 | Boston, MA 02111-1307, USA. | 542 | Boston, MA 02111-1307 |
| 543 | USA | ||
| 498 | 544 | ||
| 499 | For details on how to order, see the file etc/ORDERS. | 545 | For details on how to order items directly from the FSF, see the file |
| 546 | etc/ORDERS. | ||
| 500 | 547 | ||
| 501 | 548 | ||
| 502 | On-line Help, Printed Manuals, Other Sources of Help | 549 | On-line Help, Printed Manuals, Other Sources of Help |
| 503 | 550 | ||
| 504 | 13: I'm just starting GNU Emacs; how do I do basic editing? | 551 | 13: I'm just starting Emacs; how do I do basic editing? |
| 505 | 552 | ||
| 506 | Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is how | 553 | Type "C-h t" to invoke the self-paced tutorial. Just typing `C-h' enters |
| 507 | to enter the help system. | 554 | the help system. |
| 508 | 555 | ||
| 509 | WARNING: Your system administrator may have changed C-h to act like DEL | 556 | WARNING: Your system administrator may have changed `C-h' to act like DEL |
| 510 | to deal with local keyboards. You can use M-x help-for-help instead to | 557 | to deal with local keyboards. You can use M-x help-for-help instead to |
| 511 | invoke help. To discover what key (if any) invokes help on your system, | 558 | invoke help. To discover what key (if any) invokes help on your system, |
| 512 | type "M-x where-is RET help-for-help RET". This will print a | 559 | type "M-x where-is RET help-for-help RET". This will print a |
| @@ -515,16 +562,20 @@ On-line Help, Printed Manuals, Other Sources of Help | |||
| 515 | sequences invokes help. | 562 | sequences invokes help. |
| 516 | 563 | ||
| 517 | NOTE: Emacs help works best if it is invoked by a single key whose value | 564 | NOTE: Emacs help works best if it is invoked by a single key whose value |
| 518 | should be stored in the variable help-char. Andrew Arensburger | 565 | should be stored in the variable help-char. |
| 519 | <arensb@kong.gsfc.nasa.gov> wrote a patch that allows the help facility | ||
| 520 | to work properly when invoked by multiple character sequences. | ||
| 521 | 566 | ||
| 522 | 14: How do I find out how to do something in GNU Emacs? | 567 | There is also a WWW-based tutorial for Emacs 18, much of which is also |
| 568 | relevant for Emacs 20, available at | ||
| 569 | |||
| 570 | http://kufacts.cc.ukans.edu/cwis/writeups/misc/emacsguide.html | ||
| 571 | |||
| 572 | 14: How do I find out how to do something in Emacs? | ||
| 523 | 573 | ||
| 524 | There are several methods for finding out how to do things in Emacs. | 574 | There are several methods for finding out how to do things in Emacs. |
| 525 | 575 | ||
| 526 | * The complete text of the Emacs manual is available on-line via the Info | 576 | * The complete text of the Emacs manual is available on-line via the Info |
| 527 | hypertext reader. Type "C-h i" to invoke Info. | 577 | hypertext reader. Type "C-h i" to invoke Info. Typing `h' immediately |
| 578 | after entering Info will provide a short tutorial on how to use it. | ||
| 528 | 579 | ||
| 529 | * You can order a hardcopy of the manual from the FSF. See question 15. | 580 | * You can order a hardcopy of the manual from the FSF. See question 15. |
| 530 | 581 | ||
| @@ -541,76 +592,65 @@ On-line Help, Printed Manuals, Other Sources of Help | |||
| 541 | certain word using M-x apropos. | 592 | certain word using M-x apropos. |
| 542 | 593 | ||
| 543 | * There are many other commands in Emacs for getting help and | 594 | * There are many other commands in Emacs for getting help and |
| 544 | information. To get a list of these commands, type "C-h C-h C-h". | 595 | information. To get a list of these commands, type `?' after `C-h'. |
| 545 | 596 | ||
| 546 | 15: How do I get a printed copy of the GNU Emacs manual? | 597 | 15: How do I get a printed copy of the Emacs manual? |
| 547 | 598 | ||
| 548 | You can order a printed copy of the GNU Emacs manual from the FSF. For | 599 | You can order a printed copy of the Emacs manual from the FSF. For |
| 549 | details see the file etc/ORDERS. | 600 | details see the file etc/ORDERS. |
| 550 | 601 | ||
| 551 | The full TeX source for the manual also comes in the `man' directory of | 602 | The full TeX source for the manual also comes in the "man" directory of |
| 552 | the Emacs distribution, if you're daring enough to try to print out this | 603 | the Emacs distribution, if you're daring enough to try to print out this |
| 553 | 420 page manual yourself (see question 18). | 604 | 440-page manual yourself (see question 18). |
| 554 | 605 | ||
| 555 | If you absolutely have to print your own copy, and you don't have TeX, | 606 | If you absolutely have to print your own copy, and you don't have TeX, |
| 556 | you can get a PostScript version via anonymous FTP: | 607 | you can get a PostScript version from |
| 557 | |||
| 558 | /ftp.cs.ubc.ca:pub/archive/gnu/manuals_ps/emacs-19.21.ps.gz | ||
| 559 | 608 | ||
| 560 | This site requests that you please CONFINE ANY MAJOR FTPING TO LATE | 609 | ftp://ftp.cs.ubc.ca/pub/archive/gnu/manuals_ps/emacs-19.21.ps.gz |
| 561 | EVENINGS OR EARLY MORNINGS OUR TIME (Pacific time zone, GMT-8). A DVI | ||
| 562 | version is also available via FTP: | ||
| 563 | 610 | ||
| 564 | /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.gz | 611 | Note that the above document is somewhat out of date, although most major |
| 612 | concepts are still relevant. This site requests that you please *confine | ||
| 613 | any major ftping to late evenings or early mornings, local time* (Pacific | ||
| 614 | time zone, GMT-8). | ||
| 565 | 615 | ||
| 566 | and all prep mirrors (See question 80 for a list). | 616 | A WWW version of the (somewhat outdated) Emacs 19.34 manual is at |
| 567 | 617 | ||
| 568 | A WWW version of the Emacs manual is available on the World-Wide Web at | 618 | http://www.cl.cam.ac.uk/texinfodoc/emacs_toc.html |
| 569 | URL | ||
| 570 | |||
| 571 | http://asis01.cern.ch/infohtml/emacs/emacs.html | ||
| 572 | 619 | ||
| 573 | See also question 14 for how to view the manual on-line. | 620 | See also question 14 for how to view the manual on-line. |
| 574 | 621 | ||
| 575 | 16: Where can I get documentation on GNU Emacs Lisp? | 622 | 16: Where can I get documentation on Emacs Lisp? |
| 576 | 623 | ||
| 577 | Within Emacs, you can type "C-h f" to get the documentation for a | 624 | Within Emacs, you can type "C-h f" to get the documentation for a |
| 578 | function, "C-h v" for a variable. | 625 | function, "C-h v" for a variable. |
| 579 | 626 | ||
| 580 | For more information, obtain the GNU Emacs Lisp Reference Manual. | 627 | For more information, obtain the Emacs Lisp Reference Manual. Details on |
| 581 | Details on ordering it from FSF are in file etc/ORDERS. | 628 | ordering it from FSF are in file etc/ORDERS. |
| 582 | |||
| 583 | For on-line use, a set of pregenerated Info files is available with the | ||
| 584 | Texinfo source for the Emacs Lisp manual via anonymous FTP at | ||
| 585 | 629 | ||
| 586 | /prep.ai.mit.edu:pub/gnu/elisp-manual-19-2.3.tar.gz | 630 | The Emacs Lisp Reference Manual is also available on-line, in Info |
| 631 | format. Texinfo source for the manual (along with pregenerated Info | ||
| 632 | files) is available at | ||
| 587 | 633 | ||
| 588 | and all prep mirrors (See question 80 for a list). | 634 | ftp://ftp.gnu.org/pub/gnu/elisp-manual-20-2.5.tar.gz |
| 589 | 635 | ||
| 590 | You can also create the Info files from the Texinfo source. See question | 636 | and all mirrors of ftp.gnu.org (See question 92 for a list). See |
| 591 | 17 for details on how to install these files on-line. | 637 | 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. | ||
| 592 | 639 | ||
| 593 | A WWW version of the Emacs Lisp Reference Manual is available at | 640 | WWW versions of the Emacs Lisp Reference Manual are available at |
| 594 | 641 | ||
| 642 | http://www.cl.cam.ac.uk/texinfodoc/elisp_1.html | ||
| 595 | http://www.cs.indiana.edu/usr/local/www/elisp/lispref/elisp_toc.html | 643 | http://www.cs.indiana.edu/usr/local/www/elisp/lispref/elisp_toc.html |
| 596 | 644 | ||
| 597 | An introduction to Emacs Lisp is available at | ||
| 598 | |||
| 599 | http://www.cs.indiana.edu/usr/local/www/elisp/elisp-intro.html | ||
| 600 | |||
| 601 | Of course, you can also print this 760-page manual yourself. For | ||
| 602 | instructions on how to do this, see question 18. | ||
| 603 | |||
| 604 | 17: How do I install a piece of Texinfo documentation? | 645 | 17: How do I install a piece of Texinfo documentation? |
| 605 | 646 | ||
| 606 | First, you must turn the Texinfo files into Info files. You may do this | 647 | First, you must turn the Texinfo files into Info files. You may do this |
| 607 | within Emacs, using "M-x texinfo-format-buffer", or with the standalone | 648 | using the stand-alone "makeinfo" program, available as part of the latest |
| 608 | `makeinfo' program, available as part of the latest Texinfo package via | 649 | Texinfo package at |
| 609 | anonymous ftp from: | ||
| 610 | 650 | ||
| 611 | /prep.ai.mit.edu:pub/gnu/texinfo-3.1.tar.gz | 651 | ftp://ftp.gnu.org/pub/gnu/texinfo-3.12.tar.gz |
| 612 | 652 | ||
| 613 | and all prep mirrors (See question 80 for a list). | 653 | and all mirrors of ftp.gnu.org (see question 92 for a list). |
| 614 | 654 | ||
| 615 | For information about the Texinfo format, read the Texinfo manual which | 655 | For information about the Texinfo format, read the Texinfo manual which |
| 616 | comes with Emacs. This manual also comes installed in Info format, so | 656 | comes with Emacs. This manual also comes installed in Info format, so |
| @@ -619,7 +659,7 @@ On-line Help, Printed Manuals, Other Sources of Help | |||
| 619 | Neither texinfo-format-buffer nor makeinfo installs the resulting Info | 659 | Neither texinfo-format-buffer nor makeinfo installs the resulting Info |
| 620 | files in Emacs's Info tree. To install Info files: | 660 | files in Emacs's Info tree. To install Info files: |
| 621 | 661 | ||
| 622 | 1. Move the files to the `info' directory in the installed Emacs | 662 | 1. Move the files to the "info" directory in the installed Emacs |
| 623 | distribution. See question 4 if you don't know where that is. | 663 | distribution. See question 4 if you don't know where that is. |
| 624 | 664 | ||
| 625 | 2. Edit the file info/dir in the installed Emacs distribution, and add a | 665 | 2. Edit the file info/dir in the installed Emacs distribution, and add a |
| @@ -628,43 +668,50 @@ On-line Help, Printed Manuals, Other Sources of Help | |||
| 628 | 668 | ||
| 629 | * Topic: (relative-pathname). Short description of topic. | 669 | * Topic: (relative-pathname). Short description of topic. |
| 630 | 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 | |||
| 631 | If you want to install Info files and you don't have the necessary | 676 | If you want to install Info files and you don't have the necessary |
| 632 | privileges, you have several options: | 677 | privileges, you have several options: |
| 633 | 678 | ||
| 634 | * Info files don't actually need to be installed before being used. You | 679 | * Info files don't actually need to be installed before being used. You |
| 635 | can feed a file name to the Info-goto-node command (invoked by pressing | 680 | can feed a file name to the Info-goto-node command (invoked by pressing |
| 636 | "g" in Info mode) by typing the name of the file in parentheses. This | 681 | `g' in Info mode) by typing the name of the file in parentheses. This |
| 637 | goes to the node named `Top' in that file. For example, to view a Info | 682 | goes to the node named "Top" in that file. For example, to view a Info |
| 638 | file named `XXX' in your home directory, you can type this: | 683 | file named "XXX" in your home directory, you can type this: |
| 639 | 684 | ||
| 640 | C-h i g (~/XXX) RET | 685 | C-h i g (~/XXX) RET |
| 641 | 686 | ||
| 642 | * You can create your own Info directory. You can tell Emacs where the | 687 | * You can create your own Info directory. You can tell Emacs where the |
| 643 | Info directory is by adding its pathname to the value of the variable | 688 | Info directory is by adding its pathname to the value of the variable |
| 644 | Info-default-directory-list. For example, to use a private Info | 689 | Info-default-directory-list. For example, to use a private Info |
| 645 | directory which is a subdirectory of your home directory named `Info', | 690 | directory which is a subdirectory of your home directory named "Info", |
| 646 | you could put this in your .emacs file: | 691 | you could put this in your .emacs file: |
| 647 | 692 | ||
| 648 | (setq Info-default-directory-list | 693 | (setq Info-default-directory-list |
| 649 | (cons "~/Info" Info-default-directory-list)) | 694 | (cons "~/Info" Info-default-directory-list)) |
| 650 | 695 | ||
| 651 | You will need a top-level Info file named `dir' in this directory which | 696 | You will need a top-level Info file named "dir" in this directory which |
| 652 | has everything the system dir file has in it, except it should list | 697 | has everything the system dir file has in it, except it should list |
| 653 | only entries for Info files in that directory. You might not need it | 698 | only entries for Info files in that directory. You might not need it |
| 654 | if all files in this directory were referenced by other `dir' files. | 699 | if all files in this directory were referenced by other "dir" files. |
| 655 | The node lists from all dir files in Info-default-directory-list are | 700 | The node lists from all dir files in Info-default-directory-list are |
| 656 | merged by the Info system. | 701 | merged by the Info system. |
| 657 | 702 | ||
| 658 | 18: How do I print a Texinfo file? | 703 | 18: How do I print a Texinfo file? |
| 659 | 704 | ||
| 660 | NOTE: You can't get nice printed output from Info files; you must still | 705 | NOTE: You can't get nicely printed output from Info files; you must still |
| 661 | have the original Texinfo source file for the manual you want to print. | 706 | have the original Texinfo source file for the manual you want to print. |
| 662 | 707 | ||
| 708 | Assuming you have TeX installed on your system, follow these steps: | ||
| 709 | |||
| 663 | 1. Make sure the first line of the Texinfo file looks like this: | 710 | 1. Make sure the first line of the Texinfo file looks like this: |
| 664 | 711 | ||
| 665 | \input texinfo | 712 | \input texinfo |
| 666 | 713 | ||
| 667 | You may need to alter `texinfo' to the full pathname of the | 714 | You may need to change "texinfo" to the full pathname of the |
| 668 | texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy | 715 | texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy |
| 669 | or link it into the current directory). | 716 | or link it into the current directory). |
| 670 | 717 | ||
| @@ -672,7 +719,7 @@ On-line Help, Printed Manuals, Other Sources of Help | |||
| 672 | 719 | ||
| 673 | 3. texindex XXX.?? | 720 | 3. texindex XXX.?? |
| 674 | 721 | ||
| 675 | The `texindex' program comes with Emacs as man/texindex.c. | 722 | The texindex program comes with Emacs as man/texindex.c. |
| 676 | 723 | ||
| 677 | 4. tex XXX.texinfo | 724 | 4. tex XXX.texinfo |
| 678 | 725 | ||
| @@ -680,137 +727,90 @@ On-line Help, Printed Manuals, Other Sources of Help | |||
| 680 | your site. | 727 | your site. |
| 681 | 728 | ||
| 682 | To get more general instructions, retrieve the latest Texinfo package | 729 | To get more general instructions, retrieve the latest Texinfo package |
| 683 | mentioned in question 17. | 730 | mentioned in question 17. The "texi2dvi" command from it will perform |
| 731 | the above steps 1 to 4 for you. | ||
| 732 | |||
| 733 | 19: Can I view Info files without using Emacs? | ||
| 684 | 734 | ||
| 685 | 19: Can I view Info files without using GNU Emacs? | 735 | Yes. Here are some alternative programs: |
| 686 | 736 | ||
| 687 | Yes, the `info', `xinfo', `tkinfo', and `ivinfo' programs do this. Info | 737 | * Info, a stand-alone version of the Info program, comes as part of the |
| 688 | uses curses, xinfo uses standard X11 libraries, tkinfo uses Tk/Tcl and | 738 | Texinfo package. See question 17 for details. |
| 689 | ivinfo uses InterViews. You can get Info as part of the latest Texinfo | ||
| 690 | package (see question 17). xinfo is available separately: | ||
| 691 | 739 | ||
| 692 | /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.gz | 740 | * Xinfo, a stand-alone version of the Info program that runs under X |
| 741 | Windows. You can get it at | ||
| 693 | 742 | ||
| 694 | and all prep mirrors (See question 80 for a list). | 743 | ftp://ftp.gnu.org/pub/gnu/xinfo-1.01.01.tar.gz |
| 695 | 744 | ||
| 696 | ivinfo is available in a comp.sources.misc archive or from Tom Horsley | 745 | and all mirrors of ftp.gnu.org (See question 92 for a list). |
| 697 | <tom@ssd.csd.harris.com>. tkinfo is available by anonymous ftp from: | ||
| 698 | 746 | ||
| 699 | /ptolemy.eecs.berkeley.edu:pub/misc/tkinfo-0.6.tar.Z | 747 | * Tkinfo, an Info viewer that runs under X Windows and uses Tcl/Tk. You |
| 700 | /ftp.aud.alcatel.com:tcl/code/tkinfo-0.6.tar.gz | 748 | can get Tkinfo at |
| 701 | 749 | ||
| 702 | For ivinfo, you need Stanford's InterViews C++ X library, available via | 750 | http://math-www.uni-paderborn.de/~axel/tkinfo/ |
| 703 | anonymous ftp from interviews.stanford.edu. (A FAQ on InterViews is | ||
| 704 | available at that site in pub/FAQ.) | ||
| 705 | 751 | ||
| 706 | 20: What informational files are available for GNU Emacs? | 752 | 20: What informational files are available for Emacs? |
| 707 | 753 | ||
| 708 | This isn't a frequently asked question, but it should be! A variety of | 754 | This isn't a frequently asked question, but it should be! A variety of |
| 709 | informational files about GNU Emacs and relevant aspects of the GNU | 755 | informational files about Emacs and relevant aspects of the GNU project |
| 710 | project are available for you to read. | 756 | are available for you to read. |
| 711 | 757 | ||
| 712 | The following files are available in the `etc' directory of the GNU Emacs | 758 | The following files are available in the "etc" directory of the Emacs |
| 713 | distribution, and also the latest versions are available individually via | 759 | distribution (see question 4 if you're not sure where that is). |
| 714 | anonymous FTP (prep.ai.mit.edu:pub/gnu/GNUinfo/): | ||
| 715 | 760 | ||
| 716 | DISTRIB -- GNU Emacs Availability Information, | 761 | COPYING -- Emacs General Public License |
| 717 | including the popular "Free Software Foundation Order Form" | 762 | DISTRIB -- Emacs Availability Information, including the popular |
| 763 | "Free Software Foundation Order Form" | ||
| 764 | FAQ -- Emacs Frequently Asked Questions (You're reading it) | ||
| 718 | FTP -- How to get GNU Software by Internet FTP or by UUCP | 765 | FTP -- How to get GNU Software by Internet FTP or by UUCP |
| 719 | GNU -- The GNU Manifesto | 766 | GNU -- The GNU Manifesto |
| 720 | INTERVIEW -- Richard Stallman discusses his public-domain | 767 | INTERVIEW -- Richard Stallman discusses his public-domain |
| 721 | UNIX-compatible software system with BYTE editors | 768 | UNIX-compatible software system with BYTE editors |
| 722 | MACHINES -- Status of GNU Emacs on Various Machines and Systems | 769 | LPF -- Why you should join the League for Programming Freedom |
| 770 | MACHINES -- Status of Emacs on Various Machines and Systems | ||
| 723 | MAILINGLISTS -- GNU Project Electronic Mailing Lists | 771 | MAILINGLISTS -- GNU Project Electronic Mailing Lists |
| 772 | 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. | ||
| 724 | SERVICE -- GNU Service Directory | 775 | SERVICE -- GNU Service Directory |
| 725 | SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" | 776 | SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" |
| 726 | 777 | ||
| 727 | These files are available in the `etc' directory of the GNU Emacs | 778 | Latest versions of some of the above files are also available at |
| 728 | distribution: | ||
| 729 | 779 | ||
| 730 | COPYING -- GNU Emacs General Public License | 780 | ftp://ftp.gnu.org/pub/gnu/GNUinfo/ |
| 731 | NEWS -- GNU Emacs news, a history of user-visible changes | ||
| 732 | LPF -- Why you should join the League for Programming Freedom | ||
| 733 | FAQ -- GNU Emacs Frequently Asked Questions (You're reading it) | ||
| 734 | |||
| 735 | These files are available via anonymous FTP (prep.ai.mit.edu:pub/gnu/): | ||
| 736 | |||
| 737 | tasks -- GNU Task List | ||
| 738 | standards.text -- GNU Coding Standards | ||
| 739 | |||
| 740 | In addition, all of the above files are available directly from the FSF | ||
| 741 | via e-mail. Of course, please try to get them from a local source first | ||
| 742 | (See question 80 for a list). | ||
| 743 | |||
| 744 | These additional files are available from the FSF via e-mail: | ||
| 745 | |||
| 746 | * GNU's Bulletin, January 1994 | ||
| 747 | GNU's Who | ||
| 748 | GNU's Bulletin | ||
| 749 | What Is the Free Software Foundation? | ||
| 750 | What Is Copyleft? | ||
| 751 | Donations Translate Into Free Software | ||
| 752 | Cygnus Matches Donations! | ||
| 753 | GNUs Flashes | ||
| 754 | What Is the LPF? | ||
| 755 | News from the LPF | ||
| 756 | Free Software Support | ||
| 757 | Project GNU Wish List | ||
| 758 | Towards a New Strategy of OS Design | ||
| 759 | Part 1: A More Usable Approach to OS Design | ||
| 760 | Part 2: A Look at Some of the Hurd's Beasts | ||
| 761 | Second Annual GNU Seminar in Japan | ||
| 762 | GNU and other Free Software in Japan | ||
| 763 | Freely Available Texts | ||
| 764 | OCEAN Integrated-Circuit Design System | ||
| 765 | Hundred Acre Consulting Expands | ||
| 766 | Project GNU Status Report | ||
| 767 | GNU Documentation | ||
| 768 | GNU Software Available Now | ||
| 769 | Source Code CD-ROM | ||
| 770 | Compiler Tools Binaries CD-ROM | ||
| 771 | Tape & CD-ROM Subscription Service | ||
| 772 | How to Get GNU Software | ||
| 773 | The Deluxe Distribution | ||
| 774 | MS-DOS Distribution | ||
| 775 | Free Software for Microcomputers | ||
| 776 | FSF T-shirt | ||
| 777 | Thank GNUs | ||
| 778 | Free Software Foundation Order Form | ||
| 779 | * Legal issues about contributing code to GNU | ||
| 780 | * GNU Project Status Report | ||
| 781 | |||
| 782 | A collection of past GNU's Bulletins is available via anonymous FTP from: | ||
| 783 | |||
| 784 | /ftp.funet.fi:pub/gnu/Bulletins/ | ||
| 785 | |||
| 786 | The latest bulletin is available on the World-Wide Web at URL: | ||
| 787 | 781 | ||
| 788 | http://info.desy.de/gnu/www/gnu_bulletin_9401/gnu_bulletin_9401_toc.html | 782 | More GNU information, including back issues of the "GNU's Bulletin", are at |
| 789 | 783 | ||
| 790 | 21: Where can I get help in installing GNU Emacs? | 784 | http://www.gnu.org/bulletins/bulletins.html |
| 785 | http://www.cs.pdx.edu/~trent/gnu/gnu.html | ||
| 791 | 786 | ||
| 792 | Look in etc/SERVICE for names of companies and individuals who will sell | 787 | 21: Where can I get help in installing Emacs? |
| 793 | you this type of service. An up-to-date version of the SERVICE file is | ||
| 794 | available on prep.ai.mit.edu (also see question 20). | ||
| 795 | 788 | ||
| 796 | You might also try the help-gnu-emacs mailing list, which is also known | 789 | See question 84 for some basic installation hints, and question 83 if you |
| 797 | as the gnu.emacs.help newsgroup, although many installation questions can | 790 | have problems with the installation. |
| 798 | easily be answered by looking at the PROBLEMS file (in the top-level | 791 | |
| 799 | directory when you unpack the Emacs source). | 792 | 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 | ||
| 794 | using Emacs. An up-to-date version this file is available on ftp.gnu.org | ||
| 795 | (see question 20). | ||
| 800 | 796 | ||
| 801 | 22: Where can I get the latest version of this document (the FAQ list)? | 797 | 22: Where can I get the latest version of this document (the FAQ list)? |
| 802 | 798 | ||
| 803 | The GNU Emacs FAQ is available in several ways: | 799 | The Emacs FAQ is available in several ways: |
| 800 | |||
| 801 | * Inside of Emacs itself. You can get it from selecting the "Emacs FAQ" | ||
| 802 | option from the "Help" menu at the top of any Emacs frame, or by typing | ||
| 803 | C-h F (M-x view-emacs-FAQ). | ||
| 804 | 804 | ||
| 805 | * Via USENET. If you can read news, the FAQ should be available in your | 805 | * Via USENET. If you can read news, the FAQ should be available in your |
| 806 | news spool, in both the gnu.emacs.help and comp.emacs newsgroups. | 806 | news spool, in both the gnu.emacs.help and comp.emacs newsgroups. |
| 807 | Every news reader should allow you to read any news article that is | 807 | Every news reader should allow you to read any news article that is |
| 808 | still in the news spool, even if you have read the article before. You | 808 | still in the news spool, even if you have read the article before. You |
| 809 | may need to read the instructions for your news reader to discover how | 809 | may need to read the instructions for your news reader to discover how |
| 810 | to do this. In `rn', this command will do this for you at the article | 810 | to do this. In rn, this command will do this for you at the article |
| 811 | selection level: | 811 | selection level: |
| 812 | 812 | ||
| 813 | ?GNU Emacs FAQ?rc:m | 813 | ?GNU Emacs Frequently Asked Questions?rc:m |
| 814 | 814 | ||
| 815 | In Gnus, you should type "C-u c-x c-s" from the *Summary* buffer or | 815 | In Gnus, you should type "C-u c-x c-s" from the *Summary* buffer or |
| 816 | "C-u SPC" from the *Newsgroup* buffer to view all articles in a | 816 | "C-u SPC" from the *Newsgroup* buffer to view all articles in a |
| @@ -818,114 +818,191 @@ On-line Help, Printed Manuals, Other Sources of Help | |||
| 818 | 818 | ||
| 819 | If the FAQ articles have expired and been deleted from your news spool, | 819 | 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 | 820 | it might (or might not) do some good to complain to your news |
| 821 | administrator, because the most recent FAQ should not expire before for | 821 | administrator, because the most recent FAQ should not expire for a |
| 822 | a while. | 822 | while. |
| 823 | 823 | ||
| 824 | * Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP | 824 | * Via anonymous FTP. You can always fetch the latest FAQ at |
| 825 | from the-tech.mit.edu, in ~ftp/pub/GNU-Emacs/. | ||
| 826 | 825 | ||
| 827 | * In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest | 826 | ftp://ftp.lerner.co.il/pub/emacs/faq.txt |
| 828 | available version of the FAQ at the time of release has been part of | 827 | ftp://ftp.lerner.co.il/pub/emacs/faq.gz |
| 829 | the GNU Emacs distribution as file etc/FAQ. | ||
| 830 | 828 | ||
| 831 | * Via the World-Wide Web. Point your favorite Web browser (Mosaic, Lynx, | 829 | http://ftp.lerner.co.il/emacs/faq.txt |
| 832 | w3-mode) to one of the following URLs: | 830 | http://ftp.lerner.co.il/emacs/faq.gz |
| 833 | 831 | ||
| 834 | http://www.cis.ohio-state.edu/hypertext/faq/usenet/GNU-Emacs-FAQ/top.html | 832 | * In the Emacs distribution. Since Emacs 18.56, the FAQ at the time of |
| 835 | http://scwww.ucs.indiana.edu/FAQ/Emacs/ | 833 | release has been part of the Emacs distribution as etc/FAQ (see |
| 834 | question 4). | ||
| 836 | 835 | ||
| 837 | * If all goes well, this FAQ should also be available via anonymous ftp | 836 | * Via the World Wide Web. Point your favorite Web browser at: |
| 838 | and e-mail from rtfm.mit.edu, the main repository for FAQs and other | ||
| 839 | items posted to news.answers. However, we are omitting explicit | ||
| 840 | directions on how to retrieve the FAQ from rtfm.mit.edu, since it's | ||
| 841 | possible that it won't end up there right away. (We're new at this | ||
| 842 | FAQ-posting business.) Instructions on how to retrieve the FAQ from | ||
| 843 | rtfm.mit.edu should be in the next version of the FAQ. | ||
| 844 | 837 | ||
| 838 | http://www.geek-girl.com/emacs/faq/index.html | ||
| 839 | |||
| 840 | This is an old version, but it works. | ||
| 841 | |||
| 842 | * Via anonymous ftp and e-mail from rtfm.mit.edu (and its mirror in | ||
| 843 | Europe), the main repository for FAQs and other items posted to | ||
| 844 | news.answers. The Emacs FAQs are available at | ||
| 845 | |||
| 846 | ftp://rtfm.mit.edu/pub/usenet/comp.emacs/ | ||
| 847 | ftp://ftp.uni-paderborn.de/pub/doc/FAQ/comp/emacs/ | ||
| 848 | |||
| 849 | If you do not have access to anonymous FTP, you can access the archives | ||
| 850 | using the rtfm.mit.edu mail server. The Emacs FAQ can be retrieved by | ||
| 851 | sending mail to mail-server@rtfm.mit.edu with a blank subject and | ||
| 852 | containing | ||
| 853 | |||
| 854 | send usenet/news.answers/GNU-Emacs-FAQ/diffs | ||
| 855 | send usenet/news.answers/GNU-Emacs-FAQ/part1 | ||
| 856 | send usenet/news.answers/GNU-Emacs-FAQ/part2 | ||
| 857 | send usenet/news.answers/GNU-Emacs-FAQ/part3 | ||
| 858 | send usenet/news.answers/GNU-Emacs-FAQ/part4 | ||
| 859 | send usenet/news.answers/GNU-Emacs-FAQ/part5 | ||
| 860 | |||
| 861 | For more information, send email to mail-server@rtfm.mit.edu with | ||
| 862 | "help" and "index" in the body on separate lines. | ||
| 863 | |||
| 845 | * As the very last resort, you can e-mail a request to | 864 | * As the very last resort, you can e-mail a request to |
| 846 | gnu-emacs-faq-maintainers@bigbird.bu.edu. Don't do this unless you | 865 | emacs-faq@lerner.co.il. Don't do this unless you have made a serious |
| 847 | have made a serious effort to obtain the FAQ list via one of the | 866 | effort to obtain the FAQ list via one of the methods listed above. |
| 848 | methods listed above. | 867 | |
| 849 | 868 | ||
| 850 | Status of Emacs | 869 | Status of Emacs |
| 851 | 870 | ||
| 852 | 23: Where does the name "Emacs" come from? | 871 | 23: Where does the name "Emacs" come from? |
| 853 | 872 | ||
| 854 | Emacs originally was an acronym for Editor MACroS. RMS says he "picked | 873 | Emacs originally was an acronym for Editor MACroS. RMS says he "picked |
| 855 | the name `Emacs' because `E' was not in use as an abbreviation on ITS at | 874 | the name Emacs because `E' was not in use as an abbreviation on ITS at |
| 856 | the time." The first Emacs was a set of macros written in 1976 at MIT by | 875 | the time." The first Emacs was a set of macros written in 1976 at MIT by |
| 857 | RMS for the editor TECO (Text Editor and COrrector (originally Tape | 876 | RMS for the editor TECO (Text Editor and COrrector, originally Tape |
| 858 | Editor and COrrector)) under ITS on a PDP-10. RMS had already extended | 877 | Editor and COrrector) under ITS on a PDP-10. RMS had already extended |
| 859 | TECO with a "real-time" full screen mode with active keys. Emacs was | 878 | TECO with a "real-time" full screen mode with reprogrammable keys. Emacs |
| 860 | started by Guy Steele <gls@think.com> as a project to unify the many | 879 | was started by Guy Steele <gls@east.sun.com> as a project to unify the |
| 861 | divergent TECO command sets and key bindings at MIT. | 880 | many divergent TECO command sets and key bindings at MIT, and completed |
| 881 | by RMS. | ||
| 862 | 882 | ||
| 863 | Many people have said that TECO code looks a lot like line noise. See | 883 | Many people have said that TECO code looks a lot like line noise. See |
| 864 | alt.lang.teco if you are interested. Someone has written a TECO | 884 | alt.lang.teco if you are interested. Someone has written a TECO |
| 865 | implementation in Emacs Lisp; it would be an interesting project to run | 885 | implementation in Emacs Lisp (to find it, see question 90); it would be |
| 866 | the original TECO Emacs inside of GNU Emacs. | 886 | an interesting project to run the original TECO Emacs inside of Emacs. |
| 867 | 887 | ||
| 868 | 24: What is the latest version of GNU Emacs? | 888 | For some not-so-serious alternative reasons for Emacs to have that name, |
| 889 | check out etc/JOKES (see question 4). | ||
| 869 | 890 | ||
| 870 | GNU Emacs 19.27 is the current version as of 6 September, 1994. | 891 | 24: What is the latest version of Emacs? |
| 871 | 892 | ||
| 872 | 25: What is different about GNU Emacs 19? | 893 | Emacs 20.4 is the current version as of this writing. |
| 894 | |||
| 895 | 25: What is different about Emacs 20? | ||
| 873 | 896 | ||
| 874 | To find out what has changed in recent versions, type C-h n (M-x | 897 | To find out what has changed in recent versions, type C-h n (M-x |
| 875 | view-emacs-news). The oldest changes are at the bottom of the file, so | 898 | view-emacs-news). The oldest changes are at the bottom of the file, so |
| 876 | you might want to read it starting there, rather than at the top. | 899 | you might want to read it starting there, rather than at the top. |
| 877 | 900 | ||
| 878 | The most obvious changes have to do with the user interface -- GNU Emacs | 901 | The differences between Emacs versions 18 and 19 was rather dramatic; the |
| 879 | 19 is fully X-aware, and provides pull-down menus and scroll bars. Emacs | 902 | introduction of frames, faces, and colors on windowing systems was |
| 880 | 19 also supports fonts and colors, including context-specific | 903 | obvious to even the most casual user. |
| 881 | highlighting of source code and other types of buffers. | ||
| 882 | 904 | ||
| 883 | Other changes include a line number mode, which displays the current line | 905 | There are differences between Emacs versions 19 and 20 as well, but many |
| 884 | number in the mode line, and default bindings for arrow and paging keys | 906 | are more subtle or harder to find. Among the changes are the inclusion |
| 885 | that work. | 907 | of MULE code for languages that use non-Latin characters, the "customize" |
| 908 | facility for modifying variables without having to use Lisp, and | ||
| 909 | automatic conversion of files from Macintosh, Microsoft, and Unix | ||
| 910 | platforms. | ||
| 886 | 911 | ||
| 887 | Lower-level changes include a smarter memory allocation scheme (Emacs now | 912 | Many Lisp packages have been updated and enhanced for Emacs 20. |
| 888 | returns memory to the operating system when you kill buffers), a better | ||
| 889 | byte-compiler, and a source-level Emacs Lisp debugger. | ||
| 890 | 913 | ||
| 891 | There are also a number of new Lisp packages, ranging from dunnet (an | ||
| 892 | Adventure-like program) to mldrag (allows you to drag the mode line up | ||
| 893 | and down with the mouse buttons) to gud (Grand Unified Debugger mode, for | ||
| 894 | many flavors of debuggers). A number of popular Lisp packages, such as | ||
| 895 | SuperCite and the calendar/diary, are also included. | ||
| 896 | 914 | ||
| 897 | Common Things People Want To Do | 915 | Common Things People Want To Do |
| 898 | 916 | ||
| 899 | 26: How do I set up a .emacs file properly? | 917 | 26: How do I set up a .emacs file properly? |
| 900 | 918 | ||
| 901 | See `Init File' in the on-line manual. | 919 | See "Init File" in the on-line manual. |
| 902 | 920 | ||
| 903 | WARNING: In general, new Emacs users should not have .emacs files, | 921 | WARNING: In general, new Emacs users should not have .emacs files, |
| 904 | because it causes confusing non-standard behavior. Then they send | 922 | because it causes confusing non-standard behavior. Then they send |
| 905 | questions to help-gnu-emacs asking why Emacs isn't behaving as | 923 | questions to help-gnu-emacs asking why Emacs isn't behaving as |
| 906 | documented. :-) | 924 | documented. :-) |
| 907 | 925 | ||
| 926 | 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 | ||
| 928 | unfamiliar with Emacs Lisp to modify their .emacs files in a relatively | ||
| 929 | straightforward way, using menus rather than Lisp code. While all the | ||
| 930 | packages included with Emacs (are meant to) support Customize now, | ||
| 931 | packages from other sources may not. | ||
| 932 | |||
| 933 | 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 | ||
| 935 | directly. Simple configuration options are described rather completely in | ||
| 936 | the "Init File" section of the on-line manual, for users interested in | ||
| 937 | performing frequently requested, basic tasks. | ||
| 938 | |||
| 908 | 27: How do I debug a .emacs file? | 939 | 27: How do I debug a .emacs file? |
| 909 | 940 | ||
| 910 | First start Emacs with the `-debug-init' command-line option. This | 941 | Start Emacs with the "-debug-init" command-line option. This enables the |
| 911 | option enables the Emacs Lisp debugger before evaluating your .emacs | 942 | Emacs Lisp debugger before evaluating your .emacs file, and places you in |
| 912 | file, and places you in the debugger if something goes wrong. The top | 943 | the debugger if something goes wrong. The top line in the trace-back |
| 913 | line in the trace-back buffer will be the error message, and the second | 944 | buffer will be the error message, and the second or third line of that |
| 914 | or third line of that buffer will display the Lisp code from your .emacs | 945 | buffer will display the Lisp code from your .emacs file that caused the |
| 915 | that caused the problem. | 946 | problem. |
| 916 | 947 | ||
| 917 | You can also evaluate an individual function or argument to a function in | 948 | You can also evaluate an individual function or argument to a function in |
| 918 | your .emacs file by moving the cursor to the end of the function or | 949 | your .emacs file by moving the cursor to the end of the function or |
| 919 | argument and typing "C-x C-e" (M-x eval-last-sexp). | 950 | argument and typing "C-x C-e" (M-x eval-last-sexp). "C-M-x" (M-x |
| 951 | eval-defun) is particularly useful for re-evaluating "defvar" and | ||
| 952 | "customize" forms. | ||
| 920 | 953 | ||
| 921 | Use "C-h v" (M-x describe-variable) to check the value of variables which | 954 | Use "C-h v" (M-x describe-variable) to check the value of variables which |
| 922 | you are trying to set or use. | 955 | you are trying to set or use. |
| 923 | 956 | ||
| 924 | 28: How do I make Emacs display the current column number? | 957 | 28: How do I make Emacs display the current line (or column) number? |
| 958 | |||
| 959 | To toggle having Emacs automatically display the current line number of the | ||
| 960 | point in the mode line, do "M-x line-number-mode". (This option is on by | ||
| 961 | default.) Note that Emacs will not display the line number if the buffer is | ||
| 962 | larger than the value of the variable line-number-display-limit. | ||
| 963 | |||
| 964 | As of Emacs 20, you can similarly display the current column with "M-x | ||
| 965 | column-number-mode", by putting the form | ||
| 966 | |||
| 967 | (setq column-number-mode t) | ||
| 968 | |||
| 969 | in your .emacs file or by using Customize. | ||
| 970 | |||
| 971 | 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 | ||
| 973 | mode-line-format (using "C-h v mode-line-format RET") for more | ||
| 974 | information on how to set and use this variable. | ||
| 975 | |||
| 976 | 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 | ||
| 978 | instructions on how to get it. | ||
| 979 | |||
| 980 | 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 | ||
| 982 | feature. | ||
| 983 | |||
| 984 | 29: How can I modify the titlebar to contain the current filename? | ||
| 985 | |||
| 986 | 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 | ||
| 988 | mode-line-format. (Use "C-h v" or "M-x describe-variable" to get | ||
| 989 | information about one or both of these variables.) | ||
| 990 | |||
| 991 | By default, the titlebar for a frame does contain the name of the buffer | ||
| 992 | currently being visited, except if there is a single frame. In such a | ||
| 993 | case, the titlebar contains the name of the user and the machine at which | ||
| 994 | Emacs was invoked. This is done by setting frame-title-format to the | ||
| 995 | default value of | ||
| 925 | 996 | ||
| 926 | Do M-x column-number-mode. | 997 | (multiple-frames "%b" ("" invocation-name "@" system-name)) |
| 927 | 998 | ||
| 928 | 29: How do I turn on abbrevs by default just in mode XXX? | 999 | To modify the behavior such that frame titlebars contain the buffer's |
| 1000 | name regardless of the number of existing frames, include the following | ||
| 1001 | in your .emacs: | ||
| 1002 | |||
| 1003 | (setq frame-title-format "%b") | ||
| 1004 | |||
| 1005 | 30: How do I turn on abbrevs by default just in mode XXX? | ||
| 929 | 1006 | ||
| 930 | Put this in your .emacs file: | 1007 | Put this in your .emacs file: |
| 931 | 1008 | ||
| @@ -934,56 +1011,61 @@ Common Things People Want To Do | |||
| 934 | (file-error nil)) | 1011 | (file-error nil)) |
| 935 | 1012 | ||
| 936 | (add-hook 'XXX-mode-hook | 1013 | (add-hook 'XXX-mode-hook |
| 937 | (function | 1014 | (lambda () |
| 938 | (lambda () | 1015 | (setq abbrev-mode t))) |
| 939 | (setq abbrev-mode t)))) | ||
| 940 | 1016 | ||
| 941 | 30: How do I turn on auto-fill mode by default? | 1017 | 31: How do I turn on auto-fill mode by default? |
| 942 | 1018 | ||
| 943 | To turn on auto-fill mode just once for one buffer, use "M-x | 1019 | To turn on auto-fill mode just once for one buffer, use "M-x |
| 944 | auto-fill-mode". To turn it on for every buffer in, for example, Text | 1020 | auto-fill-mode". |
| 945 | mode, do this: | 1021 | |
| 1022 | To turn it on for every buffer in a certain mode, you must use the hook | ||
| 1023 | for that mode. For example, to turn on auto-fill mode for all text | ||
| 1024 | buffers, including the following in your .emacs file: | ||
| 946 | 1025 | ||
| 947 | (add-hook 'text-mode-hook 'turn-on-auto-fill) | 1026 | (add-hook 'text-mode-hook 'turn-on-auto-fill) |
| 948 | 1027 | ||
| 1028 | You can also do this via the Help -> Options menu, which runs the command | ||
| 1029 | toggle-text-mode-auto-fill. | ||
| 1030 | |||
| 949 | If you want auto-fill mode on in all major modes, do this: | 1031 | If you want auto-fill mode on in all major modes, do this: |
| 950 | 1032 | ||
| 951 | (setq-default auto-fill-function 'do-auto-fill) | 1033 | (setq-default auto-fill-function 'do-auto-fill) |
| 952 | 1034 | ||
| 953 | 31: How do I make Emacs use a certain major mode for certain files? | 1035 | 32: How do I make Emacs use a certain major mode for certain files? |
| 954 | 1036 | ||
| 955 | If you want to use XXX mode for all files which end with the extension | 1037 | If you want to use XXX mode for all files which end with the extension |
| 956 | `.YYY', this will do it for you: | 1038 | ".YYY", this will do it for you: |
| 957 | 1039 | ||
| 958 | (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist)) | 1040 | (add-to-list 'auto-mode-alist '("\\.YYY\\'" . XXX-mode)) |
| 959 | 1041 | ||
| 960 | Otherwise put this somewhere in the first line of any file you want to | 1042 | Otherwise put this somewhere in the first line of any file you want to |
| 961 | edit in XXX mode: | 1043 | edit in XXX mode (in the second line, if the first line begins with |
| 1044 | "#!"): | ||
| 962 | 1045 | ||
| 963 | -*-XXX-*- | 1046 | -*-XXX-*- |
| 964 | 1047 | ||
| 965 | Emacs 19 also includes a new variable, interpreter-mode-alist, that | 1048 | Beginning with Emacs 19, the variable interpreter-mode-alist specifies |
| 966 | specifies which mode to use when loading a shell script. (Emacs | 1049 | which mode to use when loading a shell script. (Emacs determines which |
| 967 | determines which interpreter you're using by examining the first line of | 1050 | interpreter you're using by examining the first line of the file.) This |
| 968 | the file.) This feature only applies when the file name doesn't indicate | 1051 | feature only applies when the file name doesn't indicate which mode to |
| 969 | which mode to use. Use "C-h v" (or M-x describe-variable) to learn more | 1052 | use. Use "C-h v" (or M-x describe-variable) on interpreter-mode-alist to |
| 970 | about this variable. | 1053 | learn more. |
| 971 | 1054 | ||
| 972 | 32: How do I search for, delete, or replace unprintable (8-bit or control) | 1055 | 33: How do I search for, delete, or replace unprintable (8-bit or control) |
| 973 | characters? | 1056 | characters? |
| 974 | 1057 | ||
| 975 | To search for a single character that appears in the buffer as, for | 1058 | To search for a single character that appears in the buffer as, for |
| 976 | example, `\237', you can type "C-s C-q 2 3 7". (This assumes the value | 1059 | example, "\237", you can type "C-s C-q 2 3 7". (This assumes the value |
| 977 | of search-quote-char is 17 (i.e., C-q).) Searching for ALL unprintable | 1060 | of search-quote-char is 17 (i.e., `C-q').) Searching for ALL unprintable |
| 978 | characters is best done with a "regexp" search. The easiest regexp to | 1061 | characters is best done with a regular expression ("regexp") search. The |
| 979 | use for the unprintable chars is the complement of the regexp for the | 1062 | easiest regexp to use for the unprintable chars is the complement of the |
| 980 | printable chars. | 1063 | regexp for the printable chars. |
| 981 | |||
| 982 | Regexp for the printable chars: [\t\n\r\f -~] | ||
| 983 | 1064 | ||
| 984 | Regexp for the unprintable chars: [^\t\n\r\f -~] | 1065 | Regexp for the printable chars: [\t\n\r\f -~] |
| 1066 | Regexp for the unprintable chars: [^\t\n\r\f -~] | ||
| 985 | 1067 | ||
| 986 | To type some of these special characters in an interactive argument to | 1068 | To type these special characters in an interactive argument to |
| 987 | isearch-forward-regexp or re-search-forward, you need to use C-q. (`\t', | 1069 | isearch-forward-regexp or re-search-forward, you need to use C-q. (`\t', |
| 988 | `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.) So, | 1070 | `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.) So, |
| 989 | to search for unprintable characters using re-search-forward: | 1071 | to search for unprintable characters using re-search-forward: |
| @@ -1003,23 +1085,20 @@ Common Things People Want To Do | |||
| 1003 | 1085 | ||
| 1004 | M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET : RET | 1086 | M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET : RET |
| 1005 | 1087 | ||
| 1006 | NOTE: * You don't need to quote TAB with either isearch or typing | 1088 | NOTE: * You don't need to quote TAB with either isearch or typing |
| 1007 | something in the minibuffer. | 1089 | something in the minibuffer. |
| 1008 | 1090 | ||
| 1009 | 33: How can I highlight a region of text in Emacs? | 1091 | 34: How can I highlight a region of text in Emacs? |
| 1010 | 1092 | ||
| 1011 | If you are using a windowing system such as X, you can cause the region | 1093 | If you are using a windowing system such as X, you can cause the region |
| 1012 | to be highlighted when the mark is active by including | 1094 | to be highlighted when the mark is active by including |
| 1013 | 1095 | ||
| 1014 | (transient-mark-mode t) | 1096 | (transient-mark-mode t) |
| 1015 | 1097 | ||
| 1016 | in your .emacs. There are also the following packages for content- based | 1098 | in your .emacs file, using Customize or via the Help->Options menu. |
| 1017 | highlighting: | 1099 | (Also see question 66.) |
| 1018 | 1100 | ||
| 1019 | hilit19.el | 1101 | 35: How do I control Emacs's case-sensitivity when searching/replacing? |
| 1020 | font-lock.el | ||
| 1021 | |||
| 1022 | 34: How do I control Emacs's case-sensitivity when searching/replacing? | ||
| 1023 | 1102 | ||
| 1024 | For searching, the value of the variable case-fold-search determines | 1103 | For searching, the value of the variable case-fold-search determines |
| 1025 | whether they are case sensitive: | 1104 | whether they are case sensitive: |
| @@ -1027,33 +1106,35 @@ Common Things People Want To Do | |||
| 1027 | (setq case-fold-search nil) ; make searches case sensitive | 1106 | (setq case-fold-search nil) ; make searches case sensitive |
| 1028 | (setq case-fold-search t) ; make searches case insensitive | 1107 | (setq case-fold-search t) ; make searches case insensitive |
| 1029 | 1108 | ||
| 1030 | Similarly, for replacing the variable case-replace determines whether | 1109 | To change this or similar variables during an Emacs session, use |
| 1110 | M-x set-variable. | ||
| 1111 | |||
| 1112 | Similarly, for replacing, the variable case-replace determines whether | ||
| 1031 | replacements preserve case. | 1113 | replacements preserve case. |
| 1032 | 1114 | ||
| 1033 | To change the case sensitivity just for one major mode, use the major | 1115 | To change the case sensitivity just for one major mode, use the major |
| 1034 | mode's hook. For example: | 1116 | mode's hook. For example: |
| 1035 | 1117 | ||
| 1036 | (add-hook 'XXX-mode-hook | 1118 | (add-hook 'XXX-mode-hook |
| 1037 | (function | 1119 | (lambda () |
| 1038 | (lambda () | 1120 | (setq case-fold-search nil))) |
| 1039 | (setq case-fold-search nil)))) | ||
| 1040 | 1121 | ||
| 1041 | 35: How do I make Emacs wrap words for me? | 1122 | 36: How do I make Emacs wrap words for me? |
| 1042 | 1123 | ||
| 1043 | Use auto-fill mode, activated by typing "M-x auto-fill-mode". The | 1124 | Use auto-fill mode, activated by typing "M-x auto-fill-mode". The |
| 1044 | default maximum line width is 70, determined by the variable fill-column. | 1125 | default maximum line width is 70, determined by the variable fill-column. |
| 1045 | To learn how to turn this on automatically, see question 30. | 1126 | To learn how to turn this on automatically, see question 31. |
| 1046 | 1127 | ||
| 1047 | 36: Where can I get a better spelling checker for Emacs? | 1128 | 37: Where can I get a better spelling checker for Emacs? |
| 1048 | 1129 | ||
| 1049 | Use Ispell. See question 101. | 1130 | Use Ispell. See question 110. |
| 1050 | 1131 | ||
| 1051 | 37: How can I spell-check TeX or *roff documents? | 1132 | 38: How can I spell-check TeX or *roff documents? |
| 1052 | 1133 | ||
| 1053 | Use Ispell. See question 101. Ispell can handle TeX and *roff | 1134 | Use Ispell. See question 110. Ispell can handle TeX and *roff |
| 1054 | documents. | 1135 | documents. |
| 1055 | 1136 | ||
| 1056 | 38: How do I change load-path? | 1137 | 39: How do I change load-path? |
| 1057 | 1138 | ||
| 1058 | In general, you should only *add* to the load-path. You can add | 1139 | In general, you should only *add* to the load-path. You can add |
| 1059 | directory /XXX/YYY to the load path like this: | 1140 | directory /XXX/YYY to the load path like this: |
| @@ -1064,16 +1145,16 @@ Common Things People Want To Do | |||
| 1064 | 1145 | ||
| 1065 | (setq load-path (cons "~/YYY/" load-path) | 1146 | (setq load-path (cons "~/YYY/" load-path) |
| 1066 | 1147 | ||
| 1067 | 39: How do I use an already running Emacs from another window? | 1148 | 40: How do I use an already running Emacs from another window? |
| 1068 | 1149 | ||
| 1069 | The `emacsclient' program is for editing a file using an already running | 1150 | Emacsclient, which comes with Emacs, is for editing a file using an |
| 1070 | Emacs rather than starting up a new Emacs. It does this by sending a | 1151 | already running Emacs rather than starting up a new Emacs. It does this |
| 1071 | request to the already running Emacs, which must be expecting the | 1152 | by sending a request to the already running Emacs, which must be |
| 1072 | request. | 1153 | expecting the request. |
| 1073 | 1154 | ||
| 1074 | * Setup | 1155 | * Setup |
| 1075 | 1156 | ||
| 1076 | Emacs must have executed the `server-start' function for emacsclient to | 1157 | Emacs must have executed the "server-start" function for emacsclient to |
| 1077 | work. This can be done either by a command line option: | 1158 | work. This can be done either by a command line option: |
| 1078 | 1159 | ||
| 1079 | emacs -f server-start | 1160 | emacs -f server-start |
| @@ -1083,12 +1164,12 @@ Common Things People Want To Do | |||
| 1083 | (if (some conditions are met) (server-start)) | 1164 | (if (some conditions are met) (server-start)) |
| 1084 | 1165 | ||
| 1085 | When this is done, Emacs starts a subprocess running a program called | 1166 | When this is done, Emacs starts a subprocess running a program called |
| 1086 | `server'. `server' creates a Unix domain socket in the user's home | 1167 | "server". "server" creates a Unix domain socket in the user's home |
| 1087 | directory named `.emacs_server'. | 1168 | directory named .emacs_server. |
| 1088 | 1169 | ||
| 1089 | To get your news reader, mail reader, etc., to invoke emacsclient, try | 1170 | To get your news reader, mail reader, etc., to invoke emacsclient, try |
| 1090 | setting the environment variable EDITOR (or sometimes VISUAL) to the | 1171 | setting the environment variable EDITOR (or sometimes VISUAL) to the |
| 1091 | value `emacsclient'. You may have to specify the full pathname of the | 1172 | value "emacsclient". You may have to specify the full pathname of the |
| 1092 | emacsclient program instead. Examples: | 1173 | emacsclient program instead. Examples: |
| 1093 | 1174 | ||
| 1094 | # csh commands: | 1175 | # csh commands: |
| @@ -1100,8 +1181,8 @@ Common Things People Want To Do | |||
| 1100 | 1181 | ||
| 1101 | * Normal use | 1182 | * Normal use |
| 1102 | 1183 | ||
| 1103 | When emacsclient is run, it connects to the `.emacs_server' socket and | 1184 | When emacsclient is run, it connects to the ".emacs_server" socket and |
| 1104 | passes its command line options to `server'. When `server' receives | 1185 | passes its command line options to "server". When "server" receives |
| 1105 | these requests, it sends this information on the the Emacs process, | 1186 | these requests, it sends this information on the the Emacs process, |
| 1106 | which at the next opportunity will visit the files specified. (Line | 1187 | which at the next opportunity will visit the files specified. (Line |
| 1107 | numbers can be specified just like with Emacs.) The user will have to | 1188 | numbers can be specified just like with Emacs.) The user will have to |
| @@ -1111,22 +1192,25 @@ Common Things People Want To Do | |||
| 1111 | to it; otherwise emacsclient will exit, signaling the calling program | 1192 | to it; otherwise emacsclient will exit, signaling the calling program |
| 1112 | to continue. | 1193 | to continue. |
| 1113 | 1194 | ||
| 1114 | NOTE: `emacsclient' and `server' must be running on machines which | 1195 | NOTE: "emacsclient" and "server" must be running on machines which |
| 1115 | share the same filesystem for this to work. The pathnames that | 1196 | share the same filesystem for this to work. The pathnames that |
| 1116 | emacsclient specifies should be correct for the filesystem that the | 1197 | emacsclient specifies should be correct for the filesystem that the |
| 1117 | Emacs process sees. The Emacs process should not be suspended at the | 1198 | Emacs process sees. The Emacs process should not be suspended at the |
| 1118 | time emacsclient is invoked. emacsclient should either be invoked from | 1199 | time emacsclient is invoked. emacsclient should either be invoked from |
| 1119 | another X window or from a shell window inside Emacs itself. | 1200 | another X window or from a shell window inside Emacs itself. |
| 1120 | 1201 | ||
| 1121 | There is an enhanced version of emacsclient/server called `gnuserv' by | 1202 | There is an enhanced version of emacsclient/server called "gnuserv" by |
| 1122 | Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp | 1203 | Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp |
| 1123 | Archive. gnuserv uses Internet domain sockets, so it can work across | 1204 | Archive (see question 90). Gnuserv uses Internet domain sockets, so it |
| 1124 | most network connections. It also supports the execution of arbitrary | 1205 | can work across most network connections. It also supports the |
| 1125 | Emacs Lisp forms and also does not require the client program to wait | 1206 | execution of arbitrary Emacs Lisp forms and does not require the client |
| 1126 | for completion. It is available via anonymous FTP (Emacs Lisp Archive: | 1207 | program to wait for completion. |
| 1127 | packages/gnuserv.shar). | 1208 | |
| 1209 | The alpha version of an enhanced version of gnuserv is available at | ||
| 1128 | 1210 | ||
| 1129 | 40: How do I make Emacs recognize my compiler's funny error messages? | 1211 | ftp://ftp.splode.com/pub/users/friedman/packages/fgnuserv-1.0.tar.gz |
| 1212 | |||
| 1213 | 41: How do I make Emacs recognize my compiler's funny error messages? | ||
| 1130 | 1214 | ||
| 1131 | The variable compilation-error-regexp-alist helps control how Emacs | 1215 | The variable compilation-error-regexp-alist helps control how Emacs |
| 1132 | parses your compiler output. It is a list of triples of the form: | 1216 | parses your compiler output. It is a list of triples of the form: |
| @@ -1144,11 +1228,10 @@ Common Things People Want To Do | |||
| 1144 | already provided. Once you have determined the proper regexps, use the | 1228 | already provided. Once you have determined the proper regexps, use the |
| 1145 | following to inform Emacs of your changes: | 1229 | following to inform Emacs of your changes: |
| 1146 | 1230 | ||
| 1147 | (setq compilation-error-regexp-alist | 1231 | (add-to-list 'compilation-error-regexp-alist |
| 1148 | (cons '(REGEXP FILE-IDX LINE-IDX) | 1232 | '(REGEXP FILE-IDX LINE-IDX)) |
| 1149 | compilation-error-regexp-alist)) | ||
| 1150 | 1233 | ||
| 1151 | 41: How do I indent switch statements like this? | 1234 | 42: How do I indent C switch statements like this? |
| 1152 | 1235 | ||
| 1153 | Many people want to indent their switch statements like this: | 1236 | Many people want to indent their switch statements like this: |
| 1154 | 1237 | ||
| @@ -1170,81 +1253,119 @@ Common Things People Want To Do | |||
| 1170 | c-label-offset to -2. However, this will give you an indentation spacing | 1253 | c-label-offset to -2. However, this will give you an indentation spacing |
| 1171 | of four instead of two. | 1254 | of four instead of two. |
| 1172 | 1255 | ||
| 1173 | The solution is to use cc-mode (available from the Emacs Lisp Archive) | 1256 | The solution is to use cc-mode (the default mode for C programming in |
| 1174 | and add the following line: | 1257 | Emacs 20) and add the following line: |
| 1175 | 1258 | ||
| 1176 | (c-set-offset 'case-label '+) | 1259 | (c-set-offset 'case-label '+) |
| 1177 | 1260 | ||
| 1178 | There appears to be no way to do this with the old c-mode. | 1261 | There appears to be no way to do this with the old c-mode. |
| 1262 | |||
| 1263 | 43: How can I make Emacs automatically scroll horizontally? | ||
| 1264 | |||
| 1265 | Use hscroll-mode, included in Emacs 20. Here is some information from | ||
| 1266 | the documentation, available by typing C-h f hscroll-mode RET: | ||
| 1179 | 1267 | ||
| 1180 | 42: How can I make Emacs automatically scroll horizontally? | 1268 | Automatically scroll horizontally when the point moves off the |
| 1269 | left or right edge of the window. | ||
| 1181 | 1270 | ||
| 1182 | Use hscroll.el by Wayne Mesard <wmesard@esd.sgi.com>. | 1271 | - Type "M-x hscroll-mode" to enable it in the current buffer. |
| 1272 | - Type "M-x hscroll-global-mode" to enable it in every buffer. | ||
| 1273 | - "turn-on-hscroll" is useful in mode hooks as in: | ||
| 1274 | (add-hook 'text-mode-hook 'turn-on-hscroll) | ||
| 1183 | 1275 | ||
| 1184 | 43: How do I make Emacs "typeover" or "overwrite" instead of inserting? | 1276 | - hscroll-margin controls how close the cursor can get to the edge |
| 1277 | of the window. | ||
| 1278 | - hscroll-step-percent controls how far to jump once we decide to do so. | ||
| 1185 | 1279 | ||
| 1186 | M-x overwrite-mode (a minor mode). | 1280 | 44: How do I make Emacs "typeover" or "overwrite" instead of inserting? |
| 1187 | 1281 | ||
| 1188 | On some workstations, the "Insert" key toggles insert and overwrite | 1282 | M-x overwrite-mode (a minor mode). This toggles overwrite-mode on and |
| 1189 | modes. | 1283 | off, so exiting from overwrite-mode is as easy as another M-x |
| 1284 | overwrite-mode. | ||
| 1190 | 1285 | ||
| 1191 | 44: How do I stop Emacs from beeping on a terminal? | 1286 | On some systems the "Insert" key toggles overwrite-mode on and off. |
| 1287 | |||
| 1288 | 45: How do I stop Emacs from beeping on a terminal? | ||
| 1192 | 1289 | ||
| 1193 | Martin R. Frank <martin@cc.gatech.edu> writes: | 1290 | Martin R. Frank <martin@cc.gatech.edu> writes: |
| 1194 | 1291 | ||
| 1195 | Tell Emacs to use the `visible bell' instead of the audible bell, and | 1292 | Tell Emacs to use the "visible bell" instead of the audible bell, and |
| 1196 | set the visible bell to nothing. | 1293 | set the visible bell to nothing. |
| 1197 | 1294 | ||
| 1198 | Put this in your TERMCAP environment variable: | 1295 | That is, put the following in your TERMCAP environment variable |
| 1296 | (assuming you have one): | ||
| 1199 | 1297 | ||
| 1200 | ... :vb=: ... | 1298 | ... :vb=: ... |
| 1201 | 1299 | ||
| 1202 | And evaluate this: | 1300 | And evaluate the following Lisp form: |
| 1203 | 1301 | ||
| 1204 | (setq visible-bell t) | 1302 | (setq visible-bell t) |
| 1205 | 1303 | ||
| 1206 | 45: How do I turn down the bell volume in Emacs running under X Windows? | 1304 | 46: How do I turn down the bell volume in Emacs running under X Windows? |
| 1207 | 1305 | ||
| 1208 | You can adjust the bell volume and duration for all programs with the | 1306 | You can adjust the bell volume and duration for all programs with the |
| 1209 | shell command xset. | 1307 | shell command xset. |
| 1210 | 1308 | ||
| 1211 | Invoking xset without any arguments produces some basic information, | 1309 | Invoking xset without any arguments produces some basic information, |
| 1212 | including the following: | 1310 | including the following: |
| 1213 | 1311 | ||
| 1214 | usage: xset [-display host:dpy] option ... | 1312 | usage: xset [-display host:dpy] option ... |
| 1215 | To turn bell off: | 1313 | To turn bell off: |
| 1216 | -b b off b 0 | 1314 | -b b off b 0 |
| 1217 | To set bell volume, pitch and duration: | 1315 | To set bell volume, pitch and duration: |
| 1218 | b [vol [pitch [dur]]] b on | 1316 | b [vol [pitch [dur]]] b on |
| 1219 | 1317 | ||
| 1220 | 46: How do I tell Emacs to automatically indent a new line to the | 1318 | 47: How do I tell Emacs to automatically indent a new line to the |
| 1221 | indentation of the previous line? | 1319 | indentation of the previous line? |
| 1222 | 1320 | ||
| 1223 | One solution is Indented Text Mode (M-x indented-text-mode). | 1321 | Such behavior is automatic in text mode in Emacs 20. From the NEWS file |
| 1322 | for Emacs 20.2: | ||
| 1323 | |||
| 1324 | ** In Text mode, now only blank lines separate paragraphs. This makes | ||
| 1325 | it possible to get the full benefit of Adaptive Fill mode in Text mode, | ||
| 1326 | and other modes derived from it (such as Mail mode). TAB in Text mode | ||
| 1327 | now runs the command indent-relative; this makes a practical difference | ||
| 1328 | only when you use indented paragraphs. | ||
| 1329 | |||
| 1330 | As a result, the old Indented Text mode is now identical to Text mode, | ||
| 1331 | and is an alias for it. | ||
| 1224 | 1332 | ||
| 1225 | If you have auto-fill mode on (a minor mode, see question 30), you can | 1333 | If you want spaces at the beginning of a line to start a paragraph, use |
| 1226 | tell Emacs to prefix every line with a certain character sequence, the | 1334 | the new mode, Paragraph Indent Text mode. |
| 1227 | "fill prefix." Type the prefix at the beginning of a line, position | 1335 | |
| 1228 | point after it, and then type "C-x ." (set-fill-prefix) to set the fill | 1336 | If you have auto-fill mode on (see question 31), you can tell Emacs to |
| 1229 | prefix. Thereafter, auto-filling will automatically put the fill prefix | 1337 | prefix every line with a certain character sequence, the "fill prefix." |
| 1230 | at the beginning of new lines, and M-q (fill-paragraph) will maintain any | 1338 | Type the prefix at the beginning of a line, position point after it, and |
| 1231 | fill prefix when refilling the paragraph. | 1339 | then type "C-x ." (set-fill-prefix) to set the fill prefix. Thereafter, |
| 1340 | auto-filling will automatically put the fill prefix at the beginning of | ||
| 1341 | new lines, and M-q (fill-paragraph) will maintain any fill prefix when | ||
| 1342 | refilling the paragraph. | ||
| 1232 | 1343 | ||
| 1233 | NOTE: If you have paragraphs with different levels of indentation, you | 1344 | NOTE: If you have paragraphs with different levels of indentation, you |
| 1234 | will have to set the fill prefix to the correct value each time you move | 1345 | will have to set the fill prefix to the correct value each time you move |
| 1235 | to a new paragraph. To avoid this hassle, try one of the many packages | 1346 | to a new paragraph. To avoid this hassle, try one of the many packages |
| 1236 | available from the Emacs Lisp Archive. Look up `fill' and `indent' in | 1347 | available from the Emacs Lisp Archive (see question 90.) Look up "fill" |
| 1237 | the Lisp Code Directory for guidance. | 1348 | and "indent" in the Lisp Code Directory for guidance. |
| 1238 | 1349 | ||
| 1239 | 47: How do I show which parenthesis matches the one I'm looking at? | 1350 | 48: How do I show which parenthesis matches the one I'm looking at? |
| 1240 | 1351 | ||
| 1241 | GNU Emacs 19 comes with paren.el, which (when loaded) will automatically | 1352 | As of version 19, Emacs comes with paren.el, which (when loaded) will |
| 1242 | highlight matching parentheses whenever point (i.e., the cursor) is | 1353 | automatically highlight matching parentheses whenever point (i.e., the |
| 1243 | located over one. To load paren automatically, include the line | 1354 | cursor) is located over one. To load paren automatically, include the |
| 1355 | line | ||
| 1244 | 1356 | ||
| 1245 | (require 'paren) | 1357 | (require 'paren) |
| 1246 | 1358 | ||
| 1247 | in your .emacs file. | 1359 | in your .emacs file. As of version 20.1, you must instead call |
| 1360 | show-paren-mode in your .emacs file: | ||
| 1361 | |||
| 1362 | (show-paren-mode 1) | ||
| 1363 | |||
| 1364 | and the "require" is redundant. | ||
| 1365 | |||
| 1366 | The "customize" facility will let you turn on show-paren-mode. Use M-x | ||
| 1367 | customize-group RET paren-showing RET. From within customize, you can | ||
| 1368 | also go directly to the "paren-showing" group. | ||
| 1248 | 1369 | ||
| 1249 | Alternatives to paren include: | 1370 | Alternatives to paren include: |
| 1250 | 1371 | ||
| @@ -1259,7 +1380,9 @@ Common Things People Want To Do | |||
| 1259 | 1380 | ||
| 1260 | * Here is some Emacs Lisp that will make the % key show the matching | 1381 | * Here is some Emacs Lisp that will make the % key show the matching |
| 1261 | parenthesis, like in vi. In addition, if the cursor isn't over a | 1382 | parenthesis, like in vi. In addition, if the cursor isn't over a |
| 1262 | parenthesis, it simply inserts a % like normal. | 1383 | parenthesis, it simply inserts a % like normal. (`Parenthesis' actually |
| 1384 | includes and character with `open' or `close' syntax, which usually means | ||
| 1385 | "()[]{}".) | ||
| 1263 | 1386 | ||
| 1264 | ;; By an unknown contributor | 1387 | ;; By an unknown contributor |
| 1265 | 1388 | ||
| @@ -1272,40 +1395,46 @@ Common Things People Want To Do | |||
| 1272 | ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) | 1395 | ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) |
| 1273 | (t (self-insert-command (or arg 1))))) | 1396 | (t (self-insert-command (or arg 1))))) |
| 1274 | 1397 | ||
| 1275 | 48: In C mode, can I show just the lines that will be left after #ifdef | 1398 | 49: In C mode, can I show just the lines that will be left after #ifdef |
| 1276 | commands are handled by the compiler? | 1399 | commands are handled by the compiler? |
| 1277 | 1400 | ||
| 1278 | M-x hide-ifdef-mode. (This is a minor mode.) | 1401 | M-x hide-ifdef-mode. (This is a minor mode.) You might also want to try |
| 1402 | cpp.el, available at the Emacs Lisp Archive (see question 90). | ||
| 1279 | 1403 | ||
| 1280 | 49: Is there an equivalent to the `.' (dot) command of vi? | 1404 | 50: Is there an equivalent to the `.' (dot) command of vi? |
| 1281 | 1405 | ||
| 1282 | (`.' is the redo command in vi. It redoes the last insertion/deletion.) | 1406 | (`.' is the redo command in vi. It redoes the last insertion/deletion.) |
| 1283 | 1407 | ||
| 1284 | No, not really. | 1408 | In Emacs 20.3 and later, use the C-x z ("repeat") command to repeat `simple |
| 1409 | commands'. | ||
| 1410 | |||
| 1411 | Otherwise you can type "C-x ESC ESC" (repeat-complex-command) to reinvoke | ||
| 1412 | commands that used the minibuffer to get arguments. In | ||
| 1413 | repeat-complex-command you can type M-p and M-n to scan through all the | ||
| 1414 | different complex commands you've typed. | ||
| 1285 | 1415 | ||
| 1286 | You can type "C-x ESC ESC" (repeat-complex-command) to reinvoke commands | 1416 | To repeat a set of commands, use keyboard macros. (See "Keyboard Macros" |
| 1287 | that used the minibuffer to get arguments. In repeat-complex-command you | 1417 | in the on-line manual.) |
| 1288 | can type M-p and M-n to scan through all the different complex commands | ||
| 1289 | you've typed. | ||
| 1290 | 1418 | ||
| 1291 | To repeat something on each line, use keyboard macros. (See `Keyboard | 1419 | VIPER, which comes with Emacs, emulates vi, including `.'. (See question |
| 1292 | Macros' in the on-line manual.) | 1420 | 107.) |
| 1293 | 1421 | ||
| 1294 | 50: What are the valid X resource settings (i.e., stuff in .Xdefaults)? | 1422 | 51: What are the valid X resource settings (i.e., stuff in .Xdefaults)? |
| 1295 | 1423 | ||
| 1296 | See Emacs man page, or "Resources X" in the on-line manual. | 1424 | See Emacs man page, or "Resources X" in the on-line manual. |
| 1297 | 1425 | ||
| 1298 | You can also use a resource editor, such as editres (for X11R5 and | 1426 | You can also use a resource editor, such as editres (for X11R5 and |
| 1299 | onwards), to look at the resource names for the menu bar, assuming Emacs | 1427 | onwards), to look at the resource names for the menu bar, assuming Emacs |
| 1300 | was compiled with the X toolkit. | 1428 | was compiled with the X toolkit. |
| 1301 | 1429 | ||
| 1302 | 51: How do I execute a piece of Emacs Lisp code? | 1430 | 52: How do I execute ("evaluate") a piece of Emacs Lisp code? |
| 1303 | 1431 | ||
| 1304 | There are a number of ways to execute (called "evaluate") an Emacs Lisp | 1432 | There are a number of ways to execute ("evaluate," in Lisp lingo) an |
| 1305 | "form": | 1433 | Emacs Lisp "form": |
| 1306 | 1434 | ||
| 1307 | * If you want it evaluated every time you run Emacs, put it in a file | 1435 | * If you want it evaluated every time you run Emacs, put it in a file |
| 1308 | named `.emacs' in your home directory. | 1436 | named ".emacs" in your home directory. This is known as your ".emacs |
| 1437 | file," and contains all of your personal customizations. | ||
| 1309 | 1438 | ||
| 1310 | * You can type the form in the *scratch* buffer, and then type LFD (or | 1439 | * You can type the form in the *scratch* buffer, and then type LFD (or |
| 1311 | C-j) after it. The result of evaluating the form will be inserted in | 1440 | C-j) after it. The result of evaluating the form will be inserted in |
| @@ -1317,39 +1446,52 @@ Common Things People Want To Do | |||
| 1317 | * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately | 1446 | * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately |
| 1318 | before point and prints its value in the echo area. | 1447 | before point and prints its value in the echo area. |
| 1319 | 1448 | ||
| 1320 | * Typing M-: or M-x eval-expression allows you to type a Lisp form in | 1449 | * Typing M-: or M-x eval-expression allows you to type a Lisp form |
| 1321 | the minibuffer which will be evaluated. | 1450 | in the minibuffer which will be evaluated. |
| 1322 | 1451 | ||
| 1323 | * You can use M-x load-file to have Emacs evaluate all the Lisp forms in | 1452 | * You can use M-x load-file to have Emacs evaluate all the Lisp forms in |
| 1324 | a file. (To do this from Lisp use the function `load' instead.) | 1453 | a file. (To do this from Lisp use the function "load" instead.) |
| 1325 | 1454 | ||
| 1326 | These functions are also used for evaluating Lisp forms: | 1455 | These functions are also useful (see question 16 if you want to learn |
| 1456 | more about them): | ||
| 1327 | 1457 | ||
| 1328 | load-library, eval-region, eval-current-buffer, require, autoload | 1458 | load-library, eval-region, eval-current-buffer, require, autoload |
| 1329 | 1459 | ||
| 1330 | 52: How do I change Emacs's idea of the tab character's length? | 1460 | 53: How do I change Emacs's idea of the tab character's length? |
| 1331 | 1461 | ||
| 1332 | Set the variable default-tab-width. For example, to set tab stops every | 1462 | Set the variable default-tab-width. For example, to set tab stops every |
| 1333 | 10 characters, insert the following in your .emacs file: | 1463 | 10 characters, insert the following in your .emacs file: |
| 1334 | 1464 | ||
| 1335 | (setq default-tab-width 10) | 1465 | (setq default-tab-width 10) |
| 1336 | 1466 | ||
| 1337 | 53: How do I insert `>' at the beginning of every line? | 1467 | Do not confuse variable tab-width with variable tab-stop-list. The |
| 1468 | former is used for the display of literal tab characters. The latter | ||
| 1469 | controls what characters are inserted when you press the TAB character in | ||
| 1470 | certain modes. | ||
| 1338 | 1471 | ||
| 1339 | Type "M-x replace-regexp RET ^ RET > RET". | 1472 | 54: How do I insert `>' at the beginning of every line? |
| 1340 | 1473 | ||
| 1341 | To do this only in the region, type "C-x n n M-x replace-regexp RET ^ RET | 1474 | To do this to an entire buffer, type "M-< M-x replace-regexp RET ^ RET > |
| 1342 | > RET C-x w". | 1475 | RET". |
| 1343 | 1476 | ||
| 1344 | WARNING: The command narrow-to-region (C-x n n) is disabled by default | 1477 | To do this to a region, use "string-rectangle" ("C-x r t"). Set the mark |
| 1345 | because it can be very confusing (i.e., "Oh no! Where did my file go?"). | 1478 | (`C-SPC') at the beginning of the first line you want to prefix, move the |
| 1479 | cursor to last line to be prefixed, and type "C-x r t > RET". To do this | ||
| 1480 | for the whole buffer, type "C-x h C-x r t > RET". In Emacs 20.3 and | ||
| 1481 | later, this will affect only the current region if Transient Mark mode is | ||
| 1482 | on (see NEWS via C-h N). | ||
| 1346 | 1483 | ||
| 1347 | 54: How do I insert `_^H' before each character in a paragraph to get an | 1484 | If you are trying to prefix a yanked mail message with '>', you might |
| 1485 | want to set the variable mail-yank-prefix. Better yet, get the SuperCite | ||
| 1486 | package (see question 105), which provides flexible citation for yanked | ||
| 1487 | mail and news messages. | ||
| 1488 | |||
| 1489 | 55: How do I insert "_^H" before each character in a region to get an | ||
| 1348 | underlined paragraph? | 1490 | underlined paragraph? |
| 1349 | 1491 | ||
| 1350 | M-x underline-region. | 1492 | M-x underline-region. |
| 1351 | 1493 | ||
| 1352 | 55: How do I repeat a command as many times as possible? | 1494 | 56: How do I repeat a command as many times as possible? |
| 1353 | 1495 | ||
| 1354 | Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command | 1496 | Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command |
| 1355 | and then type "M-0 C-x e". | 1497 | and then type "M-0 C-x e". |
| @@ -1357,81 +1499,333 @@ Common Things People Want To Do | |||
| 1357 | WARNING: any messages your command prints in the echo area will be | 1499 | WARNING: any messages your command prints in the echo area will be |
| 1358 | suppressed. | 1500 | suppressed. |
| 1359 | 1501 | ||
| 1360 | 56: How do I make Emacs behave like this: when I go up or down, the cursor | 1502 | 57: How do I make Emacs behave like this: when I go up or down, the cursor |
| 1361 | should stay in the same column even if the line is too short? | 1503 | should stay in the same column even if the line is too short? |
| 1362 | 1504 | ||
| 1363 | M-x picture-mode. (This is a minor mode, in theory anyway ...) | 1505 | M-x picture-mode. |
| 1364 | 1506 | ||
| 1365 | 57: How do I tell Emacs to iconify itself? | 1507 | 58: How do I tell Emacs to iconify itself? |
| 1366 | 1508 | ||
| 1367 | "C-z" iconifies Emacs when running in X and suspends Emacs otherwise. | 1509 | "C-z" iconifies Emacs when running under X Windows and suspends Emacs |
| 1368 | See `Misc X' in the on-line manual. | 1510 | otherwise. See "Misc X" in the on-line manual. |
| 1369 | 1511 | ||
| 1370 | 58: How do I use regexps (regular expressions) in Emacs? | 1512 | 59: How do I use regexps (regular expressions) in Emacs? |
| 1371 | 1513 | ||
| 1372 | See `Regexps' in the on-line manual. | 1514 | See "Regexps" in the on-line manual. |
| 1373 | 1515 | ||
| 1374 | WARNING: The "or" operator is `\|', not `|', and the grouping operators | 1516 | WARNING: The "or" operator is `\|', not `|', and the grouping operators |
| 1375 | are `\(' and `\)'. Also, the string syntax for a backslash is "\\". | 1517 | are `\(' and `\)'. Also, the string syntax for a backslash is `\\'. To |
| 1376 | Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is | 1518 | specify a regular expression like xxx\(foo\|bar\) in a Lisp string, use |
| 1377 | "xxx\\(foo\\|bar\\)". Notice the duplicated backslashes! | 1519 | |
| 1520 | "xxx\\(foo\\|bar\\)" | ||
| 1521 | |||
| 1522 | Notice the doubled backslashes! | ||
| 1378 | 1523 | ||
| 1379 | WARNING: Unlike in Unix grep, sed, etc., a complement character set | 1524 | WARNING: Unlike in Unix grep, sed, etc., a complement character set |
| 1380 | ([^...]) can match a newline character (LFD aka C-j aka \n), unless | 1525 | ([^...]) can match a newline character (LFD aka C-j aka \n), unless |
| 1381 | newline is mentioned as one of the characters not to match. | 1526 | newline is mentioned as one of the characters not to match. |
| 1382 | 1527 | ||
| 1383 | WARNING: The character syntax regexps (e.g., `\sw') are not meaningful | 1528 | WARNING: The character syntax regexps (e.g., "\sw") are not meaningful |
| 1384 | inside character set regexps (e.g., `[aeiou]'). (This is actually | 1529 | inside character set regexps (e.g., "[aeiou]"). (This is actually |
| 1385 | typical for regexp syntax.) | 1530 | typical for regexp syntax.) |
| 1386 | 1531 | ||
| 1387 | 59: How do I perform a replace operation across more than one file? | 1532 | 60: How do I perform a replace operation across more than one file? |
| 1388 | 1533 | ||
| 1389 | The "tags" feature of Emacs includes the command tags-query-replace which | 1534 | The "tags" feature of Emacs includes the command tags-query-replace which |
| 1390 | performs a query-replace across all the files mentioned in the TAGS file. | 1535 | performs a query-replace across all the files mentioned in the TAGS file. |
| 1391 | See `Tags:Tags Search' in the on-line manual. | 1536 | See "Tags Search" in the on-line manual. |
| 1392 | 1537 | ||
| 1393 | In addition, Martin Boyer has written a package named global-replace | 1538 | As of Emacs 19.29, Dired mode ("M-x dired RET", or C-x d) supports the |
| 1394 | which will perform a query-replace across all the files mentioned in the | 1539 | command dired-do-query-replace, which allows users to replace regular |
| 1395 | *compilation* buffer (usually done after a `grep'), which is available | 1540 | expressions in multiple files. |
| 1396 | via anonymous FTP: | ||
| 1397 | 1541 | ||
| 1398 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.z | 1542 | 61: Where is the documentation for "etags"? |
| 1399 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.z | ||
| 1400 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.z | ||
| 1401 | 1543 | ||
| 1402 | NOTE: These files are compressed using GNU zip ("gzip"); you can get a | 1544 | "etags" is documented in the Tags node of the Emacs manual. The "etags" |
| 1403 | copy from gzip from prep and its mirrors (see question 80). | 1545 | man page should be in the same place as the "emacs" man page. |
| 1404 | 1546 | ||
| 1405 | 60: Where is the documentation for `etags'? | 1547 | Quick command-line switch descriptions are also available. For example, |
| 1548 | "etags -H". | ||
| 1406 | 1549 | ||
| 1407 | The `etags' man page should be in the same place as the `emacs' man page. | 1550 | 62: How do I disable backup files? |
| 1408 | 1551 | ||
| 1409 | Quick command-line switch descriptions are also available. For example, | 1552 | You probably don't want to do this, since backups are useful. |
| 1410 | `etags -H'. | 1553 | |
| 1554 | To avoid seeing backup files (and other "uninteresting" files) in Dired, | ||
| 1555 | load dired-x by adding the following to your .emacs file: | ||
| 1556 | |||
| 1557 | (add-hook 'dired-load-hook | ||
| 1558 | (function (lambda () | ||
| 1559 | (load "dired-x")))) | ||
| 1560 | |||
| 1561 | With dired-x loaded, `M-o' toggles omitting in each dired buffer. You | ||
| 1562 | can make omitting the default for new dired buffers by putting the | ||
| 1563 | following in your .emacs: | ||
| 1564 | |||
| 1565 | (setq initial-dired-omit-files-p t) | ||
| 1566 | |||
| 1567 | If you're tired of seeing backup files whenever you do an "ls" at the | ||
| 1568 | Unix shell, try GNU ls with the "-B" option. GNU ls is part of the GNU | ||
| 1569 | fileutils package, available at mirrors of ftp.gnu.org (see question 92). | ||
| 1570 | |||
| 1571 | To disable or change how backups are made, see "Backup Names" in the | ||
| 1572 | on-line manual. | ||
| 1573 | |||
| 1574 | 63: How do I disable auto-save-mode? | ||
| 1575 | |||
| 1576 | You probably don't want to do this, since auto-saving is useful, | ||
| 1577 | especially when Emacs or your computer crashes while you are editing a | ||
| 1578 | document. | ||
| 1579 | |||
| 1580 | Instead, you might want to change the variable auto-save-interval, which | ||
| 1581 | specifies how many keystrokes Emacs waits before auto-saving. Increasing | ||
| 1582 | this value forces Emacs to wait longer between auto-saves, which might | ||
| 1583 | annoy you less. | ||
| 1584 | |||
| 1585 | You might also want to look into Sebastian Kremer's auto-save package, | ||
| 1586 | available from the Lisp Code Archive (see question 90). This package | ||
| 1587 | also allows you to place all auto-save files in one directory, such as | ||
| 1588 | /tmp. | ||
| 1589 | |||
| 1590 | To disable or change how auto-save-mode works, see "Auto Save" in the | ||
| 1591 | on-line manual. | ||
| 1592 | |||
| 1593 | 64: How can I create or modify new pull-down menu options? | ||
| 1594 | |||
| 1595 | Each menu title (e.g., Buffers, File, Edit) represents a local or global | ||
| 1596 | keymap. Selecting a menu title with the mouse displays that keymap's | ||
| 1597 | non-nil contents in the form of a menu. | ||
| 1598 | |||
| 1599 | So to add a menu option to an existing menu, all you have to do is add a | ||
| 1600 | new definition to the appropriate keymap. Adding a "forward word" | ||
| 1601 | command to the "Edit" menu thus requires the following Lisp code: | ||
| 1602 | |||
| 1603 | (define-key global-map | ||
| 1604 | [menu-bar edit forward] | ||
| 1605 | '("Forward word" . forward-word)) | ||
| 1606 | |||
| 1607 | The first line adds the entry to the global keymap, which includes global | ||
| 1608 | menu bar entries. Replacing the reference to "global-map" with a local | ||
| 1609 | keymap would add this menu option only within a particular mode. | ||
| 1610 | |||
| 1611 | The second line describes the path from the menu-bar to the new entry. | ||
| 1612 | Placing this menu entry underneath the "File" menu would mean changing | ||
| 1613 | the word "edit" in the second line to "file." | ||
| 1614 | |||
| 1615 | The third line is a cons cell whose first element is the title that will | ||
| 1616 | be displayed, and whose second element is the function that will be | ||
| 1617 | called when that menu option is invoked. | ||
| 1618 | |||
| 1619 | To add a new menu, rather than a new option to an existing menu, we must | ||
| 1620 | define an entirely new keymap: | ||
| 1621 | |||
| 1622 | (define-key global-map [menu-bar words] | ||
| 1623 | (cons "Words" (make-sparse-keymap "Words"))) | ||
| 1624 | |||
| 1625 | The above code creates a new sparse keymap, gives it the name "Words", | ||
| 1626 | and attaches it to the global menu bar. Adding the "forward word" | ||
| 1627 | command to this new menu would thus require the following code: | ||
| 1628 | |||
| 1629 | (define-key global-map | ||
| 1630 | [menu-bar words forward] | ||
| 1631 | '("Forward word" . forward-word)) | ||
| 1632 | |||
| 1633 | Note that because of the way keymaps work, menu options are displayed | ||
| 1634 | with the more recently defined items at the top. Thus if you were to | ||
| 1635 | define menu options "foo", "bar", and "baz" (in that order), menu option | ||
| 1636 | "baz" would appear at the top, and "foo" would be at the bottom. | ||
| 1637 | |||
| 1638 | One way to avoid this problem is to use the function define-key-after, | ||
| 1639 | which works the same as define-key, but lets you modify where items | ||
| 1640 | appear. The following Lisp code would insert the "forward word" function | ||
| 1641 | in the "edit" menu immediately following the "undo" option: | ||
| 1642 | |||
| 1643 | (define-key-after | ||
| 1644 | (lookup-key global-map [menu-bar edit]) | ||
| 1645 | [forward] | ||
| 1646 | '("Forward word" . forward-word) | ||
| 1647 | 'undo) | ||
| 1648 | |||
| 1649 | Note how the second and third arguments to define-key-after are different | ||
| 1650 | from those of define-key, and that we have added a new (final) argument, | ||
| 1651 | the function after which our new key should be defined. | ||
| 1652 | |||
| 1653 | To move a menu option from one position to another, simply evaluate | ||
| 1654 | define-key-after with the appropriate final argument. | ||
| 1655 | |||
| 1656 | More detailed information -- and more examples of how to create and | ||
| 1657 | modify menu options -- are in the Emacs Lisp Reference Manual, under | ||
| 1658 | "Menu Keymaps." (See question 16 for information on this manual.) | ||
| 1659 | |||
| 1660 | Note that Emacs 20.3 introduced a better (`extended') format for menu | ||
| 1661 | items, described in the NEWS file and the Lisp Manual. The "easymenu" | ||
| 1662 | package provides support for defining menus conveniently with some | ||
| 1663 | portability amongst Emacs versions. | ||
| 1664 | |||
| 1665 | 65: How do I delete menus and menu options? | ||
| 1666 | |||
| 1667 | The simplest way to remove a menu is to set its keymap to nil. For | ||
| 1668 | example, to delete the "Words" menu (from question 64), use: | ||
| 1669 | |||
| 1670 | (define-key global-map [menu-bar words] nil) | ||
| 1671 | |||
| 1672 | Similarly, removing a menu option requires redefining a keymap entry to | ||
| 1673 | nil. For example, to delete the "Forward word" menu option from the | ||
| 1674 | "Edit" menu (we added it in question 64), use: | ||
| 1675 | |||
| 1676 | (define-key global-map [menu-bar edit forward] nil) | ||
| 1677 | |||
| 1678 | 66: How do I turn on syntax highlighting? | ||
| 1679 | |||
| 1680 | Font-lock mode is the standard way to have Emacs perform syntax | ||
| 1681 | highlighting. With font-lock mode invoked, different types of text will | ||
| 1682 | appear in different colors. For instance, if you turn on font-lock in a | ||
| 1683 | programming mode, variables will appear in one face, keywords in a | ||
| 1684 | second, and comments in a third. | ||
| 1685 | |||
| 1686 | Earlier versions of Emacs supported hilit19, a similar package. Use of | ||
| 1687 | hilit19 is now considered non-standard, although hilit19.el comes with | ||
| 1688 | the stock Emacs distribution. It is no longer maintained. | ||
| 1689 | |||
| 1690 | To turn font-lock mode on within an existing buffer, use "M-x | ||
| 1691 | font-lock-mode RET". | ||
| 1692 | |||
| 1693 | To automatically invoke font-lock mode when a particular major mode is | ||
| 1694 | invoked, set the major mode's hook or define font-lock-global-modes as a | ||
| 1695 | list with the mode name as an element. For example, to fontify all | ||
| 1696 | c-mode buffers, add the following to your .emacs file: | ||
| 1697 | |||
| 1698 | (add-hook 'c-mode-hook 'turn-on-font-lock) | ||
| 1699 | |||
| 1700 | To automatically invoke font-lock mode for all major modes, you can turn | ||
| 1701 | on global-font-lock mode by including the following line in your .emacs | ||
| 1702 | file (or use Custom): | ||
| 1703 | |||
| 1704 | (global-font-lock-mode 1) | ||
| 1705 | |||
| 1706 | This instructs Emacs to turn on font-lock mode in those buffers for which | ||
| 1707 | a font-lock mode definition has been provided (in the variable | ||
| 1708 | font-lock-global-modes or via the variable font-lock-defaults-alist). If | ||
| 1709 | you edit a file in pie-ala-mode, and no font-lock definitions have been | ||
| 1710 | provided for pie-ala files, then the above setting will have no effect on | ||
| 1711 | that particular buffer. | ||
| 1712 | |||
| 1713 | Highlighting with font-lock mode can take quite a while, and thus | ||
| 1714 | different levels of decoration are available, from slight to gaudy. To | ||
| 1715 | control how decorated your buffers should become, set the value of | ||
| 1716 | font-lock-maximum-decoration in your .emacs file, with a nil value | ||
| 1717 | indicating default (usually minimum) decoration, and a t value indicating | ||
| 1718 | the maximum decoration. For the gaudiest possible look, then, include | ||
| 1719 | the line | ||
| 1720 | |||
| 1721 | (setq font-lock-maximum-decoration t) | ||
| 1722 | |||
| 1723 | in your .emacs file. You can also set this variable such that different | ||
| 1724 | modes are highlighted in a different ways; for more information, see the | ||
| 1725 | documentation for font-lock-maximum-decoration with "C-h v" (or "M-x | ||
| 1726 | describe-variable RET"). | ||
| 1727 | |||
| 1728 | You might also want to investigate fast-lock-mode and lazy-lock-mode, | ||
| 1729 | versions of font-lock-mode that speed up highlighting. The advantage of | ||
| 1730 | lazy-lock-mode is that it only fontifies buffers when certain conditions | ||
| 1731 | are met, such as after a certain amount of idle time, or after you have | ||
| 1732 | finished scrolling through text. See the documentation for | ||
| 1733 | lazy-lock-mode by typing C-h f lazy-lock-mode ("M-x describe-function RET | ||
| 1734 | lazy-lock-mode RET"). | ||
| 1735 | |||
| 1736 | Also see the documentation for the function font-lock-mode, available by | ||
| 1737 | typing C-h f font-lock-mode ("M-x describe-function RET font-lock-mode | ||
| 1738 | RET"). | ||
| 1739 | |||
| 1740 | For more information on font-lock mode, particularly adding new patterns, | ||
| 1741 | see the Lisp Reference Manual and the commentary in the source | ||
| 1742 | font-lock.el, which you can find in Emacs 20 (if it is installed) using, | ||
| 1743 | say, M-x find-function font-lock-mode. | ||
| 1744 | |||
| 1745 | To print buffers with the faces (i.e., colors and fonts) intact, use | ||
| 1746 | "M-x ps-print-buffer-with-faces" or "M-x ps-print-region-with-faces". | ||
| 1747 | |||
| 1748 | 67: How can I force Emacs to scroll only one line when I move past the | ||
| 1749 | bottom of the screen? | ||
| 1750 | |||
| 1751 | Place the following Lisp form in your .emacs file: | ||
| 1752 | |||
| 1753 | (setq scroll-step 1) | ||
| 1754 | |||
| 1755 | Also see "Scrolling" in the on-line manual. | ||
| 1756 | |||
| 1757 | 68: How can I replace highlighted text with what I type? | ||
| 1758 | |||
| 1759 | Use delete-selection mode, which you can start automatically by placing | ||
| 1760 | the following Lisp form in your .emacs file: | ||
| 1761 | |||
| 1762 | (delete-selection-mode t) | ||
| 1763 | |||
| 1764 | According to the documentation string for delete-selection mode (which | ||
| 1765 | you can read using M-x describe-function RET delete-selection-mode RET): | ||
| 1766 | |||
| 1767 | When ON, typed text replaces the selection if the selection is active. | ||
| 1768 | When OFF, typed text is just inserted at point. | ||
| 1769 | |||
| 1770 | This mode also allows you to delete (not kill) the highlighted region by | ||
| 1771 | pressing DEL. | ||
| 1772 | |||
| 1773 | 69: How can I edit MS-DOS files using Emacs? | ||
| 1774 | |||
| 1775 | As of Emacs 20, detection and handling of MS-DOS (and Windows) files is | ||
| 1776 | performed transparently. You can open an MS-DOS file on a Unix system | ||
| 1777 | (and vice versa), edit it, and save it without having to worry about the | ||
| 1778 | file format. To save it with a different end-of-line convention use | ||
| 1779 | C-x RET c to specify a new coding system such as undecided-unix. | ||
| 1780 | |||
| 1781 | When editing an MS-DOS style file, a backslash (\) will appear in the | ||
| 1782 | mode line. | ||
| 1783 | |||
| 1784 | You can avoid translation of the end-of-line conventions either by | ||
| 1785 | visiting a file using M-x find-file-literally or by setting the variable | ||
| 1786 | inhibit-eol-conversion to t. | ||
| 1787 | |||
| 1788 | If you are running an earlier version of Emacs, get crypt++ from | ||
| 1789 | ftp://ftp.cs.umb.edu/pub/misc/crypt++.el. Among other things, crypt++ | ||
| 1790 | transparently modifies MS-DOS files as they are loaded and saved, | ||
| 1791 | allowing you to ignore the different conventions that Unix and MS-DOS | ||
| 1792 | have for delineating the end of a line. | ||
| 1793 | |||
| 1794 | 70: How can I tell Emacs to fill paragraphs with a single space after | ||
| 1795 | each period? | ||
| 1796 | |||
| 1797 | Ulrich Mueller <ulm@vsnhd1.cern.ch> suggests adding the following two | ||
| 1798 | lines to your .emacs file: | ||
| 1799 | |||
| 1800 | (setq sentence-end "[.?!][]\"')}]*\\($\\|[ \t]\\)[ \t\n]*") | ||
| 1801 | (setq sentence-end-double-space nil) | ||
| 1802 | |||
| 1803 | See "Sentences" in the online manual. | ||
| 1411 | 1804 | ||
| 1412 | 1805 | ||
| 1413 | Bugs/Problems | 1806 | Bugs/Problems |
| 1414 | 1807 | ||
| 1415 | 61: Does Emacs have problems with files larger than 8 megabytes? | 1808 | 71: Does Emacs have problems with files larger than 8 megabytes? |
| 1416 | [This problem has been solved better in Emacs 19.29 because the buffer | ||
| 1417 | size limit is now 16 times as large.] | ||
| 1418 | 1809 | ||
| 1419 | Most installed versions of GNU Emacs will use 24-bit signed integers (and | 1810 | Old versions (i.e., anything before 19.29) of Emacs had problems editing |
| 1420 | 24-bit pointers) internally. This limits the file size that Emacs can | 1811 | files larger than 8 megabytes. As of version 19.29, the maximum buffer |
| 1421 | handle to 8,388,607 bytes (2^23 - 1). | 1812 | size is at least 2^27-1, or 134,217,727 bytes. |
| 1422 | 1813 | ||
| 1423 | Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two | 1814 | If you are using an older version of Emacs and cannot upgrade, you will |
| 1424 | lines in src/config.h before compiling Emacs to allow for 26-bit integers | 1815 | have to recompile. Leonard N. Zubkoff <lnz@lucid.com> suggests putting |
| 1425 | and pointers (and thus filesizes of up to 33,554,431 bytes): | 1816 | the following two lines in src/config.h before compiling Emacs to allow |
| 1817 | for 26-bit integers and pointers (and thus file sizes of up to 33,554,431 | ||
| 1818 | bytes): | ||
| 1426 | 1819 | ||
| 1427 | #define VALBITS 26 | 1820 | #define VALBITS 26 |
| 1428 | #define GCTYPEBITS 5 | 1821 | #define GCTYPEBITS 5 |
| 1429 | 1822 | ||
| 1430 | WARNING: This method may result in `ILLEGAL DATATYPE' and other random | 1823 | WARNING: This method may result in "ILLEGAL DATATYPE" and other random |
| 1431 | errors on some machines. | 1824 | errors on some machines. |
| 1432 | 1825 | ||
| 1433 | David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why | 1826 | David Gillespie <daveg@csvax.cs.caltech.edu> explains how this problems |
| 1434 | Emacs uses 24 bit integers and pointers: | 1827 | crops up; while his numbers are true only for pre-19.29 versions of |
| 1828 | Emacs, the theory remains the same with current versions. | ||
| 1435 | 1829 | ||
| 1436 | Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed | 1830 | Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed |
| 1437 | language in the sense that you can put any value of any type into any | 1831 | language in the sense that you can put any value of any type into any |
| @@ -1443,15 +1837,16 @@ size limit is now 16 times as large.] | |||
| 1443 | (and pointers) are somewhat restricted compared to true C integers and | 1837 | (and pointers) are somewhat restricted compared to true C integers and |
| 1444 | pointers. | 1838 | pointers. |
| 1445 | 1839 | ||
| 1446 | Emacs uses 8-bit tags because that's a little faster on byte-oriented | 1840 | 72: How do I get rid of ^M or echoed commands in my shell buffer? |
| 1447 | machines, but there are only really enough tags to require 6 bits. | ||
| 1448 | |||
| 1449 | 62: How do I get rid of the ^M junk in my shell buffer? | ||
| 1450 | 1841 | ||
| 1451 | Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them | 1842 | Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them |
| 1452 | go away. If that doesn't work, you have several options: | 1843 | go away. You might add this function to comint-output-filter-functions: |
| 1844 | |||
| 1845 | (add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m) | ||
| 1846 | |||
| 1847 | If that doesn't work, you have several options: | ||
| 1453 | 1848 | ||
| 1454 | For tcsh, put this in your `.cshrc' (or `.tcshrc') file: | 1849 | For tcsh, put this in your .cshrc (or .tcshrc) file: |
| 1455 | 1850 | ||
| 1456 | if ($?EMACS) then | 1851 | if ($?EMACS) then |
| 1457 | if ("$EMACS" == t) then | 1852 | if ("$EMACS" == t) then |
| @@ -1468,7 +1863,7 @@ size limit is now 16 times as large.] | |||
| 1468 | Alternatively, use csh in your shell buffers instead of tcsh. One way | 1863 | Alternatively, use csh in your shell buffers instead of tcsh. One way |
| 1469 | is: | 1864 | is: |
| 1470 | 1865 | ||
| 1471 | (setq explicit-shell-file-name "/bin/csh") | 1866 | (setq explicit-shell-file-name "/bin/csh") |
| 1472 | 1867 | ||
| 1473 | and another is to do this in your .cshrc (or .tcshrc) file: | 1868 | and another is to do this in your .cshrc (or .tcshrc) file: |
| 1474 | 1869 | ||
| @@ -1477,41 +1872,48 @@ size limit is now 16 times as large.] | |||
| 1477 | (You must start Emacs over again with the environment variable properly | 1872 | (You must start Emacs over again with the environment variable properly |
| 1478 | set for this to take effect.) | 1873 | set for this to take effect.) |
| 1479 | 1874 | ||
| 1480 | 63: Why do I get `Process shell exited abnormally with code 1'? | 1875 | You can also set the ESHELL environment variable in Emacs Lisp with |
| 1876 | the following Lisp form, | ||
| 1877 | |||
| 1878 | (setenv "ESHELL" "/bin/csh") | ||
| 1879 | |||
| 1880 | On a related note: If your shell is echoing your input line in the shell | ||
| 1881 | buffer, you might want to try the following command in your shell | ||
| 1882 | start-up file: | ||
| 1481 | 1883 | ||
| 1482 | The most likely reason for this message is that the `env' program is not | 1884 | stty -icrnl -onlcr -echo susp ^Z |
| 1885 | |||
| 1886 | 73: Why do I get "Process shell exited abnormally with code 1"? | ||
| 1887 | |||
| 1888 | The most likely reason for this message is that the "env" program is not | ||
| 1483 | properly installed. Compile this program for your architecture, and | 1889 | properly installed. Compile this program for your architecture, and |
| 1484 | install it with a+x permission in the architecture-dependent Emacs | 1890 | install it with a+x permission in the architecture-dependent Emacs |
| 1485 | program directory. (You can find what this directory is at your site by | 1891 | program directory. (You can find what this directory is at your site by |
| 1486 | inspecting the value of the variable exec-directory by typing "C-h v | 1892 | inspecting the value of the variable exec-directory by typing "C-h v |
| 1487 | exec-directory RET".) | 1893 | exec-directory RET".) |
| 1488 | 1894 | ||
| 1489 | You should also check for other programs named `env' in your path (e.g., | 1895 | You should also check for other programs named "env" in your path (e.g., |
| 1490 | SunOS has a program named /usr/bin/env). We don't understand why this | 1896 | SunOS has a program named /usr/bin/env). We don't understand why this |
| 1491 | can cause a failure and don't know a general solution for working around | 1897 | can cause a failure and don't know a general solution for working around |
| 1492 | the problem in this case. | 1898 | the problem in this case. |
| 1493 | 1899 | ||
| 1494 | The `make clean' command will remove `env' and other vital programs, so | ||
| 1495 | be careful when using it. | ||
| 1496 | |||
| 1497 | It has been reported that this sometimes happened when Emacs was started | 1900 | It has been reported that this sometimes happened when Emacs was started |
| 1498 | as an X client from an xterm window (i.e., had a controlling tty) but the | 1901 | as an X client from an xterm window (i.e., had a controlling tty) but the |
| 1499 | xterm was later terminated. | 1902 | xterm was later terminated. |
| 1500 | 1903 | ||
| 1501 | See also PROBLEMS (in the top-level directory when you unpack the Emacs | 1904 | See also etc/PROBLEMS for other possible causes of this message. |
| 1502 | source) for other possible causes of this message. | ||
| 1503 | 1905 | ||
| 1504 | 64: Where is the termcap/terminfo entry for terminal type `emacs'? | 1906 | 74: Where is the termcap/terminfo entry for terminal type "emacs"? |
| 1505 | 1907 | ||
| 1506 | The termcap entry for terminal type `emacs' is ordinarily put in the | 1908 | The termcap entry for terminal type "emacs" is ordinarily put in the |
| 1507 | TERMCAP environment variable of subshells. It may help in certain | 1909 | TERMCAP environment variable of subshells. It may help in certain |
| 1508 | situations (e.g., using rlogin from shell buffer) to add an entry for | 1910 | situations (e.g., using rlogin from shell buffer) to add an entry for |
| 1509 | `emacs' to the system-wide termcap file. Here is a correct termcap entry | 1911 | "emacs" to the system-wide termcap file. Here is a correct termcap entry |
| 1510 | for `emacs': | 1912 | for "emacs": |
| 1511 | 1913 | ||
| 1512 | emacs:tc=unknown: | 1914 | emacs:tc=unknown: |
| 1513 | 1915 | ||
| 1514 | To make a terminfo entry for `emacs', use `tic' or `captoinfo'. You need | 1916 | To make a terminfo entry for "emacs", use "tic" or "captoinfo." You need |
| 1515 | to generate /usr/lib/terminfo/e/emacs. It may work to simply copy | 1917 | to generate /usr/lib/terminfo/e/emacs. It may work to simply copy |
| 1516 | /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs. | 1918 | /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs. |
| 1517 | 1919 | ||
| @@ -1519,25 +1921,25 @@ size limit is now 16 times as large.] | |||
| 1519 | programs in shell buffers. Use M-x terminal-emulator for that instead. | 1921 | programs in shell buffers. Use M-x terminal-emulator for that instead. |
| 1520 | 1922 | ||
| 1521 | A workaround to the problem of missing termcap/terminfo entries is to | 1923 | A workaround to the problem of missing termcap/terminfo entries is to |
| 1522 | change terminal type `emacs' to type `dumb' or `unknown' in your shell | 1924 | change terminal type "emacs" to type "dumb" or "unknown" in your shell |
| 1523 | start up file. `csh' users could put this in their .cshrc files: | 1925 | start up file. "csh" users could put this in their .cshrc files: |
| 1524 | 1926 | ||
| 1525 | if ("$term" == emacs) set term=dumb | 1927 | if ("$term" == emacs) set term=dumb |
| 1526 | 1928 | ||
| 1527 | 65: Why does Emacs spontaneously start displaying `I-search:' and beeping? | 1929 | 75: Why does Emacs spontaneously start displaying "I-search:" and beeping? |
| 1528 | 1930 | ||
| 1529 | Your terminal (or something between your terminal and the computer) is | 1931 | Your terminal (or something between your terminal and the computer) is |
| 1530 | sending C-s and C-q for flow control, and Emacs is receiving these | 1932 | sending C-s and C-q for flow control, and Emacs is receiving these |
| 1531 | characters and interpreting them as commands. (The C-s character | 1933 | characters and interpreting them as commands. (The C-s character |
| 1532 | normally invokes the isearch-forward command.) For possible solutions, | 1934 | normally invokes the isearch-forward command.) For possible solutions, |
| 1533 | see question 110. | 1935 | see question 121. |
| 1534 | 1936 | ||
| 1535 | 66: Why can't Emacs talk to certain hosts (or certain hostnames)? | 1937 | 76: Why can't Emacs talk to certain hosts (or certain hostnames)? |
| 1536 | 1938 | ||
| 1537 | The problem may be that Emacs is linked with a wimpier version of | 1939 | The problem may be that Emacs is linked with a wimpier version of |
| 1538 | gethostbyname than the rest of the programs on the machine. This is | 1940 | gethostbyname than the rest of the programs on the machine. This is |
| 1539 | often manifested as a message on startup of `X server not responding. | 1941 | often manifested as a message on startup of "X server not responding. |
| 1540 | Check your DISPLAY environment variable.' or a message of `Unknown host' | 1942 | Check your DISPLAY environment variable." or a message of "Unknown host" |
| 1541 | from open-network-stream. | 1943 | from open-network-stream. |
| 1542 | 1944 | ||
| 1543 | On a Sun, this may be because Emacs had to be linked with the static C | 1945 | On a Sun, this may be because Emacs had to be linked with the static C |
| @@ -1560,26 +1962,20 @@ size limit is now 16 times as large.] | |||
| 1560 | * Replace gethostbyname and friends in libc.a with more useful versions | 1962 | * Replace gethostbyname and friends in libc.a with more useful versions |
| 1561 | such as the ones in libresolv.a. Then relink Emacs. | 1963 | such as the ones in libresolv.a. Then relink Emacs. |
| 1562 | 1964 | ||
| 1563 | * If you are actually running NIS, make sure that `ypbind' is properly | 1965 | * If you are actually running NIS, make sure that "ypbind" is properly |
| 1564 | told to do DNS lookups with the correct command line switch. | 1966 | told to do DNS lookups with the correct command line switch. |
| 1565 | 1967 | ||
| 1566 | * Use tcp.el and tcp.c from Gnus. This has the additional advantage that | 1968 | 77: Why does Emacs say "Error in init file"? |
| 1567 | you can use numeric IP addresses instead of names. open-network-stream | ||
| 1568 | currently can't handle numeric addresses. Brian Thomson | ||
| 1569 | <thomson@hub.toronto.edu> has a enhancement to open-network-stream to | ||
| 1570 | allow it to handle numeric addresses. | ||
| 1571 | |||
| 1572 | 67: Why does Emacs say `Error in init file'? | ||
| 1573 | 1969 | ||
| 1574 | An error occurred while loading either your .emacs file or the | 1970 | An error occurred while loading either your .emacs file or the |
| 1575 | system-wide lisp/default.el file. For information on how to debug your | 1971 | system-wide lisp/default.el file. For information on how to debug your |
| 1576 | .emacs file, see question 27. | 1972 | .emacs file, see question 27. |
| 1577 | 1973 | ||
| 1578 | It may be the case that you may need to load some package first, or use a | 1974 | It may be the case that you need to load some package first, or use a |
| 1579 | hook that will be evaluated after the package is loaded. A common case | 1975 | hook that will be evaluated after the package is loaded. A common case |
| 1580 | of this is explained in question 106. | 1976 | of this is explained in question 117. |
| 1581 | 1977 | ||
| 1582 | 68: Why does Emacs ignore my X resources (my .Xdefaults file)? | 1978 | 78: Why does Emacs ignore my X resources (my .Xdefaults file)? |
| 1583 | 1979 | ||
| 1584 | As of version 19, Emacs searches for X resources in the files specified | 1980 | As of version 19, Emacs searches for X resources in the files specified |
| 1585 | by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment | 1981 | by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment |
| @@ -1591,8 +1987,8 @@ size limit is now 16 times as large.] | |||
| 1591 | separated by colons. | 1987 | separated by colons. |
| 1592 | 1988 | ||
| 1593 | Emacs searches for X resources | 1989 | Emacs searches for X resources |
| 1594 | 1990 | ||
| 1595 | + specified on the command line, with the `-xrm RESOURCESTRING' | 1991 | + specified on the command line, with the "-xrm RESOURCESTRING" |
| 1596 | option, | 1992 | option, |
| 1597 | + then in the value of the XENVIRONMENT environment variable, | 1993 | + then in the value of the XENVIRONMENT environment variable, |
| 1598 | - or if that is unset, in the file named ~/.Xdefaults-HOSTNAME if it | 1994 | - or if that is unset, in the file named ~/.Xdefaults-HOSTNAME if it |
| @@ -1611,52 +2007,56 @@ size limit is now 16 times as large.] | |||
| 1611 | - or in ~/Emacs, | 2007 | - or in ~/Emacs, |
| 1612 | + then in the files listed in XFILESEARCHPATH. | 2008 | + then in the files listed in XFILESEARCHPATH. |
| 1613 | 2009 | ||
| 1614 | 69: Why does Emacs take 20 seconds to visit a file? | 2010 | 79: Why does Emacs take 20 seconds to visit a file? |
| 1615 | 2011 | ||
| 1616 | The usual cause is that the master lock file, `!!!SuperLock!!!' has been | 2012 | Old versions of Emacs (i.e., versions before Emacs 20.x) often |
| 2013 | encountered this when the master lock file, "!!!SuperLock!!!" has been | ||
| 1617 | left in the lock directory somehow. Delete it. | 2014 | left in the lock directory somehow. Delete it. |
| 1618 | 2015 | ||
| 1619 | Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an | 2016 | Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an |
| 1620 | exclusive create succeeds but returns an error status. This can cause the | 2017 | exclusive create succeeds but returns an error status. This can cause |
| 1621 | same problem. Since Emacs's file locking doesn't work over NFS anyway, | 2018 | the same problem. Since Emacs's file locking doesn't work over NFS |
| 1622 | the best solution is to recompile Emacs with CLASH_DETECTION undefined. | 2019 | anyway, the best solution is to recompile Emacs with CLASH_DETECTION |
| 2020 | undefined. | ||
| 1623 | 2021 | ||
| 1624 | 70: How do I edit a file with a `$' in its name? | 2022 | 80: How do I edit a file with a `$' in its name? |
| 1625 | 2023 | ||
| 1626 | When entering a filename in the minibuffer, Emacs will attempt to expand | 2024 | When entering a filename in the minibuffer, Emacs will attempt to expand |
| 1627 | a `$' followed by a word as an environment variable. To suppress this | 2025 | a `$' followed by a word as an environment variable. To suppress this |
| 1628 | behavior, type "$$" instead. | 2026 | behavior, type "$$" instead. |
| 1629 | 2027 | ||
| 1630 | 71: Why does shell mode lose track of the shell's current directory? | 2028 | 81: Why does shell mode lose track of the shell's current directory? |
| 1631 | 2029 | ||
| 1632 | Emacs has no way of knowing when the shell actually changes its | 2030 | Emacs has no way of knowing when the shell actually changes its |
| 1633 | directory. This is an intrinsic limitation of Unix. So it tries to | 2031 | directory. This is an intrinsic limitation of Unix. So it tries to |
| 1634 | guess by recognizing `cd' commands. If you type `cd' followed by a | 2032 | guess by recognizing "cd" commands. If you type "cd" followed by a |
| 1635 | directory name with a variable reference (`cd $HOME/bin') or with a shell | 2033 | directory name with a variable reference ("cd $HOME/bin") or with a shell |
| 1636 | metacharacter (`cd ../lib*'), Emacs will fail to correctly guess the | 2034 | metacharacter ("cd ../lib*"), Emacs will fail to correctly guess the |
| 1637 | shell's new current directory. A huge variety of fixes and enhancements | 2035 | shell's new current directory. A huge variety of fixes and enhancements |
| 1638 | to shell mode for this problem have been written to handle this problem. | 2036 | to shell mode for this problem have been written to handle this problem. |
| 1639 | Check the Lisp Code Directory (see question 77). | 2037 | Check the Lisp Code Directory (see question 89). |
| 1640 | 2038 | ||
| 1641 | You can tell Emacs the shell's current directory with the command "M-x | 2039 | You can tell Emacs the shell's current directory with the command "M-x |
| 1642 | dirs". | 2040 | dirs". |
| 1643 | 2041 | ||
| 1644 | 72: Are there any security risks in GNU Emacs? | 2042 | 82: Are there any security risks in Emacs? |
| 1645 | 2043 | ||
| 1646 | * the `movemail' incident (No, this is not a risk.) | 2044 | * the "movemail" incident (No, this is not a risk.) |
| 1647 | 2045 | ||
| 1648 | In his book "The Cuckoo's Egg," Cliff Stoll describes this in chapter | 2046 | In his book "The Cuckoo's Egg," Cliff Stoll describes this in chapter |
| 1649 | 4. The site at LBL had installed the `etc/movemail' program setuid | 2047 | 4. The site at LBL had installed the "etc/movemail" program setuid |
| 1650 | root. (As of version 19, movemail is in your architecture-specific | 2048 | root. (As of version 19, movemail is in your architecture-specific |
| 1651 | directory; type "C-h v directory RET" to see what it is.) Since | 2049 | directory; type "C-h v exec-directory RET" to see what it is.) Since |
| 1652 | `movemail' had not been designed for this situation, a security hole | 2050 | "movemail" had not been designed for this situation, a security hole |
| 1653 | was created and users could get root privileges. | 2051 | was created and users could get root privileges. |
| 1654 | 2052 | ||
| 1655 | `movemail' has since been changed so that even if it is installed | 2053 | "movemail" has since been changed so that this security hole will not |
| 1656 | setuid root this security hole will not be a result. | 2054 | exist, even if it is installed setuid root. However, movemail no |
| 2055 | longer needs to be installed setuid root, which should eliminate this | ||
| 2056 | particular risk. | ||
| 1657 | 2057 | ||
| 1658 | We have heard unverified reports that the Internet worm took advantage | 2058 | We have heard unverified reports that the 1988 Internet worm took |
| 1659 | of this configuration problem. | 2059 | advantage of this configuration problem. |
| 1660 | 2060 | ||
| 1661 | * the file-local-variable feature (Yes, a risk, but easy to change.) | 2061 | * the file-local-variable feature (Yes, a risk, but easy to change.) |
| 1662 | 2062 | ||
| @@ -1667,27 +2067,18 @@ size limit is now 16 times as large.] | |||
| 1667 | Obviously, there is a potential for Trojan horses to exploit this | 2067 | Obviously, there is a potential for Trojan horses to exploit this |
| 1668 | feature. | 2068 | feature. |
| 1669 | 2069 | ||
| 1670 | If you set the variable inhibit-local-variables to a non-nil value, | 2070 | Emacs 18 allowed this feature by default; users could disable it by |
| 1671 | Emacs will display the special local variable settings of a file that | 2071 | setting the variable inhibit-local-variables to a non-nil value. |
| 1672 | you visit and ask you if you really want them. This variable is not | ||
| 1673 | mentioned in the manual. | ||
| 1674 | |||
| 1675 | It is wise to do this in lisp/site-init.el before building Emacs: | ||
| 1676 | |||
| 1677 | (setq inhibit-local-variables t) | ||
| 1678 | 2072 | ||
| 1679 | If Emacs has already been built, the expression can be put in | 2073 | As of Emacs 19, Emacs has a list of local variables that create a |
| 1680 | lisp/default.el instead, or an individual can put it in their own | 2074 | security risk. If a file tries to set one of them, it asks the user to |
| 1681 | .emacs file. | 2075 | confirm whether the variables should be set. You can also tell Emacs |
| 2076 | whether to allow the evaluation of Emacs Lisp code found at the bottom | ||
| 2077 | of files by setting the variable enable-local-eval. | ||
| 1682 | 2078 | ||
| 1683 | The ability to exploit this feature by sending e-mail to an Rmail user | 2079 | For more information, see "File Variables" in the on-line manual. |
| 1684 | was fixed sometime after Emacs 18.52. However, any new package that | ||
| 1685 | uses find-file or find-file-noselect has to be careful about this. | ||
| 1686 | 2080 | ||
| 1687 | For more information, see `File Variables' in the on-line manual | 2081 | * synthetic X events (Yes, a risk; use MIT-MAGIC-COOKIE-1 or better.) |
| 1688 | (which, incidentally, does not describe how to disable the feature). | ||
| 1689 | |||
| 1690 | * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.) | ||
| 1691 | 2082 | ||
| 1692 | Emacs accepts synthetic X events generated by the SendEvent request as | 2083 | Emacs accepts synthetic X events generated by the SendEvent request as |
| 1693 | though they were regular events. As a result, if you are using the | 2084 | though they were regular events. As a result, if you are using the |
| @@ -1698,7 +2089,7 @@ size limit is now 16 times as large.] | |||
| 1698 | The only fix for this is to prevent other users from being able to open | 2089 | The only fix for this is to prevent other users from being able to open |
| 1699 | X connections. The standard way to prevent this is to use a real | 2090 | X connections. The standard way to prevent this is to use a real |
| 1700 | authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the | 2091 | authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the |
| 1701 | `xauth' program has any effect, then you are probably using | 2092 | "xauth" program has any effect, then you are probably using |
| 1702 | MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication | 2093 | MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication |
| 1703 | method; ask your system administrator. | 2094 | method; ask your system administrator. |
| 1704 | 2095 | ||
| @@ -1708,43 +2099,177 @@ size limit is now 16 times as large.] | |||
| 1708 | narrowing the time window when hostile users would have access, but | 2099 | narrowing the time window when hostile users would have access, but |
| 1709 | DOES NOT ELIMINATE THE RISK. | 2100 | DOES NOT ELIMINATE THE RISK. |
| 1710 | 2101 | ||
| 2102 | On most computers running Unix and X Windows, you enable and disable | ||
| 2103 | access using the "xhost" command. To allow all hosts access to your X | ||
| 2104 | server, use | ||
| 2105 | |||
| 2106 | xhost + | ||
| 2107 | |||
| 2108 | at the shell prompt, which (on an HP machine, at least) produces the | ||
| 2109 | following message: | ||
| 2110 | |||
| 2111 | access control disabled, clients can connect from any host | ||
| 2112 | |||
| 2113 | To deny all hosts access to your X server (except those explicitly | ||
| 2114 | allowed by name), use | ||
| 2115 | |||
| 2116 | xhost - | ||
| 2117 | |||
| 2118 | On the test HP computer, this command generated the following message: | ||
| 2119 | |||
| 2120 | access control enabled, only authorized clients can connect | ||
| 2121 | |||
| 2122 | 83: Dired says, "no file on this line" when I try to do something. | ||
| 2123 | |||
| 2124 | Chances are you're using a localized version of Unix that doesn't | ||
| 2125 | use US date format in dired listings. You can check this by looking | ||
| 2126 | at dired listings or by typing `ls -l' to a shell and looking at the | ||
| 2127 | dates that come out. | ||
| 2128 | |||
| 2129 | Dired uses a regular expression to find the beginning of a file | ||
| 2130 | name. In a long Unix-style directory listing ("ls -l"), the file | ||
| 2131 | name starts after the date. The regexp has thus been written to | ||
| 2132 | look for the date, the format of which can vary on non-US systems. | ||
| 2133 | |||
| 2134 | There are two approaches to solving this. The first one involves | ||
| 2135 | setting things up so that "ls -l" outputs US date format. This can | ||
| 2136 | be done by setting the locale. See your OS manual for more | ||
| 2137 | information. | ||
| 2138 | |||
| 2139 | The second approach involves changing the regular expression used by | ||
| 2140 | dired, dired-move-to-filename-regexp. | ||
| 2141 | |||
| 1711 | 2142 | ||
| 1712 | Difficulties Building/Installing/Porting Emacs | 2143 | Difficulties Building/Installing/Porting Emacs |
| 1713 | 2144 | ||
| 1714 | 73: What should I do if I have trouble building Emacs? | 2145 | 84: How do I install Emacs? |
| 2146 | |||
| 2147 | This answer is meant for users of Unix and Unix-like systems. Users of | ||
| 2148 | other operating systems should see the series of questions beginning with | ||
| 2149 | question 94, which describe where to get non-Unix source and binaries. | ||
| 2150 | These packages should come with installation instructions. | ||
| 2151 | |||
| 2152 | For Unix and Unix-like systems, the easiest way is often to compile it | ||
| 2153 | from scratch. You will need: | ||
| 2154 | |||
| 2155 | * Emacs sources. See question 92 for a list of ftp sites that make them | ||
| 2156 | available. On ftp.gnu.org, the main GNU distribution site, sources are | ||
| 2157 | available at | ||
| 2158 | |||
| 2159 | ftp://ftp.gnu.org/pub/gnu/emacs-20.4.tar.gz | ||
| 2160 | |||
| 2161 | The above will obviously change as new versions of Emacs come out. For | ||
| 2162 | instance, when Emacs 20.5 is released, it will most probably be | ||
| 2163 | available at | ||
| 2164 | |||
| 2165 | ftp://ftp.gnu.org/pub/gnu/emacs-20.5.tar.gz | ||
| 2166 | |||
| 2167 | Again, you should use one of the mirror sites in question 92 (and | ||
| 2168 | adjust the URL accordingly) so as to reduce load on ftp.gnu.org. | ||
| 2169 | |||
| 2170 | * Gzip, the GNU compression utility. You can get gzip via anonymous ftp | ||
| 2171 | at mirrors of ftp.gnu.org sites; it should compile and install without | ||
| 2172 | much trouble on most systems. Once you have retrieved the Emacs | ||
| 2173 | sources, you will probably be able to uncompress them with the command | ||
| 2174 | |||
| 2175 | gunzip --verbose emacs-20.4.tar.gz | ||
| 2176 | |||
| 2177 | changing the Emacs version (20.4), as necessary. Once gunzip has | ||
| 2178 | finished doing its job, a file by the name of "emacs-20.4.tar" should | ||
| 2179 | be in your build directory. | ||
| 2180 | |||
| 2181 | * Tar, the "tape archiving" program, which moves multiple files into and | ||
| 2182 | out of archive files, or "tarfiles." All of the files comprising the | ||
| 2183 | Emacs source come in a single tarfile, and must be extracted using tar | ||
| 2184 | before you can build Emacs. Typically, the extraction command would | ||
| 2185 | look like | ||
| 2186 | |||
| 2187 | tar -xvvf emacs-20.4.tar | ||
| 2188 | |||
| 2189 | The `x' indicates that we want to extract files from this tarfile, the | ||
| 2190 | two `v's force verbose output, and the `f' tells tar to use a disk | ||
| 2191 | file, rather than one on tape. | ||
| 2192 | |||
| 2193 | If you're using GNU tar (available at mirrors of ftp.gnu.org), you can | ||
| 2194 | combine this step and the previous one by using the command | ||
| 2195 | |||
| 2196 | tar -zxvvf emacs-20.4.tar.gz | ||
| 2197 | |||
| 2198 | The additional `z' at the beginning of the options list tells GNU tar | ||
| 2199 | to uncompress the file with gunzip before extracting the tarfile's | ||
| 2200 | components. | ||
| 2201 | |||
| 2202 | At this point, the Emacs sources (all 25+ megabytes of them) should be | ||
| 2203 | sitting in a directory called "emacs-20.4". On most common Unix and | ||
| 2204 | Unix-like systems, you should be able to compile Emacs (with X Windows | ||
| 2205 | support) with the following commands: | ||
| 2206 | |||
| 2207 | cd emacs-20.4 [ change directory to emacs-20.4 ] | ||
| 2208 | ./configure [ configure Emacs for your particular system ] | ||
| 2209 | make [ use Makefile to build components, then Emacs ] | ||
| 2210 | |||
| 2211 | If the "make" completes successfully, the odds are fairly good that the | ||
| 2212 | build has gone well. (See question 86 if you weren't successful.) | ||
| 2213 | |||
| 2214 | To install Emacs in its default directories of /usr/local/bin (binaries), | ||
| 2215 | /usr/local/share/emacs/20.xx (Lisp code and support files), | ||
| 2216 | /usr/local/libexec/CONFIGURATION/emacs/VERSION (executable files to be | ||
| 2217 | run by Emacs rather than users), /usr/local/man/man1 (man pages) and | ||
| 2218 | /usr/local/info (Info documentation), become the super-user and type | ||
| 2219 | |||
| 2220 | make install | ||
| 2221 | |||
| 2222 | Note that "make install" will overwrite /usr/local/bin/emacs and any | ||
| 2223 | Emacs Info files that might be in /usr/local/info. | ||
| 2224 | |||
| 2225 | Much more verbose instructions (with many more hints and suggestions) | ||
| 2226 | come with the Emacs sources, in the file "INSTALL". | ||
| 2227 | |||
| 2228 | 85: How do I update Emacs to the latest version? | ||
| 2229 | |||
| 2230 | Follow the instructions in question 84. | ||
| 2231 | |||
| 2232 | Emacs places nearly everything in version-specific directories (e.g., | ||
| 2233 | /usr/local/share/emacs/20.4), so the only files that can be overwritten | ||
| 2234 | when installing a new release are /usr/local/bin/emacs and the Emacs Info | ||
| 2235 | documentation in /usr/local/info. Back up these files before you install | ||
| 2236 | a new release, and you shouldn't have too much trouble. | ||
| 2237 | |||
| 2238 | 86: What should I do if I have trouble building Emacs? | ||
| 1715 | 2239 | ||
| 1716 | First look in the file PROBLEMS (in the top-level directory when you | 2240 | First look in the file PROBLEMS (in the top-level directory when you |
| 1717 | unpack the Emacs source) to see if there is already a solution for your | 2241 | unpack the Emacs source) to see if there is already a solution for your |
| 1718 | problem. Next check the FAQ (you're reading it). If you don't find a | 2242 | problem. Next, look for other questions in this FAQ that have to do with |
| 1719 | solution, then report your problem via e-mail to | 2243 | Emacs installation and compilation problems. |
| 1720 | bug-gnu-emacs@prep.ai.mit.edu. Please do not post it to gnu.emacs.help | ||
| 1721 | or e-mail it to help-gnu-emacs@prep.ai.mit.edu. For further guidelines, | ||
| 1722 | see question 8. | ||
| 1723 | |||
| 1724 | 74: How do I stop Emacs from failing when the executable is stripped? | ||
| 1725 | 2244 | ||
| 1726 | Don't do that. | 2245 | If you'd like to have someone look at your problem and help solve it, see |
| 2246 | question 21. | ||
| 1727 | 2247 | ||
| 1728 | This problem has been reported on SGI Indigo machines running Irix 4.0.* | 2248 | If you don't find a solution, then report your problem via e-mail to |
| 1729 | and RS/6000 machines. Scott Henry <scotth@hoshi.corp.SGi.COM> posted a | 2249 | bug-gnu-emacs@gnu.org. Please do not post it to gnu.emacs.help |
| 1730 | patch that fixes the problem for Irix. | 2250 | or e-mail it to help-gnu-emacs@gnu.org. For further guidelines, |
| 2251 | see question 8 and question 10. | ||
| 1731 | 2252 | ||
| 1732 | 75: Why does linking Emacs with -lX11 fail? | 2253 | 87: Why does linking Emacs with -lX11 fail? |
| 1733 | 2254 | ||
| 1734 | Emacs needs to be linked with the static version of the X11 library, | 2255 | Emacs needs to be linked with the static version of the X11 library, |
| 1735 | libX11.a. This may be missing. | 2256 | libX11.a. This may be missing. |
| 1736 | 2257 | ||
| 1737 | Under OpenWindows, you may need to use `add_services' to add the | 2258 | Under OpenWindows, you may need to use "add_services" to add the |
| 1738 | `OpenWindows Programmers' optional software category from the CD-ROM. | 2259 | "OpenWindows Programmers" optional software category from the CD-ROM. |
| 1739 | 2260 | ||
| 1740 | Under HP-UX 8.0, you may need to run `update' again to load the X11-PRG | 2261 | Under HP-UX 8.0, you may need to run "update" again to load the X11-PRG |
| 1741 | `fileset'. This may be missing even if you specified `all filesets' the | 2262 | "fileset". This may be missing even if you specified "all filesets" the |
| 1742 | first time. If libcurses.a is missing, you may need to load the | 2263 | first time. If libcurses.a is missing, you may need to load the |
| 1743 | `Berkeley Development Option' {???}. | 2264 | "Berkeley Development Option." |
| 1744 | 2265 | ||
| 1745 | If you are building the MIT X11 sources, you may need to modify your | 2266 | David Zuhn <zoo@armadillo.com> says that MIT X builds shared libraries by |
| 1746 | `site.cf' file to get static versions of the libraries. (Info from David | 2267 | default, and only shared libraries, on those platforms that support them. |
| 1747 | Zuhn <zoo@cygnus.com>.) | 2268 | These shared libraries can't be used when undumping temacs (the last |
| 2269 | stage of the Emacs build process). To get regular libraries in addition | ||
| 2270 | to shared libraries, add this to site.cf: | ||
| 2271 | |||
| 2272 | #define ForceNormalLib YES | ||
| 1748 | 2273 | ||
| 1749 | Other systems may have similar problems. You can always define | 2274 | Other systems may have similar problems. You can always define |
| 1750 | CANNOT_DUMP and link with the shared libraries instead. | 2275 | CANNOT_DUMP and link with the shared libraries instead. |
| @@ -1755,35 +2280,44 @@ Difficulties Building/Installing/Porting Emacs | |||
| 1755 | 2280 | ||
| 1756 | Finding/Getting Emacs and Related Packages | 2281 | Finding/Getting Emacs and Related Packages |
| 1757 | 2282 | ||
| 1758 | 76: Where can I get GNU Emacs on the net (or by snail mail)? | 2283 | 88: Where can I get Emacs on the net (or by snail mail)? |
| 1759 | 2284 | ||
| 1760 | Look in the files etc/DISTRIB and etc/FTP for information on nearby | 2285 | Look in the files etc/DISTRIB and etc/FTP for information on nearby |
| 1761 | archive sites and etc/ORDERS for mail orders. If you don't already have | 2286 | archive sites and etc/ORDERS for mail orders. If you don't already have |
| 1762 | GNU Emacs, see question 20 for how to get these files. | 2287 | Emacs, see question 20 for how to get these files. |
| 1763 | 2288 | ||
| 1764 | The latest version is always available via anonymous FTP at MIT: | 2289 | See question 84 for information on how to obtain and build the latest |
| 1765 | 2290 | version of Emacs, and question 92 for a list of archive sites that make | |
| 1766 | /prep.ai.mit.edu:pub/gnu/emacs-19.27.tar.gz | 2291 | GNU software available. |
| 1767 | 2292 | ||
| 1768 | See question 80 for information on where to get other GNU software. | 2293 | 89: How do I find a Emacs Lisp package that does XXX? |
| 1769 | 2294 | ||
| 1770 | 77: How do I find a GNU Emacs Lisp package that does XXX? | 2295 | First of all, you should check to make sure that the package isn't |
| 1771 | 2296 | already available. For example, typing "M-x apropos RET wordstar RET" | |
| 1772 | A listing of Emacs Lisp packages, called the Lisp Code Directory, is | 2297 | lists all functions and variables containing the string "wordstar". |
| 1773 | being maintained by Dave Brennan <brennan@hal.com>. You can search | 2298 | |
| 1774 | through this list to learn if someone has written something that fits | 2299 | It is also possible that the package is on your system, but has not been |
| 1775 | your needs. | 2300 | loaded. To see which packages are available for loading, look through your |
| 1776 | 2301 | computer's lisp directory (see question 4) or use the Finder (C-h p) to | |
| 1777 | This list is file LCD-datafile.Z in the Emacs Lisp Archive (see the next | 2302 | search under keywords. The Lisp source to most most packages contains a |
| 1778 | question for retrieval instructions). The files lispdir.el.Z and | 2303 | short description of how they should be loaded, invoked, and configured -- |
| 1779 | lispdir.doc in the archive contain Lisp code and information to help you | 2304 | so before you use or modify a Lisp package, see if the author has provided |
| 1780 | use the list. Once you have installed lispdir.el and LCD-datafile, then | 2305 | any hints in the source code. |
| 1781 | you can use the `M-x lisp-dir-apropos' command to search the listing. | 2306 | |
| 1782 | For example, the command `M-x lisp-dir-apropos RET ange-ftp RET' produces | 2307 | If a package does not come with Emacs, check the Lisp Code Directory, |
| 1783 | this output: | 2308 | maintained by Dave Brennan <brennan@hal.com>. The directory is contained |
| 2309 | in the file LCD-datafile.Z, available from the Emacs Lisp Archive (see | ||
| 2310 | question 90), and is accessed using the "lispdir" package, available from | ||
| 2311 | the same site. Note that lispdir.el requires crypt++, which you can grab | ||
| 2312 | from the Emacs Lisp Archive's "misc" subdirectory when you get | ||
| 2313 | lispdir.el. | ||
| 2314 | |||
| 2315 | Once you have installed lispdir.el and LCD-datafile, you can use "M-x | ||
| 2316 | lisp-dir-apropos" to search the listing. For example, "M-x | ||
| 2317 | lisp-dir-apropos RET ange-ftp RET" produces this output: | ||
| 1784 | 2318 | ||
| 1785 | GNU Emacs Lisp Code Directory Apropos -- "ange-ftp" | 2319 | GNU Emacs Lisp Code Directory Apropos -- "ange-ftp" |
| 1786 | "~/" refers to archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/ | 2320 | "~/" refers to ftp.cs.ohio-state.edu:pub/gnu/emacs/elisp-archive/ |
| 1787 | 2321 | ||
| 1788 | ange-ftp (4.18) 15-Jul-1992 | 2322 | ange-ftp (4.18) 15-Jul-1992 |
| 1789 | Andy Norman, <ange@hplb.hpl.hp.com> | 2323 | Andy Norman, <ange@hplb.hpl.hp.com> |
| @@ -1798,27 +2332,40 @@ Finding/Getting Emacs and Related Packages | |||
| 1798 | ~/modes/ftp-quik.el.Z | 2332 | ~/modes/ftp-quik.el.Z |
| 1799 | Quik access to dired'ing of ange-ftp and normal paths | 2333 | Quik access to dired'ing of ange-ftp and normal paths |
| 1800 | 2334 | ||
| 1801 | 78: Where can I get GNU Emacs Lisp packages that don't come with Emacs? | 2335 | You actually don't need the directory file LCD-datafile if your computer |
| 2336 | is on the Internet, since the latest version is retrieved automatically | ||
| 2337 | the first time you type "M-x lisp-dir-apropos" in a particular Emacs | ||
| 2338 | session. If you would prefer to use a local copy of LCD-datafile, be | ||
| 2339 | sure to set the variable lisp-code-directory at the top of the lispdir.el | ||
| 2340 | source code. | ||
| 2341 | |||
| 2342 | A searchable version of the LCD is also available at | ||
| 2343 | |||
| 2344 | http://www.cs.indiana.edu/LCD/cover.html | ||
| 2345 | |||
| 2346 | 90: Where can I get Emacs Lisp packages that don't come with Emacs? | ||
| 1802 | 2347 | ||
| 1803 | First, check the Lisp Code Directory to find the name of the package you | 2348 | First, check the Lisp Code Directory to find the name of the package you |
| 1804 | are looking for (see question 77). Next, check local archives and the | 2349 | are looking for (see question 89). Next, check local archives and the |
| 1805 | Emacs Lisp Archive to find a copy of the relevant files. If you still | 2350 | Emacs Lisp Archive to find a copy of the relevant files. If you still |
| 1806 | haven't found it, you can send e-mail to the author asking for a copy. | 2351 | haven't found it, you can send e-mail to the author asking for a copy. |
| 1807 | 2352 | If you find Emacs Lisp code that doesn't appear in the LCD, please submit | |
| 1808 | You can access the Emacs Lisp Archive via anonymous FTP: | 2353 | a copy to the LCD (see question 91). |
| 1809 | 2354 | ||
| 1810 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/ | 2355 | You can access the Emacs Lisp Archive at the following sites: |
| 1811 | /ftp.cs.umn.edu:pub/elisp-archive/ | 2356 | |
| 1812 | /calypso-2.oit.unc.edu:pub/gnu/elisp-archive/ | 2357 | ftp://ftp.cs.ohio-state.edu/pub/gnu/emacs/elisp-archive/ |
| 1813 | /ftp.uu.net:packages/gnu/emacs-lisp/ | 2358 | ftp://calypso-2.oit.unc.edu/pub/gnu/elisp-archive/ |
| 1814 | /gatekeeper.dec.com:pub/GNU/elisp-archive/ | 2359 | ftp://faui43.informatik.uni-erlangen.de/pub/gnu/elisp-archive/ |
| 1815 | /nic.switch.ch:mirror/elisp-archive/ | 2360 | ftp://ftp.cs.umn.edu/pub/elisp-archive/ |
| 1816 | /ftp.diku.dk:pub/elisp-archive/ | 2361 | ftp://ftp.diku.dk/pub/elisp-archive/ |
| 1817 | /quepasa.cs.tu-berlin.de:pub/gnu/elisp/ | 2362 | ftp://ftp.uni-mainz.de/pub/gnu/elisp-archive/ |
| 1818 | /faui43.informatik.uni-erlangen.de:pub/gnu/elisp-archive/ | 2363 | ftp://ftp.uu.net/packages/gnu/emacs-lisp/ |
| 1819 | /ftp.uni-mainz.de:pub/gnu/elisp-archive/ | 2364 | ftp://gatekeeper.dec.com/pub/GNU/elisp-archive/ |
| 1820 | /nic.funet.fi:pub/gnu/emacs/elisp-archive/ | 2365 | ftp://nic.funet.fi/pub/gnu/emacs/elisp-archive/ |
| 1821 | /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/ | 2366 | ftp://nic.switch.ch/mirror/elisp-archive/ |
| 2367 | ftp://quepasa.cs.tu-berlin.de/pub/gnu/elisp/ | ||
| 2368 | ftp://src.doc.ic.ac.uk/gnu/EmacsBits/elisp-archive/ | ||
| 1822 | 2369 | ||
| 1823 | Retrieve and read the file README first. | 2370 | Retrieve and read the file README first. |
| 1824 | 2371 | ||
| @@ -1827,163 +2374,182 @@ Finding/Getting Emacs and Related Packages | |||
| 1827 | you cannot use FTP or UUCP to access the archive yourself, try to | 2374 | you cannot use FTP or UUCP to access the archive yourself, try to |
| 1828 | find a friend who can, but please don't ask the maintainers. | 2375 | find a friend who can, but please don't ask the maintainers. |
| 1829 | 2376 | ||
| 1830 | * Any files with names ending in `.Z', `.z', or `.gz' are | 2377 | * Any files with names ending in ".Z", ".z", or ".gz" are |
| 1831 | compressed, so you should use `binary' mode in FTP to retrieve | 2378 | compressed, so you should use "binary" mode in FTP to retrieve |
| 1832 | them. You should also use binary mode whenever you retrieve any | 2379 | them. You should also use binary mode whenever you retrieve any |
| 1833 | files with names ending in `.elc'. | 2380 | files with names ending in ".elc". |
| 2381 | |||
| 2382 | Note that the archive is apparently not being maintained at the time of | ||
| 2383 | writing; a volunteer to take on the task would be welcome. | ||
| 2384 | |||
| 2385 | Packages which have been posted to gnu.emacs.sources should be locatable | ||
| 2386 | via a service like Dejanews. | ||
| 1834 | 2387 | ||
| 1835 | 79: How do I submit code to the Emacs Lisp Archive? | 2388 | 91: How do I submit code to the Emacs Lisp Archive? |
| 1836 | 2389 | ||
| 1837 | Guidelines and procedures for submission to the archive can be found in | 2390 | Guidelines and procedures for submission to the archive can be found in |
| 1838 | the file GUIDELINES in the archive directory (see question 78). It | 2391 | the file GUIDELINES in the archive directory (see question 90). It |
| 1839 | covers documentation, copyrights, packaging, submission, and the Lisp | 2392 | covers documentation, copyrights, packaging, submission, and the Lisp |
| 1840 | Code Directory Record. Anonymous FTP uploads are not permitted. | 2393 | Code Directory Record. Anonymous FTP uploads are not permitted. |
| 1841 | Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu. | 2394 | Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu. |
| 1842 | The lispdir.el package has a function named submit-lcd-entry which will | 2395 | The lispdir.el package has a function named submit-lcd-entry which will |
| 1843 | help you with this. | 2396 | help you with this. |
| 1844 | 2397 | ||
| 1845 | 80: Where can I get other up-to-date GNU stuff? | 2398 | See question 90 regarding non-maintenance of the archive. |
| 1846 | |||
| 1847 | The most up-to-date official GNU stuff is normally kept on | ||
| 1848 | prep.ai.mit.edu and is available for anonymous FTP in the pub/gnu | ||
| 1849 | directory. Read the files etc/DISTRIB and etc/FTP for more information | ||
| 1850 | (see question 20 for retrieval instructions). | ||
| 1851 | |||
| 1852 | The following sites are all mirror images of the GNU distribution area: | ||
| 1853 | |||
| 1854 | /col.hp.com:mirrors/gnu/ | ||
| 1855 | /ftp.uu.net:packages/gnu/ | ||
| 1856 | /ftp.win.tue.nl:pub/gnu/ | ||
| 1857 | /gatekeeper.dec.com:pub/GNU/ | ||
| 1858 | /nic.funet.fi:pub/gnu/ | ||
| 1859 | /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM) | ||
| 1860 | /utsun.s.u-tokyo.ac.jp:ftpsync/prep/ | ||
| 1861 | /wuarchive.wustl.edu:systems/gnu/ | ||
| 1862 | |||
| 1863 | The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu, | ||
| 1864 | except that files larger than one megabyte are split into multiple parts. | ||
| 1865 | If you have trouble transferring large files, you should try here. A | ||
| 1866 | file normally named `XXX' is split into files XXX-split/part[0-9][0-9], | ||
| 1867 | and there will be a file named XXX-split/README which contains the list | ||
| 1868 | of parts (especially helpful when FTP-ing by e-mail), their checksums, | ||
| 1869 | and reassembly instructions. | ||
| 1870 | |||
| 1871 | 81: What is the difference between Emacs and Epoch? | ||
| 1872 | |||
| 1873 | Epoch was a modified version of GNU Emacs. It was merged | ||
| 1874 | into XEmacs (formerly "Lucid Emacs"), and the Epoch redisplay, now | ||
| 1875 | being totally rewritten, is slated to be merged into Emacs when the | ||
| 1876 | rewrite is done. | ||
| 1877 | |||
| 1878 | 82: What is the difference between Emacs and XEmacs (formerly "Lucid | ||
| 1879 | Emacs")? | ||
| 1880 | |||
| 1881 | XEmacs is a modified version of GNU Emacs. | ||
| 1882 | |||
| 1883 | A comparison between the two versions, written by the XEmacs | ||
| 1884 | maintainers, had been included here. Richard Stallman removed it | ||
| 1885 | from this copy of the FAQ because it was unfair. It was (1) | ||
| 1886 | one-sided, listing only advantages of XEmacs and not advantages of | ||
| 1887 | the principal version of Emacs, (2) biased, stating the opinions | ||
| 1888 | of the XEmacs maintainers, and (3) out of date, listing as advantages of | ||
| 1889 | XEmacs features which in fact both versions have. | ||
| 1890 | |||
| 1891 | 83: Where can I get Emacs for my PC running MS-DOS? | ||
| 1892 | |||
| 1893 | Recent releases of GNU Emacs 19 should compile right out of the box on | ||
| 1894 | PCs with a 386 or better, running MS-DOS 3.0 or later. You will need the | ||
| 1895 | following to compile it: | ||
| 1896 | |||
| 1897 | Compiler: djgpp version 1.12 maint 1 or later. Djgpp v2.0 or later is | ||
| 1898 | recommended, since v1.x is being phased out--if you'll have any | ||
| 1899 | djgpp-related problem for which there is no known solution, you | ||
| 1900 | are on your own when you use djgpp v1.x. | ||
| 1901 | |||
| 1902 | You can get the latest release of either v1.x or v2.0 by | ||
| 1903 | grabbing everything in the following directory (using anonymous | ||
| 1904 | ftp): | ||
| 1905 | |||
| 1906 | ftp.simtel.net:/pub/simtelnet/gnu/djgpp | ||
| 1907 | |||
| 1908 | There are a few directories under djgpp whose names begin with | ||
| 1909 | `v1' or `v2'; get the contents of `v2' and `v2gnu' (for djgpp | ||
| 1910 | v2) or `v1' and `v1gnu' (for djgpp v1). | ||
| 1911 | 2399 | ||
| 1912 | GUnZip and Tar: | 2400 | 92: Where can I get other up-to-date GNU stuff? |
| 1913 | 2401 | ||
| 1914 | The easiest way is to use `djtar' which comes with DJGPP v2.x, | 2402 | The most up-to-date official GNU software is normally kept on |
| 1915 | because it can unzip .tar.gz archives on-the-fly (so you won't | 2403 | ftp.gnu.org and is available at |
| 1916 | need twice the required disk space while untarring the | ||
| 1917 | archive). You get `djtar' with the `v2/djdev201.zip' file from | ||
| 1918 | the above FTP server. | ||
| 1919 | 2404 | ||
| 1920 | Another (slower) version of Tar which unzips automatically is | 2405 | ftp://ftp.gnu.org/pub/gnu |
| 1921 | available by anonymous ftp on this site: | ||
| 1922 | 2406 | ||
| 1923 | ftp.kiae.su:msdos/arcers/tar320fp.zip | 2407 | Read the files etc/DISTRIB and etc/FTP for more information. |
| 1924 | 2408 | ||
| 1925 | Or you can unZip the archive with the DJGPP port of GZip (from | 2409 | The following sites are all mirror images of the GNU distribution area: |
| 1926 | the above directory at ftp.simtel.net look for v2/gzp124b.zip), | ||
| 1927 | then unTar it with any of the Tar ports floating around. A | ||
| 1928 | DOS version of GNU tar is available via anonymous ftp from | ||
| 1929 | |||
| 1930 | ftp.unipg.it:/pub/msdos/aspi/gtar-exe.zip | ||
| 1931 | |||
| 1932 | Note that DOS ports of GNU Tar usually cannot unzip compressed | ||
| 1933 | archives. | ||
| 1934 | |||
| 1935 | Another version of Tar for DOS can be found at | ||
| 1936 | |||
| 1937 | ftp.urc.tue.nl:pub/unixtools/dos | ||
| 1938 | |||
| 1939 | However, be warned that not all DOS versions of tar work | ||
| 1940 | equally well, so you might have to try others if this one gives | ||
| 1941 | you trouble. | ||
| 1942 | |||
| 1943 | Utilities: chmod, make, mv, sed, rm. | ||
| 1944 | |||
| 1945 | All of these utilities are available via anonymous ftp from | ||
| 1946 | the site | ||
| 1947 | |||
| 1948 | ftp.simtel.net:/pub/simtelnet/gnu/djgpp/v2gnu | ||
| 1949 | 2410 | ||
| 1950 | You should grab the file fil313b.zip (contains chmod.exe, | 2411 | ASIA: ftp://cair.kaist.ac.kr/pub/gnu, |
| 1951 | mv.exe, and rm.exe). | 2412 | ftp://ftp.nectec.or.th/pub/mirrors/gnu, |
| 2413 | ftp://utsun.s.u-tokyo.ac.jp/ftpsync/prep, | ||
| 2414 | ftp://ftp.cs.titech.ac.jp/pub/gnu | ||
| 2415 | |||
| 2416 | AUSTRALIA: ftp://archie.au/gnu (archie.oz or archie.oz.au for ACSnet) | ||
| 2417 | |||
| 2418 | AFRICA: ftp://ftp.sun.ac.za/pub/gnu | ||
| 2419 | |||
| 2420 | EUROPE: ftp://ftp.denet.dk/pub/gnu, | ||
| 2421 | ftp://ftp.funet.fi/pub/gnu, | ||
| 2422 | ftp://ftp.informatik.rwth-aachen.de/pub/gnu, | ||
| 2423 | ftp://ftp.informatik.tu-muenchen.de/pub/comp/gnu, | ||
| 2424 | ftp://ftp.luth.se/pub/unix/gnu, | ||
| 2425 | ftp://ftp.stacken.kth.se/pub/gnu, | ||
| 2426 | ftp://ftp.win.tue.nl/pub/gnu, | ||
| 2427 | ftp://isy.liu.se/pub/gnu, | ||
| 2428 | ftp://nic.switch.ch/mirror/gnu, | ||
| 2429 | ftp://archive.eu.net/pub/gnu, | ||
| 2430 | ftp://ftp.eunet.ch/software/gnu, | ||
| 2431 | ftp://ftp.ieunet.ie/pub/gnu, | ||
| 2432 | ftp://ftp.mcc.ac.uk/pub/gnu, | ||
| 2433 | ftp://ftp.sunet.se:/pub/gnu, | ||
| 2434 | ftp://ftp.univ-lyon1.fr/pub/gnu, | ||
| 2435 | ftp://irisa.irisa.fr/pub/gnu, | ||
| 2436 | ftp://src.doc.ic.ac.uk/gnu, | ||
| 2437 | ftp://unix.hensa.ac.uk/pub/uunet/systems/gnu | ||
| 2438 | |||
| 2439 | SOUTH AMERICA: ftp.unicamp.br:/pub/gnu | ||
| 2440 | |||
| 2441 | WESTERN CANADA: ftp.cs.ubc.ca:/mirror2/gnu | ||
| 2442 | |||
| 2443 | USA: ftp://col.hp.com/mirrors/gnu, | ||
| 2444 | ftp://f.ms.uky.edu/pub3/gnu, | ||
| 2445 | ftp://ftp.cs.columbia.edu/archives/gnu/prep, | ||
| 2446 | ftp://ftp.digex.net/pub/gnu, | ||
| 2447 | ftp://ftp.hawaii.edu/mirrors/gnu, | ||
| 2448 | ftp://ftp.kpc.com/pub/mirror/gnu, | ||
| 2449 | ftp://ftp.uu.net/systems/gnu, | ||
| 2450 | ftp://gatekeeper.dec.com/pub/GNU, | ||
| 2451 | ftp://jaguar.utah.edu/gnustuff, | ||
| 2452 | ftp://labrea.stanford.edu/pub/gnu, | ||
| 2453 | ftp://mrcnext.cso.uiuc.edu/pub/gnu, | ||
| 2454 | ftp://vixen.cso.uiuc.edu/gnu, | ||
| 2455 | ftp://wuarchive.wustl.edu/systems/gnu | ||
| 2456 | |||
| 2457 | The directory at ftp.uu.net is a mirror of ftp.gnu.org except that files | ||
| 2458 | larger than one megabyte are split into multiple parts. If you have | ||
| 2459 | trouble transferring large files, you should try that site. A file | ||
| 2460 | normally named "XXX" is split into files XXX-split/part[0-9][0-9], and | ||
| 2461 | there will be a file named XXX-split/README which contains the list of | ||
| 2462 | parts (especially helpful when FTP-ing by e-mail), their checksums, and | ||
| 2463 | reassembly instructions. | ||
| 2464 | |||
| 2465 | 93: What is the difference between Emacs and XEmacs (formerly "Lucid | ||
| 2466 | Emacs")? | ||
| 2467 | |||
| 2468 | XEmacs is a modified version of GNU Emacs. | ||
| 2469 | |||
| 2470 | This FAQ refers to the latest version to be distributed by the FSF | ||
| 2471 | as "Emacs," partly because the XEmacs maintainers now refer to their | ||
| 2472 | product using the "XEmacs" name, and partly because there isn't any | ||
| 2473 | accurate way to differentiate between the two without getting mired | ||
| 2474 | in paragraphs of legalese and history. | ||
| 2475 | |||
| 2476 | XEmacs, which began life as Lucid Emacs, is based on an early version of | ||
| 2477 | Emacs 19 and Epoch, an X-aware version of Emacs 18. | ||
| 2478 | |||
| 2479 | Emacs (i.e., the version distributed by the FSF) has a larger installed | ||
| 2480 | base and now always contains the MULE multilingual facilities. XEmacs | ||
| 2481 | can do some clever tricks with X Windows, such as putting arbitrary | ||
| 2482 | graphics in a buffer; similar facilities have been implemented for Emacs, | ||
| 2483 | which will be integrated after version 20.4. Emacs and XEmacs each come | ||
| 2484 | with some Lisp packages that are lacking or more up-to-date in the other; | ||
| 2485 | RMS says that the FSF would include more packages that come with XEmacs, | ||
| 2486 | but that the XEmacs maintainers don't always keep track of the authors of | ||
| 2487 | contributed code, which makes it impossible for the FSF to have certain | ||
| 2488 | legal papers signed. (Without these legal papers, the FSF will not | ||
| 2489 | distribute Lisp packages with Emacs.) The two versions have some | ||
| 2490 | significant differences at the Lisp programming level. | ||
| 2491 | |||
| 2492 | 94: Where can I get Emacs for my PC running MS-DOS? | ||
| 2493 | |||
| 2494 | A pre-built binary distribution of Emacs is available from the Simtel | ||
| 2495 | archives. This version works under MS-DOS and Windows (3.x, 95, and NT) and | ||
| 2496 | supports long file names under Windows 95. More information is available | ||
| 2497 | from: | ||
| 2498 | |||
| 2499 | ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/emacs.README | ||
| 2500 | |||
| 2501 | And the binary itself is available in the files | ||
| 2502 | |||
| 2503 | ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/em1934*.zip | ||
| 2504 | |||
| 2505 | where * indicates that you should retrieve all of the files beginning | ||
| 2506 | with "em1934" and ending with "zip". | ||
| 2507 | |||
| 2508 | If you prefer to compile Emacs for yourself, you will need a 386 (or | ||
| 2509 | better) processor, and are running MS-DOS 3.0 or later. According to Eli | ||
| 2510 | Zaretskii <eliz@is.elta.co.il> and Darrel Hankerson | ||
| 2511 | <hankedr@dms.auburn.edu>, you will need the following: | ||
| 2512 | |||
| 2513 | Compiler: djgpp version 1.12 maint 1 or later. Djgpp 2.0 or later is | ||
| 2514 | recommended, since 1.x is being phased out. Djgpp 2 supports | ||
| 2515 | long filenames under Windows 95. | ||
| 2516 | |||
| 2517 | You can get the latest release of djgpp by retrieving | ||
| 2518 | all of the files in | ||
| 2519 | |||
| 2520 | ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp | ||
| 2521 | |||
| 2522 | Gunzip and tar: | ||
| 2523 | |||
| 2524 | The easiest way is to use "djtar" which comes with djgpp v2.x, | ||
| 2525 | because it can open gzip'ed tarfiles (i.e., those ending with | ||
| 2526 | ".tar.gz") in one step. Djtar comes in "djdev201.zip", from | ||
| 2527 | the URL mentioned above. | ||
| 1952 | 2528 | ||
| 1953 | A port of GNU Sed is available in the djgpp archives in the | 2529 | Utilities: make, mv, sed, rm. |
| 1954 | above directory on ftp.coast.net. Look for a file named | ||
| 1955 | v2/sed118b.zip or v1/sed118bn.zip. | ||
| 1956 | 2530 | ||
| 1957 | The file etc/MSDOS contains some information on the differences between | 2531 | All of these utilities are available at |
| 1958 | the Unix and MS-DOS versions of GNU Emacs. | ||
| 1959 | 2532 | ||
| 1960 | MS-DOS systems are notorious in the problems they present when installing | 2533 | ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu |
| 1961 | programs, due to a great variability in both hardware and software. If | ||
| 1962 | you have any unusual problems compiling or using Emacs, please consult | ||
| 1963 | the latest version of the djgpp FAQ list, available as v2/faqNNNb.zip, | ||
| 1964 | where `NNN' is the version number. For v1, get the file v1/faq102.zip. | ||
| 1965 | 2534 | ||
| 1966 | If you would prefer not to compile Emacs by yourself, you can get | 2535 | 16-bit utilities can be found in GNUish: |
| 1967 | binaries for Emacs via anonymous ftp from many sites; use your Archie | ||
| 1968 | client to search for them. | ||
| 1969 | 2536 | ||
| 1970 | You might also be interested in Demacs, which runs under MS-DOS (*not* | 2537 | ftp://ftp.simtel.net/pub/simtelnet/gnu/gnuish |
| 1971 | Microsoft Windows; see question 84) on 386- and 486-based PCs. Demacs is | ||
| 1972 | a port of Nemacs (see question 126), rather than a straight port of GNU | ||
| 1973 | Emacs 18 or 19. | ||
| 1974 | 2538 | ||
| 1975 | Demacs was developed using an MS-DOS version of gcc called djgpp by | 2539 | The files INSTALL and PROBLEMS in the top-level directory of the Emacs |
| 1976 | DJ Delorie <dj@delorie.com> which can compile and run large programs | 2540 | source contains some additional information regarding Emacs under MS-DOS. |
| 1977 | under MS-DOS and under MS Windows. Demacs was derived from Nemacs | ||
| 1978 | rather than straight from GNU Emacs. You can get the most recent version | ||
| 1979 | of Demacs via anonymous ftp from ftp.sigmath.osaka-u.ac.jp in | ||
| 1980 | pub/Msdos/Demacs/*. | ||
| 1981 | 2541 | ||
| 1982 | For a list of other MS-DOS implementations of Emacs (and Emacs | 2542 | For a list of other MS-DOS implementations of Emacs (and Emacs |
| 1983 | look-alikes), consult the list of "Emacs implementations and literature," | 2543 | look-alikes), consult the list of "Emacs implementations and literature," |
| 1984 | available via anonymous ftp from rtfm.mit.edu in pub/usenet/comp.emacs. | 2544 | available at |
| 2545 | |||
| 2546 | ftp://rtfm.mit.edu/pub/usenet/comp.emacs/ | ||
| 2547 | |||
| 2548 | Note that while many of these programs look similar to Emacs, they often | ||
| 2549 | lack certain features, particularly as the Emacs Lisp extension language. | ||
| 1985 | 2550 | ||
| 1986 | 84: Where can I get Emacs for my PC running Microsoft Windows? | 2551 | 95: Where can I get Emacs for Microsoft Windows, Windows '95, or Windows |
| 2552 | NT? | ||
| 1987 | 2553 | ||
| 1988 | GNU Emacs has been fully ported to Windows NT and Windows 95/98. | 2554 | GNU Emacs has been fully ported to Windows NT and Windows 95/98. |
| 1989 | If you have MSVC 4.0 or greater, then you can compile GNU Emacs | 2555 | If you have MSVC 4.0 or greater, then you can compile GNU Emacs |
| @@ -2010,35 +2576,39 @@ Finding/Getting Emacs and Related Packages | |||
| 2010 | with the tools listed in the previous question, it will run under | 2576 | with the tools listed in the previous question, it will run under |
| 2011 | Microsoft Windows in a DOS box. | 2577 | Microsoft Windows in a DOS box. |
| 2012 | 2578 | ||
| 2013 | 85: Where can I get Emacs for my PC running OS/2? | 2579 | 96: Where can I get Emacs for my PC running OS/2? |
| 2014 | 2580 | ||
| 2015 | Emacs 19.27 is ported for emx on OS/2 2.0 or 2.1. | 2581 | Emacs 19.33 is ported for emx on OS/2 2.0 or 2.1, and is available at: |
| 2016 | 2582 | ||
| 2017 | Anonymous FTP info: | 2583 | ftp://hobbes.nmsu.edu/os2/unix/apps/emacs/v.19.33/ |
| 2018 | 2584 | ||
| 2019 | hobbes.nmsu.edu:os2/2_x/unix/emacs27 | 2585 | 97: Where can I get Emacs for my Atari ST? |
| 2020 | 2586 | ||
| 2021 | 86: Where can I get Emacs for my Atari ST? | 2587 | Roland Schäuble reports that Emacs 18.58 running on plain TOS and MiNT |
| 2588 | is available at | ||
| 2022 | 2589 | ||
| 2023 | (does anyone know?) | 2590 | ftp://atari.archive.umich.edu/Editors/Emacs-18-58/1858b-d3.zoo |
| 2024 | 2591 | ||
| 2025 | 87: Where can I get Emacs for my Amiga? | 2592 | 98: Where can I get Emacs for my Amiga? |
| 2026 | 2593 | ||
| 2027 | Amiga software is available through Aminet, a set of interconnected FTP | 2594 | The files you need are available at |
| 2028 | sites and other file accessing services for Amiga software. The primary | ||
| 2029 | sites for Aminet are ftp.wustl.edu (128.252.135.4) and ftp.cdrom.com | ||
| 2030 | (192.153.46.2). In the directory pub/aminet/util/gnu, there are | ||
| 2031 | 2595 | ||
| 2032 | a1.26-emacs-bin.lha -- Amiga GNU Emacs V1.26, binaries | 2596 | ftp://ftp.wustl.edu/pub/aminet/util/gnu/ |
| 2033 | a1.26-emacs-src.lha -- Amiga GNU Emacs V1.26, sources | ||
| 2034 | 2597 | ||
| 2035 | There are also quite a few Emacs related files/programs. Please search | 2598 | David Gilbert <dgilbert@gamiga.guelphnet.dweomer.org> has released a beta |
| 2036 | the index of Aminet. | 2599 | version of Emacs 19.25 for the Amiga. You can get the binary at |
| 2037 | 2600 | ||
| 2038 | We have no access to an Amiga, so please send in your experience and | 2601 | ftp://ftp.wustl.edu/pub/aminet/util/gnu/a2.0bEmacs-bin.lha |
| 2039 | comments on the implementation. | 2602 | |
| 2603 | 99: Where can I get Emacs for NeXTSTEP? | ||
| 2604 | |||
| 2605 | Emacs.app is a NeXTSTEP version of Emacs 19.34 which supports colors, | ||
| 2606 | menus, and multiple frames. You can get it from | ||
| 2607 | |||
| 2608 | ftp://next-ftp.peak.org/pub/next/apps/emacs/Emacs_for_NeXTstep.4.20a1.NIHS.b.tar.gz | ||
| 2609 | |||
| 2610 | 100: Where can I get Emacs for my Apple computer? | ||
| 2040 | 2611 | ||
| 2041 | 88: Where can I get Emacs for my Apple computer? | ||
| 2042 | 2612 | ||
| 2043 | There used to be a boycott of Apple because of its "look and feel" | 2613 | There used to be a boycott of Apple because of its "look and feel" |
| 2044 | lawsuit. The lawsuit failed, and the boycott is over. | 2614 | lawsuit. The lawsuit failed, and the boycott is over. |
| @@ -2059,284 +2629,241 @@ Finding/Getting Emacs and Related Packages | |||
| 2059 | way these ports will make up for the effort that they took. (We still | 2629 | way these ports will make up for the effort that they took. (We still |
| 2060 | hope so, but it has not happened yet.) | 2630 | hope so, but it has not happened yet.) |
| 2061 | 2631 | ||
| 2062 | 89: Where do I get Emacs that runs on VMS under DECwindows? | 2632 | An unofficial port of GNU Emacs 18.59 to the Macintosh is available at a |
| 2633 | number of ftp sites, the home being | ||
| 2634 | |||
| 2635 | ftp://ftp.cs.cornell.edu/pub/parmet/Emacs-1.17.sit.bin | ||
| 2063 | 2636 | ||
| 2064 | Version 19.27 has a VMS directory containing installation instructions, a | 2637 | To the best of our knowledge, Emacs 19 has not been ported to the |
| 2065 | makefile, and various .com files. But according to Richard Levitte | 2638 | Macintosh. |
| 2066 | <levitte@e.kth.se>, it does not run out of the box. Even if it does, the | ||
| 2067 | VMSNOTES indicates that the Emacs on VMS is going to have much more | ||
| 2068 | limited functionality. Richard Levitte has a patched 19.22 that | ||
| 2069 | supposedly has subprocess and networking functionality just as on Unix, | ||
| 2070 | with virtually the same lisp interface. The source is available via | ||
| 2071 | anonymous ftp at | ||
| 2072 | 2639 | ||
| 2073 | ftp.vms.stacken.kth.se:GNU-VMS/Beta/EMACS-19_22-********.TAR-GZ | 2640 | Apple's forthcoming "OS X" is based largely on NeXTSTEP and OpenStep. |
| 2641 | See question 99 for more details about that version. | ||
| 2074 | 2642 | ||
| 2075 | where ******** is the release date of the kit. You should also read | 2643 | 101: Where do I get Emacs that runs on VMS under DECwindows? |
| 2076 | http://www.e.kth.se/elev/levitte/gnu/emacs.html for more information. | ||
| 2077 | 2644 | ||
| 2078 | 90: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++, | 2645 | Up-to-date information about GNU software (including Emacs) for VMS is |
| 2079 | Objective C, Pascal, and Awk? | 2646 | available at |
| 2647 | |||
| 2648 | http://vms.gnu.org/ | ||
| 2649 | |||
| 2650 | 102: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++, | ||
| 2651 | Objective-C, Pascal, Java, and Awk? | ||
| 2080 | 2652 | ||
| 2081 | Most of these modes are now available in standard Emacs distribution. To | 2653 | Most of these modes are now available in standard Emacs distribution. To |
| 2082 | get additional modes, look in the Lisp Code Directory (see question 77). | 2654 | get additional modes, look in the Lisp Code Directory (see question 89). |
| 2083 | For C++, if you use lisp-dir-apropos, you must specify the pattern like | 2655 | For C++, if you use lisp-dir-apropos, you must specify the pattern like |
| 2084 | this: | 2656 | this: |
| 2085 | 2657 | ||
| 2086 | M-x lisp-dir-apropos RET c\+\+ RET | 2658 | M-x lisp-dir-apropos RET c\+\+ RET |
| 2087 | 2659 | ||
| 2088 | Note that Barry Warsaw's cc-mode now works for C, C++, and Objective-C | 2660 | Note that Barry Warsaw's cc-mode now works for C, C++, Objective-C, and |
| 2089 | code. You can get the latest version (4.85, as of this writing) from the | 2661 | Java code. You can get the latest version from the Emacs Lisp Archive; |
| 2090 | Emacs Lisp Archive. | 2662 | see question 90 for details. A FAQ for cc-mode is available at |
| 2091 | 2663 | ||
| 2092 | 91: What is the IP address of XXX.YYY.ZZZ? | 2664 | http://www.python.org/ftp/emacs/cc-mode.html/Top.html |
| 2093 | 2665 | ||
| 2094 | If you are at a site with a deficient nameserver, you may need to know | 2666 | 103: What is the IP address of XXX.YYY.ZZZ? |
| 2095 | the IP address of a host to FTP files from it. You can get this | ||
| 2096 | information in two ways: | ||
| 2097 | 2667 | ||
| 2098 | * By telnet: | 2668 | If you are on a Unix machine, try using the "nslookup" command, included |
| 2669 | in the Berkeley BIND package. For example, to find the IP address of | ||
| 2670 | "ftp.gnu.org", you would type | ||
| 2099 | 2671 | ||
| 2100 | telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101') | 2672 | nslookup ftp.gnu.org |
| 2101 | @ whois | ||
| 2102 | Whois: host XXX.YYY.ZZZ | ||
| 2103 | 2673 | ||
| 2104 | * By e-mail: | 2674 | Your computer should then provide the IP address of that computer. |
| 2105 | 2675 | ||
| 2106 | To: service@nic.ddn.mil | 2676 | If your site's nameserver is deficient, you can use IP addresses to FTP |
| 2107 | Subject: host XXX.YYY.ZZZ | 2677 | files. You can get this information by |
| 2108 | or: whois XXX.YYY.ZZZ | ||
| 2109 | or: help | ||
| 2110 | 2678 | ||
| 2111 | or: | 2679 | * E-mail: |
| 2112 | 2680 | ||
| 2113 | To: resolve@cs.widener.edu | 2681 | To: dns@[134.214.84.25] (to grasp.insa-lyon.fr) |
| 2114 | body: site XXX.YYY.ZZZ | 2682 | Body: ip XXX.YYY.ZZZ (or "help" for more information |
| 2683 | and options - no quotes) | ||
| 2684 | or: | ||
| 2115 | 2685 | ||
| 2116 | Information from Brendan Kehoe <brendan@cs.widener.edu>. | 2686 | To: resolve@[147.31.254.130] (to laverne.cs.widener.edu) |
| 2687 | Body: site XXX.YYY.ZZZ | ||
| 2117 | 2688 | ||
| 2118 | 2689 | ||
| 2119 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs | 2690 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs |
| 2120 | 2691 | ||
| 2121 | This section lists version numbers, FTP sites, mailing lists, newsgroups, | 2692 | 104: VM (View Mail) -- another mail reader within Emacs, with MIME support |
| 2122 | and other information for many important packages, extensions, and | ||
| 2123 | related programs. There is some overlap with the Lisp Code Directory, | ||
| 2124 | but these entries give more detailed information. | ||
| 2125 | |||
| 2126 | If you know of any other packages that are so substantial that they | ||
| 2127 | deserve to be mentioned here, please let us know. Having its own mailing | ||
| 2128 | list or newsgroup or more than half a megabyte of source code are good | ||
| 2129 | signs. | ||
| 2130 | |||
| 2131 | 92: VM (View Mail) -- another mail reader within Emacs | ||
| 2132 | 2693 | ||
| 2133 | Author: Kyle Jones <kyle@uunet.uu.net> | 2694 | Author: Kyle Jones <kyle@uunet.uu.net> |
| 2134 | Latest version: 5.72 (beta) | 2695 | Latest version: 6.62 |
| 2135 | Anonymous FTP: | 2696 | Anonymous FTP: |
| 2136 | /ftp.uu.net:networking/mail/vm-5.72beta.tar.gz | 2697 | ftp://ftp.uu.net/networking/mail/vm/vm.tar.gz |
| 2137 | Newsgroups and mailing lists: | 2698 | Newsgroups and mailing lists: |
| 2138 | Info-VM: | 2699 | Informational newsgroup/mailing list: |
| 2139 | gnu.emacs.vm.info (newsgroup) | 2700 | gnu.emacs.vm.info (newsgroup) |
| 2140 | info-vm-request@uunet.uu.net (for subscriptions) | 2701 | info-vm-request@uunet.uu.net (for subscriptions) |
| 2141 | info-vm@uunet.uu.net (for submissions) | 2702 | info-vm@uunet.uu.net (for submissions) |
| 2142 | Bug-VM: | 2703 | Bug reports newsgroup/mailing list: |
| 2143 | gnu.emacs.vm.bug (newsgroup) | 2704 | gnu.emacs.vm.bug (newsgroup) |
| 2144 | bug-vm-request@uunet.uu.net (for subscriptions) | 2705 | bug-vm-request@uunet.uu.net (for subscriptions) |
| 2145 | bug-vm@uunet.uu.net (for submissions) | 2706 | bug-vm@uunet.uu.net (for submissions) |
| 2707 | NOTE: VM 6 is not guaranteed to work under Emacs 20 (although many people | ||
| 2708 | seem to use it without too much trouble). Users of Emacs 20 might prefer | ||
| 2709 | to use VM 5.97, available from the same FTP site. | ||
| 2146 | 2710 | ||
| 2147 | 93: Supercite -- mail and news citation package within Emacs | 2711 | 105: SuperCite -- mail and news citation package within Emacs |
| 2148 | 2712 | ||
| 2149 | Author: Barry Warsaw <bwarsaw@cen.com> | 2713 | Author: Barry Warsaw <bwarsaw@cen.com> |
| 2150 | Latest version: 3.54 (comes with GNU Emacs 19) | 2714 | Latest version: 3.1 (comes with Emacs 20) |
| 2151 | 3.1 (available from the Emacs Lisp Archive) | ||
| 2152 | Anonymous FTP: | ||
| 2153 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc3.1.tar.Z | ||
| 2154 | Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions) | ||
| 2155 | supercite@anthem.nlm.nih.gov (for submissions) | ||
| 2156 | NOTE: Superyank is an old version of Supercite. | ||
| 2157 | |||
| 2158 | 94: Gnus -- news reader within Emacs | ||
| 2159 | |||
| 2160 | Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp> | ||
| 2161 | Latest version: 4.1 (comes with GNU Emacs 19) | ||
| 2162 | Anonymous FTP: | 2715 | Anonymous FTP: |
| 2163 | /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/gnus-4.1.tar.Z | 2716 | ftp://ftp.python.org/pub/emacs/sc3.1.tar.gz |
| 2164 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-4.1.tar.Z | 2717 | Mailing list: |
| 2165 | Newsgroups and mailing lists: | 2718 | supercite-request@merlin.cnri.reston.va.us (for subscriptions) |
| 2166 | English-only: | 2719 | supercite@merlin.cnri.reston.va.us (for submissions) |
| 2167 | gnu.emacs.gnus (newsgroup) | 2720 | NOTE: Superyank is an old version of SuperCite. |
| 2168 | info-gnus-english-request@cis.ohio-state.edu (for subscriptions) | ||
| 2169 | info-gnus-english@cis.ohio-state.edu (for submissions) | ||
| 2170 | Japanese (and some English): | ||
| 2171 | info-gnus-request@flab.fujitsu.co.jp (for subscriptions) | ||
| 2172 | info-gnus@flab.fujitsu.co.jp (for submissions) | ||
| 2173 | 2721 | ||
| 2174 | 95: Calc -- poor man's Mathematica within Emacs | 2722 | 106: Calc -- poor man's Mathematica within Emacs |
| 2175 | 2723 | ||
| 2176 | Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> | 2724 | Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> |
| 2177 | Latest version: 2.02c | 2725 | Latest version: 2.02f |
| 2178 | Anonymous FTP: | 2726 | Anonymous FTP: |
| 2179 | /prep.ai.mit.edu:pub/gnu/calc-2.02c.tar.gz | 2727 | ftp://ftp.gnu.org/pub/gnu/calc-2.02f.tar.gz |
| 2180 | NOTE: Unlike Wolfram Research, Dave has never threatened to sue | 2728 | NOTE: Unlike Wolfram Research, Dave has never threatened to sue |
| 2181 | anyone for having a program with a similar command language to | 2729 | anyone for having a program with a similar command language to |
| 2182 | Calc. :-) | 2730 | Calc. :-) |
| 2183 | 2731 | ||
| 2184 | 96: Ange-FTP -- transparent FTP access for Emacs's file access routines | 2732 | 107: VIPER -- vi emulation for Emacs |
| 2185 | 2733 | ||
| 2186 | Author: Andy Norman <ange@hplb.hpl.hp.com> | 2734 | Since Emacs 19.29, the preferred vi emulation in Emacs is VIPER (M-x |
| 2187 | Latest version: 1.56 (comes with GNU Emacs 19) | 2735 | viper-mode RET), which comes with Emacs. It extends and supersedes VIP |
| 2188 | Anonymous FTP: | 2736 | (including VIP 4.3) and provides vi emulation at several levels, from one |
| 2189 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z | 2737 | that closely follows vi to one that departs from vi in several |
| 2190 | Mailing lists: | 2738 | significant ways. |
| 2191 | Ange-FTP Lovers: | ||
| 2192 | ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions) | ||
| 2193 | ange-ftp-lovers@anorman.hpl.hp.com (for submissions) | ||
| 2194 | /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives) | ||
| 2195 | Ange-FTP Announcements: | ||
| 2196 | ange-ftp-lovers-announce@anorman.hpl.hp.com | ||
| 2197 | NOTE: now supports VMS, CMS, and MTS ftp servers | ||
| 2198 | 2739 | ||
| 2199 | 97: VIP -- vi emulation for Emacs | 2740 | For Emacs 19.28 and earlier, the following version of VIP is generally |
| 2741 | better than the one distributed with Emacs: | ||
| 2200 | 2742 | ||
| 2201 | Author: Aamod Sane <sane@cs.uiuc.edu> | 2743 | Author: Aamod Sane <sane@cs.uiuc.edu> |
| 2202 | Latest version: 4.3 | 2744 | Latest version: 4.3 |
| 2203 | Anonymous FTP: | 2745 | Anonymous FTP: |
| 2204 | /cs.uiuc.edu:pub/vip4.3.tar.Z | 2746 | ftp://ftp.cs.ohio-state.edu/pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z |
| 2205 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z | ||
| 2206 | NOTE: This version much more closely emulates vi than the one | ||
| 2207 | distributed with Emacs. | ||
| 2208 | 2747 | ||
| 2209 | 98: AUC TeX -- enhanced LaTeX mode with debugging facilities | 2748 | 108: AUC TeX -- enhanced LaTeX mode with debugging facilities |
| 2210 | 2749 | ||
| 2211 | Author: Kresten Krab Thorup <krab@iesd.auc.dk> | 2750 | Authors: Kresten Krab Thorup <krab@iesd.auc.dk> |
| 2212 | Latest version: 9.1i | 2751 | and Per Abrahamsen <abraham@iesd.auc.dk> |
| 2752 | Latest version: 9.8l | ||
| 2213 | Anonymous FTP: | 2753 | Anonymous FTP: |
| 2214 | /iesd.auc.dk:pub/emacs-lisp/auctex-9.1i.tar.gz | 2754 | ftp://sunsite.auc.dk/packages/auctex/auctex.tar.gz |
| 2215 | Mailing list: | 2755 | Mailing list: |
| 2216 | auc-tex-request@iesd.auc.dk (for subscriptions) | 2756 | auc-tex-request@iesd.auc.dk (for subscriptions) |
| 2217 | auc-tex@iesd.auc.dk (for submissions) | 2757 | auc-tex@iesd.auc.dk (for submissions) |
| 2218 | auc-tex_mgr@iesd.auc.dk (auc-tex development team) | 2758 | auc-tex_mgr@iesd.auc.dk (auc-tex development team) |
| 2759 | World Wide Web: | ||
| 2760 | http://www.iesd.auc.dk/~amanda/auctex/ | ||
| 2219 | 2761 | ||
| 2220 | 99: Hyperbole -- extensible hypertext management system within Emacs | 2762 | 109: BBDB -- personal Info Rolodex integrated with mail/news readers |
| 2221 | 2763 | ||
| 2222 | Author: Bob Weiner <rsw@cs.brown.edu> | 2764 | Maintainer: Matt Simmons <simmonmt@acm.org> |
| 2223 | Latest version: 3.15 | 2765 | Latest released version: 2.00 |
| 2224 | Anonymous FTP: | 2766 | Available from: |
| 2225 | /wilma.cs.brown.edu:pub/hyperbole/h3.15.tar.Z | 2767 | http://www.netcom.com/~simmonmt/bbdb/index.html |
| 2226 | Mailing lists: | ||
| 2227 | hyperbole-announce -- Hyperbole release announcements only. | ||
| 2228 | Subscriptions: | ||
| 2229 | To: hyperbole-request@cs.brown.edu | ||
| 2230 | Subject: Add <mailbox@domain.name> to hyperbole-announce | ||
| 2231 | hyperbole -- Hyperbole discussion. | ||
| 2232 | Subscriptions: | ||
| 2233 | To: hyperbole-request@cs.brown.edu | ||
| 2234 | Subject: Add <mailbox@domain.name> to hyperbole | ||
| 2235 | Submissions: | ||
| 2236 | hyperbole@cs.brown.edu | ||
| 2237 | NOTE: Any member of the hyperbole mailing list is automatically a | ||
| 2238 | member of the hyperbole-announce mailing list. | ||
| 2239 | NOTE: No .UUCP or ! addresses are allowed on these mailing lists. | ||
| 2240 | |||
| 2241 | 100: BBDB -- personal Info Rolodex integrated with mail/news readers | ||
| 2242 | |||
| 2243 | Author: Jamie Zawinski <jwz@lucid.com> | ||
| 2244 | Latest released version: 1.50 | ||
| 2245 | Anonymous FTP: | ||
| 2246 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb-1.50.tar.Z | ||
| 2247 | Mailing lists: | 2768 | Mailing lists: |
| 2248 | info-bbdb-request@cs.uiuc.edu (for subscriptions) | 2769 | info-bbdb-request@xemacs.org (for subscriptions) |
| 2249 | info-bbdb@cs.uiuc.edu (for submissions) | 2770 | info-bbdb@xemacs.org (for submissions) |
| 2250 | bbdb-announce-request@cs.uiuc.edu (to be informed of new releases) | 2771 | bbdb-announce-request@xemacs.org (to be informed of new releases) |
| 2251 | NOTE: BBDB does not work with VM 4. It does work with VM 5, | ||
| 2252 | Rmail, Gnus, and MH-E. | ||
| 2253 | 2772 | ||
| 2254 | 101: Ispell -- spell checker in C with interface for Emacs | 2773 | 110: Ispell -- spell checker in C with interface for Emacs |
| 2255 | 2774 | ||
| 2256 | Author: Geoff Kuenning <geoff@itcorp.com> | 2775 | Author: Geoff Kuenning <geoff@itcorp.com> |
| 2257 | Latest released version: 3.1.08 | 2776 | Latest released version: 3.1.20 |
| 2258 | Anonymous FTP: | 2777 | Anonymous FTP: |
| 2259 | Master Sites: | 2778 | Master Sites: |
| 2260 | /ftp.cs.ucla.edu:pub/ispell/ispell-3.1.08.tar.gz | 2779 | ftp://ftp.cs.ucla.edu/pub/ispell/ispell-3.1.20.tar.gz |
| 2261 | /ftp.math.orst.edu:pub/ispell/ispell-3.1.08.tar.gz | 2780 | Known Mirror Sites: |
| 2262 | Known Mirror Sites: (only directory names shown) | 2781 | ftp://ftp.th-darmstadt.de/pub/dicts/ispell/ |
| 2263 | /ftp.th-darmstadt.de:pub/dicts/ispell/ | 2782 | ftp://ftp.nl.net/pub/textproc/ispell/ |
| 2264 | /ftp.nl.net:pub/textproc/ispell/ | 2783 | World Wide Web: |
| 2784 | http://fmg-www.cs.ucla.edu/geoff/ispell.html | ||
| 2265 | 2785 | ||
| 2266 | NOTE: * Do not ask Geoff to send you the latest version of Ispell. | 2786 | NOTE: * Do not ask Geoff to send you the latest version of Ispell. |
| 2267 | He does not have free e-mail. | 2787 | He does not have free e-mail. |
| 2268 | 2788 | ||
| 2269 | * This Ispell program is distinct from GNU Ispell 4.0. GNU | 2789 | * This Ispell program is distinct from GNU Ispell 4.0. GNU |
| 2270 | Ispell 4.0 is no longer a supported product. | 2790 | Ispell 4.0 is no longer a supported product. |
| 2271 | 2791 | ||
| 2272 | 102: XEmacs -- alternative Emacs 19 with better X interface; formerly | 2792 | 111: W3-mode -- A World Wide Web browser inside of Emacs |
| 2273 | known as Lucid Emacs or lemacs. | ||
| 2274 | 2793 | ||
| 2275 | Primary Maintainer: Chuck Thompson <cthomp@cs.uiuc.edu> | 2794 | Author: Bill Perry <wmperry@spry.com> |
| 2276 | Other Developers: Ben Wing <wing@netcom.com> | 2795 | Latest version: 4.0pre.23 |
| 2277 | Richard Mlynarik <mly@adoc.xerox.com> | ||
| 2278 | Jamie Zawinski <jwz@mcom.com> | ||
| 2279 | Latest released version: 19.11 | ||
| 2280 | Anonymous FTP: | 2796 | Anonymous FTP: |
| 2281 | /ftp.cs.uiuc.edu:pub/xemacs/xemacs-19.11.tar.gz | 2797 | ftp://ftp.cs.indiana.edu/pub/elisp/w3/.betas/w3.tar.gz |
| 2282 | Newsgroup and mailing lists: | 2798 | Mailing lists: |
| 2283 | Bugs: | 2799 | w3-announce-request@indiana.edu (to get announcements of new versions) |
| 2284 | alt.lucid-emacs.bug | 2800 | w3-beta-request@indiana.edu (for beta-testers of new versions) |
| 2285 | bug-lucid-emacs-request@cs.uiuc.edu (for subscriptions) | 2801 | w3-dev@indiana.edu (for developers of W3) |
| 2286 | bug-lucid-emacs@cs.uiuc.edu (for submissions) | 2802 | |
| 2287 | Help: | 2803 | 112: EDB -- Database program for Emacs; replaces forms editing modes |
| 2288 | alt.lucid-emacs.help | 2804 | |
| 2289 | help-lucid-emacs-request@cs.uiuc.edu (for subscriptions) | 2805 | Author: Michael Ernst <mernst@theory.lcs.mit.edu> |
| 2290 | help-lucid-emacs@cs.uiuc.edu (for submissions) | 2806 | Latest version: 1.21 |
| 2291 | NOTE: The XEmacs FAQ is available via the World-Wide Web at URL | 2807 | Anonymous FTP: |
| 2292 | http://xemacs.cs.uiuc.edu/. | 2808 | ftp://theory.lcs.mit.edu/pub/emacs/edb |
| 2293 | 2809 | ||
| 2294 | 103: Patch -- program to apply "diffs" for updating files | 2810 | 113: Mailcrypt -- PGP interface within Emacs mail and news |
| 2295 | 2811 | ||
| 2296 | Author: Larry Wall <lwall@netlabs.com> | 2812 | Authors: Patrick J. LoPresti <patl@lcs.mit.edu> and |
| 2297 | Latest version: 2.1 | 2813 | Jin S. Choi <jin@atype.com> |
| 2298 | Anonymous FTP: | 2814 | Maintainer: Len Budney <lbudney@pobox.com> |
| 2299 | /prep.ai.mit.edu:pub/gnu/patch-2.1.tar.gz | 2815 | Latest version: 3.5b6 |
| 2300 | /ftp.funet.fi:pub/gnu/patch-2.1.tar.gz | 2816 | Anonymous FTP: |
| 2301 | /ftp.uni-stuttgart.de:pub/unix/gnu/patch-2.1.tar.gz | 2817 | http://www.nb.net/~lbudney/linux/software/mailcrypt/mailcrypt-3.5b6.tar.gz |
| 2302 | NOTE: See question 80 for other GNU distribution sites. | 2818 | World Wide Web: |
| 2819 | http://www.nb.net/~lbudney/linux/software/mailcrypt.html | ||
| 2820 | |||
| 2821 | 114: Patch -- program to apply "diffs" for updating files | ||
| 2822 | |||
| 2823 | Author: Larry Wall <lwall@wall.org> (with GNU modifications) | ||
| 2824 | Latest version: 2.5 | ||
| 2825 | Anonymous FTP: See question 92 | ||
| 2303 | 2826 | ||
| 2304 | 2827 | ||
| 2305 | Changing Key Bindings and Handling Key Binding Problems | 2828 | Changing Key Bindings and Handling Key Binding Problems |
| 2306 | 2829 | ||
| 2307 | 104: How do I bind keys (including function keys) to commands? | 2830 | 115: How do I bind keys (including function keys) to commands? |
| 2831 | |||
| 2832 | Keys can be bound to commands either interactively or in your .emacs | ||
| 2833 | file. To interactively bind keys for all modes, type | ||
| 2308 | 2834 | ||
| 2309 | Keys can be bound to commands either interactively or by predefinition | 2835 | M-x global-set-key RET KEY CMD RET |
| 2310 | (e.g. in the .emacs file). To interactively bind keys for all modes, | ||
| 2311 | type `M-x global-set-key RET KEY CMD RET'; for the current major mode | ||
| 2312 | only, type `M-x local-set-key RET KEY CMD RET' (see the Emacs on-line | ||
| 2313 | documentation for further details). | ||
| 2314 | 2836 | ||
| 2315 | To bind keys on starting Emacs or on starting any given mode, you can use | 2837 | To bind a key just in the current major mode, type |
| 2316 | the following "trick." First bind the key interactively, then | ||
| 2317 | immediately afterwards type `C-x ESC ESC C-a C-k C-g'. Now, the command | ||
| 2318 | needed to bind the key is in the kill ring and can be yanked into the | ||
| 2319 | .emacs file. If the key binding is global, no changes to the command are | ||
| 2320 | required. For example, | ||
| 2321 | 2838 | ||
| 2322 | (global-set-key (quote [f1]) (quote help-for-help)) | 2839 | M-x local-set-key RET KEY CMD RET |
| 2323 | 2840 | ||
| 2324 | can be place directly into the .emacs file. If the key binding is local, | 2841 | See "Key Bindings" in the on-line manual for further details. |
| 2325 | the command is used in conjunction with the `add-hook' command. For | ||
| 2326 | example, in tex-mode, a local binding might be | ||
| 2327 | 2842 | ||
| 2328 | (add-hook 'tex-mode-hook | 2843 | To bind keys on starting Emacs or on starting any given mode, use the |
| 2329 | (function (lambda () | 2844 | following "trick": First bind the key interactively, then immediately |
| 2330 | (local-set-key (quote [f1]) (quote help-for-help)))) | 2845 | type "C-x ESC ESC C-a C-k C-g". Now, the command needed to bind the key |
| 2846 | is in the kill ring, and can be yanked into your .emacs file. If the key | ||
| 2847 | binding is global, no changes to the command are required. For example, | ||
| 2331 | 2848 | ||
| 2332 | NOTE: * Control characters in key sequence position of the form yanked | 2849 | (global-set-key [f1] 'help-for-help) |
| 2333 | from the kill ring are given in their graphic form - i.e. CTRL is | ||
| 2334 | shown as `^', TAB as a set of spaces (usually 8), etc. You may | ||
| 2335 | want to convert these into their vector or string forms. | ||
| 2336 | 2850 | ||
| 2337 | * If some prefix key of the character sequence to be bound is | 2851 | can be placed directly into the .emacs file. If the key binding is |
| 2338 | already bound as a complete key, then you must unbind it before | 2852 | local, the command is used in conjunction with the "add-hook" command. |
| 2339 | the new binding. For example, if `ESC {' is previously bound: | 2853 | For example, in tex-mode, a local binding might be |
| 2854 | |||
| 2855 | (add-hook 'tex-mode-hook | ||
| 2856 | (lambda () | ||
| 2857 | (local-set-key [f1] 'help-for-help))) | ||
| 2858 | |||
| 2859 | NOTE: * Control characters in key sequences, in the form yanked from the | ||
| 2860 | kill ring are given in their graphic form -- i.e., CTRL is shown | ||
| 2861 | as `^', TAB as a set of spaces (usually 8), etc. You may want to | ||
| 2862 | convert these into their vector or string forms. | ||
| 2863 | |||
| 2864 | * If a prefix key of the character sequence to be bound is already | ||
| 2865 | bound as a complete key, then you must unbind it before the new | ||
| 2866 | binding. For example, if "ESC {" is previously bound: | ||
| 2340 | 2867 | ||
| 2341 | (global-unset-key [?\e ?{]) ;; or | 2868 | (global-unset-key [?\e ?{]) ;; or |
| 2342 | (local-unset-key [?\e ?{]) | 2869 | (local-unset-key [?\e ?{]) |
| @@ -2347,23 +2874,29 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2347 | (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or | 2874 | (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or |
| 2348 | (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g") | 2875 | (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g") |
| 2349 | 2876 | ||
| 2350 | See `Key Bindings' in the Emacs on-line documentation for further | 2877 | * The "kbd" macro is convenient for converting a key description in |
| 2351 | details. | 2878 | the form used in documentation or printed by C-h c (except that |
| 2879 | function key symbols must be enclosed in angle brackets). For | ||
| 2880 | example: | ||
| 2881 | |||
| 2882 | (global-set-key (kbd "<f1>") 'help-for-help) | ||
| 2883 | (global-set-key (kbd "C-h") 'help-for-help) | ||
| 2884 | (local-set-key (kbd "DEL") 'scroll-down) | ||
| 2352 | 2885 | ||
| 2353 | 105: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | 2886 | 116: Why does Emacs say "Key sequence XXX uses invalid prefix characters"? |
| 2354 | 2887 | ||
| 2355 | Usually one of two things has happened. In one case, the control | 2888 | Usually, one of two things has happened. In one case, the control |
| 2356 | character in the key sequence has been misspecified (e.g. `C-f' used | 2889 | character in the key sequence has been misspecified (e.g. "C-f" used |
| 2357 | instead of `\C-f' within a Lisp expression). In the other case, a | 2890 | instead of "\C-f" within a Lisp expression). In the other case, a |
| 2358 | "prefix key" in the keystroke sequence you were trying to bind was | 2891 | "prefix key" in the keystroke sequence you were trying to bind was |
| 2359 | already bound as a "complete key." Historically, the `ESC [' prefix was | 2892 | already bound as a "complete key." Historically, the "ESC [" prefix was |
| 2360 | usually the problem, in which case you should evaluate either of these | 2893 | usually the problem, in which case you should evaluate either of these |
| 2361 | forms before attempting to bind the key sequence: | 2894 | forms before attempting to bind the key sequence: |
| 2362 | 2895 | ||
| 2363 | (global-unset-key [?\e ?[]) ;; or | 2896 | (global-unset-key [?\e ?[]) ;; or |
| 2364 | (global-unset-key "\e[") | 2897 | (global-unset-key "\e[") |
| 2365 | 2898 | ||
| 2366 | 106: Why doesn't this [terminal or window-system setup] code work in my | 2899 | 117: Why doesn't this [terminal or window-system setup] code work in my |
| 2367 | .emacs file, but it works just fine after Emacs starts up? | 2900 | .emacs file, but it works just fine after Emacs starts up? |
| 2368 | 2901 | ||
| 2369 | During startup, Emacs initializes itself according to a given code/file | 2902 | During startup, Emacs initializes itself according to a given code/file |
| @@ -2374,7 +2907,7 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2374 | 2907 | ||
| 2375 | To postpone the execution of Emacs Lisp code until after terminal or | 2908 | To postpone the execution of Emacs Lisp code until after terminal or |
| 2376 | window-system setup, treat the code as a "lambda list" and set the value | 2909 | window-system setup, treat the code as a "lambda list" and set the value |
| 2377 | of either the `term-setup-hook' or `window-setup-hook' variable to this | 2910 | of either the "term-setup-hook" or "window-setup-hook" variable to this |
| 2378 | "lambda function." For example, | 2911 | "lambda function." For example, |
| 2379 | 2912 | ||
| 2380 | (setq term-setup-hook | 2913 | (setq term-setup-hook |
| @@ -2385,56 +2918,42 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2385 | (global-set-key [do] 'execute-extended-command)) | 2918 | (global-set-key [do] 'execute-extended-command)) |
| 2386 | )))) | 2919 | )))) |
| 2387 | 2920 | ||
| 2388 | For information on what Emacs does every time it is started, see the | 2921 | For information on what Emacs does every time it is started, see |
| 2389 | lisp/startup.el file. | 2922 | "Starting Up Emacs" in the Lisp Reference Manual. |
| 2390 | 2923 | ||
| 2391 | 107: How do I use function keys under X Windows? | 2924 | 118: How do I use function keys under X Windows? |
| 2392 | 2925 | ||
| 2393 | With Emacs 19, functions keys under X are bound like any other key. See | 2926 | With Emacs 19, functions keys under X are bound like any other key. See |
| 2394 | question 104 for details. | 2927 | question 115 for details. |
| 2395 | 2928 | ||
| 2396 | 108: How do I tell what characters or symbols my function or arrow keys | 2929 | 119: How do I tell what characters or symbols my function or arrow keys |
| 2397 | emit? | 2930 | emit? |
| 2398 | 2931 | ||
| 2399 | Put the following in your .emacs file and type `M-x see-chars' to use: | 2932 | Type "C-h c" then the function or arrow keys. The command will return |
| 2400 | 2933 | either a function key symbol or character sequence (see the Emacs on-line | |
| 2401 | (defun see-chars () | 2934 | documentation for an explanation). This works for other keys as well. |
| 2402 | "Display events received, terminated by a 3-second timeout." | 2935 | |
| 2403 | (interactive) | 2936 | 120: How do I set the X key "translations" for Emacs? |
| 2404 | (let (chars | 2937 | |
| 2405 | (inhibit-quit t)) | 2938 | Emacs is not written using the Xt library by default, so there are no |
| 2406 | (message "Enter characters or other events, terminated by a 3-second | 2939 | "translations" to be set. (We aren't sure how to set such translations |
| 2407 | timeout.") | 2940 | if you do build Emacs with Xt; please let us know if you've done this!) |
| 2408 | (while (not (sit-for 3)) | 2941 | |
| 2409 | (setq chars (nconc chars (list (read-event))) | 2942 | The only way to affect the behavior of keys within Emacs is through |
| 2410 | quit-flag nil) ; quit-flag might be set by C-g. | 2943 | "xmodmap" (outside Emacs) or "define-key" (inside Emacs). The |
| 2411 | (if (not (input-pending-p)) | 2944 | "define-key" command should be used in conjunction with the |
| 2412 | (message "Events received until now: %s..." | 2945 | "function-key-map" map. For instance, |
| 2413 | (key-description chars)))) | ||
| 2414 | (message "Events received: %s" (key-description chars)))) | ||
| 2415 | |||
| 2416 | Alternatively, type "C-h c" then the function or arrow keys. The command | ||
| 2417 | will return either a function key symbol or character sequence (see the | ||
| 2418 | Emacs on-line documentation for an explanation). This works for other | ||
| 2419 | keys as well. | ||
| 2420 | |||
| 2421 | 109: How do I set the X key "translations" for Emacs? | ||
| 2422 | |||
| 2423 | Sorry, you can't; there are no "translations" to be set. Emacs is not | ||
| 2424 | written using the Xt library. The only way to affect the behavior of | ||
| 2425 | keys within Emacs is through `xmodmap' (outside Emacs) or `define-key' | ||
| 2426 | (inside Emacs). The `define-key' command should be used in conjunction | ||
| 2427 | with the `function-key-map' map. For instance, | ||
| 2428 | 2946 | ||
| 2429 | (define-key function-key-map [M-tab] [?\M-\t]) | 2947 | (define-key function-key-map [M-tab] [?\M-\t]) |
| 2430 | 2948 | ||
| 2431 | defines the `META TAB' key sequence. | 2949 | defines the "M-TAB" key sequence. |
| 2432 | 2950 | ||
| 2433 | 110: How do I handle C-s and C-q being used for flow control? | 2951 | 121: How do I handle C-s and C-q being used for flow control? |
| 2434 | 2952 | ||
| 2435 | C-s and C-q are used in the XON/XOFF flow control protocol. This screws | 2953 | C-s and C-q are used in the XON/XOFF flow control protocol. This messes |
| 2436 | up Emacs because it binds these characters to commands. Also, by default | 2954 | things up when you're using Emacs, because Emacs binds these keys to |
| 2437 | Emacs will not honor them as flow control characters and may overwhelm | 2955 | commands by default. Because Emacs won't honor them as flow control |
| 2956 | characters, too many of these characters are not passed on and overwhelm | ||
| 2438 | output buffers. Sometimes, intermediate software using XON/XOFF flow | 2957 | output buffers. Sometimes, intermediate software using XON/XOFF flow |
| 2439 | control will prevent Emacs from ever seeing C-s and C-q. | 2958 | control will prevent Emacs from ever seeing C-s and C-q. |
| 2440 | 2959 | ||
| @@ -2449,7 +2968,7 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2449 | Your terminal may use XON/XOFF flow control to have time to display | 2968 | Your terminal may use XON/XOFF flow control to have time to display |
| 2450 | all the characters it receives. For example, VT series terminals do | 2969 | all the characters it receives. For example, VT series terminals do |
| 2451 | this. It may be possible to turn this off from a setup menu. For | 2970 | this. It may be possible to turn this off from a setup menu. For |
| 2452 | example, on a VT220 you may select `No XOFF' in the setup menu. This | 2971 | example, on a VT220 you may select "No XOFF" in the setup menu. This |
| 2453 | is also true for some terminal emulation programs on PCs. | 2972 | is also true for some terminal emulation programs on PCs. |
| 2454 | 2973 | ||
| 2455 | When you turn off flow control at the terminal, you will also need to | 2974 | When you turn off flow control at the terminal, you will also need to |
| @@ -2458,7 +2977,7 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2458 | 2977 | ||
| 2459 | If you turn off flow control, characters may be lost; using a printer | 2978 | If you turn off flow control, characters may be lost; using a printer |
| 2460 | connected to the terminal may fail. You may be able to get around | 2979 | connected to the terminal may fail. You may be able to get around |
| 2461 | this problem by modifying the `termcap' entry for your terminal to | 2980 | this problem by modifying the "termcap" entry for your terminal to |
| 2462 | include extra NUL padding characters. | 2981 | include extra NUL padding characters. |
| 2463 | 2982 | ||
| 2464 | * a modem | 2983 | * a modem |
| @@ -2481,22 +3000,22 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2481 | 3000 | ||
| 2482 | Eirik Fuller <eirik@theory.tn.cornell.edu> writes: | 3001 | Eirik Fuller <eirik@theory.tn.cornell.edu> writes: |
| 2483 | 3002 | ||
| 2484 | Some versions of `rlogin' (and possibly telnet) do not pass flow | 3003 | Some versions of "rlogin" (and possibly telnet) do not pass flow |
| 2485 | control characters to the remote system to which they connect. On | 3004 | control characters to the remote system to which they connect. On |
| 2486 | such systems, Emacs on the remote system cannot disable flow | 3005 | such systems, Emacs on the remote system cannot disable flow |
| 2487 | control on the local system. Sometimes `rlogin -8' will avoid this | 3006 | control on the local system. Sometimes "rlogin -8" will avoid this |
| 2488 | problem. | 3007 | problem. |
| 2489 | 3008 | ||
| 2490 | One way to cure this is to disable flow control on the local host | 3009 | One way to cure this is to disable flow control on the local host |
| 2491 | (the one running rlogin, not the one running rlogind) using the | 3010 | (the one running rlogin, not the one running rlogind) using the |
| 2492 | stty command, before starting the rlogin process. On many systems, | 3011 | stty command, before starting the rlogin process. On many systems, |
| 2493 | `stty start u stop u' will do this. | 3012 | "stty start u stop u" will do this. |
| 2494 | 3013 | ||
| 2495 | Some versions of `tcsh' will prevent even this from working. One | 3014 | Some versions of "tcsh" will prevent even this from working. One |
| 2496 | way around this is to start another shell before starting rlogin, | 3015 | way around this is to start another shell before starting rlogin, |
| 2497 | and issue the stty command to disable flow control from that shell. | 3016 | and issue the stty command to disable flow control from that shell. |
| 2498 | 3017 | ||
| 2499 | Use `stty -ixon' instead of `stty start u stop u' on some systems. | 3018 | Use "stty -ixon" instead of "stty start u stop u" on some systems. |
| 2500 | 3019 | ||
| 2501 | * Make Emacs speak the XON/XOFF flow control protocol. | 3020 | * Make Emacs speak the XON/XOFF flow control protocol. |
| 2502 | 3021 | ||
| @@ -2512,7 +3031,7 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2512 | (using your terminal names instead of "vt100" or "h19") to enable | 3031 | (using your terminal names instead of "vt100" or "h19") to enable |
| 2513 | selectively. These commands will automatically swap `C-s' and `C-q' to | 3032 | selectively. These commands will automatically swap `C-s' and `C-q' to |
| 2514 | `C-\' and `C-^'. Variables can be used to change the default swap keys | 3033 | `C-\' and `C-^'. Variables can be used to change the default swap keys |
| 2515 | (`flow-control-c-s-replacement' and `flow-control-c-q-replacement'). | 3034 | ("flow-control-c-s-replacement" and "flow-control-c-q-replacement"). |
| 2516 | 3035 | ||
| 2517 | If you are fixing this for yourself, simply put the form in your .emacs | 3036 | If you are fixing this for yourself, simply put the form in your .emacs |
| 2518 | file. If you are fixing this for your entire site, the best place to | 3037 | file. If you are fixing this for your entire site, the best place to |
| @@ -2525,39 +3044,39 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2525 | For further discussion of this issue, read the file PROBLEMS (in the | 3044 | For further discussion of this issue, read the file PROBLEMS (in the |
| 2526 | top-level directory when you unpack the Emacs source). | 3045 | top-level directory when you unpack the Emacs source). |
| 2527 | 3046 | ||
| 2528 | 111: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered | 3047 | 122: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered |
| 2529 | out? | 3048 | out? |
| 2530 | 3049 | ||
| 2531 | To bind `C-s' and `C-q', use either `enable-flow-control' or | 3050 | To bind `C-s' and `C-q', use either "enable-flow-control" or |
| 2532 | `enable-flow-control-on'. See question 110 for usage and implementation | 3051 | "enable-flow-control-on". See question 121 for usage and implementation |
| 2533 | details. | 3052 | details. |
| 2534 | 3053 | ||
| 2535 | To bind other keys, use `keyboard-translate'. See question 114 for usage | 3054 | To bind other keys, use "keyboard-translate". See question 125 for usage |
| 2536 | details. To do this for an entire site, you should swap the keys in | 3055 | details. To do this for an entire site, you should swap the keys in |
| 2537 | lisp/site-start.el. See question 110 for an explanation of why | 3056 | lisp/site-start.el. See question 121 for an explanation of why |
| 2538 | lisp/default.el should not be used. | 3057 | lisp/default.el should not be used. |
| 2539 | 3058 | ||
| 2540 | NOTE: * If you do this for an entire site, the users will be confused by | 3059 | NOTE: * If you do this for an entire site, the users will be confused by |
| 2541 | the disparity between what the documentation says and how Emacs | 3060 | the disparity between what the documentation says and how Emacs |
| 2542 | actually behaves. | 3061 | actually behaves. |
| 2543 | 3062 | ||
| 2544 | 112: Why does the `Backspace' key invoke help? | 3063 | 123: Why does the "Backspace" key invoke help? |
| 2545 | 3064 | ||
| 2546 | The `Backspace' key (on most keyboards) generates ASCII code 8. `C-h' | 3065 | The "Backspace" key (on most keyboards) generates ASCII code 8. `C-h' |
| 2547 | sends the same code. In Emacs by default `C-h' invokes help-command. | 3066 | sends the same code. In Emacs by default `C-h' invokes help-command. |
| 2548 | This is intended to be easy to remember since the first letter of "help" | 3067 | This is intended to be easy to remember since the first letter of "help" |
| 2549 | is "h." The easiest solution to this problem is to use `C-h' (and | 3068 | is `h'. The easiest solution to this problem is to use `C-h' (and |
| 2550 | Backspace) for help and DEL (the Delete key) for deleting the previous | 3069 | Backspace) for help and DEL (the Delete key) for deleting the previous |
| 2551 | character. | 3070 | character. |
| 2552 | 3071 | ||
| 2553 | For many people this solution may be problematic: | 3072 | For many people this solution may be problematic: |
| 2554 | 3073 | ||
| 2555 | * They normally use Backspace outside of Emacs for deleting the previous | 3074 | * They normally use Backspace outside of Emacs for deleting the previous |
| 2556 | character typed. This can be solved by making DEL be the command for | 3075 | character. This can be solved by making DEL the command for deleting |
| 2557 | deleting the previous character outside of Emacs. This command will do | 3076 | the previous character outside of Emacs. On many Unix systems, this |
| 2558 | this on many Unix systems: | 3077 | command will remap DEL: |
| 2559 | 3078 | ||
| 2560 | stty erase '^?' | 3079 | stty erase `^?' |
| 2561 | 3080 | ||
| 2562 | * The person may prefer using the Backspace key for deleting the previous | 3081 | * The person may prefer using the Backspace key for deleting the previous |
| 2563 | character because it is more conveniently located on their keyboard or | 3082 | character because it is more conveniently located on their keyboard or |
| @@ -2575,28 +3094,27 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2575 | 3094 | ||
| 2576 | (keyboard-translate ?\C-h ?\C-?) | 3095 | (keyboard-translate ?\C-h ?\C-?) |
| 2577 | 3096 | ||
| 2578 | See question 114 for further details of `keyboard-translate'. | 3097 | See question 125 for further details of "keyboard-translate". |
| 2579 | 3098 | ||
| 2580 | * Another approach is to switch key bindings and put help on "C-x h" | 3099 | * Another approach is to switch key bindings and put help on "C-x h" |
| 2581 | instead: | 3100 | instead: |
| 2582 | 3101 | ||
| 2583 | (global-set-key [?\C-h] 'delete-backward-char) | 3102 | (global-set-key "\C-h" 'delete-backward-char) |
| 2584 | (global-set-key [?\C-x ?h] 'help-command) | 3103 | (global-set-key "\C-xh" 'help-command) ;; overrides mark-whole-buffer |
| 2585 | ;; overrides mark-whole-buffer | ||
| 2586 | 3104 | ||
| 2587 | Other popular key bindings for help are M-? and "C-x ?". | 3105 | Other popular key bindings for help are M-? and "C-x ?". |
| 2588 | 3106 | ||
| 2589 | NOTE: * Don't try to bind DEL to help-command, because there are many | 3107 | NOTE: * Don't try to bind DEL to help-command, because there are many |
| 2590 | modes that have local bindings of DEL that will interfere. | 3108 | modes that have local bindings of DEL that will interfere. |
| 2591 | 3109 | ||
| 2592 | 113: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? | 3110 | 124: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? |
| 2593 | 3111 | ||
| 2594 | Good question! | 3112 | Good question! |
| 2595 | 3113 | ||
| 2596 | 114: How do I "swap" two keys? | 3114 | 125: How do I "swap" two keys? |
| 2597 | 3115 | ||
| 2598 | In Emacs 19, you can swap two keys (or key sequences) by using the | 3116 | In Emacs 19, you can swap two keys (or key sequences) by using the |
| 2599 | `keyboard-translate' function. For example, to turn `C-h' into DEL and | 3117 | "keyboard-translate" function. For example, to turn `C-h' into DEL and |
| 2600 | DEL to `C-h', use | 3118 | DEL to `C-h', use |
| 2601 | 3119 | ||
| 2602 | (keyboard-translate ?\C-h ?\C-?) ; translate `C-h' to DEL | 3120 | (keyboard-translate ?\C-h ?\C-?) ; translate `C-h' to DEL |
| @@ -2613,89 +3131,93 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2613 | up in keymaps contain the characters that result from keyboard | 3131 | up in keymaps contain the characters that result from keyboard |
| 2614 | translation. | 3132 | translation. |
| 2615 | 3133 | ||
| 2616 | Also see `Keyboard Translations' in the on-line manual. | 3134 | Also see "Keyboard Translations" in the on-line manual. |
| 2617 | 3135 | ||
| 2618 | 115: How do I produce C-XXX with my keyboard? | 3136 | 126: How do I produce C-XXX with my keyboard? |
| 2619 | 3137 | ||
| 2620 | On terminals (but not under X), some common "aliases" are: | 3138 | On terminals (but not under X), some common "aliases" are: |
| 2621 | 3139 | ||
| 2622 | CTRL-2 or CTRL-SPC for C-@ | 3140 | C-2 or C-SPC for C-@ |
| 2623 | CTRL-6 for C-^ | 3141 | C-6 for C-^ |
| 2624 | CTRL-7 or CTRL-SHIFT-- for C-_ | 3142 | C-7 or C-S-- for C-_ |
| 2625 | CTRL-4 for C-\ | 3143 | C-4 for C-\ |
| 2626 | CTRL-5 for C-] | 3144 | C-5 for C-] |
| 2627 | CTRL-/ for C-? | 3145 | C-/ for C-? |
| 2628 | 3146 | ||
| 2629 | Often other aliases exist; use the `C-h c' command and try `CTRL' with | 3147 | Often other aliases exist; use the "C-h c" command and try `CTRL' with |
| 2630 | all of the digits on your keyboard to see what gets generated. You can | 3148 | all of the digits on your keyboard to see what gets generated. You can |
| 2631 | also try the `C-h w' command if you know the name of the command. | 3149 | also try the "C-h w" command if you know the name of the command. |
| 2632 | 3150 | ||
| 2633 | 116: What if I don't have a Meta key? | 3151 | 127: What if I don't have a Meta key? |
| 2634 | 3152 | ||
| 2635 | Instead of typing "M-a", you can type "ESC a". In fact, Emacs converts | 3153 | Instead of typing "M-a", you can type "ESC a". In fact, Emacs converts |
| 2636 | M-a internally into "ESC a" anyway (depending on the value of | 3154 | M-a internally into "ESC a" anyway (depending on the value of |
| 2637 | meta-prefix-char). Note that you press "Meta" and "a" together, while | 3155 | meta-prefix-char). Note that you press "Meta" and `a' together, while |
| 2638 | you press "ESC", release it, and then press "a". | 3156 | you press `ESC', release it, and then press `a'. |
| 2639 | 3157 | ||
| 2640 | 117: What if I don't have an Escape key? | 3158 | 128: What if I don't have an Escape key? |
| 2641 | 3159 | ||
| 2642 | Type "C-[" instead. This should send ASCII code 27 just like an Escape | 3160 | Type `C-[' instead. This should send ASCII code 27 just like an Escape |
| 2643 | key would. "C-3" may also work on some terminal (but not under X). For | 3161 | key would. `C-3' may also work on some terminal (but not under X). For |
| 2644 | many terminals (notably DEC terminals) "F11" generates the "ESC" key. If | 3162 | many terminals (notably DEC terminals) `F11' generates ESC. If not, the |
| 2645 | not, the following form can be used bind it: | 3163 | following form can be used to bind it: |
| 2646 | 3164 | ||
| 2647 | (define-key function-key-map [f11] [?\e]) ; F11 is the documented ESC | 3165 | (define-key function-key-map [f11] [?\e]) ; F11 is the documented ESC |
| 2648 | ; replacement on DEC terminals. | 3166 | ; replacement on DEC terminals. |
| 2649 | 3167 | ||
| 2650 | 118: Can I make my `Compose Character' key behave like a Meta key? | 3168 | 129: Can I make my "Compose Character" key behave like a Meta key? |
| 2651 | 3169 | ||
| 2652 | On a dumb terminal such as a VT220, no. It is rumored that certain VT220 | 3170 | On a dumb terminal such as a VT220, no. It is rumored that certain VT220 |
| 2653 | clones could have their Compose key configured this way. If you're using | 3171 | clones could have their Compose key configured this way. If you're using |
| 2654 | X, you might be able to do this with the `xmodmap' program. | 3172 | X, you might be able to do this with the "xmodmap" program. |
| 2655 | 3173 | ||
| 2656 | 119: How do I bind a combination of modifier key and function key? | 3174 | 130: How do I bind a combination of modifier key and function key? |
| 2657 | 3175 | ||
| 2658 | With Emacs 19 you can indicate modified function keys in vector format | 3176 | With Emacs 19 you can represent modified function keys in vector format |
| 2659 | through multi-prefixing the function key symbol. For example (from the | 3177 | by adding prefixes to the function key symbol. For example (from the |
| 2660 | Emacs on-line documentation): | 3178 | on-line documentation): |
| 2661 | 3179 | ||
| 2662 | (global-set-key [?\C-x right] 'forward-page) | 3180 | (global-set-key [?\C-x right] 'forward-page) |
| 2663 | 3181 | ||
| 2664 | where "?\C-x" is the Lisp character constant for the character "C-x". | 3182 | where "?\C-x" is the Lisp character constant for the character "C-x". |
| 2665 | 3183 | ||
| 2666 | You can use the modifier keys CTRL, META, HYPER, SUPER, ALT and SHIFT | 3184 | You can use the modifier keys Control, Meta, Hyper, Super, Alt, and Shift |
| 2667 | with function keys. To represent these modifiers, prepend the strings | 3185 | with function keys. To represent these modifiers, prepend the strings |
| 2668 | "C-", "M-", "H-", "s-", "A-" and "S-" to the symbol name. Thus, here is | 3186 | "C-", "M-", "H-", "s-", "A-", and "S-" to the symbol name. Here is how |
| 2669 | how to make "Hyper-Meta-RIGHT" move forward a word: | 3187 | to make "Hyper-Meta-RIGHT" move forward a word: |
| 2670 | 3188 | ||
| 2671 | (global-set-key [H-M-right] 'forward-word) | 3189 | (global-set-key [H-M-right] 'forward-word) |
| 2672 | 3190 | ||
| 2673 | NOTE: * Not all modifiers are permitted in all situations. HYPER, SUPER, | 3191 | In recent Emacs versions this may also be written as: |
| 2674 | and ALT are available only under X (provided there are such | 3192 | |
| 3193 | (global-set-key [(hyper meta right)] 'forward-word) | ||
| 3194 | |||
| 3195 | NOTE: * Not all modifiers are permitted in all situations. Hyper, Super, | ||
| 3196 | and Alt are available only under X (provided there are such | ||
| 2675 | keys). Non-ASCII keys and mouse events (e.g. "C-=" and | 3197 | keys). Non-ASCII keys and mouse events (e.g. "C-=" and |
| 2676 | "mouse-1") also fall under this category. | 3198 | "mouse-1") also fall under this category. |
| 2677 | 3199 | ||
| 2678 | See question 104 for general key binding instructions. | 3200 | See question 115 for general key binding instructions. |
| 2679 | 3201 | ||
| 2680 | 120: Why doesn't my Meta key work in an xterm window? | 3202 | 131: Why doesn't my Meta key work in an xterm window? |
| 2681 | 3203 | ||
| 2682 | Try all of these methods before asking for further help: | 3204 | Try all of these methods before asking for further help: |
| 2683 | 3205 | ||
| 2684 | * You may have big problems using `mwm' as your window manager. {Does | 3206 | * You may have big problems using "mwm" as your window manager. {Does |
| 2685 | anyone know a good generic solution to allow the use of the Meta key in | 3207 | anyone know a good generic solution to allow the use of the Meta key in |
| 2686 | Emacs with mwm?} | 3208 | Emacs with mwm?} |
| 2687 | 3209 | ||
| 2688 | * For X11: Make sure it really is a Meta key. Use `xev' to find out what | 3210 | * For X11: Make sure it really is a Meta key. Use "xev" to find out what |
| 2689 | keysym your Meta key generates. It should be either Meta_L or Meta_R. | 3211 | keysym your Meta key generates. It should be either Meta_L or Meta_R. |
| 2690 | If it isn't, use xmodmap to fix the situation. | 3212 | If it isn't, use xmodmap to fix the situation. |
| 2691 | 3213 | ||
| 2692 | * Make sure the pty the xterm is using is passing 8 bit characters. | 3214 | * Make sure the pty the xterm is using is passing 8 bit characters. |
| 2693 | `stty -a' (or `stty everything') should show `cs8' somewhere. If it | 3215 | "stty -a" (or "stty everything") should show "cs8" somewhere. If it |
| 2694 | shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix | 3216 | shows "cs7" instead, use "stty cs8 -istrip" (or "stty pass8") to fix |
| 2695 | it. | 3217 | it. |
| 2696 | 3218 | ||
| 2697 | * If there is an rlogin connection between the xterm and the Emacs, the | 3219 | * If there is an rlogin connection between the xterm and the Emacs, the |
| 2698 | `-8' argument may need to be given to rlogin to make it pass all 8 bits | 3220 | "-8" argument may need to be given to rlogin to make it pass all 8 bits |
| 2699 | of every character. | 3221 | of every character. |
| 2700 | 3222 | ||
| 2701 | * If the Emacs is running under Ultrix, it is reported that evaluating | 3223 | * If the Emacs is running under Ultrix, it is reported that evaluating |
| @@ -2714,9 +3236,10 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2714 | XTerm.VT100.Translations: #override \ | 3236 | XTerm.VT100.Translations: #override \ |
| 2715 | Meta<KeyPress>: string(0x1b) insert() | 3237 | Meta<KeyPress>: string(0x1b) insert() |
| 2716 | 3238 | ||
| 2717 | You might have to replace `Meta' with `Alt'. | 3239 | You might have to replace "Meta" with "Alt". |
| 2718 | 3240 | ||
| 2719 | 121: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? | 3241 | 132: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0 |
| 3242 | and 9.x? | ||
| 2720 | 3243 | ||
| 2721 | This is a result of an internationalization extension in X11R4 and the | 3244 | This is a result of an internationalization extension in X11R4 and the |
| 2722 | fact that HP is now using this extension. Emacs assumes that | 3245 | fact that HP is now using this extension. Emacs assumes that |
| @@ -2727,174 +3250,91 @@ Changing Key Bindings and Handling Key Binding Problems | |||
| 2727 | 3250 | ||
| 2728 | xmodmap -e 'remove mod1 = Mode_switch' | 3251 | xmodmap -e 'remove mod1 = Mode_switch' |
| 2729 | 3252 | ||
| 2730 | NOTE: This will disable the use of the extra keysyms systemwide, which | 3253 | NOTE: This will disable the use of the extra keysyms systemwide, which |
| 2731 | may be undesirable if you actually intend to use them. | 3254 | may be undesirable if you actually intend to use them. |
| 2732 | 3255 | ||
| 2733 | 122: Where can I get key bindings to make Emacs emulate WordStar? | ||
| 2734 | |||
| 2735 | There is a package `wordstar' by Jim Frost <jimf@saber.com> located under | ||
| 2736 | the "misc" directory at the Emacs Lisp Archive. | ||
| 2737 | |||
| 2738 | 123: Where can I get an XEDIT emulator for Emacs? | ||
| 2739 | |||
| 2740 | This question comes up once every couple of months. Searing for "xedit" | ||
| 2741 | through most recent Lisp Code Directory fails to match any entries. | ||
| 2742 | 3256 | ||
| 2743 | Using Emacs with Alternate Character Sets | 3257 | Using Emacs with Alternate Character Sets |
| 2744 | 3258 | ||
| 2745 | 124: How do I make Emacs display 8-bit characters? | 3259 | 133: How do I make Emacs display 8-bit characters? |
| 2746 | |||
| 2747 | GNU Emacs 19 has built-in support for 8-bit characters. Here is an | ||
| 2748 | excerpt from the `European Display' page of the on-line manual: | ||
| 2749 | |||
| 2750 | Some European languages use accented letters and other special symbols. | ||
| 2751 | The ISO 8859 Latin-1 character set defines character codes for many | ||
| 2752 | European languages in the range 160 to 255. | ||
| 2753 | |||
| 2754 | Emacs can display those characters according to Latin-1, provided the | ||
| 2755 | terminal or font in use supports them. The `M-x | ||
| 2756 | standard-display-european' command toggles European character display | ||
| 2757 | mode. With a numeric argument, `M-x standard-display-european' enables | ||
| 2758 | European character display if and only if the argument is positive. | ||
| 2759 | |||
| 2760 | Some operating systems let you specify the language you are using by | ||
| 2761 | setting a locale. Emacs handles one common special case of this: if | ||
| 2762 | your locale name for character types contains the string `8859-1' or | ||
| 2763 | `88591', Emacs automatically enables European character display mode | ||
| 2764 | when it starts up. | ||
| 2765 | |||
| 2766 | 125: How do I input 8-bit characters? | ||
| 2767 | |||
| 2768 | Again, from the `European Display' page of the on-line manual: | ||
| 2769 | |||
| 2770 | If you enter non-ASCII ISO Latin-1 characters often, you might find ISO | ||
| 2771 | Accents mode convenient. When this minor mode is enabled, the | ||
| 2772 | characters ``', `'', `"', `^', `/' and `~' modify the following letter | ||
| 2773 | by adding the corresponding diacritical mark to it, if possible. To | ||
| 2774 | enable or disable ISO Accents mode, use the command `M-x | ||
| 2775 | iso-accents-mode'. This command affects only the current buffer. | ||
| 2776 | |||
| 2777 | To enter one of those six special characters, type the character, | ||
| 2778 | followed by a space. Some of those characters have a corresponding | ||
| 2779 | "dead key" accent character in the ISO Latin-1 character set; to enter | ||
| 2780 | that character, type the corresponding ASCII character twice. For | ||
| 2781 | example, `''' enters the Latin-1 character acute-accent (character code | ||
| 2782 | 0264). | ||
| 2783 | 3260 | ||
| 2784 | 126: Where can I get an Emacs that can handle kanji characters? | 3261 | Emacs 19 introduced built-in support for 8-bit characters. Emacs 20 can |
| 3262 | operate similarly in Unibyte mode or else in Multibyte mode. See the | ||
| 3263 | "International" node in the online manual, specifically "Single-Byte | ||
| 3264 | European Support". | ||
| 2785 | 3265 | ||
| 2786 | Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55 | 3266 | 134: How do I input 8-bit characters? |
| 2787 | that handles kanji characters. It is available via anonymous FTP: | ||
| 2788 | 3267 | ||
| 2789 | /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z | 3268 | Again, see the "International" node of the on-line manual. |
| 2790 | /ftp.cs.titech.ac.jp:pub/gnu-rel/nemacs/nemacs-3.3.2.tar.gz | ||
| 2791 | 3269 | ||
| 2792 | You might also need files for "wnn," a kanji input method | 3270 | 135: Where can I get an Emacs that handles kanji, Chinese, or other |
| 2793 | (wnn-4.0.3{-README,.tar.Z} {on which machine?}). You need a terminal (or | 3271 | character sets? |
| 2794 | terminal emulator) that can display text encoded in JIS, Shift-JIS, or | ||
| 2795 | EUC (Extended Unix Code), or the ability to run Nemacs as a direct X | ||
| 2796 | Windows client. | ||
| 2797 | 3272 | ||
| 2798 | 127: Where can I get an Emacs that can handle Chinese? | 3273 | Emacs 20 now includes many of the features of MULE, the Multilingual |
| 3274 | Enhancement of Emacs. See question 84 for information on where to find | ||
| 3275 | and download Emacs. | ||
| 2799 | 3276 | ||
| 2800 | Cemacs by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs | 3277 | The original MULE is available at |
| 2801 | 18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with | ||
| 2802 | Cxterm allows using Chinese characters. It is available via anonymous | ||
| 2803 | FTP: | ||
| 2804 | 3278 | ||
| 2805 | /cs.purdue.edu:pub/ygz/cemacs.tar.Z | 3279 | ftp://sh.wide.ad.jp/JAPAN/mule/mule-19.33-delta.tar.gz |
| 2806 | 3280 | ||
| 2807 | Cxterm, a patch to Emacs 18.57 that allows you to enter Chinese | 3281 | 136: Where is an Emacs that can handle Semitic (right-to-left) alphabets? |
| 2808 | characters, is available from the same place: | ||
| 2809 | 3282 | ||
| 2810 | /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z | 3283 | Emacs 20 supports Hebrew characters (ISO 8859-8), but does not yet |
| 3284 | support right-to-left character entry. | ||
| 2811 | 3285 | ||
| 2812 | 128: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | 3286 | Joel M. Hoffman <joel@exc.com> has written a Lisp package called |
| 3287 | hebrew.el that allows right-to-left editing of Hebrew. It reportedly | ||
| 3288 | works out of the box with Emacs 19, but requires patches for Emacs 18. | ||
| 3289 | Write to Joel if you want the patches or package. | ||
| 2813 | 3290 | ||
| 2814 | Joel M. Hoffman <joel@wam.umd.edu> writes: | 3291 | Hebrew.el requires a Hebrew screen font, but no other Hardware support. |
| 3292 | Joel has a screen font for PCs running MS-DOS and Linux. | ||
| 2815 | 3293 | ||
| 2816 | A couple of years ago a wrote a hebrew.el file that allows | 3294 | You might also try to query archie for files named with "hebrew"; several |
| 2817 | right-to-left editing of Hebrew. I relied on the hardware to display | 3295 | ftp sites in Israel may also have the necessary files. |
| 2818 | the Hebrew letters, given the right codes, but not for any | ||
| 2819 | right-to-left support; the hardware also doesn't have to send any | ||
| 2820 | specific char. codes. Emacs keeps track of when the user is typing | ||
| 2821 | Hebrew vs. English. (The VT-* terminals in Israel contain built-in | ||
| 2822 | support for Hebrew.) | ||
| 2823 | |||
| 2824 | To get it to work I had to modify only a few lines of GNU Emacs's | ||
| 2825 | source code --- just enough to make it 8-bit clean. | ||
| 2826 | |||
| 2827 | [and in a separate message:] | ||
| 2828 | |||
| 2829 | It doesn't produce time-order ["sefer" format] (I wouldn't recommend | ||
| 2830 | trying that with Emacs, because converting time-order to screen-order | ||
| 2831 | with arbitrarily long lines is a bit tricky), but I also concocted a | ||
| 2832 | quick filter to convert screen-order into time-order. I'll be happy to | ||
| 2833 | send you the requisite files if you want them. If you're using it for | ||
| 2834 | anything large, however, you'll want something that works better. | ||
| 2835 | |||
| 2836 | Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like" | ||
| 2837 | editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional | ||
| 2838 | Editor). Ibelbe is written in Turbo Pascal and comes with source code. | ||
| 2839 | Here is the description: | ||
| 2840 | |||
| 2841 | Ibelbe looks like Emacs (it even has a minibuffer and filename | ||
| 2842 | completion), and fully supports both right-to-left and left-to-right | ||
| 2843 | editing. Other than an EGA monitor or better, no special hardware is | ||
| 2844 | required. You will need an EGA Hebrew font to use Ibelbe with Hebrew. | ||
| 2845 | |||
| 2846 | Anonymous FTP: | ||
| 2847 | /israel.nysernet.org:israel/computers/software/msdos/ibelbe.zip | ||
| 2848 | /israel.nysernet.org:israel/computers/software/msdos/hebfont.zip | ||
| 2849 | |||
| 2850 | Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written | ||
| 2851 | patches for Emacs 18.55 and 18.58 that provide Semitic language support | ||
| 2852 | under X Windows. | ||
| 2853 | |||
| 2854 | Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by | ||
| 2855 | modifying self-insert-command "for Hebrew input on 7-bit keyboards." | ||
| 2856 | |||
| 2857 | A good suggestion is to query archie for files named with `hebrew'. | ||
| 2858 | 3296 | ||
| 2859 | 3297 | ||
| 2860 | Mail and News | 3298 | Mail and News |
| 2861 | 3299 | ||
| 2862 | 129: How do I change the included text prefix in mail/news followups? | 3300 | 137: How do I change the included text prefix in mail/news followups? |
| 2863 | 3301 | ||
| 2864 | If you read mail with Rmail or news with Gnus, set the variable | 3302 | If you read mail with Rmail or news with Gnus, set the variable |
| 2865 | mail-yank-prefix. For VM, set vm-included-text-prefix. For mh-e, set | 3303 | mail-yank-prefix. For VM, set vm-included-text-prefix. For mh-e, set |
| 2866 | mh-ins-buf-prefix. | 3304 | mh-ins-buf-prefix. |
| 2867 | 3305 | ||
| 2868 | For fancier control of citations, use Supercite. See question 93. | 3306 | For fancier control of citations, use SuperCite. See question 105. |
| 2869 | 3307 | ||
| 2870 | A related problem is how to prevent Emacs from including various headers | 3308 | To prevent Emacs from including various headers of the replied-to |
| 2871 | of the replied-to message. For this, you should set the value of | 3309 | message, set the value of mail-yank-ignored-headers to an appropriate |
| 2872 | mail-yank-ignored-headers, which takes a regexp value. | 3310 | regexp. |
| 2873 | 3311 | ||
| 2874 | 130: How do I save a copy of outgoing mail? | 3312 | 138: How do I save a copy of outgoing mail? |
| 2875 | 3313 | ||
| 2876 | You can either mail yourself a copy by including a `BCC:' header in the | 3314 | You can either mail yourself a copy by including a "BCC:" header in the |
| 2877 | mail message, or store a copy of the message directly to a file by | 3315 | mail message, or store a copy of the message directly to a file by |
| 2878 | including an `FCC:' header. | 3316 | including an "FCC:" header. |
| 2879 | 3317 | ||
| 2880 | If you use standard mail, you can automatically create a `BCC:' to | 3318 | If you use standard mail, you can automatically create a "BCC:" to |
| 2881 | yourself by putting | 3319 | yourself by putting |
| 2882 | 3320 | ||
| 2883 | (setq mail-self-blind t) | 3321 | (setq mail-self-blind t) |
| 2884 | 3322 | ||
| 2885 | in your .emacs. You can automatically include an `FCC:' field by putting | 3323 | in your .emacs file. You can automatically include an "FCC:" field by |
| 2886 | something like the following in your .emacs file: | 3324 | putting something like the following in your .emacs file: |
| 2887 | 3325 | ||
| 2888 | (setq mail-archive-file-name (expand-file-name "~/outgoing")) | 3326 | (setq mail-archive-file-name (expand-file-name "~/outgoing")) |
| 2889 | 3327 | ||
| 2890 | The output file will be in Unix mail format, which can be read directly | 3328 | The output file will be in Unix mail format, which can be read directly |
| 2891 | by VM, but not always by Rmail. See question 132. | 3329 | by VM, but not always by Rmail. See question 140. |
| 3330 | |||
| 3331 | For Gnus, see the `Archived Messages node of the Gnus manual. | ||
| 2892 | 3332 | ||
| 2893 | If you use mh-e add an FCC: or BCC: field to your components file. | 3333 | If you use mh-e, add an "FCC:" or "BCC:" field to your components file. |
| 2894 | 3334 | ||
| 2895 | It does not work to put `set record filename' in the .mailrc file. | 3335 | It does not work to put "set record filename" in the .mailrc file. |
| 2896 | 3336 | ||
| 2897 | 131: Why doesn't Emacs expand my aliases when sending mail? | 3337 | 139: Why doesn't Emacs expand my aliases when sending mail? |
| 2898 | 3338 | ||
| 2899 | * You must separate multiple addresses in the headers of the mail buffer | 3339 | * You must separate multiple addresses in the headers of the mail buffer |
| 2900 | with commas. This is because Emacs supports RFC822 standard addresses | 3340 | with commas. This is because Emacs supports RFC822 standard addresses |
| @@ -2902,46 +3342,42 @@ Mail and News | |||
| 2902 | 3342 | ||
| 2903 | To: Willy Smith <wks@xpnsv.lwyrs.com> | 3343 | To: Willy Smith <wks@xpnsv.lwyrs.com> |
| 2904 | 3344 | ||
| 2905 | However, you do not need to separate addresses with commas in your | 3345 | However, you do not need to -- and probably should not, unless your |
| 2906 | .mailrc file. | 3346 | system's version of /usr/ucb/mail (aka mailx) supports RFC822 -- |
| 3347 | separate addresses with commas in your ~/.mailrc file. | ||
| 2907 | 3348 | ||
| 2908 | WARNING: Emacs breaks up aliases in the .mailrc file into multiple | 3349 | * Emacs normally only reads the ".mailrc" file once per session, when you |
| 2909 | addresses both on commas and on whitespace, regardless of any use of | ||
| 2910 | quotes. This is probably a bug. You can get around this by directly | ||
| 2911 | setting the value of mail-aliases. | ||
| 2912 | |||
| 2913 | * Emacs normally only reads the `.mailrc' file once per session, when you | ||
| 2914 | start to compose your first mail message. If you edit .mailrc, you can | 3350 | start to compose your first mail message. If you edit .mailrc, you can |
| 2915 | type "M-: (build-mail-aliases) RET" to make Emacs reread .mailrc. | 3351 | type "M-x rebuild-mail-abbrevs RET" to make Emacs reread your ~/.mailrc |
| 2916 | (You have to include the parentheses where they are shown!) | 3352 | file. |
| 2917 | |||
| 2918 | * Emacs does not interpret vendor-specific additions to the format of the | ||
| 2919 | .mailrc file such as the `source' command. It also ignores any `set' | ||
| 2920 | commands. The only commands it looks at are `alias' and `group' | ||
| 2921 | commands. | ||
| 2922 | 3353 | ||
| 2923 | * If you like, you can expand mail aliases as abbrevs, as soon as you | 3354 | * If you like, you can expand mail aliases as abbrevs, as soon as you |
| 2924 | type them in. To enable this feature, execute the following: | 3355 | type them in. To enable this feature, execute the following: |
| 2925 | 3356 | ||
| 2926 | (add-hook 'mail-setup-hook 'mail-abbrevs-setup) | 3357 | (add-hook 'mail-setup-hook 'mail-abbrevs-setup) |
| 2927 | 3358 | ||
| 2928 | 132: Why does Rmail think all my saved messages are one big message? | 3359 | Note that the aliases are expanded automatically only after you type |
| 3360 | RET or a punctuation character (e.g. `,'). You can force their | ||
| 3361 | expansion by moving point to the end of the alias and typing "C-x a e" | ||
| 3362 | (M-x expand-abbrev). | ||
| 3363 | |||
| 3364 | 140: Why does Rmail think all my saved messages are one big message? | ||
| 2929 | 3365 | ||
| 2930 | A file created through the FCC: field in a message is in Unix Mail | 3366 | A file created through the FCC: field in a message is in Unix mail |
| 2931 | format, not the format that Rmail uses (BABYL format). Rmail will try to | 3367 | format, not the format that Rmail uses (BABYL format). Rmail will try to |
| 2932 | convert a Unix mail file into BABYL format on input, but sometimes it | 3368 | convert a Unix mail file into BABYL format on input, but sometimes it |
| 2933 | makes errors. For guaranteed safety, you can make the saved- messages | 3369 | makes errors. For guaranteed safety, you can make the saved-messages |
| 2934 | file be an inbox for your Rmail file by using the function | 3370 | file be an inbox for your Rmail file by using the function |
| 2935 | set-rmail-inbox-list. | 3371 | set-rmail-inbox-list. |
| 2936 | 3372 | ||
| 2937 | 133: How can I sort the messages in my Rmail folder? | 3373 | 141: How can I sort the messages in my Rmail folder? |
| 2938 | 3374 | ||
| 2939 | In Rmail, type C-c C-s C-h to get a list of sorting functions and their | 3375 | In Rmail, type "C-c C-s C-h" to get a list of sorting functions and their |
| 2940 | key bindings. | 3376 | key bindings. |
| 2941 | 3377 | ||
| 2942 | 134: Why does Rmail need to write to /usr/spool/mail? | 3378 | 142: Why does Rmail need to write to /usr/spool/mail? |
| 2943 | 3379 | ||
| 2944 | This is the behavior of the `movemail' program which Rmail uses. This | 3380 | This is the behavior of the "movemail" program which Rmail uses. This |
| 2945 | indicates that movemail is configured to use lock files. | 3381 | indicates that movemail is configured to use lock files. |
| 2946 | 3382 | ||
| 2947 | RMS writes: | 3383 | RMS writes: |
| @@ -2953,7 +3389,7 @@ Mail and News | |||
| 2953 | Other systems use the flock system call to interlock access. On these | 3389 | Other systems use the flock system call to interlock access. On these |
| 2954 | systems, you should configure movemail to use flock. | 3390 | systems, you should configure movemail to use flock. |
| 2955 | 3391 | ||
| 2956 | 135: How do I recover my mail files after Rmail munges their format? | 3392 | 143: How do I recover my mail files after Rmail munges their format? |
| 2957 | 3393 | ||
| 2958 | If you have just done rmail-input on a file and you don't want to save it | 3394 | If you have just done rmail-input on a file and you don't want to save it |
| 2959 | in Rmail's format (called BABYL), just kill the buffer (with C-x k). | 3395 | in Rmail's format (called BABYL), just kill the buffer (with C-x k). |
| @@ -2965,7 +3401,39 @@ Mail and News | |||
| 2965 | format, use the command M-x unrmail: it will prompt you for the input and | 3401 | format, use the command M-x unrmail: it will prompt you for the input and |
| 2966 | output file names. | 3402 | output file names. |
| 2967 | 3403 | ||
| 2968 | 136: How do I make Emacs automatically start my mail/news reader? | 3404 | 144: How can I force Rmail to reply to the sender of a message, but not the |
| 3405 | other recipients? | ||
| 3406 | |||
| 3407 | Ron Isaacson <isaacson@seas.upenn.edu> says: When you hit "r" to reply in | ||
| 3408 | Rmail, by default it CCs all of the original recipients (everyone on the | ||
| 3409 | original "To" and "CC" lists). With a prefix argument (i.e., typing "C-u" | ||
| 3410 | before "r"), it replies only to the sender. However, going through the | ||
| 3411 | whole C-u business every time you want to reply is a pain. This is the | ||
| 3412 | best fix I've been able to come up with: | ||
| 3413 | |||
| 3414 | (defun rmail-reply-t () | ||
| 3415 | "Reply only to the sender of the current message. (See rmail-reply.)" | ||
| 3416 | (interactive) | ||
| 3417 | (rmail-reply t)) | ||
| 3418 | |||
| 3419 | (add-hook 'rmail-mode-hook | ||
| 3420 | '(lambda () | ||
| 3421 | (define-key rmail-mode-map "r" 'rmail-reply-t) | ||
| 3422 | (define-key rmail-mode-map "R" 'rmail-reply))) | ||
| 3423 | |||
| 3424 | 145: How can I get my favorite Emacs mail package to support MIME? | ||
| 3425 | |||
| 3426 | Look at the Emacs MIME FAQ, maintained by MacDonald Hall Jackson | ||
| 3427 | <trey@cs.berkeley.edu> at | ||
| 3428 | |||
| 3429 | http://bmrc.berkeley.edu/~trey/emacs/mime.html | ||
| 3430 | |||
| 3431 | Version 6.x of VM supports MIME. See question 104. | ||
| 3432 | |||
| 3433 | MIME support has been added in the development version of Gnus which will | ||
| 3434 | be included with a future version of Emacs. | ||
| 3435 | |||
| 3436 | 146: How do I make Emacs automatically start my mail/news reader? | ||
| 2969 | 3437 | ||
| 2970 | To start Emacs in Gnus: | 3438 | To start Emacs in Gnus: |
| 2971 | 3439 | ||
| @@ -2985,11 +3453,11 @@ Mail and News | |||
| 2985 | two copies of Emacs at one time. Also, this would make it difficult for | 3453 | two copies of Emacs at one time. Also, this would make it difficult for |
| 2986 | you to start Emacs quickly when you needed to. | 3454 | you to start Emacs quickly when you needed to. |
| 2987 | 3455 | ||
| 2988 | 137: How do I read news under Emacs? | 3456 | 147: How do I read news under Emacs? |
| 2989 | 3457 | ||
| 2990 | Use M-x gnus. It is documented in Info (see question 14). | 3458 | Use M-x gnus. It is documented in Info (see question 14). |
| 2991 | 3459 | ||
| 2992 | 138: Why doesn't Gnus work via NNTP? | 3460 | 148: Why doesn't Gnus work via NNTP? |
| 2993 | 3461 | ||
| 2994 | There is a bug in NNTP version 1.5.10, such that when multiple requests | 3462 | There is a bug in NNTP version 1.5.10, such that when multiple requests |
| 2995 | are sent to the NNTP server, the server only handles the first one before | 3463 | are sent to the NNTP server, the server only handles the first one before |
| @@ -3002,60 +3470,69 @@ Mail and News | |||
| 3002 | 3470 | ||
| 3003 | You can find out what version of NNTP your news server is running by | 3471 | You can find out what version of NNTP your news server is running by |
| 3004 | telnetting to the NNTP port (usually 119) on the news server machine | 3472 | telnetting to the NNTP port (usually 119) on the news server machine |
| 3005 | (i.e., `telnet server-machine 119'). The server should give its version | 3473 | (i.e., "telnet server-machine 119"). The server should give its version |
| 3006 | number in the welcome message. Type `quit' to get out. | 3474 | number in the welcome message. Type "quit" to get out. |
| 3475 | |||
| 3476 | Also see question 75 in this FAQ for some additional ideas. | ||
| 3007 | 3477 | ||
| 3008 | 139: How do I view text with embedded underlining (e.g., ClariNews)? | 3478 | 149: How do I view news articles with embedded underlining (e.g., |
| 3479 | ClariNews)? | ||
| 3009 | 3480 | ||
| 3010 | Underlining appears like this: | 3481 | Underlining appears like this: |
| 3011 | 3482 | ||
| 3012 | _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg | 3483 | _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg |
| 3013 | 3484 | ||
| 3014 | You can destructively remove underlining with M-x ununderline-region. | 3485 | Use Gnus' "Overstrike" function from the Article -> Washing menu (or type |
| 3486 | "W o"). You can do this for all articles with: | ||
| 3487 | |||
| 3488 | (add-hook 'gnus-article-prepare-hook 'gnus-article-treat-overstrike) | ||
| 3489 | |||
| 3490 | If you prefer to do away with underlining altogether, you can | ||
| 3491 | destructively remove it with M-x ununderline-region; do this | ||
| 3492 | automatically via | ||
| 3015 | 3493 | ||
| 3016 | For ClariNews articles, clari-clean.el by David N. Blank-Edelman | 3494 | (add-hook 'gnus-article-prepare-hook |
| 3017 | <dnb@meshugge.media.mit.edu> will remove both underlining and | 3495 | (lambda () (ununderline-region (point-min) (point-max)))) |
| 3018 | overstriking automatically. It is available on the Lisp Code Directory | ||
| 3019 | (see question 77). | ||
| 3020 | 3496 | ||
| 3021 | 140: How do I save all the items of a multi-part posting in Gnus? | 3497 | See the Gnus manual for more information about this and similar methods |
| 3498 | for treating article contents. | ||
| 3499 | |||
| 3500 | 150: How do I save all the items of a multi-part posting in Gnus? | ||
| 3022 | 3501 | ||
| 3023 | Use gnus-uu. Type C-c C-v C-h in the Gnus summary buffer to see a list | 3502 | Use gnus-uu. Type C-c C-v C-h in the Gnus summary buffer to see a list |
| 3024 | of available commands. | 3503 | of available commands. |
| 3025 | 3504 | ||
| 3026 | 141: Why does Gnus put the subjects in replies beyond the 80th column? | 3505 | 151: How do I make Gnus start up faster? |
| 3027 | |||
| 3028 | This is a feature. If you set gnus-thread-hide-subject to non-nil, Gnus | ||
| 3029 | will only display the subject of the first posting in a thread, even if | ||
| 3030 | some of the replies use different subjects. It hides the subjects by | ||
| 3031 | putting them past the edge of the window and setting truncate lines to t. | ||
| 3032 | 3506 | ||
| 3033 | If your screen looks messed up, then for some reason truncate-lines in | 3507 | From the Gnus FAQ (see question 157): |
| 3034 | your `*Subject*' buffer has been set to nil. It should be set to t. | ||
| 3035 | 3508 | ||
| 3036 | 142: How do I make Gnus start up faster? | 3509 | Pranav Kumar Tiwari <pktiwari@eos.ncsu.edu> writes: I posted the same |
| 3510 | query recently and I got an answer to it. I am going to repeat the | ||
| 3511 | answer. What you need is a newer version of gnus, version 5.0.4+. I am | ||
| 3512 | using 5.0.12 and it works fine with me with the following settings: | ||
| 3037 | 3513 | ||
| 3038 | Remove all the newsgroups in which you have no interest from your .newsrc | 3514 | (setq gnus-check-new-newsgroups nil |
| 3039 | file by using Gnus's C-k or C-w commands in the `*Newsgroup*' buffer, | 3515 | gnus-read-active-file 'some |
| 3040 | perhaps after displaying all newsgroups with the L command. | 3516 | gnus-nov-is-evil nil |
| 3041 | Unsubscribing will not speed up Gnus. | 3517 | gnus-select-method '(nntp gnus-nntp-server)) |
| 3042 | 3518 | ||
| 3043 | 143: How do I catch up all newsgroups in Gnus? | 3519 | 152: How do I catch up all newsgroups in Gnus? |
| 3044 | 3520 | ||
| 3045 | In the `*Newsgroup*' buffer, type the following magical incantation: | 3521 | In the "*Newsgroup*" buffer, type the following magical incantation: |
| 3046 | 3522 | ||
| 3047 | M-< C-x ( c y M-0 C-x ) | 3523 | M-< C-x ( c y C-x ) M-0 C-x e |
| 3048 | 3524 | ||
| 3049 | Leave off the "M-<" if you only want to catch up from point to the end of | 3525 | Leave off the "M-<" if you only want to catch up from point to the end of |
| 3050 | the `*Newsgroup' buffer. | 3526 | the "*Newsgroup" buffer. |
| 3051 | 3527 | ||
| 3052 | 144: Why can't I kill in Gnus on the Newsgroups/Keywords/Control line? | 3528 | 153: Why can't I kill in Gnus based on the Newsgroups/Keywords/Control |
| 3529 | headers? | ||
| 3053 | 3530 | ||
| 3054 | Gnus will complain that the `Newsgroups:', `Keywords:', and `Control:' | 3531 | Gnus will complain that the "Newsgroups:", "Keywords:", and "Control:" |
| 3055 | headers are `Unknown header field's. | 3532 | headers are "Unknown header" fields. |
| 3056 | 3533 | ||
| 3057 | For the `Newsgroups:' header, there is an easy workaround: kill on the | 3534 | For the "Newsgroups:" header, there is an easy workaround: kill on the |
| 3058 | `Xref' header instead, which will be present on any cross-posted article | 3535 | "Xref" header instead, which will be present on any cross-posted article |
| 3059 | (as long as your site carries the cross-post group). | 3536 | (as long as your site carries the cross-post group). |
| 3060 | 3537 | ||
| 3061 | If you really want to kill on one of these headers, you can do it like | 3538 | If you really want to kill on one of these headers, you can do it like |
| @@ -3063,16 +3540,16 @@ Mail and News | |||
| 3063 | 3540 | ||
| 3064 | (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)") | 3541 | (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)") |
| 3065 | 3542 | ||
| 3066 | 145: How do I get rid of flashing messages in Gnus for slow connections? | 3543 | 154: How do I get rid of flashing messages in Gnus for slow connections? |
| 3067 | 3544 | ||
| 3068 | Set nntp-debug-read to nil. | 3545 | Set nntp-debug-read to nil. |
| 3069 | 3546 | ||
| 3070 | 146: Why is catch up slow in Gnus? | 3547 | 155: Why is catch up slow in Gnus? |
| 3071 | 3548 | ||
| 3072 | Because Gnus is marking crosspostings read. You can control this with | 3549 | Because Gnus is marking crosspostings read. You can control this with |
| 3073 | the variable gnus-use-cross-reference. | 3550 | the variable gnus-use-cross-reference. |
| 3074 | 3551 | ||
| 3075 | 147: Why does Gnus hang for a long time when posting? | 3552 | 156: Why does Gnus hang for a long time when posting? |
| 3076 | 3553 | ||
| 3077 | David Lawrence <tale@uunet.uu.net> explains: | 3554 | David Lawrence <tale@uunet.uu.net> explains: |
| 3078 | 3555 | ||
| @@ -3091,46 +3568,17 @@ Mail and News | |||
| 3091 | on its own. The C News folks have sped up inews, too, so speed should | 3568 | on its own. The C News folks have sped up inews, too, so speed should |
| 3092 | look better to most folks as that update propagates around. | 3569 | look better to most folks as that update propagates around. |
| 3093 | 3570 | ||
| 3094 | 148: Why don't my news postings in Gnus get past the local machine? | 3571 | 157: Where can I find out more about Gnus? |
| 3095 | |||
| 3096 | It could be that your Distribution: field is "local" or a synonym, or | ||
| 3097 | your Path: field may be wrong. This piece of code may fix the latter | ||
| 3098 | problem: | ||
| 3099 | |||
| 3100 | (setq gnus-use-generic-path t) | ||
| 3101 | |||
| 3102 | 149: Why doesn't Gnus generate the `Lines:' header? | ||
| 3103 | |||
| 3104 | The posting software down the line from Gnus often generates a "Lines:" | ||
| 3105 | header so Gnus doesn't have to. If you want it to, just add Lines to the | ||
| 3106 | list in gnus-required-headers: | ||
| 3107 | |||
| 3108 | (add-hook 'gnus-startup-hook | ||
| 3109 | '(lambda () | ||
| 3110 | (setq gnus-required-headers (cons 'Lines gnus-required-headers)))) | ||
| 3111 | |||
| 3112 | 150: How do I kill all articles in Gnus but those matching a pattern? | ||
| 3113 | |||
| 3114 | Example kill file code: | ||
| 3115 | |||
| 3116 | ;; kill everything | ||
| 3117 | (gnus-kill "subject" "" nil nil) | ||
| 3118 | ;; then restore stuff by our favorite poster | ||
| 3119 | (gnus-kill "from" "good-guy" | ||
| 3120 | (function | ||
| 3121 | (lambda () | ||
| 3122 | (if (eq ?X (char-after (save-excursion | ||
| 3123 | (beginning-of-line 1) | ||
| 3124 | (point)))) | ||
| 3125 | (gnus-summary-clear-mark-forward 1)))) | ||
| 3126 | t) | ||
| 3127 | 3572 | ||
| 3573 | Visit http://www.gnus.org/, which has a pointer to the current Gnus FAQ and | ||
| 3574 | more information. The relevant newsgroup is gnu.emacs.gnus. | ||
| 3128 | 3575 | ||
| 3129 | ------------------------------------------------------------ | 3576 | ------------------------------------------------------------ |
| 3130 | Slightly modified by Richard Stallman | 3577 | Modified, with permission, for the Emacs 20.4 distribution by Dave Love. |
| 3131 | Copyright 1994 Reuven M. Lerner | 3578 | |
| 3132 | Copyright 1992, 1993 Steven Byrnes | 3579 | Copyright 1994-1998 Reuven M. Lerner |
| 3133 | Copyright 1990, 1991, 1992 Joseph Brian Wells | 3580 | Copyright 1992-1993 Steven Byrnes |
| 3581 | Copyright 1990-1992 Joseph Brian Wells | ||
| 3134 | 3582 | ||
| 3135 | This list of frequently asked questions about GNU Emacs with answers | 3583 | This list of frequently asked questions about GNU Emacs with answers |
| 3136 | ("FAQ") may be translated into other languages, transformed into other | 3584 | ("FAQ") may be translated into other languages, transformed into other |
| @@ -3148,15 +3596,8 @@ itself allows free copying and redistribution. | |||
| 3148 | 3596 | ||
| 3149 | ------------------------------------------------------------ | 3597 | ------------------------------------------------------------ |
| 3150 | 3598 | ||
| 3151 | Special thanks to members of the FAQ team, who worked hard to ensure that | 3599 | People who helped with this version of the FAQ: |
| 3152 | answers were up-to-date: | ||
| 3153 | |||
| 3154 | Ethan Bradford <ethanb@u.washington.edu>, Luis Fernandes | ||
| 3155 | <elf@eccles.ee.ryerson.ca>, Denby Wong <3dw16@qlink.QueensU.CA>, Yair | ||
| 3156 | Friedman <yair@cs.huji.ac.il>, Thi <ttn@netcom.com>, Richard Levitte | ||
| 3157 | <levitte@e.kth.se>, "William G. Dubuque" <wgd@martigny.ai.mit.edu>, | ||
| 3158 | and Guan-Hsong Hsu <ghsu@relay.nswc.navy.mil>. | ||
| 3159 | |||
| 3160 | |||
| 3161 | |||
| 3162 | 3600 | ||
| 3601 | Ethan Bradford <ethanb@u.washington.edu>, William G. Dubuque | ||
| 3602 | <wgd@martigny.ai.mit.edu>, Michael Ernst <mernst@theory.lcs.mit.edu>, | ||
| 3603 | and Denby Wong <3dw16@qlink.QueensU.CA>. | ||