diff options
| author | Gerd Moellmann | 2000-02-17 09:45:46 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-02-17 09:45:46 +0000 |
| commit | cc94f3b24e447e04da3e899af8909cb77d648ef0 (patch) | |
| tree | 9dc9189ad96dec0e5237e9fd36a6baf505c9eb7d | |
| parent | 10689a01d99ab2f3382bb7ef3912961ec08f8bb9 (diff) | |
| download | emacs-cc94f3b24e447e04da3e899af8909cb77d648ef0.tar.gz emacs-cc94f3b24e447e04da3e899af8909cb77d648ef0.zip | |
Remove `LISP_FLOAT_TYPE' and `standalone'.
| -rw-r--r-- | src/Makefile.in | 8 | ||||
| -rw-r--r-- | src/alloc.c | 23 | ||||
| -rw-r--r-- | src/bytecode.c | 16 | ||||
| -rw-r--r-- | src/config.in | 4 | ||||
| -rw-r--r-- | src/data.c | 59 | ||||
| -rw-r--r-- | src/dispnew.c | 10 | ||||
| -rw-r--r-- | src/ecrt0.c | 2 | ||||
| -rw-r--r-- | src/editfns.c | 4 | ||||
| -rw-r--r-- | src/emacs.c | 2 | ||||
| -rw-r--r-- | src/floatfns.c | 18 | ||||
| -rw-r--r-- | src/fns.c | 2 | ||||
| -rw-r--r-- | src/lisp.h | 35 | ||||
| -rw-r--r-- | src/lread.c | 34 | ||||
| -rw-r--r-- | src/print.c | 10 |
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 | ||
| 152 | int total_conses, total_markers, total_symbols, total_vector_size; | 152 | int total_conses, total_markers, total_symbols, total_vector_size; |
| 153 | int total_free_conses, total_free_markers, total_free_symbols; | 153 | int total_free_conses, total_free_markers, total_free_symbols; |
| 154 | #ifdef LISP_FLOAT_TYPE | ||
| 155 | int total_free_floats, total_floats; | 154 | int 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 | ||
| 2036 | Lisp_Object | 2029 | Lisp_Object |
| 2037 | make_pure_float (num) | 2030 | make_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 | |||
| 2074 | Lisp_Object | 2065 | Lisp_Object |
| 2075 | make_pure_vector (len) | 2066 | make_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) |
| 67 | extern double atof (); | 60 | extern double atof (); |
| @@ -93,10 +86,8 @@ Lisp_Object Qad_advice_info, Qad_activate_internal; | |||
| 93 | Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; | 86 | Lisp_Object Qrange_error, Qdomain_error, Qsingularity_error; |
| 94 | Lisp_Object Qoverflow_error, Qunderflow_error; | 87 | Lisp_Object Qoverflow_error, Qunderflow_error; |
| 95 | 88 | ||
| 96 | #ifdef LISP_FLOAT_TYPE | ||
| 97 | Lisp_Object Qfloatp; | 89 | Lisp_Object Qfloatp; |
| 98 | Lisp_Object Qnumberp, Qnumber_or_marker_p; | 90 | Lisp_Object Qnumberp, Qnumber_or_marker_p; |
| 99 | #endif | ||
| 100 | 91 | ||
| 101 | static Lisp_Object Qinteger, Qsymbol, Qstring, Qcons, Qmarker, Qoverlay; | 92 | static Lisp_Object Qinteger, Qsymbol, Qstring, Qcons, Qmarker, Qoverlay; |
| 102 | static Lisp_Object Qfloat, Qwindow_configuration, Qwindow; | 93 | static 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 | ||
| 510 | DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, | 498 | DEFUN ("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 | |||
| 2284 | Lisp_Object | 2251 | Lisp_Object |
| 2285 | float_arith_driver (accum, argnum, code, nargs, args) | 2252 | float_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 | ||
| 2349 | DEFUN ("+", Fplus, Splus, 0, MANY, 0, | 2316 | DEFUN ("+", 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 | ||
| 886 | Lisp_Object | 877 | Lisp_Object |
| 887 | fmod_float (x, y) | 878 | fmod_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 | |||
| 1023 | init_floatfns () | ||
| 1024 | {} | ||
| 1025 | |||
| 1026 | #endif /* not LISP_FLOAT_TYPE */ | ||
| 1027 | |||
| 1028 | void | 1012 | void |
| 1029 | syms_of_floatfns () | 1013 | syms_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); |
| @@ -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 */ | ||
| 1032 | struct Lisp_Float | 1029 | struct 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; | |||
| 1742 | extern Lisp_Object Qbuffer_or_string_p; | 1717 | extern Lisp_Object Qbuffer_or_string_p; |
| 1743 | extern Lisp_Object Qcdr; | 1718 | extern Lisp_Object Qcdr; |
| 1744 | 1719 | ||
| 1745 | #ifdef LISP_FLOAT_TYPE | ||
| 1746 | extern Lisp_Object Qfloatp, Qinteger_or_floatp, Qinteger_or_float_or_marker_p; | 1720 | extern Lisp_Object Qfloatp, Qinteger_or_floatp, Qinteger_or_float_or_marker_p; |
| 1747 | #endif /* LISP_FLOAT_TYPE */ | ||
| 1748 | 1721 | ||
| 1749 | extern Lisp_Object Qframep; | 1722 | extern Lisp_Object Qframep; |
| 1750 | 1723 | ||
| @@ -1767,11 +1740,9 @@ EXFUN (Fmarkerp, 1); | |||
| 1767 | EXFUN (Fsubrp, 1); | 1740 | EXFUN (Fsubrp, 1); |
| 1768 | EXFUN (Fchar_or_string_p, 1); | 1741 | EXFUN (Fchar_or_string_p, 1); |
| 1769 | EXFUN (Finteger_or_marker_p, 1); | 1742 | EXFUN (Finteger_or_marker_p, 1); |
| 1770 | #ifdef LISP_FLOAT_TYPE | ||
| 1771 | EXFUN (Ffloatp, 1); | 1743 | EXFUN (Ffloatp, 1); |
| 1772 | EXFUN (Finteger_or_floatp, 1); | 1744 | EXFUN (Finteger_or_floatp, 1); |
| 1773 | EXFUN (Finteger_or_float_or_marker_p, 1); | 1745 | EXFUN (Finteger_or_float_or_marker_p, 1); |
| 1774 | #endif /* LISP_FLOAT_TYPE */ | ||
| 1775 | 1746 | ||
| 1776 | EXFUN (Fcar, 1); | 1747 | EXFUN (Fcar, 1); |
| 1777 | EXFUN (Fcar_safe, 1); | 1748 | EXFUN (Fcar_safe, 1); |
| @@ -1986,10 +1957,8 @@ extern void map_char_table P_ ((void (*) (Lisp_Object, Lisp_Object, Lisp_Object) | |||
| 1986 | extern void syms_of_fns P_ ((void)); | 1957 | extern void syms_of_fns P_ ((void)); |
| 1987 | 1958 | ||
| 1988 | /* Defined in floatfns.c */ | 1959 | /* Defined in floatfns.c */ |
| 1989 | #ifdef LISP_FLOAT_TYPE | ||
| 1990 | extern double extract_float P_ ((Lisp_Object)); | 1960 | extern double extract_float P_ ((Lisp_Object)); |
| 1991 | EXFUN (Ffloat, 1); | 1961 | EXFUN (Ffloat, 1); |
| 1992 | #endif /* LISP_FLOAT_TYPE */ | ||
| 1993 | EXFUN (Ftruncate, 2); | 1962 | EXFUN (Ftruncate, 2); |
| 1994 | extern void init_floatfns P_ ((void)); | 1963 | extern void init_floatfns P_ ((void)); |
| 1995 | extern void syms_of_floatfns P_ ((void)); | 1964 | extern void syms_of_floatfns P_ ((void)); |
| @@ -2125,9 +2094,7 @@ extern Lisp_Object make_sub_char_table P_ ((Lisp_Object)); | |||
| 2125 | extern Lisp_Object Qchar_table_extra_slots; | 2094 | extern Lisp_Object Qchar_table_extra_slots; |
| 2126 | extern struct Lisp_Vector *allocate_vectorlike P_ ((EMACS_INT)); | 2095 | extern struct Lisp_Vector *allocate_vectorlike P_ ((EMACS_INT)); |
| 2127 | extern int gc_in_progress; | 2096 | extern int gc_in_progress; |
| 2128 | #ifdef LISP_FLOAT_TYPE | ||
| 2129 | extern Lisp_Object make_float P_ ((double)); | 2097 | extern Lisp_Object make_float P_ ((double)); |
| 2130 | #endif /* LISP_FLOAT_TYPE */ | ||
| 2131 | extern void display_malloc_warning P_ ((void)); | 2098 | extern void display_malloc_warning P_ ((void)); |
| 2132 | extern int inhibit_garbage_collection P_ ((void)); | 2099 | extern int inhibit_garbage_collection P_ ((void)); |
| 2133 | extern void free_marker P_ ((Lisp_Object)); | 2100 | extern 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 | ||
| 477 | DEFUN ("read-char", Fread_char, Sread_char, 0, 2, 0, | 468 | DEFUN ("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 | |||
| 1135 | DEFUN ("eval-buffer", Feval_buffer, Seval_buffer, 0, 5, "", | 1124 | DEFUN ("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\ |
| 1137 | Programs can pass two arguments, BUFFER and PRINTFLAG.\n\ | 1126 | Programs 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 | ||
| 1251 | DEFUN ("read", Fread, Sread, 0, 1, 0, | 1239 | DEFUN ("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 | ||
| 2347 | static Lisp_Object | 2318 | static Lisp_Object |
| 2348 | read_vector (readcharfun, bytecodeflag) | 2319 | read_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. */ |
| 41 | extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction; | 41 | extern Lisp_Object Qbackquote, Qcomma, Qcomma_at, Qcomma_dot, Qfunction; |
| 42 | 42 | ||
| 43 | #ifdef LISP_FLOAT_TYPE | ||
| 44 | Lisp_Object Vfloat_output_format, Qfloat_output_format; | 43 | Lisp_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. */ |
| 95 | int print_depth; | 92 | int 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 | ||
| 1058 | static void | 1054 | static void |
| 1059 | print (obj, printcharfun, escapeflag) | 1055 | print (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\ |
| 1892 | This is a %-spec like those accepted by `printf' in C,\n\ | 1885 | This 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\ |