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 }