summaryrefslogtreecommitdiff
path: root/editors/emacs20/patches/patch-bj
blob: 76aeb437f647dc24c590460fe0d2a5b66bf536af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
$NetBSD: patch-bj,v 1.1.1.1 2003/04/11 00:31:45 uebayasi Exp $

--- ./src/lisp.h.orig	Sun Jan  3 08:31:23 1999
+++ ./src/lisp.h	Tue Sep 26 09:48:10 2000
@@ -123,25 +123,25 @@
   {
     /* Used for comparing two Lisp_Objects;
        also, positive integers can be accessed fast this way.  */
-    int i;
+    long int i;
 
     struct
       {
-	int val: VALBITS;
-	int type: GCTYPEBITS+1;
+	long int val: VALBITS;
+	long int type: GCTYPEBITS+1;
       } s;
     struct
       {
-	unsigned int val: VALBITS;
-	int type: GCTYPEBITS+1;
+	long unsigned int val: VALBITS;
+	long int type: GCTYPEBITS+1;
       } u;
     struct
       {
-	unsigned int val: VALBITS;
+	long unsigned int val: VALBITS;
 	enum Lisp_Type type: GCTYPEBITS;
 	/* The markbit is not really part of the value of a Lisp_Object,
 	   and is always zero except during garbage collection.  */
-	unsigned int markbit: 1;
+	long unsigned int markbit: 1;
       } gu;
   }
 Lisp_Object;
@@ -153,17 +153,17 @@
   {
     /* Used for comparing two Lisp_Objects;
        also, positive integers can be accessed fast this way.  */
-    int i;
+    long int i;
 
     struct
       {
-	int type: GCTYPEBITS+1;
-	int val: VALBITS;
+	long int type: GCTYPEBITS+1;
+	long int val: VALBITS;
       } s;
     struct
       {
-	int type: GCTYPEBITS+1;
-	unsigned int val: VALBITS;
+	long int type: GCTYPEBITS+1;
+	long unsigned int val: VALBITS;
       } u;
     struct
       {
@@ -171,7 +171,7 @@
 	   and is always zero except during garbage collection.  */
 	unsigned int markbit: 1;
 	enum Lisp_Type type: GCTYPEBITS;
-	unsigned int val: VALBITS;
+	long unsigned int val: VALBITS;
       } gu;
   }
 Lisp_Object;
@@ -270,14 +270,14 @@
 /* Extract the value of a Lisp_Object as a signed integer.  */
 
 #ifndef XINT   /* Some machines need to do this differently.  */
-#define XINT(a) (((a) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))
+#define XINT(a) (EMACS_INT) (((a) << (BITS_PER_EMACS_INT-VALBITS)) >> (BITS_PER_EMACS_INT-VALBITS))
 #endif
 
 /* Extract the value as an unsigned integer.  This is a basis
    for extracting it as a pointer to a structure in storage.  */
 
 #ifndef XUINT
-#define XUINT(a) ((a) & VALMASK)
+#define XUINT(a) (EMACS_UINT) ((a) & VALMASK)
 #endif
 
 #ifndef XPNTR
@@ -358,7 +358,7 @@
 
 #ifdef EXPLICIT_SIGN_EXTEND
 /* Make sure we sign-extend; compilers have been known to fail to do so.  */
-#define XINT(a) (((a).i << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS))
+#define XINT(a) (((a).i << (BITS_PER_EMACS_INT-VALBITS)) >> (BITS_PER_EMACS_INT-VALBITS))
 #else
 #define XINT(a) ((a).s.val)
 #endif /* EXPLICIT_SIGN_EXTEND */
@@ -367,7 +367,7 @@
 #define XPNTR(a) ((a).u.val)
 
 #define XSET(var, vartype, ptr) \
-   (((var).s.type = ((char) (vartype))), ((var).s.val = ((int) (ptr))))
+   (((var).s.type = ((char) (vartype))), ((var).s.val = ((EMACS_INT) (ptr))))
 
 extern Lisp_Object make_number ();