diff options
| author | Richard M. Stallman | 1993-01-05 22:25:05 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1993-01-05 22:25:05 +0000 |
| commit | c2fabcbf95e924e4cb947cf89d3581b3f0c9ab20 (patch) | |
| tree | 4516bfc39caf73254bca4a090b3b58224e26ce28 /etc/FAQ | |
| parent | 7617f113cd3b5dd4551485e0b6127405414551bb (diff) | |
| download | emacs-c2fabcbf95e924e4cb947cf89d3581b3f0c9ab20.tar.gz emacs-c2fabcbf95e924e4cb947cf89d3581b3f0c9ab20.zip | |
New version received.
Diffstat (limited to 'etc/FAQ')
| -rw-r--r-- | etc/FAQ | 6459 |
1 files changed, 4135 insertions, 2324 deletions
| @@ -1,334 +1,715 @@ | |||
| 1 | GNU Emacs FAQ: Introduction | 1 | GNU Emacs FAQ: Introduction |
| 2 | 2 | ||
| 3 | [To find what has changed, view the `Changes' posting or inspect the change | 3 | [To find what has changed, see the "Changes" posting.] |
| 4 | bars in the text of the questions.] | 4 | |
| 5 | [Joe Wells (me) has quit as FAQ coordinator. Steven Byrnes is taking over this | ||
| 6 | responsibility. Let's give him a big round of applause! More volunteers are | ||
| 7 | still needed to help by taking charge of a section of the FAQ list. Send | ||
| 8 | e-mail if you are interested. - jbw] | ||
| 9 | |||
| 10 | [First, I'd like to thank Joe for all of the work he's done on the FAQ to | ||
| 11 | date. Second: due to a hectic schedule, getting up to speed with | ||
| 12 | maintaining the FAQ, and trying to fix up some loose ends, this release of | ||
| 13 | the FAQ is coming out a bit late. (Ok, a lot late. :) I hope to get | ||
| 14 | another release, fixing up some lose ends, by the end of the month. | ||
| 15 | - sbyrnes] | ||
| 5 | 16 | ||
| 6 | This is the introduction to a list of frequently asked questions (FAQ) about | 17 | This is the introduction to a list of frequently asked questions (FAQ) about |
| 7 | GNU Emacs with answers. This article contains a listing of the questions; | 18 | GNU Emacs with answers. This article contains a listing of the questions; |
| 8 | subsequent articles contain the questions and answers. | 19 | subsequent articles contain the questions and answers. |
| 9 | 20 | ||
| 10 | The FAQ is posted to reduce the noise level in the `gnu.emacs.help' newsgroup | 21 | The FAQ list is posted to reduce the noise level in the `gnu.emacs.help' |
| 11 | (which is also the `help-gnu-emacs' mailing list) which results from the | 22 | newsgroup (which is also the `help-gnu-emacs' mailing list) which results from |
| 12 | repetition of frequently asked questions, wrong answers to these questions, | 23 | the repetition of frequently asked questions, wrong answers to these questions, |
| 13 | corrections to the wrong answers, corrections to the corrections, debate, name | 24 | corrections to the wrong answers, corrections to the corrections, debate, name |
| 14 | calling, etc. Also, it serves as a repository of the canonical "best" answers | 25 | calling, etc. Also, it serves as a repository of the canonical "best" answers |
| 15 | to these questions. However, if you know a better answer or even a slight | 26 | to these questions. However, if you know a better answer or even a slight |
| 16 | change that improves an answer, please tell me! | 27 | change that improves an answer, please tell us! |
| 17 | 28 | ||
| 18 | If you know the answer of a question is in the FAQ, please reply to the | 29 | If you know the answer of a question is in the FAQ list, please reply to the |
| 19 | question by e-mail instead of posting. Help reduce noise! | 30 | question by e-mail instead of posting. Help reduce noise! |
| 20 | 31 | ||
| 21 | The FAQ is crossposted to `comp.emacs' because some sites do not receive the | 32 | The FAQ list is crossposted to `comp.emacs' because some sites do not receive |
| 22 | `gnu.*' newsgroups. The FAQ is also crossposted to `news.answers'. | 33 | the `gnu.*' newsgroups. The FAQ list is also crossposted to `news.answers'. |
| 23 | 34 | ||
| 24 | Please suggest new questions, answers, wording changes, deletions, etc. The | 35 | Please suggest new questions, answers, wording changes, deletions, etc. The |
| 25 | most helpful form for suggestions is a context diff (ie., the output of `diff | 36 | most helpful form for suggestions is a context diff (ie., the output of `diff |
| 26 | -c'). Include `FAQ' in the subject of messages sent to me about the FAQ. | 37 | -c'). Include `FAQ' in the subject of messages sent to us about the FAQ list. |
| 27 | 38 | ||
| 28 | Please do not send questions to me just because you do not want to disturb a | 39 | Please do not send questions to us just because you do not want to disturb a |
| 29 | lot of people and you think I would know the answer. I do not have time to | 40 | lot of people and you think we would know the answer. We do not have time to |
| 30 | answer questions individually. :-( | 41 | answer questions individually. :-( |
| 31 | 42 | ||
| 32 | Full instructions for getting the latest FAQ are in question 29. Also see the | 43 | Full instructions for getting the latest FAQ are in question 22. Also see the |
| 33 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | 44 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send |
| 34 | e-mail to `mail-server@pit-manager.mit.edu' with `help' on a body line, or use | 45 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, |
| 35 | FTP, WAIS, or Prospero to pit-manager.mit.edu. | 46 | WAIS, or Prospero to rtfm.mit.edu. |
| 36 | 47 | ||
| 37 | Future plans for this FAQ list include: | 48 | These ideas have already been suggested, but we have not had time to |
| 49 | implement them: | ||
| 38 | 50 | ||
| 39 | * A new section devoted to GNUS questions. | ||
| 40 | * Verification for files available via FTP and for mailing lists. | ||
| 41 | * Up-to-date IP addresses for sites mentioned for FTP access. | ||
| 42 | * A Texinfo version. | 51 | * A Texinfo version. |
| 43 | * Marking questions in the list below that have been changed recently. | 52 | * Marking questions in the table of contents that have been changed |
| 53 | recently. | ||
| 44 | 54 | ||
| 45 | -- | 55 | -- |
| 46 | Joe Wells <jbw@cs.bu.edu> | 56 | Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>) |
| 57 | |||
| 58 | E-mail lpf@uunet.uu.net for details about the League for Programming Freedom. | ||
| 47 | 59 | ||
| 48 | Member of the League for Programming Freedom --- send e-mail for details | ||
| 49 | ---------------------------------------------------------------------- | 60 | ---------------------------------------------------------------------- |
| 50 | 61 | ||
| 51 | Notation Used in the Answers | 62 | GNU Emacs FAQ: Table of Contents |
| 52 | 63 | ||
| 53 | 1: What do things like this mean: C-h, M-C-a, RET, etc.? | 64 | Notation Used in FAQ |
| 54 | 2: What do you mean when you write things like this: type "ESC a"? | 65 | |
| 55 | 3: What if I don't have a Meta key? | 66 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? |
| 56 | 4: What if I don't have an Escape key? | 67 | 2: What does "M-x command" mean? |
| 57 | 5: What does "M-x command" mean? | 68 | 3: How do I read topic XXX in the on-line manual? |
| 58 | 6: What do things like this mean: etc/SERVICE, src/config.h, | 69 | 4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? |
| 59 | lisp/default.el? | 70 | 5: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? |
| 60 | 7: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? | 71 | |
| 61 | 72 | General Questions | |
| 62 | Sources of Information and Help | 73 | |
| 63 | 74 | 6: What is the LPF and why should I join it? | |
| 64 | 8: I'm just starting GNU Emacs; how do I do basic editing? | 75 | 7: What is the real legal meaning of the GNU copyleft? |
| 65 | 9: How do I find out how to do something in GNU Emacs? | 76 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, |
| 66 | 10: Where can I get GNU Emacs on the net (or by snail mail)? | 77 | comp.emacs, etc.? |
| 67 | 11: Where can I get help in installing GNU Emacs? | 78 | 9: Where can I get old postings to gnu.emacs.help and other GNU groups? |
| 68 | 12: How do I get a printed copy of the GNU Emacs manual? | 79 | 10: Where should I report bugs and other problems with GNU Emacs? |
| 69 | 13: How do I install a piece of Texinfo documentation? | 80 | 11: How do I unsubscribe to this mailing list? |
| 70 | 14: How do I print a Texinfo file? | 81 | 12: What is the current address of the FSF? |
| 71 | 15: Can I view Info files without using GNU Emacs? | 82 | |
| 83 | On-line Help, Printed Manuals, Other Sources of Help | ||
| 84 | |||
| 85 | 13: I'm just starting GNU Emacs; how do I do basic editing? | ||
| 86 | 14: How do I find out how to do something in GNU Emacs? | ||
| 87 | 15: How do I get a printed copy of the GNU Emacs manual? | ||
| 72 | 16: Where can I get documentation on GNU Emacs Lisp? | 88 | 16: Where can I get documentation on GNU Emacs Lisp? |
| 73 | 17: Has someone written an GNU Emacs Lisp package that does XXX? | 89 | 17: How do I install a piece of Texinfo documentation? |
| 74 | 18: Where can I get GNU Emacs Lisp packages that don't come with Emacs? | 90 | 18: How do I print a Texinfo file? |
| 75 | 19: How do I submit code to the Emacs Lisp Archive? | 91 | 19: Can I view Info files without using GNU Emacs? |
| 76 | 20: What informational files are available for GNU Emacs? | 92 | 20: What informational files are available for GNU Emacs? |
| 77 | 21: Where can I get the latest VM, Supercite, GNUS, Calc, Calendar, | 93 | 21: Where can I get help in installing GNU Emacs? |
| 78 | Ange-FTP, VIP, Dired, Ispell, Epoch, Demacs, Freemacs, or Patch? | 94 | 22: Where can I get the latest version of this document (the FAQ list)? |
| 79 | 22: What is the real legal meaning of the GNU copyleft? | 95 | |
| 80 | 23: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, | 96 | Status of Emacs |
| 81 | comp.emacs, etc.? | 97 | |
| 82 | 24: How do I unsubscribe to this mailing list? | 98 | 23: Where does the name "Emacs" come from? |
| 83 | 25: What is the LPF and why should I join it? | 99 | 24: What is the latest version of GNU Emacs? |
| 84 | 26: What is the current address of the FSF? | 100 | 25: When will GNU Emacs 19 be available? |
| 85 | 27: What is the current address of the LPF? | 101 | 26: What is different about GNU Emacs 19? |
| 86 | 28: Where can I get other up-to-date GNU stuff? | 102 | 27: What variants of GNU Emacs exist? |
| 87 | 29: Where can I get the latest version of this document (the FAQ list)? | 103 | |
| 88 | 104 | Common Things People Want To Do | |
| 89 | GNU Emacs and Various Computing Environments | 105 | |
| 90 | 106 | 28: How do I set up a .emacs file properly? | |
| 91 | 30: Where does the name "Emacs" come from? | 107 | 29: How do I debug a .emacs file? |
| 92 | 31: What is the latest version of GNU Emacs? | 108 | 30: How do I make Emacs display the current line (or column) number? |
| 93 | 32: When will GNU Emacs 19 be available? | 109 | 31: How do I turn on Abbrevs by default just in mode XXX? |
| 94 | 33: What will be different about GNU Emacs 19? | 110 | 32: How do I turn on Auto-Fill mode by default? |
| 95 | 34: Is there an Emacs that has better mouse and X window support? | 111 | 33: How do I make Emacs use a certain major mode for certain files? |
| 96 | 35: Where can I get the "unofficial HP GNU Emacs"? | 112 | 34: How do I search for, delete, or replace unprintable (8-bit or control) |
| 97 | 36: Where can I get Emacs for my PC? | 113 | characters? |
| 98 | 37: Where can I get Emacs for my Atari ST? | 114 | 35: How can I highlight a region of text in Emacs? |
| 99 | 38: Where can I get Emacs for my Amiga? | 115 | 36: How do I control Emacs's case-sensitivity when searching/replacing? |
| 100 | 39: Where can I get Emacs for my Apple computer? | 116 | 37: How do I make Emacs wrap words for me? |
| 101 | 40: Where can I get Emacs with NeWS support? | 117 | 38: Where can I get a better spelling checker for Emacs? |
| 102 | 41: How do I get Emacs running on VMS under DECwindows? | 118 | 39: How can I spell-check TeX or *roff documents? |
| 103 | 42: How do I use emacstool under SunView? | 119 | 40: How do I change load-path? |
| 104 | 43: How do I make Emacs display 8-bit characters? | 120 | 41: How do I use an already running Emacs from another window? |
| 105 | 44: How do I input 8-bit characters? | 121 | 42: How do I make Emacs recognize my compiler's funny error messages? |
| 106 | 45: How do I use an already running Emacs from another window? | 122 | 43: How do I indent switch statements like this? |
| 107 | 46: Where can I get an Emacs that can handle kanji characters? | 123 | 44: How can I make Emacs automatically scroll horizontally? |
| 108 | 47: Where can I get an Emacs that can handle Chinese? | 124 | 45: How do I make Emacs "typeover" or "overwrite" instead of inserting? |
| 109 | 48: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | 125 | 46: How do I stop Emacs from beeping on a terminal? |
| 110 | 126 | 47: How do I turn down the bell volume in Emacs running under X Windows? | |
| 111 | Binding Keys to Commands | 127 | 48: How do I tell Emacs to automatically indent a new line to the |
| 112 | 128 | indentation of the previous line? | |
| 113 | 49: Why does Emacs say "Key sequence XXX uses invalid prefix characters"? | 129 | 49: How do I show which parenthesis matches the one I'm looking at? |
| 114 | 50: Why doesn't this [terminal or window-system setup] code work in my | 130 | 50: In C mode, can I show just the lines that will be left after #ifdef |
| 115 | .emacs file, but it works just fine after Emacs starts up? | 131 | commands are handled by the compiler? |
| 116 | 51: Other than that, why does my key binding fail? | 132 | 51: Is there an equivalent to the `.' (dot) command of vi? |
| 117 | 52: How do I use function keys under X Windows? | 133 | 52: What are the valid X resource settings (ie., stuff in .Xdefaults)? |
| 118 | 53: How do I tell what characters my function or arrow keys emit? | 134 | 53: How do I execute a piece of Emacs Lisp code? |
| 119 | 54: Why does Emacs spontaneously start displaying "I-search:" and beeping? | 135 | 54: How do I change Emacs's idea of the tab character's length? |
| 120 | 55: How do I disable the use of C-s and C-q for flow control? | 136 | 55: How do I insert `>' at the beginning of every line? |
| 121 | 56: What do I do if my terminal is sending C-s and C-q for flow control and | 137 | 56: How do I insert `_^H' before each character in a paragraph to get an |
| 122 | I can't disable it? | 138 | underlined paragraph? |
| 123 | 57: How do I make Emacs honor C-s and C-q for flow control instead of for | 139 | 57: How do I repeat a command as many times as possible? |
| 124 | commands? | 140 | 58: How do I make Emacs behave like this: when I go up or down, the cursor |
| 125 | 58: Why does Emacs never see C-s and C-q through my network connection? | 141 | should stay in the same column even if the line is too short? |
| 126 | 59: How do I use commands bound to C-s and C-q (or any key) if these keys | 142 | 59: How do I tell Emacs to iconify itself? |
| 127 | are filtered out? | 143 | 60: How do I use regexps (regular expressions) in Emacs? |
| 128 | 60: How do I "swap" two keys? | 144 | 61: How do I perform a replace operation across more than one file? |
| 129 | 61: Why does the "BackSpace" key invoke help? | 145 | 62: Where is the documentation for `etags'? |
| 130 | 62: How do I type DEL on PC terminal emulators? | 146 | |
| 131 | 63: Can I make my "Compose" key behave like a "Meta" key? | 147 | Bugs/Problems |
| 132 | 64: Why don't the arrow keys work? | 148 | |
| 133 | 65: How do I bind a combination of modifier key and function key? | 149 | 63: Does Emacs have problems with files larger than 8 megabytes? |
| 134 | 66: Why doesn't my Meta key work in an xterm window? | 150 | 64: Why can't Emacs find files in current directory on startup? |
| 135 | 67: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? | 151 | 65: How do I get rid of the ^M junk in my Shell buffer? |
| 136 | 68: Where can I get key bindings to make Emacs emulate WordStar? | 152 | 66: Why do I get `Process shell exited abnormally with code 1'? |
| 137 | 153 | 67: Why can't I cut from Emacs and paste in other X programs? | |
| 138 | Building/Installing/Porting Emacs and Machine/OS-Specific Bugs | 154 | 68: Where is the termcap/terminfo entry for terminal type `emacs'? |
| 139 | 155 | 69: Why does Emacs spontaneously start displaying `I-search:' and beeping? | |
| 140 | 69: Why does Emacs crash with "Fatal error (6).Abort" under SunOS 4.1? | 156 | 70: Why can't Emacs talk to certain hosts (or certain hostnames)? |
| 141 | 70: Why do I get an "f68881_used undefined" error, when I build Emacs on my | 157 | 71: Why does Emacs say `Error in init file'? |
| 142 | Sun 3? | 158 | 72: Why does Emacs ignore my X resources (my .Xdefaults file)? |
| 143 | 71: Why does Emacs ignore my X resources (my .Xdefaults file)? | 159 | 73: Why does Emacs take 20 seconds to visit a file? |
| 144 | 72: How do I get Emacs to compile with all features under OpenWindows? | 160 | 74: How do I edit a file with a `$' in its name? |
| 145 | 73: How do I build Emacs under HP-UX 8.0? | 161 | 75: Why does Shell mode lose track of the shell's current directory? |
| 146 | 74: What should I do if I have trouble building Emacs? | 162 | 76: Why doesn't my change to load-path work? |
| 147 | 163 | 77: Why does the cursor always go to the wrong column when I move up or | |
| 148 | Weird/Confusing Problems | ||
| 149 | |||
| 150 | 75: Does Emacs have problems with files larger than 8 megabytes? | ||
| 151 | 76: Why does Emacs start up using the wrong directory? | ||
| 152 | 77: How do I edit a file with a "$" in its name? | ||
| 153 | 78: Why does Shell mode lose track of the shell's current directory? | ||
| 154 | 79: Why doesn't Emacs expand my aliases when sending mail? | ||
| 155 | 80: Why doesn't my change to load-path work? | ||
| 156 | 81: Why does the cursor always go to the wrong column when I move up or | ||
| 157 | down one line? | 164 | down one line? |
| 158 | 82: Why does Emacs hang with message "Unknown XMenu error" with X11R4? | 165 | 78: Why does Emacs hang with message `Unknown XMenu error' with X11R4? |
| 159 | 83: Why doesn't display-time show the load average in the mode line | 166 | 79: Why doesn't display-time show the load average in the mode line |
| 160 | anymore? | 167 | anymore? |
| 161 | 84: Why doesn't GNUS work anymore via NNTP? | 168 | 80: Why does ispell sometimes ignore the local dictionary? |
| 162 | 85: Why does ispell sometimes ignore the local dictionary? | 169 | 81: Why does Ispell treat each line as a single word? |
| 163 | 86: How do I get rid of the ^M junk in my Shell buffer? | 170 | 82: Are there any security risks in GNU Emacs? |
| 164 | 87: Are there any security risks in GNU Emacs? | 171 | |
| 165 | 88: How do I recover my mail files after RMAIL munges their format? | 172 | Difficulties Building/Installing/Porting Emacs |
| 166 | 89: Why do I get "Process shell exited abnormally with code 1"? | 173 | |
| 167 | 174 | 83: What should I do if I have trouble building Emacs? | |
| 168 | Configuring Emacs for Yourself | 175 | 84: How do I stop Emacs from failing when the executable is stripped? |
| 169 | 176 | 85: Why does linking Emacs with -lX11 fail? | |
| 170 | 90: How do I set up a .emacs file properly? | 177 | 86: Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1? |
| 171 | 91: How do you debug a .emacs file? | 178 | |
| 172 | 92: How do I turn on abbrevs by default just in mode XXX? | 179 | Finding/Getting Emacs and Related Packages |
| 173 | 93: How do I turn on Auto-Fill mode by default? | 180 | |
| 174 | 94: How do I make Emacs use a certain major mode for certain files? | 181 | 87: Where can I get GNU Emacs on the net (or by snail mail)? |
| 175 | 95: What are the valid X resource settings (ie., stuff in .Xdefaults file)? | 182 | 88: How do I find a GNU Emacs Lisp package that does XXX? |
| 176 | 96: How do I stop Emacs from beeping on a terminal? | 183 | 89: Where can I get GNU Emacs Lisp packages that don't come with Emacs? |
| 177 | 97: How do I turn down the bell volume in Emacs running under X Windows? | 184 | 90: How do I submit code to the Emacs Lisp Archive? |
| 178 | 98: How do I change load-path? | 185 | 91: Where can I get other up-to-date GNU stuff? |
| 179 | 99: How do I change the included text prefix in mail/news followups? | 186 | 92: Where can I get an Emacs with better mouse and X window support? |
| 180 | 187 | 93: What is the difference between GNU Emacs and Epoch? | |
| 181 | Emacs Lisp Programming | 188 | 94: What is the difference between GNU Emacs and Lucid GNU Emacs? |
| 182 | 189 | 95: Where can I get the "unofficial HP GNU Emacs"? | |
| 183 | 100: What dialect of Lisp is Emacs Lisp? | 190 | 96: Where can I get Emacs for my PC running MS-DOS? |
| 184 | 101: How close is Emacs Lisp to Common Lisp? | 191 | 97: Where can I get Emacs for my PC running Windows? |
| 185 | 102: How do I execute a piece of Emacs Lisp code? | 192 | 98: Where can I get Emacs for my PC running OS/2? |
| 186 | 103: How do I make a set of operations work only within a region? | 193 | 99: Where can I get Emacs for my Atari ST? |
| 187 | 104: How can I highlight text in Emacs? | 194 | 100: Where can I get Emacs for my Amiga? |
| 188 | 105: How do I change Emacs's idea of the tab character's length? | 195 | 101: Where can I get Emacs for my Apple computer? |
| 189 | 196 | 102: Where can I get Emacs with NeWS support? | |
| 190 | Carrying Out Common Tasks | 197 | 103: Where do I get Emacs that runs on VMS under DECwindows? |
| 191 | 198 | 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++, | |
| 192 | 106: How do I insert ">"'s in the beginning of every line in a buffer? | 199 | Objective C, Pascal, Awk? |
| 193 | 107: How do I insert "_^H" characters before each character in a paragraph | 200 | 105: What is the IP address of XXX.YYY.ZZZ? |
| 194 | to get an underlined paragraph? | 201 | |
| 195 | 108: How do I repeat a command as many times as possible? | 202 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs |
| 196 | 109: How do I search for or delete unprintable (8-bit or control) | 203 | |
| 204 | 106: VM (View Mail) -- another mail reader within Emacs | ||
| 205 | 107: Supercite -- mail and news citation package within Emacs | ||
| 206 | 108: GNUS -- news reader within Emacs | ||
| 207 | 109: Calc -- poor man's Mathematica within Emacs | ||
| 208 | 110: Calendar/Diary -- calendar manager within Emacs | ||
| 209 | 111: Ange-FTP -- transparent FTP access for Emacs's file access routines | ||
| 210 | 112: VIP -- vi emulation for Emacs | ||
| 211 | 113: Dired -- better directory editor for Emacs | ||
| 212 | 114: AUC TeX -- enhanced LaTeX mode with debugging facilities | ||
| 213 | 115: Hyperbole -- extensible hypertext management system within Emacs | ||
| 214 | 116: Byte Compiler -- enhanced version of Emacs's byte compiler | ||
| 215 | 117: comint -- hugely enhanced shell mode and other derived modes | ||
| 216 | 118: BBDB -- personal info rolodex integrated with mail/news readers | ||
| 217 | 119: Ispell -- spell checker in C with interface for Emacs | ||
| 218 | 120: Epoch -- enhanced GNU Emacs with better X interface | ||
| 219 | 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface | ||
| 220 | 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines | ||
| 221 | 123: Freemacs -- a small Emacs for MS-DOS | ||
| 222 | 124: Patch -- program to apply "diffs" for updating files | ||
| 223 | |||
| 224 | Changing Key Bindings and Handling Key Binding Problems | ||
| 225 | |||
| 226 | 125: How do I bind keys (including function keys) to commands? | ||
| 227 | 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | ||
| 228 | 127: Why doesn't this [terminal or window-system setup] code work in my | ||
| 229 | .emacs file, but it works just fine after Emacs starts up? | ||
| 230 | 128: How do I use function keys under X Windows? | ||
| 231 | 129: How do I tell what characters my function or arrow keys emit? | ||
| 232 | 130: How do I set the X key "translations" for Emacs? | ||
| 233 | 131: How do I handle C-s and C-q being used for flow control? | ||
| 234 | 132: How do I use commands bound to C-s and C-q (or any key) if these keys | ||
| 235 | are filtered out? | ||
| 236 | 133: Why does the `BackSpace' key invoke help? | ||
| 237 | 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? | ||
| 238 | 135: Why don't the arrow keys work? | ||
| 239 | 136: How do I "swap" two keys? | ||
| 240 | 137: How do I produce C-XXX with my keyboard? | ||
| 241 | 138: What if I don't have a Meta key? | ||
| 242 | 139: What if I don't have an Escape key? | ||
| 243 | 140: How do I type DEL on PC terminal emulators? | ||
| 244 | 141: Can I make my `Compose Character' key behave like a Meta key? | ||
| 245 | 142: How do I bind a combination of modifier key and function key? | ||
| 246 | 143: Why doesn't my Meta key work in an xterm window? | ||
| 247 | 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? | ||
| 248 | 145: Where can I get key bindings to make Emacs emulate WordStar? | ||
| 249 | 146: Where can I get an XEDIT emulator for Emacs? | ||
| 250 | |||
| 251 | Using Emacs with Alternate Character Sets | ||
| 252 | |||
| 253 | 147: How do I make Emacs display 8-bit characters? | ||
| 254 | 148: How do I input 8-bit characters? | ||
| 255 | 149: Where can I get an Emacs that can handle kanji characters? | ||
| 256 | 150: Where can I get an Emacs that can handle Chinese? | ||
| 257 | 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | ||
| 258 | |||
| 259 | Mail and News | ||
| 260 | |||
| 261 | 152: How do I change the included text prefix in mail/news followups? | ||
| 262 | 153: How do I save a copy of outgoing mail? | ||
| 263 | 154: Why doesn't Emacs expand my aliases when sending mail? | ||
| 264 | 155: Why does RMAIL think all my saved messages are one big message? | ||
| 265 | 156: How can I sort the messages in my RMAIL folder? | ||
| 266 | 157: Why does RMAIL need to write to /usr/spool/mail? | ||
| 267 | 158: How do I recover my mail files after RMAIL munges their format? | ||
| 268 | 159: How do I make Emacs automatically start my mail/news reader? | ||
| 269 | 160: How do I read news under Emacs? | ||
| 270 | 161: Why does `rnews' say "No News is good news" when there is news? | ||
| 271 | 162: Why doesn't GNUS work anymore via NNTP? | ||
| 272 | 163: How do I view text with embedded underlining (eg., ClariNews)? | ||
| 273 | 164: When I try to post a long article in GNUS (about 10K or longer), I get | ||
| 274 | the error, "Writing to process: no more processes, nntpd" | ||
| 275 | 165: How do I save all the items of a multi-part posting in GNUS? | ||
| 276 | 166: Why does GNUS put the subjects in replies beyond the 80th column? | ||
| 277 | 167: Why is GNUS so slow to start up? | ||
| 278 | 168: How do I catch up all newsgroups in GNUS? | ||
| 279 | 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line? | ||
| 280 | 170: How do I get rid of flashing messages in GNUS for slow connections? | ||
| 281 | 171: Why is catch up slow in Gnews/GNUS? | ||
| 282 | 172: Why does GNUS hang for a long time when posting? | ||
| 283 | 173: Why don't my news postings in GNUS get past the local machine? | ||
| 284 | 174: Why is the GNUS-generated `Date:' header invalid? | ||
| 285 | 175: Why doesn't GNUS generate the `Lines:' header? | ||
| 286 | 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS? | ||
| 287 | 177: How do I kill all articles in GNUS but those matching a pattern? | ||
| 288 | |||
| 289 | |||
| 290 | ---------------------------------------------------------------------- | ||
| 291 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells | ||
| 292 | Copyright (C) 1992, 1993 Steven Byrnes | ||
| 293 | |||
| 294 | This list of frequently asked questions about GNU Emacs with answers | ||
| 295 | ("FAQ") may be translated into other languages, transformed into other | ||
| 296 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new | ||
| 297 | information. The same conditions apply to any derivative of the FAQ as | ||
| 298 | apply to the FAQ itself. Every copy of the FAQ must include this notice | ||
| 299 | or an approved translation, information on who is currently maintaining | ||
| 300 | the FAQ and how to contact them (including their e-mail address), and | ||
| 301 | information on where the latest version of the FAQ is archived (including | ||
| 302 | FTP information). The FAQ may be copied and redistributed under these | ||
| 303 | conditions, except that the FAQ may not be embedded in a larger literary | ||
| 304 | work unless that work itself allows free copying and redistribution. | ||
| 305 | |||
| 306 | GNU Emacs FAQ: Introduction | ||
| 307 | |||
| 308 | [To find what has changed, see the "Changes" posting.] | ||
| 309 | |||
| 310 | [Joe Wells (me) has quit as FAQ coordinator. Steven Byrnes is taking over this | ||
| 311 | responsibility. Let's give him a big round of applause! More volunteers are | ||
| 312 | still needed to help by taking charge of a section of the FAQ list. Send | ||
| 313 | e-mail if you are interested. - jbw] | ||
| 314 | |||
| 315 | [First, I'd like to thank Joe for all of the work he's done on the FAQ to | ||
| 316 | date. Second: due to a hectic schedule, getting up to speed with | ||
| 317 | maintaining the FAQ, and trying to fix up some loose ends, this release of | ||
| 318 | the FAQ is coming out a bit late. (Ok, a lot late. :) I hope to get | ||
| 319 | another release, fixing up some lose ends, by the end of the month. | ||
| 320 | - sbyrnes] | ||
| 321 | |||
| 322 | This is the introduction to a list of frequently asked questions (FAQ) about | ||
| 323 | GNU Emacs with answers. This article contains a listing of the questions; | ||
| 324 | subsequent articles contain the questions and answers. | ||
| 325 | |||
| 326 | The FAQ list is posted to reduce the noise level in the `gnu.emacs.help' | ||
| 327 | newsgroup (which is also the `help-gnu-emacs' mailing list) which results from | ||
| 328 | the repetition of frequently asked questions, wrong answers to these questions, | ||
| 329 | corrections to the wrong answers, corrections to the corrections, debate, name | ||
| 330 | calling, etc. Also, it serves as a repository of the canonical "best" answers | ||
| 331 | to these questions. However, if you know a better answer or even a slight | ||
| 332 | change that improves an answer, please tell us! | ||
| 333 | |||
| 334 | If you know the answer of a question is in the FAQ list, please reply to the | ||
| 335 | question by e-mail instead of posting. Help reduce noise! | ||
| 336 | |||
| 337 | The FAQ list is crossposted to `comp.emacs' because some sites do not receive | ||
| 338 | the `gnu.*' newsgroups. The FAQ list is also crossposted to `news.answers'. | ||
| 339 | |||
| 340 | Please suggest new questions, answers, wording changes, deletions, etc. The | ||
| 341 | most helpful form for suggestions is a context diff (ie., the output of `diff | ||
| 342 | -c'). Include `FAQ' in the subject of messages sent to us about the FAQ list. | ||
| 343 | |||
| 344 | Please do not send questions to us just because you do not want to disturb a | ||
| 345 | lot of people and you think we would know the answer. We do not have time to | ||
| 346 | answer questions individually. :-( | ||
| 347 | |||
| 348 | Full instructions for getting the latest FAQ are in question 22. Also see the | ||
| 349 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 350 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 351 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 352 | |||
| 353 | These ideas have already been suggested, but we have not had time to | ||
| 354 | implement them: | ||
| 355 | |||
| 356 | * A Texinfo version. | ||
| 357 | * Marking questions in the table of contents that have been changed | ||
| 358 | recently. | ||
| 359 | |||
| 360 | -- | ||
| 361 | Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>) | ||
| 362 | |||
| 363 | E-mail lpf@uunet.uu.net for details about the League for Programming Freedom. | ||
| 364 | |||
| 365 | ---------------------------------------------------------------------- | ||
| 366 | |||
| 367 | GNU Emacs FAQ: Table of Contents | ||
| 368 | |||
| 369 | Notation Used in FAQ | ||
| 370 | |||
| 371 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? | ||
| 372 | 2: What does "M-x command" mean? | ||
| 373 | 3: How do I read topic XXX in the on-line manual? | ||
| 374 | 4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? | ||
| 375 | 5: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? | ||
| 376 | |||
| 377 | General Questions | ||
| 378 | |||
| 379 | 6: What is the LPF and why should I join it? | ||
| 380 | 7: What is the real legal meaning of the GNU copyleft? | ||
| 381 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, | ||
| 382 | comp.emacs, etc.? | ||
| 383 | 9: Where can I get old postings to gnu.emacs.help and other GNU groups? | ||
| 384 | 10: Where should I report bugs and other problems with GNU Emacs? | ||
| 385 | 11: How do I unsubscribe to this mailing list? | ||
| 386 | 12: What is the current address of the FSF? | ||
| 387 | |||
| 388 | On-line Help, Printed Manuals, Other Sources of Help | ||
| 389 | |||
| 390 | 13: I'm just starting GNU Emacs; how do I do basic editing? | ||
| 391 | 14: How do I find out how to do something in GNU Emacs? | ||
| 392 | 15: How do I get a printed copy of the GNU Emacs manual? | ||
| 393 | 16: Where can I get documentation on GNU Emacs Lisp? | ||
| 394 | 17: How do I install a piece of Texinfo documentation? | ||
| 395 | 18: How do I print a Texinfo file? | ||
| 396 | 19: Can I view Info files without using GNU Emacs? | ||
| 397 | 20: What informational files are available for GNU Emacs? | ||
| 398 | 21: Where can I get help in installing GNU Emacs? | ||
| 399 | 22: Where can I get the latest version of this document (the FAQ list)? | ||
| 400 | |||
| 401 | Status of Emacs | ||
| 402 | |||
| 403 | 23: Where does the name "Emacs" come from? | ||
| 404 | 24: What is the latest version of GNU Emacs? | ||
| 405 | 25: When will GNU Emacs 19 be available? | ||
| 406 | 26: What is different about GNU Emacs 19? | ||
| 407 | 27: What variants of GNU Emacs exist? | ||
| 408 | |||
| 409 | Common Things People Want To Do | ||
| 410 | |||
| 411 | 28: How do I set up a .emacs file properly? | ||
| 412 | 29: How do I debug a .emacs file? | ||
| 413 | 30: How do I make Emacs display the current line (or column) number? | ||
| 414 | 31: How do I turn on Abbrevs by default just in mode XXX? | ||
| 415 | 32: How do I turn on Auto-Fill mode by default? | ||
| 416 | 33: How do I make Emacs use a certain major mode for certain files? | ||
| 417 | 34: How do I search for, delete, or replace unprintable (8-bit or control) | ||
| 197 | characters? | 418 | characters? |
| 198 | 110: How do I control Emacs's case-sensitivity when searching/replacing? | 419 | 35: How can I highlight a region of text in Emacs? |
| 199 | 111: How do I tell Emacs to automatically indent a new line to the | 420 | 36: How do I control Emacs's case-sensitivity when searching/replacing? |
| 421 | 37: How do I make Emacs wrap words for me? | ||
| 422 | 38: Where can I get a better spelling checker for Emacs? | ||
| 423 | 39: How can I spell-check TeX or *roff documents? | ||
| 424 | 40: How do I change load-path? | ||
| 425 | 41: How do I use an already running Emacs from another window? | ||
| 426 | 42: How do I make Emacs recognize my compiler's funny error messages? | ||
| 427 | 43: How do I indent switch statements like this? | ||
| 428 | 44: How can I make Emacs automatically scroll horizontally? | ||
| 429 | 45: How do I make Emacs "typeover" or "overwrite" instead of inserting? | ||
| 430 | 46: How do I stop Emacs from beeping on a terminal? | ||
| 431 | 47: How do I turn down the bell volume in Emacs running under X Windows? | ||
| 432 | 48: How do I tell Emacs to automatically indent a new line to the | ||
| 200 | indentation of the previous line? | 433 | indentation of the previous line? |
| 201 | 112: How do I make Emacs "typeover" or "overwrite" instead of inserting? | 434 | 49: How do I show which parenthesis matches the one I'm looking at? |
| 202 | 113: How do I show which parenthesis matches the one I'm looking at? | 435 | 50: In C mode, can I show just the lines that will be left after #ifdef |
| 203 | 114: How do I make Emacs behave like this: when I go up or down, the cursor | ||
| 204 | should stay in the same column even if the line is too short? | ||
| 205 | 115: How do I read news under Emacs? | ||
| 206 | 116: In C mode, can I show just the lines that will be left after #ifdef | ||
| 207 | commands are handled by the compiler? | 436 | commands are handled by the compiler? |
| 208 | 117: Is there an equivalent to the "." (dot) command of vi? | 437 | 51: Is there an equivalent to the `.' (dot) command of vi? |
| 209 | 118: How do I make Emacs display the current line (or column) number? | 438 | 52: What are the valid X resource settings (ie., stuff in .Xdefaults)? |
| 210 | 119: How do I tell Emacs to iconify itself? | 439 | 53: How do I execute a piece of Emacs Lisp code? |
| 211 | 120: How do I use regexps (regular expressions) in Emacs? | 440 | 54: How do I change Emacs's idea of the tab character's length? |
| 212 | 121: How do I perform a replace operation across more than one file? | 441 | 55: How do I insert `>' at the beginning of every line? |
| 213 | 122: How do I make Emacs wrap words for me? | 442 | 56: How do I insert `_^H' before each character in a paragraph to get an |
| 214 | 123: Where can I get a better spelling checker for Emacs? | 443 | underlined paragraph? |
| 215 | 124: How can I spell-check TeX or *roff documents? | 444 | 57: How do I repeat a command as many times as possible? |
| 216 | 125: How can I make Emacs automatically scroll horizontally? | 445 | 58: How do I make Emacs behave like this: when I go up or down, the cursor |
| 217 | 446 | should stay in the same column even if the line is too short? | |
| 218 | 447 | 59: How do I tell Emacs to iconify itself? | |
| 219 | 448 | 60: How do I use regexps (regular expressions) in Emacs? | |
| 220 | Notation Used in the Answers - | 449 | 61: How do I perform a replace operation across more than one file? |
| 221 | 450 | 62: Where is the documentation for `etags'? | |
| 222 | You may skip this section if you are reasonably familiar with GNU Emacs. | 451 | |
| 223 | Some of these are not actually frequently asked questions, but knowing | 452 | Bugs/Problems |
| 224 | them is important for understanding the answers to the rest of the | 453 | |
| 225 | questions. | 454 | 63: Does Emacs have problems with files larger than 8 megabytes? |
| 226 | 455 | 64: Why can't Emacs find files in current directory on startup? | |
| 227 | 1: What do things like this mean: C-h, M-C-a, RET, etc.? | 456 | 65: How do I get rid of the ^M junk in my Shell buffer? |
| 228 | 457 | 66: Why do I get `Process shell exited abnormally with code 1'? | |
| 229 | C-a means press the "a" key while holding down the "Control" key. The | 458 | 67: Why can't I cut from Emacs and paste in other X programs? |
| 230 | ASCII code this sends will generally be the value that would be sent by | 459 | 68: Where is the termcap/terminfo entry for terminal type `emacs'? |
| 231 | pressing just "a" minus 96 or 64. Either way it will be a number from 0 | 460 | 69: Why does Emacs spontaneously start displaying `I-search:' and beeping? |
| 232 | to 31. | 461 | 70: Why can't Emacs talk to certain hosts (or certain hostnames)? |
| 233 | 462 | 71: Why does Emacs say `Error in init file'? | |
| 234 | M-a means press the "a" key while holding down the "Meta" key. The | 463 | 72: Why does Emacs ignore my X resources (my .Xdefaults file)? |
| 235 | ASCII code this sends is the sum of the ASCII code that would be sent by | 464 | 73: Why does Emacs take 20 seconds to visit a file? |
| 236 | pressing just "a" and 128. | 465 | 74: How do I edit a file with a `$' in its name? |
| 237 | 466 | 75: Why does Shell mode lose track of the shell's current directory? | |
| 238 | M-C-a means press the "a" key while holding down both the "Control" key | 467 | 76: Why doesn't my change to load-path work? |
| 239 | and the "Meta" key. C-M-a is a synonym for M-C-a. | 468 | 77: Why does the cursor always go to the wrong column when I move up or |
| 240 | 469 | down one line? | |
| 241 | * RET means press the "Return" key. RET is the same as C-m. This sends | 470 | 78: Why does Emacs hang with message `Unknown XMenu error' with X11R4? |
| 242 | ASCII code 13. | 471 | 79: Why doesn't display-time show the load average in the mode line |
| 243 | * LFD means press the "Linefeed" key. LFD is also the same as C-j. This | 472 | anymore? |
| 244 | sends ASCII code 10. Under Unix, ASCII code 10 is more often called | 473 | 80: Why does ispell sometimes ignore the local dictionary? |
| 245 | "Newline". | 474 | 81: Why does Ispell treat each line as a single word? |
| 246 | * DEL means press the "Delete" key. DEL is the same as C-?. This sends | 475 | 82: Are there any security risks in GNU Emacs? |
| 247 | ASCII code 127. (WARNING: It is a misnomer to call C-? a "control" key, | 476 | |
| 248 | since 127 has both bits 6 and 7 turned ON, and the rule for control keys | 477 | Difficulties Building/Installing/Porting Emacs |
| 249 | is that they have 6 and 7 turned OFF. Also, on very few keyboards does | 478 | |
| 250 | Control-? generate ASCII code 127. In fact, Control-? (which is | 479 | 83: What should I do if I have trouble building Emacs? |
| 251 | actually Control-Shift-/) is more likely to generate C-_, ASCII code | 480 | 84: How do I stop Emacs from failing when the executable is stripped? |
| 252 | 31!) | 481 | 85: Why does linking Emacs with -lX11 fail? |
| 253 | * ESC means press the "Escape" key. ESC is the same as C-[. This sends | 482 | 86: Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1? |
| 254 | ASCII code 27. | 483 | |
| 255 | * SPC means press the "Space" key. This send ASCII code 32. | 484 | Finding/Getting Emacs and Related Packages |
| 256 | * TAB means press the "Tab" key. TAB is the same as C-i. This send ASCII | 485 | |
| 257 | code 9. | 486 | 87: Where can I get GNU Emacs on the net (or by snail mail)? |
| 258 | 487 | 88: How do I find a GNU Emacs Lisp package that does XXX? | |
| 259 | For C-@ and C-^, usually you don't have to hold down the shift key and you | 488 | 89: Where can I get GNU Emacs Lisp packages that don't come with Emacs? |
| 260 | can type Control-2 or Control-6 instead. For C-_, you may have to hold | 489 | 90: How do I submit code to the Emacs Lisp Archive? |
| 261 | down the shift key, typing Control-Shift-Hyphen. C-@ can often be | 490 | 91: Where can I get other up-to-date GNU stuff? |
| 262 | generated by typing Control-Space. C-@ is often called the NUL character, | 491 | 92: Where can I get an Emacs with better mouse and X window support? |
| 263 | and has ASCII value 0. C-_ can often be generated by typing Control-7 or | 492 | 93: What is the difference between GNU Emacs and Epoch? |
| 264 | Control-/. C-? (aka DEL) may be generated by typing Shift-BackSpace or + | 493 | 94: What is the difference between GNU Emacs and Lucid GNU Emacs? |
| 265 | Control-BackSpace. Try Control with all of the digits on your keyboard to + | 494 | 95: Where can I get the "unofficial HP GNU Emacs"? |
| 266 | see what gets generated. | 495 | 96: Where can I get Emacs for my PC running MS-DOS? |
| 267 | 496 | 97: Where can I get Emacs for my PC running Windows? | |
| 268 | To read more about this online, type "C-h i m emacs RET m characters | 497 | 98: Where can I get Emacs for my PC running OS/2? |
| 269 | RET", and also "C-h i m emacs RET m keys RET". | 498 | 99: Where can I get Emacs for my Atari ST? |
| 270 | 499 | 100: Where can I get Emacs for my Amiga? | |
| 271 | 2: What do you mean when you write things like this: type "ESC a"? | 500 | 101: Where can I get Emacs for my Apple computer? |
| 272 | 501 | 102: Where can I get Emacs with NeWS support? | |
| 273 | I will enclose key sequences that are longer than one key inside double | 502 | 103: Where do I get Emacs that runs on VMS under DECwindows? |
| 274 | quotes. These notations refer to single key strokes (some with | 503 | 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++, |
| 275 | modifiers): | 504 | Objective C, Pascal, Awk? |
| 276 | 505 | 105: What is the IP address of XXX.YYY.ZZZ? | |
| 277 | C-x, M-x, M-C-x | 506 | |
| 278 | RET, LFD, DEL, ESC, SPC, TAB | 507 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs |
| 279 | 508 | ||
| 280 | I separate these from other keys within double quotes by spaces. Any | 509 | 106: VM (View Mail) -- another mail reader within Emacs |
| 281 | real spaces that I write inside double quotes can be ignored, only SPC | 510 | 107: Supercite -- mail and news citation package within Emacs |
| 282 | means press the space key. All other characters within double quotes | 511 | 108: GNUS -- news reader within Emacs |
| 283 | represent single keys (some shifted). | 512 | 109: Calc -- poor man's Mathematica within Emacs |
| 284 | 513 | 110: Calendar/Diary -- calendar manager within Emacs | |
| 285 | 3: What if I don't have a Meta key? | 514 | 111: Ange-FTP -- transparent FTP access for Emacs's file access routines |
| 515 | 112: VIP -- vi emulation for Emacs | ||
| 516 | 113: Dired -- better directory editor for Emacs | ||
| 517 | 114: AUC TeX -- enhanced LaTeX mode with debugging facilities | ||
| 518 | 115: Hyperbole -- extensible hypertext management system within Emacs | ||
| 519 | 116: Byte Compiler -- enhanced version of Emacs's byte compiler | ||
| 520 | 117: comint -- hugely enhanced shell mode and other derived modes | ||
| 521 | 118: BBDB -- personal info rolodex integrated with mail/news readers | ||
| 522 | 119: Ispell -- spell checker in C with interface for Emacs | ||
| 523 | 120: Epoch -- enhanced GNU Emacs with better X interface | ||
| 524 | 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface | ||
| 525 | 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines | ||
| 526 | 123: Freemacs -- a small Emacs for MS-DOS | ||
| 527 | 124: Patch -- program to apply "diffs" for updating files | ||
| 528 | |||
| 529 | Changing Key Bindings and Handling Key Binding Problems | ||
| 530 | |||
| 531 | 125: How do I bind keys (including function keys) to commands? | ||
| 532 | 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | ||
| 533 | 127: Why doesn't this [terminal or window-system setup] code work in my | ||
| 534 | .emacs file, but it works just fine after Emacs starts up? | ||
| 535 | 128: How do I use function keys under X Windows? | ||
| 536 | 129: How do I tell what characters my function or arrow keys emit? | ||
| 537 | 130: How do I set the X key "translations" for Emacs? | ||
| 538 | 131: How do I handle C-s and C-q being used for flow control? | ||
| 539 | 132: How do I use commands bound to C-s and C-q (or any key) if these keys | ||
| 540 | are filtered out? | ||
| 541 | 133: Why does the `BackSpace' key invoke help? | ||
| 542 | 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? | ||
| 543 | 135: Why don't the arrow keys work? | ||
| 544 | 136: How do I "swap" two keys? | ||
| 545 | 137: How do I produce C-XXX with my keyboard? | ||
| 546 | 138: What if I don't have a Meta key? | ||
| 547 | 139: What if I don't have an Escape key? | ||
| 548 | 140: How do I type DEL on PC terminal emulators? | ||
| 549 | 141: Can I make my `Compose Character' key behave like a Meta key? | ||
| 550 | 142: How do I bind a combination of modifier key and function key? | ||
| 551 | 143: Why doesn't my Meta key work in an xterm window? | ||
| 552 | 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? | ||
| 553 | 145: Where can I get key bindings to make Emacs emulate WordStar? | ||
| 554 | 146: Where can I get an XEDIT emulator for Emacs? | ||
| 555 | |||
| 556 | Using Emacs with Alternate Character Sets | ||
| 557 | |||
| 558 | 147: How do I make Emacs display 8-bit characters? | ||
| 559 | 148: How do I input 8-bit characters? | ||
| 560 | 149: Where can I get an Emacs that can handle kanji characters? | ||
| 561 | 150: Where can I get an Emacs that can handle Chinese? | ||
| 562 | 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | ||
| 563 | |||
| 564 | Mail and News | ||
| 565 | |||
| 566 | 152: How do I change the included text prefix in mail/news followups? | ||
| 567 | 153: How do I save a copy of outgoing mail? | ||
| 568 | 154: Why doesn't Emacs expand my aliases when sending mail? | ||
| 569 | 155: Why does RMAIL think all my saved messages are one big message? | ||
| 570 | 156: How can I sort the messages in my RMAIL folder? | ||
| 571 | 157: Why does RMAIL need to write to /usr/spool/mail? | ||
| 572 | 158: How do I recover my mail files after RMAIL munges their format? | ||
| 573 | 159: How do I make Emacs automatically start my mail/news reader? | ||
| 574 | 160: How do I read news under Emacs? | ||
| 575 | 161: Why does `rnews' say "No News is good news" when there is news? | ||
| 576 | 162: Why doesn't GNUS work anymore via NNTP? | ||
| 577 | 163: How do I view text with embedded underlining (eg., ClariNews)? | ||
| 578 | 164: When I try to post a long article in GNUS (about 10K or longer), I get | ||
| 579 | the error, "Writing to process: no more processes, nntpd" | ||
| 580 | 165: How do I save all the items of a multi-part posting in GNUS? | ||
| 581 | 166: Why does GNUS put the subjects in replies beyond the 80th column? | ||
| 582 | 167: Why is GNUS so slow to start up? | ||
| 583 | 168: How do I catch up all newsgroups in GNUS? | ||
| 584 | 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line? | ||
| 585 | 170: How do I get rid of flashing messages in GNUS for slow connections? | ||
| 586 | 171: Why is catch up slow in Gnews/GNUS? | ||
| 587 | 172: Why does GNUS hang for a long time when posting? | ||
| 588 | 173: Why don't my news postings in GNUS get past the local machine? | ||
| 589 | 174: Why is the GNUS-generated `Date:' header invalid? | ||
| 590 | 175: Why doesn't GNUS generate the `Lines:' header? | ||
| 591 | 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS? | ||
| 592 | 177: How do I kill all articles in GNUS but those matching a pattern? | ||
| 593 | |||
| 594 | |||
| 595 | ---------------------------------------------------------------------- | ||
| 596 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells | ||
| 597 | Copyright (C) 1992, 1993 Steven Byrnes | ||
| 598 | |||
| 599 | This list of frequently asked questions about GNU Emacs with answers | ||
| 600 | ("FAQ") may be translated into other languages, transformed into other | ||
| 601 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new | ||
| 602 | information. The same conditions apply to any derivative of the FAQ as | ||
| 603 | apply to the FAQ itself. Every copy of the FAQ must include this notice | ||
| 604 | or an approved translation, information on who is currently maintaining | ||
| 605 | the FAQ and how to contact them (including their e-mail address), and | ||
| 606 | information on where the latest version of the FAQ is archived (including | ||
| 607 | FTP information). The FAQ may be copied and redistributed under these | ||
| 608 | conditions, except that the FAQ may not be embedded in a larger literary | ||
| 609 | work unless that work itself allows free copying and redistribution. | ||
| 610 | |||
| 611 | |||
| 612 | GNU Emacs FAQ: Notation/General/Help/Status | ||
| 613 | |||
| 614 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | ||
| 615 | get an overview of just the questions. Then, when you want to look at the text | ||
| 616 | of the answers, just type "C-x $". | ||
| 617 | |||
| 618 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | ||
| 619 | that doesn't work, then type ESC to end the search. | ||
| 620 | |||
| 621 | A `+' in the 78th column means something was inserted on the line. A `-' means | ||
| 622 | something was deleted and a `!' means some combination of insertions and | ||
| 623 | deletions occurred. | ||
| 624 | |||
| 625 | Full instructions for getting the latest FAQ are in question 22. Also see the | ||
| 626 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 627 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 628 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 629 | |||
| 630 | |||
| 631 | |||
| 632 | Notation Used in FAQ | ||
| 633 | |||
| 634 | Skip this section and then come back if you don't understand some of the | ||
| 635 | later answers. | ||
| 286 | 636 | ||
| 287 | Instead of typing M-a, you can type "ESC a" instead. In fact, Emacs | 637 | 1: What do these mean: C-h, M-C-a, RET, "ESC a", etc.? |
| 288 | converts M-a internally into "ESC a" anyway (depending on the value of | ||
| 289 | meta-prefix-char). | ||
| 290 | 638 | ||
| 291 | 4: What if I don't have an Escape key? | 639 | C-x means press the `x' key while holding down the Control key. M-x means |
| 640 | press the `x' key while holding down the Meta key. M-C-x means press the | ||
| 641 | `x' key while holding down both the Control key and the Meta key. C-M-a | ||
| 642 | is a synonym for M-C-a. RET, LFD, DEL, ESC, and TAB respectively refer to | ||
| 643 | pressing the Return, Linefeed (aka Newline), Delete, Escape, and Tab keys | ||
| 644 | and are equivalent to C-m, C-j, C-?, C-[, and C-i. SPC means press the | ||
| 645 | Space bar. | ||
| 292 | 646 | ||
| 293 | Type C-[ instead. This should send ASCII code 27 just like an Escape | 647 | I put any key sequence that is longer than one key (and some single-key |
| 294 | key would. | 648 | sequences) inside double quotes or on a line by itself. Any real spaces |
| 649 | in such a key sequence should be ignored; only SPC really means press the | ||
| 650 | space key. | ||
| 651 | |||
| 652 | The ASCII code sent by C-x (except for C-?) is the value that would be | ||
| 653 | sent by pressing just `x' minus 96 (or 64 for uppercase `X') and will be | ||
| 654 | from 0 to 31. The ASCII code sent by M-x is the sum of 128 and the ASCII | ||
| 655 | code that would be sent by pressing just the `x' key. Essentially, the | ||
| 656 | Control key turns off bits 5 and 6 and the Meta key turns on bit 7. | ||
| 295 | 657 | ||
| 296 | 5: What does "M-x command" mean? | 658 | For further information, see `Characters' and `Keys' in the online manual. |
| 659 | |||
| 660 | NOTE: C-? (aka DEL) is ASCII code 127. It is a misnomer to call C-? a | ||
| 661 | "control" key, since 127 has both bits 5 and 6 turned ON. Also, on very | ||
| 662 | few keyboards does Control-? generate ASCII code 127. | ||
| 663 | |||
| 664 | 2: What does "M-x command" mean? | ||
| 297 | 665 | ||
| 298 | "M-x command" means type M-x, then type the name of the command, then | 666 | "M-x command" means type M-x, then type the name of the command, then |
| 299 | type RET. | 667 | type RET. |
| 300 | 668 | ||
| 301 | M-x is simply the default key sequence that invokes the command | 669 | M-x (by default) invokes the command `execute-extended-command'. This |
| 302 | "execute-extended-command". This command allows you to run any Emacs | 670 | command allows you to run any Emacs command if you can remember the |
| 303 | command if you can remember the command's name. If you can't remember | 671 | command's name. If you can't remember the command's name, you can type |
| 304 | the command's name, you can type TAB and SPC for completion, and ? for a | 672 | TAB and SPC for completion, and "?" for a list of possibilities. An Emacs |
| 305 | list of possibilities. An Emacs "command" is any "interactive" Emacs | 673 | "command" is any "interactive" Emacs function. |
| 306 | function. | ||
| 307 | 674 | ||
| 308 | NOTE: Your system administrator may have bound other key sequences to | 675 | NOTE: Your system administrator may have bound other key sequences to |
| 309 | invoke execute-extended-command. A function key labeled "Do" is a good | 676 | invoke execute-extended-command. A function key labeled `Do' is a good |
| 310 | candidate for this. | 677 | candidate for this. |
| 311 | 678 | ||
| 312 | To run non-interactive Emacs functions, use M-ESC instead and type a | 679 | To run non-interactive Emacs functions, see question 53. |
| 313 | Lisp form that invokes the function (see question 102). | 680 | |
| 681 | 3: How do I read topic XXX in the on-line manual? | ||
| 682 | |||
| 683 | When I refer you to topic XXX in the on-line manual, you can read this | ||
| 684 | manual node inside Emacs (assuming nothing is broken) by typing this: | ||
| 685 | |||
| 686 | C-h i m emacs RET m XXX RET | ||
| 687 | |||
| 688 | This invokes the Info facility. If you don't already know how to use | ||
| 689 | Info, type "?" from within Info. | ||
| 690 | |||
| 691 | If I refer you to topic XXX:YYY, you need to type this: | ||
| 314 | 692 | ||
| 315 | 6: What do things like this mean: etc/SERVICE, src/config.h, | 693 | C-h i m emacs RET m XXX RET m YYY RET |
| 316 | lisp/default.el? | ||
| 317 | 694 | ||
| 318 | These are the names of files that are part of the GNU Emacs | 695 | WARNING: Your system administrator may not have installed the Info files, |
| 319 | distribution. The GNU Emacs distribution is divided into several | 696 | or may have installed them properly. In this case you should complain. |
| 320 | subdirectories; the important subdirectories are named "etc", "lisp", | 697 | |
| 321 | and "src". | 698 | 4: What do these mean: etc/SERVICE, src/config.h, lisp/default.el? |
| 699 | |||
| 700 | These are files that come with GNU Emacs. The GNU Emacs distribution is | ||
| 701 | divided into subdirectories; the important ones are `etc', `lisp', and | ||
| 702 | `src'. | ||
| 322 | 703 | ||
| 323 | If you use GNU Emacs, but don't know where it is kept on your system, | 704 | If you use GNU Emacs, but don't know where it is kept on your system, |
| 324 | start Emacs, then type "C-h v exec-directory RET". The directory name | 705 | start Emacs, then type "C-h v exec-directory RET". The directory name |
| 325 | that is displayed by this will be the full pathname of the "etc" | 706 | displayed by this will be the full pathname of the installed `etc' |
| 326 | directory of your installed GNU Emacs distribution. | 707 | directory. |
| 327 | 708 | ||
| 328 | Some of these files are available individually via FTP or e-mail, see | 709 | Some of these files are available individually via FTP or e-mail, see |
| 329 | question 20. | 710 | question 20. All are available in the source distribution. |
| 330 | 711 | ||
| 331 | 7: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? | 712 | 5: What are FSF, LPF, OSF, GNU, RMS, FTP, and GPL? |
| 332 | 713 | ||
| 333 | FSF == Free Software Foundation | 714 | FSF == Free Software Foundation |
| 334 | LPF == League for Programming Freedom | 715 | LPF == League for Programming Freedom |
| @@ -353,109 +734,251 @@ Notation Used in the Answers - | |||
| 353 | 734 | ||
| 354 | 735 | ||
| 355 | 736 | ||
| 356 | Sources of Information and Help | 737 | General Questions |
| 738 | |||
| 739 | 6: What is the LPF and why should I join it? | ||
| 740 | |||
| 741 | The LPF opposes the expanding danger of software patents and look-and-feel | ||
| 742 | copyrights. To get more information, feel free to contact the LPF via | ||
| 743 | e-mail or otherwise. {You may also contact me, jbw@cs.bu.edu; I will be | ||
| 744 | happy to talk with you about the LPF.} Here is the contact information: | ||
| 745 | |||
| 746 | E-mail address: league@prep.ai.mit.edu | ||
| 747 | Phone number: (617) 243-4091 | ||
| 748 | Postal address: | ||
| 749 | League for Programming Freedom | ||
| 750 | 1 Kendall Square, Number 143 | ||
| 751 | Post Office Box 9171 | ||
| 752 | Cambridge, MA 02139, USA | ||
| 753 | |||
| 754 | Papers describing the LPF's views are available on the internet and also | ||
| 755 | from the LPF: | ||
| 756 | |||
| 757 | Anonymous FTP: | ||
| 758 | /prep.ai.mit.edu:/pub/lpf/ | ||
| 759 | /archive.cis.ohio-state.edu:pub/lpf/ | ||
| 760 | Anonymous UUCP: | ||
| 761 | osu-cis!~/lpf/* | ||
| 762 | |||
| 763 | 7: What is the real legal meaning of the GNU copyleft? | ||
| 764 | |||
| 765 | The real legal meaning of the GNU General Public Licence (copyleft) is | ||
| 766 | however it is interpreted by a judge. There has never been a copyright | ||
| 767 | infringment case involving the GPL to set any precedents. Please take any | ||
| 768 | discussion regarding this issue to the newsgroup gnu.misc.discuss, which | ||
| 769 | was created to hold the extensive flame wars on the subject. | ||
| 770 | |||
| 771 | RMS writes: | ||
| 772 | |||
| 773 | The legal meaning of the GNU copyleft is less important than the spirit, | ||
| 774 | which is that Emacs is a free software project and that work pertaining | ||
| 775 | to Emacs should also be free software. "Free" means that all users have | ||
| 776 | the freedom to study, share, change and improve Emacs. To make sure | ||
| 777 | everyone has this freedom, pass along source code when you distribute | ||
| 778 | any version of Emacs or a related program, and give the recipients the | ||
| 779 | same freedom that you enjoyed. | ||
| 780 | |||
| 781 | 8: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, | ||
| 782 | comp.emacs, etc.? | ||
| 783 | |||
| 784 | The file etc/MAILINGLISTS discusses the purpose of each GNU mailing-list. | ||
| 785 | (See question 20 on how to get a copy.) For those which are gatewayed | ||
| 786 | with newsgroups, it lists both the newsgroup name and the mailing list | ||
| 787 | address. | ||
| 788 | |||
| 789 | comp.emacs is for discussion of Emacs programs in general. This | ||
| 790 | includes GNU Emacs along with various other implementations like JOVE, | ||
| 791 | MicroEmacs, Freemacs, MG, Unipress, CCA, Epsilon, etc. | ||
| 792 | |||
| 793 | Many people post GNU Emacs questions to comp.emacs because they don't | ||
| 794 | receive any of the gnu.* newsgroups. Arguments have been made both for | ||
| 795 | and against posting GNU-Emacs-specific material to comp.emacs. You have | ||
| 796 | to decide for yourself. | ||
| 797 | |||
| 798 | Messages advocating "non-free" software are considered unacceptable on any | ||
| 799 | of the gnu.* newsgroups except for gnu.misc.discuss, which was created to | ||
| 800 | hold the extensive flame-wars on the subject. "non-free" software | ||
| 801 | includes any software for which the end user can't freely modify the | ||
| 802 | source code and exchange enhancements. Be careful to remove the gnu.* | ||
| 803 | groups from the `Newsgroups:' line when posting a followup that recommends | ||
| 804 | such software. | ||
| 805 | |||
| 806 | gnu.emacs.bug is a place where bug reports appear, but avoid posting bug | ||
| 807 | reports to this newsgroup, instead see question 10. | ||
| 808 | |||
| 809 | 9: Where can I get old postings to gnu.emacs.help and other GNU groups? | ||
| 810 | |||
| 811 | The FSF has maintained archives of all of the GNU mailing lists for many | ||
| 812 | years, although there may be some unintentional gaps in coverage. The | ||
| 813 | archive is not particularly well organized or easy to retrieve individual | ||
| 814 | postings from, but pretty much everything is there. | ||
| 815 | |||
| 816 | Anonymous FTP: | ||
| 817 | /prep.ai.mit.edu:/pub/gnu/MailingListArchives/ ! | ||
| 818 | ! | ||
| 819 | There is a WAIS database named `comp.emacs' on wais.oit.unc.edu that ! | ||
| 820 | makes available the last few days of articles in comp.emacs. ! | ||
| 821 | |||
| 822 | 10: Where should I report bugs and other problems with GNU Emacs? | ||
| 823 | |||
| 824 | The correct way to report GNU Emacs bugs is by e-mail to | ||
| 825 | bug-gnu-emacs@prep.ai.mit.edu. Anything sent here also appears in the | ||
| 826 | newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit | ||
| 827 | the bug report. This way a reliable return address is available so you | ||
| 828 | can be contacted for further details. | ||
| 829 | |||
| 830 | RMS explains: | ||
| 831 | |||
| 832 | Sending bug reports to help-gnu-emacs (which has the effect of posting | ||
| 833 | on gnu.emacs.help) is undesirable because it takes the time of an | ||
| 834 | unnecessarily large group of people, most of whom are just users and | ||
| 835 | have no idea how to fix these problem. bug-gnu-emacs reaches a much | ||
| 836 | smaller group of people who are more likely to know what to do and have | ||
| 837 | expressed a wish to receive more messages about Emacs than the others. | ||
| 838 | |||
| 839 | However, RMS says there are circumstances when it is okay to post to | ||
| 840 | gnu.emacs.help: | ||
| 841 | |||
| 842 | If you have reported a bug and you don't hear about a possible fix, then | ||
| 843 | after a suitable delay (such as a week) it is okay to post on | ||
| 844 | gnu.emacs.help asking if anyone can help you. | ||
| 845 | |||
| 846 | If you are unsure whether you have a bug, RMS describes how to tell: | ||
| 847 | |||
| 848 | ... if Emacs crashes, that is a bug. If Emacs gets compilation errors | ||
| 849 | while building, that is a bug. If Emacs crashes while building, that is | ||
| 850 | a bug. If Lisp code does not do what the documentation says it does, | ||
| 851 | that is a bug. | ||
| 852 | |||
| 853 | 11: How do I unsubscribe to this mailing list? | ||
| 854 | |||
| 855 | If you are receiving a GNU mailing list named `XXX', you might be able | ||
| 856 | to unsubscribe to it by sending a request to the address | ||
| 857 | `XXX-request@prep.ai.mit.edu'. However, this will not work if you are | ||
| 858 | not listed on the main mailing list, but instead recieve the mail from a | ||
| 859 | distribution point. In that case, you will have to track down at which | ||
| 860 | distribution point you are listed. Inspecting the `Received:' headers | ||
| 861 | on the mail messages may help, along with liberal use of the `EXPN' or | ||
| 862 | `VRFY' sendmail commands through `telnet <site-address> smtp'. Ask your | ||
| 863 | postmaster for help. | ||
| 864 | |||
| 865 | 12: What is the current address of the FSF? | ||
| 866 | |||
| 867 | E-mail address: gnu@prep.ai.mit.edu | ||
| 868 | Phone number: (617) 876-3296 | ||
| 869 | Postal address: | ||
| 870 | Free Software Foundation, Inc. | ||
| 871 | 675 Massachusetts Avenue | ||
| 872 | Cambridge, MA 02139, USA | ||
| 873 | |||
| 874 | |||
| 875 | |||
| 876 | On-line Help, Printed Manuals, Other Sources of Help | ||
| 357 | 877 | ||
| 358 | 8: I'm just starting GNU Emacs; how do I do basic editing? | 878 | 13: I'm just starting GNU Emacs; how do I do basic editing? |
| 359 | 879 | ||
| 360 | Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is | 880 | Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is |
| 361 | how to enter the help system. | 881 | how to enter the help system. |
| 362 | 882 | ||
| 363 | WARNING: Your system administrator may have changed C-h to act like DEL. | 883 | WARNING: Your system administrator may have changed C-h to act like DEL to |
| 364 | You can use M-x help-for-help instead to invoke help. To discover what | 884 | deal local keyboards. You can use M-x help-for-help instead to invoke |
| 365 | key (if any) invokes help on your system, type "M-x where-is RET | 885 | help. To discover what key (if any) invokes help on your system, type |
| 366 | help-for-help RET". This will print a comma-separated list of key | 886 | "M-x where-is RET help-for-help RET". This will print a comma-separated |
| 367 | sequences in the echo area. Ignore the last character in each key | 887 | list of key sequences in the echo area. Ignore the last character in each |
| 368 | sequence listed. Each of the resulting key sequences invokes help. | 888 | key sequence listed. Each of the resulting key sequences invokes help. |
| 369 | 889 | ||
| 370 | NOTE: Emacs's help facility works best if help is invoked by a single | 890 | NOTE: Emacs's help facility works best if help is invoked by a single key |
| 371 | key. The variable help-char should hold the value of this character. | 891 | whose value should be stored in the variable help-char. Andrew |
| 372 | Andrew Arensburger <arensb@kong.gsfc.nasa.gov> wrote a patch that allows + | 892 | Arensburger <arensb@kong.gsfc.nasa.gov> wrote a patch that allows the help |
| 373 | the help facility to work properly when invoked by multiple character + | 893 | facility to work properly when invoked by multiple character sequences. |
| 374 | sequences. + | ||
| 375 | 894 | ||
| 376 | 9: How do I find out how to do something in GNU Emacs? | 895 | 14: How do I find out how to do something in GNU Emacs? |
| 377 | 896 | ||
| 378 | There are several methods for finding out how to do things in Emacs. | 897 | There are several methods for finding out how to do things in Emacs. |
| 379 | 898 | ||
| 380 | * You should become familiar with the online documentation for Emacs. The + | 899 | * The complete text of the Emacs manual is available online via the Info |
| 381 | complete text of the Emacs manual is available online in a hypertext | 900 | hypertext reader. Type "C-h i" to invoke Info. |
| 382 | format via the "Info" manual reader. Type "C-h i" to invoke Info. | ||
| 383 | 901 | ||
| 384 | * You can order a hardcopy of the manual from the FSF. See question 12. + | 902 | * You can order a hardcopy of the manual from the FSF. See question 15. |
| 385 | 903 | ||
| 386 | * You can get a printed reference card listing commands and keys to invoke + | 904 | * You can get a printed reference card listing commands and keys to invoke |
| 387 | them. You can order one from the FSF for $1 (or 10 for $5), or you can | 905 | them. You can order one from the FSF for $1 (or 10 for $5), or you can |
| 388 | print your own from the etc/refcard.tex file in the Emacs distribution. | 906 | print your own from the etc/refcard.tex file in the Emacs distribution. |
| 907 | {Are PostScript versions of this available for FTP?} | ||
| 389 | 908 | ||
| 390 | * You can list all of the commands whose names contain a certain word + | 909 | * You can list all of the commands whose names contain a certain word |
| 391 | (actually which match a regular expression) using the "command-apropos" | 910 | (actually which match a regular expression) using "C-h a" |
| 392 | command. Type "C-h a" to invoke this command. | 911 | (M-x command-apropos). |
| 393 | 912 | ||
| 394 | * You can list all of the functions and variables whose names contain a + | 913 | * You can list all of the functions and variables whose names contain a |
| 395 | certain word using the "apropos" command. M-x apropos invokes this | 914 | certain word using M-x apropos. |
| 396 | command. | ||
| 397 | 915 | ||
| 398 | * There are many other commands in Emacs for getting help and information. + | 916 | * There are many other commands in Emacs for getting help and information. |
| 399 | To get a list of these commands, type "C-h C-h C-h". | 917 | To get a list of these commands, type "C-h C-h C-h". |
| 400 | 918 | ||
| 401 | NOTE: You may find that command-apropos and apropos are extremely slow | 919 | NOTE: You may find that command-apropos and apropos are extremely slow |
| 402 | on your system. This will be fixed in Emacs 19. If you can't wait that | 920 | on your system. This will be fixed in Emacs 19. If you can't wait that |
| 403 | long, there is a "fast-apropos.el" file available in the Emacs Lisp | 921 | long, there is a fast-apropos.el file available in the Emacs Lisp |
| 404 | Archive (see question 18) that contains the fix. This file | 922 | Archive (see question 89) that contains the fix. |
| 405 | also contains a "super-apropos" command that will list all the functions | ||
| 406 | and variables whose documentation strings contain a certain word. | ||
| 407 | 923 | ||
| 408 | 10: Where can I get GNU Emacs on the net (or by snail mail)? | 924 | 15: How do I get a printed copy of the GNU Emacs manual? |
| 409 | 925 | ||
| 410 | Look in the files etc/DISTRIB and etc/FTP for information on nearby | 926 | You can order a printed copy of the GNU Emacs manual from the FSF for |
| 411 | archive sites. If you don't already have GNU Emacs, see question 20 ! | 927 | $20. For 6 or more manuals the price is $13 each. The price may be |
| 412 | for how to get these two files. | 928 | tax-deductible as a business expense. |
| 413 | 929 | ||
| 414 | The latest version is always available via anonymous FTP at MIT | 930 | The full TeX source for the manual also comes in the `man' directory of |
| 415 | (prep.ai.mit.edu:pub/gnu/emacs-18.58.tar.Z). ! | 931 | the Emacs distribution, if you're daring enough to try to print out this |
| 932 | 300 page manual yourself (see question 18). | ||
| 416 | 933 | ||
| 417 | 11: Where can I get help in installing GNU Emacs? | 934 | If you absolutely have to print your own copy, and you don't have TeX, you |
| 935 | can get a PostScript version via anonymous FTP: | ||
| 418 | 936 | ||
| 419 | Look in the file etc/SERVICE for names of companies and individuals who | 937 | /cs.ubc.ca:src/gnu/manuals_ps/emacs-18.57.ps.Z |
| 420 | will sell you this type of service. An up-to-date version of the | ||
| 421 | SERVICE file is available on prep.ai.mit.edu. See question 20 | ||
| 422 | for how to retrieve this file. | ||
| 423 | 938 | ||
| 424 | 12: How do I get a printed copy of the GNU Emacs manual? | 939 | which site requests that you please CONFINE ANY MAJOR FTPING TO LATE |
| 940 | EVENINGS OR EARLY MORNINGS OUR TIME (pacific time zone, GMT-8)). A DVI | ||
| 941 | version is also available via FTP: | ||
| 425 | 942 | ||
| 426 | You can order a printed copy of the GNU Emacs manual from the FSF for | 943 | /prep.ai.mit.edu:pub/gnu/emacs-manual-6.0.dvi.Z |
| 427 | $20. For 6 or more manuals the price is $13 each. {The price may be ! | ||
| 428 | tax-deductible as a business expense. Can someone tell me for certain? I ! | ||
| 429 | know that pure donations to the FSF are tax-deductible, but I don't know ! | ||
| 430 | about payments for manuals or tapes.} ! | ||
| 431 | 944 | ||
| 432 | The full TeX source for the manual also comes in the "man" directory of | 945 | If you don't have TeX you can convert the Texinfo sources into |
| 433 | the Emacs distribution, if you're daring enough to try to print out this | 946 | {t,n,ps}roff format with the `texi2roff' program, which is available via |
| 434 | 300 page manual yourself (see question 14). | 947 | anonymous FTP: |
| 435 | 948 | ||
| 436 | If you absolutely have to print your own copy, and you don't have TeX, you | 949 | /archive.cis.ohio-state.edu:pub/gnu/texi2roff/texi2roff.shar.Z |
| 437 | can get a PostScript version via anonymous FTP (cs.ubc.ca: - | ||
| 438 | src/gnu/manuals_ps/emacs-18.57.ps.Z, which site requests that you please | ||
| 439 | CONFINE ANY MAJOR FTPING TO LATE EVENINGS OR EARLY MORNINGS OUR TIME | ||
| 440 | (pacific time zone, GMT-8)). | ||
| 441 | 950 | ||
| 442 | If you don't have TeX you can convert the Texinfo sources into | 951 | See also question 14 for how to view the manual online. |
| 443 | {t,n,ps}roff format with the "texi2roff" program, which is available via | 952 | |
| 444 | anonymous FTP (archive.cis.ohio-state.edu: | 953 | 16: Where can I get documentation on GNU Emacs Lisp? |
| 445 | /pub/gnu/texi2roff/texi2roff.shar.Z) | 954 | |
| 955 | Within Emacs, you can type "C-h f" to get the documentation for a | ||
| 956 | function, "C-h v" for a variable. | ||
| 957 | |||
| 958 | For more information, obtain the GNU Emacs Lisp Reference Manual for Emacs | ||
| 959 | 18 under Unix. It is available from the FSF for $50 (or 5 for $200). The | ||
| 960 | latest revision available for FTP is edition 1.03 dated 28 January 1991. | ||
| 961 | |||
| 962 | For online use, a set of pregenerated Info files is available with the | ||
| 963 | Texinfo source for the Emacs Lisp manual via anonymous FTP: | ||
| 964 | |||
| 965 | /archive.cis.ohio-state.edu:pub/gnu/emacs/ | ||
| 966 | /prep.ai.mit.edu:pub/gnu/elisp-manual-1.03.tar.Z | ||
| 967 | |||
| 968 | (You can also create the Info files from the Texinfo source.) See | ||
| 969 | question 17 for details on how to install these files online. | ||
| 446 | 970 | ||
| 447 | Carl Witty <cwitty@cs.stanford.edu> writes: | 971 | If you are daring enough to try to print this 550 page manual out |
| 972 | yourself, for instructions see question 18. | ||
| 973 | |||
| 974 | Also, as a popular USENET saying goes, "Use the Force, Read the Source". | ||
| 448 | 975 | ||
| 449 | The Emacs manual is also available online in the Info system, which is | 976 | 17: How do I install a piece of Texinfo documentation? |
| 450 | available by typing "C-h i". In this form, it has hypertext links and | ||
| 451 | is very easy to browse or search; many people prefer it to the printed | ||
| 452 | manual. | ||
| 453 | 977 | ||
| 454 | 13: How do I install a piece of Texinfo documentation? | 978 | First create Info files from the Texinfo files with the `makeinfo' |
| 979 | program. makeinfo is available as part of the latest Texinfo package: | ||
| 455 | 980 | ||
| 456 | First create Info files from the Texinfo files with the "makeinfo" | 981 | /prep.ai.mit.edu:pub/gnu/texinfo-2.14.tar.Z |
| 457 | program. makeinfo is available as part of the latest Texinfo package | ||
| 458 | (prep.ai.mit.edu:/pub/gnu/texinfo-2.12.tar.Z). - | ||
| 459 | 982 | ||
| 460 | For information about the Texinfo format, read the Texinfo manual which | 983 | For information about the Texinfo format, read the Texinfo manual which |
| 461 | comes with Emacs. This manual also comes installed in Info format, so you | 984 | comes with Emacs. This manual also comes installed in Info format, so you |
| @@ -464,8 +987,8 @@ Sources of Information and Help | |||
| 464 | Neither texinfo-format-buffer nor the makeinfo program install the | 987 | Neither texinfo-format-buffer nor the makeinfo program install the |
| 465 | resulting Info files in Emacs's Info tree. To install Info files: | 988 | resulting Info files in Emacs's Info tree. To install Info files: |
| 466 | 989 | ||
| 467 | 1. Move the files to the "info" directory in the installed Emacs | 990 | 1. Move the files to the `info' directory in the installed Emacs |
| 468 | distribution. See question 6 if you don't know where that | 991 | distribution. See question 4 if you don't know where that |
| 469 | is. | 992 | is. |
| 470 | 993 | ||
| 471 | 2. Edit the file info/dir in the installed Emacs distribution, and add a | 994 | 2. Edit the file info/dir in the installed Emacs distribution, and add a |
| @@ -476,43 +999,52 @@ Sources of Information and Help | |||
| 476 | * Topic: (relative-pathname). Short description of topic. | 999 | * Topic: (relative-pathname). Short description of topic. |
| 477 | 1000 | ||
| 478 | If you want to install Info files and you don't have the necessary | 1001 | If you want to install Info files and you don't have the necessary |
| 479 | privileges, you have several options: ! | 1002 | privileges, you have several options: |
| 480 | ! | 1003 | |
| 481 | * Info files don't actually need to be installed before being used. You ! | 1004 | * Info files don't actually need to be installed before being used. You |
| 482 | can feed a file name to the Info-goto-node command (invoked by pressing | 1005 | can feed a file name to the Info-goto-node command (invoked by pressing |
| 483 | "g" in Info mode) by typing the name of the file in parentheses. This | 1006 | "g" in Info mode) by typing the name of the file in parentheses. This |
| 484 | goes to the node named "Top" in that file. For example, to view a Info | 1007 | goes to the node named `Top' in that file. For example, to view a Info |
| 485 | file named "XXX" in your home directory, you can type this: | 1008 | file named `XXX' in your home directory, you can type this: |
| 486 | 1009 | ||
| 487 | C-h i g (~/XXX) RET | 1010 | C-h i g (~/XXX) RET |
| 488 | 1011 | ||
| 489 | * You can create your own Info directory. You can tell Emacs where the ! | 1012 | * You can create your own Info directory. You can tell Emacs where the |
| 490 | Info directory is by setting the value of the variable Info-directory | 1013 | Info directory is by setting the value of the variable Info-directory |
| 491 | to its pathname. For example, to use a private Info directory which | 1014 | to its pathname. For example, to use a private Info directory which |
| 492 | is a subdirectory of your home directory named "Info", you could do | 1015 | is a subdirectory of your home directory named `Info', you could do |
| 493 | this: | 1016 | this: |
| 494 | 1017 | ||
| 495 | (setq Info-directory (expand-file-name "~/Info")) | 1018 | (setq Info-directory (expand-file-name "~/Info")) |
| 496 | 1019 | ||
| 497 | You will need a top-level Info file named "dir" in this directory. | 1020 | You will need a top-level Info file named `dir' in this directory. |
| 498 | You can include the system-wide Info directory in your private Info | 1021 | You can include the system-wide Info directory in your private Info |
| 499 | directory with symbolic links or by copying it. | 1022 | directory with symbolic links or by copying it. |
| 500 | 1023 | ||
| 501 | * You can use an enhanced version of lisp/info.el that handles multiple + | 1024 | * You can use an enhanced version of lisp/info.el that handles multiple |
| 502 | Info directories. Then you can more easily use a mix of private and + | 1025 | Info directories. Then you can more easily use a mix of private and |
| 503 | shared Info files. Dave Gillespie <daveg@csvax.cs.caltech.edu> has + | 1026 | shared Info files. Dave Gillespie <daveg@synaptics.com, |
| 504 | written one such enhancement and I am told there are others. + | 1027 | daveg@csvax.cs.caltech.edu> has written one such enhancement and I |
| 1028 | believe there are others. Dave's info.el also handles compressed Info | ||
| 1029 | files. | ||
| 1030 | |||
| 1031 | Anonymous FTP: | ||
| 1032 | /archive.cis.ohio-state.edu:modes/info.el.Z | ||
| 1033 | /cs.umn.edu:pub/gnu/emacs/info.el.Z | ||
| 1034 | |||
| 1035 | According to Jay Bourland <jayb@math.stanford.edu>, a version of Dave's | ||
| 1036 | info.el comes with `xinfo' (see question 19). | ||
| 505 | 1037 | ||
| 506 | 14: How do I print a Texinfo file? | 1038 | 18: How do I print a Texinfo file? |
| 507 | 1039 | ||
| 508 | NOTE: You can't get nice printed output from Info files; you must still + | 1040 | NOTE: You can't get nice printed output from Info files; you must still |
| 509 | have the original Texinfo source file for the manual you want to print. + | 1041 | have the original Texinfo source file for the manual you want to print. |
| 510 | 1042 | ||
| 511 | 1. Make sure the first line of the Texinfo file looks like this: | 1043 | 1. Make sure the first line of the Texinfo file looks like this: |
| 512 | 1044 | ||
| 513 | \input texinfo | 1045 | \input texinfo |
| 514 | 1046 | ||
| 515 | You may need to alter "texinfo" to the full pathname of the | 1047 | You may need to alter `texinfo' to the full pathname of the |
| 516 | texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy | 1048 | texinfo.tex file, which comes with Emacs as man/texinfo.tex (or copy |
| 517 | or link it into the current directory). | 1049 | or link it into the current directory). |
| 518 | 1050 | ||
| @@ -520,7 +1052,7 @@ Sources of Information and Help | |||
| 520 | 1052 | ||
| 521 | 3. texindex XXX.?? | 1053 | 3. texindex XXX.?? |
| 522 | 1054 | ||
| 523 | The "texindex" program comes with Emacs as man/texindex.c. | 1055 | The `texindex' program comes with Emacs as man/texindex.c. |
| 524 | 1056 | ||
| 525 | 4. tex XXX.texinfo | 1057 | 4. tex XXX.texinfo |
| 526 | 1058 | ||
| @@ -528,128 +1060,31 @@ Sources of Information and Help | |||
| 528 | at your site. | 1060 | at your site. |
| 529 | 1061 | ||
| 530 | To get more general instructions, retrieve the latest Texinfo package | 1062 | To get more general instructions, retrieve the latest Texinfo package |
| 531 | mentioned in question 13. | 1063 | mentioned in question 17. |
| 532 | 1064 | ||
| 533 | 15: Can I view Info files without using GNU Emacs? | 1065 | 19: Can I view Info files without using GNU Emacs? |
| 534 | 1066 | ||
| 535 | Yes, the `info', `xinfo', and `ivinfo' programs do this. info uses | 1067 | Yes, the `info', `xinfo', and `ivinfo' programs do this. info uses |
| 536 | curses, xinfo uses standard X11R4 libraries, and ivinfo uses InterViews. | 1068 | curses, xinfo uses standard X11 libraries, and ivinfo uses InterViews. |
| 537 | You can get info as part of the latest Texinfo package (see question 13). | 1069 | You can get info as part of the latest Texinfo package (see question |
| 538 | xinfo is available separately (prep.ai.mit.edu: | 1070 | 17). xinfo is available separately: |
| 539 | pub/gnu/xinfo-1.01.01.tar.Z). ivinfo is available in a comp.sources.misc | ||
| 540 | archive or from Tom Horsley <tom@ssd.csd.harris.com>. For ivinfo, you | ||
| 541 | need Stanford's InterViews C++ X library, available via anonymous FTP | ||
| 542 | (interviews.stanford.edu). | ||
| 543 | |||
| 544 | 16: Where can I get documentation on GNU Emacs Lisp? | ||
| 545 | |||
| 546 | Within Emacs, you can type "C-h f" to get the documentation for a | ||
| 547 | function, "C-h v" for a variable. | ||
| 548 | |||
| 549 | For more information, obtain the GNU Emacs Lisp Reference Manual for Emacs | ||
| 550 | 18 under Unix. It is available from the FSF for $50 (or 5 for $200). The | ||
| 551 | latest revision available for FTP is edition 1.03 dated 28 January 1991. | ||
| 552 | |||
| 553 | For online use, a set of pregenerated Info files is available with the | ||
| 554 | Texinfo source for the Emacs Lisp manual via anonymous FTP (Emacs Lisp | ||
| 555 | Archive, prep.ai.mit.edu:pub/gnu/elisp-manual-1.03.tar.Z). (You can also ! | ||
| 556 | create the Info files from the Texinfo source.) See question 13 for | ||
| 557 | details on how to install these files online. | ||
| 558 | |||
| 559 | If you are daring enough to try to print this 550 page manual out | ||
| 560 | yourself, for instructions see question 14. | ||
| 561 | |||
| 562 | Also, as a popular USENET saying goes, "Use the Force, Read the Source". | ||
| 563 | |||
| 564 | 17: Has someone written an GNU Emacs Lisp package that does XXX? | ||
| 565 | 1071 | ||
| 566 | Probably. A listing of Emacs Lisp packages, called the Lisp Code | 1072 | /prep.ai.mit.edu:pub/gnu/xinfo-1.01.01.tar.Z |
| 567 | Directory, is being maintained by Dave Brennan <brennan@hal.com> and ! | 1073 | /export.lcs.mit.edu: |
| 568 | Dave Sill <de5@ornl.gov>. You can search through this list to find if | ||
| 569 | someone has written something that fits your needs. | ||
| 570 | |||
| 571 | This list is file "LCD-datafile.Z" in the Emacs Lisp Archive. (See | ||
| 572 | question 18 for methods for getting this file.) The files "lispdir.el.Z" | ||
| 573 | and "lispdir.doc.Z" in the archive contain information to help you use the | ||
| 574 | list. Once you have installed lispdir.el and LCD-datafile, then you can | ||
| 575 | use the "M-x lisp-dir-apropos" command to look things up in the database. | ||
| 576 | For example, the command "M-x lisp-dir-apropos RET ange-ftp RET" produces | ||
| 577 | this (outdated) output: | ||
| 578 | |||
| 579 | GNU Emacs Lisp Code Apropos -- "ange-ftp" | ||
| 580 | 1074 | ||
| 581 | ange-ftp (3.112) 91-08-12 | 1075 | ivinfo is available in a comp.sources.misc archive or from Tom Horsley |
| 582 | Andy Norman, <ange@hplb.hpl.hp.com> | 1076 | <tom@ssd.csd.harris.com>. For ivinfo, you need Stanford's InterViews C++ |
| 583 | archive.cis.ohio-state.edu: | 1077 | X library, available via anonymous FTP (interviews.stanford.edu). |
| 584 | /pub/gnu/emacs/elisp-archive/as-is/ange-ftp.el.Z | ||
| 585 | transparent FTP Support for GNU Emacs | ||
| 586 | |||
| 587 | 18: Where can I get GNU Emacs Lisp packages that don't come with Emacs? | ||
| 588 | |||
| 589 | First, check the Lisp Code Directory to find the name of the package you | ||
| 590 | are looking for. (See question 17). Then check local archives and | ||
| 591 | the Emacs Lisp Archive to find a copy of the relevant files. Then, if | ||
| 592 | you still haven't found it, you can send e-mail to the author asking for | ||
| 593 | a copy. | ||
| 594 | |||
| 595 | NOTE: The archive maintainers do not have time to answer individual | ||
| 596 | requests for packages or the list of packages in the archive. If you | ||
| 597 | cannot use FTP or UUCP to access the archive yourself, try to find a | ||
| 598 | friend who can, but please don't ask the maintainers. | ||
| 599 | |||
| 600 | You can access the Emacs Lisp Archive via anonymous FTP | ||
| 601 | (archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/). Fetch the | ||
| 602 | file "README" first. | ||
| 603 | |||
| 604 | NOTE: Any files with names ending in ".Z" are compressed, and you should | ||
| 605 | use "binary" mode in FTP to retrieve them. You should also use binary | ||
| 606 | mode whenever you retrieve any files with names ending in ".elc". | ||
| 607 | |||
| 608 | 19: How do I submit code to the Emacs Lisp Archive? | ||
| 609 | |||
| 610 | Submissions should be mailed to elisp-archive@cis.ohio-state.edu. Mail | ||
| 611 | messages (submissions) are automatically saved and periodically archived. | ||
| 612 | Urgent mail may be sent directly to Dave Sill <de5@ornl.gov> or Dave | ||
| 613 | Brennan <brennan@hal.com> or should contain the string "urgent" in the ! | ||
| 614 | subject. The incomoing ftp directory is no longer available at the | ||
| 615 | request of Ohio State. | ||
| 616 | |||
| 617 | However, if someone has a submission with multiple files (which would be | ||
| 618 | archived as a tar file) or binary files, then FTP transfer is preferred | ||
| 619 | and can be arranged via an anonymous FTP site. This is faster than | ||
| 620 | uudecoding, unsharing, etc., and re-packaging files. | ||
| 621 | |||
| 622 | Before submitting anything, please read the file "guidelines.Z", which is | ||
| 623 | available in the archive. Whenever possible submissions should contain | ||
| 624 | a complete LCD entry since this helps reduce administrative overhead for | ||
| 625 | the maintainers. You can include an entry in this format: | ||
| 626 | |||
| 627 | ;; LCD Archive Entry: | ||
| 628 | ;; package name|author's name|email address | ||
| 629 | ;; |description | ||
| 630 | ;; |date|version|archive path | ||
| 631 | |||
| 632 | For example: | ||
| 633 | 1078 | ||
| 634 | ;; LCD Archive Entry: | 1079 | 20: What informational files are available for GNU Emacs? |
| 635 | ;; tex-complete|Sebastian Kremer|sk@thp.Uni-Koeln.DE | ||
| 636 | ;; |Minibuffer name completion for editing [La]TeX. | ||
| 637 | ;; |91-03-26|$Revision: 1.12 $|~/packages/tex-complete.el.Z | ||
| 638 | |||
| 639 | Dave Brennan has software which automatically looks for data in this | ||
| 640 | format. The format is fairly flexible. The entry ends when a line is | ||
| 641 | reached with a different prefix or the seventh field terminator is | ||
| 642 | seen. | ||
| 643 | |||
| 644 | 20: What informational files are available for GNU Emacs? | ||
| 645 | 1080 | ||
| 646 | This isn't a frequently asked question, but it should be! A variety of | 1081 | This isn't a frequently asked question, but it should be! A variety of |
| 647 | informational files about GNU Emacs and relevant aspects of the GNU | 1082 | informational files about GNU Emacs and relevant aspects of the GNU |
| 648 | project are available for you to read. | 1083 | project are available for you to read. |
| 649 | 1084 | ||
| 650 | The following files are available in the "etc" directory of the GNU | 1085 | The following files are available in the `etc' directory of the GNU |
| 651 | Emacs distribution, and also the latest versions are available | 1086 | Emacs distribution, and also the latest versions are available |
| 652 | individually via anonymous FTP (prep.ai.mit.edu:/pub/gnu/etc/): | 1087 | individually via anonymous FTP (prep.ai.mit.edu:/pub/gnu/GNUinfo/): |
| 653 | 1088 | ||
| 654 | APPLE -- Why the FSF doen't support GNU Emacs on Apple computers | 1089 | APPLE -- Why the FSF doen't support GNU Emacs on Apple computers |
| 655 | DISTRIB -- GNU Emacs Availability Information, | 1090 | DISTRIB -- GNU Emacs Availability Information, |
| @@ -662,9 +1097,9 @@ Sources of Information and Help | |||
| 662 | MACHINES -- Status of GNU Emacs on Various Machines and Systems | 1097 | MACHINES -- Status of GNU Emacs on Various Machines and Systems |
| 663 | MAILINGLISTS -- GNU Project Electronic Mailing Lists | 1098 | MAILINGLISTS -- GNU Project Electronic Mailing Lists |
| 664 | SERVICE -- GNU Service Directory | 1099 | SERVICE -- GNU Service Directory |
| 665 | SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" ! | 1100 | SUN-SUPPORT -- including "Using Emacstool with GNU Emacs" |
| 666 | 1101 | ||
| 667 | These files are available in the "etc" directory of the GNU Emacs | 1102 | These files are available in the `etc' directory of the GNU Emacs |
| 668 | distribution: | 1103 | distribution: |
| 669 | 1104 | ||
| 670 | DIFF -- Differences between GNU Emacs and Twenex Emacs | 1105 | DIFF -- Differences between GNU Emacs and Twenex Emacs |
| @@ -720,672 +1155,1745 @@ Sources of Information and Help | |||
| 720 | * Legal issues about contributing code to GNU | 1155 | * Legal issues about contributing code to GNU |
| 721 | * GNU Project Status Report | 1156 | * GNU Project Status Report |
| 722 | 1157 | ||
| 723 | 21: Where can I get the latest VM, Supercite, GNUS, Calc, Calendar, | 1158 | A collection of past GNU's Bulletins is available via anonymous FTP: |
| 724 | Ange-FTP, VIP, Dired, Ispell, Epoch, Demacs, Freemacs, or Patch? | ||
| 725 | 1159 | ||
| 726 | {If you know of any other packages that are so substantial that they | 1160 | /ftp.funet.fi:pub/gnu/Bulletins/ |
| 727 | deserve to be mentioned here, please tell me. Having its own mailing list | ||
| 728 | or newsgroup or more than half a megabyte of source code are good signs.} | ||
| 729 | 1161 | ||
| 730 | * VM (View Mail) -- another mail reader within Emacs | 1162 | 21: Where can I get help in installing GNU Emacs? |
| 731 | 1163 | ||
| 732 | Author: Kyle Jones <kyle@uunet.uu.net> | 1164 | Look in etc/SERVICE for names of companies and individuals who will sell |
| 733 | Latest released version: 4.41 | 1165 | you this type of service. An up-to-date version of the SERVICE file is |
| 734 | Beta test version: 5.31 | 1166 | available on prep.ai.mit.edu (also see question 20). |
| 735 | Anonymous FTP: | ||
| 736 | Emacs Lisp Archive: packages/vm-4.41.tar.Z, as-is/timer.shar.Z - | ||
| 737 | ftp.uu.net:/pub/vm-{4.41,5.31beta}.tar.Z | ||
| 738 | Newsgroups and mailing lists: | ||
| 739 | Info-VM: | ||
| 740 | gnu.emacs.vm.info | ||
| 741 | info-vm-request@uunet.uu.net (for subscriptions) | ||
| 742 | info-vm@uunet.uu.net (for submissions) + | ||
| 743 | Bug-VM: | ||
| 744 | gnu.emacs.vm.bug | ||
| 745 | bug-vm-request@uunet.uu.net (for subscriptions) | ||
| 746 | bug-vm@uunet.uu.net (for submissions) + | ||
| 747 | |||
| 748 | * SuperCite -- mail and news citation package within Emacs | ||
| 749 | |||
| 750 | Author: Barry Warsaw <bwarsaw@cen.com> | ||
| 751 | Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions) | ||
| 752 | supercite@anthem.nlm.nih.gov (for submissions) + | ||
| 753 | Latest version: 2.2 | ||
| 754 | Anonymous FTP: | ||
| 755 | Emacs Lisp Archive: packages/sc-2.2.tar.Z | ||
| 756 | Via e-mail: | ||
| 757 | To: library@cme.nist.gov | ||
| 758 | Subject: help | ||
| 759 | 1167 | ||
| 760 | NOTE: Superyank is an old version of SuperCite. | 1168 | 22: Where can I get the latest version of this document (the FAQ list)? |
| 761 | 1169 | ||
| 762 | * GNUS -- news reader within Emacs | 1170 | The GNU Emacs FAQ is available in several ways: |
| 763 | 1171 | ||
| 764 | Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp> | 1172 | * Via USENET. If you can read news, the FAQ should be available in your |
| 765 | Latest official version: 3.13 | 1173 | news spool, in both the gnu.emacs.help and comp.emacs newsgroups. Every |
| 766 | Unofficial test version: 3.14.1 | 1174 | news reader of which I know will allow you to read any news article that |
| 767 | Anonymous FTP: | 1175 | is still in the news spool, even if you have read the article before. |
| 768 | cs.umn.edu:pub/gnu/emacs/gnus-3.14.1.tar.Z. | 1176 | You may need to read the instructions for your news reader to discover |
| 769 | aun.uninett.no:pub/gnus-3.14.1.tar.Z | 1177 | how to do this. In `rn', this command will do this for you at the |
| 770 | wnoc-fuk.wide.ad.jp:pub/GNU/etc/gnus-3.14.1.tar.Z | 1178 | article selection level: |
| 771 | liasun3.epfl.ch:pub/gnu/emacs/gnus-3.14.1.tar.Z | ||
| 772 | aix370.rrz.uni-koeln.de:/pub/gnu/emacs/gnus-3.14.1.tar.Z | ||
| 773 | funet.fi:/networking/news/gnus-3.14.1.tar.Z | ||
| 774 | src.doc.ic.ac.uk:/gnu/EmacsBits/gnus/gnus-3.14.1.tar.Z | ||
| 775 | Emacs Lisp Archive: packages/gnus-3.13.tar.Z | ||
| 776 | Newsgroups and mailing lists: | ||
| 777 | English-only: | ||
| 778 | gnu.emacs.gnus | ||
| 779 | info-gnus-english-request@cis.ohio-state.edu (for subscriptions) | ||
| 780 | info-gnus-english@cis.ohio-state.edu (for submissions) + | ||
| 781 | Japanese (and some English): | ||
| 782 | info-gnus-request@flab.fujitsu.co.jp (for subscriptions) | ||
| 783 | info-gnus@flab.fujitsu.co.jp (for submissions) + | ||
| 784 | |||
| 785 | * Calc -- poor man's Mathematica within Emacs | ||
| 786 | |||
| 787 | Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> | ||
| 788 | Latest released version: 2.02 ! | ||
| 789 | Anonymous FTP: | ||
| 790 | csvax.cs.caltech.edu:pub/calc-2.02.tar.Z ! | ||
| 791 | prep.ai.mit.edu:pub/gnu/calc-2.02.tar.Z ! | ||
| 792 | NOTE: Unlike Wolfram Research, Dave has never threatened to sue anyone | ||
| 793 | for having a program with a similar command language to Calc. :-) | ||
| 794 | 1179 | ||
| 795 | * Calendar/Diary -- calendar manager within Emacs | 1180 | ?GNU Emacs FAQ?rc:m |
| 796 | 1181 | ||
| 797 | Author: Ed Reingold <reingold@cs.uiuc.edu> | 1182 | In GNUS, you should type "C-u G" from the *Subject* buffer or "C-u SPC" |
| 798 | Latest version: 4.01 | 1183 | from the *Newsgroup* buffer to view all articles in a newsgroup. |
| 799 | Anonymous FTP: | ||
| 800 | emr.cs.uiuc.edu:/pub/emacs/calendar | ||
| 801 | Via e-mail: | ||
| 802 | To: reingold@cs.uiuc.edu | ||
| 803 | Subject: send-emacs-cal | ||
| 804 | Put your best internet e-mail address in the body. | ||
| 805 | 1184 | ||
| 806 | * Ange-FTP -- adds transparent FTP access to Emacs's file access routines | 1185 | The FAQ articles' message IDs are: |
| 807 | 1186 | ||
| 808 | Author: Andy Norman <ange@hplb.hpl.hp.com> | 1187 | <GNU-Emacs-FAQ-0.1993.01.05.171933@rice.edu> ! |
| 809 | Latest version: 3.143 | 1188 | <GNU-Emacs-FAQ-1.1993.01.05.171933@rice.edu> ! |
| 810 | Anonymous FTP: | 1189 | <GNU-Emacs-FAQ-2.1993.01.05.171933@rice.edu> ! |
| 811 | ftp.gnu.ai.mit.edu:ange-ftp/ange-ftp.el.Z | 1190 | <GNU-Emacs-FAQ-3.1993.01.05.171933@rice.edu> ! |
| 812 | Emacs Lisp Archive: | 1191 | <GNU-Emacs-FAQ-4.1993.01.05.171933@rice.edu> ! |
| 813 | as-is/ange-ftp.el.Z (current version) | 1192 | <GNU-Emacs-FAQ-5.1993.01.05.171933@rice.edu> ! |
| 814 | packages/ange-ftp.el.Z (old version) | ||
| 815 | Mailing list: ange-ftp-lovers-request@anorman.hpl.hp.com (subscriptions) ! | ||
| 816 | ange-ftp-lovers@anorman.hpl.hp.com (for submissions) + | ||
| 817 | NOTE: now with support for accessing VMS systems | ||
| 818 | |||
| 819 | * VIP -- vi emulation for Emacs - | ||
| 820 | |||
| 821 | Author: Aamod Sane <sane@cs.uiuc.edu> | ||
| 822 | Latest released version: 4.3 + | ||
| 823 | Anonymous FTP: | ||
| 824 | cs.uiuc.edu:pub/vip4.3.tar.Z | ||
| 825 | Emacs Lisp Archive: modes/vip-mode.tar.Z | ||
| 826 | NOTE: This version much more closely emulates vi than the one | ||
| 827 | distributed with Emacs. | ||
| 828 | 1193 | ||
| 829 | Version distributed with Emacs: 3.5 | 1194 | If you are viewing this in the GNUS *Article* buffer, you can move point |
| 830 | Author: Masahiko Sato <ms@sail.stanford.edu, | 1195 | within one of the above message IDs and type "r" to fetch the referenced |
| 831 | masahiko@sato.riec.tohoku.junet> | 1196 | article. Type "o" in the *Article* buffer to restore the previous |
| 1197 | contents. If this text is not in the GNUS *Article* buffer, use M-r | ||
| 1198 | from the *Subject* buffer instead. | ||
| 832 | 1199 | ||
| 833 | * Dired -- directory editor for Emacs | 1200 | If the FAQ articles have expired and been deleted from your news spool, |
| 1201 | it might (or might not) do some good to complain to your news | ||
| 1202 | administrator, because the most recent FAQ should not expire before | ||
| 1203 | March 6, 1993. ! | ||
| 834 | 1204 | ||
| 835 | Author: Sebastian Kremer <sk@thp.uni-koeln.de> | 1205 | * Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP |
| 836 | Latest released version: 5.239 + | ||
| 837 | Anonymous FTP: ftp.cs.buffalo.edu:pub/Emacs/diredall.tar.Z - | ||
| 838 | ftp.uni-koeln.de:pub/gnu/emacs/diredall.tar.Z - | ||
| 839 | NOTE: This is a huge improvement over the Dired distributed with Emacs. | ||
| 840 | This version will be in Emacs 19. | ||
| 841 | 1206 | ||
| 842 | * AUC TeX -- enhanced LaTeX mode + | 1207 | /rtfm.mit.edu:pub/usenet/news.answers/GNU-Emacs-FAQ/ part* |
| 843 | + | ||
| 844 | Author: Kresten Krab Thorup <krab@iesd.auc.dk> + | ||
| 845 | Latest released version: 5.4 + | ||
| 846 | Anonymous FTP: iesd.auc.dk:pub/emacs-lisp/auc-tex-5.4.tar.Z + | ||
| 847 | Mailing list: + | ||
| 848 | auc-tex-request@iesd.auc.dk (for subscriptions) + | ||
| 849 | auc-tex@iesd.auc.dk (for submissions) + | ||
| 850 | auc-tex_mgr@iesd.auc.dk (auc-tex development team) + | ||
| 851 | + | ||
| 852 | * Hyperbole -- extensible hypertext management system within Emacs + | ||
| 853 | + | ||
| 854 | Author: Bob Weiner <rsw@cs.brown.edu> + | ||
| 855 | Anonymous FTP: + | ||
| 856 | wilma.cs.brown.edu:pub/hyperbole/h*.tar.Z + | ||
| 857 | Mailing lists: + | ||
| 858 | hyperbole-announce -- Hyperbole release announcements only. + | ||
| 859 | Subscriptions: + | ||
| 860 | To: hyperbole-request@cs.brown.edu + | ||
| 861 | Subject: Add <mailbox@domain.name> to hyperbole-announce. + | ||
| 862 | hyperbole -- Hyperbole discussion. + | ||
| 863 | Subscriptions: + | ||
| 864 | To: hyperbole-request@cs.brown.edu + | ||
| 865 | Subject: Add <mailbox@domain.name> to hyperbole. + | ||
| 866 | Submissions: + | ||
| 867 | hyperbole@cs.brown.edu + | ||
| 868 | NOTE: Any member of the hyperbole mailing list is automatically a + | ||
| 869 | member of the hyperbole-announce mailing list. + | ||
| 870 | NOTE: No .UUCP or ! addresses are allowed on these mailing lists. + | ||
| 871 | + | ||
| 872 | * Ispell -- spell checker in C with interface for Emacs + | ||
| 873 | 1208 | ||
| 874 | Author: Geoff Kuenning <geoff@itcorp.com> (latest of many) | 1209 | * Via e-mail. You can send the following magical incantation in the body |
| 875 | Latest released version: 2.0.02 | 1210 | of a message to mail-server@rtfm.mit.edu: |
| 876 | Beta test version: 3.0 (9 patches) | ||
| 877 | Anonymous FTP: | ||
| 878 | archive.cis.ohio-state.edu:/pub/gnu/ispell/* (version 2.0.02) | ||
| 879 | ftp.cs.ucla.edu:/pub/ispell/* (version 3.0, patches, dictionaries) | ||
| 880 | NOTE: Do not send mail to Geoff asking him to send you the latest | ||
| 881 | version of Ispell. He does not have free e-mail. | ||
| 882 | 1211 | ||
| 883 | * Epoch -- enhanced GNU Emacs with better X interface | 1212 | send usenet/news.answers/GNU-Emacs-FAQ/part0 |
| 1213 | send usenet/news.answers/GNU-Emacs-FAQ/part1 | ||
| 1214 | send usenet/news.answers/GNU-Emacs-FAQ/part2 | ||
| 1215 | send usenet/news.answers/GNU-Emacs-FAQ/part3 | ||
| 1216 | send usenet/news.answers/GNU-Emacs-FAQ/part4 | ||
| 1217 | send usenet/news.answers/GNU-Emacs-FAQ/part5 | ||
| 884 | 1218 | ||
| 885 | Latest released version: 3.2 | 1219 | * Via WAIS. The GNU Emacs FAQ is available via WAIS indexed on a |
| 886 | Beta test version: 4.0 beta patchlevel 0 ! | 1220 | per-question basis from the `faq' database on bigbird.bu.edu on the |
| 887 | Anonymous FTP: | 1221 | non-standard IP port number of 2210. This is probably the best way to |
| 888 | cs.uiuc.edu:pub/epoch-files/epoch/epoch-4.0b0.tar.Z ! | 1222 | find out if there is something in the FAQ related to your question. I |
| 889 | cs.uiuc.edu:pub/epoch-files/epoch/epoch-3.2{.tar.Z,-patch-{1,2.tar.Z}} | 1223 | use this myself to answer questions I see posted on gnu.emacs.help. |
| 890 | Newsgroup and mailing lists: ! | ||
| 891 | Epoch: ! | ||
| 892 | gnu.emacs.epoch | ||
| 893 | epoch-request@cs.uiuc.edu (for subscriptions) | ||
| 894 | epoch@cs.uiuc.edu (for submissions) + | ||
| 895 | Epoch-Design: + | ||
| 896 | epoch-design-request@cs.uiuc.edu (for subscriptions) + | ||
| 897 | epoch-design@cs.uiuc.edu (for submissions) + | ||
| 898 | |||
| 899 | * Demacs -- GNU Emacs altered to work under MS-DOS on 386 and 486 machines | ||
| 900 | |||
| 901 | Authors: Manabu Higashida <manabu@sigmath.osaka-u.ac.jp> | ||
| 902 | HIRANO Satoshi <hirano@tkl.iis.u-tokyo.ac.jp> | ||
| 903 | Latest released version: 1.2.0 | ||
| 904 | Anonymous FTP: | ||
| 905 | utsun.s.u-tokyo.ac.jp:GNU/demacs/* (nearest to U.S.A.) | ||
| 906 | ftp.sigmath.osaka-u.ac.jp:pub/Msdos/Demacs/* | ||
| 907 | wnoc-fuk.wide.ad.jp:pub/msdos/Demacs/* | ||
| 908 | ftp.3com.com:pub/gnu/msdos/demacs/* + | ||
| 909 | mindseye.berkeley.edu:pub/kanji/demacs/* + | ||
| 910 | ftp.hawaii.edu:pub/editors/demacs.tar.Z + | ||
| 911 | ftp.math.ksu.edu:pub/pc/demacs/* + | ||
| 912 | wsmr-simtel20.army.mil:pd1:<msdos.demacs>* + | ||
| 913 | ftp.uni-koeln.de: (PLEASE USE ONLY OUTSIDE WORKING HOURS!) + | ||
| 914 | msdos/gnuprogs/dem120e.zip (executables, lisp-code, doc) | ||
| 915 | msdos/gnuprogs/dem120s.zip (sources, diffs) | ||
| 916 | ftp.lysator.liu.se:pub/msdos/gnu/emacs/????????????? | ||
| 917 | mizar.docs.uu.se:pub/gnu/demacs/* + | ||
| 918 | iamsun.unibe.ch:PC/demacs/* + | ||
| 919 | flop.informatik.tu-muenchen.de:outgoing/demacs.tar + | ||
| 920 | ftp.funet.fi:pub/gnu/emacs/demacs/* + | ||
| 921 | garbo.uwasa.fi:pc/editor/dem120{e,s}.zip + | ||
| 922 | ftp.win.tue.nl:pub/gnu/demacs/* + | ||
| 923 | ugle.unit.no:pub/gnu/Demacs/* + | ||
| 924 | {Does anyone know which sites have the Kanji version?} + | ||
| 925 | Via e-mail: + | ||
| 926 | From garbo.uwasa.fi: + | ||
| 927 | To: mailserv@garbo.uwasa.fi + | ||
| 928 | Subject: garbo-request + | ||
| 929 | Body: send pc/editor/dem120e.zip + | ||
| 930 | send pc/editor/dem120s.zip + | ||
| 931 | quit + | ||
| 932 | Downloading: | ||
| 933 | EXEC-PC (Milwaukee, WI) 414-789-4210 (2400 bps) | ||
| 934 | in the Mahoney MS-DOS file area in its Editors/wordprocessors | ||
| 935 | library (F), named GNUEMACS.ZIP | ||
| 936 | Channel 1 (Cambridge, MA) 617-345-8873 (9600 bps) | ||
| 937 | in the New Uploads file area, named GNUEMACS.ZIP | ||
| 938 | NOTE: Use the -d option of [pk]unzip for all .zip archives. Some sites | ||
| 939 | have Demacs lharc'ed. {Can anyone tell me FTP sites for programs to | ||
| 940 | extract lharc and zip format files? Or even better, give me a pointer | ||
| 941 | to another FAQ that answers these questions.} | ||
| 942 | Mailing list: + | ||
| 943 | NOTE: There is no mailing list for Demacs. However, there is a list + | ||
| 944 | for DJGPP, which is the environment that Demacs runs in. Many + | ||
| 945 | Demacs problems are actually issues with DJGPP. + | ||
| 946 | DJGPP: + | ||
| 947 | Subscriptions: + | ||
| 948 | To: listserv@sun.soe.clarkson.edu + | ||
| 949 | body: add <your-address> djgpp + | ||
| 950 | or put "help" in the body. + | ||
| 951 | If this fails, mail to djgpp-request@sun.soe.clarkson.edu. + | ||
| 952 | Submissions: + | ||
| 953 | djgpp@sun.soe.clarkson.edu + | ||
| 954 | |||
| 955 | * Freemacs -- a small Emacs for MS-DOS | ||
| 956 | |||
| 957 | Author: Russ Nelson <nelson@sun.soe.clarkson.edu> + | ||
| 958 | Latest released version: 1.6a | ||
| 959 | Anonymous FTP: | ||
| 960 | simtel20.army.mil:PD:<MSDOS.FREEMACS>* | ||
| 961 | grape.ecs.clarkson.edu:pub/msdos/freemacs/* | ||
| 962 | Via e-mail: | ||
| 963 | To: archive-server@sun.soe.clarkson.edu | ||
| 964 | body: help | ||
| 965 | Via snail mail: | ||
| 966 | address: Russell Nelson, 11 Grant St., Potsdam, NY 13676 | ||
| 967 | Send $15 copying fee, and specify preferred floppy disk format: | ||
| 968 | 5.25", 360K, or 3.50", 720K | ||
| 969 | Mailing lists: | ||
| 970 | Subscriptions: | ||
| 971 | To: listserv@sun.soe.clarkson.edu | ||
| 972 | body: add <your-address> <name-of-list> | ||
| 973 | or put "help" in the body. | ||
| 974 | List distribution addresses: | ||
| 975 | freemacs-announce@sun.soe.clarkson.edu | ||
| 976 | freemacs-help@sun.soe.clarkson.edu | ||
| 977 | freemacs-workers@sun.soe.clarkson.edu (send bug reports here) | ||
| 978 | |||
| 979 | * Patch -- program to apply "diffs" for updating files | ||
| 980 | |||
| 981 | Author: Larry Wall <lwall@netlabs.com> | ||
| 982 | Latest version: 2.0 patchlevel 12u5 | ||
| 983 | (This is the version that supports the new "unified" diff format.) | ||
| 984 | Anonymous FTP: | ||
| 985 | prep.ai.mit.edu:pub/gnu/patch-2.0.12u4.tar.Z | ||
| 986 | 1224 | ||
| 987 | 22: What is the real legal meaning of the GNU copyleft? | 1225 | The articles of the GNU Emacs FAQ are also available from the `usenet' |
| 1226 | database on rtfm.mit.edu (on the standard IP port: 210), along with a | ||
| 1227 | lot of other FAQ articles. However, these are all indexed at the whole | ||
| 1228 | article level instead of at the question level. This is a better place | ||
| 1229 | to look if you want to fetch the entire FAQ. | ||
| 988 | 1230 | ||
| 989 | RMS writes: | 1231 | * In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest |
| 1232 | available version of the FAQ at the time of release has been part of the | ||
| 1233 | GNU Emacs distribution as file etc/FAQ. 18.59 is the latest version, ! | ||
| 1234 | and it was released in October 1992. ! | ||
| 990 | 1235 | ||
| 991 | The legal meaning of the GNU copyleft is less important than the spirit, | 1236 | * There is an old version of the FAQ list available for FTP in the GNU |
| 992 | which is that Emacs is a free software project and that work pertaining | 1237 | archives at MIT: |
| 993 | to Emacs should also be free software. "Free" means that all users have | ||
| 994 | the freedom to study, share, change and improve Emacs. To make sure | ||
| 995 | everyone has this freedom, pass along source code when you distribute | ||
| 996 | any version of Emacs or a related program, and give the recipients the | ||
| 997 | same freedom that you enjoyed. | ||
| 998 | 1238 | ||
| 999 | If you still want to find out about the legal meaning of the copyleft, | 1239 | /prep.ai.mit.edu:pub/gnu/GNUinfo/FAQ.emacs |
| 1000 | please ask yourself if this means you are not paying attention to the | ||
| 1001 | spirit. | ||
| 1002 | 1240 | ||
| 1003 | 23: What are appropriate messages for gnu.emacs.help, gnu.emacs.bug, | 1241 | * As the very last resort, you can e-mail a request to |
| 1004 | comp.emacs, etc.? | 1242 | gnu-emacs-faq-maintainers@bigbird.bu.edu. Don't do this unless you have |
| 1243 | made a serious effort to obtain the FAQ list via one of the methods | ||
| 1244 | listed above. | ||
| 1005 | 1245 | ||
| 1006 | The file etc/MAILINGLISTS discusses the purpose of each GNU | 1246 | |
| 1007 | mailing-list. (See question 20 on how to get a copy.) For | 1247 | |
| 1008 | those which are gatewayed with newsgroups, it lists both the newsgroup | 1248 | Status of Emacs |
| 1009 | name and the mailing list address. | 1249 | |
| 1250 | 23: Where does the name "Emacs" come from? | ||
| 1010 | 1251 | ||
| 1011 | comp.emacs is for discussion of Emacs programs in general. This | 1252 | Emacs originally was an acronym for Editor MACroS. RMS says he "picked |
| 1012 | includes GNU Emacs along with various other implementations like JOVE, | 1253 | the name `Emacs' because `E' was not in use as an abbreviation on ITS at |
| 1013 | MicroEmacs, Freemacs, MG, Unipress, CCA, Epsilon, etc. | 1254 | the time.". The first Emacs was a set of macros written in 1976 at MIT by |
| 1255 | RMS for the editor TECO (Text Editor and COrrector (originally Tape Editor | ||
| 1256 | and COrrector)) under ITS on a PDP-10. RMS had already extended TECO with | ||
| 1257 | a "real-time" full screen mode with active keys. Emacs was started by Guy | ||
| 1258 | Steele <gls@think.com> as a project to unify the many divergent TECO | ||
| 1259 | command sets and keybindings at MIT. | ||
| 1014 | 1260 | ||
| 1015 | Many people post GNU Emacs questions to comp.emacs because they don't | 1261 | Many people have told me that TECO code looks a lot like line noise. See |
| 1016 | receive any of the gnu.* newsgroups. Arguments have been made both for | 1262 | alt.lang.teco if you are interested. I think someone has written a TECO |
| 1017 | and against posting GNU-Emacs-specific material to comp.emacs. You have | 1263 | implementation in Emacs Lisp. It would be an interesting project to run |
| 1018 | to decide for yourself. | 1264 | the original TECO Emacs inside of GNU Emacs. |
| 1019 | 1265 | ||
| 1020 | Messages advocating "non-free" software are considered unacceptable on any | 1266 | 24: What is the latest version of GNU Emacs? |
| 1021 | of the gnu.* newsgroups except for gnu.misc.discuss, which was created to | ||
| 1022 | hold the extensive flame-wars on the subject. "non-free" software | ||
| 1023 | includes any software for which the end user can't get source code. Be | ||
| 1024 | careful to remove the gnu.* groups from the "Newsgroups:" line when | ||
| 1025 | posting a followup that recommends such software. | ||
| 1026 | 1267 | ||
| 1027 | The correct place to report GNU Emacs bugs is by e-mail to | 1268 | GNU Emacs 18.59 is the current version. Fixes from 18.57 include better ! |
| 1028 | bug-gnu-emacs@prep.ai.mit.edu. Anything sent here also appears in the | 1269 | mail address parsing, an X visual bell speedup, a call-process |
| 1029 | newsgroup gnu.emacs.bug, but please use e-mail instead of news to submit | 1270 | enhancement, a regexp matching change, the ability to apply a numeric |
| 1030 | the bug report. This way a reliable return address is available so you | 1271 | argument to a self-inserting digit, getting X resource values from the |
| 1031 | can be contacted for further details. | 1272 | RESOURCE_MANAGER property, more reliable shell mode job control, and a |
| 1273 | change to copy-keymap. Also, support has been added for many new system | ||
| 1274 | types. Fixes from 18.55 include the removal of arbitrary limits on the | ||
| 1275 | undo facility. | ||
| 1032 | 1276 | ||
| 1033 | RMS explains: ! | 1277 | According to the January 1992 GNU's Bulletin, "Emacs 18 maintenance |
| 1278 | continues for simple bug fixes.". | ||
| 1034 | 1279 | ||
| 1035 | Sending bug reports to help-gnu-emacs (which has the effect of posting | 1280 | To visit a file with information about what has changed in recent |
| 1036 | on gnu.emacs.help) is undesirable because it takes the time of an | 1281 | versions, type "C-h n". |
| 1037 | unnecessarily large group of people, most of whom are just users and | 1282 | |
| 1038 | have no idea how to fix these problem. bug-gnu-emacs reaches a much | 1283 | 25: When will GNU Emacs 19 be available? |
| 1039 | smaller group of people who are more likely to know what to do and have | 1284 | |
| 1040 | expressed a wish to receive more messages about Emacs than the others. | 1285 | There are strong indications that Emacs 19 will be available in 1992. The |
| 1286 | FSF has recently gone through a spate of copyright disclaimer checking, | ||
| 1287 | which is a good sign. | ||
| 1288 | |||
| 1289 | Lucid has released Lucid GNU Emacs 19.3, which is based on an early ! | ||
| 1290 | unreleased version of GNU Emacs 19. This will be similar to Emacs 19 when | ||
| 1291 | it finally arrives, but they are not the same. See question 121. | ||
| 1292 | |||
| 1293 | Work has begun on features for Emacs 20. | ||
| 1294 | |||
| 1295 | 26: What is different about GNU Emacs 19? | ||
| 1296 | |||
| 1297 | From the January 1992 GNU's Bulletin: | ||
| 1298 | |||
| 1299 | Version 19 will enter beta test late this year. Among its new features | ||
| 1300 | are: before and after change hooks, source-level debugging of Emacs Lisp | ||
| 1301 | programs, X selection processing (including clipboard selections), | ||
| 1302 | scrollbars, support for European character sets, floating point numbers, | ||
| 1303 | per-buffer mouse commands, X resource manager interfacing, | ||
| 1304 | mouse-tracking, Lisp-level binding of function keys, multiple X windows | ||
| 1305 | (`screens' to Emacs), a new input system, and buffer allocation, which | ||
| 1306 | uses a new mechanism capable of returning storage to the system when a | ||
| 1307 | buffer is killed. | ||
| 1308 | |||
| 1309 | The input stream is now a sequence of Lisp objects, instead of a | ||
| 1310 | sequence of characters. This allows a reasonable representation for | ||
| 1311 | mouse clicks, function keys, menu selections, etc. | ||
| 1312 | |||
| 1313 | Thanks go to Alan Carroll and the people who worked on Epoch for | ||
| 1314 | generating initial feedback to a multi-windowed Emacs, and to Eric | ||
| 1315 | Raymond for help in polishing the Emacs 19 Lisp libraries. | ||
| 1316 | |||
| 1317 | The June 1991 GNU's bulletin had this to say about future plans for Emacs: | ||
| 1318 | |||
| 1319 | Features being considered for later releases of Emacs include: | ||
| 1320 | associating property lists with regions of text in a buffer; multiple | ||
| 1321 | fonts, color, and pixmaps defined by those properties; different | ||
| 1322 | visibility conditions for the regions, and for various windows showing | ||
| 1323 | one buffer; hooks to be run if point or mouse moves outside a certain | ||
| 1324 | range; incrementally saving undo history in a file; static menu bars; | ||
| 1325 | and better pop-up menus. | ||
| 1326 | |||
| 1327 | Mention of this feature disappeared in the January 1992 GNU's bulletin: | ||
| 1328 | |||
| 1329 | Emacs 19 supports two styles of multiple windows, one with a separate | ||
| 1330 | screen for the minibuffer, and another with a minibuffer attached to | ||
| 1331 | each screen. | ||
| 1332 | |||
| 1333 | Mention of these two proposed features disappeared in the January 1991 | ||
| 1334 | GNU's bulletin: | ||
| 1335 | |||
| 1336 | * Incremental syntax analysis for various programming languages (Leif). | ||
| 1337 | * A more sophisticated emacsclient/server model, which would provide | ||
| 1338 | network transparent Emacs widget functionality. | ||
| 1339 | |||
| 1340 | 27: What variants of GNU Emacs exist? | ||
| 1341 | |||
| 1342 | * Nemacs (Nihongo Emacs), which can handle Japanese text, is derived from | ||
| 1343 | GNU Emacs 18.55. See question 149. | ||
| 1344 | |||
| 1345 | * Demacs, which can run under MS-DOS on 386 machines, is derived from | ||
| 1346 | Nemacs. See question 122. | ||
| 1347 | |||
| 1348 | * Epoch, which has better X support, is derived from GNU Emacs 18.58. | ||
| 1349 | See question 120 and 92. | ||
| 1350 | |||
| 1351 | * Nepoch (Nihongo Epoch), which can handle Japanese text, is derived from | ||
| 1352 | Epoch. | ||
| 1353 | |||
| 1354 | * Mule (the MULtilingual Enhancement of GNU Emacs) can handle many | ||
| 1355 | character sets simultaneously. It is derived from Emacs 18.58. It is | ||
| 1356 | available for FTP: | ||
| 1357 | |||
| 1358 | /sh.wide.ad.jp:/JAPAN/mule/ | ||
| 1359 | /etlport.etl.go.jp:/pub/mule/ | ||
| 1041 | 1360 | ||
| 1042 | However, RMS says there are circumstances when it is okay to post to + | 1361 | * Lucid GNU Emacs is derived from an early unreleased version of GNU Emacs |
| 1043 | gnu.emacs.help: + | 1362 | 19. See question 121 and 92. |
| 1363 | |||
| 1364 | |||
| 1365 | |||
| 1366 | ---------------------------------------------------------------------- + | ||
| 1367 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells + | ||
| 1368 | Copyright (C) 1992, 1993 Steven Byrnes + | ||
| 1044 | + | 1369 | + |
| 1045 | If you have reported a bug and you don't hear about a possible fix, then + | 1370 | This list of frequently asked questions about GNU Emacs with answers + |
| 1046 | after a suitable delay (such as a week) it is okay to post on + | 1371 | ("FAQ") may be translated into other languages, transformed into other + |
| 1047 | gnu.emacs.help asking if anyone can help you. + | 1372 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new + |
| 1373 | information. The same conditions apply to any derivative of the FAQ as + | ||
| 1374 | apply to the FAQ itself. Every copy of the FAQ must include this notice + | ||
| 1375 | or an approved translation, information on who is currently maintaining + | ||
| 1376 | the FAQ and how to contact them (including their e-mail address), and + | ||
| 1377 | information on where the latest version of the FAQ is archived (including + | ||
| 1378 | FTP information). The FAQ may be copied and redistributed under these + | ||
| 1379 | conditions, except that the FAQ may not be embedded in a larger literary + | ||
| 1380 | work unless that work itself allows free copying and redistribution. + | ||
| 1381 | |||
| 1382 | |||
| 1383 | GNU Emacs FAQ: Common Requests/Problems | ||
| 1384 | |||
| 1385 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | ||
| 1386 | get an overview of just the questions. Then, when you want to look at the text | ||
| 1387 | of the answers, just type "C-x $". | ||
| 1388 | |||
| 1389 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | ||
| 1390 | that doesn't work, then type ESC to end the search. | ||
| 1391 | |||
| 1392 | A `+' in the 78th column means something was inserted on the line. A `-' means | ||
| 1393 | something was deleted and a `!' means some combination of insertions and | ||
| 1394 | deletions occurred. | ||
| 1395 | |||
| 1396 | Full instructions for getting the latest FAQ are in question 22. Also see the | ||
| 1397 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 1398 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 1399 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 1400 | |||
| 1401 | |||
| 1402 | |||
| 1403 | Common Things People Want To Do | ||
| 1404 | |||
| 1405 | 28: How do I set up a .emacs file properly? | ||
| 1048 | 1406 | ||
| 1049 | If you are unsure whether you have a bug, RMS describes how to tell: ! | 1407 | See `Init File' in the on-line manual. |
| 1050 | 1408 | ||
| 1051 | ... if Emacs crashes, that is a bug. If Emacs gets compilation errors | 1409 | WARNING: In general, new Emacs users should not have .emacs files, because |
| 1052 | while building, that is a bug. If Emacs crashes while building, that is | 1410 | it causes confusing non-standard behavior. Then they send questions to |
| 1053 | a bug. If Lisp code does not do what the documentation says it does, | 1411 | help-gnu-emacs asking why Emacs isn't behaving as documented. :-) |
| 1054 | that is a bug. | ||
| 1055 | 1412 | ||
| 1056 | 24: How do I unsubscribe to this mailing list? | 1413 | 29: How do I debug a .emacs file? |
| 1057 | 1414 | ||
| 1058 | If you are receiving a GNU mailing list named "XXX", you might be able | 1415 | First start Emacs with the `-q' command line option. Then, in the |
| 1059 | to unsubscribe to it by sending a request to the address | 1416 | *scratch* buffer, type the following: |
| 1060 | "XXX-request@prep.ai.mit.edu". However, this will not work if you are | ||
| 1061 | not listed on the main mailing list, but instead recieve the mail from a | ||
| 1062 | distribution point. In that case, you will have to track down at which | ||
| 1063 | distribution point you are listed. Inspecting the "Received:" headers | ||
| 1064 | on the mail messages may help, along with liberal use of the "EXPN" or | ||
| 1065 | "VRFY" sendmail commands through "telnet <site-address> smtp". Ask your | ||
| 1066 | postmaster for help. | ||
| 1067 | 1417 | ||
| 1068 | 25: What is the LPF and why should I join it? | 1418 | (setq debug-on-error t) LFD |
| 1419 | (load-file "~/.emacs") LFD | ||
| 1069 | 1420 | ||
| 1070 | The LPF opposes the expanding danger of software patents and | 1421 | (Type LFD by pressing C-j.) |
| 1071 | look-and-feel copyrights. Write to league@prep.ai.mit.edu for more | ||
| 1072 | information. You can get papers describing the LPF's views via | ||
| 1073 | anonymous FTP (prep.ai.mit.edu:/pub/lpf/*) or via anonymous UUCP | ||
| 1074 | (osu-cis!~/lpf/*). | ||
| 1075 | 1422 | ||
| 1076 | 26: What is the current address of the FSF? | 1423 | If you have an error in your .emacs file, this will invoke the debugger |
| 1424 | when the error occurs. If you don't know how to use the debugger do | ||
| 1425 | (setq stack-trace-on-error t) instead. | ||
| 1077 | 1426 | ||
| 1078 | Snail mail address: | 1427 | WARNING: this will not discover errors caused by trying to do something |
| 1079 | Free Software Foundation, Inc. | 1428 | that requires the terminal/window-system initialization code to have |
| 1080 | 675 Massachusetts Avenue | 1429 | been loaded. See question 127. |
| 1081 | Cambridge, MA 02139, USA | ||
| 1082 | 1430 | ||
| 1083 | Phone number: | 1431 | 30: How do I make Emacs display the current line (or column) number? |
| 1084 | (617) 876-3296 | ||
| 1085 | 1432 | ||
| 1086 | E-mail addresses: | 1433 | To find out what line of the buffer you are on right now, do "M-x |
| 1087 | gnu@prep.ai.mit.edu | 1434 | what-line". Use "M-x goto-line" to go to a specific line. To find the |
| 1435 | current column number, type "M-ESC (current-column)". | ||
| 1088 | 1436 | ||
| 1089 | 27: What is the current address of the LPF? | 1437 | Typing "C-x l" will also tell you what line you are on, provided the |
| 1438 | buffer isn't separated into "pages" with C-l characters. In that case, it | ||
| 1439 | will only tell you what line of the current "page" you are on. WARNING: | ||
| 1440 | "C-x l" gives the wrong value when point is at the beginning of a line. | ||
| 1090 | 1441 | ||
| 1091 | Snail mail address: | 1442 | There is no "correct" way to constantly display the current (or total) |
| 1092 | League for Programming Freedom | 1443 | line (or column) number on the mode line in Emacs 18, or to display the |
| 1093 | 1 Kendall Square, Number 143 | 1444 | line numbers next to the lines like vi can. Emacs is not a line-oriented |
| 1094 | Post Office Box 9171 | 1445 | editor, and really has no idea what "lines" of the buffer are displayed in |
| 1095 | Cambridge, MA 02139, USA | 1446 | the window. It would require a lot of work at the C code level to make |
| 1447 | Emacs keep track of this. It would not be that hard to get the column | ||
| 1448 | number, but it would still require changes at the C code level. | ||
| 1096 | 1449 | ||
| 1097 | Phone number: | 1450 | None of the vi emulation modes provide the `set number' capability of vi |
| 1098 | (617) 243-4061 { or 243-4091, I'm not sure ... } | 1451 | (as far as I know). |
| 1099 | {Will someone please tell me which of the above numbers is correct?} | ||
| 1100 | 1452 | ||
| 1101 | E-mail address: | 1453 | Emacs 19 will probably be able to show the line number on the mode-line, |
| 1102 | league@prep.ai.mit.edu | 1454 | but probably very inefficiently. |
| 1103 | 1455 | ||
| 1104 | 28: Where can I get other up-to-date GNU stuff? | 1456 | People have written various kludges to display line numbers. One is |
| 1457 | `display-line-numbers' by Wayne Mesard <wmesard@tofu.oracle.com, | ||
| 1458 | Mesard@bbn.com>. Look in the Lisp Code Directory. (See question | ||
| 1459 | 88.) | ||
| 1105 | 1460 | ||
| 1106 | The most up-to-date official GNU stuff is normally kept on | 1461 | 31: How do I turn on Abbrevs by default just in mode XXX? |
| 1107 | prep.ai.mit.edu and is available for anonymous FTP. See the files | ||
| 1108 | etc/DISTRIB and etc/FTP for more information. (To get copies of these | ||
| 1109 | files, see question 20.) | ||
| 1110 | 1462 | ||
| 1111 | For Europeans, the site nic.funet.fi duplicates the directory /pub/gnu | 1463 | Put this in your .emacs file: |
| 1112 | from prep.ai.mit.edu. | 1464 | |
| 1465 | (condition-case () | ||
| 1466 | (read-abbrev-file nil t) | ||
| 1467 | (file-error nil)) | ||
| 1113 | 1468 | ||
| 1114 | 29: Where can I get the latest version of this document (the FAQ list)? | 1469 | (setq XXX-mode-hook |
| 1470 | (function | ||
| 1471 | (lambda () | ||
| 1472 | (setq abbrev-mode t)))) | ||
| 1115 | 1473 | ||
| 1116 | The GNU Emacs FAQ is available in several ways: | 1474 | 32: How do I turn on Auto-Fill mode by default? |
| 1117 | 1475 | ||
| 1118 | 1. Via USENET. If you can read news, the FAQ should be available in your + | 1476 | To turn on Auto-Fill mode just once for one buffer, use "M-x |
| 1119 | news spool, in both the "gnu.emacs.help" and "comp.emacs" newsgroups. | 1477 | auto-fill-mode". To turn it on for every buffer in, for example, Text |
| 1120 | Every news reader of which I know will allow you to read any news | 1478 | mode, do this: |
| 1121 | article that is still in the news spool, even if you have read the | ||
| 1122 | article before. You may need to read the instructions for your news | ||
| 1123 | reader to discover how to do this. In "rn", this command will do this | ||
| 1124 | for you at the "article selection level": | ||
| 1125 | 1479 | ||
| 1126 | ?GNU Emacs FAQ?rc:m | 1480 | (setq text-mode-hook 'turn-on-auto-fill) |
| 1127 | 1481 | ||
| 1128 | In GNUS, you should type "C-u G" from the *Subject* buffer or "C-u SPC" | 1482 | If you want Auto-Fill mode on in all major modes, do this: |
| 1129 | from the *Newsgroup* buffer to view all articles in a newsgroup. | ||
| 1130 | 1483 | ||
| 1131 | The FAQ articles' message IDs are: | 1484 | (setq-default auto-fill-hook 'do-auto-fill) |
| 1132 | 1485 | ||
| 1133 | <GNU-Emacs-FAQ-0.92Feb23210646@bigbird.bu.edu> ! | 1486 | 33: How do I make Emacs use a certain major mode for certain files? |
| 1134 | <GNU-Emacs-FAQ-1.92Feb23210646@bigbird.bu.edu> ! | ||
| 1135 | <GNU-Emacs-FAQ-2.92Feb23210646@bigbird.bu.edu> ! | ||
| 1136 | <GNU-Emacs-FAQ-3.92Feb23210646@bigbird.bu.edu> + | ||
| 1137 | 1487 | ||
| 1138 | If you are viewing this in the GNUS `*Article*' buffer, you can move | 1488 | If you want to use XXX mode for all files which end with the extension |
| 1139 | point within one of the above message IDs and type "r" to fetch the | 1489 | `.YYY', this will do it for you: |
| 1140 | referenced article into the `*Article*' buffer. Type "o" in the | ||
| 1141 | `*Article*' buffer to restore the previous contents of the `*Article*' | ||
| 1142 | buffer. If you are not viewing this in the GNUS `*Article*' buffer, | ||
| 1143 | use M-x gnus-Article-refer-article instead of "r". GNUS must be | ||
| 1144 | running and you must display the `*Article*' buffer to see the results. | ||
| 1145 | 1490 | ||
| 1146 | If the FAQ articles have expired and been deleted from your news spool, | 1491 | (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist)) |
| 1147 | it might (or might not) do some good to complain to your news | 1492 | |
| 1148 | administrator, because the most recent FAQ should not expire before | 1493 | Otherwise put this somewhere in the first line of any file you want to |
| 1149 | April 15, 1992. ! | 1494 | edit in XXX mode: |
| 1495 | |||
| 1496 | -*-XXX-*- | ||
| 1497 | |||
| 1498 | 34: How do I search for, delete, or replace unprintable (8-bit or control) | ||
| 1499 | characters? | ||
| 1500 | |||
| 1501 | To search for a single character that appears in the buffer as, for | ||
| 1502 | example, `\237', you can type "C-s C-q 2 3 7". (This assumes the value of | ||
| 1503 | search-quote-char is 17 (ie., C-q).) Searching for ALL unprintable | ||
| 1504 | characters is best done with a "regexp" search. The easiest regexp to use | ||
| 1505 | for the unprintable chars is the complement of the regexp for the | ||
| 1506 | printable chars. | ||
| 1507 | |||
| 1508 | Regexp for the printable chars: [\t\n\r\f -~] | ||
| 1509 | |||
| 1510 | Regexp for the unprintable chars: [^\t\n\r\f -~] | ||
| 1511 | |||
| 1512 | To type some of these special characters in an interactive argument to | ||
| 1513 | isearch-forward-regexp or re-search-forward, you need to use C-q. (`\t', | ||
| 1514 | `\n', `\r', and `\f' stand respectively for TAB, LFD, RET, and C-l.) So, | ||
| 1515 | to search for unprintable characters using re-search-forward: | ||
| 1516 | |||
| 1517 | M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET | ||
| 1518 | |||
| 1519 | Using isearch-forward-regexp: | ||
| 1520 | |||
| 1521 | M-C-s [^ TAB RET C-q RET C-q C-l SPC -~] | ||
| 1522 | |||
| 1523 | To delete all unprintable characters, simply use a replace-regexp: | ||
| 1524 | |||
| 1525 | M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET | ||
| 1526 | |||
| 1527 | Replacing is similar to the above. {I need to write the text for this | ||
| 1528 | part of the answer!} | ||
| 1529 | |||
| 1530 | Notes: | ||
| 1531 | |||
| 1532 | * With isearch, you can type RET to get a quoted LFD (not a quoted RET). | ||
| 1533 | |||
| 1534 | * You don't need to quote TAB with either isearch or typing something in | ||
| 1535 | the minibuffer. | ||
| 1536 | |||
| 1537 | Here are the Emacs Lisp forms of the above regexps: | ||
| 1538 | |||
| 1539 | ;; regexp matching all printable characters: | ||
| 1540 | "[\t\n\r\f -~]" | ||
| 1541 | |||
| 1542 | ;; regexp matching all unprintable characters: | ||
| 1543 | "[^\t\n\r\f -~]" | ||
| 1544 | |||
| 1545 | 35: How can I highlight a region of text in Emacs? | ||
| 1546 | |||
| 1547 | There are ways to get highlighting (reverse video, inverse video) in GNU | ||
| 1548 | Emacs 18.59, but either they require patching the C code of Emacs and ! | ||
| 1549 | rebuilding, or they are slow and the highlighting disappears if you scroll | ||
| 1550 | or redraw the screen and it can not follow the point. Howard Gayle's | ||
| 1551 | patches for 8-bit output appear to allow highlighting (see question | ||
| 1552 | ^8-bit-output). Another patch for highlighting is by Kenichi Handa | ||
| 1553 | <handa@etl.go.jp>. There is a patch for use with X by Andy Norman | ||
| 1554 | <ange@hplb.hpl.hp.com> (and modified for 18.57 by Matthieu Herrb | ||
| 1555 | <matthieu@laas.fr>), which is available for FTP: | ||
| 1556 | |||
| 1557 | /laas.laas.fr:pub/emacs/patch-X11-18.55 ! | ||
| 1558 | /laas.laas.fr:pub/emacs/patch-X11-18.57 ! | ||
| 1559 | |||
| 1560 | You can highlight regions in a variety of ways in Epoch and Lucid Emacs. | ||
| 1561 | GNU Emacs 19 may not be able to just temporarily highlight a region. | ||
| 1562 | |||
| 1563 | Similar comments apply to displaying text in different fonts, except that | ||
| 1564 | it is even harder. | ||
| 1565 | |||
| 1566 | 36: How do I control Emacs's case-sensitivity when searching/replacing? | ||
| 1567 | |||
| 1568 | For searching, the value of the variable case-fold-search determines | ||
| 1569 | whether they are case sensitive: | ||
| 1570 | |||
| 1571 | (setq case-fold-search nil) ; make searches case sensitive | ||
| 1572 | (setq case-fold-search t) ; make searches case insensitive | ||
| 1573 | |||
| 1574 | Similarly, for replacing the variable case-replace determines whether | ||
| 1575 | replacements preserve case. | ||
| 1576 | |||
| 1577 | To change the case sensitivity just for one major mode, use the major | ||
| 1578 | mode's hook. For example: | ||
| 1579 | |||
| 1580 | (setq XXX-mode-hook | ||
| 1581 | (function | ||
| 1582 | (lambda () | ||
| 1583 | (setq case-fold-search nil)))) | ||
| 1584 | |||
| 1585 | 37: How do I make Emacs wrap words for me? | ||
| 1586 | |||
| 1587 | M-x auto-fill-mode. The default maximum line width is 74, determined by | ||
| 1588 | the variable fill-column. To find how to turn this on automatically see | ||
| 1589 | question 32. | ||
| 1590 | |||
| 1591 | 38: Where can I get a better spelling checker for Emacs? | ||
| 1592 | |||
| 1593 | Use Ispell. See question 119. | ||
| 1594 | |||
| 1595 | 39: How can I spell-check TeX or *roff documents? | ||
| 1596 | |||
| 1597 | If you want to spell-check TeX or *roff documents with Ispell, you need to | ||
| 1598 | arrange for a filter program that understands how to strip TeX or *roff | ||
| 1599 | formatting commands to be run. In the TeX distribution, there are several | ||
| 1600 | different programs named `detex', all with incompatible options, and a | ||
| 1601 | very old pair of programs named `detex' and `delatex', which should | ||
| 1602 | probably be avoided. The most useful one for Ispell is `detex' by Daniel | ||
| 1603 | Trinkle. A more recent version is available via FTP: | ||
| 1604 | |||
| 1605 | /arthur.cs.purdue.edu:pub/trinkle/detex-2.4.tar ! | ||
| 1606 | |||
| 1607 | Raphael Cerf <cerf@clipper.ens.fr> recently released a program for this | ||
| 1608 | named `xetal': | ||
| 1609 | |||
| 1610 | /spi.ens.fr:pub/unix/tex/ | ||
| 1611 | |||
| 1612 | There is a program that comes with Unix named `deroff' for stripping | ||
| 1613 | formatting commands from *roff files. | ||
| 1614 | |||
| 1615 | Here is an example of code you can put in a .emacs file to use these | ||
| 1616 | programs: | ||
| 1617 | |||
| 1618 | ;; Based on suggestions by David G. Grubbs <dgg@ksr.com> and Paul Palmer | ||
| 1619 | ;; <palmerp@math.orst.edu>. | ||
| 1620 | |||
| 1621 | ;; Assuming the use of detex 2.3 by Daniel Trinkle: | ||
| 1622 | ;; -w means one word per line. | ||
| 1623 | ;; -n means don't expand \input or \include commands. | ||
| 1624 | ;; -l means force LaTeX mode. | ||
| 1625 | |||
| 1626 | (require 'ispell) ; for the make-variable-buffer-local statements | ||
| 1627 | (setq plain-TeX-mode-hook | ||
| 1628 | (function | ||
| 1629 | (lambda () | ||
| 1630 | (setq ispell-filter-hook "detex") | ||
| 1631 | (setq ispell-filter-hook-args '("-nw"))))) | ||
| 1632 | (setq LaTeX-mode-hook | ||
| 1633 | (function | ||
| 1634 | (lambda () | ||
| 1635 | (setq ispell-filter-hook "detex") | ||
| 1636 | (setq ispell-filter-hook-args '("-lnw"))))) | ||
| 1637 | (setq nroff-mode-hook | ||
| 1638 | (function | ||
| 1639 | (lambda () | ||
| 1640 | (setq ispell-filter-hook "deroff") | ||
| 1641 | (setq ispell-filter-hook-args '("-w"))))) | ||
| 1642 | |||
| 1643 | You will have to adjust the arguments for programs other than Trinkle's | ||
| 1644 | detex or for other versions of deroff. Experiment running the command | ||
| 1645 | from the shell to find the correct options. If you don't have a filter | ||
| 1646 | that knows how to output one word per line, you must pipe its output | ||
| 1647 | through another filter to break up the output. | ||
| 1648 | |||
| 1649 | 40: How do I change load-path? | ||
| 1650 | |||
| 1651 | In general, you should only *add* to the load-path. You can add | ||
| 1652 | directory /XXX/YYY to the load path like this: | ||
| 1653 | |||
| 1654 | (setq load-path (append load-path '("/XXX/YYY/"))) | ||
| 1655 | |||
| 1656 | To do this relative to your home directory: | ||
| 1657 | |||
| 1658 | (setq load-path (append load-path (list (expand-file-name "~/YYY/")))) | ||
| 1659 | |||
| 1660 | 41: How do I use an already running Emacs from another window? | ||
| 1661 | |||
| 1662 | The `emacsclient' program is for editing a file using an already running | ||
| 1663 | Emacs rather than starting up a new Emacs. It does this by sending a | ||
| 1664 | request to the already running Emacs, which must be expecting the request. | ||
| 1665 | |||
| 1666 | * Setup | ||
| 1667 | |||
| 1668 | Emacs must have executed the `server-start' function for emacsclient to | ||
| 1669 | work. This can be done either by a command line option: | ||
| 1670 | |||
| 1671 | emacs -f server-start | ||
| 1672 | |||
| 1673 | or by invoking server-start from the .emacs file: | ||
| 1674 | |||
| 1675 | (if (some conditions are met) (server-start)) | ||
| 1676 | |||
| 1677 | When this is done, Emacs starts a subprocess running a program called | ||
| 1678 | `server'. `server' creates a Unix domain socket in the user's home | ||
| 1679 | directory named `.emacs_server'. | ||
| 1680 | |||
| 1681 | To get your news reader, mail reader, etc., to invoke emacsclient, try | ||
| 1682 | setting the environment variable EDITOR (or sometimes VISUAL) to the | ||
| 1683 | value `emacsclient'. You may have to specify the full pathname of the | ||
| 1684 | emacsclient program instead. Examples: | ||
| 1685 | |||
| 1686 | # csh commands: | ||
| 1687 | setenv EDITOR emacsclient | ||
| 1688 | setenv EDITOR /usr/local/emacs/etc/emacsclient # using full pathname | ||
| 1689 | |||
| 1690 | # sh command: | ||
| 1691 | EDITOR=emacsclient export EDITOR | ||
| 1692 | |||
| 1693 | * Normal use | ||
| 1694 | |||
| 1695 | When emacsclient is run, it connects to the `.emacs_server' socket and | ||
| 1696 | passes its command line options to `server'. When `server' receives | ||
| 1697 | these requests, it sends this information on the the Emacs process, | ||
| 1698 | which at the next opportunity will visit the files specified. (Line | ||
| 1699 | numbers can be specified just like with Emacs.) The user will have to | ||
| 1700 | switch to the Emacs window by hand. When the user is done editing a | ||
| 1701 | file, the user can type "C-x #" to indicate this. This will switch to | ||
| 1702 | another buffer created at the request of emacsclient if there are any. | ||
| 1703 | When "C-x #" has been invoked on all of the files that the emacsclient | ||
| 1704 | requested to be edited, Emacs will send notification of this to `server' | ||
| 1705 | which will pass this on to the emacsclient, which will then exit. | ||
| 1706 | |||
| 1707 | NOTE: `emacsclient' and `server' must be running on machines which share | ||
| 1708 | the same filesystem for this to work. The pathnames that emacsclient | ||
| 1709 | specifies should be correct for the filesystem that the Emacs process | ||
| 1710 | sees. The Emacs process should not be suspended at the time emacsclient | ||
| 1711 | is invoked. emacsclient should either be invoked from another X window or | ||
| 1712 | from a shell window inside Emacs itself. | ||
| 1713 | |||
| 1714 | There is an enhanced version of emacsclient/server called `gnuserv' by | ||
| 1715 | Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp | ||
| 1716 | Archive. gnuserv uses Internet domain sockets, so it can work across most | ||
| 1717 | network connections. It also supports the execution of arbitrary Emacs | ||
| 1718 | Lisp forms and also does not require the client program to wait for | ||
| 1719 | completion. It is available via anonymous FTP (Emacs Lisp Archive: | ||
| 1720 | packages/gnuserv.shar). | ||
| 1721 | |||
| 1722 | 42: How do I make Emacs recognize my compiler's funny error messages? | ||
| 1723 | |||
| 1724 | Write a program which runs the compiler as a child and filters its output, | ||
| 1725 | rearranging as necessary. Install with same name as compiler somewhere in | ||
| 1726 | path. | ||
| 1727 | |||
| 1728 | Keith Moore <moore@cs.utk.edu> wrote one such for a C compiler under AIX. | ||
| 1729 | Available via FTP: | ||
| 1730 | |||
| 1731 | /cs.utk.edu:readonly/aixcc.lex | ||
| 1732 | |||
| 1733 | Jim Frost <jimf@saber.com> wrote another for the IBM xlc compiler on the | ||
| 1734 | RS/6000. (I don't know if these are both for the same compiler.) | ||
| 1735 | Johnathan Vail <vail@tegra.COM> wrote something for a High C compiler | ||
| 1736 | (`hc', which is one of the compilers on the RS/6000, although I think | ||
| 1737 | Johnathan wrote his program for hc on a different computer). | ||
| 1738 | |||
| 1739 | 43: How do I indent switch statements like this? | ||
| 1740 | |||
| 1741 | Many people want to indent their switch statements like this: | ||
| 1742 | |||
| 1743 | f() | ||
| 1744 | { | ||
| 1745 | switch(x) { | ||
| 1746 | case A: | ||
| 1747 | x1; | ||
| 1748 | break; | ||
| 1749 | case B: | ||
| 1750 | x2; | ||
| 1751 | break; | ||
| 1752 | default: | ||
| 1753 | x3; | ||
| 1754 | } | ||
| 1755 | } | ||
| 1756 | |||
| 1757 | I don't believe there is any way to do this exactly without modifying the | ||
| 1758 | Lisp code in c-mode.el. You can set c-indent-level to 4 and | ||
| 1759 | c-label-offset to -2, but this has bad effects elsewhere. {Anyone have a | ||
| 1760 | solution?} | ||
| 1761 | |||
| 1762 | 44: How can I make Emacs automatically scroll horizontally? | ||
| 1763 | |||
| 1764 | There is no completely correct way of doing this that does not involve | ||
| 1765 | rewriting all commands or writing your own top-level command loop (not a | ||
| 1766 | completely bad idea). Wayne Mesard <wmesard@pescadero.stanford.edu> has | ||
| 1767 | written a particularly advanced kludge called `hscroll.el' that checks | ||
| 1768 | once a second to make sure point is visible. | ||
| 1769 | |||
| 1770 | 45: How do I make Emacs "typeover" or "overwrite" instead of inserting? | ||
| 1771 | |||
| 1772 | M-x overwrite-mode (a minor mode). | ||
| 1773 | |||
| 1774 | 46: How do I stop Emacs from beeping on a terminal? | ||
| 1775 | |||
| 1776 | Martin R. Frank <martin@cc.gatech.edu> writes: | ||
| 1777 | |||
| 1778 | Tell Emacs to use the 'visible bell' instead of the audible bell, and | ||
| 1779 | set the visible bell to nothing. | ||
| 1780 | |||
| 1781 | Put this in your TERMCAP environment variable: | ||
| 1782 | |||
| 1783 | ... :vb=: ... | ||
| 1784 | |||
| 1785 | And evaluate this: | ||
| 1786 | |||
| 1787 | (setq visible-bell t) | ||
| 1788 | |||
| 1789 | 47: How do I turn down the bell volume in Emacs running under X Windows? | ||
| 1790 | |||
| 1791 | Under versions of Emacs before 18.58, the bell volume was annoying loud | ||
| 1792 | and difficult to turn off. So upgrading to 18.58 or higher will reduce + | ||
| 1793 | the volume. If you want to turn it off completely, use `xset'. There is | ||
| 1794 | no way to turn the bell off just for Emacs without affecting all other | ||
| 1795 | programs. | ||
| 1796 | |||
| 1797 | Under Epoch you can do: | ||
| 1798 | |||
| 1799 | (setq epoch::bell-volume 20) | ||
| 1800 | |||
| 1801 | Stu Grossman <grossman@sunburn.stanford.edu> wrote a patch that allows the | ||
| 1802 | bell volume to be adjusted from inside Emacs just for Emacs. | ||
| 1803 | |||
| 1804 | 48: How do I tell Emacs to automatically indent a new line to the | ||
| 1805 | indentation of the previous line? | ||
| 1806 | |||
| 1807 | One solution is Indented Text Mode (M-x indented-text-mode). | ||
| 1808 | |||
| 1809 | If you have Auto-Fill mode on (a minor mode, see question 32), you can | ||
| 1810 | tell Emacs to prefix every line with a certain character sequence, the | ||
| 1811 | "fill prefix". Type the prefix at the beginning of a line, position point | ||
| 1812 | after it, and then type "C-x ." (set-fill-prefix) to set the fill prefix. | ||
| 1813 | Thereafter, auto-filling will automatically put the fill prefix at the | ||
| 1814 | beginning of new lines, and M-q (fill-paragraph) will maintain any fill | ||
| 1815 | prefix when refilling the paragraph. | ||
| 1816 | |||
| 1817 | NOTE: If you have paragraphs with different levels of indentation, you | ||
| 1818 | will have to set the fill prefix to the correct value each time you move | ||
| 1819 | to a new paragraph. To avoid this hassle, try one of the many packages | ||
| 1820 | available from the Emacs Lisp Archive. Look up `fill' and `indent' in the | ||
| 1821 | Lisp Code Directory for guidance. | ||
| 1822 | |||
| 1823 | 49: How do I show which parenthesis matches the one I'm looking at? | ||
| 1824 | |||
| 1825 | If you're looking at a right parenthesis (or brace or bracket) you can | ||
| 1826 | delete it and reinsert it. Emacs will blink the cursor on the matching | ||
| 1827 | parenthesis. | ||
| 1828 | |||
| 1829 | M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over balanced | ||
| 1830 | parentheses, so you can see which parentheses match. (You can train it to | ||
| 1831 | skip over balanced brackets and braces at the same time by modifying the | ||
| 1832 | syntax table.) | ||
| 1833 | |||
| 1834 | Here is some Emacs Lisp that will make the % key show the matching | ||
| 1835 | parenthesis, like in vi. In addition, if the cursor isn't over a | ||
| 1836 | parenthesis, it simply inserts a % like normal. | ||
| 1837 | |||
| 1838 | ;; By an unknown contributor | ||
| 1839 | |||
| 1840 | (global-set-key "%" 'match-paren) | ||
| 1841 | |||
| 1842 | (defun match-paren (arg) | ||
| 1843 | "Go to the matching parenthesis if on parenthesis otherwise insert %." | ||
| 1844 | (interactive "p") | ||
| 1845 | (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) | ||
| 1846 | ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) | ||
| 1847 | (t (self-insert-command (or arg 1))))) | ||
| 1848 | |||
| 1849 | 50: In C mode, can I show just the lines that will be left after #ifdef | ||
| 1850 | commands are handled by the compiler? | ||
| 1851 | |||
| 1852 | M-x hide-ifdef-mode. (This is a minor mode.) | ||
| 1853 | |||
| 1854 | You may have to (load "hideif") first. If you want to do this regularly, | ||
| 1855 | put this in your .emacs file: | ||
| 1856 | |||
| 1857 | (autoload 'hide-ifdef-mode "hideif" nil t) | ||
| 1858 | |||
| 1859 | {Yes, I know, this should be in lisp/loaddefs.el already.} | ||
| 1860 | |||
| 1861 | 51: Is there an equivalent to the `.' (dot) command of vi? | ||
| 1862 | |||
| 1863 | (`.' is the redo command in vi. It redoes the last insertion/deletion.) | ||
| 1864 | |||
| 1865 | No, not really. | ||
| 1866 | |||
| 1867 | You can type "C-x ESC" (repeat-complex-command) to reinvoke commands that | ||
| 1868 | used the minibuffer to get arguments. In repeat-complex-command you can | ||
| 1869 | type M-p and M-n to scan through all the different complex commands you've | ||
| 1870 | typed. | ||
| 1871 | |||
| 1872 | To repeat something on each line I recommend using keyboard macros. | ||
| 1873 | |||
| 1874 | 52: What are the valid X resource settings (ie., stuff in .Xdefaults)? | ||
| 1875 | |||
| 1876 | See the Emacs man page, or the etc/OPTIONS file. Ignore the information | ||
| 1877 | in etc/XDOC which is way out of date. | ||
| 1878 | |||
| 1879 | 53: How do I execute a piece of Emacs Lisp code? | ||
| 1880 | |||
| 1881 | There are a number of ways to execute (called "evaluate") an Emacs Lisp | ||
| 1882 | "form": | ||
| 1883 | |||
| 1884 | * If you want it evaluated every time you run Emacs, put it in a file | ||
| 1885 | named `.emacs' in your home directory. | ||
| 1886 | |||
| 1887 | * You can type the form in the *scratch* buffer, and then type LFD (or | ||
| 1888 | C-j) after it. The result of evaluating the form will be inserted in | ||
| 1889 | the buffer. | ||
| 1890 | |||
| 1891 | * In Emacs-Lisp mode, typing M-C-x evaluates a top-level form before or | ||
| 1892 | around point. | ||
| 1893 | |||
| 1894 | * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately | ||
| 1895 | before point and prints its value in the echo area. | ||
| 1896 | |||
| 1897 | * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in | ||
| 1898 | the minibuffer which will be evaluated. | ||
| 1899 | |||
| 1900 | * You can use M-x load-file to have Emacs evaluate all the Lisp forms in | ||
| 1901 | a file. (To do this from Lisp use the function `load' instead.) | ||
| 1902 | |||
| 1903 | These functions are also used for evaluating Lisp forms: | ||
| 1904 | |||
| 1905 | load-library, eval-region, eval-current-buffer, require, autoload | ||
| 1906 | |||
| 1907 | 54: How do I change Emacs's idea of the tab character's length? | ||
| 1908 | |||
| 1909 | Example: (setq default-tab-width 10). | ||
| 1910 | |||
| 1911 | 55: How do I insert `>' at the beginning of every line? | ||
| 1912 | |||
| 1913 | Type "M-x replace-regexp RET ^ RET > RET". | ||
| 1914 | |||
| 1915 | To do this only in the region, type "C-x n M-x replace-regexp RET ^ RET | ||
| 1916 | > RET C-x w". | ||
| 1917 | |||
| 1918 | WARNING: The command narrow-to-region (C-x n) is disabled by default | ||
| 1919 | because it can be very confusing (ie., "Oh no! Where did my file go?"). | ||
| 1920 | |||
| 1921 | 56: How do I insert `_^H' before each character in a paragraph to get an | ||
| 1922 | underlined paragraph? | ||
| 1923 | |||
| 1924 | M-x underline-region. | ||
| 1925 | |||
| 1926 | 57: How do I repeat a command as many times as possible? | ||
| 1927 | |||
| 1928 | Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command | ||
| 1929 | and then type "M-0 C-x e". | ||
| 1930 | |||
| 1931 | WARNING: any messages your command prints in the echo area will be | ||
| 1932 | suppressed. | ||
| 1933 | |||
| 1934 | 58: How do I make Emacs behave like this: when I go up or down, the cursor | ||
| 1935 | should stay in the same column even if the line is too short? | ||
| 1936 | |||
| 1937 | M-x picture-mode. (This is a minor mode, in theory anyway ...) | ||
| 1938 | |||
| 1939 | 59: How do I tell Emacs to iconify itself? | ||
| 1940 | |||
| 1941 | You need to modify C source and recompile. Either that or get Epoch or | ||
| 1942 | Lucid Emacs instead. Patches have been written by Robert Forsman | ||
| 1943 | <thoth@reef.cis.ufl.edu> and Johan Vromans <jv@mh.nl> to allow Emacs to | ||
| 1944 | iconify itself and by Matt Wette <mwette@mr-ed.jpl.nasa.gov> and | ||
| 1945 | Manavendra K. Thakur <thakur@zerkalo.harvard.edu> (for 18.57, plus icon | ||
| 1946 | geometry) to allow Emacs to start up iconified. I don't know which of | ||
| 1947 | these patches work together. | ||
| 1948 | |||
| 1949 | Anonymous FTP: | ||
| 1950 | /csi.jpl.nasa.gov:pub/emax.patch1 (Matt Wette) ! | ||
| 1951 | /ftp.eu.net:gnu/emacs/FP-Xfun.Z (Johan Vromans) | ||
| 1952 | /ftp.urc.tue.nl:/pub/tex/emacs/FP-Xfun (Johan Vromans) + | ||
| 1953 | |||
| 1954 | 60: How do I use regexps (regular expressions) in Emacs? | ||
| 1955 | |||
| 1956 | See `Regexps' in the online manual. | ||
| 1957 | |||
| 1958 | WARNING: The "or" operator is `\|', not `|', and the grouping operators | ||
| 1959 | are `\(' and `\)'. Also, the string syntax for a backslash is "\\". | ||
| 1960 | Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is | ||
| 1961 | "xxx\\(foo\\|bar\\)". Notice the duplicated backslashes! | ||
| 1962 | |||
| 1963 | WARNING: Unlike in Unix grep, sed, etc., a complement character set | ||
| 1964 | ([^...]) can match a newline character (LFD aka C-j aka \n), unless | ||
| 1965 | newline is mentioned as one of the characters not to match. | ||
| 1966 | |||
| 1967 | WARNING: The character syntax regexps (eg. `\sw') are not meaningful | ||
| 1968 | inside character set regexps (eg. `[aeiou]'). (This is actually typical | ||
| 1969 | for regexp syntax.) | ||
| 1970 | |||
| 1971 | 61: How do I perform a replace operation across more than one file? | ||
| 1972 | |||
| 1973 | The "tags" feature of Emacs includes the command tags-query-replace which | ||
| 1974 | performs a query-replace across all the files mentioned in the TAGS file. | ||
| 1975 | See `Tags:Tags Search' in the online manual. | ||
| 1976 | |||
| 1977 | In addition, Martin Boyer has written a package named global-replace which | ||
| 1978 | will perform a query-replace across all the files mentioned in the | ||
| 1979 | *compilation* buffer (usually done after a `grep'), which is available via | ||
| 1980 | anonymous FTP: | ||
| 1981 | |||
| 1982 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/compile.el.Z | ||
| 1983 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/global-replace.el.Z | ||
| 1984 | /ireq-robot.hydro.qc.ca:pub/emacs/lisp/query.el.Z | ||
| 1985 | |||
| 1986 | 62: Where is the documentation for `etags'? | ||
| 1987 | |||
| 1988 | `etags' takes options just like a prior version of ctags, so your ctags | ||
| 1989 | manual (if any) may be useful. {Can someone send me the details on this?} | ||
| 1990 | |||
| 1991 | |||
| 1992 | |||
| 1993 | Bugs/Problems | ||
| 1994 | |||
| 1995 | 63: Does Emacs have problems with files larger than 8 megabytes? | ||
| 1996 | |||
| 1997 | Most installed versions of GNU Emacs will use 24-bit signed integers (and | ||
| 1998 | 24-bit pointers) internally. This limits the file size that Emacs can | ||
| 1999 | handle to 8,388,607 bytes (2^23 - 1). | ||
| 2000 | |||
| 2001 | Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two | ||
| 2002 | lines in src/config.h before compiling Emacs to allow for 26-bit integers | ||
| 2003 | and pointers (and thus filesizes of up to 33,554,431 bytes): | ||
| 2004 | |||
| 2005 | #define VALBITS 26 | ||
| 2006 | #define GCTYPEBITS 5 | ||
| 2007 | |||
| 2008 | WARNING: This method may result in `ILLEGAL DATATYPE' and other random | ||
| 2009 | errors on some machines. | ||
| 2010 | |||
| 2011 | David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why | ||
| 2012 | Emacs uses 24 bit integers and pointers: | ||
| 2013 | |||
| 2014 | Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed | ||
| 2015 | language in the sense that you can put any value of any type into any | ||
| 2016 | variable, or return it from a function, and so on. So each value must | ||
| 2017 | carry a "tag" along with it identifying what kind of thing it is, eg., | ||
| 2018 | integer, pointer to a list, pointer to an editing buffer, and so on. | ||
| 2019 | Emacs uses standard 32-bit integers for data objects, taking the top 8 | ||
| 2020 | bits for the tag and the bottom 24 bits for the value. So integers (and | ||
| 2021 | pointers) are somewhat restricted compared to true C integers and | ||
| 2022 | pointers. | ||
| 2023 | |||
| 2024 | Emacs uses 8-bit tags because that's a little faster on byte-oriented | ||
| 2025 | machines, but there are only really enough tags to require 6 bits. | ||
| 2026 | |||
| 2027 | 64: Why can't Emacs find files in current directory on startup? | ||
| 2028 | |||
| 2029 | The PWD bug has been fixed as of GNU Emacs 18.59. Read on if you are + | ||
| 2030 | running an older version of Emacs. + | ||
| 2031 | |||
| 2032 | Most likely, you have an environment variable named PWD that is set to a | ||
| 2033 | value other than the name of your current directory. This is most | ||
| 2034 | likely caused by using two different shell programs. `ksh' and (some | ||
| 2035 | versions of) `csh' set and maintain the value of the PWD environment | ||
| 2036 | variable, but `sh' doesn't. If you start sh from ksh, change your | ||
| 2037 | current directory inside sh, and then start Emacs from inside sh, PWD | ||
| 2038 | will have the wrong value but Emacs will use this value. An invalid + | ||
| 2039 | setting for PWD can also be a problem if you use X Windows and csh on an + | ||
| 2040 | RS/6000. See the etc/OPTIONS file for more details. + | ||
| 2041 | |||
| 2042 | Perhaps an easier solution is not to use two shells. The `chsh' program | ||
| 2043 | can often be used to change one's default login shell. | ||
| 2044 | |||
| 2045 | You may have PWD set for other reasons. Another possibility is that you | ||
| 2046 | are setting default-directory from your .emacs file. | ||
| 2047 | |||
| 2048 | Here is a fix by Jim Blandy <jimb@occs.cs.oberlin.edu>: | ||
| 2049 | |||
| 2050 | >--- emacs/jjj/emacs-18.58/lisp/startup.el Tue Jan 15 23:19:04 1991 | ||
| 2051 | >+++ startup.el Mon Apr 20 00:21:01 1992 | ||
| 2052 | >@@ -81,5 +81,7 @@ | ||
| 2053 | > ;; In presence of symlinks, switch to cleaner form of default directory. | ||
| 2054 | > (if (and (not (eq system-type 'vax-vms)) | ||
| 2055 | >- (getenv "PWD")) | ||
| 2056 | >+ (getenv "PWD") | ||
| 2057 | >+ (equal (nthcdr 10 (file-attributes default-directory)) | ||
| 2058 | >+ (nthcdr 10 (file-attributes (getenv "PWD"))))) | ||
| 2059 | > (setq default-directory (file-name-as-directory (getenv "PWD")))) | ||
| 2060 | > (unwind-protect | ||
| 2061 | |||
| 2062 | 65: How do I get rid of the ^M junk in my Shell buffer? | ||
| 2063 | |||
| 2064 | For tcsh, put this in your `.cshrc' (or `.tcshrc') file: | ||
| 2065 | |||
| 2066 | if ($?EMACS) then | ||
| 2067 | if ("$EMACS" == t) then | ||
| 2068 | if ($?tcsh) unset edit | ||
| 2069 | stty nl | ||
| 2070 | endif | ||
| 2071 | endif | ||
| 2072 | |||
| 2073 | Or put this in your .emacs_tcsh file: | ||
| 2074 | |||
| 2075 | unset edit | ||
| 2076 | stty nl | ||
| 2077 | |||
| 2078 | Alternatively, use csh in your Shell buffers instead of tcsh. One way | ||
| 2079 | is: | ||
| 2080 | |||
| 2081 | (setq explicit-shell-file-name "/bin/csh") | ||
| 2082 | |||
| 2083 | and another is to do this in your .cshrc (or .tcshrc) file: | ||
| 2084 | |||
| 2085 | setenv ESHELL /bin/csh | ||
| 2086 | |||
| 2087 | (You must start Emacs over again with the environment variable properly | ||
| 2088 | set for this to take effect.) | ||
| 2089 | |||
| 2090 | 66: Why do I get `Process shell exited abnormally with code 1'? | ||
| 2091 | |||
| 2092 | The most likely reason for this message is that the `env' program is not | ||
| 2093 | properly installed. This program should be compiled (for the correct | ||
| 2094 | architecture!) and installed with execute permission for everyone in | ||
| 2095 | Emacs's program directory, which is normally /usr/local/emacs/etc. You | ||
| 2096 | can find what this directory is at your site by inspecting the value of | ||
| 2097 | the variable exec-directory by typing "C-h v exec-directory RET". `env' | ||
| 2098 | should also be for the correct architecture (check using `file' command). | ||
| 2099 | |||
| 2100 | You should also check for other programs named `env' in your path (eg., | ||
| 2101 | SunOS has a program named /usr/bin/env). I don't understand why this can | ||
| 2102 | cause a failure and I don't know a general solution for working around the | ||
| 2103 | problem in this case. | ||
| 2104 | |||
| 2105 | The `make clean' command will remove `env' and other vital programs, so be | ||
| 2106 | careful when using it. | ||
| 2107 | |||
| 2108 | It has been reported that this sometimes happened when Emacs was started | ||
| 2109 | as an X client from an xterm window (ie. had a controlling tty) but the | ||
| 2110 | xterm was later terminated. | ||
| 2111 | |||
| 2112 | See also etc/PROBLEMS for other possible causes of this message. | ||
| 2113 | |||
| 2114 | 67: Why can't I cut from Emacs and paste in other X programs? | ||
| 2115 | |||
| 2116 | Emacs stores things you "cut" in the X "cut buffers". It also pastes from | ||
| 2117 | the cut buffer `CUT_BUFFER0'. This is obsolete. Most modern X programs | ||
| 2118 | now expect to work with "selections" instead of cut buffers, although some | ||
| 2119 | like `xterm' will try to use the cut buffers if the selection is null. | ||
| 2120 | |||
| 2121 | Emacs 18.58 contains a "fix" that makes xterm work by default. This | ||
| 2122 | "fix" is that Emacs clears the `PRIMARY' selection when it stores | ||
| 2123 | something in the cut buffer. By making the selection null, xterm will | ||
| 2124 | then fetch from the cut buffer when you try to paste. | ||
| 2125 | |||
| 2126 | For versions of Emacs prior to 18.58, you can make pasting from Emacs into | ||
| 2127 | xterm work with the following X resources: | ||
| 2128 | |||
| 2129 | ! Solution by Thomas Narten, should work under X11R3 and later GNU | ||
| 2130 | ! Emacs only copies to CUT_BUFFER0. xterm by default wants to paste | ||
| 2131 | ! from the PRIMARY selection. | ||
| 2132 | XTerm*VT100.Translations: #override \ | ||
| 2133 | ~Meta <Btn2Up>: insert-selection(CUT_BUFFER0,PRIMARY) | ||
| 2134 | |||
| 2135 | You may have problems copying between Emacs and programs other than xterm | ||
| 2136 | that won't store cut text in the cut buffers or look in the cut buffers | ||
| 2137 | for text to paste (for backwards compatibility with obsolete applications | ||
| 2138 | like Emacs :-). The best workaround is to use the `xcutsel' program as an | ||
| 2139 | intermediary. | ||
| 2140 | |||
| 2141 | This problem does not exist for Epoch or Lucid Emacs. | ||
| 2142 | |||
| 2143 | 68: Where is the termcap/terminfo entry for terminal type `emacs'? | ||
| 2144 | |||
| 2145 | The termcap entry for terminal type `emacs' is ordinarily put in the | ||
| 2146 | TERMCAP environment variable of subshells. It may help in certain | ||
| 2147 | situations (eg., using rlogin from shell buffer) to add an entry for | ||
| 2148 | `emacs' to the system-wide termcap file. Here is a correct termcap entry | ||
| 2149 | for `emacs': | ||
| 2150 | |||
| 2151 | emacs:tc=unknown: | ||
| 2152 | |||
| 2153 | To make a terminfo entry for `emacs', use `tic' or `captoinfo'. You need | ||
| 2154 | to generate /usr/lib/terminfo/e/emacs. It may work to simply copy | ||
| 2155 | /usr/lib/terminfo/d/dumb to /usr/lib/terminfo/e/emacs. | ||
| 2156 | |||
| 2157 | Having a termcap/terminfo entry will not enable the use of full screen | ||
| 2158 | programs in shell buffers. Use M-x terminal-emulator for that instead. | ||
| 2159 | |||
| 2160 | A workaround to the problem of missing termcap/terminfo entries is to | ||
| 2161 | change terminal type `emacs' to type `dumb' or `unknown' in your shell | ||
| 2162 | start up file. `csh' users could put this in their .cshrc files: | ||
| 2163 | |||
| 2164 | if ("$term" == emacs) set term=dumb | ||
| 2165 | |||
| 2166 | 69: Why does Emacs spontaneously start displaying `I-search:' and beeping? | ||
| 2167 | |||
| 2168 | Your terminal (or something between your terminal and the computer) is | ||
| 2169 | sending C-s and C-q for flow control, and Emacs is receiving these | ||
| 2170 | characters and interpreting them as commands. (The C-s character normally | ||
| 2171 | invokes the isearch-forward command.) For possible solutions, see | ||
| 2172 | question 131. | ||
| 2173 | |||
| 2174 | 70: Why can't Emacs talk to certain hosts (or certain hostnames)? | ||
| 2175 | |||
| 2176 | The problem may be that Emacs is linked with a wimpier version of | ||
| 2177 | gethostbyname than the rest of the programs on the machine. This is often | ||
| 2178 | manifested as a message on startup of `X server not responding. Check | ||
| 2179 | your DISPLAY environment variable.' or a message of `Unknown host' from | ||
| 2180 | open-network-stream. | ||
| 2181 | |||
| 2182 | On a Sun, this may be because Emacs had to be linked with the static C | ||
| 2183 | library. The version of gethostbyname in the static C library may only | ||
| 2184 | look in /etc/hosts and the NIS (YP) maps, while the version in the dynamic | ||
| 2185 | C library may be smart enough to check DNS in addition to or instead of | ||
| 2186 | NIS. On a Motorola Delta running System V R3.6, the version of | ||
| 2187 | gethosbyname in the standard library works, but the one that works with | ||
| 2188 | NIS doesn't (the one you get with -linet). Other operating systems have | ||
| 2189 | similar problems. | ||
| 2190 | |||
| 2191 | Try these options: | ||
| 2192 | |||
| 2193 | * Explicitly add the host you want to communicate with to /etc/hosts. | ||
| 2194 | |||
| 2195 | * Relink Emacs with this line in src/config.h: | ||
| 2196 | |||
| 2197 | #define LIBS_SYSTEM -lresolv | ||
| 2198 | |||
| 2199 | * Replace gethostbyname and friends in libc.a with more useful versions | ||
| 2200 | such as the ones in libresolv.a. Then relink Emacs. | ||
| 2201 | |||
| 2202 | * If you are actually running NIS, make sure that `ypbind' is properly | ||
| 2203 | told to do DNS lookups with the correct command line switch. | ||
| 2204 | |||
| 2205 | * Use tcp.el and tcp.c from GNUS. This has the additional advantage that | ||
| 2206 | you can use numeric IP addresses instead of names. open-network-stream | ||
| 2207 | currently can't handle numeric addresses. Brian Thomson | ||
| 2208 | <thomson@hub.toronto.edu> has a enhancement to open-network-stream to | ||
| 2209 | allow it to handle numeric addresses. | ||
| 2210 | |||
| 2211 | 71: Why does Emacs say `Error in init file'? | ||
| 2212 | |||
| 2213 | An error occurred while loading either your .emacs file or the system-wide | ||
| 2214 | lisp/default.el file. For information on how to debug your .emacs file, | ||
| 2215 | see question 29. | ||
| 2216 | |||
| 2217 | It may be the case that you may need to load some package first, or use a | ||
| 2218 | hook that will be evaluated after the package is loaded. A common case of | ||
| 2219 | this is explained in question 127. | ||
| 2220 | |||
| 2221 | 72: Why does Emacs ignore my X resources (my .Xdefaults file)? | ||
| 2222 | |||
| 2223 | * Try compiling Emacs with the XBACKWARDS macro defined. There is a bug | ||
| 2224 | in some implementations of XGetDefault, which do not correspond to the | ||
| 2225 | documentation or the header files. | ||
| 2226 | |||
| 2227 | * Make sure you are either using the class name of `Emacs' (oops, | ||
| 2228 | apparently this is buggy in Emacs 18.58!) or the correct instance name. | ||
| 2229 | The instance name is normally the same as the name of the file Emacs is | ||
| 2230 | in (ie., the last part of argv[0]), but this can be overridden by -rn | ||
| 2231 | command line option or the WM_RES_NAME environment variable. | ||
| 2232 | |||
| 2233 | WARNING: Reports say using the class name fails in Emacs 18.58. | ||
| 2234 | |||
| 2235 | WARNING: The advice the man page gives to use `emacs' is often wrong. | ||
| 2236 | |||
| 2237 | WARNING: Older versions of Emacs got the class name wrong. | ||
| 2238 | |||
| 2239 | * Emacs currently ignores the -xrm command line argument. | ||
| 2240 | |||
| 2241 | * Emacs does not yet handle X11R5 screen-specific resources. | ||
| 2242 | |||
| 2243 | * Emacs has a bug where it ignores color specifications if running on a | ||
| 2244 | 1-bit display (ie. a non-color display). | ||
| 2245 | |||
| 2246 | * I don't think Emacs will use either of the application-specific resource | ||
| 2247 | files. Thus these environment variables don't affect it: XAPPLRESDIR, | ||
| 2248 | XUSERFILESEARCHPATH, XFILESEARCHPATH. {Correct?} | ||
| 2249 | |||
| 2250 | 73: Why does Emacs take 20 seconds to visit a file? | ||
| 2251 | |||
| 2252 | The usual cause is that the master lock file, `!!!SuperLock!!!' has been | ||
| 2253 | left in the lock directory somehow. Delete it. | ||
| 2254 | |||
| 2255 | Mark Meuer <meuer@geom.umn.edu> says that NeXT NFS has a bug where an | ||
| 2256 | exclusive create succeeds but returns an error status. This can cause the | ||
| 2257 | same problem. Since Emacs's file locking doesn't work over NFS anyway, | ||
| 2258 | the best solution is to recompile Emacs with CLASH_DETECTION undefined. | ||
| 2259 | |||
| 2260 | 74: How do I edit a file with a `$' in its name? | ||
| 2261 | |||
| 2262 | When entering a filename in the minibuffer, Emacs will attempt to expand | ||
| 2263 | a `$' followed by a word as an environment variable. To suppress this | ||
| 2264 | behavior, type "$$" instead. | ||
| 2265 | |||
| 2266 | 75: Why does Shell mode lose track of the shell's current directory? | ||
| 2267 | |||
| 2268 | Emacs has no way of knowing when the shell actually changes its directory. | ||
| 2269 | This is an intrinsic limitation of Unix. So it tries to guess by | ||
| 2270 | recognizing `cd' commands. If you type `cd' followed by a directory name | ||
| 2271 | with a variable reference (`cd $HOME/bin') or with a shell metacharacter | ||
| 2272 | (`cd ../lib*'), Emacs will fail to correctly guess the shell's new current | ||
| 2273 | directory. A huge variety of fixes and enhancements to Shell mode for | ||
| 2274 | this problem have been written to handle this problem. Check the Lisp | ||
| 2275 | Code Directory (see question 88). | ||
| 2276 | |||
| 2277 | 76: Why doesn't my change to load-path work? | ||
| 2278 | |||
| 2279 | If you added a directory name containing a tilde (~) to your load-path, | ||
| 2280 | expecting the tilde to be interpreted as your home directory, then you | ||
| 2281 | need to do something like this: | ||
| 2282 | |||
| 2283 | (setq load-path (mapcar 'expand-file-name load-path)) | ||
| 2284 | |||
| 2285 | 77: Why does the cursor always go to the wrong column when I move up or | ||
| 2286 | down one line? | ||
| 2287 | |||
| 2288 | You have inadvertently typed "C-x C-n" (set-goal-column) which sets the | ||
| 2289 | "goal column" to the column where the cursor was. To undo this type | ||
| 2290 | "C-u C-x C-n". | ||
| 2291 | |||
| 2292 | If you make this mistake frequently, you might want to unbind or disable | ||
| 2293 | this command by doing one of these two: | ||
| 2294 | |||
| 2295 | (define-key ctl-x-map "\C-n" nil) | ||
| 2296 | (put 'set-goal-column 'disabled t) | ||
| 2297 | |||
| 2298 | 78: Why does Emacs hang with message `Unknown XMenu error' with X11R4? | ||
| 2299 | |||
| 2300 | Many different X errors can produce this message. Here is the solution | ||
| 2301 | to one problem: | ||
| 2302 | |||
| 2303 | X11 Release 4 (and later, including OpenWindows) enforces some conditions | ||
| 2304 | in the X protocol that were previously allowed to pass unnoticed. You | ||
| 2305 | need to put the X11R4 server into X11R3 bug compatibility mode for Emacs's | ||
| 2306 | Xmenu code to work. You can do this with the command `xset bc'. | ||
| 2307 | |||
| 2308 | 79: Why doesn't display-time show the load average in the mode line | ||
| 2309 | anymore? | ||
| 2310 | |||
| 2311 | In GNU Emacs 18.56, a change was made in the display-time code. | ||
| 2312 | Formerly, in version 18.55, Emacs used a program named `loadst' to | ||
| 2313 | notify Emacs of the change in time every minute. loadst also sent Emacs | ||
| 2314 | the system load average if it was installed with sufficient privilege to | ||
| 2315 | get that information (or was on a system where no such privilege was | ||
| 2316 | needed). Emacs then displayed this information in the mode line. | ||
| 2317 | |||
| 2318 | In version 18.56, this code was changed to use a program named `wakeup'. | ||
| 2319 | wakeup doesn't send Emacs any information, it's only purpose is to send | ||
| 2320 | Emacs *something* every minute, thus invoking the filter function in | ||
| 2321 | Emacs once a minute. The filter function in Emacs does all the work of | ||
| 2322 | finding the time, date, and load average. However, getting the load | ||
| 2323 | average requires the privilege to read kernel memory on most systems. | ||
| 2324 | Since giving Emacs this privilege would destroy any security a system | ||
| 2325 | might have, for almost everyone this is not an option. In addition, | ||
| 2326 | Emacs does not have the code built into it to get this information on | ||
| 2327 | the systems which have special system calls for this purpose, even | ||
| 2328 | though loadst had code for this. | ||
| 2329 | |||
| 2330 | The solution I use is to get the files lisp/display-time.el and | ||
| 2331 | etc/loadst.c from version 18.55 and use those with 18.58. (I have heard | ||
| 2332 | a rumor that loadst disappeared because of the legal action Unipress | ||
| 2333 | threatened against IBM.) | ||
| 2334 | |||
| 2335 | WARNING: Do not install Emacs setgid kmem unless you wish to destroy | ||
| 2336 | any security your system might have!!!!!!!!!! | ||
| 2337 | |||
| 2338 | If you are using Emacs 18.55 or earlier, or already using the solution I | ||
| 2339 | describe above, read further: | ||
| 2340 | |||
| 2341 | The most likely cause of the problem is that `loadst' can't read the | ||
| 2342 | special file /dev/kmem. To properly install loadst, it should be either | ||
| 2343 | setuid to the owner of /dev/kmem, or is should be setgid to the group to | ||
| 2344 | which /dev/kmem belongs. In either case, /dev/kmem should be readable by | ||
| 2345 | its owner or its group, respectively. Assuming the existence of a group | ||
| 2346 | named `kmem', here is an example of how to do this: | ||
| 2347 | |||
| 2348 | chgrp kmem /dev/kmem | ||
| 2349 | chmod g+r /dev/kmem | ||
| 2350 | chgrp kmem /usr/local/emacs/etc/loadst | ||
| 2351 | chmod g+s /usr/local/emacs/etc/loadst | ||
| 2352 | |||
| 2353 | Another possibility is that your version of Unix doesn't have the load | ||
| 2354 | average data available in /dev/kmem. Your version of Unix might have a | ||
| 2355 | special system call to retrieve this information (eg., inq_stats under | ||
| 2356 | UMAX), and loadst might not have been enhanced to cope with this. | ||
| 2357 | |||
| 2358 | 80: Why does ispell sometimes ignore the local dictionary? | ||
| 2359 | |||
| 2360 | You need to update the version of Ispell to 2.0.02. (Or you can switch to | ||
| 2361 | version 3.0 which is still in beta-testing.) A patch is available via | ||
| 2362 | anonymous FTP: | ||
| 2363 | |||
| 2364 | /archive.cis.ohio-state.edu:pub/gnu/ispell/patch2.Z | ||
| 2365 | |||
| 2366 | You also need to change a line in ispell.el from: | ||
| 2367 | |||
| 2368 | (defconst ispell-version "2.0.01") ; Check against output of "ispell -v". | ||
| 2369 | |||
| 2370 | to: | ||
| 2371 | |||
| 2372 | (defconst ispell-version "2.0.02") ; Check against output of "ispell -v". | ||
| 2373 | |||
| 2374 | 81: Why does Ispell treat each line as a single word? | ||
| 2375 | |||
| 2376 | Ispell expects to get its input one word per line. The ispell filter, | ||
| 2377 | which is specified by the variables ispell-filter-hook and | ||
| 2378 | ispell-filter-hook-args, should output at most one word per line. | ||
| 2379 | |||
| 2380 | 82: Are there any security risks in GNU Emacs? | ||
| 2381 | |||
| 2382 | * the `movemail' incident (No, this is not a risk.) | ||
| 2383 | |||
| 2384 | Cliff Stoll in his book `The Cuckoo's Egg' describes this in chapter 4. | ||
| 2385 | The site at LBL had installed the `etc/movemail' program setuid root. | ||
| 2386 | Since `movemail' had not been designed for this situation, a security | ||
| 2387 | hole was created and users could get root priveleges. | ||
| 2388 | |||
| 2389 | `movemail' has since been changed so that even if it is installed setuid | ||
| 2390 | root this security hole will not be a result. | ||
| 2391 | |||
| 2392 | I have heard unverified reports that the Internet worm took advantage of | ||
| 2393 | this configuration problem. | ||
| 2394 | |||
| 2395 | * the file-local-variable feature (Yes, a risk, but easy to change.) | ||
| 2396 | |||
| 2397 | There is an Emacs feature that allows the setting of local values for | ||
| 2398 | variables when editing a file by including specially formatted text near | ||
| 2399 | the end of the file. This feature also includes the ability to have | ||
| 2400 | arbitrary Emacs Lisp code evaluated when the file is visited. | ||
| 2401 | Obviously, there is a potential for Trojan horses to exploit this | ||
| 2402 | feature. | ||
| 2403 | |||
| 2404 | If you set the variable inhibit-local-variables to a non-nil value, | ||
| 2405 | Emacs will display the special local variable settings of a file that | ||
| 2406 | you visit and ask you if you really want them. This variable is not | ||
| 2407 | mentioned in the manual. | ||
| 1150 | 2408 | ||
| 1151 | 2. Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP + | 2409 | It is wise to do this in lisp/site-init.el before building Emacs: |
| 1152 | (pit-manager.mit.edu:pub/usenet/news.answers/GNU-Emacs-FAQ/part?). ! | ||
| 1153 | 2410 | ||
| 1154 | 3. Via e-mail. You can send the following magical incantation in the body + | 2411 | (setq inhibit-local-variables t) |
| 1155 | of a message to mail-server@pit-manager.mit.edu: | ||
| 1156 | 2412 | ||
| 1157 | send usenet/news.answers/GNU-Emacs-FAQ/part0 ! | 2413 | If Emacs has already been built, the expression can be put in |
| 1158 | send usenet/news.answers/GNU-Emacs-FAQ/part1 ! | 2414 | lisp/default.el instead, or an individual can put it in their own .emacs |
| 1159 | send usenet/news.answers/GNU-Emacs-FAQ/part2 + | 2415 | file. |
| 1160 | send usenet/news.answers/GNU-Emacs-FAQ/part3 + | 2416 | |
| 2417 | The ability to exploit this feature by sending e-mail to an RMAIL user | ||
| 2418 | was fixed sometime after Emacs 18.52. However, any new package that | ||
| 2419 | uses find-file or find-file-noselect has to be careful about this. | ||
| 2420 | |||
| 2421 | For more information, see `File Variables' in the online manual (which, | ||
| 2422 | incidentally, does not describe how to disable the feature). | ||
| 2423 | |||
| 2424 | There is a new variable in Emacs 18.58 named ignore-local-eval which | ||
| 2425 | turns out to be useless as currently implemented. Ignore it. | ||
| 2426 | |||
| 2427 | * synthetic X events (Yes, a risk, use MIT-MAGIC-COOKIE-1 or better.) | ||
| 2428 | |||
| 2429 | Emacs accepts synthetic X events generated by the SendEvent request as | ||
| 2430 | though they were regular events. As a result, if you are using the | ||
| 2431 | trivial host-based authentication, other users who can open X | ||
| 2432 | connections to your X workstatation can make your Emacs process do | ||
| 2433 | anything, including run other processes with your priveleges. | ||
| 2434 | |||
| 2435 | The only fix for this is to prevent other users from being able to open | ||
| 2436 | X connections. The standard way to prevent this is to use a real | ||
| 2437 | authentication mechanism, such as MIT-MAGIC-COOKIE-1. If using the | ||
| 2438 | `xauth' program has any effect, then you are probably using | ||
| 2439 | MIT-MAGIC-COOKIE-1. Your site may be using a superior authentication | ||
| 2440 | method; ask your system administrator. | ||
| 2441 | |||
| 2442 | If real authentication is not a possibility, you may be satisfied by | ||
| 2443 | just allowing hosts access for brief intervals while you start your X | ||
| 2444 | programs, then removing the access. This reduces the risk somewhat by | ||
| 2445 | narrowing the time window when hostile users would have access, but DOES | ||
| 2446 | NOT ELIMINATE THE RISK. | ||
| 2447 | |||
| 2448 | Lucid GNU Emacs does not accept synthetic X events unless you set a | ||
| 2449 | variable. | ||
| 2450 | |||
| 2451 | * autosave file permissions (Yes, a risk, hard to work around.) | ||
| 2452 | |||
| 2453 | The file permissions for autosave files are determined solely by the | ||
| 2454 | Emacs process's `umask' value. The permissions of the file being | ||
| 2455 | autosaved are not used. The easiest workaround is to keep sensitive | ||
| 2456 | files in protected directories. Sebastian Kremer has written an | ||
| 2457 | enhanced version of the autosave file name picking code that can avoid | ||
| 2458 | this problem by keeping autosave files in a protected directory. {FTP | ||
| 2459 | information please?} This problem will be fixed in Emacs 19. | ||
| 2460 | |||
| 2461 | |||
| 2462 | |||
| 2463 | Difficulties Building/Installing/Porting Emacs | ||
| 2464 | |||
| 2465 | 83: What should I do if I have trouble building Emacs? | ||
| 2466 | |||
| 2467 | First look in the file etc/PROBLEMS to see if there is already a solution | ||
| 2468 | for your problem. Next check the FAQ (you're reading it). If you don't | ||
| 2469 | find a solution, then report your problem via e-mail to | ||
| 2470 | bug-gnu-emacs@prep.ai.mit.edu. Please do not post it to gnu.emacs.help or | ||
| 2471 | e-mail it to help-gnu-emacs@prep.ai.mit.edu. For further guidelines, see | ||
| 2472 | question 8. | ||
| 2473 | |||
| 2474 | 84: How do I stop Emacs from failing when the executable is stripped? | ||
| 2475 | |||
| 2476 | Don't do that. | ||
| 2477 | |||
| 2478 | This problem has been reported on SGI Indigo machines running Irix 4.0.* | ||
| 2479 | and RS/6000 machines. Scott Henry <scotth@hoshi.corp.SGi.COM> posted a | ||
| 2480 | patch that fixes the problem for Irix. | ||
| 2481 | |||
| 2482 | 85: Why does linking Emacs with -lX11 fail? | ||
| 2483 | |||
| 2484 | Emacs needs to be linked with the static version of the X11 library, | ||
| 2485 | libX11.a. This may be missing. | ||
| 2486 | |||
| 2487 | Under OpenWindows, you may need to use `add_services' to add the | ||
| 2488 | `OpenWindows Programmers' optional software category from the CD-ROM. | ||
| 2489 | |||
| 2490 | Under HP-UX 8.0, you may need to run `update' again to load the | ||
| 2491 | X11-PRG `fileset'. This may be missing even if you specified `all | ||
| 2492 | filesets' the first time. If libcurses.a is missing, you may need to load | ||
| 2493 | the `Berkeley Development Option' {???}. | ||
| 2494 | |||
| 2495 | If you are building the MIT X11 sources, you may need to modify your | ||
| 2496 | `site.cf' file to get static versions of the libraries. (Info from David | ||
| 2497 | Zuhn <zoo@cygnus.com>.) | ||
| 2498 | |||
| 2499 | Other systems may have similar problems. You can always define | ||
| 2500 | CANNOT_DUMP and link with the shared libraries instead. | ||
| 2501 | |||
| 2502 | To get the Xmenu stuff to work, you need to find a copy of MIT's | ||
| 2503 | liboldX.a. | ||
| 2504 | |||
| 2505 | 86: Why does Emacs 18.55 say `Fatal error (6).Abort' under SunOS 4.1? | ||
| 2506 | |||
| 2507 | I had hoped this question would go away after Emacs 18.57 was released, | ||
| 2508 | but people continue to compile 18.55. Easiest solution: upgrade. | ||
| 2509 | |||
| 2510 | This is a result of the SunOS localtime/tzsetwall malloc bug, which was | ||
| 2511 | (finally!) fixed in SunOS 4.1.2. If you actually need the full | ||
| 2512 | explanation, send me e-mail. If you absolutely must compile Emacs 18.55 | ||
| 2513 | (eg., you are compiling Nemacs), the easiest workaround was to put | ||
| 2514 | `#define SYSTEM_MALLOC' in src/config.h. | ||
| 2515 | |||
| 2516 | |||
| 2517 | |||
| 2518 | ---------------------------------------------------------------------- + | ||
| 2519 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells + | ||
| 2520 | Copyright (C) 1992, 1993 Steven Byrnes + | ||
| 1161 | + | 2521 | + |
| 1162 | 4. Via WAIS. The GNU Emacs FAQ is available via WAIS indexed on a + | 2522 | This list of frequently asked questions about GNU Emacs with answers + |
| 1163 | per-question basis from the "faq" database on bigbird.bu.edu on the + | 2523 | ("FAQ") may be translated into other languages, transformed into other + |
| 1164 | non-standard IP port number of 2210. This is probably the best way to + | 2524 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new + |
| 1165 | find out if there is something in the FAQ related to your question. I + | 2525 | information. The same conditions apply to any derivative of the FAQ as + |
| 1166 | use this myself to answer questions I see posted on gnu.emacs.help. ! | 2526 | apply to the FAQ itself. Every copy of the FAQ must include this notice + |
| 1167 | ! | 2527 | or an approved translation, information on who is currently maintaining + |
| 1168 | The articles of the GNU Emacs FAQ are also available from the "usenet" ! | 2528 | the FAQ and how to contact them (including their e-mail address), and + |
| 1169 | database on pit-manager.mit.edu (on the standard IP port: 210), along ! | 2529 | information on where the latest version of the FAQ is archived (including + |
| 1170 | with a lot of other FAQ articles. However, these are all indexed at ! | 2530 | FTP information). The FAQ may be copied and redistributed under these + |
| 1171 | the whole article level instead of at the question level. This is a ! | 2531 | conditions, except that the FAQ may not be embedded in a larger literary + |
| 1172 | better place to look if you want to fetch the entire FAQ. ! | 2532 | work unless that work itself allows free copying and redistribution. + |
| 1173 | ! | 2533 | |
| 1174 | 5. In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest ! | 2534 | |
| 1175 | available version of the FAQ at the time of release has been part of | 2535 | GNU Emacs FAQ: Getting Emacs/Packages |
| 1176 | the GNU Emacs distribution as file etc/FAQ. 18.58 is the latest ! | 2536 | |
| 1177 | version, and it was released in February 1992. ! | 2537 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to |
| 2538 | get an overview of just the questions. Then, when you want to look at the text | ||
| 2539 | of the answers, just type "C-x $". | ||
| 1178 | 2540 | ||
| 2541 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | ||
| 2542 | that doesn't work, then type ESC to end the search. | ||
| 2543 | |||
| 2544 | A `+' in the 78th column means something was inserted on the line. A `-' means | ||
| 2545 | something was deleted and a `!' means some combination of insertions and | ||
| 2546 | deletions occurred. | ||
| 2547 | |||
| 2548 | Full instructions for getting the latest FAQ are in question 22. Also see the | ||
| 2549 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 2550 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 2551 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 1179 | 2552 | ||
| 1180 | 2553 | ||
| 1181 | GNU Emacs and Various Computing Environments | ||
| 1182 | 2554 | ||
| 1183 | 30: Where does the name "Emacs" come from? | 2555 | Finding/Getting Emacs and Related Packages |
| 2556 | |||
| 2557 | 87: Where can I get GNU Emacs on the net (or by snail mail)? | ||
| 1184 | 2558 | ||
| 1185 | EMACS originally was an acronym for Editor MACroS. The first Emacs was | 2559 | Look in the files etc/DISTRIB and etc/FTP for information on nearby |
| 1186 | a set of macros written by Richard Stallman and Guy Steele for the | 2560 | archive sites. If you don't already have GNU Emacs, see question 20 |
| 1187 | editor TECO (Text Editor and COrrector (originally Tape Editor and | 2561 | for how to get these two files. |
| 1188 | COrrector)) on a PDP-10. (Amusing fact: many people have told me that | ||
| 1189 | TECO code looks a lot like line noise. See alt.lang.teco if you are | ||
| 1190 | interested.) | ||
| 1191 | 2562 | ||
| 1192 | 31: What is the latest version of GNU Emacs? | 2563 | The latest version is always available via anonymous FTP at MIT: |
| 1193 | 2564 | ||
| 1194 | GNU Emacs 18.58 is the current version. Fixes from 18.57 include better ! | 2565 | /prep.ai.mit.edu:pub/gnu/emacs-18.59.tar.Z ! |
| 1195 | mail address parsing, an X visual bell speedup, a call-process ! | ||
| 1196 | enhancement, a regexp matching change, the ability to apply a numeric ! | ||
| 1197 | argument to a self-inserting digit, getting X resource values from the ! | ||
| 1198 | RESOURCE_MANAGER property, more reliable shell mode job control, and a ! | ||
| 1199 | change to copy-keymap. Also, support has been added for many new system ! | ||
| 1200 | types. ! | ||
| 1201 | 2566 | ||
| 1202 | The June 1991 GNU's Bulletin says this about the status of Emacs: + | 2567 | See question 91. |
| 1203 | 2568 | ||
| 1204 | GNU Emacs 18.57 is the current version. The undo facility has been | 2569 | 88: How do I find a GNU Emacs Lisp package that does XXX? |
| 1205 | completely rewritten and now holds unlimited data temporarily, and a | ||
| 1206 | user-specified amount for the long term. | ||
| 1207 | 2570 | ||
| 1208 | Berkeley is distributing GNU Emacs with the 4.3 BSD distribution, and | 2571 | A listing of Emacs Lisp packages, called the Lisp Code Directory, is being |
| 1209 | numerous companies distribute it also. | 2572 | maintained by Dave Brennan <brennan@hal.com> and Dave Sill <de5@ornl.gov>. |
| 2573 | You can search through this list to find if someone has written something | ||
| 2574 | that fits your needs. | ||
| 1210 | 2575 | ||
| 1211 | Emacs 18 maintenance continues for simple bug fixes. | 2576 | This list is file LCD-datafile.Z in the Emacs Lisp Archive. (See |
| 2577 | question 89 for methods for getting this file.) The files lispdir.el.Z | ||
| 2578 | and lispdir.doc.Z in the archive contain information to help you use the | ||
| 2579 | list. Once you have installed lispdir.el and LCD-datafile, then you can | ||
| 2580 | use the "M-x lisp-dir-apropos" command to look things up in the database. | ||
| 2581 | For example, the command "M-x lisp-dir-apropos RET ange-ftp RET" produces | ||
| 2582 | this (outdated) output: | ||
| 1212 | 2583 | ||
| 1213 | To visit a file with information about what has changed in recent ! | 2584 | GNU Emacs Lisp Code Apropos -- "ange-ftp" |
| 1214 | versions, type "C-h n". ! | ||
| 1215 | 2585 | ||
| 1216 | 32: When will GNU Emacs 19 be available? | 2586 | ange-ftp (3.112) 91-08-12 |
| 2587 | Andy Norman, <ange@hplb.hpl.hp.com> | ||
| 2588 | archive.cis.ohio-state.edu: | ||
| 2589 | /pub/gnu/emacs/elisp-archive/as-is/ange-ftp.el.Z | ||
| 2590 | transparent FTP Support for GNU Emacs | ||
| 1217 | 2591 | ||
| 1218 | Good question, I don't know. For that matter, neither do the developers. | 2592 | 89: Where can I get GNU Emacs Lisp packages that don't come with Emacs? |
| 1219 | It will undoubtedly be available sometime in the 1990s. :-) People are | ||
| 1220 | actually using alpha-test version of Emacs 19, which is a good sign. Work | ||
| 1221 | has begun on features for Emacs 20. | ||
| 1222 | 2593 | ||
| 1223 | RMS writes: | 2594 | First, check the Lisp Code Directory to find the name of the package you |
| 2595 | are looking for. (See question 88). Then check local archives and | ||
| 2596 | the Emacs Lisp Archive to find a copy of the relevant files. Then, if | ||
| 2597 | you still haven't found it, you can send e-mail to the author asking for | ||
| 2598 | a copy. | ||
| 1224 | 2599 | ||
| 1225 | Work is progressing steadily on 19 and it the to-do list is getting | 2600 | You can access the Emacs Lisp Archive via anonymous FTP: |
| 1226 | smaller. But I don't want to make the mistake of predicting when it | ||
| 1227 | will be ready. | ||
| 1228 | 2601 | ||
| 1229 | 33: What will be different about GNU Emacs 19? | 2602 | /archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/ |
| 1230 | 2603 | ||
| 1231 | From the June 1991 GNU's Bulletin: | 2604 | Fetch the file README first. |
| 1232 | 2605 | ||
| 1233 | Version 19 approaches release, counting among its new features: before | 2606 | NOTE: The archive maintainers do not have time to answer individual |
| 1234 | and after change hooks, source-level debugging of Emacs Lisp programs, X | 2607 | requests for packages or the list of packages in the archive. If you |
| 1235 | selection processing (including clipboard selections), scrollbars, | 2608 | cannot use FTP or UUCP to access the archive yourself, try to find a |
| 1236 | support for European character sets, floating point numbers, per-buffer | 2609 | friend who can, but please don't ask the maintainers. |
| 1237 | mouse commands, X resource manager interfacing, mouse-tracking, | ||
| 1238 | Lisp-level binding of function keys, multiple X windows (`screens' to | ||
| 1239 | Emacs), a new input system---all input now arrives in the form of Lisp | ||
| 1240 | objects---and buffer allocation, which uses a new mechanism capable of | ||
| 1241 | returning storage to the system when a buffer is killed. | ||
| 1242 | 2610 | ||
| 1243 | Thanks go to Alan Carroll and the people who worked on Epoch for | 2611 | NOTE: Any files with names ending in `.Z' are compressed, and you should |
| 1244 | generating initial feedback to a multi-windowed Emacs. Emacs 19 | 2612 | use `binary' mode in FTP to retrieve them. You should also use binary |
| 1245 | supports two styles of multiple windows, one with a separate screen for | 2613 | mode whenever you retrieve any files with names ending in `.elc'. |
| 1246 | the minibuffer, and another with a minibuffer attached to each screen. | ||
| 1247 | 2614 | ||
| 1248 | Features being considered for later releases of Emacs include: | 2615 | 90: How do I submit code to the Emacs Lisp Archive? |
| 1249 | associating property lists with regions of text in a buffer; multiple | ||
| 1250 | fonts, color, and pixmaps defined by those properties; different | ||
| 1251 | visibility conditions for the regions, and for various windows showing | ||
| 1252 | one buffer; hooks to be run if point or mouse moves outside a certain | ||
| 1253 | range; incrementally saving undo history in a file; static menu bars; | ||
| 1254 | and better pop-up menus. | ||
| 1255 | 2616 | ||
| 1256 | Mention of these two items disappeared in the January 1991 GNU's bulletin: | 2617 | Submissions should be mailed to elisp-archive@cis.ohio-state.edu. The |
| 2618 | lispdir.el package has a function named submit-lcd-entry which will help | ||
| 2619 | you with this. Mail messages (submissions) are automatically saved and | ||
| 2620 | periodically archived. Urgent mail may be sent directly to Dave Sill | ||
| 2621 | <de5@ornl.gov> or Dave Brennan <brennan@hal.com> or should contain the | ||
| 2622 | string `urgent' in the subject. The incoming ftp directory is no longer | ||
| 2623 | available at the request of Ohio State. {Is this still true?} | ||
| 1257 | 2624 | ||
| 1258 | * Incremental syntax analysis for various programming languages (Leif). | 2625 | However, if someone has a submission with multiple files (which would be |
| 1259 | * A more sophisticated emacsclient/server model, which would provide | 2626 | archived as a tar file) or binary files, then FTP transfer is preferred |
| 1260 | network transparent Emacs widget functionality. | 2627 | and can be arranged via an anonymous FTP site. This is faster than |
| 2628 | uudecoding, unsharing, etc., and re-packaging files. | ||
| 2629 | |||
| 2630 | Before submitting anything, please read the file guidelines.Z, which is | ||
| 2631 | available in the archive. Whenever possible, submissions should contain a | ||
| 2632 | complete LCD entry since this helps reduce administrative overhead for the | ||
| 2633 | maintainers. You can include an entry in this format: | ||
| 2634 | |||
| 2635 | ;; LCD Archive Entry: | ||
| 2636 | ;; package name|author's name|email address | ||
| 2637 | ;; |description | ||
| 2638 | ;; |date|version|archive path | ||
| 2639 | |||
| 2640 | For example: | ||
| 2641 | |||
| 2642 | ;; LCD Archive Entry: | ||
| 2643 | ;; tex-complete|Sebastian Kremer|sk@thp.Uni-Koeln.DE | ||
| 2644 | ;; |Minibuffer name completion for editing [La]TeX. | ||
| 2645 | ;; |91-03-26|$Revision: 19.4 $|~/packages/tex-complete.el.Z ! | ||
| 2646 | |||
| 2647 | Dave Brennan has software which automatically looks for data in this | ||
| 2648 | format. The format is fairly flexible. The entry ends when a line is | ||
| 2649 | reached with a different prefix or the seventh field terminator is | ||
| 2650 | seen. | ||
| 2651 | |||
| 2652 | If you are submitting a multi-file submission you should include a file | ||
| 2653 | named "LCD-entry" which contains the archive entry, instead of placing | ||
| 2654 | it in one or more of the individual files. | ||
| 1261 | 2655 | ||
| 1262 | 34: Is there an Emacs that has better mouse and X window support? | 2656 | 91: Where can I get other up-to-date GNU stuff? |
| 2657 | |||
| 2658 | The most up-to-date official GNU stuff is normally kept on prep.ai.mit.edu | ||
| 2659 | and is available for anonymous FTP in the pub/gnu directory. See the | ||
| 2660 | files etc/DISTRIB and etc/FTP for more information. (To get copies of | ||
| 2661 | these files, see question 20.) | ||
| 2662 | |||
| 2663 | The following sites are all mirror images of the GNU distribution area: | ||
| 2664 | |||
| 2665 | /prep.ai.mit.edu:pub/gnu/ | ||
| 2666 | /ftp.uu.net:packages/gnu/ | ||
| 2667 | /src.doc.ic.ac.uk:gnu/ (available via FTP, NIFTP, FTAM) | ||
| 2668 | /ftp.win.tue.nl:pub/gnu/ | ||
| 2669 | /utsun.s.u-tokyo.ac.jp:ftpsync/prep/ | ||
| 2670 | /nic.funet.fi:pub/gnu/ | ||
| 2671 | |||
| 2672 | The directory at ftp.uu.net is a mirror of prep.ai.mit.edu:pub/gnu, | ||
| 2673 | except that files larger than 1 megabyte {right?} are automatically | ||
| 2674 | split into multiple parts. If you have trouble transferring large | ||
| 2675 | files, you should try here. A file normally named `XXX' is split into | ||
| 2676 | files XXX-split/part[0-9][0-9], and there will be a file named | ||
| 2677 | XXX-split/README which contains the list of parts (especially helpful | ||
| 2678 | when FTP-ing by e-mail), their checksums, and reassembly instructions. | ||
| 2679 | Some of the other mirror sites may have the same property. {Can someone | ||
| 2680 | check this out? Thanks!} | ||
| 2681 | |||
| 2682 | Information was provided by Lee McLoughlin <lmjm@doc.ic.ac.uk>, Jonathan | ||
| 2683 | R. Ferro <jf41+@ANDREW.CMU.EDU>, Arjan de Vet <devet@win.tue.nl>, and | ||
| 2684 | Simon Marshall <S.Marshall@sequent.cc.hull.ac.uk>. | ||
| 2685 | |||
| 2686 | 92: Where can I get an Emacs with better mouse and X window support? | ||
| 1263 | 2687 | ||
| 1264 | Emacs 18 has some limited X Window System support, but there are | 2688 | Emacs 18 has some limited X Window System support, but there are |
| 1265 | problems. Emacs 19 will have amazing mouse and window support. Right | 2689 | problems. Emacs 19 will have amazing mouse and window support. Right |
| 1266 | now, there is a modified version of Emacs 18.55 called "Epoch" which has | 2690 | now, there are Epoch which is derived from GNU Emacs 18.58 and Lucid GNU |
| 1267 | greatly improved mouse and window support. To obtain Epoch, see | 2691 | Emacs which is derived from an early unreleased version of GNU Emacs 19, |
| 1268 | question 21. | 2692 | both of which have greatly improved mouse and window support. See |
| 2693 | questions 120 and 121. | ||
| 2694 | |||
| 2695 | The HP unofficial GNU Emacs also has nice mouse support. See question | ||
| 2696 | 95. | ||
| 1269 | 2697 | ||
| 1270 | There are numerous Emacs Lisp packages that have been written to extend | 2698 | There are numerous Emacs Lisp packages that have been written to extend |
| 1271 | Emacs 18's mouse handling capabilities. Some of these packages also have | 2699 | Emacs 18's mouse handling capabilities. Some of these packages also have |
| 1272 | patches to the C code to provide enhanced capabilities. Look up "mouse" | 2700 | patches to the C code to provide enhanced capabilities. Look up `mouse' |
| 1273 | in the Lisp Code Directory (see question 17). | 2701 | in the Lisp Code Directory (see question 88). |
| 1274 | 2702 | ||
| 1275 | NOTE: Epoch only works with the X Window System; it does not work on | 2703 | There is a package called BAM (Born Again Menus) which provides menus for |
| 1276 | ordinary terminals. | 2704 | GNU Emacs via an external C program. It does not provide mouse support in |
| 2705 | the Emacs window such as scrollbars, cut-and-paste, etc. | ||
| 1277 | 2706 | ||
| 1278 | 35: Where can I get the "unofficial HP GNU Emacs"? | 2707 | NOTE: Epoch only works with the X Window System; it works on ordinary |
| 2708 | terminals by invoking regular GNU Emacs. Lucid Emacs does not currently | ||
| 2709 | work on ordinary terminals, although there are plans to fix this. | ||
| 1279 | 2710 | ||
| 1280 | The unofficial HP GNU Emacs is available via anonymous FTP | 2711 | 93: What is the difference between GNU Emacs and Epoch? |
| 1281 | (me10.lbl.gov:pub/interex/HUGE/HUGE.{README.HP,tar.Z.??}, | 2712 | |
| 1282 | ee.utah.edu:HUGE/*, PLEASE FTP DURING NON-WORK HOURS!!!) and takes about | 2713 | Marc Andreessen <marca@ncsa.uiuc.edu> writes: |
| 1283 | 35 megabytes of disk space to build. It is useful for non-HP machines, | 2714 | |
| 1284 | but some of the added features will only work under HP-UX. | 2715 | Epoch is GNU Emacs on steroids: an adaptation of GNU Emacs with lots of |
| 2716 | additional support for features made possible by the X11 windowing | ||
| 2717 | system. These features include multiple editing windows, arbitrary | ||
| 2718 | colors and fonts (fixed-width and proportional), selectable zones per | ||
| 2719 | buffer with arbitrary display styles (font, color, underline, stipple, | ||
| 2720 | pixmap), an optional separate minibuffer window, improved keyboard and | ||
| 2721 | mouse handling, full 8-bit character set support, and more. | ||
| 2722 | |||
| 2723 | 94: What is the difference between GNU Emacs and Lucid GNU Emacs? | ||
| 2724 | |||
| 2725 | This information is condensed from the release notice: | ||
| 2726 | |||
| 2727 | Lucid GNU Emacs is based on an early version of GNU Emacs version 19 | ||
| 2728 | with many enhancements. It currently requires X Windows to run. For | ||
| 2729 | information on where to get Lucid GNU Emacs see 121. X Windows support | ||
| 2730 | is greatly enhanced over GNU Emacs version 18, including support for | ||
| 2731 | multiple X Windows (a.k.a. screens in Emacs), Zmacs/Lispm style region | ||
| 2732 | highlighting, a customizable, Motif-like menubar, more powerful keymap | ||
| 2733 | support (allowing different actions to be associated with Backspace, | ||
| 2734 | Control-h, etc.), flexible text attribute (e.g. font, color) support on | ||
| 2735 | regional and screen-local basis through X resources and/or lisp, and | ||
| 2736 | support for the X11 selection mechanism. Some other features include | ||
| 2737 | run-time computation of the load-path, support for floating point | ||
| 2738 | numbers, native timer support, and sound file support on Sun | ||
| 2739 | SPARCstations. To build Lucid GNU Emacs, an ANSI C compiler (e.g. gcc) | ||
| 2740 | is required. | ||
| 2741 | |||
| 2742 | 95: Where can I get the "unofficial HP GNU Emacs"? | ||
| 2743 | |||
| 2744 | The unofficial HP GNU Emacs is available via anonymous FTP: | ||
| 2745 | |||
| 2746 | /ee.utah.edu:HUGE/ (PLEASE FTP DURING NON-WORK HOURS!!!) - | ||
| 2747 | |||
| 2748 | and takes about 35 megabytes of disk space to build. It is useful for | ||
| 2749 | non-HP machines, but some of the added features will only work under | ||
| 2750 | HP-UX. | ||
| 1285 | 2751 | ||
| 1286 | You will need to get patches to work with HP-UX 8.0 or on 700 series | 2752 | You will need to get patches to work with HP-UX 8.0 or on 700 series |
| 1287 | machines via e-mail from Darryl Okahata <darrylo@sr.hp.com>. | 2753 | machines via e-mail from Darryl Okahata <darrylo@sr.hp.com>. |
| 1288 | 2754 | ||
| 1289 | 36: Where can I get Emacs for my PC? | 2755 | 96: Where can I get Emacs for my PC running MS-DOS? |
| 1290 | 2756 | ||
| 1291 | ** Demacs | 2757 | * Demacs |
| 1292 | 2758 | ||
| 1293 | For 386 or 486 PCs, there is a version of GNU Emacs called Demacs. To get | 2759 | For 386 or 486 PCs running MS-DOS, there is a version of GNU Emacs |
| 1294 | Demacs see question 21. | 2760 | called Demacs. To get Demacs see question 122. |
| 1295 | 2761 | ||
| 1296 | From the announcement message: | 2762 | From the announcement message: |
| 1297 | 2763 | ||
| 1298 | Demacs is almost a full set of GNU Emacs but does not support some | 2764 | Demacs is almost a full set of GNU Emacs but does not support some |
| 1299 | features: asynchronous process, locking a file, etc. | 2765 | features: asynchronous process, locking a file, etc. |
| 1300 | 2766 | ||
| 1301 | Demacs provides following DOS specific features: | 2767 | Demacs provides following DOS specific features: |
| 1302 | 2768 | ||
| 1303 | * File type: text or binary file translation. | 2769 | * File type: text or binary file translation. |
| 1304 | * "8bit clean" display mode. | 2770 | * "8-bit clean" display mode. |
| 1305 | * 8086 software interrupt call by int86 lisp function. | 2771 | * 8086 software interrupt call by int86 lisp function. |
| 1306 | * Machine specific features such as function key support. | 2772 | * Machine specific features such as function key support. |
| 1307 | * File name completion with drive name. | 2773 | * File name completion with drive name. |
| 1308 | * Child process (suspend-emacs, call-process). | 2774 | * Child process (suspend-emacs, call-process). |
| 1309 | * Enhanced dired mode which can work without 'ls.exe'. | 2775 | * Enhanced dired mode which can work without 'ls.exe'. |
| 1310 | 2776 | ||
| 1311 | To our regret `shell-mode' does not work, but `compile' command works | 2777 | To our regret `shell-mode' does not work, but `compile' command works |
| 1312 | properly. | 2778 | properly. |
| 1313 | 2779 | ||
| 1314 | Demacs was developed using an MS-DOS version of gcc called djgpp by D. J. | 2780 | Demacs was developed using an MS-DOS version of gcc called djgpp by |
| 1315 | Delorie <dj@ctron.com> which can compile and run large programs under | 2781 | D. J. Delorie <dj@ctron.com> which can compile and run large programs |
| 1316 | MS-DOS, but not under MS Windows. Demacs was derived from Nemacs rather | 2782 | under MS-DOS, but not under MS Windows. Demacs was derived from Nemacs |
| 1317 | than straight from GNU Emacs. | 2783 | rather than straight from GNU Emacs. |
| 1318 | 2784 | ||
| 1319 | There are a variety of other Emacses for MS-DOS including among them the | 2785 | There are a variety of other Emacses for MS-DOS including among them the |
| 1320 | following. | 2786 | following. |
| 1321 | 2787 | ||
| 1322 | ** Freemacs | 2788 | * Freemacs |
| 1323 | 2789 | ||
| 1324 | Russ Nelson <nelson@sun.soe.clarkson.edu>, the author, describes | 2790 | Russ Nelson <nelson@sun.soe.clarkson.edu>, the author, describes |
| 1325 | Freemacs: | 2791 | Freemacs: |
| 1326 | 2792 | ||
| 1327 | * Freemacs is free, and it was designed from the start to be | 2793 | * Freemacs is free, and it was designed from the start to be |
| 1328 | programmable. | 2794 | programmable. |
| 1329 | * Freemacs is the only IBM-PC editor that tries to be like GNU Emacs. | 2795 | * Freemacs is the only IBM-PC editor that tries to be like GNU Emacs. |
| 1330 | * Freemacs can only edit files less than 64K in length. | 2796 | * Freemacs can only edit files less than 64K in length. |
| 1331 | * Freemacs doesn't have undo. | 2797 | * Freemacs doesn't have undo. |
| 1332 | 2798 | ||
| 1333 | Carl Witty <cwitty@cs.stanford.edu> describes Freemacs: | 2799 | Carl Witty <cwitty@cs.stanford.edu> reviews Freemacs: |
| 1334 | 2800 | ||
| 1335 | Better is Freemacs, which follows the tradition of ITS and GNU Emacs by | 2801 | Better is Freemacs, which follows the tradition of ITS and GNU Emacs |
| 1336 | having an full, turing-complete extension language which is incompatible | 2802 | by having an full, turing-complete extension language which is |
| 1337 | with everything else. In fact, it's even closer to ITS Emacs than GNU | 2803 | incompatible with everything else. In fact, it's even closer to ITS |
| 1338 | Emacs is, because Mint (Freemacs' extension language) is absolutely | 2804 | Emacs than GNU Emacs is, because Mint (Freemacs' extension language) |
| 1339 | illegible without weeks of study, much like TECO. | 2805 | is absolutely illegible without weeks of study, much like TECO. |
| 1340 | 2806 | ||
| 1341 | To get Freemacs see question 21. | 2807 | To get Freemacs see question 123. |
| 1342 | 2808 | ||
| 1343 | ** MicroEmacs | 2809 | * MicroEmacs |
| 1344 | 2810 | ||
| 1345 | MicroEmacs is a descendant of Microemacs {originally by Dave Conroy?}. It + | 2811 | MicroEmacs is a descendant of Microemacs {originally by Dave Conroy?}. |
| 1346 | is programmable in a BASIC-like language. Many of the keybindings are + | 2812 | It is programmable in a BASIC-like language. Many of the keybindings |
| 1347 | different from GNU Emacs. It is rumored that MicroEmacs can not correctly + | 2813 | are different from GNU Emacs. It is rumored that MicroEmacs can not |
| 1348 | edit files larger than memory. The author is Daniel Lawrence + | 2814 | correctly edit files larger than memory. The author is Daniel Lawrence |
| 1349 | <dan@mdbs.uucp, dan@midas.mgmt.purdue.edu, nwd@j.cc.purdue.edu>. The - | 2815 | <dan@mdbs.uucp, mdbs!dan@ee.ecn.purdue.edu>. The latest version is 3.11 ! |
| 1350 | latest version is 3.10 and it is available via anonymous FTP | 2816 | and it is available via anonymous FTP: |
| 1351 | (midas.mgmt.purdue.edu (non-working hours only), durer.cme.nist.gov, | 2817 | |
| 1352 | wuarchive.wustl.edu:/mirrors/msdos/memacs/*). Version 3.11 is in beta | 2818 | /wuarchive.wustl.edu:/mirrors/msdos/uemacs/ ! |
| 1353 | test. | 2819 | |
| 2820 | * JOVE | ||
| 1354 | 2821 | ||
| 1355 | ** JOVE | 2822 | Another Emacs for small machines is JOVE (Jonathan's Own Version of |
| 2823 | Emacs). The latest official version is 4.14. There appears to be a | ||
| 2824 | newer version. People rumored to be working on JOVE include Mark Moraes | ||
| 2825 | <moraes@cs.toronto.edu> and Bill Marsh <bmarsh@cod.nosc.mil>. It is | ||
| 2826 | available via anonymous FTP: | ||
| 1356 | 2827 | ||
| 1357 | Another Emacs for small machines is JOVE (Jonathan's Own Version of | 2828 | /cs.toronto.edu:/pub/moraes/jove4.14.7.tar.Z ! |
| 1358 | Emacs). The latest official version is 4.14. There appears to be a newer | ||
| 1359 | version. People rumored to be working on JOVE include Mark Moraes | ||
| 1360 | <moraes@cs.toronto.edu> and Bill Marsh <bmarsh@cod.nosc.mil>. It is | ||
| 1361 | available via anonymous FTP (cs.rochester.edu:/pub/jove.tar.4.14.Z, | ||
| 1362 | cs.toronto.edu:/pub/moraes/jove4.14.3.tar.Z, ftp.uu.net:????). + | ||
| 1363 | 2829 | ||
| 1364 | ** MG | 2830 | * MG |
| 1365 | 2831 | ||
| 1366 | MG is another descendant of Microemacs. MG used to stand for | 2832 | MG is another descendant of Microemacs. MG used to stand for |
| 1367 | MicroGNUEmacs, but now just stands for MG. The look-and-feel of MG is + | 2833 | MicroGNUEmacs, but now just stands for MG. The look-and-feel of MG is |
| 1368 | intended to be close to that of GNU Emacs. It is rumored that MG can not + | 2834 | intended to be close to that of GNU Emacs. It is rumored that MG can |
| 1369 | correctly edit files larger than memory. The current version is rumored + | 2835 | not correctly edit files larger than memory. The current version is |
| 1370 | to be 2. There is a version 3 in beta which works on the Amiga. It is | 2836 | rumored to be 2. There is a version 3 in beta which works on the Amiga. |
| 1371 | also available via anonymous FTP (ftp.white.toronto.edu:pub/mg/*, | 2837 | It is also available via anonymous FTP: |
| 1372 | wuarchive.wustl.edu: /mirrors/unix-c/editors/mg*, procyon.cis.ksu.edu | ||
| 1373 | (source and executable)). | ||
| 1374 | 2838 | ||
| 1375 | 37: Where can I get Emacs for my Atari ST? | 2839 | /ftp.white.toronto.edu:pub/mg/ |
| 2840 | /wuarchive.wustl.edu:/mirrors/unix-c/editors/ | ||
| 2841 | /procyon.cis.ksu.edu: (source and executable) | ||
| 2842 | |||
| 2843 | 97: Where can I get Emacs for my PC running Windows? | ||
| 2844 | |||
| 2845 | I believe that no version of GNU Emacs runs under Windows. Pierre Perret | ||
| 2846 | <pap@myths.az05.bull.com> has ported MicroEMACS 3.11c to Windows. | ||
| 1376 | 2847 | ||
| 1377 | Anonymous FTP: | 2848 | Anonymous FTP: |
| 1378 | cs.uni-sb.de:/pub/atari/emacs/???????? | 2849 | /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10.zip |
| 2850 | /ftp.cica.indiana.edu:pub/pc/win3/util/mewin10s.zip | ||
| 2851 | /ftp.cica.indiana.edu:pub/pc/win3/util/mewri.zip | ||
| 2852 | |||
| 2853 | 98: Where can I get Emacs for my PC running OS/2? | ||
| 1379 | 2854 | ||
| 1380 | 38: Where can I get Emacs for my Amiga? | 2855 | From the OS/2 Programmer's FAQ: |
| 2856 | |||
| 2857 | GNU Emacs 18.58 is available. It requires you to have EMX installed | ||
| 2858 | on your machine, but it comes with all the EMX files you will need. | ||
| 2859 | Emacs is available on ftp-os2 in /pub/os2/2.0/gnu/emacs. (If you want | ||
| 2860 | to recompile emacs, you will need the full EMX distribution see | ||
| 2861 | question 1.2.) | ||
| 2862 | |||
| 2863 | The above quote may be out of date. See the latest OS/2 Programmer's FAQ | ||
| 2864 | {perhaps in comp.os.os2.misc?} for the latest news. Anonymous FTP info: | ||
| 2865 | |||
| 2866 | /ftp-os2.nmsu.edu:pub/os2/2.0/gnu/emacs/ | ||
| 2867 | ("ftp-os2" was formerly named "hobbes") | ||
| 2868 | |||
| 2869 | Thanks go to Stephen Simpson <simpson@symcom.math.uiuc.edu>, Jonathan | ||
| 2870 | Miller <jem+@andrew.cmu.edu>, Terry Kane <terryk@cc.gatech.edu>, J. D. | ||
| 2871 | Baldwin <baldwin@csservera.usna.navy.mil>, and Ken Bass | ||
| 2872 | <kbass@gmuvax2.gmu.edu>. | ||
| 2873 | |||
| 2874 | 99: Where can I get Emacs for my Atari ST? | ||
| 2875 | |||
| 2876 | Emacs 18.57 is the latest version for TOS. Stefan Mueller-Pfeiffer | ||
| 2877 | <iff327@zam001.zam.kfa-juelich.de> says: | ||
| 2878 | |||
| 2879 | There is also a version for MiNT, the multitasking enhancement for | ||
| 2880 | ATARI's TOS, which behaves almost like EMACS on a "real computer". This | ||
| 2881 | port was done by Erling Henanger <erlingh@idt.unit.no>. | ||
| 2882 | |||
| 2883 | Anonymous FTP: | ||
| 2884 | /atari.archive.umich.edu:atari/gnustuff/tos/ (TOS Emacs 18.57) | ||
| 2885 | /atari.archive.umich.edu:atari/new/mntemacs.zoo (MiNT Emacs) | ||
| 2886 | /cs.uni-sb.de:/pub/atari/emacs/ | ||
| 2887 | |||
| 2888 | 100: Where can I get Emacs for my Amiga? | ||
| 1381 | 2889 | ||
| 1382 | All of the files are lharc-ed. | 2890 | All of the files are lharc-ed. |
| 1383 | 2891 | ||
| 1384 | Anonymous FTP: | 2892 | Anonymous FTP: |
| 1385 | oes.orst.edu:/pub/almanac/comp/amiga/software/gnuemacs-1.10/* | 2893 | /oes.orst.edu:/pub/almanac/comp/amiga/software/gnuemacs-1.10/ |
| 1386 | 2894 | ||
| 1387 | Via e-mail: | 2895 | Via e-mail: |
| 1388 | To: almanac@oes.orst.edu: | 2896 | To: almanac@oes.orst.edu |
| 1389 | body: | 2897 | body: |
| 1390 | mode uuencode | 2898 | mode uuencode |
| 1391 | send computer amiga software gnuemacs <file> | 2899 | send computer amiga software gnuemacs <file> |
| @@ -1393,13 +2901,13 @@ GNU Emacs and Various Computing Environments | |||
| 1393 | Required: d1.lzh d2.lzh | 2901 | Required: d1.lzh d2.lzh |
| 1394 | Recommended: d3_info.lzh d3_infolisp.lzh | 2902 | Recommended: d3_info.lzh d3_infolisp.lzh |
| 1395 | Optional: d3_autoloaded.lzh d3_entertainmentetc.lzh | 2903 | Optional: d3_autoloaded.lzh d3_entertainmentetc.lzh |
| 1396 | d3_entertainmentlisp.lzh d4_src.lzh d5_languagelisp.lzh | 2904 | d3_entertainmentlisp.lzh d4_src.lzh d5_languagelisp.lzh |
| 1397 | d5_viclone.lzh d6_gnulibsrc.lzh d6_mailpackage.lzh | 2905 | d5_viclone.lzh d6_gnulibsrc.lzh d6_mailpackage.lzh |
| 1398 | d6_mathpackage.lzh d6_misc.lzh d6_textformat.lzh | 2906 | d6_mathpackage.lzh d6_misc.lzh d6_textformat.lzh |
| 1399 | The `d#' at the beginning of each file is its disk number, which is | 2907 | The `d#' at the beginning of each file is its disk number, which is |
| 1400 | referred to by the documentation. | 2908 | referred to by the documentation. |
| 1401 | 2909 | ||
| 1402 | 39: Where can I get Emacs for my Apple computer? | 2910 | 101: Where can I get Emacs for my Apple computer? |
| 1403 | 2911 | ||
| 1404 | The FSF is a participant in a boycott of Apple because of Apple's "look | 2912 | The FSF is a participant in a boycott of Apple because of Apple's "look |
| 1405 | and feel" copyright suits. See the file etc/APPLE for more details. | 2913 | and feel" copyright suits. See the file etc/APPLE for more details. |
| @@ -1408,20 +2916,26 @@ GNU Emacs and Various Computing Environments | |||
| 1408 | 2916 | ||
| 1409 | Please don't help people port or develop software for Apple computers. | 2917 | Please don't help people port or develop software for Apple computers. |
| 1410 | 2918 | ||
| 1411 | 40: Where can I get Emacs with NeWS support? | 2919 | 102: Where can I get Emacs with NeWS support? |
| 2920 | |||
| 2921 | Chris Maio's NeWS support package for GNU Emacs is available via anonymous | ||
| 2922 | FTP: | ||
| 2923 | |||
| 2924 | /columbia.edu:pub/ps-emacs.tar.Z | ||
| 2925 | /archive.cis.ohio-state.edu:pub/gnu/emacs/ps-emacs.tar.Z | ||
| 1412 | 2926 | ||
| 1413 | Chris Maio's NeWS support package for GNU Emacs is available via | 2927 | and via e-mail: |
| 1414 | anonymous FTP (columbia.edu:pub/ps-emacs.tar.Z, - | ||
| 1415 | archive.cis.ohio-state.edu:pub/gnu/emacs/ps-emacs.tar.Z) and via e-mail ! | ||
| 1416 | (body: send NeWS emacs-support, To: archive-server@columbia.edu). + | ||
| 1417 | 2928 | ||
| 1418 | 41: How do I get Emacs running on VMS under DECwindows? | 2929 | To: archive-server@columbia.edu |
| 2930 | body: send NeWS emacs-support | ||
| 2931 | |||
| 2932 | 103: Where do I get Emacs that runs on VMS under DECwindows? | ||
| 1419 | 2933 | ||
| 1420 | Hal R. Brand <BRAND@addvax.llnl.gov> is said to have a VMS save set with a | 2934 | Hal R. Brand <BRAND@addvax.llnl.gov> is said to have a VMS save set with a |
| 1421 | ready-to-run VMS version of Emacs 18.55 for X Windows. It is available | 2935 | ready-to-run VMS version of Emacs 18.55 for X Windows. It is available |
| 1422 | via anonymous FTP (addvax.llnl.gov). It is possible that the VMS versions + | 2936 | via anonymous FTP (addvax.llnl.gov). It is possible that the VMS versions |
| 1423 | of Emacs at other sites have X support compiled in. See etc/FTP for + | 2937 | of Emacs at other sites have X support compiled in. See etc/FTP for |
| 1424 | locations. + | 2938 | locations. |
| 1425 | 2939 | ||
| 1426 | Johan Vromans <jv@mh.nl> writes: | 2940 | Johan Vromans <jv@mh.nl> writes: |
| 1427 | 2941 | ||
| @@ -1436,204 +2950,494 @@ GNU Emacs and Various Computing Environments | |||
| 1436 | The set of changes have been posted a number of times three times the | 2950 | The set of changes have been posted a number of times three times the |
| 1437 | last 12 months, so they should be widely available. | 2951 | last 12 months, so they should be widely available. |
| 1438 | 2952 | ||
| 1439 | 42: How do I use emacstool under SunView? | 2953 | Richard Levitte <levitte@e.kth.se> tells us that there are patches for |
| 2954 | Emacs 18.57 and 18.58 available via e-mail: | ||
| 1440 | 2955 | ||
| 1441 | First read the man page for emacstool (etc/emacstool.1). The file ! | 2956 | To: fileserv@ttt.kth.se |
| 1442 | etc/SUN-SUPPORT includes further information. + | 2957 | body: SEND EMACS-1857-PATCHES |
| 2958 | or: SEND EMACS-1858-PATCHES | ||
| 1443 | 2959 | ||
| 1444 | 43: How do I make Emacs display 8-bit characters? | 2960 | 104: Where can I get modes for Lex, Yacc/Bison, Bourne Shell, Csh, C++, |
| 2961 | Objective C, Pascal, Awk? | ||
| 1445 | 2962 | ||
| 1446 | There is a patch called the `8-bit ctl-arrow patch' that allows Emacs to | 2963 | As usual, look in the Lisp Code Directory (see question 88). For C++, |
| 1447 | display characters with codes from 128 to 255. {It appears to be by | 2964 | if you use lisp-dir-apropos, you must specify the pattern like this: |
| 1448 | Kenneth Cline <cline@proof.ergo.cs.cmu.edu>.} | ||
| 1449 | 2965 | ||
| 1450 | Anonymous FTP: | 2966 | M-x lisp-dir-apropos RET c\+\+ RET |
| 1451 | cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57 | ||
| 1452 | sics.se:archive/emacs-18.55-8bit-diff (new version not available) | ||
| 1453 | laas.laas.fr:pub/emacs/patch-8bit-18.5{5,7} | ||
| 1454 | 2967 | ||
| 1455 | Via e-mail: + | 2968 | 105: What is the IP address of XXX.YYY.ZZZ? |
| 1456 | To: mail-server@sics.se | ||
| 1457 | body: send emacs-18.55-8bit-diff | ||
| 1458 | 2969 | ||
| 1459 | Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive | 2970 | If you are at a site with a deficient nameserver, you may need to know |
| 1460 | patch that allows for 8-bit input and output. | 2971 | the IP address of a host to FTP files from it. You can get this |
| 2972 | information in two ways: | ||
| 1461 | 2973 | ||
| 1462 | Anonymous FTP: | 2974 | * By telnet: |
| 1463 | sics.se:archive/emacs-8bit-diff-lth | ||
| 1464 | gatekeeper.dec.com:pub/GNU/DS-emacs-18.57-8bit-diff-lth | ||
| 1465 | 2975 | ||
| 1466 | The most comprehensive patches for 8-bit output are by Howard Gayle for - | 2976 | telnet nic.ddn.mil hostnames (or `telnet 192.112.36.5 101') |
| 1467 | Emacs 18.55. These patches allow displaying any arbitrary string for a | 2977 | hname XXX.YYY.ZZZ |
| 1468 | given 8-bit character (except TAB and C-j). Also supported is defining + | ||
| 1469 | the sorting order and the uppercase and lowercase translations. It is + | ||
| 1470 | reported that the 8-bit character support in Emacs 19 is largely based on + | ||
| 1471 | these patches. Thomas Bellman <Bellman@lysator.liu.se> has updated these ! | ||
| 1472 | patches for Emacs 18.57. ! | ||
| 1473 | 2978 | ||
| 1474 | Anonymous FTP: | 2979 | * By e-mail: |
| 1475 | sics.se:archive/emacs-gayle.tar.Z (patches for 18.55) + | ||
| 1476 | ftp.lysator.liu.se:pub/emacs/gayle-18.57.diff.tar.Z (patches for 18.57) + | ||
| 1477 | ftp.lysator.liu.se:pub/emacs/emacs-18.57-gayle.tar.Z (patched 18.57) + | ||
| 1478 | + | ||
| 1479 | Nemacs displays 8-bit characters, and it may be useful for displaying the + | ||
| 1480 | 8-bit ISO-8859 alphabet, but I don't know for sure. See question 46. + | ||
| 1481 | 2980 | ||
| 1482 | 44: How do I input 8-bit characters? | 2981 | To: service@nic.ddn.mil |
| 2982 | Subject: host XXX.YYY.ZZZ | ||
| 2983 | or: whois XXX.YYY.ZZZ | ||
| 2984 | or: help | ||
| 1483 | 2985 | ||
| 1484 | Minor modes for ISO Latin-1 that allow one to easily input this character | 2986 | or: |
| 1485 | set have been written by several people. Such modes have been written by ! | ||
| 1486 | Matthieu Herrb <matthieu@laas.fr> (laas.laas.fr:pub/emacs/iso-latin-1.el), ! | ||
| 1487 | Johan Vromans <jv@mh.nl> {FTP site??}, and Marc Shapiro + | ||
| 1488 | <shapiro@sor.inria.fr> {FTP site??}. + | ||
| 1489 | 2987 | ||
| 1490 | These approaches differ from the one taken by Anders Edenbrandt in that | 2988 | To: resolve@cs.widener.edu |
| 1491 | his method uses direct 8-bit input, while these methods use a compose | 2989 | body: site XXX.YYY.ZZZ |
| 1492 | sequence for 8-bit characters. {I have heard conflicting reports on | ||
| 1493 | whether this results in losing the Meta key. Perhaps this depends on | ||
| 1494 | whether Emacs is running under X. Can someone resolve this?} | ||
| 1495 | 2990 | ||
| 1496 | Karl Heuer <karl@haddock.ima.isc.com> is said to have a patch to allow ! | 2991 | Information from Brendan Kehoe <brendan@cs.widener.edu>. |
| 1497 | 8-bit input. | ||
| 1498 | 2992 | ||
| 1499 | 45: How do I use an already running Emacs from another window? | 2993 | |
| 2994 | |||
| 2995 | |||
| 2996 | Major Emacs Lisp Packages, Emacs Extensions, and Related Programs | ||
| 2997 | |||
| 2998 | This section lists version numbers, FTP sites, mailing lists, newsgroups, | ||
| 2999 | and other information for many important packages, extensions, and related | ||
| 3000 | programs. There is some overlap with the Lisp Code Directory, but these | ||
| 3001 | entries give more detailed information. | ||
| 1500 | 3002 | ||
| 1501 | The `emacsclient' program is for editing a file using an already running | 3003 | If you know of any other packages that are so substantial that they |
| 1502 | Emacs rather than starting up a new Emacs. It does this by sending a | 3004 | deserve to be mentioned here, please tell me. Having its own mailing list |
| 1503 | request to the already running Emacs, which must be expecting the request. + | 3005 | or newsgroup or more than half a megabyte of source code are good signs. |
| 1504 | + | ||
| 1505 | * Setup + | ||
| 1506 | + | ||
| 1507 | Emacs must have executed the `server-start' function for emacsclient to ! | ||
| 1508 | work. This can be done either by a command line option: | ||
| 1509 | 3006 | ||
| 1510 | emacs -f server-start | 3007 | 106: VM (View Mail) -- another mail reader within Emacs |
| 1511 | 3008 | ||
| 1512 | or by invoking server-start from the .emacs file: | 3009 | Author: Kyle Jones <kyle@uunet.uu.net> |
| 3010 | Latest released version: 4.41 | ||
| 3011 | Beta test version: 5.32 | ||
| 3012 | Anonymous FTP: | ||
| 3013 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/vm-4.41.tar.Z | ||
| 3014 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/as-is/timer.shar.Z | ||
| 3015 | /ftp.uu.net:mail/vm-4.41.tar.Z | ||
| 3016 | /ftp.uu.net:mail/vm-5.32beta.tar.Z | ||
| 3017 | Newsgroups and mailing lists: | ||
| 3018 | Info-VM: | ||
| 3019 | gnu.emacs.vm.info | ||
| 3020 | info-vm-request@uunet.uu.net (for subscriptions) | ||
| 3021 | info-vm@uunet.uu.net (for submissions) | ||
| 3022 | Bug-VM: | ||
| 3023 | gnu.emacs.vm.bug | ||
| 3024 | bug-vm-request@uunet.uu.net (for subscriptions) | ||
| 3025 | bug-vm@uunet.uu.net (for submissions) | ||
| 3026 | |||
| 3027 | 107: Supercite -- mail and news citation package within Emacs | ||
| 3028 | |||
| 3029 | Author: Barry Warsaw <bwarsaw@cen.com> | ||
| 3030 | Mailing list: supercite-request@anthem.nlm.nih.gov (for subscriptions) | ||
| 3031 | supercite@anthem.nlm.nih.gov (for submissions) | ||
| 3032 | Latest version: 2.2 | ||
| 3033 | Anonymous FTP: | ||
| 3034 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/sc-2.2.tar.Z | ||
| 3035 | /ftp.cme.nist.gov:pub/gnu/sc2.2.tar.Z | ||
| 3036 | Via e-mail: | ||
| 3037 | To: library@cme.nist.gov | ||
| 3038 | Subject: help | ||
| 3039 | NOTE: Superyank is an old version of Supercite. | ||
| 1513 | 3040 | ||
| 1514 | (if (some conditions are met) (server-start)) | 3041 | 108: GNUS -- news reader within Emacs |
| 1515 | 3042 | ||
| 1516 | When this is done, Emacs starts a subprocess running a program called | 3043 | Author: Masanobu Umeda <umerin@mse.kyutech.ac.jp> |
| 1517 | `server'. `server' creates a Unix domain socket in the user's home | 3044 | Latest official version: 3.13 |
| 1518 | directory named `.emacs_server'. | 3045 | Unofficial test version: 3.14.1 |
| 3046 | Anonymous FTP: | ||
| 3047 | /cs.umn.edu:pub/gnu/emacs/gnus-3.14.1.tar.Z. | ||
| 3048 | /aun.uninett.no:pub/gnus-3.14.1.tar.Z | ||
| 3049 | /wnoc-fuk.wide.ad.jp:pub/GNU/etc/gnus-3.14.1.tar.Z | ||
| 3050 | /liasun3.epfl.ch:pub/gnu/emacs/gnus-3.14.1.tar.Z | ||
| 3051 | /aix370.rrz.uni-koeln.de:/pub/gnu/emacs/gnus-3.14.1.tar.Z | ||
| 3052 | /funet.fi:/networking/news/gnus-3.14.1.tar.Z | ||
| 3053 | /src.doc.ic.ac.uk:/gnu/EmacsBits/gnus/gnus-3.14.1.tar.Z | ||
| 3054 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/gnus-3.13.tar.Z | ||
| 3055 | Newsgroups and mailing lists: | ||
| 3056 | English-only: | ||
| 3057 | gnu.emacs.gnus | ||
| 3058 | info-gnus-english-request@cis.ohio-state.edu (for subscriptions) | ||
| 3059 | info-gnus-english@cis.ohio-state.edu (for submissions) | ||
| 3060 | Japanese (and some English): | ||
| 3061 | info-gnus-request@flab.fujitsu.co.jp (for subscriptions) | ||
| 3062 | info-gnus@flab.fujitsu.co.jp (for submissions) | ||
| 3063 | |||
| 3064 | 109: Calc -- poor man's Mathematica within Emacs | ||
| 3065 | |||
| 3066 | Author: Dave Gillespie <daveg@csvax.cs.caltech.edu> | ||
| 3067 | Latest released version: 2.02 | ||
| 3068 | Anonymous FTP: | ||
| 3069 | /csvax.cs.caltech.edu:pub/calc-2.02.tar.Z | ||
| 3070 | /prep.ai.mit.edu:pub/gnu/calc-2.02.tar.Z | ||
| 3071 | NOTE: Unlike Wolfram Research, Dave has never threatened to sue anyone | ||
| 3072 | for having a program with a similar command language to Calc. :-) | ||
| 1519 | 3073 | ||
| 1520 | To get your news reader, mail reader, etc., to invoke emacsclient, try + | 3074 | 110: Calendar/Diary -- calendar manager within Emacs |
| 1521 | setting the environment variable EDITOR (or sometimes VISUAL) to the + | ||
| 1522 | value `emacsclient'. You may have to specify the full pathname of the + | ||
| 1523 | emacsclient program instead. Examples: + | ||
| 1524 | + | ||
| 1525 | # csh commands: + | ||
| 1526 | setenv EDITOR emacsclient + | ||
| 1527 | setenv EDITOR /usr/local/emacs/etc/emacsclient # using full pathname + | ||
| 1528 | + | ||
| 1529 | # sh command: + | ||
| 1530 | EDITOR=emacsclient export EDITOR + | ||
| 1531 | + | ||
| 1532 | * Normal use + | ||
| 1533 | 3075 | ||
| 1534 | When emacsclient is run, it connects to the `.emacs_server' socket and ! | 3076 | Author: Edward M. Reingold <reingold@cs.uiuc.edu> |
| 1535 | passes its command line options to `server'. When `server' receives - | 3077 | Latest version: 4.02 |
| 1536 | these requests, it sends this information on the the Emacs process, | 3078 | Anonymous FTP: |
| 1537 | which at the next opportunity will visit the files specified. (Line | 3079 | /emr.cs.uiuc.edu:pub/emacs/calendar {???} |
| 1538 | numbers can be specified just like with Emacs.) When the user is done | 3080 | Via e-mail: |
| 1539 | editing a file, the user can type "C-x #" to indicate this. This will | 3081 | To: reingold@cs.uiuc.edu |
| 1540 | switch to another buffer created at the request of emacsclient if there | 3082 | Subject: send-emacs-cal |
| 1541 | are any. When "C-x #" has been invoked on all of the files that the | 3083 | Put your best internet e-mail address in the body. |
| 1542 | emacsclient requested to be edited, Emacs will send notification of this | ||
| 1543 | to `server' which will pass this on to the emacsclient, which will then | ||
| 1544 | exit. | ||
| 1545 | |||
| 1546 | NOTE: `emacsclient' and `server' must be running on machines which share + | ||
| 1547 | the same filesystem for this to work. The pathnames that emacsclient + | ||
| 1548 | specifies should be correct for the filesystem that the Emacs process + | ||
| 1549 | sees, which is not necessarily the same as the one the emacsclient sees. + | ||
| 1550 | The Emacs process should not be suspended at the time emacsclient is + | ||
| 1551 | invoked. Thus, emacsclient should either be invoked from another X window + | ||
| 1552 | or from a shell window inside Emacs itself. + | ||
| 1553 | |||
| 1554 | There is an enhanced version of emacsclient/server called `gnuserv' by ! | ||
| 1555 | Andy Norman <ange@hplb.hpl.hp.com> which is available in the Emacs Lisp | ||
| 1556 | Archive. gnuserv uses Internet domain sockets, so it can work across most | ||
| 1557 | network connections. It also supports the execution of arbitrary Emacs | ||
| 1558 | Lisp forms, not just the ability to visit files, and also does not require + | ||
| 1559 | the client program to wait for completion. It is available via anonymous + | ||
| 1560 | FTP (Emacs Lisp Archive: packages/gnuserv.shar). | ||
| 1561 | 3084 | ||
| 1562 | 46: Where can I get an Emacs that can handle kanji characters? - | 3085 | 111: Ange-FTP -- transparent FTP access for Emacs's file access routines |
| 1563 | 3086 | ||
| 1564 | Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55 | 3087 | Author: Andy Norman <ange@hplb.hpl.hp.com> |
| 1565 | that handles kanji characters. It is available via anonymous FTP | 3088 | Latest official version: 4.20 |
| 1566 | (crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z, uhccux.uhcc.hawaii.edu: | 3089 | Anonymous FTP: |
| 1567 | editors/Nemacs-3.3.2/*, miki.cs.titech.ac.jp: | 3090 | /alpha.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.Z |
| 1568 | JAPAN/nemacs/nemacs-3.3.2.tar.Z). You might also need files for "wnn", a | 3091 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z |
| 1569 | kanji input method (wnn-4.0.3{-README,.tar.Z} {on which machine?}). You + | 3092 | /ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z + |
| 1570 | need a terminal (or terminal emulator) that can display text encoded in + | 3093 | Mailing lists: |
| 1571 | JIS, Shift-JIS, or EUC (Extended Unix Code), or the ability to run Nemacs + | 3094 | ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions) |
| 1572 | as a direct X Window client. + | 3095 | Ange-FTP Lovers: |
| 3096 | ange-ftp-lovers@anorman.hpl.hp.com (for submissions) | ||
| 3097 | /ftp.reed.edu:pub/mailing-lists/ange-ftp/ (archives) | ||
| 3098 | Ange-FTP Announcements: | ||
| 3099 | ange-ftp-lovers-announce@anorman.hpl.hp.com | ||
| 3100 | NOTE: now with support for accessing VMS, CMS, and MTS systems | ||
| 3101 | |||
| 3102 | 112: VIP -- vi emulation for Emacs | ||
| 3103 | |||
| 3104 | Author: Aamod Sane <sane@cs.uiuc.edu> | ||
| 3105 | Latest released version: 4.3 | ||
| 3106 | Anonymous FTP: | ||
| 3107 | /cs.uiuc.edu:pub/vip4.3.tar.Z | ||
| 3108 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/modes/vip-mode.tar.Z | ||
| 3109 | NOTE: This version much more closely emulates vi than the one | ||
| 3110 | distributed with Emacs. | ||
| 1573 | 3111 | ||
| 1574 | 47: Where can I get an Emacs that can handle Chinese? | 3112 | 113: Dired -- better directory editor for Emacs |
| 1575 | 3113 | ||
| 1576 | `cemacs' by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs | 3114 | Author: Sebastian Kremer <sk@thp.uni-koeln.de> |
| 1577 | 18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with | 3115 | Latest released version: 5.239 |
| 1578 | Cxterm allows using Chinese characters. It is available via anonymous FTP | 3116 | Anonymous FTP: /ftp.cs.buffalo.edu:pub/Emacs/diredall.tar.Z |
| 1579 | (crl.nmsu.edu:pub/chinese/cemacs.tar.Z, cs.purdue.edu: | 3117 | /ftp.uni-koeln.de:pub/gnu/emacs/diredall.tar.Z |
| 1580 | pub/ygz/cemacs.tar.Z). Cxterm is available from the same place | 3118 | NOTE: This is a huge improvement over the Dired distributed with Emacs. |
| 1581 | (cs.purdue.edu: pub/ygz/cxterm-11.5.1.tar.Z). | 3119 | This version will be in Emacs 19. |
| 1582 | 3120 | ||
| 1583 | 48: Where is an Emacs that can handle Semitic (right-to-left) alphabets? | 3121 | 114: AUC TeX -- enhanced LaTeX mode with debugging facilities |
| 1584 | 3122 | ||
| 1585 | Joel M. Hoffman <joel@wam.umd.edu> writes: | 3123 | Author: Kresten Krab Thorup <krab@iesd.auc.dk> |
| 3124 | Latest released version: 6.1 {???} | ||
| 3125 | Anonymous FTP: | ||
| 3126 | /iesd.auc.dk:pub/emacs-lisp/auctex_6_1d.tar.Z ! | ||
| 3127 | /iesd.auc.dk:pub/emacs-lisp/auctex.tar.Z ! | ||
| 3128 | Mailing list: | ||
| 3129 | auc-tex-request@iesd.auc.dk (for subscriptions) | ||
| 3130 | auc-tex@iesd.auc.dk (for submissions) | ||
| 3131 | auc-tex_mgr@iesd.auc.dk (auc-tex development team) | ||
| 1586 | 3132 | ||
| 1587 | A couple of years ago a wrote a hebrew.el file that allows right-to-left | 3133 | 115: Hyperbole -- extensible hypertext management system within Emacs |
| 1588 | editing of Hebrew. I relied on the hardware to display the Hebrew | ||
| 1589 | letters, given the right codes, but not for any right-to-left support; | ||
| 1590 | the hardware also doesn't have to send any specific char. codes. Emacs | ||
| 1591 | keeps track of when the user is typing Hebrew vs. English. (The VT-* | ||
| 1592 | terminals in Israel contain built-in support for Hebrew.) | ||
| 1593 | 3134 | ||
| 1594 | To get it to work I had to modify only a few lines of GNU Emacs's source | 3135 | Author: Bob Weiner <rsw@cs.brown.edu> |
| 1595 | code --- just enough to make it 8-bit clean. | 3136 | Anonymous FTP: |
| 3137 | /wilma.cs.brown.edu:pub/hyperbole/ h*.tar.Z | ||
| 3138 | Mailing lists: | ||
| 3139 | hyperbole-announce -- Hyperbole release announcements only. | ||
| 3140 | Subscriptions: | ||
| 3141 | To: hyperbole-request@cs.brown.edu | ||
| 3142 | Subject: Add <mailbox@domain.name> to hyperbole-announce | ||
| 3143 | hyperbole -- Hyperbole discussion. | ||
| 3144 | Subscriptions: | ||
| 3145 | To: hyperbole-request@cs.brown.edu | ||
| 3146 | Subject: Add <mailbox@domain.name> to hyperbole | ||
| 3147 | Submissions: | ||
| 3148 | hyperbole@cs.brown.edu | ||
| 3149 | NOTE: Any member of the hyperbole mailing list is automatically a | ||
| 3150 | member of the hyperbole-announce mailing list. | ||
| 3151 | NOTE: No .UUCP or ! addresses are allowed on these mailing lists. | ||
| 3152 | |||
| 3153 | 116: Byte Compiler -- enhanced version of Emacs's byte compiler | ||
| 3154 | |||
| 3155 | Author: Jamie Zawinski <jwz@lucid.com>, | ||
| 3156 | Hallvard B. Furuseth <hallvard@ifi.uio.no> | ||
| 3157 | Anonymous FTP: | ||
| 3158 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bytecomp.tar.Z | ||
| 3159 | /ftp.uu.net:languages/elisp/packages/bytecomp.tar.Z | ||
| 3160 | /src.doc.ic.ac.uk:gnu/EmacsBits/elisp-archive/packages/bytecomp.tar.Z | ||
| 1596 | 3161 | ||
| 1597 | [and in a separate message:] | 3162 | 117: comint -- hugely enhanced shell mode and other derived modes |
| 1598 | 3163 | ||
| 1599 | It doesn't produce time-order ["sefer" format] (I wouldn't recommend | 3164 | Author: Olin Shivers <Olin.Shivers@cs.cmu.edu> |
| 1600 | trying that with emacs, because converting time-order to screen-order | 3165 | Anonymous FTP: |
| 1601 | with arbitrarily long lines is a bit tricky), but I also concocted a | 3166 | /cs.cmu.edu:/afs/cs.cmu.edu/user/shivers/lib/emacs/ |
| 1602 | quick filter to convert screen-order into time-order. I'll be happy to | 3167 | {comint,cmu{tex,shell,scheme,lisp},ml}.el |
| 1603 | send you the requisite files if you want them. If you're using it for | 3168 | (anonymous password must contain `@', |
| 1604 | anything large, however, you'll want something that works better. | 3169 | cannot cd to intermediate directories) |
| 1605 | 3170 | ||
| 1606 | Joseph Friedman <yossi@Neon.Stanford.EDU> wrote something for Emacs that | 3171 | 118: BBDB -- personal info rolodex integrated with mail/news readers |
| 1607 | provides Hebrew support under X Windows. | ||
| 1608 | 3172 | ||
| 1609 | Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by | 3173 | Author: Jamie Zawinski <jwz@lucid.com> |
| 1610 | modifying self-insert-command "for Hebrew input on 7-bit keyboards". | 3174 | Latest released version: 1.47 |
| 3175 | Anonymous FTP: | ||
| 3176 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/bbdb.tar.Z | ||
| 3177 | Mailing list: | ||
| 3178 | info-bbdb-request@lucid.com (for subscriptions) | ||
| 3179 | info-bbdb@lucid.com | ||
| 3180 | bbdb-announce-request@lucid.com (to be informed of new releases) | ||
| 3181 | Note: BBDB does not work with VM 4. It does work with VM 5, RMAIL, GNUS, | ||
| 3182 | and MH-E. | ||
| 3183 | |||
| 3184 | 119: Ispell -- spell checker in C with interface for Emacs | ||
| 3185 | |||
| 3186 | Author: Geoff Kuenning <geoff@itcorp.com> | ||
| 3187 | Latest released version: 2.0.02 | ||
| 3188 | Beta test version: 3.0 (9 patches) | ||
| 3189 | Anonymous FTP: | ||
| 3190 | /archive.cis.ohio-state.edu:/pub/gnu/ispell/ (version 2.0.02) | ||
| 3191 | /ftp.cs.ucla.edu:/pub/ispell/ (version 3.0, patches, dictionaries) | ||
| 3192 | /argus.math.orst.edu:pub/ispell/ (version 3.0, patches, dictionaries) | ||
| 3193 | /ftp.th-darmstadt.de:pub/dicts/ispell/ (mirror of argus) | ||
| 3194 | NOTE: Do not send mail to Geoff asking him to send you the latest | ||
| 3195 | version of Ispell. He does not have free e-mail. | ||
| 3196 | |||
| 3197 | 120: Epoch -- enhanced GNU Emacs with better X interface | ||
| 3198 | |||
| 3199 | Latest released version: 4.2 | ||
| 3200 | Anonymous FTP: | ||
| 3201 | /cs.uiuc.edu:pub/epoch-files/epoch/epoch-4.2.tar.Z | ||
| 3202 | /cs.uiuc.edu:pub/epoch-files/epoch/epoch-diff-4.1-4.2.tar.Z | ||
| 3203 | /src.doc.ic.ac.uk:gnu/epoch/ | ||
| 3204 | /aix370.rrz.uni-koeln.de:gnu/emacs/epoch/ | ||
| 3205 | Newsgroup and mailing lists: | ||
| 3206 | Epoch: | ||
| 3207 | gnu.emacs.epoch | ||
| 3208 | epoch-request@cs.uiuc.edu (for subscriptions) | ||
| 3209 | epoch@cs.uiuc.edu (for submissions) | ||
| 3210 | Epoch-Design: | ||
| 3211 | epoch-design-request@cs.uiuc.edu (for subscriptions) | ||
| 3212 | epoch-design@cs.uiuc.edu (for submissions) | ||
| 3213 | FAQ list: | ||
| 3214 | Maintainer: Marc Andreessen <marca@ncsa.uiuc.edu> | ||
| 3215 | Anonymous FTP: | ||
| 3216 | /rtfm.mit.edu:pub/usenet/news.answers/epoch-faq | ||
| 3217 | /ftp.ncsa.uiuc.edu:outgoing/marca/epoch/Epoch.FAQ | ||
| 1611 | 3218 | ||
| 1612 | A good suggestion is to query archie for files named with "hebrew". | 3219 | 121: Lucid GNU Emacs -- alternative Emacs 19 with better X interface |
| 3220 | |||
| 3221 | Primary Maintainer: Jamie Zawinski <jwz@lucid.com> | ||
| 3222 | Other Developers: Eric Benson <eb@lucid.com> | ||
| 3223 | Matthieu Devin <devin@lucid.com> | ||
| 3224 | Harlan Sexton <hbs@lucid.com> | ||
| 3225 | Latest released version: 19.3 | ||
| 3226 | Anonymous FTP: | ||
| 3227 | /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.3.tar.Z (source) | ||
| 3228 | /labrea.stanford.edu:pub/gnu/lucid/lemacs-19.3-sun4.tar.Z (Sun4binaries) | ||
| 3229 | Newsgroup and mailing lists: | ||
| 3230 | Bugs: | ||
| 3231 | bug-lucid-emacs-request@lucid.com (for subscriptions) | ||
| 3232 | bug-lucid-emacs@lucid.com (for submissions) | ||
| 3233 | Help: | ||
| 3234 | help-lucid-emacs-request@lucid.com (for subscriptions) | ||
| 3235 | help-lucid-emacs@lucid.com (for submissions) | ||
| 3236 | |||
| 3237 | 122: Demacs -- GNU Emacs altered to run on MS-DOS on 386/486 machines | ||
| 3238 | |||
| 3239 | Authors: Manabu Higashida <manabu@sigmath.osaka-u.ac.jp> | ||
| 3240 | HIRANO Satoshi <hirano@tkl.iis.u-tokyo.ac.jp> | ||
| 3241 | Latest released version: 1.2.0 | ||
| 3242 | Anonymous FTP: | ||
| 3243 | /utsun.s.u-tokyo.ac.jp:GNU/demacs/ (nearest to U.S.A.) | ||
| 3244 | /ftp.sigmath.osaka-u.ac.jp:pub/Msdos/Demacs/ | ||
| 3245 | /wnoc-fuk.wide.ad.jp:pub/msdos/Demacs/ | ||
| 3246 | /ftp.3com.com:pub/gnu/msdos/demacs/ | ||
| 3247 | /mindseye.berkeley.edu:pub/kanji/demacs/ | ||
| 3248 | /ftp.hawaii.edu:pub/editors/demacs.tar.Z | ||
| 3249 | /ftp.math.ksu.edu:pub/pc/demacs/ | ||
| 3250 | /wsmr-simtel20.army.mil:pd1:<msdos.demacs> {ange-ftp syntax?} | ||
| 3251 | /ftp.uni-koeln.de:msdos/gnuprogs/dem120e.zip (executables, lisp-code, doc) | ||
| 3252 | (PLEASE USE ONLY OUTSIDE WORKING HOURS!) | ||
| 3253 | /ftp.uni-koeln.de:msdos/gnuprogs/dem120s.zip (sources, diffs) | ||
| 3254 | (PLEASE USE ONLY OUTSIDE WORKING HOURS!) | ||
| 3255 | /ftp.lysator.liu.se:pub/msdos/gnu/emacs/ | ||
| 3256 | /mizar.docs.uu.se:pub/gnu/demacs/ | ||
| 3257 | /iamsun.unibe.ch:PC/demacs/ | ||
| 3258 | /flop.informatik.tu-muenchen.de:outgoing/demacs.tar | ||
| 3259 | /ftp.funet.fi:pub/gnu/emacs/demacs/ | ||
| 3260 | /garbo.uwasa.fi:pc/editor/dem120e.zip | ||
| 3261 | /garbo.uwasa.fi:pc/editor/dem120s.zip | ||
| 3262 | /ftp.win.tue.nl:pub/gnu/demacs/ | ||
| 3263 | /ugle.unit.no:pub/gnu/Demacs/ | ||
| 3264 | {Does anyone know which sites have the Kanji version?} | ||
| 3265 | Via e-mail: | ||
| 3266 | From garbo.uwasa.fi: | ||
| 3267 | To: mailserv@garbo.uwasa.fi | ||
| 3268 | Subject: garbo-request | ||
| 3269 | Body: send pc/editor/dem120e.zip | ||
| 3270 | send pc/editor/dem120s.zip | ||
| 3271 | quit | ||
| 3272 | Downloading: | ||
| 3273 | EXEC-PC (Milwaukee, WI) 414-789-4210 (2400 bps) | ||
| 3274 | in the Mahoney MS-DOS file area in its Editors/wordprocessors | ||
| 3275 | library (F), named GNUEMACS.ZIP | ||
| 3276 | Channel 1 (Cambridge, MA) 617-345-8873 (9600 bps) | ||
| 3277 | in the New Uploads file area, named GNUEMACS.ZIP | ||
| 3278 | NOTE: Use the -d option of [pk]unzip for all .zip archives. Some sites | ||
| 3279 | have Demacs lharc'ed. If you need to find programs to unpack lharc and | ||
| 3280 | zip format archives, Chris Dean <ctdean@talaris.com> points out that you | ||
| 3281 | should see the comp.compression FAQ, available for FTP: | ||
| 3282 | /rtfm.mit.edu:pub/usenet/comp.compression/ | ||
| 3283 | Mailing list: | ||
| 3284 | NOTE: There is no mailing list for Demacs. However, there is a list | ||
| 3285 | for DJGPP, which is the environment that Demacs runs in. Many | ||
| 3286 | Demacs problems are actually issues with DJGPP. | ||
| 3287 | DJGPP: | ||
| 3288 | Subscriptions: | ||
| 3289 | To: listserv@sun.soe.clarkson.edu | ||
| 3290 | body: add <your-address> djgpp | ||
| 3291 | or put `help' in the body. | ||
| 3292 | If this fails, mail to djgpp-request@sun.soe.clarkson.edu. | ||
| 3293 | Submissions: | ||
| 3294 | djgpp@sun.soe.clarkson.edu | ||
| 3295 | FAQ list: | ||
| 3296 | Maintainer: Dave Steibel <steibel@cs.umbc.edu> | ||
| 3297 | Anonymous FTP: algol.cs.umbc.edu:pub/demacs/demacs.faq | ||
| 3298 | |||
| 3299 | 123: Freemacs -- a small Emacs for MS-DOS | ||
| 3300 | |||
| 3301 | Author: Russ Nelson <nelson@sun.soe.clarkson.edu> | ||
| 3302 | Latest released version: 1.6a | ||
| 3303 | Anonymous FTP: | ||
| 3304 | /simtel20.army.mil:PD:<MSDOS.FREEMACS> {ange-ftp syntax?} | ||
| 3305 | /grape.ecs.clarkson.edu:pub/msdos/freemacs/ | ||
| 3306 | Via e-mail: | ||
| 3307 | To: archive-server@sun.soe.clarkson.edu | ||
| 3308 | body: help | ||
| 3309 | Via snail mail: | ||
| 3310 | address: Russell Nelson, 11 Grant St., Potsdam, NY 13676 | ||
| 3311 | Send $15 copying fee, and specify preferred floppy disk format: | ||
| 3312 | 5.25", 360K, or 3.50", 720K | ||
| 3313 | Mailing lists: | ||
| 3314 | Subscriptions: | ||
| 3315 | To: listserv@sun.soe.clarkson.edu | ||
| 3316 | body: add <your-address> <name-of-list> | ||
| 3317 | or put `help' in the body. | ||
| 3318 | List distribution addresses: | ||
| 3319 | freemacs-announce@sun.soe.clarkson.edu | ||
| 3320 | freemacs-help@sun.soe.clarkson.edu | ||
| 3321 | freemacs-workers@sun.soe.clarkson.edu (send bug reports here) | ||
| 3322 | |||
| 3323 | 124: Patch -- program to apply "diffs" for updating files | ||
| 3324 | |||
| 3325 | Author: Larry Wall <lwall@netlabs.com> | ||
| 3326 | Latest version: 2.0 patchlevel 12u8 | ||
| 3327 | (This is the version that supports the new unified diff format.) | ||
| 3328 | Anonymous FTP: | ||
| 3329 | /prep.ai.mit.edu:pub/gnu/patch-2.0.12u8.tar.Z | ||
| 3330 | /prep.ai.mit.edu:pub/gnu/patch-2.0.12g8.tar.Z (GNU version) | ||
| 1613 | 3331 | ||
| 1614 | 3332 | ||
| 1615 | 3333 | ||
| 1616 | Binding Keys to Commands | 3334 | ---------------------------------------------------------------------- + |
| 3335 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells + | ||
| 3336 | Copyright (C) 1992, 1993 Steven Byrnes + | ||
| 3337 | + | ||
| 3338 | This list of frequently asked questions about GNU Emacs with answers + | ||
| 3339 | ("FAQ") may be translated into other languages, transformed into other + | ||
| 3340 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new + | ||
| 3341 | information. The same conditions apply to any derivative of the FAQ as + | ||
| 3342 | apply to the FAQ itself. Every copy of the FAQ must include this notice + | ||
| 3343 | or an approved translation, information on who is currently maintaining + | ||
| 3344 | the FAQ and how to contact them (including their e-mail address), and + | ||
| 3345 | information on where the latest version of the FAQ is archived (including + | ||
| 3346 | FTP information). The FAQ may be copied and redistributed under these + | ||
| 3347 | conditions, except that the FAQ may not be embedded in a larger literary + | ||
| 3348 | work unless that work itself allows free copying and redistribution. + | ||
| 3349 | |||
| 3350 | |||
| 3351 | GNU Emacs FAQ: Keybindings/Output | ||
| 3352 | |||
| 3353 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | ||
| 3354 | get an overview of just the questions. Then, when you want to look at the text | ||
| 3355 | of the answers, just type "C-x $". | ||
| 3356 | |||
| 3357 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | ||
| 3358 | that doesn't work, then type ESC to end the search. | ||
| 3359 | |||
| 3360 | A `+' in the 78th column means something was inserted on the line. A `-' means | ||
| 3361 | something was deleted and a `!' means some combination of insertions and | ||
| 3362 | deletions occurred. | ||
| 3363 | |||
| 3364 | Full instructions for getting the latest FAQ are in question 22. Also see the | ||
| 3365 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 3366 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 3367 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 3368 | |||
| 3369 | |||
| 3370 | |||
| 3371 | Changing Key Bindings and Handling Key Binding Problems | ||
| 1617 | 3372 | ||
| 1618 | 49: Why does Emacs say "Key sequence XXX uses invalid prefix characters"? | 3373 | 125: How do I bind keys (including function keys) to commands? |
| 3374 | |||
| 3375 | 1. Find out what character sequence is generated by the keystroke sequence | ||
| 3376 | you wish to bind to a command. See question 129 for how to do this. | ||
| 3377 | Keep in mind that the character sequences generated by a keystroke | ||
| 3378 | sequence varies from one terminal to another. You may also get | ||
| 3379 | different results depending on what type of machine you are running on | ||
| 3380 | (see question 128). For example, these keystrokes may generate these | ||
| 3381 | character sequences: | ||
| 3382 | |||
| 3383 | F1 ---> ESC [ 2 2 4 z | ||
| 3384 | Shift-R10 ---> ESC O t | ||
| 3385 | L7 ---> ESC [ 3 1 ~ | ||
| 3386 | Remove ---> C-@ | ||
| 3387 | |||
| 3388 | 2. Figure out what the Emacs Lisp syntax is for this character sequence. | ||
| 3389 | Inside an Emacs Lisp string, RET, LFD, DEL, ESC, SPC, and TAB are | ||
| 3390 | specified with `\r', `\n', `\C-?', `\e', ` ', and `\t'. C-x is | ||
| 3391 | specified by `\C-x'. M-x is specified the same was as "ESC x". | ||
| 3392 | (Control characters may also be specified as themselves, but I don't | ||
| 3393 | recommend it.) An Emacs Lisp string begins and ends with the double | ||
| 3394 | quote character, `"'. Here are some examples: | ||
| 1619 | 3395 | ||
| 1620 | Most likely, it failed because the key sequence you were binding started | 3396 | ESC [ D ---> "\e[D" |
| 1621 | with "ESC [" and this sequence was already bound to a command. Evaluate | 3397 | ESC [ 2 2 7 z ---> "\e[227z" |
| 1622 | this form first: | 3398 | ESC [ 1 8 ~ ---> "\e[18~" |
| 3399 | C-M-r ---> "\e\C-r" | ||
| 3400 | |||
| 3401 | 3. If some prefix of the character sequence is already bound, you must | ||
| 3402 | unbind it by binding it to `nil'. For example: | ||
| 3403 | |||
| 3404 | (global-set-key "\e[" nil) | ||
| 3405 | |||
| 3406 | 4. Pick a command to bind your key sequence to. A command can be a | ||
| 3407 | "symbol" with a function definition, or a "lambda list", or a string | ||
| 3408 | (which is treated as a macro). For example: | ||
| 3409 | |||
| 3410 | (global-set-key "\e[D" 'backward-char) | ||
| 3411 | (global-set-key "\e[227~" "\exgoto-line\r") ; macro | ||
| 3412 | |||
| 3413 | See `Key Bindings' and `Rebinding' in the online manual. | ||
| 3414 | |||
| 3415 | In Emacs 19 (including Lucid Emacs), you can bind function key F24 like | ||
| 3416 | this: | ||
| 3417 | |||
| 3418 | (global-set-key 'f24 'some-command) | ||
| 3419 | |||
| 3420 | 126: Why does Emacs say `Key sequence XXX uses invalid prefix characters'? | ||
| 3421 | |||
| 3422 | A prefix of the character sequence you were trying to bind was already | ||
| 3423 | bound. Usually, the sequence is "ESC [", in which case you should | ||
| 3424 | evaluate this form first: | ||
| 1623 | 3425 | ||
| 1624 | (define-key esc-map "[" nil) | 3426 | (define-key esc-map "[" nil) |
| 1625 | 3427 | ||
| 1626 | NOTE: By default, "ESC [" is bound to backward-paragraph, and if you do ! | 3428 | NOTE: By default, "ESC [" is bound to backward-paragraph, and if you do |
| 1627 | this you will lose this key binding. For most people, this is not a | 3429 | this you will lose this key binding. For most people, this is not a |
| 1628 | problem. | 3430 | problem. |
| 1629 | 3431 | ||
| 1630 | 50: Why doesn't this [terminal or window-system setup] code work in my | 3432 | See question 125. |
| 3433 | |||
| 3434 | 127: Why doesn't this [terminal or window-system setup] code work in my | ||
| 1631 | .emacs file, but it works just fine after Emacs starts up? | 3435 | .emacs file, but it works just fine after Emacs starts up? |
| 1632 | 3436 | ||
| 1633 | This is because you're trying to do something in your .emacs file that | 3437 | This is because you're trying to do something in your .emacs file that |
| 1634 | needs to be postponed until after the terminal/window-system setup code | 3438 | needs to be postponed until after the terminal/window-system setup code |
| 1635 | is loaded. This is a result of the order in which things are done | 3439 | is loaded. This is a result of the order in which things are done |
| 1636 | during the startup of Emacs. For more details see question 64. | 3440 | during the startup of Emacs. For more details see question 135. |
| 1637 | 3441 | ||
| 1638 | In order to postpone the execution of Emacs Lisp code until after the | 3442 | In order to postpone the execution of Emacs Lisp code until after the |
| 1639 | terminal/window-system setup, set the value of the variable | 3443 | terminal/window-system setup, set the value of the variable |
| @@ -1653,28 +3457,7 @@ Binding Keys to Commands | |||
| 1653 | (define-key CSI-map "29~" 'execute-extended-command)) | 3457 | (define-key CSI-map "29~" 'execute-extended-command)) |
| 1654 | )))) | 3458 | )))) |
| 1655 | 3459 | ||
| 1656 | 51: Other than that, why does my key binding fail? | 3460 | 128: How do I use function keys under X Windows? |
| 1657 | |||
| 1658 | One possible reason that I've seen many times is improperly specifying | ||
| 1659 | the character ESC in the key binding string. In an Emacs Lisp string, | ||
| 1660 | ESC is specified as "\e". (ESC can also be specified as itself, the | ||
| 1661 | ASCII character with value 27, but this can cause serious problems when | ||
| 1662 | you try to print/view/mail the file.) Thus, for example, to bind the | ||
| 1663 | key sequence "ESC O D" to the command 'my-backward-char, the simplest | ||
| 1664 | incantation is this: | ||
| 1665 | |||
| 1666 | (global-set-key "\eOD" 'my-backward-char) | ||
| 1667 | |||
| 1668 | These are also correct (and represent what the above command actually | ||
| 1669 | does): | ||
| 1670 | |||
| 1671 | (define-key global-map "\eOD" 'my-backward-char) | ||
| 1672 | (define-key esc-map "OD" 'my-backward-char) | ||
| 1673 | |||
| 1674 | The string forms for the keys RET, LFD, DEL, ESC, SPC, and TAB are | ||
| 1675 | respectively "\r", "\n", "\C-?", "\e", " ", and "\t". | ||
| 1676 | |||
| 1677 | 52: How do I use function keys under X Windows? | ||
| 1678 | 3461 | ||
| 1679 | This depends on whether you are running Emacs inside a terminal emulator | 3462 | This depends on whether you are running Emacs inside a terminal emulator |
| 1680 | window, or whether you are allowing Emacs to create its own X window. | 3463 | window, or whether you are allowing Emacs to create its own X window. |
| @@ -1684,13 +3467,13 @@ Binding Keys to Commands | |||
| 1684 | If you are running Emacs inside a terminal emulator window, then it | 3467 | If you are running Emacs inside a terminal emulator window, then it |
| 1685 | behaves exactly as it does on any other tty. In this case, for function | 3468 | behaves exactly as it does on any other tty. In this case, for function |
| 1686 | keys to be useful, they must generate character sequences that are sent | 3469 | keys to be useful, they must generate character sequences that are sent |
| 1687 | to the programs running inside the window as input. The "xterm" program | 3470 | to the programs running inside the window as input. The `xterm' program |
| 1688 | has two different sets of character sequences that it generates when | 3471 | has two different sets of character sequences that it generates when |
| 1689 | function keys are pressed, depending on the sunFunctionKeys X resource | 3472 | function keys are pressed, depending on the sunFunctionKeys X resource |
| 1690 | and the -sf and +sf command line options. (To find out what these key | 3473 | and the -sf and +sf command line options. (To find out what these key |
| 1691 | sequences are, see question 53.) In addition, with xterm, | 3474 | sequences are, see question 129.) In addition, with xterm, |
| 1692 | you can override what key sequence a specific function key (or any other | 3475 | you can override what key sequence a specific function key (or any other |
| 1693 | key) will generate with the "translations" resource. This, for example: | 3476 | key) will generate with the `translations' resource. This, for example: |
| 1694 | 3477 | ||
| 1695 | XTerm.VT100.Translations: #override \ | 3478 | XTerm.VT100.Translations: #override \ |
| 1696 | <KeyPress>F1: string(0x1b) string("[xyzzy") | 3479 | <KeyPress>F1: string(0x1b) string("[xyzzy") |
| @@ -1700,7 +3483,7 @@ Binding Keys to Commands | |||
| 1700 | On the other hand, if Emacs is managing its own X window, the following | 3483 | On the other hand, if Emacs is managing its own X window, the following |
| 1701 | description applies. Emacs receives `KeyPress' events from the X server | 3484 | description applies. Emacs receives `KeyPress' events from the X server |
| 1702 | when a key is pressed while the keyboard focus is in its window. The | 3485 | when a key is pressed while the keyboard focus is in its window. The |
| 1703 | KeyPress event contains an X `keysym' code, which is simply an arbitrary | 3486 | KeyPress event contains an X "keysym" code, which is simply an arbitrary |
| 1704 | number corresponding to the name of the keysym, and information on which | 3487 | number corresponding to the name of the keysym, and information on which |
| 1705 | "modifiers" such as `control' and `shift' are active. For example, the | 3488 | "modifiers" such as `control' and `shift' are active. For example, the |
| 1706 | `Tab' keysym is 0xff09. (Generally, a key on the keyboard will generate a | 3489 | `Tab' keysym is 0xff09. (Generally, a key on the keyboard will generate a |
| @@ -1722,7 +3505,7 @@ Binding Keys to Commands | |||
| 1722 | Left becomes C-b | 3505 | Left becomes C-b |
| 1723 | 3506 | ||
| 1724 | The way Emacs treats other keysyms depends on what kind of machine it was | 3507 | The way Emacs treats other keysyms depends on what kind of machine it was |
| 1725 | compiled on. The type of the display machine is irrelevant! Function + | 3508 | compiled on. The type of the display machine is irrelevant! Function |
| 1726 | keys are mapped internally to escape sequences, while other keys are | 3509 | keys are mapped internally to escape sequences, while other keys are |
| 1727 | completely ignored. | 3510 | completely ignored. |
| 1728 | 3511 | ||
| @@ -1732,9 +3515,9 @@ Binding Keys to Commands | |||
| 1732 | F1 through F9 | 3515 | F1 through F9 |
| 1733 | L1 through L10 (same as F11 through F20) | 3516 | L1 through L10 (same as F11 through F20) |
| 1734 | R1 through R15 (same as F21 through F35) | 3517 | R1 through R15 (same as F21 through F35) |
| 1735 | (The keys labelled R8, R10, R12, and R14 usually are mapped to the ! | 3518 | (The keys labelled R8, R10, R12, and R14 usually are mapped to the |
| 1736 | X keysyms Up, Left, Right, and Down.) | 3519 | X keysyms Up, Left, Right, and Down.) |
| 1737 | Break (the "Alternate" key is given this keysym) | 3520 | Break (the `Alternate' key is given this keysym) |
| 1738 | 3521 | ||
| 1739 | These keys work like Sun function keys. When Emacs recieves the | 3522 | These keys work like Sun function keys. When Emacs recieves the |
| 1740 | keysym, it will internally use character sequences that look like "ESC | 3523 | keysym, it will internally use character sequences that look like "ESC |
| @@ -1755,22 +3538,18 @@ Binding Keys to Commands | |||
| 1755 | 3538 | ||
| 1756 | F1 through F20 | 3539 | F1 through F20 |
| 1757 | Help (treated same as F15) | 3540 | Help (treated same as F15) |
| 1758 | Menu (treated same as F16, is the LK201 "Do" key) | 3541 | Menu (treated same as F16, is the LK201 `Do' key) |
| 1759 | Find | 3542 | Find |
| 1760 | Insert (LK201 "Insert Here" key) | 3543 | Insert (LK201 `Insert Here' key) |
| 1761 | Select | 3544 | Select |
| 3545 | Prior (LK201 `Prev Screen' key *** ONLY IN 18.58 AND LATER ***) | ||
| 3546 | Next (LK201 `Next Screen' key *** ONLY IN 18.58 AND LATER ***) | ||
| 1762 | 3547 | ||
| 1763 | These keysyms are supposed to be recognized, but they are not due to a | 3548 | And finally, the LK201 key labelled `Remove' (or `Delete') is often |
| 1764 | bug (which is fixed in Emacs 18.58): + | 3549 | mapped to the Delete keysym which generates the DEL character (C-?) |
| 1765 | 3550 | instead of the key sequence given by the LK201 `Remove' key. It may | |
| 1766 | Prior (LK201 "Prev Screen" key) | 3551 | also be mapped to some other keysym, such as `_Remove', in which case |
| 1767 | Next (LK201 "Next Screen" key) | 3552 | you can't use it from within Emacs at all. |
| 1768 | |||
| 1769 | And finally, the LK201 key labelled `Remove' (or `Delete') is often ! | ||
| 1770 | mapped to the Delete keysym which generates the DEL character (C-?) ! | ||
| 1771 | instead of the key sequence given by the LK201 `Remove' key. It may + | ||
| 1772 | also be mapped to some other keysym, such as `_Remove', in which case + | ||
| 1773 | you can't use it from within Emacs at all. + | ||
| 1774 | 3553 | ||
| 1775 | Each function key will be internally converted to a character sequence | 3554 | Each function key will be internally converted to a character sequence |
| 1776 | that looks like "ESC [ ## ~", where ## is replaced by a number. The | 3555 | that looks like "ESC [ ## ~", where ## is replaced by a number. The |
| @@ -1779,7 +3558,7 @@ Binding Keys to Commands | |||
| 1779 | 3558 | ||
| 1780 | For the complete list of the numbers which are generated by the function | 3559 | For the complete list of the numbers which are generated by the function |
| 1781 | keys, look in the file src/x11term.c at the definitions of the function | 3560 | keys, look in the file src/x11term.c at the definitions of the function |
| 1782 | "stringFuncVal". | 3561 | stringFuncVal. |
| 1783 | 3562 | ||
| 1784 | If you are running Emacs on a Sun machine, even if your X display is | 3563 | If you are running Emacs on a Sun machine, even if your X display is |
| 1785 | running on a non-Sun machine (eg., an X terminal), you get the setup | 3564 | running on a non-Sun machine (eg., an X terminal), you get the setup |
| @@ -1787,37 +3566,36 @@ Binding Keys to Commands | |||
| 1787 | machine Emacs is running (was compiled) on, not what type of machine | 3566 | machine Emacs is running (was compiled) on, not what type of machine |
| 1788 | your X display is on. | 3567 | your X display is on. |
| 1789 | 3568 | ||
| 1790 | If you have function keys not listed above on your keyboard, you can use + | 3569 | If you have function keys not listed above on your keyboard, you can use |
| 1791 | `xmodmap' to change their keysym assignments to get keys that Emacs will ! | 3570 | `xmodmap' to change their keysym assignments to get keys that Emacs will |
| 1792 | recognize, but that may screw up other programs. ! | 3571 | recognize, but that may screw up other programs. |
| 1793 | 3572 | ||
| 1794 | X resources are not used by Emacs to affect the key sequences generated. | 3573 | X resources are not used by Emacs to affect the key sequences generated. |
| 1795 | In particular, there are no X key "translations" for Emacs. + | 3574 | In particular, there are no X key "translations" for Emacs. |
| 1796 | 3575 | ||
| 1797 | If you have function keys not listed above and you don't want to use | 3576 | If you have function keys not listed above and you don't want to use |
| 1798 | xmodmap to change their names, you might want to make a modification to | 3577 | xmodmap to change their names, you might want to make a modification to |
| 1799 | your Emacs. Johan Vromans <jv@mh.nl> explains: | 3578 | your Emacs. Johan Vromans <jv@mh.nl> has made available a patch for Emacs |
| 3579 | that adds the x-rebind-key function of Epoch to Emacs 18.58. This allows | ||
| 3580 | another layer of key rebinding before Emacs even sees the keys, and in | ||
| 3581 | this layer you can rebind all of the keys and modifier combinations as | ||
| 3582 | well. | ||
| 1800 | 3583 | ||
| 1801 | There are a number of tricks that can be helpful. The most elegant | 3584 | Anonymous FTP: |
| 1802 | solution, however, is to use the function "x-rebind-key". This function | 3585 | /ftp.eu.net:gnu/emacs/FP-Xfun.Z |
| 1803 | is commented out in the source for good reasons --- it's buggy. | 3586 | /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun |
| 1804 | 3587 | ||
| 1805 | It is rather easy to replace this function with the function | 3588 | Johan Vromans explains what this buys for you: |
| 1806 | epoch:rebind-key from the Epoch distribution. | ||
| 1807 | 3589 | ||
| 1808 | After implementing this, all keyboard keys can be configured to send | 3590 | After implementing this, all keyboard keys can be configured to send |
| 1809 | user definable sequences, e.g. | 3591 | user definable sequences, eg., |
| 1810 | 3592 | ||
| 1811 | (x-rebind-key "KP_F1" 0 "\033OP") | 3593 | (x-rebind-key "KP_F1" 0 "\033OP") |
| 1812 | 3594 | ||
| 1813 | This will have the keypad key PF1 send the sequence "ESC O P", just like | 3595 | This will have the keypad key PF1 send the sequence "ESC O P", just like |
| 1814 | an ordinary VT series terminal. | 3596 | an ordinary VT series terminal. |
| 1815 | 3597 | ||
| 1816 | This is what I do in my Emacs. Note that you need to add an entry to | 3598 | 129: How do I tell what characters my function or arrow keys emit? |
| 1817 | syms_of_xfns at the bottom of src/x11fns.c. I can send a patch that has + | ||
| 1818 | the necessary changes, so you don't have to get the Epoch sources. + | ||
| 1819 | |||
| 1820 | 53: How do I tell what characters my function or arrow keys emit? + | ||
| 1821 | 3599 | ||
| 1822 | Use this function by Randal L. Schwartz <merlyn@iwarp.intel.com>: | 3600 | Use this function by Randal L. Schwartz <merlyn@iwarp.intel.com>: |
| 1823 | 3601 | ||
| @@ -1833,271 +3611,209 @@ Binding Keys to Commands | |||
| 1833 | (message "Characters entered: %s" (key-description chars)))) | 3611 | (message "Characters entered: %s" (key-description chars)))) |
| 1834 | 3612 | ||
| 1835 | Alternatively, use the "C-h l" view-lossage command, which will display | 3613 | Alternatively, use the "C-h l" view-lossage command, which will display |
| 1836 | the last 100 characters Emacs has seen in its input stream. Kevin + | 3614 | the last 100 characters Emacs has seen in its input stream. Kevin |
| 1837 | Gallagher <kgallagh@digi.lonestar.org> suggests typing some unique string + | 3615 | Gallagher <kgallagh@digi.lonestar.org> suggests typing some unique string |
| 1838 | like "wxyz", typing the key in question, then typing "C-h l". The + | 3616 | like "wxyz", typing the key in question, then typing "C-h l". The |
| 1839 | characters that appear between "wxyz" and "C-h l" were generated by the + | 3617 | characters that appear between "wxyz" and "C-h l" were generated by the |
| 1840 | key. + | 3618 | key. |
| 1841 | 3619 | ||
| 1842 | 54: Why does Emacs spontaneously start displaying "I-search:" and beeping? | 3620 | 130: How do I set the X key "translations" for Emacs? |
| 1843 | 3621 | ||
| 1844 | Your terminal (or something between your terminal and the computer) is | 3622 | Sorry, you can't; there are no "translations" to be set. Emacs is not |
| 1845 | sending C-s and C-q for flow control, and Emacs is receiving these | 3623 | written using the Xt library. The only way to affect the behavior of keys |
| 1846 | characters and interpreting them as commands. (The C-s character normally | 3624 | within Emacs is through `xmodmap' (outside Emacs) or `define-key' (inside |
| 1847 | invokes the isearch-forward command.) The best solution is to disable the | 3625 | Emacs). |
| 1848 | use of C-s and C-q for flow control. If you can't do that, you can make | ||
| 1849 | Emacs treat C-s and C-q as flow control characters by evaluating this | ||
| 1850 | form: | ||
| 1851 | |||
| 1852 | (set-input-mode nil t) | ||
| 1853 | |||
| 1854 | If you are fixing this for yourself, simply put the form in your .emacs | ||
| 1855 | file. If you are fixing this for your entire site, the best place to put | ||
| 1856 | it is unclear. I don't know if this has any effect when used in | ||
| 1857 | lisp/site-init.el when building Emacs; I've never tried that. {Can | ||
| 1858 | someone tell me whether it works?} Putting things in users' .emacs files | ||
| 1859 | has a number of problems. Putting this form in lisp/default.el has the | ||
| 1860 | problem that if the user's .emacs file has an error, this will prevent | ||
| 1861 | lisp/default.el from being loaded and Emacs may be unusable for the user, | ||
| 1862 | even for correcting their .emacs file (unless they're smart enough to move | ||
| 1863 | it to another name). | ||
| 1864 | |||
| 1865 | If some of your users are connecting through XON/XOFF flow-controlled | ||
| 1866 | connections, but some are not, then here is a possible solution. Disable | ||
| 1867 | C-s and C-q by setting keyboard-translate-table in lisp/site-init.el, | ||
| 1868 | either with swap-keys (see question 60) or with the following form: | ||
| 1869 | |||
| 1870 | ;; by Roger Crew <crew@cs.stanford.edu>: | ||
| 1871 | (setq keyboard-translate-table | ||
| 1872 | "\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-_") | ||
| 1873 | |||
| 1874 | Then in lisp/default.el, if it is determined to be safe, they can be | ||
| 1875 | reenabled (being careful not to screw up any other key mappings users | ||
| 1876 | might have established using keyboard-translate-table, use swap-keys for | ||
| 1877 | this), or else set-input-mode can be called to further disable C-s and | ||
| 1878 | C-q. | ||
| 1879 | |||
| 1880 | For further discussion of this issue, read the file etc/PROBLEMS in the + | ||
| 1881 | Emacs distribution. | ||
| 1882 | 3626 | ||
| 1883 | 55: How do I disable the use of C-s and C-q for flow control? | 3627 | 131: How do I handle C-s and C-q being used for flow control? |
| 1884 | 3628 | ||
| 1885 | Your terminal may be using C-s and C-q for XON/XOFF flow control. For + | 3629 | C-s and C-q are used in the XON/XOFF flow control protocol. This screws |
| 1886 | example, VT series terminals do this. On some terminals, it may be + | 3630 | up Emacs because it binds these characters to commands. Also, by default |
| 1887 | possible to turn this off from a setup menu. This is also true for some + | 3631 | Emacs will not honor them as flow control characters and may overwhelm |
| 1888 | terminal emulation programs on PCs. + | 3632 | output buffers. Sometimes, intermediate software using XON/XOFF flow |
| 1889 | + | 3633 | control will prevent Emacs from ever seeing C-s and C-q. |
| 1890 | If you are using a dialup connection, the modems may be using XON/XOFF + | ||
| 1891 | flow control. I don't know how to get around this. Also, some network + | ||
| 1892 | box between the terminal and your computer may be using XON/XOFF flow ! | ||
| 1893 | control. You will probably have to ask your local network experts for | ||
| 1894 | help with this. | ||
| 1895 | 3634 | ||
| 1896 | 56: What do I do if my terminal is sending C-s and C-q for flow control and | 3635 | Possible solutions: |
| 1897 | I can't disable it? | ||
| 1898 | 3636 | ||
| 1899 | See question 54. | 3637 | * Disable the use of C-s and C-q for flow control. |
| 1900 | 3638 | ||
| 1901 | 57: How do I make Emacs honor C-s and C-q for flow control instead of for | 3639 | You need to determine what is the cause of the flow control. |
| 1902 | commands? | ||
| 1903 | 3640 | ||
| 1904 | See question 54. | 3641 | * your terminal |
| 1905 | 3642 | ||
| 1906 | 58: Why does Emacs never see C-s and C-q through my network connection? | 3643 | Your terminal may use XON/XOFF flow control to have time to display |
| 3644 | all the characters it receives. For example, VT series terminals do | ||
| 3645 | this. It may be possible to turn this off from a setup menu. For | ||
| 3646 | example, on a VT220 you may select `No XOFF' in the setup menu. This | ||
| 3647 | is also true for some terminal emulation programs on PCs. | ||
| 1907 | 3648 | ||
| 1908 | Eirik Fuller <eirik@theory.tn.cornell.edu> writes: | 3649 | When you turn off flow control at the terminal, you will also need to |
| 3650 | turn it off at the other end, which might be at the computer you are | ||
| 3651 | logged in to or at some terminal server in between. | ||
| 1909 | 3652 | ||
| 1910 | Some versions of rlogin (and possibly telnet) do not pass flow control | 3653 | If you turn off flow control, characters may be lost; using a printer |
| 1911 | characters to the remote system to which they connect. On such systems, | 3654 | connected to the terminal may fail. You may be able to get around |
| 1912 | Emacs on the remote system cannot disable flow control on the local | 3655 | this problem by modifying the `termcap' entry for your terminal to |
| 1913 | system. Sometimes "rlogin -8" will avoid this problem. | 3656 | include extra NUL padding characters. |
| 1914 | 3657 | ||
| 1915 | One way to cure this is to disable flow control on the local host (the | 3658 | * a modem |
| 1916 | one running rlogin, not the one running rlogind) using the stty command, | ||
| 1917 | before starting the rlogin process. On many systems, "stty start u stop | ||
| 1918 | u" will do this. | ||
| 1919 | 3659 | ||
| 1920 | Some versions of tcsh will prevent even this from working. One way | 3660 | If you are using a dialup connection, the modems may be using XON/XOFF |
| 1921 | around this is to start another shell before starting rlogin, and issue | 3661 | flow control. I don't know how to get around this. |
| 1922 | the stty command to disable flow control from that shell. | ||
| 1923 | 3662 | ||
| 1924 | 59: How do I use commands bound to C-s and C-q (or any key) if these keys | 3663 | * a router or terminal server |
| 1925 | are filtered out? | ||
| 1926 | 3664 | ||
| 1927 | I suggest swapping C-s with C-\ and C-q with C-^: | 3665 | Some network box between the terminal and your computer may be using |
| 3666 | XON/XOFF flow control. It may be possible to make it use some other | ||
| 3667 | kind of flow control. You will probably have to ask your local | ||
| 3668 | network experts for help with this. | ||
| 1928 | 3669 | ||
| 1929 | (swap-keys ?\C-s ?\C-\\) | 3670 | * tty and/or pty devices |
| 1930 | (swap-keys ?\C-q ?\C-^) | ||
| 1931 | 3671 | ||
| 1932 | See question 60 for the implementation of swap-keys. This method + | 3672 | If your connection to Emacs goes through multiple tty and/or pty |
| 1933 | has the advantage that it simultaneously swaps the characters everywhere + | 3673 | devices, they may be using XON/XOFF flow control even when it is not |
| 1934 | throughout Emacs, while just switching the keybindings will miss important + | 3674 | necessary. |
| 1935 | places where the character codes are stored (eg., the search-repeat-char + | ||
| 1936 | variable, major mode keymaps, etc.). + | ||
| 1937 | + | ||
| 1938 | WARNING: If you do this for an entire site, the users will be confused by + | ||
| 1939 | the disparity between what the documentation says and how Emacs actually + | ||
| 1940 | behaves. + | ||
| 1941 | 3675 | ||
| 1942 | 60: How do I "swap" two keys? | 3676 | Eirik Fuller <eirik@theory.tn.cornell.edu> writes: |
| 1943 | 3677 | ||
| 1944 | When Emacs receives a character, you can make Emacs behave as though it | 3678 | Some versions of `rlogin' (and possibly telnet) do not pass flow |
| 1945 | received another character by setting the value of | 3679 | control characters to the remote system to which they connect. On |
| 1946 | keyboard-translate-table. The following Emacs Lisp will do this for you, | 3680 | such systems, Emacs on the remote system cannot disable flow control |
| 1947 | allowing you to "swap" keys. After arranging for this Lisp to be | 3681 | on the local system. Sometimes `rlogin -8' will avoid this problem. |
| 1948 | evaluated by Emacs, you can evaluate `(swap-keys ?A ?B)' to swap A and B. | ||
| 1949 | The function `show-mapped-keys' will allow you to see what low-level key + | ||
| 1950 | mappings are in effect. + | ||
| 1951 | 3682 | ||
| 1952 | WARNING: the value of C-g (7) is still hard coded in one place in the | 3683 | One way to cure this is to disable flow control on the local host |
| 1953 | minibuffer code. Thus, swapping C-g with another key may cause a minor | 3684 | (the one running rlogin, not the one running rlogind) using the stty |
| 1954 | problem. (Fixed in Emacs 18.58.) | 3685 | command, before starting the rlogin process. On many systems, `stty |
| 3686 | start u stop u' will do this. | ||
| 1955 | 3687 | ||
| 1956 | (defun swap-keys (key1 key2) | 3688 | Some versions of `tcsh' will prevent even this from working. One |
| 1957 | "Swap keys KEY1 and KEY2 using map-key." | 3689 | way around this is to start another shell before starting rlogin, |
| 1958 | (map-key key1 key2) | 3690 | and issue the stty command to disable flow control from that shell. |
| 1959 | (map-key key2 key1)) | ||
| 1960 | 3691 | ||
| 1961 | (defun map-key (from to) | 3692 | Use `stty -ixon' instead of `stty start u stop u' on some systems. |
| 1962 | "Make key FROM behave as though key TO was typed instead." | 3693 | |
| 3694 | * Make Emacs speak the XON/XOFF flow control protocol. | ||
| 3695 | |||
| 3696 | You can make Emacs treat C-s and C-q as flow control characters by | ||
| 3697 | evaluating this form: | ||
| 3698 | |||
| 3699 | (set-input-mode nil t) | ||
| 3700 | |||
| 3701 | If you are fixing this for yourself, simply put the form in your .emacs | ||
| 3702 | file. If you are fixing this for your entire site, the best place to | ||
| 3703 | put it is unclear. I don't know if this has any effect when used in | ||
| 3704 | lisp/site-init.el when building Emacs; I've never tried that. {Can | ||
| 3705 | someone tell me whether it works?} Putting things in users' .emacs files | ||
| 3706 | has a number of problems. | ||
| 3707 | |||
| 3708 | Putting this form in lisp/default.el has the problem that if the user's | ||
| 3709 | .emacs file has an error, this will prevent lisp/default.el from being | ||
| 3710 | loaded and Emacs may be unusable for the user, even for correcting their | ||
| 3711 | .emacs file (unless they're smart enough to move it to another name). A | ||
| 3712 | possible solution is to initially disable C-s and C-q by setting | ||
| 3713 | keyboard-translate-table in lisp/site-init.el, either with swap-keys | ||
| 3714 | (see question 136) or with the following form: | ||
| 3715 | |||
| 3716 | ;; by Roger Crew <crew@cs.stanford.edu>: | ||
| 1963 | (setq keyboard-translate-table | 3717 | (setq keyboard-translate-table |
| 1964 | (concat keyboard-translate-table | 3718 | "\C-@\C-a\C-b\C-c\C-d\C-e\C-f\C-g\C-h\C-i\C-j\C-k\C-l\C-m\C-n\C-o\C-p\C-^\C-r\C-\\\C-t\C-u\C-v\C-w\C-x\C-y\C-z\C-[\C-s\C-]\C-q\C-_") |
| 1965 | (let* ((i (length keyboard-translate-table)) | ||
| 1966 | (j from) | ||
| 1967 | (k i) | ||
| 1968 | (str (make-string (max 0 (- j (1- i))) ?X))) | ||
| 1969 | (while (<= k j) | ||
| 1970 | (aset str (- k i) k) | ||
| 1971 | (setq k (1+ k))) | ||
| 1972 | str))) | ||
| 1973 | (aset keyboard-translate-table from to) | ||
| 1974 | (let ((i (1- (length keyboard-translate-table)))) | ||
| 1975 | (while (and (>= i 0) (eq (aref keyboard-translate-table i) i)) | ||
| 1976 | (setq i (1- i))) | ||
| 1977 | (setq keyboard-translate-table | ||
| 1978 | (if (eq i -1) | ||
| 1979 | nil | ||
| 1980 | (substring keyboard-translate-table 0 (1+ i)))))) | ||
| 1981 | 3719 | ||
| 1982 | (defun show-mapped-keys () + | 3720 | This will at least prevent Emacs from being confused by the flow control |
| 1983 | "Analyze keyboard-translate-table and display mapped keys." + | 3721 | characters, even if lisp/default.el cannot be loaded. Then, in |
| 1984 | (interactive) + | 3722 | lisp/default.el, enable XON/XOFF flow control with set-input-mode. |
| 1985 | (let (mapping-alist + | 3723 | |
| 1986 | (l (length keyboard-translate-table)) + | 3724 | For further discussion of this issue, read the file PROBLEMS in the |
| 1987 | (i 0) + | 3725 | Emacs distribution. |
| 1988 | e pair) + | 3726 | |
| 1989 | (while (< i l) + | 3727 | 132: How do I use commands bound to C-s and C-q (or any key) if these keys |
| 1990 | (setq e (aref keyboard-translate-table i)) + | 3728 | are filtered out? |
| 1991 | (or (eq i e) + | 3729 | |
| 1992 | (setq mapping-alist (cons (cons i e) mapping-alist))) + | 3730 | I suggest swapping C-s with C-\ and C-q with C-^: |
| 1993 | (setq i (1+ i))) + | 3731 | |
| 1994 | (cond (mapping-alist + | 3732 | (swap-keys ?\C-s ?\C-\\) |
| 1995 | (princ "Mapped Keys: ") + | 3733 | (swap-keys ?\C-q ?\C-^) |
| 1996 | (setq mapping-alist (nreverse mapping-alist))) + | 3734 | |
| 1997 | (t + | 3735 | See question 136 for the implementation of swap-keys. This method |
| 1998 | (princ "No keys mapped"))) + | 3736 | has the advantage that it simultaneously swaps the characters everywhere |
| 1999 | (while mapping-alist + | 3737 | throughout Emacs, while just switching the keybindings will miss important |
| 2000 | (setq pair (car mapping-alist) + | 3738 | places where the character codes are stored (eg., the search-repeat-char |
| 2001 | i (car pair) + | 3739 | variable, major mode keymaps, etc.). |
| 2002 | e (cdr pair)) + | 3740 | |
| 2003 | (princ (single-key-description i)) + | 3741 | To do this for an entire site, you may want to swap the keys in |
| 2004 | (cond ((eq i (cdr (setq pair (assq e mapping-alist)))) + | 3742 | lisp/default.el. If only some of your users are connecting through |
| 2005 | (setq mapping-alist (delq pair mapping-alist)) + | 3743 | XON/XOFF flow-controlled connections, you will want to do this |
| 2006 | (princ " <=> ")) + | 3744 | conditionally. I suggest pre-swapping them in lisp/site-init.el when |
| 2007 | (t + | 3745 | Emacs is built, and then in lisp/default.el, if it is determined to be |
| 2008 | (princ " => "))) + | 3746 | safe, they can be reenabled (being careful not to screw up any other key |
| 2009 | (princ (single-key-description e)) + | 3747 | mappings users might have established using keyboard-translate-table). |
| 2010 | (setq mapping-alist (cdr mapping-alist)) + | 3748 | See question 131 for an easy way to pre-swap these keys. |
| 2011 | (if mapping-alist (princ ", "))))) + | 3749 | |
| 2012 | 3750 | WARNING: If you do this for an entire site, the users will be confused by | |
| 2013 | NOTE: You must evaluate the definition of swap-keys before calling it! | 3751 | the disparity between what the documentation says and how Emacs actually |
| 2014 | The easiest way is to list it first in the file (eg., your .emacs file). | 3752 | behaves. |
| 2015 | 3753 | ||
| 2016 | 61: Why does the "BackSpace" key invoke help? | 3754 | 133: Why does the `BackSpace' key invoke help? |
| 2017 | 3755 | ||
| 2018 | The BackSpace key (on every keyboard I've used) generates ASCII code 8. ! | 3756 | The BackSpace key (on every keyboard I've used) generates ASCII code 8. |
| 2019 | C-h sends the same code. In Emacs by default C-h invokes `help-command'. | 3757 | C-h sends the same code. In Emacs by default C-h invokes help-command. |
| 2020 | This is intended to be easy to remember since the first letter of `help' | 3758 | This is intended to be easy to remember since the first letter of "help" |
| 2021 | is `h'. The easiest solution to this problem is to use C-h (and | 3759 | is "h". The easiest solution to this problem is to use C-h (and |
| 2022 | BackSpace) for help and DEL (the Delete key) for deleting the previous | 3760 | BackSpace) for help and DEL (the Delete key) for deleting the previous |
| 2023 | character. | 3761 | character. |
| 2024 | 3762 | ||
| 2025 | For many people this solution may be problematic: | 3763 | For many people this solution may be problematic: |
| 2026 | 3764 | ||
| 2027 | * They normally use BackSpace outside of Emacs for deleting the previous ! | 3765 | * They normally use BackSpace outside of Emacs for deleting the previous |
| 2028 | character typed. This can be solved by making DEL be the command for | 3766 | character typed. This can be solved by making DEL be the command for |
| 2029 | deleting the previous character outside of Emacs. This command will do | 3767 | deleting the previous character outside of Emacs. This command will do |
| 2030 | this on many Unix systems: | 3768 | this on many Unix systems: |
| 2031 | 3769 | ||
| 2032 | stty erase '^?' | 3770 | stty erase '^?' |
| 2033 | 3771 | ||
| 2034 | * The person may prefer using the BackSpace key for deleting the previous ! | 3772 | * The person may prefer using the BackSpace key for deleting the previous |
| 2035 | character because it is more conveniently located on their keyboard or | 3773 | character because it is more conveniently located on their keyboard or |
| 2036 | because they don't even have a separate Delete key. In this case, the | 3774 | because they don't even have a separate Delete key. In this case, the |
| 2037 | BackSpace key should be made to behave like Delete. There are several ! | 3775 | BackSpace key should be made to behave like Delete. There are several |
| 2038 | methods. ! | 3776 | methods. |
| 2039 | ! | ||
| 2040 | * Under X Windows, the easiest solution is to change the BackSpace key ! | ||
| 2041 | into a Delete key like this: ! | ||
| 2042 | ! | ||
| 2043 | xmodmap -e "keysym BackSpace = Delete" ! | ||
| 2044 | ! | ||
| 2045 | * Some terminals (eg., VT3## terminals) allow the character generated by ! | ||
| 2046 | the BackSpace key to be changed from a setup menu. ! | ||
| 2047 | ! | ||
| 2048 | * You may be able to get a keyboard that is completely programmable. ! | ||
| 2049 | ! | ||
| 2050 | * Under X or on a dumb terminal, it is possible to swap the BackSpace and ! | ||
| 2051 | Delete keys inside Emacs: + | ||
| 2052 | 3777 | ||
| 2053 | (swap-keys ?\C-h ?\C-?) | 3778 | * Under X Windows, the easiest solution is to change the BackSpace key |
| 3779 | into a Delete key like this: | ||
| 2054 | 3780 | ||
| 2055 | See question 60 for the implementation of swap-keys. | 3781 | xmodmap -e "keysym BackSpace = Delete" |
| 2056 | 3782 | ||
| 2057 | * Another approach is to switch keybindings and put help on "C-x h" ! | 3783 | * Some terminals (eg., VT3## terminals) allow the character generated by |
| 2058 | instead: | 3784 | the BackSpace key to be changed from a setup menu. |
| 2059 | 3785 | ||
| 2060 | (global-set-key "\C-h" 'delete-backward-char) | 3786 | * You may be able to get a keyboard that is completely programmable. |
| 2061 | (global-set-key "\C-xh" 'help-command) ; override mark-whole-buffer | ||
| 2062 | 3787 | ||
| 2063 | Other popular key bindings for help are M-? and "C-x ?". + | 3788 | * Under X or on a dumb terminal, it is possible to swap the BackSpace |
| 3789 | and Delete keys inside Emacs: | ||
| 2064 | 3790 | ||
| 2065 | WARNING: This method fails to correctly bind BackSpace in the various ! | 3791 | (swap-keys ?\C-h ?\C-?) |
| 2066 | major and minor modes that define their own backward character ! | ||
| 2067 | deletion or help commands, such as C mode and Lisp mode. To actually | ||
| 2068 | do that for every mode is a lot of work. There are probably other + | ||
| 2069 | places where the correspondence between help and C-h is hardcoded. + | ||
| 2070 | 3792 | ||
| 2071 | 62: How do I type DEL on PC terminal emulators? | 3793 | See question 136 for the implementation of swap-keys. |
| 2072 | 3794 | ||
| 2073 | Someone whose name I forgot wrote: | 3795 | * Another approach is to switch keybindings and put help on "C-x h" |
| 3796 | instead: | ||
| 3797 | |||
| 3798 | (global-set-key "\C-h" 'delete-backward-char) | ||
| 3799 | (global-set-key "\C-xh" 'help-command) ; override mark-whole-buffer | ||
| 2074 | 3800 | ||
| 2075 | Most PCs have deficient keyboards that don't have both BackSpace and | 3801 | Other popular key bindings for help are M-? and "C-x ?". |
| 2076 | Delete keys. Whether C-h (BackSpace) or DEL is generated by the | ||
| 2077 | BackSpace key varies from one terminal emulator to another. If you're ! | ||
| 2078 | lucky, you can reconfigure the keyboard so that it generates DEL. If | ||
| 2079 | not, you will have to hunt to figure out what keystroke will do it --- | ||
| 2080 | possibilities include various shifted and controlled versions of | ||
| 2081 | BackSpace, the `Del' key on the numeric keypad (which might depend on ! | ||
| 2082 | Shift or NumLock), or perhaps C-? (Control-?). ! | ||
| 2083 | 3802 | ||
| 2084 | If this is too hard, you may want to swap the Delete key with some other | 3803 | WARNING: Don't try to bind DEL to help-command, because there are many |
| 2085 | key. See question 61. | 3804 | modes that have local bindings of DEL that will interfere. |
| 2086 | 3805 | ||
| 2087 | 63: Can I make my "Compose" key behave like a "Meta" key? | 3806 | 134: Why doesn't Emacs look at the stty settings for Backspace vs. Delete? |
| 2088 | 3807 | ||
| 2089 | On a dumb terminal such as a VT220, no. It is rumored that certain VT220 | 3808 | Good question! |
| 2090 | clones could have their Compose key configured this way. If you're on an | ||
| 2091 | X workstation, you might have luck using the "xmodmap" program. | ||
| 2092 | 3809 | ||
| 2093 | 64: Why don't the arrow keys work? | 3810 | 135: Why don't the arrow keys work? |
| 2094 | 3811 | ||
| 2095 | When Emacs starts up, it doesn't know anything about arrow keys at all | 3812 | When Emacs starts up, it doesn't know anything about arrow keys at all |
| 2096 | (except when running under X, see question 52). During the | 3813 | (except when running under X, see question 128). During the process of |
| 2097 | process of starting up, Emacs will load a terminal-specific initialization | 3814 | starting up, Emacs will load a terminal-specific initialization file for |
| 2098 | file for your terminal type (as determined by the environment variable | 3815 | your terminal type (as determined by the environment variable TERM), if |
| 2099 | TERM), if one exists. This file has the responsibility for enabling the | 3816 | one exists. This file has the responsibility for enabling the arrow keys. |
| 2100 | arrow keys. | ||
| 2101 | 3817 | ||
| 2102 | There are several things that can go wrong: | 3818 | There are several things that can go wrong: |
| 2103 | 3819 | ||
| @@ -2109,68 +3825,112 @@ Binding Keys to Commands | |||
| 2109 | be loaded as the terminal-specific initialization file: xxx-yy-z.el, | 3825 | be loaded as the terminal-specific initialization file: xxx-yy-z.el, |
| 2110 | xxx-yy.el, or xxx.el. | 3826 | xxx-yy.el, or xxx.el. |
| 2111 | 3827 | ||
| 2112 | If there is none there, one can be made for your terminal, or you can | 3828 | There are two major cases of this problem: |
| 2113 | just add code to your own .emacs to handle this problem for yourself. | ||
| 2114 | For example, if your terminal's arrow keys send these character | ||
| 2115 | sequences: | ||
| 2116 | 3829 | ||
| 2117 | Up: ESC [ A | 3830 | * Your terminal type is very similar to one that has an init file. |
| 2118 | Down: ESC [ B | ||
| 2119 | Right: ESC [ C | ||
| 2120 | Left: ESC [ D | ||
| 2121 | 3831 | ||
| 2122 | then you can bind these keys to the appropriate commands with code in | 3832 | In this case, there are several techniques suggested by Colin Jensen |
| 2123 | your .emacs like this: | 3833 | <cjensen@ampex.com>, Ben Liblit <Liblit@cs.psu.edu>, and Marc |
| 3834 | Auslander <marc@watson.ibm.com>: | ||
| 2124 | 3835 | ||
| 2125 | (setq term-setup-hook | 3836 | A. Add a symbolic link in lisp/term for your terminal type that |
| 2126 | (function | 3837 | points to the similar type. For example, you could make VT102 |
| 2127 | (lambda () | 3838 | terminals work with this command: |
| 2128 | (cond ((string-match "\\`xyzzy" (or (getenv "TERM") "")) | 3839 | |
| 2129 | ;; First, must unmap the binding for M-[ | 3840 | ln -s vt100.el vt102.el |
| 2130 | (or (keymapp (lookup-key global-map "\e[")) | 3841 | |
| 2131 | (define-key global-map "\e[" nil)) | 3842 | This fixes things for everyone on the system who uses the terminal |
| 2132 | ;; Enable terminal type xyzzy's arrow keys: | 3843 | type. |
| 2133 | (define-key global-map "\e[A" 'previous-line) | 3844 | |
| 2134 | (define-key global-map "\e[B" 'next-line) | 3845 | B. If you can't do the solution in part A, you can add code to your |
| 2135 | (define-key global-map "\e[C" 'forward-char) | 3846 | term-setup-hook that loads the correct file like this: |
| 2136 | (define-key global-map "\e[D" 'backward-char)) | 3847 | |
| 2137 | ((string-match "\\`abcde" (or (getenv "TERM") "")) | 3848 | (setq term-setup-hook |
| 2138 | ;; Do something different for terminal type abcde | 3849 | (function |
| 2139 | ;; ..... | 3850 | (lambda () |
| 2140 | )))))) | 3851 | (cond ((equal "vt102" (or (getenv "TERM") "")) |
| 2141 | 3852 | (load (concat term-file-prefix "vt100"))) | |
| 2142 | This technique allows you to easily add more `cond' cases for different | 3853 | (;; Code for other terminal types goes here ... |
| 2143 | terminal types. | 3854 | ))))) |
| 2144 | 3855 | ||
| 2145 | NOTE: You will have to restart Emacs to get this change to take effect | 3856 | C. If you use `tset' to set your TERM environment variable when you |
| 2146 | when using this technique. | 3857 | login, you can use the `-m' switch to tell tset to use a terminal |
| 2147 | 3858 | type known by Emacs instead of another similar one. For example, | |
| 2148 | NOTE: Your arrow keys may send sequences beginning with "ESC O" when + | 3859 | specifying this: |
| 2149 | Emacs is running, even if they send sequences beginning with "ESC [" at + | 3860 | |
| 2150 | all other times. This is because Emacs uses any command there may be + | 3861 | tset ... -m 'dec-vt220:vt220' ... |
| 2151 | in your terminal's termcap entry for putting the terminal into + | 3862 | |
| 2152 | `Application Keypad Mode'. Just map these sequences the same way as + | 3863 | will make tset say you are on a `vt220' instead of a `dec-vt220'. |
| 2153 | above. + | 3864 | |
| 3865 | D. Interactively, you can type "M-x load-library RET term/vt100" to | ||
| 3866 | load the terminal-specific initialization files for VT100 | ||
| 3867 | terminals. | ||
| 3868 | |||
| 3869 | * Your terminal type is not similar to one that has an init file. | ||
| 3870 | |||
| 3871 | One can be made for your terminal, or you can just add code to your | ||
| 3872 | own .emacs to handle this problem for yourself. For example, if your | ||
| 3873 | terminal's arrow keys send these character sequences: | ||
| 3874 | |||
| 3875 | Up: ESC [ A | ||
| 3876 | Down: ESC [ B | ||
| 3877 | Right: ESC [ C | ||
| 3878 | Left: ESC [ D | ||
| 3879 | |||
| 3880 | then you can bind these keys to the appropriate commands with code in | ||
| 3881 | your .emacs like this: | ||
| 3882 | |||
| 3883 | (setq term-setup-hook | ||
| 3884 | (function | ||
| 3885 | (lambda () | ||
| 3886 | (cond ((string-match "\\`xyzzy" (or (getenv "TERM") "")) | ||
| 3887 | ;; First, must unmap the binding for left bracket | ||
| 3888 | (or (keymapp (lookup-key global-map "\e\[")) | ||
| 3889 | (define-key global-map "\e\[" nil)) | ||
| 3890 | ;; Enable terminal type xyzzy's arrow keys: | ||
| 3891 | (define-key global-map "\e\[A" 'previous-line) | ||
| 3892 | (define-key global-map "\e\[B" 'next-line) | ||
| 3893 | (define-key global-map "\e\[C" 'forward-char) | ||
| 3894 | (define-key global-map "\e\[D" 'backward-char)) | ||
| 3895 | ((string-match "\\`abcde" (or (getenv "TERM") "")) | ||
| 3896 | ;; Do something different for terminal type abcde | ||
| 3897 | ;; ..... | ||
| 3898 | ))))) | ||
| 3899 | |||
| 3900 | NOTE: You may have to restart Emacs to get changes to take effect. | ||
| 3901 | |||
| 3902 | NOTE: Your arrow keys may send sequences beginning with "ESC O" when | ||
| 3903 | Emacs is running, even if they send sequences beginning with "ESC [" at | ||
| 3904 | all other times. This is because Emacs uses any command there may be | ||
| 3905 | in your terminal's termcap entry for putting the terminal into | ||
| 3906 | "Application Keypad Mode". Just map these sequences the same way as | ||
| 3907 | above. | ||
| 2154 | 3908 | ||
| 2155 | The next two cases are problems even if there is a initialization file for | 3909 | The next two cases are problems even if there is a initialization file for |
| 2156 | your terminal type. | 3910 | your terminal type. |
| 2157 | 3911 | ||
| 2158 | 2. Your terminal's arrow keys send individual control characters. | 3912 | 2. The initialization file for your terminal doesn't bind arrow keys. |
| 3913 | |||
| 3914 | If your terminal type is `xterm', you will have to bind the arrow keys | ||
| 3915 | as in part 1 above, since the xterm.el file doesn't do anything useful. | ||
| 3916 | There may be other terminal types with the same problem. | ||
| 3917 | |||
| 3918 | 3. Your terminal's arrow keys send individual control characters. | ||
| 2159 | 3919 | ||
| 2160 | For example, the arrow keys on an ADM-3 send C-h, C-j, C-k, and C-l. + | 3920 | For example, the arrow keys on an ADM-3 send C-h, C-j, C-k, and C-l. |
| 2161 | 3921 | ||
| 2162 | There is not much Emacs can do in this situation, since all the control | 3922 | There is not much Emacs can do in this situation, since all the control |
| 2163 | characters except for C-^ and C-\ are already used as Emacs commands. | 3923 | characters except for C-^ and C-\ are already used as Emacs commands. |
| 2164 | It may be possible to convince the terminal to send something else when + | 3924 | It may be possible to convince the terminal to send something else when |
| 2165 | you press the arrow keys; it is worth investigating. + | 3925 | you press the arrow keys; it is worth investigating. |
| 2166 | 3926 | ||
| 2167 | You have to make the hard choices of how to rebind keys to commands to | 3927 | You have to make the hard choices of how to rebind keys to commands to |
| 2168 | make things work the way you want. Another alternative is to start + | 3928 | make things work the way you want. Another alternative is to start |
| 2169 | learning the standard Emacs keybindings for moving point around: C-b, + | 3929 | learning the standard Emacs keybindings for moving point around: C-b, |
| 2170 | C-f, C-p, and C-n. Personally, I no longer use the arrow keys when + | 3930 | C-f, C-p, and C-n. Personally, I no longer use the arrow keys when |
| 2171 | editing. + | 3931 | editing because I have switched keyboards so many times. |
| 2172 | 3932 | ||
| 2173 | 3. Your terminal's arrow keys send sequences beginning with "ESC [". | 3933 | 4. Your terminal's arrow keys send sequences beginning with "ESC [". |
| 2174 | 3934 | ||
| 2175 | Due to an extremely poor design decision (ie., these sequences are ANSI | 3935 | Due to an extremely poor design decision (ie., these sequences are ANSI |
| 2176 | standard), none of the the terminal-specific initialization files that | 3936 | standard), none of the the terminal-specific initialization files that |
| @@ -2182,8 +3942,8 @@ Binding Keys to Commands | |||
| 2182 | will change in Emacs 19. | 3942 | will change in Emacs 19. |
| 2183 | 3943 | ||
| 2184 | Some of the terminal-specific initialization files that come with Emacs | 3944 | Some of the terminal-specific initialization files that come with Emacs |
| 2185 | provide a command `enable-arrow-keys' that will fix this problem. To | 3945 | provide a command enable-arrow-keys that will fix this problem. To get |
| 2186 | get this automatically invoked, put this in your .emacs: | 3946 | this automatically invoked, put this in your .emacs: |
| 2187 | 3947 | ||
| 2188 | (setq term-setup-hook | 3948 | (setq term-setup-hook |
| 2189 | (function | 3949 | (function |
| @@ -2208,24 +3968,112 @@ Binding Keys to Commands | |||
| 2208 | 3968 | ||
| 2209 | (setq sun-esc-bracket t) | 3969 | (setq sun-esc-bracket t) |
| 2210 | 3970 | ||
| 2211 | If your terminal type is `xterm', you will have to bind the arrow keys | ||
| 2212 | as in part 1 above, since the xterm.el file doesn't do anything useful. | ||
| 2213 | |||
| 2214 | It is possible that the terminal-specific initialization file for your | 3971 | It is possible that the terminal-specific initialization file for your |
| 2215 | terminal type was written locally and does not follow the rule | 3972 | terminal type was written locally and does not follow the rule |
| 2216 | mentioned above. In this case you may need to inspect it to find out | 3973 | mentioned above. In this case you may need to inspect it to find out |
| 2217 | how to enable the arrow keys. (Actually, if it was written locally, it | 3974 | how to enable the arrow keys. (Actually, if it was written locally, it |
| 2218 | probably enables the arrow keys by default.) | 3975 | probably enables the arrow keys by default.) |
| 2219 | 3976 | ||
| 2220 | 65: How do I bind a combination of modifier key and function key? | 3977 | 136: How do I "swap" two keys? |
| 2221 | 3978 | ||
| 2222 | Unless you're using Emacs under emacstool (or xvetool?) or you have a | 3979 | When Emacs receives a character, you can make Emacs behave as though it |
| 2223 | working version of x-rebind-key (see question 52), you can't do this | 3980 | received another character by setting the value of |
| 2224 | with Emacs alone. When using emacstool, Emacs sees different character | 3981 | keyboard-translate-table. The following Emacs Lisp will do this for you, |
| 2225 | sequences for the combination of a modifier and a function key from what | 3982 | allowing you to "swap" keys. After arranging for this Lisp to be |
| 2226 | it sees for the function key alone. See etc/emacstool.1 for more | 3983 | evaluated by Emacs, you can evaluate `(swap-keys ?A ?B)' to swap A and B. |
| 2227 | information. Since Emacs sees different character sequences, you can bind | 3984 | |
| 2228 | these different sequences to different commands. | 3985 | (defun swap-keys (key1 key2) |
| 3986 | "Swap keys KEY1 and KEY2 using map-key." | ||
| 3987 | (map-key key1 key2) | ||
| 3988 | (map-key key2 key1)) | ||
| 3989 | |||
| 3990 | (defun map-key (from to) | ||
| 3991 | "Make key FROM behave as though key TO was typed instead." | ||
| 3992 | (setq keyboard-translate-table | ||
| 3993 | (concat keyboard-translate-table | ||
| 3994 | (let* ((i (length keyboard-translate-table)) | ||
| 3995 | (j from) | ||
| 3996 | (k i) | ||
| 3997 | (str (make-string (max 0 (- j (1- i))) ?X))) | ||
| 3998 | (while (<= k j) | ||
| 3999 | (aset str (- k i) k) | ||
| 4000 | (setq k (1+ k))) | ||
| 4001 | str))) | ||
| 4002 | (aset keyboard-translate-table from to) | ||
| 4003 | (let ((i (1- (length keyboard-translate-table)))) | ||
| 4004 | (while (and (>= i 0) (eq (aref keyboard-translate-table i) i)) | ||
| 4005 | (setq i (1- i))) | ||
| 4006 | (setq keyboard-translate-table | ||
| 4007 | (if (eq i -1) | ||
| 4008 | nil | ||
| 4009 | (substring keyboard-translate-table 0 (1+ i)))))) | ||
| 4010 | |||
| 4011 | NOTE: You must evaluate the definition of these functions before calling | ||
| 4012 | them! For example, list the function definitions before their use in your | ||
| 4013 | .emacs file. | ||
| 4014 | |||
| 4015 | NOTE: These functions take two numbers as arguments. The example above, | ||
| 4016 | `(swap-keys ?A ?B)' is actually `(swap-keys 65 66)', because `?A' is | ||
| 4017 | merely notation for 65, the ASCII value of `A'. | ||
| 4018 | |||
| 4019 | NOTE: These functions only work for single characters. You cannot swap | ||
| 4020 | two multi-character sequences. | ||
| 4021 | |||
| 4022 | 137: How do I produce C-XXX with my keyboard? | ||
| 4023 | |||
| 4024 | For C-@ and C-^, often you can just type Control-2 and Control-6. For | ||
| 4025 | C-_, you may have to hold down the shift key, typing Control-Shift-Hyphen. | ||
| 4026 | C-@ can often be generated by typing Control-Space. C-@ is often called | ||
| 4027 | the NUL character, and has ASCII value 0. C-_ can often be generated by | ||
| 4028 | typing Control-7 or Control-/. C-? (aka DEL) may be generated by typing | ||
| 4029 | Shift-BackSpace or Control-BackSpace or a key labelled Delete or Del. | ||
| 4030 | |||
| 4031 | Try Control with all of the digits on your keyboard to see what gets | ||
| 4032 | generated. | ||
| 4033 | |||
| 4034 | 138: What if I don't have a Meta key? | ||
| 4035 | |||
| 4036 | Instead of typing M-a, you can type "ESC a" instead. In fact, Emacs | ||
| 4037 | converts M-a internally into "ESC a" anyway (depending on the value of | ||
| 4038 | meta-prefix-char). | ||
| 4039 | |||
| 4040 | 139: What if I don't have an Escape key? | ||
| 4041 | |||
| 4042 | Type C-[ instead. This should send ASCII code 27 just like an Escape | ||
| 4043 | key would. Try also C-;. | ||
| 4044 | |||
| 4045 | 140: How do I type DEL on PC terminal emulators? | ||
| 4046 | |||
| 4047 | Some IBM PC compatibles do not have a key labeled `Del' or `Delete' {is | ||
| 4048 | this true?}. Those that do generally have it in an inconvenient location. | ||
| 4049 | (Also, in some terminal emulators, the `Del' key does not transmit DEL.) | ||
| 4050 | The result is the standard "BackSpace invoking help" problem (see question | ||
| 4051 | 133). | ||
| 4052 | |||
| 4053 | The usual solution, suggested by Michael Covington | ||
| 4054 | <mcovingt@aisun1.ai.uga.edu>, is to somehow tell the terminal emulator | ||
| 4055 | program that BackSpace should transmit DEL. Read the program's manual. | ||
| 4056 | Shift-BackSpace or Control-BackSpace may send DEL. The `Del' key may only | ||
| 4057 | send DEL if the NumLock key hasn't been pressed. | ||
| 4058 | |||
| 4059 | 141: Can I make my `Compose Character' key behave like a Meta key? | ||
| 4060 | |||
| 4061 | On a dumb terminal such as a VT220, no. It is rumored that certain VT220 | ||
| 4062 | clones could have their Compose key configured this way. If you're using | ||
| 4063 | X, you might be able to do this with the `xmodmap' program (this is | ||
| 4064 | what I do). | ||
| 4065 | |||
| 4066 | 142: How do I bind a combination of modifier key and function key? | ||
| 4067 | |||
| 4068 | Unless you're using Emacs under emacstool (or xvetool?), have a working | ||
| 4069 | version of x-rebind-key (see question 128), or are using Emacs 19 (Lucid | ||
| 4070 | Emacs), you can't do this with Emacs alone. | ||
| 4071 | |||
| 4072 | If you are using emacstool, Emacs sees different character sequences for | ||
| 4073 | the combination of a modifier and a function key from what it sees for the | ||
| 4074 | function key alone. See etc/emacstool.1 for more information. Since | ||
| 4075 | Emacs sees different character sequences, you can bind these different | ||
| 4076 | sequences to different commands. | ||
| 2229 | 4077 | ||
| 2230 | If you are running Emacs inside a terminal emulator window like xterm, you | 4078 | If you are running Emacs inside a terminal emulator window like xterm, you |
| 2231 | can modify its translation tables to make it generate different character | 4079 | can modify its translation tables to make it generate different character |
| @@ -2236,31 +4084,49 @@ Binding Keys to Commands | |||
| 2236 | Shift<KeyPress>F1: string(0x1b) string("[xyzzy") | 4084 | Shift<KeyPress>F1: string(0x1b) string("[xyzzy") |
| 2237 | 4085 | ||
| 2238 | makes Shift-F1 generate the character sequence "ESC [ xyzzy". You can | 4086 | makes Shift-F1 generate the character sequence "ESC [ xyzzy". You can |
| 2239 | bind these character sequences in Emacs as normal. | 4087 | bind these character sequences in Emacs as normal. Nick Ruprecht |
| 4088 | <ruprecht@informatik.uni-freiburg.de> has written an extensive X | ||
| 4089 | translation mapping for xterm that does this. {Does this have an FTP | ||
| 4090 | site?} | ||
| 4091 | |||
| 4092 | If you have x-rebind-key, you can have any arbitrary combination of | ||
| 4093 | modifiers with a key replaced by any sequence of "normal" characters. For | ||
| 4094 | example, this makes Shift-Return behave as though you had typed "C-x C-e" | ||
| 4095 | (example from Jerry Graves): | ||
| 4096 | |||
| 4097 | (x-rebind-key "Return" 'shift "\C-x\C-e") | ||
| 4098 | |||
| 4099 | In Emacs 19 (Lucid Emacs), you can bind Meta-Left-Arrow like this (example | ||
| 4100 | from Jamie Zawinski): | ||
| 2240 | 4101 | ||
| 2241 | 66: Why doesn't my Meta key work in an xterm window? | 4102 | (global-set-key '(meta left) 'backward-word) |
| 4103 | |||
| 4104 | With the last two methods, use `xmodmap' and `xev' to discover the keysym | ||
| 4105 | and modifier names. | ||
| 4106 | |||
| 4107 | 143: Why doesn't my Meta key work in an xterm window? | ||
| 2242 | 4108 | ||
| 2243 | Try all of these methods before asking for further help: | 4109 | Try all of these methods before asking for further help: |
| 2244 | 4110 | ||
| 2245 | * If you are using `olwm' as your window manager, switch to another window + | 4111 | * You may have big problems using `mwm' as your window manager. {Does |
| 2246 | manager. :-) {Seriously though, does anyone know a good generic + | 4112 | anyone know a good generic solution to allow the use of the Meta key in |
| 2247 | solution to allow the use of the Meta key with Emacs under olwm?} + | 4113 | Emacs with mwm?} |
| 2248 | + | 4114 | |
| 2249 | * For X11R4: Make sure it really is a Meta key. Use "xev" to find out + | 4115 | * For X11R4: Make sure it really is a Meta key. Use `xev' to find out |
| 2250 | what keysym your Meta key generates. It should be either Meta_L or | 4116 | what keysym your Meta key generates. It should be either Meta_L or |
| 2251 | Meta_R. If it isn't, use xmodmap to fix the situation. | 4117 | Meta_R. If it isn't, use xmodmap to fix the situation. |
| 2252 | 4118 | ||
| 2253 | * Make sure the pty the xterm is using is passing 8 bit characters. | 4119 | * Make sure the pty the xterm is using is passing 8 bit characters. |
| 2254 | "stty -a" (or "stty everything") should show "cs8" somewhere. If it | 4120 | `stty -a' (or `stty everything') should show `cs8' somewhere. If it |
| 2255 | shows "cs7" instead, use "stty cs8 -istrip" (or "stty pass8") to fix | 4121 | shows `cs7' instead, use `stty cs8 -istrip' (or `stty pass8') to fix |
| 2256 | it. | 4122 | it. |
| 2257 | 4123 | ||
| 2258 | * If there is an rlogin connection between the xterm and the Emacs, the | 4124 | * If there is an rlogin connection between the xterm and the Emacs, the |
| 2259 | "-8" argument may need to be given to rlogin to make it pass all 8 | 4125 | `-8' argument may need to be given to rlogin to make it pass all 8 |
| 2260 | bits of every character. | 4126 | bits of every character. |
| 2261 | 4127 | ||
| 2262 | * If the Emacs is running under Ultrix, it is reported that evaluating ! | 4128 | * If the Emacs is running under Ultrix, it is reported that evaluating |
| 2263 | (set-input-mode t nil) helps. + | 4129 | (set-input-mode t nil) helps. |
| 2264 | 4130 | ||
| 2265 | * If all else fails, you can make xterm generate "ESC W" when you type | 4131 | * If all else fails, you can make xterm generate "ESC W" when you type |
| 2266 | M-W, which is the same conversion Emacs would make if it got the M-W | 4132 | M-W, which is the same conversion Emacs would make if it got the M-W |
| @@ -2275,9 +4141,9 @@ Binding Keys to Commands | |||
| 2275 | XTerm.VT100.Translations: #override \ | 4141 | XTerm.VT100.Translations: #override \ |
| 2276 | Meta<KeyPress>: string(0x1b) insert() | 4142 | Meta<KeyPress>: string(0x1b) insert() |
| 2277 | 4143 | ||
| 2278 | You might have to replace "Meta" with "Alt". | 4144 | You might have to replace `Meta' with `Alt'. |
| 2279 | 4145 | ||
| 2280 | 67: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? | 4146 | 144: Why doesn't my ExtendChar key work as a Meta key under HP-UX 8.0? |
| 2281 | 4147 | ||
| 2282 | This is a result of an internationalization extension in X11R4 and the | 4148 | This is a result of an internationalization extension in X11R4 and the |
| 2283 | fact that HP is now using this extension. Emacs assumes that | 4149 | fact that HP is now using this extension. Emacs assumes that |
| @@ -2291,402 +4157,338 @@ Binding Keys to Commands | |||
| 2291 | NOTE: This will disable the use of the extra keysyms systemwide, which | 4157 | NOTE: This will disable the use of the extra keysyms systemwide, which |
| 2292 | may be undesirable if you actually intend to use them. | 4158 | may be undesirable if you actually intend to use them. |
| 2293 | 4159 | ||
| 2294 | 68: Where can I get key bindings to make Emacs emulate WordStar? | 4160 | 145: Where can I get key bindings to make Emacs emulate WordStar? |
| 2295 | |||
| 2296 | Look for the package `wordstar' in the Emacs Lisp Archive (see question | ||
| 2297 | 18). | ||
| 2298 | |||
| 2299 | |||
| 2300 | |||
| 2301 | Building/Installing/Porting Emacs and Machine/OS-Specific Bugs - | ||
| 2302 | |||
| 2303 | 69: Why does Emacs crash with "Fatal error (6).Abort" under SunOS 4.1? | ||
| 2304 | |||
| 2305 | I had hoped this question would go away after Emacs 18.57 was released, | ||
| 2306 | but people continue to compile 18.55. | ||
| 2307 | |||
| 2308 | There is a bug in the "localtime" routine supplied with SunOS 4.1. A | ||
| 2309 | private function called by tzsetwall zeroes the byte just past an eight | ||
| 2310 | byte region it mallocs. This corrupts GNU malloc's memory pool. When GNU | ||
| 2311 | malloc detects this it aborts. | ||
| 2312 | |||
| 2313 | In the 18.57 release "#define SYSTEM_MALLOC" was added to the ! | ||
| 2314 | configuration file for SunOS 4.1, which allowed Emacs to work. However, ! | ||
| 2315 | Sun's realloc behaves horribly when alternated with malloc, so your + | ||
| 2316 | process size can balloon rapidly in certain situations quickly using up + | ||
| 2317 | all available memory. Thus, you may prefer the approach taken by Emacs + | ||
| 2318 | 18.58, which has a different fix that makes GNU's malloc always allocate + | ||
| 2319 | at least 16 bytes. + | ||
| 2320 | + | ||
| 2321 | Eirik Fuller <eirik@theory.tn.cornell.edu> supplies most of the following + | ||
| 2322 | information: + | ||
| 2323 | |||
| 2324 | In SunOS 4.1.1, it appears that Sun has still not fixed their bug, since | ||
| 2325 | the localtime.o file did not change. They must be aware of it since they | ||
| 2326 | suggest using "#define SYSTEM_MALLOC" to compile Emacs in their | ||
| 2327 | documentation. It is reported that this same bug causes mysterious | ||
| 2328 | behavior in Sun's /usr/etc/rpc.mountd. | ||
| 2329 | |||
| 2330 | For people who want to fix this problem for real, there is a fixed version | ||
| 2331 | of the localtime.o file available via anonymous FTP (titan.rice.edu: | ||
| 2332 | incoming/localtime.tar.Z). {Someone has reported that this file is now | ||
| 2333 | missing.} The new localtime.o file should be installed in the | ||
| 2334 | /usr/lib/libc{.a,.so.*} files. Read the `ar' man page and the README file | ||
| 2335 | in /usr/lib/shlib.etc for instructions. - | ||
| 2336 | |||
| 2337 | Now stop asking this question! :-) :-) | ||
| 2338 | |||
| 2339 | 70: Why do I get an "f68881_used undefined" error, when I build Emacs on my | ||
| 2340 | Sun 3? | ||
| 2341 | |||
| 2342 | Barry A. Warsaw <warsaw@cme.nist.gov> writes: | ||
| 2343 | |||
| 2344 | Some of the code that is being linked on the "ld" line of emacs' build | ||
| 2345 | command has been compiled with the -f68881 option. Most common reason | ||
| 2346 | is that you're linking with X libraries which were built with -f68881 | ||
| 2347 | option set. You need to either remove all dependencies to the 68881 | ||
| 2348 | (may mean a recompile of the X libraries with -fswitch or -fsoft | ||
| 2349 | option), or you need to link emacs with the 68881 startup file | ||
| 2350 | /usr/lib/Mcrt1.o. Make this change to src/ymakefile: | ||
| 2351 | |||
| 2352 | change: #define START_FILES crt0.o | ||
| 2353 | to: #define START_FILES crt0.o /usr/lib/Mcrt1.o | ||
| 2354 | |||
| 2355 | The order of these start files is critical. | ||
| 2356 | |||
| 2357 | 71: Why does Emacs ignore my X resources (my .Xdefaults file)? | ||
| 2358 | |||
| 2359 | * Try compiling Emacs with the XBACKWARDS macro defined. There is a bug | ||
| 2360 | in some implementations of XGetDefault, which do not correspond to the | ||
| 2361 | documentation or the header files. | ||
| 2362 | |||
| 2363 | * Make sure you are either using the class name of `Emacs' or the correct | ||
| 2364 | instance name. The instance name is normally the same as the name of | ||
| 2365 | the file Emacs is in (ie., the last part of argv[0]), but this can be | ||
| 2366 | overridden by -rn command line option or the WM_RES_NAME environment | ||
| 2367 | variable. | ||
| 2368 | |||
| 2369 | WARNING: The advice the man page gives to use `emacs' is often wrong. | ||
| 2370 | |||
| 2371 | WARNING: Older versions of Emacs got the class name wrong. | ||
| 2372 | |||
| 2373 | * Emacs currently ignores the -xrm command line argument. ! | ||
| 2374 | |||
| 2375 | * Emacs does not yet handle X11R5 screen-specific resources. | ||
| 2376 | |||
| 2377 | * Emacs has a bug where it ignores color specifications if running on a | ||
| 2378 | 1-bit display (ie. a non-color display). | ||
| 2379 | |||
| 2380 | 72: How do I get Emacs to compile with all features under OpenWindows? | ||
| 2381 | 4161 | ||
| 2382 | Problems fixed in 18.58: the reference to include file <X11/X10.h>, ! | 4162 | There is a package `wordstar' by Jim Frost <jimf@saber.com> and |
| 2383 | linking with the OpenWindows libX11.a. ! | 4163 | `ws-mode.el' by Juergen Nickelsen <nickel@cs.tu-berlin.de>. Check in the |
| 4164 | Emacs Lisp Archive (see question 89). | ||
| 2384 | 4165 | ||
| 2385 | If libX11.a is missing, you may need to use `add_services' to add the + | 4166 | 146: Where can I get an XEDIT emulator for Emacs? |
| 2386 | `OpenWindows Programmers' optional software category from the CD-ROM. To + | ||
| 2387 | get the Xmenu stuff to work, you need to find a copy of MIT's liboldX.a. | ||
| 2388 | 4167 | ||
| 2389 | Questions for the net {please send me answers!}: | 4168 | This question comes up once every couple of months. I have never seen a |
| 2390 | 4169 | positive reply, so I presume no one has ever written one. | |
| 2391 | * Are compiled versions of liboldX.A for Sun 4s running SunOS 4.* | ||
| 2392 | available for FTP anywhere? | ||
| 2393 | * What is the solution to the "not a sun window" problem with xvetool? - | ||
| 2394 | |||
| 2395 | 73: How do I build Emacs under HP-UX 8.0? | ||
| 2396 | |||
| 2397 | Problems fixed in 18.58: missing errnet.h, "Cannot do arithmetic with ! | ||
| 2398 | pointers to objects of unknown size" (void *), not finding -lX11, unexec ! | ||
| 2399 | making a bad dumped emacs due to shared libraries ("Fatal Error(11)- ! | ||
| 2400 | Segmentation Fault", I think). ! | ||
| 2401 | ! | ||
| 2402 | If libX11.a is missing, you may need to run `update' again to load the ! | ||
| 2403 | X11-PRG "fileset". This may be missing even if you specified "all ! | ||
| 2404 | filesets" the first time. ! | ||
| 2405 | |||
| 2406 | 74: What should I do if I have trouble building Emacs? | ||
| 2407 | |||
| 2408 | First look in the file etc/PROBLEMS to see if there is already a solution | ||
| 2409 | for your problem. Next check the FAQ (you're reading it). If you don't | ||
| 2410 | find a solution, then report your problem via e-mail to | ||
| 2411 | bug-gnu-emacs@prep.ai.mit.edu. Please do not post it to gnu.emacs.help or | ||
| 2412 | e-mail it to help-gnu-emacs@prep.ai.mit.edu. For further guidelines, see + | ||
| 2413 | question 23. + | ||
| 2414 | 4170 | ||
| 2415 | 4171 | ||
| 2416 | 4172 | ||
| 2417 | Weird/Confusing Problems - | 4173 | Using Emacs with Alternate Character Sets |
| 2418 | 4174 | ||
| 2419 | 75: Does Emacs have problems with files larger than 8 megabytes? | 4175 | 147: How do I make Emacs display 8-bit characters? |
| 2420 | |||
| 2421 | Most installed versions of GNU Emacs will use 24-bit signed integers (and + | ||
| 2422 | 24-bit pointers) internally. This limits the file size that Emacs can ! | ||
| 2423 | handle to 8,388,607 bytes (2^23 - 1). ! | ||
| 2424 | 4176 | ||
| 2425 | Leonard N. Zubkoff <lnz@lucid.com> suggests putting the following two ! | 4177 | There is a patch called the `8-bit ctl-arrow patch' that allows Emacs to |
| 2426 | lines in src/config.h before compiling Emacs to allow for 26-bit integers ! | 4178 | display characters with codes from 128 to 255. {The original appears to |
| 2427 | and pointers (and thus filesizes of up to 33,554,431 bytes): + | 4179 | have been by Kenneth Cline <cline@proof.ergo.cs.cmu.edu>.} Partially based |
| 2428 | 4180 | on Johan Widen's earlier work, Johan Vromans <jv@mh.nl> has updated this | |
| 2429 | #define VALBITS 26 | 4181 | patch for Emacs 18.58 along with some other 8-bit improvements. |
| 2430 | #define GCTYPEBITS 5 | ||
| 2431 | |||
| 2432 | WARNING: This method may result in `ILLEGAL DATATYPE' errors on some + | ||
| 2433 | machines. + | ||
| 2434 | |||
| 2435 | David Gillespie <daveg@csvax.cs.caltech.edu> gives an explanation of why | ||
| 2436 | Emacs uses 24 bit integers and pointers: | ||
| 2437 | |||
| 2438 | Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed | ||
| 2439 | language in the sense that you can put any value of any type into any | ||
| 2440 | variable, or return it from a function, and so on. So each value must | ||
| 2441 | carry a "tag" along with it identifying what kind of thing it is, e.g., | ||
| 2442 | integer, pointer to a list, pointer to an editing buffer, and so on. | ||
| 2443 | Emacs uses standard 32-bit integers for data objects, taking the top 8 | ||
| 2444 | bits for the tag and the bottom 24 bits for the value. So integers (and | ||
| 2445 | pointers) are somewhat restricted compared to true C integers and | ||
| 2446 | pointers. | ||
| 2447 | |||
| 2448 | Emacs uses 8-bit tags because that's a little faster on byte-oriented | ||
| 2449 | machines, but there are only really enough tags to require 6 bits. - | ||
| 2450 | |||
| 2451 | 76: Why does Emacs start up using the wrong directory? | ||
| 2452 | |||
| 2453 | Most likely, you have an environment variable named PWD that is set to a | ||
| 2454 | value other than the name of your current directory. This is most | ||
| 2455 | likely caused by using two different shell programs. "ksh" and (some | ||
| 2456 | versions of) "csh" set and maintain the value of the PWD environment | ||
| 2457 | variable, but "sh" doesn't. If you start sh from ksh, change your | ||
| 2458 | current directory inside sh, and then start Emacs from inside sh, PWD | ||
| 2459 | will have the wrong value but Emacs will use this value. See the | ||
| 2460 | etc/OPTIONS file for more details. | ||
| 2461 | |||
| 2462 | Perhaps an easier solution is not to use two shells. The "chsh" program | ||
| 2463 | can often be used to change one's default login shell. | ||
| 2464 | |||
| 2465 | 77: How do I edit a file with a "$" in its name? | ||
| 2466 | |||
| 2467 | When entering a filename in the minibuffer, Emacs will attempt to expand | ||
| 2468 | a "$" followed by a word as an environment variable. To suppress this | ||
| 2469 | behavior, type "$$" instead. | ||
| 2470 | |||
| 2471 | 78: Why does Shell mode lose track of the shell's current directory? | ||
| 2472 | |||
| 2473 | Emacs has no way of knowing when the shell actually changes its directory. | ||
| 2474 | This is an intrinsic limitation of Unix. So it tries to guess by | ||
| 2475 | recognizing "cd" commands. If you type "cd" followed by a directory name | ||
| 2476 | with a variable reference ("cd $HOME/bin") or with a shell metacharacter | ||
| 2477 | ("cd ../lib*"), Emacs will fail to correctly guess the shell's new current | ||
| 2478 | directory. A huge variety of fixes and enhancements to Shell mode for ! | ||
| 2479 | this problem have been written to handle this problem. Check the Lisp | ||
| 2480 | Code Directory (see question 17). | ||
| 2481 | |||
| 2482 | 79: Why doesn't Emacs expand my aliases when sending mail? | ||
| 2483 | 4182 | ||
| 2484 | * You must separate multiple addresses in the headers of the mail buffer + | 4183 | Anonymous FTP: |
| 2485 | with commas. This is because Emacs supports RFC822 standard addresses | 4184 | /ftp.eu.net:gnu/emacs/FP-EightBit.Z |
| 2486 | like this one: | 4185 | /ftp.urc.tue.nl:/pub/tex/emacs/FP-EightBit + |
| 4186 | /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57 | ||
| 4187 | /sics.se:archive/emacs-18.55-8bit-diff | ||
| 4188 | /laas.laas.fr:pub/emacs/patch-8bit-18.55 | ||
| 4189 | /laas.laas.fr:pub/emacs/patch-8bit-18.57 | ||
| 2487 | 4190 | ||
| 2488 | To: Willy Smith <wks@xpnsv.lwyrs.com> + | 4191 | Via e-mail: |
| 4192 | To: mail-server@sics.se | ||
| 4193 | body: send emacs-18.55-8bit-diff | ||
| 2489 | 4194 | ||
| 2490 | However, you do not need to separate addresses with commas in your + | 4195 | Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive |
| 2491 | .mailrc file. + | 4196 | patch for Emacs 18.59 that allows for 8-bit input and output. ! |
| 2492 | + | ||
| 2493 | WARNING: Emacs breaks up aliases in the .mailrc file into multiple + | ||
| 2494 | addresses both on commas and on whitespace, regardless of any use of + | ||
| 2495 | quotes. This is probably a bug. You can get around this by directly + | ||
| 2496 | setting the value of mail-aliases. + | ||
| 2497 | 4197 | ||
| 2498 | * Emacs normally only reads the ".mailrc" file once per session, when you | 4198 | Anonymous FTP: |
| 2499 | start to compose your first mail message. If you edit .mailrc, you can | 4199 | /ftp.efd.lth.se:pub/gnu/emacs_8-bit.patch ! |
| 2500 | type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc. | 4200 | ! |
| 2501 | (You have to include the parentheses where they are shown!) | 4201 | In the words of the author: ! |
| 4202 | ! | ||
| 4203 | With these patches, Emacs becomes fully 8-bit operational. There is ! | ||
| 4204 | support for displaying 8-bit characters, as well as for entering such ! | ||
| 4205 | characters from the keyboard. In addition, upcase/lowcase tranlatsion ! | ||
| 4206 | is supported, accented characters are recognized as "letters" (important ! | ||
| 4207 | when doing 'forward-word', for example), and text with 8-bit characters ! | ||
| 4208 | can be sorted correctly. ! | ||
| 4209 | ! | ||
| 4210 | A Meta-shift key can still be used, provided that you run in an ! | ||
| 4211 | environment where it is possible to distinguish between a character ! | ||
| 4212 | entered using the Meta-shift key and one entered directly. The diffs ! | ||
| 4213 | include patches to make this work under SunView (with emacstool) as ! | ||
| 4214 | well as under X. If you can't use a Meta-shift key, you have to enter ! | ||
| 4215 | Meta-commands with the ESC-prefix. ! | ||
| 4216 | |||
| 4217 | The most comprehensive patches for 8-bit output are by Howard Gayle | ||
| 4218 | (originally for Emacs 18.55. These patches allow displaying any arbitrary | ||
| 4219 | string for a given 8-bit character (except TAB and C-j). Also supported | ||
| 4220 | is defining the sorting order and the uppercase and lowercase | ||
| 4221 | translations. It is reported that the 8-bit character support in Emacs 19 | ||
| 4222 | is largely based on these patches. Thomas Bellman | ||
| 4223 | <Bellman@lysator.liu.se> has updated these patches for Emacs 18.59. ! | ||
| 2502 | 4224 | ||
| 2503 | * Emacs does not interpret vendor-specific additions to the format of the | 4225 | Anonymous FTP: |
| 2504 | .mailrc file such as the `source' command. It also ignores any `set' + | 4226 | /sics.se:archive/emacs-gayle.tar.Z (patches for 18.55) |
| 2505 | commands. The only commands it looks at are `alias' and `group' + | 4227 | /ftp.lysator.liu.se:pub/emacs/gayle-18.58.diff.tar.Z (patches) ! |
| 2506 | commands. + | 4228 | /ftp.lysator.liu.se:pub/emacs/emacs-18.59-gayle.tar.Z (patched Emacs) ! |
| 2507 | 4229 | ||
| 2508 | 80: Why doesn't my change to load-path work? | 4230 | Epoch's 8-bit character support is based on Anders Edenbrandt's patches. ! |
| 4231 | Lucid Emacs has the ctl-arrow patch installed. Nemacs displays 8-bit | ||
| 4232 | characters, and it may be useful for displaying the 8-bit ISO-8859 | ||
| 4233 | alphabet, but I don't know for sure (see question 149). | ||
| 2509 | 4234 | ||
| 2510 | If you added a directory name containing a tilde (~) to your load-path, | 4235 | 148: How do I input 8-bit characters? |
| 2511 | expecting the tilde to be interpreted as your home directory, then you | ||
| 2512 | need to do something like this: | ||
| 2513 | 4236 | ||
| 2514 | (setq load-path (mapcar 'expand-file-name load-path)) | 4237 | Minor modes for ISO Latin-1 that allow one to easily input this character |
| 4238 | set have been written by several people. Such modes have been written by | ||
| 4239 | Matthieu Herrb <matthieu@laas.fr> (laas.laas.fr:pub/emacs/iso-latin-1.el), | ||
| 4240 | Johan Vromans <jv@mh.nl> {FTP site??}, and Marc Shapiro | ||
| 4241 | <shapiro@sor.inria.fr> {FTP site??}. | ||
| 2515 | 4242 | ||
| 2516 | 81: Why does the cursor always go to the wrong column when I move up or | 4243 | These approaches differ from the one taken by Anders Edenbrandt in that |
| 2517 | down one line? | 4244 | his method uses direct 8-bit input, while these methods use a compose |
| 4245 | sequence for 8-bit characters. {I have heard conflicting reports on | ||
| 4246 | whether this results in losing the Meta key. Perhaps this depends on | ||
| 4247 | whether Emacs is running under X. Can someone resolve this?} | ||
| 2518 | 4248 | ||
| 2519 | You have inadvertently typed "C-x C-n" (set-goal-column) which sets the | 4249 | Karl Heuer <karl@haddock.ima.isc.com> is said to have a patch to allow |
| 2520 | "goal-column" to the column where the cursor was. To undo this type | 4250 | 8-bit input. Georg-Wilhelm Koltermann <gwk@crmunich0.cray.com> also has a |
| 2521 | "C-u C-x C-n". | 4251 | patch for either 18.57 or 18.58 that allows 8-bit input. |
| 2522 | 4252 | ||
| 2523 | If you make this mistake frequently, you might want to unbind or disable | 4253 | Epoch comes with a patch that allows it to input 8-bit characters, but it |
| 2524 | this command by doing one of these two: | 4254 | is not enabled by default. {Is this right?} |
| 2525 | 4255 | ||
| 2526 | (define-key ctl-x-map "\C-n" nil) | 4256 | Jamie Zawinski says: |
| 2527 | (put 'set-goal-column 'disabled t) | ||
| 2528 | 4257 | ||
| 2529 | 82: Why does Emacs hang with message "Unknown XMenu error" with X11R4? + | 4258 | Lucid GNU Emacs allows the input of any ISO-8859/1 keysyms that your |
| 4259 | keyboard generates (see xmodmap), and contains a package that implements | ||
| 4260 | a DEC/OpenWindows-like "Compose" key for systems which don't have one. | ||
| 2530 | 4261 | ||
| 2531 | Many different X errors can produce this message. Here is the solution | 4262 | 149: Where can I get an Emacs that can handle kanji characters? |
| 2532 | to one problem: | ||
| 2533 | 4263 | ||
| 2534 | X11 Release 4 (and later, including OpenWindows) enforces some conditions ! | 4264 | Nemacs 3.3.2 (Nihongo GNU Emacs) is a modified version of GNU Emacs 18.55 |
| 2535 | in the X protocol that were previously allowed to pass unnoticed. You | 4265 | that handles kanji characters. It is available via anonymous FTP: |
| 2536 | need to put the X11R4 server into X11R3 bug compatibility mode for Emacs's | ||
| 2537 | Xmenu code to work. You can do this with the command "xset bc". | ||
| 2538 | 4266 | ||
| 2539 | 83: Why doesn't display-time show the load average in the mode line | 4267 | /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z |
| 2540 | anymore? | 4268 | /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z - |
| 2541 | 4269 | ||
| 2542 | In GNU Emacs 18.56, a change was made in the display-time code. | 4270 | You might also need files for "wnn", a kanji input method |
| 2543 | Formerly, in version 18.55, Emacs used a program named "loadst" to | 4271 | (wnn-4.0.3{-README,.tar.Z} {on which machine?}). You need a terminal (or |
| 2544 | notify Emacs of the change in time every minute. loadst also sent Emacs | 4272 | terminal emulator) that can display text encoded in JIS, Shift-JIS, or EUC |
| 2545 | the system load average if it was installed with sufficient privilege to | 4273 | (Extended Unix Code), or the ability to run Nemacs as a direct X Window |
| 2546 | get that information (or was on a system where no such privilege was | 4274 | client. |
| 2547 | needed). Emacs then displayed this information in the mode line. | ||
| 2548 | 4275 | ||
| 2549 | In version 18.56, this code was changed to use a program named "wakeup". | 4276 | 150: Where can I get an Emacs that can handle Chinese? |
| 2550 | wakeup doesn't send Emacs any information, it's only purpose is to send | ||
| 2551 | Emacs *something* every minute, thus invoking the filter function in | ||
| 2552 | Emacs once a minute. The filter function in Emacs does all the work of | ||
| 2553 | finding the time, date, and load average. However, getting the load | ||
| 2554 | average requires the privilege to read kernel memory on most systems. | ||
| 2555 | Since giving Emacs this privilege would destroy any security a system | ||
| 2556 | might have, for almost everyone this is not an option. In addition, | ||
| 2557 | Emacs does not have the code built into it to get this information on | ||
| 2558 | the systems which have special system calls for this purpose, even | ||
| 2559 | though loadst had code for this. | ||
| 2560 | |||
| 2561 | The solution I use is to get the files lisp/display-time.el and | ||
| 2562 | etc/loadst.c from version 18.55 and use those with 18.58. (I have heard ! | ||
| 2563 | a rumor that loadst disappeared because of the legal action Unipress | ||
| 2564 | threatened against IBM.) | ||
| 2565 | |||
| 2566 | WARNING: Do not install Emacs setgid kmem unless you wish to destroy | ||
| 2567 | any security your system might have!!!!!!!!!! | ||
| 2568 | 4277 | ||
| 2569 | If you are using Emacs 18.55 or earlier, or already using the solution I | 4278 | `cemacs' by Stephen G. Simpson <simpson@math.psu.edu> is a patch to Emacs |
| 2570 | describe above, read further: | 4279 | 18.57 (the ctl-arrow patch) and some Emacs Lisp code that combined with |
| 4280 | Cxterm allows using Chinese characters. It is available via anonymous | ||
| 4281 | FTP: | ||
| 2571 | 4282 | ||
| 2572 | The most likely cause of the problem is that "loadst" can't read the | 4283 | /crl.nmsu.edu:pub/chinese/cemacs.tar.Z |
| 2573 | special file /dev/kmem. To properly install loadst, it should be either | 4284 | /cs.purdue.edu:pub/ygz/cemacs.tar.Z |
| 2574 | setuid to the owner of /dev/kmem, or is should be setgid to the group to | ||
| 2575 | which /dev/kmem belongs. In either case, /dev/kmem should be readable by | ||
| 2576 | its owner or its group, respectively. | ||
| 2577 | 4285 | ||
| 2578 | Another possibility is that your version of Unix doesn't have the load | 4286 | Cxterm is available from the same place: |
| 2579 | average data available in /dev/kmem. Your version of Unix might have a | ||
| 2580 | special system call to retrieve this information (eg., inq_stats under | ||
| 2581 | UMAX), and loadst might not have been enhanced to cope with this. | ||
| 2582 | 4287 | ||
| 2583 | 84: Why doesn't GNUS work anymore via NNTP? | 4288 | /cs.purdue.edu:pub/ygz/cxterm-11.5.1.tar.Z |
| 2584 | 4289 | ||
| 2585 | There is a bug in NNTP version 1.5.10, such that when multiple requests | 4290 | 151: Where is an Emacs that can handle Semitic (right-to-left) alphabets? |
| 2586 | are sent to the NNTP server, the server only handles the first one before | ||
| 2587 | blocking waiting for more input which never comes. NNTP version 1.5.11 | ||
| 2588 | claims to fix this. | ||
| 2589 | 4291 | ||
| 2590 | You can work around the bug inside Emacs like this: | 4292 | Joel M. Hoffman <joel@wam.umd.edu> writes: |
| 2591 | 4293 | ||
| 2592 | (setq nntp-maximum-request 1) | 4294 | A couple of years ago a wrote a hebrew.el file that allows right-to-left |
| 4295 | editing of Hebrew. I relied on the hardware to display the Hebrew | ||
| 4296 | letters, given the right codes, but not for any right-to-left support; | ||
| 4297 | the hardware also doesn't have to send any specific char. codes. Emacs | ||
| 4298 | keeps track of when the user is typing Hebrew vs. English. (The VT-* | ||
| 4299 | terminals in Israel contain built-in support for Hebrew.) | ||
| 2593 | 4300 | ||
| 2594 | I also have a patch for NNTP 1.5.10 by Mike Pelletier | 4301 | To get it to work I had to modify only a few lines of GNU Emacs's source |
| 2595 | <stealth@engin.umich.edu> that is based on the timeout code that was in | 4302 | code --- just enough to make it 8-bit clean. |
| 2596 | 1.5.9. However, please try to upgrade to 1.5.11 first. | ||
| 2597 | 4303 | ||
| 2598 | You can find out what version of NNTP your news server is running by | 4304 | [and in a separate message:] |
| 2599 | telnetting to the NNTP port (usually 119) on the news server machine (ie., | ||
| 2600 | `telnet server-machine 119'). The server should give its version number | ||
| 2601 | in the welcome message. Type `quit' to get out. | ||
| 2602 | 4305 | ||
| 2603 | 85: Why does ispell sometimes ignore the local dictionary? | 4306 | It doesn't produce time-order ["sefer" format] (I wouldn't recommend |
| 4307 | trying that with emacs, because converting time-order to screen-order | ||
| 4308 | with arbitrarily long lines is a bit tricky), but I also concocted a | ||
| 4309 | quick filter to convert screen-order into time-order. I'll be happy to | ||
| 4310 | send you the requisite files if you want them. If you're using it for | ||
| 4311 | anything large, however, you'll want something that works better. | ||
| 2604 | 4312 | ||
| 2605 | You need to update the version of ispell to 2.0.02. (Or you can switch to | 4313 | Joel Hoffman has also written a "bi-directional bi-lingual Emacs-like" |
| 2606 | version 3.0 which is still in beta-testing.) A patch is available via | 4314 | editor for MS-DOS named Ibelbe (Itty Bitty Emacs-Like Bidirectional |
| 2607 | anonymous FTP (archive.cis.ohio-state.edu: /pub/gnu/ispell/patch2.Z). | 4315 | Editor). Ibelbe is written in Turbo Pascal and comes with source code. |
| 4316 | Here is the description: | ||
| 2608 | 4317 | ||
| 2609 | You also need to change a line in ispell.el from: | 4318 | Ibelbe looks like emacs (it even has a minibuffer and filename |
| 4319 | completion), and fully supports both right-to-left and left-to-right | ||
| 4320 | editing. Other than an EGA monitor or better, no special hardware is | ||
| 4321 | required. You will need an EGA Hebrew font to use Ibelbe with Hebrew. | ||
| 2610 | 4322 | ||
| 2611 | (defconst ispell-version "2.0.01") ; Check against output of "ispell -v". | 4323 | Anonymous FTP: |
| 4324 | /israel.nysernet.org:israel/msdos/ibelbe.zip | ||
| 4325 | /israel.nysernet.org:israel/msdos/hebfont.zip | ||
| 2612 | 4326 | ||
| 2613 | to: | 4327 | Joseph Friedman <yossi@deshaw.com, yossi@Neon.Stanford.EDU> has written |
| 4328 | patches for Emacs 18.55 and 18.58 that provide Semitic language support | ||
| 4329 | under X Windows. | ||
| 2614 | 4330 | ||
| 2615 | (defconst ispell-version "2.0.02") ; Check against output of "ispell -v". | 4331 | Warren Burstein <warren@itex.jct.ac.il> says he has mapped 7-bit keys by |
| 4332 | modifying self-insert-command "for Hebrew input on 7-bit keyboards". | ||
| 2616 | 4333 | ||
| 2617 | 86: How do I get rid of the ^M junk in my Shell buffer? | 4334 | A good suggestion is to query archie for files named with `hebrew'. |
| 2618 | 4335 | ||
| 2619 | For tcsh, put this in your ".cshrc" (or ".tcshrc") file: | 4336 | |
| 4337 | |||
| 4338 | ---------------------------------------------------------------------- + | ||
| 4339 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells + | ||
| 4340 | Copyright (C) 1992, 1993 Steven Byrnes + | ||
| 4341 | + | ||
| 4342 | This list of frequently asked questions about GNU Emacs with answers + | ||
| 4343 | ("FAQ") may be translated into other languages, transformed into other + | ||
| 4344 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new + | ||
| 4345 | information. The same conditions apply to any derivative of the FAQ as + | ||
| 4346 | apply to the FAQ itself. Every copy of the FAQ must include this notice + | ||
| 4347 | or an approved translation, information on who is currently maintaining + | ||
| 4348 | the FAQ and how to contact them (including their e-mail address), and + | ||
| 4349 | information on where the latest version of the FAQ is archived (including + | ||
| 4350 | FTP information). The FAQ may be copied and redistributed under these + | ||
| 4351 | conditions, except that the FAQ may not be embedded in a larger literary + | ||
| 4352 | work unless that work itself allows free copying and redistribution. + | ||
| 4353 | |||
| 4354 | |||
| 4355 | GNU Emacs FAQ: Mail and News | ||
| 4356 | |||
| 4357 | This portion of the GNU Emacs FAQ list is cross-posted to `gnu.emacs.gnus' | ||
| 4358 | because many of the questions herein deal with GNUS. See `gnu.emacs.help' for | ||
| 4359 | the rest of the FAQ list. | ||
| 4360 | |||
| 4361 | If you are viewing this text in a GNU Emacs Buffer, you can type "M-2 C-x $" to | ||
| 4362 | get an overview of just the questions. Then, when you want to look at the text | ||
| 4363 | of the answers, just type "C-x $". | ||
| 4364 | |||
| 4365 | To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a C-r if | ||
| 4366 | that doesn't work, then type ESC to end the search. | ||
| 4367 | |||
| 4368 | A `+' in the 78th column means something was inserted on the line. A `-' means | ||
| 4369 | something was deleted and a `!' means some combination of insertions and | ||
| 4370 | deletions occurred. | ||
| 4371 | |||
| 4372 | Full instructions for getting the latest FAQ are in question 22. Also see the | ||
| 4373 | `Introduction to news.answers' posting in the `news.answers' newsgroup, or send | ||
| 4374 | e-mail to `mail-server@rtfm.mit.edu' with `help' on a body line, or use FTP, | ||
| 4375 | WAIS, or Prospero to rtfm.mit.edu. | ||
| 4376 | |||
| 4377 | |||
| 4378 | |||
| 4379 | Mail and News | ||
| 4380 | |||
| 4381 | 152: How do I change the included text prefix in mail/news followups? | ||
| 2620 | 4382 | ||
| 2621 | if ($?EMACS) then | 4383 | Many people want Emacs to prefix included text with something like ` > ' |
| 2622 | if ("$EMACS" == t) then | 4384 | instead of with three spaces. One way is to change the code of the |
| 2623 | if ($?tcsh) unset edit | 4385 | function `mail-yank-original' in lisp/sendmail.el that prefixes with |
| 2624 | stty nl | 4386 | spaces. A more flexible solution is to use Supercite, which provides wide |
| 2625 | endif | 4387 | configurability in how you format included text in replies. See question |
| 2626 | endif | 4388 | 107. Both of these solutions work for RMAIL and GNUS. |
| 2627 | 4389 | ||
| 2628 | Or put this in your .emacs_tcsh file: | 4390 | A related problem is how to prevent Emacs from including various headers |
| 4391 | of the replied-to message. For this, you should set the value of | ||
| 4392 | mail-yank-ignored-headers, which takes a regexp value. | ||
| 2629 | 4393 | ||
| 2630 | unset edit | 4394 | 153: How do I save a copy of outgoing mail? |
| 2631 | stty nl | ||
| 2632 | 4395 | ||
| 2633 | Alternatively, use csh in your Shell buffers instead of tcsh. One way | 4396 | Two methods: |
| 2634 | is: | ||
| 2635 | 4397 | ||
| 2636 | (setq explicit-shell-file-name "/bin/csh") | 4398 | 1. (setq mail-self-blind t) will result in a `BCC:' header line with your |
| 4399 | address being added to mail composition buffers. This will cause the | ||
| 4400 | mail system to send a copy of the mail back to you. | ||
| 2637 | 4401 | ||
| 2638 | and another is to do this in your .cshrc (or .tcshrc) file: | 4402 | 2. (setq mail-archive-file-name (expand-file-name "~/outgoing")) will |
| 4403 | result in an `FCC:' header line with the pathname of ~/outgoing being | ||
| 4404 | added to mail composition buffers. When you send the mail, Emacs will | ||
| 4405 | save a copy of the mail in the file ~/outgoing and then strip off the | ||
| 4406 | `FCC:' line before actually sending. | ||
| 2639 | 4407 | ||
| 2640 | setenv ESHELL /bin/csh | 4408 | WARNING: There is a bug in Emacs 18.58 that prevents mail readers such |
| 4409 | as RMAIL from reading the saved mail messages individually. See | ||
| 4410 | question 155. | ||
| 2641 | 4411 | ||
| 2642 | (You must start Emacs over again with the environment variable properly | 4412 | WARNING: If you are visiting the file ~/outgoing at the time you send |
| 2643 | set for this to take effect.) | 4413 | the mail, this can cause a variety of horrible problems. Jamie |
| 4414 | Zawinski has written a solution for this. | ||
| 2644 | 4415 | ||
| 2645 | 87: Are there any security risks in GNU Emacs? | 4416 | It does not work to put `set record filename' in the .mailrc file. |
| 2646 | 4417 | ||
| 2647 | 1. the `movemail' incident (No, this is not a risk.) | 4418 | 154: Why doesn't Emacs expand my aliases when sending mail? |
| 2648 | 4419 | ||
| 2649 | Cliff Stoll in his book "The Cuckoo's Egg" describes this in chapter 4. | 4420 | * You must separate multiple addresses in the headers of the mail buffer |
| 2650 | The site at LBL had installed the `etc/movemail' program setuid root. | 4421 | with commas. This is because Emacs supports RFC822 standard addresses |
| 2651 | Since `movemail' had not been designed for this situation, a security | 4422 | like this one: |
| 2652 | hole was created and users could get root priveleges. | ||
| 2653 | 4423 | ||
| 2654 | `movemail' has since been changed so that even if it is installed | 4424 | To: Willy Smith <wks@xpnsv.lwyrs.com> |
| 2655 | setuid root this security hole will not be a result. | ||
| 2656 | 4425 | ||
| 2657 | I have heard reports that the Internet worm took advantage of this | 4426 | However, you do not need to separate addresses with commas in your |
| 2658 | configuration problem. | 4427 | .mailrc file. |
| 2659 | 4428 | ||
| 2660 | 2. the file-local-variable feature (Yes, a risk, but easy to change.) | 4429 | WARNING: Emacs breaks up aliases in the .mailrc file into multiple |
| 4430 | addresses both on commas and on whitespace, regardless of any use of | ||
| 4431 | quotes. This is probably a bug. You can get around this by directly | ||
| 4432 | setting the value of mail-aliases. | ||
| 2661 | 4433 | ||
| 2662 | There is an Emacs feature that allows the setting of local values for | 4434 | * Emacs normally only reads the `.mailrc' file once per session, when you |
| 2663 | variables when editing a file by including specially formatted text | 4435 | start to compose your first mail message. If you edit .mailrc, you can |
| 2664 | near the end of the file. This feature also includes the ability to | 4436 | type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc. |
| 2665 | have arbitrary Emacs Lisp code evaluated when the file is visited. | 4437 | (You have to include the parentheses where they are shown!) |
| 2666 | Obviously, there is a potential for Trojan horses to exploit this | ||
| 2667 | feature. | ||
| 2668 | 4438 | ||
| 2669 | However, if you set the variable inhibit-local-variables to a non-nil | 4439 | * Emacs does not interpret vendor-specific additions to the format of the |
| 2670 | value, Emacs will display the special local variable settings of a file | 4440 | .mailrc file such as the `source' command. It also ignores any `set' |
| 2671 | that you visit and ask you if you really want them. It is reasonable | 4441 | commands. The only commands it looks at are `alias' and `group' |
| 2672 | to do this in lisp/site-init.el before building Emacs: | 4442 | commands. |
| 4443 | |||
| 4444 | 155: Why does RMAIL think all my saved messages are one big message? | ||
| 4445 | |||
| 4446 | There is a bug for FCC-ed messages in Emacs 18.58 where it adds a timezone | ||
| 4447 | on the "From " line after the year instead of before the year. (Before it | ||
| 4448 | didn't add the timezone at all.) This is incompatible with the standard | ||
| 4449 | format for the "From " line, and RMAIL in particular can no longer | ||
| 4450 | distinguish between the messages. Karl Berry <karl@cs.umb.edu>, Felix Lee | ||
| 4451 | <flee@cs.psu.edu>, Nick Gianniotis <nico@japan.sbi.com> and many | ||
| 4452 | others have all posted patches for this. Karl's is the simplest and just | ||
| 4453 | stops Emacs from adding the timezone: | ||
| 4454 | |||
| 4455 | >*** ./ORIG/sendmail.el Tue Jan 28 16:22:56 1992 | ||
| 4456 | >--- ./sendmail.el Thu May 14 18:23:48 1992 | ||
| 4457 | >*************** | ||
| 4458 | >*** 285,287 **** | ||
| 4459 | > (insert "\nFrom " (user-login-name) " " | ||
| 4460 | >! (current-time-string) " " timezone "\n") | ||
| 4461 | > (insert-buffer-substring rmailbuf) | ||
| 4462 | >--- 285,287 ---- | ||
| 4463 | > (insert "\nFrom " (user-login-name) " " | ||
| 4464 | >! (current-time-string) "\n") | ||
| 4465 | > (insert-buffer-substring rmailbuf) | ||
| 4466 | |||
| 4467 | 156: How can I sort the messages in my RMAIL folder? | ||
| 4468 | |||
| 4469 | Use rmailsort.el by Masanobu Umeda. | ||
| 4470 | |||
| 4471 | 157: Why does RMAIL need to write to /usr/spool/mail? | ||
| 4472 | |||
| 4473 | This is the behavior of the `movemail' program which RMAIL uses. This | ||
| 4474 | indicates that movemail is configured to use lock files. | ||
| 2673 | 4475 | ||
| 2674 | (setq inhibit-local-variables t) | 4476 | RMS writes: |
| 2675 | 4477 | ||
| 2676 | If Emacs has already been built, the expression can be put in | 4478 | Certain systems require lock files to interlock access to mail files. |
| 2677 | lisp/default.el instead, or an individual can put it in their own | 4479 | On these systems, movemail must write lock files, or you risk losing |
| 2678 | .emacs file. | 4480 | mail. You simply must arrange to let movemail write them. |
| 2679 | 4481 | ||
| 2680 | The ability to exploit this feature by sending e-mail to an RMAIL user | 4482 | Other systems use the flock system call to interlock access. On these |
| 2681 | was fixed sometime after Emacs 18.52. However, any new package that | 4483 | systems, you should configure movemail to use flock. |
| 2682 | uses find-file or find-file-noselect has to be careful about this. | ||
| 2683 | 4484 | ||
| 2684 | 88: How do I recover my mail files after RMAIL munges their format? | 4485 | 158: How do I recover my mail files after RMAIL munges their format? |
| 2685 | 4486 | ||
| 2686 | Users who just want to try RMAIL out to see how it works end up trapped | 4487 | Users who just want to try RMAIL out to see how it works end up trapped |
| 2687 | using it because saved mail in their `mbox' file has been converted into ! | 4488 | using it because saved mail in their `mbox' file has been converted into |
| 2688 | an incompatible format (BABYL) that only RMAIL understands. RMAIL | 4489 | an incompatible format (BABYL) that only RMAIL understands. RMAIL |
| 2689 | provides no obvious way to reverse this transformation. To convert a mail | 4490 | provides no obvious way to reverse this transformation. Kyle Jones has |
| 4491 | aptly named this "the great Emacs Mail Eating Monster". To convert a mail | ||
| 2690 | file back to standard Unix format, there are several methods: | 4492 | file back to standard Unix format, there are several methods: |
| 2691 | 4493 | ||
| 2692 | * Use the rmail-output ("C-o") command within RMAIL on each message in the | 4494 | * Use the rmail-output ("C-o") command within RMAIL on each message in the |
| @@ -2716,569 +4518,578 @@ Weird/Confusing Problems - | |||
| 2716 | helpful in this situation, but are intended mainly for people who have | 4518 | helpful in this situation, but are intended mainly for people who have |
| 2717 | used RMAIL for a long time and are converting to some other mail reader. | 4519 | used RMAIL for a long time and are converting to some other mail reader. |
| 2718 | Lookup `rmail', `vm', and `babyl' in the Emacs Lisp Archive (see | 4520 | Lookup `rmail', `vm', and `babyl' in the Emacs Lisp Archive (see |
| 2719 | question 18). | 4521 | question 89). |
| 2720 | 4522 | ||
| 2721 | You may wish to disable RMAIL to avoid accidentally destroying your mbox | 4523 | You may wish to disable RMAIL to avoid accidentally destroying your mbox |
| 2722 | file (I have this in my .emacs): | 4524 | file (I have this in my .emacs): |
| 2723 | 4525 | ||
| 2724 | (put 'rmail 'disabled t) ; avoid mbox destruction | 4526 | (put 'rmail 'disabled t) ; avoid mbox destruction |
| 2725 | 4527 | ||
| 2726 | 89: Why do I get "Process shell exited abnormally with code 1"? | 4528 | 159: How do I make Emacs automatically start my mail/news reader? |
| 2727 | |||
| 2728 | The most likely reason for this message is that the "env" program is not | ||
| 2729 | properly installed. This program should be compiled and installed with | ||
| 2730 | execute permission for everyone in Emacs's program directory, which is | ||
| 2731 | normally /usr/local/emacs/etc. You can find what this directory is at | ||
| 2732 | your site by inspecting the value of the variable exec-directory by typing | ||
| 2733 | "C-h v exec-directory RET". | ||
| 2734 | |||
| 2735 | See also etc/PROBLEMS for other possible causes of this message. + | ||
| 2736 | |||
| 2737 | |||
| 2738 | |||
| 2739 | Configuring Emacs for Yourself - | ||
| 2740 | |||
| 2741 | 90: How do I set up a .emacs file properly? | ||
| 2742 | |||
| 2743 | See the section of the manual on the .emacs file, inside the section on | ||
| 2744 | customization. To reach this section of the online Info manual, type | ||
| 2745 | this: | ||
| 2746 | |||
| 2747 | C-h i m emacs RET g init SPC file RET | ||
| 2748 | |||
| 2749 | WARNING: In general, new Emacs users should not have .emacs files, | ||
| 2750 | because it causes confusing non-standard behavior. Then they send | ||
| 2751 | questions to help-gnu-emacs asking why Emacs isn't behaving as | ||
| 2752 | documented. :-) | ||
| 2753 | |||
| 2754 | 91: How do you debug a .emacs file? | ||
| 2755 | |||
| 2756 | First start Emacs with the "-q" command line option. Then, in the | ||
| 2757 | *scratch* buffer, type the following: | ||
| 2758 | |||
| 2759 | (setq debug-on-error t) LFD | ||
| 2760 | (load-file "~/.emacs") LFD | ||
| 2761 | |||
| 2762 | (Type LFD by pressing C-j.) | ||
| 2763 | |||
| 2764 | If you have an error in your .emacs file, this will invoke the debugger | ||
| 2765 | when the error occurs. If you don't know how to use the debugger do | ||
| 2766 | (setq stack-trace-on-error t) instead. | ||
| 2767 | |||
| 2768 | WARNING: this will not discover errors caused by trying to do something | ||
| 2769 | that requires the terminal/window-system initialization code to have | ||
| 2770 | been loaded. See question 50. | ||
| 2771 | |||
| 2772 | 92: How do I turn on abbrevs by default just in mode XXX? | ||
| 2773 | |||
| 2774 | Put this in your .emacs file: | ||
| 2775 | |||
| 2776 | (condition-case () | ||
| 2777 | (read-abbrev-file nil t) | ||
| 2778 | (file-error nil)) | ||
| 2779 | 4529 | ||
| 2780 | (setq XXX-mode-hook | 4530 | Example: |
| 2781 | (function | ||
| 2782 | (lambda () | ||
| 2783 | (setq abbrev-mode t)))) | ||
| 2784 | 4531 | ||
| 2785 | 93: How do I turn on Auto-Fill mode by default? | 4532 | emacs -f gnus |
| 2786 | 4533 | ||
| 2787 | To turn on Auto-Fill mode just once for one buffer, you type "M-x | 4534 | Also: |
| 2788 | auto-fill-mode". To turn it on for every buffer in, for example, Text | ||
| 2789 | mode, do this: | ||
| 2790 | 4535 | ||
| 2791 | (setq text-mode-hook 'turn-on-auto-fill) | 4536 | alias gnus 'emacs -f gnus' |
| 2792 | 4537 | ||
| 2793 | If you want Auto-Fill mode on in all major modes, do this: | 4538 | It is probably unwise to automatically start your mail or news reader from |
| 2794 | 4539 | your .emacs file. This would cause problems if you needed to run two | |
| 2795 | (setq-default auto-fill-hook 'do-auto-fill) | 4540 | copies of Emacs at one time. Also, this would make it difficult for you |
| 2796 | 4541 | to start Emacs quickly when you needed to. | |
| 2797 | 94: How do I make Emacs use a certain major mode for certain files? | ||
| 2798 | |||
| 2799 | If you want to use XXX mode for all files which end with the extension | ||
| 2800 | ".YYY", this will do it for you: | ||
| 2801 | |||
| 2802 | (setq auto-mode-alist (cons '("\\.YYY\\'" . XXX-mode) auto-mode-alist)) | ||
| 2803 | 4542 | ||
| 2804 | Otherwise put this somewhere in the first line of any file you want to | 4543 | 160: How do I read news under Emacs? |
| 2805 | edit in XXX mode: | ||
| 2806 | |||
| 2807 | -*-XXX-*- | ||
| 2808 | |||
| 2809 | 95: What are the valid X resource settings (ie., stuff in .Xdefaults file)? | ||
| 2810 | |||
| 2811 | See the Emacs man page, or the etc/OPTIONS file. Ignore the information | ||
| 2812 | in etc/XDOC which is way out of date. | ||
| 2813 | |||
| 2814 | 96: How do I stop Emacs from beeping on a terminal? | ||
| 2815 | |||
| 2816 | Martin R. Frank <martin@cc.gatech.edu> writes: | ||
| 2817 | |||
| 2818 | Tell Emacs to use the 'visible bell' instead of the audible bell, and | ||
| 2819 | set the visible bell to nothing. | ||
| 2820 | 4544 | ||
| 2821 | Put this in your TERMCAP environment variable: | 4545 | There are at least three news reading packages that operate inside Emacs. |
| 2822 | 4546 | `rnews' comes with Emacs. GNUS and Gnews come separately. rnews will | |
| 2823 | ... :vb=: ... | 4547 | be replaced by GNUS in Emacs 19. |
| 2824 | |||
| 2825 | And evaluate this: | ||
| 2826 | |||
| 2827 | (setq visible-bell t) | ||
| 2828 | |||
| 2829 | 97: How do I turn down the bell volume in Emacs running under X Windows? | ||
| 2830 | |||
| 2831 | Under Epoch you can do: | ||
| 2832 | |||
| 2833 | (setq epoch::bell-volume 20) | ||
| 2834 | |||
| 2835 | Under normal GNU Emacs you must modify the XTfeep function in | ||
| 2836 | src/x11term.c. This simplest fix is to change the number 50 to -50 in the ! | ||
| 2837 | call the XBell. Then "xset b 0" will turn off Emacs's beeping. ! | ||
| 2838 | |||
| 2839 | Explanation: After "xset b BASE": + | ||
| 2840 | |||
| 2841 | XBell (disp, VAL) beeps with volume BASE - (BASE*VAL)/100 + VAL, | ||
| 2842 | XBell (disp, -VAL) beeps with volume BASE - (BASE*VAL)/100. | ||
| 2843 | |||
| 2844 | Stu Grossman <grossman@sunburn.stanford.edu> wrote a patch that allows the + | ||
| 2845 | bell volume to be adjusted from inside Emacs. + | ||
| 2846 | |||
| 2847 | 98: How do I change load-path? | ||
| 2848 | |||
| 2849 | In general, you should only *add* to the load-path. You can add | ||
| 2850 | directory /XXX/YYY to the load path like this: | ||
| 2851 | |||
| 2852 | (setq load-path (append load-path '("/XXX/YYY/"))) | ||
| 2853 | |||
| 2854 | To do this relative to your home directory: | ||
| 2855 | |||
| 2856 | (setq load-path (append load-path (list (expand-file-name "~/YYY/")))) | ||
| 2857 | |||
| 2858 | 99: How do I change the included text prefix in mail/news followups? | ||
| 2859 | |||
| 2860 | Many people want Emacs to prefix included text with something like " > " ! | ||
| 2861 | instead of with three spaces. One way is to change the code of the ! | ||
| 2862 | function `mail-yank-original' in lisp/sendmail.el that prefixes with ! | ||
| 2863 | spaces. A more flexible solution is to use SuperCite, which provides wide ! | ||
| 2864 | configurability in how you format included text in replies. See question | ||
| 2865 | 21. Both of these solutions work for Rmail and GNUS. ! | ||
| 2866 | ! | ||
| 2867 | A related problem is how to prevent Emacs from including various headers ! | ||
| 2868 | of the replied-to message. For this, you should set the value of ! | ||
| 2869 | mail-yank-ignored-headers, which takes a regexp value. ! | ||
| 2870 | |||
| 2871 | |||
| 2872 | |||
| 2873 | Emacs Lisp Programming - | ||
| 2874 | |||
| 2875 | 100: What dialect of Lisp is Emacs Lisp? | ||
| 2876 | |||
| 2877 | Quite simply, it is the dialect of Lisp called GNU Emacs Lisp. People ! | ||
| 2878 | also call it elisp or e-lisp. (NOTE: The term "Elisp" is trademarked by | ||
| 2879 | someone else. {I believe it is by Uniworks Inc., the sellers of CCA ! | ||
| 2880 | Emacs.}) ! | ||
| 2881 | |||
| 2882 | 101: How close is Emacs Lisp to Common Lisp? | ||
| 2883 | |||
| 2884 | They are not close. GNU Emacs Lisp is case-sensitive, uses dynamic | ||
| 2885 | scoping, doesn't have packages, doesn't have multiple return values, | ||
| 2886 | doesn't have reader macros, doesn't have rational, floating point, or | ||
| 2887 | arbitrary size numbers, etc. For people used to Common Lisp, some of the | ||
| 2888 | functions in Common Lisp that are not in Emacs Lisp by default are | ||
| 2889 | provided in the file lisp/cl.el. There is a Texinfo manual describing | ||
| 2890 | these functions in man/cl.texinfo. | ||
| 2891 | |||
| 2892 | 102: How do I execute a piece of Emacs Lisp code? | ||
| 2893 | |||
| 2894 | There are a number of ways to execute (called "evaluate") an Emacs Lisp | ||
| 2895 | "form": | ||
| 2896 | |||
| 2897 | * If you want it evaluated every time you run Emacs, put it in a file | ||
| 2898 | named ".emacs" in your home directory. | ||
| 2899 | |||
| 2900 | * You can type the form in the "*scratch*" buffer, and then type LFD (or | ||
| 2901 | C-j) after it. The result of evaluating the form will be inserted in | ||
| 2902 | the buffer. | ||
| 2903 | |||
| 2904 | * In in Emacs-Lisp mode, typing M-C-x evaluates a top-level form before | ||
| 2905 | or around point. | ||
| 2906 | |||
| 2907 | * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately | ||
| 2908 | before point and prints its value in the echo area. | ||
| 2909 | |||
| 2910 | * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in | ||
| 2911 | the minibuffer which will be evaluated. | ||
| 2912 | |||
| 2913 | * You can use M-x load-file to have Emacs evaluate all the Lisp forms in | ||
| 2914 | a file. (To do this from Lisp use the function "load" instead.) | ||
| 2915 | |||
| 2916 | These functions are also used for evaluating Lisp forms: | ||
| 2917 | |||
| 2918 | load-library, eval-region, eval-current-buffer, require, autoload | ||
| 2919 | |||
| 2920 | 103: How do I make a set of operations work only within a region? ! | ||
| 2921 | |||
| 2922 | Use narrow-to-region inside of save-restriction. | ||
| 2923 | |||
| 2924 | 104: How can I highlight text in Emacs? | ||
| 2925 | |||
| 2926 | There are ways to get highlighting (reverse video) in GNU Emacs 18.58, but ! | ||
| 2927 | either they require patching the C code of Emacs and rebuilding, or they | ||
| 2928 | are slow and the highlighting disappears if you scroll or redraw the | ||
| 2929 | screen and it can not follow the point. Howard Gayle's patches for 8-bit ! | ||
| 2930 | output appear to allow highlighting (see question 43). Another ! | ||
| 2931 | patch for highlighting is by Kenichi Handa <handa@etl.go.jp>. There is a ! | ||
| 2932 | patch for use with X by Andy Norman <ange@hplb.hpl.hp.com> (and modified + | ||
| 2933 | for 18.57 by Matthieu Herrb <matthieu@laas.fr>), which is available for + | ||
| 2934 | FTP (laas.laas.fr:pub/emacs/patch-X11-18.5{5,7}). + | ||
| 2935 | |||
| 2936 | You can highlight regions in a variety of ways in Epoch. GNU Emacs 19 | ||
| 2937 | will have everything you need, but won't be out soon. | ||
| 2938 | |||
| 2939 | Similar comments apply to displaying text in different fonts, except that + | ||
| 2940 | it is even harder. + | ||
| 2941 | |||
| 2942 | 105: How do I change Emacs's idea of the tab character's length? | ||
| 2943 | |||
| 2944 | Example: (setq default-tab-width 10). | ||
| 2945 | |||
| 2946 | |||
| 2947 | |||
| 2948 | Carrying Out Common Tasks - | ||
| 2949 | |||
| 2950 | 106: How do I insert ">"'s in the beginning of every line in a buffer? | ||
| 2951 | |||
| 2952 | Type "M-x replace-regexp RET ^ RET > RET". ("replace-regexp" can be | ||
| 2953 | shortened to "repl TAB r".) | ||
| 2954 | |||
| 2955 | To do this only in the region, type "C-x n M-x replace-regexp RET ^ RET | ||
| 2956 | > RET C-x w". - | ||
| 2957 | |||
| 2958 | WARNING: The command narrow-to-region (C-x n) is disabled by default | ||
| 2959 | because it can be very confusing (ie., "Oh no! Where did my file go?"). | ||
| 2960 | |||
| 2961 | 107: How do I insert "_^H" characters before each character in a paragraph | ||
| 2962 | to get an underlined paragraph? | ||
| 2963 | |||
| 2964 | M-x underline-region. | ||
| 2965 | |||
| 2966 | 108: How do I repeat a command as many times as possible? | ||
| 2967 | |||
| 2968 | Use "C-x (" and "C-x )" to make a keyboard macro that invokes the command | ||
| 2969 | and then type "M-0 C-x e". | ||
| 2970 | |||
| 2971 | WARNING: any messages your command prints in the echo area will be | ||
| 2972 | suppressed. | ||
| 2973 | |||
| 2974 | 109: How do I search for or delete unprintable (8-bit or control) | ||
| 2975 | characters? | ||
| 2976 | |||
| 2977 | To search for a single character that appears in the buffer as, for | ||
| 2978 | example, \237, you can type "C-s C-q 2 3 7". (This assumes the value of | ||
| 2979 | search-quote-char is 17 (C-q).) | ||
| 2980 | 4548 | ||
| 2981 | Searching for ALL unprintable characters is best done with a "regexp" | 4549 | rnews works only with a local news spool directory. Both GNUS and Gnews |
| 2982 | search. The easiest regexp to use for the unprintable chars is the | 4550 | handle reading news remotely via NNTP in addition to reading from a local |
| 2983 | complement of the regexp for the printable chars. | 4551 | news spool. GNUS supports reading mail stored in MH folders or articles |
| 4552 | saved by GNUS. | ||
| 2984 | 4553 | ||
| 2985 | Regexp for the printable chars: [\t\n\r\f -~] | 4554 | Gnews is styled after `rn' and seems to work like RMAIL. GNUS feels more |
| 4555 | like VM. People have complained that GNUS uses a lot of CPU time (it | ||
| 4556 | does). Some people have complained that Gnews is slower than GNUS. | ||
| 2986 | 4557 | ||
| 2987 | Regexp for the unprintable chars: [^\t\n\r\f -~] | 4558 | For more information about GNUS, see question 108. |
| 2988 | 4559 | ||
| 2989 | To type some of these special characters (\t, \n, \r, \f) as an | 4560 | Gnews was written by Matthew P. Wiener <weemba@libra.wistar.upenn.edu>. |
| 2990 | interactive argument to isearch-forward-regexp or re-search-forward, you | 4561 | The latest version seems to be 2.0, posted October 3, 1988. Matthew |
| 2991 | need to use C-q. | 4562 | posted some fixes on October 26, 1988. Gnews does not appear to have been |
| 4563 | supported after this date. In particular, it has been reported that Gnews | ||
| 4564 | does not work with Emacs 18.57. There is a newsgroup for Gnews called | ||
| 4565 | gnu.emacs.gnews. | ||
| 2992 | 4566 | ||
| 2993 | So, to search for unprintable characters using re-search-forward: | 4567 | 161: Why does `rnews' say "No News is good news" when there is news? |
| 2994 | 4568 | ||
| 2995 | M-x re-search-forward RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET | 4569 | rnews doesn't speak NNTP. You may need to use GNUS or Gnews. |
| 2996 | 4570 | ||
| 2997 | Using isearch-forward-regexp: | 4571 | 162: Why doesn't GNUS work anymore via NNTP? |
| 2998 | 4572 | ||
| 2999 | M-C-s [^ TAB RET C-q RET C-q C-l SPC -~] | 4573 | There is a bug in NNTP version 1.5.10, such that when multiple requests |
| 4574 | are sent to the NNTP server, the server only handles the first one before | ||
| 4575 | blocking waiting for more input which never comes. NNTP version 1.5.11 | ||
| 4576 | claims to fix this. | ||
| 3000 | 4577 | ||
| 3001 | To delete all unprintable characters, simply use a replace-regexp: | 4578 | You can work around the bug inside Emacs like this: |
| 3002 | 4579 | ||
| 3003 | M-x replace-regexp RET [^ TAB C-q LFD C-q RET C-q C-l SPC -~] RET RET | 4580 | (setq nntp-maximum-request 1) |
| 3004 | 4581 | ||
| 3005 | Notes: | 4582 | I also have a patch for NNTP 1.5.10 by Mike Pelletier |
| 4583 | <stealth@engin.umich.edu> that is based on the timeout code that was in | ||
| 4584 | 1.5.9. However, please try to upgrade to 1.5.11 first. | ||
| 3006 | 4585 | ||
| 3007 | * With isearch, you can type RET to get a quoted LFD (not a quoted RET). | 4586 | You can find out what version of NNTP your news server is running by |
| 4587 | telnetting to the NNTP port (usually 119) on the news server machine (ie., | ||
| 4588 | `telnet server-machine 119'). The server should give its version number | ||
| 4589 | in the welcome message. Type `quit' to get out. | ||
| 3008 | 4590 | ||
| 3009 | * You don't need to quote TAB with either isearch or typing something in | 4591 | 163: How do I view text with embedded underlining (eg., ClariNews)? |
| 3010 | the minibuffer. | ||
| 3011 | 4592 | ||
| 3012 | Here are the Emacs Lisp forms of the above regexps: | 4593 | Underlining appears like this: |
| 3013 | 4594 | ||
| 3014 | ;; regexp matching all printable characters: | 4595 | _^Hu_^Hn_^Hd_^He_^Hr_^Hl_^Hi_^Hn_^Hi_^Hn_^Hg |
| 3015 | "[\t\n\r\f -~]" | ||
| 3016 | 4596 | ||
| 3017 | ;; regexp matching all unprintable characters: | 4597 | You can destructively remove underlining with M-x ununderline-region. |
| 3018 | "[^\t\n\r\f -~]" | ||
| 3019 | 4598 | ||
| 3020 | ;; alternative regexps for all unprintable characters: | 4599 | For ClariNews articles, clari-clean.el by David N. Blank-Edelman |
| 3021 | "[\C-@-\C-h\C-k\C-n-\C-_\C-?-\377]" | 4600 | <dnb@meshugge.media.mit.edu> will remove both underlining and overstriking |
| 3022 | "[\000-\010\013\016-\037\177-\377]" | 4601 | automatically. |
| 3023 | 4602 | ||
| 3024 | (To use "[\000-\010\013\016-\037\177-\377]" interactively, type: | 4603 | 164: When I try to post a long article in GNUS (about 10K or longer), I get |
| 4604 | the error, "Writing to process: no more processes, nntpd" | ||
| 3025 | 4605 | ||
| 3026 | [ C-q 000 - C-q 010 C-q 013 C-q 016 - C-q 037 C-q 177 - C-q 377 ] | 4606 | Upgrade to Emacs 18.58 or higher. + |
| 3027 | 4607 | ||
| 3028 | ) | 4608 | 165: How do I save all the items of a multi-part posting in GNUS? |
| 3029 | 4609 | ||
| 3030 | 110: How do I control Emacs's case-sensitivity when searching/replacing? + | 4610 | Use gnus-mark.el by Jamie Zawinski <jwz@lucid.com>. |
| 3031 | |||
| 3032 | For searching, the value of the variable case-fold-search determines | ||
| 3033 | whether they are case sensitive: | ||
| 3034 | 4611 | ||
| 3035 | (setq case-fold-search nil) ; make searches case sensitive | 4612 | 166: Why does GNUS put the subjects in replies beyond the 80th column? |
| 3036 | (setq case-fold-search t) ; make searches case insensitive | ||
| 3037 | 4613 | ||
| 3038 | Similarly, for replacing the variable case-replace determines whether | 4614 | This is a feature. If you set gnus-thread-hide-subject to non-nil, GNUS |
| 3039 | replacements preserve case. | 4615 | will only display the subject of the first posting in a thread, even if |
| 4616 | some of the replies use different subjects. It hides the subjects by | ||
| 4617 | putting them past the edge of the window and setting truncate lines to t. | ||
| 3040 | 4618 | ||
| 3041 | To change the case sensitivity just for one major mode, use the major + | 4619 | If your screen looks messed up, then for some reason truncate-lines in |
| 3042 | mode's hook. For example: + | 4620 | your `*Subject*' buffer has been set to nil. It should be set to t. |
| 3043 | + | ||
| 3044 | (setq XXX-mode-hook + | ||
| 3045 | (function + | ||
| 3046 | (lambda () + | ||
| 3047 | (setq case-fold-search nil)))) + | ||
| 3048 | 4621 | ||
| 3049 | 111: How do I tell Emacs to automatically indent a new line to the | 4622 | (I have an enhancement to GNUS 3.13 that will make it only hide the subject |
| 3050 | indentation of the previous line? | 4623 | of a posting when it is unchanged from the followed-up-to posting. Thus, |
| 4624 | you can use the subject hiding feature and still know when someone changes | ||
| 4625 | the subject. (I have forgotten who originally gave me the idea for this.)) | ||
| 3051 | 4626 | ||
| 3052 | One solution is the major mode Indented Text Mode (M-x indented-tex-mode). | 4627 | 167: Why is GNUS so slow to start up? |
| 3053 | 4628 | ||
| 3054 | If you have Auto-Fill mode on (a minor mode, see question 93), | 4629 | GNUS does several things that take quadratic time of the number of |
| 3055 | you can tell Emacs to prefix every line with a certain character | 4630 | newsgroups that are listed in .newsrc. The quick fix for this is to |
| 3056 | sequence, the "fill prefix". Type the prefix at the beginning of a | 4631 | remove all the newsgroups in which you have no interest from your .newrc |
| 3057 | line, position point after it, and then type "C-x ." (set-fill-prefix) | 4632 | file by using GNUS's C-k command in the `*Newsgroup*' buffer after |
| 3058 | to set the fill prefix. Thereafter, auto-filling will automatically put | 4633 | displaying all newsgroups with the L command. If you were to directly |
| 3059 | the fill prefix at the beginning of new lines, and M-q (fill-paragraph) | 4634 | edit your .newsrc to remove the newsgroups, GNUS would add them back. |
| 3060 | will maintain any fill prefix when refilling the paragraph. | ||
| 3061 | 4635 | ||
| 3062 | NOTE: If you have paragraphs with different levels of indentation, you | 4636 | GNUS uses a quadratic algorithm to check for duplicates when the .newsrc |
| 3063 | will have to set the fill prefix to the correct value each time you move | 4637 | file is newer than the .newsrc.el file (ie., you edited your .newsrc). |
| 3064 | to a new paragraph. To avoid this hassle, try one of the many packages | 4638 | GNUS uses a quadratic algorithm to check for new newsgroups every time it |
| 3065 | available from the Emacs Lisp Archive. Look up "fill" and "indent" in the | 4639 | connects to the news server. {There may be other quadratic algorithms |
| 3066 | Lisp Code Directory for guidance. | 4640 | that I am not aware of.} |
| 3067 | 4641 | ||
| 3068 | 112: How do I make Emacs "typeover" or "overwrite" instead of inserting? - | 4642 | You can speed up GNUS by using the C-k command in the *Newsgroup* buffer |
| 4643 | to remove newsgroups from your .newsrc file. | ||
| 3069 | 4644 | ||
| 3070 | M-x overwrite-mode (a minor mode). | 4645 | Of course, GNUS will run faster if you make sure it is byte-compiled. |
| 3071 | 4646 | ||
| 3072 | 113: How do I show which parenthesis matches the one I'm looking at? | 4647 | Felix Lee wrote some enhancements called `gnus-speedups.el' that fix some |
| 4648 | of the problems. See the Emacs Lisp Archive. | ||
| 3073 | 4649 | ||
| 3074 | If you're looking at a right parenthesis (or brace or bracket) you can | 4650 | 168: How do I catch up all newsgroups in GNUS? |
| 3075 | delete it and reinsert it. Emacs will blink the cursor on the matching | ||
| 3076 | parenthesis. | ||
| 3077 | 4651 | ||
| 3078 | M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over balanced | 4652 | In the `*Newsgroup*' buffer, type the following magical incantation: |
| 3079 | parentheses, so you can see which parentheses match. (You can train it | ||
| 3080 | to skip over balanced brackets and braces at the same time by modifying | ||
| 3081 | the syntax table.) | ||
| 3082 | 4653 | ||
| 3083 | Here is some Emacs Lisp that will make the % key show the matching | 4654 | M-< C-x ( C-@ c y C-u C-@ C-e C-f C-f M-0 C-x ) |
| 3084 | parenthese, like in vi. In addition, if the cursor isn't over a | ||
| 3085 | parenthese, it simply inserts a % like normal. | ||
| 3086 | 4655 | ||
| 3087 | ;; By an unknown contributor ! | 4656 | Leave off the "M-<" if you only want to catch up from point to the end of |
| 4657 | the `*Newsgroup' buffer. | ||
| 3088 | 4658 | ||
| 3089 | (global-set-key "%" 'match-paren) | 4659 | 169: Why can't I kill in GNUS on the Newsgroups/Keywords/Control line? |
| 3090 | 4660 | ||
| 3091 | (defun match-paren (arg) | 4661 | GNUS 3.14.1 will complain that the `Newsgroups:', `Keywords:', and |
| 3092 | "Go to the matching parenthesis if on parenthesis otherwise insert %." | 4662 | `Control:' headers are `Unknown header field's. |
| 3093 | (interactive "p") | ||
| 3094 | (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) | ||
| 3095 | ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) | ||
| 3096 | (t (self-insert-command (or arg 1))))) | ||
| 3097 | 4663 | ||
| 3098 | 114: How do I make Emacs behave like this: when I go up or down, the cursor | 4664 | For the `Newsgroups:' header, there is an easy workaround: kill on the |
| 3099 | should stay in the same column even if the line is too short? | 4665 | `Xref' header instead, which will be present on any cross-posted article. |
| 3100 | 4666 | ||
| 3101 | M-x picture-mode. (This is a minor mode, in theory anyway ...) | 4667 | If you really want to kill on one of these headers, you can do it like |
| 4668 | this: | ||
| 3102 | 4669 | ||
| 3103 | 115: How do I read news under Emacs? | 4670 | (gnus-kill nil "^Newsgroups: .*\\(bad\\.group\\|worse\\.group\\)") |
| 3104 | 4671 | ||
| 3105 | There are at least three news reading packages that operate inside Emacs. | 4672 | Various people (eg., Greg Holley <holley@acuson.com>) have posted |
| 3106 | "rnews" comes with Emacs. "GNUS" and "Gnews" come separately. rnews will | 4673 | solutions to allow more efficient killing on these headers than the |
| 3107 | be replaced by GNUS in Emacs 19. | 4674 | preceding solution. Masanobu Umeda plans to fix this problem. |
| 3108 | 4675 | ||
| 3109 | rnews works only with a local news spool directory. Both GNUS and Gnews | 4676 | 170: How do I get rid of flashing messages in GNUS for slow connections? |
| 3110 | handle reading news remotely via NNTP in addition to reading from a local | ||
| 3111 | news spool. GNUS supports reading mail stored in MH folders or articles | ||
| 3112 | saved by GNUS. | ||
| 3113 | 4677 | ||
| 3114 | Gnews is styled after `rn' and seems to work like Rmail. GNUS feels more | 4678 | GNUS outputs "NNTP: Reading..." message and then clears them, over and |
| 3115 | like VM. People have complained that GNUS uses a lot of CPU time (it | 4679 | over. In version 3.14.1 there is a variable named nntp-debug-read that |
| 3116 | does). Some people have complained that Gnews is slower than GNUS. | 4680 | can help. Johan Vromans <jv@mh.nl> wrote a fix. Others have also written |
| 4681 | fixes. | ||
| 3117 | 4682 | ||
| 3118 | For more information about GNUS, see question 21. | 4683 | 171: Why is catch up slow in Gnews/GNUS? |
| 3119 | 4684 | ||
| 3120 | Gnews was written by Matthew P. Wiener <weemba@libra.wistar.upenn.edu>. | 4685 | Because GNUS is marking crosspostings read. {I think it should do this at |
| 3121 | The latest version seems to be 2.0, posted October 3, 1988. Matthew | 4686 | the time the article is read to spread out the load. Maybe someone will |
| 3122 | posted some fixes on October 26, 1988. Gnews does not appear to have been | 4687 | write the code to do this.} |
| 3123 | supported after this date. In particular, it has been reported that Gnews | ||
| 3124 | does not work with Emacs 18.57. There is a newsgroup for Gnews called | ||
| 3125 | gnu.emacs.gnews. | ||
| 3126 | 4688 | ||
| 3127 | 116: In C mode, can I show just the lines that will be left after #ifdef | 4689 | 172: Why does GNUS hang for a long time when posting? |
| 3128 | commands are handled by the compiler? | ||
| 3129 | 4690 | ||
| 3130 | M-x hide-ifdef-mode. (This is a minor mode.) | 4691 | David Lawrence <tale@uunet.uu.net> explains: |
| 3131 | 4692 | ||
| 3132 | You may have to (load "hideif") first. If you want to do this | 4693 | The problem is almost always interaction between NNTP and C News. NNTP |
| 3133 | regularly, put this in your .emacs file: | 4694 | POST asks C News's inews to not background itself but rather hang around |
| 4695 | and give its exit status so it knows whether the post was successful. | ||
| 4696 | (That wait will on some systems not return the exit status of the | ||
| 4697 | waited for job is a different sort of problem.) It ends up taking a | ||
| 4698 | long time because inews is calling relaynews, which often waits for | ||
| 4699 | another relaynews to free the lock on the news system so it can file the | ||
| 4700 | article. | ||
| 3134 | 4701 | ||
| 3135 | (autoload 'hide-ifdef-mode "hideif" nil t) | 4702 | My preferred solution is to change inews to not call relaynews, but |
| 4703 | rather use newsspool. This loses some error-catching functionality, but | ||
| 4704 | is for the most part safe as inews will detect a lot of the errors on | ||
| 4705 | its own. The C News folks have sped up inews, too, so speed should look | ||
| 4706 | better to most folks as that update propagates around. | ||
| 3136 | 4707 | ||
| 3137 | {Yes, I know, this should be in lisp/loaddefs.el already.} | 4708 | 173: Why don't my news postings in GNUS get past the local machine? |
| 3138 | 4709 | ||
| 3139 | 117: Is there an equivalent to the "." (dot) command of vi? | 4710 | Three possible reasons: local distribution, C News date problem (see |
| 4711 | question 174, and the path problem. This piece of code may fix the path | ||
| 4712 | problem for you: | ||
| 3140 | 4713 | ||
| 3141 | ("." is the redo command in vi. It redoes the last insertion/deletion.) | 4714 | (setq gnus-use-generic-path t) |
| 3142 | 4715 | ||
| 3143 | No, not really. | 4716 | 174: Why is the GNUS-generated `Date:' header invalid? |
| 3144 | 4717 | ||
| 3145 | You can type "C-x ESC" (repeat-complex-command) to reinvoke commands | 4718 | GNUS generates `Date:' headers without time zones. C-News's `inews' |
| 3146 | that used the minibuffer to get arguments. In repeat-complex-command | 4719 | doesn't replace it with a valid header, but will generate it if not |
| 3147 | you can type M-p and M-n to scan through all the different complex | 4720 | already there. If it is invalid, the article will not be forwarded |
| 3148 | commands you've typed. | 4721 | properly. Quick fix: |
| 3149 | 4722 | ||
| 3150 | To repeat something on each line I recommend using keyboard macros. | 4723 | (defun gnus-inews-date () nil) |
| 3151 | 4724 | ||
| 3152 | 118: How do I make Emacs display the current line (or column) number? ! | 4725 | This is not fixed as of GNUS 3.14.1. ! |
| 3153 | 4726 | ||
| 3154 | To find out what line of the buffer you are on right now, do "M-x | 4727 | 175: Why doesn't GNUS generate the `Lines:' header? |
| 3155 | what-line". Use "M-x goto-line" to go to a specific line. To find the + | ||
| 3156 | current column number, type "M-ESC (current-column)". + | ||
| 3157 | 4728 | ||
| 3158 | Typing "C-x l" will also tell you what line you are on, provided the | 4729 | GNUS was written for B news, which would generate the `Lines:' header. C |
| 3159 | buffer isn't separated into "pages" with C-l characters. In that case, it | 4730 | news doesn't. There is a comment in C news's `inews' that you can |
| 3160 | will only tell you what line of the current "page" you are on. WARNING: | 4731 | uncomment to enable this functionality. Or you can have GNUS generate the |
| 3161 | "C-x l" gives the wrong value when point is at the beginning of a line. | 4732 | header, for example: |
| 3162 | 4733 | ||
| 3163 | There is no "correct" way to constantly display the current line (or ! | 4734 | ;; idea by jbryans@beach.csulb.edu (Jack Bryans) |
| 3164 | column) number on the mode line in Emacs 18, or to display the line + | 4735 | (defun add-lines-header () |
| 3165 | numbers next to the lines. Emacs is not a line-oriented editor, and + | 4736 | ;; Count the number of lines in the current posting and insert the |
| 3166 | really has no idea what "lines" of the buffer are displayed in the window. + | 4737 | ;; header line Lines into the message. |
| 3167 | It would require a lot of work at the C code level to make Emacs keep + | 4738 | (save-excursion |
| 3168 | track of this. It would not be that hard to get the column number, but it + | 4739 | (goto-char (point-min)) |
| 3169 | would still require changes at the C code level. + | 4740 | (if (search-forward "\n\n") ;; ***** I suspect this is wrong ***** |
| 3170 | + | 4741 | (let ((lines (count-lines (point) (point-max)))) |
| 3171 | vi emulation mode does not emulate this capability of vi (as far as I + | 4742 | (forward-line -1) |
| 3172 | know). + | 4743 | (insert-string "Lines: " lines "\n"))))) |
| 3173 | + | ||
| 3174 | Emacs 19 will probably be able to show the line number on the mode-line, + | ||
| 3175 | but probably very inefficiently. + | ||
| 3176 | + | ||
| 3177 | People have written various kludges to display line numbers. Look in the + | ||
| 3178 | Lisp Code Directory. (See question 17.) | ||
| 3179 | 4744 | ||
| 3180 | 119: How do I tell Emacs to iconify itself? | 4745 | Mike Williams <mike-w@cs.aukuni.ac.nz> has written something similar. |
| 3181 | 4746 | ||
| 3182 | You need to modify C source and recompile. Either that or get Epoch | 4747 | Ronald Florence <ron@mlfarm.com> has a patch for GNUS that makes it |
| 3183 | instead. For the interested I have a patch by Robert Forsman | 4748 | calculate the `Lines:' header for incoming articles when necessary that |
| 3184 | <thoth@reef.cis.ufl.edu> to allow Emacs to iconify itself and a patch by | 4749 | works for sites with local news spools. |
| 3185 | Matt Wette <mwette@mr-ed.jpl.nasa.gov> to allow Emacs to start up | ||
| 3186 | iconified. I don't know whether these two patches work together. | ||
| 3187 | 4750 | ||
| 3188 | {Are either of these two patches available via anonymous FTP anywhere?} | 4751 | David Lawrence <tale@uunet.uu.net> says that GNUS 3.14.1 generates Lines |
| 4752 | if gnus-news-system is Cnews. | ||
| 3189 | 4753 | ||
| 3190 | 120: How do I use regexps (regular expressions) in Emacs? | 4754 | 176: Why do I get "Cannot open load file" "nntp" when compiling GNUS? |
| 3191 | 4755 | ||
| 3192 | This is documented in the Emacs manual. To read the manual section | 4756 | Specifically, the error message is this: |
| 3193 | online, type "C-h i m emacs RET m regexps RET". | ||
| 3194 | 4757 | ||
| 3195 | WARNING: The `or' operator is `\|', not `|', and the grouping operators | 4758 | Error occurred processing gnus.el: File error (("Cannot open load file" "nntp")) |
| 3196 | are `\(' and `\)'. Also, the string syntax for a backslash is "\\". | ||
| 3197 | Thus, the string syntax for a regular expression like xxx\(foo\|bar\) is | ||
| 3198 | "xxx\\(foo\\|bar\\)". Notice the duplicated backslashes! | ||
| 3199 | 4759 | ||
| 3200 | WARNING: Unlike in Unix grep, sed, etc., a complement character set | 4760 | This means that nntp.el is not in Emacs's load-path, which is easy to |
| 3201 | ([^...]) can match a newline character (LFD aka C-j aka \n), unless | 4761 | happen when compiling using the Makefile. |
| 3202 | newline is mentioned as one of the characters not to match. | ||
| 3203 | 4762 | ||
| 3204 | WARNING: The character syntax regexps (eg. `\sw') are not meaningful + | 4763 | Easiest solution: set EMACSLOADPATH in Makefile (idea from Glenn Gribble |
| 3205 | inside character set regexps (eg. `[aeiou]'). (This is typical for regexp + | 4764 | <glenn@netcom.com>): |
| 3206 | syntax.) + | ||
| 3207 | 4765 | ||
| 3208 | 121: How do I perform a replace operation across more than one file? | 4766 | EMACSLOADPATH=/usr/local/emacs/lisp:. |
| 4767 | ELC= env EMACSLOADPATH=$(EMACSLOADPATH) emacs -batch -f batch-byte-compile | ||
| 3209 | 4768 | ||
| 3210 | The "tags" feature of Emacs includes the command tags-query-replace | 4769 | Another solution, in hack.el put this: |
| 3211 | which performs a query-replace across all the files mentioned in the | ||
| 3212 | TAGS file. To read the relevant online manual section, type "C-h i m | ||
| 3213 | emacs RET m tags RET m tags search RET". | ||
| 3214 | 4770 | ||
| 3215 | In addition, Martin Boyer has written a package named global-replace | 4771 | (defun gross-hack () (setq load-path (cons "/directory" load-path))) |
| 3216 | which will perform a query-replace across all the files mentioned in the | ||
| 3217 | *compilation* buffer (usually done after a "grep"), which is available | ||
| 3218 | via anonymous FTP (ireq-robot.hydro.qc.ca: | ||
| 3219 | /pub/emacs/lisp/{compile,global-replace,query}.el.Z). | ||
| 3220 | 4772 | ||
| 3221 | 122: How do I make Emacs wrap words for me? | 4773 | Then in Makefile: |
| 3222 | 4774 | ||
| 3223 | M-x auto-fill-mode. The default maximum line width is 74, determined by | 4775 | ELC= emacs -batch -l hack.el -f gross-hack -f batch-byte-compile |
| 3224 | the variable fill-column. To find how to turn this on automatically see | ||
| 3225 | question 93. | ||
| 3226 | 4776 | ||
| 3227 | 123: Where can I get a better spelling checker for Emacs? | 4777 | 177: How do I kill all articles in GNUS but those matching a pattern? |
| 3228 | 4778 | ||
| 3229 | Use Ispell. See question 21. | 4779 | Example: |
| 3230 | 4780 | ||
| 3231 | 124: How can I spell-check TeX or *roff documents? | 4781 | ;; kill everything |
| 4782 | (gnus-kill "subject" "" nil nil) | ||
| 4783 | ;; then restore stuff by our favorite poster | ||
| 4784 | (gnus-kill "from" "good-guy" | ||
| 4785 | (function | ||
| 4786 | (lambda () | ||
| 4787 | (if (eq ?X (char-after (save-excursion | ||
| 4788 | (beginning-of-line 1) | ||
| 4789 | (point)))) | ||
| 4790 | (gnus-Subject-clear-mark-forward 1)))) | ||
| 4791 | t) | ||
| 3232 | 4792 | ||
| 3233 | If you want to spell-check TeX or *roff documents with Ispell, you need to ! | 4793 | |
| 3234 | arrange for a filter program that understands how to strip TeX or *roff ! | 4794 | |
| 3235 | formatting commands to be run. In the TeX distribution, there are several ! | 4795 | ---------------------------------------------------------------------- + |
| 3236 | different programs named `detex', all with incompatible options, and a ! | 4796 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells + |
| 3237 | very old pair of programs named `detex' and `delatex', which should ! | 4797 | Copyright (C) 1992, 1993 Steven Byrnes + |
| 3238 | probably be avoided. The most useful one for Ispell is `detex' by Daniel ! | ||
| 3239 | Trinkle. A more recent version is available via FTP + | ||
| 3240 | (arthur.cs.purdue.edu: pub/trinkle/detex-2.3.tar.Z). Raphael Cerf ! | ||
| 3241 | <cerf@clipper.ens.fr> recently released a program named `xetal' ! | ||
| 3242 | (spi.ens.fr:pub/unix/tex/???). There is a program that comes with Unix ! | ||
| 3243 | named `deroff' for stripping formatting commands from *roff files. ! | ||
| 3244 | ! | ||
| 3245 | Here is an example of code you can put in a .emacs file to use these ! | ||
| 3246 | programs: ! | ||
| 3247 | ! | ||
| 3248 | ;; Based on suggestions by David G. Grubbs <dgg@ksr.com> and Paul Palmer ! | ||
| 3249 | ;; <palmerp@math.orst.edu>. ! | ||
| 3250 | ! | ||
| 3251 | ;; Assuming the use of detex 2.3 by Daniel Trinkle: ! | ||
| 3252 | ;; -w means one word per line. ! | ||
| 3253 | ;; -n means don't expand \input or \include commands. ! | ||
| 3254 | ;; -l means force LaTeX mode. ! | ||
| 3255 | ! | ||
| 3256 | (require 'ispell) ; for the make-variable-buffer-local statements ! | ||
| 3257 | (setq plain-TeX-mode-hook ! | ||
| 3258 | (function ! | ||
| 3259 | (lambda () ! | ||
| 3260 | (setq ispell-filter-hook "detex") + | ||
| 3261 | (setq ispell-filter-hook-args '("-nw"))))) ! | ||
| 3262 | (setq LaTeX-mode-hook ! | ||
| 3263 | (function | ||
| 3264 | (lambda () | ||
| 3265 | (setq ispell-filter-hook "detex") ! | ||
| 3266 | (setq ispell-filter-hook-args '("-lnw"))))) ! | ||
| 3267 | (setq nroff-mode-hook | ||
| 3268 | (function | ||
| 3269 | (lambda () | ||
| 3270 | (setq ispell-filter-hook "deroff") | ||
| 3271 | (setq ispell-filter-hook-args '("-w"))))) + | ||
| 3272 | + | 4798 | + |
| 3273 | You will have to adjust the arguments for programs other than Trinkle's + | 4799 | This list of frequently asked questions about GNU Emacs with answers + |
| 3274 | detex or for other versions of deroff. Experiment running the command + | 4800 | ("FAQ") may be translated into other languages, transformed into other + |
| 3275 | from the shell to find the correct options. If you don't have a filter + | 4801 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new + |
| 3276 | that knows how to output one word per line, you must pipe its output + | 4802 | information. The same conditions apply to any derivative of the FAQ as + |
| 3277 | through another filter to break up the output. + | 4803 | apply to the FAQ itself. Every copy of the FAQ must include this notice + |
| 3278 | 4804 | or an approved translation, information on who is currently maintaining + | |
| 3279 | 125: How can I make Emacs automatically scroll horizontally? | 4805 | the FAQ and how to contact them (including their e-mail address), and + |
| 3280 | 4806 | information on where the latest version of the FAQ is archived (including + | |
| 3281 | Sorry, you can't. The best you can do is rewrite a large number of | 4807 | FTP information). The FAQ may be copied and redistributed under these + |
| 3282 | commands and make them check if the point is still on the screen after | 4808 | conditions, except that the FAQ may not be embedded in a larger literary + |
| 3283 | they are done. {Has someone done this already?} | 4809 | work unless that work itself allows free copying and redistribution. + |
| 4810 | |||
| 4811 | |||
| 4812 | GNU Emacs FAQ: Changes | ||
| 4813 | |||
| 4814 | The latest version of the GNU Emacs FAQ has changed from the previous version. | ||
| 4815 | This article shows the changed text. The contents of this article are from the | ||
| 4816 | output of `diff -wu2'. Since the question numbers are generated automatically | ||
| 4817 | and can change, these are stripped from both versions before comparing them. | ||
| 4818 | After generating the differences for each part, they were concatenated and then | ||
| 4819 | edited to remove as much noise as possible. You can't use this as a patch. | ||
| 4820 | |||
| 4821 | -- | ||
| 4822 | Steven Byrnes <sbyrnes@rice.edu> (and Joe Wells <jbw@cs.bu.edu>) | ||
| 4823 | |||
| 4824 | E-mail lpf@uunet.uu.net for details about the League for Programming Freedom. | ||
| 4825 | |||
| 4826 | ---------------------------------------------------------------------- | ||
| 4827 | |||
| 4828 | |||
| 4829 | @@ -225,9 +225,8 @@ | ||
| 4830 | |||
| 4831 | Anonymous FTP: | ||
| 4832 | - /prep.ai.mit.edu:/pub/gnu/emacs/MailingListArchives/ | ||
| 4833 | + /prep.ai.mit.edu:/pub/gnu/MailingListArchives/ | ||
| 4834 | |||
| 4835 | - {There was a WAIS database named `comp-emacs' on lambada.oit.unc.edu that | ||
| 4836 | - makes available the last 10 days of articles in comp.emacs. It appears to | ||
| 4837 | - have died. Anyone know if it moved?} | ||
| 4838 | + There is a WAIS database named `comp.emacs' on wais.oit.unc.edu that | ||
| 4839 | + makes available the last few days of articles in comp.emacs. | ||
| 4840 | |||
| 4841 | QQQ: Where should I report bugs and other problems with GNU Emacs? | ||
| 4842 | |||
| 4843 | @@ -612,5 +611,5 @@ | ||
| 4844 | it might (or might not) do some good to complain to your news | ||
| 4845 | administrator, because the most recent FAQ should not expire before | ||
| 4846 | - November 21, 1992. | ||
| 4847 | + March 6, 1993. | ||
| 4848 | |||
| 4849 | * Via anonymous FTP. You can fetch the FAQ articles via anonymous FTP | ||
| 4850 | @@ -642,6 +641,6 @@ | ||
| 4851 | * In the GNU Emacs distribution. Since GNU Emacs 18.56, the latest | ||
| 4852 | available version of the FAQ at the time of release has been part of the | ||
| 4853 | - GNU Emacs distribution as file etc/FAQ. 18.58 is the latest version, | ||
| 4854 | - and it was released in February 1992. | ||
| 4855 | + GNU Emacs distribution as file etc/FAQ. 18.59 is the latest version, | ||
| 4856 | + and it was released in October 1992. | ||
| 4857 | |||
| 4858 | * There is an old version of the FAQ list available for FTP in the GNU | ||
| 4859 | @@ -677,5 +676,5 @@ | ||
| 4860 | QQQ: What is the latest version of GNU Emacs? | ||
| 4861 | |||
| 4862 | - GNU Emacs 18.58 is the current version. Fixes from 18.57 include better | ||
| 4863 | + GNU Emacs 18.59 is the current version. Fixes from 18.57 include better | ||
| 4864 | mail address parsing, an X visual bell speedup, a call-process | ||
| 4865 | enhancement, a regexp matching change, the ability to apply a numeric | ||
| 4866 | @@ -698,5 +697,5 @@ | ||
| 4867 | which is a good sign. | ||
| 4868 | |||
| 4869 | - Lucid has released Lucid GNU Emacs 19.2, which is based on an early | ||
| 4870 | + Lucid has released Lucid GNU Emacs 19.3, which is based on an early | ||
| 4871 | unreleased version of GNU Emacs 19. This will be similar to Emacs 19 when | ||
| 4872 | it finally arrives, but they are not the same. See question QQQ. | ||
| 4873 | |||
| 4874 | @@ -185,5 +185,5 @@ | ||
| 4875 | |||
| 4876 | There are ways to get highlighting (reverse video, inverse video) in GNU | ||
| 4877 | - Emacs 18.58, but either they require patching the C code of Emacs and | ||
| 4878 | + Emacs 18.59, but either they require patching the C code of Emacs and | ||
| 4879 | rebuilding, or they are slow and the highlighting disappears if you scroll | ||
| 4880 | or redraw the screen and it can not follow the point. Howard Gayle's | ||
| 4881 | @@ -194,5 +194,6 @@ | ||
| 4882 | <matthieu@laas.fr>), which is available for FTP: | ||
| 4883 | |||
| 4884 | - /laas.laas.fr:pub/emacs/patch-X11-18.5{5,7} | ||
| 4885 | + /laas.laas.fr:pub/emacs/patch-X11-18.55 | ||
| 4886 | + /laas.laas.fr:pub/emacs/patch-X11-18.57 | ||
| 4887 | |||
| 4888 | You can highlight regions in a variety of ways in Epoch and Lucid Emacs. | ||
| 4889 | @@ -241,5 +242,5 @@ | ||
| 4890 | Trinkle. A more recent version is available via FTP: | ||
| 4891 | |||
| 4892 | - /arthur.cs.purdue.edu:pub/trinkle/detex-2.3.tar.Z | ||
| 4893 | + /arthur.cs.purdue.edu:pub/trinkle/detex-2.4.tar | ||
| 4894 | |||
| 4895 | Raphael Cerf <cerf@clipper.ens.fr> recently released a program for this | ||
| 4896 | @@ -428,7 +429,8 @@ | ||
| 4897 | |||
| 4898 | Under versions of Emacs before 18.58, the bell volume was annoying loud | ||
| 4899 | - and difficult to turn off. So upgrading to 18.58 will reduce the volume. | ||
| 4900 | - If you want to turn it off completely, use `xset'. There is no way to | ||
| 4901 | - turn the bell off just for Emacs without affecting all other programs. | ||
| 4902 | + and difficult to turn off. So upgrading to 18.58 or higher will reduce | ||
| 4903 | + the volume. If you want to turn it off completely, use `xset'. There is | ||
| 4904 | + no way to turn the bell off just for Emacs without affecting all other | ||
| 4905 | + programs. | ||
| 4906 | |||
| 4907 | Under Epoch you can do: | ||
| 4908 | @@ -585,7 +587,7 @@ | ||
| 4909 | |||
| 4910 | Anonymous FTP: | ||
| 4911 | - /csi.jpl.nasa.gov:pub/emacs.patch1 (Matt Wette) | ||
| 4912 | + /csi.jpl.nasa.gov:pub/emax.patch1 (Matt Wette) | ||
| 4913 | /ftp.eu.net:gnu/emacs/FP-Xfun.Z (Johan Vromans) | ||
| 4914 | - /ftp.urc.tue.nl:pub/tex/emacs/FP-Xfun (Johan Vromans) | ||
| 4915 | + /ftp.urc.tue.nl:/pub/tex/emacs/FP-Xfun (Johan Vromans) | ||
| 4916 | |||
| 4917 | QQQ: How do I use regexps (regular expressions) in Emacs? | ||
| 4918 | @@ -664,4 +666,7 @@ | ||
| 4919 | QQQ: Why can't Emacs find files in current directory on startup? | ||
| 4920 | |||
| 4921 | + The PWD bug has been fixed as of GNU Emacs 18.59. Read on if you are | ||
| 4922 | + running an older version of Emacs. | ||
| 4923 | + | ||
| 4924 | Most likely, you have an environment variable named PWD that is set to a | ||
| 4925 | value other than the name of your current directory. This is most | ||
| 4926 | @@ -670,6 +675,7 @@ | ||
| 4927 | variable, but `sh' doesn't. If you start sh from ksh, change your | ||
| 4928 | current directory inside sh, and then start Emacs from inside sh, PWD | ||
| 4929 | - will have the wrong value but Emacs will use this value. See the | ||
| 4930 | - etc/OPTIONS file for more details. | ||
| 4931 | + will have the wrong value but Emacs will use this value. An invalid | ||
| 4932 | + setting for PWD can also be a problem if you use X Windows and csh on an | ||
| 4933 | + RS/6000. See the etc/OPTIONS file for more details. | ||
| 4934 | |||
| 4935 | Perhaps an easier solution is not to use two shells. The `chsh' program | ||
| 4936 | |||
| 4937 | @@ -50,5 +50,5 @@ | ||
| 4938 | The latest version is always available via anonymous FTP at MIT: | ||
| 4939 | |||
| 4940 | - /prep.ai.mit.edu:pub/gnu/emacs-18.58.tar.Z | ||
| 4941 | + /prep.ai.mit.edu:pub/gnu/emacs-18.59.tar.Z | ||
| 4942 | |||
| 4943 | See question QQQ. | ||
| 4944 | @@ -130,5 +130,5 @@ | ||
| 4945 | ;; tex-complete|Sebastian Kremer|sk@thp.Uni-Koeln.DE | ||
| 4946 | ;; |Minibuffer name completion for editing [La]TeX. | ||
| 4947 | - ;; |91-03-26|$Revision: 1.12 $|~/packages/tex-complete.el.Z | ||
| 4948 | + ;; |91-03-26|$Revision: 19.4 $|~/packages/tex-complete.el.Z | ||
| 4949 | |||
| 4950 | Dave Brennan has software which automatically looks for data in this | ||
| 4951 | @@ -231,5 +231,4 @@ | ||
| 4952 | The unofficial HP GNU Emacs is available via anonymous FTP: | ||
| 4953 | |||
| 4954 | - /me10.lbl.gov:pub/interex/HUGE/ | ||
| 4955 | /ee.utah.edu:HUGE/ (PLEASE FTP DURING NON-WORK HOURS!!!) | ||
| 4956 | |||
| 4957 | @@ -301,13 +300,9 @@ | ||
| 4958 | are different from GNU Emacs. It is rumored that MicroEmacs can not | ||
| 4959 | correctly edit files larger than memory. The author is Daniel Lawrence | ||
| 4960 | - <dan@mdbs.uucp, dan@midas.mgmt.purdue.edu, nwd@j.cc.purdue.edu>. The | ||
| 4961 | - latest version is 3.10 and it is available via anonymous FTP: | ||
| 4962 | + <dan@mdbs.uucp, mdbs!dan@ee.ecn.purdue.edu>. The latest version is 3.11 | ||
| 4963 | + and it is available via anonymous FTP: | ||
| 4964 | |||
| 4965 | - /midas.mgmt.purdue.edu: (non-working hours only) | ||
| 4966 | - /durer.cme.nist.gov: | ||
| 4967 | - /wuarchive.wustl.edu:/mirrors/msdos/memacs/ | ||
| 4968 | + /wuarchive.wustl.edu:/mirrors/msdos/uemacs/ | ||
| 4969 | |||
| 4970 | - Version 3.11 is in beta test. | ||
| 4971 | - | ||
| 4972 | * JOVE | ||
| 4973 | |||
| 4974 | @@ -318,7 +313,5 @@ | ||
| 4975 | available via anonymous FTP: | ||
| 4976 | |||
| 4977 | - /cs.rochester.edu:/pub/jove.tar.4.14.Z | ||
| 4978 | - /cs.toronto.edu:/pub/moraes/jove4.14.3.tar.Z | ||
| 4979 | - /ftp.uu.net: | ||
| 4980 | + /cs.toronto.edu:/pub/moraes/jove4.14.7.tar.Z | ||
| 4981 | |||
| 4982 | * MG | ||
| 4983 | @@ -584,5 +577,5 @@ | ||
| 4984 | /alpha.gnu.ai.mit.edu:ange-ftp/ange-ftp.tar.Z | ||
| 4985 | /archive.cis.ohio-state.edu:pub/gnu/emacs/elisp-archive/packages/ange-ftp.tar.Z | ||
| 4986 | - ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z | ||
| 4987 | + /ugle.unit.no:pub/gnu/emacs-lisp/ange-ftp.tar.Z | ||
| 4988 | Mailing lists: | ||
| 4989 | ange-ftp-lovers-request@anorman.hpl.hp.com (for subscriptions) | ||
| 4990 | @@ -618,6 +611,6 @@ | ||
| 4991 | Latest released version: 6.1 {???} | ||
| 4992 | Anonymous FTP: | ||
| 4993 | - /iesd.auc.dk:pub/emacs-lisp/auctex_5_6e.tar.Z {wrong} | ||
| 4994 | - /iesd.auc.dk:pub/emacs-lisp/auc-tex.tar.Z | ||
| 4995 | + /iesd.auc.dk:pub/emacs-lisp/auctex_6_1d.tar.Z | ||
| 4996 | + /iesd.auc.dk:pub/emacs-lisp/auctex.tar.Z | ||
| 4997 | Mailing list: | ||
| 4998 | auc-tex-request@iesd.auc.dk (for subscriptions) | ||
| 4999 | |||
| 5000 | @@ -854,5 +854,5 @@ | ||
| 5001 | Anonymous FTP: | ||
| 5002 | /ftp.eu.net:gnu/emacs/FP-EightBit.Z | ||
| 5003 | - /ftp.urc.tue.nl:pub/tex/emacs/FP-EightBit | ||
| 5004 | + /ftp.urc.tue.nl:/pub/tex/emacs/FP-EightBit | ||
| 5005 | /cs.purdue.edu:pub/ygz/cemacs.tar.Z:cemacs/8bit-patch-18.57 | ||
| 5006 | /sics.se:archive/emacs-18.55-8bit-diff | ||
| 5007 | @@ -865,10 +865,25 @@ | ||
| 5008 | |||
| 5009 | Anders Edenbrandt <anderse@dna.lth.se> has produced a more comprehensive | ||
| 5010 | - patch for Emacs 18.57 that allows for 8-bit input and output. | ||
| 5011 | + patch for Emacs 18.59 that allows for 8-bit input and output. | ||
| 5012 | |||
| 5013 | Anonymous FTP: | ||
| 5014 | - /sics.se:archive/emacs-8bit-diff-lth | ||
| 5015 | - /gatekeeper.dec.com:pub/GNU/DS-emacs-18.57-8bit-diff-lth | ||
| 5016 | + /ftp.efd.lth.se:pub/gnu/emacs_8-bit.patch | ||
| 5017 | |||
| 5018 | + In the words of the author: | ||
| 5019 | + | ||
| 5020 | + With these patches, Emacs becomes fully 8-bit operational. There is | ||
| 5021 | + support for displaying 8-bit characters, as well as for entering such | ||
| 5022 | + characters from the keyboard. In addition, upcase/lowcase tranlatsion | ||
| 5023 | + is supported, accented characters are recognized as "letters" (important | ||
| 5024 | + when doing 'forward-word', for example), and text with 8-bit characters | ||
| 5025 | + can be sorted correctly. | ||
| 5026 | + | ||
| 5027 | + A Meta-shift key can still be used, provided that you run in an | ||
| 5028 | + environment where it is possible to distinguish between a character | ||
| 5029 | + entered using the Meta-shift key and one entered directly. The diffs | ||
| 5030 | + include patches to make this work under SunView (with emacstool) as | ||
| 5031 | + well as under X. If you can't use a Meta-shift key, you have to enter | ||
| 5032 | + Meta-commands with the ESC-prefix. | ||
| 5033 | + | ||
| 5034 | The most comprehensive patches for 8-bit output are by Howard Gayle | ||
| 5035 | (originally for Emacs 18.55. These patches allow displaying any arbitrary | ||
| 5036 | @@ -877,15 +892,15 @@ | ||
| 5037 | translations. It is reported that the 8-bit character support in Emacs 19 | ||
| 5038 | is largely based on these patches. Thomas Bellman | ||
| 5039 | - <Bellman@lysator.liu.se> has updated these patches for Emacs 18.57. | ||
| 5040 | + <Bellman@lysator.liu.se> has updated these patches for Emacs 18.59. | ||
| 5041 | |||
| 5042 | Anonymous FTP: | ||
| 5043 | /sics.se:archive/emacs-gayle.tar.Z (patches for 18.55) | ||
| 5044 | - /ftp.lysator.liu.se:pub/emacs/gayle-18.57.diff.tar.Z (patches) | ||
| 5045 | - /ftp.lysator.liu.se:pub/emacs/emacs-18.57-gayle.tar.Z (patched Emacs) | ||
| 5046 | + /ftp.lysator.liu.se:pub/emacs/gayle-18.58.diff.tar.Z (patches) | ||
| 5047 | + /ftp.lysator.liu.se:pub/emacs/emacs-18.59-gayle.tar.Z (patched Emacs) | ||
| 5048 | |||
| 5049 | - I am not sure if Epoch can display 8-bit characters as is. Lucid Emacs | ||
| 5050 | - has the ctl-arrow patch installed. Nemacs displays 8-bit characters, and | ||
| 5051 | - it may be useful for displaying the 8-bit ISO-8859 alphabet, but I don't | ||
| 5052 | - know for sure (see question QQQ). | ||
| 5053 | + Epoch's 8-bit character support is based on Anders Edenbrandt's patches. | ||
| 5054 | + Lucid Emacs has the ctl-arrow patch installed. Nemacs displays 8-bit | ||
| 5055 | + characters, and it may be useful for displaying the 8-bit ISO-8859 | ||
| 5056 | + alphabet, but I don't know for sure (see question QQQ). | ||
| 5057 | |||
| 5058 | QQQ: How do I input 8-bit characters? | ||
| 5059 | @@ -922,5 +937,4 @@ | ||
| 5060 | |||
| 5061 | /crl.nmsu.edu:pub/misc/nemacs-3.3.2.tar.Z | ||
| 5062 | - /uhccux.uhcc.hawaii.edu:editors/Nemacs-3.3.2/ | ||
| 5063 | /miki.cs.titech.ac.jp:JAPAN/nemacs/nemacs-3.3.2.tar.Z | ||
| 5064 | |||
| 5065 | @@ -271,5 +271,5 @@ | ||
| 5066 | the error, "Writing to process: no more processes, nntpd" | ||
| 5067 | |||
| 5068 | - Upgrade to Emacs 18.58. | ||
| 5069 | + Upgrade to Emacs 18.58 or higher. | ||
| 5070 | |||
| 5071 | QQQ: How do I save all the items of a multi-part posting in GNUS? | ||
| 5072 | @@ -390,6 +390,5 @@ | ||
| 5073 | (defun gnus-inews-date () nil) | ||
| 5074 | |||
| 5075 | - I think this is fixed in GNUS 3.14.1 if you set gnus-news-system {?} to | ||
| 5076 | - Cnews. | ||
| 5077 | + This is not fixed as of GNUS 3.14.1. | ||
| 5078 | |||
| 5079 | QQQ: Why doesn't GNUS generate the `Lines:' header? | ||
| 5080 | ---------------------------------------------------------------------- | ||
| 5081 | Copyright (C) 1990, 1991, 1992 Joseph Brian Wells | ||
| 5082 | Copyright (C) 1992, 1993 Steven Byrnes | ||
| 5083 | |||
| 5084 | This list of frequently asked questions about GNU Emacs with answers | ||
| 5085 | ("FAQ") may be translated into other languages, transformed into other | ||
| 5086 | formats (e.g. Texinfo, Info, WWW, WAIS, etc.), and updated with new | ||
| 5087 | information. The same conditions apply to any derivative of the FAQ as | ||
| 5088 | apply to the FAQ itself. Every copy of the FAQ must include this notice | ||
| 5089 | or an approved translation, information on who is currently maintaining | ||
| 5090 | the FAQ and how to contact them (including their e-mail address), and | ||
| 5091 | information on where the latest version of the FAQ is archived (including | ||
| 5092 | FTP information). The FAQ may be copied and redistributed under these | ||
| 5093 | conditions, except that the FAQ may not be embedded in a larger literary | ||
| 5094 | work unless that work itself allows free copying and redistribution. | ||
| 3284 | 5095 | ||