Mercurial > hg > xemacs-beta
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 |