annotate man/xemacs-faq.texi @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children ac2d302a0011
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 \input texinfo.tex @c -*-texinfo-*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @c %**start of header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 @setfilename ../info/xemacs-faq.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @settitle Frequently asked questions about XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @setchapternewpage off
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @c %**end of header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 @title XEmacs FAQ
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 @subtitle Frequently asked questions about XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 @subtitle Last Modified: 1995/08/29
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 @sp 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 @author Anthony Rossini <arossini@@biostats.hmc.psu.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 @author Ben Wing <wing@@netcom.com>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 @author Chuck Thompson <cthomp@@cs.uiuc.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 @c Some of this stuff needs to go in the HTML version which means it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @c needs to be put outside of the ifinfo statement.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 @node top, 1. Introductory Questions, (dir), (dir)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 @unnumbered XEmacs FAQ
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 Version: OUT OF DATE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 Current-Editor: Steven L Baur <steve@@miranova.com>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 Copying Status: Freely Redistributable. I take no liability for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 correctness and safety of any procedures or advice given
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 here. This FAQ is distributed in the hope that it will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 be useful, but WITHOUT ANY WARRANTY; without even the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 implied warranty of MERCHANTABILITY or FITNESS FOR A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 PARTICULAR PURPOSE.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 WARNING! WARNING! Danger Will Robinson!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 This file was not updated for the 19.14 release and is very out-of-date.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 Our apologies. This situation will be corrected for 19.15. Steven Baur
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 has taken over as the FAQ maintainer and is keeping a very up-to-date
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 copy on the Web at <http://www.miranova.com/~steve/xemacs-faq.html>. Of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 course, it is also available at <http://www.xemacs.org/faq/xemacs-faq.html>.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 Out of date FAQ starts here:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 This is a list of frequently asked questions for XEmacs users and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 maintainers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 You can obtain the latest version of this file by anonymous FTP from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 site @file{ftp.cs.uiuc.edu:/pub/xemacs/faq/xemacs-faq.FORMAT} where FORMAT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 is text, texinfo (the master copy), postscript, dvi, html, info. Note that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53 the html version has 2 files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 Thanks to the many who contributed, especially to JWZ <jwz@@netscape.com> for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 starting this whole wonderful mess... Special thanks to Tim Geisler
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 <tmgeisle@@faui80.informatik.uni-erlangen.de> for the initial texinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 version and to Giacomo Boffi <sboff@@hp735.stru.polimi.it> for the initial
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 HTML version. Other contributors (many left out, unfortunately, due to an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 old mail-purge) include:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 Juergen Nickelsen <nickel@@prz.tu-berlin.de>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 Evelyn Ginsparg <ginsparg@@adra.com>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 d3h554@@foghorn.pnl.gov
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 Marty Hall <hall@@aplcenmp.apl.jhu.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 Richard Caley <rjc@@cogsci.ed.ac.uk>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 fcg@@philabs.Philips.COM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 Stig <stig@@hackvan.com>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 Arup Mukherjee <arup+@@cmu.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 Kevin R. Powell <powell@@csl.ncsa.uiuc.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 Eric Eide <eeide@@cs.utah.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 William G. Dubuque <wgd@@martigny.ai.mit.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 Chris Flatters <cflatter@@nrao.edu>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 John A. Turner <turner@@lanl.gov>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 * top:: XEmacs FAQ
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 * 1. Introductory Questions::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 * 2. Compiling XEmacs::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 * 3. Problems running XEmacs / weird messages::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 * 4. Customization -- Emacs Lisp and the .emacs file::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98 * 5. Customization -- X resources::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 * 6. Changing textual fonts and colors::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 * 7. The modeline::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 * 8. The keyboard::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 * 9. The cursor::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103 * 10. The mouse; cutting and pasting::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104 * 11. Highlighting::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 * 12. The menubar and toolbar::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 * 13. Scrollbars::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 * 14. Frame Geometry::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 * 15. Window/icon title; window manager problems::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 * 16. Editing source code (C mode; Lisp mode; etc.)::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 * 17. Text mode::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111 * 18. Shell mode::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 * 19. Mail; VM; GNUS; BBDB; and related::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 * 20. Printing::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 * 21. Gnuserv::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 * 22. Miscellaneous::.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 @node 1. Introductory Questions, 2. Compiling XEmacs, top, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 @chapter 1. Introductory Questions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 * 1.1.:: 1.1. Preface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 * 1.2.:: 1.2. What is XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 * 1.3.:: 1.3. What is the current version of XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 * 1.4.:: 1.4. Where can I find it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 * 1.5.:: 1.5. Why another version of Emacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 * 1.6.:: 1.6. What do @kbd{M-x}, GNU, etc. mean?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 * 1.7.:: 1.7. Where can I get help for using XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 * 1.8.:: 1.8. Where is the mailing list archived?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 * 1.9.:: 1.9. What is InfoDock, how does it relate to XEmacs, and how can I obtain it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136 @node 1.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 @section 1.1. Preface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 This is the introduction to a list of frequently asked questions (FAQ's)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 about XEmacs with answers. This article contains a listing of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 questions; subsequent articles contain the questions and answers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 This is not a substitute for general Emacs questions, and actually
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 includes nothing that might help a novice learn to use Emacs or XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 For that, check out the regular Emacs lists, the tutorial inside of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 XEmacs (look on the Help menu), or the O'Reilly book @cite{Learning GNU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 Emacs}. This FAQ focuses on specific issues regarding XEmacs. If you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 don't find the answer here, perhaps it really is a more general
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 question, and check the GNU Emacs FAQ for more information, as well.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 The FAQ list is posted to reduce the noise level in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 @samp{comp.emacs.xemacs} newsgroup which results from the repetition of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 frequently asked questions, wrong answers to these questions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154 corrections to the wrong answers, corrections to the corrections,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 debate, name calling, etc. Also, it serves as a repository of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 canonical ``best'' answers to these questions. However, if you know a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 better answer or even a slight change that improves an answer, please
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158 tell me!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 If you know the answer of a question is in the FAQ list, please reply to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 the question by e-mail instead of posting. Help reduce noise!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 Please suggest new questions, answers, wording changes, deletions, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 The most helpful form for suggestions is a context diff (i.e. the output
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 of @samp{diff -c}). Include @samp{FAQ} in the subject of messages sent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 to us about the FAQ list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 Please do not send questions to us just because you do not want to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169 disturb a lot of people and you think we would know the answer. We do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170 not have time to answer questions individually and keep up with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 everything else we have to get done.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 Many thanks need to go to all contributors on the old alt.lucid-emacs.*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 and current comp.emacs.xemacs groups. This would never have been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 collected without you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177 Any directories given are usually in reference to the base directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 formed by unpacking XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 @node 1.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 @section 1.2. What is XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 An alternative to GNU Emacs, originally based on an early alpha version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 of FSF's version 19. XEmacs was known as Lucid Emacs through version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 19.10. Almost all features of GNU Emacs are supported in XEmacs (the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 ones that aren't supported are generally implemented in a better way in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 XEmacs). The maintainers of XEmacs actively track changes to GNU Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 while also working to add new features never before seen in Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 @node 1.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 @section 1.3. What is the current version of XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 The current version is 19.13, released on September 1, 1995.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 @node 1.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 @section 1.4. Where can I find it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 The canonical source and binaries is found via anonymous FTP at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 @file{ftp.cs.uiuc.edu:/pub/xemacs}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 <A HREF="ftp://ftp.cs.uiuc.edu/pub/xemacs/">ftp.cs.uiuc.edu:/pub/xemacs/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 @node 1.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 @section 1.5. Why Another Version of Emacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 For a detailed description of the differences between GNU Emacs and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 XEmacs, and a detailed history of XEmacs, see the file @file{etc/NEWS}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215 in the source distribution. However, here is a list of some of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 reasons why we think you might consider using it:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 For a detailed description of the differences between GNU Emacs and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 XEmacs and a detailed history of XEmacs, check out the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 <A HREF="http://xemacs.cs.uiuc.edu/NEWS.html/">NEWS</A> file. However,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 here is a list of some of the reasons why we think you might consider
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 using it:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 It looks nicer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 The XEmacs maintainers are generally more receptive to suggestions than
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 the GNU Emacs maintainers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 Many more bundled packages than GNU Emacs, all properly integrated with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 Binaries are available for many common operating systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 Face support on TTY's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 A built-in toolbar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 Better Motif compliance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 Some internationalization support for European languages. Full MULE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 (Multi-Lingual EMacs) support is being actively worked on.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 Variable-width fonts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249 Variable-height lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 Marginal annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 ToolTalk support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 XEmacs can be used as an Xt widget, and can be embedded within another
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 application
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 Horizontal and vertical scrollbars (using real toolkit scrollbars)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 Better APIs (and performance) for attaching fonts, colors, and other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 properties to text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 The ability to embed arbitrary graphics in a buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 Completely compatible (at the C level) with the Xt-based toolkits
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 @node 1.6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 @section 1.6. What do @kbd{M-x}, GNU, etc. mean?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 This is really a general Emacs question, but a table of some common
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 terms/acronyms is provided here for your convenience.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 See the @cite{GNU Emacs FAQ} for a more complete list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 See the <A HREF="http://www.eecs.nwu.edu/emacs/faq">GNU Emacs FAQ</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 for a more complete list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 @table @samp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 @item BLAT FOOP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 Historical XEmacs error message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 @item C-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 @dfn{C-x} means that the @key{Control} key and the @key{X} key should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 pressed together, like when you use the @key{Shift} key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 @item E-Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 Same as @dfn{Emacs-Lisp}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 @item Emacs-Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 The dialect of Lisp supported by Emacs and XEmacs. You use this to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 customize XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 @item FAQ
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 Frequently asked question(s).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 @item FSF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 The Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 @item GNU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 @dfn{GNU} refers to products written by the Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 @item JWZ
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 Jamie Zawinski <jwz@@netscape.com>, the former maintainer of Lucid Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 (which XEmacs evolved from).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 @item M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 @dfn{M-x} means that the @key{Meta} key and the @key{X} key should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 pressed together, like when you use the @key{Shift} key. Sometimes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 the @key{Meta} key is labelled @samp{Alt} or with a diamond. Some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 keyboards don't have a @key{Meta} key at all; then you can get the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 equivalent by typing the @key{Esc} key followed by the @key{X} key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 @item RMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 Richard Stallman <rms@@gnu.ai.mit.edu>, the author of GNU Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 @item VI
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 An editor used by those heretics that don't subscribe to the Emacs religion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 @node 1.7.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 @section 1.7. Where can I get help for using XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 Probably the easiest way, if everything is installed, is to use info, by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 pressing @kbd{C-h i}, or selecting @samp{Emacs Info} from the Help Menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 Also, @kbd{M-x apropos} will look for commands for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 Try reading this FAQ, examining the regular GNU Emacs FAQ (which can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 found with the Emacs 19 distribution) as well as at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 @file{http://www.eecs.nwu.edu/emacs/faq/} and reading the Usenet group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 <A HREF="http://www.eecs.nwu.edu/emacs/faq/">http://www.eecs.nwu.edu/emacs/faq/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 and reading the Usenet group
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 @samp{comp.emacs.xemacs}. If that does not help, try posting your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 question to @samp{comp.emacs.xemacs}. If you cannot post or read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 Usenet news, there is a corresponding mailing list which is available.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 It can be subscribed to by sending mail to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 xemacs-request@@cs.uiuc.edu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 for subscription information and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343 xemacs@@cs.uiuc.edu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 to send messages to the list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348 To cancel a subscription, YOU MUST use the xemacs-request address.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 Bug reports should be sent to the same locations.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 @node 1.8.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 @section 1.8. Where is the mailing list archived?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 The mailing list is archived in the directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 @file{ftp.cs.uiuc.edu:/pub/xemacs/mlists/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 <A HREF="ftp://ftp.cs.uiuc.edu/pub/xemacs/mlists/">ftp.cs.uiuc.edu:/pub/xemacs/mlists/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 @node 1.9.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 @section 1.9. What is InfoDock, how does it relate to XEmacs, and how can I obtain it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 InfoDock is an integrated productivity toolset, mainly aimed at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 technical people. It is built atop the XEmacs variant of GNU Emacs and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 so has all of the power of Emacs, but with an easier to use and more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 comprehensive menu-based user interface. The next section describes how
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 it differs from XEmacs and GNU Emacs from the Free Software Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 The quickest way to get a feel for InfoDock is to browse the InfoDock
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 Manual, especially the section on tools. This will help you decide
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 whether or not to download InfoDock for local use. This manual is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377 available in gzipped Postscript form, alongside the InfoDock
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 distribution. (See below for FTP retrieval instructions.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 InfoDock is aimed at people who want a free, turn-key productivity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 environment. Although InfoDock is customizable, it is not intended for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 people who like basic versions of Emacs which need to be customized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 extensively for local use; standard Emacs distributions are better for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384 such uses. InfoDock is for those people who want a complete,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 pre-customized environment in one package, which they need not touch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 more than once or twice a year to update to new revisions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 InfoDock is pre-built for SPARCstations running SunOS V4 or V5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 (Solaris). It is intended for use on a color display, although most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 features will work on monochrome monitors. Simply unpack InfoDock
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 according to the instructions in the ID-INSTALL file and you are ready
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392 to run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 The InfoDock Manual is concise, yet sufficient as a user guide for users
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 who have never used an Emacs-type editor before. For users who are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 already familiar with Emacs, it supplements the information in the GNU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 Emacs Manual.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 InfoDock menus are much more extensive and more mature than standard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 Emacs menus. Each menu offers a @samp{Manual} item which displays
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 documentation associated with the menu's functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 Three types of menubars are provided:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 An extensive menubar providing access to global InfoDock commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 Mode-specific menubars tailored to the current major mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 A simple menubar for basic editing to help novices get started with InfoDock.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 Most modes also include mode-specific popup menus. Additionally, region and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 rectangle popup menus are included.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 @samp{Hyperbole}, the everyday information manager, is a core part of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 InfoDock. This provides context-sensitive mouse keys, a rolodex-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 contact manager, programmable hypertext buttons, and an autonumbered
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 outliner with embedded hyperlink anchors.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422 @samp{PIEmail}, the prototype Personalized Information Environment Mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 Tool, is included.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 The @samp{OO-Browser}, a multi-language object-oriented code browser, is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 standard part of InfoDock.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 InfoDock saves a more extensive set of user options than other Emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 versions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 InfoDock inserts a useful file header in many file types, showing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 author, summary, and last modification time of each file. A summary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 program can then be used to summarize all of the files in a directory,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 for easy MANIFEST file creation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 Your working set of buffers is automatically saved and restored (if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 answer yes to a prompt) between InfoDock sessions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440 Refined color choices for code highlighting are provided for both dark and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441 light background display frames.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 The @kbd{C-z} key prefix performs frame-based commands which parallel the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 @kbd{C-x} key prefix for window-based commands.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 The Smart Menu system is included for producing command menus on dumb
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447 terminals. (InfoDock does not yet run on dumb terminals but will in 1995.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 Lisp libraries are better categorized according to function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 Extensions and improvements to many areas of Emacs are included, such as:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 paragraph filling, mail reading with Rmail, shell handling, outlining, code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 highlighting and browsing, and man page browsing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455 InfoDock questions, answers and discussion should go to the mail list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 @samp{infodock@@hub.ucsb.edu}. Use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 @samp{infodock-request@@hub.ucsb.edu} to be added or removed from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 list. Always include your InfoDock version number when sending help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 requests.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 InfoDock is available across the Internet via anonymous FTP. To get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 it, first move to a directory into which you want the InfoDock archive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 files placed. We will call this <DIST-DIR>.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 cd <DIST-DIR>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 FTP to ftp.cs.uiuc.edu (Internet Host ID = 128.174.252.1):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 prompt> ftp ftp.cs.uiuc.edu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 Login as @samp{anonymous} with your own <user-id>@@<site-name> as a password.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 Name (ftp.cs.uiuc.edu): anonymous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479 331 Guest login ok, send your complete e-mail address as password.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 Password: -<your-user-id@@your-domain>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 230 Guest login ok, access restrictions apply.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 Move to the location of the InfoDock archives:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 ftp> cd pub/xemacs/infodock
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 Set your transfer mode to binary:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 ftp> bin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 200 Type set to I.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 Turn off prompting:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500 ftp> prompt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 Interactive mode off.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 Retrieve the InfoDock archives that you want, either by using a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 @samp{get <file>} for each file you want or by using the following to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 get a complete distribution, including all binaries:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 ftp> mget ID-INSTALL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 ftp> mget id-*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 Close the FTP connection:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516 ftp> quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 221 Goodbye.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 Read the @file{ID-INSTALL} file which you just retrieved for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 step-by-step installation instructions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 @node 2. Compiling XEmacs, 3. Problems running XEmacs / weird messages, 1. Introductory Questions, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 @chapter 2. Compiling XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 * 2.1.:: 2.1. What is the best way to compile XEmacs with the netaudio system, since I have got the netaudio system compiled but installed at a weird place, I am not root. Also in the READMEs it does not say anything about compiling with the audioserver?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 @node 2.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 @section 2.1. What is the best way to compile XEmacs with the netaudio system, since I have got the netaudio system compiled but installed at a weird place, I am not root. Also in the READMEs it does not say anything about compiling with the audioserver?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536 You should only need to add some stuff to the configure command line. To tell
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 it to compile in netaudio support:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 --with-sound=both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 (Or @samp{--with-sound=nas} if you don't want native sound support for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 some reason.) To tell it where to find the netaudio includes and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 libraries:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 --site-libraries=WHATEVER
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 --site-includes=WHATEVER
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 Then (fingers crossed) it should compile and it will use netaudio if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 have a server running corresponding to the X server. The netaudio server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 has to be there when XEmacs starts. If the netaudio server goes away and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 another is run, XEmacs should cope (fingers crossed, error handling in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 netaudio isn't perfect).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 BTW, netaudio has been renamed as it has a name clash with something
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 else, so if you see references to NAS or Network Audio System, it's the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 same thing. It also might be found at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 ftp.x.org:/contrib/audio/nas/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 ftp.ncd.com:/pub/ncd/technology/src/nas/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 same thing. It also might be found at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 <A HREF="ftp://ftp.x.org/contrib/audio/nas/">ftp.x.org:/contrib/audio/nas/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 <A HREF="ftp://ftp.ncd.com:/pub/ncd/technology/src/nas/">ftp.ncd.com:/pub/ncd/technology/src/nas/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
574 @node 3. Problems running XEmacs / weird messages, 4. Customization -- Emacs Lisp and the .emacs file, 2. Compiling XEmacs, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575 @chapter 3. Problems running XEmacs / weird messages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 * 3.1.:: 3.1. Help! XEmacs just crashed on me!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579 * 3.2.:: 3.2. When I try to use some particular option of some particular package, I get a cryptic error in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580 * 3.3.:: 3.3. I get tons of translation table syntax error messages during startup. How do I get rid of them?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 * 3.4.:: 3.4. How can I avoid the startup warnings about deducing proper fonts?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 * 3.5.:: 3.5. Help! I can not get XEmacs to display on my Envizex X-terminal!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 * 3.6.:: 3.6. Why do I get weird messages about giftoppm and ppmdither not being found?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 * 3.7.:: 3.7. How can I avoid those messages about deleting excess backup files?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585 * 3.8.:: 3.8. Help! XEmacs just locked up my X server on my Linux box!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
586 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 @node 3.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 @section 3.1. Help! XEmacs just crashed on me!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592 First of all, don't panic. Whenever XEmacs crashes, it tries extremely
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593 hard to auto-save all of your files before dying. (The main time that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 this will not happen is if the machine physically lost power or if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 killed the XEmacs process using @samp{kill -9}.) The next time you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596 try to edit those files, you will be informed that a more recent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597 auto-save file exists. You can use @kbd{M-x recover-file} to retrieve
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 the auto-saved version of the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 Now, XEmacs is not perfect, and there may occasionally be times, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 particular sequences of actions, that cause it to crash. If you can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 come up with a reproducible way of doing this (or even if you have a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 pretty good memory of exactly what you were doing at the time), the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604 maintainers would be very interested in knowing about it. Post a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 message to @samp{comp.emacs.xemacs} or send mail to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 @samp{xemacs@@cs.uiuc.edu}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 If at all possible, include a stack backtrace of the core dump that was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 produced. This shows where exactly things went wrong, and makes it much
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 easier to diagnose problems. To do this, you need to locate the core
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611 file (it's called @samp{core}, and is usually sitting in the directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 that you started XEmacs from, or your home directory if that other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 directory was not writable). Then, go to that directory and execute a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 command like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617 gdb `which xemacs` core
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 and then issue the command @samp{where} to get the stack backtrace.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 (You might have to use @samp{dbx} or some similar debugger in place
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 of @samp{gdb}. If you don't have any such debugger available,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 complain to your system administrator.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 It's possible that a core file didn't get produced, in which case
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 you're out of luck. Go complain to your system administrator and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627 tell him not to disable core files by default. (If you explicitly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 disabled core files, then double shame on you!)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 @node 3.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 @section 3.2. When I try to use some particular option of some particular package, I get a cryptic error in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 If you can't figure out what's going on, try typing @kbd{ESC ESC} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 issuing the command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 (setq debug-on-error t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 and then try and make the error happen again. This will give you a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 backtrace that may be enlightening. If not, try reading farther down in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643 this FAQ; if that fails, you could try posting to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 @samp{comp.emacs.xemacs} (making sure to include the backtrace) and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 someone may be able to help.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 @node 3.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649 @section 3.3. I get tons of translation table syntax error messages during startup. How do I get rid of them?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 There are two causes of this problem. The first usually only strikes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 people using the prebuilt binaries. The culprit in both cases is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 file @file{XKeysymDB}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 The binary cannot find the XKeysymDB file. The location is hardcoded at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 compile time so if the system the binary was built on puts it a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658 different place than your system does, you have problems. To fix, set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 the environment variable @samp{XKEYSYMDB} to the location of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 XKeysymDB file on your system or to the location of the one included
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 with XEmacs which should be at:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 <xemacs_root_directory>/lib/xemacs-19.13/etc/XKeysymDB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 The binary is finding the XKeysymDB but it is out-of-date on your system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 and does not contain the necessary lines. Either ask your system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 administrator to replace it with the one which comes with XEmacs (which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 is the stock R6 version and is backwards compatible) or set your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 @samp{XKEYSYMDB} variable to the location of XEmacs's described above.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 @node 3.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 @section 3.4. How can I avoid the startup warnings about deducing proper fonts?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 This is highly dependent on your installation, but try with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680 following font as your base font for XEmacs and see what it does:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686 More precisely, do the following in your resource file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 Emacs.default.attributeFont: -adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 @node 3.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 @section 3.5. Help! I can not get XEmacs to display on my Envizex X-terminal!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 Try setting the DISPLAY variable using the numeric IP address of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697 host you are running XEmacs from.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 @node 3.6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 @section 3.6. Why do I get weird messages about giftoppm and ppmdither not being found?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 Because they are not. You are probably trying to read some HTML files,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 or using W3-mode as your Web client. To display inline pictures, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705 requires the above programs (which can be found in the netpbm package or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 its older version, pbmplus). The netpbm package can be found at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708 @samp{ftp.x.org}, or any of its mirror sites. It can also be found at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 @samp{ftp.cs.uiuc.edu:/pub/xemacs/aux}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 <A HREF="ftp://ftp.x.org/contrib/utilities/">ftp.x.org:/contrib/utilities/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713 . It can also be found at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714 <A HREF="ftp://ftp.cs.uiuc.edu/pub/xemacs/aux/">ftp.cs.uiuc.edu:/pub/xemacs/aux/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
715 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
716
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
717
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
718 @node 3.7.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
719 @section 3.7. How can I avoid those messages about deleting excess backup files?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 Try the following Emacs-Lisp:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 (setq version-control t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 (setq kept-old-versions 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 (setq kept-new-versions 8)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 (if (string-match "XEmacs\\|Lucid" emacs-version)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 (setq trim-versions-without-asking t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 (setq delete-old-versions t))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733 @node 3.8.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734 @section 3.8. Help! XEmacs just locked up my X server on my Linux box!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736 There have been several reports of the X server locking up under Linux.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737 In all reported cases removing speedo and scaled fonts from the font
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
738 path corrected the problem. This can be done with the command 'xset'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
740 It is possible that using a font server may also solve the problem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
741
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
743
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
744 @node 4. Customization -- Emacs Lisp and the .emacs file, 5. Customization -- X resources, 3. Problems running XEmacs / weird messages, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
745 @chapter 4. Customization -- Emacs Lisp and the .emacs file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
747 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 * 4.1.:: 4.1. How can @file{.emacs} determine which of the family of emacsen I am using?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749 * 4.2.:: 4.2. How can I detect a color display?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
750 * 4.3.:: 4.3. How can I evaluate emacs-lisp expressions without switching to the *scratch* buffer?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
751 * 4.4.:: 4.4. If you put (setq tab-width 6) in your @file{.emacs} file it does not work! Is there a reason for this. If you do it at the EVAL prompt it works fine!! How strange.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752 * 4.5.:: 4.5. How can I add directories to the load-path?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753 * 4.6.:: 4.6. How to check if a lisp function is defined or not?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754 * 4.7.:: 4.7. Can I force the output of (list-faces) to a buffer other than the minibuffer since it is too wide to fit?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
757
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
758 @node 4.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
759 @section 4.1. How can @file{.emacs} determine which of the family of Emacsen I am using?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761 To determine if you are currently running GNU Emacs 18, GNU Emacs 19,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 XEmacs 19, or Epoch, and use appropriate code, check out the example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763 given in @file{etc/sample.emacs}. There are other nifty things in there
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764 as well! Alternatively, there is a package, @file{emacs-vers.el},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765 available at an Emacs-Lisp archive near you; try searching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768 archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive/misc/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
769 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772 @node 4.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 @section 4.2. How can I detect a color display?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 You can test the return value of the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776 @code{(device-class)}, as in:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
779 (if (eq (device-class) 'color)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780 (progn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 (set-face-foreground 'font-lock-comment-face "Grey")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782 (set-face-foreground 'font-lock-string-face "Red")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 ....
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 ))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 @node 4.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 @section 4.3. How can I evaluate Emacs-Lisp expressions without switching to the *scratch* buffer?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792 (put 'eval-expression 'disabled nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 This sets it so that hitting @kbd{ESC ESC} lets you type a single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 expression to be evaluated. This line can also be put into your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797 @file{.emacs}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 @node 4.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 @section 4.4. If you put (setq tab-width 6) in your @file{.emacs} file it does not work! Is there a reason for this. If you do it at the EVAL prompt it works fine!! How strange.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 Use setq-default, since tab-width is all-buffer-local.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 @node 4.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 @section 4.5. How can I add directories to the load-path?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 Here are two ways to do that, one that puts your directories at the front of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810 the load-path, the other at the end:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 ;;; Add things at the beginning of the load-path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 (setq load-path (cons "bar" load-path))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 (setq load-path (cons "foo" load-path))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817 ;;; Add things at the end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818 (setq load-path (append load-path '("foo" "bar")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822 @node 4.6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 @section 4.6. How to check if a lisp function is defined or not?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825 Use the following elisp:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
828 (fboundp 'foo)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831 It's always a mistake, under all circumstances, to test `emacs-version' or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832 any similar variables, in case they are not bound, unless you do the above.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 Instead, use feature-tests, such as featurep or boundp or fboundp, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 even simple behavioural tests, eg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 (defvar foo-old-losing-code? (condition-case nil (progn (losing-code t) nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 (wrong-number-of-arguments t)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 There is an incredible amount of broken code out there which could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 work much better more often in more places if it did the above instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841 of trying to divine its environment from the value of one variable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
844 @node 4.7.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845 @section 4.7. Can I force the output of (face-list) to a buffer other than the minibuffer since it is too wide to fit?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847 Evaluate the expression in the "*scratch*" buffer with point on the rightmost
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 paren and typing @kbd{C-j}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852 @node 5. Customization -- X resources, 6. Changing textual fonts and colors, 4. Customization -- Emacs Lisp and the .emacs file, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 @chapter 5. Customization -- X resources
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 * 5.1.:: 5.1. Where is a list of X resources?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860 @node 5.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 @section 5.1. Where is a list of X resources?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
862
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863 Search through the NEWS file for ``X Resources''. A fairly comprehensive list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864 is given after it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 In addition, an app-defaults file is supplied, @file{etc/Emacs.ad},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 listing the defaults. The file @file{etc/sample.Xdefaults} gives a set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 of defaults that you might consider. It is essentially the same as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869 @file{etc/Emacs.ad} but some entries are slightly altered. Be careful
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 about installing the contents of this file into your @file{.Xdefaults}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871 (.Xresources) file if you use FSF GNU Emacs under X11 as well.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 @node 6. Changing textual fonts and colors, 7. The modeline, 5. Customization -- X resources, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 @chapter 6. Changing textual fonts and colors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879 * 6.1.:: 6.1. How do I set the text, menu and modeline fonts?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 * 6.2.:: 6.2. How can I set the background/foreground colors when highlighting a region?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 * 6.3.:: 6.3. How can I set the most commonly used color options from my @file{.emacs} instead of from my @file{.Xdefaults}?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885 @node 6.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886 @section 6.1. How do I set the text, menu and modeline fonts?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 Note that you should use @samp{Emacs.} and not @samp{Emacs*} when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 setting face values.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 In @file{.Xdefaults}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 Emacs*menubar*font: fixed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 Emacs.modeline.attributeFont: fixed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 This is confusing because modeline is a face, and can be found listed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900 with all faces in the current mode by using M-x set-face-font (enter) ?.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 It uses the face specification of "attributeFont", while menubar is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902 normal X thing that uses the specification "font". With Motif it may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903 necessary to use "fontList" instead of "font". (Please rewrite this if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904 you understand this better than me ... A general description of faces
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
905 would be very useful. I am just saying that menubar is a FAQ because
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
906 it's not a face and not listed.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
907
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
908
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
909 @node 6.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
910 @section 6.2. How can I set the background/foreground colors when highlighting a region?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
912 You can change the face `zmacs-region' either in your @file{.Xdefaults}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
915 Emacs.zmacs-region.attributeForeground: firebrick
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916 Emacs.zmacs-region.attributeBackground: lightseagreen
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
918
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919 or in your @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
921 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922 (set-face-background 'zmacs-region "red")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
923 (set-face-foreground 'zmacs-region "yellow")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
924 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927 @node 6.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928 @section 6.3. How can I set the most commonly used color options from my @file{.emacs} instead of from my @file{.Xdefaults}?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
931 (set-face-background 'default "bisque") ; frame background
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932 (set-face-foreground 'default "black") ; normal text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933 (set-face-background 'zmacs-region "red") ; When selecting w/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 ; mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 (set-face-foreground 'zmacs-region "yellow")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936 (set-face-font 'default "*courier-bold-r*120-100-100*")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937 (set-face-background 'highlight "blue") ; Ie when selecting buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 (set-face-foreground 'highlight "yellow")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 (set-face-background 'modeline "blue") ; Line at bottom of buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 (set-face-foreground 'modeline "white")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 (set-face-font 'modeline "*bold-r-normal*140-100-100*")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 (set-face-background 'isearch "yellow") ; When highlighting while
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 ; searching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944 (set-face-foreground 'isearch "red")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 (setq x-pointer-foreground-color "black") ; Adds to bg color,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 ; so keep black
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 (setq x-pointer-background-color "blue") ; This is color you really
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 ; want ptr/crsr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952 @node 7. The modeline, 8. The keyboard, 6. Changing textual fonts and colors, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 @chapter 7. The modeline
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956 * 7.1.:: 7.1. How can I make the modeline go away?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 * 7.2.:: 7.2. How do you have XEmacs display the line number in the modeline?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 * 7.3.:: 7.3. How do I get XEmacs to put the time of day on the modeline?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 * 7.4.:: 7.4. How can one change the color of the modeline based on the mode used? i.e. red for C mode, green for TeX mode etc.?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963 @node 7.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 @section 7.1. How can I make the modeline go away?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966 (set-specifier has-modeline-p nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969 @node 7.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 @section 7.2. How do you have XEmacs display the line number in the modeline?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
971
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972 Add the following line to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975 (setq line-number-mode t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979 @node 7.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980 @section 7.3. How do I get XEmacs to put the time of day on the modeline?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 (display-time)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
986
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987 @node 7.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
988 @section 7.4. How can one change the color of the modeline based on the mode used? i.e. red for C mode, green for TeX mode etc.?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 You can use something like the following:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
992 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993 (add-hook 'lisp-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 '(lambda () (set-face-background 'modeline "red" (current-buffer))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 (set-face-foreground 'modeline "yellow" (current-buffer))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
997
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998 Then, when editing a Lisp file (ie went into Lisp mode), the modeline
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999 colors change from the default set in your @file{.emacs}. The change
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 will only be made in the buffer you just entered (which contains the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 Lisp file you are editing) and will not affect the modeline colors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002 anywhere else.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1004 Notes:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 The hook is the mode name plus "-hook". Ie c-mode-hook, c++-mode-hook,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 emacs-lisp-mode-hook (ie your @file{.emacs} or a xx.el file),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010 lisp-interaction-mode-hook (the *scratch* buffer), text-mode-hook, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012 Be sure to use add-hook, not (setq c-mode-hook xxxx), otherwise you will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013 erase anything that anybody has already put on the hook.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 You can also do (set-face-font 'modeline @code{font}), eg (set-face-font
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 'modeline "*bold-r-normal*140-100-100*" (current-buffer)) if you wish
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 the modeline font to vary based on the current mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 @node 8. The keyboard, 9. The cursor, 7. The modeline, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 @chapter 8. The keyboard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025 * 8.1.:: 8.1. What is the difference in in key sequences between XEmacs and GNU Emacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 * 8.2.:: 8.2. How can I make XEmacs recognize the Alt key of my HP workstation as a Meta key?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 * 8.3.:: 8.3. How can I stop the down-arrow-key from adding empty lines at the bottom of my buffers?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 * 8.4.:: 8.4. I wonder if there is an interactive function that can generate "fake" keyboard events. This way, I could simply map them inside XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029 * 8.5.:: 8.5. I am trying to bind C-. to scroll up by one line and C-; to scroll down by one line...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 * 8.6.:: 8.6. I cannot manage to globally bind my @key{Delete} key to something other than the default. How does one do this?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 * 8.7.:: 8.7. How can I bind complex functions (or macros) to keys?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032 * 8.8.:: 8.8. Can the cursor keys scroll the screen a line at a time, rather than the default half page jump? I tend it to find it disorienting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 * 8.9.:: 8.9. How to map "Help" key alone on Sun type4 keyboard?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 * 8.10.:: 8.10. How can you type in special characters in XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038 @node 8.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 @section 8.1. What is the difference in in key sequences between XEmacs and GNU Emacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 The real question might be rephrased as "When should one use the quoted list,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 vector, or escaped string representations of key sequences?" Is there any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 particular advantage to one representation over another?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 From Richard Mlynarik <mly@@adoc.xerox.com>:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 @table @asis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 @item (meta a)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049 is a convenience shorthand for the sequence @code{[(meta a)]}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 @code{(global-set-key 'a 'foo)} means the same thing as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051 @code{(global-set-key '[a] 'foo)}. It could be argued that allowing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 such a shorthand just leads to sloppiness and bugs, but it's there, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 it isn't likely to go away.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 @item [(meta a)]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 is The Right Thing. It corresponds in a one-to-one way with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 internal representation of key-sequences in keymaps.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059 @item [Meta-a]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 is typical FSF Emacs 19 brain damage. As is usual, an existing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 functional design is ignored (XEmacs) and an incompatible and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062 technically worse kludge is used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 @item "\ea"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065 is compatible with Emacs 18, but suffers from ASCII Seven-Bit Brain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 Damage. I also find it harder to read. Use this if you're trying to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 write code which works in every Emacs, but be aware that you can not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 express all Possible key-sequences (@kbd{control-9}, @kbd{f1}, etc.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 using this.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 @node 8.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 @section 8.2. How can I make XEmacs recognize the Alt key of my HP workstation as a Meta key?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 Put the following line into a file and load it with xmodmap(1) before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078 starting XEmacs:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 remove Mod1 = Mode_switch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 @node 8.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086 @section 8.3. How can I stop the down-arrow-key from adding empty lines at the bottom of my buffers?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 Add the following line to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091 (setq next-line-add-newlines nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095 @node 8.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096 @section 8.4. I wonder if there is an interactive function that can generate "fake" keyboard events. This way, I could simply map them inside XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098 This seems to work:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 (defun cg--generate-char-event (ch)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101 "Generate an event, as if ch has been typed"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 (dispatch-event (character-to-event ch)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 ;; Backspace and Delete stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 (global-set-key '(backspace)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106 '(lambda () (interactive) (cg--generate-char-event 127)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 (global-set-key '(unknown_keysym_0x4)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 '(lambda () (interactive) (cg--generate-char-event 4)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112 @node 8.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 @section 8.5. I am trying to bind C-. to scroll up by one line and C-; to scroll down by one line...
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 Add the following (Thanks to Richard Mlynarik <mly@@adoc.xerox.com> and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116 Wayne Newberry <wayne@@zen.cac.stratus.com>) to @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119 (defun scroll-up-one-line ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 (scroll-up 1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123 (defun scroll-down-one-line ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 (scroll-down 1))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 The key point is that you can only bind simple functions to keys; you can not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 bind a key to a function that you're also passing arguments to. (See <A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 HREF="#ss8.7">8.7 How can I bind complex functions</A> for a better answer.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135 @c Fix the above HTML specifier reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137 @node 8.6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138 @section 8.6. I cannot manage to globally bind my @key{Delete} key to something other than the default. How does one do this?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 (defun Foo ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142 (interactive)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143 (message "You hit DELETE"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145 (global-set-key "\C-?" 'Foo)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 However, some modes explicitly bind @key{Delete}, so you would need to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 add a hook that does @code{local-set-key} for them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1150
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152 @node 8.7.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1153 @section 8.7. How can I bind complex functions (or macros) to keys?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1155 As an example, say you want the PASTE key on a Sun keyboard to insert the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156 current Primary X selection at point. You can accomplish this with:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1158 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1159 (define-key global-map 'f18 'x-insert-selection)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1160 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1161
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162 However, this only works if there is a current X selection (the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163 selection will be highlighted). The functionality I like is for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164 PASTE key to insert the current X selection if there is one, otherwise
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 insert the contents of the clipboard. To do this you need to pass
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 arguments to x-insert-selection. This is done by wrapping the call in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167 'lambda form:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1168
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1169 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170 (define-key global-map 'f18
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 (function (lambda () (interactive) (x-insert-selection t nil))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174 This binds the 'f18 key to a "generic" functional object. The interactive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1175 spec is required because only interactive functions can be bound to keys.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176 Also take a look at the doc for "function".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178 For the FAQ example you could use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181 (global-set-key [(control ?.)]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182 (function (lambda () (interactive) (scroll-up 1))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 (global-set-key [(control ?;)]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184 (function (lambda () (interactive) (scroll-up -1))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1185 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1186
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187 This is fine if you only need a few functions within the lambda body. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188 you're doing more it's cleaner to define a separate function as in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189 original FAQ example (<A HREF="#ss11.3">question 11.3</A>).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191 @c Fix the above HTML specifier reference
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 @node 8.8.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194 @section 8.8. Can the cursor keys scroll the screen a line at a time, rather than the default half page jump? I tend it to find it disorienting.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196 Try this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1199 (defun scroll-one-line-up (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200 "Scroll the selected window up (forward in the text) one line (or N lines)."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 (interactive "p")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 (scroll-up (or arg 1)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 (defun scroll-one-line-down (&optional arg)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205 "Scroll the selected window down (backward in the text) one line (or N)."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206 (interactive "p")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 (scroll-down (or arg 1)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209 (global-set-key 'up 'scroll-one-line-up)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210 (global-set-key 'down 'scroll-one-line-down)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1211 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1213 The following will also work but will affect more than just the cursor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1214 keys (i.e. C-n and C-p):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1216 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1217 (setq scroll-step 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1218 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1219
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1220 @node 8.9.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221 @section 8.9. How to map "Help" key alone on Sun type4 keyboard?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223 The following works in GNU Emacs 19:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226 (global-set-key [help] 'help-command) ;; Help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229 The following works in XEmacs 19.13 with the addition of shift:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232 (global-set-key [(shift help)] 'help-command) ;; Help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 But it doesn't work alone. This is in the file @file{PROBLEMS} which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236 should have come with your XEmacs installation:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238 @emph{Emacs ignores the @key{help} key when running OLWM}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240 OLWM grabs the @key{help} key, and retransmits it to the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 client using XSendEvent. Allowing Emacs to react to synthetic events is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1242 a security hole, so this is turned off by default. You can enable it by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1243 setting the variable x-allow-sendevents to t. You can also cause fix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1244 this by telling OLWM to not grab the help key, with the null binding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1245 @samp{OpenWindows.KeyboardCommand.Help:}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1247
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1248 @node 8.10.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249 @section 8.10. How can you type in special characters in XEmacs?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251 One way is to use the package @file{x-compose}. Then you can use sequences
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252 like @kbd{Compose " a} to get d (a-umlaut), etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1255
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1256 @node 9. The cursor, 10. The mouse; cutting and pasting, 8. The keyboard, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1257 @chapter 9. The cursor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1258
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1259 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1260 * 9.1.:: 9.1. Is there a way to make the bar cursor a little thicker than one-pixel thick since I lose it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1261 * 9.2.:: 9.2. On the same subject -- is there a way to get back the old "block" cursor where the cursor covers the character in front of the point?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1262 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1263
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1264
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1265 @node 9.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1266 @section 9.1. Is there a way to make the bar cursor a little thicker than one-pixel thick since I lose it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1268 For a 1 pixel bar cursor, use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1269
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1270 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1271 (setq bar-cursor t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1272 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1273
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1274 For a 2 pixel bar cursor, use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1275
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1276 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1277 (setq bar-cursor 'anything-else)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1278 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1279
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1280 You can use a color to make it stand out better:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1282 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1283 Emacs*cursorColor: Red
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1284 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1286
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1287 @node 9.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1288 @section 9.2. On the same subject -- is there a way to get back the old "block" cursor where the cursor covers the character in front of the point?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1290 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1291 (setq bar-cursor nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1292 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1294
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1295
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1296 @node 10. The mouse; cutting and pasting, 11. Highlighting, 9. The cursor, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1297 @chapter 10. The mouse; cutting and pasting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1299 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1300 * 10.1.:: 10.1. I keep hitting the middle mouse button by accident and getting stuff pasted into my buffer so how can I turn this off?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1301 * 10.2.:: 10.2. How do I set control/meta/etc modifiers on mouse buttons?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1302 * 10.3.:: 10.3. I do "^x ^b" to get a list of buffers and the entries get highlighted when I move the mouse over them but clicking the left mouse does not do anything.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1303 * 10.4.:: 10.4. How can I get a list of buffers to popup when I hit button 3 on the mouse?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1304 * 10.5.:: 10.5. Why does cut-and-paste not work between XEmacs and a cmdtool?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1305 * 10.6.:: 10.6. How I can set XEmacs up so that it pastes where the cursor is _not_ where the pointer lies?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1306 * 10.7.:: 10.7. How do I select a rectangular region?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1307 * 10.8.:: 10.8. Why does M-w take so long?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1308 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1309
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1311 @node 10.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1312 @section 10.1. I keep hitting the middle mouse button by accident and getting stuff pasted into my buffer so how can I turn this off?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1313
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314 Here is an alternative binding, whereby the middle mouse button selects (but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1315 does not cut) the expression under the mouse. Clicking middle on a left or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1316 right paren will select to the matching one. Note that you can use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1317 @code{define-key} or @code{global-set-key}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1318
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1319 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1320 (defun Mouse-Set-Point-and-Select (event)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1321 "Sets the point at the mouse location, then marks following form"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1322 (interactive "@@e")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1323 (mouse-set-point event)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1324 (mark-sexp 1)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1325 )
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1326 (define-key global-map 'button2 'Mouse-Set-Point-and-Select)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1327 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1328
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1329 @c Get this fixed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1330 (Editor's Note -- there is a problem with texinfo/text/html conversion, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1331 the double at-sign should only be a single, above. I'll fix it one of these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1332 days -- AJR)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1333
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1334
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1335 @node 10.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1336 @section 10.2. How do I set control/meta/etc modifiers on mouse buttons?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1338 Use, for instance, @code{[(meta button1)]}. For example, here is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1339 common setting for Common Lisp programmers who use the bundled ilisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1340 package, whereby meta-button1 on a function name will find the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1341 where the function name was defined, and put you at that location in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1342 the source file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1343
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1344 [Inside a function that gets called by the lisp-mode-hook and ilisp-mode-hook]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1345 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1346 (local-set-key [(meta button1)] 'edit-definitions-lisp)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1347 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1349
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1350 @node 10.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1351 @section 10.3. I do "^x ^b" to get a list of buffers and the entries get highlighted when I move the mouse over them but clicking the left mouse does not do anything.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1352
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1353 Use the middle mouse button.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1354
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1356 @node 10.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1357 @section 10.4. How can I get a list of buffers to popup when I hit button 3 on the mouse?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1358
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1359 The following code will actually replace the default popup on button3:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1360
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1361 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1362 (defun cw-build-buffers ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363 "Popup buffer menu."
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364 (interactive "@@")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 (run-hooks 'activate-menubar-hook)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1366 (popup-menu (car (find-menu-item current-menubar '("Buffers")))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1367
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1368 (define-key global-map [(button3)] 'cw-build-buffers)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1369 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371 @c Get this fixed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1372
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 (Editor's Note -- there is a problem with texinfo/text/html conversion, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1374 the double at-sign should only be a single, above. I'll fix it one of these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1375 days -- AJR)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1378 @node 10.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1379 @section 10.5. Why does cut-and-paste not work between XEmacs and a cmdtool?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1380
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1381 We don't know. It's a bug. There does seem to be a work-around,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1382 however. Try running xclipboard first. It appears to fix the problem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1383 even if you exit it. (This should be mostly fixed in 19.13, but we
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1384 haven't yet verified that).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1385
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1386
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1387 @node 10.6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1388 @section 10.6. How I can set XEmacs up so that it pastes where the cursor is _not_ where the pointer lies?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1389
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1390
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1391 Try adding the following to your @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1392
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1393 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1394 (define-key global-map 'button2 'x-insert-selection)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1395 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1396
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1397 This comes from the @file{sample.emacs} file in @file{etc/}, which has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1398 lots of goodies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1399
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1400
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1401 @node 10.7.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1402 @section 10.7. How do I select a rectangular region?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1403
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1405 Just select the region normally, then use the rectangle commands (e.g.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406 @code{kill-rectangle}) on it. The region does not highlight as a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1407 rectangle, but the commands work just fine.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1409 To actually sweep out rectangular regions with the mouse do the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1410 following:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1411
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1412 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1413 (setq mouse-track-rectangle-p t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1414 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1415
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1416
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1417 @node 10.8.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1418 @section 10.8. Why does M-w take so long?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1419
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1420 It actually doesn't. It leaves the region visible for a second so that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1421 you can see what area is being yanked. If you start working, though, it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1422 will immediately complete its operation. In other words, it will only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1423 delay for a second if you let it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1424
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1425
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1426 @node 11. Highlighting, 12. The menubar and toolbar, 10. The mouse; cutting and pasting, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1427 @chapter 11. Highlighting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1428
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1429 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1430 * 11.1.:: 11.1. How can I highlight selections?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1431 * 11.2.:: 11.2. How do I get a pending-delete type of behavior?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1432 * 11.3.:: 11.3. I do not like my text highlighted while I am doing isearch as I am not able to see whats underneath. How do I turn it off?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1433 * 11.4.:: 11.4. The text gets highlighted when I do C-x C-p (mark-page). Is there a way to turn this feature off?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1434 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1435
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1436
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1437 @node 11.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1438 @section 11.1. How can I highlight selections?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1439
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1440 Use zmacs mode. This mode allows for what some might call gratuitous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1441 highlighting for selected regions (either by setting mark or by using the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1442 mouse). To use, add the following line to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1444 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1445 (setq zmacs-regions t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1446 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1447
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1448 This is the default behavior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1449
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1450
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1451 @node 11.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1452 @section 11.2. How do I get a pending-delete type of behavior?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1453
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1454 @dfn{Pending delete} is what happens when you select a region (with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1455 mouse or keyboard) and you press a key to replace the selected region by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1456 the key you typed. Usually backspace kills the selected region.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1457
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1458 To get this behavior, add the following line to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1459
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1460 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1461 (require 'pending-del)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1462 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1463
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1464
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465 @node 11.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1466 @section 11.3. I do not like my text highlighted while I am doing isearch as I am not able to see whats underneath. How do I turn it off?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 (setq isearch-highlight nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1470 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 Note also that isearch-highlight affects query-replace and ispell. Instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473 of disabling isearch-highlight you may find that a better solution consists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474 of customizing the 'isearch' face.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1476
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477 @node 11.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1478 @section 11.4. The text gets highlighted when I do C-x C-p (mark-page). Is there a way to turn this feature off?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1479
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481 (setq zmacs-regions nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1482 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1486 @node 12. The menubar and toolbar, 13. Scrollbars, 11. Highlighting, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1487 @chapter 12. The menubar and toolbar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1488
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1489 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490 * 12.1.:: 12.1. How do I get rid of the menu (or menubar) ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1491 * 12.2.:: 12.2. Can I customize the basic menubar?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492 * 12.3.:: 12.3. What controls how many buffers are listed in the menu "Buffers" list?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1493 * 12.4.:: 12.4. I am trying to use a resource like @code{Emacs*menubar*font} to set the font of the menubar but it's not working.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1498 @node 12.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499 @section 12.1. How do I get rid of the menu (or menubar) ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501 Answer: To get rid of the menubar, add to @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1502
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1503 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1504 (set-menubar nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1505 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1506
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1508 @node 12.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1509 @section 12.2. Can I customize the basic menubar?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1510
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1511 For an extensive menubar, add the line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1513 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1514 (load "big-menubar")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1515 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1516
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1517 to your @file{.emacs} file. If you'd like to write your own, this file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1518 provides a good set of examples to start from:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1519
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1520 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1521 lisp/packages/big-menubar.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1522 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1523
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1524 (starting from your system XEmacs installation directory).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1525
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1526
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1527 @node 12.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1528 @section 12.3. What controls how many buffers are listed in the menu "Buffers" list?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1530 Add the following to your @file{.emacs}, modified as needed:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1531
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1532 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1533 (setq buffers-menu-max-size 20)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1534 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1535
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1536 If you do not want a limit, try
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1537
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1538 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 (setq buffers-menu-max-size nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1542
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543 @node 12.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544 @section 12.4. I am trying to use a resource like @code{Emacs*menubar*font} to set the font of the menubar but it's not working.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546 If you are using the real Motif menubar, this resource is not recognized;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 you have to say
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1549 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550 Emacs*menubar*fontList: FONT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1551 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553 If you are using the Lucid menubar, the former resource will be recognized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 only if the latter resource is unset. This means that the resource
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1556 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 *fontList: FONT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560 will override
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 Emacs*menubar*font: FONT
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1564 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1565
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566 even though the latter is more specific.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1569 @node 13. Scrollbars, 14. Frame Geometry, 12. The menubar and toolbar, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570 @chapter 13. Scrollbars
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 * 13.1.:: 13.1. How can I disable the scrollbar?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1574 * 13.2.:: 13.2. How can one use resources to change scrollbar colors?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575 * 13.3.:: 13.3. When I move the scrollbar in an XEmacs window, it moves the point as well, which should not be the default behavior. Is this a bug or a feature? Can I disable it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1576 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1577
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1578
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1579 @node 13.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1580 @section 13.1. How can I disable the scrollbar?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1581
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1582 To turn disable them for all frames, add the following line to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1583 your @file{.Xdefaults}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1584
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1585 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1586 Emacs.scrollBarWidth: 0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1587 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1588
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1589 To turn the scrollbar off on a per-frame basis, use the following function:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1590
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1591 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1592 (set-specifier scrollbar-width (cons (selected-frame) 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1593 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1594
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1595 You can actually turn the scrollbars on at any level you want by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1596 substituting for (selected-frame) in the above command. For example, to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1597 turn the scrollbars off only in a single buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1599 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1600 (set-specifier scrollbar-width (cons (current-buffer) 0))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1601 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1603
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1604 @node 13.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1605 @section 13.2. How can one use resources to change scrollbar colors?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1606
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1607 Here's a recap of how to use resources to change your scrollbar colors:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1608
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1609 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1610 ! Motif scrollbars
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1612 Emacs*XmScrollBar.Background: skyblue
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1613 Emacs*XmScrollBar.troughColor: lightgray
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1614
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1615 ! Athena scrollbars
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1616
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1617 Emacs*Scrollbar.Foreground: skyblue
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1618 Emacs*Scrollbar.Background: lightgray
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1619 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1620
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1621 Note the capitalization of @samp{Scrollbar} for the Athena widget.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1622
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624 @node 13.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1625 @section 13.3. When I move the scrollbar in an XEmacs window, it moves the point as well, which should not be the default behavior. Is this a bug or a feature? Can I disable it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627 The current behavior is a feature, not a bug. Point remains at the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1628 buffer position as long as that position does not scroll off the screen. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 that event, point will end up in either the upper-left or lower-left hand
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1630 corner.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1631
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1632
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1634 @node 14. Frame Geometry, 15. Window/icon title; window manager problems, 13. Scrollbars, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1635 @chapter 14. Frame Geometry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1636
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1637 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1638 * 14.1.:: 14.1. In Lucid Emacs 19.6 I did @code{(set-screen-width @var{characters})} and @code{(set-screen-height @var{lines})} in my @file{.emacs} instead of specifying @samp{Emacs*EmacsScreen.geometry} in my @file{.Xdefaults} but this does not work in XEmacs 19.13.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1639 * 14.2.:: 14.2. In XEmacs 19.11 I specified @samp{Emacs*EmacsScreen.geometry} in my @file{.emacs} but this does not work in XEmacs 19.13.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1640 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1641
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1642
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1643 @node 14.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1644 @section 14.1. In Lucid Emacs 19.6 I did @code{(set-screen-width @var{characters})} and @code{(set-screen-height @var{lines})} in my @file{.emacs} instead of specifying @samp{Emacs*EmacsScreen.geometry} in my @file{.Xdefaults} but this does not work in XEmacs 19.13.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1645
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1646 These two functions now take frame arguments:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1647
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1648 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1649 (set-frame-width (selected-frame) @var{characters})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1650 (set-frame-height (selected-frame) @var{lines})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1651 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1652
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1653 @node 14.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1654 @section 14.2. In XEmacs 19.11 I specified @samp{Emacs*EmacsScreen.geometry} in my @file{.emacs} but this does not work in XEmacs 19.13.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1656 We have switched from using the term 'screen' to using the term 'frame'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1657 The correct entry for your @file{.Xdefaults} is now:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1659 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1660 Emacs*EmacsFrame.geometry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1661 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1663
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1664 @node 15. Window/icon title; window manager problems, 16. Editing source code (C mode; Lisp mode; etc.), 14. Frame Geometry, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1665 @chapter 15. Window/icon title; window manager problems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1667 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1668 * 15.1.:: 15.1. How can I get the icon to just say @samp{XEmacs} and not include the name of the current file in it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1669 * 15.2.:: 15.2. How can I have the window title area display the full directory/name of the current buffer file and not just the name?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1670 * 15.3.:: 15.3. When I run @samp{xterm -name junk} I get an xterm whose class name according to xprop, is @samp{junk}. This is the way it's supposed to work, I think. When I run @samp{xemacs -name junk} the class name is not set to @samp{junk}. It's still @samp{emacs}. What does @samp{xemacs -name} really do? The reason I ask is that my window manager (fvwm) will make a window sticky and I use XEmacs to read my mail. I want that XEmacs window to be sticky, without having to use the window manager's function to set the window sticky. What gives?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1671 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1672
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1673
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1674 @node 15.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1675 @section 15.1. How can I get the icon to just say @samp{XEmacs} and not include the name of the current file in it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1676
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1677 Add the following line to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1678
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1679 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1680 (setq frame-icon-title-format "XEmacs")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1681 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1682
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1683
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1684 @node 15.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1685 @section 15.2. How can I have the window title area display the full directory/name of the current buffer file and not just the name?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1686
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1687 Add the following line to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1688
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1689 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1690 (setq frame-title-format "%S: %f")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1691 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1692 A more sophisticated title might be:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1693
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1694 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1695 (setq frame-title-format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1696 '("%S: " (buffer-file-name "%f" (dired-directory dired-directory "%b"))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1697 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1699 That is, use the file name, or the dired-directory, or the buffer name.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1700
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1702 @node 15.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1703 @section 15.3. When I run @samp{xterm -name junk} I get an xterm whose class name according to xprop, is @samp{junk}. This is the way it's supposed to work, I think. When I run @samp{xemacs -name junk} the class name is not set to @samp{junk}. It's still @samp{emacs}. What does @samp{xemacs -name} really do? The reason I ask is that my window manager (fvwm) will make a window sticky and I use XEmacs to read my mail. I want that XEmacs window to be sticky, without having to use the window manager's function to set the window sticky. What gives?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1704
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1705 @samp{xemacs -name} sets the application-name for the program (that is,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1706 the thing which normally comes from @code{argv[0]}.) Using @samp{-name}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1707 is the same as making a copy of the executable with that new name. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1708 WM_CLASS property on each frame is set to the frame-name, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1709 application-class. So, if you did @samp{xemacs -name FOO} and then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1710 created a frame named @samp{BAR}, you'd get an X window with WM_CLASS =
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1711 @samp{( "BAR", "Emacs")}. However, the resource hierarchy for this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1712 widget would be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1713
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1714 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1715 Name: FOO .shell. .pane .BAR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1716 Class: Emacs.TopLevelShell.XmMainWindow.EmacsFrame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1717 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1718
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1719 instead of the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1720
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1721 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1722 Name: xemacs.shell. .pane .emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1723 Class: Emacs .TopLevelShell.XmMainWindow.EmacsFrame
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1724 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1726 It is arguable that the first element of WM_CLASS should be set to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1727 application-name instead of the frame-name, but I think that's less
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1728 flexible, since it does not give you the ability to have multiple
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1729 frames with different WM_CLASS properties. Another possibility would
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1730 be for the default frame name to come from the application name instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1731 of simply being @samp{emacs}. However, at this point, making that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1732 change would be troublesome: it would mean that many users would have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1733 make yet another change to their resource files (since the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1734 frame name would suddenly change from @samp{emacs} to @samp{xemacs}, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1735 whatever the executable happened to be named), so we'd rather avoid it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1736
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1737 To make a frame with a particular name use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1738
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1739 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1740 (make-frame '((name . "the-name")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1741 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1742
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1743
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1744
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1745 @node 16. Editing source code (C mode; Lisp mode; etc.), 17. Text mode, 15. Window/icon title; window manager problems, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1746 @chapter 16. Editing source code (C mode; Lisp mode; etc.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1747
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1748 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1749 * 16.1.:: 16.1. How can I do source code highlighting using font-lock?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1750 * 16.2.:: 16.2. How do you arrange it so that XEmacs indents all the clauses of a Common Lisp @code{if} the same amount instead of indenting the 3rd clause differently from the first two?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1751 * 16.3.:: 16.3. I do not like cc-mode. How do I use the old c-mode?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1752 * 16.4.:: 16.4. When I try to edit a postscript file it gets stuck saying: fontifying 'filename' (regexps....) and it just sits there. If I press ctrl-c in the window where XEmacs was started, it suddenly becomes alive again.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1753 * 16.5.:: 16.5. Does anyone know how to get the "More" Syntax Highlighting on by default?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1754 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1755
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1756
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1757 @node 16.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1758 @section 16.1. How can I do source code highlighting using font-lock?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1759
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1760 For most modes, font-lock is already set up and just needs to be turned
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1761 on. This can be done by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1762
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1763 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1764 M-x font-lock-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1765 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1767 or by having XEmacs automatically start it by adding lines like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1768
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1769 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1770 (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1771 (add-hook 'dired-mode-hook 'turn-on-font-lock)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1772 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1773
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1774 to your @file{.emacs}. See the file @code{etc/sample.emacs} for more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1775 examples.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1778 @node 16.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1779 @section 16.2. How do you arrange it so that XEmacs indents all the clauses of a Common Lisp @code{if} the same amount instead of indenting the 3rd clause differently from the first two?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1780
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1781 One way is to add, to @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1782
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1783 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1784 (put 'if 'lisp-indent-function nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1785 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1787 However, note that the package @file{cl-indent.el} that comes with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1788 XEmacs sets up this kind of indentation by default. @file{cl-indent} also
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1789 knows about many other CL-specific forms. To use @file{cl-indent}, one can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1790 do this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1792 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1793 (load "cl-indent")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1794 (setq lisp-indent-function (function common-lisp-indent-function))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1795 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1796
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1797 One can also customize @file{cl-indent.el} so it mimics the default @samp{if}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1798 indentation (@samp{then} indented more than the @samp{else}). Here's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1799 how:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1800
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1801 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1802 (put 'if 'common-lisp-indent-function '(nil nil &body))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1803 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1805 Also, a new version (1.2) of @file{cl-indent.el} was posted to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1806 @samp{comp.emacs.xemacs} on 12/9/94. This version includes more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1807 documentation than previous versions. This may prove useful if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1808 need to customize any indent-functions. The post can be retrieved by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1809 searching the XEmacs mail archives.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1811
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1812 @node 16.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1813 @section 16.3. I do not like cc-mode. How do I use the old c-mode?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1814
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1815 Well, first off, consider if you really want to do this. cc-mode is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1816 much more powerful than the old c-mode. But if you still insist, add
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1817 the following lines to your @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1818
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1819 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1820 (fmakunbound 'c-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1821 (makunbound 'c-mode-map)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1822 (fmakunbound 'c++-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1823 (makunbound 'c++-mode-map)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1824 (makunbound 'c-style-alist)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1825 (load-library "old-c-mode")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1826 (load-library "old-c++-mode")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1827 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1828
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1829 This must be done before any other reference is made to either c-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1830 or c++-mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1831
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1832
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1833 @node 16.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1834 @section 16.4. When I try to edit a postscript file it gets stuck saying: fontifying 'filename' (regexps....) and it just sits there. If I press ctrl-c in the window where XEmacs was started, it suddenly becomes alive again.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1835
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1836 This was caused by a bug in the Postscript font-lock regular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1837 expressions. It should be fixed in 19.13. For earlier versions of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1838 XEmacs, have a look at your @file{.emacs} file. You will probably have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1839 a line like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1840
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1841 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1842 (add-hook 'postscript-mode-hook 'turn-on-font-lock)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1843 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1844
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1845 Take it out, restart XEmacs, and it won't try to fontify your
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1846 postscript files anymore.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1847
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1848
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1849 @node 16.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1850 @section 16.5. Does anyone know how to get the "More" Syntax Highlighting on by default?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1851
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1852 For C, C++, and Lisp, you can try adding the following to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1853
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1854 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1855 (setq c-font-lock-keywords c-font-lock-keywords-2)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1856 (setq c++-font-lock-keywords c++-font-lock-keywords-2)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1857 (setq lisp-font-lock-keywords lisp-font-lock-keywords-2)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1858 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1859
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1860
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1861
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1862 @node 17. Text mode, 18. Shell mode, 16. Editing source code (C mode; Lisp mode; etc.), top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1863 @chapter 17. Text mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1864
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1865 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1866 * 17.1.:: 17.1. How can I enable auto-indent?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1867 * 17.2.:: 17.2. How can I get XEmacs to come up in text mode (auto-fill) by default?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1868 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1869
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1870
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1871 @node 17.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1872 @section 17.1. How can I enable auto-indent?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1873
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1874 Put the following line in your @file{.emacs}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1875
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1876 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1877 (setq indent-line-function 'indent-relative-maybe)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1878 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1879
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1880 If you want to get fancy, try @file{filladapt} and @file{fa-extras},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1881 available from the Emacs Lisp Archive at Ohio State University.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1882 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1883 Get them at URL:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1884
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1885 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1886 ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1887 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1888 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1889 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1890 Get them at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1891 <A HREF="ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/">ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1892 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1893
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1894
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1895 @node 17.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1896 @section 17.2. How can I get XEmacs to come up in text mode (auto-fill) by default?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1897
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1898 Try the following lisp in your @file{.emacs} file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1899
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1900 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1901 (setq default-major-mode 'text-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1902 (setq text-mode-hook 'turn-on-auto-fill)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1903 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1904
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1905 WARNING: note that changing default-major-mode from fundamental-mode can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1906 break a large amount of built-in code that expects newly created buffers to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1907 be in fundamental-mode. (Changing from fundamental-mode to auto-fill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1908 text-mode might not wreak too much havoc, but changing to something more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1909 exotic like a lisp-mode would break many Emacs packages.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1910
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1911 Note that Emacs defaultly starts up in buffer *scratch* in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1912 initial-major-mode, which defaults to lisp-interaction-mode. Thus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1913 adding the following form to your Emacs init file will cause the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1914 initial *scratch* buffer to be put into auto-fill'ed text-mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1915
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1916 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1917 (setq initial-major-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1918 (function (lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1919 (text-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1920 (turn-on-auto-fill))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1921 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1922
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1923 Note that after your init file is loaded, if inhibit-startup-message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1924 is null (the default) and the startup buffer is *scratch* then the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1925 startup message will be inserted into *scratch*; it will be removed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1926 after a timeout by erasing the entire *scratch* buffer. Keep in mind
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1927 this default usage of *scratch* if you desire any prior manipulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1928 of *scratch* from within your Emacs init file. In particular, anything
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1929 you insert into *scratch* from your init file will be later erased.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1930 Also, if you change the mode of *scratch* be sure that this will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1931 not interfere with possible later insertion of the startup message
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1932 (e.g. if you put *scratch* into a nonstandard mode that has automatic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1933 font lock rules, then the startup message might get fontified in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1934 a strange foreign manner, e.g. as code in some programming language).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1935
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1937
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1938 @node 18. Shell mode, 19. Mail; VM; GNUS; BBDB; and related, 17. Text mode, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1939 @chapter 18. Shell mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1940
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1941 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1942 * 18.1.:: 18.1. How do I start up a second shell buffer?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1943 * 18.2.:: 18.2. I'm using the Emacs @kbd{M-x shell} function, and I would like to invoke and use a telnet session within it. Everything works fine except that now all ^M's are filtered out by Emacs. Fixes?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1944 * 18.3.:: 18.3. If I type a very long command line (like a compile command) into a shell buffer, the output seems to be messed up.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1945 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1946
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1947
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1948 @node 18.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1949 @section 18.1. How do I start up a second shell buffer?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1950
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1951 In the *shell* buffer:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1952
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1953 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1954 M-x rename-buffer RET *shell-1* RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1955 M-x shell RET
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1956 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1957
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1958 This will then start a second shell. The key is that no buffer named
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1959 *shell* can exist. It might be preferable to use @kbd{M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1960 rename-uniquely} to rename the *shell* buffer instead of @kbd{M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1961 rename-buffer}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1963
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1964 @node 18.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1965 @section 18.2. I'm using the Emacs @kbd{M-x shell} function, and I would like to invoke and use a telnet session within it. Everything works fine except that now all ^M's are filtered out by Emacs. Fixes?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1966
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1967 Use @kbd{M-x rsh} or @kbd{M-x telnet} to open remote sessions rather
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1968 than doing rsh or telnet within the local shell buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1969
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1970
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1971 @node 18.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1972 @section 18.3. If I type a very long command line (like a compile command) into a shell buffer, the output seems to be messed up.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1973
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1974 If you see lots of ^G's in the buffer, you're using an old version of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1975 XEmacs. If the command line seems to be delayed or split into pieces,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1976 you are probably using csh with the @samp{filec} variable set. To fix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1977 this, add the following line to your @file{.cshrc}, after @samp{filec} is set:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1978
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1979 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1980 if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1981 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1982
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1983 @node 19. Mail; VM; GNUS; BBDB; and related, 20. Printing, 18. Shell mode, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1984 @chapter 19. Mail; VM; GNUS; BBDB; and related
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1985
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1986 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1987 * 19.1.:: 19.1. How and where I am suppose to set the face attributes for customizing the appearance of messages (i.e. for VM)?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1988 * 19.2.:: 19.2. I seem to have heard that there's a package distributed with XEmacs which will use the echo area to notify you of incoming mail in a rather configurable way (multiple spool files, different actions for different files). What and where is it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1989 * 19.3.:: 19.3. Is there any way to add more faces and regexps to GNUS without hacking gnus.el?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1990 * 19.4.:: 19.4. What is BBDB?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1991 * 19.5.:: 19.5. I noticed that BBDB evokes an XEmacs bug; is there a fix?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1992 * 19.6.:: 19.6. I'm getting the error 'Wrong type argument: listp :-pos' when I try to start BBDB. What do I do?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1993 * 19.7.:: 19.7. I'm getting the error 'movemail: Permission denied' when I try and start VM. What do I do?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1994 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1995
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1997 @node 19.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1998 @section 19.1. How and where I am suppose to set the face attributes for customizing the appearance of messages (i.e. for VM)?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1999
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2000 Suppose you want to use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2001
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2002 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2003 (set-face-font 'message-highlighted-header-contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2004 "-adobe-courier-bold-r-normal--12*")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2005 (set-face-foreground 'message-headers "darkslateblue")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2006 (set-face-foreground 'message-header-contents "brown")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2007 (set-face-foreground 'message-highlighted-header-contents "black")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2008 (set-face-foreground 'message-cited-text "darkgreen")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2009 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2011 Well, this should work, provided that @code{(require
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2012 'highlight-headers)} is executed first. Also, highlight-headers is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2013 self-contained and you don't need to turn on font-lock mode.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2014
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2015
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2016 @node 19.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2017 @section 19.2. I seem to have heard that there's a package distributed with XEmacs which will use the echo area to notify you of incoming mail in a rather configurable way (multiple spool files, different actions for different files). What and where is it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2019 It's called reportmail. Add the following to your @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2020
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2021 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2022 (load-library "reportmail")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2023 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2024
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2025
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2026 @node 19.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2027 @section 19.3. Is there any way to add more faces and regexps to GNUS without hacking gnus.el?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2028
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2029 You can try the folowing elisp:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2030
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2031 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2032 (add-hook 'gnus-startup-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2033 '(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2034 (font-lock-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2035 (set-face-foreground 'message-headers "red")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2036 (set-face-foreground 'message-header-contents "orange")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2037 (set-face-foreground 'message-cited-text "blue")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2038 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2039
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2040
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2041 @node 19.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2042 @section 19.4. What is BBDB?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2043
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2044 BBDB is the Big Brother Database, written by Jamie Zawinski
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2045 <jwz@@netscape.com>. It interfaces to VM, mh-e, and GNUS and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2046 conveniently snarfs information about people and other things from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2047 articles and messages that go by.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2048
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2049 BBDB is available from the elisp archive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2050
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2051 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2052 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2053 archive.cis.ohio-state.edu:/pub/gnu/emacs/elisp-archive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2054 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2055 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2056 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2057 <A HREF="ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/">ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2058 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2059
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2060 BBDB has a mailing list devoted to it:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2061
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2062 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2063 info-bbdb@@cs.uiuc.edu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2064 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2065
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2066 This mailing list is archived at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2067
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2068 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2069 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2070 ftp.cs.uiuc.edu:/pub/bbdb
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2071 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2072 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2073 @ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2074 <A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2075 HREF="ftp://ftp.cs.uiuc.edu:/pub/bbdb/">ftp.cs.uiuc.edu:/pub/bbdb/</A>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2076 @end ifhtml
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2077
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2078
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2079 @node 19.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2080 @section 19.5. I noticed that BBDB evokes an XEmacs bug; is there a fix?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2081
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2082 This worked for me:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2083
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2084 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2085 (setq bbdb-electric-p nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2086 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2087
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2088 @node 19.6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2089 @section 19.6. I'm getting the error 'Wrong type argument: listp :-pos' when I try to start BBDB. What do I do?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2090
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2091 Discard the copy of mail-extr.el that came with bbdb.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2092
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2093 XEmacs 19.12 made the change that you cannot change the value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2094 interned symbols whose names begin with a colon. The mail-extr.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2095 that's distributed with 19.12+ is fixed to live with this restriction,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2096 but old copies of mail-extr.el will bomb.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2097
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2098
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2099 @node 19.7.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2100 @section 19.7. I'm getting the error 'movemail: Permission denied' when I try and start VM. What do I do?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2102 Execute the following two commands. movemail is normally located in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2103 XEmacs install tree at @file{.../lib/xemacs-19.13/$@{arch@}/movemail}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2104
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2105 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2106 chgrp mail movemail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2107 chmod 2555 movemail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2108 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2109
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2111 @node 20. Printing, 21. Gnuserv, 19. Mail; VM; GNUS; BBDB; and related, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2112 @chapter 20. Printing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2113
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2114 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2115 * 20.1.:: 20.1. Font-lock looks nice. How can I print (WYSIWYG) the highlighted document?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2116 * 20.2.:: 20.2. My printer is a Postscript printer and @code{lpr} only works for Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x lpr-buffer} to work?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2117 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2118
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2120 @node 20.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2121 @section 20.1. Font-lock looks nice. How can I print (WYSIWYG) the highlighted document?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2122
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2123 The package ps-print.el, which is now included with XEmacs, provides the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2124 ability to do this. It contains complete instructions on its use:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2125
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2126 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2127 <xemacs_src_root>/lisp/packages/ps-print.el
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2128 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2131 @node 20.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2132 @section 20.2. My printer is a Postscript printer and @code{lpr} only works for Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x lpr-buffer} to work?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2133
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2134 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2135 (setq lpr-command "@var{Command to print text files}")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2136 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2137
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2138 Please don't forget to replace @var{Command to print text files} with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2139 actual command (@samp{enscript}, @samp{nenscript}, etc.)!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2141
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2142
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2143 @node 21. Gnuserv, 22. Miscellaneous, 20. Printing, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2144 @chapter 21. Gnuserv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2145
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2146 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2147 * 21.1.:: 21.1. How do I disable gnuserv from opening a new frame?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2148 * 21.2.:: 21.2. What do I do to start the gnuserv server so that each subseqeuent XEmacs is a client?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2149 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2150
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2151
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2152 @node 21.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2153 @section 21.1. How do I disable gnuserv from opening a new frame?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2155 If you set the gnuserv-screen variable to the frame that should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2156 used to display buffers that are pulled up, a new frame will not be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2157 created. For example, you could put
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2158
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2159 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2160 (setq gnuserv-screen (selected-frame))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2161 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2162
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2163 early on in your @file{.emacs}, to ensure that the first frame created is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2164 the one used for your gnuserv buffers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2165
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2166
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2167 @node 21.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2168 @section 21.2. What do I do to start the gnuserv server so that each subseqeuent XEmacs is a client?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2170 Put the following in your @file{.emacs} file to start the server:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2172 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2173 (gnuserv-start)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2174 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2175
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2176 Start your first XEmacs as usual. After that, you can do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2178 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2179 gnuclient randomfilename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2180 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2181
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2182 from the command line to get your existing XEmacs process to open a new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2183 frame and visit randomfilename in that window. When you're done editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2184 randomfilename, hit @kbd{C-x #} to kill the buffer and get rid of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2185 frame.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2186
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2187
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2188
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2189 @node 22. Miscellaneous,, 21. Gnuserv, top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2190 @chapter 22. Miscellaneous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2192 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2193 * 22.1.:: 22.1. How do I specify the paths that XEmacs uses for finding files?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2194 * 22.2.:: 22.2. Why does edt emulation not work?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2195 * 22.3.:: 22.3. How can I emulate VI and use it as my default mode?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2196 * 22.4.:: 22.4. Is there some way to get the behavior so that if the current buffer has a file associated with it, the current buffer will use that files name else use the buffer name?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2197 * 22.5.:: 22.5. I have no idea where this is coming from, but ever since I moved from 19.9 to 19.13 I have started seeing that all of my buffers will get a minor mode called @samp{Omit}. I have no idea how it got there nor do I know what it does. What is it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2198 * 22.6.:: 22.6. How do I turn off the sound?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2199 * 22.7.:: 22.7. Can I have the end of the buffer delimited in some way? Say, with: [END] ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2200 * 22.8.:: 22.8. Can I insert today's date into buffer?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2201 * 22.9.:: 22.9. Are only certain syntactic character classes available for abbrevs? I didn't see any restrictions in the info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2202 * 22.10.:: 22.10. Filladapt used to work after I loaded it. Now in 19.13 it doesn't. What gives?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2203 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2204
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2206 @node 22.1.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2207 @section 22.1. How do I specify the paths that XEmacs uses for finding files?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2208
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2209 You can specify what paths to use by using a number of different flags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2210 when running configure. See the section MAKE VARIABLES in the top-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2211 file INSTALL in the XEmacs distribution for a listing of those flags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2213 Most of the time, however, the simplest fix is: DO NOT specify paths as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2214 you might for FSF GNU Emacs. XEmacs can generally determine the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2215 necessary paths dynamically at run time. The only path that generally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2216 needs to be specified is the root directory to install into. That can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2217 be specified by passing the @code{--prefix} flag to configure. For a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2218 description of the XEmacs install tree, please consult the NEWS file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2219
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2221 @node 22.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2222 @section 22.2. Why does edt emulation not work?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2223
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2224 We don't know, but you can use tpu-edt emulation instead, which works fine
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2225 and is a little fancier than the standard edt emulation. To do this, add
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2226 the following line to your @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2227
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2228 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2229 (load "tpu-edt")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2230 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2231
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2232 If you don't want it to replace Ctrl-h with edt-style help menu add this as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2233 well:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2234
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2235 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2236 (global-set-key '(control h) 'help-for-help)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2237 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2238
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2240 @node 22.3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2241 @section 22.3. How can I emulate VI and use it as my default mode?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2242
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2243 Our recommended VI emulator is viper. To put the current buffer into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2244 viper-mode, use the command:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2245
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2246 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2247 M-x viper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2248 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2250 To make viper-mode the default, add the following lines to your @file{.emacs}:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2251
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2252 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2253 (load-library "viper")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2254 (setq term-setup-hook 'viper)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2255 (setq find-file-hooks 'viper)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2256 (setq find-file-not-found-hooks 'viper)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2257 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2258
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2259
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2260 @node 22.4.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2261 @section 22.4. Is there some way to get the behavior so that if the current buffer has a file associated with it, the current buffer will use that files name else use the buffer name?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2262
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2263 Just set frame-title-format from find-file-hooks. Alternatively, look at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2264 the answer to question 15.2.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2265
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2266 In addition, one could set modeline-format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2268
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2269 @node 22.5.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2270 @section 22.5. I have no idea where this is coming from, but ever since I moved from 19.9 to 19.13 I have started seeing that all of my buffers will get a minor mode called @samp{Omit}. I have no idea how it got there nor do I know what it does. What is it?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2271
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2272 It's part of dired. In dired, you can type M-o to get Omit mode and that will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2273 ignore uninteresting files (checkpoint files and backups, for example). You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2274 get Omit in the modeline everywhere because the variable `dired-omit-files-p'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2275 is globally set to some non-nil value. If you want this functionality, it's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2276 probably best to use a hook:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2277
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2278 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2279 (add-hook 'dired-after-readin-hook '(lambda () (dired-omit-toggle)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2280 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2282 Alternatively, since it seems odd to toggle the omit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2283 state with every readin, since readin can happen many times in a Dired
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2284 buffer, you can try this hook to correct the "Omit" problem:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2286 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2287 (add-hook 'dired-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2288 (function (lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2289 ;; `dired-omit-files-p' is made buffer-local by "dired-x.el", but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2290 ;; maybe not soon enough.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2291 (make-local-variable 'dired-omit-files-p)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2292 (setq dired-omit-files-p t))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2293 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2294
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2295 This is only run once, when the Dired buffer is created.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2297
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2298 @node 22.6.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2299 @section 22.6. How do I turn off the sound?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2300
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2301 Add the following line to your @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2302
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2303 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2304 (setq bell-volume 0)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2305 (setq sound-alist nil)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2306 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2307
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2308
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2309 @node 22.7.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2310 @section 22.7. Can I have the end of the buffer delimited in some way? Say, with: [END] ?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2311
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2312 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2313 (make-annotation "[END]" (point-max) 'text (current-buffer))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2314 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2315
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2316 Note that you might want to put this in a hook.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2317
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2318 You might also need:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2319
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2320 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2321 (require 'annotations)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2322 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2323
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2324 since @code{make-annotation} is not defined by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2325
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2326
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2327 @node 22.8.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2328 @section 22.8. Can I insert today's date into buffer?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2329
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2330 Use this lisp in a function:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2331
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2332 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2333 (insert (current-time-string))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2334 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2335
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2337 @node 22.9.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2338 @section 22.9. Are only certain syntactic character classes available for abbrevs? I didn't see any restrictions in the info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2340 Yes, abbrevs only expand word-syntax strings. So, in c-mode if you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2341 wanted to expand something to @samp{define }, you would be able to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2342 expand @samp{xd} but not @samp{#d}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2343
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2344
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2345 @node 22.10.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2346 @section 22.10. Filladapt used to work after I loaded it. Now in 19.13 it doesn't. What gives?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2348 Filladapt 2.x is included in 19.13+. In it filladapt is now a minor
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2349 mode and minor modes are traditionally off by default. The following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2350 added to your .emacs will turn it on for all buffers:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2351
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2352 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2353 (setq-default filladapt-mode t)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2354 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2355
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2356 Use @code{turn-on-filladapt-mode} to turn Filladapt on in particular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2357 major modes, like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2358
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2359 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2360 (add-hook 'text-mode-hook 'turn-on-filladapt-mode)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2361 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2362
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2363
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2364 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2365 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2366 @bye