comparison man/xemacs-faq.texi @ 163:0132846995bd r20-3b8

Import from CVS: tag r20-3b8
author cvs
date Mon, 13 Aug 2007 09:43:35 +0200
parents 1370575f1259
children 15872534500d
comparison
equal deleted inserted replaced
162:4de2936b4e77 163:0132846995bd
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/04/15 11 @subtitle Last Modified: 1997-06-18
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@@netcom.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>
30 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
31 WARRANTY; without even the implied warranty of MERCHANTABILITY or 31 WARRANTY; without even the implied warranty of MERCHANTABILITY or
32 FITNESS FOR A PARTICULAR PURPOSE. 32 FITNESS FOR A PARTICULAR PURPOSE.
33 33
34 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
35 <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
36 <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
37 nicer than the unofficial hypertext versions that are archived at 37 nicer than the unofficial hypertext versions that are archived at
38 Utrecht, Oxford, Smart Pages, and other FAQ archives. 38 Utrecht, Oxford, Smart Pages, and other FAQ archives.
39 39
40 @menu 40 @menu
81 * Q1.0.1:: What is XEmacs? 81 * Q1.0.1:: What is XEmacs?
82 * Q1.0.2:: What is the current version of XEmacs? 82 * Q1.0.2:: What is the current version of XEmacs?
83 * Q1.0.3:: Where can I find it? 83 * Q1.0.3:: Where can I find it?
84 * Q1.0.4:: Why Another Version of Emacs? 84 * Q1.0.4:: Why Another Version of Emacs?
85 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged? 85 * Q1.0.5:: Why Haven't XEmacs and GNU Emacs Merged?
86 * Q1.0.6:: Where can I get help? @strong{update 4/97} 86 * Q1.0.6:: Where can I get help?
87 * Q1.0.7:: Where is the mailing list archived? 87 * Q1.0.7:: Where is the mailing list archived?
88 * Q1.0.8:: How do you pronounce XEmacs? 88 * Q1.0.8:: How do you pronounce XEmacs?
89 * Q1.0.9:: What does XEmacs look like? @strong{updated 4/97} 89 * Q1.0.9:: What does XEmacs look like?
90 * 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)?
91 * 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?
92 * Q1.0.12:: Is there a port of XEmacs to NextStep? 92 * Q1.0.12:: Is there a port of XEmacs to NextStep?
93 * 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?
94 * 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?
98 * Q1.1.2:: How do I become a Beta Tester? 98 * Q1.1.2:: How do I become a Beta Tester?
99 * Q1.1.3:: How do I contribute to XEmacs itself? 99 * Q1.1.3:: How do I contribute to XEmacs itself?
100 100
101 Credits: 101 Credits:
102 * Q1.2.1:: Who wrote XEmacs? 102 * Q1.2.1:: Who wrote XEmacs?
103 * Q1.2.2:: Who contributed to this version of the FAQ? @strong{updated 4/97} 103 * Q1.2.2:: Who contributed to this version of the FAQ?
104 * Q1.2.3:: Who contributed to the FAQ in the past? @strong{updated 4/97} 104 * Q1.2.3:: Who contributed to the FAQ in the past?
105 105
106 Internationalization: 106 Internationalization:
107 * Q1.3.1:: What is the status of XEmacs v20? @strong{updated 4/97} 107 * Q1.3.1:: What is the status of XEmacs v20?
108 * 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}?
109 * Q1.3.3:: How do I type non-ASCII characters? 109 * Q1.3.3:: How do I type non-ASCII characters?
110 * 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?
111 * 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
112 * 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?
113 * Q1.3.7:: How about Cyrillic Modes? @strong{updated 4/97} 113 * Q1.3.7:: How about Cyrillic Modes?
114 114
115 Getting Started: 115 Getting Started:
116 * 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?
117 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs? @strong{updated 4/97} 117 * Q1.4.2:: Can I use the same @file{.emacs} with the other Emacs?
118 * Q1.4.3:: Any good XEmacs tutorials around? 118 * Q1.4.3:: Any good XEmacs tutorials around?
119 * 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?
120 * 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?
121 * 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?
122 * Q1.4.7:: Why options saved with 19.13 don't work with 19.14 or later? 122 * Q1.4.7:: Why options saved with 19.13 don't work with 19.14 or later?
132 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.
133 133
134 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction 134 @node Q1.0.2, Q1.0.3, Q1.0.1, Introduction
135 @section What is the current version of XEmacs? 135 @section What is the current version of XEmacs?
136 136
137 The current version is 19.15, released in March, 1997. 137 The current stable version of XEmacs is 20.2, released in May, 1997.
138 138 The next feature release will XEmacs 20.3.
139 It has been decided that XEmacs 19.15 will be the final release of v19. 139
140 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.
141 period of further testing, XEmacs v20.1 will be released the later part 141
142 of April, 1997. 142 To help users who are not yet ready to move to XEmacs 20, we run a
143 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.
144 152
145 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction 153 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction
146 @section Where can I find it? 154 @section Where can I find it?
147 155
148 The canonical source and binaries is found via anonymous FTP at: 156 The canonical source and binaries is found via anonymous FTP at:
185 193
186 @item 194 @item
187 Better Motif compliance. 195 Better Motif compliance.
188 196
189 @item 197 @item
190 Some internationalization support (full MULE support starting with 20.0). 198 Some internationalization support (including full MULE support, if
199 compiled with it.)
191 200
192 @item 201 @item
193 Variable-width fonts. 202 Variable-width fonts.
194 203
195 @item 204 @item
286 @end example 295 @end example
287 296
288 @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction 297 @node Q1.0.10, Q1.0.11, Q1.0.9, Introduction
289 @section Is there a port of XEmacs to Microsoft ('95 or NT)? 298 @section Is there a port of XEmacs to Microsoft ('95 or NT)?
290 299
300 Altrasoft is actively seeking corporate and government sponsors to help
301 fund a fully native port of XEmacs to Windows 95 and NT using full-time,
302 senior-level staff working under a professionally managed project
303 structure. See <URL:http://www.altrasoft.com/> for more details or
304 contact Altrasoft directly at 1-888-ALTSOFT.
305
291 The closest is @dfn{Win-Emacs}, which is based on Lucid Emacs 19.6. 306 The closest is @dfn{Win-Emacs}, which is based on Lucid Emacs 19.6.
292 Available from <URL:http://www.pearlsoft.com/>. 307 Available from <URL:http://www.pearlsoft.com/>.
293
294 There are some people actively working on a NT port of v20.1: David
295 Hobley started the port. Marc Paquette
296 @example
297 <marcpa@@cam.org>
298 @end example
299 has also became part of this effort.
300
301 Email the beta list
302 @example
303 <xemacs-beta@@xemacs.org>
304 @end example
305 if you are interested in helping.
306 308
307 There's a port of GNU Emacs (not XEmacs) at 309 There's a port of GNU Emacs (not XEmacs) at
308 @example 310 @example
309 <URL:http://www.cs.washington.edu/homes/voelker/ntemacs.html>. 311 <URL:http://www.cs.washington.edu/homes/voelker/ntemacs.html>.
310 @end example 312 @end example
350 Changes are displayed on a monthly basis. @dfn{Months}, for this 352 Changes are displayed on a monthly basis. @dfn{Months}, for this
351 purpose are defined as the 5th of the month through the 5th of the 353 purpose are defined as the 5th of the month through the 5th of the
352 month. Preexisting questions that have been changed are marked as such. 354 month. Preexisting questions that have been changed are marked as such.
353 Brand new questions are tagged. 355 Brand new questions are tagged.
354 356
355 All submissions are welcome. E-mail submissions to 357 All submissions are welcome. E-mail submissions to Andreas Kaempf
356 <andreas@@sccon.com>. 358 <andreas@@sccon.com>.
357 359
358 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line. 360 Please make sure that @samp{XEmacs FAQ} appears on the Subject: line.
359 If you think you have a better way of answering a question, or think a 361 If you think you have a better way of answering a question, or think a
360 question should be included, I'd like to hear about it. Questions and 362 question should be included, I'd like to hear about it. Questions and
451 version of the FAQ (listed in alphabetical order): 453 version of the FAQ (listed in alphabetical order):
452 454
453 @itemize @bullet 455 @itemize @bullet
454 @item Steven L Baur <steve@@miranova.com> 456 @item Steven L Baur <steve@@miranova.com>
455 457
458 @item Hrvoje Niksic <hniksic@@srce.hr>
459
460 @end itemize
461
462 @node Q1.2.3, Q1.3.1, Q1.2.2, Introduction
463 @section Who contributed to the FAQ in the past?
464
465 This is only a partial list, as many names were lost in a hard disk
466 crash some time ago.
467
468 @itemize @bullet
469 @item Curtis.N.Bingham <binge@@aloft.att.com>
470
471 @item Richard Caley <rjc@@cogsci.ed.ac.uk>
472
456 @item Richard Cognot <cognot@@ensg.u-nancy.fr> 473 @item Richard Cognot <cognot@@ensg.u-nancy.fr>
457 474
458 @item Hrvoje Niksic <hniksic@@srce.hr> 475 @item William G. Dubuque <wgd@@martigny.ai.mit.edu>
476
477 @item Eric Eide <eeide@@cs.utah.edu>
478
479 @item Chris Flatters <cflatter@@nrao.edu>
480
481 @item Evelyn Ginsparg <ginsparg@@adra.com>
482
483 @item Marty Hall <hall@@aplcenmp.apl.jhu.edu>
484
485 @item Darrell Kindred <dkindred@@cmu.edu>
486
487 @item David Moore <dmoore@@ucsd.edu>
488
489 @item Arup Mukherjee <arup+@@cmu.edu>
490
491 @item Juergen Nickelsen <nickel@@prz.tu-berlin.de>
492
493 @item Kevin R. Powell <powell@@csl.ncsa.uiuc.edu>
494
495 @item Justin Sheehy <dworkin@@ccs.neu.edu>
496
497 @item Stig <stig@@hackvan.com>
459 498
460 @item Aki Vehtari <Aki.Vehtari@@hut.fi> 499 @item Aki Vehtari <Aki.Vehtari@@hut.fi>
461 @end itemize 500 @end itemize
462 501
463 @node Q1.2.3, Q1.3.1, Q1.2.2, Introduction
464 @section Who contributed to the FAQ in the past?
465
466 This is only a partial list, as many names were lost in a hard disk
467 crash some time ago.
468
469 @itemize @bullet
470 @item Curtis.N.Bingham <binge@@aloft.att.com>
471
472 @item Richard Caley <rjc@@cogsci.ed.ac.uk>
473
474 @item William G. Dubuque <wgd@@martigny.ai.mit.edu>
475
476 @item Eric Eide <eeide@@cs.utah.edu>
477
478 @item Chris Flatters <cflatter@@nrao.edu>
479
480 @item Evelyn Ginsparg <ginsparg@@adra.com>
481
482 @item Marty Hall <hall@@aplcenmp.apl.jhu.edu>
483
484 @item Darrell Kindred <dkindred@@cmu.edu>
485
486 @item David Moore <dmoore@@ucsd.edu>
487
488 @item Arup Mukherjee <arup+@@cmu.edu>
489
490 @item Juergen Nickelsen <nickel@@prz.tu-berlin.de>
491
492 @item Kevin R. Powell <powell@@csl.ncsa.uiuc.edu>
493
494 @item Justin Sheehy <dworkin@@ccs.neu.edu>
495
496 @item Stig <stig@@hackvan.com>
497 @end itemize
498
499 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction 502 @node Q1.3.1, Q1.3.2, Q1.2.3, Introduction
500 @section What is the status of XEmacs v20? 503 @section What is the status of XEmacs v20?
501 504
502 XEmacs v20 is the version of XEmacs that includes MULE (Asian-language) 505 XEmacs v20 is the version of XEmacs that includes MULE (Asian-language)
503 support. XEmacs 20.0 was released in February 1997. When compiled 506 support. XEmacs 20.0 was released in February 1997, followed by XEmacs
504 without MULE support 20.0 is currently very similar to 19.15 (except for 507 20.2 in May. When compiled without MULE support 20.2 is currently very
505 some changes to the byte-code format, some new primitive types including 508 similar to 19.15 (except for some changes to the byte-code format, some
506 @code{char}, @code{char-table}, and @code{range-table}) and equally 509 new primitive types including @code{char}, @code{char-table}, and
507 stable. 510 @code{range-table}) and equally stable.
508 511
509 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction 512 @node Q1.3.2, Q1.3.3, Q1.3.1, Introduction
510 @section What is the status of Asian-language support, aka MULE? 513 @section What is the status of Asian-language support, aka MULE?
511 514
512 The MULE support works OK but still needs a fair amount of work before 515 The MULE support works OK but still needs a fair amount of work before
588 plan is stopped. Perhaps after Mule merged GNU Emacs will be released, 591 plan is stopped. Perhaps after Mule merged GNU Emacs will be released,
589 it will be continued. 592 it will be continued.
590 @end quotation 593 @end quotation
591 594
592 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction 595 @node Q1.3.6, Q1.3.7, Q1.3.5, Introduction
593 @section How do I portably code for MULE/XEmacs 20.0? 596 @section How do I portably code for MULE/XEmacs 20?
594 597
595 MORIOKA Tomohiko <morioka@@jaist.ac.jp> writes: 598 MORIOKA Tomohiko <morioka@@jaist.ac.jp> writes:
596 599
597 @quotation 600 @quotation
598 MULE and XEmacs are quite different. So the application 601 MULE and XEmacs are quite different. So the application
714 (setq here (point)) 717 (setq here (point))
715 (forward-word 1) 718 (forward-word 1)
716 (setq there (point)) 719 (setq there (point))
717 (setq string (buffer-substring here there))) 720 (setq string (buffer-substring here there)))
718 (while (>= count 1) 721 (while (>= count 1)
719 (progn 722 (insert string)
720 (insert string) 723 (decf count))))
721 (setq count (1- count))))))
722 @end lisp 724 @end lisp
723 725
724 The best way to see what is going on here is to let XEmacs tell you. 726 The best way to see what is going on here is to let XEmacs tell you.
725 Put the code into an XEmacs buffer, and do a @kbd{C-h f} with the cursor 727 Put the code into an XEmacs buffer, and do a @kbd{C-h f} with the cursor
726 sitting just to the right of the function you want explained. Eg. move 728 sitting just to the right of the function you want explained. Eg. move
739 (global-set-key "\C-cd" 'double-word) 741 (global-set-key "\C-cd" 'double-word)
740 @end lisp 742 @end lisp
741 743
742 Or interactively, @kbd{M-x global-set-key} and follow the prompts. 744 Or interactively, @kbd{M-x global-set-key} and follow the prompts.
743 745
744 Jari Aalto has written a guide to Emacs keys binding, available at 746 You can also view Jari Aalto's <jaalto@@tre.ntc.nokia.com> file:
745 <URL:ftp://cs.uta.fi/pub/ssjaaa/ema-keys.gui>. 747
748 @example
749 <URL:ftp://cs.uta.fi/pub/ssjaaa/ema-keys.html>
750 @end example
746 751
747 @node Q1.4.6, Q1.4.7, Q1.4.5, Introduction 752 @node Q1.4.6, Q1.4.7, Q1.4.5, Introduction
748 @section What's the difference between a macro and a function? 753 @section What's the difference between a macro and a function?
749 754
750 Quoting from the Lisp Reference (a.k.a @dfn{lispref}) Manual: 755 Quoting from the Lisp Reference (a.k.a @dfn{Lispref}) Manual:
751 756
752 @dfn{Macros} enable you to define new control constructs and other 757 @dfn{Macros} enable you to define new control constructs and other
753 language features. A macro is defined much like a function, but instead 758 language features. A macro is defined much like a function, but instead
754 of telling how to compute a value, it tells how to compute another Lisp 759 of telling how to compute a value, it tells how to compute another Lisp
755 expression which will in turn compute the value. We call this 760 expression which will in turn compute the value. We call this
757 762
758 Macros can do this because they operate on the unevaluated expressions 763 Macros can do this because they operate on the unevaluated expressions
759 for the arguments, not on the argument values as functions do. They can 764 for the arguments, not on the argument values as functions do. They can
760 therefore construct an expansion containing these argument expressions 765 therefore construct an expansion containing these argument expressions
761 or parts of them. 766 or parts of them.
767
768 Do not confuse the two terms with @dfn{keyboard macros}, which are
769 another matter, entirely. A keyboard macro is a key bound to several
770 other keys. Refer to manual for details.
762 771
763 @node Q1.4.7, , Q1.4.6, Introduction 772 @node Q1.4.7, , Q1.4.6, Introduction
764 @section How come options saved with 19.13 don't work with 19.14 or later? 773 @section How come options saved with 19.13 don't work with 19.14 or later?
765 774
766 There's a problem with options of the form: 775 There's a problem with options of the form:
785 (boundp 'emacs-major-version) 794 (boundp 'emacs-major-version)
786 (or (and (= emacs-major-version 19) 795 (or (and (= emacs-major-version 19)
787 (>= emacs-minor-version 12)) 796 (>= emacs-minor-version 12))
788 (>= emacs-major-version 20))) 797 (>= emacs-major-version 20)))
789 ... 798 ...
799 ))
790 @end lisp 800 @end lisp
791 801
792 @node Installation, Customization, Introduction, Top 802 @node Installation, Customization, Introduction, Top
793 @chapter Installation and Trouble Shooting 803 @chapter Installation and Trouble Shooting
794 804
795 This is part 2 of the XEmacs Frequently Asked Questions list. This 805 This is part 2 of the XEmacs Frequently Asked Questions list. This
796 section is devoted to Installation, Maintenance and Trouble Shooting. 806 section is devoted to Installation, Maintenance and Trouble Shooting.
797 807
798 @menu 808 @menu
799 Installation: 809 Installation:
800 * Q2.0.1:: Running XEmacs without installing. @strong{updated 4/97} 810 * Q2.0.1:: Running XEmacs without installing.
801 * Q2.0.2:: XEmacs is too big. @strong{updated 4/97} 811 * Q2.0.2:: XEmacs is too big.
802 * Q2.0.3:: Compiling XEmacs with Netaudio. 812 * Q2.0.3:: Compiling XEmacs with Netaudio.
803 * Q2.0.4:: Problems with Linux and ncurses. @strong{updated 4/97} 813 * Q2.0.4:: Problems with Linux and ncurses.
804 * Q2.0.5:: Do I need X11 to run XEmacs? 814 * Q2.0.5:: Do I need X11 to run XEmacs?
805 * Q2.0.6:: I'm having strange crashes. What do I do? 815 * Q2.0.6:: I'm having strange crashes. What do I do?
806 * Q2.0.7:: Libraries in non-standard locations. 816 * Q2.0.7:: Libraries in non-standard locations.
807 * Q2.0.8:: can't resolve symbol _h_errno 817 * Q2.0.8:: can't resolve symbol _h_errno
808 * Q2.0.9:: Where do I find external libraries? @strong{updated 4/97} 818 * Q2.0.9:: Where do I find external libraries?
809 * Q2.0.10:: After I run configure I find a coredump, is something wrong? 819 * Q2.0.10:: After I run configure I find a coredump, is something wrong?
810 * Q2.0.11:: XEmacs can't resolve host names. 820 * Q2.0.11:: XEmacs can't resolve host names.
811 * Q2.0.12:: Why can't I strip XEmacs? @strong{updated 4/97} 821 * Q2.0.12:: Why can't I strip XEmacs?
812 * Q2.0.13:: Can't link XEmacs on Solaris with Gcc. 822 * Q2.0.13:: Can't link XEmacs on Solaris with Gcc.
813 * Q2.0.14:: Make on HP/UX 9 fails after linking temacs @strong{new 4/97} 823 * Q2.0.14:: Make on HP/UX 9 fails after linking temacs
814 824
815 Trouble Shooting: 825 Trouble Shooting:
816 * Q2.1.1:: XEmacs just crashed on me! 826 * Q2.1.1:: XEmacs just crashed on me!
817 * Q2.1.2:: Cryptic Minibuffer messages. 827 * Q2.1.2:: Cryptic Minibuffer messages.
818 * Q2.1.3:: Translation Table Syntax messages at Startup. @strong{updated 4/97} 828 * Q2.1.3:: Translation Table Syntax messages at Startup.
819 * Q2.1.4:: Startup warnings about deducing proper fonts? 829 * Q2.1.4:: Startup warnings about deducing proper fonts?
820 * Q2.1.5:: XEmacs cannot connect to my X Terminal. 830 * Q2.1.5:: XEmacs cannot connect to my X Terminal.
821 * Q2.1.6:: XEmacs just locked up my Linux X server. 831 * Q2.1.6:: XEmacs just locked up my Linux X server.
822 * Q2.1.7:: HP Alt key as Meta. 832 * Q2.1.7:: HP Alt key as Meta.
823 * Q2.1.8:: got (wrong-type-argument color-instance-p nil)! 833 * Q2.1.8:: got (wrong-type-argument color-instance-p nil)!
824 * Q2.1.9:: XEmacs causes my OpenWindows 3.0 server to crash. 834 * Q2.1.9:: XEmacs causes my OpenWindows 3.0 server to crash.
825 * Q2.1.10:: Warnings from incorrect key modifiers. 835 * Q2.1.10:: Warnings from incorrect key modifiers.
826 * Q2.1.11:: [This question intentionally left blank] @strong{removed 4/97} 836 * Q2.1.11:: [This question intentionally left blank]
827 * Q2.1.12:: Regular Expression Problems on DEC OSF1. 837 * Q2.1.12:: Regular Expression Problems on DEC OSF1.
828 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure 838 * Q2.1.13:: HP/UX 10.10 and @code{create_process} failure
829 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken? 839 * Q2.1.14:: @kbd{C-g} doesn't work for me. Is it broken?
830 * Q2.1.15:: How to debug an XEmacs problem with a debugger. 840 * Q2.1.15:: How to debug an XEmacs problem with a debugger.
831 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10. 841 * Q2.1.16:: XEmacs crashes in @code{strcat} on HP/UX 10.
833 * Q2.1.18:: 19.14 hangs on HP/UX 10.10. 843 * Q2.1.18:: 19.14 hangs on HP/UX 10.10.
834 * Q2.1.19:: XEmacs does not follow the local timezone. 844 * Q2.1.19:: XEmacs does not follow the local timezone.
835 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.} 845 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.}
836 * Q2.1.21:: Every so often the XEmacs frame freezes. 846 * Q2.1.21:: Every so often the XEmacs frame freezes.
837 * Q2.1.22:: XEmacs seems to take a really long time to do some things. 847 * Q2.1.22:: XEmacs seems to take a really long time to do some things.
838 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later. @strong{new 4/97} 848 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later.
839 @end menu 849 @end menu
840 850
841 @node Q2.0.1, Q2.0.2, Installation, Installation 851 @node Q2.0.1, Q2.0.2, Installation, Installation
842 @section Running XEmacs without installing 852 @section Running XEmacs without installing
843 853
850 space. XEmacs is largely written in Lisp. 860 space. XEmacs is largely written in Lisp.
851 861
852 A good method is to make a shell alias for xemacs: 862 A good method is to make a shell alias for xemacs:
853 863
854 @example 864 @example
855 alias xemacs=/i/xemacs-19.15/src/xemacs 865 alias xemacs=/i/xemacs-20.2/src/xemacs
856 @end example 866 @end example
857 867
858 (You will obviously use whatever directory you downloaded the source 868 (You will obviously use whatever directory you downloaded the source
859 tree to instead of @file{/i/xemacs-19.15}). 869 tree to instead of @file{/i/xemacs-20.2}).
860 870
861 This will let you run XEmacs without massive copying. 871 This will let you run XEmacs without massive copying.
862 872
863 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation 873 @node Q2.0.2, Q2.0.3, Q2.0.1, Installation
864 @section XEmacs is too big 874 @section XEmacs is too big
865 875
866 Steve Baur <steve@@altair.xemacs.org> writes: 876 Steve Baur <steve@@altair.xemacs.org> writes:
867 877
868 @quotation 878 @quotation
869 XEmacs 20.2 will unbundle the lisp hierarchy and allow the installer 879 XEmacs 20.3 will unbundle the lisp hierarchy and allow the installer
870 to choose exactly how much support code gets installed. 880 to choose exactly how much support code gets installed.
871 @end quotation 881 @end quotation
872 882
873 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation 883 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation
874 @section Compiling XEmacs with Netaudio. 884 @section Compiling XEmacs with Netaudio.
1001 @section Where do I find external libraries? 1011 @section Where do I find external libraries?
1002 1012
1003 All external libraries used by XEmacs can be found at the XEmacs FTP 1013 All external libraries used by XEmacs can be found at the XEmacs FTP
1004 site <URL:ftp://ftp.xemacs.org/pub/aux/>. 1014 site <URL:ftp://ftp.xemacs.org/pub/aux/>.
1005 1015
1006 The canonical locations are as follows: 1016 The canonical locations (at the time of this writing) are as follows:
1007 1017
1008 @table @asis 1018 @table @asis
1009 @item JPEG 1019 @item JPEG
1010 <URL:ftp://ftp.uu.net/graphics/jpeg/>. Version 6a is current. 1020 <URL:ftp://ftp.uu.net/graphics/jpeg/>. Version 6a is current.
1011 1021
1106 @quotation 1116 @quotation
1107 Here is the trick: 1117 Here is the trick:
1108 1118
1109 @enumerate 1119 @enumerate
1110 @item 1120 @item
1111 [ configure; make ] 1121 [ ./configure; make ]
1112 1122
1113 @item 1123 @item
1114 cd src 1124 rm src/xemacs
1115 1125
1116 @item 1126 @item
1117 rm xemacs 1127 strip src/temacs
1118
1119 @item
1120 strip temacs
1121
1122 @item
1123 cd ..
1124 1128
1125 @item 1129 @item
1126 make 1130 make
1127 1131
1128 @item 1132 @item
1174 1178
1175 @node Q2.1.1, Q2.1.2, Q2.0.14, Installation 1179 @node Q2.1.1, Q2.1.2, Q2.0.14, Installation
1176 @section Help! XEmacs just crashed on me! 1180 @section Help! XEmacs just crashed on me!
1177 1181
1178 First of all, don't panic. Whenever XEmacs crashes, it tries extremely 1182 First of all, don't panic. Whenever XEmacs crashes, it tries extremely
1179 hard to auto-save all of your files before dying. (The main time that 1183 hard to auto-save all of your files before dying. (The main time that
1180 this will not happen is if the machine physically lost power or if you 1184 this will not happen is if the machine physically lost power or if you
1181 killed the XEmacs process using @code{kill -9}). The next time you try 1185 killed the XEmacs process using @code{kill -9}). The next time you try
1182 to edit those files, you will be informed that a more recent auto-save 1186 to edit those files, you will be informed that a more recent auto-save
1183 file exists. You can use @kbd{M-x recover-file} to retrieve the 1187 file exists. You can use @kbd{M-x recover-file} to retrieve the
1184 auto-saved version of the file. 1188 auto-saved version of the file.
1185 1189
1186 Starting with 19.14, you may use the command @kbd{M-x recover-session} 1190 Starting with 19.14, you may use the command @kbd{M-x recover-session}
1337 the host you are running XEmacs from. 1341 the host you are running XEmacs from.
1338 1342
1339 @node Q2.1.6, Q2.1.7, Q2.1.5, Installation 1343 @node Q2.1.6, Q2.1.7, Q2.1.5, Installation
1340 @section XEmacs just locked up my Linux X server! 1344 @section XEmacs just locked up my Linux X server!
1341 1345
1342 Help! XEmacs just locked up my X server on my Linux box!
1343
1344 There have been several reports of the X server locking up under Linux. 1346 There have been several reports of the X server locking up under Linux.
1345 In all reported cases removing speedo and scaled fonts from the font 1347 In all reported cases removing speedo and scaled fonts from the font
1346 path corrected the problem. This can be done with the command 1348 path corrected the problem. This can be done with the command
1347 '@code{xset}. 1349 @code{xset}.
1348 1350
1349 It is possible that using a font server may also solve the problem. 1351 It is possible that using a font server may also solve the problem.
1350 1352
1351 @node Q2.1.7, Q2.1.8, Q2.1.6, Installation 1353 @node Q2.1.7, Q2.1.8, Q2.1.6, Installation
1352 @section HP Alt key as Meta. 1354 @section HP Alt key as Meta.
1650 have no idea why GDB under Linux is so bogus. Complain to the GDB 1652 have no idea why GDB under Linux is so bogus. Complain to the GDB
1651 authors, or to comp.os.linux.development.system). Again, you'll have to 1653 authors, or to comp.os.linux.development.system). Again, you'll have to
1652 use the narrowing-down process described above. 1654 use the narrowing-down process described above.
1653 1655
1654 @item 1656 @item
1655 If you compiled 19.14 with @samp{--debug} (or by default in 19.15), you 1657 If you compiled 19.14 with @samp{--debug} (or by default in later
1656 will get a Lisp backtrace output when XEmacs crashes, so you'll have 1658 versions), you will get a Lisp backtrace output when XEmacs crashes, so
1657 something useful. If you're in 19.13, you could try doing @code{call 1659 you'll have something useful. If you're in 19.13, you could try doing
1658 debug_backtrace()}---sometimes this works even after a fatal signal has 1660 @code{call debug_backtrace()}---sometimes this works even after a fatal
1659 been received. 1661 signal has been received.
1660 @end enumerate 1662 @end enumerate
1661 @end itemize 1663 @end itemize
1662 @end quotation 1664 @end quotation
1663 1665
1664 Here's some more info about using gdbinit: 1666 Here's some more info about using gdbinit:
1730 @end example 1732 @end example
1731 1733
1732 @node Q2.1.17, Q2.1.18, Q2.1.16, Installation 1734 @node Q2.1.17, Q2.1.18, Q2.1.16, Installation
1733 @section @samp{Marker does not point anywhere} 1735 @section @samp{Marker does not point anywhere}
1734 1736
1735 This is a problem with line-number-mode in XEmacs 19.14, and affects a 1737 As with other errors, set @code{debug-on-error} to @code{t} to get the
1736 large number of other packages. If you see this error message, turn off 1738 backtrace when the error occurs. Specifically, two problems have been
1739 reported (and fixed).
1740
1741 @enumerate
1742 @item
1743 A problem with line-number-mode in XEmacs 19.14 affected a large number
1744 of other packages. If you see this error message, turn off
1737 line-number-mode. 1745 line-number-mode.
1746
1747 @item
1748 A problem with some early versions of Gnus 5.4 caused this error.
1749 Upgrade your Gnus.
1750 @end enumerate
1738 1751
1739 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation 1752 @node Q2.1.18, Q2.1.19, Q2.1.17, Installation
1740 @section 19.14 hangs on HP/UX 10.10. 1753 @section 19.14 hangs on HP/UX 10.10.
1741 1754
1742 Richard Cognot <cognot@@ensg.u-nancy.fr> writes: 1755 Richard Cognot <cognot@@ensg.u-nancy.fr> writes:
1778 The @samp{poll: interrupted system call} message. 1791 The @samp{poll: interrupted system call} message.
1779 1792
1780 @item 1793 @item
1781 A more serious problem I had discovered in the meantime, that is the 1794 A more serious problem I had discovered in the meantime, that is the
1782 fact that subprocess handling was seriously broken: subprocesses 1795 fact that subprocess handling was seriously broken: subprocesses
1783 e.g. started by AUCTeX for TeX compilation of a buffer would 1796 e.g. started by AUC TeX for TeX compilation of a buffer would
1784 @emph{hang}. Actually they would wait forever for emacs to read the 1797 @emph{hang}. Actually they would wait forever for emacs to read the
1785 socket which connects stdout... 1798 socket which connects stdout...
1786 @end enumerate 1799 @end enumerate
1787 @end quotation 1800 @end quotation
1788 1801
1833 1846
1834 @example 1847 @example
1835 gdb /path/to/xemacs/xemacs #### 1848 gdb /path/to/xemacs/xemacs ####
1836 @end example 1849 @end example
1837 1850
1838 Where #### is the process id of your xemacs, instead of specifying the 1851 Where @code{####} is the process id of your xemacs, instead of
1839 core. When gdb attaches, the xemacs will stop [1] and you can type 1852 specifying the core. When gdb attaches, the xemacs will stop [1] and
1840 `where' in gdb to get a stack trace as usual. To get things moving 1853 you can type `where' in gdb to get a stack trace as usual. To get
1841 again, you can just type `quit' in gdb. It'll tell you the program is 1854 things moving again, you can just type `quit' in gdb. It'll tell you
1842 running and ask if you want to quit anyways. Say 'y' and it'll quit and 1855 the program is running and ask if you want to quit anyways. Say 'y' and
1843 have your emacs continue from where it was at. 1856 it'll quit and have your emacs continue from where it was at.
1844 1857
1845 2) Lisp level: 1858 2) Lisp level:
1846 1859
1847 Turn on debug-on-quit early on. When you think things are going slow 1860 Turn on debug-on-quit early on. When you think things are going slow
1848 hit C-g and it may pop you in the debugger so you can see what routine 1861 hit C-g and it may pop you in the debugger so you can see what routine
1859 and 20.x. I am using Linux. 1872 and 20.x. I am using Linux.
1860 1873
1861 Steven L Baur <steve@@miranova.com> writes: 1874 Steven L Baur <steve@@miranova.com> writes:
1862 1875
1863 @quotation 1876 @quotation
1864 Movemail on Linux used to default to using flock file locking. 1877 Movemail on Linux used to default to using flock file locking. With
1865 With 19.15 and 20.0 it now defaults to using .lock file locking. 1878 19.15 and later versions it now defaults to using @code{.lock} file
1866 If this is not appropriate for your system, edit src/s/linux.h and 1879 locking. If this is not appropriate for your system, edit src/s/linux.h
1867 uncomment the line that reads: 1880 and uncomment the line that reads:
1868 1881
1869 @code{#define MAIL_USE_FLOCK} 1882 @example
1883 #define MAIL_USE_FLOCK
1884 @end example
1870 @end quotation 1885 @end quotation
1871 1886
1872 @node Customization, Subsystems, Installation, Top 1887 @node Customization, Subsystems, Installation, Top
1873 @chapter Customization and Options 1888 @chapter Customization and Options
1874 1889
1875 This is part 3 of the XEmacs Frequently Asked Questions list. This 1890 This is part 3 of the XEmacs Frequently Asked Questions list. This
1876 section is devoted to Customization and screen settings. 1891 section is devoted to Customization and screen settings.
1877 1892
1878 @menu 1893 @menu
1879 Customization---Emacs Lisp and @file{.emacs}: 1894 Customization---Emacs Lisp and @file{.emacs}:
1880 * Q3.0.1:: What version of Emacs am I running? @strong{updated 4/97} 1895 * Q3.0.1:: What version of Emacs am I running?
1881 * Q3.0.2:: How do I evaluate Elisp expressions? 1896 * Q3.0.2:: How do I evaluate Elisp expressions?
1882 * Q3.0.3:: @code{(setq tab-width 6)} behaves oddly. 1897 * Q3.0.3:: @code{(setq tab-width 6)} behaves oddly.
1883 * Q3.0.4:: How can I add directories to the @code{load-path}? 1898 * Q3.0.4:: How can I add directories to the @code{load-path}?
1884 * Q3.0.5:: How to check if a lisp function is defined? 1899 * Q3.0.5:: How to check if a lisp function is defined?
1885 * Q3.0.6:: Can I force the output of @code{(face-list)} to a buffer? 1900 * Q3.0.6:: Can I force the output of @code{(face-list)} to a buffer?
1886 * Q3.0.7:: Font selections don't get saved after @code{Save Options}. @strong{updated 4/97} 1901 * Q3.0.7:: Font selections don't get saved after @code{Save Options}.
1887 * Q3.0.8:: How do I make a single minibuffer frame? 1902 * Q3.0.8:: How do I make a single minibuffer frame?
1888 1903
1889 X Window System & Resources: 1904 X Window System & Resources:
1890 * Q3.1.1:: Where is a list of X resources? 1905 * Q3.1.1:: Where is a list of X resources?
1891 * Q3.1.2:: How can I detect a color display? 1906 * Q3.1.2:: How can I detect a color display?
1892 * Q3.1.3:: @code{(set-screen-width)} worked in 19.6, but not in 19.13? 1907 * Q3.1.3:: @code{(set-screen-width)} worked in 19.6, but not in 19.13?
1893 * Q3.1.4:: Specifiying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15? @strong{updated 4/97} 1908 * Q3.1.4:: Specifiying @code{Emacs*EmacsScreen.geometry} in @file{.emacs} does not work in 19.15?
1894 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}? 1909 * Q3.1.5:: How can I get the icon to just say @samp{XEmacs}?
1895 * Q3.1.6:: How can I have the window title area display the full path? 1910 * Q3.1.6:: How can I have the window title area display the full path?
1896 * Q3.1.7:: @samp{xemacs -name junk} doesn't work? 1911 * Q3.1.7:: @samp{xemacs -name junk} doesn't work?
1897 * Q3.1.8:: @samp{-iconic} it doesn't work. 1912 * Q3.1.8:: @samp{-iconic} it doesn't work.
1898 1913
1899 Textual Fonts & Colors: 1914 Textual Fonts & Colors:
1900 * Q3.2.1:: How can I set color options from @file{.emacs}? 1915 * Q3.2.1:: How can I set color options from @file{.emacs}?
1901 * Q3.2.2:: How do I set the text, menu and modeline fonts? 1916 * Q3.2.2:: How do I set the text, menu and modeline fonts?
1902 * Q3.2.3:: How can I set the colors when highlighting a region? 1917 * Q3.2.3:: How can I set the colors when highlighting a region?
1903 * Q3.2.4:: How can I limit color map usage? @strong{updated 4/97} 1918 * Q3.2.4:: How can I limit color map usage?
1904 * Q3.2.5:: My tty supports color, but XEmacs doesn't use them. 1919 * Q3.2.5:: My tty supports color, but XEmacs doesn't use them.
1905 1920
1906 The Modeline: 1921 The Modeline:
1907 * Q3.3.1:: How can I make the modeline go away? 1922 * Q3.3.1:: How can I make the modeline go away?
1908 * Q3.3.2:: How do you have XEmacs display the line number in the modeline? 1923 * Q3.3.2:: How do you have XEmacs display the line number in the modeline?
1909 * Q3.3.3:: How do I get XEmacs to put the time of day on the modeline? 1924 * Q3.3.3:: How do I get XEmacs to put the time of day on the modeline?
1910 * Q3.3.4:: How do I turn off current chapter from AUC-TeX modeline? 1925 * Q3.3.4:: How do I turn off current chapter from AUC TeX modeline?
1911 * Q3.3.5:: How can one change the modeline color based on the mode used? @strong{updated 4/97} 1926 * Q3.3.5:: How can one change the modeline color based on the mode used?
1912 1927
1913 3.4 Multiple Device Support: 1928 3.4 Multiple Device Support:
1914 * Q3.4.1:: How do I open a frame on another screen of my multi-headed display? @strong{updated 4/97} 1929 * Q3.4.1:: How do I open a frame on another screen of my multi-headed display?
1915 * Q3.4.2:: Can I really connect to a running XEmacs after calling up over a modem? How? 1930 * Q3.4.2:: Can I really connect to a running XEmacs after calling up over a modem? How?
1916 1931
1917 3.5 The Keyboard: 1932 3.5 The Keyboard:
1918 * Q3.5.1:: How can I bind complex functions (or macros) to keys? 1933 * Q3.5.1:: How can I bind complex functions (or macros) to keys?
1919 * Q3.5.2:: How can I stop down-arrow from adding empty lines to the bottom of my buffers? 1934 * Q3.5.2:: How can I stop down-arrow from adding empty lines to the bottom of my buffers?
1920 * Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down? 1935 * Q3.5.3:: How do I bind C-. and C-; to scroll one line up and down?
1921 * Q3.5.4:: Globally binding @kbd{Delete}? 1936 * Q3.5.4:: Globally binding @kbd{Delete}?
1922 * Q3.5.5:: Scrolling one line at a time. 1937 * Q3.5.5:: Scrolling one line at a time.
1923 * Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard? @strong{updated 4/97} 1938 * Q3.5.6:: How to map @kbd{Help} key alone on Sun type4 keyboard?
1924 * Q3.5.7:: How can you type in special characters in XEmacs? 1939 * Q3.5.7:: How can you type in special characters in XEmacs?
1925 * Q3.5.8:: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? 1940 * Q3.5.8:: Why does @code{(global-set-key [delete-forward] 'delete-char)} complain?
1926 * Q3.5.9:: How do I make the Delete key delete forward? 1941 * Q3.5.9:: How do I make the Delete key delete forward?
1927 * Q3.5.10:: Can I turn on @dfn{sticky} modifier keys? 1942 * Q3.5.10:: Can I turn on @dfn{sticky} modifier keys?
1928 1943
1953 * Q3.9.2:: How can one use resources to change scrollbar colors? 1968 * Q3.9.2:: How can one use resources to change scrollbar colors?
1954 * Q3.9.3:: Moving the scrollbar can move the point; can I disable this? 1969 * Q3.9.3:: Moving the scrollbar can move the point; can I disable this?
1955 * Q3.9.4:: How can I get automatic horizontal scrolling? 1970 * Q3.9.4:: How can I get automatic horizontal scrolling?
1956 1971
1957 Text Selections: 1972 Text Selections:
1958 * Q3.10.1:: How can I turn off or change highlighted selections? @strong{updated 4/97} 1973 * Q3.10.1:: How can I turn off or change highlighted selections?
1959 * Q3.10.2:: How do I get that typing on an active region removes it? 1974 * Q3.10.2:: How do I get that typing on an active region removes it?
1960 * Q3.10.3:: Can I turn off the highlight during isearch? 1975 * Q3.10.3:: Can I turn off the highlight during isearch?
1961 * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? 1976 * Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
1962 * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling. 1977 * Q3.10.5:: The region disappears when I hit the end of buffer while scrolling.
1963 @end menu 1978 @end menu
1984 1999
1985 I know I can evaluate Elisp expressions from @code{*scratch*} buffer 2000 I know I can evaluate Elisp expressions from @code{*scratch*} buffer
1986 with @kbd{C-j} after the expression. How do I do it from another 2001 with @kbd{C-j} after the expression. How do I do it from another
1987 buffer? 2002 buffer?
1988 2003
1989 Use the following code: 2004 Press @kbd{M-:} (the default binding of @code{eval-expression}), and
1990 2005 enter the expression to the minibuffer. In XEmacs prior to 19.15
1991 @lisp 2006 @code{eval-expression} used to be a disabled command by default. If
1992 (put 'eval-expression 'disabled nil) 2007 this is the case, upgrade your XEmacs.
1993 @end lisp
1994
1995 This sets it so that hitting @kbd{M-:} lets you type a single expression
1996 to be evaluated. This line can also be put into your @file{.emacs}.
1997 2008
1998 @node Q3.0.3, Q3.0.4, Q3.0.2, Customization 2009 @node Q3.0.3, Q3.0.4, Q3.0.2, Customization
1999 @section @code{(setq tab-width 6)} behaves oddly. 2010 @section @code{(setq tab-width 6)} behaves oddly.
2000 2011
2001 If you put @code{(setq tab-width 6)} in your @file{.emacs} file it does 2012 If you put @code{(setq tab-width 6)} in your @file{.emacs} file it does
2012 front of the load-path, the other at the end: 2023 front of the load-path, the other at the end:
2013 2024
2014 @lisp 2025 @lisp
2015 ;;; Add things at the beginning of the load-path, do not add 2026 ;;; Add things at the beginning of the load-path, do not add
2016 ;;; duplicate directories: 2027 ;;; duplicate directories:
2017 (if (null (member "bar" load-path)) 2028 (pushnew "bar" load-path :test 'equal)
2018 (setq load-path (cons "bar" load-path))) 2029
2019 2030 (pushnew "foo" load-path :test 'equal)
2020 (if (null (member "foo" load-path))
2021 (setq load-path (cons "foo" load-path)))
2022 2031
2023 ;;; Add things at the end, unconditionally 2032 ;;; Add things at the end, unconditionally
2024 (setq load-path (append load-path '("foo" "bar"))) 2033 (setq load-path (nconc load-path '("foo" "bar")))
2025 @end lisp 2034 @end lisp
2026 2035
2027 keith (k.p.) hanlan <keithh@@nortel.ca> writes: 2036 keith (k.p.) hanlan <keithh@@nortel.ca> writes:
2028 2037
2029 @quotation 2038 @quotation
2030 To add directories using Unix shell metacharacters use 2039 To add directories using Unix shell metacharacters use
2031 @file{expand-file-name} like this: 2040 @file{expand-file-name} like this:
2032 2041
2033 @lisp 2042 @lisp
2034 (setq load-path (cons (expand-file-name "~keithh/.emacsdir") load-path)) 2043 (push (expand-file-name "~keithh/.emacsdir") load-path)
2035 @end lisp 2044 @end lisp
2036 @end quotation 2045 @end quotation
2037 2046
2038 @node Q3.0.5, Q3.0.6, Q3.0.4, Customization 2047 @node Q3.0.5, Q3.0.6, Q3.0.4, Customization
2039 @section How to check if a lisp function is defined? 2048 @section How to check if a lisp function is defined?
2066 It would be good having it in a buffer, as the output of 2075 It would be good having it in a buffer, as the output of
2067 @code{(face-list)} is too wide to fit to a minibuffer. 2076 @code{(face-list)} is too wide to fit to a minibuffer.
2068 2077
2069 Evaluate the expression in the @samp{*scratch*} buffer with point after 2078 Evaluate the expression in the @samp{*scratch*} buffer with point after
2070 the rightmost paren and typing @kbd{C-j}. 2079 the rightmost paren and typing @kbd{C-j}.
2080
2081 If the minibuffer smallness is the only problem you encounter, you can
2082 simply press @kbd{C-h l} to get the former minibuffer contents in a
2083 buffer.
2071 2084
2072 @node Q3.0.7, Q3.0.8, Q3.0.6, Customization 2085 @node Q3.0.7, Q3.0.8, Q3.0.6, Customization
2073 @section Font selections in don't get saved after @code{Save Options}. 2086 @section Font selections in don't get saved after @code{Save Options}.
2074 2087
2075 For XEmacs 19.14 and previous: 2088 For XEmacs 19.14 and previous:
2086 For XEmacs 19.15 and later: 2099 For XEmacs 19.15 and later:
2087 2100
2088 Implement the above as well as set the following in your @file{.emacs} 2101 Implement the above as well as set the following in your @file{.emacs}
2089 2102
2090 @lisp 2103 @lisp
2091 (setq options-save-faces 't) 2104 (setq options-save-faces t)
2092 @end lisp 2105 @end lisp
2093 2106
2094 @node Q3.0.8, Q3.1.1, Q3.0.7, Customization 2107 @node Q3.0.8, Q3.1.1, Q3.0.7, Customization
2095 @section How do I get a single minibuffer frame? 2108 @section How do I get a single minibuffer frame?
2096 2109
2322 (enter) ?}. It uses the face specification of @code{attributeFont}, 2335 (enter) ?}. It uses the face specification of @code{attributeFont},
2323 while menubar is a normal X thing that uses the specification 2336 while menubar is a normal X thing that uses the specification
2324 @code{font}. With Motif it may be necessary to use @code{fontList} 2337 @code{font}. With Motif it may be necessary to use @code{fontList}
2325 instead of @code{font}. 2338 instead of @code{font}.
2326 2339
2327 Suggestions on improving the answer to this question would be
2328 appreciated.
2329
2330 @node Q3.2.3, Q3.2.4, Q3.2.2, Customization 2340 @node Q3.2.3, Q3.2.4, Q3.2.2, Customization
2331 @section How can I set the colors when highlighting a region? 2341 @section How can I set the colors when highlighting a region?
2332 2342
2333 How can I set the background/foreground colors when highlighting a 2343 How can I set the background/foreground colors when highlighting a
2334 region? 2344 region?
2413 @lisp 2423 @lisp
2414 (display-time) 2424 (display-time)
2415 @end lisp 2425 @end lisp
2416 2426
2417 @node Q3.3.4, Q3.3.5, Q3.3.3, Customization 2427 @node Q3.3.4, Q3.3.5, Q3.3.3, Customization
2418 @section How do I turn off current chapter from AUC-TeX modeline? 2428 @section How do I turn off current chapter from AUC TeX modeline?
2419 2429
2420 With AUC-TeX, fast typing is hard because the current chapter, section 2430 With AUC TeX, fast typing is hard because the current chapter, section
2421 etc. are given in the modeline. How can I turn this off? 2431 etc. are given in the modeline. How can I turn this off?
2422 2432
2423 It's not auc-tex, it comes from @code{func-menu} in @file{func-menu.el}. 2433 It's not AUC TeX, it comes from @code{func-menu} in @file{func-menu.el}.
2424 Add this code to your @file{.emacs} to turn it off: 2434 Add this code to your @file{.emacs} to turn it off:
2425 2435
2426 @lisp 2436 @lisp
2427 (setq fume-display-in-modeline-p nil) 2437 (setq fume-display-in-modeline-p nil)
2428 @end lisp 2438 @end lisp
2453 2463
2454 You can use something like the following: 2464 You can use something like the following:
2455 2465
2456 @lisp 2466 @lisp
2457 (add-hook 'lisp-mode-hook 2467 (add-hook 'lisp-mode-hook
2458 '(lambda () (set-face-background 'modeline "red" (current-buffer)) 2468 (lambda ()
2459 (set-face-foreground 'modeline "yellow" (current-buffer)))) 2469 (set-face-background 'modeline "red" (current-buffer))))
2460 @end lisp 2470 @end lisp
2461 2471
2462 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline 2472 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
2463 colors change from the default set in your @file{.emacs}. The change 2473 colors change from the default set in your @file{.emacs}. The change
2464 will only be made in the buffer you just entered (which contains the 2474 will only be made in the buffer you just entered (which contains the
2492 @code{modeline-mousable-minor-mode}, which you may want to customize. 2502 @code{modeline-mousable-minor-mode}, which you may want to customize.
2493 2503
2494 @node Q3.4.1, Q3.4.2, Q3.3.5, Customization 2504 @node Q3.4.1, Q3.4.2, Q3.3.5, Customization
2495 @section How do I open a frame on another screen of my multi-headed display? 2505 @section How do I open a frame on another screen of my multi-headed display?
2496 2506
2497 The support for this has been revamped for 19.14. Use the command 2507 The support for this was revamped for 19.14. Use the command
2498 @kbd{M-x make-frame-on-display}. This command is also on the File menu 2508 @kbd{M-x make-frame-on-display}. This command is also on the File menu
2499 in the menubar. 2509 in the menubar.
2500 2510
2501 XEmacs 19.14 and later also has the command @code{make-frame-on-tty} 2511 XEmacs 19.14 and later also have the command @code{make-frame-on-tty}
2502 which will establish a connection to any tty-like device. 2512 which will establish a connection to any tty-like device. Opening the
2513 TTY devices should be left to @code{gnuclient}, though.
2503 2514
2504 @node Q3.4.2, Q3.5.1, Q3.4.1, Customization 2515 @node Q3.4.2, Q3.5.1, Q3.4.1, Customization
2505 @section Can I really connect to a running XEmacs after calling up over a modem? How? 2516 @section Can I really connect to a running XEmacs after calling up over a modem? How?
2506 2517
2507 If you're not running at least XEmacs 19.14, you can't. Otherwise check 2518 If you're not running at least XEmacs 19.14, you can't. Otherwise check
2508 out the @code{gnuattach} program supplied with XEmacs. 2519 out the @code{gnuattach} program supplied with XEmacs. Starting with
2520 XEmacs 20.3, @code{gnuattach} and @code{gnudoit} functionality will be
2521 provided by @code{gnuclient}.
2509 2522
2510 @node Q3.5.1, Q3.5.2, Q3.4.2, Customization 2523 @node Q3.5.1, Q3.5.2, Q3.4.2, Customization
2511 @section How can I bind complex functions (or macros) to keys? 2524 @section How can I bind complex functions (or macros) to keys?
2512 2525
2513 As an example, say you want the @kbd{paste} key on a Sun keyboard to 2526 As an example, say you want the @kbd{paste} key on a Sun keyboard to
2524 otherwise insert the contents of the clipboard. To do this you need to 2537 otherwise insert the contents of the clipboard. To do this you need to
2525 pass arguments to @code{x-insert-selection}. This is done by wrapping 2538 pass arguments to @code{x-insert-selection}. This is done by wrapping
2526 the call in a 'lambda form: 2539 the call in a 'lambda form:
2527 2540
2528 @lisp 2541 @lisp
2529 (define-key global-map [f18] 2542 (global-set-key [f18]
2530 (function (lambda () (interactive) (x-insert-selection t nil)))) 2543 (lambda () (interactive) (x-insert-selection t nil)))
2531 @end lisp 2544 @end lisp
2532 2545
2533 This binds the f18 key to a @dfn{generic} functional object. The 2546 This binds the f18 key to a @dfn{generic} functional object. The
2534 interactive spec is required because only interactive functions can be 2547 interactive spec is required because only interactive functions can be
2535 bound to keys. Also take a look at the doc for @code{function}. 2548 bound to keys.
2536 2549
2537 For the FAQ example you could use: 2550 For the FAQ example you could use:
2538 2551
2539 @lisp 2552 @lisp
2540 (global-set-key [(control ?.)] 2553 (global-set-key [(control ?.)]
2541 (function (lambda () (interactive) (scroll-up 1)))) 2554 (lambda () (interactive) (scroll-up 1)))
2542 (global-set-key [(control ?;)] 2555 (global-set-key [(control ?;)]
2543 (function (lambda () (interactive) (scroll-up -1)))) 2556 (lambda () (interactive) (scroll-up -1)))
2544 @end lisp 2557 @end lisp
2545 2558
2546 This is fine if you only need a few functions within the lambda body. 2559 This is fine if you only need a few functions within the lambda body.
2547 If you're doing more it's cleaner to define a separate function as in 2560 If you're doing more it's cleaner to define a separate function as in
2548 question 3.5.3 (@xref{Q3.5.3}). 2561 question 3.5.3 (@xref{Q3.5.3}).
2554 2567
2555 @lisp 2568 @lisp
2556 (setq next-line-add-newlines nil) 2569 (setq next-line-add-newlines nil)
2557 @end lisp 2570 @end lisp
2558 2571
2572 This has been the default setting in XEmacs for some time.
2573
2559 @node Q3.5.3, Q3.5.4, Q3.5.2, Customization 2574 @node Q3.5.3, Q3.5.4, Q3.5.2, Customization
2560 @section How do I bind C-. and C-; to scroll one line up and down? 2575 @section How do I bind C-. and C-; to scroll one line up and down?
2561 2576
2562 Add the following (Thanks to Richard Mlynarik <mly@@adoc.xerox.com> and 2577 Add the following (Thanks to Richard Mlynarik <mly@@adoc.xerox.com> and
2563 Wayne Newberry <wayne@@zen.cac.stratus.com>) to @file{.emacs}: 2578 Wayne Newberry <wayne@@zen.cac.stratus.com>) to @file{.emacs}:
2569 2584
2570 (defun scroll-down-one-line () 2585 (defun scroll-down-one-line ()
2571 (interactive) 2586 (interactive)
2572 (scroll-down 1)) 2587 (scroll-down 1))
2573 2588
2574 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-. 2589 (global-set-key [(control ?.)] 'scroll-up-one-line) ; C-.
2575 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-; 2590 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
2576 @end lisp 2591 @end lisp
2577 2592
2578 The key point is that you can only bind simple functions to keys; you 2593 The key point is that you can only bind simple functions to keys; you
2579 can not bind a key to a function that you're also passing arguments to. 2594 can not bind a key to a function that you're also passing arguments to.
2580 (@xref{Q3.5.1} for a better answer). 2595 (@xref{Q3.5.1} for a better answer).
2584 2599
2585 I cannot manage to globally bind my @kbd{Delete} key to something other 2600 I cannot manage to globally bind my @kbd{Delete} key to something other
2586 than the default. How does one do this? 2601 than the default. How does one do this?
2587 2602
2588 @lisp 2603 @lisp
2589 (defun Foo () 2604 (defun foo ()
2590 (interactive) 2605 (interactive)
2591 (message "You hit DELETE")) 2606 (message "You hit DELETE"))
2592 2607
2593 (global-set-key 'delete 'Foo) 2608 (global-set-key 'delete 'foo)
2594 @end lisp 2609 @end lisp
2595 2610
2596 However, some modes explicitly bind @kbd{Delete}, so you would need to 2611 However, some modes explicitly bind @kbd{Delete}, so you would need to
2597 add a hook that does @code{local-set-key} for them. If what you want to 2612 add a hook that does @code{local-set-key} for them. If what you want to
2598 do is make the Backspace and Delete keys work more PC/Motif-like, then 2613 do is make the Backspace and Delete keys work more PC/Motif-like, then
2619 (defun scroll-one-line-down (&optional arg) 2634 (defun scroll-one-line-down (&optional arg)
2620 "Scroll the selected window down (backward in the text) one line (or N)." 2635 "Scroll the selected window down (backward in the text) one line (or N)."
2621 (interactive "p") 2636 (interactive "p")
2622 (scroll-down (or arg 1))) 2637 (scroll-down (or arg 1)))
2623 2638
2624 (global-set-key 'up 'scroll-one-line-up) 2639 (global-set-key [up] 'scroll-one-line-up)
2625 (global-set-key 'down 'scroll-one-line-down) 2640 (global-set-key [down] 'scroll-one-line-down)
2626 @end lisp 2641 @end lisp
2627
2628 2642
2629 The following will also work but will affect more than just the cursor 2643 The following will also work but will affect more than just the cursor
2630 keys (i.e. @kbd{C-n} and @kbd{C-p}): 2644 keys (i.e. @kbd{C-n} and @kbd{C-p}):
2631 2645
2632 @lisp 2646 @lisp
2663 @section How can you type in special characters in XEmacs? 2677 @section How can you type in special characters in XEmacs?
2664 2678
2665 One way is to use the package @samp{x-compose}. Then you can use 2679 One way is to use the package @samp{x-compose}. Then you can use
2666 sequences like @kbd{Compose " a} to get ä, etc. 2680 sequences like @kbd{Compose " a} to get ä, etc.
2667 2681
2668 Another way is to use the iso8859-1 package. 2682 Another way is to use the iso-ascii package, provided in XEmacs 19.15
2683 and later.
2669 2684
2670 @node Q3.5.8, Q3.5.9, Q3.5.7, Customization 2685 @node Q3.5.8, Q3.5.9, Q3.5.7, Customization
2671 @section Why does @code{(global-set-key [delete-forward] 'delete-char)} complain? 2686 @section Why does @code{(global-set-key [delete-forward] 'delete-char)} complain?
2672 2687
2673 Why does @code{(define-key global-map [ delete-forward ] 'delete-char)} 2688 Why does @code{(define-key global-map [ delete-forward ] 'delete-char)}
2692 This bug has been fixed in 19.14. 2707 This bug has been fixed in 19.14.
2693 2708
2694 @node Q3.5.9, Q3.5.10, Q3.5.8, Customization 2709 @node Q3.5.9, Q3.5.10, Q3.5.8, Customization
2695 @section How do I make the Delete key delete forward? 2710 @section How do I make the Delete key delete forward?
2696 2711
2697 Use the @file{delbackspace} package: 2712 Use the @file{delbs} package:
2698 2713
2699 @lisp 2714 @lisp
2700 (load-library "delbackspace") 2715 (require 'delbs)
2701 @end lisp 2716 @end lisp
2717
2718 This will give you the functions @code{delbs-enable-delete-forward} to
2719 set things up, and @code{delbs-disable-delete-forward} to revert to
2720 ``normal'' behavior.
2702 2721
2703 Also @xref{Q3.5.4}. 2722 Also @xref{Q3.5.4}.
2704 2723
2705 @node Q3.5.10, Q3.6.1, Q3.5.9, Customization 2724 @node Q3.5.10, Q3.6.1, Q3.5.9, Customization
2706 @section Can I turn on @dfn{sticky} modifier keys? 2725 @section Can I turn on @dfn{sticky} modifier keys?
2712 2731
2713 Ben Wing <ben@@666.com> writes: 2732 Ben Wing <ben@@666.com> writes:
2714 2733
2715 @quotation 2734 @quotation
2716 One thing about the sticky modifiers is that if you move the mouse out 2735 One thing about the sticky modifiers is that if you move the mouse out
2717 of the frame and back in, it cancels all currently "stuck" modifiers. 2736 of the frame and back in, it cancels all currently ``stuck'' modifiers.
2718 @end quotation 2737 @end quotation
2719 2738
2720 @node Q3.6.1, Q3.6.2, Q3.5.10, Customization 2739 @node Q3.6.1, Q3.6.2, Q3.5.10, Customization
2721 @section Is there a way to make the bar cursor thicker? 2740 @section Is there a way to make the bar cursor thicker?
2722 2741
2772 (but does not cut) the expression under the mouse. Clicking middle on a 2791 (but does not cut) the expression under the mouse. Clicking middle on a
2773 left or right paren will select to the matching one. Note that you can 2792 left or right paren will select to the matching one. Note that you can
2774 use @code{define-key} or @code{global-set-key}. 2793 use @code{define-key} or @code{global-set-key}.
2775 2794
2776 @lisp 2795 @lisp
2777 (defun Mouse-Set-Point-and-Select (event) 2796 (defun mouse-set-point-and-select (event)
2778 "Sets the point at the mouse location, then marks following form" 2797 "Sets the point at the mouse location, then marks following form"
2779 (interactive "@@e") 2798 (interactive "@@e")
2780 (mouse-set-point event) 2799 (mouse-set-point event)
2781 (mark-sexp 1) 2800 (mark-sexp 1))
2782 ) 2801 (define-key global-map [button2] 'mouse-set-point-and-select)
2783 (define-key global-map 'button2 'Mouse-Set-Point-and-Select)
2784 @end lisp 2802 @end lisp
2785 2803
2786 @node Q3.7.2, Q3.7.3, Q3.7.1, Customization 2804 @node Q3.7.2, Q3.7.3, Q3.7.1, Customization
2787 @section How do I set control/meta/etc modifiers on mouse buttons? 2805 @section How do I set control/meta/etc modifiers on mouse buttons?
2788 2806
2809 Use the middle mouse button. 2827 Use the middle mouse button.
2810 2828
2811 @node Q3.7.4, Q3.7.5, Q3.7.3, Customization 2829 @node Q3.7.4, Q3.7.5, Q3.7.3, Customization
2812 @section How can I get a list of buffers when I hit mouse button 3? 2830 @section How can I get a list of buffers when I hit mouse button 3?
2813 2831
2814 The following code will actually replace the default popup on button3: 2832 The following code will replace the default popup on button3:
2815 2833
2816 @lisp 2834 @lisp
2817 (defun cw-build-buffers () 2835 (global-set-key [button3] 'popup-buffer-menu)
2818 "Popup buffer menu."
2819 (interactive "@@")
2820 (run-hooks 'activate-menubar-hook)
2821 (popup-menu (car (find-menu-item current-menubar '("Buffers")))))
2822
2823 (define-key global-map [(button3)] 'cw-build-buffers)
2824 @end lisp 2836 @end lisp
2825 2837
2826 @node Q3.7.5, Q3.7.6, Q3.7.4, Customization 2838 @node Q3.7.5, Q3.7.6, Q3.7.4, Customization
2827 @section Why does cut-and-paste not work between XEmacs and a cmdtool? 2839 @section Why does cut-and-paste not work between XEmacs and a cmdtool?
2828 2840
2956 @section How can I bind a key to a function to toggle the toolbar? 2968 @section How can I bind a key to a function to toggle the toolbar?
2957 2969
2958 Try something like: 2970 Try something like:
2959 2971
2960 @lisp 2972 @lisp
2961 (global-set-key [(control x) T] 2973 (defun my-toggle-toolbar ()
2962 '(lambda () (interactive) 2974 (interactive)
2963 (set-specifier default-toolbar-visible-p 2975 (set-specifier default-toolbar-visible-p
2964 (not (specifier-instance 2976 (not (specifier-instance default-toolbar-visible-p))))
2965 default-toolbar-visible-p))))) 2977 (global-set-key "\C-xT" 'my-toggle-toolbar)
2966 @end lisp 2978 @end lisp
2967 2979
2968 There are redisplay bugs in 19.14 that may make the preceding result in 2980 There are redisplay bugs in 19.14 that may make the preceding result in
2969 a messed-up display, especially for frames with multiple windows. You 2981 a messed-up display, especially for frames with multiple windows. You
2970 may need to resize the frame before XEmacs completely realizes the 2982 may need to resize the frame before XEmacs completely realizes the
2985 2997
2986 To turn the scrollbar off on a per-frame basis, use the following 2998 To turn the scrollbar off on a per-frame basis, use the following
2987 function: 2999 function:
2988 3000
2989 @lisp 3001 @lisp
2990 (set-specifier scrollbar-width (cons (selected-frame) 0)) 3002 (set-specifier scrollbar-width 0 (selected-frame))
2991 @end lisp 3003 @end lisp
2992 3004
2993 You can actually turn the scrollbars on at any level you want by 3005 You can actually turn the scrollbars on at any level you want by
2994 substituting for (selected-frame) in the above command. For example, to 3006 substituting for (selected-frame) in the above command. For example, to
2995 turn the scrollbars off only in a single buffer: 3007 turn the scrollbars off only in a single buffer:
2996 3008
2997 @lisp 3009 @lisp
2998 (set-specifier scrollbar-width (cons (current-buffer) 0)) 3010 (set-specifier scrollbar-width 0 (current-buffer))
2999 @end lisp 3011 @end lisp
3000 3012
3001 Starting with 19.14 you can use the more logical form: 3013 In XEmacs versions prior to 19.14, you had to use the hairier construct:
3002 3014
3003 @lisp 3015 @lisp
3004 (set-specifier scrollbar-width 0 (selected-frame)) 3016 (set-specifier scrollbar-width (cons (selected-frame) 0))
3005 @end lisp 3017 @end lisp
3006 3018
3007 @node Q3.9.2, Q3.9.3, Q3.9.1, Customization 3019 @node Q3.9.2, Q3.9.3, Q3.9.1, Customization
3008 @section How can one use resources to change scrollbar colors? 3020 @section How can one use resources to change scrollbar colors?
3009 3021
3178 * Q4.0.12:: Customization of VM not covered in the manual or here. 3190 * Q4.0.12:: Customization of VM not covered in the manual or here.
3179 3191
3180 Web browsing with W3: 3192 Web browsing with W3:
3181 * Q4.1.1:: What is W3? 3193 * Q4.1.1:: What is W3?
3182 * Q4.1.2:: How do I run W3 from behind a firewall? 3194 * Q4.1.2:: How do I run W3 from behind a firewall?
3195 * Q4.1.3:: Is it true that W3 supports style sheets and tables?
3183 3196
3184 Reading Netnews and Mail with Gnus: 3197 Reading Netnews and Mail with Gnus:
3185 * Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus,argh! @strong{updated 4/97} 3198 * Q4.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus,argh!
3186 * Q4.2.2:: [This question intentionally left blank] 3199 * Q4.2.2:: [This question intentionally left blank]
3187 * Q4.2.3:: How do I make Gnus stay within a single frame? 3200 * Q4.2.3:: How do I make Gnus stay within a single frame?
3188 * Q4.2.4:: How do I customize the From: line? 3201 * Q4.2.4:: How do I customize the From: line?
3189 3202
3190 Other Mail & News: 3203 Other Mail & News:
3193 * Q4.3.3:: Why isn't this @code{movemail} program working? 3206 * Q4.3.3:: Why isn't this @code{movemail} program working?
3194 * Q4.3.4:: Movemail is also distributed by Netscape? Can that cause problems? 3207 * Q4.3.4:: Movemail is also distributed by Netscape? Can that cause problems?
3195 * Q4.3.5:: Where do I find pstogif (required by tm)? 3208 * Q4.3.5:: Where do I find pstogif (required by tm)?
3196 3209
3197 Sparcworks, EOS, and WorkShop: 3210 Sparcworks, EOS, and WorkShop:
3198 * Q4.4.1:: What is SPARCworks, EOS, and WorkShop @strong{updated 4/97} 3211 * Q4.4.1:: What is SPARCworks, EOS, and WorkShop
3199 3212
3200 Energize: 3213 Energize:
3201 * Q4.5.1:: What is/was Energize? 3214 * Q4.5.1:: What is/was Energize?
3202 3215
3203 Infodock: 3216 Infodock:
3204 * Q4.6.1:: What is Infodock? 3217 * Q4.6.1:: What is Infodock?
3205 3218
3206 Other Unbundled Packages: 3219 Other Unbundled Packages:
3207 * Q4.7.1:: What is AucTeX? Where do you get it? 3220 * Q4.7.1:: What is AUC TeX? Where do you get it?
3208 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets? 3221 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets?
3209 * Q4.7.3:: Byte compiling AucTeX on XEmacs 19.14 3222 * Q4.7.3:: Byte compiling AUC TeX on XEmacs 19.14
3210 * Q4.7.4:: Problems installing AucTeX 3223 * Q4.7.4:: Problems installing AUC TeX
3224 * Q4.7.5:: Is there a reason for an Emacs package not to be included in XEmacs?
3211 @end menu 3225 @end menu
3212 3226
3213 @node Q4.0.1, Q4.0.2, Subsystems, Subsystems 3227 @node Q4.0.1, Q4.0.2, Subsystems, Subsystems
3214 @section How do I set up VM to retrieve mail from a remote site using POP? 3228 @section How do I set up VM to retrieve mail from a remote site using POP?
3215 3229
3231 <URL:ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/>. 3245 <URL:ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/>.
3232 3246
3233 Also see the Mail Filtering FAQ at: 3247 Also see the Mail Filtering FAQ at:
3234 <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html>. 3248 <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html>.
3235 3249
3236 Another possibility is to check out Gnus 5. Gnus 5 has mail splitting
3237 capability, and can use VM as a mail reading backend.
3238
3239 @node Q4.0.3, Q4.0.4, Q4.0.2, Subsystems 3250 @node Q4.0.3, Q4.0.4, Q4.0.2, Subsystems
3240 @section How can I get VM to automatically check for new mail? 3251 @section How can I get VM to automatically check for new mail?
3241 3252
3242 John Turner <turner@@lanl.gov> writes: 3253 John Turner <turner@@lanl.gov> writes:
3243 3254
3285 answer the questions myself. I guess it serves a purpose in that the VM 3296 answer the questions myself. I guess it serves a purpose in that the VM
3286 user community knows that I'm still alive, despite the 9 months since 3297 user community knows that I'm still alive, despite the 9 months since
3287 the last release. 3298 the last release.
3288 @end quotation 3299 @end quotation
3289 3300
3290 VM has its own newsgroup gnu.emacs.vm.info. 3301 VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
3291 3302
3292 @node Q4.0.8, Q4.0.9, Q4.0.7, Subsystems 3303 @node Q4.0.8, Q4.0.9, Q4.0.7, Subsystems
3293 @section Remote Mailreading with VM. 3304 @section Remote Mailreading with VM.
3294 3305
3295 My mailbox lives at the office on a big honkin server. My regular INBOX 3306 My mailbox lives at the office on a big honkin server. My regular INBOX
3328 @end quotation 3339 @end quotation
3329 3340
3330 @node Q4.0.9, Q4.0.10, Q4.0.8, Subsystems 3341 @node Q4.0.9, Q4.0.10, Q4.0.8, Subsystems
3331 @section rmail or VM gets an error incorporating new mail. 3342 @section rmail or VM gets an error incorporating new mail.
3332 3343
3333 >From the XEmacs PROBLEMS file: 3344 Quoting the XEmacs PROBLEMS file:
3334 3345
3335 @quotation 3346 @quotation
3336 rmail and VM get new mail from @file{/usr/spool/mail/$USER} using a 3347 rmail and VM get new mail from @file{/usr/spool/mail/$USER} using a
3337 program called @code{movemail}. This program interlocks with 3348 program called @code{movemail}. This program interlocks with
3338 @code{/bin/mail} using the protocol defined by @code{/bin/mail}. 3349 @code{/bin/mail} using the protocol defined by @code{/bin/mail}.
3446 XEmacs. It has full support for cascaded style sheets, and more... 3457 XEmacs. It has full support for cascaded style sheets, and more...
3447 3458
3448 It has a home web page at 3459 It has a home web page at
3449 <URL:http://www.cs.indiana.edu/elisp/w3/docs.html>. 3460 <URL:http://www.cs.indiana.edu/elisp/w3/docs.html>.
3450 3461
3451 @node Q4.1.2, Q4.2.1, Q4.1.1, Subsystems 3462 @node Q4.1.2, Q4.1.3, Q4.1.1, Subsystems
3452 @section How do I run W3 from behind a firewall? 3463 @section How do I run W3 from behind a firewall?
3453 3464
3454 There is a long, well-written, detailed section in the W3 manual that 3465 There is a long, well-written, detailed section in the W3 manual that
3455 describes how to do this. Look in the section entitled "Firewalls". 3466 describes how to do this. Look in the section entitled "Firewalls".
3456 3467
3457 @node Q4.2.1, Q4.2.2, Q4.1.2, Subsystems 3468 @node Q4.1.3, Q4.2.1, Q4.1.2, Subsystems
3469 @section Is it true that W3 supports style sheets and tables?
3470
3471 Yes, and much more. W3, as distributed with the latest XEmacs is a
3472 full-featured web browser.
3473
3474 @node Q4.2.1, Q4.2.2, Q4.1.3, Subsystems
3458 @section GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Mamey Sapote Gnus, argh! 3475 @section GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Mamey Sapote Gnus, argh!
3459 3476
3460 Please see the FAQ <URL:http://www.ccs.neu.edu/software/gnus/> for details. 3477 The Gnus numbering issues are not meant for mere mortals to know them.
3478 If you feel you @emph{must} enter the muddy waters of Gnus, visit the
3479 excellent FAQ, maintained by Justin Sheehy, at:
3480
3481 @example
3482 <URL:http://www.ccs.neu.edu/software/gnus/>
3483 @end example
3461 3484
3462 @node Q4.2.2, Q4.2.3, Q4.2.1, Subsystems 3485 @node Q4.2.2, Q4.2.3, Q4.2.1, Subsystems
3463 @section This question intentionally left blank. 3486 @section This question intentionally left blank.
3464 3487
3465 Obsolete question, left blank to avoid renumbering. 3488 Obsolete question, left blank to avoid renumbering.
3466 3489
3467 @node Q4.2.3, Q4.2.4, Q4.2.2, Subsystems 3490 @node Q4.2.3, Q4.2.4, Q4.2.2, Subsystems
3468 @section How do I make Gnus stay within a single frame? 3491 @section How do I make Gnus stay within a single frame?
3469 3492
3470 When starting Gnus from the toolbar it is automatically put into a new 3493 The toolbar code to start Gnus opens the new frame---and it's a feature
3471 frame. Gnus not being frame-aware code, has no provision to disable 3494 rather than a bug. If you don't like it, but would still like to click
3472 this feature. If you feel this is a problem here are some workarounds: 3495 on the seemly icon, use the following code:
3473
3474 @enumerate
3475 @item
3476 Don't start Gnus from the toolbar, use @kbd{M-x gnus}. This is what I
3477 do.
3478
3479 @item
3480 Redefine the function called by the toolbar:
3481 3496
3482 @lisp 3497 @lisp
3483 (defun toolbar-news () 3498 (defun toolbar-news ()
3484 "Run Gnus in the frame it was started from."
3485 (interactive)
3486 (gnus)) 3499 (gnus))
3487 @end lisp 3500 @end lisp
3488 @end enumerate 3501
3502 It will redefine the callback function of the icon to just call
3503 @code{gnus}, without all the fancy frame stuff.
3489 3504
3490 @node Q4.2.4, Q4.3.1, Q4.2.3, Subsystems 3505 @node Q4.2.4, Q4.3.1, Q4.2.3, Subsystems
3491 @section How do I customize the From: line? 3506 @section How do I customize the From: line?
3492 3507
3493 How do I change the @code{From:} line? I have set gnus-user-from-line 3508 How do I change the @code{From:} line? I have set gnus-user-from-line
3815 3830
3816 Read the @file{ID-INSTALL} file which you just retrieved for 3831 Read the @file{ID-INSTALL} file which you just retrieved for
3817 step-by-step installation instructions. 3832 step-by-step installation instructions.
3818 3833
3819 @node Q4.7.1, Q4.7.2, Q4.6.1, Subsystems 3834 @node Q4.7.1, Q4.7.2, Q4.6.1, Subsystems
3820 @section What is AucTeX? Where do you get it? 3835 @section What is AUC TeX? Where do you get it?
3821 3836
3822 AucTeX is a package written by Per Abrahamsen <abraham@@dina.kvl.dk>. 3837 AUC TeX is a package written by Per Abrahamsen <abraham@@dina.kvl.dk>.
3823 The following information is from the @file{README} and website. 3838 Starting with XEmacs 19.15, AUC TeX is bundled with XEmacs. The
3839 following information is from the @file{README} and website.
3824 3840
3825 AUC TeX is an extensible package that supports writing and formatting 3841 AUC TeX is an extensible package that supports writing and formatting
3826 TeX files for most variants of GNU Emacs. Many different macro packages 3842 TeX files for most variants of GNU Emacs. Many different macro packages
3827 are supported, including AMS TeX, LaTeX, and TeXinfo. 3843 are supported, including AMS TeX, LaTeX, and TeXinfo.
3828 3844
3840 3856
3841 Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at 3857 Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at
3842 <URL:ftp://cs.nyu.edu/pub/local/fox/dismal/>. 3858 <URL:ftp://cs.nyu.edu/pub/local/fox/dismal/>.
3843 3859
3844 @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems 3860 @node Q4.7.3, Q4.7.4, Q4.7.2, Subsystems
3845 @section Byte compiling AucTeX on XEmacs 19.14. 3861 @section Byte compiling AUC TeX on XEmacs 19.14.
3846 3862
3847 Georges Brun-Cottan <bruncott@@dormeur.inria.fr> writes: 3863 Georges Brun-Cottan <bruncott@@dormeur.inria.fr> writes:
3848 3864
3849 @quotation 3865 @quotation
3850 When byte compiling auxtex-9.4g, you must use the command: 3866 When byte compiling auxtex-9.4g, you must use the command:
3852 @example 3868 @example
3853 xemacs -batch -l lpath.el 3869 xemacs -batch -l lpath.el
3854 @end example 3870 @end example
3855 @end quotation 3871 @end quotation
3856 3872
3857 @node Q4.7.4, , Q4.7.3, Subsystems 3873 @node Q4.7.4, Q4.7.5, Q4.7.3, Subsystems
3858 @section Problems installing AucTeX. 3874 @section Problems installing AUC TeX.
3859 3875
3860 Jan Vroonhof <vroonhof@@math.ethz.ch> writes: 3876 Jan Vroonhof <vroonhof@@math.ethz.ch> writes:
3861 3877
3862 @quotation 3878 @quotation
3863 AucTeX works fine on both stock Emacs and XEmacs has been doing so for a 3879 AUC TeX works fine on both stock Emacs and XEmacs has been doing so for
3864 very very long time. This is mostly due to the work of Per Abrahamsen 3880 a very very long time. This is mostly due to the work of Per Abrahamsen
3865 <abraham@@dina.kvl.dk> (clap clap) in particular his @file{easymenu} 3881 <abraham@@dina.kvl.dk> (clap clap) in particular his @file{easymenu}
3866 package. Which leads to what is probably the problem... 3882 package. Which leads to what is probably the problem...
3867 @end quotation 3883 @end quotation
3868 3884
3869 Most problems with AucTeX are one of two things: 3885 Most problems with AUC TeX are one of two things:
3870 3886
3871 @itemize @bullet 3887 @itemize @bullet
3872 @item 3888 @item
3873 The TeX-lisp-directory in @file{tex-site.el} and the makefile don't 3889 The TeX-lisp-directory in @file{tex-site.el} and the makefile don't
3874 match. 3890 match.
3875 3891
3876 Fix: make sure you configure AucTeX properly @strong{before} installing. 3892 Fix: make sure you configure AUC TeX properly @strong{before} installing.
3877 3893
3878 @item 3894 @item
3879 You have an old version of easymenu.el in your path. 3895 You have an old version of easymenu.el in your path.
3880 3896
3881 Fix: use @code{locate-library} and remove old versions to make sure it 3897 Fix: use @code{locate-library} and remove old versions to make sure it
3882 @strong{only} finds the one that came with XEmacs. 3898 @strong{only} finds the one that came with XEmacs.
3883 @end itemize 3899 @end itemize
3900
3901
3902 @node Q4.7.5, , Q4.7.4, Subsystems
3903 @section Is there a reason for an Emacs package not to be included in XEmacs?
3904
3905 The reason for an Emacs package not to be included in XEmacs is
3906 usually one or more of the following:
3907
3908 @enumerate
3909 @item
3910 The package has not been ported to XEmacs. This will typically happen
3911 when it uses GNU-Emacs-specific features, which make it fail under
3912 XEmacs.
3913
3914 Porting a package to XEmacs can range from a trivial amount of change to
3915 a partial or full rewrite. Fortunately, the authors of modern packages
3916 usually choose to support both Emacsen themselves.
3917
3918 @item
3919 The package has been decided not to be appropriate for XEmacs. It may
3920 have an equivalent or better replacement within XEmacs, in which case
3921 the developers may choose not to burden themselves with supporting an
3922 additional package.
3923
3924 Each package bundled with XEmacs means more work for the maintainers,
3925 whether they want it or not. If you are ready to take over the
3926 maintainence responsibilities for the package you port, be sure to say
3927 so -- we will more likely include it.
3928
3929 @item
3930 The package simply hasn't been noted by the XEmacs development. If
3931 that's the case, the messages like yours are very useful for attracting
3932 our attention.
3933
3934 @item
3935 The package was noted by the developers, but they simply haven't yet
3936 gotten around to including/porting it. Wait for the next release or,
3937 even better, offer your help. It will be gladly accepted and
3938 appreciated.
3939 @end enumerate
3884 3940
3885 @node Miscellaneous, Current Events, Subsystems, Top 3941 @node Miscellaneous, Current Events, Subsystems, Top
3886 @chapter The Miscellaneous Stuff 3942 @chapter The Miscellaneous Stuff
3887 3943
3888 This is part 5 of the XEmacs Frequently Asked Questions list. This 3944 This is part 5 of the XEmacs Frequently Asked Questions list. This
3898 * Q5.0.5:: How can I get XEmacs to come up in text/auto-fill mode by default? 3954 * Q5.0.5:: How can I get XEmacs to come up in text/auto-fill mode by default?
3899 * Q5.0.6:: How do I start up a second shell buffer? 3955 * Q5.0.6:: How do I start up a second shell buffer?
3900 * Q5.0.7:: Telnet from shell filters too much. 3956 * Q5.0.7:: Telnet from shell filters too much.
3901 * Q5.0.8:: Why does edt emulation not work? 3957 * Q5.0.8:: Why does edt emulation not work?
3902 * Q5.0.9:: How can I emulate VI and use it as my default mode? 3958 * Q5.0.9:: How can I emulate VI and use it as my default mode?
3903 * Q5.0.10:: [This question intentionally left blank] @strong{removed 4/97} 3959 * Q5.0.10:: [This question intentionally left blank]
3904 * Q5.0.11:: Filladapt doesn't work in 19.15? @strong{updated 4/97} 3960 * Q5.0.11:: Filladapt doesn't work in 19.15?
3905 * Q5.0.12:: How do I disable gnuserv from opening a new frame? 3961 * Q5.0.12:: How do I disable gnuserv from opening a new frame?
3906 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client? 3962 * Q5.0.13:: How do I start gnuserv so that each subsequent XEmacs is a client?
3907 * Q5.0.14:: Strange things are happening in Shell Mode. 3963 * Q5.0.14:: Strange things are happening in Shell Mode.
3908 * Q5.0.15:: Where do I get the latest CC Mode? 3964 * Q5.0.15:: Where do I get the latest CC Mode?
3909 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off? 3965 * Q5.0.16:: I find auto-show-mode disconcerting. How do I turn it off?
3912 * Q5.0.19:: Is there something better than LaTeX mode? 3968 * Q5.0.19:: Is there something better than LaTeX mode?
3913 3969
3914 Emacs Lisp Programming Techniques: 3970 Emacs Lisp Programming Techniques:
3915 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs? 3971 * Q5.1.1:: The difference in key sequences between XEmacs and GNU Emacs?
3916 * Q5.1.2:: Can I generate "fake" keyboard events? 3972 * Q5.1.2:: Can I generate "fake" keyboard events?
3917 * Q5.1.3:: [This question intentionally left blank] @strong{removed 4/97} 3973 * Q5.1.3:: Could you explain @code{read-kbd-macro} in more detail?
3918 * Q5.1.4:: In 19.13, why do I get @samp{set-text-something} lisp errors with Gnus and AUC-TeX? 3974 * Q5.1.4:: What is the performance hit of @code{let}?
3919 * Q5.1.5:: How do I put a glyph as annotation in a buffer? 3975 * Q5.1.5:: What is the recommended use of @code{setq}?
3976 * Q5.1.6:: What is the typical misuse of @code{setq} ?
3977 * Q5.1.7:: I like the the @code{do} form of cl, does it slow things down?
3978 * Q5.1.8:: I like recursion, does it slow things down?
3979 * Q5.1.9:: How do I put a glyph as annotation in a buffer?
3920 3980
3921 Sound: 3981 Sound:
3922 * Q5.2.1:: How do I turn off the sound? 3982 * Q5.2.1:: How do I turn off the sound?
3923 * Q5.2.2:: How do I get funky sounds instead of a boring beep? @strong{updated 4/97} 3983 * Q5.2.2:: How do I get funky sounds instead of a boring beep?
3924 * Q5.2.3:: What's NAS, how do I get it? 3984 * Q5.2.3:: What's NAS, how do I get it?
3925 * Q5.2.4:: Sunsite sounds don't play. 3985 * Q5.2.4:: Sunsite sounds don't play.
3926 3986
3927 Miscellaneous: 3987 Miscellaneous:
3928 * Q5.3.1:: How do you make XEmacs indent CL if-clauses correctly? 3988 * Q5.3.1:: How do you make XEmacs indent CL if-clauses correctly?
3978 c++-mode. 4038 c++-mode.
3979 4039
3980 @node Q5.0.3, Q5.0.4, Q5.0.2, Miscellaneous 4040 @node Q5.0.3, Q5.0.4, Q5.0.2, Miscellaneous
3981 @section How do I get @samp{More} Syntax Highlighting on by default? 4041 @section How do I get @samp{More} Syntax Highlighting on by default?
3982 4042
3983 For C, C++, and Lisp, you can add the following to your @file{.emacs}: 4043 Use the following code in your @file{.emacs}:
3984 4044
3985 @lisp 4045 @lisp
3986 (setq c-font-lock-keywords c-font-lock-keywords-2) 4046 (setq-default font-lock-maximum-decoration t)
3987 (setq c++-font-lock-keywords c++-font-lock-keywords-2) 4047 @end lisp
3988 (setq lisp-font-lock-keywords lisp-font-lock-keywords-2) 4048
3989 @end lisp 4049 In versions of XEmacs prior to 19.14, you had to use a kludgy solution
4050 like this:
4051
4052 @lisp
4053 (setq c-font-lock-keywords c-font-lock-keywords-2
4054 c++-font-lock-keywords c++-font-lock-keywords-2
4055 lisp-font-lock-keywords lisp-font-lock-keywords-2)
4056 @end lisp
4057
4058 It will work for C, C++ and Lisp.
3990 4059
3991 @node Q5.0.4, Q5.0.5, Q5.0.3, Miscellaneous 4060 @node Q5.0.4, Q5.0.5, Q5.0.3, Miscellaneous
3992 @section How can I enable auto-indent? 4061 @section How can I enable auto-indent?
3993 4062
3994 Put the following line in your @file{.emacs}: 4063 Put the following line in your @file{.emacs}:
4001 standard with XEmacs. Put this into your @file{.emacs}: 4070 standard with XEmacs. Put this into your @file{.emacs}:
4002 4071
4003 @lisp 4072 @lisp
4004 (require 'filladapt) 4073 (require 'filladapt)
4005 (add-hook 'text-mode-hook 'turn-on-filladapt-mode) 4074 (add-hook 'text-mode-hook 'turn-on-filladapt-mode)
4006 (add-hook 'message-mode-hook 'turn-on-filladapt-mode) 4075 ;;; and others ...
4007 ;;; and so forth ... 4076 @end lisp
4008 @end lisp 4077
4078 Note that well-behaving text-lookalike modes will run
4079 @code{text-mode-hook} by default (e.g. that's what Message does). For
4080 the nasty ones, you'll have to provide the @code{add-hook}s yourself.
4009 4081
4010 Please note that the @code{fa-extras} package is no longer useful. 4082 Please note that the @code{fa-extras} package is no longer useful.
4011 4083
4012 @node Q5.0.5, Q5.0.6, Q5.0.4, Miscellaneous 4084 @node Q5.0.5, Q5.0.6, Q5.0.4, Miscellaneous
4013 @section How can I get XEmacs to come up in text/auto-fill mode by default? 4085 @section How can I get XEmacs to come up in text/auto-fill mode by default?
4032 Emacs init file will cause the initial @code{*scratch*} buffer to be put 4104 Emacs init file will cause the initial @code{*scratch*} buffer to be put
4033 into auto-fill'ed @code{text-mode}: 4105 into auto-fill'ed @code{text-mode}:
4034 4106
4035 @lisp 4107 @lisp
4036 (setq initial-major-mode 4108 (setq initial-major-mode
4037 (function (lambda () 4109 (lambda ()
4038 (text-mode) 4110 (text-mode)
4039 (turn-on-auto-fill)))) 4111 (turn-on-auto-fill)))
4040 @end lisp 4112 @end lisp
4041 4113
4042 Note that after your init file is loaded, if 4114 Note that after your init file is loaded, if
4043 @code{inhibit-startup-message} is null (the default) and the startup 4115 @code{inhibit-startup-message} is @code{nil} (the default) and the
4044 buffer is @code{*scratch*} then the startup message will be inserted 4116 startup buffer is @code{*scratch*} then the startup message will be
4045 into @code{*scratch*}; it will be removed after a timeout by erasing the 4117 inserted into @code{*scratch*}; it will be removed after a timeout by
4046 entire @code{*scratch*} buffer. Keep in mind this default usage of 4118 erasing the entire @code{*scratch*} buffer. Keep in mind this default
4047 @code{*scratch*} if you desire any prior manipulation of 4119 usage of @code{*scratch*} if you desire any prior manipulation of
4048 @code{*scratch*} from within your Emacs init file. In particular, 4120 @code{*scratch*} from within your Emacs init file. In particular,
4049 anything you insert into @code{*scratch*} from your init file will be 4121 anything you insert into @code{*scratch*} from your init file will be
4050 later erased. Also, if you change the mode of the @code{*scratch*} 4122 later erased. Also, if you change the mode of the @code{*scratch*}
4051 buffer, be sure that this will not interfere with possible later 4123 buffer, be sure that this will not interfere with possible later
4052 insertion of the startup message (e.g. if you put @code{*scratch*} into 4124 insertion of the startup message (e.g. if you put @code{*scratch*} into
4085 We don't know, but you can use tpu-edt emulation instead, which works 4157 We don't know, but you can use tpu-edt emulation instead, which works
4086 fine and is a little fancier than the standard edt emulation. To do 4158 fine and is a little fancier than the standard edt emulation. To do
4087 this, add the following line to your @file{.emacs}: 4159 this, add the following line to your @file{.emacs}:
4088 4160
4089 @lisp 4161 @lisp
4090 (load "tpu-edt") 4162 (tpu-edt)
4091 @end lisp 4163 @end lisp
4092 4164
4093 If you don't want it to replace @kbd{C-h} with an edt-style help menu 4165 If you don't want it to replace @kbd{C-h} with an edt-style help menu
4094 add this as well: 4166 add this as well:
4095 4167
4096 @lisp 4168 @lisp
4097 (global-set-key '(control h) 'help-for-help) 4169 (global-set-key [(control h)] 'help-for-help)
4098 @end lisp 4170 @end lisp
4099 4171
4100 @node Q5.0.9, Q5.0.10, Q5.0.8, Miscellaneous 4172 @node Q5.0.9, Q5.0.10, Q5.0.8, Miscellaneous
4101 @section How can I emulate VI and use it as my default mode? 4173 @section How can I emulate VI and use it as my default mode?
4102 4174
4240 4312
4241 David Kastrup <dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes: 4313 David Kastrup <dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de> writes:
4242 4314
4243 @quotation 4315 @quotation
4244 The standard TeX modes leave much to be desired, and are somewhat 4316 The standard TeX modes leave much to be desired, and are somewhat
4245 leniently maintained. Serious TeX users use AucTeX (@xref{Q4.7.1}). 4317 leniently maintained. Serious TeX users use AUC TeX (@xref{Q4.7.1}).
4246 @end quotation 4318 @end quotation
4247 4319
4248 @node Q5.1.1, Q5.1.2, Q5.0.19, Miscellaneous 4320 @node Q5.1.1, Q5.1.2, Q5.0.19, Miscellaneous
4249 @section What is the difference in key sequences between XEmacs and GNU Emacs? 4321 @section What is the difference in key sequences between XEmacs and GNU Emacs?
4250 4322
4254 Emacs has a legacy of keyboards that produced characters with modifier 4326 Emacs has a legacy of keyboards that produced characters with modifier
4255 bits, and therefore map a variety of input systems into this scheme even 4327 bits, and therefore map a variety of input systems into this scheme even
4256 today. XEmacs is instead optimized for X events. This causes an 4328 today. XEmacs is instead optimized for X events. This causes an
4257 incompatibility in the way key sequences are specified, but both Emacs 4329 incompatibility in the way key sequences are specified, but both Emacs
4258 and XEmacs will accept a key sequence as a vector of lists of modifiers 4330 and XEmacs will accept a key sequence as a vector of lists of modifiers
4259 that ends with a key, e.g., to bind M-C-a, you would say [(meta control 4331 that ends with a key, e.g., to bind @kbd{M-C-a}, you would say
4260 a)] in both Emacsen. XEmacs has an abbreviated form for a single key, 4332 @code{[(meta control a)]} in both Emacsen. XEmacs has an abbreviated
4261 just (meta control a). Emacs has an abbreviated form for the Control 4333 form for a single key, just (meta control a). Emacs has an abbreviated
4262 and the Meta modifiers to string-characters (the ASCII characters), as 4334 form for the Control and the Meta modifiers to string-characters (the
4263 in "\M-\C-a". XEmacs users need to be aware that the abbreviated form 4335 ASCII characters), as in @samp{\M-\C-a}. XEmacs users need to be aware
4264 works only for one-character key sequences, while Emacs users need to be 4336 that the abbreviated form works only for one-character key sequences,
4265 aware that the string-character is rather limited. Specifically, the 4337 while Emacs users need to be aware that the string-character is rather
4266 string-character can accomodate only 256 different values, 128 of which 4338 limited. Specifically, the string-character can accomodate only 256
4267 have the Meta modifier and 128 of which have not. In each of these 4339 different values, 128 of which have the Meta modifier and 128 of which
4268 blocks, only 32 characters have the Control modifier. Whereas [(meta 4340 have not. In each of these blocks, only 32 characters have the Control
4269 control A)] differs from [(meta control a)] because the case differs, 4341 modifier. Whereas @code{[(meta control A)]} differs from @code{[(meta
4270 "\M-\C-a" and "\M-\C-A" do not. Programmers are advised to use the full 4342 control a)]} because the case differs, @samp{\M-\C-a} and @samp{\M-\C-A}
4271 common form, both because it is more readable and less error-prone, and 4343 do not. Programmers are advised to use the full common form, both
4272 because it is supported by both Emacsen. 4344 because it is more readable and less error-prone, and because it is
4273 @end quotation 4345 supported by both Emacsen.
4346 @end quotation
4347
4348 Another (even safer) way to be sure of the key-sequences is to use the
4349 @code{read-kbd-macro} function, which takes a string like @samp{C-c
4350 <up>}, and converts it to the internal key representation of the Emacs
4351 you use. The function is available both on XEmacs and GNU Emacs.
4274 4352
4275 @node Q5.1.2, Q5.1.3, Q5.1.1, Miscellaneous 4353 @node Q5.1.2, Q5.1.3, Q5.1.1, Miscellaneous
4276 @section Can I generate "fake" keyboard events? 4354 @section Can I generate "fake" keyboard events?
4277 4355
4278 I wonder if there is an interactive function that can generate "fake" 4356 I wonder if there is an interactive function that can generate
4279 keyboard events. This way, I could simply map them inside XEmacs. 4357 @dfn{fake} keyboard events. This way, I could simply map them inside
4358 XEmacs.
4280 4359
4281 This seems to work: 4360 This seems to work:
4282 4361
4283 @lisp 4362 @lisp
4284 (defun cg--generate-char-event (ch) 4363 (defun cg--generate-char-event (ch)
4285 "Generate an event, as if ch has been typed" 4364 "Generate an event, as if ch has been typed"
4286 (dispatch-event (character-to-event ch))) 4365 (dispatch-event (character-to-event ch)))
4287 4366
4288 ;; Backspace and Delete stuff 4367 ;; Backspace and Delete stuff
4289 (global-set-key '(backspace) 4368 (global-set-key [backspace]
4290 '(lambda () (interactive) (cg--generate-char-event 127))) 4369 (lambda () (interactive) (cg--generate-char-event 127)))
4291 (global-set-key '(unknown_keysym_0x4) 4370 (global-set-key [unknown_keysym_0x4]
4292 '(lambda () (interactive) (cg--generate-char-event 4))) 4371 (lambda () (interactive) (cg--generate-char-event 4)))
4293 @end lisp 4372 @end lisp
4294 4373
4295 @node Q5.1.3, Q5.1.4, Q5.1.2, Miscellaneous 4374 @node Q5.1.3, Q5.1.4, Q5.1.2, Miscellaneous
4296 @section [This question intentionally left blank] 4375 @section Could you explain @code{read-kbd-macro} in more detail?
4297 4376
4298 Obsolete question, left blank to avoid renumbering. 4377 The @code{read-kbd-macro} function returns the internal Emacs
4378 representation of a human-readable string (which is its argument).
4379 Thus:
4380
4381 @lisp
4382 (read-kbd-macro "C-c C-a")
4383 @result{} [(control ?c) (control ?a)]
4384
4385 (read-kbd-macro "C-c C-. <up>")
4386 @result{} [(control ?c) (control ?.) up]
4387 @end lisp
4388
4389 In GNU Emacs the same forms will be evaluated to what GNU Emacs
4390 understands internally---the sequences @code{"\C-x\C-c"} and @code{[3
4391 67108910 up]}, respectively.
4392
4393 The exact @dfn{human-readable} syntax is defined in the docstring of
4394 @code{edmacro-mode}. I'll repeat it here, for completeness.
4395
4396 @quotation
4397 Format of keyboard macros during editing:
4398
4399 Text is divided into @dfn{words} separated by whitespace. Except for
4400 the words described below, the characters of each word go directly as
4401 characters of the macro. The whitespace that separates words is
4402 ignored. Whitespace in the macro must be written explicitly, as in
4403 @kbd{foo SPC bar RET}.
4404
4405 @itemize @bullet
4406 @item
4407 The special words @kbd{RET}, @kbd{SPC}, @kbd{TAB}, @kbd{DEL}, @kbd{LFD},
4408 @kbd{ESC}, and @kbd{NUL} represent special control characters. The
4409 words must be written in uppercase.
4410
4411 @item
4412 A word in angle brackets, e.g., @code{<return>}, @code{<down>}, or
4413 @code{<f1>}, represents a function key. (Note that in the standard
4414 configuration, the function key @code{<return>} and the control key
4415 @kbd{RET} are synonymous.) You can use angle brackets on the words
4416 @kbd{RET}, @kbd{SPC}, etc., but they are not required there.
4417
4418 @item
4419 Keys can be written by their @sc{ascii} code, using a backslash followed
4420 by up to six octal digits. This is the only way to represent keys with
4421 codes above \377.
4422
4423 @item
4424 One or more prefixes @kbd{M-} (meta), @kbd{C-} (control), @kbd{S-}
4425 (shift), @kbd{A-} (alt), @kbd{H-} (hyper), and @kbd{s-} (super) may
4426 precede a character or key notation. For function keys, the prefixes
4427 may go inside or outside of the brackets: @code{C-<down>} @equiv{}
4428 @code{<C-down>}. The prefixes may be written in any order: @kbd{M-C-x}
4429 @equiv{} @kbd{C-M-x}.
4430
4431 Prefixes are not allowed on multi-key words, e.g., @kbd{C-abc}, except
4432 that the Meta prefix is allowed on a sequence of digits and optional
4433 minus sign: @kbd{M--123} @equiv{} @kbd{M-- M-1 M-2 M-3}.
4434
4435 @item
4436 The @code{^} notation for control characters also works: @kbd{^M}
4437 @equiv{} @kbd{C-m}.
4438
4439 @item
4440 Double angle brackets enclose command names: @code{<<next-line>>} is
4441 shorthand for @kbd{M-x next-line RET}.
4442
4443 @item
4444 Finally, @code{REM} or @code{;;} causes the rest of the line to be
4445 ignored as a comment.
4446 @end itemize
4447
4448 Any word may be prefixed by a multiplier in the form of a decimal number
4449 and @code{*}: @code{3*<right>} @equiv{} @code{<right> <right> <right>},
4450 and @code{10*foo} @equiv{} @code{foofoofoofoofoofoofoofoofoofoo}.
4451
4452 Multiple text keys can normally be strung together to form a word, but
4453 you may need to add whitespace if the word would look like one of the
4454 above notations: @code{; ; ;} is a keyboard macro with three semicolons,
4455 but @code{;;;} is a comment. Likewise, @code{\ 1 2 3} is four keys but
4456 @code{\123} is a single key written in octal, and @code{< right >} is
4457 seven keys but @code{<right>} is a single function key. When in doubt,
4458 use whitespace.
4459 @end quotation
4299 4460
4300 @node Q5.1.4, Q5.1.5, Q5.1.3, Miscellaneous 4461 @node Q5.1.4, Q5.1.5, Q5.1.3, Miscellaneous
4301 @section In 19.13, why do I get @samp{set-text-something} lisp errors with Gnus and AUC-TeX? 4462 @section What is the performance hit of @code{let}?
4302 4463
4303 The real problem is out of date software. Upgrade to later versions of 4464 In most cases, not noticable. Besides, there's no avoiding
4304 Gnus and AUC-TeX where this problem doesn't exist. 4465 @code{let}---you have to bind your local variables, after all. Some
4305 4466 pose a question whether to nest @code{let}s, or use one @code{let} per
4306 The problem lies with the needs for an Emacs function, 4467 function. I think because of clarity and maintenance (and possible
4307 @code{set-text-properties}, which generally isn't required by XEmacs. 4468 future implementation), @code{let}-s should be used (nested) in a way to
4308 The solutions include adding the following code to your @file{.emacs}: 4469 provide the clearest code.
4309 4470
4310 @lisp 4471 @node Q5.1.5, Q5.1.6, Q5.1.4, Miscellaneous
4311 (fset 'set-text-properties (symbol-function 'ignore)) 4472 @section What is the recommended use of @code{setq}?
4312 @end lisp 4473
4313 4474 @itemize @bullet
4314 or 4475 @item Global variables
4315 4476
4316 @lisp 4477 You will typically @code{defvar} your global variable to a default
4317 (defadvice set-text-properties (around ignore-strings activate) 4478 value, and use @code{setq} to set it later.
4318 "Ignore strings." 4479
4319 (or (stringp (ad-get-arg 3)) 4480 It is never a good practice to @code{setq} user variables (like
4320 ad-do-it)) 4481 @code{case-fold-search}, etc.), as it ignores the user's choice
4321 @end lisp 4482 unconditionally. Note that @code{defvar} doesn't change the value of a
4322 4483 variable if it was bound previously. If you wish to change a
4323 The best is probably the canonical solution (posted by C.Thompson, on 4484 user-variable temporarily, use @code{let}:
4324 10/17/95): 4485
4325 4486 @lisp
4326 @lisp 4487 (let ((case-fold-search nil))
4327 (defun set-text-properties (start end props &optional buffer) 4488 ... ; code with searches that must be case-sensitive
4328 "You should NEVER use this function. It is ideologically blasphemous. 4489 ...)
4329 It is provided only to ease porting of broken FSF Emacs programs." 4490 @end lisp
4330 (if (stringp buffer) nil 4491
4331 (map-extents 4492 You will notice the user-variables by their docstrings beginning with an
4332 #'(lambda (extent ignored) 4493 asterisk (a convention).
4333 (remove-text-properties 4494
4334 start end (list (extent-property extent 'text-prop) nil) 4495 @item Local variables
4335 buffer)) 4496
4336 buffer start end nil nil 'text-prop) 4497 Bind them with @code{let}, which will unbind them (or restore their
4337 (add-text-properties start end props buffer))) 4498 previous value, if they were bound) after exiting from the @code{let}
4338 @end lisp 4499 form. Change the value of local variables with @code{setq} or whatever
4339 4500 you like (e.g. @code{incf}, @code{setf} and such). The @code{let} form
4340 @node Q5.1.5, Q5.2.1, Q5.1.4, Miscellaneous 4501 can even return one of its local variables.
4502
4503 Typical usage:
4504
4505 @lisp
4506 ;; iterate through the elements of the list returned by
4507 ;; `hairy-function-that-returns-list'
4508 (let ((l (hairy-function-that-returns-list)))
4509 (while l
4510 ... do something with (car l) ...
4511 (setq l (cdr l))))
4512 @end lisp
4513
4514 Another typical usage includes building a value simply to work with it.
4515
4516 @lisp
4517 ;; Build the mode keymap out of the key-translation-alist
4518 (let ((inbox (file-truename (expand-file-name box)))
4519 (i 0))
4520 ... code dealing with inbox ...
4521 inbox)
4522 @end lisp
4523
4524 This piece of code uses the local variable @code{inbox}, which becomes
4525 unbound (or regains old value) after exiting the form. The form also
4526 returns the value of @code{inbox}, which can be reused, for instance:
4527
4528 @lisp
4529 (setq foo-processed-inbox
4530 (let .....))
4531 @end lisp
4532 @end itemize
4533
4534 @node Q5.1.6, Q5.1.7, Q5.1.5, Miscellaneous
4535 @section What is the typical misuse of @code{setq} ?
4536
4537 A typical misuse is probably @code{setq}ing a variable that was meant to
4538 be local. Such a variable will remain bound forever, never to be
4539 garbage-collected. For example, the code doing:
4540
4541 @lisp
4542 (defun my-function (whatever)
4543 (setq a nil)
4544 ... build a large list ...
4545 ... and exit ...)
4546 @end lisp
4547
4548 does a bad thing, as @code{a} will keep consuming memory, never to be
4549 unbound. The correct thing is to do it like this:
4550
4551 @lisp
4552 (defun my-function (whatever)
4553 (let (a) ; default initialization is to nil
4554 ... build a large list ...
4555 ... and exit, unbinding `a' in the process ...)
4556 @end lisp
4557
4558 Not only is this prettier syntactically, but it makes it possible for
4559 Emacs to garbage-collect the objects which @code{a} used to reference.
4560
4561 Note that even global variables should not be @code{setq}ed without
4562 @code{defvar}ing them first, because the byte-compiler issues warnings.
4563 The reason for the warning is the following:
4564
4565 @lisp
4566 (defun flurgoze nil) ; ok, global internal variable
4567 ...
4568
4569 (setq flurghoze t) ; ops! a typo, but semantically correct.
4570 ; however, the byte-compiler warns.
4571
4572 While compiling toplevel forms:
4573 ** assignment to free variable flurghoze
4574 @end lisp
4575
4576 @node Q5.1.7, Q5.1.8, Q5.1.6, Miscellaneous
4577 @section I like the the @code{do} form of cl, does it slow things down?
4578
4579 It shouldn't. Here is what Dave Gillespie has to say about cl.el
4580 performance:
4581
4582 @quotation
4583 Many of the advanced features of this package, such as @code{defun*},
4584 @code{loop}, and @code{setf}, are implemented as Lisp macros. In
4585 byte-compiled code, these complex notations will be expanded into
4586 equivalent Lisp code which is simple and efficient. For example, the
4587 forms
4588
4589 @lisp
4590 (incf i n)
4591 (push x (car p))
4592 @end lisp
4593
4594 are expanded at compile-time to the Lisp forms
4595
4596 @lisp
4597 (setq i (+ i n))
4598 (setcar p (cons x (car p)))
4599 @end lisp
4600
4601 which are the most efficient ways of doing these respective operations
4602 in Lisp. Thus, there is no performance penalty for using the more
4603 readable @code{incf} and @code{push} forms in your compiled code.
4604
4605 @emph{Interpreted} code, on the other hand, must expand these macros
4606 every time they are executed. For this reason it is strongly
4607 recommended that code making heavy use of macros be compiled. (The
4608 features labelled @dfn{Special Form} instead of @dfn{Function} in this
4609 manual are macros.) A loop using @code{incf} a hundred times will
4610 execute considerably faster if compiled, and will also garbage-collect
4611 less because the macro expansion will not have to be generated, used,
4612 and thrown away a hundred times.
4613
4614 You can find out how a macro expands by using the @code{cl-prettyexpand}
4615 function.
4616 @end quotation
4617
4618 @node Q5.1.8, Q5.1.9, Q5.1.7, Miscellaneous
4619 @section I like recursion, does it slow things down?
4620
4621 Yes. Emacs byte-compiler cannot do much to optimize recursion. But
4622 think well whether this is a real concern in Emacs. Much of the Emacs
4623 slowness comes from internal mechanisms such as redisplay, or from the
4624 fact that it is an interpreter.
4625
4626 Please try not to make your code much uglier to gain a very small speed
4627 gain. It's not usually worth it.
4628
4629 @node Q5.1.9, Q5.2.1, Q5.1.8, Miscellaneous
4341 @section How do I put a glyph as annotation in a buffer? 4630 @section How do I put a glyph as annotation in a buffer?
4342 4631
4343 Thomas Feuster <feuster@@tp4.physik.uni-giessen.de> writes: 4632 Here is a solution that will insert the glyph annotation at the
4344 4633 beginning of buffer:
4345 @quotation 4634
4346 @lisp 4635 @lisp
4347 (let ((image-glyph (make-glyph-internal))) 4636 (make-annotation (make-glyph '([FORMAT :file FILE]
4348 (seems to be unavoidable to do 'make-glyph-internal') 4637 [string :data "fallback-text"]))
4349 @end lisp 4638 (point-min)
4350 4639 'text
4351 Now for viewing files: 4640 (current-buffer))
4352 4641 @end lisp
4353 @lisp 4642
4354 (set-glyph-image image-glyph view-graph-file-buf)) 4643 Replace @samp{FORMAT} with an unquoted symbol representing the format of
4355 @end lisp 4644 the image (e.g. @code{xpm}, @code{xbm}, @code{gif}, @code{jpeg}, etc.)
4356 4645 Instead of @samp{FILE}, use the image file name
4357 For viewing already loaded buffers: 4646 (e.g. @file{/usr/local/lib/xemacs-20.2/etc/recycle.xpm}).
4358 4647
4359 @lisp 4648 You can turn this to a function (that optionally prompts you for a file
4360 (setq image-glyph (make-glyph 4649 name), and inserts the glyph at @code{(point)} instead of
4361 (vector view-graph-file-format :data 4650 @code{(point-min)}.
4362 (buffer-substring 4651
4363 (point-min) 4652 @node Q5.2.1, Q5.2.2, Q5.1.9, Miscellaneous
4364 (point-max)))))
4365 @end lisp
4366
4367 The thing I couldn't figure out is how to make XEmacs guess the format
4368 from the contents - like it does for files. So it's a real pain to
4369 extract the format from the extensions of the file-name...
4370 @end quotation
4371
4372 @node Q5.2.1, Q5.2.2, Q5.1.5, Miscellaneous
4373 @section How do I turn off the sound? 4653 @section How do I turn off the sound?
4374 4654
4375 Add the following line to your @file{.emacs}: 4655 Add the following line to your @file{.emacs}:
4376 4656
4377 @lisp 4657 @lisp
4378 (setq bell-volume 0) 4658 (setq bell-volume 0)
4379 (setq sound-alist nil) 4659 (setq sound-alist nil)
4380 @end lisp 4660 @end lisp
4661
4662 That will make your XEmacs totally silent -- even the default ding sound
4663 (TTY beep on TTY-s) will be gone.
4381 4664
4382 @node Q5.2.2, Q5.2.3, Q5.2.1, Miscellaneous 4665 @node Q5.2.2, Q5.2.3, Q5.2.1, Miscellaneous
4383 @section How do I get funky sounds instead of a boring beep? 4666 @section How do I get funky sounds instead of a boring beep?
4384 4667
4385 Make sure your XEmacs was compiled with sound support, and then put this 4668 Make sure your XEmacs was compiled with sound support, and then put this
4450 Also, a new version (1.2) of @file{cl-indent.el} was posted to 4733 Also, a new version (1.2) of @file{cl-indent.el} was posted to
4451 comp.emacs.xemacs on 12/9/94. This version includes more documentation 4734 comp.emacs.xemacs on 12/9/94. This version includes more documentation
4452 than previous versions. This may prove useful if you need to customize 4735 than previous versions. This may prove useful if you need to customize
4453 any indent-functions. 4736 any indent-functions.
4454 4737
4455 NB: I would have thought with the passage of time this would be the
4456 standard version by now, but that appears not to be the case. The
4457 version of filladapt included with 19.14 is last dated 1993, and does
4458 not have a version number.
4459
4460 @node Q5.3.2, Q5.3.3, Q5.3.1, Miscellaneous 4738 @node Q5.3.2, Q5.3.3, Q5.3.1, Miscellaneous
4461 @section Fontifying hang when editing a postscript file. 4739 @section Fontifying hang when editing a postscript file.
4462 4740
4463 When I try to edit a postscript file it gets stuck saying: 4741 When I try to edit a postscript file it gets stuck saying:
4464 @samp{fontifying 'filename' (regexps....)} and it just sits there. If I 4742 @samp{fontifying 'filename' (regexps....)} and it just sits there. If I
4527 Obsolete question, left blank to avoid renumbering. 4805 Obsolete question, left blank to avoid renumbering.
4528 4806
4529 @node Q5.3.7, Q5.3.8, Q5.3.6, Miscellaneous 4807 @node Q5.3.7, Q5.3.8, Q5.3.6, Miscellaneous
4530 @section Can I have the end of the buffer delimited in some way? 4808 @section Can I have the end of the buffer delimited in some way?
4531 4809
4532 Say, with: [END]? 4810 Say, with: @samp{[END]}?
4533 4811
4534 Use this: 4812 Try this:
4535 4813
4536 @lisp 4814 @lisp
4537 (make-annotation "[END]" (point-max) 'text (current-buffer)) 4815 (let ((ext (make-extent (point-min) (point-max))))
4538 @end lisp 4816 (set-extent-property ext 'start-closed t)
4539 4817 (set-extent-property ext 'end-closed t)
4540 Note that you might want to put this in a hook. Since 4818 (set-extent-property ext 'detachable nil)
4541 @code{make-annotation} is not defined by default, you might also need: 4819 (set-extent-end-glyph ext (make-glyph [string :data "[END]"])))
4542 4820 @end lisp
4543 @lisp 4821
4544 (require 'annotations) 4822 Since this is XEmacs, you can specify an icon to be shown on
4545 @end lisp 4823 window-system devices. To do so, change the @code{make-glyph} call to
4824 something like this:
4825
4826 @lisp
4827 (make-glyph '([xpm :file "~/something.xpm"]
4828 [string :data "[END]"]))
4829 @end lisp
4830
4831 You can inline the @sc{xpm} definition yourself by specifying
4832 @code{:data} instead of @code{:file}. Here is such a full-featured
4833 version that works on both X and TTY devices:
4834
4835 @lisp
4836 (let ((ext (make-extent (point-min) (point-max))))
4837 (set-extent-property ext 'start-closed t)
4838 (set-extent-property ext 'end-closed t)
4839 (set-extent-property ext 'detachable nil)
4840 (set-extent-end-glyph ext (make-glyph '([xpm :data "\
4841 /* XPM */
4842 static char* eye = @{
4843 \"20 11 7 2\",
4844 \"__ c None\"
4845 \"_` c #7f7f7f\",
4846 \"_a c #fefefe\",
4847 \"_b c #7f0000\",
4848 \"_c c #fefe00\",
4849 \"_d c #fe0000\",
4850 \"_e c #bfbfbf\",
4851 \"___________`_`_`___b_b_b_b_________`____\",
4852 \"_________`_`_`___b_c_c_c_b_b____________\",
4853 \"_____`_`_`_e___b_b_c_c_c___b___b_______`\",
4854 \"___`_`_e_a___b_b_d___b___b___b___b______\",
4855 \"_`_`_e_a_e___b_b_d_b___b___b___b___b____\",
4856 \"_`_`_a_e_a___b_b_d___b___b___b___b___b__\",
4857 \"_`_`_e_a_e___b_b_d_b___b___b___b___b_b__\",
4858 \"___`_`_e_a___b_b_b_d_c___b___b___d_b____\",
4859 \"_____`_`_e_e___b_b_b_d_c___b_b_d_b______\",
4860 \"_`_____`_`_`_`___b_b_b_d_d_d_d_b________\",
4861 \"___`_____`_`_`_`___b_b_b_b_b_b__________\",
4862 @} ;"]
4863 [string :data "[END]"]))))
4864 @end lisp
4865
4866 Note that you might want to make this a function, and put it to a hook.
4867 We leave that as an excercise for the reader.
4546 4868
4547 @node Q5.3.8, Q5.3.9, Q5.3.7, Miscellaneous 4869 @node Q5.3.8, Q5.3.9, Q5.3.7, Miscellaneous
4548 @section How do I insert today's date into a buffer? 4870 @section How do I insert today's date into a buffer?
4549 4871
4550 Like this: 4872 Like this:
4569 If this sounds confusing to you, (re-)read the online documentation for 4891 If this sounds confusing to you, (re-)read the online documentation for
4570 abbrevs (@kbd{C-h i m XEmacs RET m Abbrevs RET}), and then come back and 4892 abbrevs (@kbd{C-h i m XEmacs RET m Abbrevs RET}), and then come back and
4571 read this question/answer again. 4893 read this question/answer again.
4572 @end quotation 4894 @end quotation
4573 4895
4896 Hrvoje Niksic <hniksic@@srce.hr> writes:
4897
4898 @quotation
4899 I consider this a bug. I may attempt to fix it one day (and add a
4900 variable to revert to the current behavior).
4901
4902 If many people wants to see this fixed, send me mails---they will move
4903 me to start hacking sooner.
4904 @end quotation
4905
4574 @node Q5.3.10, Q5.3.11, Q5.3.9, Miscellaneous 4906 @node Q5.3.10, Q5.3.11, Q5.3.9, Miscellaneous
4575 @section How can I get those oh-so-neat X-Face lines? 4907 @section How can I get those oh-so-neat X-Face lines?
4576 4908
4577 Firstly there is an ftp site which describes X-faces and has the 4909 Firstly there is an ftp site which describes X-faces and has the
4578 associated tools mentioned below, at 4910 associated tools mentioned below, at
4614 @lisp 4946 @lisp
4615 (defun mail-insert-x-face () 4947 (defun mail-insert-x-face ()
4616 (save-excursion 4948 (save-excursion
4617 (goto-char (point-min)) 4949 (goto-char (point-min))
4618 (search-forward mail-header-separator) 4950 (search-forward mail-header-separator)
4619 (beginning-of-line nil) 4951 (beginning-of-line)
4620 (insert "X-Face:") 4952 (insert "X-Face:")
4621 (insert-file "~/.face"))) 4953 (insert-file-contents "~/.face")))
4622 4954
4623 (add-hook 'mail-setup-hook 'mail-insert-x-face) 4955 (add-hook 'mail-setup-hook 'mail-insert-x-face)
4624 @end lisp 4956 @end lisp
4625 @end enumerate 4957 @end enumerate
4626 4958
4749 transpired over the previous month. If you are reading this from the 5081 transpired over the previous month. If you are reading this from the
4750 XEmacs distribution, please see the version on the Web or archived at the 5082 XEmacs distribution, please see the version on the Web or archived at the
4751 various FAQ FTP sites, as this file is surely out of date. 5083 various FAQ FTP sites, as this file is surely out of date.
4752 5084
4753 @menu 5085 @menu
4754 * Q6.0.1:: What is new in 20.1? @strong{updated 4/97} 5086 * Q6.0.1:: What is new in 20.2?
5087 * Q6.0.2:: What is new in 20.3?
4755 * Q6.0.3:: Procedural changes in XEmacs development. 5088 * Q6.0.3:: Procedural changes in XEmacs development.
4756 @end menu 5089 @end menu
4757 5090
4758 @node Q6.0.1, Q6.0.3, Current Events, Current Events 5091 @node Q6.0.1, Q6.0.2, Current Events, Current Events
4759 @section What is new in 20.1? 5092 @section What is new in 20.2?
4760 5093
4761 The biggest changes in 20.1 include intergration of EFS (the next 5094 The biggest changes in 20.2 include intergration of EFS (the next
4762 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a 5095 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
4763 major mode for editing Tex and LaTeX, and a lot of other stuff). Many 5096 major mode for editing Tex and LaTeX, and a lot of other stuff). Many
4764 bugs from 20.0 have been fixed for this release. 5097 bugs from 20.0 have been fixed for this release. 20.2 also contains a
4765 5098 new system for customizing XEmacs options, invoked via @kbd{M-x
4766 XEmacs 20.1 is the development release, and is no longer considered 5099 customize}.
4767 unstable. 5100
4768 5101 XEmacs 20.2 is the development release (20.0 was beta), and is no longer
4769 @node Q6.0.3, , Q6.0.1, Current Events 5102 considered unstable.
5103
5104 @node Q6.0.2, Q6.0.3, Q6.0.1, Current Events
5105 @section What is new in 20.3?
5106
5107 XEmacs release 20.3 is planned for autumn 1997. It will likely contain
5108 a much smaller amount of code for basic functionality, with all the
5109 popular Lisp packages being available in the form of easy-to-install
5110 add-ons.
5111
5112 Other input methods (such as skk) will be made available for Mule, as
5113 well as more user-level documentation.
5114
5115 Many new features are planned, such as multiple TTY frames, support for
5116 Autoconf 2, synches with Emacs 20.1, and more; much of this is already
5117 running in various beta versions. Ask at
5118 @code{<xemacs-beta-request@@xemacs.org>} for more details.
5119
5120 @node Q6.0.3, , Q6.0.2, Current Events
4770 @section Procedural changes in XEmacs development. 5121 @section Procedural changes in XEmacs development.
4771 5122
4772 @enumerate 5123 @enumerate
4773 @item 5124 @item
4774 Discussion about the development of XEmacs occurs on the xemacs-beta 5125 Discussion about the development of XEmacs occurs on the xemacs-beta
4781 @item 5132 @item
4782 Due to the long development cycle in between releases, it has been 5133 Due to the long development cycle in between releases, it has been
4783 decided that intermediate versions will be made available in source only 5134 decided that intermediate versions will be made available in source only
4784 form for the truly interested. 5135 form for the truly interested.
4785 5136
4786 No further XEmacs 19 releases are planned. 5137 No further XEmacs 19 feature releases are planned. XEmacs 19.16 will
5138 consist of 19.15 plus the collected bugfixes, and will probably be the
5139 final version of XEmacs 19.
4787 5140
4788 @item 5141 @item
4789 As of December 1996, Steve Baur <steve@@altair.xemacs.org> has become 5142 As of December 1996, Steve Baur <steve@@altair.xemacs.org> has become
4790 the lead maintainer of XEmacs. 5143 the lead maintainer of XEmacs.
5144 @end enumerate
4791 5145
4792 @bye 5146 @bye
4793 <