diff options
| author | Richard M. Stallman | 1995-02-13 05:28:47 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1995-02-13 05:28:47 +0000 |
| commit | 39bcc759ed57df6b500f24fe82643564989294ae (patch) | |
| tree | edcfa0ba7293c035839887fb916ae2b794448627 /src/data.c | |
| parent | 9796f12dfd4e6c445a135aeba3f46836d5a3aebc (diff) | |
| download | emacs-39bcc759ed57df6b500f24fe82643564989294ae.tar.gz emacs-39bcc759ed57df6b500f24fe82643564989294ae.zip | |
Rename arg OBJ to OBJECT in all type predicates.
(Ftype_of): New function.
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 228 |
1 files changed, 165 insertions, 63 deletions
diff --git a/src/data.c b/src/data.c index efa77a4506b..c5a546d53fe 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -73,6 +73,7 @@ Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; | |||
| 73 | Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; | 73 | Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; |
| 74 | Lisp_Object Qbuffer_or_string_p; | 74 | Lisp_Object Qbuffer_or_string_p; |
| 75 | Lisp_Object Qboundp, Qfboundp; | 75 | Lisp_Object Qboundp, Qfboundp; |
| 76 | |||
| 76 | Lisp_Object Qcdr; | 77 | Lisp_Object Qcdr; |
| 77 | Lisp_Object Qad_advice_info, Qad_activate; | 78 | Lisp_Object Qad_advice_info, Qad_activate; |
| 78 | 79 | ||
| @@ -84,6 +85,10 @@ Lisp_Object Qfloatp; | |||
| 84 | Lisp_Object Qnumberp, Qnumber_or_marker_p; | 85 | Lisp_Object Qnumberp, Qnumber_or_marker_p; |
| 85 | #endif | 86 | #endif |
| 86 | 87 | ||
| 88 | static Lisp_Object Qinteger, Qsymbol, Qstring, Qcons, Qmarker, Qoverlay; | ||
| 89 | static Lisp_Object Qfloat, Qwindow_configuration, Qprocess, Qwindow; | ||
| 90 | static Lisp_Object Qcompiled_function, Qbuffer, Qframe, Qvector; | ||
| 91 | |||
| 87 | static Lisp_Object swap_in_symval_forwarding (); | 92 | static Lisp_Object swap_in_symval_forwarding (); |
| 88 | 93 | ||
| 89 | Lisp_Object | 94 | Lisp_Object |
| @@ -174,178 +179,241 @@ DEFUN ("eq", Feq, Seq, 2, 2, 0, | |||
| 174 | } | 179 | } |
| 175 | 180 | ||
| 176 | DEFUN ("null", Fnull, Snull, 1, 1, 0, "T if OBJECT is nil.") | 181 | DEFUN ("null", Fnull, Snull, 1, 1, 0, "T if OBJECT is nil.") |
| 177 | (obj) | 182 | (object) |
| 178 | Lisp_Object obj; | 183 | Lisp_Object object; |
| 179 | { | 184 | { |
| 180 | if (NILP (obj)) | 185 | if (NILP (object)) |
| 181 | return Qt; | 186 | return Qt; |
| 182 | return Qnil; | 187 | return Qnil; |
| 183 | } | 188 | } |
| 184 | 189 | ||
| 190 | DEFUN ("type-of", Ftype_of, Stype_of, 1, 1, 0, | ||
| 191 | "Return a symbol representing the type of OBJECT.\n\ | ||
| 192 | The symbol returned names the object's basic type;\n\ | ||
| 193 | for example, (type-of 1) returns `integer'.") | ||
| 194 | (object) | ||
| 195 | Lisp_Object object; | ||
| 196 | { | ||
| 197 | switch (XGCTYPE (object)) | ||
| 198 | { | ||
| 199 | case Lisp_Int: | ||
| 200 | return Qinteger; | ||
| 201 | |||
| 202 | case Lisp_Symbol: | ||
| 203 | return Qsymbol; | ||
| 204 | |||
| 205 | case Lisp_String: | ||
| 206 | return Qstring; | ||
| 207 | |||
| 208 | case Lisp_Cons: | ||
| 209 | return Qcons; | ||
| 210 | |||
| 211 | case Lisp_Misc: | ||
| 212 | switch (XMISC (object)->type) | ||
| 213 | { | ||
| 214 | case Lisp_Misc_Marker: | ||
| 215 | return Qmarker; | ||
| 216 | case Lisp_Misc_Overlay: | ||
| 217 | return Qoverlay; | ||
| 218 | case Lisp_Misc_Float: | ||
| 219 | return Qfloat; | ||
| 220 | } | ||
| 221 | abort (); | ||
| 222 | |||
| 223 | case Lisp_Vectorlike: | ||
| 224 | if (GC_WINDOW_CONFIGURATIONP (object)) | ||
| 225 | return Qwindow_configuration; | ||
| 226 | if (GC_PROCESSP (object)) | ||
| 227 | return Qprocess; | ||
| 228 | if (GC_WINDOWP (object)) | ||
| 229 | return Qwindow; | ||
| 230 | if (GC_SUBRP (object)) | ||
| 231 | return Qsubr; | ||
| 232 | if (GC_COMPILEDP (object)) | ||
| 233 | return Qcompiled_function; | ||
| 234 | if (GC_BUFFERP (object)) | ||
| 235 | return Qbuffer; | ||
| 236 | |||
| 237 | #ifdef MULTI_FRAME | ||
| 238 | if (GC_FRAMEP (object)) | ||
| 239 | return Qframe; | ||
| 240 | #endif | ||
| 241 | return Qvector; | ||
| 242 | |||
| 243 | #ifdef LISP_FLOAT_TYPE | ||
| 244 | case Lisp_Float: | ||
| 245 | return Qfloat; | ||
| 246 | #endif | ||
| 247 | |||
| 248 | default: | ||
| 249 | abort (); | ||
| 250 | } | ||
| 251 | } | ||
| 252 | |||
| 185 | DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, "T if OBJECT is a cons cell.") | 253 | DEFUN ("consp", Fconsp, Sconsp, 1, 1, 0, "T if OBJECT is a cons cell.") |
| 186 | (obj) | 254 | (object) |
| 187 | Lisp_Object obj; | 255 | Lisp_Object object; |
| 188 | { | 256 | { |
| 189 | if (CONSP (obj)) | 257 | if (CONSP (object)) |
| 190 | return Qt; | 258 | return Qt; |
| 191 | return Qnil; | 259 | return Qnil; |
| 192 | } | 260 | } |
| 193 | 261 | ||
| 194 | DEFUN ("atom", Fatom, Satom, 1, 1, 0, "T if OBJECT is not a cons cell. This includes nil.") | 262 | DEFUN ("atom", Fatom, Satom, 1, 1, 0, "T if OBJECT is not a cons cell. This includes nil.") |
| 195 | (obj) | 263 | (object) |
| 196 | Lisp_Object obj; | 264 | Lisp_Object object; |
| 197 | { | 265 | { |
| 198 | if (CONSP (obj)) | 266 | if (CONSP (object)) |
| 199 | return Qnil; | 267 | return Qnil; |
| 200 | return Qt; | 268 | return Qt; |
| 201 | } | 269 | } |
| 202 | 270 | ||
| 203 | DEFUN ("listp", Flistp, Slistp, 1, 1, 0, "T if OBJECT is a list. This includes nil.") | 271 | DEFUN ("listp", Flistp, Slistp, 1, 1, 0, "T if OBJECT is a list. This includes nil.") |
| 204 | (obj) | 272 | (object) |
| 205 | Lisp_Object obj; | 273 | Lisp_Object object; |
| 206 | { | 274 | { |
| 207 | if (CONSP (obj) || NILP (obj)) | 275 | if (CONSP (object) || NILP (object)) |
| 208 | return Qt; | 276 | return Qt; |
| 209 | return Qnil; | 277 | return Qnil; |
| 210 | } | 278 | } |
| 211 | 279 | ||
| 212 | DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, "T if OBJECT is not a list. Lists include nil.") | 280 | DEFUN ("nlistp", Fnlistp, Snlistp, 1, 1, 0, "T if OBJECT is not a list. Lists include nil.") |
| 213 | (obj) | 281 | (object) |
| 214 | Lisp_Object obj; | 282 | Lisp_Object object; |
| 215 | { | 283 | { |
| 216 | if (CONSP (obj) || NILP (obj)) | 284 | if (CONSP (object) || NILP (object)) |
| 217 | return Qnil; | 285 | return Qnil; |
| 218 | return Qt; | 286 | return Qt; |
| 219 | } | 287 | } |
| 220 | 288 | ||
| 221 | DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, "T if OBJECT is a symbol.") | 289 | DEFUN ("symbolp", Fsymbolp, Ssymbolp, 1, 1, 0, "T if OBJECT is a symbol.") |
| 222 | (obj) | 290 | (object) |
| 223 | Lisp_Object obj; | 291 | Lisp_Object object; |
| 224 | { | 292 | { |
| 225 | if (SYMBOLP (obj)) | 293 | if (SYMBOLP (object)) |
| 226 | return Qt; | 294 | return Qt; |
| 227 | return Qnil; | 295 | return Qnil; |
| 228 | } | 296 | } |
| 229 | 297 | ||
| 230 | DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, "T if OBJECT is a vector.") | 298 | DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, "T if OBJECT is a vector.") |
| 231 | (obj) | 299 | (object) |
| 232 | Lisp_Object obj; | 300 | Lisp_Object object; |
| 233 | { | 301 | { |
| 234 | if (VECTORP (obj)) | 302 | if (VECTORP (object)) |
| 235 | return Qt; | 303 | return Qt; |
| 236 | return Qnil; | 304 | return Qnil; |
| 237 | } | 305 | } |
| 238 | 306 | ||
| 239 | DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, "T if OBJECT is a string.") | 307 | DEFUN ("stringp", Fstringp, Sstringp, 1, 1, 0, "T if OBJECT is a string.") |
| 240 | (obj) | 308 | (object) |
| 241 | Lisp_Object obj; | 309 | Lisp_Object object; |
| 242 | { | 310 | { |
| 243 | if (STRINGP (obj)) | 311 | if (STRINGP (object)) |
| 244 | return Qt; | 312 | return Qt; |
| 245 | return Qnil; | 313 | return Qnil; |
| 246 | } | 314 | } |
| 247 | 315 | ||
| 248 | DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, "T if OBJECT is an array (string or vector).") | 316 | DEFUN ("arrayp", Farrayp, Sarrayp, 1, 1, 0, "T if OBJECT is an array (string or vector).") |
| 249 | (obj) | 317 | (object) |
| 250 | Lisp_Object obj; | 318 | Lisp_Object object; |
| 251 | { | 319 | { |
| 252 | if (VECTORP (obj) || STRINGP (obj)) | 320 | if (VECTORP (object) || STRINGP (object)) |
| 253 | return Qt; | 321 | return Qt; |
| 254 | return Qnil; | 322 | return Qnil; |
| 255 | } | 323 | } |
| 256 | 324 | ||
| 257 | DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, | 325 | DEFUN ("sequencep", Fsequencep, Ssequencep, 1, 1, 0, |
| 258 | "T if OBJECT is a sequence (list or array).") | 326 | "T if OBJECT is a sequence (list or array).") |
| 259 | (obj) | 327 | (object) |
| 260 | register Lisp_Object obj; | 328 | register Lisp_Object object; |
| 261 | { | 329 | { |
| 262 | if (CONSP (obj) || NILP (obj) || VECTORP (obj) || STRINGP (obj)) | 330 | if (CONSP (object) || NILP (object) || VECTORP (object) || STRINGP (object)) |
| 263 | return Qt; | 331 | return Qt; |
| 264 | return Qnil; | 332 | return Qnil; |
| 265 | } | 333 | } |
| 266 | 334 | ||
| 267 | DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, "T if OBJECT is an editor buffer.") | 335 | DEFUN ("bufferp", Fbufferp, Sbufferp, 1, 1, 0, "T if OBJECT is an editor buffer.") |
| 268 | (obj) | 336 | (object) |
| 269 | Lisp_Object obj; | 337 | Lisp_Object object; |
| 270 | { | 338 | { |
| 271 | if (BUFFERP (obj)) | 339 | if (BUFFERP (object)) |
| 272 | return Qt; | 340 | return Qt; |
| 273 | return Qnil; | 341 | return Qnil; |
| 274 | } | 342 | } |
| 275 | 343 | ||
| 276 | DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, "T if OBJECT is a marker (editor pointer).") | 344 | DEFUN ("markerp", Fmarkerp, Smarkerp, 1, 1, 0, "T if OBJECT is a marker (editor pointer).") |
| 277 | (obj) | 345 | (object) |
| 278 | Lisp_Object obj; | 346 | Lisp_Object object; |
| 279 | { | 347 | { |
| 280 | if (MARKERP (obj)) | 348 | if (MARKERP (object)) |
| 281 | return Qt; | 349 | return Qt; |
| 282 | return Qnil; | 350 | return Qnil; |
| 283 | } | 351 | } |
| 284 | 352 | ||
| 285 | DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, "T if OBJECT is a built-in function.") | 353 | DEFUN ("subrp", Fsubrp, Ssubrp, 1, 1, 0, "T if OBJECT is a built-in function.") |
| 286 | (obj) | 354 | (object) |
| 287 | Lisp_Object obj; | 355 | Lisp_Object object; |
| 288 | { | 356 | { |
| 289 | if (SUBRP (obj)) | 357 | if (SUBRP (object)) |
| 290 | return Qt; | 358 | return Qt; |
| 291 | return Qnil; | 359 | return Qnil; |
| 292 | } | 360 | } |
| 293 | 361 | ||
| 294 | DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, | 362 | DEFUN ("byte-code-function-p", Fbyte_code_function_p, Sbyte_code_function_p, |
| 295 | 1, 1, 0, "T if OBJECT is a byte-compiled function object.") | 363 | 1, 1, 0, "T if OBJECT is a byte-compiled function object.") |
| 296 | (obj) | 364 | (object) |
| 297 | Lisp_Object obj; | 365 | Lisp_Object object; |
| 298 | { | 366 | { |
| 299 | if (COMPILEDP (obj)) | 367 | if (COMPILEDP (object)) |
| 300 | return Qt; | 368 | return Qt; |
| 301 | return Qnil; | 369 | return Qnil; |
| 302 | } | 370 | } |
| 303 | 371 | ||
| 304 | DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, | 372 | DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0, |
| 305 | "T if OBJECT is a character (an integer) or a string.") | 373 | "T if OBJECT is a character (an integer) or a string.") |
| 306 | (obj) | 374 | (object) |
| 307 | register Lisp_Object obj; | 375 | register Lisp_Object object; |
| 308 | { | 376 | { |
| 309 | if (INTEGERP (obj) || STRINGP (obj)) | 377 | if (INTEGERP (object) || STRINGP (object)) |
| 310 | return Qt; | 378 | return Qt; |
| 311 | return Qnil; | 379 | return Qnil; |
| 312 | } | 380 | } |
| 313 | 381 | ||
| 314 | DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, "T if OBJECT is an integer.") | 382 | DEFUN ("integerp", Fintegerp, Sintegerp, 1, 1, 0, "T if OBJECT is an integer.") |
| 315 | (obj) | 383 | (object) |
| 316 | Lisp_Object obj; | 384 | Lisp_Object object; |
| 317 | { | 385 | { |
| 318 | if (INTEGERP (obj)) | 386 | if (INTEGERP (object)) |
| 319 | return Qt; | 387 | return Qt; |
| 320 | return Qnil; | 388 | return Qnil; |
| 321 | } | 389 | } |
| 322 | 390 | ||
| 323 | DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, 0, | 391 | DEFUN ("integer-or-marker-p", Finteger_or_marker_p, Sinteger_or_marker_p, 1, 1, 0, |
| 324 | "T if OBJECT is an integer or a marker (editor pointer).") | 392 | "T if OBJECT is an integer or a marker (editor pointer).") |
| 325 | (obj) | 393 | (object) |
| 326 | register Lisp_Object obj; | 394 | register Lisp_Object object; |
| 327 | { | 395 | { |
| 328 | if (MARKERP (obj) || INTEGERP (obj)) | 396 | if (MARKERP (object) || INTEGERP (object)) |
| 329 | return Qt; | 397 | return Qt; |
| 330 | return Qnil; | 398 | return Qnil; |
| 331 | } | 399 | } |
| 332 | 400 | ||
| 333 | DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, | 401 | DEFUN ("natnump", Fnatnump, Snatnump, 1, 1, 0, |
| 334 | "T if OBJECT is a nonnegative integer.") | 402 | "T if OBJECT is a nonnegative integer.") |
| 335 | (obj) | 403 | (object) |
| 336 | Lisp_Object obj; | 404 | Lisp_Object object; |
| 337 | { | 405 | { |
| 338 | if (NATNUMP (obj)) | 406 | if (NATNUMP (object)) |
| 339 | return Qt; | 407 | return Qt; |
| 340 | return Qnil; | 408 | return Qnil; |
| 341 | } | 409 | } |
| 342 | 410 | ||
| 343 | DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, | 411 | DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, |
| 344 | "T if OBJECT is a number (floating point or integer).") | 412 | "T if OBJECT is a number (floating point or integer).") |
| 345 | (obj) | 413 | (object) |
| 346 | Lisp_Object obj; | 414 | Lisp_Object object; |
| 347 | { | 415 | { |
| 348 | if (NUMBERP (obj)) | 416 | if (NUMBERP (object)) |
| 349 | return Qt; | 417 | return Qt; |
| 350 | else | 418 | else |
| 351 | return Qnil; | 419 | return Qnil; |
| @@ -354,10 +422,10 @@ DEFUN ("numberp", Fnumberp, Snumberp, 1, 1, 0, | |||
| 354 | DEFUN ("number-or-marker-p", Fnumber_or_marker_p, | 422 | DEFUN ("number-or-marker-p", Fnumber_or_marker_p, |
| 355 | Snumber_or_marker_p, 1, 1, 0, | 423 | Snumber_or_marker_p, 1, 1, 0, |
| 356 | "T if OBJECT is a number or a marker.") | 424 | "T if OBJECT is a number or a marker.") |
| 357 | (obj) | 425 | (object) |
| 358 | Lisp_Object obj; | 426 | Lisp_Object object; |
| 359 | { | 427 | { |
| 360 | if (NUMBERP (obj) || MARKERP (obj)) | 428 | if (NUMBERP (object) || MARKERP (object)) |
| 361 | return Qt; | 429 | return Qt; |
| 362 | return Qnil; | 430 | return Qnil; |
| 363 | } | 431 | } |
| @@ -365,10 +433,10 @@ DEFUN ("number-or-marker-p", Fnumber_or_marker_p, | |||
| 365 | #ifdef LISP_FLOAT_TYPE | 433 | #ifdef LISP_FLOAT_TYPE |
| 366 | DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, | 434 | DEFUN ("floatp", Ffloatp, Sfloatp, 1, 1, 0, |
| 367 | "T if OBJECT is a floating point number.") | 435 | "T if OBJECT is a floating point number.") |
| 368 | (obj) | 436 | (object) |
| 369 | Lisp_Object obj; | 437 | Lisp_Object object; |
| 370 | { | 438 | { |
| 371 | if (FLOATP (obj)) | 439 | if (FLOATP (object)) |
| 372 | return Qt; | 440 | return Qt; |
| 373 | return Qnil; | 441 | return Qnil; |
| 374 | } | 442 | } |
| @@ -2279,8 +2347,42 @@ syms_of_data () | |||
| 2279 | staticpro (&Qad_advice_info); | 2347 | staticpro (&Qad_advice_info); |
| 2280 | staticpro (&Qad_activate); | 2348 | staticpro (&Qad_activate); |
| 2281 | 2349 | ||
| 2350 | /* Types that type-of returns. */ | ||
| 2351 | Qinteger = intern ("integer"); | ||
| 2352 | Qsymbol = intern ("symbol"); | ||
| 2353 | Qstring = intern ("string"); | ||
| 2354 | Qcons = intern ("cons"); | ||
| 2355 | Qmarker = intern ("marker"); | ||
| 2356 | Qoverlay = intern ("overlay"); | ||
| 2357 | Qfloat = intern ("float"); | ||
| 2358 | Qwindow_configuration = intern ("window-configuration"); | ||
| 2359 | Qprocess = intern ("process"); | ||
| 2360 | Qwindow = intern ("window"); | ||
| 2361 | /* Qsubr = intern ("subr"); */ | ||
| 2362 | Qcompiled_function = intern ("compiled-function"); | ||
| 2363 | Qbuffer = intern ("buffer"); | ||
| 2364 | Qframe = intern ("frame"); | ||
| 2365 | Qvector = intern ("vector"); | ||
| 2366 | |||
| 2367 | staticpro (&Qinteger); | ||
| 2368 | staticpro (&Qsymbol); | ||
| 2369 | staticpro (&Qstring); | ||
| 2370 | staticpro (&Qcons); | ||
| 2371 | staticpro (&Qmarker); | ||
| 2372 | staticpro (&Qoverlay); | ||
| 2373 | staticpro (&Qfloat); | ||
| 2374 | staticpro (&Qwindow_configuration); | ||
| 2375 | staticpro (&Qprocess); | ||
| 2376 | staticpro (&Qwindow); | ||
| 2377 | /* staticpro (&Qsubr); */ | ||
| 2378 | staticpro (&Qcompiled_function); | ||
| 2379 | staticpro (&Qbuffer); | ||
| 2380 | staticpro (&Qframe); | ||
| 2381 | staticpro (&Qvector); | ||
| 2382 | |||
| 2282 | defsubr (&Seq); | 2383 | defsubr (&Seq); |
| 2283 | defsubr (&Snull); | 2384 | defsubr (&Snull); |
| 2385 | defsubr (&Stype_of); | ||
| 2284 | defsubr (&Slistp); | 2386 | defsubr (&Slistp); |
| 2285 | defsubr (&Snlistp); | 2387 | defsubr (&Snlistp); |
| 2286 | defsubr (&Sconsp); | 2388 | defsubr (&Sconsp); |