diff options
| author | Karl Heuer | 1994-09-27 04:00:45 +0000 |
|---|---|---|
| committer | Karl Heuer | 1994-09-27 04:00:45 +0000 |
| commit | e9ebc175bf5a877fa3fbe41efa5eee0e5fb88546 (patch) | |
| tree | ef1f7103762a92442ace7cc8b2ddf6dd03d3d65d | |
| parent | a7a60ce9134f60413693ac713d8c884a4d6b6a89 (diff) | |
| download | emacs-e9ebc175bf5a877fa3fbe41efa5eee0e5fb88546.tar.gz emacs-e9ebc175bf5a877fa3fbe41efa5eee0e5fb88546.zip | |
(wrong_type_argument, Fconsp, Fatom, Flistp, Fnlistp, Fsymbolp, Fvectorp,
Fstringp, Farrayp, Fsequencep, Fbufferp, Fmarkerp, Fsubrp,
Fbyte_code_function_p, Fchar_or_string_p, Fintegerp, Finteger_or_marker_p,
Fnatnump, Fnumber_or_marker_p, Ffloatp, Fcar, Fcar_safe, Fcdr, Fcdr_safe,
Fsetcar, Fsetcdr, Fboundp, Ffboundp, store_symval_forwarding, Fset,
default_value, Fdefault_boundp, Fdefault_value, Fset_default,
Fmake_variable_buffer_local, Fmake_local_variable, Fkill_local_variable,
indirect_function, Faref, Faset, Farray_length, arithcompare, Fzerop,
Fnumber_to_string, arith_driver, float_arith_driver, Fmod, Fadd1, Fsub1): Use
type test macros.
| -rw-r--r-- | src/data.c | 156 |
1 files changed, 74 insertions, 82 deletions
diff --git a/src/data.c b/src/data.c index 9962b8eb273..c44bd6f0d46 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -95,10 +95,10 @@ wrong_type_argument (predicate, value) | |||
| 95 | { | 95 | { |
| 96 | if (!EQ (Vmocklisp_arguments, Qt)) | 96 | if (!EQ (Vmocklisp_arguments, Qt)) |
| 97 | { | 97 | { |
| 98 | if (XTYPE (value) == Lisp_String && | 98 | if (STRINGP (value) && |
| 99 | (EQ (predicate, Qintegerp) || EQ (predicate, Qinteger_or_marker_p))) | 99 | (EQ (predicate, Qintegerp) || EQ (predicate, Qinteger_or_marker_p))) |
| 100 | return Fstring_to_number (value); | 100 | return Fstring_to_number (value); |
| 101 | if (XTYPE (value) == Lisp_Int && EQ (predicate, Qstringp)) | 101 | if (INTEGERP (value) && EQ (predicate, Qstringp)) |
| 102 | return Fnumber_to_string (value); | 102 | return Fnumber_to_string (value); |
| 103 | } | 103 | } |
| 104 | value = Fsignal (Qwrong_type_argument, Fcons (predicate, Fcons (value, Qnil))); | 104 | value = Fsignal (Qwrong_type_argument, Fcons (predicate, Fcons (value, Qnil))); |
| @@ -180,7 +180,7 @@ DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, "T if OBJECT is a cons cell.") | |||
| 180 | (obj) | 180 | (obj) |
| 181 | Lisp_Object obj; | 181 | Lisp_Object obj; |
| 182 | { | 182 | { |
| 183 | if (XTYPE (obj) == Lisp_Cons) | 183 | if (CONSP (obj)) |
| 184 | return Qt; | 184 | return Qt; |
| 185 | return Qnil; | 185 | return Qnil; |
| 186 | } | 186 | } |
| @@ -189,7 +189,7 @@ DEFUN ("atom", Fatom, Satom, 1, 1, 0, "T if OBJECT is not a cons cell. This inc | |||
| 189 | (obj) | 189 | (obj) |
| 190 | Lisp_Object obj; | 190 | Lisp_Object obj; |
| 191 | { | 191 | { |
| 192 | if (XTYPE (obj) == Lisp_Cons) | 192 | if (CONSP (obj)) |
| 193 | return Qnil; | 193 | return Qnil; |
| 194 | return Qt; | 194 | return Qt; |
| 195 | } | 195 | } |
| @@ -198,7 +198,7 @@ DEFUN ("listp", Flistp, Slistp, 1, 1, 0, "T if OBJECT is a list. This includes | |||
| 198 | (obj) | 198 | (obj) |
| 199 | Lisp_Object obj; | 199 | Lisp_Object obj; |
| 200 | { | 200 | { |
| 201 | if (XTYPE (obj) == Lisp_Cons || NILP (obj)) | 201 | if (CONSP (obj) || NILP (obj)) |
| 202 | return Qt; | 202 | return Qt; |
| 203 | return Qnil; | 203 | return Qnil; |
| 204 | } | 204 | } |
| @@ -207,7 +207,7 @@ DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, "T if OBJECT is not a list. Lists i | |||
| 207 | (obj) | 207 | (obj) |
| 208 | Lisp_Object obj; | 208 | Lisp_Object obj; |
| 209 | { | 209 | { |
| 210 | if (XTYPE (obj) == Lisp_Cons || NILP (obj)) | 210 | if (CONSP (obj) || NILP (obj)) |
| 211 | return Qnil; | 211 | return Qnil; |
| 212 | return Qt; | 212 | return Qt; |
| 213 | } | 213 | } |
| @@ -216,7 +216,7 @@ DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, "T if OBJECT is a symbol.") | |||
| 216 | (obj) | 216 | (obj) |
| 217 | Lisp_Object obj; | 217 | Lisp_Object obj; |
| 218 | { | 218 | { |
| 219 | if (XTYPE (obj) == Lisp_Symbol) | 219 | if (SYMBOLP (obj)) |
| 220 | return Qt; | 220 | return Qt; |
| 221 | return Qnil; | 221 | return Qnil; |
| 222 | } | 222 | } |
| @@ -225,7 +225,7 @@ DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, "T if OBJECT is a vector.") | |||
| 225 | (obj) | 225 | (obj) |
| 226 | Lisp_Object obj; | 226 | Lisp_Object obj; |
| 227 | { | 227 | { |
| 228 | if (XTYPE (obj) == Lisp_Vector) | 228 | if (VECTORP (obj)) |
| 229 | return Qt; | 229 | return Qt; |
| 230 | return Qnil; | 230 | return Qnil; |
| 231 | } | 231 | } |
| @@ -234,7 +234,7 @@ DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, "T if OBJECT is a string.") | |||
| 234 | (obj) | 234 | (obj) |
| 235 | Lisp_Object obj; | 235 | Lisp_Object obj; |
| 236 | { | 236 | { |
| 237 | if (XTYPE (obj) == Lisp_String) | 237 | if (STRINGP (obj)) |
| 238 | return Qt; | 238 | return Qt; |
| 239 | return Qnil; | 239 | return Qnil; |
| 240 | } | 240 | } |
| @@ -243,7 +243,7 @@ DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, "T if OBJECT is an array (string or | |||
| 243 | (obj) | 243 | (obj) |
| 244 | Lisp_Object obj; | 244 | Lisp_Object obj; |
| 245 | { | 245 | { |
| 246 | if (XTYPE (obj) == Lisp_Vector || XTYPE (obj) == Lisp_String) | 246 | if (VECTORP (obj) || STRINGP (obj)) |
| 247 | return Qt; | 247 | return Qt; |
| 248 | return Qnil; | 248 | return Qnil; |
| 249 | } | 249 | } |
| @@ -253,8 +253,7 @@ DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, | |||
| 253 | (obj) | 253 | (obj) |
| 254 | register Lisp_Object obj; | 254 | register Lisp_Object obj; |
| 255 | { | 255 | { |
| 256 | if (CONSP (obj) || NILP (obj) || | 256 | if (CONSP (obj) || NILP (obj) || VECTORP (obj) || STRINGP (obj)) |
| 257 | XTYPE (obj) == Lisp_Vector || XTYPE (obj) == Lisp_String) | ||
| 258 | return Qt; | 257 | return Qt; |
| 259 | return Qnil; | 258 | return Qnil; |
| 260 | } | 259 | } |
| @@ -263,7 +262,7 @@ DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, "T if OBJECT is an editor buffer. | |||
| 263 | (obj) | 262 | (obj) |
| 264 | Lisp_Object obj; | 263 | Lisp_Object obj; |
| 265 | { | 264 | { |
| 266 | if (XTYPE (obj) == Lisp_Buffer) | 265 | if (BUFFERP (obj)) |
| 267 | return Qt; | 266 | return Qt; |
| 268 | return Qnil; | 267 | return Qnil; |
| 269 | } | 268 | } |
| @@ -272,7 +271,7 @@ DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, "T if OBJECT is a marker (editor | |||
| 272 | (obj) | 271 | (obj) |
| 273 | Lisp_Object obj; | 272 | Lisp_Object obj; |
| 274 | { | 273 | { |
| 275 | if (XTYPE (obj) == Lisp_Marker) | 274 | if (MARKERP (obj)) |
| 276 | return Qt; | 275 | return Qt; |
| 277 | return Qnil; | 276 | return Qnil; |
| 278 | } | 277 | } |
| @@ -281,7 +280,7 @@ DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, "T if OBJECT is a built-in function.") | |||
| 281 | (obj) | 280 | (obj) |
| 282 | Lisp_Object obj; | 281 | Lisp_Object obj; |
| 283 | { | 282 | { |
| 284 | if (XTYPE (obj) == Lisp_Subr) | 283 | if (SUBRP (obj)) |
| 285 | return Qt; | 284 | return Qt; |
| 286 | return Qnil; | 285 | return Qnil; |
| 287 | } | 286 | } |
| @@ -291,7 +290,7 @@ DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, | |||
| 291 | (obj) | 290 | (obj) |
| 292 | Lisp_Object obj; | 291 | Lisp_Object obj; |
| 293 | { | 292 | { |
| 294 | if (XTYPE (obj) == Lisp_Compiled) | 293 | if (COMPILEDP (obj)) |
| 295 | return Qt; | 294 | return Qt; |
| 296 | return Qnil; | 295 | return Qnil; |
| 297 | } | 296 | } |
| @@ -301,7 +300,7 @@ DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, | |||
| 301 | (obj) | 300 | (obj) |
| 302 | register Lisp_Object obj; | 301 | register Lisp_Object obj; |
| 303 | { | 302 | { |
| 304 | if (XTYPE (obj) == Lisp_Int || XTYPE (obj) == Lisp_String) | 303 | if (INTEGERP (obj) || STRINGP (obj)) |
| 305 | return Qt; | 304 | return Qt; |
| 306 | return Qnil; | 305 | return Qnil; |
| 307 | } | 306 | } |
| @@ -310,7 +309,7 @@ DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, "T if OBJECT is an integer.") | |||
| 310 | (obj) | 309 | (obj) |
| 311 | Lisp_Object obj; | 310 | Lisp_Object obj; |
| 312 | { | 311 | { |
| 313 | if (XTYPE (obj) == Lisp_Int) | 312 | if (INTEGERP (obj)) |
| 314 | return Qt; | 313 | return Qt; |
| 315 | return Qnil; | 314 | return Qnil; |
| 316 | } | 315 | } |
| @@ -320,7 +319,7 @@ DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, | |||
| 320 | (obj) | 319 | (obj) |
| 321 | register Lisp_Object obj; | 320 | register Lisp_Object obj; |
| 322 | { | 321 | { |
| 323 | if (XTYPE (obj) == Lisp_Marker || XTYPE (obj) == Lisp_Int) | 322 | if (MARKERP (obj) || INTEGERP (obj)) |
| 324 | return Qt; | 323 | return Qt; |
| 325 | return Qnil; | 324 | return Qnil; |
| 326 | } | 325 | } |
| @@ -330,7 +329,7 @@ DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, | |||
| 330 | (obj) | 329 | (obj) |
| 331 | Lisp_Object obj; | 330 | Lisp_Object obj; |
| 332 | { | 331 | { |
| 333 | if (XTYPE (obj) == Lisp_Int && XINT (obj) >= 0) | 332 | if (INTEGERP (obj) && XINT (obj) >= 0) |
| 334 | return Qt; | 333 | return Qt; |
| 335 | return Qnil; | 334 | return Qnil; |
| 336 | } | 335 | } |
| @@ -352,8 +351,7 @@ DEFUN ("number-or-marker-p", Fnumber_or_marker_p, | |||
| 352 | (obj) | 351 | (obj) |
| 353 | Lisp_Object obj; | 352 | Lisp_Object obj; |
| 354 | { | 353 | { |
| 355 | if (NUMBERP (obj) | 354 | if (NUMBERP (obj) || MARKERP (obj)) |
| 356 | || XTYPE (obj) == Lisp_Marker) | ||
| 357 | return Qt; | 355 | return Qt; |
| 358 | return Qnil; | 356 | return Qnil; |
| 359 | } | 357 | } |
| @@ -364,7 +362,7 @@ DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, | |||
| 364 | (obj) | 362 | (obj) |
| 365 | Lisp_Object obj; | 363 | Lisp_Object obj; |
| 366 | { | 364 | { |
| 367 | if (XTYPE (obj) == Lisp_Float) | 365 | if (FLOATP (obj)) |
| 368 | return Qt; | 366 | return Qt; |
| 369 | return Qnil; | 367 | return Qnil; |
| 370 | } | 368 | } |
| @@ -380,7 +378,7 @@ Error if arg is not nil and not a cons cell. See also `car-safe'.") | |||
| 380 | { | 378 | { |
| 381 | while (1) | 379 | while (1) |
| 382 | { | 380 | { |
| 383 | if (XTYPE (list) == Lisp_Cons) | 381 | if (CONSP (list)) |
| 384 | return XCONS (list)->car; | 382 | return XCONS (list)->car; |
| 385 | else if (EQ (list, Qnil)) | 383 | else if (EQ (list, Qnil)) |
| 386 | return Qnil; | 384 | return Qnil; |
| @@ -394,7 +392,7 @@ DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0, | |||
| 394 | (object) | 392 | (object) |
| 395 | Lisp_Object object; | 393 | Lisp_Object object; |
| 396 | { | 394 | { |
| 397 | if (XTYPE (object) == Lisp_Cons) | 395 | if (CONSP (object)) |
| 398 | return XCONS (object)->car; | 396 | return XCONS (object)->car; |
| 399 | else | 397 | else |
| 400 | return Qnil; | 398 | return Qnil; |
| @@ -409,7 +407,7 @@ Error if arg is not nil and not a cons cell. See also `cdr-safe'.") | |||
| 409 | { | 407 | { |
| 410 | while (1) | 408 | while (1) |
| 411 | { | 409 | { |
| 412 | if (XTYPE (list) == Lisp_Cons) | 410 | if (CONSP (list)) |
| 413 | return XCONS (list)->cdr; | 411 | return XCONS (list)->cdr; |
| 414 | else if (EQ (list, Qnil)) | 412 | else if (EQ (list, Qnil)) |
| 415 | return Qnil; | 413 | return Qnil; |
| @@ -423,7 +421,7 @@ DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0, | |||
| 423 | (object) | 421 | (object) |
| 424 | Lisp_Object object; | 422 | Lisp_Object object; |
| 425 | { | 423 | { |
| 426 | if (XTYPE (object) == Lisp_Cons) | 424 | if (CONSP (object)) |
| 427 | return XCONS (object)->cdr; | 425 | return XCONS (object)->cdr; |
| 428 | else | 426 | else |
| 429 | return Qnil; | 427 | return Qnil; |
| @@ -434,7 +432,7 @@ DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0, | |||
| 434 | (cell, newcar) | 432 | (cell, newcar) |
| 435 | register Lisp_Object cell, newcar; | 433 | register Lisp_Object cell, newcar; |
| 436 | { | 434 | { |
| 437 | if (XTYPE (cell) != Lisp_Cons) | 435 | if (!CONSP (cell)) |
| 438 | cell = wrong_type_argument (Qconsp, cell); | 436 | cell = wrong_type_argument (Qconsp, cell); |
| 439 | 437 | ||
| 440 | CHECK_IMPURE (cell); | 438 | CHECK_IMPURE (cell); |
| @@ -447,7 +445,7 @@ DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0, | |||
| 447 | (cell, newcdr) | 445 | (cell, newcdr) |
| 448 | register Lisp_Object cell, newcdr; | 446 | register Lisp_Object cell, newcdr; |
| 449 | { | 447 | { |
| 450 | if (XTYPE (cell) != Lisp_Cons) | 448 | if (!CONSP (cell)) |
| 451 | cell = wrong_type_argument (Qconsp, cell); | 449 | cell = wrong_type_argument (Qconsp, cell); |
| 452 | 450 | ||
| 453 | CHECK_IMPURE (cell); | 451 | CHECK_IMPURE (cell); |
| @@ -477,7 +475,7 @@ DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0, "T if SYMBOL's value is not void.") | |||
| 477 | valcontents = swap_in_symval_forwarding (sym, valcontents); | 475 | valcontents = swap_in_symval_forwarding (sym, valcontents); |
| 478 | } | 476 | } |
| 479 | 477 | ||
| 480 | return (XTYPE (valcontents) == Lisp_Void || EQ (valcontents, Qunbound) | 478 | return (VOIDP (valcontents) || EQ (valcontents, Qunbound) |
| 481 | ? Qnil : Qt); | 479 | ? Qnil : Qt); |
| 482 | } | 480 | } |
| 483 | 481 | ||
| @@ -486,9 +484,9 @@ DEFUN ("fboundp", Ffboundp, Sfboundp, 1, 1, 0, "T if SYMBOL's function definitio | |||
| 486 | register Lisp_Object sym; | 484 | register Lisp_Object sym; |
| 487 | { | 485 | { |
| 488 | CHECK_SYMBOL (sym, 0); | 486 | CHECK_SYMBOL (sym, 0); |
| 489 | return (XTYPE (XSYMBOL (sym)->function) == Lisp_Void | 487 | return ((VOIDP (XSYMBOL (sym)->function) |
| 490 | || EQ (XSYMBOL (sym)->function, Qunbound)) | 488 | || EQ (XSYMBOL (sym)->function, Qunbound)) |
| 491 | ? Qnil : Qt; | 489 | ? Qnil : Qt); |
| 492 | } | 490 | } |
| 493 | 491 | ||
| 494 | DEFUN ("makunbound", Fmakunbound, Smakunbound, 1, 1, 0, "Make SYMBOL's value be void.") | 492 | DEFUN ("makunbound", Fmakunbound, Smakunbound, 1, 1, 0, "Make SYMBOL's value be void.") |
| @@ -701,8 +699,8 @@ store_symval_forwarding (sym, valcontents, newval) | |||
| 701 | 699 | ||
| 702 | default: | 700 | default: |
| 703 | valcontents = XSYMBOL (sym)->value; | 701 | valcontents = XSYMBOL (sym)->value; |
| 704 | if (XTYPE (valcontents) == Lisp_Buffer_Local_Value | 702 | if (BUFFER_LOCAL_VALUEP (valcontents) |
| 705 | || XTYPE (valcontents) == Lisp_Some_Buffer_Local_Value) | 703 | || SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 706 | XCONS (XSYMBOL (sym)->value)->car = newval; | 704 | XCONS (XSYMBOL (sym)->value)->car = newval; |
| 707 | else | 705 | else |
| 708 | XSYMBOL (sym)->value = newval; | 706 | XSYMBOL (sym)->value = newval; |
| @@ -819,7 +817,7 @@ DEFUN ("set", Fset, Sset, 2, 2, 0, | |||
| 819 | (sym, newval) | 817 | (sym, newval) |
| 820 | register Lisp_Object sym, newval; | 818 | register Lisp_Object sym, newval; |
| 821 | { | 819 | { |
| 822 | int voide = (XTYPE (newval) == Lisp_Void || EQ (newval, Qunbound)); | 820 | int voide = (VOIDP (newval) || EQ (newval, Qunbound)); |
| 823 | 821 | ||
| 824 | register Lisp_Object valcontents, tem1, current_alist_element; | 822 | register Lisp_Object valcontents, tem1, current_alist_element; |
| 825 | 823 | ||
| @@ -828,7 +826,7 @@ DEFUN ("set", Fset, Sset, 2, 2, 0, | |||
| 828 | return Fsignal (Qsetting_constant, Fcons (sym, Qnil)); | 826 | return Fsignal (Qsetting_constant, Fcons (sym, Qnil)); |
| 829 | valcontents = XSYMBOL (sym)->value; | 827 | valcontents = XSYMBOL (sym)->value; |
| 830 | 828 | ||
| 831 | if (XTYPE (valcontents) == Lisp_Buffer_Objfwd) | 829 | if (BUFFER_OBJFWDP (valcontents)) |
| 832 | { | 830 | { |
| 833 | register int idx = XUINT (valcontents); | 831 | register int idx = XUINT (valcontents); |
| 834 | register int mask = *(int *)(idx + (char *) &buffer_local_flags); | 832 | register int mask = *(int *)(idx + (char *) &buffer_local_flags); |
| @@ -836,8 +834,8 @@ DEFUN ("set", Fset, Sset, 2, 2, 0, | |||
| 836 | current_buffer->local_var_flags |= mask; | 834 | current_buffer->local_var_flags |= mask; |
| 837 | } | 835 | } |
| 838 | 836 | ||
| 839 | else if (XTYPE (valcontents) == Lisp_Buffer_Local_Value | 837 | else if (BUFFER_LOCAL_VALUEP (valcontents) |
| 840 | || XTYPE (valcontents) == Lisp_Some_Buffer_Local_Value) | 838 | || SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 841 | { | 839 | { |
| 842 | /* valcontents is actually a pointer to a cons heading something like: | 840 | /* valcontents is actually a pointer to a cons heading something like: |
| 843 | (REALVALUE BUFFER CURRENT-ALIST-ELEMENT . DEFAULT-VALUE). | 841 | (REALVALUE BUFFER CURRENT-ALIST-ELEMENT . DEFAULT-VALUE). |
| @@ -876,7 +874,7 @@ DEFUN ("set", Fset, Sset, 2, 2, 0, | |||
| 876 | need to write it out, and find the new CURRENT-ALIST-ELEMENT. */ | 874 | need to write it out, and find the new CURRENT-ALIST-ELEMENT. */ |
| 877 | if ((current_buffer | 875 | if ((current_buffer |
| 878 | != XBUFFER (XCONS (XCONS (valcontents)->cdr)->car)) | 876 | != XBUFFER (XCONS (XCONS (valcontents)->cdr)->car)) |
| 879 | || (XTYPE (valcontents) == Lisp_Buffer_Local_Value | 877 | || (BUFFER_LOCAL_VALUEP (valcontents) |
| 880 | && EQ (XCONS (current_alist_element)->car, | 878 | && EQ (XCONS (current_alist_element)->car, |
| 881 | current_alist_element))) | 879 | current_alist_element))) |
| 882 | { | 880 | { |
| @@ -895,7 +893,7 @@ DEFUN ("set", Fset, Sset, 2, 2, 0, | |||
| 895 | /* If the variable is a Lisp_Some_Buffer_Local_Value, | 893 | /* If the variable is a Lisp_Some_Buffer_Local_Value, |
| 896 | make CURRENT-ALIST-ELEMENT point to itself, | 894 | make CURRENT-ALIST-ELEMENT point to itself, |
| 897 | indicating that we're seeing the default value. */ | 895 | indicating that we're seeing the default value. */ |
| 898 | if (XTYPE (valcontents) == Lisp_Some_Buffer_Local_Value) | 896 | if (SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 899 | tem1 = XCONS (XCONS (valcontents)->cdr)->cdr; | 897 | tem1 = XCONS (XCONS (valcontents)->cdr)->cdr; |
| 900 | 898 | ||
| 901 | /* If it's a Lisp_Buffer_Local_Value, give this buffer a | 899 | /* If it's a Lisp_Buffer_Local_Value, give this buffer a |
| @@ -944,7 +942,7 @@ default_value (sym) | |||
| 944 | 942 | ||
| 945 | /* For a built-in buffer-local variable, get the default value | 943 | /* For a built-in buffer-local variable, get the default value |
| 946 | rather than letting do_symval_forwarding get the current value. */ | 944 | rather than letting do_symval_forwarding get the current value. */ |
| 947 | if (XTYPE (valcontents) == Lisp_Buffer_Objfwd) | 945 | if (BUFFER_OBJFWDP (valcontents)) |
| 948 | { | 946 | { |
| 949 | register int idx = XUINT (valcontents); | 947 | register int idx = XUINT (valcontents); |
| 950 | 948 | ||
| @@ -953,8 +951,8 @@ default_value (sym) | |||
| 953 | } | 951 | } |
| 954 | 952 | ||
| 955 | /* Handle user-created local variables. */ | 953 | /* Handle user-created local variables. */ |
| 956 | if (XTYPE (valcontents) == Lisp_Buffer_Local_Value | 954 | if (BUFFER_LOCAL_VALUEP (valcontents) |
| 957 | || XTYPE (valcontents) == Lisp_Some_Buffer_Local_Value) | 955 | || SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 958 | { | 956 | { |
| 959 | /* If var is set up for a buffer that lacks a local value for it, | 957 | /* If var is set up for a buffer that lacks a local value for it, |
| 960 | the current value is nominally the default value. | 958 | the current value is nominally the default value. |
| @@ -983,7 +981,7 @@ for this variable.") | |||
| 983 | register Lisp_Object value; | 981 | register Lisp_Object value; |
| 984 | 982 | ||
| 985 | value = default_value (sym); | 983 | value = default_value (sym); |
| 986 | return (XTYPE (value) == Lisp_Void || EQ (value, Qunbound) | 984 | return (VOIDP (value) || EQ (value, Qunbound) |
| 987 | ? Qnil : Qt); | 985 | ? Qnil : Qt); |
| 988 | } | 986 | } |
| 989 | 987 | ||
| @@ -998,7 +996,7 @@ local bindings in certain buffers.") | |||
| 998 | register Lisp_Object value; | 996 | register Lisp_Object value; |
| 999 | 997 | ||
| 1000 | value = default_value (sym); | 998 | value = default_value (sym); |
| 1001 | if (XTYPE (value) == Lisp_Void || EQ (value, Qunbound)) | 999 | if (VOIDP (value) || EQ (value, Qunbound)) |
| 1002 | return Fsignal (Qvoid_variable, Fcons (sym, Qnil)); | 1000 | return Fsignal (Qvoid_variable, Fcons (sym, Qnil)); |
| 1003 | return value; | 1001 | return value; |
| 1004 | } | 1002 | } |
| @@ -1018,7 +1016,7 @@ for this variable.") | |||
| 1018 | /* Handle variables like case-fold-search that have special slots | 1016 | /* Handle variables like case-fold-search that have special slots |
| 1019 | in the buffer. Make them work apparently like Lisp_Buffer_Local_Value | 1017 | in the buffer. Make them work apparently like Lisp_Buffer_Local_Value |
| 1020 | variables. */ | 1018 | variables. */ |
| 1021 | if (XTYPE (valcontents) == Lisp_Buffer_Objfwd) | 1019 | if (BUFFER_OBJFWDP (valcontents)) |
| 1022 | { | 1020 | { |
| 1023 | register int idx = XUINT (valcontents); | 1021 | register int idx = XUINT (valcontents); |
| 1024 | register struct buffer *b; | 1022 | register struct buffer *b; |
| @@ -1034,8 +1032,8 @@ for this variable.") | |||
| 1034 | return value; | 1032 | return value; |
| 1035 | } | 1033 | } |
| 1036 | 1034 | ||
| 1037 | if (XTYPE (valcontents) != Lisp_Buffer_Local_Value && | 1035 | if (!BUFFER_LOCAL_VALUEP (valcontents) |
| 1038 | XTYPE (valcontents) != Lisp_Some_Buffer_Local_Value) | 1036 | && !SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 1039 | return Fset (sym, value); | 1037 | return Fset (sym, value); |
| 1040 | 1038 | ||
| 1041 | /* Store new value into the DEFAULT-VALUE slot */ | 1039 | /* Store new value into the DEFAULT-VALUE slot */ |
| @@ -1110,10 +1108,9 @@ The function `default-value' gets the default value and `set-default' sets it.") | |||
| 1110 | error ("Symbol %s may not be buffer-local", XSYMBOL (sym)->name->data); | 1108 | error ("Symbol %s may not be buffer-local", XSYMBOL (sym)->name->data); |
| 1111 | 1109 | ||
| 1112 | valcontents = XSYMBOL (sym)->value; | 1110 | valcontents = XSYMBOL (sym)->value; |
| 1113 | if ((XTYPE (valcontents) == Lisp_Buffer_Local_Value) || | 1111 | if (BUFFER_LOCAL_VALUEP (valcontents) || BUFFER_OBJFWDP (valcontents)) |
| 1114 | (XTYPE (valcontents) == Lisp_Buffer_Objfwd)) | ||
| 1115 | return sym; | 1112 | return sym; |
| 1116 | if (XTYPE (valcontents) == Lisp_Some_Buffer_Local_Value) | 1113 | if (SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 1117 | { | 1114 | { |
| 1118 | XSETTYPE (XSYMBOL (sym)->value, Lisp_Buffer_Local_Value); | 1115 | XSETTYPE (XSYMBOL (sym)->value, Lisp_Buffer_Local_Value); |
| 1119 | return sym; | 1116 | return sym; |
| @@ -1148,8 +1145,7 @@ just as if the variable were set.") | |||
| 1148 | error ("Symbol %s may not be buffer-local", XSYMBOL (sym)->name->data); | 1145 | error ("Symbol %s may not be buffer-local", XSYMBOL (sym)->name->data); |
| 1149 | 1146 | ||
| 1150 | valcontents = XSYMBOL (sym)->value; | 1147 | valcontents = XSYMBOL (sym)->value; |
| 1151 | if (XTYPE (valcontents) == Lisp_Buffer_Local_Value | 1148 | if (BUFFER_LOCAL_VALUEP (valcontents) || BUFFER_OBJFWDP (valcontents)) |
| 1152 | || XTYPE (valcontents) == Lisp_Buffer_Objfwd) | ||
| 1153 | { | 1149 | { |
| 1154 | tem = Fboundp (sym); | 1150 | tem = Fboundp (sym); |
| 1155 | 1151 | ||
| @@ -1159,7 +1155,7 @@ just as if the variable were set.") | |||
| 1159 | return sym; | 1155 | return sym; |
| 1160 | } | 1156 | } |
| 1161 | /* Make sure sym is set up to hold per-buffer values */ | 1157 | /* Make sure sym is set up to hold per-buffer values */ |
| 1162 | if (XTYPE (valcontents) != Lisp_Some_Buffer_Local_Value) | 1158 | if (!SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 1163 | { | 1159 | { |
| 1164 | tem = Fcons (Qnil, do_symval_forwarding (valcontents)); | 1160 | tem = Fcons (Qnil, do_symval_forwarding (valcontents)); |
| 1165 | XCONS (tem)->car = tem; | 1161 | XCONS (tem)->car = tem; |
| @@ -1191,9 +1187,7 @@ just as if the variable were set.") | |||
| 1191 | variable before we swap in, then that new value will clobber the | 1187 | variable before we swap in, then that new value will clobber the |
| 1192 | default value the next time we swap. */ | 1188 | default value the next time we swap. */ |
| 1193 | valcontents = XCONS (XSYMBOL (sym)->value)->car; | 1189 | valcontents = XCONS (XSYMBOL (sym)->value)->car; |
| 1194 | if (XTYPE (valcontents) == Lisp_Intfwd | 1190 | if (INTFWDP (valcontents) || BOOLFWDP (valcontents) || OBJFWDP (valcontents)) |
| 1195 | || XTYPE (valcontents) == Lisp_Boolfwd | ||
| 1196 | || XTYPE (valcontents) == Lisp_Objfwd) | ||
| 1197 | swap_in_symval_forwarding (sym, XSYMBOL (sym)->value); | 1191 | swap_in_symval_forwarding (sym, XSYMBOL (sym)->value); |
| 1198 | 1192 | ||
| 1199 | return sym; | 1193 | return sym; |
| @@ -1212,7 +1206,7 @@ From now on the default value will apply in this buffer.") | |||
| 1212 | 1206 | ||
| 1213 | valcontents = XSYMBOL (sym)->value; | 1207 | valcontents = XSYMBOL (sym)->value; |
| 1214 | 1208 | ||
| 1215 | if (XTYPE (valcontents) == Lisp_Buffer_Objfwd) | 1209 | if (BUFFER_OBJFWDP (valcontents)) |
| 1216 | { | 1210 | { |
| 1217 | register int idx = XUINT (valcontents); | 1211 | register int idx = XUINT (valcontents); |
| 1218 | register int mask = *(int *) (idx + (char *) &buffer_local_flags); | 1212 | register int mask = *(int *) (idx + (char *) &buffer_local_flags); |
| @@ -1226,8 +1220,8 @@ From now on the default value will apply in this buffer.") | |||
| 1226 | return sym; | 1220 | return sym; |
| 1227 | } | 1221 | } |
| 1228 | 1222 | ||
| 1229 | if (XTYPE (valcontents) != Lisp_Buffer_Local_Value && | 1223 | if (!BUFFER_LOCAL_VALUEP (valcontents) |
| 1230 | XTYPE (valcontents) != Lisp_Some_Buffer_Local_Value) | 1224 | && !SOME_BUFFER_LOCAL_VALUEP (valcontents)) |
| 1231 | return sym; | 1225 | return sym; |
| 1232 | 1226 | ||
| 1233 | /* Get rid of this buffer's alist element, if any */ | 1227 | /* Get rid of this buffer's alist element, if any */ |
| @@ -1267,10 +1261,10 @@ indirect_function (object) | |||
| 1267 | 1261 | ||
| 1268 | for (;;) | 1262 | for (;;) |
| 1269 | { | 1263 | { |
| 1270 | if (XTYPE (hare) != Lisp_Symbol || EQ (hare, Qunbound)) | 1264 | if (!SYMBOLP (hare) || EQ (hare, Qunbound)) |
| 1271 | break; | 1265 | break; |
| 1272 | hare = XSYMBOL (hare)->function; | 1266 | hare = XSYMBOL (hare)->function; |
| 1273 | if (XTYPE (hare) != Lisp_Symbol || EQ (hare, Qunbound)) | 1267 | if (!SYMBOLP (hare) || EQ (hare, Qunbound)) |
| 1274 | break; | 1268 | break; |
| 1275 | hare = XSYMBOL (hare)->function; | 1269 | hare = XSYMBOL (hare)->function; |
| 1276 | 1270 | ||
| @@ -1316,12 +1310,11 @@ ARRAY may be a vector or a string, or a byte-code object. INDEX starts at 0.") | |||
| 1316 | 1310 | ||
| 1317 | CHECK_NUMBER (idx, 1); | 1311 | CHECK_NUMBER (idx, 1); |
| 1318 | idxval = XINT (idx); | 1312 | idxval = XINT (idx); |
| 1319 | if (XTYPE (array) != Lisp_Vector && XTYPE (array) != Lisp_String | 1313 | if (!VECTORP (array) && !STRINGP (array) && !COMPILEDP (array)) |
| 1320 | && XTYPE (array) != Lisp_Compiled) | ||
| 1321 | array = wrong_type_argument (Qarrayp, array); | 1314 | array = wrong_type_argument (Qarrayp, array); |
| 1322 | if (idxval < 0 || idxval >= XVECTOR (array)->size) | 1315 | if (idxval < 0 || idxval >= XVECTOR (array)->size) |
| 1323 | args_out_of_range (array, idx); | 1316 | args_out_of_range (array, idx); |
| 1324 | if (XTYPE (array) == Lisp_String) | 1317 | if (STRINGP (array)) |
| 1325 | { | 1318 | { |
| 1326 | Lisp_Object val; | 1319 | Lisp_Object val; |
| 1327 | XFASTINT (val) = (unsigned char) XSTRING (array)->data[idxval]; | 1320 | XFASTINT (val) = (unsigned char) XSTRING (array)->data[idxval]; |
| @@ -1342,13 +1335,13 @@ ARRAY may be a vector or a string. IDX starts at 0.") | |||
| 1342 | 1335 | ||
| 1343 | CHECK_NUMBER (idx, 1); | 1336 | CHECK_NUMBER (idx, 1); |
| 1344 | idxval = XINT (idx); | 1337 | idxval = XINT (idx); |
| 1345 | if (XTYPE (array) != Lisp_Vector && XTYPE (array) != Lisp_String) | 1338 | if (!VECTORP (array) && !STRINGP (array)) |
| 1346 | array = wrong_type_argument (Qarrayp, array); | 1339 | array = wrong_type_argument (Qarrayp, array); |
| 1347 | if (idxval < 0 || idxval >= XVECTOR (array)->size) | 1340 | if (idxval < 0 || idxval >= XVECTOR (array)->size) |
| 1348 | args_out_of_range (array, idx); | 1341 | args_out_of_range (array, idx); |
| 1349 | CHECK_IMPURE (array); | 1342 | CHECK_IMPURE (array); |
| 1350 | 1343 | ||
| 1351 | if (XTYPE (array) == Lisp_Vector) | 1344 | if (VECTORP (array)) |
| 1352 | XVECTOR (array)->contents[idxval] = newelt; | 1345 | XVECTOR (array)->contents[idxval] = newelt; |
| 1353 | else | 1346 | else |
| 1354 | { | 1347 | { |
| @@ -1364,8 +1357,7 @@ Farray_length (array) | |||
| 1364 | register Lisp_Object array; | 1357 | register Lisp_Object array; |
| 1365 | { | 1358 | { |
| 1366 | register Lisp_Object size; | 1359 | register Lisp_Object size; |
| 1367 | if (XTYPE (array) != Lisp_Vector && XTYPE (array) != Lisp_String | 1360 | if (!VECTORP (array) && !STRINGP (array) && !COMPILEDP (array)) |
| 1368 | && XTYPE (array) != Lisp_Compiled) | ||
| 1369 | array = wrong_type_argument (Qarrayp, array); | 1361 | array = wrong_type_argument (Qarrayp, array); |
| 1370 | XFASTINT (size) = XVECTOR (array)->size; | 1362 | XFASTINT (size) = XVECTOR (array)->size; |
| 1371 | return size; | 1363 | return size; |
| @@ -1387,11 +1379,11 @@ arithcompare (num1, num2, comparison) | |||
| 1387 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num1, 0); | 1379 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num1, 0); |
| 1388 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num2, 0); | 1380 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num2, 0); |
| 1389 | 1381 | ||
| 1390 | if (XTYPE (num1) == Lisp_Float || XTYPE (num2) == Lisp_Float) | 1382 | if (FLOATP (num1) || FLOATP (num2)) |
| 1391 | { | 1383 | { |
| 1392 | floatp = 1; | 1384 | floatp = 1; |
| 1393 | f1 = (XTYPE (num1) == Lisp_Float) ? XFLOAT (num1)->data : XINT (num1); | 1385 | f1 = (FLOATP (num1)) ? XFLOAT (num1)->data : XINT (num1); |
| 1394 | f2 = (XTYPE (num2) == Lisp_Float) ? XFLOAT (num2)->data : XINT (num2); | 1386 | f2 = (FLOATP (num2)) ? XFLOAT (num2)->data : XINT (num2); |
| 1395 | } | 1387 | } |
| 1396 | #else | 1388 | #else |
| 1397 | CHECK_NUMBER_COERCE_MARKER (num1, 0); | 1389 | CHECK_NUMBER_COERCE_MARKER (num1, 0); |
| @@ -1492,7 +1484,7 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "T if NUMBER is zero.") | |||
| 1492 | #ifdef LISP_FLOAT_TYPE | 1484 | #ifdef LISP_FLOAT_TYPE |
| 1493 | CHECK_NUMBER_OR_FLOAT (num, 0); | 1485 | CHECK_NUMBER_OR_FLOAT (num, 0); |
| 1494 | 1486 | ||
| 1495 | if (XTYPE(num) == Lisp_Float) | 1487 | if (FLOATP (num)) |
| 1496 | { | 1488 | { |
| 1497 | if (XFLOAT(num)->data == 0.0) | 1489 | if (XFLOAT(num)->data == 0.0) |
| 1498 | return Qt; | 1490 | return Qt; |
| @@ -1550,7 +1542,7 @@ NUM may be an integer or a floating point number.") | |||
| 1550 | #else | 1542 | #else |
| 1551 | CHECK_NUMBER_OR_FLOAT (num, 0); | 1543 | CHECK_NUMBER_OR_FLOAT (num, 0); |
| 1552 | 1544 | ||
| 1553 | if (XTYPE(num) == Lisp_Float) | 1545 | if (FLOATP (num)) |
| 1554 | { | 1546 | { |
| 1555 | char pigbuf[350]; /* see comments in float_to_string */ | 1547 | char pigbuf[350]; /* see comments in float_to_string */ |
| 1556 | 1548 | ||
| @@ -1628,7 +1620,7 @@ arith_driver (code, nargs, args) | |||
| 1628 | #ifdef LISP_FLOAT_TYPE | 1620 | #ifdef LISP_FLOAT_TYPE |
| 1629 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (val, argnum); | 1621 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (val, argnum); |
| 1630 | 1622 | ||
| 1631 | if (XTYPE (val) == Lisp_Float) /* time to do serious math */ | 1623 | if (FLOATP (val)) /* time to do serious math */ |
| 1632 | return (float_arith_driver ((double) accum, argnum, code, | 1624 | return (float_arith_driver ((double) accum, argnum, code, |
| 1633 | nargs, args)); | 1625 | nargs, args)); |
| 1634 | #else | 1626 | #else |
| @@ -1691,7 +1683,7 @@ float_arith_driver (accum, argnum, code, nargs, args) | |||
| 1691 | val = args[argnum]; /* using args[argnum] as argument to CHECK_NUMBER_... */ | 1683 | val = args[argnum]; /* using args[argnum] as argument to CHECK_NUMBER_... */ |
| 1692 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (val, argnum); | 1684 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (val, argnum); |
| 1693 | 1685 | ||
| 1694 | if (XTYPE (val) == Lisp_Float) | 1686 | if (FLOATP (val)) |
| 1695 | { | 1687 | { |
| 1696 | next = XFLOAT (val)->data; | 1688 | next = XFLOAT (val)->data; |
| 1697 | } | 1689 | } |
| @@ -1830,12 +1822,12 @@ Both X and Y must be numbers or markers.") | |||
| 1830 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num1, 0); | 1822 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num1, 0); |
| 1831 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num2, 1); | 1823 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num2, 1); |
| 1832 | 1824 | ||
| 1833 | if (XTYPE (num1) == Lisp_Float || XTYPE (num2) == Lisp_Float) | 1825 | if (FLOATP (num1) || FLOATP (num2)) |
| 1834 | { | 1826 | { |
| 1835 | double f1, f2; | 1827 | double f1, f2; |
| 1836 | 1828 | ||
| 1837 | f1 = XTYPE (num1) == Lisp_Float ? XFLOAT (num1)->data : XINT (num1); | 1829 | f1 = FLOATP (num1) ? XFLOAT (num1)->data : XINT (num1); |
| 1838 | f2 = XTYPE (num2) == Lisp_Float ? XFLOAT (num2)->data : XINT (num2); | 1830 | f2 = FLOATP (num2) ? XFLOAT (num2)->data : XINT (num2); |
| 1839 | if (f2 == 0) | 1831 | if (f2 == 0) |
| 1840 | Fsignal (Qarith_error, Qnil); | 1832 | Fsignal (Qarith_error, Qnil); |
| 1841 | 1833 | ||
| @@ -1963,7 +1955,7 @@ Markers are converted to integers.") | |||
| 1963 | #ifdef LISP_FLOAT_TYPE | 1955 | #ifdef LISP_FLOAT_TYPE |
| 1964 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num, 0); | 1956 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num, 0); |
| 1965 | 1957 | ||
| 1966 | if (XTYPE (num) == Lisp_Float) | 1958 | if (FLOATP (num)) |
| 1967 | return (make_float (1.0 + XFLOAT (num)->data)); | 1959 | return (make_float (1.0 + XFLOAT (num)->data)); |
| 1968 | #else | 1960 | #else |
| 1969 | CHECK_NUMBER_COERCE_MARKER (num, 0); | 1961 | CHECK_NUMBER_COERCE_MARKER (num, 0); |
| @@ -1982,7 +1974,7 @@ Markers are converted to integers.") | |||
| 1982 | #ifdef LISP_FLOAT_TYPE | 1974 | #ifdef LISP_FLOAT_TYPE |
| 1983 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num, 0); | 1975 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (num, 0); |
| 1984 | 1976 | ||
| 1985 | if (XTYPE (num) == Lisp_Float) | 1977 | if (FLOATP (num)) |
| 1986 | return (make_float (-1.0 + XFLOAT (num)->data)); | 1978 | return (make_float (-1.0 + XFLOAT (num)->data)); |
| 1987 | #else | 1979 | #else |
| 1988 | CHECK_NUMBER_COERCE_MARKER (num, 0); | 1980 | CHECK_NUMBER_COERCE_MARKER (num, 0); |