aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-02-17 09:45:46 +0000
committerGerd Moellmann2000-02-17 09:45:46 +0000
commitcc94f3b24e447e04da3e899af8909cb77d648ef0 (patch)
tree9dc9189ad96dec0e5237e9fd36a6baf505c9eb7d /src
parent10689a01d99ab2f3382bb7ef3912961ec08f8bb9 (diff)
downloademacs-cc94f3b24e447e04da3e899af8909cb77d648ef0.tar.gz
emacs-cc94f3b24e447e04da3e899af8909cb77d648ef0.zip
Remove `LISP_FLOAT_TYPE' and `standalone'.
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in8
-rw-r--r--src/alloc.c23
-rw-r--r--src/bytecode.c16
-rw-r--r--src/config.in4
-rw-r--r--src/data.c59
-rw-r--r--src/dispnew.c10
-rw-r--r--src/ecrt0.c2
-rw-r--r--src/editfns.c4
-rw-r--r--src/emacs.c2
-rw-r--r--src/floatfns.c18
-rw-r--r--src/fns.c2
-rw-r--r--src/lisp.h35
-rw-r--r--src/lread.c34
-rw-r--r--src/print.c10
14 files changed, 9 insertions, 218 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 84317d1f28b..469d948d185 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -127,11 +127,7 @@ CC = C_COMPILER
127#endif 127#endif
128 128
129#ifndef LIB_MATH 129#ifndef LIB_MATH
130# ifdef LISP_FLOAT_TYPE
131# define LIB_MATH -lm 130# define LIB_MATH -lm
132# else /* ! defined (LISP_FLOAT_TYPE) */
133# define LIB_MATH
134# endif /* ! defined (LISP_FLOAT_TYPE) */
135#endif /* LIB_MATH */ 131#endif /* LIB_MATH */
136 132
137/* Some s/SYSTEM.h files define this to request special switches in ld. */ 133/* Some s/SYSTEM.h files define this to request special switches in ld. */
@@ -628,11 +624,7 @@ otherobj= $(termcapobj) lastfile.o $(mallocobj) $(allocaobj) $(widgetobj)
628#define FACE_SUPPORT 624#define FACE_SUPPORT
629#endif 625#endif
630 626
631#ifdef LISP_FLOAT_TYPE
632#define FLOAT_SUPPORT ${lispsource}float-sup.elc 627#define FLOAT_SUPPORT ${lispsource}float-sup.elc
633#else
634#define FLOAT_SUPPORT
635#endif
636 628
637#ifdef HAVE_MOUSE 629#ifdef HAVE_MOUSE
638#define MOUSE_SUPPORT ${lispsource}mouse.elc \ 630#define MOUSE_SUPPORT ${lispsource}mouse.elc \
diff --git a/src/alloc.c b/src/alloc.c
index feb1a5b665f..8152ad2bf1a 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -151,9 +151,7 @@ int undo_strong_limit;
151 151
152int total_conses, total_markers, total_symbols, total_vector_size; 152int total_conses, total_markers, total_symbols, total_vector_size;
153int total_free_conses, total_free_markers, total_free_symbols; 153int total_free_conses, total_free_markers, total_free_symbols;
154#ifdef LISP_FLOAT_TYPE
155int total_free_floats, total_floats; 154int total_free_floats, total_floats;
156#endif /* LISP_FLOAT_TYPE */
157 155
158/* Points to memory space allocated as "spare", to be freed if we run 156/* Points to memory space allocated as "spare", to be freed if we run
159 out of memory. */ 157 out of memory. */
@@ -1345,8 +1343,6 @@ make_uninit_multibyte_string (nchars, nbytes)
1345 Float Allocation 1343 Float Allocation
1346 ***********************************************************************/ 1344 ***********************************************************************/
1347 1345
1348#ifdef LISP_FLOAT_TYPE
1349
1350/* We store float cells inside of float_blocks, allocating a new 1346/* We store float cells inside of float_blocks, allocating a new
1351 float_block with malloc whenever necessary. Float cells reclaimed 1347 float_block with malloc whenever necessary. Float cells reclaimed
1352 by GC are put on a free list to be reallocated before allocating 1348 by GC are put on a free list to be reallocated before allocating
@@ -1431,8 +1427,6 @@ make_float (float_value)
1431 return val; 1427 return val;
1432} 1428}
1433 1429
1434#endif /* LISP_FLOAT_TYPE */
1435
1436 1430
1437 1431
1438/*********************************************************************** 1432/***********************************************************************
@@ -2031,7 +2025,6 @@ pure_cons (car, cdr)
2031 return new; 2025 return new;
2032} 2026}
2033 2027
2034#ifdef LISP_FLOAT_TYPE
2035 2028
2036Lisp_Object 2029Lisp_Object
2037make_pure_float (num) 2030make_pure_float (num)
@@ -2069,8 +2062,6 @@ make_pure_float (num)
2069 return new; 2062 return new;
2070} 2063}
2071 2064
2072#endif /* LISP_FLOAT_TYPE */
2073
2074Lisp_Object 2065Lisp_Object
2075make_pure_vector (len) 2066make_pure_vector (len)
2076 EMACS_INT len; 2067 EMACS_INT len;
@@ -2103,10 +2094,8 @@ Does not copy symbols. Copies strings without text properties.")
2103 2094
2104 if (CONSP (obj)) 2095 if (CONSP (obj))
2105 return pure_cons (XCAR (obj), XCDR (obj)); 2096 return pure_cons (XCAR (obj), XCDR (obj));
2106#ifdef LISP_FLOAT_TYPE
2107 else if (FLOATP (obj)) 2097 else if (FLOATP (obj))
2108 return make_pure_float (XFLOAT_DATA (obj)); 2098 return make_pure_float (XFLOAT_DATA (obj));
2109#endif /* LISP_FLOAT_TYPE */
2110 else if (STRINGP (obj)) 2099 else if (STRINGP (obj))
2111 return make_pure_string (XSTRING (obj)->data, XSTRING (obj)->size, 2100 return make_pure_string (XSTRING (obj)->data, XSTRING (obj)->size,
2112 STRING_BYTES (XSTRING (obj)), 2101 STRING_BYTES (XSTRING (obj)),
@@ -2417,12 +2406,8 @@ Garbage collection happens automatically if you cons more than\n\
2417 make_number (total_free_markers)); 2406 make_number (total_free_markers));
2418 total[3] = Fcons (make_number (total_string_size), 2407 total[3] = Fcons (make_number (total_string_size),
2419 make_number (total_vector_size)); 2408 make_number (total_vector_size));
2420#ifdef LISP_FLOAT_TYPE
2421 total[4] = Fcons (make_number (total_floats), 2409 total[4] = Fcons (make_number (total_floats),
2422 make_number (total_free_floats)); 2410 make_number (total_free_floats));
2423#else
2424 total[4] = Fcons (make_number (0), make_number (0));
2425#endif
2426 total[5] = Fcons (make_number (total_intervals), 2411 total[5] = Fcons (make_number (total_intervals),
2427 make_number (total_free_intervals)); 2412 make_number (total_free_intervals));
2428 total[6] = Fcons (make_number (total_strings), 2413 total[6] = Fcons (make_number (total_strings),
@@ -2885,11 +2870,9 @@ mark_object (argptr)
2885 goto loop; 2870 goto loop;
2886 } 2871 }
2887 2872
2888#ifdef LISP_FLOAT_TYPE
2889 case Lisp_Float: 2873 case Lisp_Float:
2890 XMARK (XFLOAT (obj)->type); 2874 XMARK (XFLOAT (obj)->type);
2891 break; 2875 break;
2892#endif /* LISP_FLOAT_TYPE */
2893 2876
2894 case Lisp_Int: 2877 case Lisp_Int:
2895 break; 2878 break;
@@ -3057,11 +3040,9 @@ survives_gc_p (obj)
3057 survives_p = XMARKBIT (XCAR (obj)); 3040 survives_p = XMARKBIT (XCAR (obj));
3058 break; 3041 break;
3059 3042
3060#ifdef LISP_FLOAT_TYPE
3061 case Lisp_Float: 3043 case Lisp_Float:
3062 survives_p = XMARKBIT (XFLOAT (obj)->type); 3044 survives_p = XMARKBIT (XFLOAT (obj)->type);
3063 break; 3045 break;
3064#endif /* LISP_FLOAT_TYPE */
3065 3046
3066 default: 3047 default:
3067 abort (); 3048 abort ();
@@ -3130,7 +3111,6 @@ gc_sweep ()
3130 total_free_conses = num_free; 3111 total_free_conses = num_free;
3131 } 3112 }
3132 3113
3133#ifdef LISP_FLOAT_TYPE
3134 /* Put all unmarked floats on free list */ 3114 /* Put all unmarked floats on free list */
3135 { 3115 {
3136 register struct float_block *fblk; 3116 register struct float_block *fblk;
@@ -3177,7 +3157,6 @@ gc_sweep ()
3177 total_floats = num_used; 3157 total_floats = num_used;
3178 total_free_floats = num_free; 3158 total_free_floats = num_free;
3179 } 3159 }
3180#endif /* LISP_FLOAT_TYPE */
3181 3160
3182 /* Put all unmarked intervals on free list */ 3161 /* Put all unmarked intervals on free list */
3183 { 3162 {
@@ -3499,9 +3478,7 @@ init_alloc_once ()
3499 init_cons (); 3478 init_cons ();
3500 init_symbol (); 3479 init_symbol ();
3501 init_marker (); 3480 init_marker ();
3502#ifdef LISP_FLOAT_TYPE
3503 init_float (); 3481 init_float ();
3504#endif /* LISP_FLOAT_TYPE */
3505 INIT_INTERVALS; 3482 INIT_INTERVALS;
3506 3483
3507#ifdef REL_ALLOC 3484#ifdef REL_ALLOC
diff --git a/src/bytecode.c b/src/bytecode.c
index 52a0dba31d5..14a93f18f81 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -434,11 +434,9 @@ If the third argument is incorrect, Emacs may crash.")
434 { 434 {
435#ifdef BYTE_CODE_SAFE 435#ifdef BYTE_CODE_SAFE
436 if (top > stacke) 436 if (top > stacke)
437 error ("Byte code stack overflow (byte compiler bug), pc %d, depth %d", 437 abort ();
438 stack.pc - stack.byte_string_start, stacke - top);
439 else if (top < stack.bottom - 1) 438 else if (top < stack.bottom - 1)
440 error ("Byte code stack underflow (byte compiler bug), pc %d", 439 abort ();
441 stack.pc - stack.byte_string_start);
442#endif 440#endif
443 441
444#ifdef BYTE_CODE_METER 442#ifdef BYTE_CODE_METER
@@ -1042,7 +1040,6 @@ If the third argument is incorrect, Emacs may crash.")
1042 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0); 1040 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0);
1043 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0); 1041 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0);
1044 AFTER_POTENTIAL_GC (); 1042 AFTER_POTENTIAL_GC ();
1045#ifdef LISP_FLOAT_TYPE
1046 if (FLOATP (v1) || FLOATP (v2)) 1043 if (FLOATP (v1) || FLOATP (v2))
1047 { 1044 {
1048 double f1, f2; 1045 double f1, f2;
@@ -1052,7 +1049,6 @@ If the third argument is incorrect, Emacs may crash.")
1052 TOP = (f1 == f2 ? Qt : Qnil); 1049 TOP = (f1 == f2 ? Qt : Qnil);
1053 } 1050 }
1054 else 1051 else
1055#endif
1056 TOP = (XINT (v1) == XINT (v2) ? Qt : Qnil); 1052 TOP = (XINT (v1) == XINT (v2) ? Qt : Qnil);
1057 break; 1053 break;
1058 } 1054 }
@@ -1532,15 +1528,11 @@ If the third argument is incorrect, Emacs may crash.")
1532#ifdef BYTE_CODE_SAFE 1528#ifdef BYTE_CODE_SAFE
1533 if (op < Bconstant) 1529 if (op < Bconstant)
1534 { 1530 {
1535 BEFORE_POTENTIAL_GC (); 1531 abort ();
1536 error ("unknown bytecode %d (byte compiler bug)", op);
1537 AFTER_POTENTIAL_GC ();
1538 } 1532 }
1539 if ((op -= Bconstant) >= const_length) 1533 if ((op -= Bconstant) >= const_length)
1540 { 1534 {
1541 BEFORE_POTENTIAL_GC (); 1535 abort ();
1542 error ("no constant number %d (byte compiler bug)", op);
1543 AFTER_POTENTIAL_GC ();
1544 } 1536 }
1545 PUSH (vectorp[op]); 1537 PUSH (vectorp[op]);
1546#else 1538#else
diff --git a/src/config.in b/src/config.in
index 72928759558..177485fcdb3 100644
--- a/src/config.in
+++ b/src/config.in
@@ -28,10 +28,6 @@ Boston, MA 02111-1307, USA. */
28/* These are all defined in the top-level Makefile by configure. 28/* These are all defined in the top-level Makefile by configure.
29 They're here only for reference. */ 29 They're here only for reference. */
30 30
31/* Define LISP_FLOAT_TYPE if you want emacs to support floating-point
32 numbers. */
33#undef LISP_FLOAT_TYPE
34
35/* Define GNU_MALLOC if you want to use the GNU memory allocator. */ 31/* Define GNU_MALLOC if you want to use the GNU memory allocator. */
36#undef GNU_MALLOC 32#undef GNU_MALLOC
37 33
diff --git a/src/data.c b/src/data.c
index 669efa5802e..ce9de8c5b23 100644
--- a/src/data.c
+++ b/src/data.c
@@ -25,17 +25,11 @@ Boston, MA 02111-1307, USA. */
25#include "lisp.h" 25#include "lisp.h"
26#include "puresize.h" 26#include "puresize.h"
27#include "charset.h" 27#include "charset.h"
28
29#ifndef standalone
30#include "buffer.h" 28#include "buffer.h"
31#include "keyboard.h" 29#include "keyboard.h"
32#include "frame.h" 30#include "frame.h"
33#endif
34
35#include "syssignal.h" 31#include "syssignal.h"
36 32
37#ifdef LISP_FLOAT_TYPE
38
39#ifdef STDC_HEADERS 33#ifdef STDC_HEADERS
40#include <float.h> 34#include <float.h>
41#endif 35#endif
@@ -61,7 +55,6 @@ Boston, MA 02111-1307, USA. */
61#endif 55#endif
62 56
63#include <math.h> 57#include <math.h>
64#endif /* LISP_FLOAT_TYPE */
65 58
66#if !defined (atof) 59#if !defined (atof)
67extern double atof (); 60extern double atof ();
@@ -93,10 +86,8 @@ Lisp_Object Qad_advice_info, Qad_activate_internal;
93Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; 86Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error;
94Lisp_Object Qoverflow_error, Qunderflow_error; 87Lisp_Object Qoverflow_error, Qunderflow_error;
95 88
96#ifdef LISP_FLOAT_TYPE
97Lisp_Object Qfloatp; 89Lisp_Object Qfloatp;
98Lisp_Object Qnumberp, Qnumber_or_marker_p; 90Lisp_Object Qnumberp, Qnumber_or_marker_p;
99#endif
100 91
101static Lisp_Object Qinteger, Qsymbol, Qstring, Qcons, Qmarker, Qoverlay; 92static Lisp_Object Qinteger, Qsymbol, Qstring, Qcons, Qmarker, Qoverlay;
102static Lisp_Object Qfloat, Qwindow_configuration, Qwindow; 93static Lisp_Object Qfloat, Qwindow_configuration, Qwindow;
@@ -252,10 +243,8 @@ for example, (type-of 1) returns `integer'.")
252 return Qhash_table; 243 return Qhash_table;
253 return Qvector; 244 return Qvector;
254 245
255#ifdef LISP_FLOAT_TYPE
256 case Lisp_Float: 246 case Lisp_Float:
257 return Qfloat; 247 return Qfloat;
258#endif
259 248
260 default: 249 default:
261 abort (); 250 abort ();
@@ -506,7 +495,6 @@ DEFUN ("number-or-marker-p", Fnumber_or_marker_p,
506 return Qnil; 495 return Qnil;
507} 496}
508 497
509#ifdef LISP_FLOAT_TYPE
510DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, 498DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0,
511 "Return t if OBJECT is a floating point number.") 499 "Return t if OBJECT is a floating point number.")
512 (object) 500 (object)
@@ -516,7 +504,7 @@ DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0,
516 return Qt; 504 return Qt;
517 return Qnil; 505 return Qnil;
518} 506}
519#endif /* LISP_FLOAT_TYPE */ 507
520 508
521/* Extract and set components of lists */ 509/* Extract and set components of lists */
522 510
@@ -1939,7 +1927,6 @@ arithcompare (num1, num2, comparison)
1939 double f1, f2; 1927 double f1, f2;
1940 int floatp = 0; 1928 int floatp = 0;
1941 1929
1942#ifdef LISP_FLOAT_TYPE
1943 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num1, 0); 1930 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num1, 0);
1944 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num2, 0); 1931 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num2, 0);
1945 1932
@@ -1949,10 +1936,6 @@ arithcompare (num1, num2, comparison)
1949 f1 = (FLOATP (num1)) ? XFLOAT_DATA (num1) : XINT (num1); 1936 f1 = (FLOATP (num1)) ? XFLOAT_DATA (num1) : XINT (num1);
1950 f2 = (FLOATP (num2)) ? XFLOAT_DATA (num2) : XINT (num2); 1937 f2 = (FLOATP (num2)) ? XFLOAT_DATA (num2) : XINT (num2);
1951 } 1938 }
1952#else
1953 CHECK_NUMBER_COERCE_MARKER (num1, 0);
1954 CHECK_NUMBER_COERCE_MARKER (num2, 0);
1955#endif /* LISP_FLOAT_TYPE */
1956 1939
1957 switch (comparison) 1940 switch (comparison)
1958 { 1941 {
@@ -2045,7 +2028,6 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "Return t if NUMBER is zero.")
2045 (number) 2028 (number)
2046 register Lisp_Object number; 2029 register Lisp_Object number;
2047{ 2030{
2048#ifdef LISP_FLOAT_TYPE
2049 CHECK_NUMBER_OR_FLOAT (number, 0); 2031 CHECK_NUMBER_OR_FLOAT (number, 0);
2050 2032
2051 if (FLOATP (number)) 2033 if (FLOATP (number))
@@ -2054,9 +2036,6 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "Return t if NUMBER is zero.")
2054 return Qt; 2036 return Qt;
2055 return Qnil; 2037 return Qnil;
2056 } 2038 }
2057#else
2058 CHECK_NUMBER (number, 0);
2059#endif /* LISP_FLOAT_TYPE */
2060 2039
2061 if (!XINT (number)) 2040 if (!XINT (number))
2062 return Qt; 2041 return Qt;
@@ -2101,9 +2080,6 @@ NUMBER may be an integer or a floating point number.")
2101{ 2080{
2102 char buffer[VALBITS]; 2081 char buffer[VALBITS];
2103 2082
2104#ifndef LISP_FLOAT_TYPE
2105 CHECK_NUMBER (number, 0);
2106#else
2107 CHECK_NUMBER_OR_FLOAT (number, 0); 2083 CHECK_NUMBER_OR_FLOAT (number, 0);
2108 2084
2109 if (FLOATP (number)) 2085 if (FLOATP (number))
@@ -2113,7 +2089,6 @@ NUMBER may be an integer or a floating point number.")
2113 float_to_string (pigbuf, XFLOAT_DATA (number)); 2089 float_to_string (pigbuf, XFLOAT_DATA (number));
2114 return build_string (pigbuf); 2090 return build_string (pigbuf);
2115 } 2091 }
2116#endif /* LISP_FLOAT_TYPE */
2117 2092
2118 if (sizeof (int) == sizeof (EMACS_INT)) 2093 if (sizeof (int) == sizeof (EMACS_INT))
2119 sprintf (buffer, "%d", XINT (number)); 2094 sprintf (buffer, "%d", XINT (number));
@@ -2187,10 +2162,8 @@ If the base used is not 10, floating point is not recognized.")
2187 else if (*p == '+') 2162 else if (*p == '+')
2188 p++; 2163 p++;
2189 2164
2190#ifdef LISP_FLOAT_TYPE
2191 if (isfloat_string (p) && b == 10) 2165 if (isfloat_string (p) && b == 10)
2192 return make_float (negative * atof (p)); 2166 return make_float (negative * atof (p));
2193#endif /* LISP_FLOAT_TYPE */
2194 2167
2195 while (1) 2168 while (1)
2196 { 2169 {
@@ -2237,15 +2210,11 @@ arith_driver (code, nargs, args)
2237 for (argnum = 0; argnum < nargs; argnum++) 2210 for (argnum = 0; argnum < nargs; argnum++)
2238 { 2211 {
2239 val = args[argnum]; /* using args[argnum] as argument to CHECK_NUMBER_... */ 2212 val = args[argnum]; /* using args[argnum] as argument to CHECK_NUMBER_... */
2240#ifdef LISP_FLOAT_TYPE
2241 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (val, argnum); 2213 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (val, argnum);
2242 2214
2243 if (FLOATP (val)) /* time to do serious math */ 2215 if (FLOATP (val)) /* time to do serious math */
2244 return (float_arith_driver ((double) accum, argnum, code, 2216 return (float_arith_driver ((double) accum, argnum, code,
2245 nargs, args)); 2217 nargs, args));
2246#else
2247 CHECK_NUMBER_COERCE_MARKER (val, argnum);
2248#endif /* LISP_FLOAT_TYPE */
2249 args[argnum] = val; /* runs into a compiler bug. */ 2218 args[argnum] = val; /* runs into a compiler bug. */
2250 next = XINT (args[argnum]); 2219 next = XINT (args[argnum]);
2251 switch (SWITCH_ENUM_CAST (code)) 2220 switch (SWITCH_ENUM_CAST (code))
@@ -2279,8 +2248,6 @@ arith_driver (code, nargs, args)
2279#undef isnan 2248#undef isnan
2280#define isnan(x) ((x) != (x)) 2249#define isnan(x) ((x) != (x))
2281 2250
2282#ifdef LISP_FLOAT_TYPE
2283
2284Lisp_Object 2251Lisp_Object
2285float_arith_driver (accum, argnum, code, nargs, args) 2252float_arith_driver (accum, argnum, code, nargs, args)
2286 double accum; 2253 double accum;
@@ -2344,7 +2311,7 @@ float_arith_driver (accum, argnum, code, nargs, args)
2344 2311
2345 return make_float (accum); 2312 return make_float (accum);
2346} 2313}
2347#endif /* LISP_FLOAT_TYPE */ 2314
2348 2315
2349DEFUN ("+", Fplus, Splus, 0, MANY, 0, 2316DEFUN ("+", Fplus, Splus, 0, MANY, 0,
2350 "Return sum of any number of arguments, which are numbers or markers.") 2317 "Return sum of any number of arguments, which are numbers or markers.")
@@ -2436,18 +2403,12 @@ Both X and Y must be numbers or markers.")
2436 Lisp_Object val; 2403 Lisp_Object val;
2437 EMACS_INT i1, i2; 2404 EMACS_INT i1, i2;
2438 2405
2439#ifdef LISP_FLOAT_TYPE
2440 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (x, 0); 2406 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (x, 0);
2441 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (y, 1); 2407 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (y, 1);
2442 2408
2443 if (FLOATP (x) || FLOATP (y)) 2409 if (FLOATP (x) || FLOATP (y))
2444 return fmod_float (x, y); 2410 return fmod_float (x, y);
2445 2411
2446#else /* not LISP_FLOAT_TYPE */
2447 CHECK_NUMBER_COERCE_MARKER (x, 0);
2448 CHECK_NUMBER_COERCE_MARKER (y, 1);
2449#endif /* not LISP_FLOAT_TYPE */
2450
2451 i1 = XINT (x); 2412 i1 = XINT (x);
2452 i2 = XINT (y); 2413 i2 = XINT (y);
2453 2414
@@ -2566,14 +2527,10 @@ Markers are converted to integers.")
2566 (number) 2527 (number)
2567 register Lisp_Object number; 2528 register Lisp_Object number;
2568{ 2529{
2569#ifdef LISP_FLOAT_TYPE
2570 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0); 2530 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0);
2571 2531
2572 if (FLOATP (number)) 2532 if (FLOATP (number))
2573 return (make_float (1.0 + XFLOAT_DATA (number))); 2533 return (make_float (1.0 + XFLOAT_DATA (number)));
2574#else
2575 CHECK_NUMBER_COERCE_MARKER (number, 0);
2576#endif /* LISP_FLOAT_TYPE */
2577 2534
2578 XSETINT (number, XINT (number) + 1); 2535 XSETINT (number, XINT (number) + 1);
2579 return number; 2536 return number;
@@ -2585,14 +2542,10 @@ Markers are converted to integers.")
2585 (number) 2542 (number)
2586 register Lisp_Object number; 2543 register Lisp_Object number;
2587{ 2544{
2588#ifdef LISP_FLOAT_TYPE
2589 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0); 2545 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0);
2590 2546
2591 if (FLOATP (number)) 2547 if (FLOATP (number))
2592 return (make_float (-1.0 + XFLOAT_DATA (number))); 2548 return (make_float (-1.0 + XFLOAT_DATA (number)));
2593#else
2594 CHECK_NUMBER_COERCE_MARKER (number, 0);
2595#endif /* LISP_FLOAT_TYPE */
2596 2549
2597 XSETINT (number, XINT (number) - 1); 2550 XSETINT (number, XINT (number) - 1);
2598 return number; 2551 return number;
@@ -2660,11 +2613,9 @@ syms_of_data ()
2660 Qboundp = intern ("boundp"); 2613 Qboundp = intern ("boundp");
2661 Qfboundp = intern ("fboundp"); 2614 Qfboundp = intern ("fboundp");
2662 2615
2663#ifdef LISP_FLOAT_TYPE
2664 Qfloatp = intern ("floatp"); 2616 Qfloatp = intern ("floatp");
2665 Qnumberp = intern ("numberp"); 2617 Qnumberp = intern ("numberp");
2666 Qnumber_or_marker_p = intern ("number-or-marker-p"); 2618 Qnumber_or_marker_p = intern ("number-or-marker-p");
2667#endif /* LISP_FLOAT_TYPE */
2668 2619
2669 Qchar_table_p = intern ("char-table-p"); 2620 Qchar_table_p = intern ("char-table-p");
2670 Qvector_or_char_table_p = intern ("vector-or-char-table-p"); 2621 Qvector_or_char_table_p = intern ("vector-or-char-table-p");
@@ -2770,7 +2721,6 @@ syms_of_data ()
2770 Fput (Qtext_read_only, Qerror_message, 2721 Fput (Qtext_read_only, Qerror_message,
2771 build_string ("Text is read-only")); 2722 build_string ("Text is read-only"));
2772 2723
2773#ifdef LISP_FLOAT_TYPE
2774 Qrange_error = intern ("range-error"); 2724 Qrange_error = intern ("range-error");
2775 Qdomain_error = intern ("domain-error"); 2725 Qdomain_error = intern ("domain-error");
2776 Qsingularity_error = intern ("singularity-error"); 2726 Qsingularity_error = intern ("singularity-error");
@@ -2807,7 +2757,6 @@ syms_of_data ()
2807 staticpro (&Qsingularity_error); 2757 staticpro (&Qsingularity_error);
2808 staticpro (&Qoverflow_error); 2758 staticpro (&Qoverflow_error);
2809 staticpro (&Qunderflow_error); 2759 staticpro (&Qunderflow_error);
2810#endif /* LISP_FLOAT_TYPE */
2811 2760
2812 staticpro (&Qnil); 2761 staticpro (&Qnil);
2813 staticpro (&Qt); 2762 staticpro (&Qt);
@@ -2855,11 +2804,9 @@ syms_of_data ()
2855 staticpro (&Qmarkerp); 2804 staticpro (&Qmarkerp);
2856 staticpro (&Qbuffer_or_string_p); 2805 staticpro (&Qbuffer_or_string_p);
2857 staticpro (&Qinteger_or_marker_p); 2806 staticpro (&Qinteger_or_marker_p);
2858#ifdef LISP_FLOAT_TYPE
2859 staticpro (&Qfloatp); 2807 staticpro (&Qfloatp);
2860 staticpro (&Qnumberp); 2808 staticpro (&Qnumberp);
2861 staticpro (&Qnumber_or_marker_p); 2809 staticpro (&Qnumber_or_marker_p);
2862#endif /* LISP_FLOAT_TYPE */
2863 staticpro (&Qchar_table_p); 2810 staticpro (&Qchar_table_p);
2864 staticpro (&Qvector_or_char_table_p); 2811 staticpro (&Qvector_or_char_table_p);
2865 2812
@@ -2924,9 +2871,7 @@ A keyword symbol is a symbol whose name starts with a colon (`:').");
2924 defsubr (&Sinteger_or_marker_p); 2871 defsubr (&Sinteger_or_marker_p);
2925 defsubr (&Snumberp); 2872 defsubr (&Snumberp);
2926 defsubr (&Snumber_or_marker_p); 2873 defsubr (&Snumber_or_marker_p);
2927#ifdef LISP_FLOAT_TYPE
2928 defsubr (&Sfloatp); 2874 defsubr (&Sfloatp);
2929#endif /* LISP_FLOAT_TYPE */
2930 defsubr (&Snatnump); 2875 defsubr (&Snatnump);
2931 defsubr (&Ssymbolp); 2876 defsubr (&Ssymbolp);
2932 defsubr (&Skeywordp); 2877 defsubr (&Skeywordp);
diff --git a/src/dispnew.c b/src/dispnew.c
index 9bf8088caff..6592d703610 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -5509,16 +5509,11 @@ Emacs was built without floating point support.\n\
5509 CHECK_NUMBER (milliseconds, 1); 5509 CHECK_NUMBER (milliseconds, 1);
5510 usec = XINT (milliseconds) * 1000; 5510 usec = XINT (milliseconds) * 1000;
5511 5511
5512#ifdef LISP_FLOAT_TYPE
5513 { 5512 {
5514 double duration = extract_float (seconds); 5513 double duration = extract_float (seconds);
5515 sec = (int) duration; 5514 sec = (int) duration;
5516 usec += (duration - sec) * 1000000; 5515 usec += (duration - sec) * 1000000;
5517 } 5516 }
5518#else
5519 CHECK_NUMBER (seconds, 0);
5520 sec = XINT (seconds);
5521#endif
5522 5517
5523#ifndef EMACS_HAS_USECS 5518#ifndef EMACS_HAS_USECS
5524 if (sec == 0 && usec != 0) 5519 if (sec == 0 && usec != 0)
@@ -5641,16 +5636,11 @@ Value is t if waited the full time with no input arriving.")
5641 CHECK_NUMBER (milliseconds, 1); 5636 CHECK_NUMBER (milliseconds, 1);
5642 usec = XINT (milliseconds) * 1000; 5637 usec = XINT (milliseconds) * 1000;
5643 5638
5644#ifdef LISP_FLOAT_TYPE
5645 { 5639 {
5646 double duration = extract_float (seconds); 5640 double duration = extract_float (seconds);
5647 sec = (int) duration; 5641 sec = (int) duration;
5648 usec += (duration - sec) * 1000000; 5642 usec += (duration - sec) * 1000000;
5649 } 5643 }
5650#else
5651 CHECK_NUMBER (seconds, 0);
5652 sec = XINT (seconds);
5653#endif
5654 5644
5655#ifndef EMACS_HAS_USECS 5645#ifndef EMACS_HAS_USECS
5656 if (usec != 0 && sec == 0) 5646 if (usec != 0 && sec == 0)
diff --git a/src/ecrt0.c b/src/ecrt0.c
index a9c7f289173..ac23259de4f 100644
--- a/src/ecrt0.c
+++ b/src/ecrt0.c
@@ -347,9 +347,7 @@ static foo () {
347_start () 347_start ()
348{ 348{
349#ifdef sun 349#ifdef sun
350#ifdef LISP_FLOAT_TYPE
351 finitfp_(); 350 finitfp_();
352#endif
353#endif 351#endif
354/* On 68000, _start pushes a6 onto stack */ 352/* On 68000, _start pushes a6 onto stack */
355 start1 (); 353 start1 ();
diff --git a/src/editfns.c b/src/editfns.c
index fcc59979fe1..4e25655f492 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -2963,7 +2963,6 @@ Use %% to put a single % into the output.")
2963 /* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */ 2963 /* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */
2964 else if (INTEGERP (args[n]) && *format != 's') 2964 else if (INTEGERP (args[n]) && *format != 's')
2965 { 2965 {
2966#ifdef LISP_FLOAT_TYPE
2967 /* The following loop assumes the Lisp type indicates 2966 /* The following loop assumes the Lisp type indicates
2968 the proper way to pass the argument. 2967 the proper way to pass the argument.
2969 So make sure we have a flonum if the argument should 2968 So make sure we have a flonum if the argument should
@@ -2971,7 +2970,6 @@ Use %% to put a single % into the output.")
2971 if (*format == 'e' || *format == 'f' || *format == 'g') 2970 if (*format == 'e' || *format == 'f' || *format == 'g')
2972 args[n] = Ffloat (args[n]); 2971 args[n] = Ffloat (args[n]);
2973 else 2972 else
2974#endif
2975 if (*format != 'd' && *format != 'o' && *format != 'x' 2973 if (*format != 'd' && *format != 'o' && *format != 'x'
2976 && *format != 'i' && *format != 'X' && *format != 'c') 2974 && *format != 'i' && *format != 'X' && *format != 'c')
2977 error ("Invalid format operation %%%c", *format); 2975 error ("Invalid format operation %%%c", *format);
@@ -2990,14 +2988,12 @@ Use %% to put a single % into the output.")
2990 thissize = STRING_BYTES (XSTRING (args[n])); 2988 thissize = STRING_BYTES (XSTRING (args[n]));
2991 } 2989 }
2992 } 2990 }
2993#ifdef LISP_FLOAT_TYPE
2994 else if (FLOATP (args[n]) && *format != 's') 2991 else if (FLOATP (args[n]) && *format != 's')
2995 { 2992 {
2996 if (! (*format == 'e' || *format == 'f' || *format == 'g')) 2993 if (! (*format == 'e' || *format == 'f' || *format == 'g'))
2997 args[n] = Ftruncate (args[n], Qnil); 2994 args[n] = Ftruncate (args[n], Qnil);
2998 thissize = 200; 2995 thissize = 200;
2999 } 2996 }
3000#endif
3001 else 2997 else
3002 { 2998 {
3003 /* Anything but a string, convert to a string using princ. */ 2999 /* Anything but a string, convert to a string using princ. */
diff --git a/src/emacs.c b/src/emacs.c
index dd2e4b10f3f..0dc6e07fb30 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1404,9 +1404,7 @@ main (argc, argv, envp)
1404 init_xdisp (); 1404 init_xdisp ();
1405 init_macros (); 1405 init_macros ();
1406 init_editfns (); 1406 init_editfns ();
1407#ifdef LISP_FLOAT_TYPE
1408 init_floatfns (); 1407 init_floatfns ();
1409#endif
1410#ifdef VMS 1408#ifdef VMS
1411 init_vmsfns (); 1409 init_vmsfns ();
1412#endif /* VMS */ 1410#endif /* VMS */
diff --git a/src/floatfns.c b/src/floatfns.c
index ebe1b7de43c..d6cbb876e37 100644
--- a/src/floatfns.c
+++ b/src/floatfns.c
@@ -49,8 +49,6 @@ Boston, MA 02111-1307, USA. */
49#include "lisp.h" 49#include "lisp.h"
50#include "syssignal.h" 50#include "syssignal.h"
51 51
52#ifdef LISP_FLOAT_TYPE
53
54#if STDC_HEADERS 52#if STDC_HEADERS
55#include <float.h> 53#include <float.h>
56#endif 54#endif
@@ -717,8 +715,6 @@ This is the same as the exponent of a float.")
717 return val; 715 return val;
718} 716}
719 717
720#endif /* LISP_FLOAT_TYPE */
721
722 718
723/* the rounding functions */ 719/* the rounding functions */
724 720
@@ -737,7 +733,6 @@ rounding_driver (arg, divisor, double_round, int_round2, name)
737 733
738 CHECK_NUMBER_OR_FLOAT (divisor, 1); 734 CHECK_NUMBER_OR_FLOAT (divisor, 1);
739 735
740#ifdef LISP_FLOAT_TYPE
741 if (FLOATP (arg) || FLOATP (divisor)) 736 if (FLOATP (arg) || FLOATP (divisor))
742 { 737 {
743 double f1, f2; 738 double f1, f2;
@@ -751,7 +746,6 @@ rounding_driver (arg, divisor, double_round, int_round2, name)
751 FLOAT_TO_INT2 (f1, arg, name, arg, divisor); 746 FLOAT_TO_INT2 (f1, arg, name, arg, divisor);
752 return arg; 747 return arg;
753 } 748 }
754#endif
755 749
756 i1 = XINT (arg); 750 i1 = XINT (arg);
757 i2 = XINT (divisor); 751 i2 = XINT (divisor);
@@ -763,7 +757,6 @@ rounding_driver (arg, divisor, double_round, int_round2, name)
763 return arg; 757 return arg;
764 } 758 }
765 759
766#ifdef LISP_FLOAT_TYPE
767 if (FLOATP (arg)) 760 if (FLOATP (arg))
768 { 761 {
769 double d; 762 double d;
@@ -771,7 +764,6 @@ rounding_driver (arg, divisor, double_round, int_round2, name)
771 IN_FLOAT (d = (*double_round) (XFLOAT_DATA (arg)), name, arg); 764 IN_FLOAT (d = (*double_round) (XFLOAT_DATA (arg)), name, arg);
772 FLOAT_TO_INT (d, arg, name, arg); 765 FLOAT_TO_INT (d, arg, name, arg);
773 } 766 }
774#endif
775 767
776 return arg; 768 return arg;
777} 769}
@@ -881,7 +873,6 @@ With optional DIVISOR, truncate ARG/DIVISOR.")
881 "truncate"); 873 "truncate");
882} 874}
883 875
884#ifdef LISP_FLOAT_TYPE
885 876
886Lisp_Object 877Lisp_Object
887fmod_float (x, y) 878fmod_float (x, y)
@@ -1018,17 +1009,9 @@ init_floatfns ()
1018 in_float = 0; 1009 in_float = 0;
1019} 1010}
1020 1011
1021#else /* not LISP_FLOAT_TYPE */
1022
1023init_floatfns ()
1024{}
1025
1026#endif /* not LISP_FLOAT_TYPE */
1027
1028void 1012void
1029syms_of_floatfns () 1013syms_of_floatfns ()
1030{ 1014{
1031#ifdef LISP_FLOAT_TYPE
1032 defsubr (&Sacos); 1015 defsubr (&Sacos);
1033 defsubr (&Sasin); 1016 defsubr (&Sasin);
1034 defsubr (&Satan); 1017 defsubr (&Satan);
@@ -1066,7 +1049,6 @@ syms_of_floatfns ()
1066 defsubr (&Sabs); 1049 defsubr (&Sabs);
1067 defsubr (&Sfloat); 1050 defsubr (&Sfloat);
1068 defsubr (&Slogb); 1051 defsubr (&Slogb);
1069#endif /* LISP_FLOAT_TYPE */
1070 defsubr (&Sceiling); 1052 defsubr (&Sceiling);
1071 defsubr (&Sfloor); 1053 defsubr (&Sfloor);
1072 defsubr (&Sround); 1054 defsubr (&Sround);
diff --git a/src/fns.c b/src/fns.c
index 9ac0bbadf70..e6ff6835947 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -1852,10 +1852,8 @@ internal_equal (o1, o2, depth)
1852 1852
1853 switch (XTYPE (o1)) 1853 switch (XTYPE (o1))
1854 { 1854 {
1855#ifdef LISP_FLOAT_TYPE
1856 case Lisp_Float: 1855 case Lisp_Float:
1857 return (extract_float (o1) == extract_float (o2)); 1856 return (extract_float (o1) == extract_float (o2));
1858#endif
1859 1857
1860 case Lisp_Cons: 1858 case Lisp_Cons:
1861 if (!internal_equal (XCAR (o1), XCAR (o2), depth + 1)) 1859 if (!internal_equal (XCAR (o1), XCAR (o2), depth + 1))
diff --git a/src/lisp.h b/src/lisp.h
index fe2e787b388..a826e35870e 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -75,9 +75,7 @@ enum Lisp_Type
75 /* Cons. XCONS (object) points to a struct Lisp_Cons. */ 75 /* Cons. XCONS (object) points to a struct Lisp_Cons. */
76 Lisp_Cons, 76 Lisp_Cons,
77 77
78#ifdef LISP_FLOAT_TYPE
79 Lisp_Float, 78 Lisp_Float,
80#endif /* LISP_FLOAT_TYPE */
81 79
82 /* This is not a type code. It is for range checking. */ 80 /* This is not a type code. It is for range checking. */
83 Lisp_Type_Limit 81 Lisp_Type_Limit
@@ -1027,8 +1025,7 @@ union Lisp_Misc
1027 struct Lisp_Kboard_Objfwd u_kboard_objfwd; 1025 struct Lisp_Kboard_Objfwd u_kboard_objfwd;
1028 }; 1026 };
1029 1027
1030#ifdef LISP_FLOAT_TYPE 1028/* Lisp floating point type */
1031/* Optional Lisp floating point type */
1032struct Lisp_Float 1029struct Lisp_Float
1033 { 1030 {
1034 Lisp_Object type; /* essentially used for mark-bit 1031 Lisp_Object type; /* essentially used for mark-bit
@@ -1045,7 +1042,6 @@ struct Lisp_Float
1045#else 1042#else
1046#define XFLOAT_DATA(f) (XFLOAT (f)->data) 1043#define XFLOAT_DATA(f) (XFLOAT (f)->data)
1047#endif 1044#endif
1048#endif /* LISP_FLOAT_TYPE */
1049 1045
1050/* A character, declared with the following typedef, is a member 1046/* A character, declared with the following typedef, is a member
1051 of some character set associated with the current buffer. */ 1047 of some character set associated with the current buffer. */
@@ -1168,13 +1164,8 @@ typedef unsigned char UCHAR;
1168#define NILP(x) (XFASTINT (x) == XFASTINT (Qnil)) 1164#define NILP(x) (XFASTINT (x) == XFASTINT (Qnil))
1169#define GC_NILP(x) GC_EQ (x, Qnil) 1165#define GC_NILP(x) GC_EQ (x, Qnil)
1170 1166
1171#ifdef LISP_FLOAT_TYPE
1172#define NUMBERP(x) (INTEGERP (x) || FLOATP (x)) 1167#define NUMBERP(x) (INTEGERP (x) || FLOATP (x))
1173#define GC_NUMBERP(x) (GC_INTEGERP (x) || GC_FLOATP (x)) 1168#define GC_NUMBERP(x) (GC_INTEGERP (x) || GC_FLOATP (x))
1174#else
1175#define NUMBERP(x) (INTEGERP (x))
1176#define GC_NUMBERP(x) (GC_INTEGERP (x))
1177#endif
1178#define NATNUMP(x) (INTEGERP (x) && XINT (x) >= 0) 1169#define NATNUMP(x) (INTEGERP (x) && XINT (x) >= 0)
1179#define GC_NATNUMP(x) (GC_INTEGERP (x) && XINT (x) >= 0) 1170#define GC_NATNUMP(x) (GC_INTEGERP (x) && XINT (x) >= 0)
1180 1171
@@ -1191,13 +1182,8 @@ typedef unsigned char UCHAR;
1191#define CONSP(x) (XTYPE ((x)) == Lisp_Cons) 1182#define CONSP(x) (XTYPE ((x)) == Lisp_Cons)
1192#define GC_CONSP(x) (XGCTYPE ((x)) == Lisp_Cons) 1183#define GC_CONSP(x) (XGCTYPE ((x)) == Lisp_Cons)
1193 1184
1194#ifdef LISP_FLOAT_TYPE
1195#define FLOATP(x) (XTYPE ((x)) == Lisp_Float) 1185#define FLOATP(x) (XTYPE ((x)) == Lisp_Float)
1196#define GC_FLOATP(x) (XGCTYPE ((x)) == Lisp_Float) 1186#define GC_FLOATP(x) (XGCTYPE ((x)) == Lisp_Float)
1197#else
1198#define FLOATP(x) (0)
1199#define GC_FLOATP(x) (0)
1200#endif
1201#define VECTORP(x) (VECTORLIKEP (x) && !(XVECTOR (x)->size & PSEUDOVECTOR_FLAG)) 1187#define VECTORP(x) (VECTORLIKEP (x) && !(XVECTOR (x)->size & PSEUDOVECTOR_FLAG))
1202#define GC_VECTORP(x) (GC_VECTORLIKEP (x) && !(XVECTOR (x)->size & PSEUDOVECTOR_FLAG)) 1188#define GC_VECTORP(x) (GC_VECTORLIKEP (x) && !(XVECTOR (x)->size & PSEUDOVECTOR_FLAG))
1203#define OVERLAYP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Overlay) 1189#define OVERLAYP(x) (MISCP (x) && XMISCTYPE (x) == Lisp_Misc_Overlay)
@@ -1318,8 +1304,6 @@ typedef unsigned char UCHAR;
1318 do { if (MARKERP ((x))) XSETFASTINT (x, marker_position (x)); \ 1304 do { if (MARKERP ((x))) XSETFASTINT (x, marker_position (x)); \
1319 else if (!INTEGERP ((x))) x = wrong_type_argument (Qinteger_or_marker_p, (x)); } while (0) 1305 else if (!INTEGERP ((x))) x = wrong_type_argument (Qinteger_or_marker_p, (x)); } while (0)
1320 1306
1321#ifdef LISP_FLOAT_TYPE
1322
1323#define XFLOATINT(n) extract_float((n)) 1307#define XFLOATINT(n) extract_float((n))
1324 1308
1325#define CHECK_FLOAT(x, i) \ 1309#define CHECK_FLOAT(x, i) \
@@ -1335,15 +1319,6 @@ typedef unsigned char UCHAR;
1335 else if (!INTEGERP (x) && !FLOATP (x)) \ 1319 else if (!INTEGERP (x) && !FLOATP (x)) \
1336 x = wrong_type_argument (Qnumber_or_marker_p, (x)); } while (0) 1320 x = wrong_type_argument (Qnumber_or_marker_p, (x)); } while (0)
1337 1321
1338#else /* Not LISP_FLOAT_TYPE */
1339
1340#define CHECK_NUMBER_OR_FLOAT CHECK_NUMBER
1341
1342#define CHECK_NUMBER_OR_FLOAT_COERCE_MARKER CHECK_NUMBER_COERCE_MARKER
1343
1344#define XFLOATINT(n) XINT((n))
1345#endif /* LISP_FLOAT_TYPE */
1346
1347#define CHECK_OVERLAY(x, i) \ 1322#define CHECK_OVERLAY(x, i) \
1348 do { if (!OVERLAYP ((x))) x = wrong_type_argument (Qoverlayp, (x));} while (0) 1323 do { if (!OVERLAYP ((x))) x = wrong_type_argument (Qoverlayp, (x));} while (0)
1349 1324
@@ -1742,9 +1717,7 @@ extern Lisp_Object Qboundp, Qfboundp;
1742extern Lisp_Object Qbuffer_or_string_p; 1717extern Lisp_Object Qbuffer_or_string_p;
1743extern Lisp_Object Qcdr; 1718extern Lisp_Object Qcdr;
1744 1719
1745#ifdef LISP_FLOAT_TYPE
1746extern Lisp_Object Qfloatp, Qinteger_or_floatp, Qinteger_or_float_or_marker_p; 1720extern Lisp_Object Qfloatp, Qinteger_or_floatp, Qinteger_or_float_or_marker_p;
1747#endif /* LISP_FLOAT_TYPE */
1748 1721
1749extern Lisp_Object Qframep; 1722extern Lisp_Object Qframep;
1750 1723
@@ -1767,11 +1740,9 @@ EXFUN (Fmarkerp, 1);
1767EXFUN (Fsubrp, 1); 1740EXFUN (Fsubrp, 1);
1768EXFUN (Fchar_or_string_p, 1); 1741EXFUN (Fchar_or_string_p, 1);
1769EXFUN (Finteger_or_marker_p, 1); 1742EXFUN (Finteger_or_marker_p, 1);
1770#ifdef LISP_FLOAT_TYPE
1771EXFUN (Ffloatp, 1); 1743EXFUN (Ffloatp, 1);
1772EXFUN (Finteger_or_floatp, 1); 1744EXFUN (Finteger_or_floatp, 1);
1773EXFUN (Finteger_or_float_or_marker_p, 1); 1745EXFUN (Finteger_or_float_or_marker_p, 1);
1774#endif /* LISP_FLOAT_TYPE */
1775 1746
1776EXFUN (Fcar, 1); 1747EXFUN (Fcar, 1);
1777EXFUN (Fcar_safe, 1); 1748EXFUN (Fcar_safe, 1);
@@ -1986,10 +1957,8 @@ extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object)
1986extern void syms_of_fns P_ ((void)); 1957extern void syms_of_fns P_ ((void));
1987 1958
1988/* Defined in floatfns.c */ 1959/* Defined in floatfns.c */
1989#ifdef LISP_FLOAT_TYPE
1990extern double extract_float P_ ((Lisp_Object)); 1960extern double extract_float P_ ((Lisp_Object));
1991EXFUN (Ffloat, 1); 1961EXFUN (Ffloat, 1);
1992#endif /* LISP_FLOAT_TYPE */
1993EXFUN (Ftruncate, 2); 1962EXFUN (Ftruncate, 2);
1994extern void init_floatfns P_ ((void)); 1963extern void init_floatfns P_ ((void));
1995extern void syms_of_floatfns P_ ((void)); 1964extern void syms_of_floatfns P_ ((void));
@@ -2125,9 +2094,7 @@ extern Lisp_Object make_sub_char_table P_ ((Lisp_Object));
2125extern Lisp_Object Qchar_table_extra_slots; 2094extern Lisp_Object Qchar_table_extra_slots;
2126extern struct Lisp_Vector *allocate_vectorlike P_ ((EMACS_INT)); 2095extern struct Lisp_Vector *allocate_vectorlike P_ ((EMACS_INT));
2127extern int gc_in_progress; 2096extern int gc_in_progress;
2128#ifdef LISP_FLOAT_TYPE
2129extern Lisp_Object make_float P_ ((double)); 2097extern Lisp_Object make_float P_ ((double));
2130#endif /* LISP_FLOAT_TYPE */
2131extern void display_malloc_warning P_ ((void)); 2098extern void display_malloc_warning P_ ((void));
2132extern int inhibit_garbage_collection P_ ((void)); 2099extern int inhibit_garbage_collection P_ ((void));
2133extern void free_marker P_ ((Lisp_Object)); 2100extern void free_marker P_ ((Lisp_Object));
diff --git a/src/lread.c b/src/lread.c
index efc2b3149b2..8b2564c3792 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -31,15 +31,12 @@ Boston, MA 02111-1307, USA. */
31#include <errno.h> 31#include <errno.h>
32#include "lisp.h" 32#include "lisp.h"
33#include "intervals.h" 33#include "intervals.h"
34
35#ifndef standalone
36#include "buffer.h" 34#include "buffer.h"
37#include "charset.h" 35#include "charset.h"
38#include <epaths.h> 36#include <epaths.h>
39#include "commands.h" 37#include "commands.h"
40#include "keyboard.h" 38#include "keyboard.h"
41#include "termhooks.h" 39#include "termhooks.h"
42#endif
43 40
44#ifdef lint 41#ifdef lint
45#include <sys/inode.h> 42#include <sys/inode.h>
@@ -60,9 +57,7 @@ Boston, MA 02111-1307, USA. */
60#define X_OK 01 57#define X_OK 01
61#endif 58#endif
62 59
63#ifdef LISP_FLOAT_TYPE
64#include <math.h> 60#include <math.h>
65#endif /* LISP_FLOAT_TYPE */
66 61
67#ifdef HAVE_SETLOCALE 62#ifdef HAVE_SETLOCALE
68#include <locale.h> 63#include <locale.h>
@@ -408,9 +403,6 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
408 input_method) 403 input_method)
409 int no_switch_frame, ascii_required, error_nonascii, input_method; 404 int no_switch_frame, ascii_required, error_nonascii, input_method;
410{ 405{
411#ifdef standalone
412 return make_number (getchar ());
413#else
414 register Lisp_Object val, delayed_switch_frame; 406 register Lisp_Object val, delayed_switch_frame;
415 407
416 delayed_switch_frame = Qnil; 408 delayed_switch_frame = Qnil;
@@ -471,7 +463,6 @@ read_filtered_event (no_switch_frame, ascii_required, error_nonascii,
471 unread_switch_frame = delayed_switch_frame; 463 unread_switch_frame = delayed_switch_frame;
472 464
473 return val; 465 return val;
474#endif
475} 466}
476 467
477DEFUN ("read-char", Fread_char, Sread_char, 0, 2, 0, 468DEFUN ("read-char", Fread_char, Sread_char, 0, 2, 0,
@@ -1130,8 +1121,6 @@ readevalloop (readcharfun, stream, sourcename, evalfun, printflag, unibyte, read
1130 unbind_to (count, Qnil); 1121 unbind_to (count, Qnil);
1131} 1122}
1132 1123
1133#ifndef standalone
1134
1135DEFUN ("eval-buffer", Feval_buffer, Seval_buffer, 0, 5, "", 1124DEFUN ("eval-buffer", Feval_buffer, Seval_buffer, 0, 5, "",
1136 "Execute the current buffer as Lisp code.\n\ 1125 "Execute the current buffer as Lisp code.\n\
1137Programs can pass two arguments, BUFFER and PRINTFLAG.\n\ 1126Programs can pass two arguments, BUFFER and PRINTFLAG.\n\
@@ -1246,7 +1235,6 @@ This function does not move point.")
1246 return unbind_to (count, Qnil); 1235 return unbind_to (count, Qnil);
1247} 1236}
1248 1237
1249#endif /* standalone */
1250 1238
1251DEFUN ("read", Fread, Sread, 0, 1, 0, 1239DEFUN ("read", Fread, Sread, 0, 1, 0,
1252 "Read one Lisp expression as text from STREAM, return as Lisp object.\n\ 1240 "Read one Lisp expression as text from STREAM, return as Lisp object.\n\
@@ -1272,10 +1260,8 @@ STREAM or the value of `standard-input' may be:\n\
1272 new_backquote_flag = 0; 1260 new_backquote_flag = 0;
1273 read_objects = Qnil; 1261 read_objects = Qnil;
1274 1262
1275#ifndef standalone
1276 if (EQ (stream, Qread_char)) 1263 if (EQ (stream, Qread_char))
1277 return Fread_minibuffer (build_string ("Lisp expression: "), Qnil); 1264 return Fread_minibuffer (build_string ("Lisp expression: "), Qnil);
1278#endif
1279 1265
1280 if (STRINGP (stream)) 1266 if (STRINGP (stream))
1281 return Fcar (Fread_from_string (stream, Qnil, Qnil)); 1267 return Fcar (Fread_from_string (stream, Qnil, Qnil));
@@ -2004,7 +1990,6 @@ read1 (readcharfun, pch, first_in_list)
2004 1990
2005 case '.': 1991 case '.':
2006 { 1992 {
2007#ifdef LISP_FLOAT_TYPE
2008 /* If a period is followed by a number, then we should read it 1993 /* If a period is followed by a number, then we should read it
2009 as a floating point number. Otherwise, it denotes a dotted 1994 as a floating point number. Otherwise, it denotes a dotted
2010 pair. */ 1995 pair. */
@@ -2012,7 +1997,6 @@ read1 (readcharfun, pch, first_in_list)
2012 UNREAD (next_char); 1997 UNREAD (next_char);
2013 1998
2014 if (! (next_char >= '0' && next_char <= '9')) 1999 if (! (next_char >= '0' && next_char <= '9'))
2015#endif
2016 { 2000 {
2017 *pch = c; 2001 *pch = c;
2018 return Qnil; 2002 return Qnil;
@@ -2035,11 +2019,6 @@ read1 (readcharfun, pch, first_in_list)
2035 while (c > 040 2019 while (c > 040
2036 && !(c == '\"' || c == '\'' || c == ';' || c == '?' 2020 && !(c == '\"' || c == '\'' || c == ';' || c == '?'
2037 || c == '(' || c == ')' 2021 || c == '(' || c == ')'
2038#ifndef LISP_FLOAT_TYPE
2039 /* If we have floating-point support, then we need
2040 to allow <digits><dot><digits>. */
2041 || c =='.'
2042#endif /* not LISP_FLOAT_TYPE */
2043 || c == '[' || c == ']' || c == '#' 2022 || c == '[' || c == ']' || c == '#'
2044 )) 2023 ))
2045 { 2024 {
@@ -2086,17 +2065,13 @@ read1 (readcharfun, pch, first_in_list)
2086 if (p1 != p) 2065 if (p1 != p)
2087 { 2066 {
2088 while (p1 != p && (c = *p1) >= '0' && c <= '9') p1++; 2067 while (p1 != p && (c = *p1) >= '0' && c <= '9') p1++;
2089#ifdef LISP_FLOAT_TYPE
2090 /* Integers can have trailing decimal points. */ 2068 /* Integers can have trailing decimal points. */
2091 if (p1 > read_buffer && p1 < p && *p1 == '.') p1++; 2069 if (p1 > read_buffer && p1 < p && *p1 == '.') p1++;
2092#endif
2093 if (p1 == p) 2070 if (p1 == p)
2094 /* It is an integer. */ 2071 /* It is an integer. */
2095 { 2072 {
2096#ifdef LISP_FLOAT_TYPE
2097 if (p1[-1] == '.') 2073 if (p1[-1] == '.')
2098 p1[-1] = '\0'; 2074 p1[-1] = '\0';
2099#endif
2100 if (sizeof (int) == sizeof (EMACS_INT)) 2075 if (sizeof (int) == sizeof (EMACS_INT))
2101 XSETINT (val, atoi (read_buffer)); 2076 XSETINT (val, atoi (read_buffer));
2102 else if (sizeof (long) == sizeof (EMACS_INT)) 2077 else if (sizeof (long) == sizeof (EMACS_INT))
@@ -2106,7 +2081,6 @@ read1 (readcharfun, pch, first_in_list)
2106 return val; 2081 return val;
2107 } 2082 }
2108 } 2083 }
2109#ifdef LISP_FLOAT_TYPE
2110 if (isfloat_string (read_buffer)) 2084 if (isfloat_string (read_buffer))
2111 { 2085 {
2112 /* Compute NaN and infinities using 0.0 in a variable, 2086 /* Compute NaN and infinities using 0.0 in a variable,
@@ -2139,7 +2113,6 @@ read1 (readcharfun, pch, first_in_list)
2139 2113
2140 return make_float (negative ? - value : value); 2114 return make_float (negative ? - value : value);
2141 } 2115 }
2142#endif
2143 } 2116 }
2144 2117
2145 if (uninterned_symbol) 2118 if (uninterned_symbol)
@@ -2271,8 +2244,6 @@ substitute_in_interval (interval, arg)
2271} 2244}
2272 2245
2273 2246
2274#ifdef LISP_FLOAT_TYPE
2275
2276#define LEAD_INT 1 2247#define LEAD_INT 1
2277#define DOT_CHAR 2 2248#define DOT_CHAR 2
2278#define TRAIL_INT 4 2249#define TRAIL_INT 4
@@ -2342,7 +2313,7 @@ isfloat_string (cp)
2342 || state == (LEAD_INT|DOT_CHAR|TRAIL_INT|E_CHAR|EXP_INT) 2313 || state == (LEAD_INT|DOT_CHAR|TRAIL_INT|E_CHAR|EXP_INT)
2343 || state == (DOT_CHAR|TRAIL_INT|E_CHAR|EXP_INT))); 2314 || state == (DOT_CHAR|TRAIL_INT|E_CHAR|EXP_INT)));
2344} 2315}
2345#endif /* LISP_FLOAT_TYPE */ 2316
2346 2317
2347static Lisp_Object 2318static Lisp_Object
2348read_vector (readcharfun, bytecodeflag) 2319read_vector (readcharfun, bytecodeflag)
@@ -3022,8 +2993,6 @@ defvar_lisp (namestring, address)
3022 staticpro (address); 2993 staticpro (address);
3023} 2994}
3024 2995
3025#ifndef standalone
3026
3027/* Similar but define a variable whose value is the Lisp Object stored in 2996/* Similar but define a variable whose value is the Lisp Object stored in
3028 the current buffer. address is the address of the slot in the buffer 2997 the current buffer. address is the address of the slot in the buffer
3029 that is current now. */ 2998 that is current now. */
@@ -3054,7 +3023,6 @@ defvar_per_buffer (namestring, address, type, doc)
3054 abort (); 3023 abort ();
3055} 3024}
3056 3025
3057#endif /* standalone */
3058 3026
3059/* Similar but define a variable whose value is the Lisp Object stored 3027/* Similar but define a variable whose value is the Lisp Object stored
3060 at a particular offset in the current kboard object. */ 3028 at a particular offset in the current kboard object. */
diff --git a/src/print.c b/src/print.c
index 2d1f13aadd5..25e7f0a91ed 100644
--- a/src/print.c
+++ b/src/print.c
@@ -40,7 +40,6 @@ Lisp_Object Qtemp_buffer_setup_hook;
40/* These are used to print like we read. */ 40/* These are used to print like we read. */
41extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction; 41extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction;
42 42
43#ifdef LISP_FLOAT_TYPE
44Lisp_Object Vfloat_output_format, Qfloat_output_format; 43Lisp_Object Vfloat_output_format, Qfloat_output_format;
45 44
46/* Work around a problem that happens because math.h on hpux 7 45/* Work around a problem that happens because math.h on hpux 7
@@ -89,8 +88,6 @@ Lisp_Object Vfloat_output_format, Qfloat_output_format;
89#define DOUBLE_DIGITS_BOUND ((int) ceil (log10 (pow (FLT_RADIX, DBL_MANT_DIG)))) 88#define DOUBLE_DIGITS_BOUND ((int) ceil (log10 (pow (FLT_RADIX, DBL_MANT_DIG))))
90#endif 89#endif
91 90
92#endif /* LISP_FLOAT_TYPE */
93
94/* Avoid actual stack overflow in print. */ 91/* Avoid actual stack overflow in print. */
95int print_depth; 92int print_depth;
96 93
@@ -914,7 +911,6 @@ print_error_message (data, stream)
914 UNGCPRO; 911 UNGCPRO;
915} 912}
916 913
917#ifdef LISP_FLOAT_TYPE
918 914
919/* 915/*
920 * The buffer should be at least as large as the max string size of the 916 * The buffer should be at least as large as the max string size of the
@@ -1053,7 +1049,7 @@ float_to_string (buf, data)
1053 } 1049 }
1054 } 1050 }
1055} 1051}
1056#endif /* LISP_FLOAT_TYPE */ 1052
1057 1053
1058static void 1054static void
1059print (obj, printcharfun, escapeflag) 1055print (obj, printcharfun, escapeflag)
@@ -1269,7 +1265,6 @@ print_object (obj, printcharfun, escapeflag)
1269 strout (buf, -1, -1, printcharfun, 0); 1265 strout (buf, -1, -1, printcharfun, 0);
1270 break; 1266 break;
1271 1267
1272#ifdef LISP_FLOAT_TYPE
1273 case Lisp_Float: 1268 case Lisp_Float:
1274 { 1269 {
1275 char pigbuf[350]; /* see comments in float_to_string */ 1270 char pigbuf[350]; /* see comments in float_to_string */
@@ -1278,7 +1273,6 @@ print_object (obj, printcharfun, escapeflag)
1278 strout (pigbuf, -1, -1, printcharfun, 0); 1273 strout (pigbuf, -1, -1, printcharfun, 0);
1279 } 1274 }
1280 break; 1275 break;
1281#endif
1282 1276
1283 case Lisp_String: 1277 case Lisp_String:
1284 if (!escapeflag) 1278 if (!escapeflag)
@@ -1886,7 +1880,6 @@ or the symbol t (output appears in the echo area).");
1886 Qstandard_output = intern ("standard-output"); 1880 Qstandard_output = intern ("standard-output");
1887 staticpro (&Qstandard_output); 1881 staticpro (&Qstandard_output);
1888 1882
1889#ifdef LISP_FLOAT_TYPE
1890 DEFVAR_LISP ("float-output-format", &Vfloat_output_format, 1883 DEFVAR_LISP ("float-output-format", &Vfloat_output_format,
1891 "The format descriptor string used to print floats.\n\ 1884 "The format descriptor string used to print floats.\n\
1892This is a %-spec like those accepted by `printf' in C,\n\ 1885This is a %-spec like those accepted by `printf' in C,\n\
@@ -1905,7 +1898,6 @@ that represents the number without losing information.");
1905 Vfloat_output_format = Qnil; 1898 Vfloat_output_format = Qnil;
1906 Qfloat_output_format = intern ("float-output-format"); 1899 Qfloat_output_format = intern ("float-output-format");
1907 staticpro (&Qfloat_output_format); 1900 staticpro (&Qfloat_output_format);
1908#endif /* LISP_FLOAT_TYPE */
1909 1901
1910 DEFVAR_LISP ("print-length", &Vprint_length, 1902 DEFVAR_LISP ("print-length", &Vprint_length,
1911 "Maximum length of list to print before abbreviating.\n\ 1903 "Maximum length of list to print before abbreviating.\n\