110 |
r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O. |
r -- Region: point and mark as 2 numeric args, smallest first. Does no I/O. |
111 |
s -- Any string. Does not inherit the current input method. |
s -- Any string. Does not inherit the current input method. |
112 |
S -- Any symbol. |
S -- Any symbol. |
113 |
|
U -- Mouse up event discarded by a previous k or K argument. |
114 |
v -- Variable name: symbol that is user-variable-p. |
v -- Variable name: symbol that is user-variable-p. |
115 |
x -- Lisp expression read but not evaluated. |
x -- Lisp expression read but not evaluated. |
116 |
X -- Lisp expression read and evaluated. |
X -- Lisp expression read and evaluated. |
269 |
Lisp_Object specs; |
Lisp_Object specs; |
270 |
Lisp_Object filter_specs; |
Lisp_Object filter_specs; |
271 |
Lisp_Object teml; |
Lisp_Object teml; |
272 |
|
Lisp_Object up_event; |
273 |
Lisp_Object enable; |
Lisp_Object enable; |
274 |
int speccount = SPECPDL_INDEX (); |
int speccount = SPECPDL_INDEX (); |
275 |
|
|
291 |
char prompt1[100]; |
char prompt1[100]; |
292 |
char *tem1; |
char *tem1; |
293 |
int arg_from_tty = 0; |
int arg_from_tty = 0; |
294 |
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; |
struct gcpro gcpro1, gcpro2, gcpro3, gcpro4, gcpro5; |
295 |
int key_count; |
int key_count; |
296 |
int record_then_fail = 0; |
int record_then_fail = 0; |
297 |
|
|
330 |
The feature is not fully implemented. */ |
The feature is not fully implemented. */ |
331 |
filter_specs = Qnil; |
filter_specs = Qnil; |
332 |
|
|
333 |
|
/* If k or K discard an up-event, save it here so it can be retrieved with U */ |
334 |
|
up_event = Qnil; |
335 |
|
|
336 |
/* Decode the kind of function. Either handle it and return, |
/* Decode the kind of function. Either handle it and return, |
337 |
or go to `lose' if not interactive, or go to `retry' |
or go to `lose' if not interactive, or go to `retry' |
338 |
to specify a different function, or set either STRING or SPECS. */ |
to specify a different function, or set either STRING or SPECS. */ |
504 |
varies[i] = 0; |
varies[i] = 0; |
505 |
} |
} |
506 |
|
|
507 |
GCPRO4 (prefix_arg, function, *args, *visargs); |
GCPRO5 (prefix_arg, function, *args, *visargs, up_event); |
508 |
gcpro3.nvars = (count + 1); |
gcpro3.nvars = (count + 1); |
509 |
gcpro4.nvars = (count + 1); |
gcpro4.nvars = (count + 1); |
510 |
|
|
633 |
/* Ignore first element, which is the base key. */ |
/* Ignore first element, which is the base key. */ |
634 |
tem2 = Fmemq (intern ("down"), Fcdr (teml)); |
tem2 = Fmemq (intern ("down"), Fcdr (teml)); |
635 |
if (! NILP (tem2)) |
if (! NILP (tem2)) |
636 |
Fread_event (Qnil, Qnil); |
up_event = Fread_event (Qnil, Qnil); |
637 |
} |
} |
638 |
} |
} |
639 |
break; |
break; |
661 |
/* Ignore first element, which is the base key. */ |
/* Ignore first element, which is the base key. */ |
662 |
tem2 = Fmemq (intern ("down"), Fcdr (teml)); |
tem2 = Fmemq (intern ("down"), Fcdr (teml)); |
663 |
if (! NILP (tem2)) |
if (! NILP (tem2)) |
664 |
Fread_event (Qnil, Qnil); |
up_event = Fread_event (Qnil, Qnil); |
665 |
} |
} |
666 |
} |
} |
667 |
break; |
break; |
668 |
|
|
669 |
|
case 'U': /* Up event from last k or K */ |
670 |
|
if (!NILP (up_event)) |
671 |
|
{ |
672 |
|
args[i] = Fmake_vector (make_number (1), up_event); |
673 |
|
up_event = Qnil; |
674 |
|
teml = args[i]; |
675 |
|
visargs[i] = Fkey_description (teml, Qnil); |
676 |
|
} |
677 |
|
break; |
678 |
|
|
679 |
case 'e': /* The invoking event. */ |
case 'e': /* The invoking event. */ |
680 |
if (next_event >= key_count) |
if (next_event >= key_count) |
681 |
error ("%s must be bound to an event with parameters", |
error ("%s must be bound to an event with parameters", |