comparison man/xemacs-faq.texi @ 54:05472e90ae02 r19-16-pre2

Import from CVS: tag r19-16-pre2
author cvs
date Mon, 13 Aug 2007 08:57:55 +0200
parents 6a22abad6937
children 131b0175ea99
comparison
equal deleted inserted replaced
53:875393c1a535 54:05472e90ae02
6 @c %**end of header 6 @c %**end of header
7 7
8 @titlepage 8 @titlepage
9 @title XEmacs FAQ 9 @title XEmacs FAQ
10 @subtitle Frequently asked questions about XEmacs 10 @subtitle Frequently asked questions about XEmacs
11 @subtitle Last Modified: 1997/01/16 11 @subtitle Last Modified: 1997-07-17
12 @sp 1 12 @sp 1
13 @author Tony Rossini <arossini@@stat.sc.edu> 13 @author Tony Rossini <arossini@@stat.sc.edu>
14 @author Ben Wing <wing@@netcom.com> 14 @author Ben Wing <wing@@666.com>
15 @author Chuck Thompson <cthomp@@cs.uiuc.edu> 15 @author Chuck Thompson <cthomp@@cs.uiuc.edu>
16 @author Steve Baur <steve@@miranova.com> 16 @author Steve Baur <steve@@miranova.com>
17 @author Andreas Kaempf <andreas@@sccon.com>
17 @page 18 @page
18 @end titlepage 19 @end titlepage
19 20
20 @node Top, Introduction, (dir), (dir) 21 @node Top, Introduction, (dir), (dir)
21 @top XEmacs FAQ 22 @top XEmacs FAQ
29 FAQ is distributed in the hope that it will be useful, but WITHOUT ANY 30 FAQ is distributed in the hope that it will be useful, but WITHOUT ANY
30 WARRANTY; without even the implied warranty of MERCHANTABILITY or 31 WARRANTY; without even the implied warranty of MERCHANTABILITY or
31 FITNESS FOR A PARTICULAR PURPOSE. 32 FITNESS FOR A PARTICULAR PURPOSE.
32 33
33 If you have a Web browser, the official hypertext version is at 34 If you have a Web browser, the official hypertext version is at
34 <URL:http://www.miranova.com/~steve/xemacs-faq.html> and also at 35 <URL:http://www.sccon.com/~andreas/xemacs-faq.html> and also at
35 <URL:http://www.xemacs.org/faq/xemacs-faq.html>. This version is much 36 <URL:http://www.xemacs.org/faq/xemacs-faq.html>. This version is much
36 nicer than the unofficial hypertext versions that are archived at 37 nicer than the unofficial hypertext versions that are archived at
37 Utrecht, Oxford, Smart Pages, and other FAQ archives. 38 Utrecht, Oxford, Smart Pages, and other FAQ archives.
38 39
39 @menu 40 @menu
66 67
67 The previous version was converted to hypertext format, and edited by 68 The previous version was converted to hypertext format, and edited by
68 Steven L. Baur <steve@@altair.xemacs.org>. It was converted back to 69 Steven L. Baur <steve@@altair.xemacs.org>. It was converted back to
69 texinfo by Hrvoje Niksic <hniksic@@srce.hr>. 70 texinfo by Hrvoje Niksic <hniksic@@srce.hr>.
70 71
71 This version was edited and updated by Andreas Kaempf 72 Since Steve Baur is so busy putting out multiple versions of XEmacs I
72 <andreas@@sccon.com>. 73 have taken on the task of maintaining the FAQ. I use XEmacs on a daily
73 74 basis and I wanted to give something back to the community that has made
75 XEmacs possible. If you notice any errors or items which should be
76 added or amended to this FAQ please send email to Andreas Kaempf
77 <andreas@@sccon.com>. Include @samp{XEmacs FAQ} on the Subject: line.
74 78
75 @menu 79 @menu
76 Introduction: 80 Introduction:
77 * Q1.0.1:: What is XEmacs? 81 * Q1.0.1:: What is XEmacs?
78 * Q1.0.2:: What is the current version of XEmacs? 82 * Q1.0.2:: What is the current version of XEmacs?
79 * Q1.0.3:: Where can I find it? 83 * Q1.0.3:: Where can I find it?
80 * Q1.0.4:: Why Another Version of Emacs? 84 * Q1.0.4:: Why Another Version of Emacs?
81 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged? 85 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged?
82 * Q1.0.6:: Where can I get help? 86 * Q1.0.6:: Where can I get help?
83 * Q1.0.7:: Where is the mailing list archived? 87 * Q1.0.7:: Where is the mailing list archived?
84 * Q1.0.8:: How do you pronounce XEmacs? 88 * Q1.0.8:: How do you pronounce XEmacs?
85 * Q1.0.9:: What does XEmacs look like? 89 * Q1.0.9:: What does XEmacs look like?
86 * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)? 90 * Q1.0.10:: Is there a port of XEmacs to Microsoft ('95 or NT)?
87 * Q1.0.11:: Is there a port of XEmacs to the Macintosh? 91 * Q1.0.11:: Is there a port of XEmacs to the Macintosh?
88 * Q1.0.12:: Is there a port of XEmacs to NextStep? 92 * Q1.0.12:: Is there a port of XEmacs to NextStep?
89 * Q1.0.13:: Is there a port of XEmacs to OS/2? 93 * Q1.0.13:: Is there a port of XEmacs to OS/2?
90 * Q1.0.14:: Where can I get a printed copy of the XEmacs users manual? 94 * Q1.0.14:: Where can I get a printed copy of the XEmacs users manual?
94 * Q1.1.2:: How do I become a Beta Tester? 98 * Q1.1.2:: How do I become a Beta Tester?
95 * Q1.1.3:: How do I contribute to XEmacs itself? 99 * Q1.1.3:: How do I contribute to XEmacs itself?
96 100
97 Credits: 101 Credits:
98 * Q1.2.1:: Who wrote XEmacs? 102 * Q1.2.1:: Who wrote XEmacs?
99 * Q1.2.2:: Who contributed to this version of the FAQ? 103 * Q1.2.2:: Who contributed to this version of the FAQ?
100 * Q1.2.3:: Who contributed to the FAQ in the past? 104 * Q1.2.3:: Who contributed to the FAQ in the past?
101 105
102 Internationalization: 106 Internationalization:
103 * Q1.3.1:: What is the status of XEmacs v20? 107 * Q1.3.1:: What is the status of XEmacs v20?
104 * Q1.3.2:: What is the status of Asian-language support, aka @var{mule}? 108 * Q1.3.2:: What is the status of Asian-language support, aka @var{mule}?
105 * Q1.3.3:: How do I type non-ASCII characters? 109 * Q1.3.3:: How do I type non-ASCII characters?
106 * Q1.3.4:: Can XEmacs messages come out in a different language? 110 * Q1.3.4:: Can XEmacs messages come out in a different language?
107 * Q1.3.5:: Please explain the various input methods in MULE/XEmacs 20.0 111 * Q1.3.5:: Please explain the various input methods in MULE/XEmacs 20.0
108 * Q1.3.6:: How do I portably code for MULE/XEmacs 20.0? 112 * Q1.3.6:: How do I portably code for MULE/XEmacs 20.0?
109 * Q1.3.7:: How about Cyrillic Modes? 113 * Q1.3.7:: How about Cyrillic Modes?
110 114
111 Getting Started: 115 Getting Started:
112 * Q1.4.1:: What is a @file{.emacs} and is there a sample one? 116 * Q1.4.1:: What is a @file{.emacs} and is there a sample one?
113 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs? 117 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs?
114 * Q1.4.3:: Any good XEmacs tutorials around? 118 * Q1.4.3:: Any good XEmacs tutorials around?
115 * Q1.4.4:: May I see an example of a useful XEmacs Lisp function? 119 * Q1.4.4:: May I see an example of a useful XEmacs Lisp function?
116 * Q1.4.5:: And how do I bind it to a key? 120 * Q1.4.5:: And how do I bind it to a key?
117 * Q1.4.6:: What's the difference between a macro and a function? 121 * Q1.4.6:: What's the difference between a macro and a function?
118 * Q1.4.7:: Why options saved with 19.13 don't work with 19.14 or 20.0? 122 * Q1.4.7:: Why options saved with 19.13 don't work with 19.14 or later?
119 @end menu 123 @end menu
120 124
121 @node Q1.0.1, Q1.0.2, Introduction, Introduction 125 @node Q1.0.1, Q1.0.2, Introduction, Introduction
122 @section What is XEmacs? 126 @section What is XEmacs?
123 127
128 track changes to GNU Emacs while also working to add new features. 132 track changes to GNU Emacs while also working to add new features.
129 133
130 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction 134 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction
131 @section What is the current version of XEmacs? 135 @section What is the current version of XEmacs?
132 136
133 The current version is 19.15, released in March, 1997. 137 The current stable version of XEmacs is 20.2, released in May, 1997.
134 138 The next feature release will XEmacs 20.3.
135 It has been decided that XEmacs 19.15 will be the final release of v19. 139
136 XEmacs 19.15 is scheduled for release in late March. After a brief 140 XEmacs 19.15 was the last release of v19, released in March, 1997.
137 period of further testing, XEmacs v20.1 will be released shortly after 141
138 that. 142 To help users who are not yet ready to move to XEmacs 20, we run a
143 patch-page with official bugfixes for 19.15 at:
144
145 @example
146 <URL:http://www.xemacs.org/xemacs-19.15-patches/patch-page.html>
147 @end example
148
149 The page is maintained by Vinnie Shelton @code{<acs@@acm.org>}. These
150 fixes will be integrated to a XEmacs and released as 19.16, which would
151 serve as stable XEmacs until 20.x settles completely.
139 152
140 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction 153 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction
141 @section Where can I find it? 154 @section Where can I find it?
142 155
143 The canonical source and binaries is found via anonymous FTP at: 156 The canonical source and binaries is found via anonymous FTP at:
180 193
181 @item 194 @item
182 Better Motif compliance. 195 Better Motif compliance.
183 196
184 @item 197 @item
185 Some internationalization support (full MULE support starting with 20.0). 198 Some internationalization support (including full MULE support, if
199 compiled with it.)
186 200
187 @item 201 @item
188 Variable-width fonts. 202 Variable-width fonts.
189 203
190 @item 204 @item
233 247
234 Also, @kbd{M-x apropos} will look for commands for you. 248 Also, @kbd{M-x apropos} will look for commands for you.
235 249
236 Try reading this FAQ, examining the regular GNU Emacs FAQ (which can be 250 Try reading this FAQ, examining the regular GNU Emacs FAQ (which can be
237 found with the Emacs 19 distribution) as well as at 251 found with the Emacs 19 distribution) as well as at
238 @example 252 <URL:http://www.eecs.nwu.edu/emacs/faq/> and reading the Usenet group
239 <URL:http://www.eecs.nwu.edu/emacs/faq/> 253 comp.emacs.xemacs.
240 @end example
241 and reading the Usenet group comp.emacs.xemacs.
242 254
243 If that does not help, try posting your question to comp.emacs.xemacs. 255 If that does not help, try posting your question to comp.emacs.xemacs.
244 Please @strong{do not} post XEmacs related questions to gnu.emacs.help. 256 Please @strong{do not} post XEmacs related questions to gnu.emacs.help.
245 257
246 If you cannot post or read Usenet news, there is a corresponding mailing 258 If you cannot post or read Usenet news, there is a corresponding mailing
247 list which is available. It can be subscribed to by sending a message 259 list which is available. It can be subscribed to by sending a message
248 with a subject of @samp{subscribe} to 260 with a subject of @samp{subscribe} to <xemacs-request@@xemacs.org>
249 @example 261 for subscription information and <xemacs@@xemacs.org> to send messages
250 <xemacs-request@@xemacs.org> 262 to the list.
251 @end example
252 for subscription information and
253 @example
254 <xemacs@@xemacs.org>
255 @end example
256 to send messages to the list.
257 263
258 To cancel a subscription, you @strong{must} use the xemacs-request 264 To cancel a subscription, you @strong{must} use the xemacs-request
259 address. Send a message with a subject of @samp{unsubscribe} to be 265 address. Send a message with a subject of @samp{unsubscribe} to be
260 removed. 266 removed.
261 267
274 280
275 @node Q1.0.9, Q1.0.10, Q1.0.8, Introduction 281 @node Q1.0.9, Q1.0.10, Q1.0.8, Introduction
276 @section What does XEmacs look like? 282 @section What does XEmacs look like?
277 283
278 Screen snapshots are available in the WWW version of the FAQ. 284 Screen snapshots are available in the WWW version of the FAQ.
285 @example
286 <URL:http://www.xemacs.org/faq/xemacs-faq.html>
287 @end example
279 288
280 @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction 289 @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction
281 @section Is there a port of XEmacs to Microsoft ('95 or NT)? 290 @section Is there a port of XEmacs to Microsoft ('95 or NT)?
282 291
292 Altrasoft is actively seeking corporate and government sponsors to help
293 fund a fully native port of XEmacs to Windows 95 and NT using full-time,
294 senior-level staff working under a professionally managed project
295 structure. See <URL:http://www.altrasoft.com/> for more details or
296 contact Altrasoft directly at 1-888-ALTSOFT.
297
298 A private effort is being put forth by David Hobley
299 <URL:http://www.angelfire.com/wa/hobley>.
300
301 He can be reached at the following email addresses:
302 @example
303 <davidh@@wr.com.au> (home)
304 @end example
305
306 @example
307 <david_hobley@@optusvision.com.au> (work)
308 @end example
309
283 The closest is @dfn{Win-Emacs}, which is based on Lucid Emacs 19.6. 310 The closest is @dfn{Win-Emacs}, which is based on Lucid Emacs 19.6.
284 Available from <URL:http://www.pearlsoft.com/>. 311 Available from <URL:http://www.pearlsoft.com/>.
285
286 There are some people actively working on a NT port of v20.1: David
287 Hobley started the port. Marc Paquette
288 @example
289 <marcpa@@cam.org>
290 @end example
291 has also became part of this effort.
292
293 Email the beta list
294 @example
295 <xemacs-beta@@xemacs.org>
296 @end example
297 if you are interested in helping.
298 312
299 There's a port of GNU Emacs (not XEmacs) at 313 There's a port of GNU Emacs (not XEmacs) at
300 @example 314 @example
301 <URL:http://www.cs.washington.edu/homes/voelker/ntemacs.html>. 315 <URL:http://www.cs.washington.edu/homes/voelker/ntemacs.html>.
302 @end example 316 @end example
342 Changes are displayed on a monthly basis. @dfn{Months}, for this 356 Changes are displayed on a monthly basis. @dfn{Months}, for this
343 purpose are defined as the 5th of the month through the 5th of the 357 purpose are defined as the 5th of the month through the 5th of the
344 month. Preexisting questions that have been changed are marked as such. 358 month. Preexisting questions that have been changed are marked as such.
345 Brand new questions are tagged. 359 Brand new questions are tagged.
346 360
347 All submissions are welcome. E-mail submissions to 361 All submissions are welcome. E-mail submissions to Andreas Kaempf
348 <andreas@@sccon.com>. 362 <andreas@@sccon.com>.
349 363
350 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line. 364 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line.
351 If you think you have a better way of answering a question, or think a 365 If you think you have a better way of answering a question, or think a
352 question should be included, I'd like to hear about it. Questions and 366 question should be included, I'd like to hear about it. Questions and
359 373
360 @node Q1.1.2, Q1.1.3, Q1.1.1, Introduction 374 @node Q1.1.2, Q1.1.3, Q1.1.1, Introduction
361 @section How do I become a Beta Tester? 375 @section How do I become a Beta Tester?
362 376
363 Send an email message to <xemacs-beta-request@@xemacs.org> with a 377 Send an email message to <xemacs-beta-request@@xemacs.org> with a
364 subject line of @samp{subscribe}. Fill out and return the questionaire 378 subject line of @samp{subscribe}. Fill out and return the questionnaire
365 you get back, and you will receive the password to get at the current 379 you get back, and you will receive the password to get at the current
366 beta. 380 beta.
367 381
368 Be prepared to get your hands dirty, as beta testers are expected to 382 Be prepared to get your hands dirty, as beta testers are expected to
369 identify problems as best they can. 383 identify problems as best they can.
443 version of the FAQ (listed in alphabetical order): 457 version of the FAQ (listed in alphabetical order):
444 458
445 @itemize @bullet 459 @itemize @bullet
446 @item Steven L Baur <steve@@miranova.com> 460 @item Steven L Baur <steve@@miranova.com>
447 461
448 @item Darrell Kindred <dkindred@@cmu.edu> 462 @item Hrvoje Niksic <hniksic@@srce.hr>
449 463
450 @item David Moore <dmoore@@ucsd.edu>
451
452 @item Justin Sheehy <dworkin@@ccs.neu.edu>
453 @end itemize 464 @end itemize
454 465
455 @node Q1.2.3, Q1.3.1, Q1.2.2, Introduction 466 @node Q1.2.3, Q1.3.1, Q1.2.2, Introduction
456 @section Who contributed to the FAQ in the past? 467 @section Who contributed to the FAQ in the past?
457 468
461 @itemize @bullet 472 @itemize @bullet
462 @item Curtis.N.Bingham <binge@@aloft.att.com> 473 @item Curtis.N.Bingham <binge@@aloft.att.com>
463 474
464 @item Richard Caley <rjc@@cogsci.ed.ac.uk> 475 @item Richard Caley <rjc@@cogsci.ed.ac.uk>
465 476
477 @item Richard Cognot <cognot@@ensg.u-nancy.fr>
478
466 @item William G. Dubuque <wgd@@martigny.ai.mit.edu> 479 @item William G. Dubuque <wgd@@martigny.ai.mit.edu>
467 480
468 @item Eric Eide <eeide@@cs.utah.edu> 481 @item Eric Eide <eeide@@cs.utah.edu>
469 482
470 @item Chris Flatters <cflatter@@nrao.edu> 483 @item Chris Flatters <cflatter@@nrao.edu>
471 484
472 @item Evelyn Ginsparg <ginsparg@@adra.com> 485 @item Evelyn Ginsparg <ginsparg@@adra.com>
473 486
474 @item Marty Hall <hall@@aplcenmp.apl.jhu.edu> 487 @item Marty Hall <hall@@aplcenmp.apl.jhu.edu>
475 488
489 @item Darrell Kindred <dkindred@@cmu.edu>
490
491 @item David Moore <dmoore@@ucsd.edu>
492
476 @item Arup Mukherjee <arup+@@cmu.edu> 493 @item Arup Mukherjee <arup+@@cmu.edu>
477 494
478 @item Juergen Nickelsen <nickel@@prz.tu-berlin.de> 495 @item Juergen Nickelsen <nickel@@prz.tu-berlin.de>
479 496
480 @item Kevin R. Powell <powell@@csl.ncsa.uiuc.edu> 497 @item Kevin R. Powell <powell@@csl.ncsa.uiuc.edu>
481 498
499 @item Justin Sheehy <dworkin@@ccs.neu.edu>
500
482 @item Stig <stig@@hackvan.com> 501 @item Stig <stig@@hackvan.com>
502
503 @item Aki Vehtari <Aki.Vehtari@@hut.fi>
483 @end itemize 504 @end itemize
484 505
485 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction 506 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction
486 @section What is the status of XEmacs v20? 507 @section What is the status of XEmacs v20?
487 508
488 XEmacs v20 is the version of XEmacs that includes MULE (Asian-language) 509 XEmacs v20 is the version of XEmacs that includes MULE (Asian-language)
489 support. XEmacs 20.0 was released in February 1997. When compiled 510 support. XEmacs 20.0 was released in February 1997, followed by XEmacs
490 without MULE support 20.0 is currently very similar to 19.15 (except for 511 20.2 in May. When compiled without MULE support 20.2 is currently very
491 some changes to the byte-code format, some new primitive types including 512 similar to 19.15 (except for some changes to the byte-code format, some
492 @code{char}, @code{char-table}, and @code{range-table}) and equally 513 new primitive types including @code{char}, @code{char-table}, and
493 stable. 514 @code{range-table}) and equally stable.
494 515
495 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction 516 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction
496 @section What is the status of Asian-language support, aka MULE? 517 @section What is the status of Asian-language support, aka MULE?
497 518
498 The MULE support works OK but still needs a fair amount of work before 519 The MULE support works OK but still needs a fair amount of work before
559 @enumerate 580 @enumerate
560 @item Input character Translation System (ITS) layer. 581 @item Input character Translation System (ITS) layer.
561 It translates ASCII inputs to Kana/PinYin/Hangul characters. 582 It translates ASCII inputs to Kana/PinYin/Hangul characters.
562 583
563 @item Kana/PinYin/Hangul to Kanji transfer layer. 584 @item Kana/PinYin/Hangul to Kanji transfer layer.
564 It is 585 It is interface layer for network Kana-Kanji server (Wnn and Sj3).
565 interface layer for network Kana-Kanji server (Wnn and Sj3).
566 @end enumerate 586 @end enumerate
567 587
568 These input methods are modal, namely there are mode, alphabet mode and 588 These input methods are modal, namely there are mode, alphabet mode and
569 Kana-Kanji transfer mode. However there are mode-less input methods for 589 Kana-Kanji transfer mode. However there are mode-less input methods for
570 Egg and Canna. @samp{Boiled-egg} is a mode-less input method running on 590 Egg and Canna. @samp{Boiled-egg} is a mode-less input method running on
575 plan is stopped. Perhaps after Mule merged GNU Emacs will be released, 595 plan is stopped. Perhaps after Mule merged GNU Emacs will be released,
576 it will be continued. 596 it will be continued.
577 @end quotation 597 @end quotation
578 598
579 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction 599 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction
580 @section How do I portably code for MULE/XEmacs 20.0? 600 @section How do I portably code for MULE/XEmacs 20?
581 601
582 MORIOKA Tomohiko <morioka@@jaist.ac.jp> writes: 602 MORIOKA Tomohiko <morioka@@jaist.ac.jp> writes:
583 603
584 @quotation 604 @quotation
585 MULE and XEmacs are quite different. So the application 605 MULE and XEmacs are quite different. So the application
633 @quotation 653 @quotation
634 There is a cyrillic mode in the file @file{mysetup.zip} in 654 There is a cyrillic mode in the file @file{mysetup.zip} in
635 <URL:ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/>. This is a 655 <URL:ftp://ftp.math.ohio-state.edu/pub/users/ilya/emacs/>. This is a
636 modification to Valery Alexeev's <ava@@math.jhu.ed> @file{russian.el} 656 modification to Valery Alexeev's <ava@@math.jhu.ed> @file{russian.el}
637 which can be obtained from 657 which can be obtained from
638 <URL:ftp://tut.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/russian.el.Z>. 658 <URL:ftp://ftp.cis.ohio-state.edu/pub/gnu/emacs/elisp-archive/packages/russian.el.Z>.
639 @end quotation 659 @end quotation
640 660
641 Dima Barsky <d.barsky@@ee.surrey.ac.uk> writes: 661 Dima Barsky <d.barsky@@ee.surrey.ac.uk> writes:
642 662
643 @quotation 663 @quotation
701 (setq here (point)) 721 (setq here (point))
702 (forward-word 1) 722 (forward-word 1)
703 (setq there (point)) 723 (setq there (point))
704 (setq string (buffer-substring here there))) 724 (setq string (buffer-substring here there)))
705 (while (>= count 1) 725 (while (>= count 1)
706 (progn 726 (insert string)
707 (insert string) 727 (decf count))))
708 (setq count (1- count))))))
709 @end lisp 728 @end lisp
710 729
711 The best way to see what is going on here is to let XEmacs tell you. 730 The best way to see what is going on here is to let XEmacs tell you.
712 Put the code into an XEmacs buffer, and do a @kbd{C-h f} with the cursor 731 Put the code into an XEmacs buffer, and do a @kbd{C-h f} with the cursor
713 sitting just to the right of the function you want explained. Eg. move 732 sitting just to the right of the function you want explained. Eg. move
726 (global-set-key "\C-cd" 'double-word) 745 (global-set-key "\C-cd" 'double-word)
727 @end lisp 746 @end lisp
728 747
729 Or interactively, @kbd{M-x global-set-key} and follow the prompts. 748 Or interactively, @kbd{M-x global-set-key} and follow the prompts.
730 749
731 Jari Aalto has written a guide to Emacs keys binding, available at 750 You can also view Jari Aalto's <jaalto@@tre.ntc.nokia.com> file:
732 <URL:ftp://cs.uta.fi/pub/ssjaaa/ema-keys.gui>. 751
752 @example
753 <URL:ftp://cs.uta.fi/pub/ssjaaa/ema-keys.html>
754 @end example
733 755
734 @node Q1.4.6, Q1.4.7, Q1.4.5, Introduction 756 @node Q1.4.6, Q1.4.7, Q1.4.5, Introduction
735 @section What's the difference between a macro and a function? 757 @section What's the difference between a macro and a function?
736 758
737 Quoting from the Lisp Reference (a.k.a @dfn{lispref}) Manual: 759 Quoting from the Lisp Reference (a.k.a @dfn{Lispref}) Manual:
738 760
739 @dfn{Macros} enable you to define new control constructs and other 761 @dfn{Macros} enable you to define new control constructs and other
740 language features. A macro is defined much like a function, but instead 762 language features. A macro is defined much like a function, but instead
741 of telling how to compute a value, it tells how to compute another Lisp 763 of telling how to compute a value, it tells how to compute another Lisp
742 expression which will in turn compute the value. We call this 764 expression which will in turn compute the value. We call this
745 Macros can do this because they operate on the unevaluated expressions 767 Macros can do this because they operate on the unevaluated expressions
746 for the arguments, not on the argument values as functions do. They can 768 for the arguments, not on the argument values as functions do. They can
747 therefore construct an expansion containing these argument expressions 769 therefore construct an expansion containing these argument expressions
748 or parts of them. 770 or parts of them.
749 771
772 Do not confuse the two terms with @dfn{keyboard macros}, which are
773 another matter, entirely. A keyboard macro is a key bound to several
774 other keys. Refer to manual for details.
775
750 @node Q1.4.7, , Q1.4.6, Introduction 776 @node Q1.4.7, , Q1.4.6, Introduction
751 @section How come options saved with 19.13 don't work with 19.14 or 20.0? 777 @section How come options saved with 19.13 don't work with 19.14 or later?
752 778
753 There's a problem with options of the form: 779 There's a problem with options of the form:
754 780
755 @lisp 781 @lisp
756 (add-spec-list-to-specifier (face-property 'searchm-field 'font) 782 (add-spec-list-to-specifier (face-property 'searchm-field 'font)
757 '((global (nil)))) 783 '((global (nil))))
758 @end lisp 784 @end lisp
759 785
760 saved by a 19.13 XEmacs that causes a 19.14 XEmacs grief. You must 786 saved by a 19.13 XEmacs that causes a 19.14 XEmacs grief. You must
761 delete these options. 19.14 and later no longer write the options 787 delete these options. XEmacs 19.14 and later no longer write the
762 directly to @file{.emacs} which should allow us to deal with version 788 options directly to @file{.emacs} which should allow us to deal with
763 incompatibilities better in the future. 789 version incompatibilities better in the future.
764 790
765 Options saved under XEmacs 19.13 are protected by code that specifically 791 Options saved under XEmacs 19.13 are protected by code that specifically
766 requires a version 19 XEmacs. This won't be a problem unless you're 792 requires a version 19 XEmacs. This won't be a problem unless you're
767 testing XEmacs v20. You should consider changing the code to read: 793 testing XEmacs v20. You should consider changing the code to read:
768 794
772 (boundp 'emacs-major-version) 798 (boundp 'emacs-major-version)
773 (or (and (= emacs-major-version 19) 799 (or (and (= emacs-major-version 19)
774 (>= emacs-minor-version 12)) 800 (>= emacs-minor-version 12))
775 (>= emacs-major-version 20))) 801 (>= emacs-major-version 20)))
776 ... 802 ...
803 ))
777 @end lisp 804 @end lisp
778 805
779 @node Installation, Customization, Introduction, Top 806 @node Installation, Customization, Introduction, Top
780 @chapter Installation and Trouble Shooting 807 @chapter Installation and Trouble Shooting
781 808
782 This is part 2 of the XEmacs Frequently Asked Questions list. This 809 This is part 2 of the XEmacs Frequently Asked Questions list. This
783 section is devoted to Installation, Maintenance and Trouble Shooting. 810 section is devoted to Installation, Maintenance and Trouble Shooting.
784 811
785 @menu 812 @menu
786 Installation: 813 Installation:
787 * Q2.0.1:: Running XEmacs without installing. 814 * Q2.0.1:: Running XEmacs without installing.
788 * Q2.0.2:: XEmacs is too big. 815 * Q2.0.2:: XEmacs is too big.
789 * Q2.0.3:: Compiling XEmacs with Netaudio. 816 * Q2.0.3:: Compiling XEmacs with Netaudio.
790 * Q2.0.4:: Problems with Linux and ncurses. 817 * Q2.0.4:: Problems with Linux and ncurses.
791 * Q2.0.5:: Do I need X11 to run XEmacs? 818 * Q2.0.5:: Do I need X11 to run XEmacs?
792 * Q2.0.6:: I'm having strange crashes. What do I do? 819 * Q2.0.6:: I'm having strange crashes. What do I do?
793 * Q2.0.7:: Libraries in non-standard locations. 820 * Q2.0.7:: Libraries in non-standard locations.
794 * Q2.0.8:: can't resolve symbol _h_errno 821 * Q2.0.8:: can't resolve symbol _h_errno
795 * Q2.0.9:: Where do I find external libraries? 822 * Q2.0.9:: Where do I find external libraries?
796 * Q2.0.10:: After I run configure I find a coredump, is something wrong? 823 * Q2.0.10:: After I run configure I find a coredump, is something wrong?
797 * Q2.0.11:: XEmacs can't resolve host names. 824 * Q2.0.11:: XEmacs can't resolve host names.
798 * Q2.0.12:: Why can't I strip XEmacs? 825 * Q2.0.12:: Why can't I strip XEmacs?
799 * Q2.0.13:: Can't link XEmacs on Solaris with Gcc. 826 * Q2.0.13:: Can't link XEmacs on Solaris with Gcc.
827 * Q2.0.14:: Make on HP/UX 9 fails after linking temacs
800 828
801 Trouble Shooting: 829 Trouble Shooting:
802 * Q2.1.1:: XEmacs just crashed on me! 830 * Q2.1.1:: XEmacs just crashed on me!
803 * Q2.1.2:: Cryptic Minibuffer messages. 831 * Q2.1.2:: Cryptic Minibuffer messages.
804 * Q2.1.3:: Translation Table Syntax messages at Startup. 832 * Q2.1.3:: Translation Table Syntax messages at Startup.
807 * Q2.1.6:: XEmacs just locked up my Linux X server. 835 * Q2.1.6:: XEmacs just locked up my Linux X server.
808 * Q2.1.7:: HP Alt key as Meta. 836 * Q2.1.7:: HP Alt key as Meta.
809 * Q2.1.8:: got (wrong-type-argument color-instance-p nil)! 837 * Q2.1.8:: got (wrong-type-argument color-instance-p nil)!
810 * Q2.1.9:: XEmacs causes my OpenWindows 3.0 server to crash. 838 * Q2.1.9:: XEmacs causes my OpenWindows 3.0 server to crash.
811 * Q2.1.10:: Warnings from incorrect key modifiers. 839 * Q2.1.10:: Warnings from incorrect key modifiers.
812 * Q2.1.11:: @samp{wrong type argument: bufferp, "......"}. 840 * Q2.1.11:: [This question intentionally left blank]
813 * Q2.1.12:: Regular Expression Problems on DEC OSF1. 841 * Q2.1.12:: Regular Expression Problems on DEC OSF1.
814 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure 842 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure
815 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken? 843 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken?
816 * Q2.1.15:: How to debug an XEmacs problem with a debugger. 844 * Q2.1.15:: How to debug an XEmacs problem with a debugger.
817 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10. 845 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10.
819 * Q2.1.18:: 19.14 hangs on HP/UX 10.10. 847 * Q2.1.18:: 19.14 hangs on HP/UX 10.10.
820 * Q2.1.19:: XEmacs does not follow the local timezone. 848 * Q2.1.19:: XEmacs does not follow the local timezone.
821 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.} 849 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.}
822 * Q2.1.21:: Every so often the XEmacs frame freezes. 850 * Q2.1.21:: Every so often the XEmacs frame freezes.
823 * Q2.1.22:: XEmacs seems to take a really long time to do some things. 851 * Q2.1.22:: XEmacs seems to take a really long time to do some things.
852 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later.
824 @end menu 853 @end menu
825 854
826 @node Q2.0.1, Q2.0.2, Installation, Installation 855 @node Q2.0.1, Q2.0.2, Installation, Installation
827 @section Running XEmacs without installing 856 @section Running XEmacs without installing
828 857
835 space. XEmacs is largely written in Lisp. 864 space. XEmacs is largely written in Lisp.
836 865
837 A good method is to make a shell alias for xemacs: 866 A good method is to make a shell alias for xemacs:
838 867
839 @example 868 @example
840 alias xemacs=/i/xemacs-19.14/src/xemacs 869 alias xemacs=/i/xemacs-20.2/src/xemacs
841 @end example 870 @end example
842 871
843 (You will obviously use whatever directory you downloaded the source 872 (You will obviously use whatever directory you downloaded the source
844 tree to instead of @file{/i/xemacs-19.14}). 873 tree to instead of @file{/i/xemacs-20.2}).
845 874
846 This will let you run XEmacs without massive copying. 875 This will let you run XEmacs without massive copying.
847 876
848 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation 877 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation
849 @section XEmacs is too big 878 @section XEmacs is too big
1013 Also, a good megabyte could easily be trimmed from the $r/../etc 1042 Also, a good megabyte could easily be trimmed from the $r/../etc
1014 directory, e.g., the termcap files, some O+NEWS, others that I don't 1043 directory, e.g., the termcap files, some O+NEWS, others that I don't
1015 remember as well. 1044 remember as well.
1016 @end quotation 1045 @end quotation
1017 1046
1047 @quotation
1048 XEmacs 20.3 will unbundle the lisp hierarchy and allow the installer
1049 to choose exactly how much support code gets installed.
1050 @end quotation
1051
1018 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation 1052 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation
1019 @section Compiling XEmacs with Netaudio. 1053 @section Compiling XEmacs with Netaudio.
1020 1054
1021 What is the best way to compile XEmacs with the netaudio system, since I 1055 What is the best way to compile XEmacs with the netaudio system, since I
1022 have got the netaudio system compiled but installed at a weird place, I 1056 have got the netaudio system compiled but installed at a weird place, I
1046 1080
1047 @node Q2.0.4, Q2.0.5, Q2.0.3, Installation 1081 @node Q2.0.4, Q2.0.5, Q2.0.3, Installation
1048 @section Problems with Linux and ncurses. 1082 @section Problems with Linux and ncurses.
1049 1083
1050 On Linux 1.3.98 with termcap 2.0.8 and the ncurses that came with libc 1084 On Linux 1.3.98 with termcap 2.0.8 and the ncurses that came with libc
1051 5.2.18, xemacs 20.0b20 is unable to open a tty device: 1085 5.2.18, XEmacs 20.0b20 is unable to open a tty device:
1052 1086
1053 @example 1087 @example
1054 src/xemacs -nw -q 1088 src/xemacs -nw -q
1055 Initialization error: Terminal type `xterm' undefined (or can't access database?) 1089 Initialization error: Terminal type `xterm' undefined (or can't access database?)
1056 @end example 1090 @end example
1057 1091
1058 Ben Wing <ben@@666.com&gt writes: 1092 Ben Wing <ben@@666.com> writes:
1059 1093
1060 @quotation 1094 @quotation
1061 Your ncurses configuration is messed up. Your /usr/lib/terminfo is a 1095 Your ncurses configuration is messed up. Your /usr/lib/terminfo is a
1062 bad pointer, perhaps to a CD-ROM that is not inserted. 1096 bad pointer, perhaps to a CD-ROM that is not inserted.
1063 @end quotation 1097 @end quotation
1146 @section Where do I find external libraries? 1180 @section Where do I find external libraries?
1147 1181
1148 All external libraries used by XEmacs can be found at the XEmacs FTP 1182 All external libraries used by XEmacs can be found at the XEmacs FTP
1149 site <URL:ftp://ftp.xemacs.org/pub/aux/>. 1183 site <URL:ftp://ftp.xemacs.org/pub/aux/>.
1150 1184
1151 The canonical locations are as follows: 1185 The canonical locations (at the time of this writing) are as follows:
1152 1186
1153 @table @asis 1187 @table @asis
1154 @item JPEG 1188 @item JPEG
1155 <URL:ftp://ftp.netcom.com/pub/tg/tgl/uunet/>, mirrored at
1156 <URL:ftp://ftp.uu.net/graphics/jpeg/>. Version 6a is current. 1189 <URL:ftp://ftp.uu.net/graphics/jpeg/>. Version 6a is current.
1157 1190
1158 @item XPM 1191 @item XPM
1159 <URL:ftp://ftp.x.org/contrib/libraries/>. Version 3.4j is current. 1192 <URL:ftp://ftp.x.org/contrib/libraries/>. Version 3.4j is current.
1160 Older versions of this package are known to cause XEmacs crashes. 1193 Older versions of this package are known to cause XEmacs crashes.
1181 <URL:ftp://ftp.x.org/contrib/audio/nas/>. 1214 <URL:ftp://ftp.x.org/contrib/audio/nas/>.
1182 Version 1.2p5 is current. There is a FAQ here. 1215 Version 1.2p5 is current. There is a FAQ here.
1183 @end table 1216 @end table
1184 1217
1185 @node Q2.0.10, Q2.0.11, Q2.0.9, Installation 1218 @node Q2.0.10, Q2.0.11, Q2.0.9, Installation
1186 @section After I run configure I find a coredump, is something wrong? 1219 @section After I run configure I find a core dump, is something wrong?
1187 1220
1188 Not necessarily. If you have GNU sed 3.0 you should downgrade it to 1221 Not necessarily. If you have GNU sed 3.0 you should downgrade it to
1189 2.05. From the @file{README} at prep.ai.mit.edu: 1222 2.05. From the @file{README} at prep.ai.mit.edu:
1190 1223
1191 @quotation 1224 @quotation
1197 mean time, we've decided to withdraw sed 3.0 from distribution and make 1230 mean time, we've decided to withdraw sed 3.0 from distribution and make
1198 version 2.05 once again the recommended version. 1231 version 2.05 once again the recommended version.
1199 @end quotation 1232 @end quotation
1200 1233
1201 It has also been observed that the vfork test on Solaris will leave a 1234 It has also been observed that the vfork test on Solaris will leave a
1202 coredump. 1235 core dump.
1203 1236
1204 @node Q2.0.11, Q2.0.12, Q2.0.10, Installation 1237 @node Q2.0.11, Q2.0.12, Q2.0.10, Installation
1205 @section XEmacs doesn't resolve hostnames. 1238 @section XEmacs doesn't resolve hostnames.
1206 1239
1207 This is the result of a long-standing problem with SunOS and the fact 1240 This is the result of a long-standing problem with SunOS and the fact
1252 @quotation 1285 @quotation
1253 Here is the trick: 1286 Here is the trick:
1254 1287
1255 @enumerate 1288 @enumerate
1256 @item 1289 @item
1257 [ configure; make ] 1290 [ ./configure; make ]
1258 1291
1259 @item 1292 @item
1260 cd src 1293 rm src/xemacs
1261 1294
1262 @item 1295 @item
1263 rm xemacs 1296 strip src/temacs
1264
1265 @item
1266 strip temacs
1267
1268 @item
1269 cd ..
1270 1297
1271 @item 1298 @item
1272 make 1299 make
1273 1300
1274 @item 1301 @item
1275 cp src/xemacs /usr/local/bin/xemacs 1302 cp src/xemacs /usr/local/bin/xemacs
1276 1303
1277 @item 1304 @item
1278 cp lib-src/DOC-19.14-XEmacs /usr/local/lib/xemacs-19.14/i586-unknown-linuxaout 1305 cp lib-src/DOC-19.15-XEmacs /usr/local/lib/xemacs-19.15/i586-unknown-linuxaout
1279 @end enumerate 1306 @end enumerate
1280 @end quotation 1307 @end quotation
1281 1308
1282 @node Q2.0.13, Q2.1.1, Q2.0.12, Installation 1309 @node Q2.0.13, Q2.0.14, Q2.0.12, Installation
1283 @section Problems linking with Gcc on Solaris 1310 @section Problems linking with Gcc on Solaris
1284 1311
1285 There are known difficulties linking with Gnu ld on Solaris. A typical 1312 There are known difficulties linking with Gnu ld on Solaris. A typical
1286 error message might look like: 1313 error message might look like:
1287 1314
1296 @quotation 1323 @quotation
1297 You need to specify @samp{-fno-gnu-linker} as part of your flags to pass 1324 You need to specify @samp{-fno-gnu-linker} as part of your flags to pass
1298 to ld. Future releases of XEmacs will try to do this automatically. 1325 to ld. Future releases of XEmacs will try to do this automatically.
1299 @end quotation 1326 @end quotation
1300 1327
1301 @node Q2.1.1, Q2.1.2, Q2.0.13, Installation 1328 @node Q2.0.14, Q2.1.1, Q2.0.13, Installation
1329 @section Make on HP/UX 9 fails after linking temacs
1330
1331 Problem when building xemacs-19.15 on hpux 9:
1332
1333 Richard Cognot <cognot@@ensg.u-nancy.fr> writes:
1334
1335 @quotation
1336 make on hpux fails after linking temacs with a message:
1337
1338 @example
1339 "make: don't know how to make .y."
1340 @end example
1341
1342 Solution: This is a problem with HP make revision 70.X. Either use GNU
1343 make, or install PHCO_6552, which will bring make to revision
1344 72.24.1.17.
1345 @end quotation
1346
1347
1348 @node Q2.1.1, Q2.1.2, Q2.0.14, Installation
1302 @section Help! XEmacs just crashed on me! 1349 @section Help! XEmacs just crashed on me!
1303 1350
1304 First of all, don't panic. Whenever XEmacs crashes, it tries extremely 1351 First of all, don't panic. Whenever XEmacs crashes, it tries extremely
1305 hard to auto-save all of your files before dying. (The main time that 1352 hard to auto-save all of your files before dying. (The main time that
1306 this will not happen is if the machine physically lost power or if you 1353 this will not happen is if the machine physically lost power or if you
1307 killed the XEmacs process using @code{kill -9}). The next time you try 1354 killed the XEmacs process using @code{kill -9}). The next time you try
1308 to edit those files, you will be informed that a more recent auto-save 1355 to edit those files, you will be informed that a more recent auto-save
1309 file exists. You can use @kbd{M-x recover-file} to retrieve the 1356 file exists. You can use @kbd{M-x recover-file} to retrieve the
1310 auto-saved version of the file. 1357 auto-saved version of the file.
1311 1358
1312 Starting with 19.14, you may use the command @kbd{M-x recover-session} 1359 Starting with 19.14, you may use the command @kbd{M-x recover-session}
1415 hardcoded at compile time so if the system the binary was built on puts 1462 hardcoded at compile time so if the system the binary was built on puts
1416 it a different place than your system does, you have problems. To fix, 1463 it a different place than your system does, you have problems. To fix,
1417 set the environment variable @var{XKEYSYMDB} to the location of the 1464 set the environment variable @var{XKEYSYMDB} to the location of the
1418 @file{XKeysymDB} file on your system or to the location of the one 1465 @file{XKeysymDB} file on your system or to the location of the one
1419 included with XEmacs which should be at 1466 included with XEmacs which should be at
1420 @file{<xemacs_root_directory>/lib/xemacs-19.14/etc/XKeysymDB}. 1467 @file{<xemacs_root_directory>/lib/xemacs-19.15/etc/XKeysymDB}.
1421 1468
1422 @item 1469 @item
1423 The binary is finding the XKeysymDB but it is out-of-date on your system 1470 The binary is finding the XKeysymDB but it is out-of-date on your system
1424 and does not contain the necessary lines. Either ask your system 1471 and does not contain the necessary lines. Either ask your system
1425 administrator to replace it with the one which comes with XEmacs (which 1472 administrator to replace it with the one which comes with XEmacs (which
1463 the host you are running XEmacs from. 1510 the host you are running XEmacs from.
1464 1511
1465 @node Q2.1.6, Q2.1.7, Q2.1.5, Installation 1512 @node Q2.1.6, Q2.1.7, Q2.1.5, Installation
1466 @section XEmacs just locked up my Linux X server! 1513 @section XEmacs just locked up my Linux X server!
1467 1514
1468 Help! XEmacs just locked up my X server on my Linux box!
1469
1470 There have been several reports of the X server locking up under Linux. 1515 There have been several reports of the X server locking up under Linux.
1471 In all reported cases removing speedo and scaled fonts from the font 1516 In all reported cases removing speedo and scaled fonts from the font
1472 path corrected the problem. This can be done with the command 1517 path corrected the problem. This can be done with the command
1473 '@code{xset}. 1518 @code{xset}.
1474 1519
1475 It is possible that using a font server may also solve the problem. 1520 It is possible that using a font server may also solve the problem.
1476 1521
1477 @node Q2.1.7, Q2.1.8, Q2.1.6, Installation 1522 @node Q2.1.7, Q2.1.8, Q2.1.6, Installation
1478 @section HP Alt key as Meta. 1523 @section HP Alt key as Meta.
1569 add mod2 = Mode_switch 1614 add mod2 = Mode_switch
1570 EOF 1615 EOF
1571 @end example 1616 @end example
1572 1617
1573 @node Q2.1.11, Q2.1.12, Q2.1.10, Installation 1618 @node Q2.1.11, Q2.1.12, Q2.1.10, Installation
1574 @section @samp{wrong type argument: bufferp, "......"}. 1619 @section [This question intentionally left blank]
1575 1620
1576 I'm using XEmacs 19.13 on Solaris 2.5. I'm having problem using the 1621 Obsolete question, left blank to avoid renumbering.
1577 bookmark. When I try to set a bookmark, I always get the following error
1578 message:
1579
1580 @lisp
1581 wrong type argument: bufferp, "......"
1582 @end lisp
1583
1584 You are using the wrong version of @code{set-text-properties}. Please
1585 use the one given with Q5.1.3 (@xref{Q5.1.3}).
1586 1622
1587 @node Q2.1.12, Q2.1.13, Q2.1.11, Installation 1623 @node Q2.1.12, Q2.1.13, Q2.1.11, Installation
1588 @section Problems with Regular Expressions on DEC OSF1. 1624 @section Problems with Regular Expressions on DEC OSF1.
1589 1625
1590 I have xemacs 19.13 running on an alpha running OSF1 V3.2 148 and ispell 1626 I have xemacs 19.13 running on an alpha running OSF1 V3.2 148 and ispell
1785 have no idea why GDB under Linux is so bogus. Complain to the GDB 1821 have no idea why GDB under Linux is so bogus. Complain to the GDB
1786 authors, or to comp.os.linux.development.system). Again, you'll have to 1822 authors, or to comp.os.linux.development.system). Again, you'll have to
1787 use the narrowing-down process described above. 1823 use the narrowing-down process described above.
1788 1824
1789 @item 1825 @item
1790 If you compiled 19.14 with @samp{--debug} (or by default in 19.15), you 1826 If you compiled 19.14 with @samp{--debug} (or by default in later
1791 will get a Lisp backtrace output when XEmacs crashes, so you'll have 1827 versions), you will get a Lisp backtrace output when XEmacs crashes, so
1792 something useful. If you're in 19.13, you could try doing @code{call 1828 you'll have something useful. If you're in 19.13, you could try doing
1793 debug_backtrace()}---sometimes this works even after a fatal signal has 1829 @code{call debug_backtrace()}---sometimes this works even after a fatal
1794 been received. 1830 signal has been received.
1795 @end enumerate 1831 @end enumerate
1796 @end itemize 1832 @end itemize
1797 @end quotation 1833 @end quotation
1798 1834
1799 Here's some more info about using gdbinit: 1835 Here's some more info about using gdbinit:
1865 @end example 1901 @end example
1866 1902
1867 @node Q2.1.17, Q2.1.18, Q2.1.16, Installation 1903 @node Q2.1.17, Q2.1.18, Q2.1.16, Installation
1868 @section @samp{Marker does not point anywhere} 1904 @section @samp{Marker does not point anywhere}
1869 1905
1870 This is a problem with line-number-mode in XEmacs 19.14, and affects a 1906 As with other errors, set @code{debug-on-error} to @code{t} to get the
1871 large number of other packages. If you see this error message, turn off 1907 backtrace when the error occurs. Specifically, two problems have been
1908 reported (and fixed).
1909
1910 @enumerate
1911 @item
1912 A problem with line-number-mode in XEmacs 19.14 affected a large number
1913 of other packages. If you see this error message, turn off
1872 line-number-mode. 1914 line-number-mode.
1915
1916 @item
1917 A problem with some early versions of Gnus 5.4 caused this error.
1918 Upgrade your Gnus.
1919 @end enumerate
1873 1920
1874 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation 1921 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation
1875 @section 19.14 hangs on HP/UX 10.10. 1922 @section 19.14 hangs on HP/UX 10.10.
1876 1923
1877 Richard Cognot <cognot@@ensg.u-nancy.fr> writes: 1924 Richard Cognot <cognot@@ensg.u-nancy.fr> writes:
1913 The @samp{poll: interrupted system call} message. 1960 The @samp{poll: interrupted system call} message.
1914 1961
1915 @item 1962 @item
1916 A more serious problem I had discovered in the meantime, that is the 1963 A more serious problem I had discovered in the meantime, that is the
1917 fact that subprocess handling was seriously broken: subprocesses 1964 fact that subprocess handling was seriously broken: subprocesses
1918 e.g. started by AUCTeX for TeX compilation of a buffer would 1965 e.g. started by AUC TeX for TeX compilation of a buffer would
1919 @emph{hang}. Actually they would wait forever for emacs to read the 1966 @emph{hang}. Actually they would wait forever for emacs to read the
1920 socket which connects stdout... 1967 socket which connects stdout...
1921 @end enumerate 1968 @end enumerate
1922 @end quotation 1969 @end quotation
1923 1970
1950 @section Every so often the XEmacs frame freezes 1997 @section Every so often the XEmacs frame freezes
1951 1998
1952 This problem has been fixed in 19.15, and was due to a not easily 1999 This problem has been fixed in 19.15, and was due to a not easily
1953 reproducible race condition. 2000 reproducible race condition.
1954 2001
1955 @node Q2.1.22, , Q2.1.21, Installation 2002 @node Q2.1.22, Q2.1.23, Q2.1.21, Installation
1956 @section XEmacs seems to take a really long time to do some things 2003 @section XEmacs seems to take a really long time to do some things
1957 2004
1958 David Moore <dmoore@@ucsd.edu> writes: 2005 David Moore <dmoore@@ucsd.edu> writes:
1959 2006
1960 @quotation 2007 @quotation
1968 2015
1969 @example 2016 @example
1970 gdb /path/to/xemacs/xemacs #### 2017 gdb /path/to/xemacs/xemacs ####
1971 @end example 2018 @end example
1972 2019
1973 Where #### is the process id of your xemacs, instead of specifying the 2020 Where @code{####} is the process id of your xemacs, instead of
1974 core. When gdb attaches, the xemacs will stop [1] and you can type 2021 specifying the core. When gdb attaches, the xemacs will stop [1] and
1975 `where' in gdb to get a stack trace as usual. To get things moving 2022 you can type `where' in gdb to get a stack trace as usual. To get
1976 again, you can just type `quit' in gdb. It'll tell you the program is 2023 things moving again, you can just type `quit' in gdb. It'll tell you
1977 running and ask if you want to quit anyways. Say 'y' and it'll quit and 2024 the program is running and ask if you want to quit anyways. Say 'y' and
1978 have your emacs continue from where it was at. 2025 it'll quit and have your emacs continue from where it was at.
1979 2026
1980 2) Lisp level: 2027 2) Lisp level:
1981 2028
1982 Turn on debug-on-quit early on. When you think things are going slow 2029 Turn on debug-on-quit early on. When you think things are going slow
1983 hit C-g and it may pop you in the debugger so you can see what routine 2030 hit C-g and it may pop you in the debugger so you can see what routine
1985 2032
1986 debug-on-quit doesn't work if something's turned on inhibit-quit or in 2033 debug-on-quit doesn't work if something's turned on inhibit-quit or in
1987 some other strange cases. 2034 some other strange cases.
1988 @end quotation 2035 @end quotation
1989 2036
2037 @node Q2.1.23, , Q2.1.22, Installation
2038 @section Movemail on Linux doe snot work for XEmacs 19.15 and later.
2039
2040 Movemail used to work fine in 19.14 but has stopped working in 19.15
2041 and 20.x. I am using Linux.
2042
2043 Steven L Baur <steve@@miranova.com> writes:
2044
2045 @quotation
2046 Movemail on Linux used to default to using flock file locking. With
2047 19.15 and later versions it now defaults to using @code{.lock} file
2048 locking. If this is not appropriate for your system, edit src/s/linux.h
2049 and uncomment the line that reads:
2050
2051 @example
2052 #define MAIL_USE_FLOCK
2053 @end example
2054 @end quotation
2055
1990 @node Customization, Subsystems, Installation, Top 2056 @node Customization, Subsystems, Installation, Top
1991 @chapter Customization and Options 2057 @chapter Customization and Options
1992 2058
1993 This is part 3 of the XEmacs Frequently Asked Questions list. This 2059 This is part 3 of the XEmacs Frequently Asked Questions list. This
1994 section is devoted to Customization and screen settings. 2060 section is devoted to Customization and screen settings.
1995 2061
1996 @menu 2062 @menu
1997 Customization---Emacs Lisp and @file{.emacs}: 2063 Customization---Emacs Lisp and @file{.emacs}:
1998 * Q3.0.1:: What version of Emacs am I running? 2064 * Q3.0.1:: What version of Emacs am I running?
1999 * Q3.0.2:: How do I evaluate Elisp expressions? 2065 * Q3.0.2:: How do I evaluate Elisp expressions?
2000 * Q3.0.3:: @code{(setq tab-width 6)} behaves oddly. 2066 * Q3.0.3:: @code{(setq tab-width 6)} behaves oddly.
2001 * Q3.0.4:: How can I add directories to the @code{load-path}? 2067 * Q3.0.4:: How can I add directories to the @code{load-path}?
2002 * Q3.0.5:: How to check if a lisp function is defined? 2068 * Q3.0.5:: How to check if a lisp function is defined?
2003 * Q3.0.6:: Can I force the output of @code{(face-list)} to a buffer? 2069 * Q3.0.6:: Can I force the output of @code{(face-list)} to a buffer?
2004 * Q3.0.7:: Font selections don't get saved after @code{Save Options}. 2070 * Q3.0.7:: Font selections don't get saved after @code{Save Options}.
2005 * Q3.0.8:: How do I make a single minibuffer frame? 2071 * Q3.0.8:: How do I make a single minibuffer frame?
2006 2072
2007 X Window System & Resources: 2073 X Window System & Resources:
2008 * Q3.1.1:: Where is a list of X resources? 2074 * Q3.1.1:: Where is a list of X resources?
2009 * Q3.1.2:: How can I detect a color display? 2075 * Q3.1.2:: How can I detect a color display?
2010 * Q3.1.3:: @code{(set-screen-width)} worked in 19.6, but not in 19.13? 2076 * Q3.1.3:: @code{(set-screen-width)} worked in 19.6, but not in 19.13?
2011 * Q3.1.4:: Specifiying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.13? 2077 * Q3.1.4:: Specifiying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15?
2012 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}? 2078 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}?
2013 * Q3.1.6:: How can I have the window title area display the full path? 2079 * Q3.1.6:: How can I have the window title area display the full path?
2014 * Q3.1.7:: @samp{xemacs -name junk} doesn't work? 2080 * Q3.1.7:: @samp{xemacs -name junk} doesn't work?
2015 * Q3.1.8:: @samp{-iconic} it doesn't work. 2081 * Q3.1.8:: @samp{-iconic} it doesn't work.
2016 2082
2017 Textual Fonts & Colors: 2083 Textual Fonts & Colors:
2018 * Q3.2.1:: How can I set color options from @file{.emacs}? 2084 * Q3.2.1:: How can I set color options from @file{.emacs}?
2019 * Q3.2.2:: How do I set the text, menu and modeline fonts? 2085 * Q3.2.2:: How do I set the text, menu and modeline fonts?
2020 * Q3.2.3:: How can I set the colors when highlighting a region? 2086 * Q3.2.3:: How can I set the colors when highlighting a region?
2021 * Q3.2.4:: How can I limit color map usage? 2087 * Q3.2.4:: How can I limit color map usage?
2022 * Q3.2.5:: My tty supports color, but XEmacs doesn't use them. 2088 * Q3.2.5:: My tty supports color, but XEmacs doesn't use them.
2023 2089
2024 The Modeline: 2090 The Modeline:
2025 * Q3.3.1:: How can I make the modeline go away? 2091 * Q3.3.1:: How can I make the modeline go away?
2026 * Q3.3.2:: How do you have XEmacs display the line number in the modeline? 2092 * Q3.3.2:: How do you have XEmacs display the line number in the modeline?
2027 * Q3.3.3:: How do I get XEmacs to put the time of day on the modeline? 2093 * Q3.3.3:: How do I get XEmacs to put the time of day on the modeline?
2028 * Q3.3.4:: How do I turn off current chapter from AUC-TeX modeline? 2094 * Q3.3.4:: How do I turn off current chapter from AUC TeX modeline?
2029 * Q3.3.5:: How can one change the modeline color based on the mode used? 2095 * Q3.3.5:: How can one change the modeline color based on the mode used?
2030 2096
2031 3.4 Multiple Device Support: 2097 3.4 Multiple Device Support:
2032 * Q3.4.1:: How do I open a frame on another screen of my multi-headed display? 2098 * Q3.4.1:: How do I open a frame on another screen of my multi-headed display?
2033 * Q3.4.2:: Can I really connect to a running XEmacs after calling up over a modem? How? 2099 * Q3.4.2:: Can I really connect to a running XEmacs after calling up over a modem? How?
2034 2100
2035 3.5 The Keyboard: 2101 3.5 The Keyboard:
2036 * Q3.5.1:: How can I bind complex functions (or macros) to keys? 2102 * Q3.5.1:: How can I bind complex functions (or macros) to keys?
2037 * Q3.5.2:: How can I stop down-arrow from adding empty lines to the bottom of my buffers? 2103 * Q3.5.2:: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
2038 * Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down? 2104 * Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down?
2039 * Q3.5.4:: Globally binding @kbd{Delete}? 2105 * Q3.5.4:: Globally binding @kbd{Delete}?
2040 * Q3.5.5:: Scrolling one line at a time. 2106 * Q3.5.5:: Scrolling one line at a time.
2041 * Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard? 2107 * Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard?
2042 * Q3.5.7:: How can you type in special characters in XEmacs? 2108 * Q3.5.7:: How can you type in special characters in XEmacs?
2043 * Q3.5.8:: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? 2109 * Q3.5.8:: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain?
2044 * Q3.5.9:: How do I make the Delete key delete forward? 2110 * Q3.5.9:: How do I make the Delete key delete forward?
2045 * Q3.5.10:: Can I turn on @dfn{sticky} modifier keys? 2111 * Q3.5.10:: Can I turn on @dfn{sticky} modifier keys?
2046 2112
2071 * Q3.9.2:: How can one use resources to change scrollbar colors? 2137 * Q3.9.2:: How can one use resources to change scrollbar colors?
2072 * Q3.9.3:: Moving the scrollbar can move the point; can I disable this? 2138 * Q3.9.3:: Moving the scrollbar can move the point; can I disable this?
2073 * Q3.9.4:: How can I get automatic horizontal scrolling? 2139 * Q3.9.4:: How can I get automatic horizontal scrolling?
2074 2140
2075 Text Selections: 2141 Text Selections:
2076 * Q3.10.1:: How can I turn off or change highlighted selections? 2142 * Q3.10.1:: How can I turn off or change highlighted selections?
2077 * Q3.10.2:: How do I get that typing on an active region removes it? 2143 * Q3.10.2:: How do I get that typing on an active region removes it?
2078 * Q3.10.3:: Can I turn off the highlight during isearch? 2144 * Q3.10.3:: Can I turn off the highlight during isearch?
2079 * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? 2145 * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
2080 * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling. 2146 * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling.
2081 @end menu 2147 @end menu
2085 2151
2086 How can @file{.emacs} determine which of the family of Emacsen I am 2152 How can @file{.emacs} determine which of the family of Emacsen I am
2087 using? 2153 using?
2088 2154
2089 To determine if you are currently running GNU Emacs 18, GNU Emacs 19, 2155 To determine if you are currently running GNU Emacs 18, GNU Emacs 19,
2090 XEmacs 19, or Epoch, and use appropriate code, check out the example 2156 XEmacs 19, XEmacs 20, or Epoch, and use appropriate code, check out the
2091 given in @file{etc/sample.emacs}. There are other nifty things in there 2157 example given in @file{etc/sample.emacs}. There are other nifty things
2092 as well! 2158 in there as well!
2093 2159
2094 For all new code, all you really need to do is: 2160 For all new code, all you really need to do is:
2095 2161
2096 @lisp 2162 @lisp
2097 (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version)) 2163 (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
2102 2168
2103 I know I can evaluate Elisp expressions from @code{*scratch*} buffer 2169 I know I can evaluate Elisp expressions from @code{*scratch*} buffer
2104 with @kbd{C-j} after the expression. How do I do it from another 2170 with @kbd{C-j} after the expression. How do I do it from another
2105 buffer? 2171 buffer?
2106 2172
2107 Use the following code: 2173 Press @kbd{M-:} (the default binding of @code{eval-expression}), and
2108 2174 enter the expression to the minibuffer. In XEmacs prior to 19.15
2109 @lisp 2175 @code{eval-expression} used to be a disabled command by default. If
2110 (put 'eval-expression 'disabled nil) 2176 this is the case, upgrade your XEmacs.
2111 @end lisp
2112
2113 This sets it so that hitting @kbd{M-:} lets you type a single expression
2114 to be evaluated. This line can also be put into your @file{.emacs}.
2115 2177
2116 @node Q3.0.3, Q3.0.4, Q3.0.2, Customization 2178 @node Q3.0.3, Q3.0.4, Q3.0.2, Customization
2117 @section @code{(setq tab-width 6)} behaves oddly. 2179 @section @code{(setq tab-width 6)} behaves oddly.
2118 2180
2119 If you put @code{(setq tab-width 6)} in your @file{.emacs} file it does 2181 If you put @code{(setq tab-width 6)} in your @file{.emacs} file it does
2130 front of the load-path, the other at the end: 2192 front of the load-path, the other at the end:
2131 2193
2132 @lisp 2194 @lisp
2133 ;;; Add things at the beginning of the load-path, do not add 2195 ;;; Add things at the beginning of the load-path, do not add
2134 ;;; duplicate directories: 2196 ;;; duplicate directories:
2135 (if (null (member "bar" load-path)) 2197 (pushnew "bar" load-path :test 'equal)
2136 (setq load-path (cons "bar" load-path))) 2198
2137 2199 (pushnew "foo" load-path :test 'equal)
2138 (if (null (member "foo" load-path))
2139 (setq load-path (cons "foo" load-path)))
2140 2200
2141 ;;; Add things at the end, unconditionally 2201 ;;; Add things at the end, unconditionally
2142 (setq load-path (append load-path '("foo" "bar"))) 2202 (setq load-path (nconc load-path '("foo" "bar")))
2143 @end lisp 2203 @end lisp
2144 2204
2145 keith (k.p.) hanlan <keithh@@nortel.ca> writes: 2205 keith (k.p.) hanlan <keithh@@nortel.ca> writes:
2146 2206
2147 @quotation 2207 @quotation
2148 To add directories using Unix shell metacharacters use 2208 To add directories using Unix shell metacharacters use
2149 @file{expand-file-name} like this: 2209 @file{expand-file-name} like this:
2150 2210
2151 @lisp 2211 @lisp
2152 (setq load-path (cons (expand-file-name "~keithh/.emacsdir") load-path)) 2212 (push (expand-file-name "~keithh/.emacsdir") load-path)
2153 @end lisp 2213 @end lisp
2154 @end quotation 2214 @end quotation
2155 2215
2156 @node Q3.0.5, Q3.0.6, Q3.0.4, Customization 2216 @node Q3.0.5, Q3.0.6, Q3.0.4, Customization
2157 @section How to check if a lisp function is defined? 2217 @section How to check if a lisp function is defined?
2185 @code{(face-list)} is too wide to fit to a minibuffer. 2245 @code{(face-list)} is too wide to fit to a minibuffer.
2186 2246
2187 Evaluate the expression in the @samp{*scratch*} buffer with point after 2247 Evaluate the expression in the @samp{*scratch*} buffer with point after
2188 the rightmost paren and typing @kbd{C-j}. 2248 the rightmost paren and typing @kbd{C-j}.
2189 2249
2250 If the minibuffer smallness is the only problem you encounter, you can
2251 simply press @kbd{C-h l} to get the former minibuffer contents in a
2252 buffer.
2253
2190 @node Q3.0.7, Q3.0.8, Q3.0.6, Customization 2254 @node Q3.0.7, Q3.0.8, Q3.0.6, Customization
2191 @section Font selections don't get saved after @code{Save Options}. 2255 @section Font selections in don't get saved after @code{Save Options}.
2256
2257 For XEmacs 19.14 and previous:
2192 2258
2193 John Mann <mannj@@ll.mit.edu> writes: 2259 John Mann <mannj@@ll.mit.edu> writes:
2194 2260
2195 @quotation 2261 @quotation
2196 You have to go to Options->Menubar Appearance and unselect 2262 You have to go to Options->Menubar Appearance and unselect
2197 @samp{Frame-Local Font Menu}. If this option is selected, font changes 2263 @samp{Frame-Local Font Menu}. If this option is selected, font changes
2198 are only applied to the @emph{current} frame and do @emph{not} get saved 2264 are only applied to the @emph{current} frame and do @emph{not} get saved
2199 when you save options. 2265 when you save options.
2200 @end quotation 2266 @end quotation
2267
2268 For XEmacs 19.15 and later:
2269
2270 Implement the above as well as set the following in your @file{.emacs}
2271
2272 @lisp
2273 (setq options-save-faces t)
2274 @end lisp
2201 2275
2202 @node Q3.0.8, Q3.1.1, Q3.0.7, Customization 2276 @node Q3.0.8, Q3.1.1, Q3.0.7, Customization
2203 @section How do I get a single minibuffer frame? 2277 @section How do I get a single minibuffer frame?
2204 2278
2205 Vin Shelton <acs@@acm.org> writes: 2279 Vin Shelton <acs@@acm.org> writes:
2267 (set-frame-width (selected-frame) @var{characters}) 2341 (set-frame-width (selected-frame) @var{characters})
2268 (set-frame-height (selected-frame) @var{lines}) 2342 (set-frame-height (selected-frame) @var{lines})
2269 @end lisp 2343 @end lisp
2270 2344
2271 @node Q3.1.4, Q3.1.5, Q3.1.3, Customization 2345 @node Q3.1.4, Q3.1.5, Q3.1.3, Customization
2272 @section Specifiying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.13? 2346 @section Specifiying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15?
2273 2347
2274 In XEmacs 19.11 I specified @code{Emacs*EmacsScreen.geometry} in 2348 In XEmacs 19.11 I specified @code{Emacs*EmacsScreen.geometry} in
2275 my @file{.emacs} but this does not work in XEmacs 19.13. 2349 my @file{.emacs} but this does not work in XEmacs 19.15.
2276 2350
2277 We have switched from using the term @dfn{screen} to using the term 2351 We have switched from using the term @dfn{screen} to using the term
2278 @dfn{frame}. 2352 @dfn{frame}.
2279 2353
2280 The correct entry for your @file{.Xdefaults} is now: 2354 The correct entry for your @file{.Xdefaults} is now:
2430 (enter) ?}. It uses the face specification of @code{attributeFont}, 2504 (enter) ?}. It uses the face specification of @code{attributeFont},
2431 while menubar is a normal X thing that uses the specification 2505 while menubar is a normal X thing that uses the specification
2432 @code{font}. With Motif it may be necessary to use @code{fontList} 2506 @code{font}. With Motif it may be necessary to use @code{fontList}
2433 instead of @code{font}. 2507 instead of @code{font}.
2434 2508
2435 Suggestions on improving the answer to this question would be
2436 appreciated.
2437
2438 @node Q3.2.3, Q3.2.4, Q3.2.2, Customization 2509 @node Q3.2.3, Q3.2.4, Q3.2.2, Customization
2439 @section How can I set the colors when highlighting a region? 2510 @section How can I set the colors when highlighting a region?
2440 2511
2441 How can I set the background/foreground colors when highlighting a 2512 How can I set the background/foreground colors when highlighting a
2442 region? 2513 region?
2460 @section How can I limit color map usage? 2531 @section How can I limit color map usage?
2461 2532
2462 I'm using Netscape (or another color grabber like XEmacs); 2533 I'm using Netscape (or another color grabber like XEmacs);
2463 is there anyway to limit the number of available colors in the color map? 2534 is there anyway to limit the number of available colors in the color map?
2464 2535
2465 XEmacs 19.13 doesn't have such a mechanism (unlike netscape, or other 2536 XEmacs 19.13 didn't have such a mechanism (unlike netscape, or other
2466 color-hogs). One solution is to start XEmacs prior to netscape, since 2537 color-hogs). One solution is to start XEmacs prior to netscape, since
2467 this will prevent Netscape from grabbing all colors (but Netscape will 2538 this will prevent Netscape from grabbing all colors (but Netscape will
2468 complain). You can use the flags for Netscape, like -mono, -ncols <#> 2539 complain). You can use the flags for Netscape, like -mono, -ncols <#>
2469 or -install (for mono, limiting to <#> colors, or for using a private 2540 or -install (for mono, limiting to <#> colors, or for using a private
2470 color map). Since Netscape will take the entire colormap and never 2541 color map). Since Netscape will take the entire colormap and never
2521 @lisp 2592 @lisp
2522 (display-time) 2593 (display-time)
2523 @end lisp 2594 @end lisp
2524 2595
2525 @node Q3.3.4, Q3.3.5, Q3.3.3, Customization 2596 @node Q3.3.4, Q3.3.5, Q3.3.3, Customization
2526 @section How do I turn off current chapter from AUC-TeX modeline? 2597 @section How do I turn off current chapter from AUC TeX modeline?
2527 2598
2528 With AUC-TeX, fast typing is hard because the current chapter, section 2599 With AUC TeX, fast typing is hard because the current chapter, section
2529 etc. are given in the modeline. How can I turn this off? 2600 etc. are given in the modeline. How can I turn this off?
2530 2601
2531 It's not auc-tex, it comes from @code{func-menu} in @file{func-menu.el}. 2602 It's not AUC TeX, it comes from @code{func-menu} in @file{func-menu.el}.
2532 Add this code to your @file{.emacs} to turn it off: 2603 Add this code to your @file{.emacs} to turn it off:
2533 2604
2534 @lisp 2605 @lisp
2535 (setq fume-display-in-modeline-p nil) 2606 (setq fume-display-in-modeline-p nil)
2536 @end lisp 2607 @end lisp
2561 2632
2562 You can use something like the following: 2633 You can use something like the following:
2563 2634
2564 @lisp 2635 @lisp
2565 (add-hook 'lisp-mode-hook 2636 (add-hook 'lisp-mode-hook
2566 '(lambda () (set-face-background 'modeline "red" (current-buffer)) 2637 (lambda ()
2567 (set-face-foreground 'modeline "yellow" (current-buffer)))) 2638 (set-face-background 'modeline "red" (current-buffer))))
2568 @end lisp 2639 @end lisp
2569 2640
2570 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline 2641 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
2571 colors change from the default set in your @file{.emacs}. The change 2642 colors change from the default set in your @file{.emacs}. The change
2572 will only be made in the buffer you just entered (which contains the 2643 will only be made in the buffer you just entered (which contains the
2593 eg. @code{(set-face-font 'modeline "*bold-r-normal*140-100-100*" 2664 eg. @code{(set-face-font 'modeline "*bold-r-normal*140-100-100*"
2594 (current-buffer))} if you wish the modeline font to vary based on the 2665 (current-buffer))} if you wish the modeline font to vary based on the
2595 current mode. 2666 current mode.
2596 @end itemize 2667 @end itemize
2597 2668
2598 This works in 19.14 as well, but there are additional modeline faces, 2669 This works in 19.15 as well, but there are additional modeline faces,
2599 @code{modeline-buffer-id}, @code{modeline-mousable}, and 2670 @code{modeline-buffer-id}, @code{modeline-mousable}, and
2600 @code{modeline-mousable-minor-mode}, which you may want to customize. 2671 @code{modeline-mousable-minor-mode}, which you may want to customize.
2601 2672
2602 @node Q3.4.1, Q3.4.2, Q3.3.5, Customization 2673 @node Q3.4.1, Q3.4.2, Q3.3.5, Customization
2603 @section How do I open a frame on another screen of my multi-headed display? 2674 @section How do I open a frame on another screen of my multi-headed display?
2604 2675
2605 The support for this has been revamped for 19.14. Use the command 2676 The support for this was revamped for 19.14. Use the command
2606 @kbd{M-x make-frame-on-display}. This command is also on the File menu 2677 @kbd{M-x make-frame-on-display}. This command is also on the File menu
2607 in the menubar. 2678 in the menubar.
2608 2679
2609 XEmacs 19.14 also has the command @code{make-frame-on-tty} which will 2680 XEmacs 19.14 and later also have the command @code{make-frame-on-tty}
2610 establish a connection to any tty-like device. 2681 which will establish a connection to any tty-like device. Opening the
2682 TTY devices should be left to @code{gnuclient}, though.
2611 2683
2612 @node Q3.4.2, Q3.5.1, Q3.4.1, Customization 2684 @node Q3.4.2, Q3.5.1, Q3.4.1, Customization
2613 @section Can I really connect to a running XEmacs after calling up over a modem? How? 2685 @section Can I really connect to a running XEmacs after calling up over a modem? How?
2614 2686
2615 If you're not running at least XEmacs 19.14, you can't. Otherwise check 2687 If you're not running at least XEmacs 19.14, you can't. Otherwise check
2616 out the @code{gnuattach} program supplied with XEmacs. 2688 out the @code{gnuattach} program supplied with XEmacs. Starting with
2689 XEmacs 20.3, @code{gnuattach} and @code{gnudoit} functionality will be
2690 provided by @code{gnuclient}.
2617 2691
2618 @node Q3.5.1, Q3.5.2, Q3.4.2, Customization 2692 @node Q3.5.1, Q3.5.2, Q3.4.2, Customization
2619 @section How can I bind complex functions (or macros) to keys? 2693 @section How can I bind complex functions (or macros) to keys?
2620 2694
2621 As an example, say you want the @kbd{paste} key on a Sun keyboard to 2695 As an example, say you want the @kbd{paste} key on a Sun keyboard to
2632 otherwise insert the contents of the clipboard. To do this you need to 2706 otherwise insert the contents of the clipboard. To do this you need to
2633 pass arguments to @code{x-insert-selection}. This is done by wrapping 2707 pass arguments to @code{x-insert-selection}. This is done by wrapping
2634 the call in a 'lambda form: 2708 the call in a 'lambda form:
2635 2709
2636 @lisp 2710 @lisp
2637 (define-key global-map [f18] 2711 (global-set-key [f18]
2638 (function (lambda () (interactive) (x-insert-selection t nil)))) 2712 (lambda () (interactive) (x-insert-selection t nil)))
2639 @end lisp 2713 @end lisp
2640 2714
2641 This binds the f18 key to a @dfn{generic} functional object. The 2715 This binds the f18 key to a @dfn{generic} functional object. The
2642 interactive spec is required because only interactive functions can be 2716 interactive spec is required because only interactive functions can be
2643 bound to keys. Also take a look at the doc for @code{function}. 2717 bound to keys.
2644 2718
2645 For the FAQ example you could use: 2719 For the FAQ example you could use:
2646 2720
2647 @lisp 2721 @lisp
2648 (global-set-key [(control ?.)] 2722 (global-set-key [(control ?.)]
2649 (function (lambda () (interactive) (scroll-up 1)))) 2723 (lambda () (interactive) (scroll-up 1)))
2650 (global-set-key [(control ?;)] 2724 (global-set-key [(control ?;)]
2651 (function (lambda () (interactive) (scroll-up -1)))) 2725 (lambda () (interactive) (scroll-up -1)))
2652 @end lisp 2726 @end lisp
2653 2727
2654 This is fine if you only need a few functions within the lambda body. 2728 This is fine if you only need a few functions within the lambda body.
2655 If you're doing more it's cleaner to define a separate function as in 2729 If you're doing more it's cleaner to define a separate function as in
2656 question 3.5.3 (@xref{Q3.5.3}). 2730 question 3.5.3 (@xref{Q3.5.3}).
2662 2736
2663 @lisp 2737 @lisp
2664 (setq next-line-add-newlines nil) 2738 (setq next-line-add-newlines nil)
2665 @end lisp 2739 @end lisp
2666 2740
2741 This has been the default setting in XEmacs for some time.
2742
2667 @node Q3.5.3, Q3.5.4, Q3.5.2, Customization 2743 @node Q3.5.3, Q3.5.4, Q3.5.2, Customization
2668 @section How do I bind C-. and C-; to scroll one line up and down? 2744 @section How do I bind C-. and C-; to scroll one line up and down?
2669 2745
2670 Add the following (Thanks to Richard Mlynarik <mly@@adoc.xerox.com> and 2746 Add the following (Thanks to Richard Mlynarik <mly@@adoc.xerox.com> and
2671 Wayne Newberry <wayne@@zen.cac.stratus.com>) to @file{.emacs}: 2747 Wayne Newberry <wayne@@zen.cac.stratus.com>) to @file{.emacs}:
2677 2753
2678 (defun scroll-down-one-line () 2754 (defun scroll-down-one-line ()
2679 (interactive) 2755 (interactive)
2680 (scroll-down 1)) 2756 (scroll-down 1))
2681 2757
2682 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-. 2758 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
2683 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-; 2759 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
2684 @end lisp 2760 @end lisp
2685 2761
2686 The key point is that you can only bind simple functions to keys; you 2762 The key point is that you can only bind simple functions to keys; you
2687 can not bind a key to a function that you're also passing arguments to. 2763 can not bind a key to a function that you're also passing arguments to.
2688 (@xref{Q3.5.1} for a better answer). 2764 (@xref{Q3.5.1} for a better answer).
2692 2768
2693 I cannot manage to globally bind my @kbd{Delete} key to something other 2769 I cannot manage to globally bind my @kbd{Delete} key to something other
2694 than the default. How does one do this? 2770 than the default. How does one do this?
2695 2771
2696 @lisp 2772 @lisp
2697 (defun Foo () 2773 (defun foo ()
2698 (interactive) 2774 (interactive)
2699 (message "You hit DELETE")) 2775 (message "You hit DELETE"))
2700 2776
2701 (global-set-key 'delete 'Foo) 2777 (global-set-key 'delete 'foo)
2702 @end lisp 2778 @end lisp
2703 2779
2704 However, some modes explicitly bind @kbd{Delete}, so you would need to 2780 However, some modes explicitly bind @kbd{Delete}, so you would need to
2705 add a hook that does @code{local-set-key} for them. If what you want to 2781 add a hook that does @code{local-set-key} for them. If what you want to
2706 do is make the Backspace and Delete keys work more PC/Motif-like, then 2782 do is make the Backspace and Delete keys work more PC/Motif-like, then
2727 (defun scroll-one-line-down (&optional arg) 2803 (defun scroll-one-line-down (&optional arg)
2728 "Scroll the selected window down (backward in the text) one line (or N)." 2804 "Scroll the selected window down (backward in the text) one line (or N)."
2729 (interactive "p") 2805 (interactive "p")
2730 (scroll-down (or arg 1))) 2806 (scroll-down (or arg 1)))
2731 2807
2732 (global-set-key 'up 'scroll-one-line-up) 2808 (global-set-key [up] 'scroll-one-line-up)
2733 (global-set-key 'down 'scroll-one-line-down) 2809 (global-set-key [down] 'scroll-one-line-down)
2734 @end lisp 2810 @end lisp
2735
2736 2811
2737 The following will also work but will affect more than just the cursor 2812 The following will also work but will affect more than just the cursor
2738 keys (i.e. @kbd{C-n} and @kbd{C-p}): 2813 keys (i.e. @kbd{C-n} and @kbd{C-p}):
2739 2814
2740 @lisp 2815 @lisp
2748 2823
2749 @lisp 2824 @lisp
2750 (global-set-key [help] 'help-command) ;; Help 2825 (global-set-key [help] 'help-command) ;; Help
2751 @end lisp 2826 @end lisp
2752 2827
2753 The following works in XEmacs 19.13 with the addition of shift: 2828 The following works in XEmacs 19.15 with the addition of shift:
2754 2829
2755 @lisp 2830 @lisp
2756 (global-set-key [(shift help)] 'help-command) ;; Help 2831 (global-set-key [(shift help)] 'help-command) ;; Help
2757 @end lisp 2832 @end lisp
2758 2833
2771 @section How can you type in special characters in XEmacs? 2846 @section How can you type in special characters in XEmacs?
2772 2847
2773 One way is to use the package @samp{x-compose}. Then you can use 2848 One way is to use the package @samp{x-compose}. Then you can use
2774 sequences like @kbd{Compose " a} to get ä, etc. 2849 sequences like @kbd{Compose " a} to get ä, etc.
2775 2850
2776 Another way is to use the iso8859-1 package. 2851 Another way is to use the iso-ascii package, provided in XEmacs 19.15
2852 and later.
2777 2853
2778 @node Q3.5.8, Q3.5.9, Q3.5.7, Customization 2854 @node Q3.5.8, Q3.5.9, Q3.5.7, Customization
2779 @section Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? 2855 @section Why does @code{(global-set-key [delete-forward] 'delete-char)} complain?
2780 2856
2781 Why does @code{(define-key global-map [ delete-forward ] 'delete-char)} 2857 Why does @code{(define-key global-map [ delete-forward ] 'delete-char)}
2800 This bug has been fixed in 19.14. 2876 This bug has been fixed in 19.14.
2801 2877
2802 @node Q3.5.9, Q3.5.10, Q3.5.8, Customization 2878 @node Q3.5.9, Q3.5.10, Q3.5.8, Customization
2803 @section How do I make the Delete key delete forward? 2879 @section How do I make the Delete key delete forward?
2804 2880
2805 Use the @file{delbackspace} package: 2881 Use the @file{delbs} package:
2806 2882
2807 @lisp 2883 @lisp
2808 (load-library "delbackspace") 2884 (require 'delbs)
2809 @end lisp 2885 @end lisp
2886
2887 This will give you the functions @code{delbs-enable-delete-forward} to
2888 set things up, and @code{delbs-disable-delete-forward} to revert to
2889 ``normal'' behavior.
2810 2890
2811 Also @xref{Q3.5.4}. 2891 Also @xref{Q3.5.4}.
2812 2892
2813 @node Q3.5.10, Q3.6.1, Q3.5.9, Customization 2893 @node Q3.5.10, Q3.6.1, Q3.5.9, Customization
2814 @section Can I turn on @dfn{sticky} modifier keys? 2894 @section Can I turn on @dfn{sticky} modifier keys?
2820 2900
2821 Ben Wing <ben@@666.com> writes: 2901 Ben Wing <ben@@666.com> writes:
2822 2902
2823 @quotation 2903 @quotation
2824 One thing about the sticky modifiers is that if you move the mouse out 2904 One thing about the sticky modifiers is that if you move the mouse out
2825 of the frame and back in, it cancels all currently "stuck" modifiers. 2905 of the frame and back in, it cancels all currently ``stuck'' modifiers.
2826 @end quotation 2906 @end quotation
2827 2907
2828 @node Q3.6.1, Q3.6.2, Q3.5.10, Customization 2908 @node Q3.6.1, Q3.6.2, Q3.5.10, Customization
2829 @section Is there a way to make the bar cursor thicker? 2909 @section Is there a way to make the bar cursor thicker?
2830 2910
2880 (but does not cut) the expression under the mouse. Clicking middle on a 2960 (but does not cut) the expression under the mouse. Clicking middle on a
2881 left or right paren will select to the matching one. Note that you can 2961 left or right paren will select to the matching one. Note that you can
2882 use @code{define-key} or @code{global-set-key}. 2962 use @code{define-key} or @code{global-set-key}.
2883 2963
2884 @lisp 2964 @lisp
2885 (defun Mouse-Set-Point-and-Select (event) 2965 (defun mouse-set-point-and-select (event)
2886 "Sets the point at the mouse location, then marks following form" 2966 "Sets the point at the mouse location, then marks following form"
2887 (interactive "@@e") 2967 (interactive "@@e")
2888 (mouse-set-point event) 2968 (mouse-set-point event)
2889 (mark-sexp 1) 2969 (mark-sexp 1))
2890 ) 2970 (define-key global-map [button2] 'mouse-set-point-and-select)
2891 (define-key global-map 'button2 'Mouse-Set-Point-and-Select)
2892 @end lisp 2971 @end lisp
2893 2972
2894 @node Q3.7.2, Q3.7.3, Q3.7.1, Customization 2973 @node Q3.7.2, Q3.7.3, Q3.7.1, Customization
2895 @section How do I set control/meta/etc modifiers on mouse buttons? 2974 @section How do I set control/meta/etc modifiers on mouse buttons?
2896 2975
2917 Use the middle mouse button. 2996 Use the middle mouse button.
2918 2997
2919 @node Q3.7.4, Q3.7.5, Q3.7.3, Customization 2998 @node Q3.7.4, Q3.7.5, Q3.7.3, Customization
2920 @section How can I get a list of buffers when I hit mouse button 3? 2999 @section How can I get a list of buffers when I hit mouse button 3?
2921 3000
2922 The following code will actually replace the default popup on button3: 3001 The following code will replace the default popup on button3:
2923 3002
2924 @lisp 3003 @lisp
2925 (defun cw-build-buffers () 3004 (global-set-key [button3] 'popup-buffer-menu)
2926 "Popup buffer menu."
2927 (interactive "@@")
2928 (run-hooks 'activate-menubar-hook)
2929 (popup-menu (car (find-menu-item current-menubar '("Buffers")))))
2930
2931 (define-key global-map [(button3)] 'cw-build-buffers)
2932 @end lisp 3005 @end lisp
2933 3006
2934 @node Q3.7.5, Q3.7.6, Q3.7.4, Customization 3007 @node Q3.7.5, Q3.7.6, Q3.7.4, Customization
2935 @section Why does cut-and-paste not work between XEmacs and a cmdtool? 3008 @section Why does cut-and-paste not work between XEmacs and a cmdtool?
2936 3009
3064 @section How can I bind a key to a function to toggle the toolbar? 3137 @section How can I bind a key to a function to toggle the toolbar?
3065 3138
3066 Try something like: 3139 Try something like:
3067 3140
3068 @lisp 3141 @lisp
3069 (global-set-key [(control x) T] 3142 (defun my-toggle-toolbar ()
3070 '(lambda () (interactive) 3143 (interactive)
3071 (set-specifier default-toolbar-visible-p 3144 (set-specifier default-toolbar-visible-p
3072 (not (specifier-instance 3145 (not (specifier-instance default-toolbar-visible-p))))
3073 default-toolbar-visible-p))))) 3146 (global-set-key "\C-xT" 'my-toggle-toolbar)
3074 @end lisp 3147 @end lisp
3075 3148
3076 There are redisplay bugs in 19.14 that may make the preceding result in 3149 There are redisplay bugs in 19.14 that may make the preceding result in
3077 a messed-up display, especially for frames with multiple windows. You 3150 a messed-up display, especially for frames with multiple windows. You
3078 may need to resize the frame before XEmacs completely realizes the 3151 may need to resize the frame before XEmacs completely realizes the
3093 3166
3094 To turn the scrollbar off on a per-frame basis, use the following 3167 To turn the scrollbar off on a per-frame basis, use the following
3095 function: 3168 function:
3096 3169
3097 @lisp 3170 @lisp
3098 (set-specifier scrollbar-width (cons (selected-frame) 0)) 3171 (set-specifier scrollbar-width 0 (selected-frame))
3099 @end lisp 3172 @end lisp
3100 3173
3101 You can actually turn the scrollbars on at any level you want by 3174 You can actually turn the scrollbars on at any level you want by
3102 substituting for (selected-frame) in the above command. For example, to 3175 substituting for (selected-frame) in the above command. For example, to
3103 turn the scrollbars off only in a single buffer: 3176 turn the scrollbars off only in a single buffer:
3104 3177
3105 @lisp 3178 @lisp
3106 (set-specifier scrollbar-width (cons (current-buffer) 0)) 3179 (set-specifier scrollbar-width 0 (current-buffer))
3107 @end lisp 3180 @end lisp
3108 3181
3109 Starting with 19.14 you can use the more logical form: 3182 In XEmacs versions prior to 19.14, you had to use the hairier construct:
3110 3183
3111 @lisp 3184 @lisp
3112 (set-specifier scrollbar-width 0 (selected-frame)) 3185 (set-specifier scrollbar-width (cons (selected-frame) 0))
3113 @end lisp 3186 @end lisp
3114 3187
3115 @node Q3.9.2, Q3.9.3, Q3.9.1, Customization 3188 @node Q3.9.2, Q3.9.3, Q3.9.1, Customization
3116 @section How can one use resources to change scrollbar colors? 3189 @section How can one use resources to change scrollbar colors?
3117 3190
3183 3256
3184 @lisp 3257 @lisp
3185 (setq zmacs-regions nil) 3258 (setq zmacs-regions nil)
3186 @end lisp 3259 @end lisp
3187 3260
3188 To change the face for selection, look at @code{Options->Edit Faces} on 3261 To change the face for selection, look at @code{Options->Customize} on
3189 the menubar. 3262 the menubar.
3190 3263
3191 @node Q3.10.2, Q3.10.3, Q3.10.1, Customization 3264 @node Q3.10.2, Q3.10.3, Q3.10.1, Customization
3192 @section How do I get that typing on an active region removes it? 3265 @section How do I get that typing on an active region removes it?
3193 3266
3286 * Q4.0.12:: Customization of VM not covered in the manual or here. 3359 * Q4.0.12:: Customization of VM not covered in the manual or here.
3287 3360
3288 Web browsing with W3: 3361 Web browsing with W3:
3289 * Q4.1.1:: What is W3? 3362 * Q4.1.1:: What is W3?
3290 * Q4.1.2:: How do I run W3 from behind a firewall? 3363 * Q4.1.2:: How do I run W3 from behind a firewall?
3364 * Q4.1.3:: Is it true that W3 supports style sheets and tables?
3291 3365
3292 Reading Netnews and Mail with Gnus: 3366 Reading Netnews and Mail with Gnus:
3293 * Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, argh! 3367 * Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus,argh!
3294 * Q4.2.2:: [This question intentionally left blank] 3368 * Q4.2.2:: [This question intentionally left blank]
3295 * Q4.2.3:: How do I make Gnus stay within a single frame? 3369 * Q4.2.3:: How do I make Gnus stay within a single frame?
3296 * Q4.2.4:: How do I customize the From: line? 3370 * Q4.2.4:: How do I customize the From: line?
3297 3371
3298 Other Mail & News: 3372 Other Mail & News:
3301 * Q4.3.3:: Why isn't this @code{movemail} program working? 3375 * Q4.3.3:: Why isn't this @code{movemail} program working?
3302 * Q4.3.4:: Movemail is also distributed by Netscape? Can that cause problems? 3376 * Q4.3.4:: Movemail is also distributed by Netscape? Can that cause problems?
3303 * Q4.3.5:: Where do I find pstogif (required by tm)? 3377 * Q4.3.5:: Where do I find pstogif (required by tm)?
3304 3378
3305 Sparcworks, EOS, and WorkShop: 3379 Sparcworks, EOS, and WorkShop:
3306 * Q4.4.1:: What is SPARCworks, EOS, and WorkShop 3380 * Q4.4.1:: What is SPARCworks, EOS, and WorkShop
3307 3381
3308 Energize: 3382 Energize:
3309 * Q4.5.1:: What is/was Energize? 3383 * Q4.5.1:: What is/was Energize?
3310 3384
3311 Infodock: 3385 Infodock:
3312 * Q4.6.1:: What is Infodock? 3386 * Q4.6.1:: What is Infodock?
3313 3387
3314 Other Unbundled Packages: 3388 Other Unbundled Packages:
3315 * Q4.7.1:: What is AucTeX? Where do you get it? 3389 * Q4.7.1:: What is AUC TeX? Where do you get it?
3316 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets? 3390 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets?
3317 * Q4.7.3:: Byte compiling AucTeX on XEmacs 19.14 3391 * Q4.7.3:: Byte compiling AUC TeX on XEmacs 19.14
3318 * Q4.7.4:: Problems installing AucTeX 3392 * Q4.7.4:: Problems installing AUC TeX
3393 * Q4.7.5:: Is there a reason for an Emacs package not to be included in XEmacs?
3319 @end menu 3394 @end menu
3320 3395
3321 @node Q4.0.1, Q4.0.2, Subsystems, Subsystems 3396 @node Q4.0.1, Q4.0.2, Subsystems, Subsystems
3322 @section How do I set up VM to retrieve mail from a remote site using POP? 3397 @section How do I set up VM to retrieve mail from a remote site using POP?
3323 3398
3339 <URL:ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/>. 3414 <URL:ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/>.
3340 3415
3341 Also see the Mail Filtering FAQ at: 3416 Also see the Mail Filtering FAQ at:
3342 <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html>. 3417 <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html>.
3343 3418
3344 Another possibility is to check out Gnus 5. Gnus 5 has mail splitting
3345 capability, and can use VM as a mail reading backend.
3346
3347 @node Q4.0.3, Q4.0.4, Q4.0.2, Subsystems 3419 @node Q4.0.3, Q4.0.4, Q4.0.2, Subsystems
3348 @section How can I get VM to automatically check for new mail? 3420 @section How can I get VM to automatically check for new mail?
3349 3421
3350 John Turner <turner@@lanl.gov> writes: 3422 John Turner <turner@@lanl.gov> writes:
3351 3423
3382 Note that each string is a regular expression. 3454 Note that each string is a regular expression.
3383 3455
3384 @node Q4.0.7, Q4.0.8, Q4.0.6, Subsystems 3456 @node Q4.0.7, Q4.0.8, Q4.0.6, Subsystems
3385 @section Is there a mailing list or FAQ for VM? 3457 @section Is there a mailing list or FAQ for VM?
3386 3458
3387 There is no archived FAQ for VM. 3459 A FAQ for VM exists at <URL:http://www.cyberpass.net/~gorkab/vmfaq.htm>.
3388 3460
3389 Kyle Jones <kyle_jones@@wonderworks.com> writes: 3461 VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
3390
3391 @quotation
3392 No, I'm too atavistic to write one. For some reason I'd rather just
3393 answer the questions myself. I guess it serves a purpose in that the VM
3394 user community knows that I'm still alive, despite the 9 months since
3395 the last release.
3396 @end quotation
3397
3398 VM has its own newsgroup gnu.emacs.vm.info.
3399 3462
3400 @node Q4.0.8, Q4.0.9, Q4.0.7, Subsystems 3463 @node Q4.0.8, Q4.0.9, Q4.0.7, Subsystems
3401 @section Remote Mailreading with VM. 3464 @section Remote Mailreading with VM.
3402 3465
3403 My mailbox lives at the office on a big honkin server. My regular INBOX 3466 My mailbox lives at the office on a big honkin server. My regular INBOX
3436 @end quotation 3499 @end quotation
3437 3500
3438 @node Q4.0.9, Q4.0.10, Q4.0.8, Subsystems 3501 @node Q4.0.9, Q4.0.10, Q4.0.8, Subsystems
3439 @section rmail or VM gets an error incorporating new mail. 3502 @section rmail or VM gets an error incorporating new mail.
3440 3503
3441 >From the XEmacs PROBLEMS file: 3504 Quoting the XEmacs PROBLEMS file:
3442 3505
3443 @quotation 3506 @quotation
3444 rmail and VM get new mail from @file{/usr/spool/mail/$USER} using a 3507 rmail and VM get new mail from @file{/usr/spool/mail/$USER} using a
3445 program called @code{movemail}. This program interlocks with 3508 program called @code{movemail}. This program interlocks with
3446 @code{/bin/mail} using the protocol defined by @code{/bin/mail}. 3509 @code{/bin/mail} using the protocol defined by @code{/bin/mail}.
3554 XEmacs. It has full support for cascaded style sheets, and more... 3617 XEmacs. It has full support for cascaded style sheets, and more...
3555 3618
3556 It has a home web page at 3619 It has a home web page at
3557 <URL:http://www.cs.indiana.edu/elisp/w3/docs.html>. 3620 <URL:http://www.cs.indiana.edu/elisp/w3/docs.html>.
3558 3621
3559 @node Q4.1.2, Q4.2.1, Q4.1.1, Subsystems 3622 @node Q4.1.2, Q4.1.3, Q4.1.1, Subsystems
3560 @section How do I run W3 from behind a firewall? 3623 @section How do I run W3 from behind a firewall?
3561 3624
3562 There is a long, well-written, detailed section in the W3 manual that 3625 There is a long, well-written, detailed section in the W3 manual that
3563 describes how to do this. Look in the section entitled "Firewalls". 3626 describes how to do this. Look in the section entitled "Firewalls".
3564 3627
3565 @node Q4.2.1, Q4.2.2, Q4.1.2, Subsystems 3628 @node Q4.1.3, Q4.2.1, Q4.1.2, Subsystems
3629 @section Is it true that W3 supports style sheets and tables?
3630
3631 Yes, and much more. W3, as distributed with the latest XEmacs is a
3632 full-featured web browser.
3633
3634 @node Q4.2.1, Q4.2.2, Q4.1.3, Subsystems
3566 @section GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Mamey Sapote Gnus, argh! 3635 @section GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Mamey Sapote Gnus, argh!
3567 3636
3568 Please see <URL:http://www.ccs.neu.edu/software/gnus/> for details. 3637 The Gnus numbering issues are not meant for mere mortals to know them.
3638 If you feel you @emph{must} enter the muddy waters of Gnus, visit the
3639 excellent FAQ, maintained by Justin Sheehy, at:
3640
3641 @example
3642 <URL:http://www.ccs.neu.edu/software/gnus/>
3643 @end example
3569 3644
3570 @node Q4.2.2, Q4.2.3, Q4.2.1, Subsystems 3645 @node Q4.2.2, Q4.2.3, Q4.2.1, Subsystems
3571 @section This question intentionally left blank. 3646 @section This question intentionally left blank.
3572 3647
3573 Obsolete question, left blank to avoid renumbering. 3648 Obsolete question, left blank to avoid renumbering.
3574 3649
3575 @node Q4.2.3, Q4.2.4, Q4.2.2, Subsystems 3650 @node Q4.2.3, Q4.2.4, Q4.2.2, Subsystems
3576 @section How do I make Gnus stay within a single frame? 3651 @section How do I make Gnus stay within a single frame?
3577 3652
3578 When starting Gnus from the toolbar it is automatically put into a new 3653 The toolbar code to start Gnus opens the new frame---and it's a feature
3579 frame. Gnus not being frame-aware code, has no provision to disable 3654 rather than a bug. If you don't like it, but would still like to click
3580 this feature. If you feel this is a problem here are some workarounds: 3655 on the seemly icon, use the following code:
3581
3582 @enumerate
3583 @item
3584 Don't start Gnus from the toolbar, use @kbd{M-x gnus}. This is what I
3585 do.
3586
3587 @item
3588 Redefine the function called by the toolbar:
3589 3656
3590 @lisp 3657 @lisp
3591 (defun toolbar-news () 3658 (defun toolbar-news ()
3592 "Run Gnus in the frame it was started from."
3593 (interactive)
3594 (gnus)) 3659 (gnus))
3595 @end lisp 3660 @end lisp
3596 @end enumerate 3661
3662 It will redefine the callback function of the icon to just call
3663 @code{gnus}, without all the fancy frame stuff.
3597 3664
3598 @node Q4.2.4, Q4.3.1, Q4.2.3, Subsystems 3665 @node Q4.2.4, Q4.3.1, Q4.2.3, Subsystems
3599 @section How do I customize the From: line? 3666 @section How do I customize the From: line?
3600 3667
3601 How do I change the @code{From:} line? I have set gnus-user-from-line 3668 How do I change the @code{From:} line? I have set gnus-user-from-line
3632 TM stands for @dfn{Tools for MIME} and not Tiny MIME. TM integrates 3699 TM stands for @dfn{Tools for MIME} and not Tiny MIME. TM integrates
3633 with all major XEmacs packages like Gnus (all flavors), VM, MH-E, and 3700 with all major XEmacs packages like Gnus (all flavors), VM, MH-E, and
3634 mailcrypt. It provides totally transparent and trouble-free MIME 3701 mailcrypt. It provides totally transparent and trouble-free MIME
3635 support. When appropriate a message will be decoded in place in an 3702 support. When appropriate a message will be decoded in place in an
3636 XEmacs buffer. 3703 XEmacs buffer.
3704
3705 TM now comes as a package with XEmacs 19.15 and XEmacs 20.0.
3637 3706
3638 TM was written by MORIOKA Tomohiko <morioka@@jaist.ac.jp> and KOBAYASHI 3707 TM was written by MORIOKA Tomohiko <morioka@@jaist.ac.jp> and KOBAYASHI
3639 Shuhei <shuhei-k@@jaist.ac.jp>. It is based on the work of UMEDA 3708 Shuhei <shuhei-k@@jaist.ac.jp>. It is based on the work of UMEDA
3640 Masanobu <umerin@@mse.kyutech.ac.jp>, the original writer of GNUS. 3709 Masanobu <umerin@@mse.kyutech.ac.jp>, the original writer of GNUS.
3641 3710
3720 SPARCworks is SunSoft's development environment, comprising compilers 3789 SPARCworks is SunSoft's development environment, comprising compilers
3721 (C, C++, FORTRAN 77, Fortran 90, Ada, and Pascal), a debugger, and other 3790 (C, C++, FORTRAN 77, Fortran 90, Ada, and Pascal), a debugger, and other
3722 tools such as TeamWare (for configuration management), MakeTool, etc. 3791 tools such as TeamWare (for configuration management), MakeTool, etc.
3723 @end quotation 3792 @end quotation
3724 3793
3725 See <URL:http://www.sun.com/sunsoft/Developer-products/products.html> 3794 See <URL:http://www.sun.com/sunsoft/Developer-products/>
3726 for more info. 3795 for more info.
3727 3796
3728 EOS stands for "Era on SPARCworks", but I don't know what Era stands 3797 EOS stands for "Era on SPARCworks", but I don't know what Era stands
3729 for. 3798 for.
3730 3799
3921 3990
3922 Read the @file{ID-INSTALL} file which you just retrieved for 3991 Read the @file{ID-INSTALL} file which you just retrieved for
3923 step-by-step installation instructions. 3992 step-by-step installation instructions.
3924 3993
3925 @node Q4.7.1, Q4.7.2, Q4.6.1, Subsystems 3994 @node Q4.7.1, Q4.7.2, Q4.6.1, Subsystems
3926 @section What is AucTeX? Where do you get it? 3995 @section What is AUC TeX? Where do you get it?
3927 3996
3928 AucTeX is a package written by Per Abrahamsen <abraham@@dina.kvl.dk>. 3997 AUC TeX is a package written by Per Abrahamsen <abraham@@dina.kvl.dk>.
3929 The following information is from the @file{README} and website. 3998 Starting with XEmacs 19.15, AUC TeX is bundled with XEmacs. The
3999 following information is from the @file{README} and website.
3930 4000
3931 AUC TeX is an extensible package that supports writing and formatting 4001 AUC TeX is an extensible package that supports writing and formatting
3932 TeX files for most variants of GNU Emacs. Many different macro packages 4002 TeX files for most variants of GNU Emacs. Many different macro packages
3933 are supported, including AMS TeX, LaTeX, and TeXinfo. 4003 are supported, including AMS TeX, LaTeX, and TeXinfo.
3934 4004
3946 4016
3947 Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at 4017 Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at
3948 <URL:ftp://cs.nyu.edu/pub/local/fox/dismal/>. 4018 <URL:ftp://cs.nyu.edu/pub/local/fox/dismal/>.
3949 4019
3950 @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems 4020 @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems
3951 @section Byte compiling AucTeX on XEmacs 19.14. 4021 @section Byte compiling AUC TeX on XEmacs 19.14.
3952 4022
3953 Georges Brun-Cottan <bruncott@@dormeur.inria.fr> writes: 4023 Georges Brun-Cottan <bruncott@@dormeur.inria.fr> writes:
3954 4024
3955 @quotation 4025 @quotation
3956 When byte compiling auxtex-9.4g, you must use the command: 4026 When byte compiling auxtex-9.4g, you must use the command:
3958 @example 4028 @example
3959 xemacs -batch -l lpath.el 4029 xemacs -batch -l lpath.el
3960 @end example 4030 @end example
3961 @end quotation 4031 @end quotation
3962 4032
3963 @node Q4.7.4, , Q4.7.3, Subsystems 4033 @node Q4.7.4, Q4.7.5, Q4.7.3, Subsystems
3964 @section Problems installing AucTeX. 4034 @section Problems installing AUC TeX.
3965 4035
3966 Jan Vroonhof <vroonhof@@math.ethz.ch> writes: 4036 Jan Vroonhof <vroonhof@@math.ethz.ch> writes:
3967 4037
3968 @quotation 4038 @quotation
3969 AucTeX works fine on both stock Emacs and XEmacs has been doing so for a 4039 AUC TeX works fine on both stock Emacs and XEmacs has been doing so for
3970 very very long time. This is mostly due to the work of Per Abrahamsen 4040 a very very long time. This is mostly due to the work of Per Abrahamsen
3971 <abraham@@dina.kvl.dk> (clap clap) in particular his @file{easymenu} 4041 <abraham@@dina.kvl.dk> (clap clap) in particular his @file{easymenu}
3972 package. Which leads to what is probably the problem... 4042 package. Which leads to what is probably the problem...
3973 @end quotation 4043 @end quotation
3974 4044
3975 Most problems with AucTeX are one of two things: 4045 Most problems with AUC TeX are one of two things:
3976 4046
3977 @itemize @bullet 4047 @itemize @bullet
3978 @item 4048 @item
3979 The TeX-lisp-directory in @file{tex-site.el} and the makefile don't 4049 The TeX-lisp-directory in @file{tex-site.el} and the makefile don't
3980 match. 4050 match.
3981 4051
3982 Fix: make sure you configure AucTeX properly @strong{before} installing. 4052 Fix: make sure you configure AUC TeX properly @strong{before} installing.
3983 4053
3984 @item 4054 @item
3985 You have an old version of easymenu.el in your path. 4055 You have an old version of easymenu.el in your path.
3986 4056
3987 Fix: use @code{locate-library} and remove old versions to make sure it 4057 Fix: use @code{locate-library} and remove old versions to make sure it
3988 @strong{only} finds the one that came with XEmacs. 4058 @strong{only} finds the one that came with XEmacs.
3989 @end itemize 4059 @end itemize
4060
4061
4062 @node Q4.7.5, , Q4.7.4, Subsystems
4063 @section Is there a reason for an Emacs package not to be included in XEmacs?
4064
4065 The reason for an Emacs package not to be included in XEmacs is
4066 usually one or more of the following:
4067
4068 @enumerate
4069 @item
4070 The package has not been ported to XEmacs. This will typically happen
4071 when it uses GNU-Emacs-specific features, which make it fail under
4072 XEmacs.
4073
4074 Porting a package to XEmacs can range from a trivial amount of change to
4075 a partial or full rewrite. Fortunately, the authors of modern packages
4076 usually choose to support both Emacsen themselves.
4077
4078 @item
4079 The package has been decided not to be appropriate for XEmacs. It may
4080 have an equivalent or better replacement within XEmacs, in which case
4081 the developers may choose not to burden themselves with supporting an
4082 additional package.
4083
4084 Each package bundled with XEmacs means more work for the maintainers,
4085 whether they want it or not. If you are ready to take over the
4086 maintainence responsibilities for the package you port, be sure to say
4087 so -- we will more likely include it.
4088
4089 @item
4090 The package simply hasn't been noted by the XEmacs development. If
4091 that's the case, the messages like yours are very useful for attracting
4092 our attention.
4093
4094 @item
4095 The package was noted by the developers, but they simply haven't yet
4096 gotten around to including/porting it. Wait for the next release or,
4097 even better, offer your help. It will be gladly accepted and
4098 appreciated.
4099 @end enumerate
3990 4100
3991 @node Miscellaneous, Current Events, Subsystems, Top 4101 @node Miscellaneous, Current Events, Subsystems, Top
3992 @chapter The Miscellaneous Stuff 4102 @chapter The Miscellaneous Stuff
3993 4103
3994 This is part 5 of the XEmacs Frequently Asked Questions list. This 4104 This is part 5 of the XEmacs Frequently Asked Questions list. This
4004 * Q5.0.5:: How can I get XEmacs to come up in text/auto-fill mode by default? 4114 * Q5.0.5:: How can I get XEmacs to come up in text/auto-fill mode by default?
4005 * Q5.0.6:: How do I start up a second shell buffer? 4115 * Q5.0.6:: How do I start up a second shell buffer?
4006 * Q5.0.7:: Telnet from shell filters too much. 4116 * Q5.0.7:: Telnet from shell filters too much.
4007 * Q5.0.8:: Why does edt emulation not work? 4117 * Q5.0.8:: Why does edt emulation not work?
4008 * Q5.0.9:: How can I emulate VI and use it as my default mode? 4118 * Q5.0.9:: How can I emulate VI and use it as my default mode?
4009 * Q5.0.10:: What is @samp{Omit} minor mode? 4119 * Q5.0.10:: [This question intentionally left blank]
4010 * Q5.0.11:: Filladapt doesn't work in 19.13? 4120 * Q5.0.11:: Filladapt doesn't work in 19.15?
4011 * Q5.0.12:: How do I disable gnuserv from opening a new frame? 4121 * Q5.0.12:: How do I disable gnuserv from opening a new frame?
4012 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client? 4122 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client?
4013 * Q5.0.14:: Strange things are happening in Shell Mode. 4123 * Q5.0.14:: Strange things are happening in Shell Mode.
4014 * Q5.0.15:: Where do I get the latest CC Mode? 4124 * Q5.0.15:: Where do I get the latest CC Mode?
4015 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off? 4125 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off?
4018 * Q5.0.19:: Is there something better than LaTeX mode? 4128 * Q5.0.19:: Is there something better than LaTeX mode?
4019 4129
4020 Emacs Lisp Programming Techniques: 4130 Emacs Lisp Programming Techniques:
4021 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs? 4131 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs?
4022 * Q5.1.2:: Can I generate "fake" keyboard events? 4132 * Q5.1.2:: Can I generate "fake" keyboard events?
4023 * Q5.1.3:: How can I visit several marked files at once in dired? 4133 * Q5.1.3:: Could you explain @code{read-kbd-macro} in more detail?
4024 * Q5.1.4:: In 19.13, why do I get @samp{set-text-something} lisp errors with Gnus and AUC-TeX? 4134 * Q5.1.4:: What is the performance hit of @code{let}?
4025 * Q5.1.5:: How do I put a glyph as annotation in a buffer? 4135 * Q5.1.5:: What is the recommended use of @code{setq}?
4136 * Q5.1.6:: What is the typical misuse of @code{setq} ?
4137 * Q5.1.7:: I like the the @code{do} form of cl, does it slow things down?
4138 * Q5.1.8:: I like recursion, does it slow things down?
4139 * Q5.1.9:: How do I put a glyph as annotation in a buffer?
4026 4140
4027 Sound: 4141 Sound:
4028 * Q5.2.1:: How do I turn off the sound? 4142 * Q5.2.1:: How do I turn off the sound?
4029 * Q5.2.2:: How do I get funky sounds instead of a boring beep? 4143 * Q5.2.2:: How do I get funky sounds instead of a boring beep?
4030 * Q5.2.3:: What's NAS, how do I get it? 4144 * Q5.2.3:: What's NAS, how do I get it?
4084 c++-mode. 4198 c++-mode.
4085 4199
4086 @node Q5.0.3, Q5.0.4, Q5.0.2, Miscellaneous 4200 @node Q5.0.3, Q5.0.4, Q5.0.2, Miscellaneous
4087 @section How do I get @samp{More} Syntax Highlighting on by default? 4201 @section How do I get @samp{More} Syntax Highlighting on by default?
4088 4202
4089 For C, C++, and Lisp, you can add the following to your @file{.emacs}: 4203 Use the following code in your @file{.emacs}:
4090 4204
4091 @lisp 4205 @lisp
4092 (setq c-font-lock-keywords c-font-lock-keywords-2) 4206 (setq-default font-lock-maximum-decoration t)
4093 (setq c++-font-lock-keywords c++-font-lock-keywords-2) 4207 @end lisp
4094 (setq lisp-font-lock-keywords lisp-font-lock-keywords-2) 4208
4095 @end lisp 4209 In versions of XEmacs prior to 19.14, you had to use a kludgy solution
4210 like this:
4211
4212 @lisp
4213 (setq c-font-lock-keywords c-font-lock-keywords-2
4214 c++-font-lock-keywords c++-font-lock-keywords-2
4215 lisp-font-lock-keywords lisp-font-lock-keywords-2)
4216 @end lisp
4217
4218 It will work for C, C++ and Lisp.
4096 4219
4097 @node Q5.0.4, Q5.0.5, Q5.0.3, Miscellaneous 4220 @node Q5.0.4, Q5.0.5, Q5.0.3, Miscellaneous
4098 @section How can I enable auto-indent? 4221 @section How can I enable auto-indent?
4099 4222
4100 Put the following line in your @file{.emacs}: 4223 Put the following line in your @file{.emacs}:
4107 standard with XEmacs. Put this into your @file{.emacs}: 4230 standard with XEmacs. Put this into your @file{.emacs}:
4108 4231
4109 @lisp 4232 @lisp
4110 (require 'filladapt) 4233 (require 'filladapt)
4111 (add-hook 'text-mode-hook 'turn-on-filladapt-mode) 4234 (add-hook 'text-mode-hook 'turn-on-filladapt-mode)
4112 (add-hook 'message-mode-hook 'turn-on-filladapt-mode) 4235 ;;; and others ...
4113 ;;; and so forth ... 4236 @end lisp
4114 @end lisp 4237
4238 Note that well-behaving text-lookalike modes will run
4239 @code{text-mode-hook} by default (e.g. that's what Message does). For
4240 the nasty ones, you'll have to provide the @code{add-hook}s yourself.
4115 4241
4116 Please note that the @code{fa-extras} package is no longer useful. 4242 Please note that the @code{fa-extras} package is no longer useful.
4117 4243
4118 @node Q5.0.5, Q5.0.6, Q5.0.4, Miscellaneous 4244 @node Q5.0.5, Q5.0.6, Q5.0.4, Miscellaneous
4119 @section How can I get XEmacs to come up in text/auto-fill mode by default? 4245 @section How can I get XEmacs to come up in text/auto-fill mode by default?
4138 Emacs init file will cause the initial @code{*scratch*} buffer to be put 4264 Emacs init file will cause the initial @code{*scratch*} buffer to be put
4139 into auto-fill'ed @code{text-mode}: 4265 into auto-fill'ed @code{text-mode}:
4140 4266
4141 @lisp 4267 @lisp
4142 (setq initial-major-mode 4268 (setq initial-major-mode
4143 (function (lambda () 4269 (lambda ()
4144 (text-mode) 4270 (text-mode)
4145 (turn-on-auto-fill)))) 4271 (turn-on-auto-fill)))
4146 @end lisp 4272 @end lisp
4147 4273
4148 Note that after your init file is loaded, if 4274 Note that after your init file is loaded, if
4149 @code{inhibit-startup-message} is null (the default) and the startup 4275 @code{inhibit-startup-message} is @code{nil} (the default) and the
4150 buffer is @code{*scratch*} then the startup message will be inserted 4276 startup buffer is @code{*scratch*} then the startup message will be
4151 into @code{*scratch*}; it will be removed after a timeout by erasing the 4277 inserted into @code{*scratch*}; it will be removed after a timeout by
4152 entire @code{*scratch*} buffer. Keep in mind this default usage of 4278 erasing the entire @code{*scratch*} buffer. Keep in mind this default
4153 @code{*scratch*} if you desire any prior manipulation of 4279 usage of @code{*scratch*} if you desire any prior manipulation of
4154 @code{*scratch*} from within your Emacs init file. In particular, 4280 @code{*scratch*} from within your Emacs init file. In particular,
4155 anything you insert into @code{*scratch*} from your init file will be 4281 anything you insert into @code{*scratch*} from your init file will be
4156 later erased. Also, if you change the mode of the @code{*scratch*} 4282 later erased. Also, if you change the mode of the @code{*scratch*}
4157 buffer, be sure that this will not interfere with possible later 4283 buffer, be sure that this will not interfere with possible later
4158 insertion of the startup message (e.g. if you put @code{*scratch*} into 4284 insertion of the startup message (e.g. if you put @code{*scratch*} into
4191 We don't know, but you can use tpu-edt emulation instead, which works 4317 We don't know, but you can use tpu-edt emulation instead, which works
4192 fine and is a little fancier than the standard edt emulation. To do 4318 fine and is a little fancier than the standard edt emulation. To do
4193 this, add the following line to your @file{.emacs}: 4319 this, add the following line to your @file{.emacs}:
4194 4320
4195 @lisp 4321 @lisp
4196 (load "tpu-edt") 4322 (tpu-edt)
4197 @end lisp 4323 @end lisp
4198 4324
4199 If you don't want it to replace @kbd{C-h} with an edt-style help menu 4325 If you don't want it to replace @kbd{C-h} with an edt-style help menu
4200 add this as well: 4326 add this as well:
4201 4327
4202 @lisp 4328 @lisp
4203 (global-set-key '(control h) 'help-for-help) 4329 (global-set-key [(control h)] 'help-for-help)
4204 @end lisp 4330 @end lisp
4205 4331
4206 @node Q5.0.9, Q5.0.10, Q5.0.8, Miscellaneous 4332 @node Q5.0.9, Q5.0.10, Q5.0.8, Miscellaneous
4207 @section How can I emulate VI and use it as my default mode? 4333 @section How can I emulate VI and use it as my default mode?
4208 4334
4219 This should be added as close to the top of @file{.emacs} as you can get 4345 This should be added as close to the top of @file{.emacs} as you can get
4220 it, otherwise some minor modes may not get viper-ized. 4346 it, otherwise some minor modes may not get viper-ized.
4221 @end quotation 4347 @end quotation
4222 4348
4223 @node Q5.0.10, Q5.0.11, Q5.0.9, Miscellaneous 4349 @node Q5.0.10, Q5.0.11, Q5.0.9, Miscellaneous
4224 @section What is @code{Omit} minor mode? 4350 @section [This question intentionally left blank]
4225 4351
4226 I have no idea where this is coming from, but ever since I moved from 4352 Obsolete question, left blank to avoid renumbering
4227 19.9 to 19.13 I have started seeing that all of my buffers will get a 4353
4228 minor mode called @code{Omit}. I have no idea how it got there nor do I
4229 know what it does. What is it?
4230
4231 It's part of dired. In dired, you can type M-o to get Omit mode and
4232 that will ignore uninteresting files (checkpoint files and backups, for
4233 example). You get Omit in the modeline everywhere because the variable
4234 @code{dired-omit-files-p} is globally set to some non-nil value. If you
4235 want this functionality, it's probably best to use a hook:
4236
4237 @lisp
4238 (add-hook 'dired-after-readin-hook '(lambda () (dired-omit-toggle)))
4239 @end lisp
4240
4241 Alternatively, since it seems odd to toggle the omit state with every
4242 readin, since readin can happen many times in a Dired buffer, you can
4243 try this hook to correct the @code{Omit} problem:
4244
4245 @lisp
4246 (add-hook 'dired-mode-hook
4247 (function (lambda ()
4248 ;; `dired-omit-files-p' is made buffer-local by "dired-x.el", but
4249 ;; maybe not soon enough.
4250 (make-local-variable 'dired-omit-files-p)
4251 (setq dired-omit-files-p t))))
4252 @end lisp
4253
4254 This is only run once, when the Dired buffer is created.
4255
4256 @node Q5.0.11, Q5.0.12, Q5.0.10, Miscellaneous 4354 @node Q5.0.11, Q5.0.12, Q5.0.10, Miscellaneous
4257 @section Filladapt doesn't work in 19.13? 4355 @section Filladapt doesn't work in 19.15
4258 4356
4259 Filladapt 2.x is included in 19.13+. In it filladapt is now a minor 4357 Filladapt 2.x is included in 19.15. In it filladapt is now a minor
4260 mode and minor modes are traditionally off by default. The following 4358 mode and minor modes are traditionally off by default. The following
4261 added to your @file{.emacs} will turn it on for all buffers: 4359 added to your @file{.emacs} will turn it on for all buffers:
4262 4360
4263 @lisp 4361 @lisp
4264 (setq-default filladapt-mode t) 4362 (setq-default filladapt-mode t)
4374 4472
4375 David Kastrup <dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes: 4473 David Kastrup <dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes:
4376 4474
4377 @quotation 4475 @quotation
4378 The standard TeX modes leave much to be desired, and are somewhat 4476 The standard TeX modes leave much to be desired, and are somewhat
4379 leniently maintained. Serious TeX users use AucTeX (@xref{Q4.7.1}). 4477 leniently maintained. Serious TeX users use AUC TeX (@xref{Q4.7.1}).
4380 @end quotation 4478 @end quotation
4381 4479
4382 @node Q5.1.1, Q5.1.2, Q5.0.19, Miscellaneous 4480 @node Q5.1.1, Q5.1.2, Q5.0.19, Miscellaneous
4383 @section What is the difference in key sequences between XEmacs and GNU Emacs? 4481 @section What is the difference in key sequences between XEmacs and GNU Emacs?
4384 4482
4388 Emacs has a legacy of keyboards that produced characters with modifier 4486 Emacs has a legacy of keyboards that produced characters with modifier
4389 bits, and therefore map a variety of input systems into this scheme even 4487 bits, and therefore map a variety of input systems into this scheme even
4390 today. XEmacs is instead optimized for X events. This causes an 4488 today. XEmacs is instead optimized for X events. This causes an
4391 incompatibility in the way key sequences are specified, but both Emacs 4489 incompatibility in the way key sequences are specified, but both Emacs
4392 and XEmacs will accept a key sequence as a vector of lists of modifiers 4490 and XEmacs will accept a key sequence as a vector of lists of modifiers
4393 that ends with a key, e.g., to bind M-C-a, you would say [(meta control 4491 that ends with a key, e.g., to bind @kbd{M-C-a}, you would say
4394 a)] in both Emacsen. XEmacs has an abbreviated form for a single key, 4492 @code{[(meta control a)]} in both Emacsen. XEmacs has an abbreviated
4395 just (meta control a). Emacs has an abbreviated form for the Control 4493 form for a single key, just (meta control a). Emacs has an abbreviated
4396 and the Meta modifiers to string-characters (the ASCII characters), as 4494 form for the Control and the Meta modifiers to string-characters (the
4397 in "\M-\C-a". XEmacs users need to be aware that the abbreviated form 4495 ASCII characters), as in @samp{\M-\C-a}. XEmacs users need to be aware
4398 works only for one-character key sequences, while Emacs users need to be 4496 that the abbreviated form works only for one-character key sequences,
4399 aware that the string-character is rather limited. Specifically, the 4497 while Emacs users need to be aware that the string-character is rather
4400 string-character can accomodate only 256 different values, 128 of which 4498 limited. Specifically, the string-character can accomodate only 256
4401 have the Meta modifier and 128 of which have not. In each of these 4499 different values, 128 of which have the Meta modifier and 128 of which
4402 blocks, only 32 characters have the Control modifier. Whereas [(meta 4500 have not. In each of these blocks, only 32 characters have the Control
4403 control A)] differs from [(meta control a)] because the case differs, 4501 modifier. Whereas @code{[(meta control A)]} differs from @code{[(meta
4404 "\M-\C-a" and "\M-\C-A" do not. Programmers are advised to use the full 4502 control a)]} because the case differs, @samp{\M-\C-a} and @samp{\M-\C-A}
4405 common form, both because it is more readable and less error-prone, and 4503 do not. Programmers are advised to use the full common form, both
4406 because it is supported by both Emacsen. 4504 because it is more readable and less error-prone, and because it is
4407 @end quotation 4505 supported by both Emacsen.
4506 @end quotation
4507
4508 Another (even safer) way to be sure of the key-sequences is to use the
4509 @code{read-kbd-macro} function, which takes a string like @samp{C-c
4510 <up>}, and converts it to the internal key representation of the Emacs
4511 you use. The function is available both on XEmacs and GNU Emacs.
4408 4512
4409 @node Q5.1.2, Q5.1.3, Q5.1.1, Miscellaneous 4513 @node Q5.1.2, Q5.1.3, Q5.1.1, Miscellaneous
4410 @section Can I generate "fake" keyboard events? 4514 @section Can I generate "fake" keyboard events?
4411 4515
4412 I wonder if there is an interactive function that can generate "fake" 4516 I wonder if there is an interactive function that can generate
4413 keyboard events. This way, I could simply map them inside XEmacs. 4517 @dfn{fake} keyboard events. This way, I could simply map them inside
4518 XEmacs.
4414 4519
4415 This seems to work: 4520 This seems to work:
4416 4521
4417 @lisp 4522 @lisp
4418 (defun cg--generate-char-event (ch) 4523 (defun cg--generate-char-event (ch)
4419 "Generate an event, as if ch has been typed" 4524 "Generate an event, as if ch has been typed"
4420 (dispatch-event (character-to-event ch))) 4525 (dispatch-event (character-to-event ch)))
4421 4526
4422 ;; Backspace and Delete stuff 4527 ;; Backspace and Delete stuff
4423 (global-set-key '(backspace) 4528 (global-set-key [backspace]
4424 '(lambda () (interactive) (cg--generate-char-event 127))) 4529 (lambda () (interactive) (cg--generate-char-event 127)))
4425 (global-set-key '(unknown_keysym_0x4) 4530 (global-set-key [unknown_keysym_0x4]
4426 '(lambda () (interactive) (cg--generate-char-event 4))) 4531 (lambda () (interactive) (cg--generate-char-event 4)))
4427 @end lisp 4532 @end lisp
4428 4533
4429 @node Q5.1.3, Q5.1.4, Q5.1.2, Miscellaneous 4534 @node Q5.1.3, Q5.1.4, Q5.1.2, Miscellaneous
4430 @section How can I visit several marked files at once in dired? 4535 @section Could you explain @code{read-kbd-macro} in more detail?
4431 4536
4432 You can put this in your @file{.emacs} and then @kbd{F} will find marked 4537 The @code{read-kbd-macro} function returns the internal Emacs
4433 files: 4538 representation of a human-readable string (which is its argument).
4434 4539 Thus:
4435 @lisp 4540
4436 (add-hook 4541 @lisp
4437 'dired-load-hook 4542 (read-kbd-macro "C-c C-a")
4438 (function (lambda () 4543 @result{} [(control ?c) (control ?a)]
4439 (define-key dired-mode-map "F" 4544
4440 (function 4545 (read-kbd-macro "C-c C-. <up>")
4441 (lambda () (interactive) 4546 @result{} [(control ?c) (control ?.) up]
4442 (mapcar 'find-file 4547 @end lisp
4443 (dired-mark-get-files)))))))) 4548
4444 @end lisp 4549 In GNU Emacs the same forms will be evaluated to what GNU Emacs
4445 4550 understands internally---the sequences @code{"\C-x\C-c"} and @code{[3
4446 Aki Vehtari <Aki.Vehtari@@hut.fi> writes: 4551 67108910 up]}, respectively.
4447 4552
4448 @quotation 4553 The exact @dfn{human-readable} syntax is defined in the docstring of
4449 You can also use @file{dired-x.el} (Sebastian Kremer's Extra DIRED). It 4554 @code{edmacro-mode}. I'll repeat it here, for completeness.
4450 defines F and makes other improvements too. See @file{dired/dired-x.el} 4555
4451 in the XEmacs distribution. 4556 @quotation
4452 4557 Format of keyboard macros during editing:
4453 In your @file{~/.emacs}, add: 4558
4454 4559 Text is divided into @dfn{words} separated by whitespace. Except for
4455 @lisp 4560 the words described below, the characters of each word go directly as
4456 (setq dired-load-hook '(lambda () (load "dired-x"))) 4561 characters of the macro. The whitespace that separates words is
4457 @end lisp 4562 ignored. Whitespace in the macro must be written explicitly, as in
4563 @kbd{foo SPC bar RET}.
4564
4565 @itemize @bullet
4566 @item
4567 The special words @kbd{RET}, @kbd{SPC}, @kbd{TAB}, @kbd{DEL}, @kbd{LFD},
4568 @kbd{ESC}, and @kbd{NUL} represent special control characters. The
4569 words must be written in uppercase.
4570
4571 @item
4572 A word in angle brackets, e.g., @code{<return>}, @code{<down>}, or
4573 @code{<f1>}, represents a function key. (Note that in the standard
4574 configuration, the function key @code{<return>} and the control key
4575 @kbd{RET} are synonymous.) You can use angle brackets on the words
4576 @kbd{RET}, @kbd{SPC}, etc., but they are not required there.
4577
4578 @item
4579 Keys can be written by their @sc{ascii} code, using a backslash followed
4580 by up to six octal digits. This is the only way to represent keys with
4581 codes above \377.
4582
4583 @item
4584 One or more prefixes @kbd{M-} (meta), @kbd{C-} (control), @kbd{S-}
4585 (shift), @kbd{A-} (alt), @kbd{H-} (hyper), and @kbd{s-} (super) may
4586 precede a character or key notation. For function keys, the prefixes
4587 may go inside or outside of the brackets: @code{C-<down>} @equiv{}
4588 @code{<C-down>}. The prefixes may be written in any order: @kbd{M-C-x}
4589 @equiv{} @kbd{C-M-x}.
4590
4591 Prefixes are not allowed on multi-key words, e.g., @kbd{C-abc}, except
4592 that the Meta prefix is allowed on a sequence of digits and optional
4593 minus sign: @kbd{M--123} @equiv{} @kbd{M-- M-1 M-2 M-3}.
4594
4595 @item
4596 The @code{^} notation for control characters also works: @kbd{^M}
4597 @equiv{} @kbd{C-m}.
4598
4599 @item
4600 Double angle brackets enclose command names: @code{<<next-line>>} is
4601 shorthand for @kbd{M-x next-line RET}.
4602
4603 @item
4604 Finally, @code{REM} or @code{;;} causes the rest of the line to be
4605 ignored as a comment.
4606 @end itemize
4607
4608 Any word may be prefixed by a multiplier in the form of a decimal number
4609 and @code{*}: @code{3*<right>} @equiv{} @code{<right> <right> <right>},
4610 and @code{10*foo} @equiv{} @code{foofoofoofoofoofoofoofoofoofoo}.
4611
4612 Multiple text keys can normally be strung together to form a word, but
4613 you may need to add whitespace if the word would look like one of the
4614 above notations: @code{; ; ;} is a keyboard macro with three semicolons,
4615 but @code{;;;} is a comment. Likewise, @code{\ 1 2 3} is four keys but
4616 @code{\123} is a single key written in octal, and @code{< right >} is
4617 seven keys but @code{<right>} is a single function key. When in doubt,
4618 use whitespace.
4458 @end quotation 4619 @end quotation
4459 4620
4460 @node Q5.1.4, Q5.1.5, Q5.1.3, Miscellaneous 4621 @node Q5.1.4, Q5.1.5, Q5.1.3, Miscellaneous
4461 @section In 19.13, why do I get @samp{set-text-something} lisp errors with Gnus and AUC-TeX? 4622 @section What is the performance hit of @code{let}?
4462 4623
4463 The real problem is out of date software. Upgrade to later versions of 4624 In most cases, not noticable. Besides, there's no avoiding
4464 Gnus and AUC-TeX where this problem doesn't exist. 4625 @code{let}---you have to bind your local variables, after all. Some
4465 4626 pose a question whether to nest @code{let}s, or use one @code{let} per
4466 The problem lies with the needs for an Emacs function, 4627 function. I think because of clarity and maintenance (and possible
4467 @code{set-text-properties}, which generally isn't required by XEmacs. 4628 future implementation), @code{let}-s should be used (nested) in a way to
4468 The solutions include adding the following code to your @file{.emacs}: 4629 provide the clearest code.
4469 4630
4470 @lisp 4631 @node Q5.1.5, Q5.1.6, Q5.1.4, Miscellaneous
4471 (fset 'set-text-properties (symbol-function 'ignore)) 4632 @section What is the recommended use of @code{setq}?
4472 @end lisp 4633
4473 4634 @itemize @bullet
4474 or 4635 @item Global variables
4475 4636
4476 @lisp 4637 You will typically @code{defvar} your global variable to a default
4477 (defadvice set-text-properties (around ignore-strings activate) 4638 value, and use @code{setq} to set it later.
4478 "Ignore strings." 4639
4479 (or (stringp (ad-get-arg 3)) 4640 It is never a good practice to @code{setq} user variables (like
4480 ad-do-it)) 4641 @code{case-fold-search}, etc.), as it ignores the user's choice
4481 @end lisp 4642 unconditionally. Note that @code{defvar} doesn't change the value of a
4482 4643 variable if it was bound previously. If you wish to change a
4483 The best is probably the canonical solution (posted by C.Thompson, on 4644 user-variable temporarily, use @code{let}:
4484 10/17/95): 4645
4485 4646 @lisp
4486 @lisp 4647 (let ((case-fold-search nil))
4487 (defun set-text-properties (start end props &optional buffer) 4648 ... ; code with searches that must be case-sensitive
4488 "You should NEVER use this function. It is ideologically blasphemous. 4649 ...)
4489 It is provided only to ease porting of broken FSF Emacs programs." 4650 @end lisp
4490 (if (stringp buffer) nil 4651
4491 (map-extents 4652 You will notice the user-variables by their docstrings beginning with an
4492 #'(lambda (extent ignored) 4653 asterisk (a convention).
4493 (remove-text-properties 4654
4494 start end (list (extent-property extent 'text-prop) nil) 4655 @item Local variables
4495 buffer)) 4656
4496 buffer start end nil nil 'text-prop) 4657 Bind them with @code{let}, which will unbind them (or restore their
4497 (add-text-properties start end props buffer))) 4658 previous value, if they were bound) after exiting from the @code{let}
4498 @end lisp 4659 form. Change the value of local variables with @code{setq} or whatever
4499 4660 you like (e.g. @code{incf}, @code{setf} and such). The @code{let} form
4500 @node Q5.1.5, Q5.2.1, Q5.1.4, Miscellaneous 4661 can even return one of its local variables.
4662
4663 Typical usage:
4664
4665 @lisp
4666 ;; iterate through the elements of the list returned by
4667 ;; `hairy-function-that-returns-list'
4668 (let ((l (hairy-function-that-returns-list)))
4669 (while l
4670 ... do something with (car l) ...
4671 (setq l (cdr l))))
4672 @end lisp
4673
4674 Another typical usage includes building a value simply to work with it.
4675
4676 @lisp
4677 ;; Build the mode keymap out of the key-translation-alist
4678 (let ((inbox (file-truename (expand-file-name box)))
4679 (i 0))
4680 ... code dealing with inbox ...
4681 inbox)
4682 @end lisp
4683
4684 This piece of code uses the local variable @code{inbox}, which becomes
4685 unbound (or regains old value) after exiting the form. The form also
4686 returns the value of @code{inbox}, which can be reused, for instance:
4687
4688 @lisp
4689 (setq foo-processed-inbox
4690 (let .....))
4691 @end lisp
4692 @end itemize
4693
4694 @node Q5.1.6, Q5.1.7, Q5.1.5, Miscellaneous
4695 @section What is the typical misuse of @code{setq} ?
4696
4697 A typical misuse is probably @code{setq}ing a variable that was meant to
4698 be local. Such a variable will remain bound forever, never to be
4699 garbage-collected. For example, the code doing:
4700
4701 @lisp
4702 (defun my-function (whatever)
4703 (setq a nil)
4704 ... build a large list ...
4705 ... and exit ...)
4706 @end lisp
4707
4708 does a bad thing, as @code{a} will keep consuming memory, never to be
4709 unbound. The correct thing is to do it like this:
4710
4711 @lisp
4712 (defun my-function (whatever)
4713 (let (a) ; default initialization is to nil
4714 ... build a large list ...
4715 ... and exit, unbinding `a' in the process ...)
4716 @end lisp
4717
4718 Not only is this prettier syntactically, but it makes it possible for
4719 Emacs to garbage-collect the objects which @code{a} used to reference.
4720
4721 Note that even global variables should not be @code{setq}ed without
4722 @code{defvar}ing them first, because the byte-compiler issues warnings.
4723 The reason for the warning is the following:
4724
4725 @lisp
4726 (defun flurgoze nil) ; ok, global internal variable
4727 ...
4728
4729 (setq flurghoze t) ; ops! a typo, but semantically correct.
4730 ; however, the byte-compiler warns.
4731
4732 While compiling toplevel forms:
4733 ** assignment to free variable flurghoze
4734 @end lisp
4735
4736 @node Q5.1.7, Q5.1.8, Q5.1.6, Miscellaneous
4737 @section I like the the @code{do} form of cl, does it slow things down?
4738
4739 It shouldn't. Here is what Dave Gillespie has to say about cl.el
4740 performance:
4741
4742 @quotation
4743 Many of the advanced features of this package, such as @code{defun*},
4744 @code{loop}, and @code{setf}, are implemented as Lisp macros. In
4745 byte-compiled code, these complex notations will be expanded into
4746 equivalent Lisp code which is simple and efficient. For example, the
4747 forms
4748
4749 @lisp
4750 (incf i n)
4751 (push x (car p))
4752 @end lisp
4753
4754 are expanded at compile-time to the Lisp forms
4755
4756 @lisp
4757 (setq i (+ i n))
4758 (setcar p (cons x (car p)))
4759 @end lisp
4760
4761 which are the most efficient ways of doing these respective operations
4762 in Lisp. Thus, there is no performance penalty for using the more
4763 readable @code{incf} and @code{push} forms in your compiled code.
4764
4765 @emph{Interpreted} code, on the other hand, must expand these macros
4766 every time they are executed. For this reason it is strongly
4767 recommended that code making heavy use of macros be compiled. (The
4768 features labelled @dfn{Special Form} instead of @dfn{Function} in this
4769 manual are macros.) A loop using @code{incf} a hundred times will
4770 execute considerably faster if compiled, and will also garbage-collect
4771 less because the macro expansion will not have to be generated, used,
4772 and thrown away a hundred times.
4773
4774 You can find out how a macro expands by using the @code{cl-prettyexpand}
4775 function.
4776 @end quotation
4777
4778 @node Q5.1.8, Q5.1.9, Q5.1.7, Miscellaneous
4779 @section I like recursion, does it slow things down?
4780
4781 Yes. Emacs byte-compiler cannot do much to optimize recursion. But
4782 think well whether this is a real concern in Emacs. Much of the Emacs
4783 slowness comes from internal mechanisms such as redisplay, or from the
4784 fact that it is an interpreter.
4785
4786 Please try not to make your code much uglier to gain a very small speed
4787 gain. It's not usually worth it.
4788
4789 @node Q5.1.9, Q5.2.1, Q5.1.8, Miscellaneous
4501 @section How do I put a glyph as annotation in a buffer? 4790 @section How do I put a glyph as annotation in a buffer?
4502 4791
4503 Thomas Feuster <feuster@@tp4.physik.uni-giessen.de> writes: 4792 Here is a solution that will insert the glyph annotation at the
4504 4793 beginning of buffer:
4505 @quotation 4794
4506 @lisp 4795 @lisp
4507 (let ((image-glyph (make-glyph-internal))) 4796 (make-annotation (make-glyph '([FORMAT :file FILE]
4508 (seems to be unavoidable to do 'make-glyph-internal') 4797 [string :data "fallback-text"]))
4509 @end lisp 4798 (point-min)
4510 4799 'text
4511 Now for viewing files: 4800 (current-buffer))
4512 4801 @end lisp
4513 @lisp 4802
4514 (set-glyph-image image-glyph view-graph-file-buf)) 4803 Replace @samp{FORMAT} with an unquoted symbol representing the format of
4515 @end lisp 4804 the image (e.g. @code{xpm}, @code{xbm}, @code{gif}, @code{jpeg}, etc.)
4516 4805 Instead of @samp{FILE}, use the image file name
4517 For viewing already loaded buffers: 4806 (e.g. @file{/usr/local/lib/xemacs-20.2/etc/recycle.xpm}).
4518 4807
4519 @lisp 4808 You can turn this to a function (that optionally prompts you for a file
4520 (setq image-glyph (make-glyph 4809 name), and inserts the glyph at @code{(point)} instead of
4521 (vector view-graph-file-format :data 4810 @code{(point-min)}.
4522 (buffer-substring 4811
4523 (point-min) 4812 @node Q5.2.1, Q5.2.2, Q5.1.9, Miscellaneous
4524 (point-max)))))
4525 @end lisp
4526
4527 The thing I couldn't figure out is how to make XEmacs guess the format
4528 from the contents - like it does for files. So it's a real pain to
4529 extract the format from the extensions of the file-name...
4530 @end quotation
4531
4532 @node Q5.2.1, Q5.2.2, Q5.1.5, Miscellaneous
4533 @section How do I turn off the sound? 4813 @section How do I turn off the sound?
4534 4814
4535 Add the following line to your @file{.emacs}: 4815 Add the following line to your @file{.emacs}:
4536 4816
4537 @lisp 4817 @lisp
4538 (setq bell-volume 0) 4818 (setq bell-volume 0)
4539 (setq sound-alist nil) 4819 (setq sound-alist nil)
4540 @end lisp 4820 @end lisp
4541 4821
4822 That will make your XEmacs totally silent -- even the default ding sound
4823 (TTY beep on TTY-s) will be gone.
4824
4542 @node Q5.2.2, Q5.2.3, Q5.2.1, Miscellaneous 4825 @node Q5.2.2, Q5.2.3, Q5.2.1, Miscellaneous
4543 @section How do I get funky sounds instead of a boring beep? 4826 @section How do I get funky sounds instead of a boring beep?
4544 4827
4545 Make sure your XEmacs was compiled with sound support, and then put this 4828 Make sure your XEmacs was compiled with sound support, and then put this
4546 in your @file{.emacs}: 4829 in your @file{.emacs}:
4547 4830
4548 @lisp 4831 @lisp
4549 (load-default-sounds) 4832 (load-default-sounds)
4550 @end lisp 4833 @end lisp
4551 4834
4552 The sound support in XEmacs 19.14 is greatly improved over previous 4835 The sound support in XEmacs 19.14 was greatly improved over previous
4553 versions. 4836 versions.
4554 4837
4555 @node Q5.2.3, Q5.2.4, Q5.2.2, Miscellaneous 4838 @node Q5.2.3, Q5.2.4, Q5.2.2, Miscellaneous
4556 @section What's NAS, how do I get it? 4839 @section What's NAS, how do I get it?
4557 4840
4610 Also, a new version (1.2) of @file{cl-indent.el} was posted to 4893 Also, a new version (1.2) of @file{cl-indent.el} was posted to
4611 comp.emacs.xemacs on 12/9/94. This version includes more documentation 4894 comp.emacs.xemacs on 12/9/94. This version includes more documentation
4612 than previous versions. This may prove useful if you need to customize 4895 than previous versions. This may prove useful if you need to customize
4613 any indent-functions. 4896 any indent-functions.
4614 4897
4615 NB: I would have thought with the passage of time this would be the
4616 standard version by now, but that appears not to be the case. The
4617 version of filladapt included with 19.14 is last dated 1993, and does
4618 not have a version number.
4619
4620 @node Q5.3.2, Q5.3.3, Q5.3.1, Miscellaneous 4898 @node Q5.3.2, Q5.3.3, Q5.3.1, Miscellaneous
4621 @section Fontifying hang when editing a postscript file. 4899 @section Fontifying hang when editing a postscript file.
4622 4900
4623 When I try to edit a postscript file it gets stuck saying: 4901 When I try to edit a postscript file it gets stuck saying:
4624 @samp{fontifying 'filename' (regexps....)} and it just sits there. If I 4902 @samp{fontifying 'filename' (regexps....)} and it just sits there. If I
4687 Obsolete question, left blank to avoid renumbering. 4965 Obsolete question, left blank to avoid renumbering.
4688 4966
4689 @node Q5.3.7, Q5.3.8, Q5.3.6, Miscellaneous 4967 @node Q5.3.7, Q5.3.8, Q5.3.6, Miscellaneous
4690 @section Can I have the end of the buffer delimited in some way? 4968 @section Can I have the end of the buffer delimited in some way?
4691 4969
4692 Say, with: [END]? 4970 Say, with: @samp{[END]}?
4693 4971
4694 Use this: 4972 Try this:
4695 4973
4696 @lisp 4974 @lisp
4697 (make-annotation "[END]" (point-max) 'text (current-buffer)) 4975 (let ((ext (make-extent (point-min) (point-max))))
4698 @end lisp 4976 (set-extent-property ext 'start-closed t)
4699 4977 (set-extent-property ext 'end-closed t)
4700 Note that you might want to put this in a hook. Since 4978 (set-extent-property ext 'detachable nil)
4701 @code{make-annotation} is not defined by default, you might also need: 4979 (set-extent-end-glyph ext (make-glyph [string :data "[END]"])))
4702 4980 @end lisp
4703 @lisp 4981
4704 (require 'annotations) 4982 Since this is XEmacs, you can specify an icon to be shown on
4705 @end lisp 4983 window-system devices. To do so, change the @code{make-glyph} call to
4984 something like this:
4985
4986 @lisp
4987 (make-glyph '([xpm :file "~/something.xpm"]
4988 [string :data "[END]"]))
4989 @end lisp
4990
4991 You can inline the @sc{xpm} definition yourself by specifying
4992 @code{:data} instead of @code{:file}. Here is such a full-featured
4993 version that works on both X and TTY devices:
4994
4995 @lisp
4996 (let ((ext (make-extent (point-min) (point-max))))
4997 (set-extent-property ext 'start-closed t)
4998 (set-extent-property ext 'end-closed t)
4999 (set-extent-property ext 'detachable nil)
5000 (set-extent-end-glyph ext (make-glyph '([xpm :data "\
5001 /* XPM */
5002 static char* eye = @{
5003 \"20 11 7 2\",
5004 \"__ c None\"
5005 \"_` c #7f7f7f\",
5006 \"_a c #fefefe\",
5007 \"_b c #7f0000\",
5008 \"_c c #fefe00\",
5009 \"_d c #fe0000\",
5010 \"_e c #bfbfbf\",
5011 \"___________`_`_`___b_b_b_b_________`____\",
5012 \"_________`_`_`___b_c_c_c_b_b____________\",
5013 \"_____`_`_`_e___b_b_c_c_c___b___b_______`\",
5014 \"___`_`_e_a___b_b_d___b___b___b___b______\",
5015 \"_`_`_e_a_e___b_b_d_b___b___b___b___b____\",
5016 \"_`_`_a_e_a___b_b_d___b___b___b___b___b__\",
5017 \"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\",
5018 \"___`_`_e_a___b_b_b_d_c___b___b___d_b____\",
5019 \"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\",
5020 \"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\",
5021 \"___`_____`_`_`_`___b_b_b_b_b_b__________\",
5022 @} ;"]
5023 [string :data "[END]"]))))
5024 @end lisp
5025
5026 Note that you might want to make this a function, and put it to a hook.
5027 We leave that as an excercise for the reader.
4706 5028
4707 @node Q5.3.8, Q5.3.9, Q5.3.7, Miscellaneous 5029 @node Q5.3.8, Q5.3.9, Q5.3.7, Miscellaneous
4708 @section How do I insert today's date into a buffer? 5030 @section How do I insert today's date into a buffer?
4709 5031
4710 Like this: 5032 Like this:
4729 If this sounds confusing to you, (re-)read the online documentation for 5051 If this sounds confusing to you, (re-)read the online documentation for
4730 abbrevs (@kbd{C-h i m XEmacs RET m Abbrevs RET}), and then come back and 5052 abbrevs (@kbd{C-h i m XEmacs RET m Abbrevs RET}), and then come back and
4731 read this question/answer again. 5053 read this question/answer again.
4732 @end quotation 5054 @end quotation
4733 5055
5056 Newsflash: this restriction has been lifted, starting with XEmacs 20.3,
5057 which is currently in beta. Hrvoje Niksic <hniksic@@srce.hr> will
5058 appreciate it if you download a beta, try out whether abbreviations work
5059 like you expect them to, and let him know.
5060
4734 @node Q5.3.10, Q5.3.11, Q5.3.9, Miscellaneous 5061 @node Q5.3.10, Q5.3.11, Q5.3.9, Miscellaneous
4735 @section How can I get those oh-so-neat X-Face lines? 5062 @section How can I get those oh-so-neat X-Face lines?
4736 5063
4737 Firstly there is an ftp site which describes X-faces and has the 5064 Firstly there is an ftp site which describes X-faces and has the
4738 associated tools mentioned below, at 5065 associated tools mentioned below, at
4774 @lisp 5101 @lisp
4775 (defun mail-insert-x-face () 5102 (defun mail-insert-x-face ()
4776 (save-excursion 5103 (save-excursion
4777 (goto-char (point-min)) 5104 (goto-char (point-min))
4778 (search-forward mail-header-separator) 5105 (search-forward mail-header-separator)
4779 (beginning-of-line nil) 5106 (beginning-of-line)
4780 (insert "X-Face:") 5107 (insert "X-Face:")
4781 (insert-file "~/.face"))) 5108 (insert-file-contents "~/.face")))
4782 5109
4783 (add-hook 'mail-setup-hook 'mail-insert-x-face) 5110 (add-hook 'mail-setup-hook 'mail-insert-x-face)
4784 @end lisp 5111 @end lisp
4785 @end enumerate 5112 @end enumerate
4786 5113
4909 transpired over the previous month. If you are reading this from the 5236 transpired over the previous month. If you are reading this from the
4910 XEmacs distribution, please see the version on the Web or archived at the 5237 XEmacs distribution, please see the version on the Web or archived at the
4911 various FAQ FTP sites, as this file is surely out of date. 5238 various FAQ FTP sites, as this file is surely out of date.
4912 5239
4913 @menu 5240 @menu
4914 * Q6.0.1:: What is new in 19.15? 5241 * Q6.0.1:: What is new in 20.2?
5242 * Q6.0.2:: What is new in 20.3?
4915 * Q6.0.3:: Procedural changes in XEmacs development. 5243 * Q6.0.3:: Procedural changes in XEmacs development.
4916 @end menu 5244 @end menu
4917 5245
4918 @node Q6.0.1, Q6.0.3, Current Events, Current Events 5246 @node Q6.0.1, Q6.0.2, Current Events, Current Events
4919 @section What is new in 19.15? 5247 @section What is new in 20.2?
4920 5248
4921 The biggest changes in 19.15 include integration of TM (a MIME package 5249 The biggest changes in 20.2 include intergration of EFS (the next
4922 for VM and Gnus), EFS (the next generation of ange-ftp) and AUC TeX (the 5250 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
4923 Emacs subsystem that includes a major mode for editing TeX and LaTeX, 5251 major mode for editing Tex and LaTeX, and a lot of other stuff). Many
4924 and a lot of other stuff). Many bugs from 19.14 have been fixed for 5252 bugs from 20.0 have been fixed for this release. 20.2 also contains a
4925 this release. 5253 new system for customizing XEmacs options, invoked via @kbd{M-x
4926 5254 customize}.
4927 XEmacs 20.0 (which includes full Asian-language support aka MULE) has 5255
4928 been released, but is still considered unstable. This work is being 5256 XEmacs 20.2 is the development release (20.0 was beta), and is no longer
4929 supported by Sun Microsystems. 5257 considered unstable.
4930 5258
4931 @node Q6.0.3, , Q6.0.1, Current Events 5259 @node Q6.0.2, Q6.0.3, Q6.0.1, Current Events
5260 @section What is new in 20.3?
5261
5262 XEmacs release 20.3 is planned for autumn 1997. It will likely contain
5263 a much smaller amount of code for basic functionality, with all the
5264 popular Lisp packages being available in the form of easy-to-install
5265 add-ons.
5266
5267 Other input methods (such as skk) will be made available for Mule, as
5268 well as more user-level documentation.
5269
5270 Many new features are planned, such as multiple TTY frames, support for
5271 Autoconf 2, synches with Emacs 20.1, and more; much of this is already
5272 running in various beta versions. Ask at
5273 @code{<xemacs-beta-request@@xemacs.org>} for more details.
5274
5275 @node Q6.0.3, , Q6.0.2, Current Events
4932 @section Procedural changes in XEmacs development. 5276 @section Procedural changes in XEmacs development.
4933 5277
4934 @enumerate 5278 @enumerate
4935 @item 5279 @item
4936 Discussion about the development of XEmacs occurs on the xemacs-beta 5280 Discussion about the development of XEmacs occurs on the xemacs-beta
4943 @item 5287 @item
4944 Due to the long development cycle in between releases, it has been 5288 Due to the long development cycle in between releases, it has been
4945 decided that intermediate versions will be made available in source only 5289 decided that intermediate versions will be made available in source only
4946 form for the truly interested. 5290 form for the truly interested.
4947 5291
4948 XEmacs 19.15 is the end of the road for version 19 XEmacs. The next 5292 No further XEmacs 19 feature releases are planned. XEmacs 19.16 will
4949 release after 19.15 will be XEmacs 20.1. 5293 consist of 19.15 plus the collected bugfixes, and will probably be the
5294 final version of XEmacs 19.
4950 5295
4951 @item 5296 @item
4952 As of December 1996, Steve Baur <steve@@altair.xemacs.org> has become 5297 As of December 1996, Steve Baur <steve@@altair.xemacs.org> has become
4953 the lead maintainer of XEmacs. 5298 the lead maintainer of XEmacs.
5299 @end enumerate
4954 5300
4955 @bye 5301 @bye