Mercurial > emacs
comparison src/data.c @ 18854:31ac004868b3
Many doc fixes.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 18 Jul 1997 18:17:20 +0000 |
parents | c372b7e6669b |
children | 19f79afe3e78 |
comparison
equal
deleted
inserted
replaced
18853:4501a367a887 | 18854:31ac004868b3 |
---|---|
177 } | 177 } |
178 | 178 |
179 /* Data type predicates */ | 179 /* Data type predicates */ |
180 | 180 |
181 DEFUN ("eq", Feq, Seq, 2, 2, 0, | 181 DEFUN ("eq", Feq, Seq, 2, 2, 0, |
182 "T if the two args are the same Lisp object.") | 182 "Return t if the two args are the same Lisp object.") |
183 (obj1, obj2) | 183 (obj1, obj2) |
184 Lisp_Object obj1, obj2; | 184 Lisp_Object obj1, obj2; |
185 { | 185 { |
186 if (EQ (obj1, obj2)) | 186 if (EQ (obj1, obj2)) |
187 return Qt; | 187 return Qt; |
188 return Qnil; | 188 return Qnil; |
189 } | 189 } |
190 | 190 |
191 DEFUN ("null", Fnull, Snull, 1, 1, 0, "T if OBJECT is nil.") | 191 DEFUN ("null", Fnull, Snull, 1, 1, 0, "Return t if OBJECT is nil.") |
192 (object) | 192 (object) |
193 Lisp_Object object; | 193 Lisp_Object object; |
194 { | 194 { |
195 if (NILP (object)) | 195 if (NILP (object)) |
196 return Qt; | 196 return Qt; |
259 default: | 259 default: |
260 abort (); | 260 abort (); |
261 } | 261 } |
262 } | 262 } |
263 | 263 |
264 DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, "T if OBJECT is a cons cell.") | 264 DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, "Return t if OBJECT is a cons cell.") |
265 (object) | 265 (object) |
266 Lisp_Object object; | 266 Lisp_Object object; |
267 { | 267 { |
268 if (CONSP (object)) | 268 if (CONSP (object)) |
269 return Qt; | 269 return Qt; |
270 return Qnil; | 270 return Qnil; |
271 } | 271 } |
272 | 272 |
273 DEFUN ("atom", Fatom, Satom, 1, 1, 0, "T if OBJECT is not a cons cell. This includes nil.") | 273 DEFUN ("atom", Fatom, Satom, 1, 1, 0, "Return t if OBJECT is not a cons cell. This includes nil.") |
274 (object) | 274 (object) |
275 Lisp_Object object; | 275 Lisp_Object object; |
276 { | 276 { |
277 if (CONSP (object)) | 277 if (CONSP (object)) |
278 return Qnil; | 278 return Qnil; |
279 return Qt; | 279 return Qt; |
280 } | 280 } |
281 | 281 |
282 DEFUN ("listp", Flistp, Slistp, 1, 1, 0, "T if OBJECT is a list. This includes nil.") | 282 DEFUN ("listp", Flistp, Slistp, 1, 1, 0, "Return t if OBJECT is a list. This includes nil.") |
283 (object) | 283 (object) |
284 Lisp_Object object; | 284 Lisp_Object object; |
285 { | 285 { |
286 if (CONSP (object) || NILP (object)) | 286 if (CONSP (object) || NILP (object)) |
287 return Qt; | 287 return Qt; |
288 return Qnil; | 288 return Qnil; |
289 } | 289 } |
290 | 290 |
291 DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, "T if OBJECT is not a list. Lists include nil.") | 291 DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, "Return t if OBJECT is not a list. Lists include nil.") |
292 (object) | 292 (object) |
293 Lisp_Object object; | 293 Lisp_Object object; |
294 { | 294 { |
295 if (CONSP (object) || NILP (object)) | 295 if (CONSP (object) || NILP (object)) |
296 return Qnil; | 296 return Qnil; |
297 return Qt; | 297 return Qt; |
298 } | 298 } |
299 | 299 |
300 DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, "T if OBJECT is a symbol.") | 300 DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, "Return t if OBJECT is a symbol.") |
301 (object) | 301 (object) |
302 Lisp_Object object; | 302 Lisp_Object object; |
303 { | 303 { |
304 if (SYMBOLP (object)) | 304 if (SYMBOLP (object)) |
305 return Qt; | 305 return Qt; |
306 return Qnil; | 306 return Qnil; |
307 } | 307 } |
308 | 308 |
309 DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, "T if OBJECT is a vector.") | 309 DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, "Return t if OBJECT is a vector.") |
310 (object) | 310 (object) |
311 Lisp_Object object; | 311 Lisp_Object object; |
312 { | 312 { |
313 if (VECTORP (object)) | 313 if (VECTORP (object)) |
314 return Qt; | 314 return Qt; |
315 return Qnil; | 315 return Qnil; |
316 } | 316 } |
317 | 317 |
318 DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, "T if OBJECT is a string.") | 318 DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, "Return t if OBJECT is a string.") |
319 (object) | 319 (object) |
320 Lisp_Object object; | 320 Lisp_Object object; |
321 { | 321 { |
322 if (STRINGP (object)) | 322 if (STRINGP (object)) |
323 return Qt; | 323 return Qt; |
324 return Qnil; | 324 return Qnil; |
325 } | 325 } |
326 | 326 |
327 DEFUN ("char-table-p", Fchar_table_p, Schar_table_p, 1, 1, 0, "T if OBJECT is a char-table.") | 327 DEFUN ("char-table-p", Fchar_table_p, Schar_table_p, 1, 1, 0, "Return t if OBJECT is a char-table.") |
328 (object) | 328 (object) |
329 Lisp_Object object; | 329 Lisp_Object object; |
330 { | 330 { |
331 if (CHAR_TABLE_P (object)) | 331 if (CHAR_TABLE_P (object)) |
332 return Qt; | 332 return Qt; |
333 return Qnil; | 333 return Qnil; |
334 } | 334 } |
335 | 335 |
336 DEFUN ("vector-or-char-table-p", Fvector_or_char_table_p, | 336 DEFUN ("vector-or-char-table-p", Fvector_or_char_table_p, |
337 Svector_or_char_table_p, 1, 1, 0, | 337 Svector_or_char_table_p, 1, 1, 0, |
338 "T if OBJECT is a char-table or vector.") | 338 "Return t if OBJECT is a char-table or vector.") |
339 (object) | 339 (object) |
340 Lisp_Object object; | 340 Lisp_Object object; |
341 { | 341 { |
342 if (VECTORP (object) || CHAR_TABLE_P (object)) | 342 if (VECTORP (object) || CHAR_TABLE_P (object)) |
343 return Qt; | 343 return Qt; |
344 return Qnil; | 344 return Qnil; |
345 } | 345 } |
346 | 346 |
347 DEFUN ("bool-vector-p", Fbool_vector_p, Sbool_vector_p, 1, 1, 0, "T if OBJECT is a bool-vector.") | 347 DEFUN ("bool-vector-p", Fbool_vector_p, Sbool_vector_p, 1, 1, 0, "Return t if OBJECT is a bool-vector.") |
348 (object) | 348 (object) |
349 Lisp_Object object; | 349 Lisp_Object object; |
350 { | 350 { |
351 if (BOOL_VECTOR_P (object)) | 351 if (BOOL_VECTOR_P (object)) |
352 return Qt; | 352 return Qt; |
353 return Qnil; | 353 return Qnil; |
354 } | 354 } |
355 | 355 |
356 DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, "T if OBJECT is an array (string or vector).") | 356 DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, "Return t if OBJECT is an array (string or vector).") |
357 (object) | 357 (object) |
358 Lisp_Object object; | 358 Lisp_Object object; |
359 { | 359 { |
360 if (VECTORP (object) || STRINGP (object) | 360 if (VECTORP (object) || STRINGP (object) |
361 || CHAR_TABLE_P (object) || BOOL_VECTOR_P (object)) | 361 || CHAR_TABLE_P (object) || BOOL_VECTOR_P (object)) |
362 return Qt; | 362 return Qt; |
363 return Qnil; | 363 return Qnil; |
364 } | 364 } |
365 | 365 |
366 DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, | 366 DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, |
367 "T if OBJECT is a sequence (list or array).") | 367 "Return t if OBJECT is a sequence (list or array).") |
368 (object) | 368 (object) |
369 register Lisp_Object object; | 369 register Lisp_Object object; |
370 { | 370 { |
371 if (CONSP (object) || NILP (object) || VECTORP (object) || STRINGP (object) | 371 if (CONSP (object) || NILP (object) || VECTORP (object) || STRINGP (object) |
372 || CHAR_TABLE_P (object) || BOOL_VECTOR_P (object)) | 372 || CHAR_TABLE_P (object) || BOOL_VECTOR_P (object)) |
373 return Qt; | 373 return Qt; |
374 return Qnil; | 374 return Qnil; |
375 } | 375 } |
376 | 376 |
377 DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, "T if OBJECT is an editor buffer.") | 377 DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, "Return t if OBJECT is an editor buffer.") |
378 (object) | 378 (object) |
379 Lisp_Object object; | 379 Lisp_Object object; |
380 { | 380 { |
381 if (BUFFERP (object)) | 381 if (BUFFERP (object)) |
382 return Qt; | 382 return Qt; |
383 return Qnil; | 383 return Qnil; |
384 } | 384 } |
385 | 385 |
386 DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, "T if OBJECT is a marker (editor pointer).") | 386 DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, "Return t if OBJECT is a marker (editor pointer).") |
387 (object) | 387 (object) |
388 Lisp_Object object; | 388 Lisp_Object object; |
389 { | 389 { |
390 if (MARKERP (object)) | 390 if (MARKERP (object)) |
391 return Qt; | 391 return Qt; |
392 return Qnil; | 392 return Qnil; |
393 } | 393 } |
394 | 394 |
395 DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, "T if OBJECT is a built-in function.") | 395 DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, "Return t if OBJECT is a built-in function.") |
396 (object) | 396 (object) |
397 Lisp_Object object; | 397 Lisp_Object object; |
398 { | 398 { |
399 if (SUBRP (object)) | 399 if (SUBRP (object)) |
400 return Qt; | 400 return Qt; |
401 return Qnil; | 401 return Qnil; |
402 } | 402 } |
403 | 403 |
404 DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, | 404 DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, |
405 1, 1, 0, "T if OBJECT is a byte-compiled function object.") | 405 1, 1, 0, "Return t if OBJECT is a byte-compiled function object.") |
406 (object) | 406 (object) |
407 Lisp_Object object; | 407 Lisp_Object object; |
408 { | 408 { |
409 if (COMPILEDP (object)) | 409 if (COMPILEDP (object)) |
410 return Qt; | 410 return Qt; |
411 return Qnil; | 411 return Qnil; |
412 } | 412 } |
413 | 413 |
414 DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, | 414 DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, |
415 "T if OBJECT is a character (an integer) or a string.") | 415 "Return t if OBJECT is a character (an integer) or a string.") |
416 (object) | 416 (object) |
417 register Lisp_Object object; | 417 register Lisp_Object object; |
418 { | 418 { |
419 if (INTEGERP (object) || STRINGP (object)) | 419 if (INTEGERP (object) || STRINGP (object)) |
420 return Qt; | 420 return Qt; |
421 return Qnil; | 421 return Qnil; |
422 } | 422 } |
423 | 423 |
424 DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, "T if OBJECT is an integer.") | 424 DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, "Return t if OBJECT is an integer.") |
425 (object) | 425 (object) |
426 Lisp_Object object; | 426 Lisp_Object object; |
427 { | 427 { |
428 if (INTEGERP (object)) | 428 if (INTEGERP (object)) |
429 return Qt; | 429 return Qt; |
430 return Qnil; | 430 return Qnil; |
431 } | 431 } |
432 | 432 |
433 DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, 0, | 433 DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, 0, |
434 "T if OBJECT is an integer or a marker (editor pointer).") | 434 "Return t if OBJECT is an integer or a marker (editor pointer).") |
435 (object) | 435 (object) |
436 register Lisp_Object object; | 436 register Lisp_Object object; |
437 { | 437 { |
438 if (MARKERP (object) || INTEGERP (object)) | 438 if (MARKERP (object) || INTEGERP (object)) |
439 return Qt; | 439 return Qt; |
440 return Qnil; | 440 return Qnil; |
441 } | 441 } |
442 | 442 |
443 DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, | 443 DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, |
444 "T if OBJECT is a nonnegative integer.") | 444 "Return t if OBJECT is a nonnegative integer.") |
445 (object) | 445 (object) |
446 Lisp_Object object; | 446 Lisp_Object object; |
447 { | 447 { |
448 if (NATNUMP (object)) | 448 if (NATNUMP (object)) |
449 return Qt; | 449 return Qt; |
450 return Qnil; | 450 return Qnil; |
451 } | 451 } |
452 | 452 |
453 DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, | 453 DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, |
454 "T if OBJECT is a number (floating point or integer).") | 454 "Return t if OBJECT is a number (floating point or integer).") |
455 (object) | 455 (object) |
456 Lisp_Object object; | 456 Lisp_Object object; |
457 { | 457 { |
458 if (NUMBERP (object)) | 458 if (NUMBERP (object)) |
459 return Qt; | 459 return Qt; |
461 return Qnil; | 461 return Qnil; |
462 } | 462 } |
463 | 463 |
464 DEFUN ("number-or-marker-p", Fnumber_or_marker_p, | 464 DEFUN ("number-or-marker-p", Fnumber_or_marker_p, |
465 Snumber_or_marker_p, 1, 1, 0, | 465 Snumber_or_marker_p, 1, 1, 0, |
466 "T if OBJECT is a number or a marker.") | 466 "Return t if OBJECT is a number or a marker.") |
467 (object) | 467 (object) |
468 Lisp_Object object; | 468 Lisp_Object object; |
469 { | 469 { |
470 if (NUMBERP (object) || MARKERP (object)) | 470 if (NUMBERP (object) || MARKERP (object)) |
471 return Qt; | 471 return Qt; |
472 return Qnil; | 472 return Qnil; |
473 } | 473 } |
474 | 474 |
475 #ifdef LISP_FLOAT_TYPE | 475 #ifdef LISP_FLOAT_TYPE |
476 DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, | 476 DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, |
477 "T if OBJECT is a floating point number.") | 477 "Return t if OBJECT is a floating point number.") |
478 (object) | 478 (object) |
479 Lisp_Object object; | 479 Lisp_Object object; |
480 { | 480 { |
481 if (FLOATP (object)) | 481 if (FLOATP (object)) |
482 return Qt; | 482 return Qt; |
569 return newcdr; | 569 return newcdr; |
570 } | 570 } |
571 | 571 |
572 /* Extract and set components of symbols */ | 572 /* Extract and set components of symbols */ |
573 | 573 |
574 DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0, "T if SYMBOL's value is not void.") | 574 DEFUN ("boundp", Fboundp, Sboundp, 1, 1, 0, "Return t if SYMBOL's value is not void.") |
575 (symbol) | 575 (symbol) |
576 register Lisp_Object symbol; | 576 register Lisp_Object symbol; |
577 { | 577 { |
578 Lisp_Object valcontents; | 578 Lisp_Object valcontents; |
579 CHECK_SYMBOL (symbol, 0); | 579 CHECK_SYMBOL (symbol, 0); |
585 valcontents = swap_in_symval_forwarding (symbol, valcontents); | 585 valcontents = swap_in_symval_forwarding (symbol, valcontents); |
586 | 586 |
587 return (EQ (valcontents, Qunbound) ? Qnil : Qt); | 587 return (EQ (valcontents, Qunbound) ? Qnil : Qt); |
588 } | 588 } |
589 | 589 |
590 DEFUN ("fboundp", Ffboundp, Sfboundp, 1, 1, 0, "T if SYMBOL's function definition is not void.") | 590 DEFUN ("fboundp", Ffboundp, Sfboundp, 1, 1, 0, "Return t if SYMBOL's function definition is not void.") |
591 (symbol) | 591 (symbol) |
592 register Lisp_Object symbol; | 592 register Lisp_Object symbol; |
593 { | 593 { |
594 CHECK_SYMBOL (symbol, 0); | 594 CHECK_SYMBOL (symbol, 0); |
595 return (EQ (XSYMBOL (symbol)->function, Qunbound) ? Qnil : Qt); | 595 return (EQ (XSYMBOL (symbol)->function, Qunbound) ? Qnil : Qt); |
1084 /* For other variables, get the current value. */ | 1084 /* For other variables, get the current value. */ |
1085 return do_symval_forwarding (valcontents); | 1085 return do_symval_forwarding (valcontents); |
1086 } | 1086 } |
1087 | 1087 |
1088 DEFUN ("default-boundp", Fdefault_boundp, Sdefault_boundp, 1, 1, 0, | 1088 DEFUN ("default-boundp", Fdefault_boundp, Sdefault_boundp, 1, 1, 0, |
1089 "Return T if SYMBOL has a non-void default value.\n\ | 1089 "Return t if SYMBOL has a non-void default value.\n\ |
1090 This is the value that is seen in buffers that do not have their own values\n\ | 1090 This is the value that is seen in buffers that do not have their own values\n\ |
1091 for this variable.") | 1091 for this variable.") |
1092 (symbol) | 1092 (symbol) |
1093 Lisp_Object symbol; | 1093 Lisp_Object symbol; |
1094 { | 1094 { |
1792 abort (); | 1792 abort (); |
1793 } | 1793 } |
1794 } | 1794 } |
1795 | 1795 |
1796 DEFUN ("=", Feqlsign, Seqlsign, 2, 2, 0, | 1796 DEFUN ("=", Feqlsign, Seqlsign, 2, 2, 0, |
1797 "T if two args, both numbers or markers, are equal.") | 1797 "Return t if two args, both numbers or markers, are equal.") |
1798 (num1, num2) | 1798 (num1, num2) |
1799 register Lisp_Object num1, num2; | 1799 register Lisp_Object num1, num2; |
1800 { | 1800 { |
1801 return arithcompare (num1, num2, equal); | 1801 return arithcompare (num1, num2, equal); |
1802 } | 1802 } |
1803 | 1803 |
1804 DEFUN ("<", Flss, Slss, 2, 2, 0, | 1804 DEFUN ("<", Flss, Slss, 2, 2, 0, |
1805 "T if first arg is less than second arg. Both must be numbers or markers.") | 1805 "Return t if first arg is less than second arg. Both must be numbers or markers.") |
1806 (num1, num2) | 1806 (num1, num2) |
1807 register Lisp_Object num1, num2; | 1807 register Lisp_Object num1, num2; |
1808 { | 1808 { |
1809 return arithcompare (num1, num2, less); | 1809 return arithcompare (num1, num2, less); |
1810 } | 1810 } |
1811 | 1811 |
1812 DEFUN (">", Fgtr, Sgtr, 2, 2, 0, | 1812 DEFUN (">", Fgtr, Sgtr, 2, 2, 0, |
1813 "T if first arg is greater than second arg. Both must be numbers or markers.") | 1813 "Return t if first arg is greater than second arg. Both must be numbers or markers.") |
1814 (num1, num2) | 1814 (num1, num2) |
1815 register Lisp_Object num1, num2; | 1815 register Lisp_Object num1, num2; |
1816 { | 1816 { |
1817 return arithcompare (num1, num2, grtr); | 1817 return arithcompare (num1, num2, grtr); |
1818 } | 1818 } |
1819 | 1819 |
1820 DEFUN ("<=", Fleq, Sleq, 2, 2, 0, | 1820 DEFUN ("<=", Fleq, Sleq, 2, 2, 0, |
1821 "T if first arg is less than or equal to second arg.\n\ | 1821 "Return t if first arg is less than or equal to second arg.\n\ |
1822 Both must be numbers or markers.") | 1822 Both must be numbers or markers.") |
1823 (num1, num2) | 1823 (num1, num2) |
1824 register Lisp_Object num1, num2; | 1824 register Lisp_Object num1, num2; |
1825 { | 1825 { |
1826 return arithcompare (num1, num2, less_or_equal); | 1826 return arithcompare (num1, num2, less_or_equal); |
1827 } | 1827 } |
1828 | 1828 |
1829 DEFUN (">=", Fgeq, Sgeq, 2, 2, 0, | 1829 DEFUN (">=", Fgeq, Sgeq, 2, 2, 0, |
1830 "T if first arg is greater than or equal to second arg.\n\ | 1830 "Return t if first arg is greater than or equal to second arg.\n\ |
1831 Both must be numbers or markers.") | 1831 Both must be numbers or markers.") |
1832 (num1, num2) | 1832 (num1, num2) |
1833 register Lisp_Object num1, num2; | 1833 register Lisp_Object num1, num2; |
1834 { | 1834 { |
1835 return arithcompare (num1, num2, grtr_or_equal); | 1835 return arithcompare (num1, num2, grtr_or_equal); |
1836 } | 1836 } |
1837 | 1837 |
1838 DEFUN ("/=", Fneq, Sneq, 2, 2, 0, | 1838 DEFUN ("/=", Fneq, Sneq, 2, 2, 0, |
1839 "T if first arg is not equal to second arg. Both must be numbers or markers.") | 1839 "Return t if first arg is not equal to second arg. Both must be numbers or markers.") |
1840 (num1, num2) | 1840 (num1, num2) |
1841 register Lisp_Object num1, num2; | 1841 register Lisp_Object num1, num2; |
1842 { | 1842 { |
1843 return arithcompare (num1, num2, notequal); | 1843 return arithcompare (num1, num2, notequal); |
1844 } | 1844 } |
1845 | 1845 |
1846 DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "T if NUMBER is zero.") | 1846 DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "Return t if NUMBER is zero.") |
1847 (number) | 1847 (number) |
1848 register Lisp_Object number; | 1848 register Lisp_Object number; |
1849 { | 1849 { |
1850 #ifdef LISP_FLOAT_TYPE | 1850 #ifdef LISP_FLOAT_TYPE |
1851 CHECK_NUMBER_OR_FLOAT (number, 0); | 1851 CHECK_NUMBER_OR_FLOAT (number, 0); |