diff options
| author | Karl Heuer | 1995-01-28 03:39:17 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-01-28 03:39:17 +0000 |
| commit | f334de0e0afd5a508bfaf5c90ca2a1f3410af486 (patch) | |
| tree | 0c29c80be75ab37130d38ce943ecf52b1558003a | |
| parent | ba72822c1d15f496b5cf3e250398fb9fc1ebdec6 (diff) | |
| download | emacs-f334de0e0afd5a508bfaf5c90ca2a1f3410af486.tar.gz emacs-f334de0e0afd5a508bfaf5c90ca2a1f3410af486.zip | |
(enum Lisp_Misc_Type): New enumeration Lisp_Misc_Display_Local.
(struct Lisp_Display_Objfwd): New structure.
(XDISPLAY_OBJFWD, DISPLAY_OBJFWDP): Access the new structure.
(union Lisp_Misc): Add new member.
| -rw-r--r-- | src/lisp.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lisp.h b/src/lisp.h index d8175f1a580..c8174baad69 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -79,6 +79,7 @@ enum Lisp_Misc_Type | |||
| 79 | Lisp_Misc_Buffer_Local_Value, | 79 | Lisp_Misc_Buffer_Local_Value, |
| 80 | Lisp_Misc_Some_Buffer_Local_Value, | 80 | Lisp_Misc_Some_Buffer_Local_Value, |
| 81 | Lisp_Misc_Overlay, | 81 | Lisp_Misc_Overlay, |
| 82 | Lisp_Misc_Display_Objfwd, | ||
| 82 | /* Currently floats are not a misc type, | 83 | /* Currently floats are not a misc type, |
| 83 | but let's define this in case we want to change that. */ | 84 | but let's define this in case we want to change that. */ |
| 84 | Lisp_Misc_Float, | 85 | Lisp_Misc_Float, |
| @@ -383,6 +384,7 @@ extern int pure_size; | |||
| 383 | #define XBUFFER_OBJFWD(a) (&(XMISC(a)->u_buffer_objfwd)) | 384 | #define XBUFFER_OBJFWD(a) (&(XMISC(a)->u_buffer_objfwd)) |
| 384 | #define XBUFFER_LOCAL_VALUE(a) (&(XMISC(a)->u_buffer_local_value)) | 385 | #define XBUFFER_LOCAL_VALUE(a) (&(XMISC(a)->u_buffer_local_value)) |
| 385 | #define XOVERLAY(a) (&(XMISC(a)->u_overlay)) | 386 | #define XOVERLAY(a) (&(XMISC(a)->u_overlay)) |
| 387 | #define XDISPLAY_OBJFWD(a) (&(XMISC(a)->u_display_objfwd)) | ||
| 386 | 388 | ||
| 387 | /* Pseudovector types. */ | 389 | /* Pseudovector types. */ |
| 388 | #define XPROCESS(a) ((struct Lisp_Process *) XPNTR(a)) | 390 | #define XPROCESS(a) ((struct Lisp_Process *) XPNTR(a)) |
| @@ -753,6 +755,15 @@ struct Lisp_Overlay | |||
| 753 | Lisp_Object start, end, plist; | 755 | Lisp_Object start, end, plist; |
| 754 | }; | 756 | }; |
| 755 | 757 | ||
| 758 | /* Like Lisp_Objfwd except that value lives in a slot in the | ||
| 759 | current perdisplay. */ | ||
| 760 | struct Lisp_Display_Objfwd | ||
| 761 | { | ||
| 762 | int type : 16; /* = Lisp_Misc_Display_Objfwd */ | ||
| 763 | int spacer : 16; | ||
| 764 | int offset; | ||
| 765 | }; | ||
| 766 | |||
| 756 | 767 | ||
| 757 | union Lisp_Misc | 768 | union Lisp_Misc |
| 758 | { | 769 | { |
| @@ -765,6 +776,7 @@ union Lisp_Misc | |||
| 765 | struct Lisp_Buffer_Objfwd u_buffer_objfwd; | 776 | struct Lisp_Buffer_Objfwd u_buffer_objfwd; |
| 766 | struct Lisp_Buffer_Local_Value u_buffer_local_value; | 777 | struct Lisp_Buffer_Local_Value u_buffer_local_value; |
| 767 | struct Lisp_Overlay u_overlay; | 778 | struct Lisp_Overlay u_overlay; |
| 779 | struct Lisp_Display_Objfwd u_display_objfwd; | ||
| 768 | }; | 780 | }; |
| 769 | 781 | ||
| 770 | #ifdef LISP_FLOAT_TYPE | 782 | #ifdef LISP_FLOAT_TYPE |
| @@ -923,6 +935,8 @@ typedef unsigned char UCHAR; | |||
| 923 | #define GC_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Local_Value) | 935 | #define GC_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Buffer_Local_Value) |
| 924 | #define SOME_BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Some_Buffer_Local_Value) | 936 | #define SOME_BUFFER_LOCAL_VALUEP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Some_Buffer_Local_Value) |
| 925 | #define GC_SOME_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Some_Buffer_Local_Value) | 937 | #define GC_SOME_BUFFER_LOCAL_VALUEP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Some_Buffer_Local_Value) |
| 938 | #define DISPLAY_OBJFWDP(x) (MISCP (x) && XMISC (x)->type == Lisp_Misc_Display_Objfwd) | ||
| 939 | #define GC_DISPLAY_OBJFWDP(x) (GC_MISCP (x) && XMISC (x)->type == Lisp_Misc_Display_Objfwd) | ||
| 926 | 940 | ||
| 927 | 941 | ||
| 928 | /* True if object X is a pseudovector whose code is CODE. */ | 942 | /* True if object X is a pseudovector whose code is CODE. */ |