/[emacs]/emacs/src/callint.c
ViewVC logotype

Diff of /emacs/src/callint.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.126.4.3 by miles, Tue Aug 3 00:03:00 2004 UTC revision 1.126.4.4 by miles, Wed Oct 27 05:42:02 2004 UTC
# Line 110  P -- Prefix arg in raw form.  Does not d Line 110  P -- Prefix arg in raw form.  Does not d
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.
# Line 268  If KEYS is omitted or nil, the return va Line 269  If KEYS is omitted or nil, the return va
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    
# Line 289  If KEYS is omitted or nil, the return va Line 291  If KEYS is omitted or nil, the return va
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    
# Line 328  If KEYS is omitted or nil, the return va Line 330  If KEYS is omitted or nil, the return va
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.  */
# Line 499  If KEYS is omitted or nil, the return va Line 504  If KEYS is omitted or nil, the return va
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    
# Line 628  If KEYS is omitted or nil, the return va Line 633  If KEYS is omitted or nil, the return va
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;
# Line 656  If KEYS is omitted or nil, the return va Line 661  If KEYS is omitted or nil, the return va
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",

Legend:
Removed from v.1.126.4.3  
changed lines
  Added in v.1.126.4.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26