Changeset 3666

Show
Ignore:
Timestamp:
04/03/05 14:52:15 (4 years ago)
Author:
miyoshi
Message:

* lisp.h: Sync up with Emacs CVS HEAD.

* keyboard.c: New external lisp object `Vthrow_on_input'.
(syms_of_keyboard): Initialize the above object.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/2.2/src/ChangeLog.Meadow

    r3665 r3666  
     12005-04-03  MIYOSHI Masanori  <miyoshi@meadowy.org> 
     2 
     3        * lisp.h: Sync up with Emacs CVS HEAD. 
     4 
     5        * keyboard.c: New external lisp object `Vthrow_on_input'. 
     6        (syms_of_keyboard): Initialize the above object. 
     7 
    182005-04-02  MIYOSHI Masanori  <miyoshi@meadowy.org> 
    29 
  • branches/2.2/src/keyboard.c

    r3662 r3666  
    34273427#endif 
    34283428 
     3429 
     3430Lisp_Object Vthrow_on_input; 
     3431 
    34293432/* Store an event obtained at interrupt level into kbd_buffer, fifo */ 
    34303433 
     
    1168311686If the value is not a number, such messages don't time out.  */); 
    1168411687  Vminibuffer_message_timeout = make_number (2); 
     11688 
     11689  DEFVAR_LISP ("throw-on-input", &Vthrow_on_input, 
     11690               doc: /* If non-nil, any keyboard input throws to this symbol. 
     11691The value of that variable is passed to `quit-flag' and later causes a 
     11692peculiar kind of quitting.  */); 
     11693  Vthrow_on_input = Qnil; 
    1168511694} 
    1168611695 
  • branches/2.2/src/lisp.h

    r3665 r3666  
    202202        enum Lisp_Type type : GCTYPEBITS + 1; 
    203203      } u; 
    204     struct 
    205       { 
    206         EMACS_UINT val          : VALBITS; 
    207         enum Lisp_Type type     : GCTYPEBITS; 
    208         /* The markbit is not really part of the value of a Lisp_Object, 
    209            and is always zero except during garbage collection.  */ 
    210         EMACS_UINT markbit      : 1; 
    211       } gu; 
    212204  } 
    213205Lisp_Object; 
     
    232224        EMACS_UINT val : VALBITS; 
    233225      } u; 
    234     struct 
    235       { 
    236         /* The markbit is not really part of the value of a Lisp_Object, 
    237            and is always zero except during garbage collection.  */ 
    238         EMACS_UINT markbit      : 1; 
    239         enum Lisp_Type type     : GCTYPEBITS; 
    240         EMACS_UINT val          : VALBITS; 
    241       } gu; 
    242226  } 
    243227Lisp_Object; 
     
    422406 */ 
    423407#define XTYPE(a) ((enum Lisp_Type) (((EMACS_UINT) (a)) >> VALBITS)) 
    424 #define XSETTYPE(a, b) ((a)  =  XUINT (a) | ((EMACS_INT)(b) << VALBITS)) 
    425408 
    426409/* For integers known to be positive, XFASTINT provides fast retrieval 
     
    456439#endif /* not USE_LSB_TAG */ 
    457440 
     441#define EQ(x, y) ((x) == (y)) 
     442 
    458443#if VALBITS + GCTYPEBITS == BITS_PER_EMACS_INT - 1 
    459444/* Make XMARKBIT faster if mark bit is sign bit.  */ 
     
    482467 
    483468#define XTYPE(a) ((enum Lisp_Type) (a).u.type) 
    484 #define XSETTYPE(a, b) ((a).u.type = (char) (b)) 
    485469 
    486470/* For integers known to be positive, XFASTINT provides fast retrieval 
     
    592576/* Construct a Lisp_Object from a value or address.  */ 
    593577 
    594 #define XSETINT(a, b) XSET (a, Lisp_Int, b) 
     578#define XSETINT(a, b) (a) = make_number (b) 
    595579#define XSETCONS(a, b) XSET (a, Lisp_Cons, b) 
    596580#define XSETVECTOR(a, b) XSET (a, Lisp_Vectorlike, b) 
     
    14541438/* Data type checking */ 
    14551439 
    1456 #define NILP(x)  (XFASTINT (x) == XFASTINT (Qnil)
     1440#define NILP(x)  EQ (x, Qnil
    14571441#define GC_NILP(x) GC_EQ (x, Qnil) 
    14581442 
     
    14631447 
    14641448#define INTEGERP(x) (XTYPE ((x)) == Lisp_Int) 
    1465 #define GC_INTEGERP(x) (XGCTYPE ((x)) == Lisp_Int
     1449#define GC_INTEGERP(x) INTEGERP (x
    14661450#define SYMBOLP(x) (XTYPE ((x)) == Lisp_Symbol) 
    14671451#define GC_SYMBOLP(x) (XGCTYPE ((x)) == Lisp_Symbol) 
     
    15381522 
    15391523  
    1540 #define EQ(x, y) (XFASTINT (x) == XFASTINT (y)) 
    1541 #define GC_EQ(x, y) (XGCTYPE (x) == XGCTYPE (y) && XPNTR (x) == XPNTR (y)) 
     1524#define GC_EQ(x, y) EQ (x, y) 
    15421525 
    15431526#define CHECK_LIST(x) \ 
     
    18601843    if (!NILP (Vquit_flag) && NILP (Vinhibit_quit))     \ 
    18611844      {                                                 \ 
     1845        Lisp_Object flag = Vquit_flag;                  \ 
    18621846        Vquit_flag = Qnil;                              \ 
     1847        if (EQ (Vthrow_on_input, flag))                 \ 
     1848          Fthrow (Vthrow_on_input, Qnil);               \ 
    18631849        Fsignal (Qquit, Qnil);                          \ 
    18641850      }                                                 \ 
     
    28772863/* Defined in abbrev.c */ 
    28782864 
    2879 extern Lisp_Object Vfundamental_mode_abbrev_table; 
    28802865extern void syms_of_abbrev P_ ((void)); 
    28812866 
     
    30663051extern Lisp_Object Qprocessp; 
    30673052extern void kill_buffer_processes P_ ((Lisp_Object)); 
    3068 extern int wait_reading_process_input P_ ((int, int, Lisp_Object, int)); 
     3053extern int wait_reading_process_output P_ ((int, int, int, int, 
     3054                                            Lisp_Object, 
     3055                                            struct Lisp_Process *, 
     3056                                            int)); 
    30693057extern void deactivate_process P_ ((Lisp_Object)); 
    30703058extern void add_keyboard_wait_descriptor P_ ((int)); 
     
    31253113                                        Lisp_Object)); 
    31263114extern void syms_of_undo P_ ((void)); 
     3115extern Lisp_Object Vundo_outer_limit; 
    31273116 
    31283117/* defined in textprop.c */ 
     
    31453134EXFUN (Fx_popup_dialog, 2); 
    31463135extern void syms_of_xmenu P_ ((void)); 
    3147 extern int popup_activated_flag; 
    31483136 
    31493137/* defined in sysdep.c */