Changeset 3666
- Timestamp:
- 04/03/05 14:52:15 (4 years ago)
- Files:
-
- branches/2.2/src/ChangeLog.Meadow (modified) (1 diff)
- branches/2.2/src/keyboard.c (modified) (2 diffs)
- branches/2.2/src/lisp.h (modified) (14 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/2.2/src/ChangeLog.Meadow
r3665 r3666 1 2005-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 1 8 2005-04-02 MIYOSHI Masanori <miyoshi@meadowy.org> 2 9 branches/2.2/src/keyboard.c
r3662 r3666 3427 3427 #endif 3428 3428 3429 3430 Lisp_Object Vthrow_on_input; 3431 3429 3432 /* Store an event obtained at interrupt level into kbd_buffer, fifo */ 3430 3433 … … 11683 11686 If the value is not a number, such messages don't time out. */); 11684 11687 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. 11691 The value of that variable is passed to `quit-flag' and later causes a 11692 peculiar kind of quitting. */); 11693 Vthrow_on_input = Qnil; 11685 11694 } 11686 11695 branches/2.2/src/lisp.h
r3665 r3666 202 202 enum Lisp_Type type : GCTYPEBITS + 1; 203 203 } u; 204 struct205 {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;212 204 } 213 205 Lisp_Object; … … 232 224 EMACS_UINT val : VALBITS; 233 225 } u; 234 struct235 {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;242 226 } 243 227 Lisp_Object; … … 422 406 */ 423 407 #define XTYPE(a) ((enum Lisp_Type) (((EMACS_UINT) (a)) >> VALBITS)) 424 #define XSETTYPE(a, b) ((a) = XUINT (a) | ((EMACS_INT)(b) << VALBITS))425 408 426 409 /* For integers known to be positive, XFASTINT provides fast retrieval … … 456 439 #endif /* not USE_LSB_TAG */ 457 440 441 #define EQ(x, y) ((x) == (y)) 442 458 443 #if VALBITS + GCTYPEBITS == BITS_PER_EMACS_INT - 1 459 444 /* Make XMARKBIT faster if mark bit is sign bit. */ … … 482 467 483 468 #define XTYPE(a) ((enum Lisp_Type) (a).u.type) 484 #define XSETTYPE(a, b) ((a).u.type = (char) (b))485 469 486 470 /* For integers known to be positive, XFASTINT provides fast retrieval … … 592 576 /* Construct a Lisp_Object from a value or address. */ 593 577 594 #define XSETINT(a, b) XSET (a, Lisp_Int,b)578 #define XSETINT(a, b) (a) = make_number (b) 595 579 #define XSETCONS(a, b) XSET (a, Lisp_Cons, b) 596 580 #define XSETVECTOR(a, b) XSET (a, Lisp_Vectorlike, b) … … 1454 1438 /* Data type checking */ 1455 1439 1456 #define NILP(x) (XFASTINT (x) == XFASTINT (Qnil))1440 #define NILP(x) EQ (x, Qnil) 1457 1441 #define GC_NILP(x) GC_EQ (x, Qnil) 1458 1442 … … 1463 1447 1464 1448 #define INTEGERP(x) (XTYPE ((x)) == Lisp_Int) 1465 #define GC_INTEGERP(x) (XGCTYPE ((x)) == Lisp_Int)1449 #define GC_INTEGERP(x) INTEGERP (x) 1466 1450 #define SYMBOLP(x) (XTYPE ((x)) == Lisp_Symbol) 1467 1451 #define GC_SYMBOLP(x) (XGCTYPE ((x)) == Lisp_Symbol) … … 1538 1522 1539 1523 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) 1542 1525 1543 1526 #define CHECK_LIST(x) \ … … 1860 1843 if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ 1861 1844 { \ 1845 Lisp_Object flag = Vquit_flag; \ 1862 1846 Vquit_flag = Qnil; \ 1847 if (EQ (Vthrow_on_input, flag)) \ 1848 Fthrow (Vthrow_on_input, Qnil); \ 1863 1849 Fsignal (Qquit, Qnil); \ 1864 1850 } \ … … 2877 2863 /* Defined in abbrev.c */ 2878 2864 2879 extern Lisp_Object Vfundamental_mode_abbrev_table;2880 2865 extern void syms_of_abbrev P_ ((void)); 2881 2866 … … 3066 3051 extern Lisp_Object Qprocessp; 3067 3052 extern void kill_buffer_processes P_ ((Lisp_Object)); 3068 extern int wait_reading_process_input P_ ((int, int, Lisp_Object, int)); 3053 extern int wait_reading_process_output P_ ((int, int, int, int, 3054 Lisp_Object, 3055 struct Lisp_Process *, 3056 int)); 3069 3057 extern void deactivate_process P_ ((Lisp_Object)); 3070 3058 extern void add_keyboard_wait_descriptor P_ ((int)); … … 3125 3113 Lisp_Object)); 3126 3114 extern void syms_of_undo P_ ((void)); 3115 extern Lisp_Object Vundo_outer_limit; 3127 3116 3128 3117 /* defined in textprop.c */ … … 3145 3134 EXFUN (Fx_popup_dialog, 2); 3146 3135 extern void syms_of_xmenu P_ ((void)); 3147 extern int popup_activated_flag;3148 3136 3149 3137 /* defined in sysdep.c */
