diff options
| author | Richard M. Stallman | 1995-05-15 23:23:34 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-05-15 23:23:34 +0000 |
| commit | e82f5d65d00161871f0803d63b5d3e09e5494382 (patch) | |
| tree | af93eb60a1fa9aca54bc2e1a046e663fa99b2d44 /etc/FAQ | |
| parent | 9b4234ae17d01ed919612978e86b03b7aa3f29c3 (diff) | |
| download | emacs-e82f5d65d00161871f0803d63b5d3e09e5494382.tar.gz emacs-e82f5d65d00161871f0803d63b5d3e09e5494382.zip | |
New version for Emacs 19.
Diffstat (limited to 'etc/FAQ')
| -rw-r--r-- | etc/FAQ | 5873 |
1 files changed, 2262 insertions, 3611 deletions
| @@ -1,59 +1,55 @@ | |||
| 1 | GNU Emacs FAQ: Introduction | 1 | GNU Emacs FAQ: Introduction |
| 2 | 2 | ||
| 3 | [To find what has changed, see the "Changes" posting.] | 3 | This is the introduction to a list of frequently asked questions (FAQ) |
| 4 | 4 | about GNU Emacs with answers. | |
| 5 | [The FAQ post date slipped big-time this time. Now that school is over | 5 | |
| 6 | with and I can get on with the rest of my life, posting should become a | 6 | The FAQ is posted to reduce the noise level in the `gnu.emacs.help' |
| 7 | lot more regular. - sbyrnes] | 7 | newsgroup (which is also the `help-gnu-emacs' mailing list) which results |
| 8 | 8 | from the repetition of frequently asked questions, wrong answers to these | |
| 9 | This is the introduction to a list of frequently asked questions (FAQ) about | 9 | questions, corrections to the wrong answers, corrections to the |
| 10 | GNU Emacs with answers. This article contains a listing of the questions; | 10 | corrections, debate, name calling, etc. Also, it serves as a repository of |
| 11 | subsequent articles contain the questions and answers. | 11 | the canonical "best" answers to these questions. However, if you know a |
| 12 | 12 | better answer or even a slight change that improves an answer, please tell | |
| 13 | The FAQ list is posted to reduce the noise level in the `gnu.emacs.help' | 13 | us! |
| 14 | newsgroup (which is also the `help-gnu-emacs' mailing list) which results from | 14 | |
| 15 | the repetition of frequently asked questions, wrong answers to these questions, | 15 | If you know the answer to a question in the FAQ list, please reply to the |
| 16 | corrections to the wrong answers, corrections to the corrections, debate, name | ||
| 17 | calling, etc. Also, it serves as a repository of the canonical "best" answers | ||
| 18 | to these questions. However, if you know a better answer or even a slight | ||
| 19 | change that improves an answer, please tell us! | ||
| 20 | |||
| 21 | If you know the answer of a question is in the FAQ list, please reply to the | ||
| 22 | question by e-mail instead of posting. Help reduce noise! | 16 | question by e-mail instead of posting. Help reduce noise! |
| 23 | 17 | ||
| 24 | The FAQ list is crossposted to `comp.emacs' because some sites do not receive | 18 | The FAQ is crossposted to `comp.emacs' because some sites do not receive |
| 25 | the `gnu.*' newsgroups. The FAQ list is also crossposted to `news.answers'. | 19 | the `gnu.*' newsgroups. The FAQ is also crossposted to `news.answers'. |
| 26 | 20 | ||
| 27 | Please suggest new questions, answers, wording changes, deletions, etc. The | 21 | Full instructions for getting the latest FAQ are in question 22. |
| 28 | most helpful form for suggestions is a context diff (ie., the output of `diff | ||
| 29 | -c'). Include `FAQ' in the subject of messages sent to us about the FAQ list. | ||
| 30 | 22 | ||
| 31 | Please do not send questions to us just because you do not want to disturb a | 23 | It has been so long since the FAQ was last edited and released that the |
| 32 | lot of people and you think we would know the answer. We do not have time to | 24 | maintainers decided to take a two-step approach. This edition corrects |
| 33 | answer questions individually. :-( | 25 | many basic inaccuracies in the old FAQ, most of them having to do with ftp |
| 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. | ||
| 34 | 28 | ||
| 35 | Full instructions for getting the latest FAQ are in question 22. Also | 29 | Many questions specific to recent releases of GNU Emacs 19 remain |
| 36 | see the `Introduction to news.answers' posting in the `news.answers' | 30 | unanswered in this version of the FAQ; the maintainers will spend time over |
| 37 | newsgroup, or send e-mail to `mail-server@rtfm.mit.edu' with `help' on | 31 | the next month or two adding new questions (and answers), based in no small |
| 38 | a body line, or use FTP, WAIS, or Prospero to rtfm.mit.edu. [Note: in | 32 | part on the questions that have come across help-gnu-emacs in recent |
| 39 | Sep 1994, this seems no longer to be true--rms.] | 33 | months. |
| 40 | 34 | ||
| 41 | These ideas have already been suggested, but we have not had time to | 35 | There is no diff file for this version of the FAQ, as many things have |
| 42 | implement them: | 36 | changed since it was last updated. |
| 43 | 37 | ||
| 44 | * A Texinfo version. | 38 | Please suggest new questions, answers, wording changes, deletions, etc. |
| 45 | * Marking questions in the table of contents that have been changed | 39 | The most helpful form for suggestions is a context diff (i.e., the output |
| 46 | recently. | 40 | of `diff -c'). Include `FAQ' in the subject of messages sent to us about |
| 41 | the FAQ list. | ||
| 47 | 42 | ||
| 48 | -- | 43 | Please do not send questions to us just because you do not want to disturb |
| 49 | Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>) | 44 | a lot of people and you think we would know the answer. We do not have |
| 45 | time to answer questions individually. :-( | ||
| 50 | 46 | ||
| 51 | E-mail lpf@uunet.uu.net for details about the League for Programming Freedom. | 47 | -- |
| 48 | Reuven M. Lerner <reuven@the-tech.mit.edu> and the FAQ team (a full list is | ||
| 49 | at the bottom of the FAQ). | ||
| 52 | 50 | ||
| 53 | ---------------------------------------------------------------------- | 51 | ---------------------------------------------------------------------- |
| 54 | 52 | ||
| 55 | GNU Emacs FAQ: Table of Contents | ||
| 56 | |||
| 57 | Notation Used in FAQ | 53 | Notation Used in FAQ |
| 58 | 54 | ||
| 59 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? | 55 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? |
| @@ -64,7 +60,7 @@ Notation Used in FAQ | |||
| 64 | 60 | ||
| 65 | General Questions | 61 | General Questions |
| 66 | 62 | ||
| 67 | 6: What is the LPF and why should I join it? | 63 | 6: What is the LPF? |
| 68 | 7: What is the real legal meaning of the GNU copyleft? | 64 | 7: What is the real legal meaning of the GNU copyleft? |
| 69 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, | 65 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, |
| 70 | comp.emacs, etc.? | 66 | comp.emacs, etc.? |
| @@ -90,298 +86,267 @@ Status of Emacs | |||
| 90 | 86 | ||
| 91 | 23: Where does the name "Emacs" come from? | 87 | 23: Where does the name "Emacs" come from? |
| 92 | 24: What is the latest version of GNU Emacs? | 88 | 24: What is the latest version of GNU Emacs? |
| 93 | 25: When will GNU Emacs 19 be available? | 89 | 25: What is different about GNU Emacs 19? |
| 94 | 26: What is different about GNU Emacs 19? | 90 | |
| 95 | 27: What variants of GNU Emacs exist? | 91 | Common Things People Want To Do |
| 96 | 92 | ||
| 97 | Common Things People Want To Do | 93 | 26: How do I set up a .emacs file properly? |
| 98 | 94 | 27: How do I debug a .emacs file? | |
| 99 | 28: How do I set up a .emacs file properly? | 95 | 28: How do I make Emacs display the current line (or column) number? |
| 100 | 29: How do I debug a .emacs file? | 96 | 29: How do I turn on abbrevs by default just in mode XXX? |
| 101 | 30: How do I make Emacs display the current line (or column) number? | 97 | 30: How do I turn on auto-fill mode by default? |
| 102 | 31: 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? |
| 103 | 32: 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) |
| 104 | 33: How do I make Emacs use a certain major mode for certain files? | ||
| 105 | 34: How do I search for, delete, or replace unprintable (8-bit or control) | ||
| 106 | characters? | 100 | characters? |
| 107 | 35: How can I highlight a region of text in Emacs? | 101 | 33: How can I highlight a region of text in Emacs? |
| 108 | 36: How do I control Emacs's case-sensitivity when searching/replacing? | 102 | 34: How do I control Emacs's case-sensitivity when searching/replacing? |
| 109 | 37: How do I make Emacs wrap words for me? | 103 | 35: How do I make Emacs wrap words for me? |
| 110 | 38: Where can I get a better spelling checker for Emacs? | 104 | 36: Where can I get a better spelling checker for Emacs? |
| 111 | 39: How can I spell-check TeX or *roff documents? | 105 | 37: How can I spell-check TeX or *roff documents? |
| 112 | 40: How do I change load-path? | 106 | 38: How do I change load-path? |
| 113 | 41: How do I use an already running Emacs from another window? | 107 | 39: How do I use an already running Emacs from another window? |
| 114 | 42: How do I make Emacs recognize my compiler's funny error messages? | 108 | 40: How do I make Emacs recognize my compiler's funny error messages? |
| 115 | 43: How do I indent switch statements like this? | 109 | 41: How do I indent switch statements like this? |
| 116 | 44: How can I make Emacs automatically scroll horizontally? | 110 | 42: How can I make Emacs automatically scroll horizontally? |
| 117 | 45: How do I make Emacs "typeover" or "overwrite" instead of inserting? | 111 | 43: How do I make Emacs "typeover" or "overwrite" instead of inserting? |
| 118 | 46: How do I stop Emacs from beeping on a terminal? | 112 | 44: How do I stop Emacs from beeping on a terminal? |
| 119 | 47: How do I turn down the bell volume in Emacs running under X Windows? | 113 | 45: How do I turn down the bell volume in Emacs running under X Windows? |
| 120 | 48: How do I tell Emacs to automatically indent a new line to the | 114 | 46: How do I tell Emacs to automatically indent a new line to the |
| 121 | indentation of the previous line? | 115 | indentation of the previous line? |
| 122 | 49: How do I show which parenthesis matches the one I'm looking at? | 116 | 47: How do I show which parenthesis matches the one I'm looking at? |
| 123 | 50: In C mode, can I show just the lines that will be left after #ifdef | 117 | 48: In C mode, can I show just the lines that will be left after #ifdef |
| 124 | commands are handled by the compiler? | 118 | commands are handled by the compiler? |
| 125 | 51: Is there an equivalent to the `.' (dot) command of vi? | 119 | 49: Is there an equivalent to the `.' (dot) command of vi? |
| 126 | 52: What are the valid X resource settings (ie., stuff in .Xdefaults)? | 120 | 50: What are the valid X resource settings (i.e., stuff in .Xdefaults)? |
| 127 | 53: How do I execute a piece of Emacs Lisp code? | 121 | 51: How do I execute a piece of Emacs Lisp code? |
| 128 | 54: How do I change Emacs's idea of the tab character's length? | 122 | 52: How do I change Emacs's idea of the tab character's length? |
| 129 | 55: How do I insert `>' at the beginning of every line? | 123 | 53: How do I insert `>' at the beginning of every line? |
| 130 | 56: How do I insert `_^H' before each character in a paragraph to get an | 124 | 54: How do I insert `_^H' before each character in a paragraph to get an |
| 131 | underlined paragraph? | 125 | underlined paragraph? |
| 132 | 57: How do I repeat a command as many times as possible? | 126 | 55: How do I repeat a command as many times as possible? |
| 133 | 58: How do I make Emacs behave like this: when I go up or down, the cursor | 127 | 56: How do I make Emacs behave like this: when I go up or down, the cursor |
| 134 | should stay in the same column even if the line is too short? | 128 | should stay in the same column even if the line is too short? |
| 135 | 59: How do I tell Emacs to iconify itself? | 129 | 57: How do I tell Emacs to iconify itself? |
| 136 | 60: How do I use regexps (regular expressions) in Emacs? | 130 | 58: How do I use regexps (regular expressions) in Emacs? |
| 137 | 61: How do I perform a replace operation across more than one file? | 131 | 59: How do I perform a replace operation across more than one file? |
| 138 | 62: Where is the documentation for `etags'? | 132 | 60: Where is the documentation for `etags'? |
| 139 | 133 | ||
| 140 | Bugs/Problems | 134 | Bugs/Problems |
| 141 | 135 | ||
| 142 | 63: Does Emacs have problems with files larger than 8 megabytes? | 136 | 61: Does Emacs have problems with files larger than 8 megabytes? |
| 143 | 64: Why can't Emacs find files in current directory on startup? | 137 | 62: How do I get rid of the ^M junk in my shell buffer? |
| 144 | 65: How do I get rid of the ^M junk in my Shell buffer? | 138 | 63: Why do I get `Process shell exited abnormally with code 1'? |
| 145 | 66: Why do I get `Process shell exited abnormally with code 1'? | 139 | 64: Where is the termcap/terminfo entry for terminal type `emacs'? |
| 146 | 67: Why can't I cut from Emacs and paste in other X programs? | 140 | 65: Why does Emacs spontaneously start displaying `I-search:' and beeping? |
| 147 | 68: Where is the termcap/terminfo entry for terminal type `emacs'? | 141 | 66: Why can't Emacs talk to certain hosts (or certain hostnames)? |
| 148 | 69: Why does Emacs spontaneously start displaying `I-search:' and beeping? | 142 | 67: Why does Emacs say `Error in init file'? |
| 149 | 70: Why can't Emacs talk to certain hosts (or certain hostnames)? | 143 | 68: Why does Emacs ignore my X resources (my .Xdefaults file)? |
| 150 | 71: Why does Emacs say `Error in init file'? | 144 | 69: Why does Emacs take 20 seconds to visit a file? |
| 151 | 72: Why does Emacs ignore my X resources (my .Xdefaults file)? | 145 | 70: How do I edit a file with a `$' in its name? |
| 152 | 73: Why does Emacs take 20 seconds to visit a file? | 146 | 71: Why does shell mode lose track of the shell's current directory? |
| 153 | 74: How do I edit a file with a `$' in its name? | 147 | 72: Are there any security risks in GNU Emacs? |
| 154 | 75: Why does Shell mode lose track of the shell's current directory? | ||
| 155 | 76: Why doesn't my change to load-path work? | ||
| 156 | 77: Why does the cursor always go to the wrong column when I move up or | ||
| 157 | down one line? | ||
| 158 | 78: Why does Emacs hang with message `Unknown XMenu error' with X11R4? | ||
| 159 | 79: Why doesn't display-time show the load average in the mode line | ||
| 160 | anymore? | ||
| 161 | 80: Why does ispell sometimes ignore the local dictionary? | ||
| 162 | 81: Why does Ispell treat each line as a single word? | ||
| 163 | 82: Are there any security risks in GNU Emacs? | ||
| 164 | 148 | ||
| 165 | Difficulties Building/Installing/Porting Emacs | 149 | Difficulties Building/Installing/Porting Emacs |
| 166 | 150 | ||
| 167 | 83: What should I do if I have trouble building Emacs? | 151 | 73: What should I do if I have trouble building Emacs? |
| 168 | 84: How do I stop Emacs from failing when the executable is stripped? | 152 | 74: How do I stop Emacs from failing when the executable is stripped? |
| 169 | 85: Why does linking Emacs with -lX11 fail? | 153 | 75: Why does linking Emacs with -lX11 fail? |
| 170 | 86: Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1? | ||
| 171 | 154 | ||
| 172 | Finding/Getting Emacs and Related Packages | 155 | Finding/Getting Emacs and Related Packages |
| 173 | 156 | ||
| 174 | 87: Where can I get GNU Emacs on the net (or by snail mail)? | 157 | 76: Where can I get GNU Emacs on the net (or by snail mail)? |
| 175 | 88: How do I find a GNU Emacs Lisp package that does XXX? | 158 | 77: How do I find a GNU Emacs Lisp package that does XXX? |
| 176 | 89: Where can I get GNU Emacs Lisp packages that don't come with Emacs? | 159 | 78: Where can I get GNU Emacs Lisp packages that don't come with Emacs? |
| 177 | 90: How do I submit code to the Emacs Lisp Archive? | 160 | 79: How do I submit code to the Emacs Lisp Archive? |
| 178 | 91: Where can I get other up-to-date GNU stuff? | 161 | 80: Where can I get other up-to-date GNU stuff? |
| 179 | 92: Where can I get an Emacs with better mouse and X window support? | 162 | 81: What is the difference between GNU Emacs and Epoch? |
| 180 | 93: What is the difference between GNU Emacs and Epoch? | 163 | 82: What is the difference between GNU Emacs and XEmacs (formerly "Lucid |
| 181 | 94: What is the difference between GNU Emacs and Lucid GNU Emacs? | 164 | Emacs")? |
| 182 | 95: Where can I get the "unofficial HP GNU Emacs"? | 165 | 83: Where can I get Emacs for my PC running MS-DOS? |
| 183 | 96: Where can I get Emacs for my PC running MS-DOS? | 166 | 84: Where can I get Emacs for my PC running Microsoft Windows? |
| 184 | 97: Where can I get Emacs for my PC running Windows? | 167 | 85: Where can I get Emacs for my PC running OS/2? |
| 185 | 98: Where can I get Emacs for my PC running OS/2? | 168 | 86: Where can I get Emacs for my Atari ST? |
| 186 | 99: Where can I get Emacs for my Atari ST? | 169 | 87: Where can I get Emacs for my Amiga? |
| 187 | 100: Where can I get Emacs for my Amiga? | 170 | 88: Where can I get Emacs for my Apple computer? |
| 188 | 101: Where can I get Emacs for my Apple computer? | 171 | 89: Where do I get Emacs that runs on VMS under DECwindows? |
| 189 | 102: Where can I get Emacs with NeWS support? | 172 | 90: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++, |
| 190 | 103: Where do I get Emacs that runs on VMS under DECwindows? | 173 | Objective C, Pascal, and Awk? |
| 191 | 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++, | 174 | 91: What is the IP address of XXX.YYY.ZZZ? |
| 192 | Objective C, Pascal, Awk? | ||
| 193 | 105: What is the IP address of XXX.YYY.ZZZ? | ||
| 194 | 175 | ||
| 195 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs | 176 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs |
| 196 | 177 | ||
| 197 | 106: VM (View Mail) -- another mail reader within Emacs | 178 | 92: VM (View Mail) -- another mail reader within Emacs |
| 198 | 107: Supercite -- mail and news citation package within Emacs | 179 | 93: Supercite -- mail and news citation package within Emacs |
| 199 | 108: GNUS -- news reader within Emacs | 180 | 94: Gnus -- news reader within Emacs |
| 200 | 109: Calc -- poor man's Mathematica within Emacs | 181 | 95: Calc -- poor man's Mathematica within Emacs |
| 201 | 110: Calendar/Diary -- calendar manager within Emacs | 182 | 96: Ange-FTP -- transparent FTP access for Emacs's file access routines |
| 202 | 111: Ange-FTP -- transparent FTP access for Emacs's file access routines | 183 | 97: VIP -- vi emulation for Emacs |
| 203 | 112: VIP -- vi emulation for Emacs | 184 | 98: AUC TeX -- enhanced LaTeX mode with debugging facilities |
| 204 | 113: Dired -- better directory editor for Emacs | 185 | 99: Hyperbole -- extensible hypertext management system within Emacs |
| 205 | 114: AUC TeX -- enhanced LaTeX mode with debugging facilities | 186 | 100: BBDB -- personal Info Rolodex integrated with mail/news readers |
| 206 | 115: Hyperbole -- extensible hypertext management system within Emacs | 187 | 101: Ispell -- spell checker in C with interface for Emacs |
| 207 | 116: Byte Compiler -- enhanced version of Emacs's byte compiler | 188 | 102: XEmacs -- alternative Emacs 19 with better X interface; formerly |
| 208 | 117: comint -- hugely enhanced shell mode and other derived modes | 189 | known as Lucid Emacs or lemacs. |
| 209 | 118: BBDB -- personal info rolodex integrated with mail/news readers | 190 | 103: Patch -- program to apply "diffs" for updating files |
| 210 | 119: Ispell -- spell checker in C with interface for Emacs | ||
| 211 | 120: Epoch -- enhanced GNU Emacs with better X interface | ||
| 212 | 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface | ||
| 213 | 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines | ||
| 214 | 123: Freemacs -- a small Emacs for MS-DOS | ||
| 215 | 124: Patch -- program to apply "diffs" for updating files | ||
| 216 | 191 | ||
| 217 | Changing Key Bindings and Handling Key Binding Problems | 192 | Changing Key Bindings and Handling Key Binding Problems |
| 218 | 193 | ||
| 219 | 125: How do I bind keys (including function keys) to commands? | 194 | 104: How do I bind keys (including function keys) to commands? |
| 220 | 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | 195 | 105: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? |
| 221 | 127: Why doesn't this [terminal or window-system setup] code work in my | 196 | 106: Why doesn't this [terminal or window-system setup] code work in my |
| 222 | .emacs file, but it works just fine after Emacs starts up? | 197 | .emacs file, but it works just fine after Emacs starts up? |
| 223 | 128: How do I use function keys under X Windows? | 198 | 107: How do I use function keys under X Windows? |
| 224 | 129: How do I tell what characters my function or arrow keys emit? | 199 | 108: How do I tell what characters or symbols my function or arrow keys |
| 225 | 130: How do I set the X key "translations" for Emacs? | 200 | emit? |
| 226 | 131: How do I handle C-s and C-q being used for flow control? | 201 | 109: How do I set the X key "translations" for Emacs? |
| 227 | 132: How do I use commands bound to C-s and C-q (or any key) if these keys | 202 | 110: How do I handle C-s and C-q being used for flow control? |
| 228 | are filtered out? | 203 | 111: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered |
| 229 | 133: Why does the `BackSpace' key invoke help? | 204 | out? |
| 230 | 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? | 205 | 112: Why does the `Backspace' key invoke help? |
| 231 | 135: Why don't the arrow keys work? | 206 | 113: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? |
| 232 | 136: How do I "swap" two keys? | 207 | 114: How do I "swap" two keys? |
| 233 | 137: How do I produce C-XXX with my keyboard? | 208 | 115: How do I produce C-XXX with my keyboard? |
| 234 | 138: What if I don't have a Meta key? | 209 | 116: What if I don't have a Meta key? |
| 235 | 139: What if I don't have an Escape key? | 210 | 117: What if I don't have an Escape key? |
| 236 | 140: How do I type DEL on PC terminal emulators? | 211 | 118: Can I make my `Compose Character' key behave like a Meta key? |
| 237 | 141: 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? |
| 238 | 142: 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? |
| 239 | 143: 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? |
| 240 | 144: 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? |
| 241 | 145: Where can I get key bindings to make Emacs emulate WordStar? | 216 | 123: Where can I get an XEDIT emulator for Emacs? |
| 242 | 146: Where can I get an XEDIT emulator for Emacs? | ||
| 243 | 217 | ||
| 244 | Using Emacs with Alternate Character Sets | 218 | Using Emacs with Alternate Character Sets |
| 245 | 219 | ||
| 246 | 147: How do I make Emacs display 8-bit characters? | 220 | 124: How do I make Emacs display 8-bit characters? |
| 247 | 148: How do I input 8-bit characters? | 221 | 125: How do I input 8-bit characters? |
| 248 | 149: Where can I get an Emacs that can handle kanji characters? | 222 | 126: Where can I get an Emacs that can handle kanji characters? |
| 249 | 150: Where can I get an Emacs that can handle Chinese? | 223 | 127: Where can I get an Emacs that can handle Chinese? |
| 250 | 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | 224 | 128: Where is an Emacs that can handle Semitic (right-to-left) alphabets? |
| 251 | 225 | ||
| 252 | Mail and News | 226 | Mail and News |
| 253 | 227 | ||
| 254 | 152: How do I change the included text prefix in mail/news followups? | 228 | 129: How do I change the included text prefix in mail/news followups? |
| 255 | 153: How do I save a copy of outgoing mail? | 229 | 130: How do I save a copy of outgoing mail? |
| 256 | 154: Why doesn't Emacs expand my aliases when sending mail? | 230 | 131: Why doesn't Emacs expand my aliases when sending mail? |
| 257 | 155: Why does RMAIL think all my saved messages are one big message? | 231 | 132: Why does Rmail think all my saved messages are one big message? |
| 258 | 156: How can I sort the messages in my RMAIL folder? | 232 | 133: How can I sort the messages in my Rmail folder? |
| 259 | 157: Why does RMAIL need to write to /usr/spool/mail? | 233 | 134: Why does Rmail need to write to /usr/spool/mail? |
| 260 | 158: How do I recover my mail files after RMAIL munges their format? | 234 | 135: How do I recover my mail files after Rmail munges their format? |
| 261 | 159: How do I make Emacs automatically start my mail/news reader? | 235 | 136: How do I make Emacs automatically start my mail/news reader? |
| 262 | 160: How do I read news under Emacs? | 236 | 137: How do I read news under Emacs? |
| 263 | 161: Why does `rnews' say "No News is good news" when there is news? | 237 | 138: Why doesn't Gnus work via NNTP? |
| 264 | 162: Why doesn't GNUS work anymore via NNTP? | 238 | 139: How do I view text with embedded underlining (e.g., ClariNews)? |
| 265 | 163: How do I view text with embedded underlining (eg., ClariNews)? | 239 | 140: How do I save all the items of a multi-part posting in Gnus? |
| 266 | 164: When I try to post a long article in GNUS (about 10K or longer), I get | 240 | 141: Why does Gnus put the subjects in replies beyond the 80th column? |
| 267 | the error, "Writing to process: no more processes, nntpd" | 241 | 142: How do I make Gnus start up faster? |
| 268 | 165: How do I save all the items of a multi-part posting in GNUS? | 242 | 143: How do I catch up all newsgroups in Gnus? |
| 269 | 166: Why does GNUS put the subjects in replies beyond the 80th column? | 243 | 144: Why can't I kill in Gnus on the Newsgroups/Keywords/Control line? |
| 270 | 167: Why is GNUS so slow to start up? | 244 | 145: How do I get rid of flashing messages in Gnus for slow connections? |
| 271 | 168: How do I catch up all newsgroups in GNUS? | 245 | 146: Why is catch up slow in Gnus? |
| 272 | 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line? | 246 | 147: Why does Gnus hang for a long time when posting? |
| 273 | 170: How do I get rid of flashing messages in GNUS for slow connections? | 247 | 148: Why don't my news postings in Gnus get past the local machine? |
| 274 | 171: Why is catch up slow in Gnews/GNUS? | 248 | 149: Why doesn't Gnus generate the `Lines:' header? |
| 275 | 172: Why does GNUS hang for a long time when posting? | 249 | 150: How do I kill all articles in Gnus but those matching a pattern? |
| 276 | 173: Why don't my news postings in GNUS get past the local machine? | 250 | |
| 277 | 174: Why is the GNUS-generated `Date:' header invalid? | 251 | ------------------------------------------------------------ |
| 278 | 175: Why doesn't GNUS generate the `Lines:' header? | 252 | |
| 279 | 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS? | 253 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x |
| 280 | 177: How do I kill all articles in GNUS but those matching a pattern? | 254 | $" to get an overview of just the questions. Then, when you want to look |
| 281 | 255 | at the text of the answers, just type "C-x $". | |
| 282 | 256 | ||
| 283 | GNU Emacs FAQ: Notation/General/Help/Status | 257 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a |
| 284 | 258 | C-r if that doesn't work, then type ESC to end the search. | |
| 285 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | 259 | |
| 286 | get an overview of just the questions. Then, when you want to look at the text | 260 | Full instructions for getting the latest FAQ are in question 22, or use |
| 287 | of the answers, just type "C-x $". | 261 | anonymous FTP to the-tech.mit.edu. |
| 288 | |||
| 289 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | ||
| 290 | that doesn't work, then type ESC to end the search. | ||
| 291 | |||
| 292 | A `+' in the 78th column means something was inserted on the line. A `-' means | ||
| 293 | something was deleted and a `!' means some combination of insertions and | ||
| 294 | deletions occurred. | ||
| 295 | |||
| 296 | Full instructions for getting the latest FAQ are in question 22. Also see the | ||
| 297 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 298 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 299 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 300 | |||
| 301 | |||
| 302 | 262 | ||
| 303 | Notation Used in FAQ | 263 | Notation Used in FAQ |
| 304 | 264 | ||
| 305 | Skip this section and then come back if you don't understand some of the | 265 | Skip this section and then come back if you don't understand some of the |
| 306 | later answers. | 266 | later answers. |
| 307 | 267 | ||
| 308 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? | 268 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? |
| 309 | 269 | ||
| 310 | C-x means press the `x' key while holding down the Control key. M-x means | 270 | C-x means press the `x' key while holding down the Control key. M-x |
| 311 | press the `x' key while holding down the Meta key. M-C-x means press the | 271 | means press the `x' key while holding down the Meta key. M-C-x means |
| 312 | `x' key while holding down both the Control key and the Meta key. C-M-a | 272 | press the `x' key while holding down both the Control key and the Meta |
| 313 | is a synonym for M-C-a. RET, LFD, DEL, ESC, and TAB respectively refer to | 273 | key. C-M-a is a synonym for M-C-a. RET, LFD, DEL, ESC, and TAB |
| 314 | pressing the Return, Linefeed (aka Newline), Delete, Escape, and Tab keys | 274 | respectively refer to pressing the Return, Linefeed (aka Newline), |
| 315 | and are equivalent to C-m, C-j, C-?, C-[, and C-i. SPC means press the | 275 | Delete, Escape, and Tab keys and are equivalent to C-m, C-j, C-?, C-[, |
| 316 | Space bar. | 276 | and C-i. SPC means press the Space bar. |
| 317 | 277 | ||
| 318 | I put any key sequence that is longer than one key (and some single-key | 278 | Key sequences longer than one key (and some single-key sequences) are |
| 319 | sequences) inside double quotes or on a line by itself. Any real spaces | 279 | inside double quotes or on lines by themselves. Any real spaces in such |
| 320 | in such a key sequence should be ignored; only SPC really means press the | 280 | a key sequence should be ignored; only SPC really means press the space |
| 321 | space key. | 281 | key. |
| 322 | 282 | ||
| 323 | The ASCII code sent by C-x (except for C-?) is the value that would be | 283 | The ASCII code sent by C-x (except for C-?) is the value that would be |
| 324 | sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be | 284 | sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be |
| 325 | from 0 to 31. The ASCII code sent by M-x is the sum of 128 and the ASCII | 285 | from 0 to 31. The ASCII code sent by M-x is the sum of 128 and the ASCII |
| 326 | code that would be sent by pressing just the `x' key. Essentially, the | 286 | code that would be sent by pressing just the `x' key. Essentially, the |
| 327 | Control key turns off bits 5 and 6 and the Meta key turns on bit 7. | 287 | Control key turns off bits 5 and 6 and the Meta key turns on bit 7. |
| 328 | 288 | ||
| 329 | For further information, see `Characters' and `Keys' in the online manual. | 289 | For further information, see `Characters' and `Keys' in the on-line |
| 330 | 290 | manual. | |
| 331 | NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a | 291 | |
| 292 | NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a | ||
| 332 | "control" key, since 127 has both bits 5 and 6 turned ON. Also, on very | 293 | "control" key, since 127 has both bits 5 and 6 turned ON. Also, on very |
| 333 | few keyboards does Control-? generate ASCII code 127. | 294 | few keyboards does Control-? generate ASCII code 127. |
| 334 | 295 | ||
| 335 | 2: What does "M-x command" mean? | 296 | 2: What does "M-x command" mean? |
| 336 | 297 | ||
| 337 | "M-x command" means type M-x, then type the name of the command, then | 298 | "M-x command" means type M-x, then type the name of the command, then |
| 338 | type RET. | 299 | type RET. |
| 339 | 300 | ||
| 340 | M-x (by default) invokes the command `execute-extended-command'. This | 301 | M-x (by default) invokes the command `execute-extended-command'. This |
| 341 | command allows you to run any Emacs command if you can remember the | 302 | command allows you to run any Emacs command if you can remember the |
| 342 | command's name. If you can't remember the command's name, you can type | 303 | command's name. If you can't remember the command's name, you can type |
| 343 | TAB and SPC for completion, and "?" for a list of possibilities. An Emacs | 304 | TAB and SPC for completion, "?" for a list of possibilities, and M-p and |
| 344 | "command" is any "interactive" Emacs function. | 305 | M-n to see previous commands entered. An Emacs "command" is any |
| 345 | 306 | "interactive" Emacs function. | |
| 307 | |||
| 346 | NOTE: Your system administrator may have bound other key sequences to | 308 | NOTE: Your system administrator may have bound other key sequences to |
| 347 | invoke execute-extended-command. A function key labeled `Do' is a good | 309 | invoke execute-extended-command. A function key labeled `Do' is a good |
| 348 | candidate for this. | 310 | candidate for this. |
| 349 | 311 | ||
| 350 | To run non-interactive Emacs functions, see question 53. | 312 | To run non-interactive Emacs functions, see question 51. |
| 351 | 313 | ||
| 352 | 3: How do I read topic XXX in the on-line manual? | 314 | 3: How do I read topic XXX in the on-line manual? |
| 353 | 315 | ||
| 354 | When I refer you to topic XXX in the on-line manual, you can read this | 316 | When we refer you to topic XXX in the on-line manual, you can read this |
| 355 | manual node inside Emacs (assuming nothing is broken) by typing this: | 317 | manual node inside Emacs (assuming nothing is broken) by typing this: |
| 356 | 318 | ||
| 357 | C-h i m emacs RET m XXX RET | 319 | C-h i m emacs RET m XXX RET |
| 358 | 320 | ||
| 359 | This invokes the Info facility. If you don't already know how to use | 321 | This invokes Info, the GNU hypertext documentation browser. If you don't |
| 360 | Info, type "?" from within Info. | 322 | already know how to use Info, type "?" from within Info. |
| 361 | 323 | ||
| 362 | If I refer you to topic XXX:YYY, you need to type this: | 324 | If we refer to topic XXX:YYY, type this: |
| 363 | 325 | ||
| 364 | C-h i m emacs RET m XXX RET m YYY RET | 326 | C-h i m emacs RET m XXX RET m YYY RET |
| 365 | 327 | ||
| 366 | WARNING: Your system administrator may not have installed the Info files, | 328 | WARNING: Your system administrator may not have installed the Info files, |
| 367 | or may have installed them properly. In this case you should complain. | 329 | or may have installed them improperly. In this case you should complain. |
| 368 | 330 | ||
| 369 | 4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? | 331 | 4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? |
| 370 | 332 | ||
| 371 | These are files that come with GNU Emacs. The GNU Emacs distribution is | 333 | These are files that come with GNU Emacs. The GNU Emacs distribution is |
| 372 | divided into subdirectories; the important ones are `etc', `lisp', and | 334 | divided into subdirectories; the important ones are `etc', `lisp', and |
| 373 | `src'. | 335 | `src'. |
| 374 | 336 | ||
| 375 | If you use GNU Emacs, but don't know where it is kept on your system, | 337 | If you use GNU Emacs, but don't know where it is kept on your system, |
| 376 | start Emacs, then type "C-h v exec-directory RET". The directory name | 338 | start Emacs, then type "C-h v data-directory RET". The directory name |
| 377 | displayed by this will be the full pathname of the installed `etc' | 339 | displayed by this will be the full pathname of the installed `etc' |
| 378 | directory. | 340 | directory. |
| 379 | 341 | ||
| 380 | Some of these files are available individually via FTP or e-mail, see | 342 | Some of these files are available individually via FTP or e-mail; see |
| 381 | question 20. All are available in the source distribution. | 343 | question 20. All are available in the source distribution. |
| 382 | 344 | ||
| 345 | WARNING: Your system administrator may have removed the src directory and | ||
| 346 | many files from the etc directory. | ||
| 347 | |||
| 383 | 5: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? | 348 | 5: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? |
| 384 | 349 | ||
| 385 | FSF == Free Software Foundation | 350 | FSF == Free Software Foundation |
| 386 | LPF == League for Programming Freedom | 351 | LPF == League for Programming Freedom |
| 387 | OSF == Open Software Foundation | 352 | OSF == Open Software Foundation |
| @@ -389,1032 +354,827 @@ Notation Used in FAQ | |||
| 389 | RMS == Richard Matthew Stallman | 354 | RMS == Richard Matthew Stallman |
| 390 | FTP == File Transfer Protocol | 355 | FTP == File Transfer Protocol |
| 391 | GPL == GNU General Public Licence | 356 | GPL == GNU General Public Licence |
| 392 | 357 | ||
| 393 | NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF opposes | 358 | NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF opposes |
| 394 | look-and-feel copyrights and software patents. The FSF aims to make high | 359 | look-and-feel copyrights and software patents. The FSF aims to make high |
| 395 | quality free software available for everyone. The OSF is a commercial | 360 | quality free software available for everyone. The OSF is a consortium of |
| 396 | organization which wants to provide an alternative, standardized version | 361 | computer vendors which develops commercial software for Unix systems. |
| 397 | of Unix not controlled by AT&T. | 362 | |
| 398 | |||
| 399 | NOTE: The word "free" in the title of the Free Software Foundation refers | 363 | NOTE: The word "free" in the title of the Free Software Foundation refers |
| 400 | to "freedom", not "zero dollars". Anyone can charge any price for | 364 | to "freedom," not "zero dollars." Anyone can charge any price for |
| 401 | GPL-covered software that they want to. However, in practice, the freedom | 365 | GPL-covered software that they want to. However, in practice, the |
| 402 | enforced by the GPL leads to low prices, because you can always get the | 366 | freedom enforced by the GPL leads to low prices, because you can always |
| 403 | software for less money from someone else, because everyone has the right | 367 | get the software for less money from someone else, because everyone has |
| 404 | to resell or give away GPL-covered software. | 368 | the right to resell or give away GPL-covered software. |
| 405 | |||
| 406 | 369 | ||
| 407 | 370 | ||
| 408 | General Questions | 371 | General Questions |
| 409 | 372 | ||
| 410 | 6: What is the LPF and why should I join it? | 373 | 6: What is the LPF? |
| 411 | 374 | ||
| 412 | The LPF opposes the expanding danger of software patents and look-and-feel | 375 | The LPF opposes the expanding danger of software patents and |
| 413 | copyrights. To get more information, feel free to contact the LPF via | 376 | look-and-feel copyrights. To get more information, feel free to contact |
| 414 | e-mail or otherwise. {You may also contact me, jbw@cs.bu.edu; I will be | 377 | the LPF via e-mail or otherwise. You may also contact Joe Wells |
| 415 | happy to talk with you about the LPF.} Here is the contact information: | 378 | <jbw@cs.bu.edu>; he will be happy to talk with you about the LPF. |
| 416 | 379 | ||
| 417 | E-mail address: league@prep.ai.mit.edu | 380 | You can find more information about the LPF in the file etc/LPF. More |
| 418 | Phone number: (617) 243-4091 | 381 | papers describing the LPF's views are available on the Internet and also |
| 419 | Postal address: | ||
| 420 | League for Programming Freedom | ||
| 421 | 1 Kendall Square, Number 143 | ||
| 422 | Post Office Box 9171 | ||
| 423 | Cambridge, MA 02139, USA | ||
| 424 | |||
| 425 | Papers describing the LPF's views are available on the internet and also | ||
| 426 | from the LPF: | 382 | from the LPF: |
| 427 | 383 | ||
| 428 | Anonymous FTP: | 384 | Anonymous FTP: |
| 429 | /prep.ai.mit.edu:/pub/lpf/ | 385 | /prep.ai.mit.edu:pub/lpf/ |
| 430 | /archive.cis.ohio-state.edu:pub/lpf/ | 386 | /archive.cis.ohio-state.edu:pub/lpf/ |
| 431 | Anonymous UUCP: | 387 | Anonymous UUCP: |
| 432 | osu-cis!~/lpf/* | 388 | osu-cis!~/lpf/* |
| 433 | 389 | ||
| 434 | 7: What is the real legal meaning of the GNU copyleft? | 390 | 7: What is the real legal meaning of the GNU copyleft? |
| 435 | 391 | ||
| 436 | The real legal meaning of the GNU General Public Licence (copyleft) is | 392 | The real legal meaning of the GNU General Public Licence (copyleft) will |
| 437 | however it is interpreted by a judge. There has never been a copyright | 393 | only be known if and when a judge rules on its validity and scope. There |
| 438 | infringement case involving the GPL to set any precedents. Please take any | 394 | has never been a copyright infringement case involving the GPL to set any |
| 439 | discussion regarding this issue to the newsgroup gnu.misc.discuss, which | 395 | precedents. Please take any discussion regarding this issue to the |
| 440 | was created to hold the extensive flame wars on the subject. | 396 | newsgroup gnu.misc.discuss, which was created to hold the extensive flame |
| 441 | 397 | wars on the subject. | |
| 398 | |||
| 442 | RMS writes: | 399 | RMS writes: |
| 443 | 400 | ||
| 444 | The legal meaning of the GNU copyleft is less important than the spirit, | 401 | The legal meaning of the GNU copyleft is less important than the |
| 445 | which is that Emacs is a free software project and that work pertaining | 402 | spirit, which is that Emacs is a free software project and that work |
| 446 | to Emacs should also be free software. "Free" means that all users have | 403 | pertaining to Emacs should also be free software. "Free" means that |
| 447 | the freedom to study, share, change and improve Emacs. To make sure | 404 | all users have the freedom to study, share, change and improve Emacs. |
| 448 | everyone has this freedom, pass along source code when you distribute | 405 | To make sure everyone has this freedom, pass along source code when you |
| 449 | any version of Emacs or a related program, and give the recipients the | 406 | distribute any version of Emacs or a related program, and give the |
| 450 | same freedom that you enjoyed. | 407 | recipients the same freedom that you enjoyed. |
| 451 | 408 | ||
| 452 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, | 409 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, |
| 453 | comp.emacs, etc.? | 410 | comp.emacs, etc.? |
| 454 | 411 | ||
| 455 | The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list. | 412 | The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list. |
| 456 | (See question 20 on how to get a copy.) For those which are gatewayed | 413 | (See question 20 on how to get a copy.) For those which are gatewayed |
| 457 | with newsgroups, it lists both the newsgroup name and the mailing list | 414 | with newsgroups, it lists both the newsgroup name and the mailing list |
| 458 | address. | 415 | address. |
| 459 | 416 | ||
| 460 | comp.emacs is for discussion of Emacs programs in general. This | 417 | comp.emacs is for discussion of Emacs programs in general. This includes |
| 461 | includes GNU Emacs along with various other implementations like JOVE, | 418 | GNU Emacs along with various other implementations like JOVE, MicroEmacs, |
| 462 | MicroEmacs, Freemacs, MG, Unipress, CCA, Epsilon, etc. | 419 | Freemacs, MG, Unipress, CCA, and Epsilon.. |
| 463 | 420 | ||
| 464 | Many people post GNU Emacs questions to comp.emacs because they don't | 421 | Many people post GNU Emacs questions to comp.emacs because they don't |
| 465 | receive any of the gnu.* newsgroups. Arguments have been made both for | 422 | receive any of the gnu.* newsgroups. Arguments have been made both for |
| 466 | and against posting GNU-Emacs-specific material to comp.emacs. You have | 423 | and against posting GNU-Emacs-specific material to comp.emacs. You have |
| 467 | to decide for yourself. | 424 | to decide for yourself. |
| 468 | 425 | ||
| 469 | Messages advocating "non-free" software are considered unacceptable on any | 426 | Messages advocating "non-free" software are considered unacceptable on |
| 470 | of the gnu.* newsgroups except for gnu.misc.discuss, which was created to | 427 | any of the gnu.* newsgroups except for gnu.misc.discuss, which was |
| 471 | hold the extensive flame-wars on the subject. "non-free" software | 428 | created to hold the extensive flame-wars on the subject. "non-free" |
| 472 | includes any software for which the end user can't freely modify the | 429 | software includes any software for which the end user can't freely modify |
| 473 | source code and exchange enhancements. Be careful to remove the gnu.* | 430 | the source code and exchange enhancements. Be careful to remove the |
| 474 | groups from the `Newsgroups:' line when posting a followup that recommends | 431 | gnu.* groups from the `Newsgroups:' line when posting a followup that |
| 475 | such software. | 432 | recommends such software. |
| 476 | 433 | ||
| 477 | gnu.emacs.bug is a place where bug reports appear, but avoid posting bug | 434 | gnu.emacs.bug is a place where bug reports appear, but avoid posting bug |
| 478 | reports to this newsgroup, instead see question 10. | 435 | reports to this newsgroup (see question 10). |
| 479 | 436 | ||
| 480 | 9: Where can I get old postings to gnu.emacs.help and other GNU groups? | 437 | 9: Where can I get old postings to gnu.emacs.help and other GNU groups? |
| 481 | 438 | ||
| 482 | The FSF has maintained archives of all of the GNU mailing lists for many | 439 | The FSF has maintained archives of all of the GNU mailing lists for many |
| 483 | years, although there may be some unintentional gaps in coverage. The | 440 | years, although there may be some unintentional gaps in coverage. The |
| 484 | archive is not particularly well organized or easy to retrieve individual | 441 | archive is not particularly well organized or easy to retrieve individual |
| 485 | postings from, but pretty much everything is there. | 442 | postings from, but pretty much everything is there. The archive is |
| 486 | 443 | available via anonymous ftp at | |
| 487 | Anonymous FTP: | 444 | |
| 488 | /prep.ai.mit.edu:/pub/gnu/MailingListArchives/ | 445 | /prep.ai.mit.edu:pub/gnu/MailingListArchives/ |
| 489 | 446 | ||
| 490 | There is a WAIS database named `comp.emacs' on wais.oit.unc.edu that | ||
| 491 | makes available the last few days of articles in comp.emacs. | ||
| 492 | |||
| 493 | 10: Where should I report bugs and other problems with GNU Emacs? | 447 | 10: Where should I report bugs and other problems with GNU Emacs? |
| 494 | 448 | ||
| 495 | The correct way to report GNU Emacs bugs is by e-mail to | 449 | The correct way to report GNU Emacs bugs is by e-mail to |
| 496 | bug-gnu-emacs@prep.ai.mit.edu. Anything sent here also appears in the | 450 | bug-gnu-emacs@prep.ai.mit.edu. Anything sent here also appears in the |
| 497 | newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit | 451 | newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit |
| 498 | the bug report. This way a reliable return address is available so you | 452 | the bug report. This way a reliable return address is available so you |
| 499 | can be contacted for further details. | 453 | can be contacted for further details. |
| 500 | 454 | ||
| 501 | RMS explains: | 455 | RMS explains: |
| 502 | 456 | ||
| 503 | Sending bug reports to help-gnu-emacs (which has the effect of posting | 457 | Sending bug reports to help-gnu-emacs (which has the effect of posting |
| 504 | on gnu.emacs.help) is undesirable because it takes the time of an | 458 | on gnu.emacs.help) is undesirable because it takes the time of an |
| 505 | unnecessarily large group of people, most of whom are just users and | 459 | unnecessarily large group of people, most of whom are just users and |
| 506 | have no idea how to fix these problem. bug-gnu-emacs reaches a much | 460 | have no idea how to fix these problem. bug-gnu-emacs reaches a much |
| 507 | smaller group of people who are more likely to know what to do and have | 461 | smaller group of people who are more likely to know what to do and have |
| 508 | expressed a wish to receive more messages about Emacs than the others. | 462 | expressed a wish to receive more messages about Emacs than the others. |
| 509 | 463 | ||
| 510 | However, RMS says there are circumstances when it is okay to post to | 464 | However, RMS says there are circumstances when it is okay to post to |
| 511 | gnu.emacs.help: | 465 | gnu.emacs.help: |
| 512 | 466 | ||
| 513 | If you have reported a bug and you don't hear about a possible fix, then | 467 | If you have reported a bug and you don't hear about a possible fix, |
| 514 | after a suitable delay (such as a week) it is okay to post on | 468 | then after a suitable delay (such as a week) it is okay to post on |
| 515 | gnu.emacs.help asking if anyone can help you. | 469 | gnu.emacs.help asking if anyone can help you. |
| 516 | 470 | ||
| 517 | If you are unsure whether you have a bug, RMS describes how to tell: | 471 | If you are unsure whether you have a bug, RMS describes how to tell: |
| 518 | 472 | ||
| 519 | ... if Emacs crashes, that is a bug. If Emacs gets compilation errors | 473 | ... if Emacs crashes, that is a bug. If Emacs gets compilation errors |
| 520 | while building, that is a bug. If Emacs crashes while building, that is | 474 | while building, that is a bug. If Emacs crashes while building, that |
| 521 | a bug. If Lisp code does not do what the documentation says it does, | 475 | is a bug. If Lisp code does not do what the documentation says it |
| 522 | that is a bug. | 476 | does, that is a bug. |
| 523 | 477 | ||
| 524 | 11: How do I unsubscribe to this mailing list? | 478 | 11: How do I unsubscribe to this mailing list? |
| 525 | 479 | ||
| 526 | If you are receiving a GNU mailing list named `XXX', you might be able | 480 | If you are receiving a GNU mailing list named `XXX', you might be able to |
| 527 | to unsubscribe to it by sending a request to the address | 481 | unsubscribe to it by sending a request to the address |
| 528 | `XXX-request@prep.ai.mit.edu'. However, this will not work if you are | 482 | `XXX-request@prep.ai.mit.edu'. However, this will not work if you are |
| 529 | not listed on the main mailing list, but instead receive the mail from a | 483 | not listed on the main mailing list, but instead receive the mail from a |
| 530 | distribution point. In that case, you will have to track down at which | 484 | distribution point. In that case, you will have to track down at which |
| 531 | distribution point you are listed. Inspecting the `Received:' headers | 485 | distribution point you are listed. Inspecting the `Received:' headers on |
| 532 | on the mail messages may help, along with liberal use of the `EXPN' or | 486 | the mail messages may help, along with liberal use of the `EXPN' or |
| 533 | `VRFY' sendmail commands through `telnet <site-address> smtp'. Ask your | 487 | `VRFY' sendmail commands through `telnet <site-address> smtp'. Ask your |
| 534 | postmaster for help. | 488 | postmaster for help. |
| 535 | 489 | ||
| 536 | 12: What is the current address of the FSF? | 490 | 12: What is the current address of the FSF? |
| 537 | 491 | ||
| 538 | E-mail address: gnu@prep.ai.mit.edu | 492 | E-mail address: gnu@prep.ai.mit.edu |
| 539 | Phone number: (617) 876-3296 | 493 | Phone number: (617) 876-3296 |
| 540 | Postal address: | 494 | Postal address: |
| 541 | Free Software Foundation, Inc. | 495 | Free Software Foundation, Inc. |
| 542 | 675 Massachusetts Avenue | 496 | 675 Massachusetts Avenue |
| 543 | Cambridge, MA 02139, USA | 497 | Cambridge, MA 02139, USA |
| 544 | 498 | ||
| 499 | For details on how to order, see the file etc/ORDERS. | ||
| 545 | 500 | ||
| 546 | 501 | ||
| 547 | On-line Help, Printed Manuals, Other Sources of Help | 502 | On-line Help, Printed Manuals, Other Sources of Help |
| 548 | 503 | ||
| 549 | 13: I'm just starting GNU Emacs; how do I do basic editing? | 504 | 13: I'm just starting GNU Emacs; how do I do basic editing? |
| 550 | 505 | ||
| 551 | Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is | 506 | Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is how |
| 552 | how to enter the help system. | 507 | to enter the help system. |
| 553 | 508 | ||
| 554 | WARNING: Your system administrator may have changed C-h to act like DEL to | 509 | WARNING: Your system administrator may have changed C-h to act like DEL |
| 555 | deal local keyboards. You can use M-x help-for-help instead to invoke | 510 | to deal with local keyboards. You can use M-x help-for-help instead to |
| 556 | help. To discover what key (if any) invokes help on your system, type | 511 | invoke help. To discover what key (if any) invokes help on your system, |
| 557 | "M-x where-is RET help-for-help RET". This will print a comma-separated | 512 | type "M-x where-is RET help-for-help RET". This will print a |
| 558 | list of key sequences in the echo area. Ignore the last character in each | 513 | comma-separated list of key sequences in the echo area. Ignore the last |
| 559 | key sequence listed. Each of the resulting key sequences invokes help. | 514 | character in each key sequence listed. Each of the resulting key |
| 560 | 515 | sequences invokes help. | |
| 561 | NOTE: Emacs's help facility works best if help is invoked by a single key | 516 | |
| 562 | whose value should be stored in the variable help-char. Andrew | 517 | NOTE: Emacs help works best if it is invoked by a single key whose value |
| 563 | Arensburger <arensb@kong.gsfc.nasa.gov> wrote a patch that allows the help | 518 | should be stored in the variable help-char. Andrew Arensburger |
| 564 | facility to work properly when invoked by multiple character sequences. | 519 | <arensb@kong.gsfc.nasa.gov> wrote a patch that allows the help facility |
| 565 | 520 | to work properly when invoked by multiple character sequences. | |
| 521 | |||
| 566 | 14: How do I find out how to do something in GNU Emacs? | 522 | 14: How do I find out how to do something in GNU Emacs? |
| 567 | 523 | ||
| 568 | There are several methods for finding out how to do things in Emacs. | 524 | There are several methods for finding out how to do things in Emacs. |
| 569 | 525 | ||
| 570 | * The complete text of the Emacs manual is available online via the Info | 526 | * The complete text of the Emacs manual is available on-line via the Info |
| 571 | hypertext reader. Type "C-h i" to invoke Info. | 527 | hypertext reader. Type "C-h i" to invoke Info. |
| 572 | 528 | ||
| 573 | * You can order a hardcopy of the manual from the FSF. See question 15. | 529 | * You can order a hardcopy of the manual from the FSF. See question 15. |
| 574 | 530 | ||
| 575 | * You can get a printed reference card listing commands and keys to invoke | 531 | * You can get a printed reference card listing commands and keys to |
| 576 | them. You can order one from the FSF for $1 (or 10 for $5), or you can | 532 | invoke them. You can order one from the FSF for $1 (or 10 for $5), or |
| 577 | print your own from the etc/refcard.tex file in the Emacs distribution. | 533 | you can print your own from the etc/refcard.tex or etc/refcard.ps files |
| 578 | {Are PostScript versions of this available for FTP?} | 534 | in the Emacs distribution. |
| 579 | 535 | ||
| 580 | * You can list all of the commands whose names contain a certain word | 536 | * You can list all of the commands whose names contain a certain word |
| 581 | (actually which match a regular expression) using "C-h a" | 537 | (actually which match a regular expression) using "C-h a" (M-x |
| 582 | (M-x command-apropos). | 538 | command-apropos). |
| 583 | 539 | ||
| 584 | * You can list all of the functions and variables whose names contain a | 540 | * You can list all of the functions and variables whose names contain a |
| 585 | certain word using M-x apropos. | 541 | certain word using M-x apropos. |
| 586 | 542 | ||
| 587 | * There are many other commands in Emacs for getting help and information. | 543 | * There are many other commands in Emacs for getting help and |
| 588 | To get a list of these commands, type "C-h C-h C-h". | 544 | information. To get a list of these commands, type "C-h C-h C-h". |
| 589 | 545 | ||
| 590 | NOTE: You may find that command-apropos and apropos are extremely slow | ||
| 591 | on your system. This will be fixed in Emacs 19. If you can't wait that | ||
| 592 | long, there is a fast-apropos.el file available in the Emacs Lisp | ||
| 593 | Archive (see question 89) that contains the fix. | ||
| 594 | |||
| 595 | 15: How do I get a printed copy of the GNU Emacs manual? | 546 | 15: How do I get a printed copy of the GNU Emacs manual? |
| 596 | 547 | ||
| 597 | You can order a printed copy of the GNU Emacs manual from the FSF for | 548 | You can order a printed copy of the GNU Emacs manual from the FSF. For |
| 598 | $20. For 6 or more manuals the price is $13 each. The price may be | 549 | details see the file etc/ORDERS. |
| 599 | tax-deductible as a business expense. | 550 | |
| 600 | |||
| 601 | The full TeX source for the manual also comes in the `man' directory of | 551 | The full TeX source for the manual also comes in the `man' directory of |
| 602 | the Emacs distribution, if you're daring enough to try to print out this | 552 | the Emacs distribution, if you're daring enough to try to print out this |
| 603 | 300 page manual yourself (see question 18). | 553 | 420 page manual yourself (see question 18). |
| 604 | 554 | ||
| 605 | If you absolutely have to print your own copy, and you don't have TeX, you | 555 | If you absolutely have to print your own copy, and you don't have TeX, |
| 606 | can get a PostScript version via anonymous FTP: | 556 | you can get a PostScript version via anonymous FTP: |
| 607 | 557 | ||
| 608 | /cs.ubc.ca:pub/archive/gnu/manuals_ps/emacs-18.57.ps.Z ! | 558 | /ftp.cs.ubc.ca:pub/archive/gnu/manuals_ps/emacs-19.21.ps.gz |
| 609 | 559 | ||
| 610 | which site requests that you please CONFINE ANY MAJOR FTPING TO LATE | 560 | This site requests that you please CONFINE ANY MAJOR FTPING TO LATE |
| 611 | EVENINGS OR EARLY MORNINGS OUR TIME (pacific time zone, GMT-8)). A DVI | 561 | EVENINGS OR EARLY MORNINGS OUR TIME (Pacific time zone, GMT-8). A DVI |
| 612 | version is also available via FTP: | 562 | version is also available via FTP: |
| 613 | 563 | ||
| 614 | /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.Z | 564 | /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.gz |
| 615 | 565 | ||
| 616 | If you don't have TeX you can convert the Texinfo sources into | 566 | and all prep mirrors (See question 80 for a list). |
| 617 | {t,n,ps}roff format with the `texi2roff' program, which is available via | 567 | |
| 618 | anonymous FTP: | 568 | A WWW version of the Emacs manual is available on the World-Wide Web at |
| 619 | 569 | URL | |
| 620 | /archive.cis.ohio-state.edu:pub/gnu/texi2roff/texi2roff.shar.Z | 570 | |
| 621 | 571 | http://asis01.cern.ch/infohtml/emacs/emacs.html | |
| 622 | See also question 14 for how to view the manual online. | 572 | |
| 623 | 573 | See also question 14 for how to view the manual on-line. | |
| 574 | |||
| 624 | 16: Where can I get documentation on GNU Emacs Lisp? | 575 | 16: Where can I get documentation on GNU Emacs Lisp? |
| 625 | 576 | ||
| 626 | Within Emacs, you can type "C-h f" to get the documentation for a | 577 | Within Emacs, you can type "C-h f" to get the documentation for a |
| 627 | function, "C-h v" for a variable. | 578 | function, "C-h v" for a variable. |
| 628 | 579 | ||
| 629 | For more information, obtain the GNU Emacs Lisp Reference Manual for Emacs | 580 | For more information, obtain the GNU Emacs Lisp Reference Manual. |
| 630 | 18 under Unix. It is available from the FSF for $50 (or 5 for $200). The | 581 | Details on ordering it from FSF are in file etc/ORDERS. |
| 631 | latest revision available for FTP is edition 1.03 dated 28 January 1991. | 582 | |
| 632 | 583 | For on-line use, a set of pregenerated Info files is available with the | |
| 633 | For online use, a set of pregenerated Info files is available with the | 584 | Texinfo source for the Emacs Lisp manual via anonymous FTP at |
| 634 | Texinfo source for the Emacs Lisp manual via anonymous FTP: | 585 | |
| 635 | 586 | /prep.ai.mit.edu:pub/gnu/elisp-manual-19-2.3.tar.gz | |
| 636 | /archive.cis.ohio-state.edu:pub/gnu/emacs/ | 587 | |
| 637 | /prep.ai.mit.edu:pub/gnu/elisp-manual-1.03.tar.Z | 588 | and all prep mirrors (See question 80 for a list). |
| 638 | 589 | ||
| 639 | (You can also create the Info files from the Texinfo source.) See | 590 | You can also create the Info files from the Texinfo source. See question |
| 640 | question 17 for details on how to install these files online. | 591 | 17 for details on how to install these files on-line. |
| 641 | 592 | ||
| 642 | If you are daring enough to try to print this 550 page manual out | 593 | A WWW version of the Emacs Lisp Reference Manual is available at |
| 643 | yourself, for instructions see question 18. | 594 | |
| 644 | 595 | http://www.cs.indiana.edu/usr/local/www/elisp/lispref/elisp_toc.html | |
| 645 | Also, as a popular USENET saying goes, "Use the Force, Read the Source". | 596 | |
| 646 | 597 | An introduction to Emacs Lisp is available at | |
| 598 | |||
| 599 | http://www.cs.indiana.edu/usr/local/www/elisp/elisp-intro.html | ||
| 600 | |||
| 601 | Of course, you can also print this 760-page manual yourself. For | ||
| 602 | instructions on how to do this, see question 18. | ||
| 603 | |||
| 647 | 17: How do I install a piece of Texinfo documentation? | 604 | 17: How do I install a piece of Texinfo documentation? |
| 648 | 605 | ||
| 649 | First create Info files from the Texinfo files with the `makeinfo' | 606 | First, you must turn the Texinfo files into Info files. You may do this |
| 650 | program. makeinfo is available as part of the latest Texinfo package: | 607 | within Emacs, using "M-x texinfo-format-buffer", or with the standalone |
| 651 | 608 | `makeinfo' program, available as part of the latest Texinfo package via | |
| 652 | /prep.ai.mit.edu:pub/gnu/texinfo-2.14.tar.Z | 609 | anonymous ftp from: |
| 653 | 610 | ||
| 611 | /prep.ai.mit.edu:pub/gnu/texinfo-3.1.tar.gz | ||
| 612 | |||
| 613 | and all prep mirrors (See question 80 for a list). | ||
| 614 | |||
| 654 | For information about the Texinfo format, read the Texinfo manual which | 615 | For information about the Texinfo format, read the Texinfo manual which |
| 655 | comes with Emacs. This manual also comes installed in Info format, so you | 616 | comes with Emacs. This manual also comes installed in Info format, so |
| 656 | can read it online. | 617 | you can read it on-line. |
| 657 | 618 | ||
| 658 | Neither texinfo-format-buffer nor the makeinfo program install the | 619 | Neither texinfo-format-buffer nor makeinfo installs the resulting Info |
| 659 | resulting Info files in Emacs's Info tree. To install Info files: | 620 | files in Emacs's Info tree. To install Info files: |
| 660 | 621 | ||
| 661 | 1. Move the files to the `info' directory in the installed Emacs | 622 | 1. Move the files to the `info' directory in the installed Emacs |
| 662 | distribution. See question 4 if you don't know where that | 623 | distribution. See question 4 if you don't know where that is. |
| 663 | is. | 624 | |
| 664 | |||
| 665 | 2. Edit the file info/dir in the installed Emacs distribution, and add a | 625 | 2. Edit the file info/dir in the installed Emacs distribution, and add a |
| 666 | line for the top level node in the Info package that you are | 626 | line for the top level node in the Info package that you are |
| 667 | installing. Follow the examples are already in this file. The format | 627 | installing. Follow the examples already in this file. The format is: |
| 668 | is: | 628 | |
| 669 | |||
| 670 | * Topic: (relative-pathname). Short description of topic. | 629 | * Topic: (relative-pathname). Short description of topic. |
| 671 | 630 | ||
| 672 | If you want to install Info files and you don't have the necessary | 631 | If you want to install Info files and you don't have the necessary |
| 673 | privileges, you have several options: | 632 | privileges, you have several options: |
| 674 | 633 | ||
| 675 | * Info files don't actually need to be installed before being used. You | 634 | * Info files don't actually need to be installed before being used. You |
| 676 | can feed a file name to the Info-goto-node command (invoked by pressing | 635 | can feed a file name to the Info-goto-node command (invoked by pressing |
| 677 | "g" in Info mode) by typing the name of the file in parentheses. This | 636 | "g" in Info mode) by typing the name of the file in parentheses. This |
| 678 | goes to the node named `Top' in that file. For example, to view a Info | 637 | goes to the node named `Top' in that file. For example, to view a Info |
| 679 | file named `XXX' in your home directory, you can type this: | 638 | file named `XXX' in your home directory, you can type this: |
| 680 | 639 | ||
| 681 | C-h i g (~/XXX) RET | 640 | C-h i g (~/XXX) RET |
| 682 | 641 | ||
| 683 | * You can create your own Info directory. You can tell Emacs where the | 642 | * You can create your own Info directory. You can tell Emacs where the |
| 684 | Info directory is by setting the value of the variable Info-directory | 643 | Info directory is by adding its pathname to the value of the variable |
| 685 | to its pathname. For example, to use a private Info directory which | 644 | Info-default-directory-list. For example, to use a private Info |
| 686 | is a subdirectory of your home directory named `Info', you could do | 645 | directory which is a subdirectory of your home directory named `Info', |
| 687 | this: | 646 | you could put this in your .emacs file: |
| 688 | 647 | ||
| 689 | (setq Info-directory (expand-file-name "~/Info")) | 648 | (setq Info-default-directory-list |
| 690 | 649 | (cons "~/Info" Info-default-directory-list)) | |
| 691 | You will need a top-level Info file named `dir' in this directory. | 650 | |
| 692 | You can include the system-wide Info directory in your private Info | 651 | You will need a top-level Info file named `dir' in this directory which |
| 693 | directory with symbolic links or by copying it. | 652 | has everything the system dir file has in it, except it should list |
| 694 | 653 | only entries for Info files in that directory. You might not need it | |
| 695 | * You can use an enhanced version of lisp/info.el that handles multiple | 654 | if all files in this directory were referenced by other `dir' files. |
| 696 | Info directories. Then you can more easily use a mix of private and | 655 | The node lists from all dir files in Info-default-directory-list are |
| 697 | shared Info files. Dave Gillespie <daveg@synaptics.com, | 656 | merged by the Info system. |
| 698 | daveg@csvax.cs.caltech.edu> has written one such enhancement and I | 657 | |
| 699 | believe there are others. Dave's info.el also handles compressed Info | ||
| 700 | files. | ||
| 701 | |||
| 702 | Anonymous FTP: | ||
| 703 | /archive.cis.ohio-state.edu:modes/info.el.Z | ||
| 704 | /ftp.uu.net:languages/emacs-lisp/modes/info.el.Z ! | ||
| 705 | |||
| 706 | According to Jay Bourland <jayb@math.stanford.edu>, a version of Dave's | ||
| 707 | info.el comes with `xinfo' (see question 19). | ||
| 708 | |||
| 709 | 18: How do I print a Texinfo file? | 658 | 18: How do I print a Texinfo file? |
| 710 | 659 | ||
| 711 | NOTE: You can't get nice printed output from Info files; you must still | 660 | NOTE: You can't get nice printed output from Info files; you must still |
| 712 | have the original Texinfo source file for the manual you want to print. | 661 | have the original Texinfo source file for the manual you want to print. |
| 713 | 662 | ||
| 714 | 1. Make sure the first line of the Texinfo file looks like this: | 663 | 1. Make sure the first line of the Texinfo file looks like this: |
| 715 | 664 | ||
| 716 | \input texinfo | 665 | \input texinfo |
| 717 | 666 | ||
| 718 | You may need to alter `texinfo' to the full pathname of the | 667 | You may need to alter `texinfo' to the full pathname of the |
| 719 | texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy | 668 | texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy |
| 720 | or link it into the current directory). | 669 | or link it into the current directory). |
| 721 | 670 | ||
| 722 | 2. tex XXX.texinfo | 671 | 2. tex XXX.texinfo |
| 723 | 672 | ||
| 724 | 3. texindex XXX.?? | 673 | 3. texindex XXX.?? |
| 725 | 674 | ||
| 726 | The `texindex' program comes with Emacs as man/texindex.c. | 675 | The `texindex' program comes with Emacs as man/texindex.c. |
| 727 | 676 | ||
| 728 | 4. tex XXX.texinfo | 677 | 4. tex XXX.texinfo |
| 729 | 678 | ||
| 730 | 5. Print the DVI file XXX.dvi in the normal way for printing DVI files | 679 | 5. Print the DVI file XXX.dvi in the normal way for printing DVI files at |
| 731 | at your site. | 680 | your site. |
| 732 | 681 | ||
| 733 | To get more general instructions, retrieve the latest Texinfo package | 682 | To get more general instructions, retrieve the latest Texinfo package |
| 734 | mentioned in question 17. | 683 | mentioned in question 17. |
| 735 | 684 | ||
| 736 | 19: Can I view Info files without using GNU Emacs? | 685 | 19: Can I view Info files without using GNU Emacs? |
| 737 | 686 | ||
| 738 | Yes, the `info', `xinfo', and `ivinfo' programs do this. info uses | 687 | Yes, the `info', `xinfo', `tkinfo', and `ivinfo' programs do this. Info |
| 739 | curses, xinfo uses standard X11 libraries, and ivinfo uses InterViews. | 688 | uses curses, xinfo uses standard X11 libraries, tkinfo uses Tk/Tcl and |
| 740 | You can get info as part of the latest Texinfo package (see question | 689 | ivinfo uses InterViews. You can get Info as part of the latest Texinfo |
| 741 | 17). xinfo is available separately: | 690 | package (see question 17). xinfo is available separately: |
| 742 | 691 | ||
| 743 | /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.Z | 692 | /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.gz |
| 744 | /export.lcs.mit.edu: | 693 | |
| 745 | 694 | and all prep mirrors (See question 80 for a list). | |
| 695 | |||
| 746 | ivinfo is available in a comp.sources.misc archive or from Tom Horsley | 696 | ivinfo is available in a comp.sources.misc archive or from Tom Horsley |
| 747 | <tom@ssd.csd.harris.com>. For ivinfo, you need Stanford's InterViews C++ | 697 | <tom@ssd.csd.harris.com>. tkinfo is available by anonymous ftp from: |
| 748 | X library, available via anonymous FTP (interviews.stanford.edu). | 698 | |
| 749 | 699 | /ptolemy.eecs.berkeley.edu:pub/misc/tkinfo-0.6.tar.Z | |
| 700 | /ftp.aud.alcatel.com:tcl/code/tkinfo-0.6.tar.gz | ||
| 701 | |||
| 702 | For ivinfo, you need Stanford's InterViews C++ X library, available via | ||
| 703 | anonymous ftp from interviews.stanford.edu. (A FAQ on InterViews is | ||
| 704 | available at that site in pub/FAQ.) | ||
| 705 | |||
| 750 | 20: What informational files are available for GNU Emacs? | 706 | 20: What informational files are available for GNU Emacs? |
| 751 | 707 | ||
| 752 | This isn't a frequently asked question, but it should be! A variety of | 708 | This isn't a frequently asked question, but it should be! A variety of |
| 753 | informational files about GNU Emacs and relevant aspects of the GNU | 709 | informational files about GNU Emacs and relevant aspects of the GNU |
| 754 | project are available for you to read. | 710 | project are available for you to read. |
| 755 | 711 | ||
| 756 | The following files are available in the `etc' directory of the GNU | 712 | The following files are available in the `etc' directory of the GNU Emacs |
| 757 | Emacs distribution, and also the latest versions are available | 713 | distribution, and also the latest versions are available individually via |
| 758 | individually via anonymous FTP (prep.ai.mit.edu:/pub/gnu/GNUinfo/): | 714 | anonymous FTP (prep.ai.mit.edu:pub/gnu/GNUinfo/): |
| 759 | 715 | ||
| 760 | APPLE -- Why the FSF doen't support GNU Emacs on Apple computers | 716 | APPLE -- Why the FSF doesn't support GNU Emacs on Apple computers |
| 761 | DISTRIB -- GNU Emacs Availability Information, | 717 | DISTRIB -- GNU Emacs Availability Information, |
| 762 | including the popular "Free Software Foundation Order Form" | 718 | including the popular "Free Software Foundation Order Form" |
| 763 | FTP -- How to get GNU Software by Internet FTP or by UUCP | 719 | FTP -- How to get GNU Software by Internet FTP or by UUCP |
| 764 | GNU -- The GNU Manifesto | 720 | GNU -- The GNU Manifesto |
| 765 | INTERVIEW -- Richard Stallman discusses his public-domain | 721 | INTERVIEW -- Richard Stallman discusses his public-domain |
| 766 | UNIX-compatible software system | 722 | UNIX-compatible software system with BYTE editors |
| 767 | with BYTE editors | ||
| 768 | MACHINES -- Status of GNU Emacs on Various Machines and Systems | 723 | MACHINES -- Status of GNU Emacs on Various Machines and Systems |
| 769 | MAILINGLISTS -- GNU Project Electronic Mailing Lists | 724 | MAILINGLISTS -- GNU Project Electronic Mailing Lists |
| 770 | SERVICE -- GNU Service Directory | 725 | SERVICE -- GNU Service Directory |
| 771 | SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" | 726 | SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" |
| 772 | 727 | ||
| 773 | These files are available in the `etc' directory of the GNU Emacs | 728 | These files are available in the `etc' directory of the GNU Emacs |
| 774 | distribution: | 729 | distribution: |
| 775 | 730 | ||
| 776 | DIFF -- Differences between GNU Emacs and Twenex Emacs | ||
| 777 | CCADIFF -- Differences between GNU Emacs and CCA Emacs | ||
| 778 | GOSDIFF -- Differences between GNU Emacs and Gosling (Unipress??) Emacs | ||
| 779 | COPYING -- GNU Emacs General Public License | 731 | COPYING -- GNU Emacs General Public License |
| 780 | NEWS -- GNU Emacs News, a history of user-visible changes | 732 | NEWS -- GNU Emacs news, a history of user-visible changes |
| 781 | LPF -- Why you should join the League for Programming Freedom | 733 | LPF -- Why you should join the League for Programming Freedom |
| 782 | FAQ -- GNU Emacs Frequently Asked Questions (You're reading it) | 734 | FAQ -- GNU Emacs Frequently Asked Questions (You're reading it) |
| 783 | OPTIONS -- a complete explanation of startup option handling | 735 | |
| 784 | 736 | These files are available via anonymous FTP (prep.ai.mit.edu:pub/gnu/): | |
| 785 | These files are available via anonymous FTP (prep.ai.mit.edu:/pub/gnu/): | 737 | |
| 786 | |||
| 787 | tasks -- GNU Task List | 738 | tasks -- GNU Task List |
| 788 | standards.text -- GNU Coding Standards | 739 | standards.text -- GNU Coding Standards |
| 789 | 740 | ||
| 790 | In addition, all of the above files are available directly from the FSF | 741 | In addition, all of the above files are available directly from the FSF |
| 791 | via e-mail. Of course, please try to get them from a local source | 742 | via e-mail. Of course, please try to get them from a local source first |
| 792 | first. | 743 | (See question 80 for a list). |
| 793 | 744 | ||
| 794 | These additional files are available from the FSF via e-mail: | 745 | These additional files are available from the FSF via e-mail: |
| 795 | 746 | ||
| 796 | * GNU's Bulletin, June, 1991 -- this file includes: | 747 | * GNU's Bulletin, January 1994 |
| 797 | GNU'S Who | 748 | GNU's Who |
| 798 | What Is the Free Software Foundation? | 749 | GNU's Bulletin |
| 799 | What Is Copyleft? | 750 | What Is the Free Software Foundation? |
| 800 | A Small Way to Help Free Software | 751 | What Is Copyleft? |
| 801 | GNUs Flashes (important recent developments for project GNU) | 752 | Donations Translate Into Free Software |
| 802 | Free Software Support (and how to get it!) | 753 | Cygnus Matches Donations! |
| 803 | Copyrighted Programming Languages | 754 | GNUs Flashes |
| 804 | AT&T Threatens Users of X Windows (and other software patent threats) | 755 | What Is the LPF? |
| 805 | Project Gutenberg | 756 | News from the LPF |
| 806 | GNU Project Status Report | 757 | Free Software Support |
| 807 | GNU in Japan | 758 | Project GNU Wish List |
| 808 | GNU Wish List | 759 | Towards a New Strategy of OS Design |
| 809 | Help Keep Government Software Free | 760 | Part 1: A More Usable Approach to OS Design |
| 810 | GNU Software Available Now | 761 | Part 2: A Look at Some of the Hurd's Beasts |
| 811 | Contents of the Emacs Tape | 762 | Second Annual GNU Seminar in Japan |
| 812 | Contents of the Compiler Tape | 763 | GNU and other Free Software in Japan |
| 813 | Contents of the X11 Tapes | 764 | Freely Available Texts |
| 814 | VMS Emacs and Compiler Tapes | 765 | OCEAN Integrated-Circuit Design System |
| 815 | GNU Documentation | 766 | Hundred Acre Consulting Expands |
| 816 | How to Get GNU Software | 767 | Project GNU Status Report |
| 817 | Free Software for Microcomputers | 768 | GNU Documentation |
| 818 | GNU Software on Apple computers | 769 | GNU Software Available Now |
| 819 | GNU Software on the Amiga | 770 | Source Code CD-ROM |
| 820 | GNU Software on the Atari | 771 | Compiler Tools Binaries CD-ROM |
| 821 | GNUish MS-DOS project | 772 | Tape & CD-ROM Subscription Service |
| 822 | Freemacs, an Extensible Editor for MS-DOS | 773 | How to Get GNU Software |
| 823 | GNU in Japan | 774 | The Deluxe Distribution |
| 824 | FSF Order Form | 775 | MS-DOS Distribution |
| 825 | Thank GNUs | 776 | Free Software for Microcomputers |
| 777 | FSF T-shirt | ||
| 778 | Thank GNUs | ||
| 779 | Free Software Foundation Order Form | ||
| 826 | * Legal issues about contributing code to GNU | 780 | * Legal issues about contributing code to GNU |
| 827 | * GNU Project Status Report | 781 | * GNU Project Status Report |
| 828 | 782 | ||
| 829 | A collection of past GNU's Bulletins is available via anonymous FTP: | 783 | A collection of past GNU's Bulletins is available via anonymous FTP from: |
| 830 | 784 | ||
| 831 | /ftp.funet.fi:pub/gnu/Bulletins/ | 785 | /ftp.funet.fi:pub/gnu/Bulletins/ |
| 832 | 786 | ||
| 787 | The latest bulletin is available on the World-Wide Web at URL: | ||
| 788 | |||
| 789 | http://info.desy.de/gnu/www/gnu_bulletin_9401/gnu_bulletin_9401_toc.html | ||
| 790 | |||
| 833 | 21: Where can I get help in installing GNU Emacs? | 791 | 21: Where can I get help in installing GNU Emacs? |
| 834 | 792 | ||
| 835 | Look in etc/SERVICE for names of companies and individuals who will sell | 793 | Look in etc/SERVICE for names of companies and individuals who will sell |
| 836 | you this type of service. An up-to-date version of the SERVICE file is | 794 | you this type of service. An up-to-date version of the SERVICE file is |
| 837 | available on prep.ai.mit.edu (also see question 20). | 795 | available on prep.ai.mit.edu (also see question 20). |
| 838 | 796 | ||
| 797 | You might also try the help-gnu-emacs mailing list, which is also known | ||
| 798 | as the gnu.emacs.help newsgroup, although many installation questions can | ||
| 799 | easily be answered by looking at the PROBLEMS file (in the top-level | ||
| 800 | directory when you unpack the Emacs source). | ||
| 801 | |||
| 839 | 22: Where can I get the latest version of this document (the FAQ list)? | 802 | 22: Where can I get the latest version of this document (the FAQ list)? |
| 840 | 803 | ||
| 841 | The GNU Emacs FAQ is available in several ways: | 804 | The GNU Emacs FAQ is available in several ways: |
| 842 | 805 | ||
| 843 | * Via USENET. If you can read news, the FAQ should be available in your | 806 | * Via USENET. If you can read news, the FAQ should be available in your |
| 844 | news spool, in both the gnu.emacs.help and comp.emacs newsgroups. Every | 807 | news spool, in both the gnu.emacs.help and comp.emacs newsgroups. |
| 845 | news reader of which I know will allow you to read any news article that | 808 | Every news reader should allow you to read any news article that is |
| 846 | is still in the news spool, even if you have read the article before. | 809 | still in the news spool, even if you have read the article before. You |
| 847 | You may need to read the instructions for your news reader to discover | 810 | may need to read the instructions for your news reader to discover how |
| 848 | how to do this. In `rn', this command will do this for you at the | 811 | to do this. In `rn', this command will do this for you at the article |
| 849 | article selection level: | 812 | selection level: |
| 850 | 813 | ||
| 851 | ?GNU Emacs FAQ?rc:m | 814 | ?GNU Emacs FAQ?rc:m |
| 852 | 815 | ||
| 853 | In GNUS, you should type "C-u G" from the *Subject* buffer or "C-u SPC" | 816 | In Gnus, you should type "C-u c-x c-s" from the *Summary* buffer or |
| 854 | from the *Newsgroup* buffer to view all articles in a newsgroup. | 817 | "C-u SPC" from the *Newsgroup* buffer to view all articles in a |
| 855 | 818 | newsgroup. | |
| 856 | The FAQ articles' message IDs are: | 819 | |
| 857 | |||
| 858 | <GNU-Emacs-FAQ-0.1993.05.04.025218@rice.edu> ! | ||
| 859 | <GNU-Emacs-FAQ-1.1993.05.04.025218@rice.edu> ! | ||
| 860 | <GNU-Emacs-FAQ-2.1993.05.04.025218@rice.edu> ! | ||
| 861 | <GNU-Emacs-FAQ-3.1993.05.04.025218@rice.edu> ! | ||
| 862 | <GNU-Emacs-FAQ-4.1993.05.04.025218@rice.edu> ! | ||
| 863 | <GNU-Emacs-FAQ-5.1993.05.04.025218@rice.edu> ! | ||
| 864 | |||
| 865 | If you are viewing this in the GNUS *Article* buffer, you can move point | ||
| 866 | within one of the above message IDs and type "r" to fetch the referenced | ||
| 867 | article. Type "o" in the *Article* buffer to restore the previous | ||
| 868 | contents. If this text is not in the GNUS *Article* buffer, use M-r | ||
| 869 | from the *Subject* buffer instead. | ||
| 870 | |||
| 871 | If the FAQ articles have expired and been deleted from your news spool, | 820 | If the FAQ articles have expired and been deleted from your news spool, |
| 872 | it might (or might not) do some good to complain to your news | 821 | it might (or might not) do some good to complain to your news |
| 873 | administrator, because the most recent FAQ should not expire before | 822 | administrator, because the most recent FAQ should not expire before for |
| 874 | July 3, 1993. ! | 823 | a while. |
| 875 | 824 | ||
| 876 | * Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP | 825 | * Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP |
| 877 | 826 | from the-tech.mit.edu, in ~ftp/pub/GNU-Emacs/. | |
| 878 | /rtfm.mit.edu:pub/usenet/news.answers/GNU-Emacs-FAQ/ part* | 827 | |
| 879 | |||
| 880 | * Via e-mail. You can send the following magical incantation in the body | ||
| 881 | of a message to mail-server@rtfm.mit.edu: | ||
| 882 | |||
| 883 | send usenet/news.answers/GNU-Emacs-FAQ/part0 | ||
| 884 | send usenet/news.answers/GNU-Emacs-FAQ/part1 | ||
| 885 | send usenet/news.answers/GNU-Emacs-FAQ/part2 | ||
| 886 | send usenet/news.answers/GNU-Emacs-FAQ/part3 | ||
| 887 | send usenet/news.answers/GNU-Emacs-FAQ/part4 | ||
| 888 | send usenet/news.answers/GNU-Emacs-FAQ/part5 | ||
| 889 | |||
| 890 | * Via WAIS. The GNU Emacs FAQ is available via WAIS indexed on a | ||
| 891 | per-question basis from the `faq' database on bigbird.bu.edu on the | ||
| 892 | non-standard IP port number of 2210. This is probably the best way to | ||
| 893 | find out if there is something in the FAQ related to your question. I | ||
| 894 | use this myself to answer questions I see posted on gnu.emacs.help. | ||
| 895 | |||
| 896 | The articles of the GNU Emacs FAQ are also available from the `usenet' | ||
| 897 | database on rtfm.mit.edu (on the standard IP port: 210), along with a | ||
| 898 | lot of other FAQ articles. However, these are all indexed at the whole | ||
| 899 | article level instead of at the question level. This is a better place | ||
| 900 | to look if you want to fetch the entire FAQ. | ||
| 901 | |||
| 902 | * In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest | 828 | * In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest |
| 903 | available version of the FAQ at the time of release has been part of the | 829 | available version of the FAQ at the time of release has been part of |
| 904 | GNU Emacs distribution as file etc/FAQ. 18.59 is the latest version, | 830 | the GNU Emacs distribution as file etc/FAQ. |
| 905 | and it was released in October 1992. | 831 | |
| 906 | 832 | * Via the World-Wide Web. Point your favorite Web browser (Mosaic, Lynx, | |
| 907 | * There is an old version of the FAQ list available for FTP in the GNU | 833 | w3-mode) to one of the following URLs: |
| 908 | archives at MIT: | 834 | |
| 909 | 835 | http://www.cis.ohio-state.edu/hypertext/faq/usenet/GNU-Emacs-FAQ/top.html | |
| 910 | /prep.ai.mit.edu:pub/gnu/GNUinfo/FAQ.emacs | 836 | http://scwww.ucs.indiana.edu/FAQ/Emacs/ |
| 911 | 837 | ||
| 912 | * As the very last resort, you can e-mail a request to | 838 | * If all goes well, this FAQ should also be available via anonymous ftp |
| 913 | gnu-emacs-faq-maintainers@bigbird.bu.edu. Don't do this unless you have | 839 | and e-mail from rtfm.mit.edu, the main repository for FAQs and other |
| 914 | made a serious effort to obtain the FAQ list via one of the methods | 840 | items posted to news.answers. However, we are omitting explicit |
| 915 | listed above. | 841 | directions on how to retrieve the FAQ from rtfm.mit.edu, since it's |
| 916 | 842 | possible that it won't end up there right away. (We're new at this | |
| 843 | FAQ-posting business.) Instructions on how to retrieve the FAQ from | ||
| 844 | rtfm.mit.edu should be in the next version of the FAQ. | ||
| 917 | 845 | ||
| 846 | * As the very last resort, you can e-mail a request to | ||
| 847 | gnu-emacs-faq-maintainers@bigbird.bu.edu. Don't do this unless you | ||
| 848 | have made a serious effort to obtain the FAQ list via one of the | ||
| 849 | methods listed above. | ||
| 918 | 850 | ||
| 919 | Status of Emacs | 851 | Status of Emacs |
| 920 | 852 | ||
| 921 | 23: Where does the name "Emacs" come from? | 853 | 23: Where does the name "Emacs" come from? |
| 922 | 854 | ||
| 923 | Emacs originally was an acronym for Editor MACroS. RMS says he "picked | 855 | Emacs originally was an acronym for Editor MACroS. RMS says he "picked |
| 924 | the name `Emacs' because `E' was not in use as an abbreviation on ITS at | 856 | the name `Emacs' because `E' was not in use as an abbreviation on ITS at |
| 925 | the time.". The first Emacs was a set of macros written in 1976 at MIT by | 857 | the time." The first Emacs was a set of macros written in 1976 at MIT by |
| 926 | RMS for the editor TECO (Text Editor and COrrector (originally Tape Editor | 858 | RMS for the editor TECO (Text Editor and COrrector (originally Tape |
| 927 | and COrrector)) under ITS on a PDP-10. RMS had already extended TECO with | 859 | Editor and COrrector)) under ITS on a PDP-10. RMS had already extended |
| 928 | a "real-time" full screen mode with active keys. Emacs was started by Guy | 860 | TECO with a "real-time" full screen mode with active keys. Emacs was |
| 929 | Steele <gls@think.com> as a project to unify the many divergent TECO | 861 | started by Guy Steele <gls@think.com> as a project to unify the many |
| 930 | command sets and keybindings at MIT. | 862 | divergent TECO command sets and key bindings at MIT. |
| 931 | 863 | ||
| 932 | Many people have told me that TECO code looks a lot like line noise. See | 864 | Many people have said that TECO code looks a lot like line noise. See |
| 933 | alt.lang.teco if you are interested. I think someone has written a TECO | 865 | alt.lang.teco if you are interested. Someone has written a TECO |
| 934 | implementation in Emacs Lisp. It would be an interesting project to run | 866 | implementation in Emacs Lisp; it would be an interesting project to run |
| 935 | the original TECO Emacs inside of GNU Emacs. | 867 | the original TECO Emacs inside of GNU Emacs. |
| 936 | |||
| 937 | 24: What is the latest version of GNU Emacs? | ||
| 938 | |||
| 939 | GNU Emacs 18.59 is the current version. Fixes from 18.57 include better | ||
| 940 | mail address parsing, an X visual bell speedup, a call-process | ||
| 941 | enhancement, a regexp matching change, the ability to apply a numeric | ||
| 942 | argument to a self-inserting digit, getting X resource values from the | ||
| 943 | RESOURCE_MANAGER property, more reliable shell mode job control, and a | ||
| 944 | change to copy-keymap. Also, support has been added for many new system | ||
| 945 | types. Fixes from 18.55 include the removal of arbitrary limits on the | ||
| 946 | undo facility. | ||
| 947 | |||
| 948 | According to the January 1992 GNU's Bulletin, "Emacs 18 maintenance | ||
| 949 | continues for simple bug fixes.". | ||
| 950 | |||
| 951 | To visit a file with information about what has changed in recent | ||
| 952 | versions, type "C-h n". | ||
| 953 | |||
| 954 | 25: When will GNU Emacs 19 be available? | ||
| 955 | |||
| 956 | Richard Stallman recently (February 19, 1993) posted in gnu.emacs.help ! | ||
| 957 | the following: ! | ||
| 958 | ! | ||
| 959 | People should keep in mind that the successor of Emacs 18 does not ! | ||
| 960 | come from Lucid. Its is GNU Emacs 19. I still can't say exactly when ! | ||
| 961 | public release is going to be, but we are about to start testing at a ! | ||
| 962 | number of sites. ! | ||
| 963 | ! | ||
| 964 | GNU Emacs 19 will support a broad spectrum of machines, like Emacs ! | ||
| 965 | 18. Ensuring this is the purpose of the testing we are about to do. ! | ||
| 966 | ! | ||
| 967 | (Please don't volunteer; we have enough pretesters, and if more people ! | ||
| 968 | offer, dealing with those messages will slow things down.) ! | ||
| 969 | ! | ||
| 970 | Once we make sure it is indeed working reliably on various different ! | ||
| 971 | systems, we will have a public beta test release. ! | ||
| 972 | ! | ||
| 973 | Emacs 19 does support adding properties to ranges of text, and using ! | ||
| 974 | these to switch fonts. In the future, the Epoch people will help ! | ||
| 975 | merge support for variable-width fonts. ! | ||
| 976 | ! | ||
| 977 | Meanwhile, I have almost finished updating the Emacs Lisp manual. Its ! | ||
| 978 | next edition will describe Emacs 19. There will be an announcement ! | ||
| 979 | when we know when this edition will be available. ! | ||
| 980 | |||
| 981 | Lucid has released Lucid GNU Emacs 19.6, which is based on an early ! | ||
| 982 | unreleased version of GNU Emacs 19. This will be similar to Emacs 19 when | ||
| 983 | it finally arrives, but they are not the same. See question 121. | ||
| 984 | |||
| 985 | Work has begun on features for Emacs 20. | ||
| 986 | |||
| 987 | 26: What is different about GNU Emacs 19? | ||
| 988 | |||
| 989 | From the January 1992 GNU's Bulletin: | ||
| 990 | |||
| 991 | Version 19 will enter beta test late this year. Among its new features | ||
| 992 | are: before and after change hooks, source-level debugging of Emacs Lisp | ||
| 993 | programs, X selection processing (including clipboard selections), | ||
| 994 | scrollbars, support for European character sets, floating point numbers, | ||
| 995 | per-buffer mouse commands, X resource manager interfacing, | ||
| 996 | mouse-tracking, Lisp-level binding of function keys, multiple X windows | ||
| 997 | (`screens' to Emacs), a new input system, and buffer allocation, which | ||
| 998 | uses a new mechanism capable of returning storage to the system when a | ||
| 999 | buffer is killed. | ||
| 1000 | |||
| 1001 | The input stream is now a sequence of Lisp objects, instead of a | ||
| 1002 | sequence of characters. This allows a reasonable representation for | ||
| 1003 | mouse clicks, function keys, menu selections, etc. | ||
| 1004 | |||
| 1005 | Thanks go to Alan Carroll and the people who worked on Epoch for | ||
| 1006 | generating initial feedback to a multi-windowed Emacs, and to Eric | ||
| 1007 | Raymond for help in polishing the Emacs 19 Lisp libraries. | ||
| 1008 | |||
| 1009 | The June 1991 GNU's bulletin had this to say about future plans for Emacs: | ||
| 1010 | |||
| 1011 | Features being considered for later releases of Emacs include: | ||
| 1012 | associating property lists with regions of text in a buffer; multiple | ||
| 1013 | fonts, color, and pixmaps defined by those properties; different | ||
| 1014 | visibility conditions for the regions, and for various windows showing | ||
| 1015 | one buffer; hooks to be run if point or mouse moves outside a certain | ||
| 1016 | range; incrementally saving undo history in a file; static menu bars; | ||
| 1017 | and better pop-up menus. | ||
| 1018 | |||
| 1019 | Mention of this feature disappeared in the January 1992 GNU's bulletin: | ||
| 1020 | |||
| 1021 | Emacs 19 supports two styles of multiple windows, one with a separate | ||
| 1022 | screen for the minibuffer, and another with a minibuffer attached to | ||
| 1023 | each screen. | ||
| 1024 | |||
| 1025 | Mention of these two proposed features disappeared in the January 1991 | ||
| 1026 | GNU's bulletin: | ||
| 1027 | |||
| 1028 | * Incremental syntax analysis for various programming languages (Leif). | ||
| 1029 | * A more sophisticated emacsclient/server model, which would provide | ||
| 1030 | network transparent Emacs widget functionality. | ||
| 1031 | |||
| 1032 | 27: What variants of GNU Emacs exist? | ||
| 1033 | |||
| 1034 | * Nemacs (Nihongo Emacs), which can handle Japanese text, is derived from | ||
| 1035 | GNU Emacs 18.55. See question 149. | ||
| 1036 | |||
| 1037 | * Demacs, which can run under MS-DOS on 386 machines, is derived from | ||
| 1038 | Nemacs. See question 122. | ||
| 1039 | |||
| 1040 | * Epoch, which has better X support, is derived from GNU Emacs 18.58. | ||
| 1041 | See question 120 and 92. | ||
| 1042 | |||
| 1043 | * Nepoch (Nihongo Epoch), which can handle Japanese text, is derived from | ||
| 1044 | Epoch. | ||
| 1045 | |||
| 1046 | * Mule (the MULtilingual Enhancement of GNU Emacs) can handle many | ||
| 1047 | character sets simultaneously. It is derived from Emacs 18.58. It is | ||
| 1048 | available for FTP: | ||
| 1049 | |||
| 1050 | /sh.wide.ad.jp:/JAPAN/mule/ | ||
| 1051 | /etlport.etl.go.jp:/pub/mule/ | ||
| 1052 | |||
| 1053 | * Lucid GNU Emacs is derived from an early unreleased version of GNU Emacs | ||
| 1054 | 19. See question 121 and 92. | ||
| 1055 | |||
| 1056 | 868 | ||
| 869 | 24: What is the latest version of GNU Emacs? | ||
| 1057 | 870 | ||
| 1058 | GNU Emacs FAQ: Common Requests/Problems | 871 | GNU Emacs 19.27 is the current version as of 6 September, 1994. |
| 1059 | 872 | ||
| 1060 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | 873 | 25: What is different about GNU Emacs 19? |
| 1061 | get an overview of just the questions. Then, when you want to look at the text | ||
| 1062 | of the answers, just type "C-x $". | ||
| 1063 | 874 | ||
| 1064 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | 875 | To find out what has changed in recent versions, type C-h n (M-x |
| 1065 | that doesn't work, then type ESC to end the search. | 876 | view-emacs-news). The oldest changes are at the bottom of the file, so |
| 877 | you might want to read it starting there, rather than at the top. | ||
| 1066 | 878 | ||
| 1067 | A `+' in the 78th column means something was inserted on the line. A `-' means | 879 | The most obvious changes have to do with the user interface -- GNU Emacs |
| 1068 | something was deleted and a `!' means some combination of insertions and | 880 | 19 is fully X-aware, and provides pull-down menus and scroll bars. Emacs |
| 1069 | deletions occurred. | 881 | 19 also supports fonts and colors, including context-specific |
| 882 | highlighting of source code and other types of buffers. | ||
| 1070 | 883 | ||
| 1071 | Full instructions for getting the latest FAQ are in question 22. Also see the | 884 | Other changes include a line number mode, which displays the current line |
| 1072 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | 885 | number in the mode line, and default bindings for arrow and paging keys |
| 1073 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | 886 | that work. |
| 1074 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 1075 | 887 | ||
| 888 | Lower-level changes include a smarter memory allocation scheme (Emacs now | ||
| 889 | returns memory to the operating system when you kill buffers), a better | ||
| 890 | byte-compiler, and a source-level Emacs Lisp debugger. | ||
| 1076 | 891 | ||
| 892 | There are also a number of new Lisp packages, ranging from dunnet (an | ||
| 893 | Adventure-like program) to mldrag (allows you to drag the mode line up | ||
| 894 | and down with the mouse buttons) to gud (Grand Unified Debugger mode, for | ||
| 895 | many flavors of debuggers). A number of popular Lisp packages, such as | ||
| 896 | SuperCite and the calendar/diary, are also included. | ||
| 1077 | 897 | ||
| 1078 | Common Things People Want To Do | 898 | Common Things People Want To Do |
| 1079 | 899 | ||
| 1080 | 28: How do I set up a .emacs file properly? | 900 | 26: How do I set up a .emacs file properly? |
| 1081 | 901 | ||
| 1082 | See `Init File' in the on-line manual. | 902 | See `Init File' in the on-line manual. |
| 1083 | 903 | ||
| 1084 | WARNING: In general, new Emacs users should not have .emacs files, because | 904 | WARNING: In general, new Emacs users should not have .emacs files, |
| 1085 | it causes confusing non-standard behavior. Then they send questions to | 905 | because it causes confusing non-standard behavior. Then they send |
| 1086 | help-gnu-emacs asking why Emacs isn't behaving as documented. :-) | 906 | questions to help-gnu-emacs asking why Emacs isn't behaving as |
| 1087 | 907 | documented. :-) | |
| 1088 | 29: How do I debug a .emacs file? | 908 | |
| 1089 | 909 | 27: How do I debug a .emacs file? | |
| 1090 | First start Emacs with the `-q' command line option. Then, in the | 910 | |
| 1091 | *scratch* buffer, type the following: | 911 | First start Emacs with the `-debug-init' command-line option. This |
| 1092 | 912 | option enables the Emacs Lisp debugger before evaluating your .emacs | |
| 1093 | (setq debug-on-error t) LFD | 913 | file, and places you in the debugger if something goes wrong. The top |
| 1094 | (load-file "~/.emacs") LFD | 914 | line in the trace-back buffer will be the error message, and the second |
| 1095 | 915 | or third line of that buffer will display the Lisp code from your .emacs | |
| 1096 | (Type LFD by pressing C-j.) | 916 | that caused the problem. |
| 1097 | 917 | ||
| 1098 | If you have an error in your .emacs file, this will invoke the debugger | 918 | You can also evaluate an individual function or argument to a function in |
| 1099 | when the error occurs. If you don't know how to use the debugger do | 919 | your .emacs file by moving the cursor to the end of the function or |
| 1100 | (setq stack-trace-on-error t) instead. | 920 | argument and typing "C-x C-e" (M-x eval-last-sexp). |
| 1101 | 921 | ||
| 1102 | WARNING: this will not discover errors caused by trying to do something | 922 | Use "C-h v" (M-x describe-variable) to check the value of variables which |
| 1103 | that requires the terminal/window-system initialization code to have | 923 | you are trying to set or use. |
| 1104 | been loaded. See question 127. | 924 | |
| 1105 | 925 | 28: How do I make Emacs display the current line (or column) number? | |
| 1106 | 30: How do I make Emacs display the current line (or column) number? | 926 | |
| 1107 | |||
| 1108 | To find out what line of the buffer you are on right now, do "M-x | 927 | To find out what line of the buffer you are on right now, do "M-x |
| 1109 | what-line". Use "M-x goto-line" to go to a specific line. To find the | 928 | what-line". Use "M-x goto-line" to go to a specific line. To find the |
| 1110 | current column number, type "M-ESC (current-column)". | 929 | current column number, type "M-ESC (current-column)". |
| 1111 | 930 | ||
| 1112 | Typing "C-x l" will also tell you what line you are on, provided the | 931 | If you use these commands often, you might want to bind them to a key. |
| 1113 | buffer isn't separated into "pages" with C-l characters. In that case, it | 932 | See question 104 for instructions on how to do that. |
| 1114 | will only tell you what line of the current "page" you are on. WARNING: | 933 | |
| 1115 | "C-x l" gives the wrong value when point is at the beginning of a line. | 934 | Typing "C-x l" (or M-x count-lines-page) will also tell you what line you |
| 1116 | 935 | are on, provided the buffer isn't separated into "pages" with C-l | |
| 1117 | There is no "correct" way to constantly display the current (or total) | 936 | characters. In that case, it will only tell you what line of the current |
| 1118 | line (or column) number on the mode line in Emacs 18, or to display the | 937 | "page" you are on. |
| 1119 | line numbers next to the lines like vi can. Emacs is not a line-oriented | 938 | |
| 1120 | editor, and really has no idea what "lines" of the buffer are displayed in | 939 | To have Emacs automatically display the current line number of the point |
| 1121 | the window. It would require a lot of work at the C code level to make | 940 | in the mode line, do "M-x line-number-mode". You can also put the form |
| 1122 | Emacs keep track of this. It would not be that hard to get the column | 941 | |
| 1123 | number, but it would still require changes at the C code level. | 942 | (setq line-number-mode t) |
| 1124 | 943 | ||
| 944 | in your .emacs file to achieve this whenever you start Emacs. Note that | ||
| 945 | Emacs will not display the line number if the buffer is larger than the | ||
| 946 | value of the variable line-number-display-limit. | ||
| 947 | |||
| 1125 | None of the vi emulation modes provide the `set number' capability of vi | 948 | None of the vi emulation modes provide the `set number' capability of vi |
| 1126 | (as far as I know). | 949 | (as far as we know). |
| 1127 | 950 | ||
| 1128 | Emacs 19 will probably be able to show the line number on the mode-line, | 951 | 29: How do I turn on abbrevs by default just in mode XXX? |
| 1129 | but probably very inefficiently. | 952 | |
| 1130 | |||
| 1131 | People have written various kludges to display line numbers. One is | ||
| 1132 | `display-line-numbers' by Wayne Mesard <wmesard@tofu.oracle.com, | ||
| 1133 | Mesard@bbn.com>. Look in the Lisp Code Directory. (See question | ||
| 1134 | 88.) | ||
| 1135 | |||
| 1136 | 31: How do I turn on Abbrevs by default just in mode XXX? | ||
| 1137 | |||
| 1138 | Put this in your .emacs file: | 953 | Put this in your .emacs file: |
| 1139 | 954 | ||
| 1140 | (condition-case () | 955 | (condition-case () |
| 1141 | (read-abbrev-file nil t) | 956 | (quietly-read-abbrev-file) |
| 1142 | (file-error nil)) | 957 | (file-error nil)) |
| 1143 | 958 | ||
| 1144 | (setq XXX-mode-hook | 959 | (add-hook 'XXX-mode-hook |
| 1145 | (function | 960 | (function |
| 1146 | (lambda () | 961 | (lambda () |
| 1147 | (setq abbrev-mode t)))) | 962 | (setq abbrev-mode t)))) |
| 1148 | 963 | ||
| 1149 | 32: How do I turn on Auto-Fill mode by default? | 964 | 30: How do I turn on auto-fill mode by default? |
| 1150 | 965 | ||
| 1151 | To turn on Auto-Fill mode just once for one buffer, use "M-x | 966 | To turn on auto-fill mode just once for one buffer, use "M-x |
| 1152 | auto-fill-mode". To turn it on for every buffer in, for example, Text | 967 | auto-fill-mode". To turn it on for every buffer in, for example, Text |
| 1153 | mode, do this: | 968 | mode, do this: |
| 1154 | 969 | ||
| 1155 | (setq text-mode-hook 'turn-on-auto-fill) | 970 | (add-hook 'text-mode-hook 'turn-on-auto-fill) |
| 1156 | 971 | ||
| 1157 | If you want Auto-Fill mode on in all major modes, do this: | 972 | If you want auto-fill mode on in all major modes, do this: |
| 1158 | 973 | ||
| 1159 | (setq-default auto-fill-hook 'do-auto-fill) | 974 | (setq-default auto-fill-hook 'do-auto-fill) |
| 1160 | 975 | ||
| 1161 | 33: How do I make Emacs use a certain major mode for certain files? | 976 | 31: How do I make Emacs use a certain major mode for certain files? |
| 1162 | 977 | ||
| 1163 | If you want to use XXX mode for all files which end with the extension | 978 | If you want to use XXX mode for all files which end with the extension |
| 1164 | `.YYY', this will do it for you: | 979 | `.YYY', this will do it for you: |
| 1165 | 980 | ||
| 1166 | (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist)) | 981 | (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist)) |
| 1167 | 982 | ||
| 1168 | Otherwise put this somewhere in the first line of any file you want to | 983 | Otherwise put this somewhere in the first line of any file you want to |
| 1169 | edit in XXX mode: | 984 | edit in XXX mode: |
| 1170 | 985 | ||
| 1171 | -*-XXX-*- | 986 | -*-XXX-*- |
| 1172 | 987 | ||
| 1173 | 34: How do I search for, delete, or replace unprintable (8-bit or control) | 988 | Emacs 19 also includes a new variable, interpreter-mode-alist, that |
| 1174 | characters? | 989 | specifies which mode to use when loading a shell script. (Emacs |
| 1175 | 990 | determines which interpreter you're using by examining the first line of | |
| 991 | the file.) This feature only applies when the file name doesn't indicate | ||
| 992 | which mode to use. Use "C-h v" (or M-x describe-variable) to learn more | ||
| 993 | about this variable. | ||
| 994 | |||
| 995 | 32: How do I search for, delete, or replace unprintable (8-bit or control) | ||
| 996 | characters? | ||
| 997 | |||
| 1176 | To search for a single character that appears in the buffer as, for | 998 | To search for a single character that appears in the buffer as, for |
| 1177 | example, `\237', you can type "C-s C-q 2 3 7". (This assumes the value of | 999 | example, `\237', you can type "C-s C-q 2 3 7". (This assumes the value |
| 1178 | search-quote-char is 17 (ie., C-q).) Searching for ALL unprintable | 1000 | of search-quote-char is 17 (i.e., C-q).) Searching for ALL unprintable |
| 1179 | characters is best done with a "regexp" search. The easiest regexp to use | 1001 | characters is best done with a "regexp" search. The easiest regexp to |
| 1180 | for the unprintable chars is the complement of the regexp for the | 1002 | use for the unprintable chars is the complement of the regexp for the |
| 1181 | printable chars. | 1003 | printable chars. |
| 1182 | 1004 | ||
| 1183 | Regexp for the printable chars: [\t\n\r\f -~] | 1005 | Regexp for the printable chars: [\t\n\r\f -~] |
| 1184 | 1006 | ||
| 1185 | Regexp for the unprintable chars: [^\t\n\r\f -~] | 1007 | Regexp for the unprintable chars: [^\t\n\r\f -~] |
| 1186 | 1008 | ||
| 1187 | To type some of these special characters in an interactive argument to | 1009 | To type some of these special characters in an interactive argument to |
| 1188 | isearch-forward-regexp or re-search-forward, you need to use C-q. (`\t', | 1010 | isearch-forward-regexp or re-search-forward, you need to use C-q. (`\t', |
| 1189 | `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.) So, | 1011 | `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.) So, |
| 1190 | to search for unprintable characters using re-search-forward: | 1012 | to search for unprintable characters using re-search-forward: |
| 1191 | 1013 | ||
| 1192 | M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET | 1014 | M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET |
| 1193 | 1015 | ||
| 1194 | Using isearch-forward-regexp: | 1016 | Using isearch-forward-regexp: |
| 1195 | 1017 | ||
| 1196 | M-C-s [^ TAB RET C-q RET C-q C-l SPC -~] | 1018 | M-C-s [^ TAB RET C-q RET C-q C-l SPC -~] |
| 1197 | 1019 | ||
| 1198 | To delete all unprintable characters, simply use a replace-regexp: | 1020 | To delete all unprintable characters, simply use replace-regexp: |
| 1199 | 1021 | ||
| 1200 | M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET | 1022 | M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET |
| 1201 | 1023 | ||
| 1202 | Replacing is similar to the above. {I need to write the text for this | 1024 | Replacing is similar to the above. To replace all unprintable characters |
| 1203 | part of the answer!} | 1025 | with a colon, use: |
| 1204 | 1026 | ||
| 1205 | Notes: | 1027 | M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET : RET |
| 1206 | 1028 | ||
| 1207 | * With isearch, you can type RET to get a quoted LFD (not a quoted RET). | 1029 | NOTE: * You don't need to quote TAB with either isearch or typing |
| 1208 | 1030 | something in the minibuffer. | |
| 1209 | * You don't need to quote TAB with either isearch or typing something in | 1031 | |
| 1210 | the minibuffer. | 1032 | 33: How can I highlight a region of text in Emacs? |
| 1211 | 1033 | ||
| 1212 | Here are the Emacs Lisp forms of the above regexps: | 1034 | If you are using a windowing system such as X, you can cause the region |
| 1213 | 1035 | to be highlighted when the mark is active by including | |
| 1214 | ;; regexp matching all printable characters: | 1036 | |
| 1215 | "[\t\n\r\f -~]" | 1037 | (transient-mark-mode t) |
| 1216 | 1038 | ||
| 1217 | ;; regexp matching all unprintable characters: | 1039 | in your .emacs. There are also the following packages for content- based |
| 1218 | "[^\t\n\r\f -~]" | 1040 | highlighting: |
| 1219 | 1041 | ||
| 1220 | 35: How can I highlight a region of text in Emacs? | 1042 | hilit19.el |
| 1221 | 1043 | font-lock.el | |
| 1222 | There are ways to get highlighting (reverse video, inverse video) in GNU | 1044 | |
| 1223 | Emacs 18.59, but either they require patching the C code of Emacs and | 1045 | 34: How do I control Emacs's case-sensitivity when searching/replacing? |
| 1224 | rebuilding, or they are slow and the highlighting disappears if you scroll | 1046 | |
| 1225 | or redraw the screen and it can not follow the point. Howard Gayle's | ||
| 1226 | patches for 8-bit output appear to allow highlighting (see question | ||
| 1227 | ^8-bit-output). Another patch for highlighting is by Kenichi Handa | ||
| 1228 | <handa@etl.go.jp>. There is a patch for use with X by Andy Norman | ||
| 1229 | <ange@hplb.hpl.hp.com> (and modified for 18.57 by Matthieu Herrb | ||
| 1230 | <matthieu@laas.fr>), which is available for FTP: | ||
| 1231 | |||
| 1232 | /laas.laas.fr:pub/emacs/patch-X11-18.55 | ||
| 1233 | /laas.laas.fr:pub/emacs/patch-X11-18.57 | ||
| 1234 | |||
| 1235 | You can highlight regions in a variety of ways in Epoch and Lucid Emacs. | ||
| 1236 | GNU Emacs 19 may not be able to just temporarily highlight a region. | ||
| 1237 | |||
| 1238 | Similar comments apply to displaying text in different fonts, except that | ||
| 1239 | it is even harder. | ||
| 1240 | |||
| 1241 | 36: How do I control Emacs's case-sensitivity when searching/replacing? | ||
| 1242 | |||
| 1243 | For searching, the value of the variable case-fold-search determines | 1047 | For searching, the value of the variable case-fold-search determines |
| 1244 | whether they are case sensitive: | 1048 | whether they are case sensitive: |
| 1245 | 1049 | ||
| 1246 | (setq case-fold-search nil) ; make searches case sensitive | 1050 | (setq case-fold-search nil) ; make searches case sensitive |
| 1247 | (setq case-fold-search t) ; make searches case insensitive | 1051 | (setq case-fold-search t) ; make searches case insensitive |
| 1248 | 1052 | ||
| 1249 | Similarly, for replacing the variable case-replace determines whether | 1053 | Similarly, for replacing the variable case-replace determines whether |
| 1250 | replacements preserve case. | 1054 | replacements preserve case. |
| 1251 | 1055 | ||
| 1252 | To change the case sensitivity just for one major mode, use the major | 1056 | To change the case sensitivity just for one major mode, use the major |
| 1253 | mode's hook. For example: | 1057 | mode's hook. For example: |
| 1254 | 1058 | ||
| 1255 | (setq XXX-mode-hook | 1059 | (add-hook 'XXX-mode-hook |
| 1256 | (function | 1060 | (function |
| 1257 | (lambda () | 1061 | (lambda () |
| 1258 | (setq case-fold-search nil)))) | 1062 | (setq case-fold-search nil)))) |
| 1259 | 1063 | ||
| 1260 | 37: How do I make Emacs wrap words for me? | 1064 | 35: How do I make Emacs wrap words for me? |
| 1261 | 1065 | ||
| 1262 | M-x auto-fill-mode. The default maximum line width is 74, determined by | 1066 | Use auto-fill mode, activated by typing "M-x auto-fill-mode". The |
| 1263 | the variable fill-column. To find how to turn this on automatically see | 1067 | default maximum line width is 70, determined by the variable fill-column. |
| 1264 | question 32. | 1068 | To learn how to turn this on automatically, see question 30. |
| 1265 | 1069 | ||
| 1266 | 38: Where can I get a better spelling checker for Emacs? | 1070 | 36: Where can I get a better spelling checker for Emacs? |
| 1267 | 1071 | ||
| 1268 | Use Ispell. See question 119. | 1072 | Use Ispell. See question 101. |
| 1269 | 1073 | ||
| 1270 | 39: How can I spell-check TeX or *roff documents? | 1074 | 37: How can I spell-check TeX or *roff documents? |
| 1271 | 1075 | ||
| 1272 | If you want to spell-check TeX or *roff documents with Ispell, you need to | 1076 | Use Ispell. See question 101. Ispell can handle TeX and *roff |
| 1273 | arrange for a filter program that understands how to strip TeX or *roff | 1077 | documents. |
| 1274 | formatting commands to be run. In the TeX distribution, there are several | 1078 | |
| 1275 | different programs named `detex', all with incompatible options, and a | 1079 | 38: How do I change load-path? |
| 1276 | very old pair of programs named `detex' and `delatex', which should | 1080 | |
| 1277 | probably be avoided. The most useful one for Ispell is `detex' by Daniel | ||
| 1278 | Trinkle. A more recent version is available via FTP: | ||
| 1279 | |||
| 1280 | /arthur.cs.purdue.edu:pub/trinkle/detex-2.4.tar | ||
| 1281 | |||
| 1282 | Raphael Cerf <cerf@clipper.ens.fr> recently released a program for this | ||
| 1283 | named `xetal': | ||
| 1284 | |||
| 1285 | /spi.ens.fr:pub/unix/tex/ | ||
| 1286 | |||
| 1287 | There is a program that comes with Unix named `deroff' for stripping | ||
| 1288 | formatting commands from *roff files. | ||
| 1289 | |||
| 1290 | Here is an example of code you can put in a .emacs file to use these | ||
| 1291 | programs: | ||
| 1292 | |||
| 1293 | ;; Based on suggestions by David G. Grubbs <dgg@ksr.com> and Paul Palmer | ||
| 1294 | ;; <palmerp@math.orst.edu>. | ||
| 1295 | |||
| 1296 | ;; Assuming the use of detex 2.3 by Daniel Trinkle: | ||
| 1297 | ;; -w means one word per line. | ||
| 1298 | ;; -n means don't expand \input or \include commands. | ||
| 1299 | ;; -l means force LaTeX mode. | ||
| 1300 | |||
| 1301 | (require 'ispell) ; for the make-variable-buffer-local statements | ||
| 1302 | (setq plain-TeX-mode-hook | ||
| 1303 | (function | ||
| 1304 | (lambda () | ||
| 1305 | (setq ispell-filter-hook "detex") | ||
| 1306 | (setq ispell-filter-hook-args '("-nw"))))) | ||
| 1307 | (setq LaTeX-mode-hook | ||
| 1308 | (function | ||
| 1309 | (lambda () | ||
| 1310 | (setq ispell-filter-hook "detex") | ||
| 1311 | (setq ispell-filter-hook-args '("-lnw"))))) | ||
| 1312 | (setq nroff-mode-hook | ||
| 1313 | (function | ||
| 1314 | (lambda () | ||
| 1315 | (setq ispell-filter-hook "deroff") | ||
| 1316 | (setq ispell-filter-hook-args '("-w"))))) | ||
| 1317 | |||
| 1318 | You will have to adjust the arguments for programs other than Trinkle's | ||
| 1319 | detex or for other versions of deroff. Experiment running the command | ||
| 1320 | from the shell to find the correct options. If you don't have a filter | ||
| 1321 | that knows how to output one word per line, you must pipe its output | ||
| 1322 | through another filter to break up the output. | ||
| 1323 | |||
| 1324 | 40: How do I change load-path? | ||
| 1325 | |||
| 1326 | In general, you should only *add* to the load-path. You can add | 1081 | In general, you should only *add* to the load-path. You can add |
| 1327 | directory /XXX/YYY to the load path like this: | 1082 | directory /XXX/YYY to the load path like this: |
| 1328 | 1083 | ||
| 1329 | (setq load-path (append load-path '("/XXX/YYY/"))) | 1084 | (setq load-path (cons "/XXX/YYY/" load-path)) |
| 1330 | 1085 | ||
| 1331 | To do this relative to your home directory: | 1086 | To do this relative to your home directory: |
| 1332 | 1087 | ||
| 1333 | (setq load-path (append load-path (list (expand-file-name "~/YYY/")))) | 1088 | (setq load-path (cons "~/YYY/" load-path) |
| 1334 | 1089 | ||
| 1335 | 41: How do I use an already running Emacs from another window? | 1090 | 39: How do I use an already running Emacs from another window? |
| 1336 | 1091 | ||
| 1337 | The `emacsclient' program is for editing a file using an already running | 1092 | The `emacsclient' program is for editing a file using an already running |
| 1338 | Emacs rather than starting up a new Emacs. It does this by sending a | 1093 | Emacs rather than starting up a new Emacs. It does this by sending a |
| 1339 | request to the already running Emacs, which must be expecting the request. | 1094 | request to the already running Emacs, which must be expecting the |
| 1340 | 1095 | request. | |
| 1096 | |||
| 1341 | * Setup | 1097 | * Setup |
| 1342 | 1098 | ||
| 1343 | Emacs must have executed the `server-start' function for emacsclient to | 1099 | Emacs must have executed the `server-start' function for emacsclient to |
| 1344 | work. This can be done either by a command line option: | 1100 | work. This can be done either by a command line option: |
| 1345 | 1101 | ||
| 1346 | emacs -f server-start | 1102 | emacs -f server-start |
| 1347 | 1103 | ||
| 1348 | or by invoking server-start from the .emacs file: | 1104 | or by invoking server-start from the .emacs file: |
| 1349 | 1105 | ||
| 1350 | (if (some conditions are met) (server-start)) | 1106 | (if (some conditions are met) (server-start)) |
| 1351 | 1107 | ||
| 1352 | When this is done, Emacs starts a subprocess running a program called | 1108 | When this is done, Emacs starts a subprocess running a program called |
| 1353 | `server'. `server' creates a Unix domain socket in the user's home | 1109 | `server'. `server' creates a Unix domain socket in the user's home |
| 1354 | directory named `.emacs_server'. | 1110 | directory named `.emacs_server'. |
| 1355 | 1111 | ||
| 1356 | To get your news reader, mail reader, etc., to invoke emacsclient, try | 1112 | To get your news reader, mail reader, etc., to invoke emacsclient, try |
| 1357 | setting the environment variable EDITOR (or sometimes VISUAL) to the | 1113 | setting the environment variable EDITOR (or sometimes VISUAL) to the |
| 1358 | value `emacsclient'. You may have to specify the full pathname of the | 1114 | value `emacsclient'. You may have to specify the full pathname of the |
| 1359 | emacsclient program instead. Examples: | 1115 | emacsclient program instead. Examples: |
| 1360 | 1116 | ||
| 1361 | # csh commands: | 1117 | # csh commands: |
| 1362 | setenv EDITOR emacsclient | 1118 | setenv EDITOR emacsclient |
| 1363 | setenv EDITOR /usr/local/emacs/etc/emacsclient # using full pathname | 1119 | setenv EDITOR /usr/local/emacs/etc/emacsclient # using full pathname |
| 1364 | 1120 | ||
| 1365 | # sh command: | 1121 | # sh command: |
| 1366 | EDITOR=emacsclient export EDITOR | 1122 | EDITOR=emacsclient ; export EDITOR |
| 1367 | 1123 | ||
| 1368 | * Normal use | 1124 | * Normal use |
| 1369 | 1125 | ||
| 1370 | When emacsclient is run, it connects to the `.emacs_server' socket and | 1126 | When emacsclient is run, it connects to the `.emacs_server' socket and |
| 1371 | passes its command line options to `server'. When `server' receives | 1127 | passes its command line options to `server'. When `server' receives |
| 1372 | these requests, it sends this information on the the Emacs process, | 1128 | these requests, it sends this information on the the Emacs process, |
| 1373 | which at the next opportunity will visit the files specified. (Line | 1129 | which at the next opportunity will visit the files specified. (Line |
| 1374 | numbers can be specified just like with Emacs.) The user will have to | 1130 | numbers can be specified just like with Emacs.) The user will have to |
| 1375 | switch to the Emacs window by hand. When the user is done editing a | 1131 | switch to the Emacs window by hand. When the user is done editing a |
| 1376 | file, the user can type "C-x #" to indicate this. This will switch to | 1132 | file, the user can type "C-x #" (or M-x server-edit) to indicate this. |
| 1377 | another buffer created at the request of emacsclient if there are any. | 1133 | If there is another buffer requested by emacsclient, Emacs will switch |
| 1378 | When "C-x #" has been invoked on all of the files that the emacsclient | 1134 | to it; otherwise emacsclient will exit, signaling the calling program |
| 1379 | requested to be edited, Emacs will send notification of this to `server' | 1135 | to continue. |
| 1380 | which will pass this on to the emacsclient, which will then exit. | 1136 | |
| 1381 | 1137 | NOTE: `emacsclient' and `server' must be running on machines which | |
| 1382 | NOTE: `emacsclient' and `server' must be running on machines which share | 1138 | share the same filesystem for this to work. The pathnames that |
| 1383 | the same filesystem for this to work. The pathnames that emacsclient | 1139 | emacsclient specifies should be correct for the filesystem that the |
| 1384 | specifies should be correct for the filesystem that the Emacs process | 1140 | Emacs process sees. The Emacs process should not be suspended at the |
| 1385 | sees. The Emacs process should not be suspended at the time emacsclient | 1141 | time emacsclient is invoked. emacsclient should either be invoked from |
| 1386 | is invoked. emacsclient should either be invoked from another X window or | 1142 | another X window or from a shell window inside Emacs itself. |
| 1387 | from a shell window inside Emacs itself. | 1143 | |
| 1388 | 1144 | There is an enhanced version of emacsclient/server called `gnuserv' by | |
| 1389 | There is an enhanced version of emacsclient/server called `gnuserv' by | 1145 | Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp |
| 1390 | Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp | 1146 | Archive. gnuserv uses Internet domain sockets, so it can work across |
| 1391 | Archive. gnuserv uses Internet domain sockets, so it can work across most | 1147 | most network connections. It also supports the execution of arbitrary |
| 1392 | network connections. It also supports the execution of arbitrary Emacs | 1148 | Emacs Lisp forms and also does not require the client program to wait |
| 1393 | Lisp forms and also does not require the client program to wait for | 1149 | for completion. It is available via anonymous FTP (Emacs Lisp Archive: |
| 1394 | completion. It is available via anonymous FTP (Emacs Lisp Archive: | 1150 | packages/gnuserv.shar). |
| 1395 | packages/gnuserv.shar). | 1151 | |
| 1396 | 1152 | 40: How do I make Emacs recognize my compiler's funny error messages? | |
| 1397 | 42: How do I make Emacs recognize my compiler's funny error messages? | 1153 | |
| 1398 | 1154 | The variable compilation-error-regexp-alist helps control how Emacs | |
| 1399 | Write a program which runs the compiler as a child and filters its output, | 1155 | parses your compiler output. It is a list of triples of the form: |
| 1400 | rearranging as necessary. Install with same name as compiler somewhere in | 1156 | |
| 1401 | path. | 1157 | (REGEXP FILE-IDX LINE-IDX) |
| 1402 | 1158 | ||
| 1403 | Keith Moore <moore@cs.utk.edu> wrote one such for a C compiler under AIX. | 1159 | where REGEXP, FILE-IDX and LINE-IDX are strings. To help determine what |
| 1404 | Available via FTP: | 1160 | the constituent elements should be, load compile.el and then use |
| 1405 | 1161 | ||
| 1406 | /cs.utk.edu:readonly/aixcc.lex | 1162 | C-h v compilation-error-regexp-alist RET |
| 1407 | 1163 | ||
| 1408 | Jim Frost <jimf@saber.com> wrote another for the IBM xlc compiler on the | 1164 | to see the current value. A good idea is to look at compile.el itself as |
| 1409 | RS/6000. (I don't know if these are both for the same compiler.) | 1165 | the comments included for this variable are quite useful -- the regular |
| 1410 | Johnathan Vail <vail@tegra.COM> wrote something for a High C compiler | 1166 | expressions required for your compiler's output may be very close to one |
| 1411 | (`hc', which is one of the compilers on the RS/6000, although I think | 1167 | already provided. Once you have determined the proper regexps, use the |
| 1412 | Johnathan wrote his program for hc on a different computer). | 1168 | following to inform Emacs of your changes: |
| 1413 | 1169 | ||
| 1414 | 43: How do I indent switch statements like this? | 1170 | (setq compilation-error-regexp-alist |
| 1415 | 1171 | (cons '(REGEXP FILE-IDX LINE-IDX) | |
| 1172 | compilation-error-regexp-alist)) | ||
| 1173 | |||
| 1174 | 41: How do I indent switch statements like this? | ||
| 1175 | |||
| 1416 | Many people want to indent their switch statements like this: | 1176 | Many people want to indent their switch statements like this: |
| 1417 | 1177 | ||
| 1418 | f() | 1178 | f() |
| 1419 | { | 1179 | { |
| 1420 | switch(x) { | 1180 | switch(x) { |
| @@ -1428,1408 +1188,1000 @@ Common Things People Want To Do | |||
| 1428 | x3; | 1188 | x3; |
| 1429 | } | 1189 | } |
| 1430 | } | 1190 | } |
| 1431 | 1191 | ||
| 1432 | I don't believe there is any way to do this exactly without modifying the | 1192 | The solution at first appears to be: set c-indent-level to 4 and |
| 1433 | Lisp code in c-mode.el. You can set c-indent-level to 4 and | 1193 | c-label-offset to -2. However, this will give you an indentation spacing |
| 1434 | c-label-offset to -2, but this has bad effects elsewhere. {Anyone have a | 1194 | of four instead of two. |
| 1435 | solution?} | 1195 | |
| 1436 | 1196 | The solution is to use cc-mode (available from the Emacs Lisp Archive) | |
| 1437 | 44: How can I make Emacs automatically scroll horizontally? | 1197 | and add the following line: |
| 1438 | 1198 | ||
| 1439 | There is no completely correct way of doing this that does not involve | 1199 | (c-set-offset 'case-label '+) |
| 1440 | rewriting all commands or writing your own top-level command loop (not a | 1200 | |
| 1441 | completely bad idea). Wayne Mesard <wmesard@pescadero.stanford.edu> has | 1201 | There appears to be no way to do this with the old c-mode. |
| 1442 | written a particularly advanced kludge called `hscroll.el' that checks | 1202 | |
| 1443 | once a second to make sure point is visible. | 1203 | 42: How can I make Emacs automatically scroll horizontally? |
| 1444 | 1204 | ||
| 1445 | 45: How do I make Emacs "typeover" or "overwrite" instead of inserting? | 1205 | Use hscroll.el by Wayne Mesard <wmesard@esd.sgi.com>. |
| 1446 | 1206 | ||
| 1207 | 43: How do I make Emacs "typeover" or "overwrite" instead of inserting? | ||
| 1208 | |||
| 1447 | M-x overwrite-mode (a minor mode). | 1209 | M-x overwrite-mode (a minor mode). |
| 1448 | 1210 | ||
| 1449 | 46: How do I stop Emacs from beeping on a terminal? | 1211 | On some workstations, the "Insert" key toggles insert and overwrite |
| 1450 | 1212 | modes. | |
| 1213 | |||
| 1214 | 44: How do I stop Emacs from beeping on a terminal? | ||
| 1215 | |||
| 1451 | Martin R. Frank <martin@cc.gatech.edu> writes: | 1216 | Martin R. Frank <martin@cc.gatech.edu> writes: |
| 1452 | 1217 | ||
| 1453 | Tell Emacs to use the 'visible bell' instead of the audible bell, and | 1218 | Tell Emacs to use the `visible bell' instead of the audible bell, and |
| 1454 | set the visible bell to nothing. | 1219 | set the visible bell to nothing. |
| 1455 | 1220 | ||
| 1456 | Put this in your TERMCAP environment variable: | 1221 | Put this in your TERMCAP environment variable: |
| 1457 | 1222 | ||
| 1458 | ... :vb=: ... | 1223 | ... :vb=: ... |
| 1459 | 1224 | ||
| 1460 | And evaluate this: | 1225 | And evaluate this: |
| 1461 | 1226 | ||
| 1462 | (setq visible-bell t) | 1227 | (setq visible-bell t) |
| 1463 | 1228 | ||
| 1464 | 47: How do I turn down the bell volume in Emacs running under X Windows? | 1229 | 45: How do I turn down the bell volume in Emacs running under X Windows? |
| 1465 | 1230 | ||
| 1466 | Under versions of Emacs before 18.58, the bell volume was annoying loud | 1231 | You can adjust the bell volume and duration for all programs with the |
| 1467 | and difficult to turn off. So upgrading to 18.58 or higher will reduce | 1232 | shell command xset. |
| 1468 | the volume. If you want to turn it off completely, use `xset'. There is | 1233 | |
| 1469 | no way to turn the bell off just for Emacs without affecting all other | 1234 | Invoking xset without any arguments produces some basic information, |
| 1470 | programs. | 1235 | including the following: |
| 1471 | 1236 | ||
| 1472 | Under Epoch you can do: | 1237 | usage: xset [-display host:dpy] option ... |
| 1473 | 1238 | To turn bell off: | |
| 1474 | (setq epoch::bell-volume 20) | 1239 | -b b off b 0 |
| 1475 | 1240 | To set bell volume, pitch and duration: | |
| 1476 | Stu Grossman <grossman@sunburn.stanford.edu> wrote a patch that allows the | 1241 | b [vol [pitch [dur]]] b on |
| 1477 | bell volume to be adjusted from inside Emacs just for Emacs. | 1242 | |
| 1478 | 1243 | 46: How do I tell Emacs to automatically indent a new line to the | |
| 1479 | 48: How do I tell Emacs to automatically indent a new line to the | 1244 | indentation of the previous line? |
| 1480 | indentation of the previous line? | 1245 | |
| 1481 | |||
| 1482 | One solution is Indented Text Mode (M-x indented-text-mode). | 1246 | One solution is Indented Text Mode (M-x indented-text-mode). |
| 1483 | 1247 | ||
| 1484 | If you have Auto-Fill mode on (a minor mode, see question 32), you can | 1248 | If you have auto-fill mode on (a minor mode, see question 30), you can |
| 1485 | tell Emacs to prefix every line with a certain character sequence, the | 1249 | tell Emacs to prefix every line with a certain character sequence, the |
| 1486 | "fill prefix". Type the prefix at the beginning of a line, position point | 1250 | "fill prefix." Type the prefix at the beginning of a line, position |
| 1487 | after it, and then type "C-x ." (set-fill-prefix) to set the fill prefix. | 1251 | point after it, and then type "C-x ." (set-fill-prefix) to set the fill |
| 1488 | Thereafter, auto-filling will automatically put the fill prefix at the | 1252 | prefix. Thereafter, auto-filling will automatically put the fill prefix |
| 1489 | beginning of new lines, and M-q (fill-paragraph) will maintain any fill | 1253 | at the beginning of new lines, and M-q (fill-paragraph) will maintain any |
| 1490 | prefix when refilling the paragraph. | 1254 | fill prefix when refilling the paragraph. |
| 1491 | 1255 | ||
| 1492 | NOTE: If you have paragraphs with different levels of indentation, you | 1256 | NOTE: If you have paragraphs with different levels of indentation, you |
| 1493 | will have to set the fill prefix to the correct value each time you move | 1257 | will have to set the fill prefix to the correct value each time you move |
| 1494 | to a new paragraph. To avoid this hassle, try one of the many packages | 1258 | to a new paragraph. To avoid this hassle, try one of the many packages |
| 1495 | available from the Emacs Lisp Archive. Look up `fill' and `indent' in the | 1259 | available from the Emacs Lisp Archive. Look up `fill' and `indent' in |
| 1496 | Lisp Code Directory for guidance. | 1260 | the Lisp Code Directory for guidance. |
| 1497 | 1261 | ||
| 1498 | 49: How do I show which parenthesis matches the one I'm looking at? | 1262 | 47: How do I show which parenthesis matches the one I'm looking at? |
| 1499 | 1263 | ||
| 1500 | If you're looking at a right parenthesis (or brace or bracket) you can | 1264 | GNU Emacs 19 comes with paren.el, which (when loaded) will automatically |
| 1501 | delete it and reinsert it. Emacs will blink the cursor on the matching | 1265 | highlight matching parentheses whenever point (i.e., the cursor) is |
| 1502 | parenthesis. | 1266 | located over one. To load paren automatically, include the line |
| 1503 | 1267 | ||
| 1504 | M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over balanced | 1268 | (require 'paren) |
| 1505 | parentheses, so you can see which parentheses match. (You can train it to | 1269 | |
| 1506 | skip over balanced brackets and braces at the same time by modifying the | 1270 | in your .emacs file. |
| 1507 | syntax table.) | 1271 | |
| 1508 | 1272 | Alternatives to paren include: | |
| 1509 | Here is some Emacs Lisp that will make the % key show the matching | 1273 | |
| 1510 | parenthesis, like in vi. In addition, if the cursor isn't over a | 1274 | * If you're looking at a right parenthesis (or brace or bracket) you can |
| 1511 | parenthesis, it simply inserts a % like normal. | 1275 | delete it and reinsert it. Emacs will blink the cursor on the matching |
| 1512 | 1276 | parenthesis. | |
| 1513 | ;; By an unknown contributor | 1277 | |
| 1514 | 1278 | * M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over one set | |
| 1515 | (global-set-key "%" 'match-paren) | 1279 | of balanced parentheses, so you can see which parentheses match. (You |
| 1516 | 1280 | can train it to skip over balanced brackets and braces at the same time | |
| 1517 | (defun match-paren (arg) | 1281 | by modifying the syntax table.) |
| 1518 | "Go to the matching parenthesis if on parenthesis otherwise insert %." | 1282 | |
| 1519 | (interactive "p") | 1283 | * Here is some Emacs Lisp that will make the % key show the matching |
| 1520 | (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) | 1284 | parenthesis, like in vi. In addition, if the cursor isn't over a |
| 1521 | ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) | 1285 | parenthesis, it simply inserts a % like normal. |
| 1522 | (t (self-insert-command (or arg 1))))) | 1286 | |
| 1523 | 1287 | ;; By an unknown contributor | |
| 1524 | 50: In C mode, can I show just the lines that will be left after #ifdef | 1288 | |
| 1525 | commands are handled by the compiler? | 1289 | (global-set-key "%" 'match-paren) |
| 1526 | 1290 | ||
| 1291 | (defun match-paren (arg) | ||
| 1292 | "Go to the matching parenthesis if on parenthesis otherwise insert %." | ||
| 1293 | (interactive "p") | ||
| 1294 | (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) | ||
| 1295 | ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) | ||
| 1296 | (t (self-insert-command (or arg 1))))) | ||
| 1297 | |||
| 1298 | 48: In C mode, can I show just the lines that will be left after #ifdef | ||
| 1299 | commands are handled by the compiler? | ||
| 1300 | |||
| 1527 | M-x hide-ifdef-mode. (This is a minor mode.) | 1301 | M-x hide-ifdef-mode. (This is a minor mode.) |
| 1528 | 1302 | ||
| 1529 | You may have to (load "hideif") first. If you want to do this regularly, | 1303 | 49: Is there an equivalent to the `.' (dot) command of vi? |
| 1530 | put this in your .emacs file: | 1304 | |
| 1531 | |||
| 1532 | (autoload 'hide-ifdef-mode "hideif" nil t) | ||
| 1533 | |||
| 1534 | {Yes, I know, this should be in lisp/loaddefs.el already.} | ||
| 1535 | |||
| 1536 | 51: Is there an equivalent to the `.' (dot) command of vi? | ||
| 1537 | |||
| 1538 | (`.' is the redo command in vi. It redoes the last insertion/deletion.) | 1305 | (`.' is the redo command in vi. It redoes the last insertion/deletion.) |
| 1539 | 1306 | ||
| 1540 | No, not really. | 1307 | No, not really. |
| 1541 | 1308 | ||
| 1542 | You can type "C-x ESC" (repeat-complex-command) to reinvoke commands that | 1309 | You can type "C-x ESC ESC" (repeat-complex-command) to reinvoke commands |
| 1543 | used the minibuffer to get arguments. In repeat-complex-command you can | 1310 | that used the minibuffer to get arguments. In repeat-complex-command you |
| 1544 | type M-p and M-n to scan through all the different complex commands you've | 1311 | can type M-p and M-n to scan through all the different complex commands |
| 1545 | typed. | 1312 | you've typed. |
| 1546 | 1313 | ||
| 1547 | To repeat something on each line I recommend using keyboard macros. | 1314 | To repeat something on each line, use keyboard macros. (See `Keyboard |
| 1548 | 1315 | Macros' in the on-line manual.) | |
| 1549 | 52: What are the valid X resource settings (ie., stuff in .Xdefaults)? | 1316 | |
| 1550 | 1317 | 50: What are the valid X resource settings (i.e., stuff in .Xdefaults)? | |
| 1551 | See the Emacs man page, or the etc/OPTIONS file. Ignore the information | 1318 | |
| 1552 | in etc/XDOC which is way out of date. | 1319 | See Emacs man page, or "Resources X" in the on-line manual. |
| 1553 | 1320 | ||
| 1554 | 53: How do I execute a piece of Emacs Lisp code? | 1321 | You can also use a resource editor, such as editres (for X11R5 and |
| 1555 | 1322 | onwards), to look at the resource names for the menu bar, assuming Emacs | |
| 1323 | was compiled with the X toolkit. | ||
| 1324 | |||
| 1325 | 51: How do I execute a piece of Emacs Lisp code? | ||
| 1326 | |||
| 1556 | There are a number of ways to execute (called "evaluate") an Emacs Lisp | 1327 | There are a number of ways to execute (called "evaluate") an Emacs Lisp |
| 1557 | "form": | 1328 | "form": |
| 1558 | 1329 | ||
| 1559 | * If you want it evaluated every time you run Emacs, put it in a file | 1330 | * If you want it evaluated every time you run Emacs, put it in a file |
| 1560 | named `.emacs' in your home directory. | 1331 | named `.emacs' in your home directory. |
| 1561 | 1332 | ||
| 1562 | * You can type the form in the *scratch* buffer, and then type LFD (or | 1333 | * You can type the form in the *scratch* buffer, and then type LFD (or |
| 1563 | C-j) after it. The result of evaluating the form will be inserted in | 1334 | C-j) after it. The result of evaluating the form will be inserted in |
| 1564 | the buffer. | 1335 | the buffer. |
| 1565 | 1336 | ||
| 1566 | * In Emacs-Lisp mode, typing M-C-x evaluates a top-level form before or | 1337 | * In Emacs-Lisp mode, typing M-C-x evaluates a top-level form before or |
| 1567 | around point. | 1338 | around point. |
| 1568 | 1339 | ||
| 1569 | * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately | 1340 | * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately |
| 1570 | before point and prints its value in the echo area. | 1341 | before point and prints its value in the echo area. |
| 1571 | 1342 | ||
| 1572 | * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in | 1343 | * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in |
| 1573 | the minibuffer which will be evaluated. | 1344 | the minibuffer which will be evaluated. |
| 1574 | 1345 | ||
| 1575 | * You can use M-x load-file to have Emacs evaluate all the Lisp forms in | 1346 | * You can use M-x load-file to have Emacs evaluate all the Lisp forms in |
| 1576 | a file. (To do this from Lisp use the function `load' instead.) | 1347 | a file. (To do this from Lisp use the function `load' instead.) |
| 1577 | 1348 | ||
| 1578 | These functions are also used for evaluating Lisp forms: | 1349 | These functions are also used for evaluating Lisp forms: |
| 1579 | 1350 | ||
| 1580 | load-library, eval-region, eval-current-buffer, require, autoload | 1351 | load-library, eval-region, eval-current-buffer, require, autoload |
| 1581 | 1352 | ||
| 1582 | 54: How do I change Emacs's idea of the tab character's length? | 1353 | 52: How do I change Emacs's idea of the tab character's length? |
| 1583 | 1354 | ||
| 1584 | Example: (setq default-tab-width 10). | 1355 | Set the variable default-tab-width. For example, to set tab stops every |
| 1585 | 1356 | 10 characters, insert the following in your .emacs file: | |
| 1586 | 55: How do I insert `>' at the beginning of every line? | 1357 | |
| 1587 | 1358 | (setq default-tab-width 10) | |
| 1359 | |||
| 1360 | 53: How do I insert `>' at the beginning of every line? | ||
| 1361 | |||
| 1588 | Type "M-x replace-regexp RET ^ RET > RET". | 1362 | Type "M-x replace-regexp RET ^ RET > RET". |
| 1589 | 1363 | ||
| 1590 | To do this only in the region, type "C-x n M-x replace-regexp RET ^ RET | 1364 | To do this only in the region, type "C-x n n M-x replace-regexp RET ^ RET |
| 1591 | > RET C-x w". | 1365 | > RET C-x w". |
| 1592 | 1366 | ||
| 1593 | WARNING: The command narrow-to-region (C-x n) is disabled by default | 1367 | WARNING: The command narrow-to-region (C-x n n) is disabled by default |
| 1594 | because it can be very confusing (ie., "Oh no! Where did my file go?"). | 1368 | because it can be very confusing (i.e., "Oh no! Where did my file go?"). |
| 1595 | 1369 | ||
| 1596 | 56: How do I insert `_^H' before each character in a paragraph to get an | 1370 | 54: How do I insert `_^H' before each character in a paragraph to get an |
| 1597 | underlined paragraph? | 1371 | underlined paragraph? |
| 1598 | 1372 | ||
| 1599 | M-x underline-region. | 1373 | M-x underline-region. |
| 1600 | 1374 | ||
| 1601 | 57: How do I repeat a command as many times as possible? | 1375 | 55: How do I repeat a command as many times as possible? |
| 1602 | 1376 | ||
| 1603 | Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command | 1377 | Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command |
| 1604 | and then type "M-0 C-x e". | 1378 | and then type "M-0 C-x e". |
| 1605 | 1379 | ||
| 1606 | WARNING: any messages your command prints in the echo area will be | 1380 | WARNING: any messages your command prints in the echo area will be |
| 1607 | suppressed. | 1381 | suppressed. |
| 1608 | 1382 | ||
| 1609 | 58: How do I make Emacs behave like this: when I go up or down, the cursor | 1383 | 56: How do I make Emacs behave like this: when I go up or down, the cursor |
| 1610 | should stay in the same column even if the line is too short? | 1384 | should stay in the same column even if the line is too short? |
| 1611 | 1385 | ||
| 1612 | M-x picture-mode. (This is a minor mode, in theory anyway ...) | 1386 | M-x picture-mode. (This is a minor mode, in theory anyway ...) |
| 1613 | 1387 | ||
| 1614 | 59: How do I tell Emacs to iconify itself? | 1388 | 57: How do I tell Emacs to iconify itself? |
| 1615 | 1389 | ||
| 1616 | You need to modify C source and recompile. Either that or get Epoch or | 1390 | "C-z" iconifies Emacs when running in X and suspends Emacs otherwise. |
| 1617 | Lucid Emacs instead. Patches have been written by Robert Forsman | 1391 | See `Misc X' in the on-line manual. |
| 1618 | <thoth@reef.cis.ufl.edu> and Johan Vromans <jv@mh.nl> to allow Emacs to | 1392 | |
| 1619 | iconify itself and by Matt Wette <mwette@mr-ed.jpl.nasa.gov> and | 1393 | 58: How do I use regexps (regular expressions) in Emacs? |
| 1620 | Manavendra K. Thakur <thakur@zerkalo.harvard.edu> (for 18.57, plus icon | 1394 | |
| 1621 | geometry) to allow Emacs to start up iconified. I don't know which of | 1395 | See `Regexps' in the on-line manual. |
| 1622 | these patches work together. | 1396 | |
| 1623 | |||
| 1624 | Anonymous FTP: | ||
| 1625 | /csi.jpl.nasa.gov:pub/emax.patch1 (Matt Wette) | ||
| 1626 | /ftp.eu.net:gnu/emacs/FP-Xfun.Z (Johan Vromans) | ||
| 1627 | /ftp.urc.tue.nl:/pub/tex/emacs/FP-Xfun (Johan Vromans) | ||
| 1628 | |||
| 1629 | 60: How do I use regexps (regular expressions) in Emacs? | ||
| 1630 | |||
| 1631 | See `Regexps' in the online manual. | ||
| 1632 | |||
| 1633 | WARNING: The "or" operator is `\|', not `|', and the grouping operators | 1397 | WARNING: The "or" operator is `\|', not `|', and the grouping operators |
| 1634 | are `\(' and `\)'. Also, the string syntax for a backslash is "\\". | 1398 | are `\(' and `\)'. Also, the string syntax for a backslash is "\\". |
| 1635 | Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is | 1399 | Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is |
| 1636 | "xxx\\(foo\\|bar\\)". Notice the duplicated backslashes! | 1400 | "xxx\\(foo\\|bar\\)". Notice the duplicated backslashes! |
| 1637 | 1401 | ||
| 1638 | WARNING: Unlike in Unix grep, sed, etc., a complement character set | 1402 | WARNING: Unlike in Unix grep, sed, etc., a complement character set |
| 1639 | ([^...]) can match a newline character (LFD aka C-j aka \n), unless | 1403 | ([^...]) can match a newline character (LFD aka C-j aka \n), unless |
| 1640 | newline is mentioned as one of the characters not to match. | 1404 | newline is mentioned as one of the characters not to match. |
| 1641 | 1405 | ||
| 1642 | WARNING: The character syntax regexps (eg. `\sw') are not meaningful | 1406 | WARNING: The character syntax regexps (e.g., `\sw') are not meaningful |
| 1643 | inside character set regexps (eg. `[aeiou]'). (This is actually typical | 1407 | inside character set regexps (e.g., `[aeiou]'). (This is actually |
| 1644 | for regexp syntax.) | 1408 | typical for regexp syntax.) |
| 1645 | 1409 | ||
| 1646 | 61: How do I perform a replace operation across more than one file? | 1410 | 59: How do I perform a replace operation across more than one file? |
| 1647 | 1411 | ||
| 1648 | The "tags" feature of Emacs includes the command tags-query-replace which | 1412 | The "tags" feature of Emacs includes the command tags-query-replace which |
| 1649 | performs a query-replace across all the files mentioned in the TAGS file. | 1413 | performs a query-replace across all the files mentioned in the TAGS file. |
| 1650 | See `Tags:Tags Search' in the online manual. | 1414 | See `Tags:Tags Search' in the on-line manual. |
| 1651 | 1415 | ||
| 1652 | In addition, Martin Boyer has written a package named global-replace which | 1416 | In addition, Martin Boyer has written a package named global-replace |
| 1653 | will perform a query-replace across all the files mentioned in the | 1417 | which will perform a query-replace across all the files mentioned in the |
| 1654 | *compilation* buffer (usually done after a `grep'), which is available via | 1418 | *compilation* buffer (usually done after a `grep'), which is available |
| 1655 | anonymous FTP: | 1419 | via anonymous FTP: |
| 1656 | 1420 | ||
| 1657 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.Z | 1421 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.z |
| 1658 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.Z | 1422 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.z |
| 1659 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.Z | 1423 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.z |
| 1660 | 1424 | ||
| 1661 | 62: Where is the documentation for `etags'? | 1425 | NOTE: These files are compressed using GNU zip ("gzip"); you can get a |
| 1662 | 1426 | copy from gzip from prep and its mirrors (see question 80). | |
| 1663 | `etags' takes options just like a prior version of ctags, so your ctags | 1427 | |
| 1664 | manual (if any) may be useful. Eoin Woods, in comp.emacs, writes the ! | 1428 | 60: Where is the documentation for `etags'? |
| 1665 | following: ! | 1429 | |
| 1666 | ! | 1430 | The `etags' man page should be in the same place as the `emacs' man page. |
| 1667 | From reading the source (!) the way I use it is: ! | 1431 | |
| 1668 | ! | 1432 | Quick command-line switch descriptions are also available. For example, |
| 1669 | for f in `find <args>` ! | 1433 | `etags -H'. |
| 1670 | do ! | ||
| 1671 | etags -at -f ETAGS $f ! | ||
| 1672 | done ! | ||
| 1673 | ! | ||
| 1674 | The "-t" option means to create tags for typedefs as well as functions. ! | ||
| 1675 | The "-a" option tells it to append to the output file. If you have a ! | ||
| 1676 | small number of files (up to a few hundred I think) you can use it ! | ||
| 1677 | direct as: ! | ||
| 1678 | ! | ||
| 1679 | etags -f ETAGS file1 file2 file3 ... filen ! | ||
| 1680 | ! | ||
| 1681 | The option list is: ! | ||
| 1682 | ! | ||
| 1683 | -f file - Specify the output file name (Default is "TAGS") ! | ||
| 1684 | -a - Append to the output file. (Default is to rewrite it) ! | ||
| 1685 | -t - Create tags for typedefs (default is just functions) ! | ||
| 1686 | -u - Update the output file. Do not re-create it. ! | ||
| 1687 | -w - Suppress warnings ! | ||
| 1688 | -v - Create vgrind style indexed output (What is vgrind??) ! | ||
| 1689 | -x - Create cxref style output (default is Emacs Tags) ! | ||
| 1690 | -e - Emacs tags style output (the default the way I ! | ||
| 1691 | compile it) ! | ||
| 1692 | ! | ||
| 1693 | Having got it working, it works fine! ! | ||
| 1694 | |||
| 1695 | 1434 | ||
| 1696 | 1435 | ||
| 1697 | Bugs/Problems | 1436 | Bugs/Problems |
| 1698 | 1437 | ||
| 1699 | 63: Does Emacs have problems with files larger than 8 megabytes? | 1438 | 61: Does Emacs have problems with files larger than 8 megabytes? |
| 1700 | 1439 | ||
| 1701 | Most installed versions of GNU Emacs will use 24-bit signed integers (and | 1440 | Most installed versions of GNU Emacs will use 24-bit signed integers (and |
| 1702 | 24-bit pointers) internally. This limits the file size that Emacs can | 1441 | 24-bit pointers) internally. This limits the file size that Emacs can |
| 1703 | handle to 8,388,607 bytes (2^23 - 1). | 1442 | handle to 8,388,607 bytes (2^23 - 1). |
| 1704 | 1443 | ||
| 1705 | Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two | 1444 | Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two |
| 1706 | lines in src/config.h before compiling Emacs to allow for 26-bit integers | 1445 | lines in src/config.h before compiling Emacs to allow for 26-bit integers |
| 1707 | and pointers (and thus filesizes of up to 33,554,431 bytes): | 1446 | and pointers (and thus filesizes of up to 33,554,431 bytes): |
| 1708 | 1447 | ||
| 1709 | #define VALBITS 26 | 1448 | #define VALBITS 26 |
| 1710 | #define GCTYPEBITS 5 | 1449 | #define GCTYPEBITS 5 |
| 1711 | 1450 | ||
| 1712 | WARNING: This method may result in `ILLEGAL DATATYPE' and other random | 1451 | WARNING: This method may result in `ILLEGAL DATATYPE' and other random |
| 1713 | errors on some machines. | 1452 | errors on some machines. |
| 1714 | 1453 | ||
| 1715 | David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why | 1454 | David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why |
| 1716 | Emacs uses 24 bit integers and pointers: | 1455 | Emacs uses 24 bit integers and pointers: |
| 1717 | 1456 | ||
| 1718 | Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed | 1457 | Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed |
| 1719 | language in the sense that you can put any value of any type into any | 1458 | language in the sense that you can put any value of any type into any |
| 1720 | variable, or return it from a function, and so on. So each value must | 1459 | variable, or return it from a function, and so on. So each value must |
| 1721 | carry a "tag" along with it identifying what kind of thing it is, eg., | 1460 | carry a "tag" along with it identifying what kind of thing it is, e.g., |
| 1722 | integer, pointer to a list, pointer to an editing buffer, and so on. | 1461 | integer, pointer to a list, pointer to an editing buffer, and so on. |
| 1723 | Emacs uses standard 32-bit integers for data objects, taking the top 8 | 1462 | Emacs uses standard 32-bit integers for data objects, taking the top 8 |
| 1724 | bits for the tag and the bottom 24 bits for the value. So integers (and | 1463 | bits for the tag and the bottom 24 bits for the value. So integers |
| 1725 | pointers) are somewhat restricted compared to true C integers and | 1464 | (and pointers) are somewhat restricted compared to true C integers and |
| 1726 | pointers. | 1465 | pointers. |
| 1727 | 1466 | ||
| 1728 | Emacs uses 8-bit tags because that's a little faster on byte-oriented | 1467 | Emacs uses 8-bit tags because that's a little faster on byte-oriented |
| 1729 | machines, but there are only really enough tags to require 6 bits. | 1468 | machines, but there are only really enough tags to require 6 bits. |
| 1730 | 1469 | ||
| 1731 | 64: Why can't Emacs find files in current directory on startup? | 1470 | 62: How do I get rid of the ^M junk in my shell buffer? |
| 1732 | 1471 | ||
| 1733 | The PWD bug has been fixed as of GNU Emacs 18.59. Read on if you are | 1472 | Try typing "M-x shell-strip-ctrl-m RET" while in shell-mode to make them |
| 1734 | running an older version of Emacs. | 1473 | go away. If that doesn't work, you have several options: |
| 1735 | 1474 | ||
| 1736 | Most likely, you have an environment variable named PWD that is set to a | ||
| 1737 | value other than the name of your current directory. This is most | ||
| 1738 | likely caused by using two different shell programs. `ksh' and (some | ||
| 1739 | versions of) `csh' set and maintain the value of the PWD environment | ||
| 1740 | variable, but `sh' doesn't. If you start sh from ksh, change your | ||
| 1741 | current directory inside sh, and then start Emacs from inside sh, PWD | ||
| 1742 | will have the wrong value but Emacs will use this value. An invalid | ||
| 1743 | setting for PWD can also be a problem if you use X Windows and csh on an | ||
| 1744 | RS/6000. See the etc/OPTIONS file for more details. | ||
| 1745 | |||
| 1746 | Perhaps an easier solution is not to use two shells. The `chsh' program | ||
| 1747 | can often be used to change one's default login shell. | ||
| 1748 | |||
| 1749 | You may have PWD set for other reasons. Another possibility is that you | ||
| 1750 | are setting default-directory from your .emacs file. | ||
| 1751 | |||
| 1752 | Here is a fix by Jim Blandy <jimb@occs.cs.oberlin.edu>: | ||
| 1753 | |||
| 1754 | >--- emacs/jjj/emacs-18.58/lisp/startup.el Tue Jan 15 23:19:04 1991 | ||
| 1755 | >+++ startup.el Mon Apr 20 00:21:01 1992 | ||
| 1756 | >@@ -81,5 +81,7 @@ | ||
| 1757 | > ;; In presence of symlinks, switch to cleaner form of default directory. | ||
| 1758 | > (if (and (not (eq system-type 'vax-vms)) | ||
| 1759 | >- (getenv "PWD")) | ||
| 1760 | >+ (getenv "PWD") | ||
| 1761 | >+ (equal (nthcdr 10 (file-attributes default-directory)) | ||
| 1762 | >+ (nthcdr 10 (file-attributes (getenv "PWD"))))) | ||
| 1763 | > (setq default-directory (file-name-as-directory (getenv "PWD")))) | ||
| 1764 | > (unwind-protect | ||
| 1765 | |||
| 1766 | 65: How do I get rid of the ^M junk in my Shell buffer? | ||
| 1767 | |||
| 1768 | For tcsh, put this in your `.cshrc' (or `.tcshrc') file: | 1475 | For tcsh, put this in your `.cshrc' (or `.tcshrc') file: |
| 1769 | 1476 | ||
| 1770 | if ($?EMACS) then | 1477 | if ($?EMACS) then |
| 1771 | if ("$EMACS" == t) then | 1478 | if ("$EMACS" == t) then |
| 1772 | if ($?tcsh) unset edit | 1479 | if ($?tcsh) unset edit |
| 1773 | stty nl | 1480 | stty nl |
| 1774 | endif | 1481 | endif |
| 1775 | endif | 1482 | endif |
| 1776 | 1483 | ||
| 1777 | Or put this in your .emacs_tcsh file: | 1484 | Or put this in your .emacs_tcsh file: |
| 1778 | 1485 | ||
| 1779 | unset edit | 1486 | unset edit |
| 1780 | stty nl | 1487 | stty nl |
| 1781 | 1488 | ||
| 1782 | Alternatively, use csh in your Shell buffers instead of tcsh. One way | 1489 | Alternatively, use csh in your shell buffers instead of tcsh. One way |
| 1783 | is: | 1490 | is: |
| 1784 | 1491 | ||
| 1785 | (setq explicit-shell-file-name "/bin/csh") | 1492 | (setq explicit-shell-file-name "/bin/csh") |
| 1786 | 1493 | ||
| 1787 | and another is to do this in your .cshrc (or .tcshrc) file: | 1494 | and another is to do this in your .cshrc (or .tcshrc) file: |
| 1788 | 1495 | ||
| 1789 | setenv ESHELL /bin/csh | 1496 | setenv ESHELL /bin/csh |
| 1790 | 1497 | ||
| 1791 | (You must start Emacs over again with the environment variable properly | 1498 | (You must start Emacs over again with the environment variable properly |
| 1792 | set for this to take effect.) | 1499 | set for this to take effect.) |
| 1793 | 1500 | ||
| 1794 | 66: Why do I get `Process shell exited abnormally with code 1'? | 1501 | 63: Why do I get `Process shell exited abnormally with code 1'? |
| 1795 | 1502 | ||
| 1796 | The most likely reason for this message is that the `env' program is not | 1503 | The most likely reason for this message is that the `env' program is not |
| 1797 | properly installed. This program should be compiled (for the correct | 1504 | properly installed. Compile this program for your architecture, and |
| 1798 | architecture!) and installed with execute permission for everyone in | 1505 | install it with a+x permission in the architecture-dependent Emacs |
| 1799 | Emacs's program directory, which is normally /usr/local/emacs/etc. You | 1506 | program directory. (You can find what this directory is at your site by |
| 1800 | can find what this directory is at your site by inspecting the value of | 1507 | inspecting the value of the variable exec-directory by typing "C-h v |
| 1801 | the variable exec-directory by typing "C-h v exec-directory RET". `env' | 1508 | exec-directory RET".) |
| 1802 | should also be for the correct architecture (check using `file' command). | 1509 | |
| 1803 | 1510 | You should also check for other programs named `env' in your path (e.g., | |
| 1804 | You should also check for other programs named `env' in your path (eg., | 1511 | SunOS has a program named /usr/bin/env). We don't understand why this |
| 1805 | SunOS has a program named /usr/bin/env). I don't understand why this can | 1512 | can cause a failure and don't know a general solution for working around |
| 1806 | cause a failure and I don't know a general solution for working around the | 1513 | the problem in this case. |
| 1807 | problem in this case. | 1514 | |
| 1808 | 1515 | The `make clean' command will remove `env' and other vital programs, so | |
| 1809 | The `make clean' command will remove `env' and other vital programs, so be | 1516 | be careful when using it. |
| 1810 | careful when using it. | 1517 | |
| 1811 | |||
| 1812 | It has been reported that this sometimes happened when Emacs was started | 1518 | It has been reported that this sometimes happened when Emacs was started |
| 1813 | as an X client from an xterm window (ie. had a controlling tty) but the | 1519 | as an X client from an xterm window (i.e., had a controlling tty) but the |
| 1814 | xterm was later terminated. | 1520 | xterm was later terminated. |
| 1815 | 1521 | ||
| 1816 | See also etc/PROBLEMS for other possible causes of this message. | 1522 | See also PROBLEMS (in the top-level directory when you unpack the Emacs |
| 1817 | 1523 | source) for other possible causes of this message. | |
| 1818 | 67: Why can't I cut from Emacs and paste in other X programs? | 1524 | |
| 1819 | 1525 | 64: Where is the termcap/terminfo entry for terminal type `emacs'? | |
| 1820 | Emacs stores things you "cut" in the X "cut buffers". It also pastes from | 1526 | |
| 1821 | the cut buffer `CUT_BUFFER0'. This is obsolete. Most modern X programs | ||
| 1822 | now expect to work with "selections" instead of cut buffers, although some | ||
| 1823 | like `xterm' will try to use the cut buffers if the selection is null. | ||
| 1824 | |||
| 1825 | Emacs 18.58 contains a "fix" that makes xterm work by default. This | ||
| 1826 | "fix" is that Emacs clears the `PRIMARY' selection when it stores | ||
| 1827 | something in the cut buffer. By making the selection null, xterm will | ||
| 1828 | then fetch from the cut buffer when you try to paste. | ||
| 1829 | |||
| 1830 | For versions of Emacs prior to 18.58, you can make pasting from Emacs into | ||
| 1831 | xterm work with the following X resources: | ||
| 1832 | |||
| 1833 | ! Solution by Thomas Narten, should work under X11R3 and later GNU | ||
| 1834 | ! Emacs only copies to CUT_BUFFER0. xterm by default wants to paste | ||
| 1835 | ! from the PRIMARY selection. | ||
| 1836 | XTerm*VT100.Translations: #override \ | ||
| 1837 | ~Meta <Btn2Up>: insert-selection(CUT_BUFFER0,PRIMARY) | ||
| 1838 | |||
| 1839 | You may have problems copying between Emacs and programs other than xterm | ||
| 1840 | that won't store cut text in the cut buffers or look in the cut buffers | ||
| 1841 | for text to paste (for backwards compatibility with obsolete applications | ||
| 1842 | like Emacs :-). The best workaround is to use the `xcutsel' program as an | ||
| 1843 | intermediary. | ||
| 1844 | |||
| 1845 | This problem does not exist for Epoch or Lucid Emacs. | ||
| 1846 | |||
| 1847 | 68: Where is the termcap/terminfo entry for terminal type `emacs'? | ||
| 1848 | |||
| 1849 | The termcap entry for terminal type `emacs' is ordinarily put in the | 1527 | The termcap entry for terminal type `emacs' is ordinarily put in the |
| 1850 | TERMCAP environment variable of subshells. It may help in certain | 1528 | TERMCAP environment variable of subshells. It may help in certain |
| 1851 | situations (eg., using rlogin from shell buffer) to add an entry for | 1529 | situations (e.g., using rlogin from shell buffer) to add an entry for |
| 1852 | `emacs' to the system-wide termcap file. Here is a correct termcap entry | 1530 | `emacs' to the system-wide termcap file. Here is a correct termcap entry |
| 1853 | for `emacs': | 1531 | for `emacs': |
| 1854 | 1532 | ||
| 1855 | emacs:tc=unknown: | 1533 | emacs:tc=unknown: |
| 1856 | 1534 | ||
| 1857 | To make a terminfo entry for `emacs', use `tic' or `captoinfo'. You need | 1535 | To make a terminfo entry for `emacs', use `tic' or `captoinfo'. You need |
| 1858 | to generate /usr/lib/terminfo/e/emacs. It may work to simply copy | 1536 | to generate /usr/lib/terminfo/e/emacs. It may work to simply copy |
| 1859 | /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs. | 1537 | /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs. |
| 1860 | 1538 | ||
| 1861 | Having a termcap/terminfo entry will not enable the use of full screen | 1539 | Having a termcap/terminfo entry will not enable the use of full screen |
| 1862 | programs in shell buffers. Use M-x terminal-emulator for that instead. | 1540 | programs in shell buffers. Use M-x terminal-emulator for that instead. |
| 1863 | 1541 | ||
| 1864 | A workaround to the problem of missing termcap/terminfo entries is to | 1542 | A workaround to the problem of missing termcap/terminfo entries is to |
| 1865 | change terminal type `emacs' to type `dumb' or `unknown' in your shell | 1543 | change terminal type `emacs' to type `dumb' or `unknown' in your shell |
| 1866 | start up file. `csh' users could put this in their .cshrc files: | 1544 | start up file. `csh' users could put this in their .cshrc files: |
| 1867 | 1545 | ||
| 1868 | if ("$term" == emacs) set term=dumb | 1546 | if ("$term" == emacs) set term=dumb |
| 1869 | 1547 | ||
| 1870 | 69: Why does Emacs spontaneously start displaying `I-search:' and beeping? | 1548 | 65: Why does Emacs spontaneously start displaying `I-search:' and beeping? |
| 1871 | 1549 | ||
| 1872 | Your terminal (or something between your terminal and the computer) is | 1550 | Your terminal (or something between your terminal and the computer) is |
| 1873 | sending C-s and C-q for flow control, and Emacs is receiving these | 1551 | sending C-s and C-q for flow control, and Emacs is receiving these |
| 1874 | characters and interpreting them as commands. (The C-s character normally | 1552 | characters and interpreting them as commands. (The C-s character |
| 1875 | invokes the isearch-forward command.) For possible solutions, see | 1553 | normally invokes the isearch-forward command.) For possible solutions, |
| 1876 | question 131. | 1554 | see question 110. |
| 1877 | 1555 | ||
| 1878 | 70: Why can't Emacs talk to certain hosts (or certain hostnames)? | 1556 | 66: Why can't Emacs talk to certain hosts (or certain hostnames)? |
| 1879 | 1557 | ||
| 1880 | The problem may be that Emacs is linked with a wimpier version of | 1558 | The problem may be that Emacs is linked with a wimpier version of |
| 1881 | gethostbyname than the rest of the programs on the machine. This is often | 1559 | gethostbyname than the rest of the programs on the machine. This is |
| 1882 | manifested as a message on startup of `X server not responding. Check | 1560 | often manifested as a message on startup of `X server not responding. |
| 1883 | your DISPLAY environment variable.' or a message of `Unknown host' from | 1561 | Check your DISPLAY environment variable.' or a message of `Unknown host' |
| 1884 | open-network-stream. | 1562 | from open-network-stream. |
| 1885 | 1563 | ||
| 1886 | On a Sun, this may be because Emacs had to be linked with the static C | 1564 | On a Sun, this may be because Emacs had to be linked with the static C |
| 1887 | library. The version of gethostbyname in the static C library may only | 1565 | library. The version of gethostbyname in the static C library may only |
| 1888 | look in /etc/hosts and the NIS (YP) maps, while the version in the dynamic | 1566 | look in /etc/hosts and the NIS (YP) maps, while the version in the |
| 1889 | C library may be smart enough to check DNS in addition to or instead of | 1567 | dynamic C library may be smart enough to check DNS in addition to or |
| 1890 | NIS. On a Motorola Delta running System V R3.6, the version of | 1568 | instead of NIS. On a Motorola Delta running System V R3.6, the version |
| 1891 | gethosbyname in the standard library works, but the one that works with | 1569 | of gethostbyname in the standard library works, but the one that works |
| 1892 | NIS doesn't (the one you get with -linet). Other operating systems have | 1570 | with NIS doesn't (the one you get with -linet). Other operating systems |
| 1893 | similar problems. | 1571 | have similar problems. |
| 1894 | 1572 | ||
| 1895 | Try these options: | 1573 | Try these options: |
| 1896 | 1574 | ||
| 1897 | * Explicitly add the host you want to communicate with to /etc/hosts. | 1575 | * Explicitly add the host you want to communicate with to /etc/hosts. |
| 1898 | 1576 | ||
| 1899 | * Relink Emacs with this line in src/config.h: | 1577 | * Relink Emacs with this line in src/config.h: |
| 1900 | 1578 | ||
| 1901 | #define LIBS_SYSTEM -lresolv | 1579 | #define LIBS_SYSTEM -lresolv |
| 1902 | 1580 | ||
| 1903 | * Replace gethostbyname and friends in libc.a with more useful versions | 1581 | * Replace gethostbyname and friends in libc.a with more useful versions |
| 1904 | such as the ones in libresolv.a. Then relink Emacs. | 1582 | such as the ones in libresolv.a. Then relink Emacs. |
| 1905 | 1583 | ||
| 1906 | * If you are actually running NIS, make sure that `ypbind' is properly | 1584 | * If you are actually running NIS, make sure that `ypbind' is properly |
| 1907 | told to do DNS lookups with the correct command line switch. | 1585 | told to do DNS lookups with the correct command line switch. |
| 1908 | 1586 | ||
| 1909 | * Use tcp.el and tcp.c from GNUS. This has the additional advantage that | 1587 | * Use tcp.el and tcp.c from Gnus. This has the additional advantage that |
| 1910 | you can use numeric IP addresses instead of names. open-network-stream | 1588 | you can use numeric IP addresses instead of names. open-network-stream |
| 1911 | currently can't handle numeric addresses. Brian Thomson | 1589 | currently can't handle numeric addresses. Brian Thomson |
| 1912 | <thomson@hub.toronto.edu> has a enhancement to open-network-stream to | 1590 | <thomson@hub.toronto.edu> has a enhancement to open-network-stream to |
| 1913 | allow it to handle numeric addresses. | 1591 | allow it to handle numeric addresses. |
| 1914 | 1592 | ||
| 1915 | 71: Why does Emacs say `Error in init file'? | 1593 | 67: Why does Emacs say `Error in init file'? |
| 1916 | 1594 | ||
| 1917 | An error occurred while loading either your .emacs file or the system-wide | 1595 | An error occurred while loading either your .emacs file or the |
| 1918 | lisp/default.el file. For information on how to debug your .emacs file, | 1596 | system-wide lisp/default.el file. For information on how to debug your |
| 1919 | see question 29. | 1597 | .emacs file, see question 27. |
| 1920 | 1598 | ||
| 1921 | It may be the case that you may need to load some package first, or use a | 1599 | It may be the case that you may need to load some package first, or use a |
| 1922 | hook that will be evaluated after the package is loaded. A common case of | 1600 | hook that will be evaluated after the package is loaded. A common case |
| 1923 | this is explained in question 127. | 1601 | of this is explained in question 106. |
| 1924 | 1602 | ||
| 1925 | 72: Why does Emacs ignore my X resources (my .Xdefaults file)? | 1603 | 68: Why does Emacs ignore my X resources (my .Xdefaults file)? |
| 1926 | 1604 | ||
| 1927 | * Try compiling Emacs with the XBACKWARDS macro defined. There is a bug | 1605 | As of version 19, Emacs searches for X resources in the files specified |
| 1928 | in some implementations of XGetDefault, which do not correspond to the | 1606 | by the XFILESEARCHPATH, XUSERFILESEARCHPATH, and XAPPLRESDIR environment |
| 1929 | documentation or the header files. | 1607 | variables, emulating the functionality provided by programs written using |
| 1930 | 1608 | Xt. | |
| 1931 | * Make sure you are either using the class name of `Emacs' (oops, | 1609 | |
| 1932 | apparently this is buggy in Emacs 18.58!) or the correct instance name. | 1610 | XFILESEARCHPATH and XUSERFILESEARCHPATH should be a list of file names |
| 1933 | The instance name is normally the same as the name of the file Emacs is | 1611 | separated by colons; XAPPLRESDIR should be a list of directory names |
| 1934 | in (ie., the last part of argv[0]), but this can be overridden by -rn | 1612 | separated by colons. |
| 1935 | command line option or the WM_RES_NAME environment variable. | 1613 | |
| 1936 | 1614 | Emacs searches for X resources | |
| 1937 | WARNING: Reports say using the class name fails in Emacs 18.58. | 1615 | |
| 1938 | 1616 | + specified on the command line, with the `-xrm RESOURCESTRING' | |
| 1939 | WARNING: The advice the man page gives to use `emacs' is often wrong. | 1617 | option, |
| 1940 | 1618 | + then in the value of the XENVIRONMENT environment variable, | |
| 1941 | WARNING: Older versions of Emacs got the class name wrong. | 1619 | - or if that is unset, in the file named ~/.Xdefaults-HOSTNAME if it |
| 1942 | 1620 | exists | |
| 1943 | * Emacs currently ignores the -xrm command line argument. | 1621 | (where HOSTNAME is the hostname of the machine Emacs is running on), |
| 1944 | 1622 | + then in the screen-specific and server-wide resource properties | |
| 1945 | * Emacs does not yet handle X11R5 screen-specific resources. | 1623 | provided by the server, |
| 1946 | 1624 | - or if those properties are unset, in the file named ~/.Xdefaults | |
| 1947 | * Emacs has a bug where it ignores color specifications if running on a | 1625 | if it exists, |
| 1948 | 1-bit display (ie. a non-color display). | 1626 | + then in the files listed in XUSERFILESEARCHPATH, |
| 1949 | 1627 | - or in files named LANG/Emacs in directories listed in XAPPLRESDIR | |
| 1950 | * I don't think Emacs will use either of the application-specific resource | 1628 | (where LANG is the value of the LANG environment variable), if |
| 1951 | files. Thus these environment variables don't affect it: XAPPLRESDIR, | 1629 | the LANG environment variable is set, |
| 1952 | XUSERFILESEARCHPATH, XFILESEARCHPATH. {Correct?} | 1630 | - or in files named Emacs in the directories listed in XAPPLRESDIR |
| 1953 | 1631 | - or in ~/LANG/Emacs (if the LANG environment variable is set), | |
| 1954 | 73: Why does Emacs take 20 seconds to visit a file? | 1632 | - or in ~/Emacs, |
| 1955 | 1633 | + then in the files listed in XFILESEARCHPATH. | |
| 1634 | |||
| 1635 | 69: Why does Emacs take 20 seconds to visit a file? | ||
| 1636 | |||
| 1956 | The usual cause is that the master lock file, `!!!SuperLock!!!' has been | 1637 | The usual cause is that the master lock file, `!!!SuperLock!!!' has been |
| 1957 | left in the lock directory somehow. Delete it. | 1638 | left in the lock directory somehow. Delete it. |
| 1958 | 1639 | ||
| 1959 | Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an | 1640 | Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an |
| 1960 | exclusive create succeeds but returns an error status. This can cause the | 1641 | exclusive create succeeds but returns an error status. This can cause the |
| 1961 | same problem. Since Emacs's file locking doesn't work over NFS anyway, | 1642 | same problem. Since Emacs's file locking doesn't work over NFS anyway, |
| 1962 | the best solution is to recompile Emacs with CLASH_DETECTION undefined. | 1643 | the best solution is to recompile Emacs with CLASH_DETECTION undefined. |
| 1963 | 1644 | ||
| 1964 | 74: How do I edit a file with a `$' in its name? | 1645 | 70: How do I edit a file with a `$' in its name? |
| 1965 | 1646 | ||
| 1966 | When entering a filename in the minibuffer, Emacs will attempt to expand | 1647 | When entering a filename in the minibuffer, Emacs will attempt to expand |
| 1967 | a `$' followed by a word as an environment variable. To suppress this | 1648 | a `$' followed by a word as an environment variable. To suppress this |
| 1968 | behavior, type "$$" instead. | 1649 | behavior, type "$$" instead. |
| 1969 | |||
| 1970 | 75: Why does Shell mode lose track of the shell's current directory? | ||
| 1971 | |||
| 1972 | Emacs has no way of knowing when the shell actually changes its directory. | ||
| 1973 | This is an intrinsic limitation of Unix. So it tries to guess by | ||
| 1974 | recognizing `cd' commands. If you type `cd' followed by a directory name | ||
| 1975 | with a variable reference (`cd $HOME/bin') or with a shell metacharacter | ||
| 1976 | (`cd ../lib*'), Emacs will fail to correctly guess the shell's new current | ||
| 1977 | directory. A huge variety of fixes and enhancements to Shell mode for | ||
| 1978 | this problem have been written to handle this problem. Check the Lisp | ||
| 1979 | Code Directory (see question 88). | ||
| 1980 | |||
| 1981 | 76: Why doesn't my change to load-path work? | ||
| 1982 | |||
| 1983 | If you added a directory name containing a tilde (~) to your load-path, | ||
| 1984 | expecting the tilde to be interpreted as your home directory, then you | ||
| 1985 | need to do something like this: | ||
| 1986 | |||
| 1987 | (setq load-path (mapcar 'expand-file-name load-path)) | ||
| 1988 | |||
| 1989 | 77: Why does the cursor always go to the wrong column when I move up or | ||
| 1990 | down one line? | ||
| 1991 | |||
| 1992 | You have inadvertently typed "C-x C-n" (set-goal-column) which sets the | ||
| 1993 | "goal column" to the column where the cursor was. To undo this type | ||
| 1994 | "C-u C-x C-n". | ||
| 1995 | |||
| 1996 | If you make this mistake frequently, you might want to unbind or disable | ||
| 1997 | this command by doing one of these two: | ||
| 1998 | |||
| 1999 | (define-key ctl-x-map "\C-n" nil) | ||
| 2000 | (put 'set-goal-column 'disabled t) | ||
| 2001 | |||
| 2002 | 78: Why does Emacs hang with message `Unknown XMenu error' with X11R4? | ||
| 2003 | |||
| 2004 | Many different X errors can produce this message. Here is the solution | ||
| 2005 | to one problem: | ||
| 2006 | |||
| 2007 | X11 Release 4 (and later, including OpenWindows) enforces some conditions | ||
| 2008 | in the X protocol that were previously allowed to pass unnoticed. You | ||
| 2009 | need to put the X11R4 server into X11R3 bug compatibility mode for Emacs's | ||
| 2010 | Xmenu code to work. You can do this with the command `xset bc'. | ||
| 2011 | |||
| 2012 | 79: Why doesn't display-time show the load average in the mode line | ||
| 2013 | anymore? | ||
| 2014 | |||
| 2015 | In GNU Emacs 18.56, a change was made in the display-time code. | ||
| 2016 | Formerly, in version 18.55, Emacs used a program named `loadst' to | ||
| 2017 | notify Emacs of the change in time every minute. loadst also sent Emacs | ||
| 2018 | the system load average if it was installed with sufficient privilege to | ||
| 2019 | get that information (or was on a system where no such privilege was | ||
| 2020 | needed). Emacs then displayed this information in the mode line. | ||
| 2021 | |||
| 2022 | In version 18.56, this code was changed to use a program named `wakeup'. | ||
| 2023 | wakeup doesn't send Emacs any information, it's only purpose is to send | ||
| 2024 | Emacs *something* every minute, thus invoking the filter function in | ||
| 2025 | Emacs once a minute. The filter function in Emacs does all the work of | ||
| 2026 | finding the time, date, and load average. However, getting the load | ||
| 2027 | average requires the privilege to read kernel memory on most systems. | ||
| 2028 | Since giving Emacs this privilege would destroy any security a system | ||
| 2029 | might have, for almost everyone this is not an option. In addition, | ||
| 2030 | Emacs does not have the code built into it to get this information on | ||
| 2031 | the systems which have special system calls for this purpose, even | ||
| 2032 | though loadst had code for this. | ||
| 2033 | |||
| 2034 | The solution I use is to get the files lisp/display-time.el and | ||
| 2035 | etc/loadst.c from version 18.55 and use those with 18.58. (I have heard | ||
| 2036 | a rumor that loadst disappeared because of the legal action Unipress | ||
| 2037 | threatened against IBM.) | ||
| 2038 | |||
| 2039 | WARNING: Do not install Emacs setgid kmem unless you wish to destroy | ||
| 2040 | any security your system might have!!!!!!!!!! | ||
| 2041 | |||
| 2042 | If you are using Emacs 18.55 or earlier, or already using the solution I | ||
| 2043 | describe above, read further: | ||
| 2044 | |||
| 2045 | The most likely cause of the problem is that `loadst' can't read the | ||
| 2046 | special file /dev/kmem. To properly install loadst, it should be either | ||
| 2047 | setuid to the owner of /dev/kmem, or is should be setgid to the group to | ||
| 2048 | which /dev/kmem belongs. In either case, /dev/kmem should be readable by | ||
| 2049 | its owner or its group, respectively. Assuming the existence of a group | ||
| 2050 | named `kmem', here is an example of how to do this: | ||
| 2051 | |||
| 2052 | chgrp kmem /dev/kmem | ||
| 2053 | chmod g+r /dev/kmem | ||
| 2054 | chgrp kmem /usr/local/emacs/etc/loadst | ||
| 2055 | chmod g+s /usr/local/emacs/etc/loadst | ||
| 2056 | |||
| 2057 | Another possibility is that your version of Unix doesn't have the load | ||
| 2058 | average data available in /dev/kmem. Your version of Unix might have a | ||
| 2059 | special system call to retrieve this information (eg., inq_stats under | ||
| 2060 | UMAX), and loadst might not have been enhanced to cope with this. | ||
| 2061 | |||
| 2062 | 80: Why does ispell sometimes ignore the local dictionary? | ||
| 2063 | |||
| 2064 | You need to update the version of Ispell to 2.0.02. (Or you can switch to | ||
| 2065 | version 3.0 which is still in beta-testing.) A patch is available via | ||
| 2066 | anonymous FTP: | ||
| 2067 | 1650 | ||
| 2068 | /archive.cis.ohio-state.edu:pub/gnu/ispell/patch2.Z | 1651 | 71: Why does shell mode lose track of the shell's current directory? |
| 2069 | 1652 | ||
| 2070 | You also need to change a line in ispell.el from: | 1653 | Emacs has no way of knowing when the shell actually changes its |
| 2071 | 1654 | directory. This is an intrinsic limitation of Unix. So it tries to | |
| 2072 | (defconst ispell-version "2.0.01") ; Check against output of "ispell -v". | 1655 | guess by recognizing `cd' commands. If you type `cd' followed by a |
| 2073 | 1656 | directory name with a variable reference (`cd $HOME/bin') or with a shell | |
| 2074 | to: | 1657 | metacharacter (`cd ../lib*'), Emacs will fail to correctly guess the |
| 2075 | 1658 | shell's new current directory. A huge variety of fixes and enhancements | |
| 2076 | (defconst ispell-version "2.0.02") ; Check against output of "ispell -v". | 1659 | to shell mode for this problem have been written to handle this problem. |
| 2077 | 1660 | Check the Lisp Code Directory (see question 77). | |
| 2078 | 81: Why does Ispell treat each line as a single word? | 1661 | |
| 2079 | 1662 | You can tell Emacs the shell's current directory with the command "M-x | |
| 2080 | Ispell expects to get its input one word per line. The ispell filter, | 1663 | dirs". |
| 2081 | which is specified by the variables ispell-filter-hook and | 1664 | |
| 2082 | ispell-filter-hook-args, should output at most one word per line. | 1665 | 72: Are there any security risks in GNU Emacs? |
| 2083 | 1666 | ||
| 2084 | 82: Are there any security risks in GNU Emacs? | ||
| 2085 | |||
| 2086 | * the `movemail' incident (No, this is not a risk.) | 1667 | * the `movemail' incident (No, this is not a risk.) |
| 2087 | 1668 | ||
| 2088 | Cliff Stoll in his book `The Cuckoo's Egg' describes this in chapter 4. | 1669 | In his book "The Cuckoo's Egg," Cliff Stoll describes this in chapter |
| 2089 | The site at LBL had installed the `etc/movemail' program setuid root. | 1670 | 4. The site at LBL had installed the `etc/movemail' program setuid |
| 2090 | Since `movemail' had not been designed for this situation, a security | 1671 | root. (As of version 19, movemail is in your architecture-specific |
| 2091 | hole was created and users could get root privileges. | 1672 | directory; type "C-h v directory RET" to see what it is.) Since |
| 2092 | 1673 | `movemail' had not been designed for this situation, a security hole | |
| 2093 | `movemail' has since been changed so that even if it is installed setuid | 1674 | was created and users could get root privileges. |
| 2094 | root this security hole will not be a result. | 1675 | |
| 2095 | 1676 | `movemail' has since been changed so that even if it is installed | |
| 2096 | I have heard unverified reports that the Internet worm took advantage of | 1677 | setuid root this security hole will not be a result. |
| 2097 | this configuration problem. | 1678 | |
| 2098 | 1679 | We have heard unverified reports that the Internet worm took advantage | |
| 1680 | of this configuration problem. | ||
| 1681 | |||
| 2099 | * the file-local-variable feature (Yes, a risk, but easy to change.) | 1682 | * the file-local-variable feature (Yes, a risk, but easy to change.) |
| 2100 | 1683 | ||
| 2101 | There is an Emacs feature that allows the setting of local values for | 1684 | There is an Emacs feature that allows the setting of local values for |
| 2102 | variables when editing a file by including specially formatted text near | 1685 | variables when editing a file by including specially formatted text |
| 2103 | the end of the file. This feature also includes the ability to have | 1686 | near the end of the file. This feature also includes the ability to |
| 2104 | arbitrary Emacs Lisp code evaluated when the file is visited. | 1687 | have arbitrary Emacs Lisp code evaluated when the file is visited. |
| 2105 | Obviously, there is a potential for Trojan horses to exploit this | 1688 | Obviously, there is a potential for Trojan horses to exploit this |
| 2106 | feature. | 1689 | feature. |
| 2107 | 1690 | ||
| 2108 | If you set the variable inhibit-local-variables to a non-nil value, | 1691 | If you set the variable inhibit-local-variables to a non-nil value, |
| 2109 | Emacs will display the special local variable settings of a file that | 1692 | Emacs will display the special local variable settings of a file that |
| 2110 | you visit and ask you if you really want them. This variable is not | 1693 | you visit and ask you if you really want them. This variable is not |
| 2111 | mentioned in the manual. | 1694 | mentioned in the manual. |
| 2112 | 1695 | ||
| 2113 | It is wise to do this in lisp/site-init.el before building Emacs: | 1696 | It is wise to do this in lisp/site-init.el before building Emacs: |
| 2114 | 1697 | ||
| 2115 | (setq inhibit-local-variables t) | 1698 | (setq inhibit-local-variables t) |
| 2116 | 1699 | ||
| 2117 | If Emacs has already been built, the expression can be put in | 1700 | If Emacs has already been built, the expression can be put in |
| 2118 | lisp/default.el instead, or an individual can put it in their own .emacs | 1701 | lisp/default.el instead, or an individual can put it in their own |
| 2119 | file. | 1702 | .emacs file. |
| 2120 | 1703 | ||
| 2121 | The ability to exploit this feature by sending e-mail to an RMAIL user | 1704 | The ability to exploit this feature by sending e-mail to an Rmail user |
| 2122 | was fixed sometime after Emacs 18.52. However, any new package that | 1705 | was fixed sometime after Emacs 18.52. However, any new package that |
| 2123 | uses find-file or find-file-noselect has to be careful about this. | 1706 | uses find-file or find-file-noselect has to be careful about this. |
| 2124 | 1707 | ||
| 2125 | For more information, see `File Variables' in the online manual (which, | 1708 | For more information, see `File Variables' in the on-line manual |
| 2126 | incidentally, does not describe how to disable the feature). | 1709 | (which, incidentally, does not describe how to disable the feature). |
| 2127 | 1710 | ||
| 2128 | There is a new variable in Emacs 18.58 named ignore-local-eval which | ||
| 2129 | turns out to be useless as currently implemented. Ignore it. | ||
| 2130 | |||
| 2131 | * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.) | 1711 | * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.) |
| 2132 | 1712 | ||
| 2133 | Emacs accepts synthetic X events generated by the SendEvent request as | 1713 | Emacs accepts synthetic X events generated by the SendEvent request as |
| 2134 | though they were regular events. As a result, if you are using the | 1714 | though they were regular events. As a result, if you are using the |
| 2135 | trivial host-based authentication, other users who can open X | 1715 | trivial host-based authentication, other users who can open X |
| 2136 | connections to your X workstation can make your Emacs process do | 1716 | connections to your X workstation can make your Emacs process do |
| 2137 | anything, including run other processes with your privileges. | 1717 | anything, including run other processes with your privileges. |
| 2138 | 1718 | ||
| 2139 | The only fix for this is to prevent other users from being able to open | 1719 | The only fix for this is to prevent other users from being able to open |
| 2140 | X connections. The standard way to prevent this is to use a real | 1720 | X connections. The standard way to prevent this is to use a real |
| 2141 | authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the | 1721 | authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the |
| 2142 | `xauth' program has any effect, then you are probably using | 1722 | `xauth' program has any effect, then you are probably using |
| 2143 | MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication | 1723 | MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication |
| 2144 | method; ask your system administrator. | 1724 | method; ask your system administrator. |
| 2145 | 1725 | ||
| 2146 | If real authentication is not a possibility, you may be satisfied by | 1726 | If real authentication is not a possibility, you may be satisfied by |
| 2147 | just allowing hosts access for brief intervals while you start your X | 1727 | just allowing hosts access for brief intervals while you start your X |
| 2148 | programs, then removing the access. This reduces the risk somewhat by | 1728 | programs, then removing the access. This reduces the risk somewhat by |
| 2149 | narrowing the time window when hostile users would have access, but DOES | 1729 | narrowing the time window when hostile users would have access, but |
| 2150 | NOT ELIMINATE THE RISK. | 1730 | DOES NOT ELIMINATE THE RISK. |
| 2151 | |||
| 2152 | Lucid GNU Emacs does not accept synthetic X events unless you set a | ||
| 2153 | variable. | ||
| 2154 | |||
| 2155 | * autosave file permissions (Yes, a risk, hard to work around.) | ||
| 2156 | |||
| 2157 | The file permissions for autosave files are determined solely by the | ||
| 2158 | Emacs process's `umask' value. The permissions of the file being | ||
| 2159 | autosaved are not used. The easiest workaround is to keep sensitive | ||
| 2160 | files in protected directories. Sebastian Kremer has written an | ||
| 2161 | enhanced version of the autosave file name picking code that can avoid | ||
| 2162 | this problem by keeping autosave files in a protected directory. {FTP | ||
| 2163 | information please?} This problem will be fixed in Emacs 19. | ||
| 2164 | |||
| 2165 | 1731 | ||
| 2166 | 1732 | ||
| 2167 | Difficulties Building/Installing/Porting Emacs | 1733 | Difficulties Building/Installing/Porting Emacs |
| 2168 | 1734 | ||
| 2169 | 83: What should I do if I have trouble building Emacs? | 1735 | 73: What should I do if I have trouble building Emacs? |
| 2170 | 1736 | ||
| 2171 | First look in the file etc/PROBLEMS to see if there is already a solution | 1737 | First look in the file PROBLEMS (in the top-level directory when you |
| 2172 | for your problem. Next check the FAQ (you're reading it). If you don't | 1738 | unpack the Emacs source) to see if there is already a solution for your |
| 2173 | find a solution, then report your problem via e-mail to | 1739 | problem. Next check the FAQ (you're reading it). If you don't find a |
| 2174 | bug-gnu-emacs@prep.ai.mit.edu. Please do not post it to gnu.emacs.help or | 1740 | solution, then report your problem via e-mail to |
| 2175 | e-mail it to help-gnu-emacs@prep.ai.mit.edu. For further guidelines, see | 1741 | bug-gnu-emacs@prep.ai.mit.edu. Please do not post it to gnu.emacs.help |
| 2176 | question 8. | 1742 | or e-mail it to help-gnu-emacs@prep.ai.mit.edu. For further guidelines, |
| 2177 | 1743 | see question 8. | |
| 2178 | 84: How do I stop Emacs from failing when the executable is stripped? | 1744 | |
| 2179 | 1745 | 74: How do I stop Emacs from failing when the executable is stripped? | |
| 1746 | |||
| 2180 | Don't do that. | 1747 | Don't do that. |
| 2181 | 1748 | ||
| 2182 | This problem has been reported on SGI Indigo machines running Irix 4.0.* | 1749 | This problem has been reported on SGI Indigo machines running Irix 4.0.* |
| 2183 | and RS/6000 machines. Scott Henry <scotth@hoshi.corp.SGi.COM> posted a | 1750 | and RS/6000 machines. Scott Henry <scotth@hoshi.corp.SGi.COM> posted a |
| 2184 | patch that fixes the problem for Irix. | 1751 | patch that fixes the problem for Irix. |
| 2185 | 1752 | ||
| 2186 | 85: Why does linking Emacs with -lX11 fail? | 1753 | 75: Why does linking Emacs with -lX11 fail? |
| 2187 | 1754 | ||
| 2188 | Emacs needs to be linked with the static version of the X11 library, | 1755 | Emacs needs to be linked with the static version of the X11 library, |
| 2189 | libX11.a. This may be missing. | 1756 | libX11.a. This may be missing. |
| 2190 | 1757 | ||
| 2191 | Under OpenWindows, you may need to use `add_services' to add the | 1758 | Under OpenWindows, you may need to use `add_services' to add the |
| 2192 | `OpenWindows Programmers' optional software category from the CD-ROM. | 1759 | `OpenWindows Programmers' optional software category from the CD-ROM. |
| 2193 | 1760 | ||
| 2194 | Under HP-UX 8.0, you may need to run `update' again to load the | 1761 | Under HP-UX 8.0, you may need to run `update' again to load the X11-PRG |
| 2195 | X11-PRG `fileset'. This may be missing even if you specified `all | 1762 | `fileset'. This may be missing even if you specified `all filesets' the |
| 2196 | filesets' the first time. If libcurses.a is missing, you may need to load | 1763 | first time. If libcurses.a is missing, you may need to load the |
| 2197 | the `Berkeley Development Option' {???}. | 1764 | `Berkeley Development Option' {???}. |
| 2198 | 1765 | ||
| 2199 | If you are building the MIT X11 sources, you may need to modify your | 1766 | If you are building the MIT X11 sources, you may need to modify your |
| 2200 | `site.cf' file to get static versions of the libraries. (Info from David | 1767 | `site.cf' file to get static versions of the libraries. (Info from David |
| 2201 | Zuhn <zoo@cygnus.com>.) | 1768 | Zuhn <zoo@cygnus.com>.) |
| 2202 | 1769 | ||
| 2203 | Other systems may have similar problems. You can always define | 1770 | Other systems may have similar problems. You can always define |
| 2204 | CANNOT_DUMP and link with the shared libraries instead. | 1771 | CANNOT_DUMP and link with the shared libraries instead. |
| 2205 | 1772 | ||
| 2206 | To get the Xmenu stuff to work, you need to find a copy of MIT's | 1773 | To get the Xmenu stuff to work, you need to find a copy of MIT's |
| 2207 | liboldX.a. | 1774 | liboldX.a. |
| 2208 | |||
| 2209 | 86: Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1? | ||
| 2210 | |||
| 2211 | I had hoped this question would go away after Emacs 18.57 was released, | ||
| 2212 | but people continue to compile 18.55. Easiest solution: upgrade. | ||
| 2213 | |||
| 2214 | This is a result of the SunOS localtime/tzsetwall malloc bug, which was | ||
| 2215 | (finally!) fixed in SunOS 4.1.2. If you actually need the full | ||
| 2216 | explanation, send me e-mail. If you absolutely must compile Emacs 18.55 | ||
| 2217 | (eg., you are compiling Nemacs), the easiest workaround was to put | ||
| 2218 | `#define SYSTEM_MALLOC' in src/config.h. | ||
| 2219 | |||
| 2220 | 1775 | ||
| 2221 | 1776 | ||
| 2222 | GNU Emacs FAQ: Getting Emacs/Packages | 1777 | Finding/Getting Emacs and Related Packages |
| 2223 | 1778 | ||
| 2224 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | 1779 | 76: Where can I get GNU Emacs on the net (or by snail mail)? |
| 2225 | get an overview of just the questions. Then, when you want to look at the text | ||
| 2226 | of the answers, just type "C-x $". | ||
| 2227 | 1780 | ||
| 2228 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | 1781 | Look in the files etc/DISTRIB and etc/FTP for information on nearby |
| 2229 | that doesn't work, then type ESC to end the search. | 1782 | archive sites and etc/ORDERS for mail orders. If you don't already have |
| 1783 | GNU Emacs, see question 20 for how to get these files. | ||
| 2230 | 1784 | ||
| 2231 | A `+' in the 78th column means something was inserted on the line. A `-' means | 1785 | The latest version is always available via anonymous FTP at MIT: |
| 2232 | something was deleted and a `!' means some combination of insertions and | ||
| 2233 | deletions occurred. | ||
| 2234 | 1786 | ||
| 2235 | Full instructions for getting the latest FAQ are in question 22. Also see the | 1787 | /prep.ai.mit.edu:pub/gnu/emacs-19.27.tar.gz |
| 2236 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 2237 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 2238 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 2239 | 1788 | ||
| 1789 | See question 80 for information on where to get other GNU software. | ||
| 2240 | 1790 | ||
| 1791 | 77: How do I find a GNU Emacs Lisp package that does XXX? | ||
| 2241 | 1792 | ||
| 2242 | Finding/Getting Emacs and Related Packages | 1793 | A listing of Emacs Lisp packages, called the Lisp Code Directory, is |
| 1794 | being maintained by Dave Brennan <brennan@hal.com>. You can search | ||
| 1795 | through this list to learn if someone has written something that fits | ||
| 1796 | your needs. | ||
| 1797 | |||
| 1798 | This list is file LCD-datafile.Z in the Emacs Lisp Archive (see the next | ||
| 1799 | question for retrieval instructions). The files lispdir.el.Z and | ||
| 1800 | lispdir.doc in the archive contain Lisp code and information to help you | ||
| 1801 | use the list. Once you have installed lispdir.el and LCD-datafile, then | ||
| 1802 | you can use the `M-x lisp-dir-apropos' command to search the listing. | ||
| 1803 | For example, the command `M-x lisp-dir-apropos RET ange-ftp RET' produces | ||
| 1804 | this output: | ||
| 1805 | |||
| 1806 | GNU Emacs Lisp Code Directory Apropos -- "ange-ftp" | ||
| 1807 | "~/" refers to archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/ | ||
| 1808 | |||
| 1809 | ange-ftp (4.18) 15-Jul-1992 | ||
| 1810 | Andy Norman, <ange@hplb.hpl.hp.com> | ||
| 1811 | ~/packages/ange-ftp.tar.Z | ||
| 1812 | transparent FTP Support for GNU Emacs | ||
| 1813 | auto-save (1.19) 01-May-1992 | ||
| 1814 | Sebastian Kremer, <sk@thp.uni-koeln.de> | ||
| 1815 | ~/misc/auto-save.el.Z | ||
| 1816 | Safer autosaving with support for ange-ftp and /tmp | ||
| 1817 | ftp-quik (1.0) 28-Jul-1993 | ||
| 1818 | Terrence Brannon, <tb06@pl122f.eecs.lehigh.edu> | ||
| 1819 | ~/modes/ftp-quik.el.Z | ||
| 1820 | Quik access to dired'ing of ange-ftp and normal paths | ||
| 1821 | |||
| 1822 | 78: Where can I get GNU Emacs Lisp packages that don't come with Emacs? | ||
| 2243 | 1823 | ||
| 2244 | 87: Where can I get GNU Emacs on the net (or by snail mail)? | ||
| 2245 | |||
| 2246 | Look in the files etc/DISTRIB and etc/FTP for information on nearby | ||
| 2247 | archive sites. If you don't already have GNU Emacs, see question 20 | ||
| 2248 | for how to get these two files. | ||
| 2249 | |||
| 2250 | The latest version is always available via anonymous FTP at MIT: | ||
| 2251 | |||
| 2252 | /prep.ai.mit.edu:pub/gnu/emacs-18.59.tar.Z | ||
| 2253 | |||
| 2254 | See question 91. | ||
| 2255 | |||
| 2256 | 88: How do I find a GNU Emacs Lisp package that does XXX? | ||
| 2257 | |||
| 2258 | A listing of Emacs Lisp packages, called the Lisp Code Directory, is being | ||
| 2259 | maintained by Dave Brennan <brennan@hal.com> and Dave Sill <de5@ornl.gov>. | ||
| 2260 | You can search through this list to find if someone has written something | ||
| 2261 | that fits your needs. | ||
| 2262 | |||
| 2263 | This list is file LCD-datafile.Z in the Emacs Lisp Archive. (See | ||
| 2264 | question 89 for methods for getting this file.) The files lispdir.el.Z | ||
| 2265 | and lispdir.doc.Z in the archive contain information to help you use the | ||
| 2266 | list. Once you have installed lispdir.el and LCD-datafile, then you can | ||
| 2267 | use the "M-x lisp-dir-apropos" command to look things up in the database. | ||
| 2268 | For example, the command "M-x lisp-dir-apropos RET ange-ftp RET" produces | ||
| 2269 | this (outdated) output: | ||
| 2270 | |||
| 2271 | GNU Emacs Lisp Code Apropos -- "ange-ftp" | ||
| 2272 | |||
| 2273 | ange-ftp (3.112) 91-08-12 | ||
| 2274 | Andy Norman, <ange@hplb.hpl.hp.com> | ||
| 2275 | archive.cis.ohio-state.edu: | ||
| 2276 | /pub/gnu/emacs/elisp-archive/as-is/ange-ftp.el.Z | ||
| 2277 | transparent FTP Support for GNU Emacs | ||
| 2278 | |||
| 2279 | 89: Where can I get GNU Emacs Lisp packages that don't come with Emacs? | ||
| 2280 | |||
| 2281 | First, check the Lisp Code Directory to find the name of the package you | 1824 | First, check the Lisp Code Directory to find the name of the package you |
| 2282 | are looking for. (See question 88). Then check local archives and | 1825 | are looking for (see question 77). Next, check local archives and the |
| 2283 | the Emacs Lisp Archive to find a copy of the relevant files. Then, if | 1826 | Emacs Lisp Archive to find a copy of the relevant files. If you still |
| 2284 | you still haven't found it, you can send e-mail to the author asking for | 1827 | haven't found it, you can send e-mail to the author asking for a copy. |
| 2285 | a copy. | 1828 | |
| 2286 | 1829 | You can access the Emacs Lisp Archive via anonymous FTP: | |
| 2287 | You can access the Emacs Lisp Archive via anonymous FTP: | 1830 | |
| 2288 | 1831 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/ | |
| 2289 | /archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/ | 1832 | /ftp.cs.umn.edu:pub/elisp-archive/ |
| 2290 | 1833 | /calypso-2.oit.unc.edu:pub/gnu/elisp-archive/ | |
| 2291 | Fetch the file README first. | 1834 | /ftp.uu.net:packages/gnu/emacs-lisp/ |
| 2292 | 1835 | /gatekeeper.dec.com:pub/GNU/elisp-archive/ | |
| 2293 | NOTE: The archive maintainers do not have time to answer individual | 1836 | /nic.switch.ch:mirror/elisp-archive/ |
| 2294 | requests for packages or the list of packages in the archive. If you | 1837 | /ftp.diku.dk:pub/elisp-archive/ |
| 2295 | cannot use FTP or UUCP to access the archive yourself, try to find a | 1838 | /quepasa.cs.tu-berlin.de:pub/gnu/elisp/ |
| 2296 | friend who can, but please don't ask the maintainers. | 1839 | /faui43.informatik.uni-erlangen.de:pub/gnu/elisp-archive/ |
| 2297 | 1840 | /ftp.uni-mainz.de:pub/gnu/elisp-archive/ | |
| 2298 | NOTE: Any files with names ending in `.Z' are compressed, and you should | 1841 | /nic.funet.fi:pub/gnu/emacs/elisp-archive/ |
| 2299 | use `binary' mode in FTP to retrieve them. You should also use binary | 1842 | /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/ |
| 2300 | mode whenever you retrieve any files with names ending in `.elc'. | 1843 | |
| 2301 | 1844 | Retrieve and read the file README first. | |
| 2302 | 90: How do I submit code to the Emacs Lisp Archive? | 1845 | |
| 2303 | 1846 | NOTE: * The archive maintainers do not have time to answer individual | |
| 2304 | Submissions should be mailed to elisp-archive@cis.ohio-state.edu. The | 1847 | requests for packages or the list of packages in the archive. If |
| 2305 | lispdir.el package has a function named submit-lcd-entry which will help | 1848 | you cannot use FTP or UUCP to access the archive yourself, try to |
| 2306 | you with this. Mail messages (submissions) are automatically saved and | 1849 | find a friend who can, but please don't ask the maintainers. |
| 2307 | periodically archived. Urgent mail may be sent directly to Dave Sill | 1850 | |
| 2308 | <de5@ornl.gov> or Dave Brennan <brennan@hal.com> or should contain the | 1851 | * Any files with names ending in `.Z', `.z', or `.gz' are |
| 2309 | string `urgent' in the subject. The incoming ftp directory is no longer | 1852 | compressed, so you should use `binary' mode in FTP to retrieve |
| 2310 | available at the request of Ohio State. {Is this still true?} | 1853 | them. You should also use binary mode whenever you retrieve any |
| 2311 | 1854 | files with names ending in `.elc'. | |
| 2312 | However, if someone has a submission with multiple files (which would be | 1855 | |
| 2313 | archived as a tar file) or binary files, then FTP transfer is preferred | 1856 | 79: How do I submit code to the Emacs Lisp Archive? |
| 2314 | and can be arranged via an anonymous FTP site. This is faster than | 1857 | |
| 2315 | uudecoding, unsharing, etc., and re-packaging files. | 1858 | Guidelines and procedures for submission to the archive can be found in |
| 2316 | 1859 | the file GUIDELINES in the archive directory (see question 78). It | |
| 2317 | Before submitting anything, please read the file guidelines.Z, which is | 1860 | covers documentation, copyrights, packaging, submission, and the Lisp |
| 2318 | available in the archive. Whenever possible, submissions should contain a | 1861 | Code Directory Record. Anonymous FTP uploads are not permitted. |
| 2319 | complete LCD entry since this helps reduce administrative overhead for the | 1862 | Instead, all submissions are mailed to elisp-archive@cis.ohio-state.edu. |
| 2320 | maintainers. You can include an entry in this format: | 1863 | The lispdir.el package has a function named submit-lcd-entry which will |
| 2321 | 1864 | help you with this. | |
| 2322 | ;; LCD Archive Entry: | 1865 | |
| 2323 | ;; package name|author's name|email address | 1866 | 80: Where can I get other up-to-date GNU stuff? |
| 2324 | ;; |description | 1867 | |
| 2325 | ;; |date|version|archive path | 1868 | The most up-to-date official GNU stuff is normally kept on |
| 2326 | 1869 | prep.ai.mit.edu and is available for anonymous FTP in the pub/gnu | |
| 2327 | For example: | 1870 | directory. Read the files etc/DISTRIB and etc/FTP for more information |
| 2328 | 1871 | (see question 20 for retrieval instructions). | |
| 2329 | ;; LCD Archive Entry: | 1872 | |
| 2330 | ;; tex-complete|Sebastian Kremer|sk@thp.Uni-Koeln.DE | ||
| 2331 | ;; |Minibuffer name completion for editing [La]TeX. | ||
| 2332 | ;; |91-03-26|$Revision: 1.5 $|~/packages/tex-complete.el.Z ! | ||
| 2333 | |||
| 2334 | Dave Brennan has software which automatically looks for data in this | ||
| 2335 | format. The format is fairly flexible. The entry ends when a line is | ||
| 2336 | reached with a different prefix or the seventh field terminator is | ||
| 2337 | seen. | ||
| 2338 | |||
| 2339 | If you are submitting a multi-file submission you should include a file | ||
| 2340 | named "LCD-entry" which contains the archive entry, instead of placing | ||
| 2341 | it in one or more of the individual files. | ||
| 2342 | |||
| 2343 | 91: Where can I get other up-to-date GNU stuff? | ||
| 2344 | |||
| 2345 | The most up-to-date official GNU stuff is normally kept on prep.ai.mit.edu | ||
| 2346 | and is available for anonymous FTP in the pub/gnu directory. See the | ||
| 2347 | files etc/DISTRIB and etc/FTP for more information. (To get copies of | ||
| 2348 | these files, see question 20.) | ||
| 2349 | |||
| 2350 | The following sites are all mirror images of the GNU distribution area: | 1873 | The following sites are all mirror images of the GNU distribution area: |
| 2351 | 1874 | ||
| 2352 | /prep.ai.mit.edu:pub/gnu/ | 1875 | /col.hp.com:mirrors/gnu/ |
| 2353 | /ftp.uu.net:packages/gnu/ | 1876 | /ftp.uu.net:packages/gnu/ |
| 2354 | /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM) | ||
| 2355 | /ftp.win.tue.nl:pub/gnu/ | 1877 | /ftp.win.tue.nl:pub/gnu/ |
| 2356 | /utsun.s.u-tokyo.ac.jp:ftpsync/prep/ | 1878 | /gatekeeper.dec.com:pub/GNU/ |
| 2357 | /nic.funet.fi:pub/gnu/ | 1879 | /nic.funet.fi:pub/gnu/ |
| 2358 | 1880 | /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM) | |
| 1881 | /utsun.s.u-tokyo.ac.jp:ftpsync/prep/ | ||
| 1882 | /wuarchive.wustl.edu:systems/gnu/ | ||
| 1883 | |||
| 2359 | The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu, | 1884 | The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu, |
| 2360 | except that files larger than 1 megabyte {right?} are automatically | 1885 | except that files larger than one megabyte are split into multiple parts. |
| 2361 | split into multiple parts. If you have trouble transferring large | 1886 | If you have trouble transferring large files, you should try here. A |
| 2362 | files, you should try here. A file normally named `XXX' is split into | 1887 | file normally named `XXX' is split into files XXX-split/part[0-9][0-9], |
| 2363 | files XXX-split/part[0-9][0-9], and there will be a file named | 1888 | and there will be a file named XXX-split/README which contains the list |
| 2364 | XXX-split/README which contains the list of parts (especially helpful | 1889 | of parts (especially helpful when FTP-ing by e-mail), their checksums, |
| 2365 | when FTP-ing by e-mail), their checksums, and reassembly instructions. | 1890 | and reassembly instructions. |
| 2366 | Some of the other mirror sites may have the same property. {Can someone | 1891 | |
| 2367 | check this out? Thanks!} | 1892 | 81: What is the difference between Emacs and Epoch? |
| 2368 | 1893 | ||
| 2369 | Information was provided by Lee McLoughlin <lmjm@doc.ic.ac.uk>, Jonathan | 1894 | Epoch was a modified version of GNU Emacs. It is currently being merged |
| 2370 | R. Ferro <jf41+@ANDREW.CMU.EDU>, Arjan de Vet <devet@win.tue.nl>, and | 1895 | into XEmacs (formerly "Lucid Emacs"), and the Epoch redisplay, now |
| 2371 | Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>. | 1896 | being rewritten, is slated to be merged into Emacs when the rewrite is done. |
| 2372 | 1897 | ||
| 2373 | 92: Where can I get an Emacs with better mouse and X window support? | 1898 | 82: What is the difference between Emacs and XEmacs (formerly "Lucid |
| 2374 | 1899 | Emacs")? | |
| 2375 | Emacs 18 has some limited X Window System support, but there are | 1900 | |
| 2376 | problems. Emacs 19 will have amazing mouse and window support. Right | 1901 | XEmacs is a modified version of GNU Emacs. |
| 2377 | now, there are Epoch which is derived from GNU Emacs 18.58 and Lucid GNU | 1902 | |
| 2378 | Emacs which is derived from an early unreleased version of GNU Emacs 19, | 1903 | A comparison between the two versions, written by the XEmacs |
| 2379 | both of which have greatly improved mouse and window support. See | 1904 | maintainers, had been included here. Richard Stallman removed it |
| 2380 | questions 120 and 121. | 1905 | from this copy of the FAQ because it was unfair. It was (1) |
| 2381 | 1906 | one-sided, listing only advantages of XEmacs and not advantages of | |
| 2382 | The HP unofficial GNU Emacs also has nice mouse support. See question | 1907 | the principal version of Emacs, (2) biased, involving opinions the |
| 2383 | 95. | 1908 | FSF doesn't share, and (3) out of date, listing as advantages of |
| 2384 | 1909 | XEmacs features which in fact both versions have. | |
| 2385 | There are numerous Emacs Lisp packages that have been written to extend | 1910 | |
| 2386 | Emacs 18's mouse handling capabilities. Some of these packages also have | 1911 | 83: Where can I get Emacs for my PC running MS-DOS? |
| 2387 | patches to the C code to provide enhanced capabilities. Look up `mouse' | 1912 | |
| 2388 | in the Lisp Code Directory (see question 88). | 1913 | Recent releases of GNU Emacs 19 should compile right out of the box on |
| 2389 | 1914 | PCs with a 386 or better, running MS-DOS 3.0 or later. You will need the | |
| 2390 | There is a package called BAM (Born Again Menus) which provides menus for | 1915 | following: |
| 2391 | GNU Emacs via an external C program. It does not provide mouse support in | 1916 | |
| 2392 | the Emacs window such as scrollbars, cut-and-paste, etc. | 1917 | Compiler: djgpp version 1,11 maint 4 or later. You can get the latest |
| 2393 | 1918 | version by grabbing everything in the following directory | |
| 2394 | NOTE: Epoch only works with the X Window System; it works on ordinary | 1919 | (using anonymous ftp): |
| 2395 | terminals by invoking regular GNU Emacs. Lucid Emacs does not currently | 1920 | |
| 2396 | work on ordinary terminals, although there are plans to fix this. | 1921 | oak.oakland.edu:pub/msdos/djdpp |
| 2397 | 1922 | ||
| 2398 | 93: What is the difference between GNU Emacs and Epoch? | 1923 | Tar: One DOS version of tar is available via anonymous ftp from |
| 2399 | 1924 | ||
| 2400 | Marc Andreessen <marca@ncsa.uiuc.edu> writes: | 1925 | ftp.urc.tue.nl:pub/unixtools/dos |
| 2401 | 1926 | ||
| 2402 | Epoch is GNU Emacs on steroids: an adaptation of GNU Emacs with lots of | 1927 | However, not all DOS versions of tar work equally well, so you |
| 2403 | additional support for features made possible by the X11 windowing | 1928 | might have to try others if this one gives you trouble. |
| 2404 | system. These features include multiple editing windows, arbitrary | 1929 | |
| 2405 | colors and fonts (fixed-width and proportional), selectable zones per | 1930 | Utilities: chmod, make, mv, sed, rm. |
| 2406 | buffer with arbitrary display styles (font, color, underline, stipple, | 1931 | |
| 2407 | pixmap), an optional separate minibuffer window, improved keyboard and | 1932 | All of these utilities are available via anonymous ftp from |
| 2408 | mouse handling, full 8-bit character set support, and more. | 1933 | the site |
| 2409 | 1934 | ||
| 2410 | 94: What is the difference between GNU Emacs and Lucid GNU Emacs? | 1935 | ftp.iro.umontreal.ca:pub/Internet/gnuish |
| 2411 | 1936 | ||
| 2412 | This information is condensed from the release notice: | 1937 | You should grab the files futil4ax.zoo (contains chmod.exe, |
| 2413 | 1938 | mv.exe, and rm.exe), sed106ax.zoo (contains sed.exe), and | |
| 2414 | Lucid GNU Emacs is based on an early version of GNU Emacs version 19 | 1939 | gzip07ax.zoo (contains gzip.exe). |
| 2415 | with many enhancements. It currently requires X Windows to run. For | 1940 | |
| 2416 | information on where to get Lucid GNU Emacs see 121. X Windows support | 1941 | The file etc/MSDOS contains some information on the differences between |
| 2417 | is greatly enhanced over GNU Emacs version 18, including support for | 1942 | the Unix and MS-DOS versions of GNU Emacs. |
| 2418 | multiple X Windows (a.k.a. screens in Emacs), Zmacs/Lispm style region | 1943 | |
| 2419 | highlighting, a customizable, Motif-like menubar, more powerful keymap | 1944 | If you would prefer not to compile Emacs by yourself, you can get |
| 2420 | support (allowing different actions to be associated with Backspace, | 1945 | binaries for Emacs 19.24 via anonymous ftp from the following two sites: |
| 2421 | Control-h, etc.), flexible text attribute (e.g. font, color) support on | 1946 | |
| 2422 | regional and screen-local basis through X resources and/or lisp, and | 1947 | ftp.demon.co.uk:pub/ibmpc/editors/emacs19.24 |
| 2423 | support for the X11 selection mechanism. Some other features include | 1948 | ftp.imada.ou.dk:pub/mirrors/msdos/emacs-19.24 |
| 2424 | run-time computation of the load-path, support for floating point | 1949 | |
| 2425 | numbers, native timer support, and sound file support on Sun | 1950 | You might also be interested in Demacs, which runs under MS-DOS (*not* |
| 2426 | SPARCstations. To build Lucid GNU Emacs, an ANSI C compiler (e.g. gcc) | 1951 | Microsoft Windows; see question 84) on 386- and 486-based PCs. Demacs is |
| 2427 | is required. | 1952 | a port of Nemacs (see question 126), rather than a straight port of GNU |
| 2428 | 1953 | Emacs 18 or 19. | |
| 2429 | 95: Where can I get the "unofficial HP GNU Emacs"? | 1954 | |
| 2430 | 1955 | Demacs was developed using an MS-DOS version of gcc called djgpp by | |
| 2431 | The unofficial HP GNU Emacs is available via anonymous FTP: | 1956 | D. J. Delorie <dj@ctron.com> which can compile and run large programs |
| 2432 | 1957 | under MS-DOS, but not under MS Windows. Demacs was derived from Nemacs | |
| 2433 | /ee.utah.edu:HUGE/ (PLEASE FTP DURING NON-WORK HOURS!!!) | 1958 | rather than straight from GNU Emacs. You can get the most recent version |
| 2434 | 1959 | of Demacs via anonymous ftp from ftp.sigmath.osaka-u.ac.jp in | |
| 2435 | and takes about 35 megabytes of disk space to build. It is useful for | 1960 | pub/Msdos/Demacs/*. |
| 2436 | non-HP machines, but some of the added features will only work under | 1961 | |
| 2437 | HP-UX. | 1962 | For a list of other MS-DOS implementations of Emacs (and Emacs |
| 2438 | 1963 | look-alikes), consult the list of "Emacs implementations and literature," | |
| 2439 | You will need to get patches to work with HP-UX 8.0 or on 700 series | 1964 | available via anonymous ftp from rtfm.mit.edu in pub/usenet/comp.emacs. |
| 2440 | machines via e-mail from Darryl Okahata <darrylo@sr.hp.com>. | 1965 | |
| 2441 | 1966 | 84: Where can I get Emacs for my PC running Microsoft Windows? | |
| 2442 | 96: Where can I get Emacs for my PC running MS-DOS? | 1967 | |
| 2443 | 1968 | There are currently two ports of Emacs that runs under Microsoft Windows: | |
| 2444 | * Demacs | 1969 | |
| 2445 | 1970 | * Oemacs | |
| 2446 | For 386 or 486 PCs running MS-DOS, there is a version of GNU Emacs | 1971 | |
| 2447 | called Demacs. To get Demacs see question 122. | 1972 | Current version of Oemacs4.1 is based on Emacs-19.19 and runs in either |
| 2448 | 1973 | MS-DOS or Microsoft Windows. There is rumor that the author Darryl | |
| 2449 | From the announcement message: | 1974 | Okahata <darrylo@sr.hp.com> would not update unless there is |
| 2450 | 1975 | demonstrated interest. It is nearly a full porting of GNU Emacs except | |
| 2451 | Demacs is almost a full set of GNU Emacs but does not support some | 1976 | that shell-mode does not work due to the limitation of MS-DOS. |
| 2452 | features: asynchronous process, locking a file, etc. | 1977 | Anonymous ftp information: |
| 2453 | 1978 | ||
| 2454 | Demacs provides following DOS specific features: | 1979 | /oak.oakland.edu:pub/msdos/oemacs/ |
| 2455 | 1980 | ||
| 2456 | * File type: text or binary file translation. | 1981 | * The other uses a proprietary X Windows emulator and therefore |
| 2457 | * "8-bit clean" display mode. | 1982 | the FSF does not think it deserves publicity. |
| 2458 | * 8086 software interrupt call by int86 lisp function. | 1983 | |
| 2459 | * Machine specific features such as function key support. | 1984 | 85: Where can I get Emacs for my PC running OS/2? |
| 2460 | * File name completion with drive name. | 1985 | |
| 2461 | * Child process (suspend-emacs, call-process). | 1986 | Emacs 19.27 is ported for emx on OS/2 2.0 or 2.1. |
| 2462 | * Enhanced dired mode which can work without 'ls.exe'. | 1987 | |
| 2463 | 1988 | Anonymous FTP info: | |
| 2464 | To our regret `shell-mode' does not work, but `compile' command works | 1989 | |
| 2465 | properly. | 1990 | hobbes.nmsu.edu:os2/2_x/unix/emacs27 |
| 2466 | 1991 | ||
| 2467 | Demacs was developed using an MS-DOS version of gcc called djgpp by | 1992 | 86: Where can I get Emacs for my Atari ST? |
| 2468 | D. J. Delorie <dj@ctron.com> which can compile and run large programs | 1993 | |
| 2469 | under MS-DOS, but not under MS Windows. Demacs was derived from Nemacs | 1994 | (does anyone know?) |
| 2470 | rather than straight from GNU Emacs. | 1995 | |
| 2471 | 1996 | 87: Where can I get Emacs for my Amiga? | |
| 2472 | There are a variety of other Emacses for MS-DOS including among them the | 1997 | |
| 2473 | following. | 1998 | Amiga software is available through Aminet, a set of interconnected FTP |
| 2474 | 1999 | sites and other file accessing services for Amiga software. The primary | |
| 2475 | * Freemacs | 2000 | sites for Aminet are ftp.wustl.edu (128.252.135.4) and ftp.cdrom.com |
| 2476 | 2001 | (192.153.46.2). In the directory pub/aminet/util/gnu, there are | |
| 2477 | Russ Nelson <nelson@sun.soe.clarkson.edu>, the author, describes | 2002 | |
| 2478 | Freemacs: | 2003 | a1.26-emacs-bin.lha -- Amiga GNU Emacs V1.26, binaries |
| 2479 | 2004 | a1.26-emacs-src.lha -- Amiga GNU Emacs V1.26, sources | |
| 2480 | * Freemacs is free, and it was designed from the start to be | 2005 | |
| 2481 | programmable. | 2006 | There are also quite a few Emacs related files/programs. Please search |
| 2482 | * Freemacs is the only IBM-PC editor that tries to be like GNU Emacs. | 2007 | the index of Aminet. |
| 2483 | * Freemacs can only edit files less than 64K in length. | 2008 | |
| 2484 | * Freemacs doesn't have undo. | 2009 | We have no access to an Amiga, so please send in your experience and |
| 2485 | 2010 | comments on the implementation. | |
| 2486 | Carl Witty <cwitty@cs.stanford.edu> reviews Freemacs: | 2011 | |
| 2487 | 2012 | 88: Where can I get Emacs for my Apple computer? | |
| 2488 | Better is Freemacs, which follows the tradition of ITS and GNU Emacs | ||
| 2489 | by having an full, turing-complete extension language which is | ||
| 2490 | incompatible with everything else. In fact, it's even closer to ITS | ||
| 2491 | Emacs than GNU Emacs is, because Mint (Freemacs' extension language) | ||
| 2492 | is absolutely illegible without weeks of study, much like TECO. | ||
| 2493 | |||
| 2494 | To get Freemacs see question 123. | ||
| 2495 | |||
| 2496 | * MicroEmacs | ||
| 2497 | |||
| 2498 | MicroEmacs is a descendant of Microemacs {originally by Dave Conroy?}. | ||
| 2499 | It is programmable in a BASIC-like language. Many of the keybindings | ||
| 2500 | are different from GNU Emacs. The author is Daniel Lawrence - | ||
| 2501 | <dan@mdbs.uucp, mdbs!dan@ee.ecn.purdue.edu>. The latest version is 3.12 ! | ||
| 2502 | and it is available via anonymous FTP: | ||
| 2503 | |||
| 2504 | /midas.mgmt.purdue.edu:dist/uemacs312/ (outside business hours) ! | ||
| 2505 | ! | ||
| 2506 | Version 3.12 includes Windows and Windows NT versions and a DOS ! | ||
| 2507 | protected mode (DMPI) version. ! | ||
| 2508 | 2013 | ||
| 2509 | * JOVE | ||
| 2510 | |||
| 2511 | Another Emacs for small machines is JOVE (Jonathan's Own Version of | ||
| 2512 | Emacs). The latest official version is 4.14. There appears to be a | ||
| 2513 | newer version. People rumored to be working on JOVE include Mark Moraes | ||
| 2514 | <moraes@cs.toronto.edu> and Bill Marsh <bmarsh@cod.nosc.mil>. It is | ||
| 2515 | available via anonymous FTP: | ||
| 2516 | |||
| 2517 | /cs.toronto.edu:/pub/moraes/jove4.14.7.tar.Z | ||
| 2518 | |||
| 2519 | * MG | ||
| 2520 | |||
| 2521 | MG is another descendant of Microemacs. MG used to stand for | ||
| 2522 | MicroGNUEmacs, but now just stands for MG. The look-and-feel of MG is | ||
| 2523 | intended to be close to that of GNU Emacs. It is rumored that MG can | ||
| 2524 | not correctly edit files larger than memory. The current version is | ||
| 2525 | rumored to be 2. There is a version 3 in beta which works on the Amiga. | ||
| 2526 | It is also available via anonymous FTP: | ||
| 2527 | |||
| 2528 | /ftp.white.toronto.edu:pub/mg/ | ||
| 2529 | /wuarchive.wustl.edu:/mirrors/unix-c/editors/ | ||
| 2530 | /procyon.cis.ksu.edu: (source and executable) | ||
| 2531 | |||
| 2532 | 97: Where can I get Emacs for my PC running Windows? | ||
| 2533 | |||
| 2534 | I believe that no version of GNU Emacs runs under Windows. Pierre Perret | ||
| 2535 | <pap@myths.az05.bull.com> has ported MicroEMACS 3.11c to Windows. | ||
| 2536 | |||
| 2537 | Anonymous FTP: | ||
| 2538 | /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10.zip | ||
| 2539 | /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10s.zip | ||
| 2540 | /ftp.cica.indiana.edu:pub/pc/win3/util/mewri.zip | ||
| 2541 | |||
| 2542 | 98: Where can I get Emacs for my PC running OS/2? | ||
| 2543 | |||
| 2544 | From the OS/2 Programmer's FAQ: | ||
| 2545 | |||
| 2546 | GNU Emacs 18.58 is available. It requires you to have EMX installed | ||
| 2547 | on your machine, but it comes with all the EMX files you will need. | ||
| 2548 | Emacs is available on ftp-os2 in /pub/os2/2.0/gnu/emacs. (If you want | ||
| 2549 | to recompile emacs, you will need the full EMX distribution see | ||
| 2550 | question 1.2.) | ||
| 2551 | |||
| 2552 | The above quote may be out of date. See the latest OS/2 Programmer's FAQ | ||
| 2553 | {perhaps in comp.os.os2.misc?} for the latest news. Anonymous FTP info: | ||
| 2554 | |||
| 2555 | /ftp-os2.nmsu.edu:pub/os2/2.0/gnu/emacs/ | ||
| 2556 | ("ftp-os2" was formerly named "hobbes") | ||
| 2557 | |||
| 2558 | Thanks go to Stephen Simpson <simpson@symcom.math.uiuc.edu>, Jonathan | ||
| 2559 | Miller <jem+@andrew.cmu.edu>, Terry Kane <terryk@cc.gatech.edu>, J. D. | ||
| 2560 | Baldwin <baldwin@csservera.usna.navy.mil>, and Ken Bass | ||
| 2561 | <kbass@gmuvax2.gmu.edu>. | ||
| 2562 | |||
| 2563 | 99: Where can I get Emacs for my Atari ST? | ||
| 2564 | |||
| 2565 | Emacs 18.57 is the latest version for TOS. Stefan Mueller-Pfeiffer | ||
| 2566 | <iff327@zam001.zam.kfa-juelich.de> says: | ||
| 2567 | |||
| 2568 | There is also a version for MiNT, the multitasking enhancement for | ||
| 2569 | ATARI's TOS, which behaves almost like EMACS on a "real computer". This | ||
| 2570 | port was done by Erling Henanger <erlingh@idt.unit.no>. | ||
| 2571 | |||
| 2572 | Anonymous FTP: | ||
| 2573 | /atari.archive.umich.edu:atari/gnustuff/tos/ (TOS Emacs 18.57) | ||
| 2574 | /atari.archive.umich.edu:atari/new/mntemacs.zoo (MiNT Emacs) | ||
| 2575 | /cs.uni-sb.de:/pub/atari/emacs/ | ||
| 2576 | |||
| 2577 | 100: Where can I get Emacs for my Amiga? | ||
| 2578 | |||
| 2579 | All of the files are lharc-ed. | ||
| 2580 | |||
| 2581 | Anonymous FTP: | ||
| 2582 | /oes.orst.edu:/pub/almanac/comp/amiga/software/gnuemacs-1.10/ | ||
| 2583 | |||
| 2584 | Via e-mail: | ||
| 2585 | To: almanac@oes.orst.edu | ||
| 2586 | body: | ||
| 2587 | mode uuencode | ||
| 2588 | send computer amiga software gnuemacs <file> | ||
| 2589 | <file> is replaced by one of the following: | ||
| 2590 | Required: d1.lzh d2.lzh | ||
| 2591 | Recommended: d3_info.lzh d3_infolisp.lzh | ||
| 2592 | Optional: d3_autoloaded.lzh d3_entertainmentetc.lzh | ||
| 2593 | d3_entertainmentlisp.lzh d4_src.lzh d5_languagelisp.lzh | ||
| 2594 | d5_viclone.lzh d6_gnulibsrc.lzh d6_mailpackage.lzh | ||
| 2595 | d6_mathpackage.lzh d6_misc.lzh d6_textformat.lzh | ||
| 2596 | The `d#' at the beginning of each file is its disk number, which is | ||
| 2597 | referred to by the documentation. | ||
| 2598 | |||
| 2599 | 101: Where can I get Emacs for my Apple computer? | ||
| 2600 | |||
| 2601 | The FSF is a participant in a boycott of Apple because of Apple's "look | 2014 | The FSF is a participant in a boycott of Apple because of Apple's "look |
| 2602 | and feel" copyright suits. See the file etc/APPLE for more details. | 2015 | and feel" copyright suits. See the file etc/APPLE for more details. |
| 2603 | Because of this boycott, the FSF doesn't include support in GNU software | 2016 | Because of this boycott, the FSF doesn't include support in GNU software |
| 2604 | for Apple computers such as the Macintosh. | 2017 | for Apple computers such as the Macintosh. |
| 2605 | 2018 | ||
| 2606 | Please don't help people port or develop software for Apple computers. | 2019 | Please don't help people port or develop software for Apple computers. |
| 2607 | 2020 | ||
| 2608 | 102: Where can I get Emacs with NeWS support? | 2021 | 89: Where do I get Emacs that runs on VMS under DECwindows? |
| 2609 | 2022 | ||
| 2610 | Chris Maio's NeWS support package for GNU Emacs is available via anonymous | 2023 | Version 19.27 has a VMS directory containing installation instructions, a |
| 2611 | FTP: | 2024 | makefile, and various .com files. But according to Richard Levitte |
| 2612 | 2025 | <levitte@e.kth.se>, it does not run out of the box. Even if it does, the | |
| 2613 | /columbia.edu:pub/ps-emacs.tar.Z | 2026 | VMSNOTES indicates that the Emacs on VMS is going to have much more |
| 2614 | /archive.cis.ohio-state.edu:pub/gnu/emacs/ps-emacs.tar.Z | 2027 | limited functionality. Richard Levitte has a patched 19.22 that |
| 2615 | 2028 | supposedly has subprocess and networking functionality just as on Unix, | |
| 2616 | and via e-mail: | 2029 | with virtually the same lisp interface. The source is available via |
| 2617 | 2030 | anonymous ftp at | |
| 2618 | To: archive-server@columbia.edu | 2031 | |
| 2619 | body: send NeWS emacs-support | 2032 | ftp.vms.stacken.kth.se:GNU-VMS/Beta/EMACS-19_22-********.TAR-GZ |
| 2620 | 2033 | ||
| 2621 | 103: Where do I get Emacs that runs on VMS under DECwindows? | 2034 | where ******** is the release date of the kit. You should also read |
| 2622 | 2035 | http://www.e.kth.se/elev/levitte/gnu/emacs.html for more information. | |
| 2623 | Hal R. Brand <BRAND@addvax.llnl.gov> is said to have a VMS save set with a | 2036 | |
| 2624 | ready-to-run VMS version of Emacs 18.55 for X Windows. It is available | 2037 | 90: Where can I get modes for Lex, Yacc/Bison, Bourne shell, Csh, C++, |
| 2625 | via anonymous FTP (addvax.llnl.gov). It is possible that the VMS versions | 2038 | Objective C, Pascal, and Awk? |
| 2626 | of Emacs at other sites have X support compiled in. See etc/FTP for | 2039 | |
| 2627 | locations. | 2040 | Most of these modes are now available in standard Emacs distribution. To |
| 2628 | 2041 | get additional modes, look in the Lisp Code Directory (see question 77). | |
| 2629 | Johan Vromans <jv@mh.nl> writes: | 2042 | For C++, if you use lisp-dir-apropos, you must specify the pattern like |
| 2630 | 2043 | this: | |
| 2631 | Getting Emacs to run on VMS with DECwindows requires a number of changes | 2044 | |
| 2632 | to the sources. Fortunately this has been done already. Joshua Marantz | ||
| 2633 | <josh@viewlogic.com> did most of the work for Emacs 18.52, and the mods | ||
| 2634 | were ported to 18.55 by Johan Vromans <jv@mh.nl>. Also included is the | ||
| 2635 | handling of DEC's LK201 keyboard. You need to apply the changes to a | ||
| 2636 | fresh Emacs 18.55 distribution on a Unix system, and then you can copy | ||
| 2637 | the sources to VMS to perform the compile/link/build. | ||
| 2638 | |||
| 2639 | The set of changes have been posted a number of times three times the | ||
| 2640 | last 12 months, so they should be widely available. | ||
| 2641 | |||
| 2642 | Richard Levitte <levitte@e.kth.se> tells us that there are patches for | ||
| 2643 | Emacs 18.57, 18.58, and 18.59 available via e-mail: ! | ||
| 2644 | |||
| 2645 | To: EMACS-FILESERV@e.kth.se ! | ||
| 2646 | body: SEND EMACS-1857-PATCHES | ||
| 2647 | or: SEND EMACS-1858-PATCHES | ||
| 2648 | or: SEND EMACS-1859-PATCHES + | ||
| 2649 | + | ||
| 2650 | or via anonymous ftp at: + | ||
| 2651 | + | ||
| 2652 | /lucy.merrimack.edu:emacs-1859-patches.share + | ||
| 2653 | + | ||
| 2654 | The set of patches weighs in at around 2.7 MB. + | ||
| 2655 | |||
| 2656 | 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++, | ||
| 2657 | Objective C, Pascal, Awk? | ||
| 2658 | |||
| 2659 | As usual, look in the Lisp Code Directory (see question 88). For C++, | ||
| 2660 | if you use lisp-dir-apropos, you must specify the pattern like this: | ||
| 2661 | |||
| 2662 | M-x lisp-dir-apropos RET c\+\+ RET | 2045 | M-x lisp-dir-apropos RET c\+\+ RET |
| 2663 | 2046 | ||
| 2664 | 105: What is the IP address of XXX.YYY.ZZZ? | 2047 | Note that Barry Warsaw's cc-mode now works for C, C++, and Objective-C |
| 2665 | 2048 | code. You can get the latest version (4.85, as of this writing) from the | |
| 2049 | Emacs Lisp Archive. | ||
| 2050 | |||
| 2051 | 91: What is the IP address of XXX.YYY.ZZZ? | ||
| 2052 | |||
| 2666 | If you are at a site with a deficient nameserver, you may need to know | 2053 | If you are at a site with a deficient nameserver, you may need to know |
| 2667 | the IP address of a host to FTP files from it. You can get this | 2054 | the IP address of a host to FTP files from it. You can get this |
| 2668 | information in two ways: | 2055 | information in two ways: |
| 2669 | 2056 | ||
| 2670 | * By telnet: | 2057 | * By telnet: |
| 2671 | 2058 | ||
| 2672 | telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101') | 2059 | telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101') |
| 2673 | hname XXX.YYY.ZZZ | 2060 | @ whois |
| 2674 | 2061 | Whois: host XXX.YYY.ZZZ | |
| 2062 | |||
| 2675 | * By e-mail: | 2063 | * By e-mail: |
| 2676 | 2064 | ||
| 2677 | To: service@nic.ddn.mil | 2065 | To: service@nic.ddn.mil |
| 2678 | Subject: host XXX.YYY.ZZZ | 2066 | Subject: host XXX.YYY.ZZZ |
| 2679 | or: whois XXX.YYY.ZZZ | 2067 | or: whois XXX.YYY.ZZZ |
| 2680 | or: help | 2068 | or: help |
| 2681 | 2069 | ||
| 2682 | or: | 2070 | or: |
| 2683 | 2071 | ||
| 2684 | To: resolve@cs.widener.edu | 2072 | To: resolve@cs.widener.edu |
| 2685 | body: site XXX.YYY.ZZZ | 2073 | body: site XXX.YYY.ZZZ |
| 2686 | |||
| 2687 | Information from Brendan Kehoe <brendan@cs.widener.edu>. | ||
| 2688 | |||
| 2689 | 2074 | ||
| 2075 | Information from Brendan Kehoe <brendan@cs.widener.edu>. | ||
| 2690 | 2076 | ||
| 2691 | 2077 | ||
| 2692 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs | 2078 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs |
| 2693 | 2079 | ||
| 2694 | This section lists version numbers, FTP sites, mailing lists, newsgroups, | 2080 | This section lists version numbers, FTP sites, mailing lists, newsgroups, |
| 2695 | and other information for many important packages, extensions, and related | 2081 | and other information for many important packages, extensions, and |
| 2696 | programs. There is some overlap with the Lisp Code Directory, but these | 2082 | related programs. There is some overlap with the Lisp Code Directory, |
| 2697 | entries give more detailed information. | 2083 | but these entries give more detailed information. |
| 2698 | 2084 | ||
| 2699 | If you know of any other packages that are so substantial that they | 2085 | If you know of any other packages that are so substantial that they |
| 2700 | deserve to be mentioned here, please tell me. Having its own mailing list | 2086 | deserve to be mentioned here, please let us know. Having its own mailing |
| 2701 | or newsgroup or more than half a megabyte of source code are good signs. | 2087 | list or newsgroup or more than half a megabyte of source code are good |
| 2702 | 2088 | signs. | |
| 2703 | 106: VM (View Mail) -- another mail reader within Emacs | 2089 | |
| 2704 | 2090 | 92: VM (View Mail) -- another mail reader within Emacs | |
| 2091 | |||
| 2705 | Author: Kyle Jones <kyle@uunet.uu.net> | 2092 | Author: Kyle Jones <kyle@uunet.uu.net> |
| 2706 | Latest released version: 4.41 | 2093 | Latest version: 5.72 (beta) |
| 2707 | Beta test version: 5.32 | ||
| 2708 | Anonymous FTP: | 2094 | Anonymous FTP: |
| 2709 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/vm-4.41.tar.Z | 2095 | /ftp.uu.net:networking/mail/vm-5.72beta.tar.gz |
| 2710 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/as-is/timer.shar.Z | ||
| 2711 | /ftp.uu.net:mail/vm-4.41.tar.Z | ||
| 2712 | /ftp.uu.net:mail/vm-5.32beta.tar.Z | ||
| 2713 | Newsgroups and mailing lists: | 2096 | Newsgroups and mailing lists: |
| 2714 | Info-VM: | 2097 | Info-VM: |
| 2715 | gnu.emacs.vm.info | 2098 | gnu.emacs.vm.info (newsgroup) |
| 2716 | info-vm-request@uunet.uu.net (for subscriptions) | 2099 | info-vm-request@uunet.uu.net (for subscriptions) |
| 2717 | info-vm@uunet.uu.net (for submissions) | 2100 | info-vm@uunet.uu.net (for submissions) |
| 2718 | Bug-VM: | 2101 | Bug-VM: |
| 2719 | gnu.emacs.vm.bug | 2102 | gnu.emacs.vm.bug (newsgroup) |
| 2720 | bug-vm-request@uunet.uu.net (for subscriptions) | 2103 | bug-vm-request@uunet.uu.net (for subscriptions) |
| 2721 | bug-vm@uunet.uu.net (for submissions) | 2104 | bug-vm@uunet.uu.net (for submissions) |
| 2722 | 2105 | ||
| 2723 | 107: Supercite -- mail and news citation package within Emacs | 2106 | 93: Supercite -- mail and news citation package within Emacs |
| 2724 | 2107 | ||
| 2725 | Author: Barry Warsaw <bwarsaw@cen.com> | 2108 | Author: Barry Warsaw <bwarsaw@cen.com> |
| 2109 | Latest version: 3.54 (comes with GNU Emacs 19) | ||
| 2110 | 3.1 (available from the Emacs Lisp Archive) | ||
| 2111 | Anonymous FTP: | ||
| 2112 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc3.1.tar.Z | ||
| 2726 | Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions) | 2113 | Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions) |
| 2727 | supercite@anthem.nlm.nih.gov (for submissions) | 2114 | supercite@anthem.nlm.nih.gov (for submissions) |
| 2728 | Latest version: 2.3 ! | ||
| 2729 | Anonymous FTP: | ||
| 2730 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc-2.3.tar.Z ! | ||
| 2731 | /ftp.cme.nist.gov:pub/gnu/sc2.3.tar.Z ! | ||
| 2732 | Via e-mail: | ||
| 2733 | To: library@cme.nist.gov | ||
| 2734 | Subject: help | ||
| 2735 | NOTE: Superyank is an old version of Supercite. | 2115 | NOTE: Superyank is an old version of Supercite. |
| 2736 | 2116 | ||
| 2737 | 108: GNUS -- news reader within Emacs | 2117 | 94: Gnus -- news reader within Emacs |
| 2738 | 2118 | ||
| 2739 | Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp> | 2119 | Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp> |
| 2740 | Latest official version: 3.13 | 2120 | Latest version: 4.1 (comes with GNU Emacs 19) |
| 2741 | Unofficial test version: 3.14.1 | ||
| 2742 | Anonymous FTP: | 2121 | Anonymous FTP: |
| 2743 | /aun.uninett.no:pub/gnus-3.14.1.tar.Z - | 2122 | /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/gnus-4.1.tar.Z |
| 2744 | /wnoc-fuk.wide.ad.jp:pub/GNU/etc/gnus-3.14.1.tar.Z | 2123 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-4.1.tar.Z |
| 2745 | /liasun3.epfl.ch:pub/gnu/emacs/gnus-3.14.1.tar.Z | ||
| 2746 | /aix370.rrz.uni-koeln.de:/pub/gnu/emacs/gnus-3.14.1.tar.Z | ||
| 2747 | /funet.fi:/networking/news/gnus-3.14.1.tar.Z | ||
| 2748 | /src.doc.ic.ac.uk:/gnu/EmacsBits/gnus/gnus-3.14.1.tar.Z | ||
| 2749 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-3.13.tar.Z | ||
| 2750 | Newsgroups and mailing lists: | 2124 | Newsgroups and mailing lists: |
| 2751 | English-only: | 2125 | English-only: |
| 2752 | gnu.emacs.gnus | 2126 | gnu.emacs.gnus (newsgroup) |
| 2753 | info-gnus-english-request@cis.ohio-state.edu (for subscriptions) | 2127 | info-gnus-english-request@cis.ohio-state.edu (for subscriptions) |
| 2754 | info-gnus-english@cis.ohio-state.edu (for submissions) | 2128 | info-gnus-english@cis.ohio-state.edu (for submissions) |
| 2755 | Japanese (and some English): | 2129 | Japanese (and some English): |
| 2756 | info-gnus-request@flab.fujitsu.co.jp (for subscriptions) | 2130 | info-gnus-request@flab.fujitsu.co.jp (for subscriptions) |
| 2757 | info-gnus@flab.fujitsu.co.jp (for submissions) | 2131 | info-gnus@flab.fujitsu.co.jp (for submissions) |
| 2758 | 2132 | ||
| 2759 | 109: Calc -- poor man's Mathematica within Emacs | 2133 | 95: Calc -- poor man's Mathematica within Emacs |
| 2760 | 2134 | ||
| 2761 | Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> | 2135 | Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> |
| 2762 | Latest released version: 2.02 | 2136 | Latest version: 2.02c |
| 2763 | Anonymous FTP: | 2137 | Anonymous FTP: |
| 2764 | /csvax.cs.caltech.edu:pub/calc-2.02.tar.Z | 2138 | /prep.ai.mit.edu:pub/gnu/calc-2.02c.tar.gz |
| 2765 | /prep.ai.mit.edu:pub/gnu/calc-2.02.tar.Z | 2139 | NOTE: Unlike Wolfram Research, Dave has never threatened to sue |
| 2766 | NOTE: Unlike Wolfram Research, Dave has never threatened to sue anyone | 2140 | anyone for having a program with a similar command language to |
| 2767 | for having a program with a similar command language to Calc. :-) | 2141 | Calc. :-) |
| 2768 | 2142 | ||
| 2769 | 110: Calendar/Diary -- calendar manager within Emacs | 2143 | 96: Ange-FTP -- transparent FTP access for Emacs's file access routines |
| 2770 | 2144 | ||
| 2771 | Author: Edward M. Reingold <reingold@cs.uiuc.edu> | ||
| 2772 | Latest version: 4.02 | ||
| 2773 | Anonymous FTP: | ||
| 2774 | /emr.cs.uiuc.edu:pub/emacs/calendar {???} | ||
| 2775 | Via e-mail: | ||
| 2776 | To: reingold@cs.uiuc.edu | ||
| 2777 | Subject: send-emacs-cal | ||
| 2778 | Put your best internet e-mail address in the body. | ||
| 2779 | |||
| 2780 | 111: Ange-FTP -- transparent FTP access for Emacs's file access routines | ||
| 2781 | |||
| 2782 | Author: Andy Norman <ange@hplb.hpl.hp.com> | 2145 | Author: Andy Norman <ange@hplb.hpl.hp.com> |
| 2783 | Latest official version: 4.20 | 2146 | Latest version: 1.56 (comes with GNU Emacs 19) |
| 2784 | Anonymous FTP: | 2147 | Anonymous FTP: |
| 2785 | /alpha.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.Z | ||
| 2786 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z | 2148 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z |
| 2787 | /ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z | ||
| 2788 | Mailing lists: | 2149 | Mailing lists: |
| 2789 | ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions) | ||
| 2790 | Ange-FTP Lovers: | 2150 | Ange-FTP Lovers: |
| 2151 | ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions) | ||
| 2791 | ange-ftp-lovers@anorman.hpl.hp.com (for submissions) | 2152 | ange-ftp-lovers@anorman.hpl.hp.com (for submissions) |
| 2792 | /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives) | 2153 | /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives) |
| 2793 | Ange-FTP Announcements: | 2154 | Ange-FTP Announcements: |
| 2794 | ange-ftp-lovers-announce@anorman.hpl.hp.com | 2155 | ange-ftp-lovers-announce@anorman.hpl.hp.com |
| 2795 | NOTE: now with support for accessing VMS, CMS, and MTS systems | 2156 | NOTE: now supports VMS, CMS, and MTS ftp servers |
| 2796 | 2157 | ||
| 2797 | 112: VIP -- vi emulation for Emacs | 2158 | 97: VIP -- vi emulation for Emacs |
| 2798 | 2159 | ||
| 2799 | Author: Aamod Sane <sane@cs.uiuc.edu> | 2160 | Author: Aamod Sane <sane@cs.uiuc.edu> |
| 2800 | Latest released version: 4.3 | 2161 | Latest version: 4.3 |
| 2801 | Anonymous FTP: | 2162 | Anonymous FTP: |
| 2802 | /cs.uiuc.edu:pub/vip4.3.tar.Z | 2163 | /cs.uiuc.edu:pub/vip4.3.tar.Z |
| 2803 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z | 2164 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z |
| 2804 | NOTE: This version much more closely emulates vi than the one | 2165 | NOTE: This version much more closely emulates vi than the one |
| 2805 | distributed with Emacs. | 2166 | distributed with Emacs. |
| 2806 | 2167 | ||
| 2807 | 113: Dired -- better directory editor for Emacs | 2168 | 98: AUC TeX -- enhanced LaTeX mode with debugging facilities |
| 2808 | 2169 | ||
| 2809 | Author: Sebastian Kremer <sk@thp.uni-koeln.de> | ||
| 2810 | Latest released version: 5.239 | ||
| 2811 | Anonymous FTP: /ftp.cs.buffalo.edu:pub/Emacs/diredall.tar.Z | ||
| 2812 | /ftp.uni-koeln.de:pub/gnu/emacs/diredall.tar.Z | ||
| 2813 | NOTE: This is a huge improvement over the Dired distributed with Emacs. | ||
| 2814 | This version will be in Emacs 19. | ||
| 2815 | |||
| 2816 | 114: AUC TeX -- enhanced LaTeX mode with debugging facilities | ||
| 2817 | |||
| 2818 | Author: Kresten Krab Thorup <krab@iesd.auc.dk> | 2170 | Author: Kresten Krab Thorup <krab@iesd.auc.dk> |
| 2819 | Latest released version: 6.1 {???} | 2171 | Latest version: 9.1i |
| 2820 | Anonymous FTP: | 2172 | Anonymous FTP: |
| 2821 | /iesd.auc.dk:pub/emacs-lisp/auctex_6_1d.tar.Z | 2173 | /iesd.auc.dk:pub/emacs-lisp/auctex-9.1i.tar.gz |
| 2822 | /iesd.auc.dk:pub/emacs-lisp/auctex.tar.Z | ||
| 2823 | Mailing list: | 2174 | Mailing list: |
| 2824 | auc-tex-request@iesd.auc.dk (for subscriptions) | 2175 | auc-tex-request@iesd.auc.dk (for subscriptions) |
| 2825 | auc-tex@iesd.auc.dk (for submissions) | 2176 | auc-tex@iesd.auc.dk (for submissions) |
| 2826 | auc-tex_mgr@iesd.auc.dk (auc-tex development team) | 2177 | auc-tex_mgr@iesd.auc.dk (auc-tex development team) |
| 2827 | 2178 | ||
| 2828 | 115: Hyperbole -- extensible hypertext management system within Emacs | 2179 | 99: Hyperbole -- extensible hypertext management system within Emacs |
| 2829 | 2180 | ||
| 2830 | Author: Bob Weiner <rsw@cs.brown.edu> | 2181 | Author: Bob Weiner <rsw@cs.brown.edu> |
| 2182 | Latest version: 3.15 | ||
| 2831 | Anonymous FTP: | 2183 | Anonymous FTP: |
| 2832 | /wilma.cs.brown.edu:pub/hyperbole/ h*.tar.Z | 2184 | /wilma.cs.brown.edu:pub/hyperbole/h3.15.tar.Z |
| 2833 | Mailing lists: | 2185 | Mailing lists: |
| 2834 | hyperbole-announce -- Hyperbole release announcements only. | 2186 | hyperbole-announce -- Hyperbole release announcements only. |
| 2835 | Subscriptions: | 2187 | Subscriptions: |
| @@ -2841,1604 +2193,885 @@ Major Emacs Lisp Packages, Emacs Extensions, and Related Programs | |||
| 2841 | Subject: Add <mailbox@domain.name> to hyperbole | 2193 | Subject: Add <mailbox@domain.name> to hyperbole |
| 2842 | Submissions: | 2194 | Submissions: |
| 2843 | hyperbole@cs.brown.edu | 2195 | hyperbole@cs.brown.edu |
| 2844 | NOTE: Any member of the hyperbole mailing list is automatically a | 2196 | NOTE: Any member of the hyperbole mailing list is automatically a |
| 2845 | member of the hyperbole-announce mailing list. | 2197 | member of the hyperbole-announce mailing list. |
| 2846 | NOTE: No .UUCP or ! addresses are allowed on these mailing lists. | 2198 | NOTE: No .UUCP or ! addresses are allowed on these mailing lists. |
| 2847 | 2199 | ||
| 2848 | 116: Byte Compiler -- enhanced version of Emacs's byte compiler | 2200 | 100: BBDB -- personal Info Rolodex integrated with mail/news readers |
| 2849 | 2201 | ||
| 2850 | Author: Jamie Zawinski <jwz@lucid.com>, | ||
| 2851 | Hallvard B. Furuseth <hallvard@ifi.uio.no> | ||
| 2852 | Anonymous FTP: | ||
| 2853 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bytecomp.tar.Z | ||
| 2854 | /ftp.uu.net:languages/elisp/packages/bytecomp.tar.Z | ||
| 2855 | /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/bytecomp.tar.Z | ||
| 2856 | |||
| 2857 | 117: comint -- hugely enhanced shell mode and other derived modes | ||
| 2858 | |||
| 2859 | Author: Olin Shivers <Olin.Shivers@cs.cmu.edu> | ||
| 2860 | Anonymous FTP: | ||
| 2861 | /cs.cmu.edu:/afs/cs.cmu.edu/user/shivers/lib/emacs/ | ||
| 2862 | {comint,cmu{tex,shell,scheme,lisp},ml}.el | ||
| 2863 | (anonymous password must contain `@', | ||
| 2864 | cannot cd to intermediate directories) | ||
| 2865 | |||
| 2866 | 118: BBDB -- personal info rolodex integrated with mail/news readers | ||
| 2867 | |||
| 2868 | Author: Jamie Zawinski <jwz@lucid.com> | 2202 | Author: Jamie Zawinski <jwz@lucid.com> |
| 2869 | Latest released version: 1.47 | 2203 | Latest released version: 1.50 |
| 2870 | Anonymous FTP: | 2204 | Anonymous FTP: |
| 2871 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb.tar.Z | 2205 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb-1.50.tar.Z |
| 2872 | Mailing list: | 2206 | Mailing lists: |
| 2873 | info-bbdb-request@lucid.com (for subscriptions) | 2207 | info-bbdb-request@cs.uiuc.edu (for subscriptions) |
| 2874 | info-bbdb@lucid.com | 2208 | info-bbdb@cs.uiuc.edu (for submissions) |
| 2875 | bbdb-announce-request@lucid.com (to be informed of new releases) | 2209 | bbdb-announce-request@cs.uiuc.edu (to be informed of new releases) |
| 2876 | Note: BBDB does not work with VM 4. It does work with VM 5, RMAIL, GNUS, | 2210 | NOTE: BBDB does not work with VM 4. It does work with VM 5, |
| 2877 | and MH-E. | 2211 | Rmail, Gnus, and MH-E. |
| 2878 | 2212 | ||
| 2879 | 119: Ispell -- spell checker in C with interface for Emacs | 2213 | 101: Ispell -- spell checker in C with interface for Emacs |
| 2880 | 2214 | ||
| 2881 | Author: Geoff Kuenning <geoff@itcorp.com> | 2215 | Author: Geoff Kuenning <geoff@itcorp.com> |
| 2882 | Latest released version: 2.0.02 | 2216 | Latest released version: 3.1.08 |
| 2883 | Beta test version: 3.0 (9 patches) | ||
| 2884 | Anonymous FTP: | ||
| 2885 | /archive.cis.ohio-state.edu:/pub/gnu/ispell/ (version 2.0.02) | ||
| 2886 | /ftp.cs.ucla.edu:/pub/ispell/ (version 3.0, patches, dictionaries) | ||
| 2887 | /argus.math.orst.edu:pub/ispell/ (version 3.0, patches, dictionaries) | ||
| 2888 | /ftp.th-darmstadt.de:pub/dicts/ispell/ (mirror of argus) | ||
| 2889 | NOTE: Do not send mail to Geoff asking him to send you the latest | ||
| 2890 | version of Ispell. He does not have free e-mail. | ||
| 2891 | |||
| 2892 | 120: Epoch -- enhanced GNU Emacs with better X interface | ||
| 2893 | |||
| 2894 | Latest released version: 4.2 | ||
| 2895 | Anonymous FTP: | 2217 | Anonymous FTP: |
| 2896 | /cs.uiuc.edu:pub/epoch-files/epoch/epoch-4.2.tar.Z | 2218 | Master Sites: |
| 2897 | /cs.uiuc.edu:pub/epoch-files/epoch/epoch-diff-4.1-4.2.tar.Z | 2219 | /ftp.cs.ucla.edu:pub/ispell/ispell-3.1.08.tar.gz |
| 2898 | /src.doc.ic.ac.uk:gnu/epoch/ | 2220 | /ftp.math.orst.edu:pub/ispell/ispell-3.1.08.tar.gz |
| 2899 | /aix370.rrz.uni-koeln.de:gnu/emacs/epoch/ | 2221 | Known Mirror Sites: (only directory names shown) |
| 2900 | Newsgroup and mailing lists: | 2222 | /ftp.th-darmstadt.de:pub/dicts/ispell/ |
| 2901 | Epoch: | 2223 | /ftp.nl.net:pub/textproc/ispell/ |
| 2902 | gnu.emacs.epoch | 2224 | |
| 2903 | epoch-request@cs.uiuc.edu (for subscriptions) | 2225 | NOTE: * Do not ask Geoff to send you the latest version of Ispell. |
| 2904 | epoch@cs.uiuc.edu (for submissions) | 2226 | He does not have free e-mail. |
| 2905 | Epoch-Design: | 2227 | |
| 2906 | epoch-design-request@cs.uiuc.edu (for subscriptions) | 2228 | * This Ispell program is distinct from GNU Ispell 4.0. GNU |
| 2907 | epoch-design@cs.uiuc.edu (for submissions) | 2229 | Ispell 4.0 is no longer a supported product. |
| 2908 | FAQ list: | 2230 | |
| 2909 | Maintainer: Marc Andreessen <marca@ncsa.uiuc.edu> | 2231 | 102: XEmacs -- alternative Emacs 19 with better X interface; formerly |
| 2910 | Anonymous FTP: | 2232 | known as Lucid Emacs or lemacs. |
| 2911 | /rtfm.mit.edu:pub/usenet/news.answers/epoch-faq | 2233 | |
| 2912 | /ftp.ncsa.uiuc.edu:outgoing/marca/epoch/Epoch.FAQ | 2234 | Primary Maintainer: Chuck Thompson <cthomp@cs.uiuc.edu> |
| 2913 | 2235 | Other Developers: Ben Wing <wing@netcom.com> | |
| 2914 | 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface | 2236 | Richard Mlynarik <mly@adoc.xerox.com> |
| 2915 | 2237 | Jamie Zawinski <jwz@mcom.com> | |
| 2916 | Primary Maintainer: Jamie Zawinski <jwz@lucid.com> | 2238 | Latest released version: 19.11 |
| 2917 | Other Developers: Eric Benson <eb@lucid.com> | ||
| 2918 | Matthieu Devin <devin@lucid.com> | ||
| 2919 | Harlan Sexton <hbs@lucid.com> | ||
| 2920 | Latest released version: 19.6 ! | ||
| 2921 | Anonymous FTP: | 2239 | Anonymous FTP: |
| 2922 | /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.6.tar.Z (source) ! | 2240 | /ftp.cs.uiuc.edu:pub/xemacs/xemacs-19.11.tar.gz |
| 2923 | /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.6-sun4.tar.Z (Sun4binaries) ! | 2241 | Newsgroup and mailing lists: |
| 2924 | Newsgroup and mailing lists: | 2242 | Bugs: |
| 2925 | Bugs: | 2243 | alt.lucid-emacs.bug |
| 2926 | alt.lucid-emacs.bug + | 2244 | bug-lucid-emacs-request@cs.uiuc.edu (for subscriptions) |
| 2927 | bug-lucid-emacs-request@lucid.com (for subscriptions) | 2245 | bug-lucid-emacs@cs.uiuc.edu (for submissions) |
| 2928 | bug-lucid-emacs@lucid.com (for submissions) | 2246 | Help: |
| 2929 | Help: | 2247 | alt.lucid-emacs.help |
| 2930 | alt.lucid-emacs.help + | 2248 | help-lucid-emacs-request@cs.uiuc.edu (for subscriptions) |
| 2931 | help-lucid-emacs-request@lucid.com (for subscriptions) | 2249 | help-lucid-emacs@cs.uiuc.edu (for submissions) |
| 2932 | help-lucid-emacs@lucid.com (for submissions) | 2250 | NOTE: The XEmacs FAQ is available via the World-Wide Web at URL |
| 2933 | 2251 | http://xemacs.cs.uiuc.edu/. | |
| 2934 | 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines | 2252 | |
| 2935 | 2253 | 103: Patch -- program to apply "diffs" for updating files | |
| 2936 | Authors: Manabu Higashida <manabu@sigmath.osaka-u.ac.jp> | 2254 | |
| 2937 | HIRANO Satoshi <hirano@tkl.iis.u-tokyo.ac.jp> | ||
| 2938 | Latest released version: 1.2.0 | ||
| 2939 | Anonymous FTP: | ||
| 2940 | /utsun.s.u-tokyo.ac.jp:GNU/demacs/ (nearest to U.S.A.) | ||
| 2941 | /ftp.sigmath.osaka-u.ac.jp:pub/Msdos/Demacs/ | ||
| 2942 | /wnoc-fuk.wide.ad.jp:pub/msdos/Demacs/ | ||
| 2943 | /ftp.3com.com:pub/gnu/msdos/demacs/ | ||
| 2944 | /mindseye.berkeley.edu:pub/kanji/demacs/ | ||
| 2945 | /ftp.hawaii.edu:pub/editors/demacs.tar.Z | ||
| 2946 | /ftp.math.ksu.edu:pub/pc/demacs/ | ||
| 2947 | /wsmr-simtel20.army.mil:pd1:<msdos.demacs> {ange-ftp syntax?} | ||
| 2948 | /ftp.uni-koeln.de:msdos/gnuprogs/dem120e.zip (executables, lisp-code, doc) | ||
| 2949 | (PLEASE USE ONLY OUTSIDE WORKING HOURS!) | ||
| 2950 | /ftp.uni-koeln.de:msdos/gnuprogs/dem120s.zip (sources, diffs) | ||
| 2951 | (PLEASE USE ONLY OUTSIDE WORKING HOURS!) | ||
| 2952 | /ftp.lysator.liu.se:pub/msdos/gnu/emacs/ | ||
| 2953 | /mizar.docs.uu.se:pub/gnu/demacs/ | ||
| 2954 | /iamsun.unibe.ch:PC/demacs/ | ||
| 2955 | /flop.informatik.tu-muenchen.de:outgoing/demacs.tar | ||
| 2956 | /ftp.funet.fi:pub/gnu/emacs/demacs/ | ||
| 2957 | /garbo.uwasa.fi:pc/editor/dem120e.zip | ||
| 2958 | /garbo.uwasa.fi:pc/editor/dem120s.zip | ||
| 2959 | /ftp.win.tue.nl:pub/gnu/demacs/ | ||
| 2960 | /ugle.unit.no:pub/gnu/Demacs/ | ||
| 2961 | {Does anyone know which sites have the Kanji version?} | ||
| 2962 | Via e-mail: | ||
| 2963 | From garbo.uwasa.fi: | ||
| 2964 | To: mailserv@garbo.uwasa.fi | ||
| 2965 | Subject: garbo-request | ||
| 2966 | Body: send pc/editor/dem120e.zip | ||
| 2967 | send pc/editor/dem120s.zip | ||
| 2968 | quit | ||
| 2969 | Downloading: | ||
| 2970 | EXEC-PC (Milwaukee, WI) 414-789-4210 (2400 bps) | ||
| 2971 | in the Mahoney MS-DOS file area in its Editors/wordprocessors | ||
| 2972 | library (F), named GNUEMACS.ZIP | ||
| 2973 | Channel 1 (Cambridge, MA) 617-345-8873 (9600 bps) | ||
| 2974 | in the New Uploads file area, named GNUEMACS.ZIP | ||
| 2975 | NOTE: Use the -d option of [pk]unzip for all .zip archives. Some sites | ||
| 2976 | have Demacs lharc'ed. If you need to find programs to unpack lharc and | ||
| 2977 | zip format archives, Chris Dean <ctdean@talaris.com> points out that you | ||
| 2978 | should see the comp.compression FAQ, available for FTP: | ||
| 2979 | /rtfm.mit.edu:pub/usenet/comp.compression/ | ||
| 2980 | Mailing list: | ||
| 2981 | NOTE: There is no mailing list for Demacs. However, there is a list | ||
| 2982 | for DJGPP, which is the environment that Demacs runs in. Many | ||
| 2983 | Demacs problems are actually issues with DJGPP. | ||
| 2984 | DJGPP: | ||
| 2985 | Subscriptions: | ||
| 2986 | To: listserv@sun.soe.clarkson.edu | ||
| 2987 | body: add <your-address> djgpp | ||
| 2988 | or put `help' in the body. | ||
| 2989 | If this fails, mail to djgpp-request@sun.soe.clarkson.edu. | ||
| 2990 | Submissions: | ||
| 2991 | djgpp@sun.soe.clarkson.edu | ||
| 2992 | FAQ list: | ||
| 2993 | Maintainer: Dave Steibel <steibel@cs.umbc.edu> | ||
| 2994 | Anonymous FTP: algol.cs.umbc.edu:pub/demacs/demacs.faq | ||
| 2995 | |||
| 2996 | 123: Freemacs -- a small Emacs for MS-DOS | ||
| 2997 | |||
| 2998 | Author: Russ Nelson <nelson@sun.soe.clarkson.edu> | ||
| 2999 | Latest released version: 1.6a | ||
| 3000 | Anonymous FTP: | ||
| 3001 | /simtel20.army.mil:PD:<MSDOS.FREEMACS> {ange-ftp syntax?} | ||
| 3002 | /grape.ecs.clarkson.edu:pub/msdos/freemacs/ | ||
| 3003 | Via e-mail: | ||
| 3004 | To: archive-server@sun.soe.clarkson.edu | ||
| 3005 | body: help | ||
| 3006 | Via snail mail: | ||
| 3007 | address: Russell Nelson, 11 Grant St., Potsdam, NY 13676 | ||
| 3008 | Send $15 copying fee, and specify preferred floppy disk format: | ||
| 3009 | 5.25", 360K, or 3.50", 720K | ||
| 3010 | Mailing lists: | ||
| 3011 | Subscriptions: | ||
| 3012 | To: listserv@sun.soe.clarkson.edu | ||
| 3013 | body: add <your-address> <name-of-list> | ||
| 3014 | or put `help' in the body. | ||
| 3015 | List distribution addresses: | ||
| 3016 | freemacs-announce@sun.soe.clarkson.edu | ||
| 3017 | freemacs-help@sun.soe.clarkson.edu | ||
| 3018 | freemacs-workers@sun.soe.clarkson.edu (send bug reports here) | ||
| 3019 | |||
| 3020 | 124: Patch -- program to apply "diffs" for updating files | ||
| 3021 | |||
| 3022 | Author: Larry Wall <lwall@netlabs.com> | 2255 | Author: Larry Wall <lwall@netlabs.com> |
| 3023 | Latest version: 2.0 patchlevel 12u8 | 2256 | Latest version: 2.1 |
| 3024 | (This is the version that supports the new unified diff format.) | 2257 | Anonymous FTP: |
| 3025 | Anonymous FTP: | 2258 | /prep.ai.mit.edu:pub/gnu/patch-2.1.tar.gz |
| 3026 | /prep.ai.mit.edu:pub/gnu/patch-2.0.12u8.tar.Z | 2259 | /ftp.funet.fi:pub/gnu/patch-2.1.tar.gz |
| 3027 | /prep.ai.mit.edu:pub/gnu/patch-2.0.12g8.tar.Z (GNU version) | 2260 | /ftp.uni-stuttgart.de:pub/unix/gnu/patch-2.1.tar.gz |
| 3028 | 2261 | NOTE: See question 80 for other GNU distribution sites. | |
| 3029 | 2262 | ||
| 3030 | 2263 | ||
| 3031 | GNU Emacs FAQ: Keybindings/Output | 2264 | Changing Key Bindings and Handling Key Binding Problems |
| 3032 | 2265 | ||
| 3033 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | 2266 | 104: How do I bind keys (including function keys) to commands? |
| 3034 | get an overview of just the questions. Then, when you want to look at the text | ||
| 3035 | of the answers, just type "C-x $". | ||
| 3036 | 2267 | ||
| 3037 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | 2268 | Keys can be bound to commands either interactively or by predefinition |
| 3038 | that doesn't work, then type ESC to end the search. | 2269 | (e.g. in the .emacs file). To interactively bind keys for all modes, |
| 2270 | type `M-x global-set-key RET KEY CMD RET'; for the current major mode | ||
| 2271 | only, type `M-x local-set-key RET KEY CMD RET' (see the Emacs on-line | ||
| 2272 | documentation for further details). | ||
| 3039 | 2273 | ||
| 3040 | A `+' in the 78th column means something was inserted on the line. A `-' means | 2274 | To bind keys on starting Emacs or on starting any given mode, you can use |
| 3041 | something was deleted and a `!' means some combination of insertions and | 2275 | the following "trick." First bind the key interactively, then |
| 3042 | deletions occurred. | 2276 | immediately afterwards type `C-x ESC ESC C-a C-k C-g'. Now, the command |
| 2277 | needed to bind the key is in the kill ring and can be yanked into the | ||
| 2278 | .emacs file. If the key binding is global, no changes to the command are | ||
| 2279 | required. For example, | ||
| 3043 | 2280 | ||
| 3044 | Full instructions for getting the latest FAQ are in question 22. Also see the | 2281 | (global-set-key (quote [f1]) (quote help-for-help)) |
| 3045 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 3046 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 3047 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 3048 | 2282 | ||
| 2283 | can be place directly into the .emacs file. If the key binding is local, | ||
| 2284 | the command is used in conjunction with the `add-hook' command. For | ||
| 2285 | example, in tex-mode, a local binding might be | ||
| 3049 | 2286 | ||
| 2287 | (add-hook 'tex-mode-hook | ||
| 2288 | (function (lambda () | ||
| 2289 | (local-set-key (quote [f1]) (quote help-for-help)))) | ||
| 3050 | 2290 | ||
| 3051 | Changing Key Bindings and Handling Key Binding Problems | 2291 | NOTE: * Control characters in key sequence position of the form yanked |
| 2292 | from the kill ring are given in their graphic form - i.e. CTRL is | ||
| 2293 | shown as `^', TAB as a set of spaces (usually 8), etc. You may | ||
| 2294 | want to convert these into their vector or string forms. | ||
| 2295 | |||
| 2296 | * If some prefix key of the character sequence to be bound is | ||
| 2297 | already bound as a complete key, then you must unbind it before | ||
| 2298 | the new binding. For example, if `ESC {' is previously bound: | ||
| 2299 | |||
| 2300 | (global-unset-key [?\e ?{]) ;; or | ||
| 2301 | (local-unset-key [?\e ?{]) | ||
| 2302 | |||
| 2303 | * Aside from commands and "lambda lists," a vector or string also | ||
| 2304 | can be bound to a key and thus treated as a macro. For example: | ||
| 2305 | |||
| 2306 | (global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or | ||
| 2307 | (global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g") | ||
| 2308 | |||
| 2309 | See `Key Bindings' in the Emacs on-line documentation for further | ||
| 2310 | details. | ||
| 2311 | |||
| 2312 | 105: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | ||
| 2313 | |||
| 2314 | Usually one of two things has happened. In one case, the control | ||
| 2315 | character in the key sequence has been misspecified (e.g. `C-f' used | ||
| 2316 | instead of `\C-f' within a Lisp expression). In the other case, a | ||
| 2317 | "prefix key" in the keystroke sequence you were trying to bind was | ||
| 2318 | already bound as a "complete key." Historically, the `ESC [' prefix was | ||
| 2319 | usually the problem, in which case you should evaluate either of these | ||
| 2320 | forms before attempting to bind the key sequence: | ||
| 2321 | |||
| 2322 | (global-unset-key [?\e ?[]) ;; or | ||
| 2323 | (global-unset-key "\e[") | ||
| 2324 | |||
| 2325 | 106: Why doesn't this [terminal or window-system setup] code work in my | ||
| 2326 | .emacs file, but it works just fine after Emacs starts up? | ||
| 2327 | |||
| 2328 | During startup, Emacs initializes itself according to a given code/file | ||
| 2329 | order. If some of the code executed in your .emacs file needs to be | ||
| 2330 | postponed until the initial terminal or window-system setup code has been | ||
| 2331 | executed but is not, then you will experience this problem (this | ||
| 2332 | code/file execution order is not enforced after startup). | ||
| 2333 | |||
| 2334 | To postpone the execution of Emacs Lisp code until after terminal or | ||
| 2335 | window-system setup, treat the code as a "lambda list" and set the value | ||
| 2336 | of either the `term-setup-hook' or `window-setup-hook' variable to this | ||
| 2337 | "lambda function." For example, | ||
| 3052 | 2338 | ||
| 3053 | 125: How do I bind keys (including function keys) to commands? | ||
| 3054 | |||
| 3055 | 1. Find out what character sequence is generated by the keystroke sequence | ||
| 3056 | you wish to bind to a command. See question 129 for how to do this. | ||
| 3057 | Keep in mind that the character sequences generated by a keystroke | ||
| 3058 | sequence varies from one terminal to another. You may also get | ||
| 3059 | different results depending on what type of machine you are running on | ||
| 3060 | (see question 128). For example, these keystrokes may generate these | ||
| 3061 | character sequences: | ||
| 3062 | |||
| 3063 | F1 ---> ESC [ 2 2 4 z | ||
| 3064 | Shift-R10 ---> ESC O t | ||
| 3065 | L7 ---> ESC [ 3 1 ~ | ||
| 3066 | Remove ---> C-@ | ||
| 3067 | |||
| 3068 | 2. Figure out what the Emacs Lisp syntax is for this character sequence. | ||
| 3069 | Inside an Emacs Lisp string, RET, LFD, DEL, ESC, SPC, and TAB are | ||
| 3070 | specified with `\r', `\n', `\C-?', `\e', ` ', and `\t'. C-x is | ||
| 3071 | specified by `\C-x'. M-x is specified the same was as "ESC x". | ||
| 3072 | (Control characters may also be specified as themselves, but I don't | ||
| 3073 | recommend it.) An Emacs Lisp string begins and ends with the double | ||
| 3074 | quote character, `"'. Here are some examples: | ||
| 3075 | |||
| 3076 | ESC [ D ---> "\e[D" | ||
| 3077 | ESC [ 2 2 7 z ---> "\e[227z" | ||
| 3078 | ESC [ 1 8 ~ ---> "\e[18~" | ||
| 3079 | C-M-r ---> "\e\C-r" | ||
| 3080 | |||
| 3081 | 3. If some prefix of the character sequence is already bound, you must | ||
| 3082 | unbind it by binding it to `nil'. For example: | ||
| 3083 | |||
| 3084 | (global-set-key "\e[" nil) | ||
| 3085 | |||
| 3086 | 4. Pick a command to bind your key sequence to. A command can be a | ||
| 3087 | "symbol" with a function definition, or a "lambda list", or a string | ||
| 3088 | (which is treated as a macro). For example: | ||
| 3089 | |||
| 3090 | (global-set-key "\e[D" 'backward-char) | ||
| 3091 | (global-set-key "\e[227~" "\exgoto-line\r") ; macro | ||
| 3092 | |||
| 3093 | See `Key Bindings' and `Rebinding' in the online manual. | ||
| 3094 | |||
| 3095 | In Emacs 19 (including Lucid Emacs), you can bind function key F24 like | ||
| 3096 | this: | ||
| 3097 | |||
| 3098 | (global-set-key 'f24 'some-command) | ||
| 3099 | |||
| 3100 | 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | ||
| 3101 | |||
| 3102 | A prefix of the character sequence you were trying to bind was already | ||
| 3103 | bound. Usually, the sequence is "ESC [", in which case you should | ||
| 3104 | evaluate this form first: | ||
| 3105 | |||
| 3106 | (define-key esc-map "[" nil) | ||
| 3107 | |||
| 3108 | NOTE: By default, "ESC [" is bound to backward-paragraph, and if you do | ||
| 3109 | this you will lose this key binding. For most people, this is not a | ||
| 3110 | problem. | ||
| 3111 | |||
| 3112 | See question 125. | ||
| 3113 | |||
| 3114 | 127: Why doesn't this [terminal or window-system setup] code work in my | ||
| 3115 | .emacs file, but it works just fine after Emacs starts up? | ||
| 3116 | |||
| 3117 | This is because you're trying to do something in your .emacs file that | ||
| 3118 | needs to be postponed until after the terminal/window-system setup code | ||
| 3119 | is loaded. This is a result of the order in which things are done | ||
| 3120 | during the startup of Emacs. For more details see question 135. | ||
| 3121 | |||
| 3122 | In order to postpone the execution of Emacs Lisp code until after the | ||
| 3123 | terminal/window-system setup, set the value of the variable | ||
| 3124 | term-setup-hook or window-setup-hook to be a function which does what | ||
| 3125 | you want. | ||
| 3126 | |||
| 3127 | See etc/OPTIONS for a complete explanation of what Emacs does every time | ||
| 3128 | it is started. | ||
| 3129 | |||
| 3130 | Here is a simple example of how to set term-setup-hook: | ||
| 3131 | |||
| 3132 | (setq term-setup-hook | 2339 | (setq term-setup-hook |
| 3133 | (function | 2340 | (function |
| 3134 | (lambda () | 2341 | (lambda () |
| 3135 | (cond ((string-match "\\`vt220" (or (getenv "TERM") "")) | 2342 | (cond ((string-match "\\`vt220" (or (getenv "TERM") "")) |
| 3136 | ;; Make vt220's "Do" key behave like M-x: | 2343 | ;; Make vt220's "Do" key behave like M-x: |
| 3137 | (define-key CSI-map "29~" 'execute-extended-command)) | 2344 | (global-set-key [do] 'execute-extended-command)) |
| 3138 | )))) | 2345 | )))) |
| 3139 | 2346 | ||
| 3140 | 128: How do I use function keys under X Windows? | 2347 | For information on what Emacs does every time it is started, see the |
| 3141 | 2348 | lisp/startup.el file. | |
| 3142 | This depends on whether you are running Emacs inside a terminal emulator | 2349 | |
| 3143 | window, or whether you are allowing Emacs to create its own X window. | 2350 | 107: How do I use function keys under X Windows? |
| 3144 | You can tell which you are doing by noticing whether Emacs creates a new | 2351 | |
| 3145 | window when you start it. | 2352 | With Emacs 19, functions keys under X are bound like any other key. See |
| 3146 | 2353 | question 104 for details. | |
| 3147 | If you are running Emacs inside a terminal emulator window, then it | 2354 | |
| 3148 | behaves exactly as it does on any other tty. In this case, for function | 2355 | 108: How do I tell what characters or symbols my function or arrow keys |
| 3149 | keys to be useful, they must generate character sequences that are sent | 2356 | emit? |
| 3150 | to the programs running inside the window as input. The `xterm' program | 2357 | |
| 3151 | has two different sets of character sequences that it generates when | 2358 | Put the following in your .emacs file and type `M-x see-chars' to use: |
| 3152 | function keys are pressed, depending on the sunFunctionKeys X resource | 2359 | |
| 3153 | and the -sf and +sf command line options. (To find out what these key | 2360 | (defun see-chars () |
| 3154 | sequences are, see question 129.) In addition, with xterm, | 2361 | "Display events received, terminated by a 3-second timeout." |
| 3155 | you can override what key sequence a specific function key (or any other | 2362 | (interactive) |
| 3156 | key) will generate with the `translations' resource. This, for example: | 2363 | (let (chars |
| 3157 | 2364 | (inhibit-quit t)) | |
| 3158 | XTerm.VT100.Translations: #override \ | 2365 | (message "Enter characters or other events, terminated by a 3-second |
| 3159 | <KeyPress>F1: string(0x1b) string("[xyzzy") | 2366 | timeout.") |
| 3160 | 2367 | (while (not (sit-for 3)) | |
| 3161 | makes the function key F1 generate the character sequence "ESC [xyzzy". | 2368 | (setq chars (nconc chars (list (read-event))) |
| 3162 | 2369 | quit-flag nil) ; quit-flag might be set by C-g. | |
| 3163 | On the other hand, if Emacs is managing its own X window, the following | 2370 | (if (not (input-pending-p)) |
| 3164 | description applies. Emacs receives `KeyPress' events from the X server | 2371 | (message "Events received until now: %s..." |
| 3165 | when a key is pressed while the keyboard focus is in its window. The | 2372 | (key-description chars)))) |
| 3166 | KeyPress event contains an X "keysym" code, which is simply an arbitrary | 2373 | (message "Events received: %s" (key-description chars)))) |
| 3167 | number corresponding to the name of the keysym, and information on which | 2374 | |
| 3168 | "modifiers" such as `control' and `shift' are active. For example, the | 2375 | Alternatively, type "C-h c" then the function or arrow keys. The command |
| 3169 | `Tab' keysym is 0xff09. (Generally, a key on the keyboard will generate a | 2376 | will return either a function key symbol or character sequence (see the |
| 3170 | keysym whose name is the same as the label on the key, ie. the `Tab' key | 2377 | Emacs on-line documentation for an explanation). This works for other |
| 3171 | will normally generate the `Tab' keysym. This can be changed with the | 2378 | keys as well. |
| 3172 | xmodmap program.) Emacs recognizes all the keysyms that correspond to | 2379 | |
| 3173 | standard ASCII characters and internally uses the ASCII character instead. | 2380 | 109: How do I set the X key "translations" for Emacs? |
| 3174 | 2381 | ||
| 3175 | (WARNING: I am about to describe a gross, disgusting hack to you, have | ||
| 3176 | your barf bag ready.) | ||
| 3177 | |||
| 3178 | When Emacs receives the X keysym of one of the arrow keys, it behaves | ||
| 3179 | the same as if it had received a letter key with the control modifier | ||
| 3180 | down as follows (this is hard-coded): | ||
| 3181 | |||
| 3182 | Up becomes C-p | ||
| 3183 | Down becomes C-n | ||
| 3184 | Right becomes C-f | ||
| 3185 | Left becomes C-b | ||
| 3186 | |||
| 3187 | The way Emacs treats other keysyms depends on what kind of machine it was | ||
| 3188 | compiled on. The type of the display machine is irrelevant! Function | ||
| 3189 | keys are mapped internally to escape sequences, while other keys are | ||
| 3190 | completely ignored. | ||
| 3191 | |||
| 3192 | 1. If compiled on a Sun, Emacs recognizes these X keysyms that | ||
| 3193 | are normally on a Sun keyboard: | ||
| 3194 | |||
| 3195 | F1 through F9 | ||
| 3196 | L1 through L10 (same as F11 through F20) | ||
| 3197 | R1 through R15 (same as F21 through F35) | ||
| 3198 | (The keys labelled R8, R10, R12, and R14 usually are mapped to the | ||
| 3199 | X keysyms Up, Left, Right, and Down.) | ||
| 3200 | Break (the `Alternate' key is given this keysym) | ||
| 3201 | |||
| 3202 | These keys work like Sun function keys. When Emacs receives the | ||
| 3203 | keysym, it will internally use character sequences that look like "ESC | ||
| 3204 | [ ### z", where ### is replaced by a number. The character sequences | ||
| 3205 | are identical to those generated by Sun's keyboard under SunView. Any | ||
| 3206 | function key not listed above generates "ESC [ - 1 z". | ||
| 3207 | |||
| 3208 | In order to use these key sequences, they should be bound to commands | ||
| 3209 | using the standard key binding methods, just as if Emacs were running | ||
| 3210 | on a regular terminal. | ||
| 3211 | |||
| 3212 | WARNING: F11 and L1 are the same keysym in X, as are F12 and L2, etc. | ||
| 3213 | {Yes, this is stupid. Complain to the X consortium.} | ||
| 3214 | |||
| 3215 | 2. If not compiled on a Sun, the function keys will appear to Emacs in a | ||
| 3216 | way remarkably similar to the keys of a DEC LK201 keyboard (used on | ||
| 3217 | some VT series terminals). These X keysyms will be recognized: | ||
| 3218 | |||
| 3219 | F1 through F20 | ||
| 3220 | Help (treated same as F15) | ||
| 3221 | Menu (treated same as F16, is the LK201 `Do' key) | ||
| 3222 | Find | ||
| 3223 | Insert (LK201 `Insert Here' key) | ||
| 3224 | Select | ||
| 3225 | Prior (LK201 `Prev Screen' key *** ONLY IN 18.58 AND LATER ***) | ||
| 3226 | Next (LK201 `Next Screen' key *** ONLY IN 18.58 AND LATER ***) | ||
| 3227 | |||
| 3228 | And finally, the LK201 key labelled `Remove' (or `Delete') is often | ||
| 3229 | mapped to the Delete keysym which generates the DEL character (C-?) | ||
| 3230 | instead of the key sequence given by the LK201 `Remove' key. It may | ||
| 3231 | also be mapped to some other keysym, such as `_Remove', in which case | ||
| 3232 | you can't use it from within Emacs at all. | ||
| 3233 | |||
| 3234 | Each function key will be internally converted to a character sequence | ||
| 3235 | that looks like "ESC [ ## ~", where ## is replaced by a number. The | ||
| 3236 | character sequences are identical to those generated by a LK201 | ||
| 3237 | keyboard. Any function key not listed above generates "ESC [ - 1 ~". | ||
| 3238 | |||
| 3239 | For the complete list of the numbers which are generated by the function | ||
| 3240 | keys, look in the file src/x11term.c at the definitions of the function | ||
| 3241 | stringFuncVal. | ||
| 3242 | |||
| 3243 | If you are running Emacs on a Sun machine, even if your X display is | ||
| 3244 | running on a non-Sun machine (eg., an X terminal), you get the setup | ||
| 3245 | described above for Suns. The determining factor is what type of | ||
| 3246 | machine Emacs is running (was compiled) on, not what type of machine | ||
| 3247 | your X display is on. | ||
| 3248 | |||
| 3249 | If you have function keys not listed above on your keyboard, you can use | ||
| 3250 | `xmodmap' to change their keysym assignments to get keys that Emacs will | ||
| 3251 | recognize, but that may screw up other programs. | ||
| 3252 | |||
| 3253 | X resources are not used by Emacs to affect the key sequences generated. | ||
| 3254 | In particular, there are no X key "translations" for Emacs. | ||
| 3255 | |||
| 3256 | If you have function keys not listed above and you don't want to use | ||
| 3257 | xmodmap to change their names, you might want to make a modification to | ||
| 3258 | your Emacs. Johan Vromans <jv@mh.nl> has made available a patch for Emacs | ||
| 3259 | that adds the x-rebind-key function of Epoch to Emacs 18.58. This allows | ||
| 3260 | another layer of key rebinding before Emacs even sees the keys, and in | ||
| 3261 | this layer you can rebind all of the keys and modifier combinations as | ||
| 3262 | well. | ||
| 3263 | |||
| 3264 | Anonymous FTP: | ||
| 3265 | /ftp.eu.net:gnu/emacs/FP-Xfun.Z | ||
| 3266 | /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun | ||
| 3267 | |||
| 3268 | Johan Vromans explains what this buys for you: | ||
| 3269 | |||
| 3270 | After implementing this, all keyboard keys can be configured to send | ||
| 3271 | user definable sequences, eg., | ||
| 3272 | |||
| 3273 | (x-rebind-key "KP_F1" 0 "\033OP") | ||
| 3274 | |||
| 3275 | This will have the keypad key PF1 send the sequence "ESC O P", just like | ||
| 3276 | an ordinary VT series terminal. | ||
| 3277 | |||
| 3278 | 129: How do I tell what characters my function or arrow keys emit? | ||
| 3279 | |||
| 3280 | Use this function by Randal L. Schwartz <merlyn@iwarp.intel.com>: | ||
| 3281 | |||
| 3282 | (defun see-chars () | ||
| 3283 | "Displays characters typed, terminated by a 3-second timeout." | ||
| 3284 | (interactive) | ||
| 3285 | (let ((chars "") | ||
| 3286 | (inhibit-quit t)) | ||
| 3287 | (message "Enter characters, terminated by 3-second timeout.") | ||
| 3288 | (while (not (sit-for 3)) | ||
| 3289 | (setq chars (concat chars (list (read-char))) | ||
| 3290 | quit-flag nil)) ; quit-flag maybe set by C-g | ||
| 3291 | (message "Characters entered: %s" (key-description chars)))) | ||
| 3292 | |||
| 3293 | Alternatively, use the "C-h l" view-lossage command, which will display | ||
| 3294 | the last 100 characters Emacs has seen in its input stream. Kevin | ||
| 3295 | Gallagher <kgallagh@digi.lonestar.org> suggests typing some unique string | ||
| 3296 | like "wxyz", typing the key in question, then typing "C-h l". The | ||
| 3297 | characters that appear between "wxyz" and "C-h l" were generated by the | ||
| 3298 | key. | ||
| 3299 | |||
| 3300 | 130: How do I set the X key "translations" for Emacs? | ||
| 3301 | |||
| 3302 | Sorry, you can't; there are no "translations" to be set. Emacs is not | 2382 | Sorry, you can't; there are no "translations" to be set. Emacs is not |
| 3303 | written using the Xt library. The only way to affect the behavior of keys | 2383 | written using the Xt library. The only way to affect the behavior of |
| 3304 | within Emacs is through `xmodmap' (outside Emacs) or `define-key' (inside | 2384 | keys within Emacs is through `xmodmap' (outside Emacs) or `define-key' |
| 3305 | Emacs). | 2385 | (inside Emacs). The `define-key' command should be used in conjunction |
| 3306 | 2386 | with the `function-key-map' map. For instance, | |
| 3307 | 131: How do I handle C-s and C-q being used for flow control? | 2387 | |
| 3308 | 2388 | (define-key function-key-map [M-tab] [?\M-\t]) | |
| 2389 | |||
| 2390 | defines the `META TAB' key sequence. | ||
| 2391 | |||
| 2392 | 110: How do I handle C-s and C-q being used for flow control? | ||
| 2393 | |||
| 3309 | C-s and C-q are used in the XON/XOFF flow control protocol. This screws | 2394 | C-s and C-q are used in the XON/XOFF flow control protocol. This screws |
| 3310 | up Emacs because it binds these characters to commands. Also, by default | 2395 | up Emacs because it binds these characters to commands. Also, by default |
| 3311 | Emacs will not honor them as flow control characters and may overwhelm | 2396 | Emacs will not honor them as flow control characters and may overwhelm |
| 3312 | output buffers. Sometimes, intermediate software using XON/XOFF flow | 2397 | output buffers. Sometimes, intermediate software using XON/XOFF flow |
| 3313 | control will prevent Emacs from ever seeing C-s and C-q. | 2398 | control will prevent Emacs from ever seeing C-s and C-q. |
| 3314 | 2399 | ||
| 3315 | Possible solutions: | 2400 | Possible solutions: |
| 3316 | 2401 | ||
| 3317 | * Disable the use of C-s and C-q for flow control. | 2402 | * Disable the use of C-s and C-q for flow control. |
| 3318 | 2403 | ||
| 3319 | You need to determine what is the cause of the flow control. | 2404 | You need to determine the cause of the flow control. |
| 3320 | 2405 | ||
| 3321 | * your terminal | 2406 | * your terminal |
| 3322 | 2407 | ||
| 3323 | Your terminal may use XON/XOFF flow control to have time to display | 2408 | Your terminal may use XON/XOFF flow control to have time to display |
| 3324 | all the characters it receives. For example, VT series terminals do | 2409 | all the characters it receives. For example, VT series terminals do |
| 3325 | this. It may be possible to turn this off from a setup menu. For | 2410 | this. It may be possible to turn this off from a setup menu. For |
| 3326 | example, on a VT220 you may select `No XOFF' in the setup menu. This | 2411 | example, on a VT220 you may select `No XOFF' in the setup menu. This |
| 3327 | is also true for some terminal emulation programs on PCs. | 2412 | is also true for some terminal emulation programs on PCs. |
| 3328 | 2413 | ||
| 3329 | When you turn off flow control at the terminal, you will also need to | 2414 | When you turn off flow control at the terminal, you will also need to |
| 3330 | turn it off at the other end, which might be at the computer you are | 2415 | turn it off at the other end, which might be at the computer you are |
| 3331 | logged in to or at some terminal server in between. | 2416 | logged in to or at some terminal server in between. |
| 3332 | 2417 | ||
| 3333 | If you turn off flow control, characters may be lost; using a printer | 2418 | If you turn off flow control, characters may be lost; using a printer |
| 3334 | connected to the terminal may fail. You may be able to get around | 2419 | connected to the terminal may fail. You may be able to get around |
| 3335 | this problem by modifying the `termcap' entry for your terminal to | 2420 | this problem by modifying the `termcap' entry for your terminal to |
| 3336 | include extra NUL padding characters. | 2421 | include extra NUL padding characters. |
| 3337 | 2422 | ||
| 3338 | * a modem | 2423 | * a modem |
| 3339 | 2424 | ||
| 3340 | If you are using a dialup connection, the modems may be using XON/XOFF | 2425 | If you are using a dialup connection, the modems may be using |
| 3341 | flow control. I don't know how to get around this. | 2426 | XON/XOFF flow control. It's not clear how to get around this. |
| 3342 | 2427 | ||
| 3343 | * a router or terminal server | 2428 | * a router or terminal server |
| 3344 | 2429 | ||
| 3345 | Some network box between the terminal and your computer may be using | 2430 | Some network box between the terminal and your computer may be using |
| 3346 | XON/XOFF flow control. It may be possible to make it use some other | 2431 | XON/XOFF flow control. It may be possible to make it use some other |
| 3347 | kind of flow control. You will probably have to ask your local | 2432 | kind of flow control. You will probably have to ask your local |
| 3348 | network experts for help with this. | 2433 | network experts for help with this. |
| 3349 | 2434 | ||
| 3350 | * tty and/or pty devices | 2435 | * tty and/or pty devices |
| 3351 | 2436 | ||
| 3352 | If your connection to Emacs goes through multiple tty and/or pty | 2437 | If your connection to Emacs goes through multiple tty and/or pty |
| 3353 | devices, they may be using XON/XOFF flow control even when it is not | 2438 | devices, they may be using XON/XOFF flow control even when it is not |
| 3354 | necessary. | 2439 | necessary. |
| 3355 | 2440 | ||
| 3356 | Eirik Fuller <eirik@theory.tn.cornell.edu> writes: | 2441 | Eirik Fuller <eirik@theory.tn.cornell.edu> writes: |
| 3357 | 2442 | ||
| 3358 | Some versions of `rlogin' (and possibly telnet) do not pass flow | 2443 | Some versions of `rlogin' (and possibly telnet) do not pass flow |
| 3359 | control characters to the remote system to which they connect. On | 2444 | control characters to the remote system to which they connect. On |
| 3360 | such systems, Emacs on the remote system cannot disable flow control | 2445 | such systems, Emacs on the remote system cannot disable flow |
| 3361 | on the local system. Sometimes `rlogin -8' will avoid this problem. | 2446 | control on the local system. Sometimes `rlogin -8' will avoid this |
| 3362 | 2447 | problem. | |
| 2448 | |||
| 3363 | One way to cure this is to disable flow control on the local host | 2449 | One way to cure this is to disable flow control on the local host |
| 3364 | (the one running rlogin, not the one running rlogind) using the stty | 2450 | (the one running rlogin, not the one running rlogind) using the |
| 3365 | command, before starting the rlogin process. On many systems, `stty | 2451 | stty command, before starting the rlogin process. On many systems, |
| 3366 | start u stop u' will do this. | 2452 | `stty start u stop u' will do this. |
| 3367 | 2453 | ||
| 3368 | Some versions of `tcsh' will prevent even this from working. One | 2454 | Some versions of `tcsh' will prevent even this from working. One |
| 3369 | way around this is to start another shell before starting rlogin, | 2455 | way around this is to start another shell before starting rlogin, |
| 3370 | and issue the stty command to disable flow control from that shell. | 2456 | and issue the stty command to disable flow control from that shell. |
| 3371 | 2457 | ||
| 3372 | Use `stty -ixon' instead of `stty start u stop u' on some systems. | 2458 | Use `stty -ixon' instead of `stty start u stop u' on some systems. |
| 3373 | 2459 | ||
| 3374 | * Make Emacs speak the XON/XOFF flow control protocol. | 2460 | * Make Emacs speak the XON/XOFF flow control protocol. |
| 3375 | 2461 | ||
| 3376 | You can make Emacs treat C-s and C-q as flow control characters by | 2462 | You can make Emacs treat C-s and C-q as flow control characters by |
| 3377 | evaluating this form: | 2463 | evaluating the form |
| 3378 | 2464 | ||
| 3379 | (set-input-mode nil t) | 2465 | (enable-flow-control) |
| 3380 | 2466 | ||
| 2467 | to unconditionally enable flow control or | ||
| 2468 | |||
| 2469 | (enable-flow-control-on "vt100" "h19") | ||
| 2470 | |||
| 2471 | (using your terminal names instead of "vt100" or "h19") to enable | ||
| 2472 | selectively. These commands will automatically swap `C-s' and `C-q' to | ||
| 2473 | `C-\' and `C-^'. Variables can be used to change the default swap keys | ||
| 2474 | (`flow-control-c-s-replacement' and `flow-control-c-q-replacement'). | ||
| 2475 | |||
| 3381 | If you are fixing this for yourself, simply put the form in your .emacs | 2476 | If you are fixing this for yourself, simply put the form in your .emacs |
| 3382 | file. If you are fixing this for your entire site, the best place to | 2477 | file. If you are fixing this for your entire site, the best place to |
| 3383 | put it is unclear. I don't know if this has any effect when used in | 2478 | put it is in the lisp/site-start.el file. Putting this form in |
| 3384 | lisp/site-init.el when building Emacs; I've never tried that. {Can | 2479 | lisp/default.el has the problem that if the user's .emacs file has an |
| 3385 | someone tell me whether it works?} Putting things in users' .emacs files | 2480 | error, this will prevent lisp/default.el from being loaded and Emacs |
| 3386 | has a number of problems. | 2481 | may be unusable for the user, even for correcting their .emacs file |
| 3387 | 2482 | (unless they're smart enough to move it to another name). | |
| 3388 | Putting this form in lisp/default.el has the problem that if the user's | 2483 | |
| 3389 | .emacs file has an error, this will prevent lisp/default.el from being | 2484 | For further discussion of this issue, read the file PROBLEMS (in the |
| 3390 | loaded and Emacs may be unusable for the user, even for correcting their | 2485 | top-level directory when you unpack the Emacs source). |
| 3391 | .emacs file (unless they're smart enough to move it to another name). A | 2486 | |
| 3392 | possible solution is to initially disable C-s and C-q by setting | 2487 | 111: How do I bind `C-s' and `C-q' (or any key) if these keys are filtered |
| 3393 | keyboard-translate-table in lisp/site-init.el, either with swap-keys | 2488 | out? |
| 3394 | (see question 136) or with the following form: | 2489 | |
| 3395 | 2490 | To bind `C-s' and `C-q', use either `enable-flow-control' or | |
| 3396 | ;; by Roger Crew <crew@cs.stanford.edu>: | 2491 | `enable-flow-control-on'. See question 110 for usage and implementation |
| 3397 | (setq keyboard-translate-table | 2492 | details. |
| 3398 | "\C-@\C-a\C-b\C-c\C-d\C-e\C-f\C-g\C-h\C-i\C-j\C-k\C-l\C-m\C-n\C-o\C-p\C-^\C-r\C-\\\C-t\C-u\C-v\C-w\C-x\C-y\C-z\C-[\C-s\C-]\C-q\C-_") | 2493 | |
| 3399 | 2494 | To bind other keys, use `keyboard-translate'. See question 114 for usage | |
| 3400 | This will at least prevent Emacs from being confused by the flow control | 2495 | details. To do this for an entire site, you should swap the keys in |
| 3401 | characters, even if lisp/default.el cannot be loaded. Then, in | 2496 | lisp/site-start.el. See question 110 for an explanation of why |
| 3402 | lisp/default.el, enable XON/XOFF flow control with set-input-mode. | 2497 | lisp/default.el should not be used. |
| 3403 | 2498 | ||
| 3404 | For further discussion of this issue, read the file PROBLEMS in the | 2499 | NOTE: * If you do this for an entire site, the users will be confused by |
| 3405 | Emacs distribution. | 2500 | the disparity between what the documentation says and how Emacs |
| 3406 | 2501 | actually behaves. | |
| 3407 | 132: How do I use commands bound to C-s and C-q (or any key) if these keys | 2502 | |
| 3408 | are filtered out? | 2503 | 112: Why does the `Backspace' key invoke help? |
| 3409 | 2504 | ||
| 3410 | I suggest swapping C-s with C-\ and C-q with C-^: | 2505 | The `Backspace' key (on most keyboards) generates ASCII code 8. `C-h' |
| 3411 | 2506 | sends the same code. In Emacs by default `C-h' invokes help-command. | |
| 3412 | (swap-keys ?\C-s ?\C-\\) | ||
| 3413 | (swap-keys ?\C-q ?\C-^) | ||
| 3414 | |||
| 3415 | See question 136 for the implementation of swap-keys. This method | ||
| 3416 | has the advantage that it simultaneously swaps the characters everywhere | ||
| 3417 | throughout Emacs, while just switching the keybindings will miss important | ||
| 3418 | places where the character codes are stored (eg., the search-repeat-char | ||
| 3419 | variable, major mode keymaps, etc.). | ||
| 3420 | |||
| 3421 | To do this for an entire site, you may want to swap the keys in | ||
| 3422 | lisp/default.el. If only some of your users are connecting through | ||
| 3423 | XON/XOFF flow-controlled connections, you will want to do this | ||
| 3424 | conditionally. I suggest pre-swapping them in lisp/site-init.el when | ||
| 3425 | Emacs is built, and then in lisp/default.el, if it is determined to be | ||
| 3426 | safe, they can be reenabled (being careful not to screw up any other key | ||
| 3427 | mappings users might have established using keyboard-translate-table). | ||
| 3428 | See question 131 for an easy way to pre-swap these keys. | ||
| 3429 | |||
| 3430 | WARNING: If you do this for an entire site, the users will be confused by | ||
| 3431 | the disparity between what the documentation says and how Emacs actually | ||
| 3432 | behaves. | ||
| 3433 | |||
| 3434 | 133: Why does the `BackSpace' key invoke help? | ||
| 3435 | |||
| 3436 | The BackSpace key (on every keyboard I've used) generates ASCII code 8. | ||
| 3437 | C-h sends the same code. In Emacs by default C-h invokes help-command. | ||
| 3438 | This is intended to be easy to remember since the first letter of "help" | 2507 | This is intended to be easy to remember since the first letter of "help" |
| 3439 | is "h". The easiest solution to this problem is to use C-h (and | 2508 | is "h." The easiest solution to this problem is to use `C-h' (and |
| 3440 | BackSpace) for help and DEL (the Delete key) for deleting the previous | 2509 | Backspace) for help and DEL (the Delete key) for deleting the previous |
| 3441 | character. | 2510 | character. |
| 3442 | 2511 | ||
| 3443 | For many people this solution may be problematic: | 2512 | For many people this solution may be problematic: |
| 3444 | 2513 | ||
| 3445 | * They normally use BackSpace outside of Emacs for deleting the previous | 2514 | * They normally use Backspace outside of Emacs for deleting the previous |
| 3446 | character typed. This can be solved by making DEL be the command for | 2515 | character typed. This can be solved by making DEL be the command for |
| 3447 | deleting the previous character outside of Emacs. This command will do | 2516 | deleting the previous character outside of Emacs. This command will do |
| 3448 | this on many Unix systems: | 2517 | this on many Unix systems: |
| 3449 | 2518 | ||
| 3450 | stty erase '^?' | 2519 | stty erase '^?' |
| 3451 | 2520 | ||
| 3452 | * The person may prefer using the BackSpace key for deleting the previous | 2521 | * The person may prefer using the Backspace key for deleting the previous |
| 3453 | character because it is more conveniently located on their keyboard or | 2522 | character because it is more conveniently located on their keyboard or |
| 3454 | because they don't even have a separate Delete key. In this case, the | 2523 | because they don't even have a separate Delete key. In this case, the |
| 3455 | BackSpace key should be made to behave like Delete. There are several | 2524 | Backspace key should be made to behave like Delete. There are several |
| 3456 | methods. | 2525 | methods. |
| 3457 | 2526 | ||
| 3458 | * Under X Windows, the easiest solution is to change the BackSpace key | 2527 | * Some terminals (e.g., VT3## terminals) allow the character generated by |
| 3459 | into a Delete key like this: | 2528 | the Backspace key to be changed from a setup menu. |
| 3460 | 2529 | ||
| 3461 | xmodmap -e "keysym BackSpace = Delete" | 2530 | * You may be able to get a keyboard that is completely programmable. |
| 3462 | 2531 | ||
| 3463 | * Some terminals (eg., VT3## terminals) allow the character generated by | 2532 | * Under X or on a dumb terminal, it is possible to swap the Backspace and |
| 3464 | the BackSpace key to be changed from a setup menu. | 2533 | Delete keys inside Emacs: |
| 3465 | 2534 | ||
| 3466 | * You may be able to get a keyboard that is completely programmable. | 2535 | (keyboard-translate ?\C-h ?\C-?) |
| 3467 | 2536 | ||
| 3468 | * Under X or on a dumb terminal, it is possible to swap the BackSpace | 2537 | See question 114 for further details of `keyboard-translate'. |
| 3469 | and Delete keys inside Emacs: | 2538 | |
| 3470 | 2539 | * Another approach is to switch key bindings and put help on "C-x h" | |
| 3471 | (swap-keys ?\C-h ?\C-?) | 2540 | instead: |
| 3472 | 2541 | ||
| 3473 | See question 136 for the implementation of swap-keys. | 2542 | (global-set-key [?\C-h] 'delete-backward-char) |
| 3474 | 2543 | (global-set-key [?\C-x ?h] 'help-command) | |
| 3475 | * Another approach is to switch keybindings and put help on "C-x h" | 2544 | ;; overrides mark-whole-buffer |
| 3476 | instead: | 2545 | |
| 3477 | 2546 | Other popular key bindings for help are M-? and "C-x ?". | |
| 3478 | (global-set-key "\C-h" 'delete-backward-char) | 2547 | |
| 3479 | (global-set-key "\C-xh" 'help-command) ; override mark-whole-buffer | 2548 | NOTE: * Don't try to bind DEL to help-command, because there are many |
| 3480 | 2549 | modes that have local bindings of DEL that will interfere. | |
| 3481 | Other popular key bindings for help are M-? and "C-x ?". | 2550 | |
| 3482 | 2551 | 113: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? | |
| 3483 | WARNING: Don't try to bind DEL to help-command, because there are many | 2552 | |
| 3484 | modes that have local bindings of DEL that will interfere. | ||
| 3485 | |||
| 3486 | 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? | ||
| 3487 | |||
| 3488 | Good question! | 2553 | Good question! |
| 3489 | 2554 | ||
| 3490 | 135: Why don't the arrow keys work? | 2555 | 114: How do I "swap" two keys? |
| 3491 | 2556 | ||
| 3492 | When Emacs starts up, it doesn't know anything about arrow keys at all | 2557 | In Emacs 19, you can swap two keys (or key sequences) by using the |
| 3493 | (except when running under X, see question 128). During the process of | 2558 | `keyboard-translate' function. For example, to turn `C-h' into DEL and |
| 3494 | starting up, Emacs will load a terminal-specific initialization file for | 2559 | DEL to `C-h', use |
| 3495 | your terminal type (as determined by the environment variable TERM), if | 2560 | |
| 3496 | one exists. This file has the responsibility for enabling the arrow keys. | 2561 | (keyboard-translate ?\C-h ?\C-?) ; translate `C-h' to DEL |
| 3497 | 2562 | (keyboard-translate ?\C-? ?\C-h) ; translate DEL to `C-h'. | |
| 3498 | There are several things that can go wrong: | 2563 | |
| 3499 | 2564 | The first key sequence of the pair after the function identifies what is | |
| 3500 | 1. There is no initialization file for your terminal. | 2565 | produced by the keyboard; the second, what is matched for in the keymaps. |
| 3501 | 2566 | ||
| 3502 | You can determine this by looking in the lisp/term directory. If your | 2567 | Keyboard translations are not the same as key bindings in keymaps. Emacs |
| 3503 | terminal type (as determined by the TERM environment variable) is | 2568 | contains numerous keymaps that apply in different situations, but there |
| 3504 | xxx-yy-z, then the first of these files in the lisp/term directory will | 2569 | is only one set of keyboard translations, and it applies to every |
| 3505 | be loaded as the terminal-specific initialization file: xxx-yy-z.el, | 2570 | character that Emacs reads from the terminal. Keyboard translations take |
| 3506 | xxx-yy.el, or xxx.el. | 2571 | place at the lowest level of input processing; the keys that are looked |
| 3507 | 2572 | up in keymaps contain the characters that result from keyboard | |
| 3508 | There are two major cases of this problem: | 2573 | translation. |
| 3509 | 2574 | ||
| 3510 | * Your terminal type is very similar to one that has an init file. | 2575 | Also see `Keyboard Translations' in the on-line manual. |
| 3511 | 2576 | ||
| 3512 | In this case, there are several techniques suggested by Colin Jensen | 2577 | 115: How do I produce C-XXX with my keyboard? |
| 3513 | <cjensen@ampex.com>, Ben Liblit <Liblit@cs.psu.edu>, and Marc | 2578 | |
| 3514 | Auslander <marc@watson.ibm.com>: | 2579 | On terminals (but not under X), some common "aliases" are: |
| 3515 | 2580 | ||
| 3516 | A. Add a symbolic link in lisp/term for your terminal type that | 2581 | CTRL-2 or CTRL-SPC for C-@ |
| 3517 | points to the similar type. For example, you could make VT102 | 2582 | CTRL-6 for C-^ |
| 3518 | terminals work with this command: | 2583 | CTRL-7 or CTRL-SHIFT-- for C-_ |
| 3519 | 2584 | CTRL-4 for C-\ | |
| 3520 | ln -s vt100.el vt102.el | 2585 | CTRL-5 for C-] |
| 3521 | 2586 | CTRL-/ for C-? | |
| 3522 | This fixes things for everyone on the system who uses the terminal | 2587 | |
| 3523 | type. | 2588 | Often other aliases exist; use the `C-h c' command and try `CTRL' with |
| 3524 | 2589 | all of the digits on your keyboard to see what gets generated. You can | |
| 3525 | B. If you can't do the solution in part A, you can add code to your | 2590 | also try the `C-h w' command if you know the name of the command. |
| 3526 | term-setup-hook that loads the correct file like this: | 2591 | |
| 3527 | 2592 | 116: What if I don't have a Meta key? | |
| 3528 | (setq term-setup-hook | 2593 | |
| 3529 | (function | 2594 | Instead of typing "M-a", you can type "ESC a". In fact, Emacs converts |
| 3530 | (lambda () | 2595 | M-a internally into "ESC a" anyway (depending on the value of |
| 3531 | (cond ((equal "vt102" (or (getenv "TERM") "")) | 2596 | meta-prefix-char). Note that you press "Meta" and "a" together, while |
| 3532 | (load (concat term-file-prefix "vt100"))) | 2597 | you press "ESC", release it, and then press "a". |
| 3533 | (;; Code for other terminal types goes here ... | 2598 | |
| 3534 | ))))) | 2599 | 117: What if I don't have an Escape key? |
| 3535 | 2600 | ||
| 3536 | C. If you use `tset' to set your TERM environment variable when you | 2601 | Type "C-[" instead. This should send ASCII code 27 just like an Escape |
| 3537 | login, you can use the `-m' switch to tell tset to use a terminal | 2602 | key would. "C-3" may also work on some terminal (but not under X). For |
| 3538 | type known by Emacs instead of another similar one. For example, | 2603 | many terminals (notably DEC terminals) "F11" generates the "ESC" key. If |
| 3539 | specifying this: | 2604 | not, the following form can be used bind it: |
| 3540 | 2605 | ||
| 3541 | tset ... -m 'dec-vt220:vt220' ... | 2606 | (define-key function-key-map [f11] [?\e]) ; F11 is the documented ESC |
| 3542 | 2607 | ; replacement on DEC terminals. | |
| 3543 | will make tset say you are on a `vt220' instead of a `dec-vt220'. | 2608 | |
| 3544 | 2609 | 118: Can I make my `Compose Character' key behave like a Meta key? | |
| 3545 | D. Interactively, you can type "M-x load-library RET term/vt100" to | 2610 | |
| 3546 | load the terminal-specific initialization files for VT100 | ||
| 3547 | terminals. | ||
| 3548 | |||
| 3549 | * Your terminal type is not similar to one that has an init file. | ||
| 3550 | |||
| 3551 | One can be made for your terminal, or you can just add code to your | ||
| 3552 | own .emacs to handle this problem for yourself. For example, if your | ||
| 3553 | terminal's arrow keys send these character sequences: | ||
| 3554 | |||
| 3555 | Up: ESC [ A | ||
| 3556 | Down: ESC [ B | ||
| 3557 | Right: ESC [ C | ||
| 3558 | Left: ESC [ D | ||
| 3559 | |||
| 3560 | then you can bind these keys to the appropriate commands with code in | ||
| 3561 | your .emacs like this: | ||
| 3562 | |||
| 3563 | (setq term-setup-hook | ||
| 3564 | (function | ||
| 3565 | (lambda () | ||
| 3566 | (cond ((string-match "\\`xyzzy" (or (getenv "TERM") "")) | ||
| 3567 | ;; First, must unmap the binding for left bracket | ||
| 3568 | (or (keymapp (lookup-key global-map "\e\[")) | ||
| 3569 | (define-key global-map "\e\[" nil)) | ||
| 3570 | ;; Enable terminal type xyzzy's arrow keys: | ||
| 3571 | (define-key global-map "\e\[A" 'previous-line) | ||
| 3572 | (define-key global-map "\e\[B" 'next-line) | ||
| 3573 | (define-key global-map "\e\[C" 'forward-char) | ||
| 3574 | (define-key global-map "\e\[D" 'backward-char)) | ||
| 3575 | ((string-match "\\`abcde" (or (getenv "TERM") "")) | ||
| 3576 | ;; Do something different for terminal type abcde | ||
| 3577 | ;; ..... | ||
| 3578 | ))))) | ||
| 3579 | |||
| 3580 | NOTE: You may have to restart Emacs to get changes to take effect. | ||
| 3581 | |||
| 3582 | NOTE: Your arrow keys may send sequences beginning with "ESC O" when | ||
| 3583 | Emacs is running, even if they send sequences beginning with "ESC [" at | ||
| 3584 | all other times. This is because Emacs uses any command there may be | ||
| 3585 | in your terminal's termcap entry for putting the terminal into | ||
| 3586 | "Application Keypad Mode". Just map these sequences the same way as | ||
| 3587 | above. | ||
| 3588 | |||
| 3589 | The next two cases are problems even if there is a initialization file for | ||
| 3590 | your terminal type. | ||
| 3591 | |||
| 3592 | 2. The initialization file for your terminal doesn't bind arrow keys. | ||
| 3593 | |||
| 3594 | If your terminal type is `xterm', you will have to bind the arrow keys | ||
| 3595 | as in part 1 above, since the xterm.el file doesn't do anything useful. | ||
| 3596 | There may be other terminal types with the same problem. | ||
| 3597 | |||
| 3598 | 3. Your terminal's arrow keys send individual control characters. | ||
| 3599 | |||
| 3600 | For example, the arrow keys on an ADM-3 send C-h, C-j, C-k, and C-l. | ||
| 3601 | |||
| 3602 | There is not much Emacs can do in this situation, since all the control | ||
| 3603 | characters except for C-^ and C-\ are already used as Emacs commands. | ||
| 3604 | It may be possible to convince the terminal to send something else when | ||
| 3605 | you press the arrow keys; it is worth investigating. | ||
| 3606 | |||
| 3607 | You have to make the hard choices of how to rebind keys to commands to | ||
| 3608 | make things work the way you want. Another alternative is to start | ||
| 3609 | learning the standard Emacs keybindings for moving point around: C-b, | ||
| 3610 | C-f, C-p, and C-n. Personally, I no longer use the arrow keys when | ||
| 3611 | editing because I have switched keyboards so many times. | ||
| 3612 | |||
| 3613 | 4. Your terminal's arrow keys send sequences beginning with "ESC [". | ||
| 3614 | |||
| 3615 | Due to an extremely poor design decision (ie., these sequences are ANSI | ||
| 3616 | standard), none of the the terminal-specific initialization files that | ||
| 3617 | are distributed with Emacs will bind these character sequences to the | ||
| 3618 | appropriate commands by default. (This also applies to any other | ||
| 3619 | function keys which generate character sequences starting with "ESC | ||
| 3620 | [".) This is because it was deemed far more important to preserve the | ||
| 3621 | binding of M-[ to the backward-paragraph command. It appears that this | ||
| 3622 | will change in Emacs 19. | ||
| 3623 | |||
| 3624 | Some of the terminal-specific initialization files that come with Emacs | ||
| 3625 | provide a command enable-arrow-keys that will fix this problem. To get | ||
| 3626 | this automatically invoked, put this in your .emacs: | ||
| 3627 | |||
| 3628 | (setq term-setup-hook | ||
| 3629 | (function | ||
| 3630 | (lambda () | ||
| 3631 | (if (fboundp 'enable-arrow-keys) (enable-arrow-keys))))) | ||
| 3632 | |||
| 3633 | We put this in our lisp/default.el file, so users don't have to worry | ||
| 3634 | about it: | ||
| 3635 | |||
| 3636 | ;; don't override a user's term-setup-hook | ||
| 3637 | (or term-setup-hook | ||
| 3638 | (setq term-setup-hook | ||
| 3639 | (function | ||
| 3640 | (lambda () | ||
| 3641 | (and (fboundp 'enable-arrow-keys) | ||
| 3642 | ;; don't override a user key mapping | ||
| 3643 | (eq 'backward-paragraph (lookup-key esc-map "[")) | ||
| 3644 | (enable-arrow-keys)))))) | ||
| 3645 | |||
| 3646 | If your terminal type is `sun', you should put this in your .emacs | ||
| 3647 | instead (or in addition to the above): | ||
| 3648 | |||
| 3649 | (setq sun-esc-bracket t) | ||
| 3650 | |||
| 3651 | It is possible that the terminal-specific initialization file for your | ||
| 3652 | terminal type was written locally and does not follow the rule | ||
| 3653 | mentioned above. In this case you may need to inspect it to find out | ||
| 3654 | how to enable the arrow keys. (Actually, if it was written locally, it | ||
| 3655 | probably enables the arrow keys by default.) | ||
| 3656 | |||
| 3657 | 136: How do I "swap" two keys? | ||
| 3658 | |||
| 3659 | When Emacs receives a character, you can make Emacs behave as though it | ||
| 3660 | received another character by setting the value of | ||
| 3661 | keyboard-translate-table. The following Emacs Lisp will do this for you, | ||
| 3662 | allowing you to "swap" keys. After arranging for this Lisp to be | ||
| 3663 | evaluated by Emacs, you can evaluate `(swap-keys ?A ?B)' to swap A and B. | ||
| 3664 | |||
| 3665 | (defun swap-keys (key1 key2) | ||
| 3666 | "Swap keys KEY1 and KEY2 using map-key." | ||
| 3667 | (map-key key1 key2) | ||
| 3668 | (map-key key2 key1)) | ||
| 3669 | |||
| 3670 | (defun map-key (from to) | ||
| 3671 | "Make key FROM behave as though key TO was typed instead." | ||
| 3672 | (setq keyboard-translate-table | ||
| 3673 | (concat keyboard-translate-table | ||
| 3674 | (let* ((i (length keyboard-translate-table)) | ||
| 3675 | (j from) | ||
| 3676 | (k i) | ||
| 3677 | (str (make-string (max 0 (- j (1- i))) ?X))) | ||
| 3678 | (while (<= k j) | ||
| 3679 | (aset str (- k i) k) | ||
| 3680 | (setq k (1+ k))) | ||
| 3681 | str))) | ||
| 3682 | (aset keyboard-translate-table from to) | ||
| 3683 | (let ((i (1- (length keyboard-translate-table)))) | ||
| 3684 | (while (and (>= i 0) (eq (aref keyboard-translate-table i) i)) | ||
| 3685 | (setq i (1- i))) | ||
| 3686 | (setq keyboard-translate-table | ||
| 3687 | (if (eq i -1) | ||
| 3688 | nil | ||
| 3689 | (substring keyboard-translate-table 0 (1+ i)))))) | ||
| 3690 | |||
| 3691 | NOTE: You must evaluate the definition of these functions before calling | ||
| 3692 | them! For example, list the function definitions before their use in your | ||
| 3693 | .emacs file. | ||
| 3694 | |||
| 3695 | NOTE: These functions take two numbers as arguments. The example above, | ||
| 3696 | `(swap-keys ?A ?B)' is actually `(swap-keys 65 66)', because `?A' is | ||
| 3697 | merely notation for 65, the ASCII value of `A'. | ||
| 3698 | |||
| 3699 | NOTE: These functions only work for single characters. You cannot swap | ||
| 3700 | two multi-character sequences. | ||
| 3701 | |||
| 3702 | 137: How do I produce C-XXX with my keyboard? | ||
| 3703 | |||
| 3704 | For C-@ and C-^, often you can just type Control-2 and Control-6. For | ||
| 3705 | C-_, you may have to hold down the shift key, typing Control-Shift-Hyphen. | ||
| 3706 | C-@ can often be generated by typing Control-Space. C-@ is often called | ||
| 3707 | the NUL character, and has ASCII value 0. C-_ can often be generated by | ||
| 3708 | typing Control-7 or Control-/. C-? (aka DEL) may be generated by typing | ||
| 3709 | Shift-BackSpace or Control-BackSpace or a key labelled Delete or Del. | ||
| 3710 | |||
| 3711 | Try Control with all of the digits on your keyboard to see what gets | ||
| 3712 | generated. | ||
| 3713 | |||
| 3714 | 138: What if I don't have a Meta key? | ||
| 3715 | |||
| 3716 | Instead of typing M-a, you can type "ESC a" instead. In fact, Emacs | ||
| 3717 | converts M-a internally into "ESC a" anyway (depending on the value of | ||
| 3718 | meta-prefix-char). | ||
| 3719 | |||
| 3720 | 139: What if I don't have an Escape key? | ||
| 3721 | |||
| 3722 | Type C-[ instead. This should send ASCII code 27 just like an Escape | ||
| 3723 | key would. Try also C-;. | ||
| 3724 | |||
| 3725 | 140: How do I type DEL on PC terminal emulators? | ||
| 3726 | |||
| 3727 | Some IBM PC compatibles do not have a key labeled `Del' or `Delete' {is | ||
| 3728 | this true?}. Those that do generally have it in an inconvenient location. | ||
| 3729 | (Also, in some terminal emulators, the `Del' key does not transmit DEL.) | ||
| 3730 | The result is the standard "BackSpace invoking help" problem (see question | ||
| 3731 | 133). | ||
| 3732 | |||
| 3733 | The usual solution, suggested by Michael Covington | ||
| 3734 | <mcovingt@aisun1.ai.uga.edu>, is to somehow tell the terminal emulator | ||
| 3735 | program that BackSpace should transmit DEL. Read the program's manual. | ||
| 3736 | Shift-BackSpace or Control-BackSpace may send DEL. The `Del' key may only | ||
| 3737 | send DEL if the NumLock key hasn't been pressed. | ||
| 3738 | |||
| 3739 | 141: Can I make my `Compose Character' key behave like a Meta key? | ||
| 3740 | |||
| 3741 | On a dumb terminal such as a VT220, no. It is rumored that certain VT220 | 2611 | On a dumb terminal such as a VT220, no. It is rumored that certain VT220 |
| 3742 | clones could have their Compose key configured this way. If you're using | 2612 | clones could have their Compose key configured this way. If you're using |
| 3743 | X, you might be able to do this with the `xmodmap' program (this is | 2613 | X, you might be able to do this with the `xmodmap' program. |
| 3744 | what I do). | 2614 | |
| 3745 | 2615 | 119: How do I bind a combination of modifier key and function key? | |
| 3746 | 142: How do I bind a combination of modifier key and function key? | 2616 | |
| 3747 | 2617 | With Emacs 19 you can indicate modified function keys in vector format | |
| 3748 | Unless you're using Emacs under emacstool (or xvetool?), have a working | 2618 | through multi-prefixing the function key symbol. For example (from the |
| 3749 | version of x-rebind-key (see question 128), or are using Emacs 19 (Lucid | 2619 | Emacs on-line documentation): |
| 3750 | Emacs), you can't do this with Emacs alone. | 2620 | |
| 3751 | 2621 | (global-set-key [?\C-x right] 'forward-page) | |
| 3752 | If you are using emacstool, Emacs sees different character sequences for | 2622 | |
| 3753 | the combination of a modifier and a function key from what it sees for the | 2623 | where "?\C-x" is the Lisp character constant for the character "C-x". |
| 3754 | function key alone. See etc/emacstool.1 for more information. Since | 2624 | |
| 3755 | Emacs sees different character sequences, you can bind these different | 2625 | You can use the modifier keys CTRL, META, HYPER, SUPER, ALT and SHIFT |
| 3756 | sequences to different commands. | 2626 | with function keys. To represent these modifiers, prepend the strings |
| 3757 | 2627 | "C-", "M-", "H-", "s-", "A-" and "S-" to the symbol name. Thus, here is | |
| 3758 | If you are running Emacs inside a terminal emulator window like xterm, you | 2628 | how to make "Hyper-Meta-RIGHT" move forward a word: |
| 3759 | can modify its translation tables to make it generate different character | 2629 | |
| 3760 | sequences for the combination of a modifier and a function key. For | 2630 | (global-set-key [H-M-right] 'forward-word) |
| 3761 | example, this X resource setting: | 2631 | |
| 3762 | 2632 | NOTE: * Not all modifiers are permitted in all situations. HYPER, SUPER, | |
| 3763 | XTerm.VT100.Translations: #override \ | 2633 | and ALT are available only under X (provided there are such |
| 3764 | Shift<KeyPress>F1: string(0x1b) string("[xyzzy") | 2634 | keys). Non-ASCII keys and mouse events (e.g. "C-=" and |
| 3765 | 2635 | "mouse-1") also fall under this category. | |
| 3766 | makes Shift-F1 generate the character sequence "ESC [ xyzzy". You can | 2636 | |
| 3767 | bind these character sequences in Emacs as normal. Nick Ruprecht | 2637 | See question 104 for general key binding instructions. |
| 3768 | <ruprecht@informatik.uni-freiburg.de> has written an extensive X | 2638 | |
| 3769 | translation mapping for xterm that does this. {Does this have an FTP | 2639 | 120: Why doesn't my Meta key work in an xterm window? |
| 3770 | site?} | 2640 | |
| 3771 | |||
| 3772 | If you have x-rebind-key, you can have any arbitrary combination of | ||
| 3773 | modifiers with a key replaced by any sequence of "normal" characters. For | ||
| 3774 | example, this makes Shift-Return behave as though you had typed "C-x C-e" | ||
| 3775 | (example from Jerry Graves): | ||
| 3776 | |||
| 3777 | (x-rebind-key "Return" 'shift "\C-x\C-e") | ||
| 3778 | |||
| 3779 | In Emacs 19 (Lucid Emacs), you can bind Meta-Left-Arrow like this (example | ||
| 3780 | from Jamie Zawinski): | ||
| 3781 | |||
| 3782 | (global-set-key '(meta left) 'backward-word) | ||
| 3783 | |||
| 3784 | With the last two methods, use `xmodmap' and `xev' to discover the keysym | ||
| 3785 | and modifier names. | ||
| 3786 | |||
| 3787 | 143: Why doesn't my Meta key work in an xterm window? | ||
| 3788 | |||
| 3789 | Try all of these methods before asking for further help: | 2641 | Try all of these methods before asking for further help: |
| 3790 | 2642 | ||
| 3791 | * You may have big problems using `mwm' as your window manager. {Does | 2643 | * You may have big problems using `mwm' as your window manager. {Does |
| 3792 | anyone know a good generic solution to allow the use of the Meta key in | 2644 | anyone know a good generic solution to allow the use of the Meta key in |
| 3793 | Emacs with mwm?} | 2645 | Emacs with mwm?} |
| 3794 | 2646 | ||
| 3795 | * For X11R4: Make sure it really is a Meta key. Use `xev' to find out | 2647 | * For X11: Make sure it really is a Meta key. Use `xev' to find out what |
| 3796 | what keysym your Meta key generates. It should be either Meta_L or | 2648 | keysym your Meta key generates. It should be either Meta_L or Meta_R. |
| 3797 | Meta_R. If it isn't, use xmodmap to fix the situation. | 2649 | If it isn't, use xmodmap to fix the situation. |
| 3798 | 2650 | ||
| 3799 | * Make sure the pty the xterm is using is passing 8 bit characters. | 2651 | * Make sure the pty the xterm is using is passing 8 bit characters. |
| 3800 | `stty -a' (or `stty everything') should show `cs8' somewhere. If it | 2652 | `stty -a' (or `stty everything') should show `cs8' somewhere. If it |
| 3801 | shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix | 2653 | shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix |
| 3802 | it. | 2654 | it. |
| 3803 | 2655 | ||
| 3804 | * If there is an rlogin connection between the xterm and the Emacs, the | 2656 | * If there is an rlogin connection between the xterm and the Emacs, the |
| 3805 | `-8' argument may need to be given to rlogin to make it pass all 8 | 2657 | `-8' argument may need to be given to rlogin to make it pass all 8 bits |
| 3806 | bits of every character. | 2658 | of every character. |
| 3807 | 2659 | ||
| 3808 | * If the Emacs is running under Ultrix, it is reported that evaluating | 2660 | * If the Emacs is running under Ultrix, it is reported that evaluating |
| 3809 | (set-input-mode t nil) helps. | 2661 | (set-input-mode t nil) helps. |
| 3810 | 2662 | ||
| 3811 | * If all else fails, you can make xterm generate "ESC W" when you type | 2663 | * If all else fails, you can make xterm generate "ESC W" when you type |
| 3812 | M-W, which is the same conversion Emacs would make if it got the M-W | 2664 | M-W, which is the same conversion Emacs would make if it got the M-W |
| 3813 | anyway. In X11R4, the following resource specification will do this: | 2665 | anyway. In X11R4, the following resource specification will do this: |
| 3814 | 2666 | ||
| 3815 | XTerm.VT100.EightBitInput: false | 2667 | XTerm.VT100.EightBitInput: false |
| 3816 | 2668 | ||
| 3817 | (This changes the behavior of the insert-eight-bit action.) | 2669 | (This changes the behavior of the insert-eight-bit action.) |
| 3818 | 2670 | ||
| 3819 | With older xterms, you can specify this behavior with a translation: | 2671 | With older xterms, you can specify this behavior with a translation: |
| 3820 | 2672 | ||
| 3821 | XTerm.VT100.Translations: #override \ | 2673 | XTerm.VT100.Translations: #override \ |
| 3822 | Meta<KeyPress>: string(0x1b) insert() | 2674 | Meta<KeyPress>: string(0x1b) insert() |
| 3823 | 2675 | ||
| 3824 | You might have to replace `Meta' with `Alt'. | 2676 | You might have to replace `Meta' with `Alt'. |
| 3825 | 2677 | ||
| 3826 | 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? | 2678 | 121: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? |
| 3827 | 2679 | ||
| 3828 | This is a result of an internationalization extension in X11R4 and the | 2680 | This is a result of an internationalization extension in X11R4 and the |
| 3829 | fact that HP is now using this extension. Emacs assumes that | 2681 | fact that HP is now using this extension. Emacs assumes that |
| 3830 | XLookupString returns the same result regardless of the Meta key state | 2682 | XLookupString returns the same result regardless of the Meta key state |
| 3831 | which is no longer necessarily true. Until Emacs is fixed, the temporary | 2683 | which is no longer necessarily true. Until Emacs is fixed, the temporary |
| 3832 | kludge is to run this command after each time the X server is started but | 2684 | kludge is to run this command after each time the X server is started but |
| 3833 | preferably before any xterm clients are: | 2685 | preferably before any xterm clients are: |
| 3834 | 2686 | ||
| 3835 | xmodmap -e 'remove mod1 = Mode_switch' | 2687 | xmodmap -e 'remove mod1 = Mode_switch' |
| 3836 | 2688 | ||
| 3837 | NOTE: This will disable the use of the extra keysyms systemwide, which | 2689 | NOTE: This will disable the use of the extra keysyms systemwide, which |
| 3838 | may be undesirable if you actually intend to use them. | 2690 | may be undesirable if you actually intend to use them. |
| 3839 | |||
| 3840 | 145: Where can I get key bindings to make Emacs emulate WordStar? | ||
| 3841 | |||
| 3842 | There is a package `wordstar' by Jim Frost <jimf@saber.com> and | ||
| 3843 | `ws-mode.el' by Juergen Nickelsen <nickel@cs.tu-berlin.de>. Check in the | ||
| 3844 | Emacs Lisp Archive (see question 89). | ||
| 3845 | |||
| 3846 | 146: Where can I get an XEDIT emulator for Emacs? | ||
| 3847 | |||
| 3848 | This question comes up once every couple of months. I have never seen a | ||
| 3849 | positive reply, so I presume no one has ever written one. | ||
| 3850 | |||
| 3851 | 2691 | ||
| 2692 | 122: Where can I get key bindings to make Emacs emulate WordStar? | ||
| 2693 | |||
| 2694 | There is a package `wordstar' by Jim Frost <jimf@saber.com> located under | ||
| 2695 | the "misc" directory at the Emacs Lisp Archive. | ||
| 2696 | |||
| 2697 | 123: Where can I get an XEDIT emulator for Emacs? | ||
| 2698 | |||
| 2699 | This question comes up once every couple of months. Searing for "xedit" | ||
| 2700 | through most recent Lisp Code Directory fails to match any entries. | ||
| 3852 | 2701 | ||
| 3853 | Using Emacs with Alternate Character Sets | 2702 | Using Emacs with Alternate Character Sets |
| 3854 | 2703 | ||
| 3855 | 147: How do I make Emacs display 8-bit characters? | 2704 | 124: How do I make Emacs display 8-bit characters? |
| 3856 | 2705 | ||
| 3857 | There is a patch called the `8-bit ctl-arrow patch' that allows Emacs to | 2706 | GNU Emacs 19 has built-in support for 8-bit characters. Here is an |
| 3858 | display characters with codes from 128 to 255. {The original appears to | 2707 | excerpt from the `European Display' page of the on-line manual: |
| 3859 | have been by Kenneth Cline <cline@proof.ergo.cs.cmu.edu>.} Partially based | 2708 | |
| 3860 | on Johan Widen's earlier work, Johan Vromans <jv@mh.nl> has updated this | 2709 | Some European languages use accented letters and other special symbols. |
| 3861 | patch for Emacs 18.58 along with some other 8-bit improvements. | 2710 | The ISO 8859 Latin-1 character set defines character codes for many |
| 3862 | 2711 | European languages in the range 160 to 255. | |
| 3863 | Anonymous FTP: | 2712 | |
| 3864 | /ftp.eu.net:gnu/emacs/FP-EightBit.Z | 2713 | Emacs can display those characters according to Latin-1, provided the |
| 3865 | /ftp.urc.tue.nl:/pub/tex/emacs/FP-EightBit | 2714 | terminal or font in use supports them. The `M-x |
| 3866 | /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57 | 2715 | standard-display-european' command toggles European character display |
| 3867 | /sics.se:archive/emacs-18.55-8bit-diff | 2716 | mode. With a numeric argument, `M-x standard-display-european' enables |
| 3868 | /laas.laas.fr:pub/emacs/patch-8bit-18.55 | 2717 | European character display if and only if the argument is positive. |
| 3869 | /laas.laas.fr:pub/emacs/patch-8bit-18.57 | 2718 | |
| 3870 | 2719 | Some operating systems let you specify the language you are using by | |
| 3871 | Via e-mail: | 2720 | setting a locale. Emacs handles one common special case of this: if |
| 3872 | To: mail-server@sics.se | 2721 | your locale name for character types contains the string `8859-1' or |
| 3873 | body: send emacs-18.55-8bit-diff | 2722 | `88591', Emacs automatically enables European character display mode |
| 3874 | 2723 | when it starts up. | |
| 3875 | Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive | 2724 | |
| 3876 | patch for Emacs 18.59 that allows for 8-bit input and output. | 2725 | 125: How do I input 8-bit characters? |
| 3877 | 2726 | ||
| 3878 | Anonymous FTP: | 2727 | Again, from the `European Display' page of the on-line manual: |
| 3879 | /ftp.efd.lth.se:pub/gnu/emacs_8-bit.patch | 2728 | |
| 3880 | 2729 | If you enter non-ASCII ISO Latin-1 characters often, you might find ISO | |
| 3881 | In the words of the author: | 2730 | Accents mode convenient. When this minor mode is enabled, the |
| 3882 | 2731 | characters ``', `'', `"', `^', `/' and `~' modify the following letter | |
| 3883 | With these patches, Emacs becomes fully 8-bit operational. There is | 2732 | by adding the corresponding diacritical mark to it, if possible. To |
| 3884 | support for displaying 8-bit characters, as well as for entering such | 2733 | enable or disable ISO Accents mode, use the command `M-x |
| 3885 | characters from the keyboard. In addition, upcase/lowcase translation | 2734 | iso-accents-mode'. This command affects only the current buffer. |
| 3886 | is supported, accented characters are recognized as "letters" (important | 2735 | |
| 3887 | when doing 'forward-word', for example), and text with 8-bit characters | 2736 | To enter one of those six special characters, type the character, |
| 3888 | can be sorted correctly. | 2737 | followed by a space. Some of those characters have a corresponding |
| 3889 | 2738 | "dead key" accent character in the ISO Latin-1 character set; to enter | |
| 3890 | A Meta-shift key can still be used, provided that you run in an | 2739 | that character, type the corresponding ASCII character twice. For |
| 3891 | environment where it is possible to distinguish between a character | 2740 | example, `''' enters the Latin-1 character acute-accent (character code |
| 3892 | entered using the Meta-shift key and one entered directly. The diffs | 2741 | 0264). |
| 3893 | include patches to make this work under SunView (with emacstool) as | 2742 | |
| 3894 | well as under X. If you can't use a Meta-shift key, you have to enter | 2743 | 126: Where can I get an Emacs that can handle kanji characters? |
| 3895 | Meta-commands with the ESC-prefix. | 2744 | |
| 3896 | |||
| 3897 | The most comprehensive patches for 8-bit output are by Howard Gayle | ||
| 3898 | (originally for Emacs 18.55. These patches allow displaying any arbitrary | ||
| 3899 | string for a given 8-bit character (except TAB and C-j). Also supported | ||
| 3900 | is defining the sorting order and the uppercase and lowercase | ||
| 3901 | translations. It is reported that the 8-bit character support in Emacs 19 | ||
| 3902 | is largely based on these patches. Thomas Bellman | ||
| 3903 | <Bellman@lysator.liu.se> has updated these patches for Emacs 18.59. | ||
| 3904 | |||
| 3905 | Anonymous FTP: | ||
| 3906 | /sics.se:archive/emacs-gayle.tar.Z (patches for 18.55) | ||
| 3907 | /ftp.lysator.liu.se:pub/emacs/gayle-18.58.diff.tar.Z (patches) | ||
| 3908 | /ftp.lysator.liu.se:pub/emacs/emacs-18.59-gayle.tar.Z (patched Emacs) | ||
| 3909 | |||
| 3910 | Epoch's 8-bit character support is based on Anders Edenbrandt's patches. | ||
| 3911 | Lucid Emacs has the ctl-arrow patch installed. Nemacs displays 8-bit | ||
| 3912 | characters, and it may be useful for displaying the 8-bit ISO-8859 | ||
| 3913 | alphabet, but I don't know for sure (see question 149). | ||
| 3914 | |||
| 3915 | 148: How do I input 8-bit characters? | ||
| 3916 | |||
| 3917 | Minor modes for ISO Latin-1 that allow one to easily input this character | ||
| 3918 | set have been written by several people. Such modes have been written by | ||
| 3919 | Matthieu Herrb <matthieu@laas.fr> (laas.laas.fr:pub/emacs/iso-latin-1.el), | ||
| 3920 | Johan Vromans <jv@mh.nl> {FTP site??}, and Marc Shapiro | ||
| 3921 | <shapiro@sor.inria.fr> {FTP site??}. | ||
| 3922 | |||
| 3923 | These approaches differ from the one taken by Anders Edenbrandt in that | ||
| 3924 | his method uses direct 8-bit input, while these methods use a compose | ||
| 3925 | sequence for 8-bit characters. {I have heard conflicting reports on | ||
| 3926 | whether this results in losing the Meta key. Perhaps this depends on | ||
| 3927 | whether Emacs is running under X. Can someone resolve this?} | ||
| 3928 | |||
| 3929 | Karl Heuer <karl@haddock.ima.isc.com> is said to have a patch to allow | ||
| 3930 | 8-bit input. Georg-Wilhelm Koltermann <gwk@crmunich0.cray.com> also has a | ||
| 3931 | patch for either 18.57 or 18.58 that allows 8-bit input. | ||
| 3932 | |||
| 3933 | Epoch comes with a patch that allows it to input 8-bit characters, but it | ||
| 3934 | is not enabled by default. {Is this right?} | ||
| 3935 | |||
| 3936 | Jamie Zawinski says: | ||
| 3937 | |||
| 3938 | Lucid GNU Emacs allows the input of any ISO-8859/1 keysyms that your | ||
| 3939 | keyboard generates (see xmodmap), and contains a package that implements | ||
| 3940 | a DEC/OpenWindows-like "Compose" key for systems which don't have one. | ||
| 3941 | |||
| 3942 | 149: Where can I get an Emacs that can handle kanji characters? | ||
| 3943 | |||
| 3944 | Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55 | 2745 | Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55 |
| 3945 | that handles kanji characters. It is available via anonymous FTP: | 2746 | that handles kanji characters. It is available via anonymous FTP: |
| 3946 | 2747 | ||
| 3947 | /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z | 2748 | /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z |
| 3948 | /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z | 2749 | /ftp.cs.titech.ac.jp:pub/gnu-rel/nemacs/nemacs-3.3.2.tar.gz |
| 3949 | 2750 | ||
| 3950 | You might also need files for "wnn", a kanji input method | 2751 | You might also need files for "wnn," a kanji input method |
| 3951 | (wnn-4.0.3{-README,.tar.Z} {on which machine?}). You need a terminal (or | 2752 | (wnn-4.0.3{-README,.tar.Z} {on which machine?}). You need a terminal (or |
| 3952 | terminal emulator) that can display text encoded in JIS, Shift-JIS, or EUC | 2753 | terminal emulator) that can display text encoded in JIS, Shift-JIS, or |
| 3953 | (Extended Unix Code), or the ability to run Nemacs as a direct X Window | 2754 | EUC (Extended Unix Code), or the ability to run Nemacs as a direct X |
| 3954 | client. | 2755 | Windows client. |
| 3955 | 2756 | ||
| 3956 | 150: Where can I get an Emacs that can handle Chinese? | 2757 | 127: Where can I get an Emacs that can handle Chinese? |
| 3957 | 2758 | ||
| 3958 | `cemacs' by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs | 2759 | Cemacs by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs |
| 3959 | 18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with | 2760 | 18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with |
| 3960 | Cxterm allows using Chinese characters. It is available via anonymous | 2761 | Cxterm allows using Chinese characters. It is available via anonymous |
| 3961 | FTP: | 2762 | FTP: |
| 3962 | 2763 | ||
| 3963 | /crl.nmsu.edu:pub/chinese/cemacs.tar.Z | ||
| 3964 | /cs.purdue.edu:pub/ygz/cemacs.tar.Z | 2764 | /cs.purdue.edu:pub/ygz/cemacs.tar.Z |
| 3965 | 2765 | ||
| 3966 | Cxterm is available from the same place: | 2766 | Cxterm, a patch to Emacs 18.57 that allows you to enter Chinese |
| 3967 | 2767 | characters, is available from the same place: | |
| 2768 | |||
| 3968 | /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z | 2769 | /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z |
| 3969 | 2770 | ||
| 3970 | 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | 2771 | 128: Where is an Emacs that can handle Semitic (right-to-left) alphabets? |
| 3971 | 2772 | ||
| 3972 | Joel M. Hoffman <joel@wam.umd.edu> writes: | 2773 | Joel M. Hoffman <joel@wam.umd.edu> writes: |
| 3973 | 2774 | ||
| 3974 | A couple of years ago a wrote a hebrew.el file that allows right-to-left | 2775 | A couple of years ago a wrote a hebrew.el file that allows |
| 3975 | editing of Hebrew. I relied on the hardware to display the Hebrew | 2776 | right-to-left editing of Hebrew. I relied on the hardware to display |
| 3976 | letters, given the right codes, but not for any right-to-left support; | 2777 | the Hebrew letters, given the right codes, but not for any |
| 3977 | the hardware also doesn't have to send any specific char. codes. Emacs | 2778 | right-to-left support; the hardware also doesn't have to send any |
| 3978 | keeps track of when the user is typing Hebrew vs. English. (The VT-* | 2779 | specific char. codes. Emacs keeps track of when the user is typing |
| 3979 | terminals in Israel contain built-in support for Hebrew.) | 2780 | Hebrew vs. English. (The VT-* terminals in Israel contain built-in |
| 3980 | 2781 | support for Hebrew.) | |
| 3981 | To get it to work I had to modify only a few lines of GNU Emacs's source | 2782 | |
| 3982 | code --- just enough to make it 8-bit clean. | 2783 | To get it to work I had to modify only a few lines of GNU Emacs's |
| 3983 | 2784 | source code --- just enough to make it 8-bit clean. | |
| 2785 | |||
| 3984 | [and in a separate message:] | 2786 | [and in a separate message:] |
| 3985 | 2787 | ||
| 3986 | It doesn't produce time-order ["sefer" format] (I wouldn't recommend | 2788 | It doesn't produce time-order ["sefer" format] (I wouldn't recommend |
| 3987 | trying that with emacs, because converting time-order to screen-order | 2789 | trying that with Emacs, because converting time-order to screen-order |
| 3988 | with arbitrarily long lines is a bit tricky), but I also concocted a | 2790 | with arbitrarily long lines is a bit tricky), but I also concocted a |
| 3989 | quick filter to convert screen-order into time-order. I'll be happy to | 2791 | quick filter to convert screen-order into time-order. I'll be happy to |
| 3990 | send you the requisite files if you want them. If you're using it for | 2792 | send you the requisite files if you want them. If you're using it for |
| 3991 | anything large, however, you'll want something that works better. | 2793 | anything large, however, you'll want something that works better. |
| 3992 | 2794 | ||
| 3993 | Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like" | 2795 | Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like" |
| 3994 | editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional | 2796 | editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional |
| 3995 | Editor). Ibelbe is written in Turbo Pascal and comes with source code. | 2797 | Editor). Ibelbe is written in Turbo Pascal and comes with source code. |
| 3996 | Here is the description: | 2798 | Here is the description: |
| 3997 | 2799 | ||
| 3998 | Ibelbe looks like emacs (it even has a minibuffer and filename | 2800 | Ibelbe looks like Emacs (it even has a minibuffer and filename |
| 3999 | completion), and fully supports both right-to-left and left-to-right | 2801 | completion), and fully supports both right-to-left and left-to-right |
| 4000 | editing. Other than an EGA monitor or better, no special hardware is | 2802 | editing. Other than an EGA monitor or better, no special hardware is |
| 4001 | required. You will need an EGA Hebrew font to use Ibelbe with Hebrew. | 2803 | required. You will need an EGA Hebrew font to use Ibelbe with Hebrew. |
| 4002 | 2804 | ||
| 4003 | Anonymous FTP: | 2805 | Anonymous FTP: |
| 4004 | /israel.nysernet.org:israel/msdos/ibelbe.zip | 2806 | /israel.nysernet.org:israel/computers/software/msdos/ibelbe.zip |
| 4005 | /israel.nysernet.org:israel/msdos/hebfont.zip | 2807 | /israel.nysernet.org:israel/computers/software/msdos/hebfont.zip |
| 4006 | 2808 | ||
| 4007 | Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written | 2809 | Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written |
| 4008 | patches for Emacs 18.55 and 18.58 that provide Semitic language support | 2810 | patches for Emacs 18.55 and 18.58 that provide Semitic language support |
| 4009 | under X Windows. | 2811 | under X Windows. |
| 4010 | |||
| 4011 | Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by | ||
| 4012 | modifying self-insert-command "for Hebrew input on 7-bit keyboards". | ||
| 4013 | |||
| 4014 | A good suggestion is to query archie for files named with `hebrew'. | ||
| 4015 | |||
| 4016 | GNU Emacs FAQ: Mail and News | ||
| 4017 | |||
| 4018 | This portion of the GNU Emacs FAQ list is cross-posted to `gnu.emacs.gnus' | ||
| 4019 | because many of the questions herein deal with GNUS. See `gnu.emacs.help' for | ||
| 4020 | the rest of the FAQ list. | ||
| 4021 | 2812 | ||
| 4022 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | 2813 | Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by |
| 4023 | get an overview of just the questions. Then, when you want to look at the text | 2814 | modifying self-insert-command "for Hebrew input on 7-bit keyboards." |
| 4024 | of the answers, just type "C-x $". | ||
| 4025 | 2815 | ||
| 4026 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | 2816 | A good suggestion is to query archie for files named with `hebrew'. |
| 4027 | that doesn't work, then type ESC to end the search. | ||
| 4028 | 2817 | ||
| 4029 | A `+' in the 78th column means something was inserted on the line. A `-' means | ||
| 4030 | something was deleted and a `!' means some combination of insertions and | ||
| 4031 | deletions occurred. | ||
| 4032 | 2818 | ||
| 4033 | Full instructions for getting the latest FAQ are in question 22. Also see the | 2819 | Mail and News |
| 4034 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 4035 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 4036 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 4037 | 2820 | ||
| 2821 | 129: How do I change the included text prefix in mail/news followups? | ||
| 4038 | 2822 | ||
| 2823 | If you read mail with Rmail or news with Gnus, set the variable | ||
| 2824 | mail-yank-prefix. For VM, set vm-included-text-prefix. For mh-e, set | ||
| 2825 | mh-ins-buf-prefix. | ||
| 4039 | 2826 | ||
| 4040 | Mail and News | 2827 | For fancier control of citations, use Supercite. See question 93. |
| 4041 | 2828 | ||
| 4042 | 152: How do I change the included text prefix in mail/news followups? | ||
| 4043 | |||
| 4044 | Many people want Emacs to prefix included text with something like ` > ' | ||
| 4045 | instead of with three spaces. One way is to change the code of the | ||
| 4046 | function `mail-yank-original' in lisp/sendmail.el that prefixes with | ||
| 4047 | spaces. A more flexible solution is to use Supercite, which provides wide | ||
| 4048 | configurability in how you format included text in replies. See question | ||
| 4049 | 107. Both of these solutions work for RMAIL and GNUS. | ||
| 4050 | |||
| 4051 | A related problem is how to prevent Emacs from including various headers | 2829 | A related problem is how to prevent Emacs from including various headers |
| 4052 | of the replied-to message. For this, you should set the value of | 2830 | of the replied-to message. For this, you should set the value of |
| 4053 | mail-yank-ignored-headers, which takes a regexp value. | 2831 | mail-yank-ignored-headers, which takes a regexp value. |
| 4054 | 2832 | ||
| 4055 | 153: How do I save a copy of outgoing mail? | 2833 | 130: How do I save a copy of outgoing mail? |
| 4056 | 2834 | ||
| 4057 | Two methods: | 2835 | You can either mail yourself a copy by including a `BCC:' header in the |
| 4058 | 2836 | mail message, or store a copy of the message directly to a file by | |
| 4059 | 1. (setq mail-self-blind t) will result in a `BCC:' header line with your | 2837 | including an `FCC:' header. |
| 4060 | address being added to mail composition buffers. This will cause the | 2838 | |
| 4061 | mail system to send a copy of the mail back to you. | 2839 | If you use standard mail, you can automatically create a `BCC:' to |
| 4062 | 2840 | yourself by putting | |
| 4063 | 2. (setq mail-archive-file-name (expand-file-name "~/outgoing")) will | 2841 | |
| 4064 | result in an `FCC:' header line with the pathname of ~/outgoing being | 2842 | (setq mail-self-blind t) |
| 4065 | added to mail composition buffers. When you send the mail, Emacs will | 2843 | |
| 4066 | save a copy of the mail in the file ~/outgoing and then strip off the | 2844 | in your .emacs. You can automatically include an `FCC:' field by putting |
| 4067 | `FCC:' line before actually sending. | 2845 | something like the following in your .emacs file: |
| 4068 | 2846 | ||
| 4069 | WARNING: There is a bug in Emacs 18.58 that prevents mail readers such | 2847 | (setq mail-archive-file-name (expand-file-name "~/outgoing")) |
| 4070 | as RMAIL from reading the saved mail messages individually. See | 2848 | |
| 4071 | question 155. | 2849 | The output file will be in Unix mail format, which can be read directly |
| 4072 | 2850 | by VM, but not always by Rmail. See question 132. | |
| 4073 | WARNING: If you are visiting the file ~/outgoing at the time you send | 2851 | |
| 4074 | the mail, this can cause a variety of horrible problems. Jamie | 2852 | If you use mh-e add an FCC: or BCC: field to your components file. |
| 4075 | Zawinski has written a solution for this. | 2853 | |
| 4076 | |||
| 4077 | It does not work to put `set record filename' in the .mailrc file. | 2854 | It does not work to put `set record filename' in the .mailrc file. |
| 4078 | 2855 | ||
| 4079 | 154: Why doesn't Emacs expand my aliases when sending mail? | 2856 | 131: Why doesn't Emacs expand my aliases when sending mail? |
| 4080 | 2857 | ||
| 4081 | * You must separate multiple addresses in the headers of the mail buffer | 2858 | * You must separate multiple addresses in the headers of the mail buffer |
| 4082 | with commas. This is because Emacs supports RFC822 standard addresses | 2859 | with commas. This is because Emacs supports RFC822 standard addresses |
| 4083 | like this one: | 2860 | like this one: |
| 4084 | 2861 | ||
| 4085 | To: Willy Smith <wks@xpnsv.lwyrs.com> | 2862 | To: Willy Smith <wks@xpnsv.lwyrs.com> |
| 4086 | 2863 | ||
| 4087 | However, you do not need to separate addresses with commas in your | 2864 | However, you do not need to separate addresses with commas in your |
| 4088 | .mailrc file. | 2865 | .mailrc file. |
| 4089 | 2866 | ||
| 4090 | WARNING: Emacs breaks up aliases in the .mailrc file into multiple | 2867 | WARNING: Emacs breaks up aliases in the .mailrc file into multiple |
| 4091 | addresses both on commas and on whitespace, regardless of any use of | 2868 | addresses both on commas and on whitespace, regardless of any use of |
| 4092 | quotes. This is probably a bug. You can get around this by directly | 2869 | quotes. This is probably a bug. You can get around this by directly |
| 4093 | setting the value of mail-aliases. | 2870 | setting the value of mail-aliases. |
| 4094 | 2871 | ||
| 4095 | * Emacs normally only reads the `.mailrc' file once per session, when you | 2872 | * Emacs normally only reads the `.mailrc' file once per session, when you |
| 4096 | start to compose your first mail message. If you edit .mailrc, you can | 2873 | start to compose your first mail message. If you edit .mailrc, you can |
| 4097 | type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc. | 2874 | type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc. |
| 4098 | (You have to include the parentheses where they are shown!) | 2875 | (You have to include the parentheses where they are shown!) |
| 4099 | 2876 | ||
| 4100 | * Emacs does not interpret vendor-specific additions to the format of the | 2877 | * Emacs does not interpret vendor-specific additions to the format of the |
| 4101 | .mailrc file such as the `source' command. It also ignores any `set' | 2878 | .mailrc file such as the `source' command. It also ignores any `set' |
| 4102 | commands. The only commands it looks at are `alias' and `group' | 2879 | commands. The only commands it looks at are `alias' and `group' |
| 4103 | commands. | 2880 | commands. |
| 4104 | 2881 | ||
| 4105 | 155: Why does RMAIL think all my saved messages are one big message? | 2882 | * If you like, you can expand mail aliases as abbrevs, as soon as you |
| 4106 | 2883 | type them in. To enable this feature, execute the following: | |
| 4107 | There is a bug for FCC-ed messages in Emacs 18.58 where it adds a timezone | 2884 | |
| 4108 | on the "From " line after the year instead of before the year. (Before it | 2885 | (add-hook 'mail-setup-hook 'mail-abbrevs-setup) |
| 4109 | didn't add the timezone at all.) This is incompatible with the standard | 2886 | |
| 4110 | format for the "From " line, and RMAIL in particular can no longer | 2887 | 132: Why does Rmail think all my saved messages are one big message? |
| 4111 | distinguish between the messages. Karl Berry <karl@cs.umb.edu>, Felix Lee | 2888 | |
| 4112 | <flee@cs.psu.edu>, Nick Gianniotis <nico@japan.sbi.com> and many | 2889 | A file created through the FCC: field in a message is in Unix Mail |
| 4113 | others have all posted patches for this. Karl's is the simplest and just | 2890 | format, not the format that Rmail uses (BABYL format). Rmail will try to |
| 4114 | stops Emacs from adding the timezone: | 2891 | convert a Unix mail file into BABYL format on input, but sometimes it |
| 4115 | 2892 | makes errors. For guaranteed safety, you can make the saved- messages | |
| 4116 | >*** ./ORIG/sendmail.el Tue Jan 28 16:22:56 1992 | 2893 | file be an inbox for your Rmail file by using the function |
| 4117 | >--- ./sendmail.el Thu May 14 18:23:48 1992 | 2894 | set-rmail-inbox-list. |
| 4118 | >*************** | 2895 | |
| 4119 | >*** 285,287 **** | 2896 | 133: How can I sort the messages in my Rmail folder? |
| 4120 | > (insert "\nFrom " (user-login-name) " " | 2897 | |
| 4121 | >! (current-time-string) " " timezone "\n") | 2898 | In Rmail, type C-c C-s C-h to get a list of sorting functions and their |
| 4122 | > (insert-buffer-substring rmailbuf) | 2899 | key bindings. |
| 4123 | >--- 285,287 ---- | 2900 | |
| 4124 | > (insert "\nFrom " (user-login-name) " " | 2901 | 134: Why does Rmail need to write to /usr/spool/mail? |
| 4125 | >! (current-time-string) "\n") | 2902 | |
| 4126 | > (insert-buffer-substring rmailbuf) | 2903 | This is the behavior of the `movemail' program which Rmail uses. This |
| 4127 | |||
| 4128 | 156: How can I sort the messages in my RMAIL folder? | ||
| 4129 | |||
| 4130 | Use rmailsort.el by Masanobu Umeda. | ||
| 4131 | |||
| 4132 | 157: Why does RMAIL need to write to /usr/spool/mail? | ||
| 4133 | |||
| 4134 | This is the behavior of the `movemail' program which RMAIL uses. This | ||
| 4135 | indicates that movemail is configured to use lock files. | 2904 | indicates that movemail is configured to use lock files. |
| 4136 | 2905 | ||
| 4137 | RMS writes: | 2906 | RMS writes: |
| 4138 | 2907 | ||
| 4139 | Certain systems require lock files to interlock access to mail files. | 2908 | Certain systems require lock files to interlock access to mail files. |
| 4140 | On these systems, movemail must write lock files, or you risk losing | 2909 | On these systems, movemail must write lock files, or you risk losing |
| 4141 | mail. You simply must arrange to let movemail write them. | 2910 | mail. You simply must arrange to let movemail write them. |
| 4142 | 2911 | ||
| 4143 | Other systems use the flock system call to interlock access. On these | 2912 | Other systems use the flock system call to interlock access. On these |
| 4144 | systems, you should configure movemail to use flock. | 2913 | systems, you should configure movemail to use flock. |
| 4145 | 2914 | ||
| 4146 | 158: How do I recover my mail files after RMAIL munges their format? | 2915 | 135: How do I recover my mail files after Rmail munges their format? |
| 4147 | 2916 | ||
| 4148 | Users who just want to try RMAIL out to see how it works end up trapped | 2917 | If you have just done rmail-input on a file and you don't want to save it |
| 4149 | using it because saved mail in their `mbox' file has been converted into | 2918 | in Rmail's format (called BABYL), just kill the buffer (with C-x k). |
| 4150 | an incompatible format (BABYL) that only RMAIL understands. RMAIL | 2919 | |
| 4151 | provides no obvious way to reverse this transformation. Kyle Jones has | 2920 | If you typed M-x rmail and it read some messages out of your inbox and |
| 4152 | aptly named this "the great Emacs Mail Eating Monster". To convert a mail | 2921 | you want to put them in a Unix mail file, use C-o on each message. |
| 4153 | file back to standard Unix format, there are several methods: | 2922 | |
| 4154 | 2923 | If you want to convert an existing file from BABYL format to Unix mail | |
| 4155 | * Use the rmail-output ("C-o") command within RMAIL on each message in the | 2924 | format, use the command M-x unrmail: it will prompt you for the input and |
| 4156 | file. First use M-x rmail or M-x rmail-input to visit the RMAIL file in | 2925 | output file names. |
| 4157 | Rmail mode. Type "1 j" to go to the first message. Use the C-o command | 2926 | |
| 4158 | to output the message to a Unix format file. Type "n" to go to the next | 2927 | 136: How do I make Emacs automatically start my mail/news reader? |
| 4159 | message. Repeat. | 2928 | |
| 4160 | 2929 | To start Emacs in Gnus: | |
| 4161 | * If the file contains hundreds of messages, you may not want to repeat | 2930 | |
| 4162 | this for all of them. Instead of the above, after getting to the first | ||
| 4163 | message type this (where "mbox" is the file you want to put the messages | ||
| 4164 | in): | ||
| 4165 | |||
| 4166 | C-x ( C-o mbox RET M-s ^From: RET M-0 C-x ) | ||
| 4167 | |||
| 4168 | (The rmail-search command ("M-s") is used instead of just "n" because it | ||
| 4169 | is the only command which will cause an error when it reaches the last | ||
| 4170 | message in the file, which is necessary to terminate the keyboard macro. | ||
| 4171 | This will fail if there are messages in the file that don't have a | ||
| 4172 | `From:' header. This assumes rmail-delete-after-output is nil.) | ||
| 4173 | |||
| 4174 | It is wise to save a copy of the RMAIL file first, in case you make a | ||
| 4175 | mistake. | ||
| 4176 | |||
| 4177 | * There are software packages available for converting files or even | ||
| 4178 | entire directories of BABYL files to standard Unix format. These are | ||
| 4179 | helpful in this situation, but are intended mainly for people who have | ||
| 4180 | used RMAIL for a long time and are converting to some other mail reader. | ||
| 4181 | Lookup `rmail', `vm', and `babyl' in the Emacs Lisp Archive (see | ||
| 4182 | question 89). | ||
| 4183 | |||
| 4184 | You may wish to disable RMAIL to avoid accidentally destroying your mbox | ||
| 4185 | file (I have this in my .emacs): | ||
| 4186 | |||
| 4187 | (put 'rmail 'disabled t) ; avoid mbox destruction | ||
| 4188 | |||
| 4189 | 159: How do I make Emacs automatically start my mail/news reader? | ||
| 4190 | |||
| 4191 | Example: | ||
| 4192 | |||
| 4193 | emacs -f gnus | 2931 | emacs -f gnus |
| 4194 | 2932 | ||
| 4195 | Also: | 2933 | in Rmail: |
| 4196 | 2934 | ||
| 2935 | emacs -f rmail | ||
| 2936 | |||
| 2937 | A more convenient way to start with Gnus: | ||
| 2938 | |||
| 4197 | alias gnus 'emacs -f gnus' | 2939 | alias gnus 'emacs -f gnus' |
| 4198 | 2940 | gnus | |
| 4199 | It is probably unwise to automatically start your mail or news reader from | 2941 | |
| 4200 | your .emacs file. This would cause problems if you needed to run two | 2942 | It is probably unwise to automatically start your mail or news reader |
| 4201 | copies of Emacs at one time. Also, this would make it difficult for you | 2943 | from your .emacs file. This would cause problems if you needed to run |
| 4202 | to start Emacs quickly when you needed to. | 2944 | two copies of Emacs at one time. Also, this would make it difficult for |
| 4203 | 2945 | you to start Emacs quickly when you needed to. | |
| 4204 | 160: How do I read news under Emacs? | 2946 | |
| 4205 | 2947 | 137: How do I read news under Emacs? | |
| 4206 | There are at least three news reading packages that operate inside Emacs. | 2948 | |
| 4207 | `rnews' comes with Emacs. GNUS and Gnews come separately. rnews will | 2949 | Use M-x gnus. It is documented in Info (see question 14). |
| 4208 | be replaced by GNUS in Emacs 19. | 2950 | |
| 4209 | 2951 | 138: Why doesn't Gnus work via NNTP? | |
| 4210 | rnews works only with a local news spool directory. Both GNUS and Gnews | 2952 | |
| 4211 | handle reading news remotely via NNTP in addition to reading from a local | ||
| 4212 | news spool. GNUS supports reading mail stored in MH folders or articles | ||
| 4213 | saved by GNUS. | ||
| 4214 | |||
| 4215 | Gnews is styled after `rn' and seems to work like RMAIL. GNUS feels more | ||
| 4216 | like VM. People have complained that GNUS uses a lot of CPU time (it | ||
| 4217 | does). Some people have complained that Gnews is slower than GNUS. | ||
| 4218 | |||
| 4219 | For more information about GNUS, see question 108. | ||
| 4220 | |||
| 4221 | Gnews was written by Matthew P. Wiener <weemba@libra.wistar.upenn.edu>. | ||
| 4222 | The latest version seems to be 2.0, posted October 3, 1988. Matthew | ||
| 4223 | posted some fixes on October 26, 1988. Gnews does not appear to have been | ||
| 4224 | supported after this date. In particular, it has been reported that Gnews | ||
| 4225 | does not work with Emacs 18.57. There is a newsgroup for Gnews called | ||
| 4226 | gnu.emacs.gnews. | ||
| 4227 | |||
| 4228 | 161: Why does `rnews' say "No News is good news" when there is news? | ||
| 4229 | |||
| 4230 | rnews doesn't speak NNTP. You may need to use GNUS or Gnews. | ||
| 4231 | |||
| 4232 | 162: Why doesn't GNUS work anymore via NNTP? | ||
| 4233 | |||
| 4234 | There is a bug in NNTP version 1.5.10, such that when multiple requests | 2953 | There is a bug in NNTP version 1.5.10, such that when multiple requests |
| 4235 | are sent to the NNTP server, the server only handles the first one before | 2954 | are sent to the NNTP server, the server only handles the first one before |
| 4236 | blocking waiting for more input which never comes. NNTP version 1.5.11 | 2955 | blocking waiting for more input which never comes. NNTP version 1.5.11 |
| 4237 | claims to fix this. | 2956 | claims to fix this. |
| 4238 | 2957 | ||
| 4239 | You can work around the bug inside Emacs like this: | 2958 | You can work around the bug inside Emacs like this: |
| 4240 | 2959 | ||
| 4241 | (setq nntp-maximum-request 1) | 2960 | (setq nntp-maximum-request 1) |
| 4242 | 2961 | ||
| 4243 | I also have a patch for NNTP 1.5.10 by Mike Pelletier | ||
| 4244 | <stealth@engin.umich.edu> that is based on the timeout code that was in | ||
| 4245 | 1.5.9. However, please try to upgrade to 1.5.11 first. | ||
| 4246 | |||
| 4247 | You can find out what version of NNTP your news server is running by | 2962 | You can find out what version of NNTP your news server is running by |
| 4248 | telnetting to the NNTP port (usually 119) on the news server machine (ie., | 2963 | telnetting to the NNTP port (usually 119) on the news server machine |
| 4249 | `telnet server-machine 119'). The server should give its version number | 2964 | (i.e., `telnet server-machine 119'). The server should give its version |
| 4250 | in the welcome message. Type `quit' to get out. | 2965 | number in the welcome message. Type `quit' to get out. |
| 4251 | 2966 | ||
| 4252 | 163: How do I view text with embedded underlining (eg., ClariNews)? | 2967 | 139: How do I view text with embedded underlining (e.g., ClariNews)? |
| 4253 | 2968 | ||
| 4254 | Underlining appears like this: | 2969 | Underlining appears like this: |
| 4255 | 2970 | ||
| 4256 | _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg | 2971 | _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg |
| 4257 | 2972 | ||
| 4258 | You can destructively remove underlining with M-x ununderline-region. | 2973 | You can destructively remove underlining with M-x ununderline-region. |
| 4259 | 2974 | ||
| 4260 | For ClariNews articles, clari-clean.el by David N. Blank-Edelman | 2975 | For ClariNews articles, clari-clean.el by David N. Blank-Edelman |
| 4261 | <dnb@meshugge.media.mit.edu> will remove both underlining and overstriking | 2976 | <dnb@meshugge.media.mit.edu> will remove both underlining and |
| 4262 | automatically. | 2977 | overstriking automatically. It is available on the Lisp Code Directory |
| 4263 | 2978 | (see question 77). | |
| 4264 | 164: When I try to post a long article in GNUS (about 10K or longer), I get | 2979 | |
| 4265 | the error, "Writing to process: no more processes, nntpd" | 2980 | 140: How do I save all the items of a multi-part posting in Gnus? |
| 4266 | 2981 | ||
| 4267 | Upgrade to Emacs 18.58 or higher. | 2982 | Use gnus-uu. Type C-c C-v C-h in the Gnus summary buffer to see a list |
| 4268 | 2983 | of available commands. | |
| 4269 | 165: How do I save all the items of a multi-part posting in GNUS? | 2984 | |
| 4270 | 2985 | 141: Why does Gnus put the subjects in replies beyond the 80th column? | |
| 4271 | Use gnus-mark.el by Jamie Zawinski <jwz@lucid.com>. | 2986 | |
| 4272 | 2987 | This is a feature. If you set gnus-thread-hide-subject to non-nil, Gnus | |
| 4273 | 166: Why does GNUS put the subjects in replies beyond the 80th column? | ||
| 4274 | |||
| 4275 | This is a feature. If you set gnus-thread-hide-subject to non-nil, GNUS | ||
| 4276 | will only display the subject of the first posting in a thread, even if | 2988 | will only display the subject of the first posting in a thread, even if |
| 4277 | some of the replies use different subjects. It hides the subjects by | 2989 | some of the replies use different subjects. It hides the subjects by |
| 4278 | putting them past the edge of the window and setting truncate lines to t. | 2990 | putting them past the edge of the window and setting truncate lines to t. |
| 4279 | 2991 | ||
| 4280 | If your screen looks messed up, then for some reason truncate-lines in | 2992 | If your screen looks messed up, then for some reason truncate-lines in |
| 4281 | your `*Subject*' buffer has been set to nil. It should be set to t. | 2993 | your `*Subject*' buffer has been set to nil. It should be set to t. |
| 4282 | 2994 | ||
| 4283 | (I have an enhancement to GNUS 3.13 that will make it only hide the subject | 2995 | 142: How do I make Gnus start up faster? |
| 4284 | of a posting when it is unchanged from the followed-up-to posting. Thus, | 2996 | |
| 4285 | you can use the subject hiding feature and still know when someone changes | 2997 | Remove all the newsgroups in which you have no interest from your .newsrc |
| 4286 | the subject. (I have forgotten who originally gave me the idea for this.)) | 2998 | file by using Gnus's C-k or C-w commands in the `*Newsgroup*' buffer, |
| 4287 | 2999 | perhaps after displaying all newsgroups with the L command. | |
| 4288 | 167: Why is GNUS so slow to start up? | 3000 | Unsubscribing will not speed up Gnus. |
| 4289 | 3001 | ||
| 4290 | GNUS does several things that take quadratic time of the number of | 3002 | 143: How do I catch up all newsgroups in Gnus? |
| 4291 | newsgroups that are listed in .newsrc. The quick fix for this is to | 3003 | |
| 4292 | remove all the newsgroups in which you have no interest from your .newrc | ||
| 4293 | file by using GNUS's C-k command in the `*Newsgroup*' buffer after | ||
| 4294 | displaying all newsgroups with the L command. If you were to directly | ||
| 4295 | edit your .newsrc to remove the newsgroups, GNUS would add them back. | ||
| 4296 | |||
| 4297 | GNUS uses a quadratic algorithm to check for duplicates when the .newsrc | ||
| 4298 | file is newer than the .newsrc.el file (ie., you edited your .newsrc). | ||
| 4299 | GNUS uses a quadratic algorithm to check for new newsgroups every time it | ||
| 4300 | connects to the news server. {There may be other quadratic algorithms | ||
| 4301 | that I am not aware of.} | ||
| 4302 | |||
| 4303 | You can speed up GNUS by using the C-k command in the *Newsgroup* buffer | ||
| 4304 | to remove newsgroups from your .newsrc file. | ||
| 4305 | |||
| 4306 | Of course, GNUS will run faster if you make sure it is byte-compiled. | ||
| 4307 | |||
| 4308 | Felix Lee wrote some enhancements called `gnus-speedups.el' that fix some | ||
| 4309 | of the problems. See the Emacs Lisp Archive. | ||
| 4310 | |||
| 4311 | 168: How do I catch up all newsgroups in GNUS? | ||
| 4312 | |||
| 4313 | In the `*Newsgroup*' buffer, type the following magical incantation: | 3004 | In the `*Newsgroup*' buffer, type the following magical incantation: |
| 4314 | 3005 | ||
| 4315 | M-< C-x ( C-@ c y C-u C-@ C-e C-f C-f M-0 C-x ) | 3006 | M-< C-x ( c y M-0 C-x ) |
| 4316 | 3007 | ||
| 4317 | Leave off the "M-<" if you only want to catch up from point to the end of | 3008 | Leave off the "M-<" if you only want to catch up from point to the end of |
| 4318 | the `*Newsgroup' buffer. | 3009 | the `*Newsgroup' buffer. |
| 4319 | 3010 | ||
| 4320 | 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line? | 3011 | 144: Why can't I kill in Gnus on the Newsgroups/Keywords/Control line? |
| 4321 | 3012 | ||
| 4322 | GNUS 3.14.1 will complain that the `Newsgroups:', `Keywords:', and | 3013 | Gnus will complain that the `Newsgroups:', `Keywords:', and `Control:' |
| 4323 | `Control:' headers are `Unknown header field's. | 3014 | headers are `Unknown header field's. |
| 4324 | 3015 | ||
| 4325 | For the `Newsgroups:' header, there is an easy workaround: kill on the | 3016 | For the `Newsgroups:' header, there is an easy workaround: kill on the |
| 4326 | `Xref' header instead, which will be present on any cross-posted article. | 3017 | `Xref' header instead, which will be present on any cross-posted article |
| 4327 | 3018 | (as long as your site carries the cross-post group). | |
| 3019 | |||
| 4328 | If you really want to kill on one of these headers, you can do it like | 3020 | If you really want to kill on one of these headers, you can do it like |
| 4329 | this: | 3021 | this: |
| 4330 | 3022 | ||
| 4331 | (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)") | 3023 | (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)") |
| 4332 | 3024 | ||
| 4333 | Various people (eg., Greg Holley <holley@acuson.com>) have posted | 3025 | 145: How do I get rid of flashing messages in Gnus for slow connections? |
| 4334 | solutions to allow more efficient killing on these headers than the | 3026 | |
| 4335 | preceding solution. Masanobu Umeda plans to fix this problem. | 3027 | Set nntp-debug-read to nil. |
| 4336 | 3028 | ||
| 4337 | 170: How do I get rid of flashing messages in GNUS for slow connections? | 3029 | 146: Why is catch up slow in Gnus? |
| 4338 | 3030 | ||
| 4339 | GNUS outputs "NNTP: Reading..." message and then clears them, over and | 3031 | Because Gnus is marking crosspostings read. You can control this with |
| 4340 | over. In version 3.14.1 there is a variable named nntp-debug-read that | 3032 | the variable gnus-use-cross-reference. |
| 4341 | can help. Johan Vromans <jv@mh.nl> wrote a fix. Others have also written | 3033 | |
| 4342 | fixes. | 3034 | 147: Why does Gnus hang for a long time when posting? |
| 4343 | 3035 | ||
| 4344 | 171: Why is catch up slow in Gnews/GNUS? | ||
| 4345 | |||
| 4346 | Because GNUS is marking crosspostings read. {I think it should do this at | ||
| 4347 | the time the article is read to spread out the load. Maybe someone will | ||
| 4348 | write the code to do this.} | ||
| 4349 | |||
| 4350 | 172: Why does GNUS hang for a long time when posting? | ||
| 4351 | |||
| 4352 | David Lawrence <tale@uunet.uu.net> explains: | 3036 | David Lawrence <tale@uunet.uu.net> explains: |
| 4353 | 3037 | ||
| 4354 | The problem is almost always interaction between NNTP and C News. NNTP | 3038 | The problem is almost always interaction between NNTP and C News. NNTP |
| 4355 | POST asks C News's inews to not background itself but rather hang around | 3039 | POST asks C News's inews to not background itself but rather hang |
| 4356 | and give its exit status so it knows whether the post was successful. | 3040 | around and give its exit status so it knows whether the post was |
| 4357 | (That wait will on some systems not return the exit status of the | 3041 | successful. (That wait will on some systems not return the exit status |
| 4358 | waited for job is a different sort of problem.) It ends up taking a | 3042 | of the waited for job is a different sort of problem.) It ends up |
| 4359 | long time because inews is calling relaynews, which often waits for | 3043 | taking a long time because inews is calling relaynews, which often |
| 4360 | another relaynews to free the lock on the news system so it can file the | 3044 | waits for another relaynews to free the lock on the news system so it |
| 4361 | article. | 3045 | can file the article. |
| 4362 | 3046 | ||
| 4363 | My preferred solution is to change inews to not call relaynews, but | 3047 | My preferred solution is to change inews to not call relaynews, but |
| 4364 | rather use newsspool. This loses some error-catching functionality, but | 3048 | rather use newsspool. This loses some error-catching functionality, |
| 4365 | is for the most part safe as inews will detect a lot of the errors on | 3049 | but is for the most part safe as inews will detect a lot of the errors |
| 4366 | its own. The C News folks have sped up inews, too, so speed should look | 3050 | on its own. The C News folks have sped up inews, too, so speed should |
| 4367 | better to most folks as that update propagates around. | 3051 | look better to most folks as that update propagates around. |
| 4368 | 3052 | ||
| 4369 | 173: Why don't my news postings in GNUS get past the local machine? | 3053 | 148: Why don't my news postings in Gnus get past the local machine? |
| 4370 | 3054 | ||
| 4371 | Three possible reasons: local distribution, C News date problem (see | 3055 | It could be that your Distribution: field is "local" or a synonym, or |
| 4372 | question 174, and the path problem. This piece of code may fix the path | 3056 | your Path: field may be wrong. This piece of code may fix the latter |
| 4373 | problem for you: | 3057 | problem: |
| 4374 | 3058 | ||
| 4375 | (setq gnus-use-generic-path t) | 3059 | (setq gnus-use-generic-path t) |
| 4376 | 3060 | ||
| 4377 | 174: Why is the GNUS-generated `Date:' header invalid? | 3061 | 149: Why doesn't Gnus generate the `Lines:' header? |
| 4378 | 3062 | ||
| 4379 | GNUS generates `Date:' headers without time zones. C-News's `inews' | 3063 | The posting software down the line from Gnus often generates a "Lines:" |
| 4380 | doesn't replace it with a valid header, but will generate it if not | 3064 | header so Gnus doesn't have to. If you want it to, just add Lines to the |
| 4381 | already there. If it is invalid, the article will not be forwarded | 3065 | list in gnus-required-headers: |
| 4382 | properly. Quick fix: | 3066 | |
| 4383 | 3067 | (add-hook 'gnus-startup-hook | |
| 4384 | (defun gnus-inews-date () nil) | 3068 | '(lambda () |
| 4385 | 3069 | (setq gnus-required-headers (cons 'Lines gnus-required-headers)))) | |
| 4386 | This is not fixed as of GNUS 3.14.1. | 3070 | |
| 4387 | 3071 | 150: How do I kill all articles in Gnus but those matching a pattern? | |
| 4388 | 175: Why doesn't GNUS generate the `Lines:' header? | 3072 | |
| 4389 | 3073 | Example kill file code: | |
| 4390 | GNUS was written for B news, which would generate the `Lines:' header. C | 3074 | |
| 4391 | news doesn't. There is a comment in C news's `inews' that you can | ||
| 4392 | uncomment to enable this functionality. Or you can have GNUS generate the | ||
| 4393 | header, for example: | ||
| 4394 | |||
| 4395 | ;; idea by jbryans@beach.csulb.edu (Jack Bryans) | ||
| 4396 | (defun add-lines-header () | ||
| 4397 | ;; Count the number of lines in the current posting and insert the | ||
| 4398 | ;; header line Lines into the message. | ||
| 4399 | (save-excursion | ||
| 4400 | (goto-char (point-min)) | ||
| 4401 | (if (search-forward "\n\n") ;; ***** I suspect this is wrong ***** | ||
| 4402 | (let ((lines (count-lines (point) (point-max)))) | ||
| 4403 | (forward-line -1) | ||
| 4404 | (insert-string "Lines: " lines "\n"))))) | ||
| 4405 | |||
| 4406 | Mike Williams <mike-w@cs.aukuni.ac.nz> has written something similar. | ||
| 4407 | |||
| 4408 | Ronald Florence <ron@mlfarm.com> has a patch for GNUS that makes it | ||
| 4409 | calculate the `Lines:' header for incoming articles when necessary that | ||
| 4410 | works for sites with local news spools. | ||
| 4411 | |||
| 4412 | David Lawrence <tale@uunet.uu.net> says that GNUS 3.14.1 generates Lines | ||
| 4413 | if gnus-news-system is Cnews. | ||
| 4414 | |||
| 4415 | 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS? | ||
| 4416 | |||
| 4417 | Specifically, the error message is this: | ||
| 4418 | |||
| 4419 | Error occurred processing gnus.el: File error (("Cannot open load file" "nntp")) | ||
| 4420 | |||
| 4421 | This means that nntp.el is not in Emacs's load-path, which is easy to | ||
| 4422 | happen when compiling using the Makefile. | ||
| 4423 | |||
| 4424 | Easiest solution: set EMACSLOADPATH in Makefile (idea from Glenn Gribble | ||
| 4425 | <glenn@netcom.com>): | ||
| 4426 | |||
| 4427 | EMACSLOADPATH=/usr/local/emacs/lisp:. | ||
| 4428 | ELC= env EMACSLOADPATH=$(EMACSLOADPATH) emacs -batch -f batch-byte-compile | ||
| 4429 | |||
| 4430 | Another solution, in hack.el put this: | ||
| 4431 | |||
| 4432 | (defun gross-hack () (setq load-path (cons "/directory" load-path))) | ||
| 4433 | |||
| 4434 | Then in Makefile: | ||
| 4435 | |||
| 4436 | ELC= emacs -batch -l hack.el -f gross-hack -f batch-byte-compile | ||
| 4437 | |||
| 4438 | 177: How do I kill all articles in GNUS but those matching a pattern? | ||
| 4439 | |||
| 4440 | Example: | ||
| 4441 | |||
| 4442 | ;; kill everything | 3075 | ;; kill everything |
| 4443 | (gnus-kill "subject" "" nil nil) | 3076 | (gnus-kill "subject" "" nil nil) |
| 4444 | ;; then restore stuff by our favorite poster | 3077 | ;; then restore stuff by our favorite poster |
| @@ -4448,23 +3081,41 @@ Mail and News | |||
| 4448 | (if (eq ?X (char-after (save-excursion | 3081 | (if (eq ?X (char-after (save-excursion |
| 4449 | (beginning-of-line 1) | 3082 | (beginning-of-line 1) |
| 4450 | (point)))) | 3083 | (point)))) |
| 4451 | (gnus-Subject-clear-mark-forward 1)))) | 3084 | (gnus-summary-clear-mark-forward 1)))) |
| 4452 | t) | 3085 | t) |
| 4453 | |||
| 4454 | 3086 | ||
| 4455 | 3087 | ||
| 4456 | ---------------------------------------------------------------------- | 3088 | ------------------------------------------------------------ |
| 4457 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells | 3089 | Slightly modified by Richard Stallman |
| 4458 | Copyright (C) 1992, 1993 Steven Byrnes | 3090 | Copyright 1994 Reuven M. Lerner |
| 3091 | Copyright 1992, 1993 Steven Byrnes | ||
| 3092 | Copyright 1990, 1991, 1992 Joseph Brian Wells | ||
| 4459 | 3093 | ||
| 4460 | This list of frequently asked questions about GNU Emacs with answers | 3094 | This list of frequently asked questions about GNU Emacs with answers |
| 4461 | ("FAQ") may be translated into other languages, transformed into other | 3095 | ("FAQ") may be translated into other languages, transformed into other |
| 4462 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new | 3096 | formats (e.g. Texinfo, Info, WWW, WAIS), and updated with new information. |
| 4463 | information. The same conditions apply to any derivative of the FAQ as | 3097 | |
| 4464 | apply to the FAQ itself. Every copy of the FAQ must include this notice | 3098 | The same conditions apply to any derivative of the FAQ as apply to the FAQ |
| 4465 | or an approved translation, information on who is currently maintaining | 3099 | itself. Every copy of the FAQ must include this notice or an approved |
| 4466 | the FAQ and how to contact them (including their e-mail address), and | 3100 | translation, information on who is currently maintaining the FAQ and how to |
| 4467 | information on where the latest version of the FAQ is archived (including | 3101 | contact them (including their e-mail address), and information on where the |
| 4468 | FTP information). The FAQ may be copied and redistributed under these | 3102 | latest version of the FAQ is archived (including FTP information). |
| 4469 | conditions, except that the FAQ may not be embedded in a larger literary | 3103 | |
| 4470 | work unless that work itself allows free copying and redistribution. | 3104 | The FAQ may be copied and redistributed under these conditions, except that |
| 3105 | the FAQ may not be embedded in a larger literary work unless that work | ||
| 3106 | itself allows free copying and redistribution. | ||
| 3107 | |||
| 3108 | ------------------------------------------------------------ | ||
| 3109 | |||
| 3110 | Special thanks to members of the FAQ team, who worked hard to ensure that | ||
| 3111 | answers were up-to-date: | ||
| 3112 | |||
| 3113 | Ethan Bradford <ethanb@u.washington.edu>, Luis Fernandes | ||
| 3114 | <elf@eccles.ee.ryerson.ca>, Denby Wong <3dw16@qlink.QueensU.CA>, Yair | ||
| 3115 | Friedman <yair@cs.huji.ac.il>, Thi <ttn@netcom.com>, Richard Levitte | ||
| 3116 | <levitte@e.kth.se>, "William G. Dubuque" <wgd@martigny.ai.mit.edu>, | ||
| 3117 | and Guan-Hsong Hsu <ghsu@relay.nswc.navy.mil>. | ||
| 3118 | |||
| 3119 | |||
| 3120 | |||
| 3121 | |||