comparison man/xemacs-faq.texi @ 1258:473e76fb6d95

[xemacs-hg @ 2003-02-05 08:18:55 by stephent] minor updates <87k7gfqgyz.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Wed, 05 Feb 2003 08:18:58 +0000
parents c1553814932e
children fea518919305
comparison
equal deleted inserted replaced
1257:4424541fa226 1258:473e76fb6d95
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: 2003/01/03 12:12:30 $ 10 @subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2003/02/05 08:18:55 $
11 @sp 1 11 @sp 1
12 @author Tony Rossini <rossini@@biostat.washington.edu> 12 @author Tony Rossini <rossini@@biostat.washington.edu>
13 @author Ben Wing <ben@@xemacs.org> 13 @author Ben Wing <ben@@xemacs.org>
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>
147 * Q2.0.8:: can't resolve symbol _h_errno 147 * Q2.0.8:: can't resolve symbol _h_errno
148 * Q2.0.9:: Where do I find external libraries? 148 * Q2.0.9:: Where do I find external libraries?
149 * Q2.0.10:: After I run configure I find a coredump, is something wrong? 149 * Q2.0.10:: After I run configure I find a coredump, is something wrong?
150 * Q2.0.11:: XEmacs can't resolve host names. 150 * Q2.0.11:: XEmacs can't resolve host names.
151 * Q2.0.12:: Why can't I strip XEmacs? 151 * Q2.0.12:: Why can't I strip XEmacs?
152 * Q2.0.13:: I don't need no steenkin' packages. Do I? (NEW) 152 * Q2.0.13:: I don't need no steenkin' packages. Do I?
153 * Q2.0.14:: How do I figure out which packages to install? (NEW) 153 * Q2.0.14:: How do I figure out which packages to install?
154 * Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW) 154 * Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW)
155 * Q2.0.16:: Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW) 155 * Q2.0.16:: Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
156 156
157 Trouble Shooting: 157 Trouble Shooting:
158 * Q2.1.1:: XEmacs just crashed on me! 158 * Q2.1.1:: XEmacs just crashed on me!
176 * Q2.1.19:: XEmacs does not follow the local timezone. 176 * Q2.1.19:: XEmacs does not follow the local timezone.
177 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.} 177 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.}
178 * Q2.1.21:: [This question intentionally left blank] 178 * Q2.1.21:: [This question intentionally left blank]
179 * Q2.1.22:: XEmacs seems to take a really long time to do some things. 179 * Q2.1.22:: XEmacs seems to take a really long time to do some things.
180 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later. 180 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later.
181 * Q2.1.24:: XEmacs won't start without network. (NEW) 181 * Q2.1.24:: XEmacs won't start without network.
182 * Q2.1.25:: After upgrading, XEmacs won't do `foo' any more! (NEW) 182 * Q2.1.25:: After upgrading, XEmacs won't do `foo' any more!
183 183
184 Customization and Options 184 Customization and Options
185 185
186 * Q3.0.1:: What version of Emacs am I running? 186 * Q3.0.1:: What version of Emacs am I running?
187 * Q3.0.2:: How do I evaluate Elisp expressions? 187 * Q3.0.2:: How do I evaluate Elisp expressions?
1342 * Q2.0.8:: can't resolve symbol _h_errno 1342 * Q2.0.8:: can't resolve symbol _h_errno
1343 * Q2.0.9:: Where do I find external libraries? 1343 * Q2.0.9:: Where do I find external libraries?
1344 * Q2.0.10:: After I run configure I find a coredump, is something wrong? 1344 * Q2.0.10:: After I run configure I find a coredump, is something wrong?
1345 * Q2.0.11:: XEmacs can't resolve host names. 1345 * Q2.0.11:: XEmacs can't resolve host names.
1346 * Q2.0.12:: Why can't I strip XEmacs? 1346 * Q2.0.12:: Why can't I strip XEmacs?
1347 * Q2.0.13:: I don't need no steenkin' packages. Do I? (NEW) 1347 * Q2.0.13:: I don't need no steenkin' packages. Do I?
1348 * Q2.0.14:: I don't want to install a million .els one at a time! (NEW) 1348 * Q2.0.14:: I don't want to install a million .els one at a time!
1349 * Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW) 1349 * Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW)
1350 * Q2.0.16:: Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW) 1350 * Q2.0.16:: Cygwin XEmacs won't start: cygXpm-noX4.dll was not found (NEW)
1351 1351
1352 Trouble Shooting: 1352 Trouble Shooting:
1353 * Q2.1.1:: XEmacs just crashed on me! 1353 * Q2.1.1:: XEmacs just crashed on me!
1371 * Q2.1.19:: XEmacs does not follow the local timezone. 1371 * Q2.1.19:: XEmacs does not follow the local timezone.
1372 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.} 1372 * Q2.1.20:: @samp{Symbol's function definition is void: hkey-help-show.}
1373 * Q2.1.21:: [This question intentionally left blank] 1373 * Q2.1.21:: [This question intentionally left blank]
1374 * Q2.1.22:: XEmacs seems to take a really long time to do some things. 1374 * Q2.1.22:: XEmacs seems to take a really long time to do some things.
1375 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later. 1375 * Q2.1.23:: Movemail on Linux does not work for XEmacs 19.15 and later.
1376 * Q2.1.24:: XEmacs won't start without network. (NEW) 1376 * Q2.1.24:: XEmacs won't start without network.
1377 * Q2.1.25:: After upgrading, XEmacs won't do `foo' any more! (NEW) 1377 * Q2.1.25:: After upgrading, XEmacs won't do `foo' any more!
1378 @end menu 1378 @end menu
1379 1379
1380 @node Q2.0.1, Q2.0.2, Installation, Installation 1380 @node Q2.0.1, Q2.0.2, Installation, Installation
1381 @unnumberedsec 2.0: Installation 1381 @unnumberedsec 2.0: Installation
1382 @unnumberedsubsec Q2.0.1: Running XEmacs without installing 1382 @unnumberedsubsec Q2.0.1: Running XEmacs without installing
1499 There have been a variety of reports of crashes due to compilers with 1499 There have been a variety of reports of crashes due to compilers with
1500 buggy optimizers. Please see the @file{PROBLEMS} file that comes with 1500 buggy optimizers. Please see the @file{PROBLEMS} file that comes with
1501 XEmacs to read what it says about your platform. 1501 XEmacs to read what it says about your platform.
1502 1502
1503 If you compiled XEmacs using @samp{--use-union-type} (or the option 1503 If you compiled XEmacs using @samp{--use-union-type} (or the option
1504 @samp{USE_UNION_TYPE} in @file{config.inc} under Windows), recompile 1504 @samp{USE_UNION_TYPE} in @file{config.inc} under Windows), try
1505 again without this. This has been known to trigger compiler errors in a 1505 recompiling again without it. The union type has been known to trigger
1506 number of cases. 1506 compiler errors in a number of cases.
1507 1507
1508 @node Q2.0.7, Q2.0.8, Q2.0.6, Installation 1508 @node Q2.0.7, Q2.0.8, Q2.0.6, Installation
1509 @unnumberedsubsec Q2.0.7: Libraries in non-standard locations 1509 @unnumberedsubsec Q2.0.7: Libraries in non-standard locations
1510 1510
1511 I have x-faces, jpeg, xpm etc. all in different places. I've tried 1511 I have x-faces, jpeg, xpm etc. all in different places. I've tried
1719 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout 1719 /usr/local/lib/xemacs-19.16/i586-unknown-linuxaout
1720 @end enumerate 1720 @end enumerate
1721 @end quotation 1721 @end quotation
1722 1722
1723 @node Q2.0.13, Q2.0.14, Q2.0.12, Installation 1723 @node Q2.0.13, Q2.0.14, Q2.0.12, Installation
1724 @unnumberedsubsec Q2.0.13: I don't need no steenkin' packages. Do I? (NEW) 1724 @unnumberedsubsec Q2.0.13: I don't need no steenkin' packages. Do I?
1725 1725
1726 Strictly speaking, no. XEmacs will build and install just fine without 1726 Strictly speaking, no. XEmacs will build and install just fine without
1727 any packages installed. However, only the most basic editing functions 1727 any packages installed. However, only the most basic editing functions
1728 will be available with no packages installed, so installing packages is 1728 will be available with no packages installed, so installing packages is
1729 an essential part of making your installed XEmacs _useful_. 1729 an essential part of making your installed XEmacs _useful_.
1730 1730
1731 @node Q2.0.14, Q2.0.15, Q2.0.13, Installation 1731 @node Q2.0.14, Q2.0.15, Q2.0.13, Installation
1732 @unnumberedsubsec Q2.0.14: How do I figure out which packages to install? (NEW) 1732 @unnumberedsubsec Q2.0.14: How do I figure out which packages to install?
1733 1733
1734 Many people really liked the old way that packages were bundled and do 1734 Many people really liked the old way that packages were bundled and do
1735 not want to mess with packages at all. You can grab all the packages at 1735 not want to mess with packages at all. You can grab all the packages at
1736 once like you used to with old XEmacs versions. Download the file 1736 once like you used to with old XEmacs versions. Download the file
1737 1737
2211 dump the method doesn't work and if you get @samp{Arithmetic error} then 2211 dump the method doesn't work and if you get @samp{Arithmetic error} then
2212 it does. 2212 it does.
2213 @end quotation 2213 @end quotation
2214 2214
2215 @node Q2.1.15, Q2.1.16, Q2.1.14, Installation 2215 @node Q2.1.15, Q2.1.16, Q2.1.14, Installation
2216 @unnumberedsubsec Q2.1.15: How to Debug an XEmacs problem with a debugger 2216 @unnumberedsubsec Q2.1.15: How to debug an XEmacs problem with a debugger
2217 2217
2218 If XEmacs does crash on you, one of the most productive things you can 2218 If XEmacs does crash on you, one of the most productive things you can
2219 do to help get the bug fixed is to poke around a bit with the debugger. 2219 do to help get the bug fixed is to poke around a bit with the debugger.
2220 Here are some hints: 2220 Here are some hints:
2221 2221
2224 First of all, if the crash is at all reproducible, consider very 2224 First of all, if the crash is at all reproducible, consider very
2225 strongly recompiling your XEmacs with debugging symbols and with no 2225 strongly recompiling your XEmacs with debugging symbols and with no
2226 optimization (e.g. with GCC use the compiler flags @samp{-g -O0} -- 2226 optimization (e.g. with GCC use the compiler flags @samp{-g -O0} --
2227 that's an "oh" followed by a zero), and with the configure options 2227 that's an "oh" followed by a zero), and with the configure options
2228 @samp{--debug=yes} and @samp{--error-checking=all}. This will make your 2228 @samp{--debug=yes} and @samp{--error-checking=all}. This will make your
2229 XEmacs run somewhat slower but make it a lot more likely to catch the 2229 XEmacs run somewhat slower, but you are a lot more likely to catch the
2230 problem earlier (closer to its source), and a lot easier to determine 2230 problem earlier (closer to its source). It makes it a lot easier to
2231 what's going on with a debugger. 2231 determine what's going on with a debugger.
2232 2232
2233 @item 2233 @item
2234 If you're able to run XEmacs under a debugger and reproduce the crash 2234 If it's not a true crash (@emph{i.e.}, XEmacs is hung, or a zombie
2235 (if it's inconvenient to do this because XEmacs is already running or is 2235 process), or it's inconvenient to run XEmacs again because XEmacs is
2236 running in batch mode as part of a bunch of scripts, consider attaching 2236 already running or is running in batch mode as part of a bunch of
2237 to the existing process with your debugger; most debuggers let you do 2237 scripts, you may be able to attach to the existing process with your
2238 this by substituting the process ID for the core file when you invoke 2238 debugger. Most debuggers let you do this by substituting the process ID
2239 the debugger from the command line, or by using the @code{attach} 2239 for the core file when you invoke the debugger from the command line, or
2240 command or something similar), here are some things you can do: 2240 by using the @code{attach} command or something similar.
2241
2242 @item
2243 If you're able to run XEmacs under a debugger and reproduce the crash,
2244 here are some things you can do:
2241 2245
2242 @item 2246 @item
2243 If XEmacs is hitting an assertion failure, put a breakpoint on 2247 If XEmacs is hitting an assertion failure, put a breakpoint on
2244 @code{assert_failed()}. 2248 @code{assert_failed()}.
2245 2249
2252 If XEmacs is outputting lots of X errors, put a breakpoint on 2256 If XEmacs is outputting lots of X errors, put a breakpoint on
2253 @code{x_error_handler()}; that will tell you which call is causing them. 2257 @code{x_error_handler()}; that will tell you which call is causing them.
2254 2258
2255 @item 2259 @item
2256 Internally, you will probably see lots of variables that hold objects of 2260 Internally, you will probably see lots of variables that hold objects of
2257 type @code{Lisp_Object}. These are exactly what they appear to be, 2261 type @code{Lisp_Object}. These are references to Lisp objects.
2258 i.e. references to Lisp objects. Printing them out with the debugger 2262 Printing them out with the debugger probably won't be too
2259 probably won't be too useful---you'll likely just see a number. To 2263 useful---you'll likely just see a number. To decode them, do this:
2260 decode them, do this:
2261 2264
2262 @example 2265 @example
2263 call dp (OBJECT) 2266 call dp (OBJECT)
2264 @end example 2267 @end example
2265 2268
2266 where @var{OBJECT} is whatever you want to decode (it can be a variable, 2269 where @var{OBJECT} is whatever you want to decode (it can be a variable,
2267 a function call, etc.). This will print out a readable representation 2270 a function call, etc.). This uses the Lisp printing routines to out a
2268 on the TTY from which the xemacs process was invoked. 2271 readable representation on the TTY from which the xemacs process was
2272 invoked.
2269 2273
2270 @item 2274 @item
2271 If you want to get a Lisp backtrace showing the Lisp call 2275 If you want to get a Lisp backtrace showing the Lisp call
2272 stack, do this: 2276 stack, do this:
2273 2277
2274 @example 2278 @example
2275 call db () 2279 call db ()
2276 @end example 2280 @end example
2277 2281
2278 @item 2282 @item
2279 Using @code{dp} and @code{db} has two disadvantages - it can only be 2283 Using @code{dp} and @code{db} has two disadvantages - they can only be
2280 used with a running xemacs process, and it cannot display the internal C 2284 used with a running (including hung or zombie) xemacs process, and they
2281 structure of a Lisp Object. Even if all you've got is a core dump, all 2285 do not display the internal C structure of a Lisp Object. Even if all
2282 is not lost. 2286 you've got is a core dump, all is not lost.
2283 2287
2284 If you're using GDB, there are some macros in the file 2288 If you're using GDB, there are some macros in the file
2285 @file{src/.gdbinit} in the XEmacs source distribution that should make 2289 @file{src/.gdbinit} in the XEmacs source distribution that should make
2286 it easier for you to decode Lisp objects. This file is automatically 2290 it easier for you to decode Lisp objects. This file is automatically
2287 read by gdb if gdb is run in the directory where xemacs was built, and 2291 read by gdb if gdb is run in the directory where xemacs was built, and
2297 Print the Lisp type of a lisp object. 2301 Print the Lisp type of a lisp object.
2298 2302
2299 @item lbt 2303 @item lbt
2300 Usage: lbt @* 2304 Usage: lbt @*
2301 Print the current Lisp stack trace. 2305 Print the current Lisp stack trace.
2302 Requires a running xemacs process. 2306 Requires a running xemacs process. (It works by calling the db
2307 routine described above.)
2303 2308
2304 @item ldp 2309 @item ldp
2305 Usage: ldp lisp_object @* 2310 Usage: ldp lisp_object @*
2306 Print a Lisp Object value using the Lisp printer. 2311 Print a Lisp Object value using the Lisp printer.
2307 Requires a running xemacs process. 2312 Requires a running xemacs process. (It works by calling the dp
2313 routine described above.)
2308 2314
2309 @item run-temacs 2315 @item run-temacs
2310 Usage: run-temacs @* 2316 Usage: run-temacs @*
2311 Run temacs interactively, like xemacs. 2317 Run temacs interactively, like xemacs.
2312 Use this with debugging tools (like purify) that cannot deal with dumping, 2318 Use this with debugging tools (like purify) that cannot deal with dumping,
2358 2364
2359 @item 2365 @item
2360 Your stack is getting trashed. Debugging this is hard; you have to do a 2366 Your stack is getting trashed. Debugging this is hard; you have to do a
2361 binary-search type of narrowing down where the crash occurs, until you 2367 binary-search type of narrowing down where the crash occurs, until you
2362 figure out exactly which line is causing the problem. Of course, this 2368 figure out exactly which line is causing the problem. Of course, this
2363 only works if the bug is highly reproducible. 2369 only works if the bug is highly reproducible. Also, in many cases if
2370 you run XEmacs from the debugger, the debugger can protect the stack
2371 somewhat. However, if the stack is being smashed, it is typically the
2372 case that there is a wild pointer somewhere in the program, often quite
2373 far from where the crash occurs.
2364 2374
2365 @item 2375 @item
2366 If your stack trace has exactly one frame in it, with address 0x0, this 2376 If your stack trace has exactly one frame in it, with address 0x0, this
2367 could simply mean that XEmacs attempted to execute code at that address, 2377 could simply mean that XEmacs attempted to execute code at that address,
2368 e.g. through jumping to a null function pointer. Unfortunately, under 2378 e.g. through jumping to a null function pointer. Unfortunately, under
2523 #define MAIL_USE_FLOCK 2533 #define MAIL_USE_FLOCK
2524 @end example 2534 @end example
2525 @end quotation 2535 @end quotation
2526 2536
2527 @node Q2.1.24, Q2.1.25, Q2.1.23, Installation 2537 @node Q2.1.24, Q2.1.25, Q2.1.23, Installation
2528 @unnumberedsubsec Q2.1.24: XEmacs won't start without network. (NEW) 2538 @unnumberedsubsec Q2.1.24: XEmacs won't start without network.
2529 2539
2530 If XEmacs starts when you're on the network, but fails when you're not 2540 If XEmacs starts when you're on the network, but fails when you're not
2531 on the network, you may be missing a "localhost" entry in your 2541 on the network, you may be missing a "localhost" entry in your
2532 @file{/etc/hosts} file. The file should contain an entry like: 2542 @file{/etc/hosts} file. The file should contain an entry like:
2533 2543
2536 @end example 2546 @end example
2537 2547
2538 Add that line, and XEmacs will be happy. 2548 Add that line, and XEmacs will be happy.
2539 2549
2540 @node Q2.1.25, , Q2.1.24, Installation 2550 @node Q2.1.25, , Q2.1.24, Installation
2541 @unnumberedsubsec Q2.1.25:: After upgrading, XEmacs won't do `foo' any more! (NEW) 2551 @unnumberedsubsec Q2.1.25:: After upgrading, XEmacs won't do `foo' any more!
2542 2552
2543 You have been used to doing `foo', but now when you invoke it (or click 2553 You have been used to doing `foo', but now when you invoke it (or click
2544 the toolbar button or select the menu item), nothing (or an error) 2554 the toolbar button or select the menu item), nothing (or an error)
2545 happens. The simplest explanation is that you are missing a package 2555 happens. The simplest explanation is that you are missing a package
2546 that is essential to you. You can either track it down and install it 2556 that is essential to you. You can either track it down and install it