annotate etc/FAQ @ 397:a17df2fec87b

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Fri, 16 Aug 1991 05:24:51 +0000
parents 93491679e7e9
children 434e13b1fc95
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
134
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 This is a list of frequently asked questions (FAQ) about GNU Emacs with
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2 answers. This list is designed to cut down on the noise in the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3 gnu.emacs.help newsgroup (which is also the help-gnu-emacs mailing list)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 that results from people repeatedly asking many of the same questions.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 This list is maintained by me, Joe Wells. My e-mail address is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 jbw@bu.edu. If jbw@bu.edu doesn't work try jbw@bucsf.bu.edu.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 Feel free to contribute text for the answers that I haven't written yet,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 to suggest new questions, to suggest changes in the wording, to suggest
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 deletions, etc. Please include either "FAQ" or "frequently asked
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 questions" in the subject of messages you send to me to help keep me from
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 accidentally filing your message in the wrong mail folder.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 Here is a short list of new questions and questions that are now answered:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 New questions:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19 Why doesn't "C-c C-c" interrupt subprocesses under HP/UX?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20 How do I make Emacs send 8-bit characters to my terminal?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21 Why does ispell sometimes ignore the local dictionary?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
22 Where can I get Emacs with NeWS support?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
23
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
24 Questions with improved answers:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
25
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26 Has someone written an GNU Emacs Lisp package that does XXX?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27 How do I get Emacs running on VMS under DECwindows?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 Why does Emacs crash from a bus error in XLookupString under OpenLook?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 Why does Emacs hang with message "Unknown XMenu" with X11R4?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
30 How do I use regexps (regular expressions) in Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 How do I make Emacs "typeover" or "overwrite" when I type instead of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 always inserting?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 How do I get Emacs for my PC?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 How can I highlight a region?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 Where can I get GNU Emacs Lisp packages that don't come with Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 Where can I get the latest VM, Supercite, GNUS, Calc, Calendar, or Patch?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 Minor changes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 Where does the name "Emacs" come from?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 In C mode, can I show just the lines that will be left after #ifdef
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 commands are handled by the compiler?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 What does "M-x command" mean?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 How do I get a printed copy of the GNU Emacs manual?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 What do things like this mean: C-h, M-C-a, RET, etc.?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 Why doesn't GNUS work anymore via NNTP?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 What does Emacs do every time it starts up?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 Enjoy,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 --
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 Joe Wells <jbw@bu.edu>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 -------------------------------------------------
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 GNU Emacs Frequently Asked Questions with Answers (part 1 of 2)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 Sat Dec 8 01:30:53 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 If you are viewing this file in a GNU Emacs Buffer, you can type "M-2 C-x
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 $" to get an overview of just the questions. Then, when you want to look
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 at the text of the answers, just type "C-x $".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 To search for a question numbered XXX, type "M-C-s ^XXX:", followed by a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 C-r if that doesn't work, then type ESC to end the search.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 Notation Used in the Answers (READ THIS SECTION FIRST!)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 You may skip this section if you are reasonably familiar with GNU Emacs.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 Some of these are not actually frequently asked questions, but knowing
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 them is important for understanding the answers to the rest of the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 questions.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 1: What do things like this mean: C-h, M-C-a, RET, etc.?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 C-a means while holding down the "Control" key press the "a" key. The
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 ASCII code this sends will generally be the value that would be sent by
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 pressing just "a" minus 96 or 64. Either way it will be a number from 0
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 to 31.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 M-a means while holding down the "Meta" key press the "a" key. The
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 ASCII code this sends is the sum of the ASCII code that would be sent by
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83 pressing just "a" and 128.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85 M-C-a means while holding down both the "Control" key and the "Meta" key
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 press the "a" key.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88 C-M-a is a synonym for M-C-a.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 RET means press the "Return" key. RET is the same as C-m. This sends
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91 ASCII code 13.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93 LFD means press the "Linefeed" key. LFD is also the same as C-j. This
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
94 sends ASCII code 10. Under Unix, ASCII code 10 is more often called
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 "Newline".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97 DEL means press the "Delete" key. DEL is the same as C-?. This sends
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
98 ASCII code 127.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
99
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
100 ESC means press the "Escape" key. ESC is the same as C-[. This sends
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
101 ASCII code 27.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
102
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
103 SPC means press the "Space" key. This send ASCII code 32.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
104
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
105 TAB means press the "Tab" key. TAB is the same as C-i. This send ASCII
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
106 code 9.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
108 To read more about this online, type "C-h i m emacs RET m characters
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
109 RET", and also "C-h i m emacs RET m keys RET".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111 2: What do you mean when you write things like this: type "ESC a"?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 I will enclose key sequences that are longer than one key inside double
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114 quotes. These notations refer to single keys (some with modifiers):
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 C-x, M-x, M-C-x
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117 RET, LFD, DEL, ESC, SPC, TAB
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
118
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 I separate these from other keys within double quotes by spaces. Any
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 real spaces that I write inside double quotes can be ignored, only SPC
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 means press the space key. All other characters within double quotes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 represent single keys (some shifted).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 3: What if I don't have a Meta key?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
126 Instead of typing M-a, you can type "ESC a" instead. In fact, Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127 converts M-a internally into "ESC a" anyway.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 4: What if I don't have an Escape key?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 Type C-[ instead. This should send ASCII code 27 just like an Escape
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 key would.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 5: What does "M-x command" mean?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 "M-x command" means type M-x, then type the name of the command, then
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 type RET.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 M-x is simply the default key sequence that invokes the command
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140 "execute-extended-command". This command allows you to run any Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141 command if you can remember the command's name. If you can't remember
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 the command's name, you can type TAB and SPC for completion, and ? for a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 list of possibilities. An Emacs "command" is any "interactive" Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 function.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146 NOTE: Your system administrator may have bound other key sequences to
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
147 invoke execute-extended-command. A function key labeled "Do" is a good
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148 candidate for this.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150 To run non-interactive Emacs functions, use M-ESC instead and type a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151 Lisp form.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153 6: What do things like this mean: etc/SERVICE, src/config.h,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 lisp/default.el?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 These are the names of files that are part of the GNU Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
157 distribution. The GNU Emacs distribution is so big that it is divided
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
158 into several subdirectories; the important subdirectories are named
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
159 "etc", "lisp", and "src".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
160
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
161 If you use GNU Emacs, but don't know where it is kept on your system,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
162 start Emacs, then type "C-h v exec-directory RET". The directory name
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
163 that is displayed by this will be the full pathname of the "etc"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
164 directory of your installed GNU Emacs distribution.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
165
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
166 Some of these files are available individually via FTP or e-mail, see
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
167 question 16.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
168
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
169 7: What are FSF, LPF, OSF, GNU, RMS, FTP, BTW, and GPL?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
170
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
171 FSF == Free Software Foundation
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
172 LPF == League for Programming Freedom
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
173 OSF == Open Software Foundation
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
174 GNU == GNU's Not Unix
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
175 RMS == Richard M. Stallman
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
176 FTP == File Transfer Protocol
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
177 BTW == By the way
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
178 GPL == GNU General Public Licence
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
179
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
180 NOTE: Avoid confusing the FSF, the LPF, and the OSF. The LPF only
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
181 opposes look-and-feel copyrights and software patents. The FSF aims to
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
182 make high quality free software available for everyone. The OSF is a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
183 commercial organization which wants to provide an alternative,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
184 standardized version of Unix not controlled by AT&T.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
185
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
186
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
187
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
188 Sources of Information and Help
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
189
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
190 8: I'm just starting GNU Emacs; how do I do basic editing?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
191
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
192 Type "C-h t" to invoke the self-paced tutorial. Typing just C-h is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
193 how to enter the help system.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
194
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
195 WARNING: your system administrator may have changed C-h to act like DEL.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
196 You can use M-x help-for-help instead to invoke help. To discover what
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
197 key (if any) invokes help on your system, type "M-x where-is RET
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
198 help-for-help RET". This will print a comma-separated list of key
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
199 sequences in the echo area. Ignore the last character in each key
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
200 sequence listed. Each of the resulting key sequences invokes help.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
201
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
202 NOTE: Emacs's help facility works best if help is invoked by a single
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
203 key. The variable help-char should hold the value of this character.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
204
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
205 9: How do I find out how to do something in GNU Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
206
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
207 There are several methods for finding out how to do things in Emacs.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
208
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
209 You should become familiar with the online documentation for Emacs. The
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
210 complete text of the Emacs manual is available online in a hypertext
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
211 format via the "Info" manual reader. Type "C-h i" to invoke Info.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
212
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
213 You can order a hardcopy of the manual from the FSF. See question 12.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
214
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
215 You can list all of the commands whose names contain a certain word
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
216 (actually which match a regular expression) using the "command-apropos"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
217 command. Type "C-h a" to invoke this command.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
218
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
219 You can list all of the functions and variables whose names contain a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
220 certain word using the "apropos" command. M-x apropos invokes this
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
221 command.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
222
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
223 You may find that command-apropos and apropos are extremely slow on your
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
224 system. This will be fixed in Emacs 19. If you can't wait that long,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
225 I can send you the "fast-apropos.el" file that contains the fix. This
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
226 file also contains a "super-apropos" command that will list all the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
227 functions and variables whose documentation strings contain a certain
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
228 word.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
229
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
230 There are many other commands in Emacs for getting help and information.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
231 To get a list of these commands, type "C-h C-h C-h".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
232
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
233 10: Where can I get GNU Emacs on the net (or by snail mail)?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
234
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
235 Look in the files etc/DISTRIB and etc/FTP for information. If you don't
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
236 already have GNU Emacs, see question 16.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
237
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
238 11: Where can I get help in installing GNU Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
239
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
240 Look in the file etc/SERVICE for names of companies and individuals who
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
241 will sell you this type of service.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
242
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
243 This file in the version 18.55 distribution is not completely up to
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
244 date. The imminent release of 18.56 will help that. An up-to-date
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
245 version of the SERVICE file is available on prep.ai.mit.edu. See
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
246 question 16 for how to retrieve this file.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
247
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
248 12: How do I get a printed copy of the GNU Emacs manual?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
249
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
250 You can order a printed copy of the GNU Emacs manual from the FSF for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
251 $15. A set of 6 manuals is $60.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
252
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
253 The full TeX source for the manual also comes with Emacs, if you're
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
254 daring enough to try to print out this 300 page manual yourself. (We're
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
255 talking about killing an entire tree here. This kind of printer usage
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
256 can make you very unpopular. Besides, if you order it from the FSF, the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
257 price may be tax-deductible as a business expense.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
258
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
259 If you absolutely have to print your own copy, and you don't have TeX,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
260 you can get a PostScript version from:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
261
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
262 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
263 site: abcfd20.larc.nasa.gov
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
264 file: /pub/docs/emacs-18.55.PS.Z (size: 472K)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
265
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
266 Carl Witty <cwitty@cs.stanford.edu> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
267
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
268 The Emacs manual is also available online in the Info system, which is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
269 available by typing "C-h i". In this form, it has hypertext links and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
270 is very easy to browse or search; many people prefer it to the printed
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
271 manual.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
272
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
273 13: Has someone written an GNU Emacs Lisp package that does XXX?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
274
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
275 Probably. A listing of Emacs Lisp packages, called the Lisp Code
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
276 Directory, is being maintained by Dave Brennan <brennan@dg-rtp.dg.com>.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
277 You can search through this list to find if someone has written
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
278 something that fits your needs.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
279
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
280 This list is file "LCD-datafile.Z" in the Emacs Lisp Archive. (See
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
281 question 14.) The files "lispdir.el.Z" and "lispdir.doc.Z"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
282 in the archive contain information to help you use the list.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
283
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
284 14: Where can I get GNU Emacs Lisp packages that don't come with Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
285
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
286 First, check the Lisp Code Directory to find the name of the package you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
287 are looking for. (See question 13). Then check local archives and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
288 the Emacs Lisp Archive to find a copy of the relevant files. Then, if
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
289 you still haven't found it, you can send e-mail to the author asking for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
290 a copy.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
291
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
292 You can access the Emacs Lisp Archive via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
293
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
294 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
295 site: tut.cis.ohio-state.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
296 directory: /pub/gnu/emacs/elisp-archive
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
297 file: README.Z
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
298
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
299 NOTE: Any files with names ending in ".Z" are compressed, and you should
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
300 use "binary" mode in FTP to retrive them. You should also use binary
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
301 mode whenever you retrieve any files with names ending in ".elc".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
302
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
303 Submissions for the archive should be sent to Dave Sill <de5@ornl.gov>.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
304 If you have ftp access, the submission can be deposited in the directory
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
305 /pub/gnu/emacs/elisp-archive/incoming on tut.cis.ohio-state.edu.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
306 Whenever possible submissions should contain an LCD-datafile entry since
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
307 this helps reduce administrative overhead for the maintainers. Before
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
308 submitting anything, first read the file "guidelines.Z", which is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
309 available in the archive.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
310
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
311 15: Where can I get documentation on GNU Emacs Lisp?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
312
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
313 Obtain the GNU Emacs Lisp Reference Manual for Emacs 18 under Unix. It
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
314 is available from the FSF for $50. The latest revision is edition 1.02
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
315 dated July 1990.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
316
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
317 Within Emacs, you can type "C-h f" to get the documentation for a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
318 function, "C-h v" for a variable.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
319
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
320 Also, as a popular USENET saying goes, "Use the Force, Read the Source".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
321
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
322 You can also get the Texinfo source for the manual, if you are daring
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
323 enough to try to print this 550 page manual out yourself. This is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
324 available in the Emacs Lisp Archive and also via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
325
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
326 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
327 site: prep.ai.mit.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
328 file: /pub/gnu/elisp.tar.Z
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
329
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
330 A set of pregenerated Info files comes with the Texinfo source for the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
331 Emacs Lisp manual, so you don't have to format it yourself for online
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
332 use. (You can create the Info files from the Texinfo source.) See
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
333 question 21 for details on how to install these files online.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
334
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
335 16: What informational files are available?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
336
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
337 This isn't a frequently asked question, but it should be!
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
338
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
339 The following files are available in the "etc" directory of the GNU
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
340 Emacs distribution, and also the latest versions are available
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
341 individually via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
342
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
343 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
344 site: prep.ai.mit.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
345 directory: /pub/gnu/etc
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
346
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
347 APPLE -- Special Report: Apple's New Look and Feel
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
348 DISTRIB -- GNU Emacs Availability Information,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
349 including the popular "Free Software Foundation Order Form"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
350 FTP -- How to get GNU Software by Internet FTP or by UUCP
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
351 GNU -- The GNU Manifesto
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
352 INTERVIEW -- Richard Stallman discusses his public-domain
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
353 UNIX-compatible software system
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
354 with BYTE editors
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
355 MACHINES -- Status of GNU Emacs on Various Machines and Systems
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
356 MAILINGLISTS -- GNU Project Electronic Mailing Lists
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
357 SERVICE -- GNU Service Directory
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
358 SUN-SUPPORT -- includes the popular "Using Emacstool with GNU Emacs"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
359
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
360 These files are available in the "etc" directory of the GNU Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
361 distribution:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
362
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
363 DIFF -- Differences between GNU Emacs and Twenex Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
364 CCADIFF -- Differences between GNU Emacs and CCA Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
365 GOSDIFF -- Differences between GNU Emacs and Gosling (Unipress??) Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
366 COPYING -- GNU Emacs General Public License
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
367 NEWS -- GNU Emacs News, a history of user-visible changes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
368
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
369 In addition, all of the above files are available directly from the FSF
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
370 via e-mail. Of course, please try to get them from a local source
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
371 first.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
372
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
373 These files are available from the FSF via e-mail:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
374
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
375 * GNU's Bulletin, June, 1990 -- this file includes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
376 GNU'S Who
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
377 What Is the Free Software Foundation?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
378 What Is Copyleft?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
379 GNUs Flashes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
380 Possible New Terms for GNU Libraries by Richard Stallman
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
381 "League for Programming Freedom" by Michael Bloom and Richard Stallman
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
382 Free Software Support
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
383 GNU Project Status Report
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
384 GNU Wish List
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
385 GNU Documentation
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
386 GNU Software Available Now
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
387 Contents of the Emacs Release Tape
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
388 Contents of the Pre-Release Tape
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
389 Contents of the X11 Tapes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
390 VMS Emacs and Compiler Tapes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
391 How to Get GNU Software
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
392 Freemacs, an Extensible Editor for MS-DOS
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
393 Thank GNUs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
394 FSF Order Form
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
395 * GNU Task List
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
396 * GNU Coding Standards
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
397 * Legal issues about contributing code to GNU
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
398 * GNU Project Status Report
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
399
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
400 17: What is the current address of the FSF?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
401
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
402 Snail mail address:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
403 Free Software Foundation
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
404 675 Massachusetts Avenue
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
405 Cambridge, MA 02139, USA
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
406
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
407 Phone number:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
408 (617) 876-3296
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
409
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
410 E-mail addresses:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
411 gnu@prep.ai.mit.edu {probably read by Len Tower}
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
412 gnulists@prep
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
413
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
414 18: What is the current address of the LPF?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
415
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
416 Snail mail address:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
417 League for Programming Freedom
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
418 1 Kendall Square, Number 143
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
419 Post Office Box 9171
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
420 Cambridge, MA 02139, USA
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
421
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
422 Phone number:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
423 (617) 243-4061 { or 243-4091, I'm not sure ... }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
424
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
425 E-mail address:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
426 league@prep.ai.mit.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
427
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
428 19: Where can I get the up-to-date GNU stuff?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
429
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
430 The most up-to-date official GNU stuff is normally kept on
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
431 prep.ai.mit.edu and is available for anonymous FTP. See the files
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
432 etc/DISTRIB and etc/FTP for more information. (To get copies of these
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
433 files, see question 16.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
434
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
435 20: Where can I get the latest VM, Supercite, GNUS, Calc, Calendar, or Patch?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
436
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
437 1. VM:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
438
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
439 Author: Kyle Jones <kyle@xanth.cs.odu.edu>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
440
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
441 Mailing lists: info-vm-request@uunet.uu.net
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
442 info-vm@uunet.uu.net
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
443 bug-vm-request@uunet.uu.net
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
444 bug-vm@uunet.uu.net
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
445
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
446 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
447
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
448 Last released version: 4.41
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
449 site: tut.cis.ohio-state.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
450 file: /pub/gnu/vm/vm-4.41.tar.Z
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
451
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
452 Beta test version: 5.18
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
453 site: abcfd20.larc.nasa.gov
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
454 directory: /pub/vm
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
455
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
456 2. Supercite:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
457
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
458 Author: Barry Warsaw <warsaw@warsaw.nlm.nih.gov>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
459
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
460 Latest version: 2.1
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
461
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
462 Mailing lists: supercite@warsaw.nlm.nih.gov
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
463 supercite-request@warsaw.nlm.nih.gov
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
464
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
465 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
466 site: durer.cme.nist.gov [129.6.32.4]
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
467 files:/pub/gnu/elisp/supercite-2.1.shar.0# (where # is replaced by 1 or 2)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
468
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
469 NOTE: Superyank is an old version of Supercite.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
470
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
471 3. GNUS:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
472
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
473 Author: Masanobu Umeda
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
474
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
475 Latest version: 3.13
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
476
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
477 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
478 site: tut.cis.ohio-state.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
479 files: /pub/gnu/gnus/3.13.##-of-11.Z (where ## is replaced by 00 -- 11)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
480
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
481 4. Calc:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
482
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
483 Author: Dave Gillespie <daveg@csvax.cs.caltech.edu>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
484
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
485 Latest version: 1.06
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
486
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
487 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
488 site: csvax.cs.caltech.edu [131.215.131.131]
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
489 or any comp.sources.misc archive
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
490
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
491 5. Calendar/Diary
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
492
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
493 Author: Ed Reingold <reingold@cs.uiuc.edu>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
494
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
495 Latest version: 4
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
496
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
497 E-mail:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
498 Subject: send-emacs-cal
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
499 body: your best internet e-mail address
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
500
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
501 6. Patch
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
502
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
503 Author: Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
504
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
505 Latest version: 2.0 patchlevel 12
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
506
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
507 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
508 site: any comp.sources.unix archive
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
509
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
510 or, for Europeans:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
511
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
512 site: archive.cs.ruu.nl [131.211.80.5]
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
513 file: /pub/UNIX/patch-2.0.tar.Z
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
514
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
515 21: How do I install a piece of Texinfo documentation?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
516
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
517 First create Info files from the Texinfo files with M-x
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
518 texinfo-format-buffer. There is also a program called "makeinfo" that
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
519 provides better error checking and runs faster. Currently, it comes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
520 with the Emacs Lisp manual (which comes on the GNU Emacs tape).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
521
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
522 For information about the Texinfo format, read the Texinfo manual which
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
523 comes with Emacs. This manual also comes installed in Info format, so
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
524 you can read it online.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
525
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
526 Neither texinfo-format-buffer nor the makeinfo program install the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
527 resulting Info files in Emacs's Info tree. To install Info files:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
528
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
529 1. Move the files to the "info" directory in the installed Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
530 distribution. See question 6 if you don't know where that
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
531 is.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
532
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
533 2. Edit the file info/dir in the installed Emacs distribution, and add a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
534 line for the top level node in the Info package that you are
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
535 installing.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
536
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
537 22: What is the real legal meaning of the GNU copyleft?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
538
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
539 RMS writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
540
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
541 The legal meaning of the GNU copyleft is less important than the spirit,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
542 which is that Emacs is a free software project and that work pertaining
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
543 to Emacs should also be free software. "Free" means that all users have
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
544 the freedom to study, share, change and improve Emacs. To make sure
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
545 everyone has this freedom, pass along source code when you distribute
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
546 any version of Emacs or a related program, and give the recipients the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
547 same freedom that you enjoyed.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
548
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
549 If you still want to find out about the legal meaning of the copyleft,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
550 please ask yourself if this means you are not paying attention to the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
551 spirit.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
552
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
553 23: What are appropriate messages for gnu.emacs.help/gnu.emacs.bug/comp.emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
554 etc.?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
555
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
556 The file etc/MAILINGLISTS discusses the purpose of each GNU
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
557 mailing-list. (See question 16 on how to get a copy.) For
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
558 those which are gatewayed with newsgroups, it lists both the newsgroup
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
559 name and the mailing list address.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
560
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
561 comp.emacs is for discussion of Emacs programs in general. This
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
562 includes GNU Emacs along with various other implementations like JOVE,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
563 MicroEmacs, Freemacs, MG, Unipress, CCA, etc.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
564
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
565 Many people post GNU Emacs questions to comp.emacs because they don't
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
566 receive any of the gnu.* newsgroups. Arguments have been made both for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
567 and against posting GNU-Emacs-specific material to comp.emacs. You have
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
568 to decide for yourself.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
569
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
570 24: Should I send questions directly to people who post a lot on the net,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
571 instead of posting myself?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
572
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
573 I don't know about the others, but please don't send such messages to me
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
574 just because you don't want to disturb a lot of people. Send messages
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
575 to individuals that concern things that individual has written.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
576
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
577
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
578
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
579 GNU Emacs, all its Variants, and other Editors
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
580
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
581 25: Where does the name "Emacs" come from?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
582
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
583 EMACS originally was an acronym for Editor MACroS. The first Emacs was
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
584 a set of macros written by Richard Stallman for the editor TECO (Tape
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
585 Editor and COrrector {Text Editor and COrrector?}) on a PDP-10.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
586 (Amusing fact: many people have told me that TECO code looks a lot like
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
587 line noise.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
588
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
589 26: What is the latest version of GNU Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
590
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
591 GNU Emacs 18.55. GNU Emacs 18.56 is coming out with some bug fixes, but
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
592 no additional functionality.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
593
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
594 27: When will GNU Emacs 19 be available?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
595
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
596 Good question, I don't know. For that matter, neither do the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
597 developers. It will undoubtedly be available sometime in the 1990s.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
598
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
599 28: What will be different about GNU Emacs 19?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
600
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
601 From the latest "GNU's Bulletin":
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
602
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
603 Version 19 approaches release with a host of new features: before and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
604 after change hooks; X selection processing (including CLIPBOARD
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
605 selections); scrollbars; support for European character sets; floating
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
606 point numbers; per-buffer mouse commands; interfacing with the X
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
607 resource manager; mouse-tracking; Lisp-level binding of function keys;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
608 and multiple X windows (`screens' to Emacs).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
609
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
610 Thanks go to Alan Carroll and the people who worked on Epoch for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
611 generating initial feedback to a multi-windowed Emacs. Emacs 19
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
612 supports two styles of multiple windows, one with a separate screen for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
613 the minibuffer, and another with a minibuffer attached to each screen.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
614
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
615 More features of Version 19 are buffer allocation, which uses a new
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
616 mechanism capable of returning storage to the system when a buffer is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
617 killed, and a new input system---all input now arrives in the form of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
618 Lisp objects.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
619
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
620 Other features being considered for Version 19 include:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
621
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
622 * Associating property lists with regions of text in a buffer.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
623 * Multiple font, color, and pixmaps defined by those properties.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
624 * Different visibility conditions for the regions, and for the various
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
625 windows showing one buffer.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
626 * Incremental syntax analysis for various programming languages.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
627 * Hooks to be run if point or mouse moves outside a certain range.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
628 * Source-level debugging for Emacs Lisp.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
629 * Incrementally saving undo history in a file, so that recover-file also
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
630 reinstalls buffer's undo history.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
631 * Static menu bars, and better pop-up menus.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
632 * A more sophisticated emacsclient/server model, which would provide
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
633 network transparent Emacs widget functionality.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
634
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
635 Also, Emacs 19 will have a Emacs Lisp source code debugger.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
636
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
637 29: Is there an Emacs that has better mouse and X window support?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
638
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
639 Emacs 18 has some limited X Window System support, but there are
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
640 problems. Emacs 19 will have amazing mouse and window support. Right
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
641 now, there is a modified version of Emacs 18.55 called "Epoch" which has
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
642 greatly improved mouse and window support. The latest version of Epoch
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
643 is available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
644
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
645 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
646 site: cs.uiuc.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
647 directory: pub/epoch-files/epoch
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
648 file: epoch-3.2b (b stands for beta)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
649
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
650 NOTE: Epoch only works with the X Window System; it does not work on
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
651 ordinary terminals.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
652
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
653 30: How do I get Emacs for my PC?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
654
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
655 GNU Emacs won't run on a PC directly under MS-DOS. There have been
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
656 reports of people running GNU Emacs under a special program under MS-DOS
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
657 on 286 or 386 machines, but I don't know the details.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
658
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
659 You can try a variety of similar programs such as MG, MicroEmacs,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
660 Freemacs, etc.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
661
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
662 Russ Nelson <nelson@sun.soe.clarkson.edu>, the author, describes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
663 Freemacs:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
664
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
665 * Freemacs is free, and it was designed from the start to be
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
666 programmable.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
667 * Freemacs is the only IBM-PC editor that tries to be like GNU Emacs.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
668 * Freemacs can only edit files less than 64K in length.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
669 * Freemacs doesn't have undo.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
670
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
671 Carl Witty <cwitty@cs.stanford.edu> writes about Freemacs:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
672
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
673 Better is Freemacs, which follows the tradition of ITS and GNU Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
674 by having an full, turing-complete extension language which is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
675 incompatible with everything else. In fact, it's even closer to ITS
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
676 Emacs than GNU Emacs is, because Mint (Freemacs' extension language)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
677 is absolutely illegible without weeks of study, much like TECO.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
678
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
679 You can get Freemacs several ways:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
680
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
681 1. Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
682 site: simtel20.army.mil, directory: PD:<MSDOS.FREEMACS>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
683 site: grape.ecs.clarkson.edu [128.153.13.196], directory: /e/freemacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
684
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
685 2. E-mail:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
686 address: archive-server@sun.soe.clarkson.edu, or
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
687 archive-server%sun.soe@omnigate (BITNET), or
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
688 {smart-host}!sun.soe.clarkson.edu!archive-server (UUCP)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
689 body: help
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
690
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
691 3. Snail mail:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
692 address: Russell Nelson, 11 Grant St., Potsdam, NY 13676
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
693 Send $15 copying fee, and specify preferred floppy disk format:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
694 5.25", 1.2 Meg, or 5.25", 360K, or 3.50", 720K
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
695
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
696 I don't know much about MicroEmacs. All I know is that the latest
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
697 version is 3.10 and it is available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
698
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
699 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
700 site: durer.cme.nist.gov
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
701
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
702 Another Emacs for small machines is Jove (Jonathan's Own Version of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
703 Emacs). The latest version is 4.9. It is available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
704
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
705 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
706 sites: hipl.psych.nyu.edu, cs.toronto.edu, cayuga.cs.rochester.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
707
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
708 Yet another Emacs is "mg", which used to stand for MicroGNUEmacs, but
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
709 now just stands for "mg". It is available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
710
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
711 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
712 site: snow.white.toronto.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
713
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
714 31: Where can I get Emacs for my Atari ST?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
715
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
716 The latest version for the ST is available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
717
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
718 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
719 site: cs.uni-sb.de [134.96.7.254]
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
720 directory: /pub/atari/emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
721
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
722 32: Where can I get Emacs with NeWS support?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
723
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
724 Chris Maio's NeWS support package for GNU Emacs is available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
725
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
726 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
727 site: columbia.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
728 file: /pub/ps-emacs.tar.Z
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
729
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
730 site: tut.cis.ohio-state.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
731 file: /pub/gnu/emacs/ps-emacs.tar.Z
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
732
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
733
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
734
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
735 Binding Keys to Commands
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
736
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
737 33: Why does my key binding fail?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
738
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
739 Most likely, it failed because "ESC [" was already defined. Evaluate
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
740 this form first:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
741
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
742 (define-key esc-map "[" nil)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
743
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
744 34: Why doesn't this [terminal or window-system setup] code work in my
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
745 .emacs file, but it works just fine after Emacs starts up?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
746
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
747 This is because you're trying to do something in your .emacs file that
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
748 needs to be postponed until after the terminal/window-system setup code
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
749 is loaded. This is a result of the order in which things are done
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
750 during the startup of Emacs.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
751
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
752 In order to postpone the execution of Emacs Lisp code until after the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
753 terminal/window-system setup, set the value of the variable
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
754 term-setup-hook or window-setup-hook to be a function which does what
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
755 you want.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
756
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
757 See question 72 for a complete explanation of what Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
758 does every time it is started.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
759
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
760 Here is a simple example of how to set term-setup-hook:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
761
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
762 (setq term-setup-hook
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
763 (function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
764 (lambda ()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
765 (if (string-match "^vt220" (or (getenv "TERM") ""))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
766 ;; Make vt220's "Do" key behave like M-x:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
767 (define-key CSI-map "29~" 'execute-extended-command)))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
768
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
769 35: How do I use function keys under X Windows?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
770
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
771 If compiled on a Sun, Emacs recognizes the function keys that are
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
772 normally on a Sun keyboard, and you can bind them the same way you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
773 normally bind Sun keys. Each function key will generate a key sequence
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
774 that looks like "ESC [ ### z", where ### is replaced by a number.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
775
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
776 If not compiled on a Sun, the function keys will appear to Emacs in a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
777 way remarkably similar to the keys of a VT220 terminal. Each function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
778 key will generate a key sequence that looks like "ESC [ ### ~".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
779
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
780 For the complete list of the numbers which are generated by the function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
781 keys, look in the file src/x11term.c.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
782
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
783 However, this may be inadequate for you if you have function keys Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
784 doesn't know about. Johan Vromans <jv@mh.nl> explains:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
785
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
786 There are a number of tricks that can be helpful. The most elegant
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
787 solution, however, is to use the function "x-rebind-key". This function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
788 is commented out in the source for good reasons --- it's buggy.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
789
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
790 It is rather easy to replace this function with the function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
791 epoch:rebind-key from the Epoch distribution.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
792
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
793 After implementing this, all keyboard keys can be configured to send
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
794 user definable sequences, e.g.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
795
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
796 (x-rebind-key "KP_F1" 0 "\033OP")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
797
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
798 This will have the keypad key PF1 send the sequence \eOP, just like an
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
799 ordinary VTxxx terminal.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
800
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
801 Another method is to handle the keys in the C source. Although this may
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
802 be slightly more efficient, it is much less flexible.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
803
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
804 Finally, some people have established a convention to have the special
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
805 keys send a sequence of characters that indicate the key and its
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
806 modifiers instead of a plain escape sequence. This is also a good
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
807 method. The advantage of sending the plain escape sequences is that you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
808 require only one setup for Emacs running under X and on normal
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
809 terminals, e.g.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
810
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
811 (x-rebind-key "KP_F1" 0 "\033OP")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
812
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
813 will have key PF1 send \eOP, and, probably in another setup file:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
814
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
815 (global-set-key "\eOP" 'specific-function)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
816
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
817 to bind PF1 to a function. The last statement applies for normal VTxxx
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
818 terminal also.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
819
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
820 36: How do I tell what characters my function keys emit?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
821
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
822 Use this function by Randal L. Schwartz <merlyn@iwarp.intel.com>:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
823
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
824 (defun see-chars ()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
825 "Displays characters typed, terminated by a 3-second timeout."
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
826 (interactive)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
827 (let ((chars "")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
828 (inhibit-quit t))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
829 (message "Enter characters, terminated by 3-second timeout.")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
830 (while (not (sit-for 3))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
831 (setq chars (concat chars (list (read-char)))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
832 quit-flag nil)) ; quit-flag maybe set by C-g
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
833 (message "Characters entered: %s" (key-description chars))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
834
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
835
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
836
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
837 Problems with Key Bindings and Input
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
838
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
839 37: Why does Emacs spontaneously go into "I-search:" mode?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
840
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
841 Your terminal (or something between your terminal and the computer) is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
842 sending C-s and C-q for flow control, and Emacs is receiving these
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
843 characters and interpreting them as commands. (The C-s character
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
844 normally invokes the isearch-forward command.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
845
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
846 For a more detailed discussion, read the file PROBLEMS in the Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
847 distribution.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
848
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
849 38: What do I do if my terminal is sending C-s and C-q for flow control and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
850 I can't disable it?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
851
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
852 Use this piece of Emacs Lisp:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
853
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
854 (set-input-mode nil t)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
855
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
856 39: How do I make Emacs use C-s and C-q for flow control instead of for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
857 commands?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
858
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
859 Same answer as previous question.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
860
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
861 40: How do I use commands bound to C-s and C-q (or any key) if these keys
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
862 are filtered out?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
863
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
864 I suggest swapping C-s with C-\ and C-q with C-^:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
865
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
866 (swap-keys ?\C-s ?\C-\\)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
867 (swap-keys ?\C-q ?\C-^)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
868
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
869 See question 41 for the implementation of swap-keys.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
870
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
871 41: How do I "swap" two keys?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
872
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
873 When Emacs receives a character, you can make Emacs behave as though it
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
874 received another character by setting the value of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
875 keyboard-translate-table. The following Emacs Lisp will do this for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
876 you, allowing you to "swap" keys.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
877
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
878 WARNING: the value of C-g (7) is hard coded in several places both
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
879 before and after the translation specified by keyboard-translate-table
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
880 is carried out. Thus, swapping C-g with another key may cause problems;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
881 rebinding C-g may also cause problems. (Well, I've never done it, so I
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
882 don't know for sure.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
883
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
884 (defun swap-keys (key1 key2)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
885 "Swap keys KEY1 and KEY2 using map-key."
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
886 (map-key key1 key2 t)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
887 (map-key key2 key1))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
888
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
889 (defvar map-keys-alist nil
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
890 "Association list of key mappings currently in effect.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
891 If (FROM . TO) is an element, that means key FROM is currently mapped to TO.")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
892
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
893 (defun map-key (from to &optional no-update)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
894 "Make key FROM behave as though key TO was typed instead.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
895 If optional argument NO-UPDATE is non-nil, the key-mapping does not take
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
896 effect until a subsequent map-key or unmap-key."
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
897 (let ((alist-entry (assq from map-keys-alist)))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
898 (if alist-entry
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
899 (setcdr alist-entry to)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
900 (setq map-keys-alist (cons (cons from to) map-keys-alist))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
901 (or no-update (map-keys-update)))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
902
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
903 (defun unmap-key (key)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
904 "Undo any mapping of key KEY."
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
905 (setq map-keys-alist (delq (assq key map-keys-alist) map-keys-alist))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
906 (map-keys-update))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
907
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
908 ;; Makes keyboard-translate-table reflect the key mappings in
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
909 ;; map-keys-alist.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
910
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
911 (defun map-keys-update ()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
912 (if (null map-keys-alist)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
913 ;; Emacs runs fasted if keyboard-translate-table is nil
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
914 (setq keyboard-translate-table nil)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
915 (let ((max-key-mapped
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
916 ;; Find the mapped key with largest value
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
917 (apply 'max
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
918 (mapcar
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
919 (function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
920 (lambda (x)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
921 (car x)))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
922 map-keys-alist)))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
923 (i 0))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
924 ;; keyboard-translate-table doesn't have to be any longer than
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
925 ;; necessary. This speeds up Emacs.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
926 (setq keyboard-translate-table (make-string (1+ max-key-mapped) 0))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
927 (while (<= i max-key-mapped)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
928 (aset keyboard-translate-table i (or (cdr (assq i map-keys-alist)) i))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
929 (setq i (1+ i))))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
930
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
931 42: Why does the "Backspace" key invoke help?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
932
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
933 The Backspace key (on every keyboard I've used) sends ASCII code 8. C-h
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
934 sends the same code. In Emacs by default C-h invokes "help-command".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
935 The easiest solution to this problem is to use C-h (and Backspace) for
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
936 help and DEL (the Delete key) for deleting the previous character.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
937
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
938 For some people this solution may be problematic:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
939
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
940 1. They normally use Backspace outside of Emacs for deleting the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
941 previous character typed. This can be solved by making DEL be the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
942 command for deleting the previous character outside of Emacs. This
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
943 command will do this on many Unix systems:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
944
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
945 stty erase ^?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
946
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
947 2. The person may prefer using the Backspace key for deleting the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
948 previous character because it is more conveniently located on their
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
949 keyboard or because they don't even have a separate Delete key. In
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
950 this case, the best solution is to swap C-h and DEL:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
951
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
952 (swap-keys ?\C-h ?\C-?)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
953
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
954 See question 41 for the implementation of swap-keys.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
955
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
956 43: How do I type DEL on PC terminal emulators?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
957
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
958 Someone whose name I forgot wrote:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
959
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
960 Most PCs have deficient keyboards that don't have both Backspace and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
961 Delete keys. Whether C-h (backspace) or DEL is generated by the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
962 "Backspace" key varies from one terminal emulator to another. If you're
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
963 lucky, you can reconfigure the keyboard so that it generates DEL. If
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
964 not, you will have to hunt to figure out what keystroke will do it ---
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
965 possibilities include various shifted and controlled versions of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
966 "Backspace", the "Del" key on the numeric keypad (which might depend on
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
967 "Shift" or "NumLock"), or perhaps C-? (Control-?).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
968
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
969 If this is too hard, you may want to swap the delete key with some other
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
970 key. See question 42.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
971
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
972
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
973
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
974 Building/Installing/Porting Emacs and Machine/OS-Specific Bugs:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
975
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
976 44: Why do I get an "f68881_used undefined" error, when I build Emacs on my
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
977 Sun 3?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
978
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
979 Barry A. Warsaw <warsaw@cme.nist.gov> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
980
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
981 Some of the code that is being linked on the "ld" line of emacs'
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
982 build command has been compiled with the -f68881 option. Most
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
983 common reason is that you're linking with X libraries which were
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
984 built with -f68881 option set. You need to either remove all
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
985 dependencies to the 68881 (may mean a recompile of the X libraries
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
986 with -fswitch or -fsoft option), or you need to link emacs with
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
987 the 68881 startup file /usr/lib/Mcrt1.o. Make this change to
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
988 src/ymakefile:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
990 change: #define START_FILES crt0.o
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
991 to: #define START_FILES crt0.o /usr/lib/Mcrt1.o
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
992
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
993 The order of these start files is critical.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
994
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
995 45: Why does Emacs crash under SunOS 4.1?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
996
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
997 Under SunOS 4.1, Emacs dies with this message:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
998
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
999 Fatal error (6).Abort
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1000
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1001 There is a bug in the "localtime" routine supplied with SunOS 4.1.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1002 A private function called by tzsetwall zeroes the byte just past an
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1003 eight byte region it mallocs. This corrupts GNU malloc's memory pool.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1004
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1005 Put "#define SYSTEM_MALLOC" in src/config.h.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1006
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1007 Or, for the purists:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1008
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1009 Put "#define SUNOS_LOCALTIME_BUG" in src/config.h and apply the following
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1010 patch to src/malloc.c.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1011
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1012 (Patch by Eirik Fuller <eirik@elf.tn.cornell.edu>.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1013
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1014 >*** malloc.c~ Fri Apr 7 22:12:10 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1015 >--- malloc.c Tue May 8 07:07:22 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1016 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1017 >*** 476,482 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1018 >--- 476,487 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1019 > multiple of 8, then figure out which nestf[] area to use.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1020 > Both the beginning of the header and the beginning of the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1021 > block should be on an eight byte boundary. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1022 >+ #ifdef SUNOS_LOCALTIME_BUG
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1023 >+ /* SunOS 4.1 localtime scribbles on the ninth byte. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1024 >+ nbytes = (n + ((sizeof *p + 15) & ~15) + EXTRA + 15) & ~15;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1025 >+ #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1026 > nbytes = (n + ((sizeof *p + 7) & ~7) + EXTRA + 7) & ~7;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1027 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1028 > {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1029 > register unsigned int shiftr = (nbytes - 1) >> 2;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1030 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1031
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1032 46: Why does Emacs occasionally cause segmentation faults and machine
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1033 panics on my DECstation 3100?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1034
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1035 Bruce Cole <cole@dip.cs.wisc.edu> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1036
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1037 > We're running Emacs 18.54 on an Ultrix Risc DECsystem 5400. Three
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1038 > times we've had the machine hang with the following message:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1039 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1040 > panic: tblmod on invalid pte
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1041 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1042 > Ultrix support tells us this is caused by Emacs. Has anyone
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1043 > experienced this? DEC says it only happens on RISC boxes.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1044
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1045 This is due to a MIPS specific Ultrix kernel bug. I sent DEC a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1046 description of the bug with a bug fix. The Kernel bug manifests itself
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1047 with Emacs since Emacs uses a non-standard data start address on Ultrix
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1048 MIPS machines.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1049
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1050 I haven't often seen Emacs cause MIPS machines to panic. Usually you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1051 just see one of the following errors when you try to start up Emacs:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1052
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1053 segmentation fault (core dumped)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1054 emacs: Bad address
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1055 Out of memory
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1056 data size rlimit exceeded, pid 6523, process tcsh (for example)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1057
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1058 Until DEC fixes their kernel, you can avoid the bug by changing the data
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1059 start address used by Emacs.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1060
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1061 > I have built two newer versions of GNU Emacs and it still happens. I
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1062 > should also mention that these faults happen quite rarely to some
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1063 > users (I may see it once a month), while other users see it a few
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1064 > times a week or even daily!
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1065
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1066 The problem only occurs when a MIPS machine is doing a lot of paging.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1067 Users who don't cause their workstation to page will not see this
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1068 problem.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1069
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1070 Patch to GNU Emacs 18.55:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1071
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1072 >*** m-pmax.h Thu Jun 8 11:53:55 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1073 >--- m-pmax.h.new Mon Jul 9 10:21:21 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1074 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1075 >*** 1,3 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1076 >--- 1,7 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1077 > #include "m-mips.h"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1078 > #undef LIBS_MACHINE
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1079 > #undef BIG_ENDIAN
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1080 >+ #undef LD_SWITCH_MACHINE
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1081 >+ #undef DATA_START
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1082 >+ #define DATA_START 0x10000000
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1083 >+ #define DATA_SEG_BITS 0x10000000
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1084
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1085 47: How do I get Emacs running on VMS under DECwindows?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1086
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1087 Hal R. Brand <BRAND@addvax.llnl.gov> is said to have a VMS save set with
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1088 a ready-to-run VMS version of Emacs for X Windows. It is available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1089
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1090 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1091 site: addvax.llnl.gov
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1092
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1093 Johan Vromans <jv@mh.nl> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1094
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1095 Getting Emacs to run on VMS with DECwindows requires a number of changes
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1096 to the sources. Fortunately this has been done already. Joshua Marantz
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1097 <josh@viewlogic.com> did most of the work for Emacs 18.52, and the mods
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1098 were ported to 18.55 by Johan Vromans <jv@mh.nl>. Also included is the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1099 handling of DEC's LK201 keyboard. You need to apply the changes to a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1100 fresh Emacs 18.55 distribution on a Unix system, and then you can copy
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1101 the sources to VMS to perform the compile/link/build.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1102
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1103 The set of changes have been posted a number of times three times the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1104 last 12 months, so they should be widely available.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1105
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1106 48: Why won't src/alloc.c compile on a SPARCstation?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1107
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1108 {Could someone send me a better description of the symptoms ... Does it
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1109 really not compile, or does it refuse to link, or does it die when it's
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1110 run?}
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1111
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1112 An object in src/alloc.c is declared as an array of char. However, on a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1113 SPARCstation, this object must be aligned on a longword boundary.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1114 gcc will align this object not on a longword boundary because it thinks
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1115 this is ok because the object is an array of char.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1116
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1117 Here is a solution:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1118
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1119 (Patch from the Epoch source code.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1120
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1121 >*** dist-18.55.dist/src/alloc.c Mon Feb 13 05:23:35 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1122 >--- dist-18.55/src/alloc.c Mon Nov 27 23:30:13 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1123 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1124 >*** 665,673 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1125 > #define NSTATICS 200
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1126 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1127 >- char staticvec1[NSTATICS * sizeof (Lisp_Object *)] = {0};
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1128 >-
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1129 > int staticidx = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1130 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1131 > #define staticvec ((Lisp_Object **) staticvec1)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1132 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1133 > /* Put an entry in staticvec, pointing at the variable whose address is given */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1134 >--- 665,676 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1135 > #define NSTATICS 200
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1136 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1137 > int staticidx = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1138 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1139 >+ #ifdef __GNUC__
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1140 >+ Lisp_Object *staticvec[NSTATICS] = {0};
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1141 >+ #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1142 >+ char staticvec1[NSTATICS * sizeof (Lisp_Object *)] = {0};
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1143 > #define staticvec ((Lisp_Object **) staticvec1)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1144 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1145 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1146 > /* Put an entry in staticvec, pointing at the variable whose address is given */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1147
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1148 {Does anyone understand why one might want to declare staticvec as an
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1149 array of char instead of an array of LispObject?}
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1150
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1151 49: Why do shells started from Emacs suspend themselves under SunOS 4.1?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1152
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1153 In SunOS 4.1, when subprocesses are started by an Emacs process started
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1154 by "rsh", the process stops with a message like this:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1155
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1156 Process shell stopped (tty input)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1157
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1158 SunOS 4.1 uses the POSIX standard's specification for job control.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1159 Basically, a process must be a session leader to acquire a new
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1160 controlling terminal.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1161
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1162 A quick fix is to run Emacs as "/usr/etc/setsid emacs" instead.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1163
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1164 To fix it in Emacs, use this patch:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1165
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1166 (Patch by Eirik Fuller <eirik@elf.tn.cornell.edu>.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1167
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1168 >*** /tmp/,RCSt1a12635 Fri Jul 6 11:29:10 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1169 >--- process.c Sat Jun 16 14:04:55 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1170 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1171 >*** 1031,1036 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1172 >--- 1031,1039 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1173 > int j = open ("/dev/tty", O_RDWR, 0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1174 > ioctl (j, TIOCNOTTY, 0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1175 > close (j);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1176 >+ #ifndef USG
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1177 >+ setpgrp (0, 0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1178 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1179 > }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1180 > #endif /* TIOCNOTTY */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1181 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1182
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1183 50: Why does Emacs crash from a bus error in XLookupString under OpenLook?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1184
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1185 The Sun OpenLook libraries use the XComposeStatus parameter on
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1186 XLookupString for composing key sequences. I'm told this is actually
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1187 supposed to be an optional parameter.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1188
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1189 (Patch by David J. MacKenzie <djm@eng.umd.edu>.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1190
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1191 >*** dist-18.55.dist/src/x11term.c Wed Aug 2 21:56:42 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1192 >--- dist-18.55/src/x11term.c Fri Jul 13 19:22:32 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1193 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1194 >*** 1213,1216 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1195 >--- 1213,1218 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1196 > #endif /* not sun */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1197 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1198 >+ static XComposeStatus status;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1199 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1200 > internal_socket_read(bufp, numchars)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1201 > register unsigned char *bufp;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1202 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1203 >*** 1223,1227 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1204 > BLOCK_INPUT_DECLARE ();
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1205 > XEvent event;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1206 >- XComposeStatus status;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1207 > KeySym keysym;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1208 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1209 >--- 1225,1228 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1210 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1211 >*** 1330,1334 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1212 > nbytes = XLookupString (&event,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1213 > mapping_buf, 20, &keysym,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1214 >! 0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1215 > /* Someday this will be unnecessary as we will
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1216 > be able to use XRebindKeysym so XLookupString
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1217 >--- 1331,1335 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1218 > nbytes = XLookupString (&event,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1219 > mapping_buf, 20, &keysym,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1220 >! &status);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1221 > /* Someday this will be unnecessary as we will
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1222 > be able to use XRebindKeysym so XLookupString
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1223
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1224 51: Why doesn't "C-c C-c" interrupt subprocesses under HP/UX?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1225
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1226 Paul Stravers <stravers@dutentb.tudelft.nl> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1227
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1228 In HP/UX we can (must) combine the two distinct calls
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1229 1. ioctl (fildes, TIOCGPGRP, &gid);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1230 2. kill (-gid, signo);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1231 into the single call
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1232 1+2. ioctl (fildes, TIOCSIGSEND, signo);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1233
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1234 This is apparently the case under at least HP/UX versions 6.5 and 7.0.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1235
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1236 Here is a set of patches courtesy of Piet van Oostrum <piet@cs.ruu.nl>
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1237 that fixes these problems:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1238
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1239 1. Signals to child processes work now (like the C-c C-c mentioned above)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1240
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1241 2. When running under X11, C-g now correctly interrupts long-running commands
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1242
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1243 3. When running under X11, the window is redislayed even if emacs is doing
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1244 some work (e.g. if your window becomes visible after being behind another
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1245 one.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1246
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1247 4. A nasty bug in alloca is solved. This bug is very infrequent unless you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1248 apply the other patches.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1249
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1250 {I don't know for sure whether all of these patches are applicable only
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1251 under HP/UX. Perhaps someone can tell me.}
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1252
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1253 >*** alloca.s.~1~ Fri Sep 15 16:35:39 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1254 >--- alloca.s Tue May 1 17:18:08 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1255 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1256 >*** 92,103 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1257 > sub.l &MAXREG*4,%d1 # space for saving registers
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1258 > mov.l %d1,%sp # save new value of sp
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1259 > tst.b PROBE(%sp) # create pages (sigh)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1260 > move.w &MAXREG-1,%d0
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1261 > copy_regs_loop: /* save caller's saved registers */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1262 >! mov.l (%a1)+,(%sp)+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1263 > dbra %d0,copy_regs_loop
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1264 >! mov.l %sp,%d0 # return value
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1265 >! mov.l %d1,%sp
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1266 > add.l &-4,%sp # adjust tos
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1267 > jmp (%a0) # rts
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1268 > #endif /* new hp assembler */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1269 >--- 92,105 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1270 > sub.l &MAXREG*4,%d1 # space for saving registers
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1271 > mov.l %d1,%sp # save new value of sp
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1272 > tst.b PROBE(%sp) # create pages (sigh)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1273 >+ mov.l %a2,%d1 # save reg a2
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1274 >+ mov.l %sp,%a2
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1275 > move.w &MAXREG-1,%d0
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1276 > copy_regs_loop: /* save caller's saved registers */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1277 >! mov.l (%a1)+,(%a2)+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1278 > dbra %d0,copy_regs_loop
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1279 >! mov.l %a2,%d0 # return value
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1280 >! mov.l %d1,%a2 # restore a2
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1281 > add.l &-4,%sp # adjust tos
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1282 > jmp (%a0) # rts
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1283 > #endif /* new hp assembler */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1284
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1285 >*** keyboard.c.~1~ Wed Apr 4 14:53:49 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1286 >--- keyboard.c Thu Apr 26 14:46:27 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1287 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1288 >*** 719,724 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1289 >--- 719,773 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1290 > errno = old_errno;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1291 > }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1292 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1293 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1294 >+ /* tells if an alarm is outstanding for emptying the socket */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1295 >+ int socket_alarm;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1296 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1297 >+ static void
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1298 >+ empty_socket_interrupt()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1299 >+ {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1300 >+ int nread;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1301 >+ char buf[256 * BUFFER_SIZE_FACTOR];
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1302 >+ register int i;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1303 >+ int old_errno = errno;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1304 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1305 >+ if (waiting_for_input) return;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1306 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1307 >+ fcntl (fileno (stdin), F_SETFL, O_NDELAY);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1308 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1309 >+ /* Read what is waiting. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1310 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1311 >+ nread = (*read_socket_hook) (0, buf, sizeof buf);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1312 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1313 >+ #ifdef EBADSLT
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1314 >+ if (nread == -1 && (errno == EAGAIN || errno == EBADSLT))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1315 >+ #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1316 >+ if (nread == -1 && errno == EAGAIN)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1317 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1318 >+ nread = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1319 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1320 >+ fcntl (fileno (stdin), F_SETFL, 0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1321 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1322 >+ /* Scan the chars for C-g and store them in kbd_buffer. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1323 >+ kbd_ptr = kbd_buffer;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1324 >+ for (i = 0; i < nread; i++)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1325 >+ {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1326 >+ kbd_buffer_store_char (buf[i]);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1327 >+ /* Don't look at input that follows a C-g too closely.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1328 >+ This reduces lossage due to autorepeat on C-g. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1329 >+ if (buf[i] == Ctl ('G'))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1330 >+ break;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1331 >+ }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1332 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1333 >+ /* reestablish interrupt */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1334 >+ signal (SIGALRM, empty_socket_interrupt);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1335 >+ alarm (1);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1336 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1337 >+ errno = old_errno;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1338 >+ }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1339 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1340 >+ #endif /* HPUX */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1341 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1342 > /* read a character from the keyboard; call the redisplay if needed */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1343 > /* commandflag 0 means do not do auto-saving, but do do redisplay.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1344 > -1 means do not do redisplay, but do do autosaving.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1345 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1346 >*** 733,738 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1347 >--- 782,794 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1348 > Lisp_Object tem;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1349 > extern request_echo ();
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1350 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1351 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1352 >+ if (socket_alarm) {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1353 >+ alarm (0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1354 >+ socket_alarm = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1355 >+ }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1356 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1357 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1358 > if ((c = unread_command_char) >= 0)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1359 > {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1360 > unread_command_char = -1;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1361 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1362 >*** 869,874 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1363 >--- 925,938 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1364 > }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1365 > }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1366 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1367 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1368 >+ if (read_socket_hook) {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1369 >+ socket_alarm = 1;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1370 >+ signal (SIGALRM, empty_socket_interrupt);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1371 >+ alarm (1);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1372 >+ }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1373 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1374 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1375 > return c;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1376 > }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1377 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1378 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1379 >*** 1094,1119 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1380 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1381 > #else /* no FIONREAD */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1382 > #ifdef USG
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1383 > if (kbd_count)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1384 > abort ();
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1385 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1386 > fcntl (fileno (stdin), F_SETFL, O_NDELAY);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1387 >! kbd_ptr = kbd_buffer;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1388 > if (read_socket_hook)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1389 >! {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1390 >! kbd_count = (*read_socket_hook) (0, kbd_buffer, sizeof kbd_buffer);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1391 >! }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1392 > else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1393 >! {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1394 >! kbd_count = read (fileno (stdin), kbd_buffer, sizeof kbd_buffer);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1395 >! }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1396 > #ifdef EBADSLT
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1397 >! if (kbd_count == -1 && (errno == EAGAIN || errno == EBADSLT))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1398 > #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1399 >! if (kbd_count == -1 && errno == EAGAIN)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1400 > #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1401 >! kbd_count = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1402 > fcntl (fileno (stdin), F_SETFL, 0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1403 > #else /* not USG */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1404 > you lose
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1405 > #endif /* not USG */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1406 >--- 1158,1209 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1407 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1408 > #else /* no FIONREAD */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1409 > #ifdef USG
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1410 >+ char buf[256 * BUFFER_SIZE_FACTOR];
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1411 >+ register int i;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1412 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1413 >+ int mask;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1414 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1415 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1416 > if (kbd_count)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1417 > abort ();
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1418 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1419 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1420 >+ if (socket_alarm)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1421 >+ mask = sigblock (sigmask (SIGALRM));
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1422 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1423 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1424 > fcntl (fileno (stdin), F_SETFL, O_NDELAY);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1425 >!
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1426 >! /* Read what is waiting. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1427 > if (read_socket_hook)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1428 >! nread = (*read_socket_hook) (0, buf, sizeof buf);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1429 > else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1430 >! nread = read (fileno(stdin), buf, sizeof buf);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1431 > #ifdef EBADSLT
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1432 >! if (nread == -1 && (errno == EAGAIN || errno == EBADSLT))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1433 > #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1434 >! if (nread == -1 && errno == EAGAIN)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1435 > #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1436 >! nread = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1437 >!
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1438 > fcntl (fileno (stdin), F_SETFL, 0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1439 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1440 >+ /* Scan the chars for C-g and store them in kbd_buffer. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1441 >+ kbd_ptr = kbd_buffer;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1442 >+ for (i = 0; i < nread; i++)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1443 >+ {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1444 >+ kbd_buffer_store_char (buf[i]);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1445 >+ /* Don't look at input that follows a C-g too closely.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1446 >+ This reduces lossage due to autorepeat on C-g. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1447 >+ if (buf[i] == Ctl ('G'))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1448 >+ break;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1449 >+ }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1450 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1451 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1452 >+ if (socket_alarm)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1453 >+ sigsetmask(mask);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1454 >+ #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1455 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1456 > #else /* not USG */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1457 > you lose
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1458 > #endif /* not USG */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1459
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1460 >*** x11term.h~ Fri Sep 15 15:20:26 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1461 >--- x11term.h Thu Apr 26 14:03:25 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1462 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1463 >*** 11,17 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1464 >--- 11,22 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1465 > #define sigmask(no) (1L << ((no) - 1))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1466 > #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1467 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1468 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1469 > #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1470 >+ #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGALRM))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1471 >+ #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1472 >+ #else /* not HPUX */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1473 >+ #define BLOCK_INPUT_DECLARE() int BLOCK_INPUT_mask
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1474 > #ifdef SIGIO
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1475 > #define BLOCK_INPUT() BLOCK_INPUT_mask = sigblock (sigmask (SIGIO))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1476 > #define UNBLOCK_INPUT() sigsetmask (BLOCK_INPUT_mask)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1477 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1478 >*** 19,23 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1479 >--- 24,29 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1480 > #define BLOCK_INPUT()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1481 > #define UNBLOCK_INPUT()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1482 > #endif /* SIGIO */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1483 >+ #endif /* HPUX */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1484 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1485 > #define CLASS "emacs" /* class id for GNU Emacs, used in .Xdefaults, etc. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1486
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1487 >*** process.c.orig Fri Sep 15 16:28:36 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1488 >--- process.c Fri Apr 20 13:17:06 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1489 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1490 >*** 1057,1062 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1491 >--- 1057,1079 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1492 > signal (SIGHUP, SIG_DFL);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1493 > #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1494 > #endif /* HAVE_PTYS */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1495 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1496 >+ /* Give child clean slate for signals */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1497 >+ #ifdef SIGCHLD
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1498 >+ #ifdef BSD4_1
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1499 >+ sigrelse (SIGCHLD);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1500 >+ #else /* not BSD4_1 */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1501 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1502 >+ sigsetmask (0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1503 >+ #endif /* HPUX */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1504 >+ #if defined (BSD) || defined (UNIPLUS)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1505 >+ sigsetmask (0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1506 >+ #else /* ordinary USG */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1507 >+ signal (SIGCHLD, sigchld);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1508 >+ #endif /* ordinary USG */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1509 >+ #endif /* not BSD4_1 */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1510 >+ #endif /* SIGCHLD */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1511 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1512 > child_setup_tty (xforkout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1513 > child_setup (xforkin, xforkout, xforkout, new_argv, env);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1514 > }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1515 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1516 >*** 1413,1427 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1517 > if (read_kbd && kbd_count)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1518 > nfds = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1519 > else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1520 >! #ifdef IBMRTAIX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1521 > nfds = select (MAXDESC, &Available, 0, 0, &timeout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1522 > #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1523 >- #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1524 >- nfds = select (MAXDESC, &Available, 0, 0, &timeout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1525 >- #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1526 > nfds = select (MAXDESC, &Available, 0, &Exception, &timeout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1527 > #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1528 >- #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1529 > xerrno = errno;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1530 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1531 > if (fix_screen_hook)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1532 >--- 1430,1440 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1533 > if (read_kbd && kbd_count)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1534 > nfds = 0;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1535 > else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1536 >! #if defined (IBMRTAIX) || defined (HPUX)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1537 > nfds = select (MAXDESC, &Available, 0, 0, &timeout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1538 > #else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1539 > nfds = select (MAXDESC, &Available, 0, &Exception, &timeout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1540 > #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1541 > xerrno = errno;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1542 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1543 > if (fix_screen_hook)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1544 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1545 >*** 1771,1776 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1546 >--- 1784,1790 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1547 > error ("Process %s is not active",
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1548 > XSTRING (p->name)->data);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1549 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1550 >+ #ifndef HPUX /* Can't get gid of tty's controlling session */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1551 > #ifdef TIOCGPGRP /* Not sure about this! (fnf) */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1552 > /* If we are using pgrps, get a pgrp number and make it negative. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1553 > if (!NULL (current_group))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1554 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1555 >*** 1785,1790 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1556 >--- 1799,1805 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1557 > the child itself heads the pgrp. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1558 > gid = - XFASTINT (p->pid);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1559 > #endif /* not using pgrps */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1560 >+ #endif /* not HPUX */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1561 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1562 > switch (signo)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1563 > {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1564 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1565 >*** 1800,1805 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1566 >--- 1815,1827 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1567 > flush_pending_output (XFASTINT (p->infd));
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1568 > break;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1569 > }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1570 >+
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1571 >+ #ifdef HPUX
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1572 >+ if (!NULL (current_group))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1573 >+ ioctl (XFASTINT (p->infd), TIOCSIGSEND, signo);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1574 >+ else
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1575 >+ kill (XFASTINT (p->pid), signo);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1576 >+ #else /* not HPUX */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1577 > /* gid may be a pid, or minus a pgrp's number */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1578 > #ifdef BSD
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1579 > /* On bsd, [man says] kill does not accept a negative number to kill a pgrp.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1580 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1581 >*** 1808,1813 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1582 >--- 1830,1836 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1583 > #else /* Not BSD. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1584 > kill (gid, signo);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1585 > #endif /* Not BSD. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1586 >+ #endif /* Not HPUX */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1587 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1588 > /* Put notices in buffers now, since it is safe now.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1589 > Because of this, we know that a process we have just killed
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1590 >%
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1591
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1592 This is a separate patch to process.c, distinct from the immediately
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1593 preceding one. Both should be applied.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1594
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1595 >*** process.c.~1~ Fri Apr 20 13:17:06 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1596 >--- process.c Wed Oct 24 16:38:15 1990
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1597 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1598 >*** 1085,1095 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1599 > /* If the subfork execv fails, and it exits,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1600 > this close hangs. I don't know why.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1601 > So have an interrupt jar it loose. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1602 >! signal (SIGALRM, create_process_1);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1603 >! alarm (1);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1604 >! if (forkin >= 0)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1605 >! close (forkin);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1606 >! alarm (0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1607 > if (forkin != forkout && forkout >= 0)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1608 > close (forkout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1609 >
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1610 >--- 1085,1100 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1611 > /* If the subfork execv fails, and it exits,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1612 > this close hangs. I don't know why.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1613 > So have an interrupt jar it loose. */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1614 >!
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1615 >! { int old_trap = signal (SIGALRM, create_process_1);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1616 >! int old_alarm = alarm (1);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1617 >! if (forkin >= 0)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1618 >! close (forkin);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1619 >! alarm (0);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1620 >! signal (SIGALRM, old_trap);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1621 >! /* don't bother with possible 1 sec loss */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1622 >! if (old_alarm) alarm (old_alarm);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1623 >! }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1624 > if (forkin != forkout && forkout >= 0)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1625 > close (forkout);
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1626
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1627 52: What should I do if I have trouble building Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1628
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1629 RMS writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1630
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1631 If you try to build Emacs and it does not run, the first thing to do is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1632 look in the file called PROBLEMS to see if a solution is given there.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1633
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1634 If none is given, then please send a report by mail to
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1635 bug-gnu-emacs@prep.ai.mit.edu. Please do not send it to
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1636 help-gnu-emacs@prep.ai.mit.edu.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1637
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1638 Sending to help-gnu-emacs (which has the effect of posting on
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1639 gnu.emacs.help) is undesirable because it takes the time of an
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1640 unnecessarily large group of people, most of whom are just users and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1641 have no idea how to fix these problem. bug-gnu-emacs reaches a much
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1642 smaller group of people who are more likely to know what to do and have
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1643 expressed a wish to receive more messages about Emacs than the others.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1644
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1645 Weird/Confusing Problems:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1646
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1647 53: Does Emacs have problems with files larger than 8 Megs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1648
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1649 Most installed versions of GNU Emacs will use 24 bit signed integers
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1650 (and 24 bit pointers!) internally. This limits the file size that Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1651 can handle to 8388608 bytes.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1652
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1653 Leonard N. Zubkoff <lnz@lucid.com> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1654
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1655 Putting the following two lines in src/config.h before compiling Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1656 allows for 26 bit integers and pointers:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1657
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1658 #define VALBITS 26
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1659 #define GCTYPEBITS 5
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1660
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1661 See question 54 for an explanation.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1662
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1663 54: Why does Emacs use 24 bit integers and pointers?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1664
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1665 David Gillespie <daveg@csvax.cs.caltech.edu> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1666
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1667 Emacs is largely written in a dialect of Lisp; Lisp is a freely-typed
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1668 language in the sense that you can put any value of any type into any
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1669 variable, or return it from a function, and so on. So each value must
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1670 carry a "tag" along with it identifying what kind of thing it is, e.g.,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1671 integer, pointer to a list, pointer to an editing buffer, and so on.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1672 Emacs uses standard 32-bit integers for data objects, taking the top 8
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1673 bits for the tag and the bottom 24 bits for the value. So integers (and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1674 pointers) are somewhat restricted compared to true C integers and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1675 pointers.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1676
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1677 Emacs uses 8-bit tags because that's a little faster on byte-oriented
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1678 machines, but there are only really enough tags to require 6 bits. See
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1679 question 53 to find how to recompile Emacs with 6-bit tags and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1680 26-bit integers and pointers if space is at a premium for you.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1681
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1682 55: Why does Emacs start up using the wrong directory?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1683
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1684 Most likely, you have an environment variable named PWD that is set to a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1685 value other than the name of your current directory. This is most
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1686 likely caused by using two different shell programs. "ksh" and (some
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1687 versions of) "csh" set and maintain the value of the PWD environment
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1688 variable, but "sh" doesn't. If you start sh from ksh, change your
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1689 current directory inside sh, and then start Emacs from inside sh, PWD
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1690 will have the wrong value but Emacs will use this value. See question
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1691 72.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1692
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1693 56: How do I edit a file with a "$" in its name?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1694
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1695 When entering a filename in the minibuffer, Emacs will attempt to expand
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1696 a "$" followed by a word as an environment variable. To suppress this
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1697 behavior, type "$$" instead.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1698
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1699 57: Why does Shell Mode lose track of the shell's current directory?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1700
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1701 Emacs has no way of knowing when the shell actually changes its
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1702 directory. So it tries to guess by recognizing cd commands. A number
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1703 of fixes and enhancements to Shell Mode have been written, check the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1704 Emacs Lisp Archive (question 14).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1705
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1706 58: Why doesn't Emacs expand my aliases when sending mail?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1707
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1708 First, you must separate multiple addresses with commas.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1709
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1710 Emacs normally only reads the ".mailrc" file once per session, when you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1711 start to compose your first mail message. If you edit .mailrc, you can
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1712 type "M-ESC (build-mail-aliases) RET" to make Emacs reread .mailrc.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1713
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1714 59: Why doesn't setting default-directory always work?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1715
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1716 There is a separate value of default-directory for each Emacs buffer.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1717 The value in the current buffer is the one that is used.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1718
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1719 60: Why does my change to load-path not work?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1720
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1721 If you added file names with tildes (~) in them to your load-path,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1722 you'll need to do something like this:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1723
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1724 (setq-default load-path (mapcar 'expand-file-name load-path))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1725
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1726 61: Why does the cursor always go to the wrong column when I move up or
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1727 down one line?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1728
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1729 You have inadvertently typed "C-x C-n" (set-goal-column) which sets the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1730 "goal-column" to the column where the cursor was. To undo this type
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1731 "C-u C-x C-n".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1732
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1733 If you make this mistake frequently, you might want to unbind this
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1734 command by doing (define-key ctl-x-map "\C-n" nil).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1735
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1736 62: Why don't the command line switches documented in the man page work?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1737
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1738 The "man page", ie. the file etc/emacs.1, hasn't been updated in a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1739 while. The command line switches that it says work with X Windows are
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1740 for X10. See question 72 for details on what switches are
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1741 available using X11. {Would someone like to rewrite the man page? RMS
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1742 asked me and I haven't had time yet.}
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1743
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1744 63: Why does gnus-Subject-mail-reply chop off the last character of the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1745 article headers?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1746
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1747 There is a bug in some rnews functions that GNUS uses. Here is a patch:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1748
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1749 (Patch supplied by Karl Kleinpaste <karl_kleinpaste@cis.ohio-state.edu>.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1750
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1751 >*** rnewspost.el.orig Thu Oct 5 10:32:47 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1752 >--- rnewspost.el Thu Oct 5 10:32:47 1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1753 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1754 >*** 252,258 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1755 > (save-restriction
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1756 > (narrow-to-region (point-min) (progn (goto-line (point-min))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1757 > (search-forward "\n\n")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1758 >! (- (point) 2)))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1759 > (setq from (mail-fetch-field "from")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1760 > subject (mail-fetch-field "subject")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1761 > reply-to (mail-fetch-field "reply-to")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1762 >--- 252,258 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1763 > (save-restriction
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1764 > (narrow-to-region (point-min) (progn (goto-line (point-min))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1765 > (search-forward "\n\n")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1766 >! (- (point) 1)))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1767 > (setq from (mail-fetch-field "from")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1768 > subject (mail-fetch-field "subject")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1769 > reply-to (mail-fetch-field "reply-to")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1770 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1771 >*** 289,295 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1772 > ;@@ but rnews.el lacks support
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1773 > (narrow-to-region (point-min) (progn (goto-char (point-min))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1774 > (search-forward "\n\n")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1775 >! (- (point) 2)))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1776 > (setq from (mail-fetch-field "from")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1777 > news-reply-yank-from from
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1778 > ;; @@ not handling old Title: field
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1779 >--- 289,295 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1780 > ;@@ but rnews.el lacks support
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1781 > (narrow-to-region (point-min) (progn (goto-char (point-min))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1782 > (search-forward "\n\n")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1783 >! (- (point) 1)))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1784 > (setq from (mail-fetch-field "from")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1785 > news-reply-yank-from from
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1786 > ;; @@ not handling old Title: field
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1787 >***************
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1788 >*** 365,371 ****
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1789 > ;@@ but rnews.el lacks support
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1790 > (narrow-to-region (point-min) (progn (goto-char (point-min))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1791 > (search-forward "\n\n")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1792 >! (- (point) 2)))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1793 > (setq news-reply-yank-from (mail-fetch-field "from")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1794 > ;; @@ not handling old Article-I.D.: field
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1795 > news-reply-yank-message-id (mail-fetch-field "message-id")))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1796 >--- 365,371 ----
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1797 > ;@@ but rnews.el lacks support
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1798 > (narrow-to-region (point-min) (progn (goto-char (point-min))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1799 > (search-forward "\n\n")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1800 >! (- (point) 1)))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1801 > (setq news-reply-yank-from (mail-fetch-field "from")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1802 > ;; @@ not handling old Article-I.D.: field
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1803 > news-reply-yank-message-id (mail-fetch-field "message-id")))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1804
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1805 64: Why does Emacs hang with message "Unknown XMenu" with X11R4?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1806
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1807 Many different X errors can produce this message. Here is the solution
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1808 to one problem:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1809
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1810 X11 Release 4 now enforces some conditions in the X protocol that were
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1811 previously allowed to pass unnoticed. You need to put the X11R4 server
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1812 into X11R3 bug compatibility mode for Emacs's Xmenu code to work. You
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1813 can do this with the command "xset bc".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1814
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1815 65: Why isn't the load average displayed by display-time?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1816
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1817 The most likely cause of the problem is that "loadst" can't read the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1818 special file /dev/kmem. To properly install loadst, it should be either
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1819 setuid to the owner of /dev/kmem, or is should be setgid to the group to
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1820 which /dev/kmem belongs. In either case, /dev/kmem should be readable by
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1821 its owner or its group, respectively.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1822
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1823 Another possibility is that your version of Unix doesn't have the load
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1824 average data available in /dev/kmem. Your version of Unix might have a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1825 special system call to retrieve this information (eg., inq_stats under
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1826 UMAX).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1827
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1828 66: Why doesn't GNUS work anymore via NNTP?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1829
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1830 There is a bug in NNTP version 1.5.10, such that when multiple requests
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1831 are sent to the NNTP server, the server only handles the first one before
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1832 blocking waiting for more input which never comes.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1833
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1834 You can work around the bug inside Emacs like this:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1835
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1836 (setq nntp-maximum-request 1)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1837 (setq nntp-buggy-select t)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1838
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1839 Or you could fix the NNTP server in one of these ways:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1840
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1841 1. Test whether there is data in stdin's stdio buffer before calling
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1842 "select" using something like "((fileptr)->_cnt > 0)". Best choice.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1843 2. Remove call to select by not defining "TIMEOUT" in "common/conf.h".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1844 3. Put "setbuf (stdin, NULL)" in the NNTP server in the right spot.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1845 This would be very inefficient.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1846 4. Rewrite the server to use an alarm instead of "select".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1847
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1848 67: Why can't I paste a selection I made in Emacs into my xterm window?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1849
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1850 A person whose name I lost writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1851
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1852 The strange interaction between Emacs, xterm, and the cut buffers is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1853 because most xterm clients use selections instead of (well, superceding)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1854 cut buffers. If there is a selection around, xterms will use that
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1855 instead of the cut buffer. Emacs doesn't know about selections, but you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1856 can convince xterm to always use the cut buffer instead of selections by
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1857 adding this to your .Xdefaults:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1858
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1859 ! Solution by Thomas Narten, should work under X11R3 and later
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1860 ! GNU Emacs only copies to CUT_BUFFER0. xterm by default wants to paste
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1861 ! from the PRIMARY selection.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1862 XTerm*VT100.Translations: #override \
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1863 ~Meta <Btn2Up>: insert-selection(CUT_BUFFER0)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1864
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1865
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1866 68: Why does ispell sometimes ignore the local dictionary?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1867
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1868 You need to update the version of ispell to 2.0.02. A patch is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1869 available via:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1870
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1871 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1872 site: tut.cis.ohio-state.edu
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1873 file: /pub/gnu/ispell/patch2.Z
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1874
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1875 You also need to change a line in ispell.el from:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1876
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1877 (defconst ispell-version "2.0.01") ;; Check against output of "ispell -v".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1878
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1879 to:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1880
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1881 (defconst ispell-version "2.0.02") ;; Check against output of "ispell -v".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1882
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1883
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1884
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1885 Configuring Emacs for yourself:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1886
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1887 69: How do I set up a .emacs file properly?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1888
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1889 I'm going to be sending out a sample .emacs file in a separate message
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1890 later this month. It will be based largely on AT&T's sample .emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1891 file, which was sent to me by Dan Jacobson. In fact it might be
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1892 identical.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1893
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1894 70: How do you debug a .emacs file?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1895
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1896 First start Emacs with the "-q" command line option. Then, in the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1897 *scratch* buffer, type the following:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1898
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1899 (setq debug-on-error t) C-j
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1900 (load-file "~/.emacs") C-j
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1901
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1902 (C-j stands for Control-J, ie., hold the control key and press J.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1903
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1904 If you have an error in your .emacs file, this will invoke the debugger
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1905 when the error occurs. If you don't know how to use the debugger do
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1906 (setq stack-trace-on-error t) instead.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1907
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1908 WARNING: this will not discover errors caused by trying to do something
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1909 that requires the terminal/window-system initialization code to have
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1910 been loaded. See question 34.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1911
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1912 71: How do I turn on abbrevs by default just in mode XXX?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1913
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1914 Put this in your .emacs file:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1915
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1916 (condition-case ()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1917 (read-abbrev-file nil t)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1918 (file-error nil))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1919
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1920 (setq XXX-mode-hook
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1921 (function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1922 (lambda ()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1923 (setq abbrev-mode t))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1924
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1925 72: What does Emacs do every time it starts up?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1926
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1927 This question is not itself frequently asked, but helps to answer other
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1928 questions.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1929
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1930 Here is a complete explanation of the order in which things are done
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1931 during startup.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1932
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1933 1. These command line switches are handled, only if they appear before
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1934 all other command line arguments, and only if they appear in this
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1935 order:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1936
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1937 "-map". Only under VMS. Instead of "undumping", under VMS the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1938 contents of a dump file are mapped over a section of memory (very
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1939 quickly initializing lots of variables).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1940
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1941 "-t". The next argument is treated as the name of a terminal to use
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1942 instead of whatever is connected to the stdin, stdout, and stderr
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1943 FILE pointers.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1944
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1945 "-display" (synonym: "-d"). The next argument is treated as the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1946 name of an X Window System server with which to connect. This
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1947 overrides the DISPLAY environment variable.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1948
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1949 "-nw". This means don't connect to an X Window server even if the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1950 DISPLAY environment variable was set or the "-display" switch was
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1951 specified. Instead, Emacs talks to a regular dumb terminal.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1952
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1953 "-batch". Emacs is noninteractive. The variable "noninteractive"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1954 is t. This disables any full screen interaction either with a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1955 dumb terminal or with a window system. In addition, Emacs will
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1956 die after processing all command line arguments.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1957
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1958 All of Emacs's internal data structures are initialized between steps 2
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1959 and 5.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1960
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1961 2. The "*scratch*" buffer is created and its value of default-directory
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1962 is set from the result of calling the "getwd" library routine.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1963 (getwd does what the "pwd" program does.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1964
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1965 3. If X11 is being used, Emacs determines the name under which it looks
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1966 for X resource values. (I haven't checked how it does this under
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1967 X10.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1968
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1969 1. If there is a "-rn" command line switch, it is handled now, no
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1970 matter where it is on the command line. (Later it will be
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1971 processed again and ignored.) The next argument is used as
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1972 Emacs's resource name.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1973
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1974 2. If the "-rn" switch was missing, Emacs looks for the WM_RES_NAME
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1975 environment variable.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1976
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1977 3. If neither of the previous two steps succeed, Emacs uses the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1978 filename with which it was invoked as its resource name.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1979
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1980 4. If X11 is being used, these command line switches are handled now,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1981 no matter where they appear in the command line. (Under X10, they
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1982 are not handled until step 13.) WARNING: this can cause strange
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1983 interactions with the processing of the remaining command line
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1984 arguments in step 13.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1985
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1986 In addition, under both X11 and X10, X resources (ie. the stuff in
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1987 an .Xdefaults file) are handled now. Command line switches take
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1988 precedence over resources.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1989
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1990 After each command line switch are given the equivalent resource
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1991 names in this format: (X10 name / X11 instance name / X11 class name).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1992
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1993 "-r". Reverse video. (ReverseVideo/reverseVideo/ReverseVideo)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1994 "-font" (synonym: "-fn"). Font. (BodyFont/font/Font)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1995 "-wn". Window name (X11 only). (/title/Title)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1996 "-in". Icon name (X11 only). (/iconName/Title)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1997 "-i". Use built-in icon bitmap. (BitMapIcon//)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1998
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1999 "-b". Border width (in pixels).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2000 (BorderWidth/borderWidth/BorderWidth)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2001
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2002 "-ib". Internal border width (in pixels) (default: 1).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2003 (/internalBorder/BorderWidth)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2004
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2005 "-geometry" (synonym: "-w"). Window shape and size. "-geometry" is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2006 X11 only, but its synonym "-w" was available under X10.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2007 (/geometry/Geometry)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2008
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2009 Color options only:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2010
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2011 "-fg". Foreground color. (Foreground/foreground/Foreground)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2012 "-bg". Background color. (Background/background/Background)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2013 "-bd". Border color. (Border/borderColor/BorderColor)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2014 "-cr". Cursor color. (Cursor/cursorColor/Foreground)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2015 "-ms". Mouse pointer color. (Mouse/pointerColor/Foreground)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2016
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2017 In addition, under X10, the resource "Keymap" was handled now.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2018
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2019 5. If your Emacs isn't "dumped", the default Lisp libraries are
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2020 "loaded" now.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2021
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2022 6. Emacs enters a "recursive edit". The first time Emacs does a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2023 recursive edit, steps 7 through 15 are followed, and then Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2024 enters its normal editing mode.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2025
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2026 7. If the environment variable PWD exists, the value of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2027 default-directory in the *scratch* buffer is set to the value of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2028 PWD. This often causes problems and confusion when the value of PWD
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2029 doesn't actually contain the pathname of the current directory.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2030
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2031 8. Now the "-no-init-file" (synonym: "-q") and "-user" (synonym: "-u")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2032 command line switches are handled. They must follow the switches
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2033 mentioned in step 1, and must precede any other command line
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2034 arguments. Actually, both of these options can be specified;
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2035 whichever is last on the command line wins.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2036
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2037 9. The user's ".emacs" file is loaded now, if the -no-init-file option
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2038 was not specified. If the -user option was specified, that user's
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2039 .emacs file is loaded instead. A user's .emacs file is a file named
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2040 ".emacs" in the user's "home" directory. If no such file exists,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2041 this step has no effect.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2042
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2043 10. The system wide "default" file is loaded now, if the variable
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2044 inhibit-default-init is nil. The user can set this variable in the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2045 .emacs file to skip this step.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2046
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2047 11. If the *scratch* buffer still exists now, the value of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2048 initial-major-mode is called as a function in this buffer.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2049 Normally, this puts this buffer in Lisp Interaction mode.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2050
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2051 12. Now the terminal/window-system setup file is loaded. The name of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2052 this file is determined as follows:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2053
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2054 1. It starts with the value of term-file-prefix. Normally this is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2055 "term/", but the user can set it to another value. If this
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2056 variable is nil, this entire step is skipped.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2057
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2058 2. For a window system, the prefix is followed by the name of the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2059 value of the variable window-system, followed by "-win". For X
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2060 Windows, this means the name is "term/x-win".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2061
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2062 3. For a terminal, the prefix is followed by the value of the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2063 environment variable TERM, for example, "term/vt200". If Emacs
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2064 cannot find such a file to load, it retries by stripping off
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2065 suffixes that begin with a hyphen. For example, if TERM is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2066 "vt200-40", first Emacs will try "term/vt200-40", and if that
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2067 fails it will try "term/vt200".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2068
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2069 13. The rest of the command line arguments are handled at this point, in
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2070 the order they appear:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2071
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2072 "-funcall" (synonyms: "-f", "-e"). The next argument is treated as
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2073 the name of a function, which is called with no arguments.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2074
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2075 "-load" (synonym: "-l"). The next argument is treated as the name
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2076 of a file to load. NOTE: the value of the variable load-path
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2077 will be restored after this file is done loading. Thus, trying
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2078 to change load-path in such a file will fail!!
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2079
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2080 "-kill". When this argument is handled, Emacs kills itself.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2081
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2082 "+DDD", where D is a digit. DDD is used as a line number to go to.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2083 When the next ordinary file argument on the command line is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2084 handled, Emacs positions point in that file on line DDD.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2085
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2086 An ordinary filename. Emacs edits this file using the function
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2087 find-file. If the filename is not an "absolute" filename, it is
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2088 expanded relative to the value that default-directory in the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2089 *scratch* buffer had at the beginning of step 11. The buffer
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2090 visiting this file becomes the current buffer.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2091
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2092 "-insert" (synonym: "-i"). The next argument is treated as the name
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2093 of a file. This file is inserted in the current buffer.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2094 Initially, this is the *scratch* buffer. Otherwise it is the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2095 buffer visiting the file most recently specified on the command
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2096 line. WARNING: the synonym "-i" doesn't work under X11.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2097
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2098 Other command line switches may have been created by modifying the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2099 value of the variable command-switch-alist. If X Windows is being
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2100 used, all X-specific switches mentioned above in steps 3 and 4 will
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2101 be processed. Under X11, they will have already been handled, and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2102 will be ignored now. Under X10, they are being handled for the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2103 first time.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2104
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2105 14. The values of the variables term-setup-hook and window-setup-hook
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2106 are called as functions with no arguments, in the order listed.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2107
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2108 15. If the user did not specify any of the command line options handled
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2109 in step 13, and the variable inhibit-startup-message is still nil,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2110 the familiar Emacs startup message is displayed.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2111
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2112 73: What are the valid X resource settings (ie., stuff in .Xdefaults file)?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2113
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2114 See question 72.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2115
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2116 WARNING: Don't pay any attention to the documentation in etc/XDOC or
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2117 etc/emacs.1. It's way out of date. {Would someone like to rewrite it?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2118 RMS asked me and I haven't had time yet.}
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2119
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2120 74: How do I turn down the bell volume in Emacs running under X Windows?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2121
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2122 Under Epoch you can do:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2123
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2124 (setq epoch::bell-volume 20)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2125
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2126 Under normal GNU Emacs you must modify the XTfeep function in
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2127 src/x11term.c, and change the number 50 to some other number:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2128
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2129 XTfeep ()
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2130 {
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2131 BLOCK_INPUT_DECLARE ();
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2132 #ifdef XDEBUG
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2133 fprintf (stderr, "XTfeep\n");
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2134 #endif
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2135 BLOCK_INPUT ();
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2136 XBell (XXdisplay,50); /* change this 50 */
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2137 UNBLOCK_INPUT ();
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2138 }
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2139
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2140 75: How do I make Emacs send 8-bit characters to my terminal?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2141
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2142 Johan Widen <jw@sics.se> writes:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2143
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2144 A patch for emacs-18.55 is available by ftp and mail-server from
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2145 sics.se.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2146
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2147 Anonymous FTP:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2148 site: sics.se [192.16.123.90]
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2149 file: archive/emacs-18.55-8bit-diff
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2150
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2151 E-mail:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2152 To: mail-server@sics.se
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2153 body: send emacs-18.55-8bit-diff
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2154
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2155
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2156
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2157 Emacs Lisp programming:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2158
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2159 76: What dialect of Lisp is Emacs Lisp?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2160
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2161 It's the dialect of Lisp called Emacs Lisp. (No joke!) People also
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2162 call it elisp or e-lisp. (NOTE: The term "Elisp" is trademarked by
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2163 someone else.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2164
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2165 77: How close is Emacs Lisp to Common Lisp?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2166
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2167 Pretty far. GNU Emacs Lisp is case-sensitive, uses dynamic scoping,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2168 doesn't have packages, doesn't have multiple return values, doesn't have
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2169 reader macros, etc. For people used to Common Lisp, some of the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2170 functions in Common Lisp that are not in Emacs Lisp by default are
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2171 provided in the file lisp/cl.el. There is a Texinfo manual describing
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2172 these functions in man/cl.texinfo.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2173
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2174 78: How do I execute a piece of Emacs Lisp code?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2175
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2176 There are a number of ways to execute (called "evaluate") an Emacs Lisp
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2177 "form":
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2178
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2179 * If you want it evaluated every time you run Emacs, put it in a file
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2180 named ".emacs" in your home directory.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2181
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2182 * You can type the form in the "*scratch*" buffer, and then type C-j
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2183 after it. The result of evaluating the form will be inserted in the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2184 buffer.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2185
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2186 * In in Emacs-Lisp mode, typing M-C-x evaluates a top-level form before
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2187 or around point.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2188
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2189 * Typing "C-x C-e" in any buffer evaluates the Lisp form immediately
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2190 before point and prints its value in the echo area.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2191
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2192 * Typing M-ESC or M-x eval-expression allows you to type a Lisp form in
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2193 the minibuffer which will be evaluated.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2194
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2195 * You can use M-x load-file to have Emacs evaluate all the Lisp forms in
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2196 a file. (To do this from Lisp use the function "load" instead.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2197
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2198 79: How do I make a set of operations fully local to a region?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2199
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2200 Use narrow-to-region inside of save-restriction.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2201
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2202 80: How can I highlight a region?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2203
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2204 There are ways to get highlighting in GNU Emacs 18.55, but they all
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2205 require patching the C code of Emacs and rebuilding. They are also slow
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2206 and the highlighting disappears if you scroll or redraw the screen. One
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2207 patch is by Kenichi Handa <handa@etl.go.jp>.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2208
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2209 You can hightlight regions in a variety of ways in Epoch. GNU Emacs 19
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2210 will have everything you need, but won't be out soon.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2211
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2212 81: How do I change Emacs's idea of the tab character's length?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2213
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2214 Example: (setq default-tab-width 10).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2215
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2216 82: What is the difference between (interactive "P") and (interactive "p")?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2217
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2218 The value that is a result of "P" can be a list, a symbol, or an
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2219 integer; the value that is a result of "p" is always an integer:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2220
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2221 Prefix keys typed result of: "P" "p"
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2222 nothing nil 1
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2223 "M-1" 1 1
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2224 "C-u 1" 1 1
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2225 "M--" '- -1
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2226 "C-u -" '- -1
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2227 "C-u" (4) 4
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2228 "C-u C-u" (16) 16
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2229
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2230
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2231
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2232 Carrying Out Common Tasks:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2233
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2234 83: How do I insert ">"'s in the beginning of every line in a buffer?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2235
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2236 Type "M-x replace-regexp RET ^ RET > RET". ("replace-regexp" can be
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2237 shortened to "repl TAB r".)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2238
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2239 To do this only in the region, type "C-x n M-x replace-regexp RET ^ RET
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2240 > RET C-x w". (You're going to remember that, right?)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2241
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2242 84: How do I insert "_^H" characters before each character in a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2243 paragraph to get an underlined paragraph?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2244
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2245 M-x underline-region.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2246
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2247 85: How do I repeat a command as many times as possible?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2248
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2249 Make a keyboard macro that invokes the command and then type "M-0 C-x
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2250 e". WARNING: any messages your command prints in the echo area will be
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2251 suppressed.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2252
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2253 86: How do I search for an unprintable (8-bit) character that appears
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2254 in a buffer as \237?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2255
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2256 C-s C-q 2 3 7
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2257
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2258 (This assumes the value of search-quote-char is 17 (C-q).)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2259
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2260 87: How do I tell Emacs to automatically indent a new line to the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2261 indentation of the previous line?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2262
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2263 M-x indented-text-mode. (This is a major mode.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2264
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2265 If you have auto-fill mode on (minor mode), you can tell Emacs to prefix
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2266 every line with a certain character sequence, the "fill prefix". Type
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2267 the prefix at the beginning of a line, position point after it, and then
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2268 type "C-x ." (set-fill-prefix) to set the fill prefix. Thereafter,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2269 auto-filling will automatically put the fill prefix at the beginning of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2270 new lines, and M-q (fill-paragraph) will maintain any fill prefix when
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2271 refilling the paragraph.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2272
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2273 88: How do I make Emacs "typeover" or "overwrite" when I type instead of
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2274 always inserting?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2275
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2276 M-x overwrite-mode (minor mode).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2277
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2278 WARNING: delete-backward-char (usually the delete key) doesn't work
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2279 properly in overwrite mode. It deletes the character to the left,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2280 rather than replacing it with a space.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2281
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2282 89: How do I show which parenthesis matches the one I'm looking at?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2283
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2284 If you're looking at a right parenthesis (or brace or bracket) you can
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2285 delete it and reinsert it.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2286
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2287 M-C-f (forward-sexp) and M-C-b (backward-sexp) will skip over balanced
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2288 parentheses, so you can see which parentheses match. (You can train it
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2289 to skip over balanced brackets and braces at the same time by modifying
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2290 the syntax table.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2291
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2292 Here is some Emacs Lisp that will make the % key show the matching
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2293 parenthese, like in vi. In addition, if the cursor isn't over a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2294 parenthese, it simply inserts a % like normal.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2295
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2296 (By an unknown contributor.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2297
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2298 (global-set-key "%" 'match-paren)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2299
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2300 (defun match-paren (arg)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2301 "Go to the matching parenthesis if on parenthesis otherwise insert %."
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2302 (interactive "p")
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2303 (cond ((looking-at "[([{]") (forward-sexp 1) (backward-char))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2304 ((looking-at "[])}]") (forward-char) (backward-sexp 1))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2305 (t (self-insert-command (or arg 1)))))
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2306
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2307 90: How do I make Emacs behave like this: when I go up or down, the cursor
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2308 should stay in the same column even if the line is too short?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2309
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2310 M-x picture-mode. (This is a minor mode, in theory anyway ...)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2311
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2312 91: How do I read news under Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2313
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2314 There are at least three news reading packages that operate inside
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2315 Emacs. "rnews" comes with Emacs. "GNUS" and "Gnews" come separately.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2316
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2317 {I've never used rnews; could someone write a description? BTW, rnews
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2318 will be replaced with GNUS in Emacs 19.}
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2319
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2320 Both GNUS and Gnews handle reading news over NNTP. I think both can
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2321 also read from a local news spool. GNUS also supports reading mail
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2322 stored in MH folders or articles saved by GNUS.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2323
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2324 GNUS is written (mostly) by Masanobu Umeda. His (?) latest e-mail
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2325 address was umerin@tc.nagasaki.go.jp, but I don't think he has an e-mail
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2326 address right now. The latest version is GNUS 3.13. There is a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2327 newsgroup for discussion of GNUS called gnu.emacs.gnus. This newsgroup
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2328 is gatewayed with the mailing list info-gnus-english to subscribe send
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2329 mail to info-gnus-english-request@cis.ohio-state.edu. There is also a
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2330 mailing list called info-gnus, which includes discussion in Japanese.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2331
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2332 Gnews was written by Matthew Wiener <e-mail address?>. {Could someone
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2333 tell me the # of the latest version, and how long it has been since
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2334 anyone has heard from Matthew?}. There is a newsgroup for Gnews called
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2335 gnu.emacs.gnews.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2336
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2337 92: In C mode, can I show just the lines that will be left after #ifdef
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2338 commands are handled by the compiler?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2339
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2340 M-x hide-ifdef-mode. (This is a minor mode.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2341
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2342 You may have to (load "hideif") first. If you want to do this
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2343 regularly, put this in your .emacs file:
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2344
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2345 (autoload 'hide-ifdef-mode "hideif" nil t)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2346
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2347 93: Is there an equivalent to the "." (dot) command of vi?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2348
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2349 ("." is the redo command in vi. It redoes the last insertion/deletion.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2350
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2351 No, not really.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2352
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2353 You can type "C-x ESC" (repeat-complex-command) to reinvoke commands
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2354 that used the minibuffer to get arguments. In repeat-complex-command
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2355 you can type M-p and M-n to scan through all the different complex
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2356 commands you've typed.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2357
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2358 To repeat something on each line I recommend using keyboard macros.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2359
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2360 94: How do I use emacstool under SunView?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2361
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2362 The file etc/SUN-SUPPORT includes the document "Using Emacstool with GNU
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2363 Emacs". Also read the man page for emacstool (etc/emacstool.1).
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2364
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2365 95: How do I get Emacs to display the current line number on the mode line?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2366
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2367 There is no "correct" way to constantly display the current line number
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2368 on the mode line in Emacs 18. Emacs is not a line-oriented editor, and
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2369 really has no idea what "lines" of the buffer are displayed in the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2370 window. It would require a lot of work at the C code level to make
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2371 Emacs keep track of this.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2372
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2373 Emacs 19 will probably be able to do this, but probably not with great
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2374 efficiency.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2375
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2376 To find out what line of the buffer you are on right now, do "M-x
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2377 what-line". Typing "C-x l" will also tell you what line you are on,
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2378 provided the buffer isn't separated into "pages" with C-l characters.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2379 In that case, it will only tell you what line of the current "page" you
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2380 are on. WARNING: "C-x l" gives the wrong value when point is at the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2381 beginning of a line.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2382
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2383 People have written various kludges to display the current line number
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2384 on the mode line. Look in the Lisp Code Directory. (See question 13.)
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2385
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2386 96: How do I tell Emacs to iconify itself?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2387
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2388 You need to modify C source and recompile. Either that or get Epoch
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2389 instead. For the interested I have a patch to allow Emacs to iconify
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2390 itself.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2391
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2392 97: How do I use regexps (regular expressions) in Emacs?
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2393
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2394 This is documented in the Emacs manual. To read the manual section
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2395 online, type "C-h i m emacs RET m regexps RET".
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2396
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2397 WARNING: Unlike in Unix grep, sed, etc., a complement character set
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2398 ([^...]) can match a Newline, unless Newline is mentioned as one of the
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2399 characters not to match.
93491679e7e9 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2400