Mercurial > hg > xemacs-beta
comparison lisp/w3/FAQ @ 118:7d55a9ba150c r20-1b11
Import from CVS: tag r20-1b11
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:24:17 +0200 |
parents | ec9a17fef872 |
children | cca96a509cfe |
comparison
equal
deleted
inserted
replaced
117:578fd4947a72 | 118:7d55a9ba150c |
---|---|
1 Q: Options menu is ugly under Emacs 19 | 1 Q: Options menu is ugly under Emacs 19 |
2 A: Wait for 19.35 - this is because of a 'feature lack' in easymenu.el | 2 A: Wait for 19.35 - this is because of a 'feature lack' in easymenu.el |
3 | 3 |
4 Q: Animated GIFs cause XEmacs 19.14 or 20.0 to crash | |
5 A: There was a bug in the GIF decoding routines in XEmacs 19.14 - please | |
6 upgrade to XEmacs 19.15 or later. | |
7 | |
4 Q: I get an error when starting up: | 8 Q: I get an error when starting up: |
5 Symbol's value as variable is void: widget-mouse-face | 9 Symbol's function definition is void: custom-declare-group |
6 A: This usually means you compiled W3 in an emacs that could not find | 10 A: This usually means you compiled W3 in an emacs that could not find |
7 the 'custom' package (or found an old version), but are running W3 | 11 the 'custom' package (or found an old version), but are running W3 |
8 in an emacs that find the new one. This is usually the case if you | 12 in an emacs that find the new one. This is usually the case if you |
9 have a recent version of GNUS installed in a non-standard place. | 13 have a recent version of GNUS installed in a non-standard place. |
10 | 14 |
11 Make sure that you can load the custom library when compiling | 15 Make sure that you can load the custom library when compiling |
12 emacs. Set the environment variable WIDGETDIR to where your custom | 16 emacs. Set the environment variable WIDGETDIR to where your custom |
13 library lives (ie: ~/lisp/gnus/lisp) | 17 library lives (ie: ~/lisp/gnus/lisp) |
18 | |
19 Courtesy of greg stark <gsstark@mit.edu> | |
20 Q: How do i get Shift-Tab to go backwards on a text terminal or XTerm? | |
21 aka: I hate the new text widgets, I can't go through the links with n and b | |
22 I can go forward using TAB but how do i go backward on a terminal? | |
23 | |
24 A: Not all terminals can distinguish between a shifted tab and an unshifted | |
25 tab at all. Tab is indicated on a text terminal by a control-i. There is no | |
26 such thing as capital control characters, so if the terminal is going to | |
27 indicate a shift-tab somehow it has to be completely differently. The most | |
28 appropriate thing to use is probably "backtab" which on old text terminals was | |
29 sometimes a separate key and Emacs is already set up to recognize | |
30 automatically if it exists. | |
31 | |
32 Making "backtab" work involves several steps. First you have to make sure your | |
33 console generates some character sequence to indicate the key you want to | |
34 generate a "backtab". Then you have to configure termcap or terminfo to | |
35 recognize that key sequence. Then you may have to make your programs do useful | |
36 things when they get a "backtab", Emacs for example will recognize it | |
37 automatically but except for the Widget and W3 commands nothing is ever bound | |
38 it it. | |
39 | |
40 Step 1 On An XTerm: XTerm obeys standard X Toolkit translations which you can | |
41 use to specify what character sequence Shift-Tab generates. The following X | |
42 Resources will cause Shift-Tab and Meta-Shift-Tab to generate reasonable | |
43 character sequences. You can either put this in your .Xresources or .Xdefaults | |
44 file, or you can put it in /usr/lib/X11/app-defaults/XTerm to make it a | |
45 site-wide default. (On Debian systems you should put it in | |
46 /etc/X11/Xresources, not the app-defaults files): | |
47 | |
48 XTerm*VT100.translations: #override \ | |
49 ~Meta Shift<Key>Tab: string(\033[Z) \n\ | |
50 Meta Shift<Key>Tab: string(\033\033[Z) \n | |
51 | |
52 I recommend these sequences, they are based on what seems to be a more or less | |
53 standard sequence ^[[Z for backtab. | |
54 | |
55 Step 1 On Rxvt: By default Rxvt sends ^[[Z for Shift-Tab. | |
56 However, if Shift-Tab generates another keysym, like for example in XFree86 | |
57 3.2 where it's bound to ISO_Left_Tab then Rxvt will just ignore it. You would | |
58 need to defeat this feature to make rxvt work again by doing something like: | |
59 | |
60 xmodmap -e 'keysym Tab = Tab' | |
61 | |
62 or adding that command to some global X configuration file (On Debian systems | |
63 adding ``Keysym Tab = Tab'' to /etc/X11/Xmodmap or ~/.Xmodmap is sufficient) | |
64 | |
65 Step 1 On A Linux Virtual Console: on a Linux virtual console you can | |
66 configure what character sequences are generated by which keys using the | |
67 loadkeys command. Many systems are set up to run loadkeys automatically on | |
68 startup with some keymap file. On Debian systems this is true, the keymap file | |
69 is specified in /etc/kbd/config and usually lives in the | |
70 /usr/lib/kbd/keytables directory. You want to put something like the following | |
71 in your keytable file: | |
72 | |
73 keycode 15 = Tab F91 | |
74 alt keycode 15 = Meta_Tab | |
75 shift alt keycode 15 = F92 | |
76 | |
77 where keycode 15 is Tab on my keyboard (and probably any keyboard). This | |
78 defines Tab and Alt-Tab normally, and also defines Shift-Tab to be F91 and | |
79 Shift-Alt-Tab to be F92. | |
80 | |
81 Then put something like this: | |
82 # backtab and M-backtab | |
83 string F91 = "\033[Z" | |
84 string F92 = "\033\033[Z" | |
85 | |
86 later in the file. This defines what character sequence F91 (Shift-Tab) and | |
87 F92 (Alt-Shift-Tab) should generate. I recommend these sequences, they are | |
88 based on what seems to be a more or less standard sequence ^[[Z for backtab. | |
89 | |
90 Step 2 On A Termcap System: | |
91 | |
92 The termcap capability is kB, i'm not familiar with termcap tools, i think you | |
93 just need to add it to the /etc/termcap file for the terminal you're concerned | |
94 with as kB=\E[Z. | |
95 | |
96 Step 2 On A Terminfo System: | |
97 | |
98 The terminfo capability is kcbt (the long name is key_btab). You want to run | |
99 infocmp to generate an edittable copy of the terminal info. Add the | |
100 capability, then use tic to compile that information. Something like this: | |
101 | |
102 infocmp $TERM > info | |
103 emacs info & # add kcbt=\E[Z, to the file | |
104 tic info | |
105 | |
106 If you do this as root it should add the new definition to the system wide | |
107 terminfo database. If you do it as a normal user it should create a | |
108 ~/.terminfo database with a local terminfo info definition for that terminal. | |
109 | |
110 Step 3 On Emacs: | |
111 | |
112 The standard terminal initialization should recognize the backtab capability | |
113 automatically. To test it try C-h c Shift-Tab and see what it calls the key. | |
114 To bind commands to it just use [backtab] in local-set-key or global-set-key | |
115 as in: | |
116 | |
117 (local-set-key [backtab] 'hippie-expand) | |
118 or | |
119 (global-set-key [backtab] 'hippie-expand) | |
120 | |
121 In the interest of maintaining a single consistent set of key bindings between | |
122 X and tty emacsen you may want to make equivalent X keystroke generate | |
123 "backtab" as well, you can do this by doing this: | |
124 | |
125 (define-key function-key-map [S-tab] [backtab]) | |
126 or | |
127 (define-key function-key-map [iso-lefttab] [backtab]) | |
128 | |
129 To make S-tab or whatever keystroke you made generate backtab on a terminal | |
130 be recognized as backtab under X11 as well. You can check how Emacs recognizes | |
131 this keystroke currently by doing C-h c <keystroke>. | |
132 | |
133 |