comparison man/xemacs-faq.texi @ 2459:4c1db13742bc

[xemacs-hg @ 2004-12-29 05:08:26 by ben] Commit FAQ xemacs-faq.texi: Major rearrangement. Expand to 10 sections. Add various questions, mostly stubs currently. Remove some obsolete stuff. Update a bunch of the links
author ben
date Wed, 29 Dec 2004 05:08:26 +0000
parents ab71ad6ff3dd
children b7b90f750a78
comparison
equal deleted inserted replaced
2458:0806ff4f2810 2459:4c1db13742bc
5 @setchapternewpage off 5 @setchapternewpage off
6 @c %**end of header 6 @c %**end of header
7 @finalout 7 @finalout
8 @titlepage 8 @titlepage
9 @title XEmacs FAQ 9 @title XEmacs FAQ
10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2004/12/06 03:51:29 $ 10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2004/12/29 05:08:26 $
11 @sp 1 11 @sp 1
12 @author Ben Wing <ben@@xemacs.org> 12 @author Ben Wing <ben@@xemacs.org>
13 @author Tony Rossini <rossini@@u.washington.edu> 13 @author Tony Rossini <rossini@@u.washington.edu>
14 @author Chuck Thompson <cthomp@@xemacs.org> 14 @author Chuck Thompson <cthomp@@xemacs.org>
15 @author Steve Baur <steve@@xemacs.org> 15 @author Steve Baur <steve@@xemacs.org>
178 @c end ifset points to CANONICAL 178 @c end ifset points to CANONICAL
179 179
180 @menu 180 @menu
181 * Introduction:: Introduction, Policy, Credits. 181 * Introduction:: Introduction, Policy, Credits.
182 * Installation:: Installation and Troubleshooting. 182 * Installation:: Installation and Troubleshooting.
183 * Display Subsystems:: Basic Display-Related Subsystems. 183 * Editing:: Editing Functions.
184 * Display:: Display Functions.
184 * External Subsystems:: Interfacing with the OS and External Devices. 185 * External Subsystems:: Interfacing with the OS and External Devices.
185 * Internet:: Connecting to the Internet. 186 * Internet:: Connecting to the Internet.
186 * Advanced:: Advanced Customization Using XEmacs Lisp. 187 * Advanced:: Advanced Customization Using XEmacs Lisp.
188 * Other Packages:: Other External Packages.
187 * Current Events:: What the Future Holds. 189 * Current Events:: What the Future Holds.
188 * Legacy Versions:: New information about old XEmacsen. 190 * Legacy Versions:: New information about old XEmacsen.
189 191
190 @detailmenu 192 @detailmenu
191 --- The Detailed Node Listing --- 193 --- The Detailed Node Listing ---
228 * Q1.3.1:: Who wrote XEmacs? 230 * Q1.3.1:: Who wrote XEmacs?
229 * Q1.3.2:: Who contributed to this version of the FAQ? 231 * Q1.3.2:: Who contributed to this version of the FAQ?
230 * Q1.3.3:: Who contributed to the FAQ in the past? 232 * Q1.3.3:: Who contributed to the FAQ in the past?
231 233
232 1.4: Internationalization 234 1.4: Internationalization
233 * Q1.4.1:: What is the status of internationalization support aka MULE (including Asian language support? 235 * Q1.4.1:: What is the status of internationalization support aka MULE (including Asian language support)?
234 * Q1.4.2:: How can I help with internationalization? 236 * Q1.4.2:: How can I help with internationalization?
235 * Q1.4.3:: How do I type non-ASCII characters? 237 * Q1.4.3:: How do I type non-ASCII characters?
236 * Q1.4.4:: Can XEmacs messages come out in a different language? 238 * Q1.4.4:: Can XEmacs messages come out in a different language?
237 * Q1.4.5:: Please explain the various input methods in MULE/XEmacs 239 * Q1.4.5:: Please explain the various input methods in MULE/XEmacs
238 * Q1.4.6:: How do I portably code for MULE/XEmacs? 240 * Q1.4.6:: How do I portably code for MULE/XEmacs?
259 * Q2.0.4:: How do I specify the paths that XEmacs uses for finding files? 261 * Q2.0.4:: How do I specify the paths that XEmacs uses for finding files?
260 * Q2.0.5:: Running XEmacs without installing 262 * Q2.0.5:: Running XEmacs without installing
261 * Q2.0.6:: XEmacs is too big 263 * Q2.0.6:: XEmacs is too big
262 * Q2.0.7:: EFS fails with "500 AUTH not understood" (NEW) 264 * Q2.0.7:: EFS fails with "500 AUTH not understood" (NEW)
263 265
264 2.1: Unix/Mac OS Installation (Also Relevant to Cygwin, MinGW) 266 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
265 * Q2.1.1:: Libraries in non-standard locations 267 * Q2.1.1:: Libraries in non-standard locations
266 * Q2.1.2:: Why can't I strip XEmacs? 268 * Q2.1.2:: Why can't I strip XEmacs?
267 * Q2.1.3:: Compiling XEmacs with Netaudio.
268 * Q2.1.4:: Problems with Linux and ncurses.
269 269
270 2.2: Windows Installation (Windows, Cygwin, MinGW) 270 2.2: Windows Installation (Windows, Cygwin, MinGW)
271 * Q2.2.1:: What exactly are all the different ways to build XEmacs under Windows? 271 * Q2.2.1:: What exactly are all the different ways to build XEmacs under Windows?
272 * Q2.2.2:: What compiler/libraries do I need to compile XEmacs? 272 * Q2.2.2:: What compiler/libraries do I need to compile XEmacs?
273 * Q2.2.3:: How do I compile the native port? 273 * Q2.2.3:: How do I compile the native port?
296 * Q2.4.3:: XEmacs won't start without network. 296 * Q2.4.3:: XEmacs won't start without network.
297 * Q2.4.4:: Startup warnings about deducing proper fonts? 297 * Q2.4.4:: Startup warnings about deducing proper fonts?
298 * Q2.4.5:: Warnings from incorrect key modifiers. 298 * Q2.4.5:: Warnings from incorrect key modifiers.
299 * Q2.4.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed? 299 * Q2.4.6:: XEmacs 21.1 on Windows used to spawn an ugly console window on every startup. Has that been fixed?
300 300
301 3 Basic Display-Related Subsystems 301 3 Editing Functions
302 302
303 3.0: The Keyboard 303 3.0: The Keyboard
304 * Q3.0.1:: How can I bind complex functions (or macros) to keys? 304 * Q3.0.1:: How can I customize the keyboard?
305 * Q3.0.2:: How do I bind C-. and C-; to scroll one line up and down? 305 * Q3.0.2:: How can I bind complex functions (or macros) to keys?
306 * Q3.0.3:: Globally binding @kbd{Delete}? 306 * Q3.0.3:: How do I bind C-. and C-; to scroll one line up and down?
307 * Q3.0.4:: How to map @kbd{Help} key alone on Sun type4 keyboard? 307 * Q3.0.4:: Globally binding @kbd{Delete}?
308 * Q3.0.5:: How can you type in special characters in XEmacs? 308 * Q3.0.5:: How to map @kbd{Help} key alone on Sun type4 keyboard?
309 * Q3.0.6:: Can I turn on @dfn{sticky} modifier keys? 309 * Q3.0.6:: How can you type in special characters in XEmacs?
310 * Q3.0.7:: How do I map the arrow keys? 310 * Q3.0.7:: Can I turn on @dfn{sticky} modifier keys?
311 * Q3.0.8:: HP Alt key as Meta. 311 * Q3.0.8:: How do I map the arrow keys?
312 * Q3.0.9:: Why does edt emulation not work? 312 * Q3.0.9:: HP Alt key as Meta.
313 * Q3.0.10:: How can I emulate VI and use it as my default mode? 313 * Q3.0.10:: Why does edt emulation not work?
314 * Q3.0.11:: How can I emulate VI and use it as my default mode?
314 315
315 3.1: The Mouse 316 3.1: The Mouse
316 * Q3.1.1:: How can I turn off Mouse pasting? 317 * Q3.1.1:: How can I turn off Mouse pasting?
317 * Q3.1.2:: How do I set control/meta/etc modifiers on mouse buttons? 318 * Q3.1.2:: How do I set control/meta/etc modifiers on mouse buttons?
318 * Q3.1.3:: Clicking the left button does not do anything in buffer list. 319 * Q3.1.3:: Clicking the left button does not do anything in buffer list.
319 * Q3.1.4:: How can I get a list of buffers when I hit mouse button 3? 320 * Q3.1.4:: How can I get a list of buffers when I hit mouse button 3?
320 * Q3.1.5:: How I can set XEmacs up so that it pastes where the text cursor is? 321 * Q3.1.5:: How can I set XEmacs up so that it pastes where the text cursor is?
321 322
322 3.2: Textual Fonts and Colors 323 3.2: Buffers, Text Editing
323 * Q3.2.1:: How do I specify a font? 324 * Q3.2.1:: Can I have the end of the buffer delimited in some way?
324 * Q3.2.2:: How do I set the text, menu and modeline fonts? 325 * Q3.2.2:: How do I insert today's date into a buffer?
325 * Q3.2.3:: How can I set color options from @file{init.el}? 326 * Q3.2.3:: How do I get a single minibuffer frame?
326 * Q3.2.4:: How can I set the colors when highlighting a region? 327 * Q3.2.4:: How can I enable auto-indent and/or Filladapt?
327 * Q3.2.5:: How can I limit color map usage? 328 * Q3.2.5:: How can I get XEmacs to come up in text/auto-fill mode by default?
328 * Q3.2.6:: My tty supports color, but XEmacs doesn't use them. 329
329 * Q3.2.7:: Can I have pixmap backgrounds in XEmacs? 330 3.3: Text Selections
330 * Q3.2.8:: How do I display non-ASCII characters? 331 * Q3.3.1:: How do I select a rectangular region?
331 * Q3.2.9:: Font selections in don't get saved after @code{Save Options}. 332 * Q3.3.2:: How can I turn off or change highlighted selections?
332 333 * Q3.3.3:: How do I cause typing on an active region to remove it?
333 3.3: The Menubar and Toolbar 334 * Q3.3.4:: Can I turn off the highlight during isearch?
334 * Q3.3.1:: How do I get rid of the menu (or menubar)? 335 * Q3.3.5:: Why is killing so slow?
335 * Q3.3.2:: Can I customize the basic menubar? 336 * Q3.3.6:: Why does @kbd{M-w} take so long?
336 * Q3.3.3:: How do I control how many buffers are listed in the menu @code{Buffers List}? 337
337 * Q3.3.4:: Resources like @code{Emacs*menubar*font} are not working? 338 3.4: Editing Source Code
338 * Q3.3.5:: How can I bind a key to a function to toggle the toolbar? 339 * Q3.4.1:: I do not like cc-mode. How do I use the old c-mode?
339 * Q3.3.6:: @samp{Can't instantiate image error...} in toolbar 340 * Q3.4.2:: How do you make XEmacs indent CL if-clauses correctly?
340 341
341 3.4: Scrollbars and Scrolling 342 4 Display Functions
342 * Q3.4.1:: How can I disable the scrollbar? 343
343 * Q3.4.2:: How can one use resources to change scrollbar colors? 344 4.0: Textual Fonts and Colors
344 * Q3.4.3:: Moving the scrollbar can move the point; can I disable this? 345 * Q4.0.1:: How do I specify a font?
345 * Q3.4.4:: Scrolling one line at a time. 346 * Q4.0.2:: How do I set the text, menu and modeline fonts?
346 * Q3.4.5:: How can I turn off automatic horizontal scrolling in specific modes? 347 * Q4.0.3:: How can I set color options from @file{init.el}?
347 * Q3.4.6:: I find auto-show-mode disconcerting. How do I turn it off? 348 * Q4.0.4:: How can I set the colors when highlighting a region?
348 349 * Q4.0.5:: How can I limit color map usage?
349 3.5: The Modeline 350 * Q4.0.6:: My tty supports color, but XEmacs doesn't use them.
350 * Q3.5.1:: How can I make the modeline go away? 351 * Q4.0.7:: Can I have pixmap backgrounds in XEmacs?
351 * Q3.5.2:: How do you have XEmacs display the line number in the modeline? 352 * Q4.0.8:: How do I display non-ASCII characters?
352 * Q3.5.3:: How do I get XEmacs to put the time of day on the modeline? 353 * Q4.0.9:: Font selections in don't get saved after @code{Save Options}.
353 * Q3.5.4:: How can one change the modeline color based on the mode used? 354
354 355 4.1: Syntax Highlighting (Font Lock)
355 3.6: The Cursor 356 * Q4.1.1:: How can I do source code highlighting using font-lock?
356 * Q3.6.1:: Is there a way to make the bar cursor thicker? 357 * Q4.1.2:: How do I get @samp{More} Syntax Highlighting on by default?
357 * Q3.6.2:: Is there a way to get back the block cursor? 358
358 * Q3.6.3:: Can I make the cursor blink? 359 4.2: The Modeline
359 360 * Q4.2.1:: How can I make the modeline go away?
360 3.7: Text Selections 361 * Q4.2.2:: How do you have XEmacs display the line number in the modeline?
361 * Q3.7.1:: How do I select a rectangular region? 362 * Q4.2.3:: How do I get XEmacs to put the time of day on the modeline?
362 * Q3.7.2:: How can I turn off or change highlighted selections? 363 * Q4.2.4:: How can I change the modeline color based on the mode used?
363 * Q3.7.3:: How do I get that typing on an active region removes it? 364
364 * Q3.7.4:: Can I turn off the highlight during isearch? 365 4.3: The Cursor
365 * Q3.7.5:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)? 366 * Q4.3.1:: Is there a way to make the bar cursor thicker?
366 * Q3.7.6:: The region disappears when I hit the end of buffer while scrolling. 367 * Q4.3.2:: Is there a way to get back the block cursor?
367 * Q3.7.7:: Why is killing so slow? 368 * Q4.3.3:: Can I make the cursor blink?
368 * Q3.7.8:: Why does @kbd{M-w} take so long? 369
369 370 4.4: The Menubar
370 3.8: Buffers, Text Editing 371 * Q4.4.1:: How do I get rid of the menubar?
371 * Q3.8.1:: Can I have the end of the buffer delimited in some way? 372 * Q4.4.2:: How can I customize the menubar?
372 * Q3.8.2:: How do I insert today's date into a buffer? 373 * Q4.4.3:: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
373 * Q3.8.3:: How do I get a single minibuffer frame? 374 * Q4.4.4:: How do I control how many buffers are listed in the menu @code{Buffers List}?
374 * Q3.8.4:: How can I enable auto-indent and/or Filladapt? 375 * Q4.4.5:: Resources like @code{Emacs*menubar*font} are not working?
375 * Q3.8.5:: How can I get XEmacs to come up in text/auto-fill mode by default? 376
376 377 4.5: The Toolbar
377 3.9: Editing Source Code 378 * Q4.5.1:: How do I get rid of the toolbar?
378 * Q3.9.1:: How can I do source code highlighting using font-lock? 379 * Q4.5.2:: How can I customize the toolbar?
379 * Q3.9.2:: How do I get @samp{More} Syntax Highlighting on by default? 380 * Q4.5.3:: How can I bind a key to a function to toggle the toolbar?
380 * Q3.9.3:: Where do I get the latest CC Mode? 381 * Q4.5.4:: @samp{Can't instantiate image error...} in toolbar
381 * Q3.9.4:: I do not like cc-mode. How do I use the old c-mode? 382
382 * Q3.9.5:: How do you make XEmacs indent CL if-clauses correctly? 383 4.6: Scrollbars and Scrolling
383 384 * Q4.6.1:: How can I disable the scrollbar?
384 4 Interfacing with the Operating System and External Devices 385 * Q4.6.2:: How can I change the scrollbar width?
385 386 * Q4.6.3:: How can I use resources to change scrollbar colors?
386 4.0: X Window System and Resources 387 * Q4.6.4:: Moving the scrollbar can move the point; can I disable this?
387 * Q4.0.1:: Where is a list of X resources? 388 * Q4.6.5:: Scrolling one line at a time.
388 * Q4.0.2:: How can I detect a color display? 389 * Q4.6.6:: How can I turn off automatic horizontal scrolling in specific modes?
389 * Q4.0.3:: How can I get the icon to just say @samp{XEmacs}? 390 * Q4.6.7:: I find auto-show-mode disconcerting. How do I turn it off?
390 * Q4.0.4:: How can I have the window title area display the full path? 391
391 * Q4.0.5:: @samp{xemacs -name junk} doesn't work? 392 4.7: The Gutter Tabs, The Progress Bar, Widgets
392 * Q4.0.6:: @samp{-iconic} doesn't work. 393 * Q4.7.1:: How can I disable the gutter tabs?
393 394 * Q4.7.2:: How can I disable the progress bar?
394 4.1: Microsoft Windows 395 * Q4.7.3:: There are bugs in the gutter or widgets.
395 * Q4.1.1:: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}? 396 * Q4.7.4:: How can I customize the gutter or gutter tabs?
396 * Q4.1.2:: How do I get Windows Explorer to associate a file type with XEmacs? 397
397 398 5 Interfacing with the Operating System and External Devices
398 4.2: Printing 399
399 * Q4.2.1:: What do I need to change to make printing work? 400 5.0: X Window System and Resources
400 * Q4.2.2:: How can I print WYSIWYG a font-locked buffer? 401 * Q5.0.1:: Where is a list of X resources?
401 * Q4.2.3:: Getting @kbd{M-x lpr} to work with postscript printer. 402 * Q5.0.2:: How can I detect a color display?
402 * Q4.2.4:: Can you print under MS Windows? 403 * Q5.0.3:: How can I get the icon to just say @samp{XEmacs}?
403 404 * Q5.0.4:: How can I have the window title area display the full path?
404 4.3: Sound 405 * Q5.0.5:: @samp{xemacs -name junk} doesn't work?
405 * Q4.3.1:: How do I turn off the sound? 406 * Q5.0.6:: @samp{-iconic} doesn't work.
406 * Q4.3.2:: How do I get funky sounds instead of a boring beep? 407
407 * Q4.3.3:: What's NAS, how do I get it? 408 5.1: Microsoft Windows
408 * Q4.3.4:: Sunsite sounds don't play. 409 * Q5.1.1:: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
409 410 * Q5.1.2:: How do I get Windows Explorer to associate a file type with XEmacs?
410 4.4: Running an Interior Shell, Invoking Subprocesses 411
411 * Q4.4.1:: What is an interior shell? 412 5.2: Printing
412 * Q4.4.2:: How do I start up a second shell buffer? 413 * Q5.2.1:: What do I need to change to make printing work?
413 * Q4.4.3:: Telnet from shell filters too much 414 * Q5.2.2:: How can I print WYSIWYG a font-locked buffer?
414 * Q4.4.4:: Strange things are happening in Shell Mode. 415 * Q5.2.3:: Getting @kbd{M-x lpr} to work with postscript printer.
415 * Q4.4.5:: XEmacs complains "No such file or directory, diff" 416 * Q5.2.4:: Can you print under MS Windows?
416 417
417 4.5: Multiple Device Support 418 5.3: Sound
418 * Q4.5.1:: How do I open a frame on another screen of my multi-headed display? 419 * Q5.3.1:: How do I turn off the sound?
419 * Q4.5.2:: Can I really connect to a running XEmacs after calling up over a modem? How? 420 * Q5.3.2:: How do I get funky sounds instead of a boring beep?
420 * Q4.5.3:: How do I disable gnuserv from opening a new frame? 421 * Q5.3.3:: What are NAS and ESD (EsounD)?
421 * Q4.5.4:: How do I start gnuserv so that each subsequent XEmacs is a client? 422 * Q5.3.4:: Sunsite sounds don't play.
422 * Q4.5.5:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? 423
423 424 5.4: Running an Interior Shell, Invoking Subprocesses
424 4.6: TeX 425 * Q5.4.1:: What is an interior shell?
425 * Q4.6.1:: Is there something better than LaTeX mode? 426 * Q5.4.2:: How do I start up a second shell buffer?
426 * Q4.6.2:: What is AUCTeX? Where do you get it? 427 * Q5.4.3:: Telnet from shell filters too much
427 * Q4.6.3:: Problems installing AUCTeX. 428 * Q5.4.4:: Strange things are happening in Shell Mode.
428 * Q4.6.4:: How do I turn off current chapter from AUCTeX modeline? 429 * Q5.4.5:: XEmacs complains "No such file or directory, diff"
429 430
430 4.7: Other Unbundled Packages 431 5.5: Multiple Device Support
431 * Q4.7.1:: Is there a reason for an Emacs package not to be included in XEmacs? 432 * Q5.5.1:: How do I open a frame on another screen of my multi-headed display?
432 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets? 433 * Q5.5.2:: Can I really connect to a running XEmacs after calling up over a modem? How?
433 * Q4.7.3:: Is there a MatLab mode? 434 * Q5.5.3:: How do I disable gnuserv from opening a new frame?
434 435 * Q5.5.4:: How do I start gnuserv so that each subsequent XEmacs is a client?
435 4.8: Environments Built Around XEmacs 436 * Q5.5.5:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
436 * Q4.8.1:: What are SPARCworks, EOS, and WorkShop? 437
437 * Q4.8.2:: How do I start the Sun Workshop support in XEmacs 21? 438 6 Connecting to the Internet
438 * Q4.8.3:: What is/was Energize? 439
439 * Q4.8.4:: What is Infodock? 440 6.0: General Mail and News
440 441 * Q6.0.1:: What are the various packages for reading mail?
441 5 Connecting to the Internet 442 * Q6.0.2:: How can I send mail?
442 443 * Q6.0.3:: How do I get my outgoing mail archived?
443 5.0: General Mail and News 444 * Q6.0.4:: How can I read and/or compose MIME messages?
444 * Q5.0.1:: What are the various packages for reading mail? 445 * Q6.0.5:: How do I customize the From line?
445 * Q5.0.2:: How can I send mail? 446 * Q6.0.6:: How do I get my MUA to filter mail for me?
446 * Q5.0.3:: How do I get my outgoing mail archived? 447 * Q6.0.7:: Remote mail reading with an MUA.
447 * Q5.0.4:: How can I read and/or compose MIME messages? 448 * Q6.0.8:: An MUA gets an error incorporating new mail.
448 * Q5.0.5:: How do I customize the From line? 449 * Q6.0.9:: Why isn't @file{movemail} working?
449 * Q5.0.6:: How do I get my MUA to filter mail for me? 450 * Q6.0.10:: How do I make my MUA display graphical smilies?
450 * Q5.0.7:: Remote mail reading with an MUA. 451 * Q6.0.11:: How can I get those oh-so-neat X-Face lines?
451 * Q5.0.8:: An MUA gets an error incorporating new mail. 452
452 * Q5.0.9:: Why isn't @file{movemail} working? 453 6.1: Reading Mail with VM
453 * Q5.0.10:: How do I make my MUA display graphical smilies? 454 * Q6.1.1:: How do I set up VM to retrieve mail from a remote site using POP?
454 * Q5.0.11:: How can I get those oh-so-neat X-Face lines? 455 * Q6.1.2:: How can I get VM to automatically check for new mail?
455 456 * Q6.1.3:: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
456 5.1: Reading Mail with VM 457 * Q6.1.4:: Is there a mailing list or FAQ for VM?
457 * Q5.1.1:: How do I set up VM to retrieve mail from a remote site using POP? 458 * Q6.1.5:: How do I make VM stay in a single frame?
458 * Q5.1.2:: How can I get VM to automatically check for new mail? 459 * Q6.1.6:: Customization of VM not covered in the manual, or here.
459 * Q5.1.3:: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"? 460
460 * Q5.1.4:: Is there a mailing list or FAQ for VM? 461 6.2: Reading Netnews and Mail with Gnus
461 * Q5.1.5:: How do I make VM stay in a single frame? 462 * Q6.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
462 * Q5.1.6:: Customization of VM not covered in the manual, or here. 463 * Q6.2.2:: How do I make Gnus stay within a single frame?
463 464
464 5.2: Reading Netnews and Mail with Gnus 465 6.3: FTP Access
465 * Q5.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh! 466 * Q6.3.1:: Can I edit files on other hosts?
466 * Q5.2.2:: How do I make Gnus stay within a single frame? 467 * Q6.3.2:: What is EFS?
467 468
468 5.3: FTP Access 469 6.4: Web Browsing with W3
469 * Q5.3.1:: Can I edit files on other hosts? 470 * Q6.4.1:: What is W3?
470 * Q5.3.2:: What is EFS? 471 * Q6.4.2:: How do I run W3 from behind a firewall?
471 472 * Q6.4.3:: Is it true that W3 supports style sheets and tables?
472 5.4: Web Browsing with W3 473
473 * Q5.4.1:: What is W3? 474 7 Advanced Customization Using XEmacs Lisp
474 * Q5.4.2:: How do I run W3 from behind a firewall? 475
475 * Q5.4.3:: Is it true that W3 supports style sheets and tables? 476 7.0: Online Help
476 477 * Q7.0.1:: How can I get two instances of info?
477 6 Advanced Customization Using XEmacs Lisp 478 * Q7.0.2:: How do I add new Info directories?
478 479
479 6.0: Online Help 480 7.1: Emacs Lisp and @file{init.el}
480 * Q6.0.1:: How can I get two instances of info? 481 * Q7.1.1:: What version of Emacs am I running?
481 * Q6.0.2:: How do I add new Info directories? 482 * Q7.1.2:: How can I evaluate Emacs-Lisp expressions?
482 483 * Q7.1.3:: @code{(setq tab-width 6)} behaves oddly.
483 6.1: Emacs Lisp and @file{init.el} 484 * Q7.1.4:: How can I add directories to the @code{load-path}?
484 * Q6.1.1:: What version of Emacs am I running? 485 * Q7.1.5:: How to check if a lisp function is defined?
485 * Q6.1.2:: How can I evaluate Emacs-Lisp expressions? 486 * Q7.1.6:: Can I force the output of @code{(face-list)} to a buffer?
486 * Q6.1.3:: @code{(setq tab-width 6)} behaves oddly. 487
487 * Q6.1.4:: How can I add directories to the @code{load-path}? 488 7.2: Emacs Lisp Programming Techniques
488 * Q6.1.5:: How to check if a lisp function is defined? 489 * Q7.2.1:: What is the difference in key sequences between XEmacs and GNU Emacs?
489 * Q6.1.6:: Can I force the output of @code{(face-list)} to a buffer? 490 * Q7.2.2:: Can I generate "fake" keyboard events?
490 491 * Q7.2.3:: Could you explain @code{read-kbd-macro} in more detail?
491 6.2: Emacs Lisp Programming Techniques 492 * Q7.2.4:: What is the performance hit of @code{let}?
492 * Q6.2.1:: What is the difference in key sequences between XEmacs and GNU Emacs? 493 * Q7.2.5:: What is the recommended use of @code{setq}?
493 * Q6.2.2:: Can I generate "fake" keyboard events? 494 * Q7.2.6:: What is the typical misuse of @code{setq}?
494 * Q6.2.3:: Could you explain @code{read-kbd-macro} in more detail? 495 * Q7.2.7:: I like the @code{do} form of cl, does it slow things down?
495 * Q6.2.4:: What is the performance hit of @code{let}? 496 * Q7.2.8:: I like recursion, does it slow things down?
496 * Q6.2.5:: What is the recommended use of @code{setq}? 497 * Q7.2.9:: How do I put a glyph as annotation in a buffer?
497 * Q6.2.6:: What is the typical misuse of @code{setq}? 498 * Q7.2.10:: @code{map-extents} won't traverse all of my extents!
498 * Q6.2.7:: I like the @code{do} form of cl, does it slow things down? 499 * Q7.2.11:: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
499 * Q6.2.8:: I like recursion, does it slow things down? 500
500 * Q6.2.9:: How do I put a glyph as annotation in a buffer? 501 7.3: Mathematics
501 * Q6.2.10:: @code{map-extents} won't traverse all of my extents! 502 * Q7.3.1:: What are bignums, ratios, and bigfloats in Lisp?
502 * Q6.2.11:: My elisp program is horribly slow. Is there 503 * Q7.3.2:: XEmacs segfaults when I use very big numbers!
503 504 * Q7.3.3:: Bignums are really slow!
504 6.3: Mathematics 505 * Q7.3.4:: Equal bignums don't compare as equal! What gives?
505 * Q6.3.1:: What are bignums, ratios, and bigfloats in Lisp? 506
506 * Q6.3.2:: XEmacs segfaults when I use very big numbers! 507 8 Other External Packages
507 * Q6.3.3:: Bignums are really slow! 508
508 * Q6.3.4:: Equal bignums don't compare as equal! What gives? 509 8.0: TeX
509 510 * Q8.0.1:: Is there something better than LaTeX mode?
510 7 What the Future Holds 511 * Q8.0.2:: What is AUCTeX? Where do you get it?
511 512 * Q8.0.3:: Problems installing AUCTeX.
512 7.0: Changes 513 * Q8.0.4:: How do I turn off current chapter from AUCTeX modeline?
513 * Q7.0.1:: What new features will be in XEmacs soon? 514
514 * Q7.0.2:: What's new in XEmacs 21.4? 515 8.1: Other Unbundled Packages
515 * Q7.0.3:: What's new in XEmacs 21.1? 516 * Q8.1.1:: Is there a reason for an Emacs package not to be included in XEmacs?
516 * Q7.0.4:: What's new in XEmacs 20.4? 517 * Q8.1.2:: Are there any Emacs Lisp Spreadsheets?
517 * Q7.0.5:: What's new in XEmacs 20.3? 518 * Q8.1.3:: Is there a MatLab mode?
518 * Q7.0.6:: What's new in XEmacs 20.2? 519
519 520 8.2: Environments Built Around XEmacs
520 8 New information about old XEmacsen 521 * Q8.2.1:: What are SPARCworks, EOS, and WorkShop?
521 522 * Q8.2.2:: How do I start the Sun Workshop support in XEmacs 21?
522 8.0: XEmacs 21.1 523 * Q8.2.3:: What is/was Energize?
523 * Q8.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1. 524 * Q8.2.4:: What is Infodock?
525
526 9 What the Future Holds
527
528 9.0: Changes
529 * Q9.0.1:: What new features will be in XEmacs soon?
530 * Q9.0.2:: What's new in XEmacs 21.4?
531 * Q9.0.3:: What's new in XEmacs 21.1?
532 * Q9.0.4:: What's new in XEmacs 20.4?
533 * Q9.0.5:: What's new in XEmacs 20.3?
534 * Q9.0.6:: What's new in XEmacs 20.2?
535
536 10 New information about old XEmacsen
537
538 10.0: XEmacs 21.1
539 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
524 540
525 @end detailmenu 541 @end detailmenu
526 @end menu 542 @end menu
527 543
528 @node Introduction, Installation, Top, Top 544 @node Introduction, Installation, Top, Top
594 * Q1.3.1:: Who wrote XEmacs? 610 * Q1.3.1:: Who wrote XEmacs?
595 * Q1.3.2:: Who contributed to this version of the FAQ? 611 * Q1.3.2:: Who contributed to this version of the FAQ?
596 * Q1.3.3:: Who contributed to the FAQ in the past? 612 * Q1.3.3:: Who contributed to the FAQ in the past?
597 613
598 1.4: Internationalization 614 1.4: Internationalization
599 * Q1.4.1:: What is the status of internationalization support aka MULE (including Asian language support? 615 * Q1.4.1:: What is the status of internationalization support aka MULE (including Asian language support)?
600 * Q1.4.2:: How can I help with internationalization? 616 * Q1.4.2:: How can I help with internationalization?
601 * Q1.4.3:: How do I type non-ASCII characters? 617 * Q1.4.3:: How do I type non-ASCII characters?
602 * Q1.4.4:: Can XEmacs messages come out in a different language? 618 * Q1.4.4:: Can XEmacs messages come out in a different language?
603 * Q1.4.5:: Please explain the various input methods in MULE/XEmacs 619 * Q1.4.5:: Please explain the various input methods in MULE/XEmacs
604 * Q1.4.6:: How do I portably code for MULE/XEmacs? 620 * Q1.4.6:: How do I portably code for MULE/XEmacs?
651 and was also the last version without international language support. 667 and was also the last version without international language support.
652 668
653 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction 669 @node Q1.0.3, Q1.0.4, Q1.0.2, Introduction
654 @unnumberedsubsec Q1.0.3: Where can I find it? 670 @unnumberedsubsec Q1.0.3: Where can I find it?
655 671
656 The canonical source and binaries can be found via anonymous FTP at: 672 The canonical source and binaries can be found at:
657 673
658 @example 674 @example
659 @uref{ftp://ftp.xemacs.org/pub/xemacs/} 675 @uref{http://ftp.xemacs.org/pub/xemacs/}
660 @end example 676 @end example
661 677
662 @node Q1.0.4, Q1.0.5, Q1.0.3, Introduction 678 @node Q1.0.4, Q1.0.5, Q1.0.3, Introduction
663 @unnumberedsubsec Q1.0.4: Are binaries available? 679 @unnumberedsubsec Q1.0.4: Are binaries available?
664 680
808 by another application. This allows an application to use an XEmacs 824 by another application. This allows an application to use an XEmacs
809 frame as its text pane rather than the standard Text widget that is 825 frame as its text pane rather than the standard Text widget that is
810 provided with Motif or Athena. 826 provided with Motif or Athena.
811 827
812 @item Community Participation 828 @item Community Participation
813 Starting with XEmacs 20, joining the XEmacs development team is 829 Joining the XEmacs development team is simple. Mail to
814 simple. Mail to @email{xemacs-beta@@xemacs.org, XEmacs Developers}, and 830 @email{xemacs-beta@@xemacs.org, XEmacs Developers}, and you're in! (If
815 you're in! (If you want to be, of course. You're also welcome to just 831 you want to be, of course. You're also welcome to just post
816 post development-related questions and bug reports.) The GNU Emacs 832 development-related questions and bug reports.) The GNU Emacs
817 development team and internal mailing lists are still by invitation 833 development team and internal mailing lists are still by invitation
818 only. 834 only.
819 835
820 The "bleeding edge" of mainline XEmacs development is available by 836 The "bleeding edge" of mainline XEmacs development is available by
821 anonymous CVS as are some subsidiary branches (check out the xemacs-gtk 837 anonymous CVS as are some subsidiary branches (check out the xemacs-gtk
1004 Probably the easiest way, if everything is installed, is to use Info, by 1020 Probably the easiest way, if everything is installed, is to use Info, by
1005 pressing @kbd{C-h i}, or looking for an Info item on the 1021 pressing @kbd{C-h i}, or looking for an Info item on the
1006 Help Menu. @kbd{M-x apropos} can be used to look for particular commands. 1022 Help Menu. @kbd{M-x apropos} can be used to look for particular commands.
1007 1023
1008 For items not found in the manual, try reading this FAQ 1024 For items not found in the manual, try reading this FAQ
1009 @comment , examining the regular GNU Emacs FAQ (which can be
1010 @comment found with the Emacs 19 distribution) as well as at
1011 @comment @uref{http://www.eecs.nwu.edu/emacs/faq/}
1012 and reading the Usenet group comp.emacs.xemacs. 1025 and reading the Usenet group comp.emacs.xemacs.
1013 1026
1014 If you choose to post to a newsgroup, @strong{please use 1027 If you choose to post to a newsgroup, @strong{please use
1015 comp.emacs.xemacs}. Please do not post XEmacs related questions to 1028 comp.emacs.xemacs}. Please do not post XEmacs related questions to
1016 gnu.emacs.help. 1029 gnu.emacs.help.
1131 The disadvantage is that it requires the whole Cygwin environment, 1144 The disadvantage is that it requires the whole Cygwin environment,
1132 whereas the native port requires only a suitable MS Windows compiler. 1145 whereas the native port requires only a suitable MS Windows compiler.
1133 Also, it follows the Unix filesystem and process model very closely 1146 Also, it follows the Unix filesystem and process model very closely
1134 (some will undoubtedly view this as an advantage). 1147 (some will undoubtedly view this as an advantage).
1135 1148
1136 See @uref{http://sources.redhat.com/cygwin/} for more information on 1149 See @uref{http://www.cygwin.com/} for more information on
1137 Cygwin. 1150 Cygwin.
1138 1151
1139 MinGW is a collection of header files and import libraries that allow 1152 MinGW is a collection of header files and import libraries that allow
1140 one to use GCC under the Cygwin environment to compile and produce 1153 one to use GCC under the Cygwin environment to compile and produce
1141 exactly the same native Win32 programs that you can using Visual C++. 1154 exactly the same native Win32 programs that you can using Visual C++.
1233 GNU Emacs compiled with Win32 1246 GNU Emacs compiled with Win32
1234 1247
1235 @itemize @minus 1248 @itemize @minus
1236 1249
1237 @item 1250 @item
1238 Starting with version 19.30, it has been possible to compile GNU Emacs 1251 Starting with GNU Emacs 19.30, it has been possible to compile GNU Emacs
1239 under MS Windows using the DJGPP compiler and X libraries. The result 1252 under MS Windows using the DJGPP compiler and X libraries. The result
1240 is very similar to GNU Emacs compiled under MS DOS, only it works 1253 is very similar to GNU Emacs compiled under MS DOS, only it works
1241 somewhat better because it runs in 32-bit mode, makes use of all the 1254 somewhat better because it runs in 32-bit mode, makes use of all the
1242 system memory, supports long file names, etc. 1255 system memory, supports long file names, etc.
1243 @end itemize 1256 @end itemize
1647 @end itemize 1660 @end itemize
1648 1661
1649 @unnumberedsec 1.4: Internationalization 1662 @unnumberedsec 1.4: Internationalization
1650 1663
1651 @node Q1.4.1, Q1.4.2, Q1.3.3, Introduction 1664 @node Q1.4.1, Q1.4.2, Q1.3.3, Introduction
1652 @unnumberedsubsec Q1.4.1: What is the status of internationalization support aka MULE (including Asian language support? 1665 @unnumberedsubsec Q1.4.1: What is the status of internationalization support aka MULE (including Asian language support)?
1653 1666
1654 Both the stable and development versions of XEmacs include 1667 Both the stable and development versions of XEmacs include
1655 internationalization support (aka MULE). MULE currently (21.4) works on 1668 internationalization support (aka MULE). MULE currently (21.4) works on
1656 UNIX and Linux systems. It is possible to build with MULE on Windows 1669 UNIX and Linux systems. It is possible to build with MULE on Windows
1657 systems, but if you really need MULE on Windows, it is recommended that 1670 systems, but if you really need MULE on Windows, it is recommended that
1673 @xref{Q1.2.2, How do I become a Beta Tester?}. 1686 @xref{Q1.2.2, How do I become a Beta Tester?}.
1674 1687
1675 @node Q1.4.3, Q1.4.4, Q1.4.2, Introduction 1688 @node Q1.4.3, Q1.4.4, Q1.4.2, Introduction
1676 @unnumberedsubsec Q1.4.3: How do I type non-ASCII characters? 1689 @unnumberedsubsec Q1.4.3: How do I type non-ASCII characters?
1677 1690
1678 @xref{Q3.0.5, How can you type in special characters in XEmacs?}, in 1691 @xref{Q3.0.6, How can you type in special characters in XEmacs?}, in
1679 part 3 of this FAQ, for some simple methods that also work in non-MULE 1692 part 3 of this FAQ, for some simple methods that also work in non-MULE
1680 builds of XEmacs (but only for one-octet coded character sets, and 1693 builds of XEmacs (but only for one-octet coded character sets, and
1681 mostly for ISO 8859/1). Many of the methods available for Cyrillic 1694 mostly for ISO 8859/1). Many of the methods available for Cyrillic
1682 (@pxref{Q1.4.7, How about Cyrillic modes?}) work without MULE. MULE 1695 (@pxref{Q1.4.7, How about Cyrillic modes?}) work without MULE. MULE
1683 has more general capabilities. @xref{Q1.4.5, Please explain the 1696 has more general capabilities. @xref{Q1.4.5, Please explain the
1684 various input methods in MULE/XEmacs}. 1697 various input methods in MULE/XEmacs}.
1685 1698
1686 @xref{Q3.2.8, How do I display non-ASCII characters?}, which covers 1699 @xref{Q4.0.8, How do I display non-ASCII characters?}, which covers
1687 display of non-ASCII characters. 1700 display of non-ASCII characters.
1688 1701
1689 @node Q1.4.4, Q1.4.5, Q1.4.3, Introduction 1702 @node Q1.4.4, Q1.4.5, Q1.4.3, Introduction
1690 @unnumberedsubsec Q1.4.4: Can XEmacs messages come out in a different language? 1703 @unnumberedsubsec Q1.4.4: Can XEmacs messages come out in a different language?
1691 1704
2102 @kbd{M-x customize-variable} or @kbd{M-x customize-apropos}. 2115 @kbd{M-x customize-variable} or @kbd{M-x customize-apropos}.
2103 2116
2104 There is also new @samp{browser} mode for Customize. 2117 There is also new @samp{browser} mode for Customize.
2105 Try it out with @kbd{M-x customize-browse} 2118 Try it out with @kbd{M-x customize-browse}
2106 2119
2107 @node Installation, Display Subsystems, Introduction, Top 2120 @node Installation, Editing, Introduction, Top
2108 @unnumbered 2 Installation and Troubleshooting 2121 @unnumbered 2 Installation and Troubleshooting
2109 2122
2110 This is part 2 of the XEmacs Frequently Asked Questions list. This 2123 This is part 2 of the XEmacs Frequently Asked Questions list. This
2111 section is devoted to Installation, Maintenance and Troubleshooting. 2124 section is devoted to Installation, Maintenance and Troubleshooting.
2112 2125
2121 * Q2.0.7:: EFS fails with "500 AUTH not understood" (NEW) 2134 * Q2.0.7:: EFS fails with "500 AUTH not understood" (NEW)
2122 2135
2123 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW) 2136 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
2124 * Q2.1.1:: Libraries in non-standard locations 2137 * Q2.1.1:: Libraries in non-standard locations
2125 * Q2.1.2:: Why can't I strip XEmacs? 2138 * Q2.1.2:: Why can't I strip XEmacs?
2126 * Q2.1.3:: Compiling XEmacs with Netaudio.
2127 * Q2.1.4:: Problems with Linux and ncurses.
2128 2139
2129 2.2: Windows Installation (Windows, Cygwin, MinGW) 2140 2.2: Windows Installation (Windows, Cygwin, MinGW)
2130 * Q2.2.1:: What exactly are all the different ways to build XEmacs under Windows? 2141 * Q2.2.1:: What exactly are all the different ways to build XEmacs under Windows?
2131 * Q2.2.2:: What compiler/libraries do I need to compile XEmacs? 2142 * Q2.2.2:: What compiler/libraries do I need to compile XEmacs?
2132 * Q2.2.3:: How do I compile the native port? 2143 * Q2.2.3:: How do I compile the native port?
2246 an essential part of making your installed XEmacs _useful_. 2257 an essential part of making your installed XEmacs _useful_.
2247 2258
2248 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation 2259 @node Q2.0.3, Q2.0.4, Q2.0.2, Installation
2249 @unnumberedsubsec Q2.0.3: Where do I find external libraries? 2260 @unnumberedsubsec Q2.0.3: Where do I find external libraries?
2250 2261
2251 All external libraries used by XEmacs can be found at the XEmacs FTP 2262 All external libraries used by XEmacs can be found on the XEmacs web
2252 site 2263 site
2253 @iftex 2264 @iftex
2254 @* 2265 @*
2255 @end iftex 2266 @end iftex
2256 @uref{http://ftp.xemacs.org/pub/aux/}. 2267 @uref{http://www.xemacs.org/Download/optLibs.html}.
2257 2268
2258 The library versions available here are known to work with XEmacs. 2269 The library versions available here are known to work with XEmacs.
2259 (Newer versions will probably work as well but we can't guarantee it.) 2270 (Newer versions will probably work as well but we can't guarantee it.)
2260 We try to keep the libraries up-to-date but may not always succeed. 2271 We try to keep the libraries up-to-date but may not always succeed.
2261 If you want to make sure of getting the latest version, check the 2272 Check the above page for the canonical locations of the external libraries,
2262 canonical locations below. 2273 allowing you to download the latest, bleeding-edge versions.
2263
2264 The canonical locations (at the time of this writing) are as follows:
2265
2266 @subheading Databases:
2267
2268 These DBM implementations are supported by XEmacs:
2269 native dbm (provided by OS), GDBM, and Berkeley DB version 1, 2 and 3.
2270
2271 @example
2272 GDBM is the GNU DBM library, compatible with the Unix dbm library.
2273 gdbm-1.8.3.tar.gz
2274 ftp://ftp.gnu.org/pub/gnu/gdbm/
2275 http://www.gnu.org/software/gdbm/gdbm.html
2276 configure flag: --with-database=gnudbm
2277
2278 Berkeley DB is provided by Sleepycat Software.
2279 db-4.1.25.tar.gz
2280 http://www.sleepycat.com/
2281 configure flag: --with-database=berkdb
2282
2283 OpenLDAP is an implementation of the LDAP X.500 Directory protocol.
2284 openldap-2.1.12.tgz
2285 http://www.openldap.org/
2286 configure flag: --with-ldap
2287 @end example
2288
2289 @subheading Image Format Libraries:
2290
2291 @example
2292 `compface' is an old library for viewing X-Faces in messages.
2293 It is no longer being maintained and has been frozen for 10 years or
2294 so, but still works. It should be compiled with the same options that
2295 X11 was compiled with on your system. The version of this library at
2296 xemacs.org includes the `xbm2xface.pl' script, written by
2297 @email{stig@@hackvan.com, Stig}, which may be useful when generating
2298 your own xface.
2299 compface.tar.gz
2300 ftp://ftp.cs.indiana.edu/pub/faces/compface/
2301 configure flag: --with-xface
2302
2303 The JPEG image format library
2304 jpegsrc.v6b.tar.gz
2305 ftp://ftp.uu.net/graphics/jpeg/
2306 http://www.ijg.org/
2307 configure flag: --with-jpeg
2308
2309 The TIFF image format library
2310 tiff-v3.4-tar.gz
2311 ftp://ftp.sgi.com/graphics/tiff/
2312 configure flag: --with-tiff
2313
2314 The XPM image format library
2315 xpm-3.4k.tar.gz
2316 ftp://koala.inria.fr/pub/xpm/
2317 http://www.inria.fr/koala/lehors/xpm.html
2318 configure flag: --with-xpm
2319
2320 The PNG image format library
2321 libpng-1.2.15.tar.gz
2322 http://www.libpng.org/pub/png/
2323 configure flag: --with-png
2324
2325 The ZLIB compression library is used by the PNG library.
2326 A GZIP coding system is also available, in XEmacs 21.5 and onward.
2327 zlib-1.1.4.tar.gz
2328 http://www.gzip.org/zlib/
2329 @end example
2330
2331 @subheading Other Multimedia:
2332
2333 @example
2334 Network Audio System (NAS) is a client-server sound library for X.
2335 nas-1.6.src.tar.gz
2336 ftp://ftp.x.org/contrib/audio/nas/
2337 http://radscan.com/nas.html
2338 configure flag: --with-nas
2339
2340 Enlightened Sound Daemon (ESD) is yet another sound system.
2341 esound-0.2.8.tar.gz
2342 http://www.tux.org/~ricdude/EsounD.html
2343
2344 Netpbm is a collection of programs that XEmacs might use at runtime.
2345 netpbm-1mar1994.tar.gz
2346 netpbm-9.2.tar.gz
2347 ftp://metalab.unc.edu/pub/Linux/apps/graphics/convert/
2348
2349 Xaw3d is designed to be a drop-in replacement for the Athena widget
2350 library that `looks cooler'.
2351 Xaw3d-1.5.tar.gz
2352 ftp://ftp.x.org/contrib/widgets/Xaw3d/
2353 @end example
2354
2355 @subheading Internationalization:
2356
2357 @example
2358 Canna is a Japanese language input method.
2359 Canna has not been updated since 1996.
2360 Canna35b2.tar.gz
2361 cfw35f1p.exe (Canna on W95)
2362 http://www.nec.co.jp/canna/ (in Japanese)
2363 http://www.nec.co.jp/canna/c-down.html (download site, for those not able
2364 to read Japanese)
2365 configure flag: --with-canna
2366
2367 Wnn is a multi-language mule input method.
2368 Wnn4 is the free version, while Wnn6 is the commercial version.
2369 Wnn4.2.tar.gz
2370 ftp://ftp.omronsoft.co.jp/pub/Wnn6/ (commercial version)
2371
2372 Wnn4 appears completely orphaned; searches on google turn up XEmacs' own
2373 site first. However, here is a (very old) site with some info on WNN:
2374 http://web.kyoto-inet.or.jp/people/tomoko-y/biwa/root/wnn_e.html
2375
2376 configure flag: --with-wnn
2377
2378 Mew is a multi-lingual mailreader.
2379 mew-1.94.2.tar.gz
2380 http://www.mew.org/
2381
2382 kterm is a multi-lingual terminal emulator with special support for
2383 Asian languages with large character sets.
2384 kterm-6.2.0.tar.gz
2385 ftp://ftp.x.org/contrib/applications/
2386
2387 ispell is a spelling checker with support for multiple languages.
2388 ispell-3.2.06.tar.gz
2389 http://ficus-www.cs.ucla.edu/ficus-members/geoff/ispell.html
2390 http://www.kdstevens.com/~stevens/ispell-page.html
2391
2392 SKK (Simple Kana-to-Kanji) is a simple input method for Japanese.
2393 It has been modified to work with XEmacs.
2394 skk-8.6x.tar.gz
2395
2396 X11 fonts for numerous languages.
2397 intlfonts-1.2.tar.gz
2398 http://www.gnu.org/directory/localization/intlfonts.html
2399 @end example
2400
2401 @subheading Miscellaneous:
2402
2403 @example
2404 ncurses is the standard free software curses library.
2405 ncurses-5.3.tar.gz
2406 http://dickey.his.com/ncurses/ncurses.html
2407 ftp://dickey.his.com/ncurses/
2408 @end example
2409
2410 @subheading Developer Tools:
2411
2412 @example
2413 CVS is the version control system used by XEmacs to manage the sources.
2414 cvs-1.11.5.tar.gz
2415 http:/www.cvshome.org/
2416
2417 bzip2 is a compressor that compresses much better than gzip.
2418 bzip2-1.0.2.tar.gz
2419 http://sources.redhat.com/bzip2/
2420
2421 texi2html is a script that converts Texinfo pages to HTML.
2422 texi2html-1.64.tar.gz
2423 http://www.mathematik.uni-kl.de/~obachman/Texi2html/
2424
2425 Gnats is a bug tracking system. Red Hat recommends using GNATS 4.0 for any
2426 new installations (see the beta below).
2427 gnats-3.113.tar.gz
2428 gnats-3.999.2.tar.gz
2429 cern_wwwgnats_v2.0-beta.tar.gz (WWW front end to Gnats)
2430 http://sources.redhat.com/gnats/
2431
2432 Use autoconf to generate `configure' from `configure.in'.
2433 NOTE: There is a more recent series, 2.5x, that XEmacs doesn't currently
2434 work with.
2435 autoconf-2.13.tar.gz
2436 http://www.gnu.org/software/autoconf/
2437
2438 Use the `applypatch' program from the makepatch package
2439 to apply patches to upgrade from one beta release to another.
2440 Use this if you have a slow or expensive connection to the Net.
2441 makepatch-2.00_09.tar.gz
2442 http://www.squirrel.nl/people/jvromans/
2443 @end example
2444 2274
2445 @node Q2.0.4, Q2.0.5, Q2.0.3, Installation 2275 @node Q2.0.4, Q2.0.5, Q2.0.3, Installation
2446 @unnumberedsubsec Q2.0.4: How do I specify the paths that XEmacs uses for finding files? 2276 @unnumberedsubsec Q2.0.4: How do I specify the paths that XEmacs uses for finding files?
2447 2277
2448 You can specify what paths to use by using a number of different flags 2278 You can specify what paths to use by using a number of different flags
2468 space. XEmacs is largely written in Lisp. 2298 space. XEmacs is largely written in Lisp.
2469 2299
2470 A good method is to make a shell alias for xemacs: 2300 A good method is to make a shell alias for xemacs:
2471 2301
2472 @example 2302 @example
2473 alias xemacs=/i/xemacs-20.2/src/xemacs 2303 alias xemacs=/src/xemacs-21.5/src/xemacs
2474 @end example 2304 @end example
2475 2305
2476 (You will obviously use whatever directory you downloaded the source 2306 (You will obviously use whatever directory you downloaded the source
2477 tree to instead of @file{/i/xemacs-20.2}). 2307 tree to instead of @file{/src/xemacs-21.5}).
2478 2308
2479 This will let you run XEmacs without massive copying. 2309 This will let you run XEmacs without massive copying.
2480 2310
2481 @node Q2.0.6, Q2.0.7, Q2.0.5, Installation 2311 @node Q2.0.6, Q2.0.7, Q2.0.5, Installation
2482 @unnumberedsubsec Q2.0.6: XEmacs is too big 2312 @unnumberedsubsec Q2.0.6: XEmacs is too big
2526 @unnumberedsec 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW) 2356 @unnumberedsec 2.1: Unix/Mac OS X Installation (Also Relevant to Cygwin, MinGW)
2527 2357
2528 @node Q2.1.1, Q2.1.2, Q2.0.7, Installation 2358 @node Q2.1.1, Q2.1.2, Q2.0.7, Installation
2529 @unnumberedsubsec Q2.1.1: Libraries in non-standard locations 2359 @unnumberedsubsec Q2.1.1: Libraries in non-standard locations
2530 2360
2531 I have x-faces, jpeg, xpm etc. all in different places. I've tried 2361 If your libraries are in a non-standard location, you can specify the location
2532 space-separated, comma-separated, several --site-libraries, all to no 2362 using the following flags to @file{configure}:
2533 avail. 2363
2364 @example
2365 --site-libraries=WHATEVER
2366 --site-includes=WHATEVER
2367 @end example
2368
2369 If you have multiple paths to specify, use the following syntax:
2534 2370
2535 @example 2371 @example
2536 --site-libraries='/path/one /path/two /path/etc' 2372 --site-libraries='/path/one /path/two /path/etc'
2537 @end example 2373 @end example
2538 2374
2539 @node Q2.1.2, Q2.1.3, Q2.1.1, Installation 2375 @node Q2.1.2, Q2.2.1, Q2.1.1, Installation
2540 @unnumberedsubsec Q2.1.2: Why can't I strip XEmacs? 2376 @unnumberedsubsec Q2.1.2: Why can't I strip XEmacs?
2541 2377
2542 @email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes: 2378 @email{cognot@@fronsac.ensg.u-nancy.fr, Richard Cognot} writes:
2543 2379
2544 @quotation 2380 @quotation
2589 @end iftex 2425 @end iftex
2590 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout 2426 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout
2591 @end enumerate 2427 @end enumerate
2592 @end quotation 2428 @end quotation
2593 2429
2594 @node Q2.1.3, Q2.1.4, Q2.1.2, Installation
2595 @unnumberedsubsec Q2.1.3: Compiling XEmacs with Netaudio.
2596
2597 What is the best way to compile XEmacs with the netaudio system, since I
2598 have got the netaudio system compiled but installed at a weird place, I
2599 am not root. Also in the READMEs it does not say anything about
2600 compiling with the audioserver?
2601
2602 You should only need to add some stuff to the configure command line.
2603 To tell it to compile in netaudio support: @samp{--with-sound=both}, or
2604 @samp{--with-sound=nas} if you don't want native sound support for some
2605 reason.) To tell it where to find the netaudio includes and libraries:
2606
2607 @example
2608 --site-libraries=WHATEVER
2609 --site-includes=WHATEVER
2610 @end example
2611
2612 Then (fingers crossed) it should compile and it will use netaudio if you
2613 have a server running corresponding to the X server. The netaudio server
2614 has to be there when XEmacs starts. If the netaudio server goes away and
2615 another is run, XEmacs should cope (fingers crossed, error handling in
2616 netaudio isn't perfect).
2617
2618 BTW, netaudio has been renamed as it has a name clash with something
2619 else, so if you see references to NAS or Network Audio System, it's the
2620 same thing. It also might be found at
2621 @uref{ftp://ftp.x.org/contrib/audio/nas/}.
2622
2623 @node Q2.1.4, Q2.2.1, Q2.1.3, Installation
2624 @unnumberedsubsec Q2.1.4: Problems with Linux and ncurses.
2625
2626 On Linux 1.3.98 with termcap 2.0.8 and the ncurses that came with libc
2627 5.2.18, XEmacs 20.0b20 is unable to open a tty device:
2628
2629 @example
2630 src/xemacs -nw -q
2631 Initialization error:
2632 @iftex
2633 @*
2634 @end iftex
2635 Terminal type `xterm' undefined (or can't access database?)
2636 @end example
2637
2638 @email{ben@@xemacs.org, Ben Wing} writes:
2639
2640 @quotation
2641 Your ncurses configuration is messed up. Your /usr/lib/terminfo is a
2642 bad pointer, perhaps to a CD-ROM that is not inserted.
2643 @end quotation
2644
2645 @unnumberedsec 2.2: Windows Installation (Windows, Cygwin, MinGW) 2430 @unnumberedsec 2.2: Windows Installation (Windows, Cygwin, MinGW)
2646 2431
2647 @node Q2.2.1, Q2.2.2, Q2.1.4, Installation 2432 @node Q2.2.1, Q2.2.2, Q2.1.2, Installation
2648 @unnumberedsubsec Q2.2.1: What exactly are all the different ways to build XEmacs under Windows? 2433 @unnumberedsubsec Q2.2.1: What exactly are all the different ways to build XEmacs under Windows?
2649 2434
2650 XEmacs can be built in several ways in the MS Windows environment. 2435 XEmacs can be built in several ways in the MS Windows environment.
2651 2436
2652 The standard way is what we call the "native" port. It uses the Win32 2437 The standard way is what we call the "native" port. It uses the Win32
2793 should automatically find the X libraries and compile with X support. 2578 should automatically find the X libraries and compile with X support.
2794 2579
2795 As noted above, the non-Cygwin X support is basically orphaned, and 2580 As noted above, the non-Cygwin X support is basically orphaned, and
2796 probably won't work. But if it want to try, it's described in 2581 probably won't work. But if it want to try, it's described in
2797 @file{nt/README} in some detail. Basically, you need to get X11 2582 @file{nt/README} in some detail. Basically, you need to get X11
2798 libraries from @uref{ftp://ftp.x.org}, and compile them. If the 2583 libraries from @uref{http://ftp.x.org}, and compile them. If the
2799 precompiled versions are available somewhere, we don't know of it. 2584 precompiled versions are available somewhere, we don't know of it.
2800 2585
2801 @node Q2.2.8, Q2.3.1, Q2.2.7, Installation 2586 @node Q2.2.8, Q2.3.1, Q2.2.7, Installation
2802 @unnumberedsubsec Q2.2.8: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW) 2587 @unnumberedsubsec Q2.2.8: Cygwin XEmacs won't start -- cygXpm-noX4.dll was not found (NEW)
2803 2588
3527 with GUI programs and the standard command shell. Currently, XEmacs 3312 with GUI programs and the standard command shell. Currently, XEmacs
3528 just creates and immediately hides a console when necessary, and 3313 just creates and immediately hides a console when necessary, and
3529 works around the "no useful stdio" problem by creating its own console 3314 works around the "no useful stdio" problem by creating its own console
3530 window as necessary to display messages in.) 3315 window as necessary to display messages in.)
3531 3316
3532 @node Display Subsystems, External Subsystems, Installation, Top 3317 @node Editing, Display, Installation, Top
3533 @unnumbered 3 Basic Display-Related Subsystems 3318 @unnumbered 3 Editing Functions
3534 3319
3535 This is part 3 of the XEmacs Frequently Asked Questions list. This 3320 This is part 3 of the XEmacs Frequently Asked Questions list. This
3536 section is devoted to the basic display-related capabilities of 3321 section is devoted to the editing-related capabilities of XEmacs (the
3537 XEmacs, such as the keyboard, the mouse, fonts, colors, the modeline, 3322 keyboard, mouse, buffers, text selections, etc.) and how to customize
3538 etc. 3323 them.
3539 3324
3540 @menu 3325 @menu
3541 3.0: The Keyboard 3326 3.0: The Keyboard
3542 * Q3.0.1:: How can I bind complex functions (or macros) to keys? 3327 * Q3.0.1:: How can I customize the keyboard?
3543 * Q3.0.2:: How do I bind C-. and C-; to scroll one line up and down? 3328 * Q3.0.2:: How can I bind complex functions (or macros) to keys?
3544 * Q3.0.3:: Globally binding @kbd{Delete}? 3329 * Q3.0.3:: How do I bind C-. and C-; to scroll one line up and down?
3545 * Q3.0.4:: How to map @kbd{Help} key alone on Sun type4 keyboard? 3330 * Q3.0.4:: Globally binding @kbd{Delete}?
3546 * Q3.0.5:: How can you type in special characters in XEmacs? 3331 * Q3.0.5:: How to map @kbd{Help} key alone on Sun type4 keyboard?
3547 * Q3.0.6:: Can I turn on @dfn{sticky} modifier keys? 3332 * Q3.0.6:: How can you type in special characters in XEmacs?
3548 * Q3.0.7:: How do I map the arrow keys? 3333 * Q3.0.7:: Can I turn on @dfn{sticky} modifier keys?
3549 * Q3.0.8:: HP Alt key as Meta. 3334 * Q3.0.8:: How do I map the arrow keys?
3550 * Q3.0.9:: Why does edt emulation not work? 3335 * Q3.0.9:: HP Alt key as Meta.
3551 * Q3.0.10:: How can I emulate VI and use it as my default mode? 3336 * Q3.0.10:: Why does edt emulation not work?
3337 * Q3.0.11:: How can I emulate VI and use it as my default mode?
3552 3338
3553 3.1: The Mouse 3339 3.1: The Mouse
3554 * Q3.1.1:: How can I turn off Mouse pasting? 3340 * Q3.1.1:: How can I turn off Mouse pasting?
3555 * Q3.1.2:: How do I set control/meta/etc modifiers on mouse buttons? 3341 * Q3.1.2:: How do I set control/meta/etc modifiers on mouse buttons?
3556 * Q3.1.3:: Clicking the left button does not do anything in buffer list. 3342 * Q3.1.3:: Clicking the left button does not do anything in buffer list.
3557 * Q3.1.4:: How can I get a list of buffers when I hit mouse button 3? 3343 * Q3.1.4:: How can I get a list of buffers when I hit mouse button 3?
3558 * Q3.1.5:: How I can set XEmacs up so that it pastes where the text cursor is? 3344 * Q3.1.5:: How can I set XEmacs up so that it pastes where the text cursor is?
3559 3345
3560 3.2: Textual Fonts and Colors 3346 3.2: Buffers, Text Editing
3561 * Q3.2.1:: How do I specify a font? 3347 * Q3.2.1:: Can I have the end of the buffer delimited in some way?
3562 * Q3.2.2:: How do I set the text, menu and modeline fonts? 3348 * Q3.2.2:: How do I insert today's date into a buffer?
3563 * Q3.2.3:: How can I set color options from @file{init.el}? 3349 * Q3.2.3:: How do I get a single minibuffer frame?
3564 * Q3.2.4:: How can I set the colors when highlighting a region? 3350 * Q3.2.4:: How can I enable auto-indent and/or Filladapt?
3565 * Q3.2.5:: How can I limit color map usage? 3351 * Q3.2.5:: How can I get XEmacs to come up in text/auto-fill mode by default?
3566 * Q3.2.6:: My tty supports color, but XEmacs doesn't use them. 3352
3567 * Q3.2.7:: Can I have pixmap backgrounds in XEmacs? 3353 3.3: Text Selections
3568 * Q3.2.8:: How do I display non-ASCII characters? 3354 * Q3.3.1:: How do I select a rectangular region?
3569 * Q3.2.9:: Font selections in don't get saved after @code{Save Options}. 3355 * Q3.3.2:: How can I turn off or change highlighted selections?
3570 3356 * Q3.3.3:: How do I cause typing on an active region to remove it?
3571 3.3: The Menubar and Toolbar 3357 * Q3.3.4:: Can I turn off the highlight during isearch?
3572 * Q3.3.1:: How do I get rid of the menu (or menubar)? 3358 * Q3.3.5:: Why is killing so slow?
3573 * Q3.3.2:: Can I customize the basic menubar? 3359 * Q3.3.6:: Why does @kbd{M-w} take so long?
3574 * Q3.3.3:: How do I control how many buffers are listed in the menu @code{Buffers List}? 3360
3575 * Q3.3.4:: Resources like @code{Emacs*menubar*font} are not working? 3361 3.4: Editing Source Code
3576 * Q3.3.5:: How can I bind a key to a function to toggle the toolbar? 3362 * Q3.4.1:: I do not like cc-mode. How do I use the old c-mode?
3577 * Q3.3.6:: @samp{Can't instantiate image error...} in toolbar 3363 * Q3.4.2:: How do you make XEmacs indent CL if-clauses correctly?
3578
3579 3.4: Scrollbars and Scrolling
3580 * Q3.4.1:: How can I disable the scrollbar?
3581 * Q3.4.2:: How can one use resources to change scrollbar colors?
3582 * Q3.4.3:: Moving the scrollbar can move the point; can I disable this?
3583 * Q3.4.4:: Scrolling one line at a time.
3584 * Q3.4.5:: How can I turn off automatic horizontal scrolling in specific modes?
3585 * Q3.4.6:: I find auto-show-mode disconcerting. How do I turn it off?
3586
3587 3.5: The Modeline
3588 * Q3.5.1:: How can I make the modeline go away?
3589 * Q3.5.2:: How do you have XEmacs display the line number in the modeline?
3590 * Q3.5.3:: How do I get XEmacs to put the time of day on the modeline?
3591 * Q3.5.4:: How can one change the modeline color based on the mode used?
3592
3593 3.6: The Cursor
3594 * Q3.6.1:: Is there a way to make the bar cursor thicker?
3595 * Q3.6.2:: Is there a way to get back the block cursor?
3596 * Q3.6.3:: Can I make the cursor blink?
3597
3598 3.7: Text Selections
3599 * Q3.7.1:: How do I select a rectangular region?
3600 * Q3.7.2:: How can I turn off or change highlighted selections?
3601 * Q3.7.3:: How do I get that typing on an active region removes it?
3602 * Q3.7.4:: Can I turn off the highlight during isearch?
3603 * Q3.7.5:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
3604 * Q3.7.6:: The region disappears when I hit the end of buffer while scrolling.
3605 * Q3.7.7:: Why is killing so slow?
3606 * Q3.7.8:: Why does @kbd{M-w} take so long?
3607
3608 3.8: Buffers, Text Editing
3609 * Q3.8.1:: Can I have the end of the buffer delimited in some way?
3610 * Q3.8.2:: How do I insert today's date into a buffer?
3611 * Q3.8.3:: How do I get a single minibuffer frame?
3612 * Q3.8.4:: How can I enable auto-indent and/or Filladapt?
3613 * Q3.8.5:: How can I get XEmacs to come up in text/auto-fill mode by default?
3614
3615 3.9: Editing Source Code
3616 * Q3.9.1:: How can I do source code highlighting using font-lock?
3617 * Q3.9.2:: How do I get @samp{More} Syntax Highlighting on by default?
3618 * Q3.9.3:: Where do I get the latest CC Mode?
3619 * Q3.9.4:: I do not like cc-mode. How do I use the old c-mode?
3620 * Q3.9.5:: How do you make XEmacs indent CL if-clauses correctly?
3621 @end menu 3364 @end menu
3622 3365
3623 @unnumberedsec 3.0: The Keyboard 3366 @unnumberedsec 3.0: The Keyboard
3624 3367
3625 @node Q3.0.1, Q3.0.2, Display Subsystems, Display Subsystems 3368 @node Q3.0.1, Q3.0.2, Editing, Editing
3626 @unnumberedsubsec Q3.0.1: How can I bind complex functions (or macros) to keys? 3369 @unnumberedsubsec Q3.0.1: How can I customize the keyboard?
3370
3371 #### Write me.
3372
3373 @node Q3.0.2, Q3.0.3, Q3.0.1, Editing
3374 @unnumberedsubsec Q3.0.2: How can I bind complex functions (or macros) to keys?
3627 3375
3628 As an example, say you want the @kbd{paste} key on a Sun keyboard to 3376 As an example, say you want the @kbd{paste} key on a Sun keyboard to
3629 insert the current Primary X selection at point. You can accomplish this 3377 insert the current Primary X selection at point. You can accomplish this
3630 with: 3378 with:
3631 3379
3658 (lambda () (interactive) (scroll-up -1))) 3406 (lambda () (interactive) (scroll-up -1)))
3659 @end lisp 3407 @end lisp
3660 3408
3661 This is fine if you only need a few functions within the lambda body. 3409 This is fine if you only need a few functions within the lambda body.
3662 If you're doing more it's cleaner to define a separate function. 3410 If you're doing more it's cleaner to define a separate function.
3663 @xref{Q3.0.2, How do I bind C-. and C-; to scroll one line up and 3411 @xref{Q3.0.3, How do I bind C-. and C-; to scroll one line up and
3664 down?}. 3412 down?}.
3665 3413
3666 @node Q3.0.2, Q3.0.3, Q3.0.1, Display Subsystems 3414 @node Q3.0.3, Q3.0.4, Q3.0.2, Editing
3667 @unnumberedsubsec Q3.0.2: How do I bind C-. and C-; to scroll one line up and down? 3415 @unnumberedsubsec Q3.0.3: How do I bind C-. and C-; to scroll one line up and down?
3668 3416
3669 Add the following (Thanks to @email{mly@@adoc.xerox.com, Richard Mlynarik} and 3417 Add the following (Thanks to @email{mly@@adoc.xerox.com, Richard Mlynarik} and
3670 @email{wayne@@zen.cac.stratus.com, Wayne Newberry}) to @file{.emacs}: 3418 @email{wayne@@zen.cac.stratus.com, Wayne Newberry}) to @file{.emacs}:
3671 3419
3672 @lisp 3420 @lisp
3682 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-; 3430 (global-set-key [(control ?;)] 'scroll-down-one-line) ; C-;
3683 @end lisp 3431 @end lisp
3684 3432
3685 The key point is that you can only bind simple functions to keys; you 3433 The key point is that you can only bind simple functions to keys; you
3686 can not bind a key to a function that you're also passing arguments 3434 can not bind a key to a function that you're also passing arguments
3687 to. (@pxref{Q3.0.1, How can I bind complex functions (or macros) to 3435 to. (@pxref{Q3.0.2, How can I bind complex functions (or macros) to
3688 keys?} for a better answer). 3436 keys?} for a better answer).
3689 3437
3690 @node Q3.0.3, Q3.0.4, Q3.0.2, Display Subsystems 3438 @node Q3.0.4, Q3.0.5, Q3.0.3, Editing
3691 @unnumberedsubsec Q3.0.3: Globally binding @kbd{Delete}? 3439 @unnumberedsubsec Q3.0.4: Globally binding @kbd{Delete}?
3692 3440
3693 I cannot manage to globally bind my @kbd{Delete} key to something other 3441 I cannot manage to globally bind my @kbd{Delete} key to something other
3694 than the default. How does one do this? 3442 than the default. How does one do this?
3695 3443
3696 Answer: The problem is that many modes explicitly bind @kbd{Delete}. To 3444 Answer: The problem is that many modes explicitly bind @kbd{Delete}. To
3703 3451
3704 (define-key key-translation-map 'delete 'redirected-delete) 3452 (define-key key-translation-map 'delete 'redirected-delete)
3705 (global-set-key 'redirected-delete 'foo) 3453 (global-set-key 'redirected-delete 'foo)
3706 @end lisp 3454 @end lisp
3707 3455
3708 @node Q3.0.4, Q3.0.5, Q3.0.3, Display Subsystems 3456 @node Q3.0.5, Q3.0.6, Q3.0.4, Editing
3709 @unnumberedsubsec Q3.0.4: How to map @kbd{Help} key alone on Sun type4 keyboard? 3457 @unnumberedsubsec Q3.0.5: How to map @kbd{Help} key alone on Sun type4 keyboard?
3710 3458
3711 The following works in GNU Emacs 19: 3459 The following works in GNU Emacs 19:
3712 3460
3713 @lisp 3461 @lisp
3714 (global-set-key [help] 'help-command);; Help 3462 (global-set-key [help] 'help-command);; Help
3733 events is a security hole, so this is turned off by default. You can 3481 events is a security hole, so this is turned off by default. You can
3734 enable it by setting the variable @code{x-allow-sendevents} to t. You 3482 enable it by setting the variable @code{x-allow-sendevents} to t. You
3735 can also cause fix this by telling OLWM to not grab the help key, with 3483 can also cause fix this by telling OLWM to not grab the help key, with
3736 the null binding @code{OpenWindows.KeyboardCommand.Help:}. 3484 the null binding @code{OpenWindows.KeyboardCommand.Help:}.
3737 3485
3738 @node Q3.0.5, Q3.0.6, Q3.0.4, Display Subsystems 3486 @node Q3.0.6, Q3.0.7, Q3.0.5, Editing
3739 @unnumberedsubsec Q3.0.5: How can you type in special characters in XEmacs? 3487 @unnumberedsubsec Q3.0.6: How can you type in special characters in XEmacs?
3740 One way is to use the package @code{x-compose}. Then you can use 3488 One way is to use the package @code{x-compose}. Then you can use
3741 sequences like @kbd{Compose " a} to get ä, etc. 3489 sequences like @kbd{Compose " a} to get ä, etc.
3742 3490
3743 Another way is to use the @code{iso-insert} package. Then you can use 3491 Another way is to use the @code{iso-insert} package. Then you can use
3744 sequences like @kbd{C-x 8 " a} to get ä, etc. 3492 sequences like @kbd{C-x 8 " a} to get ä, etc.
3782 3530
3783 Running @samp{xmodmap -pk} will list all of the defined keysyms. 3531 Running @samp{xmodmap -pk} will list all of the defined keysyms.
3784 @end quotation 3532 @end quotation
3785 3533
3786 For the related problem of @emph{displaying} non-ASCII characters in a 3534 For the related problem of @emph{displaying} non-ASCII characters in a
3787 non-Mule XEmacs, @xref{Q3.2.8, How do I display non-ASCII characters?}. 3535 non-Mule XEmacs, @xref{Q4.0.8, How do I display non-ASCII characters?}.
3788 3536
3789 @node Q3.0.6, Q3.0.7, Q3.0.5, Display Subsystems 3537 @node Q3.0.7, Q3.0.8, Q3.0.6, Editing
3790 @unnumberedsubsec Q3.0.6: Can I turn on @dfn{sticky} modifier keys? 3538 @unnumberedsubsec Q3.0.7: Can I turn on @dfn{sticky} modifier keys?
3791 3539
3792 Yes, with @code{(setq modifier-keys-are-sticky t)}. This will give the 3540 Yes, with @code{(setq modifier-keys-are-sticky t)}. This will give the
3793 effect of being able to press and release Shift and have the next 3541 effect of being able to press and release Shift and have the next
3794 character typed come out in upper case. This will affect all the other 3542 character typed come out in upper case. This will affect all the other
3795 modifier keys like Control and Meta as well. 3543 modifier keys like Control and Meta as well.
3799 @quotation 3547 @quotation
3800 One thing about the sticky modifiers is that if you move the mouse out 3548 One thing about the sticky modifiers is that if you move the mouse out
3801 of the frame and back in, it cancels all currently ``stuck'' modifiers. 3549 of the frame and back in, it cancels all currently ``stuck'' modifiers.
3802 @end quotation 3550 @end quotation
3803 3551
3804 @node Q3.0.7, Q3.0.8, Q3.0.6, Display Subsystems 3552 @node Q3.0.8, Q3.0.9, Q3.0.7, Editing
3805 @unnumberedsubsec Q3.0.7: How do I map the arrow keys? 3553 @unnumberedsubsec Q3.0.8: How do I map the arrow keys?
3806 @c New 3554 @c New
3807 Say you want to map @kbd{C-@key{right}} to forward-word: 3555 Say you want to map @kbd{C-@key{right}} to forward-word:
3808 3556
3809 @email{sds@@usa.net, Sam Steingold} writes: 3557 @email{sds@@usa.net, Sam Steingold} writes:
3810 3558
3823 ; ver > 20, both 3571 ; ver > 20, both
3824 (define-key global-map (kbd "C-<right>") 'forward-word) 3572 (define-key global-map (kbd "C-<right>") 'forward-word)
3825 @end lisp 3573 @end lisp
3826 @end quotation 3574 @end quotation
3827 3575
3828 @node Q3.0.8, Q3.0.9, Q3.0.7, Display Subsystems 3576 @node Q3.0.9, Q3.0.10, Q3.0.8, Editing
3829 @unnumberedsubsec Q3.0.8: HP Alt key as Meta. 3577 @unnumberedsubsec Q3.0.9: HP Alt key as Meta.
3830 3578
3831 How can I make XEmacs recognize the Alt key of my HP workstation as a 3579 How can I make XEmacs recognize the Alt key of my HP workstation as a
3832 Meta key? 3580 Meta key?
3833 3581
3834 Put the following line into a file and load it with xmodmap(1) before 3582 Put the following line into a file and load it with xmodmap(1) before
3836 3584
3837 @example 3585 @example
3838 remove Mod1 = Mode_switch 3586 remove Mod1 = Mode_switch
3839 @end example 3587 @end example
3840 3588
3841 @node Q3.0.9, Q3.0.10, Q3.0.8, Display Subsystems 3589 @node Q3.0.10, Q3.0.11, Q3.0.9, Editing
3842 @unnumberedsubsec Q3.0.9: Why does edt emulation not work? 3590 @unnumberedsubsec Q3.0.10: Why does edt emulation not work?
3843 3591
3844 We don't know, but you can use tpu-edt emulation instead, which works 3592 We don't know, but you can use tpu-edt emulation instead, which works
3845 fine and is a little fancier than the standard edt emulation. To do 3593 fine and is a little fancier than the standard edt emulation. To do
3846 this, add the following line to your @file{init.el}: 3594 this, add the following line to your @file{init.el}:
3847 3595
3854 3602
3855 @lisp 3603 @lisp
3856 (global-set-key [(control h)] 'help-for-help) 3604 (global-set-key [(control h)] 'help-for-help)
3857 @end lisp 3605 @end lisp
3858 3606
3859 @node Q3.0.10, Q3.1.1, Q3.0.9, Display Subsystems 3607 @node Q3.0.11, Q3.1.1, Q3.0.10, Editing
3860 @unnumberedsubsec Q3.0.10: How can I emulate VI and use it as my default mode? 3608 @unnumberedsubsec Q3.0.11: How can I emulate VI and use it as my default mode?
3861 3609
3862 Our recommended VI emulator is viper. To make viper-mode the default, 3610 Our recommended VI emulator is viper. To make viper-mode the default,
3863 add this to your @file{init.el}: 3611 add this to your @file{init.el}:
3864 3612
3865 @lisp 3613 @lisp
3873 it, otherwise some minor modes may not get viper-ized. 3621 it, otherwise some minor modes may not get viper-ized.
3874 @end quotation 3622 @end quotation
3875 3623
3876 @unnumberedsec 3.1: The Mouse 3624 @unnumberedsec 3.1: The Mouse
3877 3625
3878 @node Q3.1.1, Q3.1.2, Q3.0.10, Display Subsystems 3626 @node Q3.1.1, Q3.1.2, Q3.0.11, Editing
3879 @unnumberedsubsec Q3.1.1: How can I turn off Mouse pasting? 3627 @unnumberedsubsec Q3.1.1: How can I turn off Mouse pasting?
3880 3628
3881 I keep hitting the middle mouse button by accident and getting stuff 3629 I keep hitting the middle mouse button by accident and getting stuff
3882 pasted into my buffer so how can I turn this off? 3630 pasted into my buffer so how can I turn this off?
3883 3631
3893 (mouse-set-point event) 3641 (mouse-set-point event)
3894 (mark-sexp 1)) 3642 (mark-sexp 1))
3895 (define-key global-map [button2] 'mouse-set-point-and-select) 3643 (define-key global-map [button2] 'mouse-set-point-and-select)
3896 @end lisp 3644 @end lisp
3897 3645
3898 @node Q3.1.2, Q3.1.3, Q3.1.1, Display Subsystems 3646 @node Q3.1.2, Q3.1.3, Q3.1.1, Editing
3899 @unnumberedsubsec Q3.1.2: How do I set control/meta/etc modifiers on mouse buttons? 3647 @unnumberedsubsec Q3.1.2: How do I set control/meta/etc modifiers on mouse buttons?
3900 3648
3901 Use, for instance, @code{[(meta button1)]}. For example, here is a common 3649 Use, for instance, @code{[(meta button1)]}. For example, here is a common
3902 setting for Common Lisp programmers who use the bundled @code{ilisp} 3650 setting for Common Lisp programmers who use the bundled @code{ilisp}
3903 package, whereby meta-button1 on a function name will find the file where 3651 package, whereby meta-button1 on a function name will find the file where
3909 3657
3910 @lisp 3658 @lisp
3911 (local-set-key [(meta button1)] 'edit-definitions-lisp) 3659 (local-set-key [(meta button1)] 'edit-definitions-lisp)
3912 @end lisp 3660 @end lisp
3913 3661
3914 @node Q3.1.3, Q3.1.4, Q3.1.2, Display Subsystems 3662 @node Q3.1.3, Q3.1.4, Q3.1.2, Editing
3915 @unnumberedsubsec Q3.1.3: Clicking the left button does not do anything in buffer list. 3663 @unnumberedsubsec Q3.1.3: Clicking the left button does not do anything in buffer list.
3916 3664
3917 I do @kbd{C-x C-b} to get a list of buffers and the entries get 3665 I do @kbd{C-x C-b} to get a list of buffers and the entries get
3918 highlighted when I move the mouse over them but clicking the left mouse 3666 highlighted when I move the mouse over them but clicking the left mouse
3919 does not do anything. 3667 does not do anything.
3920 3668
3921 Use the middle mouse button. 3669 Use the middle mouse button.
3922 3670
3923 @node Q3.1.4, Q3.1.5, Q3.1.3, Display Subsystems 3671 @node Q3.1.4, Q3.1.5, Q3.1.3, Editing
3924 @unnumberedsubsec Q3.1.4: How can I get a list of buffers when I hit mouse button 3? 3672 @unnumberedsubsec Q3.1.4: How can I get a list of buffers when I hit mouse button 3?
3925 3673
3926 The following code will replace the default popup on button3: 3674 The following code will replace the default popup on button3:
3927 3675
3928 @lisp 3676 @lisp
3929 (global-set-key [button3] 'popup-buffer-menu) 3677 (global-set-key [button3] 'popup-buffer-menu)
3930 @end lisp 3678 @end lisp
3931 3679
3932 @node Q3.1.5, Q3.2.1, Q3.1.4, Display Subsystems 3680 @node Q3.1.5, Q3.2.1, Q3.1.4, Editing
3933 @unnumberedsubsec Q3.1.5: How I can set XEmacs up so that it pastes where the text cursor is? 3681 @unnumberedsubsec Q3.1.5: How can I set XEmacs up so that it pastes where the text cursor is?
3934 3682
3935 By default XEmacs pastes X selections where the mouse pointer is. How 3683 By default XEmacs pastes X selections where the mouse pointer is. How
3936 do I disable this? 3684 do I disable this?
3937 3685
3938 Examine the function @code{mouse-yank}, by typing @kbd{C-h f mouse-yank 3686 Examine the function @code{mouse-yank}, by typing @kbd{C-h f mouse-yank
3942 3690
3943 @lisp 3691 @lisp
3944 (setq mouse-yank-at-point t) 3692 (setq mouse-yank-at-point t)
3945 @end lisp 3693 @end lisp
3946 3694
3947 Starting with XEmacs-20.2 you can also change this with Customize.
3948 Select from the @code{Options} menu
3949 @code{Advanced (Customize)->Emacs->Editing->Mouse->Yank At Point...} or type
3950 @kbd{M-x customize @key{RET} mouse @key{RET}}.
3951
3952 @unnumberedsec 3.2: Textual Fonts and Colors
3953
3954 @node Q3.2.1, Q3.2.2, Q3.1.5, Display Subsystems
3955 @unnumberedsubsec Q3.2.1: How do I specify a font?
3956
3957 #### Update me.
3958
3959 In 21.4 and above, you can use the @samp{Options} menu to change the font.
3960 You can also do it in your init file, e.g. like this (for MS Windows):
3961
3962 @display
3963 (set-face-font 'default "Lucida Console:Regular:10")
3964 (set-face-font 'modeline "MS Sans Serif:Regular:10")
3965 @end display
3966
3967 @node Q3.2.2, Q3.2.3, Q3.2.1, Display Subsystems
3968 @unnumberedsubsec Q3.2.2: How do I set the text, menu and modeline fonts?
3969
3970 #### Update me.
3971
3972 Note that you should use @samp{Emacs.} and not @samp{Emacs*} when
3973 setting face values.
3974
3975 In @file{.Xresources}:
3976
3977 @example
3978 Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
3979 Emacs*menubar*font: fixed
3980 Emacs.modeline.attributeFont: fixed
3981 @end example
3982
3983 This is confusing because @samp{default} and @samp{modeline} are face
3984 names, and can be found listed with all faces in the current mode by
3985 using @kbd{M-x set-face-font (enter) ?}. They use the face-specific
3986 resource @samp{attributeFont}.
3987
3988 On the other hand, @samp{menubar} is a normal X thing that uses the
3989 resource @samp{font}. With Motif it @emph{may be} necessary to use
3990 @samp{fontList} @emph{instead of} @samp{font}. In @emph{non-Motif}
3991 configurations with Mule it @emph{is} necessary to use @samp{fontSet}
3992 instead of @samp{font}. (Sorry, there just is no simple recipe here.)
3993
3994 @node Q3.2.3, Q3.2.4, Q3.2.2, Display Subsystems
3995 @unnumberedsubsec Q3.2.3: How can I set color options from @file{init.el}?
3996
3997 How can I set the most commonly used color options from my
3998 @file{init.el} instead of from my @file{.Xresources}?
3999
4000 Like this:
4001
4002 @lisp
4003 (set-face-background 'default "bisque") ; frame background
4004 (set-face-foreground 'default "black") ; normal text
4005 (set-face-background 'zmacs-region "red") ; When selecting w/
4006 ; mouse
4007 (set-face-foreground 'zmacs-region "yellow")
4008 (set-face-font 'default "*courier-bold-r*120-100-100*")
4009 (set-face-background 'highlight "blue") ; Ie when selecting
4010 ; buffers
4011 (set-face-foreground 'highlight "yellow")
4012 (set-face-background 'modeline "blue") ; Line at bottom
4013 ; of buffer
4014 (set-face-foreground 'modeline "white")
4015 (set-face-font 'modeline "*bold-r-normal*140-100-100*")
4016 (set-face-background 'isearch "yellow") ; When highlighting
4017 ; while searching
4018 (set-face-foreground 'isearch "red")
4019 (setq x-pointer-foreground-color "black") ; Adds to bg color,
4020 ; so keep black
4021 (setq x-pointer-background-color "blue") ; This is color
4022 ; you really
4023 ; want ptr/crsr
4024 @end lisp
4025
4026 @node Q3.2.4, Q3.2.5, Q3.2.3, Display Subsystems
4027 @unnumberedsubsec Q3.2.4: How can I set the colors when highlighting a region?
4028
4029 How can I set the background/foreground colors when highlighting a
4030 region?
4031
4032 You can change the face @code{zmacs-region} either in your
4033 @file{.Xresources}:
4034
4035 @example
4036 Emacs.zmacs-region.attributeForeground: firebrick
4037 Emacs.zmacs-region.attributeBackground: lightseagreen
4038 @end example
4039
4040 or in your @file{init.el}:
4041
4042 @lisp
4043 (set-face-background 'zmacs-region "red")
4044 (set-face-foreground 'zmacs-region "yellow")
4045 @end lisp
4046
4047 @node Q3.2.5, Q3.2.6, Q3.2.4, Display Subsystems
4048 @unnumberedsubsec Q3.2.5: How can I limit color map usage?
4049
4050 I'm using Netscape (or another color grabber like XEmacs);
4051 is there any way to limit the number of available colors in the color map?
4052
4053 Answer: No, but you can start Netscape before XEmacs, and it will use
4054 the closest available color if the colormap is full. You can also limit
4055 the number of colors Netscape uses, using the flags -mono, -ncols <#> or
4056 -install (for mono, limiting to <#> colors, or for using a private color
4057 map).
4058
4059 If you have the money, another solution would be to use a truecolor or
4060 direct color video.
4061
4062 @node Q3.2.6, Q3.2.7, Q3.2.5, Display Subsystems
4063 @unnumberedsubsec Q3.2.6: My tty supports color, but XEmacs doesn't use them.
4064
4065 XEmacs tries to automatically determine whether your tty supports color,
4066 but sometimes guesses wrong. In that case, you can make XEmacs Do The
4067 Right Thing using this Lisp code:
4068
4069 @lisp
4070 (if (eq 'tty (device-type))
4071 (set-device-class nil 'color))
4072 @end lisp
4073
4074 @node Q3.2.7, Q3.2.8, Q3.2.6, Display Subsystems
4075 @unnumberedsubsec Q3.2.7: Can I have pixmap backgrounds in XEmacs?
4076 @c New
4077 @email{jvillaci@@wahnsinnig.extreme.indiana.edu, Juan Villacis} writes:
4078
4079 @quotation
4080 There are several ways to do it. For example, you could specify a
4081 default pixmap image to use in your @file{~/.Xresources}, e.g.,
4082
4083
4084 @example
4085 Emacs*EmacsFrame.default.attributeBackgroundPixmap: /path/to/image.xpm
4086 @end example
4087
4088
4089 and then reload ~/.Xresources and restart XEmacs. Alternatively,
4090 since each face can have its own pixmap background, a better way
4091 would be to set a face's pixmap within your XEmacs init file, e.g.,
4092
4093 @lisp
4094 (set-face-background-pixmap 'default "/path/to/image.xpm")
4095 (set-face-background-pixmap 'bold "/path/to/another_image.xpm")
4096 @end lisp
4097
4098 and so on. You can also do this interactively via @kbd{M-x edit-faces}.
4099
4100 @end quotation
4101
4102 @node Q3.2.8, Q3.2.9, Q3.2.7, Display Subsystems
4103 @unnumberedsubsec Q3.2.8: How do I display non-ASCII characters?
4104 @c New
4105
4106 If you're using a Mule-enabled XEmacs, then display is automatic. If
4107 you're not seeing the characters you expect, either (1) you don't have
4108 appropriate fonts available or (2) XEmacs did not correctly detect the
4109 coding system (@pxref{Recognize Coding, , , xemacs}). In case (1),
4110 install fonts as is customary for your platform. In case (2), you
4111 need to tell XEmacs explicitly what coding systems you're using.
4112 @ref{Specify Coding, , , xemacs}.
4113
4114 If your XEmacs is not Mule-enabled, and for some reason getting a
4115 Mule-enabled XEmacs seems like the wrong thing to do, all is not lost.
4116 You can arrange it by brute force. In @file{event-Xt.c} (suppress the
4117 urge to look in this file---play Doom instead, because you'll survive
4118 longer), it is written:
4119
4120 @quotation
4121 In a non-Mule world, a user can still have a multi-lingual editor, by
4122 doing @code{(set-face-font "-*-iso8859-2" (current-buffer))} for all
4123 their Latin-2 buffers, etc.
4124 @end quotation
4125
4126 For the related problem of @emph{inputting} non-ASCII characters in a
4127 non-Mule XEmacs, @xref{Q3.0.5, How can you type in special characters
4128 in XEmacs?}.
4129
4130 @node Q3.2.9, Q3.3.1, Q3.2.8, Display Subsystems
4131 @unnumberedsubsec Q3.2.9: Font selections in don't get saved after @code{Save Options}.
4132
4133 @email{mannj@@ll.mit.edu, John Mann} writes:
4134
4135 @quotation
4136 You have to go to @samp{Options->Menubars} and unselect
4137 @samp{Frame-Local Font Menu}. If this option is selected, font changes
4138 are only applied to the @emph{current} frame and do @emph{not} get saved
4139 when you save options.
4140 @end quotation
4141
4142 Also, set the following in your @file{init.el}:
4143
4144 @lisp
4145 (setq options-save-faces t)
4146 @end lisp
4147
4148 @unnumberedsec 3.3: The Menubar and Toolbar
4149
4150 @node Q3.3.1, Q3.3.2, Q3.2.9, Display Subsystems
4151 @unnumberedsubsec Q3.3.1: How do I get rid of the menu (or menubar)?
4152
4153 @lisp
4154 (set-specifier menubar-visible-p nil)
4155 @end lisp
4156
4157 @node Q3.3.2, Q3.3.3, Q3.3.1, Display Subsystems
4158 @unnumberedsubsec Q3.3.2: Can I customize the basic menubar?
4159
4160 For an extensive menubar, add this line to your @file{init.el}:
4161
4162 @lisp
4163 (load "big-menubar")
4164 @end lisp
4165
4166 If you'd like to write your own, this file provides as good a set of
4167 examples as any to start from. The file is located in edit-utils
4168 package.
4169
4170 @node Q3.3.3, Q3.3.4, Q3.3.2, Display Subsystems
4171 @unnumberedsubsec Q3.3.3: How do I control how many buffers are listed in the menu @code{Buffers List}?
4172
4173 Add the following to your @file{init.el} (suit to fit):
4174
4175 @lisp
4176 (setq buffers-menu-max-size 20)
4177 @end lisp
4178
4179 For no limit, use an argument of @samp{nil}.
4180
4181 Starting with XEmacs-20.3 you can also change this with Customize.
4182 Select from the @code{Options} menu
4183 @code{Advanced (Customize)->Emacs->Environment->Menu->Buffers Menu->Max Size...} or
4184 type @kbd{M-x customize @key{RET} buffers-menu @key{RET}}.
4185
4186 @node Q3.3.4, Q3.3.5, Q3.3.3, Display Subsystems
4187 @unnumberedsubsec Q3.3.4: Resources like @code{Emacs*menubar*font} are not working?
4188
4189 I am trying to use a resource like @code{Emacs*menubar*font} to set the
4190 font of the menubar but it's not working.
4191
4192 In Motif, the use of @samp{font} resources is obsoleted in order to
4193 support internationalization. If you are using the real Motif menubar,
4194 this resource is not recognized at all; you have to say:
4195
4196 @example
4197 Emacs*menubar*fontList: FONT
4198 @end example
4199
4200 If you are using the Lucid menubar, for backward compatibility with
4201 existing user configurations, the @samp{font} resource is recognized.
4202 Since this is not supported by Motif itself, the code is a kludge and
4203 the @samp{font} resource will be recognized only if the @samp{fontList}
4204 resource resource is unset. This means that the resource
4205
4206 @example
4207 *fontList: FONT
4208 @end example
4209
4210 will override
4211
4212 @example
4213 Emacs*menubar*font: FONT
4214 @end example
4215
4216 even though the latter is more specific.
4217
4218 In non-Motif configurations using @samp{--with-mule} and
4219 @samp{--with-xfs} it @emph{is} necessary to use the @code{fontSet}
4220 resource @emph{instead of} the @code{font} resource. The backward
4221 compatibility kludge was never implemented for non-Motif builds.
4222 Example:
4223
4224 @example
4225 *fontSet: FONT
4226 @end example
4227
4228 @node Q3.3.5, Q3.3.6, Q3.3.4, Display Subsystems
4229 @unnumberedsubsec Q3.3.5: How can I bind a key to a function to toggle the toolbar?
4230
4231 Try something like:
4232
4233 @lisp
4234 (defun my-toggle-toolbar ()
4235 (interactive)
4236 (set-specifier default-toolbar-visible-p
4237 (not (specifier-instance default-toolbar-visible-p))))
4238 (global-set-key "\C-xT" 'my-toggle-toolbar)
4239 @end lisp
4240
4241 There are redisplay bugs in 19.14 that may make the preceding result in
4242 a messed-up display, especially for frames with multiple windows. You
4243 may need to resize the frame before XEmacs completely realizes the
4244 toolbar is really gone.
4245
4246 Thanks to @email{martin@@xemacs.org, Martin Buchholz} for the correct
4247 code.
4248
4249 @node Q3.3.6, Q3.4.1, Q3.3.5, Display Subsystems
4250 @unnumberedsubsec Q3.3.6: @samp{Can't instantiate image error...} in toolbar
4251 @c New
4252
4253 @email{expt@@alanine.ram.org, Dr. Ram Samudrala} writes:
4254
4255 I just installed the XEmacs (20.4-2) RPMS that I downloaded from
4256 @uref{http://www.xemacs.org/}. Everything works fine, except that when
4257 I place my mouse over the toolbar, it beeps and gives me this message:
4258
4259 @example
4260 Can't instantiate image (probably cached):
4261 [xbm :mask-file "/usr/include/X11/bitmaps/leftptrmsk :mask-data
4262 (16 16 <strange control characters> ...
4263 @end example
4264
4265 @email{kyle_jones@@wonderworks.com, Kyle Jones} writes:
4266 @quotation
4267 This is problem specific to some Chips and Technologies video
4268 chips, when running XFree86. Putting
4269
4270 @code{Option "sw_cursor"}
4271
4272 in @file{XF86Config} gets rid of the problem.
4273 @end quotation
4274
4275 @unnumberedsec 3.4: Scrollbars
4276
4277 @node Q3.4.1, Q3.4.2, Q3.3.6, Display Subsystems
4278 @unnumberedsubsec Q3.4.1: How can I disable the scrollbar?
4279
4280 To disable them for all frames, add the following line to
4281 your @file{.Xresources}:
4282
4283 @example
4284 Emacs.scrollBarWidth: 0
4285 @end example
4286
4287 Or select @samp{Options->Display->Scrollbars}.
4288 Remember to save options.
4289
4290 To turn the scrollbar off on a per-frame basis, use the following
4291 function:
4292
4293 @lisp
4294 (set-specifier scrollbar-width 0 (selected-frame))
4295 @end lisp
4296
4297 You can actually turn the scrollbars on at any level you want by
4298 substituting for (selected-frame) in the above command. For example, to
4299 turn the scrollbars off only in a single buffer:
4300
4301 @lisp
4302 (set-specifier scrollbar-width 0 (current-buffer))
4303 @end lisp
4304
4305 @node Q3.4.2, Q3.4.3, Q3.4.1, Display Subsystems
4306 @unnumberedsubsec Q3.4.2: How can one use resources to change scrollbar colors?
4307
4308 Here's a recap of how to use resources to change your scrollbar colors:
4309
4310 @example
4311 ! Motif scrollbars
4312
4313 Emacs*XmScrollBar.Background: skyblue
4314 Emacs*XmScrollBar.troughColor: lightgray
4315
4316 ! Athena scrollbars
4317
4318 Emacs*Scrollbar.Foreground: skyblue
4319 Emacs*Scrollbar.Background: lightgray
4320 @end example
4321
4322 Note the capitalization of @code{Scrollbar} for the Athena widget.
4323
4324 @node Q3.4.3, Q3.4.4, Q3.4.2, Display Subsystems
4325 @unnumberedsubsec Q3.4.3: Moving the scrollbar can move the point; can I disable this?
4326
4327 When I move the scrollbar in an XEmacs window, it moves the point as
4328 well, which should not be the default behavior. Is this a bug or a
4329 feature? Can I disable it?
4330
4331 The current behavior is a feature, not a bug. Point remains at the same
4332 buffer position as long as that position does not scroll off the screen.
4333 In that event, point will end up in either the upper-left or lower-left
4334 hand corner.
4335
4336 This cannot be changed.
4337
4338 @node Q3.4.4, Q3.4.5, Q3.4.3, Display Subsystems
4339 @unnumberedsubsec Q3.4.4: Scrolling one line at a time.
4340
4341 Can the cursor keys scroll the screen a line at a time, rather than the
4342 default half page jump? I tend it to find it disorienting.
4343
4344 Use the following:
4345
4346 @lisp
4347 (setq scroll-step 1)
4348 @end lisp
4349
4350 You can also change this with Customize. Select from the 3695 You can also change this with Customize. Select from the
4351 @code{Options} menu @code{Advanced 3696 @code{Options} menu @code{Advanced
4352 (Customize)->Emacs->Environment->Windows->Scroll Step...} or type 3697 (Customize)->Emacs->Editing->Mouse->Yank At Point...} or type @kbd{M-x
4353 @kbd{M-x customize @key{RET} windows @key{RET}}. 3698 customize @key{RET} mouse @key{RET}}.
4354 3699
4355 @node Q3.4.5, Q3.4.6, Q3.4.4, Display Subsystems 3700 @unnumberedsec 3.2: Buffers, Text Editing
4356 @unnumberedsubsec Q3.4.5: How can I turn off automatic horizontal scrolling in specific modes? 3701
4357 3702 @node Q3.2.1, Q3.2.2, Q3.1.5, Editing
4358 Do @code{(setq truncate-lines t)} in the mode-hooks for any modes 3703 @unnumberedsubsec Q3.2.1: Can I have the end of the buffer delimited in some way?
4359 in which you want lines truncated.
4360
4361 More precisely: If @code{truncate-lines} is nil, horizontal scrollbars
4362 will never appear. Otherwise, they will appear only if the value of
4363 @code{scrollbar-height} for that buffer/window/etc. is non-zero. If you
4364 do
4365
4366 @lisp
4367 (set-specifier scrollbar-height 0)
4368 @end lisp
4369
4370 then horizontal scrollbars will not appear in truncated buffers unless
4371 the package specifically asked for them.
4372
4373 @node Q3.4.6, Q3.5.1, Q3.4.5, Display Subsystems
4374 @unnumberedsubsec Q3.4.6: I find auto-show-mode disconcerting. How do I turn it off?
4375
4376 @code{auto-show-mode} controls whether or not a horizontal scrollbar
4377 magically appears when a line is too long to be displayed. This is
4378 enabled by default. To turn it off, put the following in your
4379 @file{init.el}:
4380
4381 @lisp
4382 (setq auto-show-mode nil)
4383 (setq-default auto-show-mode nil)
4384 @end lisp
4385
4386 @unnumberedsec 3.5: The Modeline
4387
4388 @node Q3.5.1, Q3.5.2, Q3.4.6, Display Subsystems
4389 @unnumberedsubsec Q3.5.1: How can I make the modeline go away?
4390
4391 @lisp
4392 (set-specifier has-modeline-p nil)
4393 @end lisp
4394
4395 @node Q3.5.2, Q3.5.3, Q3.5.1, Display Subsystems
4396 @unnumberedsubsec Q3.5.2: How do you have XEmacs display the line number in the modeline?
4397
4398 Add the following line to your @file{init.el} file to
4399 display the line number:
4400
4401 @lisp
4402 (line-number-mode 1)
4403 @end lisp
4404
4405 Use the following to display the column number:
4406
4407 @lisp
4408 (column-number-mode 1)
4409 @end lisp
4410
4411 Or select from the @code{Options} menu
4412 @iftex
4413 @*
4414 @end iftex
4415 @code{Advanced (Customize)->Emacs->Editing->Basics->Line Number Mode}
4416 and/or
4417 @iftex
4418 @*
4419 @end iftex
4420 @code{Advanced (Customize)->Emacs->Editing->Basics->Column Number Mode}
4421
4422 Or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
4423
4424 @node Q3.5.3, Q3.5.4, Q3.5.2, Display Subsystems
4425 @unnumberedsubsec Q3.5.3: How do I get XEmacs to put the time of day on the modeline?
4426
4427 Add the following line to your @file{init.el} file to
4428 display the time:
4429
4430 @lisp
4431 (display-time)
4432 @end lisp
4433
4434 See @code{Customize} from the @code{Options} menu for customization.
4435
4436 @node Q3.5.4, Q3.6.1, Q3.5.3, Display Subsystems
4437 @unnumberedsubsec Q3.5.4: How can one change the modeline color based on the mode used?
4438
4439 You can use something like the following:
4440
4441 @lisp
4442 (add-hook 'lisp-mode-hook
4443 (lambda ()
4444 (set-face-background 'modeline "red" (current-buffer))))
4445 @end lisp
4446
4447 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
4448 colors change from the default set in your @file{init.el}.
4449 The change will only be made in the buffer you just entered (which
4450 contains the Lisp file you are editing) and will not affect the modeline
4451 colors anywhere else.
4452
4453 Notes:
4454
4455 @itemize @bullet
4456
4457 @item The hook is the mode name plus @code{-hook}. eg. c-mode-hook,
4458 c++-mode-hook, emacs-lisp-mode-hook (used for your
4459 @file{init.el} or a @file{xx.el} file),
4460 lisp-interaction-mode-hook (the @samp{*scratch*} buffer),
4461 text-mode-hook, etc.
4462
4463 @item
4464 Be sure to use @code{add-hook}, not @code{(setq c-mode-hook xxxx)},
4465 otherwise you will erase anything that anybody has already put on the
4466 hook.
4467
4468 @item
4469 You can also do @code{(set-face-font 'modeline @var{font})},
4470 eg. @code{(set-face-font 'modeline "*bold-r-normal*140-100-100*"
4471 (current-buffer))} if you wish the modeline font to vary based on the
4472 current mode.
4473 @end itemize
4474
4475 There are additional modeline faces, @code{modeline-buffer-id},
4476 @code{modeline-mousable}, and @code{modeline-mousable-minor-mode}, which
4477 you may want to customize.
4478
4479 @unnumberedsec 3.6: The Cursor
4480
4481 @node Q3.6.1, Q3.6.2, Q3.5.4, Display Subsystems
4482 @unnumberedsubsec Q3.6.1: Is there a way to make the bar cursor thicker?
4483
4484 I'd like to have the bar cursor a little thicker, as I tend to "lose" it
4485 often.
4486
4487 For a 1 pixel bar cursor, use:
4488
4489 @lisp
4490 (setq bar-cursor t)
4491 @end lisp
4492
4493 For a 2 pixel bar cursor, use:
4494
4495 @lisp
4496 (setq bar-cursor 'anything-else)
4497 @end lisp
4498
4499 Starting with XEmacs-20.3 you can also change these with Customize.
4500 Select from the @code{Options} menu
4501 @code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
4502 @kbd{M-x customize @key{RET} display @key{RET}}.
4503
4504 You can use a color to make it stand out better:
4505
4506 @example
4507 Emacs*cursorColor: Red
4508 @end example
4509
4510 @node Q3.6.2, Q3.6.3, Q3.6.1, Display Subsystems
4511 @unnumberedsubsec Q3.6.2: Is there a way to get back the block cursor?
4512
4513 @lisp
4514 (setq bar-cursor nil)
4515 @end lisp
4516
4517 Starting with XEmacs 20.3 you can also change this with Customize.
4518 Select from the @code{Options} menu
4519 @code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
4520 @kbd{M-x customize @key{RET} display @key{RET}}.
4521
4522 @node Q3.6.3, Q3.7.1, Q3.6.2, Display Subsystems
4523 @unnumberedsubsec Q3.6.3: Can I make the cursor blink?
4524
4525 Yes, like this:
4526
4527 @lisp
4528 (blink-cursor-mode)
4529 @end lisp
4530
4531 This function toggles between a steady cursor and a blinking cursor.
4532 You may also set this mode from the menu bar by selecting
4533 @samp{Options->Display->Blinking Cursor}. Remember to save options.
4534
4535 @unnumberedsec 3.7: Text Selections
4536
4537 @node Q3.7.1, Q3.7.2, Q3.6.3, Display Subsystems
4538 @unnumberedsubsec Q3.7.1: How do I select a rectangular region?
4539
4540 Just select the region normally, then use the rectangle commands (e.g.
4541 @code{kill-rectangle} on it. The region does not highlight as a
4542 rectangle, but the commands work just fine.
4543
4544 To actually sweep out rectangular regions with the mouse you can use
4545 @code{mouse-track-do-rectangle} which is assigned to @kbd{M-button1}.
4546 Then use rectangle commands.
4547
4548 You can also do the following to change default behavior to sweep out
4549 rectangular regions:
4550
4551 @lisp
4552 (setq mouse-track-rectangle-p t)
4553 @end lisp
4554
4555 Starting with XEmacs-20.2 you can also change this with Customize.
4556 Select from the @code{Options} menu
4557 @code{Advanced (Customize)->Emacs->Editing->Mouse->Track Rectangle...} or type
4558 @kbd{M-x customize @key{RET} mouse @key{RET}}.
4559
4560
4561 @example
4562 mouse-track-do-rectangle: (event)
4563 -- an interactive compiled Lisp function.
4564 Like `mouse-track' but selects rectangles instead of regions.
4565 @end example
4566
4567 @node Q3.7.2, Q3.7.3, Q3.7.1, Display Subsystems
4568 @unnumberedsubsec Q3.7.2: How can I turn off or change highlighted selections?
4569
4570 The @code{zmacs} mode allows for what some might call gratuitous
4571 highlighting for selected regions (either by setting mark or by using
4572 the mouse). This is the default behavior. To turn off, add the
4573 following line to your @file{init.el} file:
4574
4575 @lisp
4576 (setq zmacs-regions nil)
4577 @end lisp
4578
4579 You can also change this with Customize. Select from the
4580 @code{Options} menu
4581 @code{Advanced (Customize)->Emacs->Editing->Basics->Zmacs Regions}
4582 or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
4583
4584 To change the face for selection, look at @code{Options->Advanced (Customize)}
4585 on the menubar.
4586
4587 @node Q3.7.3, Q3.7.4, Q3.7.2, Display Subsystems
4588 @unnumberedsubsec Q3.7.3: How do I get that typing on an active region removes it?
4589
4590 I want to change things so that if I select some text and start typing,
4591 the typed text replaces the selected text, similar to Motif.
4592
4593 You want to use something called @dfn{pending delete}. Pending delete
4594 is what happens when you select a region (with the mouse or keyboard)
4595 and you press a key to replace the selected region by the key you typed.
4596 Usually backspace kills the selected region.
4597
4598 To get this behavior, ensure that you have the @file{pc} package
4599 installed, and add the following lines to your
4600 @file{init.el}:
4601
4602 @lisp
4603 (cond
4604 ((fboundp 'turn-on-pending-delete)
4605 (turn-on-pending-delete))
4606 ((fboundp 'pending-delete-on)
4607 (pending-delete-on t)))
4608 @end lisp
4609
4610 Note that this will work with both Backspace and Delete. This code is a
4611 tad more complicated than it has to be for XEmacs in order to make it
4612 more portable.
4613
4614 @node Q3.7.4, Q3.7.5, Q3.7.3, Display Subsystems
4615 @unnumberedsubsec Q3.7.4: Can I turn off the highlight during isearch?
4616
4617 I do not like my text highlighted while I am doing isearch as I am not
4618 able to see what's underneath. How do I turn it off?
4619
4620 Put the following in your @file{init.el}:
4621
4622 @lisp
4623 (setq isearch-highlight nil)
4624 @end lisp
4625
4626 Starting with XEmacs-20.2 you can also change this with Customize. Type
4627 @kbd{M-x customize-variable @key{RET} isearch-highlight @key{RET}}.
4628
4629 Note also that isearch-highlight affects query-replace and ispell.
4630 Instead of disabling isearch-highlight you may find that a better
4631 solution consists of customizing the @code{isearch} face.
4632
4633 @node Q3.7.5, Q3.7.6, Q3.7.4, Display Subsystems
4634 @unnumberedsubsec Q3.7.5: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
4635
4636 Put this in your @code{.emacs}:
4637
4638 @lisp
4639 (setq zmacs-regions nil)
4640 @end lisp
4641
4642 @strong{Warning: This command turns off all region highlighting.}
4643
4644 @xref{Q3.7.2, How can I turn off or change highlighted selections?}.
4645
4646 @node Q3.7.6, Q3.7.7, Q3.7.5, Display Subsystems
4647 @unnumberedsubsec Q3.7.6: The region disappears when I hit the end of buffer while scrolling.
4648
4649 This has been fixed by default starting with XEmacs-20.3.
4650
4651 With older versions you can turn this feature (if it indeed is a feature)
4652 off like this:
4653
4654 @lisp
4655 (defadvice scroll-up (around scroll-up freeze)
4656 (interactive "_P")
4657 (let ((zmacs-region-stays t))
4658 (if (interactive-p)
4659 (condition-case nil
4660 ad-do-it
4661 (end-of-buffer (goto-char (point-max))))
4662 ad-do-it)))
4663
4664 (defadvice scroll-down (around scroll-down freeze)
4665 (interactive "_P")
4666 (let ((zmacs-region-stays t))
4667 (if (interactive-p)
4668 (condition-case nil
4669 ad-do-it
4670 (beginning-of-buffer (goto-char (point-min))))
4671 ad-do-it)))
4672 @end lisp
4673
4674 Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this
4675 answer.
4676
4677 @node Q3.7.7, Q3.7.8, Q3.7.6, Display Subsystems
4678 @unnumberedsubsec Q3.7.7: Why is killing so slow?
4679
4680 This actually is an X Windows question, although you'll notice it with
4681 keyboard operations as well as while using the GUI. Basically, there
4682 are four ways to communicate interprogram via the X server:
4683
4684 @table @strong
4685 @item Primary selection
4686 a transient selection that gets replaced every time a new selection is made
4687
4688 @item Secondary selection
4689 for "exchanging" with the primary selection
4690
4691 @item Cut buffers
4692 a clipboard internal to the X server (deprecated)
4693
4694 @item Clipboard selection
4695 a selection with a notification protocol that allows a separate app to
4696 manage the clipboard
4697 @end table
4698
4699 The cut buffers are deprecated because managing them is even more
4700 inefficient than the clipboard notification protocol. The primary
4701 selection works fine for many users and applications, but is not very
4702 robust under intensive or sophisticated use.
4703
4704 In Motif and MS Windows, a clipboard has become the primary means for
4705 managing cut and paste. These means that "modern" applications tend to
4706 be oriented toward a true clipboard, rather than the primary selection.
4707 (On Windows, there is nothing equivalent to the primary selection.)
4708 It's not that XEmacs doesn't support the simple primary selection
4709 method, it's that more and more other applications don't.
4710
4711 So the slowdown occurs because XEmacs now engages in the clipboard
4712 notification protocol on @emph{every} kill. This is especially slow on
4713 Motif.
4714
4715 With most people running most clients and server on the same host, and
4716 many of the rest working over very fast communication, you may expect
4717 that the situation is not going to improve.
4718
4719 There are a number of workarounds. The most effective is to use a
4720 special command to do selection ownership only when you intend to paste
4721 to another application. Useful commands are @code{kill-primary-selection}
4722 and @code{copy-primary-selection}. These work only on text selected
4723 with the mouse (probably; experiment), and are bound by default to the
4724 @kbd{Cut} and @kbd{Copy}, respectively, buttons on the toolbar.
4725 @code{copy-primary-selection} is also bound to @kbd{C-Insert}. You can
4726 yank the clipboard contents with @code{yank-primary-selection}, bound to
4727 the @kbd{Paste} toolbar button and @kbd{Sh-Insert}.
4728
4729 If you are communicating by cut and paste with applications that use the
4730 primary selection, then you can customize
4731 @code{interprogram-cut-function} to @code{nil}, restoring the XEmacs
4732 version 20 behavior. How can you tell if a program will support this?
4733 Motifly-correct programs require the clipboard; you lose. For others,
4734 only by trying it. You also need to customize the complementary
4735 @code{interprogram-paste-function} to @code{nil}. (Otherwise
4736 XEmacs-to-XEmacs pastes will not work correctly.)
4737
4738 You may get some relief on Motif by setting
4739 @code{x-selection-strict-motif-ownership} to nil, but this means you will
4740 only intermittently be able to paste XEmacs kills to Motif applications.
4741
4742 Thanks to Jeff Mincy and Glynn Clements for corrections.
4743
4744 @node Q3.7.8, Q3.8.1, Q3.7.7, Display Subsystems
4745 @unnumberedsubsec Q3.7.8: Why does @kbd{M-w} take so long?
4746
4747 It actually doesn't. It leaves the region visible for a second so that
4748 you can see what area is being yanked. If you start working, though, it
4749 will immediately complete its operation. In other words, it will only
4750 delay for a second if you let it.
4751
4752 @unnumberedsec 3.8: Buffers, Text Editing
4753
4754 @node Q3.8.1, Q3.8.2, Q3.7.8, Display Subsystems
4755 @unnumberedsubsec Q3.8.1: Can I have the end of the buffer delimited in some way?
4756 3704
4757 Say, with: @samp{[END]}? 3705 Say, with: @samp{[END]}?
4758 3706
4759 Try this: 3707 Try this:
4760 3708
4811 @end lisp 3759 @end lisp
4812 3760
4813 Note that you might want to make this a function, and put it to a hook. 3761 Note that you might want to make this a function, and put it to a hook.
4814 We leave that as an exercise for the reader. 3762 We leave that as an exercise for the reader.
4815 3763
4816 @node Q3.8.2, Q3.8.3, Q3.8.1, Display Subsystems 3764 @node Q3.2.2, Q3.2.3, Q3.2.1, Editing
4817 @unnumberedsubsec Q3.8.2: How do I insert today's date into a buffer? 3765 @unnumberedsubsec Q3.2.2: How do I insert today's date into a buffer?
4818 3766
4819 Like this: 3767 Like this:
4820 3768
4821 @lisp 3769 @lisp
4822 (insert (current-time-string)) 3770 (insert (current-time-string))
4823 @end lisp 3771 @end lisp
4824 3772
4825 @node Q3.8.3, Q3.8.4, Q3.8.2, Display Subsystems 3773 @node Q3.2.3, Q3.2.4, Q3.2.2, Editing
4826 @unnumberedsubsec Q3.8.3: How do I get a single minibuffer frame? 3774 @unnumberedsubsec Q3.2.3: How do I get a single minibuffer frame?
4827 3775
4828 @email{acs@@acm.org, Vin Shelton} writes: 3776 @email{acs@@acm.org, Vin Shelton} writes:
4829 3777
4830 @lisp 3778 @lisp
4831 (setq initial-frame-plist '(minibuffer nil)) 3779 (setq initial-frame-plist '(minibuffer nil))
4846 3794
4847 @strong{Please note:} The single minibuffer frame may not be to everyone's 3795 @strong{Please note:} The single minibuffer frame may not be to everyone's
4848 taste, and there any number of other XEmacs options settings that may 3796 taste, and there any number of other XEmacs options settings that may
4849 make it difficult or inconvenient to use. 3797 make it difficult or inconvenient to use.
4850 3798
4851 @node Q3.8.4, Q3.8.5, Q3.8.3, Display Subsystems 3799 @node Q3.2.4, Q3.2.5, Q3.2.3, Editing
4852 @unnumberedsubsec Q3.8.4: How can I enable auto-indent and/or Filladapt? 3800 @unnumberedsubsec Q3.2.4: How can I enable auto-indent and/or Filladapt?
4853 3801
4854 Put the following line in your @file{init.el}: 3802 Put the following line in your @file{init.el}:
4855 3803
4856 @lisp 3804 @lisp
4857 (setq indent-line-function 'indent-relative-maybe) 3805 (setq indent-line-function 'indent-relative-maybe)
4884 @code{text-mode-hook} by default (e.g. that's what Message does). For 3832 @code{text-mode-hook} by default (e.g. that's what Message does). For
4885 the nasty ones, you'll have to provide the @code{add-hook}s yourself. 3833 the nasty ones, you'll have to provide the @code{add-hook}s yourself.
4886 3834
4887 Please note that the @code{fa-extras} package is no longer useful. 3835 Please note that the @code{fa-extras} package is no longer useful.
4888 3836
4889 @node Q3.8.5, Q3.9.1, Q3.8.4, Display Subsystems 3837 @node Q3.2.5, Q3.3.1, Q3.2.4, Editing
4890 @unnumberedsubsec Q3.8.5: How can I get XEmacs to come up in text/auto-fill mode by default? 3838 @unnumberedsubsec Q3.2.5: How can I get XEmacs to come up in text/auto-fill mode by default?
4891 3839
4892 Try the following lisp in your @file{init.el}: 3840 Try the following lisp in your @file{init.el}:
4893 3841
4894 @lisp 3842 @lisp
4895 (setq default-major-mode 'text-mode) 3843 (setq default-major-mode 'text-mode)
4929 insertion of the startup message (e.g. if you put @code{*scratch*} into 3877 insertion of the startup message (e.g. if you put @code{*scratch*} into
4930 a nonstandard mode that has automatic font lock rules, then the startup 3878 a nonstandard mode that has automatic font lock rules, then the startup
4931 message might get fontified in a strange foreign manner, e.g. as code in 3879 message might get fontified in a strange foreign manner, e.g. as code in
4932 some programming language). 3880 some programming language).
4933 3881
4934 @unnumberedsec 3.9: Editing Source Code 3882 @unnumberedsec 3.3: Text Selections
4935 3883
4936 @node Q3.9.1, Q3.9.2, Q3.8.5, Display Subsystems 3884 @node Q3.3.1, Q3.3.2, Q3.2.5, Editing
4937 @unnumberedsubsec Q3.9.1: How can I do source code highlighting using font-lock? 3885 @unnumberedsubsec Q3.3.1: How do I select a rectangular region?
4938 3886
4939 For most modes, font-lock is already set up and just needs to be turned 3887 Just select the region normally, then use the rectangle commands (e.g.
4940 on. This can be done by adding the line: 3888 @code{kill-rectangle} on it. The region does not highlight as a
4941 3889 rectangle, but the commands work just fine.
4942 @lisp 3890
4943 (require 'font-lock) 3891 To actually sweep out rectangular regions with the mouse you can use
4944 @end lisp 3892 @code{mouse-track-do-rectangle} which is assigned to @kbd{M-button1}.
4945 3893 Then use rectangle commands.
4946 to your @file{init.el}. (You can turn it on for the 3894
4947 current buffer and session only by @kbd{M-x font-lock-mode}.) See the 3895 You can also do the following to change default behavior to sweep out
4948 file @file{etc/sample.init.el} (@file{etc/sample.emacs} in XEmacs 3896 rectangular regions:
4949 versions prior to 21.4) for more information. 3897
4950 3898 @lisp
4951 @c the old way: 3899 (setq mouse-track-rectangle-p t)
4952 @c (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock) 3900 @end lisp
4953 @c (add-hook 'dired-mode-hook 'turn-on-font-lock) 3901
4954 3902 You can also change this with Customize.
4955 See also @code{Syntax Highlighting} from the @code{Options} menu. 3903 Select from the @code{Options} menu
4956 Remember to save options. 3904 @code{Advanced (Customize)->Emacs->Editing->Mouse->Track Rectangle...} or type
4957 3905 @kbd{M-x customize @key{RET} mouse @key{RET}}.
4958 @node Q3.9.2, Q3.9.3, Q3.9.1, Display Subsystems 3906
4959 @unnumberedsubsec Q3.9.2: How do I get @samp{More} Syntax Highlighting on by default? 3907
4960 3908 @example
4961 Use the following code in your @file{init.el}: 3909 mouse-track-do-rectangle: (event)
4962 3910 -- an interactive compiled Lisp function.
4963 @lisp 3911 Like `mouse-track' but selects rectangles instead of regions.
4964 (setq-default font-lock-maximum-decoration t) 3912 @end example
4965 @end lisp 3913
4966 3914 @node Q3.3.2, Q3.3.3, Q3.3.1, Editing
4967 See also @code{Syntax Highlighting} from the @code{Options} menu. 3915 @unnumberedsubsec Q3.3.2: How can I turn off or change highlighted selections?
4968 Remember to save options. 3916
4969 3917 The @code{zmacs} mode allows for what some might call gratuitous
4970 @node Q3.9.3, Q3.9.4, Q3.9.2, Display Subsystems 3918 highlighting for selected regions (either by setting mark or by using
4971 @unnumberedsubsec Q3.9.3: Where do I get the latest CC Mode? 3919 the mouse). This is the default behavior. To turn off, add the
4972 3920 following line to your @file{init.el} file:
4973 @email{bwarsaw@@cnri.reston.va.us, Barry A. Warsaw} writes: 3921
4974 3922 @lisp
4975 @quotation 3923 (setq zmacs-regions nil)
4976 This can be had from @uref{http://www.python.org/emacs/}. 3924 @end lisp
4977 @end quotation 3925
4978 3926 You can also change this with Customize. Select from the
4979 @node Q3.9.4, Q3.9.5, Q3.9.3, Display Subsystems 3927 @code{Options} menu
4980 @unnumberedsubsec Q3.9.4: I do not like cc-mode. How do I use the old c-mode? 3928 @code{Advanced (Customize)->Emacs->Editing->Basics->Zmacs Regions}
3929 or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
3930
3931 To change the face for selection, look at @code{Options->Advanced (Customize)}
3932 on the menubar.
3933
3934 @node Q3.3.3, Q3.3.4, Q3.3.2, Editing
3935 @unnumberedsubsec Q3.3.3: How do I cause typing on an active region to remove it?
3936
3937 I want to change things so that if I select some text and start typing,
3938 the typed text replaces the selected text, similar to Motif.
3939
3940 You want to use something called @dfn{pending delete}. Pending delete
3941 is what happens when you select a region (with the mouse or keyboard)
3942 and you press a key to replace the selected region by the key you typed.
3943 Usually backspace kills the selected region.
3944
3945 To get this behavior, ensure that you have the @file{pc} package
3946 installed, and add the following lines to your
3947 @file{init.el}:
3948
3949 @lisp
3950 (cond
3951 ((fboundp 'turn-on-pending-delete)
3952 (turn-on-pending-delete))
3953 ((fboundp 'pending-delete-on)
3954 (pending-delete-on t)))
3955 @end lisp
3956
3957 Note that this will work with both Backspace and Delete. This code is a
3958 tad more complicated than it has to be for XEmacs in order to make it
3959 more portable.
3960
3961 @node Q3.3.4, Q3.3.5, Q3.3.3, Editing
3962 @unnumberedsubsec Q3.3.4: Can I turn off the highlight during isearch?
3963
3964 I do not like my text highlighted while I am doing isearch as I am not
3965 able to see what's underneath. How do I turn it off?
3966
3967 Put the following in your @file{init.el}:
3968
3969 @lisp
3970 (setq isearch-highlight nil)
3971 @end lisp
3972
3973 You can also change this with Customize. Type
3974 @kbd{M-x customize-variable @key{RET} isearch-highlight @key{RET}}.
3975
3976 Note also that isearch-highlight affects query-replace and ispell.
3977 Instead of disabling isearch-highlight you may find that a better
3978 solution consists of customizing the @code{isearch} face.
3979
3980 @node Q3.3.5, Q3.3.6, Q3.3.4, Editing
3981 @unnumberedsubsec Q3.3.5: Why is killing so slow?
3982
3983 This actually is an X Windows question, although you'll notice it with
3984 keyboard operations as well as while using the GUI. Basically, there
3985 are four ways to communicate interprogram via the X server:
3986
3987 @table @strong
3988 @item Primary selection
3989 a transient selection that gets replaced every time a new selection is made
3990
3991 @item Secondary selection
3992 for "exchanging" with the primary selection
3993
3994 @item Cut buffers
3995 a clipboard internal to the X server (deprecated)
3996
3997 @item Clipboard selection
3998 a selection with a notification protocol that allows a separate app to
3999 manage the clipboard
4000 @end table
4001
4002 The cut buffers are deprecated because managing them is even more
4003 inefficient than the clipboard notification protocol. The primary
4004 selection works fine for many users and applications, but is not very
4005 robust under intensive or sophisticated use.
4006
4007 In Motif and MS Windows, a clipboard has become the primary means for
4008 managing cut and paste. These means that "modern" applications tend to
4009 be oriented toward a true clipboard, rather than the primary selection.
4010 (On Windows, there is nothing equivalent to the primary selection.)
4011 It's not that XEmacs doesn't support the simple primary selection
4012 method, it's that more and more other applications don't.
4013
4014 So the slowdown occurs because XEmacs now engages in the clipboard
4015 notification protocol on @emph{every} kill. This is especially slow on
4016 Motif.
4017
4018 With most people running most clients and server on the same host, and
4019 many of the rest working over very fast communication, you may expect
4020 that the situation is not going to improve.
4021
4022 There are a number of workarounds. The most effective is to use a
4023 special command to do selection ownership only when you intend to paste
4024 to another application. Useful commands are @code{kill-primary-selection}
4025 and @code{copy-primary-selection}. These work only on text selected
4026 with the mouse (probably; experiment), and are bound by default to the
4027 @kbd{Cut} and @kbd{Copy}, respectively, buttons on the toolbar.
4028 @code{copy-primary-selection} is also bound to @kbd{C-Insert}. You can
4029 yank the clipboard contents with @code{yank-primary-selection}, bound to
4030 the @kbd{Paste} toolbar button and @kbd{Sh-Insert}.
4031
4032 If you are communicating by cut and paste with applications that use the
4033 primary selection, then you can customize
4034 @code{interprogram-cut-function} to @code{nil}, restoring the XEmacs
4035 version 20 behavior. How can you tell if a program will support this?
4036 Motifly-correct programs require the clipboard; you lose. For others,
4037 only by trying it. You also need to customize the complementary
4038 @code{interprogram-paste-function} to @code{nil}. (Otherwise
4039 XEmacs-to-XEmacs pastes will not work correctly.)
4040
4041 You may get some relief on Motif by setting
4042 @code{x-selection-strict-motif-ownership} to nil, but this means you will
4043 only intermittently be able to paste XEmacs kills to Motif applications.
4044
4045 Thanks to Jeff Mincy and Glynn Clements for corrections.
4046
4047 @node Q3.3.6, Q3.4.1, Q3.3.5, Editing
4048 @unnumberedsubsec Q3.3.6: Why does @kbd{M-w} take so long?
4049
4050 It actually doesn't. It leaves the region visible for a second so that
4051 you can see what area is being yanked. If you start working, though, it
4052 will immediately complete its operation. In other words, it will only
4053 delay for a second if you let it.
4054
4055 @unnumberedsec 3.4: Editing Source Code
4056
4057 @node Q3.4.1, Q3.4.2, Q3.3.6, Editing
4058 @unnumberedsubsec Q3.4.1: I do not like cc-mode. How do I use the old c-mode?
4981 4059
4982 Well, first off, consider if you really want to do this. cc-mode is 4060 Well, first off, consider if you really want to do this. cc-mode is
4983 much more powerful than the old c-mode. If you're having trouble 4061 much more powerful than the old c-mode. If you're having trouble
4984 getting your old offsets to work, try using @code{c-set-offset} instead. 4062 getting your old offsets to work, try using @code{c-set-offset} instead.
4985 You might also consider using the package @code{cc-compat}. 4063 You might also consider using the package @code{cc-compat}.
4997 @end lisp 4075 @end lisp
4998 4076
4999 This must be done before any other reference is made to either c-mode or 4077 This must be done before any other reference is made to either c-mode or
5000 c++-mode. 4078 c++-mode.
5001 4079
5002 @node Q3.9.5, , Q3.9.4, Display Subsystems 4080 @node Q3.4.2, , Q3.4.1, Editing
5003 @unnumberedsubsec Q3.9.5: How do you make XEmacs indent CL if-clauses correctly? 4081 @unnumberedsubsec Q3.4.2: How do you make XEmacs indent CL if-clauses correctly?
5004 4082
5005 I'd like XEmacs to indent all the clauses of a Common Lisp @code{if} the 4083 I'd like XEmacs to indent all the clauses of a Common Lisp @code{if} the
5006 same amount instead of indenting the 3rd clause differently from the 4084 same amount instead of indenting the 3rd clause differently from the
5007 first two. 4085 first two.
5008 4086
5009 One way is to add, to @file{init.el}: 4087 The package @code{cl-indent} that comes with XEmacs sets up this kind
5010 4088 of indentation by default. @code{cl-indent} also knows about many
5011 @lisp 4089 other CL-specific forms. To use @code{cl-indent}, one can do this:
5012 (put 'if 'lisp-indent-function nil) 4090
5013 @end lisp 4091 @lisp
5014 4092 (setq lisp-indent-function 'common-lisp-indent-function)
5015 However, note that the package @code{cl-indent} that comes with
5016 XEmacs sets up this kind of indentation by default. @code{cl-indent}
5017 also knows about many other CL-specific forms. To use @code{cl-indent},
5018 one can do this:
5019
5020 @lisp
5021 (load "cl-indent")
5022 (setq lisp-indent-function (function common-lisp-indent-function))
5023 @end lisp 4093 @end lisp
5024 4094
5025 One can also customize @file{cl-indent.el} so it mimics the default 4095 One can also customize @file{cl-indent.el} so it mimics the default
5026 @code{if} indentation @code{then} indented more than the @code{else}. 4096 @code{if} indentation @code{then} indented more than the @code{else}.
5027 Here's how: 4097 Here's how:
5028 4098
5029 @lisp 4099 @lisp
5030 (put 'if 'common-lisp-indent-function '(nil nil &body)) 4100 (put 'if 'common-lisp-indent-function '(nil nil &body))
5031 @end lisp 4101 @end lisp
5032 4102
5033 Also, a new version (1.2) of @file{cl-indent.el} was posted to 4103 @node Display, External Subsystems, Editing, Top
5034 comp.emacs.xemacs on 12/9/94. This version includes more documentation 4104 @unnumbered 4 Display Functions
5035 than previous versions. This may prove useful if you need to customize
5036 any indent-functions.
5037
5038 @node External Subsystems, Internet, Display Subsystems, Top
5039 @unnumbered 4 Interfacing with the Operating System and External Devices
5040 4105
5041 This is part 4 of the XEmacs Frequently Asked Questions list. This 4106 This is part 4 of the XEmacs Frequently Asked Questions list. This
4107 section is devoted to the display-related capabilities of XEmacs
4108 (fonts, colors, modeline, menubar, toolbar, scrollbar, etc.) and how
4109 to customize them.
4110
4111 @menu
4112 4.0: Textual Fonts and Colors
4113 * Q4.0.1:: How do I specify a font?
4114 * Q4.0.2:: How do I set the text, menu and modeline fonts?
4115 * Q4.0.3:: How can I set color options from @file{init.el}?
4116 * Q4.0.4:: How can I set the colors when highlighting a region?
4117 * Q4.0.5:: How can I limit color map usage?
4118 * Q4.0.6:: My tty supports color, but XEmacs doesn't use them.
4119 * Q4.0.7:: Can I have pixmap backgrounds in XEmacs?
4120 * Q4.0.8:: How do I display non-ASCII characters?
4121 * Q4.0.9:: Font selections in don't get saved after @code{Save Options}.
4122
4123 4.1: Syntax Highlighting (Font Lock)
4124 * Q4.1.1:: How can I do source code highlighting using font-lock?
4125 * Q4.1.2:: How do I get @samp{More} Syntax Highlighting on by default?
4126
4127 4.2: The Modeline
4128 * Q4.2.1:: How can I make the modeline go away?
4129 * Q4.2.2:: How do you have XEmacs display the line number in the modeline?
4130 * Q4.2.3:: How do I get XEmacs to put the time of day on the modeline?
4131 * Q4.2.4:: How can I change the modeline color based on the mode used?
4132
4133 4.3: The Cursor
4134 * Q4.3.1:: Is there a way to make the bar cursor thicker?
4135 * Q4.3.2:: Is there a way to get back the block cursor?
4136 * Q4.3.3:: Can I make the cursor blink?
4137
4138 4.4: The Menubar
4139 * Q4.4.1:: How do I get rid of the menubar?
4140 * Q4.4.2:: How can I customize the menubar?
4141 * Q4.4.3:: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
4142 * Q4.4.4:: How do I control how many buffers are listed in the menu @code{Buffers List}?
4143 * Q4.4.5:: Resources like @code{Emacs*menubar*font} are not working?
4144
4145 4.5: The Toolbar
4146 * Q4.5.1:: How do I get rid of the toolbar?
4147 * Q4.5.2:: How can I customize the toolbar?
4148 * Q4.5.3:: How can I bind a key to a function to toggle the toolbar?
4149 * Q4.5.4:: @samp{Can't instantiate image error...} in toolbar
4150
4151 4.6: Scrollbars and Scrolling
4152 * Q4.6.1:: How can I disable the scrollbar?
4153 * Q4.6.2:: How can I change the scrollbar width?
4154 * Q4.6.3:: How can I use resources to change scrollbar colors?
4155 * Q4.6.4:: Moving the scrollbar can move the point; can I disable this?
4156 * Q4.6.5:: Scrolling one line at a time.
4157 * Q4.6.6:: How can I turn off automatic horizontal scrolling in specific modes?
4158 * Q4.6.7:: I find auto-show-mode disconcerting. How do I turn it off?
4159
4160 4.7: The Gutter Tabs, The Progress Bar, Widgets
4161 * Q4.7.1:: How can I disable the gutter tabs?
4162 * Q4.7.2:: How can I disable the progress bar?
4163 * Q4.7.3:: There are bugs in the gutter or widgets.
4164 * Q4.7.4:: How can I customize the gutter or gutter tabs?
4165 @end menu
4166
4167 @unnumberedsec 4.0: Textual Fonts and Colors
4168
4169 @node Q4.0.1, Q4.0.2, Display, Display
4170 @unnumberedsubsec Q4.0.1: How do I specify a font?
4171
4172 #### Update me.
4173
4174 In 21.4 and above, you can use the @samp{Options} menu to change the font.
4175 You can also do it in your init file, e.g. like this (for MS Windows):
4176
4177 @display
4178 (set-face-font 'default "Lucida Console:Regular:10")
4179 (set-face-font 'modeline "MS Sans Serif:Regular:10")
4180 @end display
4181
4182 @node Q4.0.2, Q4.0.3, Q4.0.1, Display
4183 @unnumberedsubsec Q4.0.2: How do I set the text, menu and modeline fonts?
4184
4185 #### Update me.
4186
4187 Note that you should use @samp{Emacs.} and not @samp{Emacs*} when
4188 setting face values.
4189
4190 In @file{.Xresources}:
4191
4192 @example
4193 Emacs.default.attributeFont: -*-*-medium-r-*-*-*-120-*-*-m-*-*-*
4194 Emacs*menubar*font: fixed
4195 Emacs.modeline.attributeFont: fixed
4196 @end example
4197
4198 This is confusing because @samp{default} and @samp{modeline} are face
4199 names, and can be found listed with all faces in the current mode by
4200 using @kbd{M-x set-face-font (enter) ?}. They use the face-specific
4201 resource @samp{attributeFont}.
4202
4203 On the other hand, @samp{menubar} is a normal X thing that uses the
4204 resource @samp{font}. With Motif it @emph{may be} necessary to use
4205 @samp{fontList} @emph{instead of} @samp{font}. In @emph{non-Motif}
4206 configurations with Mule it @emph{is} necessary to use @samp{fontSet}
4207 instead of @samp{font}. (Sorry, there just is no simple recipe here.)
4208
4209 @node Q4.0.3, Q4.0.4, Q4.0.2, Display
4210 @unnumberedsubsec Q4.0.3: How can I set color options from @file{init.el}?
4211
4212 How can I set the most commonly used color options from my
4213 @file{init.el} instead of from my @file{.Xresources}?
4214
4215 Like this:
4216
4217 @lisp
4218 (set-face-background 'default "bisque") ; frame background
4219 (set-face-foreground 'default "black") ; normal text
4220 (set-face-background 'zmacs-region "red") ; When selecting w/
4221 ; mouse
4222 (set-face-foreground 'zmacs-region "yellow")
4223 (set-face-font 'default "*courier-bold-r*120-100-100*")
4224 (set-face-background 'highlight "blue") ; Ie when selecting
4225 ; buffers
4226 (set-face-foreground 'highlight "yellow")
4227 (set-face-background 'modeline "blue") ; Line at bottom
4228 ; of buffer
4229 (set-face-foreground 'modeline "white")
4230 (set-face-font 'modeline "*bold-r-normal*140-100-100*")
4231 (set-face-background 'isearch "yellow") ; When highlighting
4232 ; while searching
4233 (set-face-foreground 'isearch "red")
4234 (setq x-pointer-foreground-color "black") ; Adds to bg color,
4235 ; so keep black
4236 (setq x-pointer-background-color "blue") ; This is color
4237 ; you really
4238 ; want ptr/crsr
4239 @end lisp
4240
4241 @node Q4.0.4, Q4.0.5, Q4.0.3, Display
4242 @unnumberedsubsec Q4.0.4: How can I set the colors when highlighting a region?
4243
4244 How can I set the background/foreground colors when highlighting a
4245 region?
4246
4247 You can change the face @code{zmacs-region} either in your
4248 @file{.Xresources}:
4249
4250 @example
4251 Emacs.zmacs-region.attributeForeground: firebrick
4252 Emacs.zmacs-region.attributeBackground: lightseagreen
4253 @end example
4254
4255 or in your @file{init.el}:
4256
4257 @lisp
4258 (set-face-background 'zmacs-region "red")
4259 (set-face-foreground 'zmacs-region "yellow")
4260 @end lisp
4261
4262 @node Q4.0.5, Q4.0.6, Q4.0.4, Display
4263 @unnumberedsubsec Q4.0.5: How can I limit color map usage?
4264
4265 I'm using Netscape (or another color grabber like XEmacs);
4266 is there any way to limit the number of available colors in the color map?
4267
4268 Answer: No, but you can start Netscape before XEmacs, and it will use
4269 the closest available color if the colormap is full. You can also limit
4270 the number of colors Netscape uses, using the flags -mono, -ncols <#> or
4271 -install (for mono, limiting to <#> colors, or for using a private color
4272 map).
4273
4274 If you have the money, another solution would be to use a truecolor or
4275 direct color video.
4276
4277 @node Q4.0.6, Q4.0.7, Q4.0.5, Display
4278 @unnumberedsubsec Q4.0.6: My tty supports color, but XEmacs doesn't use them.
4279
4280 XEmacs tries to automatically determine whether your tty supports color,
4281 but sometimes guesses wrong. In that case, you can make XEmacs Do The
4282 Right Thing using this Lisp code:
4283
4284 @lisp
4285 (if (eq 'tty (device-type))
4286 (set-device-class nil 'color))
4287 @end lisp
4288
4289 @node Q4.0.7, Q4.0.8, Q4.0.6, Display
4290 @unnumberedsubsec Q4.0.7: Can I have pixmap backgrounds in XEmacs?
4291 @c New
4292 @email{jvillaci@@wahnsinnig.extreme.indiana.edu, Juan Villacis} writes:
4293
4294 @quotation
4295 There are several ways to do it. For example, you could specify a
4296 default pixmap image to use in your @file{~/.Xresources}, e.g.,
4297
4298
4299 @example
4300 Emacs*EmacsFrame.default.attributeBackgroundPixmap: /path/to/image.xpm
4301 @end example
4302
4303
4304 and then reload ~/.Xresources and restart XEmacs. Alternatively,
4305 since each face can have its own pixmap background, a better way
4306 would be to set a face's pixmap within your XEmacs init file, e.g.,
4307
4308 @lisp
4309 (set-face-background-pixmap 'default "/path/to/image.xpm")
4310 (set-face-background-pixmap 'bold "/path/to/another_image.xpm")
4311 @end lisp
4312
4313 and so on. You can also do this interactively via @kbd{M-x edit-faces}.
4314
4315 @end quotation
4316
4317 @node Q4.0.8, Q4.0.9, Q4.0.7, Display
4318 @unnumberedsubsec Q4.0.8: How do I display non-ASCII characters?
4319 @c New
4320
4321 If you're using a Mule-enabled XEmacs, then display is automatic. If
4322 you're not seeing the characters you expect, either (1) you don't have
4323 appropriate fonts available or (2) XEmacs did not correctly detect the
4324 coding system (@pxref{Recognize Coding, , , xemacs}). In case (1),
4325 install fonts as is customary for your platform. In case (2), you
4326 need to tell XEmacs explicitly what coding systems you're using.
4327 @ref{Specify Coding, , , xemacs}.
4328
4329 If your XEmacs is not Mule-enabled, and for some reason getting a
4330 Mule-enabled XEmacs seems like the wrong thing to do, all is not lost.
4331 You can arrange it by brute force. In @file{event-Xt.c} (suppress the
4332 urge to look in this file---play Doom instead, because you'll survive
4333 longer), it is written:
4334
4335 @quotation
4336 In a non-Mule world, a user can still have a multi-lingual editor, by
4337 doing @code{(set-face-font "-*-iso8859-2" (current-buffer))} for all
4338 their Latin-2 buffers, etc.
4339 @end quotation
4340
4341 For the related problem of @emph{inputting} non-ASCII characters in a
4342 non-Mule XEmacs, @xref{Q3.0.6, How can you type in special characters
4343 in XEmacs?}.
4344
4345 @node Q4.0.9, Q4.1.1, Q4.0.8, Display
4346 @unnumberedsubsec Q4.0.9: Font selections in don't get saved after @code{Save Options}.
4347
4348 @email{mannj@@ll.mit.edu, John Mann} writes:
4349
4350 @quotation
4351 You have to go to @samp{Options->Menubars} and unselect
4352 @samp{Frame-Local Font Menu}. If this option is selected, font changes
4353 are only applied to the @emph{current} frame and do @emph{not} get saved
4354 when you save options.
4355 @end quotation
4356
4357 Also, set the following in your @file{init.el}:
4358
4359 @lisp
4360 (setq options-save-faces t)
4361 @end lisp
4362
4363 @unnumberedsec 4.1: Syntax Highlighting (Font Lock)
4364
4365 @node Q4.1.1, Q4.1.2, Q4.0.9, Display
4366 @unnumberedsubsec Q4.1.1: How can I do source code highlighting using font-lock?
4367
4368 For most modes, font-lock is already set up and just needs to be turned
4369 on. This can be done by adding the line:
4370
4371 @lisp
4372 (require 'font-lock)
4373 @end lisp
4374
4375 to your @file{init.el}. (You can turn it on for the
4376 current buffer and session only by @kbd{M-x font-lock-mode}.) See the
4377 file @file{etc/sample.init.el} (@file{etc/sample.emacs} in XEmacs
4378 versions prior to 21.4) for more information.
4379
4380 @c the old way:
4381 @c (add-hook 'emacs-lisp-mode-hook 'turn-on-font-lock)
4382 @c (add-hook 'dired-mode-hook 'turn-on-font-lock)
4383
4384 See also @code{Syntax Highlighting} from the @code{Options} menu.
4385 Remember to save options.
4386
4387 @node Q4.1.2, Q4.2.1, Q4.1.1, Display
4388 @unnumberedsubsec Q4.1.2: How do I get @samp{More} Syntax Highlighting on by default?
4389
4390 Use the following code in your @file{init.el}:
4391
4392 @lisp
4393 (setq-default font-lock-maximum-decoration t)
4394 @end lisp
4395
4396 See also @code{Syntax Highlighting} from the @code{Options} menu.
4397 Remember to save options.
4398
4399 @unnumberedsec 4.2: The Modeline
4400
4401 @node Q4.2.1, Q4.2.2, Q4.1.2, Display
4402 @unnumberedsubsec Q4.2.1: How can I make the modeline go away?
4403
4404 @lisp
4405 (set-specifier has-modeline-p nil)
4406 @end lisp
4407
4408 @node Q4.2.2, Q4.2.3, Q4.2.1, Display
4409 @unnumberedsubsec Q4.2.2: How do you have XEmacs display the line number in the modeline?
4410
4411 Add the following line to your @file{init.el} file to
4412 display the line number:
4413
4414 @lisp
4415 (line-number-mode 1)
4416 @end lisp
4417
4418 Use the following to display the column number:
4419
4420 @lisp
4421 (column-number-mode 1)
4422 @end lisp
4423
4424 Or select from the @code{Options} menu
4425 @iftex
4426 @*
4427 @end iftex
4428 @code{Advanced (Customize)->Emacs->Editing->Basics->Line Number Mode}
4429 and/or
4430 @iftex
4431 @*
4432 @end iftex
4433 @code{Advanced (Customize)->Emacs->Editing->Basics->Column Number Mode}
4434
4435 Or type @kbd{M-x customize @key{RET} editing-basics @key{RET}}.
4436
4437 @node Q4.2.3, Q4.2.4, Q4.2.2, Display
4438 @unnumberedsubsec Q4.2.3: How do I get XEmacs to put the time of day on the modeline?
4439
4440 Add the following line to your @file{init.el} file to
4441 display the time:
4442
4443 @lisp
4444 (display-time)
4445 @end lisp
4446
4447 See @code{Customize} from the @code{Options} menu for customization.
4448
4449 @node Q4.2.4, Q4.3.1, Q4.2.3, Display
4450 @unnumberedsubsec Q4.2.4: How can I change the modeline color based on the mode used?
4451
4452 You can use something like the following:
4453
4454 @lisp
4455 (add-hook 'lisp-mode-hook
4456 (lambda ()
4457 (set-face-background 'modeline "red" (current-buffer))))
4458 @end lisp
4459
4460 Then, when editing a Lisp file (i.e. when in Lisp mode), the modeline
4461 colors change from the default set in your @file{init.el}.
4462 The change will only be made in the buffer you just entered (which
4463 contains the Lisp file you are editing) and will not affect the modeline
4464 colors anywhere else.
4465
4466 Notes:
4467
4468 @itemize @bullet
4469
4470 @item The hook is the mode name plus @code{-hook}. eg. c-mode-hook,
4471 c++-mode-hook, emacs-lisp-mode-hook (used for your
4472 @file{init.el} or a @file{xx.el} file),
4473 lisp-interaction-mode-hook (the @samp{*scratch*} buffer),
4474 text-mode-hook, etc.
4475
4476 @item
4477 Be sure to use @code{add-hook}, not @code{(setq c-mode-hook xxxx)},
4478 otherwise you will erase anything that anybody has already put on the
4479 hook.
4480
4481 @item
4482 You can also do @code{(set-face-font 'modeline @var{font})},
4483 eg. @code{(set-face-font 'modeline "*bold-r-normal*140-100-100*"
4484 (current-buffer))} if you wish the modeline font to vary based on the
4485 current mode.
4486 @end itemize
4487
4488 There are additional modeline faces, @code{modeline-buffer-id},
4489 @code{modeline-mousable}, and @code{modeline-mousable-minor-mode}, which
4490 you may want to customize.
4491
4492 @unnumberedsec 4.3: The Cursor
4493
4494 @node Q4.3.1, Q4.3.2, Q4.2.4, Display
4495 @unnumberedsubsec Q4.3.1: Is there a way to make the bar cursor thicker?
4496
4497 I'd like to have the bar cursor a little thicker, as I tend to "lose" it
4498 often.
4499
4500 For a 1 pixel bar cursor, use:
4501
4502 @lisp
4503 (setq bar-cursor t)
4504 @end lisp
4505
4506 For a 2 pixel bar cursor, use:
4507
4508 @lisp
4509 (setq bar-cursor 'anything-else)
4510 @end lisp
4511
4512 You can also change these with Customize.
4513 Select from the @code{Options} menu
4514 @code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
4515 @kbd{M-x customize @key{RET} display @key{RET}}.
4516
4517 You can use a color to make it stand out better:
4518
4519 @example
4520 Emacs*cursorColor: Red
4521 @end example
4522
4523 @node Q4.3.2, Q4.3.3, Q4.3.1, Display
4524 @unnumberedsubsec Q4.3.2: Is there a way to get back the block cursor?
4525
4526 @lisp
4527 (setq bar-cursor nil)
4528 @end lisp
4529
4530 You can also change this with Customize.
4531 Select from the @code{Options} menu
4532 @code{Advanced (Customize)->Emacs->Environment->Display->Bar Cursor...} or type
4533 @kbd{M-x customize @key{RET} display @key{RET}}.
4534
4535 @node Q4.3.3, Q4.4.1, Q4.3.2, Display
4536 @unnumberedsubsec Q4.3.3: Can I make the cursor blink?
4537
4538 Yes, like this:
4539
4540 @lisp
4541 (blink-cursor-mode)
4542 @end lisp
4543
4544 This function toggles between a steady cursor and a blinking cursor.
4545 You may also set this mode from the menu bar by selecting
4546 @samp{Options->Display->Blinking Cursor}. Remember to save options.
4547
4548 @unnumberedsec 4.4: The Menubar
4549
4550 @node Q4.4.1, Q4.4.2, Q4.3.3, Display
4551 @unnumberedsubsec Q4.4.1: How do I get rid of the menubar?
4552
4553 @lisp
4554 (set-specifier menubar-visible-p nil)
4555 @end lisp
4556
4557 @node Q4.4.2, Q4.4.3, Q4.4.1, Display
4558 @unnumberedsubsec Q4.4.2: How can I customize the menubar?
4559
4560 For an extensive menubar, add this line to your @file{init.el}:
4561
4562 @lisp
4563 (load "big-menubar")
4564 @end lisp
4565
4566 If you'd like to write your own, this file provides as good a set of
4567 examples as any to start from. The file is located in edit-utils
4568 package.
4569
4570 @node Q4.4.3, Q4.4.4, Q4.4.2, Display
4571 @unnumberedsubsec Q4.4.3: How do I enable use of the keyboard (@kbd{Alt}) to access menu items?
4572
4573 #### Write me.
4574
4575 @node Q4.4.4, Q4.4.5, Q4.4.3, Display
4576 @unnumberedsubsec Q4.4.4: How do I control how many buffers are listed in the menu @code{Buffers List}?
4577
4578 Add the following to your @file{init.el} (suit to fit):
4579
4580 @lisp
4581 (setq buffers-menu-max-size 20)
4582 @end lisp
4583
4584 For no limit, use an argument of @samp{nil}.
4585
4586 You can also change this with Customize. Select from the
4587 @code{Options} menu
4588 @code{Advanced (Customize)->Emacs->Environment->Menu->Buffers Menu->Max Size...}
4589 or type @kbd{M-x customize @key{RET} buffers-menu @key{RET}}.
4590
4591 @node Q4.4.5, Q4.5.1, Q4.4.4, Display
4592 @unnumberedsubsec Q4.4.5: Resources like @code{Emacs*menubar*font} are not working?
4593
4594 I am trying to use a resource like @code{Emacs*menubar*font} to set the
4595 font of the menubar but it's not working.
4596
4597 In Motif, the use of @samp{font} resources is obsoleted in order to
4598 support internationalization. If you are using the real Motif menubar,
4599 this resource is not recognized at all; you have to say:
4600
4601 @example
4602 Emacs*menubar*fontList: FONT
4603 @end example
4604
4605 If you are using the Lucid menubar, for backward compatibility with
4606 existing user configurations, the @samp{font} resource is recognized.
4607 Since this is not supported by Motif itself, the code is a kludge and
4608 the @samp{font} resource will be recognized only if the @samp{fontList}
4609 resource resource is unset. This means that the resource
4610
4611 @example
4612 *fontList: FONT
4613 @end example
4614
4615 will override
4616
4617 @example
4618 Emacs*menubar*font: FONT
4619 @end example
4620
4621 even though the latter is more specific.
4622
4623 In non-Motif configurations using @samp{--with-mule} and
4624 @samp{--with-xfs} it @emph{is} necessary to use the @code{fontSet}
4625 resource @emph{instead of} the @code{font} resource. The backward
4626 compatibility kludge was never implemented for non-Motif builds.
4627 Example:
4628
4629 @example
4630 *fontSet: FONT
4631 @end example
4632
4633 @unnumberedsec 4.5: The Toolbar
4634
4635 @node Q4.5.1, Q4.5.2, Q4.4.5, Display
4636 @unnumberedsubsec Q4.5.1: How do I get rid of the toolbar?
4637
4638 #### Write me.
4639
4640 @node Q4.5.2, Q4.5.3, Q4.5.1, Display
4641 @unnumberedsubsec Q4.5.2: How can I customize the toolbar?
4642
4643 #### Write me.
4644
4645 @node Q4.5.3, Q4.5.4, Q4.5.2, Display
4646 @unnumberedsubsec Q4.5.3: How can I bind a key to a function to toggle the toolbar?
4647
4648 Try something like:
4649
4650 @lisp
4651 (defun my-toggle-toolbar ()
4652 (interactive)
4653 (set-specifier default-toolbar-visible-p
4654 (not (specifier-instance default-toolbar-visible-p))))
4655 (global-set-key "\C-xT" 'my-toggle-toolbar)
4656 @end lisp
4657
4658 @ignore
4659 @c Probably not relevant any more
4660 There are redisplay bugs in 19.14 that may make the preceding result in
4661 a messed-up display, especially for frames with multiple windows. You
4662 may need to resize the frame before XEmacs completely realizes the
4663 toolbar is really gone.
4664 @end ignore
4665
4666 Thanks to @email{martin@@xemacs.org, Martin Buchholz} for the correct
4667 code.
4668
4669 @node Q4.5.4, Q4.6.1, Q4.5.3, Display
4670 @unnumberedsubsec Q4.5.4: @samp{Can't instantiate image error...} in toolbar
4671
4672 @email{expt@@alanine.ram.org, Dr. Ram Samudrala} writes:
4673
4674 I just installed the XEmacs (20.4-2) RPMS that I downloaded from
4675 @uref{http://www.xemacs.org/}. Everything works fine, except that when
4676 I place my mouse over the toolbar, it beeps and gives me this message:
4677
4678 @example
4679 Can't instantiate image (probably cached):
4680 [xbm :mask-file "/usr/include/X11/bitmaps/leftptrmsk :mask-data
4681 (16 16 <strange control characters> ...
4682 @end example
4683
4684 @email{kyle_jones@@wonderworks.com, Kyle Jones} writes:
4685 @quotation
4686 This is problem specific to some Chips and Technologies video
4687 chips, when running XFree86. Putting
4688
4689 @code{Option "sw_cursor"}
4690
4691 in @file{XF86Config} gets rid of the problem.
4692 @end quotation
4693
4694 @unnumberedsec 4.6: Scrollbars and Scrolling
4695
4696 @node Q4.6.1, Q4.6.2, Q4.5.4, Display
4697 @unnumberedsubsec Q4.6.1: How can I disable the scrollbar?
4698
4699 To disable them for all frames, add the following line to
4700 your @file{.Xresources}:
4701
4702 @example
4703 Emacs.scrollBarWidth: 0
4704 @end example
4705
4706 Or select @samp{Options->Display->Scrollbars}.
4707 Remember to save options.
4708
4709 To turn the scrollbar off on a per-frame basis, use the following
4710 function:
4711
4712 @lisp
4713 (set-specifier scrollbar-width 0 (selected-frame))
4714 @end lisp
4715
4716 You can actually turn the scrollbars on at any level you want by
4717 substituting for (selected-frame) in the above command. For example, to
4718 turn the scrollbars off only in a single buffer:
4719
4720 @lisp
4721 (set-specifier scrollbar-width 0 (current-buffer))
4722 @end lisp
4723
4724 @node Q4.6.2, Q4.6.3, Q4.6.1, Display
4725 @unnumberedsubsec Q4.6.2: How can I change the scrollbar width?
4726
4727 #### Write me.
4728
4729 @node Q4.6.3, Q4.6.4, Q4.6.2, Display
4730 @unnumberedsubsec Q4.6.3: How can I use resources to change scrollbar colors?
4731
4732 Here's a recap of how to use resources to change your scrollbar colors:
4733
4734 @example
4735 ! Motif scrollbars
4736
4737 Emacs*XmScrollBar.Background: skyblue
4738 Emacs*XmScrollBar.troughColor: lightgray
4739
4740 ! Athena scrollbars
4741
4742 Emacs*Scrollbar.Foreground: skyblue
4743 Emacs*Scrollbar.Background: lightgray
4744 @end example
4745
4746 Note the capitalization of @code{Scrollbar} for the Athena widget.
4747
4748 @node Q4.6.4, Q4.6.5, Q4.6.3, Display
4749 @unnumberedsubsec Q4.6.4: Moving the scrollbar can move the point; can I disable this?
4750
4751 When I move the scrollbar in an XEmacs window, it moves the point as
4752 well, which should not be the default behavior. Is this a bug or a
4753 feature? Can I disable it?
4754
4755 The current behavior is a feature, not a bug. Point remains at the same
4756 buffer position as long as that position does not scroll off the screen.
4757 In that event, point will end up in either the upper-left or lower-left
4758 hand corner.
4759
4760 This cannot be changed.
4761
4762 @node Q4.6.5, Q4.6.6, Q4.6.4, Display
4763 @unnumberedsubsec Q4.6.5: Scrolling one line at a time.
4764
4765 Can the cursor keys scroll the screen a line at a time, rather than the
4766 default half page jump? I tend it to find it disorienting.
4767
4768 Use the following:
4769
4770 @lisp
4771 (setq scroll-step 1)
4772 @end lisp
4773
4774 You can also change this with Customize. Select from the
4775 @code{Options} menu
4776 @code{Advanced (Customize)->Emacs->Environment->Windows->Scroll Step...}
4777 or type @kbd{M-x customize @key{RET} windows @key{RET}}.
4778
4779 @node Q4.6.6, Q4.6.7, Q4.6.5, Display
4780 @unnumberedsubsec Q4.6.6: How can I turn off automatic horizontal scrolling in specific modes?
4781
4782 Do @code{(setq truncate-lines t)} in the mode-hooks for any modes
4783 in which you want lines truncated.
4784
4785 More precisely: If @code{truncate-lines} is nil, horizontal scrollbars
4786 will never appear. Otherwise, they will appear only if the value of
4787 @code{scrollbar-height} for that buffer/window/etc. is non-zero. If you
4788 do
4789
4790 @lisp
4791 (set-specifier scrollbar-height 0)
4792 @end lisp
4793
4794 then horizontal scrollbars will not appear in truncated buffers unless
4795 the package specifically asked for them.
4796
4797 @node Q4.6.7, Q4.7.1, Q4.6.6, Display
4798 @unnumberedsubsec Q4.6.7: I find auto-show-mode disconcerting. How do I turn it off?
4799
4800 @code{auto-show-mode} controls whether or not a horizontal scrollbar
4801 magically appears when a line is too long to be displayed. This is
4802 enabled by default. To turn it off, put the following in your
4803 @file{init.el}:
4804
4805 @lisp
4806 (setq auto-show-mode nil)
4807 (setq-default auto-show-mode nil)
4808 @end lisp
4809
4810 @unnumberedsec 4.7: The Gutter Tabs, The Progress Bar, Widgets
4811
4812 @node Q4.7.1, Q4.7.2, Q4.6.7, Display
4813 @unnumberedsubsec Q4.7.1: How can I disable the gutter tabs?
4814
4815 #### Write me.
4816
4817 @node Q4.7.2, Q4.7.3, Q4.7.1, Display
4818 @unnumberedsubsec Q4.7.2: How can I disable the progress bar?
4819
4820 #### Write me.
4821
4822 @node Q4.7.3, Q4.7.4, Q4.7.2, Display
4823 @unnumberedsubsec Q4.7.3: There are bugs in the gutter or widgets.
4824
4825 #### Write me.
4826
4827 @node Q4.7.4, , Q4.7.3, Display
4828 @unnumberedsubsec Q4.7.4: How can I customize the gutter or gutter tabs?
4829
4830 #### Write me.
4831
4832 @node External Subsystems, Internet, Display, Top
4833 @unnumbered 5 Interfacing with the Operating System and External Devices
4834
4835 This is part 5 of the XEmacs Frequently Asked Questions list. This
5042 section is devoted to the various ways that XEmacs interfaces with the 4836 section is devoted to the various ways that XEmacs interfaces with the
5043 operating system, with other processes and with external devices such 4837 operating system, with other processes and with external devices such
5044 as speakers and the printer. 4838 as speakers and the printer.
5045 4839
5046 @menu 4840 @menu
5047 4.0: X Window System and Resources 4841 5.0: X Window System and Resources
5048 * Q4.0.1:: Where is a list of X resources? 4842 * Q5.0.1:: Where is a list of X resources?
5049 * Q4.0.2:: How can I detect a color display? 4843 * Q5.0.2:: How can I detect a color display?
5050 * Q4.0.3:: How can I get the icon to just say @samp{XEmacs}? 4844 * Q5.0.3:: How can I get the icon to just say @samp{XEmacs}?
5051 * Q4.0.4:: How can I have the window title area display the full path? 4845 * Q5.0.4:: How can I have the window title area display the full path?
5052 * Q4.0.5:: @samp{xemacs -name junk} doesn't work? 4846 * Q5.0.5:: @samp{xemacs -name junk} doesn't work?
5053 * Q4.0.6:: @samp{-iconic} doesn't work. 4847 * Q5.0.6:: @samp{-iconic} doesn't work.
5054 4848
5055 4.1: Microsoft Windows 4849 5.1: Microsoft Windows
5056 * Q4.1.1:: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}? 4850 * Q5.1.1:: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
5057 * Q4.1.2:: How do I get Windows Explorer to associate a file type with XEmacs? 4851 * Q5.1.2:: How do I get Windows Explorer to associate a file type with XEmacs?
5058 4852
5059 4.2: Printing 4853 5.2: Printing
5060 * Q4.2.1:: What do I need to change to make printing work? 4854 * Q5.2.1:: What do I need to change to make printing work?
5061 * Q4.2.2:: How can I print WYSIWYG a font-locked buffer? 4855 * Q5.2.2:: How can I print WYSIWYG a font-locked buffer?
5062 * Q4.2.3:: Getting @kbd{M-x lpr} to work with postscript printer. 4856 * Q5.2.3:: Getting @kbd{M-x lpr} to work with postscript printer.
5063 * Q4.2.4:: Can you print under MS Windows? 4857 * Q5.2.4:: Can you print under MS Windows?
5064 4858
5065 4.3: Sound 4859 5.3: Sound
5066 * Q4.3.1:: How do I turn off the sound? 4860 * Q5.3.1:: How do I turn off the sound?
5067 * Q4.3.2:: How do I get funky sounds instead of a boring beep? 4861 * Q5.3.2:: How do I get funky sounds instead of a boring beep?
5068 * Q4.3.3:: What's NAS, how do I get it? 4862 * Q5.3.3:: What are NAS and ESD (EsounD)?
5069 * Q4.3.4:: Sunsite sounds don't play. 4863 * Q5.3.4:: Sunsite sounds don't play.
5070 4864
5071 4.4: Running an Interior Shell, Invoking Subprocesses 4865 5.4: Running an Interior Shell, Invoking Subprocesses
5072 * Q4.4.1:: What is an interior shell? 4866 * Q5.4.1:: What is an interior shell?
5073 * Q4.4.2:: How do I start up a second shell buffer? 4867 * Q5.4.2:: How do I start up a second shell buffer?
5074 * Q4.4.3:: Telnet from shell filters too much 4868 * Q5.4.3:: Telnet from shell filters too much
5075 * Q4.4.4:: Strange things are happening in Shell Mode. 4869 * Q5.4.4:: Strange things are happening in Shell Mode.
5076 * Q4.4.5:: XEmacs complains "No such file or directory, diff" 4870 * Q5.4.5:: XEmacs complains "No such file or directory, diff"
5077 4871
5078 4.5: Multiple Device Support 4872 5.5: Multiple Device Support
5079 * Q4.5.1:: How do I open a frame on another screen of my multi-headed display? 4873 * Q5.5.1:: How do I open a frame on another screen of my multi-headed display?
5080 * Q4.5.2:: Can I really connect to a running XEmacs after calling up over a modem? How? 4874 * Q5.5.2:: Can I really connect to a running XEmacs after calling up over a modem? How?
5081 * Q4.5.3:: How do I disable gnuserv from opening a new frame? 4875 * Q5.5.3:: How do I disable gnuserv from opening a new frame?
5082 * Q4.5.4:: How do I start gnuserv so that each subsequent XEmacs is a client? 4876 * Q5.5.4:: How do I start gnuserv so that each subsequent XEmacs is a client?
5083 * Q4.5.5:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? 4877 * Q5.5.5:: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
5084
5085 4.6: TeX
5086 * Q4.6.1:: Is there something better than LaTeX mode?
5087 * Q4.6.2:: What is AUCTeX? Where do you get it?
5088 * Q4.6.3:: Problems installing AUCTeX.
5089 * Q4.6.4:: How do I turn off current chapter from AUCTeX modeline?
5090
5091 4.7: Other Unbundled Packages
5092 * Q4.7.1:: Is there a reason for an Emacs package not to be included in XEmacs?
5093 * Q4.7.2:: Are there any Emacs Lisp Spreadsheets?
5094 * Q4.7.3:: Is there a MatLab mode?
5095
5096 4.8: Environments Built Around XEmacs
5097 * Q4.8.1:: What are SPARCworks, EOS, and WorkShop?
5098 * Q4.8.2:: How do I start the Sun Workshop support in XEmacs 21?
5099 * Q4.8.3:: What is/was Energize?
5100 * Q4.8.4:: What is Infodock?
5101 @end menu 4878 @end menu
5102 4879
5103 @unnumberedsec 4.0: X Window System and Resources 4880 @unnumberedsec 5.0: X Window System and Resources
5104 4881
5105 @node Q4.0.1, Q4.0.2, External Subsystems, External Subsystems 4882 @node Q5.0.1, Q5.0.2, External Subsystems, External Subsystems
5106 @unnumberedsubsec Q4.0.1: Where is a list of X resources? 4883 @unnumberedsubsec Q5.0.1: Where is a list of X resources?
5107 4884
5108 Search through the @file{NEWS} file for @samp{X Resources}. A fairly 4885 Search through the @file{NEWS} file for @samp{X Resources}. A fairly
5109 comprehensive list is given after it. 4886 comprehensive list is given after it.
5110 4887
5111 In addition, an @file{app-defaults} file @file{etc/Emacs.ad} is 4888 In addition, an @file{app-defaults} file @file{etc/Emacs.ad} is
5114 installation in your @file{~/.Xresources} file. It is nearly the same 4891 installation in your @file{~/.Xresources} file. It is nearly the same
5115 as @file{etc/Emacs.ad}, but a few entries are altered. Be careful about 4892 as @file{etc/Emacs.ad}, but a few entries are altered. Be careful about
5116 installing the contents of this file into your @file{.Xresources} (or 4893 installing the contents of this file into your @file{.Xresources} (or
5117 legacy @file{.Xdefaults}) file if you use GNU Emacs under X11 as well. 4894 legacy @file{.Xdefaults}) file if you use GNU Emacs under X11 as well.
5118 4895
5119 @node Q4.0.2, Q4.0.3, Q4.0.1, External Subsystems 4896 @node Q5.0.2, Q5.0.3, Q5.0.1, External Subsystems
5120 @unnumberedsubsec Q4.0.2: How can I detect a color display? 4897 @unnumberedsubsec Q5.0.2: How can I detect a color display?
5121 4898
5122 You can test the return value of the function @code{(device-class)}, as 4899 You can test the return value of the function @code{(device-class)}, as
5123 in: 4900 in:
5124 4901
5125 @lisp 4902 @lisp
5128 (set-face-foreground 'font-lock-string-face "Red") 4905 (set-face-foreground 'font-lock-string-face "Red")
5129 .... 4906 ....
5130 ) 4907 )
5131 @end lisp 4908 @end lisp
5132 4909
5133 @node Q4.0.3, Q4.0.4, Q4.0.2, External Subsystems 4910 @node Q5.0.3, Q5.0.4, Q5.0.2, External Subsystems
5134 @unnumberedsubsec Q4.0.3: How can I get the icon to just say @samp{XEmacs}? 4911 @unnumberedsubsec Q5.0.3: How can I get the icon to just say @samp{XEmacs}?
5135 4912
5136 I'd like the icon to just say @samp{XEmacs}, and not include the name of 4913 I'd like the icon to just say @samp{XEmacs}, and not include the name of
5137 the current file in it. 4914 the current file in it.
5138 4915
5139 Add the following line to your @file{init.el}: 4916 Add the following line to your @file{init.el}:
5140 4917
5141 @lisp 4918 @lisp
5142 (setq frame-icon-title-format "XEmacs") 4919 (setq frame-icon-title-format "XEmacs")
5143 @end lisp 4920 @end lisp
5144 4921
5145 @node Q4.0.4, Q4.0.5, Q4.0.3, External Subsystems 4922 @node Q5.0.4, Q5.0.5, Q5.0.3, External Subsystems
5146 @unnumberedsubsec Q4.0.4: How can I have the window title area display the full path? 4923 @unnumberedsubsec Q5.0.4: How can I have the window title area display the full path?
5147 4924
5148 I'd like to have the window title area display the full directory/name 4925 I'd like to have the window title area display the full directory/name
5149 of the current buffer file and not just the name. 4926 of the current buffer file and not just the name.
5150 4927
5151 Add the following line to your @file{init.el}: 4928 Add the following line to your @file{init.el}:
5162 (dired-directory dired-directory "%b")))) 4939 (dired-directory dired-directory "%b"))))
5163 @end lisp 4940 @end lisp
5164 4941
5165 That is, use the file name, or the dired-directory, or the buffer name. 4942 That is, use the file name, or the dired-directory, or the buffer name.
5166 4943
5167 @node Q4.0.5, Q4.0.6, Q4.0.4, External Subsystems 4944 @node Q5.0.5, Q5.0.6, Q5.0.4, External Subsystems
5168 @unnumberedsubsec Q4.0.5: @samp{xemacs -name junk} doesn't work? 4945 @unnumberedsubsec Q5.0.5: @samp{xemacs -name junk} doesn't work?
5169 4946
5170 When I run @samp{xterm -name junk}, I get an xterm whose class name 4947 When I run @samp{xterm -name junk}, I get an xterm whose class name
5171 according to xprop, is @samp{junk}. This is the way it's supposed to 4948 according to xprop, is @samp{junk}. This is the way it's supposed to
5172 work, I think. When I run @samp{xemacs -name junk} the class name is 4949 work, I think. When I run @samp{xemacs -name junk} the class name is
5173 not set to @samp{junk}. It's still @samp{emacs}. What does 4950 not set to @samp{junk}. It's still @samp{emacs}. What does
5213 4990
5214 @lisp 4991 @lisp
5215 (make-frame '((name . "the-name"))) 4992 (make-frame '((name . "the-name")))
5216 @end lisp 4993 @end lisp
5217 4994
5218 @node Q4.0.6, Q4.1.1, Q4.0.5, External Subsystems 4995 @node Q5.0.6, Q5.1.1, Q5.0.5, External Subsystems
5219 @unnumberedsubsec Q4.0.6: @samp{-iconic} doesn't work. 4996 @unnumberedsubsec Q5.0.6: @samp{-iconic} doesn't work.
5220 4997
5221 When I start up XEmacs using @samp{-iconic} it doesn't work right. 4998 When I start up XEmacs using @samp{-iconic} it doesn't work right.
5222 Using @samp{-unmapped} on the command line, and setting the 4999 Using @samp{-unmapped} on the command line, and setting the
5223 @code{initiallyUnmapped} X Resource don't seem to help much either... 5000 @code{initiallyUnmapped} X Resource don't seem to help much either...
5224 5001
5228 Ugh, this stuff is such an incredible mess that I've about given up 5005 Ugh, this stuff is such an incredible mess that I've about given up
5229 getting it to work. The principal problem is numerous window-manager 5006 getting it to work. The principal problem is numerous window-manager
5230 bugs... 5007 bugs...
5231 @end quotation 5008 @end quotation
5232 5009
5233 @unnumberedsec 4.1: Microsoft Windows 5010 @unnumberedsec 5.1: Microsoft Windows
5234 5011
5235 @node Q4.1.1, Q4.1.2, Q4.0.6, External Subsystems 5012 @node Q5.1.1, Q5.1.2, Q5.0.6, External Subsystems
5236 @unnumberedsubsec Q4.1.1: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}? 5013 @unnumberedsubsec Q5.1.1: Does XEmacs rename all the @samp{win32-*} symbols to @samp{w32-*}?
5237 5014
5238 In his flavor of Emacs 20, Richard Stallman has renamed all the @samp{win32-*} 5015 In his flavor of Emacs 20, Richard Stallman has renamed all the @samp{win32-*}
5239 symbols to @samp{w32-*}. Does XEmacs do the same? 5016 symbols to @samp{w32-*}. Does XEmacs do the same?
5240 5017
5241 We consider such a move counter-productive, thus we do not use the 5018 We consider such a move counter-productive, thus we do not use the
5258 @c The user variables 5035 @c The user variables
5259 @c that share functionality with existing NT Emacs variables are be named 5036 @c that share functionality with existing NT Emacs variables are be named
5260 @c with our convention, but we provide the GNU Emacs names as 5037 @c with our convention, but we provide the GNU Emacs names as
5261 @c compatibility aliases. 5038 @c compatibility aliases.
5262 5039
5263 @node Q4.1.2, Q4.2.1, Q4.1.1, External Subsystems 5040 @node Q5.1.2, Q5.2.1, Q5.1.1, External Subsystems
5264 @unnumberedsubsec Q4.1.2: How do I get Windows Explorer to associate a file type with XEmacs? 5041 @unnumberedsubsec Q5.1.2: How do I get Windows Explorer to associate a file type with XEmacs?
5265 5042
5266 @unnumberedsubsubsec Associating a new file type with XEmacs. 5043 @unnumberedsubsubsec Associating a new file type with XEmacs.
5267 5044
5268 In Explorer select @samp{View->Options->File Types}, press @samp{[New 5045 In Explorer select @samp{View->Options->File Types}, press @samp{[New
5269 Type...]} and fill in the dialog box, e.g.: 5046 Type...]} and fill in the dialog box, e.g.:
5312 it and pressing @samp{Set Default}. 5089 it and pressing @samp{Set Default}.
5313 5090
5314 Note for Windows 2000 users: Under Windows 2000, get to @samp{File Types} 5091 Note for Windows 2000 users: Under Windows 2000, get to @samp{File Types}
5315 using @samp{Control Panel->Folder Options->File Types}. 5092 using @samp{Control Panel->Folder Options->File Types}.
5316 5093
5317 @unnumberedsec 4.2: Printing 5094 @unnumberedsec 5.2: Printing
5318 5095
5319 @node Q4.2.1, Q4.2.2, Q4.1.2, External Subsystems 5096 @node Q5.2.1, Q5.2.2, Q5.1.2, External Subsystems
5320 @unnumberedsubsec Q4.2.1: What do I need to change to make printing work? 5097 @unnumberedsubsec Q5.2.1: What do I need to change to make printing work?
5321 5098
5322 For regular printing there are two variables that can be customized. 5099 For regular printing there are two variables that can be customized.
5323 5100
5324 @table @code 5101 @table @code
5325 @item lpr-command 5102 @item lpr-command
5358 5135
5359 NOTE: It is an undocumented limitation in XEmacs that postscript 5136 NOTE: It is an undocumented limitation in XEmacs that postscript
5360 printing (the @code{Pretty Print Buffer} menu item) @strong{requires} a 5137 printing (the @code{Pretty Print Buffer} menu item) @strong{requires} a
5361 window system environment. It cannot be used outside of X11. 5138 window system environment. It cannot be used outside of X11.
5362 5139
5363 @node Q4.2.2, Q4.2.3, Q4.2.1, External Subsystems 5140 @node Q5.2.2, Q5.2.3, Q5.2.1, External Subsystems
5364 @unnumberedsubsec Q4.2.2: How can I print WYSIWYG a font-locked buffer? 5141 @unnumberedsubsec Q5.2.2: How can I print WYSIWYG a font-locked buffer?
5365 5142
5366 Font-lock looks nice. How can I print (WYSIWYG) the highlighted 5143 Font-lock looks nice. How can I print (WYSIWYG) the highlighted
5367 document? 5144 document?
5368 5145
5369 The package @code{ps-print}, which is now included with XEmacs, provides 5146 The package @code{ps-print}, which is now included with XEmacs, provides
5370 the ability to do this. The source code contains complete instructions 5147 the ability to do this. The source code contains complete instructions
5371 on its use, in 5148 on its use, in
5372 @file{$prefix/lib/xemacs/xemacs-packages/lisp/ps-print/ps-print.el}, 5149 @file{$prefix/lib/xemacs/xemacs-packages/lisp/ps-print/ps-print.el},
5373 being the default location of an installed ps-print package. 5150 being the default location of an installed ps-print package.
5374 5151
5375 @node Q4.2.3, Q4.2.4, Q4.2.2, External Subsystems 5152 @node Q5.2.3, Q5.2.4, Q5.2.2, External Subsystems
5376 @unnumberedsubsec Q4.2.3: Getting @kbd{M-x lpr} to work with postscript printer. 5153 @unnumberedsubsec Q5.2.3: Getting @kbd{M-x lpr} to work with postscript printer.
5377 5154
5378 My printer is a Postscript printer and @code{lpr} only works for 5155 My printer is a Postscript printer and @code{lpr} only works for
5379 Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x 5156 Postscript files, so how do I get @kbd{M-x lpr-region} and @kbd{M-x
5380 lpr-buffer} to work? 5157 lpr-buffer} to work?
5381 5158
5388 5165
5389 If you don't use a2ps to convert ASCII to postscript (why not, it's 5166 If you don't use a2ps to convert ASCII to postscript (why not, it's
5390 free?), replace with the command you do use. Note also that some 5167 free?), replace with the command you do use. Note also that some
5391 versions of a2ps require a @samp{-Pprinter} to ensure spooling. 5168 versions of a2ps require a @samp{-Pprinter} to ensure spooling.
5392 5169
5393 @node Q4.2.4, Q4.3.1, Q4.2.3, External Subsystems 5170 @node Q5.2.4, Q5.3.1, Q5.2.3, External Subsystems
5394 @unnumberedsubsec Q4.2.4: Can you print under MS Windows? 5171 @unnumberedsubsec Q5.2.4: Can you print under MS Windows?
5395 5172
5396 As of 21.4, printing works on Windows, using simply 5173 As of 21.4, printing works on Windows, using simply
5397 @samp{File->Print BUFFER...}, and can be configured with 5174 @samp{File->Print BUFFER...}, and can be configured with
5398 @samp{File->Page Setup...}. 5175 @samp{File->Page Setup...}.
5399 5176
5400 Prior to 21.4, there is no built-in support, but there are some clever 5177 Prior to 21.4, there is no built-in support, but there are some clever
5401 hacks out there. If you know how, please let us know and we'll put it 5178 hacks out there. If you know how, please let us know and we'll put it
5402 here. 5179 here.
5403 5180
5404 @unnumberedsec 4.3: Sound 5181 @unnumberedsec 5.3: Sound
5405 5182
5406 @node Q4.3.1, Q4.3.2, Q4.2.4, External Subsystems 5183 @node Q5.3.1, Q5.3.2, Q5.2.4, External Subsystems
5407 @unnumberedsubsec Q4.3.1: How do I turn off the sound? 5184 @unnumberedsubsec Q5.3.1: How do I turn off the sound?
5408 5185
5409 Add the following line to your @file{init.el}: 5186 Add the following line to your @file{init.el}:
5410 5187
5411 @lisp 5188 @lisp
5412 (setq bell-volume 0) 5189 (setq bell-volume 0)
5420 @code{Options} menu @code{Advanced 5197 @code{Options} menu @code{Advanced
5421 (Customize)->Emacs->Environment->Sound->Sound...} or type @kbd{M-x 5198 (Customize)->Emacs->Environment->Sound->Sound...} or type @kbd{M-x
5422 customize @key{RET} sound @key{RET}}. 5199 customize @key{RET} sound @key{RET}}.
5423 5200
5424 5201
5425 @node Q4.3.2, Q4.3.3, Q4.3.1, External Subsystems 5202 @node Q5.3.2, Q5.3.3, Q5.3.1, External Subsystems
5426 @unnumberedsubsec Q4.3.2: How do I get funky sounds instead of a boring beep? 5203 @unnumberedsubsec Q5.3.2: How do I get funky sounds instead of a boring beep?
5427 5204
5428 Make sure your XEmacs was compiled with sound support, and then put this 5205 Make sure your XEmacs was compiled with sound support, and then put this
5429 in your @file{init.el}: 5206 in your @file{init.el}:
5430 5207
5431 @lisp 5208 @lisp
5432 (load-default-sounds) 5209 (load-default-sounds)
5433 @end lisp 5210 @end lisp
5434 5211
5435 @node Q4.3.3, Q4.3.4, Q4.3.2, External Subsystems 5212 @node Q5.3.3, Q5.3.4, Q5.3.2, External Subsystems
5436 @unnumberedsubsec Q4.3.3: What's NAS, how do I get it? 5213 @unnumberedsubsec Q5.3.3: What are NAS and ESD (EsounD)?
5437 5214
5438 @xref{Q2.1.3, Compiling XEmacs with Netaudio}, for an explanation of 5215 @dfn{Network Audio System} (NAS) is a client-server sound library for X.
5439 the @dfn{Network Audio System}. 5216
5440 5217 @uref{http://radscan.com/nas.html}.
5441 @node Q4.3.4, Q4.4.1, Q4.3.3, External Subsystems 5218
5442 @unnumberedsubsec Q4.3.4: Sunsite sounds don't play. 5219 To build XEmacs with it, use the @file{configure} flag @samp{--with-sound=nas}.
5220
5221 @dfn{Enlightened Sound Daemon} (ESD or EsounD) is yet another sound system.
5222
5223 @uref{http://www.tux.org/~ricdude/EsounD.html}.
5224
5225 To build XEmacs with it, use the @file{configure} flag @samp{--with-sound=esd}.
5226
5227 You can specify support for both with a flag like @samp{--with-sound=nas,esd}.
5228
5229 @node Q5.3.4, Q5.4.1, Q5.3.3, External Subsystems
5230 @unnumberedsubsec Q5.3.4: Sunsite sounds don't play.
5443 5231
5444 I'm having some trouble with sounds I've downloaded from sunsite. They 5232 I'm having some trouble with sounds I've downloaded from sunsite. They
5445 play when I run them through @code{showaudio} or cat them directly to 5233 play when I run them through @code{showaudio} or cat them directly to
5446 @file{/dev/audio}, but XEmacs refuses to play them. 5234 @file{/dev/audio}, but XEmacs refuses to play them.
5447 5235
5455 probably possible to fix the header by piping through @code{sox} and 5243 probably possible to fix the header by piping through @code{sox} and
5456 passing explicit parameters for specifying the sampling format; you then 5244 passing explicit parameters for specifying the sampling format; you then
5457 need to perform a 'null' conversion from SunAudio to SunAudio. 5245 need to perform a 'null' conversion from SunAudio to SunAudio.
5458 @end quotation 5246 @end quotation
5459 5247
5460 @unnumberedsec 4.4: Running an Interior Shell, Invoking Subprocesses 5248 @unnumberedsec 5.4: Running an Interior Shell, Invoking Subprocesses
5461 5249
5462 @node Q4.4.1, Q4.4.2, Q4.3.4, External Subsystems 5250 @node Q5.4.1, Q5.4.2, Q5.3.4, External Subsystems
5463 @unnumberedsubsec Q4.4.1: What is an interior shell? 5251 @unnumberedsubsec Q5.4.1: What is an interior shell?
5464 5252
5465 #### Write me. 5253 #### Write me.
5466 5254
5467 @node Q4.4.2, Q4.4.3, Q4.4.1, External Subsystems 5255 @node Q5.4.2, Q5.4.3, Q5.4.1, External Subsystems
5468 @unnumberedsubsec Q4.4.2: How do I start up a second shell buffer? 5256 @unnumberedsubsec Q5.4.2: How do I start up a second shell buffer?
5469 5257
5470 In the @code{*shell*} buffer: 5258 In the @code{*shell*} buffer:
5471 5259
5472 @lisp 5260 @lisp
5473 M-x rename-buffer @key{RET} *shell-1* @key{RET} 5261 M-x rename-buffer @key{RET} *shell-1* @key{RET}
5481 5269
5482 Alternately, you can set the variable @code{shell-multiple-shells}. 5270 Alternately, you can set the variable @code{shell-multiple-shells}.
5483 If the value of this variable is non-nil, each time shell mode is invoked, 5271 If the value of this variable is non-nil, each time shell mode is invoked,
5484 a new shell is made 5272 a new shell is made
5485 5273
5486 @node Q4.4.3, Q4.4.4, Q4.4.2, External Subsystems 5274 @node Q5.4.3, Q5.4.4, Q5.4.2, External Subsystems
5487 @unnumberedsubsec Q4.4.3: Telnet from shell filters too much 5275 @unnumberedsubsec Q5.4.3: Telnet from shell filters too much
5488 5276
5489 I'm using the Emacs @kbd{M-x shell} function, and I would like to invoke 5277 I'm using the Emacs @kbd{M-x shell} function, and I would like to invoke
5490 and use a telnet session within it. Everything works fine except that 5278 and use a telnet session within it. Everything works fine except that
5491 now all @samp{^M}'s are filtered out by Emacs. Fixes? 5279 now all @samp{^M}'s are filtered out by Emacs. Fixes?
5492 5280
5493 Use @kbd{M-x rsh} or @kbd{M-x telnet} to open remote sessions rather 5281 Use @kbd{M-x rsh} or @kbd{M-x telnet} to open remote sessions rather
5494 than doing rsh or telnet within the local shell buffer. You can also 5282 than doing rsh or telnet within the local shell buffer. You can also
5495 use @kbd{M-x ssh} to open secure remote session if you have @code{ssh} 5283 use @kbd{M-x ssh} to open secure remote session if you have @code{ssh}
5496 installed. 5284 installed.
5497 5285
5498 @node Q4.4.4, Q4.4.5, Q4.4.3, External Subsystems 5286 @node Q5.4.4, Q5.4.5, Q5.4.3, External Subsystems
5499 @unnumberedsubsec Q4.4.4: Strange things are happening in Shell Mode. 5287 @unnumberedsubsec Q5.4.4: Strange things are happening in Shell Mode.
5500 5288
5501 Sometimes (i.e. it's not repeatable, and I can't work out why it 5289 Sometimes (i.e. it's not repeatable, and I can't work out why it
5502 happens) when I'm typing into shell mode, I hit return and only a 5290 happens) when I'm typing into shell mode, I hit return and only a
5503 portion of the command is given to the shell, and a blank prompt is 5291 portion of the command is given to the shell, and a blank prompt is
5504 returned. If I hit return again, the rest of the previous command is 5292 returned. If I hit return again, the rest of the previous command is
5514 @example 5302 @example
5515 if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec 5303 if ( "$TERM" == emacs || "$TERM" == unknown ) unset filec
5516 @end example 5304 @end example
5517 @end quotation 5305 @end quotation
5518 5306
5519 @node Q4.4.5, Q4.5.1, Q4.4.4, External Subsystems 5307 @node Q5.4.5, Q5.5.1, Q5.4.4, External Subsystems
5520 @unnumberedsubsec Q4.4.5: XEmacs complains "No such file or directory, diff" 5308 @unnumberedsubsec Q5.4.5: XEmacs complains "No such file or directory, diff"
5521 5309
5522 or "ispell" or other commands that seem related to whatever you just 5310 or "ispell" or other commands that seem related to whatever you just
5523 tried to do (M-x ediff or M-$, for example). 5311 tried to do (M-x ediff or M-$, for example).
5524 5312
5525 There are a large number of common (in the sense that "everyone has 5313 There are a large number of common (in the sense that "everyone has
5529 provides a complete Unix emulation environment (and thus makes ports of 5317 provides a complete Unix emulation environment (and thus makes ports of
5530 Unix utilities nearly trivial). Another implementation is that from 5318 Unix utilities nearly trivial). Another implementation is that from
5531 MinGW (@uref{http://www.mingw.org/msys.shtml}). If you know of others, 5319 MinGW (@uref{http://www.mingw.org/msys.shtml}). If you know of others,
5532 please let us know! 5320 please let us know!
5533 5321
5534 @unnumberedsec 4.5: Multiple Device Support 5322 @unnumberedsec 5.5: Multiple Device Support
5535 5323
5536 @node Q4.5.1, Q4.5.2, Q4.4.5, External Subsystems 5324 @node Q5.5.1, Q5.5.2, Q5.4.5, External Subsystems
5537 @unnumberedsubsec Q4.5.1: How do I open a frame on another screen of my multi-headed display? 5325 @unnumberedsubsec Q5.5.1: How do I open a frame on another screen of my multi-headed display?
5538 5326
5539 Use the command @kbd{M-x make-frame-on-display}. This command is also 5327 Use the command @kbd{M-x make-frame-on-display}. This command is also
5540 on the File menu in the menubar. 5328 on the File menu in the menubar.
5541 5329
5542 The command @code{make-frame-on-tty} also exists, which will establish a 5330 The command @code{make-frame-on-tty} also exists, which will establish a
5543 connection to any tty-like device. Opening the TTY devices should be 5331 connection to any tty-like device. Opening the TTY devices should be
5544 left to @code{gnuclient}, though. 5332 left to @code{gnuclient}, though.
5545 5333
5546 @node Q4.5.2, Q4.5.3, Q4.5.1, External Subsystems 5334 @node Q5.5.2, Q5.5.3, Q5.5.1, External Subsystems
5547 @unnumberedsubsec Q4.5.2: Can I really connect to a running XEmacs after calling up over a modem? How? 5335 @unnumberedsubsec Q5.5.2: Can I really connect to a running XEmacs after calling up over a modem? How?
5548 5336
5549 Yes. Use @code{gnuclient -nw}. (Prior to 20.3, use the @code{gnuattach} 5337 Yes. Use @code{gnuclient -nw}.
5550 program supplied with XEmacs instead.) 5338
5551 5339 Also see @ref{Q5.5.3, How do I disable gnuserv from opening a new frame?}.
5552 Also see @ref{Q4.5.3, How do I disable gnuserv from opening a new frame?}. 5340
5553 5341 @node Q5.5.3, Q5.5.4, Q5.5.2, External Subsystems
5554 @node Q4.5.3, Q4.5.4, Q4.5.2, External Subsystems 5342 @unnumberedsubsec Q5.5.3: How do I disable gnuserv from opening a new frame?
5555 @unnumberedsubsec Q4.5.3: How do I disable gnuserv from opening a new frame?
5556 5343
5557 If you set the @code{gnuserv-frame} variable to the frame that should be 5344 If you set the @code{gnuserv-frame} variable to the frame that should be
5558 used to display buffers that are pulled up, a new frame will not be 5345 used to display buffers that are pulled up, a new frame will not be
5559 created. For example, you could put 5346 created. For example, you could put
5560 5347
5572 @code{Options} menu @code{Advanced 5359 @code{Options} menu @code{Advanced
5573 (Customize)->Emacs->Environment->Gnuserv->Gnuserv Frame...} or type 5360 (Customize)->Emacs->Environment->Gnuserv->Gnuserv Frame...} or type
5574 @kbd{M-x customize @key{RET} gnuserv @key{RET}}. 5361 @kbd{M-x customize @key{RET} gnuserv @key{RET}}.
5575 5362
5576 5363
5577 @node Q4.5.4, Q4.5.5, Q4.5.3, External Subsystems 5364 @node Q5.5.4, Q5.5.5, Q5.5.3, External Subsystems
5578 @unnumberedsubsec Q4.5.4: How do I start gnuserv so that each subsequent XEmacs is a client? 5365 @unnumberedsubsec Q5.5.4: How do I start gnuserv so that each subsequent XEmacs is a client?
5579 5366
5580 Put the following in your @file{init.el} file to start the server: 5367 Put the following in your @file{init.el} file to start the server:
5581 5368
5582 @lisp 5369 @lisp
5583 (gnuserv-start) 5370 (gnuserv-start)
5594 randomfilename, hit @kbd{C-x #} to kill the buffer and get rid of the 5381 randomfilename, hit @kbd{C-x #} to kill the buffer and get rid of the
5595 frame. 5382 frame.
5596 5383
5597 See also man page of gnuclient. 5384 See also man page of gnuclient.
5598 5385
5599 @node Q4.5.5, Q4.6.1, Q4.5.4, External Subsystems 5386 @node Q5.5.5, , Q5.5.4, External Subsystems
5600 @unnumberedsubsec Q4.5.5: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient? 5387 @unnumberedsubsec Q5.5.5: Is there a way to start a new XEmacs if there's no gnuserv running, and otherwise use gnuclient?
5601 5388
5602 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes: 5389 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes:
5603 @quotation 5390 @quotation
5604 Here is one of the solutions, we have this in a script called 5391 Here is one of the solutions, we have this in a script called
5605 @file{etc/editclient.sh}. 5392 @file{etc/editclient.sh}.
5620 5407
5621 Note that there is a known problem when running XEmacs and 'gnuclient 5408 Note that there is a known problem when running XEmacs and 'gnuclient
5622 -nw' on the same TTY. 5409 -nw' on the same TTY.
5623 @end quotation 5410 @end quotation
5624 5411
5625 @unnumberedsec 4.6: TeX
5626
5627 @node Q4.6.1, Q4.6.2, Q4.5.5, External Subsystems
5628 @unnumberedsubsec Q4.6.1: Is there something better than LaTeX mode?
5629
5630 @email{dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de, David Kastrup} writes:
5631
5632 @quotation
5633 The standard TeX modes leave much to be desired, and are somewhat
5634 leniently maintained. Serious TeX users use AUCTeX (@pxref{Q4.6.2,
5635 What is AUCTeX? Where do you get it?}).
5636 @end quotation
5637
5638 @node Q4.6.2, Q4.6.3, Q4.6.1, External Subsystems
5639 @unnumberedsubsec Q4.6.2: What is AUCTeX? Where do you get it?
5640
5641 AUCTeX is a complex and sophisticated editing package dedicated to TeX
5642 and related text formatting languages, including LaTeX and Texinfo.
5643 It provides support for running TeX on a file or part of a file,
5644 include files, and of course shortcuts for entering common TeX macros,
5645 LaTeX environments, etc, and for fontlock.
5646
5647 AUCTeX is a standard package provided by XEmacs. You can get it as
5648 usual through the @kbd{M-x list-packages} interface. It is also
5649 included in the (non-Mule) SUMO package. The AUCTeX XEmacs package is
5650 maintained by Uwe Brauer <GET MAIL ADDRESS>.
5651
5652 AUCTeX is extremely complicated, and its developers primarily
5653 use GNU Emacs. Not all features of the bleeding edge version
5654 of AUCTeX are immediately ported to XEmacs; if you need
5655 these, you may be better off getting the most recent versions
5656 from the GNU AUCTeX project on @uref{http://savannah.gnu.org}.
5657
5658 @node Q4.6.3, Q4.6.4, Q4.6.2, External Subsystems
5659 @unnumberedsubsec Q4.6.3: Problems installing AUCTeX.
5660
5661 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes:
5662
5663 @quotation
5664 AUCTeX works fine on both stock Emacs and XEmacs has been doing so for
5665 a very very long time. This is mostly due to the work of
5666 @email{abraham@@dina.kvl.dk, Per Abrahamsen} (clap clap) in particular his @file{easymenu}
5667 package. Which leads to what is probably the problem...
5668 @end quotation
5669
5670 Most problems with AUCTeX are one of two things:
5671
5672 @itemize @bullet
5673 @item
5674 The TeX-lisp-directory in @file{tex-site.el} and the makefile don't
5675 match.
5676
5677 Fix: make sure you configure AUCTeX properly @strong{before} installing.
5678
5679 @item
5680 You have an old version of easymenu.el in your path.
5681
5682 Fix: use @code{locate-library} and remove old versions to make sure it
5683 @strong{only} finds the one that came with XEmacs.
5684 @end itemize
5685
5686 @node Q4.6.4, Q4.7.1, Q4.6.3, External Subsystems
5687 @unnumberedsubsec Q4.6.4: How do I turn off current chapter from AUCTeX modeline?
5688
5689 With AUCTeX, fast typing is hard because the current chapter, section
5690 etc. are given in the modeline. How can I turn this off?
5691
5692 It's not AUCTeX, it comes from @code{func-menu} in @file{func-menu.el}.
5693
5694 @c Add this code to your @file{init.el} to turn it off:
5695 @c
5696 @c @lisp
5697 @c (setq fume-display-in-modeline-p nil)
5698 @c @end lisp
5699 @c
5700 @c Or just add a hook to @code{TeX-mode-hook} to turn it off only for TeX
5701 @c mode:
5702 @c
5703 @c @lisp
5704 @c (add-hook 'TeX-mode-hook
5705 @c '(lambda () (setq fume-display-in-modeline-p nil)))
5706 @c @end lisp
5707 @c
5708 @email{dhughes@@origin-at.co.uk, David Hughes} writes:
5709
5710 @quotation
5711 Try this; you'll still get the function name displayed in the modeline,
5712 but it won't attempt to keep track when you modify the file. To refresh
5713 when it gets out of synch, you simply need click on the @samp{Rescan
5714 Buffer} option in the function-menu.
5715
5716 @lisp
5717 (setq-default fume-auto-rescan-buffer-p nil)
5718 @end lisp
5719 @end quotation
5720
5721 @unnumberedsec 4.7: Other Unbundled Packages
5722
5723 @node Q4.7.1, Q4.7.2, Q4.6.4, External Subsystems
5724 @unnumberedsubsec Q4.7.1: Is there a reason for an Emacs package not to be included in XEmacs?
5725
5726 The reason for an Emacs package not to be included in XEmacs is
5727 usually one or more of the following:
5728
5729 @enumerate
5730 @item
5731 The package has not been ported to XEmacs. This will typically happen
5732 when it uses GNU-Emacs-specific features, which make it fail under
5733 XEmacs.
5734
5735 Porting a package to XEmacs can range from a trivial amount of change to
5736 a partial or full rewrite. Fortunately, the authors of modern packages
5737 usually choose to support both Emacsen themselves.
5738
5739 @item
5740 The package has been decided not to be appropriate for XEmacs. It may
5741 have an equivalent or better replacement within XEmacs, in which case
5742 the developers may choose not to burden themselves with supporting an
5743 additional package.
5744
5745 Each package bundled with XEmacs means more work for the maintainers,
5746 whether they want it or not. If you are ready to take over the
5747 maintenance responsibilities for the package you port, be sure to say
5748 so---we will more likely include it.
5749
5750 @item
5751 The package simply hasn't been noted by the XEmacs development. If
5752 that's the case, the messages like yours are very useful for attracting
5753 our attention.
5754
5755 @item
5756 The package was noted by the developers, but they simply haven't yet
5757 gotten around to including/porting it. Wait for the next release or,
5758 even better, offer your help. It will be gladly accepted and
5759 appreciated.
5760 @end enumerate
5761
5762 @node Q4.7.2, Q4.7.3, Q4.7.1, External Subsystems
5763 @unnumberedsubsec Q4.7.2: Are there any Emacs Lisp Spreadsheets?
5764
5765 Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at
5766 @iftex
5767 @*
5768 @end iftex
5769 @uref{ftp://cs.nyu.edu/pub/local/fox/dismal/}.
5770
5771 @node Q4.7.3, Q4.8.1, Q4.7.2, External Subsystems
5772 @unnumberedsubsec Q4.7.3: Is there a MatLab mode?
5773
5774 Yes, a matlab mode and other items are available at the
5775 @uref{ftp://ftp.mathworks.com/pub/contrib/emacs_add_ons,
5776 MathWorks' emacs_add_ons ftp directory}.
5777
5778 @unnumberedsec 4.8: Environments Built Around XEmacs
5779
5780 @node Q4.8.1, Q4.8.2, Q4.7.3, External Subsystems
5781 @unnumberedsubsec Q4.8.1: What are SPARCworks, EOS, and WorkShop?
5782
5783 SPARCworks was a development environment from Sun (circa 1993-1996)
5784 and consisted of compilers (C, C++, FORTRAN 77, Fortran 90, Ada, and
5785 Pascal), a debugger, and other tools such as TeamWare (for
5786 configuration management), MakeTool, etc.
5787
5788 EOS is the integration of XEmacs with the SPARCworks debugger. It
5789 allows one to use an XEmacs frame to view code (complete with
5790 fontification, etc.), set breakpoints, print variables, etc., while
5791 using the SPARCworks debugger.
5792
5793 EOS stands for "Era on SPARCworks"; Era stood for "Emacs Rewritten
5794 Again" and was the name used by Sun for its modified version of Lucid
5795 Emacs (later XEmacs) in the early-mid 90's. This is documented in
5796 more detail in the history section of the XEmacs About page.
5797
5798 EOS was replaced around 1996 with a newer graphical development
5799 environment called Sun WorkShop. The current status of this is
5800 unknown.
5801
5802 @node Q4.8.2, Q4.8.3, Q4.8.1, External Subsystems
5803 @unnumberedsubsec Q4.8.2: How do I start the Sun Workshop support in XEmacs 21?
5804
5805 Add the switch ---with-workshop to the configure command when building
5806 XEmacs and put the following in one of your startup files
5807 (e.g. site-start.el or .emacs):
5808
5809 @lisp
5810 (when (featurep 'tooltalk)
5811 (load "tooltalk-macros")
5812 (load "tooltalk-util")
5813 (load "tooltalk-init"))
5814 (when (featurep 'sparcworks)
5815 (load "sunpro-init")
5816 (load "ring")
5817 (load "comint")
5818 (load "annotations")
5819 (sunpro-startup))
5820 @end lisp
5821
5822 If you are not using the latest Workshop (5.0) you have to apply the
5823 following patch:
5824
5825 @format
5826 --- /opt/SUNWspro/lib/eserve.el.ORIG Fri May 14 15:23:26 1999
5827 +++ /opt/SUNWspro/lib/eserve.el Fri May 14 15:24:54 1999
5828 @@@@ -42,7 +42,7 @@@@
5829 (defvar running-xemacs nil "t if we're running XEmacs")
5830 (defvar running-emacs nil "t if we're running GNU Emacs 19")
5831
5832 -(if (string-match "^\\(19\\|20\\)\..*\\(XEmacs\\|Lucid\\)" emacs-version)
5833 +(if (string-match "\\(XEmacs\\|Lucid\\)" emacs-version)
5834 (setq running-xemacs t)
5835 (setq running-emacs t))
5836 @end format
5837
5838 @node Q4.8.3, Q4.8.4, Q4.8.2, External Subsystems
5839 @unnumberedsubsec Q4.8.3: What is/was Energize?
5840
5841 The "Energize Programming System" was a C and C++ development environment
5842 sold by Lucid, Inc. It was the reason why Lucid Emacs, now XEmacs, was
5843 created in the first place. Unfortunately, Lucid went out of business in
5844 1994. The rights to sell it in Japan were purchased by INS
5845 Engineering (which briefly employed Stig Hackvan aka Jonathan
5846 Stigelman to work on Japanese support for XEmacs, in late 1994 and
5847 early 1995) and Tartan bought the rights to sell it in the rest of the
5848 world. However, INS is not selling Energize at this point and may or
5849 may not have ever done so; Tartan certainly never did.
5850
5851 @node Q4.8.4, , Q4.8.3, External Subsystems
5852 @unnumberedsubsec Q4.8.4: What is Infodock?
5853
5854 @uref{http://sourceforge.net/projects/infodock/, InfoDock} is an
5855 integrated productivity toolset, mainly aimed at technical people,
5856 hosted at SourceForge.
5857
5858 InfoDock is built atop the XEmacs variant of GNU Emacs and so has all of
5859 the power of Emacs, but with an easier to use and more comprehensive
5860 menu-based user interface. The bottom portion of this text describes
5861 how it differs from XEmacs and GNU Emacs from the Free Software
5862 Foundation.
5863
5864 InfoDock is aimed at people who want a free, turn-key productivity
5865 environment. Although InfoDock is customizable, it is not intended for
5866 people who like basic versions of Emacs which need to be customized
5867 extensively for local use; standard Emacs distributions are better for
5868 such uses. InfoDock is for those people who want a complete,
5869 pre-customized environment in one package, which they need not touch
5870 more than once or twice a year to update to new revisions.
5871
5872 InfoDock is pre-built for SPARC SunOS/Solaris systems, PA-RISC HP-UX,
5873 and Intel Linux systems. It is intended for use on a color display,
5874 although most features will work on monochrome monitors. Simply unpack
5875 InfoDock according to the instructions in the ID-INSTALL file and you
5876 are ready to run.
5877
5878 The InfoDock Manual is concise, yet sufficient as a user guide for users
5879 who have never used an Emacs-type editor before. For users who are
5880 already familiar with Emacs, it supplements the information in the GNU
5881 Emacs Manual.
5882
5883 InfoDock menus are much more extensive and more mature than standard
5884 Emacs menus. Each menu offers a @samp{Manual} item which displays
5885 documentation associated with the menu's functions.
5886
5887 @noindent
5888 Four types of menubars are provided:
5889 @enumerate
5890 @item
5891 An extensive menubar providing access to global InfoDock commands.
5892 @item
5893 Mode-specific menubars tailored to the current major mode.
5894 @item
5895 A simple menubar for basic editing to help novices get started with InfoDock.
5896 @item
5897 The standard XEmacs menubar.
5898 @end enumerate
5899
5900 Most modes also include mode-specific popup menus. Additionally, region and
5901 rectangle popup menus are included.
5902
5903 @samp{Hyperbole}, the everyday information manager, is a core part of
5904 InfoDock. This provides context-sensitive mouse keys, a rolodex-type
5905 contact manager, programmable hypertext buttons, and an autonumbered
5906 outliner with embedded hyperlink anchors.
5907
5908 The @samp{OO-Browser}, a multi-language object-oriented code browser, is a
5909 standard part of InfoDock.
5910
5911 InfoDock saves a more extensive set of user options than other Emacs
5912 versions.
5913
5914 InfoDock inserts a useful file header in many file types, showing the
5915 author, summary, and last modification time of each file. A summary
5916 program can then be used to summarize all of the files in a directory,
5917 for easy MANIFEST file creation.
5918
5919 Your working set of buffers is automatically saved and restored (if you
5920 answer yes to a prompt) between InfoDock sessions.
5921
5922 Refined color choices for code highlighting are provided for both dark and
5923 light background display frames.
5924
5925 The @kbd{C-z} key prefix performs frame-based commands which parallel the
5926 @kbd{C-x} key prefix for window-based commands.
5927
5928 The Smart Menu system is included for producing command menus on dumb
5929 terminals.
5930
5931 Lisp libraries are better categorized according to function.
5932
5933 Extensions and improvements to many areas of Emacs are included, such as:
5934 paragraph filling, mail reading with Rmail, shell handling, outlining, code
5935 highlighting and browsing, and man page browsing.
5936
5937 InfoDock questions, answers and discussion should go to the mail list
5938 @iftex
5939 @*
5940 @end iftex
5941 @email{infodock@@infodock.com}. Use
5942 @email{infodock-request@@infodock.com} to be added or removed from the
5943 list. Always include your InfoDock version number when sending help
5944 requests.
5945
5946 @node Internet, Advanced, External Subsystems, Top 5412 @node Internet, Advanced, External Subsystems, Top
5947 @unnumbered 5 Connecting to the Internet 5413 @unnumbered 6 Connecting to the Internet
5948 5414
5949 This is part 5 of the XEmacs Frequently Asked Questions list. This 5415 This is part 6 of the XEmacs Frequently Asked Questions list. This
5950 section is devoted connecting to the Internet. 5416 section is devoted connecting to the Internet.
5951 5417
5952 @menu 5418 @menu
5953 5.0: General Mail and News 5419 6.0: General Mail and News
5954 * Q5.0.1:: What are the various packages for reading mail? 5420 * Q6.0.1:: What are the various packages for reading mail?
5955 * Q5.0.2:: How can I send mail? 5421 * Q6.0.2:: How can I send mail?
5956 * Q5.0.3:: How do I get my outgoing mail archived? 5422 * Q6.0.3:: How do I get my outgoing mail archived?
5957 * Q5.0.4:: How can I read and/or compose MIME messages? 5423 * Q6.0.4:: How can I read and/or compose MIME messages?
5958 * Q5.0.5:: How do I customize the From line? 5424 * Q6.0.5:: How do I customize the From line?
5959 * Q5.0.6:: How do I get my MUA to filter mail for me? 5425 * Q6.0.6:: How do I get my MUA to filter mail for me?
5960 * Q5.0.7:: Remote mail reading with an MUA. 5426 * Q6.0.7:: Remote mail reading with an MUA.
5961 * Q5.0.8:: An MUA gets an error incorporating new mail. 5427 * Q6.0.8:: An MUA gets an error incorporating new mail.
5962 * Q5.0.9:: Why isn't @file{movemail} working? 5428 * Q6.0.9:: Why isn't @file{movemail} working?
5963 * Q5.0.10:: How do I make my MUA display graphical smilies? 5429 * Q6.0.10:: How do I make my MUA display graphical smilies?
5964 * Q5.0.11:: How can I get those oh-so-neat X-Face lines? 5430 * Q6.0.11:: How can I get those oh-so-neat X-Face lines?
5965 5431
5966 5.1: Reading Mail with VM 5432 6.1: Reading Mail with VM
5967 * Q5.1.1:: How do I set up VM to retrieve mail from a remote site using POP? 5433 * Q6.1.1:: How do I set up VM to retrieve mail from a remote site using POP?
5968 * Q5.1.2:: How can I get VM to automatically check for new mail? 5434 * Q6.1.2:: How can I get VM to automatically check for new mail?
5969 * Q5.1.3:: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"? 5435 * Q6.1.3:: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
5970 * Q5.1.4:: Is there a mailing list or FAQ for VM? 5436 * Q6.1.4:: Is there a mailing list or FAQ for VM?
5971 * Q5.1.5:: How do I make VM stay in a single frame? 5437 * Q6.1.5:: How do I make VM stay in a single frame?
5972 * Q5.1.6:: Customization of VM not covered in the manual, or here. 5438 * Q6.1.6:: Customization of VM not covered in the manual, or here.
5973 5439
5974 5.2: Reading Netnews and Mail with Gnus 5440 6.2: Reading Netnews and Mail with Gnus
5975 * Q5.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh! 5441 * Q6.2.1:: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
5976 * Q5.2.2:: How do I make Gnus stay within a single frame? 5442 * Q6.2.2:: How do I make Gnus stay within a single frame?
5977 5443
5978 5.3: FTP Access 5444 6.3: FTP Access
5979 * Q5.3.1:: Can I edit files on other hosts? 5445 * Q6.3.1:: Can I edit files on other hosts?
5980 * Q5.3.2:: What is EFS? 5446 * Q6.3.2:: What is EFS?
5981 5447
5982 5.4: Web Browsing with W3 5448 6.4: Web Browsing with W3
5983 * Q5.4.1:: What is W3? 5449 * Q6.4.1:: What is W3?
5984 * Q5.4.2:: How do I run W3 from behind a firewall? 5450 * Q6.4.2:: How do I run W3 from behind a firewall?
5985 * Q5.4.3:: Is it true that W3 supports style sheets and tables? 5451 * Q6.4.3:: Is it true that W3 supports style sheets and tables?
5986 @end menu 5452 @end menu
5987 5453
5988 @unnumberedsec 5.0: General Mail and News 5454 @unnumberedsec 6.0: General Mail and News
5989 5455
5990 @node Q5.0.1, Q5.0.2, Internet, Internet 5456 @node Q6.0.1, Q6.0.2, Internet, Internet
5991 @unnumberedsubsec Q5.0.1: What are the various packages for reading mail? 5457 @unnumberedsubsec Q6.0.1: What are the various packages for reading mail?
5992 5458
5993 #### Write me. 5459 #### Write me.
5994 5460
5995 @node Q5.0.2, Q5.0.3, Q5.0.1, Internet 5461 @node Q6.0.2, Q6.0.3, Q6.0.1, Internet
5996 @unnumberedsubsec Q5.0.2: How can I send mail? 5462 @unnumberedsubsec Q6.0.2: How can I send mail?
5997 5463
5998 Under Unix and Mac OS X, the @samp{sendmail} package is normally used 5464 Under Unix and Mac OS X, the @samp{sendmail} package is normally used
5999 for this. 5465 for this.
6000 #### Write me. 5466 #### Write me.
6001 5467
6045 require logging in to send mail, don't uncomment this last line.) 5511 require logging in to send mail, don't uncomment this last line.)
6046 5512
6047 The other settings may be useful in specific cases, but you should know what 5513 The other settings may be useful in specific cases, but you should know what
6048 you're doing before enabling them. 5514 you're doing before enabling them.
6049 5515
6050 @node Q5.0.3, Q5.0.4, Q5.0.2, Internet 5516 @node Q6.0.3, Q6.0.4, Q6.0.2, Internet
6051 @unnumberedsubsec Q5.0.3: How do I get my outgoing mail archived? 5517 @unnumberedsubsec Q6.0.3: How do I get my outgoing mail archived?
6052 5518
6053 @lisp 5519 @lisp
6054 (setq mail-archive-file-name "~/outbox") 5520 (setq mail-archive-file-name "~/outbox")
6055 @end lisp 5521 @end lisp
6056 5522
6057 @node Q5.0.4, Q5.0.5, Q5.0.3, Internet 5523 @node Q6.0.4, Q6.0.5, Q6.0.3, Internet
6058 @unnumberedsubsec Q5.0.4: How can I read and/or compose MIME messages? 5524 @unnumberedsubsec Q6.0.4: How can I read and/or compose MIME messages?
6059 5525
6060 VM, MH-E and GNUS support MIME natively. Other MUAs may or may not 5526 VM, MH-E and GNUS support MIME natively. Other MUAs may or may not
6061 have MIME support; refer to their documentation and other resources, 5527 have MIME support; refer to their documentation and other resources,
6062 such as web pages and mailing lists. Packages like SEMI/WEMI may be 5528 such as web pages and mailing lists. Packages like SEMI/WEMI may be
6063 useful in connection with MUAs like mew and Wanderlust. 5529 useful in connection with MUAs like mew and Wanderlust.
6064 5530
6065 @node Q5.0.5, Q5.0.6, Q5.0.4, Internet 5531 @node Q6.0.5, Q6.0.6, Q6.0.4, Internet
6066 @unnumberedsubsec Q5.0.5: How do I customize the From line? 5532 @unnumberedsubsec Q6.0.5: How do I customize the From line?
6067 5533
6068 How do I change the @samp{From:} line? I have set gnus-user-from-line 5534 How do I change the @samp{From:} line? I have set gnus-user-from-line
6069 to 5535 to
6070 @example 5536 @example
6071 Gail Gurman <gail.gurman@@sybase.com> 5537 Gail Gurman <gail.gurman@@sybase.com>
6084 @quotation 5550 @quotation
6085 Set @code{user-mail-address} to @samp{gail.gurman@@sybase.com} or 5551 Set @code{user-mail-address} to @samp{gail.gurman@@sybase.com} or
6086 @code{mail-host-address} to @samp{sybase.com}. 5552 @code{mail-host-address} to @samp{sybase.com}.
6087 @end quotation 5553 @end quotation
6088 5554
6089 @node Q5.0.6, Q5.0.7, Q5.0.5, Internet 5555 @node Q6.0.6, Q6.0.7, Q6.0.5, Internet
6090 @unnumberedsubsec Q5.0.6: How do I get my MUA to filter mail for me? 5556 @unnumberedsubsec Q6.0.6: How do I get my MUA to filter mail for me?
6091 5557
6092 One possibility is to use procmail to split your mail before it gets to 5558 One possibility is to use procmail to split your mail before it gets to
6093 the MUA. I prefer this personally, since there are many strange and 5559 the MUA. I prefer this personally, since there are many strange and
6094 wonderful things one can do with procmail. Procmail may be found at 5560 wonderful things one can do with procmail. Procmail may be found at
6095 @uref{ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/}. 5561 @uref{http://www.procmail.org/}.
6096 5562
6097 Also see the Mail Filtering FAQ at: 5563 Also see the Mail Filtering FAQ at:
6098 @iftex 5564 @iftex
6099 @* 5565 @*
6100 @end iftex 5566 @end iftex
6101 @uref{ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq}. 5567 @uref{http://www.faqs.org/faqs/mail/filtering-faq/}.
6102 @c Link above, 5568
6103 @c <URL:http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html> 5569 @node Q6.0.7, Q6.0.8, Q6.0.6, Internet
6104 @c was dead. 5570 @unnumberedsubsec Q6.0.7: Remote mail reading with an MUA.
6105
6106 @node Q5.0.7, Q5.0.8, Q5.0.6, Internet
6107 @unnumberedsubsec Q5.0.7: Remote mail reading with an MUA.
6108 5571
6109 My mailbox lives at the office on a big honkin server. My regular INBOX 5572 My mailbox lives at the office on a big honkin server. My regular INBOX
6110 lives on my honkin desktop machine. I now can PPP to the office from 5573 lives on my honkin desktop machine. I now can PPP to the office from
6111 home which is far from honking... I'd like to be able to read mail at 5574 home which is far from honking... I'd like to be able to read mail at
6112 home without storing it here and I'd like to use xemacs and the MUA at 5575 home without storing it here and I'd like to use xemacs and the MUA at
6139 Or you could run a pop script periodically on your desktop machine, and 5602 Or you could run a pop script periodically on your desktop machine, and
6140 just use ange-ftp or NFS to get to your mailbox. I used to do this all 5603 just use ange-ftp or NFS to get to your mailbox. I used to do this all
6141 the time back at IU. 5604 the time back at IU.
6142 @end quotation 5605 @end quotation
6143 5606
6144 @node Q5.0.8, Q5.0.9, Q5.0.7, Internet 5607 @node Q6.0.8, Q6.0.9, Q6.0.7, Internet
6145 @unnumberedsubsec Q5.0.8: An MUA gets an error incorporating new mail. 5608 @unnumberedsubsec Q6.0.8: An MUA gets an error incorporating new mail.
6146 5609
6147 rmail and VM, and probably other MUA's as well, get new mail from 5610 rmail and VM, and probably other MUA's as well, get new mail from
6148 your mailbox (called @file{/var/mail/$USER} or @file{/var/spool/mail/$USER} 5611 your mailbox (called @file{/var/mail/$USER} or @file{/var/spool/mail/$USER}
6149 or something similar) using a program called @code{movemail}. 5612 or something similar) using a program called @code{movemail}.
6150 This program interlocks with @code{/bin/mail} using the protocol 5613 This program interlocks with @code{/bin/mail} using the protocol
6200 @file{/usr/local/lib/xemacs-VERSION/TARGET} (for example, 5663 @file{/usr/local/lib/xemacs-VERSION/TARGET} (for example,
6201 @file{/usr/local/lib/xemacs-21.4.15/i686-pc-cygwin}). You must change 5664 @file{/usr/local/lib/xemacs-21.4.15/i686-pc-cygwin}). You must change
6202 the group and mode of the installed copy; changing the group and mode 5665 the group and mode of the installed copy; changing the group and mode
6203 of the build directory copy is ineffective. 5666 of the build directory copy is ineffective.
6204 5667
6205 @node Q5.0.9, Q5.0.10, Q5.0.8, Internet 5668 @node Q6.0.9, Q6.0.10, Q6.0.8, Internet
6206 @unnumberedsubsec Q5.0.9: Why isn't @file{movemail} working? 5669 @unnumberedsubsec Q6.0.9: Why isn't @file{movemail} working?
6207 5670
6208 @xref{Q5.0.8}. 5671 @xref{Q6.0.8}.
6209 5672
6210 Note also that older versions of Mozilla came with a @file{movemail} 5673 Note also that older versions of Mozilla came with a @file{movemail}
6211 program that is @strong{not} compatible with XEmacs. Do not use it. 5674 program that is @strong{not} compatible with XEmacs. Do not use it.
6212 Always use the @file{movemail} installed with your XEmacs. Failure to 5675 Always use the @file{movemail} installed with your XEmacs. Failure to
6213 do so can result in lost mail. 5676 do so can result in lost mail.
6214 5677
6215 @node Q5.0.10, Q5.0.11, Q5.0.9, Internet 5678 @node Q6.0.10, Q6.0.11, Q6.0.9, Internet
6216 @unnumberedsubsec Q5.0.10: How do I make my MUA display graphical smilies? 5679 @unnumberedsubsec Q6.0.10: How do I make my MUA display graphical smilies?
6217 For mh-e use the following: 5680 For mh-e use the following:
6218 5681
6219 @lisp 5682 @lisp
6220 (add-hook 'mh-show-mode-hook '(lambda () 5683 (add-hook 'mh-show-mode-hook '(lambda ()
6221 (smiley-region (point-min) 5684 (smiley-region (point-min)
6236 @lisp 5699 @lisp
6237 (autoload 'smiley-buffer "smiley" nil t) 5700 (autoload 'smiley-buffer "smiley" nil t)
6238 (add-hook 'mime-viewer/plain-text-preview-hook 'smiley-buffer) 5701 (add-hook 'mime-viewer/plain-text-preview-hook 'smiley-buffer)
6239 @end lisp 5702 @end lisp
6240 5703
6241 @node Q5.0.11, Q5.1.1, Q5.0.10, Internet 5704 @node Q6.0.11, Q6.1.1, Q6.0.10, Internet
6242 @unnumberedsubsec Q5.0.11: How can I get those oh-so-neat X-Face lines? 5705 @unnumberedsubsec Q6.0.11: How can I get those oh-so-neat X-Face lines?
6243 5706
6244 Firstly there is an ftp site which describes X-faces and has the 5707 Firstly there is an ftp site which describes X-faces and has the
6245 associated tools mentioned below, at 5708 associated tools mentioned below, at
6246 @uref{ftp://ftp.cs.indiana.edu:/pub/faces/}. 5709 @uref{http://ftp.cs.indiana.edu/pub/faces/}.
6247 5710
6248 Then the steps are 5711 Then the steps are
6249 5712
6250 @enumerate 5713 @enumerate
6251 @item 5714 @item
6307 5770
6308 Some people have also found that if one uses the @code{(insert-file)} 5771 Some people have also found that if one uses the @code{(insert-file)}
6309 method, one should NOT quote the face string using the sed script . 5772 method, one should NOT quote the face string using the sed script .
6310 5773
6311 It might also be helpful to use @email{stig@@hackvan.com, Stig's} script 5774 It might also be helpful to use @email{stig@@hackvan.com, Stig's} script
6312 (included in the compface distribution at XEmacs.org) to do the 5775 xbm2face (included in the compface distribution at XEmacs.org) to do the
6313 conversion. 5776 conversion.
6314 @comment For convenience xbm2xface is available for anonymous FTP at
6315 @comment @uref{ftp://ftp.miranova.com/pub/xemacs/xbm2xface.pl}.
6316 5777
6317 Contributors for this item: 5778 Contributors for this item:
6318 5779
6319 Paul Emsley, 5780 Paul Emsley,
6320 Ricardo Marek, 5781 Ricardo Marek,
6323 Heinz Uphoff, 5784 Heinz Uphoff,
6324 Peter Arius, 5785 Peter Arius,
6325 Paul Harrison, and 5786 Paul Harrison, and
6326 Vegard Vesterheim 5787 Vegard Vesterheim
6327 5788
6328 @unnumberedsec 5.1: Reading Mail with VM 5789 @unnumberedsec 6.1: Reading Mail with VM
6329 5790
6330 @node Q5.1.1, Q5.1.2, Q5.0.11, Internet 5791 @node Q6.1.1, Q6.1.2, Q6.0.11, Internet
6331 @unnumberedsubsec Q5.1.1: How do I set up VM to retrieve mail from a remote site using POP? 5792 @unnumberedsubsec Q6.1.1: How do I set up VM to retrieve mail from a remote site using POP?
6332 5793
6333 Use @code{vm-spool-files}, like this for example: 5794 Use @code{vm-spool-files}, like this for example:
6334 5795
6335 @lisp 5796 @lisp
6336 (setq vm-spool-files '("/var/spool/mail/wing" 5797 (setq vm-spool-files '("/var/spool/mail/wing"
6337 "netcom23.netcom.com:110:pass:wing:MYPASS")) 5798 "netcom23.netcom.com:110:pass:wing:MYPASS"))
6338 @end lisp 5799 @end lisp
6339 5800
6340 Of course substitute your actual password for MYPASS. 5801 Of course substitute your actual password for MYPASS.
6341 5802
6342 @node Q5.1.2, Q5.1.3, Q5.1.1, Internet 5803 @node Q6.1.2, Q6.1.3, Q6.1.1, Internet
6343 @unnumberedsubsec Q5.1.2: How can I get VM to automatically check for new mail? 5804 @unnumberedsubsec Q6.1.2: How can I get VM to automatically check for new mail?
6344 5805
6345 @email{turner@@lanl.gov, John Turner} writes: 5806 @email{turner@@lanl.gov, John Turner} writes:
6346 5807
6347 @quotation 5808 @quotation
6348 Use the following: 5809 Use the following:
6350 @lisp 5811 @lisp
6351 (setq vm-auto-get-new-mail 60) 5812 (setq vm-auto-get-new-mail 60)
6352 @end lisp 5813 @end lisp
6353 @end quotation 5814 @end quotation
6354 5815
6355 @node Q5.1.3, Q5.1.4, Q5.1.2, Internet 5816 @node Q6.1.3, Q6.1.4, Q6.1.2, Internet
6356 @unnumberedsubsec Q5.1.3: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"? 5817 @unnumberedsubsec Q6.1.3: I have various addresses at which I receive mail. How can I tell VM to ignore them when doing a "reply-all"?
6357 5818
6358 Set @code{vm-reply-ignored-addresses} to a list, like 5819 Set @code{vm-reply-ignored-addresses} to a list, like
6359 5820
6360 @lisp 5821 @lisp
6361 (setq vm-reply-ignored-addresses 5822 (setq vm-reply-ignored-addresses
6363 "wing@@netcom.com" "wing@@xemacs.org")) 5824 "wing@@netcom.com" "wing@@xemacs.org"))
6364 @end lisp 5825 @end lisp
6365 5826
6366 Note that each string is a regular expression. 5827 Note that each string is a regular expression.
6367 5828
6368 @node Q5.1.4, Q5.1.5, Q5.1.3, Internet 5829 @node Q6.1.4, Q6.1.5, Q6.1.3, Internet
6369 @unnumberedsubsec Q5.1.4: Is there a mailing list or FAQ for VM? 5830 @unnumberedsubsec Q6.1.4: Is there a mailing list or FAQ for VM?
6370 5831
6371 A FAQ for VM exists at @uref{http://www.wonderworks.com/vm/FAQ.html}. 5832 A FAQ for VM exists at @uref{http://www.wonderworks.com/vm/FAQ.html}.
6372 5833
6373 VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug. 5834 VM has its own newsgroups gnu.emacs.vm.info and gnu.emacs.vm.bug.
6374 5835
6375 @node Q5.1.5, Q5.1.6, Q5.1.4, Internet 5836 @node Q6.1.5, Q6.1.6, Q6.1.4, Internet
6376 @unnumberedsubsec Q5.1.5: How do I make VM stay in a single frame? 5837 @unnumberedsubsec Q6.1.5: How do I make VM stay in a single frame?
6377 5838
6378 John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes: 5839 John.@email{Cooper@@Eng.Sun.COM, John S Cooper} writes:
6379 5840
6380 @quotation 5841 @quotation
6381 @lisp 5842 @lisp
6385 (setq vm-frame-per-edit nil) 5846 (setq vm-frame-per-edit nil)
6386 (setq vm-frame-per-summary nil) 5847 (setq vm-frame-per-summary nil)
6387 @end lisp 5848 @end lisp
6388 @end quotation 5849 @end quotation
6389 5850
6390 @node Q5.1.6, Q5.2.1, Q5.1.5, Internet 5851 @node Q6.1.6, Q6.2.1, Q6.1.5, Internet
6391 @unnumberedsubsec Q5.1.6: Customization of VM not covered in the manual, or here. 5852 @unnumberedsubsec Q6.1.6: Customization of VM not covered in the manual, or here.
6392 5853
6393 @email{boffi@@hp735.stru.polimi.it, giacomo boffi} writes: 5854 @email{boffi@@hp735.stru.polimi.it, giacomo boffi} writes:
6394 5855
6395 @quotation 5856 @quotation
6396 The meta-answer is to look into the file @file{vm-vars.el}, in the vm 5857 The meta-answer is to look into the file @file{vm-vars.el}, in the vm
6408 The above also applies to all the various features of VM: search for 5869 The above also applies to all the various features of VM: search for
6409 some keywords, maybe the first you conjure isn't appropriate, find the 5870 some keywords, maybe the first you conjure isn't appropriate, find the
6410 appropriate variables, copy and experiment. 5871 appropriate variables, copy and experiment.
6411 @end quotation 5872 @end quotation
6412 5873
6413 @unnumberedsec 5.2: Reading Netnews and Mail with Gnus 5874 @unnumberedsec 6.2: Reading Netnews and Mail with Gnus
6414 5875
6415 @node Q5.2.1, Q5.2.2, Q5.1.6, Internet 5876 @node Q6.2.1, Q6.2.2, Q6.1.6, Internet
6416 @unnumberedsubsec Q5.2.1: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh! 5877 @unnumberedsubsec Q6.2.1: GNUS, (ding) Gnus, Gnus 5, September Gnus, Red Gnus, Quassia Gnus, argh!
6417 5878
6418 The Gnus numbering issues are not meant for mere mortals to know them. 5879 The Gnus numbering issues are not meant for mere mortals to know them.
6419 If you feel you @emph{must} enter the muddy waters of Gnus, visit the 5880 If you feel you @emph{must} enter the muddy waters of Gnus, visit the
6420 excellent FAQ, maintained by Justin Sheehy, at: 5881 excellent FAQ, maintained by Justin Sheehy, at:
6421 5882
6422 @example 5883 @example
6423 @uref{http://www.ccs.neu.edu/software/contrib/gnus/} 5884 @uref{http://my.gnus.org/FAQ/}
6424 @end example 5885 @end example
6425 5886
6426 See also Gnus home page 5887 See also Gnus home page
6427 @example 5888 @example
6428 @uref{http://www.gnus.org/} 5889 @uref{http://www.gnus.org/}
6429 @end example 5890 @end example
6430 5891
6431 @node Q5.2.2, Q5.3.1, Q5.2.1, Internet 5892 @node Q6.2.2, Q6.3.1, Q6.2.1, Internet
6432 @unnumberedsubsec Q5.2.2: How do I make Gnus stay within a single frame? 5893 @unnumberedsubsec Q6.2.2: How do I make Gnus stay within a single frame?
6433 5894
6434 The toolbar code to start Gnus opens the new frame---and it's a feature 5895 The toolbar code to start Gnus opens the new frame---and it's a feature
6435 rather than a bug. If you don't like it, but would still like to click 5896 rather than a bug. If you don't like it, but would still like to click
6436 on the seemly icon, use the following code: 5897 on the seemly icon, use the following code:
6437 5898
6441 @end lisp 5902 @end lisp
6442 5903
6443 It will redefine the callback function of the icon to just call 5904 It will redefine the callback function of the icon to just call
6444 @code{gnus}, without all the fancy frame stuff. 5905 @code{gnus}, without all the fancy frame stuff.
6445 5906
6446 @unnumberedsec 5.3: FTP Access 5907 @unnumberedsec 6.3: FTP Access
6447 5908
6448 @node Q5.3.1, Q5.3.2, Q5.2.2, Internet 5909 @node Q6.3.1, Q6.3.2, Q6.2.2, Internet
6449 @unnumberedsubsec Q5.3.1: Can I edit files on other hosts? 5910 @unnumberedsubsec Q6.3.1: Can I edit files on other hosts?
6450 5911
6451 Yes. Of course XEmacs can use any network file system (such as NFS or 5912 Yes. Of course XEmacs can use any network file system (such as NFS or
6452 Windows file sharing) you have available, and includes some 5913 Windows file sharing) you have available, and includes some
6453 optimizations and safety features appropriate to those environments. 5914 optimizations and safety features appropriate to those environments.
6454 5915
6459 creating and removing directories and files. The FTP interface is 5920 creating and removing directories and files. The FTP interface is
6460 provided by the standard @samp{efs} package @ref{Top, EFS, , efs}. The 5921 provided by the standard @samp{efs} package @ref{Top, EFS, , efs}. The
6461 ssh/rsh interface is provided by the optional @samp{tramp} package 5922 ssh/rsh interface is provided by the optional @samp{tramp} package
6462 @ref{Top, TRAMP, , tramp}. 5923 @ref{Top, TRAMP, , tramp}.
6463 5924
6464 @node Q5.3.2, Q5.4.1, Q5.3.1, Internet 5925 @node Q6.3.2, Q6.4.1, Q6.3.1, Internet
6465 @unnumberedsubsec Q5.3.2: What is EFS? 5926 @unnumberedsubsec Q6.3.2: What is EFS?
6466 5927
6467 #### Write me. 5928 #### Write me.
6468 5929
6469 @unnumberedsec 5.4: Web Browsing with W3 5930 @unnumberedsec 6.4: Web Browsing with W3
6470 5931
6471 @node Q5.4.1, Q5.4.2, Q5.3.2, Internet 5932 @node Q6.4.1, Q6.4.2, Q6.3.2, Internet
6472 @unnumberedsubsec Q5.4.1: What is W3? 5933 @unnumberedsubsec Q6.4.1: What is W3?
6473 5934
6474 W3 is an advanced graphical browser written in Emacs lisp that runs on 5935 W3 is an advanced graphical browser written in Emacs lisp that runs on
6475 XEmacs. It has full support for cascaded style sheets, and more... 5936 XEmacs. It has full support for cascaded style sheets, and more...
6476 5937
6477 It has a home web page at 5938 It has a home web page at
6478 @uref{http://www.cs.indiana.edu/elisp/w3/docs.html}. 5939 @uref{http://www.cs.indiana.edu/elisp/w3/docs.html}.
6479 5940
6480 @node Q5.4.2, Q5.4.3, Q5.4.1, Internet 5941 @node Q6.4.2, Q6.4.3, Q6.4.1, Internet
6481 @unnumberedsubsec Q5.4.2: How do I run W3 from behind a firewall? 5942 @unnumberedsubsec Q6.4.2: How do I run W3 from behind a firewall?
6482 5943
6483 There is a long, well-written, detailed section in the W3 manual that 5944 There is a long, well-written, detailed section in the W3 manual that
6484 describes how to do this. Look in the section entitled "Firewalls". 5945 describes how to do this. Look in the section entitled "Firewalls".
6485 5946
6486 @node Q5.4.3, , Q5.4.2, Internet 5947 @node Q6.4.3, , Q6.4.2, Internet
6487 @unnumberedsubsec Q5.4.3: Is it true that W3 supports style sheets and tables? 5948 @unnumberedsubsec Q6.4.3: Is it true that W3 supports style sheets and tables?
6488 5949
6489 Yes, and much more. W3, as distributed with the latest XEmacs is a 5950 Yes, and much more. W3, as distributed with the latest XEmacs is a
6490 full-featured web browser. 5951 full-featured web browser.
6491 5952
6492 @node Advanced, Current Events, Internet, Top 5953 @node Advanced, Other Packages, Internet, Top
6493 @unnumbered 6 Advanced Customization Using XEmacs Lisp 5954 @unnumbered 7 Advanced Customization Using XEmacs Lisp
6494 5955
6495 This is part 6 of the XEmacs Frequently Asked Questions list. This 5956 This is part 7 of the XEmacs Frequently Asked Questions list. This
6496 section is devoted to advanced customization using XEmacs Lisp. 5957 section is devoted to advanced customization using XEmacs Lisp.
6497 5958
6498 @menu 5959 @menu
6499 6.0: Online Help 5960 7.0: Online Help
6500 * Q6.0.1:: How can I get two instances of info? 5961 * Q7.0.1:: How can I get two instances of info?
6501 * Q6.0.2:: How do I add new Info directories? 5962 * Q7.0.2:: How do I add new Info directories?
6502 5963
6503 6.1: Emacs Lisp and @file{init.el} 5964 7.1: Emacs Lisp and @file{init.el}
6504 * Q6.1.1:: What version of Emacs am I running? 5965 * Q7.1.1:: What version of Emacs am I running?
6505 * Q6.1.2:: How can I evaluate Emacs-Lisp expressions? 5966 * Q7.1.2:: How can I evaluate Emacs-Lisp expressions?
6506 * Q6.1.3:: @code{(setq tab-width 6)} behaves oddly. 5967 * Q7.1.3:: @code{(setq tab-width 6)} behaves oddly.
6507 * Q6.1.4:: How can I add directories to the @code{load-path}? 5968 * Q7.1.4:: How can I add directories to the @code{load-path}?
6508 * Q6.1.5:: How to check if a lisp function is defined? 5969 * Q7.1.5:: How to check if a lisp function is defined?
6509 * Q6.1.6:: Can I force the output of @code{(face-list)} to a buffer? 5970 * Q7.1.6:: Can I force the output of @code{(face-list)} to a buffer?
6510 5971
6511 6.2: Emacs Lisp Programming Techniques 5972 7.2: Emacs Lisp Programming Techniques
6512 * Q6.2.1:: What is the difference in key sequences between XEmacs and GNU Emacs? 5973 * Q7.2.1:: What is the difference in key sequences between XEmacs and GNU Emacs?
6513 * Q6.2.2:: Can I generate "fake" keyboard events? 5974 * Q7.2.2:: Can I generate "fake" keyboard events?
6514 * Q6.2.3:: Could you explain @code{read-kbd-macro} in more detail? 5975 * Q7.2.3:: Could you explain @code{read-kbd-macro} in more detail?
6515 * Q6.2.4:: What is the performance hit of @code{let}? 5976 * Q7.2.4:: What is the performance hit of @code{let}?
6516 * Q6.2.5:: What is the recommended use of @code{setq}? 5977 * Q7.2.5:: What is the recommended use of @code{setq}?
6517 * Q6.2.6:: What is the typical misuse of @code{setq}? 5978 * Q7.2.6:: What is the typical misuse of @code{setq}?
6518 * Q6.2.7:: I like the @code{do} form of cl, does it slow things down? 5979 * Q7.2.7:: I like the @code{do} form of cl, does it slow things down?
6519 * Q6.2.8:: I like recursion, does it slow things down? 5980 * Q7.2.8:: I like recursion, does it slow things down?
6520 * Q6.2.9:: How do I put a glyph as annotation in a buffer? 5981 * Q7.2.9:: How do I put a glyph as annotation in a buffer?
6521 * Q6.2.10:: @code{map-extents} won't traverse all of my extents! 5982 * Q7.2.10:: @code{map-extents} won't traverse all of my extents!
6522 * Q6.2.11:: My elisp program is horribly slow. Is there 5983 * Q7.2.11:: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
6523 5984
6524 6.3: Mathematics 5985 7.3: Mathematics
6525 * Q6.3.1:: What are bignums, ratios, and bigfloats in Lisp? 5986 * Q7.3.1:: What are bignums, ratios, and bigfloats in Lisp?
6526 * Q6.3.2:: XEmacs segfaults when I use very big numbers! 5987 * Q7.3.2:: XEmacs segfaults when I use very big numbers!
6527 * Q6.3.3:: Bignums are really slow! 5988 * Q7.3.3:: Bignums are really slow!
6528 * Q6.3.4:: Equal bignums don't compare as equal! What gives? 5989 * Q7.3.4:: Equal bignums don't compare as equal! What gives?
6529 @end menu 5990 @end menu
6530 5991
6531 @unnumberedsec 6.0: Online Help 5992 @unnumberedsec 7.0: Online Help
6532 5993
6533 @node Q6.0.1, Q6.0.2, Advanced, Advanced 5994 @node Q7.0.1, Q7.0.2, Advanced, Advanced
6534 @unnumberedsubsec Q6.0.1: How can I get two instances of info? 5995 @unnumberedsubsec Q7.0.1: How can I get two instances of info?
6535 5996
6536 Before 21.4, you can't. The @code{info} package does not provide for 5997 Before 21.4, you can't. The @code{info} package does not provide for
6537 multiple info buffers. In 21.4, this should be fixed. #### how? 5998 multiple info buffers. In 21.4, this should be fixed. #### how?
6538 5999
6539 @node Q6.0.2, Q6.1.1, Q6.0.1, Advanced 6000 @node Q7.0.2, Q7.1.1, Q7.0.1, Advanced
6540 @unnumberedsubsec Q6.0.2: How do I add new Info directories? 6001 @unnumberedsubsec Q7.0.2: How do I add new Info directories?
6541 6002
6542 You use something like: 6003 You use something like:
6543 6004
6544 @lisp 6005 @lisp
6545 (setq Info-directory-list (cons 6006 (setq Info-directory-list (cons
6578 6039
6579 Another alternative is to convert the documentation to HTML with 6040 Another alternative is to convert the documentation to HTML with
6580 texi2html and read it from a web browser like Lynx or W3. 6041 texi2html and read it from a web browser like Lynx or W3.
6581 @end quotation 6042 @end quotation
6582 6043
6583 @unnumberedsec 6.1: Emacs Lisp and @file{init.el} 6044 @unnumberedsec 7.1: Emacs Lisp and @file{init.el}
6584 6045
6585 @node Q6.1.1, Q6.1.2, Q6.0.2, Advanced 6046 @node Q7.1.1, Q7.1.2, Q7.0.2, Advanced
6586 @unnumberedsubsec Q6.1.1: What version of Emacs am I running? 6047 @unnumberedsubsec Q7.1.1: What version of Emacs am I running?
6587 6048
6588 How can @file{init.el} determine which of the family of 6049 How can @file{init.el} determine which of the family of
6589 Emacsen I am using? 6050 Emacsen I am using?
6590 6051
6591 To determine if you are currently running GNU Emacs 18, GNU Emacs 19, 6052 To determine if you are currently running GNU Emacs 18, GNU Emacs 19,
6598 6059
6599 @lisp 6060 @lisp
6600 (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version)) 6061 (defvar running-xemacs (string-match "XEmacs\\|Lucid" emacs-version))
6601 @end lisp 6062 @end lisp
6602 6063
6603 @node Q6.1.2, Q6.1.3, Q6.1.1, Advanced 6064 @node Q7.1.2, Q7.1.3, Q7.1.1, Advanced
6604 @unnumberedsubsec Q6.1.2: How can I evaluate Emacs-Lisp expressions? 6065 @unnumberedsubsec Q7.1.2: How can I evaluate Emacs-Lisp expressions?
6605 6066
6606 I know I can evaluate Elisp expressions from @code{*scratch*} buffer 6067 I know I can evaluate Elisp expressions from @code{*scratch*} buffer
6607 with @kbd{C-j} after the expression. How do I do it from another 6068 with @kbd{C-j} after the expression. How do I do it from another
6608 buffer? 6069 buffer?
6609 6070
6610 Press @kbd{M-:} (the default binding of @code{eval-expression}), and 6071 Press @kbd{M-:} (the default binding of @code{eval-expression}), and
6611 enter the expression to the minibuffer. 6072 enter the expression to the minibuffer.
6612 6073
6613 @node Q6.1.3, Q6.1.4, Q6.1.2, Advanced 6074 @node Q7.1.3, Q7.1.4, Q7.1.2, Advanced
6614 @unnumberedsubsec Q6.1.3: @code{(setq tab-width 6)} behaves oddly. 6075 @unnumberedsubsec Q7.1.3: @code{(setq tab-width 6)} behaves oddly.
6615 6076
6616 If you put @code{(setq tab-width 6)} in your 6077 If you put @code{(setq tab-width 6)} in your
6617 @file{init.el} file it does not work! Is there a reason 6078 @file{init.el} file it does not work! Is there a reason
6618 for this? If you do it at the EVAL prompt it works fine!! How strange. 6079 for this? If you do it at the EVAL prompt it works fine!! How strange.
6619 6080
6620 Use @code{setq-default} instead, since @code{tab-width} is 6081 Use @code{setq-default} instead, since @code{tab-width} is
6621 all-buffer-local. 6082 all-buffer-local.
6622 6083
6623 @node Q6.1.4, Q6.1.5, Q6.1.3, Advanced 6084 @node Q7.1.4, Q7.1.5, Q7.1.3, Advanced
6624 @unnumberedsubsec Q6.1.4: How can I add directories to the @code{load-path}? 6085 @unnumberedsubsec Q7.1.4: How can I add directories to the @code{load-path}?
6625 6086
6626 Here are two ways to do that, one that puts your directories at the 6087 Here are two ways to do that, one that puts your directories at the
6627 front of the load-path, the other at the end: 6088 front of the load-path, the other at the end:
6628 6089
6629 @lisp 6090 @lisp
6646 @lisp 6107 @lisp
6647 (push (expand-file-name "~keithh/.emacsdir") load-path) 6108 (push (expand-file-name "~keithh/.emacsdir") load-path)
6648 @end lisp 6109 @end lisp
6649 @end quotation 6110 @end quotation
6650 6111
6651 @node Q6.1.5, Q6.1.6, Q6.1.4, Advanced 6112 @node Q7.1.5, Q7.1.6, Q7.1.4, Advanced
6652 @unnumberedsubsec Q6.1.5: How to check if a lisp function is defined? 6113 @unnumberedsubsec Q7.1.5: How to check if a lisp function is defined?
6653 6114
6654 Use the following elisp: 6115 Use the following elisp:
6655 6116
6656 @lisp 6117 @lisp
6657 (fboundp 'foo) 6118 (fboundp 'foo)
6671 6132
6672 There is an incredible amount of broken code out there which could work 6133 There is an incredible amount of broken code out there which could work
6673 much better more often in more places if it did the above instead of 6134 much better more often in more places if it did the above instead of
6674 trying to divine its environment from the value of one variable. 6135 trying to divine its environment from the value of one variable.
6675 6136
6676 @node Q6.1.6, Q6.2.1, Q6.1.5, Advanced 6137 @node Q7.1.6, Q7.2.1, Q7.1.5, Advanced
6677 @unnumberedsubsec Q6.1.6: Can I force the output of @code{(face-list)} to a buffer? 6138 @unnumberedsubsec Q7.1.6: Can I force the output of @code{(face-list)} to a buffer?
6678 6139
6679 It would be good having it in a buffer, as the output of 6140 It would be good having it in a buffer, as the output of
6680 @code{(face-list)} is too wide to fit to a minibuffer. 6141 @code{(face-list)} is too wide to fit to a minibuffer.
6681 6142
6682 Evaluate the expression in the @samp{*scratch*} buffer with point after 6143 Evaluate the expression in the @samp{*scratch*} buffer with point after
6684 6145
6685 If the minibuffer smallness is the only problem you encounter, you can 6146 If the minibuffer smallness is the only problem you encounter, you can
6686 simply press @kbd{C-h l} to get the former minibuffer contents in a 6147 simply press @kbd{C-h l} to get the former minibuffer contents in a
6687 buffer. 6148 buffer.
6688 6149
6689 @unnumberedsec 6.2: Emacs Lisp Programming Techniques 6150 @unnumberedsec 7.2: Emacs Lisp Programming Techniques
6690 6151
6691 @node Q6.2.1, Q6.2.2, Q6.1.6, Advanced 6152 @node Q7.2.1, Q7.2.2, Q7.1.6, Advanced
6692 @unnumberedsubsec Q6.2.1: What is the difference in key sequences between XEmacs and GNU Emacs? 6153 @unnumberedsubsec Q7.2.1: What is the difference in key sequences between XEmacs and GNU Emacs?
6693 6154
6694 @email{clerik@@naggum.no, Erik Naggum} writes; 6155 @email{clerik@@naggum.no, Erik Naggum} writes;
6695 6156
6696 @quotation 6157 @quotation
6697 Emacs has a legacy of keyboards that produced characters with modifier 6158 Emacs has a legacy of keyboards that produced characters with modifier
6719 Another (even safer) way to be sure of the key-sequences is to use the 6180 Another (even safer) way to be sure of the key-sequences is to use the
6720 @code{read-kbd-macro} function, which takes a string like @samp{C-c 6181 @code{read-kbd-macro} function, which takes a string like @samp{C-c
6721 <up>}, and converts it to the internal key representation of the Emacs 6182 <up>}, and converts it to the internal key representation of the Emacs
6722 you use. The function is available both on XEmacs and GNU Emacs. 6183 you use. The function is available both on XEmacs and GNU Emacs.
6723 6184
6724 @node Q6.2.2, Q6.2.3, Q6.2.1, Advanced 6185 @node Q7.2.2, Q7.2.3, Q7.2.1, Advanced
6725 @unnumberedsubsec Q6.2.2: Can I generate "fake" keyboard events? 6186 @unnumberedsubsec Q7.2.2: Can I generate "fake" keyboard events?
6726 6187
6727 I wonder if there is an interactive function that can generate 6188 I wonder if there is an interactive function that can generate
6728 @dfn{fake} keyboard events. This way, I could simply map them inside 6189 @dfn{fake} keyboard events. This way, I could simply map them inside
6729 XEmacs. 6190 XEmacs.
6730 6191
6740 (lambda () (interactive) (cg--generate-char-event 127))) 6201 (lambda () (interactive) (cg--generate-char-event 127)))
6741 (global-set-key [unknown_keysym_0x4] 6202 (global-set-key [unknown_keysym_0x4]
6742 (lambda () (interactive) (cg--generate-char-event 4))) 6203 (lambda () (interactive) (cg--generate-char-event 4)))
6743 @end lisp 6204 @end lisp
6744 6205
6745 @node Q6.2.3, Q6.2.4, Q6.2.2, Advanced 6206 @node Q7.2.3, Q7.2.4, Q7.2.2, Advanced
6746 @unnumberedsubsec Q6.2.3: Could you explain @code{read-kbd-macro} in more detail? 6207 @unnumberedsubsec Q7.2.3: Could you explain @code{read-kbd-macro} in more detail?
6747 6208
6748 The @code{read-kbd-macro} function returns the internal Emacs 6209 The @code{read-kbd-macro} function returns the internal Emacs
6749 representation of a human-readable string (which is its argument). 6210 representation of a human-readable string (which is its argument).
6750 Thus: 6211 Thus:
6751 6212
6831 @code{\123} is a single key written in octal, and @code{< right >} is 6292 @code{\123} is a single key written in octal, and @code{< right >} is
6832 seven keys but @code{<right>} is a single function key. When in doubt, 6293 seven keys but @code{<right>} is a single function key. When in doubt,
6833 use whitespace. 6294 use whitespace.
6834 @end quotation 6295 @end quotation
6835 6296
6836 @node Q6.2.4, Q6.2.5, Q6.2.3, Advanced 6297 @node Q7.2.4, Q7.2.5, Q7.2.3, Advanced
6837 @unnumberedsubsec Q6.2.4: What is the performance hit of @code{let}? 6298 @unnumberedsubsec Q7.2.4: What is the performance hit of @code{let}?
6838 6299
6839 In most cases, not noticeable. Besides, there's no avoiding 6300 In most cases, not noticeable. Besides, there's no avoiding
6840 @code{let}---you have to bind your local variables, after all. Some 6301 @code{let}---you have to bind your local variables, after all. Some
6841 pose a question whether to nest @code{let}s, or use one @code{let} per 6302 pose a question whether to nest @code{let}s, or use one @code{let} per
6842 function. I think because of clarity and maintenance (and possible 6303 function. I think because of clarity and maintenance (and possible
6843 future implementation), @code{let}-s should be used (nested) in a way to 6304 future implementation), @code{let}-s should be used (nested) in a way to
6844 provide the clearest code. 6305 provide the clearest code.
6845 6306
6846 @node Q6.2.5, Q6.2.6, Q6.2.4, Advanced 6307 @node Q7.2.5, Q7.2.6, Q7.2.4, Advanced
6847 @unnumberedsubsec Q6.2.5: What is the recommended use of @code{setq}? 6308 @unnumberedsubsec Q7.2.5: What is the recommended use of @code{setq}?
6848 6309
6849 @itemize @bullet 6310 @itemize @bullet
6850 @item Global variables 6311 @item Global variables
6851 6312
6852 You will typically @code{defvar} your global variable to a default 6313 You will typically @code{defvar} your global variable to a default
6904 (setq foo-processed-inbox 6365 (setq foo-processed-inbox
6905 (let .....)) 6366 (let .....))
6906 @end lisp 6367 @end lisp
6907 @end itemize 6368 @end itemize
6908 6369
6909 @node Q6.2.6, Q6.2.7, Q6.2.5, Advanced 6370 @node Q7.2.6, Q7.2.7, Q7.2.5, Advanced
6910 @unnumberedsubsec Q6.2.6: What is the typical misuse of @code{setq}? 6371 @unnumberedsubsec Q7.2.6: What is the typical misuse of @code{setq}?
6911 6372
6912 A typical misuse is probably @code{setq}ing a variable that was meant to 6373 A typical misuse is probably @code{setq}ing a variable that was meant to
6913 be local. Such a variable will remain bound forever, never to be 6374 be local. Such a variable will remain bound forever, never to be
6914 garbage-collected. For example, the code doing: 6375 garbage-collected. For example, the code doing:
6915 6376
6946 6407
6947 While compiling toplevel forms: 6408 While compiling toplevel forms:
6948 ** assignment to free variable flurghoze 6409 ** assignment to free variable flurghoze
6949 @end lisp 6410 @end lisp
6950 6411
6951 @node Q6.2.7, Q6.2.8, Q6.2.6, Advanced 6412 @node Q7.2.7, Q7.2.8, Q7.2.6, Advanced
6952 @unnumberedsubsec Q6.2.7: I like the @code{do} form of cl, does it slow things down? 6413 @unnumberedsubsec Q7.2.7: I like the @code{do} form of cl, does it slow things down?
6953 6414
6954 It shouldn't. Here is what Dave Gillespie has to say about cl.el 6415 It shouldn't. Here is what Dave Gillespie has to say about cl.el
6955 performance: 6416 performance:
6956 6417
6957 @quotation 6418 @quotation
6988 6449
6989 You can find out how a macro expands by using the @code{cl-prettyexpand} 6450 You can find out how a macro expands by using the @code{cl-prettyexpand}
6990 function. 6451 function.
6991 @end quotation 6452 @end quotation
6992 6453
6993 @node Q6.2.8, Q6.2.9, Q6.2.7, Advanced 6454 @node Q7.2.8, Q7.2.9, Q7.2.7, Advanced
6994 @unnumberedsubsec Q6.2.8: I like recursion, does it slow things down? 6455 @unnumberedsubsec Q7.2.8: I like recursion, does it slow things down?
6995 6456
6996 Yes. The Emacs byte-compiler cannot do much to optimize recursion. But 6457 Yes. The Emacs byte-compiler cannot do much to optimize recursion. But
6997 think well whether this is a real concern in Emacs. Much of the Emacs 6458 think well whether this is a real concern in Emacs. Much of the Emacs
6998 slowness comes from internal mechanisms such as redisplay, or from the 6459 slowness comes from internal mechanisms such as redisplay, or from the
6999 fact that it is an interpreter. 6460 fact that it is an interpreter.
7000 6461
7001 Please try not to make your code much uglier to gain a very small speed 6462 Please try not to make your code much uglier to gain a very small speed
7002 gain. It's not usually worth it. 6463 gain. It's not usually worth it.
7003 6464
7004 @node Q6.2.9, Q6.2.10, Q6.2.8, Advanced 6465 @node Q7.2.9, Q7.2.10, Q7.2.8, Advanced
7005 @unnumberedsubsec Q6.2.9: How do I put a glyph as annotation in a buffer? 6466 @unnumberedsubsec Q7.2.9: How do I put a glyph as annotation in a buffer?
7006 6467
7007 Here is a solution that will insert the glyph annotation at the 6468 Here is a solution that will insert the glyph annotation at the
7008 beginning of buffer: 6469 beginning of buffer:
7009 6470
7010 @lisp 6471 @lisp
7026 6487
7027 You can turn this to a function (that optionally prompts you for a file 6488 You can turn this to a function (that optionally prompts you for a file
7028 name), and inserts the glyph at @code{(point)} instead of 6489 name), and inserts the glyph at @code{(point)} instead of
7029 @code{(point-min)}. 6490 @code{(point-min)}.
7030 6491
7031 @node Q6.2.10, Q6.2.11, Q6.2.9, Advanced 6492 @node Q7.2.10, Q7.2.11, Q7.2.9, Advanced
7032 @unnumberedsubsec Q6.2.10: @code{map-extents} won't traverse all of my extents! 6493 @unnumberedsubsec Q7.2.10: @code{map-extents} won't traverse all of my extents!
7033 6494
7034 I tried to use @code{map-extents} to do an operation on all the extents 6495 I tried to use @code{map-extents} to do an operation on all the extents
7035 in a region. However, it seems to quit after processing a random number 6496 in a region. However, it seems to quit after processing a random number
7036 of extents. Is it buggy? 6497 of extents. Is it buggy?
7037 6498
7057 (delete-extent ext) 6518 (delete-extent ext)
7058 (message "fubar!") 6519 (message "fubar!")
7059 nil)) 6520 nil))
7060 @end lisp 6521 @end lisp
7061 6522
7062 @node Q6.2.11, Q6.3.1, Q6.2.10, Advanced 6523 @node Q7.2.11, Q7.3.1, Q7.2.10, Advanced
7063 @unnumberedsubsec Q6.2.11: My elisp program is horribly slow. Is there 6524 @unnumberedsubsec Q7.2.11: My elisp program is horribly slow. Is there an easy way to find out where it spends time?
7064 an easy way to find out where it spends time?
7065 @c New 6525 @c New
7066 6526
7067 @email{hniksic@@xemacs.org, Hrvoje Niksic} writes: 6527 @email{hniksic@@xemacs.org, Hrvoje Niksic} writes:
7068 @quotation 6528 @quotation
7069 Under XEmacs 20.4 and later you can use @kbd{M-x profile-key-sequence}, 6529 Under XEmacs 20.4 and later you can use @kbd{M-x profile-key-sequence},
7070 press a key (say @key{RET} in the Gnus Group buffer), and get the 6530 press a key (say @key{RET} in the Gnus Group buffer), and get the
7071 results using @kbd{M-x profile-results}. It should give you an idea of 6531 results using @kbd{M-x profile-results}. It should give you an idea of
7072 where the time is being spent. 6532 where the time is being spent.
7073 @end quotation 6533 @end quotation
7074 6534
7075 @unnumberedsec 6.3: Mathematics 6535 @unnumberedsec 7.3: Mathematics
7076 6536
7077 @node Q6.3.1, Q6.3.2, Q6.2.11, Advanced 6537 @node Q7.3.1, Q7.3.2, Q7.2.11, Advanced
7078 @unnumberedsubsec Q6.3.1: What are bignums, ratios, and bigfloats in Lisp? 6538 @unnumberedsubsec Q7.3.1: What are bignums, ratios, and bigfloats in Lisp?
7079 6539
7080 Thanks to @email{james@@xemacs.org, Jerry James}, XEmacs 21.5.18 and 6540 Thanks to @email{james@@xemacs.org, Jerry James}, XEmacs 21.5.18 and
7081 later can use the capabilities of multiple-precision libraries that may 6541 later can use the capabilities of multiple-precision libraries that may
7082 be available for your platform. The GNU Multiple Precision (GMP) and 6542 be available for your platform. The GNU Multiple Precision (GMP) and
7083 BSD Multiple Precision (MP) libraries are partially supported. GMP 6543 BSD Multiple Precision (MP) libraries are partially supported. GMP
7101 User-visible changes in behavior include (in probable order of annoyance) 6561 User-visible changes in behavior include (in probable order of annoyance)
7102 6562
7103 @itemize 6563 @itemize
7104 @item 6564 @item
7105 Arithmetic can cause a segfault, depending on your MP library 6565 Arithmetic can cause a segfault, depending on your MP library
7106 @ref{Q6.3.2, XEmacs segfaults when I use very big numbers!}. 6566 @ref{Q7.3.2, XEmacs segfaults when I use very big numbers!}.
7107 6567
7108 @item 6568 @item
7109 Terminology is not Common-Lisp-conforming. For example, ``integer'' for 6569 Terminology is not Common-Lisp-conforming. For example, ``integer'' for
7110 Emacs Lisp means what Common Lisp calls ``fixnum''. This issue is being 6570 Emacs Lisp means what Common Lisp calls ``fixnum''. This issue is being
7111 investigated, but the use of ``integer'' for fixnum is pervasive and may 6571 investigated, but the use of ``integer'' for fixnum is pervasive and may
7127 disabled at runtime. New functions have been added which produce 6587 disabled at runtime. New functions have been added which produce
7128 ratios, so there should be few surprises with type conflicts, but they 6588 ratios, so there should be few surprises with type conflicts, but they
7129 can't be ruled out. ``Arbitrary'' precision means precisely what it 6589 can't be ruled out. ``Arbitrary'' precision means precisely what it
7130 says. If you work with extremely large numbers, your machine may 6590 says. If you work with extremely large numbers, your machine may
7131 arbitrarily decide to hand you an unpleasant surprise rather than a 6591 arbitrarily decide to hand you an unpleasant surprise rather than a
7132 bignum @ref{Q6.3.2, XEmacs segfaults when I use very big numbers!}. 6592 bignum @ref{Q7.3.2, XEmacs segfaults when I use very big numbers!}.
7133 6593
7134 To configure with GNU MP, add 6594 To configure with GNU MP, add
7135 @samp{--use-number-lib=gmp} 6595 @samp{--use-number-lib=gmp}
7136 to your invocation of @file{configure}. For BSD MP, use 6596 to your invocation of @file{configure}. For BSD MP, use
7137 @samp{--use-number-lib=mp}. 6597 @samp{--use-number-lib=mp}.
7142 @file{number-mp.h}. Jerry has promised to write internals documentation 6602 @file{number-mp.h}. Jerry has promised to write internals documentation
7143 eventually, but if your skills run more to analysis and documentation 6603 eventually, but if your skills run more to analysis and documentation
7144 than to writing new code, feel free to fill in the gap! 6604 than to writing new code, feel free to fill in the gap!
7145 6605
7146 6606
7147 @node Q6.3.2, Q6.3.3, Q6.3.1, Advanced 6607 @node Q7.3.2, Q7.3.3, Q7.3.1, Advanced
7148 @unnumberedsubsec Q6.3.2: XEmacs segfaults when I use very big numbers! 6608 @unnumberedsubsec Q7.3.2: XEmacs segfaults when I use very big numbers!
7149 6609
7150 GMP by default allocates temporaries on the stack. If you run out of 6610 GMP by default allocates temporaries on the stack. If you run out of
7151 stack space, you're dead; there is no way that we know of to reliably 6611 stack space, you're dead; there is no way that we know of to reliably
7152 detect this condition, because @samp{alloca} is typically implemented to 6612 detect this condition, because @samp{alloca} is typically implemented to
7153 be @emph{fast} rather than robust. If you just need a little more 6613 be @emph{fast} rather than robust. If you just need a little more
7160 @key{RET}}), which will give us platform information. (We do know that 6620 @key{RET}}), which will give us platform information. (We do know that
7161 BSD MP implementations vary across vendors, but how much, we do not know 6621 BSD MP implementations vary across vendors, but how much, we do not know
7162 yet.) 6622 yet.)
7163 6623
7164 6624
7165 @node Q6.3.3, Q6.3.4, Q6.3.2, Advanced 6625 @node Q7.3.3, Q7.3.4, Q7.3.2, Advanced
7166 @unnumberedsubsec Q6.3.3: Bignums are really slow! 6626 @unnumberedsubsec Q7.3.3: Bignums are really slow!
7167 6627
7168 Many Linux distributions compile all their packages for the i386, and 6628 Many Linux distributions compile all their packages for the i386, and
7169 this is costly. An optimized version can give you two or three orders 6629 this is costly. An optimized version can give you two or three orders
7170 of magnitude better performance for a Pentium III or IV. (Yes, really. 6630 of magnitude better performance for a Pentium III or IV. (Yes, really.
7171 See @uref{http://www.swox.com/gmp/gmp-speed.html}.) 6631 See @uref{http://www.swox.com/gmp/gmp-speed.html}.)
7172 6632
7173 6633
7174 @node Q6.3.4, , Q6.3.3, Advanced 6634 @node Q7.3.4, , Q7.3.3, Advanced
7175 @unnumberedsubsec Q6.3.4: Equal bignums don't compare as equal! What gives? 6635 @unnumberedsubsec Q7.3.4: Equal bignums don't compare as equal! What gives?
7176 6636
7177 Ah, Grasshopper, I see you are using @code{(eq x y)}. The Bodhisattva 6637 Ah, Grasshopper, I see you are using @code{(eq x y)}. The Bodhisattva
7178 CLTL2 warned of the illusion that equal numbers would be @samp{eq}! 6638 CLTL2 warned of the illusion that equal numbers would be @samp{eq}!
7179 Meditate on the deeper truths of @samp{eql}, in which numbers of the same 6639 Meditate on the deeper truths of @samp{eql}, in which numbers of the same
7180 type which have equal values compare equal, and @samp{=}, which does any 6640 type which have equal values compare equal, and @samp{=}, which does any
7184 characters have an immediate representation. Sorry about that; 6644 characters have an immediate representation. Sorry about that;
7185 arbitrary precision obviously requires consing new objects because the 6645 arbitrary precision obviously requires consing new objects because the
7186 objects are ``large'' and of variable size, and the definition of 6646 objects are ``large'' and of variable size, and the definition of
7187 @samp{eq} does not permit different objects to compare as equal. 6647 @samp{eq} does not permit different objects to compare as equal.
7188 6648
7189 @node Current Events, Legacy Versions, Advanced, Top 6649 @node Other Packages, Current Events, Advanced, Top
7190 @unnumbered 7 What the Future Holds 6650 @unnumbered 8 Other External Packages
7191 6651
7192 This is part 7 of the XEmacs Frequently Asked Questions list. This 6652 This is part 8 of the XEmacs Frequently Asked Questions list. This
6653 section is devoted to miscellaneous external packages not covered
6654 elsewhere in XEmacs.
6655
6656 @menu
6657 * Q8.0.1:: Is there something better than LaTeX mode?
6658 * Q8.0.2:: What is AUCTeX? Where do you get it?
6659 * Q8.0.3:: Problems installing AUCTeX.
6660 * Q8.0.4:: How do I turn off current chapter from AUCTeX modeline?
6661
6662 8.1: Other Unbundled Packages
6663 * Q8.1.1:: Is there a reason for an Emacs package not to be included in XEmacs?
6664 * Q8.1.2:: Are there any Emacs Lisp Spreadsheets?
6665 * Q8.1.3:: Is there a MatLab mode?
6666
6667 8.2: Environments Built Around XEmacs
6668 * Q8.2.1:: What are SPARCworks, EOS, and WorkShop?
6669 * Q8.2.2:: How do I start the Sun Workshop support in XEmacs 21?
6670 * Q8.2.3:: What is/was Energize?
6671 * Q8.2.4:: What is Infodock?
6672 @end menu
6673
6674 @unnumberedsec 8.0: TeX
6675
6676 @node Q8.0.1, Q8.0.2, Other Packages, Other Packages
6677 @unnumberedsubsec Q8.0.1: Is there something better than LaTeX mode?
6678
6679 @email{dak@@fsnif.neuroinformatik.ruhr-uni-bochum.de, David Kastrup} writes:
6680
6681 @quotation
6682 The standard TeX modes leave much to be desired, and are somewhat
6683 leniently maintained. Serious TeX users use AUCTeX (@pxref{Q8.0.2,
6684 What is AUCTeX? Where do you get it?}).
6685 @end quotation
6686
6687 @node Q8.0.2, Q8.0.3, Q8.0.1, Other Packages
6688 @unnumberedsubsec Q8.0.2: What is AUCTeX? Where do you get it?
6689
6690 AUCTeX is a complex and sophisticated editing package dedicated to TeX
6691 and related text formatting languages, including LaTeX and Texinfo.
6692 It provides support for running TeX on a file or part of a file,
6693 include files, and of course shortcuts for entering common TeX macros,
6694 LaTeX environments, etc, and for fontlock.
6695
6696 AUCTeX is a standard package provided by XEmacs. You can get it as
6697 usual through the @kbd{M-x list-packages} interface. It is also
6698 included in the (non-Mule) SUMO package. The AUCTeX XEmacs package is
6699 maintained by Uwe Brauer <GET MAIL ADDRESS>.
6700
6701 AUCTeX is extremely complicated, and its developers primarily
6702 use GNU Emacs. Not all features of the bleeding edge version
6703 of AUCTeX are immediately ported to XEmacs; if you need
6704 these, you may be better off getting the most recent versions
6705 from the GNU AUCTeX project on @uref{http://savannah.gnu.org}.
6706
6707 @node Q8.0.3, Q8.0.4, Q8.0.2, Other Packages
6708 @unnumberedsubsec Q8.0.3: Problems installing AUCTeX.
6709
6710 @email{vroonhof@@math.ethz.ch, Jan Vroonhof} writes:
6711
6712 @quotation
6713 AUCTeX works fine on both stock Emacs and XEmacs has been doing so for
6714 a very very long time. This is mostly due to the work of
6715 @email{abraham@@dina.kvl.dk, Per Abrahamsen} (clap clap) in particular his @file{easymenu}
6716 package. Which leads to what is probably the problem...
6717 @end quotation
6718
6719 Most problems with AUCTeX are one of two things:
6720
6721 @itemize @bullet
6722 @item
6723 The TeX-lisp-directory in @file{tex-site.el} and the makefile don't
6724 match.
6725
6726 Fix: make sure you configure AUCTeX properly @strong{before} installing.
6727
6728 @item
6729 You have an old version of easymenu.el in your path.
6730
6731 Fix: use @code{locate-library} and remove old versions to make sure it
6732 @strong{only} finds the one that came with XEmacs.
6733 @end itemize
6734
6735 @node Q8.0.4, Q8.1.1, Q8.0.3, Other Packages
6736 @unnumberedsubsec Q8.0.4: How do I turn off current chapter from AUCTeX modeline?
6737
6738 With AUCTeX, fast typing is hard because the current chapter, section
6739 etc. are given in the modeline. How can I turn this off?
6740
6741 It's not AUCTeX, it comes from @code{func-menu} in @file{func-menu.el}.
6742
6743 @c Add this code to your @file{init.el} to turn it off:
6744 @c
6745 @c @lisp
6746 @c (setq fume-display-in-modeline-p nil)
6747 @c @end lisp
6748 @c
6749 @c Or just add a hook to @code{TeX-mode-hook} to turn it off only for TeX
6750 @c mode:
6751 @c
6752 @c @lisp
6753 @c (add-hook 'TeX-mode-hook
6754 @c '(lambda () (setq fume-display-in-modeline-p nil)))
6755 @c @end lisp
6756 @c
6757 @email{dhughes@@origin-at.co.uk, David Hughes} writes:
6758
6759 @quotation
6760 Try this; you'll still get the function name displayed in the modeline,
6761 but it won't attempt to keep track when you modify the file. To refresh
6762 when it gets out of synch, you simply need click on the @samp{Rescan
6763 Buffer} option in the function-menu.
6764
6765 @lisp
6766 (setq-default fume-auto-rescan-buffer-p nil)
6767 @end lisp
6768 @end quotation
6769
6770 @unnumberedsec 8.1: Other Unbundled Packages
6771
6772 @node Q8.1.1, Q8.1.2, Q8.0.4, Other Packages
6773 @unnumberedsubsec Q8.1.1: Is there a reason for an Emacs package not to be included in XEmacs?
6774
6775 The reason for an Emacs package not to be included in XEmacs is
6776 usually one or more of the following:
6777
6778 @enumerate
6779 @item
6780 The package has not been ported to XEmacs. This will typically happen
6781 when it uses GNU-Emacs-specific features, which make it fail under
6782 XEmacs.
6783
6784 Porting a package to XEmacs can range from a trivial amount of change to
6785 a partial or full rewrite. Fortunately, the authors of modern packages
6786 usually choose to support both Emacsen themselves.
6787
6788 @item
6789 The package has been decided not to be appropriate for XEmacs. It may
6790 have an equivalent or better replacement within XEmacs, in which case
6791 the developers may choose not to burden themselves with supporting an
6792 additional package.
6793
6794 Each package bundled with XEmacs means more work for the maintainers,
6795 whether they want it or not. If you are ready to take over the
6796 maintenance responsibilities for the package you port, be sure to say
6797 so---we will more likely include it.
6798
6799 @item
6800 The package simply hasn't been noted by the XEmacs development. If
6801 that's the case, the messages like yours are very useful for attracting
6802 our attention.
6803
6804 @item
6805 The package was noted by the developers, but they simply haven't yet
6806 gotten around to including/porting it. Wait for the next release or,
6807 even better, offer your help. It will be gladly accepted and
6808 appreciated.
6809 @end enumerate
6810
6811 @node Q8.1.2, Q8.1.3, Q8.1.1, Other Packages
6812 @unnumberedsubsec Q8.1.2: Are there any Emacs Lisp Spreadsheets?
6813
6814 Yes. Check out @dfn{dismal} (which stands for Dis' Mode Ain't Lotus) at
6815 @iftex
6816 @*
6817 @end iftex
6818 @uref{http://acs.ist.psu.edu/dismal/dismal.html}.
6819
6820 @node Q8.1.3, Q8.2.1, Q8.1.2, Other Packages
6821 @unnumberedsubsec Q8.1.3: Is there a MatLab mode?
6822
6823 Yes, a matlab mode and other items are available at the
6824 @uref{http://www.mathworks.com/matlabcentral/files/104/matlab.el}.
6825
6826 @unnumberedsec 8.2: Environments Built Around XEmacs
6827
6828 @node Q8.2.1, Q8.2.2, Q8.1.3, Other Packages
6829 @unnumberedsubsec Q8.2.1: What are SPARCworks, EOS, and WorkShop?
6830
6831 SPARCworks was a development environment from Sun (circa 1993-1996)
6832 and consisted of compilers (C, C++, FORTRAN 77, Fortran 90, Ada, and
6833 Pascal), a debugger, and other tools such as TeamWare (for
6834 configuration management), MakeTool, etc.
6835
6836 EOS is the integration of XEmacs with the SPARCworks debugger. It
6837 allows one to use an XEmacs frame to view code (complete with
6838 fontification, etc.), set breakpoints, print variables, etc., while
6839 using the SPARCworks debugger.
6840
6841 EOS stands for "Era on SPARCworks"; Era stood for "Emacs Rewritten
6842 Again" and was the name used by Sun for its modified version of Lucid
6843 Emacs (later XEmacs) in the early-mid 90's. This is documented in
6844 more detail in the history section of the XEmacs About page.
6845
6846 EOS was replaced around 1996 with a newer graphical development
6847 environment called Sun WorkShop. The current status of this is
6848 unknown.
6849
6850 @node Q8.2.2, Q8.2.3, Q8.2.1, Other Packages
6851 @unnumberedsubsec Q8.2.2: How do I start the Sun Workshop support in XEmacs 21?
6852
6853 Add the switch ---with-workshop to the configure command when building
6854 XEmacs and put the following in one of your startup files
6855 (e.g. site-start.el or .emacs):
6856
6857 @lisp
6858 (when (featurep 'tooltalk)
6859 (load "tooltalk-macros")
6860 (load "tooltalk-util")
6861 (load "tooltalk-init"))
6862 (when (featurep 'sparcworks)
6863 (load "sunpro-init")
6864 (load "ring")
6865 (load "comint")
6866 (load "annotations")
6867 (sunpro-startup))
6868 @end lisp
6869
6870 If you are not using the latest Workshop (5.0) you have to apply the
6871 following patch:
6872
6873 @format
6874 --- /opt/SUNWspro/lib/eserve.el.ORIG Fri May 14 15:23:26 1999
6875 +++ /opt/SUNWspro/lib/eserve.el Fri May 14 15:24:54 1999
6876 @@@@ -42,7 +42,7 @@@@
6877 (defvar running-xemacs nil "t if we're running XEmacs")
6878 (defvar running-emacs nil "t if we're running GNU Emacs 19")
6879
6880 -(if (string-match "^\\(19\\|20\\)\..*\\(XEmacs\\|Lucid\\)" emacs-version)
6881 +(if (string-match "\\(XEmacs\\|Lucid\\)" emacs-version)
6882 (setq running-xemacs t)
6883 (setq running-emacs t))
6884 @end format
6885
6886 @node Q8.2.3, Q8.2.4, Q8.2.2, Other Packages
6887 @unnumberedsubsec Q8.2.3: What is/was Energize?
6888
6889 The "Energize Programming System" was a C and C++ development environment
6890 sold by Lucid, Inc. It was the reason why Lucid Emacs, now XEmacs, was
6891 created in the first place. Unfortunately, Lucid went out of business in
6892 1994. The rights to sell it in Japan were purchased by INS
6893 Engineering (which briefly employed Stig Hackvan aka Jonathan
6894 Stigelman to work on Japanese support for XEmacs, in late 1994 and
6895 early 1995) and Tartan bought the rights to sell it in the rest of the
6896 world. However, INS is not selling Energize at this point and may or
6897 may not have ever done so; Tartan certainly never did.
6898
6899 @node Q8.2.4, , Q8.2.3, Other Packages
6900 @unnumberedsubsec Q8.2.4: What is Infodock?
6901
6902 @uref{http://sourceforge.net/projects/infodock/, InfoDock} is an
6903 integrated productivity toolset, mainly aimed at technical people,
6904 hosted at SourceForge.
6905
6906 InfoDock is built atop the XEmacs variant of GNU Emacs and so has all of
6907 the power of Emacs, but with an easier to use and more comprehensive
6908 menu-based user interface. The bottom portion of this text describes
6909 how it differs from XEmacs and GNU Emacs from the Free Software
6910 Foundation.
6911
6912 InfoDock is aimed at people who want a free, turn-key productivity
6913 environment. Although InfoDock is customizable, it is not intended for
6914 people who like basic versions of Emacs which need to be customized
6915 extensively for local use; standard Emacs distributions are better for
6916 such uses. InfoDock is for those people who want a complete,
6917 pre-customized environment in one package, which they need not touch
6918 more than once or twice a year to update to new revisions.
6919
6920 InfoDock is pre-built for SPARC SunOS/Solaris systems, PA-RISC HP-UX,
6921 and Intel Linux systems. It is intended for use on a color display,
6922 although most features will work on monochrome monitors. Simply unpack
6923 InfoDock according to the instructions in the ID-INSTALL file and you
6924 are ready to run.
6925
6926 The InfoDock Manual is concise, yet sufficient as a user guide for users
6927 who have never used an Emacs-type editor before. For users who are
6928 already familiar with Emacs, it supplements the information in the GNU
6929 Emacs Manual.
6930
6931 InfoDock menus are much more extensive and more mature than standard
6932 Emacs menus. Each menu offers a @samp{Manual} item which displays
6933 documentation associated with the menu's functions.
6934
6935 @noindent
6936 Four types of menubars are provided:
6937 @enumerate
6938 @item
6939 An extensive menubar providing access to global InfoDock commands.
6940 @item
6941 Mode-specific menubars tailored to the current major mode.
6942 @item
6943 A simple menubar for basic editing to help novices get started with InfoDock.
6944 @item
6945 The standard XEmacs menubar.
6946 @end enumerate
6947
6948 Most modes also include mode-specific popup menus. Additionally, region and
6949 rectangle popup menus are included.
6950
6951 @samp{Hyperbole}, the everyday information manager, is a core part of
6952 InfoDock. This provides context-sensitive mouse keys, a rolodex-type
6953 contact manager, programmable hypertext buttons, and an autonumbered
6954 outliner with embedded hyperlink anchors.
6955
6956 The @samp{OO-Browser}, a multi-language object-oriented code browser, is a
6957 standard part of InfoDock.
6958
6959 InfoDock saves a more extensive set of user options than other Emacs
6960 versions.
6961
6962 InfoDock inserts a useful file header in many file types, showing the
6963 author, summary, and last modification time of each file. A summary
6964 program can then be used to summarize all of the files in a directory,
6965 for easy MANIFEST file creation.
6966
6967 Your working set of buffers is automatically saved and restored (if you
6968 answer yes to a prompt) between InfoDock sessions.
6969
6970 Refined color choices for code highlighting are provided for both dark and
6971 light background display frames.
6972
6973 The @kbd{C-z} key prefix performs frame-based commands which parallel the
6974 @kbd{C-x} key prefix for window-based commands.
6975
6976 The Smart Menu system is included for producing command menus on dumb
6977 terminals.
6978
6979 Lisp libraries are better categorized according to function.
6980
6981 Extensions and improvements to many areas of Emacs are included, such as:
6982 paragraph filling, mail reading with Rmail, shell handling, outlining, code
6983 highlighting and browsing, and man page browsing.
6984
6985 InfoDock questions, answers and discussion should go to the mail list
6986 @iftex
6987 @*
6988 @end iftex
6989 @email{infodock@@infodock.com}. Use
6990 @email{infodock-request@@infodock.com} to be added or removed from the
6991 list. Always include your InfoDock version number when sending help
6992 requests.
6993
6994 @node Current Events, Legacy Versions, Other Packages, Top
6995 @unnumbered 9 What the Future Holds
6996
6997 This is part 9 of the XEmacs Frequently Asked Questions list. This
7193 section will change frequently, and (in theory) should contain any 6998 section will change frequently, and (in theory) should contain any
7194 interesting items that have transpired recently. (But in practice it's 6999 interesting items that have transpired recently. (But in practice it's
7195 not getting updated like this.) 7000 not getting updated like this.)
7196 7001
7197 This section also contains descriptions of the new features in all the 7002 This section also contains descriptions of the new features in all the
7202 menu. 7007 menu.
7203 7008
7204 Information on older versions of XEmacs can be find in @file{ONEWS} in 7009 Information on older versions of XEmacs can be find in @file{ONEWS} in
7205 the same directory, or @file{OONEWS} for really old versions. 7010 the same directory, or @file{OONEWS} for really old versions.
7206 7011
7207
7208 @menu 7012 @menu
7209 7.0: Changes 7013 * Q9.0.1:: What new features will be in XEmacs soon?
7210 * Q7.0.1:: What new features will be in XEmacs soon? 7014 * Q9.0.2:: What's new in XEmacs 21.4?
7211 * Q7.0.2:: What's new in XEmacs 21.4? 7015 * Q9.0.3:: What's new in XEmacs 21.1?
7212 * Q7.0.3:: What's new in XEmacs 21.1? 7016 * Q9.0.4:: What's new in XEmacs 20.4?
7213 * Q7.0.4:: What's new in XEmacs 20.4? 7017 * Q9.0.5:: What's new in XEmacs 20.3?
7214 * Q7.0.5:: What's new in XEmacs 20.3? 7018 * Q9.0.6:: What's new in XEmacs 20.2?
7215 * Q7.0.6:: What's new in XEmacs 20.2?
7216 @end menu 7019 @end menu
7217 7020
7218 @unnumberedsec 7.0: Changes 7021 @unnumberedsec 9.0: Changes
7219 7022
7220 @node Q7.0.1, Q7.0.2, Current Events, Current Events 7023 @node Q9.0.1, Q9.0.2, Current Events, Current Events
7221 @unnumberedsubsec Q7.0.1: What new features will be in XEmacs soon? 7024 @unnumberedsubsec Q9.0.1: What new features will be in XEmacs soon?
7222 7025
7223 #### Write me. 7026 #### Write me.
7224 7027
7225 @node Q7.0.2, Q7.0.3, Q7.0.1, Current Events 7028 @node Q9.0.2, Q9.0.3, Q9.0.1, Current Events
7226 @unnumberedsubsec Q7.0.2: What's new in XEmacs 21.4? 7029 @unnumberedsubsec Q9.0.2: What's new in XEmacs 21.4?
7227 7030
7228 21.4 was the "stable" version of the 21.2 series, which was considered 7031 21.4 was the "stable" version of the 21.2 series, which was considered
7229 "experimental" throughout its life; thus there were no "official" 7032 "experimental" throughout its life; thus there were no "official"
7230 releases at all. In essence, XEmacs is now following the "alternating" 7033 releases at all. In essence, XEmacs is now following the "alternating"
7231 scheme of Linux, where at any point there are at least two different 7034 scheme of Linux, where at any point there are at least two different
7342 @c APA: Texi2html produces invalid HTML from an empty list of bullets! 7145 @c APA: Texi2html produces invalid HTML from an empty list of bullets!
7343 @c Please uncomment following list when it does contain bullets. 7146 @c Please uncomment following list when it does contain bullets.
7344 @c @itemize @bullet 7147 @c @itemize @bullet
7345 @c @end itemize 7148 @c @end itemize
7346 7149
7347 @node Q7.0.3, Q7.0.4, Q7.0.2, Current Events 7150 @node Q9.0.3, Q9.0.4, Q9.0.2, Current Events
7348 @unnumberedsubsec Q7.0.3: What's new in XEmacs 21.1? 7151 @unnumberedsubsec Q9.0.3: What's new in XEmacs 21.1?
7349 7152
7350 21.1 was the "stable" version of "experimental" 21.0 series. 7153 21.1 was the "stable" version of "experimental" 21.0 series.
7351 @xref{Q7.0.2, What's new in XEmacs 21.4?}. 7154 @xref{Q9.0.2, What's new in XEmacs 21.4?}.
7352 7155
7353 The following lists summarizes the essential changes made in this 7156 The following lists summarizes the essential changes made in this
7354 version. For a fuller list, see the @file{NEWS} in the @file{etc} 7157 version. For a fuller list, see the @file{NEWS} in the @file{etc}
7355 directory of the XEmacs distribution, or use @kbd{C-h n} or the 7158 directory of the XEmacs distribution, or use @kbd{C-h n} or the
7356 @samp{Help} menu to view this file inside of XEmacs. 7159 @samp{Help} menu to view this file inside of XEmacs.
7358 @unnumberedsubsubsec User-visible changes in XEmacs 21.1 7161 @unnumberedsubsubsec User-visible changes in XEmacs 21.1
7359 7162
7360 @itemize @bullet 7163 @itemize @bullet
7361 7164
7362 @item 7165 @item
7363 XEmacs is now supported under Microsoft Windows 95/98/ME and Windows 7166 XEmacs is now supported under Microsoft Windows 95/98 and Windows
7364 NT/2000/XP operating systems. To discuss Windows-specific issues, 7167 NT/2000/XP operating systems. To discuss Windows-specific issues,
7365 subscribe to the mailing list at 7168 subscribe to the mailing list at
7366 @email{xemacs-winnt-request@@xemacs.org}. 7169 @email{xemacs-winnt-request@@xemacs.org}.
7367 7170
7368 @item 7171 @item
7481 use @code{Info-directory-list} instead; site-lisp is deprecated and no 7284 use @code{Info-directory-list} instead; site-lisp is deprecated and no
7482 longer on the load-path by default. 7285 longer on the load-path by default.
7483 7286
7484 @end itemize 7287 @end itemize
7485 7288
7486 @node Q7.0.4, Q7.0.5, Q7.0.3, Current Events 7289 @node Q9.0.4, Q9.0.5, Q9.0.3, Current Events
7487 @unnumberedsubsec Q7.0.4: What's new in XEmacs 20.4? 7290 @unnumberedsubsec Q9.0.4: What's new in XEmacs 20.4?
7488 7291
7489 XEmacs 20.4 is a bugfix release with no user-visible changes. 7292 XEmacs 20.4 is a bugfix release with no user-visible changes.
7490 @c Filled in from NEWS file of 20.5-b33 7293 @c Filled in from NEWS file of 20.5-b33
7491 7294
7492 @node Q7.0.5, Q7.0.6, Q7.0.4, Current Events 7295 @node Q9.0.5, Q9.0.6, Q9.0.4, Current Events
7493 @unnumberedsubsec Q7.0.5: What's new in XEmacs 20.3? 7296 @unnumberedsubsec Q9.0.5: What's new in XEmacs 20.3?
7494 7297
7495 XEmacs 20.3 was released in November 1997. It contains many bugfixes, 7298 XEmacs 20.3 was released in November 1997. It contains many bugfixes,
7496 and a number of new features, including Autoconf 2 based configuration, 7299 and a number of new features, including Autoconf 2 based configuration,
7497 additional support for Mule (Multi-language extensions to Emacs), many 7300 additional support for Mule (Multi-language extensions to Emacs), many
7498 more customizations, multiple frames on TTY-s, support for multiple info 7301 more customizations, multiple frames on TTY-s, support for multiple info
7507 the default) is definitely faster than XEmacs 19.16. 7310 the default) is definitely faster than XEmacs 19.16.
7508 7311
7509 XEmacs 20.3 is the first non-beta v20 release, and will be the 7312 XEmacs 20.3 is the first non-beta v20 release, and will be the
7510 basis for all further development. 7313 basis for all further development.
7511 7314
7512 @node Q7.0.6, , Q7.0.5, Current Events 7315 @node Q9.0.6, , Q9.0.5, Current Events
7513 @unnumberedsubsec Q7.0.6: What's new in XEmacs 20.2? 7316 @unnumberedsubsec Q9.0.6: What's new in XEmacs 20.2?
7514 7317
7515 The biggest changes in 20.2 include integration of EFS (the next 7318 The biggest changes in 20.2 include integration of EFS (the next
7516 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a 7319 generation of ange-ftp) and AUC Tex (the Emacs subsystem that includes a
7517 major mode for editing Tex and LaTeX, and a lot of other stuff). Many 7320 major mode for editing Tex and LaTeX, and a lot of other stuff). Many
7518 bugs from 20.0 have been fixed for this release. 20.2 also contains a 7321 bugs from 20.0 have been fixed for this release. 20.2 also contains a
7524 7327
7525 For older news, see the file @file{ONEWS} in the @file{etc} directory of 7328 For older news, see the file @file{ONEWS} in the @file{etc} directory of
7526 the XEmacs distribution. 7329 the XEmacs distribution.
7527 7330
7528 @node Legacy Versions, , Current Events, Top 7331 @node Legacy Versions, , Current Events, Top
7529 @unnumbered 8 New information about old XEmacsen 7332 @unnumbered 10 New information about old XEmacsen
7530 7333
7531 This is part 8 of the XEmacs Frequently Asked Questions list. It will 7334 This is part 10 of the XEmacs Frequently Asked Questions list. It will
7532 occasionally be updated to reflect new information about versions which 7335 occasionally be updated to reflect new information about versions which
7533 are no longer being revised by the XEmacs Project. The primary purpose 7336 are no longer being revised by the XEmacs Project. The primary purpose
7534 is advice on compatibility of older XEmacsen with new packages and 7337 is advice on compatibility of older XEmacsen with new packages and
7535 updated versions of packages, but bug fixes (which will not be applied 7338 updated versions of packages, but bug fixes (which will not be applied
7536 to released XEmacsen, but users can apply themselves) are also accepted. 7339 to released XEmacsen, but users can apply themselves) are also accepted.
7537 7340
7538 @menu 7341 @menu
7539 * Q8.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1. 7342 * Q10.0.1:: Gnus 5.10 won't display smileys in XEmacs 21.1.
7540 @end menu 7343 @end menu
7541 7344
7542 @unnumberedsec 8.0: XEmacs 21.1 7345 @unnumberedsec 10.0: XEmacs 21.1
7543 7346
7544 @node Q8.0.1, , Legacy Versions, Legacy Versions 7347 @node Q10.0.1, , Legacy Versions, Legacy Versions
7545 @unnumberedsubsec Q8.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1. 7348 @unnumberedsubsec Q10.0.1: Gnus 5.10 won't display smileys in XEmacs 21.1.
7546 7349
7547 @email{eeide@@cs.utah.edu, Eric Eide} wrote: 7350 @email{eeide@@cs.utah.edu, Eric Eide} wrote:
7548 7351
7549 @quotation 7352 @quotation
7550 Previously I wrote: 7353 Previously I wrote: