Mercurial > hg > xemacs-beta
comparison src/events.c @ 424:11054d720c21 r21-2-20
Import from CVS: tag r21-2-20
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:26:11 +0200 |
parents | 41dbb7a9d5f2 |
children |
comparison
equal
deleted
inserted
replaced
423:28d9c139be4c | 424:11054d720c21 |
---|---|
101 e->next = Qnil; | 101 e->next = Qnil; |
102 e->channel = Qnil; | 102 e->channel = Qnil; |
103 } | 103 } |
104 | 104 |
105 static Lisp_Object | 105 static Lisp_Object |
106 mark_event (Lisp_Object obj, void (*markobj) (Lisp_Object)) | 106 mark_event (Lisp_Object obj) |
107 { | 107 { |
108 struct Lisp_Event *event = XEVENT (obj); | 108 struct Lisp_Event *event = XEVENT (obj); |
109 | 109 |
110 switch (event->event_type) | 110 switch (event->event_type) |
111 { | 111 { |
112 case key_press_event: | 112 case key_press_event: |
113 markobj (event->event.key.keysym); | 113 mark_object (event->event.key.keysym); |
114 break; | 114 break; |
115 case process_event: | 115 case process_event: |
116 markobj (event->event.process.process); | 116 mark_object (event->event.process.process); |
117 break; | 117 break; |
118 case timeout_event: | 118 case timeout_event: |
119 markobj (event->event.timeout.function); | 119 mark_object (event->event.timeout.function); |
120 markobj (event->event.timeout.object); | 120 mark_object (event->event.timeout.object); |
121 break; | 121 break; |
122 case eval_event: | 122 case eval_event: |
123 case misc_user_event: | 123 case misc_user_event: |
124 markobj (event->event.eval.function); | 124 mark_object (event->event.eval.function); |
125 markobj (event->event.eval.object); | 125 mark_object (event->event.eval.object); |
126 break; | 126 break; |
127 case magic_eval_event: | 127 case magic_eval_event: |
128 markobj (event->event.magic_eval.object); | 128 mark_object (event->event.magic_eval.object); |
129 break; | 129 break; |
130 case button_press_event: | 130 case button_press_event: |
131 case button_release_event: | 131 case button_release_event: |
132 case pointer_motion_event: | 132 case pointer_motion_event: |
133 case magic_event: | 133 case magic_event: |
135 case dead_event: | 135 case dead_event: |
136 break; | 136 break; |
137 default: | 137 default: |
138 abort (); | 138 abort (); |
139 } | 139 } |
140 markobj (event->channel); | 140 mark_object (event->channel); |
141 return event->next; | 141 return event->next; |
142 } | 142 } |
143 | 143 |
144 static void | 144 static void |
145 print_event_1 (CONST char *str, Lisp_Object obj, Lisp_Object printcharfun) | 145 print_event_1 (CONST char *str, Lisp_Object obj, Lisp_Object printcharfun) |
2227 defsymbol (&Qkey_press, "key-press"); | 2227 defsymbol (&Qkey_press, "key-press"); |
2228 defsymbol (&Qbutton_press, "button-press"); | 2228 defsymbol (&Qbutton_press, "button-press"); |
2229 defsymbol (&Qbutton_release, "button-release"); | 2229 defsymbol (&Qbutton_release, "button-release"); |
2230 defsymbol (&Qmisc_user, "misc-user"); | 2230 defsymbol (&Qmisc_user, "misc-user"); |
2231 defsymbol (&Qascii_character, "ascii-character"); | 2231 defsymbol (&Qascii_character, "ascii-character"); |
2232 | |
2233 defsymbol (&QKbackspace, "backspace"); | |
2234 defsymbol (&QKtab, "tab"); | |
2235 defsymbol (&QKlinefeed, "linefeed"); | |
2236 defsymbol (&QKreturn, "return"); | |
2237 defsymbol (&QKescape, "escape"); | |
2238 defsymbol (&QKspace, "space"); | |
2239 defsymbol (&QKdelete, "delete"); | |
2240 } | |
2241 | |
2242 | |
2243 void | |
2244 reinit_vars_of_events (void) | |
2245 { | |
2246 Vevent_resource = Qnil; | |
2232 } | 2247 } |
2233 | 2248 |
2234 void | 2249 void |
2235 vars_of_events (void) | 2250 vars_of_events (void) |
2236 { | 2251 { |
2252 reinit_vars_of_events (); | |
2253 | |
2237 DEFVAR_LISP ("character-set-property", &Vcharacter_set_property /* | 2254 DEFVAR_LISP ("character-set-property", &Vcharacter_set_property /* |
2238 A symbol used to look up the 8-bit character of a keysym. | 2255 A symbol used to look up the 8-bit character of a keysym. |
2239 To convert a keysym symbol to an 8-bit code, as when that key is | 2256 To convert a keysym symbol to an 8-bit code, as when that key is |
2240 bound to self-insert-command, we will look up the property that this | 2257 bound to self-insert-command, we will look up the property that this |
2241 variable names on the property list of the keysym-symbol. The window- | 2258 variable names on the property list of the keysym-symbol. The window- |
2242 system-specific code will set up appropriate properties and set this | 2259 system-specific code will set up appropriate properties and set this |
2243 variable. | 2260 variable. |
2244 */ ); | 2261 */ ); |
2245 Vcharacter_set_property = Qnil; | 2262 Vcharacter_set_property = Qnil; |
2246 | 2263 } |
2247 Vevent_resource = Qnil; | |
2248 | |
2249 QKbackspace = KEYSYM ("backspace"); | |
2250 QKtab = KEYSYM ("tab"); | |
2251 QKlinefeed = KEYSYM ("linefeed"); | |
2252 QKreturn = KEYSYM ("return"); | |
2253 QKescape = KEYSYM ("escape"); | |
2254 QKspace = KEYSYM ("space"); | |
2255 QKdelete = KEYSYM ("delete"); | |
2256 | |
2257 staticpro (&QKbackspace); | |
2258 staticpro (&QKtab); | |
2259 staticpro (&QKlinefeed); | |
2260 staticpro (&QKreturn); | |
2261 staticpro (&QKescape); | |
2262 staticpro (&QKspace); | |
2263 staticpro (&QKdelete); | |
2264 } |