Mercurial > hg > xemacs-beta
comparison src/gui-x.c @ 286:57709be46d1b r21-0b41
Import from CVS: tag r21-0b41
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:35:03 +0200 |
parents | 558f606b08ae |
children | e11d67e05968 |
comparison
equal
deleted
inserted
replaced
285:9a3756523c1b | 286:57709be46d1b |
---|---|
34 #include "buffer.h" | 34 #include "buffer.h" |
35 #include "device.h" | 35 #include "device.h" |
36 #include "frame.h" | 36 #include "frame.h" |
37 #include "gui.h" | 37 #include "gui.h" |
38 #include "opaque.h" | 38 #include "opaque.h" |
39 #include "bytecode.h" /* for struct Lisp_Compiled_Function */ | |
40 | 39 |
41 #ifdef HAVE_POPUPS | 40 #ifdef HAVE_POPUPS |
42 Lisp_Object Qmenu_no_selection_hook; | 41 Lisp_Object Qmenu_no_selection_hook; |
43 #endif | 42 #endif |
44 | 43 |
257 if (((EMACS_INT) client_data) == -1) | 256 if (((EMACS_INT) client_data) == -1) |
258 { | 257 { |
259 fn = Qrun_hooks; | 258 fn = Qrun_hooks; |
260 arg = Qmenu_no_selection_hook; | 259 arg = Qmenu_no_selection_hook; |
261 } | 260 } |
262 else if (SYMBOLP (data) | |
263 /* poor man's commandp | |
264 #### should abstract it out! */ | |
265 || (COMPILED_FUNCTIONP (data) | |
266 && XCOMPILED_FUNCTION (data)->flags.interactivep) | |
267 || (EQ (XCAR (data), Qlambda) | |
268 && !NILP (Fassq (Qinteractive, Fcdr (Fcdr (data)))))) | |
269 { | |
270 fn = Qcall_interactively; | |
271 arg = data; | |
272 } | |
273 else if (CONSP (data)) | |
274 { | |
275 fn = Qeval; | |
276 arg = data; | |
277 } | |
278 else | 261 else |
279 { | 262 get_callback (data, &fn, &arg); |
280 fn = Qeval; | |
281 arg = list3 (Qsignal, | |
282 list2 (Qquote, Qerror), | |
283 list2 (Qquote, list2 (build_translated_string | |
284 ("illegal popup callback"), | |
285 data))); | |
286 } | |
287 | 263 |
288 /* This is the timestamp used for asserting focus so we need to get an | 264 /* This is the timestamp used for asserting focus so we need to get an |
289 up-to-date value event if no events has been dispatched to emacs | 265 up-to-date value event if no events has been dispatched to emacs |
290 */ | 266 */ |
291 #if defined(HAVE_MENUBARS) | 267 #if defined(HAVE_MENUBARS) |